diff --git a/config.yaml b/config.yaml index d72ffff75..c2d8e2c14 100644 --- a/config.yaml +++ b/config.yaml @@ -124,6 +124,7 @@ packages: - discovery:v1 # https://developers.google.com/discovery/ - displayvideo:v2 - displayvideo:v3 + - displayvideo:v4 - dlp:v2 # https://cloud.google.com/dlp/ - dns:v1 # https://cloud.google.com/dns/api/v1/ - docs:v1 @@ -234,7 +235,6 @@ packages: - recommender:v1 - redis:v1 # https://cloud.google.com/memorystore/docs/redis/ - reseller:v1 # https://developers.google.com/admin-sdk/reseller/ - - resourcesettings:v1 - retail:v2 - run:v1 - run:v2 diff --git a/discovery-artifact-manager b/discovery-artifact-manager index 2c1a2a076..755317aaa 160000 --- a/discovery-artifact-manager +++ b/discovery-artifact-manager @@ -1 +1 @@ -Subproject commit 2c1a2a076b04cabffe87e3569f07d787055a5d00 +Subproject commit 755317aaaa2f967c057b621a4ec59bb6599730ca diff --git a/discovery/googleapis/accessapproval__v1.json b/discovery/googleapis/accessapproval__v1.json index f33e4ef9f..2e1310fd5 100644 --- a/discovery/googleapis/accessapproval__v1.json +++ b/discovery/googleapis/accessapproval__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20240820", + "revision": "20250206", "rootUrl": "https://accessapproval.googleapis.com/", "servicePath": "", "title": "Access Approval API", @@ -1296,7 +1296,9 @@ "HMAC_SHA384", "HMAC_SHA512", "HMAC_SHA224", - "EXTERNAL_SYMMETRIC_ENCRYPTION" + "EXTERNAL_SYMMETRIC_ENCRYPTION", + "PQ_SIGN_ML_DSA_65", + "PQ_SIGN_SLH_DSA_SHA2_128S" ], "enumDescriptions": [ "Not specified.", @@ -1334,7 +1336,9 @@ "HMAC-SHA384 signing with a 384 bit key.", "HMAC-SHA512 signing with a 512 bit key.", "HMAC-SHA224 signing with a 224 bit key.", - "Algorithm representing symmetric encryption by an external key manager." + "Algorithm representing symmetric encryption by an external key manager.", + "The post-quantum Module-Lattice-Based Digital Signature Algorithm, at security level 3. Randomized version.", + "The post-quantum stateless hash-based digital signature algorithm, at security level 1. Randomized version." ], "type": "string" }, diff --git a/discovery/googleapis/accesscontextmanager__v1.json b/discovery/googleapis/accesscontextmanager__v1.json index 533a2c201..1e536226e 100644 --- a/discovery/googleapis/accesscontextmanager__v1.json +++ b/discovery/googleapis/accesscontextmanager__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241216", + "revision": "20250212", "rootUrl": "https://accesscontextmanager.googleapis.com/", "servicePath": "", "title": "Access Context Manager API", @@ -1824,6 +1824,10 @@ "accessLevel": { "description": "An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all EgressSources will be allowed.", "type": "string" + }, + "resource": { + "description": "A Google Cloud resource from the service perimeter that you want to allow to access data outside the perimeter. This field supports only projects. The project format is `projects/{project_number}`. You can't use `*` in this field to allow all Google Cloud resources.", + "type": "string" } }, "type": "object" diff --git a/discovery/googleapis/admin__directory_v1.json b/discovery/googleapis/admin__directory_v1.json index a4e0c894a..f840059ab 100644 --- a/discovery/googleapis/admin__directory_v1.json +++ b/discovery/googleapis/admin__directory_v1.json @@ -110,7 +110,7 @@ "ownerName": "Google", "packagePath": "admin", "protocol": "rest", - "revision": "20241210", + "revision": "20250217", "rootUrl": "https://admin.googleapis.com/", "servicePath": "", "title": "Admin SDK API", @@ -4023,7 +4023,7 @@ "type": "string" }, "pageToken": { - "description": "Token to specify next page in the list", + "description": "Token to specify next page in the list. The page token is only valid for three days.", "location": "query", "type": "string" }, @@ -8659,7 +8659,7 @@ "type": "string" }, "nextPageToken": { - "description": "Token used to access next page of this result.", + "description": "Token used to access next page of this result. The page token is only valid for three days.", "type": "string" }, "trigger_event": { diff --git a/discovery/googleapis/admin__reports_v1.json b/discovery/googleapis/admin__reports_v1.json index 46f6f4856..251dfa959 100644 --- a/discovery/googleapis/admin__reports_v1.json +++ b/discovery/googleapis/admin__reports_v1.json @@ -29,7 +29,7 @@ "ownerName": "Google", "packagePath": "admin", "protocol": "rest", - "revision": "20240220", + "revision": "20250304", "rootUrl": "https://admin.googleapis.com/", "servicePath": "", "title": "Admin SDK API", @@ -208,7 +208,7 @@ "type": "string" }, "groupIdFilter": { - "description": "Comma separated group ids (obfuscated) on which user activities are filtered, i.e. the response will contain activities for only those users that are a part of at least one of the group ids mentioned here. Format: \"id:abc123,id:xyz456\"", + "description": "Comma separated group ids (obfuscated) on which user activities are filtered, i.e. the response will contain activities for only those users that are a part of at least one of the group ids mentioned here. Format: \"id:abc123,id:xyz456\" *Important:* To filter by groups, you must explicitly add the groups to your filtering groups allowlist. For more information about adding groups to filtering groups allowlist, see [Filter results by Google Group](https://support.google.com/a/answer/11482175)", "location": "query", "pattern": "(id:[a-z0-9]+(,id:[a-z0-9]+)*)", "type": "string" @@ -347,7 +347,7 @@ "type": "string" }, "groupIdFilter": { - "description": "Comma separated group ids (obfuscated) on which user activities are filtered, i.e. the response will contain activities for only those users that are a part of at least one of the group ids mentioned here. Format: \"id:abc123,id:xyz456\"", + "description": "Comma separated group ids (obfuscated) on which user activities are filtered, i.e. the response will contain activities for only those users that are a part of at least one of the group ids mentioned here. Format: \"id:abc123,id:xyz456\" *Important:* To filter by groups, you must explicitly add the groups to your filtering groups allowlist. For more information about adding groups to filtering groups allowlist, see [Filter results by Google Group](https://support.google.com/a/answer/11482175)", "location": "query", "pattern": "(id:[a-z0-9]+(,id:[a-z0-9]+)*)", "type": "string" @@ -451,7 +451,7 @@ "parameters": { "description": "The `parameters` query string is a comma-separated list of event parameters that refine a report's results. The parameter is associated with a specific application. The application values for the Customers usage report include `accounts`, `app_maker`, `apps_scripts`, `calendar`, `classroom`, `cros`, `docs`, `gmail`, `gplus`, `device_management`, `meet`, and `sites`. A `parameters` query string is in the CSV form of `app_name1:param_name1, app_name2:param_name2`. *Note:* The API doesn't accept multiple values of a parameter. If a particular parameter is supplied more than once in the API request, the API only accepts the last value of that request parameter. In addition, if an invalid request parameter is supplied in the API request, the API ignores that request parameter and returns the response corresponding to the remaining valid request parameters. An example of an invalid request parameter is one that does not belong to the application. If no parameters are requested, all parameters are returned. ", "location": "query", - "pattern": "(((accounts)|(app_maker)|(apps_scripts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)|(meet)):[^,]+,)*(((accounts)|(app_maker)|(apps_scripts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)|(meet)):[^,]+)", + "pattern": "(((accounts)|(app_maker)|(apps_scripts)|(chat)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)|(meet)):[^,]+,)*(((accounts)|(app_maker)|(apps_scripts)|(chat)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)|(meet)):[^,]+)", "type": "string" } }, @@ -575,7 +575,7 @@ "filters": { "description": "The `filters` query string is a comma-separated list of an application's event parameters where the parameter's value is manipulated by a relational operator. The `filters` query string includes the name of the application whose usage is returned in the report. The application values for the Users Usage Report include `accounts`, `docs`, and `gmail`. Filters are in the form `[application name]:parameter name[parameter value],...`. In this example, the `<>` 'not equal to' operator is URL-encoded in the request's query string (%3C%3E): GET https://www.googleapis.com/admin/reports/v1/usage/users/all/dates/2013-03-03 ?parameters=accounts:last_login_time &filters=accounts:last_login_time%3C%3E2010-10-28T10:26:35.000Z The relational operators include: - `==` - 'equal to'. - `<>` - 'not equal to'. It is URL-encoded (%3C%3E). - `<` - 'less than'. It is URL-encoded (%3C). - `<=` - 'less than or equal to'. It is URL-encoded (%3C=). - `>` - 'greater than'. It is URL-encoded (%3E). - `>=` - 'greater than or equal to'. It is URL-encoded (%3E=). ", "location": "query", - "pattern": "(((accounts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[a-z0-9_]+[<,<=,==,>=,>,!=][^,]+,)*(((accounts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[a-z0-9_]+[<,<=,==,>=,>,!=][^,]+)", + "pattern": "(((accounts)|(chat)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[a-z0-9_]+[<,<=,==,>=,>,!=][^,]+,)*(((accounts)|(chat)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[a-z0-9_]+[<,<=,==,>=,>,!=][^,]+)", "type": "string" }, "groupIdFilter": { @@ -608,7 +608,7 @@ "parameters": { "description": "The `parameters` query string is a comma-separated list of event parameters that refine a report's results. The parameter is associated with a specific application. The application values for the Customers Usage report include `accounts`, `app_maker`, `apps_scripts`, `calendar`, `classroom`, `cros`, `docs`, `gmail`, `gplus`, `device_management`, `meet`, and `sites`. A `parameters` query string is in the CSV form of `app_name1:param_name1, app_name2:param_name2`. *Note:* The API doesn't accept multiple values of a parameter. If a particular parameter is supplied more than once in the API request, the API only accepts the last value of that request parameter. In addition, if an invalid request parameter is supplied in the API request, the API ignores that request parameter and returns the response corresponding to the remaining valid request parameters. An example of an invalid request parameter is one that does not belong to the application. If no parameters are requested, all parameters are returned. ", "location": "query", - "pattern": "(((accounts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[^,]+,)*(((accounts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[^,]+)", + "pattern": "(((accounts)|(chat)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[^,]+,)*(((accounts)|(chat)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[^,]+)", "type": "string" }, "userKey": { diff --git a/discovery/googleapis/adsense__v2.json b/discovery/googleapis/adsense__v2.json index 5870b71a5..5babb5023 100644 --- a/discovery/googleapis/adsense__v2.json +++ b/discovery/googleapis/adsense__v2.json @@ -27,7 +27,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241211", + "revision": "20250224", "rootUrl": "https://adsense.googleapis.com/", "servicePath": "", "title": "AdSense Management API", @@ -1010,6 +1010,57 @@ "DOMAIN_REGISTRANT", "WEBSEARCH_QUERY_STRING" ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], "enumDescriptions": [ "Unspecified dimension.", "Date dimension in YYYY-MM-DD format (e.g. \"2010-02-10\").", @@ -1026,7 +1077,7 @@ "The size code of an ad unit (e.g. \"728x90\", \"responsive\").", "Custom channel name. The members of this dimension match the values from CustomChannel.display_name.", "Unique ID of a custom channel. The members of this dimension match the values from CustomChannel.reporting_dimension_id.", - "Unique ID of a hosted client's custom channel.", + "Not supported.", "Domain name of a verified site (e.g. \"example.com\"). The members of this dimension match the values from Site.domain.", "Unique ID of a verified site. The members of this dimension match the values from Site.reporting_dimension_id.", "URL of the page upon which the ad was served. This is a complete URL including scheme and query parameters. Note that the URL that appears in this dimension may be a canonicalized version of the one that was used in the original request, and so may not exactly match the URL that a user might have seen. Note that there are also some caveats to be aware of when using this dimension. For more information, see [Page URL breakdown](https://support.google.com/adsense/answer/11988478).", @@ -1332,6 +1383,57 @@ "DOMAIN_REGISTRANT", "WEBSEARCH_QUERY_STRING" ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], "enumDescriptions": [ "Unspecified dimension.", "Date dimension in YYYY-MM-DD format (e.g. \"2010-02-10\").", @@ -1348,7 +1450,7 @@ "The size code of an ad unit (e.g. \"728x90\", \"responsive\").", "Custom channel name. The members of this dimension match the values from CustomChannel.display_name.", "Unique ID of a custom channel. The members of this dimension match the values from CustomChannel.reporting_dimension_id.", - "Unique ID of a hosted client's custom channel.", + "Not supported.", "Domain name of a verified site (e.g. \"example.com\"). The members of this dimension match the values from Site.domain.", "Unique ID of a verified site. The members of this dimension match the values from Site.reporting_dimension_id.", "URL of the page upon which the ad was served. This is a complete URL including scheme and query parameters. Note that the URL that appears in this dimension may be a canonicalized version of the one that was used in the original request, and so may not exactly match the URL that a user might have seen. Note that there are also some caveats to be aware of when using this dimension. For more information, see [Page URL breakdown](https://support.google.com/adsense/answer/11988478).", @@ -2654,12 +2756,29 @@ "id": "PolicyTopic", "properties": { "mustFix": { - "description": "Required. Indicates if this is a policy violation or not. When the value is true, issues that are instances of this topic must be addressed to remain in compliance with the partner's agreements with Google. A false value indicates that it's not mandatory to fix the issues but advertising demand might be restricted.", + "deprecated": true, + "description": "Required. Deprecated. Policy topics no longer have a \"must-fix\" classification.", "type": "boolean" }, "topic": { "description": "Required. The policy topic. For example, \"sexual-content\" or \"ads-obscuring-content\".\"", "type": "string" + }, + "type": { + "description": "Optional. The type of policy topic. For example, \"POLICY\" represents all the policy topics that are related to the Google Publisher Policy (GPP). See https://support.google.com/adsense/answer/15689616.", + "enum": [ + "POLICY_TOPIC_TYPE_UNSPECIFIED", + "POLICY", + "ADVERTISER_PREFERENCE", + "REGULATORY" + ], + "enumDescriptions": [ + "The type is unspecified.", + "Topics that are primarily related to the Google Publisher Policy (GPP) https://support.google.com/publisherpolicies/answer/10502938 or the Google Publisher Restrictions (GPR) policies https://support.google.com/publisherpolicies/answer/10437795.", + "Topics that are related to advertiser preferences. Certain advertisers may choose not to bid on content that are labeled with certain policies.", + "Any topics that are a result of a country or regional regulatory requirement body." + ], + "type": "string" } }, "type": "object" diff --git a/discovery/googleapis/aiplatform__v1.json b/discovery/googleapis/aiplatform__v1.json index 626bf6e0a..53cedf13b 100644 --- a/discovery/googleapis/aiplatform__v1.json +++ b/discovery/googleapis/aiplatform__v1.json @@ -230,7 +230,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241214", + "revision": "20250226", "rootUrl": "https://aiplatform.googleapis.com/", "servicePath": "", "title": "Vertex AI API", @@ -628,7 +628,7 @@ ], "parameters": { "name": { - "description": "Output only. Identifier. The resource name of the DatasetVersion.", + "description": "Output only. Identifier. The resource name of the DatasetVersion. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", "location": "path", "pattern": "^datasets/[^/]+/datasetVersions/[^/]+$", "required": true, @@ -768,6 +768,35 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, + "predict": { + "description": "Perform an online prediction.", + "flatPath": "v1/endpoints/{endpointsId}:predict", + "httpMethod": "POST", + "id": "aiplatform.endpoints.predict", + "parameterOrder": [ + "endpoint" + ], + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "location": "path", + "pattern": "^endpoints/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+endpoint}:predict", + "request": { + "$ref": "GoogleCloudAiplatformV1PredictRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1PredictResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "streamGenerateContent": { "description": "Generate content with multimodal inputs with streaming support.", "flatPath": "v1/endpoints/{endpointsId}:streamGenerateContent", @@ -958,6 +987,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "evaluateDataset": { + "description": "Evaluates a dataset based on a set of given metrics.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:evaluateDataset", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.evaluateDataset", + "parameterOrder": [ + "location" + ], + "parameters": { + "location": { + "description": "Required. The resource name of the Location to evaluate the dataset. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+location}:evaluateDataset", + "request": { + "$ref": "GoogleCloudAiplatformV1EvaluateDatasetRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "evaluateInstances": { "description": "Evaluates instances based on a given metric.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:evaluateInstances", @@ -3097,7 +3154,7 @@ ], "parameters": { "name": { - "description": "Output only. Identifier. The resource name of the DatasetVersion.", + "description": "Output only. Identifier. The resource name of the DatasetVersion. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/datasetVersions/[^/]+$", "required": true, @@ -4875,7 +4932,7 @@ "type": "string" }, "updateMask": { - "description": "Field mask is used to specify the fields to be overwritten in the FeatureGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `description` * `big_query` * `big_query.entity_id_columns`", + "description": "Field mask is used to specify the fields to be overwritten in the FeatureGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `description` * `big_query` * `big_query.entity_id_columns` * `service_agent_type`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -8101,7 +8158,7 @@ ] }, "deployIndex": { - "description": "Deploys an Index into this IndexEndpoint, creating a DeployedIndex within it. Only non-empty Indexes can be deployed.", + "description": "Deploys an Index into this IndexEndpoint, creating a DeployedIndex within it.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:deployIndex", "httpMethod": "POST", "id": "aiplatform.projects.locations.indexEndpoints.deployIndex", @@ -11364,6 +11421,42 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "listCheckpoints": { + "description": "Lists checkpoints of the specified model version.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:listCheckpoints", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.models.listCheckpoints", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the model version to list checkpoints for. `projects/{project}/locations/{location}/models/{model}@{version}` Example: `projects/{project}/locations/{location}/models/{model}@2` or `projects/{project}/locations/{location}/models/{model}@golden` If no version ID or alias is specified, the latest version will be used.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Optional. The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The standard list page token. Typically obtained via next_page_token of the previous ListModelVersionCheckpoints call.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}:listCheckpoints", + "response": { + "$ref": "GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "listVersions": { "description": "Lists versions of the specified model.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:listVersions", @@ -19297,6 +19390,35 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "predict": { + "description": "Perform an online prediction.", + "flatPath": "v1/publishers/{publishersId}/models/{modelsId}:predict", + "httpMethod": "POST", + "id": "aiplatform.publishers.models.predict", + "parameterOrder": [ + "endpoint" + ], + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "location": "path", + "pattern": "^publishers/[^/]+/models/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+endpoint}:predict", + "request": { + "$ref": "GoogleCloudAiplatformV1PredictRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1PredictResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "streamGenerateContent": { "description": "Generate content with multimodal inputs with streaming support.", "flatPath": "v1/publishers/{publishersId}/models/{modelsId}:streamGenerateContent", @@ -19354,6 +19476,31 @@ "type": "string" }, "type": "array" + }, + "videos": { + "description": "List of videos, used to align naming with the external response.", + "items": { + "$ref": "CloudAiLargeModelsVisionGenerateVideoResponseVideo" + }, + "type": "array" + } + }, + "type": "object" + }, + "CloudAiLargeModelsVisionGenerateVideoResponseVideo": { + "id": "CloudAiLargeModelsVisionGenerateVideoResponseVideo", + "properties": { + "bytesBase64Encoded": { + "description": "Base64 encoded bytes string representing the video.", + "type": "string" + }, + "gcsUri": { + "description": "Cloud Storage URI where the generated video is written.", + "type": "string" + }, + "mimeType": { + "description": "The MIME type of the content of the video. - video/mp4", + "type": "string" } }, "type": "object" @@ -19633,6 +19780,10 @@ "description": "Video encoding, for example \"video/mp4\".", "type": "string" }, + "text": { + "description": "Text/Expanded text input for Help Me Write.", + "type": "string" + }, "uri": { "description": "Path to another storage (typically Google Cloud Storage).", "type": "string" @@ -19646,7 +19797,7 @@ "type": "object" }, "CloudAiPlatformCommonCreatePipelineJobApiErrorDetail": { - "description": "Create API error message for Vertex Pipeline. Next Id: 3.", + "description": "Create API error message for Vertex Pipeline.", "id": "CloudAiPlatformCommonCreatePipelineJobApiErrorDetail", "properties": { "errorCause": { @@ -19697,8 +19848,8 @@ "Resolver spec is invalid.", "Runtime Parameters are invalid.", "Cloud API not enabled.", - "Invalid GCS input uri", - "Invalid GCS output uri", + "Invalid Cloud Storage input uri", + "Invalid Cloud Storage output uri", "Component spec of pipeline is invalid.", "DagOutputsSpec is invalid.", "DagSpec is invalid.", @@ -19925,7 +20076,7 @@ "type": "object" }, "GoogleCloudAiplatformV1ApiAuth": { - "description": "The generic reusable api auth config.", + "description": "The generic reusable api auth config. Deprecated. Please use AuthConfig (google/cloud/aiplatform/master/auth.proto) instead.", "id": "GoogleCloudAiplatformV1ApiAuth", "properties": { "apiKeyConfig": { @@ -20169,12 +20320,32 @@ "id": "GoogleCloudAiplatformV1AutomaticResources", "properties": { "maxReplicaCount": { - "description": "Immutable. The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale the model to that many replicas is guaranteed (barring service outages). If traffic against the DeployedModel increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number.", + "description": "Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number.", "format": "int32", "type": "integer" }, "minReplicaCount": { - "description": "Immutable. The minimum number of replicas this DeployedModel will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error.", + "description": "Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1AutoraterConfig": { + "description": "The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset.", + "id": "GoogleCloudAiplatformV1AutoraterConfig", + "properties": { + "autoraterModel": { + "description": "Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "type": "string" + }, + "flipEnabled": { + "description": "Optional. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias.", + "type": "boolean" + }, + "samplingCount": { + "description": "Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32.", "format": "int32", "type": "integer" } @@ -20946,6 +21117,10 @@ "format": "byte", "type": "string" }, + "displayName": { + "description": "Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is not currently used in the Gemini GenerateContent calls.", + "type": "string" + }, "mimeType": { "description": "Required. The IANA standard MIME type of the source data.", "type": "string" @@ -21006,7 +21181,7 @@ "type": "array" }, "createTime": { - "description": "Output only. Creatation time of the cache entry.", + "description": "Output only. Creation time of the cache entry.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -21021,7 +21196,7 @@ "type": "string" }, "model": { - "description": "Immutable. The name of the publisher model to use for cached content. Format: projects/{project}/locations/{location}/publishers/{publisher}/models/{model}", + "description": "Immutable. The name of the `Model` to use for cached content. Currently, only the published Gemini base models are supported, in form of projects/{PROJECT}/locations/{LOCATION}/publishers/google/models/{MODEL}", "type": "string" }, "name": { @@ -21355,6 +21530,33 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1CodeExecutionResult": { + "description": "Result of executing the [ExecutableCode]. Always follows a `part` containing the [ExecutableCode].", + "id": "GoogleCloudAiplatformV1CodeExecutionResult", + "properties": { + "outcome": { + "description": "Required. Outcome of the code execution.", + "enum": [ + "OUTCOME_UNSPECIFIED", + "OUTCOME_OK", + "OUTCOME_FAILED", + "OUTCOME_DEADLINE_EXCEEDED" + ], + "enumDescriptions": [ + "Unspecified status. This value should not be used.", + "Code execution completed successfully.", + "Code execution finished but with a failure. `stderr` should contain the reason.", + "Code execution ran for too long, and was cancelled. There may or may not be a partial output present." + ], + "type": "string" + }, + "output": { + "description": "Optional. Contains stdout when code execution is successful, stderr or other description otherwise.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1CoherenceInput": { "description": "Input for coherence metric.", "id": "GoogleCloudAiplatformV1CoherenceInput", @@ -21883,6 +22085,14 @@ "description": "Response message for PredictionService.CountTokens.", "id": "GoogleCloudAiplatformV1CountTokensResponse", "properties": { + "promptTokensDetails": { + "description": "Output only. List of modalities that were processed in the request input.", + "items": { + "$ref": "GoogleCloudAiplatformV1ModalityTokenCount" + }, + "readOnly": true, + "type": "array" + }, "totalBillableCharacters": { "description": "The total number of billable characters counted across all instances from the request.", "format": "int32", @@ -22754,7 +22964,7 @@ "type": "string" }, "name": { - "description": "Output only. Identifier. The resource name of the DatasetVersion.", + "description": "Output only. Identifier. The resource name of the DatasetVersion. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", "readOnly": true, "type": "string" }, @@ -22778,7 +22988,7 @@ "type": "object" }, "GoogleCloudAiplatformV1DedicatedResources": { - "description": "A description of resources that are dedicated to a DeployedModel, and that need a higher degree of manual configuration.", + "description": "A description of resources that are dedicated to a DeployedModel or DeployedIndex, and that need a higher degree of manual configuration.", "id": "GoogleCloudAiplatformV1DedicatedResources", "properties": { "autoscalingMetricSpecs": { @@ -22790,20 +23000,20 @@ }, "machineSpec": { "$ref": "GoogleCloudAiplatformV1MachineSpec", - "description": "Required. Immutable. The specification of a single machine used by the prediction." + "description": "Required. Immutable. The specification of a single machine being used." }, "maxReplicaCount": { - "description": "Immutable. The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale the model to that many replicas is guaranteed (barring service outages). If traffic against the DeployedModel increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type).", + "description": "Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type).", "format": "int32", "type": "integer" }, "minReplicaCount": { - "description": "Required. Immutable. The minimum number of machine replicas this DeployedModel will be always deployed on. This value must be greater than or equal to 1. If traffic against the DeployedModel increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed.", + "description": "Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed.", "format": "int32", "type": "integer" }, "requiredReplicaCount": { - "description": "Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial model deployment/mutation is desired. If set, the model deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count.", + "description": "Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count.", "format": "int32", "type": "integer" }, @@ -23214,6 +23424,10 @@ "description": "The resource name of the shared DeploymentResourcePool to deploy on. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", "type": "string" }, + "speculativeDecodingSpec": { + "$ref": "GoogleCloudAiplatformV1SpeculativeDecodingSpec", + "description": "Optional. Spec for configuring speculative decoding." + }, "status": { "$ref": "GoogleCloudAiplatformV1DeployedModelStatus", "description": "Output only. Runtime status of the deployed model.", @@ -23513,6 +23727,10 @@ "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", "type": "string" }, + "genAiAdvancedFeaturesConfig": { + "$ref": "GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig", + "description": "Optional. Configuration for GenAiAdvancedFeatures. If the endpoint is serving GenAI models, advanced features like native RAG integration can be configured. Currently, only Model Garden models are supported." + }, "labels": { "additionalProperties": { "type": "string" @@ -23569,6 +23787,12 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1EnterpriseWebSearch": { + "description": "Tool to search public web data, powered by Vertex AI Search and Sec4 compliance.", + "id": "GoogleCloudAiplatformV1EnterpriseWebSearch", + "properties": {}, + "type": "object" + }, "GoogleCloudAiplatformV1EntityIdSelector": { "description": "Selector for entityId. Getting ids from the given source.", "id": "GoogleCloudAiplatformV1EntityIdSelector", @@ -23712,10 +23936,40 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1EvaluateDatasetRequest": { + "description": "Request message for EvaluationService.EvaluateDataset.", + "id": "GoogleCloudAiplatformV1EvaluateDatasetRequest", + "properties": { + "autoraterConfig": { + "$ref": "GoogleCloudAiplatformV1AutoraterConfig", + "description": "Optional. Autorater config used for evaluation." + }, + "dataset": { + "$ref": "GoogleCloudAiplatformV1EvaluationDataset", + "description": "Required. The dataset used for evaluation." + }, + "metrics": { + "description": "Required. The metrics used for evaluation.", + "items": { + "$ref": "GoogleCloudAiplatformV1Metric" + }, + "type": "array" + }, + "outputConfig": { + "$ref": "GoogleCloudAiplatformV1OutputConfig", + "description": "Required. Config for evaluation output." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1EvaluateInstancesRequest": { "description": "Request message for EvaluationService.EvaluateInstances.", "id": "GoogleCloudAiplatformV1EvaluateInstancesRequest", "properties": { + "autoraterConfig": { + "$ref": "GoogleCloudAiplatformV1AutoraterConfig", + "description": "Optional. Autorater config used for evaluation." + }, "bleuInput": { "$ref": "GoogleCloudAiplatformV1BleuInput", "description": "Instances and metric spec for bleu metric." @@ -24053,6 +24307,21 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1EvaluationDataset": { + "description": "The dataset used for evaluation.", + "id": "GoogleCloudAiplatformV1EvaluationDataset", + "properties": { + "bigquerySource": { + "$ref": "GoogleCloudAiplatformV1BigQuerySource", + "description": "BigQuery source holds the dataset." + }, + "gcsSource": { + "$ref": "GoogleCloudAiplatformV1GcsSource", + "description": "Cloud storage source holds the dataset." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1Event": { "description": "An edge describing the relationship between an Artifact and an Execution in a lineage graph.", "id": "GoogleCloudAiplatformV1Event", @@ -24277,6 +24546,29 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1ExecutableCode": { + "description": "Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the [FunctionDeclaration] tool and [FunctionCallingConfig] mode is set to [Mode.CODE].", + "id": "GoogleCloudAiplatformV1ExecutableCode", + "properties": { + "code": { + "description": "Required. The code to be executed.", + "type": "string" + }, + "language": { + "description": "Required. Programming language of the `code`.", + "enum": [ + "LANGUAGE_UNSPECIFIED", + "PYTHON" + ], + "enumDescriptions": [ + "Unspecified language. This value should not be used.", + "Python >= 3.10, with numpy and simpy available." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1Execution": { "description": "Instance of a general execution.", "id": "GoogleCloudAiplatformV1Execution", @@ -25699,6 +25991,25 @@ "readOnly": true, "type": "boolean" }, + "serviceAccountEmail": { + "description": "Output only. A Service Account unique to this FeatureView. The role bigquery.dataViewer should be granted to this service account to allow Vertex AI Feature Store to sync data to the online store.", + "readOnly": true, + "type": "string" + }, + "serviceAgentType": { + "description": "Optional. Service agent type used during data sync. By default, the Vertex AI Service Agent is used. When using an IAM Policy to isolate this FeatureView within a project, a separate service account should be provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_VIEW`. This will generate a separate service account to access the BigQuery source table.", + "enum": [ + "SERVICE_AGENT_TYPE_UNSPECIFIED", + "SERVICE_AGENT_TYPE_PROJECT", + "SERVICE_AGENT_TYPE_FEATURE_VIEW" + ], + "enumDescriptions": [ + "By default, the project-level Vertex AI Service Agent is enabled.", + "Indicates the project-level Vertex AI Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) will be used during sync jobs.", + "Enable a FeatureView service account to be created by Vertex AI and output in the field `service_account_email`. This service account will be used to read from the source BigQuery table during sync." + ], + "type": "string" + }, "syncConfig": { "$ref": "GoogleCloudAiplatformV1FeatureViewSyncConfig", "description": "Configures when data is to be synced/updated for this FeatureView. At the end of the sync the latest featureValues for each entityId of this FeatureView are made ready for online serving." @@ -26274,6 +26585,10 @@ "description": "URI based data.", "id": "GoogleCloudAiplatformV1FileData", "properties": { + "displayName": { + "description": "Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is not currently used in the Gemini GenerateContent calls.", + "type": "string" + }, "fileUri": { "description": "Required. URI.", "type": "string" @@ -26719,6 +27034,28 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig": { + "description": "Configuration for GenAiAdvancedFeatures.", + "id": "GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig", + "properties": { + "ragConfig": { + "$ref": "GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig", + "description": "Configuration for Retrieval Augmented Generation feature." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig": { + "description": "Configuration for Retrieval Augmented Generation feature.", + "id": "GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig", + "properties": { + "enableRag": { + "description": "If true, enable Retrieval Augmented Generation in ChatCompletion request. Once enabled, the endpoint will be identified as GenAI endpoint and Arthedain router will be used.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1GenerateContentRequest": { "description": "Request message for [PredictionService.GenerateContent].", "id": "GoogleCloudAiplatformV1GenerateContentRequest", @@ -26782,6 +27119,12 @@ "readOnly": true, "type": "array" }, + "createTime": { + "description": "Output only. Timestamp when the request is made to the server.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, "modelVersion": { "description": "Output only. The model version used to generate the response.", "readOnly": true, @@ -26792,6 +27135,11 @@ "description": "Output only. Content filter results for a prompt sent in the request. Note: Sent only in the first stream chunk. Only happens when no candidates were generated due to content violations.", "readOnly": true }, + "responseId": { + "description": "Output only. response_id is used to identify each response. It is the encoding of the event_id.", + "readOnly": true, + "type": "string" + }, "usageMetadata": { "$ref": "GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata", "description": "Usage metadata about the response(s)." @@ -26842,6 +27190,14 @@ "description": "Usage metadata about response(s).", "id": "GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata", "properties": { + "cacheTokensDetails": { + "description": "Output only. List of modalities of the cached content in the request input.", + "items": { + "$ref": "GoogleCloudAiplatformV1ModalityTokenCount" + }, + "readOnly": true, + "type": "array" + }, "cachedContentTokenCount": { "description": "Output only. Number of tokens in the cached part in the input (the cached content).", "format": "int32", @@ -26853,15 +27209,98 @@ "format": "int32", "type": "integer" }, + "candidatesTokensDetails": { + "description": "Output only. List of modalities that were returned in the response.", + "items": { + "$ref": "GoogleCloudAiplatformV1ModalityTokenCount" + }, + "readOnly": true, + "type": "array" + }, "promptTokenCount": { "description": "Number of tokens in the request. When `cached_content` is set, this is still the total effective prompt size meaning this includes the number of tokens in the cached content.", "format": "int32", "type": "integer" }, + "promptTokensDetails": { + "description": "Output only. List of modalities that were processed in the request input.", + "items": { + "$ref": "GoogleCloudAiplatformV1ModalityTokenCount" + }, + "readOnly": true, + "type": "array" + }, + "toolUsePromptTokenCount": { + "description": "Output only. Number of tokens present in tool-use prompt(s).", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "toolUsePromptTokensDetails": { + "description": "Output only. List of modalities that were processed for tool-use request inputs.", + "items": { + "$ref": "GoogleCloudAiplatformV1ModalityTokenCount" + }, + "readOnly": true, + "type": "array" + }, "totalTokenCount": { - "description": "Total token count for prompt and response candidates.", + "description": "Total token count for prompt, response candidates, and tool-use prompts (if present).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1GenerateVideoResponse": { + "description": "Generate video response.", + "id": "GoogleCloudAiplatformV1GenerateVideoResponse", + "properties": { + "generatedSamples": { + "deprecated": true, + "description": "The cloud storage uris of the generated videos.", + "items": { + "type": "string" + }, + "type": "array" + }, + "raiMediaFilteredCount": { + "description": "Returns if any videos were filtered due to RAI policies.", "format": "int32", "type": "integer" + }, + "raiMediaFilteredReasons": { + "description": "Returns rai failure reasons if any.", + "items": { + "type": "string" + }, + "type": "array" + }, + "videos": { + "description": "List of video bytes or Cloud Storage URIs of the generated videos.", + "items": { + "$ref": "GoogleCloudAiplatformV1GenerateVideoResponseVideo" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1GenerateVideoResponseVideo": { + "description": "A generated video.", + "id": "GoogleCloudAiplatformV1GenerateVideoResponseVideo", + "properties": { + "bytesBase64Encoded": { + "description": "Base64 encoded bytes string representing the video.", + "type": "string" + }, + "gcsUri": { + "description": "Cloud Storage URI where the generated video is written.", + "type": "string" + }, + "mimeType": { + "description": "The MIME type of the content of the video. - video/mp4", + "type": "string" } }, "type": "object" @@ -28766,6 +29205,24 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse": { + "description": "Response message for ModelService.ListModelVersionCheckpoints", + "id": "GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse", + "properties": { + "checkpoints": { + "description": "List of Model Version checkpoints.", + "items": { + "$ref": "GoogleCloudAiplatformV1ModelVersionCheckpoint" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass to ListModelVersionCheckpointsRequest.page_token to obtain that page.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1ListModelVersionsResponse": { "description": "Response message for ModelService.ListModelVersions", "id": "GoogleCloudAiplatformV1ListModelVersionsResponse", @@ -29526,6 +29983,66 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1Metric": { + "description": "The metric used for dataset level evaluation.", + "id": "GoogleCloudAiplatformV1Metric", + "properties": { + "aggregationMetrics": { + "description": "Optional. The aggregation metrics to use.", + "items": { + "enum": [ + "AGGREGATION_METRIC_UNSPECIFIED", + "AVERAGE", + "MODE", + "STANDARD_DEVIATION", + "VARIANCE", + "MINIMUM", + "MAXIMUM", + "MEDIAN", + "PERCENTILE_P90", + "PERCENTILE_P95", + "PERCENTILE_P99" + ], + "enumDescriptions": [ + "Unspecified aggregation metric.", + "Average aggregation metric.", + "Mode aggregation metric.", + "Standard deviation aggregation metric.", + "Variance aggregation metric.", + "Minimum aggregation metric.", + "Maximum aggregation metric.", + "Median aggregation metric.", + "90th percentile aggregation metric.", + "95th percentile aggregation metric.", + "99th percentile aggregation metric." + ], + "type": "string" + }, + "type": "array" + }, + "bleuSpec": { + "$ref": "GoogleCloudAiplatformV1BleuSpec", + "description": "Spec for bleu metric." + }, + "exactMatchSpec": { + "$ref": "GoogleCloudAiplatformV1ExactMatchSpec", + "description": "Spec for exact match metric." + }, + "pairwiseMetricSpec": { + "$ref": "GoogleCloudAiplatformV1PairwiseMetricSpec", + "description": "Spec for pairwise metric." + }, + "pointwiseMetricSpec": { + "$ref": "GoogleCloudAiplatformV1PointwiseMetricSpec", + "description": "Spec for pointwise metric." + }, + "rougeSpec": { + "$ref": "GoogleCloudAiplatformV1RougeSpec", + "description": "Spec for rouge metric." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1MetricxInput": { "description": "Input for MetricX metric.", "id": "GoogleCloudAiplatformV1MetricxInput", @@ -29849,6 +30366,38 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1ModalityTokenCount": { + "description": "Represents token counting info for a single modality.", + "id": "GoogleCloudAiplatformV1ModalityTokenCount", + "properties": { + "modality": { + "description": "The modality associated with this token count.", + "enum": [ + "MODALITY_UNSPECIFIED", + "TEXT", + "IMAGE", + "VIDEO", + "AUDIO", + "DOCUMENT" + ], + "enumDescriptions": [ + "Unspecified modality.", + "Plain text.", + "Image.", + "Video.", + "Audio.", + "Document, e.g. PDF." + ], + "type": "string" + }, + "tokenCount": { + "description": "Number of tokens.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1Model": { "description": "A trained machine learning Model.", "id": "GoogleCloudAiplatformV1Model", @@ -29875,6 +30424,10 @@ "$ref": "GoogleCloudAiplatformV1ModelDataStats", "description": "Stats of data used for training or evaluating the Model. Only populated when the Model is trained by a TrainingPipeline with data_input_config." }, + "defaultCheckpointId": { + "description": "The default checkpoint id of a model version.", + "type": "string" + }, "deployedModels": { "description": "Output only. The pointers to DeployedModels created from this Model. Note that Model could have been deployed to Endpoints in different Locations.", "items": { @@ -30670,7 +31223,7 @@ "type": "array" }, "id": { - "description": "Output only. The ID of the export format. The possible format IDs are: * `tflite` Used for Android mobile devices. * `edgetpu-tflite` Used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices. * `tf-saved-model` A tensorflow model in SavedModel format. * `tf-js` A [TensorFlow.js](https://www.tensorflow.org/js) model that can be used in the browser and in Node.js using JavaScript. * `core-ml` Used for iOS mobile devices. * `custom-trained` A Model that was uploaded or trained by custom code.", + "description": "Output only. The ID of the export format. The possible format IDs are: * `tflite` Used for Android mobile devices. * `edgetpu-tflite` Used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices. * `tf-saved-model` A tensorflow model in SavedModel format. * `tf-js` A [TensorFlow.js](https://www.tensorflow.org/js) model that can be used in the browser and in Node.js using JavaScript. * `core-ml` Used for iOS mobile devices. * `custom-trained` A Model that was uploaded or trained by custom code. * `genie` A tuned Model Garden model.", "readOnly": true, "type": "string" } @@ -30684,6 +31237,14 @@ "publicModelName": { "description": "Required. The model garden source model resource name.", "type": "string" + }, + "skipHfModelCache": { + "description": "Optional. Whether to avoid pulling the model from the HF cache.", + "type": "boolean" + }, + "versionId": { + "description": "Optional. The model garden source model version ID.", + "type": "string" } }, "type": "object" @@ -30986,6 +31547,31 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1ModelVersionCheckpoint": { + "description": "Describes the machine learning model version checkpoint.", + "id": "GoogleCloudAiplatformV1ModelVersionCheckpoint", + "properties": { + "checkpointId": { + "description": "The ID of the checkpoint.", + "type": "string" + }, + "epoch": { + "description": "The epoch of the checkpoint.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the ModelVersionCheckpoint. Format: `projects/{project}/locations/{location}/models/{model}/versions/{version}/checkpoints/{checkpoint}`", + "type": "string" + }, + "step": { + "description": "The step of the checkpoint.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1MutateDeployedIndexOperationMetadata": { "description": "Runtime operation information for IndexEndpointService.MutateDeployedIndex.", "id": "GoogleCloudAiplatformV1MutateDeployedIndexOperationMetadata", @@ -31873,8 +32459,7 @@ "type": "string" }, "scheduleResourceName": { - "description": "Output only. The Schedule resource name if this job is triggered by one. Format: `projects/{project_id}/locations/{location}/schedules/{schedule_id}`", - "readOnly": true, + "description": "The Schedule resource name if this job is triggered by one. Format: `projects/{project_id}/locations/{location}/schedules/{schedule_id}`", "type": "string" }, "serviceAccount": { @@ -32149,6 +32734,11 @@ "description": "Output only. Runtime Shielded VM spec.", "readOnly": true }, + "softwareConfig": { + "$ref": "GoogleCloudAiplatformV1NotebookSoftwareConfig", + "description": "Output only. Software config of the notebook runtime.", + "readOnly": true + }, "updateTime": { "description": "Output only. Timestamp when this NotebookRuntime was most recently updated.", "format": "google-datetime", @@ -32256,6 +32846,10 @@ "$ref": "GoogleCloudAiplatformV1ShieldedVmConfig", "description": "Optional. Immutable. Runtime Shielded VM spec." }, + "softwareConfig": { + "$ref": "GoogleCloudAiplatformV1NotebookSoftwareConfig", + "description": "Optional. The notebook software configuration of the notebook runtime." + }, "updateTime": { "description": "Output only. Timestamp when this NotebookRuntimeTemplate was most recently updated.", "format": "google-datetime", @@ -32276,6 +32870,35 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1NotebookSoftwareConfig": { + "description": "Notebook Software Config.", + "id": "GoogleCloudAiplatformV1NotebookSoftwareConfig", + "properties": { + "env": { + "description": "Optional. Environment variables to be passed to the container. Maximum limit is 100.", + "items": { + "$ref": "GoogleCloudAiplatformV1EnvVar" + }, + "type": "array" + }, + "postStartupScriptConfig": { + "$ref": "GoogleCloudAiplatformV1PostStartupScriptConfig", + "description": "Optional. Post startup script config." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1OutputConfig": { + "description": "Config for evaluation output.", + "id": "GoogleCloudAiplatformV1OutputConfig", + "properties": { + "gcsDestination": { + "$ref": "GoogleCloudAiplatformV1GcsDestination", + "description": "Cloud storage destination for evaluation output." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1PSCAutomationConfig": { "description": "PSC config that is used to automatically create forwarding rule via ServiceConnectionMap.", "id": "GoogleCloudAiplatformV1PSCAutomationConfig", @@ -32350,9 +32973,21 @@ "description": "Spec for pairwise metric.", "id": "GoogleCloudAiplatformV1PairwiseMetricSpec", "properties": { + "baselineResponseFieldName": { + "description": "Optional. The field name of the baseline response.", + "type": "string" + }, + "candidateResponseFieldName": { + "description": "Optional. The field name of the candidate response.", + "type": "string" + }, "metricPromptTemplate": { "description": "Required. Metric prompt template for pairwise metric.", "type": "string" + }, + "systemInstruction": { + "description": "Optional. System instructions for pairwise metric.", + "type": "string" } }, "type": "object" @@ -32547,6 +33182,14 @@ "description": "A datatype containing media that is part of a multi-part `Content` message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. A `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.", "id": "GoogleCloudAiplatformV1Part", "properties": { + "codeExecutionResult": { + "$ref": "GoogleCloudAiplatformV1CodeExecutionResult", + "description": "Optional. Result of executing the [ExecutableCode]." + }, + "executableCode": { + "$ref": "GoogleCloudAiplatformV1ExecutableCode", + "description": "Optional. Code generated by the model that is meant to be executed." + }, "fileData": { "$ref": "GoogleCloudAiplatformV1FileData", "description": "Optional. URI based data." @@ -33231,6 +33874,10 @@ "metricPromptTemplate": { "description": "Required. Metric prompt template for pointwise metric.", "type": "string" + }, + "systemInstruction": { + "description": "Optional. System instructions for pointwise metric.", + "type": "string" } }, "type": "object" @@ -33247,6 +33894,37 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1PostStartupScriptConfig": { + "description": "Post startup script config.", + "id": "GoogleCloudAiplatformV1PostStartupScriptConfig", + "properties": { + "postStartupScript": { + "description": "Optional. Post startup script to run after runtime is started.", + "type": "string" + }, + "postStartupScriptBehavior": { + "description": "Optional. Post startup script behavior that defines download and execution behavior.", + "enum": [ + "POST_STARTUP_SCRIPT_BEHAVIOR_UNSPECIFIED", + "RUN_ONCE", + "RUN_EVERY_START", + "DOWNLOAD_AND_RUN_EVERY_START" + ], + "enumDescriptions": [ + "Unspecified post startup script behavior.", + "Run post startup script after runtime is started.", + "Run post startup script after runtime is stopped.", + "Download and run post startup script every time runtime is started." + ], + "type": "string" + }, + "postStartupScriptUrl": { + "description": "Optional. Post startup script url to download. Example: https://bucket/script.sh", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1PrebuiltVoiceConfig": { "description": "The configuration for the prebuilt speaker to use.", "id": "GoogleCloudAiplatformV1PrebuiltVoiceConfig", @@ -33475,6 +34153,11 @@ "$ref": "GoogleCloudAiplatformV1ProbeExecAction", "description": "ExecAction probes the health of a container by executing a command." }, + "failureThreshold": { + "description": "Number of consecutive failures before the probe is considered failed. Defaults to 3. Minimum value is 1. Maps to Kubernetes probe argument 'failureThreshold'.", + "format": "int32", + "type": "integer" + }, "grpc": { "$ref": "GoogleCloudAiplatformV1ProbeGrpcAction", "description": "GrpcAction probes the health of a container by sending a gRPC request." @@ -33483,11 +34166,21 @@ "$ref": "GoogleCloudAiplatformV1ProbeHttpGetAction", "description": "HttpGetAction probes the health of a container by sending an HTTP GET request." }, + "initialDelaySeconds": { + "description": "Number of seconds to wait before starting the probe. Defaults to 0. Minimum value is 0. Maps to Kubernetes probe argument 'initialDelaySeconds'.", + "format": "int32", + "type": "integer" + }, "periodSeconds": { "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Must be less than timeout_seconds. Maps to Kubernetes probe argument 'periodSeconds'.", "format": "int32", "type": "integer" }, + "successThreshold": { + "description": "Number of consecutive successes before the probe is considered successful. Defaults to 1. Minimum value is 1. Maps to Kubernetes probe argument 'successThreshold'.", + "format": "int32", + "type": "integer" + }, "tcpSocket": { "$ref": "GoogleCloudAiplatformV1ProbeTcpSocketAction", "description": "TcpSocketAction probes the health of a container by opening a TCP socket connection." @@ -35172,6 +35865,10 @@ }, "type": "array" }, + "deploymentSpec": { + "$ref": "GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec", + "description": "Optional. The specification of a Reasoning Engine deployment." + }, "packageSpec": { "$ref": "GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec", "description": "Required. User provided package spec of the ReasoningEngine." @@ -35179,6 +35876,27 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec": { + "description": "The specification of a Reasoning Engine deployment.", + "id": "GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec", + "properties": { + "env": { + "description": "Optional. Environment variables to be set with the Reasoning Engine deployment. The environment variables can be updated through the UpdateReasoningEngine API.", + "items": { + "$ref": "GoogleCloudAiplatformV1EnvVar" + }, + "type": "array" + }, + "secretEnv": { + "description": "Optional. Environment variables where the value is a secret in Cloud Secret Manager. To use this feature, add 'Secret Manager Secret Accessor' role (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine Service Agent.", + "items": { + "$ref": "GoogleCloudAiplatformV1SecretEnvVar" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec": { "description": "User provided package spec like pickled object and package requirements.", "id": "GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec", @@ -35311,7 +36029,7 @@ "type": "string" }, "values": { - "description": "Optional. Corresponds to the label values of a reservation resource. This must be the full resource name of the reservation.", + "description": "Optional. Corresponds to the label values of a reservation resource. This must be the full resource name of the reservation or reservation block.", "items": { "type": "string" }, @@ -35462,6 +36180,21 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1RetrievalConfig": { + "description": "Retrieval config.", + "id": "GoogleCloudAiplatformV1RetrievalConfig", + "properties": { + "languageCode": { + "description": "The language code of the user.", + "type": "string" + }, + "latLng": { + "$ref": "GoogleTypeLatLng", + "description": "The location of the user." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1RetrievalMetadata": { "description": "Metadata related to retrieval in the grounding flow.", "id": "GoogleCloudAiplatformV1RetrievalMetadata", @@ -38441,7 +39174,7 @@ "id": "GoogleCloudAiplatformV1SchemaTextDataItem", "properties": { "gcsUri": { - "description": "Output only. Google Cloud Storage URI points to the original text in user's bucket. The text file is up to 10MB in size.", + "description": "Output only. Google Cloud Storage URI points to a copy of the original text in the Vertex-managed bucket in the user's project. The text file is up to 10MB in size.", "readOnly": true, "type": "string" } @@ -40578,6 +41311,36 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1SecretEnvVar": { + "description": "Represents an environment variable where the value is a secret in Cloud Secret Manager.", + "id": "GoogleCloudAiplatformV1SecretEnvVar", + "properties": { + "name": { + "description": "Required. Name of the secret environment variable.", + "type": "string" + }, + "secretRef": { + "$ref": "GoogleCloudAiplatformV1SecretRef", + "description": "Required. Reference to a secret stored in the Cloud Secret Manager that will provide the value for this environment variable." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SecretRef": { + "description": "Reference to a secret stored in the Cloud Secret Manager that will provide the value for this environment variable.", + "id": "GoogleCloudAiplatformV1SecretRef", + "properties": { + "secret": { + "description": "Required. The name of the secret in Cloud Secret Manager. Format: {secret_name} if the secret is in the same project. projects/{project}/secrets/{secret_name} if the secret is in a different project.", + "type": "string" + }, + "version": { + "description": "The Cloud Secret Manager secret version. Can be 'latest' for the latest version, an integer for a specific version, or a version alias.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1Segment": { "description": "Segment of the content.", "id": "GoogleCloudAiplatformV1Segment", @@ -40809,6 +41572,49 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1SpeculativeDecodingSpec": { + "description": "Configuration for Speculative Decoding.", + "id": "GoogleCloudAiplatformV1SpeculativeDecodingSpec", + "properties": { + "draftModelSpeculation": { + "$ref": "GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation", + "description": "draft model speculation." + }, + "ngramSpeculation": { + "$ref": "GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation", + "description": "N-Gram speculation." + }, + "speculativeTokenCount": { + "description": "The number of speculative tokens to generate at each step.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation": { + "description": "Draft model speculation works by using the smaller model to generate candidate tokens for speculative decoding.", + "id": "GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation", + "properties": { + "draftModel": { + "description": "Required. The resource name of the draft model.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation": { + "description": "N-Gram speculation works by trying to find matching tokens in the previous prompt sequence and use those as speculation for generating new tokens.", + "id": "GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation", + "properties": { + "ngramSize": { + "description": "The number of last N input tokens used as ngram to search/match against the previous prompt sequence. This is equal to the N in N-Gram. The default value is 3 if not specified.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1SpeechConfig": { "description": "The speech generation config.", "id": "GoogleCloudAiplatformV1SpeechConfig", @@ -41811,6 +42617,7 @@ "enum": [ "ADAPTER_SIZE_UNSPECIFIED", "ADAPTER_SIZE_ONE", + "ADAPTER_SIZE_TWO", "ADAPTER_SIZE_FOUR", "ADAPTER_SIZE_EIGHT", "ADAPTER_SIZE_SIXTEEN", @@ -41819,6 +42626,7 @@ "enumDescriptions": [ "Adapter size is unspecified.", "Adapter size 1.", + "Adapter size 2.", "Adapter size 4.", "Adapter size 8.", "Adapter size 16.", @@ -41843,6 +42651,14 @@ "description": "Tuning data statistics for Supervised Tuning.", "id": "GoogleCloudAiplatformV1SupervisedTuningDataStats", "properties": { + "droppedExampleReasons": { + "description": "Output only. For each index in `truncated_example_indices`, the user-facing reason why the example was dropped. Must not include example itself.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, "totalBillableCharacterCount": { "deprecated": true, "description": "Output only. Number of billable characters in the tuning dataset.", @@ -41857,8 +42673,9 @@ "type": "string" }, "totalTruncatedExampleCount": { - "description": "The number of examples in the dataset that have been truncated by any amount.", + "description": "Output only. The number of examples in the dataset that have been dropped. An example can be dropped for reasons including: too many tokens, contains an invalid image, contains too many images, etc.", "format": "int64", + "readOnly": true, "type": "string" }, "totalTuningCharacterCount": { @@ -41868,11 +42685,12 @@ "type": "string" }, "truncatedExampleIndices": { - "description": "A partial sample of the indices (starting from 1) of the truncated examples.", + "description": "Output only. A partial sample of the indices (starting from 1) of the dropped examples.", "items": { "format": "int64", "type": "string" }, + "readOnly": true, "type": "array" }, "tuningDatasetExampleCount": { @@ -42619,6 +43437,14 @@ "description": "Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).", "id": "GoogleCloudAiplatformV1Tool", "properties": { + "codeExecution": { + "$ref": "GoogleCloudAiplatformV1ToolCodeExecution", + "description": "Optional. CodeExecution tool type. Enables the model to execute code as part of generation." + }, + "enterpriseWebSearch": { + "$ref": "GoogleCloudAiplatformV1EnterpriseWebSearch", + "description": "Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance." + }, "functionDeclarations": { "description": "Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 128 function declarations can be provided.", "items": { @@ -42723,6 +43549,12 @@ "properties": {}, "type": "object" }, + "GoogleCloudAiplatformV1ToolCodeExecution": { + "description": "Tool that executes code generated by the model, and automatically returns the result to the model. See also [ExecutableCode]and [CodeExecutionResult] which are input and output to this tool.", + "id": "GoogleCloudAiplatformV1ToolCodeExecution", + "properties": {}, + "type": "object" + }, "GoogleCloudAiplatformV1ToolConfig": { "description": "Tool config. This config is shared for all tools provided in the request.", "id": "GoogleCloudAiplatformV1ToolConfig", @@ -42730,6 +43562,10 @@ "functionCallingConfig": { "$ref": "GoogleCloudAiplatformV1FunctionCallingConfig", "description": "Optional. Function calling config." + }, + "retrievalConfig": { + "$ref": "GoogleCloudAiplatformV1RetrievalConfig", + "description": "Optional. Retrieval config." } }, "type": "object" @@ -43616,7 +44452,7 @@ "type": "object" }, "GoogleCloudAiplatformV1TunedModel": { - "description": "The Model Registry Model and Online Prediction Endpoint assiociated with this TuningJob.", + "description": "The Model Registry Model and Online Prediction Endpoint associated with this TuningJob.", "id": "GoogleCloudAiplatformV1TunedModel", "properties": { "endpoint": { @@ -43761,7 +44597,7 @@ }, "tunedModel": { "$ref": "GoogleCloudAiplatformV1TunedModel", - "description": "Output only. The tuned model resources assiociated with this TuningJob.", + "description": "Output only. The tuned model resources associated with this TuningJob.", "readOnly": true }, "tunedModelDisplayName": { @@ -44216,11 +45052,11 @@ "type": "object" }, "GoogleCloudAiplatformV1VertexAISearch": { - "description": "Retrieve from Vertex AI Search datastore for grounding. See https://cloud.google.com/products/agent-builder", + "description": "Retrieve from Vertex AI Search datastore or engine for grounding. datastore and engine are mutually exclusive. See https://cloud.google.com/products/agent-builder", "id": "GoogleCloudAiplatformV1VertexAISearch", "properties": { "datastore": { - "description": "Required. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`", + "description": "Optional. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`", "type": "string" } }, @@ -44737,6 +45573,23 @@ }, "type": "object" }, + "GoogleTypeLatLng": { + "description": "An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges.", + "id": "GoogleTypeLatLng", + "properties": { + "latitude": { + "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", + "format": "double", + "type": "number" + }, + "longitude": { + "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "GoogleTypeMoney": { "description": "Represents an amount of money with its currency type.", "id": "GoogleTypeMoney", diff --git a/discovery/googleapis/alloydb__v1.json b/discovery/googleapis/alloydb__v1.json index 4f9c567e0..623e067d9 100644 --- a/discovery/googleapis/alloydb__v1.json +++ b/discovery/googleapis/alloydb__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241204", + "revision": "20250227", "rootUrl": "https://alloydb.googleapis.com/", "servicePath": "", "title": "AlloyDB API", @@ -589,6 +589,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "import": { + "description": "Imports data to the cluster. Imperative only.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:import", + "httpMethod": "POST", + "id": "alloydb.projects.locations.clusters.import", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the cluster.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:import", + "request": { + "$ref": "ImportClusterRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { "description": "Lists Clusters in a given project and location.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters", @@ -740,6 +768,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "restoreFromCloudSQL": { + "description": "Restores an AlloyDB cluster from a CloudSQL resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters:restoreFromCloudSQL", + "httpMethod": "POST", + "id": "alloydb.projects.locations.clusters.restoreFromCloudSQL", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The location of the new cluster. For the required format, see the comment on Cluster.name field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/clusters:restoreFromCloudSQL", + "request": { + "$ref": "RestoreFromCloudSQLRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "switchover": { "description": "Switches the roles of PRIMARY and SECONDARY clusters without any data loss. This promotes the SECONDARY cluster to PRIMARY and sets up the original PRIMARY cluster to replicate from this newly promoted cluster.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:switchover", @@ -1532,6 +1588,21 @@ "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" + }, + "scope": { + "description": "Optional. The scope for which supported flags are requested. If not specified, default is DATABASE.", + "enum": [ + "SCOPE_UNSPECIFIED", + "DATABASE", + "CONNECTION_POOL" + ], + "enumDescriptions": [ + "The scope of the flag is not specified. Default is DATABASE.", + "The flag is a database flag.", + "The flag is a connection pool flag." + ], + "location": "query", + "type": "string" } }, "path": "v1/{+parent}/supportedDatabaseFlags", @@ -1576,7 +1647,7 @@ }, "encryptionConfig": { "$ref": "EncryptionConfig", - "description": "Optional. The encryption config can be specified to encrypt the backups with a customer-managed encryption key (CMEK). When this field is not specified, the backup will then use default encryption scheme to protect the user data." + "description": "Optional. The encryption config can be specified to encrypt the backups with a customer-managed encryption key (CMEK). When this field is not specified, the backup will use the cluster's encryption config." }, "labels": { "additionalProperties": { @@ -1846,6 +1917,26 @@ }, "type": "object" }, + "CloudSQLBackupRunSource": { + "description": "The source CloudSQL backup resource.", + "id": "CloudSQLBackupRunSource", + "properties": { + "backupRunId": { + "description": "Required. The CloudSQL backup run ID.", + "format": "int64", + "type": "string" + }, + "instanceId": { + "description": "Required. The CloudSQL instance ID.", + "type": "string" + }, + "project": { + "description": "The project ID of the source CloudSQL instance. This should be the same as the AlloyDB cluster's project.", + "type": "string" + } + }, + "type": "object" + }, "Cluster": { "description": "A cluster is a collection of regional AlloyDB resources. It can include a primary instance and one or more read pool instances. All cluster resources share a storage layer, which scales as needed.", "id": "Cluster", @@ -1866,6 +1957,11 @@ "description": "Output only. Cluster created from backup.", "readOnly": true }, + "cloudsqlBackupRunSource": { + "$ref": "CloudSQLBackupRunSource", + "description": "Output only. Cluster created from CloudSQL snapshot.", + "readOnly": true + }, "clusterType": { "description": "Output only. The type of the cluster. This is an output-only field and it's populated at the Cluster creation time or the Cluster promotion time. The cluster type is determined by which RPC was used to create the cluster (i.e. `CreateCluster` vs. `CreateSecondaryCluster`", "enum": [ @@ -2203,7 +2299,7 @@ }, "encryptionConfig": { "$ref": "EncryptionConfig", - "description": "The encryption config can be specified to encrypt the backups with a customer-managed encryption key (CMEK). When this field is not specified, the backup will then use default encryption scheme to protect the user data." + "description": "The encryption config can be specified to encrypt the backups with a customer-managed encryption key (CMEK). When this field is not specified, the backup will use the cluster's encryption config." }, "recoveryWindowDays": { "description": "The number of days that are eligible to restore from using PITR. To support the entire recovery window, backups and logs are retained for one day more than the recovery window. If not set, defaults to 14 days.", @@ -2304,6 +2400,36 @@ }, "type": "object" }, + "CsvImportOptions": { + "description": "Options for importing data in CSV format.", + "id": "CsvImportOptions", + "properties": { + "columns": { + "description": "Optional. The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.", + "items": { + "type": "string" + }, + "type": "array" + }, + "escapeCharacter": { + "description": "Optional. Specifies the character that should appear before a data character that needs to be escaped. The default is same as quote character. The value of this argument has to be a character in Hex ASCII Code.", + "type": "string" + }, + "fieldDelimiter": { + "description": "Optional. Specifies the character that separates columns within each row (line) of the file. The default is comma. The value of this argument has to be a character in Hex ASCII Code.", + "type": "string" + }, + "quoteCharacter": { + "description": "Optional. Specifies the quoting character to be used when a data value is quoted. The default is double-quote. The value of this argument has to be a character in Hex ASCII Code.", + "type": "string" + }, + "table": { + "description": "Required. The database table to import CSV file into.", + "type": "string" + } + }, + "type": "object" + }, "Empty": { "description": "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); }", "id": "Empty", @@ -2490,6 +2616,45 @@ }, "type": "object" }, + "ImportClusterRequest": { + "description": "Import cluster request.", + "id": "ImportClusterRequest", + "properties": { + "csvImportOptions": { + "$ref": "CsvImportOptions", + "description": "Options for importing data in CSV format." + }, + "database": { + "description": "Optional. Name of the database to which the import will be done. For import from SQL file, this is required only if the file does not specify a database. Note - Value provided should be the same as expected from `SELECT current_database();` and NOT as a resource reference.", + "type": "string" + }, + "gcsUri": { + "description": "Required. The path to the file in Google Cloud Storage where the source file for import will be stored. The URI is in the form `gs://bucketName/fileName`.", + "type": "string" + }, + "sqlImportOptions": { + "$ref": "SqlImportOptions", + "description": "Options for importing data in SQL format." + }, + "user": { + "description": "Optional. Database user to be used for importing the data. Note - Value provided should be the same as expected from `SELECT current_user;` and NOT as a resource reference.", + "type": "string" + } + }, + "type": "object" + }, + "ImportClusterResponse": { + "description": "Response of import rpc.", + "id": "ImportClusterResponse", + "properties": { + "bytesDownloaded": { + "description": "Required. Size of the object downloaded from Google Cloud Storage in bytes.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "InjectFaultRequest": { "description": "Message for triggering fault injection on an instance", "id": "InjectFaultRequest", @@ -2626,6 +2791,10 @@ "readOnly": true, "type": "array" }, + "observabilityConfig": { + "$ref": "ObservabilityInstanceConfig", + "description": "Configuration for observability." + }, "outboundPublicIpAddresses": { "description": "Output only. All outbound public IP addresses configured for the instance.", "items": { @@ -3053,28 +3222,74 @@ "type": "object" }, "Node": { - "description": "Details of a single node in the instance. Nodes in an AlloyDB instance are ephemereal, they can change during update, failover, autohealing and resize operations.", + "description": "Details of a single node in the instance. Nodes in an AlloyDB instance are ephemeral, they can change during update, failover, autohealing and resize operations.", "id": "Node", "properties": { "id": { - "description": "The identifier of the VM e.g. \"test-read-0601-407e52be-ms3l\".", + "description": "Output only. The identifier of the VM e.g. \"test-read-0601-407e52be-ms3l\".", + "readOnly": true, "type": "string" }, "ip": { - "description": "The private IP address of the VM e.g. \"10.57.0.34\".", + "description": "Output only. The private IP address of the VM e.g. \"10.57.0.34\".", + "readOnly": true, "type": "string" }, "state": { - "description": "Determined by state of the compute VM and postgres-service health. Compute VM state can have values listed in https://cloud.google.com/compute/docs/instances/instance-life-cycle and postgres-service health can have values: HEALTHY and UNHEALTHY.", + "description": "Output only. Determined by state of the compute VM and postgres-service health. Compute VM state can have values listed in https://cloud.google.com/compute/docs/instances/instance-life-cycle and postgres-service health can have values: HEALTHY and UNHEALTHY.", + "readOnly": true, "type": "string" }, "zoneId": { - "description": "The Compute Engine zone of the VM e.g. \"us-central1-b\".", + "description": "Output only. The Compute Engine zone of the VM e.g. \"us-central1-b\".", + "readOnly": true, "type": "string" } }, "type": "object" }, + "ObservabilityInstanceConfig": { + "description": "Observability Instance specific configuration.", + "id": "ObservabilityInstanceConfig", + "properties": { + "enabled": { + "description": "Observability feature status for an instance. This flag is turned \"off\" by default.", + "type": "boolean" + }, + "maxQueryStringLength": { + "description": "Query string length. The default value is 10k.", + "format": "int32", + "type": "integer" + }, + "preserveComments": { + "description": "Preserve comments in query string for an instance. This flag is turned \"off\" by default.", + "type": "boolean" + }, + "queryPlansPerMinute": { + "description": "Number of query execution plans captured by Insights per minute for all queries combined. The default value is 200. Any integer between 0 to 200 is considered valid.", + "format": "int32", + "type": "integer" + }, + "recordApplicationTags": { + "description": "Record application tags for an instance. This flag is turned \"off\" by default.", + "type": "boolean" + }, + "trackActiveQueries": { + "description": "Track actively running queries on the instance. If not set, this flag is \"off\" by default.", + "type": "boolean" + }, + "trackWaitEventTypes": { + "description": "Output only. Track wait event types during query execution for an instance. This flag is turned \"on\" by default but tracking is enabled only after observability enabled flag is also turned on. This is read-only flag and only modifiable by internal API.", + "readOnly": true, + "type": "boolean" + }, + "trackWaitEvents": { + "description": "Track wait events during query execution for an instance. This flag is turned \"on\" by default but tracking is enabled only after observability enabled flag is also turned on.", + "type": "boolean" + } + }, + "type": "object" + }, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", @@ -3146,6 +3361,11 @@ "readOnly": true, "type": "string" }, + "upgradeClusterStatus": { + "$ref": "UpgradeClusterStatus", + "description": "Output only. UpgradeClusterStatus related metadata.", + "readOnly": true + }, "verb": { "description": "Output only. Name of the verb executed by the operation.", "readOnly": true, @@ -3188,6 +3408,36 @@ }, "type": "object" }, + "PscAutoConnectionConfig": { + "description": "Configuration for setting up PSC service automation. Consumer projects in the configs will be allowlisted automatically for the instance.", + "id": "PscAutoConnectionConfig", + "properties": { + "consumerNetwork": { + "description": "The consumer network for the PSC service automation, example: \"projects/vpc-host-project/global/networks/default\". The consumer network might be hosted a different project than the consumer project.", + "type": "string" + }, + "consumerNetworkStatus": { + "description": "Output only. The status of the service connection policy.", + "readOnly": true, + "type": "string" + }, + "consumerProject": { + "description": "The consumer project to which the PSC service automation endpoint will be created.", + "type": "string" + }, + "ipAddress": { + "description": "Output only. The IP address of the PSC service automation endpoint.", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Output only. The status of the PSC service automation connection.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "PscConfig": { "description": "PscConfig contains PSC related configuration at a cluster level.", "id": "PscConfig", @@ -3195,6 +3445,12 @@ "pscEnabled": { "description": "Optional. Create an instance that allows connections from Private Service Connect endpoints to the instance.", "type": "boolean" + }, + "serviceOwnedProjectNumber": { + "description": "Output only. The project number that needs to be allowlisted on the network attachment to enable outbound connectivity.", + "format": "int64", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -3210,11 +3466,25 @@ }, "type": "array" }, + "pscAutoConnections": { + "description": "Optional. Configurations for setting up PSC service automation.", + "items": { + "$ref": "PscAutoConnectionConfig" + }, + "type": "array" + }, "pscDnsName": { "description": "Output only. The DNS name of the instance for PSC connectivity. Name convention: ...alloydb-psc.goog", "readOnly": true, "type": "string" }, + "pscInterfaceConfigs": { + "description": "Optional. Configurations for setting up PSC interfaces attached to the instance which are used for outbound connectivity. Only primary instances can have PSC interface attached. Currently we only support 0 or 1 PSC interface.", + "items": { + "$ref": "PscInterfaceConfig" + }, + "type": "array" + }, "serviceAttachmentLink": { "description": "Output only. The service attachment created when Private Service Connect (PSC) is enabled for the instance. The name of the resource will be in the format of `projects//regions//serviceAttachments/`", "readOnly": true, @@ -3223,6 +3493,17 @@ }, "type": "object" }, + "PscInterfaceConfig": { + "description": "Configuration for setting up a PSC interface to enable outbound connectivity.", + "id": "PscInterfaceConfig", + "properties": { + "networkAttachmentResource": { + "description": "The network attachment resource created in the consumer network to which the PSC interface will be linked. This is of the format: \"projects/${CONSUMER_PROJECT}/regions/${REGION}/networkAttachments/${NETWORK_ATTACHMENT_NAME}\". The network attachment must be in the same region as the instance.", + "type": "string" + } + }, + "type": "object" + }, "QuantityBasedExpiry": { "description": "A backup's position in a quantity-based retention queue, of backups with the same source cluster and type, with length, retention, specified by the backup's retention policy. Once the position is greater than the retention, the backup is eligible to be garbage collected. Example: 5 backups from the same source cluster and type with a quantity-based retention of 3 and denoted by backup_id (position, retention). Safe: backup_5 (1, 3), backup_4, (2, 3), backup_3 (3, 3). Awaiting garbage collection: backup_2 (4, 3), backup_1 (5, 3)", "id": "QuantityBasedExpiry", @@ -3291,6 +3572,17 @@ }, "type": "object" }, + "ReadPoolInstancesUpgradeStageStatus": { + "description": "Read pool instances upgrade specific status.", + "id": "ReadPoolInstancesUpgradeStageStatus", + "properties": { + "upgradeStats": { + "$ref": "Stats", + "description": "Read pool instances upgrade statistics." + } + }, + "type": "object" + }, "RestartInstanceRequest": { "id": "RestartInstanceRequest", "properties": { @@ -3343,6 +3635,25 @@ }, "type": "object" }, + "RestoreFromCloudSQLRequest": { + "description": "Message for registering Restoring from CloudSQL resource.", + "id": "RestoreFromCloudSQLRequest", + "properties": { + "cloudsqlBackupRunSource": { + "$ref": "CloudSQLBackupRunSource", + "description": "Cluster created from CloudSQL backup run." + }, + "cluster": { + "$ref": "Cluster", + "description": "Required. The resource being created" + }, + "clusterId": { + "description": "Required. ID of the requesting object.", + "type": "string" + } + }, + "type": "object" + }, "SecondaryConfig": { "description": "Configuration information for the secondary cluster. This should be set if and only if the cluster is of type SECONDARY.", "id": "SecondaryConfig", @@ -3380,6 +3691,12 @@ }, "type": "object" }, + "SqlImportOptions": { + "description": "Options for importing data in SQL format.", + "id": "SqlImportOptions", + "properties": {}, + "type": "object" + }, "SslConfig": { "description": "SSL configuration.", "id": "SslConfig", @@ -3486,6 +3803,92 @@ }, "type": "object" }, + "StageStatus": { + "description": "Status of an upgrade stage.", + "id": "StageStatus", + "properties": { + "readPoolInstancesUpgrade": { + "$ref": "ReadPoolInstancesUpgradeStageStatus", + "description": "Read pool instances upgrade metadata." + }, + "stage": { + "description": "Upgrade stage.", + "enum": [ + "STAGE_UNSPECIFIED", + "ALLOYDB_PRECHECK", + "PG_UPGRADE_CHECK", + "PREPARE_FOR_UPGRADE", + "PRIMARY_INSTANCE_UPGRADE", + "READ_POOL_INSTANCES_UPGRADE", + "ROLLBACK", + "CLEANUP" + ], + "enumDescriptions": [ + "Unspecified stage.", + "Pre-upgrade custom checks, not covered by pg_upgrade.", + "Pre-upgrade pg_upgrade checks.", + "Clone the original cluster.", + "Upgrade the primary instance(downtime).", + "This stage is read pool upgrade.", + "Rollback in case of critical failures.", + "Cleanup." + ], + "type": "string" + }, + "state": { + "description": "State of this stage.", + "enum": [ + "STATUS_UNSPECIFIED", + "NOT_STARTED", + "IN_PROGRESS", + "SUCCESS", + "FAILED", + "PARTIAL_SUCCESS", + "CANCEL_IN_PROGRESS", + "CANCELLED" + ], + "enumDescriptions": [ + "Unspecified status.", + "Not started.", + "In progress.", + "Operation succeeded.", + "Operation failed.", + "Operation partially succeeded.", + "Cancel is in progress.", + "Cancellation complete." + ], + "type": "string" + } + }, + "type": "object" + }, + "Stats": { + "description": "Upgrade stats for read pool instances.", + "id": "Stats", + "properties": { + "failed": { + "description": "Number of read pool instances which failed to upgrade.", + "format": "int32", + "type": "integer" + }, + "notStarted": { + "description": "Number of read pool instances for which upgrade has not started.", + "format": "int32", + "type": "integer" + }, + "ongoing": { + "description": "Number of read pool instances undergoing upgrade.", + "format": "int32", + "type": "integer" + }, + "success": { + "description": "Number of read pool instances successfully upgraded.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", "id": "Status", @@ -3871,7 +4274,16 @@ "SIGNAL_TYPE_SUPERUSER_WRITING_TO_USER_TABLES", "SIGNAL_TYPE_USER_GRANTED_ALL_PERMISSIONS", "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET", - "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET" + "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET", + "SIGNAL_TYPE_WEAK_PASSWORD_HASH_ALGORITHM", + "SIGNAL_TYPE_NO_USER_PASSWORD_POLICY", + "SIGNAL_TYPE_HOT_NODE", + "SIGNAL_TYPE_NO_POINT_IN_TIME_RECOVERY", + "SIGNAL_TYPE_RESOURCE_SUSPENDED", + "SIGNAL_TYPE_EXPENSIVE_COMMANDS", + "SIGNAL_TYPE_NO_MAINTENANCE_POLICY_CONFIGURED", + "SIGNAL_TYPE_NO_DELETION_PROTECTION", + "SIGNAL_TYPE_INEFFICIENT_QUERY" ], "enumDeprecated": [ false, @@ -3952,6 +4364,15 @@ false, false, false, + false, + false, + false, + false, + false, + false, + false, + false, + false, false ], "enumDescriptions": [ @@ -4033,7 +4454,16 @@ "Detects events where a Cloud SQL superuser (postgres for PostgreSQL servers or root for MySQL users) writes to non-system tables.", "Detects events where a database user or role has been granted all privileges to a database, or to all tables, procedures, or functions in a schema.", "Detects if database instance data exported to a Cloud Storage bucket outside of the organization.", - "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible." + "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible.", + "Detects if a database instance is using a weak password hash algorithm.", + "Detects if a database instance has no user password policy set.", + "Detects if a database instance/cluster has a hot node.", + "Detects if a database instance has no point in time recovery enabled.", + "Detects if a database instance/cluster is suspended.", + "Detects that expensive commands are being run on a database instance impacting overall performance.", + "Indicates that the instance does not have a maintenance policy configured.", + "Deletion Protection Disabled for the resource", + "Indicates that the instance has inefficient queries detected." ], "type": "string" }, @@ -4097,7 +4527,7 @@ "type": "object" }, "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 23", + "description": "Common model for database resource instance metadata. Next ID: 25", "id": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata", "properties": { "availabilityConfiguration": { @@ -4182,6 +4612,10 @@ ], "type": "string" }, + "gcbdrConfiguration": { + "$ref": "StorageDatabasecenterPartnerapiV1mainGCBDRConfiguration", + "description": "GCBDR configuration for the resource." + }, "id": { "$ref": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceId", "description": "Required. Unique identifier for a Database resource" @@ -4198,6 +4632,7 @@ "SUB_RESOURCE_TYPE_PRIMARY", "SUB_RESOURCE_TYPE_SECONDARY", "SUB_RESOURCE_TYPE_READ_REPLICA", + "SUB_RESOURCE_TYPE_EXTERNAL_PRIMARY", "SUB_RESOURCE_TYPE_OTHER" ], "enumDeprecated": [ @@ -4210,10 +4645,11 @@ false, false, false, + false, false ], "enumDescriptions": [ - "", + "Unspecified.", "For rest of the other categories.", "A regular primary database instance.", "A cluster or an instance acting as a secondary.", @@ -4222,6 +4658,7 @@ "A regular primary database instance.", "A cluster or an instance acting as a secondary.", "An instance acting as a read-replica.", + "An instance acting as an external primary.", "For rest of the other categories." ], "type": "string" @@ -4254,6 +4691,28 @@ "description": "Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named \"ABC\" is deleted, the name \"ABC\" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", "type": "string" }, + "suspensionReason": { + "description": "Optional. Suspension reason for the resource.", + "enum": [ + "SUSPENSION_REASON_UNSPECIFIED", + "WIPEOUT_HIDE_EVENT", + "WIPEOUT_PURGE_EVENT", + "BILLING_DISABLED", + "ABUSER_DETECTED", + "ENCRYPTION_KEY_INACCESSIBLE", + "REPLICATED_CLUSTER_ENCRYPTION_KEY_INACCESSIBLE" + ], + "enumDescriptions": [ + "Suspension reason is unspecified.", + "Wipeout hide event.", + "Wipeout purge event.", + "Billing disabled for project", + "Abuse detected for resource", + "Encryption key inaccessible.", + "Replicated cluster encryption key inaccessible." + ], + "type": "string" + }, "tagsSet": { "$ref": "StorageDatabasecenterPartnerapiV1mainTags", "description": "Optional. Tags associated with this resources." @@ -4404,7 +4863,16 @@ "SIGNAL_TYPE_SUPERUSER_WRITING_TO_USER_TABLES", "SIGNAL_TYPE_USER_GRANTED_ALL_PERMISSIONS", "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET", - "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET" + "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET", + "SIGNAL_TYPE_WEAK_PASSWORD_HASH_ALGORITHM", + "SIGNAL_TYPE_NO_USER_PASSWORD_POLICY", + "SIGNAL_TYPE_HOT_NODE", + "SIGNAL_TYPE_NO_POINT_IN_TIME_RECOVERY", + "SIGNAL_TYPE_RESOURCE_SUSPENDED", + "SIGNAL_TYPE_EXPENSIVE_COMMANDS", + "SIGNAL_TYPE_NO_MAINTENANCE_POLICY_CONFIGURED", + "SIGNAL_TYPE_NO_DELETION_PROTECTION", + "SIGNAL_TYPE_INEFFICIENT_QUERY" ], "enumDeprecated": [ false, @@ -4485,6 +4953,15 @@ false, false, false, + false, + false, + false, + false, + false, + false, + false, + false, + false, false ], "enumDescriptions": [ @@ -4566,7 +5043,16 @@ "Detects events where a Cloud SQL superuser (postgres for PostgreSQL servers or root for MySQL users) writes to non-system tables.", "Detects events where a database user or role has been granted all privileges to a database, or to all tables, procedures, or functions in a schema.", "Detects if database instance data exported to a Cloud Storage bucket outside of the organization.", - "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible." + "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible.", + "Detects if a database instance is using a weak password hash algorithm.", + "Detects if a database instance has no user password policy set.", + "Detects if a database instance/cluster has a hot node.", + "Detects if a database instance has no point in time recovery enabled.", + "Detects if a database instance/cluster is suspended.", + "Detects that expensive commands are being run on a database instance impacting overall performance.", + "Indicates that the instance does not have a maintenance policy configured.", + "Deletion Protection Disabled for the resource", + "Indicates that the instance has inefficient queries detected." ], "type": "string" } @@ -4595,17 +5081,38 @@ "description": "An enum that represents the type of this entitlement.", "enum": [ "ENTITLEMENT_TYPE_UNSPECIFIED", - "GEMINI" + "GEMINI", + "NATIVE", + "GCA_STANDARD" + ], + "enumDeprecated": [ + false, + true, + false, + false ], "enumDescriptions": [ - "", - "The root entitlement representing Gemini package ownership." + "The entitlement type is unspecified.", + "The root entitlement representing Gemini package ownership.This will no longer be supported in the future.", + "The entitlement representing Native Tier, This will be the default Entitlement going forward with GCA Enablement.", + "The entitlement representing GCA-Standard Tier." ], "type": "string" } }, "type": "object" }, + "StorageDatabasecenterPartnerapiV1mainGCBDRConfiguration": { + "description": "GCBDR Configuration for the resource.", + "id": "StorageDatabasecenterPartnerapiV1mainGCBDRConfiguration", + "properties": { + "gcbdrManaged": { + "description": "Whether the resource is managed by GCBDR.", + "type": "boolean" + } + }, + "type": "object" + }, "StorageDatabasecenterPartnerapiV1mainInternalResourceMetadata": { "description": "Metadata for individual internal resources in an instance. e.g. spanner instance can have multiple databases with unique configuration settings. Similarly bigtable can have multiple clusters within same bigtable instance.", "id": "StorageDatabasecenterPartnerapiV1mainInternalResourceMetadata", @@ -4618,6 +5125,10 @@ "$ref": "StorageDatabasecenterPartnerapiV1mainBackupRun", "description": "Information about the last backup attempt for this database" }, + "isDeletionProtectionEnabled": { + "description": "Whether deletion protection is enabled for this internal resource.", + "type": "boolean" + }, "product": { "$ref": "StorageDatabasecenterProtoCommonProduct" }, @@ -4636,12 +5147,13 @@ "id": "StorageDatabasecenterPartnerapiV1mainMachineConfiguration", "properties": { "cpuCount": { - "description": "The number of CPUs. TODO(b/342344482, b/342346271) add proto validations again after bug fix.", + "deprecated": true, + "description": "The number of CPUs. Deprecated. Use vcpu_count instead. TODO(b/342344482) add proto validations again after bug fix.", "format": "int32", "type": "integer" }, "memorySizeInBytes": { - "description": "Memory size in bytes. TODO(b/342344482, b/342346271) add proto validations again after bug fix.", + "description": "Memory size in bytes. TODO(b/342344482) add proto validations again after bug fix.", "format": "int64", "type": "string" }, @@ -4651,7 +5163,7 @@ "type": "integer" }, "vcpuCount": { - "description": "Optional. The number of vCPUs. TODO(b/342344482, b/342346271) add proto validations again after bug fix.", + "description": "Optional. The number of vCPUs. TODO(b/342344482) add proto validations again after bug fix.", "format": "double", "type": "number" } @@ -4687,7 +5199,10 @@ "MEMORY_UTILIZATION", "NETWORK_CONNECTIONS", "STORAGE_UTILIZATION", - "STORAGE_USED_BYTES" + "STORAGE_USED_BYTES", + "NODE_COUNT", + "MEMORY_USED_BYTES", + "PROCESSING_UNIT_COUNT" ], "enumDescriptions": [ "Unspecified metric type.", @@ -4695,7 +5210,10 @@ "Memory utilization for a resource. The value is a fraction between 0.0 and 1.0 (may momentarily exceed 1.0 in some cases).", "Number of network connections for a resource.", "Storage utilization for a resource. The value is a fraction between 0.0 and 1.0 (may momentarily exceed 1.0 in some cases).", - "Sotrage used by a resource." + "Sotrage used by a resource.", + "Node count for a resource. It represents the number of node units in a bigtable/spanner instance.", + "Memory used by a resource (in bytes).", + "Processing units used by a resource. It represents the number of processing units in a spanner instance." ], "type": "string" }, @@ -4995,10 +5513,33 @@ "description": "The name of the flag resource, following Google Cloud conventions, e.g.: * projects/{project}/locations/{location}/flags/{flag} This field currently has no semantic meaning.", "type": "string" }, + "recommendedIntegerValue": { + "description": "The recommended value for an INTEGER flag.", + "format": "int64", + "type": "string" + }, + "recommendedStringValue": { + "description": "The recommended value for a STRING flag.", + "type": "string" + }, "requiresDbRestart": { "description": "Whether setting or updating this flag on an Instance requires a database restart. If a flag that requires database restart is set, the backend will automatically restart the database (making sure to satisfy any availability SLO's).", "type": "boolean" }, + "scope": { + "description": "The scope of the flag.", + "enum": [ + "SCOPE_UNSPECIFIED", + "DATABASE", + "CONNECTION_POOL" + ], + "enumDescriptions": [ + "The scope of the flag is not specified. Default is DATABASE.", + "The flag is a database flag.", + "The flag is a connection pool flag." + ], + "type": "string" + }, "stringRestrictions": { "$ref": "StringRestrictions", "description": "Restriction on STRING type value." @@ -5191,6 +5732,98 @@ }, "type": "object" }, + "UpgradeClusterStatus": { + "description": "Message for current status of the Major Version Upgrade operation.", + "id": "UpgradeClusterStatus", + "properties": { + "cancellable": { + "description": "Whether the operation is cancellable.", + "type": "boolean" + }, + "sourceVersion": { + "description": "Source database major version.", + "enum": [ + "DATABASE_VERSION_UNSPECIFIED", + "POSTGRES_13", + "POSTGRES_14", + "POSTGRES_15", + "POSTGRES_16" + ], + "enumDeprecated": [ + false, + true, + false, + false, + false + ], + "enumDescriptions": [ + "This is an unknown database version.", + "DEPRECATED - The database version is Postgres 13.", + "The database version is Postgres 14.", + "The database version is Postgres 15.", + "The database version is Postgres 16." + ], + "type": "string" + }, + "stages": { + "description": "Status of all upgrade stages.", + "items": { + "$ref": "StageStatus" + }, + "type": "array" + }, + "state": { + "description": "Cluster Major Version Upgrade state.", + "enum": [ + "STATUS_UNSPECIFIED", + "NOT_STARTED", + "IN_PROGRESS", + "SUCCESS", + "FAILED", + "PARTIAL_SUCCESS", + "CANCEL_IN_PROGRESS", + "CANCELLED" + ], + "enumDescriptions": [ + "Unspecified status.", + "Not started.", + "In progress.", + "Operation succeeded.", + "Operation failed.", + "Operation partially succeeded.", + "Cancel is in progress.", + "Cancellation complete." + ], + "type": "string" + }, + "targetVersion": { + "description": "Target database major version.", + "enum": [ + "DATABASE_VERSION_UNSPECIFIED", + "POSTGRES_13", + "POSTGRES_14", + "POSTGRES_15", + "POSTGRES_16" + ], + "enumDeprecated": [ + false, + true, + false, + false, + false + ], + "enumDescriptions": [ + "This is an unknown database version.", + "DEPRECATED - The database version is Postgres 13.", + "The database version is Postgres 14.", + "The database version is Postgres 15.", + "The database version is Postgres 16." + ], + "type": "string" + } + }, + "type": "object" + }, "User": { "description": "Message describing User object.", "id": "User", diff --git a/discovery/googleapis/analyticshub__v1.json b/discovery/googleapis/analyticshub__v1.json index 1428fa5ba..76eb17039 100644 --- a/discovery/googleapis/analyticshub__v1.json +++ b/discovery/googleapis/analyticshub__v1.json @@ -28,7 +28,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241028", + "revision": "20250303", "rootUrl": "https://analyticshub.googleapis.com/", "servicePath": "", "title": "Analytics Hub API", @@ -530,6 +530,11 @@ "name" ], "parameters": { + "deleteCommercial": { + "description": "Optional. If the listing is commercial then this field must be set to true, otherwise a failure is thrown. This acts as a safety guard to avoid deleting commercial listings accidentally.", + "location": "query", + "type": "boolean" + }, "name": { "description": "Required. Resource name of the listing to delete. e.g. `projects/myproject/locations/US/dataExchanges/123/listings/456`.", "location": "path", @@ -1028,7 +1033,7 @@ }, "schemas": { "AnalyticsHubSubscriptionInfo": { - "description": "Information about an associated Analytics Hub subscription (https://cloud.google.com/bigquery/docs/analytics-hub-manage-subscriptions).", + "description": "Information about an associated [Analytics Hub subscription](https://cloud.google.com/bigquery/docs/analytics-hub-manage-subscriptions).", "id": "AnalyticsHubSubscriptionInfo", "properties": { "listing": { @@ -1162,7 +1167,7 @@ "id": "BigQueryDatasetSource", "properties": { "dataset": { - "description": "Resource name of the dataset source for this listing. e.g. `projects/myproject/datasets/123`", + "description": "Optional. Resource name of the dataset source for this listing. e.g. `projects/myproject/datasets/123`", "type": "string" }, "restrictedExportPolicy": { @@ -1231,7 +1236,7 @@ "type": "string" }, "maxDuration": { - "description": "Optional. The maximum duration that can elapse before a new Cloud Storage file is created. Min 1 minute, max 10 minutes, default 5 minutes. May not exceed the subscription's acknowledgement deadline.", + "description": "Optional. The maximum duration that can elapse before a new Cloud Storage file is created. Min 1 minute, max 10 minutes, default 5 minutes. May not exceed the subscription's acknowledgment deadline.", "format": "google-duration", "type": "string" }, @@ -1313,6 +1318,10 @@ "readOnly": true, "type": "integer" }, + "logLinkedDatasetQueryUserEmail": { + "description": "Optional. By default, false. If true, the DataExchange has an email sharing mandate enabled.", + "type": "boolean" + }, "name": { "description": "Output only. The resource name of the data exchange. e.g. `projects/myproject/locations/US/dataExchanges/123`.", "readOnly": true, @@ -1370,7 +1379,7 @@ "type": "string" }, "maxDeliveryAttempts": { - "description": "Optional. The maximum number of delivery attempts for any message. The value must be between 5 and 100. The number of delivery attempts is defined as 1 + (the sum of number of NACKs and number of times the acknowledgement deadline has been exceeded for the message). A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that client libraries may automatically extend ack_deadlines. This field will be honored on a best effort basis. If this parameter is 0, a default value of 5 is used.", + "description": "Optional. The maximum number of delivery attempts for any message. The value must be between 5 and 100. The number of delivery attempts is defined as 1 + (the sum of number of NACKs and number of times the acknowledgment deadline has been exceeded for the message). A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that client libraries may automatically extend ack_deadlines. This field will be honored on a best effort basis. If this parameter is 0, a default value of 5 is used.", "format": "int32", "type": "integer" } @@ -1414,7 +1423,6 @@ "type": "object" }, "DestinationDatasetReference": { - "description": "Contains the reference that identifies a destination bigquery dataset.", "id": "DestinationDatasetReference", "properties": { "datasetId": { @@ -1503,6 +1511,68 @@ }, "type": "object" }, + "GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo": { + "description": "Commercial info contains the information about the commercial data products associated with the listing.", + "id": "GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo", + "properties": { + "cloudMarketplace": { + "$ref": "GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo", + "description": "Output only. Details of the Marketplace Data Product associated with the Listing.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo": { + "description": "Specifies the details of the Marketplace Data Product associated with the Listing.", + "id": "GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo", + "properties": { + "commercialState": { + "description": "Output only. Commercial state of the Marketplace Data Product.", + "enum": [ + "COMMERCIAL_STATE_UNSPECIFIED", + "ONBOARDING", + "ACTIVE" + ], + "enumDescriptions": [ + "Commercialization is incomplete and cannot be used.", + "Commercialization has been initialized.", + "Commercialization is complete and available for use." + ], + "readOnly": true, + "type": "string" + }, + "service": { + "description": "Output only. Resource name of the commercial service associated with the Marketplace Data Product. e.g. example.com", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo": { + "description": "Commercial info metadata for this subscription.", + "id": "GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo", + "properties": { + "cloudMarketplace": { + "$ref": "GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo", + "description": "Output only. This is set when the subscription is commercialised via Cloud Marketplace.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo": { + "description": "Cloud Marketplace commercial metadata for this subscription.", + "id": "GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo", + "properties": { + "order": { + "description": "Resource name of the Marketplace Order.", + "type": "string" + } + }, + "type": "object" + }, "GooglePubsubV1Subscription": { "description": "A subscription resource. If none of `push_config`, `bigquery_config`, or `cloud_storage_config` is set, then the subscriber will pull and ack messages using API methods. At most one of these fields may be set.", "id": "GooglePubsubV1Subscription", @@ -1534,7 +1604,7 @@ "type": "boolean" }, "enableExactlyOnceDelivery": { - "description": "Optional. If true, Pub/Sub provides the following guarantees for the delivery of a message with a given value of `message_id` on this subscription: * The message sent to a subscriber is guaranteed not to be resent before the message's acknowledgement deadline expires. * An acknowledged message will not be resent to a subscriber. Note that subscribers may still receive multiple copies of a message when `enable_exactly_once_delivery` is true if the message was published multiple times by a publisher client. These copies are considered distinct by Pub/Sub and have distinct `message_id` values.", + "description": "Optional. If true, Pub/Sub provides the following guarantees for the delivery of a message with a given value of `message_id` on this subscription: * The message sent to a subscriber is guaranteed not to be resent before the message's acknowledgment deadline expires. * An acknowledged message will not be resent to a subscriber. Note that subscribers may still receive multiple copies of a message when `enable_exactly_once_delivery` is true if the message was published multiple times by a publisher client. These copies are considered distinct by Pub/Sub and have distinct `message_id` values.", "type": "boolean" }, "enableMessageOrdering": { @@ -1561,6 +1631,13 @@ "format": "google-duration", "type": "string" }, + "messageTransforms": { + "description": "Optional. Transforms to be applied to messages before they are delivered to subscribers. Transforms are applied in the order specified.", + "items": { + "$ref": "MessageTransform" + }, + "type": "array" + }, "name": { "description": "Required. Name of the subscription. Format is `projects/{project}/subscriptions/{sub}`.", "type": "string" @@ -1575,7 +1652,7 @@ }, "retryPolicy": { "$ref": "RetryPolicy", - "description": "Optional. A policy that specifies how Pub/Sub retries message delivery for this subscription. If not set, the default retry policy is applied. This generally implies that messages will be retried as soon as possible for healthy subscribers. RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded events for a given message." + "description": "Optional. A policy that specifies how Pub/Sub retries message delivery for this subscription. If not set, the default retry policy is applied. This generally implies that messages will be retried as soon as possible for healthy subscribers. RetryPolicy will be triggered on NACKs or acknowledgment deadline exceeded events for a given message." }, "state": { "description": "Output only. An output-only field indicating whether or not the subscription can receive messages.", @@ -1601,6 +1678,21 @@ }, "type": "object" }, + "JavaScriptUDF": { + "description": "User-defined JavaScript function that can transform or filter a Pub/Sub message.", + "id": "JavaScriptUDF", + "properties": { + "code": { + "description": "Required. JavaScript code that contains a function `function_name` with the below signature: ``` /** * Transforms a Pub/Sub message. * @return {(Object)>|null)} - To * filter a message, return `null`. To transform a message return a map * with the following keys: * - (required) 'data' : {string} * - (optional) 'attributes' : {Object} * Returning empty `attributes` will remove all attributes from the * message. * * @param {(Object)>} Pub/Sub * message. Keys: * - (required) 'data' : {string} * - (required) 'attributes' : {Object} * * @param {Object} metadata - Pub/Sub message metadata. * Keys: * - (required) 'message_id' : {string} * - (optional) 'publish_time': {string} YYYY-MM-DDTHH:MM:SSZ format * - (optional) 'ordering_key': {string} */ function (message, metadata) { } ```", + "type": "string" + }, + "functionName": { + "description": "Required. Name of the JavasScript function that should applied to Pub/Sub messages.", + "type": "string" + } + }, + "type": "object" + }, "LinkedResource": { "description": "Reference to a linked resource tracked by this Subscription.", "id": "LinkedResource", @@ -1719,7 +1811,7 @@ "properties": { "bigqueryDataset": { "$ref": "BigQueryDatasetSource", - "description": "Required. Shared dataset i.e. BigQuery dataset source." + "description": "Shared dataset i.e. BigQuery dataset source." }, "categories": { "description": "Optional. Categories of the listing. Up to two categories are allowed.", @@ -1772,6 +1864,11 @@ }, "type": "array" }, + "commercialInfo": { + "$ref": "GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo", + "description": "Output only. Commercial info contains the information about the commercial data products associated with the listing.", + "readOnly": true + }, "dataProvider": { "$ref": "DataProvider", "description": "Optional. Details of the data provider who owns the source data." @@ -1807,6 +1904,10 @@ "format": "byte", "type": "string" }, + "logLinkedDatasetQueryUserEmail": { + "description": "Optional. By default, false. If true, the Listing has an email sharing mandate enabled.", + "type": "boolean" + }, "name": { "description": "Output only. The resource name of the listing. e.g. `projects/myproject/locations/US/dataExchanges/123/listings/456`", "readOnly": true, @@ -1822,7 +1923,7 @@ }, "pubsubTopic": { "$ref": "PubSubTopicSource", - "description": "Required. Pub/Sub topic source." + "description": "Pub/Sub topic source." }, "requestAccess": { "description": "Optional. Email or URL of the request access of the listing. Subscribers can use this reference to request access. Max Length: 1000 bytes.", @@ -1863,6 +1964,21 @@ }, "type": "object" }, + "MessageTransform": { + "description": "All supported message transforms types.", + "id": "MessageTransform", + "properties": { + "enabled": { + "description": "Optional. If set to true, the transform is enabled. If false, the transform is disabled and will not be applied to messages. Defaults to `true`.", + "type": "boolean" + }, + "javascriptUdf": { + "$ref": "JavaScriptUDF", + "description": "Optional. JavaScript User Defined Function. If multiple JavaScriptUDF's are specified on a resource, each must have a unique `function_name`." + } + }, + "type": "object" + }, "NoWrapper": { "description": "Sets the `data` field as the HTTP body for delivery.", "id": "NoWrapper", @@ -2125,7 +2241,7 @@ "type": "object" }, "RetryPolicy": { - "description": "A policy that specifies how Pub/Sub retries message delivery. Retry delay will be exponential based on provided minimum and maximum backoffs. https://en.wikipedia.org/wiki/Exponential_backoff. RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded events for a given message. Retry Policy is implemented on a best effort basis. At times, the delay between consecutive deliveries may not match the configuration. That is, delay can be more or less than configured backoff.", + "description": "A policy that specifies how Pub/Sub retries message delivery. Retry delay will be exponential based on provided minimum and maximum backoffs. https://en.wikipedia.org/wiki/Exponential_backoff. RetryPolicy will be triggered on NACKs or acknowledgment deadline exceeded events for a given message. Retry Policy is implemented on a best effort basis. At times, the delay between consecutive deliveries may not match the configuration. That is, delay can be more or less than configured backoff.", "id": "RetryPolicy", "properties": { "maximumBackoff": { @@ -2144,7 +2260,12 @@ "RevokeSubscriptionRequest": { "description": "Message for revoking a subscription.", "id": "RevokeSubscriptionRequest", - "properties": {}, + "properties": { + "revokeCommercial": { + "description": "Optional. If the subscription is commercial then this field must be set to true, otherwise a failure is thrown. This acts as a safety guard to avoid revoking commercial subscriptions accidentally.", + "type": "boolean" + } + }, "type": "object" }, "RevokeSubscriptionResponse": { @@ -2157,6 +2278,10 @@ "description": "Resource in this dataset that is selectively shared.", "id": "SelectedResource", "properties": { + "routine": { + "description": "Optional. Format: For routine: `projects/{projectId}/datasets/{datasetId}/routines/{routineId}` Example:\"projects/test_project/datasets/test_dataset/routines/test_routine\"", + "type": "string" + }, "table": { "description": "Optional. Format: For table: `projects/{projectId}/datasets/{datasetId}/tables/{tableId}` Example:\"projects/test_project/datasets/test_dataset/tables/test_table\"", "type": "string" @@ -2266,7 +2391,7 @@ }, "destinationPubsubSubscription": { "$ref": "DestinationPubSubSubscription", - "description": "Required. Input only. Destination Pub/Sub subscription to create for the subscriber." + "description": "Input only. Destination Pub/Sub subscription to create for the subscriber." } }, "type": "object" @@ -2286,6 +2411,11 @@ "description": "A subscription represents a subscribers' access to a particular set of published data. It contains references to associated listings, data exchanges, and linked datasets.", "id": "Subscription", "properties": { + "commercialInfo": { + "$ref": "GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo", + "description": "Output only. This is set if this is a commercial subscription i.e. if this subscription was created from subscribing to a commercial listing.", + "readOnly": true + }, "creationTime": { "description": "Output only. Timestamp when the subscription was created.", "format": "google-datetime", @@ -2324,6 +2454,11 @@ "readOnly": true, "type": "string" }, + "logLinkedDatasetQueryUserEmail": { + "description": "Output only. By default, false. If true, the Subscriber agreed to the email sharing mandate that is enabled for DataExchange/Listing.", + "readOnly": true, + "type": "boolean" + }, "name": { "description": "Output only. The resource name of the subscription. e.g. `projects/myproject/locations/US/subscriptions/123`.", "readOnly": true, diff --git a/discovery/googleapis/androidenterprise__v1.json b/discovery/googleapis/androidenterprise__v1.json index b63015a1f..e14f4f23b 100644 --- a/discovery/googleapis/androidenterprise__v1.json +++ b/discovery/googleapis/androidenterprise__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241217", + "revision": "20250302", "rootUrl": "https://androidenterprise.googleapis.com/", "servicePath": "", "title": "Google Play EMM API", @@ -341,6 +341,37 @@ } } }, + "enrollmentTokens": { + "methods": { + "create": { + "description": "Returns a token for device enrollment. The DPC can encode this token within the QR/NFC/zero-touch enrollment payload or fetch it before calling the on-device API to authenticate the user. The token can be generated for each device or reused across multiple devices.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/enrollmentTokens", + "httpMethod": "POST", + "id": "androidenterprise.enrollmentTokens.create", + "parameterOrder": [ + "enterpriseId" + ], + "parameters": { + "enterpriseId": { + "description": "Required. The ID of the enterprise.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "androidenterprise/v1/enterprises/{enterpriseId}/enrollmentTokens", + "request": { + "$ref": "EnrollmentToken" + }, + "response": { + "$ref": "EnrollmentToken" + }, + "scopes": [ + "https://www.googleapis.com/auth/androidenterprise" + ] + } + } + }, "enterprises": { "methods": { "acknowledgeNotificationSet": { @@ -387,56 +418,6 @@ "https://www.googleapis.com/auth/androidenterprise" ] }, - "createEnrollmentToken": { - "description": "Returns a token for device enrollment. The DPC can encode this token within the QR/NFC/zero-touch enrollment payload or fetch it before calling the on-device API to authenticate the user. The token can be generated for each device or reused across multiple devices.", - "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/createEnrollmentToken", - "httpMethod": "POST", - "id": "androidenterprise.enterprises.createEnrollmentToken", - "parameterOrder": [ - "enterpriseId" - ], - "parameters": { - "enrollmentToken.duration": { - "description": "[Optional] The length of time the enrollment token is valid, ranging from 1 minute to [`Durations.MAX_VALUE`](https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/util/Durations.html#MAX_VALUE), approximately 10,000 years. If not specified, the default duration is 1 hour.", - "format": "google-duration", - "location": "query", - "type": "string" - }, - "enrollmentToken.enrollmentTokenType": { - "description": "[Required] The type of the enrollment token.", - "enum": [ - "enrollmentTokenTypeUnspecified", - "userlessDevice", - "userDevice" - ], - "enumDescriptions": [ - "The value is unused.", - "The enrollment token is for a userless device.", - "The enrollment token is for a user device." - ], - "location": "query", - "type": "string" - }, - "enrollmentToken.token": { - "description": "The token value that's passed to the device and authorizes the device to enroll. This is a read-only field generated by the server.", - "location": "query", - "type": "string" - }, - "enterpriseId": { - "description": "Required. The ID of the enterprise.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "androidenterprise/v1/enterprises/{enterpriseId}/createEnrollmentToken", - "response": { - "$ref": "CreateEnrollmentTokenResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/androidenterprise" - ] - }, "createWebToken": { "description": "Returns a unique token to access an embeddable UI. To generate a web UI, pass the generated token into the managed Google Play javascript API. Each token may only be used to start one UI session. See the JavaScript API documentation for further information.", "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/createWebToken", @@ -491,6 +472,41 @@ "https://www.googleapis.com/auth/androidenterprise" ] }, + "generateEnterpriseUpgradeUrl": { + "description": "Generates an enterprise upgrade URL to upgrade an existing managed Google Play Accounts enterprise to a managed Google domain. **Note:** This feature is not generally available.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/generateEnterpriseUpgradeUrl", + "httpMethod": "POST", + "id": "androidenterprise.enterprises.generateEnterpriseUpgradeUrl", + "parameterOrder": [ + "enterpriseId" + ], + "parameters": { + "adminEmail": { + "description": "Optional. Email address used to prefill the admin field of the enterprise signup form as part of the upgrade process. This value is a hint only and can be altered by the user. Personal email addresses are not allowed. If `allowedDomains` is non-empty then this must belong to one of the `allowedDomains`.", + "location": "query", + "type": "string" + }, + "allowedDomains": { + "description": "Optional. A list of domains that are permitted for the admin email. The IT admin cannot enter an email address with a domain name that is not in this list. Subdomains of domains in this list are not allowed but can be allowed by adding a second entry which has `*.` prefixed to the domain name (e.g. *.example.com). If the field is not present or is an empty list then the IT admin is free to use any valid domain name. Personal email domains are not allowed.", + "location": "query", + "repeated": true, + "type": "string" + }, + "enterpriseId": { + "description": "Required. The ID of the enterprise.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "androidenterprise/v1/enterprises/{enterpriseId}/generateEnterpriseUpgradeUrl", + "response": { + "$ref": "GenerateEnterpriseUpgradeUrlResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/androidenterprise" + ] + }, "generateSignupUrl": { "description": "Generates a sign-up URL.", "flatPath": "androidenterprise/v1/enterprises/signupUrl", @@ -499,10 +515,16 @@ "parameterOrder": [], "parameters": { "adminEmail": { - "description": "Optional. Email address used to prefill the admin field of the enterprise signup form. This value is a hint only and can be altered by the user.", + "description": "Optional. Email address used to prefill the admin field of the enterprise signup form. This value is a hint only and can be altered by the user. If `allowedDomains` is non-empty then this must belong to one of the `allowedDomains`.", "location": "query", "type": "string" }, + "allowedDomains": { + "description": "Optional. A list of domains that are permitted for the admin email. The IT admin cannot enter an email address with a domain name that is not in this list. Subdomains of domains in this list are not allowed but can be allowed by adding a second entry which has `*.` prefixed to the domain name (e.g. *.example.com). If the field is not present or is an empty list then the IT admin is free to use any valid domain name. Personal email domains are always allowed, but will result in the creation of a managed Google Play Accounts enterprise.", + "location": "query", + "repeated": true, + "type": "string" + }, "callbackUrl": { "description": "The callback URL to which the Admin will be redirected after successfully creating an enterprise. Before redirecting there the system will add a single query parameter to this URL named \"enterpriseToken\" which will contain an opaque token to be used for the CompleteSignup request. Beware that this means that the URL will be parsed, the parameter added and then a new URL formatted, i.e. there may be some minor formatting changes and, more importantly, the URL must be well-formed so that it can be parsed.", "location": "query", @@ -1828,8 +1850,10 @@ } }, "serviceaccountkeys": { + "deprecated": true, "methods": { "delete": { + "deprecated": true, "description": "Removes and invalidates the specified credentials for the service account associated with this enterprise. The calling service account must have been retrieved by calling Enterprises.GetServiceAccount and must have been set as the enterprise service account by calling Enterprises.SetAccount.", "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/serviceAccountKeys/{keyId}", "httpMethod": "DELETE", @@ -1858,6 +1882,7 @@ ] }, "insert": { + "deprecated": true, "description": "Generates new credentials for the service account associated with this enterprise. The calling service account must have been retrieved by calling Enterprises.GetServiceAccount and must have been set as the enterprise service account by calling Enterprises.SetAccount. Only the type of the key should be populated in the resource to be inserted.", "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/serviceAccountKeys", "httpMethod": "POST", @@ -1885,6 +1910,7 @@ ] }, "list": { + "deprecated": true, "description": "Lists all active credentials for the service account associated with this enterprise. Only the ID and key type are returned. The calling service account must have been retrieved by calling Enterprises.GetServiceAccount and must have been set as the enterprise service account by calling Enterprises.SetAccount.", "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/serviceAccountKeys", "httpMethod": "GET", @@ -3161,17 +3187,6 @@ }, "type": "object" }, - "CreateEnrollmentTokenResponse": { - "description": "Response message for create enrollment token.", - "id": "CreateEnrollmentTokenResponse", - "properties": { - "enrollmentToken": { - "$ref": "EnrollmentToken", - "description": "[Required] The created enrollment token." - } - }, - "type": "object" - }, "Device": { "description": "A Devices resource represents a mobile device managed by the EMM and belonging to a specific enterprise user.", "id": "Device", @@ -3347,6 +3362,20 @@ }, "type": "array" }, + "enterpriseType": { + "description": "The type of the enterprise.", + "enum": [ + "enterpriseTypeUnspecified", + "managedGoogleDomain", + "managedGooglePlayAccountsEnterprise" + ], + "enumDescriptions": [ + "This value is not used.", + "The enterprise belongs to a managed Google domain.", + "The enterprise is a managed Google Play Accounts enterprise." + ], + "type": "string" + }, "googleAuthenticationSettings": { "$ref": "GoogleAuthenticationSettings", "description": "Output only. Settings for Google-provided user authentication.", @@ -3356,6 +3385,20 @@ "description": "The unique ID for the enterprise.", "type": "string" }, + "managedGoogleDomainType": { + "description": "The type of managed Google domain", + "enum": [ + "managedGoogleDomainTypeUnspecified", + "typeTeam", + "typeDomain" + ], + "enumDescriptions": [ + "The managed Google domain type is not specified.", + "The managed Google domain is an email-verified team.", + "The managed Google domain is domain-verified." + ], + "type": "string" + }, "name": { "description": "The name of the enterprise, for example, \"Example, Inc\".", "type": "string" @@ -3389,6 +3432,25 @@ }, "type": "object" }, + "EnterpriseUpgradeEvent": { + "description": "An event generated when an enterprise is upgraded. **Note:** This feature is not generally available.", + "id": "EnterpriseUpgradeEvent", + "properties": { + "upgradeState": { + "description": "The upgrade state.", + "enum": [ + "upgradeStateUnspecified", + "upgradeStateSucceeded" + ], + "enumDescriptions": [ + "Unspecified. This value is not used.", + "The upgrade has succeeded." + ], + "type": "string" + } + }, + "type": "object" + }, "EnterprisesListResponse": { "id": "EnterprisesListResponse", "properties": { @@ -3454,6 +3516,17 @@ }, "type": "object" }, + "GenerateEnterpriseUpgradeUrlResponse": { + "description": "Response message for generating a URL to upgrade an existing managed Google Play Accounts enterprise to a managed Google domain. **Note:** This feature is not generally available.", + "id": "GenerateEnterpriseUpgradeUrlResponse", + "properties": { + "url": { + "description": "A URL for an enterprise admin to upgrade their enterprise. The page can't be rendered in an iframe.", + "type": "string" + } + }, + "type": "object" + }, "GoogleAuthenticationSettings": { "description": "Contains settings for Google-provided user authentication.", "id": "GoogleAuthenticationSettings", @@ -3937,6 +4010,10 @@ "description": "The ID of the enterprise for which the notification is sent. This will always be present.", "type": "string" }, + "enterpriseUpgradeEvent": { + "$ref": "EnterpriseUpgradeEvent", + "description": "Notifications about enterprise upgrade. **Note:** This feature is not generally available." + }, "installFailureEvent": { "$ref": "InstallFailureEvent", "description": "Notifications about an app installation failure." @@ -3961,7 +4038,8 @@ "appRestricionsSchemaChange", "productAvailabilityChange", "newDevice", - "deviceReportUpdate" + "deviceReportUpdate", + "enterpriseUpgrade" ], "enumDescriptions": [ "", @@ -3973,7 +4051,8 @@ "Notification about new app restrictions schema change.", "Notification about product availability change.", "Notification about a new device.", - "Notification about an updated device report." + "Notification about an updated device report.", + "Notification about an enterprise upgrade. **Note:** This feature is not generally available." ], "type": "string" }, @@ -4665,6 +4744,7 @@ "type": "object" }, "ServiceAccountKeysListResponse": { + "deprecated": true, "id": "ServiceAccountKeysListResponse", "properties": { "serviceAccountKey": { diff --git a/discovery/googleapis/androidmanagement__v1.json b/discovery/googleapis/androidmanagement__v1.json index 404aaedd5..f94669bc6 100644 --- a/discovery/googleapis/androidmanagement__v1.json +++ b/discovery/googleapis/androidmanagement__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241204", + "revision": "20250306", "rootUrl": "https://androidmanagement.googleapis.com/", "servicePath": "", "title": "Android Management API", @@ -176,6 +176,34 @@ "https://www.googleapis.com/auth/androidmanagement" ] }, + "generateEnterpriseUpgradeUrl": { + "description": "Generates an enterprise upgrade URL to upgrade an existing managed Google Play Accounts enterprise to a managed Google domain.Note: This feature is not generally available.", + "flatPath": "v1/enterprises/{enterprisesId}:generateEnterpriseUpgradeUrl", + "httpMethod": "POST", + "id": "androidmanagement.enterprises.generateEnterpriseUpgradeUrl", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the enterprise to be upgraded in the form enterprises/{enterpriseId}.", + "location": "path", + "pattern": "^enterprises/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:generateEnterpriseUpgradeUrl", + "request": { + "$ref": "GenerateEnterpriseUpgradeUrlRequest" + }, + "response": { + "$ref": "GenerateEnterpriseUpgradeUrlResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/androidmanagement" + ] + }, "get": { "description": "Gets an enterprise.", "flatPath": "v1/enterprises/{enterprisesId}", @@ -1146,10 +1174,16 @@ "parameterOrder": [], "parameters": { "adminEmail": { - "description": "Optional. Email address used to prefill the admin field of the enterprise signup form. This value is a hint only and can be altered by the user.", + "description": "Optional. Email address used to prefill the admin field of the enterprise signup form. This value is a hint only and can be altered by the user. If allowedDomains is non-empty then this must belong to one of the allowedDomains.", "location": "query", "type": "string" }, + "allowedDomains": { + "description": "Optional. A list of domains that are permitted for the admin email. The IT admin cannot enter an email address with a domain name that is not in this list. Subdomains of domains in this list are not allowed but can be allowed by adding a second entry which has *. prefixed to the domain name (e.g. *.example.com). If the field is not present or is an empty list then the IT admin is free to use any valid domain name. Personal email domains are always allowed, but will result in the creation of a managed Google Play Accounts enterprise.", + "location": "query", + "repeated": true, + "type": "string" + }, "callbackUrl": { "description": "The callback URL that the admin will be redirected to after successfully creating an enterprise. Before redirecting there the system will add a query parameter to this URL named enterpriseToken which will contain an opaque token to be used for the create enterprise request. The URL will be parsed then reformatted in order to add the enterpriseToken parameter, so there may be some minor formatting changes.", "location": "query", @@ -3153,7 +3187,8 @@ "COMPLIANCE_REPORT", "STATUS_REPORT", "COMMAND", - "USAGE_LOGS" + "USAGE_LOGS", + "ENTERPRISE_UPGRADE" ], "enumDeprecated": [ false, @@ -3161,6 +3196,7 @@ true, false, false, + false, false ], "enumDescriptions": [ @@ -3169,7 +3205,8 @@ "Deprecated.", "A notification sent when a device issues a status report.", "A notification sent when a device command has completed.", - "A notification sent when device sends BatchUsageLogEvents." + "A notification sent when device sends BatchUsageLogEvents.", + "A notification sent when an enterprise is upgraded.Note: This feature is not generally available." ], "type": "string" }, @@ -3179,6 +3216,21 @@ "description": "The name of the enterprise displayed to users. This field has a maximum length of 100 characters.", "type": "string" }, + "enterpriseType": { + "description": "Output only. The type of the enterprise.", + "enum": [ + "ENTERPRISE_TYPE_UNSPECIFIED", + "MANAGED_GOOGLE_DOMAIN", + "MANAGED_GOOGLE_PLAY_ACCOUNTS_ENTERPRISE" + ], + "enumDescriptions": [ + "This value is not used.", + "The enterprise belongs to a managed Google domain (https://developers.google.com/android/work/terminology#managed_google_domain).", + "The enterprise is a managed Google Play Accounts enterprise (https://developers.google.com/android/work/terminology#managed_google_play_accounts_enterprise)." + ], + "readOnly": true, + "type": "string" + }, "googleAuthenticationSettings": { "$ref": "GoogleAuthenticationSettings", "description": "Settings for Google-provided user authentication." @@ -3187,6 +3239,36 @@ "$ref": "ExternalData", "description": "An image displayed as a logo during device provisioning. Supported types are: image/bmp, image/gif, image/x-ico, image/jpeg, image/png, image/webp, image/vnd.wap.wbmp, image/x-adobe-dng." }, + "managedGoogleDomainType": { + "description": "Output only. The type of managed Google domain.", + "enum": [ + "MANAGED_GOOGLE_DOMAIN_TYPE_UNSPECIFIED", + "TYPE_TEAM", + "TYPE_DOMAIN" + ], + "enumDescriptions": [ + "The managed Google domain type is not specified.", + "The managed Google domain is an email-verified team.", + "The managed Google domain is domain-verified." + ], + "readOnly": true, + "type": "string" + }, + "managedGooglePlayAccountsEnterpriseType": { + "description": "Output only. The type of a managed Google Play Accounts enterprise.", + "enum": [ + "MANAGED_GOOGLE_PLAY_ACCOUNTS_ENTERPRISE_TYPE_UNSPECIFIED", + "CUSTOMER_MANAGED", + "EMM_MANAGED" + ], + "enumDescriptions": [ + "The managed Google Play Accounts enterprise type is not specified.", + "The enterprise is customer-managed", + "The enterprise is EMM-managed (deprecated)." + ], + "readOnly": true, + "type": "string" + }, "name": { "description": "The name of the enterprise which is generated by the server during creation, in the form enterprises/{enterpriseId}.", "type": "string" @@ -3278,11 +3360,40 @@ "properties": { "endDate": { "$ref": "Date", - "description": "The end date (inclusive) of the freeze period. Must be no later than 90 days from the start date. If the end date is earlier than the start date, the freeze period is considered wrapping year-end. Note: year must not be set. For example, {\"month\": 1,\"date\": 30}." + "description": "The end date (inclusive) of the freeze period. Must be no later than 90 days from the start date. If the end date is earlier than the start date, the freeze period is considered wrapping year-end. Note: day and month must be set. year should not be set as it is not used. For example, {\"month\": 1,\"date\": 30}." }, "startDate": { "$ref": "Date", - "description": "The start date (inclusive) of the freeze period. Note: year must not be set. For example, {\"month\": 1,\"date\": 30}." + "description": "The start date (inclusive) of the freeze period. Note: day and month must be set. year should not be set as it is not used. For example, {\"month\": 1,\"date\": 30}." + } + }, + "type": "object" + }, + "GenerateEnterpriseUpgradeUrlRequest": { + "description": "Request message for generating a URL to upgrade an existing managed Google Play Accounts enterprise to a managed Google domain.Note: This feature is not generally available.", + "id": "GenerateEnterpriseUpgradeUrlRequest", + "properties": { + "adminEmail": { + "description": "Optional. Email address used to prefill the admin field of the enterprise signup form as part of the upgrade process. This value is a hint only and can be altered by the user. Personal email addresses are not allowed. If allowedDomains is non-empty then this must belong to one of the allowedDomains.", + "type": "string" + }, + "allowedDomains": { + "description": "Optional. A list of domains that are permitted for the admin email. The IT admin cannot enter an email address with a domain name that is not in this list. Subdomains of domains in this list are not allowed but can be allowed by adding a second entry which has *. prefixed to the domain name (e.g. *.example.com). If the field is not present or is an empty list then the IT admin is free to use any valid domain name. Personal email domains are not allowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GenerateEnterpriseUpgradeUrlResponse": { + "description": "Response message for generating a URL to upgrade an existing managed Google Play Accounts enterprise to a managed Google domain.Note: This feature is not generally available.", + "id": "GenerateEnterpriseUpgradeUrlResponse", + "properties": { + "url": { + "description": "A URL for an enterprise admin to upgrade their enterprise. The page can't be rendered in an iframe.", + "type": "string" } }, "type": "object" @@ -4854,7 +4965,7 @@ "type": "boolean" }, "adjustVolumeDisabled": { - "description": "Whether adjusting the master volume is disabled. Also mutes the device.", + "description": "Whether adjusting the master volume is disabled. Also mutes the device. The setting has effect only on fully managed devices.", "type": "boolean" }, "advancedSecurityOverrides": { @@ -5375,7 +5486,7 @@ "type": "boolean" }, "setUserIconDisabled": { - "description": "Whether changing the user icon is disabled.", + "description": "Whether changing the user icon is disabled. The setting has effect only on fully managed devices.", "type": "boolean" }, "setWallpaperDisabled": { diff --git a/discovery/googleapis/androidpublisher__v3.json b/discovery/googleapis/androidpublisher__v3.json index 1f9e1fef4..4075a1c72 100644 --- a/discovery/googleapis/androidpublisher__v3.json +++ b/discovery/googleapis/androidpublisher__v3.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241217", + "revision": "20250227", "rootUrl": "https://androidpublisher.googleapis.com/", "servicePath": "", "title": "Google Play Android Developer API", @@ -5707,6 +5707,10 @@ }, "description": "Map from region code to converted region price.", "type": "object" + }, + "regionVersion": { + "$ref": "RegionsVersion", + "description": "The region version at which the prices were generated." } }, "type": "object" @@ -7584,7 +7588,7 @@ "type": "object" }, "OfferTag": { - "description": "Represents a custom tag specified for base plans and subscription offers.", + "description": "Represents a custom tag specified for a product offer.", "id": "OfferTag", "properties": { "tag": { diff --git a/discovery/googleapis/apigee__v1.json b/discovery/googleapis/apigee__v1.json index 65a5d2e10..7db6efb21 100644 --- a/discovery/googleapis/apigee__v1.json +++ b/discovery/googleapis/apigee__v1.json @@ -37,7 +37,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241213", + "revision": "20250306", "rootUrl": "https://apigee.googleapis.com/", "servicePath": "", "title": "Apigee API", @@ -774,7 +774,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the API product. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}`", + "description": "Required. Name of the API product. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}` If the API Product resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apiproducts/[^/]+$", "required": true, @@ -802,7 +802,7 @@ ], "parameters": { "parent": { - "description": "Required. Name of the organization in which the API product will be created. Use the following structure in your request: `organizations/{org}`", + "description": "Required. Name of the organization in which the API product will be created. Use the following structure in your request: `organizations/{org}` If the resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -830,7 +830,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the API product. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}`", + "description": "Required. Name of the API product. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}` If the resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apiproducts/[^/]+$", "required": true, @@ -855,7 +855,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the API product. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}`", + "description": "Required. Name of the API product. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}` If the resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apiproducts/[^/]+$", "required": true, @@ -871,7 +871,7 @@ ] }, "list": { - "description": "Lists all API product names for an organization. Filter the list by passing an `attributename` and `attibutevalue`. The maximum number of API products returned is 1000. You can paginate the list of API products returned using the `startKey` and `count` query parameters.", + "description": "Lists all API product names for an organization. Filter the list by passing an `attributename` and `attibutevalue`. The maximum number of API products returned is 1000. You can paginate the list of API products returned using the `startKey` and `count` query parameters. If the resource has the `space` attribute set, the response may not return all resources. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "flatPath": "v1/organizations/{organizationsId}/apiproducts", "httpMethod": "GET", "id": "apigee.organizations.apiproducts.list", @@ -901,12 +901,17 @@ "type": "boolean" }, "parent": { - "description": "Required. Name of the organization. Use the following structure in your request: `organizations/{org}`", + "description": "Required. Name of the organization. Use the following structure in your request: `organizations/{org}` If the resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, "type": "string" }, + "space": { + "description": "Optional. The Space to list API products for. When none provided, all the spaces the user has list access, will be used implicitly, and the same following rules will apply. Can be used in conjunction with start_key, expand and count for paginated response. Composite queries with attributename and attributevalue are not supported yet.", + "location": "query", + "type": "string" + }, "startKey": { "description": "Gets a list of API products starting with a specific API product in the list. For example, if you're returning 50 API products at a time (using the `count` query parameter), you can view products 50-99 by entering the name of the 50th API product in the first API (without using `startKey`). Product name is case sensitive.", "location": "query", @@ -921,6 +926,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "move": { + "description": "Moves an API product to a different space.", + "flatPath": "v1/organizations/{organizationsId}/apiproducts/{apiproductsId}:move", + "httpMethod": "POST", + "id": "apigee.organizations.apiproducts.move", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. API product to move in the following format: `organizations/{org}/apiproducts/{apiproduct}", + "location": "path", + "pattern": "^organizations/[^/]+/apiproducts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:move", + "request": { + "$ref": "GoogleCloudApigeeV1MoveApiProductRequest" + }, + "response": { + "$ref": "GoogleCloudApigeeV1ApiProduct" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "update": { "description": "Updates an existing API product. You must include all required values, whether or not you are updating them, as well as any optional values that you are updating. The API product name required in the request URL is the internal name of the product, not the display name. While they may be the same, it depends on whether the API product was created via UI or API. View the list of API products to identify their internal names.", "flatPath": "v1/organizations/{organizationsId}/apiproducts/{apiproductsId}", @@ -931,7 +964,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the API product. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}`", + "description": "Required. Name of the API product. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}` If the resource has the `space` attribute set, IAM permissions are checked against the Space resource path.To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apiproducts/[^/]+$", "required": true, @@ -963,7 +996,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the API product attribute. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}/attributes/{attribute}`", + "description": "Required. Name of the API product attribute. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}/attributes/{attribute}` If the API Product resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apiproducts/[^/]+/attributes/[^/]+$", "required": true, @@ -988,7 +1021,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the API product attribute. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}/attributes/{attribute}`", + "description": "Required. Name of the API product attribute. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}/attributes/{attribute}` If the API Product resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apiproducts/[^/]+/attributes/[^/]+$", "required": true, @@ -1013,7 +1046,7 @@ ], "parameters": { "parent": { - "description": "Required. Name of the API product. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}`", + "description": "Required. Name of the API product. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}` If the API Product resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apiproducts/[^/]+$", "required": true, @@ -1038,7 +1071,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the API product. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}`", + "description": "Required. Name of the API product. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}` If the API Product resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apiproducts/[^/]+/attributes/[^/]+$", "required": true, @@ -1070,7 +1103,7 @@ ], "parameters": { "parent": { - "description": "Required. Name of the API product that is associated with the rate plan. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}`", + "description": "Required. Name of the API product that is associated with the rate plan. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}` If the API Product resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apiproducts/[^/]+$", "required": true, @@ -1098,7 +1131,7 @@ ], "parameters": { "name": { - "description": "Required. ID of the rate plan. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}/rateplans/{rateplan}`", + "description": "Required. ID of the rate plan. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}/rateplans/{rateplan}` If the API Product resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apiproducts/[^/]+/rateplans/[^/]+$", "required": true, @@ -1123,7 +1156,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the rate plan. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}/rateplans/{rateplan}`", + "description": "Required. Name of the rate plan. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}/rateplans/{rateplan}` If the API Product resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apiproducts/[^/]+/rateplans/[^/]+$", "required": true, @@ -1164,7 +1197,7 @@ "type": "string" }, "parent": { - "description": "Required. Name of the API product. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}` Use `organizations/{org}/apiproducts/-` to return rate plans for all API products within the organization.", + "description": "Required. Name of the API product. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}` Use `organizations/{org}/apiproducts/-` to return rate plans for all API products within the organization. If the API Product resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apiproducts/[^/]+$", "required": true, @@ -1209,7 +1242,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the rate plan. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}/rateplans/{rateplan}`", + "description": "Required. Name of the rate plan. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}/rateplans/{rateplan}` If the API Product resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apiproducts/[^/]+/rateplans/[^/]+$", "required": true, @@ -1253,12 +1286,17 @@ "type": "string" }, "parent": { - "description": "Required. Name of the organization in the following format: `organizations/{org}`", + "description": "Required. Name of the organization in the following format: `organizations/{org}` If the API Proxy resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, "type": "string" }, + "space": { + "description": "Optional. The ID of the space associated with this proxy. Any IAM policies applied to the space will affect access to this proxy. Note that this field is only respected when creating a new proxy. It has no effect when creating a new revision for an existing proxy.", + "location": "query", + "type": "string" + }, "validate": { "description": "Ignored. All uploads are validated regardless of the value of this field. Maintained for compatibility with Apigee Edge API.", "location": "query", @@ -1286,7 +1324,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the API proxy in the following format: `organizations/{org}/apis/{api}`", + "description": "Required. Name of the API proxy in the following format: `organizations/{org}/apis/{api}` If the API Proxy resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apis/[^/]+$", "required": true, @@ -1311,7 +1349,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the API proxy in the following format: `organizations/{org}/apis/{api}`", + "description": "Required. Name of the API proxy in the following format: `organizations/{org}/apis/{api}` If the API Proxy resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apis/[^/]+$", "required": true, @@ -1327,7 +1365,7 @@ ] }, "list": { - "description": "Lists the names of all API proxies in an organization. The names returned correspond to the names defined in the configuration files for each API proxy.", + "description": "Lists the names of all API proxies in an organization. The names returned correspond to the names defined in the configuration files for each API proxy. If the resource has the `space` attribute set, the response may not return all resources. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "flatPath": "v1/organizations/{organizationsId}/apis", "httpMethod": "GET", "id": "apigee.organizations.apis.list", @@ -1346,11 +1384,16 @@ "type": "boolean" }, "parent": { - "description": "Required. Name of the organization in the following format: `organizations/{org}`", + "description": "Required. Name of the organization in the following format: `organizations/{org}` If the resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, "type": "string" + }, + "space": { + "description": "Optional. The space ID to filter the list of proxies (optional). If unspecified, all proxies in the organization will be listed.", + "location": "query", + "type": "string" } }, "path": "v1/{+parent}/apis", @@ -1361,6 +1404,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "move": { + "description": "Moves an API proxy to a different space.", + "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}:move", + "httpMethod": "POST", + "id": "apigee.organizations.apis.move", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. API proxy to move in the following format: `organizations/{org}/apis/{api}`", + "location": "path", + "pattern": "^organizations/[^/]+/apis/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:move", + "request": { + "$ref": "GoogleCloudApigeeV1MoveApiProxyRequest" + }, + "response": { + "$ref": "GoogleCloudApigeeV1ApiProxy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "patch": { "description": "Updates an existing API proxy.", "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}", @@ -1371,7 +1442,7 @@ ], "parameters": { "name": { - "description": "Required. API proxy to update in the following format: `organizations/{org}/apis/{api}`", + "description": "Required. API proxy to update in the following format: `organizations/{org}/apis/{api}` If the resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apis/[^/]+$", "required": true, @@ -1397,6 +1468,46 @@ } }, "resources": { + "debugsessions": { + "methods": { + "list": { + "description": "Lists debug sessions that are currently active in the given API Proxy.", + "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}/debugsessions", + "httpMethod": "GET", + "id": "apigee.organizations.apis.debugsessions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Maximum number of debug sessions to return. The page size defaults to 25.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. Page token, returned from a previous ListApiDebugSessions call, that you can use to retrieve the next page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the API Proxy for which to list debug sessions. Must be of the form: `organizations/{organization}/apis/{api}`.", + "location": "path", + "pattern": "^organizations/[^/]+/apis/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/debugsessions", + "response": { + "$ref": "GoogleCloudApigeeV1ListApiDebugSessionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "deployments": { "methods": { "list": { @@ -1409,7 +1520,7 @@ ], "parameters": { "parent": { - "description": "Required. Name of the API proxy for which to return deployment information in the following format: `organizations/{org}/apis/{api}`", + "description": "Required. Name of the API proxy for which to return deployment information in the following format: `organizations/{org}/apis/{api}` If the API proxy resource has the `space` attribute set, IAM permissions are checked differently . To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apis/[^/]+$", "required": true, @@ -1438,7 +1549,7 @@ ], "parameters": { "parent": { - "description": "Required. Name of the environment in which to create the key value map. Use the following structure in your request: `organizations/{org}/apis/{api}`", + "description": "Required. Name of the environment in which to create the key value map. Use the following structure in your request: `organizations/{org}/apis/{api}` If the API Proxy resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apis/[^/]+$", "required": true, @@ -1466,7 +1577,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the key value map. Use the following structure in your request: `organizations/{org}/apis/{api}/keyvaluemaps/{keyvaluemap}`", + "description": "Required. Name of the key value map. Use the following structure in your request: `organizations/{org}/apis/{api}/keyvaluemaps/{keyvaluemap}` If the API Proxy resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apis/[^/]+/keyvaluemaps/[^/]+$", "required": true, @@ -1495,7 +1606,7 @@ ], "parameters": { "parent": { - "description": "Required. Scope as indicated by the URI in which to create the key value map entry. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`.", + "description": "Required. Scope as indicated by the URI in which to create the key value map entry. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. If the KeyValueMap is under an API Proxy resource that has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apis/[^/]+/keyvaluemaps/[^/]+$", "required": true, @@ -1523,7 +1634,7 @@ ], "parameters": { "name": { - "description": "Required. Scope as indicated by the URI in which to delete the key value map entry. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}/entries/{entry}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}/entries/{entry}`.", + "description": "Required. Scope as indicated by the URI in which to delete the key value map entry. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}/entries/{entry}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. If the KeyValueMap is under an API Proxy resource that has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apis/[^/]+/keyvaluemaps/[^/]+/entries/[^/]+$", "required": true, @@ -1548,7 +1659,7 @@ ], "parameters": { "name": { - "description": "Required. Scope as indicated by the URI in which to fetch the key value map entry/value. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}/entries/{entry}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}/entries/{entry}`.", + "description": "Required. Scope as indicated by the URI in which to fetch the key value map entry/value. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}/entries/{entry}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. If the KeyValueMap is under an API Proxy resource that has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apis/[^/]+/keyvaluemaps/[^/]+/entries/[^/]+$", "required": true, @@ -1584,7 +1695,7 @@ "type": "string" }, "parent": { - "description": "Required. Scope as indicated by the URI in which to list key value maps. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`.", + "description": "Required. Scope as indicated by the URI in which to list key value maps. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. If the KeyValueMap is under an API Proxy resource that has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apis/[^/]+/keyvaluemaps/[^/]+$", "required": true, @@ -1609,7 +1720,7 @@ ], "parameters": { "name": { - "description": "Required. Scope as indicated by the URI in which to create the key value map entry. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`.", + "description": "Required. Scope as indicated by the URI in which to create the key value map entry. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. If the KeyValueMap is under an API Proxy resource that has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apis/[^/]+/keyvaluemaps/[^/]+/entries/[^/]+$", "required": true, @@ -1643,7 +1754,7 @@ ], "parameters": { "name": { - "description": "Required. API proxy revision in the following format: `organizations/{org}/apis/{api}/revisions/{rev}`", + "description": "Required. API proxy revision in the following format: `organizations/{org}/apis/{api}/revisions/{rev}` If the API Proxy resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apis/[^/]+/revisions/[^/]+$", "required": true, @@ -1673,7 +1784,7 @@ "type": "string" }, "name": { - "description": "Required. API proxy revision in the following format: `organizations/{org}/apis/{api}/revisions/{rev}`", + "description": "Required. API proxy revision in the following format: `organizations/{org}/apis/{api}/revisions/{rev}` If the API Proxy resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apis/[^/]+/revisions/[^/]+$", "required": true, @@ -1698,7 +1809,7 @@ ], "parameters": { "name": { - "description": "Required. API proxy revision to update in the following format: `organizations/{org}/apis/{api}/revisions/{rev}`", + "description": "Required. API proxy revision to update in the following format: `organizations/{org}/apis/{api}/revisions/{rev}` If the API Proxy resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apis/[^/]+/revisions/[^/]+$", "required": true, @@ -1735,7 +1846,7 @@ ], "parameters": { "parent": { - "description": "Required. Name of the API proxy revision for which to return deployment information in the following format: `organizations/{org}/apis/{api}/revisions/{rev}`.", + "description": "Required. Name of the API proxy revision for which to return deployment information in the following format: `organizations/{org}/apis/{api}/revisions/{rev}`. If the API proxy resource has the `space` attribute set, IAM permissions are checked differently . To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/apis/[^/]+/revisions/[^/]+$", "required": true, @@ -1787,7 +1898,7 @@ ] }, "delete": { - "description": "Deletes an AppGroup. All app and API keys associations with the AppGroup are also removed. **Warning**: This API will permanently delete the AppGroup and related artifacts. **Note**: The delete operation is asynchronous. The AppGroup app is deleted immediately, but its associated resources, such as apps and API keys, may take anywhere from a few seconds to a few minutes to be deleted.", + "description": "Deletes an AppGroup. All app and API keys associations with the AppGroup are also removed. **Warning**: This API will permanently delete the AppGroup and related artifacts. **Note**: The delete operation is asynchronous. The AppGroup is deleted immediately, but its associated resources, such as apps and API keys, may take anywhere from a few seconds to a few minutes to be deleted.", "flatPath": "v1/organizations/{organizationsId}/appgroups/{appgroupsId}", "httpMethod": "DELETE", "id": "apigee.organizations.appgroups.delete", @@ -2604,7 +2715,7 @@ ] }, "delete": { - "description": "Deletes a developer. All apps and API keys associated with the developer are also removed. **Warning**: This API will permanently delete the developer and related artifacts. To avoid permanently deleting developers and their artifacts, set the developer status to `inactive` using the SetDeveloperStatus API. **Note**: The delete operation is asynchronous. The developer app is deleted immediately, but its associated resources, such as apps and API keys, may take anywhere from a few seconds to a few minutes to be deleted.", + "description": "Deletes a developer. All apps and API keys associated with the developer are also removed. **Warning**: This API will permanently delete the developer and related artifacts. To avoid permanently deleting developers and their artifacts, set the developer status to `inactive` using the SetDeveloperStatus API. **Note**: The delete operation is asynchronous. The developer is deleted immediately, but its associated resources, such as apps and API keys, may take anywhere from a few seconds to a few minutes to be deleted.", "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}", "httpMethod": "DELETE", "id": "apigee.organizations.developers.delete", @@ -4899,7 +5010,7 @@ ], "parameters": { "parent": { - "description": "Required. Name representing an API proxy in an environment in the following format: `organizations/{org}/environments/{env}/apis/{api}`", + "description": "Required. Name representing an API proxy in an environment in the following format: `organizations/{org}/environments/{env}/apis/{api}` If the API proxy resource has the `space` attribute set, IAM permissions are checked differently . To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+$", "required": true, @@ -4919,7 +5030,7 @@ "revisions": { "methods": { "deploy": { - "description": "Deploys a revision of an API proxy. If another revision of the same API proxy revision is currently deployed, set the `override` parameter to `true` to have this revision replace the currently deployed revision. You cannot invoke an API proxy until it has been deployed to an environment. After you deploy an API proxy revision, you cannot edit it. To edit the API proxy, you must create and deploy a new revision. For a request path `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}/deployments`, two permissions are required: * `apigee.deployments.create` on the resource `organizations/{org}/environments/{env}` * `apigee.proxyrevisions.deploy` on the resource `organizations/{org}/apis/{api}/revisions/{rev}` ", + "description": "Deploys a revision of an API proxy. If another revision of the same API proxy revision is currently deployed, set the `override` parameter to `true` to have this revision replace the currently deployed revision. You cannot invoke an API proxy until it has been deployed to an environment. After you deploy an API proxy revision, you cannot edit it. To edit the API proxy, you must create and deploy a new revision. For a request path `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}/deployments`, two permissions are required: * `apigee.deployments.create` on the resource `organizations/{org}/environments/{env}` * `apigee.proxyrevisions.deploy` on the resource `organizations/{org}/apis/{api}/revisions/{rev}` All successful API proxy deployments to Apigee are [zero-downtime deployments](https://cloud.google.com/apigee/docs/api-platform/deploy/ui-deploy-overview#zero-downtime-deployment). Apigee hybrid validates the dependencies between shared flows and API proxies at deployment time. For example, if the Flow Callout policy in an API proxy references a shared flow that either doesn't exist or isn't deployed, the API proxy deployment fails.", "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/deployments", "httpMethod": "POST", "id": "apigee.organizations.environments.apis.revisions.deploy", @@ -4928,7 +5039,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the API proxy revision deployment in the following format: `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}`", + "description": "Required. Name of the API proxy revision deployment in the following format: `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}` If the API proxy resource being deployed has the `space` attribute set, IAM permissions are checked differently . To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+/revisions/[^/]+$", "required": true, @@ -4968,7 +5079,7 @@ ], "parameters": { "name": { - "description": "Required. Name representing an API proxy revision in an environment in the following format: `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}`", + "description": "Required. Name representing an API proxy revision in an environment in the following format: `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}` If the API proxy resource has the `space` attribute set, IAM permissions are checked differently . To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+/revisions/[^/]+$", "required": true, @@ -4993,7 +5104,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the API proxy revision deployment in the following format: `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}`", + "description": "Required. Name of the API proxy revision deployment in the following format: `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}` If the API proxy resource has the `space` attribute set, IAM permissions are checked differently . To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+/revisions/[^/]+$", "required": true, @@ -5027,7 +5138,7 @@ ], "parameters": { "parent": { - "description": "Required. The resource name of the API Proxy revision deployment for which to create the DebugSession. Must be of the form `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}`.", + "description": "Required. The resource name of the API Proxy revision deployment for which to create the DebugSession. Must be of the form `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}`. If the API proxy resource has the `space` attribute set, IAM permissions are checked differently . To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+/revisions/[^/]+$", "required": true, @@ -5061,7 +5172,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the debug session to delete. Must be of the form: `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}/debugsessions/{debugsession}`.", + "description": "Required. The name of the debug session to delete. Must be of the form: `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}/debugsessions/{debugsession}`. If the API proxy resource has the `space` attribute set, IAM permissions are checked differently . To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+/revisions/[^/]+/debugsessions/[^/]+$", "required": true, @@ -5086,7 +5197,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the debug session to retrieve. Must be of the form: `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}/debugsessions/{session}`.", + "description": "Required. The name of the debug session to retrieve. Must be of the form: `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}/debugsessions/{session}`. If the API proxy resource has the `space` attribute set, IAM permissions are checked differently . To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+/revisions/[^/]+/debugsessions/[^/]+$", "required": true, @@ -5122,7 +5233,7 @@ "type": "string" }, "parent": { - "description": "Required. The name of the API Proxy revision deployment for which to list debug sessions. Must be of the form: `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}`.", + "description": "Required. The name of the API Proxy revision deployment for which to list debug sessions. Must be of the form: `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}`. If the API proxy resource has the `space` attribute set, IAM permissions are checked differently . To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+/revisions/[^/]+$", "required": true, @@ -5151,7 +5262,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the debug session transaction. Must be of the form: `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}/debugsessions/{session}/data/{transaction}`.", + "description": "Required. The name of the debug session transaction. Must be of the form: `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}/debugsessions/{session}/data/{transaction}`. If the API proxy resource has the `space` attribute set, IAM permissions are checked differently . To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+/revisions/[^/]+/debugsessions/[^/]+/data/[^/]+$", "required": true, @@ -5182,7 +5293,7 @@ ], "parameters": { "name": { - "description": "Name of the API proxy revision deployment in the following format: `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}`", + "description": "Name of the API proxy revision deployment in the following format: `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}` If the API proxy resource has the `space` attribute set, IAM permissions are checked differently . To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+/revisions/[^/]+$", "required": true, @@ -6056,7 +6167,7 @@ ], "parameters": { "parent": { - "description": "Required. Scope as indicated by the URI in which to create the key value map entry. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`.", + "description": "Required. Scope as indicated by the URI in which to create the key value map entry. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. If the KeyValueMap is under an API Proxy resource that has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/environments/[^/]+/keyvaluemaps/[^/]+$", "required": true, @@ -6084,7 +6195,7 @@ ], "parameters": { "name": { - "description": "Required. Scope as indicated by the URI in which to delete the key value map entry. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}/entries/{entry}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}/entries/{entry}`.", + "description": "Required. Scope as indicated by the URI in which to delete the key value map entry. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}/entries/{entry}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. If the KeyValueMap is under an API Proxy resource that has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/environments/[^/]+/keyvaluemaps/[^/]+/entries/[^/]+$", "required": true, @@ -6109,7 +6220,7 @@ ], "parameters": { "name": { - "description": "Required. Scope as indicated by the URI in which to fetch the key value map entry/value. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}/entries/{entry}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}/entries/{entry}`.", + "description": "Required. Scope as indicated by the URI in which to fetch the key value map entry/value. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}/entries/{entry}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. If the KeyValueMap is under an API Proxy resource that has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/environments/[^/]+/keyvaluemaps/[^/]+/entries/[^/]+$", "required": true, @@ -6145,7 +6256,7 @@ "type": "string" }, "parent": { - "description": "Required. Scope as indicated by the URI in which to list key value maps. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`.", + "description": "Required. Scope as indicated by the URI in which to list key value maps. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. If the KeyValueMap is under an API Proxy resource that has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/environments/[^/]+/keyvaluemaps/[^/]+$", "required": true, @@ -6170,7 +6281,7 @@ ], "parameters": { "name": { - "description": "Required. Scope as indicated by the URI in which to create the key value map entry. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`.", + "description": "Required. Scope as indicated by the URI in which to create the key value map entry. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. If the KeyValueMap is under an API Proxy resource that has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/environments/[^/]+/keyvaluemaps/[^/]+/entries/[^/]+$", "required": true, @@ -7325,7 +7436,7 @@ ], "parameters": { "parent": { - "description": "Required. Name representing a shared flow in an environment in the following format: `organizations/{org}/environments/{env}/sharedflows/{sharedflow}`", + "description": "Required. Name representing a shared flow in an environment in the following format: `organizations/{org}/environments/{env}/sharedflows/{sharedflow}` If the shared flow resource has the `space` attribute set, IAM permissions are checked differently . To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/environments/[^/]+/sharedflows/[^/]+$", "required": true, @@ -7354,7 +7465,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the shared flow revision to deploy in the following format: `organizations/{org}/environments/{env}/sharedflows/{sharedflow}/revisions/{rev}`", + "description": "Required. Name of the shared flow revision to deploy in the following format: `organizations/{org}/environments/{env}/sharedflows/{sharedflow}/revisions/{rev}` If the shared flow resource being deployed has the `space` attribute set, IAM permissions are checked differently . To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/environments/[^/]+/sharedflows/[^/]+/revisions/[^/]+$", "required": true, @@ -7389,7 +7500,7 @@ ], "parameters": { "name": { - "description": "Required. Name representing a shared flow in an environment in the following format: `organizations/{org}/environments/{env}/sharedflows/{sharedflow}/revisions/{rev}`", + "description": "Required. Name representing a shared flow in an environment in the following format: `organizations/{org}/environments/{env}/sharedflows/{sharedflow}/revisions/{rev}` If the shared flow resource has the `space` attribute set, IAM permissions are checked differently . To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/environments/[^/]+/sharedflows/[^/]+/revisions/[^/]+$", "required": true, @@ -7414,7 +7525,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the shared flow revision to undeploy in the following format: `organizations/{org}/environments/{env}/sharedflows/{sharedflow}/revisions/{rev}`", + "description": "Required. Name of the shared flow revision to undeploy in the following format: `organizations/{org}/environments/{env}/sharedflows/{sharedflow}/revisions/{rev}` If the shared flow resource has the `space` attribute set, IAM permissions are checked differently . To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/environments/[^/]+/sharedflows/[^/]+/revisions/[^/]+$", "required": true, @@ -8821,7 +8932,7 @@ ], "parameters": { "parent": { - "description": "Required. Scope as indicated by the URI in which to create the key value map entry. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`.", + "description": "Required. Scope as indicated by the URI in which to create the key value map entry. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. If the KeyValueMap is under an API Proxy resource that has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/keyvaluemaps/[^/]+$", "required": true, @@ -8849,7 +8960,7 @@ ], "parameters": { "name": { - "description": "Required. Scope as indicated by the URI in which to delete the key value map entry. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}/entries/{entry}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}/entries/{entry}`.", + "description": "Required. Scope as indicated by the URI in which to delete the key value map entry. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}/entries/{entry}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. If the KeyValueMap is under an API Proxy resource that has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/keyvaluemaps/[^/]+/entries/[^/]+$", "required": true, @@ -8874,7 +8985,7 @@ ], "parameters": { "name": { - "description": "Required. Scope as indicated by the URI in which to fetch the key value map entry/value. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}/entries/{entry}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}/entries/{entry}`.", + "description": "Required. Scope as indicated by the URI in which to fetch the key value map entry/value. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}/entries/{entry}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. If the KeyValueMap is under an API Proxy resource that has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/keyvaluemaps/[^/]+/entries/[^/]+$", "required": true, @@ -8910,7 +9021,7 @@ "type": "string" }, "parent": { - "description": "Required. Scope as indicated by the URI in which to list key value maps. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`.", + "description": "Required. Scope as indicated by the URI in which to list key value maps. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. If the KeyValueMap is under an API Proxy resource that has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/keyvaluemaps/[^/]+$", "required": true, @@ -8935,7 +9046,7 @@ ], "parameters": { "name": { - "description": "Required. Scope as indicated by the URI in which to create the key value map entry. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`.", + "description": "Required. Scope as indicated by the URI in which to create the key value map entry. Use **one** of the following structures in your request: * `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. If the KeyValueMap is under an API Proxy resource that has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/keyvaluemaps/[^/]+/entries/[^/]+$", "required": true, @@ -9757,11 +9868,16 @@ "type": "string" }, "parent": { - "description": "Required. The name of the parent organization under which to create the shared flow. Must be of the form: `organizations/{organization_id}`", + "description": "Required. The name of the parent organization under which to create the shared flow. Must be of the form: `organizations/{organization_id}` If the resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, "type": "string" + }, + "space": { + "description": "Optional. The ID of the space to associated with this shared flow. Any IAM policies applied to the space will affect access to this shared flow. Note that this field is only respected when creating a new shared flow. It has no effect when creating a new revision for an existing shared flow.", + "location": "query", + "type": "string" } }, "path": "v1/{+parent}/sharedflows", @@ -9785,7 +9901,7 @@ ], "parameters": { "name": { - "description": "Required. shared flow name of the form: `organizations/{organization_id}/sharedflows/{shared_flow_id}`", + "description": "Required. shared flow name of the form: `organizations/{organization_id}/sharedflows/{shared_flow_id}` If the resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/sharedflows/[^/]+$", "required": true, @@ -9810,7 +9926,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the shared flow to get. Must be of the form: `organizations/{organization_id}/sharedflows/{shared_flow_id}`", + "description": "Required. The name of the shared flow to get. Must be of the form: `organizations/{organization_id}/sharedflows/{shared_flow_id}` If the resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/sharedflows/[^/]+$", "required": true, @@ -9826,7 +9942,7 @@ ] }, "list": { - "description": "Lists all shared flows in the organization.", + "description": "Lists all shared flows in the organization. If the resource has the `space` attribute set, the response may not return all resources. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "flatPath": "v1/organizations/{organizationsId}/sharedflows", "httpMethod": "GET", "id": "apigee.organizations.sharedflows.list", @@ -9845,11 +9961,16 @@ "type": "boolean" }, "parent": { - "description": "Required. The name of the parent organization under which to get shared flows. Must be of the form: `organizations/{organization_id}`", + "description": "Required. The name of the parent organization under which to get shared flows. Must be of the form: `organizations/{organization_id}` If the resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, "type": "string" + }, + "space": { + "description": "Optional. The space ID used to filter the list of shared flows (optional). If unspecified, all shared flows in the organization will be listed. To learn how Spaces can be used to manage resources, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", + "location": "query", + "type": "string" } }, "path": "v1/{+parent}/sharedflows", @@ -9859,6 +9980,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "move": { + "description": "Moves an shared flow to a different space.", + "flatPath": "v1/organizations/{organizationsId}/sharedflows/{sharedflowsId}:move", + "httpMethod": "POST", + "id": "apigee.organizations.sharedflows.move", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Shared Flow to move in the following format: `organizations/{org}/sharedflows/{shared_flow}`", + "location": "path", + "pattern": "^organizations/[^/]+/sharedflows/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:move", + "request": { + "$ref": "GoogleCloudApigeeV1MoveSharedFlowRequest" + }, + "response": { + "$ref": "GoogleCloudApigeeV1SharedFlow" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { @@ -9874,7 +10023,7 @@ ], "parameters": { "parent": { - "description": "Required. Name of the shared flow for which to return deployment information in the following format: `organizations/{org}/sharedflows/{sharedflow}`", + "description": "Required. Name of the shared flow for which to return deployment information in the following format: `organizations/{org}/sharedflows/{sharedflow}` If the shared flow resource has the `space` attribute set, IAM permissions are checked differently . To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/sharedflows/[^/]+$", "required": true, @@ -9903,7 +10052,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the shared flow revision to delete. Must be of the form: `organizations/{organization_id}/sharedflows/{shared_flow_id}/revisions/{revision_id}`", + "description": "Required. The name of the shared flow revision to delete. Must be of the form: `organizations/{organization_id}/sharedflows/{shared_flow_id}/revisions/{revision_id}` If the Shared Flow resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/sharedflows/[^/]+/revisions/[^/]+$", "required": true, @@ -9933,7 +10082,7 @@ "type": "string" }, "name": { - "description": "Required. The name of the shared flow revision to get. Must be of the form: `organizations/{organization_id}/sharedflows/{shared_flow_id}/revisions/{revision_id}`", + "description": "Required. The name of the shared flow revision to get. Must be of the form: `organizations/{organization_id}/sharedflows/{shared_flow_id}/revisions/{revision_id}` If the Shared Flow resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/sharedflows/[^/]+/revisions/[^/]+$", "required": true, @@ -9958,7 +10107,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the shared flow revision to update. Must be of the form: `organizations/{organization_id}/sharedflows/{shared_flow_id}/revisions/{revision_id}`", + "description": "Required. The name of the shared flow revision to update. Must be of the form: `organizations/{organization_id}/sharedflows/{shared_flow_id}/revisions/{revision_id}` If the resource has the `space` attribute set, IAM permissions are checked against the Space resource path. To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/sharedflows/[^/]+/revisions/[^/]+$", "required": true, @@ -9995,7 +10144,7 @@ ], "parameters": { "parent": { - "description": "Required. Name of the API proxy revision for which to return deployment information in the following format: `organizations/{org}/sharedflows/{sharedflow}/revisions/{rev}`.", + "description": "Required. Name of the API proxy revision for which to return deployment information in the following format: `organizations/{org}/sharedflows/{sharedflow}/revisions/{rev}`. If the shared flow resource has the `space` attribute set, IAM permissions are checked differently . To learn more, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", "location": "path", "pattern": "^organizations/[^/]+/sharedflows/[^/]+/revisions/[^/]+$", "required": true, @@ -10353,6 +10502,250 @@ } } } + }, + "spaces": { + "methods": { + "create": { + "description": "Create a space under an organization.", + "flatPath": "v1/organizations/{organizationsId}/spaces", + "httpMethod": "POST", + "id": "apigee.organizations.spaces.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the Google Cloud project in which to associate the Apigee space. Pass the information as a query parameter using the following structure in your request: `organizations/`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + }, + "spaceId": { + "description": "Required. Resource ID of the space.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/spaces", + "request": { + "$ref": "GoogleCloudApigeeV1Space" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Space" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an organization space.", + "flatPath": "v1/organizations/{organizationsId}/spaces/{spacesId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.spaces.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Apigee organization space name in the following format: `organizations/{org}/spaces/{space}`", + "location": "path", + "pattern": "^organizations/[^/]+/spaces/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get a space under an Organization.", + "flatPath": "v1/organizations/{organizationsId}/spaces/{spacesId}", + "httpMethod": "GET", + "id": "apigee.organizations.spaces.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Apigee organization space name in the following format: `organizations/{org}/spaces/{space}`", + "location": "path", + "pattern": "^organizations/[^/]+/spaces/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Space" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Callers must have apigee.spaces.getIamPolicy.", + "flatPath": "v1/organizations/{organizationsId}/spaces/{spacesId}:getIamPolicy", + "httpMethod": "GET", + "id": "apigee.organizations.spaces.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^organizations/[^/]+/spaces/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists spaces under an organization.", + "flatPath": "v1/organizations/{organizationsId}/spaces", + "httpMethod": "GET", + "id": "apigee.organizations.spaces.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of spaces to return. The service may return fewer than this value. If unspecified, at most 50 spaces will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListSpaces` call. Provide this to retrieve the subsequent page. When paginating, all parameters must match the original call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Use the following structure in your request: `organizations`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/spaces", + "response": { + "$ref": "GoogleCloudApigeeV1ListSpacesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a space.", + "flatPath": "v1/organizations/{organizationsId}/spaces/{spacesId}", + "httpMethod": "PATCH", + "id": "apigee.organizations.spaces.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the space in the following format: `organizations/{org}/spaces/{space_id}`.", + "location": "path", + "pattern": "^organizations/[^/]+/spaces/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. List of fields to be updated. Fields that can be updated: display_name.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1Space" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Space" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "IAM META APIs Callers must have apigee.spaces.setIamPolicy.", + "flatPath": "v1/organizations/{organizationsId}/spaces/{spacesId}:setIamPolicy", + "httpMethod": "POST", + "id": "apigee.organizations.spaces.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^organizations/[^/]+/spaces/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Callers don't need any permissions.", + "flatPath": "v1/organizations/{organizationsId}/spaces/{spacesId}:testIamPermissions", + "httpMethod": "POST", + "id": "apigee.organizations.spaces.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^organizations/[^/]+/spaces/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } }, @@ -10741,6 +11134,30 @@ }, "type": "object" }, + "GoogleCloudApigeeV1ApiDebugSession": { + "description": "Session carries the debug session id and its creation time.", + "id": "GoogleCloudApigeeV1ApiDebugSession", + "properties": { + "apiProxyRevisionId": { + "description": "The revision ID of the deployed API proxy.", + "type": "string" + }, + "createTime": { + "description": "The first transaction creation timestamp in millisecond, recorded by UAP.", + "format": "google-datetime", + "type": "string" + }, + "environmentId": { + "description": "The environment ID of the deployed API proxy.", + "type": "string" + }, + "id": { + "description": "The debug session ID.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1ApiDoc": { "description": "`ApiDoc` represents an API catalog item. Catalog items are used in two ways in a portal: - Users can browse and interact with a visual representation of the API documentation - The `api_product_name` field provides a link to a backing [API product] (/apigee/docs/reference/apis/apigee/rest/v1/organizations.apiproducts). Through this link, portal users can create and manage developer apps linked to one or more API products.", "id": "GoogleCloudApigeeV1ApiDoc", @@ -11003,6 +11420,10 @@ "type": "string" }, "type": "array" + }, + "space": { + "description": "Optional. The resource ID of the parent Space. If not set, the parent resource will be the Organization. To learn how Spaces can be used to manage resources, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", + "type": "string" } }, "type": "object" @@ -11074,6 +11495,10 @@ }, "readOnly": true, "type": "array" + }, + "space": { + "description": "Optional. The id of the space this proxy is associated with. Any IAM policies applied to the space will control access to this proxy. To learn how Spaces can be used to manage resources, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", + "type": "string" } }, "type": "object" @@ -11747,13 +12172,13 @@ "type": "object" }, "GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestIncludeAll": { - "description": "Message for include_all option.", + "description": "Message for include_all_resources option.", "id": "GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestIncludeAll", "properties": {}, "type": "object" }, "GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArray": { - "description": "An array of resource messages.", + "description": "Message for the array of resources. For Apigee, the proxies are resources.", "id": "GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArray", "properties": { "resources": { @@ -12651,6 +13076,7 @@ "type": "object" }, "GoogleCloudApigeeV1Deployment": { + "description": "Deployment represents a deployment of an API proxy or shared flow.", "id": "GoogleCloudApigeeV1Deployment", "properties": { "apiProxy": { @@ -13425,7 +13851,7 @@ "type": "string" }, "forwardProxyUri": { - "description": "Optional. URI of the forward proxy to be applied to the runtime instances in this environment. Must be in the format of {scheme}://{hostname}:{port}. Note that the scheme must be one of \"http\" or \"https\", and the port must be supplied. To remove a forward proxy setting, update the field to an empty value. Note: At this time, PUT operations to add forwardProxyUri to an existing environment fail if the environment has nodeConfig set up. To successfully add the forwardProxyUri setting in this case, include the NodeConfig details with the request.", + "description": "Optional. URI of the forward proxy to be applied to the runtime instances in this environment. Must be in the format of {scheme}://{hostname}:{port}. Note that the only supported scheme is \"http\". The port must be supplied. To remove a forward proxy setting, update the field to an empty value. Note: At this time, PUT operations to add forwardProxyUri to an existing environment fail if the environment has nodeConfig set up. To successfully add the forwardProxyUri setting in this case, include the NodeConfig details with the request.", "type": "string" }, "hasAttachedFlowHooks": { @@ -14479,6 +14905,24 @@ }, "type": "object" }, + "GoogleCloudApigeeV1ListApiDebugSessionsResponse": { + "description": "Response for ListApiDebugSessions.", + "id": "GoogleCloudApigeeV1ListApiDebugSessionsResponse", + "properties": { + "nextPageToken": { + "description": "Page token that you can include in a ListApiDebugSessionsRequest to retrieve the next page. If omitted, no subsequent pages exist.", + "type": "string" + }, + "sessions": { + "description": "Session info that includes debug session ID, environment ID, api proxy revision ID and the first transaction creation timestamp.", + "items": { + "$ref": "GoogleCloudApigeeV1ApiDebugSession" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1ListApiDocsResponse": { "id": "GoogleCloudApigeeV1ListApiDocsResponse", "properties": { @@ -15068,6 +15512,24 @@ }, "type": "object" }, + "GoogleCloudApigeeV1ListSpacesResponse": { + "description": "A response to a ListSpaces request containing the list of organization spaces and a page token for the next page.", + "id": "GoogleCloudApigeeV1ListSpacesResponse", + "properties": { + "nextPageToken": { + "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "spaces": { + "description": "List of Apigee organization spaces.", + "items": { + "$ref": "GoogleCloudApigeeV1Space" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1ListTraceConfigOverridesResponse": { "description": "Response for ListTraceConfigOverrides.", "id": "GoogleCloudApigeeV1ListTraceConfigOverridesResponse", @@ -15181,6 +15643,39 @@ }, "type": "object" }, + "GoogleCloudApigeeV1MoveApiProductRequest": { + "description": "Moves API product to a different space.", + "id": "GoogleCloudApigeeV1MoveApiProductRequest", + "properties": { + "space": { + "description": "Optional. Resource ID of the space to move the API product to. If unspecified, the API product will be moved to the organization level.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1MoveApiProxyRequest": { + "description": "Moves an API Proxy to a different Space.", + "id": "GoogleCloudApigeeV1MoveApiProxyRequest", + "properties": { + "space": { + "description": "Optional. Resource ID of the space to move the proxy to. If unspecified, the proxy will be moved to the organization level.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1MoveSharedFlowRequest": { + "description": "Moves a Shared Flow to a different space.", + "id": "GoogleCloudApigeeV1MoveSharedFlowRequest", + "properties": { + "space": { + "description": "Optional. Resource ID of the space to move the shared flow to. If unspecified, the shared flow will be moved to the organization level.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1NatAddress": { "description": "Apigee NAT(network address translation) address. A NAT address is a static external IP address used for Internet egress traffic.", "id": "GoogleCloudApigeeV1NatAddress", @@ -17364,7 +17859,6 @@ "type": "integer" }, "severity": { - "description": "The severity of the assessment.", "enum": [ "SEVERITY_UNSPECIFIED", "LOW", @@ -18069,6 +18563,10 @@ "type": "string" }, "type": "array" + }, + "space": { + "description": "Optional. The ID of the space associated with this shared flow. Any IAM policies applied to the space will control access to this shared flow. To learn how Spaces can be used to manage resources, read the [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview).", + "type": "string" } }, "type": "object" @@ -18150,6 +18648,34 @@ }, "type": "object" }, + "GoogleCloudApigeeV1Space": { + "description": "Organization space resource.", + "id": "GoogleCloudApigeeV1Space", + "properties": { + "createTime": { + "description": "Output only. Create timestamp of the space.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Optional. Display name of the space.", + "type": "string" + }, + "name": { + "description": "Output only. Identifier. Id of the space. This field is used as the resource name, and must follow [AIP-122](https://google.aip.dev/122) guidelines.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Last modified timestamp of the space.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1Stats": { "description": "Encapsulates a `stats` response.", "id": "GoogleCloudApigeeV1Stats", diff --git a/discovery/googleapis/appengine__v1.json b/discovery/googleapis/appengine__v1.json index dc5614693..f52a1f0d3 100644 --- a/discovery/googleapis/appengine__v1.json +++ b/discovery/googleapis/appengine__v1.json @@ -30,7 +30,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241205", + "revision": "20250223", "rootUrl": "https://appengine.googleapis.com/", "servicePath": "", "title": "App Engine Admin API", @@ -2007,6 +2007,20 @@ "Application has been disabled by the system." ], "type": "string" + }, + "sslPolicy": { + "description": "The SSL policy that will be applied to the application. If set to Modern it will restrict traffic with TLS < 1.2 and allow only Modern Ciphers suite", + "enum": [ + "SSL_POLICY_UNSPECIFIED", + "DEFAULT", + "MODERN" + ], + "enumDescriptions": [ + "Required by linter. Will work same as DEFAULT", + "DEFAULT is to allow all TLS versions and cipher suites supported by App Engine", + "MODERN is to allow only TLS 1.2 and TLS 1.3 along with Modern cipher suites only" + ], + "type": "string" } }, "type": "object" @@ -3901,7 +3915,7 @@ "enumDescriptions": [ "Defaults to AUTOMATIC.", "SSL support for this domain is configured automatically. The mapped SSL certificate will be automatically renewed.", - "SSL support for this domain is configured manually by the user. Either the domain has no SSL support or a user-obtained SSL certificate has been explictly mapped to this domain." + "SSL support for this domain is configured manually by the user. Either the domain has no SSL support or a user-obtained SSL certificate has been explicitly mapped to this domain." ], "type": "string" } @@ -3913,7 +3927,7 @@ "id": "StandardSchedulerSettings", "properties": { "maxInstances": { - "description": "Maximum number of instances to run for this version. Set to zero to disable max_instances configuration.", + "description": "Maximum number of instances to run for this version. Set to 2147483647 to disable max_instances configuration.", "format": "int32", "type": "integer" }, diff --git a/discovery/googleapis/apphub__v1.json b/discovery/googleapis/apphub__v1.json index 599702e96..c9334ad77 100644 --- a/discovery/googleapis/apphub__v1.json +++ b/discovery/googleapis/apphub__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241008", + "revision": "20250115", "rootUrl": "https://apphub.googleapis.com/", "servicePath": "", "title": "App Hub API", @@ -1082,7 +1082,7 @@ "operations": { "methods": { "cancel": { - "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "apphub.projects.locations.operations.cancel", @@ -1412,42 +1412,6 @@ }, "type": "object" }, - "AssetLocation": { - "description": "Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf.", - "id": "AssetLocation", - "properties": { - "ccfeRmsPath": { - "description": "Spanner path of the CCFE RMS database. It is only applicable for CCFE tenants that use CCFE RMS for storing resource metadata.", - "type": "string" - }, - "expected": { - "$ref": "IsolationExpectations", - "description": "Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation." - }, - "extraParameters": { - "description": "Defines extra parameters required for specific asset types.", - "items": { - "$ref": "ExtraParameter" - }, - "type": "array" - }, - "locationData": { - "description": "Contains all kinds of physical location definitions for this asset.", - "items": { - "$ref": "LocationData" - }, - "type": "array" - }, - "parentAsset": { - "description": "Defines parents assets if any in order to allow later generation of child_asset_location data via child assets.", - "items": { - "$ref": "CloudAsset" - }, - "type": "array" - } - }, - "type": "object" - }, "Attributes": { "description": "Consumer provided attributes.", "id": "Attributes", @@ -1554,49 +1518,12 @@ }, "type": "object" }, - "BlobstoreLocation": { - "description": "Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains", - "id": "BlobstoreLocation", - "properties": { - "policyId": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", "properties": {}, "type": "object" }, - "CloudAsset": { - "id": "CloudAsset", - "properties": { - "assetName": { - "type": "string" - }, - "assetType": { - "type": "string" - } - }, - "type": "object" - }, - "CloudAssetComposition": { - "id": "CloudAssetComposition", - "properties": { - "childAsset": { - "items": { - "$ref": "CloudAsset" - }, - "type": "array" - } - }, - "type": "object" - }, "ContactInfo": { "description": "Contact information of stakeholders.", "id": "ContactInfo", @@ -1649,18 +1576,6 @@ "properties": {}, "type": "object" }, - "DirectLocationAssignment": { - "id": "DirectLocationAssignment", - "properties": { - "location": { - "items": { - "$ref": "LocationAssignment" - }, - "type": "array" - } - }, - "type": "object" - }, "DiscoveredService": { "description": "DiscoveredService is a network or API interface that exposes some functionality to clients for consumption over the network. A discovered service can be registered to a App Hub service.", "id": "DiscoveredService", @@ -1757,142 +1672,6 @@ }, "type": "object" }, - "ExtraParameter": { - "description": "Defines parameters that should only be used for specific asset types.", - "id": "ExtraParameter", - "properties": { - "regionalMigDistributionPolicy": { - "$ref": "RegionalMigDistributionPolicy", - "description": "Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances." - } - }, - "type": "object" - }, - "IsolationExpectations": { - "id": "IsolationExpectations", - "properties": { - "requirementOverride": { - "$ref": "RequirementOverride", - "description": "Explicit overrides for ZI and ZS requirements to be used for resources that should be excluded from ZI/ZS verification logic." - }, - "ziOrgPolicy": { - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "ziRegionPolicy": { - "enum": [ - "ZI_REGION_POLICY_UNSPECIFIED", - "ZI_REGION_POLICY_UNKNOWN", - "ZI_REGION_POLICY_NOT_SET", - "ZI_REGION_POLICY_FAIL_OPEN", - "ZI_REGION_POLICY_FAIL_CLOSED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "ziRegionState": { - "enum": [ - "ZI_REGION_UNSPECIFIED", - "ZI_REGION_UNKNOWN", - "ZI_REGION_NOT_ENABLED", - "ZI_REGION_ENABLED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zoneIsolation": { - "deprecated": true, - "description": "Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location.", - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "zoneSeparation": { - "deprecated": true, - "description": "Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location.", - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zsOrgPolicy": { - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zsRegionState": { - "enum": [ - "ZS_REGION_UNSPECIFIED", - "ZS_REGION_UNKNOWN", - "ZS_REGION_NOT_ENABLED", - "ZS_REGION_ENABLED" - ], - "enumDescriptions": [ - "", - "To be used if tracking of the asset ZS-bit is not available", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, "ListApplicationsResponse": { "description": "Response for ListApplications.", "id": "ListApplicationsResponse", @@ -2113,64 +1892,6 @@ }, "type": "object" }, - "LocationAssignment": { - "id": "LocationAssignment", - "properties": { - "location": { - "type": "string" - }, - "locationType": { - "enum": [ - "UNSPECIFIED", - "CLUSTER", - "POP", - "CLOUD_ZONE", - "CLOUD_REGION", - "MULTI_REGION_GEO", - "MULTI_REGION_JURISDICTION", - "GLOBAL", - "OTHER" - ], - "enumDescriptions": [ - "", - "1-10: Physical failure domains.", - "", - "11-20: Logical failure domains.", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "LocationData": { - "id": "LocationData", - "properties": { - "blobstoreLocation": { - "$ref": "BlobstoreLocation" - }, - "childAssetLocation": { - "$ref": "CloudAssetComposition" - }, - "directLocation": { - "$ref": "DirectLocationAssignment" - }, - "gcpProjectProxy": { - "$ref": "TenantProjectProxy" - }, - "placerLocation": { - "$ref": "PlacerLocation" - }, - "spannerLocation": { - "$ref": "SpannerLocation" - } - }, - "type": "object" - }, "LookupDiscoveredServiceResponse": { "description": "Response for LookupDiscoveredService.", "id": "LookupDiscoveredServiceResponse", @@ -2261,7 +1982,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -2283,17 +2004,6 @@ }, "type": "object" }, - "PlacerLocation": { - "description": "Message describing that the location of the customer resource is tied to placer allocations", - "id": "PlacerLocation", - "properties": { - "placerConfig": { - "description": "Directory with a config related to it in placer (e.g. \"/placer/prod/home/my-root/my-dir\")", - "type": "string" - } - }, - "type": "object" - }, "Policy": { "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", @@ -2356,63 +2066,6 @@ }, "type": "object" }, - "RegionalMigDistributionPolicy": { - "description": "To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances", - "id": "RegionalMigDistributionPolicy", - "properties": { - "targetShape": { - "description": "The shape in which the group converges around distribution of resources. Instance of proto2 enum", - "format": "int32", - "type": "integer" - }, - "zones": { - "description": "Cloud zones used by regional MIG to create instances.", - "items": { - "$ref": "ZoneConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "RequirementOverride": { - "id": "RequirementOverride", - "properties": { - "ziOverride": { - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "zsOverride": { - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, "Scope": { "description": "Scope of an application.", "id": "Scope", @@ -2600,26 +2253,6 @@ }, "type": "object" }, - "SpannerLocation": { - "id": "SpannerLocation", - "properties": { - "backupName": { - "description": "Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata", - "items": { - "type": "string" - }, - "type": "array" - }, - "dbName": { - "description": "Set of databases used by the resource in format /span//", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", "id": "Status", @@ -2647,18 +2280,6 @@ }, "type": "object" }, - "TenantProjectProxy": { - "id": "TenantProjectProxy", - "properties": { - "projectNumbers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "TestIamPermissionsRequest": { "description": "Request message for `TestIamPermissions` method.", "id": "TestIamPermissionsRequest", @@ -2793,15 +2414,6 @@ } }, "type": "object" - }, - "ZoneConfiguration": { - "id": "ZoneConfiguration", - "properties": { - "zone": { - "type": "string" - } - }, - "type": "object" } } } diff --git a/discovery/googleapis/areainsights__v1.json b/discovery/googleapis/areainsights__v1.json index c2fd400af..7c0aaa63c 100644 --- a/discovery/googleapis/areainsights__v1.json +++ b/discovery/googleapis/areainsights__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241211", + "revision": "20250226", "rootUrl": "https://areainsights.googleapis.com/", "servicePath": "", "title": "Places Insights API", @@ -142,7 +142,7 @@ "description": "The latitude and longitude of the center of the circle." }, "place": { - "description": "The Place resource name of the center of the circle. Only point places are supported.", + "description": "**Format:** Must be in the format `places/PLACE_ID`, where `PLACE_ID` is the unique identifier of a place. For example: `places/ChIJgUbEo8cfqokR5lP9_Wh_DaM`.", "type": "string" }, "radius": { @@ -171,8 +171,8 @@ ], "enumDescriptions": [ "Not Specified.", - "Count insight. When this insight is specified ComputeInsights returns the number of places that match the specified filter criteria. ``` For example if the request is: ComputeInsightsRequest { insights: INSIGHT_COUNT filter { location_filter {region: } type_filter {included_types: \"restaurant\"} operating_status: OPERATING_STATUS_OPERATIONAL price_levels: PRICE_LEVEL_FREE price_levels: PRICE_LEVEL_INEXPENSIVE min_rating: 4.0 } } The method will return the count of restaurants in California that are operational, with price level free or inexpensive and have an average rating of at least 4 starts. Example response: ComputeInsightsResponse { count: } ```", - "Return Places When this insight is specified ComputeInsights returns Places that match the specified filter criteria. ``` For example if the request is: ComputeInsightsRequest { insights: INSIGHT_PLACES filter { location_filter {region: } type_filter {included_types: \"restaurant\"} operating_status: OPERATING_STATUS_OPERATIONAL price_levels: PRICE_LEVEL_FREE price_levels: PRICE_LEVEL_INEXPENSIVE min_rating: 4.0 } } The method will return list of places of restaurants in California that are operational, with price level free or inexpensive and have an average rating of at least 4 stars. Example response: ComputeInsightsResponse { place_insights { place: \"places/ABC\" } place_insights { place: \"places/PQR\" } place_insights { place: \"places/XYZ\" } } ```" + "Count insight. When this insight is specified ComputeInsights returns the number of places that match the specified filter criteria. Example request: ``` { \"insights\": [\"INSIGHT_COUNT\"], \"filter\": { \"locationFilter\": { \"region\": { \"place\": \"places/ChIJPV4oX_65j4ARVW8IJ6IJUYs\" } }, \"typeFilter\": { \"includedTypes\": [\"restaurant\"] }, \"operatingStatus\": [\"OPERATING_STATUS_OPERATIONAL\"], \"priceLevels\": [ \"PRICE_LEVEL_FREE\", \"PRICE_LEVEL_INEXPENSIVE\" ], \"ratingFilter\": { \"minRating\": 4.0 } } } ``` Example response: ``` { \"count\": 1234 } ```", + "Return Places When this insight is specified ComputeInsights returns places IDs that match the specified filter criteria. Example request: ``` { \"insights\": [\"INSIGHT_PLACES\"], \"filter\": { \"locationFilter\": { \"region\": { \"place\": \"places/ChIJPV4oX_65j4ARVW8IJ6IJUYs\" } }, \"typeFilter\": { \"includedTypes\": [\"restaurant\"] }, \"operatingStatus\": [\"OPERATING_STATUS_OPERATIONAL\"], \"priceLevels\": [ \"PRICE_LEVEL_FREE\", \"PRICE_LEVEL_INEXPENSIVE\" ], \"ratingFilter\": { \"minRating\": 4.0 } } } ``` Example response: ``` { \"placeInsights\": [ {\"place\": \"places/ABC\"}, {\"place\": \"places/PQR\"}, {\"place\": \"places/XYZ\"} ] } ```" ], "type": "string" }, @@ -229,17 +229,17 @@ "OPERATING_STATUS_TEMPORARILY_CLOSED" ], "enumDescriptions": [ - "Not Specified.", + "Not specified. This value should not be used.", "The place is operational and its open during its defined hours.", "The Place is no longer in business.", - "The Place is temporarily closed and expected to reopen in the future." + "The place is temporarily closed and expected to reopen in the future." ], "type": "string" }, "type": "array" }, "priceLevels": { - "description": "Optional. Restricts results to places whose price level is included on this list. If price_level is not set, all price levels are included in the results.", + "description": "Optional. Restricts results to places whose price level is included on this list. If `price_levels` is not set, all price levels are included in the results.", "items": { "enum": [ "PRICE_LEVEL_UNSPECIFIED", @@ -250,7 +250,7 @@ "PRICE_LEVEL_VERY_EXPENSIVE" ], "enumDescriptions": [ - "Place price level is unspecified or unknown.", + "Not specified. This value should not be used.", "Place provides free services.", "Place provides inexpensive services.", "Place provides moderately priced services.", diff --git a/discovery/googleapis/assuredworkloads__v1.json b/discovery/googleapis/assuredworkloads__v1.json index f669f8bce..1ce3d57e8 100644 --- a/discovery/googleapis/assuredworkloads__v1.json +++ b/discovery/googleapis/assuredworkloads__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241206", + "revision": "20250213", "rootUrl": "https://assuredworkloads.googleapis.com/", "servicePath": "", "title": "Assured Workloads API", @@ -1677,7 +1677,7 @@ ], "enumDescriptions": [ "KAJ Enrollment type is unspecified", - "KAT sets External, Hardware, and Software key feature logging only to TRUE. (no enforcement)" + "KAT sets External, Hardware, and Software key feature logging only to TRUE." ], "type": "string" } diff --git a/discovery/googleapis/authorizedbuyersmarketplace__v1.json b/discovery/googleapis/authorizedbuyersmarketplace__v1.json index 235a8ae96..436451364 100644 --- a/discovery/googleapis/authorizedbuyersmarketplace__v1.json +++ b/discovery/googleapis/authorizedbuyersmarketplace__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241120", + "revision": "20250303", "rootUrl": "https://authorizedbuyersmarketplace.googleapis.com/", "servicePath": "", "title": "Authorized Buyers Marketplace API", @@ -1106,7 +1106,7 @@ ] }, "patch": { - "description": "Updates the proposal at the given revision number. If the revision number in the request is behind the latest one kept in the server, an error message will be returned. See FieldMask for how to use FieldMask. Only fields specified in the UpdateProposalRequest.update_mask will be updated; Fields noted as 'Immutable' or 'Output only' yet specified in the UpdateProposalRequest.update_mask will be ignored and left unchanged. Updating a private auction proposal is not allowed and will result in an error.", + "description": "Updates the proposal at the given revision number. If the revision number in the request is behind the latest one kept in the server, an error message will be returned. See FieldMask for how to use FieldMask. Only fields specified in the UpdateProposalRequest.update_mask will be updated; Fields noted as 'Immutable' or 'Output only' yet specified in the UpdateProposalRequest.update_mask will be ignored and left unchanged. Updating a private auction proposal is only allowed for buyer private data, all other fields are immutable.", "flatPath": "v1/buyers/{buyersId}/proposals/{proposalsId}", "httpMethod": "PATCH", "id": "authorizedbuyersmarketplace.buyers.proposals.patch", @@ -1468,6 +1468,11 @@ "readOnly": true, "type": "string" }, + "dealOwnerSeatId": { + "description": "Output only. If set, this field contains the DSP specific seat id set by the media planner account that is considered the owner of this deal. The seat ID is in the calling DSP's namespace.", + "readOnly": true, + "type": "string" + }, "description": { "description": "Output only. A description of the auction package.", "readOnly": true, @@ -1478,7 +1483,7 @@ "type": "string" }, "eligibleSeatIds": { - "description": "Output only. If set, this field contains the list of DSP specific seat ids set by media planners that are eligible to transact on this deal. The seat ID is in the calling DSP's namespace.", + "description": "Output only. If set, this field identifies a seat that the media planner selected as the owner of this auction package. This is a seat ID in the DSP's namespace that was provided to the media planner.", "items": { "type": "string" }, @@ -1869,6 +1874,21 @@ "readOnly": true, "type": "string" }, + "buyerPermissionType": { + "description": "Output only. The buyer permission type of the deal.", + "enum": [ + "BUYER_PERMISSION_TYPE_UNSPECIFIED", + "NEGOTIATOR_ONLY", + "BIDDER" + ], + "enumDescriptions": [ + "A placeholder for an undefined buyer permission type.", + "Only the [Deal.negotiating_buyer] can transact on the deal.", + "All buyers under the [Deal.negotiating_buyer]'s bidder can transact on the deal." + ], + "readOnly": true, + "type": "string" + }, "client": { "description": "Output only. Refers to a Client. Format: `buyers/{buyerAccountId}/clients/{clientAccountid}`", "readOnly": true, @@ -2623,7 +2643,7 @@ "type": "object" }, "PrivateData": { - "description": "Buyers are allowed to store certain types of private data in a proposal or deal.", + "description": "Buyers are allowed to store certain types of private data in a proposal.", "id": "PrivateData", "properties": { "referenceId": { diff --git a/discovery/googleapis/backupdr__v1.json b/discovery/googleapis/backupdr__v1.json index d8a5fecb6..f6ba3773e 100644 --- a/discovery/googleapis/backupdr__v1.json +++ b/discovery/googleapis/backupdr__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241204", + "revision": "20250205", "rootUrl": "https://backupdr.googleapis.com/", "servicePath": "", "title": "Backup and DR Service API", @@ -1662,6 +1662,56 @@ } } }, + "resourceBackupConfigs": { + "methods": { + "list": { + "description": "Lists ResourceBackupConfigs.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/resourceBackupConfigs", + "httpMethod": "GET", + "id": "backupdr.projects.locations.resourceBackupConfigs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location for which to retrieve resource backup configs. Format: 'projects/{project_id}/locations/{location}'. In Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/resourceBackupConfigs", + "response": { + "$ref": "ListResourceBackupConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "serviceConfig": { "methods": { "initialize": { @@ -2284,6 +2334,95 @@ }, "type": "object" }, + "BackupConfigDetails": { + "description": "BackupConfigDetails has information about how the resource is configured for backups and about the most recent backup taken for this configuration.", + "id": "BackupConfigDetails", + "properties": { + "applicableResource": { + "description": "Output only. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the resource that is applicable for the backup configuration. Example: \"//compute.googleapis.com/projects/{project}/zones/{zone}/instances/{instance}\"", + "readOnly": true, + "type": "string" + }, + "backupConfigSource": { + "description": "Output only. The full resource name of the backup config source resource. For example, \"//backupdr.googleapis.com/v1/projects/{project}/locations/{region}/backupPlans/{backupplanId}\" or \"//compute.googleapis.com/projects/{project}/locations/{region}/resourcePolicies/{resourcePolicyId}\".", + "readOnly": true, + "type": "string" + }, + "backupConfigSourceDisplayName": { + "description": "Output only. The display name of the backup config source resource.", + "readOnly": true, + "type": "string" + }, + "backupDrPlanConfig": { + "$ref": "BackupDrPlanConfig", + "description": "Backup and DR's Backup Plan specific data." + }, + "backupDrTemplateConfig": { + "$ref": "BackupDrTemplateConfig", + "description": "Backup and DR's Template specific data." + }, + "backupLocations": { + "description": "The locations where the backups are to be stored.", + "items": { + "$ref": "BackupLocation" + }, + "type": "array" + }, + "backupVault": { + "description": "Output only. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the backup vault that will store the backups generated through this backup configuration. Example: \"//backupdr.googleapis.com/v1/projects/{project}/locations/{region}/backupVaults/{backupvaultId}\"", + "readOnly": true, + "type": "string" + }, + "latestSuccessfulBackupTime": { + "description": "Output only. Timestamp of the latest successful backup created via this backup configuration.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "pitrSettings": { + "$ref": "PitrSettings", + "description": "Output only. Point in time recovery settings of the backup configuration resource.", + "readOnly": true + }, + "state": { + "description": "Output only. The state of the backup config resource.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "INACTIVE", + "ERROR" + ], + "enumDescriptions": [ + "Backup config state not set.", + "The config is in an active state protecting the resource", + "The config is currently not protecting the resource. Either because it is disabled or the owning project has been deleted without cleanup of the actual resource.", + "The config still exists but because of some error state it is not protecting the resource. Like the source project is deleted. For eg. PlanAssociation, BackupPlan is deleted." + ], + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. The type of the backup config resource.", + "enum": [ + "TYPE_UNSPECIFIED", + "CLOUD_SQL_INSTANCE_BACKUP_CONFIG", + "COMPUTE_ENGINE_RESOURCE_POLICY", + "BACKUPDR_BACKUP_PLAN", + "BACKUPDR_TEMPLATE" + ], + "enumDescriptions": [ + "Backup config type is unspecified.", + "Backup config is Cloud SQL instance's automated backup config.", + "Backup config is Compute Engine Resource Policy.", + "Backup config is Backup and DR's Backup Plan.", + "Backup config is Backup and DR's Template." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "BackupConfigInfo": { "description": "BackupConfigInfo has information about how the resource is configured for Backup and about the most recent backup to this vault.", "id": "BackupConfigInfo", @@ -2329,6 +2468,84 @@ }, "type": "object" }, + "BackupDrPlanConfig": { + "description": "BackupDrPlanConfig has additional information about Backup and DR's Plan backup configuration.", + "id": "BackupDrPlanConfig", + "properties": { + "backupDrPlanRules": { + "description": "Backup rules of the backup plan resource.", + "items": { + "$ref": "BackupDrPlanRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "BackupDrPlanRule": { + "description": "BackupDrPlanRule has rule specific information of the backup plan resource.", + "id": "BackupDrPlanRule", + "properties": { + "lastSuccessfulBackupTime": { + "description": "Output only. Timestamp of the latest successful backup created via this backup rule.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "ruleId": { + "description": "Output only. Unique Id of the backup rule.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BackupDrTemplateConfig": { + "description": "BackupDrTemplateConfig has additional information about Backup and DR's Template backup configuration.", + "id": "BackupDrTemplateConfig", + "properties": { + "firstPartyManagementUri": { + "description": "Output only. The URI of the BackupDr template resource for the first party identity users.", + "readOnly": true, + "type": "string" + }, + "thirdPartyManagementUri": { + "description": "Output only. The URI of the BackupDr template resource for the third party identity users.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BackupLocation": { + "description": "BackupLocation represents a cloud location where a backup can be stored.", + "id": "BackupLocation", + "properties": { + "locationId": { + "description": "Output only. The id of the cloud location. Example: \"us-central1\"", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. The type of the location.", + "enum": [ + "TYPE_UNSPECIFIED", + "ZONAL", + "REGIONAL", + "MULTI_REGIONAL" + ], + "enumDescriptions": [ + "Location type is unspecified.", + "Location type is zonal.", + "Location type is regional.", + "Location type is multi regional." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "BackupLock": { "description": "BackupLock represents a single lock on a Backup resource. An unexpired lock on a Backup prevents the Backup from being deleted.", "id": "BackupLock", @@ -2397,7 +2614,7 @@ "type": "string" }, "resourceType": { - "description": "Required. The resource type to which the `BackupPlan` will be applied. Examples include, \"compute.googleapis.com/Instance\", \"sqladmin.googleapis.com/Instance\", or \"alloydb.googleapis.com/Cluster\".", + "description": "Required. ", "type": "string" }, "state": { @@ -2457,7 +2674,7 @@ "type": "string" }, "resourceType": { - "description": "Required. Immutable. Resource type of workload on which backupplan is applied", + "description": "Required. Immutable. ", "type": "string" }, "rulesConfigInfo": { @@ -3679,6 +3896,24 @@ }, "type": "object" }, + "ListResourceBackupConfigsResponse": { + "description": "Response for ListResourceBackupConfigs.", + "id": "ListResourceBackupConfigsResponse", + "properties": { + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "resourceBackupConfigs": { + "description": "The list of ResourceBackupConfigs for the specified scope.", + "items": { + "$ref": "ResourceBackupConfig" + }, + "type": "array" + } + }, + "type": "object" + }, "Location": { "description": "A resource that represents a Google Cloud location.", "id": "Location", @@ -4133,6 +4368,19 @@ }, "type": "object" }, + "PitrSettings": { + "description": "Point in time recovery settings of the backup configuration resource.", + "id": "PitrSettings", + "properties": { + "retentionDays": { + "description": "Output only. Number of days to retain the backup.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, "Policy": { "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", @@ -4175,6 +4423,71 @@ }, "type": "object" }, + "ResourceBackupConfig": { + "description": "ResourceBackupConfig represents a resource along with its backup configurations.", + "id": "ResourceBackupConfig", + "properties": { + "backupConfigsDetails": { + "description": "Backup configurations applying to the target resource, including those targeting its related/child resources. For example, backup configuration applicable to Compute Engine disks will be populated in this field for a Compute Engine VM which has the disk associated.", + "items": { + "$ref": "BackupConfigDetails" + }, + "type": "array" + }, + "backupConfigured": { + "description": "Output only. Whether the target resource is configured for backup. This is true if the backup_configs_details is not empty.", + "readOnly": true, + "type": "boolean" + }, + "name": { + "description": "Identifier. The resource name of the ResourceBackupConfig. Format: projects/{project}/locations/{location}/resourceBackupConfigs/{uid}", + "type": "string" + }, + "targetResource": { + "description": "Output only. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the cloud resource that this configuration applies to. Supported resource types are ResourceBackupConfig.ResourceType.", + "readOnly": true, + "type": "string" + }, + "targetResourceDisplayName": { + "description": "Output only. The human friendly name of the target resource.", + "readOnly": true, + "type": "string" + }, + "targetResourceLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels associated with the target resource.", + "type": "object" + }, + "targetResourceType": { + "description": "Output only. The type of the target resource.", + "enum": [ + "RESOURCE_TYPE_UNSPECIFIED", + "CLOUD_SQL_INSTANCE", + "COMPUTE_ENGINE_VM" + ], + "enumDescriptions": [ + "Resource type not set.", + "Cloud SQL instance.", + "Compute Engine VM." + ], + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. The unique identifier of the resource backup config.", + "readOnly": true, + "type": "string" + }, + "vaulted": { + "description": "Output only. Whether the target resource is protected by a backup vault. This is true if the backup_configs_details is not empty and any of the ResourceBackupConfig.backup_configs_details has a backup configuration with BackupConfigDetails.backup_vault set. set.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, "RestoreBackupRequest": { "description": "Request message for restoring from a Backup.", "id": "RestoreBackupRequest", @@ -4464,7 +4777,7 @@ "type": "array" }, "hourlyFrequency": { - "description": "Optional. Specifies frequency for hourly backups. A hourly frequency of 2 means jobs will run every 2 hours from start time till end time defined. This is required for `recurrence_type`, `HOURLY` and is not applicable otherwise. A validation error will occur if a value is supplied and `recurrence_type` is not `HOURLY`. Value of hourly frequency should be between 6 and 23. Reason for limit : We found that there is bandwidth limitation of 3GB/S for GMI while taking a backup and 5GB/S while doing a restore. Given the amount of parallel backups and restore we are targeting, this will potentially take the backup time to mins and hours (in worst case scenario).", + "description": "Optional. Specifies frequency for hourly backups. A hourly frequency of 2 means jobs will run every 2 hours from start time till end time defined. This is required for `recurrence_type`, `HOURLY` and is not applicable otherwise. A validation error will occur if a value is supplied and `recurrence_type` is not `HOURLY`. Value of hourly frequency should be between 4 and 23. Reason for limit : We found that there is bandwidth limitation of 3GB/S for GMI while taking a backup and 5GB/S while doing a restore. Given the amount of parallel backups and restore we are targeting, this will potentially take the backup time to mins and hours (in worst case scenario).", "format": "int32", "type": "integer" }, diff --git a/discovery/googleapis/batch__v1.json b/discovery/googleapis/batch__v1.json index 0512047cf..af111a8f5 100644 --- a/discovery/googleapis/batch__v1.json +++ b/discovery/googleapis/batch__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241204", + "revision": "20250122", "rootUrl": "https://batch.googleapis.com/", "servicePath": "", "title": "Batch API", @@ -183,6 +183,34 @@ "resources": { "jobs": { "methods": { + "cancel": { + "description": "Cancel a Job.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}:cancel", + "httpMethod": "POST", + "id": "batch.projects.locations.jobs.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Job name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "CancelJobRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "create": { "description": "Create a Job.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/jobs", @@ -1061,6 +1089,17 @@ }, "type": "object" }, + "CancelJobRequest": { + "description": "CancelJob Request.", + "id": "CancelJobRequest", + "properties": { + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + } + }, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", @@ -1436,7 +1475,9 @@ "RUNNING", "SUCCEEDED", "FAILED", - "DELETION_IN_PROGRESS" + "DELETION_IN_PROGRESS", + "CANCELLATION_IN_PROGRESS", + "CANCELLED" ], "enumDescriptions": [ "Job state unspecified.", @@ -1445,7 +1486,9 @@ "Resource allocation has been successful. At least one Task in the Job is RUNNING.", "All Tasks in the Job have finished successfully.", "At least one Task in the Job has failed.", - "The Job will be deleted, but has not been deleted yet. Typically this is because resources used by the Job are still being cleaned up." + "The Job will be deleted, but has not been deleted yet. Typically this is because resources used by the Job are still being cleaned up.", + "The Job cancellation is in progress, this is because the resources used by the Job are still being cleaned up.", + "The Job has been cancelled, the task executions were stopped and the resources were cleaned up." ], "type": "string" }, @@ -1680,7 +1723,9 @@ "RUNNING", "SUCCEEDED", "FAILED", - "DELETION_IN_PROGRESS" + "DELETION_IN_PROGRESS", + "CANCELLATION_IN_PROGRESS", + "CANCELLED" ], "enumDescriptions": [ "Job state unspecified.", @@ -1689,7 +1734,9 @@ "Resource allocation has been successful. At least one Task in the Job is RUNNING.", "All Tasks in the Job have finished successfully.", "At least one Task in the Job has failed.", - "The Job will be deleted, but has not been deleted yet. Typically this is because resources used by the Job are still being cleaned up." + "The Job will be deleted, but has not been deleted yet. Typically this is because resources used by the Job are still being cleaned up.", + "The Job cancellation is in progress, this is because the resources used by the Job are still being cleaned up.", + "The Job has been cancelled, the task executions were stopped and the resources were cleaned up." ], "type": "string" }, diff --git a/discovery/googleapis/beyondcorp__v1.json b/discovery/googleapis/beyondcorp__v1.json index 9e94a1bf6..24b966850 100644 --- a/discovery/googleapis/beyondcorp__v1.json +++ b/discovery/googleapis/beyondcorp__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241204", + "revision": "20250219", "rootUrl": "https://beyondcorp.googleapis.com/", "servicePath": "", "title": "BeyondCorp API", @@ -1469,6 +1469,7 @@ ] }, "shouldThrottle": { + "deprecated": true, "description": "Calls the Bouncer method ShouldThrottle to check if a request should be throttled.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appGateways/{appGatewaysId}:shouldThrottle", "httpMethod": "GET", @@ -1783,7 +1784,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Mutable fields include: display_name.", + "description": "Optional. Mutable fields include: display_name.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -2156,7 +2157,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Mutable fields include: display_name, hubs.", + "description": "Optional. Mutable fields include: display_name, hubs.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -4250,6 +4251,7 @@ "type": "object" }, "ShouldThrottleResponse": { + "deprecated": true, "description": "Response message for calling ShouldThrottle", "id": "ShouldThrottleResponse", "properties": { diff --git a/discovery/googleapis/bigquery__v2.json b/discovery/googleapis/bigquery__v2.json index e809887ad..06248794c 100644 --- a/discovery/googleapis/bigquery__v2.json +++ b/discovery/googleapis/bigquery__v2.json @@ -125,7 +125,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241115", + "revision": "20250216", "rootUrl": "https://bigquery.googleapis.com/", "servicePath": "bigquery/v2/", "title": "BigQuery API", @@ -354,7 +354,7 @@ "type": "boolean" }, "filter": { - "description": "An expression for filtering the results of the request by label. The syntax is `labels.[:]`. Multiple filters can be ANDed together by connecting with a space. Example: `labels.department:receiving labels.active`. See [Filtering datasets using labels](https://cloud.google.com/bigquery/docs/filtering-labels#filtering_datasets_using_labels) for details.", + "description": "An expression for filtering the results of the request by label. The syntax is `labels.[:]`. Multiple filters can be AND-ed together by connecting with a space. Example: `labels.department:receiving labels.active`. See [Filtering datasets using labels](https://cloud.google.com/bigquery/docs/filtering-labels#filtering_datasets_using_labels) for details.", "location": "query", "type": "string" }, @@ -532,7 +532,7 @@ "type": "string" }, "location": { - "description": "The geographic location of the job. You must specify the location to run the job for the following scenarios: * If the location to run a job is not in the `us` or the `eu` multi-regional location * If the job's location is in a single region (for example, `us-central1`) For more information, see https://cloud.google.com/bigquery/docs/locations#specifying_your_location.", + "description": "The geographic location of the job. You must [specify the location](https://cloud.google.com/bigquery/docs/locations#specify_locations) to run the job for the following scenarios: * If the location to run a job is not in the `us` or the `eu` multi-regional location * If the job's location is in a single region (for example, `us-central1`)", "location": "query", "type": "string" }, @@ -571,7 +571,7 @@ "type": "string" }, "location": { - "description": "The geographic location of the job. Required. See details at: https://cloud.google.com/bigquery/docs/locations#specifying_your_location.", + "description": "The geographic location of the job. Required. For more information, see how to [specify locations](https://cloud.google.com/bigquery/docs/locations#specify_locations).", "location": "query", "type": "string" }, @@ -607,7 +607,7 @@ "type": "string" }, "location": { - "description": "The geographic location of the job. You must specify the location to run the job for the following scenarios: * If the location to run a job is not in the `us` or the `eu` multi-regional location * If the job's location is in a single region (for example, `us-central1`) For more information, see https://cloud.google.com/bigquery/docs/locations#specifying_your_location.", + "description": "The geographic location of the job. You must specify the location to run the job for the following scenarios: * If the location to run a job is not in the `us` or the `eu` multi-regional location * If the job's location is in a single region (for example, `us-central1`) For more information, see how to [specify locations](https://cloud.google.com/bigquery/docs/locations#specify_locations).", "location": "query", "type": "string" }, @@ -652,7 +652,7 @@ "type": "string" }, "location": { - "description": "The geographic location of the job. You must specify the location to run the job for the following scenarios: * If the location to run a job is not in the `us` or the `eu` multi-regional location * If the job's location is in a single region (for example, `us-central1`) For more information, see https://cloud.google.com/bigquery/docs/locations#specifying_your_location.", + "description": "The geographic location of the job. You must specify the location to run the job for the following scenarios: * If the location to run a job is not in the `us` or the `eu` multi-regional location * If the job's location is in a single region (for example, `us-central1`) For more information, see how to [specify locations](https://cloud.google.com/bigquery/docs/locations#specify_locations).", "location": "query", "type": "string" }, @@ -1395,6 +1395,153 @@ }, "rowAccessPolicies": { "methods": { + "batchDelete": { + "description": "Deletes provided row access policies.", + "flatPath": "projects/{projectsId}/datasets/{datasetsId}/tables/{tablesId}/rowAccessPolicies:batchDelete", + "httpMethod": "POST", + "id": "bigquery.rowAccessPolicies.batchDelete", + "parameterOrder": [ + "projectId", + "datasetId", + "tableId" + ], + "parameters": { + "datasetId": { + "description": "Required. Dataset ID of the table to delete the row access policies.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "projectId": { + "description": "Required. Project ID of the table to delete the row access policies.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "tableId": { + "description": "Required. Table ID of the table to delete the row access policies.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "projects/{+projectId}/datasets/{+datasetId}/tables/{+tableId}/rowAccessPolicies:batchDelete", + "request": { + "$ref": "BatchDeleteRowAccessPoliciesRequest" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "delete": { + "description": "Deletes a row access policy.", + "flatPath": "projects/{projectsId}/datasets/{datasetsId}/tables/{tablesId}/rowAccessPolicies/{rowAccessPoliciesId}", + "httpMethod": "DELETE", + "id": "bigquery.rowAccessPolicies.delete", + "parameterOrder": [ + "projectId", + "datasetId", + "tableId", + "policyId" + ], + "parameters": { + "datasetId": { + "description": "Required. Dataset ID of the table to delete the row access policy.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "force": { + "description": "If set to true, it deletes the row access policy even if it's the last row access policy on the table and the deletion will widen the access rather narrowing it.", + "location": "query", + "type": "boolean" + }, + "policyId": { + "description": "Required. Policy ID of the row access policy.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "projectId": { + "description": "Required. Project ID of the table to delete the row access policy.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "tableId": { + "description": "Required. Table ID of the table to delete the row access policy.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "projects/{+projectId}/datasets/{+datasetId}/tables/{+tableId}/rowAccessPolicies/{+policyId}", + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "get": { + "description": "Gets the specified row access policy by policy ID.", + "flatPath": "projects/{projectsId}/datasets/{datasetsId}/tables/{tablesId}/rowAccessPolicies/{rowAccessPoliciesId}", + "httpMethod": "GET", + "id": "bigquery.rowAccessPolicies.get", + "parameterOrder": [ + "projectId", + "datasetId", + "tableId", + "policyId" + ], + "parameters": { + "datasetId": { + "description": "Required. Dataset ID of the table to get the row access policy.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "policyId": { + "description": "Required. Policy ID of the row access policy.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "projectId": { + "description": "Required. Project ID of the table to get the row access policy.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "tableId": { + "description": "Required. Table ID of the table to get the row access policy.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "projects/{+projectId}/datasets/{+datasetId}/tables/{+tableId}/rowAccessPolicies/{+policyId}", + "response": { + "$ref": "RowAccessPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "getIamPolicy": { "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", "flatPath": "projects/{projectsId}/datasets/{datasetsId}/tables/{tablesId}/rowAccessPolicies/{rowAccessPoliciesId}:getIamPolicy", @@ -1425,6 +1572,52 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, + "insert": { + "description": "Creates a row access policy.", + "flatPath": "projects/{projectsId}/datasets/{datasetsId}/tables/{tablesId}/rowAccessPolicies", + "httpMethod": "POST", + "id": "bigquery.rowAccessPolicies.insert", + "parameterOrder": [ + "projectId", + "datasetId", + "tableId" + ], + "parameters": { + "datasetId": { + "description": "Required. Dataset ID of the table to get the row access policy.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "projectId": { + "description": "Required. Project ID of the table to get the row access policy.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "tableId": { + "description": "Required. Table ID of the table to get the row access policy.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "projects/{+projectId}/datasets/{+datasetId}/tables/{+tableId}/rowAccessPolicies", + "request": { + "$ref": "RowAccessPolicy" + }, + "response": { + "$ref": "RowAccessPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "list": { "description": "Lists all row access policies on the specified table.", "flatPath": "projects/{projectsId}/datasets/{datasetsId}/tables/{tablesId}/rowAccessPolicies", @@ -1508,6 +1701,60 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] + }, + "update": { + "description": "Updates a row access policy.", + "flatPath": "projects/{projectsId}/datasets/{datasetsId}/tables/{tablesId}/rowAccessPolicies/{rowAccessPoliciesId}", + "httpMethod": "PUT", + "id": "bigquery.rowAccessPolicies.update", + "parameterOrder": [ + "projectId", + "datasetId", + "tableId", + "policyId" + ], + "parameters": { + "datasetId": { + "description": "Required. Dataset ID of the table to get the row access policy.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "policyId": { + "description": "Required. Policy ID of the row access policy.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "projectId": { + "description": "Required. Project ID of the table to get the row access policy.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "tableId": { + "description": "Required. Table ID of the table to get the row access policy.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "projects/{+projectId}/datasets/{+datasetId}/tables/{+tableId}/rowAccessPolicies/{+policyId}", + "request": { + "$ref": "RowAccessPolicy" + }, + "response": { + "$ref": "RowAccessPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] } } }, @@ -2048,7 +2295,7 @@ "type": "number" }, "threshold": { - "description": "Threshold at which the metrics are computed. For binary classification models this is the positive class threshold. For multi-class classfication models this is the confidence threshold.", + "description": "Threshold at which the metrics are computed. For binary classification models this is the positive class threshold. For multi-class classification models this is the confidence threshold.", "format": "double", "type": "number" } @@ -2503,6 +2750,24 @@ }, "type": "object" }, + "BatchDeleteRowAccessPoliciesRequest": { + "description": "Request message for the BatchDeleteRowAccessPoliciesRequest method.", + "id": "BatchDeleteRowAccessPoliciesRequest", + "properties": { + "force": { + "description": "If set to true, it deletes the row access policy even if it's the last row access policy on the table and the deletion will widen the access rather narrowing it.", + "type": "boolean" + }, + "policyIds": { + "description": "Required. Policy IDs of the row access policies.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "BiEngineReason": { "description": "Reason why BI Engine didn't accelerate the query (or sub-query).", "id": "BiEngineReason", @@ -3020,7 +3285,7 @@ "id": "Clustering", "properties": { "fields": { - "description": "One or more fields on which data should be clustered. Only top-level, non-repeated, simple-type fields are supported. The ordering of the clustering fields should be prioritized from most to least important for filtering purposes. Additional information on limitations can be found here: https://cloud.google.com/bigquery/docs/creating-clustered-tables#limitations", + "description": "One or more fields on which data should be clustered. Only top-level, non-repeated, simple-type fields are supported. The ordering of the clustering fields should be prioritized from most to least important for filtering purposes. For additional information, see [Introduction to clustered tables](https://cloud.google.com/bigquery/docs/clustered-tables#limitations).", "items": { "type": "string" }, @@ -4016,7 +4281,7 @@ "type": "object" }, "ExternalCatalogDatasetOptions": { - "description": "Options defining open source compatible datasets living in the BigQuery catalog. Contains metadata of open source database, schema or namespace represented by the current dataset.", + "description": "Options defining open source compatible datasets living in the BigQuery catalog. Contains metadata of open source database, schema, or namespace represented by the current dataset.", "id": "ExternalCatalogDatasetOptions", "properties": { "defaultStorageLocationUri": { @@ -4027,25 +4292,25 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. A map of key value pairs defining the parameters and properties of the open source schema. Maximum size of 2Mib.", + "description": "Optional. A map of key value pairs defining the parameters and properties of the open source schema. Maximum size of 2MiB.", "type": "object" } }, "type": "object" }, "ExternalCatalogTableOptions": { - "description": "Metadata about open source compatible table. The fields contained in these options correspond to hive metastore's table level properties.", + "description": "Metadata about open source compatible table. The fields contained in these options correspond to Hive metastore's table-level properties.", "id": "ExternalCatalogTableOptions", "properties": { "connectionId": { - "description": "Optional. The connection specifying the credentials to be used to read external storage, such as Azure Blob, Cloud Storage, or S3. The connection is needed to read the open source table from BigQuery Engine. The connection_id can have the form `..` or `projects//locations//connections/`.", + "description": "Optional. A connection ID that specifies the credentials to be used to read external storage, such as Azure Blob, Cloud Storage, or Amazon S3. This connection is needed to read the open source table from BigQuery. The connection_id format must be either `..` or `projects//locations//connections/`.", "type": "string" }, "parameters": { "additionalProperties": { "type": "string" }, - "description": "Optional. A map of key value pairs defining the parameters and properties of the open source table. Corresponds with hive meta store table parameters. Maximum size of 4Mib.", + "description": "Optional. A map of the key-value pairs defining the parameters and properties of the open source table. Corresponds with Hive metastore table parameters. Maximum size of 4MiB.", "type": "object" }, "storageDescriptor": { @@ -4082,8 +4347,16 @@ "$ref": "CsvOptions", "description": "Optional. Additional properties to set if sourceFormat is set to CSV." }, + "dateFormat": { + "description": "Optional. Format used to parse DATE values. Supports C-style and SQL-style values.", + "type": "string" + }, + "datetimeFormat": { + "description": "Optional. Format used to parse DATETIME values. Supports C-style and SQL-style values.", + "type": "string" + }, "decimalTargetTypes": { - "description": "Defines the list of possible SQL data types to which the source decimal values are converted. This list and the precision and the scale parameters of the decimal field determine the target type. In the order of NUMERIC, BIGNUMERIC, and STRING, a type is picked if it is in the specified list and if it supports the precision and the scale. STRING supports all precision and scale values. If none of the listed types supports the precision and the scale, the type supporting the widest range in the specified list is picked, and if a value exceeds the supported range when reading the data, an error will be thrown. Example: Suppose the value of this field is [\"NUMERIC\", \"BIGNUMERIC\"]. If (precision,scale) is: * (38,9) -> NUMERIC; * (39,9) -> BIGNUMERIC (NUMERIC cannot hold 30 integer digits); * (38,10) -> BIGNUMERIC (NUMERIC cannot hold 10 fractional digits); * (76,38) -> BIGNUMERIC; * (77,38) -> BIGNUMERIC (error if value exeeds supported range). This field cannot contain duplicate types. The order of the types in this field is ignored. For example, [\"BIGNUMERIC\", \"NUMERIC\"] is the same as [\"NUMERIC\", \"BIGNUMERIC\"] and NUMERIC always takes precedence over BIGNUMERIC. Defaults to [\"NUMERIC\", \"STRING\"] for ORC and [\"NUMERIC\"] for the other file formats.", + "description": "Defines the list of possible SQL data types to which the source decimal values are converted. This list and the precision and the scale parameters of the decimal field determine the target type. In the order of NUMERIC, BIGNUMERIC, and STRING, a type is picked if it is in the specified list and if it supports the precision and the scale. STRING supports all precision and scale values. If none of the listed types supports the precision and the scale, the type supporting the widest range in the specified list is picked, and if a value exceeds the supported range when reading the data, an error will be thrown. Example: Suppose the value of this field is [\"NUMERIC\", \"BIGNUMERIC\"]. If (precision,scale) is: * (38,9) -> NUMERIC; * (39,9) -> BIGNUMERIC (NUMERIC cannot hold 30 integer digits); * (38,10) -> BIGNUMERIC (NUMERIC cannot hold 10 fractional digits); * (76,38) -> BIGNUMERIC; * (77,38) -> BIGNUMERIC (error if value exceeds supported range). This field cannot contain duplicate types. The order of the types in this field is ignored. For example, [\"BIGNUMERIC\", \"NUMERIC\"] is the same as [\"NUMERIC\", \"BIGNUMERIC\"] and NUMERIC always takes precedence over BIGNUMERIC. Defaults to [\"NUMERIC\", \"STRING\"] for ORC and [\"NUMERIC\"] for the other file formats.", "items": { "enum": [ "DECIMAL_TARGET_TYPE_UNSPECIFIED", @@ -4132,7 +4405,7 @@ "GEOJSON" ], "enumDescriptions": [ - "The default if provided value is not one included in the enum, or the value is not specified. The source formate is parsed without any modification.", + "The default if provided value is not one included in the enum, or the value is not specified. The source format is parsed without any modification.", "Use GeoJSON variant of JSON. See https://tools.ietf.org/html/rfc7946." ], "type": "string" @@ -4196,6 +4469,18 @@ "type": "string" }, "type": "array" + }, + "timeFormat": { + "description": "Optional. Format used to parse TIME values. Supports C-style and SQL-style values.", + "type": "string" + }, + "timeZone": { + "description": "Optional. Time zone used when parsing timestamp values that do not have specific time zone information (e.g. 2024-04-20 12:34:56). The expected format is a IANA timezone string (e.g. America/Los_Angeles).", + "type": "string" + }, + "timestampFormat": { + "description": "Optional. Format used to parse TIMESTAMP values. Supports C-style and SQL-style values.", + "type": "string" } }, "type": "object" @@ -5096,8 +5381,16 @@ "description": "Optional. If this property is true, the job creates a new session using a randomly generated session_id. To continue using a created session with subsequent queries, pass the existing session identifier as a `ConnectionProperty` value. The session identifier is returned as part of the `SessionInfo` message within the query statistics. The new session's location will be set to `Job.JobReference.location` if it is present, otherwise it's set to the default location based on existing routing logic.", "type": "boolean" }, + "dateFormat": { + "description": "Optional. Date format used for parsing DATE values.", + "type": "string" + }, + "datetimeFormat": { + "description": "Optional. Date format used for parsing DATETIME values.", + "type": "string" + }, "decimalTargetTypes": { - "description": "Defines the list of possible SQL data types to which the source decimal values are converted. This list and the precision and the scale parameters of the decimal field determine the target type. In the order of NUMERIC, BIGNUMERIC, and STRING, a type is picked if it is in the specified list and if it supports the precision and the scale. STRING supports all precision and scale values. If none of the listed types supports the precision and the scale, the type supporting the widest range in the specified list is picked, and if a value exceeds the supported range when reading the data, an error will be thrown. Example: Suppose the value of this field is [\"NUMERIC\", \"BIGNUMERIC\"]. If (precision,scale) is: * (38,9) -> NUMERIC; * (39,9) -> BIGNUMERIC (NUMERIC cannot hold 30 integer digits); * (38,10) -> BIGNUMERIC (NUMERIC cannot hold 10 fractional digits); * (76,38) -> BIGNUMERIC; * (77,38) -> BIGNUMERIC (error if value exeeds supported range). This field cannot contain duplicate types. The order of the types in this field is ignored. For example, [\"BIGNUMERIC\", \"NUMERIC\"] is the same as [\"NUMERIC\", \"BIGNUMERIC\"] and NUMERIC always takes precedence over BIGNUMERIC. Defaults to [\"NUMERIC\", \"STRING\"] for ORC and [\"NUMERIC\"] for the other file formats.", + "description": "Defines the list of possible SQL data types to which the source decimal values are converted. This list and the precision and the scale parameters of the decimal field determine the target type. In the order of NUMERIC, BIGNUMERIC, and STRING, a type is picked if it is in the specified list and if it supports the precision and the scale. STRING supports all precision and scale values. If none of the listed types supports the precision and the scale, the type supporting the widest range in the specified list is picked, and if a value exceeds the supported range when reading the data, an error will be thrown. Example: Suppose the value of this field is [\"NUMERIC\", \"BIGNUMERIC\"]. If (precision,scale) is: * (38,9) -> NUMERIC; * (39,9) -> BIGNUMERIC (NUMERIC cannot hold 30 integer digits); * (38,10) -> BIGNUMERIC (NUMERIC cannot hold 10 fractional digits); * (76,38) -> BIGNUMERIC; * (77,38) -> BIGNUMERIC (error if value exceeds supported range). This field cannot contain duplicate types. The order of the types in this field is ignored. For example, [\"BIGNUMERIC\", \"NUMERIC\"] is the same as [\"NUMERIC\", \"BIGNUMERIC\"] and NUMERIC always takes precedence over BIGNUMERIC. Defaults to [\"NUMERIC\", \"STRING\"] for ORC and [\"NUMERIC\"] for the other file formats.", "items": { "enum": [ "DECIMAL_TARGET_TYPE_UNSPECIFIED", @@ -5162,7 +5455,7 @@ "GEOJSON" ], "enumDescriptions": [ - "The default if provided value is not one included in the enum, or the value is not specified. The source formate is parsed without any modification.", + "The default if provided value is not one included in the enum, or the value is not specified. The source format is parsed without any modification.", "Use GeoJSON variant of JSON. See https://tools.ietf.org/html/rfc7946." ], "type": "string" @@ -5240,10 +5533,22 @@ }, "type": "array" }, + "timeFormat": { + "description": "Optional. Date format used for parsing TIME values.", + "type": "string" + }, "timePartitioning": { "$ref": "TimePartitioning", "description": "Time-based partitioning specification for the destination table. Only one of timePartitioning and rangePartitioning should be specified." }, + "timeZone": { + "description": "Optional. [Experimental] Default time zone that will apply when parsing timestamp values that have no specific time zone.", + "type": "string" + }, + "timestampFormat": { + "description": "Optional. Date format used for parsing TIMESTAMP values.", + "type": "string" + }, "useAvroLogicalTypes": { "description": "Optional. If sourceFormat is set to \"AVRO\", indicates whether to interpret logical types as the corresponding BigQuery data type (for example, TIMESTAMP), instead of using the raw type (for example, INTEGER).", "type": "boolean" @@ -5389,6 +5694,10 @@ "writeDisposition": { "description": "Optional. Specifies the action that occurs if the destination table already exists. The following values are supported: * WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the data, removes the constraints, and uses the schema from the query result. * WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. * WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.", "type": "string" + }, + "writeIncrementalResults": { + "description": "Optional. This is only supported for a SELECT query using a temporary table. If set, the query is allowed to write results incrementally to the temporary result table. This may incur a performance penalty. This option cannot be used with Legacy SQL. This feature is not yet available.", + "type": "boolean" } }, "type": "object" @@ -5935,7 +6244,7 @@ "readOnly": true }, "statementType": { - "description": "Output only. The type of query statement, if valid. Possible values: * `SELECT`: [`SELECT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#select_list) statement. * `ASSERT`: [`ASSERT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/debugging-statements#assert) statement. * `INSERT`: [`INSERT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax#insert_statement) statement. * `UPDATE`: [`UPDATE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#update_statement) statement. * `DELETE`: [`DELETE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language) statement. * `MERGE`: [`MERGE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language) statement. * `CREATE_TABLE`: [`CREATE TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_table_statement) statement, without `AS SELECT`. * `CREATE_TABLE_AS_SELECT`: [`CREATE TABLE AS SELECT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#query_statement) statement. * `CREATE_VIEW`: [`CREATE VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_view_statement) statement. * `CREATE_MODEL`: [`CREATE MODEL`](https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-create#create_model_statement) statement. * `CREATE_MATERIALIZED_VIEW`: [`CREATE MATERIALIZED VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_materialized_view_statement) statement. * `CREATE_FUNCTION`: [`CREATE FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_function_statement) statement. * `CREATE_TABLE_FUNCTION`: [`CREATE TABLE FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_table_function_statement) statement. * `CREATE_PROCEDURE`: [`CREATE PROCEDURE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_procedure) statement. * `CREATE_ROW_ACCESS_POLICY`: [`CREATE ROW ACCESS POLICY`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_row_access_policy_statement) statement. * `CREATE_SCHEMA`: [`CREATE SCHEMA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_schema_statement) statement. * `CREATE_SNAPSHOT_TABLE`: [`CREATE SNAPSHOT TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_snapshot_table_statement) statement. * `CREATE_SEARCH_INDEX`: [`CREATE SEARCH INDEX`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_search_index_statement) statement. * `DROP_TABLE`: [`DROP TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_table_statement) statement. * `DROP_EXTERNAL_TABLE`: [`DROP EXTERNAL TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_external_table_statement) statement. * `DROP_VIEW`: [`DROP VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_view_statement) statement. * `DROP_MODEL`: [`DROP MODEL`](https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-drop-model) statement. * `DROP_MATERIALIZED_VIEW`: [`DROP MATERIALIZED VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_materialized_view_statement) statement. * `DROP_FUNCTION` : [`DROP FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_function_statement) statement. * `DROP_TABLE_FUNCTION` : [`DROP TABLE FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_table_function) statement. * `DROP_PROCEDURE`: [`DROP PROCEDURE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_procedure_statement) statement. * `DROP_SEARCH_INDEX`: [`DROP SEARCH INDEX`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_search_index) statement. * `DROP_SCHEMA`: [`DROP SCHEMA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_schema_statement) statement. * `DROP_SNAPSHOT_TABLE`: [`DROP SNAPSHOT TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_snapshot_table_statement) statement. * `DROP_ROW_ACCESS_POLICY`: [`DROP [ALL] ROW ACCESS POLICY|POLICIES`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_row_access_policy_statement) statement. * `ALTER_TABLE`: [`ALTER TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_table_set_options_statement) statement. * `ALTER_VIEW`: [`ALTER VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_view_set_options_statement) statement. * `ALTER_MATERIALIZED_VIEW`: [`ALTER MATERIALIZED VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_materialized_view_set_options_statement) statement. * `ALTER_SCHEMA`: [`ALTER SCHEMA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#aalter_schema_set_options_statement) statement. * `SCRIPT`: [`SCRIPT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/procedural-language). * `TRUNCATE_TABLE`: [`TRUNCATE TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax#truncate_table_statement) statement. * `CREATE_EXTERNAL_TABLE`: [`CREATE EXTERNAL TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_external_table_statement) statement. * `EXPORT_DATA`: [`EXPORT DATA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/other-statements#export_data_statement) statement. * `EXPORT_MODEL`: [`EXPORT MODEL`](https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-export-model) statement. * `LOAD_DATA`: [`LOAD DATA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/other-statements#load_data_statement) statement. * `CALL`: [`CALL`](https://cloud.google.com/bigquery/docs/reference/standard-sql/procedural-language#call) statement.", + "description": "Output only. The type of query statement, if valid. Possible values: * `SELECT`: [`SELECT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#select_list) statement. * `ASSERT`: [`ASSERT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/debugging-statements#assert) statement. * `INSERT`: [`INSERT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax#insert_statement) statement. * `UPDATE`: [`UPDATE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax#update_statement) statement. * `DELETE`: [`DELETE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language) statement. * `MERGE`: [`MERGE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language) statement. * `CREATE_TABLE`: [`CREATE TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_table_statement) statement, without `AS SELECT`. * `CREATE_TABLE_AS_SELECT`: [`CREATE TABLE AS SELECT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_table_statement) statement. * `CREATE_VIEW`: [`CREATE VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_view_statement) statement. * `CREATE_MODEL`: [`CREATE MODEL`](https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-create#create_model_statement) statement. * `CREATE_MATERIALIZED_VIEW`: [`CREATE MATERIALIZED VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_materialized_view_statement) statement. * `CREATE_FUNCTION`: [`CREATE FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_function_statement) statement. * `CREATE_TABLE_FUNCTION`: [`CREATE TABLE FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_table_function_statement) statement. * `CREATE_PROCEDURE`: [`CREATE PROCEDURE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_procedure) statement. * `CREATE_ROW_ACCESS_POLICY`: [`CREATE ROW ACCESS POLICY`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_row_access_policy_statement) statement. * `CREATE_SCHEMA`: [`CREATE SCHEMA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_schema_statement) statement. * `CREATE_SNAPSHOT_TABLE`: [`CREATE SNAPSHOT TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_snapshot_table_statement) statement. * `CREATE_SEARCH_INDEX`: [`CREATE SEARCH INDEX`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_search_index_statement) statement. * `DROP_TABLE`: [`DROP TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_table_statement) statement. * `DROP_EXTERNAL_TABLE`: [`DROP EXTERNAL TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_external_table_statement) statement. * `DROP_VIEW`: [`DROP VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_view_statement) statement. * `DROP_MODEL`: [`DROP MODEL`](https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-drop-model) statement. * `DROP_MATERIALIZED_VIEW`: [`DROP MATERIALIZED VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_materialized_view_statement) statement. * `DROP_FUNCTION` : [`DROP FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_function_statement) statement. * `DROP_TABLE_FUNCTION` : [`DROP TABLE FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_table_function) statement. * `DROP_PROCEDURE`: [`DROP PROCEDURE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_procedure_statement) statement. * `DROP_SEARCH_INDEX`: [`DROP SEARCH INDEX`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_search_index) statement. * `DROP_SCHEMA`: [`DROP SCHEMA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_schema_statement) statement. * `DROP_SNAPSHOT_TABLE`: [`DROP SNAPSHOT TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_snapshot_table_statement) statement. * `DROP_ROW_ACCESS_POLICY`: [`DROP [ALL] ROW ACCESS POLICY|POLICIES`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_row_access_policy_statement) statement. * `ALTER_TABLE`: [`ALTER TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_table_set_options_statement) statement. * `ALTER_VIEW`: [`ALTER VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_view_set_options_statement) statement. * `ALTER_MATERIALIZED_VIEW`: [`ALTER MATERIALIZED VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_materialized_view_set_options_statement) statement. * `ALTER_SCHEMA`: [`ALTER SCHEMA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_schema_set_options_statement) statement. * `SCRIPT`: [`SCRIPT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/procedural-language). * `TRUNCATE_TABLE`: [`TRUNCATE TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax#truncate_table_statement) statement. * `CREATE_EXTERNAL_TABLE`: [`CREATE EXTERNAL TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_external_table_statement) statement. * `EXPORT_DATA`: [`EXPORT DATA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/other-statements#export_data_statement) statement. * `EXPORT_MODEL`: [`EXPORT MODEL`](https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-export-model) statement. * `LOAD_DATA`: [`LOAD DATA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/other-statements#load_data_statement) statement. * `CALL`: [`CALL`](https://cloud.google.com/bigquery/docs/reference/standard-sql/procedural-language#call) statement.", "readOnly": true, "type": "string" }, @@ -6347,7 +6656,7 @@ "View has no cached data because it has not refreshed yet.", "The estimated cost of the view is more expensive than another view or the base table. Note: The estimate cost might not match the billed cost.", "View has no cached data because a base table is truncated.", - "View is invalidated because of a data change in one or more base tables. It could be any recent change if the [`max_staleness`](https://cloud.google.com/bigquery/docs/materialized-views-create#max_staleness) option is not set for the view, or otherwise any change outside of the staleness window.", + "View is invalidated because of a data change in one or more base tables. It could be any recent change if the [`maxStaleness`](https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#Table.FIELDS.max_staleness) option is not set for the view, or otherwise any change outside of the staleness window.", "View is invalidated because a base table's partition expiration has changed.", "View is invalidated because a base table's partition has expired.", "View is invalidated because a base table has an incompatible metadata change.", @@ -6370,7 +6679,7 @@ "id": "MaterializedViewDefinition", "properties": { "allowNonIncrementalDefinition": { - "description": "Optional. This option declares the intention to construct a materialized view that isn't refreshed incrementally.", + "description": "Optional. This option declares the intention to construct a materialized view that isn't refreshed incrementally. Non-incremental materialized views support an expanded range of SQL queries. The `allow_non_incremental_definition` option can't be changed after the materialized view is created.", "type": "boolean" }, "enableRefresh": { @@ -6433,7 +6742,7 @@ "type": "object" }, "MetadataCacheStatistics": { - "description": "Statistics for metadata caching in BigLake tables.", + "description": "Statistics for metadata caching in queried tables.", "id": "MetadataCacheStatistics", "properties": { "tableMetadataCacheUsage": { @@ -7185,6 +7494,10 @@ "$ref": "DatasetReference", "description": "Optional. Specifies the default datasetId and projectId to assume for any unqualified table names in the query. If not set, all table names in the query string must be qualified in the format 'datasetId.tableId'." }, + "destinationEncryptionConfiguration": { + "$ref": "EncryptionConfiguration", + "description": "Optional. Custom encryption configuration (e.g., Cloud KMS keys)" + }, "dryRun": { "description": "Optional. If set to true, BigQuery doesn't run the job. Instead, if the query is valid, BigQuery returns statistics about the job such as how many bytes would be processed. If the query is invalid, an error returns. The default value is false.", "type": "boolean" @@ -7207,6 +7520,11 @@ ], "type": "string" }, + "jobTimeoutMs": { + "description": "Optional. Job timeout in milliseconds. If this time limit is exceeded, BigQuery will attempt to stop a longer job, but may not always succeed in canceling it before the job completes. For example, a job that takes more than 60 seconds to complete has a better chance of being stopped than a job that takes 10 seconds to complete. This timeout applies to the query even if a job does not need to be created.", + "format": "int64", + "type": "string" + }, "kind": { "default": "bigquery#queryRequest", "description": "The resource type of the request.", @@ -7220,7 +7538,7 @@ "type": "object" }, "location": { - "description": "The geographic location where the job should run. See details at https://cloud.google.com/bigquery/docs/locations#specifying_your_location.", + "description": "The geographic location where the job should run. For more information, see how to [specify locations](https://cloud.google.com/bigquery/docs/locations#specify_locations).", "type": "string" }, "maxResults": { @@ -7271,6 +7589,10 @@ "default": "true", "description": "Optional. Whether to look for the result in the query cache. The query cache is a best-effort cache that will be flushed whenever tables in the query are modified. The default value is true.", "type": "boolean" + }, + "writeIncrementalResults": { + "description": "Optional. This is only supported for SELECT query. If set, the query is allowed to write results incrementally to the temporary result table. This may incur a performance penalty. This option cannot be used with Legacy SQL. This feature is not yet available.", + "type": "boolean" } }, "type": "object" @@ -7282,11 +7604,23 @@ "description": "Whether the query result was fetched from the query cache.", "type": "boolean" }, + "creationTime": { + "description": "Output only. Creation time of this query, in milliseconds since the epoch. This field will be present on all queries.", + "format": "int64", + "readOnly": true, + "type": "string" + }, "dmlStats": { "$ref": "DmlStatistics", "description": "Output only. Detailed statistics for DML statements INSERT, UPDATE, DELETE, MERGE or TRUNCATE.", "readOnly": true }, + "endTime": { + "description": "Output only. End time of this query, in milliseconds since the epoch. This field will be present whenever a query job is in the DONE state.", + "format": "int64", + "readOnly": true, + "type": "string" + }, "errors": { "description": "Output only. The first errors or warnings encountered during the running of the job. The final message includes the number of errors that caused the process to stop. Errors here do not necessarily mean that the job has completed or was unsuccessful. For more information about error messages, see [Error messages](https://cloud.google.com/bigquery/docs/error-messages).", "items": { @@ -7312,6 +7646,11 @@ "description": "The resource type.", "type": "string" }, + "location": { + "description": "Output only. The geographic location of the query. For more information about BigQuery locations, see: https://cloud.google.com/bigquery/docs/locations", + "readOnly": true, + "type": "string" + }, "numDmlAffectedRows": { "description": "Output only. The number of rows affected by a DML statement. Present only for DML statements INSERT, UPDATE or DELETE.", "format": "int64", @@ -7342,6 +7681,18 @@ "description": "Output only. Information of the session if this job is part of one.", "readOnly": true }, + "startTime": { + "description": "Output only. Start time of this query, in milliseconds since the epoch. This field will be present when the query job transitions from the PENDING state to either RUNNING or DONE.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "totalBytesBilled": { + "description": "Output only. If the project is configured to use on-demand pricing, then this field contains the total bytes billed for the job. If the project is configured to use flat-rate pricing, then you are not billed for bytes and this field is informational only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, "totalBytesProcessed": { "description": "The total number of bytes processed for this query. If this query was a dry run, this is the number of bytes that would be processed if the query were run.", "format": "int64", @@ -7351,6 +7702,12 @@ "description": "The total number of rows in the complete query result set, which can be more than the number of rows in this single page of results.", "format": "uint64", "type": "string" + }, + "totalSlotMs": { + "description": "Output only. Number of slot ms the user is actually billed for.", + "format": "int64", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -7799,6 +8156,13 @@ "description": "Required. A SQL boolean expression that represents the rows defined by this row access policy, similar to the boolean expression in a WHERE clause of a SELECT query on a table. References to other tables, routines, and temporary functions are not supported. Examples: region=\"EU\" date_field = CAST('2019-9-27' as DATE) nullable_field is not NULL numeric_field BETWEEN 1.0 AND 5.0", "type": "string" }, + "grantees": { + "description": "Optional. Input only. The optional list of iam_member users or groups that specifies the initial members that the row-level access policy should be created with. grantees types: - \"user:alice@example.com\": An email address that represents a specific Google account. - \"serviceAccount:my-other-app@appspot.gserviceaccount.com\": An email address that represents a service account. - \"group:admins@example.com\": An email address that represents a Google group. - \"domain:example.com\":The Google Workspace domain (primary) that represents all the users of that domain. - \"allAuthenticatedUsers\": A special identifier that represents all service accounts and all users on the internet who have authenticated with a Google Account. This identifier includes accounts that aren't connected to a Google Workspace or Cloud Identity domain, such as personal Gmail accounts. Users who aren't authenticated, such as anonymous visitors, aren't included. - \"allUsers\":A special identifier that represents anyone who is on the internet, including authenticated and unauthenticated users. Because BigQuery requires authentication before a user can access the service, allUsers includes only authenticated users.", + "items": { + "type": "string" + }, + "type": "array" + }, "lastModifiedTime": { "description": "Output only. The time when this row access policy was last modified, in milliseconds since the epoch.", "format": "google-datetime", @@ -8365,6 +8729,68 @@ }, "type": "object" }, + "StoredColumnsUnusedReason": { + "description": "If the stored column was not used, explain why.", + "id": "StoredColumnsUnusedReason", + "properties": { + "code": { + "description": "Specifies the high-level reason for the unused scenario, each reason must have a code associated.", + "enum": [ + "CODE_UNSPECIFIED", + "STORED_COLUMNS_COVER_INSUFFICIENT", + "BASE_TABLE_HAS_RLS", + "BASE_TABLE_HAS_CLS", + "UNSUPPORTED_PREFILTER", + "INTERNAL_ERROR", + "OTHER_REASON" + ], + "enumDescriptions": [ + "Default value.", + "If stored columns do not fully cover the columns.", + "If the base table has RLS (Row Level Security).", + "If the base table has CLS (Column Level Security).", + "If the provided prefilter is not supported.", + "If an internal error is preventing stored columns from being used.", + "Indicates that the reason stored columns cannot be used in the query is not covered by any of the other StoredColumnsUnusedReason options." + ], + "type": "string" + }, + "message": { + "description": "Specifies the detailed description for the scenario.", + "type": "string" + }, + "uncoveredColumns": { + "description": "Specifies which columns were not covered by the stored columns for the specified code up to 20 columns. This is populated when the code is STORED_COLUMNS_COVER_INSUFFICIENT and BASE_TABLE_HAS_CLS.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "StoredColumnsUsage": { + "description": "Indicates the stored columns usage in the query.", + "id": "StoredColumnsUsage", + "properties": { + "baseTable": { + "$ref": "TableReference", + "description": "Specifies the base table." + }, + "isQueryAccelerated": { + "description": "Specifies whether the query was accelerated with stored columns.", + "type": "boolean" + }, + "storedColumnsUnusedReasons": { + "description": "If stored columns were not used, explain why.", + "items": { + "$ref": "StoredColumnsUnusedReason" + }, + "type": "array" + } + }, + "type": "object" + }, "Streamingbuffer": { "id": "Streamingbuffer", "properties": { @@ -9094,7 +9520,7 @@ "properties": { "privacyPolicy": { "$ref": "PrivacyPolicy", - "description": "Specifices the privacy policy for the view." + "description": "Specifies the privacy policy for the view." }, "useLegacySql": { "description": "True if view is defined in legacy SQL dialect, false if in GoogleSQL.", @@ -9466,7 +9892,7 @@ "type": "string" }, "dataSplitColumn": { - "description": "The column to split data with. This column won't be used as a feature. 1. When data_split_method is CUSTOM, the corresponding column should be boolean. The rows with true value tag are eval data, and the false are training data. 2. When data_split_method is SEQ, the first DATA_SPLIT_EVAL_FRACTION rows (from smallest to largest) in the corresponding column are used as training data, and the rest are eval data. It respects the order in Orderable data types: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#data-type-properties", + "description": "The column to split data with. This column won't be used as a feature. 1. When data_split_method is CUSTOM, the corresponding column should be boolean. The rows with true value tag are eval data, and the false are training data. 2. When data_split_method is SEQ, the first DATA_SPLIT_EVAL_FRACTION rows (from smallest to largest) in the corresponding column are used as training data, and the rest are eval data. It respects the order in Orderable data types: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#data_type_properties", "type": "string" }, "dataSplitEvalFraction": { @@ -9550,6 +9976,16 @@ "description": "Whether the model should include intercept during model training.", "type": "boolean" }, + "forecastLimitLowerBound": { + "description": "The forecast limit lower bound that was used during ARIMA model training with limits. To see more details of the algorithm: https://otexts.com/fpp2/limits.html", + "format": "double", + "type": "number" + }, + "forecastLimitUpperBound": { + "description": "The forecast limit upper bound that was used during ARIMA model training with limits.", + "format": "double", + "type": "number" + }, "hiddenUnits": { "description": "Hidden units for dnn models.", "items": { @@ -9699,7 +10135,7 @@ "Ukraine", "United States", "Venezuela", - "Viet Nam", + "Vietnam", "South Africa" ], "type": "string" @@ -9846,7 +10282,7 @@ "Ukraine", "United States", "Venezuela", - "Viet Nam", + "Vietnam", "South Africa" ], "type": "string" @@ -9892,7 +10328,7 @@ "Recall is the fraction of actual positive labels that were given a positive prediction. For multiclass this is a macro-averaged metric.", "Accuracy is the fraction of predictions given the correct label. For multiclass this is a globally micro-averaged metric.", "The F1 score is an average of recall and precision. For multiclass this is a macro-averaged metric.", - "Logorithmic Loss. For multiclass this is a macro-averaged metric.", + "Logarithmic Loss. For multiclass this is a macro-averaged metric.", "Area Under an ROC Curve. For multiclass this is a macro-averaged metric.", "Davies-Bouldin Index.", "Mean Average Precision.", @@ -10389,6 +10825,13 @@ "The entire vector search query used vector indexes." ], "type": "string" + }, + "storedColumnsUsages": { + "description": "Specifies the usage of stored columns in the query when stored columns are used in the query.", + "items": { + "$ref": "StoredColumnsUsage" + }, + "type": "array" } }, "type": "object" @@ -10406,7 +10849,7 @@ }, "privacyPolicy": { "$ref": "PrivacyPolicy", - "description": "Optional. Specifices the privacy policy for the view." + "description": "Optional. Specifies the privacy policy for the view." }, "query": { "description": "Required. A query that BigQuery executes when the view is referenced.", diff --git a/discovery/googleapis/bigqueryreservation__v1.json b/discovery/googleapis/bigqueryreservation__v1.json index 2f4d780ab..de2d27e5f 100644 --- a/discovery/googleapis/bigqueryreservation__v1.json +++ b/discovery/googleapis/bigqueryreservation__v1.json @@ -110,7 +110,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241209", + "revision": "20250304", "rootUrl": "https://bigqueryreservation.googleapis.com/", "servicePath": "", "title": "BigQuery Reservation API", @@ -1293,6 +1293,30 @@ }, "type": "object" }, + "ReplicationStatus": { + "description": "Disaster Recovery(DR) replication status of the reservation.", + "id": "ReplicationStatus", + "properties": { + "error": { + "$ref": "Status", + "description": "Output only. The last error encountered while trying to replicate changes from the primary to the secondary. This field is only available if the replication has not succeeded since.", + "readOnly": true + }, + "lastErrorTime": { + "description": "Output only. The time at which the last error was encountered while trying to replicate changes from the primary to the secondary. This field is only available if the replication has not succeeded since.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "lastReplicationTime": { + "description": "Output only. A timestamp corresponding to the last change on the primary that was successfully replicated to the secondary.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Reservation": { "description": "A reservation is a mechanism used to guarantee slots to users.", "id": "Reservation", @@ -1339,6 +1363,11 @@ "description": "Optional. The labels associated with this reservation. You can use these to organize and group your reservations. You can set this property when inserting or updating a reservation.", "type": "object" }, + "maxSlots": { + "description": "Optional. The overall max slots for the reservation, covering slot_capacity (baseline), idle slots (if ignore_idle_slots is false) and scaled slots. If present, the reservation won't use more than the specified number of slots, even if there is demand and supply (from idle slots). NOTE: capping a reservation's idle slot usage is best effort and its usage may exceed the max_slots value. However, in terms of autoscale.current_slots (which accounts for the additional added slots), it will never exceed the max_slots - baseline. This field must be set together with the scaling_mode enum value, otherwise the request will be rejected with error code `google.rpc.Code.INVALID_ARGUMENT`. If the max_slots and scaling_mode are set, the autoscale or autoscale.max_slots field must be unset. Otherwise the request will be rejected with error code `google.rpc.Code.INVALID_ARGUMENT`. However, the autoscale field may still be in the output. The autopscale.max_slots will always show as 0 and the autoscaler.current_slots will represent the current slots from autoscaler excluding idle slots. For example, if the max_slots is 1000 and scaling_mode is AUTOSCALE_ONLY, then in the output, the autoscaler.max_slots will be 0 and the autoscaler.current_slots may be any value between 0 and 1000. If the max_slots is 1000, scaling_mode is ALL_SLOTS, the baseline is 100 and idle slots usage is 200, then in the output, the autoscaler.max_slots will be 0 and the autoscaler.current_slots will not be higher than 700. If the max_slots is 1000, scaling_mode is IDLE_SLOTS_ONLY, then in the output, the autoscaler field will be null. If the max_slots and scaling_mode are set, then the ignore_idle_slots field must be aligned with the scaling_mode enum value.(See details in ScalingMode comments). Otherwise the request will be rejected with error code `google.rpc.Code.INVALID_ARGUMENT`. Please note, the max_slots is for user to manage the part of slots greater than the baseline. Therefore, we don't allow users to set max_slots smaller or equal to the baseline as it will not be meaningful. If the field is present and slot_capacity>=max_slots, requests will be rejected with error code `google.rpc.Code.INVALID_ARGUMENT`. Please note that if max_slots is set to 0, we will treat it as unset. Customers can set max_slots to 0 and set scaling_mode to SCALING_MODE_UNSPECIFIED to disable the max_slots feature.", + "format": "int64", + "type": "string" + }, "multiRegionAuxiliary": { "description": "Applicable only for reservations located within one of the BigQuery multi-regions (US or EU). If set to true, this reservation is placed in the organization's secondary region which is designated for disaster recovery purposes. If false, this reservation is placed in the organization's default region. NOTE: this is a preview feature. Project must be allow-listed in order to set this field.", "type": "boolean" @@ -1357,12 +1386,33 @@ "readOnly": true, "type": "string" }, + "replicationStatus": { + "$ref": "ReplicationStatus", + "description": "Output only. The Disaster Recovery(DR) replication status of the reservation. This is only available for the primary replicas of DR/failover reservations and provides information about the both the staleness of the secondary and the last error encountered while trying to replicate changes from the primary to the secondary. If this field is blank, it means that the reservation is either not a DR reservation or the reservation is a DR secondary or that any replication operations on the reservation have succeeded.", + "readOnly": true + }, + "scalingMode": { + "description": "The scaling mode for the reservation. If the field is present but max_slots is not present, requests will be rejected with error code `google.rpc.Code.INVALID_ARGUMENT`.", + "enum": [ + "SCALING_MODE_UNSPECIFIED", + "AUTOSCALE_ONLY", + "IDLE_SLOTS_ONLY", + "ALL_SLOTS" + ], + "enumDescriptions": [ + "Default value of ScalingMode.", + "The reservation will scale up only using slots from autoscaling. It will not use any idle slots even if there may be some available. The upper limit that autoscaling can scale up to will be max_slots - baseline. For example, if max_slots is 1000, baseline is 200 and customer sets ScalingMode to AUTOSCALE_ONLY, then autoscalerg will scale up to 800 slots and no idle slots will be used. Please note, in this mode, the ignore_idle_slots field must be set to true. Otherwise the request will be rejected with error code `google.rpc.Code.INVALID_ARGUMENT`.", + "The reservation will scale up using only idle slots contributed by other reservations or from unassigned commitments. If no idle slots are available it will not scale up further. If the idle slots which it is using are reclaimed by the contributing reservation(s) it may be forced to scale down. The max idle slots the reservation can be max_slots - baseline capacity. For example, if max_slots is 1000, baseline is 200 and customer sets ScalingMode to IDLE_SLOTS_ONLY, 1. if there are 1000 idle slots available in other reservations, the reservation will scale up to 1000 slots with 200 baseline and 800 idle slots. 2. if there are 500 idle slots available in other reservations, the reservation will scale up to 700 slots with 200 baseline and 300 idle slots. Please note, in this mode, the reservation might not be able to scale up to max_slots. Please note, in this mode, the ignore_idle_slots field must be set to false. Otherwise the request will be rejected with error code `google.rpc.Code.INVALID_ARGUMENT`.", + "The reservation will scale up using all slots available to it. It will use idle slots contributed by other reservations or from unassigned commitments first. If no idle slots are available it will scale up using autoscaling. For example, if max_slots is 1000, baseline is 200 and customer sets ScalingMode to ALL_SLOTS, 1. if there are 800 idle slots available in other reservations, the reservation will scale up to 1000 slots with 200 baseline and 800 idle slots. 2. if there are 500 idle slots available in other reservations, the reservation will scale up to 1000 slots with 200 baseline, 500 idle slots and 300 autoscaling slots. 3. if there are no idle slots available in other reservations, it will scale up to 1000 slots with 200 baseline and 800 autoscaling slots. Please note, in this mode, the ignore_idle_slots field must be set to false. Otherwise the request will be rejected with error code `google.rpc.Code.INVALID_ARGUMENT`." + ], + "type": "string" + }, "secondaryLocation": { "description": "Optional. The current location of the reservation's secondary replica. This field is only set for reservations using the managed disaster recovery feature. Users can set this in create reservation calls to create a failover reservation or in update reservation calls to convert a non-failover reservation to a failover reservation(or vice versa).", "type": "string" }, "slotCapacity": { - "description": "Baseline slots available to this reservation. A slot is a unit of computational power in BigQuery, and serves as the unit of parallelism. Queries using this reservation might use more slots during runtime if ignore_idle_slots is set to false, or autoscaling is enabled. If edition is EDITION_UNSPECIFIED and total slot_capacity of the reservation and its siblings exceeds the total slot_count of all capacity commitments, the request will fail with `google.rpc.Code.RESOURCE_EXHAUSTED`. If edition is any value but EDITION_UNSPECIFIED, then the above requirement is not needed. The total slot_capacity of the reservation and its siblings may exceed the total slot_count of capacity commitments. In that case, the exceeding slots will be charged with the autoscale SKU. You can increase the number of baseline slots in a reservation every few minutes. If you want to decrease your baseline slots, you are limited to once an hour if you have recently changed your baseline slot capacity and your baseline slots exceed your committed slots. Otherwise, you can decrease your baseline slots every few minutes.", + "description": "Baseline slots available to this reservation. A slot is a unit of computational power in BigQuery, and serves as the unit of parallelism. Queries using this reservation might use more slots during runtime if ignore_idle_slots is set to false, or autoscaling is enabled. The total slot_capacity of the reservation and its siblings may exceed the total slot_count of capacity commitments. In that case, the exceeding slots will be charged with the autoscale SKU. You can increase the number of baseline slots in a reservation every few minutes. If you want to decrease your baseline slots, you are limited to once an hour if you have recently changed your baseline slot capacity and your baseline slots exceed your committed slots. Otherwise, you can decrease your baseline slots every few minutes.", "format": "int64", "type": "string" }, diff --git a/discovery/googleapis/bigtableadmin__v2.json b/discovery/googleapis/bigtableadmin__v2.json index f43844308..958f3d819 100644 --- a/discovery/googleapis/bigtableadmin__v2.json +++ b/discovery/googleapis/bigtableadmin__v2.json @@ -49,7 +49,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241203", + "revision": "20250227", "rootUrl": "https://bigtableadmin.googleapis.com/", "servicePath": "", "title": "Cloud Bigtable Admin API", @@ -1315,6 +1315,212 @@ } } }, + "logicalViews": { + "methods": { + "getIamPolicy": { + "description": "Gets the access control policy for an instance resource. Returns an empty policy if an instance exists but does not have a policy set.", + "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/logicalViews/{logicalViewsId}:getIamPolicy", + "httpMethod": "POST", + "id": "bigtableadmin.projects.instances.logicalViews.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/instances/[^/]+/logicalViews/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+resource}:getIamPolicy", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigtable.admin", + "https://www.googleapis.com/auth/bigtable.admin.cluster", + "https://www.googleapis.com/auth/bigtable.admin.instance", + "https://www.googleapis.com/auth/cloud-bigtable.admin", + "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on an instance resource. Replaces any existing policy.", + "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/logicalViews/{logicalViewsId}:setIamPolicy", + "httpMethod": "POST", + "id": "bigtableadmin.projects.instances.logicalViews.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/instances/[^/]+/logicalViews/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigtable.admin", + "https://www.googleapis.com/auth/bigtable.admin.cluster", + "https://www.googleapis.com/auth/bigtable.admin.instance", + "https://www.googleapis.com/auth/cloud-bigtable.admin", + "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that the caller has on the specified instance resource.", + "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/logicalViews/{logicalViewsId}:testIamPermissions", + "httpMethod": "POST", + "id": "bigtableadmin.projects.instances.logicalViews.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/instances/[^/]+/logicalViews/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigtable.admin", + "https://www.googleapis.com/auth/bigtable.admin.cluster", + "https://www.googleapis.com/auth/bigtable.admin.instance", + "https://www.googleapis.com/auth/cloud-bigtable.admin", + "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "materializedViews": { + "methods": { + "getIamPolicy": { + "description": "Gets the access control policy for an instance resource. Returns an empty policy if an instance exists but does not have a policy set.", + "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/materializedViews/{materializedViewsId}:getIamPolicy", + "httpMethod": "POST", + "id": "bigtableadmin.projects.instances.materializedViews.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/instances/[^/]+/materializedViews/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+resource}:getIamPolicy", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigtable.admin", + "https://www.googleapis.com/auth/bigtable.admin.cluster", + "https://www.googleapis.com/auth/bigtable.admin.instance", + "https://www.googleapis.com/auth/cloud-bigtable.admin", + "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on an instance resource. Replaces any existing policy.", + "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/materializedViews/{materializedViewsId}:setIamPolicy", + "httpMethod": "POST", + "id": "bigtableadmin.projects.instances.materializedViews.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/instances/[^/]+/materializedViews/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigtable.admin", + "https://www.googleapis.com/auth/bigtable.admin.cluster", + "https://www.googleapis.com/auth/bigtable.admin.instance", + "https://www.googleapis.com/auth/cloud-bigtable.admin", + "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that the caller has on the specified instance resource.", + "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/materializedViews/{materializedViewsId}:testIamPermissions", + "httpMethod": "POST", + "id": "bigtableadmin.projects.instances.materializedViews.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/instances/[^/]+/materializedViews/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigtable.admin", + "https://www.googleapis.com/auth/bigtable.admin.cluster", + "https://www.googleapis.com/auth/bigtable.admin.instance", + "https://www.googleapis.com/auth/cloud-bigtable.admin", + "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "tables": { "methods": { "checkConsistency": { @@ -1672,7 +1878,7 @@ "type": "string" }, "updateMask": { - "description": "Required. The list of fields to update. A mask specifying which fields (e.g. `change_stream_config`) in the `table` field should be updated. This mask is relative to the `table` field, not to the request message. The wildcard (*) path is currently not supported. Currently UpdateTable is only supported for the following fields: * `change_stream_config` * `change_stream_config.retention_period` * `deletion_protection` If `column_families` is set in `update_mask`, it will return an UNIMPLEMENTED error.", + "description": "Required. The list of fields to update. A mask specifying which fields (e.g. `change_stream_config`) in the `table` field should be updated. This mask is relative to the `table` field, not to the request message. The wildcard (*) path is currently not supported. Currently UpdateTable is only supported for the following fields: * `change_stream_config` * `change_stream_config.retention_period` * `deletion_protection` * `automated_backup_policy` * `automated_backup_policy.retention_period` * `automated_backup_policy.frequency` * `row_key_schema` If `column_families` is set in `update_mask`, it will return an UNIMPLEMENTED error.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -3273,7 +3479,12 @@ "GoogleBigtableAdminV2TypeBytesEncodingRaw": { "description": "Leaves the value as-is. Sorted mode: all values are supported. Distinct mode: all values are supported.", "id": "GoogleBigtableAdminV2TypeBytesEncodingRaw", - "properties": {}, + "properties": { + "escapeNulls": { + "description": "If set, allows NULL values to be encoded as the empty string \"\". The actual empty string, or any value which only contains the null byte 0x00, has one more null byte appended.", + "type": "boolean" + } + }, "type": "object" }, "GoogleBigtableAdminV2TypeDate": { @@ -3312,6 +3523,10 @@ "bigEndianBytes": { "$ref": "GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes", "description": "Use `BigEndianBytes` encoding." + }, + "orderedCodeBytes": { + "$ref": "GoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes", + "description": "Use `OrderedCodeBytes` encoding." } }, "type": "object" @@ -3328,6 +3543,12 @@ }, "type": "object" }, + "GoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes": { + "description": "Encodes the value in a variable length binary format of up to 10 bytes. Values that are closer to zero use fewer bytes. Sorted mode: all values are supported. Distinct mode: all values are supported.", + "id": "GoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes", + "properties": {}, + "type": "object" + }, "GoogleBigtableAdminV2TypeMap": { "description": "A mapping of keys to values of a given type. Values of type `Map` are stored in a `Value.array_value` where each entry is another `Value.array_value` with two elements (the key and the value, in that order). Normally encoded Map values won't have repeated keys, however, clients are expected to handle the case in which they do. If the same key appears multiple times, the _last_ value takes precedence.", "id": "GoogleBigtableAdminV2TypeMap", @@ -3373,7 +3594,12 @@ "GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes": { "description": "UTF-8 encoding. Sorted mode: - All values are supported. - Code point order is preserved. Distinct mode: all values are supported. Compatible with: - BigQuery `TEXT` encoding - HBase `Bytes.toBytes` - Java `String#getBytes(StandardCharsets.UTF_8)`", "id": "GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes", - "properties": {}, + "properties": { + "nullEscapeChar": { + "description": "Single-character escape sequence used to support NULL values. If set, allows NULL values to be encoded as the empty string \"\". The actual empty string, or any value where every character equals `null_escape_char`, has one more `null_escape_char` appended. If `null_escape_char` is set and does not equal the ASCII null character 0x00, then the encoding will not support sorted mode. .", + "type": "string" + } + }, "type": "object" }, "GoogleBigtableAdminV2TypeStringEncodingUtf8Raw": { @@ -3387,6 +3613,10 @@ "description": "A structured data value, consisting of fields which map to dynamically typed values. Values of type `Struct` are stored in `Value.array_value` where entries are in the same order and number as `field_types`.", "id": "GoogleBigtableAdminV2TypeStruct", "properties": { + "encoding": { + "$ref": "GoogleBigtableAdminV2TypeStructEncoding", + "description": "The encoding to use when converting to or from lower level types." + }, "fields": { "description": "The names and types of the fields in this struct.", "items": { @@ -3397,6 +3627,49 @@ }, "type": "object" }, + "GoogleBigtableAdminV2TypeStructEncoding": { + "description": "Rules used to convert to or from lower level types.", + "id": "GoogleBigtableAdminV2TypeStructEncoding", + "properties": { + "delimitedBytes": { + "$ref": "GoogleBigtableAdminV2TypeStructEncodingDelimitedBytes", + "description": "Use `DelimitedBytes` encoding." + }, + "orderedCodeBytes": { + "$ref": "GoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes", + "description": "User `OrderedCodeBytes` encoding." + }, + "singleton": { + "$ref": "GoogleBigtableAdminV2TypeStructEncodingSingleton", + "description": "Use `Singleton` encoding." + } + }, + "type": "object" + }, + "GoogleBigtableAdminV2TypeStructEncodingDelimitedBytes": { + "description": "Fields are encoded independently and concatenated with a configurable `delimiter` in between. A struct with no fields defined is encoded as a single `delimiter`. Sorted mode: - Fields are encoded in sorted mode. - Encoded field values must not contain any bytes <= `delimiter[0]` - Element-wise order is preserved: `A < B` if `A[0] < B[0]`, or if `A[0] == B[0] && A[1] < B[1]`, etc. Strict prefixes sort first. Distinct mode: - Fields are encoded in distinct mode. - Encoded field values must not contain `delimiter[0]`.", + "id": "GoogleBigtableAdminV2TypeStructEncodingDelimitedBytes", + "properties": { + "delimiter": { + "description": "Byte sequence used to delimit concatenated fields. The delimiter must contain at least 1 character and at most 50 characters.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "GoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes": { + "description": "Fields are encoded independently and concatenated with the fixed byte pair {0x00, 0x01} in between. Any null (0x00) byte in an encoded field is replaced by the fixed byte pair {0x00, 0xFF}. Fields that encode to the empty string \"\" have special handling: - If *every* field encodes to \"\", or if the STRUCT has no fields defined, then the STRUCT is encoded as the fixed byte pair {0x00, 0x00}. - Otherwise, the STRUCT only encodes until the last non-empty field, omitting any trailing empty fields. Any empty fields that aren't omitted are replaced with the fixed byte pair {0x00, 0x00}. Examples: - STRUCT() -> \"\\00\\00\" - STRUCT(\"\") -> \"\\00\\00\" - STRUCT(\"\", \"\") -> \"\\00\\00\" - STRUCT(\"\", \"B\") -> \"\\00\\00\" + \"\\00\\01\" + \"B\" - STRUCT(\"A\", \"\") -> \"A\" - STRUCT(\"\", \"B\", \"\") -> \"\\00\\00\" + \"\\00\\01\" + \"B\" - STRUCT(\"A\", \"\", \"C\") -> \"A\" + \"\\00\\01\" + \"\\00\\00\" + \"\\00\\01\" + \"C\" Since null bytes are always escaped, this encoding can cause size blowup for encodings like `Int64.BigEndianBytes` that are likely to produce many such bytes. Sorted mode: - Fields are encoded in sorted mode. - All values supported by the field encodings are allowed - Element-wise order is preserved: `A < B` if `A[0] < B[0]`, or if `A[0] == B[0] && A[1] < B[1]`, etc. Strict prefixes sort first. Distinct mode: - Fields are encoded in distinct mode. - All values supported by the field encodings are allowed.", + "id": "GoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes", + "properties": {}, + "type": "object" + }, + "GoogleBigtableAdminV2TypeStructEncodingSingleton": { + "description": "Uses the encoding of `fields[0].type` as-is. Only valid if `fields.size == 1`.", + "id": "GoogleBigtableAdminV2TypeStructEncodingSingleton", + "properties": {}, + "type": "object" + }, "GoogleBigtableAdminV2TypeStructField": { "description": "A struct field and its type.", "id": "GoogleBigtableAdminV2TypeStructField", @@ -3415,7 +3688,23 @@ "GoogleBigtableAdminV2TypeTimestamp": { "description": "Timestamp Values of type `Timestamp` are stored in `Value.timestamp_value`.", "id": "GoogleBigtableAdminV2TypeTimestamp", - "properties": {}, + "properties": { + "encoding": { + "$ref": "GoogleBigtableAdminV2TypeTimestampEncoding", + "description": "The encoding to use when converting to or from lower level types." + } + }, + "type": "object" + }, + "GoogleBigtableAdminV2TypeTimestampEncoding": { + "description": "Rules used to convert to or from lower level types.", + "id": "GoogleBigtableAdminV2TypeTimestampEncoding", + "properties": { + "unixMicrosInt64": { + "$ref": "GoogleBigtableAdminV2TypeInt64Encoding", + "description": "Encodes the number of microseconds since the Unix epoch using the given `Int64` encoding. Values must be microsecond-aligned. Compatible with: - Java `Instant.truncatedTo()` with `ChronoUnit.MICROS`" + } + }, "type": "object" }, "HotTablet": { diff --git a/discovery/googleapis/binaryauthorization__v1.json b/discovery/googleapis/binaryauthorization__v1.json index fd59d41a1..c27a80a20 100644 --- a/discovery/googleapis/binaryauthorization__v1.json +++ b/discovery/googleapis/binaryauthorization__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241115", + "revision": "20250117", "rootUrl": "https://binaryauthorization.googleapis.com/", "servicePath": "", "title": "Binary Authorization API", @@ -787,6 +787,7 @@ "type": "string" }, "requireAttestationsBy": { + "description": "Optional. The resource names of the attestors that must attest to a container image, in the format `projects/*/attestors/*`. Each attestor must exist before a policy can reference it. To add an attestor to a policy the principal issuing the policy change request must be able to read the attestor resource. Note: this field must be non-empty when the `evaluation_mode` field specifies `REQUIRE_ATTESTATION`, otherwise it must be empty.", "items": { "type": "string" }, @@ -1505,7 +1506,7 @@ "additionalProperties": { "$ref": "AdmissionRule" }, - "description": "Optional. Per-cluster admission rules. Cluster spec format: `location.clusterId`. There can be at most one admission rule per cluster spec. A `location` is either a compute zone (e.g. us-central1-a) or a region (e.g. us-central1). For `clusterId` syntax restrictions see https://cloud.google.com/container-engine/reference/rest/v1/projects.zones.clusters.", + "description": "Optional. A valid policy has only one of the following rule maps non-empty, i.e. only one of `cluster_admission_rules`, `kubernetes_namespace_admission_rules`, `kubernetes_service_account_admission_rules`, or `istio_service_identity_admission_rules` can be non-empty. Per-cluster admission rules. Cluster spec format: `location.clusterId`. There can be at most one admission rule per cluster spec. A `location` is either a compute zone (e.g. us-central1-a) or a region (e.g. us-central1). For `clusterId` syntax restrictions see https://cloud.google.com/container-engine/reference/rest/v1/projects.zones.clusters.", "type": "object" }, "defaultAdmissionRule": { diff --git a/discovery/googleapis/calendar__v3.json b/discovery/googleapis/calendar__v3.json index f89511933..73bcae47c 100644 --- a/discovery/googleapis/calendar__v3.json +++ b/discovery/googleapis/calendar__v3.json @@ -5,12 +5,48 @@ "https://www.googleapis.com/auth/calendar": { "description": "See, edit, share, and permanently delete all the calendars you can access using Google Calendar" }, + "https://www.googleapis.com/auth/calendar.acls": { + "description": "See and change the sharing permissions of Google calendars you own" + }, + "https://www.googleapis.com/auth/calendar.acls.readonly": { + "description": "See the sharing permissions of Google calendars you own" + }, + "https://www.googleapis.com/auth/calendar.app.created": { + "description": "Make secondary Google calendars, and see, create, change, and delete events on them" + }, + "https://www.googleapis.com/auth/calendar.calendarlist": { + "description": "See, add, and remove Google calendars you’re subscribed to" + }, + "https://www.googleapis.com/auth/calendar.calendarlist.readonly": { + "description": "See the list of Google calendars you’re subscribed to" + }, + "https://www.googleapis.com/auth/calendar.calendars": { + "description": "See and change the properties of Google calendars you have access to, and create secondary calendars" + }, + "https://www.googleapis.com/auth/calendar.calendars.readonly": { + "description": "See the title, description, default time zone, and other properties of Google calendars you have access to" + }, "https://www.googleapis.com/auth/calendar.events": { "description": "View and edit events on all your calendars" }, + "https://www.googleapis.com/auth/calendar.events.freebusy": { + "description": "See the availability on Google calendars you have access to" + }, + "https://www.googleapis.com/auth/calendar.events.owned": { + "description": "See, create, change, and delete events on Google calendars you own" + }, + "https://www.googleapis.com/auth/calendar.events.owned.readonly": { + "description": "See the events on Google calendars you own" + }, + "https://www.googleapis.com/auth/calendar.events.public.readonly": { + "description": "See the events on public calendars" + }, "https://www.googleapis.com/auth/calendar.events.readonly": { "description": "View events on all your calendars" }, + "https://www.googleapis.com/auth/calendar.freebusy": { + "description": "View your availability in your calendars" + }, "https://www.googleapis.com/auth/calendar.readonly": { "description": "See and download any calendar you can access using your Google Calendar" }, @@ -36,7 +72,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241101", + "revision": "20250115", "rootUrl": "https://www.googleapis.com/", "servicePath": "calendar/v3/", "title": "Calendar API", @@ -113,7 +149,8 @@ }, "path": "calendars/{calendarId}/acl/{ruleId}", "scopes": [ - "https://www.googleapis.com/auth/calendar" + "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.acls" ] }, "get": { @@ -144,6 +181,8 @@ }, "scopes": [ "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.acls", + "https://www.googleapis.com/auth/calendar.acls.readonly", "https://www.googleapis.com/auth/calendar.readonly" ] }, @@ -175,7 +214,8 @@ "$ref": "AclRule" }, "scopes": [ - "https://www.googleapis.com/auth/calendar" + "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.acls" ] }, "list": { @@ -220,7 +260,9 @@ "$ref": "Acl" }, "scopes": [ - "https://www.googleapis.com/auth/calendar" + "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.acls", + "https://www.googleapis.com/auth/calendar.acls.readonly" ], "supportsSubscription": true }, @@ -259,7 +301,8 @@ "$ref": "AclRule" }, "scopes": [ - "https://www.googleapis.com/auth/calendar" + "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.acls" ] }, "update": { @@ -297,7 +340,8 @@ "$ref": "AclRule" }, "scopes": [ - "https://www.googleapis.com/auth/calendar" + "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.acls" ] }, "watch": { @@ -346,7 +390,9 @@ "$ref": "Channel" }, "scopes": [ - "https://www.googleapis.com/auth/calendar" + "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.acls", + "https://www.googleapis.com/auth/calendar.acls.readonly" ], "supportsSubscription": true } @@ -371,7 +417,9 @@ }, "path": "users/me/calendarList/{calendarId}", "scopes": [ - "https://www.googleapis.com/auth/calendar" + "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.app.created", + "https://www.googleapis.com/auth/calendar.calendarlist" ] }, "get": { @@ -395,6 +443,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.app.created", + "https://www.googleapis.com/auth/calendar.calendarlist", + "https://www.googleapis.com/auth/calendar.calendarlist.readonly", "https://www.googleapis.com/auth/calendar.readonly" ] }, @@ -417,7 +468,8 @@ "$ref": "CalendarListEntry" }, "scopes": [ - "https://www.googleapis.com/auth/calendar" + "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.calendarlist" ] }, "list": { @@ -476,6 +528,8 @@ }, "scopes": [ "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.calendarlist", + "https://www.googleapis.com/auth/calendar.calendarlist.readonly", "https://www.googleapis.com/auth/calendar.readonly" ], "supportsSubscription": true @@ -508,7 +562,9 @@ "$ref": "CalendarListEntry" }, "scopes": [ - "https://www.googleapis.com/auth/calendar" + "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.app.created", + "https://www.googleapis.com/auth/calendar.calendarlist" ] }, "update": { @@ -539,7 +595,9 @@ "$ref": "CalendarListEntry" }, "scopes": [ - "https://www.googleapis.com/auth/calendar" + "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.app.created", + "https://www.googleapis.com/auth/calendar.calendarlist" ] }, "watch": { @@ -602,6 +660,8 @@ }, "scopes": [ "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.calendarlist", + "https://www.googleapis.com/auth/calendar.calendarlist.readonly", "https://www.googleapis.com/auth/calendar.readonly" ], "supportsSubscription": true @@ -627,7 +687,8 @@ }, "path": "calendars/{calendarId}/clear", "scopes": [ - "https://www.googleapis.com/auth/calendar" + "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.calendars" ] }, "delete": { @@ -647,7 +708,9 @@ }, "path": "calendars/{calendarId}", "scopes": [ - "https://www.googleapis.com/auth/calendar" + "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.app.created", + "https://www.googleapis.com/auth/calendar.calendars" ] }, "get": { @@ -671,6 +734,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.app.created", + "https://www.googleapis.com/auth/calendar.calendars", + "https://www.googleapis.com/auth/calendar.calendars.readonly", "https://www.googleapis.com/auth/calendar.readonly" ] }, @@ -686,7 +752,9 @@ "$ref": "Calendar" }, "scopes": [ - "https://www.googleapis.com/auth/calendar" + "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.app.created", + "https://www.googleapis.com/auth/calendar.calendars" ] }, "patch": { @@ -712,7 +780,9 @@ "$ref": "Calendar" }, "scopes": [ - "https://www.googleapis.com/auth/calendar" + "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.app.created", + "https://www.googleapis.com/auth/calendar.calendars" ] }, "update": { @@ -738,7 +808,9 @@ "$ref": "Calendar" }, "scopes": [ - "https://www.googleapis.com/auth/calendar" + "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.app.created", + "https://www.googleapis.com/auth/calendar.calendars" ] } } @@ -756,7 +828,16 @@ }, "scopes": [ "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.acls", + "https://www.googleapis.com/auth/calendar.acls.readonly", + "https://www.googleapis.com/auth/calendar.app.created", + "https://www.googleapis.com/auth/calendar.calendarlist", + "https://www.googleapis.com/auth/calendar.calendarlist.readonly", "https://www.googleapis.com/auth/calendar.events", + "https://www.googleapis.com/auth/calendar.events.freebusy", + "https://www.googleapis.com/auth/calendar.events.owned", + "https://www.googleapis.com/auth/calendar.events.owned.readonly", + "https://www.googleapis.com/auth/calendar.events.public.readonly", "https://www.googleapis.com/auth/calendar.events.readonly", "https://www.googleapis.com/auth/calendar.readonly", "https://www.googleapis.com/auth/calendar.settings.readonly" @@ -776,6 +857,13 @@ }, "scopes": [ "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.app.created", + "https://www.googleapis.com/auth/calendar.calendarlist", + "https://www.googleapis.com/auth/calendar.calendarlist.readonly", + "https://www.googleapis.com/auth/calendar.events.freebusy", + "https://www.googleapis.com/auth/calendar.events.owned", + "https://www.googleapis.com/auth/calendar.events.owned.readonly", + "https://www.googleapis.com/auth/calendar.events.public.readonly", "https://www.googleapis.com/auth/calendar.readonly" ] } @@ -828,7 +916,9 @@ "path": "calendars/{calendarId}/events/{eventId}", "scopes": [ "https://www.googleapis.com/auth/calendar", - "https://www.googleapis.com/auth/calendar.events" + "https://www.googleapis.com/auth/calendar.app.created", + "https://www.googleapis.com/auth/calendar.events", + "https://www.googleapis.com/auth/calendar.events.owned" ] }, "get": { @@ -876,7 +966,12 @@ }, "scopes": [ "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.app.created", "https://www.googleapis.com/auth/calendar.events", + "https://www.googleapis.com/auth/calendar.events.freebusy", + "https://www.googleapis.com/auth/calendar.events.owned", + "https://www.googleapis.com/auth/calendar.events.owned.readonly", + "https://www.googleapis.com/auth/calendar.events.public.readonly", "https://www.googleapis.com/auth/calendar.events.readonly", "https://www.googleapis.com/auth/calendar.readonly" ] @@ -918,7 +1013,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/calendar", - "https://www.googleapis.com/auth/calendar.events" + "https://www.googleapis.com/auth/calendar.app.created", + "https://www.googleapis.com/auth/calendar.events", + "https://www.googleapis.com/auth/calendar.events.owned" ] }, "insert": { @@ -985,7 +1082,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/calendar", - "https://www.googleapis.com/auth/calendar.events" + "https://www.googleapis.com/auth/calendar.app.created", + "https://www.googleapis.com/auth/calendar.events", + "https://www.googleapis.com/auth/calendar.events.owned" ] }, "instances": { @@ -1067,7 +1166,12 @@ }, "scopes": [ "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.app.created", "https://www.googleapis.com/auth/calendar.events", + "https://www.googleapis.com/auth/calendar.events.freebusy", + "https://www.googleapis.com/auth/calendar.events.owned", + "https://www.googleapis.com/auth/calendar.events.owned.readonly", + "https://www.googleapis.com/auth/calendar.events.public.readonly", "https://www.googleapis.com/auth/calendar.events.readonly", "https://www.googleapis.com/auth/calendar.readonly" ], @@ -1219,7 +1323,12 @@ }, "scopes": [ "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.app.created", "https://www.googleapis.com/auth/calendar.events", + "https://www.googleapis.com/auth/calendar.events.freebusy", + "https://www.googleapis.com/auth/calendar.events.owned", + "https://www.googleapis.com/auth/calendar.events.owned.readonly", + "https://www.googleapis.com/auth/calendar.events.public.readonly", "https://www.googleapis.com/auth/calendar.events.readonly", "https://www.googleapis.com/auth/calendar.readonly" ], @@ -1280,7 +1389,8 @@ }, "scopes": [ "https://www.googleapis.com/auth/calendar", - "https://www.googleapis.com/auth/calendar.events" + "https://www.googleapis.com/auth/calendar.events", + "https://www.googleapis.com/auth/calendar.events.owned" ] }, "patch": { @@ -1359,7 +1469,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/calendar", - "https://www.googleapis.com/auth/calendar.events" + "https://www.googleapis.com/auth/calendar.app.created", + "https://www.googleapis.com/auth/calendar.events", + "https://www.googleapis.com/auth/calendar.events.owned" ] }, "quickAdd": { @@ -1410,7 +1522,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/calendar", - "https://www.googleapis.com/auth/calendar.events" + "https://www.googleapis.com/auth/calendar.app.created", + "https://www.googleapis.com/auth/calendar.events", + "https://www.googleapis.com/auth/calendar.events.owned" ] }, "update": { @@ -1489,7 +1603,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/calendar", - "https://www.googleapis.com/auth/calendar.events" + "https://www.googleapis.com/auth/calendar.app.created", + "https://www.googleapis.com/auth/calendar.events", + "https://www.googleapis.com/auth/calendar.events.owned" ] }, "watch": { @@ -1642,7 +1758,12 @@ }, "scopes": [ "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.app.created", "https://www.googleapis.com/auth/calendar.events", + "https://www.googleapis.com/auth/calendar.events.freebusy", + "https://www.googleapis.com/auth/calendar.events.owned", + "https://www.googleapis.com/auth/calendar.events.owned.readonly", + "https://www.googleapis.com/auth/calendar.events.public.readonly", "https://www.googleapis.com/auth/calendar.events.readonly", "https://www.googleapis.com/auth/calendar.readonly" ], @@ -1665,6 +1786,8 @@ }, "scopes": [ "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.events.freebusy", + "https://www.googleapis.com/auth/calendar.freebusy", "https://www.googleapis.com/auth/calendar.readonly" ] } @@ -1825,7 +1948,7 @@ "calendar.acl.insert" ] }, - "description": "The role assigned to the scope. Possible values are: \n- \"none\" - Provides no access. \n- \"freeBusyReader\" - Provides read access to free/busy information. \n- \"reader\" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden. \n- \"writer\" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible. \n- \"owner\" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.", + "description": "The role assigned to the scope. Possible values are: \n- \"none\" - Provides no access. \n- \"freeBusyReader\" - Provides read access to free/busy information. \n- \"reader\" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden. \n- \"writer\" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible. Provides read access to the calendar's ACLs. \n- \"owner\" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to manipulate ACLs.", "type": "string" }, "scope": { diff --git a/discovery/googleapis/certificatemanager__v1.json b/discovery/googleapis/certificatemanager__v1.json index 88009ef89..a4a8aadd6 100644 --- a/discovery/googleapis/certificatemanager__v1.json +++ b/discovery/googleapis/certificatemanager__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241204", + "revision": "20250211", "rootUrl": "https://certificatemanager.googleapis.com/", "servicePath": "", "title": "Certificate Manager API", @@ -1440,12 +1440,14 @@ "enum": [ "DEFAULT", "EDGE_CACHE", - "ALL_REGIONS" + "ALL_REGIONS", + "CLIENT_AUTH" ], "enumDescriptions": [ "Use the DEFAULT scope if you plan to use the certificate with global external Application Load Balancer, global external proxy Network Load Balancer, or any of the regional Google Cloud services.", "Use the EDGE_CACHE scope if you plan to use the certificate with Media CDN. The certificates are served from Edge Points of Presence. See https://cloud.google.com/vpc/docs/edge-locations.", - "Use the ALL_REGIONS scope if you plan to use the certificate with cross-region internal Application Load Balancer. The certificates are served from all Google Cloud regions. See https://cloud.google.com/compute/docs/regions-zones." + "Use the ALL_REGIONS scope if you plan to use the certificate with cross-region internal Application Load Balancer. The certificates are served from all Google Cloud regions. See https://cloud.google.com/compute/docs/regions-zones.", + "Associated with certificates used as client certificates in Backend mTLS." ], "type": "string" }, @@ -1458,6 +1460,14 @@ "format": "google-datetime", "readOnly": true, "type": "string" + }, + "usedBy": { + "description": "Output only. The list of resources that use this Certificate.", + "items": { + "$ref": "UsedBy" + }, + "readOnly": true, + "type": "array" } }, "type": "object" @@ -2301,6 +2311,18 @@ } }, "type": "object" + }, + "UsedBy": { + "description": "Defines a resource that uses the certificate.", + "id": "UsedBy", + "properties": { + "name": { + "description": "Output only. Full name of the resource https://google.aip.dev/122#full-resource-names, e.g. `//certificatemanager.googleapis.com/projects/*/locations/*/certificateMaps/*/certificateMapEntries/*` or `//compute.googleapis.com/projects/*/locations/*/targetHttpsProxies/*`.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" } } } diff --git a/discovery/googleapis/chat__v1.json b/discovery/googleapis/chat__v1.json index ac2c4f140..c76d6f712 100644 --- a/discovery/googleapis/chat__v1.json +++ b/discovery/googleapis/chat__v1.json @@ -48,22 +48,22 @@ "description": "View members in Google Chat conversations." }, "https://www.googleapis.com/auth/chat.messages": { - "description": "See, compose, send, update, and delete messages and their associated attachments, and add, see, and delete reactions to messages." + "description": "See, compose, send, update, and delete messages as well as their message content; add, see, and delete reactions to messages." }, "https://www.googleapis.com/auth/chat.messages.create": { "description": "Compose and send messages in Google Chat" }, "https://www.googleapis.com/auth/chat.messages.reactions": { - "description": "See, add, and delete reactions to messages in Google Chat" + "description": "See, add, and delete reactions as well as their reaction content to messages in Google Chat" }, "https://www.googleapis.com/auth/chat.messages.reactions.create": { "description": "Add reactions to messages in Google Chat" }, "https://www.googleapis.com/auth/chat.messages.reactions.readonly": { - "description": "View reactions to messages in Google Chat" + "description": "View reactions as well as their reaction content to messages in Google Chat" }, "https://www.googleapis.com/auth/chat.messages.readonly": { - "description": "See messages and their associated reactions and attachments in Google Chat" + "description": "See messages as well as their reactions and message content in Google Chat" }, "https://www.googleapis.com/auth/chat.spaces": { "description": "Create conversations and spaces and see or update metadata (including history settings and access settings) in Google Chat" @@ -79,6 +79,9 @@ }, "https://www.googleapis.com/auth/chat.users.readstate.readonly": { "description": "View last read time for Google Chat conversations" + }, + "https://www.googleapis.com/auth/chat.users.spacesettings": { + "description": "Read and update your space settings" } } } @@ -100,7 +103,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241217", + "revision": "20250227", "rootUrl": "https://chat.googleapis.com/", "servicePath": "", "title": "Google Chat API", @@ -1056,7 +1059,7 @@ "reactions": { "methods": { "create": { - "description": "Creates a reaction and adds it to a message. Only unicode emojis are supported. For an example, see [Add a reaction to a message](https://developers.google.com/workspace/chat/create-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", + "description": "Creates a reaction and adds it to a message. For an example, see [Add a reaction to a message](https://developers.google.com/workspace/chat/create-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", "flatPath": "v1/spaces/{spacesId}/messages/{messagesId}/reactions", "httpMethod": "POST", "id": "chat.spaces.messages.reactions.create", @@ -1087,7 +1090,7 @@ ] }, "delete": { - "description": "Deletes a reaction to a message. Only unicode emojis are supported. For an example, see [Delete a reaction](https://developers.google.com/workspace/chat/delete-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", + "description": "Deletes a reaction to a message. For an example, see [Delete a reaction](https://developers.google.com/workspace/chat/delete-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", "flatPath": "v1/spaces/{spacesId}/messages/{messagesId}/reactions/{reactionsId}", "httpMethod": "DELETE", "id": "chat.spaces.messages.reactions.delete", @@ -1313,6 +1316,69 @@ } }, "resources": { + "spaceNotificationSetting": { + "methods": { + "get": { + "description": "Gets the space notification state setting. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", + "flatPath": "v1/users/{usersId}/spaces/{spacesId}/spaceNotificationSetting", + "httpMethod": "GET", + "id": "chat.users.spaces.spaceNotificationSetting.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: users/{user}/spaces/{space}/spaceNotificationSetting - `users/me/spaces/{space}/spaceNotificationSetting`, OR - `users/user@example.com/spaces/{space}/spaceNotificationSetting`, OR - `users/123456789/spaces/{space}/spaceNotificationSetting`. Note: Only the caller's user id or email is allowed in the path.", + "location": "path", + "pattern": "^users/[^/]+/spaces/[^/]+/spaceNotificationSetting$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "SpaceNotificationSetting" + }, + "scopes": [ + "https://www.googleapis.com/auth/chat.users.spacesettings" + ] + }, + "patch": { + "description": "Updates the space notification state setting. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", + "flatPath": "v1/users/{usersId}/spaces/{spacesId}/spaceNotificationSetting", + "httpMethod": "PATCH", + "id": "chat.users.spaces.spaceNotificationSetting.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the space notification setting. Format: `users/{user}/spaces/{space}/spaceNotificationSetting`.", + "location": "path", + "pattern": "^users/[^/]+/spaces/[^/]+/spaceNotificationSetting$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Supported field paths: - `notification_setting` - `mute_setting`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "SpaceNotificationSetting" + }, + "response": { + "$ref": "SpaceNotificationSetting" + }, + "scopes": [ + "https://www.googleapis.com/auth/chat.users.spacesettings" + ] + } + } + }, "threads": { "methods": { "getThreadReadState": { @@ -1499,6 +1565,10 @@ "description": "Output only. Annotations associated with the plain-text body of the message. To add basic formatting to a text message, see [Format text messages](https://developers.google.com/workspace/chat/format-messages). Example plain-text message body: ``` Hello @FooBot how are you!\" ``` The corresponding annotations metadata: ``` \"annotations\":[{ \"type\":\"USER_MENTION\", \"startIndex\":6, \"length\":7, \"userMention\": { \"user\": { \"name\":\"users/{user}\", \"displayName\":\"FooBot\", \"avatarUrl\":\"https://goo.gl/aeDtrS\", \"type\":\"BOT\" }, \"type\":\"MENTION\" } }] ```", "id": "Annotation", "properties": { + "customEmojiMetadata": { + "$ref": "CustomEmojiMetadata", + "description": "The metadata for a custom emoji." + }, "length": { "description": "Length of the substring in the plain-text message body this annotation corresponds to.", "format": "int32", @@ -1523,13 +1593,15 @@ "ANNOTATION_TYPE_UNSPECIFIED", "USER_MENTION", "SLASH_COMMAND", - "RICH_LINK" + "RICH_LINK", + "CUSTOM_EMOJI" ], "enumDescriptions": [ "Default value for the enum. Don't use.", "A user is mentioned.", "A slash command is invoked.", - "A rich link annotation." + "A rich link annotation.", + "A custom emoji annotation." ], "type": "string" }, @@ -1540,6 +1612,32 @@ }, "type": "object" }, + "AppCommandMetadata": { + "description": "Metadata about a [Chat app command](https://developers.google.com/workspace/chat/commands).", + "id": "AppCommandMetadata", + "properties": { + "appCommandId": { + "description": "The ID for the command specified in the Chat API configuration.", + "format": "int32", + "type": "integer" + }, + "appCommandType": { + "description": "The type of Chat app command.", + "enum": [ + "APP_COMMAND_TYPE_UNSPECIFIED", + "SLASH_COMMAND", + "QUICK_COMMAND" + ], + "enumDescriptions": [ + "Default value. Unspecified.", + "A slash command. The user sends the command in a Chat message.", + "A quick command. The user selects the command from the Chat menu in the message reply area." + ], + "type": "string" + } + }, + "type": "object" + }, "AttachedGif": { "description": "A GIF image that's specified by a URL.", "id": "AttachedGif", @@ -1841,7 +1939,7 @@ "The add-on launches from Google Sheets.", "The add-on launches from Google Slides.", "The add-on launches from Google Drawings.", - "A Google Chat app. Not used for Google Workspace Add-ons." + "A Google Chat app. Not used for Google Workspace add-ons." ], "type": "string" }, @@ -1912,6 +2010,17 @@ }, "type": "object" }, + "CustomEmojiMetadata": { + "description": "Annotation metadata for custom emoji.", + "id": "CustomEmojiMetadata", + "properties": { + "customEmoji": { + "$ref": "CustomEmoji", + "description": "The custom emoji." + } + }, + "type": "object" + }, "DateInput": { "description": "Date input values.", "id": "DateInput", @@ -1957,16 +2066,18 @@ "ADMIN", "APP_MESSAGE_EXPIRY", "CREATOR_VIA_APP", - "SPACE_OWNER_VIA_APP" + "SPACE_OWNER_VIA_APP", + "SPACE_MEMBER" ], "enumDescriptions": [ "This value is unused.", "User deleted their own message.", - "The space owner deleted the message.", - "A Google Workspace admin deleted the message.", + "A space manager deleted the message.", + "A Google Workspace administrator deleted the message. Administrators can delete any message in the space, including messages sent by any space member or Chat app.", "A Chat app deleted its own message when it expired.", - "A Chat app deleted the message on behalf of the user.", - "A Chat app deleted the message on behalf of the space owner." + "A Chat app deleted the message on behalf of the creator (using user authentication).", + "A Chat app deleted the message on behalf of a space manager (using user authentication).", + "A member of the space deleted the message. Users can delete messages sent by apps." ], "type": "string" } @@ -1981,12 +2092,16 @@ "$ref": "FormAction", "description": "For `CARD_CLICKED` interaction events, the form action data associated when a user clicks a card or dialog. To learn more, see [Read form data input by users on cards](https://developers.google.com/workspace/chat/read-form-data)." }, + "appCommandMetadata": { + "$ref": "AppCommandMetadata", + "description": "Metadata about a Chat app command." + }, "common": { "$ref": "CommonEventObject", "description": "Represents information about the user's client, such as locale, host app, and platform. For Chat apps, `CommonEventObject` includes information submitted by users interacting with [dialogs](https://developers.google.com/workspace/chat/dialogs), like data entered on a card." }, "configCompleteRedirectUrl": { - "description": "For `MESSAGE` interaction events, the URL that users must be redirected to after they complete an authorization or configuration flow outside of Google Chat. For more information, see [Connect a Chat app with other services and tools](https://developers.google.com/workspace/chat/connect-web-services-tools).", + "description": "This URL is populated for `MESSAGE`, `ADDED_TO_SPACE`, and `APP_COMMAND` interaction events. After completing an authorization or configuration flow outside of Google Chat, users must be redirected to this URL to signal to Google Chat that the authorization or configuration flow was successful. For more information, see [Connect a Chat app with other services and tools](https://developers.google.com/workspace/chat/connect-web-services-tools).", "type": "string" }, "dialogEventType": { @@ -2022,6 +2137,10 @@ "$ref": "Space", "description": "The space in which the user interacted with the Chat app." }, + "thread": { + "$ref": "Thread", + "description": "The thread in which the user interacted with the Chat app. This could be in a new thread created by a newly sent message. This field is populated if the interaction event is associated with a specific message or thread." + }, "threadKey": { "description": "The Chat app-defined key for the thread related to the interaction event. See [`spaces.messages.thread.threadKey`](/chat/api/reference/rest/v1/spaces.messages#Thread.FIELDS.thread_key) for more information.", "type": "string" @@ -2038,15 +2157,17 @@ "ADDED_TO_SPACE", "REMOVED_FROM_SPACE", "CARD_CLICKED", - "WIDGET_UPDATED" + "WIDGET_UPDATED", + "APP_COMMAND" ], "enumDescriptions": [ "Default value for the enum. DO NOT USE.", - "A user sends the Chat app a message, or invokes the Chat app in a space, such as any of the following examples: * Any message in a direct message (DM) space with the Chat app. * A message in a multi-person space where a person @mentions the Chat app, or uses one of its slash commands. * If you've configured link previews for your Chat app, a user posts a message that contains a link that matches the configured URL pattern.", + "A user sends the Chat app a message, or invokes the Chat app in a space, such as any of the following examples: * Any message in a direct message (DM) space with the Chat app. * A message in a multi-person space where a person @mentions the Chat app, or uses one of its [slash commands](https://developers.google.com/workspace/chat/commands#types). * If you've configured link previews for your Chat app, a user posts a message that contains a link that matches the configured URL pattern.", "A user adds the Chat app to a space, or a Google Workspace administrator installs the Chat app in direct message spaces for users in their organization. Chat apps typically respond to this interaction event by posting a welcome message in the space. When administrators install Chat apps, the `space.adminInstalled` field is set to `true` and users can't uninstall them. To learn about Chat apps installed by administrators, see Google Workspace Admin Help's documentation, [Install Marketplace apps in your domain](https://support.google.com/a/answer/172482).", "A user removes the Chat app from a space, or a Google Workspace administrator uninstalls the Chat app for a user in their organization. Chat apps can't respond with messages to this event, because they have already been removed. When administrators uninstall Chat apps, the `space.adminInstalled` field is set to `false`. If a user installed the Chat app before the administrator, the Chat app remains installed for the user and the Chat app doesn't receive a `REMOVED_FROM_SPACE` interaction event.", "A user clicks an interactive element of a card or dialog from a Chat app, such as a button. To receive an interaction event, the button must trigger another interaction with the Chat app. For example, a Chat app doesn't receive a `CARD_CLICKED` interaction event if a user clicks a button that opens a link to a website, but receives interaction events in the following examples: * The user clicks a `Send feedback` button on a card, which opens a dialog for the user to input information. * The user clicks a `Submit` button after inputting information into a card or dialog. If a user clicks a button to open, submit, or cancel a dialog, the `CARD_CLICKED` interaction event's `isDialogEvent` field is set to `true` and includes a [`DialogEventType`](https://developers.google.com/workspace/chat/api/reference/rest/v1/DialogEventType).", - "A user updates a widget in a card message or dialog." + "A user updates a widget in a card message or dialog.", + "A user uses a Chat app [quick command](https://developers.google.com/workspace/chat/commands#types)." ], "type": "string" }, @@ -2115,8 +2236,7 @@ "properties": { "customEmoji": { "$ref": "CustomEmoji", - "description": "Output only. A custom emoji.", - "readOnly": true + "description": "A custom emoji." }, "unicode": { "description": "Optional. A basic emoji represented by a unicode string.", @@ -2168,9 +2288,13 @@ "type": "object" }, "GoogleAppsCardV1Action": { - "description": "An action that describes the behavior when the form is submitted. For example, you can invoke an Apps Script script to handle the form. If the action is triggered, the form values are sent to the server. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "An action that describes the behavior when the form is submitted. For example, you can invoke an Apps Script script to handle the form. If the action is triggered, the form values are sent to the server. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1Action", "properties": { + "allWidgetsAreRequired": { + "description": "Optional. If this is true, then all widgets are considered required by this action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "type": "boolean" + }, "function": { "description": "A custom function to invoke when the containing element is clicked or otherwise activated. For example usage, see [Read form data](https://developers.google.com/workspace/chat/read-form-data).", "type": "string" @@ -2209,12 +2333,19 @@ "persistValues": { "description": "Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. To let the user make changes while the action is being processed, set [`LoadIndicator`](https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) to `NONE`. For [card messages](https://developers.google.com/workspace/chat/api/guides/v1/messages/create#create) in Chat apps, you must also set the action's [`ResponseType`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages#responsetype) to `UPDATE_MESSAGE` and use the same [`card_id`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages#CardWithId) from the card that contained the action. If `false`, the form values are cleared when the action is triggered. To prevent the user from making changes while the action is being processed, set [`LoadIndicator`](https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) to `SPINNER`.", "type": "boolean" + }, + "requiredWidgets": { + "description": "Optional. Fill this list with the names of widgets that this Action needs for a valid submission. If the widgets listed here don't have a value when this Action is invoked, the form submission is aborted. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, "GoogleAppsCardV1ActionParameter": { - "description": "List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze one day, or snooze next week. You might use `action method = snooze()`, passing the snooze type and snooze time in the list of string parameters. To learn more, see [`CommonEventObject`](https://developers.google.com/workspace/chat/api/reference/rest/v1/Event#commoneventobject). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze one day, or snooze next week. You might use `action method = snooze()`, passing the snooze type and snooze time in the list of string parameters. To learn more, see [`CommonEventObject`](https://developers.google.com/workspace/chat/api/reference/rest/v1/Event#commoneventobject). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1ActionParameter", "properties": { "key": { @@ -2229,7 +2360,7 @@ "type": "object" }, "GoogleAppsCardV1BorderStyle": { - "description": "The style options for the border of a card or widget, including the border type and color. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1BorderStyle", "properties": { "cornerRadius": { @@ -2259,7 +2390,7 @@ "type": "object" }, "GoogleAppsCardV1Button": { - "description": "A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1Button", "properties": { "altText": { @@ -2308,7 +2439,7 @@ "type": "object" }, "GoogleAppsCardV1ButtonList": { - "description": "A list of buttons layed out horizontally. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "A list of buttons layed out horizontally. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1ButtonList", "properties": { "buttons": { @@ -2322,18 +2453,18 @@ "type": "object" }, "GoogleAppsCardV1Card": { - "description": "A card interface displayed in a Google Chat message or Google Workspace Add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace Add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. Any widgets beyond this limit are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace Add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { \"cardsV2\": [ { \"cardId\": \"unique-card-id\", \"card\": { \"header\": { \"title\": \"Sasha\", \"subtitle\": \"Software Engineer\", \"imageUrl\": \"https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png\", \"imageType\": \"CIRCLE\", \"imageAltText\": \"Avatar for Sasha\" }, \"sections\": [ { \"header\": \"Contact Info\", \"collapsible\": true, \"uncollapsibleWidgetsCount\": 1, \"widgets\": [ { \"decoratedText\": { \"startIcon\": { \"knownIcon\": \"EMAIL\" }, \"text\": \"sasha@example.com\" } }, { \"decoratedText\": { \"startIcon\": { \"knownIcon\": \"PERSON\" }, \"text\": \"Online\" } }, { \"decoratedText\": { \"startIcon\": { \"knownIcon\": \"PHONE\" }, \"text\": \"+1 (555) 555-1234\" } }, { \"buttonList\": { \"buttons\": [ { \"text\": \"Share\", \"onClick\": { \"openLink\": { \"url\": \"https://example.com/share\" } } }, { \"text\": \"Edit\", \"onClick\": { \"action\": { \"function\": \"goToView\", \"parameters\": [ { \"key\": \"viewType\", \"value\": \"EDIT\" } ] } } } ] } } ] } ] } } ] } ```", + "description": "A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. Any widgets beyond this limit are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { \"cardsV2\": [ { \"cardId\": \"unique-card-id\", \"card\": { \"header\": { \"title\": \"Sasha\", \"subtitle\": \"Software Engineer\", \"imageUrl\": \"https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png\", \"imageType\": \"CIRCLE\", \"imageAltText\": \"Avatar for Sasha\" }, \"sections\": [ { \"header\": \"Contact Info\", \"collapsible\": true, \"uncollapsibleWidgetsCount\": 1, \"widgets\": [ { \"decoratedText\": { \"startIcon\": { \"knownIcon\": \"EMAIL\" }, \"text\": \"sasha@example.com\" } }, { \"decoratedText\": { \"startIcon\": { \"knownIcon\": \"PERSON\" }, \"text\": \"Online\" } }, { \"decoratedText\": { \"startIcon\": { \"knownIcon\": \"PHONE\" }, \"text\": \"+1 (555) 555-1234\" } }, { \"buttonList\": { \"buttons\": [ { \"text\": \"Share\", \"onClick\": { \"openLink\": { \"url\": \"https://example.com/share\" } } }, { \"text\": \"Edit\", \"onClick\": { \"action\": { \"function\": \"goToView\", \"parameters\": [ { \"key\": \"viewType\", \"value\": \"EDIT\" } ] } } } ] } } ] } ] } } ] } ```", "id": "GoogleAppsCardV1Card", "properties": { "cardActions": { - "description": "The card's actions. Actions are added to the card's toolbar menu. [Google Workspace Add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` \"card_actions\": [ { \"actionLabel\": \"Settings\", \"onClick\": { \"action\": { \"functionName\": \"goToView\", \"parameters\": [ { \"key\": \"viewType\", \"value\": \"SETTING\" } ], \"loadIndicator\": \"LoadIndicator.SPINNER\" } } }, { \"actionLabel\": \"Send Feedback\", \"onClick\": { \"openLink\": { \"url\": \"https://example.com/feedback\" } } } ] ```", + "description": "The card's actions. Actions are added to the card's toolbar menu. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` \"card_actions\": [ { \"actionLabel\": \"Settings\", \"onClick\": { \"action\": { \"functionName\": \"goToView\", \"parameters\": [ { \"key\": \"viewType\", \"value\": \"SETTING\" } ], \"loadIndicator\": \"LoadIndicator.SPINNER\" } } }, { \"actionLabel\": \"Send Feedback\", \"onClick\": { \"openLink\": { \"url\": \"https://example.com/feedback\" } } } ] ```", "items": { "$ref": "GoogleAppsCardV1CardAction" }, "type": "array" }, "displayStyle": { - "description": "In Google Workspace Add-ons, sets the display properties of the `peekCardHeader`. [Google Workspace Add-ons](https://developers.google.com/workspace/add-ons):", + "description": "In Google Workspace add-ons, sets the display properties of the `peekCardHeader`. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons):", "enum": [ "DISPLAY_STYLE_UNSPECIFIED", "PEEK", @@ -2348,19 +2479,19 @@ }, "fixedFooter": { "$ref": "GoogleAppsCardV1CardFixedFooter", - "description": "The fixed footer shown at the bottom of this card. Setting `fixedFooter` without specifying a `primaryButton` or a `secondaryButton` causes an error. For Chat apps, you can use fixed footers in [dialogs](https://developers.google.com/workspace/chat/dialogs), but not [card messages](https://developers.google.com/workspace/chat/create-messages#create). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):" + "description": "The fixed footer shown at the bottom of this card. Setting `fixedFooter` without specifying a `primaryButton` or a `secondaryButton` causes an error. For Chat apps, you can use fixed footers in [dialogs](https://developers.google.com/workspace/chat/dialogs), but not [card messages](https://developers.google.com/workspace/chat/create-messages#create). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):" }, "header": { "$ref": "GoogleAppsCardV1CardHeader", "description": "The header of the card. A header usually contains a leading image and a title. Headers always appear at the top of a card." }, "name": { - "description": "Name of the card. Used as a card identifier in card navigation. [Google Workspace Add-ons](https://developers.google.com/workspace/add-ons):", + "description": "Name of the card. Used as a card identifier in card navigation. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons):", "type": "string" }, "peekCardHeader": { "$ref": "GoogleAppsCardV1CardHeader", - "description": "When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards. [Google Workspace Add-ons](https://developers.google.com/workspace/add-ons):" + "description": "When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons):" }, "sectionDividerStyle": { "description": "The divider style between the header, sections and footer.", @@ -2387,7 +2518,7 @@ "type": "object" }, "GoogleAppsCardV1CardAction": { - "description": "A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace Add-ons](https://developers.google.com/workspace/add-ons):", + "description": "A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons):", "id": "GoogleAppsCardV1CardAction", "properties": { "actionLabel": { @@ -2402,7 +2533,7 @@ "type": "object" }, "GoogleAppsCardV1CardFixedFooter": { - "description": "A persistent (sticky) footer that that appears at the bottom of the card. Setting `fixedFooter` without specifying a `primaryButton` or a `secondaryButton` causes an error. For Chat apps, you can use fixed footers in [dialogs](https://developers.google.com/workspace/chat/dialogs), but not [card messages](https://developers.google.com/workspace/chat/create-messages#create). For an example in Google Chat apps, see [Add a persistent footer](https://developers.google.com/workspace/chat/design-components-card-dialog#add_a_persistent_footer). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "A persistent (sticky) footer that that appears at the bottom of the card. Setting `fixedFooter` without specifying a `primaryButton` or a `secondaryButton` causes an error. For Chat apps, you can use fixed footers in [dialogs](https://developers.google.com/workspace/chat/dialogs), but not [card messages](https://developers.google.com/workspace/chat/create-messages#create). For an example in Google Chat apps, see [Add a persistent footer](https://developers.google.com/workspace/chat/design-components-card-dialog#add_a_persistent_footer). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1CardFixedFooter", "properties": { "primaryButton": { @@ -2417,7 +2548,7 @@ "type": "object" }, "GoogleAppsCardV1CardHeader": { - "description": "Represents a card header. For an example in Google Chat apps, see [Add a header](https://developers.google.com/workspace/chat/design-components-card-dialog#add_a_header). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "Represents a card header. For an example in Google Chat apps, see [Add a header](https://developers.google.com/workspace/chat/design-components-card-dialog#add_a_header). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1CardHeader", "properties": { "imageAltText": { @@ -2425,7 +2556,7 @@ "type": "string" }, "imageType": { - "description": "The shape used to crop the image. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "The shape used to crop the image. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "enum": [ "SQUARE", "CIRCLE" @@ -2487,7 +2618,7 @@ "type": "object" }, "GoogleAppsCardV1Chip": { - "description": "A text, icon, or text and icon chip that users can click. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "A text, icon, or text and icon chip that users can click. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1Chip", "properties": { "altText": { @@ -2519,7 +2650,7 @@ "type": "object" }, "GoogleAppsCardV1ChipList": { - "description": "A list of chips layed out horizontally, which can either scroll horizontally or wrap to the next line. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "A list of chips layed out horizontally, which can either scroll horizontally or wrap to the next line. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1ChipList", "properties": { "chips": { @@ -2547,7 +2678,7 @@ "type": "object" }, "GoogleAppsCardV1CollapseControl": { - "description": "Represent an expand and collapse control. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "Represent an expand and collapse control. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1CollapseControl", "properties": { "collapseButton": { @@ -2578,7 +2709,7 @@ "type": "object" }, "GoogleAppsCardV1Column": { - "description": "A column. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend)", + "description": "A column. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend)", "id": "GoogleAppsCardV1Column", "properties": { "horizontalAlignment": { @@ -2638,7 +2769,7 @@ "type": "object" }, "GoogleAppsCardV1Columns": { - "description": "The `Columns` widget displays up to 2 columns in a card or dialog. You can add widgets to each column; the widgets appear in the order that they are specified. For an example in Google Chat apps, see [Display cards and dialogs in columns](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_cards_and_dialogs_in_columns). The height of each column is determined by the taller column. For example, if the first column is taller than the second column, both columns have the height of the first column. Because each column can contain a different number of widgets, you can't define rows or align widgets between the columns. Columns are displayed side-by-side. You can customize the width of each column using the `HorizontalSizeStyle` field. If the user's screen width is too narrow, the second column wraps below the first: * On web, the second column wraps if the screen width is less than or equal to 480 pixels. * On iOS devices, the second column wraps if the screen width is less than or equal to 300 pt. * On Android devices, the second column wraps if the screen width is less than or equal to 320 dp. To include more than two columns, or to use rows, use the `Grid` widget. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): The add-on UIs that support columns include: * The dialog displayed when users open the add-on from an email draft. * The dialog displayed when users open the add-on from the **Add attachment** menu in a Google Calendar event.", + "description": "The `Columns` widget displays up to 2 columns in a card or dialog. You can add widgets to each column; the widgets appear in the order that they are specified. For an example in Google Chat apps, see [Display cards and dialogs in columns](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_cards_and_dialogs_in_columns). The height of each column is determined by the taller column. For example, if the first column is taller than the second column, both columns have the height of the first column. Because each column can contain a different number of widgets, you can't define rows or align widgets between the columns. Columns are displayed side-by-side. You can customize the width of each column using the `HorizontalSizeStyle` field. If the user's screen width is too narrow, the second column wraps below the first: * On web, the second column wraps if the screen width is less than or equal to 480 pixels. * On iOS devices, the second column wraps if the screen width is less than or equal to 300 pt. * On Android devices, the second column wraps if the screen width is less than or equal to 320 dp. To include more than two columns, or to use rows, use the `Grid` widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): The add-on UIs that support columns include: * The dialog displayed when users open the add-on from an email draft. * The dialog displayed when users open the add-on from the **Add attachment** menu in a Google Calendar event.", "id": "GoogleAppsCardV1Columns", "properties": { "columnItems": { @@ -2652,7 +2783,7 @@ "type": "object" }, "GoogleAppsCardV1DateTimePicker": { - "description": "Lets users input a date, a time, or both a date and a time. For an example in Google Chat apps, see [Let a user pick a date and time](https://developers.google.com/workspace/chat/design-interactive-card-dialog#let_a_user_pick_a_date_and_time). Users can input text or use the picker to select dates and times. If users input an invalid date or time, the picker shows an error that prompts users to input the information correctly. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "Lets users input a date, a time, or both a date and a time. Supports form submission validation. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For an example in Google Chat apps, see [Let a user pick a date and time](https://developers.google.com/workspace/chat/design-interactive-card-dialog#let_a_user_pick_a_date_and_time). Users can input text or use the picker to select dates and times. If users input an invalid date or time, the picker shows an error that prompts users to input the information correctly. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1DateTimePicker", "properties": { "label": { @@ -2695,7 +2826,7 @@ "type": "object" }, "GoogleAppsCardV1DecoratedText": { - "description": "A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1DecoratedText", "properties": { "bottomLabel": { @@ -2728,7 +2859,7 @@ "description": "A switch widget that a user can click to change its state and trigger an action." }, "text": { - "description": "Required. The primary text. Supports simple formatting. For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).", + "description": "Required. The primary text. Supports simple formatting. For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).", "type": "string" }, "topLabel": { @@ -2743,13 +2874,13 @@ "type": "object" }, "GoogleAppsCardV1Divider": { - "description": "Displays a divider between widgets as a horizontal line. For an example in Google Chat apps, see [Add a horizontal divider between widgets](https://developers.google.com/workspace/chat/format-structure-card-dialog#add_a_horizontal_divider_between_widgets). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a divider: ``` \"divider\": {} ```", + "description": "Displays a divider between widgets as a horizontal line. For an example in Google Chat apps, see [Add a horizontal divider between widgets](https://developers.google.com/workspace/chat/format-structure-card-dialog#add_a_horizontal_divider_between_widgets). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a divider: ``` \"divider\": {} ```", "id": "GoogleAppsCardV1Divider", "properties": {}, "type": "object" }, "GoogleAppsCardV1Grid": { - "description": "Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` \"grid\": { \"title\": \"A fine collection of items\", \"columnCount\": 2, \"borderStyle\": { \"type\": \"STROKE\", \"cornerRadius\": 4 }, \"items\": [ { \"image\": { \"imageUri\": \"https://www.example.com/image.png\", \"cropStyle\": { \"type\": \"SQUARE\" }, \"borderStyle\": { \"type\": \"STROKE\" } }, \"title\": \"An item\", \"textAlignment\": \"CENTER\" } ], \"onClick\": { \"openLink\": { \"url\": \"https://www.example.com\" } } } ```", + "description": "Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` \"grid\": { \"title\": \"A fine collection of items\", \"columnCount\": 2, \"borderStyle\": { \"type\": \"STROKE\", \"cornerRadius\": 4 }, \"items\": [ { \"image\": { \"imageUri\": \"https://www.example.com/image.png\", \"cropStyle\": { \"type\": \"SQUARE\" }, \"borderStyle\": { \"type\": \"STROKE\" } }, \"title\": \"An item\", \"textAlignment\": \"CENTER\" } ], \"onClick\": { \"openLink\": { \"url\": \"https://www.example.com\" } } } ```", "id": "GoogleAppsCardV1Grid", "properties": { "borderStyle": { @@ -2780,7 +2911,7 @@ "type": "object" }, "GoogleAppsCardV1GridItem": { - "description": "Represents an item in a grid layout. Items can contain text, an image, or both text and an image. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "Represents an item in a grid layout. Items can contain text, an image, or both text and an image. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1GridItem", "properties": { "id": { @@ -2817,7 +2948,7 @@ "type": "object" }, "GoogleAppsCardV1Icon": { - "description": "An icon displayed in a widget on a card. For an example in Google Chat apps, see [Add an icon](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_an_icon). Supports [built-in](https://developers.google.com/workspace/chat/format-messages#builtinicons) and [custom](https://developers.google.com/workspace/chat/format-messages#customicons) icons. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "An icon displayed in a widget on a card. For an example in Google Chat apps, see [Add an icon](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_an_icon). Supports [built-in](https://developers.google.com/workspace/chat/format-messages#builtinicons) and [custom](https://developers.google.com/workspace/chat/format-messages#customicons) icons. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1Icon", "properties": { "altText": { @@ -2852,7 +2983,7 @@ "type": "object" }, "GoogleAppsCardV1Image": { - "description": "An image that is specified by a URL and can have an `onClick` action. For an example, see [Add an image](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_an_image). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "An image that is specified by a URL and can have an `onClick` action. For an example, see [Add an image](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_an_image). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1Image", "properties": { "altText": { @@ -2871,7 +3002,7 @@ "type": "object" }, "GoogleAppsCardV1ImageComponent": { - "description": "Represents an image. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "Represents an image. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1ImageComponent", "properties": { "altText": { @@ -2894,7 +3025,7 @@ "type": "object" }, "GoogleAppsCardV1ImageCropStyle": { - "description": "Represents the crop style applied to an image. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, here's how to apply a 16:9 aspect ratio: ``` cropStyle { \"type\": \"RECTANGLE_CUSTOM\", \"aspectRatio\": 16/9 } ```", + "description": "Represents the crop style applied to an image. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, here's how to apply a 16:9 aspect ratio: ``` cropStyle { \"type\": \"RECTANGLE_CUSTOM\", \"aspectRatio\": 16/9 } ```", "id": "GoogleAppsCardV1ImageCropStyle", "properties": { "aspectRatio": { @@ -2968,7 +3099,7 @@ "type": "object" }, "GoogleAppsCardV1OnClick": { - "description": "Represents how to respond when users click an interactive element on a card, such as a button. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "Represents how to respond when users click an interactive element on a card, such as a button. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1OnClick", "properties": { "action": { @@ -2977,11 +3108,11 @@ }, "card": { "$ref": "GoogleAppsCardV1Card", - "description": "A new card is pushed to the card stack after clicking if specified. [Google Workspace Add-ons](https://developers.google.com/workspace/add-ons):" + "description": "A new card is pushed to the card stack after clicking if specified. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons):" }, "openDynamicLinkAction": { "$ref": "GoogleAppsCardV1Action", - "description": "An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. [Google Workspace Add-ons](https://developers.google.com/workspace/add-ons):" + "description": "An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons):" }, "openLink": { "$ref": "GoogleAppsCardV1OpenLink", @@ -2995,11 +3126,11 @@ "type": "object" }, "GoogleAppsCardV1OpenLink": { - "description": "Represents an `onClick` event that opens a hyperlink. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "Represents an `onClick` event that opens a hyperlink. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1OpenLink", "properties": { "onClose": { - "description": "Whether the client forgets about a link after opening it, or observes it until the window closes. [Google Workspace Add-ons](https://developers.google.com/workspace/add-ons):", + "description": "Whether the client forgets about a link after opening it, or observes it until the window closes. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons):", "enum": [ "NOTHING", "RELOAD" @@ -3011,7 +3142,7 @@ "type": "string" }, "openAs": { - "description": "How to open a link. [Google Workspace Add-ons](https://developers.google.com/workspace/add-ons):", + "description": "How to open a link. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons):", "enum": [ "FULL_SIZE", "OVERLAY" @@ -3030,7 +3161,7 @@ "type": "object" }, "GoogleAppsCardV1OverflowMenu": { - "description": "A widget that presents a pop-up menu with one or more actions that users can invoke. For example, showing non-primary actions in a card. You can use this widget when actions don't fit in the available space. To use, specify this widget in the `OnClick` action of widgets that support it. For example, in a `Button`. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "A widget that presents a pop-up menu with one or more actions that users can invoke. For example, showing non-primary actions in a card. You can use this widget when actions don't fit in the available space. To use, specify this widget in the `OnClick` action of widgets that support it. For example, in a `Button`. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1OverflowMenu", "properties": { "items": { @@ -3044,7 +3175,7 @@ "type": "object" }, "GoogleAppsCardV1OverflowMenuItem": { - "description": "An option that users can invoke in an overflow menu. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "An option that users can invoke in an overflow menu. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1OverflowMenuItem", "properties": { "disabled": { @@ -3090,7 +3221,7 @@ "type": "object" }, "GoogleAppsCardV1Section": { - "description": "A section contains a collection of widgets that are rendered vertically in the order that they're specified. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "A section contains a collection of widgets that are rendered vertically in the order that they're specified. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1Section", "properties": { "collapseControl": { @@ -3102,7 +3233,7 @@ "type": "boolean" }, "header": { - "description": "Text that appears at the top of a section. Supports simple HTML formatted text. For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).", + "description": "Text that appears at the top of a section. Supports simple HTML formatted text. For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).", "type": "string" }, "uncollapsibleWidgetsCount": { @@ -3121,7 +3252,7 @@ "type": "object" }, "GoogleAppsCardV1SelectionInput": { - "description": "A widget that creates one or more UI items that users can select. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1SelectionInput", "properties": { "externalDataSource": { @@ -3175,7 +3306,7 @@ "A set of radio buttons. Users can select one radio button.", "A set of switches. Users can turn on one or more switches.", "A dropdown menu. Users can select one item from the menu.", - "A menu with a text box. Users can type and select one or more items. For Google Workspace Add-ons, you must populate items using a static array of `SelectionItem` objects. For Google Chat apps, you can also populate items using a dynamic data source and autosuggest items as users type in the menu. For example, users can start typing the name of a Google Chat space and the widget autosuggests the space. To dynamically populate items for a multiselect menu, use one of the following types of data sources: * Google Workspace data: Items are populated using data from Google Workspace, such as Google Workspace users or Google Chat spaces. * External data: Items are populated from an external data source outside of Google Workspace. For examples of how to implement multiselect menus for Chat apps, see [Add a multiselect menu](https://developers.google.com/workspace/chat/design-interactive-card-dialog#multiselect-menu). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):" + "A menu with a text box. Users can type and select one or more items. For Google Workspace add-ons, you must populate items using a static array of `SelectionItem` objects. For Google Chat apps, you can also populate items using a dynamic data source and autosuggest items as users type in the menu. For example, users can start typing the name of a Google Chat space and the widget autosuggests the space. To dynamically populate items for a multiselect menu, use one of the following types of data sources: * Google Workspace data: Items are populated using data from Google Workspace, such as Google Workspace users or Google Chat spaces. * External data: Items are populated from an external data source outside of Google Workspace. For examples of how to implement multiselect menus for Chat apps, see [Add a multiselect menu](https://developers.google.com/workspace/chat/design-interactive-card-dialog#multiselect-menu). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):" ], "type": "string" } @@ -3183,7 +3314,7 @@ "type": "object" }, "GoogleAppsCardV1SelectionItem": { - "description": "An item that users can select in a selection input, such as a checkbox or switch. Supports up to 100 items. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "An item that users can select in a selection input, such as a checkbox or switch. Supports up to 100 items. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1SelectionItem", "properties": { "bottomText": { @@ -3210,7 +3341,7 @@ "type": "object" }, "GoogleAppsCardV1SuggestionItem": { - "description": "One suggested value that users can enter in a text input field. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "One suggested value that users can enter in a text input field. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1SuggestionItem", "properties": { "text": { @@ -3221,7 +3352,7 @@ "type": "object" }, "GoogleAppsCardV1Suggestions": { - "description": "Suggested values that users can enter. These values appear when users click inside the text input field. As users type, the suggested values dynamically filter to match what the users have typed. For example, a text input field for programming language might suggest Java, JavaScript, Python, and C++. When users start typing `Jav`, the list of suggestions filters to show `Java` and `JavaScript`. Suggested values help guide users to enter values that your app can make sense of. When referring to JavaScript, some users might enter `javascript` and others `java script`. Suggesting `JavaScript` can standardize how users interact with your app. When specified, `TextInput.type` is always `SINGLE_LINE`, even if it's set to `MULTIPLE_LINE`. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "Suggested values that users can enter. These values appear when users click inside the text input field. As users type, the suggested values dynamically filter to match what the users have typed. For example, a text input field for programming language might suggest Java, JavaScript, Python, and C++. When users start typing `Jav`, the list of suggestions filters to show `Java` and `JavaScript`. Suggested values help guide users to enter values that your app can make sense of. When referring to JavaScript, some users might enter `javascript` and others `java script`. Suggesting `JavaScript` can standardize how users interact with your app. When specified, `TextInput.type` is always `SINGLE_LINE`, even if it's set to `MULTIPLE_LINE`. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1Suggestions", "properties": { "items": { @@ -3235,11 +3366,11 @@ "type": "object" }, "GoogleAppsCardV1SwitchControl": { - "description": "Either a toggle-style switch or a checkbox inside a `decoratedText` widget. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): Only supported in the `decoratedText` widget.", + "description": "Either a toggle-style switch or a checkbox inside a `decoratedText` widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): Only supported in the `decoratedText` widget.", "id": "GoogleAppsCardV1SwitchControl", "properties": { "controlType": { - "description": "How the switch appears in the user interface. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "How the switch appears in the user interface. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "enum": [ "SWITCH", "CHECKBOX", @@ -3272,12 +3403,12 @@ "type": "object" }, "GoogleAppsCardV1TextInput": { - "description": "A field in which users can enter text. Supports suggestions and on-change actions. For an example in Google Chat apps, see [Add a field in which a user can enter text](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_field_in_which_a_user_can_enter_text). Chat apps receive and can process the value of entered text during form input events. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). When you need to collect undefined or abstract data from users, use a text input. To collect defined or enumerated data from users, use the SelectionInput widget. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "A field in which users can enter text. Supports suggestions and on-change actions. Supports form submission validation. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is entered. For an example in Google Chat apps, see [Add a field in which a user can enter text](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_field_in_which_a_user_can_enter_text). Chat apps receive and can process the value of entered text during form input events. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). When you need to collect undefined or abstract data from users, use a text input. To collect defined or enumerated data from users, use the SelectionInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1TextInput", "properties": { "autoCompleteAction": { "$ref": "GoogleAppsCardV1Action", - "description": "Optional. Specify what action to take when the text input field provides suggestions to users who interact with it. If unspecified, the suggestions are set by `initialSuggestions` and are processed by the client. If specified, the app takes the action specified here, such as running a custom function. [Google Workspace Add-ons](https://developers.google.com/workspace/add-ons):" + "description": "Optional. Specify what action to take when the text input field provides suggestions to users who interact with it. If unspecified, the suggestions are set by `initialSuggestions` and are processed by the client. If specified, the app takes the action specified here, such as running a custom function. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons):" }, "hintText": { "description": "Text that appears below the text input field meant to assist users by prompting them to enter a certain value. This text is always visible. Required if `label` is unspecified. Otherwise, optional.", @@ -3285,7 +3416,7 @@ }, "initialSuggestions": { "$ref": "GoogleAppsCardV1Suggestions", - "description": "Suggested values that users can enter. These values appear when users click inside the text input field. As users type, the suggested values dynamically filter to match what the users have typed. For example, a text input field for programming language might suggest Java, JavaScript, Python, and C++. When users start typing `Jav`, the list of suggestions filters to show just `Java` and `JavaScript`. Suggested values help guide users to enter values that your app can make sense of. When referring to JavaScript, some users might enter `javascript` and others `java script`. Suggesting `JavaScript` can standardize how users interact with your app. When specified, `TextInput.type` is always `SINGLE_LINE`, even if it's set to `MULTIPLE_LINE`. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):" + "description": "Suggested values that users can enter. These values appear when users click inside the text input field. As users type, the suggested values dynamically filter to match what the users have typed. For example, a text input field for programming language might suggest Java, JavaScript, Python, and C++. When users start typing `Jav`, the list of suggestions filters to show just `Java` and `JavaScript`. Suggested values help guide users to enter values that your app can make sense of. When referring to JavaScript, some users might enter `javascript` and others `java script`. Suggesting `JavaScript` can standardize how users interact with your app. When specified, `TextInput.type` is always `SINGLE_LINE`, even if it's set to `MULTIPLE_LINE`. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):" }, "label": { "description": "The text that appears above the text input field in the user interface. Specify text that helps the user enter the information your app needs. For example, if you are asking someone's name, but specifically need their surname, write `surname` instead of `name`. Required if `hintText` is unspecified. Otherwise, optional.", @@ -3315,6 +3446,10 @@ ], "type": "string" }, + "validation": { + "$ref": "GoogleAppsCardV1Validation", + "description": "Specify the input format validation necessary for this text field. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):" + }, "value": { "description": "The value entered by a user, returned as part of a form input event. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data).", "type": "string" @@ -3323,7 +3458,7 @@ "type": "object" }, "GoogleAppsCardV1TextParagraph": { - "description": "A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1TextParagraph", "properties": { "maxLines": { @@ -3338,6 +3473,38 @@ }, "type": "object" }, + "GoogleAppsCardV1Validation": { + "description": "Represents the necessary data for validating the widget it's attached to. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "id": "GoogleAppsCardV1Validation", + "properties": { + "characterLimit": { + "description": "Specify the character limit for text input widgets. Note that this is only used for text input and is ignored for other widgets. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "format": "int32", + "type": "integer" + }, + "inputType": { + "description": "Specify the type of the input widgets. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "enum": [ + "INPUT_TYPE_UNSPECIFIED", + "TEXT", + "INTEGER", + "FLOAT", + "EMAIL", + "EMOJI_PICKER" + ], + "enumDescriptions": [ + "Unspecified type. Do not use.", + "Regular text that accepts all characters.", + "An integer value.", + "A float value.", + "An email address.", + "A emoji selected from system-provided emoji picker." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleAppsCardV1Widget": { "description": "Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types.", "id": "GoogleAppsCardV1Widget", @@ -3372,7 +3539,7 @@ }, "grid": { "$ref": "GoogleAppsCardV1Grid", - "description": "Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` \"grid\": { \"title\": \"A fine collection of items\", \"columnCount\": 2, \"borderStyle\": { \"type\": \"STROKE\", \"cornerRadius\": 4 }, \"items\": [ { \"image\": { \"imageUri\": \"https://www.example.com/image.png\", \"cropStyle\": { \"type\": \"SQUARE\" }, \"borderStyle\": { \"type\": \"STROKE\" } }, \"title\": \"An item\", \"textAlignment\": \"CENTER\" } ], \"onClick\": { \"openLink\": { \"url\": \"https://www.example.com\" } } } ```" + "description": "Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` \"grid\": { \"title\": \"A fine collection of items\", \"columnCount\": 2, \"borderStyle\": { \"type\": \"STROKE\", \"cornerRadius\": 4 }, \"items\": [ { \"image\": { \"imageUri\": \"https://www.example.com/image.png\", \"cropStyle\": { \"type\": \"SQUARE\" }, \"borderStyle\": { \"type\": \"STROKE\" } }, \"title\": \"An item\", \"textAlignment\": \"CENTER\" } ], \"onClick\": { \"openLink\": { \"url\": \"https://www.example.com\" } } } ```" }, "horizontalAlignment": { "description": "Specifies whether widgets align to the left, right, or center of a column.", @@ -3404,13 +3571,13 @@ }, "textParagraph": { "$ref": "GoogleAppsCardV1TextParagraph", - "description": "Displays a text paragraph. Supports simple HTML formatted text. For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). For example, the following JSON creates a bolded text: ``` \"textParagraph\": { \"text\": \" *bold text*\" } ```" + "description": "Displays a text paragraph. Supports simple HTML formatted text. For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). For example, the following JSON creates a bolded text: ``` \"textParagraph\": { \"text\": \" *bold text*\" } ```" } }, "type": "object" }, "GoogleAppsCardV1Widgets": { - "description": "The supported widgets that you can include in a column. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend)", + "description": "The supported widgets that you can include in a column. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend)", "id": "GoogleAppsCardV1Widgets", "properties": { "buttonList": { @@ -4479,11 +4646,11 @@ "type": "object" }, "SlashCommand": { - "description": "A [slash command](https://developers.google.com/workspace/chat/slash-commands) in Google Chat.", + "description": "Metadata about a [slash command](https://developers.google.com/workspace/chat/commands) in Google Chat.", "id": "SlashCommand", "properties": { "commandId": { - "description": "The ID of the slash command invoked.", + "description": "The ID of the slash command.", "format": "int64", "type": "string" } @@ -4581,10 +4748,10 @@ }, "permissionSettings": { "$ref": "PermissionSettings", - "description": "Optional. Space permission settings for existing spaces. Input for updating exact space permission settings, where existing permission settings are replaced. Output lists current permission settings." + "description": "Optional. Space permission settings for existing spaces. Input for updating exact space permission settings, where existing permission settings are replaced. Output lists current permission settings. Reading and updating permission settings supports: - In [Developer Preview](https://developers.google.com/workspace/preview), [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` scope. Only populated and settable when the Chat app created the space. - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)" }, "predefinedPermissionSettings": { - "description": "Optional. Input only. Predefined space permission settings, input only when creating a space. If the field is not set, a collaboration space is created. After you create the space, settings are populated in the `PermissionSettings` field.", + "description": "Optional. Input only. Predefined space permission settings, input only when creating a space. If the field is not set, a collaboration space is created. After you create the space, settings are populated in the `PermissionSettings` field. Setting predefined permission settings supports: - In [Developer Preview](https://developers.google.com/workspace/preview), [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` or `chat.app.spaces.create` scopes. - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)", "enum": [ "PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED", "COLLABORATION_SPACE", @@ -4814,6 +4981,49 @@ }, "type": "object" }, + "SpaceNotificationSetting": { + "description": "The notification setting of a user in a space.", + "id": "SpaceNotificationSetting", + "properties": { + "muteSetting": { + "description": "The space notification mute setting.", + "enum": [ + "MUTE_SETTING_UNSPECIFIED", + "UNMUTED", + "MUTED" + ], + "enumDescriptions": [ + "Reserved.", + "The user will receive notifications for the space based on the notification setting.", + "The user will not receive any notifications for the space, regardless of the notification setting." + ], + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the space notification setting. Format: `users/{user}/spaces/{space}/spaceNotificationSetting`.", + "type": "string" + }, + "notificationSetting": { + "description": "The notification setting.", + "enum": [ + "NOTIFICATION_SETTING_UNSPECIFIED", + "ALL", + "MAIN_CONVERSATIONS", + "FOR_YOU", + "OFF" + ], + "enumDescriptions": [ + "Reserved.", + "Notifications are triggered by @mentions, followed threads, first message of new threads. All new threads are automatically followed, unless manually unfollowed by the user.", + "The notification is triggered by @mentions, followed threads, first message of new threads. Not available for 1:1 direct messages.", + "The notification is triggered by @mentions, followed threads. Not available for 1:1 direct messages.", + "Notification is off." + ], + "type": "string" + } + }, + "type": "object" + }, "SpaceReadState": { "description": "A user's read state within a space, used to identify read and unread messages.", "id": "SpaceReadState", diff --git a/discovery/googleapis/chromemanagement__v1.json b/discovery/googleapis/chromemanagement__v1.json index 35832e6f6..4a97bb450 100644 --- a/discovery/googleapis/chromemanagement__v1.json +++ b/discovery/googleapis/chromemanagement__v1.json @@ -5,6 +5,12 @@ "https://www.googleapis.com/auth/chrome.management.appdetails.readonly": { "description": "See detailed information about apps installed on Chrome browsers and devices managed by your organization" }, + "https://www.googleapis.com/auth/chrome.management.profiles": { + "description": "See, edit, delete, and take other necessary actions on Chrome browser profiles managed by your organization" + }, + "https://www.googleapis.com/auth/chrome.management.profiles.readonly": { + "description": "See Chrome browser profiles managed by your organization" + }, "https://www.googleapis.com/auth/chrome.management.reports.readonly": { "description": "See reports about devices and Chrome browsers managed within your organization" }, @@ -31,7 +37,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241216", + "revision": "20250309", "rootUrl": "https://chromemanagement.googleapis.com/", "servicePath": "", "title": "Chrome Management API", @@ -370,7 +376,10 @@ "path": "v1/{+name}", "response": { "$ref": "GoogleProtobufEmpty" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/chrome.management.profiles" + ] }, "get": { "description": "Gets a Chrome browser profile with customer ID and profile permanent ID.", @@ -392,7 +401,11 @@ "path": "v1/{+name}", "response": { "$ref": "GoogleChromeManagementVersionsV1ChromeBrowserProfile" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/chrome.management.profiles", + "https://www.googleapis.com/auth/chrome.management.profiles.readonly" + ] }, "list": { "description": "Lists Chrome browser profiles of a customer based on the given search and sorting criteria.", @@ -435,7 +448,11 @@ "path": "v1/{+parent}/profiles", "response": { "$ref": "GoogleChromeManagementVersionsV1ListChromeBrowserProfilesResponse" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/chrome.management.profiles", + "https://www.googleapis.com/auth/chrome.management.profiles.readonly" + ] } } }, @@ -1467,7 +1484,7 @@ "enumDeprecated": [ false, false, - false, + true, false, false, false, @@ -1485,7 +1502,7 @@ "enumDescriptions": [ "Application type unknown.", "Application type arc (Android app).", - "Application type built-in.", + "Deprecated. This vaule is no longer used. Application type built-in.", "Application type Linux (via Crostini).", "Application type Chrome app.", "Application type web.", @@ -1764,14 +1781,16 @@ "CANARY", "DEV", "BETA", - "STABLE" + "STABLE", + "LTS" ], "enumDescriptions": [ "No release channel specified.", "Canary release channel.", "Dev release channel.", "Beta release channel.", - "Stable release channel." + "Stable release channel.", + "Long-term support release channel." ], "readOnly": true, "type": "string" @@ -3816,7 +3835,7 @@ "enumDeprecated": [ false, false, - false, + true, false, false, false, @@ -3834,7 +3853,7 @@ "enumDescriptions": [ "Application type unknown.", "Application type arc (Android app).", - "Application type built-in.", + "Deprecated. This vaule is no longer used. Application type built-in.", "Application type Linux (via Crostini).", "Application type Chrome app.", "Application type web.", @@ -3981,7 +4000,7 @@ "enumDeprecated": [ false, false, - false, + true, false, false, false, @@ -3999,7 +4018,7 @@ "enumDescriptions": [ "Application type unknown.", "Application type arc (Android app).", - "Application type built-in.", + "Deprecated. This vaule is no longer used. Application type built-in.", "Application type Linux (via Crostini).", "Application type Chrome app.", "Application type web.", @@ -4050,7 +4069,7 @@ "enumDeprecated": [ false, false, - false, + true, false, false, false, @@ -4068,7 +4087,7 @@ "enumDescriptions": [ "Application type unknown.", "Application type arc (Android app).", - "Application type built-in.", + "Deprecated. This vaule is no longer used. Application type built-in.", "Application type Linux (via Crostini).", "Application type Chrome app.", "Application type web.", @@ -5018,6 +5037,16 @@ "readOnly": true, "type": "string" }, + "genericCaConnection": { + "$ref": "GoogleChromeManagementVersionsV1GenericCaConnection", + "description": "Output only. The CA connection is a generic CA connection.", + "readOnly": true + }, + "genericProfile": { + "$ref": "GoogleChromeManagementVersionsV1GenericProfile", + "description": "Output only. The profile is a generic certificate provisioning profile.", + "readOnly": true + }, "issuedCertificate": { "description": "Output only. The issued certificate for this `CertificateProvisioningProcess` in PEM format.", "readOnly": true, @@ -5053,13 +5082,11 @@ "description": "Output only. The signature algorithm that the adapter expects the client and backend components to use when processing `sign_data`. This field is only present after the `SignData` operation has been initiated.", "enum": [ "SIGNATURE_ALGORITHM_UNSPECIFIED", - "SIGNATURE_ALGORITHM_RSA_PKCS1_V1_5_SHA256", - "SIGNATURE_ALGORITHM_ECDSA_SHA256" + "SIGNATURE_ALGORITHM_RSA_PKCS1_V1_5_SHA256" ], "enumDescriptions": [ "Default value. This value is unused.", - "The server-side builds the PKCS#1 DigestInfo, i.e., the SHA256 hash is constructed on the server-side. The client should sign using RSA with PKCS#1 v1.5 padding.", - "The PKCS#1 digest info is built by the server-side and sent to the client unhashed. The client is responsible for signing and hashing. Uses the P-256 curve." + "The server-side builds the PKCS#1 DigestInfo, i.e., the SHA256 hash is constructed on the server-side. The client should sign using RSA with PKCS#1 v1.5 padding." ], "readOnly": true, "type": "string" @@ -5320,6 +5347,30 @@ }, "type": "object" }, + "GoogleChromeManagementVersionsV1GenericCaConnection": { + "description": "Describes a generic Certificate Authority Connection.", + "id": "GoogleChromeManagementVersionsV1GenericCaConnection", + "properties": { + "caConnectionAdapterConfigReference": { + "description": "Output only. A string that references the administrator-provided configuration for the certification authority service. This field can be missing if no configuration was given.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementVersionsV1GenericProfile": { + "description": "Describes a generic certificate provisioning profile.", + "id": "GoogleChromeManagementVersionsV1GenericProfile", + "properties": { + "profileAdapterConfigReference": { + "description": "Output only. A string that references the administrator-provided configuration for the certificate provisioning profile. This field can be missing if no configuration was given.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleChromeManagementVersionsV1ListChromeBrowserProfilesResponse": { "description": "Response to ListChromeBrowserProfiles method.", "id": "GoogleChromeManagementVersionsV1ListChromeBrowserProfilesResponse", @@ -5616,155 +5667,6 @@ }, "type": "object" }, - "GoogleChromeManagementVersionsV1alpha1CertificateProvisioningProcess": { - "description": "A certificate provisioning process.", - "id": "GoogleChromeManagementVersionsV1alpha1CertificateProvisioningProcess", - "properties": { - "caConnectionAdapterConfigReference": { - "description": "Output only. A JSON string that contains the administrator-provided configuration for the certification authority service. This field can be missing if no configuration was given.", - "readOnly": true, - "type": "string" - }, - "chromeOsDevice": { - "$ref": "GoogleChromeManagementVersionsV1alpha1ChromeOsDevice", - "description": "Output only. The client certificate is being provisioned for a ChromeOS device. This contains information about the device.", - "readOnly": true - }, - "chromeOsUserSession": { - "$ref": "GoogleChromeManagementVersionsV1alpha1ChromeOsUserSession", - "description": "Output only. The client certificate is being provisioned for a ChromeOS user session. This contains information about the user session.", - "readOnly": true - }, - "failureMessage": { - "description": "Output only. A message describing why this `CertificateProvisioningProcess` failed. Presence of this field indicates that the `CertificateProvisioningProcess` has failed.", - "readOnly": true, - "type": "string" - }, - "issuedCertificate": { - "description": "Output only. The issued certificate for this `CertificateProvisioningProcess` in PEM format.", - "readOnly": true, - "type": "string" - }, - "name": { - "description": "Identifier. Resource name of the `CertificateProvisioningProcess`. The name pattern is given as `customers/{customer}/certificateProvisioningProcesses/{certificate_provisioning_process}` with `{customer}` being the obfuscated customer id and `{certificate_provisioning_process}` being the certificate provisioning process id.", - "type": "string" - }, - "profileAdapterConfigReference": { - "description": "Output only. A JSON string that contains the administrator-provided configuration for the certificate provisioning profile. This field can be missing if no configuration was given.", - "readOnly": true, - "type": "string" - }, - "provisioningProfileId": { - "description": "Output only. The ID of the certificate provisioning profile.", - "readOnly": true, - "type": "string" - }, - "signData": { - "description": "Output only. The data that the client was asked to sign. This field is only present after the `SignData` operation has been initiated.", - "format": "byte", - "readOnly": true, - "type": "string" - }, - "signature": { - "description": "Output only. The signature of `signature_algorithm`, generated using the client's private key using `signature_algorithm`. This field is only present after the`SignData` operation has finished.", - "format": "byte", - "readOnly": true, - "type": "string" - }, - "signatureAlgorithm": { - "description": "Output only. The signature algorithm that the adapter expects the client and backend components to use when processing `sign_data`. This field is only present after the `SignData` operation has been initiated.", - "enum": [ - "SIGNATURE_ALGORITHM_UNSPECIFIED", - "SIGNATURE_ALGORITHM_RSA_PKCS1_V1_5_SHA256", - "SIGNATURE_ALGORITHM_ECDSA_SHA256" - ], - "enumDescriptions": [ - "Default value. This value is unused.", - "The server-side builds the PKCS#1 DigestInfo, i.e., the SHA256 hash is constructed on the server-side. The client should sign using RSA with PKCS#1 v1.5 padding.", - "The PKCS#1 digest info is built by the server-side and sent to the client unhashed. The client is responsible for signing and hashing. Uses the P-256 curve." - ], - "readOnly": true, - "type": "string" - }, - "startTime": { - "description": "Output only. Server-generated timestamp of when the certificate provisioning process has been created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "subjectPublicKeyInfo": { - "description": "Output only. The public key for which a certificate should be provisioned. Represented as a DER-encoded X.509 SubjectPublicKeyInfo.", - "format": "byte", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GoogleChromeManagementVersionsV1alpha1ChromeOsDevice": { - "description": "Describes the ChromeOS device that a `CertificateProvisioningProcess` belongs to.", - "id": "GoogleChromeManagementVersionsV1alpha1ChromeOsDevice", - "properties": { - "deviceDirectoryApiId": { - "description": "Output only. The unique Directory API ID of the device. This value is the same as the Admin Console's Directory API ID in the ChromeOS Devices tab.", - "readOnly": true, - "type": "string" - }, - "serialNumber": { - "description": "Output only. Device serial number. This value is the same as the Admin Console's Serial Number in the ChromeOS Devices tab.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GoogleChromeManagementVersionsV1alpha1ChromeOsUserSession": { - "description": "Describes the ChromeOS user session that a `CertificateProvisioningProcess` belongs to.", - "id": "GoogleChromeManagementVersionsV1alpha1ChromeOsUserSession", - "properties": { - "chromeOsDevice": { - "$ref": "GoogleChromeManagementVersionsV1alpha1ChromeOsDevice", - "description": "Output only. This field contains information about the ChromeOS device that the user session is running on. It is only set if the user session is affiliated, i.e. if the user is managed by the same organization that managed the ChromeOS device.", - "readOnly": true - }, - "userDirectoryApiId": { - "description": "Output only. The unique Directory API ID of the user.", - "readOnly": true, - "type": "string" - }, - "userPrimaryEmail": { - "description": "Output only. The primary e-mail address of the user.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GoogleChromeManagementVersionsV1alpha1SignDataMetadata": { - "description": "Metadata for the long-running operation returned by signData.", - "id": "GoogleChromeManagementVersionsV1alpha1SignDataMetadata", - "properties": { - "startTime": { - "description": "Output only. Start time of the SignData operation.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GoogleChromeManagementVersionsV1alpha1SignDataResponse": { - "description": "Response message for requesting a signature from the client that initated a certificate provisioning process.", - "id": "GoogleChromeManagementVersionsV1alpha1SignDataResponse", - "properties": { - "certificateProvisioningProcess": { - "$ref": "GoogleChromeManagementVersionsV1alpha1CertificateProvisioningProcess", - "description": "Output only. The certificate provisioning process. The signature generated by the client will be available in the `signature` field of `CertificateProvisioningProcess`.", - "readOnly": true - } - }, - "type": "object" - }, "GoogleProtobufEmpty": { "description": "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); }", "id": "GoogleProtobufEmpty", diff --git a/discovery/googleapis/classroom__v1.json b/discovery/googleapis/classroom__v1.json index 0615c0e4d..bb6b18708 100644 --- a/discovery/googleapis/classroom__v1.json +++ b/discovery/googleapis/classroom__v1.json @@ -2,6 +2,12 @@ "auth": { "oauth2": { "scopes": { + "https://www.googleapis.com/auth/classroom.addons.student": { + "description": "See and update its own attachments to posts in Google Classroom" + }, + "https://www.googleapis.com/auth/classroom.addons.teacher": { + "description": "See, create, and update its own attachments to posts in classes you teach in Google Classroom" + }, "https://www.googleapis.com/auth/classroom.announcements": { "description": "View and manage announcements in Google Classroom" }, @@ -87,7 +93,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241209", + "revision": "20250303", "rootUrl": "https://classroom.googleapis.com/", "servicePath": "", "title": "Google Classroom API", @@ -593,7 +599,11 @@ "path": "v1/courses/{courseId}/announcements/{itemId}/addOnContext", "response": { "$ref": "AddOnContext" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.student", + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] }, "list": { "description": "Returns a list of announcements that the requester is permitted to view. Course students may only view `PUBLISHED` announcements. Course teachers and domain administrators may view all announcements. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.", @@ -772,7 +782,10 @@ }, "response": { "$ref": "AddOnAttachment" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] }, "delete": { "description": "Deletes an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", @@ -813,7 +826,10 @@ "path": "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId}", "response": { "$ref": "Empty" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] }, "get": { "description": "Returns an add-on attachment. Requires the add-on requesting the attachment to be the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", @@ -854,7 +870,11 @@ "path": "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId}", "response": { "$ref": "AddOnAttachment" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.student", + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] }, "list": { "description": "Returns all attachments created by an add-on under the post. Requires the add-on to have active attachments on the post or have permission to create new attachments on the post. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", @@ -899,7 +919,11 @@ "path": "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments", "response": { "$ref": "ListAddOnAttachmentsResponse" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.student", + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] }, "patch": { "description": "Updates an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", @@ -948,7 +972,10 @@ }, "response": { "$ref": "AddOnAttachment" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] } } } @@ -1090,7 +1117,11 @@ "path": "v1/courses/{courseId}/courseWork/{itemId}/addOnContext", "response": { "$ref": "AddOnContext" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.student", + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] }, "list": { "description": "Returns a list of course work that the requester is permitted to view. Course students may only view `PUBLISHED` course work. Course teachers and domain administrators may view all course work. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.", @@ -1316,7 +1347,10 @@ }, "response": { "$ref": "AddOnAttachment" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] }, "delete": { "description": "Deletes an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", @@ -1357,7 +1391,10 @@ "path": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}", "response": { "$ref": "Empty" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] }, "get": { "description": "Returns an add-on attachment. Requires the add-on requesting the attachment to be the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", @@ -1398,7 +1435,11 @@ "path": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}", "response": { "$ref": "AddOnAttachment" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.student", + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] }, "list": { "description": "Returns all attachments created by an add-on under the post. Requires the add-on to have active attachments on the post or have permission to create new attachments on the post. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", @@ -1443,7 +1484,11 @@ "path": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments", "response": { "$ref": "ListAddOnAttachmentsResponse" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.student", + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] }, "patch": { "description": "Updates an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", @@ -1492,7 +1537,10 @@ }, "response": { "$ref": "AddOnAttachment" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] } }, "resources": { @@ -1546,6 +1594,8 @@ "$ref": "AddOnAttachmentStudentSubmission" }, "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.student", + "https://www.googleapis.com/auth/classroom.addons.teacher", "https://www.googleapis.com/auth/classroom.student-submissions.students.readonly" ] }, @@ -1604,7 +1654,10 @@ }, "response": { "$ref": "AddOnAttachmentStudentSubmission" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] } } } @@ -2304,7 +2357,11 @@ "path": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnContext", "response": { "$ref": "AddOnContext" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.student", + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] }, "list": { "description": "Returns a list of course work material that the requester is permitted to view. Course students may only view `PUBLISHED` course work material. Course teachers and domain administrators may view all course work material. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.", @@ -2459,7 +2516,10 @@ }, "response": { "$ref": "AddOnAttachment" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] }, "delete": { "description": "Deletes an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", @@ -2500,7 +2560,10 @@ "path": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId}", "response": { "$ref": "Empty" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] }, "get": { "description": "Returns an add-on attachment. Requires the add-on requesting the attachment to be the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", @@ -2541,7 +2604,11 @@ "path": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId}", "response": { "$ref": "AddOnAttachment" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.student", + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] }, "list": { "description": "Returns all attachments created by an add-on under the post. Requires the add-on to have active attachments on the post or have permission to create new attachments on the post. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", @@ -2586,7 +2653,11 @@ "path": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments", "response": { "$ref": "ListAddOnAttachmentsResponse" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.student", + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] }, "patch": { "description": "Updates an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", @@ -2635,7 +2706,10 @@ }, "response": { "$ref": "AddOnAttachment" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] } } } @@ -2684,7 +2758,11 @@ "path": "v1/courses/{courseId}/posts/{postId}/addOnContext", "response": { "$ref": "AddOnContext" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.student", + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] } }, "resources": { @@ -2729,7 +2807,10 @@ }, "response": { "$ref": "AddOnAttachment" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] }, "delete": { "description": "Deletes an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", @@ -2769,7 +2850,10 @@ "path": "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}", "response": { "$ref": "Empty" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] }, "get": { "description": "Returns an add-on attachment. Requires the add-on requesting the attachment to be the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", @@ -2809,7 +2893,11 @@ "path": "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}", "response": { "$ref": "AddOnAttachment" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.student", + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] }, "list": { "description": "Returns all attachments created by an add-on under the post. Requires the add-on to have active attachments on the post or have permission to create new attachments on the post. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", @@ -2853,7 +2941,11 @@ "path": "v1/courses/{courseId}/posts/{postId}/addOnAttachments", "response": { "$ref": "ListAddOnAttachmentsResponse" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.student", + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] }, "patch": { "description": "Updates an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", @@ -2902,7 +2994,10 @@ }, "response": { "$ref": "AddOnAttachment" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] } }, "resources": { @@ -2955,6 +3050,8 @@ "$ref": "AddOnAttachmentStudentSubmission" }, "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.student", + "https://www.googleapis.com/auth/classroom.addons.teacher", "https://www.googleapis.com/auth/classroom.student-submissions.students.readonly" ] }, @@ -3012,7 +3109,10 @@ }, "response": { "$ref": "AddOnAttachmentStudentSubmission" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.addons.teacher" + ] } } } @@ -3300,7 +3400,7 @@ "topics": { "methods": { "create": { - "description": "Creates a topic. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course, create a topic in the requested course, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.", + "description": "Creates a topic. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course, create a topic in the requested course, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `ALREADY_EXISTS` if there exists a topic in the course with the same name. * `FAILED_PRECONDITION` for the following request error: * CourseTopicLimitReached * `NOT_FOUND` if the requested course does not exist.", "flatPath": "v1/courses/{courseId}/topics", "httpMethod": "POST", "id": "classroom.courses.topics.create", @@ -3426,7 +3526,7 @@ ] }, "patch": { - "description": "Updates one or more fields of a topic. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding topic or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course or topic does not exist", + "description": "Updates one or more fields of a topic. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding topic or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `FAILED_PRECONDITION` if there exists a topic in the course with the same name. * `NOT_FOUND` if the requested course or topic does not exist", "flatPath": "v1/courses/{courseId}/topics/{id}", "httpMethod": "PATCH", "id": "classroom.courses.topics.patch", diff --git a/discovery/googleapis/cloudasset__v1.json b/discovery/googleapis/cloudasset__v1.json index 942ca8583..b8c322f43 100644 --- a/discovery/googleapis/cloudasset__v1.json +++ b/discovery/googleapis/cloudasset__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241211", + "revision": "20250215", "rootUrl": "https://cloudasset.googleapis.com/", "servicePath": "", "title": "Cloud Asset API", @@ -685,7 +685,7 @@ ], "parameters": { "destinationParent": { - "description": "Required. Name of the Google Cloud folder or organization to reparent the target resource. The analysis will be performed against hypothetically moving the resource to this specified desitination parent. This can only be a folder number (such as \"folders/123\") or an organization number (such as \"organizations/123\").", + "description": "Required. Name of the Google Cloud folder or organization to reparent the target resource. The analysis will be performed against hypothetically moving the resource to this specified destination parent. This can only be a folder number (such as \"folders/123\") or an organization number (such as \"organizations/123\").", "location": "query", "type": "string" }, @@ -1986,7 +1986,7 @@ ], "enumDescriptions": [ "Unspecified partition key. Tables won't be partitioned using this option.", - "The time when the request is received. If specified as partition key, the result table(s) is partitoned by the RequestTime column, an additional timestamp column representing when the request was received." + "The time when the request is received. If specified as partition key, the result table(s) is partitioned by the RequestTime column, an additional timestamp column representing when the request was received." ], "type": "string" }, @@ -2888,6 +2888,10 @@ "accessLevel": { "description": "An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all EgressSources will be allowed.", "type": "string" + }, + "resource": { + "description": "A Google Cloud resource from the service perimeter that you want to allow to access data outside the perimeter. This field supports only projects. The project format is `projects/{project_number}`. You can't use `*` in this field to allow all Google Cloud resources.", + "type": "string" } }, "type": "object" @@ -3390,7 +3394,7 @@ "description": "The IAM policy directly set on the given resource. Note that the original IAM policy can contain multiple bindings. This only contains the bindings that match the given query. For queries that don't contain a constrain on policies (e.g., an empty query), this contains all the bindings. To search against the `policy` bindings: * use a field query: - query by the policy contained members. Example: `policy:amy@gmail.com` - query by the policy contained roles. Example: `policy:roles/compute.admin` - query by the policy contained roles' included permissions. Example: `policy.role.permissions:compute.instances.create`" }, "project": { - "description": "The project that the associated Google Cloud resource belongs to, in the form of projects/{PROJECT_NUMBER}. If an IAM policy is set on a resource (like VM instance, Cloud Storage bucket), the project field will indicate the project that contains the resource. If an IAM policy is set on a folder or orgnization, this field will be empty. To search against the `project`: * specify the `scope` field as this project in your search request.", + "description": "The project that the associated Google Cloud resource belongs to, in the form of projects/{PROJECT_NUMBER}. If an IAM policy is set on a resource (like VM instance, Cloud Storage bucket), the project field will indicate the project that contains the resource. If an IAM policy is set on a folder or organization, this field will be empty. To search against the `project`: * specify the `scope` field as this project in your search request.", "type": "string" }, "resource": { @@ -3766,8 +3770,8 @@ ], "enumDescriptions": [ "Unspecified partition key. If used, it means using non-partitioned table.", - "The time when the snapshot is taken. If specified as partition key, the result table(s) is partitoned by the additional timestamp column, readTime. If [read_time] in ExportAssetsRequest is specified, the readTime column's value will be the same as it. Otherwise, its value will be the current time that is used to take the snapshot.", - "The time when the request is received and started to be processed. If specified as partition key, the result table(s) is partitoned by the requestTime column, an additional timestamp column representing when the request was received." + "The time when the snapshot is taken. If specified as partition key, the result table(s) is partitioned by the additional timestamp column, readTime. If [read_time] in ExportAssetsRequest is specified, the readTime column's value will be the same as it. Otherwise, its value will be the current time that is used to take the snapshot.", + "The time when the request is received and started to be processed. If specified as partition key, the result table(s) is partitioned by the requestTime column, an additional timestamp column representing when the request was received." ], "type": "string" } diff --git a/discovery/googleapis/cloudbuild__v1.json b/discovery/googleapis/cloudbuild__v1.json index 5e2fd84e1..dd9689c43 100644 --- a/discovery/googleapis/cloudbuild__v1.json +++ b/discovery/googleapis/cloudbuild__v1.json @@ -191,11 +191,6 @@ "endpointUrl": "https://cloudbuild.us-east1.rep.googleapis.com/", "location": "us-east1" }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://cloudbuild.us-east10.rep.googleapis.com/", - "location": "us-east10" - }, { "description": "Regional Endpoint", "endpointUrl": "https://cloudbuild.us-east4.rep.googleapis.com/", @@ -252,7 +247,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241210", + "revision": "20250303", "rootUrl": "https://cloudbuild.googleapis.com/", "servicePath": "", "title": "Cloud Build API", @@ -2685,6 +2680,13 @@ "description": "Artifacts produced by a build that should be uploaded upon successful completion of all build steps.", "id": "Artifacts", "properties": { + "goModules": { + "description": "Optional. A list of Go modules to be uploaded to Artifact Registry upon successful completion of all build steps. If any objects fail to be pushed, the build is marked FAILURE.", + "items": { + "$ref": "GoModule" + }, + "type": "array" + }, "images": { "description": "A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account's credentials. The digests of the pushed images will be stored in the Build resource's results field. If any of the images fail to be pushed, the build is marked FAILURE.", "items": { @@ -3022,6 +3024,13 @@ "readOnly": true, "type": "string" }, + "dependencies": { + "description": "Optional. Dependencies that the Cloud Build worker will fetch before executing user steps.", + "items": { + "$ref": "Dependency" + }, + "type": "array" + }, "failureInfo": { "$ref": "FailureInfo", "description": "Output only. Contains information about the build when status=FAILURE.", @@ -3265,6 +3274,10 @@ "description": "Option to specify whether or not to apply bash style string operations to the substitutions. NOTE: this is always enabled for triggered builds and cannot be overridden in the build configuration file.", "type": "boolean" }, + "enableStructuredLogging": { + "description": "Optional. Option to specify whether structured logging is enabled. If true, JSON-formatted logs are parsed as structured logs.", + "type": "boolean" + }, "env": { "description": "A list of global environment variable definitions that will exist for all build steps in this build. If a variable is defined in both globally and in a build step, the variable will use the build step value. The elements are of the form \"KEY=VALUE\" for the environment variable \"KEY\" being given the value \"VALUE\".", "items": { @@ -3346,6 +3359,10 @@ "$ref": "PoolOption", "description": "Optional. Specification for execution on a `WorkerPool`. See [running builds in a private pool](https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool) for more information." }, + "pubsubTopic": { + "description": "Optional. Option to specify the Pub/Sub topic to receive build status updates.", + "type": "string" + }, "requestedVerifyOption": { "description": "Requested verifiability options.", "enum": [ @@ -3372,12 +3389,14 @@ "NONE", "SHA256", "MD5", + "GO_MODULE_H1", "SHA512" ], "enumDescriptions": [ "No hash requested.", "Use a sha256 hash.", "Use a md5 hash.", + "Dirhash of a Go module's source code which is then hex-encoded.", "Use a sha512 hash." ], "type": "string" @@ -3969,6 +3988,21 @@ }, "type": "object" }, + "Dependency": { + "description": "A dependency that the Cloud Build worker will fetch before executing user steps.", + "id": "Dependency", + "properties": { + "empty": { + "description": "If set to true disable all dependency fetching (ignoring the default source as well).", + "type": "boolean" + }, + "gitSource": { + "$ref": "GitSourceDependency", + "description": "Represents a git repository as a build dependency." + } + }, + "type": "object" + }, "DeveloperConnectConfig": { "description": "This config defines the location of a source through Developer Connect.", "id": "DeveloperConnectConfig", @@ -4466,6 +4500,80 @@ }, "type": "object" }, + "GitSourceDependency": { + "description": "Represents a git repository as a build dependency.", + "id": "GitSourceDependency", + "properties": { + "depth": { + "description": "Optional. How much history should be fetched for the build (default 1, -1 for all history).", + "format": "int64", + "type": "string" + }, + "destPath": { + "description": "Required. Where should the files be placed on the worker.", + "type": "string" + }, + "recurseSubmodules": { + "description": "Optional. True if submodules should be fetched too (default false).", + "type": "boolean" + }, + "repository": { + "$ref": "GitSourceRepository", + "description": "Required. The kind of repo (url or dev connect)." + }, + "revision": { + "description": "Required. The revision that we will fetch the repo at.", + "type": "string" + } + }, + "type": "object" + }, + "GitSourceRepository": { + "description": "A repository for a git source.", + "id": "GitSourceRepository", + "properties": { + "developerConnect": { + "description": "The Developer Connect Git repository link or the url that matches a repository link in the current project, formatted as `projects/*/locations/*/connections/*/gitRepositoryLink/*`", + "type": "string" + }, + "url": { + "description": "Location of the Git repository.", + "type": "string" + } + }, + "type": "object" + }, + "GoModule": { + "description": "Go module to upload to Artifact Registry upon successful completion of all build steps. A module refers to all dependencies in a go.mod file.", + "id": "GoModule", + "properties": { + "modulePath": { + "description": "Optional. The Go module's \"module path\". e.g. example.com/foo/v2", + "type": "string" + }, + "moduleVersion": { + "description": "Optional. The Go module's semantic version in the form vX.Y.Z. e.g. v0.1.1 Pre-release identifiers can also be added by appending a dash and dot separated ASCII alphanumeric characters and hyphens. e.g. v0.2.3-alpha.x.12m.5", + "type": "string" + }, + "repositoryLocation": { + "description": "Optional. Location of the Artifact Registry repository. i.e. us-east1 Defaults to the build’s location.", + "type": "string" + }, + "repositoryName": { + "description": "Optional. Artifact Registry repository name. Specified Go modules will be zipped and uploaded to Artifact Registry with this location as a prefix. e.g. my-go-repo", + "type": "string" + }, + "repositoryProjectId": { + "description": "Optional. Project ID of the Artifact Registry repository. Defaults to the build project.", + "type": "string" + }, + "sourcePath": { + "description": "Optional. Source path of the go.mod file in the build's workspace. If not specified, this will default to the current directory. e.g. ~/code/go/mypackage", + "type": "string" + } + }, + "type": "object" + }, "Hash": { "description": "Container message for hash values.", "id": "Hash", @@ -4476,12 +4584,14 @@ "NONE", "SHA256", "MD5", + "GO_MODULE_H1", "SHA512" ], "enumDescriptions": [ "No hash requested.", "Use a sha256 hash.", "Use a md5 hash.", + "Dirhash of a Go module's source code which is then hex-encoded.", "Use a sha512 hash." ], "type": "string" @@ -5152,6 +5262,13 @@ }, "type": "array" }, + "goModules": { + "description": "Optional. Go module artifacts uploaded to Artifact Registry at the end of the build.", + "items": { + "$ref": "UploadedGoModule" + }, + "type": "array" + }, "images": { "description": "Container images that were built as a part of the build.", "items": { @@ -5542,6 +5659,26 @@ }, "type": "object" }, + "UploadedGoModule": { + "description": "A Go module artifact uploaded to Artifact Registry using the GoModule directive.", + "id": "UploadedGoModule", + "properties": { + "fileHashes": { + "$ref": "FileHashes", + "description": "Hash types and values of the Go Module Artifact." + }, + "pushTiming": { + "$ref": "TimeSpan", + "description": "Output only. Stores timing information for pushing the specified artifact.", + "readOnly": true + }, + "uri": { + "description": "URI of the uploaded artifact.", + "type": "string" + } + }, + "type": "object" + }, "UploadedMavenArtifact": { "description": "A Maven artifact uploaded using the MavenArtifact directive.", "id": "UploadedMavenArtifact", diff --git a/discovery/googleapis/cloudbuild__v2.json b/discovery/googleapis/cloudbuild__v2.json index ee971bc7b..c649cce0d 100644 --- a/discovery/googleapis/cloudbuild__v2.json +++ b/discovery/googleapis/cloudbuild__v2.json @@ -191,11 +191,6 @@ "endpointUrl": "https://cloudbuild.us-east1.rep.googleapis.com/", "location": "us-east1" }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://cloudbuild.us-east10.rep.googleapis.com/", - "location": "us-east10" - }, { "description": "Regional Endpoint", "endpointUrl": "https://cloudbuild.us-east4.rep.googleapis.com/", @@ -252,7 +247,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241210", + "revision": "20250303", "rootUrl": "https://cloudbuild.googleapis.com/", "servicePath": "", "title": "Cloud Build API", @@ -596,6 +591,11 @@ "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Optional. If set to true, the response will return partial results when some regions are unreachable. If set to false, the response will fail if any region is unreachable.", + "location": "query", + "type": "boolean" } }, "path": "v2/{+parent}/connections", @@ -667,7 +667,7 @@ "type": "string" }, "webhookKey": { - "description": "Arbitrary additional key to find the maching repository for a webhook event if needed.", + "description": "Arbitrary additional key to find the matching repository for a webhook event if needed.", "location": "query", "type": "string" } @@ -999,6 +999,11 @@ "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Optional. If set to true, the response will return partial results when some regions are unreachable. If set to false, the response will fail if any region is unreachable.", + "location": "query", + "type": "boolean" } }, "path": "v2/{+parent}/repositories", @@ -1830,6 +1835,13 @@ "nextPageToken": { "description": "A token identifying a page of results the server should return.", "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -1866,6 +1878,13 @@ "$ref": "Repository" }, "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" diff --git a/discovery/googleapis/cloudcontrolspartner__v1.json b/discovery/googleapis/cloudcontrolspartner__v1.json index e352a8368..d57cb1ff3 100644 --- a/discovery/googleapis/cloudcontrolspartner__v1.json +++ b/discovery/googleapis/cloudcontrolspartner__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241024", + "revision": "20241231", "rootUrl": "https://cloudcontrolspartner.googleapis.com/", "servicePath": "", "title": "Cloud Controls Partner API", @@ -845,12 +845,19 @@ "THALES", "VIRTRU" ], + "enumDeprecated": [ + false, + false, + false, + false, + true + ], "enumDescriptions": [ "Unspecified EKM solution", "EKM Partner Fortanix", "EKM Partner FutureX", "EKM Partner Thales", - "EKM Partner Virtu" + "This enum value is never used." ], "type": "string" } diff --git a/discovery/googleapis/clouddeploy__v1.json b/discovery/googleapis/clouddeploy__v1.json index 57d367eae..c2ca07e1e 100644 --- a/discovery/googleapis/clouddeploy__v1.json +++ b/discovery/googleapis/clouddeploy__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241204", + "revision": "20250226", "rootUrl": "https://clouddeploy.googleapis.com/", "servicePath": "", "title": "Cloud Deploy API", @@ -413,7 +413,7 @@ "type": "boolean" }, "name": { - "description": "Optional. Name of the `CustomTargetType`. Format is `projects/{project}/locations/{location}/customTargetTypes/{customTargetType}`. The `customTargetType` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", + "description": "Identifier. Name of the `CustomTargetType`. Format is `projects/{project}/locations/{location}/customTargetTypes/{customTargetType}`. The `customTargetType` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/customTargetTypes/[^/]+$", "required": true, @@ -689,7 +689,7 @@ "type": "boolean" }, "name": { - "description": "Optional. Name of the `DeliveryPipeline`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}`. The `deliveryPipeline` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", + "description": "Identifier. Name of the `DeliveryPipeline`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}`. The `deliveryPipeline` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+$", "required": true, @@ -1769,6 +1769,37 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployPolicies/{deployPoliciesId}:getIamPolicy", + "httpMethod": "GET", + "id": "clouddeploy.projects.locations.deployPolicies.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/deployPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { "description": "Lists DeployPolicies in a given project and location.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployPolicies", @@ -1863,6 +1894,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployPolicies/{deployPoliciesId}:setIamPolicy", + "httpMethod": "POST", + "id": "clouddeploy.projects.locations.deployPolicies.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/deployPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } }, @@ -2196,7 +2255,7 @@ "type": "boolean" }, "name": { - "description": "Optional. Name of the `Target`. Format is `projects/{project}/locations/{location}/targets/{target}`. The `target` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", + "description": "Identifier. Name of the `Target`. Format is `projects/{project}/locations/{location}/targets/{target}`. The `target` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/targets/[^/]+$", "required": true, @@ -2644,7 +2703,7 @@ "id": "AutomationResourceSelector", "properties": { "targets": { - "description": "Contains attributes about a target.", + "description": "Optional. Contains attributes about a target.", "items": { "$ref": "TargetAttribute" }, @@ -2933,11 +2992,11 @@ "id": "BuildArtifact", "properties": { "image": { - "description": "Image name in Skaffold configuration.", + "description": "Optional. Image name in Skaffold configuration.", "type": "string" }, "tag": { - "description": "Image tag to use. This will generally be the full path to an image, such as \"gcr.io/my-project/busybox:1.2.3\" or \"gcr.io/my-project/busybox@sha256:abc123\".", + "description": "Optional. Image tag to use. This will generally be the full path to an image, such as \"gcr.io/my-project/busybox:1.2.3\" or \"gcr.io/my-project/busybox@sha256:abc123\".", "type": "string" } }, @@ -2949,11 +3008,11 @@ "properties": { "canaryDeployment": { "$ref": "CanaryDeployment", - "description": "Configures the progressive based deployment for a Target." + "description": "Optional. Configures the progressive based deployment for a Target." }, "customCanaryDeployment": { "$ref": "CustomCanaryDeployment", - "description": "Configures the progressive based deployment for a Target, but allows customizing at the phase level where a phase represents each of the percentage deployments." + "description": "Optional. Configures the progressive based deployment for a Target, but allows customizing at the phase level where a phase represents each of the percentage deployments." }, "runtimeConfig": { "$ref": "RuntimeConfig", @@ -2983,7 +3042,7 @@ "description": "Optional. Configuration for the predeploy job of the first phase. If this is not configured, there will be no predeploy job for this phase." }, "verify": { - "description": "Whether to run verify tests after each percentage deployment.", + "description": "Optional. Whether to run verify tests after each percentage deployment.", "type": "boolean" } }, @@ -3055,7 +3114,7 @@ "id": "CloudRunConfig", "properties": { "automaticTrafficControl": { - "description": "Whether Cloud Deploy should update the traffic stanza in a Cloud Run Service on the user's behalf to facilitate traffic splitting. This is required to be true for CanaryDeployments, but optional for CustomCanaryDeployments.", + "description": "Optional. Whether Cloud Deploy should update the traffic stanza in a Cloud Run Service on the user's behalf to facilitate traffic splitting. This is required to be true for CanaryDeployments, but optional for CustomCanaryDeployments.", "type": "boolean" }, "canaryRevisionTags": { @@ -3273,7 +3332,7 @@ }, "customActions": { "$ref": "CustomTargetSkaffoldActions", - "description": "Configures render and deploy for the `CustomTargetType` using Skaffold custom actions." + "description": "Optional. Configures render and deploy for the `CustomTargetType` using Skaffold custom actions." }, "customTargetTypeId": { "description": "Output only. Resource id of the `CustomTargetType`.", @@ -3296,7 +3355,7 @@ "type": "object" }, "name": { - "description": "Optional. Name of the `CustomTargetType`. Format is `projects/{project}/locations/{location}/customTargetTypes/{customTargetType}`. The `customTargetType` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", + "description": "Identifier. Name of the `CustomTargetType`. Format is `projects/{project}/locations/{location}/customTargetTypes/{customTargetType}`. The `customTargetType` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", "type": "string" }, "uid": { @@ -3414,7 +3473,7 @@ "additionalProperties": { "type": "string" }, - "description": "User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy.", + "description": "Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy.", "type": "object" }, "condition": { @@ -3429,7 +3488,7 @@ "type": "string" }, "description": { - "description": "Description of the `DeliveryPipeline`. Max length is 255 characters.", + "description": "Optional. Description of the `DeliveryPipeline`. Max length is 255 characters.", "type": "string" }, "etag": { @@ -3444,15 +3503,15 @@ "type": "object" }, "name": { - "description": "Optional. Name of the `DeliveryPipeline`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}`. The `deliveryPipeline` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", + "description": "Identifier. Name of the `DeliveryPipeline`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}`. The `deliveryPipeline` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", "type": "string" }, "serialPipeline": { "$ref": "SerialPipeline", - "description": "SerialPipeline defines a sequential set of stages for a `DeliveryPipeline`." + "description": "Optional. SerialPipeline defines a sequential set of stages for a `DeliveryPipeline`." }, "suspended": { - "description": "When suspended, no new releases or rollouts can be created, but in-progress ones will complete.", + "description": "Optional. When suspended, no new releases or rollouts can be created, but in-progress ones will complete.", "type": "boolean" }, "uid": { @@ -3474,7 +3533,7 @@ "id": "DeliveryPipelineAttribute", "properties": { "id": { - "description": "ID of the `DeliveryPipeline`. The value of this field could be one of the following: * The last segment of a pipeline name * \"*\", all delivery pipelines in a location", + "description": "Optional. ID of the `DeliveryPipeline`. The value of this field could be one of the following: * The last segment of a pipeline name * \"*\", all delivery pipelines in a location", "type": "string" }, "labels": { @@ -3598,7 +3657,7 @@ "No reason for failure is specified.", "Cloud Build is not available, either because it is not enabled or because Cloud Deploy has insufficient permissions. See [Required permission](https://cloud.google.com/deploy/docs/cloud-deploy-service-account#required_permissions).", "The deploy operation did not complete successfully; check Cloud Build logs.", - "The deploy job run did not complete within the alloted time.", + "The deploy job run did not complete within the allotted time.", "There were missing resources in the runtime environment required for a canary deployment. Check the Cloud Build logs for more information.", "Cloud Build failed to fulfill Cloud Deploy's request. See failure_message for additional details.", "The deploy operation had a feature configured that is not supported." @@ -3670,7 +3729,7 @@ "additionalProperties": { "type": "string" }, - "description": "User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. Annotations must meet the following constraints: * Annotations are key/value pairs. * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (`/`). * The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character (`[a-z0-9A-Z]`) with dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between. * The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots(`.`), not longer than 253 characters in total, followed by a slash (`/`). See https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set for more details.", + "description": "Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. Annotations must meet the following constraints: * Annotations are key/value pairs. * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (`/`). * The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character (`[a-z0-9A-Z]`) with dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between. * The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots(`.`), not longer than 253 characters in total, followed by a slash (`/`). See https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set for more details.", "type": "object" }, "createTime": { @@ -3680,7 +3739,7 @@ "type": "string" }, "description": { - "description": "Description of the `DeployPolicy`. Max length is 255 characters.", + "description": "Optional. Description of the `DeployPolicy`. Max length is 255 characters.", "type": "string" }, "etag": { @@ -3714,7 +3773,7 @@ "type": "array" }, "suspended": { - "description": "When suspended, the policy will not prevent actions from occurring, even if the action violates the policy.", + "description": "Optional. When suspended, the policy will not prevent actions from occurring, even if the action violates the policy.", "type": "boolean" }, "uid": { @@ -4054,8 +4113,12 @@ "description": "Optional. Information specifying a GKE Cluster. Format is `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}`.", "type": "string" }, + "dnsEndpoint": { + "description": "Optional. If set, the cluster will be accessed using the DNS endpoint. Note that both `dns_endpoint` and `internal_ip` cannot be set to true.", + "type": "boolean" + }, "internalIp": { - "description": "Optional. If true, `cluster` is accessed using the private IP address of the control plane endpoint. Otherwise, the default IP address of the control plane endpoint is used. The default IP address is the private IP address for clusters with private control-plane endpoints and the public IP address otherwise. Only specify this option when `cluster` is a [private GKE cluster](https://cloud.google.com/kubernetes-engine/docs/concepts/private-cluster-concept).", + "description": "Optional. If true, `cluster` is accessed using the private IP address of the control plane endpoint. Otherwise, the default IP address of the control plane endpoint is used. The default IP address is the private IP address for clusters with private control-plane endpoints and the public IP address otherwise. Only specify this option when `cluster` is a [private GKE cluster](https://cloud.google.com/kubernetes-engine/docs/concepts/private-cluster-concept). Note that `internal_ip` and `dns_endpoint` cannot both be set to true.", "type": "boolean" }, "proxyUrl": { @@ -4214,7 +4277,8 @@ "type": "string" }, "name": { - "description": "Optional. Name of the `JobRun`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{releases}/rollouts/{rollouts}/jobRuns/{uuid}`.", + "description": "Output only. Name of the `JobRun`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{releases}/rollouts/{rollouts}/jobRuns/{uuid}`.", + "readOnly": true, "type": "string" }, "phaseId": { @@ -4354,11 +4418,11 @@ "properties": { "gatewayServiceMesh": { "$ref": "GatewayServiceMesh", - "description": "Kubernetes Gateway API service mesh configuration." + "description": "Optional. Kubernetes Gateway API service mesh configuration." }, "serviceNetworking": { "$ref": "ServiceNetworking", - "description": "Kubernetes Service networking configuration." + "description": "Optional. Kubernetes Service networking configuration." } }, "type": "object" @@ -4575,7 +4639,7 @@ "type": "object" }, "ListRolloutsResponse": { - "description": "ListRolloutsResponse is the response object reutrned by `ListRollouts`.", + "description": "ListRolloutsResponse is the response object returned by `ListRollouts`.", "id": "ListRolloutsResponse", "properties": { "nextPageToken": { @@ -4890,14 +4954,14 @@ "description": "Optional. Configuration for the predeploy job of this phase. If this is not configured, there will be no predeploy job for this phase." }, "profiles": { - "description": "Skaffold profiles to use when rendering the manifest for this phase. These are in addition to the profiles list specified in the `DeliveryPipeline` stage.", + "description": "Optional. Skaffold profiles to use when rendering the manifest for this phase. These are in addition to the profiles list specified in the `DeliveryPipeline` stage.", "items": { "type": "string" }, "type": "array" }, "verify": { - "description": "Whether to run verify tests after the deployment.", + "description": "Optional. Whether to run verify tests after the deployment.", "type": "boolean" } }, @@ -4975,7 +5039,7 @@ "properties": { "rolloutRestriction": { "$ref": "RolloutRestriction", - "description": "Rollout restrictions." + "description": "Optional. Rollout restrictions." } }, "type": "object" @@ -5064,7 +5128,7 @@ "No reason for failure is specified.", "Cloud Build is not available, either because it is not enabled or because Cloud Deploy has insufficient permissions. See [required permission](https://cloud.google.com/deploy/docs/cloud-deploy-service-account#required_permissions).", "The postdeploy operation did not complete successfully; check Cloud Build logs.", - "The postdeploy job run did not complete within the alloted time.", + "The postdeploy job run did not complete within the allotted time.", "Cloud Build failed to fulfill Cloud Deploy's request. See failure_message for additional details." ], "readOnly": true, @@ -5129,7 +5193,7 @@ "No reason for failure is specified.", "Cloud Build is not available, either because it is not enabled or because Cloud Deploy has insufficient permissions. See [required permission](https://cloud.google.com/deploy/docs/cloud-deploy-service-account#required_permissions).", "The predeploy operation did not complete successfully; check Cloud Build logs.", - "The predeploy job run did not complete within the alloted time.", + "The predeploy job run did not complete within the allotted time.", "Cloud Build failed to fulfill Cloud Deploy's request. See failure_message for additional details." ], "readOnly": true, @@ -5232,11 +5296,11 @@ "additionalProperties": { "type": "string" }, - "description": "User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations.", + "description": "Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations.", "type": "object" }, "buildArtifacts": { - "description": "List of artifacts to pass through to Skaffold command.", + "description": "Optional. List of artifacts to pass through to Skaffold command.", "items": { "$ref": "BuildArtifact" }, @@ -5274,7 +5338,7 @@ "type": "object" }, "description": { - "description": "Description of the `Release`. Max length is 255 characters.", + "description": "Optional. Description of the `Release`. Max length is 255 characters.", "type": "string" }, "etag": { @@ -5289,7 +5353,7 @@ "type": "object" }, "name": { - "description": "Optional. Name of the `Release`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}`. The `release` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", + "description": "Identifier. Name of the `Release`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}`. The `release` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", "type": "string" }, "renderEndTime": { @@ -5322,11 +5386,11 @@ "type": "string" }, "skaffoldConfigPath": { - "description": "Filepath of the Skaffold config inside of the config URI.", + "description": "Optional. Filepath of the Skaffold config inside of the config URI.", "type": "string" }, "skaffoldConfigUri": { - "description": "Cloud Storage URI of tar.gz archive containing Skaffold configuration.", + "description": "Optional. Cloud Storage URI of tar.gz archive containing Skaffold configuration.", "type": "string" }, "skaffoldVersion": { @@ -5929,7 +5993,7 @@ "additionalProperties": { "type": "string" }, - "description": "User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations.", + "description": "Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations.", "type": "object" }, "approvalState": { @@ -5991,7 +6055,7 @@ "No reason for failure is specified.", "Cloud Build is not available, either because it is not enabled or because Cloud Deploy has insufficient permissions. See [required permission](https://cloud.google.com/deploy/docs/cloud-deploy-service-account#required_permissions).", "The deploy operation did not complete successfully; check Cloud Build logs.", - "Deployment did not complete within the alloted time.", + "Deployment did not complete within the allotted time.", "Release is in a failed state.", "Release is abandoned.", "No Skaffold verify configuration was found.", @@ -6013,7 +6077,7 @@ "type": "string" }, "description": { - "description": "Description of the `Rollout` for user purposes. Max length is 255 characters.", + "description": "Optional. Description of the `Rollout` for user purposes. Max length is 255 characters.", "type": "string" }, "enqueueTime": { @@ -6044,7 +6108,7 @@ "readOnly": true }, "name": { - "description": "Optional. Name of the `Rollout`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`. The `rollout` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", + "description": "Identifier. Name of the `Rollout`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`. The `rollout` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", "type": "string" }, "phases": { @@ -6360,7 +6424,7 @@ "type": "array" }, "propagateService": { - "description": "Optional. Whether to propagate the Kubernetes Service to the route destination clusters. The Service will always be deployed to the Target cluster even if the HTTPRoute is not. This option may be used to facilitiate successful DNS lookup in the route destination clusters. Can only be set to true if destinations are specified.", + "description": "Optional. Whether to propagate the Kubernetes Service to the route destination clusters. The Service will always be deployed to the Target cluster even if the HTTPRoute is not. This option may be used to facilitate successful DNS lookup in the route destination clusters. Can only be set to true if destinations are specified.", "type": "boolean" } }, @@ -6372,11 +6436,11 @@ "properties": { "cloudRun": { "$ref": "CloudRunConfig", - "description": "Cloud Run runtime configuration." + "description": "Optional. Cloud Run runtime configuration." }, "kubernetes": { "$ref": "KubernetesConfig", - "description": "Kubernetes runtime configuration." + "description": "Optional. Kubernetes runtime configuration." } }, "type": "object" @@ -6386,7 +6450,7 @@ "id": "SerialPipeline", "properties": { "stages": { - "description": "Each stage specifies configuration for a `Target`. The ordering of this list defines the promotion flow.", + "description": "Optional. Each stage specifies configuration for a `Target`. The ordering of this list defines the promotion flow.", "items": { "$ref": "Stage" }, @@ -6500,15 +6564,15 @@ }, "git": { "$ref": "SkaffoldGitSource", - "description": "Remote git repository containing the Skaffold Config modules." + "description": "Optional. Remote git repository containing the Skaffold Config modules." }, "googleCloudBuildRepo": { "$ref": "SkaffoldGCBRepoSource", - "description": "Cloud Build V2 repository containing the Skaffold Config modules." + "description": "Optional. Cloud Build V2 repository containing the Skaffold Config modules." }, "googleCloudStorage": { "$ref": "SkaffoldGCSSource", - "description": "Cloud Storage bucket containing the Skaffold Config modules." + "description": "Optional. Cloud Storage bucket containing the Skaffold Config modules." } }, "type": "object" @@ -6587,7 +6651,7 @@ "type": "array" }, "profiles": { - "description": "Skaffold profiles to use when rendering the manifest for this stage's `Target`.", + "description": "Optional. Skaffold profiles to use when rendering the manifest for this stage's `Target`.", "items": { "type": "string" }, @@ -6598,7 +6662,7 @@ "description": "Optional. The strategy to use for a `Rollout` to this stage." }, "targetId": { - "description": "The target_id to which this stage points. This field refers exclusively to the last segment of a target name. For example, this field would just be `my-target` (rather than `projects/project/locations/location/targets/my-target`). The location of the `Target` is inferred to be the same as the location of the `DeliveryPipeline` that contains this `Stage`.", + "description": "Optional. The target_id to which this stage points. This field refers exclusively to the last segment of a target name. For example, this field would just be `my-target` (rather than `projects/project/locations/location/targets/my-target`). The location of the `Target` is inferred to be the same as the location of the `DeliveryPipeline` that contains this `Stage`.", "type": "string" } }, @@ -6617,7 +6681,7 @@ "description": "Optional. Configuration for the predeploy job. If this is not configured, predeploy job will not be present." }, "verify": { - "description": "Whether to verify a deployment.", + "description": "Optional. Whether to verify a deployment.", "type": "boolean" } }, @@ -6656,11 +6720,11 @@ "properties": { "canary": { "$ref": "Canary", - "description": "Canary deployment strategy provides progressive percentage based deployments to a Target." + "description": "Optional. Canary deployment strategy provides progressive percentage based deployments to a Target." }, "standard": { "$ref": "Standard", - "description": "Standard deployment strategy executes a single deploy and allows verifying the deployment." + "description": "Optional. Standard deployment strategy executes a single deploy and allows verifying the deployment." } }, "type": "object" @@ -6713,7 +6777,7 @@ "type": "string" }, "executionConfigs": { - "description": "Configurations for all execution that relates to this `Target`. Each `ExecutionEnvironmentUsage` value may only be used in a single configuration; using the same value multiple times is an error. When one or more configurations are specified, they must include the `RENDER` and `DEPLOY` `ExecutionEnvironmentUsage` values. When no configurations are specified, execution will use the default specified in `DefaultPool`.", + "description": "Optional. Configurations for all execution that relates to this `Target`. Each `ExecutionEnvironmentUsage` value may only be used in a single configuration; using the same value multiple times is an error. When one or more configurations are specified, they must include the `RENDER` and `DEPLOY` `ExecutionEnvironmentUsage` values. When no configurations are specified, execution will use the default specified in `DefaultPool`.", "items": { "$ref": "ExecutionConfig" }, @@ -6735,7 +6799,7 @@ "description": "Optional. Information specifying a multiTarget." }, "name": { - "description": "Optional. Name of the `Target`. Format is `projects/{project}/locations/{location}/targets/{target}`. The `target` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", + "description": "Identifier. Name of the `Target`. Format is `projects/{project}/locations/{location}/targets/{target}`. The `target` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", "type": "string" }, "requireApproval": { @@ -6775,7 +6839,7 @@ "type": "string" }, "manifestPath": { - "description": "Output only. File path of the rendered manifest relative to the URI.", + "description": "Output only. File path of the rendered manifest relative to the URI for the stable phase.", "readOnly": true, "type": "string" }, @@ -6788,7 +6852,7 @@ "type": "object" }, "skaffoldConfigPath": { - "description": "Output only. File path of the resolved Skaffold configuration relative to the URI.", + "description": "Output only. File path of the resolved Skaffold configuration for the stable phase, relative to the URI.", "readOnly": true, "type": "string" } @@ -6800,7 +6864,7 @@ "id": "TargetAttribute", "properties": { "id": { - "description": "ID of the `Target`. The value of this field could be one of the following: * The last segment of a target name * \"*\", all targets in a location", + "description": "Optional. ID of the `Target`. The value of this field could be one of the following: * The last segment of a target name * \"*\", all targets in a location", "type": "string" }, "labels": { @@ -6887,7 +6951,7 @@ "The render operation did not complete successfully; check Cloud Build logs.", "Cloud Build failed to fulfill Cloud Deploy's request. See failure_message for additional details.", "The render operation did not complete successfully because the verification stanza required for verify was not found on the Skaffold configuration.", - "The render operation did not complete successfully because the custom action required for predeploy or postdeploy was not found in the Skaffold configuration. See failure_message for additional details.", + "The render operation did not complete successfully because the custom action(s) required for Rollout jobs were not found in the Skaffold configuration. See failure_message for additional details.", "Release failed during rendering because the release configuration is not supported with the specified deployment strategy.", "The render operation had a feature configured that is not supported." ], @@ -7196,7 +7260,7 @@ "No reason for failure is specified.", "Cloud Build is not available, either because it is not enabled or because Cloud Deploy has insufficient permissions. See [required permission](https://cloud.google.com/deploy/docs/cloud-deploy-service-account#required_permissions).", "The verify operation did not complete successfully; check Cloud Build logs.", - "The verify job run did not complete within the alloted time.", + "The verify job run did not complete within the allotted time.", "No Skaffold verify configuration was found.", "Cloud Build failed to fulfill Cloud Deploy's request. See failure_message for additional details." ], diff --git a/discovery/googleapis/cloudfunctions__v1.json b/discovery/googleapis/cloudfunctions__v1.json index 9bbf1ea7a..fa2183b03 100644 --- a/discovery/googleapis/cloudfunctions__v1.json +++ b/discovery/googleapis/cloudfunctions__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20240905", + "revision": "20250124", "rootUrl": "https://cloudfunctions.googleapis.com/", "servicePath": "", "title": "Cloud Functions API", @@ -705,7 +705,8 @@ "type": "string" }, "dockerRegistry": { - "description": "Docker Registry to use for this deployment. If unspecified, it defaults to `ARTIFACT_REGISTRY`. If `docker_repository` field is specified, this field should either be left unspecified or set to `ARTIFACT_REGISTRY`.", + "deprecated": true, + "description": "Docker Registry to use for this deployment. Deprecated: Container Registry option will no longer be available after March 2025: https://cloud.google.com/artifact-registry/docs/transition/transition-from-gcr Please use Artifact Registry instead, which is the default choice. If unspecified, it defaults to `ARTIFACT_REGISTRY`. If `docker_repository` field is specified, this field should either be left unspecified or set to `ARTIFACT_REGISTRY`.", "enum": [ "DOCKER_REGISTRY_UNSPECIFIED", "CONTAINER_REGISTRY", @@ -1260,7 +1261,7 @@ "type": "string" }, "projectId": { - "description": "Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function.", + "description": "Project identifier (preferably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function.", "type": "string" }, "secret": { diff --git a/discovery/googleapis/cloudfunctions__v2.json b/discovery/googleapis/cloudfunctions__v2.json index 1cad6f4a7..ad7ef200a 100644 --- a/discovery/googleapis/cloudfunctions__v2.json +++ b/discovery/googleapis/cloudfunctions__v2.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241205", + "revision": "20250228", "rootUrl": "https://cloudfunctions.googleapis.com/", "servicePath": "", "title": "Cloud Functions API", @@ -272,6 +272,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "detachFunction": { + "description": "Detaches 2nd Gen function to Cloud Run function.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:detachFunction", + "httpMethod": "POST", + "id": "cloudfunctions.projects.locations.functions.detachFunction", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the function for which should be detached.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:detachFunction", + "request": { + "$ref": "DetachFunctionRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "generateDownloadUrl": { "description": "Returns a signed URL for downloading deployed function source code. The URL is only valid for a limited period and should be used within 30 minutes of generation. For more information about the signed URL usage see: https://cloud.google.com/storage/docs/access-control/signed-urls", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:generateDownloadUrl", @@ -404,7 +432,7 @@ "type": "string" }, "orderBy": { - "description": "The sorting order of the resources returned. Value should be a comma separated list of fields. The default sorting oder is ascending. See https://google.aip.dev/132#ordering.", + "description": "The sorting order of the resources returned. Value should be a comma separated list of fields. The default sorting order is ascending. See https://google.aip.dev/132#ordering.", "location": "query", "type": "string" }, @@ -816,7 +844,8 @@ "type": "string" }, "dockerRegistry": { - "description": "Docker Registry to use for this deployment. This configuration is only applicable to 1st Gen functions, 2nd Gen functions can only use Artifact Registry. If unspecified, it defaults to `ARTIFACT_REGISTRY`. If `docker_repository` field is specified, this field should either be left unspecified or set to `ARTIFACT_REGISTRY`.", + "deprecated": true, + "description": "Docker Registry to use for this deployment. This configuration is only applicable to 1st Gen functions, 2nd Gen functions can only use Artifact Registry. Deprecated: Container Registry option will no longer be available after March 2025: https://cloud.google.com/artifact-registry/docs/transition/transition-from-gcr Please use Artifact Registry instead, which is the default choice. If unspecified, it defaults to `ARTIFACT_REGISTRY`. If `docker_repository` field is specified, this field should either be left unspecified or set to `ARTIFACT_REGISTRY`.", "enum": [ "DOCKER_REGISTRY_UNSPECIFIED", "CONTAINER_REGISTRY", @@ -903,6 +932,12 @@ }, "type": "object" }, + "DetachFunctionRequest": { + "description": "Request for the `DetachFunction` method.", + "id": "DetachFunctionRequest", + "properties": {}, + "type": "object" + }, "EventFilter": { "description": "Filters events based on exact matches on the CloudEvents attributes.", "id": "EventFilter", @@ -1053,6 +1088,11 @@ "description": "A user-defined name of the function. Function names must be unique globally and match pattern `projects/*/locations/*/functions/*`", "type": "string" }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, "satisfiesPzs": { "description": "Output only. Reserved for future use.", "readOnly": true, @@ -1070,7 +1110,9 @@ "FAILED", "DEPLOYING", "DELETING", - "UNKNOWN" + "UNKNOWN", + "DETACHING", + "DETACH_FAILED" ], "enumDescriptions": [ "Not specified. Invalid state.", @@ -1078,7 +1120,9 @@ "Function deployment failed and the function is not serving.", "Function is being created or updated.", "Function is being deleted.", - "Function deployment failed and the function serving state is undefined. The function should be updated or deleted to move it out of this state." + "Function deployment failed and the function serving state is undefined. The function should be updated or deleted to move it out of this state.", + "Function is being detached.", + "Function detach failed and the function is still serving." ], "readOnly": true, "type": "string" @@ -1212,6 +1256,11 @@ "format": "google-datetime", "type": "string" }, + "customIamRoleDetected": { + "description": "Output only. Whether a custom IAM role binding was detected during the upgrade.", + "readOnly": true, + "type": "boolean" + }, "endTime": { "description": "The time the operation finished running.", "format": "google-datetime", @@ -1300,7 +1349,7 @@ ], "enumDescriptions": [ "Not specified. Invalid name.", - "Artifact Regsitry Stage", + "Artifact Registry Stage", "Build Stage", "Service Stage", "Trigger Stage", @@ -2062,7 +2111,7 @@ "type": "object" }, "UpgradeInfo": { - "description": "Information related to: * A function's eligibility for 1st Gen to 2nd Gen migration and 2nd Gen to CRf detach. * Current state of migration for function undergoing migration/detach.", + "description": "Information related to: * A function's eligibility for 1st Gen to 2nd Gen migration. * Current state of migration for function undergoing migration.", "id": "UpgradeInfo", "properties": { "buildConfig": { @@ -2089,8 +2138,7 @@ "REDIRECT_FUNCTION_UPGRADE_TRAFFIC_SUCCESSFUL", "REDIRECT_FUNCTION_UPGRADE_TRAFFIC_ERROR", "ROLLBACK_FUNCTION_UPGRADE_TRAFFIC_ERROR", - "COMMIT_FUNCTION_UPGRADE_ERROR", - "DETACH_IN_PROGRESS" + "COMMIT_FUNCTION_UPGRADE_ERROR" ], "enumDescriptions": [ "Unspecified state. Most functions are in this upgrade state.", @@ -2102,8 +2150,7 @@ "RedirectFunctionUpgradeTraffic API was successful and traffic is served by 2nd Gen function stack.", "RedirectFunctionUpgradeTraffic API was un-successful.", "RollbackFunctionUpgradeTraffic API was un-successful.", - "CommitFunctionUpgrade API was un-successful.", - "Function is requested to be detached from 2nd Gen to CRf." + "CommitFunctionUpgrade API was un-successful." ], "type": "string" } diff --git a/discovery/googleapis/cloudidentity__v1.json b/discovery/googleapis/cloudidentity__v1.json index 817e7ba58..d9235b790 100644 --- a/discovery/googleapis/cloudidentity__v1.json +++ b/discovery/googleapis/cloudidentity__v1.json @@ -52,7 +52,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241208", + "revision": "20250121", "rootUrl": "https://cloudidentity.googleapis.com/", "servicePath": "", "title": "Cloud Identity API", @@ -2061,7 +2061,7 @@ "parameterOrder": [], "parameters": { "filter": { - "description": "Optional. A CEL expression for filtering the results. Policies can be filtered by application with this expression: setting.name = 'settings/gmail.*' Policies can be filtered by setting type with this expression: setting.name = '*.service_status' A maximum of one of the above setting.name clauses can be used. Policies can be filtered by customer with this expression: customer = \"customers/{customer}\" Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no customer is mentioned it will be default to customers/my_customer. A maximum of one customer clause can be used. The above clauses can only be combined together in a single filter expression with the `&&` operator.", + "description": "Optional. A CEL expression for filtering the results. Policies can be filtered by application with this expression: setting.type.matches('^settings/gmail\\\\..*$') Policies can be filtered by setting type with this expression: setting.type.matches('^.*\\\\.service_status$') A maximum of one of the above setting.type clauses can be used. Policies can be filtered by customer with this expression: customer == \"customers/{customer}\" Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no customer is mentioned it will be default to customers/my_customer. A maximum of one customer clause can be used. The above clauses can only be combined together in a single filter expression with the `&&` operator.", "location": "query", "type": "string" }, diff --git a/discovery/googleapis/cloudkms__v1.json b/discovery/googleapis/cloudkms__v1.json index 19486abad..9ce264728 100644 --- a/discovery/googleapis/cloudkms__v1.json +++ b/discovery/googleapis/cloudkms__v1.json @@ -98,6 +98,11 @@ "description": "Regional Endpoint", "endpointUrl": "https://cloudkms.us-south1.rep.googleapis.com/", "location": "us-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudkms.us.rep.googleapis.com/", + "location": "us" } ], "icons": { @@ -110,7 +115,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241111", + "revision": "20250227", "rootUrl": "https://cloudkms.googleapis.com/", "servicePath": "", "title": "Cloud Key Management Service (KMS) API", @@ -1614,6 +1619,21 @@ "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$", "required": true, "type": "string" + }, + "publicKeyFormat": { + "description": "Optional. The PublicKey format specified by the user. This field is required for PQC algorithms. If specified, the public key will be exported through the public_key field in the requested format. Otherwise, the pem field will be populated for non-PQC algorithms, and an error will be returned for PQC algorithms.", + "enum": [ + "PUBLIC_KEY_FORMAT_UNSPECIFIED", + "PEM", + "NIST_PQC" + ], + "enumDescriptions": [ + "If the public_key_format field is not specified: - For PQC algorithms, an error will be returned. - For non-PQC algorithms, the default format is PEM, and the field pem will be populated. Otherwise, the public key will be exported through the public_key field in the requested format.", + "The returned public key will be encoded in PEM format. See the [RFC7468](https://tools.ietf.org/html/rfc7468) sections for [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and [Textual Encoding of Subject Public Key Info] (https://tools.ietf.org/html/rfc7468#section-13) for more information.", + "This is supported only for PQC algorithms. The key material is returned in the format defined by NIST PQC standards (FIPS 203, FIPS 204, and FIPS 205)." + ], + "location": "query", + "type": "string" } }, "path": "v1/{+name}/publicKey", @@ -2453,6 +2473,23 @@ }, "type": "object" }, + "ChecksummedData": { + "description": "Data with integrity verification field.", + "id": "ChecksummedData", + "properties": { + "crc32cChecksum": { + "description": "Integrity verification field. A CRC32C checksum of the returned ChecksummedData.data. An integrity check of ChecksummedData.data can be performed by computing the CRC32C checksum of ChecksummedData.data and comparing your results to this field. Discard the response in case of non-matching checksum values, and perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed `2^32-1`, and can be safely downconverted to uint32 in languages that support this type.", + "format": "int64", + "type": "string" + }, + "data": { + "description": "Raw Data.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, "CryptoKey": { "description": "A CryptoKey represents a logical key that can be used for cryptographic operations. A CryptoKey is made up of zero or more versions, which represent the actual key material used in cryptographic operations.", "id": "CryptoKey", @@ -2576,7 +2613,9 @@ "HMAC_SHA384", "HMAC_SHA512", "HMAC_SHA224", - "EXTERNAL_SYMMETRIC_ENCRYPTION" + "EXTERNAL_SYMMETRIC_ENCRYPTION", + "PQ_SIGN_ML_DSA_65", + "PQ_SIGN_SLH_DSA_SHA2_128S" ], "enumDescriptions": [ "Not specified.", @@ -2614,7 +2653,9 @@ "HMAC-SHA384 signing with a 384 bit key.", "HMAC-SHA512 signing with a 512 bit key.", "HMAC-SHA224 signing with a 224 bit key.", - "Algorithm representing symmetric encryption by an external key manager." + "Algorithm representing symmetric encryption by an external key manager.", + "The post-quantum Module-Lattice-Based Digital Signature Algorithm, at security level 3. Randomized version.", + "The post-quantum stateless hash-based digital signature algorithm, at security level 1. Randomized version." ], "readOnly": true, "type": "string" @@ -2727,7 +2768,7 @@ "This version is still being generated. It may not be used, enabled, disabled, or destroyed yet. Cloud KMS will automatically mark this version ENABLED as soon as the version is ready.", "This version may be used for cryptographic operations.", "This version may not be used, but the key material is still available, and the version can be placed back into the ENABLED state.", - "This version is destroyed, and the key material is no longer stored. This version may only become ENABLED again if this version is reimport_eligible and the original key material is reimported with a call to KeyManagementService.ImportCryptoKeyVersion.", + "This key material of this version is destroyed and no longer stored. This version may only become ENABLED again if this version is reimport_eligible and the original key material is reimported with a call to KeyManagementService.ImportCryptoKeyVersion.", "This version is scheduled for destruction, and will be destroyed soon. Call RestoreCryptoKeyVersion to put it back into the DISABLED state.", "This version is still being imported. It may not be used, enabled, disabled, or destroyed yet. Cloud KMS will automatically mark this version ENABLED as soon as the version is ready.", "This version was not imported successfully. It may not be used, enabled, disabled, or destroyed. The submitted key material has been discarded. Additional details can be found in CryptoKeyVersion.import_failure_reason.", @@ -2782,7 +2823,9 @@ "HMAC_SHA384", "HMAC_SHA512", "HMAC_SHA224", - "EXTERNAL_SYMMETRIC_ENCRYPTION" + "EXTERNAL_SYMMETRIC_ENCRYPTION", + "PQ_SIGN_ML_DSA_65", + "PQ_SIGN_SLH_DSA_SHA2_128S" ], "enumDescriptions": [ "Not specified.", @@ -2820,7 +2863,9 @@ "HMAC-SHA384 signing with a 384 bit key.", "HMAC-SHA512 signing with a 512 bit key.", "HMAC-SHA224 signing with a 224 bit key.", - "Algorithm representing symmetric encryption by an external key manager." + "Algorithm representing symmetric encryption by an external key manager.", + "The post-quantum Module-Lattice-Based Digital Signature Algorithm, at security level 3. Randomized version.", + "The post-quantum stateless hash-based digital signature algorithm, at security level 1. Randomized version." ], "type": "string" }, @@ -3203,7 +3248,9 @@ "HMAC_SHA384", "HMAC_SHA512", "HMAC_SHA224", - "EXTERNAL_SYMMETRIC_ENCRYPTION" + "EXTERNAL_SYMMETRIC_ENCRYPTION", + "PQ_SIGN_ML_DSA_65", + "PQ_SIGN_SLH_DSA_SHA2_128S" ], "enumDescriptions": [ "Not specified.", @@ -3241,7 +3288,9 @@ "HMAC-SHA384 signing with a 384 bit key.", "HMAC-SHA512 signing with a 512 bit key.", "HMAC-SHA224 signing with a 224 bit key.", - "Algorithm representing symmetric encryption by an external key manager." + "Algorithm representing symmetric encryption by an external key manager.", + "The post-quantum Module-Lattice-Based Digital Signature Algorithm, at security level 3. Randomized version.", + "The post-quantum stateless hash-based digital signature algorithm, at security level 1. Randomized version." ], "type": "string" }, @@ -3922,7 +3971,9 @@ "HMAC_SHA384", "HMAC_SHA512", "HMAC_SHA224", - "EXTERNAL_SYMMETRIC_ENCRYPTION" + "EXTERNAL_SYMMETRIC_ENCRYPTION", + "PQ_SIGN_ML_DSA_65", + "PQ_SIGN_SLH_DSA_SHA2_128S" ], "enumDescriptions": [ "Not specified.", @@ -3960,7 +4011,9 @@ "HMAC-SHA384 signing with a 384 bit key.", "HMAC-SHA512 signing with a 512 bit key.", "HMAC-SHA224 signing with a 224 bit key.", - "Algorithm representing symmetric encryption by an external key manager." + "Algorithm representing symmetric encryption by an external key manager.", + "The post-quantum Module-Lattice-Based Digital Signature Algorithm, at security level 3. Randomized version.", + "The post-quantum stateless hash-based digital signature algorithm, at security level 1. Randomized version." ], "type": "string" }, @@ -3973,7 +4026,7 @@ "type": "string" }, "pemCrc32c": { - "description": "Integrity verification field. A CRC32C checksum of the returned PublicKey.pem. An integrity check of PublicKey.pem can be performed by computing the CRC32C checksum of PublicKey.pem and comparing your results to this field. Discard the response in case of non-matching checksum values, and perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type. NOTE: This field is in Beta.", + "description": "Integrity verification field. A CRC32C checksum of the returned PublicKey.pem. An integrity check of PublicKey.pem can be performed by computing the CRC32C checksum of PublicKey.pem and comparing your results to this field. Discard the response in case of non-matching checksum values, and perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed `2^32-1`, and can be safely downconverted to uint32 in languages that support this type. NOTE: This field is in Beta.", "format": "int64", "type": "string" }, @@ -3994,6 +4047,24 @@ "Crypto operations are performed in an EKM-over-VPC backend." ], "type": "string" + }, + "publicKey": { + "$ref": "ChecksummedData", + "description": "This field contains the public key (with integrity verification), formatted according to the public_key_format field." + }, + "publicKeyFormat": { + "description": "The PublicKey format specified by the customer through the public_key_format field.", + "enum": [ + "PUBLIC_KEY_FORMAT_UNSPECIFIED", + "PEM", + "NIST_PQC" + ], + "enumDescriptions": [ + "If the public_key_format field is not specified: - For PQC algorithms, an error will be returned. - For non-PQC algorithms, the default format is PEM, and the field pem will be populated. Otherwise, the public key will be exported through the public_key field in the requested format.", + "The returned public key will be encoded in PEM format. See the [RFC7468](https://tools.ietf.org/html/rfc7468) sections for [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and [Textual Encoding of Subject Public Key Info] (https://tools.ietf.org/html/rfc7468#section-13) for more information.", + "This is supported only for PQC algorithms. The key material is returned in the format defined by NIST PQC standards (FIPS 203, FIPS 204, and FIPS 205)." + ], + "type": "string" } }, "type": "object" diff --git a/discovery/googleapis/cloudresourcemanager__v1.json b/discovery/googleapis/cloudresourcemanager__v1.json index 62cc678ff..7df776f6c 100644 --- a/discovery/googleapis/cloudresourcemanager__v1.json +++ b/discovery/googleapis/cloudresourcemanager__v1.json @@ -28,7 +28,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20240310", + "revision": "20250302", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "servicePath": "", "title": "Cloud Resource Manager API", @@ -2132,7 +2132,7 @@ "id": "SearchOrganizationsRequest", "properties": { "filter": { - "description": "An optional query string used to filter the Organizations to return in the response. Filter rules are case-insensitive. Organizations may be filtered by `owner.directoryCustomerId` or by `domain`, where the domain is a G Suite domain, for example: * Filter `owner.directorycustomerid:123456789` returns Organization resources with `owner.directory_customer_id` equal to `123456789`. * Filter `domain:google.com` returns Organization resources corresponding to the domain `google.com`. This field is optional.", + "description": "An optional query string used to filter the Organizations to return in the response. Filter rules are case-insensitive. Organizations may be filtered by `owner.directoryCustomerId` or by `domain`, where the domain is a verified G Suite domain, for example: * Filter `owner.directorycustomerid:123456789` returns Organization resources with `owner.directory_customer_id` equal to `123456789`. * Filter `domain:google.com` returns Organization resources corresponding to the domain `google.com`. This field is optional.", "type": "string" }, "pageSize": { diff --git a/discovery/googleapis/cloudresourcemanager__v3.json b/discovery/googleapis/cloudresourcemanager__v3.json index e330bb9c0..19f8d3149 100644 --- a/discovery/googleapis/cloudresourcemanager__v3.json +++ b/discovery/googleapis/cloudresourcemanager__v3.json @@ -28,7 +28,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20240310", + "revision": "20250206", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "servicePath": "", "title": "Cloud Resource Manager API", @@ -776,7 +776,7 @@ ] }, "delete": { - "description": "Marks the project identified by the specified `name` (for example, `projects/415104041262`) for deletion. This method will only affect the project if it has a lifecycle state of ACTIVE. This method changes the Project's lifecycle state from ACTIVE to DELETE_REQUESTED. The deletion starts at an unspecified time, at which point the Project is no longer accessible. Until the deletion completes, you can check the lifecycle state checked by retrieving the project with GetProject, and the project remains visible to ListProjects. However, you cannot update the project. After the deletion completes, the project is not retrievable by the GetProject, ListProjects, and SearchProjects methods. This method behaves idempotently, such that deleting a `DELETE_REQUESTED` project will not cause an error, but also won't do anything. The caller must have `resourcemanager.projects.delete` permissions for this project.", + "description": "Marks the project identified by the specified `name` (for example, `projects/415104041262`) for deletion. This method will only affect the project if it has a lifecycle state of ACTIVE. This method changes the Project's lifecycle state from ACTIVE to DELETE_REQUESTED. The deletion starts at an unspecified time, at which point the Project is no longer accessible. Until the deletion completes, you can check the lifecycle state checked by retrieving the project with GetProject, and the project remains visible to ListProjects. However, you cannot update the project. After the deletion completes, the project is not retrievable by the GetProject, ListProjects, and SearchProjects methods. The caller must have `resourcemanager.projects.delete` permissions for this project.", "flatPath": "v3/projects/{projectsId}", "httpMethod": "DELETE", "id": "cloudresourcemanager.projects.delete", diff --git a/discovery/googleapis/cloudsupport__v2.json b/discovery/googleapis/cloudsupport__v2.json index 4d3cd4355..8f52c9d1a 100644 --- a/discovery/googleapis/cloudsupport__v2.json +++ b/discovery/googleapis/cloudsupport__v2.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241218", + "revision": "20241231", "rootUrl": "https://cloudsupport.googleapis.com/", "servicePath": "", "title": "Google Cloud Support API", @@ -386,7 +386,7 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of attachments fetched with each request. If not provided, the default is 10. The maximum page size that will be returned is 100.", + "description": "The maximum number of attachments fetched with each request. If not provided, the default is 10. The maximum page size that will be returned is 100. The size of each page can be smaller than the requested page size and can include zero. For example, you could request 100 attachments on one page, receive 0, and then on the next page, receive 90.", "format": "int32", "location": "query", "type": "integer" diff --git a/discovery/googleapis/cloudtasks__v2.json b/discovery/googleapis/cloudtasks__v2.json index 7be6087d5..5fb6f26d4 100644 --- a/discovery/googleapis/cloudtasks__v2.json +++ b/discovery/googleapis/cloudtasks__v2.json @@ -28,7 +28,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241111", + "revision": "20250115", "rootUrl": "https://cloudtasks.googleapis.com/", "servicePath": "", "title": "Cloud Tasks API", @@ -1443,7 +1443,7 @@ "id": "RetryConfig", "properties": { "maxAttempts": { - "description": "Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", + "description": "Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0.", "format": "int32", "type": "integer" }, diff --git a/discovery/googleapis/composer__v1.json b/discovery/googleapis/composer__v1.json index 15851bf02..248296d23 100644 --- a/discovery/googleapis/composer__v1.json +++ b/discovery/googleapis/composer__v1.json @@ -247,7 +247,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241210", + "revision": "20250303", "rootUrl": "https://composer.googleapis.com/", "servicePath": "", "title": "Cloud Composer API", @@ -711,7 +711,7 @@ "userWorkloadsConfigMaps": { "methods": { "create": { - "description": "Creates a user workloads ConfigMap. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.", + "description": "Creates a user workloads ConfigMap. This method is supported for Cloud Composer environments in versions composer-3-airflow-*.*.*-build.* and newer.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}/userWorkloadsConfigMaps", "httpMethod": "POST", "id": "composer.projects.locations.environments.userWorkloadsConfigMaps.create", @@ -739,7 +739,7 @@ ] }, "delete": { - "description": "Deletes a user workloads ConfigMap. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.", + "description": "Deletes a user workloads ConfigMap. This method is supported for Cloud Composer environments in versions composer-3-airflow-*.*.*-build.* and newer.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}/userWorkloadsConfigMaps/{userWorkloadsConfigMapsId}", "httpMethod": "DELETE", "id": "composer.projects.locations.environments.userWorkloadsConfigMaps.delete", @@ -764,7 +764,7 @@ ] }, "get": { - "description": "Gets an existing user workloads ConfigMap. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.", + "description": "Gets an existing user workloads ConfigMap. This method is supported for Cloud Composer environments in versions composer-3-airflow-*.*.*-build.* and newer.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}/userWorkloadsConfigMaps/{userWorkloadsConfigMapsId}", "httpMethod": "GET", "id": "composer.projects.locations.environments.userWorkloadsConfigMaps.get", @@ -789,7 +789,7 @@ ] }, "list": { - "description": "Lists user workloads ConfigMaps. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.", + "description": "Lists user workloads ConfigMaps. This method is supported for Cloud Composer environments in versions composer-3-airflow-*.*.*-build.* and newer.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}/userWorkloadsConfigMaps", "httpMethod": "GET", "id": "composer.projects.locations.environments.userWorkloadsConfigMaps.list", @@ -825,7 +825,7 @@ ] }, "update": { - "description": "Updates a user workloads ConfigMap. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.", + "description": "Updates a user workloads ConfigMap. This method is supported for Cloud Composer environments in versions composer-3-airflow-*.*.*-build.* and newer.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}/userWorkloadsConfigMaps/{userWorkloadsConfigMapsId}", "httpMethod": "PUT", "id": "composer.projects.locations.environments.userWorkloadsConfigMaps.update", @@ -857,7 +857,7 @@ "userWorkloadsSecrets": { "methods": { "create": { - "description": "Creates a user workloads Secret. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.", + "description": "Creates a user workloads Secret. This method is supported for Cloud Composer environments in versions composer-3-airflow-*.*.*-build.* and newer.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}/userWorkloadsSecrets", "httpMethod": "POST", "id": "composer.projects.locations.environments.userWorkloadsSecrets.create", @@ -885,7 +885,7 @@ ] }, "delete": { - "description": "Deletes a user workloads Secret. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.", + "description": "Deletes a user workloads Secret. This method is supported for Cloud Composer environments in versions composer-3-airflow-*.*.*-build.* and newer.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}/userWorkloadsSecrets/{userWorkloadsSecretsId}", "httpMethod": "DELETE", "id": "composer.projects.locations.environments.userWorkloadsSecrets.delete", @@ -910,7 +910,7 @@ ] }, "get": { - "description": "Gets an existing user workloads Secret. Values of the \"data\" field in the response are cleared. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.", + "description": "Gets an existing user workloads Secret. Values of the \"data\" field in the response are cleared. This method is supported for Cloud Composer environments in versions composer-3-airflow-*.*.*-build.* and newer.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}/userWorkloadsSecrets/{userWorkloadsSecretsId}", "httpMethod": "GET", "id": "composer.projects.locations.environments.userWorkloadsSecrets.get", @@ -935,7 +935,7 @@ ] }, "list": { - "description": "Lists user workloads Secrets. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.", + "description": "Lists user workloads Secrets. This method is supported for Cloud Composer environments in versions composer-3-airflow-*.*.*-build.* and newer.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}/userWorkloadsSecrets", "httpMethod": "GET", "id": "composer.projects.locations.environments.userWorkloadsSecrets.list", @@ -971,7 +971,7 @@ ] }, "update": { - "description": "Updates a user workloads Secret. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.", + "description": "Updates a user workloads Secret. This method is supported for Cloud Composer environments in versions composer-3-airflow-*.*.*-build.* and newer.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}/userWorkloadsSecrets/{userWorkloadsSecretsId}", "httpMethod": "PUT", "id": "composer.projects.locations.environments.userWorkloadsSecrets.update", @@ -1397,7 +1397,7 @@ "type": "object" }, "DagProcessorResource": { - "description": "Configuration for resources used by Airflow DAG processors. This field is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.", + "description": "Configuration for resources used by Airflow DAG processors. This field is supported for Cloud Composer environments in versions composer-3-airflow-*.*.*-build.* and newer.", "id": "DagProcessorResource", "properties": { "count": { @@ -2010,7 +2010,7 @@ "type": "array" }, "enabled": { - "description": "Whether or not master authorized networks feature is enabled.", + "description": "Optional. Whether or not master authorized networks feature is enabled.", "type": "boolean" } }, @@ -2021,7 +2021,7 @@ "id": "NetworkingConfig", "properties": { "connectionType": { - "description": "Optional. Indicates the user requested specifc connection type between Tenant and Customer projects. You cannot set networking connection type in public IP environment.", + "description": "Optional. Indicates the user requested specific connection type between Tenant and Customer projects. You cannot set networking connection type in public IP environment.", "enum": [ "CONNECTION_TYPE_UNSPECIFIED", "VPC_PEERING", @@ -2042,11 +2042,11 @@ "id": "NodeConfig", "properties": { "composerInternalIpv4CidrBlock": { - "description": "Optional. The IP range in CIDR notation to use internally by Cloud Composer. IP addresses are not reserved - and the same range can be used by multiple Cloud Composer environments. In case of overlap, IPs from this range will not be accessible in the user's VPC network. Cannot be updated. If not specified, the default value of '100.64.128.0/20' is used. This field is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.", + "description": "Optional. The IP range in CIDR notation to use internally by Cloud Composer. IP addresses are not reserved - and the same range can be used by multiple Cloud Composer environments. In case of overlap, IPs from this range will not be accessible in the user's VPC network. Cannot be updated. If not specified, the default value of '100.64.128.0/20' is used. This field is supported for Cloud Composer environments in versions composer-3-airflow-*.*.*-build.* and newer.", "type": "string" }, "composerNetworkAttachment": { - "description": "Optional. Network Attachment that Cloud Composer environment is connected to, which provides connectivity with a user's VPC network. Takes precedence over network and subnetwork settings. If not provided, but network and subnetwork are defined during environment, it will be provisioned. If not provided and network and subnetwork are also empty, then connectivity to user's VPC network is disabled. Network attachment must be provided in format projects/{project}/regions/{region}/networkAttachments/{networkAttachment}. This field is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.", + "description": "Optional. Network Attachment that Cloud Composer environment is connected to, which provides connectivity with a user's VPC network. Takes precedence over network and subnetwork settings. If not provided, but network and subnetwork are defined during environment, it will be provisioned. If not provided and network and subnetwork are also empty, then connectivity to user's VPC network is disabled. Network attachment must be provided in format projects/{project}/regions/{region}/networkAttachments/{networkAttachment}. This field is supported for Cloud Composer environments in versions composer-3-airflow-*.*.*-build.* and newer.", "type": "string" }, "diskSizeGb": { @@ -2291,7 +2291,7 @@ "type": "string" }, "enablePrivateBuildsOnly": { - "description": "Optional. If `true`, builds performed during operations that install Python packages have only private connectivity to Google services (including Artifact Registry) and VPC network (if either `NodeConfig.network` and `NodeConfig.subnetwork` fields or `NodeConfig.composer_network_attachment` field are specified). If `false`, the builds also have access to the internet. This field is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.", + "description": "Optional. If `true`, builds performed during operations that install Python packages have only private connectivity to Google services (including Artifact Registry) and VPC network (if either `NodeConfig.network` and `NodeConfig.subnetwork` fields or `NodeConfig.composer_network_attachment` field are specified). If `false`, the builds also have access to the internet. This field is supported for Cloud Composer environments in versions composer-3-airflow-*.*.*-build.* and newer.", "type": "boolean" }, "enablePrivateEnvironment": { @@ -2448,7 +2448,7 @@ "type": "integer" }, "webServerPluginsMode": { - "description": "Optional. Whether or not the web server uses custom plugins. If unspecified, the field defaults to `PLUGINS_ENABLED`. This field is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.", + "description": "Optional. Whether or not the web server uses custom plugins. If unspecified, the field defaults to `PLUGINS_ENABLED`. This field is supported for Cloud Composer environments in versions composer-3-airflow-*.*.*-build.* and newer.", "enum": [ "WEB_SERVER_PLUGINS_MODE_UNSPECIFIED", "PLUGINS_DISABLED", @@ -2707,7 +2707,7 @@ "properties": { "dagProcessor": { "$ref": "DagProcessorResource", - "description": "Optional. Resources used by Airflow DAG processors. This field is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer." + "description": "Optional. Resources used by Airflow DAG processors. This field is supported for Cloud Composer environments in versions composer-3-airflow-*.*.*-build.* and newer." }, "scheduler": { "$ref": "SchedulerResource", diff --git a/discovery/googleapis/compute__v1.json b/discovery/googleapis/compute__v1.json index d14e5fc04..5632967e6 100644 --- a/discovery/googleapis/compute__v1.json +++ b/discovery/googleapis/compute__v1.json @@ -39,7 +39,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241201", + "revision": "20250224", "rootUrl": "https://compute.googleapis.com/", "servicePath": "compute/v1/", "title": "Compute Engine API", @@ -10991,6 +10991,56 @@ "https://www.googleapis.com/auth/compute" ] }, + "reportHostAsFaulty": { + "description": "Mark the host as faulty and try to restart the instance on a new host.", + "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/reportHostAsFaulty", + "httpMethod": "POST", + "id": "compute.instances.reportHostAsFaulty", + "parameterOrder": [ + "project", + "zone", + "instance" + ], + "parameters": { + "instance": { + "description": "Name of the instance scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "zone": { + "description": "The name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/instances/{instance}/reportHostAsFaulty", + "request": { + "$ref": "InstancesReportHostAsFaultyRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "reset": { "description": "Performs a reset on the instance. This is a hard reset. The VM does not do a graceful shutdown. For more information, see Resetting an instance.", "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/reset", @@ -15833,6 +15883,60 @@ "https://www.googleapis.com/auth/compute" ] }, + "addPacketMirroringRule": { + "description": "Inserts a packet mirroring rule into a firewall policy.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addPacketMirroringRule", + "httpMethod": "POST", + "id": "compute.networkFirewallPolicies.addPacketMirroringRule", + "parameterOrder": [ + "project", + "firewallPolicy" + ], + "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "maxPriority": { + "description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "minPriority": { + "description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addPacketMirroringRule", + "request": { + "$ref": "FirewallPolicyRule" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "addRule": { "description": "Inserts a rule into a firewall policy.", "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addRule", @@ -15887,6 +15991,72 @@ "https://www.googleapis.com/auth/compute" ] }, + "aggregatedList": { + "description": "Retrieves an aggregated list of network firewall policies, listing network firewall policies from all applicable scopes (global and regional) and grouping the results per scope. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/firewallPolicies", + "httpMethod": "GET", + "id": "compute.networkFirewallPolicies.aggregatedList", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/aggregated/firewallPolicies", + "response": { + "$ref": "NetworkFirewallPolicyAggregatedList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "cloneRules": { "description": "Copies rules to the specified firewall policy.", "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/cloneRules", @@ -16086,6 +16256,47 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "getPacketMirroringRule": { + "description": "Gets a packet mirroring rule of the specified priority.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule", + "httpMethod": "GET", + "id": "compute.networkFirewallPolicies.getPacketMirroringRule", + "parameterOrder": [ + "project", + "firewallPolicy" + ], + "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to which the queried rule belongs.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "priority": { + "description": "The priority of the rule to get from the firewall policy.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule", + "response": { + "$ref": "FirewallPolicyRule" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "getRule": { "description": "Gets a rule of the specified priority.", "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getRule", @@ -16258,6 +16469,54 @@ "https://www.googleapis.com/auth/compute" ] }, + "patchPacketMirroringRule": { + "description": "Patches a packet mirroring rule of the specified priority.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchPacketMirroringRule", + "httpMethod": "POST", + "id": "compute.networkFirewallPolicies.patchPacketMirroringRule", + "parameterOrder": [ + "project", + "firewallPolicy" + ], + "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "priority": { + "description": "The priority of the rule to patch.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchPacketMirroringRule", + "request": { + "$ref": "FirewallPolicyRule" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "patchRule": { "description": "Patches a rule of the specified priority.", "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchRule", @@ -16350,6 +16609,51 @@ "https://www.googleapis.com/auth/compute" ] }, + "removePacketMirroringRule": { + "description": "Deletes a packet mirroring rule of the specified priority.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removePacketMirroringRule", + "httpMethod": "POST", + "id": "compute.networkFirewallPolicies.removePacketMirroringRule", + "parameterOrder": [ + "project", + "firewallPolicy" + ], + "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "priority": { + "description": "The priority of the rule to remove from the firewall policy.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removePacketMirroringRule", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "removeRule": { "description": "Deletes a rule of the specified priority.", "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeRule", @@ -21090,7 +21394,7 @@ ] }, "update": { - "description": "Updates the specified commitment with the data included in the request. Update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: auto_renew.", + "description": "Updates the specified commitment with the data included in the request. Update is performed only on selected fields included as part of update-mask. Only the following fields can be updated: auto_renew and plan.", "flatPath": "projects/{project}/regions/{region}/commitments/{commitment}", "httpMethod": "PATCH", "id": "compute.regionCommitments.update", @@ -21101,7 +21405,7 @@ ], "parameters": { "commitment": { - "description": "Name of the commitment for which auto renew is being updated.", + "description": "Name of the commitment that you want to update.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -29695,6 +29999,58 @@ "https://www.googleapis.com/auth/compute" ] }, + "deleteRoutePolicy": { + "description": "Deletes Route Policy", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/deleteRoutePolicy", + "httpMethod": "POST", + "id": "compute.routers.deleteRoutePolicy", + "parameterOrder": [ + "project", + "region", + "router" + ], + "parameters": { + "policy": { + "description": "The Policy name for this request. Name must conform to RFC1035", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "router": { + "description": "Name of the Router resource where Route Policy is defined.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/routers/{router}/deleteRoutePolicy", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "get": { "description": "Returns the specified Router resource.", "flatPath": "projects/{project}/regions/{region}/routers/{router}", @@ -29861,6 +30217,53 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "getRoutePolicy": { + "description": "Returns specified Route Policy", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/getRoutePolicy", + "httpMethod": "GET", + "id": "compute.routers.getRoutePolicy", + "parameterOrder": [ + "project", + "region", + "router" + ], + "parameters": { + "policy": { + "description": "The Policy name for this request. Name must conform to RFC1035", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "router": { + "description": "Name of the Router resource to query for the route policy. The name should conform to RFC1035.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/routers/{router}/getRoutePolicy", + "response": { + "$ref": "RoutersGetRoutePolicyResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "getRouterStatus": { "description": "Retrieves runtime information of the specified router.", "flatPath": "projects/{project}/regions/{region}/routers/{router}/getRouterStatus", @@ -30009,6 +30412,196 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "listBgpRoutes": { + "description": "Retrieves a list of router bgp routes available to the specified project.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/listBgpRoutes", + "httpMethod": "GET", + "id": "compute.routers.listBgpRoutes", + "parameterOrder": [ + "project", + "region", + "router" + ], + "parameters": { + "addressFamily": { + "default": "UNSPECIFIED_IP_VERSION", + "description": "(Required) limit results to this address family (either IPv4 or IPv6)", + "enum": [ + "IPV4", + "IPV6", + "UNSPECIFIED_IP_VERSION" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "location": "query", + "type": "string" + }, + "destinationPrefix": { + "description": "Limit results to destinations that are subnets of this CIDR range", + "location": "query", + "type": "string" + }, + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "peer": { + "description": "(Required) limit results to the BGP peer with the given name. Name should conform to RFC1035.", + "location": "query", + "type": "string" + }, + "policyApplied": { + "default": "true", + "description": "When true, the method returns post-policy routes. Otherwise, it returns pre-policy routes.", + "location": "query", + "type": "boolean" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "routeType": { + "default": "UNSPECIFIED_ROUTE_TYPE", + "description": "(Required) limit results to this type of route (either LEARNED or ADVERTISED)", + "enum": [ + "ADVERTISED", + "LEARNED", + "UNSPECIFIED_ROUTE_TYPE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "location": "query", + "type": "string" + }, + "router": { + "description": "Name or id of the resource for this request. Name should conform to RFC1035.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/routers/{router}/listBgpRoutes", + "response": { + "$ref": "RoutersListBgpRoutes" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "listRoutePolicies": { + "description": "Retrieves a list of router route policy subresources available to the specified project.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/listRoutePolicies", + "httpMethod": "GET", + "id": "compute.routers.listRoutePolicies", + "parameterOrder": [ + "project", + "region", + "router" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "router": { + "description": "Name or id of the resource for this request. Name should conform to RFC1035.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/routers/{router}/listRoutePolicies", + "response": { + "$ref": "RoutersListRoutePolicies" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "patch": { "description": "Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", "flatPath": "projects/{project}/regions/{region}/routers/{router}", @@ -30059,6 +30652,56 @@ "https://www.googleapis.com/auth/compute" ] }, + "patchRoutePolicy": { + "description": "Patches Route Policy", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/patchRoutePolicy", + "httpMethod": "POST", + "id": "compute.routers.patchRoutePolicy", + "parameterOrder": [ + "project", + "region", + "router" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "router": { + "description": "Name of the Router resource where Route Policy is defined.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/routers/{router}/patchRoutePolicy", + "request": { + "$ref": "RoutePolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "preview": { "description": "Preview fields auto-generated during router create and update operations. Calling this method does NOT create or update the router.", "flatPath": "projects/{project}/regions/{region}/routers/{router}/preview", @@ -30154,6 +30797,56 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] + }, + "updateRoutePolicy": { + "description": "Updates or creates new Route Policy", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/updateRoutePolicy", + "httpMethod": "POST", + "id": "compute.routers.updateRoutePolicy", + "parameterOrder": [ + "project", + "region", + "router" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "router": { + "description": "Name of the Router resource where Route Policy is defined.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/routers/{router}/updateRoutePolicy", + "request": { + "$ref": "RoutePolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] } } }, @@ -38541,7 +39234,7 @@ "type": "string" }, "securityPolicy": { - "description": "[Output Only] The resource URL for the security policy associated with this access config.", + "description": "The resource URL for the security policy associated with this access config.", "type": "string" }, "setPublicPtr": { @@ -39274,14 +39967,18 @@ "VM_FAMILY_CLOUD_TPU_DEVICE_CT3", "VM_FAMILY_CLOUD_TPU_LITE_DEVICE_CT5L", "VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT5LP", + "VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT6E", "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT3P", - "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P" + "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P", + "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT5P" ], "enumDescriptions": [ "", "", "", "", + "", + "", "" ], "type": "string" @@ -39328,6 +40025,26 @@ }, "type": "object" }, + "AllocationReservationSharingPolicy": { + "id": "AllocationReservationSharingPolicy", + "properties": { + "serviceShareType": { + "description": "Sharing config for all Google Cloud services.", + "enum": [ + "ALLOW_ALL", + "DISALLOW_ALL", + "SERVICE_SHARE_TYPE_UNSPECIFIED" + ], + "enumDescriptions": [ + "Allow all Google Cloud managed services to share reservations.", + "[Default] Disallow sharing with all Google Cloud services.", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "AllocationResourceStatus": { "description": "[Output Only] Contains output only fields.", "id": "AllocationResourceStatus", @@ -39346,6 +40063,14 @@ "sourceInstanceTemplateId": { "description": "ID of the instance template used to populate reservation properties.", "type": "string" + }, + "utilizations": { + "additionalProperties": { + "format": "int64", + "type": "string" + }, + "description": "Per service utilization breakdown. The Key is the Google Cloud managed service name.", + "type": "object" } }, "type": "object" @@ -39673,7 +40398,7 @@ "description": "The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key. InstanceTemplate and InstancePropertiesPatch do not store customer-supplied encryption keys, so you cannot create disks for instances in a managed instance group if the source images are encrypted with your own keys." }, "sourceSnapshot": { - "description": "The source snapshot to create this disk. When creating a new instance boot disk, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required. To create a disk with a snapshot that you created, specify the snapshot name in the following format: global/snapshots/my-backup If the source snapshot is deleted later, this field will not be set.", + "description": "The source snapshot to create this disk. When creating a new instance boot disk, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required. To create a disk with a snapshot that you created, specify the snapshot name in the following format: global/snapshots/my-backup If the source snapshot is deleted later, this field will not be set. Note: You cannot create VMs in bulk using a snapshot as the source. Use an image instead when you create VMs using the bulk insert method.", "type": "string" }, "sourceSnapshotEncryptionKey": { @@ -40532,11 +41257,13 @@ "description": "Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected.", "enum": [ "CONNECTION", + "CUSTOM_METRICS", "RATE", "UTILIZATION" ], "enumDescriptions": [ "Balance based on the number of simultaneous connections.", + "Based on custom defined and reported metrics.", "Balance based on requests per second (RPS).", "Balance based on the backend utilization." ], @@ -40547,6 +41274,13 @@ "format": "float", "type": "number" }, + "customMetrics": { + "description": "List of custom metrics that are used for CUSTOM_METRICS BalancingMode.", + "items": { + "$ref": "BackendCustomMetric" + }, + "type": "array" + }, "description": { "description": "An optional description of this resource. Provide this property when you create the resource.", "type": "string" @@ -40982,6 +41716,26 @@ }, "type": "object" }, + "BackendCustomMetric": { + "description": "Custom Metrics are used for CUSTOM_METRICS balancing_mode.", + "id": "BackendCustomMetric", + "properties": { + "dryRun": { + "description": "If true, the metric data is collected and reported to Cloud Monitoring, but is not used for load balancing.", + "type": "boolean" + }, + "maxUtilization": { + "description": "Optional parameter to define a target utilization for the Custom Metrics balancing mode. The valid range is [0.0, 1.0].", + "format": "float", + "type": "number" + }, + "name": { + "description": "Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", + "type": "string" + } + }, + "type": "object" + }, "BackendService": { "description": "Represents a Backend Service resource. A backend service defines how Google Cloud load balancers distribute traffic. The backend service configuration contains a set of values, such as the protocol used to connect to backends, various distribution and session settings, health checks, and timeouts. These settings provide fine-grained control over how your load balancer behaves. Most of the settings have default values that allow for easy configuration if you need to get started quickly. Backend services in Google Compute Engine can be either regionally or globally scoped. * [Global](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices) * [Regional](https://cloud.google.com/compute/docs/reference/rest/v1/regionBackendServices) For more information, see Backend Services.", "id": "BackendService", @@ -41032,6 +41786,13 @@ "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" }, + "customMetrics": { + "description": "List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.", + "items": { + "$ref": "BackendServiceCustomMetric" + }, + "type": "array" + }, "customRequestHeaders": { "description": "Headers that the load balancer adds to proxied requests. See [Creating custom headers](https://cloud.google.com/load-balancing/docs/custom-headers).", "items": { @@ -41141,7 +41902,8 @@ "RANDOM", "RING_HASH", "ROUND_ROBIN", - "WEIGHTED_MAGLEV" + "WEIGHTED_MAGLEV", + "WEIGHTED_ROUND_ROBIN" ], "enumDescriptions": [ "", @@ -41151,7 +41913,8 @@ "The load balancer selects a random healthy host.", "The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.", "This is a simple policy in which each healthy backend is selected in round robin order. This is the default.", - "Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing." + "Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.", + "Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields." ], "type": "string" }, @@ -41608,6 +42371,21 @@ }, "type": "object" }, + "BackendServiceCustomMetric": { + "description": "Custom Metrics are used for WEIGHTED_ROUND_ROBIN locality_lb_policy.", + "id": "BackendServiceCustomMetric", + "properties": { + "dryRun": { + "description": "If true, the metric data is not used for load balancing.", + "type": "boolean" + }, + "name": { + "description": "Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", + "type": "string" + } + }, + "type": "object" + }, "BackendServiceFailoverPolicy": { "description": "For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). On failover or failback, this field indicates whether connection draining will be honored. Google Cloud has a fixed connection draining timeout of 10 minutes. A setting of true terminates existing TCP connections to the active pool during failover and failback, immediately draining traffic. A setting of false allows existing TCP connections to persist, even on VMs no longer in the active pool, for up to the duration of the connection draining timeout (10 minutes).", "id": "BackendServiceFailoverPolicy", @@ -42047,7 +42825,8 @@ "RANDOM", "RING_HASH", "ROUND_ROBIN", - "WEIGHTED_MAGLEV" + "WEIGHTED_MAGLEV", + "WEIGHTED_ROUND_ROBIN" ], "enumDescriptions": [ "", @@ -42057,7 +42836,8 @@ "The load balancer selects a random healthy host.", "The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.", "This is a simple policy in which each healthy backend is selected in round robin order. This is the default.", - "Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing." + "Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.", + "Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields." ], "type": "string" } @@ -42500,6 +43280,91 @@ }, "type": "object" }, + "BgpRoute": { + "id": "BgpRoute", + "properties": { + "asPaths": { + "description": "[Output only] AS-PATH for the route", + "items": { + "$ref": "BgpRouteAsPath" + }, + "type": "array" + }, + "communities": { + "description": "[Output only] BGP communities in human-readable A:B format.", + "items": { + "type": "string" + }, + "type": "array" + }, + "destination": { + "$ref": "BgpRouteNetworkLayerReachabilityInformation", + "description": "[Output only] Destination IP range for the route, in human-readable CIDR format" + }, + "med": { + "description": "[Output only] BGP multi-exit discriminator", + "format": "uint32", + "type": "integer" + }, + "origin": { + "description": "[Output only] BGP origin (EGP, IGP or INCOMPLETE)", + "enum": [ + "BGP_ORIGIN_EGP", + "BGP_ORIGIN_IGP", + "BGP_ORIGIN_INCOMPLETE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "BgpRouteAsPath": { + "id": "BgpRouteAsPath", + "properties": { + "asns": { + "description": "[Output only] ASNs in the path segment. When type is SEQUENCE, these are ordered.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "type": { + "description": "[Output only] Type of AS-PATH segment (SEQUENCE or SET)", + "enum": [ + "AS_PATH_TYPE_SEQUENCE", + "AS_PATH_TYPE_SET" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "BgpRouteNetworkLayerReachabilityInformation": { + "description": "Network Layer Reachability Information (NLRI) for a route.", + "id": "BgpRouteNetworkLayerReachabilityInformation", + "properties": { + "pathId": { + "description": "If the BGP session supports multiple paths (RFC 7911), the path identifier for this route.", + "format": "uint32", + "type": "integer" + }, + "prefix": { + "description": "Human readable CIDR notation for a prefix. E.g. 10.42.0.0/16.", + "type": "string" + } + }, + "type": "object" + }, "Binding": { "description": "Associates `members`, or principals, with a `role`.", "id": "Binding", @@ -42723,15 +43588,15 @@ "type": "object" }, "Commitment": { - "description": "Represents a regional Commitment resource. Creating a commitment resource means that you are purchasing a committed use contract with an explicit start and end time. You can create commitments based on vCPUs and memory usage and receive discounted rates. For full details, read Signing Up for Committed Use Discounts.", + "description": "Represents a regional resource-based commitment resource. Creating this commitment resource means that you are purchasing a resource-based committed use contract, with an explicit start and end time. You can purchase resource-based commitments for both hardware and software resources. For more information, read Resource-based committed use discounts", "id": "Commitment", "properties": { "autoRenew": { - "description": "Specifies whether to enable automatic renewal for the commitment. The default value is false if not specified. The field can be updated until the day of the commitment expiration at 12:00am PST. If the field is set to true, the commitment will be automatically renewed for either one or three years according to the terms of the existing commitment.", + "description": "Specifies whether to automatically renew the commitment at the end of its current term. The default value is false. If you set the field to true, each time your commitment reaches the end of its term, Compute Engine automatically renews it for another term. You can update this field anytime before the commitment expires. For example, if the commitment is set to expire at 12 AM UTC-8 on January 3, 2027, you can update this field until 11:59 PM UTC-8 on January 2, 2027.", "type": "boolean" }, "category": { - "description": "The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.", + "description": "The category of the commitment; specifies whether the commitment is for hardware or software resources. Category MACHINE specifies that you are committing to hardware machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies that you are committing to software licenses, listed in licenseResources. Note that if you specify MACHINE commitments, then you must also specify a type to indicate the machine series of the hardware resource that you are committing to.", "enum": [ "CATEGORY_UNSPECIFIED", "LICENSE", @@ -42749,11 +43614,11 @@ "type": "string" }, "customEndTimestamp": { - "description": "[Input Only] Optional, specifies the CUD end time requested by the customer in RFC3339 text format. Needed when the customer wants CUD's end date is later than the start date + term duration.", + "description": "[Input Only] Optional, specifies the requested commitment end time in RFC3339 text format. Use this option when the desired commitment's end date is later than the start date + term duration.", "type": "string" }, "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", + "description": "An optional description of the commitment. You can provide this property when you create the resource.", "type": "string" }, "endTimestamp": { @@ -42761,7 +43626,6 @@ "type": "string" }, "existingReservations": { - "description": "Specifies the already existing reservations to attach to the Commitment. This field is optional, and it can be a full or partial URL. For example, the following are valid URLs to an reservation: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /reservations/reservation - projects/project/zones/zone/reservations/reservation ", "items": { "type": "string" }, @@ -42782,19 +43646,19 @@ "description": "The license specification required as part of a license commitment." }, "mergeSourceCommitments": { - "description": "List of source commitments to be merged into a new commitment.", + "description": "The list of source commitments that you are merging to create the new merged commitment. For more information, see Merging commitments.", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "description": "Name of the commitment. You must specify a name when you purchase the commitment. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, "plan": { - "description": "The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).", + "description": "The minimum time duration that you commit to purchasing resources. The plan that you choose determines the preset term length of the commitment (which is 1 year or 3 years) and affects the discount rate that you receive for your resources. Committing to a longer time duration typically gives you a higher discount rate. The supported values for this field are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).", "enum": [ "INVALID", "THIRTY_SIX_MONTH", @@ -42808,11 +43672,11 @@ "type": "string" }, "region": { - "description": "[Output Only] URL of the region where this commitment may be used.", + "description": "[Output Only] URL of the region where the commitment and committed resources are located.", "type": "string" }, "reservations": { - "description": "List of create-on-create reservations for this commitment.", + "description": "The list of new reservations that you want to create and attach to this commitment. You must attach reservations to your commitment if your commitment specifies any GPUs or Local SSD disks. For more information, see Attach reservations to resource-based commitments. Specify this property only if you want to create new reservations to attach. To attach existing reservations, specify the existingReservations property instead.", "items": { "$ref": "Reservation" }, @@ -42823,7 +43687,7 @@ "description": "[Output Only] Status information for Commitment resource." }, "resources": { - "description": "A list of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must occur together.", + "description": "The list of all the hardware resources, with their types and amounts, that you want to commit to. Specify as a separate entry in the list for each individual resource type.", "items": { "$ref": "ResourceCommitment" }, @@ -42834,7 +43698,7 @@ "type": "string" }, "splitSourceCommitment": { - "description": "Source commitment to be split into a new commitment.", + "description": "The source commitment from which you are transferring resources to create the new split commitment. For more information, see Split commitments.", "type": "string" }, "startTimestamp": { @@ -42842,7 +43706,7 @@ "type": "string" }, "status": { - "description": "[Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.", + "description": "[Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). Status can be one of the following values: NOT_YET_ACTIVE, ACTIVE, or EXPIRED.", "enum": [ "ACTIVE", "CANCELLED", @@ -42864,11 +43728,12 @@ "type": "string" }, "type": { - "description": "The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.", + "description": "The type of commitment; specifies the machine series for which you want to commit to purchasing resources. The choice of machine series affects the discount rate and the eligible resource types. The type must be one of the following: ACCELERATOR_OPTIMIZED, ACCELERATOR_OPTIMIZED_A3, ACCELERATOR_OPTIMIZED_A3_MEGA, COMPUTE_OPTIMIZED, COMPUTE_OPTIMIZED_C2D, COMPUTE_OPTIMIZED_C3, COMPUTE_OPTIMIZED_C3D, COMPUTE_OPTIMIZED_H3, GENERAL_PURPOSE, GENERAL_PURPOSE_C4, GENERAL_PURPOSE_E2, GENERAL_PURPOSE_N2, GENERAL_PURPOSE_N2D, GENERAL_PURPOSE_N4, GENERAL_PURPOSE_T2D, GRAPHICS_OPTIMIZED, MEMORY_OPTIMIZED, MEMORY_OPTIMIZED_M3, MEMORY_OPTIMIZED_X4, STORAGE_OPTIMIZED_Z3. For example, type MEMORY_OPTIMIZED specifies a commitment that applies only to eligible resources of memory optimized M1 and M2 machine series. Type GENERAL_PURPOSE specifies a commitment that applies only to eligible resources of general purpose N1 machine series.", "enum": [ "ACCELERATOR_OPTIMIZED", "ACCELERATOR_OPTIMIZED_A3", "ACCELERATOR_OPTIMIZED_A3_MEGA", + "ACCELERATOR_OPTIMIZED_A3_ULTRA", "COMPUTE_OPTIMIZED", "COMPUTE_OPTIMIZED_C2D", "COMPUTE_OPTIMIZED_C3", @@ -42915,7 +43780,8 @@ "", "", "", - "" + "", + "Note for internal users: When adding a new enum Type for v1, make sure to also add it in the comment for the `optional Type type` definition. This ensures that the public documentation displays the new enum Type." ], "type": "string" } @@ -43254,7 +44120,7 @@ "id": "CommitmentsScopedList", "properties": { "commitments": { - "description": "[Output Only] A list of commitments contained in this scope.", + "description": "[Output Only] The list of commitments contained in this scope.", "items": { "$ref": "Commitment" }, @@ -45168,7 +46034,7 @@ "additionalProperties": { "type": "string" }, - "description": "Additional structured details about this error. Keys must match /a-z+/ but should ideally be lowerCamelCase. Also they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {\"instanceLimit\": \"100/request\"}, should be returned as, {\"instanceLimitPerRequest\": \"100\"}, if the client exceeds the number of instances that can be created in a single (batch) request.", + "description": "Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{\"instanceLimit\": \"100/request\"}`, should be returned as, `{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of instances that can be created in a single (batch) request.", "type": "object" }, "reason": { @@ -46014,6 +46880,143 @@ }, "type": "object" }, + "FirewallPoliciesScopedList": { + "id": "FirewallPoliciesScopedList", + "properties": { + "firewallPolicies": { + "description": "A list of firewall policies contained in this scope.", + "items": { + "$ref": "FirewallPolicy" + }, + "type": "array" + }, + "warning": { + "description": "Informational warning which replaces the list of firewall policies when the list is empty.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "FirewallPolicy": { "description": "Represents a Firewall Policy resource.", "id": "FirewallPolicy", @@ -46058,6 +47061,13 @@ "description": "Name of the resource. For Organization Firewall Policies it's a [Output Only] numeric ID allocated by Google Cloud which uniquely identifies the Organization Firewall Policy.", "type": "string" }, + "packetMirroringRules": { + "description": "A list of packet mirroring rules that belong to this policy.", + "items": { + "$ref": "FirewallPolicyRule" + }, + "type": "array" + }, "parent": { "description": "[Output Only] The parent of the firewall policy. This field is not applicable to network firewall policies.", "type": "string" @@ -50366,7 +51376,7 @@ "type": "string" }, "namedPorts": { - "description": " Assigns a name to a port number. For example: {name: \"http\", port: 80} This allows the system to reference ports by the assigned name instead of a port number. Named ports can also contain multiple ports. For example: [{name: \"app1\", port: 8080}, {name: \"app1\", port: 8081}, {name: \"app2\", port: 8082}] Named ports apply to all instances in this instance group. ", + "description": " Optional. Assigns a name to a port number. For example: {name: \"http\", port: 80} This allows the system to reference ports by the assigned name instead of a port number. Named ports can also contain multiple ports. For example: [{name: \"app1\", port: 8080}, {name: \"app1\", port: 8081}, {name: \"app2\", port: 8082}] Named ports apply to all instances in this instance group. ", "items": { "$ref": "NamedPort" }, @@ -50817,6 +51827,10 @@ "description": "[Output Only] The URL of the region where the managed instance group resides (for regional resources).", "type": "string" }, + "resourcePolicies": { + "$ref": "InstanceGroupManagerResourcePolicies", + "description": "Resource policies for this managed instance group." + }, "satisfiesPzi": { "description": "[Output Only] Reserved for future use.", "type": "boolean" @@ -51708,6 +52722,16 @@ }, "type": "object" }, + "InstanceGroupManagerResourcePolicies": { + "id": "InstanceGroupManagerResourcePolicies", + "properties": { + "workloadPolicy": { + "description": "The URL of the workload policy that is specified for this managed instance group. It can be a full or partial URL. For example, the following are all valid URLs to a workload policy: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy ", + "type": "string" + } + }, + "type": "object" + }, "InstanceGroupManagerStandbyPolicy": { "id": "InstanceGroupManagerStandbyPolicy", "properties": { @@ -54041,6 +55065,13 @@ "description": "[Output Only] The name of the firewall policy.", "type": "string" }, + "packetMirroringRules": { + "description": "[Output Only] The packet mirroring rules that apply to the instance.", + "items": { + "$ref": "FirewallPolicyRule" + }, + "type": "array" + }, "priority": { "description": "[Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.", "format": "int32", @@ -54093,6 +55124,56 @@ }, "type": "object" }, + "InstancesReportHostAsFaultyRequest": { + "id": "InstancesReportHostAsFaultyRequest", + "properties": { + "disruptionSchedule": { + "description": "The disruption schedule for the VM. Default to IMMEDIATE.", + "enum": [ + "DISRUPTION_SCHEDULE_UNSPECIFIED", + "FUTURE", + "IMMEDIATE" + ], + "enumDescriptions": [ + "Not used. Required as per aip/126.", + "Delay disruption for caller control. Will be default soon.", + "Default value. Disrupt the VM immediately." + ], + "type": "string" + }, + "faultReasons": { + "items": { + "$ref": "InstancesReportHostAsFaultyRequestFaultReason" + }, + "type": "array" + } + }, + "type": "object" + }, + "InstancesReportHostAsFaultyRequestFaultReason": { + "id": "InstancesReportHostAsFaultyRequestFaultReason", + "properties": { + "behavior": { + "enum": [ + "BEHAVIOR_UNSPECIFIED", + "PERFORMANCE", + "SILENT_DATA_CORRUPTION", + "UNRECOVERABLE_GPU_ERROR" + ], + "enumDescriptions": [ + "Public reportable behaviors", + "", + "", + "" + ], + "type": "string" + }, + "description": { + "type": "string" + } + }, + "type": "object" + }, "InstancesScopedList": { "id": "InstancesScopedList", "properties": { @@ -55150,8 +56231,9 @@ "type": "boolean" }, "bandwidth": { - "description": "Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s ", + "description": "Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s - BPS_100G: 100 Gbit/s ", "enum": [ + "BPS_100G", "BPS_100M", "BPS_10G", "BPS_1G", @@ -55166,6 +56248,7 @@ "BPS_5G" ], "enumDescriptions": [ + "100 Gbit/s", "100 Mbit/s", "10 Gbit/s", "1 Gbit/s", @@ -55189,7 +56272,7 @@ "type": "array" }, "candidateSubnets": { - "description": "Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.", + "description": "Input only. Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.", "items": { "type": "string" }, @@ -55237,7 +56320,7 @@ "type": "string" }, "edgeAvailabilityDomain": { - "description": "Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.", + "description": "Input only. Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.", "enum": [ "AVAILABILITY_DOMAIN_1", "AVAILABILITY_DOMAIN_2", @@ -55394,7 +56477,7 @@ "type": "string" }, "subnetLength": { - "description": "Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The default value is 29, except for Cross-Cloud Interconnect connections that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal to 30. For example, connections that use an Azure remote location fall into this category. In these cases, the default value is 30, and requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is preferred, because it gives Google Cloud Support more debugging visibility. ", + "description": "Input only. Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The default value is 29, except for Cross-Cloud Interconnect connections that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal to 30. For example, connections that use an Azure remote location fall into this category. In these cases, the default value is 30, and requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is preferred, because it gives Google Cloud Support more debugging visibility. ", "format": "int32", "type": "integer" }, @@ -57277,16 +58360,16 @@ "id": "LicenseResourceCommitment", "properties": { "amount": { - "description": "The number of licenses purchased.", + "description": "The number of licenses you plan to purchase.", "format": "int64", "type": "string" }, "coresPerLicense": { - "description": "Specifies the core range of the instance for which this license applies.", + "description": "The number of cores per license.", "type": "string" }, "license": { - "description": "Any applicable license URI.", + "description": "The applicable license URI.", "type": "string" } }, @@ -59848,11 +60931,11 @@ "additionalProperties": { "type": "string" }, - "description": "Metadata defined as annotations on the network endpoint.", + "description": "Optional metadata defined as annotations on the network endpoint.", "type": "object" }, "clientDestinationPort": { - "description": "Represents the port number to which PSC consumer sends packets. Only valid for network endpoint groups created with GCE_VM_IP_PORTMAP endpoint type.", + "description": "Represents the port number to which PSC consumer sends packets. Optional. Only valid for network endpoint groups created with GCE_VM_IP_PORTMAP endpoint type.", "format": "int32", "type": "integer" }, @@ -59861,7 +60944,7 @@ "type": "string" }, "instance": { - "description": "The name or a URL of VM instance of this network endpoint. This field is required for network endpoints of type GCE_VM_IP and GCE_VM_IP_PORT. The instance must be in the same zone of network endpoint group (for zonal NEGs) or in the zone within the region of the NEG (for regional NEGs). If the ipAddress is specified, it must belongs to the VM instance. The name must be 1-63 characters long, and comply with RFC1035 or be a valid URL pointing to an existing instance.", + "description": "The name or a URL of VM instance of this network endpoint. Optional, the field presence depends on the network endpoint type. The field is required for network endpoints of type GCE_VM_IP and GCE_VM_IP_PORT. The instance must be in the same zone of network endpoint group (for zonal NEGs) or in the zone within the region of the NEG (for regional NEGs). If the ipAddress is specified, it must belongs to the VM instance. The name must be 1-63 characters long, and comply with RFC1035 or be a valid URL pointing to an existing instance.", "type": "string" }, "ipAddress": { @@ -59888,27 +60971,27 @@ "additionalProperties": { "type": "string" }, - "description": "Metadata defined as annotations on the network endpoint group.", + "description": "Optional. Metadata defined as annotations on the network endpoint group.", "type": "object" }, "appEngine": { "$ref": "NetworkEndpointGroupAppEngine", - "description": "Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine or cloudFunction may be set." + "description": "Optional. Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine or cloudFunction may be set." }, "cloudFunction": { "$ref": "NetworkEndpointGroupCloudFunction", - "description": "Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine or cloudFunction may be set." + "description": "Optional. Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine or cloudFunction may be set." }, "cloudRun": { "$ref": "NetworkEndpointGroupCloudRun", - "description": "Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine or cloudFunction may be set." + "description": "Optional. Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine or cloudFunction may be set." }, "creationTimestamp": { "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" }, "defaultPort": { - "description": "The default port used if the port number is not specified in the network endpoint. If the network endpoint type is either GCE_VM_IP, SERVERLESS or PRIVATE_SERVICE_CONNECT, this field must not be specified.", + "description": "The default port used if the port number is not specified in the network endpoint. Optional. If the network endpoint type is either GCE_VM_IP, SERVERLESS or PRIVATE_SERVICE_CONNECT, this field must not be specified.", "format": "int32", "type": "integer" }, @@ -59959,10 +61042,11 @@ "type": "string" }, "pscData": { - "$ref": "NetworkEndpointGroupPscData" + "$ref": "NetworkEndpointGroupPscData", + "description": "Optional. Only valid when networkEndpointType is PRIVATE_SERVICE_CONNECT." }, "pscTargetService": { - "description": "The target service url used to set up private service connection to a Google API or a PSC Producer Service Attachment. An example value is: asia-northeast3-cloudkms.googleapis.com", + "description": "The target service url used to set up private service connection to a Google API or a PSC Producer Service Attachment. An example value is: asia-northeast3-cloudkms.googleapis.com. Optional. Only valid when networkEndpointType is PRIVATE_SERVICE_CONNECT.", "type": "string" }, "region": { @@ -60734,7 +61818,7 @@ "id": "NetworkEndpointWithHealthStatus", "properties": { "healths": { - "description": "[Output only] The health status of network endpoint;", + "description": "[Output only] The health status of network endpoint. Optional. Displayed only if the network endpoint has centralized health checking configured.", "items": { "$ref": "HealthStatusForNetworkEndpoint" }, @@ -60742,7 +61826,169 @@ }, "networkEndpoint": { "$ref": "NetworkEndpoint", - "description": "[Output only] The network endpoint;" + "description": "[Output only] The network endpoint." + } + }, + "type": "object" + }, + "NetworkFirewallPolicyAggregatedList": { + "id": "NetworkFirewallPolicyAggregatedList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "additionalProperties": { + "$ref": "FirewallPoliciesScopedList", + "description": "Name of the scope containing this set of addresses." + }, + "description": "A list of FirewallPoliciesScopedList resources.", + "type": "object" + }, + "kind": { + "default": "compute#networkFirewallPolicyAggregatedList", + "description": "[Output Only] Type of resource. Always compute#networkFirewallPoliciesAggregatedList for lists of network firewall policies.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" } }, "type": "object" @@ -61151,10 +62397,6 @@ "selfLinkWithId": { "description": "[Output Only] Server-defined URL for this resource with the resource id.", "type": "string" - }, - "zone": { - "description": "[Output Only] Zone to which the network is restricted.", - "type": "string" } }, "type": "object" @@ -61680,6 +62922,22 @@ ], "type": "string" }, + "effectiveBgpAlwaysCompareMed": { + "description": "[Output Only] Effective value of the bgp_always_compare_med field.", + "type": "boolean" + }, + "effectiveBgpInterRegionCost": { + "description": "[Output Only] Effective value of the bgp_inter_region_cost field.", + "enum": [ + "ADD_COST_TO_MED", + "DEFAULT" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "routingMode": { "description": "The network-wide routing mode to use. If set to REGIONAL, this network's Cloud Routers will only advertise routes with subnets of this network in the same region as the router. If set to GLOBAL, this network's Cloud Routers will advertise routes with all subnets of this network, across regions.", "enum": [ @@ -61754,6 +63012,13 @@ "description": "[Output Only] The name of the firewall policy.", "type": "string" }, + "packetMirroringRules": { + "description": "[Output Only] The packet mirroring rules that apply to the network.", + "items": { + "$ref": "FirewallPolicyRule" + }, + "type": "array" + }, "priority": { "description": "[Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.", "format": "int32", @@ -63343,6 +64608,11 @@ "format": "int32", "type": "integer" }, + "maxVms": { + "description": "[Output Only] Maximum number of VMs that can be created for this node type.", + "format": "int32", + "type": "integer" + }, "memoryMb": { "description": "[Output Only] The amount of physical memory available to the node type, defined in MB.", "format": "int32", @@ -69078,6 +70348,18 @@ "description": "[Output Only] The name of the firewall policy.", "type": "string" }, + "packetMirroringRules": { + "description": "[Output only] The packet mirroring rules that apply to the network.", + "items": { + "$ref": "FirewallPolicyRule" + }, + "type": "array" + }, + "priority": { + "description": "[Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.", + "format": "int32", + "type": "integer" + }, "rules": { "description": "[Output only] The rules that apply to the network.", "items": { @@ -69091,9 +70373,13 @@ "HIERARCHY", "NETWORK", "NETWORK_REGIONAL", + "SYSTEM_GLOBAL", + "SYSTEM_REGIONAL", "UNSPECIFIED" ], "enumDescriptions": [ + "", + "", "", "", "", @@ -69218,6 +70504,10 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "reservationSharingPolicy": { + "$ref": "AllocationReservationSharingPolicy", + "description": "Specify the reservation sharing policy. If unspecified, the reservation will not be shared with Google Cloud managed services." + }, "resourcePolicies": { "additionalProperties": { "type": "string" @@ -69774,20 +71064,20 @@ "type": "object" }, "ResourceCommitment": { - "description": "Commitment for a particular resource (a Commitment is composed of one or more of these).", + "description": "Commitment for a particular hardware resource (a commitment is composed of one or more of these).", "id": "ResourceCommitment", "properties": { "acceleratorType": { - "description": "Name of the accelerator type resource. Applicable only when the type is ACCELERATOR.", + "description": "Name of the accelerator type or GPU resource. Specify this field only when the type of hardware resource is ACCELERATOR.", "type": "string" }, "amount": { - "description": "The amount of the resource purchased (in a type-dependent unit, such as bytes). For vCPUs, this can just be an integer. For memory, this must be provided in MB. Memory must be a multiple of 256 MB, with up to 6.5GB of memory per every vCPU.", + "description": "The quantity of the hardware resource that you want to commit to purchasing (in a type-dependent unit). - For vCPUs, you must specify an integer value. - For memory, you specify the amount of MB that you want. The value you specify must be a multiple of 256 MB, with up to 6.5 GB of memory per every vCPU. - For GPUs, you must specify an integer value. - For Local SSD disks, you must specify the amount in GB. The size of a single Local SSD disk is 375 GB. ", "format": "int64", "type": "string" }, "type": { - "description": "Type of resource for which this commitment applies. Possible values are VCPU, MEMORY, LOCAL_SSD, and ACCELERATOR.", + "description": "The type of hardware resource that you want to specify. You can specify any of the following values: - VCPU - MEMORY - LOCAL_SSD - ACCELERATOR Specify as a separate entry in the list for each individual resource type.", "enum": [ "ACCELERATOR", "LOCAL_SSD", @@ -71150,6 +72440,65 @@ }, "type": "object" }, + "RoutePolicy": { + "id": "RoutePolicy", + "properties": { + "description": { + "description": "An optional description of route policy.", + "type": "string" + }, + "fingerprint": { + "description": "A fingerprint for the Route Policy being applied to this Router, which is essentially a hash of the Route Policy used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update Route Policy. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make a getRoutePolicy() request to retrieve a Route Policy.", + "format": "byte", + "type": "string" + }, + "name": { + "description": "Route Policy name, which must be a resource ID segment and unique within all the router's Route Policies. Name should conform to RFC1035.", + "type": "string" + }, + "terms": { + "description": "List of terms (the order in the list is not important, they are evaluated in order of priority). Order of policies is not retained and might change when getting policy later.", + "items": { + "$ref": "RoutePolicyPolicyTerm" + }, + "type": "array" + }, + "type": { + "enum": [ + "ROUTE_POLICY_TYPE_EXPORT", + "ROUTE_POLICY_TYPE_IMPORT" + ], + "enumDescriptions": [ + "The Route Policy is an Export Policy.", + "The Route Policy is an Import Policy." + ], + "type": "string" + } + }, + "type": "object" + }, + "RoutePolicyPolicyTerm": { + "id": "RoutePolicyPolicyTerm", + "properties": { + "actions": { + "description": "CEL expressions to evaluate to modify a route when this term matches.", + "items": { + "$ref": "Expr" + }, + "type": "array" + }, + "match": { + "$ref": "Expr", + "description": "CEL expression evaluated against a route to determine if this term applies. When not set, the term applies to all routes." + }, + "priority": { + "description": "The evaluation priority for this term, which must be between 0 (inclusive) and 2^31 (exclusive), and unique within the list.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "Router": { "description": "Represents a Cloud Router resource. For more information about Cloud Router, read the Cloud Router overview.", "id": "Router", @@ -71546,14 +72895,14 @@ "type": "boolean" }, "exportPolicies": { - "description": "List of export policies applied to this peer, in the order they must be evaluated. The name must correspond to an existing policy that has ROUTE_POLICY_TYPE_EXPORT type. Note that Route Policies are currently available in preview. Please use Beta API to use Route Policies.", + "description": "List of export policies applied to this peer, in the order they must be evaluated. The name must correspond to an existing policy that has ROUTE_POLICY_TYPE_EXPORT type.", "items": { "type": "string" }, "type": "array" }, "importPolicies": { - "description": "List of import policies applied to this peer, in the order they must be evaluated. The name must correspond to an existing policy that has ROUTE_POLICY_TYPE_IMPORT type. Note that Route Policies are currently available in preview. Please use Beta API to use Route Policies.", + "description": "List of import policies applied to this peer, in the order they must be evaluated. The name must correspond to an existing policy that has ROUTE_POLICY_TYPE_IMPORT type.", "items": { "type": "string" }, @@ -71679,7 +73028,7 @@ "id": "RouterInterface", "properties": { "ipRange": { - "description": "IP address and range of the interface. - For Internet Protocol version 4 (IPv4), the IP range must be in the RFC3927 link-local IP address space. The value must be a CIDR-formatted string, for example, 169.254.0.1/30. Note: Do not truncate the IP address, as it represents the IP address of the interface. - For Internet Protocol version 6 (IPv6), the value must be a unique local address (ULA) range from fdff:1::/64 with a mask length of 126 or less. This value should be a CIDR-formatted string, for example, fc00:0:1:1::1/112. Within the router's VPC, this IPv6 prefix will be reserved exclusively for this connection and cannot be used for any other purpose. ", + "description": "IP address and range of the interface. - For Internet Protocol version 4 (IPv4), the IP range must be in the RFC3927 link-local IP address space. The value must be a CIDR-formatted string, for example, 169.254.0.1/30. Note: Do not truncate the IP address, as it represents the IP address of the interface. - For Internet Protocol version 6 (IPv6), the value must be a unique local address (ULA) range from fdff:1::/64 with a mask length of 126 or less. This value should be a CIDR-formatted string, for example, fdff:1::1/112. Within the router's VPC, this IPv6 prefix will be reserved exclusively for this connection and cannot be used for any other purpose. ", "type": "string" }, "ipVersion": { @@ -72454,6 +73803,343 @@ }, "type": "object" }, + "RoutersGetRoutePolicyResponse": { + "id": "RoutersGetRoutePolicyResponse", + "properties": { + "resource": { + "$ref": "RoutePolicy" + } + }, + "type": "object" + }, + "RoutersListBgpRoutes": { + "id": "RoutersListBgpRoutes", + "properties": { + "etag": { + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "type": "string" + }, + "kind": { + "default": "compute#routersListBgpRoutes", + "description": "[Output Only] Type of resource. Always compute#routersListBgpRoutes for lists of bgp routes.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "result": { + "description": "[Output Only] A list of bgp routes.", + "items": { + "$ref": "BgpRoute" + }, + "type": "array" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "RoutersListRoutePolicies": { + "id": "RoutersListRoutePolicies", + "properties": { + "etag": { + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "type": "string" + }, + "kind": { + "default": "compute#routersListRoutePolicies", + "description": "[Output Only] Type of resource. Always compute#routersListRoutePolicies for lists of route policies.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "result": { + "description": "[Output Only] A list of route policies.", + "items": { + "$ref": "RoutePolicy" + }, + "type": "array" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "RoutersPreviewResponse": { "id": "RoutersPreviewResponse", "properties": { @@ -72853,6 +74539,11 @@ "format": "int32", "type": "integer" }, + "hostErrorTimeoutSeconds": { + "description": "Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.", + "format": "int32", + "type": "integer" + }, "instanceTerminationAction": { "description": "Specifies the termination action for the instance.", "enum": [ @@ -73579,9 +75270,11 @@ "ddosProtection": { "enum": [ "ADVANCED", + "ADVANCED_PREVIEW", "STANDARD" ], "enumDescriptions": [ + "", "", "" ], @@ -75333,7 +77026,7 @@ "description": "Customer provided encryption key when creating Snapshot from Instant Snapshot." }, "sourceInstantSnapshotId": { - "description": "[Output Only] The unique ID of the instant snapshot used to create this snapshot. This value identifies the exact instant snapshot that was used to create this persistent disk. For example, if you created the persistent disk from an instant snapshot that was later deleted and recreated under the same name, the source instant snapshot ID would identify the exact instant snapshot that was used.", + "description": "[Output Only] The unique ID of the instant snapshot used to create this snapshot. This value identifies the exact instant snapshot that was used to create this snapshot. For example, if you created the snapshot from an instant snapshot that was later deleted and recreated under the same name, the source instant snapshot ID would identify the exact instant snapshot that was used.", "type": "string" }, "sourceSnapshotSchedulePolicy": { @@ -78636,7 +80329,7 @@ "type": "string" }, "purpose": { - "description": "The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.", + "description": "The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION, PRIVATE_SERVICE_CONNECT or PRIVATE_NAT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. A subnet with purpose set to PRIVATE_NAT is used for Private NAT IP address by Private NAT Gateway. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.", "enum": [ "GLOBAL_MANAGED_PROXY", "INTERNAL_HTTPS_LOAD_BALANCER", @@ -80207,11 +81900,11 @@ "type": "string" }, "serverTlsPolicy": { - "description": "Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic. serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or EXTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and which with EXTERNAL, EXTERNAL_MANAGED loadBalancingScheme consult ServerTlsPolicy documentation. If left blank, communications are not encrypted.", + "description": "Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic. serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or EXTERNAL_MANAGED or INTERNAL_MANAGED. It also applies to a regional TargetHttpsProxy attached to regional forwardingRules with the loadBalancingScheme set to EXTERNAL_MANAGED or INTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and which with EXTERNAL, INTERNAL_MANAGED, EXTERNAL_MANAGED loadBalancingScheme consult ServerTlsPolicy documentation. If left blank, communications are not encrypted.", "type": "string" }, "sslCertificates": { - "description": "URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}. ", + "description": "URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API namespace. Using Certificate Manager Certificates in this field is not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates or up to 100 Certificate Manager Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}. ", "items": { "type": "string" }, @@ -83910,7 +85603,7 @@ "type": "string" }, "purpose": { - "description": "The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.", + "description": "The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION, PRIVATE_SERVICE_CONNECT or PRIVATE_NAT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. A subnet with purpose set to PRIVATE_NAT is used for Private NAT IP address by Private NAT Gateway. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.", "enum": [ "GLOBAL_MANAGED_PROXY", "INTERNAL_HTTPS_LOAD_BALANCER", diff --git a/discovery/googleapis/config__v1.json b/discovery/googleapis/config__v1.json index 0f65c1a44..3193afbfc 100644 --- a/discovery/googleapis/config__v1.json +++ b/discovery/googleapis/config__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241211", + "revision": "20250219", "rootUrl": "https://config.googleapis.com/", "servicePath": "", "title": "Infrastructure Manager API", @@ -1158,13 +1158,13 @@ "type": "string" }, "pageSize": { - "description": "Optional. When requesting a page of resources, 'page_size' specifies number of resources to return. If unspecified, at most 500 will be returned. The maximum value is 1000.", + "description": "Optional. When requesting a page of terraform versions, 'page_size' specifies number of terraform versions to return. If unspecified, at most 500 will be returned. The maximum value is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. Token returned by previous call to 'ListTerraformVersions' which specifies the position in the list from where to continue listing the resources.", + "description": "Optional. Token returned by previous call to 'ListTerraformVersions' which specifies the position in the list from where to continue listing the terraform versions.", "location": "query", "type": "string" }, @@ -2002,7 +2002,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. Arbitrary key-value metadata storage e.g. to help client tools identifiy preview during automation. See https://google.aip.dev/148#annotations for details on format and size limitations.", + "description": "Optional. Arbitrary key-value metadata storage e.g. to help client tools identify preview during automation. See https://google.aip.dev/148#annotations for details on format and size limitations.", "type": "object" }, "artifactsGcsBucket": { diff --git a/discovery/googleapis/connectors__v1.json b/discovery/googleapis/connectors__v1.json index ceb0471e3..e3a59980d 100644 --- a/discovery/googleapis/connectors__v1.json +++ b/discovery/googleapis/connectors__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241203", + "revision": "20250304", "rootUrl": "https://connectors.googleapis.com/", "servicePath": "", "title": "Connectors API", @@ -2374,12 +2374,14 @@ "enum": [ "AUTH_SCHEMA_VIEW_UNSPECIFIED", "BASIC", - "JSON_SCHEMA" + "JSON_SCHEMA", + "EUA_SCHEMA" ], "enumDescriptions": [ "Default value.", "Basic view of the AuthSchema.", - "JSON schema view of the AuthSchema." + "JSON schema view of the AuthSchema.", + "EUA Schema view of the AuthSchema." ], "location": "query", "type": "string" @@ -3288,6 +3290,13 @@ "readOnly": true, "type": "string" }, + "trafficShapingConfigs": { + "description": "Optional. Traffic shaping configuration for the connection.", + "items": { + "$ref": "TrafficShapingConfig" + }, + "type": "array" + }, "updateTime": { "description": "Output only. Updated time.", "format": "google-datetime", @@ -3786,7 +3795,7 @@ "type": "object" }, "ConnectorVersionInfraConfig": { - "description": "This cofiguration provides infra configs like rate limit threshold which need to be configurable for every connector version", + "description": "This configuration provides infra configs like rate limit threshold which need to be configurable for every connector version", "id": "ConnectorVersionInfraConfig", "properties": { "connectionRatelimitWindowSeconds": { @@ -4436,6 +4445,17 @@ }, "type": "object" }, + "EnrichmentConfig": { + "description": "Data enrichment configuration.", + "id": "EnrichmentConfig", + "properties": { + "appendAcl": { + "description": "Optional. Append ACL to the event.", + "type": "boolean" + } + }, + "type": "object" + }, "EnumOption": { "description": "EnumOption definition", "id": "EnumOption", @@ -4513,9 +4533,9 @@ "$ref": "EndPoint", "description": "OPTION 1: Hit an endpoint when we receive an event." }, - "gsutil": { - "$ref": "GSUtil", - "description": "OPTION 2: Write the event to Cloud Storage bucket." + "pubsub": { + "$ref": "PubSub", + "description": "OPTION 3: Write the event to Pub/Sub topic." }, "serviceAccount": { "description": "Service account needed for runtime plane to trigger IP workflow.", @@ -4641,6 +4661,10 @@ "$ref": "DeadLetterConfig", "description": "Optional. Dead letter configuration for eventing of a connection." }, + "enrichmentConfig": { + "$ref": "EnrichmentConfig", + "description": "Optional. Data enrichment configuration." + }, "enrichmentEnabled": { "description": "Optional. Enrichment Enabled.", "type": "boolean" @@ -5178,17 +5202,6 @@ }, "type": "object" }, - "GSUtil": { - "description": "GSUtil message includes details of the Destination Cloud Storage bucket.", - "id": "GSUtil", - "properties": { - "gsutilUri": { - "description": "Required. The URI of the Cloud Storage bucket.", - "type": "string" - } - }, - "type": "object" - }, "HPAConfig": { "description": "Autoscaling config for connector deployment system metrics.", "id": "HPAConfig", @@ -5565,6 +5578,14 @@ "description": "JsonSchema representation of schema metadata", "id": "JsonSchema", "properties": { + "additionalDetails": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Additional details apart from standard json schema fields, this gives flexibility to store metadata about the schema", + "type": "object" + }, "default": { "description": "The default value of the field or object described by this schema.", "type": "any" @@ -6730,10 +6751,20 @@ "description": "Required. Public URL for the demo video.", "type": "string" }, + "hasDynamicSpecUri": { + "description": "Output only. Has dynamic open api spec uri.", + "readOnly": true, + "type": "boolean" + }, "integrationTemplates": { "description": "Required. Integration example templates for the custom connector.", "type": "string" }, + "localSpecPath": { + "description": "Output only. Local spec path. Required if has_dynamic_spec_uri is true.", + "readOnly": true, + "type": "string" + }, "marketplaceProduct": { "description": "Optional. Marketplace product name.", "type": "string" @@ -6917,6 +6948,35 @@ }, "type": "object" }, + "PubSub": { + "description": "Pub/Sub message includes details of the Destination Pub/Sub topic.", + "id": "PubSub", + "properties": { + "attributes": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Pub/Sub message attributes to be added to the Pub/Sub message.", + "type": "object" + }, + "configVariables": { + "description": "Optional. Configuration for configuring the trigger", + "items": { + "$ref": "ConfigVariable" + }, + "type": "array" + }, + "projectId": { + "description": "Required. The project id which has the Pub/Sub topic.", + "type": "string" + }, + "topicId": { + "description": "Required. The topic id of the Pub/Sub topic.", + "type": "string" + } + }, + "type": "object" + }, "PublishCustomConnectorVersionRequest": { "description": "Request message for ConnectorsService.PublishCustomConnectorVersion", "id": "PublishCustomConnectorVersionRequest", @@ -7255,7 +7315,7 @@ "type": "string" }, "principal": { - "description": "Optional. Prinicipal/Identity for whom the role need to assigned.", + "description": "Optional. Principal/Identity for whom the role need to assigned.", "enum": [ "PRINCIPAL_UNSPECIFIED", "CONNECTOR_SA" @@ -7667,7 +7727,7 @@ "id": "Source", "properties": { "fieldId": { - "description": "Field identifier. For example config vaiable name.", + "description": "Field identifier. For example config variable name.", "type": "string" }, "sourceType": { @@ -7979,6 +8039,23 @@ }, "type": "object" }, + "TrafficShapingConfig": { + "description": "* TrafficShapingConfig defines the configuration for shaping API traffic by specifying a quota limit and the duration over which this limit is enforced. This configuration helps to control and manage the rate at which API calls are made on the client side, preventing service overload on the backend. For example: - if the quota limit is 100 calls per 10 seconds, then the message would be: { quota_limit: 100 duration: { seconds: 10 } } - if the quota limit is 100 calls per 5 minutes, then the message would be: { quota_limit: 100 duration: { seconds: 300 } } - if the quota limit is 10000 calls per day, then the message would be: { quota_limit: 10000 duration: { seconds: 86400 } and so on.", + "id": "TrafficShapingConfig", + "properties": { + "duration": { + "description": "Required. * The duration over which the API call quota limits are calculated. This duration is used to define the time window for evaluating if the number of API calls made by a user is within the allowed quota limits. For example: - To define a quota sampled over 16 seconds, set `seconds` to 16 - To define a quota sampled over 5 minutes, set `seconds` to 300 (5 * 60) - To define a quota sampled over 1 day, set `seconds` to 86400 (24 * 60 * 60) and so on. It is important to note that this duration is not the time the quota is valid for, but rather the time window over which the quota is evaluated. For example, if the quota is 100 calls per 10 seconds, then this duration field would be set to 10 seconds.", + "format": "google-duration", + "type": "string" + }, + "quotaLimit": { + "description": "Required. Maximum number of api calls allowed.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "UpdatePolicy": { "description": "Maintenance policy applicable to instance updates.", "id": "UpdatePolicy", diff --git a/discovery/googleapis/connectors__v2.json b/discovery/googleapis/connectors__v2.json index 530124294..5ae9a8e00 100644 --- a/discovery/googleapis/connectors__v2.json +++ b/discovery/googleapis/connectors__v2.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241015", + "revision": "20250304", "rootUrl": "https://connectors.googleapis.com/", "servicePath": "", "title": "Connectors API", @@ -372,6 +372,21 @@ "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/entityTypes/[^/]+$", "required": true, "type": "string" + }, + "view": { + "description": "Specifies view for entity type schema.", + "enum": [ + "ENTITY_TYPE_SCHEMA_VIEW_UNSPECIFIED", + "ENTITY_TYPE_SCHEMA_VIEW_BASIC", + "ENTITY_TYPE_SCHEMA_VIEW_ENRICHED" + ], + "enumDescriptions": [ + "VIEW_UNSPECIFIED. The unset value. Defaults to BASIC View.", + "Return basic entity type schema.", + "Return enriched entity types schema." + ], + "location": "query", + "type": "string" } }, "path": "v2/{+name}", diff --git a/discovery/googleapis/contactcenterinsights__v1.json b/discovery/googleapis/contactcenterinsights__v1.json index 23960ebc4..a7e0243ad 100644 --- a/discovery/googleapis/contactcenterinsights__v1.json +++ b/discovery/googleapis/contactcenterinsights__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241218", + "revision": "20250224", "rootUrl": "https://contactcenterinsights.googleapis.com/", "servicePath": "", "title": "Contact Center AI Insights API", @@ -114,7 +114,7 @@ "locations": { "methods": { "bulkDownloadFeedbackLabels": { - "description": "Download feedback labels in bulk.", + "description": "Download feedback labels in bulk from an external source. Currently supports exporting Quality AI example conversations with transcripts and question bodies.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:bulkDownloadFeedbackLabels", "httpMethod": "POST", "id": "contactcenterinsights.projects.locations.bulkDownloadFeedbackLabels", @@ -142,7 +142,7 @@ ] }, "bulkUploadFeedbackLabels": { - "description": "Upload feedback labels in bulk.", + "description": "Upload feedback labels from an external source in bulk. Currently supports labeling Quality AI example conversations.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:bulkUploadFeedbackLabels", "httpMethod": "POST", "id": "contactcenterinsights.projects.locations.bulkUploadFeedbackLabels", @@ -2737,7 +2737,7 @@ "description": "Selector of annotators to run and the phrase matchers to use for conversations that matches the conversation_filter. If not specified, NO annotators will be run." }, "conversationFilter": { - "description": "Filter for the conversations that should apply this analysis rule. An empty filter means this analysis rule applies to all conversations.", + "description": "Filter for the conversations that should apply this analysis rule. An empty filter means this analysis rule applies to all conversations. Refer to https://cloud.google.com/contact-center/insights/docs/filtering for details.", "type": "string" }, "createTime": { @@ -2878,6 +2878,10 @@ "description": "Resource name of the Dialogflow conversation profile. Format: projects/{project}/locations/{location}/conversationProfiles/{conversation_profile}", "type": "string" }, + "generator": { + "description": "The resource name of the existing created generator. Format: projects//locations//generators/", + "type": "string" + }, "summarizationModel": { "description": "Default summarization model to be used.", "enum": [ @@ -3537,7 +3541,7 @@ "type": "string" }, "metadataJson": { - "description": "Input only. JSON metadata encoded as a string. This field is primarily used by Insights integrations with various telphony systems and must be in one of Insight's supported formats.", + "description": "Input only. JSON metadata encoded as a string. This field is primarily used by Insights integrations with various telephony systems and must be in one of Insight's supported formats.", "type": "string" }, "name": { @@ -4158,6 +4162,7 @@ "enum": [ "DIMENSION_KEY_UNSPECIFIED", "ISSUE", + "ISSUE_NAME", "AGENT", "AGENT_TEAM", "QA_QUESTION_ID", @@ -4167,6 +4172,7 @@ "enumDescriptions": [ "The key of the dimension is unspecified.", "The dimension is keyed by issues.", + "The dimension is keyed by issue names.", "The dimension is keyed by agents.", "The dimension is keyed by agent teams.", "The dimension is keyed by QaQuestionIds. Note that: We only group by the QuestionId and not the revision-id of the scorecard this question is a part of. This allows for showing stats for the same question across different scorecard revisions.", @@ -4393,6 +4399,11 @@ "description": "Metadata for an export insights operation.", "id": "GoogleCloudContactcenterinsightsV1ExportInsightsDataMetadata", "properties": { + "completedExportCount": { + "description": "The number of conversations that were exported successfully.", + "format": "int32", + "type": "integer" + }, "createTime": { "description": "Output only. The time the operation was created.", "format": "google-datetime", @@ -4405,6 +4416,11 @@ "readOnly": true, "type": "string" }, + "failedExportCount": { + "description": "The number of conversations that failed to be exported.", + "format": "int32", + "type": "integer" + }, "partialErrors": { "description": "Partial errors during export operation that might cause the operation output to be incomplete.", "items": { @@ -4427,6 +4443,32 @@ "$ref": "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination", "description": "Specified if sink is a BigQuery table." }, + "exportSchemaVersion": { + "description": "Optional. Version of the export schema.", + "enum": [ + "EXPORT_SCHEMA_VERSION_UNSPECIFIED", + "EXPORT_V1", + "EXPORT_V2", + "EXPORT_V3", + "EXPORT_V4", + "EXPORT_V5", + "EXPORT_V6", + "EXPORT_V7", + "EXPORT_VERSION_LATEST_AVAILABLE" + ], + "enumDescriptions": [ + "Unspecified. Defaults to EXPORT_V3.", + "Export schema version 1.", + "Export schema version 2.", + "Export schema version 3.", + "Export schema version 4.", + "Export schema version 5.", + "Export schema version 6.", + "Export schema version 7.", + "Export schema version latest available." + ], + "type": "string" + }, "filter": { "description": "A filter to reduce results to a specific subset. Useful for exporting conversations with specific properties.", "type": "string" @@ -4570,7 +4612,7 @@ "type": "object" }, "GoogleCloudContactcenterinsightsV1FeedbackLabel": { - "description": "Represents a conversation, resource, and label provided by the user.", + "description": "Represents a conversation, resource, and label provided by the user. Can take the form of a string label or a QaAnswer label. QaAnswer labels are used for Quality AI example conversations. String labels are used for Topic Modeling.", "id": "GoogleCloudContactcenterinsightsV1FeedbackLabel", "properties": { "createTime": { @@ -4580,11 +4622,11 @@ "type": "string" }, "label": { - "description": "String label.", + "description": "String label used for Topic Modeling.", "type": "string" }, "labeledResource": { - "description": "Resource name of the resource to be labeled.", + "description": "Resource name of the resource to be labeled. Supported resources: - qaScorecards/{scorecard}/revisions/{revision}/qaQuestions/{question} - issueModels/{issue_model}", "type": "string" }, "name": { @@ -4593,7 +4635,7 @@ }, "qaAnswerLabel": { "$ref": "GoogleCloudContactcenterinsightsV1QaAnswerAnswerValue", - "description": "QaAnswer label." + "description": "QaAnswer label used for Quality AI example conversations." }, "updateTime": { "description": "Output only. Update time of the label.", @@ -4999,7 +5041,7 @@ "id": "GoogleCloudContactcenterinsightsV1IssueAssignment", "properties": { "displayName": { - "description": "Immutable. Display name of the assigned issue. This field is set at time of analyis and immutable since then.", + "description": "Immutable. Display name of the assigned issue. This field is set at time of analysis and immutable since then.", "type": "string" }, "issue": { @@ -5111,7 +5153,7 @@ "id": "GoogleCloudContactcenterinsightsV1IssueModelInputDataConfig", "properties": { "filter": { - "description": "A filter to reduce the conversations used for training the model to a specific subset.", + "description": "A filter to reduce the conversations used for training the model to a specific subset. Refer to https://cloud.google.com/contact-center/insights/docs/filtering for details.", "type": "string" }, "medium": { @@ -6039,7 +6081,12 @@ "GoogleCloudContactcenterinsightsV1QueryMetricsMetadata": { "description": "The metadata from querying metrics.", "id": "GoogleCloudContactcenterinsightsV1QueryMetricsMetadata", - "properties": {}, + "properties": { + "resultIsTruncated": { + "description": "Whether the result rows were truncated because the result row size is too large to materialize.", + "type": "boolean" + } + }, "type": "object" }, "GoogleCloudContactcenterinsightsV1QueryMetricsRequest": { @@ -6345,7 +6392,7 @@ "id": "GoogleCloudContactcenterinsightsV1SentimentData", "properties": { "magnitude": { - "description": "A non-negative number from 0 to infinity which represents the abolute magnitude of sentiment regardless of score.", + "description": "A non-negative number from 0 to infinity which represents the absolute magnitude of sentiment regardless of score.", "format": "float", "type": "number" }, @@ -6647,7 +6694,7 @@ "type": "string" }, "value": { - "description": "String with specific view properties, must be non-empty.", + "description": "A filter to reduce conversation results to a specific subset. Refer to https://cloud.google.com/contact-center/insights/docs/filtering for details.", "type": "string" } }, @@ -6873,6 +6920,10 @@ "description": "Resource name of the Dialogflow conversation profile. Format: projects/{project}/locations/{location}/conversationProfiles/{conversation_profile}", "type": "string" }, + "generator": { + "description": "The resource name of the existing created generator. Format: projects//locations//generators/", + "type": "string" + }, "summarizationModel": { "description": "Default summarization model to be used.", "enum": [ @@ -7228,7 +7279,7 @@ "type": "string" }, "metadataJson": { - "description": "Input only. JSON metadata encoded as a string. This field is primarily used by Insights integrations with various telphony systems and must be in one of Insight's supported formats.", + "description": "Input only. JSON metadata encoded as a string. This field is primarily used by Insights integrations with various telephony systems and must be in one of Insight's supported formats.", "type": "string" }, "name": { @@ -7843,6 +7894,7 @@ "enum": [ "DIMENSION_KEY_UNSPECIFIED", "ISSUE", + "ISSUE_NAME", "AGENT", "AGENT_TEAM", "QA_QUESTION_ID", @@ -7852,6 +7904,7 @@ "enumDescriptions": [ "The key of the dimension is unspecified.", "The dimension is keyed by issues.", + "The dimension is keyed by issue names.", "The dimension is keyed by agents.", "The dimension is keyed by agent teams.", "The dimension is keyed by QaQuestionIds. Note that: We only group by the QuestionId and not the revision-id of the scorecard this question is a part of. This allows for showing stats for the same question across different scorecard revisions.", @@ -8067,6 +8120,11 @@ "description": "Metadata for an export insights operation.", "id": "GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataMetadata", "properties": { + "completedExportCount": { + "description": "The number of conversations that were exported successfully.", + "format": "int32", + "type": "integer" + }, "createTime": { "description": "Output only. The time the operation was created.", "format": "google-datetime", @@ -8079,6 +8137,11 @@ "readOnly": true, "type": "string" }, + "failedExportCount": { + "description": "The number of conversations that failed to be exported.", + "format": "int32", + "type": "integer" + }, "partialErrors": { "description": "Partial errors during export operation that might cause the operation output to be incomplete.", "items": { @@ -8101,6 +8164,32 @@ "$ref": "GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequestBigQueryDestination", "description": "Specified if sink is a BigQuery table." }, + "exportSchemaVersion": { + "description": "Optional. Version of the export schema.", + "enum": [ + "EXPORT_SCHEMA_VERSION_UNSPECIFIED", + "EXPORT_V1", + "EXPORT_V2", + "EXPORT_V3", + "EXPORT_V4", + "EXPORT_V5", + "EXPORT_V6", + "EXPORT_V7", + "EXPORT_VERSION_LATEST_AVAILABLE" + ], + "enumDescriptions": [ + "Unspecified. Defaults to EXPORT_V3.", + "Export schema version 1.", + "Export schema version 2.", + "Export schema version 3.", + "Export schema version 4.", + "Export schema version 5.", + "Export schema version 6.", + "Export schema version 7.", + "Export schema version latest available." + ], + "type": "string" + }, "filter": { "description": "A filter to reduce results to a specific subset. Useful for exporting conversations with specific properties.", "type": "string" @@ -8244,7 +8333,7 @@ "type": "object" }, "GoogleCloudContactcenterinsightsV1alpha1FeedbackLabel": { - "description": "Represents a conversation, resource, and label provided by the user.", + "description": "Represents a conversation, resource, and label provided by the user. Can take the form of a string label or a QaAnswer label. QaAnswer labels are used for Quality AI example conversations. String labels are used for Topic Modeling.", "id": "GoogleCloudContactcenterinsightsV1alpha1FeedbackLabel", "properties": { "createTime": { @@ -8254,11 +8343,11 @@ "type": "string" }, "label": { - "description": "String label.", + "description": "String label used for Topic Modeling.", "type": "string" }, "labeledResource": { - "description": "Resource name of the resource to be labeled.", + "description": "Resource name of the resource to be labeled. Supported resources: - qaScorecards/{scorecard}/revisions/{revision}/qaQuestions/{question} - issueModels/{issue_model}", "type": "string" }, "name": { @@ -8267,7 +8356,7 @@ }, "qaAnswerLabel": { "$ref": "GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerValue", - "description": "QaAnswer label." + "description": "QaAnswer label used for Quality AI example conversations." }, "updateTime": { "description": "Output only. Update time of the label.", @@ -8673,7 +8762,7 @@ "id": "GoogleCloudContactcenterinsightsV1alpha1IssueAssignment", "properties": { "displayName": { - "description": "Immutable. Display name of the assigned issue. This field is set at time of analyis and immutable since then.", + "description": "Immutable. Display name of the assigned issue. This field is set at time of analysis and immutable since then.", "type": "string" }, "issue": { @@ -8785,7 +8874,7 @@ "id": "GoogleCloudContactcenterinsightsV1alpha1IssueModelInputDataConfig", "properties": { "filter": { - "description": "A filter to reduce the conversations used for training the model to a specific subset.", + "description": "A filter to reduce the conversations used for training the model to a specific subset. Refer to https://cloud.google.com/contact-center/insights/docs/filtering for details.", "type": "string" }, "medium": { @@ -9170,7 +9259,12 @@ "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsMetadata": { "description": "The metadata from querying metrics.", "id": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsMetadata", - "properties": {}, + "properties": { + "resultIsTruncated": { + "description": "Whether the result rows were truncated because the result row size is too large to materialize.", + "type": "boolean" + } + }, "type": "object" }, "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponse": { @@ -9431,7 +9525,7 @@ "id": "GoogleCloudContactcenterinsightsV1alpha1SentimentData", "properties": { "magnitude": { - "description": "A non-negative number from 0 to infinity which represents the abolute magnitude of sentiment regardless of score.", + "description": "A non-negative number from 0 to infinity which represents the absolute magnitude of sentiment regardless of score.", "format": "float", "type": "number" }, diff --git a/discovery/googleapis/container__v1.json b/discovery/googleapis/container__v1.json index 7125e721f..cc314cb1b 100644 --- a/discovery/googleapis/container__v1.json +++ b/discovery/googleapis/container__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241203", + "revision": "20250225", "rootUrl": "https://container.googleapis.com/", "servicePath": "", "title": "Kubernetes Engine API", @@ -2758,6 +2758,27 @@ }, "type": "object" }, + "AutoMonitoringConfig": { + "description": "AutoMonitoringConfig defines the configuration for GKE Workload Auto-Monitoring.", + "id": "AutoMonitoringConfig", + "properties": { + "scope": { + "description": "Scope for GKE Workload Auto-Monitoring.", + "enum": [ + "SCOPE_UNSPECIFIED", + "ALL", + "NONE" + ], + "enumDescriptions": [ + "Not set.", + "Auto-Monitoring is enabled for all supported applications.", + "Disable Auto-Monitoring." + ], + "type": "string" + } + }, + "type": "object" + }, "AutoUpgradeOptions": { "description": "AutoUpgradeOptions defines the set of options for the user to control how the Auto Upgrades will proceed.", "id": "AutoUpgradeOptions", @@ -2803,7 +2824,7 @@ "type": "string" }, "documentationUrl": { - "description": "A URL to a public documnetation, which addresses resolving this issue.", + "description": "A URL to a public documentation, which addresses resolving this issue.", "type": "string" }, "incompatibilityType": { @@ -2837,6 +2858,17 @@ }, "type": "object" }, + "AutopilotConfig": { + "description": "AutopilotConfig contains configuration of autopilot feature for this nodepool.", + "id": "AutopilotConfig", + "properties": { + "enabled": { + "description": "Denotes that nodes belonging to this node pool are Autopilot nodes.", + "type": "boolean" + } + }, + "type": "object" + }, "AutoprovisioningNodePoolDefaults": { "description": "AutoprovisioningNodePoolDefaults contains defaults for a node pool created by NAP.", "id": "AutoprovisioningNodePoolDefaults", @@ -3046,7 +3078,7 @@ "id": "CertificateAuthorityDomainConfig", "properties": { "fqdns": { - "description": "List of fully qualified domain names (FQDN). Specifying port is supported. Wilcards are NOT supported. Examples: - my.customdomain.com - 10.0.1.2:5000", + "description": "List of fully qualified domain names (FQDN). Specifying port is supported. Wildcards are NOT supported. Examples: - my.customdomain.com - 10.0.1.2:5000", "items": { "type": "string" }, @@ -3223,7 +3255,8 @@ "type": "boolean" }, "enableTpu": { - "description": "Enable the ability to use Cloud TPUs in this cluster.", + "deprecated": true, + "description": "Enable the ability to use Cloud TPUs in this cluster. This field is deprecated due to the deprecation of 2VM TPU. The end of life date for 2VM TPU is 2025-04-25.", "type": "boolean" }, "endpoint": { @@ -3289,7 +3322,6 @@ "description": "Configuration for the legacy ABAC authorization mode." }, "location": { - "description": "Output only. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) or [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which the cluster resides.", "readOnly": true, "type": "string" }, @@ -3472,7 +3504,8 @@ "type": "string" }, "tpuIpv4CidrBlock": { - "description": "Output only. The IP address range of the Cloud TPUs in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.2.3.4/29`).", + "deprecated": true, + "description": "Output only. The IP address range of the Cloud TPUs in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.2.3.4/29`). This field is deprecated due to the deprecation of 2VM TPU. The end of life date for 2VM TPU is 2025-04-25.", "readOnly": true, "type": "string" }, @@ -3629,6 +3662,10 @@ "$ref": "DefaultSnatStatus", "description": "The desired status of whether to disable default sNAT for this cluster." }, + "desiredDisableL4LbFirewallReconciliation": { + "description": "Enable/Disable L4 LB VPC firewall reconciliation for the cluster.", + "type": "boolean" + }, "desiredDnsConfig": { "$ref": "DNSConfig", "description": "DNSConfig contains clusterDNS config for this cluster." @@ -4330,13 +4367,15 @@ "EVENT_TYPE_UNSPECIFIED", "UPGRADE_AVAILABLE_EVENT", "UPGRADE_EVENT", - "SECURITY_BULLETIN_EVENT" + "SECURITY_BULLETIN_EVENT", + "UPGRADE_INFO_EVENT" ], "enumDescriptions": [ "Not set, will be ignored.", "Corresponds with UpgradeAvailableEvent.", "Corresponds with UpgradeEvent.", - "Corresponds with SecurityBulletinEvent." + "Corresponds with SecurityBulletinEvent.", + "Corresponds with UpgradeInfoEvent." ], "type": "string" }, @@ -4500,7 +4539,7 @@ "type": "object" }, "GetJSONWebKeysResponse": { - "description": "GetJSONWebKeysResponse is a valid JSON Web Key Set as specififed in rfc 7517", + "description": "GetJSONWebKeysResponse is a valid JSON Web Key Set as specified in rfc 7517", "id": "GetJSONWebKeysResponse", "properties": { "cacheHeader": { @@ -4753,7 +4792,8 @@ "type": "string" }, "tpuIpv4CidrBlock": { - "description": "The IP address range of the Cloud TPUs in this cluster. If unspecified, a range will be automatically chosen with the default size. This field is only applicable when `use_ip_aliases` is true. If unspecified, the range will use the default size. Set to /netmask (e.g. `/14`) to have a range chosen with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.", + "deprecated": true, + "description": "The IP address range of the Cloud TPUs in this cluster. If unspecified, a range will be automatically chosen with the default size. This field is only applicable when `use_ip_aliases` is true. If unspecified, the range will use the default size. Set to /netmask (e.g. `/14`) to have a range chosen with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. This field is deprecated due to the deprecation of 2VM TPU. The end of life date for 2VM TPU is 2025-04-25.", "type": "string" }, "useIpAliases": { @@ -4931,7 +4971,7 @@ "additionalProperties": { "type": "string" }, - "description": "The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse kernel.shmmni kernel.shmmax kernel.shmall", + "description": "The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall vm.max_map_count", "type": "object" } }, @@ -5038,7 +5078,8 @@ "SCHEDULER", "CONTROLLER_MANAGER", "KCP_SSHD", - "KCP_CONNECTION" + "KCP_CONNECTION", + "KCP_HPA" ], "enumDescriptions": [ "Default value. This shouldn't be used.", @@ -5048,7 +5089,8 @@ "kube-scheduler", "kube-controller-manager", "kcp-sshd", - "kcp connection logs" + "kcp connection logs", + "horizontal pod autoscaler decision logs" ], "type": "string" }, @@ -5151,6 +5193,10 @@ "description": "ManagedPrometheusConfig defines the configuration for Google Cloud Managed Service for Prometheus.", "id": "ManagedPrometheusConfig", "properties": { + "autoMonitoringConfig": { + "$ref": "AutoMonitoringConfig", + "description": "GKE Workload Auto-Monitoring Configuration." + }, "enabled": { "description": "Enable Managed Collection.", "type": "boolean" @@ -5210,7 +5256,7 @@ "type": "boolean" }, "gcpPublicCidrsAccessEnabled": { - "description": "Whether master is accessbile via Google Compute Engine Public IP addresses.", + "description": "Whether master is accessible via Google Compute Engine Public IP addresses.", "type": "boolean" }, "privateEndpointEnforcementEnabled": { @@ -5289,7 +5335,8 @@ "STATEFULSET", "CADVISOR", "KUBELET", - "DCGM" + "DCGM", + "JOBSET" ], "enumDescriptions": [ "Default value. This shouldn't be used.", @@ -5305,7 +5352,8 @@ "Statefulset", "CADVISOR", "KUBELET", - "NVIDIA Data Center GPU Manager (DCGM)" + "NVIDIA Data Center GPU Manager (DCGM)", + "JobSet" ], "type": "string" }, @@ -5359,6 +5407,10 @@ "$ref": "DefaultSnatStatus", "description": "Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic." }, + "disableL4LbFirewallReconciliation": { + "description": "Disable L4 load balancer VPC firewalls to enable firewall policies.", + "type": "boolean" + }, "dnsConfig": { "$ref": "DNSConfig", "description": "DNSConfig contains clusterDNS config for this cluster." @@ -5402,7 +5454,7 @@ "type": "string" }, "network": { - "description": "Output only. The relative name of the Google Compute Engine network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. Example: projects/my-project/global/networks/my-network", + "description": "Output only. The relative name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. Example: projects/my-project/global/networks/my-network", "readOnly": true, "type": "string" }, @@ -5637,7 +5689,7 @@ "type": "integer" }, "localSsdEncryptionMode": { - "description": "Specifies which method should be used for encrypting the Local SSDs attahced to the node.", + "description": "Specifies which method should be used for encrypting the Local SSDs attached to the node.", "enum": [ "LOCAL_SSD_ENCRYPTION_MODE_UNSPECIFIED", "STANDARD_ENCRYPTION", @@ -5794,6 +5846,22 @@ "description": "Node kubelet configs.", "id": "NodeKubeletConfig", "properties": { + "allowedUnsafeSysctls": { + "description": "Optional. Defines a comma-separated allowlist of unsafe sysctls or sysctl patterns (ending in `*`). The unsafe namespaced sysctl groups are `kernel.shm*`, `kernel.msg*`, `kernel.sem`, `fs.mqueue.*`, and `net.*`. Leaving this allowlist empty means they cannot be set on Pods. To allow certain sysctls or sysctl patterns to be set on Pods, list them separated by commas. For example: `kernel.msg*,net.ipv4.route.min_pmtu`. See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for more details.", + "items": { + "type": "string" + }, + "type": "array" + }, + "containerLogMaxFiles": { + "description": "Optional. Defines the maximum number of container log files that can be present for a container. See https://kubernetes.io/docs/concepts/cluster-administration/logging/#log-rotation The value must be an integer between 2 and 10, inclusive. The default value is 5 if unspecified.", + "format": "int32", + "type": "integer" + }, + "containerLogMaxSize": { + "description": "Optional. Defines the maximum size of the container log file before it is rotated. See https://kubernetes.io/docs/concepts/cluster-administration/logging/#log-rotation Valid format is positive number + unit, e.g. 100Ki, 10Mi. Valid units are Ki, Mi, Gi. The value must be between 10Mi and 500Mi, inclusive. Note that the total container log size (container_log_max_size * container_log_max_files) cannot exceed 1% of the total storage of the node, to avoid disk pressure caused by log files. The default value is 10Mi if unspecified.", + "type": "string" + }, "cpuCfsQuota": { "description": "Enable CPU CFS quota enforcement for containers that specify CPU limits. This option is enabled by default which makes kubelet use CFS quota (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to enforce container CPU limits. Otherwise, CPU limits will not be enforced at all. Disable this option to mitigate CPU throttling problems while still having your pods to be in Guaranteed QoS class by specifying the CPU limits. The default value is 'true' if unspecified.", "type": "boolean" @@ -5806,6 +5874,24 @@ "description": "Control the CPU management policy on the node. See https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ The following values are allowed. * \"none\": the default, which represents the existing scheduling behavior. * \"static\": allows pods with certain resource characteristics to be granted increased CPU affinity and exclusivity on the node. The default value is 'none' if unspecified.", "type": "string" }, + "imageGcHighThresholdPercent": { + "description": "Optional. Defines the percent of disk usage after which image garbage collection is always run. The percent is calculated as this field value out of 100. The value must be between 10 and 85, inclusive and greater than image_gc_low_threshold_percent. The default value is 85 if unspecified.", + "format": "int32", + "type": "integer" + }, + "imageGcLowThresholdPercent": { + "description": "Optional. Defines the percent of disk usage before which image garbage collection is never run. Lowest disk usage to garbage collect to. The percent is calculated as this field value out of 100. The value must be between 10 and 85, inclusive and smaller than image_gc_high_threshold_percent. The default value is 80 if unspecified.", + "format": "int32", + "type": "integer" + }, + "imageMaximumGcAge": { + "description": "Optional. Defines the maximum age an image can be unused before it is garbage collected. The string must be a sequence of decimal numbers, each with optional fraction and a unit suffix, such as \"300s\", \"1.5h\", and \"2h45m\". Valid time units are \"ns\", \"us\" (or \"µs\"), \"ms\", \"s\", \"m\", \"h\". The value must be a positive duration greater than image_minimum_gc_age or \"0s\". The default value is \"0s\" if unspecified, which disables this field, meaning images won't be garbage collected based on being unused for too long.", + "type": "string" + }, + "imageMinimumGcAge": { + "description": "Optional. Defines the minimum age for an unused image before it is garbage collected. The string must be a sequence of decimal numbers, each with optional fraction and a unit suffix, such as \"300s\", \"1.5h\", and \"2h45m\". Valid time units are \"ns\", \"us\" (or \"µs\"), \"ms\", \"s\", \"m\", \"h\". The value must be a positive duration less than or equal to 2 minutes. The default value is \"2m0s\" if unspecified.", + "type": "string" + }, "insecureKubeletReadonlyPortEnabled": { "description": "Enable or disable Kubelet read only port.", "type": "boolean" @@ -5906,6 +5992,10 @@ "description": "NodePool contains the name and configuration for a cluster's node pool. Node pools are a set of nodes (i.e. VM's), with a common configuration and specification, under the control of the cluster master. They may have a set of Kubernetes labels applied to them, which may be used to reference them during pod scheduling. They may also be resized up or down, to accommodate the workload.", "id": "NodePool", "properties": { + "autopilotConfig": { + "$ref": "AutopilotConfig", + "description": "Specifies the autopilot configuration for this node pool. This field is exclusively reserved for Cluster Autoscaler to implement go/gke-managed-nodes-ccc-api" + }, "autoscaling": { "$ref": "NodePoolAutoscaling", "description": "Autoscaler configuration for this NodePool. Autoscaler is enabled only if a valid configuration is present." @@ -7667,7 +7757,8 @@ "GCE_QUOTA_EXCEEDED", "SET_BY_OPERATOR", "CLOUD_KMS_KEY_ERROR", - "CA_EXPIRING" + "CA_EXPIRING", + "NODE_SERVICE_ACCOUNT_MISSING_PERMISSIONS" ], "enumDescriptions": [ "UNKNOWN indicates a generic condition.", @@ -7676,7 +7767,8 @@ "Google Compute Engine quota was exceeded.", "Cluster state was manually changed by an SRE due to a system logic error.", "Unable to perform an encrypt operation against the CloudKMS key used for etcd level encryption.", - "Cluster CA is expiring soon." + "Cluster CA is expiring soon.", + "Node service account is missing permissions." ], "type": "string" }, @@ -8025,6 +8117,25 @@ "format": "google-datetime", "type": "string" }, + "eventType": { + "description": "The type of the event.", + "enum": [ + "EVENT_TYPE_UNSPECIFIED", + "END_OF_SUPPORT", + "COS_MILESTONE_VERSION_UPDATE" + ], + "enumDescriptions": [ + "EVENT_TYPE_UNSPECIFIED indicates the event type is unspecified.", + "END_OF_SUPPORT indicates GKE version reaches end of support, check standard_support_end_time and extended_support_end_time for more details.", + "COS_MILESTONE_VERSION_UPDATE indicates that the COS node image will update COS milestone version for new patch versions starting with the one in the description." + ], + "type": "string" + }, + "extendedSupportEndTime": { + "description": "The end of extended support timestamp.", + "format": "google-datetime", + "type": "string" + }, "operation": { "description": "The operation associated with this upgrade.", "type": "string" @@ -8047,6 +8158,11 @@ ], "type": "string" }, + "standardSupportEndTime": { + "description": "The end of standard support timestamp.", + "format": "google-datetime", + "type": "string" + }, "startTime": { "description": "The time when the operation was started.", "format": "google-datetime", @@ -8303,6 +8419,10 @@ "allowNetAdmin": { "description": "If true, workloads can use NET_ADMIN capability.", "type": "boolean" + }, + "autopilotCompatibilityAuditingEnabled": { + "description": "If true, enables the GCW Auditor that audits workloads on standard clusters.", + "type": "boolean" } }, "type": "object" diff --git a/discovery/googleapis/containeranalysis__v1.json b/discovery/googleapis/containeranalysis__v1.json index be50fb87d..3e71f737b 100644 --- a/discovery/googleapis/containeranalysis__v1.json +++ b/discovery/googleapis/containeranalysis__v1.json @@ -212,7 +212,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20240924", + "revision": "20250207", "rootUrl": "https://containeranalysis.googleapis.com/", "servicePath": "", "title": "Container Analysis API", @@ -2760,6 +2760,13 @@ "description": "Artifacts produced by a build that should be uploaded upon successful completion of all build steps.", "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts", "properties": { + "goModules": { + "description": "Optional. A list of Go modules to be uploaded to Artifact Registry upon successful completion of all build steps. If any objects fail to be pushed, the build is marked FAILURE.", + "items": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsGoModule" + }, + "type": "array" + }, "images": { "description": "A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account's credentials. The digests of the pushed images will be stored in the Build resource's results field. If any of the images fail to be pushed, the build is marked FAILURE.", "items": { @@ -2818,6 +2825,37 @@ }, "type": "object" }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsGoModule": { + "description": "Go module to upload to Artifact Registry upon successful completion of all build steps. A module refers to all dependencies in a go.mod file.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsGoModule", + "properties": { + "modulePath": { + "description": "Optional. The Go module's \"module path\". e.g. example.com/foo/v2", + "type": "string" + }, + "moduleVersion": { + "description": "Optional. The Go module's semantic version in the form vX.Y.Z. e.g. v0.1.1 Pre-release identifiers can also be added by appending a dash and dot separated ASCII alphanumeric characters and hyphens. e.g. v0.2.3-alpha.x.12m.5", + "type": "string" + }, + "repositoryLocation": { + "description": "Optional. Location of the Artifact Registry repository. i.e. us-east1 Defaults to the build’s location.", + "type": "string" + }, + "repositoryName": { + "description": "Optional. Artifact Registry repository name. Specified Go modules will be zipped and uploaded to Artifact Registry with this location as a prefix. e.g. my-go-repo", + "type": "string" + }, + "repositoryProjectId": { + "description": "Optional. Project ID of the Artifact Registry repository. Defaults to the build project.", + "type": "string" + }, + "sourcePath": { + "description": "Optional. Source path of the go.mod file in the build's workspace. If not specified, this will default to the current directory. e.g. ~/code/go/mypackage", + "type": "string" + } + }, + "type": "object" + }, "ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact": { "description": "A Maven artifact to upload to Artifact Registry upon successful completion of all build steps.", "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact", @@ -2906,6 +2944,13 @@ "readOnly": true, "type": "string" }, + "dependencies": { + "description": "Optional. Dependencies that the Cloud Build worker will fetch before executing user steps.", + "items": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1Dependency" + }, + "type": "array" + }, "failureInfo": { "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo", "description": "Output only. Contains information about the build when status=FAILURE.", @@ -3171,6 +3216,10 @@ "description": "Option to specify whether or not to apply bash style string operations to the substitutions. NOTE: this is always enabled for triggered builds and cannot be overridden in the build configuration file.", "type": "boolean" }, + "enableStructuredLogging": { + "description": "Optional. Option to specify whether structured logging is enabled. If true, JSON-formatted logs are parsed as structured logs.", + "type": "boolean" + }, "env": { "description": "A list of global environment variable definitions that will exist for all build steps in this build. If a variable is defined in both globally and in a build step, the variable will use the build step value. The elements are of the form \"KEY=VALUE\" for the environment variable \"KEY\" being given the value \"VALUE\".", "items": { @@ -3252,6 +3301,10 @@ "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption", "description": "Optional. Specification for execution on a `WorkerPool`. See [running builds in a private pool](https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool) for more information." }, + "pubsubTopic": { + "description": "Optional. Option to specify the Pub/Sub topic to receive build status updates.", + "type": "string" + }, "requestedVerifyOption": { "description": "Requested verifiability options.", "enum": [ @@ -3278,12 +3331,14 @@ "NONE", "SHA256", "MD5", + "GO_MODULE_H1", "SHA512" ], "enumDescriptions": [ "No hash requested.", "Use a sha256 hash.", "Use a md5 hash.", + "Dirhash of a Go module's source code which is then hex-encoded.", "Use a sha512 hash." ], "type": "string" @@ -3522,6 +3577,64 @@ }, "type": "object" }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Dependency": { + "description": "A dependency that the Cloud Build worker will fetch before executing user steps.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Dependency", + "properties": { + "empty": { + "description": "If set to true disable all dependency fetching (ignoring the default source as well).", + "type": "boolean" + }, + "gitSource": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1DependencyGitSourceDependency", + "description": "Represents a git repository as a build dependency." + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1DependencyGitSourceDependency": { + "description": "Represents a git repository as a build dependency.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1DependencyGitSourceDependency", + "properties": { + "depth": { + "description": "Optional. How much history should be fetched for the build (default 1, -1 for all history).", + "format": "int64", + "type": "string" + }, + "destPath": { + "description": "Required. Where should the files be placed on the worker.", + "type": "string" + }, + "recurseSubmodules": { + "description": "Optional. True if submodules should be fetched too (default false).", + "type": "boolean" + }, + "repository": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1DependencyGitSourceRepository", + "description": "Required. The kind of repo (url or dev connect)." + }, + "revision": { + "description": "Required. The revision that we will fetch the repo at.", + "type": "string" + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1DependencyGitSourceRepository": { + "description": "A repository for a git source.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1DependencyGitSourceRepository", + "properties": { + "developerConnect": { + "description": "The Developer Connect Git repository link or the url that matches a repository link in the current project, formatted as `projects/*/locations/*/connections/*/gitRepositoryLink/*`", + "type": "string" + }, + "url": { + "description": "Location of the Git repository.", + "type": "string" + } + }, + "type": "object" + }, "ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig": { "description": "This config defines the location of a source through Developer Connect.", "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig", @@ -3606,12 +3719,14 @@ "NONE", "SHA256", "MD5", + "GO_MODULE_H1", "SHA512" ], "enumDescriptions": [ "No hash requested.", "Use a sha256 hash.", "Use a md5 hash.", + "Dirhash of a Go module's source code which is then hex-encoded.", "Use a sha512 hash." ], "type": "string" @@ -3712,6 +3827,13 @@ }, "type": "array" }, + "goModules": { + "description": "Optional. Go module artifacts uploaded to Artifact Registry at the end of the build.", + "items": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedGoModule" + }, + "type": "array" + }, "images": { "description": "Container images that were built as a part of the build.", "items": { @@ -3942,6 +4064,26 @@ }, "type": "object" }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedGoModule": { + "description": "A Go module artifact uploaded to Artifact Registry using the GoModule directive.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedGoModule", + "properties": { + "fileHashes": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes", + "description": "Hash types and values of the Go Module Artifact." + }, + "pushTiming": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", + "description": "Output only. Stores timing information for pushing the specified artifact.", + "readOnly": true + }, + "uri": { + "description": "URI of the uploaded artifact.", + "type": "string" + } + }, + "type": "object" + }, "ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact": { "description": "A Maven artifact uploaded using the MavenArtifact directive.", "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact", @@ -4401,7 +4543,7 @@ "properties": { "cloudStorageLocation": { "$ref": "CloudStorageLocation", - "description": "Empty placeholder to denote that this is a Google Cloud Storage export request." + "description": "Optional. Empty placeholder to denote that this is a Google Cloud Storage export request." } }, "type": "object" diff --git a/discovery/googleapis/content__v2.1.json b/discovery/googleapis/content__v2.1.json index c36fbfcbf..7abc685ad 100644 --- a/discovery/googleapis/content__v2.1.json +++ b/discovery/googleapis/content__v2.1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241217", + "revision": "20250301", "rootUrl": "https://shoppingcontent.googleapis.com/", "servicePath": "content/v2.1/", "title": "Content API for Shopping", @@ -4945,6 +4945,10 @@ "description": "Details of the issue as a pre-rendered HTML. HTML elements contain CSS classes that can be used to customize the style of the content. Always sanitize the HTML before embedding it directly to your application. The sanitizer needs to allow basic HTML tags, such as: `div`, `span`, `p`, `a`, `ul`, `li`, `table`, `tr`, `td`. For example, you can use [DOMPurify](https://www.npmjs.com/package/dompurify). CSS classes: * `issue-detail` - top level container for the detail of the issue * `callout-banners` - section of the `issue-detail` with callout banners * `callout-banner` - single callout banner, inside `callout-banners` * `callout-banner-info` - callout with important information (default) * `callout-banner-warning` - callout with a warning * `callout-banner-error` - callout informing about an error (most severe) * `issue-content` - section of the `issue-detail`, contains multiple `content-element` * `content-element` - content element such as a list, link or paragraph, inside `issue-content` * `root-causes` - unordered list with items describing root causes of the issue, inside `issue-content` * `root-causes-intro` - intro text before the `root-causes` list, inside `issue-content` * `segment` - section of the text, `span` inside paragraph * `segment-attribute` - section of the text that represents a product attribute, for example 'image\\_link' * `segment-literal` - section of the text that contains a special value, for example '0-1000 kg' * `segment-bold` - section of the text that should be rendered as bold * `segment-italic` - section of the text that should be rendered as italic * `tooltip` - used on paragraphs that should be rendered with a tooltip. A section of the text in such a paragraph will have a class `tooltip-text` and is intended to be shown in a mouse over dialog. If the style is not used, the `tooltip-text` section would be shown on a new line, after the main part of the text. * `tooltip-text` - marks a section of the text within a `tooltip`, that is intended to be shown in a mouse over dialog. * `tooltip-icon` - marks a section of the text within a `tooltip`, that can be replaced with a tooltip icon, for example '?' or 'i'. By default, this section contains a `br` tag, that is separating the main text and the tooltip text when the style is not used. * `tooltip-style-question` - the tooltip shows helpful information, can use the '?' as an icon. * `tooltip-style-info` - the tooltip adds additional information fitting to the context, can use the 'i' as an icon. * `content-moderation` - marks the paragraph that explains how the issue was identified. * `new-element` - Present for new elements added to the pre-rendered content in the future. To make sure that a new content element does not break your style, you can hide everything with this class.", "type": "string" }, + "prerenderedOutOfCourtDisputeSettlement": { + "description": "Pre-rendered HTML that contains a link to the external location where the ODS can be requested and instructions for how to request it. HTML elements contain CSS classes that can be used to customize the style of this snippet. Always sanitize the HTML before embedding it directly to your application. The sanitizer needs to allow basic HTML tags, such as: `div`, `span`, `p`, `a`, `ul`, `li`, `table`, `tr`, `td`. For example, you can use [DOMPurify](https://www.npmjs.com/package/dompurify). CSS classes: * `ods-section`* - wrapper around the out-of-court dispute resolution section * `ods-description`* - intro text for the out-of-court dispute resolution. It may contain multiple segments and a link. * `ods-param`* - wrapper around the header-value pair for parameters that merchant may need to provide during the ODS process. * `ods-routing-id`* - ods param for the Routing ID. * `ods-reference-id`* - ods param for the Routing ID. * `ods-param-header`* - header for the ODS parameter * `ods-param-value`* - value of the ODS parameter. This value should be rendered in a way that it is easy for merchants to identify and copy. * `segment` - section of the text, `span` inside paragraph * `segment-attribute` - section of the text that represents a product attribute, for example 'image\\_link' * `segment-literal` - section of the text that contains a special value, for example '0-1000 kg' * `segment-bold` - section of the text that should be rendered as bold * `segment-italic` - section of the text that should be rendered as italic * `tooltip` - used on paragraphs that should be rendered with a tooltip. A section of the text in such a paragraph will have a class `tooltip-text` and is intended to be shown in a mouse over dialog. If the style is not used, the `tooltip-text` section would be shown on a new line, after the main part of the text. * `tooltip-text` - marks a section of the text within a `tooltip`, that is intended to be shown in a mouse over dialog. * `tooltip-icon` - marks a section of the text within a `tooltip`, that can be replaced with a tooltip icon, for example '?' or 'i'. By default, this section contains a `br` tag, that is separating the main text and the tooltip text when the style is not used. * `tooltip-style-question` - the tooltip shows helpful information, can use the '?' as an icon. * `tooltip-style-info` - the tooltip adds additional information fitting to the context, can use the 'i' as an icon.", + "type": "string" + }, "title": { "description": "Title of the issue.", "type": "string" @@ -6022,7 +6026,6 @@ "type": "integer" }, "attributionModel": { - "description": "Required. Attribution model.", "enum": [ "ATTRIBUTION_MODEL_UNSPECIFIED", "CROSS_CHANNEL_LAST_CLICK", @@ -10760,6 +10763,10 @@ "description": "Details of the issue as a pre-rendered HTML. HTML elements contain CSS classes that can be used to customize the style of the content. Always sanitize the HTML before embedding it directly to your application. The sanitizer needs to allow basic HTML tags, such as: `div`, `span`, `p`, `a`, `ul`, `li`, `table`, `tr`, `td`. For example, you can use [DOMPurify](https://www.npmjs.com/package/dompurify). CSS classes: * `issue-detail` - top level container for the detail of the issue * `callout-banners` - section of the `issue-detail` with callout banners * `callout-banner` - single callout banner, inside `callout-banners` * `callout-banner-info` - callout with important information (default) * `callout-banner-warning` - callout with a warning * `callout-banner-error` - callout informing about an error (most severe) * `issue-content` - section of the `issue-detail`, contains multiple `content-element` * `content-element` - content element such as a list, link or paragraph, inside `issue-content` * `root-causes` - unordered list with items describing root causes of the issue, inside `issue-content` * `root-causes-intro` - intro text before the `root-causes` list, inside `issue-content` * `segment` - section of the text, `span` inside paragraph * `segment-attribute` - section of the text that represents a product attribute, for example 'image\\_link' * `segment-literal` - section of the text that contains a special value, for example '0-1000 kg' * `segment-bold` - section of the text that should be rendered as bold * `segment-italic` - section of the text that should be rendered as italic * `tooltip` - used on paragraphs that should be rendered with a tooltip. A section of the text in such a paragraph will have a class `tooltip-text` and is intended to be shown in a mouse over dialog. If the style is not used, the `tooltip-text` section would be shown on a new line, after the main part of the text. * `tooltip-text` - marks a section of the text within a `tooltip`, that is intended to be shown in a mouse over dialog. * `tooltip-icon` - marks a section of the text within a `tooltip`, that can be replaced with a tooltip icon, for example '?' or 'i'. By default, this section contains a `br` tag, that is separating the main text and the tooltip text when the style is not used. * `tooltip-style-question` - the tooltip shows helpful information, can use the '?' as an icon. * `tooltip-style-info` - the tooltip adds additional information fitting to the context, can use the 'i' as an icon. * `content-moderation` - marks the paragraph that explains how the issue was identified. * `list-intro` - marks the paragraph that contains an intro for a list. This paragraph will be always followed by a list. * `new-element` - Present for new elements added to the pre-rendered content in the future. To make sure that a new content element does not break your style, you can hide everything with this class.", "type": "string" }, + "prerenderedOutOfCourtDisputeSettlement": { + "description": "Pre-rendered HTML that contains a link to the external location where the ODS can be requested and instructions for how to request it. HTML elements contain CSS classes that can be used to customize the style of this snippet. Always sanitize the HTML before embedding it directly to your application. The sanitizer needs to allow basic HTML tags, such as: `div`, `span`, `p`, `a`, `ul`, `li`, `table`, `tr`, `td`. For example, you can use [DOMPurify](https://www.npmjs.com/package/dompurify). CSS classes: * `ods-section`* - wrapper around the out-of-court dispute resolution section * `ods-description`* - intro text for the out-of-court dispute resolution. It may contain multiple segments and a link. * `ods-param`* - wrapper around the header-value pair for parameters that merchant may need to provide during the ODS process. * `ods-routing-id`* - ods param for the Routing ID. * `ods-reference-id`* - ods param for the Routing ID. * `ods-param-header`* - header for the ODS parameter * `ods-param-value`* - value of the ODS parameter. This value should be rendered in a way that it is easy for merchants to identify and copy. * `segment` - section of the text, `span` inside paragraph * `segment-attribute` - section of the text that represents a product attribute, for example 'image\\_link' * `segment-literal` - section of the text that contains a special value, for example '0-1000 kg' * `segment-bold` - section of the text that should be rendered as bold * `segment-italic` - section of the text that should be rendered as italic * `tooltip` - used on paragraphs that should be rendered with a tooltip. A section of the text in such a paragraph will have a class `tooltip-text` and is intended to be shown in a mouse over dialog. If the style is not used, the `tooltip-text` section would be shown on a new line, after the main part of the text. * `tooltip-text` - marks a section of the text within a `tooltip`, that is intended to be shown in a mouse over dialog. * `tooltip-icon` - marks a section of the text within a `tooltip`, that can be replaced with a tooltip icon, for example '?' or 'i'. By default, this section contains a `br` tag, that is separating the main text and the tooltip text when the style is not used. * `tooltip-style-question` - the tooltip shows helpful information, can use the '?' as an icon. * `tooltip-style-info` - the tooltip adds additional information fitting to the context, can use the 'i' as an icon.", + "type": "string" + }, "title": { "description": "Title of the issue.", "type": "string" @@ -12494,7 +12501,8 @@ "properties": { "alternateDisputeResolution": { "$ref": "AlternateDisputeResolution", - "description": "The Alternate Dispute Resolution (ADR) contains a link to a page where merchant can bring their appeal to an [external body](https://support.google.com/european-union-digital-services-act-redress-options/answer/13535501). If the ADR is present, it MUST be available to the merchant on the page that shows the list with their account issues." + "deprecated": true, + "description": "Alternate Dispute Resolution (ADR) is deprecated. Use `prerendered_out_of_court_dispute_settlement` instead." }, "issues": { "description": "List of account issues for a given account. This list can be shown with compressed, expandable items. In the compressed form, the title and impact should be shown for each issue. Once the issue is expanded, the detailed content and available actions should be rendered.", @@ -12545,7 +12553,8 @@ "properties": { "alternateDisputeResolution": { "$ref": "AlternateDisputeResolution", - "description": "The Alternate Dispute Resolution (ADR) contains a link to a page where merchant can bring their appeal to an [external body](https://support.google.com/european-union-digital-services-act-redress-options/answer/13535501). If present, the link should be shown on the same page as the list of issues." + "deprecated": true, + "description": "Alternate Dispute Resolution (ADR) is deprecated. Use `prerendered_out_of_court_dispute_settlement` instead." }, "issues": { "description": "List of issues for a given product. This list can be shown with compressed, expandable items. In the compressed form, the title and impact should be shown for each issue. Once the issue is expanded, the detailed content and available actions should be rendered.", @@ -12947,7 +12956,7 @@ "id": "ReturnPolicyOnlineReturnReasonCategoryInfo", "properties": { "returnLabelSource": { - "description": "The corresponding return label source.", + "description": "The corresponding return label source. If the `ReturnMethod` field includes `BY_MAIL`, it is required to specify `ReturnLabelSource` for both `BUYER_REMORSE` and `ITEM_DEFECT` return reason categories.", "enum": [ "RETURN_LABEL_SOURCE_UNSPECIFIED", "DOWNLOAD_AND_PRINT", diff --git a/discovery/googleapis/css__v1.json b/discovery/googleapis/css__v1.json index 6b21a9c27..95e4c086c 100644 --- a/discovery/googleapis/css__v1.json +++ b/discovery/googleapis/css__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241217", + "revision": "20250219", "rootUrl": "https://css.googleapis.com/", "servicePath": "", "title": "CSS API", @@ -230,7 +230,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the CSS product input resource to delete. Format: accounts/{account}/cssProductInputs/{css_product_input}", + "description": "Required. The name of the CSS product input resource to delete. Format: accounts/{account}/cssProductInputs/{css_product_input}, where the last section `css_product_input` consists of 3 parts: contentLanguage~feedLabel~offerId. Example: accounts/123/cssProductInputs/de~DE~rawProvidedId123", "location": "path", "pattern": "^accounts/[^/]+/cssProductInputs/[^/]+$", "required": true, @@ -262,7 +262,7 @@ "parameters": { "feedId": { "deprecated": true, - "description": "Optional. The primary or supplemental feed id. If CSS Product already exists and feed id provided is different, then the CSS Product will be moved to a new feed. Note: For now, CSSs do not need to provide feed ids as we create feeds on the fly. We do not have supplemental feed support for CSS Products yet.", + "description": "Optional. DEPRECATED. Feed id is not required for CSS Products. The primary or supplemental feed id. If CSS Product already exists and feed id provided is different, then the CSS Product will be moved to a new feed. Note: For now, CSSs do not need to provide feed ids as we create feeds on the fly. We do not have supplemental feed support for CSS Products yet.", "format": "int64", "location": "query", "type": "string" @@ -296,7 +296,7 @@ ], "parameters": { "name": { - "description": "The name of the CSS Product input. Format: `accounts/{account}/cssProductInputs/{css_product_input}`", + "description": "The name of the CSS Product input. Format: `accounts/{account}/cssProductInputs/{css_product_input}`, where the last section `css_product_input` consists of 3 parts: contentLanguage~feedLabel~offerId. Example: accounts/123/cssProductInputs/de~DE~rawProvidedId123", "location": "path", "pattern": "^accounts/[^/]+/cssProductInputs/[^/]+$", "required": true, @@ -578,7 +578,7 @@ "type": "string" }, "parent": { - "description": "The CSS/MC account's parent resource. CSS group for CSS domains; CSS domain for MC accounts. Returned only if the user has access to the parent account.", + "description": "The CSS/MC account's parent resource. CSS group for CSS domains; CSS domain for MC accounts. Returned only if the user has access to the parent account. Note: For MC sub-accounts, this is also the CSS domain that is the parent resource of the MCA account, since we are effectively flattening the hierarchy.\"", "type": "string" } }, @@ -957,12 +957,12 @@ }, "freshnessTime": { "deprecated": true, - "description": "Represents the existing version (freshness) of the CSS Product, which can be used to preserve the right order when multiple updates are done at the same time. This field must not be set to the future time. If set, the update is prevented if a newer version of the item already exists in our system (that is the last update time of the existing CSS products is later than the freshness time set in the update). If the update happens, the last update time is then set to this freshness time. If not set, the update will not be prevented and the last update time will default to when this request was received by the CSS API. If the operation is prevented, the aborted exception will be thrown.", + "description": "DEPRECATED. Use expiration_date instead. Represents the existing version (freshness) of the CSS Product, which can be used to preserve the right order when multiple updates are done at the same time. This field must not be set to the future time. If set, the update is prevented if a newer version of the item already exists in our system (that is the last update time of the existing CSS products is later than the freshness time set in the update). If the update happens, the last update time is then set to this freshness time. If not set, the update will not be prevented and the last update time will default to when this request was received by the CSS API. If the operation is prevented, the aborted exception will be thrown.", "format": "google-datetime", "type": "string" }, "name": { - "description": "The name of the CSS Product input. Format: `accounts/{account}/cssProductInputs/{css_product_input}`", + "description": "The name of the CSS Product input. Format: `accounts/{account}/cssProductInputs/{css_product_input}`, where the last section `css_product_input` consists of 3 parts: contentLanguage~feedLabel~offerId. Example: accounts/123/cssProductInputs/de~DE~rawProvidedId123", "type": "string" }, "rawProvidedId": { diff --git a/discovery/googleapis/datacatalog__v1.json b/discovery/googleapis/datacatalog__v1.json index 7489a533b..ca384b2e2 100644 --- a/discovery/googleapis/datacatalog__v1.json +++ b/discovery/googleapis/datacatalog__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241202", + "revision": "20250212", "rootUrl": "https://datacatalog.googleapis.com/", "servicePath": "", "title": "Google Cloud Data Catalog API", @@ -110,8 +110,10 @@ }, "resources": { "catalog": { + "deprecated": true, "methods": { "search": { + "deprecated": true, "description": "Searches Data Catalog for multiple resources like entries and tags that match a query. This is a [Custom Method] (https://cloud.google.com/apis/design/custom_methods) that doesn't return all information on a resource, only its ID and high level fields. To get more information, you can subsequently call specific get methods. Note: Data Catalog search queries don't guarantee full recall. Results that match your query might not be returned, even in subsequent result pages. Additionally, returned (and not returned) results can vary if you repeat search queries. For more information, see [Data Catalog search syntax] (https://cloud.google.com/data-catalog/docs/how-to/search-reference).", "flatPath": "v1/catalog:search", "httpMethod": "POST", @@ -132,8 +134,10 @@ } }, "entries": { + "deprecated": true, "methods": { "lookup": { + "deprecated": true, "description": "Gets an entry by its target resource name. The resource name comes from the source Google Cloud Platform service.", "flatPath": "v1/entries:lookup", "httpMethod": "GET", @@ -179,8 +183,10 @@ "organizations": { "resources": { "locations": { + "deprecated": true, "methods": { "retrieveConfig": { + "deprecated": true, "description": "Retrieves the configuration related to the migration from Data Catalog to Dataplex for a specific organization, including all the projects under it which have a separate configuration set.", "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}:retrieveConfig", "httpMethod": "GET", @@ -206,6 +212,7 @@ ] }, "retrieveEffectiveConfig": { + "deprecated": true, "description": "Retrieves the effective configuration related to the migration from Data Catalog to Dataplex for a specific organization or project. If there is no specific configuration set for the resource, the setting is checked hierarchicahlly through the ancestors of the resource, starting from the resource itself.", "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}:retrieveEffectiveConfig", "httpMethod": "GET", @@ -231,6 +238,7 @@ ] }, "setConfig": { + "deprecated": true, "description": "Sets the configuration related to the migration to Dataplex for an organization or project.", "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}:setConfig", "httpMethod": "POST", @@ -267,6 +275,7 @@ "locations": { "methods": { "retrieveEffectiveConfig": { + "deprecated": true, "description": "Retrieves the effective configuration related to the migration from Data Catalog to Dataplex for a specific organization or project. If there is no specific configuration set for the resource, the setting is checked hierarchicahlly through the ancestors of the resource, starting from the resource itself.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:retrieveEffectiveConfig", "httpMethod": "GET", @@ -292,6 +301,7 @@ ] }, "setConfig": { + "deprecated": true, "description": "Sets the configuration related to the migration to Dataplex for an organization or project.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:setConfig", "httpMethod": "POST", @@ -324,6 +334,7 @@ "entryGroups": { "methods": { "create": { + "deprecated": true, "description": "Creates an entry group. An entry group contains logically related entries together with [Cloud Identity and Access Management](/data-catalog/docs/concepts/iam) policies. These policies specify users who can create, edit, and view entries within entry groups. Data Catalog automatically creates entry groups with names that start with the `@` symbol for the following resources: * BigQuery entries (`@bigquery`) * Pub/Sub topics (`@pubsub`) * Dataproc Metastore services (`@dataproc_metastore_{SERVICE_NAME_HASH}`) You can create your own entry groups for Cloud Storage fileset entries and custom entries together with the corresponding IAM policies. User-created entry groups can't contain the `@` symbol, it is reserved for automatically created groups. Entry groups, like entries, can be searched. A maximum of 10,000 entry groups may be created per organization across all locations. You must enable the Data Catalog API in the project identified by the `parent` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups", "httpMethod": "POST", @@ -357,6 +368,7 @@ ] }, "delete": { + "deprecated": true, "description": "Deletes an entry group. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}", "httpMethod": "DELETE", @@ -387,6 +399,7 @@ ] }, "get": { + "deprecated": true, "description": "Gets an entry group.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}", "httpMethod": "GET", @@ -418,6 +431,7 @@ ] }, "getIamPolicy": { + "deprecated": true, "description": "Gets the access control policy for a resource. May return: * A`NOT_FOUND` error if the resource doesn't exist or you don't have the permission to view it. * An empty policy if the resource exists but doesn't have a set policy. Supported resources are: - Tag templates - Entry groups Note: This method doesn't get policies from Google Cloud Platform resources ingested into Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:getIamPolicy", "httpMethod": "POST", @@ -446,6 +460,7 @@ ] }, "list": { + "deprecated": true, "description": "Lists entry groups.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups", "httpMethod": "GET", @@ -482,6 +497,7 @@ ] }, "patch": { + "deprecated": true, "description": "Updates an entry group. You must enable the Data Catalog API in the project identified by the `entry_group.name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}", "httpMethod": "PATCH", @@ -516,6 +532,7 @@ ] }, "setIamPolicy": { + "deprecated": true, "description": "Sets an access control policy for a resource. Replaces any existing policy. Supported resources are: - Tag templates - Entry groups Note: This method sets policies only within Data Catalog and can't be used to manage policies in BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources synced with the Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag templates. - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:setIamPolicy", "httpMethod": "POST", @@ -544,6 +561,7 @@ ] }, "testIamPermissions": { + "deprecated": true, "description": "Gets your permissions on a resource. Returns an empty set of permissions if the resource doesn't exist. Supported resources are: - Tag templates - Entry groups Note: This method gets policies only within Data Catalog and can't be used to get policies from BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources ingested into Data Catalog. No Google IAM permissions are required to call this method.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:testIamPermissions", "httpMethod": "POST", @@ -576,6 +594,7 @@ "entries": { "methods": { "create": { + "deprecated": true, "description": "Creates an entry. You can create entries only with 'FILESET', 'CLUSTER', 'DATA_STREAM', or custom types. Data Catalog automatically creates entries with other types during metadata ingestion from integrated systems. You must enable the Data Catalog API in the project identified by the `parent` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project). An entry group can have a maximum of 100,000 entries.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries", "httpMethod": "POST", @@ -609,6 +628,7 @@ ] }, "delete": { + "deprecated": true, "description": "Deletes an existing entry. You can delete only the entries created by the CreateEntry method. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}", "httpMethod": "DELETE", @@ -634,6 +654,7 @@ ] }, "get": { + "deprecated": true, "description": "Gets an entry.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}", "httpMethod": "GET", @@ -659,6 +680,7 @@ ] }, "getIamPolicy": { + "deprecated": true, "description": "Gets the access control policy for a resource. May return: * A`NOT_FOUND` error if the resource doesn't exist or you don't have the permission to view it. * An empty policy if the resource exists but doesn't have a set policy. Supported resources are: - Tag templates - Entry groups Note: This method doesn't get policies from Google Cloud Platform resources ingested into Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:getIamPolicy", "httpMethod": "POST", @@ -687,6 +709,7 @@ ] }, "import": { + "deprecated": true, "description": "Imports entries from a source, such as data previously dumped into a Cloud Storage bucket, into Data Catalog. Import of entries is a sync operation that reconciles the state of the third-party system with the Data Catalog. `ImportEntries` accepts source data snapshots of a third-party system. Snapshot should be delivered as a .wire or base65-encoded .txt file containing a sequence of Protocol Buffer messages of DumpItem type. `ImportEntries` returns a long-running operation resource that can be queried with Operations.GetOperation to return ImportEntriesMetadata and an ImportEntriesResponse message.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries:import", "httpMethod": "POST", @@ -715,6 +738,7 @@ ] }, "list": { + "deprecated": true, "description": "Lists entries. Note: Currently, this method can list only custom entries. To get a list of both custom and automatically created entries, use SearchCatalog.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries", "httpMethod": "GET", @@ -757,6 +781,7 @@ ] }, "modifyEntryContacts": { + "deprecated": true, "description": "Modifies contacts, part of the business context of an Entry. To call this method, you must have the `datacatalog.entries.updateContacts` IAM permission on the corresponding project.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:modifyEntryContacts", "httpMethod": "POST", @@ -785,6 +810,7 @@ ] }, "modifyEntryOverview": { + "deprecated": true, "description": "Modifies entry overview, part of the business context of an Entry. To call this method, you must have the `datacatalog.entries.updateOverview` IAM permission on the corresponding project.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:modifyEntryOverview", "httpMethod": "POST", @@ -813,6 +839,7 @@ ] }, "patch": { + "deprecated": true, "description": "Updates an existing entry. You must enable the Data Catalog API in the project identified by the `entry.name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}", "httpMethod": "PATCH", @@ -847,6 +874,7 @@ ] }, "star": { + "deprecated": true, "description": "Marks an Entry as starred by the current user. Starring information is private to each user.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:star", "httpMethod": "POST", @@ -875,6 +903,7 @@ ] }, "testIamPermissions": { + "deprecated": true, "description": "Gets your permissions on a resource. Returns an empty set of permissions if the resource doesn't exist. Supported resources are: - Tag templates - Entry groups Note: This method gets policies only within Data Catalog and can't be used to get policies from BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources ingested into Data Catalog. No Google IAM permissions are required to call this method.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:testIamPermissions", "httpMethod": "POST", @@ -903,6 +932,7 @@ ] }, "unstar": { + "deprecated": true, "description": "Marks an Entry as NOT starred by the current user. Starring information is private to each user.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:unstar", "httpMethod": "POST", @@ -933,8 +963,10 @@ }, "resources": { "tags": { + "deprecated": true, "methods": { "create": { + "deprecated": true, "description": "Creates a tag and assigns it to: * An Entry if the method name is `projects.locations.entryGroups.entries.tags.create`. * Or EntryGroupif the method name is `projects.locations.entryGroups.tags.create`. Note: The project identified by the `parent` parameter for the [tag] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be in the same organization.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags", "httpMethod": "POST", @@ -963,6 +995,7 @@ ] }, "delete": { + "deprecated": true, "description": "Deletes a tag.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags/{tagsId}", "httpMethod": "DELETE", @@ -988,6 +1021,7 @@ ] }, "list": { + "deprecated": true, "description": "Lists tags assigned to an Entry. The columns in the response are lowercased.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags", "httpMethod": "GET", @@ -1024,6 +1058,7 @@ ] }, "patch": { + "deprecated": true, "description": "Updates an existing tag.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags/{tagsId}", "httpMethod": "PATCH", @@ -1058,6 +1093,7 @@ ] }, "reconcile": { + "deprecated": true, "description": "`ReconcileTags` creates or updates a list of tags on the entry. If the ReconcileTagsRequest.force_delete_missing parameter is set, the operation deletes tags not included in the input tag list. `ReconcileTags` returns a long-running operation resource that can be queried with Operations.GetOperation to return ReconcileTagsMetadata and a ReconcileTagsResponse message.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags:reconcile", "httpMethod": "POST", @@ -1090,8 +1126,10 @@ } }, "tags": { + "deprecated": true, "methods": { "create": { + "deprecated": true, "description": "Creates a tag and assigns it to: * An Entry if the method name is `projects.locations.entryGroups.entries.tags.create`. * Or EntryGroupif the method name is `projects.locations.entryGroups.tags.create`. Note: The project identified by the `parent` parameter for the [tag] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be in the same organization.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags", "httpMethod": "POST", @@ -1120,6 +1158,7 @@ ] }, "delete": { + "deprecated": true, "description": "Deletes a tag.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags/{tagsId}", "httpMethod": "DELETE", @@ -1145,6 +1184,7 @@ ] }, "list": { + "deprecated": true, "description": "Lists tags assigned to an Entry. The columns in the response are lowercased.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags", "httpMethod": "GET", @@ -1181,6 +1221,7 @@ ] }, "patch": { + "deprecated": true, "description": "Updates an existing tag.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags/{tagsId}", "httpMethod": "PATCH", @@ -1341,6 +1382,7 @@ "tagTemplates": { "methods": { "create": { + "deprecated": true, "description": "Creates a tag template. You must enable the Data Catalog API in the project identified by the `parent` parameter. For more information, see [Data Catalog resource project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates", "httpMethod": "POST", @@ -1374,6 +1416,7 @@ ] }, "delete": { + "deprecated": true, "description": "Deletes a tag template and all tags that use it. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}", "httpMethod": "DELETE", @@ -1404,6 +1447,7 @@ ] }, "get": { + "deprecated": true, "description": "Gets a tag template.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}", "httpMethod": "GET", @@ -1429,6 +1473,7 @@ ] }, "getIamPolicy": { + "deprecated": true, "description": "Gets the access control policy for a resource. May return: * A`NOT_FOUND` error if the resource doesn't exist or you don't have the permission to view it. * An empty policy if the resource exists but doesn't have a set policy. Supported resources are: - Tag templates - Entry groups Note: This method doesn't get policies from Google Cloud Platform resources ingested into Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:getIamPolicy", "httpMethod": "POST", @@ -1457,6 +1502,7 @@ ] }, "patch": { + "deprecated": true, "description": "Updates a tag template. You can't update template fields with this method. These fields are separate resources with their own create, update, and delete methods. You must enable the Data Catalog API in the project identified by the `tag_template.name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}", "httpMethod": "PATCH", @@ -1491,6 +1537,7 @@ ] }, "setIamPolicy": { + "deprecated": true, "description": "Sets an access control policy for a resource. Replaces any existing policy. Supported resources are: - Tag templates - Entry groups Note: This method sets policies only within Data Catalog and can't be used to manage policies in BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources synced with the Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag templates. - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:setIamPolicy", "httpMethod": "POST", @@ -1519,6 +1566,7 @@ ] }, "testIamPermissions": { + "deprecated": true, "description": "Gets your permissions on a resource. Returns an empty set of permissions if the resource doesn't exist. Supported resources are: - Tag templates - Entry groups Note: This method gets policies only within Data Catalog and can't be used to get policies from BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources ingested into Data Catalog. No Google IAM permissions are required to call this method.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:testIamPermissions", "httpMethod": "POST", @@ -1551,6 +1599,7 @@ "fields": { "methods": { "create": { + "deprecated": true, "description": "Creates a field in a tag template. You must enable the Data Catalog API in the project identified by the `parent` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields", "httpMethod": "POST", @@ -1584,6 +1633,7 @@ ] }, "delete": { + "deprecated": true, "description": "Deletes a field in a tag template and all uses of this field from the tags based on this template. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}", "httpMethod": "DELETE", @@ -1614,6 +1664,7 @@ ] }, "patch": { + "deprecated": true, "description": "Updates a field in a tag template. You can't update the field type with this method. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}", "httpMethod": "PATCH", @@ -1648,6 +1699,7 @@ ] }, "rename": { + "deprecated": true, "description": "Renames a field in a tag template. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}:rename", "httpMethod": "POST", @@ -1678,8 +1730,10 @@ }, "resources": { "enumValues": { + "deprecated": true, "methods": { "rename": { + "deprecated": true, "description": "Renames an enum value in a tag template. Within a single enum field, enum values must be unique.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}/enumValues/{enumValuesId}:rename", "httpMethod": "POST", @@ -2767,7 +2821,7 @@ "properties": { "databaseViewSpec": { "$ref": "GoogleCloudDatacatalogV1DatabaseTableSpecDatabaseViewSpec", - "description": "Spec what aplies to tables that are actually views. Not set for \"real\" tables." + "description": "Spec what applies to tables that are actually views. Not set for \"real\" tables." }, "dataplexTable": { "$ref": "GoogleCloudDatacatalogV1DataplexTableSpec", @@ -3205,7 +3259,7 @@ "id": "GoogleCloudDatacatalogV1FeatureOnlineStoreSpec", "properties": { "storageType": { - "description": "Output only. Type of underelaying storage for the FeatureOnlineStore.", + "description": "Output only. Type of underlying storage for the FeatureOnlineStore.", "enum": [ "STORAGE_TYPE_UNSPECIFIED", "BIGTABLE", @@ -3214,7 +3268,7 @@ "enumDescriptions": [ "Should not be used.", "Underlsying storgae is Bigtable.", - "Underlaying is optimized online server (Lightning)." + "Underlying is optimized online server (Lightning)." ], "readOnly": true, "type": "string" diff --git a/discovery/googleapis/datafusion__v1.json b/discovery/googleapis/datafusion__v1.json index 3602317f4..c8cd2f5f7 100644 --- a/discovery/googleapis/datafusion__v1.json +++ b/discovery/googleapis/datafusion__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241204", + "revision": "20250224", "rootUrl": "https://datafusion.googleapis.com/", "servicePath": "", "title": "Cloud Data Fusion API", @@ -1009,7 +1009,7 @@ "type": "boolean" }, "enableStackdriverLogging": { - "description": "Optional. Option to enable Stackdriver Logging.", + "description": "Optional. Option to enable Dataproc Stackdriver Logging.", "type": "boolean" }, "enableStackdriverMonitoring": { @@ -1037,6 +1037,18 @@ "description": "The resource labels for instance to use to annotate any related underlying resources such as Compute Engine VMs. The character '=' is not allowed to be used within the labels.", "type": "object" }, + "loggingConfig": { + "$ref": "LoggingConfig", + "description": "Optional. The logging configuration for this instance. This field is supported only in CDF versions 6.11.0 and above." + }, + "maintenanceEvents": { + "description": "Output only. The maintenance events for this instance.", + "items": { + "$ref": "MaintenanceEvent" + }, + "readOnly": true, + "type": "array" + }, "maintenancePolicy": { "$ref": "MaintenancePolicy", "description": "Optional. Configure the maintenance policy for this instance." @@ -1054,7 +1066,7 @@ "additionalProperties": { "type": "string" }, - "description": "Map of additional options used to configure the behavior of Data Fusion instance.", + "description": "Optional. Map of additional options used to configure the behavior of Data Fusion instance.", "type": "object" }, "p4ServiceAccount": { @@ -1070,6 +1082,11 @@ "description": "Optional. Specifies whether the Data Fusion instance should be private. If set to true, all Data Fusion nodes will have private IP addresses and will not be able to access the public internet.", "type": "boolean" }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, "satisfiesPzs": { "description": "Output only. Reserved for future use.", "readOnly": true, @@ -1304,6 +1321,53 @@ }, "type": "object" }, + "LoggingConfig": { + "description": "Logging configuration for a Data Fusion instance.", + "id": "LoggingConfig", + "properties": { + "instanceCloudLoggingDisabled": { + "description": "Optional. Option to determine whether instance logs should be written to Cloud Logging. By default, instance logs are written to Cloud Logging.", + "type": "boolean" + } + }, + "type": "object" + }, + "MaintenanceEvent": { + "description": "Represents a maintenance event.", + "id": "MaintenanceEvent", + "properties": { + "endTime": { + "description": "Output only. The end time of the maintenance event provided in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. Example: \"2024-01-02T12:04:06-06:00\" This field will be empty if the maintenance event is not yet complete.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. The start time of the maintenance event provided in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. Example: \"2024-01-01T12:04:06-04:00\"", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of the maintenance event.", + "enum": [ + "STATE_UNSPECIFIED", + "SCHEDULED", + "STARTED", + "COMPLETED" + ], + "enumDescriptions": [ + "The state of the maintenance event is unspecified.", + "The maintenance is scheduled but has not started.", + "The maintenance has been started.", + "The maintenance has been completed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "MaintenancePolicy": { "description": "Maintenance policy of the instance.", "id": "MaintenancePolicy", @@ -1424,7 +1488,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "type": "boolean" }, "statusDetail": { diff --git a/discovery/googleapis/datalineage__v1.json b/discovery/googleapis/datalineage__v1.json index 0513be1b1..56b345d9a 100644 --- a/discovery/googleapis/datalineage__v1.json +++ b/discovery/googleapis/datalineage__v1.json @@ -111,6 +111,11 @@ "endpointUrl": "https://datalineage.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://datalineage.europe-west2.rep.googleapis.com/", @@ -262,7 +267,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241202", + "revision": "20250207", "rootUrl": "https://datalineage.googleapis.com/", "servicePath": "", "title": "Data Lineage API", @@ -1080,7 +1085,7 @@ "id": "GoogleCloudDatacatalogLineageV1EntityReference", "properties": { "fullyQualifiedName": { - "description": "Required. [Fully Qualified Name (FQN)](https://cloud.google.com/data-catalog/docs/fully-qualified-names) of the entity.", + "description": "Required. [Fully Qualified Name (FQN)](https://cloud.google.com/dataplex/docs/fully-qualified-names) of the entity.", "type": "string" } }, @@ -1281,7 +1286,7 @@ "id": "GoogleCloudDatacatalogLineageV1Origin", "properties": { "name": { - "description": "If the source_type isn't CUSTOM, the value of this field should be a GCP resource name of the system, which reports lineage. The project and location parts of the resource name must match the project and location of the lineage resource being created. Examples: - `{source_type: COMPOSER, name: \"projects/foo/locations/us/environments/bar\"}` - `{source_type: BIGQUERY, name: \"projects/foo/locations/eu\"}` - `{source_type: CUSTOM, name: \"myCustomIntegration\"}`", + "description": "If the source_type isn't CUSTOM, the value of this field should be a Google Cloud resource name of the system, which reports lineage. The project and location parts of the resource name must match the project and location of the lineage resource being created. Examples: - `{source_type: COMPOSER, name: \"projects/foo/locations/us/environments/bar\"}` - `{source_type: BIGQUERY, name: \"projects/foo/locations/eu\"}` - `{source_type: CUSTOM, name: \"myCustomIntegration\"}`", "type": "string" }, "sourceType": { diff --git a/discovery/googleapis/datamigration__v1.json b/discovery/googleapis/datamigration__v1.json index 25c129dab..1f936e19c 100644 --- a/discovery/googleapis/datamigration__v1.json +++ b/discovery/googleapis/datamigration__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241211", + "revision": "20250226", "rootUrl": "https://datamigration.googleapis.com/", "servicePath": "", "title": "Database Migration API", @@ -765,13 +765,15 @@ "DATABASE_ENTITY_VIEW_UNSPECIFIED", "DATABASE_ENTITY_VIEW_BASIC", "DATABASE_ENTITY_VIEW_FULL", - "DATABASE_ENTITY_VIEW_ROOT_SUMMARY" + "DATABASE_ENTITY_VIEW_ROOT_SUMMARY", + "DATABASE_ENTITY_VIEW_FULL_COMPACT" ], "enumDescriptions": [ "Unspecified view. Defaults to basic view.", "Default view. Does not return DDLs or Issues.", "Return full entity details including mappings, ddl and issues.", - "Top-most (Database, Schema) nodes which are returned contains summary details for their decendents such as the number of entities per type and issues rollups. When this view is used, only a single page of result is returned and the page_size property of the request is ignored. The returned page will only include the top-most node types." + "Top-most (Database, Schema) nodes which are returned contains summary details for their descendants such as the number of entities per type and issues rollups. When this view is used, only a single page of result is returned and the page_size property of the request is ignored. The returned page will only include the top-most node types.", + "Returns full entity details except for ddls and schema custom features." ], "location": "query", "type": "string" @@ -2724,22 +2726,34 @@ "$ref": "DataCacheConfig", "description": "Optional. Data cache is an optional feature available for Cloud SQL for MySQL Enterprise Plus edition only. For more information on data cache, see [Data cache overview](https://cloud.google.com/sql/help/mysql-data-cache) in Cloud SQL documentation." }, + "dataDiskProvisionedIops": { + "description": "Optional. Provisioned number of I/O operations per second for the data disk. This field is only used for hyperdisk-balanced disk types.", + "format": "int64", + "type": "string" + }, + "dataDiskProvisionedThroughput": { + "description": "Optional. Provisioned throughput measured in MiB per second for the data disk. This field is only used for hyperdisk-balanced disk types.", + "format": "int64", + "type": "string" + }, "dataDiskSizeGb": { "description": "The storage capacity available to the database, in GB. The minimum (and default) size is 10GB.", "format": "int64", "type": "string" }, "dataDiskType": { - "description": "The type of storage: `PD_SSD` (default) or `PD_HDD`.", + "description": "The type of storage: `PD_SSD` (default) or `PD_HDD` or `HYPERDISK_BALANCED`.", "enum": [ "SQL_DATA_DISK_TYPE_UNSPECIFIED", "PD_SSD", - "PD_HDD" + "PD_HDD", + "HYPERDISK_BALANCED" ], "enumDescriptions": [ "Unspecified.", "SSD disk.", - "HDD disk." + "HDD disk.", + "A Hyperdisk Balanced data disk." ], "type": "string" }, @@ -2899,6 +2913,10 @@ "description": "Comment associated with the column.", "type": "string" }, + "computed": { + "description": "Is the column a computed column.", + "type": "boolean" + }, "customFeatures": { "additionalProperties": { "description": "Properties of the object.", @@ -3057,14 +3075,16 @@ "CLOUDSQL", "RDS", "AURORA", - "ALLOYDB" + "ALLOYDB", + "AZURE_DATABASE" ], "enumDescriptions": [ "Use this value for on-premise source database instances and ORACLE.", "Cloud SQL is the source instance provider.", "Amazon RDS is the source instance provider.", "Amazon Aurora is the source instance provider.", - "AlloyDB for PostgreSQL is the source instance provider." + "AlloyDB for PostgreSQL is the source instance provider.", + "Microsoft Azure Database for MySQL/PostgreSQL." ], "type": "string" }, @@ -3082,6 +3102,16 @@ ], "type": "string" }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, "sqlserver": { "$ref": "SqlServerConnectionProfile", "description": "Connection profile for a SQL Server data source." @@ -3499,14 +3529,16 @@ "CLOUDSQL", "RDS", "AURORA", - "ALLOYDB" + "ALLOYDB", + "AZURE_DATABASE" ], "enumDescriptions": [ "Use this value for on-premise source database instances and ORACLE.", "Cloud SQL is the source instance provider.", "Amazon RDS is the source instance provider.", "Amazon Aurora is the source instance provider.", - "AlloyDB for PostgreSQL is the source instance provider." + "AlloyDB for PostgreSQL is the source instance provider.", + "Microsoft Azure Database for MySQL/PostgreSQL." ], "type": "string" } @@ -3635,10 +3667,46 @@ "description": "The actual ddl code.", "type": "string" }, + "ddlKind": { + "description": "The DDL Kind selected for apply, or UNSPECIFIED if the entity wasn't converted yet.", + "enum": [ + "DDL_KIND_UNSPECIFIED", + "SOURCE", + "DETERMINISTIC", + "AI", + "USER_EDIT" + ], + "enumDescriptions": [ + "The kind of the DDL is unknown.", + "DDL of the source entity", + "Deterministic converted DDL", + "Gemini AI converted DDL", + "User edited DDL" + ], + "type": "string" + }, "ddlType": { "description": "Type of DDL (Create, Alter).", "type": "string" }, + "editedDdlKind": { + "description": "If ddl_kind is USER_EDIT, this holds the DDL kind of the original content - DETERMINISTIC or AI. Otherwise, this is DDL_KIND_UNSPECIFIED.", + "enum": [ + "DDL_KIND_UNSPECIFIED", + "SOURCE", + "DETERMINISTIC", + "AI", + "USER_EDIT" + ], + "enumDescriptions": [ + "The kind of the DDL is unknown.", + "DDL of the source entity", + "Deterministic converted DDL", + "Gemini AI converted DDL", + "User edited DDL" + ], + "type": "string" + }, "entity": { "description": "The name of the database entity the ddl refers to.", "type": "string" @@ -4843,6 +4911,16 @@ "$ref": "ReverseSshConnectivity", "description": "The details needed to communicate to the source over Reverse SSH tunnel connectivity." }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, "source": { "description": "Required. The resource name (URI) of the source connection profile.", "type": "string" @@ -5668,6 +5746,16 @@ "description": "The name of the resource.", "type": "string" }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, "state": { "description": "Output only. The state of the private connection.", "enum": [ @@ -6116,7 +6204,7 @@ "properties": { "objectIdentifier": { "$ref": "SourceObjectIdentifier", - "description": "The object identifier." + "description": "Optional. The object identifier." } }, "type": "object" @@ -6126,7 +6214,7 @@ "id": "SourceObjectIdentifier", "properties": { "database": { - "description": "The database name. This will be required only if the object uses a database name as part of its unique identifier.", + "description": "Optional. The database name. This will be required only if the object uses a database name as part of its unique identifier.", "type": "string" }, "type": { @@ -6149,7 +6237,7 @@ "id": "SourceObjectsConfig", "properties": { "objectConfigs": { - "description": "The list of the objects to be migrated.", + "description": "Optional. The list of the objects to be migrated.", "items": { "$ref": "SourceObjectConfig" }, diff --git a/discovery/googleapis/dataplex__v1.json b/discovery/googleapis/dataplex__v1.json index 851bf1827..9d21f380a 100644 --- a/discovery/googleapis/dataplex__v1.json +++ b/discovery/googleapis/dataplex__v1.json @@ -262,7 +262,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241206", + "revision": "20250222", "rootUrl": "https://dataplex.googleapis.com/", "servicePath": "", "title": "Cloud Dataplex API", @@ -639,7 +639,7 @@ ] }, "lookupEntry": { - "description": "Looks up a single Entry by name using the permission on the source system.Caution: The BigQuery metadata that is stored in Dataplex Catalog is changing. For more information, see Changes to BigQuery metadata stored in Dataplex Catalog (https://cloud.google.com/dataplex/docs/biqquery-metadata-changes).", + "description": "Looks up an entry by name using the permission on the source system.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:lookupEntry", "httpMethod": "GET", "id": "dataplex.projects.locations.lookupEntry", @@ -716,7 +716,7 @@ "type": "string" }, "orderBy": { - "description": "Optional. Specifies the ordering of results. Supported values are: * relevance (default) * last_modified_timestamp * last_modified_timestamp asc", + "description": "Optional. Specifies the ordering of results. Supported values are: relevance (default) last_modified_timestamp last_modified_timestamp asc", "location": "query", "type": "string" }, @@ -1024,6 +1024,7 @@ "dataAttributeBindings": { "methods": { "create": { + "deprecated": true, "description": "Create a DataAttributeBinding resource.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataAttributeBindings", "httpMethod": "POST", @@ -1062,6 +1063,7 @@ ] }, "delete": { + "deprecated": true, "description": "Deletes a DataAttributeBinding resource. All attributes within the DataAttributeBinding must be deleted before the DataAttributeBinding can be deleted.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataAttributeBindings/{dataAttributeBindingsId}", "httpMethod": "DELETE", @@ -1092,6 +1094,7 @@ ] }, "get": { + "deprecated": true, "description": "Retrieves a DataAttributeBinding resource.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataAttributeBindings/{dataAttributeBindingsId}", "httpMethod": "GET", @@ -1148,6 +1151,7 @@ ] }, "list": { + "deprecated": true, "description": "Lists DataAttributeBinding resources in a project and location.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataAttributeBindings", "httpMethod": "GET", @@ -1194,6 +1198,7 @@ ] }, "patch": { + "deprecated": true, "description": "Updates a DataAttributeBinding resource.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataAttributeBindings/{dataAttributeBindingsId}", "httpMethod": "PATCH", @@ -1748,6 +1753,7 @@ "dataTaxonomies": { "methods": { "create": { + "deprecated": true, "description": "Create a DataTaxonomy resource.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies", "httpMethod": "POST", @@ -1762,7 +1768,6 @@ "type": "string" }, "parent": { - "description": "Required. The resource name of the data taxonomy location, of the form: projects/{project_number}/locations/{location_id} where location_id refers to a GCP region.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -1786,6 +1791,7 @@ ] }, "delete": { + "deprecated": true, "description": "Deletes a DataTaxonomy resource. All attributes within the DataTaxonomy must be deleted before the DataTaxonomy can be deleted.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}", "httpMethod": "DELETE", @@ -1816,6 +1822,7 @@ ] }, "get": { + "deprecated": true, "description": "Retrieves a DataTaxonomy resource.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}", "httpMethod": "GET", @@ -1825,7 +1832,6 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the DataTaxonomy: projects/{project_number}/locations/{location_id}/dataTaxonomies/{data_taxonomy_id}", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/dataTaxonomies/[^/]+$", "required": true, @@ -1872,6 +1878,7 @@ ] }, "list": { + "deprecated": true, "description": "Lists DataTaxonomy resources in a project and location.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies", "httpMethod": "GET", @@ -1918,6 +1925,7 @@ ] }, "patch": { + "deprecated": true, "description": "Updates a DataTaxonomy resource.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}", "httpMethod": "PATCH", @@ -2017,6 +2025,7 @@ "attributes": { "methods": { "create": { + "deprecated": true, "description": "Create a DataAttribute resource.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}/attributes", "httpMethod": "POST", @@ -2055,6 +2064,7 @@ ] }, "delete": { + "deprecated": true, "description": "Deletes a Data Attribute resource.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}/attributes/{attributesId}", "httpMethod": "DELETE", @@ -2085,6 +2095,7 @@ ] }, "get": { + "deprecated": true, "description": "Retrieves a Data Attribute resource.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}/attributes/{attributesId}", "httpMethod": "GET", @@ -2141,6 +2152,7 @@ ] }, "list": { + "deprecated": true, "description": "Lists Data Attribute resources in a DataTaxonomy.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}/attributes", "httpMethod": "GET", @@ -2187,6 +2199,7 @@ ] }, "patch": { + "deprecated": true, "description": "Updates a DataAttribute resource.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}/attributes/{attributesId}", "httpMethod": "PATCH", @@ -2615,7 +2628,7 @@ ] }, "get": { - "description": "Gets an Entry.Caution: The BigQuery metadata that is stored in Dataplex Catalog is changing. For more information, see Changes to BigQuery metadata stored in Dataplex Catalog (https://cloud.google.com/dataplex/docs/biqquery-metadata-changes).", + "description": "Gets an Entry.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}", "httpMethod": "GET", "id": "dataplex.projects.locations.entryGroups.entries.get", @@ -7097,6 +7110,49 @@ }, "type": "object" }, + "GoogleCloudDataplexV1BusinessGlossaryEvent": { + "description": "Payload associated with Business Glossary related log events.", + "id": "GoogleCloudDataplexV1BusinessGlossaryEvent", + "properties": { + "eventType": { + "description": "The type of the event.", + "enum": [ + "EVENT_TYPE_UNSPECIFIED", + "GLOSSARY_CREATE", + "GLOSSARY_UPDATE", + "GLOSSARY_DELETE", + "GLOSSARY_CATEGORY_CREATE", + "GLOSSARY_CATEGORY_UPDATE", + "GLOSSARY_CATEGORY_DELETE", + "GLOSSARY_TERM_CREATE", + "GLOSSARY_TERM_UPDATE", + "GLOSSARY_TERM_DELETE" + ], + "enumDescriptions": [ + "An unspecified event type.", + "Glossary create event.", + "Glossary update event.", + "Glossary delete event.", + "Glossary category create event.", + "Glossary category update event.", + "Glossary category delete event.", + "Glossary term create event.", + "Glossary term update event.", + "Glossary term delete event." + ], + "type": "string" + }, + "message": { + "description": "The log message.", + "type": "string" + }, + "resource": { + "description": "Name of the resource.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDataplexV1CancelJobRequest": { "description": "Cancel task jobs.", "id": "GoogleCloudDataplexV1CancelJobRequest", @@ -7218,6 +7274,7 @@ "type": "object" }, "GoogleCloudDataplexV1DataAttribute": { + "deprecated": true, "description": "Denotes one dataAttribute in a dataTaxonomy, for example, PII. DataAttribute resources can be defined in a hierarchy. A single dataAttribute resource can contain specs of multiple types PII - ResourceAccessSpec : - readers :foo@bar.com - DataAccessSpec : - readers :bar@foo.com ", "id": "GoogleCloudDataplexV1DataAttribute", "properties": { @@ -7284,6 +7341,7 @@ "type": "object" }, "GoogleCloudDataplexV1DataAttributeBinding": { + "deprecated": true, "description": "DataAttributeBinding represents binding of attributes to resources. Eg: Bind 'CustomerInfo' entity with 'PII' attribute.", "id": "GoogleCloudDataplexV1DataAttributeBinding", "properties": { @@ -7414,6 +7472,10 @@ "description": "Optional. The BigQuery connection used to create BigLake tables. Must be in the form projects/{project_id}/locations/{location_id}/connections/{connection_id}", "type": "string" }, + "location": { + "description": "Optional. The location of the BigQuery dataset to publish BigLake external or non-BigLake external tables to. 1. If the Cloud Storage bucket is located in a multi-region bucket, then BigQuery dataset can be in the same multi-region bucket or any single region that is included in the same multi-region bucket. The datascan can be created in any single region that is included in the same multi-region bucket 2. If the Cloud Storage bucket is located in a dual-region bucket, then BigQuery dataset can be located in regions that are included in the dual-region bucket, or in a multi-region that includes the dual-region. The datascan can be created in any single region that is included in the same dual-region bucket. 3. If the Cloud Storage bucket is located in a single region, then BigQuery dataset can be in the same single region or any multi-region bucket that includes the same single region. The datascan will be created in the same single region as the bucket. 4. If the BigQuery dataset is in single region, it must be in the same single region as the datascan.For supported values, refer to https://cloud.google.com/bigquery/docs/locations#supported_locations.", + "type": "string" + }, "tableType": { "description": "Optional. Determines whether to publish discovered tables as BigLake external tables or non-BigLake external tables.", "enum": [ @@ -7772,7 +7834,7 @@ "description": "Optional. Actions to take upon job completion.." }, "rowFilter": { - "description": "Optional. A filter applied to all rows in a single DataScan job. The filter needs to be a valid SQL expression for a WHERE clause in BigQuery standard SQL syntax. Example: col1 >= 0 AND col2 < 10", + "description": "Optional. A filter applied to all rows in a single DataScan job. The filter needs to be a valid SQL expression for a WHERE clause in GoogleSQL syntax (https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#where_clause).Example: col1 >= 0 AND col2 < 10", "type": "string" }, "samplingPercent": { @@ -8087,7 +8149,7 @@ "type": "string" }, "evaluatedCount": { - "description": "The number of rows a rule was evaluated against.This field is only valid for row-level type rules.Evaluated count can be configured to either include all rows (default) - with null rows automatically failing rule evaluation, or exclude null rows from the evaluated_count, by setting ignore_nulls = true.", + "description": "The number of rows a rule was evaluated against.This field is only valid for row-level type rules.Evaluated count can be configured to either include all rows (default) - with null rows automatically failing rule evaluation, or exclude null rows from the evaluated_count, by setting ignore_nulls = true.This field is not set for rule SqlAssertion.", "format": "int64", "type": "string" }, @@ -8110,7 +8172,7 @@ "type": "boolean" }, "passedCount": { - "description": "The number of rows which passed a rule evaluation.This field is only valid for row-level type rules.", + "description": "This field is not set for rule SqlAssertion.", "format": "int64", "type": "string" }, @@ -8122,7 +8184,7 @@ "type": "object" }, "GoogleCloudDataplexV1DataQualityRuleRowConditionExpectation": { - "description": "Evaluates whether each row passes the specified condition.The SQL expression needs to use BigQuery standard SQL syntax and should produce a boolean value per row as the result.Example: col1 >= 0 AND col2 < 10", + "description": "Evaluates whether each row passes the specified condition.The SQL expression needs to use GoogleSQL syntax (https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax) and should produce a boolean value per row as the result.Example: col1 >= 0 AND col2 < 10", "id": "GoogleCloudDataplexV1DataQualityRuleRowConditionExpectation", "properties": { "sqlExpression": { @@ -8147,7 +8209,7 @@ "type": "object" }, "GoogleCloudDataplexV1DataQualityRuleSqlAssertion": { - "description": "A SQL statement that is evaluated to return rows that match an invalid state. If any rows are are returned, this rule fails.The SQL statement must use BigQuery standard SQL syntax, and must not contain any semicolons.You can use the data reference parameter ${data()} to reference the source table with all of its precondition filters applied. Examples of precondition filters include row filters, incremental data filters, and sampling. For more information, see Data reference parameter (https://cloud.google.com/dataplex/docs/auto-data-quality-overview#data-reference-parameter).Example: SELECT * FROM ${data()} WHERE price < 0", + "description": "A SQL statement that is evaluated to return rows that match an invalid state. If any rows are are returned, this rule fails.The SQL statement must use GoogleSQL syntax (https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax), and must not contain any semicolons.You can use the data reference parameter ${data()} to reference the source table with all of its precondition filters applied. Examples of precondition filters include row filters, incremental data filters, and sampling. For more information, see Data reference parameter (https://cloud.google.com/dataplex/docs/auto-data-quality-overview#data-reference-parameter).Example: SELECT * FROM ${data()} WHERE price < 0", "id": "GoogleCloudDataplexV1DataQualityRuleSqlAssertion", "properties": { "sqlStatement": { @@ -8197,7 +8259,7 @@ "type": "object" }, "GoogleCloudDataplexV1DataQualityRuleTableConditionExpectation": { - "description": "Evaluates whether the provided expression is true.The SQL expression needs to use BigQuery standard SQL syntax and should produce a scalar boolean result.Example: MIN(col1) >= 0", + "description": "Evaluates whether the provided expression is true.The SQL expression needs to use GoogleSQL syntax (https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax) and should produce a scalar boolean result.Example: MIN(col1) >= 0", "id": "GoogleCloudDataplexV1DataQualityRuleTableConditionExpectation", "properties": { "sqlExpression": { @@ -8330,7 +8392,7 @@ "description": "Optional. Actions to take upon job completion." }, "rowFilter": { - "description": "Optional. A filter applied to all rows in a single DataScan job. The filter needs to be a valid SQL expression for a WHERE clause in BigQuery standard SQL syntax. Example: col1 >= 0 AND col2 < 10", + "description": "Optional. A filter applied to all rows in a single DataScan job. The filter needs to be a valid SQL expression for a WHERE clause in GoogleSQL syntax (https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#where_clause).Example: col1 >= 0 AND col2 < 10", "type": "string" }, "rules": { @@ -8436,7 +8498,7 @@ "type": "object" }, "GoogleCloudDataplexV1DataScan": { - "description": "Represents a user-visible job which provides the insights for the related data source.For example: Data Quality: generates queries based on the rules and runs against the data to get data quality check results. Data Profile: analyzes the data in table(s) and generates insights about the structure, content and relationships (such as null percent, cardinality, min/max/mean, etc).", + "description": "Represents a user-visible job which provides the insights for the related data source.For example: Data quality: generates queries based on the rules and runs against the data to get data quality check results. For more information, see Auto data quality overview (https://cloud.google.com/dataplex/docs/auto-data-quality-overview). Data profile: analyzes the data in tables and generates insights about the structure, content and relationships (such as null percent, cardinality, min/max/mean, etc). For more information, see About data profiling (https://cloud.google.com/dataplex/docs/data-profiling-overview). Data discovery: scans data in Cloud Storage buckets to extract and then catalog metadata. For more information, see Discover and catalog Cloud Storage data (https://cloud.google.com/bigquery/docs/automatic-discovery).", "id": "GoogleCloudDataplexV1DataScan", "properties": { "createTime": { @@ -8970,6 +9032,7 @@ "type": "object" }, "GoogleCloudDataplexV1DataTaxonomy": { + "deprecated": true, "description": "DataTaxonomy represents a set of hierarchical DataAttributes resources, grouped with a common theme Eg: 'SensitiveDataTaxonomy' can have attributes to manage PII data. It is defined at project level.", "id": "GoogleCloudDataplexV1DataTaxonomy", "properties": { @@ -9405,7 +9468,7 @@ "type": "string" }, "parentEntry": { - "description": "Optional. Immutable. The resource name of the parent entry.", + "description": "Optional. Immutable. The resource name of the parent entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.", "type": "string" }, "updateTime": { @@ -9948,7 +10011,7 @@ "id": "GoogleCloudDataplexV1ImportItem", "properties": { "aspectKeys": { - "description": "The aspects to modify. Supports the following syntaxes: {aspect_type_reference}: matches aspects that belong to the specified aspect type and are attached directly to the entry. {aspect_type_reference}@{path}: matches aspects that belong to the specified aspect type and path. @* : matches aspects of the given type for all paths. *@path : matches aspects of all types on the given path. Replace {aspect_type_reference} with a reference to the aspect type, in the format {project_id_or_number}.{location_id}.{aspect_type_id}.If you leave this field empty, it is treated as specifying exactly those aspects that are present within the specified entry.In FULL entry sync mode, Dataplex implicitly adds the keys for all of the required aspects of an entry.", + "description": "The aspects to modify. Supports the following syntaxes: {aspect_type_reference}: matches aspects that belong to the specified aspect type and are attached directly to the entry. {aspect_type_reference}@{path}: matches aspects that belong to the specified aspect type and path. {aspect_type_reference}@* : matches aspects of the given type for all paths. *@path : matches aspects of all types on the given path.Replace {aspect_type_reference} with a reference to the aspect type, in the format {project_id_or_number}.{location_id}.{aspect_type_id}.In FULL entry sync mode, if you leave this field empty, it is treated as specifying exactly those aspects that are present within the specified entry. Dataplex implicitly adds the keys for all of the required aspects of an entry.", "items": { "type": "string" }, @@ -9959,7 +10022,7 @@ "description": "Information about an entry and its attached aspects." }, "updateMask": { - "description": "The fields to update, in paths that are relative to the Entry resource. Separate each field with a comma.In FULL entry sync mode, Dataplex includes the paths of all of the fields for an entry that can be modified, including aspects. This means that Dataplex replaces the existing entry with the entry in the metadata import file. All modifiable fields are updated, regardless of the fields that are listed in the update mask, and regardless of whether a field is present in the entry object.The update_mask field is ignored when an entry is created or re-created.Dataplex also determines which entries and aspects to modify by comparing the values and timestamps that you provide in the metadata import file with the values and timestamps that exist in your project. For more information, see Comparison logic (https://cloud.google.com/dataplex/docs/import-metadata#data-modification-logic).", + "description": "The fields to update, in paths that are relative to the Entry resource. Separate each field with a comma.In FULL entry sync mode, Dataplex includes the paths of all of the fields for an entry that can be modified, including aspects. This means that Dataplex replaces the existing entry with the entry in the metadata import file. All modifiable fields are updated, regardless of the fields that are listed in the update mask, and regardless of whether a field is present in the entry object.The update_mask field is ignored when an entry is created or re-created.In an aspect-only metadata job (when entry sync mode is NONE), set this value to aspects.Dataplex also determines which entries and aspects to modify by comparing the values and timestamps that you provide in the metadata import file with the values and timestamps that exist in your project. For more information, see Comparison logic (https://cloud.google.com/dataplex/docs/import-metadata#data-modification-logic).", "format": "google-fieldmask", "type": "string" } @@ -10852,34 +10915,38 @@ "type": "object" }, "GoogleCloudDataplexV1MetadataJobImportJobSpec": { - "description": "Job specification for a metadata import job", + "description": "Job specification for a metadata import job.You can run the following kinds of metadata import jobs: Full sync of entries with incremental import of their aspects. Supported for custom entries. Incremental import of aspects only. Supported for aspects that belong to custom entries and system entries. For custom entries, you can modify both optional aspects and required aspects. For system entries, you can modify optional aspects.", "id": "GoogleCloudDataplexV1MetadataJobImportJobSpec", "properties": { "aspectSyncMode": { - "description": "Required. The sync mode for aspects. Only INCREMENTAL mode is supported for aspects. An aspect is modified only if the metadata import file includes a reference to the aspect in the update_mask field and the aspect_keys field.", + "description": "Required. The sync mode for aspects.", "enum": [ "SYNC_MODE_UNSPECIFIED", "FULL", - "INCREMENTAL" + "INCREMENTAL", + "NONE" ], "enumDescriptions": [ "Sync mode unspecified.", - "All resources in the job's scope are modified. If a resource exists in Dataplex but isn't included in the metadata import file, the resource is deleted when you run the metadata job. Use this mode to perform a full sync of the set of entries in the job scope.", - "Only the entries and aspects that are explicitly included in the metadata import file are modified. Use this mode to modify a subset of resources while leaving unreferenced resources unchanged." + "All resources in the job's scope are modified. If a resource exists in Dataplex but isn't included in the metadata import file, the resource is deleted when you run the metadata job. Use this mode to perform a full sync of the set of entries in the job scope.This sync mode is supported for entries.", + "Only the resources that are explicitly included in the metadata import file are modified. Use this mode to modify a subset of resources while leaving unreferenced resources unchanged.This sync mode is supported for aspects.", + "If entry sync mode is NONE, then aspects are modified according to the aspect sync mode. Other metadata that belongs to entries in the job's scope isn't modified.This sync mode is supported for entries." ], "type": "string" }, "entrySyncMode": { - "description": "Required. The sync mode for entries. Only FULL mode is supported for entries. All entries in the job's scope are modified. If an entry exists in Dataplex but isn't included in the metadata import file, the entry is deleted when you run the metadata job.", + "description": "Required. The sync mode for entries.", "enum": [ "SYNC_MODE_UNSPECIFIED", "FULL", - "INCREMENTAL" + "INCREMENTAL", + "NONE" ], "enumDescriptions": [ "Sync mode unspecified.", - "All resources in the job's scope are modified. If a resource exists in Dataplex but isn't included in the metadata import file, the resource is deleted when you run the metadata job. Use this mode to perform a full sync of the set of entries in the job scope.", - "Only the entries and aspects that are explicitly included in the metadata import file are modified. Use this mode to modify a subset of resources while leaving unreferenced resources unchanged." + "All resources in the job's scope are modified. If a resource exists in Dataplex but isn't included in the metadata import file, the resource is deleted when you run the metadata job. Use this mode to perform a full sync of the set of entries in the job scope.This sync mode is supported for entries.", + "Only the resources that are explicitly included in the metadata import file are modified. Use this mode to modify a subset of resources while leaving unreferenced resources unchanged.This sync mode is supported for aspects.", + "If entry sync mode is NONE, then aspects are modified according to the aspect sync mode. Other metadata that belongs to entries in the job's scope isn't modified.This sync mode is supported for entries." ], "type": "string" }, @@ -10918,21 +10985,21 @@ "id": "GoogleCloudDataplexV1MetadataJobImportJobSpecImportJobScope", "properties": { "aspectTypes": { - "description": "Optional. The aspect types that are in scope for the import job, specified as relative resource names in the format projects/{project_number_or_id}/locations/{location_id}/aspectTypes/{aspect_type_id}. The job modifies only the aspects that belong to these aspect types.If the metadata import file attempts to modify an aspect whose type isn't included in this list, the import job is halted before modifying any entries or aspects.The location of an aspect type must either match the location of the job, or the aspect type must be global.", + "description": "Optional. The aspect types that are in scope for the import job, specified as relative resource names in the format projects/{project_number_or_id}/locations/{location_id}/aspectTypes/{aspect_type_id}. The job modifies only the aspects that belong to these aspect types.This field is required when creating an aspect-only import job.If the metadata import file attempts to modify an aspect whose type isn't included in this list, the import job is halted before modifying any entries or aspects.The location of an aspect type must either match the location of the job, or the aspect type must be global.", "items": { "type": "string" }, "type": "array" }, "entryGroups": { - "description": "Required. The entry group that is in scope for the import job, specified as a relative resource name in the format projects/{project_number_or_id}/locations/{location_id}/entryGroups/{entry_group_id}. Only entries that belong to the specified entry group are affected by the job.Must contain exactly one element. The entry group and the job must be in the same location.", + "description": "Required. The entry group that is in scope for the import job, specified as a relative resource name in the format projects/{project_number_or_id}/locations/{location_id}/entryGroups/{entry_group_id}. Only entries and aspects that belong to the specified entry group are affected by the job.Must contain exactly one element. The entry group and the job must be in the same location.", "items": { "type": "string" }, "type": "array" }, "entryTypes": { - "description": "Required. The entry types that are in scope for the import job, specified as relative resource names in the format projects/{project_number_or_id}/locations/{location_id}/entryTypes/{entry_type_id}. The job modifies only the entries that belong to these entry types.If the metadata import file attempts to modify an entry whose type isn't included in this list, the import job is halted before modifying any entries or aspects.The location of an entry type must either match the location of the job, or the entry type must be global.", + "description": "Required. The entry types that are in scope for the import job, specified as relative resource names in the format projects/{project_number_or_id}/locations/{location_id}/entryTypes/{entry_type_id}. The job modifies only the entries and aspects that belong to these entry types.If the metadata import file attempts to modify an entry whose type isn't included in this list, the import job is halted before modifying any entries or aspects.The location of an entry type must either match the location of the job, or the entry type must be global.", "items": { "type": "string" }, diff --git a/discovery/googleapis/dataportability__v1.json b/discovery/googleapis/dataportability__v1.json index e348af9ff..484e85298 100644 --- a/discovery/googleapis/dataportability__v1.json +++ b/discovery/googleapis/dataportability__v1.json @@ -3,199 +3,202 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/dataportability.alerts.subscriptions": { - "description": "Move a copy of the Google Alerts subscriptions you created." + "description": "Move a copy of the Google Alerts subscriptions you created" }, "https://www.googleapis.com/auth/dataportability.businessmessaging.conversations": { - "description": "Move a copy of messages between you and the businesses you have conversations with across Google services." + "description": "Move a copy of messages between you and the businesses you have conversations with across Google services" }, "https://www.googleapis.com/auth/dataportability.chrome.autofill": { - "description": "Move a copy of the information you entered into online forms in Chrome." + "description": "Move a copy of the information you entered into online forms in Chrome" }, "https://www.googleapis.com/auth/dataportability.chrome.bookmarks": { - "description": "Move a copy of pages you bookmarked in Chrome." + "description": "Move a copy of pages you bookmarked in Chrome" }, "https://www.googleapis.com/auth/dataportability.chrome.dictionary": { - "description": "Move a copy of words you added to Chrome's dictionary." + "description": "Move a copy of words you added to Chrome's dictionary" }, "https://www.googleapis.com/auth/dataportability.chrome.extensions": { - "description": "Move a copy of extensions you installed from the Chrome Web Store." + "description": "Move a copy of extensions you installed from the Chrome Web Store" }, "https://www.googleapis.com/auth/dataportability.chrome.history": { - "description": "Move a copy of sites you visited in Chrome." + "description": "Move a copy of sites you visited in Chrome" }, "https://www.googleapis.com/auth/dataportability.chrome.reading_list": { - "description": "Move a copy of pages you added to your reading list in Chrome." + "description": "Move a copy of pages you added to your reading list in Chrome" }, "https://www.googleapis.com/auth/dataportability.chrome.settings": { - "description": "Move a copy of your settings in Chrome." + "description": "Move a copy of your settings in Chrome" }, "https://www.googleapis.com/auth/dataportability.discover.follows": { - "description": "Move a copy of searches and sites you follow, saved by Discover." + "description": "Move a copy of searches and sites you follow, saved by Discover" }, "https://www.googleapis.com/auth/dataportability.discover.likes": { - "description": "Move a copy of links to your liked documents, saved by Discover." + "description": "Move a copy of links to your liked documents, saved by Discover" }, "https://www.googleapis.com/auth/dataportability.discover.not_interested": { - "description": "Move a copy of content you marked as not interested, saved by Discover." + "description": "Move a copy of content you marked as not interested, saved by Discover" }, "https://www.googleapis.com/auth/dataportability.maps.aliased_places": { - "description": "Move a copy of the places you labeled on Maps." + "description": "Move a copy of the places you labeled on Maps" }, "https://www.googleapis.com/auth/dataportability.maps.commute_routes": { - "description": "Move a copy of your pinned trips on Maps." + "description": "Move a copy of your pinned trips on Maps" }, "https://www.googleapis.com/auth/dataportability.maps.commute_settings": { - "description": "Move a copy of your commute settings on Maps." + "description": "Move a copy of your commute settings on Maps" }, "https://www.googleapis.com/auth/dataportability.maps.ev_profile": { - "description": "Move a copy of your electric vehicle profile on Maps." + "description": "Move a copy of your electric vehicle profile on Maps" }, "https://www.googleapis.com/auth/dataportability.maps.factual_contributions": { - "description": "Move a copy of the corrections you made to places or map information on Maps." + "description": "Move a copy of the corrections you made to places or map information on Maps" }, "https://www.googleapis.com/auth/dataportability.maps.offering_contributions": { - "description": "Move a copy of your updates to places on Maps." + "description": "Move a copy of your updates to places on Maps" }, "https://www.googleapis.com/auth/dataportability.maps.photos_videos": { - "description": "Move a copy of the photos and videos you posted on Maps." + "description": "Move a copy of the photos and videos you posted on Maps" }, "https://www.googleapis.com/auth/dataportability.maps.questions_answers": { - "description": "Move a copy of the questions and answers you posted on Maps." + "description": "Move a copy of the questions and answers you posted on Maps" }, "https://www.googleapis.com/auth/dataportability.maps.reviews": { - "description": "Move a copy of your reviews and posts on Maps." + "description": "Move a copy of your reviews and posts on Maps" }, "https://www.googleapis.com/auth/dataportability.maps.starred_places": { - "description": "Move a copy of your Starred places list on Maps." + "description": "Move a copy of your Starred places list on Maps" }, "https://www.googleapis.com/auth/dataportability.myactivity.maps": { - "description": "Move a copy of your Maps activity." + "description": "Move a copy of your Maps activity" }, "https://www.googleapis.com/auth/dataportability.myactivity.myadcenter": { - "description": "Move a copy of your My Ad Center activity." + "description": "Move a copy of your My Ad Center activity" }, "https://www.googleapis.com/auth/dataportability.myactivity.play": { - "description": "Move a copy of your Google Play activity." + "description": "Move a copy of your Google Play activity" }, "https://www.googleapis.com/auth/dataportability.myactivity.search": { - "description": "Move a copy of your Google Search activity." + "description": "Move a copy of your Google Search activity" }, "https://www.googleapis.com/auth/dataportability.myactivity.shopping": { - "description": "Move a copy of your Shopping activity." + "description": "Move a copy of your Shopping activity" }, "https://www.googleapis.com/auth/dataportability.myactivity.youtube": { - "description": "Move a copy of your YouTube activity." + "description": "Move a copy of your YouTube activity" }, "https://www.googleapis.com/auth/dataportability.mymaps.maps": { - "description": "Move a copy of the maps you created in My Maps." + "description": "Move a copy of the maps you created in My Maps" }, "https://www.googleapis.com/auth/dataportability.order_reserve.purchases_reservations": { - "description": "Move a copy of your food purchase and reservation activity." + "description": "Move a copy of your food purchase and reservation activity" }, "https://www.googleapis.com/auth/dataportability.play.devices": { - "description": "Move a copy of information about your devices with Google Play Store installed." + "description": "Move a copy of information about your devices with Google Play Store installed" }, "https://www.googleapis.com/auth/dataportability.play.grouping": { - "description": "Move a copy of your Google Play Store Grouping tags created by app developers." + "description": "Move a copy of your Google Play Store Grouping tags created by app developers" }, "https://www.googleapis.com/auth/dataportability.play.installs": { - "description": "Move a copy of your Google Play Store app installations." + "description": "Move a copy of your Google Play Store app installations" }, "https://www.googleapis.com/auth/dataportability.play.library": { - "description": "Move a copy of your Google Play Store downloads, including books, games, and apps." + "description": "Move a copy of your Google Play Store downloads, including books, games, and apps" }, "https://www.googleapis.com/auth/dataportability.play.playpoints": { - "description": "Move a copy of information about your Google Play Store Points." + "description": "Move a copy of information about your Google Play Store Points" }, "https://www.googleapis.com/auth/dataportability.play.promotions": { - "description": "Move a copy of information about your Google Play Store promotions." + "description": "Move a copy of information about your Google Play Store promotions" }, "https://www.googleapis.com/auth/dataportability.play.purchases": { - "description": "Move a copy of your Google Play Store purchases." + "description": "Move a copy of your Google Play Store purchases" }, "https://www.googleapis.com/auth/dataportability.play.redemptions": { - "description": "Move a copy of your Google Play Store redemption activities." + "description": "Move a copy of your Google Play Store redemption activities" }, "https://www.googleapis.com/auth/dataportability.play.subscriptions": { - "description": "Move a copy of your Google Play Store subscriptions." + "description": "Move a copy of your Google Play Store subscriptions" }, "https://www.googleapis.com/auth/dataportability.play.usersettings": { - "description": "Move a copy of your Google Play Store user settings and preferences." + "description": "Move a copy of your Google Play Store user settings and preferences" }, "https://www.googleapis.com/auth/dataportability.saved.collections": { - "description": "Move a copy of your saved links, images, places, and collections from your use of Google services." + "description": "Move a copy of your saved links, images, places, and collections from your use of Google services" + }, + "https://www.googleapis.com/auth/dataportability.search_ugc.comments": { + "description": "Move a copy of your comments on Google Search" }, "https://www.googleapis.com/auth/dataportability.search_ugc.media.reviews_and_stars": { - "description": "Move a copy of your media reviews on Google Search." + "description": "Move a copy of your media reviews on Google Search" }, "https://www.googleapis.com/auth/dataportability.search_ugc.media.streaming_video_providers": { - "description": "Move a copy of your self-reported video streaming provider preferences from Google Search and Google TV." + "description": "Move a copy of your self-reported video streaming provider preferences from Google Search and Google TV" }, "https://www.googleapis.com/auth/dataportability.search_ugc.media.thumbs": { - "description": "Move a copy of your indicated thumbs up and thumbs down on media in Google Search and Google TV." + "description": "Move a copy of your indicated thumbs up and thumbs down on media in Google Search and Google TV" }, "https://www.googleapis.com/auth/dataportability.search_ugc.media.watched": { - "description": "Move a copy of information about the movies and TV shows you marked as watched on Google Search and Google TV." + "description": "Move a copy of information about the movies and TV shows you marked as watched on Google Search and Google TV" }, "https://www.googleapis.com/auth/dataportability.searchnotifications.settings": { - "description": "Move a copy of your notification settings on the Google Search app." + "description": "Move a copy of your notification settings on the Google Search app" }, "https://www.googleapis.com/auth/dataportability.searchnotifications.subscriptions": { - "description": "Move a copy of your notification subscriptions on Google Search app." + "description": "Move a copy of your notification subscriptions on Google Search app" }, "https://www.googleapis.com/auth/dataportability.shopping.addresses": { - "description": "Move a copy of your shipping information on Shopping." + "description": "Move a copy of your shipping information on Shopping" }, "https://www.googleapis.com/auth/dataportability.shopping.reviews": { - "description": "Move a copy of reviews you wrote about products or online stores on Google Search." + "description": "Move a copy of reviews you wrote about products or online stores on Google Search" }, "https://www.googleapis.com/auth/dataportability.streetview.imagery": { - "description": "Move a copy of the images and videos you uploaded to Street View." + "description": "Move a copy of the images and videos you uploaded to Street View" }, "https://www.googleapis.com/auth/dataportability.youtube.channel": { - "description": "Move a copy of information about your YouTube channel." + "description": "Move a copy of information about your YouTube channel" }, "https://www.googleapis.com/auth/dataportability.youtube.clips": { - "description": "Move a copy of your YouTube clips metadata." + "description": "Move a copy of your YouTube clips metadata" }, "https://www.googleapis.com/auth/dataportability.youtube.comments": { - "description": "Move a copy of your YouTube comments." + "description": "Move a copy of your YouTube comments" }, "https://www.googleapis.com/auth/dataportability.youtube.live_chat": { - "description": "Move a copy of your YouTube messages in live chat." + "description": "Move a copy of your YouTube messages in live chat" }, "https://www.googleapis.com/auth/dataportability.youtube.music": { - "description": "Move a copy of your uploaded YouTube music tracks and your YouTube music library." + "description": "Move a copy of your uploaded YouTube music tracks and your YouTube music library" }, "https://www.googleapis.com/auth/dataportability.youtube.playable": { - "description": "Move a copy of your YouTube playables saved game progress files." + "description": "Move a copy of your YouTube playables saved game progress files" }, "https://www.googleapis.com/auth/dataportability.youtube.posts": { - "description": "Move a copy of your YouTube posts." + "description": "Move a copy of your YouTube posts" }, "https://www.googleapis.com/auth/dataportability.youtube.private_playlists": { - "description": "Move a copy of your YouTube private playlists." + "description": "Move a copy of your YouTube private playlists" }, "https://www.googleapis.com/auth/dataportability.youtube.private_videos": { - "description": "Move a copy of your private YouTube videos and information about them." + "description": "Move a copy of your private YouTube videos and information about them" }, "https://www.googleapis.com/auth/dataportability.youtube.public_playlists": { - "description": "Move a copy of your public YouTube playlists." + "description": "Move a copy of your public YouTube playlists" }, "https://www.googleapis.com/auth/dataportability.youtube.public_videos": { - "description": "Move a copy of your public YouTube videos and information about them." + "description": "Move a copy of your public YouTube videos and information about them" }, "https://www.googleapis.com/auth/dataportability.youtube.shopping": { - "description": "Move a copy of your YouTube shopping wishlists, and wishlist items." + "description": "Move a copy of your YouTube shopping wishlists, and wishlist items" }, "https://www.googleapis.com/auth/dataportability.youtube.subscriptions": { - "description": "Move a copy of your YouTube channel subscriptions, even if they're private." + "description": "Move a copy of your YouTube channel subscriptions, even if they're private" }, "https://www.googleapis.com/auth/dataportability.youtube.unlisted_playlists": { - "description": "Move a copy of your unlisted YouTube playlists." + "description": "Move a copy of your unlisted YouTube playlists" }, "https://www.googleapis.com/auth/dataportability.youtube.unlisted_videos": { - "description": "Move a copy of your unlisted YouTube videos and information about them." + "description": "Move a copy of your unlisted YouTube videos and information about them" } } } @@ -217,7 +220,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241209", + "revision": "20250305", "rootUrl": "https://dataportability.googleapis.com/", "servicePath": "", "title": "Data Portability API", @@ -301,8 +304,188 @@ } }, "resources": { + "accessType": { + "methods": { + "check": { + "description": "Gets the access type of the token.", + "flatPath": "v1/accessType:check", + "httpMethod": "POST", + "id": "dataportability.accessType.check", + "parameterOrder": [], + "parameters": {}, + "path": "v1/accessType:check", + "request": { + "$ref": "CheckAccessTypeRequest" + }, + "response": { + "$ref": "CheckAccessTypeResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dataportability.alerts.subscriptions", + "https://www.googleapis.com/auth/dataportability.businessmessaging.conversations", + "https://www.googleapis.com/auth/dataportability.chrome.autofill", + "https://www.googleapis.com/auth/dataportability.chrome.bookmarks", + "https://www.googleapis.com/auth/dataportability.chrome.dictionary", + "https://www.googleapis.com/auth/dataportability.chrome.extensions", + "https://www.googleapis.com/auth/dataportability.chrome.history", + "https://www.googleapis.com/auth/dataportability.chrome.reading_list", + "https://www.googleapis.com/auth/dataportability.chrome.settings", + "https://www.googleapis.com/auth/dataportability.discover.follows", + "https://www.googleapis.com/auth/dataportability.discover.likes", + "https://www.googleapis.com/auth/dataportability.discover.not_interested", + "https://www.googleapis.com/auth/dataportability.maps.aliased_places", + "https://www.googleapis.com/auth/dataportability.maps.commute_routes", + "https://www.googleapis.com/auth/dataportability.maps.commute_settings", + "https://www.googleapis.com/auth/dataportability.maps.ev_profile", + "https://www.googleapis.com/auth/dataportability.maps.factual_contributions", + "https://www.googleapis.com/auth/dataportability.maps.offering_contributions", + "https://www.googleapis.com/auth/dataportability.maps.photos_videos", + "https://www.googleapis.com/auth/dataportability.maps.questions_answers", + "https://www.googleapis.com/auth/dataportability.maps.reviews", + "https://www.googleapis.com/auth/dataportability.maps.starred_places", + "https://www.googleapis.com/auth/dataportability.myactivity.maps", + "https://www.googleapis.com/auth/dataportability.myactivity.myadcenter", + "https://www.googleapis.com/auth/dataportability.myactivity.play", + "https://www.googleapis.com/auth/dataportability.myactivity.search", + "https://www.googleapis.com/auth/dataportability.myactivity.shopping", + "https://www.googleapis.com/auth/dataportability.myactivity.youtube", + "https://www.googleapis.com/auth/dataportability.mymaps.maps", + "https://www.googleapis.com/auth/dataportability.order_reserve.purchases_reservations", + "https://www.googleapis.com/auth/dataportability.play.devices", + "https://www.googleapis.com/auth/dataportability.play.grouping", + "https://www.googleapis.com/auth/dataportability.play.installs", + "https://www.googleapis.com/auth/dataportability.play.library", + "https://www.googleapis.com/auth/dataportability.play.playpoints", + "https://www.googleapis.com/auth/dataportability.play.promotions", + "https://www.googleapis.com/auth/dataportability.play.purchases", + "https://www.googleapis.com/auth/dataportability.play.redemptions", + "https://www.googleapis.com/auth/dataportability.play.subscriptions", + "https://www.googleapis.com/auth/dataportability.play.usersettings", + "https://www.googleapis.com/auth/dataportability.saved.collections", + "https://www.googleapis.com/auth/dataportability.search_ugc.comments", + "https://www.googleapis.com/auth/dataportability.search_ugc.media.reviews_and_stars", + "https://www.googleapis.com/auth/dataportability.search_ugc.media.streaming_video_providers", + "https://www.googleapis.com/auth/dataportability.search_ugc.media.thumbs", + "https://www.googleapis.com/auth/dataportability.search_ugc.media.watched", + "https://www.googleapis.com/auth/dataportability.searchnotifications.settings", + "https://www.googleapis.com/auth/dataportability.searchnotifications.subscriptions", + "https://www.googleapis.com/auth/dataportability.shopping.addresses", + "https://www.googleapis.com/auth/dataportability.shopping.reviews", + "https://www.googleapis.com/auth/dataportability.streetview.imagery", + "https://www.googleapis.com/auth/dataportability.youtube.channel", + "https://www.googleapis.com/auth/dataportability.youtube.clips", + "https://www.googleapis.com/auth/dataportability.youtube.comments", + "https://www.googleapis.com/auth/dataportability.youtube.live_chat", + "https://www.googleapis.com/auth/dataportability.youtube.music", + "https://www.googleapis.com/auth/dataportability.youtube.playable", + "https://www.googleapis.com/auth/dataportability.youtube.posts", + "https://www.googleapis.com/auth/dataportability.youtube.private_playlists", + "https://www.googleapis.com/auth/dataportability.youtube.private_videos", + "https://www.googleapis.com/auth/dataportability.youtube.public_playlists", + "https://www.googleapis.com/auth/dataportability.youtube.public_videos", + "https://www.googleapis.com/auth/dataportability.youtube.shopping", + "https://www.googleapis.com/auth/dataportability.youtube.subscriptions", + "https://www.googleapis.com/auth/dataportability.youtube.unlisted_playlists", + "https://www.googleapis.com/auth/dataportability.youtube.unlisted_videos" + ] + } + } + }, "archiveJobs": { "methods": { + "cancel": { + "description": "Cancels a Portability Archive job.", + "flatPath": "v1/archiveJobs/{archiveJobsId}:cancel", + "httpMethod": "POST", + "id": "dataportability.archiveJobs.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The Archive job ID you're canceling. This is returned by the InitiatePortabilityArchive response. The format is: archiveJobs/{archive_job}. Canceling is only executed if the job is in progress.", + "location": "path", + "pattern": "^archiveJobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "CancelPortabilityArchiveRequest" + }, + "response": { + "$ref": "CancelPortabilityArchiveResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dataportability.alerts.subscriptions", + "https://www.googleapis.com/auth/dataportability.businessmessaging.conversations", + "https://www.googleapis.com/auth/dataportability.chrome.autofill", + "https://www.googleapis.com/auth/dataportability.chrome.bookmarks", + "https://www.googleapis.com/auth/dataportability.chrome.dictionary", + "https://www.googleapis.com/auth/dataportability.chrome.extensions", + "https://www.googleapis.com/auth/dataportability.chrome.history", + "https://www.googleapis.com/auth/dataportability.chrome.reading_list", + "https://www.googleapis.com/auth/dataportability.chrome.settings", + "https://www.googleapis.com/auth/dataportability.discover.follows", + "https://www.googleapis.com/auth/dataportability.discover.likes", + "https://www.googleapis.com/auth/dataportability.discover.not_interested", + "https://www.googleapis.com/auth/dataportability.maps.aliased_places", + "https://www.googleapis.com/auth/dataportability.maps.commute_routes", + "https://www.googleapis.com/auth/dataportability.maps.commute_settings", + "https://www.googleapis.com/auth/dataportability.maps.ev_profile", + "https://www.googleapis.com/auth/dataportability.maps.factual_contributions", + "https://www.googleapis.com/auth/dataportability.maps.offering_contributions", + "https://www.googleapis.com/auth/dataportability.maps.photos_videos", + "https://www.googleapis.com/auth/dataportability.maps.questions_answers", + "https://www.googleapis.com/auth/dataportability.maps.reviews", + "https://www.googleapis.com/auth/dataportability.maps.starred_places", + "https://www.googleapis.com/auth/dataportability.myactivity.maps", + "https://www.googleapis.com/auth/dataportability.myactivity.myadcenter", + "https://www.googleapis.com/auth/dataportability.myactivity.play", + "https://www.googleapis.com/auth/dataportability.myactivity.search", + "https://www.googleapis.com/auth/dataportability.myactivity.shopping", + "https://www.googleapis.com/auth/dataportability.myactivity.youtube", + "https://www.googleapis.com/auth/dataportability.mymaps.maps", + "https://www.googleapis.com/auth/dataportability.order_reserve.purchases_reservations", + "https://www.googleapis.com/auth/dataportability.play.devices", + "https://www.googleapis.com/auth/dataportability.play.grouping", + "https://www.googleapis.com/auth/dataportability.play.installs", + "https://www.googleapis.com/auth/dataportability.play.library", + "https://www.googleapis.com/auth/dataportability.play.playpoints", + "https://www.googleapis.com/auth/dataportability.play.promotions", + "https://www.googleapis.com/auth/dataportability.play.purchases", + "https://www.googleapis.com/auth/dataportability.play.redemptions", + "https://www.googleapis.com/auth/dataportability.play.subscriptions", + "https://www.googleapis.com/auth/dataportability.play.usersettings", + "https://www.googleapis.com/auth/dataportability.saved.collections", + "https://www.googleapis.com/auth/dataportability.search_ugc.comments", + "https://www.googleapis.com/auth/dataportability.search_ugc.media.reviews_and_stars", + "https://www.googleapis.com/auth/dataportability.search_ugc.media.streaming_video_providers", + "https://www.googleapis.com/auth/dataportability.search_ugc.media.thumbs", + "https://www.googleapis.com/auth/dataportability.search_ugc.media.watched", + "https://www.googleapis.com/auth/dataportability.searchnotifications.settings", + "https://www.googleapis.com/auth/dataportability.searchnotifications.subscriptions", + "https://www.googleapis.com/auth/dataportability.shopping.addresses", + "https://www.googleapis.com/auth/dataportability.shopping.reviews", + "https://www.googleapis.com/auth/dataportability.streetview.imagery", + "https://www.googleapis.com/auth/dataportability.youtube.channel", + "https://www.googleapis.com/auth/dataportability.youtube.clips", + "https://www.googleapis.com/auth/dataportability.youtube.comments", + "https://www.googleapis.com/auth/dataportability.youtube.live_chat", + "https://www.googleapis.com/auth/dataportability.youtube.music", + "https://www.googleapis.com/auth/dataportability.youtube.playable", + "https://www.googleapis.com/auth/dataportability.youtube.posts", + "https://www.googleapis.com/auth/dataportability.youtube.private_playlists", + "https://www.googleapis.com/auth/dataportability.youtube.private_videos", + "https://www.googleapis.com/auth/dataportability.youtube.public_playlists", + "https://www.googleapis.com/auth/dataportability.youtube.public_videos", + "https://www.googleapis.com/auth/dataportability.youtube.shopping", + "https://www.googleapis.com/auth/dataportability.youtube.subscriptions", + "https://www.googleapis.com/auth/dataportability.youtube.unlisted_playlists", + "https://www.googleapis.com/auth/dataportability.youtube.unlisted_videos" + ] + }, "getPortabilityArchiveState": { "description": "Retrieves the state of an Archive job for the Portability API.", "flatPath": "v1/archiveJobs/{archiveJobsId}/portabilityArchiveState", @@ -366,6 +549,7 @@ "https://www.googleapis.com/auth/dataportability.play.subscriptions", "https://www.googleapis.com/auth/dataportability.play.usersettings", "https://www.googleapis.com/auth/dataportability.saved.collections", + "https://www.googleapis.com/auth/dataportability.search_ugc.comments", "https://www.googleapis.com/auth/dataportability.search_ugc.media.reviews_and_stars", "https://www.googleapis.com/auth/dataportability.search_ugc.media.streaming_video_providers", "https://www.googleapis.com/auth/dataportability.search_ugc.media.thumbs", @@ -458,6 +642,7 @@ "https://www.googleapis.com/auth/dataportability.play.subscriptions", "https://www.googleapis.com/auth/dataportability.play.usersettings", "https://www.googleapis.com/auth/dataportability.saved.collections", + "https://www.googleapis.com/auth/dataportability.search_ugc.comments", "https://www.googleapis.com/auth/dataportability.search_ugc.media.reviews_and_stars", "https://www.googleapis.com/auth/dataportability.search_ugc.media.streaming_video_providers", "https://www.googleapis.com/auth/dataportability.search_ugc.media.thumbs", @@ -544,6 +729,7 @@ "https://www.googleapis.com/auth/dataportability.play.subscriptions", "https://www.googleapis.com/auth/dataportability.play.usersettings", "https://www.googleapis.com/auth/dataportability.saved.collections", + "https://www.googleapis.com/auth/dataportability.search_ugc.comments", "https://www.googleapis.com/auth/dataportability.search_ugc.media.reviews_and_stars", "https://www.googleapis.com/auth/dataportability.search_ugc.media.streaming_video_providers", "https://www.googleapis.com/auth/dataportability.search_ugc.media.thumbs", @@ -630,6 +816,7 @@ "https://www.googleapis.com/auth/dataportability.play.subscriptions", "https://www.googleapis.com/auth/dataportability.play.usersettings", "https://www.googleapis.com/auth/dataportability.saved.collections", + "https://www.googleapis.com/auth/dataportability.search_ugc.comments", "https://www.googleapis.com/auth/dataportability.search_ugc.media.reviews_and_stars", "https://www.googleapis.com/auth/dataportability.search_ugc.media.streaming_video_providers", "https://www.googleapis.com/auth/dataportability.search_ugc.media.thumbs", @@ -660,6 +847,45 @@ } }, "schemas": { + "CancelPortabilityArchiveRequest": { + "description": "Request to cancel a Portability Archive job.", + "id": "CancelPortabilityArchiveRequest", + "properties": {}, + "type": "object" + }, + "CancelPortabilityArchiveResponse": { + "description": "Response to canceling a Data Portability Archive job.", + "id": "CancelPortabilityArchiveResponse", + "properties": {}, + "type": "object" + }, + "CheckAccessTypeRequest": { + "description": "Request to check the token's access type. All required information is derived from the attached OAuth token.", + "id": "CheckAccessTypeRequest", + "properties": {}, + "type": "object" + }, + "CheckAccessTypeResponse": { + "description": "Response to checking the token's access type.", + "id": "CheckAccessTypeResponse", + "properties": { + "oneTimeResources": { + "description": "Jobs initiated with this token will be one-time if any requested resources have one-time access.", + "items": { + "type": "string" + }, + "type": "array" + }, + "timeBasedResources": { + "description": "Jobs initiated with this token will be time-based if all requested resources have time-based access.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "Empty": { "description": "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); }", "id": "Empty", @@ -670,12 +896,22 @@ "description": "Request to kick off an Archive job.", "id": "InitiatePortabilityArchiveRequest", "properties": { + "endTime": { + "description": "Optional. The timestamp that represents the end point for the data you are exporting. If the end_time is not specified in the InitiatePortabilityArchiveRequest, this field is set to the latest available data.", + "format": "google-datetime", + "type": "string" + }, "resources": { "description": "The resources from which you're exporting data. These values have a 1:1 correspondence with the OAuth scopes.", "items": { "type": "string" }, "type": "array" + }, + "startTime": { + "description": "Optional. The timestamp that represents the starting point for the data you are exporting. If the start_time is not specified in the InitiatePortabilityArchiveRequest, the field is set to the earliest available data.", + "format": "google-datetime", + "type": "string" } }, "type": "object" @@ -684,6 +920,20 @@ "description": "Response from initiating an Archive job.", "id": "InitiatePortabilityArchiveResponse", "properties": { + "accessType": { + "description": "The access type of the Archive job initiated by the API.", + "enum": [ + "ACCESS_TYPE_UNSPECIFIED", + "ACCESS_TYPE_ONE_TIME", + "ACCESS_TYPE_TIME_BASED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "One-time access to the requested scopes.", + "Multiple exports allowed over 30 days. Enum value subject to change before launch." + ], + "type": "string" + }, "archiveJobId": { "description": "The archive job ID that is initiated in the API. This can be used to get the state of the job.", "type": "string" @@ -695,10 +945,20 @@ "description": "Resource that contains the state of an Archive job.", "id": "PortabilityArchiveState", "properties": { + "exportTime": { + "description": "The timestamp that represents the end point for the data you are exporting. If the end_time value is set in the InitiatePortabilityArchiveRequest, this field is set to that value. If end_time is not set, this value is set to the time the export was requested.", + "format": "google-datetime", + "type": "string" + }, "name": { "description": "The resource name of ArchiveJob's PortabilityArchiveState singleton. The format is: archiveJobs/{archive_job}/portabilityArchiveState. archive_job is the job ID provided in the request.", "type": "string" }, + "startTime": { + "description": "The timestamp that represents the starting point for the data you are exporting. This field is set only if the start_time field is specified in the InitiatePortabilityArchiveRequest.", + "format": "google-datetime", + "type": "string" + }, "state": { "description": "Resource that represents the state of the Archive job.", "enum": [ diff --git a/discovery/googleapis/dataproc__v1.json b/discovery/googleapis/dataproc__v1.json index 6f42bf937..2ed8ecc7a 100644 --- a/discovery/googleapis/dataproc__v1.json +++ b/discovery/googleapis/dataproc__v1.json @@ -102,7 +102,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241025", + "revision": "20250207", "rootUrl": "https://dataproc.googleapis.com/", "servicePath": "", "title": "Cloud Dataproc API", @@ -5746,6 +5746,21 @@ }, "type": "object" }, + "BuildInfo": { + "description": "Native Build Info", + "id": "BuildInfo", + "properties": { + "buildKey": { + "description": "Optional. Build key.", + "type": "string" + }, + "buildValue": { + "description": "Optional. Build value.", + "type": "string" + } + }, + "type": "object" + }, "CancelJobRequest": { "description": "A request to cancel a job.", "id": "CancelJobRequest", @@ -6076,7 +6091,8 @@ "STOPPING", "STOPPED", "STARTING", - "REPAIRING" + "REPAIRING", + "SCHEDULED" ], "enumDescriptions": [ "The cluster state is unknown.", @@ -6089,7 +6105,8 @@ "The cluster is being stopped. It cannot be used.", "The cluster is currently stopped. It is not ready for use.", "The cluster is being started. It is not ready for use.", - "The cluster is being repaired. It is not ready for use." + "The cluster is being repaired. It is not ready for use.", + "Cluster creation is currently waiting for resources to be available. Once all resources are available, it will transition to CREATING and then RUNNING." ], "readOnly": true, "type": "string" @@ -6306,12 +6323,12 @@ "id": "DiskConfig", "properties": { "bootDiskProvisionedIops": { - "description": "Optional. Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Note: This field is only supported if boot_disk_type is hyperdisk-balanced.", + "description": "Optional. Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. This field is supported only if boot_disk_type is hyperdisk-balanced.", "format": "int64", "type": "string" }, "bootDiskProvisionedThroughput": { - "description": "Optional. Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. Values must be greater than or equal to 1. Note: This field is only supported if boot_disk_type is hyperdisk-balanced.", + "description": "Optional. Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. Values must be greater than or equal to 1. This field is supported only if boot_disk_type is hyperdisk-balanced.", "format": "int64", "type": "string" }, @@ -6846,6 +6863,21 @@ }, "type": "object" }, + "FallbackReason": { + "description": "Native SQL Execution Data", + "id": "FallbackReason", + "properties": { + "fallbackNode": { + "description": "Optional. Fallback node information.", + "type": "string" + }, + "fallbackReason": { + "description": "Optional. Fallback to Spark reason.", + "type": "string" + } + }, + "type": "object" + }, "FlinkJob": { "description": "A Dataproc job for running Apache Flink applications on YARN.", "id": "FlinkJob", @@ -6937,6 +6969,13 @@ "$ref": "ReservationAffinity", "description": "Optional. Reservation Affinity for consuming Zonal reservation." }, + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource manager tags to add to all instances (see Resource manager tags resources (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing)).", + "type": "object" + }, "serviceAccount": { "description": "Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used.", "type": "string" @@ -8466,6 +8505,60 @@ }, "type": "object" }, + "NativeBuildInfoUiData": { + "id": "NativeBuildInfoUiData", + "properties": { + "buildClass": { + "description": "Optional. Build class of Native.", + "type": "string" + }, + "buildInfo": { + "description": "Optional. Build related details.", + "items": { + "$ref": "BuildInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "NativeSqlExecutionUiData": { + "description": "Native SQL Execution Data", + "id": "NativeSqlExecutionUiData", + "properties": { + "description": { + "description": "Optional. Description of the execution.", + "type": "string" + }, + "executionId": { + "description": "Required. Execution ID of the Native SQL Execution.", + "format": "int64", + "type": "string" + }, + "fallbackDescription": { + "description": "Optional. Description of the fallback.", + "type": "string" + }, + "fallbackNodeToReason": { + "description": "Optional. Fallback node to reason.", + "items": { + "$ref": "FallbackReason" + }, + "type": "array" + }, + "numFallbackNodes": { + "description": "Optional. Number of nodes fallen back to Spark.", + "format": "int32", + "type": "integer" + }, + "numNativeNodes": { + "description": "Optional. Number of nodes in Native.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "NodeGroup": { "description": "Dataproc Node Group. The Dataproc NodeGroup resource is not related to the Dataproc NodeGroupAffinity resource.", "id": "NodeGroup", @@ -9959,7 +10052,7 @@ "type": "object" }, "name": { - "description": "Required. The resource name of the session.", + "description": "Identifier. The resource name of the session.", "type": "string" }, "runtimeConfig": { @@ -10445,8 +10538,8 @@ "HBASE", "HIVE_WEBHCAT", "HUDI", - "ICEBERG", "JUPYTER", + "PIG", "PRESTO", "TRINO", "RANGER", @@ -10463,8 +10556,8 @@ "HBase. (beta)", "The Hive Web HCatalog (the REST service for accessing HCatalog).", "Hudi.", - "Iceberg.", "The Jupyter Notebook.", + "The Pig component.", "The Presto query engine.", "The Trino query engine.", "The Ranger service.", @@ -10977,6 +11070,14 @@ "jobData": { "$ref": "JobData" }, + "nativeBuildInfoUiData": { + "$ref": "NativeBuildInfoUiData", + "description": "Native Build Info" + }, + "nativeSqlExecutionUiData": { + "$ref": "NativeSqlExecutionUiData", + "description": "Native SQL Execution Info" + }, "poolData": { "$ref": "PoolData" }, diff --git a/discovery/googleapis/datastore__v1.json b/discovery/googleapis/datastore__v1.json index ac7d72692..d06e4eca3 100644 --- a/discovery/googleapis/datastore__v1.json +++ b/discovery/googleapis/datastore__v1.json @@ -27,7 +27,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241204", + "revision": "20250212", "rootUrl": "https://datastore.googleapis.com/", "servicePath": "", "title": "Cloud Datastore API", @@ -1584,7 +1584,7 @@ "id": "GoogleDatastoreAdminV1RedirectWritesStepDetails", "properties": { "concurrencyMode": { - "description": "Ths concurrency mode for this database.", + "description": "The concurrency mode for this database.", "enum": [ "CONCURRENCY_MODE_UNSPECIFIED", "PESSIMISTIC", @@ -2611,7 +2611,7 @@ "properties": { "batch": { "$ref": "QueryResultBatch", - "description": "A batch of query results (always present)." + "description": "A batch of query results. This is always present unless running a query under explain-only mode: RunQueryRequest.explain_options was provided and ExplainOptions.analyze was set to false." }, "explainMetrics": { "$ref": "ExplainMetrics", diff --git a/discovery/googleapis/datastream__v1.json b/discovery/googleapis/datastream__v1.json index efb04fabd..aba824b37 100644 --- a/discovery/googleapis/datastream__v1.json +++ b/discovery/googleapis/datastream__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241204", + "revision": "20250219", "rootUrl": "https://datastream.googleapis.com/", "servicePath": "", "title": "Datastream API", @@ -1283,6 +1283,10 @@ "$ref": "PostgresqlRdbms", "description": "PostgreSQL data source objects to avoid backfilling." }, + "salesforceExcludedObjects": { + "$ref": "SalesforceOrg", + "description": "Salesforce data source objects to avoid backfilling" + }, "sqlServerExcludedObjects": { "$ref": "SqlServerRdbms", "description": "SQLServer data source objects to avoid backfilling" @@ -1370,6 +1374,10 @@ "$ref": "AppendOnly", "description": "Append only mode" }, + "blmtConfig": { + "$ref": "BlmtConfig", + "description": "Optional. Big Lake Managed Tables (BLMT) configuration." + }, "dataFreshness": { "description": "The guaranteed data freshness (in seconds) when querying tables created by the stream. Editing this field will only affect new tables created in the future, but existing tables will not be impacted. Lower values mean that queries will return fresher data, but may result in higher cost.", "format": "google-duration", @@ -1417,6 +1425,49 @@ "properties": {}, "type": "object" }, + "BlmtConfig": { + "description": "The configuration for BLMT.", + "id": "BlmtConfig", + "properties": { + "bucket": { + "description": "Required. The Cloud Storage bucket name.", + "type": "string" + }, + "connectionName": { + "description": "Required. The bigquery connection. Format: `{project}.{location}.{name}`", + "type": "string" + }, + "fileFormat": { + "description": "Required. The file format.", + "enum": [ + "FILE_FORMAT_UNSPECIFIED", + "PARQUET" + ], + "enumDescriptions": [ + "Default value.", + "Parquet file format." + ], + "type": "string" + }, + "rootPath": { + "description": "The root path inside the Cloud Storage bucket.", + "type": "string" + }, + "tableFormat": { + "description": "Required. The table format.", + "enum": [ + "TABLE_FORMAT_UNSPECIFIED", + "ICEBERG" + ], + "enumDescriptions": [ + "Default value.", + "Iceberg table format." + ], + "type": "string" + } + }, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", @@ -1496,6 +1547,20 @@ "$ref": "PrivateConnectivity", "description": "Private connectivity." }, + "salesforceProfile": { + "$ref": "SalesforceProfile", + "description": "Salesforce Connection Profile configuration." + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, "sqlServerProfile": { "$ref": "SqlServerProfile", "description": "SQLServer Connection Profile configuration." @@ -2085,6 +2150,17 @@ }, "type": "object" }, + "MysqlGtidPosition": { + "description": "MySQL GTID position", + "id": "MysqlGtidPosition", + "properties": { + "gtidSet": { + "description": "Required. The gtid set to start replication from.", + "type": "string" + } + }, + "type": "object" + }, "MysqlLogPosition": { "description": "MySQL log position", "id": "MysqlLogPosition", @@ -2117,7 +2193,7 @@ "type": "object" }, "MysqlProfile": { - "description": "MySQL database profile. Next ID: 7.", + "description": "MySQL database profile.", "id": "MysqlProfile", "properties": { "hostname": { @@ -2205,7 +2281,7 @@ "type": "boolean" }, "clientCertificate": { - "description": "Input only. PEM-encoded certificate that will be used by the replica to authenticate against the source database server. If this field is used then the 'client_key' and the 'ca_certificate' fields are mandatory.", + "description": "Optional. Input only. PEM-encoded certificate that will be used by the replica to authenticate against the source database server. If this field is used then the 'client_key' and the 'ca_certificate' fields are mandatory.", "type": "string" }, "clientCertificateSet": { @@ -2214,7 +2290,7 @@ "type": "boolean" }, "clientKey": { - "description": "Input only. PEM-encoded private key associated with the Client Certificate. If this field is used then the 'client_certificate' and the 'ca_certificate' fields are mandatory.", + "description": "Optional. Input only. PEM-encoded private key associated with the Client Certificate. If this field is used then the 'client_certificate' and the 'ca_certificate' fields are mandatory. Mutually exclusive with the `secret_manager_stored_client_key` field.", "type": "string" }, "clientKeySet": { @@ -2249,6 +2325,25 @@ "properties": {}, "type": "object" }, + "Oauth2ClientCredentials": { + "description": "OAuth2 Client Credentials.", + "id": "Oauth2ClientCredentials", + "properties": { + "clientId": { + "description": "Required. Client ID for Salesforce OAuth2 Client Credentials.", + "type": "string" + }, + "clientSecret": { + "description": "Optional. Client secret for Salesforce OAuth2 Client Credentials. Mutually exclusive with the `secret_manager_stored_client_secret` field.", + "type": "string" + }, + "secretManagerStoredClientSecret": { + "description": "Optional. A reference to a Secret Manager resource name storing the Salesforce OAuth2 client_secret. Mutually exclusive with the `client_secret` field.", + "type": "string" + } + }, + "type": "object" + }, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", @@ -2334,7 +2429,7 @@ "type": "object" }, "OracleAsmConfig": { - "description": "Configuration for Oracle Automatic Storage Management (ASM) connection. .", + "description": "Configuration for Oracle Automatic Storage Management (ASM) connection.", "id": "OracleAsmConfig", "properties": { "asmService": { @@ -2441,7 +2536,7 @@ "type": "object" }, "OracleProfile": { - "description": "Oracle database profile. Next ID: 10.", + "description": "Oracle database profile.", "id": "OracleProfile", "properties": { "connectionAttributes": { @@ -2685,6 +2780,10 @@ "format": "int32", "type": "integer" }, + "sslConfig": { + "$ref": "PostgresqlSslConfig", + "description": "Optional. SSL configuration for the PostgreSQL connection. In case PostgresqlSslConfig is not set, the connection will use the default SSL mode, which is `prefer` (i.e. this mode will only use encryption if enabled from database side, otherwise will use unencrypted communication)" + }, "username": { "description": "Required. Username for the PostgreSQL connection.", "type": "string" @@ -2752,6 +2851,21 @@ }, "type": "object" }, + "PostgresqlSslConfig": { + "description": "PostgreSQL SSL configuration information.", + "id": "PostgresqlSslConfig", + "properties": { + "serverAndClientVerification": { + "$ref": "ServerAndClientVerification", + "description": "If this field is set, the communication will be encrypted with TLS encryption and both the server identity and the client identity will be authenticated." + }, + "serverVerification": { + "$ref": "ServerVerification", + "description": " If this field is set, the communication will be encrypted with TLS encryption and the server identity will be authenticated." + } + }, + "type": "object" + }, "PostgresqlTable": { "description": "PostgreSQL table.", "id": "PostgresqlTable", @@ -2801,6 +2915,16 @@ "readOnly": true, "type": "string" }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, "state": { "description": "Output only. The state of the Private Connection.", "enum": [ @@ -2905,6 +3029,137 @@ }, "type": "object" }, + "SalesforceField": { + "description": "Salesforce field.", + "id": "SalesforceField", + "properties": { + "dataType": { + "description": "The data type.", + "type": "string" + }, + "name": { + "description": "Field name.", + "type": "string" + }, + "nillable": { + "description": "Indicates whether the field can accept nil values.", + "type": "boolean" + } + }, + "type": "object" + }, + "SalesforceObject": { + "description": "Salesforce object.", + "id": "SalesforceObject", + "properties": { + "fields": { + "description": "Salesforce fields. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing.", + "items": { + "$ref": "SalesforceField" + }, + "type": "array" + }, + "objectName": { + "description": "Object name.", + "type": "string" + } + }, + "type": "object" + }, + "SalesforceObjectIdentifier": { + "description": "Salesforce data source object identifier.", + "id": "SalesforceObjectIdentifier", + "properties": { + "objectName": { + "description": "Required. The object name.", + "type": "string" + } + }, + "type": "object" + }, + "SalesforceOrg": { + "description": "Salesforce organization structure.", + "id": "SalesforceOrg", + "properties": { + "objects": { + "description": "Salesforce objects in the database server.", + "items": { + "$ref": "SalesforceObject" + }, + "type": "array" + } + }, + "type": "object" + }, + "SalesforceProfile": { + "description": "Salesforce profile", + "id": "SalesforceProfile", + "properties": { + "domain": { + "description": "Required. Domain endpoint for the Salesforce connection.", + "type": "string" + }, + "oauth2ClientCredentials": { + "$ref": "Oauth2ClientCredentials", + "description": "Connected app authentication." + }, + "userCredentials": { + "$ref": "UserCredentials", + "description": "User-password authentication." + } + }, + "type": "object" + }, + "SalesforceSourceConfig": { + "description": "Salesforce source configuration", + "id": "SalesforceSourceConfig", + "properties": { + "excludeObjects": { + "$ref": "SalesforceOrg", + "description": "Salesforce objects to exclude from the stream." + }, + "includeObjects": { + "$ref": "SalesforceOrg", + "description": "Salesforce objects to retrieve from the source." + }, + "pollingInterval": { + "description": "Required. Salesforce objects polling interval. The interval at which new changes will be polled for each object. The duration must be between 5 minutes and 24 hours.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "ServerAndClientVerification": { + "description": "Message represents the option where Datastream will enforce the encryption and authenticate the server identity as well as the client identity. ca_certificate, client_certificate and client_key must be set if user selects this option.", + "id": "ServerAndClientVerification", + "properties": { + "caCertificate": { + "description": "Required. Input only. PEM-encoded server root CA certificate.", + "type": "string" + }, + "clientCertificate": { + "description": "Required. Input only. PEM-encoded certificate used by the source database to authenticate the client identity (i.e., the Datastream's identity). This certificate is signed by either a root certificate trusted by the server or one or more intermediate certificates (which is stored with the leaf certificate) to link the this certificate to the trusted root certificate.", + "type": "string" + }, + "clientKey": { + "description": "Optional. Input only. PEM-encoded private key associated with the client certificate. This value will be used during the SSL/TLS handshake, allowing the PostgreSQL server to authenticate the client's identity, i.e. identity of the Datastream. Mutually exclusive with the `secret_manager_stored_client_key` field.", + "type": "string" + } + }, + "type": "object" + }, + "ServerVerification": { + "description": "Message represents the option where Datastream will enforce the encryption and authenticate the server identity. ca_certificate must be set if user selects this option.", + "id": "ServerVerification", + "properties": { + "caCertificate": { + "description": "Required. Input only. PEM-encoded server root CA certificate.", + "type": "string" + } + }, + "type": "object" + }, "SingleTargetDataset": { "description": "A single target dataset to which all data will be streamed.", "id": "SingleTargetDataset", @@ -2932,8 +3187,12 @@ "$ref": "PostgresqlSourceConfig", "description": "PostgreSQL data source configuration." }, + "salesforceSourceConfig": { + "$ref": "SalesforceSourceConfig", + "description": "Salesforce data source configuration." + }, "sourceConnectionProfile": { - "description": "Required. Source connection profile resoource. Format: `projects/{project}/locations/{location}/connectionProfiles/{name}`", + "description": "Required. Source connection profile resource. Format: `projects/{project}/locations/{location}/connectionProfiles/{name}`", "type": "string" }, "sqlServerSourceConfig": { @@ -2970,6 +3229,10 @@ "$ref": "PostgresqlObjectIdentifier", "description": "PostgreSQL data source object identifier." }, + "salesforceIdentifier": { + "$ref": "SalesforceObjectIdentifier", + "description": "Salesforce data source object identifier." + }, "sqlServerIdentifier": { "$ref": "SqlServerObjectIdentifier", "description": "SQLServer data source object identifier." @@ -2981,6 +3244,10 @@ "description": "CDC strategy to start replicating from a specific position in the source.", "id": "SpecificStartPosition", "properties": { + "mysqlGtidPosition": { + "$ref": "MysqlGtidPosition", + "description": "MySQL GTID set to start replicating from." + }, "mysqlLogPosition": { "$ref": "MysqlLogPosition", "description": "MySQL specific log position to start replicating from." @@ -3072,7 +3339,7 @@ "type": "object" }, "SqlServerProfile": { - "description": "SQLServer database profile. Next ID: 8.", + "description": "SQLServer database profile.", "id": "SqlServerProfile", "properties": { "database": { @@ -3311,6 +3578,16 @@ "readOnly": true, "type": "string" }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, "sourceConfig": { "$ref": "SourceConfig", "description": "Required. Source connection profile configuration." @@ -3400,6 +3677,33 @@ }, "type": "object" }, + "UserCredentials": { + "description": "Username-password credentials.", + "id": "UserCredentials", + "properties": { + "password": { + "description": "Optional. Password for the Salesforce connection. Mutually exclusive with the `secret_manager_stored_password` field.", + "type": "string" + }, + "secretManagerStoredPassword": { + "description": "Optional. A reference to a Secret Manager resource name storing the Salesforce connection's password. Mutually exclusive with the `password` field.", + "type": "string" + }, + "secretManagerStoredSecurityToken": { + "description": "Optional. A reference to a Secret Manager resource name storing the Salesforce connection's security token. Mutually exclusive with the `security_token` field.", + "type": "string" + }, + "securityToken": { + "description": "Optional. Security token for the Salesforce connection. Mutually exclusive with the `secret_manager_stored_security_token` field.", + "type": "string" + }, + "username": { + "description": "Required. Username for the Salesforce connection.", + "type": "string" + } + }, + "type": "object" + }, "Validation": { "description": "A validation to perform on a stream.", "id": "Validation", diff --git a/discovery/googleapis/deploymentmanager__v2.json b/discovery/googleapis/deploymentmanager__v2.json index 604cd1f17..f716a5ba7 100644 --- a/discovery/googleapis/deploymentmanager__v2.json +++ b/discovery/googleapis/deploymentmanager__v2.json @@ -34,7 +34,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241122", + "revision": "20250102", "rootUrl": "https://deploymentmanager.googleapis.com/", "servicePath": "", "title": "Cloud Deployment Manager V2 API", @@ -1330,11 +1330,11 @@ "description": "The logical grouping to which the \"reason\" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: \"pubsub.googleapis.com\". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is \"googleapis.com\".", "type": "string" }, - "metadata": { + "metadatas": { "additionalProperties": { "type": "string" }, - "description": "Additional structured details about this error. Keys must match /a-z+/ but should ideally be lowerCamelCase. Also they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {\"instanceLimit\": \"100/request\"}, should be returned as, {\"instanceLimitPerRequest\": \"100\"}, if the client exceeds the number of instances that can be created in a single (batch) request.", + "description": "Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{\"instanceLimit\": \"100/request\"}`, should be returned as, `{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of instances that can be created in a single (batch) request.", "type": "object" }, "reason": { diff --git a/discovery/googleapis/developerconnect__v1.json b/discovery/googleapis/developerconnect__v1.json index ebc4f0a7c..b35349205 100644 --- a/discovery/googleapis/developerconnect__v1.json +++ b/discovery/googleapis/developerconnect__v1.json @@ -77,7 +77,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241205", + "revision": "20250129", "rootUrl": "https://developerconnect.googleapis.com/", "servicePath": "", "title": "Developer Connect API", @@ -789,6 +789,56 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "processBitbucketCloudWebhook": { + "description": "ProcessBitbucketCloudWebhook is called by the external Bitbucket Cloud instances for notifying events.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/gitRepositoryLinks/{gitRepositoryLinksId}:processBitbucketCloudWebhook", + "httpMethod": "POST", + "id": "developerconnect.projects.locations.connections.gitRepositoryLinks.processBitbucketCloudWebhook", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The GitRepositoryLink where the webhook will be received. Format: `projects/*/locations/*/connections/*/gitRepositoryLinks/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/gitRepositoryLinks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:processBitbucketCloudWebhook", + "request": { + "$ref": "ProcessBitbucketCloudWebhookRequest" + }, + "response": { + "$ref": "Empty" + } + }, + "processBitbucketDataCenterWebhook": { + "description": "ProcessBitbucketDataCenterWebhook is called by the external Bitbucket Data Center instances for notifying events.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/gitRepositoryLinks/{gitRepositoryLinksId}:processBitbucketDataCenterWebhook", + "httpMethod": "POST", + "id": "developerconnect.projects.locations.connections.gitRepositoryLinks.processBitbucketDataCenterWebhook", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The GitRepositoryLink where the webhook will be received. Format: `projects/*/locations/*/connections/*/gitRepositoryLinks/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/gitRepositoryLinks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:processBitbucketDataCenterWebhook", + "request": { + "$ref": "ProcessBitbucketDataCenterWebhookRequest" + }, + "response": { + "$ref": "Empty" + } + }, "processGitLabEnterpriseWebhook": { "description": "ProcessGitLabEnterpriseWebhook is called by the external GitLab Enterprise instances for notifying events.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/gitRepositoryLinks/{gitRepositoryLinksId}:processGitLabEnterpriseWebhook", @@ -972,6 +1022,65 @@ } }, "schemas": { + "BitbucketCloudConfig": { + "description": "Configuration for connections to an instance of Bitbucket Cloud.", + "id": "BitbucketCloudConfig", + "properties": { + "authorizerCredential": { + "$ref": "UserCredential", + "description": "Required. An access token with the minimum `repository`, `pullrequest` and `webhook` scope access. It can either be a workspace, project or repository access token. This is needed to create webhooks. It's recommended to use a system account to generate these credentials." + }, + "readAuthorizerCredential": { + "$ref": "UserCredential", + "description": "Required. An access token with the minimum `repository` access. It can either be a workspace, project or repository access token. It's recommended to use a system account to generate the credentials." + }, + "webhookSecretSecretVersion": { + "description": "Required. Immutable. SecretManager resource containing the webhook secret used to verify webhook events, formatted as `projects/*/secrets/*/versions/*`. This is used to validate and create webhooks.", + "type": "string" + }, + "workspace": { + "description": "Required. The Bitbucket Cloud Workspace ID to be connected to Google Cloud Platform.", + "type": "string" + } + }, + "type": "object" + }, + "BitbucketDataCenterConfig": { + "description": "Configuration for connections to an instance of Bitbucket Data Center.", + "id": "BitbucketDataCenterConfig", + "properties": { + "authorizerCredential": { + "$ref": "UserCredential", + "description": "Required. An http access token with the minimum `Repository admin` scope access. This is needed to create webhooks. It's recommended to use a system account to generate these credentials." + }, + "hostUri": { + "description": "Required. The URI of the Bitbucket Data Center host this connection is for.", + "type": "string" + }, + "readAuthorizerCredential": { + "$ref": "UserCredential", + "description": "Required. An http access token with the minimum `Repository read` access. It's recommended to use a system account to generate the credentials." + }, + "serverVersion": { + "description": "Output only. Version of the Bitbucket Data Center server running on the `host_uri`.", + "readOnly": true, + "type": "string" + }, + "serviceDirectoryConfig": { + "$ref": "ServiceDirectoryConfig", + "description": "Optional. Configuration for using Service Directory to privately connect to a Bitbucket Data Center instance. This should only be set if the Bitbucket Data Center is hosted on-premises and not reachable by public internet. If this field is left empty, calls to the Bitbucket Data Center will be made over the public internet." + }, + "sslCaCertificate": { + "description": "Optional. SSL certificate authority to trust when making requests to Bitbucket Data Center.", + "type": "string" + }, + "webhookSecretSecretVersion": { + "description": "Required. Immutable. SecretManager resource containing the webhook secret used to verify webhook events, formatted as `projects/*/secrets/*/versions/*`. This is used to validate webhooks.", + "type": "string" + } + }, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", @@ -989,6 +1098,14 @@ "description": "Optional. Allows clients to store small amounts of arbitrary data.", "type": "object" }, + "bitbucketCloudConfig": { + "$ref": "BitbucketCloudConfig", + "description": "Configuration for connections to an instance of Bitbucket Clouds." + }, + "bitbucketDataCenterConfig": { + "$ref": "BitbucketDataCenterConfig", + "description": "Configuration for connections to an instance of Bitbucket Data Center." + }, "createTime": { "description": "Output only. [Output only] Create timestamp", "format": "google-datetime", @@ -1013,6 +1130,10 @@ "description": "Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", "type": "string" }, + "gitProxyConfig": { + "$ref": "GitProxyConfig", + "description": "Optional. Configuration for the git proxy feature. Enabling the git proxy allows clients to perform git operations on the repositories linked in the connection." + }, "githubConfig": { "$ref": "GitHubConfig", "description": "Configuration for connections to github.com." @@ -1325,6 +1446,17 @@ }, "type": "object" }, + "GitProxyConfig": { + "description": "The git proxy configuration.", + "id": "GitProxyConfig", + "properties": { + "enabled": { + "description": "Optional. Setting this to true allows the git proxy to be used for performing git operations on the repositories linked in the connection.", + "type": "boolean" + } + }, + "type": "object" + }, "GitRepositoryLink": { "description": "Message describing the GitRepositoryLink object", "id": "GitRepositoryLink", @@ -1356,6 +1488,11 @@ "description": "Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", "type": "string" }, + "gitProxyUri": { + "description": "Output only. URI to access the linked repository through the Git Proxy. This field is only populated if the git proxy is enabled for the connection.", + "readOnly": true, + "type": "string" + }, "labels": { "additionalProperties": { "type": "string" @@ -1700,6 +1837,28 @@ }, "type": "object" }, + "ProcessBitbucketCloudWebhookRequest": { + "description": "RPC request object accepted by the ProcessBitbucketCloudWebhook RPC method.", + "id": "ProcessBitbucketCloudWebhookRequest", + "properties": { + "body": { + "$ref": "HttpBody", + "description": "Required. HTTP request body." + } + }, + "type": "object" + }, + "ProcessBitbucketDataCenterWebhookRequest": { + "description": "RPC request object accepted by the ProcessBitbucketDataCenterWebhook RPC method.", + "id": "ProcessBitbucketDataCenterWebhookRequest", + "properties": { + "body": { + "$ref": "HttpBody", + "description": "Required. HTTP request body." + } + }, + "type": "object" + }, "ProcessGitHubEnterpriseWebhookRequest": { "description": "RPC request object accepted by the ProcessGitHubEnterpriseWebhook RPC method.", "id": "ProcessGitHubEnterpriseWebhookRequest", diff --git a/discovery/googleapis/dfareporting__v4.json b/discovery/googleapis/dfareporting__v4.json index e75c86b7c..5df085d22 100644 --- a/discovery/googleapis/dfareporting__v4.json +++ b/discovery/googleapis/dfareporting__v4.json @@ -31,7 +31,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20240926", + "revision": "20250218", "rootUrl": "https://dfareporting.googleapis.com/", "servicePath": "dfareporting/v4/", "title": "Campaign Manager 360 API", @@ -11761,15 +11761,15 @@ "type": "array" }, "merchantFeedLabel": { - "description": "The feed labels associated with the feed where your items are uploaded. For more information, please refer to ​​ https://support.google.com/merchants/answer/12453549. This is a required field.", + "description": "The feed labels associated with the feed where your items are uploaded. For more information, please refer to ​​ https://support.google.com/merchants/answer/12453549. Providing the feed label reduces ambiguity in identifying the right offer details.", "type": "string" }, "merchantFeedLanguage": { - "description": "The language associated with the feed where your items are uploaded. Use ISO 639-1 language codes. This field is needed only when item IDs are not unique across multiple Merchant Center feeds.", + "description": "The language associated with the feed where your items are uploaded. Use ISO 639-1 language codes. Providing the feed language reduces ambiguity in identifying the right offer details.", "type": "string" }, "merchantId": { - "description": "The Merchant Center ID where the items are uploaded. This is a required field.", + "description": "The Merchant Center ID where the items are uploaded. Providing Merchant Center ID reduces ambiguity in identifying the right offer details.", "format": "int64", "type": "string" } @@ -12282,7 +12282,7 @@ "type": "array" }, "value": { - "description": "The value of the conversion. This is a required field.", + "description": "The value of the conversion. Interpreted in CM360 Floodlight config parent advertiser's currency code. This is a required field.", "format": "double", "type": "number" } @@ -20325,6 +20325,10 @@ "description": "Whether click-tracking string should be included in the tags.", "type": "boolean" }, + "includeUnescapedlpurlMacro": { + "description": "Optional. Indicates that the unescapedlpurl macro should be included in the tag for the static landing page. New placements will default to the value set on their site.", + "type": "boolean" + }, "keywordOption": { "description": "Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.", "enum": [ diff --git a/discovery/googleapis/dialogflow__v2.json b/discovery/googleapis/dialogflow__v2.json index 8191ccdf8..1ced23e4b 100644 --- a/discovery/googleapis/dialogflow__v2.json +++ b/discovery/googleapis/dialogflow__v2.json @@ -28,7 +28,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241216", + "revision": "20250310", "rootUrl": "https://dialogflow.googleapis.com/", "servicePath": "", "title": "Dialogflow API", @@ -2617,8 +2617,7 @@ ], "parameters": { "filter": { - "deprecated": true, - "description": "Optional. Filters to restrict results to specific answer records. Marked deprecated as it hasn't been, and isn't currently, supported. For more information about filtering, see [API Filtering](https://aip.dev/160).", + "description": "Optional. Filters to restrict results to specific answer records. The expression has the following syntax: [AND ] ... The following fields and operators are supported: * conversation_id with equals(=) operator Examples: * `conversation_id=bar` matches answer records in the `projects/foo/locations/global/conversations/bar` conversation (assuming the parent is `projects/foo/locations/global`). For more information about filtering, see [API Filtering](https://aip.dev/160).", "location": "query", "type": "string" }, @@ -3712,6 +3711,35 @@ }, "suggestions": { "methods": { + "generate": { + "description": "Generates all the suggestions using generators configured in the conversation profile. A generator is used only if its trigger event is matched.", + "flatPath": "v2/projects/{projectsId}/conversations/{conversationsId}/suggestions:generate", + "httpMethod": "POST", + "id": "dialogflow.projects.conversations.suggestions.generate", + "parameterOrder": [ + "conversation" + ], + "parameters": { + "conversation": { + "description": "Required. The conversation for which the suggestions are generated. Format: `projects//locations//conversations/`. The conversation must be created with a conversation profile which has generators configured in it to be able to get suggestions.", + "location": "path", + "pattern": "^projects/[^/]+/conversations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+conversation}/suggestions:generate", + "request": { + "$ref": "GoogleCloudDialogflowV2GenerateSuggestionsRequest" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2GenerateSuggestionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "searchKnowledge": { "description": "Get answers for the given query based on knowledge documents.", "flatPath": "v2/projects/{projectsId}/conversations/{conversationsId}/suggestions:searchKnowledge", @@ -6506,8 +6534,7 @@ ], "parameters": { "filter": { - "deprecated": true, - "description": "Optional. Filters to restrict results to specific answer records. Marked deprecated as it hasn't been, and isn't currently, supported. For more information about filtering, see [API Filtering](https://aip.dev/160).", + "description": "Optional. Filters to restrict results to specific answer records. The expression has the following syntax: [AND ] ... The following fields and operators are supported: * conversation_id with equals(=) operator Examples: * `conversation_id=bar` matches answer records in the `projects/foo/locations/global/conversations/bar` conversation (assuming the parent is `projects/foo/locations/global`). For more information about filtering, see [API Filtering](https://aip.dev/160).", "location": "query", "type": "string" }, @@ -7311,6 +7338,35 @@ "https://www.googleapis.com/auth/dialogflow" ] }, + "ingestContextReferences": { + "description": "Data ingestion API. Ingests context references for an existing conversation.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}:ingestContextReferences", + "httpMethod": "POST", + "id": "dialogflow.projects.locations.conversations.ingestContextReferences", + "parameterOrder": [ + "conversation" + ], + "parameters": { + "conversation": { + "description": "Required. Resource identifier of the conversation to ingest context information for. Format: `projects//locations//conversations/`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+conversation}:ingestContextReferences", + "request": { + "$ref": "GoogleCloudDialogflowV2IngestContextReferencesRequest" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2IngestContextReferencesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "list": { "description": "Returns the list of all conversations in the specified project.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversations", @@ -7685,6 +7741,35 @@ }, "suggestions": { "methods": { + "generate": { + "description": "Generates all the suggestions using generators configured in the conversation profile. A generator is used only if its trigger event is matched.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/suggestions:generate", + "httpMethod": "POST", + "id": "dialogflow.projects.locations.conversations.suggestions.generate", + "parameterOrder": [ + "conversation" + ], + "parameters": { + "conversation": { + "description": "Required. The conversation for which the suggestions are generated. Format: `projects//locations//conversations/`. The conversation must be created with a conversation profile which has generators configured in it to be able to get suggestions.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+conversation}/suggestions:generate", + "request": { + "$ref": "GoogleCloudDialogflowV2GenerateSuggestionsRequest" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2GenerateSuggestionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "searchKnowledge": { "description": "Get answers for the given query based on knowledge documents.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/suggestions:searchKnowledge", @@ -8813,7 +8898,7 @@ "type": "string" }, "useTimeoutBasedEndpointing": { - "description": "Use timeout based endpointing, interpreting endpointer sensitivy as seconds of timeout value.", + "description": "Use timeout based endpointing, interpreting endpointer sensitivity as seconds of timeout value.", "type": "boolean" } }, @@ -9054,6 +9139,20 @@ "A data store that contains structured data (for example FAQ)." ], "type": "string" + }, + "documentProcessingMode": { + "description": "The document processing mode for the data store connection. Should only be set for PUBLIC_WEB and UNSTRUCTURED data stores. If not set it is considered as DOCUMENTS, as this is the legacy mode.", + "enum": [ + "DOCUMENT_PROCESSING_MODE_UNSPECIFIED", + "DOCUMENTS", + "CHUNKS" + ], + "enumDescriptions": [ + "Not specified. This should be set for STRUCTURED type data stores. Due to legacy reasons this is considered as DOCUMENTS for STRUCTURED and PUBLIC_WEB data stores.", + "Documents are processed as documents.", + "Documents are converted to chunks." + ], + "type": "string" } }, "type": "object" @@ -9966,7 +10065,7 @@ "type": "array" }, "transitionRoutes": { - "description": "A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow. When we are in a certain page, the TransitionRoutes are evalauted in the following order: * TransitionRoutes defined in the page with intent specified. * TransitionRoutes defined in the transition route groups with intent specified. * TransitionRoutes defined in flow with intent specified. * TransitionRoutes defined in the transition route groups with intent specified. * TransitionRoutes defined in the page with only condition specified. * TransitionRoutes defined in the transition route groups with only condition specified.", + "description": "A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow. When we are in a certain page, the TransitionRoutes are evaluated in the following order: * TransitionRoutes defined in the page with intent specified. * TransitionRoutes defined in the transition route groups with intent specified. * TransitionRoutes defined in flow with intent specified. * TransitionRoutes defined in the transition route groups with intent specified. * TransitionRoutes defined in the page with only condition specified. * TransitionRoutes defined in the transition route groups with only condition specified.", "items": { "$ref": "GoogleCloudDialogflowCxV3TransitionRoute" }, @@ -10788,7 +10887,7 @@ "type": "string" }, "clientSecret": { - "description": "Required. The client secret provided by the 3rd party platform.", + "description": "Optional. The client secret provided by the 3rd party platform.", "type": "string" }, "scopes": { @@ -11121,7 +11220,7 @@ "type": "string" }, "useTimeoutBasedEndpointing": { - "description": "Use timeout based endpointing, interpreting endpointer sensitivy as seconds of timeout value.", + "description": "Use timeout based endpointing, interpreting endpointer sensitivity as seconds of timeout value.", "type": "boolean" } }, @@ -11362,6 +11461,20 @@ "A data store that contains structured data (for example FAQ)." ], "type": "string" + }, + "documentProcessingMode": { + "description": "The document processing mode for the data store connection. Should only be set for PUBLIC_WEB and UNSTRUCTURED data stores. If not set it is considered as DOCUMENTS, as this is the legacy mode.", + "enum": [ + "DOCUMENT_PROCESSING_MODE_UNSPECIFIED", + "DOCUMENTS", + "CHUNKS" + ], + "enumDescriptions": [ + "Not specified. This should be set for STRUCTURED type data stores. Due to legacy reasons this is considered as DOCUMENTS for STRUCTURED and PUBLIC_WEB data stores.", + "Documents are processed as documents.", + "Documents are converted to chunks." + ], + "type": "string" } }, "type": "object" @@ -12274,7 +12387,7 @@ "type": "array" }, "transitionRoutes": { - "description": "A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow. When we are in a certain page, the TransitionRoutes are evalauted in the following order: * TransitionRoutes defined in the page with intent specified. * TransitionRoutes defined in the transition route groups with intent specified. * TransitionRoutes defined in flow with intent specified. * TransitionRoutes defined in the transition route groups with intent specified. * TransitionRoutes defined in the page with only condition specified. * TransitionRoutes defined in the transition route groups with only condition specified.", + "description": "A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow. When we are in a certain page, the TransitionRoutes are evaluated in the following order: * TransitionRoutes defined in the page with intent specified. * TransitionRoutes defined in the transition route groups with intent specified. * TransitionRoutes defined in flow with intent specified. * TransitionRoutes defined in the transition route groups with intent specified. * TransitionRoutes defined in the page with only condition specified. * TransitionRoutes defined in the transition route groups with only condition specified.", "items": { "$ref": "GoogleCloudDialogflowCxV3beta1TransitionRoute" }, @@ -13149,7 +13262,7 @@ "type": "string" }, "clientSecret": { - "description": "Required. The client secret provided by the 3rd party platform.", + "description": "Optional. The client secret provided by the 3rd party platform.", "type": "string" }, "scopes": { @@ -13507,7 +13620,7 @@ "type": "string" }, "documentCorrectness": { - "description": "Optional. Whether or not the information in the document is correct. For example: * Query: \"Can I return the package in 2 days once received?\" * Suggested document says: \"Items must be returned/exchanged within 60 days of the purchase date.\" * Ground truth: \"No return or exchange is allowed.\" * [document_correctness]: INCORRECT", + "description": "Optional. Whether or not the information in the document is correct. For example: * Query: \"Can I return the package in 2 days once received?\" * Suggested document says: \"Items must be returned/exchanged within 60 days of the purchase date.\" * Ground truth: \"No return or exchange is allowed.\" * document_correctness: INCORRECT", "enum": [ "DOCUMENT_CORRECTNESS_UNSPECIFIED", "INCORRECT", @@ -13643,6 +13756,10 @@ "$ref": "GoogleCloudDialogflowV2AssistQueryParameters", "description": "Parameters for a human assist query." }, + "audioInput": { + "$ref": "GoogleCloudDialogflowV2AudioInput", + "description": "The natural language speech audio to be processed." + }, "cxParameters": { "additionalProperties": { "description": "Properties of the object.", @@ -13876,6 +13993,22 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2AudioInput": { + "description": "Represents the natural language speech audio to be processed.", + "id": "GoogleCloudDialogflowV2AudioInput", + "properties": { + "audio": { + "description": "Required. The natural language speech audio to be processed. A single request can contain up to 2 minutes of speech audio data. The transcribed text cannot contain more than 256 bytes for virtual agent interactions.", + "format": "byte", + "type": "string" + }, + "config": { + "$ref": "GoogleCloudDialogflowV2InputAudioConfig", + "description": "Required. Instructs the speech recognizer how to process the speech audio." + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2AutomatedAgentConfig": { "description": "Defines the Automated Agent to connect to a conversation.", "id": "GoogleCloudDialogflowV2AutomatedAgentConfig", @@ -14135,6 +14268,7 @@ "ARTICLE_SUGGESTION", "FAQ", "SMART_REPLY", + "CONVERSATION_SUMMARIZATION", "KNOWLEDGE_SEARCH", "KNOWLEDGE_ASSIST" ], @@ -14143,6 +14277,7 @@ "Run article suggestion model for chat.", "Run FAQ model for chat.", "Run smart reply model for chat.", + "Run conversation summarization model for chat.", "Run knowledge search with text input from agent or text generated query.", "Run knowledge assist with automatic query generation." ], @@ -14178,6 +14313,7 @@ "ARTICLE_SUGGESTION", "FAQ", "SMART_REPLY", + "CONVERSATION_SUMMARIZATION", "KNOWLEDGE_SEARCH", "KNOWLEDGE_ASSIST" ], @@ -14186,6 +14322,7 @@ "Run article suggestion model for chat.", "Run FAQ model for chat.", "Run smart reply model for chat.", + "Run conversation summarization model for chat.", "Run knowledge search with text input from agent or text generated query.", "Run knowledge assist with automatic query generation." ], @@ -14252,6 +14389,14 @@ "readOnly": true, "type": "string" }, + "ingestedContextReferences": { + "additionalProperties": { + "$ref": "GoogleCloudDialogflowV2ConversationContextReference" + }, + "description": "Output only. The context reference updates provided by external systems.", + "readOnly": true, + "type": "object" + }, "lifecycleState": { "description": "Output only. The current state of the Conversation.", "enum": [ @@ -14282,6 +14427,11 @@ "format": "google-datetime", "readOnly": true, "type": "string" + }, + "telephonyConnectionInfo": { + "$ref": "GoogleCloudDialogflowV2ConversationTelephonyConnectionInfo", + "description": "Output only. The telephony connection information.", + "readOnly": true } }, "type": "object" @@ -14300,6 +14450,75 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2ConversationContextReference": { + "description": "Represents a section of ingested context information.", + "id": "GoogleCloudDialogflowV2ConversationContextReference", + "properties": { + "contextContents": { + "description": "Required. The list of content updates for a context reference.", + "items": { + "$ref": "GoogleCloudDialogflowV2ConversationContextReferenceContextContent" + }, + "type": "array" + }, + "createTime": { + "description": "Output only. The time the context reference was first created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "languageCode": { + "description": "Optional. The language of the information ingested, defaults to \"en-US\" if not set.", + "type": "string" + }, + "updateMode": { + "description": "Required. The mode in which context reference contents are updated.", + "enum": [ + "UPDATE_MODE_UNSPECIFIED", + "APPEND", + "OVERWRITE" + ], + "enumDescriptions": [ + "Unspecified update mode.", + "Context content updates are applied in append mode.", + "Context content updates are applied in overwrite mode." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2ConversationContextReferenceContextContent": { + "description": "Contents ingested.", + "id": "GoogleCloudDialogflowV2ConversationContextReferenceContextContent", + "properties": { + "content": { + "description": "Required. The information ingested in a single request.", + "type": "string" + }, + "contentFormat": { + "description": "Required. The format of the ingested string.", + "enum": [ + "CONTENT_FORMAT_UNSPECIFIED", + "JSON", + "PLAIN_TEXT" + ], + "enumDescriptions": [ + "Unspecified content format.", + "Content was provided in JSON format.", + "Content was provided as plain text." + ], + "type": "string" + }, + "ingestionTime": { + "description": "Output only. The time when this information was incorporated into the relevant context reference.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2ConversationDataset": { "description": "Represents a conversation dataset that a user imports raw data into. The data inside ConversationDataset can not be changed after ImportConversationData finishes (and calling ImportConversationData on a dataset that already has data is not allowed).", "id": "GoogleCloudDialogflowV2ConversationDataset", @@ -14508,7 +14727,7 @@ "type": "string" }, "rawHumanEvalTemplateCsv": { - "description": "Output only. Human eval template in csv format. It tooks real-world conversations provided through input dataset, generates example suggestions for customer to verify quality of the model. For Smart Reply, the generated csv file contains columns of Context, (Suggestions,Q1,Q2)*3, Actual reply. Context contains at most 10 latest messages in the conversation prior to the current suggestion. Q1: \"Would you send it as the next message of agent?\" Evaluated based on whether the suggest is appropriate to be sent by agent in current context. Q2: \"Does the suggestion move the conversation closer to resolution?\" Evaluated based on whether the suggestion provide solutions, or answers customer's question or collect information from customer to resolve the customer's issue. Actual reply column contains the actual agent reply sent in the context.", + "description": "Output only. Human eval template in csv format. It takes real-world conversations provided through input dataset, generates example suggestions for customer to verify quality of the model. For Smart Reply, the generated csv file contains columns of Context, (Suggestions,Q1,Q2)*3, Actual reply. Context contains at most 10 latest messages in the conversation prior to the current suggestion. Q1: \"Would you send it as the next message of agent?\" Evaluated based on whether the suggest is appropriate to be sent by agent in current context. Q2: \"Does the suggestion move the conversation closer to resolution?\" Evaluated based on whether the suggestion provide solutions, or answers customer's question or collect information from customer to resolve the customer's issue. Actual reply column contains the actual agent reply sent in the context.", "readOnly": true, "type": "string" }, @@ -14524,6 +14743,12 @@ "description": "Represents a phone number for telephony integration. It allows for connecting a particular conversation over telephony.", "id": "GoogleCloudDialogflowV2ConversationPhoneNumber", "properties": { + "countryCode": { + "description": "Output only. Desired country code for the phone number.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, "phoneNumber": { "description": "Output only. The phone number to connect to this conversation.", "readOnly": true, @@ -14607,6 +14832,69 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2ConversationTelephonyConnectionInfo": { + "description": "The information about phone calls connected via phone gateway to the conversation.", + "id": "GoogleCloudDialogflowV2ConversationTelephonyConnectionInfo", + "properties": { + "dialedNumber": { + "description": "Output only. The number dialed to connect this call in E.164 format.", + "readOnly": true, + "type": "string" + }, + "extraMimeContents": { + "description": "Output only. The mime content from the initial SIP INVITE.", + "items": { + "$ref": "GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent" + }, + "readOnly": true, + "type": "array" + }, + "sdp": { + "description": "Optional. SDP of the call. It's initially the SDP answer to the endpoint, but maybe later updated for the purpose of making the link active, etc.", + "type": "string" + }, + "sipHeaders": { + "description": "Output only. The SIP headers from the initial SIP INVITE.", + "items": { + "$ref": "GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent": { + "description": "The mime content from the initial SIP INVITE.", + "id": "GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent", + "properties": { + "content": { + "description": "Optional. The content payload.", + "format": "byte", + "type": "string" + }, + "mimeType": { + "description": "Optional. The mime type of the content.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader": { + "description": "The SIP headers from the initial SIP INVITE.", + "id": "GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader", + "properties": { + "name": { + "description": "Optional. The name of the header.", + "type": "string" + }, + "value": { + "description": "Optional. The value of the header.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2CreateConversationDatasetOperationMetadata": { "description": "Metadata for CreateConversationDataset.", "id": "GoogleCloudDialogflowV2CreateConversationDatasetOperationMetadata", @@ -15150,11 +15438,11 @@ }, "smartComposeConfig": { "$ref": "GoogleCloudDialogflowV2EvaluationConfigSmartComposeConfig", - "description": "Configuration for smart compose model evalution." + "description": "Configuration for smart compose model evaluation." }, "smartReplyConfig": { "$ref": "GoogleCloudDialogflowV2EvaluationConfigSmartReplyConfig", - "description": "Configuration for smart reply model evalution." + "description": "Configuration for smart reply model evaluation." } }, "type": "object" @@ -15332,6 +15620,28 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2FreeFormContext": { + "description": "Free form generator context that customer can configure.", + "id": "GoogleCloudDialogflowV2FreeFormContext", + "properties": { + "text": { + "description": "Optional. Free form text input to LLM.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2FreeFormSuggestion": { + "description": "Suggestion generated using free form generator.", + "id": "GoogleCloudDialogflowV2FreeFormSuggestion", + "properties": { + "response": { + "description": "Required. Free form suggestion.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2Fulfillment": { "description": "By default, your agent responds to a matched intent with a static response. As an alternative, you can provide a more dynamic response by using fulfillment. When you enable fulfillment for an intent, Dialogflow responds to that intent by calling a service that you define. For example, if an end-user wants to schedule a haircut on Friday, your service can check your database and respond to the end-user with availability information for Friday. For more information, see the [fulfillment guide](https://cloud.google.com/dialogflow/docs/fulfillment-overview).", "id": "GoogleCloudDialogflowV2Fulfillment", @@ -15441,6 +15751,13 @@ "description": "The request message for Conversations.GenerateStatelessSuggestion.", "id": "GoogleCloudDialogflowV2GenerateStatelessSuggestionRequest", "properties": { + "contextReferences": { + "additionalProperties": { + "$ref": "GoogleCloudDialogflowV2ConversationContextReference" + }, + "description": "Optional. A section of ingested context information. The key is the name of the context reference and the value contains the contents of the context reference. The key is used to incorporate ingested context references to enhance the generator.", + "type": "object" + }, "conversationContext": { "$ref": "GoogleCloudDialogflowV2ConversationContext", "description": "Optional. Context of the conversation, including transcripts." @@ -15459,12 +15776,16 @@ "enum": [ "TRIGGER_EVENT_UNSPECIFIED", "END_OF_UTTERANCE", - "MANUAL_CALL" + "MANUAL_CALL", + "CUSTOMER_MESSAGE", + "AGENT_MESSAGE" ], "enumDescriptions": [ "Default value for TriggerEvent.", "Triggers when each chat message or voice utterance ends.", - "Triggers on the conversation manually by API calls, such as Conversations.GenerateStatelessSuggestion and Conversations.GenerateSuggestions." + "Triggers on the conversation manually by API calls, such as Conversations.GenerateStatelessSuggestion and Conversations.GenerateSuggestions.", + "Triggers after each customer message only.", + "Triggers after each agent message only." ], "type": "string" }, @@ -15564,6 +15885,75 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2GenerateSuggestionsRequest": { + "description": "The request message for Conversations.GenerateSuggestions.", + "id": "GoogleCloudDialogflowV2GenerateSuggestionsRequest", + "properties": { + "latestMessage": { + "description": "Optional. The name of the latest conversation message for which the request is triggered. Format: `projects//locations//conversations//messages/`.", + "type": "string" + }, + "triggerEvents": { + "description": "Optional. A list of trigger events. Only generators configured in the conversation_profile whose trigger_event is listed here will be triggered.", + "items": { + "enum": [ + "TRIGGER_EVENT_UNSPECIFIED", + "END_OF_UTTERANCE", + "MANUAL_CALL", + "CUSTOMER_MESSAGE", + "AGENT_MESSAGE" + ], + "enumDescriptions": [ + "Default value for TriggerEvent.", + "Triggers when each chat message or voice utterance ends.", + "Triggers on the conversation manually by API calls, such as Conversations.GenerateStatelessSuggestion and Conversations.GenerateSuggestions.", + "Triggers after each customer message only.", + "Triggers after each agent message only." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2GenerateSuggestionsResponse": { + "description": "The response message for Conversations.GenerateSuggestions.", + "id": "GoogleCloudDialogflowV2GenerateSuggestionsResponse", + "properties": { + "generatorSuggestionAnswers": { + "description": "The answers generated for the conversation based on context.", + "items": { + "$ref": "GoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer" + }, + "type": "array" + }, + "latestMessage": { + "description": "The name of the latest conversation message used as context for compiling suggestion. Format: `projects//locations//conversations//messages/`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer": { + "description": "A GeneratorSuggestion answer.", + "id": "GoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer", + "properties": { + "answerRecord": { + "description": "Answer record that uniquely identifies the suggestion. This can be used to provide suggestion feedback.", + "type": "string" + }, + "generatorSuggestion": { + "$ref": "GoogleCloudDialogflowV2GeneratorSuggestion", + "description": "Suggestion details." + }, + "sourceGenerator": { + "description": "The name of the generator used to generate this suggestion. Format: `projects//locations//generators/`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2Generator": { "description": "LLM generator.", "id": "GoogleCloudDialogflowV2Generator", @@ -15578,6 +15968,10 @@ "description": "Optional. Human readable description of the generator.", "type": "string" }, + "freeFormContext": { + "$ref": "GoogleCloudDialogflowV2FreeFormContext", + "description": "Input of free from generator to LLM." + }, "inferenceParameter": { "$ref": "GoogleCloudDialogflowV2InferenceParameter", "description": "Optional. Inference parameters for this generator." @@ -15587,6 +15981,10 @@ "readOnly": true, "type": "string" }, + "publishedModel": { + "description": "Optional. The published Large Language Model name. * To use the latest model version, specify the model name without version number. Example: `text-bison` * To use a stable model version, specify the version number as well. Example: `text-bison@002`.", + "type": "string" + }, "summarizationContext": { "$ref": "GoogleCloudDialogflowV2SummarizationContext", "description": "Input of prebuilt Summarization feature." @@ -15596,12 +15994,16 @@ "enum": [ "TRIGGER_EVENT_UNSPECIFIED", "END_OF_UTTERANCE", - "MANUAL_CALL" + "MANUAL_CALL", + "CUSTOMER_MESSAGE", + "AGENT_MESSAGE" ], "enumDescriptions": [ "Default value for TriggerEvent.", "Triggers when each chat message or voice utterance ends.", - "Triggers on the conversation manually by API calls, such as Conversations.GenerateStatelessSuggestion and Conversations.GenerateSuggestions." + "Triggers on the conversation manually by API calls, such as Conversations.GenerateStatelessSuggestion and Conversations.GenerateSuggestions.", + "Triggers after each customer message only.", + "Triggers after each agent message only." ], "type": "string" }, @@ -15618,6 +16020,10 @@ "description": "Suggestion generated using a Generator.", "id": "GoogleCloudDialogflowV2GeneratorSuggestion", "properties": { + "freeFormSuggestion": { + "$ref": "GoogleCloudDialogflowV2FreeFormSuggestion", + "description": "Optional. Free form suggestion." + }, "summarySuggestion": { "$ref": "GoogleCloudDialogflowV2SummarySuggestion", "description": "Optional. Suggested summary." @@ -16164,6 +16570,34 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2IngestContextReferencesRequest": { + "description": "The request message for ConversationsService.IngestContextReferences.", + "id": "GoogleCloudDialogflowV2IngestContextReferencesRequest", + "properties": { + "contextReferences": { + "additionalProperties": { + "$ref": "GoogleCloudDialogflowV2ConversationContextReference" + }, + "description": "Required. The context references to ingest. The key is the name of the context reference and the value contains the contents of the context reference. The key is used to incorporate ingested context references to enhance the generator.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2IngestContextReferencesResponse": { + "description": "The response message for ConversationsService.IngestContextReferences.", + "id": "GoogleCloudDialogflowV2IngestContextReferencesResponse", + "properties": { + "ingestedContextReferences": { + "additionalProperties": { + "$ref": "GoogleCloudDialogflowV2ConversationContextReference" + }, + "description": "All context references ingested.", + "type": "object" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2InitializeEncryptionSpecMetadata": { "description": "Metadata for initializing a location-level encryption specification.", "id": "GoogleCloudDialogflowV2InitializeEncryptionSpecMetadata", @@ -17781,7 +18215,7 @@ "type": "string" }, "sendTime": { - "description": "Optional. The time when the message was sent.", + "description": "Optional. The time when the message was sent. For voice messages, this is the time when an utterance started.", "format": "google-datetime", "type": "string" }, @@ -18341,14 +18775,14 @@ "id": "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfig", "properties": { "boostSpecs": { - "description": "Optional. Boost specifications for data stores.", + "description": "Optional. Boost specifications for data stores. Maps from datastore name to their boost configuration. Do not specify more than one BoostSpecs for each datastore name. If multiple BoostSpecs are provided for the same datastore name, the behavior is undefined.", "items": { "$ref": "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecs" }, "type": "array" }, "filterSpecs": { - "description": "Optional. Filter specification for data store queries.", + "description": "Optional. Filter specification for data store queries. TMaps from datastore name to the filter expression for that datastore. Do not specify more than one FilterSpecs for each datastore name. If multiple FilterSpecs are provided for the same datastore name, the behavior is undefined.", "items": { "$ref": "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigFilterSpecs" }, @@ -18383,7 +18817,7 @@ "id": "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec", "properties": { "conditionBoostSpecs": { - "description": "Optional. Condition boost specifications. If a document matches multiple conditions in the specifictions, boost scores from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 20.", + "description": "Optional. Condition boost specifications. If a document matches multiple conditions in the specifications, boost scores from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 20.", "items": { "$ref": "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec" }, @@ -18615,6 +19049,7 @@ "ARTICLE_SUGGESTION", "FAQ", "SMART_REPLY", + "CONVERSATION_SUMMARIZATION", "KNOWLEDGE_SEARCH", "KNOWLEDGE_ASSIST" ], @@ -18623,6 +19058,7 @@ "Run article suggestion model for chat.", "Run FAQ model for chat.", "Run smart reply model for chat.", + "Run conversation summarization model for chat.", "Run knowledge search with text input from agent or text generated query.", "Run knowledge assist with automatic query generation." ], @@ -18802,7 +19238,7 @@ "type": "string" }, "phraseSets": { - "description": "List of names of Cloud Speech phrase sets that are used for transcription.", + "description": "List of names of Cloud Speech phrase sets that are used for transcription. For phrase set limitations, please refer to [Cloud Speech API quotas and limits](https://cloud.google.com/speech-to-text/quotas#content).", "items": { "type": "string" }, @@ -18830,7 +19266,7 @@ "type": "string" }, "useTimeoutBasedEndpointing": { - "description": "Use timeout based endpointing, interpreting endpointer sensitivy as seconds of timeout value.", + "description": "Use timeout based endpointing, interpreting endpointer sensitivity as seconds of timeout value.", "type": "boolean" } }, @@ -19078,7 +19514,7 @@ "type": "string" }, "previousSuggestedQuery": { - "description": "Optional. The previously suggested query for the given conversation. This helps identify whether the next suggestion we generate is resonably different from the previous one. This is useful to avoid similar suggestions within the conversation.", + "description": "Optional. The previously suggested query for the given conversation. This helps identify whether the next suggestion we generate is reasonably different from the previous one. This is useful to avoid similar suggestions within the conversation.", "type": "string" } }, @@ -19160,6 +19596,7 @@ "ARTICLE_SUGGESTION", "FAQ", "SMART_REPLY", + "CONVERSATION_SUMMARIZATION", "KNOWLEDGE_SEARCH", "KNOWLEDGE_ASSIST" ], @@ -19168,6 +19605,7 @@ "Run article suggestion model for chat.", "Run FAQ model for chat.", "Run smart reply model for chat.", + "Run conversation summarization model for chat.", "Run knowledge search with text input from agent or text generated query.", "Run knowledge assist with automatic query generation." ], @@ -19195,6 +19633,10 @@ "$ref": "GoogleRpcStatus", "description": "Error status if the request failed." }, + "generateSuggestionsResponse": { + "$ref": "GoogleCloudDialogflowV2GenerateSuggestionsResponse", + "description": "Suggestions generated using generators triggered by customer or agent messages." + }, "suggestArticlesResponse": { "$ref": "GoogleCloudDialogflowV2SuggestArticlesResponse", "description": "SuggestArticlesResponse if request is for ARTICLE_SUGGESTION." @@ -19265,7 +19707,9 @@ "REASON_FOR_CANCELLATION", "CUSTOMER_SATISFACTION", "ENTITIES", - "CUSTOMER_DEFINED" + "CUSTOMER_DEFINED", + "SITUATION_CONCISE", + "ACTION_CONCISE" ], "enumDescriptions": [ "Undefined section type, does not return anything.", @@ -19275,7 +19719,9 @@ "Reason for cancellation if the customer requests for a cancellation. \"N/A\" otherwise. Section name: \"reason_for_cancellation\".", "\"Unsatisfied\" or \"Satisfied\" depending on the customer's feelings at the end of the conversation. Section name: \"customer_satisfaction\".", "Key entities extracted from the conversation, such as ticket number, order number, dollar amount, etc. Section names are prefixed by \"entities/\".", - "Customer defined sections." + "Customer defined sections.", + "Concise version of the situation section. This type is only available if type SITUATION is not selected.", + "Concise version of the action section. This type is only available if type ACTION is not selected." ], "type": "string" } @@ -20035,6 +20481,17 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1FreeFormSuggestion": { + "description": "Suggestion generated using free form generator.", + "id": "GoogleCloudDialogflowV2beta1FreeFormSuggestion", + "properties": { + "response": { + "description": "Required. Free form suggestion.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1GcsDestination": { "description": "Google Cloud Storage location for the output.", "id": "GoogleCloudDialogflowV2beta1GcsDestination", @@ -20046,6 +20503,58 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1GenerateSuggestionsResponse": { + "description": "The response message for Conversations.GenerateSuggestions.", + "id": "GoogleCloudDialogflowV2beta1GenerateSuggestionsResponse", + "properties": { + "generatorSuggestionAnswers": { + "description": "The answers generated for the conversation based on context.", + "items": { + "$ref": "GoogleCloudDialogflowV2beta1GenerateSuggestionsResponseGeneratorSuggestionAnswer" + }, + "type": "array" + }, + "latestMessage": { + "description": "The name of the latest conversation message used as context for compiling suggestion. Format: `projects//locations//conversations//messages/`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1GenerateSuggestionsResponseGeneratorSuggestionAnswer": { + "description": "A GeneratorSuggestion answer.", + "id": "GoogleCloudDialogflowV2beta1GenerateSuggestionsResponseGeneratorSuggestionAnswer", + "properties": { + "answerRecord": { + "description": "Answer record that uniquely identifies the suggestion. This can be used to provide suggestion feedback.", + "type": "string" + }, + "generatorSuggestion": { + "$ref": "GoogleCloudDialogflowV2beta1GeneratorSuggestion", + "description": "Suggestion details." + }, + "sourceGenerator": { + "description": "The name of the generator used to generate this suggestion. Format: `projects//locations//generators/`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1GeneratorSuggestion": { + "description": "Suggestion generated using a Generator.", + "id": "GoogleCloudDialogflowV2beta1GeneratorSuggestion", + "properties": { + "freeFormSuggestion": { + "$ref": "GoogleCloudDialogflowV2beta1FreeFormSuggestion", + "description": "Optional. Free form suggestion." + }, + "summarySuggestion": { + "$ref": "GoogleCloudDialogflowV2beta1SummarySuggestion", + "description": "Optional. Suggested summary." + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1HumanAgentAssistantEvent": { "description": "Output only. Represents a notification sent to Pub/Sub subscribers for agent assistant events in a specific conversation.", "id": "GoogleCloudDialogflowV2beta1HumanAgentAssistantEvent", @@ -21581,7 +22090,7 @@ "type": "array" }, "sendTime": { - "description": "Optional. The time when the message was sent.", + "description": "Optional. The time when the message was sent. For voice messages, this is the time when an utterance started.", "format": "google-datetime", "type": "string" }, @@ -21771,7 +22280,7 @@ "type": "object" }, "GoogleCloudDialogflowV2beta1ResponseMessageLiveAgentHandoff": { - "description": "Indicates that the conversation should be handed off to a human agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry fulfillment of a CX Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human.", + "description": "Indicates that the conversation should be handed off to a human agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry fulfillment of a Dialogflow CX Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human.", "id": "GoogleCloudDialogflowV2beta1ResponseMessageLiveAgentHandoff", "properties": { "metadata": { @@ -22194,6 +22703,10 @@ "$ref": "GoogleRpcStatus", "description": "Error status if the request failed." }, + "generateSuggestionsResponse": { + "$ref": "GoogleCloudDialogflowV2beta1GenerateSuggestionsResponse", + "description": "Suggestions generated using generators triggered by customer or agent messages." + }, "suggestArticlesResponse": { "$ref": "GoogleCloudDialogflowV2beta1SuggestArticlesResponse", "description": "SuggestArticlesResponse if request is for ARTICLE_SUGGESTION." @@ -22221,6 +22734,35 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1SummarySuggestion": { + "description": "Suggested summary of the conversation.", + "id": "GoogleCloudDialogflowV2beta1SummarySuggestion", + "properties": { + "summarySections": { + "description": "Required. All the parts of generated summary.", + "items": { + "$ref": "GoogleCloudDialogflowV2beta1SummarySuggestionSummarySection" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1SummarySuggestionSummarySection": { + "description": "A component of the generated summary.", + "id": "GoogleCloudDialogflowV2beta1SummarySuggestionSummarySection", + "properties": { + "section": { + "description": "Required. Name of the section.", + "type": "string" + }, + "summary": { + "description": "Required. Summary text for the section.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1TelephonyDtmfEvents": { "description": "A wrapper of repeated TelephonyDtmf digits.", "id": "GoogleCloudDialogflowV2beta1TelephonyDtmfEvents", diff --git a/discovery/googleapis/dialogflow__v3.json b/discovery/googleapis/dialogflow__v3.json index b640faed3..c88912826 100644 --- a/discovery/googleapis/dialogflow__v3.json +++ b/discovery/googleapis/dialogflow__v3.json @@ -28,7 +28,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241216", + "revision": "20250310", "rootUrl": "https://dialogflow.googleapis.com/", "servicePath": "", "title": "Dialogflow API", @@ -4552,7 +4552,7 @@ "type": "string" }, "useTimeoutBasedEndpointing": { - "description": "Use timeout based endpointing, interpreting endpointer sensitivy as seconds of timeout value.", + "description": "Use timeout based endpointing, interpreting endpointer sensitivity as seconds of timeout value.", "type": "boolean" } }, @@ -4623,6 +4623,16 @@ "$ref": "GoogleCloudDialogflowCxV3AgentPersonalizationSettings", "description": "Optional. Settings for end user personalization." }, + "satisfiesPzi": { + "description": "Optional. Output only. A read only boolean field reflecting Zone Isolation status of the agent.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Optional. Output only. A read only boolean field reflecting Zone Separation status of the agent.", + "readOnly": true, + "type": "boolean" + }, "securitySettings": { "description": "Name of the SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.", "type": "string" @@ -4913,7 +4923,7 @@ "id": "GoogleCloudDialogflowCxV3BoostSpec", "properties": { "conditionBoostSpecs": { - "description": "Optional. Condition boost specifications. If a document matches multiple conditions in the specifictions, boost scores from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 20.", + "description": "Optional. Condition boost specifications. If a document matches multiple conditions in the specifications, boost scores from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 20.", "items": { "$ref": "GoogleCloudDialogflowCxV3BoostSpecConditionBoostSpec" }, @@ -5295,6 +5305,20 @@ "A data store that contains structured data (for example FAQ)." ], "type": "string" + }, + "documentProcessingMode": { + "description": "The document processing mode for the data store connection. Should only be set for PUBLIC_WEB and UNSTRUCTURED data stores. If not set it is considered as DOCUMENTS, as this is the legacy mode.", + "enum": [ + "DOCUMENT_PROCESSING_MODE_UNSPECIFIED", + "DOCUMENTS", + "CHUNKS" + ], + "enumDescriptions": [ + "Not specified. This should be set for STRUCTURED type data stores. Due to legacy reasons this is considered as DOCUMENTS for STRUCTURED and PUBLIC_WEB data stores.", + "Documents are processed as documents.", + "Documents are converted to chunks." + ], + "type": "string" } }, "type": "object" @@ -6501,7 +6525,7 @@ "type": "array" }, "transitionRoutes": { - "description": "A flow's transition routes serve two purposes: * They are responsible for matching the user's first utterances in the flow. * They are inherited by every page's transition routes and can support use cases such as the user saying \"help\" or \"can I talk to a human?\", which can be handled in a common way regardless of the current page. Transition routes defined in the page have higher priority than those defined in the flow. TransitionRoutes are evalauted in the following order: * TransitionRoutes with intent specified. * TransitionRoutes with only condition specified. TransitionRoutes with intent specified are inherited by pages in the flow.", + "description": "A flow's transition routes serve two purposes: * They are responsible for matching the user's first utterances in the flow. * They are inherited by every page's transition routes and can support use cases such as the user saying \"help\" or \"can I talk to a human?\", which can be handled in a common way regardless of the current page. Transition routes defined in the page have higher priority than those defined in the flow. TransitionRoutes are evaluated in the following order: * TransitionRoutes with intent specified. * TransitionRoutes with only condition specified. TransitionRoutes with intent specified are inherited by pages in the flow.", "items": { "$ref": "GoogleCloudDialogflowCxV3TransitionRoute" }, @@ -8145,7 +8169,7 @@ "type": "array" }, "transitionRoutes": { - "description": "A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow. When we are in a certain page, the TransitionRoutes are evalauted in the following order: * TransitionRoutes defined in the page with intent specified. * TransitionRoutes defined in the transition route groups with intent specified. * TransitionRoutes defined in flow with intent specified. * TransitionRoutes defined in the transition route groups with intent specified. * TransitionRoutes defined in the page with only condition specified. * TransitionRoutes defined in the transition route groups with only condition specified.", + "description": "A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow. When we are in a certain page, the TransitionRoutes are evaluated in the following order: * TransitionRoutes defined in the page with intent specified. * TransitionRoutes defined in the transition route groups with intent specified. * TransitionRoutes defined in flow with intent specified. * TransitionRoutes defined in the transition route groups with intent specified. * TransitionRoutes defined in the page with only condition specified. * TransitionRoutes defined in the transition route groups with only condition specified.", "items": { "$ref": "GoogleCloudDialogflowCxV3TransitionRoute" }, @@ -8324,6 +8348,7 @@ "type": "object" }, "populateDataStoreConnectionSignals": { + "deprecated": true, "description": "Optional. If set to true and data stores are involved in serving the request then DetectIntentResponse.query_result.data_store_connection_signals will be filled with data that can help evaluations.", "type": "boolean" }, @@ -8375,7 +8400,7 @@ }, "dataStoreConnectionSignals": { "$ref": "GoogleCloudDialogflowCxV3DataStoreConnectionSignals", - "description": "Optional. Data store connection feature output signals. Filled only when data stores are involved in serving the query and DetectIntentRequest.populate_data_store_connection_signals is set to true in the request." + "description": "Optional. Data store connection feature output signals. Filled only when data stores are involved in serving the query." }, "diagnosticInfo": { "additionalProperties": { @@ -8897,14 +8922,14 @@ "id": "GoogleCloudDialogflowCxV3SearchConfig", "properties": { "boostSpecs": { - "description": "Optional. Boosting configuration for the datastores.", + "description": "Optional. Boosting configuration for the datastores. Maps from datastore name to their boost configuration. Do not specify more than one BoostSpecs for each datastore name. If multiple BoostSpecs are provided for the same datastore name, the behavior is undefined.", "items": { "$ref": "GoogleCloudDialogflowCxV3BoostSpecs" }, "type": "array" }, "filterSpecs": { - "description": "Optional. Filter configuration for the datastores.", + "description": "Optional. Filter configuration for the datastores. Maps from datastore name to the filter expression for that datastore. Do not specify more than one FilterSpecs for each datastore name. If multiple FilterSpecs are provided for the same datastore name, the behavior is undefined.", "items": { "$ref": "GoogleCloudDialogflowCxV3FilterSpecs" }, @@ -10018,7 +10043,7 @@ "type": "string" }, "clientSecret": { - "description": "Required. The client secret provided by the 3rd party platform.", + "description": "Optional. The client secret provided by the 3rd party platform.", "type": "string" }, "scopes": { @@ -10351,7 +10376,7 @@ "type": "string" }, "useTimeoutBasedEndpointing": { - "description": "Use timeout based endpointing, interpreting endpointer sensitivy as seconds of timeout value.", + "description": "Use timeout based endpointing, interpreting endpointer sensitivity as seconds of timeout value.", "type": "boolean" } }, @@ -10592,6 +10617,20 @@ "A data store that contains structured data (for example FAQ)." ], "type": "string" + }, + "documentProcessingMode": { + "description": "The document processing mode for the data store connection. Should only be set for PUBLIC_WEB and UNSTRUCTURED data stores. If not set it is considered as DOCUMENTS, as this is the legacy mode.", + "enum": [ + "DOCUMENT_PROCESSING_MODE_UNSPECIFIED", + "DOCUMENTS", + "CHUNKS" + ], + "enumDescriptions": [ + "Not specified. This should be set for STRUCTURED type data stores. Due to legacy reasons this is considered as DOCUMENTS for STRUCTURED and PUBLIC_WEB data stores.", + "Documents are processed as documents.", + "Documents are converted to chunks." + ], + "type": "string" } }, "type": "object" @@ -11504,7 +11543,7 @@ "type": "array" }, "transitionRoutes": { - "description": "A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow. When we are in a certain page, the TransitionRoutes are evalauted in the following order: * TransitionRoutes defined in the page with intent specified. * TransitionRoutes defined in the transition route groups with intent specified. * TransitionRoutes defined in flow with intent specified. * TransitionRoutes defined in the transition route groups with intent specified. * TransitionRoutes defined in the page with only condition specified. * TransitionRoutes defined in the transition route groups with only condition specified.", + "description": "A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow. When we are in a certain page, the TransitionRoutes are evaluated in the following order: * TransitionRoutes defined in the page with intent specified. * TransitionRoutes defined in the transition route groups with intent specified. * TransitionRoutes defined in flow with intent specified. * TransitionRoutes defined in the transition route groups with intent specified. * TransitionRoutes defined in the page with only condition specified. * TransitionRoutes defined in the transition route groups with only condition specified.", "items": { "$ref": "GoogleCloudDialogflowCxV3beta1TransitionRoute" }, @@ -12379,7 +12418,7 @@ "type": "string" }, "clientSecret": { - "description": "Required. The client secret provided by the 3rd party platform.", + "description": "Optional. The client secret provided by the 3rd party platform.", "type": "string" }, "scopes": { @@ -12760,6 +12799,7 @@ "ARTICLE_SUGGESTION", "FAQ", "SMART_REPLY", + "CONVERSATION_SUMMARIZATION", "KNOWLEDGE_SEARCH", "KNOWLEDGE_ASSIST" ], @@ -12768,6 +12808,7 @@ "Run article suggestion model for chat.", "Run FAQ model for chat.", "Run smart reply model for chat.", + "Run conversation summarization model for chat.", "Run knowledge search with text input from agent or text generated query.", "Run knowledge assist with automatic query generation." ], @@ -13221,6 +13262,17 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2FreeFormSuggestion": { + "description": "Suggestion generated using free form generator.", + "id": "GoogleCloudDialogflowV2FreeFormSuggestion", + "properties": { + "response": { + "description": "Required. Free form suggestion.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2GcsDestination": { "description": "Google Cloud Storage location for the output.", "id": "GoogleCloudDialogflowV2GcsDestination", @@ -13232,6 +13284,58 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2GenerateSuggestionsResponse": { + "description": "The response message for Conversations.GenerateSuggestions.", + "id": "GoogleCloudDialogflowV2GenerateSuggestionsResponse", + "properties": { + "generatorSuggestionAnswers": { + "description": "The answers generated for the conversation based on context.", + "items": { + "$ref": "GoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer" + }, + "type": "array" + }, + "latestMessage": { + "description": "The name of the latest conversation message used as context for compiling suggestion. Format: `projects//locations//conversations//messages/`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer": { + "description": "A GeneratorSuggestion answer.", + "id": "GoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer", + "properties": { + "answerRecord": { + "description": "Answer record that uniquely identifies the suggestion. This can be used to provide suggestion feedback.", + "type": "string" + }, + "generatorSuggestion": { + "$ref": "GoogleCloudDialogflowV2GeneratorSuggestion", + "description": "Suggestion details." + }, + "sourceGenerator": { + "description": "The name of the generator used to generate this suggestion. Format: `projects//locations//generators/`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2GeneratorSuggestion": { + "description": "Suggestion generated using a Generator.", + "id": "GoogleCloudDialogflowV2GeneratorSuggestion", + "properties": { + "freeFormSuggestion": { + "$ref": "GoogleCloudDialogflowV2FreeFormSuggestion", + "description": "Optional. Free form suggestion." + }, + "summarySuggestion": { + "$ref": "GoogleCloudDialogflowV2SummarySuggestion", + "description": "Optional. Suggested summary." + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2HumanAgentAssistantEvent": { "description": "Represents a notification sent to Cloud Pub/Sub subscribers for human agent assistant events in a specific conversation.", "id": "GoogleCloudDialogflowV2HumanAgentAssistantEvent", @@ -14440,7 +14544,7 @@ "type": "string" }, "sendTime": { - "description": "Optional. The time when the message was sent.", + "description": "Optional. The time when the message was sent. For voice messages, this is the time when an utterance started.", "format": "google-datetime", "type": "string" }, @@ -14680,6 +14784,7 @@ "ARTICLE_SUGGESTION", "FAQ", "SMART_REPLY", + "CONVERSATION_SUMMARIZATION", "KNOWLEDGE_SEARCH", "KNOWLEDGE_ASSIST" ], @@ -14688,6 +14793,7 @@ "Run article suggestion model for chat.", "Run FAQ model for chat.", "Run smart reply model for chat.", + "Run conversation summarization model for chat.", "Run knowledge search with text input from agent or text generated query.", "Run knowledge assist with automatic query generation." ], @@ -14912,6 +15018,10 @@ "$ref": "GoogleRpcStatus", "description": "Error status if the request failed." }, + "generateSuggestionsResponse": { + "$ref": "GoogleCloudDialogflowV2GenerateSuggestionsResponse", + "description": "Suggestions generated using generators triggered by customer or agent messages." + }, "suggestArticlesResponse": { "$ref": "GoogleCloudDialogflowV2SuggestArticlesResponse", "description": "SuggestArticlesResponse if request is for ARTICLE_SUGGESTION." @@ -14931,6 +15041,35 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2SummarySuggestion": { + "description": "Suggested summary of the conversation.", + "id": "GoogleCloudDialogflowV2SummarySuggestion", + "properties": { + "summarySections": { + "description": "Required. All the parts of generated summary.", + "items": { + "$ref": "GoogleCloudDialogflowV2SummarySuggestionSummarySection" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2SummarySuggestionSummarySection": { + "description": "A component of the generated summary.", + "id": "GoogleCloudDialogflowV2SummarySuggestionSummarySection", + "properties": { + "section": { + "description": "Required. Name of the section.", + "type": "string" + }, + "summary": { + "description": "Required. Summary text for the section.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2UndeployConversationModelOperationMetadata": { "description": "Metadata for a ConversationModels.UndeployConversationModel operation.", "id": "GoogleCloudDialogflowV2UndeployConversationModelOperationMetadata", @@ -15414,6 +15553,17 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1FreeFormSuggestion": { + "description": "Suggestion generated using free form generator.", + "id": "GoogleCloudDialogflowV2beta1FreeFormSuggestion", + "properties": { + "response": { + "description": "Required. Free form suggestion.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1GcsDestination": { "description": "Google Cloud Storage location for the output.", "id": "GoogleCloudDialogflowV2beta1GcsDestination", @@ -15425,6 +15575,58 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1GenerateSuggestionsResponse": { + "description": "The response message for Conversations.GenerateSuggestions.", + "id": "GoogleCloudDialogflowV2beta1GenerateSuggestionsResponse", + "properties": { + "generatorSuggestionAnswers": { + "description": "The answers generated for the conversation based on context.", + "items": { + "$ref": "GoogleCloudDialogflowV2beta1GenerateSuggestionsResponseGeneratorSuggestionAnswer" + }, + "type": "array" + }, + "latestMessage": { + "description": "The name of the latest conversation message used as context for compiling suggestion. Format: `projects//locations//conversations//messages/`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1GenerateSuggestionsResponseGeneratorSuggestionAnswer": { + "description": "A GeneratorSuggestion answer.", + "id": "GoogleCloudDialogflowV2beta1GenerateSuggestionsResponseGeneratorSuggestionAnswer", + "properties": { + "answerRecord": { + "description": "Answer record that uniquely identifies the suggestion. This can be used to provide suggestion feedback.", + "type": "string" + }, + "generatorSuggestion": { + "$ref": "GoogleCloudDialogflowV2beta1GeneratorSuggestion", + "description": "Suggestion details." + }, + "sourceGenerator": { + "description": "The name of the generator used to generate this suggestion. Format: `projects//locations//generators/`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1GeneratorSuggestion": { + "description": "Suggestion generated using a Generator.", + "id": "GoogleCloudDialogflowV2beta1GeneratorSuggestion", + "properties": { + "freeFormSuggestion": { + "$ref": "GoogleCloudDialogflowV2beta1FreeFormSuggestion", + "description": "Optional. Free form suggestion." + }, + "summarySuggestion": { + "$ref": "GoogleCloudDialogflowV2beta1SummarySuggestion", + "description": "Optional. Suggested summary." + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1HumanAgentAssistantEvent": { "description": "Output only. Represents a notification sent to Pub/Sub subscribers for agent assistant events in a specific conversation.", "id": "GoogleCloudDialogflowV2beta1HumanAgentAssistantEvent", @@ -16960,7 +17162,7 @@ "type": "array" }, "sendTime": { - "description": "Optional. The time when the message was sent.", + "description": "Optional. The time when the message was sent. For voice messages, this is the time when an utterance started.", "format": "google-datetime", "type": "string" }, @@ -17150,7 +17352,7 @@ "type": "object" }, "GoogleCloudDialogflowV2beta1ResponseMessageLiveAgentHandoff": { - "description": "Indicates that the conversation should be handed off to a human agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry fulfillment of a CX Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human.", + "description": "Indicates that the conversation should be handed off to a human agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry fulfillment of a Dialogflow CX Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human.", "id": "GoogleCloudDialogflowV2beta1ResponseMessageLiveAgentHandoff", "properties": { "metadata": { @@ -17573,6 +17775,10 @@ "$ref": "GoogleRpcStatus", "description": "Error status if the request failed." }, + "generateSuggestionsResponse": { + "$ref": "GoogleCloudDialogflowV2beta1GenerateSuggestionsResponse", + "description": "Suggestions generated using generators triggered by customer or agent messages." + }, "suggestArticlesResponse": { "$ref": "GoogleCloudDialogflowV2beta1SuggestArticlesResponse", "description": "SuggestArticlesResponse if request is for ARTICLE_SUGGESTION." @@ -17600,6 +17806,35 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1SummarySuggestion": { + "description": "Suggested summary of the conversation.", + "id": "GoogleCloudDialogflowV2beta1SummarySuggestion", + "properties": { + "summarySections": { + "description": "Required. All the parts of generated summary.", + "items": { + "$ref": "GoogleCloudDialogflowV2beta1SummarySuggestionSummarySection" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1SummarySuggestionSummarySection": { + "description": "A component of the generated summary.", + "id": "GoogleCloudDialogflowV2beta1SummarySuggestionSummarySection", + "properties": { + "section": { + "description": "Required. Name of the section.", + "type": "string" + }, + "summary": { + "description": "Required. Summary text for the section.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1TelephonyDtmfEvents": { "description": "A wrapper of repeated TelephonyDtmf digits.", "id": "GoogleCloudDialogflowV2beta1TelephonyDtmfEvents", diff --git a/discovery/googleapis/digitalassetlinks__v1.json b/discovery/googleapis/digitalassetlinks__v1.json index b310d8fed..2d3a80651 100644 --- a/discovery/googleapis/digitalassetlinks__v1.json +++ b/discovery/googleapis/digitalassetlinks__v1.json @@ -15,7 +15,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241207", + "revision": "20250211", "rootUrl": "https://digitalassetlinks.googleapis.com/", "servicePath": "", "title": "Digital Asset Links API", @@ -101,6 +101,21 @@ "resources": { "assetlinks": { "methods": { + "bulkCheck": { + "description": "Send a bundle of statement checks in a single RPC to minimize latency and service load. Statements need not be all for the same source and/or target. We recommend using this method when you need to check more than one statement in a short period of time.", + "flatPath": "v1/assetlinks:bulkCheck", + "httpMethod": "POST", + "id": "digitalassetlinks.assetlinks.bulkCheck", + "parameterOrder": [], + "parameters": {}, + "path": "v1/assetlinks:bulkCheck", + "request": { + "$ref": "BulkCheckRequest" + }, + "response": { + "$ref": "BulkCheckResponse" + } + }, "check": { "description": "Determines whether the specified (directional) relationship exists between the specified source and target assets. The relation describes the intent of the link between the two assets as claimed by the source asset. An example for such relationships is the delegation of privileges or permissions. This command is most often used by infrastructure systems to check preconditions for an action. For example, a client may want to know if it is OK to send a web URL to a particular mobile app instead. The client can check for the relevant asset link from the website to the mobile app to decide if the operation should be allowed. A note about security: if you specify a secure asset as the source, such as an HTTPS website or an Android app, the API will ensure that any statements used to generate the response have been made in a secure way by the owner of that asset. Conversely, if the source asset is an insecure HTTP website (that is, the URL starts with `http://` instead of `https://`), the API cannot verify its statements securely, and it is not possible to ensure that the website's statements have not been altered by a third party. For more information, see the [Digital Asset Links technical design specification](https://github.com/google/digitalassetlinks/blob/master/well-known/details.md).", "flatPath": "v1/assetlinks:check", @@ -220,6 +235,76 @@ }, "type": "object" }, + "BulkCheckRequest": { + "description": "Message used to check for the existence of multiple digital asset links within a single RPC.", + "id": "BulkCheckRequest", + "properties": { + "defaultRelation": { + "description": "If specified, will be used in any given template statement that doesn’t specify a relation.", + "type": "string" + }, + "defaultSource": { + "$ref": "Asset", + "description": "If specified, will be used in any given template statement that doesn’t specify a source." + }, + "defaultTarget": { + "$ref": "Asset", + "description": "If specified, will be used in any given template statement that doesn’t specify a target." + }, + "statements": { + "description": "List of statements to check. For each statement, you can omit a field if the corresponding default_* field below was supplied. Minimum 1 statement; maximum 1,000 statements. Any additional statements will be ignored.", + "items": { + "$ref": "StatementTemplate" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkCheckResponse": { + "description": "Response for BulkCheck call. Results are sent in a list in the same order in which they were sent. Individual check errors are described in the appropriate check_results entry. If the entire call fails, the response will include a bulk_error_code field describing the error.", + "id": "BulkCheckResponse", + "properties": { + "bulkErrorCode": { + "description": "Error code for the entire request. Present only if the entire request failed. Individual check errors will not trigger the presence of this field.", + "enum": [ + "ERROR_CODE_UNSPECIFIED", + "ERROR_CODE_INVALID_QUERY", + "ERROR_CODE_FETCH_ERROR", + "ERROR_CODE_FAILED_SSL_VALIDATION", + "ERROR_CODE_REDIRECT", + "ERROR_CODE_TOO_LARGE", + "ERROR_CODE_MALFORMED_HTTP_RESPONSE", + "ERROR_CODE_WRONG_CONTENT_TYPE", + "ERROR_CODE_MALFORMED_CONTENT", + "ERROR_CODE_SECURE_ASSET_INCLUDES_INSECURE", + "ERROR_CODE_FETCH_BUDGET_EXHAUSTED" + ], + "enumDescriptions": [ + "Default value, otherwise unused.", + "Unable to parse query.", + "Unable to fetch the asset links data.", + "Invalid HTTPS certificate .", + "HTTP redirects (e.g, 301) are not allowed.", + "Asset links data exceeds maximum size.", + "Can't parse HTTP response.", + "HTTP Content-type should be application/json.", + "JSON content is malformed.", + "A secure asset includes an insecure asset (security downgrade).", + "Too many includes (maybe a loop)." + ], + "type": "string" + }, + "checkResults": { + "description": "List of results for each check request. Results are returned in the same order in which they were sent in the request.", + "items": { + "$ref": "CheckResponse" + }, + "type": "array" + } + }, + "type": "object" + }, "CertificateInfo": { "description": "Describes an X509 certificate.", "id": "CertificateInfo", @@ -359,6 +444,25 @@ }, "type": "object" }, + "StatementTemplate": { + "description": "A single statement to check in a bulk call using BulkCheck. See CheckRequest for details about each field.", + "id": "StatementTemplate", + "properties": { + "relation": { + "description": "The relationship being asserted between the source and target. If omitted, you must specify a BulkCheckRequest.default_relation value to use here.", + "type": "string" + }, + "source": { + "$ref": "Asset", + "description": "The source asset that is asserting the statement. If omitted, you must specify a BulkCheckRequest.default_source value to use here." + }, + "target": { + "$ref": "Asset", + "description": "The target that the source is declaring the relationship with. If omitted, you must specify a BulkCheckRequest.default_target to use here." + } + }, + "type": "object" + }, "WebAsset": { "description": "Describes a web asset.", "id": "WebAsset", diff --git a/discovery/googleapis/displayvideo__v2.json b/discovery/googleapis/displayvideo__v2.json index 4653b55ab..a7f2380b6 100644 --- a/discovery/googleapis/displayvideo__v2.json +++ b/discovery/googleapis/displayvideo__v2.json @@ -34,7 +34,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241212", + "revision": "20250220", "rootUrl": "https://displayvideo.googleapis.com/", "servicePath": "", "title": "Display & Video 360 API", @@ -575,18 +575,18 @@ "https://www.googleapis.com/auth/display-video-mediaplanning" ] }, - "listAssignedTargetingOptions": { - "description": "Lists assigned targeting options of a campaign across targeting types.", - "flatPath": "v2/advertisers/{advertisersId}/campaigns/{campaignsId}:listAssignedTargetingOptions", - "httpMethod": "GET", - "id": "displayvideo.advertisers.campaigns.listAssignedTargetingOptions", + "patch": { + "description": "Updates an existing campaign. Returns the updated campaign if successful.", + "flatPath": "v2/advertisers/{advertisersId}/campaigns/{campaignsId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.campaigns.patch", "parameterOrder": [ "advertiserId", "campaignId" ], "parameters": { "advertiserId": { - "description": "Required. The ID of the advertiser the campaign belongs to.", + "description": "Output only. The unique ID of the advertiser the campaign belongs to.", "format": "int64", "location": "path", "pattern": "^[^/]+$", @@ -594,7 +594,123 @@ "type": "string" }, "campaignId": { - "description": "Required. The ID of the campaign to list assigned targeting options for.", + "description": "Output only. The unique ID of the campaign. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}", + "request": { + "$ref": "Campaign" + }, + "response": { + "$ref": "Campaign" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/display-video-mediaplanning" + ] + } + } + }, + "channels": { + "methods": { + "create": { + "description": "Creates a new channel. Returns the newly created channel if successful.", + "flatPath": "v2/advertisers/{advertisersId}/channels", + "httpMethod": "POST", + "id": "displayvideo.advertisers.channels.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the created channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the created channel.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v2/advertisers/{+advertiserId}/channels", + "request": { + "$ref": "Channel" + }, + "response": { + "$ref": "Channel" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a channel for a partner or advertiser.", + "flatPath": "v2/advertisers/{advertisersId}/channels/{channelsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.channels.get", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the fetched channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the channel to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the fetched channel.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v2/advertisers/{+advertiserId}/channels/{+channelId}", + "response": { + "$ref": "Channel" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists channels for a partner or advertiser.", + "flatPath": "v2/advertisers/{advertisersId}/channels", + "httpMethod": "GET", + "id": "displayvideo.advertisers.channels.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the channels.", "format": "int64", "location": "path", "pattern": "^[^/]+$", @@ -602,61 +718,72 @@ "type": "string" }, "filter": { - "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_LANGUAGE` or `TARGETING_TYPE_GENDER`: `targetingType=\"TARGETING_TYPE_LANGUAGE\" OR targetingType=\"TARGETING_TYPE_GENDER\"` * `AssignedTargetingOption` resources 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. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "description": "Allows filtering by channel fields. Supported syntax: * Filter expressions for channel can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All channels for which the display name contains \"google\": `displayName : \"google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", "location": "query", "type": "string" }, "orderBy": { - "description": "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`.", + "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` 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`.", "location": "query", "type": "string" }, "pageSize": { - "description": "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.", + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "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.", + "description": "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 `ListChannels` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the channels.", + "format": "int64", "location": "query", "type": "string" } }, - "path": "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}:listAssignedTargetingOptions", + "path": "v2/advertisers/{+advertiserId}/channels", "response": { - "$ref": "BulkListCampaignAssignedTargetingOptionsResponse" + "$ref": "ListChannelsResponse" }, "scopes": [ "https://www.googleapis.com/auth/display-video" ] }, "patch": { - "description": "Updates an existing campaign. Returns the updated campaign if successful.", - "flatPath": "v2/advertisers/{advertisersId}/campaigns/{campaignsId}", + "description": "Updates a channel. Returns the updated channel if successful.", + "flatPath": "v2/advertisers/{advertisersId}/channels/{channelId}", "httpMethod": "PATCH", - "id": "displayvideo.advertisers.campaigns.patch", + "id": "displayvideo.advertisers.channels.patch", "parameterOrder": [ "advertiserId", - "campaignId" + "channelId" ], "parameters": { "advertiserId": { - "description": "Output only. The unique ID of the advertiser the campaign belongs to.", + "description": "The ID of the advertiser that owns the created channel.", "format": "int64", "location": "path", "pattern": "^[^/]+$", "required": true, "type": "string" }, - "campaignId": { - "description": "Output only. The unique ID of the campaign. Assigned by the system.", + "channelId": { + "description": "Output only. The unique ID of the channel. Assigned by the system.", "format": "int64", "location": "path", - "pattern": "^[^/]+$", "required": true, "type": "string" }, + "partnerId": { + "description": "The ID of the partner that owns the created channel.", + "format": "int64", + "location": "query", + "type": "string" + }, "updateMask": { "description": "Required. The mask to control which fields to update.", "format": "google-fieldmask", @@ -664,557 +791,45 @@ "type": "string" } }, - "path": "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}", + "path": "v2/advertisers/{+advertiserId}/channels/{channelId}", "request": { - "$ref": "Campaign" + "$ref": "Channel" }, "response": { - "$ref": "Campaign" + "$ref": "Channel" }, "scopes": [ - "https://www.googleapis.com/auth/display-video", - "https://www.googleapis.com/auth/display-video-mediaplanning" + "https://www.googleapis.com/auth/display-video" ] } }, "resources": { - "targetingTypes": { - "resources": { - "assignedTargetingOptions": { - "methods": { - "get": { - "description": "Gets a single targeting option assigned to a campaign.", - "flatPath": "v2/advertisers/{advertisersId}/campaigns/{campaignsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", - "httpMethod": "GET", - "id": "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.get", - "parameterOrder": [ - "advertiserId", - "campaignId", - "targetingType", - "assignedTargetingOptionId" - ], - "parameters": { - "advertiserId": { - "description": "Required. The ID of the advertiser the campaign belongs to.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "assignedTargetingOptionId": { - "description": "Required. An identifier unique to the targeting type in this campaign that identifies the assigned targeting option being requested.", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "campaignId": { - "description": "Required. The ID of the campaign the assigned targeting option belongs to.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "targetingType": { - "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY`", - "enum": [ - "TARGETING_TYPE_UNSPECIFIED", - "TARGETING_TYPE_CHANNEL", - "TARGETING_TYPE_APP_CATEGORY", - "TARGETING_TYPE_APP", - "TARGETING_TYPE_URL", - "TARGETING_TYPE_DAY_AND_TIME", - "TARGETING_TYPE_AGE_RANGE", - "TARGETING_TYPE_REGIONAL_LOCATION_LIST", - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", - "TARGETING_TYPE_GENDER", - "TARGETING_TYPE_VIDEO_PLAYER_SIZE", - "TARGETING_TYPE_USER_REWARDED_CONTENT", - "TARGETING_TYPE_PARENTAL_STATUS", - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", - "TARGETING_TYPE_DEVICE_TYPE", - "TARGETING_TYPE_AUDIENCE_GROUP", - "TARGETING_TYPE_BROWSER", - "TARGETING_TYPE_HOUSEHOLD_INCOME", - "TARGETING_TYPE_ON_SCREEN_POSITION", - "TARGETING_TYPE_THIRD_PARTY_VERIFIER", - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", - "TARGETING_TYPE_ENVIRONMENT", - "TARGETING_TYPE_CARRIER_AND_ISP", - "TARGETING_TYPE_OPERATING_SYSTEM", - "TARGETING_TYPE_DEVICE_MAKE_MODEL", - "TARGETING_TYPE_KEYWORD", - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", - "TARGETING_TYPE_VIEWABILITY", - "TARGETING_TYPE_CATEGORY", - "TARGETING_TYPE_INVENTORY_SOURCE", - "TARGETING_TYPE_LANGUAGE", - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", - "TARGETING_TYPE_GEO_REGION", - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", - "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE", - "TARGETING_TYPE_POI", - "TARGETING_TYPE_BUSINESS_CHAIN", - "TARGETING_TYPE_CONTENT_DURATION", - "TARGETING_TYPE_CONTENT_STREAM_TYPE", - "TARGETING_TYPE_NATIVE_CONTENT_POSITION", - "TARGETING_TYPE_OMID", - "TARGETING_TYPE_AUDIO_CONTENT_TYPE", - "TARGETING_TYPE_CONTENT_GENRE", - "TARGETING_TYPE_YOUTUBE_VIDEO", - "TARGETING_TYPE_YOUTUBE_CHANNEL", - "TARGETING_TYPE_SESSION_POSITION" - ], - "enumDescriptions": [ - "Default value when type is not specified or is unknown in this version.", - "Target a channel (a custom group of related websites or apps).", - "Target an app category (for example, education or puzzle games).", - "Target a specific app (for example, Angry Birds).", - "Target a specific url (for example, quora.com).", - "Target ads during a chosen time period on a specific day.", - "Target ads to a specific age range (for example, 18-24).", - "Target ads to the specified regions on a regional location list.", - "Target ads to the specified points of interest on a proximity location list.", - "Target ads to a specific gender (for example, female or male).", - "Target a specific video player size for video ads.", - "Target user rewarded content for video ads.", - "Target ads to a specific parental status (for example, parent or not a parent).", - "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", - "Target ads in a specific content outstream position.", - "Target ads to a specific device type (for example, tablet or connected TV).", - "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", - "Target ads to specific web browsers (for example, Chrome).", - "Target ads to a specific household income range (for example, top 10%).", - "Target ads in a specific on screen position.", - "Filter web sites through third party verification (for example, IAS or DoubleVerify).", - "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", - "Filter website content by sensitive categories (for example, adult).", - "Target ads to a specific environment (for example, web or app).", - "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", - "Target ads to a specific operating system (for example, macOS).", - "Target ads to a specific device make or model (for example, Roku or Samsung).", - "Target ads to a specific keyword (for example, dog or retriever).", - "Target ads to a specific negative keyword list.", - "Target ads to a specific viewability (for example, 80% viewable).", - "Target ads to a specific content category (for example, arts & entertainment).", - "Purchase impressions from specific deals and auction packages.", - "Target ads to a specific language (for example, English or Japanese).", - "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", - "Target ads to a specific regional location (for example, a city or state).", - "Purchase impressions from a group of deals and auction packages.", - "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges.", - "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", - "Target ads around locations of a business chain within a specific geo region.", - "Target ads to a specific video content duration.", - "Target ads to a specific video content stream type.", - "Target ads to a specific native content position.", - "Target ads in an Open Measurement enabled inventory.", - "Target ads to a specific audio content type.", - "Target ads to a specific content genre.", - "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", - "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", - "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." - ], - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", - "response": { - "$ref": "AssignedTargetingOption" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] + "sites": { + "methods": { + "bulkEdit": { + "description": "Bulk edits sites under a single channel. The operation will delete the sites provided in BulkEditSitesRequest.deleted_sites and then create the sites provided in BulkEditSitesRequest.created_sites.", + "flatPath": "v2/advertisers/{advertiserId}/channels/{channelsId}/sites:bulkEdit", + "httpMethod": "POST", + "id": "displayvideo.advertisers.channels.sites.bulkEdit", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" }, - "list": { - "description": "Lists the targeting options assigned to a campaign for a specified targeting type.", - "flatPath": "v2/advertisers/{advertisersId}/campaigns/{campaignsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", - "httpMethod": "GET", - "id": "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.list", - "parameterOrder": [ - "advertiserId", - "campaignId", - "targetingType" - ], - "parameters": { - "advertiserId": { - "description": "Required. The ID of the advertiser the campaign belongs to.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "campaignId": { - "description": "Required. The ID of the campaign to list assigned targeting options for.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "filter": { - "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or 2 `assignedTargetingOptionId=\"1\" OR assignedTargetingOptionId=\"2\"` * `AssignedTargetingOption` resources 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. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (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: `assignedTargetingOptionId desc`.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "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 `ListCampaignAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", - "location": "query", - "type": "string" - }, - "targetingType": { - "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY`", - "enum": [ - "TARGETING_TYPE_UNSPECIFIED", - "TARGETING_TYPE_CHANNEL", - "TARGETING_TYPE_APP_CATEGORY", - "TARGETING_TYPE_APP", - "TARGETING_TYPE_URL", - "TARGETING_TYPE_DAY_AND_TIME", - "TARGETING_TYPE_AGE_RANGE", - "TARGETING_TYPE_REGIONAL_LOCATION_LIST", - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", - "TARGETING_TYPE_GENDER", - "TARGETING_TYPE_VIDEO_PLAYER_SIZE", - "TARGETING_TYPE_USER_REWARDED_CONTENT", - "TARGETING_TYPE_PARENTAL_STATUS", - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", - "TARGETING_TYPE_DEVICE_TYPE", - "TARGETING_TYPE_AUDIENCE_GROUP", - "TARGETING_TYPE_BROWSER", - "TARGETING_TYPE_HOUSEHOLD_INCOME", - "TARGETING_TYPE_ON_SCREEN_POSITION", - "TARGETING_TYPE_THIRD_PARTY_VERIFIER", - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", - "TARGETING_TYPE_ENVIRONMENT", - "TARGETING_TYPE_CARRIER_AND_ISP", - "TARGETING_TYPE_OPERATING_SYSTEM", - "TARGETING_TYPE_DEVICE_MAKE_MODEL", - "TARGETING_TYPE_KEYWORD", - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", - "TARGETING_TYPE_VIEWABILITY", - "TARGETING_TYPE_CATEGORY", - "TARGETING_TYPE_INVENTORY_SOURCE", - "TARGETING_TYPE_LANGUAGE", - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", - "TARGETING_TYPE_GEO_REGION", - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", - "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE", - "TARGETING_TYPE_POI", - "TARGETING_TYPE_BUSINESS_CHAIN", - "TARGETING_TYPE_CONTENT_DURATION", - "TARGETING_TYPE_CONTENT_STREAM_TYPE", - "TARGETING_TYPE_NATIVE_CONTENT_POSITION", - "TARGETING_TYPE_OMID", - "TARGETING_TYPE_AUDIO_CONTENT_TYPE", - "TARGETING_TYPE_CONTENT_GENRE", - "TARGETING_TYPE_YOUTUBE_VIDEO", - "TARGETING_TYPE_YOUTUBE_CHANNEL", - "TARGETING_TYPE_SESSION_POSITION" - ], - "enumDescriptions": [ - "Default value when type is not specified or is unknown in this version.", - "Target a channel (a custom group of related websites or apps).", - "Target an app category (for example, education or puzzle games).", - "Target a specific app (for example, Angry Birds).", - "Target a specific url (for example, quora.com).", - "Target ads during a chosen time period on a specific day.", - "Target ads to a specific age range (for example, 18-24).", - "Target ads to the specified regions on a regional location list.", - "Target ads to the specified points of interest on a proximity location list.", - "Target ads to a specific gender (for example, female or male).", - "Target a specific video player size for video ads.", - "Target user rewarded content for video ads.", - "Target ads to a specific parental status (for example, parent or not a parent).", - "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", - "Target ads in a specific content outstream position.", - "Target ads to a specific device type (for example, tablet or connected TV).", - "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", - "Target ads to specific web browsers (for example, Chrome).", - "Target ads to a specific household income range (for example, top 10%).", - "Target ads in a specific on screen position.", - "Filter web sites through third party verification (for example, IAS or DoubleVerify).", - "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", - "Filter website content by sensitive categories (for example, adult).", - "Target ads to a specific environment (for example, web or app).", - "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", - "Target ads to a specific operating system (for example, macOS).", - "Target ads to a specific device make or model (for example, Roku or Samsung).", - "Target ads to a specific keyword (for example, dog or retriever).", - "Target ads to a specific negative keyword list.", - "Target ads to a specific viewability (for example, 80% viewable).", - "Target ads to a specific content category (for example, arts & entertainment).", - "Purchase impressions from specific deals and auction packages.", - "Target ads to a specific language (for example, English or Japanese).", - "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", - "Target ads to a specific regional location (for example, a city or state).", - "Purchase impressions from a group of deals and auction packages.", - "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges.", - "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", - "Target ads around locations of a business chain within a specific geo region.", - "Target ads to a specific video content duration.", - "Target ads to a specific video content stream type.", - "Target ads to a specific native content position.", - "Target ads in an Open Measurement enabled inventory.", - "Target ads to a specific audio content type.", - "Target ads to a specific content genre.", - "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", - "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", - "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." - ], - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions", - "response": { - "$ref": "ListCampaignAssignedTargetingOptionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - } - } - } - } - } - } - }, - "channels": { - "methods": { - "create": { - "description": "Creates a new channel. Returns the newly created channel if successful.", - "flatPath": "v2/advertisers/{advertisersId}/channels", - "httpMethod": "POST", - "id": "displayvideo.advertisers.channels.create", - "parameterOrder": [ - "advertiserId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser that owns the created channel.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "partnerId": { - "description": "The ID of the partner that owns the created channel.", - "format": "int64", - "location": "query", - "type": "string" - } - }, - "path": "v2/advertisers/{+advertiserId}/channels", - "request": { - "$ref": "Channel" - }, - "response": { - "$ref": "Channel" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "get": { - "description": "Gets a channel for a partner or advertiser.", - "flatPath": "v2/advertisers/{advertisersId}/channels/{channelsId}", - "httpMethod": "GET", - "id": "displayvideo.advertisers.channels.get", - "parameterOrder": [ - "advertiserId", - "channelId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser that owns the fetched channel.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "channelId": { - "description": "Required. The ID of the channel to fetch.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "partnerId": { - "description": "The ID of the partner that owns the fetched channel.", - "format": "int64", - "location": "query", - "type": "string" - } - }, - "path": "v2/advertisers/{+advertiserId}/channels/{+channelId}", - "response": { - "$ref": "Channel" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "list": { - "description": "Lists channels for a partner or advertiser.", - "flatPath": "v2/advertisers/{advertisersId}/channels", - "httpMethod": "GET", - "id": "displayvideo.advertisers.channels.list", - "parameterOrder": [ - "advertiserId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser that owns the channels.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "filter": { - "description": "Allows filtering by channel fields. Supported syntax: * Filter expressions for channel can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All channels for which the display name contains \"google\": `displayName : \"google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` 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`.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "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 `ListChannels` method. If not specified, the first page of results will be returned.", - "location": "query", - "type": "string" - }, - "partnerId": { - "description": "The ID of the partner that owns the channels.", - "format": "int64", - "location": "query", - "type": "string" - } - }, - "path": "v2/advertisers/{+advertiserId}/channels", - "response": { - "$ref": "ListChannelsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "patch": { - "description": "Updates a channel. Returns the updated channel if successful.", - "flatPath": "v2/advertisers/{advertisersId}/channels/{channelId}", - "httpMethod": "PATCH", - "id": "displayvideo.advertisers.channels.patch", - "parameterOrder": [ - "advertiserId", - "channelId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser that owns the created channel.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "channelId": { - "description": "Output only. The unique ID of the channel. Assigned by the system.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "partnerId": { - "description": "The ID of the partner that owns the created channel.", - "format": "int64", - "location": "query", - "type": "string" - }, - "updateMask": { - "description": "Required. The mask to control which fields to update.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v2/advertisers/{+advertiserId}/channels/{channelId}", - "request": { - "$ref": "Channel" - }, - "response": { - "$ref": "Channel" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - } - }, - "resources": { - "sites": { - "methods": { - "bulkEdit": { - "description": "Bulk edits sites under a single channel. The operation will delete the sites provided in BulkEditSitesRequest.deleted_sites and then create the sites provided in BulkEditSitesRequest.created_sites.", - "flatPath": "v2/advertisers/{advertiserId}/channels/{channelsId}/sites:bulkEdit", - "httpMethod": "POST", - "id": "displayvideo.advertisers.channels.sites.bulkEdit", - "parameterOrder": [ - "advertiserId", - "channelId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser that owns the parent channel.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "channelId": { - "description": "Required. The ID of the parent channel to which the sites belong.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" + "channelId": { + "description": "Required. The ID of the parent channel to which the sites belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" } }, "path": "v2/advertisers/{advertiserId}/channels/{+channelId}/sites:bulkEdit", @@ -1700,799 +1315,113 @@ "required": true, "type": "string" }, - "insertionOrderId": { - "description": "Required. The ID of the insertion order to fetch.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", - "response": { - "$ref": "InsertionOrder" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "list": { - "description": "Lists insertion orders in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, insertion orders with `ENTITY_STATUS_ARCHIVED` will not be included in the results.", - "flatPath": "v2/advertisers/{advertisersId}/insertionOrders", - "httpMethod": "GET", - "id": "displayvideo.advertisers.insertionOrders.list", - "parameterOrder": [ - "advertiserId" - ], - "parameters": { - "advertiserId": { - "description": "Required. The ID of the advertiser to list insertion orders for.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "filter": { - "description": "Allows filtering by insertion order fields. 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 `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All insertion orders under a campaign: `campaignId=\"1234\"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` insertion orders under an advertiser: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\")` * All insertion orders 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 insertion orders 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. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "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`.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "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 `ListInsertionOrders` method. If not specified, the first page of results will be returned.", - "location": "query", - "type": "string" - } - }, - "path": "v2/advertisers/{+advertiserId}/insertionOrders", - "response": { - "$ref": "ListInsertionOrdersResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "listAssignedTargetingOptions": { - "description": "Lists assigned targeting options of an insertion order across targeting types.", - "flatPath": "v2/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}:listAssignedTargetingOptions", - "httpMethod": "GET", - "id": "displayvideo.advertisers.insertionOrders.listAssignedTargetingOptions", - "parameterOrder": [ - "advertiserId", - "insertionOrderId" - ], - "parameters": { - "advertiserId": { - "description": "Required. The ID of the advertiser the insertion order belongs to.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "filter": { - "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` or `TARGETING_TYPE_CHANNEL`: `targetingType=\"TARGETING_TYPE_PROXIMITY_LOCATION_LIST\" OR targetingType=\"TARGETING_TYPE_CHANNEL\"` * `AssignedTargetingOption` resources 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. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", - "location": "query", - "type": "string" - }, - "insertionOrderId": { - "description": "Required. The ID of the insertion order to list assigned targeting options for.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "orderBy": { - "description": "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`.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "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.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "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 `BulkListInsertionOrderAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", - "location": "query", - "type": "string" - } - }, - "path": "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}:listAssignedTargetingOptions", - "response": { - "$ref": "BulkListInsertionOrderAssignedTargetingOptionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "patch": { - "description": "Updates an existing insertion order. Returns the updated insertion order if successful.", - "flatPath": "v2/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}", - "httpMethod": "PATCH", - "id": "displayvideo.advertisers.insertionOrders.patch", - "parameterOrder": [ - "advertiserId", - "insertionOrderId" - ], - "parameters": { - "advertiserId": { - "description": "Output only. The unique ID of the advertiser the insertion order belongs to.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "insertionOrderId": { - "description": "Output only. The unique ID of the insertion order. Assigned by the system.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The mask to control which fields to update.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", - "request": { - "$ref": "InsertionOrder" - }, - "response": { - "$ref": "InsertionOrder" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - } - }, - "resources": { - "targetingTypes": { - "resources": { - "assignedTargetingOptions": { - "methods": { - "create": { - "description": "Assigns a targeting option to an insertion order. Returns the assigned targeting option if successful. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY`", - "flatPath": "v2/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", - "httpMethod": "POST", - "id": "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.create", - "parameterOrder": [ - "advertiserId", - "insertionOrderId", - "targetingType" - ], - "parameters": { - "advertiserId": { - "description": "Required. The ID of the advertiser the insertion order belongs to.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "insertionOrderId": { - "description": "Required. The ID of the insertion order the assigned targeting option will belong to.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "targetingType": { - "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY`", - "enum": [ - "TARGETING_TYPE_UNSPECIFIED", - "TARGETING_TYPE_CHANNEL", - "TARGETING_TYPE_APP_CATEGORY", - "TARGETING_TYPE_APP", - "TARGETING_TYPE_URL", - "TARGETING_TYPE_DAY_AND_TIME", - "TARGETING_TYPE_AGE_RANGE", - "TARGETING_TYPE_REGIONAL_LOCATION_LIST", - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", - "TARGETING_TYPE_GENDER", - "TARGETING_TYPE_VIDEO_PLAYER_SIZE", - "TARGETING_TYPE_USER_REWARDED_CONTENT", - "TARGETING_TYPE_PARENTAL_STATUS", - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", - "TARGETING_TYPE_DEVICE_TYPE", - "TARGETING_TYPE_AUDIENCE_GROUP", - "TARGETING_TYPE_BROWSER", - "TARGETING_TYPE_HOUSEHOLD_INCOME", - "TARGETING_TYPE_ON_SCREEN_POSITION", - "TARGETING_TYPE_THIRD_PARTY_VERIFIER", - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", - "TARGETING_TYPE_ENVIRONMENT", - "TARGETING_TYPE_CARRIER_AND_ISP", - "TARGETING_TYPE_OPERATING_SYSTEM", - "TARGETING_TYPE_DEVICE_MAKE_MODEL", - "TARGETING_TYPE_KEYWORD", - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", - "TARGETING_TYPE_VIEWABILITY", - "TARGETING_TYPE_CATEGORY", - "TARGETING_TYPE_INVENTORY_SOURCE", - "TARGETING_TYPE_LANGUAGE", - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", - "TARGETING_TYPE_GEO_REGION", - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", - "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE", - "TARGETING_TYPE_POI", - "TARGETING_TYPE_BUSINESS_CHAIN", - "TARGETING_TYPE_CONTENT_DURATION", - "TARGETING_TYPE_CONTENT_STREAM_TYPE", - "TARGETING_TYPE_NATIVE_CONTENT_POSITION", - "TARGETING_TYPE_OMID", - "TARGETING_TYPE_AUDIO_CONTENT_TYPE", - "TARGETING_TYPE_CONTENT_GENRE", - "TARGETING_TYPE_YOUTUBE_VIDEO", - "TARGETING_TYPE_YOUTUBE_CHANNEL", - "TARGETING_TYPE_SESSION_POSITION" - ], - "enumDescriptions": [ - "Default value when type is not specified or is unknown in this version.", - "Target a channel (a custom group of related websites or apps).", - "Target an app category (for example, education or puzzle games).", - "Target a specific app (for example, Angry Birds).", - "Target a specific url (for example, quora.com).", - "Target ads during a chosen time period on a specific day.", - "Target ads to a specific age range (for example, 18-24).", - "Target ads to the specified regions on a regional location list.", - "Target ads to the specified points of interest on a proximity location list.", - "Target ads to a specific gender (for example, female or male).", - "Target a specific video player size for video ads.", - "Target user rewarded content for video ads.", - "Target ads to a specific parental status (for example, parent or not a parent).", - "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", - "Target ads in a specific content outstream position.", - "Target ads to a specific device type (for example, tablet or connected TV).", - "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", - "Target ads to specific web browsers (for example, Chrome).", - "Target ads to a specific household income range (for example, top 10%).", - "Target ads in a specific on screen position.", - "Filter web sites through third party verification (for example, IAS or DoubleVerify).", - "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", - "Filter website content by sensitive categories (for example, adult).", - "Target ads to a specific environment (for example, web or app).", - "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", - "Target ads to a specific operating system (for example, macOS).", - "Target ads to a specific device make or model (for example, Roku or Samsung).", - "Target ads to a specific keyword (for example, dog or retriever).", - "Target ads to a specific negative keyword list.", - "Target ads to a specific viewability (for example, 80% viewable).", - "Target ads to a specific content category (for example, arts & entertainment).", - "Purchase impressions from specific deals and auction packages.", - "Target ads to a specific language (for example, English or Japanese).", - "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", - "Target ads to a specific regional location (for example, a city or state).", - "Purchase impressions from a group of deals and auction packages.", - "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges.", - "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", - "Target ads around locations of a business chain within a specific geo region.", - "Target ads to a specific video content duration.", - "Target ads to a specific video content stream type.", - "Target ads to a specific native content position.", - "Target ads in an Open Measurement enabled inventory.", - "Target ads to a specific audio content type.", - "Target ads to a specific content genre.", - "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", - "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", - "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." - ], - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions", - "request": { - "$ref": "AssignedTargetingOption" - }, - "response": { - "$ref": "AssignedTargetingOption" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "delete": { - "description": "Deletes an assigned targeting option from an insertion order. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY`", - "flatPath": "v2/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", - "httpMethod": "DELETE", - "id": "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.delete", - "parameterOrder": [ - "advertiserId", - "insertionOrderId", - "targetingType", - "assignedTargetingOptionId" - ], - "parameters": { - "advertiserId": { - "description": "Required. The ID of the advertiser the insertion order belongs to.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "assignedTargetingOptionId": { - "description": "Required. The ID of the assigned targeting option to delete.", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "insertionOrderId": { - "description": "Required. The ID of the insertion order the assigned targeting option belongs to.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "targetingType": { - "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY`", - "enum": [ - "TARGETING_TYPE_UNSPECIFIED", - "TARGETING_TYPE_CHANNEL", - "TARGETING_TYPE_APP_CATEGORY", - "TARGETING_TYPE_APP", - "TARGETING_TYPE_URL", - "TARGETING_TYPE_DAY_AND_TIME", - "TARGETING_TYPE_AGE_RANGE", - "TARGETING_TYPE_REGIONAL_LOCATION_LIST", - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", - "TARGETING_TYPE_GENDER", - "TARGETING_TYPE_VIDEO_PLAYER_SIZE", - "TARGETING_TYPE_USER_REWARDED_CONTENT", - "TARGETING_TYPE_PARENTAL_STATUS", - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", - "TARGETING_TYPE_DEVICE_TYPE", - "TARGETING_TYPE_AUDIENCE_GROUP", - "TARGETING_TYPE_BROWSER", - "TARGETING_TYPE_HOUSEHOLD_INCOME", - "TARGETING_TYPE_ON_SCREEN_POSITION", - "TARGETING_TYPE_THIRD_PARTY_VERIFIER", - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", - "TARGETING_TYPE_ENVIRONMENT", - "TARGETING_TYPE_CARRIER_AND_ISP", - "TARGETING_TYPE_OPERATING_SYSTEM", - "TARGETING_TYPE_DEVICE_MAKE_MODEL", - "TARGETING_TYPE_KEYWORD", - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", - "TARGETING_TYPE_VIEWABILITY", - "TARGETING_TYPE_CATEGORY", - "TARGETING_TYPE_INVENTORY_SOURCE", - "TARGETING_TYPE_LANGUAGE", - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", - "TARGETING_TYPE_GEO_REGION", - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", - "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE", - "TARGETING_TYPE_POI", - "TARGETING_TYPE_BUSINESS_CHAIN", - "TARGETING_TYPE_CONTENT_DURATION", - "TARGETING_TYPE_CONTENT_STREAM_TYPE", - "TARGETING_TYPE_NATIVE_CONTENT_POSITION", - "TARGETING_TYPE_OMID", - "TARGETING_TYPE_AUDIO_CONTENT_TYPE", - "TARGETING_TYPE_CONTENT_GENRE", - "TARGETING_TYPE_YOUTUBE_VIDEO", - "TARGETING_TYPE_YOUTUBE_CHANNEL", - "TARGETING_TYPE_SESSION_POSITION" - ], - "enumDescriptions": [ - "Default value when type is not specified or is unknown in this version.", - "Target a channel (a custom group of related websites or apps).", - "Target an app category (for example, education or puzzle games).", - "Target a specific app (for example, Angry Birds).", - "Target a specific url (for example, quora.com).", - "Target ads during a chosen time period on a specific day.", - "Target ads to a specific age range (for example, 18-24).", - "Target ads to the specified regions on a regional location list.", - "Target ads to the specified points of interest on a proximity location list.", - "Target ads to a specific gender (for example, female or male).", - "Target a specific video player size for video ads.", - "Target user rewarded content for video ads.", - "Target ads to a specific parental status (for example, parent or not a parent).", - "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", - "Target ads in a specific content outstream position.", - "Target ads to a specific device type (for example, tablet or connected TV).", - "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", - "Target ads to specific web browsers (for example, Chrome).", - "Target ads to a specific household income range (for example, top 10%).", - "Target ads in a specific on screen position.", - "Filter web sites through third party verification (for example, IAS or DoubleVerify).", - "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", - "Filter website content by sensitive categories (for example, adult).", - "Target ads to a specific environment (for example, web or app).", - "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", - "Target ads to a specific operating system (for example, macOS).", - "Target ads to a specific device make or model (for example, Roku or Samsung).", - "Target ads to a specific keyword (for example, dog or retriever).", - "Target ads to a specific negative keyword list.", - "Target ads to a specific viewability (for example, 80% viewable).", - "Target ads to a specific content category (for example, arts & entertainment).", - "Purchase impressions from specific deals and auction packages.", - "Target ads to a specific language (for example, English or Japanese).", - "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", - "Target ads to a specific regional location (for example, a city or state).", - "Purchase impressions from a group of deals and auction packages.", - "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges.", - "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", - "Target ads around locations of a business chain within a specific geo region.", - "Target ads to a specific video content duration.", - "Target ads to a specific video content stream type.", - "Target ads to a specific native content position.", - "Target ads in an Open Measurement enabled inventory.", - "Target ads to a specific audio content type.", - "Target ads to a specific content genre.", - "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", - "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", - "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." - ], - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "get": { - "description": "Gets a single targeting option assigned to an insertion order.", - "flatPath": "v2/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", - "httpMethod": "GET", - "id": "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.get", - "parameterOrder": [ - "advertiserId", - "insertionOrderId", - "targetingType", - "assignedTargetingOptionId" - ], - "parameters": { - "advertiserId": { - "description": "Required. The ID of the advertiser the insertion order belongs to.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "assignedTargetingOptionId": { - "description": "Required. An identifier unique to the targeting type in this insertion order that identifies the assigned targeting option being requested.", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "insertionOrderId": { - "description": "Required. The ID of the insertion order the assigned targeting option belongs to.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "targetingType": { - "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`", - "enum": [ - "TARGETING_TYPE_UNSPECIFIED", - "TARGETING_TYPE_CHANNEL", - "TARGETING_TYPE_APP_CATEGORY", - "TARGETING_TYPE_APP", - "TARGETING_TYPE_URL", - "TARGETING_TYPE_DAY_AND_TIME", - "TARGETING_TYPE_AGE_RANGE", - "TARGETING_TYPE_REGIONAL_LOCATION_LIST", - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", - "TARGETING_TYPE_GENDER", - "TARGETING_TYPE_VIDEO_PLAYER_SIZE", - "TARGETING_TYPE_USER_REWARDED_CONTENT", - "TARGETING_TYPE_PARENTAL_STATUS", - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", - "TARGETING_TYPE_DEVICE_TYPE", - "TARGETING_TYPE_AUDIENCE_GROUP", - "TARGETING_TYPE_BROWSER", - "TARGETING_TYPE_HOUSEHOLD_INCOME", - "TARGETING_TYPE_ON_SCREEN_POSITION", - "TARGETING_TYPE_THIRD_PARTY_VERIFIER", - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", - "TARGETING_TYPE_ENVIRONMENT", - "TARGETING_TYPE_CARRIER_AND_ISP", - "TARGETING_TYPE_OPERATING_SYSTEM", - "TARGETING_TYPE_DEVICE_MAKE_MODEL", - "TARGETING_TYPE_KEYWORD", - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", - "TARGETING_TYPE_VIEWABILITY", - "TARGETING_TYPE_CATEGORY", - "TARGETING_TYPE_INVENTORY_SOURCE", - "TARGETING_TYPE_LANGUAGE", - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", - "TARGETING_TYPE_GEO_REGION", - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", - "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE", - "TARGETING_TYPE_POI", - "TARGETING_TYPE_BUSINESS_CHAIN", - "TARGETING_TYPE_CONTENT_DURATION", - "TARGETING_TYPE_CONTENT_STREAM_TYPE", - "TARGETING_TYPE_NATIVE_CONTENT_POSITION", - "TARGETING_TYPE_OMID", - "TARGETING_TYPE_AUDIO_CONTENT_TYPE", - "TARGETING_TYPE_CONTENT_GENRE", - "TARGETING_TYPE_YOUTUBE_VIDEO", - "TARGETING_TYPE_YOUTUBE_CHANNEL", - "TARGETING_TYPE_SESSION_POSITION" - ], - "enumDescriptions": [ - "Default value when type is not specified or is unknown in this version.", - "Target a channel (a custom group of related websites or apps).", - "Target an app category (for example, education or puzzle games).", - "Target a specific app (for example, Angry Birds).", - "Target a specific url (for example, quora.com).", - "Target ads during a chosen time period on a specific day.", - "Target ads to a specific age range (for example, 18-24).", - "Target ads to the specified regions on a regional location list.", - "Target ads to the specified points of interest on a proximity location list.", - "Target ads to a specific gender (for example, female or male).", - "Target a specific video player size for video ads.", - "Target user rewarded content for video ads.", - "Target ads to a specific parental status (for example, parent or not a parent).", - "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", - "Target ads in a specific content outstream position.", - "Target ads to a specific device type (for example, tablet or connected TV).", - "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", - "Target ads to specific web browsers (for example, Chrome).", - "Target ads to a specific household income range (for example, top 10%).", - "Target ads in a specific on screen position.", - "Filter web sites through third party verification (for example, IAS or DoubleVerify).", - "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", - "Filter website content by sensitive categories (for example, adult).", - "Target ads to a specific environment (for example, web or app).", - "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", - "Target ads to a specific operating system (for example, macOS).", - "Target ads to a specific device make or model (for example, Roku or Samsung).", - "Target ads to a specific keyword (for example, dog or retriever).", - "Target ads to a specific negative keyword list.", - "Target ads to a specific viewability (for example, 80% viewable).", - "Target ads to a specific content category (for example, arts & entertainment).", - "Purchase impressions from specific deals and auction packages.", - "Target ads to a specific language (for example, English or Japanese).", - "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", - "Target ads to a specific regional location (for example, a city or state).", - "Purchase impressions from a group of deals and auction packages.", - "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges.", - "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", - "Target ads around locations of a business chain within a specific geo region.", - "Target ads to a specific video content duration.", - "Target ads to a specific video content stream type.", - "Target ads to a specific native content position.", - "Target ads in an Open Measurement enabled inventory.", - "Target ads to a specific audio content type.", - "Target ads to a specific content genre.", - "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", - "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", - "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." - ], - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", - "response": { - "$ref": "AssignedTargetingOption" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "list": { - "description": "Lists the targeting options assigned to an insertion order.", - "flatPath": "v2/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", - "httpMethod": "GET", - "id": "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.list", - "parameterOrder": [ - "advertiserId", - "insertionOrderId", - "targetingType" - ], - "parameters": { - "advertiserId": { - "description": "Required. The ID of the advertiser the insertion order belongs to.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "filter": { - "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or 2: `assignedTargetingOptionId=\"1\" OR assignedTargetingOptionId=\"2\"` * `AssignedTargetingOption` resources 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. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", - "location": "query", - "type": "string" - }, - "insertionOrderId": { - "description": "Required. The ID of the insertion order to list assigned targeting options for.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "orderBy": { - "description": "Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (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: `assignedTargetingOptionId desc`.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "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 `ListInsertionOrderAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", - "location": "query", - "type": "string" - }, - "targetingType": { - "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`", - "enum": [ - "TARGETING_TYPE_UNSPECIFIED", - "TARGETING_TYPE_CHANNEL", - "TARGETING_TYPE_APP_CATEGORY", - "TARGETING_TYPE_APP", - "TARGETING_TYPE_URL", - "TARGETING_TYPE_DAY_AND_TIME", - "TARGETING_TYPE_AGE_RANGE", - "TARGETING_TYPE_REGIONAL_LOCATION_LIST", - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", - "TARGETING_TYPE_GENDER", - "TARGETING_TYPE_VIDEO_PLAYER_SIZE", - "TARGETING_TYPE_USER_REWARDED_CONTENT", - "TARGETING_TYPE_PARENTAL_STATUS", - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", - "TARGETING_TYPE_DEVICE_TYPE", - "TARGETING_TYPE_AUDIENCE_GROUP", - "TARGETING_TYPE_BROWSER", - "TARGETING_TYPE_HOUSEHOLD_INCOME", - "TARGETING_TYPE_ON_SCREEN_POSITION", - "TARGETING_TYPE_THIRD_PARTY_VERIFIER", - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", - "TARGETING_TYPE_ENVIRONMENT", - "TARGETING_TYPE_CARRIER_AND_ISP", - "TARGETING_TYPE_OPERATING_SYSTEM", - "TARGETING_TYPE_DEVICE_MAKE_MODEL", - "TARGETING_TYPE_KEYWORD", - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", - "TARGETING_TYPE_VIEWABILITY", - "TARGETING_TYPE_CATEGORY", - "TARGETING_TYPE_INVENTORY_SOURCE", - "TARGETING_TYPE_LANGUAGE", - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", - "TARGETING_TYPE_GEO_REGION", - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", - "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE", - "TARGETING_TYPE_POI", - "TARGETING_TYPE_BUSINESS_CHAIN", - "TARGETING_TYPE_CONTENT_DURATION", - "TARGETING_TYPE_CONTENT_STREAM_TYPE", - "TARGETING_TYPE_NATIVE_CONTENT_POSITION", - "TARGETING_TYPE_OMID", - "TARGETING_TYPE_AUDIO_CONTENT_TYPE", - "TARGETING_TYPE_CONTENT_GENRE", - "TARGETING_TYPE_YOUTUBE_VIDEO", - "TARGETING_TYPE_YOUTUBE_CHANNEL", - "TARGETING_TYPE_SESSION_POSITION" - ], - "enumDescriptions": [ - "Default value when type is not specified or is unknown in this version.", - "Target a channel (a custom group of related websites or apps).", - "Target an app category (for example, education or puzzle games).", - "Target a specific app (for example, Angry Birds).", - "Target a specific url (for example, quora.com).", - "Target ads during a chosen time period on a specific day.", - "Target ads to a specific age range (for example, 18-24).", - "Target ads to the specified regions on a regional location list.", - "Target ads to the specified points of interest on a proximity location list.", - "Target ads to a specific gender (for example, female or male).", - "Target a specific video player size for video ads.", - "Target user rewarded content for video ads.", - "Target ads to a specific parental status (for example, parent or not a parent).", - "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", - "Target ads in a specific content outstream position.", - "Target ads to a specific device type (for example, tablet or connected TV).", - "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", - "Target ads to specific web browsers (for example, Chrome).", - "Target ads to a specific household income range (for example, top 10%).", - "Target ads in a specific on screen position.", - "Filter web sites through third party verification (for example, IAS or DoubleVerify).", - "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", - "Filter website content by sensitive categories (for example, adult).", - "Target ads to a specific environment (for example, web or app).", - "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", - "Target ads to a specific operating system (for example, macOS).", - "Target ads to a specific device make or model (for example, Roku or Samsung).", - "Target ads to a specific keyword (for example, dog or retriever).", - "Target ads to a specific negative keyword list.", - "Target ads to a specific viewability (for example, 80% viewable).", - "Target ads to a specific content category (for example, arts & entertainment).", - "Purchase impressions from specific deals and auction packages.", - "Target ads to a specific language (for example, English or Japanese).", - "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", - "Target ads to a specific regional location (for example, a city or state).", - "Purchase impressions from a group of deals and auction packages.", - "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges.", - "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", - "Target ads around locations of a business chain within a specific geo region.", - "Target ads to a specific video content duration.", - "Target ads to a specific video content stream type.", - "Target ads to a specific native content position.", - "Target ads in an Open Measurement enabled inventory.", - "Target ads to a specific audio content type.", - "Target ads to a specific content genre.", - "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", - "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", - "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." - ], - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions", - "response": { - "$ref": "ListInsertionOrderAssignedTargetingOptionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - } - } + "insertionOrderId": { + "description": "Required. The ID of the insertion order to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" } - } + }, + "path": "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", + "response": { + "$ref": "InsertionOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists insertion orders in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, insertion orders with `ENTITY_STATUS_ARCHIVED` will not be included in the results.", + "flatPath": "v2/advertisers/{advertisersId}/insertionOrders", + "httpMethod": "GET", + "id": "displayvideo.advertisers.insertionOrders.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to list insertion orders for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by insertion order fields. 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 `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All insertion orders under a campaign: `campaignId=\"1234\"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` insertion orders under an advertiser: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\")` * All insertion orders 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 insertion orders 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. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "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`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListInsertionOrders` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v2/advertisers/{+advertiserId}/insertionOrders", + "response": { + "$ref": "ListInsertionOrdersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing insertion order. Returns the updated insertion order if successful.", + "flatPath": "v2/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.insertionOrders.patch", + "parameterOrder": [ + "advertiserId", + "insertionOrderId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "Output only. The unique ID of the insertion order. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", + "request": { + "$ref": "InsertionOrder" + }, + "response": { + "$ref": "InsertionOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] } } }, @@ -5907,7 +4836,7 @@ ] }, "patch": { - "description": "Updates an existing custom bidding algorithm. Returns the updated custom bidding algorithm if successful.", + "description": "Updates an existing custom bidding algorithm. Returns the updated custom bidding algorithm if successful. *Warning*: Starting **April 1, 2025**, requests updating custom bidding algorithms that are assigned to line items will return an error. [Read more about this announced change](/display-video/api/deprecations#features.custom_bidding_floodlight).", "flatPath": "v2/customBiddingAlgorithms/{customBiddingAlgorithmsId}", "httpMethod": "PATCH", "id": "displayvideo.customBiddingAlgorithms.patch", @@ -5984,7 +4913,7 @@ "scripts": { "methods": { "create": { - "description": "Creates a new custom bidding script. Returns the newly created script if successful.", + "description": "Creates a new custom bidding script. Returns the newly created script if successful. *Warning*: Starting **April 1, 2025**, requests updating custom bidding algorithms that are assigned to line items will return an error. [Read more about this announced change](/display-video/api/deprecations#features.custom_bidding_floodlight).", "flatPath": "v2/customBiddingAlgorithms/{customBiddingAlgorithmsId}/scripts", "httpMethod": "POST", "id": "displayvideo.customBiddingAlgorithms.scripts.create", @@ -6208,192 +5137,6 @@ } } }, - "firstAndThirdPartyAudiences": { - "methods": { - "create": { - "description": "Creates a FirstAndThirdPartyAudience. Only supported for the following audience_type: * `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID`", - "flatPath": "v2/firstAndThirdPartyAudiences", - "httpMethod": "POST", - "id": "displayvideo.firstAndThirdPartyAudiences.create", - "parameterOrder": [], - "parameters": { - "advertiserId": { - "description": "Required. The ID of the advertiser under whom the FirstAndThirdPartyAudience will be created.", - "format": "int64", - "location": "query", - "type": "string" - } - }, - "path": "v2/firstAndThirdPartyAudiences", - "request": { - "$ref": "FirstAndThirdPartyAudience" - }, - "response": { - "$ref": "FirstAndThirdPartyAudience" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "editCustomerMatchMembers": { - "description": "Updates the member list of a Customer Match audience. Only supported for the following audience_type: * `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID`", - "flatPath": "v2/firstAndThirdPartyAudiences/{firstAndThirdPartyAudiencesId}:editCustomerMatchMembers", - "httpMethod": "POST", - "id": "displayvideo.firstAndThirdPartyAudiences.editCustomerMatchMembers", - "parameterOrder": [ - "firstAndThirdPartyAudienceId" - ], - "parameters": { - "firstAndThirdPartyAudienceId": { - "description": "Required. The ID of the Customer Match FirstAndThirdPartyAudience whose members will be edited.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}:editCustomerMatchMembers", - "request": { - "$ref": "EditCustomerMatchMembersRequest" - }, - "response": { - "$ref": "EditCustomerMatchMembersResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "get": { - "description": "Gets a first and third party audience.", - "flatPath": "v2/firstAndThirdPartyAudiences/{firstAndThirdPartyAudiencesId}", - "httpMethod": "GET", - "id": "displayvideo.firstAndThirdPartyAudiences.get", - "parameterOrder": [ - "firstAndThirdPartyAudienceId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser that has access to the fetched first and third party audience.", - "format": "int64", - "location": "query", - "type": "string" - }, - "firstAndThirdPartyAudienceId": { - "description": "Required. The ID of the first and third party audience to fetch.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "partnerId": { - "description": "The ID of the partner that has access to the fetched first and third party audience.", - "format": "int64", - "location": "query", - "type": "string" - } - }, - "path": "v2/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}", - "response": { - "$ref": "FirstAndThirdPartyAudience" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "list": { - "description": "Lists first and third party audiences. The order is defined by the order_by parameter.", - "flatPath": "v2/firstAndThirdPartyAudiences", - "httpMethod": "GET", - "id": "displayvideo.firstAndThirdPartyAudiences.list", - "parameterOrder": [], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser that has access to the fetched first and third party audiences.", - "format": "int64", - "location": "query", - "type": "string" - }, - "filter": { - "description": "Allows filtering by first and third party audience fields. Supported syntax: * Filter expressions for first and third party audiences can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All first and third party audiences for which the display name contains \"Google\": `displayName:\"Google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Field by which to sort the list. Acceptable values are: * `firstAndThirdPartyAudienceId` (default) * `displayName` 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`.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Requested page size. Must be between `1` and `5000`. If unspecified, this value defaults to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "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 `ListFirstAndThirdPartyAudiences` method. If not specified, the first page of results will be returned.", - "location": "query", - "type": "string" - }, - "partnerId": { - "description": "The ID of the partner that has access to the fetched first and third party audiences.", - "format": "int64", - "location": "query", - "type": "string" - } - }, - "path": "v2/firstAndThirdPartyAudiences", - "response": { - "$ref": "ListFirstAndThirdPartyAudiencesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "patch": { - "description": "Updates an existing FirstAndThirdPartyAudience. Only supported for the following audience_type: * `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID`", - "flatPath": "v2/firstAndThirdPartyAudiences/{firstAndThirdPartyAudiencesId}", - "httpMethod": "PATCH", - "id": "displayvideo.firstAndThirdPartyAudiences.patch", - "parameterOrder": [ - "firstAndThirdPartyAudienceId" - ], - "parameters": { - "advertiserId": { - "description": "Required. The ID of the owner advertiser of the updated FirstAndThirdPartyAudience.", - "format": "int64", - "location": "query", - "type": "string" - }, - "firstAndThirdPartyAudienceId": { - "description": "Output only. The unique ID of the first and third party audience. Assigned by the system.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The mask to control which fields to update. Updates are only supported for the following fields: * `displayName` * `description` * `membershipDurationDays`", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v2/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}", - "request": { - "$ref": "FirstAndThirdPartyAudience" - }, - "response": { - "$ref": "FirstAndThirdPartyAudience" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - } - } - }, "floodlightGroups": { "methods": { "get": { @@ -9472,10 +8215,6 @@ "readOnly": true, "type": "string" }, - "billingConfig": { - "$ref": "AdvertiserBillingConfig", - "description": "Required. Billing related settings of the advertiser." - }, "creativeConfig": { "$ref": "AdvertiserCreativeConfig", "description": "Required. Creative related settings of the advertiser." @@ -9558,18 +8297,6 @@ }, "type": "object" }, - "AdvertiserBillingConfig": { - "description": "Billing related settings of an advertiser.", - "id": "AdvertiserBillingConfig", - "properties": { - "billingProfileId": { - "description": "Required. The ID of a billing profile assigned to the advertiser.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, "AdvertiserCreativeConfig": { "description": "Creatives related settings of an advertiser.", "id": "AdvertiserCreativeConfig", @@ -9862,10 +8589,10 @@ "properties": { "asset": { "$ref": "Asset", - "description": "The associated asset." + "description": "Optional. The associated asset." }, "role": { - "description": "The role of this asset for the creative.", + "description": "Optional. The role of this asset for the creative.", "enum": [ "ASSET_ROLE_UNSPECIFIED", "ASSET_ROLE_MAIN", @@ -9895,24 +8622,24 @@ "The asset is the main asset of the creative.", "The asset is a backup asset of the creative.", "The asset is a polite load asset of the creative.", - "Headline of a native creative. The content must be UTF-8 encoded with a length of no more than 25 characters. This role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", - "Long headline of a native creative. The content must be UTF-8 encoded with a length of no more than 50 characters. This role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", - "Body text of a native creative. The content must be UTF-8 encoded with a length of no more than 90 characters. This role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", - "Long body text of a native creative. The content must be UTF-8 encoded with a length of no more than 150 characters. This role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", - "A short, friendly version of the landing page URL to show in the creative. This URL gives people an idea of where they'll arrive after they click on the creative. The content must be UTF-8 encoded with a length of no more than 30 characters. For example, if the landing page URL is 'http://www.example.com/page', the caption URL can be 'example.com'. The protocol (http://) is optional, but the URL can't contain spaces or special characters. This role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", - "The text to use on the call-to-action button of a native creative. The content must be UTF-8 encoded with a length of no more than 15 characters. This role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", - "The text that identifies the advertiser or brand name. The content must be UTF-8 encoded with a length of no more than 25 characters. This role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "Headline of a native creative. The content must be UTF-8 encoded with a length of no more than 25 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "Long headline of a native creative. The content must be UTF-8 encoded with a length of no more than 50 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "Body text of a native creative. The content must be UTF-8 encoded with a length of no more than 90 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "Long body text of a native creative. The content must be UTF-8 encoded with a length of no more than 150 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "A short, friendly version of the landing page URL to show in the creative. This URL gives people an idea of where they'll arrive after they click on the creative. The content must be UTF-8 encoded with a length of no more than 30 characters. For example, if the landing page URL is 'http://www.example.com/page', the caption URL can be 'example.com'. The protocol (http://) is optional, but the URL can't contain spaces or special characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "The text to use on the call-to-action button of a native creative. The content must be UTF-8 encoded with a length of no more than 15 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "The text that identifies the advertiser or brand name. The content must be UTF-8 encoded with a length of no more than 25 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", "The purchase price of your app in the Google play store or iOS app store (for example, $5.99). Note that this value is not automatically synced with the actual value listed in the store. It will always be the one provided when save the creative. The content must be UTF-8 encoded with a length of no more than 15 characters. Assets of this role are read-only.", - "The ID of an Android app in the Google play store. You can find this ID in the App’s Google Play Store URL after ‘id’. For example, in https://play.google.com/store/apps/details?id=com.company.appname the identifier is com.company.appname. Assets of this role are read-only.", - "The ID of an iOS app in the Apple app store. This ID number can be found in the Apple App Store URL as the string of numbers directly after \"id\". For example, in https://apps.apple.com/us/app/gmail-email-by-google/id422689480 the ID is 422689480. Assets of this role are read-only.", + "The ID of an Android app in the Google play store. You can find this ID in the App’s Google Play Store URL after ‘id’. For example, in `https://play.google.com/store/apps/details?id=com.company.appname` the identifier is com.company.appname. Assets of this role are read-only.", + "The ID of an iOS app in the Apple app store. This ID number can be found in the Apple App Store URL as the string of numbers directly after \"id\". For example, in `https://apps.apple.com/us/app/gmail-email-by-google/id422689480` the ID is 422689480. Assets of this role are read-only.", "The rating of an app in the Google play store or iOS app store. Note that this value is not automatically synced with the actual rating in the store. It will always be the one provided when save the creative. Assets of this role are read-only.", - "The icon of a creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE`", - "The cover image of a native video creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_VIDEO`", - "The main color to use in a creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", - "The accent color to use in a creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", - "Whether the creative must use a logo asset. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", - "Whether the creative must use an image asset. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", - "Whether asset enhancements can be applied to the creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`" + "The icon of a creative. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE`", + "The cover image of a native video creative. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_VIDEO`", + "The main color to use in a creative. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", + "The accent color to use in a creative. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", + "Whether the creative must use a logo asset. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", + "Whether the creative must use an image asset. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", + "Whether asset enhancements can be applied to the creative. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`" ], "type": "string" } @@ -10359,32 +9086,21 @@ "description": "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 used as an INTERSECTION with other groups.", "id": "AudienceGroupAssignedTargetingOptionDetails", "properties": { - "excludedFirstAndThirdPartyAudienceGroup": { - "$ref": "FirstAndThirdPartyAudienceGroup", - "description": "The first and third party audience ids and recencies of the excluded first and third party audience group. Used for negative targeting. The COMPLEMENT of the UNION of this group and other excluded audience groups is used as an INTERSECTION to any positive audience targeting. All items are logically ‘OR’ of each other." - }, "excludedGoogleAudienceGroup": { "$ref": "GoogleAudienceGroup", - "description": "The Google audience ids of the excluded Google audience group. Used for negative targeting. The COMPLEMENT of the UNION of this group and other excluded audience groups is used as an INTERSECTION to any positive audience targeting. Only contains Affinity, In-market and Installed-apps type Google audiences. All items are logically ‘OR’ of each other." + "description": "Optional. The Google audience ids of the excluded Google audience group. Used for negative targeting. The COMPLEMENT of the UNION of this group and other excluded audience groups is used as an INTERSECTION to any positive audience targeting. Only contains Affinity, In-market and Installed-apps type Google audiences. All items are logically ‘OR’ of each other." }, "includedCombinedAudienceGroup": { "$ref": "CombinedAudienceGroup", - "description": "The combined audience ids of the included combined audience group. Contains combined audience ids only." + "description": "Optional. The combined audience ids of the included combined audience group. Contains combined audience ids only." }, "includedCustomListGroup": { "$ref": "CustomListGroup", - "description": "The custom list ids of the included custom list group. Contains custom list ids only." - }, - "includedFirstAndThirdPartyAudienceGroups": { - "description": "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.", - "items": { - "$ref": "FirstAndThirdPartyAudienceGroup" - }, - "type": "array" + "description": "Optional. The custom list ids of the included custom list group. Contains custom list ids only." }, "includedGoogleAudienceGroup": { "$ref": "GoogleAudienceGroup", - "description": "The Google audience ids of the included Google audience group. Contains Google audience ids only." + "description": "Optional. The Google audience ids of the included Google audience group. Contains Google audience ids only." } }, "type": "object" @@ -10468,12 +9184,12 @@ "id": "AudioVideoOffset", "properties": { "percentage": { - "description": "The offset in percentage of the audio or video duration.", + "description": "Optional. The offset in percentage of the audio or video duration.", "format": "int64", "type": "string" }, "seconds": { - "description": "The offset in seconds from the start of the audio or video.", + "description": "Optional. The offset in seconds from the start of the audio or video.", "format": "int64", "type": "string" } @@ -11030,40 +9746,6 @@ }, "type": "object" }, - "BulkListCampaignAssignedTargetingOptionsResponse": { - "id": "BulkListCampaignAssignedTargetingOptionsResponse", - "properties": { - "assignedTargetingOptions": { - "description": "The list of assigned targeting options. This list will be absent if empty.", - "items": { - "$ref": "AssignedTargetingOption" - }, - "type": "array" - }, - "nextPageToken": { - "description": "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.", - "type": "string" - } - }, - "type": "object" - }, - "BulkListInsertionOrderAssignedTargetingOptionsResponse": { - "id": "BulkListInsertionOrderAssignedTargetingOptionsResponse", - "properties": { - "assignedTargetingOptions": { - "description": "The list of assigned targeting options. This list will be absent if empty.", - "items": { - "$ref": "AssignedTargetingOption" - }, - "type": "array" - }, - "nextPageToken": { - "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent BulkListInsertionOrderAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.", - "type": "string" - } - }, - "type": "object" - }, "BulkUpdateLineItemsRequest": { "description": "Request message for LineItemService.BulkUpdateLineItems.", "id": "BulkUpdateLineItemsRequest", @@ -11232,7 +9914,16 @@ "GEO_REGION_TYPE_ARRONDISSEMENT", "GEO_REGION_TYPE_NEIGHBORHOOD", "GEO_REGION_TYPE_UNIVERSITY", - "GEO_REGION_TYPE_DISTRICT" + "GEO_REGION_TYPE_DISTRICT", + "GEO_REGION_TYPE_NATIONAL_PARK", + "GEO_REGION_TYPE_BARRIO", + "GEO_REGION_TYPE_SUB_WARD", + "GEO_REGION_TYPE_MUNICIPALITY_DISTRICT", + "GEO_REGION_TYPE_SUB_DISTRICT", + "GEO_REGION_TYPE_QUARTER", + "GEO_REGION_TYPE_DIVISION", + "GEO_REGION_TYPE_COMMUNE", + "GEO_REGION_TYPE_COLLOQUIAL_AREA" ], "enumDescriptions": [ "The geographic region type is unknown.", @@ -11263,7 +9954,16 @@ "The geographic region is an arrondissement.", "The geographic region is a neighborhood.", "The geographic region is a university.", - "The geographic region is a district." + "The geographic region is a district.", + "The geographic region is a national park.", + "The geographic region is a barrio.", + "The geographic region is a sub ward.", + "The geographic region is a municipality district.", + "The geographic region is a sub district.", + "The geographic region is a quarter.", + "The geographic region is a division.", + "The geographic region is a commune.", + "The geographic region is a colloquial area." ], "readOnly": true, "type": "string" @@ -11328,7 +10028,7 @@ }, "frequencyCap": { "$ref": "FrequencyCap", - "description": "Required. The frequency cap setting of the campaign." + "description": "Required. The frequency cap setting of the campaign. *Warning*: On **February 28, 2025**, frequency cap time periods greater than 30 days will no longer be accepted. [Read more about this announced change](/display-video/api/deprecations#features.lifetime_frequency_cap)" }, "name": { "description": "Output only. The resource name of the campaign.", @@ -11644,17 +10344,17 @@ "id": "CmTrackingAd", "properties": { "cmAdId": { - "description": "The ad ID of the campaign manager 360 tracking Ad.", + "description": "Optional. The ad ID of the campaign manager 360 tracking Ad.", "format": "int64", "type": "string" }, "cmCreativeId": { - "description": "The creative ID of the campaign manager 360 tracking Ad.", + "description": "Optional. The creative ID of the campaign manager 360 tracking Ad.", "format": "int64", "type": "string" }, "cmPlacementId": { - "description": "The placement ID of the campaign manager 360 tracking Ad.", + "description": "Optional. The placement ID of the campaign manager 360 tracking Ad.", "format": "int64", "type": "string" } @@ -11689,7 +10389,7 @@ "id": "CombinedAudienceGroup", "properties": { "settings": { - "description": "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.", + "description": "Required. All combined audience targeting settings in combined audience group. Repeated settings with the same id will be ignored. The number of combined audience settings should be no more than five, error will be thrown otherwise.", "items": { "$ref": "CombinedAudienceTargetingSetting" }, @@ -11745,99 +10445,6 @@ }, "type": "object" }, - "Consent": { - "description": "User consent status.", - "id": "Consent", - "properties": { - "adPersonalization": { - "description": "Represents consent for ad personalization.", - "enum": [ - "CONSENT_STATUS_UNSPECIFIED", - "CONSENT_STATUS_GRANTED", - "CONSENT_STATUS_DENIED" - ], - "enumDescriptions": [ - "Type value is not specified or is unknown in this version.", - "Consent is granted.", - "Consent is denied." - ], - "type": "string" - }, - "adUserData": { - "description": "Represents consent for ad user data.", - "enum": [ - "CONSENT_STATUS_UNSPECIFIED", - "CONSENT_STATUS_GRANTED", - "CONSENT_STATUS_DENIED" - ], - "enumDescriptions": [ - "Type value is not specified or is unknown in this version.", - "Consent is granted.", - "Consent is denied." - ], - "type": "string" - } - }, - "type": "object" - }, - "ContactInfo": { - "description": "Contact information defining a Customer Match audience member.", - "id": "ContactInfo", - "properties": { - "countryCode": { - "description": "Country code of the member. Must also be set with the following fields: * hashed_first_name * hashed_last_name * zip_codes", - "type": "string" - }, - "hashedEmails": { - "description": "A list of SHA256 hashed email of the member. Before hashing, remove all whitespace and make sure the string is all lowercase.", - "items": { - "type": "string" - }, - "type": "array" - }, - "hashedFirstName": { - "description": "SHA256 hashed first name of the member. Before hashing, remove all whitespace and make sure the string is all lowercase. Must also be set with the following fields: * country_code * hashed_last_name * zip_codes", - "type": "string" - }, - "hashedLastName": { - "description": "SHA256 hashed last name of the member. Before hashing, remove all whitespace and make sure the string is all lowercase. Must also be set with the following fields: * country_code * hashed_first_name * zip_codes", - "type": "string" - }, - "hashedPhoneNumbers": { - "description": "A list of SHA256 hashed phone numbers of the member. Before hashing, all phone numbers must be formatted using the [E.164 format](//en.wikipedia.org/wiki/E.164) and include the country calling code.", - "items": { - "type": "string" - }, - "type": "array" - }, - "zipCodes": { - "description": "A list of zip codes of the member. Must also be set with the following fields: * country_code * hashed_first_name * hashed_last_name", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "ContactInfoList": { - "description": "Wrapper message for a list of contact information defining Customer Match audience members.", - "id": "ContactInfoList", - "properties": { - "consent": { - "$ref": "Consent", - "description": "Input only. The consent setting for the users in contact_infos. Leaving this field unset indicates that consent is not specified. If ad_user_data or ad_personalization fields are set to `CONSENT_STATUS_DENIED`, the request will return an error." - }, - "contactInfos": { - "description": "A list of ContactInfo objects defining Customer Match audience members. The size of members after splitting the contact_infos mustn't be greater than 500,000.", - "items": { - "$ref": "ContactInfo" - }, - "type": "array" - } - }, - "type": "object" - }, "ContentDurationAssignedTargetingOptionDetails": { "description": "Details for content duration assigned targeting option. This will be populated in the content_duration_details field when targeting_type is `TARGETING_TYPE_CONTENT_DURATION`. Explicitly targeting all options is not supported. Remove all content duration targeting options to achieve this effect.", "id": "ContentDurationAssignedTargetingOptionDetails", @@ -12131,7 +10738,7 @@ "id": "ConversionCountingConfig", "properties": { "floodlightActivityConfigs": { - "description": "The Floodlight activity configs used to track conversions. The number of conversions counted is the sum of all of the conversions counted by all of the Floodlight activity IDs specified in this field.", + "description": "The Floodlight activity configs used to track conversions. The number of conversions counted is the sum of all of the conversions counted by all of the Floodlight activity IDs specified in this field. *Warning*: Starting **April 1, 2025**, this field will no longer be writable while a custom bidding algorithm is assigned to the line item. If you set this field and assign a custom bidding algorithm in the same request, the floodlight activities must match the ones used by the custom bidding algorithm. [Read more about this announced change](/display-video/api/deprecations#features.custom_bidding_floodlight).", "items": { "$ref": "TrackingFloodlightActivityConfig" }, @@ -12391,7 +10998,7 @@ "id": "Creative", "properties": { "additionalDimensions": { - "description": "Additional dimensions. Applicable when creative_type is one of: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE` * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_LIGHTBOX` * `CREATIVE_TYPE_PUBLISHER_HOSTED` If this field is specified, width_pixels and height_pixels are both required and must be greater than or equal to 0.", + "description": "Optional. Additional dimensions. Applicable when creative_type is one of: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE` * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_LIGHTBOX` * `CREATIVE_TYPE_PUBLISHER_HOSTED` If this field is specified, width_pixels and height_pixels are both required and must be greater than or equal to 0.", "items": { "$ref": "Dimensions" }, @@ -12404,7 +11011,7 @@ "type": "string" }, "appendedTag": { - "description": "Third-party HTML tracking tag to be appended to the creative tag.", + "description": "Optional. Third-party HTML tracking tag to be appended to the creative tag.", "type": "string" }, "assets": { @@ -12422,10 +11029,10 @@ }, "cmTrackingAd": { "$ref": "CmTrackingAd", - "description": "The Campaign Manager 360 tracking ad associated with the creative. Optional for the following creative_type when created by an advertiser that uses both Campaign Manager 360 and third-party ad serving: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` Output only for other cases." + "description": "Optional. The Campaign Manager 360 tracking ad associated with the creative. Optional for the following creative_type when created by an advertiser that uses both Campaign Manager 360 and third-party ad serving: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` Output only for other cases." }, "companionCreativeIds": { - "description": "The IDs of companion creatives for a video creative. You can assign existing display creatives (with image or HTML5 assets) to serve surrounding the publisher's video player. Companions display around the video player while the video is playing and remain after the video has completed. Creatives contain additional dimensions can not be companion creatives. This field is only supported for following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO`", + "description": "Optional. The IDs of companion creatives for a video creative. You can assign existing display creatives (with image or HTML5 assets) to serve surrounding the publisher's video player. Companions display around the video player while the video is playing and remain after the video has completed. Creatives contain additional dimensions can not be companion creatives. This field is only supported for the following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO`", "items": { "format": "int64", "type": "string" @@ -12433,7 +11040,7 @@ "type": "array" }, "counterEvents": { - "description": "Counter events for a rich media creative. Counters track the number of times that a user interacts with any part of a rich media creative in a specified way (mouse-overs, mouse-outs, clicks, taps, data loading, keyboard entries, etc.). Any event that can be captured in the creative can be recorded as a counter. Leave it empty or unset for creatives containing image assets only.", + "description": "Optional. Counter events for a rich media creative. Counters track the number of times that a user interacts with any part of a rich media creative in a specified way (mouse-overs, mouse-outs, clicks, taps, data loading, keyboard entries, etc.). Any event that can be captured in the creative can be recorded as a counter. Leave it empty or unset for creatives containing image assets only.", "items": { "$ref": "CounterEvent" }, @@ -12507,7 +11114,7 @@ "Publisher hosted creative. Create and update methods are **not** supported for this creative type.", "Native video creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", "Templated app install mobile video creative. Create and update methods are **not** supported for this creative type.", - "Asset based creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`." + "Asset-based creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`." ], "type": "string" }, @@ -12613,15 +11220,15 @@ "type": "boolean" }, "iasCampaignMonitoring": { - "description": "Indicates whether Integral Ad Science (IAS) campaign monitoring is enabled. To enable this for the creative, make sure the Advertiser.creative_config.ias_client_id has been set to your IAS client ID.", + "description": "Optional. Indicates whether Integral Ad Science (IAS) campaign monitoring is enabled. To enable this for the creative, make sure the Advertiser.creative_config.ias_client_id has been set to your IAS client ID.", "type": "boolean" }, "integrationCode": { - "description": "ID information used to link this creative to an external system. Must be UTF-8 encoded with a length of no more than 10,000 characters.", + "description": "Optional. ID information used to link this creative to an external system. Must be UTF-8 encoded with a length of no more than 10,000 characters.", "type": "string" }, "jsTrackerUrl": { - "description": "JavaScript measurement URL from supported third-party verification providers (ComScore, DoubleVerify, IAS, Moat). HTML script tags are not supported. This field is only writeable in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "description": "Optional. JavaScript measurement URL from supported third-party verification providers (ComScore, DoubleVerify, IAS, Moat). HTML script tags are not supported. This field is only writeable in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", "type": "string" }, "lineItemIds": { @@ -12650,12 +11257,12 @@ "type": "string" }, "notes": { - "description": "User notes for this creative. Must be UTF-8 encoded with a length of no more than 20,000 characters.", + "description": "Optional. User notes for this creative. Must be UTF-8 encoded with a length of no more than 20,000 characters.", "type": "string" }, "obaIcon": { "$ref": "ObaIcon", - "description": "Specifies the OBA icon for a video creative. This field is only supported in following creative_type: * `CREATIVE_TYPE_VIDEO`" + "description": "Optional. Specifies the OBA icon for a video creative. This field is only supported in the following creative_type: * `CREATIVE_TYPE_VIDEO`" }, "oggAudio": { "description": "Output only. Indicates the third-party audio creative supports OGG. Output only and only valid for third-party audio creatives. Third-party audio creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_AUDIO`", @@ -12664,7 +11271,7 @@ }, "progressOffset": { "$ref": "AudioVideoOffset", - "description": "Amount of time to play the video before counting a view. This field is required when skippable is true. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`" + "description": "Optional. Amount of time to play the video before counting a view. This field is required when skippable is true. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`" }, "requireHtml5": { "description": "Optional. Indicates that the creative relies on HTML5 to render properly. Optional and only valid for third-party tag creatives. Third-party tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE`", @@ -12685,10 +11292,10 @@ }, "skipOffset": { "$ref": "AudioVideoOffset", - "description": "Amount of time to play the video before the skip button appears. This field is required when skippable is true. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`" + "description": "Optional. Amount of time to play the video before the skip button appears. This field is required when skippable is true. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`" }, "skippable": { - "description": "Whether the user can choose to skip a video creative. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`", + "description": "Optional. Whether the user can choose to skip a video creative. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`", "type": "boolean" }, "thirdPartyTag": { @@ -12696,28 +11303,28 @@ "type": "string" }, "thirdPartyUrls": { - "description": "Tracking URLs from third parties to track interactions with a video creative. This field is only supported for the following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "description": "Optional. Tracking URLs from third parties to track interactions with a video creative. This field is only supported for the following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO`", "items": { "$ref": "ThirdPartyUrl" }, "type": "array" }, "timerEvents": { - "description": "Timer custom events for a rich media creative. Timers track the time during which a user views and interacts with a specified part of a rich media creative. A creative can have multiple timer events, each timed independently. Leave it empty or unset for creatives containing image assets only.", + "description": "Optional. Timer custom events for a rich media creative. Timers track the time during which a user views and interacts with a specified part of a rich media creative. A creative can have multiple timer events, each timed independently. Leave it empty or unset for creatives containing image assets only.", "items": { "$ref": "TimerEvent" }, "type": "array" }, "trackerUrls": { - "description": "Tracking URLs for analytics providers or third-party ad technology vendors. The URLs must start with https (except on inventory that doesn't require SSL compliance). If using macros in your URL, use only macros supported by Display & Video 360. Standard URLs only, no IMG or SCRIPT tags. This field is only writeable in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "description": "Optional. Tracking URLs for analytics providers or third-party ad technology vendors. The URLs must start with `https:` (except on inventory that doesn't require SSL compliance). If using macros in your URL, use only macros supported by Display & Video 360. Standard URLs only, no IMG or SCRIPT tags. This field is only writeable in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", "items": { "type": "string" }, "type": "array" }, "transcodes": { - "description": "Output only. Audio/Video transcodes. Display & Video 360 transcodes the main asset into a number of alternative versions that use different file formats or have different properties (resolution, audio bit rate, and video bit rate), each designed for specific video players or bandwidths. These transcodes give a publisher's system more options to choose from for each impression on your video and ensures that the appropriate file serves based on the viewer’s connection and screen size. This field is only supported in following creative_type: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO` * `CREATIVE_TYPE_AUDIO`", + "description": "Output only. Audio/Video transcodes. Display & Video 360 transcodes the main asset into a number of alternative versions that use different file formats or have different properties (resolution, audio bit rate, and video bit rate), each designed for specific video players or bandwidths. These transcodes give a publisher's system more options to choose from for each impression on your video and ensures that the appropriate file serves based on the viewer’s connection and screen size. This field is only supported in the following creative_type: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO` * `CREATIVE_TYPE_AUDIO`", "items": { "$ref": "Transcode" }, @@ -12786,7 +11393,7 @@ "Publisher hosted creative. Create and update methods are **not** supported for this creative type.", "Native video creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", "Templated app install mobile video creative. Create and update methods are **not** supported for this creative type.", - "Asset based creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`." + "Asset-based creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`." ], "type": "string" }, @@ -12820,15 +11427,11 @@ "description": "Required. Immutable. The type of custom bidding algorithm.", "enum": [ "CUSTOM_BIDDING_ALGORITHM_TYPE_UNSPECIFIED", - "SCRIPT_BASED", - "ADS_DATA_HUB_BASED", - "GOAL_BUILDER_BASED" + "SCRIPT_BASED" ], "enumDescriptions": [ "Algorithm type is not specified or is unknown in this version.", - "Algorithm generated through customer-uploaded custom bidding script files.", - "Algorithm created through Ads Data Hub product.", - "Algorithm created through goal builder in DV3 UI." + "Algorithm generated through customer-uploaded custom bidding script files." ], "type": "string" }, @@ -13066,7 +11669,7 @@ "id": "CustomListGroup", "properties": { "settings": { - "description": "Required. All custom list targeting settings in custom list group. Repeated settings with same id will be ignored.", + "description": "Required. All custom list targeting settings in custom list group. Repeated settings with the same id will be ignored.", "items": { "$ref": "CustomListTargetingSetting" }, @@ -13854,46 +12457,6 @@ }, "type": "object" }, - "EditCustomerMatchMembersRequest": { - "description": "Request message for FirstAndThirdPartyAudienceService.EditCustomerMatchMembers.", - "id": "EditCustomerMatchMembersRequest", - "properties": { - "addedContactInfoList": { - "$ref": "ContactInfoList", - "description": "Input only. A list of contact information to define the members to be added." - }, - "addedMobileDeviceIdList": { - "$ref": "MobileDeviceIdList", - "description": "Input only. A list of mobile device IDs to define the members to be added." - }, - "advertiserId": { - "description": "Required. The ID of the owner advertiser of the updated Customer Match FirstAndThirdPartyAudience.", - "format": "int64", - "type": "string" - }, - "removedContactInfoList": { - "$ref": "ContactInfoList", - "description": "Input only. A list of contact information to define the members to be removed." - }, - "removedMobileDeviceIdList": { - "$ref": "MobileDeviceIdList", - "description": "Input only. A list of mobile device IDs to define the members to be removed." - } - }, - "type": "object" - }, - "EditCustomerMatchMembersResponse": { - "description": "The response of FirstAndThirdPartyAudienceService.EditCustomerMatchMembers.", - "id": "EditCustomerMatchMembersResponse", - "properties": { - "firstAndThirdPartyAudienceId": { - "description": "Required. The ID of the updated Customer Match FirstAndThirdPartyAudience.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, "EditGuaranteedOrderReadAccessorsRequest": { "description": "Request message for GuaranteedOrderService.EditGuaranteedOrderReadAccessors.", "id": "EditGuaranteedOrderReadAccessorsRequest", @@ -14831,11 +13394,11 @@ "id": "ExitEvent", "properties": { "name": { - "description": "The name of the click tag of the exit event. The name must be unique within one creative. Leave it empty or unset for creatives containing image assets only.", + "description": "Optional. The name of the click tag of the exit event. The name must be unique within one creative. Leave it empty or unset for creatives containing image assets only.", "type": "string" }, "reportingName": { - "description": "The name used to identify this event in reports. Leave it empty or unset for creatives containing image assets only.", + "description": "Optional. The name used to identify this event in reports. Leave it empty or unset for creatives containing image assets only.", "type": "string" }, "type": { @@ -14859,259 +13422,6 @@ }, "type": "object" }, - "FirstAndThirdPartyAudience": { - "description": "Describes a first or third party audience list used for targeting. First party audiences are created via usage of client data. Third party audiences are provided by Third Party data providers and can only be licensed to customers.", - "id": "FirstAndThirdPartyAudience", - "properties": { - "activeDisplayAudienceSize": { - "description": "Output only. The estimated audience size for the Display network in the past month. If the size is less than 1000, the number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to two significant digits. Only returned in GET request.", - "format": "int64", - "readOnly": true, - "type": "string" - }, - "appId": { - "description": "The app_id matches with the type of the mobile_device_ids being uploaded. Only applicable to audience_type `CUSTOMER_MATCH_DEVICE_ID`", - "type": "string" - }, - "audienceSource": { - "description": "Output only. The source of the audience.", - "enum": [ - "AUDIENCE_SOURCE_UNSPECIFIED", - "DISPLAY_VIDEO_360", - "CAMPAIGN_MANAGER", - "AD_MANAGER", - "SEARCH_ADS_360", - "YOUTUBE", - "ADS_DATA_HUB" - ], - "enumDescriptions": [ - "Default value when audience source is not specified or is unknown.", - "Originated from Display & Video 360.", - "Originated from Campaign Manager 360.", - "Originated from Google Ad Manager.", - "Originated from Search Ads 360.", - "Originated from Youtube.", - "Originated from Ads Data Hub." - ], - "readOnly": true, - "type": "string" - }, - "audienceType": { - "description": "The type of the audience.", - "enum": [ - "AUDIENCE_TYPE_UNSPECIFIED", - "CUSTOMER_MATCH_CONTACT_INFO", - "CUSTOMER_MATCH_DEVICE_ID", - "CUSTOMER_MATCH_USER_ID", - "ACTIVITY_BASED", - "FREQUENCY_CAP", - "TAG_BASED", - "YOUTUBE_USERS", - "LICENSED" - ], - "enumDeprecated": [ - false, - false, - false, - false, - true, - true, - false, - false, - false - ], - "enumDescriptions": [ - "Default value when type is not specified or is unknown.", - "Audience was generated through matching customers to known contact information.", - "Audience was generated through matching customers to known Mobile device IDs.", - "Audience was generated through matching customers to known User IDs.", - "Audience was created based on campaign activity.", - "Audience was created based on excluding the number of impressions they were served.", - "Audience was created based on custom variables attached to pixel.", - "Audience was created based on past interactions with videos, YouTube ads, or YouTube channel.", - "Subtype of third party audience type." - ], - "type": "string" - }, - "contactInfoList": { - "$ref": "ContactInfoList", - "description": "Input only. A list of contact information to define the initial audience members. Only applicable to audience_type `CUSTOMER_MATCH_CONTACT_INFO`" - }, - "description": { - "description": "The user-provided description of the audience. Only applicable to first party audiences.", - "type": "string" - }, - "displayAudienceSize": { - "description": "Output only. The estimated audience size for the Display network. If the size is less than 1000, the number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to two significant digits. Only returned in GET request.", - "format": "int64", - "readOnly": true, - "type": "string" - }, - "displayDesktopAudienceSize": { - "description": "Output only. The estimated desktop audience size in Display network. If the size is less than 1000, the number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to two significant digits. Only applicable to first party audiences. Only returned in GET request.", - "format": "int64", - "readOnly": true, - "type": "string" - }, - "displayMobileAppAudienceSize": { - "description": "Output only. The estimated mobile app audience size in Display network. If the size is less than 1000, the number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to two significant digits. Only applicable to first party audiences. Only returned in GET request.", - "format": "int64", - "readOnly": true, - "type": "string" - }, - "displayMobileWebAudienceSize": { - "description": "Output only. The estimated mobile web audience size in Display network. If the size is less than 1000, the number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to two significant digits. Only applicable to first party audiences. Only returned in GET request.", - "format": "int64", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "The display name of the first and third party audience.", - "type": "string" - }, - "firstAndThirdPartyAudienceId": { - "description": "Output only. The unique ID of the first and third party audience. Assigned by the system.", - "format": "int64", - "readOnly": true, - "type": "string" - }, - "firstAndThirdPartyAudienceType": { - "description": "Whether the audience is a first or third party audience.", - "enum": [ - "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_UNSPECIFIED", - "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_FIRST_PARTY", - "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_THIRD_PARTY" - ], - "enumDescriptions": [ - "Default value when type is not specified or is unknown.", - "Audience that is created via usage of client data.", - "Audience that is provided by Third Party data providers." - ], - "type": "string" - }, - "gmailAudienceSize": { - "description": "Output only. The estimated audience size for Gmail network. If the size is less than 1000, the number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to two significant digits. Only applicable to first party audiences. Only returned in GET request.", - "format": "int64", - "readOnly": true, - "type": "string" - }, - "membershipDurationDays": { - "description": "The duration in days that an entry remains in the audience after the qualifying event. If the audience has no expiration, set the value of this field to 10000. Otherwise, the set value must be greater than 0 and less than or equal to 540. Only applicable to first party audiences. This field is required if one of the following audience_type is used: * `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID`", - "format": "int64", - "type": "string" - }, - "mobileDeviceIdList": { - "$ref": "MobileDeviceIdList", - "description": "Input only. A list of mobile device IDs to define the initial audience members. Only applicable to audience_type `CUSTOMER_MATCH_DEVICE_ID`" - }, - "name": { - "description": "Output only. The resource name of the first and third party audience.", - "readOnly": true, - "type": "string" - }, - "youtubeAudienceSize": { - "description": "Output only. The estimated audience size for YouTube network. If the size is less than 1000, the number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to two significant digits. Only applicable to first party audiences. Only returned in GET request.", - "format": "int64", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "FirstAndThirdPartyAudienceGroup": { - "description": "Details of first and third party audience group. All first and third party audience targeting settings are logically ‘OR’ of each other.", - "id": "FirstAndThirdPartyAudienceGroup", - "properties": { - "settings": { - "description": "Required. All first and third party audience targeting settings in first and third party audience group. Repeated settings with same id are not allowed.", - "items": { - "$ref": "FirstAndThirdPartyAudienceTargetingSetting" - }, - "type": "array" - } - }, - "type": "object" - }, - "FirstAndThirdPartyAudienceTargetingSetting": { - "description": "Details of first and third party audience targeting setting.", - "id": "FirstAndThirdPartyAudienceTargetingSetting", - "properties": { - "firstAndThirdPartyAudienceId": { - "description": "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.", - "format": "int64", - "type": "string" - }, - "recency": { - "description": "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.", - "enum": [ - "RECENCY_NO_LIMIT", - "RECENCY_1_MINUTE", - "RECENCY_5_MINUTES", - "RECENCY_10_MINUTES", - "RECENCY_15_MINUTES", - "RECENCY_30_MINUTES", - "RECENCY_1_HOUR", - "RECENCY_2_HOURS", - "RECENCY_3_HOURS", - "RECENCY_6_HOURS", - "RECENCY_12_HOURS", - "RECENCY_1_DAY", - "RECENCY_2_DAYS", - "RECENCY_3_DAYS", - "RECENCY_5_DAYS", - "RECENCY_7_DAYS", - "RECENCY_10_DAYS", - "RECENCY_14_DAYS", - "RECENCY_15_DAYS", - "RECENCY_21_DAYS", - "RECENCY_28_DAYS", - "RECENCY_30_DAYS", - "RECENCY_40_DAYS", - "RECENCY_45_DAYS", - "RECENCY_60_DAYS", - "RECENCY_90_DAYS", - "RECENCY_120_DAYS", - "RECENCY_180_DAYS", - "RECENCY_270_DAYS", - "RECENCY_365_DAYS" - ], - "enumDescriptions": [ - "No limit of recency.", - "Recency is 1 minute.", - "Recency is 5 minutes.", - "Recency is 10 minutes.", - "Recency is 15 minutes.", - "Recency is 30 minutes.", - "Recency is 1 hour.", - "Recency is 2 hours.", - "Recency is 3 hours.", - "Recency is 6 hours.", - "Recency is 12 hours.", - "Recency is 1 day.", - "Recency is 2 days.", - "Recency is 3 days.", - "Recency is 5 days.", - "Recency is 7 days.", - "Recency is 10 days.", - "Recency is 14 days.", - "Recency is 15 days.", - "Recency is 21 days.", - "Recency is 28 days.", - "Recency is 30 days.", - "Recency is 40 days.", - "Recency is 45 days.", - "Recency is 60 days.", - "Recency is 90 days.", - "Recency is 120 days.", - "Recency is 180 days.", - "Recency is 270 days.", - "Recency is 365 days." - ], - "type": "string" - } - }, - "type": "object" - }, "FixedBidStrategy": { "description": "A strategy that uses a fixed bidding price.", "id": "FixedBidStrategy", @@ -15256,7 +13566,7 @@ "type": "integer" }, "timeUnit": { - "description": "The time unit in which the frequency cap will be applied. Required when unlimited is `false`.", + "description": "The time unit in which the frequency cap will be applied. Required when unlimited is `false`. *Warning*: On **February 28, 2025**, frequency cap time periods greater than 30 days will no longer be accepted. This field will no longer accept the value `TIME_UNIT_LIFETIME`. [Read more about this announced change](/display-video/api/deprecations#features.lifetime_frequency_cap).", "enum": [ "TIME_UNIT_UNSPECIFIED", "TIME_UNIT_LIFETIME", @@ -15278,7 +13588,7 @@ "type": "string" }, "timeUnitCount": { - "description": "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", + "description": "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 *Warning*: On **February 28, 2025**, frequency cap time periods greater than 30 days will no longer be accepted. This field will no longer accept the value 2 if the value of time_unit is `TIME_UNIT_MONTHS`. [Read more about this announced change](/display-video/api/deprecations#features.lifetime_frequency_cap).", "format": "int32", "type": "integer" }, @@ -15448,7 +13758,16 @@ "GEO_REGION_TYPE_ARRONDISSEMENT", "GEO_REGION_TYPE_NEIGHBORHOOD", "GEO_REGION_TYPE_UNIVERSITY", - "GEO_REGION_TYPE_DISTRICT" + "GEO_REGION_TYPE_DISTRICT", + "GEO_REGION_TYPE_NATIONAL_PARK", + "GEO_REGION_TYPE_BARRIO", + "GEO_REGION_TYPE_SUB_WARD", + "GEO_REGION_TYPE_MUNICIPALITY_DISTRICT", + "GEO_REGION_TYPE_SUB_DISTRICT", + "GEO_REGION_TYPE_QUARTER", + "GEO_REGION_TYPE_DIVISION", + "GEO_REGION_TYPE_COMMUNE", + "GEO_REGION_TYPE_COLLOQUIAL_AREA" ], "enumDescriptions": [ "The geographic region type is unknown.", @@ -15479,7 +13798,16 @@ "The geographic region is an arrondissement.", "The geographic region is a neighborhood.", "The geographic region is a university.", - "The geographic region is a district." + "The geographic region is a district.", + "The geographic region is a national park.", + "The geographic region is a barrio.", + "The geographic region is a sub ward.", + "The geographic region is a municipality district.", + "The geographic region is a sub district.", + "The geographic region is a quarter.", + "The geographic region is a division.", + "The geographic region is a commune.", + "The geographic region is a colloquial area." ], "readOnly": true, "type": "string" @@ -15546,7 +13874,16 @@ "GEO_REGION_TYPE_ARRONDISSEMENT", "GEO_REGION_TYPE_NEIGHBORHOOD", "GEO_REGION_TYPE_UNIVERSITY", - "GEO_REGION_TYPE_DISTRICT" + "GEO_REGION_TYPE_DISTRICT", + "GEO_REGION_TYPE_NATIONAL_PARK", + "GEO_REGION_TYPE_BARRIO", + "GEO_REGION_TYPE_SUB_WARD", + "GEO_REGION_TYPE_MUNICIPALITY_DISTRICT", + "GEO_REGION_TYPE_SUB_DISTRICT", + "GEO_REGION_TYPE_QUARTER", + "GEO_REGION_TYPE_DIVISION", + "GEO_REGION_TYPE_COMMUNE", + "GEO_REGION_TYPE_COLLOQUIAL_AREA" ], "enumDescriptions": [ "The geographic region type is unknown.", @@ -15577,7 +13914,16 @@ "The geographic region is an arrondissement.", "The geographic region is a neighborhood.", "The geographic region is a university.", - "The geographic region is a district." + "The geographic region is a district.", + "The geographic region is a national park.", + "The geographic region is a barrio.", + "The geographic region is a sub ward.", + "The geographic region is a municipality district.", + "The geographic region is a sub district.", + "The geographic region is a quarter.", + "The geographic region is a division.", + "The geographic region is a commune.", + "The geographic region is a colloquial area." ], "readOnly": true, "type": "string" @@ -15645,7 +13991,7 @@ "id": "GoogleAudienceGroup", "properties": { "settings": { - "description": "Required. All Google audience targeting settings in Google audience group. Repeated settings with same id will be ignored.", + "description": "Required. All Google audience targeting settings in Google audience group. Repeated settings with the same id will be ignored.", "items": { "$ref": "GoogleAudienceTargetingSetting" }, @@ -16142,7 +14488,7 @@ }, "bidStrategy": { "$ref": "BiddingStrategy", - "description": "The bidding strategy of the insertion order. By default, fixed_bid is set." + "description": "Optional. The bidding strategy of the insertion order. By default, fixed_bid is set." }, "billableOutcome": { "description": "Immutable. The billable outcome of the insertion order. Outcome based buying is deprecated. `BILLABLE_OUTCOME_PAY_PER_IMPRESSION` is the only valid value.", @@ -16201,7 +14547,7 @@ }, "frequencyCap": { "$ref": "FrequencyCap", - "description": "Required. The frequency capping setting of the insertion order." + "description": "Required. The frequency capping setting of the insertion order. *Warning*: On **February 28, 2025**, frequency cap time periods greater than 30 days will no longer be accepted. [Read more about this announced change](/display-video/api/deprecations#features.lifetime_frequency_cap)" }, "insertionOrderId": { "description": "Output only. The unique ID of the insertion order. Assigned by the system.", @@ -16210,7 +14556,7 @@ "type": "string" }, "insertionOrderType": { - "description": "The type of insertion order. If this field is unspecified in creation, the value defaults to `RTB`.", + "description": "Optional. The type of insertion order. If this field is unspecified in creation, the value defaults to `RTB`.", "enum": [ "INSERTION_ORDER_TYPE_UNSPECIFIED", "RTB", @@ -16225,7 +14571,7 @@ }, "integrationDetails": { "$ref": "IntegrationDetails", - "description": "Additional integration details of the insertion order." + "description": "Optional. Additional integration details of the insertion order." }, "name": { "description": "Output only. The resource name of the insertion order.", @@ -16237,7 +14583,7 @@ "description": "Required. The budget spending speed setting of the insertion order. pacing_type `PACING_TYPE_ASAP` is not compatible with pacing_period `PACING_PERIOD_FLIGHT`." }, "partnerCosts": { - "description": "The partner costs associated with the insertion order. If absent or empty in CreateInsertionOrder method, the newly created insertion order will inherit partner costs from the partner settings.", + "description": "Optional. The partner costs associated with the insertion order. If absent or empty in CreateInsertionOrder method, the newly created insertion order will inherit partner costs from the partner settings.", "items": { "$ref": "PartnerCost" }, @@ -16282,7 +14628,7 @@ "id": "InsertionOrderBudget", "properties": { "automationType": { - "description": "The type of automation used to manage bid and budget for the insertion order. If this field is unspecified in creation, the value defaults to `INSERTION_ORDER_AUTOMATION_TYPE_NONE`.", + "description": "Optional. The type of automation used to manage bid and budget for the insertion order. If this field is unspecified in creation, the value defaults to `INSERTION_ORDER_AUTOMATION_TYPE_NONE`.", "enum": [ "INSERTION_ORDER_AUTOMATION_TYPE_UNSPECIFIED", "INSERTION_ORDER_AUTOMATION_TYPE_BUDGET", @@ -16331,7 +14677,7 @@ "type": "string" }, "campaignBudgetId": { - "description": "The budget_id of the campaign budget that this insertion order budget segment is a part of.", + "description": "Optional. The budget_id of the campaign budget that this insertion order budget segment is a part of.", "format": "int64", "type": "string" }, @@ -16340,7 +14686,7 @@ "description": "Required. The start and end date settings of the budget segment. They are resolved relative to the parent advertiser's time zone. * When creating a new budget segment, both `start_date` and `end_date` must be in the future. * An existing budget segment with a `start_date` in the past has a mutable `end_date` but an immutable `start_date`. * `end_date` must be the `start_date` or later, both before the year 2037." }, "description": { - "description": "The budget segment description. It can be used to enter Purchase Order information for each budget segment and have that information printed on the invoices. Must be UTF-8 encoded.", + "description": "Optional. The budget segment description. It can be used to enter Purchase Order information for each budget segment and have that information printed on the invoices. Must be UTF-8 encoded.", "type": "string" } }, @@ -16351,7 +14697,7 @@ "id": "IntegralAdScience", "properties": { "customSegmentId": { - "description": "The custom segment ID provided by Integral Ad Science. The ID must be between `1000001` and `1999999`, inclusive.", + "description": "The custom segment ID provided by Integral Ad Science. The ID must be between `1000001` and `1999999` or `3000001` and `3999999`, inclusive.", "items": { "format": "int64", "type": "string" @@ -17274,7 +15620,7 @@ }, "conversionCounting": { "$ref": "ConversionCountingConfig", - "description": "The conversion tracking setting of the line item." + "description": "The conversion tracking setting of the line item. *Warning*: Starting **April 1, 2025**, the floodlight_activity_configs field will no longer be writable while a custom bidding algorithm is assigned to the line item. If you set this field and assign a custom bidding algorithm in the same request, the floodlight activities must match the ones used by the custom bidding algorithm. [Read more about this announced change](/display-video/api/deprecations#features.custom_bidding_floodlight)." }, "creativeIds": { "description": "The IDs of the creatives associated with the line item.", @@ -17318,7 +15664,7 @@ }, "frequencyCap": { "$ref": "FrequencyCap", - "description": "Required. The impression frequency cap settings of the line item. The max_impressions field in this settings object must be used if assigning a limited cap." + "description": "Required. The impression frequency cap settings of the line item. The max_impressions field in this settings object must be used if assigning a limited cap. *Warning*: On **February 28, 2025**, frequency cap time periods greater than 30 days will no longer be accepted. [Read more about this announced change](/display-video/api/deprecations#features.lifetime_frequency_cap)" }, "insertionOrderId": { "description": "Required. Immutable. The unique ID of the insertion order that the line item belongs to.", @@ -17641,24 +15987,6 @@ }, "type": "object" }, - "ListCampaignAssignedTargetingOptionsResponse": { - "description": "Response message for ListCampaignAssignedTargetingOptions.", - "id": "ListCampaignAssignedTargetingOptionsResponse", - "properties": { - "assignedTargetingOptions": { - "description": "The list of assigned targeting options. This list will be absent if empty.", - "items": { - "$ref": "AssignedTargetingOption" - }, - "type": "array" - }, - "nextPageToken": { - "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListCampaignAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.", - "type": "string" - } - }, - "type": "object" - }, "ListCampaignsResponse": { "id": "ListCampaignsResponse", "properties": { @@ -17778,23 +16106,6 @@ }, "type": "object" }, - "ListFirstAndThirdPartyAudiencesResponse": { - "id": "ListFirstAndThirdPartyAudiencesResponse", - "properties": { - "firstAndThirdPartyAudiences": { - "description": "The list of first and third party audiences. Audience size properties will not be included. This list will be absent if empty.", - "items": { - "$ref": "FirstAndThirdPartyAudience" - }, - "type": "array" - }, - "nextPageToken": { - "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListFirstAndThirdPartyAudiences` method to retrieve the next page of results.", - "type": "string" - } - }, - "type": "object" - }, "ListFloodlightActivitiesResponse": { "id": "ListFloodlightActivitiesResponse", "properties": { @@ -17846,23 +16157,6 @@ }, "type": "object" }, - "ListInsertionOrderAssignedTargetingOptionsResponse": { - "id": "ListInsertionOrderAssignedTargetingOptionsResponse", - "properties": { - "assignedTargetingOptions": { - "description": "The list of assigned targeting options. This list will be absent if empty.", - "items": { - "$ref": "AssignedTargetingOption" - }, - "type": "array" - }, - "nextPageToken": { - "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListInsertionOrderAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.", - "type": "string" - } - }, - "type": "object" - }, "ListInsertionOrdersResponse": { "id": "ListInsertionOrdersResponse", "properties": { @@ -18368,7 +16662,7 @@ "id": "MaximizeSpendBidStrategy", "properties": { "customBiddingAlgorithmId": { - "description": "The ID of the Custom Bidding Algorithm used by this strategy. Only applicable when performance_goal_type is set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.", + "description": "The ID of the Custom Bidding Algorithm used by this strategy. Only applicable when performance_goal_type is set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`. *Warning*: Starting **April 1, 2025**, assigning a custom bidding algorithm that uses floodlight activities not identified in floodlightActivityConfigs will return an error. [Read more about this announced change](/display-video/api/deprecations#features.custom_bidding_floodlight).", "format": "int64", "type": "string" }, @@ -18459,24 +16753,6 @@ }, "type": "object" }, - "MobileDeviceIdList": { - "description": "Wrapper message for a list of mobile device IDs defining Customer Match audience members.", - "id": "MobileDeviceIdList", - "properties": { - "consent": { - "$ref": "Consent", - "description": "Input only. The consent setting for the users in mobile_device_ids. Leaving this field unset indicates that consent is not specified. If ad_user_data or ad_personalization fields are set to `CONSENT_STATUS_DENIED`, the request will return an error." - }, - "mobileDeviceIds": { - "description": "A list of mobile device IDs defining Customer Match audience members. The size of mobile_device_ids mustn't be greater than 500,000.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "Money": { "description": "Represents an amount of money with its currency type.", "id": "Money", @@ -18638,19 +16914,19 @@ "id": "ObaIcon", "properties": { "clickTrackingUrl": { - "description": "Required. The click tracking URL of the OBA icon. Only URLs of the following domains are allowed: * https://info.evidon.com * https://l.betrad.com", + "description": "Required. The click tracking URL of the OBA icon. Only URLs of the following domains are allowed: * `https://info.evidon.com` * `https://l.betrad.com`", "type": "string" }, "dimensions": { "$ref": "Dimensions", - "description": "The dimensions of the OBA icon." + "description": "Optional. The dimensions of the OBA icon." }, "landingPageUrl": { - "description": "Required. The landing page URL of the OBA icon. Only URLs of the following domains are allowed: * https://info.evidon.com * https://l.betrad.com", + "description": "Required. The landing page URL of the OBA icon. Only URLs of the following domains are allowed: * `https://info.evidon.com` * `https://l.betrad.com`", "type": "string" }, "position": { - "description": "The position of the OBA icon on the creative.", + "description": "Optional. The position of the OBA icon on the creative.", "enum": [ "OBA_ICON_POSITION_UNSPECIFIED", "OBA_ICON_POSITION_UPPER_RIGHT", @@ -18668,19 +16944,19 @@ "type": "string" }, "program": { - "description": "The program of the OBA icon. For example: “AdChoices”.", + "description": "Optional. The program of the OBA icon. For example: “AdChoices”.", "type": "string" }, "resourceMimeType": { - "description": "The MIME type of the OBA icon resource.", + "description": "Optional. The MIME type of the OBA icon resource.", "type": "string" }, "resourceUrl": { - "description": "The URL of the OBA icon resource.", + "description": "Optional. The URL of the OBA icon resource.", "type": "string" }, "viewTrackingUrl": { - "description": "Required. The view tracking URL of the OBA icon. Only URLs of the following domains are allowed: * https://info.evidon.com * https://l.betrad.com", + "description": "Required. The view tracking URL of the OBA icon. Only URLs of the following domains are allowed: * `https://info.evidon.com` * `https://l.betrad.com`", "type": "string" } }, @@ -19334,7 +17610,7 @@ "id": "PerformanceGoalBidStrategy", "properties": { "customBiddingAlgorithmId": { - "description": "The ID of the Custom Bidding Algorithm used by this strategy. Only applicable when performance_goal_type is set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.", + "description": "The ID of the Custom Bidding Algorithm used by this strategy. Only applicable when performance_goal_type is set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`. *Warning*: Starting **April 1, 2025**, assigning a custom bidding algorithm that uses floodlight activities not identified in floodlightActivityConfigs will return an error. [Read more about this announced change](/display-video/api/deprecations#features.custom_bidding_floodlight).", "format": "int64", "type": "string" }, @@ -20618,7 +18894,7 @@ "id": "ThirdPartyUrl", "properties": { "type": { - "description": "The type of interaction needs to be tracked by the tracking URL", + "description": "Optional. The type of interaction needs to be tracked by the tracking URL", "enum": [ "THIRD_PARTY_URL_TYPE_UNSPECIFIED", "THIRD_PARTY_URL_TYPE_IMPRESSION", @@ -20658,7 +18934,7 @@ "type": "string" }, "url": { - "description": "Tracking URL used to track the interaction. Provide a URL with optional path or query string, beginning with `https:`. For example, https://www.example.com/path", + "description": "Optional. Tracking URL used to track the interaction. Provide a URL with optional path or query string, beginning with `https:`. For example, `https://www.example.com/path`", "type": "string" } }, @@ -20783,44 +19059,44 @@ "id": "Transcode", "properties": { "audioBitRateKbps": { - "description": "The bit rate for the audio stream of the transcoded video, or the bit rate for the transcoded audio, in kilobits per second.", + "description": "Optional. The bit rate for the audio stream of the transcoded video, or the bit rate for the transcoded audio, in kilobits per second.", "format": "int64", "type": "string" }, "audioSampleRateHz": { - "description": "The sample rate for the audio stream of the transcoded video, or the sample rate for the transcoded audio, in hertz.", + "description": "Optional. The sample rate for the audio stream of the transcoded video, or the sample rate for the transcoded audio, in hertz.", "format": "int64", "type": "string" }, "bitRateKbps": { - "description": "The transcoding bit rate of the transcoded video, in kilobits per second.", + "description": "Optional. The transcoding bit rate of the transcoded video, in kilobits per second.", "format": "int64", "type": "string" }, "dimensions": { "$ref": "Dimensions", - "description": "The dimensions of the transcoded video." + "description": "Optional. The dimensions of the transcoded video." }, "fileSizeBytes": { - "description": "The size of the transcoded file, in bytes.", + "description": "Optional. The size of the transcoded file, in bytes.", "format": "int64", "type": "string" }, "frameRate": { - "description": "The frame rate of the transcoded video, in frames per second.", + "description": "Optional. The frame rate of the transcoded video, in frames per second.", "format": "float", "type": "number" }, "mimeType": { - "description": "The MIME type of the transcoded file.", + "description": "Optional. The MIME type of the transcoded file.", "type": "string" }, "name": { - "description": "The name of the transcoded file.", + "description": "Optional. The name of the transcoded file.", "type": "string" }, "transcoded": { - "description": "Indicates if the transcoding was successful.", + "description": "Optional. Indicates if the transcoding was successful.", "type": "boolean" } }, @@ -20831,11 +19107,11 @@ "id": "UniversalAdId", "properties": { "id": { - "description": "The unique creative identifier.", + "description": "Optional. The unique creative identifier.", "type": "string" }, "registry": { - "description": "The registry provides unique creative identifiers.", + "description": "Optional. The registry provides unique creative identifiers.", "enum": [ "UNIVERSAL_AD_REGISTRY_UNSPECIFIED", "UNIVERSAL_AD_REGISTRY_OTHER", @@ -21629,7 +19905,7 @@ }, "viewFrequencyCap": { "$ref": "FrequencyCap", - "description": "The view frequency cap settings of the line item. The max_views field in this settings object must be used if assigning a limited cap." + "description": "The view frequency cap settings of the line item. The max_views field in this settings object must be used if assigning a limited cap. *Warning*: On **February 28, 2025**, frequency cap time periods greater than 30 days will no longer be accepted. [Read more about this announced change](/display-video/api/deprecations#features.lifetime_frequency_cap)" } }, "type": "object" diff --git a/discovery/googleapis/displayvideo__v3.json b/discovery/googleapis/displayvideo__v3.json index a69f463ea..4ad8ad9bc 100644 --- a/discovery/googleapis/displayvideo__v3.json +++ b/discovery/googleapis/displayvideo__v3.json @@ -34,7 +34,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241212", + "revision": "20250220", "rootUrl": "https://displayvideo.googleapis.com/", "servicePath": "", "title": "Display & Video 360 API", @@ -5672,7 +5672,7 @@ ] }, "patch": { - "description": "Updates an existing custom bidding algorithm. Returns the updated custom bidding algorithm if successful.", + "description": "Updates an existing custom bidding algorithm. Returns the updated custom bidding algorithm if successful. *Warning*: Starting **April 1, 2025**, requests updating custom bidding algorithms that are assigned to line items will return an error. [Read more about this announced change](/display-video/api/deprecations#features.custom_bidding_floodlight).", "flatPath": "v3/customBiddingAlgorithms/{customBiddingAlgorithmsId}", "httpMethod": "PATCH", "id": "displayvideo.customBiddingAlgorithms.patch", @@ -5787,7 +5787,7 @@ "rules": { "methods": { "create": { - "description": "Creates a new rules resource. Returns the newly created rules resource if successful.", + "description": "Creates a new rules resource. Returns the newly created rules resource if successful. *Warning*: Starting **April 1, 2025**, requests updating custom bidding algorithms that are assigned to line items will return an error. [Read more about this announced change](/display-video/api/deprecations#features.custom_bidding_floodlight).", "flatPath": "v3/customBiddingAlgorithms/{customBiddingAlgorithmsId}/rules", "httpMethod": "POST", "id": "displayvideo.customBiddingAlgorithms.rules.create", @@ -5933,7 +5933,7 @@ "scripts": { "methods": { "create": { - "description": "Creates a new custom bidding script. Returns the newly created script if successful.", + "description": "Creates a new custom bidding script. Returns the newly created script if successful. *Warning*: Starting **April 1, 2025**, requests updating custom bidding algorithms that are assigned to line items will return an error. [Read more about this announced change](/display-video/api/deprecations#features.custom_bidding_floodlight).", "flatPath": "v3/customBiddingAlgorithms/{customBiddingAlgorithmsId}/scripts", "httpMethod": "POST", "id": "displayvideo.customBiddingAlgorithms.scripts.create", @@ -6275,7 +6275,7 @@ "type": "string" }, "pageSize": { - "description": "Requested page size. Must be between `1` and `5000`. If unspecified, this value defaults to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "description": "Requested page size. Must be between `1` and `5000`. If unspecified, this value defaults to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. *Warning*: Starting **March 6, 2025**, this value will default to `5000` if not set.", "format": "int32", "location": "query", "type": "integer" @@ -8617,6 +8617,40 @@ } } }, + "sdfuploadtasks": { + "resources": { + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of an asynchronous SDF download task operation. Clients should poll this method at intervals of 30 seconds.", + "flatPath": "v3/sdfuploadtasks/operations/{operationsId}", + "httpMethod": "GET", + "id": "displayvideo.sdfuploadtasks.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^sdfuploadtasks/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/doubleclickbidmanager" + ] + } + } + } + } + }, "targetingTypes": { "resources": { "targetingOptions": { @@ -10573,7 +10607,7 @@ "Signal value is greater than the comparison value.", "Signal value is less than the second.", "Signal value is greater than or equal to the second.", - "Signal value is less or equals to the comparison value." + "Signal value is less than or equal to the comparison value." ], "type": "string" }, @@ -10708,10 +10742,10 @@ "properties": { "asset": { "$ref": "Asset", - "description": "The associated asset." + "description": "Optional. The associated asset." }, "role": { - "description": "The role of this asset for the creative.", + "description": "Optional. The role of this asset for the creative.", "enum": [ "ASSET_ROLE_UNSPECIFIED", "ASSET_ROLE_MAIN", @@ -10741,24 +10775,24 @@ "The asset is the main asset of the creative.", "The asset is a backup asset of the creative.", "The asset is a polite load asset of the creative.", - "Headline of a native creative. The content must be UTF-8 encoded with a length of no more than 25 characters. This role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", - "Long headline of a native creative. The content must be UTF-8 encoded with a length of no more than 50 characters. This role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", - "Body text of a native creative. The content must be UTF-8 encoded with a length of no more than 90 characters. This role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", - "Long body text of a native creative. The content must be UTF-8 encoded with a length of no more than 150 characters. This role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", - "A short, friendly version of the landing page URL to show in the creative. This URL gives people an idea of where they'll arrive after they click on the creative. The content must be UTF-8 encoded with a length of no more than 30 characters. For example, if the landing page URL is 'http://www.example.com/page', the caption URL can be 'example.com'. The protocol (http://) is optional, but the URL can't contain spaces or special characters. This role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", - "The text to use on the call-to-action button of a native creative. The content must be UTF-8 encoded with a length of no more than 15 characters. This role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", - "The text that identifies the advertiser or brand name. The content must be UTF-8 encoded with a length of no more than 25 characters. This role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "Headline of a native creative. The content must be UTF-8 encoded with a length of no more than 25 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "Long headline of a native creative. The content must be UTF-8 encoded with a length of no more than 50 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "Body text of a native creative. The content must be UTF-8 encoded with a length of no more than 90 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "Long body text of a native creative. The content must be UTF-8 encoded with a length of no more than 150 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "A short, friendly version of the landing page URL to show in the creative. This URL gives people an idea of where they'll arrive after they click on the creative. The content must be UTF-8 encoded with a length of no more than 30 characters. For example, if the landing page URL is 'http://www.example.com/page', the caption URL can be 'example.com'. The protocol (http://) is optional, but the URL can't contain spaces or special characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "The text to use on the call-to-action button of a native creative. The content must be UTF-8 encoded with a length of no more than 15 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "The text that identifies the advertiser or brand name. The content must be UTF-8 encoded with a length of no more than 25 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", "The purchase price of your app in the Google play store or iOS app store (for example, $5.99). Note that this value is not automatically synced with the actual value listed in the store. It will always be the one provided when save the creative. The content must be UTF-8 encoded with a length of no more than 15 characters. Assets of this role are read-only.", - "The ID of an Android app in the Google play store. You can find this ID in the App’s Google Play Store URL after ‘id’. For example, in https://play.google.com/store/apps/details?id=com.company.appname the identifier is com.company.appname. Assets of this role are read-only.", - "The ID of an iOS app in the Apple app store. This ID number can be found in the Apple App Store URL as the string of numbers directly after \"id\". For example, in https://apps.apple.com/us/app/gmail-email-by-google/id422689480 the ID is 422689480. Assets of this role are read-only.", + "The ID of an Android app in the Google play store. You can find this ID in the App’s Google Play Store URL after ‘id’. For example, in `https://play.google.com/store/apps/details?id=com.company.appname` the identifier is com.company.appname. Assets of this role are read-only.", + "The ID of an iOS app in the Apple app store. This ID number can be found in the Apple App Store URL as the string of numbers directly after \"id\". For example, in `https://apps.apple.com/us/app/gmail-email-by-google/id422689480` the ID is 422689480. Assets of this role are read-only.", "The rating of an app in the Google play store or iOS app store. Note that this value is not automatically synced with the actual rating in the store. It will always be the one provided when save the creative. Assets of this role are read-only.", - "The icon of a creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE`", - "The cover image of a native video creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_VIDEO`", - "The main color to use in a creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", - "The accent color to use in a creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", - "Whether the creative must use a logo asset. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", - "Whether the creative must use an image asset. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", - "Whether asset enhancements can be applied to the creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`" + "The icon of a creative. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE`", + "The cover image of a native video creative. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_VIDEO`", + "The main color to use in a creative. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", + "The accent color to use in a creative. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", + "Whether the creative must use a logo asset. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", + "Whether the creative must use an image asset. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", + "Whether asset enhancements can be applied to the creative. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`" ], "type": "string" } @@ -11207,22 +11241,22 @@ "properties": { "excludedFirstAndThirdPartyAudienceGroup": { "$ref": "FirstAndThirdPartyAudienceGroup", - "description": "The first and third party audience ids and recencies of the excluded first and third party audience group. Used for negative targeting. The COMPLEMENT of the UNION of this group and other excluded audience groups is used as an INTERSECTION to any positive audience targeting. All items are logically ‘OR’ of each other." + "description": "Optional. The first and third party audience ids and recencies of the excluded first and third party audience group. Used for negative targeting. The COMPLEMENT of the UNION of this group and other excluded audience groups is used as an INTERSECTION to any positive audience targeting. All items are logically ‘OR’ of each other." }, "excludedGoogleAudienceGroup": { "$ref": "GoogleAudienceGroup", - "description": "The Google audience ids of the excluded Google audience group. Used for negative targeting. The COMPLEMENT of the UNION of this group and other excluded audience groups is used as an INTERSECTION to any positive audience targeting. Only contains Affinity, In-market and Installed-apps type Google audiences. All items are logically ‘OR’ of each other." + "description": "Optional. The Google audience ids of the excluded Google audience group. Used for negative targeting. The COMPLEMENT of the UNION of this group and other excluded audience groups is used as an INTERSECTION to any positive audience targeting. Only contains Affinity, In-market and Installed-apps type Google audiences. All items are logically ‘OR’ of each other." }, "includedCombinedAudienceGroup": { "$ref": "CombinedAudienceGroup", - "description": "The combined audience ids of the included combined audience group. Contains combined audience ids only." + "description": "Optional. The combined audience ids of the included combined audience group. Contains combined audience ids only." }, "includedCustomListGroup": { "$ref": "CustomListGroup", - "description": "The custom list ids of the included custom list group. Contains custom list ids only." + "description": "Optional. The custom list ids of the included custom list group. Contains custom list ids only." }, "includedFirstAndThirdPartyAudienceGroups": { - "description": "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.", + "description": "Optional. 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 the same settings will be ignored.", "items": { "$ref": "FirstAndThirdPartyAudienceGroup" }, @@ -11230,7 +11264,7 @@ }, "includedGoogleAudienceGroup": { "$ref": "GoogleAudienceGroup", - "description": "The Google audience ids of the included Google audience group. Contains Google audience ids only." + "description": "Optional. The Google audience ids of the included Google audience group. Contains Google audience ids only." } }, "type": "object" @@ -11314,12 +11348,12 @@ "id": "AudioVideoOffset", "properties": { "percentage": { - "description": "The offset in percentage of the audio or video duration.", + "description": "Optional. The offset in percentage of the audio or video duration.", "format": "int64", "type": "string" }, "seconds": { - "description": "The offset in seconds from the start of the audio or video.", + "description": "Optional. The offset in seconds from the start of the audio or video.", "format": "int64", "type": "string" } @@ -12082,7 +12116,16 @@ "GEO_REGION_TYPE_ARRONDISSEMENT", "GEO_REGION_TYPE_NEIGHBORHOOD", "GEO_REGION_TYPE_UNIVERSITY", - "GEO_REGION_TYPE_DISTRICT" + "GEO_REGION_TYPE_DISTRICT", + "GEO_REGION_TYPE_NATIONAL_PARK", + "GEO_REGION_TYPE_BARRIO", + "GEO_REGION_TYPE_SUB_WARD", + "GEO_REGION_TYPE_MUNICIPALITY_DISTRICT", + "GEO_REGION_TYPE_SUB_DISTRICT", + "GEO_REGION_TYPE_QUARTER", + "GEO_REGION_TYPE_DIVISION", + "GEO_REGION_TYPE_COMMUNE", + "GEO_REGION_TYPE_COLLOQUIAL_AREA" ], "enumDescriptions": [ "The geographic region type is unknown.", @@ -12113,7 +12156,16 @@ "The geographic region is an arrondissement.", "The geographic region is a neighborhood.", "The geographic region is a university.", - "The geographic region is a district." + "The geographic region is a district.", + "The geographic region is a national park.", + "The geographic region is a barrio.", + "The geographic region is a sub ward.", + "The geographic region is a municipality district.", + "The geographic region is a sub district.", + "The geographic region is a quarter.", + "The geographic region is a division.", + "The geographic region is a commune.", + "The geographic region is a colloquial area." ], "readOnly": true, "type": "string" @@ -12178,7 +12230,7 @@ }, "frequencyCap": { "$ref": "FrequencyCap", - "description": "Required. The frequency cap setting of the campaign." + "description": "Required. The frequency cap setting of the campaign. *Warning*: On **February 28, 2025**, frequency cap time periods greater than 30 days will no longer be accepted. [Read more about this announced change](/display-video/api/deprecations#features.lifetime_frequency_cap)" }, "name": { "description": "Output only. The resource name of the campaign.", @@ -12494,17 +12546,17 @@ "id": "CmTrackingAd", "properties": { "cmAdId": { - "description": "The ad ID of the campaign manager 360 tracking Ad.", + "description": "Optional. The ad ID of the campaign manager 360 tracking Ad.", "format": "int64", "type": "string" }, "cmCreativeId": { - "description": "The creative ID of the campaign manager 360 tracking Ad.", + "description": "Optional. The creative ID of the campaign manager 360 tracking Ad.", "format": "int64", "type": "string" }, "cmPlacementId": { - "description": "The placement ID of the campaign manager 360 tracking Ad.", + "description": "Optional. The placement ID of the campaign manager 360 tracking Ad.", "format": "int64", "type": "string" } @@ -12539,7 +12591,7 @@ "id": "CombinedAudienceGroup", "properties": { "settings": { - "description": "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.", + "description": "Required. All combined audience targeting settings in combined audience group. Repeated settings with the same id will be ignored. The number of combined audience settings should be no more than five, error will be thrown otherwise.", "items": { "$ref": "CombinedAudienceTargetingSetting" }, @@ -12981,7 +13033,7 @@ "id": "ConversionCountingConfig", "properties": { "floodlightActivityConfigs": { - "description": "The Floodlight activity configs used to track conversions. The number of conversions counted is the sum of all of the conversions counted by all of the Floodlight activity IDs specified in this field.", + "description": "The Floodlight activity configs used to track conversions. The number of conversions counted is the sum of all of the conversions counted by all of the Floodlight activity IDs specified in this field. *Warning*: Starting **April 1, 2025**, this field will no longer be writable while a custom bidding algorithm is assigned to the line item. If you set this field and assign a custom bidding algorithm in the same request, the floodlight activities must match the ones used by the custom bidding algorithm. [Read more about this announced change](/display-video/api/deprecations#features.custom_bidding_floodlight).", "items": { "$ref": "TrackingFloodlightActivityConfig" }, @@ -13241,7 +13293,7 @@ "id": "Creative", "properties": { "additionalDimensions": { - "description": "Additional dimensions. Applicable when creative_type is one of: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE` * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_LIGHTBOX` * `CREATIVE_TYPE_PUBLISHER_HOSTED` If this field is specified, width_pixels and height_pixels are both required and must be greater than or equal to 0.", + "description": "Optional. Additional dimensions. Applicable when creative_type is one of: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE` * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_LIGHTBOX` * `CREATIVE_TYPE_PUBLISHER_HOSTED` If this field is specified, width_pixels and height_pixels are both required and must be greater than or equal to 0.", "items": { "$ref": "Dimensions" }, @@ -13254,7 +13306,7 @@ "type": "string" }, "appendedTag": { - "description": "Third-party HTML tracking tag to be appended to the creative tag.", + "description": "Optional. Third-party HTML tracking tag to be appended to the creative tag.", "type": "string" }, "assets": { @@ -13272,10 +13324,10 @@ }, "cmTrackingAd": { "$ref": "CmTrackingAd", - "description": "The Campaign Manager 360 tracking ad associated with the creative. Optional for the following creative_type when created by an advertiser that uses both Campaign Manager 360 and third-party ad serving: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` Output only for other cases." + "description": "Optional. The Campaign Manager 360 tracking ad associated with the creative. Optional for the following creative_type when created by an advertiser that uses both Campaign Manager 360 and third-party ad serving: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` Output only for other cases." }, "companionCreativeIds": { - "description": "The IDs of companion creatives for a video creative. You can assign existing display creatives (with image or HTML5 assets) to serve surrounding the publisher's video player. Companions display around the video player while the video is playing and remain after the video has completed. Creatives contain additional dimensions can not be companion creatives. This field is only supported for following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO`", + "description": "Optional. The IDs of companion creatives for a video creative. You can assign existing display creatives (with image or HTML5 assets) to serve surrounding the publisher's video player. Companions display around the video player while the video is playing and remain after the video has completed. Creatives contain additional dimensions can not be companion creatives. This field is only supported for the following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO`", "items": { "format": "int64", "type": "string" @@ -13283,7 +13335,7 @@ "type": "array" }, "counterEvents": { - "description": "Counter events for a rich media creative. Counters track the number of times that a user interacts with any part of a rich media creative in a specified way (mouse-overs, mouse-outs, clicks, taps, data loading, keyboard entries, etc.). Any event that can be captured in the creative can be recorded as a counter. Leave it empty or unset for creatives containing image assets only.", + "description": "Optional. Counter events for a rich media creative. Counters track the number of times that a user interacts with any part of a rich media creative in a specified way (mouse-overs, mouse-outs, clicks, taps, data loading, keyboard entries, etc.). Any event that can be captured in the creative can be recorded as a counter. Leave it empty or unset for creatives containing image assets only.", "items": { "$ref": "CounterEvent" }, @@ -13357,7 +13409,7 @@ "Publisher hosted creative. Create and update methods are **not** supported for this creative type.", "Native video creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", "Templated app install mobile video creative. Create and update methods are **not** supported for this creative type.", - "Asset based creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`." + "Asset-based creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`." ], "type": "string" }, @@ -13463,15 +13515,15 @@ "type": "boolean" }, "iasCampaignMonitoring": { - "description": "Indicates whether Integral Ad Science (IAS) campaign monitoring is enabled. To enable this for the creative, make sure the Advertiser.creative_config.ias_client_id has been set to your IAS client ID.", + "description": "Optional. Indicates whether Integral Ad Science (IAS) campaign monitoring is enabled. To enable this for the creative, make sure the Advertiser.creative_config.ias_client_id has been set to your IAS client ID.", "type": "boolean" }, "integrationCode": { - "description": "ID information used to link this creative to an external system. Must be UTF-8 encoded with a length of no more than 10,000 characters.", + "description": "Optional. ID information used to link this creative to an external system. Must be UTF-8 encoded with a length of no more than 10,000 characters.", "type": "string" }, "jsTrackerUrl": { - "description": "JavaScript measurement URL from supported third-party verification providers (ComScore, DoubleVerify, IAS, Moat). HTML script tags are not supported. This field is only writeable in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "description": "Optional. JavaScript measurement URL from supported third-party verification providers (ComScore, DoubleVerify, IAS, Moat). HTML script tags are not supported. This field is only writeable in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", "type": "string" }, "lineItemIds": { @@ -13500,12 +13552,12 @@ "type": "string" }, "notes": { - "description": "User notes for this creative. Must be UTF-8 encoded with a length of no more than 20,000 characters.", + "description": "Optional. User notes for this creative. Must be UTF-8 encoded with a length of no more than 20,000 characters.", "type": "string" }, "obaIcon": { "$ref": "ObaIcon", - "description": "Specifies the OBA icon for a video creative. This field is only supported in following creative_type: * `CREATIVE_TYPE_VIDEO`" + "description": "Optional. Specifies the OBA icon for a video creative. This field is only supported in the following creative_type: * `CREATIVE_TYPE_VIDEO`" }, "oggAudio": { "description": "Output only. Indicates the third-party audio creative supports OGG. Output only and only valid for third-party audio creatives. Third-party audio creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_AUDIO`", @@ -13514,7 +13566,7 @@ }, "progressOffset": { "$ref": "AudioVideoOffset", - "description": "Amount of time to play the video before counting a view. This field is required when skippable is true. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`" + "description": "Optional. Amount of time to play the video before counting a view. This field is required when skippable is true. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`" }, "requireHtml5": { "description": "Optional. Indicates that the creative relies on HTML5 to render properly. Optional and only valid for third-party tag creatives. Third-party tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE`", @@ -13535,10 +13587,10 @@ }, "skipOffset": { "$ref": "AudioVideoOffset", - "description": "Amount of time to play the video before the skip button appears. This field is required when skippable is true. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`" + "description": "Optional. Amount of time to play the video before the skip button appears. This field is required when skippable is true. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`" }, "skippable": { - "description": "Whether the user can choose to skip a video creative. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`", + "description": "Optional. Whether the user can choose to skip a video creative. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`", "type": "boolean" }, "thirdPartyTag": { @@ -13546,28 +13598,28 @@ "type": "string" }, "thirdPartyUrls": { - "description": "Tracking URLs from third parties to track interactions with a video creative. This field is only supported for the following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "description": "Optional. Tracking URLs from third parties to track interactions with a video creative. This field is only supported for the following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO`", "items": { "$ref": "ThirdPartyUrl" }, "type": "array" }, "timerEvents": { - "description": "Timer custom events for a rich media creative. Timers track the time during which a user views and interacts with a specified part of a rich media creative. A creative can have multiple timer events, each timed independently. Leave it empty or unset for creatives containing image assets only.", + "description": "Optional. Timer custom events for a rich media creative. Timers track the time during which a user views and interacts with a specified part of a rich media creative. A creative can have multiple timer events, each timed independently. Leave it empty or unset for creatives containing image assets only.", "items": { "$ref": "TimerEvent" }, "type": "array" }, "trackerUrls": { - "description": "Tracking URLs for analytics providers or third-party ad technology vendors. The URLs must start with https (except on inventory that doesn't require SSL compliance). If using macros in your URL, use only macros supported by Display & Video 360. Standard URLs only, no IMG or SCRIPT tags. This field is only writeable in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "description": "Optional. Tracking URLs for analytics providers or third-party ad technology vendors. The URLs must start with `https:` (except on inventory that doesn't require SSL compliance). If using macros in your URL, use only macros supported by Display & Video 360. Standard URLs only, no IMG or SCRIPT tags. This field is only writeable in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", "items": { "type": "string" }, "type": "array" }, "transcodes": { - "description": "Output only. Audio/Video transcodes. Display & Video 360 transcodes the main asset into a number of alternative versions that use different file formats or have different properties (resolution, audio bit rate, and video bit rate), each designed for specific video players or bandwidths. These transcodes give a publisher's system more options to choose from for each impression on your video and ensures that the appropriate file serves based on the viewer’s connection and screen size. This field is only supported in following creative_type: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO` * `CREATIVE_TYPE_AUDIO`", + "description": "Output only. Audio/Video transcodes. Display & Video 360 transcodes the main asset into a number of alternative versions that use different file formats or have different properties (resolution, audio bit rate, and video bit rate), each designed for specific video players or bandwidths. These transcodes give a publisher's system more options to choose from for each impression on your video and ensures that the appropriate file serves based on the viewer’s connection and screen size. This field is only supported in the following creative_type: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO` * `CREATIVE_TYPE_AUDIO`", "items": { "$ref": "Transcode" }, @@ -13636,7 +13688,7 @@ "Publisher hosted creative. Create and update methods are **not** supported for this creative type.", "Native video creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", "Templated app install mobile video creative. Create and update methods are **not** supported for this creative type.", - "Asset based creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`." + "Asset-based creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`." ], "type": "string" }, @@ -13675,11 +13727,18 @@ "GOAL_BUILDER_BASED", "RULE_BASED" ], + "enumDeprecated": [ + false, + false, + true, + true, + false + ], "enumDescriptions": [ "Algorithm type is not specified or is unknown in this version.", "Algorithm generated through customer-uploaded custom bidding script files.", - "Algorithm created through Ads Data Hub product.", - "Algorithm created through goal builder in DV3 UI.", + "DEPRECATED: ADS_DATA_HUB_BASED has been deprecated. Algorithm created through Ads Data Hub product.", + "DEPRECATED: GOAL_BUILDER_BASED has been deprecated, is not longer supported, and has been replaced by RULE_BASED. Algorithm created through goal builder in DV3 UI. **Existing algorithms of this type have been migrated to `RULE_BASED`.**", "Algorithm based in defined rules. These rules are defined in the API using the AlgorithmRules object. This algorithm type is only available to allowlisted customers. Other customers attempting to use this type will receive an error." ], "type": "string" @@ -14013,7 +14072,7 @@ "id": "CustomListGroup", "properties": { "settings": { - "description": "Required. All custom list targeting settings in custom list group. Repeated settings with same id will be ignored.", + "description": "Required. All custom list targeting settings in custom list group. Repeated settings with the same id will be ignored.", "items": { "$ref": "CustomListTargetingSetting" }, @@ -15822,11 +15881,11 @@ "id": "ExitEvent", "properties": { "name": { - "description": "The name of the click tag of the exit event. The name must be unique within one creative. Leave it empty or unset for creatives containing image assets only.", + "description": "Optional. The name of the click tag of the exit event. The name must be unique within one creative. Leave it empty or unset for creatives containing image assets only.", "type": "string" }, "reportingName": { - "description": "The name used to identify this event in reports. Leave it empty or unset for creatives containing image assets only.", + "description": "Optional. The name used to identify this event in reports. Leave it empty or unset for creatives containing image assets only.", "type": "string" }, "type": { @@ -15987,7 +16046,7 @@ "type": "string" }, "membershipDurationDays": { - "description": "The duration in days that an entry remains in the audience after the qualifying event. If the audience has no expiration, set the value of this field to 10000. Otherwise, the set value must be greater than 0 and less than or equal to 540. Only applicable to first party audiences. This field is required if one of the following audience_type is used: * `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID`", + "description": "The duration in days that an entry remains in the audience after the qualifying event. If the audience has no expiration, set the value of this field to 10000. Otherwise, the set value must be greater than 0 and less than or equal to 540. Only applicable to first party audiences. This field is required if one of the following audience_type is used: * `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID` *Warning*: Starting on **April 7, 2025**, audiences will no longer be able to have infinite membership duration. This field will no longer accept the value 10000 and all audiences with membership durations greater than 540 days will be updated to a membership duration of 540 days. [Read more about this announced change](/display-video/api/deprecations#features.audience_duration).", "format": "int64", "type": "string" }, @@ -16014,7 +16073,7 @@ "id": "FirstAndThirdPartyAudienceGroup", "properties": { "settings": { - "description": "Required. All first and third party audience targeting settings in first and third party audience group. Repeated settings with same id are not allowed.", + "description": "Required. All first and third party audience targeting settings in first and third party audience group. Repeated settings with the same id are not allowed.", "items": { "$ref": "FirstAndThirdPartyAudienceTargetingSetting" }, @@ -16033,7 +16092,7 @@ "type": "string" }, "recency": { - "description": "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.", + "description": "Optional. 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.", "enum": [ "RECENCY_NO_LIMIT", "RECENCY_1_MINUTE", @@ -16247,7 +16306,7 @@ "type": "integer" }, "timeUnit": { - "description": "The time unit in which the frequency cap will be applied. Required when unlimited is `false`.", + "description": "The time unit in which the frequency cap will be applied. Required when unlimited is `false`. *Warning*: On **February 28, 2025**, frequency cap time periods greater than 30 days will no longer be accepted. This field will no longer accept the value `TIME_UNIT_LIFETIME`. [Read more about this announced change](/display-video/api/deprecations#features.lifetime_frequency_cap).", "enum": [ "TIME_UNIT_UNSPECIFIED", "TIME_UNIT_LIFETIME", @@ -16269,7 +16328,7 @@ "type": "string" }, "timeUnitCount": { - "description": "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", + "description": "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 *Warning*: On **February 28, 2025**, frequency cap time periods greater than 30 days will no longer be accepted. This field will no longer accept the value 2 if the value of time_unit is `TIME_UNIT_MONTHS`. [Read more about this announced change](/display-video/api/deprecations#features.lifetime_frequency_cap).", "format": "int32", "type": "integer" }, @@ -16439,7 +16498,16 @@ "GEO_REGION_TYPE_ARRONDISSEMENT", "GEO_REGION_TYPE_NEIGHBORHOOD", "GEO_REGION_TYPE_UNIVERSITY", - "GEO_REGION_TYPE_DISTRICT" + "GEO_REGION_TYPE_DISTRICT", + "GEO_REGION_TYPE_NATIONAL_PARK", + "GEO_REGION_TYPE_BARRIO", + "GEO_REGION_TYPE_SUB_WARD", + "GEO_REGION_TYPE_MUNICIPALITY_DISTRICT", + "GEO_REGION_TYPE_SUB_DISTRICT", + "GEO_REGION_TYPE_QUARTER", + "GEO_REGION_TYPE_DIVISION", + "GEO_REGION_TYPE_COMMUNE", + "GEO_REGION_TYPE_COLLOQUIAL_AREA" ], "enumDescriptions": [ "The geographic region type is unknown.", @@ -16470,7 +16538,16 @@ "The geographic region is an arrondissement.", "The geographic region is a neighborhood.", "The geographic region is a university.", - "The geographic region is a district." + "The geographic region is a district.", + "The geographic region is a national park.", + "The geographic region is a barrio.", + "The geographic region is a sub ward.", + "The geographic region is a municipality district.", + "The geographic region is a sub district.", + "The geographic region is a quarter.", + "The geographic region is a division.", + "The geographic region is a commune.", + "The geographic region is a colloquial area." ], "readOnly": true, "type": "string" @@ -16537,7 +16614,16 @@ "GEO_REGION_TYPE_ARRONDISSEMENT", "GEO_REGION_TYPE_NEIGHBORHOOD", "GEO_REGION_TYPE_UNIVERSITY", - "GEO_REGION_TYPE_DISTRICT" + "GEO_REGION_TYPE_DISTRICT", + "GEO_REGION_TYPE_NATIONAL_PARK", + "GEO_REGION_TYPE_BARRIO", + "GEO_REGION_TYPE_SUB_WARD", + "GEO_REGION_TYPE_MUNICIPALITY_DISTRICT", + "GEO_REGION_TYPE_SUB_DISTRICT", + "GEO_REGION_TYPE_QUARTER", + "GEO_REGION_TYPE_DIVISION", + "GEO_REGION_TYPE_COMMUNE", + "GEO_REGION_TYPE_COLLOQUIAL_AREA" ], "enumDescriptions": [ "The geographic region type is unknown.", @@ -16568,7 +16654,16 @@ "The geographic region is an arrondissement.", "The geographic region is a neighborhood.", "The geographic region is a university.", - "The geographic region is a district." + "The geographic region is a district.", + "The geographic region is a national park.", + "The geographic region is a barrio.", + "The geographic region is a sub ward.", + "The geographic region is a municipality district.", + "The geographic region is a sub district.", + "The geographic region is a quarter.", + "The geographic region is a division.", + "The geographic region is a commune.", + "The geographic region is a colloquial area." ], "readOnly": true, "type": "string" @@ -16636,7 +16731,7 @@ "id": "GoogleAudienceGroup", "properties": { "settings": { - "description": "Required. All Google audience targeting settings in Google audience group. Repeated settings with same id will be ignored.", + "description": "Required. All Google audience targeting settings in Google audience group. Repeated settings with the same id will be ignored.", "items": { "$ref": "GoogleAudienceTargetingSetting" }, @@ -17149,7 +17244,7 @@ }, "bidStrategy": { "$ref": "BiddingStrategy", - "description": "The bidding strategy of the insertion order. By default, fixed_bid is set." + "description": "Optional. The bidding strategy of the insertion order. By default, fixed_bid is set." }, "budget": { "$ref": "InsertionOrderBudget", @@ -17186,7 +17281,7 @@ }, "frequencyCap": { "$ref": "FrequencyCap", - "description": "Required. The frequency capping setting of the insertion order." + "description": "Required. The frequency capping setting of the insertion order. *Warning*: On **February 28, 2025**, frequency cap time periods greater than 30 days will no longer be accepted. [Read more about this announced change](/display-video/api/deprecations#features.lifetime_frequency_cap)" }, "insertionOrderId": { "description": "Output only. The unique ID of the insertion order. Assigned by the system.", @@ -17195,7 +17290,7 @@ "type": "string" }, "insertionOrderType": { - "description": "The type of insertion order. If this field is unspecified in creation, the value defaults to `RTB`.", + "description": "Optional. The type of insertion order. If this field is unspecified in creation, the value defaults to `RTB`.", "enum": [ "INSERTION_ORDER_TYPE_UNSPECIFIED", "RTB", @@ -17210,7 +17305,7 @@ }, "integrationDetails": { "$ref": "IntegrationDetails", - "description": "Additional integration details of the insertion order." + "description": "Optional. Additional integration details of the insertion order." }, "kpi": { "$ref": "Kpi", @@ -17222,7 +17317,7 @@ "type": "string" }, "optimizationObjective": { - "description": "Optional. The optimization objective of the insertion order. **This field is only available to allowlisted customers.** If a customer is not allowlisted, this field will be null and attempts to set it will return an error.", + "description": "Optional. Required. The optimization objective of the insertion order.", "enum": [ "OPTIMIZATION_OBJECTIVE_UNSPECIFIED", "CONVERSION", @@ -17246,7 +17341,7 @@ "description": "Required. The budget spending speed setting of the insertion order. pacing_type `PACING_TYPE_ASAP` is not compatible with pacing_period `PACING_PERIOD_FLIGHT`." }, "partnerCosts": { - "description": "The partner costs associated with the insertion order. If absent or empty in CreateInsertionOrder method, the newly created insertion order will inherit partner costs from the partner settings.", + "description": "Optional. The partner costs associated with the insertion order. If absent or empty in CreateInsertionOrder method, the newly created insertion order will inherit partner costs from the partner settings.", "items": { "$ref": "PartnerCost" }, @@ -17287,7 +17382,7 @@ "id": "InsertionOrderBudget", "properties": { "automationType": { - "description": "The type of automation used to manage bid and budget for the insertion order. If this field is unspecified in creation, the value defaults to `INSERTION_ORDER_AUTOMATION_TYPE_NONE`.", + "description": "Optional. The type of automation used to manage bid and budget for the insertion order. If this field is unspecified in creation, the value defaults to `INSERTION_ORDER_AUTOMATION_TYPE_NONE`.", "enum": [ "INSERTION_ORDER_AUTOMATION_TYPE_UNSPECIFIED", "INSERTION_ORDER_AUTOMATION_TYPE_BUDGET", @@ -17336,7 +17431,7 @@ "type": "string" }, "campaignBudgetId": { - "description": "The budget_id of the campaign budget that this insertion order budget segment is a part of.", + "description": "Optional. The budget_id of the campaign budget that this insertion order budget segment is a part of.", "format": "int64", "type": "string" }, @@ -17345,7 +17440,7 @@ "description": "Required. The start and end date settings of the budget segment. They are resolved relative to the parent advertiser's time zone. * When creating a new budget segment, both `start_date` and `end_date` must be in the future. * An existing budget segment with a `start_date` in the past has a mutable `end_date` but an immutable `start_date`. * `end_date` must be the `start_date` or later, both before the year 2037." }, "description": { - "description": "The budget segment description. It can be used to enter Purchase Order information for each budget segment and have that information printed on the invoices. Must be UTF-8 encoded.", + "description": "Optional. The budget segment description. It can be used to enter Purchase Order information for each budget segment and have that information printed on the invoices. Must be UTF-8 encoded.", "type": "string" } }, @@ -17356,7 +17451,7 @@ "id": "IntegralAdScience", "properties": { "customSegmentId": { - "description": "The custom segment ID provided by Integral Ad Science. The ID must be between `1000001` and `1999999`, inclusive.", + "description": "The custom segment ID provided by Integral Ad Science. The ID must be between `1000001` and `1999999` or `3000001` and `3999999`, inclusive.", "items": { "format": "int64", "type": "string" @@ -17511,6 +17606,14 @@ ], "type": "string" }, + "qualitySyncCustomSegmentId": { + "description": "Optional. The quality sync custom segment ID provided by Integral Ad Science. The ID must be between `3000000` and `4999999`, inclusive.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, "traqScoreOption": { "description": "True advertising quality (applicable to Display line items only).", "enum": [ @@ -18355,7 +18458,7 @@ }, "conversionCounting": { "$ref": "ConversionCountingConfig", - "description": "The conversion tracking setting of the line item." + "description": "The conversion tracking setting of the line item. *Warning*: Starting **April 1, 2025**, the floodlight_activity_configs field will no longer be writable while a custom bidding algorithm is assigned to the line item. If you set this field and assign a custom bidding algorithm in the same request, the floodlight activities must match the ones used by the custom bidding algorithm. [Read more about this announced change](/display-video/api/deprecations#features.custom_bidding_floodlight)." }, "creativeIds": { "description": "The IDs of the creatives associated with the line item.", @@ -18399,7 +18502,7 @@ }, "frequencyCap": { "$ref": "FrequencyCap", - "description": "Required. The impression frequency cap settings of the line item. The max_impressions field in this settings object must be used if assigning a limited cap." + "description": "Required. The impression frequency cap settings of the line item. The max_impressions field in this settings object must be used if assigning a limited cap. *Warning*: On **February 28, 2025**, frequency cap time periods greater than 30 days will no longer be accepted. [Read more about this announced change](/display-video/api/deprecations#features.lifetime_frequency_cap)" }, "insertionOrderId": { "description": "Required. Immutable. The unique ID of the insertion order that the line item belongs to.", @@ -19394,7 +19497,7 @@ "id": "MaximizeSpendBidStrategy", "properties": { "customBiddingAlgorithmId": { - "description": "The ID of the Custom Bidding Algorithm used by this strategy. Only applicable when performance_goal_type is set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.", + "description": "The ID of the Custom Bidding Algorithm used by this strategy. Only applicable when performance_goal_type is set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`. *Warning*: Starting **April 1, 2025**, assigning a custom bidding algorithm that uses floodlight activities not identified in floodlightActivityConfigs will return an error. [Read more about this announced change](/display-video/api/deprecations#features.custom_bidding_floodlight).", "format": "int64", "type": "string" }, @@ -19664,19 +19767,19 @@ "id": "ObaIcon", "properties": { "clickTrackingUrl": { - "description": "Required. The click tracking URL of the OBA icon. Only URLs of the following domains are allowed: * https://info.evidon.com * https://l.betrad.com", + "description": "Required. The click tracking URL of the OBA icon. Only URLs of the following domains are allowed: * `https://info.evidon.com` * `https://l.betrad.com`", "type": "string" }, "dimensions": { "$ref": "Dimensions", - "description": "The dimensions of the OBA icon." + "description": "Optional. The dimensions of the OBA icon." }, "landingPageUrl": { - "description": "Required. The landing page URL of the OBA icon. Only URLs of the following domains are allowed: * https://info.evidon.com * https://l.betrad.com", + "description": "Required. The landing page URL of the OBA icon. Only URLs of the following domains are allowed: * `https://info.evidon.com` * `https://l.betrad.com`", "type": "string" }, "position": { - "description": "The position of the OBA icon on the creative.", + "description": "Optional. The position of the OBA icon on the creative.", "enum": [ "OBA_ICON_POSITION_UNSPECIFIED", "OBA_ICON_POSITION_UPPER_RIGHT", @@ -19694,19 +19797,19 @@ "type": "string" }, "program": { - "description": "The program of the OBA icon. For example: “AdChoices”.", + "description": "Optional. The program of the OBA icon. For example: “AdChoices”.", "type": "string" }, "resourceMimeType": { - "description": "The MIME type of the OBA icon resource.", + "description": "Optional. The MIME type of the OBA icon resource.", "type": "string" }, "resourceUrl": { - "description": "The URL of the OBA icon resource.", + "description": "Optional. The URL of the OBA icon resource.", "type": "string" }, "viewTrackingUrl": { - "description": "Required. The view tracking URL of the OBA icon. Only URLs of the following domains are allowed: * https://info.evidon.com * https://l.betrad.com", + "description": "Required. The view tracking URL of the OBA icon. Only URLs of the following domains are allowed: * `https://info.evidon.com` * `https://l.betrad.com`", "type": "string" } }, @@ -20380,7 +20483,7 @@ "id": "PerformanceGoalBidStrategy", "properties": { "customBiddingAlgorithmId": { - "description": "The ID of the Custom Bidding Algorithm used by this strategy. Only applicable when performance_goal_type is set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.", + "description": "The ID of the Custom Bidding Algorithm used by this strategy. Only applicable when performance_goal_type is set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`. *Warning*: Starting **April 1, 2025**, assigning a custom bidding algorithm that uses floodlight activities not identified in floodlightActivityConfigs will return an error. [Read more about this announced change](/display-video/api/deprecations#features.custom_bidding_floodlight).", "format": "int64", "type": "string" }, @@ -21378,7 +21481,7 @@ "type": "boolean" }, "enableOptimizedTargeting": { - "description": "Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`", + "description": "Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` *Warning*: Starting **March 6, 2025**, this field will stop being compatible when using the BiddingStrategy field fixed_bid. [Read more about this announced change](/display-video/api/deprecations#features.ot_fixed_bid)", "type": "boolean" } }, @@ -21691,7 +21794,7 @@ "id": "ThirdPartyUrl", "properties": { "type": { - "description": "The type of interaction needs to be tracked by the tracking URL", + "description": "Optional. The type of interaction needs to be tracked by the tracking URL", "enum": [ "THIRD_PARTY_URL_TYPE_UNSPECIFIED", "THIRD_PARTY_URL_TYPE_IMPRESSION", @@ -21731,7 +21834,7 @@ "type": "string" }, "url": { - "description": "Tracking URL used to track the interaction. Provide a URL with optional path or query string, beginning with `https:`. For example, https://www.example.com/path", + "description": "Optional. Tracking URL used to track the interaction. Provide a URL with optional path or query string, beginning with `https:`. For example, `https://www.example.com/path`", "type": "string" } }, @@ -21856,44 +21959,44 @@ "id": "Transcode", "properties": { "audioBitRateKbps": { - "description": "The bit rate for the audio stream of the transcoded video, or the bit rate for the transcoded audio, in kilobits per second.", + "description": "Optional. The bit rate for the audio stream of the transcoded video, or the bit rate for the transcoded audio, in kilobits per second.", "format": "int64", "type": "string" }, "audioSampleRateHz": { - "description": "The sample rate for the audio stream of the transcoded video, or the sample rate for the transcoded audio, in hertz.", + "description": "Optional. The sample rate for the audio stream of the transcoded video, or the sample rate for the transcoded audio, in hertz.", "format": "int64", "type": "string" }, "bitRateKbps": { - "description": "The transcoding bit rate of the transcoded video, in kilobits per second.", + "description": "Optional. The transcoding bit rate of the transcoded video, in kilobits per second.", "format": "int64", "type": "string" }, "dimensions": { "$ref": "Dimensions", - "description": "The dimensions of the transcoded video." + "description": "Optional. The dimensions of the transcoded video." }, "fileSizeBytes": { - "description": "The size of the transcoded file, in bytes.", + "description": "Optional. The size of the transcoded file, in bytes.", "format": "int64", "type": "string" }, "frameRate": { - "description": "The frame rate of the transcoded video, in frames per second.", + "description": "Optional. The frame rate of the transcoded video, in frames per second.", "format": "float", "type": "number" }, "mimeType": { - "description": "The MIME type of the transcoded file.", + "description": "Optional. The MIME type of the transcoded file.", "type": "string" }, "name": { - "description": "The name of the transcoded file.", + "description": "Optional. The name of the transcoded file.", "type": "string" }, "transcoded": { - "description": "Indicates if the transcoding was successful.", + "description": "Optional. Indicates if the transcoding was successful.", "type": "boolean" } }, @@ -21904,11 +22007,11 @@ "id": "UniversalAdId", "properties": { "id": { - "description": "The unique creative identifier.", + "description": "Optional. The unique creative identifier.", "type": "string" }, "registry": { - "description": "The registry provides unique creative identifiers.", + "description": "Optional. The registry provides unique creative identifiers.", "enum": [ "UNIVERSAL_AD_REGISTRY_UNSPECIFIED", "UNIVERSAL_AD_REGISTRY_OTHER", @@ -22493,7 +22596,7 @@ }, "viewFrequencyCap": { "$ref": "FrequencyCap", - "description": "The view frequency cap settings of the line item. The max_views field in this settings object must be used if assigning a limited cap." + "description": "The view frequency cap settings of the line item. The max_views field in this settings object must be used if assigning a limited cap. *Warning*: On **February 28, 2025**, frequency cap time periods greater than 30 days will no longer be accepted. [Read more about this announced change](/display-video/api/deprecations#features.lifetime_frequency_cap)" } }, "type": "object" diff --git a/discovery/googleapis/displayvideo__v4.json b/discovery/googleapis/displayvideo__v4.json new file mode 100644 index 000000000..6fe910c03 --- /dev/null +++ b/discovery/googleapis/displayvideo__v4.json @@ -0,0 +1,21484 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/display-video": { + "description": "Create, see, edit, and permanently delete your Display & Video 360 entities and reports" + }, + "https://www.googleapis.com/auth/display-video-mediaplanning": { + "description": "Create, see, and edit Display & Video 360 Campaign entities and see billing invoices" + }, + "https://www.googleapis.com/auth/display-video-user-management": { + "description": "Private Service: https://www.googleapis.com/auth/display-video-user-management" + }, + "https://www.googleapis.com/auth/doubleclickbidmanager": { + "description": "View and manage your reports in DoubleClick Bid Manager" + } + } + } + }, + "basePath": "", + "baseUrl": "https://displayvideo.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Display Video", + "description": "Display & Video 360 API allows users to automate complex Display & Video 360 workflows, such as creating insertion orders and setting targeting options for individual line items.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/display-video/", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "displayvideo:v4", + "kind": "discovery#restDescription", + "name": "displayvideo", + "ownerDomain": "google.com", + "ownerName": "Google", + "protocol": "rest", + "revision": "20250220", + "rootUrl": "https://displayvideo.googleapis.com/", + "servicePath": "", + "title": "Display & Video 360 API", + "version": "v4", + "version_module": true, + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "resources": { + "advertisers": { + "methods": { + "audit": { + "description": "Audits an advertiser. Returns the counts of used entities per resource type under the advertiser provided. Used entities count towards their respective resource limit. See https://support.google.com/displayvideo/answer/6071450.", + "flatPath": "v4/advertisers/{advertisersId}:audit", + "httpMethod": "GET", + "id": "displayvideo.advertisers.audit", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to audit.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "readMask": { + "description": "Optional. The specific fields to return. If no mask is specified, all fields in the response proto will be filled. Valid values are: * usedLineItemsCount * usedInsertionOrdersCount * usedCampaignsCount * channelsCount * negativelyTargetedChannelsCount * negativeKeywordListsCount * adGroupCriteriaCount * campaignCriteriaCount", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}:audit", + "response": { + "$ref": "AuditAdvertiserResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "create": { + "description": "Creates a new advertiser. Returns the newly created advertiser if successful. **This method regularly experiences high latency.** We recommend [increasing your default timeout](/display-video/api/guides/best-practices/timeouts#client_library_timeout) to avoid errors.", + "flatPath": "v4/advertisers", + "httpMethod": "POST", + "id": "displayvideo.advertisers.create", + "parameterOrder": [], + "parameters": {}, + "path": "v4/advertisers", + "request": { + "$ref": "Advertiser" + }, + "response": { + "$ref": "Advertiser" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes an advertiser. Deleting an advertiser will delete all of its child resources, for example, campaigns, insertion orders and line items. A deleted advertiser cannot be recovered.", + "flatPath": "v4/advertisers/{advertisersId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.delete", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser we need to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "editAssignedTargetingOptions": { + "description": "Edits targeting options under a single advertiser. The operation will delete the assigned targeting options provided in BulkEditAdvertiserAssignedTargetingOptionsRequest.delete_requests and then create the assigned targeting options provided in BulkEditAdvertiserAssignedTargetingOptionsRequest.create_requests .", + "flatPath": "v4/advertisers/{advertisersId}:editAssignedTargetingOptions", + "httpMethod": "POST", + "id": "displayvideo.advertisers.editAssignedTargetingOptions", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}:editAssignedTargetingOptions", + "request": { + "$ref": "BulkEditAdvertiserAssignedTargetingOptionsRequest" + }, + "response": { + "$ref": "BulkEditAdvertiserAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets an advertiser.", + "flatPath": "v4/advertisers/{advertisersId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.get", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}", + "response": { + "$ref": "Advertiser" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists advertisers that are accessible to the current user. The order is defined by the order_by parameter. A single partner_id is required. Cross-partner listing is not supported.", + "flatPath": "v4/advertisers", + "httpMethod": "GET", + "id": "displayvideo.advertisers.list", + "parameterOrder": [], + "parameters": { + "filter": { + "description": "Allows filtering by advertiser fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. * A restriction has the form of `{field} {operator} {value}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `advertiserId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All active advertisers under a partner: `entityStatus=\"ENTITY_STATUS_ACTIVE\"` * All advertisers 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 advertisers 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. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "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. For example, `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListAdvertisers` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "Required. The ID of the partner that the fetched advertisers should all belong to. The system only supports listing advertisers for one partner at a time.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers", + "response": { + "$ref": "ListAdvertisersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "listAssignedTargetingOptions": { + "description": "Lists assigned targeting options of an advertiser across targeting types.", + "flatPath": "v4/advertisers/{advertisersId}:listAssignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.listAssignedTargetingOptions", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=) operator`. Supported fields: * `targetingType` Examples: * targetingType with value TARGETING_TYPE_CHANNEL `targetingType=\"TARGETING_TYPE_CHANNEL\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "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`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "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.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `BulkListAdvertiserAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}:listAssignedTargetingOptions", + "response": { + "$ref": "BulkListAdvertiserAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing advertiser. Returns the updated advertiser if successful.", + "flatPath": "v4/advertisers/{advertisersId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.patch", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}", + "request": { + "$ref": "Advertiser" + }, + "response": { + "$ref": "Advertiser" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "adGroupAds": { + "methods": { + "get": { + "description": "Gets an ad group ad.", + "flatPath": "v4/advertisers/{advertisersId}/adGroupAds/{adGroupAdsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.adGroupAds.get", + "parameterOrder": [ + "advertiserId", + "adGroupAdId" + ], + "parameters": { + "adGroupAdId": { + "description": "Required. The ID of the ad group ad to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "advertiserId": { + "description": "Required. The ID of the advertiser this ad group ad belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/adGroupAds/{+adGroupAdId}", + "response": { + "$ref": "AdGroupAd" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists ad group ads.", + "flatPath": "v4/advertisers/{advertisersId}/adGroupAds", + "httpMethod": "GET", + "id": "displayvideo.advertisers.adGroupAds.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the ad groups belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Optional. Allows filtering by custom ad group ad fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` and `OR`. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `adGroupId` * `displayName` * `entityStatus` * `adGroupAdId` Examples: * All ad group ads under an ad group: `adGroupId=\"1234\"` * All ad group ads under an ad group with an entityStatus of `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED`: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\") AND adGroupId=\"12345\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` 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`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. 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 `ListAdGroupAds` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/adGroupAds", + "response": { + "$ref": "ListAdGroupAdsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "adGroups": { + "methods": { + "bulkListAssignedTargetingOptions": { + "description": "Lists assigned targeting options for multiple ad groups across targeting types. Inherited assigned targeting options are not included.", + "flatPath": "v4/advertisers/{advertisersId}/adGroups:bulkListAssignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.adGroups.bulkListAssignedTargetingOptions", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "adGroupIds": { + "description": "Required. The IDs of the ad groups to list assigned targeting options for.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "advertiserId": { + "description": "Required. The ID of the advertiser the line items belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Optional. Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `targetingType` Examples: * `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_YOUTUBE_VIDEO` or `TARGETING_TYPE_YOUTUBE_CHANNEL`: `targetingType=\"TARGETING_TYPE_YOUTUBE_VIDEO\" OR targetingType=\"TARGETING_TYPE_YOUTUBE_CHANNEL\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field by which to sort the list. Acceptable values are: * `adGroupId` (default) * `assignedTargetingOption.targetingType` 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`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. 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.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. 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 the `BulkListAdGroupAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/adGroups:bulkListAssignedTargetingOptions", + "response": { + "$ref": "BulkListAdGroupAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets an ad group.", + "flatPath": "v4/advertisers/{advertisersId}/adGroups/{adGroupsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.adGroups.get", + "parameterOrder": [ + "advertiserId", + "adGroupId" + ], + "parameters": { + "adGroupId": { + "description": "Required. The ID of the ad group to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "advertiserId": { + "description": "Required. The ID of the advertiser this ad group belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/adGroups/{+adGroupId}", + "response": { + "$ref": "AdGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists ad groups.", + "flatPath": "v4/advertisers/{advertisersId}/adGroups", + "httpMethod": "GET", + "id": "displayvideo.advertisers.adGroups.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the ad groups belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Optional. Allows filtering by custom ad group fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` and `OR`. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported properties: * `adGroupId` * `displayName` * `entityStatus` * `lineItemId` * `adGroupFormat` Examples: * All ad groups under an line item: `lineItemId=\"1234\"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` `AD_GROUP_FORMAT_IN_STREAM` ad groups under an advertiser: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\") AND adGroupFormat=\"AD_GROUP_FORMAT_IN_STREAM\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` 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`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. 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 `ListAdGroups` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/adGroups", + "response": { + "$ref": "ListAdGroupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "targetingTypes": { + "resources": { + "assignedTargetingOptions": { + "methods": { + "get": { + "description": "Gets a single targeting option assigned to an ad group. Inherited assigned targeting options are not included.", + "flatPath": "v4/advertisers/{advertisersId}/adGroups/{adGroupsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.adGroups.targetingTypes.assignedTargetingOptions.get", + "parameterOrder": [ + "advertiserId", + "adGroupId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "adGroupId": { + "description": "Required. The ID of the ad group the assigned targeting option belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "advertiserId": { + "description": "Required. The ID of the advertiser the ad group belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "assignedTargetingOptionId": { + "description": "Required. An identifier unique to the targeting type in this line item that identifies the assigned targeting option being requested.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SESSION_POSITION` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_YOUTUBE_VIDEO`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/adGroups/{+adGroupId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists the targeting options assigned to an ad group. Inherited assigned targeting options are not included.", + "flatPath": "v4/advertisers/{advertisersId}/adGroups/{adGroupsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.adGroups.targetingTypes.assignedTargetingOptions.list", + "parameterOrder": [ + "advertiserId", + "adGroupId", + "targetingType" + ], + "parameters": { + "adGroupId": { + "description": "Required. The ID of the ad group to list assigned targeting options for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "advertiserId": { + "description": "Required. The ID of the advertiser the ad group belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Optional. Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` Examples: * `AssignedTargetingOption` resources with ID 1 or 2: `assignedTargetingOptionId=\"1\" OR assignedTargetingOptionId=\"2\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (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: `assignedTargetingOptionId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. 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 `ListAdGroupAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SESSION_POSITION` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_YOUTUBE_VIDEO`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/adGroups/{+adGroupId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "response": { + "$ref": "ListAdGroupAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + } + } + }, + "assets": { + "methods": { + "upload": { + "description": "Uploads an asset. Returns the ID of the newly uploaded asset if successful. The asset file size should be no more than 10 MB for images, 200 MB for ZIP files, and 1 GB for videos. Must be used within the [multipart media upload process](/display-video/api/guides/how-tos/upload#multipart). Examples using provided client libraries can be found in our [Creating Creatives guide](/display-video/api/guides/creating-creatives/overview#upload_an_asset).", + "flatPath": "v4/advertisers/{advertisersId}/assets", + "httpMethod": "POST", + "id": "displayvideo.advertisers.assets.upload", + "mediaUpload": { + "accept": [ + "*/*" + ], + "protocols": { + "simple": { + "multipart": true, + "path": "/upload/v4/advertisers/{+advertiserId}/assets" + } + } + }, + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser this asset belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/assets", + "request": { + "$ref": "CreateAssetRequest" + }, + "response": { + "$ref": "CreateAssetResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ], + "supportsMediaUpload": true + } + } + }, + "campaigns": { + "methods": { + "create": { + "description": "Creates a new campaign. Returns the newly created campaign if successful.", + "flatPath": "v4/advertisers/{advertisersId}/campaigns", + "httpMethod": "POST", + "id": "displayvideo.advertisers.campaigns.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the campaign belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/campaigns", + "request": { + "$ref": "Campaign" + }, + "response": { + "$ref": "Campaign" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/display-video-mediaplanning" + ] + }, + "delete": { + "description": "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. **This method regularly experiences high latency.** We recommend [increasing your default timeout](/display-video/api/guides/best-practices/timeouts#client_library_timeout) to avoid errors.", + "flatPath": "v4/advertisers/{advertisersId}/campaigns/{campaignsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.campaigns.delete", + "parameterOrder": [ + "advertiserId", + "campaignId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser this campaign belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "campaignId": { + "description": "The ID of the campaign we need to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/campaigns/{+campaignId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/display-video-mediaplanning" + ] + }, + "get": { + "description": "Gets a campaign.", + "flatPath": "v4/advertisers/{advertisersId}/campaigns/{campaignsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.campaigns.get", + "parameterOrder": [ + "advertiserId", + "campaignId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser this campaign belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "campaignId": { + "description": "Required. The ID of the campaign to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/campaigns/{+campaignId}", + "response": { + "$ref": "Campaign" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/display-video-mediaplanning" + ] + }, + "list": { + "description": "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.", + "flatPath": "v4/advertisers/{advertisersId}/campaigns", + "httpMethod": "GET", + "id": "displayvideo.advertisers.campaigns.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser to list campaigns for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by campaign fields. 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 `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. 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. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "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`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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.", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/campaigns", + "response": { + "$ref": "ListCampaignsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/display-video-mediaplanning" + ] + }, + "patch": { + "description": "Updates an existing campaign. Returns the updated campaign if successful.", + "flatPath": "v4/advertisers/{advertisersId}/campaigns/{campaignsId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.campaigns.patch", + "parameterOrder": [ + "advertiserId", + "campaignId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the campaign belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "campaignId": { + "description": "Output only. The unique ID of the campaign. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/campaigns/{+campaignId}", + "request": { + "$ref": "Campaign" + }, + "response": { + "$ref": "Campaign" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/display-video-mediaplanning" + ] + } + } + }, + "channels": { + "methods": { + "create": { + "description": "Creates a new channel. Returns the newly created channel if successful.", + "flatPath": "v4/advertisers/{advertisersId}/channels", + "httpMethod": "POST", + "id": "displayvideo.advertisers.channels.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the created channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the created channel.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/channels", + "request": { + "$ref": "Channel" + }, + "response": { + "$ref": "Channel" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a channel for a partner or advertiser.", + "flatPath": "v4/advertisers/{advertisersId}/channels/{channelsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.channels.get", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the fetched channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the channel to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the fetched channel.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/channels/{+channelId}", + "response": { + "$ref": "Channel" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists channels for a partner or advertiser.", + "flatPath": "v4/advertisers/{advertisersId}/channels", + "httpMethod": "GET", + "id": "displayvideo.advertisers.channels.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the channels.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by channel fields. Supported syntax: * Filter expressions for channel can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All channels for which the display name contains \"google\": `displayName : \"google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` 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`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListChannels` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the channels.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/channels", + "response": { + "$ref": "ListChannelsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates a channel. Returns the updated channel if successful.", + "flatPath": "v4/advertisers/{advertisersId}/channels/{channelId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.channels.patch", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the created channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Output only. The unique ID of the channel. Assigned by the system.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the created channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/channels/{channelId}", + "request": { + "$ref": "Channel" + }, + "response": { + "$ref": "Channel" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "sites": { + "methods": { + "bulkEdit": { + "description": "Bulk edits sites under a single channel. The operation will delete the sites provided in BulkEditSitesRequest.deleted_sites and then create the sites provided in BulkEditSitesRequest.created_sites.", + "flatPath": "v4/advertisers/{advertiserId}/channels/{channelsId}/sites:bulkEdit", + "httpMethod": "POST", + "id": "displayvideo.advertisers.channels.sites.bulkEdit", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel to which the sites belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{advertiserId}/channels/{+channelId}/sites:bulkEdit", + "request": { + "$ref": "BulkEditSitesRequest" + }, + "response": { + "$ref": "BulkEditSitesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "create": { + "description": "Creates a site in a channel.", + "flatPath": "v4/advertisers/{advertiserId}/channels/{channelsId}/sites", + "httpMethod": "POST", + "id": "displayvideo.advertisers.channels.sites.create", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel in which the site will be created.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{advertiserId}/channels/{+channelId}/sites", + "request": { + "$ref": "Site" + }, + "response": { + "$ref": "Site" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes a site from a channel.", + "flatPath": "v4/advertisers/{advertiserId}/channels/{channelsId}/sites/{sitesId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.channels.sites.delete", + "parameterOrder": [ + "advertiserId", + "channelId", + "urlOrAppId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel to which the site belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "urlOrAppId": { + "description": "Required. The URL or app ID of the site to delete.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{advertiserId}/channels/{+channelId}/sites/{+urlOrAppId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists sites in a channel.", + "flatPath": "v4/advertisers/{advertisersId}/channels/{channelsId}/sites", + "httpMethod": "GET", + "id": "displayvideo.advertisers.channels.sites.list", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel to which the requested sites belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by site fields. Supported syntax: * Filter expressions for site retrieval can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID contains \"google\": `urlOrAppId : \"google\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `urlOrAppId` (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: `urlOrAppId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `10000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListSites` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/channels/{+channelId}/sites", + "response": { + "$ref": "ListSitesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "replace": { + "description": "Replaces all of the sites under a single channel. The operation will replace the sites under a channel with the sites provided in ReplaceSitesRequest.new_sites. **This method regularly experiences high latency.** We recommend [increasing your default timeout](/display-video/api/guides/best-practices/timeouts#client_library_timeout) to avoid errors.", + "flatPath": "v4/advertisers/{advertiserId}/channels/{channelsId}/sites:replace", + "httpMethod": "POST", + "id": "displayvideo.advertisers.channels.sites.replace", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel whose sites will be replaced.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{advertiserId}/channels/{+channelId}/sites:replace", + "request": { + "$ref": "ReplaceSitesRequest" + }, + "response": { + "$ref": "ReplaceSitesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + }, + "creatives": { + "methods": { + "create": { + "description": "Creates a new creative. Returns the newly created creative if successful. A [\"Standard\" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request.", + "flatPath": "v4/advertisers/{advertisersId}/creatives", + "httpMethod": "POST", + "id": "displayvideo.advertisers.creatives.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the creative belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/creatives", + "request": { + "$ref": "Creative" + }, + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes a creative. Returns error code `NOT_FOUND` if the creative does not exist. The creative should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, before it can be deleted. A [\"Standard\" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request.", + "flatPath": "v4/advertisers/{advertisersId}/creatives/{creativesId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.creatives.delete", + "parameterOrder": [ + "advertiserId", + "creativeId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser this creative belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "creativeId": { + "description": "The ID of the creative to be deleted.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/creatives/{+creativeId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a creative.", + "flatPath": "v4/advertisers/{advertisersId}/creatives/{creativesId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.creatives.get", + "parameterOrder": [ + "advertiserId", + "creativeId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser this creative belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "creativeId": { + "description": "Required. The ID of the creative to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/creatives/{+creativeId}", + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists creatives in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, creatives with `ENTITY_STATUS_ARCHIVED` will not be included in the results.", + "flatPath": "v4/advertisers/{advertisersId}/creatives", + "httpMethod": "GET", + "id": "displayvideo.advertisers.creatives.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to list creatives for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by creative fields. 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 `lineItemIds` field must use the `HAS (:)` operator. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. * For `entityStatus`, `minDuration`, `maxDuration`, `updateTime`, and `dynamic` fields, there may be at most one restriction. Supported Fields: * `approvalStatus` * `creativeId` * `creativeType` * `dimensions` (input in the form of `{width}x{height}`) * `dynamic` * `entityStatus` * `exchangeReviewStatus` (input in the form of `{exchange}-{reviewStatus}`) * `lineItemIds` * `maxDuration` (input in the form of `{duration}s`. Only seconds are supported) * `minDuration` (input in the form of `{duration}s`. Only seconds are supported) * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Notes: * For `updateTime`, a creative resource's field value reflects the last time that a creative has been updated, which includes updates made by the system (e.g. creative review updates). Examples: * All native creatives: `creativeType=\"CREATIVE_TYPE_NATIVE\"` * All active creatives with 300x400 or 50x100 dimensions: `entityStatus=\"ENTITY_STATUS_ACTIVE\" AND (dimensions=\"300x400\" OR dimensions=\"50x100\")` * All dynamic creatives that are approved by AdX or AppNexus, with a minimum duration of 5 seconds and 200ms: `dynamic=\"true\" AND minDuration=\"5.2s\" AND (exchangeReviewStatus=\"EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROVED\" OR exchangeReviewStatus=\"EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED\")` * All video creatives that are associated with line item ID 1 or 2: `creativeType=\"CREATIVE_TYPE_VIDEO\" AND (lineItemIds:1 OR lineItemIds:2)` * Find creatives by multiple creative IDs: `creativeId=1 OR creativeId=2` * All creatives 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. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `creativeId` (default) * `createTime` * `mediaDuration` * `dimensions` (sorts by width first, then by height) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `createTime desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListCreatives` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/creatives", + "response": { + "$ref": "ListCreativesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing creative. Returns the updated creative if successful. A [\"Standard\" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request.", + "flatPath": "v4/advertisers/{advertisersId}/creatives/{creativesId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.creatives.patch", + "parameterOrder": [ + "advertiserId", + "creativeId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the creative belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "creativeId": { + "description": "Output only. The unique ID of the creative. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/creatives/{+creativeId}", + "request": { + "$ref": "Creative" + }, + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "insertionOrders": { + "methods": { + "create": { + "description": "Creates a new insertion order. Returns the newly created insertion order if successful.", + "flatPath": "v4/advertisers/{advertisersId}/insertionOrders", + "httpMethod": "POST", + "id": "displayvideo.advertisers.insertionOrders.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/insertionOrders", + "request": { + "$ref": "InsertionOrder" + }, + "response": { + "$ref": "InsertionOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist. The insertion order should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it.", + "flatPath": "v4/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.insertionOrders.delete", + "parameterOrder": [ + "advertiserId", + "insertionOrderId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser this insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "The ID of the insertion order to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist.", + "flatPath": "v4/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.insertionOrders.get", + "parameterOrder": [ + "advertiserId", + "insertionOrderId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser this insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "Required. The ID of the insertion order to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", + "response": { + "$ref": "InsertionOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists insertion orders in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, insertion orders with `ENTITY_STATUS_ARCHIVED` will not be included in the results.", + "flatPath": "v4/advertisers/{advertisersId}/insertionOrders", + "httpMethod": "GET", + "id": "displayvideo.advertisers.insertionOrders.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to list insertion orders for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by insertion order fields. 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 `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All insertion orders under a campaign: `campaignId=\"1234\"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` insertion orders under an advertiser: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\")` * All insertion orders 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 insertion orders 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. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "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`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListInsertionOrders` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/insertionOrders", + "response": { + "$ref": "ListInsertionOrdersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing insertion order. Returns the updated insertion order if successful.", + "flatPath": "v4/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.insertionOrders.patch", + "parameterOrder": [ + "advertiserId", + "insertionOrderId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "Output only. The unique ID of the insertion order. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", + "request": { + "$ref": "InsertionOrder" + }, + "response": { + "$ref": "InsertionOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "invoices": { + "methods": { + "list": { + "description": "Lists invoices posted for an advertiser in a given month. Invoices generated by billing profiles with a \"Partner\" invoice level are not retrievable through this method.", + "flatPath": "v4/advertisers/{advertisersId}/invoices", + "httpMethod": "GET", + "id": "displayvideo.advertisers.invoices.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to list invoices for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "issueMonth": { + "description": "The month to list the invoices for. If not set, the request will retrieve invoices for the previous month. Must be in the format YYYYMM.", + "location": "query", + "type": "string" + }, + "loiSapinInvoiceType": { + "description": "Select type of invoice to retrieve for Loi Sapin advertisers. Only applicable to Loi Sapin advertisers. Will be ignored otherwise.", + "enum": [ + "LOI_SAPIN_INVOICE_TYPE_UNSPECIFIED", + "LOI_SAPIN_INVOICE_TYPE_MEDIA", + "LOI_SAPIN_INVOICE_TYPE_PLATFORM" + ], + "enumDescriptions": [ + "Value is not specified.", + "Invoices with Media cost.", + "Invoices with Platform fee." + ], + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListInvoices` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/invoices", + "response": { + "$ref": "ListInvoicesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/display-video-mediaplanning" + ] + }, + "lookupInvoiceCurrency": { + "description": "Retrieves the invoice currency used by an advertiser in a given month.", + "flatPath": "v4/advertisers/{advertisersId}/invoices:lookupInvoiceCurrency", + "httpMethod": "GET", + "id": "displayvideo.advertisers.invoices.lookupInvoiceCurrency", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to lookup currency for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "invoiceMonth": { + "description": "Month for which the currency is needed. If not set, the request will return existing currency settings for the advertiser. Must be in the format YYYYMM.", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/invoices:lookupInvoiceCurrency", + "response": { + "$ref": "LookupInvoiceCurrencyResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/display-video-mediaplanning" + ] + } + } + }, + "lineItems": { + "methods": { + "bulkEditAssignedTargetingOptions": { + "description": "Bulk edits targeting options under multiple line items. The operation will delete the assigned targeting options provided in BulkEditAssignedTargetingOptionsRequest.delete_requests and then create the assigned targeting options provided in BulkEditAssignedTargetingOptionsRequest.create_requests. Requests to this endpoint cannot be made concurrently with the following requests updating the same line item: * lineItems.bulkUpdate * lineItems.patch * assignedTargetingOptions.create * assignedTargetingOptions.delete YouTube & Partners line items cannot be created or updated using the API.", + "flatPath": "v4/advertisers/{advertisersId}/lineItems:bulkEditAssignedTargetingOptions", + "httpMethod": "POST", + "id": "displayvideo.advertisers.lineItems.bulkEditAssignedTargetingOptions", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the line items belong to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/lineItems:bulkEditAssignedTargetingOptions", + "request": { + "$ref": "BulkEditAssignedTargetingOptionsRequest" + }, + "response": { + "$ref": "BulkEditAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "bulkListAssignedTargetingOptions": { + "description": "Lists assigned targeting options for multiple line items across targeting types.", + "flatPath": "v4/advertisers/{advertisersId}/lineItems:bulkListAssignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.lineItems.bulkListAssignedTargetingOptions", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the line items belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned targeting option fields. 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}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` or `TARGETING_TYPE_CHANNEL`: `targetingType=\"TARGETING_TYPE_PROXIMITY_LOCATION_LIST\" OR targetingType=\"TARGETING_TYPE_CHANNEL\"` * `AssignedTargetingOption` resources 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. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "lineItemIds": { + "description": "Required. The IDs of the line items to list assigned targeting options for.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `lineItemId` (default) * `assignedTargetingOption.targetingType` 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`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "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.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 the `BulkListAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/lineItems:bulkListAssignedTargetingOptions", + "response": { + "$ref": "BulkListAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "bulkUpdate": { + "description": "Updates multiple line items. Requests to this endpoint cannot be made concurrently with the following requests updating the same line item: * BulkEditAssignedTargetingOptions * UpdateLineItem * assignedTargetingOptions.create * assignedTargetingOptions.delete YouTube & Partners line items cannot be created or updated using the API.", + "flatPath": "v4/advertisers/{advertisersId}/lineItems:bulkUpdate", + "httpMethod": "POST", + "id": "displayvideo.advertisers.lineItems.bulkUpdate", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser this line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/lineItems:bulkUpdate", + "request": { + "$ref": "BulkUpdateLineItemsRequest" + }, + "response": { + "$ref": "BulkUpdateLineItemsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "create": { + "description": "Creates a new line item. Returns the newly created line item if successful. YouTube & Partners line items cannot be created or updated using the API.", + "flatPath": "v4/advertisers/{advertisersId}/lineItems", + "httpMethod": "POST", + "id": "displayvideo.advertisers.lineItems.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/lineItems", + "request": { + "$ref": "LineItem" + }, + "response": { + "$ref": "LineItem" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes a line item. Returns error code `NOT_FOUND` if the line item does not exist. The line item should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it. YouTube & Partners line items cannot be created or updated using the API.", + "flatPath": "v4/advertisers/{advertisersId}/lineItems/{lineItemsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.lineItems.delete", + "parameterOrder": [ + "advertiserId", + "lineItemId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser this line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "lineItemId": { + "description": "The ID of the line item to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/lineItems/{+lineItemId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "duplicate": { + "description": "Duplicates a line item. Returns the ID of the created line item if successful. YouTube & Partners line items cannot be created or updated using the API. **This method regularly experiences high latency.** We recommend [increasing your default timeout](/display-video/api/guides/best-practices/timeouts#client_library_timeout) to avoid errors.", + "flatPath": "v4/advertisers/{advertisersId}/lineItems/{lineItemsId}:duplicate", + "httpMethod": "POST", + "id": "displayvideo.advertisers.lineItems.duplicate", + "parameterOrder": [ + "advertiserId", + "lineItemId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser this line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "lineItemId": { + "description": "Required. The ID of the line item to duplicate.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/lineItems/{+lineItemId}:duplicate", + "request": { + "$ref": "DuplicateLineItemRequest" + }, + "response": { + "$ref": "DuplicateLineItemResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "generateDefault": { + "description": "Creates a new line item with settings (including targeting) inherited from the insertion order and an `ENTITY_STATUS_DRAFT` entity_status. Returns the newly created line item if successful. There are default values based on the three fields: * The insertion order's insertion_order_type * The insertion order's automation_type * The given line_item_type YouTube & Partners line items cannot be created or updated using the API.", + "flatPath": "v4/advertisers/{advertisersId}/lineItems:generateDefault", + "httpMethod": "POST", + "id": "displayvideo.advertisers.lineItems.generateDefault", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser this line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/lineItems:generateDefault", + "request": { + "$ref": "GenerateDefaultLineItemRequest" + }, + "response": { + "$ref": "LineItem" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a line item.", + "flatPath": "v4/advertisers/{advertisersId}/lineItems/{lineItemsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.lineItems.get", + "parameterOrder": [ + "advertiserId", + "lineItemId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser this line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "lineItemId": { + "description": "Required. The ID of the line item to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/lineItems/{+lineItemId}", + "response": { + "$ref": "LineItem" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists line items in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, line items with `ENTITY_STATUS_ARCHIVED` will not be included in the results.", + "flatPath": "v4/advertisers/{advertisersId}/lineItems", + "httpMethod": "GET", + "id": "displayvideo.advertisers.lineItems.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to list line items for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by line item fields. 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 `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `campaignId` * `displayName` * `entityStatus` * `insertionOrderId` * `lineItemId` * `lineItemType` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All line items under an insertion order: `insertionOrderId=\"1234\"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` and `LINE_ITEM_TYPE_DISPLAY_DEFAULT` line items under an advertiser: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\") AND lineItemType=\"LINE_ITEM_TYPE_DISPLAY_DEFAULT\"` * All line items 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 line items 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. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "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`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListLineItems` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/lineItems", + "response": { + "$ref": "ListLineItemsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing line item. Returns the updated line item if successful. Requests to this endpoint cannot be made concurrently with the following requests updating the same line item: * BulkEditAssignedTargetingOptions * BulkUpdateLineItems * assignedTargetingOptions.create * assignedTargetingOptions.delete YouTube & Partners line items cannot be created or updated using the API. **This method regularly experiences high latency.** We recommend [increasing your default timeout](/display-video/api/guides/best-practices/timeouts#client_library_timeout) to avoid errors.", + "flatPath": "v4/advertisers/{advertisersId}/lineItems/{lineItemsId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.lineItems.patch", + "parameterOrder": [ + "advertiserId", + "lineItemId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "lineItemId": { + "description": "Output only. The unique ID of the line item. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/lineItems/{+lineItemId}", + "request": { + "$ref": "LineItem" + }, + "response": { + "$ref": "LineItem" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "targetingTypes": { + "resources": { + "assignedTargetingOptions": { + "methods": { + "create": { + "description": "Assigns a targeting option to a line item. Returns the assigned targeting option if successful. Requests to this endpoint cannot be made concurrently with the following requests updating the same line item: * lineItems.bulkEditAssignedTargetingOptions * lineItems.bulkUpdate * lineItems.patch * DeleteLineItemAssignedTargetingOption YouTube & Partners line items cannot be created or updated using the API.", + "flatPath": "v4/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "POST", + "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.create", + "parameterOrder": [ + "advertiserId", + "lineItemId", + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "lineItemId": { + "description": "Required. The ID of the line item the assigned targeting option will belong to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "request": { + "$ref": "AssignedTargetingOption" + }, + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes an assigned targeting option from a line item. Requests to this endpoint cannot be made concurrently with the following requests updating the same line item: * lineItems.bulkEditAssignedTargetingOptions * lineItems.bulkUpdate * lineItems.patch * CreateLineItemAssignedTargetingOption YouTube & Partners line items cannot be created or updated using the API.", + "flatPath": "v4/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.delete", + "parameterOrder": [ + "advertiserId", + "lineItemId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "assignedTargetingOptionId": { + "description": "Required. The ID of the assigned targeting option to delete.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "lineItemId": { + "description": "Required. The ID of the line item the assigned targeting option belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a single targeting option assigned to a line item.", + "flatPath": "v4/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.get", + "parameterOrder": [ + "advertiserId", + "lineItemId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "assignedTargetingOptionId": { + "description": "Required. An identifier unique to the targeting type in this line item that identifies the assigned targeting option being requested.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "lineItemId": { + "description": "Required. The ID of the line item the assigned targeting option belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_YOUTUBE_CHANNEL` (only for `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) * `TARGETING_TYPE_YOUTUBE_VIDEO` (only for `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items)", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists the targeting options assigned to a line item.", + "flatPath": "v4/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.list", + "parameterOrder": [ + "advertiserId", + "lineItemId", + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or 2: `assignedTargetingOptionId=\"1\" OR assignedTargetingOptionId=\"2\"` * `AssignedTargetingOption` resources 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. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "lineItemId": { + "description": "Required. The ID of the line item to list assigned targeting options for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (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: `assignedTargetingOptionId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListLineItemAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_YOUTUBE_CHANNEL` (only for `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) * `TARGETING_TYPE_YOUTUBE_VIDEO` (only for `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items)", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "response": { + "$ref": "ListLineItemAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + } + } + }, + "locationLists": { + "methods": { + "create": { + "description": "Creates a new location list. Returns the newly created location list if successful.", + "flatPath": "v4/advertisers/{advertisersId}/locationLists", + "httpMethod": "POST", + "id": "displayvideo.advertisers.locationLists.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the location list belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/locationLists", + "request": { + "$ref": "LocationList" + }, + "response": { + "$ref": "LocationList" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a location list.", + "flatPath": "v4/advertisers/{advertisersId}/locationLists/{locationListsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.locationLists.get", + "parameterOrder": [ + "advertiserId", + "locationListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the fetched location list belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "locationListId": { + "description": "Required. The ID of the location list to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/locationLists/{+locationListId}", + "response": { + "$ref": "LocationList" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists location lists based on a given advertiser id.", + "flatPath": "v4/advertisers/{advertisersId}/locationLists", + "httpMethod": "GET", + "id": "displayvideo.advertisers.locationLists.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the fetched location lists belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by location list fields. 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}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `locationType` Examples: * All regional location list: `locationType=\"TARGETING_LOCATION_TYPE_REGIONAL\"` * All proximity location list: `locationType=\"TARGETING_LOCATION_TYPE_PROXIMITY\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `locationListId` (default) * `displayName` 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`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. Defaults to `100` if not set. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListLocationLists` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/locationLists", + "response": { + "$ref": "ListLocationListsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates a location list. Returns the updated location list if successful.", + "flatPath": "v4/advertisers/{advertisersId}/locationLists/{locationListId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.locationLists.patch", + "parameterOrder": [ + "advertiserId", + "locationListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the location lists belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "locationListId": { + "description": "Output only. The unique ID of the location list. Assigned by the system.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/locationLists/{locationListId}", + "request": { + "$ref": "LocationList" + }, + "response": { + "$ref": "LocationList" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "assignedLocations": { + "methods": { + "bulkEdit": { + "description": "Bulk edits multiple assignments between locations and a single location list. The operation will delete the assigned locations provided in deletedAssignedLocations and then create the assigned locations provided in createdAssignedLocations.", + "flatPath": "v4/advertisers/{advertiserId}/locationLists/{locationListsId}/assignedLocations:bulkEdit", + "httpMethod": "POST", + "id": "displayvideo.advertisers.locationLists.assignedLocations.bulkEdit", + "parameterOrder": [ + "advertiserId", + "locationListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the location list belongs.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "locationListId": { + "description": "Required. The ID of the location list to which these assignments are assigned.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{advertiserId}/locationLists/{+locationListId}/assignedLocations:bulkEdit", + "request": { + "$ref": "BulkEditAssignedLocationsRequest" + }, + "response": { + "$ref": "BulkEditAssignedLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "create": { + "description": "Creates an assignment between a location and a location list.", + "flatPath": "v4/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations", + "httpMethod": "POST", + "id": "displayvideo.advertisers.locationLists.assignedLocations.create", + "parameterOrder": [ + "advertiserId", + "locationListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the location list belongs.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "locationListId": { + "description": "Required. The ID of the location list for which the assignment will be created.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations", + "request": { + "$ref": "AssignedLocation" + }, + "response": { + "$ref": "AssignedLocation" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes the assignment between a location and a location list.", + "flatPath": "v4/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations/{assignedLocationsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.locationLists.assignedLocations.delete", + "parameterOrder": [ + "advertiserId", + "locationListId", + "assignedLocationId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the location list belongs.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "assignedLocationId": { + "description": "Required. The ID of the assigned location to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "locationListId": { + "description": "Required. The ID of the location list to which this assignment is assigned.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations/{+assignedLocationId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists locations assigned to a location list.", + "flatPath": "v4/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations", + "httpMethod": "GET", + "id": "displayvideo.advertisers.locationLists.assignedLocations.list", + "parameterOrder": [ + "advertiserId", + "locationListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the location list belongs.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by location list assignment fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedLocationId` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "locationListId": { + "description": "Required. The ID of the location list to which these assignments are assigned.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `assignedLocationId` (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: `assignedLocationId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListAssignedLocations` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations", + "response": { + "$ref": "ListAssignedLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + }, + "negativeKeywordLists": { + "methods": { + "create": { + "description": "Creates a new negative keyword list. Returns the newly created negative keyword list if successful.", + "flatPath": "v4/advertisers/{advertisersId}/negativeKeywordLists", + "httpMethod": "POST", + "id": "displayvideo.advertisers.negativeKeywordLists.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the negative keyword list will belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/negativeKeywordLists", + "request": { + "$ref": "NegativeKeywordList" + }, + "response": { + "$ref": "NegativeKeywordList" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes a negative keyword list given an advertiser ID and a negative keyword list ID.", + "flatPath": "v4/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.negativeKeywordLists.delete", + "parameterOrder": [ + "advertiserId", + "negativeKeywordListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the negative keyword list belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "negativeKeywordListId": { + "description": "Required. The ID of the negative keyword list to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a negative keyword list given an advertiser ID and a negative keyword list ID.", + "flatPath": "v4/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.negativeKeywordLists.get", + "parameterOrder": [ + "advertiserId", + "negativeKeywordListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the fetched negative keyword list belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "negativeKeywordListId": { + "description": "Required. The ID of the negative keyword list to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}", + "response": { + "$ref": "NegativeKeywordList" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists negative keyword lists based on a given advertiser id.", + "flatPath": "v4/advertisers/{advertisersId}/negativeKeywordLists", + "httpMethod": "GET", + "id": "displayvideo.advertisers.negativeKeywordLists.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the fetched negative keyword lists belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. Defaults to `100` if not set. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListNegativeKeywordLists` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/negativeKeywordLists", + "response": { + "$ref": "ListNegativeKeywordListsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates a negative keyword list. Returns the updated negative keyword list if successful.", + "flatPath": "v4/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.negativeKeywordLists.patch", + "parameterOrder": [ + "advertiserId", + "negativeKeywordListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the negative keyword list belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "negativeKeywordListId": { + "description": "Output only. The unique ID of the negative keyword list. Assigned by the system.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/negativeKeywordLists/{negativeKeywordListId}", + "request": { + "$ref": "NegativeKeywordList" + }, + "response": { + "$ref": "NegativeKeywordList" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "negativeKeywords": { + "methods": { + "bulkEdit": { + "description": "Bulk edits negative keywords in a single negative keyword list. The operation will delete the negative keywords provided in BulkEditNegativeKeywordsRequest.deleted_negative_keywords and then create the negative keywords provided in BulkEditNegativeKeywordsRequest.created_negative_keywords. This operation is guaranteed to be atomic and will never result in a partial success or partial failure.", + "flatPath": "v4/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords:bulkEdit", + "httpMethod": "POST", + "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.bulkEdit", + "parameterOrder": [ + "advertiserId", + "negativeKeywordListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "negativeKeywordListId": { + "description": "Required. The ID of the parent negative keyword list to which the negative keywords belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:bulkEdit", + "request": { + "$ref": "BulkEditNegativeKeywordsRequest" + }, + "response": { + "$ref": "BulkEditNegativeKeywordsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "create": { + "description": "Creates a negative keyword in a negative keyword list.", + "flatPath": "v4/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords", + "httpMethod": "POST", + "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.create", + "parameterOrder": [ + "advertiserId", + "negativeKeywordListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "negativeKeywordListId": { + "description": "Required. The ID of the parent negative keyword list in which the negative keyword will be created.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords", + "request": { + "$ref": "NegativeKeyword" + }, + "response": { + "$ref": "NegativeKeyword" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes a negative keyword from a negative keyword list.", + "flatPath": "v4/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords/{negativeKeywordsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.delete", + "parameterOrder": [ + "advertiserId", + "negativeKeywordListId", + "keywordValue" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "keywordValue": { + "description": "Required. The keyword value of the negative keyword to delete.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "negativeKeywordListId": { + "description": "Required. The ID of the parent negative keyword list to which the negative keyword belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords/{+keywordValue}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists negative keywords in a negative keyword list.", + "flatPath": "v4/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords", + "httpMethod": "GET", + "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.list", + "parameterOrder": [ + "advertiserId", + "negativeKeywordListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by negative keyword fields. Supported syntax: * Filter expressions for negative keywords can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `keywordValue` Examples: * All negative keywords for which the keyword value contains \"google\": `keywordValue : \"google\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "negativeKeywordListId": { + "description": "Required. The ID of the parent negative keyword list to which the requested negative keywords belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `keywordValue` (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: `keywordValue desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `1000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListNegativeKeywords` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords", + "response": { + "$ref": "ListNegativeKeywordsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "replace": { + "description": "Replaces all negative keywords in a single negative keyword list. The operation will replace the keywords in a negative keyword list with keywords provided in ReplaceNegativeKeywordsRequest.new_negative_keywords.", + "flatPath": "v4/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords:replace", + "httpMethod": "POST", + "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.replace", + "parameterOrder": [ + "advertiserId", + "negativeKeywordListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "negativeKeywordListId": { + "description": "Required. The ID of the parent negative keyword list to which the negative keywords belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:replace", + "request": { + "$ref": "ReplaceNegativeKeywordsRequest" + }, + "response": { + "$ref": "ReplaceNegativeKeywordsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + }, + "targetingTypes": { + "resources": { + "assignedTargetingOptions": { + "methods": { + "create": { + "description": "Assigns a targeting option to an advertiser. Returns the assigned targeting option if successful.", + "flatPath": "v4/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "POST", + "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.create", + "parameterOrder": [ + "advertiserId", + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "request": { + "$ref": "AssignedTargetingOption" + }, + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes an assigned targeting option from an advertiser.", + "flatPath": "v4/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.delete", + "parameterOrder": [ + "advertiserId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "assignedTargetingOptionId": { + "description": "Required. The ID of the assigned targeting option to delete.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a single targeting option assigned to an advertiser.", + "flatPath": "v4/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.get", + "parameterOrder": [ + "advertiserId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "assignedTargetingOptionId": { + "description": "Required. An identifier unique to the targeting type in this advertiser that identifies the assigned targeting option being requested.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists the targeting options assigned to an advertiser.", + "flatPath": "v4/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.list", + "parameterOrder": [ + "advertiserId", + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` Examples: * `AssignedTargetingOption` with ID 123456: `assignedTargetingOptionId=\"123456\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (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: `assignedTargetingOptionId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListAdvertiserAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "response": { + "$ref": "ListAdvertiserAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + } + } + }, + "combinedAudiences": { + "methods": { + "get": { + "description": "Gets a combined audience.", + "flatPath": "v4/combinedAudiences/{combinedAudiencesId}", + "httpMethod": "GET", + "id": "displayvideo.combinedAudiences.get", + "parameterOrder": [ + "combinedAudienceId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the fetched combined audience.", + "format": "int64", + "location": "query", + "type": "string" + }, + "combinedAudienceId": { + "description": "Required. The ID of the combined audience to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the fetched combined audience.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/combinedAudiences/{+combinedAudienceId}", + "response": { + "$ref": "CombinedAudience" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists combined audiences. The order is defined by the order_by parameter.", + "flatPath": "v4/combinedAudiences", + "httpMethod": "GET", + "id": "displayvideo.combinedAudiences.list", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the fetched combined audiences.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by combined audience fields. Supported syntax: * Filter expressions for combined audiences can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All combined audiences for which the display name contains \"Google\": `displayName : \"Google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `combinedAudienceId` (default) * `displayName` 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`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListCombinedAudiences` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the fetched combined audiences.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/combinedAudiences", + "response": { + "$ref": "ListCombinedAudiencesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "customBiddingAlgorithms": { + "methods": { + "create": { + "description": "Creates a new custom bidding algorithm. Returns the newly created custom bidding algorithm if successful.", + "flatPath": "v4/customBiddingAlgorithms", + "httpMethod": "POST", + "id": "displayvideo.customBiddingAlgorithms.create", + "parameterOrder": [], + "parameters": {}, + "path": "v4/customBiddingAlgorithms", + "request": { + "$ref": "CustomBiddingAlgorithm" + }, + "response": { + "$ref": "CustomBiddingAlgorithm" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a custom bidding algorithm.", + "flatPath": "v4/customBiddingAlgorithms/{customBiddingAlgorithmsId}", + "httpMethod": "GET", + "id": "displayvideo.customBiddingAlgorithms.get", + "parameterOrder": [ + "customBiddingAlgorithmId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the DV360 partner that has access to the custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Required. The ID of the custom bidding algorithm to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the DV360 partner that has access to the custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/customBiddingAlgorithms/{+customBiddingAlgorithmId}", + "response": { + "$ref": "CustomBiddingAlgorithm" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists custom bidding algorithms that are accessible to the current user and can be used in bidding stratgies. The order is defined by the order_by parameter.", + "flatPath": "v4/customBiddingAlgorithms", + "httpMethod": "GET", + "id": "displayvideo.customBiddingAlgorithms.list", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the DV360 advertiser that has access to the custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by custom bidding algorithm fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND`. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The `customBiddingAlgorithmType` field must use the `EQUALS (=)` operator. * The `displayName` field must use the `HAS (:)` operator. Supported fields: * `customBiddingAlgorithmType` * `displayName` Examples: * All custom bidding algorithms for which the display name contains \"politics\": `displayName:\"politics\"`. * All custom bidding algorithms for which the type is \"SCRIPT_BASED\": `customBiddingAlgorithmType=SCRIPT_BASED` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `displayName` (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: `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListCustomBiddingAlgorithms` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the DV360 partner that has access to the custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/customBiddingAlgorithms", + "response": { + "$ref": "ListCustomBiddingAlgorithmsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing custom bidding algorithm. Returns the updated custom bidding algorithm if successful. *Warning*: Starting **April 1, 2025**, requests updating custom bidding algorithms that are assigned to line items will return an error. [Read more about this announced change](/display-video/api/deprecations#features.custom_bidding_floodlight).", + "flatPath": "v4/customBiddingAlgorithms/{customBiddingAlgorithmsId}", + "httpMethod": "PATCH", + "id": "displayvideo.customBiddingAlgorithms.patch", + "parameterOrder": [ + "customBiddingAlgorithmId" + ], + "parameters": { + "customBiddingAlgorithmId": { + "description": "Output only. The unique ID of the custom bidding algorithm. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v4/customBiddingAlgorithms/{+customBiddingAlgorithmId}", + "request": { + "$ref": "CustomBiddingAlgorithm" + }, + "response": { + "$ref": "CustomBiddingAlgorithm" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "uploadRules": { + "description": "Creates a rules reference object for an AlgorithmRules file. The resulting reference object provides a resource path where the AlgorithmRules file should be uploaded. This reference object should be included when creating a new CustomBiddingAlgorithmRules resource.", + "flatPath": "v4/customBiddingAlgorithms/{customBiddingAlgorithmsId}:uploadRules", + "httpMethod": "GET", + "id": "displayvideo.customBiddingAlgorithms.uploadRules", + "parameterOrder": [ + "customBiddingAlgorithmId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Required. The ID of the custom bidding algorithm that owns the rules resource.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/customBiddingAlgorithms/{+customBiddingAlgorithmId}:uploadRules", + "response": { + "$ref": "CustomBiddingAlgorithmRulesRef" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "uploadScript": { + "description": "Creates a custom bidding script reference object for a script file. The resulting reference object provides a resource path to which the script file should be uploaded. This reference object should be included in when creating a new custom bidding script object.", + "flatPath": "v4/customBiddingAlgorithms/{customBiddingAlgorithmsId}:uploadScript", + "httpMethod": "GET", + "id": "displayvideo.customBiddingAlgorithms.uploadScript", + "parameterOrder": [ + "customBiddingAlgorithmId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Required. The ID of the custom bidding algorithm owns the script.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have write access to this custom bidding script.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/customBiddingAlgorithms/{+customBiddingAlgorithmId}:uploadScript", + "response": { + "$ref": "CustomBiddingScriptRef" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "rules": { + "methods": { + "create": { + "description": "Creates a new rules resource. Returns the newly created rules resource if successful. *Warning*: Starting **April 1, 2025**, requests updating custom bidding algorithms that are assigned to line items will return an error. [Read more about this announced change](/display-video/api/deprecations#features.custom_bidding_floodlight).", + "flatPath": "v4/customBiddingAlgorithms/{customBiddingAlgorithmsId}/rules", + "httpMethod": "POST", + "id": "displayvideo.customBiddingAlgorithms.rules.create", + "parameterOrder": [ + "customBiddingAlgorithmId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Required. The ID of the custom bidding algorithm that owns the rules resource.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have write access to this rules resource.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/customBiddingAlgorithms/{+customBiddingAlgorithmId}/rules", + "request": { + "$ref": "CustomBiddingAlgorithmRules" + }, + "response": { + "$ref": "CustomBiddingAlgorithmRules" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Retrieves a rules resource.", + "flatPath": "v4/customBiddingAlgorithms/{customBiddingAlgorithmsId}/rules/{rulesId}", + "httpMethod": "GET", + "id": "displayvideo.customBiddingAlgorithms.rules.get", + "parameterOrder": [ + "customBiddingAlgorithmId", + "customBiddingAlgorithmRulesId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Required. The ID of the custom bidding algorithm that owns the rules resource.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "customBiddingAlgorithmRulesId": { + "description": "Required. The ID of the rules resource to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/customBiddingAlgorithms/{+customBiddingAlgorithmId}/rules/{+customBiddingAlgorithmRulesId}", + "response": { + "$ref": "CustomBiddingAlgorithmRules" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists rules resources that belong to the given algorithm. The order is defined by the order_by parameter.", + "flatPath": "v4/customBiddingAlgorithms/{customBiddingAlgorithmsId}/rules", + "httpMethod": "GET", + "id": "displayvideo.customBiddingAlgorithms.rules.list", + "parameterOrder": [ + "customBiddingAlgorithmId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Required. The ID of the custom bidding algorithm that owns the rules resource.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `createTime desc` (default) The default sorting order is descending. To specify ascending order for a field, the suffix \"desc\" should be removed. Example: `createTime`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListCustomBiddingAlgorithmRules` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/customBiddingAlgorithms/{+customBiddingAlgorithmId}/rules", + "response": { + "$ref": "ListCustomBiddingAlgorithmRulesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "scripts": { + "methods": { + "create": { + "description": "Creates a new custom bidding script. Returns the newly created script if successful. *Warning*: Starting **April 1, 2025**, requests updating custom bidding algorithms that are assigned to line items will return an error. [Read more about this announced change](/display-video/api/deprecations#features.custom_bidding_floodlight).", + "flatPath": "v4/customBiddingAlgorithms/{customBiddingAlgorithmsId}/scripts", + "httpMethod": "POST", + "id": "displayvideo.customBiddingAlgorithms.scripts.create", + "parameterOrder": [ + "customBiddingAlgorithmId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Required. The ID of the custom bidding algorithm that owns the script.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have write access to this custom bidding script.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts", + "request": { + "$ref": "CustomBiddingScript" + }, + "response": { + "$ref": "CustomBiddingScript" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a custom bidding script.", + "flatPath": "v4/customBiddingAlgorithms/{customBiddingAlgorithmsId}/scripts/{scriptsId}", + "httpMethod": "GET", + "id": "displayvideo.customBiddingAlgorithms.scripts.get", + "parameterOrder": [ + "customBiddingAlgorithmId", + "customBiddingScriptId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Required. The ID of the custom bidding algorithm owns the script.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "customBiddingScriptId": { + "description": "Required. The ID of the custom bidding script to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have write access to this custom bidding script.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts/{+customBiddingScriptId}", + "response": { + "$ref": "CustomBiddingScript" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists custom bidding scripts that belong to the given algorithm. The order is defined by the order_by parameter.", + "flatPath": "v4/customBiddingAlgorithms/{customBiddingAlgorithmsId}/scripts", + "httpMethod": "GET", + "id": "displayvideo.customBiddingAlgorithms.scripts.list", + "parameterOrder": [ + "customBiddingAlgorithmId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Required. The ID of the custom bidding algorithm owns the script.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `createTime desc` (default) The default sorting order is descending. To specify ascending order for a field, the suffix \"desc\" should be removed. Example: `createTime`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListCustomBiddingScripts` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have write access to this custom bidding script.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts", + "response": { + "$ref": "ListCustomBiddingScriptsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + }, + "customLists": { + "methods": { + "get": { + "description": "Gets a custom list.", + "flatPath": "v4/customLists/{customListsId}", + "httpMethod": "GET", + "id": "displayvideo.customLists.get", + "parameterOrder": [ + "customListId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the DV360 advertiser that has access to the fetched custom lists.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customListId": { + "description": "Required. The ID of the custom list to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/customLists/{+customListId}", + "response": { + "$ref": "CustomList" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists custom lists. The order is defined by the order_by parameter.", + "flatPath": "v4/customLists", + "httpMethod": "GET", + "id": "displayvideo.customLists.list", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the DV360 advertiser that has access to the fetched custom lists.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by custom list fields. Supported syntax: * Filter expressions for custom lists can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All custom lists for which the display name contains \"Google\": `displayName:\"Google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `customListId` (default) * `displayName` 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`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListCustomLists` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v4/customLists", + "response": { + "$ref": "ListCustomListsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "firstPartyAndPartnerAudiences": { + "methods": { + "create": { + "description": "Creates a FirstPartyAndPartnerAudience. Only supported for the following audience_type: * `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID`", + "flatPath": "v4/firstPartyAndPartnerAudiences", + "httpMethod": "POST", + "id": "displayvideo.firstPartyAndPartnerAudiences.create", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser under whom the FirstPartyAndPartnerAudience will be created.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/firstPartyAndPartnerAudiences", + "request": { + "$ref": "FirstPartyAndPartnerAudience" + }, + "response": { + "$ref": "FirstPartyAndPartnerAudience" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "editCustomerMatchMembers": { + "description": "Updates the member list of a Customer Match audience. Only supported for the following audience_type: * `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID`", + "flatPath": "v4/firstPartyAndPartnerAudiences/{firstPartyAndPartnerAudiencesId}:editCustomerMatchMembers", + "httpMethod": "POST", + "id": "displayvideo.firstPartyAndPartnerAudiences.editCustomerMatchMembers", + "parameterOrder": [ + "firstPartyAndPartnerAudienceId" + ], + "parameters": { + "firstPartyAndPartnerAudienceId": { + "description": "Required. The ID of the Customer Match FirstPartyAndPartnerAudience whose members will be edited.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/firstPartyAndPartnerAudiences/{+firstPartyAndPartnerAudienceId}:editCustomerMatchMembers", + "request": { + "$ref": "EditCustomerMatchMembersRequest" + }, + "response": { + "$ref": "EditCustomerMatchMembersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a first party or partner audience.", + "flatPath": "v4/firstPartyAndPartnerAudiences/{firstPartyAndPartnerAudiencesId}", + "httpMethod": "GET", + "id": "displayvideo.firstPartyAndPartnerAudiences.get", + "parameterOrder": [ + "firstPartyAndPartnerAudienceId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the fetched first party and partner audience.", + "format": "int64", + "location": "query", + "type": "string" + }, + "firstPartyAndPartnerAudienceId": { + "description": "Required. The ID of the first party and partner audience to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the fetched first party and partner audience.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/firstPartyAndPartnerAudiences/{+firstPartyAndPartnerAudienceId}", + "response": { + "$ref": "FirstPartyAndPartnerAudience" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists first party and partner audiences. The order is defined by the order_by parameter.", + "flatPath": "v4/firstPartyAndPartnerAudiences", + "httpMethod": "GET", + "id": "displayvideo.firstPartyAndPartnerAudiences.list", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the fetched first party and partner audiences.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Optional. Allows filtering by first party and partner audience fields. Supported syntax: * Filter expressions for first party and partner audiences can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All first party and partner audiences for which the display name contains \"Google\": `displayName:\"Google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field by which to sort the list. Acceptable values are: * `FirstPartyAndPartnerAudienceId` (default) * `displayName` 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`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Must be between `1` and `5000`. If unspecified, this value defaults to `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. 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 `ListFirstPartyAndPartnerAudiences` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the fetched first party and partner audiences.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/firstPartyAndPartnerAudiences", + "response": { + "$ref": "ListFirstPartyAndPartnerAudiencesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing FirstPartyAndPartnerAudience. Only supported for the following audience_type: * `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID`", + "flatPath": "v4/firstPartyAndPartnerAudiences/{firstPartyAndPartnerAudiencesId}", + "httpMethod": "PATCH", + "id": "displayvideo.firstPartyAndPartnerAudiences.patch", + "parameterOrder": [ + "firstPartyAndPartnerAudienceId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the owner advertiser of the updated FirstPartyAndPartnerAudience.", + "format": "int64", + "location": "query", + "type": "string" + }, + "firstPartyAndPartnerAudienceId": { + "description": "Identifier. The unique ID of the first party and partner audience. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update. Updates are only supported for the following fields: * `displayName` * `description` * `membershipDurationDays`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v4/firstPartyAndPartnerAudiences/{+firstPartyAndPartnerAudienceId}", + "request": { + "$ref": "FirstPartyAndPartnerAudience" + }, + "response": { + "$ref": "FirstPartyAndPartnerAudience" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "floodlightGroups": { + "methods": { + "get": { + "description": "Gets a Floodlight group.", + "flatPath": "v4/floodlightGroups/{floodlightGroupsId}", + "httpMethod": "GET", + "id": "displayvideo.floodlightGroups.get", + "parameterOrder": [ + "floodlightGroupId" + ], + "parameters": { + "floodlightGroupId": { + "description": "Required. The ID of the Floodlight group to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "Required. The partner context by which the Floodlight group is being accessed.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/floodlightGroups/{+floodlightGroupId}", + "response": { + "$ref": "FloodlightGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing Floodlight group. Returns the updated Floodlight group if successful.", + "flatPath": "v4/floodlightGroups/{floodlightGroupId}", + "httpMethod": "PATCH", + "id": "displayvideo.floodlightGroups.patch", + "parameterOrder": [ + "floodlightGroupId" + ], + "parameters": { + "floodlightGroupId": { + "description": "Output only. The unique ID of the Floodlight group. Assigned by the system.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "Required. The partner context by which the Floodlight group is being accessed.", + "format": "int64", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v4/floodlightGroups/{floodlightGroupId}", + "request": { + "$ref": "FloodlightGroup" + }, + "response": { + "$ref": "FloodlightGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "floodlightActivities": { + "methods": { + "get": { + "description": "Gets a Floodlight activity.", + "flatPath": "v4/floodlightGroups/{floodlightGroupsId}/floodlightActivities/{floodlightActivitiesId}", + "httpMethod": "GET", + "id": "displayvideo.floodlightGroups.floodlightActivities.get", + "parameterOrder": [ + "floodlightGroupId", + "floodlightActivityId" + ], + "parameters": { + "floodlightActivityId": { + "description": "Required. The ID of the Floodlight activity to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "floodlightGroupId": { + "description": "Required. The ID of the parent Floodlight group to which the requested Floodlight activity belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "Required. The ID of the partner through which the Floodlight activity is being accessed.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/floodlightGroups/{+floodlightGroupId}/floodlightActivities/{+floodlightActivityId}", + "response": { + "$ref": "FloodlightActivity" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists Floodlight activities in a Floodlight group.", + "flatPath": "v4/floodlightGroups/{floodlightGroupsId}/floodlightActivities", + "httpMethod": "GET", + "id": "displayvideo.floodlightGroups.floodlightActivities.list", + "parameterOrder": [ + "floodlightGroupId" + ], + "parameters": { + "floodlightGroupId": { + "description": "Required. The ID of the parent Floodlight group to which the requested Floodlight activities belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Optional. Field by which to sort the list. Acceptable values are: * `displayName` (default) * `floodlightActivityId` 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`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. 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 `ListFloodlightActivities` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "Required. The ID of the partner through which the Floodlight activities are being accessed.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/floodlightGroups/{+floodlightGroupId}/floodlightActivities", + "response": { + "$ref": "ListFloodlightActivitiesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + }, + "googleAudiences": { + "methods": { + "get": { + "description": "Gets a Google audience.", + "flatPath": "v4/googleAudiences/{googleAudiencesId}", + "httpMethod": "GET", + "id": "displayvideo.googleAudiences.get", + "parameterOrder": [ + "googleAudienceId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the fetched Google audience.", + "format": "int64", + "location": "query", + "type": "string" + }, + "googleAudienceId": { + "description": "Required. The ID of the Google audience to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the fetched Google audience.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/googleAudiences/{+googleAudienceId}", + "response": { + "$ref": "GoogleAudience" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists Google audiences. The order is defined by the order_by parameter.", + "flatPath": "v4/googleAudiences", + "httpMethod": "GET", + "id": "displayvideo.googleAudiences.list", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the fetched Google audiences.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by Google audience fields. Supported syntax: * Filter expressions for Google audiences can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All Google audiences for which the display name contains \"Google\": `displayName:\"Google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `googleAudienceId` (default) * `displayName` 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`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListGoogleAudiences` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the fetched Google audiences.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/googleAudiences", + "response": { + "$ref": "ListGoogleAudiencesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "guaranteedOrders": { + "methods": { + "create": { + "description": "Creates a new guaranteed order. Returns the newly created guaranteed order if successful.", + "flatPath": "v4/guaranteedOrders", + "httpMethod": "POST", + "id": "displayvideo.guaranteedOrders.create", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that the request is being made within.", + "format": "int64", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that the request is being made within.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/guaranteedOrders", + "request": { + "$ref": "GuaranteedOrder" + }, + "response": { + "$ref": "GuaranteedOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "editGuaranteedOrderReadAccessors": { + "description": "Edits read advertisers of a guaranteed order.", + "flatPath": "v4/guaranteedOrders/{guaranteedOrdersId}:editGuaranteedOrderReadAccessors", + "httpMethod": "POST", + "id": "displayvideo.guaranteedOrders.editGuaranteedOrderReadAccessors", + "parameterOrder": [ + "guaranteedOrderId" + ], + "parameters": { + "guaranteedOrderId": { + "description": "Required. The ID of the guaranteed order to edit. The ID is of the format `{exchange}-{legacy_guaranteed_order_id}`", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/guaranteedOrders/{+guaranteedOrderId}:editGuaranteedOrderReadAccessors", + "request": { + "$ref": "EditGuaranteedOrderReadAccessorsRequest" + }, + "response": { + "$ref": "EditGuaranteedOrderReadAccessorsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a guaranteed order.", + "flatPath": "v4/guaranteedOrders/{guaranteedOrdersId}", + "httpMethod": "GET", + "id": "displayvideo.guaranteedOrders.get", + "parameterOrder": [ + "guaranteedOrderId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the guaranteed order.", + "format": "int64", + "location": "query", + "type": "string" + }, + "guaranteedOrderId": { + "description": "Required. The ID of the guaranteed order to fetch. The ID is of the format `{exchange}-{legacy_guaranteed_order_id}`", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the guaranteed order.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/guaranteedOrders/{+guaranteedOrderId}", + "response": { + "$ref": "GuaranteedOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists guaranteed orders that are accessible to the current user. The order is defined by the order_by parameter. If a filter by entity_status is not specified, guaranteed orders with entity status `ENTITY_STATUS_ARCHIVED` will not be included in the results.", + "flatPath": "v4/guaranteedOrders", + "httpMethod": "GET", + "id": "displayvideo.guaranteedOrders.list", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the guaranteed order.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by guaranteed order fields. * 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}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `guaranteed_order_id` * `exchange` * `display_name` * `status.entityStatus` Examples: * All active guaranteed orders: `status.entityStatus=\"ENTITY_STATUS_ACTIVE\"` * Guaranteed orders belonging to Google Ad Manager or Rubicon exchanges: `exchange=\"EXCHANGE_GOOGLE_AD_MANAGER\" OR exchange=\"EXCHANGE_RUBICON\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListGuaranteedOrders` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the guaranteed order.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/guaranteedOrders", + "response": { + "$ref": "ListGuaranteedOrdersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing guaranteed order. Returns the updated guaranteed order if successful.", + "flatPath": "v4/guaranteedOrders/{guaranteedOrdersId}", + "httpMethod": "PATCH", + "id": "displayvideo.guaranteedOrders.patch", + "parameterOrder": [ + "guaranteedOrderId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that the request is being made within.", + "format": "int64", + "location": "query", + "type": "string" + }, + "guaranteedOrderId": { + "description": "Output only. The unique identifier of the guaranteed order. The guaranteed order IDs have the format `{exchange}-{legacy_guaranteed_order_id}`.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that the request is being made within.", + "format": "int64", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v4/guaranteedOrders/{+guaranteedOrderId}", + "request": { + "$ref": "GuaranteedOrder" + }, + "response": { + "$ref": "GuaranteedOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "inventorySourceGroups": { + "methods": { + "create": { + "description": "Creates a new inventory source group. Returns the newly created inventory source group if successful.", + "flatPath": "v4/inventorySourceGroups", + "httpMethod": "POST", + "id": "displayvideo.inventorySourceGroups.create", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the inventory source group. The parent partner will not have access to this group.", + "format": "int64", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the inventory source group. Only this partner will have write access to this group. Only advertisers to which this group is explicitly shared will have read access to this group.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/inventorySourceGroups", + "request": { + "$ref": "InventorySourceGroup" + }, + "response": { + "$ref": "InventorySourceGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes an inventory source group.", + "flatPath": "v4/inventorySourceGroups/{inventorySourceGroupsId}", + "httpMethod": "DELETE", + "id": "displayvideo.inventorySourceGroups.delete", + "parameterOrder": [ + "inventorySourceGroupId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the inventory source group. The parent partner does not have access to this group.", + "format": "int64", + "location": "query", + "type": "string" + }, + "inventorySourceGroupId": { + "description": "Required. The ID of the inventory source group to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the inventory source group. Only this partner has write access to this group.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/inventorySourceGroups/{+inventorySourceGroupId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets an inventory source group.", + "flatPath": "v4/inventorySourceGroups/{inventorySourceGroupsId}", + "httpMethod": "GET", + "id": "displayvideo.inventorySourceGroups.get", + "parameterOrder": [ + "inventorySourceGroupId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the inventory source group. If an inventory source group is partner-owned, only advertisers to which the group is explicitly shared can access the group.", + "format": "int64", + "location": "query", + "type": "string" + }, + "inventorySourceGroupId": { + "description": "Required. The ID of the inventory source group to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the inventory source group. A partner cannot access an advertiser-owned inventory source group.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/inventorySourceGroups/{+inventorySourceGroupId}", + "response": { + "$ref": "InventorySourceGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists inventory source groups that are accessible to the current user. The order is defined by the order_by parameter.", + "flatPath": "v4/inventorySourceGroups", + "httpMethod": "GET", + "id": "displayvideo.inventorySourceGroups.list", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the inventory source group. If an inventory source group is partner-owned, only advertisers to which the group is explicitly shared can access the group.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by inventory source group fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `inventorySourceGroupId` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `inventorySourceGroupId` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListInventorySources` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the inventory source group. A partner cannot access advertiser-owned inventory source groups.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/inventorySourceGroups", + "response": { + "$ref": "ListInventorySourceGroupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an inventory source group. Returns the updated inventory source group if successful.", + "flatPath": "v4/inventorySourceGroups/{inventorySourceGroupId}", + "httpMethod": "PATCH", + "id": "displayvideo.inventorySourceGroups.patch", + "parameterOrder": [ + "inventorySourceGroupId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the inventory source group. The parent partner does not have access to this group.", + "format": "int64", + "location": "query", + "type": "string" + }, + "inventorySourceGroupId": { + "description": "Output only. The unique ID of the inventory source group. Assigned by the system.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the inventory source group. Only this partner has write access to this group.", + "format": "int64", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v4/inventorySourceGroups/{inventorySourceGroupId}", + "request": { + "$ref": "InventorySourceGroup" + }, + "response": { + "$ref": "InventorySourceGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "assignedInventorySources": { + "methods": { + "bulkEdit": { + "description": "Bulk edits multiple assignments between inventory sources and a single inventory source group. The operation will delete the assigned inventory sources provided in BulkEditAssignedInventorySourcesRequest.deleted_assigned_inventory_sources and then create the assigned inventory sources provided in BulkEditAssignedInventorySourcesRequest.created_assigned_inventory_sources.", + "flatPath": "v4/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources:bulkEdit", + "httpMethod": "POST", + "id": "displayvideo.inventorySourceGroups.assignedInventorySources.bulkEdit", + "parameterOrder": [ + "inventorySourceGroupId" + ], + "parameters": { + "inventorySourceGroupId": { + "description": "Required. The ID of the inventory source group to which the assignments are assigned.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources:bulkEdit", + "request": { + "$ref": "BulkEditAssignedInventorySourcesRequest" + }, + "response": { + "$ref": "BulkEditAssignedInventorySourcesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "create": { + "description": "Creates an assignment between an inventory source and an inventory source group.", + "flatPath": "v4/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources", + "httpMethod": "POST", + "id": "displayvideo.inventorySourceGroups.assignedInventorySources.create", + "parameterOrder": [ + "inventorySourceGroupId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent inventory source group. The parent partner will not have access to this assigned inventory source.", + "format": "int64", + "location": "query", + "type": "string" + }, + "inventorySourceGroupId": { + "description": "Required. The ID of the inventory source group to which the assignment will be assigned.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent inventory source group. Only this partner will have write access to this assigned inventory source.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources", + "request": { + "$ref": "AssignedInventorySource" + }, + "response": { + "$ref": "AssignedInventorySource" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes the assignment between an inventory source and an inventory source group.", + "flatPath": "v4/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources/{assignedInventorySourcesId}", + "httpMethod": "DELETE", + "id": "displayvideo.inventorySourceGroups.assignedInventorySources.delete", + "parameterOrder": [ + "inventorySourceGroupId", + "assignedInventorySourceId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent inventory source group. The parent partner does not have access to this assigned inventory source.", + "format": "int64", + "location": "query", + "type": "string" + }, + "assignedInventorySourceId": { + "description": "Required. The ID of the assigned inventory source to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "inventorySourceGroupId": { + "description": "Required. The ID of the inventory source group to which this assignment is assigned.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent inventory source group. Only this partner has write access to this assigned inventory source.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources/{+assignedInventorySourceId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists inventory sources assigned to an inventory source group.", + "flatPath": "v4/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources", + "httpMethod": "GET", + "id": "displayvideo.inventorySourceGroups.assignedInventorySources.list", + "parameterOrder": [ + "inventorySourceGroupId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the assignment. If the parent inventory source group is partner-owned, only advertisers to which the parent group is explicitly shared can access the assigned inventory source.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned inventory source fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedInventorySourceId` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "inventorySourceGroupId": { + "description": "Required. The ID of the inventory source group to which these assignments are assigned.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `assignedInventorySourceId` (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: `assignedInventorySourceId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListAssignedInventorySources` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the assignment. If the parent inventory source group is advertiser-owned, the assignment cannot be accessed via a partner.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources", + "response": { + "$ref": "ListAssignedInventorySourcesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + }, + "inventorySources": { + "methods": { + "create": { + "description": "Creates a new inventory source. Returns the newly created inventory source if successful.", + "flatPath": "v4/inventorySources", + "httpMethod": "POST", + "id": "displayvideo.inventorySources.create", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that the request is being made within.", + "format": "int64", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that the request is being made within.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/inventorySources", + "request": { + "$ref": "InventorySource" + }, + "response": { + "$ref": "InventorySource" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "editInventorySourceReadWriteAccessors": { + "description": "Edits read/write accessors of an inventory source. Returns the updated read_write_accessors for the inventory source.", + "flatPath": "v4/inventorySources/{inventorySourcesId}:editInventorySourceReadWriteAccessors", + "httpMethod": "POST", + "id": "displayvideo.inventorySources.editInventorySourceReadWriteAccessors", + "parameterOrder": [ + "inventorySourceId" + ], + "parameters": { + "inventorySourceId": { + "description": "Required. The ID of inventory source to update.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/inventorySources/{+inventorySourceId}:editInventorySourceReadWriteAccessors", + "request": { + "$ref": "EditInventorySourceReadWriteAccessorsRequest" + }, + "response": { + "$ref": "InventorySourceAccessors" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets an inventory source.", + "flatPath": "v4/inventorySources/{inventorySourcesId}", + "httpMethod": "GET", + "id": "displayvideo.inventorySources.get", + "parameterOrder": [ + "inventorySourceId" + ], + "parameters": { + "advertiserId": { + "description": "Optional. The ID of the DV360 advertiser to which the fetched inventory source is permissioned. If the user only has access to the advertiser and not the parent partner, use this field to specify the relevant advertiser.", + "format": "int64", + "location": "query", + "type": "string" + }, + "inventorySourceId": { + "description": "Required. The ID of the inventory source to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "Required. The ID of the DV360 partner to which the fetched inventory source is permissioned.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/inventorySources/{+inventorySourceId}", + "response": { + "$ref": "InventorySource" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists inventory sources that are accessible to the current user. The order is defined by the order_by parameter. If a filter by entity_status is not specified, inventory sources with entity status `ENTITY_STATUS_ARCHIVED` will not be included in the results.", + "flatPath": "v4/inventorySources", + "httpMethod": "GET", + "id": "displayvideo.inventorySources.list", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the inventory source.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by inventory source fields. 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}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `status.entityStatus` * `commitment` * `deliveryMethod` * `rateDetails.rateType` * `exchange` Examples: * All active inventory sources: `status.entityStatus=\"ENTITY_STATUS_ACTIVE\"` * Inventory sources belonging to Google Ad Manager or Rubicon exchanges: `exchange=\"EXCHANGE_GOOGLE_AD_MANAGER\" OR exchange=\"EXCHANGE_RUBICON\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListInventorySources` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the inventory source.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/inventorySources", + "response": { + "$ref": "ListInventorySourcesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing inventory source. Returns the updated inventory source if successful.", + "flatPath": "v4/inventorySources/{inventorySourcesId}", + "httpMethod": "PATCH", + "id": "displayvideo.inventorySources.patch", + "parameterOrder": [ + "inventorySourceId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that the request is being made within.", + "format": "int64", + "location": "query", + "type": "string" + }, + "inventorySourceId": { + "description": "Output only. The unique ID of the inventory source. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that the request is being made within.", + "format": "int64", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v4/inventorySources/{+inventorySourceId}", + "request": { + "$ref": "InventorySource" + }, + "response": { + "$ref": "InventorySource" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "media": { + "methods": { + "download": { + "description": "Downloads media. Download is supported on the URI `/download/{resource_name=**}?alt=media.` **Note**: Download requests will not be successful without including `alt=media` query string.", + "flatPath": "download/{downloadId}", + "httpMethod": "GET", + "id": "displayvideo.media.download", + "parameterOrder": [ + "resourceName" + ], + "parameters": { + "resourceName": { + "description": "Name of the media that is being downloaded. See ReadRequest.resource_name.", + "location": "path", + "pattern": "^.*$", + "required": true, + "type": "string" + } + }, + "path": "download/{+resourceName}", + "response": { + "$ref": "GoogleBytestreamMedia" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/doubleclickbidmanager" + ], + "supportsMediaDownload": true + }, + "upload": { + "description": "Uploads media. Upload is supported on the URI `/upload/media/{resource_name=**}?upload_type=media.` **Note**: Upload requests will not be successful without including `upload_type=media` query string.", + "flatPath": "media/{mediaId}", + "httpMethod": "POST", + "id": "displayvideo.media.upload", + "mediaUpload": { + "accept": [ + "*/*" + ], + "protocols": { + "simple": { + "multipart": true, + "path": "/upload/media/{+resourceName}" + } + } + }, + "parameterOrder": [ + "resourceName" + ], + "parameters": { + "resourceName": { + "description": "Name of the media that is being downloaded. See ReadRequest.resource_name.", + "location": "path", + "pattern": "^.*$", + "required": true, + "type": "string" + } + }, + "path": "media/{+resourceName}", + "request": { + "$ref": "GoogleBytestreamMedia" + }, + "response": { + "$ref": "GoogleBytestreamMedia" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/doubleclickbidmanager" + ], + "supportsMediaUpload": true + } + } + }, + "partners": { + "methods": { + "editAssignedTargetingOptions": { + "description": "Edits targeting options under a single partner. The operation will delete the assigned targeting options provided in BulkEditPartnerAssignedTargetingOptionsRequest.deleteRequests and then create the assigned targeting options provided in BulkEditPartnerAssignedTargetingOptionsRequest.createRequests .", + "flatPath": "v4/partners/{partnersId}:editAssignedTargetingOptions", + "httpMethod": "POST", + "id": "displayvideo.partners.editAssignedTargetingOptions", + "parameterOrder": [ + "partnerId" + ], + "parameters": { + "partnerId": { + "description": "Required. The ID of the partner.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/partners/{+partnerId}:editAssignedTargetingOptions", + "request": { + "$ref": "BulkEditPartnerAssignedTargetingOptionsRequest" + }, + "response": { + "$ref": "BulkEditPartnerAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a partner.", + "flatPath": "v4/partners/{partnersId}", + "httpMethod": "GET", + "id": "displayvideo.partners.get", + "parameterOrder": [ + "partnerId" + ], + "parameters": { + "partnerId": { + "description": "Required. The ID of the partner to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/partners/{+partnerId}", + "response": { + "$ref": "Partner" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists partners that are accessible to the current user. The order is defined by the order_by parameter.", + "flatPath": "v4/partners", + "httpMethod": "GET", + "id": "displayvideo.partners.list", + "parameterOrder": [], + "parameters": { + "filter": { + "description": "Allows filtering by partner fields. 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}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `entityStatus` Examples: * All active partners: `entityStatus=\"ENTITY_STATUS_ACTIVE\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `displayName` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListPartners` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v4/partners", + "response": { + "$ref": "ListPartnersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "channels": { + "methods": { + "create": { + "description": "Creates a new channel. Returns the newly created channel if successful.", + "flatPath": "v4/partners/{partnersId}/channels", + "httpMethod": "POST", + "id": "displayvideo.partners.channels.create", + "parameterOrder": [ + "partnerId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the created channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the created channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/partners/{+partnerId}/channels", + "request": { + "$ref": "Channel" + }, + "response": { + "$ref": "Channel" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a channel for a partner or advertiser.", + "flatPath": "v4/partners/{partnersId}/channels/{channelsId}", + "httpMethod": "GET", + "id": "displayvideo.partners.channels.get", + "parameterOrder": [ + "partnerId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the fetched channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the channel to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the fetched channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/partners/{+partnerId}/channels/{+channelId}", + "response": { + "$ref": "Channel" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists channels for a partner or advertiser.", + "flatPath": "v4/partners/{partnersId}/channels", + "httpMethod": "GET", + "id": "displayvideo.partners.channels.list", + "parameterOrder": [ + "partnerId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the channels.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by channel fields. Supported syntax: * Filter expressions for channel can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All channels for which the display name contains \"google\": `displayName : \"google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` 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`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListChannels` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the channels.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/partners/{+partnerId}/channels", + "response": { + "$ref": "ListChannelsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates a channel. Returns the updated channel if successful.", + "flatPath": "v4/partners/{partnersId}/channels/{channelId}", + "httpMethod": "PATCH", + "id": "displayvideo.partners.channels.patch", + "parameterOrder": [ + "partnerId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the created channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "channelId": { + "description": "Output only. The unique ID of the channel. Assigned by the system.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the created channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v4/partners/{+partnerId}/channels/{channelId}", + "request": { + "$ref": "Channel" + }, + "response": { + "$ref": "Channel" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "sites": { + "methods": { + "bulkEdit": { + "description": "Bulk edits sites under a single channel. The operation will delete the sites provided in BulkEditSitesRequest.deleted_sites and then create the sites provided in BulkEditSitesRequest.created_sites.", + "flatPath": "v4/partners/{partnerId}/channels/{channelsId}/sites:bulkEdit", + "httpMethod": "POST", + "id": "displayvideo.partners.channels.sites.bulkEdit", + "parameterOrder": [ + "partnerId", + "channelId" + ], + "parameters": { + "channelId": { + "description": "Required. The ID of the parent channel to which the sites belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v4/partners/{partnerId}/channels/{+channelId}/sites:bulkEdit", + "request": { + "$ref": "BulkEditSitesRequest" + }, + "response": { + "$ref": "BulkEditSitesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "create": { + "description": "Creates a site in a channel.", + "flatPath": "v4/partners/{partnerId}/channels/{channelsId}/sites", + "httpMethod": "POST", + "id": "displayvideo.partners.channels.sites.create", + "parameterOrder": [ + "partnerId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel in which the site will be created.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v4/partners/{partnerId}/channels/{+channelId}/sites", + "request": { + "$ref": "Site" + }, + "response": { + "$ref": "Site" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes a site from a channel.", + "flatPath": "v4/partners/{partnerId}/channels/{channelsId}/sites/{sitesId}", + "httpMethod": "DELETE", + "id": "displayvideo.partners.channels.sites.delete", + "parameterOrder": [ + "partnerId", + "channelId", + "urlOrAppId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel to which the site belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "urlOrAppId": { + "description": "Required. The URL or app ID of the site to delete.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/partners/{partnerId}/channels/{+channelId}/sites/{+urlOrAppId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists sites in a channel.", + "flatPath": "v4/partners/{partnersId}/channels/{channelsId}/sites", + "httpMethod": "GET", + "id": "displayvideo.partners.channels.sites.list", + "parameterOrder": [ + "partnerId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel to which the requested sites belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by site fields. Supported syntax: * Filter expressions for site retrieval can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID contains \"google\": `urlOrAppId : \"google\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `urlOrAppId` (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: `urlOrAppId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `10000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListSites` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/partners/{+partnerId}/channels/{+channelId}/sites", + "response": { + "$ref": "ListSitesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "replace": { + "description": "Replaces all of the sites under a single channel. The operation will replace the sites under a channel with the sites provided in ReplaceSitesRequest.new_sites. **This method regularly experiences high latency.** We recommend [increasing your default timeout](/display-video/api/guides/best-practices/timeouts#client_library_timeout) to avoid errors.", + "flatPath": "v4/partners/{partnerId}/channels/{channelsId}/sites:replace", + "httpMethod": "POST", + "id": "displayvideo.partners.channels.sites.replace", + "parameterOrder": [ + "partnerId", + "channelId" + ], + "parameters": { + "channelId": { + "description": "Required. The ID of the parent channel whose sites will be replaced.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v4/partners/{partnerId}/channels/{+channelId}/sites:replace", + "request": { + "$ref": "ReplaceSitesRequest" + }, + "response": { + "$ref": "ReplaceSitesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + }, + "targetingTypes": { + "resources": { + "assignedTargetingOptions": { + "methods": { + "create": { + "description": "Assigns a targeting option to a partner. Returns the assigned targeting option if successful.", + "flatPath": "v4/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "POST", + "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.create", + "parameterOrder": [ + "partnerId", + "targetingType" + ], + "parameters": { + "partnerId": { + "description": "Required. The ID of the partner.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "request": { + "$ref": "AssignedTargetingOption" + }, + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes an assigned targeting option from a partner.", + "flatPath": "v4/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "DELETE", + "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.delete", + "parameterOrder": [ + "partnerId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "assignedTargetingOptionId": { + "description": "Required. The ID of the assigned targeting option to delete.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "Required. The ID of the partner.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a single targeting option assigned to a partner.", + "flatPath": "v4/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "GET", + "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.get", + "parameterOrder": [ + "partnerId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "assignedTargetingOptionId": { + "description": "Required. An identifier unique to the targeting type in this partner that identifies the assigned targeting option being requested.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "Required. The ID of the partner.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists the targeting options assigned to a partner.", + "flatPath": "v4/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.list", + "parameterOrder": [ + "partnerId", + "targetingType" + ], + "parameters": { + "filter": { + "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` Examples: * `AssignedTargetingOption` resource with ID 123456: `assignedTargetingOptionId=\"123456\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (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: `assignedTargetingOptionId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListPartnerAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "Required. The ID of the partner.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "response": { + "$ref": "ListPartnerAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + } + } + }, + "sdfdownloadtasks": { + "methods": { + "create": { + "description": "Creates an SDF Download Task. Returns an Operation. An SDF Download Task is a long-running, asynchronous operation. The metadata type of this operation is SdfDownloadTaskMetadata. If the request is successful, the response type of the operation is SdfDownloadTask. The response will not include the download files, which must be retrieved with media.download. The state of operation can be retrieved with sdfdownloadtask.operations.get. Any errors can be found in the error.message. Note that error.details is expected to be empty.", + "flatPath": "v4/sdfdownloadtasks", + "httpMethod": "POST", + "id": "displayvideo.sdfdownloadtasks.create", + "parameterOrder": [], + "parameters": {}, + "path": "v4/sdfdownloadtasks", + "request": { + "$ref": "CreateSdfDownloadTaskRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of an asynchronous SDF download task operation. Clients should poll this method at intervals of 30 seconds.", + "flatPath": "v4/sdfdownloadtasks/operations/{operationsId}", + "httpMethod": "GET", + "id": "displayvideo.sdfdownloadtasks.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^sdfdownloadtasks/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/doubleclickbidmanager" + ] + } + } + } + } + }, + "sdfuploadtasks": { + "resources": { + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of an asynchronous SDF download task operation. Clients should poll this method at intervals of 30 seconds.", + "flatPath": "v4/sdfuploadtasks/operations/{operationsId}", + "httpMethod": "GET", + "id": "displayvideo.sdfuploadtasks.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^sdfuploadtasks/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/doubleclickbidmanager" + ] + } + } + } + } + }, + "targetingTypes": { + "resources": { + "targetingOptions": { + "methods": { + "get": { + "description": "Gets a single targeting option.", + "flatPath": "v4/targetingTypes/{targetingTypesId}/targetingOptions/{targetingOptionsId}", + "httpMethod": "GET", + "id": "displayvideo.targetingTypes.targetingOptions.get", + "parameterOrder": [ + "targetingType", + "targetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The Advertiser this request is being made in the context of.", + "format": "int64", + "location": "query", + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The ID of the of targeting option to retrieve.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. The type of targeting option to retrieve. Accepted values are: * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_OMID`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/targetingTypes/{+targetingType}/targetingOptions/{+targetingOptionId}", + "response": { + "$ref": "TargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists targeting options of a given type.", + "flatPath": "v4/targetingTypes/{targetingTypesId}/targetingOptions", + "httpMethod": "GET", + "id": "displayvideo.targetingTypes.targetingOptions.list", + "parameterOrder": [ + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The Advertiser this request is being made in the context of.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `OR` logical operators. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `carrierAndIspDetails.type` * `geoRegionDetails.geoRegionType` * `targetingOptionId` Examples: * All `GEO REGION` targeting options that belong to sub type `GEO_REGION_TYPE_COUNTRY` or `GEO_REGION_TYPE_STATE`: `geoRegionDetails.geoRegionType=\"GEO_REGION_TYPE_COUNTRY\" OR geoRegionDetails.geoRegionType=\"GEO_REGION_TYPE_STATE\"` * All `CARRIER AND ISP` targeting options that belong to sub type `CARRIER_AND_ISP_TYPE_CARRIER`: `carrierAndIspDetails.type=\"CARRIER_AND_ISP_TYPE_CARRIER\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `targetingOptionId` (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: `targetingOptionId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "targetingType": { + "description": "Required. The type of targeting option to be listed. Accepted values are: * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_OMID`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/targetingTypes/{+targetingType}/targetingOptions", + "response": { + "$ref": "ListTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "search": { + "description": "Searches for targeting options of a given type based on the given search terms.", + "flatPath": "v4/targetingTypes/{targetingTypesId}/targetingOptions:search", + "httpMethod": "POST", + "id": "displayvideo.targetingTypes.targetingOptions.search", + "parameterOrder": [ + "targetingType" + ], + "parameters": { + "targetingType": { + "description": "Required. The type of targeting options to retrieve. Accepted values are: * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_BUSINESS_CHAIN`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/targetingTypes/{+targetingType}/targetingOptions:search", + "request": { + "$ref": "SearchTargetingOptionsRequest" + }, + "response": { + "$ref": "SearchTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + }, + "users": { + "methods": { + "bulkEditAssignedUserRoles": { + "description": "Bulk edits user roles for a user. The operation will delete the assigned user roles provided in BulkEditAssignedUserRolesRequest.deletedAssignedUserRoles and then assign the user roles provided in BulkEditAssignedUserRolesRequest.createdAssignedUserRoles. This method has unique authentication requirements. Read the prerequisites in our [Managing Users guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The \"Try this method\" feature does not work for this method.", + "flatPath": "v4/users/{usersId}:bulkEditAssignedUserRoles", + "httpMethod": "POST", + "id": "displayvideo.users.bulkEditAssignedUserRoles", + "parameterOrder": [ + "userId" + ], + "parameters": { + "userId": { + "description": "Required. The ID of the user to which the assigned user roles belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/users/{+userId}:bulkEditAssignedUserRoles", + "request": { + "$ref": "BulkEditAssignedUserRolesRequest" + }, + "response": { + "$ref": "BulkEditAssignedUserRolesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video-user-management" + ] + }, + "create": { + "description": "Creates a new user. Returns the newly created user if successful. This method has unique authentication requirements. Read the prerequisites in our [Managing Users guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The \"Try this method\" feature does not work for this method.", + "flatPath": "v4/users", + "httpMethod": "POST", + "id": "displayvideo.users.create", + "parameterOrder": [], + "parameters": {}, + "path": "v4/users", + "request": { + "$ref": "User" + }, + "response": { + "$ref": "User" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video-user-management" + ] + }, + "delete": { + "description": "Deletes a user. This method has unique authentication requirements. Read the prerequisites in our [Managing Users guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The \"Try this method\" feature does not work for this method.", + "flatPath": "v4/users/{usersId}", + "httpMethod": "DELETE", + "id": "displayvideo.users.delete", + "parameterOrder": [ + "userId" + ], + "parameters": { + "userId": { + "description": "Required. The ID of the user to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/users/{+userId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video-user-management" + ] + }, + "get": { + "description": "Gets a user. This method has unique authentication requirements. Read the prerequisites in our [Managing Users guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The \"Try this method\" feature does not work for this method.", + "flatPath": "v4/users/{usersId}", + "httpMethod": "GET", + "id": "displayvideo.users.get", + "parameterOrder": [ + "userId" + ], + "parameters": { + "userId": { + "description": "Required. The ID of the user to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/users/{+userId}", + "response": { + "$ref": "User" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video-user-management" + ] + }, + "list": { + "description": "Lists users that are accessible to the current user. If two users have user roles on the same partner or advertiser, they can access each other. This method has unique authentication requirements. Read the prerequisites in our [Managing Users guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The \"Try this method\" feature does not work for this method.", + "flatPath": "v4/users", + "httpMethod": "GET", + "id": "displayvideo.users.list", + "parameterOrder": [], + "parameters": { + "filter": { + "description": "Allows filtering by user fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `AND`. * A restriction has the form of `{field} {operator} {value}`. * The `displayName` and `email` fields must use the `HAS (:)` operator. * The `lastLoginTime` field must use either the `LESS THAN OR EQUAL TO (<=)` or `GREATER THAN OR EQUAL TO (>=)` operator. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `assignedUserRole.advertiserId` * `assignedUserRole.entityType`: This is synthetic field of `AssignedUserRole` used for filtering. Identifies the type of entity to which the user role is assigned. Valid values are `Partner` and `Advertiser`. * `assignedUserRole.parentPartnerId`: This is a synthetic field of `AssignedUserRole` used for filtering. Identifies the parent partner of the entity to which the user role is assigned. * `assignedUserRole.partnerId` * `assignedUserRole.userRole` * `displayName` * `email` * `lastLoginTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * The user with `displayName` containing \"foo\": `displayName:\"foo\"` * The user with `email` containing \"bar\": `email:\"bar\"` * All users with standard user roles: `assignedUserRole.userRole=\"STANDARD\"` * All users with user roles for partner 123: `assignedUserRole.partnerId=\"123\"` * All users with user roles for advertiser 123: `assignedUserRole.advertiserId=\"123\"` * All users with partner level user roles: `entityType=\"PARTNER\"` * All users with user roles for partner 123 and advertisers under partner 123: `parentPartnerId=\"123\"` * All users that last logged in on or after 2023-01-01T00:00:00Z (format of ISO 8601): `lastLoginTime>=\"2023-01-01T00:00:00Z\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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 `ListUsers` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v4/users", + "response": { + "$ref": "ListUsersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video-user-management" + ] + }, + "patch": { + "description": "Updates an existing user. Returns the updated user if successful. This method has unique authentication requirements. Read the prerequisites in our [Managing Users guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The \"Try this method\" feature does not work for this method.", + "flatPath": "v4/users/{usersId}", + "httpMethod": "PATCH", + "id": "displayvideo.users.patch", + "parameterOrder": [ + "userId" + ], + "parameters": { + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "userId": { + "description": "Output only. The unique ID of the user. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/users/{+userId}", + "request": { + "$ref": "User" + }, + "response": { + "$ref": "User" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video-user-management" + ] + } + } + } + }, + "schemas": { + "ActiveViewVideoViewabilityMetricConfig": { + "description": "Configuration for custom Active View video viewability metrics.", + "id": "ActiveViewVideoViewabilityMetricConfig", + "properties": { + "displayName": { + "description": "Required. The display name of the custom metric.", + "type": "string" + }, + "minimumDuration": { + "description": "The minimum visible video duration required (in seconds) in order for an impression to be recorded. You must specify minimum_duration, minimum_quartile or both. If both are specified, an impression meets the metric criteria if either requirement is met (whichever happens first).", + "enum": [ + "VIDEO_DURATION_UNSPECIFIED", + "VIDEO_DURATION_SECONDS_NONE", + "VIDEO_DURATION_SECONDS_0", + "VIDEO_DURATION_SECONDS_1", + "VIDEO_DURATION_SECONDS_2", + "VIDEO_DURATION_SECONDS_3", + "VIDEO_DURATION_SECONDS_4", + "VIDEO_DURATION_SECONDS_5", + "VIDEO_DURATION_SECONDS_6", + "VIDEO_DURATION_SECONDS_7", + "VIDEO_DURATION_SECONDS_8", + "VIDEO_DURATION_SECONDS_9", + "VIDEO_DURATION_SECONDS_10", + "VIDEO_DURATION_SECONDS_11", + "VIDEO_DURATION_SECONDS_12", + "VIDEO_DURATION_SECONDS_13", + "VIDEO_DURATION_SECONDS_14", + "VIDEO_DURATION_SECONDS_15", + "VIDEO_DURATION_SECONDS_30", + "VIDEO_DURATION_SECONDS_45", + "VIDEO_DURATION_SECONDS_60" + ], + "enumDescriptions": [ + "Value is not specified or is unknown in this version.", + "No duration value.", + "0 seconds.", + "1 second.", + "2 seconds.", + "3 seconds.", + "4 seconds.", + "5 seconds.", + "6 seconds.", + "7 seconds.", + "8 seconds.", + "9 seconds.", + "10 seconds.", + "11 seconds.", + "12 seconds.", + "13 seconds.", + "14 seconds.", + "15 seconds.", + "30 seconds.", + "45 seconds.", + "60 seconds." + ], + "type": "string" + }, + "minimumQuartile": { + "description": "The minimum visible video duration required, based on the video quartiles, in order for an impression to be recorded. You must specify minimum_duration, minimum_quartile or both. If both are specified, an impression meets the metric criteria if either requirement is met (whichever happens first).", + "enum": [ + "VIDEO_DURATION_QUARTILE_UNSPECIFIED", + "VIDEO_DURATION_QUARTILE_NONE", + "VIDEO_DURATION_QUARTILE_FIRST", + "VIDEO_DURATION_QUARTILE_SECOND", + "VIDEO_DURATION_QUARTILE_THIRD", + "VIDEO_DURATION_QUARTILE_FOURTH" + ], + "enumDescriptions": [ + "Value is not specified or is unknown in this version.", + "No quartile value.", + "First quartile.", + "Second quartile (midpoint).", + "Third quartile.", + "Fourth quartile (completion)." + ], + "type": "string" + }, + "minimumViewability": { + "description": "Required. The minimum percentage of the video ad's pixels visible on the screen in order for an impression to be recorded.", + "enum": [ + "VIEWABILITY_PERCENT_UNSPECIFIED", + "VIEWABILITY_PERCENT_0", + "VIEWABILITY_PERCENT_25", + "VIEWABILITY_PERCENT_50", + "VIEWABILITY_PERCENT_75", + "VIEWABILITY_PERCENT_100" + ], + "enumDescriptions": [ + "Value is not specified or is unknown in this version.", + "0% viewable.", + "25% viewable.", + "50% viewable.", + "75% viewable.", + "100% viewable." + ], + "type": "string" + }, + "minimumVolume": { + "description": "Required. The minimum percentage of the video ad's volume required in order for an impression to be recorded.", + "enum": [ + "VIDEO_VOLUME_PERCENT_UNSPECIFIED", + "VIDEO_VOLUME_PERCENT_0", + "VIDEO_VOLUME_PERCENT_10" + ], + "enumDescriptions": [ + "Value is not specified or is unknown in this version.", + "0% volume.", + "10% volume." + ], + "type": "string" + } + }, + "type": "object" + }, + "AdGroup": { + "description": "A single ad group associated with a line item.", + "id": "AdGroup", + "properties": { + "adGroupFormat": { + "description": "The format of the ads in the ad group.", + "enum": [ + "AD_GROUP_FORMAT_UNSPECIFIED", + "AD_GROUP_FORMAT_IN_STREAM", + "AD_GROUP_FORMAT_VIDEO_DISCOVERY", + "AD_GROUP_FORMAT_BUMPER", + "AD_GROUP_FORMAT_NON_SKIPPABLE_IN_STREAM", + "AD_GROUP_FORMAT_AUDIO", + "AD_GROUP_FORMAT_RESPONSIVE", + "AD_GROUP_FORMAT_REACH", + "AD_GROUP_FORMAT_MASTHEAD" + ], + "enumDescriptions": [ + "Format value is not specified or is unknown in this version.", + "In-stream ads.", + "In-feed ads.", + "Bumper ads.", + "Non-skippable in-stream ads.", + "Non-skippable in-stream audio ads.", + "Responsive ads.", + "[Effective reach ad groups] (https://support.google.com/displayvideo/answer/9173684), including in-stream and bumper ads.", + "Masthead Ad that is surfaced on the top slot on the YouTube homepage." + ], + "type": "string" + }, + "adGroupId": { + "description": "The unique ID of the ad group. Assigned by the system.", + "format": "int64", + "type": "string" + }, + "advertiserId": { + "description": "The unique ID of the advertiser the ad group belongs to.", + "format": "int64", + "type": "string" + }, + "bidStrategy": { + "$ref": "BiddingStrategy", + "description": "The bidding strategy used by the ad group. Only the youtubeAndPartnersBid field can be used in the bidding strategy." + }, + "displayName": { + "description": "The display name of the ad group. Must be UTF-8 encoded with a maximum size of 255 bytes.", + "type": "string" + }, + "entityStatus": { + "description": "Controls whether or not the ad group can spend its budget and bid on inventory. If the ad group's parent line item is not active, the ad group can't spend its budget even if its own status is `ENTITY_STATUS_ACTIVE`.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "lineItemId": { + "description": "The unique ID of the line item that the ad group belongs to.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "The resource name of the ad group.", + "type": "string" + }, + "productFeedData": { + "$ref": "ProductFeedData", + "description": "The settings of the product feed in this ad group." + }, + "targetingExpansion": { + "$ref": "TargetingExpansionConfig", + "description": "The [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the ad group." + } + }, + "type": "object" + }, + "AdGroupAd": { + "description": "A single ad associated with an ad group.", + "id": "AdGroupAd", + "properties": { + "adGroupAdId": { + "description": "The unique ID of the ad. Assigned by the system.", + "format": "int64", + "type": "string" + }, + "adGroupId": { + "description": "The unique ID of the ad group that the ad belongs to.", + "format": "int64", + "type": "string" + }, + "adUrls": { + "description": "List of URLs used by the ad.", + "items": { + "$ref": "AdUrl" + }, + "type": "array" + }, + "advertiserId": { + "description": "The unique ID of the advertiser the ad belongs to.", + "format": "int64", + "type": "string" + }, + "audioAd": { + "$ref": "AudioAd", + "description": "Details of an [audio ad](//support.google.com/displayvideo/answer/6274216) used for reach marketing objectives." + }, + "bumperAd": { + "$ref": "BumperAd", + "description": "Details of a [non-skippable short video ad](//support.google.com/displayvideo/answer/6274216), equal to or less than 6 seconds, used for reach." + }, + "displayName": { + "description": "The display name of the ad. Must be UTF-8 encoded with a maximum size of 255 bytes.", + "type": "string" + }, + "displayVideoSourceAd": { + "$ref": "DisplayVideoSourceAd", + "description": "Details of an ad sourced from a Display & Video 360 creative." + }, + "entityStatus": { + "description": "The entity status of the ad.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "inStreamAd": { + "$ref": "InStreamAd", + "description": "Details of an [in-stream ad skippable after 5 seconds](//support.google.com/displayvideo/answer/6274216), used for brand awareness or reach marketing objectives." + }, + "mastheadAd": { + "$ref": "MastheadAd", + "description": "Details of an [ad served on the YouTube Home feed](//support.google.com/google-ads/answer/9709826)." + }, + "name": { + "description": "The resource name of the ad.", + "type": "string" + }, + "nonSkippableAd": { + "$ref": "NonSkippableAd", + "description": "Details of a [non-skippable short in-stream video ad](//support.google.com/displayvideo/answer/6274216), between 6 and 15 seconds, used for reach marketing objectives." + }, + "videoDiscoverAd": { + "$ref": "VideoDiscoveryAd", + "description": "Details of an [ad promoting a video](//support.google.com/displayvideo/answer/6274216) that shows in places of discovery." + }, + "videoPerformanceAd": { + "$ref": "VideoPerformanceAd", + "description": "Details of an [ad used in a video action campaign](//support.google.com/google-ads/answer/10147229) to drive actions to the business, service or product." + } + }, + "type": "object" + }, + "AdGroupAssignedTargetingOption": { + "description": "Wrapper object associating an AssignedTargetingOption resource and the ad group it is assigned to.", + "id": "AdGroupAssignedTargetingOption", + "properties": { + "adGroupId": { + "description": "The ID of the ad group the assigned targeting option is assigned to.", + "format": "int64", + "type": "string" + }, + "assignedTargetingOption": { + "$ref": "AssignedTargetingOption", + "description": "The assigned targeting option resource." + } + }, + "type": "object" + }, + "AdUrl": { + "description": "Additional URLs related to the ad, including beacons.", + "id": "AdUrl", + "properties": { + "type": { + "description": "The type of the Ad URL.", + "enum": [ + "AD_URL_TYPE_UNSPECIFIED", + "AD_URL_TYPE_BEACON_IMPRESSION", + "AD_URL_TYPE_BEACON_EXPANDABLE_DCM_IMPRESSION", + "AD_URL_TYPE_BEACON_CLICK", + "AD_URL_TYPE_BEACON_SKIP" + ], + "enumDescriptions": [ + "Unknown or unspecified.", + "A 1x1 tracking pixel to ping when an impression of a creative is delivered.", + "Expandable DCM impression beacon. At serving time, it is expanded to several beacons.", + "Tracking URL to ping when the click event is triggered.", + "Tracking URL to ping when the skip event is triggered." + ], + "type": "string" + }, + "url": { + "description": "The URL string value.", + "type": "string" + } + }, + "type": "object" + }, + "Adloox": { + "description": "Details of Adloox brand safety settings.", + "id": "Adloox", + "properties": { + "adultExplicitSexualContent": { + "description": "Optional. Adult and Explicit Sexual Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "armsAmmunitionContent": { + "description": "Optional. Arms and Ammunition Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "crimeHarmfulActsIndividualsSocietyHumanRightsViolationsContent": { + "description": "Optional. Crime and Harmful Acts Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "deathInjuryMilitaryConflictContent": { + "description": "Optional. Death, Injury, or Military Conflict Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "debatedSensitiveSocialIssueContent": { + "description": "Optional. Debated Sensitive Social Issue Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "displayIabViewability": { + "description": "Optional. IAB viewability threshold for display ads.", + "enum": [ + "DISPLAY_IAB_VIEWABILITY_UNSPECIFIED", + "DISPLAY_IAB_VIEWABILITY_10", + "DISPLAY_IAB_VIEWABILITY_20", + "DISPLAY_IAB_VIEWABILITY_35", + "DISPLAY_IAB_VIEWABILITY_50", + "DISPLAY_IAB_VIEWABILITY_75" + ], + "enumDescriptions": [ + "Default value when not specified or is unknown in this version.", + "10%+ in view (IAB display viewability standard).", + "20%+ in view (IAB display viewability standard).", + "35%+ in view (IAB display viewability standard).", + "50%+ in view (IAB display viewability standard).", + "75%+ in view (IAB display viewability standard)." + ], + "type": "string" + }, + "excludedAdlooxCategories": { + "description": "Adloox categories to exclude.", + "items": { + "enum": [ + "ADLOOX_UNSPECIFIED", + "ADULT_CONTENT_HARD", + "ADULT_CONTENT_SOFT", + "ILLEGAL_CONTENT", + "BORDERLINE_CONTENT", + "DISCRIMINATORY_CONTENT", + "VIOLENT_CONTENT_WEAPONS", + "LOW_VIEWABILITY_DOMAINS", + "FRAUD" + ], + "enumDescriptions": [ + "Default value when a Adloox category is not specified or is unknown in this version.", + "Adult content (hard).", + "Adult content (soft).", + "Illegal content.", + "Borderline content.", + "Discriminatory content.", + "Violent content & weapons.", + "Low viewability domains.", + "Fraud." + ], + "type": "string" + }, + "type": "array" + }, + "excludedFraudIvtMfaCategories": { + "description": "Optional. Adloox's fraud IVT MFA categories to exclude.", + "items": { + "enum": [ + "FRAUD_IVT_MFA_CATEGORY_UNSPECIFIED", + "FRAUD_IVT_MFA" + ], + "enumDescriptions": [ + "Default value when a Adloox Fraud, IVT, MFA category is not specified or is unknown in this version.", + "FRAUD, IVT, MFA." + ], + "type": "string" + }, + "type": "array" + }, + "hateSpeechActsAggressionContent": { + "description": "Optional. Hate Speech and Acts of Aggression Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "illegalDrugsTobaccoEcigarettesVapingAlcoholContent": { + "description": "Optional. Illegal Drugs/Alcohol Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "misinformationContent": { + "description": "Optional. Misinformation Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "obscenityProfanityContent": { + "description": "Optional. Obscenity and Profanity Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "onlinePiracyContent": { + "description": "Optional. Online Piracy Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "spamHarmfulContent": { + "description": "Optional. Spam or Harmful Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "terrorismContent": { + "description": "Optional. Terrorism Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "videoIabViewability": { + "description": "Optional. IAB viewability threshold for video ads.", + "enum": [ + "VIDEO_IAB_VIEWABILITY_UNSPECIFIED", + "VIDEO_IAB_VIEWABILITY_10", + "VIDEO_IAB_VIEWABILITY_20", + "VIDEO_IAB_VIEWABILITY_35", + "VIDEO_IAB_VIEWABILITY_50", + "VIDEO_IAB_VIEWABILITY_75" + ], + "enumDescriptions": [ + "Default value when not specified or is unknown in this version.", + "10%+ in view (IAB video viewability standard).", + "20%+ in view (IAB video viewability standard).", + "35%+ in view (IAB video viewability standard).", + "50%+ in view (IAB video viewability standard).", + "75%+ in view (IAB video viewability standard)." + ], + "type": "string" + } + }, + "type": "object" + }, + "Advertiser": { + "description": "A single advertiser in Display & Video 360 (DV360).", + "id": "Advertiser", + "properties": { + "adServerConfig": { + "$ref": "AdvertiserAdServerConfig", + "description": "Required. Immutable. Ad server related settings of the advertiser." + }, + "advertiserId": { + "description": "Output only. The unique ID of the advertiser. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "billingConfig": { + "$ref": "AdvertiserBillingConfig", + "description": "Required. Billing related settings of the advertiser." + }, + "creativeConfig": { + "$ref": "AdvertiserCreativeConfig", + "description": "Required. Creative related settings of the advertiser." + }, + "dataAccessConfig": { + "$ref": "AdvertiserDataAccessConfig", + "description": "Settings that control how advertiser data may be accessed." + }, + "displayName": { + "description": "Required. The display name of the advertiser. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "entityStatus": { + "description": "Required. Controls whether or not insertion orders and line items of the advertiser can spend their budgets and bid on inventory. * Accepted values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_PAUSED` and `ENTITY_STATUS_SCHEDULED_FOR_DELETION`. * If set to `ENTITY_STATUS_SCHEDULED_FOR_DELETION`, the advertiser will be deleted 30 days from when it was first scheduled for deletion.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "generalConfig": { + "$ref": "AdvertiserGeneralConfig", + "description": "Required. General settings of the advertiser." + }, + "integrationDetails": { + "$ref": "IntegrationDetails", + "description": "Integration details of the advertiser. Only integrationCode is currently applicable to advertiser. Other fields of IntegrationDetails are not supported and will be ignored if provided." + }, + "name": { + "description": "Output only. The resource name of the advertiser.", + "readOnly": true, + "type": "string" + }, + "partnerId": { + "description": "Required. Immutable. The unique ID of the partner that the advertiser belongs to.", + "format": "int64", + "type": "string" + }, + "prismaEnabled": { + "description": "Whether integration with Mediaocean (Prisma) is enabled. By enabling this, you agree to the following: On behalf of my company, I authorize Mediaocean (Prisma) to send budget segment plans to Google, and I authorize Google to send corresponding reporting and invoices from DV360 to Mediaocean for the purposes of budget planning, billing, and reconciliation for this advertiser.", + "type": "boolean" + }, + "servingConfig": { + "$ref": "AdvertiserTargetingConfig", + "description": "Targeting settings related to ad serving of the advertiser." + }, + "updateTime": { + "description": "Output only. The timestamp when the advertiser was last updated. Assigned by the system.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AdvertiserAdServerConfig": { + "description": "Ad server related settings of an advertiser.", + "id": "AdvertiserAdServerConfig", + "properties": { + "cmHybridConfig": { + "$ref": "CmHybridConfig", + "description": "The configuration for advertisers that use both Campaign Manager 360 (CM360) and third-party ad servers." + }, + "thirdPartyOnlyConfig": { + "$ref": "ThirdPartyOnlyConfig", + "description": "The configuration for advertisers that use third-party ad servers only." + } + }, + "type": "object" + }, + "AdvertiserBillingConfig": { + "description": "Billing related settings of an advertiser.", + "id": "AdvertiserBillingConfig", + "properties": { + "billingProfileId": { + "description": "Required. The ID of a billing profile assigned to the advertiser.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "AdvertiserCreativeConfig": { + "description": "Creatives related settings of an advertiser.", + "id": "AdvertiserCreativeConfig", + "properties": { + "dynamicCreativeEnabled": { + "description": "Whether or not the advertiser is enabled for dynamic creatives.", + "type": "boolean" + }, + "iasClientId": { + "description": "An ID for configuring campaign monitoring provided by Integral Ad Service (IAS). The DV360 system will append an IAS \"Campaign Monitor\" tag containing this ID to the creative tag.", + "format": "int64", + "type": "string" + }, + "obaComplianceDisabled": { + "description": "Whether or not to disable Google's About this Ad feature that adds badging (to identify the content as an ad) and transparency information (on interaction with About this Ad) to your ads for Online Behavioral Advertising (OBA) and regulatory requirements. About this Ad gives users greater control over the ads they see and helps you explain why they're seeing your ad. [Learn more](//support.google.com/displayvideo/answer/14315795). If you choose to set this field to `true`, note that ads served through Display & Video 360 must comply to the following: * Be Online Behavioral Advertising (OBA) compliant, as per your contract with Google Marketing Platform. * In the European Economic Area (EEA), include transparency information and a mechanism for users to report illegal content in ads. If using an alternative ad badging, transparency, and reporting solution, you must ensure it includes the required transparency information and illegal content flagging mechanism and that you notify Google of any illegal content reports using the appropriate [form](//support.google.com/legal/troubleshooter/1114905?sjid=6787484030557261960-EU#ts=2981967%2C2982031%2C12980091).", + "type": "boolean" + }, + "videoCreativeDataSharingAuthorized": { + "description": "By setting this field to `true`, you, on behalf of your company, authorize Google to use video creatives associated with this Display & Video 360 advertiser to provide reporting and features related to the advertiser's television campaigns. Applicable only when the advertiser has a CM360 hybrid ad server configuration.", + "type": "boolean" + } + }, + "type": "object" + }, + "AdvertiserDataAccessConfig": { + "description": "Settings that control how advertiser related data may be accessed.", + "id": "AdvertiserDataAccessConfig", + "properties": { + "sdfConfig": { + "$ref": "AdvertiserSdfConfig", + "description": "Structured Data Files (SDF) settings for the advertiser. If not specified, the SDF settings of the parent partner are used." + } + }, + "type": "object" + }, + "AdvertiserGeneralConfig": { + "description": "General settings of an advertiser.", + "id": "AdvertiserGeneralConfig", + "properties": { + "currencyCode": { + "description": "Required. Immutable. Advertiser's currency in ISO 4217 format. Accepted codes and the currencies they represent are: Currency Code : Currency Name * `ARS` : Argentine Peso * `AUD` : Australian Dollar * `BRL` : Brazilian Real * `CAD` : Canadian Dollar * `CHF` : Swiss Franc * `CLP` : Chilean Peso * `CNY` : Chinese Yuan * `COP` : Colombian Peso * `CZK` : Czech Koruna * `DKK` : Danish Krone * `EGP` : Egyption Pound * `EUR` : Euro * `GBP` : British Pound * `HKD` : Hong Kong Dollar * `HUF` : Hungarian Forint * `IDR` : Indonesian Rupiah * `ILS` : Israeli Shekel * `INR` : Indian Rupee * `JPY` : Japanese Yen * `KRW` : South Korean Won * `MXN` : Mexican Pesos * `MYR` : Malaysian Ringgit * `NGN` : Nigerian Naira * `NOK` : Norwegian Krone * `NZD` : New Zealand Dollar * `PEN` : Peruvian Nuevo Sol * `PLN` : Polish Zloty * `RON` : New Romanian Leu * `RUB` : Russian Ruble * `SEK` : Swedish Krona * `TRY` : Turkish Lira * `TWD` : New Taiwan Dollar * `USD` : US Dollar * `ZAR` : South African Rand", + "type": "string" + }, + "domainUrl": { + "description": "Required. The domain URL of the advertiser's primary website. The system will send this information to publishers that require website URL to associate a campaign with an advertiser. Provide a URL with no path or query string, beginning with `http:` or `https:`. For example, http://www.example.com", + "type": "string" + }, + "timeZone": { + "description": "Output only. The standard TZ database name of the advertiser's time zone. For example, `America/New_York`. See more at: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones For CM360 hybrid advertisers, the time zone is the same as that of the associated CM360 account; for third-party only advertisers, the time zone is the same as that of the parent partner.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AdvertiserSdfConfig": { + "description": "Structured Data Files (SDF) settings of an advertiser.", + "id": "AdvertiserSdfConfig", + "properties": { + "overridePartnerSdfConfig": { + "description": "Whether or not this advertiser overrides the SDF configuration of its parent partner. By default, an advertiser inherits the SDF configuration from the parent partner. To override the partner configuration, set this field to `true` and provide the new configuration in sdfConfig.", + "type": "boolean" + }, + "sdfConfig": { + "$ref": "SdfConfig", + "description": "The SDF configuration for the advertiser. * Required when overridePartnerSdfConfig is `true`. * Output only when overridePartnerSdfConfig is `false`." + } + }, + "type": "object" + }, + "AdvertiserTargetingConfig": { + "description": "Targeting settings related to ad serving of an advertiser.", + "id": "AdvertiserTargetingConfig", + "properties": { + "exemptTvFromViewabilityTargeting": { + "description": "Whether or not connected TV devices are exempt from viewability targeting for all video line items under the advertiser.", + "type": "boolean" + } + }, + "type": "object" + }, + "AgeRangeAssignedTargetingOptionDetails": { + "description": "Represents a targetable age range. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_AGE_RANGE`.", + "id": "AgeRangeAssignedTargetingOptionDetails", + "properties": { + "ageRange": { + "description": "Required. 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.", + "enum": [ + "AGE_RANGE_UNSPECIFIED", + "AGE_RANGE_18_24", + "AGE_RANGE_25_34", + "AGE_RANGE_35_44", + "AGE_RANGE_45_54", + "AGE_RANGE_55_64", + "AGE_RANGE_65_PLUS", + "AGE_RANGE_UNKNOWN", + "AGE_RANGE_18_20", + "AGE_RANGE_21_24", + "AGE_RANGE_25_29", + "AGE_RANGE_30_34", + "AGE_RANGE_35_39", + "AGE_RANGE_40_44", + "AGE_RANGE_45_49", + "AGE_RANGE_50_54", + "AGE_RANGE_55_59", + "AGE_RANGE_60_64" + ], + "enumDescriptions": [ + "Default value when age range is not specified in this version. This enum is a placeholder for default value and does not represent a real age range option.", + "The age range of the audience is 18 to 24.", + "The age range of the audience is 25 to 34.", + "The age range of the audience is 35 to 44.", + "The age range of the audience is 45 to 54.", + "The age range of the audience is 55 to 64.", + "The age range of the audience is 65 and up.", + "The age range of the audience is unknown.", + "The age range of the audience is 18 to 20, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 21 to 24, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 25 to 29, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 30 to 34, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 35 to 39, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 40 to 44, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 45 to 49, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 50 to 54, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 55 to 59, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 60 to 64, only supported for the AdGroup of YouTube Programmatic Reservation line item." + ], + "type": "string" + } + }, + "type": "object" + }, + "AgeRangeTargetingOptionDetails": { + "description": "Represents a targetable age range. This will be populated in the age_range_details field when targeting_type is `TARGETING_TYPE_AGE_RANGE`.", + "id": "AgeRangeTargetingOptionDetails", + "properties": { + "ageRange": { + "description": "Output only. The age range of an audience.", + "enum": [ + "AGE_RANGE_UNSPECIFIED", + "AGE_RANGE_18_24", + "AGE_RANGE_25_34", + "AGE_RANGE_35_44", + "AGE_RANGE_45_54", + "AGE_RANGE_55_64", + "AGE_RANGE_65_PLUS", + "AGE_RANGE_UNKNOWN", + "AGE_RANGE_18_20", + "AGE_RANGE_21_24", + "AGE_RANGE_25_29", + "AGE_RANGE_30_34", + "AGE_RANGE_35_39", + "AGE_RANGE_40_44", + "AGE_RANGE_45_49", + "AGE_RANGE_50_54", + "AGE_RANGE_55_59", + "AGE_RANGE_60_64" + ], + "enumDescriptions": [ + "Default value when age range is not specified in this version. This enum is a placeholder for default value and does not represent a real age range option.", + "The age range of the audience is 18 to 24.", + "The age range of the audience is 25 to 34.", + "The age range of the audience is 35 to 44.", + "The age range of the audience is 45 to 54.", + "The age range of the audience is 55 to 64.", + "The age range of the audience is 65 and up.", + "The age range of the audience is unknown.", + "The age range of the audience is 18 to 20, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 21 to 24, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 25 to 29, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 30 to 34, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 35 to 39, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 40 to 44, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 45 to 49, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 50 to 54, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 55 to 59, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 60 to 64, only supported for the AdGroup of YouTube Programmatic Reservation line item." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AlgorithmRules": { + "description": "Rule-based algorithm.", + "id": "AlgorithmRules", + "properties": { + "impressionSignalRuleset": { + "$ref": "AlgorithmRulesRuleset", + "description": "Rules for the impression signals." + } + }, + "type": "object" + }, + "AlgorithmRulesComparisonValue": { + "description": "A value to compare the signal to.", + "id": "AlgorithmRulesComparisonValue", + "properties": { + "boolValue": { + "description": "Boolean value.", + "type": "boolean" + }, + "creativeDimensionValue": { + "$ref": "Dimensions", + "description": "Creative dimension value." + }, + "dayAndTimeValue": { + "$ref": "DayAndTime", + "description": "Day and time value. Only `TIME_ZONE_RESOLUTION_END_USER` is supported." + }, + "deviceTypeValue": { + "description": "Device type value.", + "enum": [ + "RULE_DEVICE_TYPE_UNSPECIFIED", + "RULE_DEVICE_TYPE_COMPUTER", + "RULE_DEVICE_TYPE_CONNECTED_TV", + "RULE_DEVICE_TYPE_SMART_PHONE", + "RULE_DEVICE_TYPE_TABLET", + "RULE_DEVICE_TYPE_CONNECTED_DEVICE", + "RULE_DEVICE_TYPE_SET_TOP_BOX" + ], + "enumDescriptions": [ + "Default value when device type is not specified in this version. This enum is a placeholder for default value and does not represent a real device type option.", + "Computer.", + "Connected TV.", + "Smart phone.", + "Tablet.", + "Connected device.", + "Set top box." + ], + "type": "string" + }, + "doubleValue": { + "description": "Double value.", + "format": "double", + "type": "number" + }, + "environmentValue": { + "description": "Environment value.", + "enum": [ + "ENVIRONMENT_UNSPECIFIED", + "ENVIRONMENT_WEB_OPTIMIZED", + "ENVIRONMENT_WEB_NOT_OPTIMIZED", + "ENVIRONMENT_APP" + ], + "enumDescriptions": [ + "Default value when environment is not specified in this version. This enum is a placeholder for default value and does not represent a real environment option.", + "Target inventory displayed in browsers. This includes inventory that was designed for the device it was viewed on, such as mobile websites viewed on a mobile device. ENVIRONMENT_WEB_NOT_OPTIMIZED, if targeted, should be deleted prior to the deletion of this targeting option.", + "Target inventory displayed in browsers. This includes inventory that was not designed for the device but viewed on it, such as websites optimized for desktop but viewed on a mobile device. ENVIRONMENT_WEB_OPTIMIZED should be targeted prior to the addition of this targeting option.", + "Target inventory displayed in apps." + ], + "type": "string" + }, + "exchangeValue": { + "description": "Exchange value.", + "enum": [ + "EXCHANGE_UNSPECIFIED", + "EXCHANGE_GOOGLE_AD_MANAGER", + "EXCHANGE_APPNEXUS", + "EXCHANGE_BRIGHTROLL", + "EXCHANGE_ADFORM", + "EXCHANGE_ADMETA", + "EXCHANGE_ADMIXER", + "EXCHANGE_ADSMOGO", + "EXCHANGE_ADSWIZZ", + "EXCHANGE_BIDSWITCH", + "EXCHANGE_BRIGHTROLL_DISPLAY", + "EXCHANGE_CADREON", + "EXCHANGE_DAILYMOTION", + "EXCHANGE_FIVE", + "EXCHANGE_FLUCT", + "EXCHANGE_FREEWHEEL", + "EXCHANGE_GENIEE", + "EXCHANGE_GUMGUM", + "EXCHANGE_IMOBILE", + "EXCHANGE_IBILLBOARD", + "EXCHANGE_IMPROVE_DIGITAL", + "EXCHANGE_INDEX", + "EXCHANGE_KARGO", + "EXCHANGE_MICROAD", + "EXCHANGE_MOPUB", + "EXCHANGE_NEND", + "EXCHANGE_ONE_BY_AOL_DISPLAY", + "EXCHANGE_ONE_BY_AOL_MOBILE", + "EXCHANGE_ONE_BY_AOL_VIDEO", + "EXCHANGE_OOYALA", + "EXCHANGE_OPENX", + "EXCHANGE_PERMODO", + "EXCHANGE_PLATFORMONE", + "EXCHANGE_PLATFORMID", + "EXCHANGE_PUBMATIC", + "EXCHANGE_PULSEPOINT", + "EXCHANGE_REVENUEMAX", + "EXCHANGE_RUBICON", + "EXCHANGE_SMARTCLIP", + "EXCHANGE_SMARTRTB", + "EXCHANGE_SMARTSTREAMTV", + "EXCHANGE_SOVRN", + "EXCHANGE_SPOTXCHANGE", + "EXCHANGE_STROER", + "EXCHANGE_TEADSTV", + "EXCHANGE_TELARIA", + "EXCHANGE_TVN", + "EXCHANGE_UNITED", + "EXCHANGE_YIELDLAB", + "EXCHANGE_YIELDMO", + "EXCHANGE_UNRULYX", + "EXCHANGE_OPEN8", + "EXCHANGE_TRITON", + "EXCHANGE_TRIPLELIFT", + "EXCHANGE_TABOOLA", + "EXCHANGE_INMOBI", + "EXCHANGE_SMAATO", + "EXCHANGE_AJA", + "EXCHANGE_SUPERSHIP", + "EXCHANGE_NEXSTAR_DIGITAL", + "EXCHANGE_WAZE", + "EXCHANGE_SOUNDCAST", + "EXCHANGE_SHARETHROUGH", + "EXCHANGE_FYBER", + "EXCHANGE_RED_FOR_PUBLISHERS", + "EXCHANGE_MEDIANET", + "EXCHANGE_TAPJOY", + "EXCHANGE_VISTAR", + "EXCHANGE_DAX", + "EXCHANGE_JCD", + "EXCHANGE_PLACE_EXCHANGE", + "EXCHANGE_APPLOVIN", + "EXCHANGE_CONNATIX", + "EXCHANGE_RESET_DIGITAL", + "EXCHANGE_HIVESTACK", + "EXCHANGE_DRAX", + "EXCHANGE_APPLOVIN_GBID", + "EXCHANGE_FYBER_GBID", + "EXCHANGE_UNITY_GBID", + "EXCHANGE_CHARTBOOST_GBID", + "EXCHANGE_ADMOST_GBID", + "EXCHANGE_TOPON_GBID", + "EXCHANGE_NETFLIX", + "EXCHANGE_CORE", + "EXCHANGE_TUBI" + ], + "enumDescriptions": [ + "Exchange is not specified or is unknown in this version.", + "Google Ad Manager.", + "AppNexus.", + "BrightRoll Exchange for Video from Yahoo!.", + "Adform.", + "Admeta.", + "Admixer.", + "AdsMogo.", + "AdsWizz.", + "BidSwitch.", + "BrightRoll Exchange for Display from Yahoo!.", + "Cadreon.", + "Dailymotion.", + "Five.", + "Fluct.", + "FreeWheel SSP.", + "Geniee.", + "GumGum.", + "i-mobile.", + "iBILLBOARD.", + "Improve Digital.", + "Index Exchange.", + "Kargo.", + "MicroAd.", + "MoPub.", + "Nend.", + "ONE by AOL: Display Market Place.", + "ONE by AOL: Mobile.", + "ONE by AOL: Video.", + "Ooyala.", + "OpenX.", + "Permodo.", + "Platform One.", + "PlatformId.", + "PubMatic.", + "PulsePoint.", + "RevenueMax.", + "Rubicon.", + "SmartClip.", + "SmartRTB+.", + "SmartstreamTv.", + "Sovrn.", + "SpotXchange.", + "Ströer SSP.", + "TeadsTv.", + "Telaria.", + "TVN.", + "United.", + "Yieldlab.", + "Yieldmo.", + "UnrulyX.", + "Open8.", + "Triton.", + "TripleLift.", + "Taboola.", + "InMobi.", + "Smaato.", + "Aja.", + "Supership.", + "Nexstar Digital.", + "Waze.", + "SoundCast.", + "Sharethrough.", + "Fyber.", + "Red For Publishers.", + "Media.net.", + "Tapjoy.", + "Vistar.", + "DAX.", + "JCD.", + "Place Exchange.", + "AppLovin.", + "Connatix.", + "Reset Digital.", + "Hivestack.", + "Drax.", + "AppLovin MAX.", + "DT Fairbid.", + "Unity LevelPlay.", + "Chartboost Mediation.", + "AdMost.", + "TopOn.", + "Netflix.", + "Core.", + "Tubi." + ], + "type": "string" + }, + "int64Value": { + "description": "Integer value.", + "format": "int64", + "type": "string" + }, + "onScreenPositionValue": { + "description": "Ad position value.", + "enum": [ + "ON_SCREEN_POSITION_UNSPECIFIED", + "ON_SCREEN_POSITION_UNKNOWN", + "ON_SCREEN_POSITION_ABOVE_THE_FOLD", + "ON_SCREEN_POSITION_BELOW_THE_FOLD" + ], + "enumDescriptions": [ + "On screen position is not specified in this version. This enum is a place holder for a default value and does not represent a real on screen position.", + "The ad position is unknown on the screen.", + "The ad is located above the fold.", + "The ad is located below the fold." + ], + "type": "string" + }, + "stringValue": { + "description": "String value.", + "type": "string" + } + }, + "type": "object" + }, + "AlgorithmRulesRule": { + "description": "Set of conditions. The return value of the rule is either: * The return value for single met condition or * The defined default return value if no conditions are met.", + "id": "AlgorithmRulesRule", + "properties": { + "conditions": { + "description": "List of conditions in this rule. The criteria among conditions should be mutually exclusive.", + "items": { + "$ref": "AlgorithmRulesRuleCondition" + }, + "type": "array" + }, + "defaultReturnValue": { + "$ref": "AlgorithmRulesSignalValue", + "description": "The default return value applied when none of the conditions are met." + } + }, + "type": "object" + }, + "AlgorithmRulesRuleCondition": { + "description": "Set of signal comparisons. Equivalent of an `if` statement.", + "id": "AlgorithmRulesRuleCondition", + "properties": { + "returnValue": { + "$ref": "AlgorithmRulesSignalValue", + "description": "The value returned if the `signalComparisons` condition evaluates to `TRUE`." + }, + "signalComparisons": { + "description": "List of comparisons that build `if` statement condition. The comparisons are combined into a single condition with `AND` logical operators.", + "items": { + "$ref": "AlgorithmRulesSignalComparison" + }, + "type": "array" + } + }, + "type": "object" + }, + "AlgorithmRulesRuleset": { + "description": "A ruleset consisting of a list of rules and how to aggregate the resulting values.", + "id": "AlgorithmRulesRuleset", + "properties": { + "aggregationType": { + "description": "How to aggregate values of evaluated rules.", + "enum": [ + "RULE_AGGREGATION_TYPE_UNSPECIFIED", + "SUM_OF_VALUES", + "PRODUCT_OF_VALUES", + "MAXIMUM_VALUE" + ], + "enumDescriptions": [ + "Unknown aggregation type.", + "The sum of rule values.", + "The product of rule values.", + "The maximum rule value." + ], + "type": "string" + }, + "maxValue": { + "description": "Maximum value the ruleset can evaluate to.", + "format": "double", + "type": "number" + }, + "rules": { + "description": "List of rules to generate the impression value.", + "items": { + "$ref": "AlgorithmRulesRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "AlgorithmRulesSignal": { + "description": "Signal used to evaluate rules.", + "id": "AlgorithmRulesSignal", + "properties": { + "impressionSignal": { + "description": "Signal based on impressions.", + "enum": [ + "IMPRESSION_SIGNAL_UNSPECIFIED", + "DAY_AND_TIME", + "DEVICE_TYPE", + "AD_POSITION", + "OPERATING_SYSTEM_ID", + "MOBILE_MODEL_ID", + "EXCHANGE", + "ENVIRONMENT", + "COUNTRY_ID", + "CITY_ID", + "BROWSER_ID", + "CREATIVE_DIMENSION" + ], + "enumDescriptions": [ + "Unknown signal.", + "The day of the week and hour of day the impression was made using browser's local time zone. Value is stored in the dayAndTimeValue field of the comparison value.", + "Device type. Value is stored in the deviceTypeValue field of the comparison value.", + "Ad position. Value is stored in the onScreenPositionValue field of the comparison value.", + "The operating system identifier. Value is stored in the int64Value field of the comparison value.", + "The mobile model identifier. Value is stored in the int64Value field of the comparison value.", + "Exchange. Value is stored in the exchangeValue field of the comparison value.", + "Serving environment. Value is stored in the environmentValue field of the comparison value.", + "The country or region identifier. Value is stored in the int64Value field of the comparison value.", + "The city identifier. Value is stored in the int64Value field of the comparison value.", + "The browser identifier. Value is stored in the int64Value field of the comparison value.", + "Creative height and width in pixels. Value is stored in the creativeDimensionValue field of the comparison value." + ], + "type": "string" + } + }, + "type": "object" + }, + "AlgorithmRulesSignalComparison": { + "description": "A single comparison. The comparison compares the `signal` to the `comparisonValue`. The comparison of `siteId==123` is represented with the following field values: * `signal` has an `impressionSignal` of `SITE_ID`. * `comparisonOperator` is set to `EQUAL`. * `comparisonValue` is set to 123.", + "id": "AlgorithmRulesSignalComparison", + "properties": { + "comparisonOperator": { + "description": "Operator used to compare the two values. In the resulting experession, the `signal` will be the first value and the `comparisonValue will be the second.", + "enum": [ + "COMPARISON_OPERATOR_UNSPECIFIED", + "EQUAL", + "GREATER_THAN", + "LESS_THAN", + "GREATER_THAN_OR_EQUAL_TO", + "LESS_THAN_OR_EQUAL_TO" + ], + "enumDescriptions": [ + "Unknown operator.", + "Values are equal.", + "Signal value is greater than the comparison value.", + "Signal value is less than the second.", + "Signal value is greater than or equal to the second.", + "Signal value is less than or equal to the comparison value." + ], + "type": "string" + }, + "comparisonValue": { + "$ref": "AlgorithmRulesComparisonValue", + "description": "Value to compare signal to." + }, + "signal": { + "$ref": "AlgorithmRulesSignal", + "description": "Signal to compare." + } + }, + "type": "object" + }, + "AlgorithmRulesSignalValue": { + "description": "Adjusted value of the signal used for rule evaluation.", + "id": "AlgorithmRulesSignalValue", + "properties": { + "number": { + "description": "Value to use as result.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "AppAssignedTargetingOptionDetails": { + "description": "Details for assigned app targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_APP`.", + "id": "AppAssignedTargetingOptionDetails", + "properties": { + "appId": { + "description": "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`.", + "type": "string" + }, + "appPlatform": { + "description": "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.", + "enum": [ + "APP_PLATFORM_UNSPECIFIED", + "APP_PLATFORM_IOS", + "APP_PLATFORM_ANDROID", + "APP_PLATFORM_ROKU", + "APP_PLATFORM_AMAZON_FIRETV", + "APP_PLATFORM_PLAYSTATION", + "APP_PLATFORM_APPLE_TV", + "APP_PLATFORM_XBOX", + "APP_PLATFORM_SAMSUNG_TV", + "APP_PLATFORM_ANDROID_TV", + "APP_PLATFORM_GENERIC_CTV", + "APP_PLATFORM_LG_TV", + "APP_PLATFORM_VIZIO_TV" + ], + "enumDescriptions": [ + "Default value when app platform is not specified in this version. This enum is a placeholder for default value and does not represent a real platform option.", + "The app platform is iOS.", + "The app platform is Android.", + "The app platform is Roku.", + "The app platform is Amazon FireTV.", + "The app platform is Playstation.", + "The app platform is Apple TV.", + "The app platform is Xbox.", + "The app platform is Samsung TV.", + "The app platform is Android TV.", + "The app platform is a CTV platform that is not explicitly listed elsewhere.", + "The app platform is LG TV.", + "The app platform is VIZIO TV." + ], + "type": "string" + }, + "displayName": { + "description": "Output only. The display name of the app.", + "readOnly": true, + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + } + }, + "type": "object" + }, + "AppCategoryAssignedTargetingOptionDetails": { + "description": "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`.", + "id": "AppCategoryAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the app category.", + "readOnly": true, + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_APP_CATEGORY`.", + "type": "string" + } + }, + "type": "object" + }, + "AppCategoryTargetingOptionDetails": { + "description": "Represents a targetable collection of apps. A collection lets you target dynamic groups of related apps that are maintained by the platform, for example `All Apps/Google Play/Games`. This will be populated in the app_category_details field when targeting_type is `TARGETING_TYPE_APP_CATEGORY`.", + "id": "AppCategoryTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The name of the app collection.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Asset": { + "description": "A single asset.", + "id": "Asset", + "properties": { + "content": { + "description": "The asset content. For uploaded assets, the content is the serving path.", + "type": "string" + }, + "mediaId": { + "description": "Media ID of the uploaded asset. This is a unique identifier for the asset. This ID can be passed to other API calls, e.g. CreateCreative to associate the asset with a creative. The Media ID space updated on **April 5, 2023**. Update media IDs cached before **April 5, 2023** by retrieving the new media ID from associated creative resources or re-uploading the asset.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "AssetAssociation": { + "description": "Asset association for the creative.", + "id": "AssetAssociation", + "properties": { + "asset": { + "$ref": "Asset", + "description": "Optional. The associated asset." + }, + "role": { + "description": "Optional. The role of this asset for the creative.", + "enum": [ + "ASSET_ROLE_UNSPECIFIED", + "ASSET_ROLE_MAIN", + "ASSET_ROLE_BACKUP", + "ASSET_ROLE_POLITE_LOAD", + "ASSET_ROLE_HEADLINE", + "ASSET_ROLE_LONG_HEADLINE", + "ASSET_ROLE_BODY", + "ASSET_ROLE_LONG_BODY", + "ASSET_ROLE_CAPTION_URL", + "ASSET_ROLE_CALL_TO_ACTION", + "ASSET_ROLE_ADVERTISER_NAME", + "ASSET_ROLE_PRICE", + "ASSET_ROLE_ANDROID_APP_ID", + "ASSET_ROLE_IOS_APP_ID", + "ASSET_ROLE_RATING", + "ASSET_ROLE_ICON", + "ASSET_ROLE_COVER_IMAGE", + "ASSET_ROLE_BACKGROUND_COLOR", + "ASSET_ROLE_ACCENT_COLOR", + "ASSET_ROLE_REQUIRE_LOGO", + "ASSET_ROLE_REQUIRE_IMAGE", + "ASSET_ROLE_ENABLE_ASSET_ENHANCEMENTS" + ], + "enumDescriptions": [ + "Asset role is not specified or is unknown in this version.", + "The asset is the main asset of the creative.", + "The asset is a backup asset of the creative.", + "The asset is a polite load asset of the creative.", + "Headline of a native creative. The content must be UTF-8 encoded with a length of no more than 25 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "Long headline of a native creative. The content must be UTF-8 encoded with a length of no more than 50 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "Body text of a native creative. The content must be UTF-8 encoded with a length of no more than 90 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "Long body text of a native creative. The content must be UTF-8 encoded with a length of no more than 150 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "A short, friendly version of the landing page URL to show in the creative. This URL gives people an idea of where they'll arrive after they click on the creative. The content must be UTF-8 encoded with a length of no more than 30 characters. For example, if the landing page URL is 'http://www.example.com/page', the caption URL can be 'example.com'. The protocol (http://) is optional, but the URL can't contain spaces or special characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "The text to use on the call-to-action button of a native creative. The content must be UTF-8 encoded with a length of no more than 15 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "The text that identifies the advertiser or brand name. The content must be UTF-8 encoded with a length of no more than 25 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "The purchase price of your app in the Google play store or iOS app store (for example, $5.99). Note that this value is not automatically synced with the actual value listed in the store. It will always be the one provided when save the creative. The content must be UTF-8 encoded with a length of no more than 15 characters. Assets of this role are read-only.", + "The ID of an Android app in the Google play store. You can find this ID in the App’s Google Play Store URL after ‘id’. For example, in `https://play.google.com/store/apps/details?id=com.company.appname` the identifier is com.company.appname. Assets of this role are read-only.", + "The ID of an iOS app in the Apple app store. This ID number can be found in the Apple App Store URL as the string of numbers directly after \"id\". For example, in `https://apps.apple.com/us/app/gmail-email-by-google/id422689480` the ID is 422689480. Assets of this role are read-only.", + "The rating of an app in the Google play store or iOS app store. Note that this value is not automatically synced with the actual rating in the store. It will always be the one provided when save the creative. Assets of this role are read-only.", + "The icon of a creative. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE`", + "The cover image of a native video creative. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_VIDEO`", + "The main color to use in a creative. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", + "The accent color to use in a creative. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", + "Whether the creative must use a logo asset. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", + "Whether the creative must use an image asset. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", + "Whether asset enhancements can be applied to the creative. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`" + ], + "type": "string" + } + }, + "type": "object" + }, + "AssignedInventorySource": { + "description": "An assignment between a targetable inventory source and an inventory source group.", + "id": "AssignedInventorySource", + "properties": { + "assignedInventorySourceId": { + "description": "Output only. The unique ID of the assigned inventory source. The ID is only unique within a given inventory source group. It may be reused in other contexts.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "inventorySourceId": { + "description": "Required. The ID of the inventory source entity being targeted.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the assigned inventory source.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AssignedLocation": { + "description": "An assignment between a location list and a relevant targeting option.", + "id": "AssignedLocation", + "properties": { + "assignedLocationId": { + "description": "Output only. The unique ID of the assigned location. The ID is only unique within a location list. It may be reused in other contexts.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the assigned location.", + "readOnly": true, + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The ID of the targeting option assigned to the location list.", + "type": "string" + } + }, + "type": "object" + }, + "AssignedTargetingOption": { + "description": "A single assigned targeting option, which defines the state of a targeting option for an entity with targeting settings.", + "id": "AssignedTargetingOption", + "properties": { + "ageRangeDetails": { + "$ref": "AgeRangeAssignedTargetingOptionDetails", + "description": "Age range details. This field will be populated when the targeting_type is `TARGETING_TYPE_AGE_RANGE`." + }, + "appCategoryDetails": { + "$ref": "AppCategoryAssignedTargetingOptionDetails", + "description": "App category details. This field will be populated when the targeting_type is `TARGETING_TYPE_APP_CATEGORY`." + }, + "appDetails": { + "$ref": "AppAssignedTargetingOptionDetails", + "description": "App details. This field will be populated when the targeting_type is `TARGETING_TYPE_APP`." + }, + "assignedTargetingOptionId": { + "description": "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.", + "readOnly": true, + "type": "string" + }, + "assignedTargetingOptionIdAlias": { + "description": "Output only. An alias for the assigned_targeting_option_id. This value can be used in place of `assignedTargetingOptionId` when retrieving or deleting existing targeting. This field will only be supported for all assigned targeting options of the following targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` This field is also supported for line item assigned targeting options of the following targeting types: * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`", + "readOnly": true, + "type": "string" + }, + "audienceGroupDetails": { + "$ref": "AudienceGroupAssignedTargetingOptionDetails", + "description": "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." + }, + "audioContentTypeDetails": { + "$ref": "AudioContentTypeAssignedTargetingOptionDetails", + "description": "Audio content type details. This field will be populated when the targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`." + }, + "authorizedSellerStatusDetails": { + "$ref": "AuthorizedSellerStatusAssignedTargetingOptionDetails", + "description": "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." + }, + "browserDetails": { + "$ref": "BrowserAssignedTargetingOptionDetails", + "description": "Browser details. This field will be populated when the targeting_type is `TARGETING_TYPE_BROWSER`." + }, + "businessChainDetails": { + "$ref": "BusinessChainAssignedTargetingOptionDetails", + "description": "Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`." + }, + "carrierAndIspDetails": { + "$ref": "CarrierAndIspAssignedTargetingOptionDetails", + "description": "Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`." + }, + "categoryDetails": { + "$ref": "CategoryAssignedTargetingOptionDetails", + "description": "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." + }, + "channelDetails": { + "$ref": "ChannelAssignedTargetingOptionDetails", + "description": "Channel details. This field will be populated when the targeting_type is `TARGETING_TYPE_CHANNEL`." + }, + "contentDurationDetails": { + "$ref": "ContentDurationAssignedTargetingOptionDetails", + "description": "Content duration details. This field will be populated when the targeting_type is `TARGETING_TYPE_CONTENT_DURATION`." + }, + "contentGenreDetails": { + "$ref": "ContentGenreAssignedTargetingOptionDetails", + "description": "Content genre details. This field will be populated when the targeting_type is `TARGETING_TYPE_CONTENT_GENRE`." + }, + "contentInstreamPositionDetails": { + "$ref": "ContentInstreamPositionAssignedTargetingOptionDetails", + "description": "Content instream position details. This field will be populated when the targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`." + }, + "contentOutstreamPositionDetails": { + "$ref": "ContentOutstreamPositionAssignedTargetingOptionDetails", + "description": "Content outstream position details. This field will be populated when the targeting_type is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`." + }, + "contentStreamTypeDetails": { + "$ref": "ContentStreamTypeAssignedTargetingOptionDetails", + "description": "Content duration details. This field will be populated when the TargetingType is `TARGETING_TYPE_CONTENT_STREAM_TYPE`." + }, + "dayAndTimeDetails": { + "$ref": "DayAndTimeAssignedTargetingOptionDetails", + "description": "Day and time details. This field will be populated when the targeting_type is `TARGETING_TYPE_DAY_AND_TIME`." + }, + "deviceMakeModelDetails": { + "$ref": "DeviceMakeModelAssignedTargetingOptionDetails", + "description": "Device make and model details. This field will be populated when the targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`." + }, + "deviceTypeDetails": { + "$ref": "DeviceTypeAssignedTargetingOptionDetails", + "description": "Device Type details. This field will be populated when the targeting_type is `TARGETING_TYPE_DEVICE_TYPE`." + }, + "digitalContentLabelExclusionDetails": { + "$ref": "DigitalContentLabelAssignedTargetingOptionDetails", + "description": "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." + }, + "environmentDetails": { + "$ref": "EnvironmentAssignedTargetingOptionDetails", + "description": "Environment details. This field will be populated when the targeting_type is `TARGETING_TYPE_ENVIRONMENT`." + }, + "exchangeDetails": { + "$ref": "ExchangeAssignedTargetingOptionDetails", + "description": "Exchange details. This field will be populated when the targeting_type is `TARGETING_TYPE_EXCHANGE`." + }, + "genderDetails": { + "$ref": "GenderAssignedTargetingOptionDetails", + "description": "Gender details. This field will be populated when the targeting_type is `TARGETING_TYPE_GENDER`." + }, + "geoRegionDetails": { + "$ref": "GeoRegionAssignedTargetingOptionDetails", + "description": "Geographic region details. This field will be populated when the targeting_type is `TARGETING_TYPE_GEO_REGION`." + }, + "householdIncomeDetails": { + "$ref": "HouseholdIncomeAssignedTargetingOptionDetails", + "description": "Household income details. This field will be populated when the targeting_type is `TARGETING_TYPE_HOUSEHOLD_INCOME`." + }, + "inheritance": { + "description": "Output only. The inheritance status of the assigned targeting option.", + "enum": [ + "INHERITANCE_UNSPECIFIED", + "NOT_INHERITED", + "INHERITED_FROM_PARTNER", + "INHERITED_FROM_ADVERTISER" + ], + "enumDescriptions": [ + "The inheritance is unspecified or unknown.", + "The assigned targeting option is not inherited from higher level entity.", + "The assigned targeting option is inherited from partner targeting settings.", + "The assigned targeting option is inherited from advertiser targeting settings." + ], + "readOnly": true, + "type": "string" + }, + "inventorySourceDetails": { + "$ref": "InventorySourceAssignedTargetingOptionDetails", + "description": "Inventory source details. This field will be populated when the targeting_type is `TARGETING_TYPE_INVENTORY_SOURCE`." + }, + "inventorySourceGroupDetails": { + "$ref": "InventorySourceGroupAssignedTargetingOptionDetails", + "description": "Inventory source group details. This field will be populated when the targeting_type is `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`." + }, + "keywordDetails": { + "$ref": "KeywordAssignedTargetingOptionDetails", + "description": "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." + }, + "languageDetails": { + "$ref": "LanguageAssignedTargetingOptionDetails", + "description": "Language details. This field will be populated when the targeting_type is `TARGETING_TYPE_LANGUAGE`." + }, + "name": { + "description": "Output only. The resource name for this assigned targeting option.", + "readOnly": true, + "type": "string" + }, + "nativeContentPositionDetails": { + "$ref": "NativeContentPositionAssignedTargetingOptionDetails", + "description": "Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`." + }, + "negativeKeywordListDetails": { + "$ref": "NegativeKeywordListAssignedTargetingOptionDetails", + "description": "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." + }, + "omidDetails": { + "$ref": "OmidAssignedTargetingOptionDetails", + "description": "Open Measurement enabled inventory details. This field will be populated when the targeting_type is `TARGETING_TYPE_OMID`." + }, + "onScreenPositionDetails": { + "$ref": "OnScreenPositionAssignedTargetingOptionDetails", + "description": "On screen position details. This field will be populated when the targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`." + }, + "operatingSystemDetails": { + "$ref": "OperatingSystemAssignedTargetingOptionDetails", + "description": "Operating system details. This field will be populated when the targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`." + }, + "parentalStatusDetails": { + "$ref": "ParentalStatusAssignedTargetingOptionDetails", + "description": "Parental status details. This field will be populated when the targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`." + }, + "poiDetails": { + "$ref": "PoiAssignedTargetingOptionDetails", + "description": "POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`." + }, + "proximityLocationListDetails": { + "$ref": "ProximityLocationListAssignedTargetingOptionDetails", + "description": "Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`." + }, + "regionalLocationListDetails": { + "$ref": "RegionalLocationListAssignedTargetingOptionDetails", + "description": "Regional location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_REGIONAL_LOCATION_LIST`." + }, + "sensitiveCategoryExclusionDetails": { + "$ref": "SensitiveCategoryAssignedTargetingOptionDetails", + "description": "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." + }, + "sessionPositionDetails": { + "$ref": "SessionPositionAssignedTargetingOptionDetails", + "description": "Session position details. This field will be populated when the targeting_type is `TARGETING_TYPE_SESSION_POSITION`." + }, + "subExchangeDetails": { + "$ref": "SubExchangeAssignedTargetingOptionDetails", + "description": "Sub-exchange details. This field will be populated when the targeting_type is `TARGETING_TYPE_SUB_EXCHANGE`." + }, + "targetingType": { + "description": "Output only. Identifies the type of this assigned targeting option.", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "readOnly": true, + "type": "string" + }, + "thirdPartyVerifierDetails": { + "$ref": "ThirdPartyVerifierAssignedTargetingOptionDetails", + "description": "Third party verification details. This field will be populated when the targeting_type is `TARGETING_TYPE_THIRD_PARTY_VERIFIER`." + }, + "urlDetails": { + "$ref": "UrlAssignedTargetingOptionDetails", + "description": "URL details. This field will be populated when the targeting_type is `TARGETING_TYPE_URL`." + }, + "userRewardedContentDetails": { + "$ref": "UserRewardedContentAssignedTargetingOptionDetails", + "description": "User rewarded content details. This field will be populated when the targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`." + }, + "videoPlayerSizeDetails": { + "$ref": "VideoPlayerSizeAssignedTargetingOptionDetails", + "description": "Video player size details. This field will be populated when the targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`." + }, + "viewabilityDetails": { + "$ref": "ViewabilityAssignedTargetingOptionDetails", + "description": "Viewability details. This field will be populated when the targeting_type is `TARGETING_TYPE_VIEWABILITY`. You can only target one viewability option per resource." + }, + "youtubeChannelDetails": { + "$ref": "YoutubeChannelAssignedTargetingOptionDetails", + "description": "YouTube channel details. This field will be populated when the targeting_type is `TARGETING_TYPE_YOUTUBE_CHANNEL`." + }, + "youtubeVideoDetails": { + "$ref": "YoutubeVideoAssignedTargetingOptionDetails", + "description": "YouTube video details. This field will be populated when the targeting_type is `TARGETING_TYPE_YOUTUBE_VIDEO`." + } + }, + "type": "object" + }, + "AssignedUserRole": { + "description": "A single assigned user role, which defines a user's authorized interaction with a specified partner or advertiser.", + "id": "AssignedUserRole", + "properties": { + "advertiserId": { + "description": "The ID of the advertiser that the assigend user role applies to.", + "format": "int64", + "type": "string" + }, + "assignedUserRoleId": { + "description": "Output only. The ID of the assigned user role.", + "readOnly": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that the assigned user role applies to.", + "format": "int64", + "type": "string" + }, + "userRole": { + "description": "Required. The user role to assign to a user for the entity.", + "enum": [ + "USER_ROLE_UNSPECIFIED", + "ADMIN", + "ADMIN_PARTNER_CLIENT", + "STANDARD", + "STANDARD_PLANNER", + "STANDARD_PLANNER_LIMITED", + "STANDARD_PARTNER_CLIENT", + "READ_ONLY", + "REPORTING_ONLY", + "LIMITED_REPORTING_ONLY", + "CREATIVE", + "CREATIVE_ADMIN" + ], + "enumDescriptions": [ + "Default value when the user role is not specified or is unknown in this version.", + "The user can manage campaigns, creatives, insertion orders, line items, and reports for the entity. They can view and edit billing information, create or modify users, and enable or disable exchanges. This role can only be assigned for a partner entity.", + "The user can manage campaigns, creatives, insertion orders, line items, and reports for the entity. They can create and modify other `ADMIN_PARTNER_CLIENT` users and view billing information. They cannot view revenue models, markups, or any other reseller-sensitive fields. This role can only be assigned for a partner entity.", + "The user can manage campaigns, creatives, insertion orders, line items, and reports for the entity. They cannot create and modify users or view billing information.", + "The user can view all campaigns, creatives, insertion orders, line items, and reports for the entity, including all cost data. They can create and modify planning-related features, including plans and inventory.", + "The user can view all campaigns, creatives, insertion orders, line items, and reports for the entity. They can create or modify planning-related features, including plans and inventory. They have no access to cost data and cannot start, accept, or negotiate deals.", + "The user can manage campaigns, creatives, insertion orders, line items, and reports for the entity. They cannot create or modify other users or view billing information. They cannot view revenue models, markups, or any other reseller-sensitive fields. This role can only be assigned for an advertiser entity.", + "The user can only build reports and view data for the entity.", + "The user can only create and manage reports.", + "The user can only create and manage the following client-safe reports: General, Audience Performance, Cross-Partner, Keyword, Order ID, Category, and Third-Party Data Provider.", + "The user can view media plan information they need to collaborate, but can't view cost-related data or Marketplace.", + "The user can view media plan information they need to collaborate, but can't view cost-related data or Marketplace. In addition, they can add other creative admins or creative users to the entity." + ], + "type": "string" + } + }, + "type": "object" + }, + "AudienceGroupAssignedTargetingOptionDetails": { + "description": "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 used as an INTERSECTION with other groups.", + "id": "AudienceGroupAssignedTargetingOptionDetails", + "properties": { + "excludedFirstPartyAndPartnerAudienceGroup": { + "$ref": "FirstPartyAndPartnerAudienceGroup", + "description": "Optional. The first party and partner audience ids and recencies of the excluded first party and partner audience group. Used for negative targeting. The COMPLEMENT of the UNION of this group and other excluded audience groups is used as an INTERSECTION to any positive audience targeting. All items are logically ‘OR’ of each other." + }, + "excludedGoogleAudienceGroup": { + "$ref": "GoogleAudienceGroup", + "description": "Optional. The Google audience ids of the excluded Google audience group. Used for negative targeting. The COMPLEMENT of the UNION of this group and other excluded audience groups is used as an INTERSECTION to any positive audience targeting. Only contains Affinity, In-market and Installed-apps type Google audiences. All items are logically ‘OR’ of each other." + }, + "includedCombinedAudienceGroup": { + "$ref": "CombinedAudienceGroup", + "description": "Optional. The combined audience ids of the included combined audience group. Contains combined audience ids only." + }, + "includedCustomListGroup": { + "$ref": "CustomListGroup", + "description": "Optional. The custom list ids of the included custom list group. Contains custom list ids only." + }, + "includedFirstPartyAndPartnerAudienceGroups": { + "description": "Optional. The first party and partner audience ids and recencies of included first party and partner audience groups. Each first party and partner audience group contains first party and partner audience ids only. The relation between each first party and partner audience group is INTERSECTION, and the result is UNION'ed with other audience groups. Repeated groups with the same settings will be ignored.", + "items": { + "$ref": "FirstPartyAndPartnerAudienceGroup" + }, + "type": "array" + }, + "includedGoogleAudienceGroup": { + "$ref": "GoogleAudienceGroup", + "description": "Optional. The Google audience ids of the included Google audience group. Contains Google audience ids only." + } + }, + "type": "object" + }, + "AudioAd": { + "description": "Details for an audio ad.", + "id": "AudioAd", + "properties": { + "displayUrl": { + "description": "The webpage address that appears with the ad.", + "type": "string" + }, + "finalUrl": { + "description": "The URL address of the webpage that people reach after they click the ad.", + "type": "string" + }, + "trackingUrl": { + "description": "The URL address loaded in the background for tracking purposes.", + "type": "string" + }, + "video": { + "$ref": "YoutubeVideoDetails", + "description": "The YouTube video of the ad." + } + }, + "type": "object" + }, + "AudioContentTypeAssignedTargetingOptionDetails": { + "description": "Details for audio content type assigned targeting option. This will be populated in the audio_content_type_details field when targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`. Explicitly targeting all options is not supported. Remove all audio content type targeting options to achieve this effect.", + "id": "AudioContentTypeAssignedTargetingOptionDetails", + "properties": { + "audioContentType": { + "description": "Required. The audio content type.", + "enum": [ + "AUDIO_CONTENT_TYPE_UNSPECIFIED", + "AUDIO_CONTENT_TYPE_UNKNOWN", + "AUDIO_CONTENT_TYPE_MUSIC", + "AUDIO_CONTENT_TYPE_BROADCAST", + "AUDIO_CONTENT_TYPE_PODCAST" + ], + "enumDescriptions": [ + "Audio content type is not specified in this version. This enum is a place holder for a default value and does not represent a real content stream type.", + "The audio content type is unknown.", + "The audio content type is music.", + "The audio content type is broadcast.", + "The audio content type is podcast." + ], + "type": "string" + } + }, + "type": "object" + }, + "AudioContentTypeTargetingOptionDetails": { + "description": "Represents a targetable audio content type. This will be populated in the audio_content_type_details field when targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`.", + "id": "AudioContentTypeTargetingOptionDetails", + "properties": { + "audioContentType": { + "description": "Output only. The audio content type.", + "enum": [ + "AUDIO_CONTENT_TYPE_UNSPECIFIED", + "AUDIO_CONTENT_TYPE_UNKNOWN", + "AUDIO_CONTENT_TYPE_MUSIC", + "AUDIO_CONTENT_TYPE_BROADCAST", + "AUDIO_CONTENT_TYPE_PODCAST" + ], + "enumDescriptions": [ + "Audio content type is not specified in this version. This enum is a place holder for a default value and does not represent a real content stream type.", + "The audio content type is unknown.", + "The audio content type is music.", + "The audio content type is broadcast.", + "The audio content type is podcast." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AudioVideoOffset": { + "description": "The length an audio or a video has been played.", + "id": "AudioVideoOffset", + "properties": { + "percentage": { + "description": "Optional. The offset in percentage of the audio or video duration.", + "format": "int64", + "type": "string" + }, + "seconds": { + "description": "Optional. The offset in seconds from the start of the audio or video.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "AuditAdvertiserResponse": { + "description": "Response message for AdvertiserService.AuditAdvertiser.", + "id": "AuditAdvertiserResponse", + "properties": { + "adGroupCriteriaCount": { + "description": "The number of individual targeting options from the following targeting types that are assigned to a line item under this advertiser. These individual targeting options count towards the limit of 4500000 ad group targeting options per advertiser. Qualifying Targeting types: * Channels, URLs, apps, and collections * Demographic * Google Audiences, including Affinity, Custom Affinity, and In-market audiences * Inventory source * Keyword * Mobile app category * User lists * Video targeting * Viewability", + "format": "int64", + "type": "string" + }, + "campaignCriteriaCount": { + "description": "The number of individual targeting options from the following targeting types that are assigned to a line item under this advertiser. These individual targeting options count towards the limit of 900000 campaign targeting options per advertiser. Qualifying Targeting types: * Position * Browser * Connection speed * Day and time * Device and operating system * Digital content label * Sensitive categories * Environment * Geography, including business chains and proximity * ISP * Language * Third-party verification", + "format": "int64", + "type": "string" + }, + "channelsCount": { + "description": "The number of channels created under this advertiser. These channels count towards the limit of 1000 channels per advertiser.", + "format": "int64", + "type": "string" + }, + "negativeKeywordListsCount": { + "description": "The number of negative keyword lists created under this advertiser. These negative keyword lists count towards the limit of 20 negative keyword lists per advertiser.", + "format": "int64", + "type": "string" + }, + "negativelyTargetedChannelsCount": { + "description": "The number of negatively targeted channels created under this advertiser. These negatively targeted channels count towards the limit of 5 negatively targeted channels per advertiser.", + "format": "int64", + "type": "string" + }, + "usedCampaignsCount": { + "description": "The number of ACTIVE and PAUSED campaigns under this advertiser. These campaigns count towards the limit of 9999 campaigns per advertiser.", + "format": "int64", + "type": "string" + }, + "usedInsertionOrdersCount": { + "description": "The number of ACTIVE, PAUSED and DRAFT insertion orders under this advertiser. These insertion orders count towards the limit of 9999 insertion orders per advertiser.", + "format": "int64", + "type": "string" + }, + "usedLineItemsCount": { + "description": "The number of ACTIVE, PAUSED, and DRAFT line items under this advertiser. These line items count towards the limit of 9999 line items per advertiser.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "AuthorizedSellerStatusAssignedTargetingOptionDetails": { + "description": "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`. If a resource does not have an `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` assigned targeting option, it is using the \"Authorized Direct Sellers and Resellers\" option.", + "id": "AuthorizedSellerStatusAssignedTargetingOptionDetails", + "properties": { + "authorizedSellerStatus": { + "description": "Output only. The authorized seller status to target.", + "enum": [ + "AUTHORIZED_SELLER_STATUS_UNSPECIFIED", + "AUTHORIZED_SELLER_STATUS_AUTHORIZED_DIRECT_SELLERS_ONLY", + "AUTHORIZED_SELLER_STATUS_AUTHORIZED_AND_NON_PARTICIPATING_PUBLISHERS" + ], + "enumDescriptions": [ + "Default value when authorized seller status is not specified in this version. This enum is a placeholder for the default value, or \"Authorized Direct Sellers and Resellers\" in the UI.", + "Only authorized sellers that directly own the inventory being monetized, as indicated by a DIRECT declaration in the ads.txt file. This value is equivalent to \"Authorized Direct Sellers\" in the UI.", + "All authorized sellers, including publishers that have not posted an ads.txt file. Display & Video 360 automatically disallows unauthorized sellers. This value is equivalent to \"Authorized and Non-Participating Publishers\" in the UI." + ], + "readOnly": true, + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.", + "type": "string" + } + }, + "type": "object" + }, + "AuthorizedSellerStatusTargetingOptionDetails": { + "description": "Represents a targetable authorized seller status. This will be populated in the authorized_seller_status_details field when targeting_type is `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.", + "id": "AuthorizedSellerStatusTargetingOptionDetails", + "properties": { + "authorizedSellerStatus": { + "description": "Output only. The authorized seller status.", + "enum": [ + "AUTHORIZED_SELLER_STATUS_UNSPECIFIED", + "AUTHORIZED_SELLER_STATUS_AUTHORIZED_DIRECT_SELLERS_ONLY", + "AUTHORIZED_SELLER_STATUS_AUTHORIZED_AND_NON_PARTICIPATING_PUBLISHERS" + ], + "enumDescriptions": [ + "Default value when authorized seller status is not specified in this version. This enum is a placeholder for the default value, or \"Authorized Direct Sellers and Resellers\" in the UI.", + "Only authorized sellers that directly own the inventory being monetized, as indicated by a DIRECT declaration in the ads.txt file. This value is equivalent to \"Authorized Direct Sellers\" in the UI.", + "All authorized sellers, including publishers that have not posted an ads.txt file. Display & Video 360 automatically disallows unauthorized sellers. This value is equivalent to \"Authorized and Non-Participating Publishers\" in the UI." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BiddingStrategy": { + "description": "Settings that control the bid strategy. Bid strategy determines the bid price.", + "id": "BiddingStrategy", + "properties": { + "fixedBid": { + "$ref": "FixedBidStrategy", + "description": "A strategy that uses a fixed bid price." + }, + "maximizeSpendAutoBid": { + "$ref": "MaximizeSpendBidStrategy", + "description": "A strategy that automatically adjusts the bid to optimize to your performance goal while spending the full budget. At insertion order level, the markup_type of line items cannot be set to `PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`. In addition, when performance_goal_type is one of: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` , the line_item_type of the insertion order line items must be either: * `LINE_ITEM_TYPE_DISPLAY_DEFAULT` * `LINE_ITEM_TYPE_VIDEO_DEFAULT` , and when performance_goal_type is either: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` the line_item_type of the insertion order line items must be `LINE_ITEM_TYPE_VIDEO_DEFAULT`." + }, + "performanceGoalAutoBid": { + "$ref": "PerformanceGoalBidStrategy", + "description": "A strategy that automatically adjusts the bid to meet or beat a specified performance goal. It is to be used only for a line item entity." + }, + "youtubeAndPartnersBid": { + "$ref": "YoutubeAndPartnersBiddingStrategy", + "description": "A bid strategy used by YouTube and Partners resources. It can only be used for a YouTube and Partners line item or ad group entity." + } + }, + "type": "object" + }, + "BrowserAssignedTargetingOptionDetails": { + "description": "Details for assigned browser targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BROWSER`.", + "id": "BrowserAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the browser.", + "readOnly": true, + "type": "string" + }, + "negative": { + "description": "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.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.", + "type": "string" + } + }, + "type": "object" + }, + "BrowserTargetingOptionDetails": { + "description": "Represents a targetable browser. This will be populated in the browser_details field when targeting_type is `TARGETING_TYPE_BROWSER`.", + "id": "BrowserTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the browser.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BudgetSummary": { + "description": "Summarized information of an individual campaign budget.", + "id": "BudgetSummary", + "properties": { + "externalBudgetId": { + "description": "Corresponds to the external_budget_id of a campaign budget. If the value is not set in the campaign budget, this field will be empty.", + "type": "string" + }, + "preTaxAmountMicros": { + "description": "The sum of charges made under this budget before taxes, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.", + "format": "int64", + "type": "string" + }, + "prismaCpeCode": { + "$ref": "PrismaCpeCode", + "description": "Relevant client, product, and estimate codes from the Mediaocean Prisma tool. Only applicable for campaign budgets with an external_budget_source of EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN." + }, + "taxAmountMicros": { + "description": "The amount of tax applied to charges under this budget, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.", + "format": "int64", + "type": "string" + }, + "totalAmountMicros": { + "description": "The total sum of charges made under this budget, including tax, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "BulkEditAdvertiserAssignedTargetingOptionsRequest": { + "description": "Request message for BulkEditAdvertiserAssignedTargetingOptions.", + "id": "BulkEditAdvertiserAssignedTargetingOptionsRequest", + "properties": { + "createRequests": { + "description": "The assigned targeting options to create in batch, specified as a list of `CreateAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD`", + "items": { + "$ref": "CreateAssignedTargetingOptionsRequest" + }, + "type": "array" + }, + "deleteRequests": { + "description": "The assigned targeting options to delete in batch, specified as a list of `DeleteAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD`", + "items": { + "$ref": "DeleteAssignedTargetingOptionsRequest" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditAdvertiserAssignedTargetingOptionsResponse": { + "id": "BulkEditAdvertiserAssignedTargetingOptionsResponse", + "properties": { + "createdAssignedTargetingOptions": { + "description": "The list of assigned targeting options that have been successfully created. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditAssignedInventorySourcesRequest": { + "description": "Request message for AssignedInventorySourceService.BulkEdit.", + "id": "BulkEditAssignedInventorySourcesRequest", + "properties": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent inventory source group. The parent partner does not have access to these assigned inventory sources.", + "format": "int64", + "type": "string" + }, + "createdAssignedInventorySources": { + "description": "The assigned inventory sources to create in bulk, specified as a list of AssignedInventorySources.", + "items": { + "$ref": "AssignedInventorySource" + }, + "type": "array" + }, + "deletedAssignedInventorySources": { + "description": "The IDs of the assigned inventory sources to delete in bulk, specified as a list of assigned_inventory_source_ids.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "partnerId": { + "description": "The ID of the partner that owns the inventory source group. Only this partner has write access to these assigned inventory sources.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "BulkEditAssignedInventorySourcesResponse": { + "description": "Response message for AssignedInventorySourceService.BulkEdit.", + "id": "BulkEditAssignedInventorySourcesResponse", + "properties": { + "assignedInventorySources": { + "description": "The list of assigned inventory sources that have been successfully created. This list will be absent if empty.", + "items": { + "$ref": "AssignedInventorySource" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditAssignedLocationsRequest": { + "description": "Request message for AssignedLocationService.BulkEditAssignedLocations.", + "id": "BulkEditAssignedLocationsRequest", + "properties": { + "createdAssignedLocations": { + "description": "The assigned locations to create in bulk, specified as a list of AssignedLocation resources.", + "items": { + "$ref": "AssignedLocation" + }, + "type": "array" + }, + "deletedAssignedLocations": { + "description": "The IDs of the assigned locations to delete in bulk, specified as a list of assignedLocationId values.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditAssignedLocationsResponse": { + "id": "BulkEditAssignedLocationsResponse", + "properties": { + "assignedLocations": { + "description": "The list of assigned locations that have been successfully created. This list will be absent if empty.", + "items": { + "$ref": "AssignedLocation" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditAssignedTargetingOptionsRequest": { + "description": "Request message for BulkEditLineItemsAssignedTargetingOptions.", + "id": "BulkEditAssignedTargetingOptionsRequest", + "properties": { + "createRequests": { + "description": "The assigned targeting options to create in batch, specified as a list of CreateAssignedTargetingOptionsRequest. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`", + "items": { + "$ref": "CreateAssignedTargetingOptionsRequest" + }, + "type": "array" + }, + "deleteRequests": { + "description": "The assigned targeting options to delete in batch, specified as a list of DeleteAssignedTargetingOptionsRequest. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`", + "items": { + "$ref": "DeleteAssignedTargetingOptionsRequest" + }, + "type": "array" + }, + "lineItemIds": { + "description": "Required. The ID of the line items whose targeting is being updated.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditAssignedTargetingOptionsResponse": { + "id": "BulkEditAssignedTargetingOptionsResponse", + "properties": { + "errors": { + "description": "The error information for each line item that failed to update.", + "items": { + "$ref": "Status" + }, + "type": "array" + }, + "failedLineItemIds": { + "description": "Output only. The IDs of the line items which failed.", + "items": { + "format": "int64", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "updatedLineItemIds": { + "description": "Output only. The IDs of the line items which successfully updated.", + "items": { + "format": "int64", + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditAssignedUserRolesRequest": { + "description": "Request message for BulkEditAssignedUserRoles.", + "id": "BulkEditAssignedUserRolesRequest", + "properties": { + "createdAssignedUserRoles": { + "description": "The assigned user roles to create in batch, specified as a list of AssignedUserRoles.", + "items": { + "$ref": "AssignedUserRole" + }, + "type": "array" + }, + "deletedAssignedUserRoles": { + "description": "The assigned user roles to delete in batch, specified as a list of assigned_user_role_ids. The format of assigned_user_role_id is `entityType-entityid`, for example `partner-123`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditAssignedUserRolesResponse": { + "id": "BulkEditAssignedUserRolesResponse", + "properties": { + "createdAssignedUserRoles": { + "description": "The list of assigned user roles that have been successfully created. This list will be absent if empty.", + "items": { + "$ref": "AssignedUserRole" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditNegativeKeywordsRequest": { + "description": "Request message for NegativeKeywordService.BulkEditNegativeKeywords.", + "id": "BulkEditNegativeKeywordsRequest", + "properties": { + "createdNegativeKeywords": { + "description": "The negative keywords to create in batch, specified as a list of NegativeKeywords.", + "items": { + "$ref": "NegativeKeyword" + }, + "type": "array" + }, + "deletedNegativeKeywords": { + "description": "The negative keywords to delete in batch, specified as a list of keyword_values.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditNegativeKeywordsResponse": { + "description": "Response message for NegativeKeywordService.BulkEditNegativeKeywords.", + "id": "BulkEditNegativeKeywordsResponse", + "properties": { + "negativeKeywords": { + "description": "The list of negative keywords that have been successfully created. This list will be absent if empty.", + "items": { + "$ref": "NegativeKeyword" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditPartnerAssignedTargetingOptionsRequest": { + "description": "Request message for BulkEditPartnerAssignedTargetingOptions.", + "id": "BulkEditPartnerAssignedTargetingOptionsRequest", + "properties": { + "createRequests": { + "description": "The assigned targeting options to create in batch, specified as a list of `CreateAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL`", + "items": { + "$ref": "CreateAssignedTargetingOptionsRequest" + }, + "type": "array" + }, + "deleteRequests": { + "description": "The assigned targeting options to delete in batch, specified as a list of `DeleteAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL`", + "items": { + "$ref": "DeleteAssignedTargetingOptionsRequest" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditPartnerAssignedTargetingOptionsResponse": { + "id": "BulkEditPartnerAssignedTargetingOptionsResponse", + "properties": { + "createdAssignedTargetingOptions": { + "description": "The list of assigned targeting options that have been successfully created. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditSitesRequest": { + "description": "Request message for SiteService.BulkEditSites.", + "id": "BulkEditSitesRequest", + "properties": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "type": "string" + }, + "createdSites": { + "description": "The sites to create in batch, specified as a list of Sites.", + "items": { + "$ref": "Site" + }, + "type": "array" + }, + "deletedSites": { + "description": "The sites to delete in batch, specified as a list of site url_or_app_ids.", + "items": { + "type": "string" + }, + "type": "array" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "BulkEditSitesResponse": { + "description": "Response message for SiteService.BulkEditSites.", + "id": "BulkEditSitesResponse", + "properties": { + "sites": { + "description": "The list of sites that have been successfully created. This list will be absent if empty.", + "items": { + "$ref": "Site" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkListAdGroupAssignedTargetingOptionsResponse": { + "id": "BulkListAdGroupAssignedTargetingOptionsResponse", + "properties": { + "adGroupAssignedTargetingOptions": { + "description": "The list of wrapper objects, each providing an assigned targeting option and the ad group it is assigned to. This list will be absent if empty.", + "items": { + "$ref": "AdGroupAssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent call to `BulkListAdGroupAssignedTargetingOptions` to fetch the next page of results. This token will be absent if there are no more AdGroupAssignedTargetingOption resources to return.", + "type": "string" + } + }, + "type": "object" + }, + "BulkListAdvertiserAssignedTargetingOptionsResponse": { + "id": "BulkListAdvertiserAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent BulkListAdvertiserAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.", + "type": "string" + } + }, + "type": "object" + }, + "BulkListAssignedTargetingOptionsResponse": { + "id": "BulkListAssignedTargetingOptionsResponse", + "properties": { + "lineItemAssignedTargetingOptions": { + "description": "The list of wrapper objects, each providing an assigned targeting option and the line item it is assigned to. This list will be absent if empty.", + "items": { + "$ref": "LineItemAssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent call to `BulkListAssignedTargetingOptions` to fetch the next page of results. This token will be absent if there are no more line_item_assigned_targeting_options to return.", + "type": "string" + } + }, + "type": "object" + }, + "BulkUpdateLineItemsRequest": { + "description": "Request message for LineItemService.BulkUpdateLineItems.", + "id": "BulkUpdateLineItemsRequest", + "properties": { + "lineItemIds": { + "description": "Required. IDs of line items to update.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "targetLineItem": { + "$ref": "LineItem", + "description": "Required. A line item object containing the fields to be updated and the new values to assign to all line items specified in line_item_ids.\"" + }, + "updateMask": { + "description": "Required. A field mask identifying which fields to update. Only the following fields are currently supported: * entityStatus", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "BulkUpdateLineItemsResponse": { + "description": "Response message for LineItemService.BulkUpdateLineItems.", + "id": "BulkUpdateLineItemsResponse", + "properties": { + "errors": { + "description": "Errors returned by line items that failed to update.", + "items": { + "$ref": "Status" + }, + "type": "array" + }, + "failedLineItemIds": { + "description": "The IDs of line items that failed to update.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "skippedLineItemIds": { + "description": "The IDs of line items that are skipped for updates. For example, unnecessary mutates that will result in effectively no changes to line items will be skipped and corresponding line item IDs can be tracked here.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "updatedLineItemIds": { + "description": "The IDs of successfully updated line items.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BumperAd": { + "description": "Details for a bumper ad.", + "id": "BumperAd", + "properties": { + "commonInStreamAttribute": { + "$ref": "CommonInStreamAttribute", + "description": "Common ad attributes." + } + }, + "type": "object" + }, + "BusinessChainAssignedTargetingOptionDetails": { + "description": "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`.", + "id": "BusinessChainAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of a business chain, e.g. \"KFC\", \"Chase Bank\".", + "readOnly": true, + "type": "string" + }, + "proximityRadiusAmount": { + "description": "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.", + "format": "double", + "type": "number" + }, + "proximityRadiusUnit": { + "description": "Required. The unit of distance by which the targeting radius is measured.", + "enum": [ + "DISTANCE_UNIT_UNSPECIFIED", + "DISTANCE_UNIT_MILES", + "DISTANCE_UNIT_KILOMETERS" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Miles.", + "Kilometers." + ], + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`. Accepted business chain targeting option IDs can be retrieved using SearchTargetingOptions.", + "type": "string" + } + }, + "type": "object" + }, + "BusinessChainSearchTerms": { + "description": "Search terms for Business Chain targeting options. At least one of the field should be populated.", + "id": "BusinessChainSearchTerms", + "properties": { + "businessChainQuery": { + "description": "The search query for the desired business chain. The query must be the full name of the business, e.g. \"KFC\", \"mercedes-benz\".", + "type": "string" + }, + "regionQuery": { + "description": "The search query for the desired geo region, e.g. \"Seattle\", \"United State\".", + "type": "string" + } + }, + "type": "object" + }, + "BusinessChainTargetingOptionDetails": { + "description": "Represents a targetable business chain within a geo region. This will be populated in the business_chain_details field when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.", + "id": "BusinessChainTargetingOptionDetails", + "properties": { + "businessChain": { + "description": "Output only. The display name of the business chain, e.g. \"KFC\", \"Chase Bank\".", + "readOnly": true, + "type": "string" + }, + "geoRegion": { + "description": "Output only. The display name of the geographic region, e.g. \"Ontario, Canada\".", + "readOnly": true, + "type": "string" + }, + "geoRegionType": { + "description": "Output only. The type of the geographic region.", + "enum": [ + "GEO_REGION_TYPE_UNKNOWN", + "GEO_REGION_TYPE_OTHER", + "GEO_REGION_TYPE_COUNTRY", + "GEO_REGION_TYPE_REGION", + "GEO_REGION_TYPE_TERRITORY", + "GEO_REGION_TYPE_PROVINCE", + "GEO_REGION_TYPE_STATE", + "GEO_REGION_TYPE_PREFECTURE", + "GEO_REGION_TYPE_GOVERNORATE", + "GEO_REGION_TYPE_CANTON", + "GEO_REGION_TYPE_UNION_TERRITORY", + "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY", + "GEO_REGION_TYPE_DMA_REGION", + "GEO_REGION_TYPE_METRO", + "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT", + "GEO_REGION_TYPE_COUNTY", + "GEO_REGION_TYPE_MUNICIPALITY", + "GEO_REGION_TYPE_CITY", + "GEO_REGION_TYPE_POSTAL_CODE", + "GEO_REGION_TYPE_DEPARTMENT", + "GEO_REGION_TYPE_AIRPORT", + "GEO_REGION_TYPE_TV_REGION", + "GEO_REGION_TYPE_OKRUG", + "GEO_REGION_TYPE_BOROUGH", + "GEO_REGION_TYPE_CITY_REGION", + "GEO_REGION_TYPE_ARRONDISSEMENT", + "GEO_REGION_TYPE_NEIGHBORHOOD", + "GEO_REGION_TYPE_UNIVERSITY", + "GEO_REGION_TYPE_DISTRICT", + "GEO_REGION_TYPE_NATIONAL_PARK", + "GEO_REGION_TYPE_BARRIO", + "GEO_REGION_TYPE_SUB_WARD", + "GEO_REGION_TYPE_MUNICIPALITY_DISTRICT", + "GEO_REGION_TYPE_SUB_DISTRICT", + "GEO_REGION_TYPE_QUARTER", + "GEO_REGION_TYPE_DIVISION", + "GEO_REGION_TYPE_COMMUNE", + "GEO_REGION_TYPE_COLLOQUIAL_AREA" + ], + "enumDescriptions": [ + "The geographic region type is unknown.", + "The geographic region type is other.", + "The geographic region is a country.", + "The geographic region type is region.", + "The geographic region is a territory.", + "The geographic region is a province.", + "The geographic region is a state.", + "The geographic region is a prefecture.", + "The geographic region is a governorate.", + "The geographic region is a canton.", + "The geographic region is a union territory.", + "The geographic region is an autonomous community.", + "The geographic region is a designated market area (DMA) region.", + "The geographic region type is metro.", + "The geographic region is a congressional district.", + "The geographic region is a county.", + "The geographic region is a municipality.", + "The geographic region is a city.", + "The geographic region targeting type is postal code.", + "The geographic region targeting type is department.", + "The geographic region is an airport.", + "The geographic region is a TV region.", + "The geographic region is an okrug.", + "The geographic region is a borough.", + "The geographic region is a city region.", + "The geographic region is an arrondissement.", + "The geographic region is a neighborhood.", + "The geographic region is a university.", + "The geographic region is a district.", + "The geographic region is a national park.", + "The geographic region is a barrio.", + "The geographic region is a sub ward.", + "The geographic region is a municipality district.", + "The geographic region is a sub district.", + "The geographic region is a quarter.", + "The geographic region is a division.", + "The geographic region is a commune.", + "The geographic region is a colloquial area." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Campaign": { + "description": "A single campaign.", + "id": "Campaign", + "properties": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the campaign belongs to.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "campaignBudgets": { + "description": "The list of budgets available to this campaign. If this field is not set, the campaign uses an unlimited budget.", + "items": { + "$ref": "CampaignBudget" + }, + "type": "array" + }, + "campaignFlight": { + "$ref": "CampaignFlight", + "description": "Required. The planned spend and duration of the campaign." + }, + "campaignGoal": { + "$ref": "CampaignGoal", + "description": "Required. The goal of the campaign." + }, + "campaignId": { + "description": "Output only. The unique ID of the campaign. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the campaign. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "entityStatus": { + "description": "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.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "frequencyCap": { + "$ref": "FrequencyCap", + "description": "Required. The frequency cap setting of the campaign. *Warning*: On **February 28, 2025**, frequency cap time periods greater than 30 days will no longer be accepted. [Read more about this announced change](/display-video/api/deprecations#features.lifetime_frequency_cap)" + }, + "name": { + "description": "Output only. The resource name of the campaign.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the campaign was last updated. Assigned by the system.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CampaignBudget": { + "description": "Settings that control how the campaign budget is allocated.", + "id": "CampaignBudget", + "properties": { + "budgetAmountMicros": { + "description": "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.", + "format": "int64", + "type": "string" + }, + "budgetId": { + "description": "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.", + "format": "int64", + "type": "string" + }, + "budgetUnit": { + "description": "Required. Immutable. Specifies whether the budget is measured in currency or impressions.", + "enum": [ + "BUDGET_UNIT_UNSPECIFIED", + "BUDGET_UNIT_CURRENCY", + "BUDGET_UNIT_IMPRESSIONS" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Budgeting in currency amounts.", + "Budgeting in impression amounts." + ], + "type": "string" + }, + "dateRange": { + "$ref": "DateRange", + "description": "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." + }, + "displayName": { + "description": "Required. The display name of the budget. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "externalBudgetId": { + "description": "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.", + "type": "string" + }, + "externalBudgetSource": { + "description": "Required. The external source of the budget.", + "enum": [ + "EXTERNAL_BUDGET_SOURCE_UNSPECIFIED", + "EXTERNAL_BUDGET_SOURCE_NONE", + "EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN" + ], + "enumDescriptions": [ + "External budget source value is not specified or unknown in this version.", + "Budget has no external source.", + "Budget source is Mediaocean." + ], + "type": "string" + }, + "invoiceGroupingId": { + "description": "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.", + "type": "string" + }, + "prismaConfig": { + "$ref": "PrismaConfig", + "description": "Additional metadata for use by the Mediaocean Prisma tool. Required for Mediaocean budgets. Only applicable to prisma_enabled advertisers." + } + }, + "type": "object" + }, + "CampaignFlight": { + "description": "Settings that track the planned spend and duration of a campaign.", + "id": "CampaignFlight", + "properties": { + "plannedDates": { + "$ref": "DateRange", + "description": "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." + }, + "plannedSpendAmountMicros": { + "description": "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.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CampaignGoal": { + "description": "Settings that control the goal of a campaign.", + "id": "CampaignGoal", + "properties": { + "campaignGoalType": { + "description": "Required. The type of the campaign goal.", + "enum": [ + "CAMPAIGN_GOAL_TYPE_UNSPECIFIED", + "CAMPAIGN_GOAL_TYPE_APP_INSTALL", + "CAMPAIGN_GOAL_TYPE_BRAND_AWARENESS", + "CAMPAIGN_GOAL_TYPE_OFFLINE_ACTION", + "CAMPAIGN_GOAL_TYPE_ONLINE_ACTION" + ], + "enumDescriptions": [ + "Goal value is not specified or unknown in this version.", + "Drive app installs or engagements.", + "Raise awareness of a brand or product.", + "Drive offline or in-store sales.", + "Drive online action or visits." + ], + "type": "string" + }, + "performanceGoal": { + "$ref": "PerformanceGoal", + "description": "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`" + } + }, + "type": "object" + }, + "CarrierAndIspAssignedTargetingOptionDetails": { + "description": "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`.", + "id": "CarrierAndIspAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the carrier or ISP.", + "readOnly": true, + "type": "string" + }, + "negative": { + "description": "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.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_CARRIER_AND_ISP`.", + "type": "string" + } + }, + "type": "object" + }, + "CarrierAndIspTargetingOptionDetails": { + "description": "Represents a targetable carrier or ISP. This will be populated in the carrier_and_isp_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.", + "id": "CarrierAndIspTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the carrier or ISP.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. The type indicating if it's carrier or ISP.", + "enum": [ + "CARRIER_AND_ISP_TYPE_UNSPECIFIED", + "CARRIER_AND_ISP_TYPE_ISP", + "CARRIER_AND_ISP_TYPE_CARRIER" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Indicates this targeting resource refers to an ISP.", + "Indicates this targeting resource refers to a mobile carrier." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CategoryAssignedTargetingOptionDetails": { + "description": "Assigned category targeting option details. This will be populated in the category_details field when targeting_type is `TARGETING_TYPE_CATEGORY`.", + "id": "CategoryAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the category.", + "readOnly": true, + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_CATEGORY`.", + "type": "string" + } + }, + "type": "object" + }, + "CategoryTargetingOptionDetails": { + "description": "Represents a targetable category. This will be populated in the category_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_CATEGORY`.", + "id": "CategoryTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the category.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Channel": { + "description": "A single channel. Channels are custom groups of related websites and apps.", + "id": "Channel", + "properties": { + "advertiserId": { + "description": "The ID of the advertiser that owns the channel.", + "format": "int64", + "type": "string" + }, + "channelId": { + "description": "Output only. The unique ID of the channel. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the channel. Must be UTF-8 encoded with a maximum length of 240 bytes.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the channel.", + "readOnly": true, + "type": "string" + }, + "negativelyTargetedLineItemCount": { + "description": "Output only. Number of line items that are directly targeting this channel negatively.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the channel.", + "format": "int64", + "type": "string" + }, + "positivelyTargetedLineItemCount": { + "description": "Output only. Number of line items that are directly targeting this channel positively.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ChannelAssignedTargetingOptionDetails": { + "description": "Details for assigned channel targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CHANNEL`.", + "id": "ChannelAssignedTargetingOptionDetails", + "properties": { + "channelId": { + "description": "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.", + "format": "int64", + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted. For advertiser level assigned targeting option, this field must be true.", + "type": "boolean" + } + }, + "type": "object" + }, + "CmHybridConfig": { + "description": "Settings for advertisers that use both Campaign Manager 360 (CM360) and third-party ad servers.", + "id": "CmHybridConfig", + "properties": { + "cmAccountId": { + "description": "Required. Immutable. Account ID of the CM360 Floodlight configuration linked with the DV360 advertiser.", + "format": "int64", + "type": "string" + }, + "cmAdvertiserIds": { + "description": "Output only. The set of CM360 Advertiser IDs sharing the CM360 Floodlight configuration.", + "items": { + "format": "int64", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "cmFloodlightConfigId": { + "description": "Required. Immutable. ID of the CM360 Floodlight configuration linked with the DV360 advertiser.", + "format": "int64", + "type": "string" + }, + "cmFloodlightLinkingAuthorized": { + "description": "Required. Immutable. By setting this field to `true`, you, on behalf of your company, authorize the sharing of information from the given Floodlight configuration to this Display & Video 360 advertiser.", + "type": "boolean" + }, + "cmSyncableSiteIds": { + "description": "A list of CM360 sites whose placements will be synced to DV360 as creatives. If absent or empty in CreateAdvertiser method, the system will automatically create a CM360 site. Removing sites from this list may cause DV360 creatives synced from CM360 to be deleted. At least one site must be specified.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "dv360ToCmCostReportingEnabled": { + "description": "Whether or not to report DV360 cost to CM360.", + "type": "boolean" + }, + "dv360ToCmDataSharingEnabled": { + "description": "Whether or not to include DV360 data in CM360 data transfer reports.", + "type": "boolean" + } + }, + "type": "object" + }, + "CmTrackingAd": { + "description": "A Campaign Manager 360 tracking ad.", + "id": "CmTrackingAd", + "properties": { + "cmAdId": { + "description": "Optional. The ad ID of the campaign manager 360 tracking Ad.", + "format": "int64", + "type": "string" + }, + "cmCreativeId": { + "description": "Optional. The creative ID of the campaign manager 360 tracking Ad.", + "format": "int64", + "type": "string" + }, + "cmPlacementId": { + "description": "Optional. The placement ID of the campaign manager 360 tracking Ad.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CombinedAudience": { + "description": "Describes a combined audience resource.", + "id": "CombinedAudience", + "properties": { + "combinedAudienceId": { + "description": "Output only. The unique ID of the combined audience. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. The display name of the combined audience. .", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the combined audience.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CombinedAudienceGroup": { + "description": "Details of combined audience group. All combined audience targeting settings are logically ‘OR’ of each other.", + "id": "CombinedAudienceGroup", + "properties": { + "settings": { + "description": "Required. All combined audience targeting settings in combined audience group. Repeated settings with the same id will be ignored. The number of combined audience settings should be no more than five, error will be thrown otherwise.", + "items": { + "$ref": "CombinedAudienceTargetingSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "CombinedAudienceTargetingSetting": { + "description": "Details of combined audience targeting setting.", + "id": "CombinedAudienceTargetingSetting", + "properties": { + "combinedAudienceId": { + "description": "Required. Combined audience id of combined audience targeting setting. This id is combined_audience_id.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CommonInStreamAttribute": { + "description": "Common attributes for in-stream, non-skippable and bumper ads.", + "id": "CommonInStreamAttribute", + "properties": { + "actionButtonLabel": { + "description": "The text on the call-to-action button.", + "type": "string" + }, + "actionHeadline": { + "description": "The headline of the call-to-action banner.", + "type": "string" + }, + "companionBanner": { + "$ref": "ImageAsset", + "description": "The image which shows next to the video ad." + }, + "displayUrl": { + "description": "The webpage address that appears with the ad.", + "type": "string" + }, + "finalUrl": { + "description": "The URL address of the webpage that people reach after they click the ad.", + "type": "string" + }, + "trackingUrl": { + "description": "The URL address loaded in the background for tracking purposes.", + "type": "string" + }, + "video": { + "$ref": "YoutubeVideoDetails", + "description": "The YouTube video of the ad." + } + }, + "type": "object" + }, + "Consent": { + "description": "User consent status.", + "id": "Consent", + "properties": { + "adPersonalization": { + "description": "Represents consent for ad personalization.", + "enum": [ + "CONSENT_STATUS_UNSPECIFIED", + "CONSENT_STATUS_GRANTED", + "CONSENT_STATUS_DENIED" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Consent is granted.", + "Consent is denied." + ], + "type": "string" + }, + "adUserData": { + "description": "Represents consent for ad user data.", + "enum": [ + "CONSENT_STATUS_UNSPECIFIED", + "CONSENT_STATUS_GRANTED", + "CONSENT_STATUS_DENIED" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Consent is granted.", + "Consent is denied." + ], + "type": "string" + } + }, + "type": "object" + }, + "ContactInfo": { + "description": "Contact information defining a Customer Match audience member.", + "id": "ContactInfo", + "properties": { + "countryCode": { + "description": "Country code of the member. Must also be set with the following fields: * hashed_first_name * hashed_last_name * zip_codes", + "type": "string" + }, + "hashedEmails": { + "description": "A list of SHA256 hashed email of the member. Before hashing, remove all whitespace and make sure the string is all lowercase.", + "items": { + "type": "string" + }, + "type": "array" + }, + "hashedFirstName": { + "description": "SHA256 hashed first name of the member. Before hashing, remove all whitespace and make sure the string is all lowercase. Must also be set with the following fields: * country_code * hashed_last_name * zip_codes", + "type": "string" + }, + "hashedLastName": { + "description": "SHA256 hashed last name of the member. Before hashing, remove all whitespace and make sure the string is all lowercase. Must also be set with the following fields: * country_code * hashed_first_name * zip_codes", + "type": "string" + }, + "hashedPhoneNumbers": { + "description": "A list of SHA256 hashed phone numbers of the member. Before hashing, all phone numbers must be formatted using the [E.164 format](//en.wikipedia.org/wiki/E.164) and include the country calling code.", + "items": { + "type": "string" + }, + "type": "array" + }, + "zipCodes": { + "description": "A list of zip codes of the member. Must also be set with the following fields: * country_code * hashed_first_name * hashed_last_name", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ContactInfoList": { + "description": "Wrapper message for a list of contact information defining Customer Match audience members.", + "id": "ContactInfoList", + "properties": { + "consent": { + "$ref": "Consent", + "description": "Input only. The consent setting for the users in contact_infos. Leaving this field unset indicates that consent is not specified. If ad_user_data or ad_personalization fields are set to `CONSENT_STATUS_DENIED`, the request will return an error." + }, + "contactInfos": { + "description": "A list of ContactInfo objects defining Customer Match audience members. The size of members after splitting the contact_infos mustn't be greater than 500,000.", + "items": { + "$ref": "ContactInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "ContentDurationAssignedTargetingOptionDetails": { + "description": "Details for content duration assigned targeting option. This will be populated in the content_duration_details field when targeting_type is `TARGETING_TYPE_CONTENT_DURATION`. Explicitly targeting all options is not supported. Remove all content duration targeting options to achieve this effect.", + "id": "ContentDurationAssignedTargetingOptionDetails", + "properties": { + "contentDuration": { + "description": "Output only. The content duration.", + "enum": [ + "CONTENT_DURATION_UNSPECIFIED", + "CONTENT_DURATION_UNKNOWN", + "CONTENT_DURATION_0_TO_1_MIN", + "CONTENT_DURATION_1_TO_5_MIN", + "CONTENT_DURATION_5_TO_15_MIN", + "CONTENT_DURATION_15_TO_30_MIN", + "CONTENT_DURATION_30_TO_60_MIN", + "CONTENT_DURATION_OVER_60_MIN" + ], + "enumDescriptions": [ + "Content duration is not specified in this version. This enum is a place holder for a default value and does not represent a real content duration.", + "The content duration is unknown.", + "Content is 0-1 minute long.", + "Content is 1-5 minutes long.", + "Content is 5-15 minutes long.", + "Content is 15-30 minutes long.", + "Content is 30-60 minutes long.", + "Content is over 60 minutes long." + ], + "readOnly": true, + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_CONTENT_DURATION`.", + "type": "string" + } + }, + "type": "object" + }, + "ContentDurationTargetingOptionDetails": { + "description": "Represents a targetable content duration. This will be populated in the content_duration_details field when targeting_type is `TARGETING_TYPE_CONTENT_DURATION`.", + "id": "ContentDurationTargetingOptionDetails", + "properties": { + "contentDuration": { + "description": "Output only. The content duration.", + "enum": [ + "CONTENT_DURATION_UNSPECIFIED", + "CONTENT_DURATION_UNKNOWN", + "CONTENT_DURATION_0_TO_1_MIN", + "CONTENT_DURATION_1_TO_5_MIN", + "CONTENT_DURATION_5_TO_15_MIN", + "CONTENT_DURATION_15_TO_30_MIN", + "CONTENT_DURATION_30_TO_60_MIN", + "CONTENT_DURATION_OVER_60_MIN" + ], + "enumDescriptions": [ + "Content duration is not specified in this version. This enum is a place holder for a default value and does not represent a real content duration.", + "The content duration is unknown.", + "Content is 0-1 minute long.", + "Content is 1-5 minutes long.", + "Content is 5-15 minutes long.", + "Content is 15-30 minutes long.", + "Content is 30-60 minutes long.", + "Content is over 60 minutes long." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ContentGenreAssignedTargetingOptionDetails": { + "description": "Details for content genre assigned targeting option. This will be populated in the content_genre_details field when targeting_type is `TARGETING_TYPE_CONTENT_GENRE`. Explicitly targeting all options is not supported. Remove all content genre targeting options to achieve this effect.", + "id": "ContentGenreAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the content genre.", + "readOnly": true, + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_CONTENT_GENRE`.", + "type": "string" + } + }, + "type": "object" + }, + "ContentGenreTargetingOptionDetails": { + "description": "Represents a targetable content genre. This will be populated in the content_genre_details field when targeting_type is `TARGETING_TYPE_CONTENT_GENRE`.", + "id": "ContentGenreTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the content genre", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ContentInstreamPositionAssignedTargetingOptionDetails": { + "description": "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`.", + "id": "ContentInstreamPositionAssignedTargetingOptionDetails", + "properties": { + "adType": { + "description": "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`.", + "enum": [ + "AD_TYPE_UNSPECIFIED", + "AD_TYPE_DISPLAY", + "AD_TYPE_VIDEO", + "AD_TYPE_AUDIO" + ], + "enumDescriptions": [ + "Ad type is not specified or is unknown in this version.", + "Display creatives, e.g. image and HTML5.", + "Video creatives, e.g. video ads that play during streaming content in video players.", + "Audio creatives, e.g. audio ads that play during audio content." + ], + "readOnly": true, + "type": "string" + }, + "contentInstreamPosition": { + "description": "Required. The content instream position for video or audio ads.", + "enum": [ + "CONTENT_INSTREAM_POSITION_UNSPECIFIED", + "CONTENT_INSTREAM_POSITION_PRE_ROLL", + "CONTENT_INSTREAM_POSITION_MID_ROLL", + "CONTENT_INSTREAM_POSITION_POST_ROLL", + "CONTENT_INSTREAM_POSITION_UNKNOWN" + ], + "enumDescriptions": [ + "Content instream position is not specified in this version. This enum is a place holder for a default value and does not represent a real in stream ad position.", + "Ads that play before streaming content.", + "Ads that play between the beginning and end of streaming content.", + "Ads that play at the end of streaming content.", + "Ads instream position is unknown." + ], + "type": "string" + } + }, + "type": "object" + }, + "ContentInstreamPositionTargetingOptionDetails": { + "description": "Represents a targetable content instream position, which could be used by video and audio ads. This will be populated in the content_instream_position_details field when targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.", + "id": "ContentInstreamPositionTargetingOptionDetails", + "properties": { + "contentInstreamPosition": { + "description": "Output only. The content instream position.", + "enum": [ + "CONTENT_INSTREAM_POSITION_UNSPECIFIED", + "CONTENT_INSTREAM_POSITION_PRE_ROLL", + "CONTENT_INSTREAM_POSITION_MID_ROLL", + "CONTENT_INSTREAM_POSITION_POST_ROLL", + "CONTENT_INSTREAM_POSITION_UNKNOWN" + ], + "enumDescriptions": [ + "Content instream position is not specified in this version. This enum is a place holder for a default value and does not represent a real in stream ad position.", + "Ads that play before streaming content.", + "Ads that play between the beginning and end of streaming content.", + "Ads that play at the end of streaming content.", + "Ads instream position is unknown." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ContentOutstreamPositionAssignedTargetingOptionDetails": { + "description": "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`.", + "id": "ContentOutstreamPositionAssignedTargetingOptionDetails", + "properties": { + "adType": { + "description": "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`.", + "enum": [ + "AD_TYPE_UNSPECIFIED", + "AD_TYPE_DISPLAY", + "AD_TYPE_VIDEO", + "AD_TYPE_AUDIO" + ], + "enumDescriptions": [ + "Ad type is not specified or is unknown in this version.", + "Display creatives, e.g. image and HTML5.", + "Video creatives, e.g. video ads that play during streaming content in video players.", + "Audio creatives, e.g. audio ads that play during audio content." + ], + "readOnly": true, + "type": "string" + }, + "contentOutstreamPosition": { + "description": "Required. The content outstream position.", + "enum": [ + "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED", + "CONTENT_OUTSTREAM_POSITION_UNKNOWN", + "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE", + "CONTENT_OUTSTREAM_POSITION_IN_BANNER", + "CONTENT_OUTSTREAM_POSITION_IN_FEED", + "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" + ], + "enumDescriptions": [ + "Content outstream position is not specified in this version. This enum is a place holder for a default value and does not represent a real content outstream position.", + "The ad position is unknown in the content outstream.", + "Ads that appear between the paragraphs of your pages.", + "Ads that display on the top and the sides of a page.", + "Ads that appear in a scrollable stream of content. A feed is typically editorial (e.g. a list of articles or news) or listings (e.g. a list of products or services).", + "Ads shown before or between content loads." + ], + "type": "string" + } + }, + "type": "object" + }, + "ContentOutstreamPositionTargetingOptionDetails": { + "description": "Represents a targetable content outstream position, which could be used by display and video ads. This will be populated in the content_outstream_position_details field when targeting_type is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.", + "id": "ContentOutstreamPositionTargetingOptionDetails", + "properties": { + "contentOutstreamPosition": { + "description": "Output only. The content outstream position.", + "enum": [ + "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED", + "CONTENT_OUTSTREAM_POSITION_UNKNOWN", + "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE", + "CONTENT_OUTSTREAM_POSITION_IN_BANNER", + "CONTENT_OUTSTREAM_POSITION_IN_FEED", + "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" + ], + "enumDescriptions": [ + "Content outstream position is not specified in this version. This enum is a place holder for a default value and does not represent a real content outstream position.", + "The ad position is unknown in the content outstream.", + "Ads that appear between the paragraphs of your pages.", + "Ads that display on the top and the sides of a page.", + "Ads that appear in a scrollable stream of content. A feed is typically editorial (e.g. a list of articles or news) or listings (e.g. a list of products or services).", + "Ads shown before or between content loads." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ContentStreamTypeAssignedTargetingOptionDetails": { + "description": "Details for content stream type assigned targeting option. This will be populated in the content_stream_type_details field when targeting_type is `TARGETING_TYPE_CONTENT_STREAM_TYPE`. Explicitly targeting all options is not supported. Remove all content stream type targeting options to achieve this effect.", + "id": "ContentStreamTypeAssignedTargetingOptionDetails", + "properties": { + "contentStreamType": { + "description": "Output only. The content stream type.", + "enum": [ + "CONTENT_STREAM_TYPE_UNSPECIFIED", + "CONTENT_LIVE_STREAM", + "CONTENT_ON_DEMAND" + ], + "enumDescriptions": [ + "Content stream type is not specified in this version. This enum is a place holder for a default value and does not represent a real content stream type.", + "The content is being live-streamed.", + "The content is viewed on-demand." + ], + "readOnly": true, + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_CONTENT_STREAM_TYPE`.", + "type": "string" + } + }, + "type": "object" + }, + "ContentStreamTypeTargetingOptionDetails": { + "description": "Represents a targetable content stream type. This will be populated in the content_stream_type_details field when targeting_type is `TARGETING_TYPE_CONTENT_STREAM_TYPE`.", + "id": "ContentStreamTypeTargetingOptionDetails", + "properties": { + "contentStreamType": { + "description": "Output only. The content stream type.", + "enum": [ + "CONTENT_STREAM_TYPE_UNSPECIFIED", + "CONTENT_LIVE_STREAM", + "CONTENT_ON_DEMAND" + ], + "enumDescriptions": [ + "Content stream type is not specified in this version. This enum is a place holder for a default value and does not represent a real content stream type.", + "The content is being live-streamed.", + "The content is viewed on-demand." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ConversionCountingConfig": { + "description": "Settings that control how conversions are counted. All post-click conversions will be counted. A percentage value can be set for post-view conversions counting.", + "id": "ConversionCountingConfig", + "properties": { + "floodlightActivityConfigs": { + "description": "The Floodlight activity configs used to track conversions. The number of conversions counted is the sum of all of the conversions counted by all of the Floodlight activity IDs specified in this field. *Warning*: Starting **April 1, 2025**, this field will no longer be writable while a custom bidding algorithm is assigned to the line item. If you set this field and assign a custom bidding algorithm in the same request, the floodlight activities must match the ones used by the custom bidding algorithm. [Read more about this announced change](/display-video/api/deprecations#features.custom_bidding_floodlight).", + "items": { + "$ref": "TrackingFloodlightActivityConfig" + }, + "type": "array" + }, + "postViewCountPercentageMillis": { + "description": "The percentage of post-view conversions to count, in millis (1/1000 of a percent). Must be between 0 and 100000 inclusive. For example, to track 50% of the post-click conversions, set a value of 50000.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CounterEvent": { + "description": "Counter event of the creative.", + "id": "CounterEvent", + "properties": { + "name": { + "description": "Required. The name of the counter event.", + "type": "string" + }, + "reportingName": { + "description": "Required. The name used to identify this counter event in reports.", + "type": "string" + } + }, + "type": "object" + }, + "CreateAssetRequest": { + "description": "A request message for CreateAsset.", + "id": "CreateAssetRequest", + "properties": { + "filename": { + "description": "Required. The filename of the asset, including the file extension. The filename must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + } + }, + "type": "object" + }, + "CreateAssetResponse": { + "description": "A response message for CreateAsset.", + "id": "CreateAssetResponse", + "properties": { + "asset": { + "$ref": "Asset", + "description": "The uploaded asset, if successful." + } + }, + "type": "object" + }, + "CreateAssignedTargetingOptionsRequest": { + "description": "A request listing which assigned targeting options of a given targeting type should be created and added.", + "id": "CreateAssignedTargetingOptionsRequest", + "properties": { + "assignedTargetingOptions": { + "description": "Required. The assigned targeting options to create and add.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option.", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "type": "string" + } + }, + "type": "object" + }, + "CreateSdfDownloadTaskRequest": { + "description": "Request message for [SdfDownloadTaskService.CreateSdfDownloadTask].", + "id": "CreateSdfDownloadTaskRequest", + "properties": { + "advertiserId": { + "description": "The ID of the advertiser to download SDF for.", + "format": "int64", + "type": "string" + }, + "idFilter": { + "$ref": "IdFilter", + "description": "Filters on entities by their entity IDs." + }, + "inventorySourceFilter": { + "$ref": "InventorySourceFilter", + "description": "Filters on Inventory Sources by their IDs." + }, + "parentEntityFilter": { + "$ref": "ParentEntityFilter", + "description": "Filters on selected file types. The entities in each file are filtered by a chosen set of filter entities. The filter entities must be the same type as, or a parent type of, the selected file types." + }, + "partnerId": { + "description": "The ID of the partner to download SDF for.", + "format": "int64", + "type": "string" + }, + "version": { + "description": "Required. The SDF version of the downloaded file. If set to `SDF_VERSION_UNSPECIFIED`, this will default to the version specified by the advertiser or partner identified by `root_id`. An advertiser inherits its SDF version from its partner unless configured otherwise.", + "enum": [ + "SDF_VERSION_UNSPECIFIED", + "SDF_VERSION_3_1", + "SDF_VERSION_4", + "SDF_VERSION_4_1", + "SDF_VERSION_4_2", + "SDF_VERSION_5", + "SDF_VERSION_5_1", + "SDF_VERSION_5_2", + "SDF_VERSION_5_3", + "SDF_VERSION_5_4", + "SDF_VERSION_5_5", + "SDF_VERSION_6", + "SDF_VERSION_7", + "SDF_VERSION_7_1", + "SDF_VERSION_8" + ], + "enumDeprecated": [ + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false + ], + "enumDescriptions": [ + "SDF version value is not specified or is unknown in this version.", + "SDF version 3.1", + "SDF version 4", + "SDF version 4.1", + "SDF version 4.2", + "SDF version 5.", + "SDF version 5.1", + "SDF version 5.2", + "SDF version 5.3", + "SDF version 5.4", + "SDF version 5.5", + "SDF version 6", + "SDF version 7. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.", + "SDF version 7.1. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.", + "SDF version 8. Read the [v8 migration guide](/display-video/api/structured-data-file/v8-migration-guide) before migrating to this version." + ], + "type": "string" + } + }, + "type": "object" + }, + "Creative": { + "description": "A single Creative.", + "id": "Creative", + "properties": { + "additionalDimensions": { + "description": "Optional. Additional dimensions. Applicable when creative_type is one of: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE` * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_LIGHTBOX` * `CREATIVE_TYPE_PUBLISHER_HOSTED` If this field is specified, width_pixels and height_pixels are both required and must be greater than or equal to 0.", + "items": { + "$ref": "Dimensions" + }, + "type": "array" + }, + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the creative belongs to.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "appendedTag": { + "description": "Optional. Third-party HTML tracking tag to be appended to the creative tag.", + "type": "string" + }, + "assets": { + "description": "Required. Assets associated to this creative.", + "items": { + "$ref": "AssetAssociation" + }, + "type": "array" + }, + "cmPlacementId": { + "description": "Output only. The unique ID of the Campaign Manager 360 placement associated with the creative. This field is only applicable for creatives that are synced from Campaign Manager.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "cmTrackingAd": { + "$ref": "CmTrackingAd", + "description": "Optional. The Campaign Manager 360 tracking ad associated with the creative. Optional for the following creative_type when created by an advertiser that uses both Campaign Manager 360 and third-party ad serving: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` Output only for other cases." + }, + "companionCreativeIds": { + "description": "Optional. The IDs of companion creatives for a video creative. You can assign existing display creatives (with image or HTML5 assets) to serve surrounding the publisher's video player. Companions display around the video player while the video is playing and remain after the video has completed. Creatives contain additional dimensions can not be companion creatives. This field is only supported for the following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO`", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "counterEvents": { + "description": "Optional. Counter events for a rich media creative. Counters track the number of times that a user interacts with any part of a rich media creative in a specified way (mouse-overs, mouse-outs, clicks, taps, data loading, keyboard entries, etc.). Any event that can be captured in the creative can be recorded as a counter. Leave it empty or unset for creatives containing image assets only.", + "items": { + "$ref": "CounterEvent" + }, + "type": "array" + }, + "createTime": { + "description": "Output only. The timestamp when the creative was created. Assigned by the system.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "creativeAttributes": { + "description": "Output only. A list of attributes of the creative that is generated by the system.", + "items": { + "enum": [ + "CREATIVE_ATTRIBUTE_UNSPECIFIED", + "CREATIVE_ATTRIBUTE_VAST", + "CREATIVE_ATTRIBUTE_VPAID_LINEAR", + "CREATIVE_ATTRIBUTE_VPAID_NON_LINEAR" + ], + "enumDescriptions": [ + "The creative attribute is not specified or is unknown in this version.", + "The creative is a VAST creative.", + "The creative is a linear VPAID creative.", + "The creative is a non-linear VPAID creative." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "creativeId": { + "description": "Output only. The unique ID of the creative. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "creativeType": { + "description": "Required. Immutable. The type of the creative.", + "enum": [ + "CREATIVE_TYPE_UNSPECIFIED", + "CREATIVE_TYPE_STANDARD", + "CREATIVE_TYPE_EXPANDABLE", + "CREATIVE_TYPE_VIDEO", + "CREATIVE_TYPE_NATIVE", + "CREATIVE_TYPE_TEMPLATED_APP_INSTALL", + "CREATIVE_TYPE_NATIVE_SITE_SQUARE", + "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL", + "CREATIVE_TYPE_LIGHTBOX", + "CREATIVE_TYPE_NATIVE_APP_INSTALL", + "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE", + "CREATIVE_TYPE_AUDIO", + "CREATIVE_TYPE_PUBLISHER_HOSTED", + "CREATIVE_TYPE_NATIVE_VIDEO", + "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO", + "CREATIVE_TYPE_ASSET_BASED_CREATIVE" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Standard display creative. Create and update methods are supported for this creative type if the hosting_source is one of the following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY`", + "Expandable creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_THIRD_PARTY`", + "Video creative. Create and update methods are supported for this creative type if the hosting_source is one of the following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY`", + "Native creative rendered by publishers with assets from advertiser. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", + "Templated app install mobile creative (banner). Create and update methods are **not** supported for this creative type.", + "Square native creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", + "Interstitial creative including both display and video. Create and update methods are **not** supported for this creative type.", + "Responsive and expandable Lightbox creative. Create and update methods are **not** supported for this creative type.", + "Native app install creative. Create and update methods are **not** supported for this creative type.", + "Square native app install creative. Create and update methods are **not** supported for this creative type.", + "Audio creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", + "Publisher hosted creative. Create and update methods are **not** supported for this creative type.", + "Native video creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", + "Templated app install mobile video creative. Create and update methods are **not** supported for this creative type.", + "Asset-based creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`." + ], + "type": "string" + }, + "dimensions": { + "$ref": "Dimensions", + "description": "Required. Primary dimensions of the creative. Applicable to all creative types. The value of width_pixels and height_pixels defaults to `0` when creative_type is one of: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE_VIDEO`" + }, + "displayName": { + "description": "Required. The display name of the creative. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "dynamic": { + "description": "Output only. Indicates whether the creative is dynamic.", + "readOnly": true, + "type": "boolean" + }, + "entityStatus": { + "description": "Required. Controls whether or not the creative can serve. Accepted values are: * `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED` * `ENTITY_STATUS_PAUSED`", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "exitEvents": { + "description": "Required. Exit events for this creative. An exit (also known as a click tag) is any area in your creative that someone can click or tap to open an advertiser's landing page. Every creative must include at least one exit. You can add an exit to your creative in any of the following ways: * Use Google Web Designer's tap area. * Define a JavaScript variable called \"clickTag\". * Use the Enabler (Enabler.exit()) to track exits in rich media formats.", + "items": { + "$ref": "ExitEvent" + }, + "type": "array" + }, + "expandOnHover": { + "description": "Optional. Indicates the creative will automatically expand on hover. Optional and only valid for third-party expandable creatives. Third-party expandable creatives are creatives with following hosting source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_EXPANDABLE`", + "type": "boolean" + }, + "expandingDirection": { + "description": "Optional. Specifies the expanding direction of the creative. Required and only valid for third-party expandable creatives. Third-party expandable creatives are creatives with following hosting source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_EXPANDABLE`", + "enum": [ + "EXPANDING_DIRECTION_UNSPECIFIED", + "EXPANDING_DIRECTION_NONE", + "EXPANDING_DIRECTION_UP", + "EXPANDING_DIRECTION_DOWN", + "EXPANDING_DIRECTION_LEFT", + "EXPANDING_DIRECTION_RIGHT", + "EXPANDING_DIRECTION_UP_AND_LEFT", + "EXPANDING_DIRECTION_UP_AND_RIGHT", + "EXPANDING_DIRECTION_DOWN_AND_LEFT", + "EXPANDING_DIRECTION_DOWN_AND_RIGHT", + "EXPANDING_DIRECTION_UP_OR_DOWN", + "EXPANDING_DIRECTION_LEFT_OR_RIGHT", + "EXPANDING_DIRECTION_ANY_DIAGONAL" + ], + "enumDescriptions": [ + "The expanding direction is not specified.", + "Does not expand in any direction.", + "Expands up.", + "Expands down.", + "Expands left.", + "Expands right.", + "Expands up and to the left side.", + "Expands up and to the right side.", + "Expands down and to the left side.", + "Expands down and to the right side.", + "Expands either up or down.", + "Expands to either the left or the right side.", + "Can expand in any diagonal direction." + ], + "type": "string" + }, + "hostingSource": { + "description": "Required. Indicates where the creative is hosted.", + "enum": [ + "HOSTING_SOURCE_UNSPECIFIED", + "HOSTING_SOURCE_CM", + "HOSTING_SOURCE_THIRD_PARTY", + "HOSTING_SOURCE_HOSTED", + "HOSTING_SOURCE_RICH_MEDIA" + ], + "enumDescriptions": [ + "Hosting source is not specified or is unknown in this version.", + "A creative synced from Campaign Manager 360. Create and update methods are **not** supported for this hosting type.", + "A creative hosted by a third-party ad server (3PAS). Create and update methods are supported for this hosting type if the creative_type is one of the following: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_EXPANDABLE` * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_VIDEO`", + "A creative created in DV360 and hosted by Campaign Manager 360. Create and update methods are supported for this hosting type if the creative_type is one of the following: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_VIDEO`", + "A rich media creative created in Studio and hosted by Campaign Manager 360. Create and update methods are **not** supported for this hosting type." + ], + "type": "string" + }, + "html5Video": { + "description": "Output only. Indicates the third-party VAST tag creative requires HTML5 Video support. Output only and only valid for third-party VAST tag creatives. Third-party VAST tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_VIDEO`", + "readOnly": true, + "type": "boolean" + }, + "iasCampaignMonitoring": { + "description": "Optional. Indicates whether Integral Ad Science (IAS) campaign monitoring is enabled. To enable this for the creative, make sure the Advertiser.creative_config.ias_client_id has been set to your IAS client ID.", + "type": "boolean" + }, + "integrationCode": { + "description": "Optional. ID information used to link this creative to an external system. Must be UTF-8 encoded with a length of no more than 10,000 characters.", + "type": "string" + }, + "jsTrackerUrl": { + "description": "Optional. JavaScript measurement URL from supported third-party verification providers (ComScore, DoubleVerify, IAS, Moat). HTML script tags are not supported. This field is only writeable in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "type": "string" + }, + "lineItemIds": { + "description": "Output only. The IDs of the line items this creative is associated with. To associate a creative to a line item, use LineItem.creative_ids instead.", + "items": { + "format": "int64", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "mediaDuration": { + "description": "Output only. Media duration of the creative. Applicable when creative_type is one of: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE_VIDEO` * `CREATIVE_TYPE_PUBLISHER_HOSTED`", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "mp3Audio": { + "description": "Output only. Indicates the third-party audio creative supports MP3. Output only and only valid for third-party audio creatives. Third-party audio creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_AUDIO`", + "readOnly": true, + "type": "boolean" + }, + "name": { + "description": "Output only. The resource name of the creative.", + "readOnly": true, + "type": "string" + }, + "notes": { + "description": "Optional. User notes for this creative. Must be UTF-8 encoded with a length of no more than 20,000 characters.", + "type": "string" + }, + "obaIcon": { + "$ref": "ObaIcon", + "description": "Optional. Specifies the OBA icon for a video creative. This field is only supported in the following creative_type: * `CREATIVE_TYPE_VIDEO`" + }, + "oggAudio": { + "description": "Output only. Indicates the third-party audio creative supports OGG. Output only and only valid for third-party audio creatives. Third-party audio creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_AUDIO`", + "readOnly": true, + "type": "boolean" + }, + "progressOffset": { + "$ref": "AudioVideoOffset", + "description": "Optional. Amount of time to play the video before counting a view. This field is required when skippable is true. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`" + }, + "requireHtml5": { + "description": "Optional. Indicates that the creative relies on HTML5 to render properly. Optional and only valid for third-party tag creatives. Third-party tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE`", + "type": "boolean" + }, + "requireMraid": { + "description": "Optional. Indicates that the creative requires MRAID (Mobile Rich Media Ad Interface Definitions system). Set this if the creative relies on mobile gestures for interactivity, such as swiping or tapping. Optional and only valid for third-party tag creatives. Third-party tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE`", + "type": "boolean" + }, + "requirePingForAttribution": { + "description": "Optional. Indicates that the creative will wait for a return ping for attribution. Only valid when using a Campaign Manager 360 tracking ad with a third-party ad server parameter and the ${DC_DBM_TOKEN} macro. Optional and only valid for third-party tag creatives or third-party VAST tag creatives. Third-party tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE` Third-party VAST tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO`", + "type": "boolean" + }, + "reviewStatus": { + "$ref": "ReviewStatusInfo", + "description": "Output only. The current status of the creative review process.", + "readOnly": true + }, + "skipOffset": { + "$ref": "AudioVideoOffset", + "description": "Optional. Amount of time to play the video before the skip button appears. This field is required when skippable is true. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`" + }, + "skippable": { + "description": "Optional. Whether the user can choose to skip a video creative. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`", + "type": "boolean" + }, + "thirdPartyTag": { + "description": "Optional. The original third-party tag used for the creative. Required and only valid for third-party tag creatives. Third-party tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE`", + "type": "string" + }, + "thirdPartyUrls": { + "description": "Optional. Tracking URLs from third parties to track interactions with a video creative. This field is only supported for the following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "items": { + "$ref": "ThirdPartyUrl" + }, + "type": "array" + }, + "timerEvents": { + "description": "Optional. Timer custom events for a rich media creative. Timers track the time during which a user views and interacts with a specified part of a rich media creative. A creative can have multiple timer events, each timed independently. Leave it empty or unset for creatives containing image assets only.", + "items": { + "$ref": "TimerEvent" + }, + "type": "array" + }, + "trackerUrls": { + "description": "Optional. Tracking URLs for analytics providers or third-party ad technology vendors. The URLs must start with `https:` (except on inventory that doesn't require SSL compliance). If using macros in your URL, use only macros supported by Display & Video 360. Standard URLs only, no IMG or SCRIPT tags. This field is only writeable in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "items": { + "type": "string" + }, + "type": "array" + }, + "transcodes": { + "description": "Output only. Audio/Video transcodes. Display & Video 360 transcodes the main asset into a number of alternative versions that use different file formats or have different properties (resolution, audio bit rate, and video bit rate), each designed for specific video players or bandwidths. These transcodes give a publisher's system more options to choose from for each impression on your video and ensures that the appropriate file serves based on the viewer’s connection and screen size. This field is only supported in the following creative_type: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO` * `CREATIVE_TYPE_AUDIO`", + "items": { + "$ref": "Transcode" + }, + "readOnly": true, + "type": "array" + }, + "universalAdId": { + "$ref": "UniversalAdId", + "description": "Optional. An optional creative identifier provided by a registry that is unique across all platforms. Universal Ad ID is part of the VAST 4.0 standard. It can be modified after the creative is created. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`" + }, + "updateTime": { + "description": "Output only. The timestamp when the creative was last updated, either by the user or system (e.g. creative review). Assigned by the system.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "vastTagUrl": { + "description": "Optional. The URL of the VAST tag for a third-party VAST tag creative. Required and only valid for third-party VAST tag creatives. Third-party VAST tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO`", + "type": "string" + }, + "vpaid": { + "description": "Output only. Indicates the third-party VAST tag creative requires VPAID (Digital Video Player-Ad Interface). Output only and only valid for third-party VAST tag creatives. Third-party VAST tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_VIDEO`", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "CreativeConfig": { + "description": "Creative requirements configuration for the inventory source.", + "id": "CreativeConfig", + "properties": { + "creativeType": { + "description": "The type of creative that can be assigned to the inventory source. Only the following types are supported: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_VIDEO`", + "enum": [ + "CREATIVE_TYPE_UNSPECIFIED", + "CREATIVE_TYPE_STANDARD", + "CREATIVE_TYPE_EXPANDABLE", + "CREATIVE_TYPE_VIDEO", + "CREATIVE_TYPE_NATIVE", + "CREATIVE_TYPE_TEMPLATED_APP_INSTALL", + "CREATIVE_TYPE_NATIVE_SITE_SQUARE", + "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL", + "CREATIVE_TYPE_LIGHTBOX", + "CREATIVE_TYPE_NATIVE_APP_INSTALL", + "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE", + "CREATIVE_TYPE_AUDIO", + "CREATIVE_TYPE_PUBLISHER_HOSTED", + "CREATIVE_TYPE_NATIVE_VIDEO", + "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO", + "CREATIVE_TYPE_ASSET_BASED_CREATIVE" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Standard display creative. Create and update methods are supported for this creative type if the hosting_source is one of the following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY`", + "Expandable creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_THIRD_PARTY`", + "Video creative. Create and update methods are supported for this creative type if the hosting_source is one of the following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY`", + "Native creative rendered by publishers with assets from advertiser. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", + "Templated app install mobile creative (banner). Create and update methods are **not** supported for this creative type.", + "Square native creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", + "Interstitial creative including both display and video. Create and update methods are **not** supported for this creative type.", + "Responsive and expandable Lightbox creative. Create and update methods are **not** supported for this creative type.", + "Native app install creative. Create and update methods are **not** supported for this creative type.", + "Square native app install creative. Create and update methods are **not** supported for this creative type.", + "Audio creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", + "Publisher hosted creative. Create and update methods are **not** supported for this creative type.", + "Native video creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", + "Templated app install mobile video creative. Create and update methods are **not** supported for this creative type.", + "Asset-based creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`." + ], + "type": "string" + }, + "displayCreativeConfig": { + "$ref": "InventorySourceDisplayCreativeConfig", + "description": "The configuration for display creatives. Applicable when creative_type is `CREATIVE_TYPE_STANDARD`." + }, + "videoCreativeConfig": { + "$ref": "InventorySourceVideoCreativeConfig", + "description": "The configuration for video creatives. Applicable when creative_type is `CREATIVE_TYPE_VIDEO`." + } + }, + "type": "object" + }, + "CustomBiddingAlgorithm": { + "description": "A single custom bidding algorithm.", + "id": "CustomBiddingAlgorithm", + "properties": { + "advertiserId": { + "description": "Immutable. The unique ID of the advertiser that owns the custom bidding algorithm.", + "format": "int64", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Output only. The unique ID of the custom bidding algorithm. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "customBiddingAlgorithmType": { + "description": "Required. Immutable. The type of custom bidding algorithm.", + "enum": [ + "CUSTOM_BIDDING_ALGORITHM_TYPE_UNSPECIFIED", + "SCRIPT_BASED", + "RULE_BASED" + ], + "enumDescriptions": [ + "Algorithm type is not specified or is unknown in this version.", + "Algorithm generated through customer-uploaded custom bidding script files.", + "Algorithm based in defined rules. These rules are defined in the API using the AlgorithmRules object. This algorithm type is only available to allowlisted customers. Other customers attempting to use this type will receive an error." + ], + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the custom bidding algorithm. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "entityStatus": { + "description": "Controls whether or not the custom bidding algorithm can be used as a bidding strategy. Accepted values are: * `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED`", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "modelDetails": { + "description": "Output only. The details of custom bidding models for each advertiser who has access. This field may only include the details of the queried advertiser if the algorithm [`owner`](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an advertiser [`accessor`](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor).", + "items": { + "$ref": "CustomBiddingModelDetails" + }, + "readOnly": true, + "type": "array" + }, + "name": { + "description": "Output only. The resource name of the custom bidding algorithm.", + "readOnly": true, + "type": "string" + }, + "partnerId": { + "description": "Immutable. The unique ID of the partner that owns the custom bidding algorithm.", + "format": "int64", + "type": "string" + }, + "sharedAdvertiserIds": { + "description": "The IDs of the advertisers who have access to this algorithm. If advertiser_id is set, this field will only consist of that value. This field will not be set if the algorithm [`owner`](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an advertiser [`accessor`](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor).", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "CustomBiddingAlgorithmRules": { + "description": "A single custom bidding algorithm rules.", + "id": "CustomBiddingAlgorithmRules", + "properties": { + "active": { + "description": "Output only. Whether the rules resource is currently being used for scoring by the parent algorithm.", + "readOnly": true, + "type": "boolean" + }, + "createTime": { + "description": "Output only. The time when the rules resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Output only. The unique ID of the custom bidding algorithm that the rules resource belongs to.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "customBiddingAlgorithmRulesId": { + "description": "Output only. The unique ID of the rules resource.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "error": { + "$ref": "CustomBiddingAlgorithmRulesError", + "description": "Output only. Error code of the rejected rules resource. This field will only be populated when the state is `REJECTED`.", + "readOnly": true + }, + "name": { + "description": "Output only. The resource name of the rules resource.", + "readOnly": true, + "type": "string" + }, + "rules": { + "$ref": "CustomBiddingAlgorithmRulesRef", + "description": "Required. Immutable. The reference to the uploaded AlgorithmRules file." + }, + "state": { + "description": "Output only. The state of the rules resource.", + "enum": [ + "STATE_UNSPECIFIED", + "ACCEPTED", + "REJECTED" + ], + "enumDescriptions": [ + "The rules state are unspecified or unknown in this version.", + "The rules have been accepted for scoring impressions.", + "The rules have been rejected by backend pipelines. They may have errors." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CustomBiddingAlgorithmRulesError": { + "description": "An error message for a CustomBiddingAlgorithmRules resource.", + "id": "CustomBiddingAlgorithmRulesError", + "properties": { + "errorCode": { + "description": "The type of error.", + "enum": [ + "ERROR_CODE_UNSPECIFIED", + "SYNTAX_ERROR", + "CONSTRAINT_VIOLATION_ERROR", + "INTERNAL_ERROR" + ], + "enumDescriptions": [ + "The error is not specified or is unknown in this version.", + "The rules have a syntax error.", + "The rules have a constraint violation error.", + "Internal errors were thrown while processing the rules." + ], + "type": "string" + } + }, + "type": "object" + }, + "CustomBiddingAlgorithmRulesRef": { + "description": "The reference to the uploaded AlgorithmRules file. Retrieve the location to upload new AlgorithmRules file to using customBiddingAlgorithms.uploadRules.", + "id": "CustomBiddingAlgorithmRulesRef", + "properties": { + "resourceName": { + "description": "A resource name to be used in media.download to download the rules files. Or media.upload to upload the rules files. Resource names have the format `customBiddingAlgorithms/{custom_bidding_algorithm_id}/rulesRef/{ref_id}`.", + "type": "string" + } + }, + "type": "object" + }, + "CustomBiddingModelDetails": { + "description": "The details of a custom bidding algorithm model for a single shared advertiser.", + "id": "CustomBiddingModelDetails", + "properties": { + "advertiserId": { + "description": "The unique ID of the relevant advertiser.", + "format": "int64", + "type": "string" + }, + "readinessState": { + "description": "The readiness state of custom bidding model.", + "enum": [ + "READINESS_STATE_UNSPECIFIED", + "READINESS_STATE_ACTIVE", + "READINESS_STATE_INSUFFICIENT_DATA", + "READINESS_STATE_TRAINING", + "READINESS_STATE_NO_VALID_SCRIPT", + "READINESS_STATE_EVALUATION_FAILURE" + ], + "enumDescriptions": [ + "State is not specified or is unknown in this version.", + "The model is trained and ready for serving.", + "There is not enough data to train the serving model.", + "The model is training and not ready for serving.", + "A valid custom bidding script has not been provided with which to train the model. This state will only be applied to algorithms whose `custom_bidding_algorithm_type` is `SCRIPT_BASED`.", + "A valid script was provided but failed evaluation. This is applicable for scripts that could not be evaluated in the alloted time." + ], + "type": "string" + }, + "suspensionState": { + "description": "Output only. The suspension state of custom bidding model.", + "enum": [ + "SUSPENSION_STATE_UNSPECIFIED", + "SUSPENSION_STATE_ENABLED", + "SUSPENSION_STATE_DORMANT", + "SUSPENSION_STATE_SUSPENDED" + ], + "enumDescriptions": [ + "State is not specified or is unknown in this version.", + "Model is enabled, either recently used, currently used or scheduled to be used. The algorithm is actively scoring impressions for this advertiser.", + "Model has not been used recently. Although the model still acts as `ENABLED`, it will eventually be suspended if not used.", + "Model is suspended from scoring impressions and cannot serve. If the algorithm is assigned to a line item under this advertiser or otherwise updated, it will switch back to the `ENABLED` state and require time to prepare the serving model again." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CustomBiddingScript": { + "description": "A single custom bidding script.", + "id": "CustomBiddingScript", + "properties": { + "active": { + "description": "Output only. Whether the script is currently being used for scoring by the parent algorithm.", + "readOnly": true, + "type": "boolean" + }, + "createTime": { + "description": "Output only. The time when the script was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Output only. The unique ID of the custom bidding algorithm the script belongs to.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "customBiddingScriptId": { + "description": "Output only. The unique ID of the custom bidding script.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "errors": { + "description": "Output only. Error details of a rejected custom bidding script. This field will only be populated when state is REJECTED.", + "items": { + "$ref": "ScriptError" + }, + "readOnly": true, + "type": "array" + }, + "name": { + "description": "Output only. The resource name of the custom bidding script.", + "readOnly": true, + "type": "string" + }, + "script": { + "$ref": "CustomBiddingScriptRef", + "description": "The reference to the uploaded script file." + }, + "state": { + "description": "Output only. The state of the custom bidding script.", + "enum": [ + "STATE_UNSPECIFIED", + "ACCEPTED", + "REJECTED", + "PENDING" + ], + "enumDescriptions": [ + "The script state is not specified or is unknown in this version.", + "The script has been accepted for scoring impressions.", + "The script has been rejected by backend pipelines. It may have errors.", + "The script is being processed for backend pipelines." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CustomBiddingScriptRef": { + "description": "The reference to the uploaded custom bidding script file.", + "id": "CustomBiddingScriptRef", + "properties": { + "resourceName": { + "description": "A resource name to be used in media.download to Download the script files. Or media.upload to Upload the script files. Resource names have the format `customBiddingAlgorithms/{custom_bidding_algorithm_id}/scriptRef/{ref_id}`.", + "type": "string" + } + }, + "type": "object" + }, + "CustomLabel": { + "description": "The key and value of a custom label.", + "id": "CustomLabel", + "properties": { + "key": { + "description": "The key of the label.", + "enum": [ + "CUSTOM_LABEL_KEY_UNSPECIFIED", + "CUSTOM_LABEL_KEY_0", + "CUSTOM_LABEL_KEY_1", + "CUSTOM_LABEL_KEY_2", + "CUSTOM_LABEL_KEY_3", + "CUSTOM_LABEL_KEY_4" + ], + "enumDescriptions": [ + "Not specified or unknown.", + "Key index 0.", + "Key index 1.", + "Key index 2.", + "Key index 3.", + "Key index 4." + ], + "type": "string" + }, + "value": { + "description": "The value of the label.", + "type": "string" + } + }, + "type": "object" + }, + "CustomList": { + "description": "Describes a custom list entity, such as a custom affinity or custom intent audience list.", + "id": "CustomList", + "properties": { + "customListId": { + "description": "Output only. The unique ID of the custom list. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. The display name of the custom list. .", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the custom list.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CustomListGroup": { + "description": "Details of custom list group. All custom list targeting settings are logically ‘OR’ of each other.", + "id": "CustomListGroup", + "properties": { + "settings": { + "description": "Required. All custom list targeting settings in custom list group. Repeated settings with the same id will be ignored.", + "items": { + "$ref": "CustomListTargetingSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "CustomListTargetingSetting": { + "description": "Details of custom list targeting setting.", + "id": "CustomListTargetingSetting", + "properties": { + "customListId": { + "description": "Required. Custom id of custom list targeting setting. This id is custom_list_id.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "Date": { + "description": "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, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", + "id": "Date", + "properties": { + "day": { + "description": "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.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", + "format": "int32", + "type": "integer" + }, + "year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "DateRange": { + "description": "A date range.", + "id": "DateRange", + "properties": { + "endDate": { + "$ref": "Date", + "description": "The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`." + }, + "startDate": { + "$ref": "Date", + "description": "The lower bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`." + } + }, + "type": "object" + }, + "DayAndTime": { + "description": "Representation of time defined by day of the week and hour of the day.", + "id": "DayAndTime", + "properties": { + "dayOfWeek": { + "description": "Required. Day of the week.", + "enum": [ + "DAY_OF_WEEK_UNSPECIFIED", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ], + "enumDescriptions": [ + "The day of the week is unspecified.", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "type": "string" + }, + "hourOfDay": { + "description": "Required. Hour of the day.", + "format": "int32", + "type": "integer" + }, + "timeZoneResolution": { + "description": "Required. The mechanism used to determine the relevant timezone.", + "enum": [ + "TIME_ZONE_RESOLUTION_UNSPECIFIED", + "TIME_ZONE_RESOLUTION_END_USER", + "TIME_ZONE_RESOLUTION_ADVERTISER" + ], + "enumDescriptions": [ + "Time zone resolution is either unspecific or unknown.", + "Times are resolved in the time zone of the user that saw the ad.", + "Times are resolved in the time zone of the advertiser that served the ad." + ], + "type": "string" + } + }, + "type": "object" + }, + "DayAndTimeAssignedTargetingOptionDetails": { + "description": "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`.", + "id": "DayAndTimeAssignedTargetingOptionDetails", + "properties": { + "dayOfWeek": { + "description": "Required. The day of the week for this day and time targeting setting.", + "enum": [ + "DAY_OF_WEEK_UNSPECIFIED", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ], + "enumDescriptions": [ + "The day of the week is unspecified.", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "type": "string" + }, + "endHour": { + "description": "Required. The end hour for day and time targeting. Must be between 1 (1 hour after start of day) and 24 (end of day).", + "format": "int32", + "type": "integer" + }, + "startHour": { + "description": "Required. The start hour for day and time targeting. Must be between 0 (start of day) and 23 (1 hour before end of day).", + "format": "int32", + "type": "integer" + }, + "timeZoneResolution": { + "description": "Required. The mechanism used to determine which timezone to use for this day and time targeting setting.", + "enum": [ + "TIME_ZONE_RESOLUTION_UNSPECIFIED", + "TIME_ZONE_RESOLUTION_END_USER", + "TIME_ZONE_RESOLUTION_ADVERTISER" + ], + "enumDescriptions": [ + "Time zone resolution is either unspecific or unknown.", + "Times are resolved in the time zone of the user that saw the ad.", + "Times are resolved in the time zone of the advertiser that served the ad." + ], + "type": "string" + } + }, + "type": "object" + }, + "DeleteAssignedTargetingOptionsRequest": { + "description": "A request listing which assigned targeting options of a given targeting type should be deleted.", + "id": "DeleteAssignedTargetingOptionsRequest", + "properties": { + "assignedTargetingOptionIds": { + "description": "Required. The assigned targeting option IDs to delete.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option.", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "type": "string" + } + }, + "type": "object" + }, + "DeviceMakeModelAssignedTargetingOptionDetails": { + "description": "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`.", + "id": "DeviceMakeModelAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the device make and model.", + "readOnly": true, + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.", + "type": "string" + } + }, + "type": "object" + }, + "DeviceMakeModelTargetingOptionDetails": { + "description": "Represents a targetable device make and model. This will be populated in the device_make_model_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.", + "id": "DeviceMakeModelTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the device make and model.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DeviceTypeAssignedTargetingOptionDetails": { + "description": "Targeting details for device type. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_DEVICE_TYPE`.", + "id": "DeviceTypeAssignedTargetingOptionDetails", + "properties": { + "deviceType": { + "description": "Required. The display name of the device type.", + "enum": [ + "DEVICE_TYPE_UNSPECIFIED", + "DEVICE_TYPE_COMPUTER", + "DEVICE_TYPE_CONNECTED_TV", + "DEVICE_TYPE_SMART_PHONE", + "DEVICE_TYPE_TABLET", + "DEVICE_TYPE_CONNECTED_DEVICE" + ], + "enumDescriptions": [ + "Default value when device type is not specified in this version. This enum is a placeholder for default value and does not represent a real device type option.", + "Computer.", + "Connected TV.", + "Smart phone.", + "Tablet.", + "Connected device." + ], + "type": "string" + }, + "youtubeAndPartnersBidMultiplier": { + "description": "Output only. Bid multiplier allows you to show your ads more or less frequently based on the device type. It will apply a multiplier on the original bid price. When this field is 0, it indicates this field is not applicable instead of multiplying 0 on the original bid price. For example, if the bid price without multiplier is $10.0 and the multiplier is 1.5 for Tablet, the resulting bid price for Tablet will be $15.0. Only applicable to YouTube and Partners line items.", + "format": "double", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "DeviceTypeTargetingOptionDetails": { + "description": "Represents a targetable device type. This will be populated in the device_type_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_DEVICE_TYPE`.", + "id": "DeviceTypeTargetingOptionDetails", + "properties": { + "deviceType": { + "description": "Output only. The device type that is used to be targeted.", + "enum": [ + "DEVICE_TYPE_UNSPECIFIED", + "DEVICE_TYPE_COMPUTER", + "DEVICE_TYPE_CONNECTED_TV", + "DEVICE_TYPE_SMART_PHONE", + "DEVICE_TYPE_TABLET", + "DEVICE_TYPE_CONNECTED_DEVICE" + ], + "enumDescriptions": [ + "Default value when device type is not specified in this version. This enum is a placeholder for default value and does not represent a real device type option.", + "Computer.", + "Connected TV.", + "Smart phone.", + "Tablet.", + "Connected device." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DigitalContentLabelAssignedTargetingOptionDetails": { + "description": "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`.", + "id": "DigitalContentLabelAssignedTargetingOptionDetails", + "properties": { + "excludedContentRatingTier": { + "description": "Required. The display name of the digital content label rating tier to be EXCLUDED.", + "enum": [ + "CONTENT_RATING_TIER_UNSPECIFIED", + "CONTENT_RATING_TIER_UNRATED", + "CONTENT_RATING_TIER_GENERAL", + "CONTENT_RATING_TIER_PARENTAL_GUIDANCE", + "CONTENT_RATING_TIER_TEENS", + "CONTENT_RATING_TIER_MATURE", + "CONTENT_RATING_TIER_FAMILIES" + ], + "enumDescriptions": [ + "Content label is not specified in this version. This enum is a place holder for a default value and does not represent a real content rating.", + "Content that has not been labeled.", + "Content suitable for general audiences.", + "Content suitable for most audiences with parental guidance.", + "Content suitable for teen and older audiences.", + "Content suitable only for mature audiences.", + "Content suitable for family audiences. It is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and Partners line items." + ], + "type": "string" + } + }, + "type": "object" + }, + "DigitalContentLabelTargetingOptionDetails": { + "description": "Represents a targetable digital content label rating tier. This will be populated in the digital_content_label_details field of the TargetingOption when targeting_type is `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.", + "id": "DigitalContentLabelTargetingOptionDetails", + "properties": { + "contentRatingTier": { + "description": "Output only. An enum for the content label brand safety tiers.", + "enum": [ + "CONTENT_RATING_TIER_UNSPECIFIED", + "CONTENT_RATING_TIER_UNRATED", + "CONTENT_RATING_TIER_GENERAL", + "CONTENT_RATING_TIER_PARENTAL_GUIDANCE", + "CONTENT_RATING_TIER_TEENS", + "CONTENT_RATING_TIER_MATURE", + "CONTENT_RATING_TIER_FAMILIES" + ], + "enumDescriptions": [ + "Content label is not specified in this version. This enum is a place holder for a default value and does not represent a real content rating.", + "Content that has not been labeled.", + "Content suitable for general audiences.", + "Content suitable for most audiences with parental guidance.", + "Content suitable for teen and older audiences.", + "Content suitable only for mature audiences.", + "Content suitable for family audiences. It is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and Partners line items." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Dimensions": { + "description": "Dimensions.", + "id": "Dimensions", + "properties": { + "heightPixels": { + "description": "The height in pixels.", + "format": "int32", + "type": "integer" + }, + "widthPixels": { + "description": "The width in pixels.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "DisplayVideoSourceAd": { + "description": "The ad sourced from a DV360 creative.", + "id": "DisplayVideoSourceAd", + "properties": { + "creativeId": { + "description": "The ID of the source creative.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "DoubleVerify": { + "description": "Details of DoubleVerify settings.", + "id": "DoubleVerify", + "properties": { + "appStarRating": { + "$ref": "DoubleVerifyAppStarRating", + "description": "Avoid bidding on apps with the star ratings." + }, + "avoidedAgeRatings": { + "description": "Avoid bidding on apps with the age rating.", + "items": { + "enum": [ + "AGE_RATING_UNSPECIFIED", + "APP_AGE_RATE_UNKNOWN", + "APP_AGE_RATE_4_PLUS", + "APP_AGE_RATE_9_PLUS", + "APP_AGE_RATE_12_PLUS", + "APP_AGE_RATE_17_PLUS", + "APP_AGE_RATE_18_PLUS" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any age rating options.", + "Apps with unknown age rating.", + "Apps rated for Everyone (4+).", + "Apps rated for Everyone (9+).", + "Apps rated for Teens (12+).", + "Apps rated for Mature (17+).", + "Apps rated for Adults Only (18+)." + ], + "type": "string" + }, + "type": "array" + }, + "brandSafetyCategories": { + "$ref": "DoubleVerifyBrandSafetyCategories", + "description": "DV Brand Safety Controls." + }, + "customSegmentId": { + "description": "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", + "format": "int64", + "type": "string" + }, + "displayViewability": { + "$ref": "DoubleVerifyDisplayViewability", + "description": "Display viewability settings (applicable to display line items only)." + }, + "fraudInvalidTraffic": { + "$ref": "DoubleVerifyFraudInvalidTraffic", + "description": "Avoid Sites and Apps with historical Fraud & IVT Rates." + }, + "videoViewability": { + "$ref": "DoubleVerifyVideoViewability", + "description": "Video viewability settings (applicable to video line items only)." + } + }, + "type": "object" + }, + "DoubleVerifyAppStarRating": { + "description": "Details of DoubleVerify star ratings settings.", + "id": "DoubleVerifyAppStarRating", + "properties": { + "avoidInsufficientStarRating": { + "description": "Avoid bidding on apps with insufficient star ratings.", + "type": "boolean" + }, + "avoidedStarRating": { + "description": "Avoid bidding on apps with the star ratings.", + "enum": [ + "APP_STAR_RATE_UNSPECIFIED", + "APP_STAR_RATE_1_POINT_5_LESS", + "APP_STAR_RATE_2_LESS", + "APP_STAR_RATE_2_POINT_5_LESS", + "APP_STAR_RATE_3_LESS", + "APP_STAR_RATE_3_POINT_5_LESS", + "APP_STAR_RATE_4_LESS", + "APP_STAR_RATE_4_POINT_5_LESS" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any app star rating options.", + "Official Apps with rating < 1.5 Stars.", + "Official Apps with rating < 2 Stars.", + "Official Apps with rating < 2.5 Stars.", + "Official Apps with rating < 3 Stars.", + "Official Apps with rating < 3.5 Stars.", + "Official Apps with rating < 4 Stars.", + "Official Apps with rating < 4.5 Stars." + ], + "type": "string" + } + }, + "type": "object" + }, + "DoubleVerifyBrandSafetyCategories": { + "description": "Settings for brand safety controls.", + "id": "DoubleVerifyBrandSafetyCategories", + "properties": { + "avoidUnknownBrandSafetyCategory": { + "description": "Unknown or unrateable.", + "type": "boolean" + }, + "avoidedHighSeverityCategories": { + "description": "Brand safety high severity avoidance categories.", + "items": { + "enum": [ + "HIGHER_SEVERITY_UNSPECIFIED", + "ADULT_CONTENT_PORNOGRAPHY", + "COPYRIGHT_INFRINGEMENT", + "SUBSTANCE_ABUSE", + "GRAPHIC_VIOLENCE_WEAPONS", + "HATE_PROFANITY", + "CRIMINAL_SKILLS", + "NUISANCE_INCENTIVIZED_MALWARE_CLUTTER" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any high severity categories.", + "Adult Content: Pornography, Mature Topics & Nudity.", + "Copyright Infringement.", + "Drugs/Alcohol/Controlled Substances: Substance Abuse.", + "Extreme Graphic/Explicit Violence/Weapons.", + "Hate/Profanity.", + "Illegal Activities: Criminal Skills.", + "Incentivized/Malware/Clutter." + ], + "type": "string" + }, + "type": "array" + }, + "avoidedMediumSeverityCategories": { + "description": "Brand safety medium severity avoidance categories.", + "items": { + "enum": [ + "MEDIUM_SEVERITY_UNSPECIFIED", + "AD_SERVERS", + "ADULT_CONTENT_SWIMSUIT", + "ALTERNATIVE_LIFESTYLES", + "CELEBRITY_GOSSIP", + "GAMBLING", + "OCCULT", + "SEX_EDUCATION", + "DISASTER_AVIATION", + "DISASTER_MAN_MADE", + "DISASTER_NATURAL", + "DISASTER_TERRORIST_EVENTS", + "DISASTER_VEHICLE", + "ALCOHOL", + "SMOKING", + "NEGATIVE_NEWS_FINANCIAL", + "NON_ENGLISH", + "PARKING_PAGE", + "UNMODERATED_UGC", + "INFLAMMATORY_POLITICS_AND_NEWS", + "NEGATIVE_NEWS_PHARMACEUTICAL" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any medium severity categories.", + "Ad Servers.", + "Adult Content: Swimsuit.", + "Controversial Subjects: Alternative Lifestyles.", + "Controversial Subjects: Celebrity Gossip.", + "Controversial Subjects: Gambling.", + "Controversial Subjects: Occult.", + "Controversial Subjects: Sex Education.", + "Disaster: Aviation.", + "Disaster: Man-made.", + "Disaster: Natural.", + "Disaster: Terrorist Events.", + "Disaster: Vehicle.", + "Drugs/Alcohol/Controlled Substances: Alcohol.", + "Drugs/Alcohol/Controlled Substances: Smoking.", + "Negative News: Financial.", + "Non-Std Content: Non-English.", + "Non-Std Content: Parking Page.", + "Unmoderated UGC: Forums, Images & Video.", + "Controversial Subjects: Inflammatory Politics and News.", + "Negative News: Pharmaceutical." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "DoubleVerifyDisplayViewability": { + "description": "Details of DoubleVerify display viewability settings.", + "id": "DoubleVerifyDisplayViewability", + "properties": { + "iab": { + "description": "Target web and app inventory to maximize IAB viewable rate.", + "enum": [ + "IAB_VIEWED_RATE_UNSPECIFIED", + "IAB_VIEWED_RATE_80_PERCENT_HIGHER", + "IAB_VIEWED_RATE_75_PERCENT_HIGHER", + "IAB_VIEWED_RATE_70_PERCENT_HIGHER", + "IAB_VIEWED_RATE_65_PERCENT_HIGHER", + "IAB_VIEWED_RATE_60_PERCENT_HIGHER", + "IAB_VIEWED_RATE_55_PERCENT_HIGHER", + "IAB_VIEWED_RATE_50_PERCENT_HIGHER", + "IAB_VIEWED_RATE_40_PERCENT_HIGHER", + "IAB_VIEWED_RATE_30_PERCENT_HIGHER" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any IAB viewed rate options.", + "Target web and app inventory to maximize IAB viewable rate 80% or higher.", + "Target web and app inventory to maximize IAB viewable rate 75% or higher.", + "Target web and app inventory to maximize IAB viewable rate 70% or higher.", + "Target web and app inventory to maximize IAB viewable rate 65% or higher.", + "Target web and app inventory to maximize IAB viewable rate 60% or higher.", + "Target web and app inventory to maximize IAB viewable rate 55% or higher.", + "Target web and app inventory to maximize IAB viewable rate 50% or higher.", + "Target web and app inventory to maximize IAB viewable rate 40% or higher.", + "Target web and app inventory to maximize IAB viewable rate 30% or higher." + ], + "type": "string" + }, + "viewableDuring": { + "description": "Target web and app inventory to maximize 100% viewable duration.", + "enum": [ + "AVERAGE_VIEW_DURATION_UNSPECIFIED", + "AVERAGE_VIEW_DURATION_5_SEC", + "AVERAGE_VIEW_DURATION_10_SEC", + "AVERAGE_VIEW_DURATION_15_SEC" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any average view duration options.", + "Target web and app inventory to maximize 100% viewable duration 5 seconds or more.", + "Target web and app inventory to maximize 100% viewable duration 10 seconds or more.", + "Target web and app inventory to maximize 100% viewable duration 15 seconds or more." + ], + "type": "string" + } + }, + "type": "object" + }, + "DoubleVerifyFraudInvalidTraffic": { + "description": "DoubleVerify Fraud & Invalid Traffic settings.", + "id": "DoubleVerifyFraudInvalidTraffic", + "properties": { + "avoidInsufficientOption": { + "description": "Insufficient Historical Fraud & IVT Stats.", + "type": "boolean" + }, + "avoidedFraudOption": { + "description": "Avoid Sites and Apps with historical Fraud & IVT.", + "enum": [ + "FRAUD_UNSPECIFIED", + "AD_IMPRESSION_FRAUD_100", + "AD_IMPRESSION_FRAUD_50", + "AD_IMPRESSION_FRAUD_25", + "AD_IMPRESSION_FRAUD_10", + "AD_IMPRESSION_FRAUD_8", + "AD_IMPRESSION_FRAUD_6", + "AD_IMPRESSION_FRAUD_4", + "AD_IMPRESSION_FRAUD_2" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any fraud and invalid traffic options.", + "100% Fraud & IVT.", + "50% or Higher Fraud & IVT.", + "25% or Higher Fraud & IVT.", + "10% or Higher Fraud & IVT.", + "8% or Higher Fraud & IVT.", + "6% or Higher Fraud & IVT.", + "4% or Higher Fraud & IVT.", + "2% or Higher Fraud & IVT." + ], + "type": "string" + } + }, + "type": "object" + }, + "DoubleVerifyVideoViewability": { + "description": "Details of DoubleVerify video viewability settings.", + "id": "DoubleVerifyVideoViewability", + "properties": { + "playerImpressionRate": { + "description": "Target inventory to maximize impressions with 400x300 or greater player size.", + "enum": [ + "PLAYER_SIZE_400X300_UNSPECIFIED", + "PLAYER_SIZE_400X300_95", + "PLAYER_SIZE_400X300_70", + "PLAYER_SIZE_400X300_25", + "PLAYER_SIZE_400X300_5" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any impressions options.", + "Sites with 95%+ of impressions.", + "Sites with 70%+ of impressions.", + "Sites with 25%+ of impressions.", + "Sites with 5%+ of impressions." + ], + "type": "string" + }, + "videoIab": { + "description": "Target web inventory to maximize IAB viewable rate.", + "enum": [ + "VIDEO_IAB_UNSPECIFIED", + "IAB_VIEWABILITY_80_PERCENT_HIGHER", + "IAB_VIEWABILITY_75_PERCENT_HIGHER", + "IAB_VIEWABILITY_70_PERCENT_HIGHER", + "IAB_VIEWABILITY_65_PERCENT_HIHGER", + "IAB_VIEWABILITY_60_PERCENT_HIGHER", + "IAB_VIEWABILITY_55_PERCENT_HIHGER", + "IAB_VIEWABILITY_50_PERCENT_HIGHER", + "IAB_VIEWABILITY_40_PERCENT_HIHGER", + "IAB_VIEWABILITY_30_PERCENT_HIHGER" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any video IAB viewable rate options.", + "Target web and app inventory to maximize IAB viewable rate 80% or higher.", + "Target web and app inventory to maximize IAB viewable rate 75% or higher.", + "Target web and app inventory to maximize IAB viewable rate 70% or higher.", + "Target web and app inventory to maximize IAB viewable rate 65% or higher.", + "Target web and app inventory to maximize IAB viewable rate 60% or higher.", + "Target web and app inventory to maximize IAB viewable rate 55% or higher.", + "Target web and app inventory to maximize IAB viewable rate 50% or higher.", + "Target web and app inventory to maximize IAB viewable rate 40% or higher.", + "Target web and app inventory to maximize IAB viewable rate 30% or higher." + ], + "type": "string" + }, + "videoViewableRate": { + "description": "Target web inventory to maximize fully viewable rate.", + "enum": [ + "VIDEO_VIEWABLE_RATE_UNSPECIFIED", + "VIEWED_PERFORMANCE_40_PERCENT_HIGHER", + "VIEWED_PERFORMANCE_35_PERCENT_HIGHER", + "VIEWED_PERFORMANCE_30_PERCENT_HIGHER", + "VIEWED_PERFORMANCE_25_PERCENT_HIGHER", + "VIEWED_PERFORMANCE_20_PERCENT_HIGHER", + "VIEWED_PERFORMANCE_10_PERCENT_HIGHER" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any video viewable rate options.", + "Target web inventory to maximize fully viewable rate 40% or higher.", + "Target web inventory to maximize fully viewable rate 35% or higher.", + "Target web inventory to maximize fully viewable rate 30% or higher.", + "Target web inventory to maximize fully viewable rate 25% or higher.", + "Target web inventory to maximize fully viewable rate 20% or higher.", + "Target web inventory to maximize fully viewable rate 10% or higher." + ], + "type": "string" + } + }, + "type": "object" + }, + "DuplicateLineItemRequest": { + "description": "Request message for LineItemService.DuplicateLineItem.", + "id": "DuplicateLineItemRequest", + "properties": { + "targetDisplayName": { + "description": "The display name of the new line item. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + } + }, + "type": "object" + }, + "DuplicateLineItemResponse": { + "id": "DuplicateLineItemResponse", + "properties": { + "duplicateLineItemId": { + "description": "The ID of the created line item.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "EditCustomerMatchMembersRequest": { + "description": "Request message for FirstAndThirdPartyAudienceService.EditCustomerMatchMembers.", + "id": "EditCustomerMatchMembersRequest", + "properties": { + "addedContactInfoList": { + "$ref": "ContactInfoList", + "description": "Input only. A list of contact information to define the members to be added." + }, + "addedMobileDeviceIdList": { + "$ref": "MobileDeviceIdList", + "description": "Input only. A list of mobile device IDs to define the members to be added." + }, + "advertiserId": { + "description": "Required. The ID of the owner advertiser of the updated Customer Match FirstAndThirdPartyAudience.", + "format": "int64", + "type": "string" + }, + "removedContactInfoList": { + "$ref": "ContactInfoList", + "description": "Input only. A list of contact information to define the members to be removed." + }, + "removedMobileDeviceIdList": { + "$ref": "MobileDeviceIdList", + "description": "Input only. A list of mobile device IDs to define the members to be removed." + } + }, + "type": "object" + }, + "EditCustomerMatchMembersResponse": { + "description": "The response of FirstAndThirdPartyAudienceService.EditCustomerMatchMembers.", + "id": "EditCustomerMatchMembersResponse", + "properties": { + "firstPartyAndPartnerAudienceId": { + "description": "Required. The ID of the updated Customer Match FirstPartyAndPartnerAudience.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "EditGuaranteedOrderReadAccessorsRequest": { + "description": "Request message for GuaranteedOrderService.EditGuaranteedOrderReadAccessors.", + "id": "EditGuaranteedOrderReadAccessorsRequest", + "properties": { + "addedAdvertisers": { + "description": "The advertisers to add as read accessors to the guaranteed order.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "partnerId": { + "description": "Required. The partner context in which the change is being made.", + "format": "int64", + "type": "string" + }, + "readAccessInherited": { + "description": "Whether to give all advertisers of the read/write accessor partner read access to the guaranteed order. Only applicable if read_write_partner_id is set in the guaranteed order.", + "type": "boolean" + }, + "removedAdvertisers": { + "description": "The advertisers to remove as read accessors to the guaranteed order.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "EditGuaranteedOrderReadAccessorsResponse": { + "id": "EditGuaranteedOrderReadAccessorsResponse", + "properties": { + "readAccessInherited": { + "description": "Whether all advertisers of read_write_partner_id have read access to the guaranteed order.", + "type": "boolean" + }, + "readAdvertiserIds": { + "description": "The IDs of advertisers with read access to the guaranteed order.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "EditInventorySourceReadWriteAccessorsRequest": { + "description": "Request message for InventorySourceService.EditInventorySourceReadWriteAccessors.", + "id": "EditInventorySourceReadWriteAccessorsRequest", + "properties": { + "advertisersUpdate": { + "$ref": "EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate", + "description": "The advertisers to add or remove from the list of advertisers that have read/write access to the inventory source. This change will remove an existing partner read/write accessor." + }, + "assignPartner": { + "description": "Set the partner context as read/write accessor of the inventory source. This will remove all other current read/write advertiser accessors.", + "type": "boolean" + }, + "partnerId": { + "description": "Required. The partner context by which the accessors change is being made.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate": { + "description": "Update to the list of advertisers with read/write access to the inventory source.", + "id": "EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate", + "properties": { + "addedAdvertisers": { + "description": "The advertisers to add.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "removedAdvertisers": { + "description": "The advertisers to remove.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Empty": { + "description": "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); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "EnvironmentAssignedTargetingOptionDetails": { + "description": "Assigned environment targeting option details. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_ENVIRONMENT`.", + "id": "EnvironmentAssignedTargetingOptionDetails", + "properties": { + "environment": { + "description": "Required. The serving environment.", + "enum": [ + "ENVIRONMENT_UNSPECIFIED", + "ENVIRONMENT_WEB_OPTIMIZED", + "ENVIRONMENT_WEB_NOT_OPTIMIZED", + "ENVIRONMENT_APP" + ], + "enumDescriptions": [ + "Default value when environment is not specified in this version. This enum is a placeholder for default value and does not represent a real environment option.", + "Target inventory displayed in browsers. This includes inventory that was designed for the device it was viewed on, such as mobile websites viewed on a mobile device. ENVIRONMENT_WEB_NOT_OPTIMIZED, if targeted, should be deleted prior to the deletion of this targeting option.", + "Target inventory displayed in browsers. This includes inventory that was not designed for the device but viewed on it, such as websites optimized for desktop but viewed on a mobile device. ENVIRONMENT_WEB_OPTIMIZED should be targeted prior to the addition of this targeting option.", + "Target inventory displayed in apps." + ], + "type": "string" + } + }, + "type": "object" + }, + "EnvironmentTargetingOptionDetails": { + "description": "Represents a targetable environment. This will be populated in the environment_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_ENVIRONMENT`.", + "id": "EnvironmentTargetingOptionDetails", + "properties": { + "environment": { + "description": "Output only. The serving environment.", + "enum": [ + "ENVIRONMENT_UNSPECIFIED", + "ENVIRONMENT_WEB_OPTIMIZED", + "ENVIRONMENT_WEB_NOT_OPTIMIZED", + "ENVIRONMENT_APP" + ], + "enumDescriptions": [ + "Default value when environment is not specified in this version. This enum is a placeholder for default value and does not represent a real environment option.", + "Target inventory displayed in browsers. This includes inventory that was designed for the device it was viewed on, such as mobile websites viewed on a mobile device. ENVIRONMENT_WEB_NOT_OPTIMIZED, if targeted, should be deleted prior to the deletion of this targeting option.", + "Target inventory displayed in browsers. This includes inventory that was not designed for the device but viewed on it, such as websites optimized for desktop but viewed on a mobile device. ENVIRONMENT_WEB_OPTIMIZED should be targeted prior to the addition of this targeting option.", + "Target inventory displayed in apps." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ExchangeAssignedTargetingOptionDetails": { + "description": "Details for assigned exchange targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_EXCHANGE`.", + "id": "ExchangeAssignedTargetingOptionDetails", + "properties": { + "exchange": { + "description": "Required. The enum value for the exchange.", + "enum": [ + "EXCHANGE_UNSPECIFIED", + "EXCHANGE_GOOGLE_AD_MANAGER", + "EXCHANGE_APPNEXUS", + "EXCHANGE_BRIGHTROLL", + "EXCHANGE_ADFORM", + "EXCHANGE_ADMETA", + "EXCHANGE_ADMIXER", + "EXCHANGE_ADSMOGO", + "EXCHANGE_ADSWIZZ", + "EXCHANGE_BIDSWITCH", + "EXCHANGE_BRIGHTROLL_DISPLAY", + "EXCHANGE_CADREON", + "EXCHANGE_DAILYMOTION", + "EXCHANGE_FIVE", + "EXCHANGE_FLUCT", + "EXCHANGE_FREEWHEEL", + "EXCHANGE_GENIEE", + "EXCHANGE_GUMGUM", + "EXCHANGE_IMOBILE", + "EXCHANGE_IBILLBOARD", + "EXCHANGE_IMPROVE_DIGITAL", + "EXCHANGE_INDEX", + "EXCHANGE_KARGO", + "EXCHANGE_MICROAD", + "EXCHANGE_MOPUB", + "EXCHANGE_NEND", + "EXCHANGE_ONE_BY_AOL_DISPLAY", + "EXCHANGE_ONE_BY_AOL_MOBILE", + "EXCHANGE_ONE_BY_AOL_VIDEO", + "EXCHANGE_OOYALA", + "EXCHANGE_OPENX", + "EXCHANGE_PERMODO", + "EXCHANGE_PLATFORMONE", + "EXCHANGE_PLATFORMID", + "EXCHANGE_PUBMATIC", + "EXCHANGE_PULSEPOINT", + "EXCHANGE_REVENUEMAX", + "EXCHANGE_RUBICON", + "EXCHANGE_SMARTCLIP", + "EXCHANGE_SMARTRTB", + "EXCHANGE_SMARTSTREAMTV", + "EXCHANGE_SOVRN", + "EXCHANGE_SPOTXCHANGE", + "EXCHANGE_STROER", + "EXCHANGE_TEADSTV", + "EXCHANGE_TELARIA", + "EXCHANGE_TVN", + "EXCHANGE_UNITED", + "EXCHANGE_YIELDLAB", + "EXCHANGE_YIELDMO", + "EXCHANGE_UNRULYX", + "EXCHANGE_OPEN8", + "EXCHANGE_TRITON", + "EXCHANGE_TRIPLELIFT", + "EXCHANGE_TABOOLA", + "EXCHANGE_INMOBI", + "EXCHANGE_SMAATO", + "EXCHANGE_AJA", + "EXCHANGE_SUPERSHIP", + "EXCHANGE_NEXSTAR_DIGITAL", + "EXCHANGE_WAZE", + "EXCHANGE_SOUNDCAST", + "EXCHANGE_SHARETHROUGH", + "EXCHANGE_FYBER", + "EXCHANGE_RED_FOR_PUBLISHERS", + "EXCHANGE_MEDIANET", + "EXCHANGE_TAPJOY", + "EXCHANGE_VISTAR", + "EXCHANGE_DAX", + "EXCHANGE_JCD", + "EXCHANGE_PLACE_EXCHANGE", + "EXCHANGE_APPLOVIN", + "EXCHANGE_CONNATIX", + "EXCHANGE_RESET_DIGITAL", + "EXCHANGE_HIVESTACK", + "EXCHANGE_DRAX", + "EXCHANGE_APPLOVIN_GBID", + "EXCHANGE_FYBER_GBID", + "EXCHANGE_UNITY_GBID", + "EXCHANGE_CHARTBOOST_GBID", + "EXCHANGE_ADMOST_GBID", + "EXCHANGE_TOPON_GBID", + "EXCHANGE_NETFLIX", + "EXCHANGE_CORE", + "EXCHANGE_TUBI" + ], + "enumDescriptions": [ + "Exchange is not specified or is unknown in this version.", + "Google Ad Manager.", + "AppNexus.", + "BrightRoll Exchange for Video from Yahoo!.", + "Adform.", + "Admeta.", + "Admixer.", + "AdsMogo.", + "AdsWizz.", + "BidSwitch.", + "BrightRoll Exchange for Display from Yahoo!.", + "Cadreon.", + "Dailymotion.", + "Five.", + "Fluct.", + "FreeWheel SSP.", + "Geniee.", + "GumGum.", + "i-mobile.", + "iBILLBOARD.", + "Improve Digital.", + "Index Exchange.", + "Kargo.", + "MicroAd.", + "MoPub.", + "Nend.", + "ONE by AOL: Display Market Place.", + "ONE by AOL: Mobile.", + "ONE by AOL: Video.", + "Ooyala.", + "OpenX.", + "Permodo.", + "Platform One.", + "PlatformId.", + "PubMatic.", + "PulsePoint.", + "RevenueMax.", + "Rubicon.", + "SmartClip.", + "SmartRTB+.", + "SmartstreamTv.", + "Sovrn.", + "SpotXchange.", + "Ströer SSP.", + "TeadsTv.", + "Telaria.", + "TVN.", + "United.", + "Yieldlab.", + "Yieldmo.", + "UnrulyX.", + "Open8.", + "Triton.", + "TripleLift.", + "Taboola.", + "InMobi.", + "Smaato.", + "Aja.", + "Supership.", + "Nexstar Digital.", + "Waze.", + "SoundCast.", + "Sharethrough.", + "Fyber.", + "Red For Publishers.", + "Media.net.", + "Tapjoy.", + "Vistar.", + "DAX.", + "JCD.", + "Place Exchange.", + "AppLovin.", + "Connatix.", + "Reset Digital.", + "Hivestack.", + "Drax.", + "AppLovin MAX.", + "DT Fairbid.", + "Unity LevelPlay.", + "Chartboost Mediation.", + "AdMost.", + "TopOn.", + "Netflix.", + "Core.", + "Tubi." + ], + "type": "string" + } + }, + "type": "object" + }, + "ExchangeConfig": { + "description": "Settings that control which exchanges are enabled for a partner.", + "id": "ExchangeConfig", + "properties": { + "enabledExchanges": { + "description": "All enabled exchanges in the partner. Duplicate enabled exchanges will be ignored.", + "items": { + "$ref": "ExchangeConfigEnabledExchange" + }, + "type": "array" + } + }, + "type": "object" + }, + "ExchangeConfigEnabledExchange": { + "description": "An enabled exchange in the partner.", + "id": "ExchangeConfigEnabledExchange", + "properties": { + "exchange": { + "description": "The enabled exchange.", + "enum": [ + "EXCHANGE_UNSPECIFIED", + "EXCHANGE_GOOGLE_AD_MANAGER", + "EXCHANGE_APPNEXUS", + "EXCHANGE_BRIGHTROLL", + "EXCHANGE_ADFORM", + "EXCHANGE_ADMETA", + "EXCHANGE_ADMIXER", + "EXCHANGE_ADSMOGO", + "EXCHANGE_ADSWIZZ", + "EXCHANGE_BIDSWITCH", + "EXCHANGE_BRIGHTROLL_DISPLAY", + "EXCHANGE_CADREON", + "EXCHANGE_DAILYMOTION", + "EXCHANGE_FIVE", + "EXCHANGE_FLUCT", + "EXCHANGE_FREEWHEEL", + "EXCHANGE_GENIEE", + "EXCHANGE_GUMGUM", + "EXCHANGE_IMOBILE", + "EXCHANGE_IBILLBOARD", + "EXCHANGE_IMPROVE_DIGITAL", + "EXCHANGE_INDEX", + "EXCHANGE_KARGO", + "EXCHANGE_MICROAD", + "EXCHANGE_MOPUB", + "EXCHANGE_NEND", + "EXCHANGE_ONE_BY_AOL_DISPLAY", + "EXCHANGE_ONE_BY_AOL_MOBILE", + "EXCHANGE_ONE_BY_AOL_VIDEO", + "EXCHANGE_OOYALA", + "EXCHANGE_OPENX", + "EXCHANGE_PERMODO", + "EXCHANGE_PLATFORMONE", + "EXCHANGE_PLATFORMID", + "EXCHANGE_PUBMATIC", + "EXCHANGE_PULSEPOINT", + "EXCHANGE_REVENUEMAX", + "EXCHANGE_RUBICON", + "EXCHANGE_SMARTCLIP", + "EXCHANGE_SMARTRTB", + "EXCHANGE_SMARTSTREAMTV", + "EXCHANGE_SOVRN", + "EXCHANGE_SPOTXCHANGE", + "EXCHANGE_STROER", + "EXCHANGE_TEADSTV", + "EXCHANGE_TELARIA", + "EXCHANGE_TVN", + "EXCHANGE_UNITED", + "EXCHANGE_YIELDLAB", + "EXCHANGE_YIELDMO", + "EXCHANGE_UNRULYX", + "EXCHANGE_OPEN8", + "EXCHANGE_TRITON", + "EXCHANGE_TRIPLELIFT", + "EXCHANGE_TABOOLA", + "EXCHANGE_INMOBI", + "EXCHANGE_SMAATO", + "EXCHANGE_AJA", + "EXCHANGE_SUPERSHIP", + "EXCHANGE_NEXSTAR_DIGITAL", + "EXCHANGE_WAZE", + "EXCHANGE_SOUNDCAST", + "EXCHANGE_SHARETHROUGH", + "EXCHANGE_FYBER", + "EXCHANGE_RED_FOR_PUBLISHERS", + "EXCHANGE_MEDIANET", + "EXCHANGE_TAPJOY", + "EXCHANGE_VISTAR", + "EXCHANGE_DAX", + "EXCHANGE_JCD", + "EXCHANGE_PLACE_EXCHANGE", + "EXCHANGE_APPLOVIN", + "EXCHANGE_CONNATIX", + "EXCHANGE_RESET_DIGITAL", + "EXCHANGE_HIVESTACK", + "EXCHANGE_DRAX", + "EXCHANGE_APPLOVIN_GBID", + "EXCHANGE_FYBER_GBID", + "EXCHANGE_UNITY_GBID", + "EXCHANGE_CHARTBOOST_GBID", + "EXCHANGE_ADMOST_GBID", + "EXCHANGE_TOPON_GBID", + "EXCHANGE_NETFLIX", + "EXCHANGE_CORE", + "EXCHANGE_TUBI" + ], + "enumDescriptions": [ + "Exchange is not specified or is unknown in this version.", + "Google Ad Manager.", + "AppNexus.", + "BrightRoll Exchange for Video from Yahoo!.", + "Adform.", + "Admeta.", + "Admixer.", + "AdsMogo.", + "AdsWizz.", + "BidSwitch.", + "BrightRoll Exchange for Display from Yahoo!.", + "Cadreon.", + "Dailymotion.", + "Five.", + "Fluct.", + "FreeWheel SSP.", + "Geniee.", + "GumGum.", + "i-mobile.", + "iBILLBOARD.", + "Improve Digital.", + "Index Exchange.", + "Kargo.", + "MicroAd.", + "MoPub.", + "Nend.", + "ONE by AOL: Display Market Place.", + "ONE by AOL: Mobile.", + "ONE by AOL: Video.", + "Ooyala.", + "OpenX.", + "Permodo.", + "Platform One.", + "PlatformId.", + "PubMatic.", + "PulsePoint.", + "RevenueMax.", + "Rubicon.", + "SmartClip.", + "SmartRTB+.", + "SmartstreamTv.", + "Sovrn.", + "SpotXchange.", + "Ströer SSP.", + "TeadsTv.", + "Telaria.", + "TVN.", + "United.", + "Yieldlab.", + "Yieldmo.", + "UnrulyX.", + "Open8.", + "Triton.", + "TripleLift.", + "Taboola.", + "InMobi.", + "Smaato.", + "Aja.", + "Supership.", + "Nexstar Digital.", + "Waze.", + "SoundCast.", + "Sharethrough.", + "Fyber.", + "Red For Publishers.", + "Media.net.", + "Tapjoy.", + "Vistar.", + "DAX.", + "JCD.", + "Place Exchange.", + "AppLovin.", + "Connatix.", + "Reset Digital.", + "Hivestack.", + "Drax.", + "AppLovin MAX.", + "DT Fairbid.", + "Unity LevelPlay.", + "Chartboost Mediation.", + "AdMost.", + "TopOn.", + "Netflix.", + "Core.", + "Tubi." + ], + "type": "string" + }, + "googleAdManagerAgencyId": { + "description": "Output only. Agency ID of Google Ad Manager. The field is only relevant when Google Ad Manager is the enabled exchange.", + "readOnly": true, + "type": "string" + }, + "googleAdManagerBuyerNetworkId": { + "description": "Output only. Network ID of Google Ad Manager. The field is only relevant when Google Ad Manager is the enabled exchange.", + "readOnly": true, + "type": "string" + }, + "seatId": { + "description": "Output only. Seat ID of the enabled exchange.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ExchangeReviewStatus": { + "description": "Exchange review status for the creative.", + "id": "ExchangeReviewStatus", + "properties": { + "exchange": { + "description": "The exchange reviewing the creative.", + "enum": [ + "EXCHANGE_UNSPECIFIED", + "EXCHANGE_GOOGLE_AD_MANAGER", + "EXCHANGE_APPNEXUS", + "EXCHANGE_BRIGHTROLL", + "EXCHANGE_ADFORM", + "EXCHANGE_ADMETA", + "EXCHANGE_ADMIXER", + "EXCHANGE_ADSMOGO", + "EXCHANGE_ADSWIZZ", + "EXCHANGE_BIDSWITCH", + "EXCHANGE_BRIGHTROLL_DISPLAY", + "EXCHANGE_CADREON", + "EXCHANGE_DAILYMOTION", + "EXCHANGE_FIVE", + "EXCHANGE_FLUCT", + "EXCHANGE_FREEWHEEL", + "EXCHANGE_GENIEE", + "EXCHANGE_GUMGUM", + "EXCHANGE_IMOBILE", + "EXCHANGE_IBILLBOARD", + "EXCHANGE_IMPROVE_DIGITAL", + "EXCHANGE_INDEX", + "EXCHANGE_KARGO", + "EXCHANGE_MICROAD", + "EXCHANGE_MOPUB", + "EXCHANGE_NEND", + "EXCHANGE_ONE_BY_AOL_DISPLAY", + "EXCHANGE_ONE_BY_AOL_MOBILE", + "EXCHANGE_ONE_BY_AOL_VIDEO", + "EXCHANGE_OOYALA", + "EXCHANGE_OPENX", + "EXCHANGE_PERMODO", + "EXCHANGE_PLATFORMONE", + "EXCHANGE_PLATFORMID", + "EXCHANGE_PUBMATIC", + "EXCHANGE_PULSEPOINT", + "EXCHANGE_REVENUEMAX", + "EXCHANGE_RUBICON", + "EXCHANGE_SMARTCLIP", + "EXCHANGE_SMARTRTB", + "EXCHANGE_SMARTSTREAMTV", + "EXCHANGE_SOVRN", + "EXCHANGE_SPOTXCHANGE", + "EXCHANGE_STROER", + "EXCHANGE_TEADSTV", + "EXCHANGE_TELARIA", + "EXCHANGE_TVN", + "EXCHANGE_UNITED", + "EXCHANGE_YIELDLAB", + "EXCHANGE_YIELDMO", + "EXCHANGE_UNRULYX", + "EXCHANGE_OPEN8", + "EXCHANGE_TRITON", + "EXCHANGE_TRIPLELIFT", + "EXCHANGE_TABOOLA", + "EXCHANGE_INMOBI", + "EXCHANGE_SMAATO", + "EXCHANGE_AJA", + "EXCHANGE_SUPERSHIP", + "EXCHANGE_NEXSTAR_DIGITAL", + "EXCHANGE_WAZE", + "EXCHANGE_SOUNDCAST", + "EXCHANGE_SHARETHROUGH", + "EXCHANGE_FYBER", + "EXCHANGE_RED_FOR_PUBLISHERS", + "EXCHANGE_MEDIANET", + "EXCHANGE_TAPJOY", + "EXCHANGE_VISTAR", + "EXCHANGE_DAX", + "EXCHANGE_JCD", + "EXCHANGE_PLACE_EXCHANGE", + "EXCHANGE_APPLOVIN", + "EXCHANGE_CONNATIX", + "EXCHANGE_RESET_DIGITAL", + "EXCHANGE_HIVESTACK", + "EXCHANGE_DRAX", + "EXCHANGE_APPLOVIN_GBID", + "EXCHANGE_FYBER_GBID", + "EXCHANGE_UNITY_GBID", + "EXCHANGE_CHARTBOOST_GBID", + "EXCHANGE_ADMOST_GBID", + "EXCHANGE_TOPON_GBID", + "EXCHANGE_NETFLIX", + "EXCHANGE_CORE", + "EXCHANGE_TUBI" + ], + "enumDescriptions": [ + "Exchange is not specified or is unknown in this version.", + "Google Ad Manager.", + "AppNexus.", + "BrightRoll Exchange for Video from Yahoo!.", + "Adform.", + "Admeta.", + "Admixer.", + "AdsMogo.", + "AdsWizz.", + "BidSwitch.", + "BrightRoll Exchange for Display from Yahoo!.", + "Cadreon.", + "Dailymotion.", + "Five.", + "Fluct.", + "FreeWheel SSP.", + "Geniee.", + "GumGum.", + "i-mobile.", + "iBILLBOARD.", + "Improve Digital.", + "Index Exchange.", + "Kargo.", + "MicroAd.", + "MoPub.", + "Nend.", + "ONE by AOL: Display Market Place.", + "ONE by AOL: Mobile.", + "ONE by AOL: Video.", + "Ooyala.", + "OpenX.", + "Permodo.", + "Platform One.", + "PlatformId.", + "PubMatic.", + "PulsePoint.", + "RevenueMax.", + "Rubicon.", + "SmartClip.", + "SmartRTB+.", + "SmartstreamTv.", + "Sovrn.", + "SpotXchange.", + "Ströer SSP.", + "TeadsTv.", + "Telaria.", + "TVN.", + "United.", + "Yieldlab.", + "Yieldmo.", + "UnrulyX.", + "Open8.", + "Triton.", + "TripleLift.", + "Taboola.", + "InMobi.", + "Smaato.", + "Aja.", + "Supership.", + "Nexstar Digital.", + "Waze.", + "SoundCast.", + "Sharethrough.", + "Fyber.", + "Red For Publishers.", + "Media.net.", + "Tapjoy.", + "Vistar.", + "DAX.", + "JCD.", + "Place Exchange.", + "AppLovin.", + "Connatix.", + "Reset Digital.", + "Hivestack.", + "Drax.", + "AppLovin MAX.", + "DT Fairbid.", + "Unity LevelPlay.", + "Chartboost Mediation.", + "AdMost.", + "TopOn.", + "Netflix.", + "Core.", + "Tubi." + ], + "type": "string" + }, + "status": { + "description": "Status of the exchange review.", + "enum": [ + "REVIEW_STATUS_UNSPECIFIED", + "REVIEW_STATUS_APPROVED", + "REVIEW_STATUS_REJECTED", + "REVIEW_STATUS_PENDING" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "The creative is approved.", + "The creative is rejected.", + "The creative is pending review." + ], + "type": "string" + } + }, + "type": "object" + }, + "ExchangeTargetingOptionDetails": { + "description": "Represents a targetable exchange. This will be populated in the exchange_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_EXCHANGE`.", + "id": "ExchangeTargetingOptionDetails", + "properties": { + "exchange": { + "description": "Output only. The type of exchange.", + "enum": [ + "EXCHANGE_UNSPECIFIED", + "EXCHANGE_GOOGLE_AD_MANAGER", + "EXCHANGE_APPNEXUS", + "EXCHANGE_BRIGHTROLL", + "EXCHANGE_ADFORM", + "EXCHANGE_ADMETA", + "EXCHANGE_ADMIXER", + "EXCHANGE_ADSMOGO", + "EXCHANGE_ADSWIZZ", + "EXCHANGE_BIDSWITCH", + "EXCHANGE_BRIGHTROLL_DISPLAY", + "EXCHANGE_CADREON", + "EXCHANGE_DAILYMOTION", + "EXCHANGE_FIVE", + "EXCHANGE_FLUCT", + "EXCHANGE_FREEWHEEL", + "EXCHANGE_GENIEE", + "EXCHANGE_GUMGUM", + "EXCHANGE_IMOBILE", + "EXCHANGE_IBILLBOARD", + "EXCHANGE_IMPROVE_DIGITAL", + "EXCHANGE_INDEX", + "EXCHANGE_KARGO", + "EXCHANGE_MICROAD", + "EXCHANGE_MOPUB", + "EXCHANGE_NEND", + "EXCHANGE_ONE_BY_AOL_DISPLAY", + "EXCHANGE_ONE_BY_AOL_MOBILE", + "EXCHANGE_ONE_BY_AOL_VIDEO", + "EXCHANGE_OOYALA", + "EXCHANGE_OPENX", + "EXCHANGE_PERMODO", + "EXCHANGE_PLATFORMONE", + "EXCHANGE_PLATFORMID", + "EXCHANGE_PUBMATIC", + "EXCHANGE_PULSEPOINT", + "EXCHANGE_REVENUEMAX", + "EXCHANGE_RUBICON", + "EXCHANGE_SMARTCLIP", + "EXCHANGE_SMARTRTB", + "EXCHANGE_SMARTSTREAMTV", + "EXCHANGE_SOVRN", + "EXCHANGE_SPOTXCHANGE", + "EXCHANGE_STROER", + "EXCHANGE_TEADSTV", + "EXCHANGE_TELARIA", + "EXCHANGE_TVN", + "EXCHANGE_UNITED", + "EXCHANGE_YIELDLAB", + "EXCHANGE_YIELDMO", + "EXCHANGE_UNRULYX", + "EXCHANGE_OPEN8", + "EXCHANGE_TRITON", + "EXCHANGE_TRIPLELIFT", + "EXCHANGE_TABOOLA", + "EXCHANGE_INMOBI", + "EXCHANGE_SMAATO", + "EXCHANGE_AJA", + "EXCHANGE_SUPERSHIP", + "EXCHANGE_NEXSTAR_DIGITAL", + "EXCHANGE_WAZE", + "EXCHANGE_SOUNDCAST", + "EXCHANGE_SHARETHROUGH", + "EXCHANGE_FYBER", + "EXCHANGE_RED_FOR_PUBLISHERS", + "EXCHANGE_MEDIANET", + "EXCHANGE_TAPJOY", + "EXCHANGE_VISTAR", + "EXCHANGE_DAX", + "EXCHANGE_JCD", + "EXCHANGE_PLACE_EXCHANGE", + "EXCHANGE_APPLOVIN", + "EXCHANGE_CONNATIX", + "EXCHANGE_RESET_DIGITAL", + "EXCHANGE_HIVESTACK", + "EXCHANGE_DRAX", + "EXCHANGE_APPLOVIN_GBID", + "EXCHANGE_FYBER_GBID", + "EXCHANGE_UNITY_GBID", + "EXCHANGE_CHARTBOOST_GBID", + "EXCHANGE_ADMOST_GBID", + "EXCHANGE_TOPON_GBID", + "EXCHANGE_NETFLIX", + "EXCHANGE_CORE", + "EXCHANGE_TUBI" + ], + "enumDescriptions": [ + "Exchange is not specified or is unknown in this version.", + "Google Ad Manager.", + "AppNexus.", + "BrightRoll Exchange for Video from Yahoo!.", + "Adform.", + "Admeta.", + "Admixer.", + "AdsMogo.", + "AdsWizz.", + "BidSwitch.", + "BrightRoll Exchange for Display from Yahoo!.", + "Cadreon.", + "Dailymotion.", + "Five.", + "Fluct.", + "FreeWheel SSP.", + "Geniee.", + "GumGum.", + "i-mobile.", + "iBILLBOARD.", + "Improve Digital.", + "Index Exchange.", + "Kargo.", + "MicroAd.", + "MoPub.", + "Nend.", + "ONE by AOL: Display Market Place.", + "ONE by AOL: Mobile.", + "ONE by AOL: Video.", + "Ooyala.", + "OpenX.", + "Permodo.", + "Platform One.", + "PlatformId.", + "PubMatic.", + "PulsePoint.", + "RevenueMax.", + "Rubicon.", + "SmartClip.", + "SmartRTB+.", + "SmartstreamTv.", + "Sovrn.", + "SpotXchange.", + "Ströer SSP.", + "TeadsTv.", + "Telaria.", + "TVN.", + "United.", + "Yieldlab.", + "Yieldmo.", + "UnrulyX.", + "Open8.", + "Triton.", + "TripleLift.", + "Taboola.", + "InMobi.", + "Smaato.", + "Aja.", + "Supership.", + "Nexstar Digital.", + "Waze.", + "SoundCast.", + "Sharethrough.", + "Fyber.", + "Red For Publishers.", + "Media.net.", + "Tapjoy.", + "Vistar.", + "DAX.", + "JCD.", + "Place Exchange.", + "AppLovin.", + "Connatix.", + "Reset Digital.", + "Hivestack.", + "Drax.", + "AppLovin MAX.", + "DT Fairbid.", + "Unity LevelPlay.", + "Chartboost Mediation.", + "AdMost.", + "TopOn.", + "Netflix.", + "Core.", + "Tubi." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ExitEvent": { + "description": "Exit event of the creative.", + "id": "ExitEvent", + "properties": { + "name": { + "description": "Optional. The name of the click tag of the exit event. The name must be unique within one creative. Leave it empty or unset for creatives containing image assets only.", + "type": "string" + }, + "reportingName": { + "description": "Optional. The name used to identify this event in reports. Leave it empty or unset for creatives containing image assets only.", + "type": "string" + }, + "type": { + "description": "Required. The type of the exit event.", + "enum": [ + "EXIT_EVENT_TYPE_UNSPECIFIED", + "EXIT_EVENT_TYPE_DEFAULT", + "EXIT_EVENT_TYPE_BACKUP" + ], + "enumDescriptions": [ + "Exit event type is not specified or is unknown in this version.", + "The exit event is the default one.", + "The exit event is a backup exit event. There could be multiple backup exit events in a creative." + ], + "type": "string" + }, + "url": { + "description": "Required. The click through URL of the exit event. This is required when type is: * `EXIT_EVENT_TYPE_DEFAULT` * `EXIT_EVENT_TYPE_BACKUP`", + "type": "string" + } + }, + "type": "object" + }, + "FirstPartyAndPartnerAudience": { + "description": "Describes a first or partner audience list used for targeting. First party audiences are created via usage of client data. Partner audiences are provided by Third Party data providers and can only be licensed to customers.", + "id": "FirstPartyAndPartnerAudience", + "properties": { + "activeDisplayAudienceSize": { + "description": "Output only. The estimated audience size for the Display network in the past month. If the size is less than 1000, the number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to two significant digits. Only returned in GET request.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "appId": { + "description": "Optional. The app_id matches with the type of the mobile_device_ids being uploaded. Only applicable to audience_type `CUSTOMER_MATCH_DEVICE_ID`", + "type": "string" + }, + "audienceSource": { + "description": "Output only. The source of the audience.", + "enum": [ + "AUDIENCE_SOURCE_UNSPECIFIED", + "DISPLAY_VIDEO_360", + "CAMPAIGN_MANAGER", + "AD_MANAGER", + "SEARCH_ADS_360", + "YOUTUBE", + "ADS_DATA_HUB" + ], + "enumDescriptions": [ + "Default value when audience source is not specified or is unknown.", + "Originated from Display & Video 360.", + "Originated from Campaign Manager 360.", + "Originated from Google Ad Manager.", + "Originated from Search Ads 360.", + "Originated from Youtube.", + "Originated from Ads Data Hub." + ], + "readOnly": true, + "type": "string" + }, + "audienceType": { + "description": "Output only. The type of the audience.", + "enum": [ + "AUDIENCE_TYPE_UNSPECIFIED", + "CUSTOMER_MATCH_CONTACT_INFO", + "CUSTOMER_MATCH_DEVICE_ID", + "CUSTOMER_MATCH_USER_ID", + "ACTIVITY_BASED", + "FREQUENCY_CAP", + "TAG_BASED", + "YOUTUBE_USERS", + "THIRD_PARTY", + "COMMERCE", + "LINEAR" + ], + "enumDeprecated": [ + false, + false, + false, + false, + true, + true, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown.", + "Audience was generated through matching customers to known contact information.", + "Audience was generated through matching customers to known Mobile device IDs.", + "Audience was generated through matching customers to known User IDs.", + "Audience was created based on campaign activity.", + "Audience was created based on excluding the number of impressions they were served.", + "Audience was created based on custom variables attached to pixel.", + "Audience was created based on past interactions with videos, YouTube ads, or YouTube channel.", + "Audience has been licensed for use from a third party.", + "Audience provided by commerce partners for a fee.", + "Audience for Linear TV content." + ], + "readOnly": true, + "type": "string" + }, + "contactInfoList": { + "$ref": "ContactInfoList", + "description": "Input only. A list of contact information to define the initial audience members. Only applicable to audience_type `CUSTOMER_MATCH_CONTACT_INFO`" + }, + "description": { + "description": "Output only. The user-provided description of the audience. Only applicable to first party audiences.", + "readOnly": true, + "type": "string" + }, + "displayAudienceSize": { + "description": "Output only. The estimated audience size for the Display network. If the size is less than 1000, the number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to two significant digits. Only returned in GET request.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "displayDesktopAudienceSize": { + "description": "Output only. The estimated desktop audience size in Display network. If the size is less than 1000, the number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to two significant digits. Only applicable to first party audiences. Only returned in GET request.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "displayMobileAppAudienceSize": { + "description": "Output only. The estimated mobile app audience size in Display network. If the size is less than 1000, the number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to two significant digits. Only applicable to first party audiences. Only returned in GET request.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "displayMobileWebAudienceSize": { + "description": "Output only. The estimated mobile web audience size in Display network. If the size is less than 1000, the number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to two significant digits. Only applicable to first party audiences. Only returned in GET request.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. The display name of the first party and partner audience.", + "readOnly": true, + "type": "string" + }, + "firstPartyAndPartnerAudienceId": { + "description": "Identifier. The unique ID of the first party and partner audience. Assigned by the system.", + "format": "int64", + "type": "string" + }, + "firstPartyAndPartnerAudienceType": { + "description": "Output only. Whether the audience is a first party and partner audience.", + "enum": [ + "FIRST_PARTY_AND_PARTNER_AUDIENCE_TYPE_UNSPECIFIED", + "TYPE_FIRST_PARTY", + "TYPE_PARTNER" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown.", + "Audience that is created via usage of client data.", + "Audience that is provided by Third Party data providers." + ], + "readOnly": true, + "type": "string" + }, + "gmailAudienceSize": { + "description": "Output only. The estimated audience size for Gmail network. If the size is less than 1000, the number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to two significant digits. Only applicable to first party audiences. Only returned in GET request.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "membershipDurationDays": { + "description": "Output only. The duration in days that an entry remains in the audience after the qualifying event. If the audience has no expiration, set the value of this field to 10000. Otherwise, the set value must be greater than 0 and less than or equal to 540. Only applicable to first party audiences. This field is required if one of the following audience_type is used: * `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID`", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "mobileDeviceIdList": { + "$ref": "MobileDeviceIdList", + "description": "Input only. A list of mobile device IDs to define the initial audience members. Only applicable to audience_type `CUSTOMER_MATCH_DEVICE_ID`" + }, + "name": { + "description": "Output only. The resource name of the first party and partner audience.", + "readOnly": true, + "type": "string" + }, + "youtubeAudienceSize": { + "description": "Output only. The estimated audience size for YouTube network. If the size is less than 1000, the number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to two significant digits. Only applicable to first party audiences. Only returned in GET request.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "FirstPartyAndPartnerAudienceGroup": { + "description": "Details of first party and partner audience group. All first party and partner audience targeting settings are logically ‘OR’ of each other.", + "id": "FirstPartyAndPartnerAudienceGroup", + "properties": { + "settings": { + "description": "Required. All first party and partner audience targeting settings in first party and partner audience group. Repeated settings with the same id are not allowed.", + "items": { + "$ref": "FirstPartyAndPartnerAudienceTargetingSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "FirstPartyAndPartnerAudienceTargetingSetting": { + "description": "Details of first party and partner audience targeting setting.", + "id": "FirstPartyAndPartnerAudienceTargetingSetting", + "properties": { + "firstPartyAndPartnerAudienceId": { + "description": "Required. First party and partner audience id of the first party and partner audience targeting setting. This id is first_party_and_partner_audience_id.", + "format": "int64", + "type": "string" + }, + "recency": { + "description": "Required. The recency of the first party and partner 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.", + "enum": [ + "RECENCY_NO_LIMIT", + "RECENCY_1_MINUTE", + "RECENCY_5_MINUTES", + "RECENCY_10_MINUTES", + "RECENCY_15_MINUTES", + "RECENCY_30_MINUTES", + "RECENCY_1_HOUR", + "RECENCY_2_HOURS", + "RECENCY_3_HOURS", + "RECENCY_6_HOURS", + "RECENCY_12_HOURS", + "RECENCY_1_DAY", + "RECENCY_2_DAYS", + "RECENCY_3_DAYS", + "RECENCY_5_DAYS", + "RECENCY_7_DAYS", + "RECENCY_10_DAYS", + "RECENCY_14_DAYS", + "RECENCY_15_DAYS", + "RECENCY_21_DAYS", + "RECENCY_28_DAYS", + "RECENCY_30_DAYS", + "RECENCY_40_DAYS", + "RECENCY_45_DAYS", + "RECENCY_60_DAYS", + "RECENCY_90_DAYS", + "RECENCY_120_DAYS", + "RECENCY_180_DAYS", + "RECENCY_270_DAYS", + "RECENCY_365_DAYS" + ], + "enumDescriptions": [ + "No limit of recency.", + "Recency is 1 minute.", + "Recency is 5 minutes.", + "Recency is 10 minutes.", + "Recency is 15 minutes.", + "Recency is 30 minutes.", + "Recency is 1 hour.", + "Recency is 2 hours.", + "Recency is 3 hours.", + "Recency is 6 hours.", + "Recency is 12 hours.", + "Recency is 1 day.", + "Recency is 2 days.", + "Recency is 3 days.", + "Recency is 5 days.", + "Recency is 7 days.", + "Recency is 10 days.", + "Recency is 14 days.", + "Recency is 15 days.", + "Recency is 21 days.", + "Recency is 28 days.", + "Recency is 30 days.", + "Recency is 40 days.", + "Recency is 45 days.", + "Recency is 60 days.", + "Recency is 90 days.", + "Recency is 120 days.", + "Recency is 180 days.", + "Recency is 270 days.", + "Recency is 365 days." + ], + "type": "string" + } + }, + "type": "object" + }, + "FixedBidStrategy": { + "description": "A strategy that uses a fixed bidding price.", + "id": "FixedBidStrategy", + "properties": { + "bidAmountMicros": { + "description": "The fixed bid amount, in micros of the advertiser's currency. For insertion order entity, bid_amount_micros should be set as 0. For line item entity, bid_amount_micros must be greater than or equal to billable unit of the given currency and smaller than or equal to the upper limit 1000000000. For example, 1500000 represents 1.5 standard units of the currency.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "FloodlightActivity": { + "description": "A single Floodlight activity.", + "id": "FloodlightActivity", + "properties": { + "advertiserIds": { + "description": "Output only. IDs of the advertisers that have access to the parent Floodlight group. Only advertisers under the provided partner ID will be listed in this field.", + "items": { + "format": "int64", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "displayName": { + "description": "Required. The display name of the Floodlight activity.", + "type": "string" + }, + "floodlightActivityId": { + "description": "Output only. The unique ID of the Floodlight activity. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "floodlightGroupId": { + "description": "Required. Immutable. The ID of the parent Floodlight group.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the Floodlight activity.", + "readOnly": true, + "type": "string" + }, + "remarketingConfigs": { + "description": "Output only. A list of configuration objects designating whether remarketing for this Floodlight Activity is enabled and available for a specifc advertiser. If enabled, this Floodlight Activity generates a remarketing user list that is able to be used in targeting under the advertiser.", + "items": { + "$ref": "RemarketingConfig" + }, + "readOnly": true, + "type": "array" + }, + "servingStatus": { + "description": "Optional. Whether the Floodlight activity is served.", + "enum": [ + "FLOODLIGHT_ACTIVITY_SERVING_STATUS_UNSPECIFIED", + "FLOODLIGHT_ACTIVITY_SERVING_STATUS_ENABLED", + "FLOODLIGHT_ACTIVITY_SERVING_STATUS_DISABLED" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Enabled.", + "Disabled." + ], + "type": "string" + }, + "sslRequired": { + "description": "Output only. Whether tags are required to be compliant.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "FloodlightGroup": { + "description": "A single Floodlight group.", + "id": "FloodlightGroup", + "properties": { + "activeViewConfig": { + "$ref": "ActiveViewVideoViewabilityMetricConfig", + "description": "The Active View video viewability metric configuration for the Floodlight group." + }, + "customVariables": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "User-defined custom variables owned by the Floodlight group. Use custom Floodlight variables to create reporting data that is tailored to your unique business needs. Custom Floodlight variables use the keys `U1=`, `U2=`, and so on, and can take any values that you choose to pass to them. You can use them to track virtually any type of data that you collect about your customers, such as the genre of movie that a customer purchases, the country to which the item is shipped, and so on. Custom Floodlight variables may not be used to pass any data that could be used or recognized as personally identifiable information (PII). Example: `custom_variables { fields { \"U1\": value { number_value: 123.4 }, \"U2\": value { string_value: \"MyVariable2\" }, \"U3\": value { string_value: \"MyVariable3\" } } }` Acceptable values for keys are \"U1\" through \"U100\", inclusive. String values must be less than 64 characters long, and cannot contain the following characters: `\"<>`.", + "type": "object" + }, + "displayName": { + "description": "Required. The display name of the Floodlight group.", + "type": "string" + }, + "floodlightGroupId": { + "description": "Output only. The unique ID of the Floodlight group. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "lookbackWindow": { + "$ref": "LookbackWindow", + "description": "Required. The lookback window for the Floodlight group. Both click_days and impression_days are required. Acceptable values for both are `0` to `90`, inclusive." + }, + "name": { + "description": "Output only. The resource name of the Floodlight group.", + "readOnly": true, + "type": "string" + }, + "webTagType": { + "description": "Required. The web tag type enabled for the Floodlight group.", + "enum": [ + "WEB_TAG_TYPE_UNSPECIFIED", + "WEB_TAG_TYPE_NONE", + "WEB_TAG_TYPE_IMAGE", + "WEB_TAG_TYPE_DYNAMIC" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "No tag type.", + "Image tag.", + "Dynamic tag." + ], + "type": "string" + } + }, + "type": "object" + }, + "FrequencyCap": { + "description": "Settings that control the number of times a user may be shown with the same ad during a given time period.", + "id": "FrequencyCap", + "properties": { + "maxImpressions": { + "description": "The maximum number of times a user may be shown the same ad during this period. Must be greater than 0. Required when unlimited is `false` and max_views is not set.", + "format": "int32", + "type": "integer" + }, + "maxViews": { + "description": "Optional. The maximum number of times a user may click-through or fully view an ad during this period until it is no longer served to them. Must be greater than 0. Only applicable to YouTube and Partners resources. Required when unlimited is `false` and max_impressions is not set.", + "format": "int32", + "type": "integer" + }, + "timeUnit": { + "description": "The time unit in which the frequency cap will be applied. Required when unlimited is `false`. *Warning*: On **February 28, 2025**, frequency cap time periods greater than 30 days will no longer be accepted. This field will no longer accept the value `TIME_UNIT_LIFETIME`. [Read more about this announced change](/display-video/api/deprecations#features.lifetime_frequency_cap).", + "enum": [ + "TIME_UNIT_UNSPECIFIED", + "TIME_UNIT_LIFETIME", + "TIME_UNIT_MONTHS", + "TIME_UNIT_WEEKS", + "TIME_UNIT_DAYS", + "TIME_UNIT_HOURS", + "TIME_UNIT_MINUTES" + ], + "enumDescriptions": [ + "Time unit value is not specified or is unknown in this version.", + "The frequency cap will be applied to the whole life time of the line item.", + "The frequency cap will be applied to a number of months.", + "The frequency cap will be applied to a number of weeks.", + "The frequency cap will be applied to a number of days.", + "The frequency cap will be applied to a number of hours.", + "The frequency cap will be applied to a number of minutes." + ], + "type": "string" + }, + "timeUnitCount": { + "description": "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 *Warning*: On **February 28, 2025**, frequency cap time periods greater than 30 days will no longer be accepted. This field will no longer accept the value 2 if the value of time_unit is `TIME_UNIT_MONTHS`. [Read more about this announced change](/display-video/api/deprecations#features.lifetime_frequency_cap).", + "format": "int32", + "type": "integer" + }, + "unlimited": { + "description": "Whether unlimited frequency capping is applied. When this field is set to `true`, the remaining frequency cap fields are not applicable.", + "type": "boolean" + } + }, + "type": "object" + }, + "GenderAssignedTargetingOptionDetails": { + "description": "Details for assigned gender targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_GENDER`.", + "id": "GenderAssignedTargetingOptionDetails", + "properties": { + "gender": { + "description": "Required. The gender of the audience.", + "enum": [ + "GENDER_UNSPECIFIED", + "GENDER_MALE", + "GENDER_FEMALE", + "GENDER_UNKNOWN" + ], + "enumDescriptions": [ + "Default value when gender is not specified in this version. This enum is a place holder for default value and does not represent a real gender option.", + "The audience gender is male.", + "The audience gender is female.", + "The audience gender is unknown." + ], + "type": "string" + } + }, + "type": "object" + }, + "GenderTargetingOptionDetails": { + "description": "Represents a targetable gender. This will be populated in the gender_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_GENDER`.", + "id": "GenderTargetingOptionDetails", + "properties": { + "gender": { + "description": "Output only. The gender of an audience.", + "enum": [ + "GENDER_UNSPECIFIED", + "GENDER_MALE", + "GENDER_FEMALE", + "GENDER_UNKNOWN" + ], + "enumDescriptions": [ + "Default value when gender is not specified in this version. This enum is a place holder for default value and does not represent a real gender option.", + "The audience gender is male.", + "The audience gender is female.", + "The audience gender is unknown." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GenerateDefaultLineItemRequest": { + "description": "Request message for LineItemService.GenerateDefaultLineItem.", + "id": "GenerateDefaultLineItemRequest", + "properties": { + "displayName": { + "description": "Required. The display name of the line item. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "insertionOrderId": { + "description": "Required. The unique ID of the insertion order that the line item belongs to.", + "format": "int64", + "type": "string" + }, + "lineItemType": { + "description": "Required. The type of the line item.", + "enum": [ + "LINE_ITEM_TYPE_UNSPECIFIED", + "LINE_ITEM_TYPE_DISPLAY_DEFAULT", + "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL", + "LINE_ITEM_TYPE_VIDEO_DEFAULT", + "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL", + "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INVENTORY", + "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INVENTORY", + "LINE_ITEM_TYPE_AUDIO_DEFAULT", + "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_ACTION", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_AUDIO", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE_OVER_THE_TOP", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH_OVER_THE_TOP", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE_OVER_THE_TOP", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_TARGET_FREQUENCY", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIEW", + "LINE_ITEM_TYPE_DISPLAY_OUT_OF_HOME", + "LINE_ITEM_TYPE_VIDEO_OUT_OF_HOME" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version. Line items of this type and their targeting cannot be created or updated using the API.", + "Image, HTML5, native, or rich media ads.", + "Display ads that drive installs of an app.", + "Video ads sold on a CPM basis for a variety of environments.", + "Video ads that drive installs of an app.", + "Display ads served on mobile app inventory. Line items of this type and their targeting cannot be created or updated using the API.", + "Video ads served on mobile app inventory. Line items of this type and their targeting cannot be created or updated using the API.", + "RTB Audio ads sold for a variety of environments.", + "Over-the-top ads present in OTT insertion orders. This type is only applicable to line items with an insertion order of insertion_order_type `OVER_THE_TOP`.", + "YouTube video ads that promote conversions. Line items of this type and their targeting cannot be created or updated using the API.", + "YouTube video ads (up to 15 seconds) that cannot be skipped. Line items of this type and their targeting cannot be created or updated using the API.", + "YouTube video ads that show a story in a particular sequence using a mix of formats. Line items of this type and their targeting cannot be created or updated using the API.", + "YouTube audio ads. Line items of this type and their targeting cannot be created or updated using the API.", + "YouTube video ads that optimize reaching more unique users at lower cost. May include bumper ads, skippable in-stream ads, or a mix of types. Line items of this type and their targeting cannot be created or updated using the API.", + "Default YouTube video ads. Line items of this type and their targeting cannot be created or updated using the API.", + "Connected TV youTube video ads (up to 15 seconds) that cannot be skipped. Line items of this type and their targeting cannot be created or updated using the API.", + "Connected TV youTube video ads that optimize reaching more unique users at lower cost. May include bumper ads, skippable in-stream ads, or a mix of types. Line items of this type and their targeting cannot be created or updated using the API.", + "Connected TV default YouTube video ads. Only include in-stream ad-format. Line items of this type and their targeting cannot be created or updated using the API.", + "The goal of this line item type is to show the YouTube ads target number of times to the same person in a certain period of time. Line items of this type and their targeting cannot be created or updated using the API.", + "YouTube video ads that aim to get more views with a variety of ad formats. Line items of this type and their targeting cannot be created or updated using the API.", + "Display ads served on digital-out-of-home inventory. Line items of this type and their targeting cannot be created or updated using the API.", + "Video ads served on digital-out-of-home inventory. Line items of this type and their targeting cannot be created or updated using the API." + ], + "type": "string" + }, + "mobileApp": { + "$ref": "MobileApp", + "description": "The mobile app promoted by the line item. This is applicable only when line_item_type is either `LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL` or `LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL`." + } + }, + "type": "object" + }, + "GeoRegionAssignedTargetingOptionDetails": { + "description": "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`.", + "id": "GeoRegionAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the geographic region (e.g., \"Ontario, Canada\").", + "readOnly": true, + "type": "string" + }, + "geoRegionType": { + "description": "Output only. The type of geographic region targeting.", + "enum": [ + "GEO_REGION_TYPE_UNKNOWN", + "GEO_REGION_TYPE_OTHER", + "GEO_REGION_TYPE_COUNTRY", + "GEO_REGION_TYPE_REGION", + "GEO_REGION_TYPE_TERRITORY", + "GEO_REGION_TYPE_PROVINCE", + "GEO_REGION_TYPE_STATE", + "GEO_REGION_TYPE_PREFECTURE", + "GEO_REGION_TYPE_GOVERNORATE", + "GEO_REGION_TYPE_CANTON", + "GEO_REGION_TYPE_UNION_TERRITORY", + "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY", + "GEO_REGION_TYPE_DMA_REGION", + "GEO_REGION_TYPE_METRO", + "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT", + "GEO_REGION_TYPE_COUNTY", + "GEO_REGION_TYPE_MUNICIPALITY", + "GEO_REGION_TYPE_CITY", + "GEO_REGION_TYPE_POSTAL_CODE", + "GEO_REGION_TYPE_DEPARTMENT", + "GEO_REGION_TYPE_AIRPORT", + "GEO_REGION_TYPE_TV_REGION", + "GEO_REGION_TYPE_OKRUG", + "GEO_REGION_TYPE_BOROUGH", + "GEO_REGION_TYPE_CITY_REGION", + "GEO_REGION_TYPE_ARRONDISSEMENT", + "GEO_REGION_TYPE_NEIGHBORHOOD", + "GEO_REGION_TYPE_UNIVERSITY", + "GEO_REGION_TYPE_DISTRICT", + "GEO_REGION_TYPE_NATIONAL_PARK", + "GEO_REGION_TYPE_BARRIO", + "GEO_REGION_TYPE_SUB_WARD", + "GEO_REGION_TYPE_MUNICIPALITY_DISTRICT", + "GEO_REGION_TYPE_SUB_DISTRICT", + "GEO_REGION_TYPE_QUARTER", + "GEO_REGION_TYPE_DIVISION", + "GEO_REGION_TYPE_COMMUNE", + "GEO_REGION_TYPE_COLLOQUIAL_AREA" + ], + "enumDescriptions": [ + "The geographic region type is unknown.", + "The geographic region type is other.", + "The geographic region is a country.", + "The geographic region type is region.", + "The geographic region is a territory.", + "The geographic region is a province.", + "The geographic region is a state.", + "The geographic region is a prefecture.", + "The geographic region is a governorate.", + "The geographic region is a canton.", + "The geographic region is a union territory.", + "The geographic region is an autonomous community.", + "The geographic region is a designated market area (DMA) region.", + "The geographic region type is metro.", + "The geographic region is a congressional district.", + "The geographic region is a county.", + "The geographic region is a municipality.", + "The geographic region is a city.", + "The geographic region targeting type is postal code.", + "The geographic region targeting type is department.", + "The geographic region is an airport.", + "The geographic region is a TV region.", + "The geographic region is an okrug.", + "The geographic region is a borough.", + "The geographic region is a city region.", + "The geographic region is an arrondissement.", + "The geographic region is a neighborhood.", + "The geographic region is a university.", + "The geographic region is a district.", + "The geographic region is a national park.", + "The geographic region is a barrio.", + "The geographic region is a sub ward.", + "The geographic region is a municipality district.", + "The geographic region is a sub district.", + "The geographic region is a quarter.", + "The geographic region is a division.", + "The geographic region is a commune.", + "The geographic region is a colloquial area." + ], + "readOnly": true, + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_GEO_REGION`.", + "type": "string" + } + }, + "type": "object" + }, + "GeoRegionSearchTerms": { + "description": "Search terms for geo region targeting options.", + "id": "GeoRegionSearchTerms", + "properties": { + "geoRegionQuery": { + "description": "The search query for the desired geo region. The query can be a prefix, e.g. \"New Yor\", \"Seattle\", \"USA\", etc.", + "type": "string" + } + }, + "type": "object" + }, + "GeoRegionTargetingOptionDetails": { + "description": "Represents a targetable geographic region. This will be populated in the geo_region_details field when targeting_type is `TARGETING_TYPE_GEO_REGION`.", + "id": "GeoRegionTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the geographic region (e.g., \"Ontario, Canada\").", + "readOnly": true, + "type": "string" + }, + "geoRegionType": { + "description": "Output only. The type of geographic region targeting.", + "enum": [ + "GEO_REGION_TYPE_UNKNOWN", + "GEO_REGION_TYPE_OTHER", + "GEO_REGION_TYPE_COUNTRY", + "GEO_REGION_TYPE_REGION", + "GEO_REGION_TYPE_TERRITORY", + "GEO_REGION_TYPE_PROVINCE", + "GEO_REGION_TYPE_STATE", + "GEO_REGION_TYPE_PREFECTURE", + "GEO_REGION_TYPE_GOVERNORATE", + "GEO_REGION_TYPE_CANTON", + "GEO_REGION_TYPE_UNION_TERRITORY", + "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY", + "GEO_REGION_TYPE_DMA_REGION", + "GEO_REGION_TYPE_METRO", + "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT", + "GEO_REGION_TYPE_COUNTY", + "GEO_REGION_TYPE_MUNICIPALITY", + "GEO_REGION_TYPE_CITY", + "GEO_REGION_TYPE_POSTAL_CODE", + "GEO_REGION_TYPE_DEPARTMENT", + "GEO_REGION_TYPE_AIRPORT", + "GEO_REGION_TYPE_TV_REGION", + "GEO_REGION_TYPE_OKRUG", + "GEO_REGION_TYPE_BOROUGH", + "GEO_REGION_TYPE_CITY_REGION", + "GEO_REGION_TYPE_ARRONDISSEMENT", + "GEO_REGION_TYPE_NEIGHBORHOOD", + "GEO_REGION_TYPE_UNIVERSITY", + "GEO_REGION_TYPE_DISTRICT", + "GEO_REGION_TYPE_NATIONAL_PARK", + "GEO_REGION_TYPE_BARRIO", + "GEO_REGION_TYPE_SUB_WARD", + "GEO_REGION_TYPE_MUNICIPALITY_DISTRICT", + "GEO_REGION_TYPE_SUB_DISTRICT", + "GEO_REGION_TYPE_QUARTER", + "GEO_REGION_TYPE_DIVISION", + "GEO_REGION_TYPE_COMMUNE", + "GEO_REGION_TYPE_COLLOQUIAL_AREA" + ], + "enumDescriptions": [ + "The geographic region type is unknown.", + "The geographic region type is other.", + "The geographic region is a country.", + "The geographic region type is region.", + "The geographic region is a territory.", + "The geographic region is a province.", + "The geographic region is a state.", + "The geographic region is a prefecture.", + "The geographic region is a governorate.", + "The geographic region is a canton.", + "The geographic region is a union territory.", + "The geographic region is an autonomous community.", + "The geographic region is a designated market area (DMA) region.", + "The geographic region type is metro.", + "The geographic region is a congressional district.", + "The geographic region is a county.", + "The geographic region is a municipality.", + "The geographic region is a city.", + "The geographic region targeting type is postal code.", + "The geographic region targeting type is department.", + "The geographic region is an airport.", + "The geographic region is a TV region.", + "The geographic region is an okrug.", + "The geographic region is a borough.", + "The geographic region is a city region.", + "The geographic region is an arrondissement.", + "The geographic region is a neighborhood.", + "The geographic region is a university.", + "The geographic region is a district.", + "The geographic region is a national park.", + "The geographic region is a barrio.", + "The geographic region is a sub ward.", + "The geographic region is a municipality district.", + "The geographic region is a sub district.", + "The geographic region is a quarter.", + "The geographic region is a division.", + "The geographic region is a commune.", + "The geographic region is a colloquial area." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAudience": { + "description": "Describes a Google audience resource. Includes Google audience lists.", + "id": "GoogleAudience", + "properties": { + "displayName": { + "description": "Output only. The display name of the Google audience. .", + "readOnly": true, + "type": "string" + }, + "googleAudienceId": { + "description": "Output only. The unique ID of the Google audience. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "googleAudienceType": { + "description": "Output only. The type of Google audience. .", + "enum": [ + "GOOGLE_AUDIENCE_TYPE_UNSPECIFIED", + "GOOGLE_AUDIENCE_TYPE_AFFINITY", + "GOOGLE_AUDIENCE_TYPE_IN_MARKET", + "GOOGLE_AUDIENCE_TYPE_INSTALLED_APPS", + "GOOGLE_AUDIENCE_TYPE_NEW_MOBILE_DEVICES", + "GOOGLE_AUDIENCE_TYPE_LIFE_EVENT", + "GOOGLE_AUDIENCE_TYPE_EXTENDED_DEMOGRAPHIC" + ], + "enumDeprecated": [ + false, + false, + false, + true, + true, + false, + false + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown.", + "Affinity type Google audience.", + "In-Market type Google audience.", + "Installed-Apps type Google audience.", + "New-Mobile-Devices type Google audience.", + "Life-Event type Google audience.", + "Extended-Demographic type Google audience." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the google audience.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAudienceGroup": { + "description": "Details of Google audience group. All Google audience targeting settings are logically ‘OR’ of each other.", + "id": "GoogleAudienceGroup", + "properties": { + "settings": { + "description": "Required. All Google audience targeting settings in Google audience group. Repeated settings with the same id will be ignored.", + "items": { + "$ref": "GoogleAudienceTargetingSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAudienceTargetingSetting": { + "description": "Details of Google audience targeting setting.", + "id": "GoogleAudienceTargetingSetting", + "properties": { + "googleAudienceId": { + "description": "Required. Google audience id of the Google audience targeting setting. This id is google_audience_id.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleBytestreamMedia": { + "description": "Media resource.", + "id": "GoogleBytestreamMedia", + "properties": { + "resourceName": { + "description": "Name of the media resource.", + "type": "string" + } + }, + "type": "object" + }, + "GuaranteedOrder": { + "description": "A guaranteed order. Guaranteed orders are parent entity of guaranteed inventory sources. When creating a guaranteed inventory source, a guaranteed order ID must be assigned to the inventory source.", + "id": "GuaranteedOrder", + "properties": { + "defaultAdvertiserId": { + "description": "Output only. The ID of default advertiser of the guaranteed order. The default advertiser is either the read_write_advertiser_id or, if that is not set, the first advertiser listed in read_advertiser_ids. Otherwise, there is no default advertiser.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "defaultCampaignId": { + "description": "The ID of the default campaign that is assigned to the guaranteed order. The default campaign must belong to the default advertiser.", + "format": "int64", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the guaranteed order. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "exchange": { + "description": "Required. Immutable. The exchange where the guaranteed order originated.", + "enum": [ + "EXCHANGE_UNSPECIFIED", + "EXCHANGE_GOOGLE_AD_MANAGER", + "EXCHANGE_APPNEXUS", + "EXCHANGE_BRIGHTROLL", + "EXCHANGE_ADFORM", + "EXCHANGE_ADMETA", + "EXCHANGE_ADMIXER", + "EXCHANGE_ADSMOGO", + "EXCHANGE_ADSWIZZ", + "EXCHANGE_BIDSWITCH", + "EXCHANGE_BRIGHTROLL_DISPLAY", + "EXCHANGE_CADREON", + "EXCHANGE_DAILYMOTION", + "EXCHANGE_FIVE", + "EXCHANGE_FLUCT", + "EXCHANGE_FREEWHEEL", + "EXCHANGE_GENIEE", + "EXCHANGE_GUMGUM", + "EXCHANGE_IMOBILE", + "EXCHANGE_IBILLBOARD", + "EXCHANGE_IMPROVE_DIGITAL", + "EXCHANGE_INDEX", + "EXCHANGE_KARGO", + "EXCHANGE_MICROAD", + "EXCHANGE_MOPUB", + "EXCHANGE_NEND", + "EXCHANGE_ONE_BY_AOL_DISPLAY", + "EXCHANGE_ONE_BY_AOL_MOBILE", + "EXCHANGE_ONE_BY_AOL_VIDEO", + "EXCHANGE_OOYALA", + "EXCHANGE_OPENX", + "EXCHANGE_PERMODO", + "EXCHANGE_PLATFORMONE", + "EXCHANGE_PLATFORMID", + "EXCHANGE_PUBMATIC", + "EXCHANGE_PULSEPOINT", + "EXCHANGE_REVENUEMAX", + "EXCHANGE_RUBICON", + "EXCHANGE_SMARTCLIP", + "EXCHANGE_SMARTRTB", + "EXCHANGE_SMARTSTREAMTV", + "EXCHANGE_SOVRN", + "EXCHANGE_SPOTXCHANGE", + "EXCHANGE_STROER", + "EXCHANGE_TEADSTV", + "EXCHANGE_TELARIA", + "EXCHANGE_TVN", + "EXCHANGE_UNITED", + "EXCHANGE_YIELDLAB", + "EXCHANGE_YIELDMO", + "EXCHANGE_UNRULYX", + "EXCHANGE_OPEN8", + "EXCHANGE_TRITON", + "EXCHANGE_TRIPLELIFT", + "EXCHANGE_TABOOLA", + "EXCHANGE_INMOBI", + "EXCHANGE_SMAATO", + "EXCHANGE_AJA", + "EXCHANGE_SUPERSHIP", + "EXCHANGE_NEXSTAR_DIGITAL", + "EXCHANGE_WAZE", + "EXCHANGE_SOUNDCAST", + "EXCHANGE_SHARETHROUGH", + "EXCHANGE_FYBER", + "EXCHANGE_RED_FOR_PUBLISHERS", + "EXCHANGE_MEDIANET", + "EXCHANGE_TAPJOY", + "EXCHANGE_VISTAR", + "EXCHANGE_DAX", + "EXCHANGE_JCD", + "EXCHANGE_PLACE_EXCHANGE", + "EXCHANGE_APPLOVIN", + "EXCHANGE_CONNATIX", + "EXCHANGE_RESET_DIGITAL", + "EXCHANGE_HIVESTACK", + "EXCHANGE_DRAX", + "EXCHANGE_APPLOVIN_GBID", + "EXCHANGE_FYBER_GBID", + "EXCHANGE_UNITY_GBID", + "EXCHANGE_CHARTBOOST_GBID", + "EXCHANGE_ADMOST_GBID", + "EXCHANGE_TOPON_GBID", + "EXCHANGE_NETFLIX", + "EXCHANGE_CORE", + "EXCHANGE_TUBI" + ], + "enumDescriptions": [ + "Exchange is not specified or is unknown in this version.", + "Google Ad Manager.", + "AppNexus.", + "BrightRoll Exchange for Video from Yahoo!.", + "Adform.", + "Admeta.", + "Admixer.", + "AdsMogo.", + "AdsWizz.", + "BidSwitch.", + "BrightRoll Exchange for Display from Yahoo!.", + "Cadreon.", + "Dailymotion.", + "Five.", + "Fluct.", + "FreeWheel SSP.", + "Geniee.", + "GumGum.", + "i-mobile.", + "iBILLBOARD.", + "Improve Digital.", + "Index Exchange.", + "Kargo.", + "MicroAd.", + "MoPub.", + "Nend.", + "ONE by AOL: Display Market Place.", + "ONE by AOL: Mobile.", + "ONE by AOL: Video.", + "Ooyala.", + "OpenX.", + "Permodo.", + "Platform One.", + "PlatformId.", + "PubMatic.", + "PulsePoint.", + "RevenueMax.", + "Rubicon.", + "SmartClip.", + "SmartRTB+.", + "SmartstreamTv.", + "Sovrn.", + "SpotXchange.", + "Ströer SSP.", + "TeadsTv.", + "Telaria.", + "TVN.", + "United.", + "Yieldlab.", + "Yieldmo.", + "UnrulyX.", + "Open8.", + "Triton.", + "TripleLift.", + "Taboola.", + "InMobi.", + "Smaato.", + "Aja.", + "Supership.", + "Nexstar Digital.", + "Waze.", + "SoundCast.", + "Sharethrough.", + "Fyber.", + "Red For Publishers.", + "Media.net.", + "Tapjoy.", + "Vistar.", + "DAX.", + "JCD.", + "Place Exchange.", + "AppLovin.", + "Connatix.", + "Reset Digital.", + "Hivestack.", + "Drax.", + "AppLovin MAX.", + "DT Fairbid.", + "Unity LevelPlay.", + "Chartboost Mediation.", + "AdMost.", + "TopOn.", + "Netflix.", + "Core.", + "Tubi." + ], + "type": "string" + }, + "guaranteedOrderId": { + "description": "Output only. The unique identifier of the guaranteed order. The guaranteed order IDs have the format `{exchange}-{legacy_guaranteed_order_id}`.", + "readOnly": true, + "type": "string" + }, + "legacyGuaranteedOrderId": { + "description": "Output only. The legacy ID of the guaranteed order. Assigned by the original exchange. The legacy ID is unique within one exchange, but is not guaranteed to be unique across all guaranteed orders. This ID is used in SDF and UI.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the guaranteed order.", + "readOnly": true, + "type": "string" + }, + "publisherName": { + "description": "Required. The publisher name of the guaranteed order. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "readAccessInherited": { + "description": "Whether all advertisers of read_write_partner_id have read access to the guaranteed order. Only applicable if read_write_partner_id is set. If True, overrides read_advertiser_ids.", + "type": "boolean" + }, + "readAdvertiserIds": { + "description": "The IDs of advertisers with read access to the guaranteed order. This field must not include the advertiser assigned to read_write_advertiser_id if it is set. All advertisers in this field must belong to read_write_partner_id or the same partner as read_write_advertiser_id.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "readWriteAdvertiserId": { + "description": "The advertiser with read/write access to the guaranteed order. This is also the default advertiser of the guaranteed order.", + "format": "int64", + "type": "string" + }, + "readWritePartnerId": { + "description": "The partner with read/write access to the guaranteed order.", + "format": "int64", + "type": "string" + }, + "status": { + "$ref": "GuaranteedOrderStatus", + "description": "The status settings of the guaranteed order." + }, + "updateTime": { + "description": "Output only. The timestamp when the guaranteed order was last updated. Assigned by the system.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GuaranteedOrderStatus": { + "description": "The status settings of the guaranteed order.", + "id": "GuaranteedOrderStatus", + "properties": { + "configStatus": { + "description": "Output only. The configuration status of the guaranteed order. Acceptable values are `PENDING` and `COMPLETED`. A guaranteed order must be configured (fill in the required fields, choose creatives, and select a default campaign) before it can serve. Currently the configuration action can only be performed via UI.", + "enum": [ + "GUARANTEED_ORDER_CONFIG_STATUS_UNSPECIFIED", + "PENDING", + "COMPLETED" + ], + "enumDescriptions": [ + "The approval status is not specified or is unknown in this version.", + "The beginning state of a guaranteed order. The guaranteed order in this state needs to be configured before it can serve.", + "The state after the buyer configures a guaranteed order." + ], + "readOnly": true, + "type": "string" + }, + "entityPauseReason": { + "description": "The user-provided reason for pausing this guaranteed order. Must be UTF-8 encoded with a maximum length of 100 bytes. Only applicable when entity_status is set to `ENTITY_STATUS_PAUSED`.", + "type": "string" + }, + "entityStatus": { + "description": "Whether or not the guaranteed order is servable. Acceptable values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and `ENTITY_STATUS_PAUSED`. Default value is `ENTITY_STATUS_ACTIVE`.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + } + }, + "type": "object" + }, + "HouseholdIncomeAssignedTargetingOptionDetails": { + "description": "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`.", + "id": "HouseholdIncomeAssignedTargetingOptionDetails", + "properties": { + "householdIncome": { + "description": "Required. The household income of the audience.", + "enum": [ + "HOUSEHOLD_INCOME_UNSPECIFIED", + "HOUSEHOLD_INCOME_UNKNOWN", + "HOUSEHOLD_INCOME_LOWER_50_PERCENT", + "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT", + "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT", + "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT", + "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT", + "HOUSEHOLD_INCOME_TOP_10_PERCENT" + ], + "enumDescriptions": [ + "Default value when household income is not specified in this version. This enum is a placeholder for default value and does not represent a real household income option.", + "The household income of the audience is unknown.", + "The audience is in the lower 50% of U.S. household incomes.", + "The audience is in the top 41-50% of U.S. household incomes.", + "The audience is in the top 31-40% of U.S. household incomes.", + "The audience is in the top 21-30% of U.S. household incomes.", + "The audience is in the top 11-20% of U.S. household incomes.", + "The audience is in the top 10% of U.S. household incomes." + ], + "type": "string" + } + }, + "type": "object" + }, + "HouseholdIncomeTargetingOptionDetails": { + "description": "Represents a targetable household income. This will be populated in the household_income_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_HOUSEHOLD_INCOME`.", + "id": "HouseholdIncomeTargetingOptionDetails", + "properties": { + "householdIncome": { + "description": "Output only. The household income of an audience.", + "enum": [ + "HOUSEHOLD_INCOME_UNSPECIFIED", + "HOUSEHOLD_INCOME_UNKNOWN", + "HOUSEHOLD_INCOME_LOWER_50_PERCENT", + "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT", + "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT", + "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT", + "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT", + "HOUSEHOLD_INCOME_TOP_10_PERCENT" + ], + "enumDescriptions": [ + "Default value when household income is not specified in this version. This enum is a placeholder for default value and does not represent a real household income option.", + "The household income of the audience is unknown.", + "The audience is in the lower 50% of U.S. household incomes.", + "The audience is in the top 41-50% of U.S. household incomes.", + "The audience is in the top 31-40% of U.S. household incomes.", + "The audience is in the top 21-30% of U.S. household incomes.", + "The audience is in the top 11-20% of U.S. household incomes.", + "The audience is in the top 10% of U.S. household incomes." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "IdFilter": { + "description": "A filtering option that filters entities by their entity IDs.", + "id": "IdFilter", + "properties": { + "adGroupAdIds": { + "description": "YouTube Ads to download by ID. All IDs must belong to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "adGroupIds": { + "description": "YouTube Ad Groups to download by ID. All IDs must belong to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "adGroupQaIds": { + "description": "Optional. YouTube Ad Groups, by ID, to download in QA format. All IDs must belong to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "campaignIds": { + "description": "Campaigns to download by ID. All IDs must belong to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "insertionOrderIds": { + "description": "Insertion Orders to download by ID. All IDs must belong to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "lineItemIds": { + "description": "Line Items to download by ID. All IDs must belong to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "lineItemQaIds": { + "description": "Optional. Line Items, by ID, to download in QA format. All IDs must belong to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "mediaProductIds": { + "description": "Media Products to download by ID. All IDs must belong to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ImageAsset": { + "description": "Meta data of an image asset.", + "id": "ImageAsset", + "properties": { + "fileSize": { + "description": "File size of the image asset in bytes.", + "format": "int64", + "type": "string" + }, + "fullSize": { + "$ref": "Dimensions", + "description": "Metadata for this image at its original size." + }, + "mimeType": { + "description": "MIME type of the image asset.", + "type": "string" + } + }, + "type": "object" + }, + "InStreamAd": { + "description": "Details for an in-stream ad.", + "id": "InStreamAd", + "properties": { + "commonInStreamAttribute": { + "$ref": "CommonInStreamAttribute", + "description": "Common ad attributes." + }, + "customParameters": { + "additionalProperties": { + "type": "string" + }, + "description": "The custom parameters to pass custom values to tracking URL template.", + "type": "object" + } + }, + "type": "object" + }, + "InsertionOrder": { + "description": "A single insertion order.", + "id": "InsertionOrder", + "properties": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the insertion order belongs to.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "bidStrategy": { + "$ref": "BiddingStrategy", + "description": "Optional. The bidding strategy of the insertion order. By default, fixed_bid is set." + }, + "budget": { + "$ref": "InsertionOrderBudget", + "description": "Required. The budget allocation settings of the insertion order." + }, + "campaignId": { + "description": "Required. Immutable. The unique ID of the campaign that the insertion order belongs to.", + "format": "int64", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the insertion order. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "entityStatus": { + "description": "Required. Controls whether or not the insertion order can spend its budget and bid on inventory. * For CreateInsertionOrder method, only `ENTITY_STATUS_DRAFT` is allowed. To activate an insertion order, use UpdateInsertionOrder method and update the status to `ENTITY_STATUS_ACTIVE` after creation. * An insertion order cannot be changed back to `ENTITY_STATUS_DRAFT` status from any other status. * An insertion order cannot be set to `ENTITY_STATUS_ACTIVE` if its parent campaign is not active.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "frequencyCap": { + "$ref": "FrequencyCap", + "description": "Required. The frequency capping setting of the insertion order. *Warning*: On **February 28, 2025**, frequency cap time periods greater than 30 days will no longer be accepted. [Read more about this announced change](/display-video/api/deprecations#features.lifetime_frequency_cap)" + }, + "insertionOrderId": { + "description": "Output only. The unique ID of the insertion order. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "insertionOrderType": { + "description": "Optional. The type of insertion order. If this field is unspecified in creation, the value defaults to `RTB`.", + "enum": [ + "INSERTION_ORDER_TYPE_UNSPECIFIED", + "RTB", + "OVER_THE_TOP" + ], + "enumDescriptions": [ + "Insertion order type is not specified or is unknown.", + "Real-time bidding.", + "Over-the-top." + ], + "type": "string" + }, + "integrationDetails": { + "$ref": "IntegrationDetails", + "description": "Optional. Additional integration details of the insertion order." + }, + "kpi": { + "$ref": "Kpi", + "description": "Required. The key performance indicator (KPI) of the insertion order. This is represented as referred to as the \"Goal\" in the Display & Video 360 interface." + }, + "name": { + "description": "Output only. The resource name of the insertion order.", + "readOnly": true, + "type": "string" + }, + "optimizationObjective": { + "description": "Optional. Required. The optimization objective of the insertion order.", + "enum": [ + "OPTIMIZATION_OBJECTIVE_UNSPECIFIED", + "CONVERSION", + "CLICK", + "BRAND_AWARENESS", + "CUSTOM", + "NO_OBJECTIVE" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Prioritize impressions that increase sales and conversions.", + "Prioritize impressions that increase website traffic, apps, app stores.", + "Prioritize impressions of specific quality.", + "Objective is defined by the assigned custom bidding algorithm.", + "Objective is not defined. Any KPI or bidding strategy can be used." + ], + "type": "string" + }, + "pacing": { + "$ref": "Pacing", + "description": "Required. The budget spending speed setting of the insertion order. pacing_type `PACING_TYPE_ASAP` is not compatible with pacing_period `PACING_PERIOD_FLIGHT`." + }, + "partnerCosts": { + "description": "Optional. The partner costs associated with the insertion order. If absent or empty in CreateInsertionOrder method, the newly created insertion order will inherit partner costs from the partner settings.", + "items": { + "$ref": "PartnerCost" + }, + "type": "array" + }, + "reservationType": { + "description": "Output only. The reservation type of the insertion order.", + "enum": [ + "RESERVATION_TYPE_UNSPECIFIED", + "RESERVATION_TYPE_NOT_GUARANTEED", + "RESERVATION_TYPE_PROGRAMMATIC_GUARANTEED", + "RESERVATION_TYPE_TAG_GUARANTEED", + "RESERVATION_TYPE_PETRA_VIRAL", + "RESERVATION_TYPE_INSTANT_RESERVE" + ], + "enumDescriptions": [ + "Reservation type value is not specified or is unknown in this version.", + "Not created through a guaranteed inventory source.", + "Created through a programmatic guaranteed inventory source.", + "Created through a tag guaranteed inventory source.", + "Created through a Petra inventory source. Only applicable to YouTube and Partners line items.", + "Created with an instant quote. Only applicable to YouTube and partners line items." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the insertion order was last updated. Assigned by the system.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "InsertionOrderBudget": { + "description": "Settings that control how insertion order budget is allocated.", + "id": "InsertionOrderBudget", + "properties": { + "automationType": { + "description": "Optional. The type of automation used to manage bid and budget for the insertion order. If this field is unspecified in creation, the value defaults to `INSERTION_ORDER_AUTOMATION_TYPE_NONE`.", + "enum": [ + "INSERTION_ORDER_AUTOMATION_TYPE_UNSPECIFIED", + "INSERTION_ORDER_AUTOMATION_TYPE_BUDGET", + "INSERTION_ORDER_AUTOMATION_TYPE_NONE", + "INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET" + ], + "enumDescriptions": [ + "Insertion order automation option is not specified or is unknown in this version.", + "Automatic budget allocation. Allow the system to automatically shift budget to owning line items to optimize performance defined by kpi. No automation on bid settings.", + "No automation of bid or budget on insertion order level. Bid and budget must be manually configured at the line item level.", + "Allow the system to automatically adjust bids and shift budget to owning line items to optimize performance defined by kpi." + ], + "type": "string" + }, + "budgetSegments": { + "description": "Required. The list of budget segments. Use a budget segment to specify a specific budget for a given period of time an insertion order is running.", + "items": { + "$ref": "InsertionOrderBudgetSegment" + }, + "type": "array" + }, + "budgetUnit": { + "description": "Required. Immutable. The budget unit specifies whether the budget is currency based or impression based.", + "enum": [ + "BUDGET_UNIT_UNSPECIFIED", + "BUDGET_UNIT_CURRENCY", + "BUDGET_UNIT_IMPRESSIONS" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Budgeting in currency amounts.", + "Budgeting in impression amounts." + ], + "type": "string" + } + }, + "type": "object" + }, + "InsertionOrderBudgetSegment": { + "description": "Settings that control the budget of a single budget segment.", + "id": "InsertionOrderBudgetSegment", + "properties": { + "budgetAmountMicros": { + "description": "Required. The budget amount the insertion order will spend for the given date_range. The amount is in micros. Must be greater than 0. For example, 500000000 represents 500 standard units of the currency.", + "format": "int64", + "type": "string" + }, + "campaignBudgetId": { + "description": "Optional. The budget_id of the campaign budget that this insertion order budget segment is a part of.", + "format": "int64", + "type": "string" + }, + "dateRange": { + "$ref": "DateRange", + "description": "Required. The start and end date settings of the budget segment. They are resolved relative to the parent advertiser's time zone. * When creating a new budget segment, both `start_date` and `end_date` must be in the future. * An existing budget segment with a `start_date` in the past has a mutable `end_date` but an immutable `start_date`. * `end_date` must be the `start_date` or later, both before the year 2037." + }, + "description": { + "description": "Optional. The budget segment description. It can be used to enter Purchase Order information for each budget segment and have that information printed on the invoices. Must be UTF-8 encoded.", + "type": "string" + } + }, + "type": "object" + }, + "IntegralAdScience": { + "description": "Details of Integral Ad Science settings.", + "id": "IntegralAdScience", + "properties": { + "customSegmentId": { + "description": "The custom segment ID provided by Integral Ad Science. The ID must be between `1000001` and `1999999` or `3000001` and `3999999`, inclusive.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "displayViewability": { + "description": "Display Viewability section (applicable to display line items only).", + "enum": [ + "PERFORMANCE_VIEWABILITY_UNSPECIFIED", + "PERFORMANCE_VIEWABILITY_40", + "PERFORMANCE_VIEWABILITY_50", + "PERFORMANCE_VIEWABILITY_60", + "PERFORMANCE_VIEWABILITY_70" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any display viewability options.", + "Target 40% Viewability or Higher.", + "Target 50% Viewability or Higher.", + "Target 60% Viewability or Higher.", + "Target 70% Viewability or Higher." + ], + "type": "string" + }, + "excludeUnrateable": { + "description": "Brand Safety - **Unrateable**.", + "type": "boolean" + }, + "excludedAdFraudRisk": { + "description": "Ad Fraud settings.", + "enum": [ + "SUSPICIOUS_ACTIVITY_UNSPECIFIED", + "SUSPICIOUS_ACTIVITY_HR", + "SUSPICIOUS_ACTIVITY_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any ad fraud prevention options.", + "Ad Fraud - Exclude High Risk.", + "Ad Fraud - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedAdultRisk": { + "description": "Brand Safety - **Adult content**.", + "enum": [ + "ADULT_UNSPECIFIED", + "ADULT_HR", + "ADULT_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any adult options.", + "Adult - Exclude High Risk.", + "Adult - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedAlcoholRisk": { + "description": "Brand Safety - **Alcohol**.", + "enum": [ + "ALCOHOL_UNSPECIFIED", + "ALCOHOL_HR", + "ALCOHOL_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any alcohol options.", + "Alcohol - Exclude High Risk.", + "Alcohol - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedDrugsRisk": { + "description": "Brand Safety - **Drugs**.", + "enum": [ + "DRUGS_UNSPECIFIED", + "DRUGS_HR", + "DRUGS_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any drugs options.", + "Drugs - Exclude High Risk.", + "Drugs - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedGamblingRisk": { + "description": "Brand Safety - **Gambling**.", + "enum": [ + "GAMBLING_UNSPECIFIED", + "GAMBLING_HR", + "GAMBLING_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any gambling options.", + "Gambling - Exclude High Risk.", + "Gambling - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedHateSpeechRisk": { + "description": "Brand Safety - **Hate speech**.", + "enum": [ + "HATE_SPEECH_UNSPECIFIED", + "HATE_SPEECH_HR", + "HATE_SPEECH_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any hate speech options.", + "Hate Speech - Exclude High Risk.", + "Hate Speech - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedIllegalDownloadsRisk": { + "description": "Brand Safety - **Illegal downloads**.", + "enum": [ + "ILLEGAL_DOWNLOADS_UNSPECIFIED", + "ILLEGAL_DOWNLOADS_HR", + "ILLEGAL_DOWNLOADS_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any illegal downloads options.", + "Illegal Downloads - Exclude High Risk.", + "Illegal Downloads - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedOffensiveLanguageRisk": { + "description": "Brand Safety - **Offensive language**.", + "enum": [ + "OFFENSIVE_LANGUAGE_UNSPECIFIED", + "OFFENSIVE_LANGUAGE_HR", + "OFFENSIVE_LANGUAGE_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any language options.", + "Offensive Language - Exclude High Risk.", + "Offensive Language - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedViolenceRisk": { + "description": "Brand Safety - **Violence**.", + "enum": [ + "VIOLENCE_UNSPECIFIED", + "VIOLENCE_HR", + "VIOLENCE_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any violence options.", + "Violence - Exclude High Risk.", + "Violence - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "qualitySyncCustomSegmentId": { + "description": "Optional. The quality sync custom segment ID provided by Integral Ad Science. The ID must be between `3000000` and `4999999`, inclusive.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "traqScoreOption": { + "description": "True advertising quality (applicable to Display line items only).", + "enum": [ + "TRAQ_UNSPECIFIED", + "TRAQ_250", + "TRAQ_500", + "TRAQ_600", + "TRAQ_700", + "TRAQ_750", + "TRAQ_875", + "TRAQ_1000" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any true advertising quality scores.", + "TRAQ score 250-1000.", + "TRAQ score 500-1000.", + "TRAQ score 600-1000.", + "TRAQ score 700-1000.", + "TRAQ score 750-1000.", + "TRAQ score 875-1000.", + "TRAQ score 1000." + ], + "type": "string" + }, + "videoViewability": { + "description": "Video Viewability Section (applicable to video line items only).", + "enum": [ + "VIDEO_VIEWABILITY_UNSPECIFIED", + "VIDEO_VIEWABILITY_40", + "VIDEO_VIEWABILITY_50", + "VIDEO_VIEWABILITY_60", + "VIDEO_VIEWABILITY_70" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any video viewability options.", + "40%+ in view (IAB video viewability standard).", + "50%+ in view (IAB video viewability standard).", + "60%+ in view (IAB video viewability standard).", + "70%+ in view (IAB video viewability standard)." + ], + "type": "string" + } + }, + "type": "object" + }, + "IntegrationDetails": { + "description": "Integration details of an entry.", + "id": "IntegrationDetails", + "properties": { + "details": { + "description": "Additional details of the entry in string format. Must be UTF-8 encoded with a length of no more than 1000 characters.", + "type": "string" + }, + "integrationCode": { + "description": "An external identifier to be associated with the entry. The integration code will show up together with the entry in many places in the system, for example, reporting. Must be UTF-8 encoded with a length of no more than 500 characters.", + "type": "string" + } + }, + "type": "object" + }, + "InventorySource": { + "description": "An inventory source.", + "id": "InventorySource", + "properties": { + "commitment": { + "description": "Whether the inventory source has a guaranteed or non-guaranteed delivery.", + "enum": [ + "INVENTORY_SOURCE_COMMITMENT_UNSPECIFIED", + "INVENTORY_SOURCE_COMMITMENT_GUARANTEED", + "INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED" + ], + "enumDescriptions": [ + "The commitment is not specified or is unknown in this version.", + "The commitment is guaranteed delivery.", + "The commitment is non-guaranteed delivery." + ], + "type": "string" + }, + "creativeConfigs": { + "description": "The creative requirements of the inventory source. Not applicable for auction packages.", + "items": { + "$ref": "CreativeConfig" + }, + "type": "array" + }, + "dealId": { + "description": "The ID in the exchange space that uniquely identifies the inventory source. Must be unique across buyers within each exchange but not necessarily unique across exchanges.", + "type": "string" + }, + "deliveryMethod": { + "description": "The delivery method of the inventory source. * For non-guaranteed inventory sources, the only acceptable value is `INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`. * For guaranteed inventory sources, acceptable values are `INVENTORY_SOURCE_DELIVERY_METHOD_TAG` and `INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`.", + "enum": [ + "INVENTORY_SOURCE_DELIVERY_METHOD_UNSPECIFIED", + "INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC", + "INVENTORY_SOURCE_DELIVERY_METHOD_TAG" + ], + "enumDescriptions": [ + "The delivery method is not specified or is unknown in this version.", + "The delivery method is programmatic.", + "The delivery method is tag." + ], + "type": "string" + }, + "displayName": { + "description": "The display name of the inventory source. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "exchange": { + "description": "The exchange to which the inventory source belongs.", + "enum": [ + "EXCHANGE_UNSPECIFIED", + "EXCHANGE_GOOGLE_AD_MANAGER", + "EXCHANGE_APPNEXUS", + "EXCHANGE_BRIGHTROLL", + "EXCHANGE_ADFORM", + "EXCHANGE_ADMETA", + "EXCHANGE_ADMIXER", + "EXCHANGE_ADSMOGO", + "EXCHANGE_ADSWIZZ", + "EXCHANGE_BIDSWITCH", + "EXCHANGE_BRIGHTROLL_DISPLAY", + "EXCHANGE_CADREON", + "EXCHANGE_DAILYMOTION", + "EXCHANGE_FIVE", + "EXCHANGE_FLUCT", + "EXCHANGE_FREEWHEEL", + "EXCHANGE_GENIEE", + "EXCHANGE_GUMGUM", + "EXCHANGE_IMOBILE", + "EXCHANGE_IBILLBOARD", + "EXCHANGE_IMPROVE_DIGITAL", + "EXCHANGE_INDEX", + "EXCHANGE_KARGO", + "EXCHANGE_MICROAD", + "EXCHANGE_MOPUB", + "EXCHANGE_NEND", + "EXCHANGE_ONE_BY_AOL_DISPLAY", + "EXCHANGE_ONE_BY_AOL_MOBILE", + "EXCHANGE_ONE_BY_AOL_VIDEO", + "EXCHANGE_OOYALA", + "EXCHANGE_OPENX", + "EXCHANGE_PERMODO", + "EXCHANGE_PLATFORMONE", + "EXCHANGE_PLATFORMID", + "EXCHANGE_PUBMATIC", + "EXCHANGE_PULSEPOINT", + "EXCHANGE_REVENUEMAX", + "EXCHANGE_RUBICON", + "EXCHANGE_SMARTCLIP", + "EXCHANGE_SMARTRTB", + "EXCHANGE_SMARTSTREAMTV", + "EXCHANGE_SOVRN", + "EXCHANGE_SPOTXCHANGE", + "EXCHANGE_STROER", + "EXCHANGE_TEADSTV", + "EXCHANGE_TELARIA", + "EXCHANGE_TVN", + "EXCHANGE_UNITED", + "EXCHANGE_YIELDLAB", + "EXCHANGE_YIELDMO", + "EXCHANGE_UNRULYX", + "EXCHANGE_OPEN8", + "EXCHANGE_TRITON", + "EXCHANGE_TRIPLELIFT", + "EXCHANGE_TABOOLA", + "EXCHANGE_INMOBI", + "EXCHANGE_SMAATO", + "EXCHANGE_AJA", + "EXCHANGE_SUPERSHIP", + "EXCHANGE_NEXSTAR_DIGITAL", + "EXCHANGE_WAZE", + "EXCHANGE_SOUNDCAST", + "EXCHANGE_SHARETHROUGH", + "EXCHANGE_FYBER", + "EXCHANGE_RED_FOR_PUBLISHERS", + "EXCHANGE_MEDIANET", + "EXCHANGE_TAPJOY", + "EXCHANGE_VISTAR", + "EXCHANGE_DAX", + "EXCHANGE_JCD", + "EXCHANGE_PLACE_EXCHANGE", + "EXCHANGE_APPLOVIN", + "EXCHANGE_CONNATIX", + "EXCHANGE_RESET_DIGITAL", + "EXCHANGE_HIVESTACK", + "EXCHANGE_DRAX", + "EXCHANGE_APPLOVIN_GBID", + "EXCHANGE_FYBER_GBID", + "EXCHANGE_UNITY_GBID", + "EXCHANGE_CHARTBOOST_GBID", + "EXCHANGE_ADMOST_GBID", + "EXCHANGE_TOPON_GBID", + "EXCHANGE_NETFLIX", + "EXCHANGE_CORE", + "EXCHANGE_TUBI" + ], + "enumDescriptions": [ + "Exchange is not specified or is unknown in this version.", + "Google Ad Manager.", + "AppNexus.", + "BrightRoll Exchange for Video from Yahoo!.", + "Adform.", + "Admeta.", + "Admixer.", + "AdsMogo.", + "AdsWizz.", + "BidSwitch.", + "BrightRoll Exchange for Display from Yahoo!.", + "Cadreon.", + "Dailymotion.", + "Five.", + "Fluct.", + "FreeWheel SSP.", + "Geniee.", + "GumGum.", + "i-mobile.", + "iBILLBOARD.", + "Improve Digital.", + "Index Exchange.", + "Kargo.", + "MicroAd.", + "MoPub.", + "Nend.", + "ONE by AOL: Display Market Place.", + "ONE by AOL: Mobile.", + "ONE by AOL: Video.", + "Ooyala.", + "OpenX.", + "Permodo.", + "Platform One.", + "PlatformId.", + "PubMatic.", + "PulsePoint.", + "RevenueMax.", + "Rubicon.", + "SmartClip.", + "SmartRTB+.", + "SmartstreamTv.", + "Sovrn.", + "SpotXchange.", + "Ströer SSP.", + "TeadsTv.", + "Telaria.", + "TVN.", + "United.", + "Yieldlab.", + "Yieldmo.", + "UnrulyX.", + "Open8.", + "Triton.", + "TripleLift.", + "Taboola.", + "InMobi.", + "Smaato.", + "Aja.", + "Supership.", + "Nexstar Digital.", + "Waze.", + "SoundCast.", + "Sharethrough.", + "Fyber.", + "Red For Publishers.", + "Media.net.", + "Tapjoy.", + "Vistar.", + "DAX.", + "JCD.", + "Place Exchange.", + "AppLovin.", + "Connatix.", + "Reset Digital.", + "Hivestack.", + "Drax.", + "AppLovin MAX.", + "DT Fairbid.", + "Unity LevelPlay.", + "Chartboost Mediation.", + "AdMost.", + "TopOn.", + "Netflix.", + "Core.", + "Tubi." + ], + "type": "string" + }, + "guaranteedOrderId": { + "description": "Immutable. The ID of the guaranteed order that this inventory source belongs to. Only applicable when commitment is `INVENTORY_SOURCE_COMMITMENT_GUARANTEED`.", + "type": "string" + }, + "inventorySourceId": { + "description": "Output only. The unique ID of the inventory source. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "inventorySourceProductType": { + "description": "Output only. The product type of the inventory source, denoting the way through which it sells inventory.", + "enum": [ + "INVENTORY_SOURCE_PRODUCT_TYPE_UNSPECIFIED", + "PREFERRED_DEAL", + "PRIVATE_AUCTION", + "PROGRAMMATIC_GUARANTEED", + "TAG_GUARANTEED", + "YOUTUBE_RESERVE", + "INSTANT_RESERVE", + "GUARANTEED_PACKAGE", + "PROGRAMMATIC_TV", + "AUCTION_PACKAGE" + ], + "enumDescriptions": [ + "The product type is not specified or is unknown in this version. Modifying inventory sources of this product type are not supported via API.", + "The inventory source sells inventory through Preferred Deal.", + "The inventory source sells inventory through Private Auction.", + "The inventory source sells inventory through Programmatic Guaranteed.", + "The inventory source sells inventory through Tag Guaranteed.", + "The inventory source sells inventory through YouTube Reserve.", + "The inventory source sells inventory through Instant Reserve. Modifying inventory sources of this product type are not supported via API.", + "The inventory source sells inventory through Guaranteed Package. Modifying inventory sources of this product type are not supported via API.", + "The inventory source sells inventory through Programmtic TV. Modifying inventory sources of this product type are not supported via API.", + "The inventory source sells inventory through Auction Package. Modifying inventory sources of this product type are not supported via API." + ], + "readOnly": true, + "type": "string" + }, + "inventorySourceType": { + "description": "Denotes the type of the inventory source.", + "enum": [ + "INVENTORY_SOURCE_TYPE_UNSPECIFIED", + "INVENTORY_SOURCE_TYPE_PRIVATE", + "INVENTORY_SOURCE_TYPE_AUCTION_PACKAGE" + ], + "enumDescriptions": [ + "The inventory source type is not specified or is unknown in this version.", + "Private inventory source.", + "Auction package." + ], + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the inventory source.", + "readOnly": true, + "type": "string" + }, + "publisherName": { + "description": "The publisher/seller name of the inventory source.", + "type": "string" + }, + "rateDetails": { + "$ref": "RateDetails", + "description": "Required. The rate details of the inventory source." + }, + "readAdvertiserIds": { + "description": "Output only. The IDs of advertisers with read-only access to the inventory source.", + "items": { + "format": "int64", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "readPartnerIds": { + "description": "Output only. The IDs of partners with read-only access to the inventory source. All advertisers of partners in this field inherit read-only access to the inventory source.", + "items": { + "format": "int64", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "readWriteAccessors": { + "$ref": "InventorySourceAccessors", + "description": "The partner or advertisers that have read/write access to the inventory source. Output only when commitment is `INVENTORY_SOURCE_COMMITMENT_GUARANTEED`, in which case the read/write accessors are inherited from the parent guaranteed order. Required when commitment is `INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED`. If commitment is `INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED` and a partner is set in this field, all advertisers under this partner will automatically have read-only access to the inventory source. These advertisers will not be included in read_advertiser_ids." + }, + "status": { + "$ref": "InventorySourceStatus", + "description": "The status settings of the inventory source." + }, + "timeRange": { + "$ref": "TimeRange", + "description": "The time range when this inventory source starts and stops serving." + }, + "updateTime": { + "description": "Output only. The timestamp when the inventory source was last updated. Assigned by the system.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "InventorySourceAccessors": { + "description": "The partner or advertisers with access to the inventory source.", + "id": "InventorySourceAccessors", + "properties": { + "advertisers": { + "$ref": "InventorySourceAccessorsAdvertiserAccessors", + "description": "The advertisers with access to the inventory source. All advertisers must belong to the same partner." + }, + "partner": { + "$ref": "InventorySourceAccessorsPartnerAccessor", + "description": "The partner with access to the inventory source." + } + }, + "type": "object" + }, + "InventorySourceAccessorsAdvertiserAccessors": { + "description": "The advertisers with access to the inventory source.", + "id": "InventorySourceAccessorsAdvertiserAccessors", + "properties": { + "advertiserIds": { + "description": "The IDs of the advertisers.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "InventorySourceAccessorsPartnerAccessor": { + "description": "The partner with access to the inventory source.", + "id": "InventorySourceAccessorsPartnerAccessor", + "properties": { + "partnerId": { + "description": "The ID of the partner.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "InventorySourceAssignedTargetingOptionDetails": { + "description": "Targeting details for inventory source. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_INVENTORY_SOURCE`.", + "id": "InventorySourceAssignedTargetingOptionDetails", + "properties": { + "inventorySourceId": { + "description": "Required. ID of the inventory source. Should refer to the inventory_source_id field of an InventorySource resource.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "InventorySourceDisplayCreativeConfig": { + "description": "The configuration for display creatives.", + "id": "InventorySourceDisplayCreativeConfig", + "properties": { + "creativeSize": { + "$ref": "Dimensions", + "description": "The size requirements for display creatives that can be assigned to the inventory source." + } + }, + "type": "object" + }, + "InventorySourceFilter": { + "description": "A filtering option for filtering on Inventory Source entities.", + "id": "InventorySourceFilter", + "properties": { + "inventorySourceIds": { + "description": "Inventory Sources to download by ID. All IDs must belong to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest. Leave empty to download all Inventory Sources for the selected Advertiser or Partner.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "InventorySourceGroup": { + "description": "A collection of targetable inventory sources.", + "id": "InventorySourceGroup", + "properties": { + "displayName": { + "description": "Required. The display name of the inventory source group. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "inventorySourceGroupId": { + "description": "Output only. The unique ID of the inventory source group. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the inventory source group.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "InventorySourceGroupAssignedTargetingOptionDetails": { + "description": "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`.", + "id": "InventorySourceGroupAssignedTargetingOptionDetails", + "properties": { + "inventorySourceGroupId": { + "description": "Required. ID of the inventory source group. Should refer to the inventory_source_group_id field of an InventorySourceGroup resource.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "InventorySourceStatus": { + "description": "The status related settings of the inventory source.", + "id": "InventorySourceStatus", + "properties": { + "configStatus": { + "description": "Output only. The configuration status of the inventory source. Only applicable for guaranteed inventory sources. Acceptable values are `INVENTORY_SOURCE_CONFIG_STATUS_PENDING` and `INVENTORY_SOURCE_CONFIG_STATUS_COMPLETED`. An inventory source must be configured (fill in the required fields, choose creatives, and select a default campaign) before it can serve.", + "enum": [ + "INVENTORY_SOURCE_CONFIG_STATUS_UNSPECIFIED", + "INVENTORY_SOURCE_CONFIG_STATUS_PENDING", + "INVENTORY_SOURCE_CONFIG_STATUS_COMPLETED" + ], + "enumDescriptions": [ + "The approval status is not specified or is unknown in this version.", + "The beginning state of a guaranteed inventory source. The inventory source in this state needs to be configured.", + "The state after the buyer configures a guaranteed inventory source." + ], + "readOnly": true, + "type": "string" + }, + "entityPauseReason": { + "description": "The user-provided reason for pausing this inventory source. Must not exceed 100 characters. Only applicable when entity_status is set to `ENTITY_STATUS_PAUSED`.", + "type": "string" + }, + "entityStatus": { + "description": "Whether or not the inventory source is servable. Acceptable values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and `ENTITY_STATUS_PAUSED`. Default value is `ENTITY_STATUS_ACTIVE`.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "sellerPauseReason": { + "description": "Output only. The seller-provided reason for pausing this inventory source. Only applicable for inventory sources synced directly from the publishers and when seller_status is set to `ENTITY_STATUS_PAUSED`.", + "readOnly": true, + "type": "string" + }, + "sellerStatus": { + "description": "Output only. The status set by the seller for the inventory source. Only applicable for inventory sources synced directly from the publishers. Acceptable values are `ENTITY_STATUS_ACTIVE` and `ENTITY_STATUS_PAUSED`.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "InventorySourceVideoCreativeConfig": { + "description": "The configuration for video creatives.", + "id": "InventorySourceVideoCreativeConfig", + "properties": { + "duration": { + "description": "The duration requirements for the video creatives that can be assigned to the inventory source.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "Invoice": { + "description": "A single invoice.", + "id": "Invoice", + "properties": { + "budgetInvoiceGroupingId": { + "description": "The budget grouping ID for this invoice. This field will only be set if the invoice level of the corresponding billing profile was set to \"Budget invoice grouping ID\".", + "type": "string" + }, + "budgetSummaries": { + "description": "The list of summarized information for each budget associated with this invoice. This field will only be set if the invoice detail level of the corresponding billing profile was set to \"Budget level PO\".", + "items": { + "$ref": "BudgetSummary" + }, + "type": "array" + }, + "correctedInvoiceId": { + "description": "The ID of the original invoice being adjusted by this invoice, if applicable. May appear on the invoice PDF as `Reference invoice number`. If replaced_invoice_ids is set, this field will be empty.", + "type": "string" + }, + "currencyCode": { + "description": "The currency used in the invoice in ISO 4217 format.", + "type": "string" + }, + "displayName": { + "description": "The display name of the invoice.", + "type": "string" + }, + "dueDate": { + "$ref": "Date", + "description": "The date when the invoice is due." + }, + "invoiceId": { + "description": "The unique ID of the invoice.", + "type": "string" + }, + "invoiceType": { + "description": "The type of invoice document.", + "enum": [ + "INVOICE_TYPE_UNSPECIFIED", + "INVOICE_TYPE_CREDIT", + "INVOICE_TYPE_INVOICE" + ], + "enumDescriptions": [ + "Not specified or is unknown in this version.", + "The invoice has a negative amount.", + "The invoice has a positive amount." + ], + "type": "string" + }, + "issueDate": { + "$ref": "Date", + "description": "The date when the invoice was issued." + }, + "name": { + "description": "The resource name of the invoice.", + "type": "string" + }, + "nonBudgetMicros": { + "description": "The total amount of costs or adjustments not tied to a particular budget, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.", + "format": "int64", + "type": "string" + }, + "paymentsAccountId": { + "description": "The ID of the payments account the invoice belongs to. Appears on the invoice PDF as `Billing Account Number`.", + "type": "string" + }, + "paymentsProfileId": { + "description": "The ID of the payments profile the invoice belongs to. Appears on the invoice PDF as `Billing ID`.", + "type": "string" + }, + "pdfUrl": { + "description": "The URL to download a PDF copy of the invoice. This URL is user specific and requires a valid OAuth 2.0 access token to access. The access token must be provided in an `Authorization: Bearer` HTTP header and be authorized for one of the following scopes: * `https://www.googleapis.com/auth/display-video-mediaplanning` * `https://www.googleapis.com/auth/display-video` The URL will be valid for 7 days after retrieval of this invoice object or until this invoice is retrieved again.", + "type": "string" + }, + "purchaseOrderNumber": { + "description": "Purchase order number associated with the invoice.", + "type": "string" + }, + "replacedInvoiceIds": { + "description": "The ID(s) of any originally issued invoice that is being cancelled by this invoice, if applicable. Multiple invoices may be listed if those invoices are being consolidated into a single invoice. May appear on invoice PDF as `Replaced invoice numbers`. If corrected_invoice_id is set, this field will be empty.", + "items": { + "type": "string" + }, + "type": "array" + }, + "serviceDateRange": { + "$ref": "DateRange", + "description": "The service start and end dates which are covered by this invoice." + }, + "subtotalAmountMicros": { + "description": "The pre-tax subtotal amount, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.", + "format": "int64", + "type": "string" + }, + "totalAmountMicros": { + "description": "The invoice total amount, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.", + "format": "int64", + "type": "string" + }, + "totalTaxAmountMicros": { + "description": "The sum of all taxes in invoice, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "KeywordAssignedTargetingOptionDetails": { + "description": "Details for assigned keyword targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_KEYWORD`.", + "id": "KeywordAssignedTargetingOptionDetails", + "properties": { + "keyword": { + "description": "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.", + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + } + }, + "type": "object" + }, + "Kpi": { + "description": "Settings that control the key performance indicator, or KPI, of an insertion order.", + "id": "Kpi", + "properties": { + "kpiAlgorithmId": { + "description": "Optional. Custom Bidding Algorithm ID associated with KPI_CUSTOM_IMPRESSION_VALUE_OVER_COST. This field is ignored if the proper KPI is not selected.", + "format": "int64", + "type": "string" + }, + "kpiAmountMicros": { + "description": "The goal amount, in micros of the advertiser's currency. Applicable when kpi_type is one of: * `KPI_TYPE_CPM` * `KPI_TYPE_CPC` * `KPI_TYPE_CPA` * `KPI_TYPE_CPIAVC` * `KPI_TYPE_VCPM` For example: 1500000 represents 1.5 standard units of the currency.", + "format": "int64", + "type": "string" + }, + "kpiPercentageMicros": { + "description": "The decimal representation of the goal percentage in micros. Applicable when kpi_type is one of: * `KPI_TYPE_CTR` * `KPI_TYPE_VIEWABILITY` * `KPI_TYPE_CLICK_CVR` * `KPI_TYPE_IMPRESSION_CVR` * `KPI_TYPE_VTR` * `KPI_TYPE_AUDIO_COMPLETION_RATE` * `KPI_TYPE_VIDEO_COMPLETION_RATE` For example: 70000 represents 7% (decimal 0.07).", + "format": "int64", + "type": "string" + }, + "kpiString": { + "description": "A KPI string, which can be empty. Must be UTF-8 encoded with a length of no more than 100 characters. Applicable when kpi_type is `KPI_TYPE_OTHER`.", + "type": "string" + }, + "kpiType": { + "description": "Required. The type of KPI.", + "enum": [ + "KPI_TYPE_UNSPECIFIED", + "KPI_TYPE_CPM", + "KPI_TYPE_CPC", + "KPI_TYPE_CPA", + "KPI_TYPE_CTR", + "KPI_TYPE_VIEWABILITY", + "KPI_TYPE_CPIAVC", + "KPI_TYPE_CPE", + "KPI_TYPE_CPV", + "KPI_TYPE_CLICK_CVR", + "KPI_TYPE_IMPRESSION_CVR", + "KPI_TYPE_VCPM", + "KPI_TYPE_VTR", + "KPI_TYPE_AUDIO_COMPLETION_RATE", + "KPI_TYPE_VIDEO_COMPLETION_RATE", + "KPI_TYPE_CPCL", + "KPI_TYPE_CPCV", + "KPI_TYPE_TOS10", + "KPI_TYPE_MAXIMIZE_PACING", + "KPI_TYPE_CUSTOM_IMPRESSION_VALUE_OVER_COST", + "KPI_TYPE_OTHER" + ], + "enumDescriptions": [ + "KPI type is not specified or is unknown in this version.", + "The KPI is CPM (cost per mille).", + "The KPI is CPC (cost per click).", + "The KPI is CPA (cost per action).", + "The KPI is CTR (click-through rate) percentage.", + "The KPI is Viewability percentage.", + "The KPI is CPIAVC (cost per impression audible and visible at completion).", + "The KPI is CPE (cost per engagement).", + "The KPI is set in CPV (cost per view).", + "The KPI is click conversion rate (conversions per click) percentage.", + "The KPI is impression conversion rate (conversions per impression) percentage.", + "The KPI is VCPM (cost per thousand viewable impressions).", + "The KPI is YouTube view rate (YouTube views per impression) percentage.", + "The KPI is audio completion rate (complete audio listens per impression) percentage.", + "The KPI is video completion rate (complete video views per impression) percentage.", + "The KPI is set in CPCL (cost per complete audio listen).", + "The KPI is set in CPCV (cost per complete video view).", + "The KPI is set in rate of time on screen 10+ seconds (Percentage of measurable, non-skippable impressions that were on the screen for at least 10 seconds).", + "The KPI is set to maximize brand impact while prioritizing spending the full budget.", + "The KPI is set in custom impression value divided by cost.", + "The KPI is some other value." + ], + "type": "string" + } + }, + "type": "object" + }, + "LanguageAssignedTargetingOptionDetails": { + "description": "Details for assigned language targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_LANGUAGE`.", + "id": "LanguageAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the language (e.g., \"French\").", + "readOnly": true, + "type": "string" + }, + "negative": { + "description": "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.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.", + "type": "string" + } + }, + "type": "object" + }, + "LanguageTargetingOptionDetails": { + "description": "Represents a targetable language. This will be populated in the language_details field when targeting_type is `TARGETING_TYPE_LANGUAGE`.", + "id": "LanguageTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the language (e.g., \"French\").", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "LineItem": { + "description": "A single line item.", + "id": "LineItem", + "properties": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the line item belongs to.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "bidStrategy": { + "$ref": "BiddingStrategy", + "description": "Required. The bidding strategy of the line item." + }, + "budget": { + "$ref": "LineItemBudget", + "description": "Required. The budget allocation setting of the line item." + }, + "campaignId": { + "description": "Output only. The unique ID of the campaign that the line item belongs to.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "conversionCounting": { + "$ref": "ConversionCountingConfig", + "description": "The conversion tracking setting of the line item. *Warning*: Starting **April 1, 2025**, the floodlight_activity_configs field will no longer be writable while a custom bidding algorithm is assigned to the line item. If you set this field and assign a custom bidding algorithm in the same request, the floodlight activities must match the ones used by the custom bidding algorithm. [Read more about this announced change](/display-video/api/deprecations#features.custom_bidding_floodlight)." + }, + "creativeIds": { + "description": "The IDs of the creatives associated with the line item.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "displayName": { + "description": "Required. The display name of the line item. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "entityStatus": { + "description": "Required. Controls whether or not the line item can spend its budget and bid on inventory. * For CreateLineItem method, only `ENTITY_STATUS_DRAFT` is allowed. To activate a line item, use UpdateLineItem method and update the status to `ENTITY_STATUS_ACTIVE` after creation. * A line item cannot be changed back to `ENTITY_STATUS_DRAFT` status from any other status. * If the line item's parent insertion order is not active, the line item can't spend its budget even if its own status is `ENTITY_STATUS_ACTIVE`.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "excludeNewExchanges": { + "description": "Whether to exclude new exchanges from automatically being targeted by the line item. This field is false by default.", + "type": "boolean" + }, + "flight": { + "$ref": "LineItemFlight", + "description": "Required. The start and end time of the line item's flight." + }, + "frequencyCap": { + "$ref": "FrequencyCap", + "description": "Required. The impression frequency cap settings of the line item. The max_impressions field in this settings object must be used if assigning a limited cap. *Warning*: On **February 28, 2025**, frequency cap time periods greater than 30 days will no longer be accepted. [Read more about this announced change](/display-video/api/deprecations#features.lifetime_frequency_cap)" + }, + "insertionOrderId": { + "description": "Required. Immutable. The unique ID of the insertion order that the line item belongs to.", + "format": "int64", + "type": "string" + }, + "integrationDetails": { + "$ref": "IntegrationDetails", + "description": "Integration details of the line item." + }, + "lineItemId": { + "description": "Output only. The unique ID of the line item. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "lineItemType": { + "description": "Required. Immutable. The type of the line item.", + "enum": [ + "LINE_ITEM_TYPE_UNSPECIFIED", + "LINE_ITEM_TYPE_DISPLAY_DEFAULT", + "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL", + "LINE_ITEM_TYPE_VIDEO_DEFAULT", + "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL", + "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INVENTORY", + "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INVENTORY", + "LINE_ITEM_TYPE_AUDIO_DEFAULT", + "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_ACTION", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_AUDIO", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE_OVER_THE_TOP", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH_OVER_THE_TOP", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE_OVER_THE_TOP", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_TARGET_FREQUENCY", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIEW", + "LINE_ITEM_TYPE_DISPLAY_OUT_OF_HOME", + "LINE_ITEM_TYPE_VIDEO_OUT_OF_HOME" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version. Line items of this type and their targeting cannot be created or updated using the API.", + "Image, HTML5, native, or rich media ads.", + "Display ads that drive installs of an app.", + "Video ads sold on a CPM basis for a variety of environments.", + "Video ads that drive installs of an app.", + "Display ads served on mobile app inventory. Line items of this type and their targeting cannot be created or updated using the API.", + "Video ads served on mobile app inventory. Line items of this type and their targeting cannot be created or updated using the API.", + "RTB Audio ads sold for a variety of environments.", + "Over-the-top ads present in OTT insertion orders. This type is only applicable to line items with an insertion order of insertion_order_type `OVER_THE_TOP`.", + "YouTube video ads that promote conversions. Line items of this type and their targeting cannot be created or updated using the API.", + "YouTube video ads (up to 15 seconds) that cannot be skipped. Line items of this type and their targeting cannot be created or updated using the API.", + "YouTube video ads that show a story in a particular sequence using a mix of formats. Line items of this type and their targeting cannot be created or updated using the API.", + "YouTube audio ads. Line items of this type and their targeting cannot be created or updated using the API.", + "YouTube video ads that optimize reaching more unique users at lower cost. May include bumper ads, skippable in-stream ads, or a mix of types. Line items of this type and their targeting cannot be created or updated using the API.", + "Default YouTube video ads. Line items of this type and their targeting cannot be created or updated using the API.", + "Connected TV youTube video ads (up to 15 seconds) that cannot be skipped. Line items of this type and their targeting cannot be created or updated using the API.", + "Connected TV youTube video ads that optimize reaching more unique users at lower cost. May include bumper ads, skippable in-stream ads, or a mix of types. Line items of this type and their targeting cannot be created or updated using the API.", + "Connected TV default YouTube video ads. Only include in-stream ad-format. Line items of this type and their targeting cannot be created or updated using the API.", + "The goal of this line item type is to show the YouTube ads target number of times to the same person in a certain period of time. Line items of this type and their targeting cannot be created or updated using the API.", + "YouTube video ads that aim to get more views with a variety of ad formats. Line items of this type and their targeting cannot be created or updated using the API.", + "Display ads served on digital-out-of-home inventory. Line items of this type and their targeting cannot be created or updated using the API.", + "Video ads served on digital-out-of-home inventory. Line items of this type and their targeting cannot be created or updated using the API." + ], + "type": "string" + }, + "mobileApp": { + "$ref": "MobileApp", + "description": "The mobile app promoted by the line item. This is applicable only when line_item_type is either `LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL` or `LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL`." + }, + "name": { + "description": "Output only. The resource name of the line item.", + "readOnly": true, + "type": "string" + }, + "pacing": { + "$ref": "Pacing", + "description": "Required. The budget spending speed setting of the line item." + }, + "partnerCosts": { + "description": "The partner costs associated with the line item. If absent or empty in CreateLineItem method, the newly created line item will inherit partner costs from its parent insertion order.", + "items": { + "$ref": "PartnerCost" + }, + "type": "array" + }, + "partnerRevenueModel": { + "$ref": "PartnerRevenueModel", + "description": "Required. The partner revenue model setting of the line item." + }, + "reservationType": { + "description": "Output only. The reservation type of the line item.", + "enum": [ + "RESERVATION_TYPE_UNSPECIFIED", + "RESERVATION_TYPE_NOT_GUARANTEED", + "RESERVATION_TYPE_PROGRAMMATIC_GUARANTEED", + "RESERVATION_TYPE_TAG_GUARANTEED", + "RESERVATION_TYPE_PETRA_VIRAL", + "RESERVATION_TYPE_INSTANT_RESERVE" + ], + "enumDescriptions": [ + "Reservation type value is not specified or is unknown in this version.", + "Not created through a guaranteed inventory source.", + "Created through a programmatic guaranteed inventory source.", + "Created through a tag guaranteed inventory source.", + "Created through a Petra inventory source. Only applicable to YouTube and Partners line items.", + "Created with an instant quote. Only applicable to YouTube and partners line items." + ], + "readOnly": true, + "type": "string" + }, + "targetingExpansion": { + "$ref": "TargetingExpansionConfig", + "description": "The [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the line item. This config is only applicable for display, video, or audio line items that use automated bidding and positively target eligible audience lists." + }, + "updateTime": { + "description": "Output only. The timestamp when the line item was last updated. Assigned by the system.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "warningMessages": { + "description": "Output only. The warning messages generated by the line item. These warnings do not block saving the line item, but some may block the line item from running.", + "items": { + "enum": [ + "LINE_ITEM_WARNING_MESSAGE_UNSPECIFIED", + "INVALID_FLIGHT_DATES", + "EXPIRED", + "PENDING_FLIGHT", + "ALL_PARTNER_ENABLED_EXCHANGES_NEGATIVELY_TARGETED", + "INVALID_INVENTORY_SOURCE", + "APP_INVENTORY_INVALID_SITE_TARGETING", + "APP_INVENTORY_INVALID_AUDIENCE_LISTS", + "NO_VALID_CREATIVE", + "PARENT_INSERTION_ORDER_PAUSED", + "PARENT_INSERTION_ORDER_EXPIRED" + ], + "enumDescriptions": [ + "Not specified or is unknown.", + "This line item has invalid flight dates. The line item will not run.", + "This line item's end date is in the past.", + "This line item will begin running in the future.", + "All partner enabled exchanges are negatively targeted. The line item will not run.", + "No active inventory sources are being targeted. The line item will not run.", + "This line item's Apps & URLs targeting doesn't include any mobile apps. This line item's type requires you to include mobile apps in your channel, sitelist, or apps targeting. The line item will not run.", + "This line item isn't targeting any mobile users. This line item's type requires you to target a user list with mobile users. The line item will not run.", + "This line item does not contain any valid creative. The line item will not run.", + "The insertion order of this line item is paused. The line item will not run.", + "The insertion order of this line item has its end date set in the past. The line item will not run." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "youtubeAndPartnersSettings": { + "$ref": "YoutubeAndPartnersSettings", + "description": "Output only. Settings specific to YouTube and Partners line items.", + "readOnly": true + } + }, + "type": "object" + }, + "LineItemAssignedTargetingOption": { + "description": "Wrapper object associating an assigned_targeting_option resource and the line item it is assigned to.", + "id": "LineItemAssignedTargetingOption", + "properties": { + "assignedTargetingOption": { + "$ref": "AssignedTargetingOption", + "description": "The assigned targeting option resource." + }, + "lineItemId": { + "description": "The ID of the line item the assigned targeting option is assigned to.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "LineItemBudget": { + "description": "Settings that control how budget is allocated.", + "id": "LineItemBudget", + "properties": { + "budgetAllocationType": { + "description": "Required. The type of the budget allocation. `LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC` is only applicable when automatic budget allocation is enabled for the parent insertion order.", + "enum": [ + "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNSPECIFIED", + "LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC", + "LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED", + "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Automatic budget allocation is enabled for the line item.", + "A fixed max budget amount is allocated for the line item.", + "No budget limit is applied to the line item." + ], + "type": "string" + }, + "budgetUnit": { + "description": "Output only. The budget unit specifies whether the budget is currency based or impression based. This value is inherited from the parent insertion order.", + "enum": [ + "BUDGET_UNIT_UNSPECIFIED", + "BUDGET_UNIT_CURRENCY", + "BUDGET_UNIT_IMPRESSIONS" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Budgeting in currency amounts.", + "Budgeting in impression amounts." + ], + "readOnly": true, + "type": "string" + }, + "maxAmount": { + "description": "The maximum budget amount the line item will spend. Must be greater than 0. When budget_allocation_type is: * `LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC`, this field is immutable and is set by the system. * `LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED`, if budget_unit is: - `BUDGET_UNIT_CURRENCY`, this field represents maximum budget amount to spend, in micros of the advertiser's currency. For example, 1500000 represents 1.5 standard units of the currency. - `BUDGET_UNIT_IMPRESSIONS`, this field represents the maximum number of impressions to serve. * `LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED`, this field is not applicable and will be ignored by the system.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "LineItemFlight": { + "description": "Settings that control the active duration of a line item.", + "id": "LineItemFlight", + "properties": { + "dateRange": { + "$ref": "DateRange", + "description": "The flight start and end dates of the line item. They are resolved relative to the parent advertiser's time zone. * Required when flight_date_type is `LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM`. Output only otherwise. * When creating a new flight, both `start_date` and `end_date` must be in the future. * An existing flight with a `start_date` in the past has a mutable `end_date` but an immutable `start_date`. * `end_date` must be the `start_date` or later, both before the year 2037." + }, + "flightDateType": { + "description": "Required. The type of the line item's flight dates.", + "enum": [ + "LINE_ITEM_FLIGHT_DATE_TYPE_UNSPECIFIED", + "LINE_ITEM_FLIGHT_DATE_TYPE_INHERITED", + "LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "The line item's flight dates are inherited from its parent insertion order.", + "The line item uses its own custom flight dates." + ], + "type": "string" + } + }, + "type": "object" + }, + "ListAdGroupAdsResponse": { + "id": "ListAdGroupAdsResponse", + "properties": { + "adGroupAds": { + "description": "The list of ad group ads. This list will be absent if empty.", + "items": { + "$ref": "AdGroupAd" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListAdGroupAds` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListAdGroupAssignedTargetingOptionsResponse": { + "description": "Response message for ListAdGroupAssignedTargetingOptions.", + "id": "ListAdGroupAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListAdGroupAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more AssignedTargetingOption resources to return.", + "type": "string" + } + }, + "type": "object" + }, + "ListAdGroupsResponse": { + "id": "ListAdGroupsResponse", + "properties": { + "adGroups": { + "description": "The list of ad groups. This list will be absent if empty.", + "items": { + "$ref": "AdGroup" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListAdGroups` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListAdvertiserAssignedTargetingOptionsResponse": { + "description": "Response message for ListAdvertiserAssignedTargetingOptions.", + "id": "ListAdvertiserAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListAdvertiserAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.", + "type": "string" + } + }, + "type": "object" + }, + "ListAdvertisersResponse": { + "id": "ListAdvertisersResponse", + "properties": { + "advertisers": { + "description": "The list of advertisers. This list will be absent if empty.", + "items": { + "$ref": "Advertiser" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListAdvertisers` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListAssignedInventorySourcesResponse": { + "description": "Response message for AssignedInventorySourceService.ListAssignedInventorySources.", + "id": "ListAssignedInventorySourcesResponse", + "properties": { + "assignedInventorySources": { + "description": "The list of assigned inventory sources. This list will be absent if empty.", + "items": { + "$ref": "AssignedInventorySource" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListAssignedInventorySources` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListAssignedLocationsResponse": { + "description": "Response message for AssignedLocationService.ListAssignedLocations.", + "id": "ListAssignedLocationsResponse", + "properties": { + "assignedLocations": { + "description": "The list of assigned locations. This list will be absent if empty.", + "items": { + "$ref": "AssignedLocation" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListAssignedLocations` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListCampaignsResponse": { + "id": "ListCampaignsResponse", + "properties": { + "campaigns": { + "description": "The list of campaigns. This list will be absent if empty.", + "items": { + "$ref": "Campaign" + }, + "type": "array" + }, + "nextPageToken": { + "description": "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.", + "type": "string" + } + }, + "type": "object" + }, + "ListChannelsResponse": { + "id": "ListChannelsResponse", + "properties": { + "channels": { + "description": "The list of channels. This list will be absent if empty.", + "items": { + "$ref": "Channel" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListChannels` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListCombinedAudiencesResponse": { + "id": "ListCombinedAudiencesResponse", + "properties": { + "combinedAudiences": { + "description": "The list of combined audiences. This list will be absent if empty.", + "items": { + "$ref": "CombinedAudience" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListCombinedAudiences` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListCreativesResponse": { + "id": "ListCreativesResponse", + "properties": { + "creatives": { + "description": "The list of creatives. This list will be absent if empty.", + "items": { + "$ref": "Creative" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListCreativesRequest` method to retrieve the next page of results. If this field is null, it means this is the last page.", + "type": "string" + } + }, + "type": "object" + }, + "ListCustomBiddingAlgorithmRulesResponse": { + "id": "ListCustomBiddingAlgorithmRulesResponse", + "properties": { + "customBiddingRules": { + "description": "The list of CustomBiddingAlgorithmRules resources. This list will be absent if empty.", + "items": { + "$ref": "CustomBiddingAlgorithmRules" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListCustomBiddingAlgorithmRulesRequest` method to retrieve the next page of results. If this field is null, it means this is the last page.", + "type": "string" + } + }, + "type": "object" + }, + "ListCustomBiddingAlgorithmsResponse": { + "id": "ListCustomBiddingAlgorithmsResponse", + "properties": { + "customBiddingAlgorithms": { + "description": "The list of custom bidding algorithms. This list will be absent if empty.", + "items": { + "$ref": "CustomBiddingAlgorithm" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListCustomBiddingAlgorithmsRequest` method to retrieve the next page of results. If this field is null, it means this is the last page.", + "type": "string" + } + }, + "type": "object" + }, + "ListCustomBiddingScriptsResponse": { + "id": "ListCustomBiddingScriptsResponse", + "properties": { + "customBiddingScripts": { + "description": "The list of custom bidding scripts. This list will be absent if empty.", + "items": { + "$ref": "CustomBiddingScript" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListCustomBiddingScriptsRequest` method to retrieve the next page of results. If this field is null, it means this is the last page.", + "type": "string" + } + }, + "type": "object" + }, + "ListCustomListsResponse": { + "id": "ListCustomListsResponse", + "properties": { + "customLists": { + "description": "The list of custom lists. This list will be absent if empty.", + "items": { + "$ref": "CustomList" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListCustomLists` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListFirstPartyAndPartnerAudiencesResponse": { + "id": "ListFirstPartyAndPartnerAudiencesResponse", + "properties": { + "firstPartyAndPartnerAudiences": { + "description": "The list of first party and partner audiences. Audience size properties will not be included. This list will be absent if empty.", + "items": { + "$ref": "FirstPartyAndPartnerAudience" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListFirstPartyAndPartnerAudiences` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListFloodlightActivitiesResponse": { + "id": "ListFloodlightActivitiesResponse", + "properties": { + "floodlightActivities": { + "description": "The list of Floodlight activities. This list will be absent if empty.", + "items": { + "$ref": "FloodlightActivity" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListFloodlightActivities` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListGoogleAudiencesResponse": { + "id": "ListGoogleAudiencesResponse", + "properties": { + "googleAudiences": { + "description": "The list of Google audiences. This list will be absent if empty.", + "items": { + "$ref": "GoogleAudience" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListGoogleAudiences` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListGuaranteedOrdersResponse": { + "id": "ListGuaranteedOrdersResponse", + "properties": { + "guaranteedOrders": { + "description": "The list of guaranteed orders. This list will be absent if empty.", + "items": { + "$ref": "GuaranteedOrder" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListGuaranteedOrders` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListInsertionOrdersResponse": { + "id": "ListInsertionOrdersResponse", + "properties": { + "insertionOrders": { + "description": "The list of insertion orders. This list will be absent if empty.", + "items": { + "$ref": "InsertionOrder" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListInsertionOrders` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListInventorySourceGroupsResponse": { + "description": "Response message for InventorySourceGroupService.ListInventorySourceGroups.", + "id": "ListInventorySourceGroupsResponse", + "properties": { + "inventorySourceGroups": { + "description": "The list of inventory source groups. This list will be absent if empty.", + "items": { + "$ref": "InventorySourceGroup" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListInventorySourceGroups` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListInventorySourcesResponse": { + "id": "ListInventorySourcesResponse", + "properties": { + "inventorySources": { + "description": "The list of inventory sources. This list will be absent if empty.", + "items": { + "$ref": "InventorySource" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListInventorySources` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListInvoicesResponse": { + "id": "ListInvoicesResponse", + "properties": { + "invoices": { + "description": "The list of invoices. This list will be absent if empty.", + "items": { + "$ref": "Invoice" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListInvoices` method to retrieve the next page of results. This token will be absent if there are no more invoices to return.", + "type": "string" + } + }, + "type": "object" + }, + "ListLineItemAssignedTargetingOptionsResponse": { + "description": "Response message for ListLineItemAssignedTargetingOptions.", + "id": "ListLineItemAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListLineItemAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.", + "type": "string" + } + }, + "type": "object" + }, + "ListLineItemsResponse": { + "id": "ListLineItemsResponse", + "properties": { + "lineItems": { + "description": "The list of line items. This list will be absent if empty.", + "items": { + "$ref": "LineItem" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListLineItems` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListLocationListsResponse": { + "id": "ListLocationListsResponse", + "properties": { + "locationLists": { + "description": "The list of location lists. This list will be absent if empty.", + "items": { + "$ref": "LocationList" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListLocationLists` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListNegativeKeywordListsResponse": { + "description": "Response message for NegativeKeywordListService.ListNegativeKeywordLists.", + "id": "ListNegativeKeywordListsResponse", + "properties": { + "negativeKeywordLists": { + "description": "The list of negative keyword lists. This list will be absent if empty.", + "items": { + "$ref": "NegativeKeywordList" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListNegativeKeywordLists` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListNegativeKeywordsResponse": { + "description": "Response message for NegativeKeywordService.ListNegativeKeywords.", + "id": "ListNegativeKeywordsResponse", + "properties": { + "negativeKeywords": { + "description": "The list of negative keywords. This list will be absent if empty.", + "items": { + "$ref": "NegativeKeyword" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListNegativeKeywords` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListPartnerAssignedTargetingOptionsResponse": { + "id": "ListPartnerAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListPartnerAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.", + "type": "string" + } + }, + "type": "object" + }, + "ListPartnersResponse": { + "id": "ListPartnersResponse", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListPartners` method to retrieve the next page of results.", + "type": "string" + }, + "partners": { + "description": "The list of partners. This list will be absent if empty.", + "items": { + "$ref": "Partner" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListSitesResponse": { + "description": "Response message for SiteService.ListSites.", + "id": "ListSitesResponse", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListSites` method to retrieve the next page of results.", + "type": "string" + }, + "sites": { + "description": "The list of sites. This list will be absent if empty.", + "items": { + "$ref": "Site" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListTargetingOptionsResponse": { + "description": "Response message for ListTargetingOptions.", + "id": "ListTargetingOptionsResponse", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListTargetingOptions` method to retrieve the next page of results.", + "type": "string" + }, + "targetingOptions": { + "description": "The list of targeting options. This list will be absent if empty.", + "items": { + "$ref": "TargetingOption" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListUsersResponse": { + "id": "ListUsersResponse", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListUsers` method to retrieve the next page of results. This token will be absent if there are no more results to return.", + "type": "string" + }, + "users": { + "description": "The list of users. This list will be absent if empty.", + "items": { + "$ref": "User" + }, + "type": "array" + } + }, + "type": "object" + }, + "LocationList": { + "description": "A list of locations used for targeting.", + "id": "LocationList", + "properties": { + "advertiserId": { + "description": "Required. Immutable. The unique ID of the advertiser the location list belongs to.", + "format": "int64", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the location list. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "locationListId": { + "description": "Output only. The unique ID of the location list. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "locationType": { + "description": "Required. Immutable. The type of location. All locations in the list will share this type.", + "enum": [ + "TARGETING_LOCATION_TYPE_UNSPECIFIED", + "TARGETING_LOCATION_TYPE_PROXIMITY", + "TARGETING_LOCATION_TYPE_REGIONAL" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown.", + "The type for proximity geo location.", + "The type for regional geo location." + ], + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the location list.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "LookbackWindow": { + "description": "Specifies how many days into the past to look when determining whether to record a conversion.", + "id": "LookbackWindow", + "properties": { + "clickDays": { + "description": "Lookback window, in days, from the last time a given user clicked on one of your ads.", + "format": "int32", + "type": "integer" + }, + "impressionDays": { + "description": "Lookback window, in days, from the last time a given user viewed one of your ads.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "LookupInvoiceCurrencyResponse": { + "id": "LookupInvoiceCurrencyResponse", + "properties": { + "currencyCode": { + "description": "Currency used by the advertiser in ISO 4217 format.", + "type": "string" + } + }, + "type": "object" + }, + "MastheadAd": { + "description": "Details for a Masthead Ad.", + "id": "MastheadAd", + "properties": { + "autoplayVideoDuration": { + "description": "The duration of time the video will autoplay.", + "format": "google-duration", + "type": "string" + }, + "autoplayVideoStartMillisecond": { + "description": "The amount of time in milliseconds after which the video will start to play.", + "format": "int64", + "type": "string" + }, + "callToActionButtonLabel": { + "description": "The text on the call-to-action button.", + "type": "string" + }, + "callToActionFinalUrl": { + "description": "The destination URL for the call-to-action button.", + "type": "string" + }, + "callToActionTrackingUrl": { + "description": "The tracking URL for the call-to-action button.", + "type": "string" + }, + "companionYoutubeVideos": { + "description": "The videos that appear next to the Masthead Ad on desktop. Can be no more than two.", + "items": { + "$ref": "YoutubeVideoDetails" + }, + "type": "array" + }, + "description": { + "description": "The description of the ad.", + "type": "string" + }, + "headline": { + "description": "The headline of the ad.", + "type": "string" + }, + "showChannelArt": { + "description": "Whether to show a background or banner that appears at the top of a YouTube page.", + "type": "boolean" + }, + "video": { + "$ref": "YoutubeVideoDetails", + "description": "The YouTube video used by the ad." + }, + "videoAspectRatio": { + "description": "The aspect ratio of the autoplaying YouTube video on the Masthead.", + "enum": [ + "VIDEO_ASPECT_RATIO_UNSPECIFIED", + "VIDEO_ASPECT_RATIO_WIDESCREEN", + "VIDEO_ASPECT_RATIO_FIXED_16_9" + ], + "enumDescriptions": [ + "Not specified or unknown.", + "The video is stretched and the top and bottom are cropped.", + "The video uses a fixed 16:9 aspect ratio." + ], + "type": "string" + } + }, + "type": "object" + }, + "MaximizeSpendBidStrategy": { + "description": "A strategy that automatically adjusts the bid to optimize a specified performance goal while spending the full budget.", + "id": "MaximizeSpendBidStrategy", + "properties": { + "customBiddingAlgorithmId": { + "description": "The ID of the Custom Bidding Algorithm used by this strategy. Only applicable when performance_goal_type is set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`. *Warning*: Starting **April 1, 2025**, assigning a custom bidding algorithm that uses floodlight activities not identified in floodlightActivityConfigs will return an error. [Read more about this announced change](/display-video/api/deprecations#features.custom_bidding_floodlight).", + "format": "int64", + "type": "string" + }, + "maxAverageCpmBidAmountMicros": { + "description": "The maximum average CPM that may be bid, in micros of the advertiser's currency. Must be greater than or equal to a billable unit of the given currency. For example, 1500000 represents 1.5 standard units of the currency.", + "format": "int64", + "type": "string" + }, + "performanceGoalType": { + "description": "Required. The type of the performance goal that the bidding strategy tries to minimize while spending the full budget. `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` is not supported for this strategy.", + "enum": [ + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Cost per action.", + "Cost per click.", + "Viewable CPM.", + "Custom bidding algorithm.", + "Completed inview and audible views.", + "Inview time over 10 secs views.", + "Viewable impressions." + ], + "type": "string" + }, + "raiseBidForDeals": { + "description": "Whether the strategy takes deal floor prices into account.", + "type": "boolean" + } + }, + "type": "object" + }, + "MeasurementConfig": { + "description": "Measurement settings of a partner.", + "id": "MeasurementConfig", + "properties": { + "dv360ToCmCostReportingEnabled": { + "description": "Whether or not to report DV360 cost to CM360.", + "type": "boolean" + }, + "dv360ToCmDataSharingEnabled": { + "description": "Whether or not to include DV360 data in CM360 data transfer reports.", + "type": "boolean" + } + }, + "type": "object" + }, + "MobileApp": { + "description": "A mobile app promoted by a mobile app install line item.", + "id": "MobileApp", + "properties": { + "appId": { + "description": "Required. The ID of the app provided by the platform store. Android apps are identified by the bundle ID used by Android's Play store, such as `com.google.android.gm`. iOS apps are identified by a nine-digit app ID used by Apple's App store, such as `422689480`.", + "type": "string" + }, + "displayName": { + "description": "Output only. The app name.", + "readOnly": true, + "type": "string" + }, + "platform": { + "description": "Output only. The app platform.", + "enum": [ + "PLATFORM_UNSPECIFIED", + "IOS", + "ANDROID" + ], + "enumDescriptions": [ + "Platform is not specified.", + "iOS platform.", + "Android platform." + ], + "readOnly": true, + "type": "string" + }, + "publisher": { + "description": "Output only. The app publisher.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MobileDeviceIdList": { + "description": "Wrapper message for a list of mobile device IDs defining Customer Match audience members.", + "id": "MobileDeviceIdList", + "properties": { + "consent": { + "$ref": "Consent", + "description": "Input only. The consent setting for the users in mobile_device_ids. Leaving this field unset indicates that consent is not specified. If ad_user_data or ad_personalization fields are set to `CONSENT_STATUS_DENIED`, the request will return an error." + }, + "mobileDeviceIds": { + "description": "A list of mobile device IDs defining Customer Match audience members. The size of mobile_device_ids mustn't be greater than 500,000.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Money": { + "description": "Represents an amount of money with its currency type.", + "id": "Money", + "properties": { + "currencyCode": { + "description": "The three-letter currency code defined in ISO 4217.", + "type": "string" + }, + "nanos": { + "description": "Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.", + "format": "int32", + "type": "integer" + }, + "units": { + "description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "NativeContentPositionAssignedTargetingOptionDetails": { + "description": "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.", + "id": "NativeContentPositionAssignedTargetingOptionDetails", + "properties": { + "contentPosition": { + "description": "Required. The content position.", + "enum": [ + "NATIVE_CONTENT_POSITION_UNSPECIFIED", + "NATIVE_CONTENT_POSITION_UNKNOWN", + "NATIVE_CONTENT_POSITION_IN_ARTICLE", + "NATIVE_CONTENT_POSITION_IN_FEED", + "NATIVE_CONTENT_POSITION_PERIPHERAL", + "NATIVE_CONTENT_POSITION_RECOMMENDATION" + ], + "enumDescriptions": [ + "Native content position is not specified in this version. This enum is a place holder for a default value and does not represent a real native content position.", + "The native content position is unknown.", + "Native content position is in-article, i.e., ads appear between the paragraphs of pages.", + "Native content position is in-feed, i.e., ads appear in a scrollable stream of content. A feed is typically editorial (e.g. a list of articles or news) or listings (e.g. a list of products or services).", + "Native content position is peripheral, i.e., ads appear outside of core content on pages, such as the right- or left-hand side of the page.", + "Native content position is recommendation, i.e., ads appear in sections for recommended content." + ], + "type": "string" + } + }, + "type": "object" + }, + "NativeContentPositionTargetingOptionDetails": { + "description": "Represents a targetable native content position. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.", + "id": "NativeContentPositionTargetingOptionDetails", + "properties": { + "contentPosition": { + "description": "Output only. The content position.", + "enum": [ + "NATIVE_CONTENT_POSITION_UNSPECIFIED", + "NATIVE_CONTENT_POSITION_UNKNOWN", + "NATIVE_CONTENT_POSITION_IN_ARTICLE", + "NATIVE_CONTENT_POSITION_IN_FEED", + "NATIVE_CONTENT_POSITION_PERIPHERAL", + "NATIVE_CONTENT_POSITION_RECOMMENDATION" + ], + "enumDescriptions": [ + "Native content position is not specified in this version. This enum is a place holder for a default value and does not represent a real native content position.", + "The native content position is unknown.", + "Native content position is in-article, i.e., ads appear between the paragraphs of pages.", + "Native content position is in-feed, i.e., ads appear in a scrollable stream of content. A feed is typically editorial (e.g. a list of articles or news) or listings (e.g. a list of products or services).", + "Native content position is peripheral, i.e., ads appear outside of core content on pages, such as the right- or left-hand side of the page.", + "Native content position is recommendation, i.e., ads appear in sections for recommended content." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "NegativeKeyword": { + "description": "A negatively targeted keyword that belongs to a negative keyword list.", + "id": "NegativeKeyword", + "properties": { + "keywordValue": { + "description": "Required. Immutable. The negatively targeted keyword, for example `car insurance`. Must be UTF-8 encoded with a maximum size of 255 bytes. Maximum number of characters is 80. Maximum number of words is 10. Valid characters are restricted to ASCII characters only. The only URL-escaping permitted is for representing whitespace between words. Leading or trailing whitespace is ignored.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the negative keyword.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "NegativeKeywordList": { + "description": "A list of negative keywords used for targeting.", + "id": "NegativeKeywordList", + "properties": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the negative keyword list belongs to.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the negative keyword list. Must be UTF-8 encoded with a maximum size of 255 bytes.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the negative keyword list.", + "readOnly": true, + "type": "string" + }, + "negativeKeywordListId": { + "description": "Output only. The unique ID of the negative keyword list. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "targetedLineItemCount": { + "description": "Output only. Number of line items that are directly targeting this negative keyword list.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "NegativeKeywordListAssignedTargetingOptionDetails": { + "description": "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`.", + "id": "NegativeKeywordListAssignedTargetingOptionDetails", + "properties": { + "negativeKeywordListId": { + "description": "Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "NonSkippableAd": { + "description": "Details for a non-skippable ad.", + "id": "NonSkippableAd", + "properties": { + "commonInStreamAttribute": { + "$ref": "CommonInStreamAttribute", + "description": "Common ad attributes." + }, + "customParameters": { + "additionalProperties": { + "type": "string" + }, + "description": "The custom parameters to pass custom values to tracking URL template.", + "type": "object" + } + }, + "type": "object" + }, + "ObaIcon": { + "description": "OBA Icon for a Creative", + "id": "ObaIcon", + "properties": { + "clickTrackingUrl": { + "description": "Required. The click tracking URL of the OBA icon. Only URLs of the following domains are allowed: * `https://info.evidon.com` * `https://l.betrad.com`", + "type": "string" + }, + "dimensions": { + "$ref": "Dimensions", + "description": "Optional. The dimensions of the OBA icon." + }, + "landingPageUrl": { + "description": "Required. The landing page URL of the OBA icon. Only URLs of the following domains are allowed: * `https://info.evidon.com` * `https://l.betrad.com`", + "type": "string" + }, + "position": { + "description": "Optional. The position of the OBA icon on the creative.", + "enum": [ + "OBA_ICON_POSITION_UNSPECIFIED", + "OBA_ICON_POSITION_UPPER_RIGHT", + "OBA_ICON_POSITION_UPPER_LEFT", + "OBA_ICON_POSITION_LOWER_RIGHT", + "OBA_ICON_POSITION_LOWER_LEFT" + ], + "enumDescriptions": [ + "The OBA icon position is not specified.", + "At the upper right side of the creative.", + "At the upper left side of the creative.", + "At the lower right side of the creative.", + "At the lower left side of the creative." + ], + "type": "string" + }, + "program": { + "description": "Optional. The program of the OBA icon. For example: “AdChoices”.", + "type": "string" + }, + "resourceMimeType": { + "description": "Optional. The MIME type of the OBA icon resource.", + "type": "string" + }, + "resourceUrl": { + "description": "Optional. The URL of the OBA icon resource.", + "type": "string" + }, + "viewTrackingUrl": { + "description": "Required. The view tracking URL of the OBA icon. Only URLs of the following domains are allowed: * `https://info.evidon.com` * `https://l.betrad.com`", + "type": "string" + } + }, + "type": "object" + }, + "OmidAssignedTargetingOptionDetails": { + "description": "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`.", + "id": "OmidAssignedTargetingOptionDetails", + "properties": { + "omid": { + "description": "Required. The type of Open Measurement enabled inventory.", + "enum": [ + "OMID_UNSPECIFIED", + "OMID_FOR_MOBILE_DISPLAY_ADS" + ], + "enumDescriptions": [ + "Default value when omid targeting is not specified in this version.", + "Open Measurement enabled mobile display inventory." + ], + "type": "string" + } + }, + "type": "object" + }, + "OmidTargetingOptionDetails": { + "description": "Represents a targetable Open Measurement enabled inventory type. This will be populated in the omid_details field when targeting_type is `TARGETING_TYPE_OMID`.", + "id": "OmidTargetingOptionDetails", + "properties": { + "omid": { + "description": "Output only. The type of Open Measurement enabled inventory.", + "enum": [ + "OMID_UNSPECIFIED", + "OMID_FOR_MOBILE_DISPLAY_ADS" + ], + "enumDescriptions": [ + "Default value when omid targeting is not specified in this version.", + "Open Measurement enabled mobile display inventory." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "OnScreenPositionAssignedTargetingOptionDetails": { + "description": "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`.", + "id": "OnScreenPositionAssignedTargetingOptionDetails", + "properties": { + "adType": { + "description": "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`.", + "enum": [ + "AD_TYPE_UNSPECIFIED", + "AD_TYPE_DISPLAY", + "AD_TYPE_VIDEO", + "AD_TYPE_AUDIO" + ], + "enumDescriptions": [ + "Ad type is not specified or is unknown in this version.", + "Display creatives, e.g. image and HTML5.", + "Video creatives, e.g. video ads that play during streaming content in video players.", + "Audio creatives, e.g. audio ads that play during audio content." + ], + "readOnly": true, + "type": "string" + }, + "onScreenPosition": { + "description": "Output only. The on screen position.", + "enum": [ + "ON_SCREEN_POSITION_UNSPECIFIED", + "ON_SCREEN_POSITION_UNKNOWN", + "ON_SCREEN_POSITION_ABOVE_THE_FOLD", + "ON_SCREEN_POSITION_BELOW_THE_FOLD" + ], + "enumDescriptions": [ + "On screen position is not specified in this version. This enum is a place holder for a default value and does not represent a real on screen position.", + "The ad position is unknown on the screen.", + "The ad is located above the fold.", + "The ad is located below the fold." + ], + "readOnly": true, + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.", + "type": "string" + } + }, + "type": "object" + }, + "OnScreenPositionTargetingOptionDetails": { + "description": "Represents a targetable on screen position, which could be used by display and video ads. This will be populated in the on_screen_position_details field when targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.", + "id": "OnScreenPositionTargetingOptionDetails", + "properties": { + "onScreenPosition": { + "description": "Output only. The on screen position.", + "enum": [ + "ON_SCREEN_POSITION_UNSPECIFIED", + "ON_SCREEN_POSITION_UNKNOWN", + "ON_SCREEN_POSITION_ABOVE_THE_FOLD", + "ON_SCREEN_POSITION_BELOW_THE_FOLD" + ], + "enumDescriptions": [ + "On screen position is not specified in this version. This enum is a place holder for a default value and does not represent a real on screen position.", + "The ad position is unknown on the screen.", + "The ad is located above the fold.", + "The ad is located below the fold." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "OperatingSystemAssignedTargetingOptionDetails": { + "description": "Assigned operating system targeting option details. This will be populated in the operating_system_details field when targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`.", + "id": "OperatingSystemAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the operating system.", + "readOnly": true, + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting option ID populated in targeting_option_id field when targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`.", + "type": "string" + } + }, + "type": "object" + }, + "OperatingSystemTargetingOptionDetails": { + "description": "Represents a targetable operating system. This will be populated in the operating_system_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`.", + "id": "OperatingSystemTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the operating system.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "Pacing": { + "description": "Settings that control the rate at which a budget is spent.", + "id": "Pacing", + "properties": { + "dailyMaxImpressions": { + "description": "Maximum number of impressions to serve every day. Applicable when the budget is impression based. Must be greater than 0.", + "format": "int64", + "type": "string" + }, + "dailyMaxMicros": { + "description": "Maximum currency amount to spend every day in micros of advertiser's currency. Applicable when the budget is currency based. Must be greater than 0. For example, for 1.5 standard unit of the currency, set this field to 1500000. The value assigned will be rounded to whole billable units for the relevant currency by the following rules: any positive value less than a single billable unit will be rounded up to one billable unit and any value larger than a single billable unit will be rounded down to the nearest billable value. For example, if the currency's billable unit is 0.01, and this field is set to 10257770, it will round down to 10250000, a value of 10.25. If set to 505, it will round up to 10000, a value of 0.01.", + "format": "int64", + "type": "string" + }, + "pacingPeriod": { + "description": "Required. The time period in which the pacing budget will be spent. When automatic budget allocation is enabled at the insertion order via automationType, this field is output only and defaults to `PACING_PERIOD_FLIGHT`.", + "enum": [ + "PACING_PERIOD_UNSPECIFIED", + "PACING_PERIOD_DAILY", + "PACING_PERIOD_FLIGHT" + ], + "enumDescriptions": [ + "Period value is not specified or is unknown in this version.", + "The pacing setting will be applied on daily basis.", + "The pacing setting will be applied to the whole flight duration." + ], + "type": "string" + }, + "pacingType": { + "description": "Required. The type of pacing that defines how the budget amount will be spent across the pacing_period. `PACING_TYPE_ASAP` is not compatible with pacing_period `PACING_PERIOD_FLIGHT` for insertion orders.", + "enum": [ + "PACING_TYPE_UNSPECIFIED", + "PACING_TYPE_AHEAD", + "PACING_TYPE_ASAP", + "PACING_TYPE_EVEN" + ], + "enumDescriptions": [ + "Pacing mode value is not specified or is unknown in this version.", + "Only applicable to `PACING_PERIOD_FLIGHT` pacing period. Ahead pacing attempts to spend faster than evenly, to make sure the entire budget is spent by the end of the flight.", + "Spend all of pacing budget amount as quick as possible.", + "Spend a consistent budget amount every period of time." + ], + "type": "string" + } + }, + "type": "object" + }, + "ParentEntityFilter": { + "description": "A filtering option that filters on selected file types belonging to a chosen set of filter entities.", + "id": "ParentEntityFilter", + "properties": { + "fileType": { + "description": "Required. File types that will be returned.", + "items": { + "enum": [ + "FILE_TYPE_UNSPECIFIED", + "FILE_TYPE_CAMPAIGN", + "FILE_TYPE_MEDIA_PRODUCT", + "FILE_TYPE_INSERTION_ORDER", + "FILE_TYPE_LINE_ITEM", + "FILE_TYPE_AD_GROUP", + "FILE_TYPE_AD", + "FILE_TYPE_LINE_ITEM_QA", + "FILE_TYPE_AD_GROUP_QA" + ], + "enumDescriptions": [ + "Default value when type is unspecified or is unknown in this version.", + "Campaign.", + "Media Product.", + "Insertion Order.", + "Line Item.", + "YouTube Ad Group.", + "YouTube Ad.", + "Line Item - QA format.", + "YouTube Ad Group - QA format." + ], + "type": "string" + }, + "type": "array" + }, + "filterIds": { + "description": "The IDs of the specified filter type. This is used to filter entities to fetch. If filter type is not `FILTER_TYPE_NONE`, at least one ID must be specified.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "filterType": { + "description": "Required. Filter type used to filter fetched entities.", + "enum": [ + "FILTER_TYPE_UNSPECIFIED", + "FILTER_TYPE_NONE", + "FILTER_TYPE_ADVERTISER_ID", + "FILTER_TYPE_CAMPAIGN_ID", + "FILTER_TYPE_MEDIA_PRODUCT_ID", + "FILTER_TYPE_INSERTION_ORDER_ID", + "FILTER_TYPE_LINE_ITEM_ID" + ], + "enumDescriptions": [ + "Default value when type is unspecified or is unknown in this version.", + "If selected, no filter will be applied to the download. Can only be used if an Advertiser is specified in CreateSdfDownloadTaskRequest.", + "Advertiser ID. If selected, all filter IDs must be Advertiser IDs that belong to the Partner specified in CreateSdfDownloadTaskRequest.", + "Campaign ID. If selected, all filter IDs must be Campaign IDs that belong to the Advertiser or Partner specified in CreateSdfDownloadTaskRequest.", + "Media Product ID. If selected, all filter IDs must be Media Product IDs that belong to the Advertiser or Partner specified in CreateSdfDownloadTaskRequest. Can only be used for downloading `FILE_TYPE_MEDIA_PRODUCT`.", + "Insertion Order ID. If selected, all filter IDs must be Insertion Order IDs that belong to the Advertiser or Partner specified in CreateSdfDownloadTaskRequest. Can only be used for downloading `FILE_TYPE_INSERTION_ORDER`, `FILE_TYPE_LINE_ITEM`, `FILE_TYPE_LINE_ITEM_QA`, `FILE_TYPE_AD_GROUP`, `FILE_TYPE_AD_GROUP_QA`, and `FILE_TYPE_AD`.", + "Line Item ID. If selected, all filter IDs must be Line Item IDs that belong to the Advertiser or Partner specified in CreateSdfDownloadTaskRequest. Can only be used for downloading `FILE_TYPE_LINE_ITEM`, `FILE_TYPE_LINE_ITEM_QA`,`FILE_TYPE_AD_GROUP`, `FILE_TYPE_AD_GROUP_QA`, and `FILE_TYPE_AD`." + ], + "type": "string" + } + }, + "type": "object" + }, + "ParentalStatusAssignedTargetingOptionDetails": { + "description": "Details for assigned parental status targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`.", + "id": "ParentalStatusAssignedTargetingOptionDetails", + "properties": { + "parentalStatus": { + "description": "Required. The parental status of the audience.", + "enum": [ + "PARENTAL_STATUS_UNSPECIFIED", + "PARENTAL_STATUS_PARENT", + "PARENTAL_STATUS_NOT_A_PARENT", + "PARENTAL_STATUS_UNKNOWN" + ], + "enumDescriptions": [ + "Default value when parental status is not specified in this version. This enum is a place holder for default value and does not represent a real parental status option.", + "The audience is a parent.", + "The audience is not a parent.", + "The parental status of the audience is unknown." + ], + "type": "string" + } + }, + "type": "object" + }, + "ParentalStatusTargetingOptionDetails": { + "description": "Represents a targetable parental status. This will be populated in the parental_status_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`.", + "id": "ParentalStatusTargetingOptionDetails", + "properties": { + "parentalStatus": { + "description": "Output only. The parental status of an audience.", + "enum": [ + "PARENTAL_STATUS_UNSPECIFIED", + "PARENTAL_STATUS_PARENT", + "PARENTAL_STATUS_NOT_A_PARENT", + "PARENTAL_STATUS_UNKNOWN" + ], + "enumDescriptions": [ + "Default value when parental status is not specified in this version. This enum is a place holder for default value and does not represent a real parental status option.", + "The audience is a parent.", + "The audience is not a parent.", + "The parental status of the audience is unknown." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Partner": { + "description": "A single partner in Display & Video 360 (DV360).", + "id": "Partner", + "properties": { + "adServerConfig": { + "$ref": "PartnerAdServerConfig", + "description": "Ad server related settings of the partner." + }, + "billingConfig": { + "$ref": "PartnerBillingConfig", + "description": "Billing related settings of the partner." + }, + "dataAccessConfig": { + "$ref": "PartnerDataAccessConfig", + "description": "Settings that control how partner data may be accessed." + }, + "displayName": { + "description": "The display name of the partner. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "entityStatus": { + "description": "Output only. The status of the partner.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "readOnly": true, + "type": "string" + }, + "exchangeConfig": { + "$ref": "ExchangeConfig", + "description": "Settings that control which exchanges are enabled for the partner." + }, + "generalConfig": { + "$ref": "PartnerGeneralConfig", + "description": "General settings of the partner." + }, + "name": { + "description": "Output only. The resource name of the partner.", + "readOnly": true, + "type": "string" + }, + "partnerId": { + "description": "Output only. The unique ID of the partner. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the partner was last updated. Assigned by the system.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "PartnerAdServerConfig": { + "description": "Ad server related settings of a partner.", + "id": "PartnerAdServerConfig", + "properties": { + "measurementConfig": { + "$ref": "MeasurementConfig", + "description": "Measurement settings of a partner." + } + }, + "type": "object" + }, + "PartnerBillingConfig": { + "description": "Billing related settings of a partner.", + "id": "PartnerBillingConfig", + "properties": { + "billingProfileId": { + "description": "The ID of a partner default billing profile.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "PartnerCost": { + "description": "Settings that control a partner cost. A partner cost is any type of expense involved in running a campaign, other than the costs of purchasing impressions (which is called the media cost) and using third-party audience segment data (data fee). Some examples of partner costs include the fees for using DV360, a third-party ad server, or a third-party ad serving verification service.", + "id": "PartnerCost", + "properties": { + "costType": { + "description": "Required. The type of the partner cost.", + "enum": [ + "PARTNER_COST_TYPE_UNSPECIFIED", + "PARTNER_COST_TYPE_ADLOOX", + "PARTNER_COST_TYPE_ADLOOX_PREBID", + "PARTNER_COST_TYPE_ADSAFE", + "PARTNER_COST_TYPE_ADXPOSE", + "PARTNER_COST_TYPE_AGGREGATE_KNOWLEDGE", + "PARTNER_COST_TYPE_AGENCY_TRADING_DESK", + "PARTNER_COST_TYPE_DV360_FEE", + "PARTNER_COST_TYPE_COMSCORE_VCE", + "PARTNER_COST_TYPE_DATA_MANAGEMENT_PLATFORM", + "PARTNER_COST_TYPE_DEFAULT", + "PARTNER_COST_TYPE_DOUBLE_VERIFY", + "PARTNER_COST_TYPE_DOUBLE_VERIFY_PREBID", + "PARTNER_COST_TYPE_EVIDON", + "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO", + "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_PREBID", + "PARTNER_COST_TYPE_MEDIA_COST_DATA", + "PARTNER_COST_TYPE_MOAT_VIDEO", + "PARTNER_COST_TYPE_NIELSEN_DAR", + "PARTNER_COST_TYPE_SHOP_LOCAL", + "PARTNER_COST_TYPE_TERACENT", + "PARTNER_COST_TYPE_THIRD_PARTY_AD_SERVER", + "PARTNER_COST_TYPE_TRUST_METRICS", + "PARTNER_COST_TYPE_VIZU", + "PARTNER_COST_TYPE_ADLINGO_FEE", + "PARTNER_COST_TYPE_CUSTOM_FEE_1", + "PARTNER_COST_TYPE_CUSTOM_FEE_2", + "PARTNER_COST_TYPE_CUSTOM_FEE_3", + "PARTNER_COST_TYPE_CUSTOM_FEE_4", + "PARTNER_COST_TYPE_CUSTOM_FEE_5", + "PARTNER_COST_TYPE_SCIBIDS_FEE" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "The cost is charged for using Adloox. Billed by the partner.", + "The cost is charged for using Adloox Pre-Bid. Billed through DV360.", + "The cost is charged for using AdSafe. Billed by the partner.", + "The cost is charged for using AdExpose. Billed by the partner.", + "The cost is charged for using Aggregate Knowledge. Billed by the partner.", + "The cost is charged for using an Agency Trading Desk. Billed by the partner.", + "The cost is charged for using DV360. Billed through DV360.", + "The cost is charged for using comScore vCE. Billed through DV360.", + "The cost is charged for using a Data Management Platform. Billed by the partner.", + "The default cost type. Billed by the partner.", + "The cost is charged for using DoubleVerify. Billed by the partner.", + "The cost is charged for using DoubleVerify Pre-Bid. Billed through DV360.", + "The cost is charged for using Evidon. Billed by the partner.", + "The cost is charged for using Integral Ad Science Video. Billed by the partner.", + "The cost is charged for using Integral Ad Science Pre-Bid. Billed through DV360.", + "The cost is charged for using media cost data. Billed by the partner.", + "The cost is charged for using MOAT Video. Billed by the partner.", + "The cost is charged for using Nielsen Digital Ad Ratings. Billed through DV360.", + "The cost is charged for using ShopLocal. Billed by the partner.", + "The cost is charged for using Teracent. Billed by the partner.", + "The cost is charged for using a third-party ad server. Billed by the partner.", + "The cost is charged for using TrustMetrics. Billed by the partner.", + "The cost is charged for using Vizu. Billed by the partner.", + "The cost is charged for using AdLingo. Billed through DV360.", + "The cost is charged as custom fee 1. Billed by the partner.", + "The cost is charged as custom fee 2. Billed by the partner.", + "The cost is charged as custom fee 3. Billed by the partner.", + "The cost is charged as custom fee 4. Billed by the partner.", + "The cost is charged as custom fee 5. Billed by the partner.", + "The cost is charged for using Scibids. Billed through DV360. This type is currently only available to certain customers. Other customers attempting to use this type will receive an error." + ], + "type": "string" + }, + "feeAmount": { + "description": "The CPM fee amount in micros of advertiser's currency. Applicable when the fee_type is `PARTNER_FEE_TYPE_CPM_FEE`. Must be greater than or equal to 0. For example, for 1.5 standard unit of the advertiser's currency, set this field to 1500000.", + "format": "int64", + "type": "string" + }, + "feePercentageMillis": { + "description": "The media fee percentage in millis (1/1000 of a percent). Applicable when the fee_type is `PARTNER_FEE_TYPE_MEDIA_FEE`. Must be greater than or equal to 0. For example: 100 represents 0.1%.", + "format": "int64", + "type": "string" + }, + "feeType": { + "description": "Required. The fee type for this partner cost.", + "enum": [ + "PARTNER_COST_FEE_TYPE_UNSPECIFIED", + "PARTNER_COST_FEE_TYPE_CPM_FEE", + "PARTNER_COST_FEE_TYPE_MEDIA_FEE" + ], + "enumDescriptions": [ + "Value is not specified or is unknown in this version.", + "The partner cost is a fixed CPM fee. Not applicable when the partner cost cost_type is one of: * `PARTNER_COST_TYPE_MEDIA_COST_DATA` * `PARTNER_COST_TYPE_DV360_FEE`.", + "The partner cost is a percentage surcharge based on the media cost. Not applicable when the partner cost_type is one of: * `PARTNER_COST_TYPE_SHOP_LOCAL` * `PARTNER_COST_TYPE_TRUST_METRICS` * `PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO` * `PARTNER_COST_TYPE_MOAT_VIDEO`." + ], + "type": "string" + }, + "invoiceType": { + "description": "The invoice type for this partner cost. * Required when cost_type is one of: - `PARTNER_COST_TYPE_ADLOOX` - `PARTNER_COST_TYPE_DOUBLE_VERIFY` - `PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE`. * Output only for other types.", + "enum": [ + "PARTNER_COST_INVOICE_TYPE_UNSPECIFIED", + "PARTNER_COST_INVOICE_TYPE_DV360", + "PARTNER_COST_INVOICE_TYPE_PARTNER" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Partner cost is billed through DV360.", + "Partner cost is billed by the partner." + ], + "type": "string" + } + }, + "type": "object" + }, + "PartnerDataAccessConfig": { + "description": "Settings that control how partner related data may be accessed.", + "id": "PartnerDataAccessConfig", + "properties": { + "sdfConfig": { + "$ref": "SdfConfig", + "description": "Structured Data Files (SDF) settings for the partner. The SDF configuration for the partner." + } + }, + "type": "object" + }, + "PartnerGeneralConfig": { + "description": "General settings of a partner.", + "id": "PartnerGeneralConfig", + "properties": { + "currencyCode": { + "description": "Immutable. Partner's currency in ISO 4217 format.", + "type": "string" + }, + "timeZone": { + "description": "Immutable. The standard TZ database name of the partner's time zone. For example, `America/New_York`. See more at: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones", + "type": "string" + } + }, + "type": "object" + }, + "PartnerRevenueModel": { + "description": "Settings that control how partner revenue is calculated.", + "id": "PartnerRevenueModel", + "properties": { + "markupAmount": { + "description": "Required. The markup amount of the partner revenue model. Must be greater than or equal to 0. * When the markup_type is set to be `PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`, this field represents the CPM markup in micros of advertiser's currency. For example, 1500000 represents 1.5 standard units of the currency. * When the markup_type is set to be `PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP`, this field represents the media cost percent markup in millis. For example, 100 represents 0.1% (decimal 0.001). * When the markup_type is set to be `PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP`, this field represents the total media cost percent markup in millis. For example, 100 represents 0.1% (decimal 0.001).", + "format": "int64", + "type": "string" + }, + "markupType": { + "description": "Required. The markup type of the partner revenue model.", + "enum": [ + "PARTNER_REVENUE_MODEL_MARKUP_TYPE_UNSPECIFIED", + "PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM", + "PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP", + "PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP" + ], + "enumDeprecated": [ + false, + false, + true, + false + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Calculate the partner revenue based on a fixed CPM.", + "Calculate the partner revenue based on a percentage surcharge of its media cost.", + "Calculate the partner revenue based on a percentage surcharge of its total media cost, which includes all partner costs and data costs." + ], + "type": "string" + } + }, + "type": "object" + }, + "PerformanceGoal": { + "description": "Settings that control the performance goal of a campaign.", + "id": "PerformanceGoal", + "properties": { + "performanceGoalAmountMicros": { + "description": "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.", + "format": "int64", + "type": "string" + }, + "performanceGoalPercentageMicros": { + "description": "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).", + "format": "int64", + "type": "string" + }, + "performanceGoalString": { + "description": "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`.", + "type": "string" + }, + "performanceGoalType": { + "description": "Required. The type of the performance goal.", + "enum": [ + "PERFORMANCE_GOAL_TYPE_UNSPECIFIED", + "PERFORMANCE_GOAL_TYPE_CPM", + "PERFORMANCE_GOAL_TYPE_CPC", + "PERFORMANCE_GOAL_TYPE_CPA", + "PERFORMANCE_GOAL_TYPE_CTR", + "PERFORMANCE_GOAL_TYPE_VIEWABILITY", + "PERFORMANCE_GOAL_TYPE_CPIAVC", + "PERFORMANCE_GOAL_TYPE_CPE", + "PERFORMANCE_GOAL_TYPE_CPV", + "PERFORMANCE_GOAL_TYPE_CLICK_CVR", + "PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR", + "PERFORMANCE_GOAL_TYPE_VCPM", + "PERFORMANCE_GOAL_TYPE_VTR", + "PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE", + "PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE", + "PERFORMANCE_GOAL_TYPE_OTHER" + ], + "enumDescriptions": [ + "Performance goal type is not specified or is unknown in this version.", + "The performance goal is set in CPM (cost per mille).", + "The performance goal is set in CPC (cost per click).", + "The performance goal is set in CPA (cost per action).", + "The performance goal is set in CTR (click-through rate) percentage.", + "The performance goal is set in Viewability percentage.", + "The performance goal is set as CPIAVC (cost per impression audible and visible at completion).", + "The performance goal is set in CPE (cost per engagement).", + "The performance goal is set in CPV (cost per view).", + "The performance goal is set in click conversion rate (conversions per click) percentage.", + "The performance goal is set in impression conversion rate (conversions per impression) percentage.", + "The performance goal is set in VCPM (cost per thousand viewable impressions).", + "The performance goal is set in YouTube view rate (YouTube views per impression) percentage.", + "The performance goal is set in audio completion rate (complete audio listens per impression) percentage.", + "The performance goal is set in video completion rate (complete video views per impression) percentage.", + "The performance goal is set to Other." + ], + "type": "string" + } + }, + "type": "object" + }, + "PerformanceGoalBidStrategy": { + "description": "A strategy that automatically adjusts the bid to meet or beat a specified performance goal.", + "id": "PerformanceGoalBidStrategy", + "properties": { + "customBiddingAlgorithmId": { + "description": "The ID of the Custom Bidding Algorithm used by this strategy. Only applicable when performance_goal_type is set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`. *Warning*: Starting **April 1, 2025**, assigning a custom bidding algorithm that uses floodlight activities not identified in floodlightActivityConfigs will return an error. [Read more about this announced change](/display-video/api/deprecations#features.custom_bidding_floodlight).", + "format": "int64", + "type": "string" + }, + "maxAverageCpmBidAmountMicros": { + "description": "The maximum average CPM that may be bid, in micros of the advertiser's currency. Must be greater than or equal to a billable unit of the given currency. Not applicable when performance_goal_type is set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`. For example, 1500000 represents 1.5 standard units of the currency.", + "format": "int64", + "type": "string" + }, + "performanceGoalAmountMicros": { + "description": "Required. The performance goal the bidding strategy will attempt to meet or beat, in micros of the advertiser's currency or in micro of the ROAS (Return On Advertising Spend) value which is also based on advertiser's currency. Must be greater than or equal to a billable unit of the given currency and smaller or equal to upper bounds. Each performance_goal_type has its upper bound: * when performance_goal_type is `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA`, upper bound is 10000.00 USD. * when performance_goal_type is `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC`, upper bound is 1000.00 USD. * when performance_goal_type is `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, upper bound is 1000.00 USD. * when performance_goal_type is `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`, upper bound is 1000.00 and lower bound is 0.01. Example: If set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, the bid price will be based on the probability that each available impression will be viewable. For example, if viewable CPM target is $2 and an impression is 40% likely to be viewable, the bid price will be $0.80 CPM (40% of $2). For example, 1500000 represents 1.5 standard units of the currency or ROAS value.", + "format": "int64", + "type": "string" + }, + "performanceGoalType": { + "description": "Required. The type of the performance goal that the bidding strategy will try to meet or beat. For line item level usage, the value must be one of: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.", + "enum": [ + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Cost per action.", + "Cost per click.", + "Viewable CPM.", + "Custom bidding algorithm.", + "Completed inview and audible views.", + "Inview time over 10 secs views.", + "Viewable impressions." + ], + "type": "string" + } + }, + "type": "object" + }, + "PoiAssignedTargetingOptionDetails": { + "description": "Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`.", + "id": "PoiAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of a POI, e.g. \"Times Square\", \"Space Needle\", followed by its full address if available.", + "readOnly": true, + "type": "string" + }, + "latitude": { + "description": "Output only. Latitude of the POI rounding to 6th decimal place.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "longitude": { + "description": "Output only. Longitude of the POI rounding to 6th decimal place.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "proximityRadiusAmount": { + "description": "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`.", + "format": "double", + "type": "number" + }, + "proximityRadiusUnit": { + "description": "Required. The unit of distance by which the targeting radius is measured.", + "enum": [ + "DISTANCE_UNIT_UNSPECIFIED", + "DISTANCE_UNIT_MILES", + "DISTANCE_UNIT_KILOMETERS" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Miles.", + "Kilometers." + ], + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`. Accepted POI targeting option IDs can be retrieved using `targetingTypes.targetingOptions.search`. If targeting a specific latitude/longitude coordinate removed from an address or POI name, you can generate the necessary targeting option ID by rounding the desired coordinate values to the 6th decimal place, removing the decimals, and concatenating the string values separated by a semicolon. For example, you can target the latitude/longitude pair of 40.7414691, -74.003387 using the targeting option ID \"40741469;-74003387\". **Upon** **creation, this field value will be updated to append a semicolon and** **alphanumerical hash value if only latitude/longitude coordinates are** **provided.**", + "type": "string" + } + }, + "type": "object" + }, + "PoiSearchTerms": { + "description": "Search terms for POI targeting options.", + "id": "PoiSearchTerms", + "properties": { + "poiQuery": { + "description": "The search query for the desired POI name, street address, or coordinate of the desired POI. The query can be a prefix, e.g. \"Times squar\", \"40.7505045,-73.99562\", \"315 W 44th St\", etc.", + "type": "string" + } + }, + "type": "object" + }, + "PoiTargetingOptionDetails": { + "description": "Represents a targetable point of interest(POI). This will be populated in the poi_details field when targeting_type is `TARGETING_TYPE_POI`.", + "id": "PoiTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of a POI(e.g. \"Times Square\", \"Space Needle\"), followed by its full address if available.", + "readOnly": true, + "type": "string" + }, + "latitude": { + "description": "Output only. Latitude of the POI rounding to 6th decimal place.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "longitude": { + "description": "Output only. Longitude of the POI rounding to 6th decimal place.", + "format": "double", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "PrismaConfig": { + "description": "Settings specific to the Mediaocean Prisma tool.", + "id": "PrismaConfig", + "properties": { + "prismaCpeCode": { + "$ref": "PrismaCpeCode", + "description": "Required. Relevant client, product, and estimate codes from the Mediaocean Prisma tool." + }, + "prismaType": { + "description": "Required. The Prisma type.", + "enum": [ + "PRISMA_TYPE_UNSPECIFIED", + "PRISMA_TYPE_DISPLAY", + "PRISMA_TYPE_SEARCH", + "PRISMA_TYPE_VIDEO", + "PRISMA_TYPE_AUDIO", + "PRISMA_TYPE_SOCIAL", + "PRISMA_TYPE_FEE" + ], + "enumDescriptions": [ + "Type is not specified or unknown in this version.", + "Display type.", + "Search type.", + "Video type.", + "Audio type.", + "Social type.", + "Fee type." + ], + "type": "string" + }, + "supplier": { + "description": "Required. The entity allocated this budget (DSP, site, etc.).", + "type": "string" + } + }, + "type": "object" + }, + "PrismaCpeCode": { + "description": "Google Payments Center supports searching and filtering on the component fields of this code.", + "id": "PrismaCpeCode", + "properties": { + "prismaClientCode": { + "description": "The Prisma client code.", + "type": "string" + }, + "prismaEstimateCode": { + "description": "The Prisma estimate code.", + "type": "string" + }, + "prismaProductCode": { + "description": "The Prisma product code.", + "type": "string" + } + }, + "type": "object" + }, + "ProductFeedData": { + "description": "The details of product feed.", + "id": "ProductFeedData", + "properties": { + "isFeedDisabled": { + "description": "Whether the product feed has opted-out of showing products.", + "type": "boolean" + }, + "productMatchDimensions": { + "description": "A list of dimensions used to match products.", + "items": { + "$ref": "ProductMatchDimension" + }, + "type": "array" + }, + "productMatchType": { + "description": "How products are selected by the product feed.", + "enum": [ + "PRODUCT_MATCH_TYPE_UNSPECIFIED", + "PRODUCT_MATCH_TYPE_ALL_PRODUCTS", + "PRODUCT_MATCH_TYPE_SPECIFIC_PRODUCTS", + "PRODUCT_MATCH_TYPE_CUSTOM_LABEL" + ], + "enumDescriptions": [ + "Not specified or unknown.", + "All the products are matched.", + "Specific products are selected.", + "Match products by their custom labels." + ], + "type": "string" + } + }, + "type": "object" + }, + "ProductMatchDimension": { + "description": "A dimension used to match products.", + "id": "ProductMatchDimension", + "properties": { + "customLabel": { + "$ref": "CustomLabel", + "description": "The custom label to match all the products with the label." + }, + "productOfferId": { + "description": "The ID of the product offer to match with a product with the same offer ID.", + "type": "string" + } + }, + "type": "object" + }, + "ProximityLocationListAssignedTargetingOptionDetails": { + "description": "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`.", + "id": "ProximityLocationListAssignedTargetingOptionDetails", + "properties": { + "proximityLocationListId": { + "description": "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`.", + "format": "int64", + "type": "string" + }, + "proximityRadius": { + "description": "Required. Radius expressed in the distance units set in proximity_radius_unit. This represents the size of the area around a chosen location that will be targeted. Radius should be between 1 and 500 miles or 800 kilometers.", + "format": "double", + "type": "number" + }, + "proximityRadiusUnit": { + "description": "Required. Radius distance units.", + "enum": [ + "PROXIMITY_RADIUS_UNIT_UNSPECIFIED", + "PROXIMITY_RADIUS_UNIT_MILES", + "PROXIMITY_RADIUS_UNIT_KILOMETERS" + ], + "enumDescriptions": [ + "Default value when distance units is not specified in this version. This enum is a place holder for default value and does not represent a real distance unit.", + "Radius distance unit in miles.", + "Radius distance unit in kilometeres" + ], + "type": "string" + } + }, + "type": "object" + }, + "RateDetails": { + "description": "The rate related settings of the inventory source.", + "id": "RateDetails", + "properties": { + "inventorySourceRateType": { + "description": "The rate type. Acceptable values are `INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED`, `INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR`, and `INVENTORY_SOURCE_RATE_TYPE_CPD`.", + "enum": [ + "INVENTORY_SOURCE_RATE_TYPE_UNSPECIFIED", + "INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED", + "INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR", + "INVENTORY_SOURCE_RATE_TYPE_CPD", + "INVENTORY_SOURCE_RATE_TYPE_FLAT" + ], + "enumDescriptions": [ + "The rate type is not specified or is unknown in this version.", + "The rate type is CPM (Fixed).", + "The rate type is CPM (Floor).", + "The rate type is Cost per Day.", + "The rate type is Flat." + ], + "type": "string" + }, + "minimumSpend": { + "$ref": "Money", + "description": "Output only. The amount that the buyer has committed to spending on the inventory source up front. Only applicable for guaranteed inventory sources.", + "readOnly": true + }, + "rate": { + "$ref": "Money", + "description": "The rate for the inventory source." + }, + "unitsPurchased": { + "description": "Required for guaranteed inventory sources. The number of impressions guaranteed by the seller.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "RegionalLocationListAssignedTargetingOptionDetails": { + "description": "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`.", + "id": "RegionalLocationListAssignedTargetingOptionDetails", + "properties": { + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "regionalLocationListId": { + "description": "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`.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "RemarketingConfig": { + "description": "Settings that control the whether remarketing is enabled for the given identified advertiser.", + "id": "RemarketingConfig", + "properties": { + "advertiserId": { + "description": "Output only. The ID of the advertiser.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "remarketingEnabled": { + "description": "Output only. Whether the Floodlight activity remarketing user list is available to the identified advertiser.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "ReplaceNegativeKeywordsRequest": { + "description": "Request message for NegativeKeywordService.ReplaceNegativeKeywords.", + "id": "ReplaceNegativeKeywordsRequest", + "properties": { + "newNegativeKeywords": { + "description": "The negative keywords that will replace the existing keywords in the negative keyword list, specified as a list of NegativeKeywords.", + "items": { + "$ref": "NegativeKeyword" + }, + "type": "array" + } + }, + "type": "object" + }, + "ReplaceNegativeKeywordsResponse": { + "description": "Response message for NegativeKeywordService.ReplaceNegativeKeywords.", + "id": "ReplaceNegativeKeywordsResponse", + "properties": { + "negativeKeywords": { + "description": "The full list of negative keywords now present in the negative keyword list.", + "items": { + "$ref": "NegativeKeyword" + }, + "type": "array" + } + }, + "type": "object" + }, + "ReplaceSitesRequest": { + "description": "Request message for SiteService.ReplaceSites.", + "id": "ReplaceSitesRequest", + "properties": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "type": "string" + }, + "newSites": { + "description": "The sites that will replace the existing sites assigned to the channel, specified as a list of Sites.", + "items": { + "$ref": "Site" + }, + "type": "array" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ReplaceSitesResponse": { + "description": "Response message for SiteService.ReplaceSites.", + "id": "ReplaceSitesResponse", + "properties": { + "sites": { + "description": "The list of sites in the channel after replacing.", + "items": { + "$ref": "Site" + }, + "type": "array" + } + }, + "type": "object" + }, + "ReviewStatusInfo": { + "description": "Review statuses for the creative.", + "id": "ReviewStatusInfo", + "properties": { + "approvalStatus": { + "description": "Represents the basic approval needed for a creative to begin serving. Summary of creative_and_landing_page_review_status and content_and_policy_review_status.", + "enum": [ + "APPROVAL_STATUS_UNSPECIFIED", + "APPROVAL_STATUS_PENDING_NOT_SERVABLE", + "APPROVAL_STATUS_PENDING_SERVABLE", + "APPROVAL_STATUS_APPROVED_SERVABLE", + "APPROVAL_STATUS_REJECTED_NOT_SERVABLE" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "The creative is still under review and not servable.", + "The creative has passed creative & landing page review and is servable, but is awaiting additional content & policy review.", + "Both creative & landing page review and content & policy review are approved. The creative is servable.", + "There is an issue with the creative that must be fixed before it can serve." + ], + "type": "string" + }, + "contentAndPolicyReviewStatus": { + "description": "Content and policy review status for the creative.", + "enum": [ + "REVIEW_STATUS_UNSPECIFIED", + "REVIEW_STATUS_APPROVED", + "REVIEW_STATUS_REJECTED", + "REVIEW_STATUS_PENDING" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "The creative is approved.", + "The creative is rejected.", + "The creative is pending review." + ], + "type": "string" + }, + "creativeAndLandingPageReviewStatus": { + "description": "Creative and landing page review status for the creative.", + "enum": [ + "REVIEW_STATUS_UNSPECIFIED", + "REVIEW_STATUS_APPROVED", + "REVIEW_STATUS_REJECTED", + "REVIEW_STATUS_PENDING" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "The creative is approved.", + "The creative is rejected.", + "The creative is pending review." + ], + "type": "string" + }, + "exchangeReviewStatuses": { + "description": "Exchange review statuses for the creative.", + "items": { + "$ref": "ExchangeReviewStatus" + }, + "type": "array" + } + }, + "type": "object" + }, + "ScriptError": { + "description": "An error message for a custom bidding script.", + "id": "ScriptError", + "properties": { + "column": { + "description": "The column number in the script where the error was thrown.", + "format": "int64", + "type": "string" + }, + "errorCode": { + "description": "The type of error.", + "enum": [ + "ERROR_CODE_UNSPECIFIED", + "SYNTAX_ERROR", + "DEPRECATED_SYNTAX", + "INTERNAL_ERROR" + ], + "enumDescriptions": [ + "The script error is not specified or is unknown in this version.", + "The script has a syntax error.", + "The script uses deprecated syntax.", + "Internal errors were thrown while processing the script." + ], + "type": "string" + }, + "errorMessage": { + "description": "The detailed error message.", + "type": "string" + }, + "line": { + "description": "The line number in the script where the error was thrown.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "SdfConfig": { + "description": "Structured Data File (SDF) related settings.", + "id": "SdfConfig", + "properties": { + "adminEmail": { + "description": "An administrator email address to which the SDF processing status reports will be sent.", + "type": "string" + }, + "version": { + "description": "Required. The version of SDF being used.", + "enum": [ + "SDF_VERSION_UNSPECIFIED", + "SDF_VERSION_3_1", + "SDF_VERSION_4", + "SDF_VERSION_4_1", + "SDF_VERSION_4_2", + "SDF_VERSION_5", + "SDF_VERSION_5_1", + "SDF_VERSION_5_2", + "SDF_VERSION_5_3", + "SDF_VERSION_5_4", + "SDF_VERSION_5_5", + "SDF_VERSION_6", + "SDF_VERSION_7", + "SDF_VERSION_7_1", + "SDF_VERSION_8" + ], + "enumDeprecated": [ + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false + ], + "enumDescriptions": [ + "SDF version value is not specified or is unknown in this version.", + "SDF version 3.1", + "SDF version 4", + "SDF version 4.1", + "SDF version 4.2", + "SDF version 5.", + "SDF version 5.1", + "SDF version 5.2", + "SDF version 5.3", + "SDF version 5.4", + "SDF version 5.5", + "SDF version 6", + "SDF version 7. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.", + "SDF version 7.1. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.", + "SDF version 8. Read the [v8 migration guide](/display-video/api/structured-data-file/v8-migration-guide) before migrating to this version." + ], + "type": "string" + } + }, + "type": "object" + }, + "SdfDownloadTask": { + "description": "Type for the response returned by [SdfDownloadTaskService.CreateSdfDownloadTask].", + "id": "SdfDownloadTask", + "properties": { + "resourceName": { + "description": "A resource name to be used in media.download to Download the prepared files. Resource names have the format `download/sdfdownloadtasks/media/{media_id}`. `media_id` will be made available by the long running operation service once the task status is done.", + "type": "string" + } + }, + "type": "object" + }, + "SdfDownloadTaskMetadata": { + "description": "Type for the metadata returned by [SdfDownloadTaskService.CreateSdfDownloadTask].", + "id": "SdfDownloadTaskMetadata", + "properties": { + "createTime": { + "description": "The time when the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "The time when execution was completed.", + "format": "google-datetime", + "type": "string" + }, + "version": { + "description": "The SDF version used to execute this download task.", + "enum": [ + "SDF_VERSION_UNSPECIFIED", + "SDF_VERSION_3_1", + "SDF_VERSION_4", + "SDF_VERSION_4_1", + "SDF_VERSION_4_2", + "SDF_VERSION_5", + "SDF_VERSION_5_1", + "SDF_VERSION_5_2", + "SDF_VERSION_5_3", + "SDF_VERSION_5_4", + "SDF_VERSION_5_5", + "SDF_VERSION_6", + "SDF_VERSION_7", + "SDF_VERSION_7_1", + "SDF_VERSION_8" + ], + "enumDeprecated": [ + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false + ], + "enumDescriptions": [ + "SDF version value is not specified or is unknown in this version.", + "SDF version 3.1", + "SDF version 4", + "SDF version 4.1", + "SDF version 4.2", + "SDF version 5.", + "SDF version 5.1", + "SDF version 5.2", + "SDF version 5.3", + "SDF version 5.4", + "SDF version 5.5", + "SDF version 6", + "SDF version 7. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.", + "SDF version 7.1. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.", + "SDF version 8. Read the [v8 migration guide](/display-video/api/structured-data-file/v8-migration-guide) before migrating to this version." + ], + "type": "string" + } + }, + "type": "object" + }, + "SearchTargetingOptionsRequest": { + "description": "Request message for SearchTargetingOptions.", + "id": "SearchTargetingOptionsRequest", + "properties": { + "advertiserId": { + "description": "Required. The Advertiser this request is being made in the context of.", + "format": "int64", + "type": "string" + }, + "businessChainSearchTerms": { + "$ref": "BusinessChainSearchTerms", + "description": "Search terms for Business Chain targeting options. Can only be used when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`." + }, + "geoRegionSearchTerms": { + "$ref": "GeoRegionSearchTerms", + "description": "Search terms for geo region targeting options. Can only be used when targeting_type is `TARGETING_TYPE_GEO_REGION`." + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "type": "integer" + }, + "pageToken": { + "description": "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 `SearchTargetingOptions` method. If not specified, the first page of results will be returned.", + "type": "string" + }, + "poiSearchTerms": { + "$ref": "PoiSearchTerms", + "description": "Search terms for POI targeting options. Can only be used when targeting_type is `TARGETING_TYPE_POI`." + } + }, + "type": "object" + }, + "SearchTargetingOptionsResponse": { + "description": "Response message for SearchTargetingOptions.", + "id": "SearchTargetingOptionsResponse", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `SearchTargetingOptions` method to retrieve the next page of results.", + "type": "string" + }, + "targetingOptions": { + "description": "The list of targeting options that match the search criteria. This list will be absent if empty.", + "items": { + "$ref": "TargetingOption" + }, + "type": "array" + } + }, + "type": "object" + }, + "SensitiveCategoryAssignedTargetingOptionDetails": { + "description": "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`.", + "id": "SensitiveCategoryAssignedTargetingOptionDetails", + "properties": { + "excludedSensitiveCategory": { + "description": "Required. An enum for the DV360 Sensitive category content classified to be EXCLUDED.", + "enum": [ + "SENSITIVE_CATEGORY_UNSPECIFIED", + "SENSITIVE_CATEGORY_ADULT", + "SENSITIVE_CATEGORY_DEROGATORY", + "SENSITIVE_CATEGORY_DOWNLOADS_SHARING", + "SENSITIVE_CATEGORY_WEAPONS", + "SENSITIVE_CATEGORY_GAMBLING", + "SENSITIVE_CATEGORY_VIOLENCE", + "SENSITIVE_CATEGORY_SUGGESTIVE", + "SENSITIVE_CATEGORY_PROFANITY", + "SENSITIVE_CATEGORY_ALCOHOL", + "SENSITIVE_CATEGORY_DRUGS", + "SENSITIVE_CATEGORY_TOBACCO", + "SENSITIVE_CATEGORY_POLITICS", + "SENSITIVE_CATEGORY_RELIGION", + "SENSITIVE_CATEGORY_TRAGEDY", + "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS", + "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES", + "SENSITIVE_CATEGORY_SHOCKING", + "SENSITIVE_CATEGORY_EMBEDDED_VIDEO", + "SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO" + ], + "enumDescriptions": [ + "This enum is only a placeholder and doesn't specify a DV360 sensitive category.", + "Adult or pornographic text, image, or video content.", + "Content that may be construed as biased against individuals, groups, or organizations based on criteria such as race, religion, disability, sex, age, veteran status, sexual orientation, gender identity, or political affiliation. May also indicate discussion of such content, for instance, in an academic or journalistic context.", + "Content related to audio, video, or software downloads.", + "Contains content related to personal weapons, including knives, guns, small firearms, and ammunition. Selecting either \"weapons\" or \"sensitive social issues\" will result in selecting both.", + "Contains content related to betting or wagering in a real-world or online setting.", + "Content which may be considered graphically violent, gory, gruesome, or shocking, such as street fighting videos, accident photos, descriptions of torture, etc.", + "Adult content, as well as suggestive content that's not explicitly pornographic. This category includes all pages categorized as adult.", + "Prominent use of words considered indecent, such as curse words and sexual slang. Pages with only very occasional usage, such as news sites that might include such words in a quotation, are not included.", + "Contains content related to alcoholic beverages, alcohol brands, recipes, etc.", + "Contains content related to the recreational use of legal or illegal drugs, as well as to drug paraphernalia or cultivation.", + "Contains content related to tobacco and tobacco accessories, including lighters, humidors, ashtrays, etc.", + "Political news and media, including discussions of social, governmental, and public policy.", + "Content related to religious thought or beliefs.", + "Content related to death, disasters, accidents, war, etc.", + "Content related to motor vehicle, aviation or other transportation accidents.", + "Issues that evoke strong, opposing views and spark debate. These include issues that are controversial in most countries and markets (such as abortion), as well as those that are controversial in specific countries and markets (such as immigration reform in the United States).", + "Content which may be considered shocking or disturbing, such as violent news stories, stunts, or toilet humor.", + "YouTube videos embedded on websites outside of YouTube.com.", + "Video of live events streamed over the internet." + ], + "type": "string" + } + }, + "type": "object" + }, + "SensitiveCategoryTargetingOptionDetails": { + "description": "Represents a targetable sensitive category. This will be populated in the sensitive_category_details field of the TargetingOption when targeting_type is `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.", + "id": "SensitiveCategoryTargetingOptionDetails", + "properties": { + "sensitiveCategory": { + "description": "Output only. An enum for the DV360 Sensitive category content classifier.", + "enum": [ + "SENSITIVE_CATEGORY_UNSPECIFIED", + "SENSITIVE_CATEGORY_ADULT", + "SENSITIVE_CATEGORY_DEROGATORY", + "SENSITIVE_CATEGORY_DOWNLOADS_SHARING", + "SENSITIVE_CATEGORY_WEAPONS", + "SENSITIVE_CATEGORY_GAMBLING", + "SENSITIVE_CATEGORY_VIOLENCE", + "SENSITIVE_CATEGORY_SUGGESTIVE", + "SENSITIVE_CATEGORY_PROFANITY", + "SENSITIVE_CATEGORY_ALCOHOL", + "SENSITIVE_CATEGORY_DRUGS", + "SENSITIVE_CATEGORY_TOBACCO", + "SENSITIVE_CATEGORY_POLITICS", + "SENSITIVE_CATEGORY_RELIGION", + "SENSITIVE_CATEGORY_TRAGEDY", + "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS", + "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES", + "SENSITIVE_CATEGORY_SHOCKING", + "SENSITIVE_CATEGORY_EMBEDDED_VIDEO", + "SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO" + ], + "enumDescriptions": [ + "This enum is only a placeholder and doesn't specify a DV360 sensitive category.", + "Adult or pornographic text, image, or video content.", + "Content that may be construed as biased against individuals, groups, or organizations based on criteria such as race, religion, disability, sex, age, veteran status, sexual orientation, gender identity, or political affiliation. May also indicate discussion of such content, for instance, in an academic or journalistic context.", + "Content related to audio, video, or software downloads.", + "Contains content related to personal weapons, including knives, guns, small firearms, and ammunition. Selecting either \"weapons\" or \"sensitive social issues\" will result in selecting both.", + "Contains content related to betting or wagering in a real-world or online setting.", + "Content which may be considered graphically violent, gory, gruesome, or shocking, such as street fighting videos, accident photos, descriptions of torture, etc.", + "Adult content, as well as suggestive content that's not explicitly pornographic. This category includes all pages categorized as adult.", + "Prominent use of words considered indecent, such as curse words and sexual slang. Pages with only very occasional usage, such as news sites that might include such words in a quotation, are not included.", + "Contains content related to alcoholic beverages, alcohol brands, recipes, etc.", + "Contains content related to the recreational use of legal or illegal drugs, as well as to drug paraphernalia or cultivation.", + "Contains content related to tobacco and tobacco accessories, including lighters, humidors, ashtrays, etc.", + "Political news and media, including discussions of social, governmental, and public policy.", + "Content related to religious thought or beliefs.", + "Content related to death, disasters, accidents, war, etc.", + "Content related to motor vehicle, aviation or other transportation accidents.", + "Issues that evoke strong, opposing views and spark debate. These include issues that are controversial in most countries and markets (such as abortion), as well as those that are controversial in specific countries and markets (such as immigration reform in the United States).", + "Content which may be considered shocking or disturbing, such as violent news stories, stunts, or toilet humor.", + "YouTube videos embedded on websites outside of YouTube.com.", + "Video of live events streamed over the internet." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "SessionPositionAssignedTargetingOptionDetails": { + "description": "Details for session position assigned targeting option. This will be populated in the session_position_details field when targeting_type is `TARGETING_TYPE_SESSION_POSITION`.", + "id": "SessionPositionAssignedTargetingOptionDetails", + "properties": { + "sessionPosition": { + "description": "The position where the ad will show in a session.", + "enum": [ + "SESSION_POSITION_UNSPECIFIED", + "SESSION_POSITION_FIRST_IMPRESSION" + ], + "enumDescriptions": [ + "This is a placeholder, does not indicate any positions.", + "The first impression of the session." + ], + "type": "string" + } + }, + "type": "object" + }, + "Site": { + "description": "A single site. Sites are apps or websites belonging to a channel.", + "id": "Site", + "properties": { + "name": { + "description": "Output only. The resource name of the site.", + "readOnly": true, + "type": "string" + }, + "urlOrAppId": { + "description": "Required. The app ID or URL of the site. Must be UTF-8 encoded with a maximum length of 240 bytes.", + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "SubExchangeAssignedTargetingOptionDetails": { + "description": "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`.", + "id": "SubExchangeAssignedTargetingOptionDetails", + "properties": { + "targetingOptionId": { + "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_SUB_EXCHANGE`.", + "type": "string" + } + }, + "type": "object" + }, + "SubExchangeTargetingOptionDetails": { + "description": "Represents a targetable sub-exchange. This will be populated in the sub_exchange_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_SUB_EXCHANGE`.", + "id": "SubExchangeTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the sub-exchange.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "TargetFrequency": { + "description": "Setting that controls the average number of times the ads will show to the same person over a certain period of time.", + "id": "TargetFrequency", + "properties": { + "targetCount": { + "description": "The target number of times, on average, the ads will be shown to the same person in the timespan dictated by time_unit and time_unit_count.", + "format": "int64", + "type": "string" + }, + "timeUnit": { + "description": "The unit of time in which the target frequency will be applied. The following time unit is applicable: * `TIME_UNIT_WEEKS`", + "enum": [ + "TIME_UNIT_UNSPECIFIED", + "TIME_UNIT_LIFETIME", + "TIME_UNIT_MONTHS", + "TIME_UNIT_WEEKS", + "TIME_UNIT_DAYS", + "TIME_UNIT_HOURS", + "TIME_UNIT_MINUTES" + ], + "enumDescriptions": [ + "Time unit value is not specified or is unknown in this version.", + "The frequency cap will be applied to the whole life time of the line item.", + "The frequency cap will be applied to a number of months.", + "The frequency cap will be applied to a number of weeks.", + "The frequency cap will be applied to a number of days.", + "The frequency cap will be applied to a number of hours.", + "The frequency cap will be applied to a number of minutes." + ], + "type": "string" + }, + "timeUnitCount": { + "description": "The number of time_unit the target frequency will last. The following restrictions apply based on the value of time_unit: * `TIME_UNIT_WEEKS` - must be 1", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "TargetingExpansionConfig": { + "description": "Settings that control the [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the line item.", + "id": "TargetingExpansionConfig", + "properties": { + "audienceExpansionLevel": { + "description": "Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources.", + "enum": [ + "UNKNOWN", + "NO_REACH", + "LEAST_REACH", + "MID_REACH", + "MOST_REACH" + ], + "enumDescriptions": [ + "Audience expansion level is not specified or is unknown in this version.", + "Audience expansion off.", + "Conservative audience expansion.", + "Moderate audience expansion.", + "Aggressive audience expansion." + ], + "readOnly": true, + "type": "string" + }, + "audienceExpansionSeedListExcluded": { + "description": "Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources.", + "readOnly": true, + "type": "boolean" + }, + "enableOptimizedTargeting": { + "description": "Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` *Warning*: Starting **March 6, 2025**, this field will stop being compatible when using the BiddingStrategy field fixed_bid. [Read more about this announced change](/display-video/api/deprecations#features.ot_fixed_bid)", + "type": "boolean" + } + }, + "type": "object" + }, + "TargetingOption": { + "description": "Represents a single targeting option, which is a targetable concept in DV360.", + "id": "TargetingOption", + "properties": { + "ageRangeDetails": { + "$ref": "AgeRangeTargetingOptionDetails", + "description": "Age range details." + }, + "appCategoryDetails": { + "$ref": "AppCategoryTargetingOptionDetails", + "description": "App category details." + }, + "audioContentTypeDetails": { + "$ref": "AudioContentTypeTargetingOptionDetails", + "description": "Audio content type details." + }, + "authorizedSellerStatusDetails": { + "$ref": "AuthorizedSellerStatusTargetingOptionDetails", + "description": "Authorized seller status resource details." + }, + "browserDetails": { + "$ref": "BrowserTargetingOptionDetails", + "description": "Browser details." + }, + "businessChainDetails": { + "$ref": "BusinessChainTargetingOptionDetails", + "description": "Business chain resource details." + }, + "carrierAndIspDetails": { + "$ref": "CarrierAndIspTargetingOptionDetails", + "description": "Carrier and ISP details." + }, + "categoryDetails": { + "$ref": "CategoryTargetingOptionDetails", + "description": "Category resource details." + }, + "contentDurationDetails": { + "$ref": "ContentDurationTargetingOptionDetails", + "description": "Content duration resource details." + }, + "contentGenreDetails": { + "$ref": "ContentGenreTargetingOptionDetails", + "description": "Content genre resource details." + }, + "contentInstreamPositionDetails": { + "$ref": "ContentInstreamPositionTargetingOptionDetails", + "description": "Content instream position details." + }, + "contentOutstreamPositionDetails": { + "$ref": "ContentOutstreamPositionTargetingOptionDetails", + "description": "Content outstream position details." + }, + "contentStreamTypeDetails": { + "$ref": "ContentStreamTypeTargetingOptionDetails", + "description": "Content stream type resource details." + }, + "deviceMakeModelDetails": { + "$ref": "DeviceMakeModelTargetingOptionDetails", + "description": "Device make and model resource details." + }, + "deviceTypeDetails": { + "$ref": "DeviceTypeTargetingOptionDetails", + "description": "Device type details." + }, + "digitalContentLabelDetails": { + "$ref": "DigitalContentLabelTargetingOptionDetails", + "description": "Digital content label details." + }, + "environmentDetails": { + "$ref": "EnvironmentTargetingOptionDetails", + "description": "Environment details." + }, + "exchangeDetails": { + "$ref": "ExchangeTargetingOptionDetails", + "description": "Exchange details." + }, + "genderDetails": { + "$ref": "GenderTargetingOptionDetails", + "description": "Gender details." + }, + "geoRegionDetails": { + "$ref": "GeoRegionTargetingOptionDetails", + "description": "Geographic region resource details." + }, + "householdIncomeDetails": { + "$ref": "HouseholdIncomeTargetingOptionDetails", + "description": "Household income details." + }, + "languageDetails": { + "$ref": "LanguageTargetingOptionDetails", + "description": "Language resource details." + }, + "name": { + "description": "Output only. The resource name for this targeting option.", + "readOnly": true, + "type": "string" + }, + "nativeContentPositionDetails": { + "$ref": "NativeContentPositionTargetingOptionDetails", + "description": "Native content position details." + }, + "omidDetails": { + "$ref": "OmidTargetingOptionDetails", + "description": "Open Measurement enabled inventory details." + }, + "onScreenPositionDetails": { + "$ref": "OnScreenPositionTargetingOptionDetails", + "description": "On screen position details." + }, + "operatingSystemDetails": { + "$ref": "OperatingSystemTargetingOptionDetails", + "description": "Operating system resources details." + }, + "parentalStatusDetails": { + "$ref": "ParentalStatusTargetingOptionDetails", + "description": "Parental status details." + }, + "poiDetails": { + "$ref": "PoiTargetingOptionDetails", + "description": "POI resource details." + }, + "sensitiveCategoryDetails": { + "$ref": "SensitiveCategoryTargetingOptionDetails", + "description": "Sensitive Category details." + }, + "subExchangeDetails": { + "$ref": "SubExchangeTargetingOptionDetails", + "description": "Sub-exchange details." + }, + "targetingOptionId": { + "description": "Output only. A unique identifier for this targeting option. The tuple {`targeting_type`, `targeting_option_id`} will be unique.", + "readOnly": true, + "type": "string" + }, + "targetingType": { + "description": "Output only. The type of this targeting option.", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "readOnly": true, + "type": "string" + }, + "userRewardedContentDetails": { + "$ref": "UserRewardedContentTargetingOptionDetails", + "description": "User rewarded content details." + }, + "videoPlayerSizeDetails": { + "$ref": "VideoPlayerSizeTargetingOptionDetails", + "description": "Video player size details." + }, + "viewabilityDetails": { + "$ref": "ViewabilityTargetingOptionDetails", + "description": "Viewability resource details." + } + }, + "type": "object" + }, + "ThirdPartyMeasurementConfigs": { + "description": "Settings that control what third-party vendors are measuring specific line item metrics.", + "id": "ThirdPartyMeasurementConfigs", + "properties": { + "brandLiftVendorConfigs": { + "description": "Optional. The third-party vendors measuring brand lift. The following third-party vendors are applicable: * `THIRD_PARTY_VENDOR_DYNATA` * `THIRD_PARTY_VENDOR_KANTAR`", + "items": { + "$ref": "ThirdPartyVendorConfig" + }, + "type": "array" + }, + "brandSafetyVendorConfigs": { + "description": "Optional. The third-party vendors measuring brand safety. The following third-party vendors are applicable: * `THIRD_PARTY_VENDOR_ZERF` * `THIRD_PARTY_VENDOR_DOUBLE_VERIFY` * `THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE`", + "items": { + "$ref": "ThirdPartyVendorConfig" + }, + "type": "array" + }, + "reachVendorConfigs": { + "description": "Optional. The third-party vendors measuring reach. The following third-party vendors are applicable: * `THIRD_PARTY_VENDOR_NIELSEN` * `THIRD_PARTY_VENDOR_COMSCORE` * `THIRD_PARTY_VENDOR_KANTAR`", + "items": { + "$ref": "ThirdPartyVendorConfig" + }, + "type": "array" + }, + "viewabilityVendorConfigs": { + "description": "Optional. The third-party vendors measuring viewability. The following third-party vendors are applicable: * `THIRD_PARTY_VENDOR_MOAT` * `THIRD_PARTY_VENDOR_DOUBLE_VERIFY` * `THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE` * `THIRD_PARTY_VENDOR_COMSCORE` * `THIRD_PARTY_VENDOR_TELEMETRY` * `THIRD_PARTY_VENDOR_MEETRICS`", + "items": { + "$ref": "ThirdPartyVendorConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "ThirdPartyOnlyConfig": { + "description": "Settings for advertisers that use third-party ad servers only.", + "id": "ThirdPartyOnlyConfig", + "properties": { + "pixelOrderIdReportingEnabled": { + "description": "Whether or not order ID reporting for pixels is enabled. This value cannot be changed once set to `true`.", + "type": "boolean" + } + }, + "type": "object" + }, + "ThirdPartyUrl": { + "description": "Tracking URLs from third parties to track interactions with an audio or a video creative.", + "id": "ThirdPartyUrl", + "properties": { + "type": { + "description": "Optional. The type of interaction needs to be tracked by the tracking URL", + "enum": [ + "THIRD_PARTY_URL_TYPE_UNSPECIFIED", + "THIRD_PARTY_URL_TYPE_IMPRESSION", + "THIRD_PARTY_URL_TYPE_CLICK_TRACKING", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_START", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FIRST_QUARTILE", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MIDPOINT", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_THIRD_QUARTILE", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_COMPLETE", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MUTE", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PAUSE", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_REWIND", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FULLSCREEN", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_STOP", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_CUSTOM", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_SKIP", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PROGRESS" + ], + "enumDescriptions": [ + "The type of third-party URL is unspecified or is unknown in this version.", + "Used to count impressions of the creative after the audio or video buffering is complete.", + "Used to track user clicks on the audio or video.", + "Used to track the number of times a user starts the audio or video.", + "Used to track the number of times the audio or video plays to 25% of its length.", + "Used to track the number of times the audio or video plays to 50% of its length.", + "Used to track the number of times the audio or video plays to 75% of its length.", + "Used to track the number of times the audio or video plays to the end.", + "Used to track the number of times a user mutes the audio or video.", + "Used to track the number of times a user pauses the audio or video.", + "Used to track the number of times a user replays the audio or video.", + "Used to track the number of times a user expands the player to full-screen size.", + "Used to track the number of times a user stops the audio or video.", + "Used to track the number of times a user performs a custom click, such as clicking on a video hot spot.", + "Used to track the number of times the audio or video was skipped.", + "Used to track the number of times the audio or video plays to an offset determined by the progress_offset." + ], + "type": "string" + }, + "url": { + "description": "Optional. Tracking URL used to track the interaction. Provide a URL with optional path or query string, beginning with `https:`. For example, `https://www.example.com/path`", + "type": "string" + } + }, + "type": "object" + }, + "ThirdPartyVendorConfig": { + "description": "Settings that control how third-party measurement vendors are configured.", + "id": "ThirdPartyVendorConfig", + "properties": { + "placementId": { + "description": "The ID used by the platform of the third-party vendor to identify the line item.", + "type": "string" + }, + "vendor": { + "description": "The third-party measurement vendor.", + "enum": [ + "THIRD_PARTY_VENDOR_UNSPECIFIED", + "THIRD_PARTY_VENDOR_MOAT", + "THIRD_PARTY_VENDOR_DOUBLE_VERIFY", + "THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE", + "THIRD_PARTY_VENDOR_COMSCORE", + "THIRD_PARTY_VENDOR_TELEMETRY", + "THIRD_PARTY_VENDOR_MEETRICS", + "THIRD_PARTY_VENDOR_ZEFR", + "THIRD_PARTY_VENDOR_NIELSEN", + "THIRD_PARTY_VENDOR_KANTAR", + "THIRD_PARTY_VENDOR_DYNATA" + ], + "enumDescriptions": [ + "Unknown third-party vendor.", + "Moat.", + "DoubleVerify.", + "Integral Ad Science.", + "Comscore.", + "Telemetry.", + "Meetrics.", + "ZEFR.", + "Nielsen.", + "Kantar.", + "Dynata." + ], + "type": "string" + } + }, + "type": "object" + }, + "ThirdPartyVerifierAssignedTargetingOptionDetails": { + "description": "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`.", + "id": "ThirdPartyVerifierAssignedTargetingOptionDetails", + "properties": { + "adloox": { + "$ref": "Adloox", + "description": "Third party brand verifier -- Adloox." + }, + "doubleVerify": { + "$ref": "DoubleVerify", + "description": "Third party brand verifier -- DoubleVerify." + }, + "integralAdScience": { + "$ref": "IntegralAdScience", + "description": "Third party brand verifier -- Integral Ad Science." + } + }, + "type": "object" + }, + "TimeRange": { + "description": "A time range.", + "id": "TimeRange", + "properties": { + "endTime": { + "description": "Required. The upper bound of a time range, inclusive.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Required. The lower bound of a time range, inclusive.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "TimerEvent": { + "description": "Timer event of the creative.", + "id": "TimerEvent", + "properties": { + "name": { + "description": "Required. The name of the timer event.", + "type": "string" + }, + "reportingName": { + "description": "Required. The name used to identify this timer event in reports.", + "type": "string" + } + }, + "type": "object" + }, + "TrackingFloodlightActivityConfig": { + "description": "Settings that control the behavior of a single Floodlight activity config.", + "id": "TrackingFloodlightActivityConfig", + "properties": { + "floodlightActivityId": { + "description": "Required. The ID of the Floodlight activity.", + "format": "int64", + "type": "string" + }, + "postClickLookbackWindowDays": { + "description": "Required. The number of days after an ad has been clicked in which a conversion may be counted. Must be between 0 and 90 inclusive.", + "format": "int32", + "type": "integer" + }, + "postViewLookbackWindowDays": { + "description": "Required. The number of days after an ad has been viewed in which a conversion may be counted. Must be between 0 and 90 inclusive.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Transcode": { + "description": "Represents information about the transcoded audio or video file.", + "id": "Transcode", + "properties": { + "audioBitRateKbps": { + "description": "Optional. The bit rate for the audio stream of the transcoded video, or the bit rate for the transcoded audio, in kilobits per second.", + "format": "int64", + "type": "string" + }, + "audioSampleRateHz": { + "description": "Optional. The sample rate for the audio stream of the transcoded video, or the sample rate for the transcoded audio, in hertz.", + "format": "int64", + "type": "string" + }, + "bitRateKbps": { + "description": "Optional. The transcoding bit rate of the transcoded video, in kilobits per second.", + "format": "int64", + "type": "string" + }, + "dimensions": { + "$ref": "Dimensions", + "description": "Optional. The dimensions of the transcoded video." + }, + "fileSizeBytes": { + "description": "Optional. The size of the transcoded file, in bytes.", + "format": "int64", + "type": "string" + }, + "frameRate": { + "description": "Optional. The frame rate of the transcoded video, in frames per second.", + "format": "float", + "type": "number" + }, + "mimeType": { + "description": "Optional. The MIME type of the transcoded file.", + "type": "string" + }, + "name": { + "description": "Optional. The name of the transcoded file.", + "type": "string" + }, + "transcoded": { + "description": "Optional. Indicates if the transcoding was successful.", + "type": "boolean" + } + }, + "type": "object" + }, + "UniversalAdId": { + "description": "A creative identifier provided by a registry that is unique across all platforms. This is part of the VAST 4.0 standard.", + "id": "UniversalAdId", + "properties": { + "id": { + "description": "Optional. The unique creative identifier.", + "type": "string" + }, + "registry": { + "description": "Optional. The registry provides unique creative identifiers.", + "enum": [ + "UNIVERSAL_AD_REGISTRY_UNSPECIFIED", + "UNIVERSAL_AD_REGISTRY_OTHER", + "UNIVERSAL_AD_REGISTRY_AD_ID", + "UNIVERSAL_AD_REGISTRY_CLEARCAST", + "UNIVERSAL_AD_REGISTRY_DV360", + "UNIVERSAL_AD_REGISTRY_CM" + ], + "enumDescriptions": [ + "The Universal Ad registry is unspecified or is unknown in this version.", + "Use a custom provider to provide the Universal Ad ID.", + "Use Ad-ID to provide the Universal Ad ID.", + "Use clearcast.co.uk to provide the Universal Ad ID.", + "Use Display & Video 360 to provide the Universal Ad ID.", + "Use Campaign Manager 360 to provide the Universal Ad ID." + ], + "type": "string" + } + }, + "type": "object" + }, + "UrlAssignedTargetingOptionDetails": { + "description": "Details for assigned URL targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_URL`.", + "id": "UrlAssignedTargetingOptionDetails", + "properties": { + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "url": { + "description": "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`.", + "type": "string" + } + }, + "type": "object" + }, + "User": { + "description": "A single user in Display & Video 360.", + "id": "User", + "properties": { + "assignedUserRoles": { + "description": "The assigned user roles. Required in CreateUser. Output only in UpdateUser. Can only be updated through BulkEditAssignedUserRoles.", + "items": { + "$ref": "AssignedUserRole" + }, + "type": "array" + }, + "displayName": { + "description": "Required. The display name of the user. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "email": { + "description": "Required. Immutable. The email address used to identify the user.", + "type": "string" + }, + "lastLoginTime": { + "description": "Output only. The timestamp when the user last logged in DV360 UI.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the user.", + "readOnly": true, + "type": "string" + }, + "userId": { + "description": "Output only. The unique ID of the user. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "UserRewardedContentAssignedTargetingOptionDetails": { + "description": "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`.", + "id": "UserRewardedContentAssignedTargetingOptionDetails", + "properties": { + "targetingOptionId": { + "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.", + "type": "string" + }, + "userRewardedContent": { + "description": "Output only. User rewarded content status for video ads.", + "enum": [ + "USER_REWARDED_CONTENT_UNSPECIFIED", + "USER_REWARDED_CONTENT_USER_REWARDED", + "USER_REWARDED_CONTENT_NOT_USER_REWARDED" + ], + "enumDescriptions": [ + "User rewarded content is not specified or is unknown in this version.", + "Represents ads where the user will see a reward after viewing.", + "Represents all other ads besides user-rewarded." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "UserRewardedContentTargetingOptionDetails": { + "description": "Represents a targetable user rewarded content status for video ads only. This will be populated in the user_rewarded_content_details field when targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.", + "id": "UserRewardedContentTargetingOptionDetails", + "properties": { + "userRewardedContent": { + "description": "Output only. User rewarded content status for video ads.", + "enum": [ + "USER_REWARDED_CONTENT_UNSPECIFIED", + "USER_REWARDED_CONTENT_USER_REWARDED", + "USER_REWARDED_CONTENT_NOT_USER_REWARDED" + ], + "enumDescriptions": [ + "User rewarded content is not specified or is unknown in this version.", + "Represents ads where the user will see a reward after viewing.", + "Represents all other ads besides user-rewarded." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "VideoAdSequenceSettings": { + "description": "Settings related to VideoAdSequence.", + "id": "VideoAdSequenceSettings", + "properties": { + "minimumDuration": { + "description": "The minimum time interval before the same user sees this sequence again.", + "enum": [ + "VIDEO_AD_SEQUENCE_MINIMUM_DURATION_UNSPECIFIED", + "VIDEO_AD_SEQUENCE_MINIMUM_DURATION_WEEK", + "VIDEO_AD_SEQUENCE_MINIMUM_DURATION_MONTH" + ], + "enumDescriptions": [ + "Unspecified or unknown.", + "7 days.", + "30 days." + ], + "type": "string" + }, + "steps": { + "description": "The steps of which the sequence consists.", + "items": { + "$ref": "VideoAdSequenceStep" + }, + "type": "array" + } + }, + "type": "object" + }, + "VideoAdSequenceStep": { + "description": "The detail of a single step in a VideoAdSequence.", + "id": "VideoAdSequenceStep", + "properties": { + "adGroupId": { + "description": "The ID of the corresponding ad group of the step.", + "format": "int64", + "type": "string" + }, + "interactionType": { + "description": "The interaction on the previous step that will lead the viewer to this step. The first step does not have interaction_type.", + "enum": [ + "INTERACTION_TYPE_UNSPECIFIED", + "INTERACTION_TYPE_PAID_VIEW", + "INTERACTION_TYPE_SKIP", + "INTERACTION_TYPE_IMPRESSION", + "INTERACTION_TYPE_ENGAGED_IMPRESSION" + ], + "enumDescriptions": [ + "Unspecified or unknown", + "A paid view.", + "Skipped by the viewer.", + "A (viewed) ad impression.", + "An ad impression that was not immediately skipped by the viewer, but didn't reach the billable event either." + ], + "type": "string" + }, + "previousStepId": { + "description": "The ID of the previous step. The first step does not have previous step.", + "format": "int64", + "type": "string" + }, + "stepId": { + "description": "The ID of the step.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "VideoDiscoveryAd": { + "description": "Details for a video discovery ad.", + "id": "VideoDiscoveryAd", + "properties": { + "description1": { + "description": "First text line for the ad.", + "type": "string" + }, + "description2": { + "description": "Second text line for the ad.", + "type": "string" + }, + "headline": { + "description": "The headline of ad.", + "type": "string" + }, + "thumbnail": { + "description": "Thumbnail image used in the ad.", + "enum": [ + "THUMBNAIL_UNSPECIFIED", + "THUMBNAIL_DEFAULT", + "THUMBNAIL_1", + "THUMBNAIL_2", + "THUMBNAIL_3" + ], + "enumDescriptions": [ + "Unknown or unspecified.", + "The default thumbnail, can be auto-generated or user-uploaded.", + "Thumbnail 1, generated from the video.", + "Thumbnail 2, generated from the video.", + "Thumbnail 3, generated from the video." + ], + "type": "string" + }, + "video": { + "$ref": "YoutubeVideoDetails", + "description": "The YouTube video the ad promotes." + } + }, + "type": "object" + }, + "VideoPerformanceAd": { + "description": "Details for a video performance ad.", + "id": "VideoPerformanceAd", + "properties": { + "actionButtonLabels": { + "description": "The list of text assets shown on the call-to-action button.", + "items": { + "type": "string" + }, + "type": "array" + }, + "companionBanners": { + "description": "The list of companion banners used by this ad.", + "items": { + "$ref": "ImageAsset" + }, + "type": "array" + }, + "customParameters": { + "additionalProperties": { + "type": "string" + }, + "description": "The custom parameters to pass custom values to tracking URL template.", + "type": "object" + }, + "descriptions": { + "description": "The list of descriptions shown on the call-to-action banner.", + "items": { + "type": "string" + }, + "type": "array" + }, + "displayUrlBreadcrumb1": { + "description": "The first piece after the domain in the display URL.", + "type": "string" + }, + "displayUrlBreadcrumb2": { + "description": "The second piece after the domain in the display URL.", + "type": "string" + }, + "domain": { + "description": "The domain of the display URL.", + "type": "string" + }, + "finalUrl": { + "description": "The URL address of the webpage that people reach after they click the ad.", + "type": "string" + }, + "headlines": { + "description": "The list of headlines shown on the call-to-action banner.", + "items": { + "type": "string" + }, + "type": "array" + }, + "longHeadlines": { + "description": "The list of lone headlines shown on the call-to-action banner.", + "items": { + "type": "string" + }, + "type": "array" + }, + "trackingUrl": { + "description": "The URL address loaded in the background for tracking purposes.", + "type": "string" + }, + "videos": { + "description": "The list of YouTube video assets used by this ad.", + "items": { + "$ref": "YoutubeVideoDetails" + }, + "type": "array" + } + }, + "type": "object" + }, + "VideoPlayerSizeAssignedTargetingOptionDetails": { + "description": "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.", + "id": "VideoPlayerSizeAssignedTargetingOptionDetails", + "properties": { + "videoPlayerSize": { + "description": "Required. The video player size.", + "enum": [ + "VIDEO_PLAYER_SIZE_UNSPECIFIED", + "VIDEO_PLAYER_SIZE_SMALL", + "VIDEO_PLAYER_SIZE_LARGE", + "VIDEO_PLAYER_SIZE_HD", + "VIDEO_PLAYER_SIZE_UNKNOWN" + ], + "enumDescriptions": [ + "Video player size is not specified in this version. This enum is a place holder for a default value and does not represent a real video player size.", + "The dimensions of the video player are less than 400×300 (desktop), or up to 20% of screen covered (mobile).", + "The dimensions of the video player are between 400x300 and 1280x720 pixels (desktop), or 20% to 90% of the screen covered (mobile).", + "The dimensions of the video player are 1280×720 or greater (desktop), or over 90% of the screen covered (mobile).", + "The dimensions of the video player are unknown." + ], + "type": "string" + } + }, + "type": "object" + }, + "VideoPlayerSizeTargetingOptionDetails": { + "description": "Represents a targetable video player size. This will be populated in the video_player_size_details field when targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`.", + "id": "VideoPlayerSizeTargetingOptionDetails", + "properties": { + "videoPlayerSize": { + "description": "Output only. The video player size.", + "enum": [ + "VIDEO_PLAYER_SIZE_UNSPECIFIED", + "VIDEO_PLAYER_SIZE_SMALL", + "VIDEO_PLAYER_SIZE_LARGE", + "VIDEO_PLAYER_SIZE_HD", + "VIDEO_PLAYER_SIZE_UNKNOWN" + ], + "enumDescriptions": [ + "Video player size is not specified in this version. This enum is a place holder for a default value and does not represent a real video player size.", + "The dimensions of the video player are less than 400×300 (desktop), or up to 20% of screen covered (mobile).", + "The dimensions of the video player are between 400x300 and 1280x720 pixels (desktop), or 20% to 90% of the screen covered (mobile).", + "The dimensions of the video player are 1280×720 or greater (desktop), or over 90% of the screen covered (mobile).", + "The dimensions of the video player are unknown." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ViewabilityAssignedTargetingOptionDetails": { + "description": "Assigned viewability targeting option details. This will be populated in the viewability_details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_VIEWABILITY`.", + "id": "ViewabilityAssignedTargetingOptionDetails", + "properties": { + "viewability": { + "description": "Required. The predicted viewability percentage.", + "enum": [ + "VIEWABILITY_UNSPECIFIED", + "VIEWABILITY_10_PERCENT_OR_MORE", + "VIEWABILITY_20_PERCENT_OR_MORE", + "VIEWABILITY_30_PERCENT_OR_MORE", + "VIEWABILITY_40_PERCENT_OR_MORE", + "VIEWABILITY_50_PERCENT_OR_MORE", + "VIEWABILITY_60_PERCENT_OR_MORE", + "VIEWABILITY_70_PERCENT_OR_MORE", + "VIEWABILITY_80_PERCENT_OR_MORE", + "VIEWABILITY_90_PERCENT_OR_MORE" + ], + "enumDescriptions": [ + "Default value when viewability is not specified in this version. This enum is a placeholder for default value and does not represent a real viewability option.", + "Bid only on impressions that are at least 10% likely to be viewable.", + "Bid only on impressions that are at least 20% likely to be viewable.", + "Bid only on impressions that are at least 30% likely to be viewable.", + "Bid only on impressions that are at least 40% likely to be viewable.", + "Bid only on impressions that are at least 50% likely to be viewable.", + "Bid only on impressions that are at least 60% likely to be viewable.", + "Bid only on impressions that are at least 70% likely to be viewable.", + "Bid only on impressions that are at least 80% likely to be viewable.", + "Bid only on impressions that are at least 90% likely to be viewable." + ], + "type": "string" + } + }, + "type": "object" + }, + "ViewabilityTargetingOptionDetails": { + "description": "Represents a targetable viewability. This will be populated in the viewability_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_VIEWABILITY`.", + "id": "ViewabilityTargetingOptionDetails", + "properties": { + "viewability": { + "description": "Output only. The predicted viewability percentage.", + "enum": [ + "VIEWABILITY_UNSPECIFIED", + "VIEWABILITY_10_PERCENT_OR_MORE", + "VIEWABILITY_20_PERCENT_OR_MORE", + "VIEWABILITY_30_PERCENT_OR_MORE", + "VIEWABILITY_40_PERCENT_OR_MORE", + "VIEWABILITY_50_PERCENT_OR_MORE", + "VIEWABILITY_60_PERCENT_OR_MORE", + "VIEWABILITY_70_PERCENT_OR_MORE", + "VIEWABILITY_80_PERCENT_OR_MORE", + "VIEWABILITY_90_PERCENT_OR_MORE" + ], + "enumDescriptions": [ + "Default value when viewability is not specified in this version. This enum is a placeholder for default value and does not represent a real viewability option.", + "Bid only on impressions that are at least 10% likely to be viewable.", + "Bid only on impressions that are at least 20% likely to be viewable.", + "Bid only on impressions that are at least 30% likely to be viewable.", + "Bid only on impressions that are at least 40% likely to be viewable.", + "Bid only on impressions that are at least 50% likely to be viewable.", + "Bid only on impressions that are at least 60% likely to be viewable.", + "Bid only on impressions that are at least 70% likely to be viewable.", + "Bid only on impressions that are at least 80% likely to be viewable.", + "Bid only on impressions that are at least 90% likely to be viewable." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "YoutubeAndPartnersBiddingStrategy": { + "description": "Settings that control the bid strategy for YouTube and Partners resources.", + "id": "YoutubeAndPartnersBiddingStrategy", + "properties": { + "adGroupEffectiveTargetCpaSource": { + "description": "Output only. Source of the effective target CPA value for ad group.", + "enum": [ + "BIDDING_SOURCE_UNSPECIFIED", + "BIDDING_SOURCE_LINE_ITEM", + "BIDDING_SOURCE_AD_GROUP" + ], + "enumDescriptions": [ + "Bidding source is not specified or unknown.", + "Bidding value is inherited from the line item.", + "Bidding value is defined in the ad group." + ], + "readOnly": true, + "type": "string" + }, + "adGroupEffectiveTargetCpaValue": { + "description": "Output only. The effective target CPA for ad group, in micros of advertiser's currency.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "The type of the bidding strategy.", + "enum": [ + "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_UNSPECIFIED", + "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPV", + "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPM", + "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA", + "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPM", + "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_RESERVE_CPM", + "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_LIFT", + "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSIONS", + "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPV", + "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS", + "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSION_VALUE" + ], + "enumDescriptions": [ + "Type is not specified or unknown.", + "A bidding strategy that pays a configurable amount per video view.", + "A bidding strategy that pays a configurable amount per impression.", + "A bidding strategy that automatically optimizes conversions per dollar.", + "A bidding strategy that pays a configurable amount per impression.", + "A bidding strategy for YouTube Instant Reserve line items that pays a fixed amount per impression.", + "An automated bidding strategy that sets bids to achieve maximum lift.", + "A bidding strategy that automatically maximizes number of conversions given a daily budget.", + "A bidding strategy that automatically optimizes cost per video view.", + "A bidding strategy that automatically maximizes revenue while averaging a specific target Return On Ad Spend (ROAS).", + "A bidding strategy that automatically sets bids to maximize revenue while spending your budget." + ], + "type": "string" + }, + "value": { + "description": "The value used by the bidding strategy. When the bidding strategy is assigned at the line item level, this field is only applicable for the following strategy types: * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA` * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS` When the bidding strategy is assigned at the ad group level, this field is only applicable for the following strategy types: * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPM` * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPV` * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA` * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPM` * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_RESERVE_CPM` * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS` If not using an applicable strategy, the value of this field will be 0.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "YoutubeAndPartnersInventorySourceConfig": { + "description": "Settings that control what YouTube related inventories the YouTube and Partners line item will target.", + "id": "YoutubeAndPartnersInventorySourceConfig", + "properties": { + "includeGoogleTv": { + "description": "Optional. Whether to target inventory in video apps available with Google TV.", + "type": "boolean" + }, + "includeYoutube": { + "description": "Optional. Whether to target inventory on YouTube. This includes both search, channels and videos.", + "type": "boolean" + }, + "includeYoutubeVideoPartners": { + "description": "Whether to target inventory on a collection of partner sites and apps that follow the same brand safety standards as YouTube.", + "type": "boolean" + } + }, + "type": "object" + }, + "YoutubeAndPartnersSettings": { + "description": "Settings for YouTube and Partners line items.", + "id": "YoutubeAndPartnersSettings", + "properties": { + "contentCategory": { + "description": "The kind of content on which the YouTube and Partners ads will be shown.", + "enum": [ + "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_UNSPECIFIED", + "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_STANDARD", + "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_EXPANDED", + "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_LIMITED" + ], + "enumDescriptions": [ + "Content category is not specified or is unknown in this version.", + "A category consisting of a wide range of content appropriate for most brands. The content is based off of YouTube's [advertiser-friendly content guidelines](https://support.google.com/youtube/answer/6162278).", + "A category including all content across YouTube and video partners that meets standards for monetization.", + "A category consisting of a reduced range of content that meets heightened requirements, especially regarding inappropriate language and sexual suggestiveness." + ], + "type": "string" + }, + "effectiveContentCategory": { + "description": "Output only. The content category which takes effect when serving the line item. When content category is set in both line item and advertiser, the stricter one will take effect when serving the line item.", + "enum": [ + "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_UNSPECIFIED", + "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_STANDARD", + "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_EXPANDED", + "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_LIMITED" + ], + "enumDescriptions": [ + "Content category is not specified or is unknown in this version.", + "A category consisting of a wide range of content appropriate for most brands. The content is based off of YouTube's [advertiser-friendly content guidelines](https://support.google.com/youtube/answer/6162278).", + "A category including all content across YouTube and video partners that meets standards for monetization.", + "A category consisting of a reduced range of content that meets heightened requirements, especially regarding inappropriate language and sexual suggestiveness." + ], + "readOnly": true, + "type": "string" + }, + "inventorySourceSettings": { + "$ref": "YoutubeAndPartnersInventorySourceConfig", + "description": "Settings that control what YouTube and Partners inventories the line item will target." + }, + "leadFormId": { + "description": "Optional. The ID of the form to generate leads.", + "format": "int64", + "type": "string" + }, + "linkedMerchantId": { + "description": "Optional. The ID of the merchant which is linked to the line item for product feed.", + "format": "int64", + "type": "string" + }, + "relatedVideoIds": { + "description": "Optional. The IDs of the videos appear below the primary video ad when the ad is playing in the YouTube app on mobile devices.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetFrequency": { + "$ref": "TargetFrequency", + "description": "Optional. The average number of times you want ads from this line item to show to the same person over a certain period of time." + }, + "thirdPartyMeasurementConfigs": { + "$ref": "ThirdPartyMeasurementConfigs", + "description": "Optional. The third-party measurement configs of the line item." + }, + "videoAdSequenceSettings": { + "$ref": "VideoAdSequenceSettings", + "description": "Optional. The settings related to VideoAdSequence." + }, + "viewFrequencyCap": { + "$ref": "FrequencyCap", + "description": "The view frequency cap settings of the line item. The max_views field in this settings object must be used if assigning a limited cap. *Warning*: On **February 28, 2025**, frequency cap time periods greater than 30 days will no longer be accepted. [Read more about this announced change](/display-video/api/deprecations#features.lifetime_frequency_cap)" + } + }, + "type": "object" + }, + "YoutubeChannelAssignedTargetingOptionDetails": { + "description": "Details for YouTube channel assigned targeting option. This will be populated in the youtube_channel_details field when targeting_type is `TARGETING_TYPE_YOUTUBE_CHANNEL`.", + "id": "YoutubeChannelAssignedTargetingOptionDetails", + "properties": { + "channelId": { + "description": "The YouTube uploader channel id or the channel code of a YouTube channel.", + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + } + }, + "type": "object" + }, + "YoutubeVideoAssignedTargetingOptionDetails": { + "description": "Details for YouTube video assigned targeting option. This will be populated in the youtube_video_details field when targeting_type is `TARGETING_TYPE_YOUTUBE_VIDEO`.", + "id": "YoutubeVideoAssignedTargetingOptionDetails", + "properties": { + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "videoId": { + "description": "YouTube video id as it appears on the YouTube watch page.", + "type": "string" + } + }, + "type": "object" + }, + "YoutubeVideoDetails": { + "description": "Details of a YouTube video.", + "id": "YoutubeVideoDetails", + "properties": { + "id": { + "description": "The YouTube video ID which can be searched on YouTube webpage.", + "type": "string" + }, + "unavailableReason": { + "description": "The reason why the video data is not available.", + "enum": [ + "VIDEO_UNAVAILABLE_REASON_UNSPECIFIED", + "VIDEO_UNAVAILABLE_REASON_PRIVATE", + "VIDEO_UNAVAILABLE_REASON_DELETED" + ], + "enumDescriptions": [ + "Unknown or unspecified.", + "The video is private.", + "The video is deleted." + ], + "type": "string" + } + }, + "type": "object" + } + } +} diff --git a/discovery/googleapis/dlp__v2.json b/discovery/googleapis/dlp__v2.json index 4bea9428e..b3df45fe0 100644 --- a/discovery/googleapis/dlp__v2.json +++ b/discovery/googleapis/dlp__v2.json @@ -252,7 +252,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241215", + "revision": "20250305", "rootUrl": "https://dlp.googleapis.com/", "servicePath": "", "title": "Sensitive Data Protection (DLP)", @@ -2732,7 +2732,7 @@ "image": { "methods": { "redact": { - "description": "Redacts potentially sensitive info from an image. This method has limits on input size, processing time, and output size. See https://cloud.google.com/sensitive-data-protection/docs/redacting-sensitive-data-images to learn more. When no InfoTypes or CustomInfoTypes are specified in this request, the system will automatically choose what detectors to run. By default this may be all types, but may change over time as detectors are updated.", + "description": "Redacts potentially sensitive info from an image. This method has limits on input size, processing time, and output size. See https://cloud.google.com/sensitive-data-protection/docs/redacting-sensitive-data-images to learn more. When no InfoTypes or CustomInfoTypes are specified in this request, the system will automatically choose what detectors to run. By default this may be all types, but may change over time as detectors are updated. Only the first frame of each multiframe image is redacted. Metadata and other frames are omitted in the response.", "flatPath": "v2/projects/{projectsId}/image:redact", "httpMethod": "POST", "id": "dlp.projects.image.redact", @@ -4120,7 +4120,7 @@ "image": { "methods": { "redact": { - "description": "Redacts potentially sensitive info from an image. This method has limits on input size, processing time, and output size. See https://cloud.google.com/sensitive-data-protection/docs/redacting-sensitive-data-images to learn more. When no InfoTypes or CustomInfoTypes are specified in this request, the system will automatically choose what detectors to run. By default this may be all types, but may change over time as detectors are updated.", + "description": "Redacts potentially sensitive info from an image. This method has limits on input size, processing time, and output size. See https://cloud.google.com/sensitive-data-protection/docs/redacting-sensitive-data-images to learn more. When no InfoTypes or CustomInfoTypes are specified in this request, the system will automatically choose what detectors to run. By default this may be all types, but may change over time as detectors are updated. Only the first frame of each multiframe image is redacted. Metadata and other frames are omitted in the response.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/image:redact", "httpMethod": "POST", "id": "dlp.projects.locations.image.redact", @@ -6528,7 +6528,7 @@ "type": "object" }, "GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig": { - "description": "Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/sensitive-data-protection/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity.", + "description": "Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/sensitive-data-protection/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. FPE incurs significant latency costs.", "id": "GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig", "properties": { "commonAlphabet": { @@ -6718,6 +6718,84 @@ }, "type": "object" }, + "GooglePrivacyDlpV2DataProfileFinding": { + "description": "Details about a piece of potentially sensitive information that was detected when the data resource was profiled.", + "id": "GooglePrivacyDlpV2DataProfileFinding", + "properties": { + "dataProfileResourceName": { + "description": "Resource name of the data profile associated with the finding.", + "type": "string" + }, + "findingId": { + "description": "A unique identifier for the finding.", + "type": "string" + }, + "infotype": { + "$ref": "GooglePrivacyDlpV2InfoType", + "description": "The [type of content](https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference) that might have been found." + }, + "location": { + "$ref": "GooglePrivacyDlpV2DataProfileFindingLocation", + "description": "Where the content was found." + }, + "quote": { + "description": "The content that was found. Even if the content is not textual, it may be converted to a textual representation here. If the finding exceeds 4096 bytes in length, the quote may be omitted.", + "type": "string" + }, + "quoteInfo": { + "$ref": "GooglePrivacyDlpV2QuoteInfo", + "description": "Contains data parsed from quotes. Currently supported infoTypes: DATE, DATE_OF_BIRTH, and TIME." + }, + "resourceVisibility": { + "description": "How broadly a resource has been shared.", + "enum": [ + "RESOURCE_VISIBILITY_UNSPECIFIED", + "RESOURCE_VISIBILITY_PUBLIC", + "RESOURCE_VISIBILITY_INCONCLUSIVE", + "RESOURCE_VISIBILITY_RESTRICTED" + ], + "enumDescriptions": [ + "Unused.", + "Visible to any user.", + "May contain public items. For example, if a Cloud Storage bucket has uniform bucket level access disabled, some objects inside it may be public, but none are known yet.", + "Visible only to specific users." + ], + "type": "string" + }, + "timestamp": { + "description": "Timestamp when the finding was detected.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GooglePrivacyDlpV2DataProfileFindingLocation": { + "description": "Location of a data profile finding within a resource.", + "id": "GooglePrivacyDlpV2DataProfileFindingLocation", + "properties": { + "containerName": { + "description": "Name of the container where the finding is located. The top-level name is the source file name or table name. Names of some common storage containers are formatted as follows: * BigQuery tables: `{project_id}:{dataset_id}.{table_id}` * Cloud Storage files: `gs://{bucket}/{path}`", + "type": "string" + }, + "dataProfileFindingRecordLocation": { + "$ref": "GooglePrivacyDlpV2DataProfileFindingRecordLocation", + "description": "Location of a finding within a resource that produces a table data profile." + } + }, + "type": "object" + }, + "GooglePrivacyDlpV2DataProfileFindingRecordLocation": { + "description": "Location of a finding within a resource that produces a table data profile.", + "id": "GooglePrivacyDlpV2DataProfileFindingRecordLocation", + "properties": { + "field": { + "$ref": "GooglePrivacyDlpV2FieldId", + "description": "Field ID of the column containing the finding." + } + }, + "type": "object" + }, "GooglePrivacyDlpV2DataProfileJobConfig": { "description": "Configuration for setting up a job to scan resources for profile generation. Only one data profile configuration may exist per organization, folder, or project. The generated data profiles are retained according to the [data retention policy] (https://cloud.google.com/sensitive-data-protection/docs/data-profiles#retention).", "id": "GooglePrivacyDlpV2DataProfileJobConfig", @@ -7494,8 +7572,8 @@ "enumDescriptions": [ "Unused.", "Scan buckets regardless of the attribute.", - "Buckets with autoclass disabled (https://cloud.google.com/storage/docs/autoclass). Only one of AUTOCLASS_DISABLED or AUTOCLASS_ENABLED should be set.", - "Buckets with autoclass enabled (https://cloud.google.com/storage/docs/autoclass). Only one of AUTOCLASS_DISABLED or AUTOCLASS_ENABLED should be set. Scanning Autoclass-enabled buckets can affect object storage classes." + "Buckets with [Autoclass](https://cloud.google.com/storage/docs/autoclass) disabled. Only one of AUTOCLASS_DISABLED or AUTOCLASS_ENABLED should be set.", + "Buckets with [Autoclass](https://cloud.google.com/storage/docs/autoclass) enabled. Only one of AUTOCLASS_DISABLED or AUTOCLASS_ENABLED should be set. Scanning Autoclass-enabled buckets can affect object storage classes." ], "type": "string" }, @@ -7633,6 +7711,10 @@ "$ref": "GooglePrivacyDlpV2OtherCloudDiscoveryStartingLocation", "description": "Must be set only when scanning other clouds." }, + "processingLocation": { + "$ref": "GooglePrivacyDlpV2ProcessingLocation", + "description": "Optional. Processing location configuration. Vertex AI dataset scanning will set processing_location.image_fallback_type to MultiRegionProcessing by default." + }, "status": { "description": "Required. A status for this configuration.", "enum": [ @@ -7922,6 +8004,73 @@ "secretsTarget": { "$ref": "GooglePrivacyDlpV2SecretsDiscoveryTarget", "description": "Discovery target that looks for credentials and secrets stored in cloud resource metadata and reports them as vulnerabilities to Security Command Center. Only one target of this type is allowed." + }, + "vertexDatasetTarget": { + "$ref": "GooglePrivacyDlpV2VertexDatasetDiscoveryTarget", + "description": "Vertex AI dataset target for Discovery. The first target to match a dataset will be the one applied. Note that discovery for Vertex AI can incur Cloud Storage Class B operation charges for storage.objects.get operations and retrieval fees. For more information, see [Cloud Storage pricing](https://cloud.google.com/storage/pricing#price-tables). Note that discovery for Vertex AI dataset will not be able to scan images unless DiscoveryConfig.processing_location.image_fallback_location has multi_region_processing or global_processing configured." + } + }, + "type": "object" + }, + "GooglePrivacyDlpV2DiscoveryVertexDatasetConditions": { + "description": "Requirements that must be true before a dataset is profiled for the first time.", + "id": "GooglePrivacyDlpV2DiscoveryVertexDatasetConditions", + "properties": { + "createdAfter": { + "description": "Vertex AI dataset must have been created after this date. Used to avoid backfilling.", + "format": "google-datetime", + "type": "string" + }, + "minAge": { + "description": "Minimum age a Vertex AI dataset must have. If set, the value must be 1 hour or greater.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GooglePrivacyDlpV2DiscoveryVertexDatasetFilter": { + "description": "Determines what datasets will have profiles generated within an organization or project. Includes the ability to filter by regular expression patterns on project ID or dataset regex.", + "id": "GooglePrivacyDlpV2DiscoveryVertexDatasetFilter", + "properties": { + "collection": { + "$ref": "GooglePrivacyDlpV2VertexDatasetCollection", + "description": "A specific set of Vertex AI datasets for this filter to apply to." + }, + "others": { + "$ref": "GooglePrivacyDlpV2AllOtherResources", + "description": "Catch-all. This should always be the last target in the list because anything above it will apply first. Should only appear once in a configuration. If none is specified, a default one will be added automatically." + }, + "vertexDatasetResourceReference": { + "$ref": "GooglePrivacyDlpV2VertexDatasetResourceReference", + "description": "The dataset resource to scan. Targets including this can only include one target (the target with this dataset resource reference)." + } + }, + "type": "object" + }, + "GooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence": { + "description": "How often existing datasets should have their profiles refreshed. New datasets are scanned as quickly as possible depending on system capacity.", + "id": "GooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence", + "properties": { + "inspectTemplateModifiedCadence": { + "$ref": "GooglePrivacyDlpV2DiscoveryInspectTemplateModifiedCadence", + "description": "Governs when to update data profiles when the inspection rules defined by the `InspectTemplate` change. If not set, changing the template will not cause a data profile to be updated." + }, + "refreshFrequency": { + "description": "If you set this field, profiles are refreshed at this frequency regardless of whether the underlying datasets have changed. Defaults to never.", + "enum": [ + "UPDATE_FREQUENCY_UNSPECIFIED", + "UPDATE_FREQUENCY_NEVER", + "UPDATE_FREQUENCY_DAILY", + "UPDATE_FREQUENCY_MONTHLY" + ], + "enumDescriptions": [ + "Unspecified.", + "After the data profile is created, it will never be updated.", + "The data profile can be updated up to once every 24 hours.", + "The data profile can be updated up to once every 30 days. Default." + ], + "type": "string" } }, "type": "object" @@ -8149,7 +8298,11 @@ "properties": { "profileTable": { "$ref": "GooglePrivacyDlpV2BigQueryTable", - "description": "Store all table and column profiles in an existing table or a new table in an existing dataset. Each re-generation will result in new rows in BigQuery. Data is inserted using [streaming insert](https://cloud.google.com/blog/products/bigquery/life-of-a-bigquery-streaming-insert) and so data may be in the buffer for a period of time after the profile has finished. The Pub/Sub notification is sent before the streaming buffer is guaranteed to be written, so data may not be instantly visible to queries by the time your topic receives the Pub/Sub notification." + "description": "Store all profiles to BigQuery. * The system will create a new dataset and table for you if none are are provided. The dataset will be named `sensitive_data_protection_discovery` and table will be named `discovery_profiles`. This table will be placed in the same project as the container project running the scan. After the first profile is generated and the dataset and table are created, the discovery scan configuration will be updated with the dataset and table names. * See [Analyze data profiles stored in BigQuery](https://cloud.google.com/sensitive-data-protection/docs/analyze-data-profiles). * See [Sample queries for your BigQuery table](https://cloud.google.com/sensitive-data-protection/docs/analyze-data-profiles#sample_sql_queries). * Data is inserted using [streaming insert](https://cloud.google.com/blog/products/bigquery/life-of-a-bigquery-streaming-insert) and so data may be in the buffer for a period of time after the profile has finished. * The Pub/Sub notification is sent before the streaming buffer is guaranteed to be written, so data may not be instantly visible to queries by the time your topic receives the Pub/Sub notification. * The best practice is to use the same table for an entire organization so that you can take advantage of the [provided Looker reports](https://cloud.google.com/sensitive-data-protection/docs/analyze-data-profiles#use_a_premade_report). If you use VPC Service Controls to define security perimeters, then you must use a separate table for each boundary." + }, + "sampleFindingsTable": { + "$ref": "GooglePrivacyDlpV2BigQueryTable", + "description": "Store sample data profile findings in an existing table or a new table in an existing dataset. Each regeneration will result in new rows in BigQuery. Data is inserted using [streaming insert](https://cloud.google.com/blog/products/bigquery/life-of-a-bigquery-streaming-insert) and so data may be in the buffer for a period of time after the profile has finished." } }, "type": "object" @@ -8390,7 +8543,7 @@ "type": "string" }, "fileStorePath": { - "description": "The file store path. * Cloud Storage: `gs://{bucket}` * Amazon S3: `s3://{bucket}`", + "description": "The file store path. * Cloud Storage: `gs://{bucket}` * Amazon S3: `s3://{bucket}` * Vertex AI dataset: `projects/{project_number}/locations/{location}/datasets/{dataset_id}`", "type": "string" }, "fullResource": { @@ -8427,6 +8580,13 @@ "description": "The Google Cloud project ID that owns the resource. For Amazon S3 buckets, this is the AWS Account Id.", "type": "string" }, + "relatedResources": { + "description": "Resources related to this profile.", + "items": { + "$ref": "GooglePrivacyDlpV2RelatedResource" + }, + "type": "array" + }, "resourceAttributes": { "additionalProperties": { "$ref": "GooglePrivacyDlpV2Value" @@ -8457,6 +8617,10 @@ ], "type": "string" }, + "sampleFindingsTable": { + "$ref": "GooglePrivacyDlpV2BigQueryTable", + "description": "The BigQuery table to which the sample findings are written." + }, "sensitivityScore": { "$ref": "GooglePrivacyDlpV2SensitivityScore", "description": "The sensitivity score of this resource." @@ -8644,6 +8808,12 @@ }, "type": "object" }, + "GooglePrivacyDlpV2GlobalProcessing": { + "description": "Processing will happen in the global region.", + "id": "GooglePrivacyDlpV2GlobalProcessing", + "properties": {}, + "type": "object" + }, "GooglePrivacyDlpV2HotwordRule": { "description": "The rule that adjusts the likelihood of findings within a certain proximity of hotwords.", "id": "GooglePrivacyDlpV2HotwordRule", @@ -8789,6 +8959,21 @@ }, "type": "object" }, + "GooglePrivacyDlpV2ImageFallbackLocation": { + "description": "Configure image processing to fall back to the configured processing option below if unavailable in the request location.", + "id": "GooglePrivacyDlpV2ImageFallbackLocation", + "properties": { + "globalProcessing": { + "$ref": "GooglePrivacyDlpV2GlobalProcessing", + "description": "Processing will happen in the global region." + }, + "multiRegionProcessing": { + "$ref": "GooglePrivacyDlpV2MultiRegionProcessing", + "description": "Processing will happen in a multi-region that contains the current region if available." + } + }, + "type": "object" + }, "GooglePrivacyDlpV2ImageLocation": { "description": "Location of the finding within an image.", "id": "GooglePrivacyDlpV2ImageLocation", @@ -8915,6 +9100,7 @@ "CHINA", "COLOMBIA", "CROATIA", + "CZECHIA", "DENMARK", "FRANCE", "FINLAND", @@ -8968,6 +9154,7 @@ "The infoType is typically used in China.", "The infoType is typically used in Colombia.", "The infoType is typically used in Croatia.", + "The infoType is typically used in Czechia.", "The infoType is typically used in Denmark.", "The infoType is typically used in France.", "The infoType is typically used in Finland.", @@ -9018,7 +9205,8 @@ "CREDENTIAL", "GOVERNMENT_ID", "DOCUMENT", - "CONTEXTUAL_INFORMATION" + "CONTEXTUAL_INFORMATION", + "CUSTOM" ], "enumDescriptions": [ "Unused type", @@ -9028,7 +9216,8 @@ "Confidential or secret information, for example, a password.", "An identification document issued by a government.", "A document, for example, a resume or source code.", - "Information that is not sensitive on its own, but provides details about the circumstances surrounding an entity or an event." + "Information that is not sensitive on its own, but provides details about the circumstances surrounding an entity or an event.", + "Category for `CustomInfoType` types." ], "type": "string" } @@ -9055,7 +9244,7 @@ "type": "string" }, "example": { - "description": "A sample true positive for this infoType.", + "description": "A sample that is a true positive for this infoType.", "type": "string" }, "name": { @@ -10187,6 +10376,12 @@ }, "type": "object" }, + "GooglePrivacyDlpV2MultiRegionProcessing": { + "description": "Processing will happen in a multi-region that contains the current region if available.", + "id": "GooglePrivacyDlpV2MultiRegionProcessing", + "properties": {}, + "type": "object" + }, "GooglePrivacyDlpV2NumericalStatsConfig": { "description": "Compute numerical stats over an individual column, including min, max, and quantiles.", "id": "GooglePrivacyDlpV2NumericalStatsConfig", @@ -10445,7 +10640,7 @@ }, "cryptoReplaceFfxFpeConfig": { "$ref": "GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig", - "description": "Ffx-Fpe" + "description": "Ffx-Fpe. Strongly discouraged, consider using CryptoDeterministicConfig instead. Fpe is computationally expensive incurring latency costs." }, "dateShiftConfig": { "$ref": "GooglePrivacyDlpV2DateShiftConfig", @@ -10509,6 +10704,17 @@ }, "type": "object" }, + "GooglePrivacyDlpV2ProcessingLocation": { + "description": "Configure processing location for discovery and inspection. For example, image OCR is only provided in limited regions but configuring ProcessingLocation will redirect OCR to a location where OCR is provided.", + "id": "GooglePrivacyDlpV2ProcessingLocation", + "properties": { + "imageFallbackLocation": { + "$ref": "GooglePrivacyDlpV2ImageFallbackLocation", + "description": "Image processing will fall back using this configuration." + } + }, + "type": "object" + }, "GooglePrivacyDlpV2ProfileStatus": { "description": "Success or errors for the profile generation.", "id": "GooglePrivacyDlpV2ProfileStatus", @@ -11043,6 +11249,17 @@ }, "type": "object" }, + "GooglePrivacyDlpV2RelatedResource": { + "description": "A related resource. Examples: * The source BigQuery table for a Vertex AI dataset. * The source Cloud Storage bucket for a Vertex AI dataset.", + "id": "GooglePrivacyDlpV2RelatedResource", + "properties": { + "fullResource": { + "description": "The full resource name of the related resource.", + "type": "string" + } + }, + "type": "object" + }, "GooglePrivacyDlpV2ReplaceDictionaryConfig": { "description": "Replace each input value with a value randomly selected from the dictionary.", "id": "GooglePrivacyDlpV2ReplaceDictionaryConfig", @@ -11661,6 +11878,13 @@ "description": "The resource name of the project data profile for this table.", "type": "string" }, + "relatedResources": { + "description": "Resources related to this profile.", + "items": { + "$ref": "GooglePrivacyDlpV2RelatedResource" + }, + "type": "array" + }, "resourceLabels": { "additionalProperties": { "type": "string" @@ -11689,6 +11913,10 @@ "format": "int64", "type": "string" }, + "sampleFindingsTable": { + "$ref": "GooglePrivacyDlpV2BigQueryTable", + "description": "The BigQuery table to which the sample findings are written." + }, "scannedColumnCount": { "description": "The number of columns profiled in the table.", "format": "int64", @@ -12406,6 +12634,76 @@ }, "type": "object" }, + "GooglePrivacyDlpV2VertexDatasetCollection": { + "description": "Match dataset resources using regex filters.", + "id": "GooglePrivacyDlpV2VertexDatasetCollection", + "properties": { + "vertexDatasetRegexes": { + "$ref": "GooglePrivacyDlpV2VertexDatasetRegexes", + "description": "The regex used to filter dataset resources." + } + }, + "type": "object" + }, + "GooglePrivacyDlpV2VertexDatasetDiscoveryTarget": { + "description": "Target used to match against for discovery with Vertex AI datasets.", + "id": "GooglePrivacyDlpV2VertexDatasetDiscoveryTarget", + "properties": { + "conditions": { + "$ref": "GooglePrivacyDlpV2DiscoveryVertexDatasetConditions", + "description": "In addition to matching the filter, these conditions must be true before a profile is generated." + }, + "disabled": { + "$ref": "GooglePrivacyDlpV2Disabled", + "description": "Disable profiling for datasets that match this filter." + }, + "filter": { + "$ref": "GooglePrivacyDlpV2DiscoveryVertexDatasetFilter", + "description": "Required. The datasets the discovery cadence applies to. The first target with a matching filter will be the one to apply to a dataset." + }, + "generationCadence": { + "$ref": "GooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence", + "description": "How often and when to update profiles. New datasets that match both the filter and conditions are scanned as quickly as possible depending on system capacity." + } + }, + "type": "object" + }, + "GooglePrivacyDlpV2VertexDatasetRegex": { + "description": "A pattern to match against one or more dataset resources.", + "id": "GooglePrivacyDlpV2VertexDatasetRegex", + "properties": { + "projectIdRegex": { + "description": "For organizations, if unset, will match all projects. Has no effect for configurations created within a project.", + "type": "string" + } + }, + "type": "object" + }, + "GooglePrivacyDlpV2VertexDatasetRegexes": { + "description": "A collection of regular expressions to determine what datasets to match against.", + "id": "GooglePrivacyDlpV2VertexDatasetRegexes", + "properties": { + "patterns": { + "description": "Required. The group of regular expression patterns to match against one or more datasets. Maximum of 100 entries. The sum of the lengths of all regular expressions can't exceed 10 KiB.", + "items": { + "$ref": "GooglePrivacyDlpV2VertexDatasetRegex" + }, + "type": "array" + } + }, + "type": "object" + }, + "GooglePrivacyDlpV2VertexDatasetResourceReference": { + "description": "Identifies a single Vertex AI dataset.", + "id": "GooglePrivacyDlpV2VertexDatasetResourceReference", + "properties": { + "datasetResourceName": { + "description": "Required. The name of the dataset resource. If set within a project-level configuration, the specified resource must be within the project.", + "type": "string" + } + }, + "type": "object" + }, "GooglePrivacyDlpV2WordList": { "description": "Message defining a list of words or phrases to search for in the data.", "id": "GooglePrivacyDlpV2WordList", diff --git a/discovery/googleapis/dns__v1.json b/discovery/googleapis/dns__v1.json index c4c12a4b3..4bc59abee 100644 --- a/discovery/googleapis/dns__v1.json +++ b/discovery/googleapis/dns__v1.json @@ -34,7 +34,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20240719", + "revision": "20250227", "rootUrl": "https://dns.googleapis.com/", "servicePath": "", "title": "Cloud DNS API", @@ -2754,6 +2754,10 @@ "description": "A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the policy's function.", "type": "string" }, + "dns64Config": { + "$ref": "PolicyDns64Config", + "description": "Configurations related to DNS64 for this Policy." + }, "enableInboundForwarding": { "description": "Allows networks bound to this policy to receive DNS queries sent by VMs or applications over VPN connections. When enabled, a virtual IP address is allocated from each of the subnetworks that are bound to this policy.", "type": "boolean" @@ -2832,6 +2836,35 @@ }, "type": "object" }, + "PolicyDns64Config": { + "description": "DNS64 policies", + "id": "PolicyDns64Config", + "properties": { + "kind": { + "default": "dns#policyDns64Config", + "type": "string" + }, + "scope": { + "$ref": "PolicyDns64ConfigScope", + "description": "The scope to which DNS64 config will be applied to." + } + }, + "type": "object" + }, + "PolicyDns64ConfigScope": { + "id": "PolicyDns64ConfigScope", + "properties": { + "allQueries": { + "description": "Controls whether DNS64 is enabled globally at the network level.", + "type": "boolean" + }, + "kind": { + "default": "dns#policyDns64ConfigScope", + "type": "string" + } + }, + "type": "object" + }, "PolicyNetwork": { "id": "PolicyNetwork", "properties": { @@ -3015,7 +3048,7 @@ "$ref": "RRSetRoutingPolicyGeoPolicy" }, "healthCheck": { - "description": "The selfLink attribute of the HealthCheck resource to use for this RRSetRoutingPolicy. https://cloud.google.com/compute/docs/reference/rest/v1/healthChecks", + "description": "The fully qualified URL of the HealthCheck to use for this RRSetRoutingPolicy. Format this URL like `https://www.googleapis.com/compute/v1/projects/{project}/global/healthChecks/{healthCheck}`. https://cloud.google.com/compute/docs/reference/rest/v1/healthChecks", "type": "string" }, "kind": { @@ -3076,7 +3109,7 @@ "type": "array" }, "signatureRrdatas": { - "description": "DNSSEC generated signatures for all the `rrdata` within this item. If health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 IP address per item.", + "description": "DNSSEC generated signatures for all the `rrdata` within this item. When using health-checked targets for DNSSEC-enabled zones, you can only use at most one health-checked IP address per item.", "items": { "type": "string" }, @@ -3086,7 +3119,7 @@ "type": "object" }, "RRSetRoutingPolicyHealthCheckTargets": { - "description": "HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response.", + "description": "HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. Set either `internal_load_balancer` or `external_endpoints`. Do not set both.", "id": "RRSetRoutingPolicyHealthCheckTargets", "properties": { "externalEndpoints": { @@ -3227,7 +3260,7 @@ "type": "array" }, "signatureRrdatas": { - "description": "DNSSEC generated signatures for all the `rrdata` within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 IP address per item.", + "description": "DNSSEC generated signatures for all the `rrdata` within this item. When using health-checked targets for DNSSEC-enabled zones, you can only use at most one health-checked IP address per item.", "items": { "type": "string" }, diff --git a/discovery/googleapis/docs__v1.json b/discovery/googleapis/docs__v1.json index 6fb8e6b0c..18e336698 100644 --- a/discovery/googleapis/docs__v1.json +++ b/discovery/googleapis/docs__v1.json @@ -37,7 +37,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20240730", + "revision": "20250218", "rootUrl": "https://docs.googleapis.com/", "servicePath": "", "title": "Google Docs API", @@ -617,7 +617,7 @@ "type": "object" }, "CropProperties": { - "description": "The crop properties of an image. The crop rectangle is represented using fractional offsets from the original content's 4 edges. - If the offset is in the interval (0, 1), the corresponding edge of crop rectangle is positioned inside of the image's original bounding rectangle. - If the offset is negative or greater than 1, the corresponding edge of crop rectangle is positioned outside of the image's original bounding rectangle. - If all offsets and rotation angle are 0, the image is not cropped.", + "description": "The crop properties of an image. The crop rectangle is represented using fractional offsets from the original content's 4 edges. - If the offset is in the interval (0, 1), the corresponding edge of crop rectangle is positioned inside of the image's original bounding rectangle. - If the offset is negative or greater than 1, the corresponding edge of crop rectangle is positioned outside of the image's original bounding rectangle. - If all offsets and rotation angles are 0, the image is not cropped.", "id": "CropProperties", "properties": { "angle": { @@ -994,7 +994,7 @@ "description": "The size of a page in the document." }, "useCustomHeaderFooterMargins": { - "description": "Indicates whether DocumentStyle margin_header, SectionStyle margin_header and DocumentStyle margin_footer, SectionStyle margin_footer are respected. When false, the default values in the Docs editor for header and footer margin are used. This property is read-only.", + "description": "Indicates whether DocumentStyle margin_header, SectionStyle margin_header and DocumentStyle margin_footer, SectionStyle margin_footer are respected. When false, the default values in the Docs editor for header and footer margin is used. This property is read-only.", "type": "boolean" }, "useEvenPageHeaderFooter": { @@ -2178,11 +2178,11 @@ "type": "string" }, "glyphSymbol": { - "description": "A custom glyph symbol used by bullets when paragraphs at this level of nesting are unordered. The glyph symbol replaces placeholders within the glyph_format. For example, if the glyph_symbol is the solid circle corresponding to Unicode U+25cf code point and the glyph_format is `%0`, the rendered glyph would be the solid circle.", + "description": "A custom glyph symbol used by bullets when paragraphs at this level of nesting is unordered. The glyph symbol replaces placeholders within the glyph_format. For example, if the glyph_symbol is the solid circle corresponding to Unicode U+25cf code point and the glyph_format is `%0`, the rendered glyph would be the solid circle.", "type": "string" }, "glyphType": { - "description": "The type of glyph used by bullets when paragraphs at this level of nesting are ordered. The glyph type determines the type of glyph used to replace placeholders within the glyph_format when paragraphs at this level of nesting are ordered. For example, if the nesting level is 0, the glyph_format is `%0.` and the glyph type is DECIMAL, then the rendered glyph would replace the placeholder `%0` in the glyph format with a number corresponding to list item's order within the list.", + "description": "The type of glyph used by bullets when paragraphs at this level of nesting is ordered. The glyph type determines the type of glyph used to replace placeholders within the glyph_format when paragraphs at this level of nesting are ordered. For example, if the nesting level is 0, the glyph_format is `%0.` and the glyph type is DECIMAL, then the rendered glyph would replace the placeholder `%0` in the glyph format with a number corresponding to the list item's order within the list.", "enum": [ "GLYPH_TYPE_UNSPECIFIED", "NONE", diff --git a/discovery/googleapis/documentai__v1.json b/discovery/googleapis/documentai__v1.json index 18f58e265..1d06c1fd5 100644 --- a/discovery/googleapis/documentai__v1.json +++ b/discovery/googleapis/documentai__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241210", + "revision": "20250117", "rootUrl": "https://documentai.googleapis.com/", "servicePath": "", "title": "Cloud Document AI API", @@ -4440,6 +4440,14 @@ "chunkingConfig": { "$ref": "GoogleCloudDocumentaiV1ProcessOptionsLayoutConfigChunkingConfig", "description": "Optional. Config for chunking in layout parser processor." + }, + "returnBoundingBoxes": { + "description": "Optional. Whether to include bounding boxes in layout parser processor response.", + "type": "boolean" + }, + "returnImages": { + "description": "Optional. Whether to include images in layout parser processor response.", + "type": "boolean" } }, "type": "object" diff --git a/discovery/googleapis/domains__v1.json b/discovery/googleapis/domains__v1.json index 515bbac08..38a31fa84 100644 --- a/discovery/googleapis/domains__v1.json +++ b/discovery/googleapis/domains__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241209", + "revision": "20250225", "rootUrl": "https://domains.googleapis.com/", "servicePath": "", "title": "Cloud Domains API", @@ -1471,7 +1471,7 @@ "type": "array" }, "signatureRrdata": { - "description": "DNSSEC generated signatures for all the `rrdata` within this item. If health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 IP address per item.", + "description": "DNSSEC generated signatures for all the `rrdata` within this item. When using health-checked targets for DNSSEC-enabled zones, you can only use at most one health-checked IP address per item.", "items": { "type": "string" }, @@ -1544,7 +1544,7 @@ "type": "object" }, "HealthCheckTargets": { - "description": "HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response.", + "description": "HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. Set either `internal_load_balancer` or `external_endpoints`. Do not set both.", "id": "HealthCheckTargets", "properties": { "externalEndpoints": { @@ -2030,7 +2030,7 @@ "deprecated": true }, "healthCheck": { - "description": "The selfLink attribute of the HealthCheck resource to use for this RRSetRoutingPolicy. https://cloud.google.com/compute/docs/reference/rest/v1/healthChecks", + "description": "The fully qualified URL of the HealthCheck to use for this RRSetRoutingPolicy. Format this URL like `https://www.googleapis.com/compute/v1/projects/{project}/global/healthChecks/{healthCheck}`. https://cloud.google.com/compute/docs/reference/rest/v1/healthChecks", "type": "string" }, "primaryBackup": { @@ -2738,7 +2738,7 @@ "type": "array" }, "signatureRrdata": { - "description": "DNSSEC generated signatures for all the `rrdata` within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 IP address per item.", + "description": "DNSSEC generated signatures for all the `rrdata` within this item. When using health-checked targets for DNSSEC-enabled zones, you can only use at most one health-checked IP address per item.", "items": { "type": "string" }, diff --git a/discovery/googleapis/drive__v2.json b/discovery/googleapis/drive__v2.json index a94c647ea..c31af804d 100644 --- a/discovery/googleapis/drive__v2.json +++ b/discovery/googleapis/drive__v2.json @@ -51,7 +51,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20240914", + "revision": "20250216", "rootUrl": "https://www.googleapis.com/", "servicePath": "drive/v2/", "title": "Google Drive API", @@ -2636,6 +2636,12 @@ "permissionId" ], "parameters": { + "enforceExpansiveAccess": { + "default": "false", + "description": "Whether the request should enforce expansive access rules.", + "location": "query", + "type": "boolean" + }, "fileId": { "description": "The ID for the file or shared drive.", "location": "path", @@ -2909,6 +2915,12 @@ "permissionId" ], "parameters": { + "enforceExpansiveAccess": { + "default": "false", + "description": "Whether the request should enforce expansive access rules.", + "location": "query", + "type": "boolean" + }, "fileId": { "description": "The ID for the file or shared drive.", "location": "path", @@ -2975,6 +2987,12 @@ "permissionId" ], "parameters": { + "enforceExpansiveAccess": { + "default": "false", + "description": "Whether the request should enforce expansive access rules.", + "location": "query", + "type": "boolean" + }, "fileId": { "description": "The ID for the file or shared drive.", "location": "path", @@ -5058,6 +5076,11 @@ "description": "Output only. Whether the current user can delete children of this folder. This is false when the item is not a folder. Only populated for items in shared drives.", "type": "boolean" }, + "canDisableInheritedPermissions": { + "description": "Output only. Whether a user can disable inherited permissions.", + "readOnly": true, + "type": "boolean" + }, "canDownload": { "description": "Output only. Whether the current user can download this file.", "type": "boolean" @@ -5066,6 +5089,11 @@ "description": "Output only. Whether the current user can edit this file. Other factors may limit the type of changes a user can make to a file. For example, see `canChangeCopyRequiresWriterPermission` or `canModifyContent`.", "type": "boolean" }, + "canEnableInheritedPermissions": { + "description": "Output only. Whether a user can re-enable inherited permissions.", + "readOnly": true, + "type": "boolean" + }, "canListChildren": { "description": "Output only. Whether the current user can list the children of this folder. This is always false when the item is not a folder.", "type": "boolean" @@ -5415,6 +5443,10 @@ }, "type": "object" }, + "inheritedPermissionsDisabled": { + "description": "Whether this file has inherited permissions disabled. Inherited permissions are enabled by default.", + "type": "boolean" + }, "isAppAuthorized": { "description": "Output only. Whether the file was created or opened by the requesting app.", "type": "boolean" @@ -6124,6 +6156,10 @@ "description": "The ID of the user this permission refers to, and identical to the `permissionId` in the About and Files resources. When making a `drive.permissions.insert` request, exactly one of the `id` or `value` fields must be specified unless the permission type is `anyone`, in which case both `id` and `value` are ignored.", "type": "string" }, + "inheritedPermissionsDisabled": { + "description": "When true, only organizers, owners, and users with permissions added directly on the item can access it.", + "type": "boolean" + }, "kind": { "default": "drive#permission", "description": "Output only. This is always `drive#permission`.", @@ -6138,7 +6174,7 @@ "type": "boolean" }, "permissionDetails": { - "description": "Output only. Details of whether the permissions on this shared drive item are inherited or directly on this item. This is an output-only field which is present only for shared drive items.", + "description": "Output only. Details of whether the permissions on this item are inherited or directly on this item.", "items": { "properties": { "additionalRoles": { @@ -6149,11 +6185,11 @@ "type": "array" }, "inherited": { - "description": "Output only. Whether this permission is inherited. This field is always populated. This is an output-only field.", + "description": "Output only. Whether this permission is inherited. This field is always populated.", "type": "boolean" }, "inheritedFrom": { - "description": "Output only. The ID of the item from which this permission is inherited. This is an output-only field.", + "description": "Output only. The ID of the item from which this permission is inherited. This is only populated for items in shared drives.", "type": "string" }, "permissionType": { @@ -6240,7 +6276,7 @@ "type": "string" }, "view": { - "description": "Indicates the view for this permission. Only populated for permissions that belong to a view. `published` is the only supported value.", + "description": "Indicates the view for this permission. Only populated for permissions that belong to a view. published and metadata are the only supported values. - published: The permission's role is published_reader. - metadata: The item is only visible to the metadata view because the item has limited access and the scope has at least read access to the parent. Note: The metadata view is currently only supported on folders. ", "type": "string" }, "withLink": { @@ -6432,7 +6468,7 @@ "type": "boolean" }, "publishedLink": { - "description": "Output only. A link to the published revision. This is only populated for Google Sites files.", + "description": "Output only. A link to the published revision. This is only populated for Docs Editors files.", "type": "string" }, "publishedOutsideDomain": { diff --git a/discovery/googleapis/drive__v3.json b/discovery/googleapis/drive__v3.json index 482130742..63d3c441b 100644 --- a/discovery/googleapis/drive__v3.json +++ b/discovery/googleapis/drive__v3.json @@ -51,7 +51,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241206", + "revision": "20250220", "rootUrl": "https://www.googleapis.com/", "servicePath": "drive/v3/", "title": "Google Drive API", @@ -1818,13 +1818,13 @@ } } }, - "operation": { + "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", - "flatPath": "operation/{name}:cancel", + "flatPath": "operations/{name}:cancel", "httpMethod": "POST", - "id": "drive.operation.cancel", + "id": "drive.operations.cancel", "parameterOrder": [ "name" ], @@ -1836,13 +1836,19 @@ "type": "string" } }, - "path": "operation/{name}:cancel" + "path": "operations/{name}:cancel", + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/drive.meet.readonly", + "https://www.googleapis.com/auth/drive.readonly" + ] }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", - "flatPath": "operation/{name}", + "flatPath": "operations/{name}", "httpMethod": "DELETE", - "id": "drive.operation.delete", + "id": "drive.operations.delete", "parameterOrder": [ "name" ], @@ -1854,12 +1860,14 @@ "type": "string" } }, - "path": "operation/{name}" - } - } - }, - "operations": { - "methods": { + "path": "operations/{name}", + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/drive.meet.readonly", + "https://www.googleapis.com/auth/drive.readonly" + ] + }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", "flatPath": "operations/{name}", @@ -1919,7 +1927,13 @@ "path": "operations", "response": { "$ref": "ListOperationsResponse" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/drive.meet.readonly", + "https://www.googleapis.com/auth/drive.readonly" + ] } } }, @@ -2011,6 +2025,12 @@ "permissionId" ], "parameters": { + "enforceExpansiveAccess": { + "default": "false", + "description": "Whether the request should enforce expansive access rules.", + "location": "query", + "type": "boolean" + }, "fileId": { "description": "The ID of the file or shared drive.", "location": "path", @@ -2182,6 +2202,12 @@ "permissionId" ], "parameters": { + "enforceExpansiveAccess": { + "default": "false", + "description": "Whether the request should enforce expansive access rules.", + "location": "query", + "type": "boolean" + }, "fileId": { "description": "The ID of the file or shared drive.", "location": "path", @@ -3413,6 +3439,21 @@ }, "type": "object" }, + "DownloadRestriction": { + "description": "A restriction for copy and download of the file.", + "id": "DownloadRestriction", + "properties": { + "restrictedForReaders": { + "description": "Whether download and copy is restricted for readers.", + "type": "boolean" + }, + "restrictedForWriters": { + "description": "Whether download and copy is restricted for writers. If true, download is also restricted for readers.", + "type": "boolean" + } + }, + "type": "object" + }, "Drive": { "description": "Representation of a shared drive. Some resource methods (such as `drives.update`) require a `driveId`. Use the `drives.list` method to retrieve the ID for a shared drive.", "id": "Drive", @@ -3577,6 +3618,10 @@ "description": "Whether access to this shared drive and items inside this shared drive is restricted to users of the domain to which this shared drive belongs. This restriction may be overridden by other sharing policies controlled outside of this shared drive.", "type": "boolean" }, + "downloadRestriction": { + "$ref": "DownloadRestriction", + "description": "Download restrictions applied by shared drive managers." + }, "driveMembersOnly": { "description": "Whether access to items inside this shared drive is restricted to its members.", "type": "boolean" @@ -3677,6 +3722,10 @@ "description": "Output only. Whether the current user can delete children of this folder. This is false when the item is not a folder. Only populated for items in shared drives.", "type": "boolean" }, + "canDisableInheritedPermissions": { + "description": "Whether a user can disable inherited permissions.", + "type": "boolean" + }, "canDownload": { "description": "Output only. Whether the current user can download this file.", "type": "boolean" @@ -3685,6 +3734,10 @@ "description": "Output only. Whether the current user can edit this file. Other factors may limit the type of changes a user can make to a file. For example, see `canChangeCopyRequiresWriterPermission` or `canModifyContent`.", "type": "boolean" }, + "canEnableInheritedPermissions": { + "description": "Whether a user can re-enable inherited permissions.", + "type": "boolean" + }, "canListChildren": { "description": "Output only. Whether the current user can list the children of this folder. This is always false when the item is not a folder.", "type": "boolean" @@ -4018,6 +4071,10 @@ }, "type": "object" }, + "inheritedPermissionsDisabled": { + "description": "Whether this file has inherited permissions disabled. Inherited permissions are enabled by default.", + "type": "boolean" + }, "isAppAuthorized": { "description": "Output only. Whether the file was created or opened by the requesting app.", "type": "boolean" @@ -4654,6 +4711,10 @@ "description": "Output only. The ID of this permission. This is a unique identifier for the grantee, and is published in User resources as `permissionId`. IDs should be treated as opaque values.", "type": "string" }, + "inheritedPermissionsDisabled": { + "description": "When true, only organizers, owners, and users with permissions added directly on the item can access it.", + "type": "boolean" + }, "kind": { "default": "drive#permission", "description": "Output only. Identifies what kind of resource this is. Value: the fixed string `\"drive#permission\"`.", @@ -4664,7 +4725,7 @@ "type": "boolean" }, "permissionDetails": { - "description": "Output only. Details of whether the permissions on this shared drive item are inherited or directly on this item. This is an output-only field which is present only for shared drive items.", + "description": "Output only. Details of whether the permissions on this item are inherited or directly on this item.", "items": { "properties": { "inherited": { @@ -4672,7 +4733,7 @@ "type": "boolean" }, "inheritedFrom": { - "description": "Output only. The ID of the item from which this permission is inherited. This is an output-only field.", + "description": "Output only. The ID of the item from which this permission is inherited. This is only populated for items in shared drives.", "type": "string" }, "permissionType": { @@ -4680,7 +4741,7 @@ "type": "string" }, "role": { - "description": "Output only. The primary role for this user. While new values may be added in the future, the following are currently possible: * `organizer` * `fileOrganizer` * `writer` * `commenter` * `reader`", + "description": "Output only. The primary role for this user. While new values may be added in the future, the following are currently possible: * `owner` * `organizer` * `fileOrganizer` * `writer` * `commenter` * `reader`", "type": "string" } }, @@ -4743,7 +4804,7 @@ "type": "string" }, "view": { - "description": "Indicates the view for this permission. Only populated for permissions that belong to a view. 'published' is the only supported value.", + "description": "Indicates the view for this permission. Only populated for permissions that belong to a view. published and metadata are the only supported values. - published: The permission's role is published_reader. - metadata: The item is only visible to the metadata view because the item has limited access and the scope has at least read access to the parent. Note: The metadata view is currently only supported on folders. ", "type": "string" } }, @@ -4936,7 +4997,7 @@ "type": "boolean" }, "publishedLink": { - "description": "Output only. A link to the published revision. This is only populated for Google Sites files.", + "description": "Output only. A link to the published revision. This is only populated for Docs Editors files.", "type": "string" }, "publishedOutsideDomain": { @@ -5181,6 +5242,10 @@ "description": "Whether access to this Team Drive and items inside this Team Drive is restricted to users of the domain to which this Team Drive belongs. This restriction may be overridden by other sharing policies controlled outside of this Team Drive.", "type": "boolean" }, + "downloadRestriction": { + "$ref": "DownloadRestriction", + "description": "Download restrictions applied by shared drive managers." + }, "sharingFoldersRequiresOrganizerPermission": { "description": "If true, only users with the organizer role can share folders. If false, users with either the organizer role or the file organizer role can share folders.", "type": "boolean" diff --git a/discovery/googleapis/eventarc__v1.json b/discovery/googleapis/eventarc__v1.json index 4028e8616..262f46f18 100644 --- a/discovery/googleapis/eventarc__v1.json +++ b/discovery/googleapis/eventarc__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241203", + "revision": "20250228", "rootUrl": "https://eventarc.googleapis.com/", "servicePath": "", "title": "Eventarc API", @@ -139,7 +139,7 @@ ] }, "getGoogleChannelConfig": { - "description": "Get a GoogleChannelConfig", + "description": "Get a GoogleChannelConfig. The name of the GoogleChannelConfig in the response is ALWAYS coded with projectID.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/googleChannelConfig", "httpMethod": "GET", "id": "eventarc.projects.locations.getGoogleChannelConfig", @@ -214,7 +214,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the config. Must be in the format of, `projects/{project}/locations/{location}/googleChannelConfig`.", + "description": "Required. The resource name of the config. Must be in the format of, `projects/{project}/locations/{location}/googleChannelConfig`. In API responses, the config name always includes the projectID, regardless of whether the projectID or projectNumber was provided.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/googleChannelConfig$", "required": true, @@ -1282,6 +1282,97 @@ } } }, + "kafkaSources": { + "methods": { + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/kafkaSources/{kafkaSourcesId}:getIamPolicy", + "httpMethod": "GET", + "id": "eventarc.projects.locations.kafkaSources.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kafkaSources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/kafkaSources/{kafkaSourcesId}:setIamPolicy", + "httpMethod": "POST", + "id": "eventarc.projects.locations.kafkaSources.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kafkaSources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/kafkaSources/{kafkaSourcesId}:testIamPermissions", + "httpMethod": "POST", + "id": "eventarc.projects.locations.kafkaSources.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kafkaSources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "messageBuses": { "methods": { "create": { @@ -2879,7 +2970,7 @@ "type": "string" }, "name": { - "description": "Required. The resource name of the config. Must be in the format of, `projects/{project}/locations/{location}/googleChannelConfig`.", + "description": "Required. The resource name of the config. Must be in the format of, `projects/{project}/locations/{location}/googleChannelConfig`. In API responses, the config name always includes the projectID, regardless of whether the projectID or projectNumber was provided.", "type": "string" }, "updateTime": { @@ -2980,7 +3071,7 @@ "type": "string" }, "uri": { - "description": "Required. The URI of the HTTP enpdoint. The value must be a RFC2396 URI string. Examples: `https://svc.us-central1.p.local:8080/route`. Only the HTTPS protocol is supported.", + "description": "Required. The URI of the HTTP endpoint. The value must be a RFC2396 URI string. Examples: `https://svc.us-central1.p.local:8080/route`. Only the HTTPS protocol is supported.", "type": "string" } }, @@ -3179,7 +3270,7 @@ "id": "HttpEndpoint", "properties": { "uri": { - "description": "Required. The URI of the HTTP enpdoint. The value must be a RFC2396 URI string. Examples: `http://10.10.10.8:80/route`, `http://svc.us-central1.p.local:8080/`. Only HTTP and HTTPS protocols are supported. The host can be either a static IP addressable from the VPC specified by the network config, or an internal DNS hostname of the service resolvable via Cloud DNS.", + "description": "Required. The URI of the HTTP endpoint. The value must be a RFC2396 URI string. Examples: `http://10.10.10.8:80/route`, `http://svc.us-central1.p.local:8080/`. Only HTTP and HTTPS protocols are supported. The host can be either a static IP addressable from the VPC specified by the network config, or an internal DNS hostname of the service resolvable via Cloud DNS.", "type": "string" } }, @@ -3645,6 +3736,7 @@ }, "etag": { "description": "Output only. This checksum is computed by the server based on the value of other fields, and might be sent only on create requests to ensure that the client has an up-to-date value before proceeding.", + "readOnly": true, "type": "string" }, "inputPayloadFormat": { diff --git a/discovery/googleapis/fcm__v1.json b/discovery/googleapis/fcm__v1.json index 4cab9dcc4..65f317e67 100644 --- a/discovery/googleapis/fcm__v1.json +++ b/discovery/googleapis/fcm__v1.json @@ -15,7 +15,7 @@ "baseUrl": "https://fcm.googleapis.com/", "batchPath": "batch", "canonicalName": "Firebase Cloud Messaging", - "description": "FCM send API that provides a cross-platform messaging solution to reliably deliver messages at no cost.", + "description": "FCM send API that provides a cross-platform messaging solution to reliably deliver messages.", "discoveryVersion": "v1", "documentationLink": "https://firebase.google.com/docs/cloud-messaging", "icons": { @@ -28,7 +28,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241112", + "revision": "20250228", "rootUrl": "https://fcm.googleapis.com/", "servicePath": "", "title": "Firebase Cloud Messaging API", @@ -155,6 +155,10 @@ "description": "Android specific options for messages sent through [FCM connection server](https://goo.gl/4GLdUl).", "id": "AndroidConfig", "properties": { + "bandwidthConstrainedOk": { + "description": "Optional. If set to true, messages will be allowed to be delivered to the app while the device is in bandwidth constrained mode.", + "type": "boolean" + }, "collapseKey": { "description": "An identifier of a group of messages that can be collapsed, so that only the last message gets sent when delivery can be resumed. A maximum of 4 different collapse keys is allowed at any given time.", "type": "string" diff --git a/discovery/googleapis/file__v1.json b/discovery/googleapis/file__v1.json index ad08ab4ff..28c225abe 100644 --- a/discovery/googleapis/file__v1.json +++ b/discovery/googleapis/file__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241204", + "revision": "20250205", "rootUrl": "https://file.googleapis.com/", "servicePath": "", "title": "Cloud Filestore API", @@ -1450,17 +1450,17 @@ "description": "A Filestore instance.", "id": "Instance", "properties": { - "configurablePerformanceEnabled": { - "description": "Output only. Indicates whether this instance's performance is configurable. If enabled, adjust it using the 'performance_config' field.", - "readOnly": true, - "type": "boolean" - }, "createTime": { "description": "Output only. The time when the instance was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, + "customPerformanceSupported": { + "description": "Output only. Indicates whether this instance supports configuring its performance. If true, the user can configure the instance's performance by using the 'performance_config' field.", + "readOnly": true, + "type": "boolean" + }, "deletionProtectionEnabled": { "description": "Optional. Indicates whether the instance is protected against deletion.", "type": "boolean" @@ -2037,7 +2037,7 @@ }, "iopsPerTb": { "$ref": "IOPSPerTB", - "description": "Provision IOPS dynamically based on the capacity of the instance. Provisioned read IOPS will be calculated by multiplying the capacity of the instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB instance with an `iops_per_tb` value of 17000 the provisioned read IOPS will be 34000. If the calculated value is outside the supported range for the instance's capacity during instance creation, instance creation will fail with an `InvalidArgument` error. Similarly, if an instance capacity update would result in a value outside the supported range, the update will fail with an `InvalidArgument` error." + "description": "Provision IOPS dynamically based on the capacity of the instance. Provisioned IOPS will be calculated by multiplying the capacity of the instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB instance with an `iops_per_tb` value of 17000 the provisioned IOPS will be 34000. If the calculated value is outside the supported range for the instance's capacity during instance creation, instance creation will fail with an `InvalidArgument` error. Similarly, if an instance capacity update would result in a value outside the supported range, the update will fail with an `InvalidArgument` error." } }, "type": "object" @@ -2046,6 +2046,12 @@ "description": "The enforced performance limits, calculated from the instance's performance configuration.", "id": "PerformanceLimits", "properties": { + "maxIops": { + "description": "Output only. The max IOPS.", + "format": "int64", + "readOnly": true, + "type": "string" + }, "maxReadIops": { "description": "Output only. The max read IOPS.", "format": "int64", @@ -2076,7 +2082,12 @@ "PromoteReplicaRequest": { "description": "PromoteReplicaRequest promotes a Filestore standby instance (replica).", "id": "PromoteReplicaRequest", - "properties": {}, + "properties": { + "peerInstance": { + "description": "Optional. The resource name of the peer instance to promote, in the format `projects/{project_id}/locations/{location_id}/instances/{instance_id}`. The peer instance is required if the operation is called on an active instance.", + "type": "string" + } + }, "type": "object" }, "ReplicaConfig": { @@ -2117,11 +2128,13 @@ "items": { "enum": [ "STATE_REASON_UNSPECIFIED", - "PEER_INSTANCE_UNREACHABLE" + "PEER_INSTANCE_UNREACHABLE", + "REMOVE_FAILED" ], "enumDescriptions": [ "Reason not specified.", - "The peer instance is unreachable." + "The peer instance is unreachable.", + "The remove replica peer instance operation failed." ], "type": "string" }, diff --git a/discovery/googleapis/firestore__v1.json b/discovery/googleapis/firestore__v1.json index 47d80598a..a7f570087 100644 --- a/discovery/googleapis/firestore__v1.json +++ b/discovery/googleapis/firestore__v1.json @@ -28,7 +28,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241204", + "revision": "20250307", "rootUrl": "https://firestore.googleapis.com/", "servicePath": "", "title": "Cloud Firestore API", @@ -2393,7 +2393,7 @@ "type": "string" }, "distanceThreshold": { - "description": "Optional. Option to specify a threshold for which no less similar documents will be returned. The behavior of the specified `distance_measure` will affect the meaning of the distance threshold. Since DOT_PRODUCT distances increase when the vectors are more similar, the comparison is inverted. * For EUCLIDEAN, COSINE: WHERE distance <= distance_threshold * For DOT_PRODUCT: WHERE distance >= distance_threshold", + "description": "Optional. Option to specify a threshold for which no less similar documents will be returned. The behavior of the specified `distance_measure` will affect the meaning of the distance threshold. Since DOT_PRODUCT distances increase when the vectors are more similar, the comparison is inverted. * For EUCLIDEAN, COSINE: `WHERE distance <= distance_threshold` * For DOT_PRODUCT: `WHERE distance >= distance_threshold`", "format": "double", "type": "number" }, @@ -4339,7 +4339,7 @@ "type": "string" }, "targetId": { - "description": "The target ID that identifies the target on the stream. Must be a positive number and non-zero. If `target_id` is 0 (or unspecified), the server will assign an ID for this target and return that in a `TargetChange::ADD` event. Once a target with `target_id=0` is added, all subsequent targets must also have `target_id=0`. If an `AddTarget` request with `target_id != 0` is sent to the server after a target with `target_id=0` is added, the server will immediately send a response with a `TargetChange::Remove` event. Note that if the client sends multiple `AddTarget` requests without an ID, the order of IDs returned in `TargetChage.target_ids` are undefined. Therefore, clients should provide a target ID instead of relying on the server to assign one. If `target_id` is non-zero, there must not be an existing active target on this stream with the same ID.", + "description": "The target ID that identifies the target on the stream. Must be a positive number and non-zero. If `target_id` is 0 (or unspecified), the server will assign an ID for this target and return that in a `TargetChange::ADD` event. Once a target with `target_id=0` is added, all subsequent targets must also have `target_id=0`. If an `AddTarget` request with `target_id != 0` is sent to the server after a target with `target_id=0` is added, the server will immediately send a response with a `TargetChange::Remove` event. Note that if the client sends multiple `AddTarget` requests without an ID, the order of IDs returned in `TargetChange.target_ids` are undefined. Therefore, clients should provide a target ID instead of relying on the server to assign one. If `target_id` is non-zero, there must not be an existing active target on this stream with the same ID.", "format": "int32", "type": "integer" } diff --git a/discovery/googleapis/forms__v1.json b/discovery/googleapis/forms__v1.json index 2e5bdcc35..b68d591ab 100644 --- a/discovery/googleapis/forms__v1.json +++ b/discovery/googleapis/forms__v1.json @@ -29,7 +29,7 @@ "canonicalName": "Forms", "description": "Reads and writes Google Forms and responses.", "discoveryVersion": "v1", - "documentationLink": "https://developers.google.com/forms/api", + "documentationLink": "https://developers.google.com/workspace/forms/api", "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" @@ -40,7 +40,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241112", + "revision": "20250304", "rootUrl": "https://forms.googleapis.com/", "servicePath": "", "title": "Google Forms API", @@ -161,7 +161,13 @@ "httpMethod": "POST", "id": "forms.forms.create", "parameterOrder": [], - "parameters": {}, + "parameters": { + "unpublished": { + "description": "Optional. Whether the form is unpublished. If set to `true`, the form doesn't accept responses. If set to `false` or unset, the form is published and accepts responses.", + "location": "query", + "type": "boolean" + } + }, "path": "v1/forms", "request": { "$ref": "Form" @@ -202,6 +208,35 @@ "https://www.googleapis.com/auth/forms.body", "https://www.googleapis.com/auth/forms.body.readonly" ] + }, + "setPublishSettings": { + "description": "Updates the publish settings of a form. Legacy forms aren't supported because they don't have the `publish_settings` field.", + "flatPath": "v1/forms/{formId}:setPublishSettings", + "httpMethod": "POST", + "id": "forms.forms.setPublishSettings", + "parameterOrder": [ + "formId" + ], + "parameters": { + "formId": { + "description": "Required. The ID of the form. You can get the id from `Form.form_id` field.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1/forms/{formId}:setPublishSettings", + "request": { + "$ref": "SetPublishSettingsRequest" + }, + "response": { + "$ref": "SetPublishSettingsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/forms.body" + ] } }, "resources": { @@ -796,6 +831,11 @@ "readOnly": true, "type": "string" }, + "publishSettings": { + "$ref": "PublishSettings", + "description": "Output only. The publishing settings for a form. This field isn't set for legacy forms because they don't have the `publish_settings` field. All newly created forms support publish settings. Forms with `publish_settings` value set can call UpdatePublishSettings API to publish or unpublish the form.", + "readOnly": true + }, "responderUri": { "description": "Output only. The form URI to share with responders. This opens a page that allows the user to submit responses but not edit the questions.", "readOnly": true, @@ -865,6 +905,22 @@ "description": "A form's settings.", "id": "FormSettings", "properties": { + "emailCollectionType": { + "description": "Optional. The setting that determines whether the form collects email addresses from respondents.", + "enum": [ + "EMAIL_COLLECTION_TYPE_UNSPECIFIED", + "DO_NOT_COLLECT", + "VERIFIED", + "RESPONDER_INPUT" + ], + "enumDescriptions": [ + "Unspecified. This value is unused.", + "The form doesn't collect email addresses. Default value if the form owner uses a Google account.", + "The form collects email addresses automatically based on the account of the signed-in user. Default value if the form owner uses a Google Workspace account.", + "The form collects email addresses using a field that the respondent completes on the form." + ], + "type": "string" + }, "quizSettings": { "$ref": "QuizSettings", "description": "Settings related to quiz forms and grading." @@ -1168,6 +1224,32 @@ "properties": {}, "type": "object" }, + "PublishSettings": { + "description": "The publishing settings of a form.", + "id": "PublishSettings", + "properties": { + "publishState": { + "$ref": "PublishState", + "description": "Optional. The publishing state of a form. When updating `publish_state`, both `is_published` and `is_accepting_responses` must be set. However, setting `is_accepting_responses` to `true` and `is_published` to `false` isn't supported and returns an error." + } + }, + "type": "object" + }, + "PublishState": { + "description": "The publishing state of a form.", + "id": "PublishState", + "properties": { + "isAcceptingResponses": { + "description": "Required. Whether the form accepts responses. If `is_published` is set to `false`, this field is forced to `false`.", + "type": "boolean" + }, + "isPublished": { + "description": "Required. Whether the form is published and visible to others.", + "type": "boolean" + } + }, + "type": "object" + }, "Question": { "description": "Any question. The specific type of question is known by its `kind`.", "id": "Question", @@ -1379,6 +1461,37 @@ }, "type": "object" }, + "SetPublishSettingsRequest": { + "description": "Updates the publish settings of a Form.", + "id": "SetPublishSettingsRequest", + "properties": { + "publishSettings": { + "$ref": "PublishSettings", + "description": "Required. The desired publish settings to apply to the form." + }, + "updateMask": { + "description": "Optional. The `publish_settings` fields to update. This field mask accepts the following values: * `publish_state`: Updates or replaces all `publish_state` settings. * `\"*\"`: Updates or replaces all `publish_settings` fields.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "SetPublishSettingsResponse": { + "description": "The response of a `SetPublishSettings` request.", + "id": "SetPublishSettingsResponse", + "properties": { + "formId": { + "description": "Required. The ID of the Form. This is same as the `Form.form_id` field.", + "type": "string" + }, + "publishSettings": { + "$ref": "PublishSettings", + "description": "The publish settings of the form." + } + }, + "type": "object" + }, "TextAnswer": { "description": "An answer to a question represented as text.", "id": "TextAnswer", diff --git a/discovery/googleapis/gkebackup__v1.json b/discovery/googleapis/gkebackup__v1.json index 91edab767..b507fad25 100644 --- a/discovery/googleapis/gkebackup__v1.json +++ b/discovery/googleapis/gkebackup__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241203", + "revision": "20250226", "rootUrl": "https://gkebackup.googleapis.com/", "servicePath": "", "title": "Backup for GKE API", @@ -1916,7 +1916,7 @@ "type": "string" }, "stateReason": { - "description": "Output only. Human-readable description of why the backup is in the current `state`.", + "description": "Output only. Human-readable description of why the backup is in the current `state`. This field is only meant for human readability and should not be used programmatically as this field is not guaranteed to be consistent.", "readOnly": true, "type": "string" }, @@ -2017,6 +2017,12 @@ "description": "Optional. A set of custom labels supplied by user.", "type": "object" }, + "lastSuccessfulBackupTime": { + "description": "Output only. Completion time of the last successful Backup. This is sourced from a successful Backup's complete_time field. This field is added to maintain consistency with BackupPlanBinding to display last successful backup time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, "name": { "description": "Output only. The full name of the BackupPlan resource. Format: `projects/*/locations/*/backupPlans/*`", "readOnly": true, @@ -2067,7 +2073,7 @@ "type": "string" }, "stateReason": { - "description": "Output only. Human-readable description of why BackupPlan is in the current `state`", + "description": "Output only. Human-readable description of why BackupPlan is in the current `state`. This field is only meant for human readability and should not be used programmatically as this field is not guaranteed to be consistent.", "readOnly": true, "type": "string" }, @@ -2828,7 +2834,7 @@ }, "filter": { "$ref": "Filter", - "description": "Optional. Immutable. Filters resources for `Restore`. If not specified, the scope of the restore will remain the same as defined in the `RestorePlan`. If this is specified and no resources are matched by the `inclusion_filters` or everyting is excluded by the `exclusion_filters`, nothing will be restored. This filter can only be specified if the value of namespaced_resource_restore_mode is set to `MERGE_SKIP_ON_CONFLICT`, `MERGE_REPLACE_VOLUME_ON_CONFLICT` or `MERGE_REPLACE_ON_CONFLICT`." + "description": "Optional. Immutable. Filters resources for `Restore`. If not specified, the scope of the restore will remain the same as defined in the `RestorePlan`. If this is specified and no resources are matched by the `inclusion_filters` or everything is excluded by the `exclusion_filters`, nothing will be restored. This filter can only be specified if the value of namespaced_resource_restore_mode is set to `MERGE_SKIP_ON_CONFLICT`, `MERGE_REPLACE_VOLUME_ON_CONFLICT` or `MERGE_REPLACE_ON_CONFLICT`." }, "labels": { "additionalProperties": { @@ -2889,7 +2895,7 @@ "type": "string" }, "stateReason": { - "description": "Output only. Human-readable description of why the Restore is in its current state.", + "description": "Output only. Human-readable description of why the Restore is in its current state. This field is only meant for human readability and should not be used programmatically as this field is not guaranteed to be consistent.", "readOnly": true, "type": "string" }, @@ -3103,7 +3109,7 @@ "type": "string" }, "stateReason": { - "description": "Output only. Human-readable description of why RestorePlan is in the current `state`", + "description": "Output only. Human-readable description of why RestorePlan is in the current `state`. This field is only meant for human readability and should not be used programmatically as this field is not guaranteed to be consistent.", "readOnly": true, "type": "string" }, @@ -3412,7 +3418,8 @@ "UPLOADING", "SUCCEEDED", "FAILED", - "DELETING" + "DELETING", + "CLEANED_UP" ], "enumDescriptions": [ "This is an illegal state and should not be encountered.", @@ -3421,13 +3428,14 @@ "The snapshot phase of the volume backup operation has completed and the snapshot is now being uploaded to backup storage.", "The volume backup operation has completed successfully.", "The volume backup operation has failed.", - "This VolumeBackup resource (and its associated artifacts) is in the process of being deleted." + "This VolumeBackup resource (and its associated artifacts) is in the process of being deleted.", + "The underlying artifacts of a volume backup (eg: persistent disk snapshots) are deleted." ], "readOnly": true, "type": "string" }, "stateMessage": { - "description": "Output only. A human readable message explaining why the VolumeBackup is in its current state.", + "description": "Output only. A human readable message explaining why the VolumeBackup is in its current state. This field is only meant for human consumption and should not be used programmatically as this field is not guaranteed to be consistent.", "readOnly": true, "type": "string" }, diff --git a/discovery/googleapis/gkehub__v1.json b/discovery/googleapis/gkehub__v1.json index 8b2694167..52245c1ce 100644 --- a/discovery/googleapis/gkehub__v1.json +++ b/discovery/googleapis/gkehub__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241206", + "revision": "20250302", "rootUrl": "https://gkehub.googleapis.com/", "servicePath": "", "title": "GKE Hub API", @@ -2647,38 +2647,40 @@ "description": "Configuration for Config Sync", "id": "ConfigManagementConfigSync", "properties": { - "allowVerticalScale": { - "deprecated": true, - "description": "Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated.", - "type": "boolean" + "deploymentOverrides": { + "description": "Optional. Configuration for deployment overrides.", + "items": { + "$ref": "ConfigManagementDeploymentOverride" + }, + "type": "array" }, "enabled": { - "description": "Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.", + "description": "Optional. Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.", "type": "boolean" }, "git": { "$ref": "ConfigManagementGitConfig", - "description": "Git repo configuration for the cluster." + "description": "Optional. Git repo configuration for the cluster." }, "metricsGcpServiceAccountEmail": { "deprecated": true, - "description": "The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. Deprecated: If Workload Identity Federation for GKE is enabled, Google Cloud Service Account is no longer needed for exporting Config Sync metrics: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring.", + "description": "Optional. The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. Deprecated: If Workload Identity Federation for GKE is enabled, Google Cloud Service Account is no longer needed for exporting Config Sync metrics: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring.", "type": "string" }, "oci": { "$ref": "ConfigManagementOciConfig", - "description": "OCI repo configuration for the cluster" + "description": "Optional. OCI repo configuration for the cluster" }, "preventDrift": { - "description": "Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts.", + "description": "Optional. Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts.", "type": "boolean" }, "sourceFormat": { - "description": "Specifies whether the Config Sync Repo is in \"hierarchical\" or \"unstructured\" mode.", + "description": "Optional. Specifies whether the Config Sync Repo is in \"hierarchical\" or \"unstructured\" mode.", "type": "string" }, "stopSyncing": { - "description": "Set to true to stop syncing configs for a single cluster. Default to false.", + "description": "Optional. Set to true to stop syncing configs for a single cluster. Default to false.", "type": "boolean" } }, @@ -2869,7 +2871,7 @@ "id": "ConfigManagementConfigSyncState", "properties": { "clusterLevelStopSyncingState": { - "description": "Whether syncing resources to the cluster is stopped at the cluster level.", + "description": "Output only. Whether syncing resources to the cluster is stopped at the cluster level.", "enum": [ "STOP_SYNCING_STATE_UNSPECIFIED", "NOT_STOPPED", @@ -2882,6 +2884,7 @@ "Some reconcilers stop syncing resources to the cluster, while others are still syncing.", "Syncing resources to the cluster is stopped at the cluster level." ], + "readOnly": true, "type": "string" }, "crCount": { @@ -2892,17 +2895,19 @@ }, "deploymentState": { "$ref": "ConfigManagementConfigSyncDeploymentState", - "description": "Information about the deployment of ConfigSync, including the version of the various Pods deployed" + "description": "Output only. Information about the deployment of ConfigSync, including the version of the various Pods deployed", + "readOnly": true }, "errors": { - "description": "Errors pertaining to the installation of Config Sync.", + "description": "Output only. Errors pertaining to the installation of Config Sync.", "items": { "$ref": "ConfigManagementConfigSyncError" }, + "readOnly": true, "type": "array" }, "reposyncCrd": { - "description": "The state of the Reposync CRD", + "description": "Output only. The state of the Reposync CRD", "enum": [ "CRD_STATE_UNSPECIFIED", "NOT_INSTALLED", @@ -2917,10 +2922,11 @@ "CRD is terminating (i.e., it has been deleted and is cleaning up)", "CRD is installing" ], + "readOnly": true, "type": "string" }, "rootsyncCrd": { - "description": "The state of the RootSync CRD", + "description": "Output only. The state of the RootSync CRD", "enum": [ "CRD_STATE_UNSPECIFIED", "NOT_INSTALLED", @@ -2935,10 +2941,11 @@ "CRD is terminating (i.e., it has been deleted and is cleaning up)", "CRD is installing" ], + "readOnly": true, "type": "string" }, "state": { - "description": "The state of CS This field summarizes the other fields in this message.", + "description": "Output only. The state of CS This field summarizes the other fields in this message.", "enum": [ "STATE_UNSPECIFIED", "CONFIG_SYNC_NOT_INSTALLED", @@ -2953,15 +2960,18 @@ "CS encounters errors.", "CS is installing or terminating." ], + "readOnly": true, "type": "string" }, "syncState": { "$ref": "ConfigManagementSyncState", - "description": "The state of ConfigSync's process to sync configs to a cluster" + "description": "Output only. The state of ConfigSync's process to sync configs to a cluster", + "readOnly": true }, "version": { "$ref": "ConfigManagementConfigSyncVersion", - "description": "The version of ConfigSync deployed" + "description": "Output only. The version of ConfigSync deployed", + "readOnly": true } }, "type": "object" @@ -3009,6 +3019,55 @@ }, "type": "object" }, + "ConfigManagementContainerOverride": { + "description": "Configuration for a container override.", + "id": "ConfigManagementContainerOverride", + "properties": { + "containerName": { + "description": "Required. The name of the container.", + "type": "string" + }, + "cpuLimit": { + "description": "Optional. The cpu limit of the container.", + "type": "string" + }, + "cpuRequest": { + "description": "Optional. The cpu request of the container.", + "type": "string" + }, + "memoryLimit": { + "description": "Optional. The memory limit of the container.", + "type": "string" + }, + "memoryRequest": { + "description": "Optional. The memory request of the container.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementDeploymentOverride": { + "description": "Configuration for a deployment override.", + "id": "ConfigManagementDeploymentOverride", + "properties": { + "containers": { + "description": "Optional. The containers of the deployment resource to be overridden.", + "items": { + "$ref": "ConfigManagementContainerOverride" + }, + "type": "array" + }, + "deploymentName": { + "description": "Required. The name of the deployment resource to be overridden.", + "type": "string" + }, + "deploymentNamespace": { + "description": "Required. The namespace of the deployment resource to be overridden..", + "type": "string" + } + }, + "type": "object" + }, "ConfigManagementErrorResource": { "description": "Model for a config file in the git repo with an associated Sync error", "id": "ConfigManagementErrorResource", @@ -3098,35 +3157,35 @@ "id": "ConfigManagementGitConfig", "properties": { "gcpServiceAccountEmail": { - "description": "The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", + "description": "Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", "type": "string" }, "httpsProxy": { - "description": "URL for the HTTPS proxy to be used when communicating with the Git repo.", + "description": "Optional. URL for the HTTPS proxy to be used when communicating with the Git repo.", "type": "string" }, "policyDir": { - "description": "The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.", + "description": "Optional. The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.", "type": "string" }, "secretType": { - "description": "Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required.", + "description": "Required. Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount, githubapp or none. The validation of this is case-sensitive.", "type": "string" }, "syncBranch": { - "description": "The branch of the repository to sync from. Default: master.", + "description": "Optional. The branch of the repository to sync from. Default: master.", "type": "string" }, "syncRepo": { - "description": "The URL of the Git repository to use as the source of truth.", + "description": "Required. The URL of the Git repository to use as the source of truth.", "type": "string" }, "syncRev": { - "description": "Git revision (tag or hash) to check out. Default HEAD.", + "description": "Optional. Git revision (tag or hash) to check out. Default HEAD.", "type": "string" }, "syncWaitSecs": { - "description": "Period in seconds between consecutive syncs. Default: 15.", + "description": "Optional. Period in seconds between consecutive syncs. Default: 15.", "format": "int64", "type": "string" } @@ -3260,19 +3319,20 @@ "id": "ConfigManagementMembershipSpec", "properties": { "cluster": { - "description": "The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector.", + "description": "Optional. The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector.", "type": "string" }, "configSync": { "$ref": "ConfigManagementConfigSync", - "description": "Config Sync configuration for the cluster." + "description": "Optional. Config Sync configuration for the cluster." }, "hierarchyController": { "$ref": "ConfigManagementHierarchyControllerConfig", - "description": "Hierarchy Controller configuration for the cluster. Deprecated: Configuring Hierarchy Controller through the configmanagement feature is no longer recommended. Use https://github.com/kubernetes-sigs/hierarchical-namespaces instead." + "deprecated": true, + "description": "Optional. Hierarchy Controller configuration for the cluster. Deprecated: Configuring Hierarchy Controller through the configmanagement feature is no longer recommended. Use https://github.com/kubernetes-sigs/hierarchical-namespaces instead." }, "management": { - "description": "Enables automatic Feature management.", + "description": "Optional. Enables automatic Feature management.", "enum": [ "MANAGEMENT_UNSPECIFIED", "MANAGEMENT_AUTOMATIC", @@ -3287,10 +3347,11 @@ }, "policyController": { "$ref": "ConfigManagementPolicyController", - "description": "Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead." + "deprecated": true, + "description": "Optional. Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead." }, "version": { - "description": "Version of ACM installed.", + "description": "Optional. Version of ACM installed.", "type": "string" } }, @@ -3301,28 +3362,34 @@ "id": "ConfigManagementMembershipState", "properties": { "clusterName": { - "description": "This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name.", + "description": "Output only. This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name.", + "readOnly": true, "type": "string" }, "configSyncState": { "$ref": "ConfigManagementConfigSyncState", - "description": "Current sync status" + "description": "Output only. Current sync status", + "readOnly": true }, "hierarchyControllerState": { "$ref": "ConfigManagementHierarchyControllerState", - "description": "Hierarchy Controller status" + "description": "Output only. Hierarchy Controller status", + "readOnly": true }, "membershipSpec": { "$ref": "ConfigManagementMembershipSpec", - "description": "Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state" + "description": "Output only. Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state", + "readOnly": true }, "operatorState": { "$ref": "ConfigManagementOperatorState", - "description": "Current install status of ACM's Operator" + "description": "Output only. Current install status of ACM's Operator", + "readOnly": true }, "policyControllerState": { "$ref": "ConfigManagementPolicyControllerState", - "description": "PolicyController status" + "description": "Output only. PolicyController status", + "readOnly": true } }, "type": "object" @@ -3332,23 +3399,23 @@ "id": "ConfigManagementOciConfig", "properties": { "gcpServiceAccountEmail": { - "description": "The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", + "description": "Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", "type": "string" }, "policyDir": { - "description": "The absolute path of the directory that contains the local resources. Default: the root directory of the image.", + "description": "Optional. The absolute path of the directory that contains the local resources. Default: the root directory of the image.", "type": "string" }, "secretType": { - "description": "Type of secret configured for access to the Git repo.", + "description": "Required. Type of secret configured for access to the OCI repo. Must be one of gcenode, gcpserviceaccount, k8sserviceaccount or none. The validation of this is case-sensitive.", "type": "string" }, "syncRepo": { - "description": "The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.", + "description": "Required. The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.", "type": "string" }, "syncWaitSecs": { - "description": "Period in seconds between consecutive syncs. Default: 15.", + "description": "Optional. Period in seconds between consecutive syncs. Default: 15.", "format": "int64", "type": "string" } @@ -6142,7 +6209,7 @@ "type": "object" }, "ServiceMeshCondition": { - "description": "Condition being reported.", + "description": "Condition being reported. TODO b/395151419: Remove this message once the membership-level conditions field uses the common Condition message.", "id": "ServiceMeshCondition", "properties": { "code": { @@ -6157,6 +6224,7 @@ "CNI_INSTALLATION_FAILED", "CNI_POD_UNSCHEDULABLE", "CLUSTER_HAS_ZERO_NODES", + "CANONICAL_SERVICE_ERROR", "UNSUPPORTED_MULTIPLE_CONTROL_PLANES", "VPCSC_GA_SUPPORTED", "DEPRECATED_SPEC_CONTROL_PLANE_MANAGEMENT", @@ -6182,7 +6250,8 @@ "MODERNIZATION_SCHEDULED", "MODERNIZATION_IN_PROGRESS", "MODERNIZATION_COMPLETED", - "MODERNIZATION_ABORTED" + "MODERNIZATION_ABORTED", + "MODERNIZATION_WILL_BE_SCHEDULED" ], "enumDescriptions": [ "Default Unspecified code", @@ -6194,6 +6263,7 @@ "CNI installation failed error code", "CNI pod unschedulable error code", "Cluster has zero node code", + "Failure to reconcile CanonicalServices", "Multiple control planes unsupported error code", "VPC-SC GA is supported for this control plane.", "User is using deprecated ControlPlaneManagement and they have not yet set Management.", @@ -6219,7 +6289,8 @@ "Modernization is scheduled for a cluster.", "Modernization is in progress for a cluster.", "Modernization is completed for a cluster.", - "Modernization is aborted for a cluster." + "Modernization is aborted for a cluster.", + "Modernization will be scheduled for a fleet." ], "type": "string" }, @@ -6398,7 +6469,7 @@ "id": "ServiceMeshMembershipState", "properties": { "conditions": { - "description": "Output only. List of conditions reported for this membership.", + "description": "Output only. List of conditions reported for this membership. TODO b/395151419: Use the common Condition message.", "items": { "$ref": "ServiceMeshCondition" }, diff --git a/discovery/googleapis/gkehub__v2.json b/discovery/googleapis/gkehub__v2.json index 3ed0f4ef9..237edb20b 100644 --- a/discovery/googleapis/gkehub__v2.json +++ b/discovery/googleapis/gkehub__v2.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241206", + "revision": "20250302", "rootUrl": "https://gkehub.googleapis.com/", "servicePath": "", "title": "GKE Hub API", @@ -702,38 +702,40 @@ "description": "Configuration for Config Sync", "id": "ConfigManagementConfigSync", "properties": { - "allowVerticalScale": { - "deprecated": true, - "description": "Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated.", - "type": "boolean" + "deploymentOverrides": { + "description": "Optional. Configuration for deployment overrides.", + "items": { + "$ref": "ConfigManagementDeploymentOverride" + }, + "type": "array" }, "enabled": { - "description": "Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.", + "description": "Optional. Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.", "type": "boolean" }, "git": { "$ref": "ConfigManagementGitConfig", - "description": "Git repo configuration for the cluster." + "description": "Optional. Git repo configuration for the cluster." }, "metricsGcpServiceAccountEmail": { "deprecated": true, - "description": "The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. Deprecated: If Workload Identity Federation for GKE is enabled, Google Cloud Service Account is no longer needed for exporting Config Sync metrics: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring.", + "description": "Optional. The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. Deprecated: If Workload Identity Federation for GKE is enabled, Google Cloud Service Account is no longer needed for exporting Config Sync metrics: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring.", "type": "string" }, "oci": { "$ref": "ConfigManagementOciConfig", - "description": "OCI repo configuration for the cluster." + "description": "Optional. OCI repo configuration for the cluster." }, "preventDrift": { - "description": "Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts.", + "description": "Optional. Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts.", "type": "boolean" }, "sourceFormat": { - "description": "Specifies whether the Config Sync Repo is in \"hierarchical\" or \"unstructured\" mode.", + "description": "Optional. Specifies whether the Config Sync Repo is in \"hierarchical\" or \"unstructured\" mode.", "type": "string" }, "stopSyncing": { - "description": "Set to true to stop syncing configs for a single cluster. Default to false.", + "description": "Optional. Set to true to stop syncing configs for a single cluster. Default to false.", "type": "boolean" } }, @@ -924,7 +926,7 @@ "id": "ConfigManagementConfigSyncState", "properties": { "clusterLevelStopSyncingState": { - "description": "Whether syncing resources to the cluster is stopped at the cluster level.", + "description": "Output only. Whether syncing resources to the cluster is stopped at the cluster level.", "enum": [ "STOP_SYNCING_STATE_UNSPECIFIED", "NOT_STOPPED", @@ -937,6 +939,7 @@ "Some reconcilers stop syncing resources to the cluster, while others are still syncing.", "Syncing resources to the cluster is stopped at the cluster level." ], + "readOnly": true, "type": "string" }, "crCount": { @@ -947,17 +950,19 @@ }, "deploymentState": { "$ref": "ConfigManagementConfigSyncDeploymentState", - "description": "Information about the deployment of ConfigSync, including the version. of the various Pods deployed" + "description": "Output only. Information about the deployment of ConfigSync, including the version. of the various Pods deployed", + "readOnly": true }, "errors": { - "description": "Errors pertaining to the installation of Config Sync.", + "description": "Output only. Errors pertaining to the installation of Config Sync.", "items": { "$ref": "ConfigManagementConfigSyncError" }, + "readOnly": true, "type": "array" }, "reposyncCrd": { - "description": "The state of the Reposync CRD", + "description": "Output only. The state of the Reposync CRD", "enum": [ "CRD_STATE_UNSPECIFIED", "NOT_INSTALLED", @@ -972,10 +977,11 @@ "CRD is terminating (i.e., it has been deleted and is cleaning up)", "CRD is installing" ], + "readOnly": true, "type": "string" }, "rootsyncCrd": { - "description": "The state of the RootSync CRD", + "description": "Output only. The state of the RootSync CRD", "enum": [ "CRD_STATE_UNSPECIFIED", "NOT_INSTALLED", @@ -990,10 +996,11 @@ "CRD is terminating (i.e., it has been deleted and is cleaning up)", "CRD is installing" ], + "readOnly": true, "type": "string" }, "state": { - "description": "The state of CS This field summarizes the other fields in this message.", + "description": "Output only. The state of CS This field summarizes the other fields in this message.", "enum": [ "STATE_UNSPECIFIED", "CONFIG_SYNC_NOT_INSTALLED", @@ -1008,15 +1015,18 @@ "CS encounters errors.", "CS is installing or terminating." ], + "readOnly": true, "type": "string" }, "syncState": { "$ref": "ConfigManagementSyncState", - "description": "The state of ConfigSync's process to sync configs to a cluster." + "description": "Output only. The state of ConfigSync's process to sync configs to a cluster.", + "readOnly": true }, "version": { "$ref": "ConfigManagementConfigSyncVersion", - "description": "The version of ConfigSync deployed." + "description": "Output only. The version of ConfigSync deployed.", + "readOnly": true } }, "type": "object" @@ -1064,6 +1074,55 @@ }, "type": "object" }, + "ConfigManagementContainerOverride": { + "description": "Configuration for a container override.", + "id": "ConfigManagementContainerOverride", + "properties": { + "containerName": { + "description": "Required. The name of the container.", + "type": "string" + }, + "cpuLimit": { + "description": "Optional. The cpu limit of the container.", + "type": "string" + }, + "cpuRequest": { + "description": "Optional. The cpu request of the container.", + "type": "string" + }, + "memoryLimit": { + "description": "Optional. The memory limit of the container.", + "type": "string" + }, + "memoryRequest": { + "description": "Optional. The memory request of the container.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementDeploymentOverride": { + "description": "Configuration for a deployment override.", + "id": "ConfigManagementDeploymentOverride", + "properties": { + "containers": { + "description": "Optional. The containers of the deployment resource to be overridden.", + "items": { + "$ref": "ConfigManagementContainerOverride" + }, + "type": "array" + }, + "deploymentName": { + "description": "Required. The name of the deployment resource to be overridden.", + "type": "string" + }, + "deploymentNamespace": { + "description": "Required. The namespace of the deployment resource to be overridden..", + "type": "string" + } + }, + "type": "object" + }, "ConfigManagementErrorResource": { "description": "Model for a config file in the git repo with an associated Sync error.", "id": "ConfigManagementErrorResource", @@ -1153,35 +1212,35 @@ "id": "ConfigManagementGitConfig", "properties": { "gcpServiceAccountEmail": { - "description": "The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", + "description": "Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", "type": "string" }, "httpsProxy": { - "description": "URL for the HTTPS proxy to be used when communicating with the Git repo.", + "description": "Optional. URL for the HTTPS proxy to be used when communicating with the Git repo.", "type": "string" }, "policyDir": { - "description": "The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.", + "description": "Optional. The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.", "type": "string" }, "secretType": { - "description": "Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required.", + "description": "Required. Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount, githubapp or none. The validation of this is case-sensitive.", "type": "string" }, "syncBranch": { - "description": "The branch of the repository to sync from. Default: master.", + "description": "Optional. The branch of the repository to sync from. Default: master.", "type": "string" }, "syncRepo": { - "description": "The URL of the Git repository to use as the source of truth.", + "description": "Required. The URL of the Git repository to use as the source of truth.", "type": "string" }, "syncRev": { - "description": "Git revision (tag or hash) to check out. Default HEAD.", + "description": "Optional. Git revision (tag or hash) to check out. Default HEAD.", "type": "string" }, "syncWaitSecs": { - "description": "Period in seconds between consecutive syncs. Default: 15.", + "description": "Optional. Period in seconds between consecutive syncs. Default: 15.", "format": "int64", "type": "string" } @@ -1315,23 +1374,23 @@ "id": "ConfigManagementOciConfig", "properties": { "gcpServiceAccountEmail": { - "description": "The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", + "description": "Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", "type": "string" }, "policyDir": { - "description": "The absolute path of the directory that contains the local resources. Default: the root directory of the image.", + "description": "Optional. The absolute path of the directory that contains the local resources. Default: the root directory of the image.", "type": "string" }, "secretType": { - "description": "Type of secret configured for access to the Git repo.", + "description": "Required. Type of secret configured for access to the OCI repo. Must be one of gcenode, gcpserviceaccount, k8sserviceaccount or none. The validation of this is case-sensitive.", "type": "string" }, "syncRepo": { - "description": "The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.", + "description": "Required. The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.", "type": "string" }, "syncWaitSecs": { - "description": "Period in seconds between consecutive syncs. Default: 15.", + "description": "Optional. Period in seconds between consecutive syncs. Default: 15.", "format": "int64", "type": "string" } @@ -1510,22 +1569,23 @@ "binauthz": { "$ref": "ConfigManagementBinauthzConfig", "deprecated": true, - "description": "Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set." + "description": "Optional. Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set." }, "cluster": { - "description": "The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector.", + "description": "Optional. The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector.", "type": "string" }, "configSync": { "$ref": "ConfigManagementConfigSync", - "description": "Config Sync configuration for the cluster." + "description": "Optional. Config Sync configuration for the cluster." }, "hierarchyController": { "$ref": "ConfigManagementHierarchyControllerConfig", - "description": "Hierarchy Controller configuration for the cluster. Deprecated: Configuring Hierarchy Controller through the configmanagement feature is no longer recommended. Use https://github.com/kubernetes-sigs/hierarchical-namespaces instead." + "deprecated": true, + "description": "Optional. Hierarchy Controller configuration for the cluster. Deprecated: Configuring Hierarchy Controller through the configmanagement feature is no longer recommended. Use https://github.com/kubernetes-sigs/hierarchical-namespaces instead." }, "management": { - "description": "Enables automatic Feature management.", + "description": "Optional. Enables automatic Feature management.", "enum": [ "MANAGEMENT_UNSPECIFIED", "MANAGEMENT_AUTOMATIC", @@ -1540,10 +1600,11 @@ }, "policyController": { "$ref": "ConfigManagementPolicyController", - "description": "Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead." + "deprecated": true, + "description": "Optional. Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead." }, "version": { - "description": "Version of ACM installed.", + "description": "Optional. Version of ACM installed.", "type": "string" } }, @@ -1555,31 +1616,38 @@ "properties": { "binauthzState": { "$ref": "ConfigManagementBinauthzState", - "description": "Binauthz status." + "description": "Output only. Binauthz status.", + "readOnly": true }, "clusterName": { - "description": "This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name.", + "description": "Output only. This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name.", + "readOnly": true, "type": "string" }, "configSyncState": { "$ref": "ConfigManagementConfigSyncState", - "description": "Current sync status." + "description": "Output only. Current sync status.", + "readOnly": true }, "hierarchyControllerState": { "$ref": "ConfigManagementHierarchyControllerState", - "description": "Hierarchy Controller status." + "description": "Output only. Hierarchy Controller status.", + "readOnly": true }, "membershipSpec": { "$ref": "ConfigManagementSpec", - "description": "Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state." + "description": "Output only. Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state.", + "readOnly": true }, "operatorState": { "$ref": "ConfigManagementOperatorState", - "description": "Current install status of ACM's Operator." + "description": "Output only. Current install status of ACM's Operator.", + "readOnly": true }, "policyControllerState": { "$ref": "ConfigManagementPolicyControllerState", - "description": "PolicyController status." + "description": "Output only. PolicyController status.", + "readOnly": true } }, "type": "object" @@ -2899,6 +2967,7 @@ "CNI_INSTALLATION_FAILED", "CNI_POD_UNSCHEDULABLE", "CLUSTER_HAS_ZERO_NODES", + "CANONICAL_SERVICE_ERROR", "UNSUPPORTED_MULTIPLE_CONTROL_PLANES", "VPCSC_GA_SUPPORTED", "DEPRECATED_SPEC_CONTROL_PLANE_MANAGEMENT", @@ -2924,7 +2993,8 @@ "MODERNIZATION_SCHEDULED", "MODERNIZATION_IN_PROGRESS", "MODERNIZATION_COMPLETED", - "MODERNIZATION_ABORTED" + "MODERNIZATION_ABORTED", + "MODERNIZATION_WILL_BE_SCHEDULED" ], "enumDescriptions": [ "Default Unspecified code", @@ -2936,6 +3006,7 @@ "CNI installation failed error code", "CNI pod unschedulable error code", "Cluster has zero node code", + "Failure to reconcile CanonicalServices", "Multiple control planes unsupported error code", "VPC-SC GA is supported for this control plane.", "User is using deprecated ControlPlaneManagement and they have not yet set Management.", @@ -2961,7 +3032,8 @@ "Modernization is scheduled for a cluster.", "Modernization is in progress for a cluster.", "Modernization is completed for a cluster.", - "Modernization is aborted for a cluster." + "Modernization is aborted for a cluster.", + "Modernization will be scheduled for a fleet." ], "type": "string" }, diff --git a/discovery/googleapis/gkeonprem__v1.json b/discovery/googleapis/gkeonprem__v1.json index e57539028..7bf0b1b18 100644 --- a/discovery/googleapis/gkeonprem__v1.json +++ b/discovery/googleapis/gkeonprem__v1.json @@ -25,10 +25,10 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241204", + "revision": "20250224", "rootUrl": "https://gkeonprem.googleapis.com/", "servicePath": "", - "title": "GDC Virtual API", + "title": "GKE On-Prem API", "version": "v1", "version_module": true, "parameters": { diff --git a/discovery/googleapis/healthcare__v1.json b/discovery/googleapis/healthcare__v1.json index 558cf64e8..88109497b 100644 --- a/discovery/googleapis/healthcare__v1.json +++ b/discovery/googleapis/healthcare__v1.json @@ -28,7 +28,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241205", + "revision": "20250219", "rootUrl": "https://healthcare.googleapis.com/", "servicePath": "", "title": "Cloud Healthcare API", @@ -2851,6 +2851,11 @@ "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", "required": true, "type": "string" + }, + "viewport": { + "description": "Optional. The viewport setting to use as specified in https://dicom.nema.org/medical/dicom/current/output/chtml/part18/sect_8.3.5.html#sect_8.3.5.1.3", + "location": "query", + "type": "string" } }, "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}", @@ -2923,6 +2928,11 @@ "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", "required": true, "type": "string" + }, + "viewport": { + "description": "Optional. The viewport setting to use as specified in https://dicom.nema.org/medical/dicom/current/output/chtml/part18/sect_8.3.5.html#sect_8.3.5.1.3", + "location": "query", + "type": "string" } }, "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}", @@ -3004,6 +3014,52 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "bulk-export-group": { + "description": "Bulk exports a Group resource and resources in the member field, including related resources for each Patient member. The export for each Patient is identical to a GetPatientEverything request. Implements the FHIR implementation guide [$export group of patients](https://build.fhir.org/ig/HL7/bulk-data/export.html#endpoint---group-of-patients). The following headers must be set in the request: * `Accept`: specifies the format of the `OperationOutcome` response. Only `application/fhir+json` is supported. * `Prefer`: specifies whether the response is immediate or asynchronous. Must be to `respond-async` because only asynchronous responses are supported. Specify the destination for the server to write result files by setting the Cloud Storage location bulk_export_gcs_destination on the FHIR store. URI of an existing Cloud Storage directory where the server writes result files, in the format gs://{bucket-id}/{path/to/destination/dir}. If there is no trailing slash, the service appends one when composing the object path. The user is responsible for creating the Cloud Storage bucket referenced. Supports the following query parameters: * `_type`: string of comma-delimited FHIR resource types. If provided, only resources of the specified type(s) are exported. * `_since`: if provided, only resources updated after the specified time are exported. * `_outputFormat`: optional, specify ndjson to export data in NDJSON format. Exported file names use the format: {export_id}_{resource_type}.ndjson. * `organizeOutputBy`: resource type to organize the output by. Required and must be set to `Patient`. When specified, output files are organized by instances of the specified resource type, including the resource, referenced resources, and resources that contain references to that resource. On success, the `Content-Location` header of response is set to a URL that you can use to query the status of the export. The URL is in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/operations/{export_id}`. See get-fhir-operation-status for more information. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Group/{GroupId}/$export", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.fhirStores.bulk-export-group", + "parameterOrder": [ + "name" + ], + "parameters": { + "_since": { + "description": "Optional. If provided, only resources updated after this time are exported. The time uses the format YYYY-MM-DDThh:mm:ss.sss+zz:zz. For example, `2015-02-07T13:28:17.239+02:00` or `2017-01-01T00:00:00Z`. The time must be specified to the second and include a time zone.", + "location": "query", + "type": "string" + }, + "_type": { + "description": "Optional. String of comma-delimited FHIR resource types. If provided, only resources of the specified resource type(s) are exported.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Name of the Group resource that is exported, in format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/Group/{group_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/Group/[^/]+$", + "required": true, + "type": "string" + }, + "organizeOutputBy": { + "description": "Optional. Required. The FHIR resource type used to organize exported resources. Only supports \"Patient\". When organized by Patient resource, output files are grouped as follows: * Patient file(s) containing the Patient resources. Each Patient is sequentially followed by all resources the Patient references, and all resources that reference the Patient (equivalent to a GetPatientEverything request). * Individual files grouped by resource type for resources in the Group's member field and the Group resource itself. Resources may be duplicated across multiple Patients. For example, if two Patient resources reference the same Organization resource, it will appear twice, once after each Patient. The Group resource from the request does not appear in the Patient files.", + "location": "query", + "type": "string" + }, + "outputFormat": { + "description": "Optional. Output format of the export. This field is optional and only `application/fhir+ndjson` is supported.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/$export", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-healthcare", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "create": { "description": "Creates a new FHIR store within the parent dataset.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores", @@ -3708,7 +3764,7 @@ "type": "string" }, "profile": { - "description": "Required. The canonical URL of a profile that this resource should be validated against. For example, to validate a Patient resource against the US Core Patient profile this parameter would be `http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient`. A StructureDefinition with this canonical URL must exist in the FHIR store.", + "description": "Optional. The canonical URL of a profile that this resource should be validated against. For example, to validate a Patient resource against the US Core Patient profile this parameter would be `http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient`. A StructureDefinition with this canonical URL must exist in the FHIR store.", "location": "query", "type": "string" }, @@ -3732,6 +3788,47 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "bulk-export": { + "description": "Bulk exports all resources from the FHIR store to the specified destination. Implements the FHIR implementation guide [system level $export](https://build.fhir.org/ig/HL7/bulk-data/export.html#endpoint---system-level-export. The following headers must be set in the request: * `Accept`: specifies the format of the `OperationOutcome` response. Only `application/fhir+json` is supported. * `Prefer`: specifies whether the response is immediate or asynchronous. Must be to `respond-async` because only asynchronous responses are supported. Specify the destination for the server to write result files by setting the Cloud Storage location bulk_export_gcs_destination on the FHIR store. URI of an existing Cloud Storage directory where the server writes result files, in the format gs://{bucket-id}/{path/to/destination/dir}. If there is no trailing slash, the service appends one when composing the object path. The user is responsible for creating the Cloud Storage bucket referenced. Supports the following query parameters: * `_type`: string of comma-delimited FHIR resource types. If provided, only the resources of the specified type(s) are exported. * `_since`: if provided, only the resources that are updated after the specified time are exported. * `_outputFormat`: optional, specify ndjson to export data in NDJSON format. Exported file names use the format: {export_id}_{resource_type}.ndjson. On success, the `Content-Location` header of the response is set to a URL that the user can use to query the status of the export. The URL is in the format: `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/operations/{export_id}`. See get-fhir-operation-status for more information. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/$export", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.fhirStores.fhir.bulk-export", + "parameterOrder": [ + "name" + ], + "parameters": { + "_since": { + "description": "Optional. If provided, only resources updated after this time are exported. The time uses the format YYYY-MM-DDThh:mm:ss.sss+zz:zz. For example, `2015-02-07T13:28:17.239+02:00` or `2017-01-01T00:00:00Z`. The time must be specified to the second and include a time zone.", + "location": "query", + "type": "string" + }, + "_type": { + "description": "Optional. String of comma-delimited FHIR resource types. If provided, only resources of the specified resource type(s) are exported.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the FHIR store to export resources from, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", + "required": true, + "type": "string" + }, + "outputFormat": { + "description": "Optional. Output format of the export. This field is optional and only `application/fhir+ndjson` is supported.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/fhir/$export", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-healthcare", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "capabilities": { "description": "Gets the FHIR capability statement ([STU3](http://hl7.org/implement/standards/fhir/STU3/capabilitystatement.html), [R4](http://hl7.org/implement/standards/fhir/R4/capabilitystatement.html)), or the [conformance statement](http://hl7.org/implement/standards/fhir/DSTU2/conformance.html) in the DSTU2 case for the store, which contains a description of functionality supported by the server. Implements the FHIR standard capabilities interaction ([STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#capabilities), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#capabilities)), or the [conformance interaction](http://hl7.org/implement/standards/fhir/DSTU2/http.html#conformance) in the DSTU2 case. On success, the response body contains a JSON-encoded representation of a `CapabilityStatement` resource.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/metadata", @@ -4107,7 +4204,7 @@ "type": "string" }, "resourceType": { - "description": "Required. The FHIR resource type to search, such as Patient or Observation. For a complete list, see the FHIR Resource Index ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html), [R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)).", + "description": "Optional. The FHIR resource type to search, such as Patient or Observation. For a complete list, see the FHIR Resource Index ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html), [R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)).", "location": "path", "required": true, "type": "string" @@ -4181,6 +4278,62 @@ ] } } + }, + "operations": { + "methods": { + "delete-fhir-operation": { + "description": "Deletes operations as defined in the FHIR specification. Implements the FHIR implementation guide [bulk data delete request](https://build.fhir.org/ig/HL7/bulk-data/export.html#bulk-data-delete-request). Returns success if the operation was successfully cancelled. If the operation is complete, or has already been cancelled, returns an error response.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "healthcare.projects.locations.datasets.fhirStores.operations.delete-fhir-operation", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the operation to be deleted, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/operations/{operation_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-healthcare", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get-fhir-operation-status": { + "description": "Gets the status of operations as defined in the FHIR specification. Implements the FHIR implementation guide [bulk data status request](https://build.fhir.org/ig/HL7/bulk-data/export.html#bulk-data-status-request). Operations can have one of these states: * in-progress: response status code is `202` and `X-Progress` header is set to `in progress`. * complete: response status code is `200` and the body is a JSON-encoded operation response as defined by the spec. For a bulk export, this response is defined in https://build.fhir.org/ig/HL7/bulk-data/export.html#response---complete-status. * error: response status code is `5XX`, and the body is a JSON-encoded `OperationOutcome` resource describing the reason for the error.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.fhirStores.operations.get-fhir-operation-status", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the operation to query, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/operations/{operation_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-healthcare", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } }, @@ -5379,6 +5532,17 @@ }, "type": "object" }, + "BulkExportGcsDestination": { + "description": "The configuration for exporting to Cloud Storage using the bulk export API.", + "id": "BulkExportGcsDestination", + "properties": { + "uriPrefix": { + "description": "Optional. URI for a Cloud Storage directory where the server writes result files, in the format `gs://{bucket-id}/{path/to/destination/dir}`. If there is no trailing slash, the service appends one when composing the object path. The user is responsible for creating the Cloud Storage bucket referenced in `uri_prefix`.", + "type": "string" + } + }, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", @@ -5533,11 +5697,11 @@ "type": "string" }, "environment": { - "description": "An abstract identifier that describes the environment or conditions under which the accessor is acting. Can be \"*\" if it applies to all environments.", + "description": "An abstract identifier that describes the environment or conditions under which the accessor is acting. If it's not specified, it applies to all environments.", "type": "string" }, "purpose": { - "description": "The intent of data use. Can be \"*\" if it applies to all purposes.", + "description": "The intent of data use. If it's not specified, it applies to all purposes.", "type": "string" } }, @@ -5768,6 +5932,16 @@ "description": "Identifier. Resource name of the dataset, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.", "type": "string" }, + "satisfiesPzi": { + "description": "Output only. For future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. For future use.", + "readOnly": true, + "type": "boolean" + }, "timeZone": { "description": "Optional. The default timezone used by this dataset. Must be a either a valid IANA time zone name such as \"America/New_York\" or empty, which defaults to UTC. This is used for parsing times in resources, such as HL7 messages, where no explicit timezone is specified.", "type": "string" @@ -6490,6 +6664,10 @@ "description": "Represents a FHIR store.", "id": "FhirStore", "properties": { + "bulkExportGcsDestination": { + "$ref": "BulkExportGcsDestination", + "description": "Optional. FHIR bulk export exports resources to the specified Cloud Storage destination. A Cloud Storage destination is a URI for a Cloud Storage directory where result files will be written. Only used in the spec-defined bulk $export methods. The Cloud Healthcare Service Agent requires the `roles/storage.objectAdmin` Cloud IAM role on the destination." + }, "complexDataTypeReferenceParsing": { "description": "Optional. Enable parsing of references within complex FHIR data types such as Extensions. If this value is set to ENABLED, then features like referential integrity and Bundle reference rewriting apply to all references. If this flag has not been specified the behavior of the FHIR store will not change, references in complex data types will not be parsed. New stores will have this value set to ENABLED after a notification period. Warning: turning on this flag causes processing existing resources to fail if they contain references to non-existent resources.", "enum": [ @@ -8242,7 +8420,7 @@ "id": "SearchResourcesRequest", "properties": { "resourceType": { - "description": "Required. The FHIR resource type to search, such as Patient or Observation. For a complete list, see the FHIR Resource Index ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html), [R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)).", + "description": "Optional. The FHIR resource type to search, such as Patient or Observation. For a complete list, see the FHIR Resource Index ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html), [R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)).", "type": "string" } }, diff --git a/discovery/googleapis/iam__v1.json b/discovery/googleapis/iam__v1.json index 06daccdd3..f0fa08653 100644 --- a/discovery/googleapis/iam__v1.json +++ b/discovery/googleapis/iam__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241114", + "revision": "20250213", "rootUrl": "https://iam.googleapis.com/", "servicePath": "", "title": "Identity and Access Management (IAM) API", @@ -320,7 +320,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of the pool. Format: `locations/{location}/workforcePools/{workforce_pool_id}`", + "description": "Identifier. The resource name of the pool. Format: `locations/{location}/workforcePools/{workforce_pool_id}`", "location": "path", "pattern": "^locations/[^/]+/workforcePools/[^/]+$", "required": true, @@ -595,7 +595,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of the provider. Format: `locations/{location}/workforcePools/{workforce_pool_id}/providers/{provider_id}`", + "description": "Identifier. The resource name of the provider. Format: `locations/{location}/workforcePools/{workforce_pool_id}/providers/{provider_id}`", "location": "path", "pattern": "^locations/[^/]+/workforcePools/[^/]+/providers/[^/]+$", "required": true, @@ -3553,11 +3553,13 @@ "description": "Required. Represents the IdP and type of claims that should be fetched.", "enum": [ "ATTRIBUTES_TYPE_UNSPECIFIED", - "AZURE_AD_GROUPS_MAIL" + "AZURE_AD_GROUPS_MAIL", + "AZURE_AD_GROUPS_ID" ], "enumDescriptions": [ "No AttributesType specified.", - "Used to get the user's group claims from the Microsoft Entra ID identity provider using configuration provided in ExtraAttributesOAuth2Client and `mail` property of the `microsoft.graph.group` object is used for claim mapping. See https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties for more details on `microsoft.graph.group` properties. The attributes obtained from idntity provider are mapped to `assertion.groups`." + "Used to get the user's group claims from the Microsoft Entra ID identity provider using configuration provided in ExtraAttributesOAuth2Client and `mail` property of the `microsoft.graph.group` object is used for claim mapping. See https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties for more details on `microsoft.graph.group` properties. The attributes obtained from idntity provider are mapped to `assertion.groups`.", + "Used to get the user's group claims from the Microsoft Entra ID identity provider using configuration provided in ExtraAttributesOAuth2Client and `id` property of the `microsoft.graph.group` object is used for claim mapping. See https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties for more details on `microsoft.graph.group` properties. The group IDs obtained from Microsoft Entra ID are present in `assertion. groups` for OIDC providers and `assertion.attributes.groups` for SAML providers for attribute mapping." ], "type": "string" }, @@ -4055,7 +4057,7 @@ "type": "array" }, "allowedScopes": { - "description": "Required. The list of scopes that the OauthClient is allowed to request during OAuth flows. The following scopes are supported: * `https://www.googleapis.com/auth/cloud-platform`: See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.", + "description": "Required. The list of scopes that the OauthClient is allowed to request during OAuth flows. The following scopes are supported: * `https://www.googleapis.com/auth/cloud-platform`: See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account. * `openid`: The OAuth client can associate you with your personal information on Google Cloud. * `email`: The OAuth client can read a federated identity's email address. * `groups`: The OAuth client can read a federated identity's groups.", "items": { "type": "string" }, @@ -5018,8 +5020,7 @@ "type": "string" }, "name": { - "description": "Output only. The resource name of the pool. Format: `locations/{location}/workforcePools/{workforce_pool_id}`", - "readOnly": true, + "description": "Identifier. The resource name of the pool. Format: `locations/{location}/workforcePools/{workforce_pool_id}`", "type": "string" }, "parent": { @@ -5087,8 +5088,7 @@ "description": "Optional. The configuration for OAuth 2.0 client used to get the additional user attributes. This should be used when users can't get the desired claims in authentication credentials. Currently this configuration is only supported with OIDC protocol." }, "name": { - "description": "Output only. The resource name of the provider. Format: `locations/{location}/workforcePools/{workforce_pool_id}/providers/{provider_id}`", - "readOnly": true, + "description": "Identifier. The resource name of the provider. Format: `locations/{location}/workforcePools/{workforce_pool_id}/providers/{provider_id}`", "type": "string" }, "oidc": { @@ -5132,8 +5132,7 @@ "description": "Immutable. Public half of the asymmetric key." }, "name": { - "description": "Output only. The resource name of the key.", - "readOnly": true, + "description": "Identifier. The resource name of the key. Format: `locations/{location}/workforcePools/{workforce_pool_id}/providers/{provider_id}/keys/{key_id}`", "type": "string" }, "state": { diff --git a/discovery/googleapis/iam__v2.json b/discovery/googleapis/iam__v2.json index f064ee4ff..b78a5549b 100644 --- a/discovery/googleapis/iam__v2.json +++ b/discovery/googleapis/iam__v2.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241114", + "revision": "20250213", "rootUrl": "https://iam.googleapis.com/", "servicePath": "", "title": "Identity and Access Management (IAM) API", @@ -485,7 +485,7 @@ "type": "array" }, "deniedPrincipals": { - "description": "The identities that are prevented from using one or more permissions on Google Cloud resources. This field can contain the following values: * `principal://goog/subject/{email_id}`: A specific Google Account. Includes Gmail, Cloud Identity, and Google Workspace user accounts. For example, `principal://goog/subject/alice@example.com`. * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`: A Google Cloud service account. For example, `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`. * `principalSet://goog/group/{group_id}`: A Google group. For example, `principalSet://goog/group/admins@example.com`. * `principalSet://goog/public:all`: A special identifier that represents any principal that is on the internet, even if they do not have a Google Account or are not logged in. * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the principals associated with the specified Google Workspace or Cloud Identity customer ID. For example, `principalSet://goog/cloudIdentityCustomerId/C01Abc35`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific Google Account that was deleted recently. For example, `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If the Google Account is recovered, this identifier reverts to the standard identifier for a Google Account. * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group that was deleted recently. For example, `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`. If the Google group is restored, this identifier reverts to the standard identifier for a Google group. * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`: A Google Cloud service account that was deleted recently. For example, `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`. If the service account is undeleted, this identifier reverts to the standard identifier for a service account. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", + "description": "The identities that are prevented from using one or more permissions on Google Cloud resources. This field can contain the following values: * `principal://goog/subject/{email_id}`: A specific Google Account. Includes Gmail, Cloud Identity, and Google Workspace user accounts. For example, `principal://goog/subject/alice@example.com`. * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`: A Google Cloud service account. For example, `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`. * `principalSet://goog/group/{group_id}`: A Google group. For example, `principalSet://goog/group/admins@example.com`. * `principalSet://goog/public:all`: A special identifier that represents any principal that is on the internet, even if they do not have a Google Account or are not logged in. * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the principals associated with the specified Google Workspace or Cloud Identity customer ID. For example, `principalSet://goog/cloudIdentityCustomerId/C01Abc35`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `principalSet://cloudresourcemanager.googleapis.com/[projects|folders|organizations]/{project_number|folder_number|org_number}/type/ServiceAccount`: All service accounts grouped under a resource (project, folder, or organization). * `principalSet://cloudresourcemanager.googleapis.com/[projects|folders|organizations]/{project_number|folder_number|org_number}/type/ServiceAgent`: All service agents grouped under a resource (project, folder, or organization). * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific Google Account that was deleted recently. For example, `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If the Google Account is recovered, this identifier reverts to the standard identifier for a Google Account. * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group that was deleted recently. For example, `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`. If the Google group is restored, this identifier reverts to the standard identifier for a Google group. * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`: A Google Cloud service account that was deleted recently. For example, `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`. If the service account is undeleted, this identifier reverts to the standard identifier for a service account. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", "items": { "type": "string" }, diff --git a/discovery/googleapis/identitytoolkit__v1.json b/discovery/googleapis/identitytoolkit__v1.json index 7b253e992..6b49f6dcc 100644 --- a/discovery/googleapis/identitytoolkit__v1.json +++ b/discovery/googleapis/identitytoolkit__v1.json @@ -28,7 +28,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241205", + "revision": "20250130", "rootUrl": "https://identitytoolkit.googleapis.com/", "servicePath": "", "title": "Identity Toolkit API", @@ -1690,7 +1690,6 @@ "type": "array" }, "federatedUserId": { - "description": "The federated user identifier of one or more accounts to fetch. Should only be specified by authenticated requests bearing a Google OAuth 2.0 credential with proper [permissions](https://cloud.google.com/identity-platform/docs/access-control).", "items": { "$ref": "GoogleCloudIdentitytoolkitV1FederatedUserIdentifier" }, @@ -1818,6 +1817,10 @@ "description": "An ID token for the account. It is required for VERIFY_AND_CHANGE_EMAIL and VERIFY_EMAIL requests unless return_oob_link is set to true.", "type": "string" }, + "linkDomain": { + "description": "Optional. In order to ensure that the url used can be easily opened in iOS or Android, we create a Hosting link '/__/auth/links'. This optional field contains the domain to use when constructing a Hosting link. If not set, '.firebaseapp.com' domain will be used.", + "type": "string" + }, "newEmail": { "description": "The email address the account is being updated to. Required only for VERIFY_AND_CHANGE_EMAIL requests.", "type": "string" @@ -2033,7 +2036,6 @@ "type": "integer" }, "provider": { - "description": "Name of the identity provider.", "enum": [ "PROVIDER_UNSPECIFIED", "MSLIVE", @@ -2272,7 +2274,6 @@ "id": "GoogleCloudIdentitytoolkitV1QueryUserInfoRequest", "properties": { "expression": { - "description": "Query conditions used to filter results. If more than one is passed, only the first SqlExpression is evaluated.", "items": { "$ref": "GoogleCloudIdentitytoolkitV1SqlExpression" }, @@ -2289,7 +2290,6 @@ "type": "string" }, "order": { - "description": "The order for sorting query result. Defaults to __ascending__ order. Only valid when `return_user_info` is set to `true`.", "enum": [ "ORDER_UNSPECIFIED", "ASC", @@ -2307,7 +2307,6 @@ "type": "boolean" }, "sortBy": { - "description": "The field to use for sorting user accounts. Defaults to `USER_ID`. Note: when `phone_number` is specified in `expression`, the result ignores the sorting. Only valid when `return_user_info` is set to `true`.", "enum": [ "SORT_BY_FIELD_UNSPECIFIED", "USER_ID", @@ -2545,7 +2544,6 @@ "type": "string" }, "deleteAttribute": { - "description": "The account's attributes to be deleted.", "items": { "enum": [ "USER_ATTRIBUTE_NAME_UNSPECIFIED", @@ -3634,7 +3632,6 @@ "type": "integer" }, "passwordHashOrder": { - "description": "Password and salt order when verify password.", "enum": [ "UNSPECIFIED_ORDER", "SALT_AND_PASSWORD", diff --git a/discovery/googleapis/identitytoolkit__v2.json b/discovery/googleapis/identitytoolkit__v2.json index cd54903d8..7029cf940 100644 --- a/discovery/googleapis/identitytoolkit__v2.json +++ b/discovery/googleapis/identitytoolkit__v2.json @@ -28,7 +28,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241024", + "revision": "20250130", "rootUrl": "https://identitytoolkit.googleapis.com/", "servicePath": "", "title": "Identity Toolkit API", @@ -1824,6 +1824,11 @@ "$ref": "GoogleCloudIdentitytoolkitAdminV2ClientConfig", "description": "Options related to how clients making requests on behalf of a project should be configured." }, + "defaultHostingSite": { + "description": "Output only. Default Firebase hosting site name", + "readOnly": true, + "type": "string" + }, "emailPrivacyConfig": { "$ref": "GoogleCloudIdentitytoolkitAdminV2EmailPrivacyConfig", "description": "Configuration for settings related to email privacy and public visibility." @@ -1832,6 +1837,10 @@ "$ref": "GoogleCloudIdentitytoolkitAdminV2MultiFactorAuthConfig", "description": "Configuration for this project's multi-factor authentication, including whether it is active and what factors can be used for the second factor" }, + "mobileLinksConfig": { + "$ref": "GoogleCloudIdentitytoolkitAdminV2MobileLinksConfig", + "description": "Configuration for settings related to univeral links (iOS) and app links (Android)." + }, "monitoring": { "$ref": "GoogleCloudIdentitytoolkitAdminV2MonitoringConfig", "description": "Configuration related to monitoring project activity." @@ -2342,6 +2351,27 @@ }, "type": "object" }, + "GoogleCloudIdentitytoolkitAdminV2MobileLinksConfig": { + "description": "Configuration mobile links.", + "id": "GoogleCloudIdentitytoolkitAdminV2MobileLinksConfig", + "properties": { + "domain": { + "description": "Open code in app domain to use for app links and universal links.", + "enum": [ + "DOMAIN_UNSPECIFIED", + "FIREBASE_DYNAMIC_LINK_DOMAIN", + "HOSTING_DOMAIN" + ], + "enumDescriptions": [ + "Default value. The default domain is the Firebase Dynamic Link domain before the FDL deprecation and the hosting domain after the FDL deprecation.", + "Use Firebase Dynamic Link domain as app link domain. Default value.", + "Use hosting domain as app link domain." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudIdentitytoolkitAdminV2MonitoringConfig": { "description": "Configuration related to monitoring project activity.", "id": "GoogleCloudIdentitytoolkitAdminV2MonitoringConfig", @@ -3047,6 +3077,11 @@ "$ref": "GoogleCloudIdentitytoolkitAdminV2MultiFactorAuthConfig", "description": "The tenant-level configuration of MFA options." }, + "mobileLinksConfig": { + "$ref": "GoogleCloudIdentitytoolkitAdminV2MobileLinksConfig", + "deprecated": true, + "description": "Optional. Deprecated. Never launched. Configuration for settings related to univeral links (iOS) and app links (Android)." + }, "monitoring": { "$ref": "GoogleCloudIdentitytoolkitAdminV2MonitoringConfig", "description": "Configuration related to monitoring project activity." diff --git a/discovery/googleapis/ids__v1.json b/discovery/googleapis/ids__v1.json index 2fd0633d6..7fd739700 100644 --- a/discovery/googleapis/ids__v1.json +++ b/discovery/googleapis/ids__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20240514", + "revision": "20250304", "rootUrl": "https://ids.googleapis.com/", "servicePath": "", "title": "Cloud IDS API", @@ -276,37 +276,6 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, - "getIamPolicy": { - "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:getIamPolicy", - "httpMethod": "GET", - "id": "ids.projects.locations.endpoints.getIamPolicy", - "parameterOrder": [ - "resource" - ], - "parameters": { - "options.requestedPolicyVersion": { - "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "format": "int32", - "location": "query", - "type": "integer" - }, - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+resource}:getIamPolicy", - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, "list": { "description": "Lists Endpoints in a given project and location.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints", @@ -391,69 +360,13 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] - }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:setIamPolicy", - "httpMethod": "POST", - "id": "ids.projects.locations.endpoints.setIamPolicy", - "parameterOrder": [ - "resource" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+resource}:setIamPolicy", - "request": { - "$ref": "SetIamPolicyRequest" - }, - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:testIamPermissions", - "httpMethod": "POST", - "id": "ids.projects.locations.endpoints.testIamPermissions", - "parameterOrder": [ - "resource" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+resource}:testIamPermissions", - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] } } }, "operations": { "methods": { "cancel": { - "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "ids.projects.locations.operations.cancel", @@ -579,76 +492,6 @@ } }, "schemas": { - "AuditConfig": { - "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", - "id": "AuditConfig", - "properties": { - "auditLogConfigs": { - "description": "The configuration for logging of each type of permission.", - "items": { - "$ref": "AuditLogConfig" - }, - "type": "array" - }, - "service": { - "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", - "type": "string" - } - }, - "type": "object" - }, - "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", - "id": "AuditLogConfig", - "properties": { - "exemptedMembers": { - "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", - "items": { - "type": "string" - }, - "type": "array" - }, - "logType": { - "description": "The log type that this config enables.", - "enum": [ - "LOG_TYPE_UNSPECIFIED", - "ADMIN_READ", - "DATA_WRITE", - "DATA_READ" - ], - "enumDescriptions": [ - "Default case. Should never be this.", - "Admin reads. Example: CloudIAM getIamPolicy", - "Data writes. Example: CloudSQL Users create", - "Data reads. Example: CloudSQL Users list" - ], - "type": "string" - } - }, - "type": "object" - }, - "Binding": { - "description": "Associates `members`, or principals, with a `role`.", - "id": "Binding", - "properties": { - "condition": { - "$ref": "Expr", - "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." - }, - "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", - "items": { - "type": "string" - }, - "type": "array" - }, - "role": { - "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", - "type": "string" - } - }, - "type": "object" - }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", @@ -770,29 +613,6 @@ }, "type": "object" }, - "Expr": { - "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", - "id": "Expr", - "properties": { - "description": { - "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", - "type": "string" - }, - "expression": { - "description": "Textual representation of an expression in Common Expression Language syntax.", - "type": "string" - }, - "location": { - "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", - "type": "string" - }, - "title": { - "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", - "type": "string" - } - }, - "type": "object" - }, "ListEndpointsResponse": { "id": "ListEndpointsResponse", "properties": { @@ -944,7 +764,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -966,53 +786,6 @@ }, "type": "object" }, - "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", - "id": "Policy", - "properties": { - "auditConfigs": { - "description": "Specifies cloud audit logging configuration for this policy.", - "items": { - "$ref": "AuditConfig" - }, - "type": "array" - }, - "bindings": { - "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", - "items": { - "$ref": "Binding" - }, - "type": "array" - }, - "etag": { - "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", - "format": "byte", - "type": "string" - }, - "version": { - "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "SetIamPolicyRequest": { - "description": "Request message for `SetIamPolicy` method.", - "id": "SetIamPolicyRequest", - "properties": { - "policy": { - "$ref": "Policy", - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." - }, - "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", - "format": "google-fieldmask", - "type": "string" - } - }, - "type": "object" - }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", "id": "Status", @@ -1039,34 +812,6 @@ } }, "type": "object" - }, - "TestIamPermissionsRequest": { - "description": "Request message for `TestIamPermissions` method.", - "id": "TestIamPermissionsRequest", - "properties": { - "permissions": { - "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "TestIamPermissionsResponse": { - "description": "Response message for `TestIamPermissions` method.", - "id": "TestIamPermissionsResponse", - "properties": { - "permissions": { - "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" } } } diff --git a/discovery/googleapis/integrations__v1.json b/discovery/googleapis/integrations__v1.json index 6599babee..93b3fbfe9 100644 --- a/discovery/googleapis/integrations__v1.json +++ b/discovery/googleapis/integrations__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241209", + "revision": "20250302", "rootUrl": "https://integrations.googleapis.com/", "servicePath": "", "title": "Application Integration API", @@ -1094,6 +1094,11 @@ "name" ], "parameters": { + "GCPCloudEventsMode": { + "description": "Optional. LINT: LEGACY_NAMES The query parameter value for __GCP_CloudEventsMode, set by the Eventarc service when configuring triggers.", + "location": "query", + "type": "string" + }, "name": { "description": "Required. The integration resource name. Format: projects/{gcp_project_id}/locations/{location}/integrations/{integration_id}", "location": "path", @@ -2032,6 +2037,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "execute": { + "description": "Executes all test cases in an integration version.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases:execute", + "httpMethod": "POST", + "id": "integrations.projects.locations.integrations.versions.testCases.execute", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource whose test cases are executed. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{integration_version}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/testCases:execute", + "request": { + "$ref": "GoogleCloudIntegrationsV1alphaExecuteTestCasesRequest" + }, + "response": { + "$ref": "GoogleCloudIntegrationsV1alphaExecuteTestCasesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "executeTest": { "description": "Executes functional test", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases/{testCasesId}:executeTest", @@ -2137,64 +2170,6 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, - "listExecutions": { - "description": "Lists the results of all functional test executions. The response includes the same information as the [execution log](https://cloud.google.com/application-integration/docs/viewing-logs) in the Integration UI.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases/{testCasesId}:executions", - "httpMethod": "GET", - "id": "integrations.projects.locations.integrations.versions.testCases.listExecutions", - "parameterOrder": [ - "parent" - ], - "parameters": { - "filter": { - "description": "Optional. Standard filter field, we support filtering on following fields: test_case_id: the ID of the test case. CreateTimestamp: the execution created time. event_execution_state: the state of the executions. execution_id: the id of the execution. trigger_id: the id of the trigger. parameter_type: the type of the parameters involved in the execution. All fields support for EQUALS, in additional: CreateTimestamp support for LESS_THAN, GREATER_THAN ParameterType support for HAS For example: \"parameter_type\" HAS \\\"string\\\" Also supports operators like AND, OR, NOT For example, trigger_id=\\\"id1\\\" AND test_case_id=\\\"testCaseId\\\"", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Optional. The results would be returned in order you specified here. Currently supporting \"last_modified_time\" and \"create_time\".", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Optional. The size of entries in the response.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Optional. The token returned in the previous response.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent resource name of the test case execution.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+/testCases/[^/]+$", - "required": true, - "type": "string" - }, - "readMask": { - "description": "Optional. View mask for the response data. If set, only the field specified will be returned as part of the result. If not set, all fields in event execution info will be filled and returned.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - }, - "truncateParams": { - "deprecated": true, - "description": "Optional. If true, the service will truncate the params to only keep the first 1000 characters of string params and empty the executions in order to make response smaller. Only works for UI and when the params fields are not filtered out.", - "location": "query", - "type": "boolean" - } - }, - "path": "v1/{+parent}:executions", - "response": { - "$ref": "GoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, "patch": { "description": "Updates a test case", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases/{testCasesId}", @@ -8986,7 +8961,8 @@ "SFDC_PLATFORM_EVENTS_CHANNEL", "CLOUD_SCHEDULER", "INTEGRATION_CONNECTOR_TRIGGER", - "PRIVATE_TRIGGER" + "PRIVATE_TRIGGER", + "EVENTARC_TRIGGER" ], "enumDescriptions": [ "", @@ -9003,6 +8979,7 @@ "", "", "", + "", "" ], "type": "string" @@ -9833,6 +9810,17 @@ }, "type": "object" }, + "GoogleCloudConnectorsV1EnrichmentConfig": { + "description": "Data enrichment configuration.", + "id": "GoogleCloudConnectorsV1EnrichmentConfig", + "properties": { + "appendAcl": { + "description": "Optional. Append ACL to the event.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudConnectorsV1EventingConfig": { "description": "Eventing Configuration of a connection", "id": "GoogleCloudConnectorsV1EventingConfig", @@ -9852,6 +9840,10 @@ "$ref": "GoogleCloudConnectorsV1EventingConfigDeadLetterConfig", "description": "Optional. Dead letter configuration for eventing of a connection." }, + "enrichmentConfig": { + "$ref": "GoogleCloudConnectorsV1EnrichmentConfig", + "description": "Optional. Data enrichment configuration." + }, "enrichmentEnabled": { "description": "Optional. Enrichment Enabled.", "type": "boolean" @@ -11219,6 +11211,13 @@ "$ref": "EnterpriseCrmFrontendsEventbusProtoParameterEntry" }, "type": "array" + }, + "parameters": { + "additionalProperties": { + "$ref": "GoogleCloudIntegrationsV1alphaValueType" + }, + "description": "Optional. OUTPUT parameters from integration execution.", + "type": "object" } }, "type": "object" @@ -11277,10 +11276,34 @@ }, "type": "object" }, + "GoogleCloudIntegrationsV1alphaExecuteTestCasesRequest": { + "description": "Request for ExecuteTestCases.", + "id": "GoogleCloudIntegrationsV1alphaExecuteTestCasesRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudIntegrationsV1alphaExecuteTestCasesResponse": { + "description": "Response for ExecuteTestCases.", + "id": "GoogleCloudIntegrationsV1alphaExecuteTestCasesResponse", + "properties": { + "executeTestCaseResponses": { + "description": "Results of each execution of test cases in an integration version.", + "items": { + "$ref": "GoogleCloudIntegrationsV1alphaExecuteTestCaseResponse" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudIntegrationsV1alphaExecution": { "description": "The Execution resource contains detailed information of an individual integration execution.", "id": "GoogleCloudIntegrationsV1alphaExecution", "properties": { + "cloudKmsKey": { + "description": "Optional. Cloud KMS resource name for the CMEK encryption key.", + "type": "string" + }, "cloudLoggingDetails": { "$ref": "GoogleCloudIntegrationsV1alphaCloudLoggingDetails", "description": "Cloud Logging details for the integration version" @@ -11716,11 +11739,7 @@ "id": "GoogleCloudIntegrationsV1alphaImportTemplateRequest", "properties": { "integration": { - "description": "Required. Name of the integration where template needs to be imported.", - "type": "string" - }, - "integrationRegion": { - "description": "Required. The region of the Integration to be created.", + "description": "Required. Resource Name of the integration where template needs to be imported/inserted.", "type": "string" }, "subIntegrations": { @@ -12030,6 +12049,10 @@ "description": "The integration version definition.", "id": "GoogleCloudIntegrationsV1alphaIntegrationVersion", "properties": { + "cloudKmsKey": { + "description": "Optional. Cloud KMS resource name for the CMEK encryption key.", + "type": "string" + }, "cloudLoggingDetails": { "$ref": "GoogleCloudIntegrationsV1alphaCloudLoggingDetails", "description": "Optional. Cloud Logging details for the integration version" @@ -12544,24 +12567,6 @@ }, "type": "object" }, - "GoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse": { - "description": "The response for listing the functional test execution data.", - "id": "GoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse", - "properties": { - "executions": { - "description": "The detailed information of requested executions", - "items": { - "$ref": "GoogleCloudIntegrationsV1alphaExecution" - }, - "type": "array" - }, - "nextPageToken": { - "description": "The token used to retrieve the next page results.", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudIntegrationsV1alphaListTestCasesResponse": { "description": "Response for ListTestCases", "id": "GoogleCloudIntegrationsV1alphaListTestCasesResponse", @@ -13079,9 +13084,35 @@ "description": "Request for replaying an execution.", "id": "GoogleCloudIntegrationsV1alphaReplayExecutionRequest", "properties": { + "modifiedParameters": { + "additionalProperties": { + "$ref": "GoogleCloudIntegrationsV1alphaValueType" + }, + "description": "Optional. The modified input parameters for replay. - Provide values for all the fields in the 'update_mask'. Any field not present in the 'update_mask' will be ignored and its value will be taken from the original execution. - If the 'update_mask' is not specified, all the parameters from original execution will be ignored and only the `modified_parameters` will be used.", + "type": "object" + }, + "replayMode": { + "description": "Optional. The mode of the replay.", + "enum": [ + "REPLAY_MODE_UNSPECIFIED", + "REPLAY_MODE_FROM_BEGINNING", + "REPLAY_MODE_POINT_OF_FAILURE" + ], + "enumDescriptions": [ + "Default value.", + "Replay the original execution.", + "Replay the execution with the modified parameters." + ], + "type": "string" + }, "replayReason": { "description": "Required. The user provided reason for replaying the execution.", "type": "string" + }, + "updateMask": { + "description": "Optional. The list of parameters to be updated. - If the `update_mask` is not specified, all the parameters from original execution will be ignored and only the `modified_parameters` will be used. - It is an error to include a parameter in `update_mask` but not in `modified_parameters`. - Updating nested fields in a JSON parameter is not supported, please provide the complete JSON in the `modified_parameters`.", + "format": "google-fieldmask", + "type": "string" } }, "type": "object" @@ -14244,7 +14275,8 @@ "CLOUD_SCHEDULER", "INTEGRATION_CONNECTOR_TRIGGER", "PRIVATE_TRIGGER", - "CLOUD_PUBSUB" + "CLOUD_PUBSUB", + "EVENTARC_TRIGGER" ], "enumDescriptions": [ "Unknown.", @@ -14256,7 +14288,8 @@ "Trigger by Cloud Scheduler job.", "Trigger by Connector Event", "Trigger for private workflow", - "Trigger by cloud pub/sub for internal ip" + "Trigger by cloud pub/sub for internal ip", + "Trigger by Eventarc" ], "type": "string" } diff --git a/discovery/googleapis/kmsinventory__v1.json b/discovery/googleapis/kmsinventory__v1.json index 1d97fd544..fbf4ae213 100644 --- a/discovery/googleapis/kmsinventory__v1.json +++ b/discovery/googleapis/kmsinventory__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20240630", + "revision": "20250302", "rootUrl": "https://kmsinventory.googleapis.com/", "servicePath": "", "title": "KMS Inventory API", @@ -506,7 +506,9 @@ "HMAC_SHA384", "HMAC_SHA512", "HMAC_SHA224", - "EXTERNAL_SYMMETRIC_ENCRYPTION" + "EXTERNAL_SYMMETRIC_ENCRYPTION", + "PQ_SIGN_ML_DSA_65", + "PQ_SIGN_SLH_DSA_SHA2_128S" ], "enumDescriptions": [ "Not specified.", @@ -544,7 +546,9 @@ "HMAC-SHA384 signing with a 384 bit key.", "HMAC-SHA512 signing with a 512 bit key.", "HMAC-SHA224 signing with a 224 bit key.", - "Algorithm representing symmetric encryption by an external key manager." + "Algorithm representing symmetric encryption by an external key manager.", + "The post-quantum Module-Lattice-Based Digital Signature Algorithm, at security level 3. Randomized version.", + "The post-quantum stateless hash-based digital signature algorithm, at security level 1. Randomized version." ], "readOnly": true, "type": "string" @@ -657,7 +661,7 @@ "This version is still being generated. It may not be used, enabled, disabled, or destroyed yet. Cloud KMS will automatically mark this version ENABLED as soon as the version is ready.", "This version may be used for cryptographic operations.", "This version may not be used, but the key material is still available, and the version can be placed back into the ENABLED state.", - "This version is destroyed, and the key material is no longer stored. This version may only become ENABLED again if this version is reimport_eligible and the original key material is reimported with a call to KeyManagementService.ImportCryptoKeyVersion.", + "This key material of this version is destroyed and no longer stored. This version may only become ENABLED again if this version is reimport_eligible and the original key material is reimported with a call to KeyManagementService.ImportCryptoKeyVersion.", "This version is scheduled for destruction, and will be destroyed soon. Call RestoreCryptoKeyVersion to put it back into the DISABLED state.", "This version is still being imported. It may not be used, enabled, disabled, or destroyed yet. Cloud KMS will automatically mark this version ENABLED as soon as the version is ready.", "This version was not imported successfully. It may not be used, enabled, disabled, or destroyed. The submitted key material has been discarded. Additional details can be found in CryptoKeyVersion.import_failure_reason.", @@ -712,7 +716,9 @@ "HMAC_SHA384", "HMAC_SHA512", "HMAC_SHA224", - "EXTERNAL_SYMMETRIC_ENCRYPTION" + "EXTERNAL_SYMMETRIC_ENCRYPTION", + "PQ_SIGN_ML_DSA_65", + "PQ_SIGN_SLH_DSA_SHA2_128S" ], "enumDescriptions": [ "Not specified.", @@ -750,7 +756,9 @@ "HMAC-SHA384 signing with a 384 bit key.", "HMAC-SHA512 signing with a 512 bit key.", "HMAC-SHA224 signing with a 224 bit key.", - "Algorithm representing symmetric encryption by an external key manager." + "Algorithm representing symmetric encryption by an external key manager.", + "The post-quantum Module-Lattice-Based Digital Signature Algorithm, at security level 3. Randomized version.", + "The post-quantum stateless hash-based digital signature algorithm, at security level 1. Randomized version." ], "type": "string" }, diff --git a/discovery/googleapis/language__v1.json b/discovery/googleapis/language__v1.json index ecfd0d07d..38fc86eda 100644 --- a/discovery/googleapis/language__v1.json +++ b/discovery/googleapis/language__v1.json @@ -28,7 +28,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241103", + "revision": "20250309", "rootUrl": "https://language.googleapis.com/", "servicePath": "", "title": "Cloud Natural Language API", @@ -763,6 +763,8 @@ "A3_HIGHGPU_4G", "A3_HIGHGPU_8G", "A3_MEGAGPU_8G", + "A3_ULTRAGPU_8G", + "A3_EDGEGPU_8G", "E2_STANDARD_2", "E2_STANDARD_4", "E2_STANDARD_8", @@ -1052,6 +1054,8 @@ "", "", "", + "", + "", "" ], "type": "string" @@ -1433,7 +1437,8 @@ "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_V100", - "NVIDIA_H100_80GB" + "NVIDIA_H100_80GB", + "NVIDIA_H200_141GB" ], "enumDescriptions": [ "", @@ -1445,6 +1450,7 @@ "", "", "", + "", "" ], "type": "string" @@ -1488,6 +1494,8 @@ "A3_HIGHGPU_4G", "A3_HIGHGPU_8G", "A3_MEGAGPU_8G", + "A3_ULTRAGPU_8G", + "A3_EDGEGPU_8G", "E2_STANDARD_2", "E2_STANDARD_4", "E2_STANDARD_8", @@ -1777,6 +1785,8 @@ "", "", "", + "", + "", "" ], "type": "string" @@ -1792,7 +1802,7 @@ "type": "object" }, "InfraUsage": { - "description": "Infra Usage of billing metrics.", + "description": "LINT: LEGACY_NAMES Infra Usage of billing metrics.", "id": "InfraUsage", "properties": { "cpuMetrics": { @@ -2172,6 +2182,8 @@ "A3_HIGHGPU_4G", "A3_HIGHGPU_8G", "A3_MEGAGPU_8G", + "A3_ULTRAGPU_8G", + "A3_EDGEGPU_8G", "E2_STANDARD_2", "E2_STANDARD_4", "E2_STANDARD_8", @@ -2461,6 +2473,8 @@ "", "", "", + "", + "", "" ], "type": "string" @@ -3642,6 +3656,7 @@ "NVIDIA_L4", "NVIDIA_H100_80GB", "NVIDIA_H100_MEGA_80GB", + "NVIDIA_H200_141GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", @@ -3659,6 +3674,7 @@ "Nvidia L4 GPU.", "Nvidia H100 80Gb GPU.", "Nvidia H100 80Gb GPU.", + "Nvidia H200 141Gb GPU.", "TPU v2 (JellyFish).", "TPU v3 (DragonFish).", "TPU_v4 (PufferFish).", diff --git a/discovery/googleapis/language__v2.json b/discovery/googleapis/language__v2.json index f8ef38386..026d0bf4a 100644 --- a/discovery/googleapis/language__v2.json +++ b/discovery/googleapis/language__v2.json @@ -28,7 +28,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241110", + "revision": "20250309", "rootUrl": "https://language.googleapis.com/", "servicePath": "", "title": "Cloud Natural Language API", @@ -588,6 +588,8 @@ "A3_HIGHGPU_4G", "A3_HIGHGPU_8G", "A3_MEGAGPU_8G", + "A3_ULTRAGPU_8G", + "A3_EDGEGPU_8G", "E2_STANDARD_2", "E2_STANDARD_4", "E2_STANDARD_8", @@ -877,6 +879,8 @@ "", "", "", + "", + "", "" ], "type": "string" @@ -1072,7 +1076,8 @@ "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_V100", - "NVIDIA_H100_80GB" + "NVIDIA_H100_80GB", + "NVIDIA_H200_141GB" ], "enumDescriptions": [ "", @@ -1084,6 +1089,7 @@ "", "", "", + "", "" ], "type": "string" @@ -1127,6 +1133,8 @@ "A3_HIGHGPU_4G", "A3_HIGHGPU_8G", "A3_MEGAGPU_8G", + "A3_ULTRAGPU_8G", + "A3_EDGEGPU_8G", "E2_STANDARD_2", "E2_STANDARD_4", "E2_STANDARD_8", @@ -1416,6 +1424,8 @@ "", "", "", + "", + "", "" ], "type": "string" @@ -1431,7 +1441,7 @@ "type": "object" }, "InfraUsage": { - "description": "Infra Usage of billing metrics.", + "description": "LINT: LEGACY_NAMES Infra Usage of billing metrics.", "id": "InfraUsage", "properties": { "cpuMetrics": { @@ -1566,6 +1576,8 @@ "A3_HIGHGPU_4G", "A3_HIGHGPU_8G", "A3_MEGAGPU_8G", + "A3_ULTRAGPU_8G", + "A3_EDGEGPU_8G", "E2_STANDARD_2", "E2_STANDARD_4", "E2_STANDARD_8", @@ -1855,6 +1867,8 @@ "", "", "", + "", + "", "" ], "type": "string" @@ -3013,6 +3027,7 @@ "NVIDIA_L4", "NVIDIA_H100_80GB", "NVIDIA_H100_MEGA_80GB", + "NVIDIA_H200_141GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", @@ -3030,6 +3045,7 @@ "Nvidia L4 GPU.", "Nvidia H100 80Gb GPU.", "Nvidia H100 80Gb GPU.", + "Nvidia H200 141Gb GPU.", "TPU v2 (JellyFish).", "TPU v3 (DragonFish).", "TPU_v4 (PufferFish).", diff --git a/discovery/googleapis/logging__v2.json b/discovery/googleapis/logging__v2.json index 5753dcffe..2b16991ae 100644 --- a/discovery/googleapis/logging__v2.json +++ b/discovery/googleapis/logging__v2.json @@ -119,7 +119,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241018", + "revision": "20250207", "rootUrl": "https://logging.googleapis.com/", "servicePath": "", "title": "Cloud Logging API", @@ -914,7 +914,7 @@ "type": "string" }, "viewId": { - "description": "Required. A client-assigned identifier such as \"my-view\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods.", + "description": "Required. A client-assigned identifier such as \"my-view\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, and hyphens.", "location": "query", "type": "string" } @@ -2719,7 +2719,7 @@ "type": "string" }, "viewId": { - "description": "Required. A client-assigned identifier such as \"my-view\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods.", + "description": "Required. A client-assigned identifier such as \"my-view\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, and hyphens.", "location": "query", "type": "string" } @@ -4300,7 +4300,7 @@ "type": "string" }, "viewId": { - "description": "Required. A client-assigned identifier such as \"my-view\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods.", + "description": "Required. A client-assigned identifier such as \"my-view\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, and hyphens.", "location": "query", "type": "string" } @@ -5537,7 +5537,7 @@ "type": "string" }, "viewId": { - "description": "Required. A client-assigned identifier such as \"my-view\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods.", + "description": "Required. A client-assigned identifier such as \"my-view\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, and hyphens.", "location": "query", "type": "string" } @@ -7339,7 +7339,7 @@ "type": "string" }, "viewId": { - "description": "Required. A client-assigned identifier such as \"my-view\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods.", + "description": "Required. A client-assigned identifier such as \"my-view\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, and hyphens.", "location": "query", "type": "string" } @@ -8906,54 +8906,6 @@ } }, "schemas": { - "AuditConfig": { - "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs.If there are AuditConfigs for both allServices and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted.Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", - "id": "AuditConfig", - "properties": { - "auditLogConfigs": { - "description": "The configuration for logging of each type of permission.", - "items": { - "$ref": "AuditLogConfig" - }, - "type": "array" - }, - "service": { - "description": "Specifies a service that will be enabled for audit logging. For example, storage.googleapis.com, cloudsql.googleapis.com. allServices is a special value that covers all services.", - "type": "string" - } - }, - "type": "object" - }, - "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", - "id": "AuditLogConfig", - "properties": { - "exemptedMembers": { - "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", - "items": { - "type": "string" - }, - "type": "array" - }, - "logType": { - "description": "The log type that this config enables.", - "enum": [ - "LOG_TYPE_UNSPECIFIED", - "ADMIN_READ", - "DATA_WRITE", - "DATA_READ" - ], - "enumDescriptions": [ - "Default case. Should never be this.", - "Admin reads. Example: CloudIAM getIamPolicy", - "Data writes. Example: CloudSQL Users create", - "Data reads. Example: CloudSQL Users list" - ], - "type": "string" - } - }, - "type": "object" - }, "BigQueryDataset": { "description": "Describes a BigQuery dataset that was created by a link.", "id": "BigQueryDataset", @@ -9182,7 +9134,7 @@ "id": "CopyLogEntriesRequest", "properties": { "destination": { - "description": "Required. Destination to which to copy log entries.", + "description": "Required. Destination to which to copy log entries. For example: \"storage.googleapis.com/GCS_BUCKET\"", "type": "string" }, "filter": { @@ -10908,13 +10860,6 @@ "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members, or principals, to a single role. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { - "auditConfigs": { - "description": "Specifies cloud audit logging configuration for this policy.", - "items": { - "$ref": "AuditConfig" - }, - "type": "array" - }, "bindings": { "description": "Associates a list of members, or principals, with a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one principal.The bindings in a Policy can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the bindings grant 50 different roles to user:alice@example.com, and not to any other principal, then you can add another 1,450 principals to the bindings in the Policy.", "items": { diff --git a/discovery/googleapis/looker__v1.json b/discovery/googleapis/looker__v1.json index 1bd30a2d8..53fb8c5bc 100644 --- a/discovery/googleapis/looker__v1.json +++ b/discovery/googleapis/looker__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241204", + "revision": "20250205", "rootUrl": "https://looker.googleapis.com/", "servicePath": "", "title": "Looker (Google Cloud core) API", @@ -299,37 +299,6 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, - "getIamPolicy": { - "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:getIamPolicy", - "httpMethod": "GET", - "id": "looker.projects.locations.instances.getIamPolicy", - "parameterOrder": [ - "resource" - ], - "parameters": { - "options.requestedPolicyVersion": { - "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "format": "int32", - "location": "query", - "type": "integer" - }, - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+resource}:getIamPolicy", - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, "import": { "description": "Import instance.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:import", @@ -456,57 +425,29 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:setIamPolicy", + "restore": { + "description": "Restore Looker instance.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:restore", "httpMethod": "POST", - "id": "looker.projects.locations.instances.setIamPolicy", + "id": "looker.projects.locations.instances.restore", "parameterOrder": [ - "resource" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+resource}:setIamPolicy", - "request": { - "$ref": "SetIamPolicyRequest" - }, - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:testIamPermissions", - "httpMethod": "POST", - "id": "looker.projects.locations.instances.testIamPermissions", - "parameterOrder": [ - "resource" + "name" ], "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "name": { + "description": "Required. Instance being restored Format: projects/{project}/locations/{location}/instances/{instance}", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", "required": true, "type": "string" } }, - "path": "v1/{+resource}:testIamPermissions", + "path": "v1/{+name}:restore", "request": { - "$ref": "TestIamPermissionsRequest" + "$ref": "RestoreInstanceRequest" }, "response": { - "$ref": "TestIamPermissionsResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -516,88 +457,120 @@ "resources": { "backups": { "methods": { - "getIamPolicy": { - "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/backups/{backupsId}:getIamPolicy", - "httpMethod": "GET", - "id": "looker.projects.locations.instances.backups.getIamPolicy", + "create": { + "description": "Backup Looker instance.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/backups", + "httpMethod": "POST", + "id": "looker.projects.locations.instances.backups.create", "parameterOrder": [ - "resource" + "parent" ], "parameters": { - "options.requestedPolicyVersion": { - "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "format": "int32", - "location": "query", - "type": "integer" - }, - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "parent": { + "description": "Required. Format: projects/{project}/locations/{location}/instances/{instance}", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+/backups/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", "required": true, "type": "string" } }, - "path": "v1/{+resource}:getIamPolicy", + "path": "v1/{+parent}/backups", + "request": { + "$ref": "InstanceBackup" + }, "response": { - "$ref": "Policy" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/backups/{backupsId}:setIamPolicy", - "httpMethod": "POST", - "id": "looker.projects.locations.instances.backups.setIamPolicy", + "delete": { + "description": "Delete backup.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/backups/{backupsId}", + "httpMethod": "DELETE", + "id": "looker.projects.locations.instances.backups.delete", "parameterOrder": [ - "resource" + "name" ], "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "name": { + "description": "Required. Format: projects/{project}/locations/{location}/instances/{instance}/backups/{backup}", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+/backups/[^/]+$", "required": true, "type": "string" } }, - "path": "v1/{+resource}:setIamPolicy", - "request": { - "$ref": "SetIamPolicyRequest" - }, + "path": "v1/{+name}", "response": { - "$ref": "Policy" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/backups/{backupsId}:testIamPermissions", - "httpMethod": "POST", - "id": "looker.projects.locations.instances.backups.testIamPermissions", + "get": { + "description": "", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/backups/{backupsId}", + "httpMethod": "GET", + "id": "looker.projects.locations.instances.backups.get", "parameterOrder": [ - "resource" + "name" ], "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "name": { + "description": "Required. Format: `projects/{project}/locations/{location}/instances/{instance}/backups/{backup}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+/backups/[^/]+$", "required": true, "type": "string" } }, - "path": "v1/{+resource}:testIamPermissions", - "request": { - "$ref": "TestIamPermissionsRequest" + "path": "v1/{+name}", + "response": { + "$ref": "InstanceBackup" }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List backups of Looker instance.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/backups", + "httpMethod": "GET", + "id": "looker.projects.locations.instances.backups.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "orderBy": { + "description": "Sort results. Default order is \"create_time desc\". Other supported fields are \"state\" and \"expire_time\". https://google.aip.dev/132#ordering", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of instances to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from a previous ListInstances request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Format: projects/{project}/locations/{location}/instances/{instance}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/backups", "response": { - "$ref": "TestIamPermissionsResponse" + "$ref": "ListInstanceBackupsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -750,76 +723,6 @@ }, "type": "object" }, - "AuditConfig": { - "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", - "id": "AuditConfig", - "properties": { - "auditLogConfigs": { - "description": "The configuration for logging of each type of permission.", - "items": { - "$ref": "AuditLogConfig" - }, - "type": "array" - }, - "service": { - "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", - "type": "string" - } - }, - "type": "object" - }, - "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", - "id": "AuditLogConfig", - "properties": { - "exemptedMembers": { - "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", - "items": { - "type": "string" - }, - "type": "array" - }, - "logType": { - "description": "The log type that this config enables.", - "enum": [ - "LOG_TYPE_UNSPECIFIED", - "ADMIN_READ", - "DATA_WRITE", - "DATA_READ" - ], - "enumDescriptions": [ - "Default case. Should never be this.", - "Admin reads. Example: CloudIAM getIamPolicy", - "Data writes. Example: CloudSQL Users create", - "Data reads. Example: CloudSQL Users list" - ], - "type": "string" - } - }, - "type": "object" - }, - "Binding": { - "description": "Associates `members`, or principals, with a `role`.", - "id": "Binding", - "properties": { - "condition": { - "$ref": "Expr", - "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." - }, - "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", - "items": { - "type": "string" - }, - "type": "array" - }, - "role": { - "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", - "type": "string" - } - }, - "type": "object" - }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", @@ -1026,29 +929,6 @@ }, "type": "object" }, - "Expr": { - "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", - "id": "Expr", - "properties": { - "description": { - "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", - "type": "string" - }, - "expression": { - "description": "Textual representation of an expression in Common Expression Language syntax.", - "type": "string" - }, - "location": { - "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", - "type": "string" - }, - "title": { - "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", - "type": "string" - } - }, - "type": "object" - }, "ImportInstanceRequest": { "description": "Requestion options for importing looker data to an Instance", "id": "ImportInstanceRequest", @@ -1079,7 +959,8 @@ "type": "string" }, "customDomain": { - "$ref": "CustomDomain" + "$ref": "CustomDomain", + "description": "Custom domain configuration for the instance." }, "denyMaintenancePeriod": { "$ref": "DenyMaintenancePeriod", @@ -1195,6 +1076,16 @@ "description": "Name of a reserved IP address range within the Instance.consumer_network, to be used for private services access connection. May or may not be specified in a create request.", "type": "string" }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, "state": { "description": "Output only. The state of the instance.", "enum": [ @@ -1235,6 +1126,78 @@ }, "type": "object" }, + "InstanceBackup": { + "description": "The details of a backup resource.", + "id": "InstanceBackup", + "properties": { + "createTime": { + "description": "Output only. The time when the backup was started.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "encryptionConfig": { + "$ref": "EncryptionConfig", + "description": "Output only. Current status of the CMEK encryption", + "readOnly": true + }, + "expireTime": { + "description": "Output only. The time when the backup will be deleted.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Immutable. The relative resource name of the backup, in the following form: `projects/{project_number}/locations/{location_id}/instances/{instance_id}/backups/{backup}`", + "type": "string" + }, + "state": { + "description": "Output only. The current state of the backup.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "DELETING", + "ACTIVE", + "FAILED" + ], + "enumDescriptions": [ + "The state of the backup is unknown.", + "The backup is being created.", + "The backup is being deleted.", + "The backup is active and ready to use.", + "The backup failed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ListInstanceBackupsResponse": { + "description": "Response from listing Looker instance backups.", + "id": "ListInstanceBackupsResponse", + "properties": { + "instanceBackups": { + "description": "The list of instances matching the request filters, up to the requested `page_size`.", + "items": { + "$ref": "InstanceBackup" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If provided, a page token that can look up the next `page_size` results. If empty, the results list is exhausted.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListInstancesResponse": { "description": "Response from ListInstances.", "id": "ListInstancesResponse", @@ -1469,37 +1432,6 @@ }, "type": "object" }, - "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", - "id": "Policy", - "properties": { - "auditConfigs": { - "description": "Specifies cloud audit logging configuration for this policy.", - "items": { - "$ref": "AuditConfig" - }, - "type": "array" - }, - "bindings": { - "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", - "items": { - "$ref": "Binding" - }, - "type": "array" - }, - "etag": { - "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", - "format": "byte", - "type": "string" - }, - "version": { - "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, "PscConfig": { "description": "Information for Private Service Connect (PSC) setup for a Looker instance.", "id": "PscConfig", @@ -1532,6 +1464,17 @@ "properties": {}, "type": "object" }, + "RestoreInstanceRequest": { + "description": "Request options for restoring an instance", + "id": "RestoreInstanceRequest", + "properties": { + "backup": { + "description": "Required. Backup being used to restore the instance Format: projects/{project}/locations/{location}/instances/{instance}/backups/{backup}", + "type": "string" + } + }, + "type": "object" + }, "ServiceAttachment": { "description": "Service attachment configuration.", "id": "ServiceAttachment", @@ -1568,22 +1511,6 @@ }, "type": "object" }, - "SetIamPolicyRequest": { - "description": "Request message for `SetIamPolicy` method.", - "id": "SetIamPolicyRequest", - "properties": { - "policy": { - "$ref": "Policy", - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." - }, - "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", - "format": "google-fieldmask", - "type": "string" - } - }, - "type": "object" - }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", "id": "Status", @@ -1611,34 +1538,6 @@ }, "type": "object" }, - "TestIamPermissionsRequest": { - "description": "Request message for `TestIamPermissions` method.", - "id": "TestIamPermissionsRequest", - "properties": { - "permissions": { - "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "TestIamPermissionsResponse": { - "description": "Response message for `TestIamPermissions` method.", - "id": "TestIamPermissionsResponse", - "properties": { - "permissions": { - "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "TimeOfDay": { "description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.", "id": "TimeOfDay", diff --git a/discovery/googleapis/managedidentities__v1.json b/discovery/googleapis/managedidentities__v1.json index 00ad453c7..4783805a9 100644 --- a/discovery/googleapis/managedidentities__v1.json +++ b/discovery/googleapis/managedidentities__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20240530", + "revision": "20250116", "rootUrl": "https://managedidentities.googleapis.com/", "servicePath": "", "title": "Managed Service for Microsoft Active Directory API", @@ -1138,7 +1138,7 @@ "operations": { "methods": { "cancel": { - "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/global/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "managedidentities.projects.locations.global.operations.cancel", @@ -2722,7 +2722,7 @@ "type": "string" }, "cancelRequested": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -3044,22 +3044,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/discovery/googleapis/meet__v2.json b/discovery/googleapis/meet__v2.json index e9638d4f6..0ba7cf57a 100644 --- a/discovery/googleapis/meet__v2.json +++ b/discovery/googleapis/meet__v2.json @@ -7,6 +7,9 @@ }, "https://www.googleapis.com/auth/meetings.space.readonly": { "description": "Read information about any of your Google Meet conferences" + }, + "https://www.googleapis.com/auth/meetings.space.settings": { + "description": "Edit, and see settings for all of your Google Meet calls." } } } @@ -28,7 +31,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20240808", + "revision": "20250127", "rootUrl": "https://meet.googleapis.com/", "servicePath": "", "title": "Google Meet API", @@ -597,7 +600,8 @@ }, "scopes": [ "https://www.googleapis.com/auth/meetings.space.created", - "https://www.googleapis.com/auth/meetings.space.readonly" + "https://www.googleapis.com/auth/meetings.space.readonly", + "https://www.googleapis.com/auth/meetings.space.settings" ] }, "patch": { @@ -631,7 +635,8 @@ "$ref": "Space" }, "scopes": [ - "https://www.googleapis.com/auth/meetings.space.created" + "https://www.googleapis.com/auth/meetings.space.created", + "https://www.googleapis.com/auth/meetings.space.settings" ] } } diff --git a/discovery/googleapis/memcache__v1.json b/discovery/googleapis/memcache__v1.json index 4670216e5..d0cd6ed9c 100644 --- a/discovery/googleapis/memcache__v1.json +++ b/discovery/googleapis/memcache__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241010", + "revision": "20250206", "rootUrl": "https://memcache.googleapis.com/", "servicePath": "", "title": "Cloud Memorystore for Memcached API", @@ -463,7 +463,7 @@ "operations": { "methods": { "cancel": { - "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "memcache.projects.locations.operations.cancel", @@ -607,85 +607,12 @@ }, "type": "object" }, - "AssetLocation": { - "description": "Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf.", - "id": "AssetLocation", - "properties": { - "ccfeRmsPath": { - "description": "Spanner path of the CCFE RMS database. It is only applicable for CCFE tenants that use CCFE RMS for storing resource metadata.", - "type": "string" - }, - "expected": { - "$ref": "IsolationExpectations", - "description": "Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation." - }, - "extraParameters": { - "description": "Defines extra parameters required for specific asset types.", - "items": { - "$ref": "ExtraParameter" - }, - "type": "array" - }, - "locationData": { - "description": "Contains all kinds of physical location definitions for this asset.", - "items": { - "$ref": "LocationData" - }, - "type": "array" - }, - "parentAsset": { - "description": "Defines parents assets if any in order to allow later generation of child_asset_location data via child assets.", - "items": { - "$ref": "CloudAsset" - }, - "type": "array" - } - }, - "type": "object" - }, - "BlobstoreLocation": { - "description": "Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains", - "id": "BlobstoreLocation", - "properties": { - "policyId": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", "properties": {}, "type": "object" }, - "CloudAsset": { - "id": "CloudAsset", - "properties": { - "assetName": { - "type": "string" - }, - "assetType": { - "type": "string" - } - }, - "type": "object" - }, - "CloudAssetComposition": { - "id": "CloudAssetComposition", - "properties": { - "childAsset": { - "items": { - "$ref": "CloudAsset" - }, - "type": "array" - } - }, - "type": "object" - }, "DailyCycle": { "description": "Time window specified for daily operations.", "id": "DailyCycle", @@ -743,35 +670,12 @@ }, "type": "object" }, - "DirectLocationAssignment": { - "id": "DirectLocationAssignment", - "properties": { - "location": { - "items": { - "$ref": "LocationAssignment" - }, - "type": "array" - } - }, - "type": "object" - }, "Empty": { "description": "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); }", "id": "Empty", "properties": {}, "type": "object" }, - "ExtraParameter": { - "description": "Defines parameters that should only be used for specific asset types.", - "id": "ExtraParameter", - "properties": { - "regionalMigDistributionPolicy": { - "$ref": "RegionalMigDistributionPolicy", - "description": "Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances." - } - }, - "type": "object" - }, "GoogleCloudMemcacheV1LocationMetadata": { "description": "Metadata for the given google.cloud.location.Location.", "id": "GoogleCloudMemcacheV1LocationMetadata", @@ -1330,131 +1234,6 @@ }, "type": "object" }, - "IsolationExpectations": { - "id": "IsolationExpectations", - "properties": { - "requirementOverride": { - "$ref": "RequirementOverride", - "description": "Explicit overrides for ZI and ZS requirements to be used for resources that should be excluded from ZI/ZS verification logic." - }, - "ziOrgPolicy": { - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "ziRegionPolicy": { - "enum": [ - "ZI_REGION_POLICY_UNSPECIFIED", - "ZI_REGION_POLICY_UNKNOWN", - "ZI_REGION_POLICY_NOT_SET", - "ZI_REGION_POLICY_FAIL_OPEN", - "ZI_REGION_POLICY_FAIL_CLOSED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "ziRegionState": { - "enum": [ - "ZI_REGION_UNSPECIFIED", - "ZI_REGION_UNKNOWN", - "ZI_REGION_NOT_ENABLED", - "ZI_REGION_ENABLED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zoneIsolation": { - "deprecated": true, - "description": "Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location.", - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "zoneSeparation": { - "deprecated": true, - "description": "Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location.", - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zsOrgPolicy": { - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zsRegionState": { - "enum": [ - "ZS_REGION_UNSPECIFIED", - "ZS_REGION_UNKNOWN", - "ZS_REGION_NOT_ENABLED", - "ZS_REGION_ENABLED" - ], - "enumDescriptions": [ - "", - "To be used if tracking of the asset ZS-bit is not available", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, "ListInstancesResponse": { "description": "Response for ListInstances.", "id": "ListInstancesResponse", @@ -1550,64 +1329,6 @@ }, "type": "object" }, - "LocationAssignment": { - "id": "LocationAssignment", - "properties": { - "location": { - "type": "string" - }, - "locationType": { - "enum": [ - "UNSPECIFIED", - "CLUSTER", - "POP", - "CLOUD_ZONE", - "CLOUD_REGION", - "MULTI_REGION_GEO", - "MULTI_REGION_JURISDICTION", - "GLOBAL", - "OTHER" - ], - "enumDescriptions": [ - "", - "1-10: Physical failure domains.", - "", - "11-20: Logical failure domains.", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "LocationData": { - "id": "LocationData", - "properties": { - "blobstoreLocation": { - "$ref": "BlobstoreLocation" - }, - "childAssetLocation": { - "$ref": "CloudAssetComposition" - }, - "directLocation": { - "$ref": "DirectLocationAssignment" - }, - "gcpProjectProxy": { - "$ref": "TenantProjectProxy" - }, - "placerLocation": { - "$ref": "PlacerLocation" - }, - "spannerLocation": { - "$ref": "SpannerLocation" - } - }, - "type": "object" - }, "LocationMetadata": { "description": "Metadata for the given google.cloud.location.Location.", "id": "LocationMetadata", @@ -1897,74 +1618,6 @@ }, "type": "object" }, - "PlacerLocation": { - "description": "Message describing that the location of the customer resource is tied to placer allocations", - "id": "PlacerLocation", - "properties": { - "placerConfig": { - "description": "Directory with a config related to it in placer (e.g. \"/placer/prod/home/my-root/my-dir\")", - "type": "string" - } - }, - "type": "object" - }, - "RegionalMigDistributionPolicy": { - "description": "To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances", - "id": "RegionalMigDistributionPolicy", - "properties": { - "targetShape": { - "description": "The shape in which the group converges around distribution of resources. Instance of proto2 enum", - "format": "int32", - "type": "integer" - }, - "zones": { - "description": "Cloud zones used by regional MIG to create instances.", - "items": { - "$ref": "ZoneConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "RequirementOverride": { - "id": "RequirementOverride", - "properties": { - "ziOverride": { - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "zsOverride": { - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, "RescheduleMaintenanceRequest": { "description": "Request for RescheduleMaintenance.", "id": "RescheduleMaintenanceRequest", @@ -2033,26 +1686,6 @@ }, "type": "object" }, - "SpannerLocation": { - "id": "SpannerLocation", - "properties": { - "backupName": { - "description": "Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata", - "items": { - "type": "string" - }, - "type": "array" - }, - "dbName": { - "description": "Set of databases used by the resource in format /span//", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", "id": "Status", @@ -2080,18 +1713,6 @@ }, "type": "object" }, - "TenantProjectProxy": { - "id": "TenantProjectProxy", - "properties": { - "projectNumbers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "TimeOfDay": { "description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.", "id": "TimeOfDay", @@ -2227,15 +1848,6 @@ }, "type": "object" }, - "ZoneConfiguration": { - "id": "ZoneConfiguration", - "properties": { - "zone": { - "type": "string" - } - }, - "type": "object" - }, "ZoneMetadata": { "id": "ZoneMetadata", "properties": {}, diff --git a/discovery/googleapis/metastore__v1.json b/discovery/googleapis/metastore__v1.json index b39a8e620..c714987d5 100644 --- a/discovery/googleapis/metastore__v1.json +++ b/discovery/googleapis/metastore__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241203", + "revision": "20250227", "rootUrl": "https://metastore.googleapis.com/", "servicePath": "", "title": "Dataproc Metastore API", @@ -923,7 +923,7 @@ ], "parameters": { "name": { - "description": "Immutable. The relative resource name of the metastore service, in the following format:projects/{project_number}/locations/{location_id}/services/{service_id}.", + "description": "Immutable. Identifier. The relative resource name of the metastore service, in the following format:projects/{project_number}/locations/{location_id}/services/{service_id}.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", "required": true, @@ -1545,7 +1545,7 @@ ], "parameters": { "name": { - "description": "Immutable. The relative resource name of the metadata import, of the form:projects/{project_number}/locations/{location_id}/services/{service_id}/metadataImports/{metadata_import_id}.", + "description": "Immutable. Identifier. The relative resource name of the metadata import, of the form:projects/{project_number}/locations/{location_id}/services/{service_id}/metadataImports/{metadata_import_id}.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/metadataImports/[^/]+$", "required": true, @@ -1810,7 +1810,7 @@ "additionalProperties": { "type": "string" }, - "description": "A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence.", + "description": "Optional. A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence.", "type": "object" }, "networkConfig": { @@ -1819,7 +1819,7 @@ "readOnly": true }, "version": { - "description": "The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version.", + "description": "Optional. The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version.", "type": "string" } }, @@ -1861,7 +1861,7 @@ "type": "string" }, "description": { - "description": "The description of the backup.", + "description": "Optional. The description of the backup.", "type": "string" }, "endTime": { @@ -1871,7 +1871,7 @@ "type": "string" }, "name": { - "description": "Immutable. The relative resource name of the backup, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/backups/{backup_id}", + "description": "Immutable. Identifier. The relative resource name of the backup, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/backups/{backup_id}", "type": "string" }, "restoringServices": { @@ -2116,12 +2116,12 @@ "type": "string" }, "gcsUri": { - "description": "A Cloud Storage object or folder URI that specifies the source from which to import metadata. It must begin with gs://.", + "description": "Optional. A Cloud Storage object or folder URI that specifies the source from which to import metadata. It must begin with gs://.", "type": "string" }, "sourceDatabase": { "deprecated": true, - "description": "The name of the source database.", + "description": "Optional. The name of the source database.", "type": "string" }, "type": { @@ -2152,7 +2152,7 @@ "id": "EncryptionConfig", "properties": { "kmsKey": { - "description": "The fully qualified customer provided Cloud KMS key name to use for customer data encryption, in the following format:projects/{project_number}/locations/{location_id}/keyRings/{key_ring_id}/cryptoKeys/{crypto_key_id}.", + "description": "Optional. The fully qualified customer provided Cloud KMS key name to use for customer data encryption, in the following format:projects/{project_number}/locations/{location_id}/keyRings/{key_ring_id}/cryptoKeys/{crypto_key_id}.", "type": "string" } }, @@ -2309,18 +2309,18 @@ "additionalProperties": { "$ref": "AuxiliaryVersionConfig" }, - "description": "A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.", + "description": "Optional. A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.", "type": "object" }, "configOverrides": { "additionalProperties": { "type": "string" }, - "description": "A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig.", + "description": "Optional. A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig.", "type": "object" }, "endpointProtocol": { - "description": "The protocol to use for the metastore service endpoint. If unspecified, defaults to THRIFT.", + "description": "Optional. The protocol to use for the metastore service endpoint. If unspecified, defaults to THRIFT.", "enum": [ "ENDPOINT_PROTOCOL_UNSPECIFIED", "THRIFT", @@ -2335,7 +2335,7 @@ }, "kerberosConfig": { "$ref": "KerberosConfig", - "description": "Information used to configure the Hive metastore service as a service principal in a Kerberos realm. To disable Kerberos, use the UpdateService method and specify this field's path (hive_metastore_config.kerberos_config) in the request's update_mask while omitting this field from the request's service." + "description": "Optional. Information used to configure the Hive metastore service as a service principal in a Kerberos realm. To disable Kerberos, use the UpdateService method and specify this field's path (hive_metastore_config.kerberos_config) in the request's update_mask while omitting this field from the request's service." }, "version": { "description": "Immutable. The Hive metastore schema version.", @@ -2365,14 +2365,14 @@ "properties": { "keytab": { "$ref": "Secret", - "description": "A Kerberos keytab file that can be used to authenticate a service principal with a Kerberos Key Distribution Center (KDC)." + "description": "Optional. A Kerberos keytab file that can be used to authenticate a service principal with a Kerberos Key Distribution Center (KDC)." }, "krb5ConfigGcsUri": { - "description": "A Cloud Storage URI that specifies the path to a krb5.conf file. It is of the form gs://{bucket_name}/path/to/krb5.conf, although the file does not need to be named krb5.conf explicitly.", + "description": "Optional. A Cloud Storage URI that specifies the path to a krb5.conf file. It is of the form gs://{bucket_name}/path/to/krb5.conf, although the file does not need to be named krb5.conf explicitly.", "type": "string" }, "principal": { - "description": "A Kerberos principal that exists in the both the keytab the KDC to authenticate as. A typical principal is of the form primary/instance@REALM, but there is no exact format.", + "description": "Optional. A Kerberos principal that exists in the both the keytab the KDC to authenticate as. A typical principal is of the form primary/instance@REALM, but there is no exact format.", "type": "string" } }, @@ -2661,7 +2661,7 @@ "id": "MaintenanceWindow", "properties": { "dayOfWeek": { - "description": "The day of week, when the window starts.", + "description": "Optional. The day of week, when the window starts.", "enum": [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", @@ -2685,7 +2685,7 @@ "type": "string" }, "hourOfDay": { - "description": "The hour of day (0-23) when the window starts.", + "description": "Optional. The hour of day (0-23) when the window starts.", "format": "int32", "type": "integer" } @@ -2765,7 +2765,7 @@ "description": "Immutable. A database dump from a pre-existing metastore's database." }, "description": { - "description": "The description of the metadata import.", + "description": "Optional. The description of the metadata import.", "type": "string" }, "endTime": { @@ -2775,7 +2775,7 @@ "type": "string" }, "name": { - "description": "Immutable. The relative resource name of the metadata import, of the form:projects/{project_number}/locations/{location_id}/services/{service_id}/metadataImports/{metadata_import_id}.", + "description": "Immutable. Identifier. The relative resource name of the metadata import, of the form:projects/{project_number}/locations/{location_id}/services/{service_id}/metadataImports/{metadata_import_id}.", "type": "string" }, "state": { @@ -2950,6 +2950,14 @@ "type": "string" }, "type": "array" + }, + "continent": { + "description": "The continent for this multi-region.", + "type": "string" + }, + "witnessRegion": { + "description": "The Spanner witness region for this multi-region.", + "type": "string" } }, "type": "object" @@ -3275,7 +3283,7 @@ "id": "Secret", "properties": { "cloudSecret": { - "description": "The relative resource name of a Secret Manager secret version, in the following form:projects/{project_number}/secrets/{secret_id}/versions/{version_id}.", + "description": "Optional. The relative resource name of a Secret Manager secret version, in the following form:projects/{project_number}/secrets/{secret_id}/versions/{version_id}.", "type": "string" } }, @@ -3336,7 +3344,7 @@ }, "maintenanceWindow": { "$ref": "MaintenanceWindow", - "description": "The one hour maintenance window of the metastore service. This specifies when the service can be restarted for maintenance purposes in UTC time. Maintenance window is not needed for services with the SPANNER database type." + "description": "Optional. The one hour maintenance window of the metastore service. This specifies when the service can be restarted for maintenance purposes in UTC time. Maintenance window is not needed for services with the SPANNER database type." }, "metadataIntegration": { "$ref": "MetadataIntegration", @@ -3348,7 +3356,7 @@ "readOnly": true }, "name": { - "description": "Immutable. The relative resource name of the metastore service, in the following format:projects/{project_number}/locations/{location_id}/services/{service_id}.", + "description": "Immutable. Identifier. The relative resource name of the metastore service, in the following format:projects/{project_number}/locations/{location_id}/services/{service_id}.", "type": "string" }, "network": { @@ -3357,10 +3365,10 @@ }, "networkConfig": { "$ref": "NetworkConfig", - "description": "The configuration specifying the network settings for the Dataproc Metastore service." + "description": "Optional. The configuration specifying the network settings for the Dataproc Metastore service." }, "port": { - "description": "The TCP port at which the metastore service is reached. Default: 9083.", + "description": "Optional. The TCP port at which the metastore service is reached. Default: 9083.", "format": "int32", "type": "integer" }, @@ -3380,7 +3388,7 @@ }, "scalingConfig": { "$ref": "ScalingConfig", - "description": "Scaling configuration of the metastore service." + "description": "Optional. Scaling configuration of the metastore service." }, "scheduledBackup": { "$ref": "ScheduledBackup", @@ -3422,10 +3430,10 @@ }, "telemetryConfig": { "$ref": "TelemetryConfig", - "description": "The configuration specifying telemetry settings for the Dataproc Metastore service. If unspecified defaults to JSON." + "description": "Optional. The configuration specifying telemetry settings for the Dataproc Metastore service. If unspecified defaults to JSON." }, "tier": { - "description": "The tier of the service.", + "description": "Optional. The tier of the service.", "enum": [ "TIER_UNSPECIFIED", "DEVELOPER", @@ -3515,7 +3523,7 @@ "id": "TelemetryConfig", "properties": { "logFormat": { - "description": "The output format of the Dataproc Metastore service's logs.", + "description": "Optional. The output format of the Dataproc Metastore service's logs.", "enum": [ "LOG_FORMAT_UNSPECIFIED", "LEGACY", diff --git a/discovery/googleapis/metastore__v2.json b/discovery/googleapis/metastore__v2.json index 195c2861c..243787ad3 100644 --- a/discovery/googleapis/metastore__v2.json +++ b/discovery/googleapis/metastore__v2.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241203", + "revision": "20250227", "rootUrl": "https://metastore.googleapis.com/", "servicePath": "", "title": "Dataproc Metastore API", @@ -743,6 +743,14 @@ "type": "string" }, "type": "array" + }, + "continent": { + "description": "The continent for this multi-region.", + "type": "string" + }, + "witnessRegion": { + "description": "The Spanner witness region for this multi-region.", + "type": "string" } }, "type": "object" @@ -925,6 +933,14 @@ "type": "string" }, "type": "array" + }, + "continent": { + "description": "The continent for this multi-region.", + "type": "string" + }, + "witnessRegion": { + "description": "The Spanner witness region for this multi-region.", + "type": "string" } }, "type": "object" @@ -1107,6 +1123,14 @@ "type": "string" }, "type": "array" + }, + "continent": { + "description": "The continent for this multi-region.", + "type": "string" + }, + "witnessRegion": { + "description": "The Spanner witness region for this multi-region.", + "type": "string" } }, "type": "object" @@ -1303,7 +1327,7 @@ "type": "object" }, "GoogleCloudMetastoreV2DatabaseDump": { - "description": "A specification of the location of and metadata about a database dump from a relational database management system.", + "description": "A specification of the location and metadata type for a database dump from a relational database management system.", "id": "GoogleCloudMetastoreV2DatabaseDump", "properties": { "gcsUri": { diff --git a/discovery/googleapis/migrationcenter__v1.json b/discovery/googleapis/migrationcenter__v1.json index 338ce733a..83b304de3 100644 --- a/discovery/googleapis/migrationcenter__v1.json +++ b/discovery/googleapis/migrationcenter__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241205", + "revision": "20250227", "rootUrl": "https://migrationcenter.googleapis.com/", "servicePath": "", "title": "Migration Center API", @@ -382,12 +382,18 @@ "enum": [ "ASSET_VIEW_UNSPECIFIED", "ASSET_VIEW_BASIC", - "ASSET_VIEW_FULL" + "ASSET_VIEW_FULL", + "ASSET_VIEW_STANDARD", + "ASSET_VIEW_UI", + "ASSET_VIEW_LABELS" ], "enumDescriptions": [ "The asset view is not specified. The API displays the basic view by default.", "The asset view includes only basic metadata of the asset.", - "The asset view includes all the metadata of an asset and performance data." + "The asset view includes all the metadata of an asset and performance data.", + "The asset view includes the standard metadata of an asset.", + "The asset view includes fields needed by UI.", + "The asset view includes asset name and labels." ], "location": "query", "type": "string" @@ -443,12 +449,18 @@ "enum": [ "ASSET_VIEW_UNSPECIFIED", "ASSET_VIEW_BASIC", - "ASSET_VIEW_FULL" + "ASSET_VIEW_FULL", + "ASSET_VIEW_STANDARD", + "ASSET_VIEW_UI", + "ASSET_VIEW_LABELS" ], "enumDescriptions": [ "The asset view is not specified. The API displays the basic view by default.", "The asset view includes only basic metadata of the asset.", - "The asset view includes all the metadata of an asset and performance data." + "The asset view includes all the metadata of an asset and performance data.", + "The asset view includes the standard metadata of an asset.", + "The asset view includes fields needed by UI.", + "The asset view includes asset name and labels." ], "location": "query", "type": "string" @@ -1702,6 +1714,81 @@ } } }, + "relations": { + "methods": { + "get": { + "description": "Gets the details of an relation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/relations/{relationsId}", + "httpMethod": "GET", + "id": "migrationcenter.projects.locations.relations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/relations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Relation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all the relations in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/relations", + "httpMethod": "GET", + "id": "migrationcenter.projects.locations.relations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value for `ListRelationsRequest`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/relations", + "response": { + "$ref": "ListRelationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "reportConfigs": { "methods": { "create": { @@ -2729,6 +2816,12 @@ }, "type": "object" }, + "AwsRds": { + "description": "Specific details for an AWS RDS database deployment.", + "id": "AwsRds", + "properties": {}, + "type": "object" + }, "AzureVmPlatformDetails": { "description": "Azure VM specific details.", "id": "AzureVmPlatformDetails", @@ -3100,6 +3193,10 @@ "description": "Output only. Aggregated stats for the database deployment.", "readOnly": true }, + "awsRds": { + "$ref": "AwsRds", + "description": "Optional. Details of an AWS RDS instance." + }, "edition": { "description": "Optional. The database deployment edition.", "type": "string" @@ -3585,7 +3682,7 @@ "type": "string" }, "mountPoint": { - "description": "Mount pount (Linux/Windows) or drive letter (Windows).", + "description": "Mount point (Linux/Windows) or drive letter (Windows).", "type": "string" }, "subPartitions": { @@ -3603,6 +3700,29 @@ }, "type": "object" }, + "DiskPartitionDetails": { + "description": "Disk partition details.", + "id": "DiskPartitionDetails", + "properties": { + "freeSpaceBytes": { + "description": "Output only. Total free space of all partitions.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "partitions": { + "$ref": "DiskPartitionList", + "description": "Optional. List of partitions." + }, + "totalCapacityBytes": { + "description": "Output only. Total capacity of all partitions.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "DiskPartitionList": { "description": "Disk partition list.", "id": "DiskPartitionList", @@ -3622,17 +3742,17 @@ "id": "DiskUsageSample", "properties": { "averageIops": { - "description": "Optional. Average IOPS sampled over a short window. Must be non-negative. Must be equal to the sum of read and write if one of them is positive. if both read and write are zero they are ignored.", + "description": "Optional. Average IOPS sampled over a short window. Must be non-negative. If read or write are set, the sum of read and write will override the value of the average_iops.", "format": "float", "type": "number" }, "averageReadIops": { - "description": "Optional. Average read IOPS sampled over a short window. Must be non-negative.", + "description": "Optional. Average read IOPS sampled over a short window. Must be non-negative. If both read and write are zero they are ignored.", "format": "float", "type": "number" }, "averageWriteIops": { - "description": "Optional. Average write IOPS sampled over a short window. Must be non-negative.", + "description": "Optional. Average write IOPS sampled over a short window. Must be non-negative. If both read and write are zero they are ignored.", "format": "float", "type": "number" } @@ -4624,6 +4744,24 @@ }, "type": "object" }, + "ListRelationsResponse": { + "description": "Response message for listing relations.", + "id": "ListRelationsResponse", + "properties": { + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "relations": { + "description": "A list of relations.", + "items": { + "$ref": "Relation" + }, + "type": "array" + } + }, + "type": "object" + }, "ListReportConfigsResponse": { "description": "Response message for listing report configs.", "id": "ListReportConfigsResponse", @@ -4817,6 +4955,10 @@ "format": "google-datetime", "type": "string" }, + "diskPartitions": { + "$ref": "DiskPartitionDetails", + "description": "Optional. Disk partitions details. Note: Partitions are not necessarily mounted on local disks and therefore might not have a one-to-one correspondence with local disks." + }, "disks": { "$ref": "MachineDiskDetails", "description": "Disk details." @@ -5190,7 +5332,7 @@ ], "enumDescriptions": [ "Unknown (default value).", - "Staticly assigned IP.", + "Statically assigned IP.", "Dynamically assigned IP (DHCP)." ], "type": "string" @@ -5706,6 +5848,48 @@ }, "type": "object" }, + "Relation": { + "description": "Message representing a relation between 2 resource.", + "id": "Relation", + "properties": { + "createTime": { + "description": "Output only. The timestamp when the relation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dstAsset": { + "description": "Output only. The destination asset name in the relation.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Identifier. The identifier of the relation.", + "readOnly": true, + "type": "string" + }, + "srcAsset": { + "description": "Output only. The source asset name in the relation.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Optional. The type of the relation.", + "enum": [ + "TYPE_UNSPECIFIED", + "LOGICAL_DATABASE", + "DATABASE_DEPLOYMENT_HOSTING_SERVER" + ], + "enumDescriptions": [ + "Default value.", + "DBDeployment -> Database", + "A relation between a machine/VM and the database deployment it hosts." + ], + "type": "string" + } + }, + "type": "object" + }, "RemoveAssetsFromGroupRequest": { "description": "A request to remove assets from a group.", "id": "RemoveAssetsFromGroupRequest", diff --git a/discovery/googleapis/monitoring__v3.json b/discovery/googleapis/monitoring__v3.json index 3507b141c..865103e2e 100644 --- a/discovery/googleapis/monitoring__v3.json +++ b/discovery/googleapis/monitoring__v3.json @@ -34,7 +34,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241114", + "revision": "20250227", "rootUrl": "https://monitoring.googleapis.com/", "servicePath": "", "title": "Cloud Monitoring API", @@ -1208,6 +1208,11 @@ "name" ], "parameters": { + "activeOnly": { + "description": "Optional. If true, only metrics and monitored resource types that have recent data (within roughly 25 hours) will be included in the response. - If a metric descriptor enumerates monitored resource types, only the monitored resource types for which the metric type has recent data will be included in the returned metric descriptor, and if none of them have recent data, the metric descriptor will not be returned. - If a metric descriptor does not enumerate the compatible monitored resource types, it will be returned only if the metric type has recent data for some monitored resource type. The returned descriptor will not enumerate any monitored resource types.", + "location": "query", + "type": "boolean" + }, "filter": { "description": "Optional. If this field is empty, all custom and system-defined metric descriptors are returned. Otherwise, the filter (https://cloud.google.com/monitoring/api/v3/filters) specifies which metric descriptors are to be returned. For example, the following filter matches all custom metrics (https://cloud.google.com/monitoring/custom-metrics): metric.type = starts_with(\"custom.googleapis.com/\") ", "location": "query", @@ -1719,7 +1724,7 @@ ], "parameters": { "filter": { - "description": "Optional. Optional filter to restrict results to the given criteria. The following fields are supported. interval.start_time interval.end_timeFor example: ``` interval.start_time > \"2022-03-11T00:00:00-08:00\" AND interval.end_time < \"2022-03-12T00:00:00-08:00\" ``` ", + "description": "Optional. Optional filter to restrict results to the given criteria. The following fields are supported. interval.start_time interval.end_timeFor example: interval.start_time > \"2022-03-11T00:00:00-08:00\" AND interval.end_time < \"2022-03-12T00:00:00-08:00\" ", "location": "query", "type": "string" }, @@ -3411,8 +3416,12 @@ "description": "Criteria specific to the AlertPolicys that this Snooze applies to. The Snooze will suppress alerts that come from one of the AlertPolicys whose names are supplied.", "id": "Criteria", "properties": { + "filter": { + "description": "Optional. The filter string to match on Alert fields when silencing the alerts. It follows the standard https://google.aip.dev/160 syntax. A filter string used to apply the snooze to specific incidents that have matching filter values. Filters can be defined for snoozes that apply to one alerting policy. Filters must be a string formatted as one or more resource labels with specific label values. If multiple resource labels are used, then they must be connected with an AND operator. For example, the following filter applies the snooze to incidents that have an instance ID of 1234567890 and a zone of us-central1-a: resource.labels.instance_id=\"1234567890\" AND resource.labels.zone=\"us-central1-a\" ", + "type": "string" + }, "policies": { - "description": "The specific AlertPolicy names for the alert that should be snoozed. The format is: projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[POLICY_ID] There is a limit of 16 policies per snooze. This limit is checked during snooze creation.", + "description": "The specific AlertPolicy names for the alert that should be snoozed. The format is: projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[POLICY_ID] There is a limit of 16 policies per snooze. This limit is checked during snooze creation. Exactly 1 alert policy is required if filter is specified at the same time.", "items": { "type": "string" }, @@ -5713,7 +5722,7 @@ "description": "Schedule the query to execute every so many minutes." }, "query": { - "description": "Required. The Log Analytics SQL query to run, as a string. The query must conform to the required shape. Specifically, the query must not try to filter the input by time. A filter will automatically be applied to filter the input so that the query receives all rows received since the last time the query was run.For example, the following query extracts all log entries containing an HTTP request:SELECT timestamp, log_name, severity, http_request, resource, labels FROM my-project.global._Default._AllLogs WHERE http_request IS NOT NULL", + "description": "Required. The Log Analytics SQL query to run, as a string. The query must conform to the required shape. Specifically, the query must not try to filter the input by time. A filter will automatically be applied to filter the input so that the query receives all rows received since the last time the query was run.For example, the following query extracts all log entries containing an HTTP request: SELECT timestamp, log_name, severity, http_request, resource, labels FROM my-project.global._Default._AllLogs WHERE http_request IS NOT NULL ", "type": "string" }, "rowCountTest": { @@ -6111,6 +6120,10 @@ "description": "If this is true, then checks are made only from the 'internal_checkers'. If it is false, then checks are made only from the 'selected_regions'. It is an error to provide 'selected_regions' when is_internal is true, or to provide 'internal_checkers' when is_internal is false.", "type": "boolean" }, + "logCheckFailures": { + "description": "To specify whether to log the results of failed probes to Cloud Logging.", + "type": "boolean" + }, "monitoredResource": { "$ref": "MonitoredResource", "description": "The monitored resource (https://cloud.google.com/monitoring/api/resources) associated with the configuration. The following monitored resource types are valid for this field: uptime_url, gce_instance, gae_app, aws_ec2_instance, aws_elb_load_balancer k8s_service servicedirectory_service cloud_run_revision" diff --git a/discovery/googleapis/mybusinessbusinessinformation__v1.json b/discovery/googleapis/mybusinessbusinessinformation__v1.json index caebce172..27792ffb6 100644 --- a/discovery/googleapis/mybusinessbusinessinformation__v1.json +++ b/discovery/googleapis/mybusinessbusinessinformation__v1.json @@ -16,7 +16,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241120", + "revision": "20250217", "rootUrl": "https://mybusinessbusinessinformation.googleapis.com/", "servicePath": "", "title": "My Business Business Information API", @@ -1200,7 +1200,8 @@ "type": "boolean" }, "canOperateLocalPost": { - "description": "Output only. Indicates if the listing can manage local posts.", + "deprecated": true, + "description": "Output only. Indicates if the listing can manage local posts. Deprecated: This field is no longer populated and will be removed in a future version.", "readOnly": true, "type": "boolean" }, diff --git a/discovery/googleapis/netapp__v1.json b/discovery/googleapis/netapp__v1.json index a00bc6220..6687c6656 100644 --- a/discovery/googleapis/netapp__v1.json +++ b/discovery/googleapis/netapp__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241209", + "revision": "20250129", "rootUrl": "https://netapp.googleapis.com/", "servicePath": "", "title": "NetApp API", @@ -1620,6 +1620,173 @@ } }, "resources": { + "quotaRules": { + "methods": { + "create": { + "description": "Creates a new quota rule.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/quotaRules", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.quotaRules.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Parent value for CreateQuotaRuleRequest", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + }, + "quotaRuleId": { + "description": "Required. ID of the quota rule to create. Must be unique within the parent resource. Must contain only letters, numbers, underscore and hyphen, with the first character a letter or underscore, the last a letter or underscore or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/quotaRules", + "request": { + "$ref": "QuotaRule" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a quota rule.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/quotaRules/{quotaRulesId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.volumes.quotaRules.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the quota rule.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/quotaRules/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns details of the specified quota rule.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/quotaRules/{quotaRulesId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.quotaRules.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the quota rule", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/quotaRules/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "QuotaRule" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns list of all quota rules in a location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/quotaRules", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.quotaRules.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, the server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value for ListQuotaRulesRequest", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/quotaRules", + "response": { + "$ref": "ListQuotaRulesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a quota rule.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/quotaRules/{quotaRulesId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.volumes.quotaRules.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the quota rule. Format: `projects/{project_number}/locations/{location_id}/volumes/volumes/{volume_id}/quotaRules/{quota_rule_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/quotaRules/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the Quota Rule resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "QuotaRule" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "replications": { "methods": { "create": { @@ -2621,6 +2788,18 @@ "description": "Optional. Temporary passphrase generated to accept cluster peering command.", "type": "string" }, + "peerClusterName": { + "description": "Optional. Name of the user's local source cluster to be peered with the destination cluster.", + "type": "string" + }, + "peerSvmName": { + "description": "Optional. Name of the user's local source vserver svm to be peered with the destination vserver svm.", + "type": "string" + }, + "peerVolumeName": { + "description": "Optional. Name of the user's local source volume to be peered with the destination volume.", + "type": "string" + }, "subnetIp": { "description": "Optional. IP address of the subnet.", "type": "string" @@ -2914,6 +3093,31 @@ }, "type": "object" }, + "ListQuotaRulesResponse": { + "description": "ListQuotaRulesResponse is the response to a ListQuotaRulesRequest.", + "id": "ListQuotaRulesResponse", + "properties": { + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "quotaRules": { + "description": "List of quota rules", + "items": { + "$ref": "QuotaRule" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListReplicationsResponse": { "description": "ListReplicationsResponse is the result of ListReplicationsRequest.", "id": "ListReplicationsResponse", @@ -3052,6 +3256,24 @@ "description": "Metadata for a given google.cloud.location.Location.", "id": "LocationMetadata", "properties": { + "supportedFlexPerformance": { + "description": "Output only. Supported flex performance in a location.", + "items": { + "enum": [ + "FLEX_PERFORMANCE_UNSPECIFIED", + "FLEX_PERFORMANCE_DEFAULT", + "FLEX_PERFORMANCE_CUSTOM" + ], + "enumDescriptions": [ + "Unspecified flex performance.", + "Flex Storage Pool with default performance.", + "Flex Storage Pool with custom performance." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, "supportedServiceLevels": { "description": "Output only. Supported service levels in a location.", "items": { @@ -3119,6 +3341,11 @@ "description": "Instructions for mounting", "type": "string" }, + "ipAddress": { + "description": "Output only. IP Address.", + "readOnly": true, + "type": "string" + }, "protocol": { "description": "Protocol to mount with.", "enum": [ @@ -3217,6 +3444,87 @@ }, "type": "object" }, + "QuotaRule": { + "description": "QuotaRule specifies the maximum disk space a user or group can use within a volume. They can be used for creating default and individual quota rules.", + "id": "QuotaRule", + "properties": { + "createTime": { + "description": "Output only. Create time of the quota rule", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the quota rule", + "type": "string" + }, + "diskLimitMib": { + "description": "Required. The maximum allowed disk space in MiB.", + "format": "int32", + "type": "integer" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels of the quota rule", + "type": "object" + }, + "name": { + "description": "Identifier. The resource name of the quota rule. Format: `projects/{project_number}/locations/{location_id}/volumes/volumes/{volume_id}/quotaRules/{quota_rule_id}`.", + "type": "string" + }, + "state": { + "description": "Output only. State of the quota rule", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "UPDATING", + "DELETING", + "READY", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified state for quota rule", + "Quota rule is creating", + "Quota rule is updating", + "Quota rule is deleting", + "Quota rule is ready", + "Quota rule is in error state." + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. State details of the quota rule", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Optional. The quota rule applies to the specified user or group, identified by a Unix UID/GID, Windows SID, or null for default.", + "type": "string" + }, + "type": { + "description": "Required. The type of quota rule.", + "enum": [ + "TYPE_UNSPECIFIED", + "INDIVIDUAL_USER_QUOTA", + "INDIVIDUAL_GROUP_QUOTA", + "DEFAULT_USER_QUOTA", + "DEFAULT_GROUP_QUOTA" + ], + "enumDescriptions": [ + "Unspecified type for quota rule", + "Individual user quota rule", + "Individual group quota rule", + "Default user quota rule", + "Default group quota rule" + ], + "type": "string" + } + }, + "type": "object" + }, "Replication": { "description": "Replication is a nested resource under Volume, that describes a cross-region replication relationship between 2 volumes in different regions.", "id": "Replication", diff --git a/discovery/googleapis/networkconnectivity__v1.json b/discovery/googleapis/networkconnectivity__v1.json index 0b983b905..0aed7357f 100644 --- a/discovery/googleapis/networkconnectivity__v1.json +++ b/discovery/googleapis/networkconnectivity__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241112", + "revision": "20250226", "rootUrl": "https://networkconnectivity.googleapis.com/", "servicePath": "", "title": "Network Connectivity API", @@ -213,6 +213,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "acceptSpokeUpdate": { + "description": "Accepts a proposal to update a Network Connectivity Center spoke in a hub.", + "flatPath": "v1/projects/{projectsId}/locations/global/hubs/{hubsId}:acceptSpokeUpdate", + "httpMethod": "POST", + "id": "networkconnectivity.projects.locations.global.hubs.acceptSpokeUpdate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the hub to accept spoke update.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/hubs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:acceptSpokeUpdate", + "request": { + "$ref": "AcceptSpokeUpdateRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "create": { "description": "Creates a new Network Connectivity Center hub in the specified project.", "flatPath": "v1/projects/{projectsId}/locations/global/hubs", @@ -490,7 +518,7 @@ ] }, "queryStatus": { - "description": "Query PSC propagation status the status of a Network Connectivity Center hub.", + "description": "Query the Private Service Connect propagation status of a Network Connectivity Center hub.", "flatPath": "v1/projects/{projectsId}/locations/global/hubs/{hubsId}:queryStatus", "httpMethod": "GET", "id": "networkconnectivity.projects.locations.global.hubs.queryStatus", @@ -499,12 +527,12 @@ ], "parameters": { "filter": { - "description": "Optional. An expression that filters the list of results. The filter can be used to filter the results by the following fields: * psc_propagation_status.source_spoke * psc_propagation_status.source_group * psc_propagation_status.source_forwarding_rule * psc_propagation_status.target_spoke * psc_propagation_status.target_group * psc_propagation_status.code * psc_propagation_status.message", + "description": "Optional. An expression that filters the list of results. The filter can be used to filter the results by the following fields: * `psc_propagation_status.source_spoke` * `psc_propagation_status.source_group` * `psc_propagation_status.source_forwarding_rule` * `psc_propagation_status.target_spoke` * `psc_propagation_status.target_group` * `psc_propagation_status.code` * `psc_propagation_status.message`", "location": "query", "type": "string" }, "groupBy": { - "description": "Optional. A field that counts are grouped by. A comma-separated list of any of these fields: * psc_propagation_status.source_spoke * psc_propagation_status.source_group * psc_propagation_status.source_forwarding_rule * psc_propagation_status.target_spoke * psc_propagation_status.target_group * psc_propagation_status.code", + "description": "Optional. Aggregate the results by the specified fields. A comma-separated list of any of these fields: * `psc_propagation_status.source_spoke` * `psc_propagation_status.source_group` * `psc_propagation_status.source_forwarding_rule` * `psc_propagation_status.target_spoke` * `psc_propagation_status.target_group` * `psc_propagation_status.code`", "location": "query", "type": "string" }, @@ -516,7 +544,7 @@ "type": "string" }, "orderBy": { - "description": "Optional. Sort the results in the ascending order by specific fields returned in the response. A comma-separated list of any of these fields: * psc_propagation_status.source_spoke * psc_propagation_status.source_group * psc_propagation_status.source_forwarding_rule * psc_propagation_status.target_spoke * psc_propagation_status.target_group * psc_propagation_status.code If `group_by` is set, the value of the `order_by` field must be the same as or a subset of the `group_by` field.", + "description": "Optional. Sort the results in ascending order by the specified fields. A comma-separated list of any of these fields: * `psc_propagation_status.source_spoke` * `psc_propagation_status.source_group` * `psc_propagation_status.source_forwarding_rule` * `psc_propagation_status.target_spoke` * `psc_propagation_status.target_group` * `psc_propagation_status.code` If `group_by` is set, the value of the `order_by` field must be the same as or a subset of the `group_by` field.", "location": "query", "type": "string" }, @@ -568,6 +596,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "rejectSpokeUpdate": { + "description": "Rejects a proposal to update a Network Connectivity Center spoke in a hub.", + "flatPath": "v1/projects/{projectsId}/locations/global/hubs/{hubsId}:rejectSpokeUpdate", + "httpMethod": "POST", + "id": "networkconnectivity.projects.locations.global.hubs.rejectSpokeUpdate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the hub to reject spoke update.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/hubs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:rejectSpokeUpdate", + "request": { + "$ref": "RejectSpokeUpdateRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "setIamPolicy": { "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1/projects/{projectsId}/locations/global/hubs/{hubsId}:setIamPolicy", @@ -1000,7 +1056,7 @@ "type": "string" }, "policyBasedRouteId": { - "description": "Required. Unique id for the policy-based route to create.", + "description": "Required. Unique id for the policy-based route to create. Provided by the client when the resource is created. The name must comply with https://google.aip.dev/122#resource-id-segments. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([a-z0-9-]*[a-z0-9])?. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.", "location": "query", "type": "string" }, @@ -1398,7 +1454,7 @@ "operations": { "methods": { "cancel": { - "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "networkconnectivity.projects.locations.operations.cancel", @@ -2894,6 +2950,25 @@ }, "type": "object" }, + "AcceptSpokeUpdateRequest": { + "description": "The request for HubService.AcceptSpokeUpdate.", + "id": "AcceptSpokeUpdateRequest", + "properties": { + "requestId": { + "description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that a request doesn't result in creation of duplicate commitments for at least 60 minutes. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check to see whether the original operation was received. If it was, the server ignores the second request. This behavior prevents clients from mistakenly creating duplicate commitments. The request ID must be a valid UUID, with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + }, + "spokeEtag": { + "description": "Required. The etag of the spoke to accept update.", + "type": "string" + }, + "spokeUri": { + "description": "Required. The URI of the spoke to accept update.", + "type": "string" + } + }, + "type": "object" + }, "AuditConfig": { "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", "id": "AuditConfig", @@ -2947,7 +3022,7 @@ "id": "AutoAccept", "properties": { "autoAcceptProjects": { - "description": "A list of project ids or project numbers for which you want to enable auto-accept. The auto-accept setting is applied to spokes being created or updated in these projects.", + "description": "Optional. A list of project ids or project numbers for which you want to enable auto-accept. The auto-accept setting is applied to spokes being created or updated in these projects.", "items": { "type": "string" }, @@ -3300,7 +3375,7 @@ "additionalProperties": { "type": "string" }, - "description": "Additional structured details about this error. Keys must match /a-z+/ but should ideally be lowerCamelCase. Also they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {\"instanceLimit\": \"100/request\"}, should be returned as, {\"instanceLimitPerRequest\": \"100\"}, if the client exceeds the number of instances that can be created in a single (batch) request.", + "description": "Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{\"instanceLimit\": \"100/request\"}`, should be returned as, `{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of instances that can be created in a single (batch) request.", "type": "object" }, "reason": { @@ -3382,7 +3457,8 @@ "REJECTING", "UPDATING", "INACTIVE", - "OBSOLETE" + "OBSOLETE", + "FAILED" ], "enumDescriptions": [ "No state information available", @@ -3393,7 +3469,8 @@ "The resource's reject operation is in progress.", "The resource's update operation is in progress.", "The resource is inactive.", - "The hub associated with this spoke resource has been deleted. This state applies to spoke resources only." + "The hub associated with this spoke resource has been deleted. This state applies to spoke resources only.", + "The resource is in an undefined state due to resource creation or deletion failure. You can try to delete the resource later or contact support for help." ], "readOnly": true, "type": "string" @@ -3423,11 +3500,11 @@ "type": "string" }, "description": { - "description": "An optional description of the hub.", + "description": "Optional. An optional description of the hub.", "type": "string" }, "exportPsc": { - "description": "Optional. Whether Private Service Connect transitivity is enabled for the hub. If true, Private Service Connect endpoints in VPC spokes attached to the hub are made accessible to other VPC spokes attached to the hub. The default value is false.", + "description": "Optional. Whether Private Service Connect connection propagation is enabled for the hub. If true, Private Service Connect endpoints in VPC spokes attached to the hub are made accessible to other VPC spokes attached to the hub. The default value is false.", "type": "boolean" }, "labels": { @@ -3498,7 +3575,8 @@ "REJECTING", "UPDATING", "INACTIVE", - "OBSOLETE" + "OBSOLETE", + "FAILED" ], "enumDescriptions": [ "No state information available", @@ -3509,7 +3587,8 @@ "The resource's reject operation is in progress.", "The resource's update operation is in progress.", "The resource is inactive.", - "The hub associated with this spoke resource has been deleted. This state applies to spoke resources only." + "The hub associated with this spoke resource has been deleted. This state applies to spoke resources only.", + "The resource is in an undefined state due to resource creation or deletion failure. You can try to delete the resource later or contact support for help." ], "readOnly": true, "type": "string" @@ -3529,21 +3608,21 @@ "type": "object" }, "HubStatusEntry": { - "description": "The hub status entry.", + "description": "A hub status entry represents the status of a set of propagated Private Service Connect connections grouped by certain fields.", "id": "HubStatusEntry", "properties": { "count": { - "description": "The number of status. If group_by is not set in the request, the default is 1.", + "description": "The number of propagated Private Service Connect connections with this status. If the `group_by` field was not set in the request message, the value of this field is 1.", "format": "int32", "type": "integer" }, "groupBy": { - "description": "The same group_by field from the request.", + "description": "The fields that this entry is grouped by. This has the same value as the `group_by` field in the request message.", "type": "string" }, "pscPropagationStatus": { "$ref": "PscPropagationStatus", - "description": "The PSC propagation status." + "description": "The Private Service Connect propagation status." } }, "type": "object" @@ -3560,7 +3639,7 @@ "type": "object" }, "InternalRange": { - "description": "The internal range resource for IPAM operations within a VPC network. Used to represent a private address range along with behavioral characterstics of that range (its usage and peering behavior). Networking resources can link to this range if they are created as belonging to it.", + "description": "The internal range resource for IPAM operations within a VPC network. Used to represent a private address range along with behavioral characteristics of that range (its usage and peering behavior). Networking resources can link to this range if they are created as belonging to it.", "id": "InternalRange", "properties": { "createTime": { @@ -3585,7 +3664,7 @@ }, "migration": { "$ref": "Migration", - "description": "Optional. Must be present if usage is set to FOR_MIGRATION. This field is for internal use." + "description": "Optional. Must be present if usage is set to FOR_MIGRATION." }, "name": { "description": "Immutable. The name of an internal range. Format: projects/{project}/locations/{location}/internalRanges/{internal_range} See: https://google.aip.dev/122#fields-representing-resource-names", @@ -3657,7 +3736,7 @@ "Unspecified usage is allowed in calls which identify the resource by other fields and do not need Usage set to complete. These are, i.e.: GetInternalRange and DeleteInternalRange. Usage needs to be specified explicitly in CreateInternalRange or UpdateInternalRange calls.", "A VPC resource can use the reserved CIDR block by associating it with the internal range resource if usage is set to FOR_VPC.", "Ranges created with EXTERNAL_TO_VPC cannot be associated with VPC resources and are meant to block out address ranges for various use cases, like for example, usage on-prem, with dynamic route announcements via interconnect.", - "Ranges created FOR_MIGRATION can be used to lock a CIDR range between a source and target subnet. If usage is set to FOR_MIGRATION, the peering value has to be set to FOR_SELF or default to FOR_SELF when unset. This value is for internal use." + "Ranges created FOR_MIGRATION can be used to lock a CIDR range between a source and target subnet. If usage is set to FOR_MIGRATION, the peering value has to be set to FOR_SELF or default to FOR_SELF when unset." ], "type": "string" }, @@ -3732,6 +3811,13 @@ "readOnly": true, "type": "string" }, + "proposedIncludeExportRanges": { + "description": "Optional. The proposed include export IP ranges waiting for hub administration's approval.", + "items": { + "type": "string" + }, + "type": "array" + }, "serviceConsumerVpcSpoke": { "description": "Output only. The Service Consumer Network spoke.", "readOnly": true, @@ -3789,13 +3875,20 @@ "type": "array" }, "producerVpcSpokes": { - "description": "Output only. The list of Producer VPC spokes that this VPC spoke is a service consumer VPC spoke for. These producer VPCs are connected through VPC peering to this spoke's backing VPC network.", + "description": "Output only. The list of Producer VPC spokes that this VPC spoke is a service consumer VPC spoke for. These producer VPCs are connected through VPC peering to this spoke's backing VPC network. Because they are directly connected throuh VPC peering, NCC export filters do not apply between the service consumer VPC spoke and any of its producer VPC spokes. This VPC spoke cannot be deleted as long as any of these producer VPC spokes are connected to the NCC Hub.", "items": { "type": "string" }, "readOnly": true, "type": "array" }, + "proposedIncludeExportRanges": { + "description": "Optional. The proposed include export IP ranges waiting for hub administration's approval.", + "items": { + "type": "string" + }, + "type": "array" + }, "uri": { "description": "Required. The URI of the VPC network resource.", "type": "string" @@ -4243,7 +4336,7 @@ "type": "string" }, "target": { - "description": "Immutable. Resource path of the target resource. The target project can be different, as in the cases when migrating to peer networks. The resource For example: /projects/{project}/regions/{region}/subnetworks/{subnet}", + "description": "Immutable. Resource path of the target resource. The target project can be different, as in the cases when migrating to peer networks. For example: /projects/{project}/regions/{region}/subnetworks/{subnet}", "type": "string" } }, @@ -4642,7 +4735,7 @@ "type": "object" }, "PscPropagationStatus": { - "description": "The PSC propagation status in a hub.", + "description": "The status of one or more propagated Private Service Connect connections in a hub.", "id": "PscPropagationStatus", "properties": { "code": { @@ -4658,17 +4751,17 @@ ], "enumDescriptions": [ "The code is unspecified.", - "The propagated PSC connection is ready.", - "PSC connection is propagating. This is a transient state.", - "The PSC connection propagation failed because the VPC network or the project of the target spoke has exceeded the connection limit set by the producer.", - "The PSC connection propagation failed because the NAT IP subnet space has been exhausted. It is equivalent to the `Needs attention` status of the PSC connection. See https://cloud.google.com/vpc/docs/about-accessing-vpc-hosted-services-endpoints#connection-statuses.", - "PSC connection propagation failed because the `PSC_ILB_CONSUMER_FORWARDING_RULES_PER_PRODUCER_NETWORK` quota in the producer VPC network has been exceeded.", - "The PSC connection propagation failed because the `PSC_PROPAGATED_CONNECTIONS_PER_VPC_NETWORK` quota in the consumer VPC network has been exceeded." + "The propagated Private Service Connect connection is ready.", + "The Private Service Connect connection is propagating. This is a transient state.", + "The Private Service Connect connection propagation failed because the VPC network or the project of the target spoke has exceeded the connection limit set by the producer.", + "The Private Service Connect connection propagation failed because the NAT IP subnet space has been exhausted. It is equivalent to the `Needs attention` status of the Private Service Connect connection. See https://cloud.google.com/vpc/docs/about-accessing-vpc-hosted-services-endpoints#connection-statuses.", + "The Private Service Connect connection propagation failed because the `PSC_ILB_CONSUMER_FORWARDING_RULES_PER_PRODUCER_NETWORK` quota in the producer VPC network has been exceeded.", + "The Private Service Connect connection propagation failed because the `PSC_PROPAGATED_CONNECTIONS_PER_VPC_NETWORK` quota in the consumer VPC network has been exceeded." ], "type": "string" }, "message": { - "description": "The human-readable summary of the PSC connection propagation status.", + "description": "The human-readable summary of the Private Service Connect connection propagation status.", "type": "string" }, "sourceForwardingRule": { @@ -4818,6 +4911,29 @@ }, "type": "object" }, + "RejectSpokeUpdateRequest": { + "description": "The request for HubService.RejectSpokeUpdate.", + "id": "RejectSpokeUpdateRequest", + "properties": { + "details": { + "description": "Optional. Additional information provided by the hub administrator.", + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server knows to ignore the request if it has already been completed. The server guarantees that a request doesn't result in creation of duplicate commitments for at least 60 minutes. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check to see whether the original operation was received. If it was, the server ignores the second request. This behavior prevents clients from mistakenly creating duplicate commitments. The request ID must be a valid UUID, with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + }, + "spokeEtag": { + "description": "Required. The etag of the spoke to reject update.", + "type": "string" + }, + "spokeUri": { + "description": "Required. The URI of the spoke to reject update.", + "type": "string" + } + }, + "type": "object" + }, "Route": { "description": "A route defines a path from VM instances within a spoke to a specific destination resource. Only VPC spokes have routes.", "id": "Route", @@ -4889,7 +5005,8 @@ "REJECTING", "UPDATING", "INACTIVE", - "OBSOLETE" + "OBSOLETE", + "FAILED" ], "enumDescriptions": [ "No state information available", @@ -4900,7 +5017,8 @@ "The resource's reject operation is in progress.", "The resource's update operation is in progress.", "The resource is inactive.", - "The hub associated with this spoke resource has been deleted. This state applies to spoke resources only." + "The hub associated with this spoke resource has been deleted. This state applies to spoke resources only.", + "The resource is in an undefined state due to resource creation or deletion failure. You can try to delete the resource later or contact support for help." ], "readOnly": true, "type": "string" @@ -4971,7 +5089,8 @@ "REJECTING", "UPDATING", "INACTIVE", - "OBSOLETE" + "OBSOLETE", + "FAILED" ], "enumDescriptions": [ "No state information available", @@ -4982,7 +5101,8 @@ "The resource's reject operation is in progress.", "The resource's update operation is in progress.", "The resource is inactive.", - "The hub associated with this spoke resource has been deleted. This state applies to spoke resources only." + "The hub associated with this spoke resource has been deleted. This state applies to spoke resources only.", + "The resource is in an undefined state due to resource creation or deletion failure. You can try to delete the resource later or contact support for help." ], "readOnly": true, "type": "string" @@ -5149,7 +5269,7 @@ "type": "string" }, "token": { - "description": "The token provided by the consumer. This token authenticates that the consumer can create a connecton within the specified project and network.", + "description": "The token provided by the consumer. This token authenticates that the consumer can create a connection within the specified project and network.", "type": "string" }, "updateTime": { @@ -5312,9 +5432,20 @@ "type": "string" }, "description": { - "description": "An optional description of the spoke.", + "description": "Optional. An optional description of the spoke.", + "type": "string" + }, + "etag": { + "description": "Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", "type": "string" }, + "fieldPathsPendingUpdate": { + "description": "Optional. The list of fields waiting for hub administration's approval.", + "items": { + "type": "string" + }, + "type": "array" + }, "group": { "description": "Optional. The name of the group that this spoke is associated with.", "type": "string" @@ -5332,7 +5463,7 @@ }, "linkedInterconnectAttachments": { "$ref": "LinkedInterconnectAttachments", - "description": "VLAN attachments that are associated with the spoke." + "description": "Optional. VLAN attachments that are associated with the spoke." }, "linkedProducerVpcNetwork": { "$ref": "LinkedProducerVpcNetwork", @@ -5340,7 +5471,7 @@ }, "linkedRouterApplianceInstances": { "$ref": "LinkedRouterApplianceInstances", - "description": "Router appliance instances that are associated with the spoke." + "description": "Optional. Router appliance instances that are associated with the spoke." }, "linkedVpcNetwork": { "$ref": "LinkedVpcNetwork", @@ -5348,7 +5479,7 @@ }, "linkedVpnTunnels": { "$ref": "LinkedVpnTunnels", - "description": "VPN tunnels that are associated with the spoke." + "description": "Optional. VPN tunnels that are associated with the spoke." }, "name": { "description": "Immutable. The name of the spoke. Spoke names must be unique. They use the following form: `projects/{project_number}/locations/{region}/spokes/{spoke_id}`", @@ -5394,7 +5525,8 @@ "REJECTING", "UPDATING", "INACTIVE", - "OBSOLETE" + "OBSOLETE", + "FAILED" ], "enumDescriptions": [ "No state information available", @@ -5405,7 +5537,8 @@ "The resource's reject operation is in progress.", "The resource's update operation is in progress.", "The resource is inactive.", - "The hub associated with this spoke resource has been deleted. This state applies to spoke resources only." + "The hub associated with this spoke resource has been deleted. This state applies to spoke resources only.", + "The resource is in an undefined state due to resource creation or deletion failure. You can try to delete the resource later or contact support for help." ], "readOnly": true, "type": "string" @@ -5445,7 +5578,8 @@ "REJECTING", "UPDATING", "INACTIVE", - "OBSOLETE" + "OBSOLETE", + "FAILED" ], "enumDescriptions": [ "No state information available", @@ -5456,7 +5590,8 @@ "The resource's reject operation is in progress.", "The resource's update operation is in progress.", "The resource is inactive.", - "The hub associated with this spoke resource has been deleted. This state applies to spoke resources only." + "The hub associated with this spoke resource has been deleted. This state applies to spoke resources only.", + "The resource is in an undefined state due to resource creation or deletion failure. You can try to delete the resource later or contact support for help." ], "readOnly": true, "type": "string" diff --git a/discovery/googleapis/networkmanagement__v1.json b/discovery/googleapis/networkmanagement__v1.json index e56644f9e..2bd0707f2 100644 --- a/discovery/googleapis/networkmanagement__v1.json +++ b/discovery/googleapis/networkmanagement__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241210", + "revision": "20250226", "rootUrl": "https://networkmanagement.googleapis.com/", "servicePath": "", "title": "Network Management API", @@ -805,7 +805,8 @@ "SOURCE_FORWARDING_RULE_UNSUPPORTED", "NON_ROUTABLE_IP_ADDRESS", "UNKNOWN_ISSUE_IN_GOOGLE_MANAGED_PROJECT", - "UNSUPPORTED_GOOGLE_MANAGED_PROJECT_CONFIG" + "UNSUPPORTED_GOOGLE_MANAGED_PROJECT_CONFIG", + "NO_SERVERLESS_IP_RANGES" ], "enumDeprecated": [ false, @@ -843,6 +844,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -881,7 +883,8 @@ "Aborted because tests with a forwarding rule as a source are not supported.", "Aborted because one of the endpoints is a non-routable IP address (loopback, link-local, etc).", "Aborted due to an unknown issue in the Google-managed project.", - "Aborted due to an unsupported configuration of the Google-managed project." + "Aborted due to an unsupported configuration of the Google-managed project.", + "Aborted because the source endpoint is a Cloud Run revision with direct VPC access enabled, but there are no reserved serverless IP ranges." ], "type": "string" }, @@ -1261,6 +1264,33 @@ }, "type": "object" }, + "DirectVpcEgressConnectionInfo": { + "description": "For display only. Metadata associated with a serverless direct VPC egress connection.", + "id": "DirectVpcEgressConnectionInfo", + "properties": { + "networkUri": { + "description": "URI of direct access network.", + "type": "string" + }, + "region": { + "description": "Region in which the Direct VPC egress is deployed.", + "type": "string" + }, + "selectedIpAddress": { + "description": "Selected starting IP address, from the selected IP range.", + "type": "string" + }, + "selectedIpRange": { + "description": "Selected IP range.", + "type": "string" + }, + "subnetworkUri": { + "description": "URI of direct access subnetwork.", + "type": "string" + } + }, + "type": "object" + }, "DropInfo": { "description": "Details of the final state \"drop\" and associated resource.", "id": "DropInfo", @@ -1701,7 +1731,8 @@ "NETWORK_FIREWALL_POLICY_RULE", "NETWORK_REGIONAL_FIREWALL_POLICY_RULE", "UNSUPPORTED_FIREWALL_POLICY_RULE", - "TRACKING_STATE" + "TRACKING_STATE", + "ANALYSIS_SKIPPED" ], "enumDescriptions": [ "Unspecified type.", @@ -1712,7 +1743,8 @@ "Global network firewall policy rule. For details, see [Network firewall policies](https://cloud.google.com/vpc/docs/network-firewall-policies).", "Regional network firewall policy rule. For details, see [Regional network firewall policies](https://cloud.google.com/firewall/docs/regional-firewall-policies).", "Firewall policy rule containing attributes not yet supported in Connectivity tests. Firewall analysis is skipped if such a rule can potentially be matched. Please see the [list of unsupported configurations](https://cloud.google.com/network-intelligence-center/docs/connectivity-tests/concepts/overview#unsupported-configs).", - "Tracking state for response traffic created when request traffic goes through allow firewall rule. For details, see [firewall rules specifications](https://cloud.google.com/firewall/docs/firewalls#specifications)" + "Tracking state for response traffic created when request traffic goes through allow firewall rule. For details, see [firewall rules specifications](https://cloud.google.com/firewall/docs/firewalls#specifications)", + "Firewall analysis was skipped due to executing Connectivity Test in the BypassFirewallChecks mode" ], "type": "string" }, @@ -2672,7 +2704,7 @@ "type": "string" }, "networkUri": { - "description": "URI of a Redis Cluster network in format \"projects/{project_id}/global/networks/{network_id}\".", + "description": "URI of the network containing the Redis Cluster endpoints in format \"projects/{project_id}/global/networks/{network_id}\".", "type": "string" }, "secondaryEndpointIpAddress": { @@ -2904,6 +2936,17 @@ }, "type": "object" }, + "ServerlessExternalConnectionInfo": { + "description": "For display only. Metadata associated with a serverless public connection.", + "id": "ServerlessExternalConnectionInfo", + "properties": { + "selectedIpAddress": { + "description": "Selected starting IP address, from the Google dynamic address pool.", + "type": "string" + } + }, + "type": "object" + }, "ServerlessNegInfo": { "description": "For display only. Metadata associated with the serverless network endpoint group backend.", "id": "ServerlessNegInfo", @@ -2994,6 +3037,10 @@ "description": "A description of the step. Usually this is a summary of the state.", "type": "string" }, + "directVpcEgressConnection": { + "$ref": "DirectVpcEgressConnectionInfo", + "description": "Display information of a serverless direct VPC egress connection." + }, "drop": { "$ref": "DropInfo", "description": "Display information of the final state \"drop\" and reason." @@ -3063,6 +3110,10 @@ "$ref": "RouteInfo", "description": "Display information of a Compute Engine route." }, + "serverlessExternalConnection": { + "$ref": "ServerlessExternalConnectionInfo", + "description": "Display information of a serverless public (external) connection." + }, "serverlessNeg": { "$ref": "ServerlessNegInfo", "description": "Display information of a Serverless network endpoint group backend. Used only for return traces." @@ -3097,6 +3148,8 @@ "ARRIVE_AT_VPN_GATEWAY", "ARRIVE_AT_VPN_TUNNEL", "ARRIVE_AT_VPC_CONNECTOR", + "DIRECT_VPC_EGRESS_CONNECTION", + "SERVERLESS_EXTERNAL_CONNECTION", "NAT", "PROXY_CONNECTION", "DELIVER", @@ -3139,6 +3192,8 @@ false, false, false, + false, + false, false ], "enumDescriptions": [ @@ -3169,6 +3224,8 @@ "Forwarding state: arriving at a Cloud VPN gateway.", "Forwarding state: arriving at a Cloud VPN tunnel.", "Forwarding state: arriving at a VPC connector.", + "Forwarding state: for packets originating from a serverless endpoint forwarded through Direct VPC egress.", + "Forwarding state: for packets originating from a serverless endpoint forwarded through public (external) connectivity.", "Transition state: packet header translated.", "Transition state: original connection is terminated and a new proxied connection is initiated.", "Final state: packet could be delivered.", diff --git a/discovery/googleapis/networksecurity__v1.json b/discovery/googleapis/networksecurity__v1.json index 82d14cd8a..59e90ff79 100644 --- a/discovery/googleapis/networksecurity__v1.json +++ b/discovery/googleapis/networksecurity__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241202", + "revision": "20250217", "rootUrl": "https://networksecurity.googleapis.com/", "servicePath": "", "title": "Network Security API", @@ -290,6 +290,11 @@ "pattern": "^organizations/[^/]+/locations/[^/]+$", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Optional. If true, allow partial responses for multi-regional Aggregated List requests.", + "location": "query", + "type": "boolean" } }, "path": "v1/{+parent}/addressGroups", @@ -1318,6 +1323,11 @@ "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Optional. If true, allow partial responses for multi-regional Aggregated List requests.", + "location": "query", + "type": "boolean" } }, "path": "v1/{+parent}/addressGroups", @@ -2744,122 +2754,181 @@ } } }, - "operations": { + "mirroringDeploymentGroups": { "methods": { - "cancel": { - "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "create": { + "description": "Creates a deployment group in a given project and location. See https://google.aip.dev/133.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/mirroringDeploymentGroups", "httpMethod": "POST", - "id": "networksecurity.projects.locations.operations.cancel", + "id": "networksecurity.projects.locations.mirroringDeploymentGroups.create", "parameterOrder": [ - "name" + "parent" ], "parameters": { - "name": { - "description": "The name of the operation resource to be cancelled.", + "mirroringDeploymentGroupId": { + "description": "Required. The ID to use for the new deployment group, which will become the final component of the deployment group's resource name.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource where this deployment group will be created. Format: projects/{project}/locations/{location}", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" + }, + "requestId": { + "description": "Optional. A unique identifier for this request. Must be a UUID4. This request is only idempotent if a `request_id` is provided. See https://google.aip.dev/155 for more details.", + "location": "query", + "type": "string" } }, - "path": "v1/{+name}:cancel", + "path": "v1/{+parent}/mirroringDeploymentGroups", "request": { - "$ref": "CancelOperationRequest" + "$ref": "MirroringDeploymentGroup" }, "response": { - "$ref": "Empty" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { - "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "description": "Deletes a deployment group. See https://google.aip.dev/135.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/mirroringDeploymentGroups/{mirroringDeploymentGroupsId}", "httpMethod": "DELETE", - "id": "networksecurity.projects.locations.operations.delete", + "id": "networksecurity.projects.locations.mirroringDeploymentGroups.delete", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "The name of the operation resource to be deleted.", + "description": "Required. The deployment group to delete.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringDeploymentGroups/[^/]+$", "required": true, "type": "string" + }, + "requestId": { + "description": "Optional. A unique identifier for this request. Must be a UUID4. This request is only idempotent if a `request_id` is provided. See https://google.aip.dev/155 for more details.", + "location": "query", + "type": "string" } }, "path": "v1/{+name}", "response": { - "$ref": "Empty" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { - "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "description": "Gets a specific deployment group. See https://google.aip.dev/131.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/mirroringDeploymentGroups/{mirroringDeploymentGroupsId}", "httpMethod": "GET", - "id": "networksecurity.projects.locations.operations.get", + "id": "networksecurity.projects.locations.mirroringDeploymentGroups.get", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "The name of the operation resource.", + "description": "Required. The name of the deployment group to retrieve. Format: projects/{project}/locations/{location}/mirroringDeploymentGroups/{mirroring_deployment_group}", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringDeploymentGroups/[^/]+$", "required": true, "type": "string" } }, "path": "v1/{+name}", "response": { - "$ref": "Operation" + "$ref": "MirroringDeploymentGroup" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { - "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", + "description": "Lists deployment groups in a given project and location. See https://google.aip.dev/132.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/mirroringDeploymentGroups", "httpMethod": "GET", - "id": "networksecurity.projects.locations.operations.list", + "id": "networksecurity.projects.locations.mirroringDeploymentGroups.list", "parameterOrder": [ - "name" + "parent" ], "parameters": { "filter": { - "description": "The standard list filter.", + "description": "Optional. Filter expression. See https://google.aip.dev/160#filtering for more details.", "location": "query", "type": "string" }, - "name": { - "description": "The name of the operation's parent resource.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, + "orderBy": { + "description": "Optional. Sort expression. See https://google.aip.dev/132#ordering for more details.", + "location": "query", "type": "string" }, "pageSize": { - "description": "The standard list page size.", + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. See https://google.aip.dev/158 for more details.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The standard list page token.", + "description": "Optional. A page token, received from a previous `ListMirroringDeploymentGroups` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMirroringDeploymentGroups` must match the call that provided the page token. See https://google.aip.dev/158 for more details.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns this collection of deployment groups. Example: `projects/123456789/locations/global`. See https://google.aip.dev/132 for more details.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/mirroringDeploymentGroups", + "response": { + "$ref": "ListMirroringDeploymentGroupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a deployment group. See https://google.aip.dev/134.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/mirroringDeploymentGroups/{mirroringDeploymentGroupsId}", + "httpMethod": "PATCH", + "id": "networksecurity.projects.locations.mirroringDeploymentGroups.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. Identifier. The resource name of this deployment group, for example: `projects/123456789/locations/global/mirroringDeploymentGroups/my-dg`. See https://google.aip.dev/122 for more details.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringDeploymentGroups/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A unique identifier for this request. Must be a UUID4. This request is only idempotent if a `request_id` is provided. See https://google.aip.dev/155 for more details.", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to update. Fields are specified relative to the deployment group (e.g. `description`; *not* `mirroring_deployment_group.description`). See https://google.aip.dev/161 for more details.", + "format": "google-fieldmask", "location": "query", "type": "string" } }, - "path": "v1/{+name}/operations", + "path": "v1/{+name}", + "request": { + "$ref": "MirroringDeploymentGroup" + }, "response": { - "$ref": "ListOperationsResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -2867,33 +2936,38 @@ } } }, - "serverTlsPolicies": { + "mirroringDeployments": { "methods": { "create": { - "description": "Creates a new ServerTlsPolicy in a given project and location.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies", + "description": "Creates a deployment in a given project and location. See https://google.aip.dev/133.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/mirroringDeployments", "httpMethod": "POST", - "id": "networksecurity.projects.locations.serverTlsPolicies.create", + "id": "networksecurity.projects.locations.mirroringDeployments.create", "parameterOrder": [ "parent" ], "parameters": { + "mirroringDeploymentId": { + "description": "Required. The ID to use for the new deployment, which will become the final component of the deployment's resource name.", + "location": "query", + "type": "string" + }, "parent": { - "description": "Required. The parent resource of the ServerTlsPolicy. Must be in the format `projects/*/locations/{location}`.", + "description": "Required. The parent resource where this deployment will be created. Format: projects/{project}/locations/{location}", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, - "serverTlsPolicyId": { - "description": "Required. Short name of the ServerTlsPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"server_mtls_policy\".", + "requestId": { + "description": "Optional. A unique identifier for this request. Must be a UUID4. This request is only idempotent if a `request_id` is provided. See https://google.aip.dev/155 for more details.", "location": "query", "type": "string" } }, - "path": "v1/{+parent}/serverTlsPolicies", + "path": "v1/{+parent}/mirroringDeployments", "request": { - "$ref": "ServerTlsPolicy" + "$ref": "MirroringDeployment" }, "response": { "$ref": "Operation" @@ -2903,20 +2977,25 @@ ] }, "delete": { - "description": "Deletes a single ServerTlsPolicy.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}", + "description": "Deletes a deployment. See https://google.aip.dev/135.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/mirroringDeployments/{mirroringDeploymentsId}", "httpMethod": "DELETE", - "id": "networksecurity.projects.locations.serverTlsPolicies.delete", + "id": "networksecurity.projects.locations.mirroringDeployments.delete", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Required. A name of the ServerTlsPolicy to delete. Must be in the format `projects/*/locations/{location}/serverTlsPolicies/*`.", + "description": "Required. Name of the resource", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringDeployments/[^/]+$", "required": true, "type": "string" + }, + "requestId": { + "description": "Optional. A unique identifier for this request. Must be a UUID4. This request is only idempotent if a `request_id` is provided. See https://google.aip.dev/155 for more details.", + "location": "query", + "type": "string" } }, "path": "v1/{+name}", @@ -2928,115 +3007,99 @@ ] }, "get": { - "description": "Gets details of a single ServerTlsPolicy.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}", + "description": "Gets a specific deployment. See https://google.aip.dev/131.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/mirroringDeployments/{mirroringDeploymentsId}", "httpMethod": "GET", - "id": "networksecurity.projects.locations.serverTlsPolicies.get", + "id": "networksecurity.projects.locations.mirroringDeployments.get", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Required. A name of the ServerTlsPolicy to get. Must be in the format `projects/*/locations/{location}/serverTlsPolicies/*`.", + "description": "Required. The name of the deployment to retrieve. Format: projects/{project}/locations/{location}/mirroringDeployments/{mirroring_deployment}", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringDeployments/[^/]+$", "required": true, "type": "string" } }, "path": "v1/{+name}", "response": { - "$ref": "ServerTlsPolicy" + "$ref": "MirroringDeployment" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, - "getIamPolicy": { - "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}:getIamPolicy", + "list": { + "description": "Lists deployments in a given project and location. See https://google.aip.dev/132.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/mirroringDeployments", "httpMethod": "GET", - "id": "networksecurity.projects.locations.serverTlsPolicies.getIamPolicy", + "id": "networksecurity.projects.locations.mirroringDeployments.list", "parameterOrder": [ - "resource" + "parent" ], "parameters": { - "options.requestedPolicyVersion": { - "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "format": "int32", + "filter": { + "description": "Optional. Filter expression. See https://google.aip.dev/160#filtering for more details.", "location": "query", - "type": "integer" + "type": "string" }, - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", - "required": true, + "orderBy": { + "description": "Optional. Sort expression. See https://google.aip.dev/132#ordering for more details.", + "location": "query", "type": "string" - } - }, - "path": "v1/{+resource}:getIamPolicy", - "response": { - "$ref": "GoogleIamV1Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists ServerTlsPolicies in a given project and location.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies", - "httpMethod": "GET", - "id": "networksecurity.projects.locations.serverTlsPolicies.list", - "parameterOrder": [ - "parent" - ], - "parameters": { + }, "pageSize": { - "description": "Maximum number of ServerTlsPolicies to return per call.", + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. See https://google.aip.dev/158 for more details.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListServerTlsPoliciesResponse` Indicates that this is a continuation of a prior `ListServerTlsPolicies` call, and that the system should return the next page of data.", + "description": "Optional. A page token, received from a previous `ListMirroringDeployments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMirroringDeployments` must match the call that provided the page token. See https://google.aip.dev/158 for more details.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The project and location from which the ServerTlsPolicies should be listed, specified in the format `projects/*/locations/{location}`.", + "description": "Required. The parent, which owns this collection of deployments. Example: `projects/123456789/locations/us-central1-a`. See https://google.aip.dev/132 for more details.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v1/{+parent}/serverTlsPolicies", + "path": "v1/{+parent}/mirroringDeployments", "response": { - "$ref": "ListServerTlsPoliciesResponse" + "$ref": "ListMirroringDeploymentsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { - "description": "Updates the parameters of a single ServerTlsPolicy.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}", + "description": "Updates a deployment. See https://google.aip.dev/134.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/mirroringDeployments/{mirroringDeploymentsId}", "httpMethod": "PATCH", - "id": "networksecurity.projects.locations.serverTlsPolicies.patch", + "id": "networksecurity.projects.locations.mirroringDeployments.patch", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Required. Name of the ServerTlsPolicy resource. It matches the pattern `projects/*/locations/{location}/serverTlsPolicies/{server_tls_policy}`", + "description": "Immutable. Identifier. The resource name of this deployment, for example: `projects/123456789/locations/us-central1-a/mirroringDeployments/my-dep`. See https://google.aip.dev/122 for more details.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringDeployments/[^/]+$", "required": true, "type": "string" }, + "requestId": { + "description": "Optional. A unique identifier for this request. Must be a UUID4. This request is only idempotent if a `request_id` is provided. See https://google.aip.dev/155 for more details.", + "location": "query", + "type": "string" + }, "updateMask": { - "description": "Optional. Field mask is used to specify the fields to be overwritten in the ServerTlsPolicy resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "description": "Optional. The list of fields to update. Fields are specified relative to the deployment (e.g. `description`; *not* `mirroring_deployment.description`). See https://google.aip.dev/161 for more details.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -3044,7 +3107,7 @@ }, "path": "v1/{+name}", "request": { - "$ref": "ServerTlsPolicy" + "$ref": "MirroringDeployment" }, "response": { "$ref": "Operation" @@ -3052,92 +3115,223 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] - }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}:setIamPolicy", + } + } + }, + "mirroringEndpointGroupAssociations": { + "methods": { + "create": { + "description": "Creates an association in a given project and location. See https://google.aip.dev/133.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroupAssociations", "httpMethod": "POST", - "id": "networksecurity.projects.locations.serverTlsPolicies.setIamPolicy", + "id": "networksecurity.projects.locations.mirroringEndpointGroupAssociations.create", "parameterOrder": [ - "resource" + "parent" ], "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "mirroringEndpointGroupAssociationId": { + "description": "Optional. The ID to use for the new association, which will become the final component of the endpoint group's resource name. If not provided, the server will generate a unique ID.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource where this association will be created. Format: projects/{project}/locations/{location}", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" + }, + "requestId": { + "description": "Optional. A unique identifier for this request. Must be a UUID4. This request is only idempotent if a `request_id` is provided. See https://google.aip.dev/155 for more details.", + "location": "query", + "type": "string" } }, - "path": "v1/{+resource}:setIamPolicy", + "path": "v1/{+parent}/mirroringEndpointGroupAssociations", "request": { - "$ref": "GoogleIamV1SetIamPolicyRequest" + "$ref": "MirroringEndpointGroupAssociation" }, "response": { - "$ref": "GoogleIamV1Policy" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}:testIamPermissions", - "httpMethod": "POST", - "id": "networksecurity.projects.locations.serverTlsPolicies.testIamPermissions", + "delete": { + "description": "Deletes an association. See https://google.aip.dev/135.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroupAssociations/{mirroringEndpointGroupAssociationsId}", + "httpMethod": "DELETE", + "id": "networksecurity.projects.locations.mirroringEndpointGroupAssociations.delete", "parameterOrder": [ - "resource" + "name" ], "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "name": { + "description": "Required. The association to delete.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringEndpointGroupAssociations/[^/]+$", "required": true, "type": "string" + }, + "requestId": { + "description": "Optional. A unique identifier for this request. Must be a UUID4. This request is only idempotent if a `request_id` is provided. See https://google.aip.dev/155 for more details.", + "location": "query", + "type": "string" } }, - "path": "v1/{+resource}:testIamPermissions", - "request": { - "$ref": "GoogleIamV1TestIamPermissionsRequest" - }, + "path": "v1/{+name}", "response": { - "$ref": "GoogleIamV1TestIamPermissionsResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] - } - } - }, - "tlsInspectionPolicies": { - "methods": { - "create": { - "description": "Creates a new TlsInspectionPolicy in a given project and location.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tlsInspectionPolicies", - "httpMethod": "POST", - "id": "networksecurity.projects.locations.tlsInspectionPolicies.create", + }, + "get": { + "description": "Gets a specific association. See https://google.aip.dev/131.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroupAssociations/{mirroringEndpointGroupAssociationsId}", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.mirroringEndpointGroupAssociations.get", "parameterOrder": [ - "parent" + "name" ], "parameters": { - "parent": { - "description": "Required. The parent resource of the TlsInspectionPolicy. Must be in the format `projects/{project}/locations/{location}`.", + "name": { + "description": "Required. The name of the association to retrieve. Format: projects/{project}/locations/{location}/mirroringEndpointGroupAssociations/{mirroring_endpoint_group_association}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringEndpointGroupAssociations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "MirroringEndpointGroupAssociation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists associations in a given project and location. See https://google.aip.dev/132.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroupAssociations", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.mirroringEndpointGroupAssociations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter expression. See https://google.aip.dev/160#filtering for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Sort expression. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. See https://google.aip.dev/158 for more details.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListMirroringEndpointGroups` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMirroringEndpointGroups` must match the call that provided the page token. See https://google.aip.dev/158 for more details.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns this collection of associations. Example: `projects/123456789/locations/global`. See https://google.aip.dev/132 for more details.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" + } + }, + "path": "v1/{+parent}/mirroringEndpointGroupAssociations", + "response": { + "$ref": "ListMirroringEndpointGroupAssociationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an association. See https://google.aip.dev/134.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroupAssociations/{mirroringEndpointGroupAssociationsId}", + "httpMethod": "PATCH", + "id": "networksecurity.projects.locations.mirroringEndpointGroupAssociations.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. Identifier. The resource name of this endpoint group association, for example: `projects/123456789/locations/global/mirroringEndpointGroupAssociations/my-eg-association`. See https://google.aip.dev/122 for more details.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringEndpointGroupAssociations/[^/]+$", + "required": true, + "type": "string" }, - "tlsInspectionPolicyId": { - "description": "Required. Short name of the TlsInspectionPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"tls_inspection_policy1\".", + "requestId": { + "description": "Optional. A unique identifier for this request. Must be a UUID4. This request is only idempotent if a `request_id` is provided. See https://google.aip.dev/155 for more details.", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to update. Fields are specified relative to the association (e.g. `description`; *not* `mirroring_endpoint_group_association.description`). See https://google.aip.dev/161 for more details.", + "format": "google-fieldmask", "location": "query", "type": "string" } }, - "path": "v1/{+parent}/tlsInspectionPolicies", + "path": "v1/{+name}", "request": { - "$ref": "TlsInspectionPolicy" + "$ref": "MirroringEndpointGroupAssociation" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "mirroringEndpointGroups": { + "methods": { + "create": { + "description": "Creates an endpoint group in a given project and location. See https://google.aip.dev/133.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroups", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.mirroringEndpointGroups.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "mirroringEndpointGroupId": { + "description": "Required. The ID to use for the endpoint group, which will become the final component of the endpoint group's resource name.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource where this endpoint group will be created. Format: projects/{project}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A unique identifier for this request. Must be a UUID4. This request is only idempotent if a `request_id` is provided. See https://google.aip.dev/155 for more details.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/mirroringEndpointGroups", + "request": { + "$ref": "MirroringEndpointGroup" }, "response": { "$ref": "Operation" @@ -3147,25 +3341,25 @@ ] }, "delete": { - "description": "Deletes a single TlsInspectionPolicy.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tlsInspectionPolicies/{tlsInspectionPoliciesId}", + "description": "Deletes an endpoint group. See https://google.aip.dev/135.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroups/{mirroringEndpointGroupsId}", "httpMethod": "DELETE", - "id": "networksecurity.projects.locations.tlsInspectionPolicies.delete", + "id": "networksecurity.projects.locations.mirroringEndpointGroups.delete", "parameterOrder": [ "name" ], "parameters": { - "force": { - "description": "If set to true, any rules for this TlsInspectionPolicy will also be deleted. (Otherwise, the request will only work if the TlsInspectionPolicy has no rules.)", - "location": "query", - "type": "boolean" - }, "name": { - "description": "Required. A name of the TlsInspectionPolicy to delete. Must be in the format `projects/{project}/locations/{location}/tlsInspectionPolicies/{tls_inspection_policy}`.", + "description": "Required. The endpoint group to delete.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/tlsInspectionPolicies/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringEndpointGroups/[^/]+$", "required": true, "type": "string" + }, + "requestId": { + "description": "Optional. A unique identifier for this request. Must be a UUID4. This request is only idempotent if a `request_id` is provided. See https://google.aip.dev/155 for more details.", + "location": "query", + "type": "string" } }, "path": "v1/{+name}", @@ -3177,84 +3371,99 @@ ] }, "get": { - "description": "Gets details of a single TlsInspectionPolicy.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tlsInspectionPolicies/{tlsInspectionPoliciesId}", + "description": "Gets a specific endpoint group. See https://google.aip.dev/131.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroups/{mirroringEndpointGroupsId}", "httpMethod": "GET", - "id": "networksecurity.projects.locations.tlsInspectionPolicies.get", + "id": "networksecurity.projects.locations.mirroringEndpointGroups.get", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Required. A name of the TlsInspectionPolicy to get. Must be in the format `projects/{project}/locations/{location}/tlsInspectionPolicies/{tls_inspection_policy}`.", + "description": "Required. The name of the endpoint group to retrieve. Format: projects/{project}/locations/{location}/mirroringEndpointGroups/{mirroring_endpoint_group}", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/tlsInspectionPolicies/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringEndpointGroups/[^/]+$", "required": true, "type": "string" } }, "path": "v1/{+name}", "response": { - "$ref": "TlsInspectionPolicy" + "$ref": "MirroringEndpointGroup" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { - "description": "Lists TlsInspectionPolicies in a given project and location.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tlsInspectionPolicies", + "description": "Lists endpoint groups in a given project and location. See https://google.aip.dev/132.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroups", "httpMethod": "GET", - "id": "networksecurity.projects.locations.tlsInspectionPolicies.list", + "id": "networksecurity.projects.locations.mirroringEndpointGroups.list", "parameterOrder": [ "parent" ], "parameters": { + "filter": { + "description": "Optional. Filter expression. See https://google.aip.dev/160#filtering for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Sort expression. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, "pageSize": { - "description": "Maximum number of TlsInspectionPolicies to return per call.", + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. See https://google.aip.dev/158 for more details.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last 'ListTlsInspectionPoliciesResponse' Indicates that this is a continuation of a prior 'ListTlsInspectionPolicies' call, and that the system should return the next page of data.", + "description": "Optional. A page token, received from a previous `ListMirroringEndpointGroups` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMirroringEndpointGroups` must match the call that provided the page token. See https://google.aip.dev/158 for more details.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The project and location from which the TlsInspectionPolicies should be listed, specified in the format `projects/{project}/locations/{location}`.", + "description": "Required. The parent, which owns this collection of endpoint groups. Example: `projects/123456789/locations/global`. See https://google.aip.dev/132 for more details.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v1/{+parent}/tlsInspectionPolicies", + "path": "v1/{+parent}/mirroringEndpointGroups", "response": { - "$ref": "ListTlsInspectionPoliciesResponse" + "$ref": "ListMirroringEndpointGroupsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { - "description": "Updates the parameters of a single TlsInspectionPolicy.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tlsInspectionPolicies/{tlsInspectionPoliciesId}", + "description": "Updates an endpoint group. See https://google.aip.dev/134.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroups/{mirroringEndpointGroupsId}", "httpMethod": "PATCH", - "id": "networksecurity.projects.locations.tlsInspectionPolicies.patch", + "id": "networksecurity.projects.locations.mirroringEndpointGroups.patch", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Required. Name of the resource. Name is of the form projects/{project}/locations/{location}/tlsInspectionPolicies/{tls_inspection_policy} tls_inspection_policy should match the pattern:(^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$).", + "description": "Immutable. Identifier. The resource name of this endpoint group, for example: `projects/123456789/locations/global/mirroringEndpointGroups/my-eg`. See https://google.aip.dev/122 for more details.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/tlsInspectionPolicies/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringEndpointGroups/[^/]+$", "required": true, "type": "string" }, + "requestId": { + "description": "Optional. A unique identifier for this request. Must be a UUID4. This request is only idempotent if a `request_id` is provided. See https://google.aip.dev/155 for more details.", + "location": "query", + "type": "string" + }, "updateMask": { - "description": "Optional. Field mask is used to specify the fields to be overwritten in the TlsInspectionPolicy resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "description": "Optional. The list of fields to update. Fields are specified relative to the endpoint group (e.g. `description`; *not* `mirroring_endpoint_group.description`). See https://google.aip.dev/161 for more details.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -3262,7 +3471,7 @@ }, "path": "v1/{+name}", "request": { - "$ref": "TlsInspectionPolicy" + "$ref": "MirroringEndpointGroup" }, "response": { "$ref": "Operation" @@ -3273,140 +3482,669 @@ } } }, - "urlLists": { + "operations": { "methods": { - "create": { - "description": "Creates a new UrlList in a given project and location.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/urlLists", + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", - "id": "networksecurity.projects.locations.urlLists.create", + "id": "networksecurity.projects.locations.operations.cancel", "parameterOrder": [ - "parent" + "name" ], "parameters": { - "parent": { - "description": "Required. The parent resource of the UrlList. Must be in the format `projects/*/locations/{location}`.", + "name": { + "description": "The name of the operation resource to be cancelled.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", "required": true, "type": "string" - }, - "urlListId": { - "description": "Required. Short name of the UrlList resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"url_list\".", - "location": "query", - "type": "string" } }, - "path": "v1/{+parent}/urlLists", + "path": "v1/{+name}:cancel", "request": { - "$ref": "UrlList" + "$ref": "CancelOperationRequest" }, "response": { - "$ref": "Operation" + "$ref": "Empty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { - "description": "Deletes a single UrlList.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/urlLists/{urlListsId}", + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", "httpMethod": "DELETE", - "id": "networksecurity.projects.locations.urlLists.delete", + "id": "networksecurity.projects.locations.operations.delete", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Required. A name of the UrlList to delete. Must be in the format `projects/*/locations/{location}/urlLists/*`.", + "description": "The name of the operation resource to be deleted.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/urlLists/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, "path": "v1/{+name}", "response": { - "$ref": "Operation" + "$ref": "Empty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { - "description": "Gets details of a single UrlList.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/urlLists/{urlListsId}", + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", "httpMethod": "GET", - "id": "networksecurity.projects.locations.urlLists.get", + "id": "networksecurity.projects.locations.operations.get", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Required. A name of the UrlList to get. Must be in the format `projects/*/locations/{location}/urlLists/*`.", + "description": "The name of the operation resource.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/urlLists/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", "required": true, "type": "string" } }, "path": "v1/{+name}", "response": { - "$ref": "UrlList" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { - "description": "Lists UrlLists in a given project and location.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/urlLists", + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", "httpMethod": "GET", - "id": "networksecurity.projects.locations.urlLists.list", + "id": "networksecurity.projects.locations.operations.list", "parameterOrder": [ - "parent" + "name" ], "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, "pageSize": { - "description": "Maximum number of UrlLists to return per call.", + "description": "The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListUrlListsResponse` Indicates that this is a continuation of a prior `ListUrlLists` call, and that the system should return the next page of data.", + "description": "The standard list page token.", "location": "query", "type": "string" - }, - "parent": { - "description": "Required. The project and location from which the UrlLists should be listed, specified in the format `projects/{project}/locations/{location}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" } }, - "path": "v1/{+parent}/urlLists", + "path": "v1/{+name}/operations", "response": { - "$ref": "ListUrlListsResponse" + "$ref": "ListOperationsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] - }, - "patch": { - "description": "Updates the parameters of a single UrlList.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/urlLists/{urlListsId}", - "httpMethod": "PATCH", - "id": "networksecurity.projects.locations.urlLists.patch", + } + } + }, + "serverTlsPolicies": { + "methods": { + "create": { + "description": "Creates a new ServerTlsPolicy in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.serverTlsPolicies.create", "parameterOrder": [ - "name" + "parent" ], "parameters": { - "name": { - "description": "Required. Name of the resource provided by the user. Name is of the form projects/{project}/locations/{location}/urlLists/{url_list} url_list should match the pattern:(^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$).", + "parent": { + "description": "Required. The parent resource of the ServerTlsPolicy. Must be in the format `projects/*/locations/{location}`.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/urlLists/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "serverTlsPolicyId": { + "description": "Required. Short name of the ServerTlsPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"server_mtls_policy\".", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/serverTlsPolicies", + "request": { + "$ref": "ServerTlsPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single ServerTlsPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}", + "httpMethod": "DELETE", + "id": "networksecurity.projects.locations.serverTlsPolicies.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the ServerTlsPolicy to delete. Must be in the format `projects/*/locations/{location}/serverTlsPolicies/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single ServerTlsPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.serverTlsPolicies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the ServerTlsPolicy to get. Must be in the format `projects/*/locations/{location}/serverTlsPolicies/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "ServerTlsPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}:getIamPolicy", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.serverTlsPolicies.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists ServerTlsPolicies in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.serverTlsPolicies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of ServerTlsPolicies to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListServerTlsPoliciesResponse` Indicates that this is a continuation of a prior `ListServerTlsPolicies` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the ServerTlsPolicies should be listed, specified in the format `projects/*/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/serverTlsPolicies", + "response": { + "$ref": "ListServerTlsPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single ServerTlsPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}", + "httpMethod": "PATCH", + "id": "networksecurity.projects.locations.serverTlsPolicies.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the ServerTlsPolicy resource. It matches the pattern `projects/*/locations/{location}/serverTlsPolicies/{server_tls_policy}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the ServerTlsPolicy resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "ServerTlsPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}:setIamPolicy", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.serverTlsPolicies.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}:testIamPermissions", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.serverTlsPolicies.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "tlsInspectionPolicies": { + "methods": { + "create": { + "description": "Creates a new TlsInspectionPolicy in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tlsInspectionPolicies", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.tlsInspectionPolicies.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the TlsInspectionPolicy. Must be in the format `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "tlsInspectionPolicyId": { + "description": "Required. Short name of the TlsInspectionPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"tls_inspection_policy1\".", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/tlsInspectionPolicies", + "request": { + "$ref": "TlsInspectionPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single TlsInspectionPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tlsInspectionPolicies/{tlsInspectionPoliciesId}", + "httpMethod": "DELETE", + "id": "networksecurity.projects.locations.tlsInspectionPolicies.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "force": { + "description": "If set to true, any rules for this TlsInspectionPolicy will also be deleted. (Otherwise, the request will only work if the TlsInspectionPolicy has no rules.)", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. A name of the TlsInspectionPolicy to delete. Must be in the format `projects/{project}/locations/{location}/tlsInspectionPolicies/{tls_inspection_policy}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/tlsInspectionPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single TlsInspectionPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tlsInspectionPolicies/{tlsInspectionPoliciesId}", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.tlsInspectionPolicies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the TlsInspectionPolicy to get. Must be in the format `projects/{project}/locations/{location}/tlsInspectionPolicies/{tls_inspection_policy}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/tlsInspectionPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "TlsInspectionPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists TlsInspectionPolicies in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tlsInspectionPolicies", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.tlsInspectionPolicies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of TlsInspectionPolicies to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last 'ListTlsInspectionPoliciesResponse' Indicates that this is a continuation of a prior 'ListTlsInspectionPolicies' call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the TlsInspectionPolicies should be listed, specified in the format `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/tlsInspectionPolicies", + "response": { + "$ref": "ListTlsInspectionPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single TlsInspectionPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tlsInspectionPolicies/{tlsInspectionPoliciesId}", + "httpMethod": "PATCH", + "id": "networksecurity.projects.locations.tlsInspectionPolicies.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource. Name is of the form projects/{project}/locations/{location}/tlsInspectionPolicies/{tls_inspection_policy} tls_inspection_policy should match the pattern:(^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$).", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/tlsInspectionPolicies/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the TlsInspectionPolicy resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "TlsInspectionPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "urlLists": { + "methods": { + "create": { + "description": "Creates a new UrlList in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/urlLists", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.urlLists.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the UrlList. Must be in the format `projects/*/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "urlListId": { + "description": "Required. Short name of the UrlList resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"url_list\".", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/urlLists", + "request": { + "$ref": "UrlList" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single UrlList.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/urlLists/{urlListsId}", + "httpMethod": "DELETE", + "id": "networksecurity.projects.locations.urlLists.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the UrlList to delete. Must be in the format `projects/*/locations/{location}/urlLists/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/urlLists/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single UrlList.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/urlLists/{urlListsId}", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.urlLists.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the UrlList to get. Must be in the format `projects/*/locations/{location}/urlLists/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/urlLists/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "UrlList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists UrlLists in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/urlLists", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.urlLists.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of UrlLists to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListUrlListsResponse` Indicates that this is a continuation of a prior `ListUrlLists` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the UrlLists should be listed, specified in the format `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/urlLists", + "response": { + "$ref": "ListUrlListsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single UrlList.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/urlLists/{urlListsId}", + "httpMethod": "PATCH", + "id": "networksecurity.projects.locations.urlLists.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource provided by the user. Name is of the form projects/{project}/locations/{location}/urlLists/{url_list} url_list should match the pattern:(^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$).", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/urlLists/[^/]+$", "required": true, "type": "string" }, @@ -3536,6 +4274,55 @@ }, "type": "object" }, + "AntivirusOverride": { + "description": "Defines what action to take for antivirus threats per protocol.", + "id": "AntivirusOverride", + "properties": { + "action": { + "description": "Required. Threat action override. For some threat types, only a subset of actions applies.", + "enum": [ + "THREAT_ACTION_UNSPECIFIED", + "DEFAULT_ACTION", + "ALLOW", + "ALERT", + "DENY" + ], + "enumDescriptions": [ + "Threat action not specified.", + "The default action (as specified by the vendor) is taken.", + "The packet matching this rule will be allowed to transmit.", + "The packet matching this rule will be allowed to transmit, but a threat_log entry will be sent to the consumer project.", + "The packet matching this rule will be dropped, and a threat_log entry will be sent to the consumer project." + ], + "type": "string" + }, + "protocol": { + "description": "Required. Protocol to match.", + "enum": [ + "PROTOCOL_UNSPECIFIED", + "SMTP", + "SMB", + "POP3", + "IMAP", + "HTTP2", + "HTTP", + "FTP" + ], + "enumDescriptions": [ + "Protocol not specified.", + "SMTP prtocol", + "SMB protocol", + "POP3 protocol", + "IMAP protocol", + "HTTP2 protocol", + "HTTP protocol", + "FTP protocol" + ], + "type": "string" + } + }, + "type": "object" + }, "AuthorizationPolicy": { "description": "AuthorizationPolicy is a resource that specifies how a server should authorize incoming connections. This resource in itself does not change the configuration unless it's attached to a target https proxy or endpoint config selector resource.", "id": "AuthorizationPolicy", @@ -3701,7 +4488,7 @@ "id": "AuthzPolicyAuthzRuleFromRequestSource", "properties": { "principals": { - "description": "Optional. A list of identities derived from the client's certificate. This field will not match on a request unless mutual TLS is enabled for the Forwarding rule or Gateway. Each identity is a string whose value is matched against the URI SAN, or DNS SAN or the subject field in the client's certificate. The match can be exact, prefix, suffix or a substring match. One of exact, prefix, suffix or contains must be specified. Limited to 5 principals.", + "description": "Optional. A list of identities derived from the client's certificate. This field will not match on a request unless mutual TLS is enabled for the forwarding rule or Gateway. For Application Load Balancers, each identity is a string whose value is matched against the URI SAN, or DNS SAN, or SPIFFE ID, or the subject field in the client's certificate. For Cloud Service Mesh, each identity is a string whose value is matched against the URI SAN, or DNS SAN, or the subject field in the client's certificate. The match can be exact, prefix, suffix, or a substring match. One of exact, prefix, suffix, or contains must be specified. Limited to 5 principals.", "items": { "$ref": "AuthzPolicyAuthzRuleStringMatch" }, @@ -4003,22 +4790,22 @@ "type": "object" }, "CustomInterceptProfile": { - "description": "CustomInterceptProfile defines the Packet Intercept Endpoint Group used to intercept traffic to a third-party firewall in a Firewall rule.", + "description": "CustomInterceptProfile defines in-band integration behavior (intercept). It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action.", "id": "CustomInterceptProfile", "properties": { "interceptEndpointGroup": { - "description": "Required. The InterceptEndpointGroup to which traffic associated with the SP should be mirrored.", + "description": "Required. The target InterceptEndpointGroup. When a firewall rule with this security profile attached matches a packet, the packet will be intercepted to the location-local target in this group.", "type": "string" } }, "type": "object" }, "CustomMirroringProfile": { - "description": "CustomMirroringProfile defines an action for mirroring traffic to a collector's EndpointGroup", + "description": "CustomMirroringProfile defines out-of-band integration behavior (mirroring). It is used by mirroring rules with a MIRROR action.", "id": "CustomMirroringProfile", "properties": { "mirroringEndpointGroup": { - "description": "Required. The MirroringEndpointGroup to which traffic associated with the SP should be mirrored.", + "description": "Required. The target MirroringEndpointGroup. When a mirroring rule with this security profile attached matches a packet, a replica will be mirrored to the location-local target in this group.", "type": "string" } }, @@ -4137,6 +4924,16 @@ "readOnly": true, "type": "boolean" }, + "satisfiesPzi": { + "description": "Output only. [Output Only] Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. [Output Only] Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, "state": { "description": "Output only. Current state of the endpoint.", "enum": [ @@ -4585,41 +5382,227 @@ "nextPageToken": { "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListAuthorizationPoliciesResponse": { + "description": "Response returned by the ListAuthorizationPolicies method.", + "id": "ListAuthorizationPoliciesResponse", + "properties": { + "authorizationPolicies": { + "description": "List of AuthorizationPolicies resources.", + "items": { + "$ref": "AuthorizationPolicy" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "type": "string" + } + }, + "type": "object" + }, + "ListAuthzPoliciesResponse": { + "description": "Message for response to listing `AuthzPolicy` resources.", + "id": "ListAuthzPoliciesResponse", + "properties": { + "authzPolicies": { + "description": "The list of `AuthzPolicy` resources.", + "items": { + "$ref": "AuthzPolicy" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results that the server returns.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListClientTlsPoliciesResponse": { + "description": "Response returned by the ListClientTlsPolicies method.", + "id": "ListClientTlsPoliciesResponse", + "properties": { + "clientTlsPolicies": { + "description": "List of ClientTlsPolicy resources.", + "items": { + "$ref": "ClientTlsPolicy" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "type": "string" + } + }, + "type": "object" + }, + "ListFirewallEndpointAssociationsResponse": { + "description": "Message for response to listing Associations", + "id": "ListFirewallEndpointAssociationsResponse", + "properties": { + "firewallEndpointAssociations": { + "description": "The list of Association", + "items": { + "$ref": "FirewallEndpointAssociation" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListFirewallEndpointsResponse": { + "description": "Message for response to listing Endpoints", + "id": "ListFirewallEndpointsResponse", + "properties": { + "firewallEndpoints": { + "description": "The list of Endpoint", + "items": { + "$ref": "FirewallEndpoint" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListGatewaySecurityPoliciesResponse": { + "description": "Response returned by the ListGatewaySecurityPolicies method.", + "id": "ListGatewaySecurityPoliciesResponse", + "properties": { + "gatewaySecurityPolicies": { + "description": "List of GatewaySecurityPolicies resources.", + "items": { + "$ref": "GatewaySecurityPolicy" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then 'next_page_token' is included. To get the next set of results, call this method again using the value of 'next_page_token' as 'page_token'.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListGatewaySecurityPolicyRulesResponse": { + "description": "Response returned by the ListGatewaySecurityPolicyRules method.", + "id": "ListGatewaySecurityPolicyRulesResponse", + "properties": { + "gatewaySecurityPolicyRules": { + "description": "List of GatewaySecurityPolicyRule resources.", + "items": { + "$ref": "GatewaySecurityPolicyRule" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then 'next_page_token' is included. To get the next set of results, call this method again using the value of 'next_page_token' as 'page_token'.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" } }, "type": "object" }, - "ListAuthorizationPoliciesResponse": { - "description": "Response returned by the ListAuthorizationPolicies method.", - "id": "ListAuthorizationPoliciesResponse", + "ListMirroringDeploymentGroupsResponse": { + "description": "Response message for ListMirroringDeploymentGroups.", + "id": "ListMirroringDeploymentGroupsResponse", "properties": { - "authorizationPolicies": { - "description": "List of AuthorizationPolicies resources.", + "mirroringDeploymentGroups": { + "description": "The deployment groups from the specified parent.", "items": { - "$ref": "AuthorizationPolicy" + "$ref": "MirroringDeploymentGroup" }, "type": "array" }, "nextPageToken": { - "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. See https://google.aip.dev/158 for more details.", "type": "string" } }, "type": "object" }, - "ListAuthzPoliciesResponse": { - "description": "Message for response to listing `AuthzPolicy` resources.", - "id": "ListAuthzPoliciesResponse", + "ListMirroringDeploymentsResponse": { + "description": "Response message for ListMirroringDeployments.", + "id": "ListMirroringDeploymentsResponse", "properties": { - "authzPolicies": { - "description": "The list of `AuthzPolicy` resources.", + "mirroringDeployments": { + "description": "The deployments from the specified parent.", "items": { - "$ref": "AuthzPolicy" + "$ref": "MirroringDeployment" }, "type": "array" }, "nextPageToken": { - "description": "A token identifying a page of results that the server returns.", + "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. See https://google.aip.dev/158 for more details.", "type": "string" }, "unreachable": { @@ -4632,89 +5615,129 @@ }, "type": "object" }, - "ListClientTlsPoliciesResponse": { - "description": "Response returned by the ListClientTlsPolicies method.", - "id": "ListClientTlsPoliciesResponse", + "ListMirroringEndpointGroupAssociationsResponse": { + "description": "Response message for ListMirroringEndpointGroupAssociations.", + "id": "ListMirroringEndpointGroupAssociationsResponse", "properties": { - "clientTlsPolicies": { - "description": "List of ClientTlsPolicy resources.", + "mirroringEndpointGroupAssociations": { + "description": "The associations from the specified parent.", "items": { - "$ref": "ClientTlsPolicy" + "$ref": "MirroringEndpointGroupAssociation" }, "type": "array" }, "nextPageToken": { - "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. See https://google.aip.dev/158 for more details.", "type": "string" } }, "type": "object" }, - "ListFirewallEndpointAssociationsResponse": { - "description": "Message for response to listing Associations", - "id": "ListFirewallEndpointAssociationsResponse", + "ListMirroringEndpointGroupsResponse": { + "description": "Response message for ListMirroringEndpointGroups.", + "id": "ListMirroringEndpointGroupsResponse", "properties": { - "firewallEndpointAssociations": { - "description": "The list of Association", + "mirroringEndpointGroups": { + "description": "The endpoint groups from the specified parent.", "items": { - "$ref": "FirewallEndpointAssociation" + "$ref": "MirroringEndpointGroup" }, "type": "array" }, "nextPageToken": { - "description": "A token identifying a page of results the server should return.", + "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. See https://google.aip.dev/158 for more details.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", "type": "string" }, - "unreachable": { - "description": "Locations that could not be reached.", + "operations": { + "description": "A list of operations that matches the specified filter in the request.", "items": { - "type": "string" + "$ref": "Operation" }, "type": "array" } }, "type": "object" }, - "ListFirewallEndpointsResponse": { - "description": "Message for response to listing Endpoints", - "id": "ListFirewallEndpointsResponse", + "ListSecurityProfileGroupsResponse": { + "description": "Response returned by the ListSecurityProfileGroups method.", + "id": "ListSecurityProfileGroupsResponse", "properties": { - "firewallEndpoints": { - "description": "The list of Endpoint", + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "type": "string" + }, + "securityProfileGroups": { + "description": "List of SecurityProfileGroups resources.", "items": { - "$ref": "FirewallEndpoint" + "$ref": "SecurityProfileGroup" }, "type": "array" - }, + } + }, + "type": "object" + }, + "ListSecurityProfilesResponse": { + "description": "Response returned by the ListSecurityProfiles method.", + "id": "ListSecurityProfilesResponse", + "properties": { "nextPageToken": { - "description": "A token identifying a page of results the server should return.", + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", "type": "string" }, - "unreachable": { - "description": "Locations that could not be reached.", + "securityProfiles": { + "description": "List of SecurityProfile resources.", "items": { - "type": "string" + "$ref": "SecurityProfile" }, "type": "array" } }, "type": "object" }, - "ListGatewaySecurityPoliciesResponse": { - "description": "Response returned by the ListGatewaySecurityPolicies method.", - "id": "ListGatewaySecurityPoliciesResponse", + "ListServerTlsPoliciesResponse": { + "description": "Response returned by the ListServerTlsPolicies method.", + "id": "ListServerTlsPoliciesResponse", "properties": { - "gatewaySecurityPolicies": { - "description": "List of GatewaySecurityPolicies resources.", + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "type": "string" + }, + "serverTlsPolicies": { + "description": "List of ServerTlsPolicy resources.", "items": { - "$ref": "GatewaySecurityPolicy" + "$ref": "ServerTlsPolicy" }, "type": "array" - }, + } + }, + "type": "object" + }, + "ListTlsInspectionPoliciesResponse": { + "description": "Response returned by the ListTlsInspectionPolicies method.", + "id": "ListTlsInspectionPoliciesResponse", + "properties": { "nextPageToken": { "description": "If there might be more results than those appearing in this response, then 'next_page_token' is included. To get the next set of results, call this method again using the value of 'next_page_token' as 'page_token'.", "type": "string" }, + "tlsInspectionPolicies": { + "description": "List of TlsInspectionPolicies resources.", + "items": { + "$ref": "TlsInspectionPolicy" + }, + "type": "array" + }, "unreachable": { "description": "Locations that could not be reached.", "items": { @@ -4725,19 +5748,12 @@ }, "type": "object" }, - "ListGatewaySecurityPolicyRulesResponse": { - "description": "Response returned by the ListGatewaySecurityPolicyRules method.", - "id": "ListGatewaySecurityPolicyRulesResponse", + "ListUrlListsResponse": { + "description": "Response returned by the ListUrlLists method.", + "id": "ListUrlListsResponse", "properties": { - "gatewaySecurityPolicyRules": { - "description": "List of GatewaySecurityPolicyRule resources.", - "items": { - "$ref": "GatewaySecurityPolicyRule" - }, - "type": "array" - }, "nextPageToken": { - "description": "If there might be more results than those appearing in this response, then 'next_page_token' is included. To get the next set of results, call this method again using the value of 'next_page_token' as 'page_token'.", + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", "type": "string" }, "unreachable": { @@ -4746,211 +5762,482 @@ "type": "string" }, "type": "array" + }, + "urlLists": { + "description": "List of UrlList resources.", + "items": { + "$ref": "UrlList" + }, + "type": "array" } }, "type": "object" }, - "ListLocationsResponse": { - "description": "The response message for Locations.ListLocations.", - "id": "ListLocationsResponse", + "Location": { + "description": "A resource that represents a Google Cloud location.", + "id": "Location", "properties": { - "locations": { - "description": "A list of locations that matches the specified filter in the request.", + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "MTLSPolicy": { + "description": "Specification of the MTLSPolicy.", + "id": "MTLSPolicy", + "properties": { + "clientValidationCa": { + "description": "Required if the policy is to be used with Traffic Director. For Application Load Balancers it must be empty. Defines the mechanism to obtain the Certificate Authority certificate to validate the client certificate.", "items": { - "$ref": "Location" + "$ref": "ValidationCA" }, "type": "array" }, - "nextPageToken": { - "description": "The standard List next-page token.", + "clientValidationMode": { + "description": "When the client presents an invalid certificate or no certificate to the load balancer, the `client_validation_mode` specifies how the client connection is handled. Required if the policy is to be used with the Application Load Balancers. For Traffic Director it must be empty.", + "enum": [ + "CLIENT_VALIDATION_MODE_UNSPECIFIED", + "ALLOW_INVALID_OR_MISSING_CLIENT_CERT", + "REJECT_INVALID" + ], + "enumDescriptions": [ + "Not allowed.", + "Allow connection even if certificate chain validation of the client certificate failed or no client certificate was presented. The proof of possession of the private key is always checked if client certificate was presented. This mode requires the backend to implement processing of data extracted from a client certificate to authenticate the peer, or to reject connections if the client certificate fingerprint is missing.", + "Require a client certificate and allow connection to the backend only if validation of the client certificate passed. If set, requires a reference to non-empty TrustConfig specified in `client_validation_trust_config`." + ], + "type": "string" + }, + "clientValidationTrustConfig": { + "description": "Reference to the TrustConfig from certificatemanager.googleapis.com namespace. If specified, the chain validation will be performed against certificates configured in the given TrustConfig. Allowed only if the policy is to be used with Application Load Balancers.", "type": "string" } }, "type": "object" }, - "ListOperationsResponse": { - "description": "The response message for Operations.ListOperations.", - "id": "ListOperationsResponse", + "MirroringDeployment": { + "description": "A deployment represents a zonal mirroring backend ready to accept GENEVE-encapsulated replica traffic, e.g. a zonal instance group fronted by an internal passthrough load balancer. Deployments are always part of a global deployment group which represents a global mirroring service.", + "id": "MirroringDeployment", "properties": { - "nextPageToken": { - "description": "The standard List next-page token.", + "createTime": { + "description": "Output only. The timestamp when the resource was created. See https://google.aip.dev/148#timestamps.", + "format": "google-datetime", + "readOnly": true, "type": "string" }, - "operations": { - "description": "A list of operations that matches the specified filter in the request.", - "items": { - "$ref": "Operation" + "description": { + "description": "Optional. User-provided description of the deployment. Used as additional context for the deployment.", + "type": "string" + }, + "forwardingRule": { + "description": "Required. Immutable. The regional forwarding rule that fronts the mirroring collectors, for example: `projects/123456789/regions/us-central1/forwardingRules/my-rule`. See https://google.aip.dev/124.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" }, - "type": "array" + "description": "Optional. Labels are key/value pairs that help to organize and filter resources.", + "type": "object" + }, + "mirroringDeploymentGroup": { + "description": "Required. Immutable. The deployment group that this deployment is a part of, for example: `projects/123456789/locations/global/mirroringDeploymentGroups/my-dg`. See https://google.aip.dev/124.", + "type": "string" + }, + "name": { + "description": "Immutable. Identifier. The resource name of this deployment, for example: `projects/123456789/locations/us-central1-a/mirroringDeployments/my-dep`. See https://google.aip.dev/122 for more details.", + "type": "string" + }, + "reconciling": { + "description": "Output only. The current state of the resource does not match the user's intended state, and the system is working to reconcile them. This part of the normal operation (e.g. linking a new association to the parent group). See https://google.aip.dev/128.", + "readOnly": true, + "type": "boolean" + }, + "state": { + "description": "Output only. The current state of the deployment. See https://google.aip.dev/216.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "CREATING", + "DELETING", + "OUT_OF_SYNC", + "DELETE_FAILED" + ], + "enumDescriptions": [ + "State not set (this is not a valid state).", + "The deployment is ready and in sync with the parent group.", + "The deployment is being created.", + "The deployment is being deleted.", + "The deployment is out of sync with the parent group. In most cases, this is a result of a transient issue within the system (e.g. a delayed data-path config) and the system is expected to recover automatically. See the parent deployment group's state for more details.", + "An attempt to delete the deployment has failed. This is a terminal state and the deployment is not expected to recover. The only permitted operation is to retry deleting the deployment." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was most recently updated. See https://google.aip.dev/148#timestamps.", + "format": "google-datetime", + "readOnly": true, + "type": "string" } }, "type": "object" }, - "ListSecurityProfileGroupsResponse": { - "description": "Response returned by the ListSecurityProfileGroups method.", - "id": "ListSecurityProfileGroupsResponse", + "MirroringDeploymentGroup": { + "description": "A deployment group aggregates many zonal mirroring backends (deployments) into a single global mirroring service. Consumers can connect this service using an endpoint group.", + "id": "MirroringDeploymentGroup", "properties": { - "nextPageToken": { - "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "connectedEndpointGroups": { + "description": "Output only. The list of endpoint groups that are connected to this resource.", + "items": { + "$ref": "MirroringDeploymentGroupConnectedEndpointGroup" + }, + "readOnly": true, + "type": "array" + }, + "createTime": { + "description": "Output only. The timestamp when the resource was created. See https://google.aip.dev/148#timestamps.", + "format": "google-datetime", + "readOnly": true, "type": "string" }, - "securityProfileGroups": { - "description": "List of SecurityProfileGroups resources.", + "description": { + "description": "Optional. User-provided description of the deployment group. Used as additional context for the deployment group.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels are key/value pairs that help to organize and filter resources.", + "type": "object" + }, + "name": { + "description": "Immutable. Identifier. The resource name of this deployment group, for example: `projects/123456789/locations/global/mirroringDeploymentGroups/my-dg`. See https://google.aip.dev/122 for more details.", + "type": "string" + }, + "nestedDeployments": { + "description": "Output only. The list of Mirroring Deployments that belong to this group.", "items": { - "$ref": "SecurityProfileGroup" + "$ref": "MirroringDeploymentGroupDeployment" }, + "readOnly": true, "type": "array" + }, + "network": { + "description": "Required. Immutable. The network that will be used for all child deployments, for example: `projects/{project}/global/networks/{network}`. See https://google.aip.dev/124.", + "type": "string" + }, + "reconciling": { + "description": "Output only. The current state of the resource does not match the user's intended state, and the system is working to reconcile them. This is part of the normal operation (e.g. adding a new deployment to the group) See https://google.aip.dev/128.", + "readOnly": true, + "type": "boolean" + }, + "state": { + "description": "Output only. The current state of the deployment group. See https://google.aip.dev/216.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "CREATING", + "DELETING" + ], + "enumDescriptions": [ + "State not set (this is not a valid state).", + "The deployment group is ready.", + "The deployment group is being created.", + "The deployment group is being deleted." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was most recently updated. See https://google.aip.dev/148#timestamps.", + "format": "google-datetime", + "readOnly": true, + "type": "string" } }, "type": "object" }, - "ListSecurityProfilesResponse": { - "description": "Response returned by the ListSecurityProfiles method.", - "id": "ListSecurityProfilesResponse", + "MirroringDeploymentGroupConnectedEndpointGroup": { + "description": "An endpoint group connected to this deployment group.", + "id": "MirroringDeploymentGroupConnectedEndpointGroup", "properties": { - "nextPageToken": { - "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "name": { + "description": "Output only. The connected endpoint group's resource name, for example: `projects/123456789/locations/global/mirroringEndpointGroups/my-eg`. See https://google.aip.dev/124.", + "readOnly": true, "type": "string" - }, - "securityProfiles": { - "description": "List of SecurityProfile resources.", - "items": { - "$ref": "SecurityProfile" - }, - "type": "array" } }, "type": "object" }, - "ListServerTlsPoliciesResponse": { - "description": "Response returned by the ListServerTlsPolicies method.", - "id": "ListServerTlsPoliciesResponse", + "MirroringDeploymentGroupDeployment": { + "description": "A deployment belonging to this deployment group.", + "id": "MirroringDeploymentGroupDeployment", "properties": { - "nextPageToken": { - "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "name": { + "description": "Output only. The name of the Mirroring Deployment, in the format: `projects/{project}/locations/{location}/mirroringDeployments/{mirroring_deployment}`.", + "readOnly": true, "type": "string" }, - "serverTlsPolicies": { - "description": "List of ServerTlsPolicy resources.", - "items": { - "$ref": "ServerTlsPolicy" - }, - "type": "array" + "state": { + "description": "Output only. Most recent known state of the deployment.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "CREATING", + "DELETING", + "OUT_OF_SYNC", + "DELETE_FAILED" + ], + "enumDescriptions": [ + "State not set (this is not a valid state).", + "The deployment is ready and in sync with the parent group.", + "The deployment is being created.", + "The deployment is being deleted.", + "The deployment is out of sync with the parent group. In most cases, this is a result of a transient issue within the system (e.g. a delayed data-path config) and the system is expected to recover automatically. See the parent deployment group's state for more details.", + "An attempt to delete the deployment has failed. This is a terminal state and the deployment is not expected to recover. The only permitted operation is to retry deleting the deployment." + ], + "readOnly": true, + "type": "string" } }, "type": "object" }, - "ListTlsInspectionPoliciesResponse": { - "description": "Response returned by the ListTlsInspectionPolicies method.", - "id": "ListTlsInspectionPoliciesResponse", + "MirroringEndpointGroup": { + "description": "An endpoint group is a consumer frontend for a deployment group (backend). In order to configure mirroring for a network, consumers must create: - An association between their network and the endpoint group. - A security profile that points to the endpoint group. - A mirroring rule that references the security profile (group).", + "id": "MirroringEndpointGroup", "properties": { - "nextPageToken": { - "description": "If there might be more results than those appearing in this response, then 'next_page_token' is included. To get the next set of results, call this method again using the value of 'next_page_token' as 'page_token'.", - "type": "string" - }, - "tlsInspectionPolicies": { - "description": "List of TlsInspectionPolicies resources.", + "associations": { + "description": "Output only. List of associations to this endpoint group.", "items": { - "$ref": "TlsInspectionPolicy" + "$ref": "MirroringEndpointGroupAssociationDetails" }, + "readOnly": true, "type": "array" }, - "unreachable": { - "description": "Locations that could not be reached.", - "items": { + "createTime": { + "description": "Output only. The timestamp when the resource was created. See https://google.aip.dev/148#timestamps.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. User-provided description of the endpoint group. Used as additional context for the endpoint group.", + "type": "string" + }, + "labels": { + "additionalProperties": { "type": "string" }, - "type": "array" + "description": "Optional. Labels are key/value pairs that help to organize and filter resources.", + "type": "object" + }, + "mirroringDeploymentGroup": { + "description": "Immutable. The deployment group that this DIRECT endpoint group is connected to, for example: `projects/123456789/locations/global/mirroringDeploymentGroups/my-dg`. See https://google.aip.dev/124.", + "type": "string" + }, + "name": { + "description": "Immutable. Identifier. The resource name of this endpoint group, for example: `projects/123456789/locations/global/mirroringEndpointGroups/my-eg`. See https://google.aip.dev/122 for more details.", + "type": "string" + }, + "reconciling": { + "description": "Output only. The current state of the resource does not match the user's intended state, and the system is working to reconcile them. This is part of the normal operation (e.g. adding a new association to the group). See https://google.aip.dev/128.", + "readOnly": true, + "type": "boolean" + }, + "state": { + "description": "Output only. The current state of the endpoint group. See https://google.aip.dev/216.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "CLOSED", + "CREATING", + "DELETING", + "OUT_OF_SYNC", + "DELETE_FAILED" + ], + "enumDescriptions": [ + "State not set (this is not a valid state).", + "The endpoint group is ready and in sync with the target deployment group.", + "The deployment group backing this endpoint group has been force-deleted. This endpoint group cannot be used and mirroring is effectively disabled.", + "The endpoint group is being created.", + "The endpoint group is being deleted.", + "The endpoint group is out of sync with the backing deployment group. In most cases, this is a result of a transient issue within the system (e.g. an inaccessible location) and the system is expected to recover automatically. See the associations field for details per network and location.", + "An attempt to delete the endpoint group has failed. This is a terminal state and the endpoint group is not expected to recover. The only permitted operation is to retry deleting the endpoint group." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was most recently updated. See https://google.aip.dev/148#timestamps.", + "format": "google-datetime", + "readOnly": true, + "type": "string" } }, "type": "object" }, - "ListUrlListsResponse": { - "description": "Response returned by the ListUrlLists method.", - "id": "ListUrlListsResponse", + "MirroringEndpointGroupAssociation": { + "description": "An endpoint group association represents a link between a network and an endpoint group in the organization. Creating an association creates the networking infrastructure linking the network to the endpoint group, but does not enable mirroring by itself. To enable mirroring, the user must also create a network firewall policy containing mirroring rules and associate it with the network.", + "id": "MirroringEndpointGroupAssociation", "properties": { - "nextPageToken": { - "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "createTime": { + "description": "Output only. The timestamp when the resource was created. See https://google.aip.dev/148#timestamps.", + "format": "google-datetime", + "readOnly": true, "type": "string" }, - "unreachable": { - "description": "Locations that could not be reached.", - "items": { + "labels": { + "additionalProperties": { "type": "string" }, - "type": "array" + "description": "Optional. Labels are key/value pairs that help to organize and filter resources.", + "type": "object" }, - "urlLists": { - "description": "List of UrlList resources.", + "locationsDetails": { + "description": "Output only. The list of locations where the association is present. This information is retrieved from the linked endpoint group, and not configured as part of the association itself.", "items": { - "$ref": "UrlList" + "$ref": "MirroringEndpointGroupAssociationLocationDetails" }, + "readOnly": true, "type": "array" + }, + "mirroringEndpointGroup": { + "description": "Immutable. The endpoint group that this association is connected to, for example: `projects/123456789/locations/global/mirroringEndpointGroups/my-eg`. See https://google.aip.dev/124.", + "type": "string" + }, + "name": { + "description": "Immutable. Identifier. The resource name of this endpoint group association, for example: `projects/123456789/locations/global/mirroringEndpointGroupAssociations/my-eg-association`. See https://google.aip.dev/122 for more details.", + "type": "string" + }, + "network": { + "description": "Immutable. The VPC network that is associated. for example: `projects/123456789/global/networks/my-network`. See https://google.aip.dev/124.", + "type": "string" + }, + "reconciling": { + "description": "Output only. The current state of the resource does not match the user's intended state, and the system is working to reconcile them. This part of the normal operation (e.g. adding a new location to the target deployment group). See https://google.aip.dev/128.", + "readOnly": true, + "type": "boolean" + }, + "state": { + "description": "Output only. Current state of the endpoint group association.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "CREATING", + "DELETING", + "CLOSED", + "OUT_OF_SYNC", + "DELETE_FAILED" + ], + "enumDescriptions": [ + "Not set.", + "The association is ready and in sync with the linked endpoint group.", + "The association is being created.", + "The association is being deleted.", + "The association is disabled due to a breaking change in another resource.", + "The association is out of sync with the linked endpoint group. In most cases, this is a result of a transient issue within the system (e.g. an inaccessible location) and the system is expected to recover automatically. Check the `locations_details` field for more details.", + "An attempt to delete the association has failed. This is a terminal state and the association is not expected to be usable as some of its resources have been deleted. The only permitted operation is to retry deleting the association." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was most recently updated. See https://google.aip.dev/148#timestamps.", + "format": "google-datetime", + "readOnly": true, + "type": "string" } }, "type": "object" }, - "Location": { - "description": "A resource that represents a Google Cloud location.", - "id": "Location", + "MirroringEndpointGroupAssociationDetails": { + "description": "The endpoint group's view of a connected association.", + "id": "MirroringEndpointGroupAssociationDetails", "properties": { - "displayName": { - "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "name": { + "description": "Output only. The connected association's resource name, for example: `projects/123456789/locations/global/mirroringEndpointGroupAssociations/my-ega`. See https://google.aip.dev/124.", + "readOnly": true, "type": "string" }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", - "type": "object" - }, - "locationId": { - "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "network": { + "description": "Output only. The associated network, for example: projects/123456789/global/networks/my-network. See https://google.aip.dev/124.", + "readOnly": true, "type": "string" }, - "metadata": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Service-specific metadata. For example the available capacity at the given location.", - "type": "object" - }, - "name": { - "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "state": { + "description": "Output only. Most recent known state of the association.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "CREATING", + "DELETING", + "CLOSED", + "OUT_OF_SYNC", + "DELETE_FAILED" + ], + "enumDescriptions": [ + "Not set.", + "The association is ready and in sync with the linked endpoint group.", + "The association is being created.", + "The association is being deleted.", + "The association is disabled due to a breaking change in another resource.", + "The association is out of sync with the linked endpoint group. In most cases, this is a result of a transient issue within the system (e.g. an inaccessible location) and the system is expected to recover automatically. Check the `locations_details` field for more details.", + "An attempt to delete the association has failed. This is a terminal state and the association is not expected to be usable as some of its resources have been deleted. The only permitted operation is to retry deleting the association." + ], + "readOnly": true, "type": "string" } }, "type": "object" }, - "MTLSPolicy": { - "description": "Specification of the MTLSPolicy.", - "id": "MTLSPolicy", + "MirroringEndpointGroupAssociationLocationDetails": { + "description": "Contains details about the state of an association in a specific cloud location.", + "id": "MirroringEndpointGroupAssociationLocationDetails", "properties": { - "clientValidationCa": { - "description": "Required if the policy is to be used with Traffic Director. For Application Load Balancers it must be empty. Defines the mechanism to obtain the Certificate Authority certificate to validate the client certificate.", - "items": { - "$ref": "ValidationCA" - }, - "type": "array" + "location": { + "description": "Output only. The cloud location, e.g. \"us-central1-a\" or \"asia-south1\".", + "readOnly": true, + "type": "string" }, - "clientValidationMode": { - "description": "When the client presents an invalid certificate or no certificate to the load balancer, the `client_validation_mode` specifies how the client connection is handled. Required if the policy is to be used with the Application Load Balancers. For Traffic Director it must be empty.", + "state": { + "description": "Output only. The current state of the association in this location.", "enum": [ - "CLIENT_VALIDATION_MODE_UNSPECIFIED", - "ALLOW_INVALID_OR_MISSING_CLIENT_CERT", - "REJECT_INVALID" + "STATE_UNSPECIFIED", + "ACTIVE", + "OUT_OF_SYNC" ], "enumDescriptions": [ - "Not allowed.", - "Allow connection even if certificate chain validation of the client certificate failed or no client certificate was presented. The proof of possession of the private key is always checked if client certificate was presented. This mode requires the backend to implement processing of data extracted from a client certificate to authenticate the peer, or to reject connections if the client certificate fingerprint is missing.", - "Require a client certificate and allow connection to the backend only if validation of the client certificate passed. If set, requires a reference to non-empty TrustConfig specified in `client_validation_trust_config`." + "Not set.", + "The association is ready and in sync with the linked endpoint group.", + "The association is out of sync with the linked endpoint group. In most cases, this is a result of a transient issue within the system (e.g. an inaccessible location) and the system is expected to recover automatically." ], - "type": "string" - }, - "clientValidationTrustConfig": { - "description": "Reference to the TrustConfig from certificatemanager.googleapis.com namespace. If specified, the chain validation will be performed against certificates configured in the given TrustConfig. Allowed only if the policy is to be used with Application Load Balancers.", + "readOnly": true, "type": "string" } }, @@ -5159,6 +6446,12 @@ "description": "Optional. Reference to a SecurityProfile with the CustomMirroring configuration.", "type": "string" }, + "dataPathId": { + "description": "Output only. Identifier used by the data-path. Unique within {container, location}.", + "format": "uint64", + "readOnly": true, + "type": "string" + }, "description": { "description": "Optional. An optional description of the profile group. Max length 2048 characters.", "type": "string" @@ -5385,6 +6678,13 @@ "description": "ThreatPreventionProfile defines an action for specific threat signatures or severity levels.", "id": "ThreatPreventionProfile", "properties": { + "antivirusOverrides": { + "description": "Optional. Configuration for overriding antivirus actions per protocol.", + "items": { + "$ref": "AntivirusOverride" + }, + "type": "array" + }, "severityOverrides": { "description": "Optional. Configuration for overriding threats actions by severity match.", "items": { diff --git a/discovery/googleapis/networkservices__v1.json b/discovery/googleapis/networkservices__v1.json index 6b6a181d7..4475d8742 100644 --- a/discovery/googleapis/networkservices__v1.json +++ b/discovery/googleapis/networkservices__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241118", + "revision": "20250224", "rootUrl": "https://networkservices.googleapis.com/", "servicePath": "", "title": "Network Services API", @@ -205,7 +205,7 @@ "type": "string" }, "requestId": { - "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server ignores the second request This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -238,7 +238,7 @@ "type": "string" }, "requestId": { - "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server ignores the second request This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -291,7 +291,7 @@ "type": "string" }, "orderBy": { - "description": "Optional. Hint for how to order the results.", + "description": "Optional. Hint about how to order the results.", "location": "query", "type": "string" }, @@ -307,7 +307,7 @@ "type": "string" }, "parent": { - "description": "Required. The project and location from which the `AuthzExtension` resources are listed, specified in the following format: `projects/{project}/locations/{location}`.", + "description": "Required. The project and location from which the `AuthzExtension` resources are listed. These values are specified in the following format: `projects/{project}/locations/{location}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -339,7 +339,7 @@ "type": "string" }, "requestId": { - "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server ignores the second request This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -1355,7 +1355,7 @@ "type": "string" }, "requestId": { - "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server ignores the second request This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1388,7 +1388,7 @@ "type": "string" }, "requestId": { - "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server ignores the second request This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1441,7 +1441,7 @@ "type": "string" }, "orderBy": { - "description": "Optional. Hint for how to order the results.", + "description": "Optional. Hint about how to order the results.", "location": "query", "type": "string" }, @@ -1457,7 +1457,7 @@ "type": "string" }, "parent": { - "description": "Required. The project and location from which the `LbRouteExtension` resources are listed, specified in the following format: `projects/{project}/locations/{location}`.", + "description": "Required. The project and location from which the `LbRouteExtension` resources are listed. These values are specified in the following format: `projects/{project}/locations/{location}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -1489,7 +1489,7 @@ "type": "string" }, "requestId": { - "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server ignores the second request This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -1537,7 +1537,7 @@ "type": "string" }, "requestId": { - "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server ignores the second request This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1570,7 +1570,7 @@ "type": "string" }, "requestId": { - "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server ignores the second request This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1623,7 +1623,7 @@ "type": "string" }, "orderBy": { - "description": "Optional. Hint for how to order the results.", + "description": "Optional. Hint about how to order the results.", "location": "query", "type": "string" }, @@ -1639,7 +1639,7 @@ "type": "string" }, "parent": { - "description": "Required. The project and location from which the `LbTrafficExtension` resources are listed, specified in the following format: `projects/{project}/locations/{location}`.", + "description": "Required. The project and location from which the `LbTrafficExtension` resources are listed. These values are specified in the following format: `projects/{project}/locations/{location}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -1671,7 +1671,7 @@ "type": "string" }, "requestId": { - "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server ignores the second request This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -1806,6 +1806,11 @@ "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Optional. If true, allow partial responses for multi-regional Aggregated List requests. Otherwise if one of the locations is down or unreachable, the Aggregated List request will fail.", + "location": "query", + "type": "boolean" } }, "path": "v1/{+parent}/meshes", @@ -2054,7 +2059,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource of the ServiceBinding. Must be in the format `projects/*/locations/global`.", + "description": "Required. The parent resource of the ServiceBinding. Must be in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -2087,7 +2092,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the ServiceBinding to delete. Must be in the format `projects/*/locations/global/serviceBindings/*`.", + "description": "Required. A name of the ServiceBinding to delete. Must be in the format `projects/*/locations/*/serviceBindings/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/serviceBindings/[^/]+$", "required": true, @@ -2112,7 +2117,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the ServiceBinding to get. Must be in the format `projects/*/locations/global/serviceBindings/*`.", + "description": "Required. A name of the ServiceBinding to get. Must be in the format `projects/*/locations/*/serviceBindings/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/serviceBindings/[^/]+$", "required": true, @@ -2148,7 +2153,7 @@ "type": "string" }, "parent": { - "description": "Required. The project and location from which the ServiceBindings should be listed, specified in the format `projects/*/locations/global`.", + "description": "Required. The project and location from which the ServiceBindings should be listed, specified in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -3065,14 +3070,14 @@ "type": "string" }, "wireFormat": { - "description": "Optional. The format of communication supported by the callout extension. If not specified, the default is `EXT_PROC_GRPC`.", + "description": "Optional. The format of communication supported by the callout extension. If not specified, the default value `EXT_PROC_GRPC` is used.", "enum": [ "WIRE_FORMAT_UNSPECIFIED", "EXT_PROC_GRPC" ], "enumDescriptions": [ "Not specified.", - "The extension service uses ExtProc GRPC API over a gRPC stream. This is the default value if the wire format is not specified. The backend service for the extension must use HTTP2 or H2C as the protocol. All `supported_events` for a client request will be sent as part of the same gRPC stream." + "The extension service uses ExtProc GRPC API over a gRPC stream. This is the default value if the wire format is not specified. The backend service for the extension must use HTTP2 or H2C as the protocol. All `supported_events` for a client request are sent as part of the same gRPC stream." ], "type": "string" } @@ -3360,7 +3365,7 @@ "type": "object" }, "Gateway": { - "description": "Gateway represents the configuration for a proxy, typically a load balancer. It captures the ip:port over which the services are exposed by the proxy, along with any policy configurations. Routes have reference to to Gateways to dictate how requests should be routed by this Gateway. Next id: 33", + "description": "Gateway represents the configuration for a proxy, typically a load balancer. It captures the ip:port over which the services are exposed by the proxy, along with any policy configurations. Routes have reference to to Gateways to dictate how requests should be routed by this Gateway.", "id": "Gateway", "properties": { "addresses": { @@ -3455,7 +3460,7 @@ "type": "string" }, "scope": { - "description": "Optional. Scope determines how configuration across multiple Gateway instances are merged. The configuration for multiple Gateway instances with the same scope will be merged as presented as a single coniguration to the proxy/load balancer. Max length 64 characters. Scope should start with a letter and can only have letters, numbers, hyphens.", + "description": "Optional. Scope determines how configuration across multiple Gateway instances are merged. The configuration for multiple Gateway instances with the same scope will be merged as presented as a single configuration to the proxy/load balancer. Max length 64 characters. Scope should start with a letter and can only have letters, numbers, hyphens.", "type": "string" }, "selfLink": { @@ -4490,7 +4495,7 @@ "type": "object" }, "loadBalancingScheme": { - "description": "Required. All backend services and forwarding rules referenced by this extension must share the same load balancing scheme. Supported values: `INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service).", + "description": "Required. All backend services and forwarding rules referenced by this extension must share the same load balancing scheme. Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service).", "enum": [ "LOAD_BALANCING_SCHEME_UNSPECIFIED", "INTERNAL_MANAGED", @@ -4746,6 +4751,13 @@ "nextPageToken": { "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", "type": "string" + }, + "unreachable": { + "description": "Unreachable resources. Populated when the request opts into `return_partial_success` and reading across collections e.g. when attempting to list all resources across all supported locations.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -5157,7 +5169,7 @@ "type": "object" }, "ServiceBinding": { - "description": "ServiceBinding is the resource that defines a Service Directory Service to be used in a BackendService resource.", + "description": "ServiceBinding can be used to: - Bind a Service Directory Service to be used in a BackendService resource. - Bind a Private Service Connect producer service to be used in consumer Cloud Service Mesh or Application Load Balancers.", "id": "ServiceBinding", "properties": { "createTime": { @@ -5178,15 +5190,15 @@ "type": "object" }, "name": { - "description": "Identifier. Name of the ServiceBinding resource. It matches pattern `projects/*/locations/global/serviceBindings/service_binding_name`.", + "description": "Identifier. Name of the ServiceBinding resource. It matches pattern `projects/*/locations/*/serviceBindings/`.", "type": "string" }, "service": { - "description": "Required. The full Service Directory Service name of the format projects/*/locations/*/namespaces/*/services/*", + "description": "Optional. The full Service Directory Service name of the format `projects/*/locations/*/namespaces/*/services/*`. This field must be set.", "type": "string" }, "serviceId": { - "description": "Output only. The unique identifier of the Service Directory Service against which the Service Binding resource is validated. This is populated when the Service Binding resource is used in another resource (like Backend Service). This is of the UUID4 format.", + "description": "Output only. The unique identifier of the Service Directory Service against which the ServiceBinding resource is validated. This is populated when the Service Binding resource is used in another resource (like Backend Service). This is of the UUID4 format.", "readOnly": true, "type": "string" }, @@ -5581,7 +5593,7 @@ "type": "object" }, "TlsRouteRouteMatch": { - "description": "RouteMatch defines the predicate used to match requests to a given action. Multiple match types are \"AND\"ed for evaluation. If no routeMatch field is specified, this rule will unconditionally match traffic.", + "description": "RouteMatch defines the predicate used to match requests to a given action. Multiple match types are \"AND\"ed for evaluation.", "id": "TlsRouteRouteMatch", "properties": { "alpn": { @@ -5610,7 +5622,7 @@ "description": "Required. The detailed rule defining how to route matched traffic." }, "matches": { - "description": "Required. RouteMatch defines the predicate used to match requests to a given action. Multiple match types are \"OR\"ed for evaluation.", + "description": "Required. RouteMatch defines the predicate used to match requests to a given action. Multiple match types are \"OR\"ed for evaluation. Atleast one RouteMatch must be supplied.", "items": { "$ref": "TlsRouteRouteMatch" }, diff --git a/discovery/googleapis/notebooks__v2.json b/discovery/googleapis/notebooks__v2.json index a3db7929e..9f32ef274 100644 --- a/discovery/googleapis/notebooks__v2.json +++ b/discovery/googleapis/notebooks__v2.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241204", + "revision": "20250101", "rootUrl": "https://notebooks.googleapis.com/", "servicePath": "", "title": "Notebooks API", @@ -929,6 +929,8 @@ "NVIDIA_TESLA_A100", "NVIDIA_A100_80GB", "NVIDIA_L4", + "NVIDIA_H100_80GB", + "NVIDIA_H100_MEGA_80GB", "NVIDIA_TESLA_T4_VWS", "NVIDIA_TESLA_P100_VWS", "NVIDIA_TESLA_P4_VWS" @@ -942,6 +944,8 @@ "Accelerator type is Nvidia Tesla A100 - 40GB.", "Accelerator type is Nvidia Tesla A100 - 80GB.", "Accelerator type is Nvidia Tesla L4.", + "Accelerator type is Nvidia Tesla H100 - 80GB.", + "Accelerator type is Nvidia Tesla H100 - MEGA 80GB.", "Accelerator type is NVIDIA Tesla T4 Virtual Workstations.", "Accelerator type is NVIDIA Tesla P100 Virtual Workstations.", "Accelerator type is NVIDIA Tesla P4 Virtual Workstations." diff --git a/discovery/googleapis/ondemandscanning__v1.json b/discovery/googleapis/ondemandscanning__v1.json index 92644daa8..55a8d13af 100644 --- a/discovery/googleapis/ondemandscanning__v1.json +++ b/discovery/googleapis/ondemandscanning__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241209", + "revision": "20250217", "rootUrl": "https://ondemandscanning.googleapis.com/", "servicePath": "", "title": "On-Demand Scanning API", @@ -509,6 +509,26 @@ }, "type": "object" }, + "BaseImage": { + "description": "BaseImage describes a base image of a container image.", + "id": "BaseImage", + "properties": { + "layerCount": { + "description": "The number of layers that the base image is composed of.", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "The name of the base image.", + "type": "string" + }, + "repository": { + "description": "The repository name in which the base image is from.", + "type": "string" + } + }, + "type": "object" + }, "BinarySourceInfo": { "id": "BinarySourceInfo", "properties": { @@ -1176,6 +1196,9 @@ "filePath": { "description": "For jars that are contained inside .war files, this filepath can indicate the path to war file combined with the path to jar file.", "type": "string" + }, + "layerDetails": { + "$ref": "LayerDetails" } }, "type": "object" @@ -1240,6 +1263,26 @@ }, "type": "object" }, + "GrafeasV1BaseImage": { + "description": "BaseImage describes a base image of a container image.", + "id": "GrafeasV1BaseImage", + "properties": { + "layerCount": { + "description": "The number of layers that the base image is composed of.", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "The name of the base image.", + "type": "string" + }, + "repository": { + "description": "The repository name in which the base image is from.", + "type": "string" + } + }, + "type": "object" + }, "GrafeasV1FileLocation": { "description": "Indicates the location at which a package was found.", "id": "GrafeasV1FileLocation", @@ -1247,6 +1290,37 @@ "filePath": { "description": "For jars that are contained inside .war files, this filepath can indicate the path to war file combined with the path to jar file.", "type": "string" + }, + "layerDetails": { + "$ref": "GrafeasV1LayerDetails", + "description": "Each package found in a file should have its own layer metadata (that is, information from the origin layer of the package)." + } + }, + "type": "object" + }, + "GrafeasV1LayerDetails": { + "description": "Details about the layer a package was found in.", + "id": "GrafeasV1LayerDetails", + "properties": { + "baseImages": { + "description": "The base images the layer is found within.", + "items": { + "$ref": "GrafeasV1BaseImage" + }, + "type": "array" + }, + "command": { + "description": "The layer build command that was used to build the layer. This may not be found in all layers depending on how the container image is built.", + "type": "string" + }, + "diffId": { + "description": "The diff ID (typically a sha256 hash) of the layer in the container image.", + "type": "string" + }, + "index": { + "description": "The index of the layer in the container image.", + "format": "int32", + "type": "integer" } }, "type": "object" @@ -1564,6 +1638,33 @@ }, "type": "object" }, + "LayerDetails": { + "description": "Details about the layer a package was found in. This should be the same as the LayerDetails message in google3/third_party/scalibr/binary/proto/scan_result.proto.", + "id": "LayerDetails", + "properties": { + "baseImages": { + "description": "The base images the layer is found within.", + "items": { + "$ref": "BaseImage" + }, + "type": "array" + }, + "command": { + "description": "The layer build command that was used to build the layer. This may not be found in all layers depending on how the container image is built.", + "type": "string" + }, + "diffId": { + "description": "The diff ID (sha256 hash) of the layer in the container image.", + "type": "string" + }, + "index": { + "description": "The index of the layer in the container image.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "License": { "description": "License information.", "id": "License", @@ -1905,6 +2006,9 @@ "description": "HashDigest stores the SHA512 hash digest of the jar file if the package is of type Maven. This field will be unset for non Maven packages.", "type": "string" }, + "layerDetails": { + "$ref": "LayerDetails" + }, "licenses": { "description": "The list of licenses found that are related to a given package. Note that licenses may also be stored on the BinarySourceInfo. If there is no BinarySourceInfo (because there's no concept of source vs binary), then it will be stored here, while if there are BinarySourceInfos, it will be stored there, as one source can have multiple binaries with different licenses.", "items": { diff --git a/discovery/googleapis/oracledatabase__v1.json b/discovery/googleapis/oracledatabase__v1.json index 6ab3b4137..1974e2287 100644 --- a/discovery/googleapis/oracledatabase__v1.json +++ b/discovery/googleapis/oracledatabase__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241210", + "revision": "20250223", "rootUrl": "https://oracledatabase.googleapis.com/", "servicePath": "", "title": "Oracle Database@Google Cloud API", @@ -1155,7 +1155,7 @@ "type": "string" }, "cidr": { - "description": "Required. The subnet CIDR range for the Autonmous Database.", + "description": "Optional. The subnet CIDR range for the Autonmous Database.", "type": "string" }, "createTime": { @@ -1189,7 +1189,7 @@ "type": "string" }, "network": { - "description": "Required. The name of the VPC network used by the Autonomous Database in the following format: projects/{project}/global/networks/{network}", + "description": "Optional. The name of the VPC network used by the Autonomous Database in the following format: projects/{project}/global/networks/{network}", "type": "string" }, "properties": { @@ -3070,14 +3070,16 @@ "ACCOUNT_NOT_LINKED", "ACCOUNT_NOT_ACTIVE", "ACTIVE", - "ACCOUNT_SUSPENDED" + "ACCOUNT_SUSPENDED", + "NOT_APPROVED_IN_PRIVATE_MARKETPLACE" ], "enumDescriptions": [ "Default unspecified value.", "Account not linked.", "Account is linked but not active.", "Entitlement and Account are active.", - "Account is suspended." + "Account is suspended.", + "Entitlement is not approved in private marketplace." ], "readOnly": true, "type": "string" diff --git a/discovery/googleapis/orgpolicy__v2.json b/discovery/googleapis/orgpolicy__v2.json index f29eaa697..38707943e 100644 --- a/discovery/googleapis/orgpolicy__v2.json +++ b/discovery/googleapis/orgpolicy__v2.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241129", + "revision": "20250117", "rootUrl": "https://orgpolicy.googleapis.com/", "servicePath": "", "title": "Organization Policy API", @@ -433,7 +433,7 @@ ] }, "get": { - "description": "Gets a custom constraint. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the custom constraint does not exist.", + "description": "Gets a custom or managed constraint. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the custom or managed constraint does not exist.", "flatPath": "v2/organizations/{organizationsId}/customConstraints/{customConstraintsId}", "httpMethod": "GET", "id": "orgpolicy.organizations.customConstraints.get", @@ -442,7 +442,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the custom constraint. See the custom constraint entry for naming requirements.", + "description": "Required. Resource name of the custom or managed constraint. See the custom constraint entry for naming requirements.", "location": "path", "pattern": "^organizations/[^/]+/customConstraints/[^/]+$", "required": true, @@ -936,7 +936,7 @@ }, "schemas": { "GoogleCloudOrgpolicyV2AlternatePolicySpec": { - "description": "Similar to PolicySpec but with an extra 'launch' field for launch reference. The PolicySpec here is specific for dry-run/darklaunch.", + "description": "Similar to PolicySpec but with an extra 'launch' field for launch reference. The PolicySpec here is specific for dry-run.", "id": "GoogleCloudOrgpolicyV2AlternatePolicySpec", "properties": { "launch": { @@ -951,12 +951,12 @@ "type": "object" }, "GoogleCloudOrgpolicyV2Constraint": { - "description": "A constraint describes a way to restrict resource's configuration. For example, you could enforce a constraint that controls which Google Cloud services can be activated across an organization, or whether a Compute Engine instance can have serial port connections established. Constraints can be configured by the organization policy administrator to fit the needs of the organization by setting a policy that includes constraints at different locations in the organization's resource hierarchy. Policies are inherited down the resource hierarchy from higher levels, but can also be overridden. For details about the inheritance rules please read about `policies`. Constraints have a default behavior determined by the `constraint_default` field, which is the enforcement behavior that is used in the absence of a policy being defined or inherited for the resource in question.", + "description": "A constraint describes a way to restrict resource's configuration. For example, you could enforce a constraint that controls which Google Cloud services can be activated across an organization, or whether a Compute Engine instance can have serial port connections established. Constraints can be configured by the organization policy administrator to fit the needs of the organization by setting a policy that includes constraints at different locations in the organization's resource hierarchy. Policies are inherited down the resource hierarchy from higher levels, but can also be overridden. For details about the inheritance rules, see `Policy`. Constraints have a default behavior determined by the `constraint_default` field, which is the enforcement behavior that is used in the absence of a policy being defined or inherited for the resource in question.", "id": "GoogleCloudOrgpolicyV2Constraint", "properties": { "booleanConstraint": { "$ref": "GoogleCloudOrgpolicyV2ConstraintBooleanConstraint", - "description": "Defines this constraint as being a BooleanConstraint." + "description": "Defines this constraint as being a boolean constraint." }, "constraintDefault": { "description": "The evaluation behavior of this constraint in the absence of a policy.", @@ -966,7 +966,7 @@ "DENY" ], "enumDescriptions": [ - "This is only used for distinguishing unset values and should never be used.", + "This is only used for distinguishing unset values and should never be used. Results in an error.", "Indicate that all values are allowed for list constraints. Indicate that enforcement is off for boolean constraints.", "Indicate that all values are denied for list constraints. Indicate that enforcement is on for boolean constraints." ], @@ -982,7 +982,7 @@ }, "listConstraint": { "$ref": "GoogleCloudOrgpolicyV2ConstraintListConstraint", - "description": "Defines this constraint as being a ListConstraint." + "description": "Defines this constraint as being a list constraint." }, "name": { "description": "Immutable. The resource name of the constraint. Must be in one of the following forms: * `projects/{project_number}/constraints/{constraint_name}` * `folders/{folder_id}/constraints/{constraint_name}` * `organizations/{organization_id}/constraints/{constraint_name}` For example, \"/projects/123/constraints/compute.disableSerialPortAccess\".", @@ -1000,18 +1000,18 @@ "type": "object" }, "GoogleCloudOrgpolicyV2ConstraintBooleanConstraint": { - "description": "A constraint that is either enforced or not. For example, a constraint `constraints/compute.disableSerialPortAccess`. If it is enforced on a VM instance, serial port connections will not be opened to that instance.", + "description": "A constraint type is enforced or not enforced, which is configured in the `PolicyRule`. If `customConstraintDefinition` is defined, this constraint is a managed constraint.", "id": "GoogleCloudOrgpolicyV2ConstraintBooleanConstraint", "properties": { "customConstraintDefinition": { "$ref": "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinition", - "description": "Custom constraint definition. This is set only for Managed Constraints" + "description": "Custom constraint definition. Defines this as a managed constraint." } }, "type": "object" }, "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinition": { - "description": "Currently used for Managed Constraints. This represents a subset of fields missing from Constraint proto that are required to describe CustomConstraint", + "description": "Custom constraint definition. Defines this as a managed constraint.", "id": "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinition", "properties": { "actionType": { @@ -1022,7 +1022,7 @@ "DENY" ], "enumDescriptions": [ - "Unspecified. Results in an error.", + "This is only used for distinguishing unset values and should never be used. Results in an error.", "Allowed action type.", "Deny action type." ], @@ -1044,10 +1044,10 @@ "GOVERN_TAGS" ], "enumDescriptions": [ - "Unspecified. Results in an error.", + "This is only used for distinguishing unset values and should never be used. Results in an error.", "Constraint applied when creating the resource.", "Constraint applied when updating the resource.", - "Constraint applied when deleting the resource. Not supported yet.", + "Constraint applied when deleting the resource. Not currently supported.", "Constraint applied when removing an IAM grant.", "Constraint applied when enforcing forced tagging." ], @@ -1059,7 +1059,7 @@ "additionalProperties": { "$ref": "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameter" }, - "description": "Stores Structure of parameters used by Constraint condition. Key of map represents name of the parameter.", + "description": "Stores the structure of `Parameters` used by the constraint condition. The key of `map` represents the name of the parameter.", "type": "object" }, "resourceTypes": { @@ -1081,7 +1081,7 @@ "type": "any" }, "item": { - "description": "Determines the parameter’s value structure. For example, LIST can be specified by defining type : LIST, and item type as : STRING.", + "description": "Determines the parameter's value structure. For example, `LIST` can be specified by defining `type: LIST`, and `item: STRING`.", "enum": [ "TYPE_UNSPECIFIED", "LIST", @@ -1089,7 +1089,7 @@ "BOOLEAN" ], "enumDescriptions": [ - "Unspecified. Results in an error.", + "This is only used for distinguishing unset values and should never be used. Results in an error.", "List parameter type.", "String parameter type.", "Boolean parameter type." @@ -1109,7 +1109,7 @@ "BOOLEAN" ], "enumDescriptions": [ - "Unspecified. Results in an error.", + "This is only used for distinguishing unset values and should never be used. Results in an error.", "List parameter type.", "String parameter type.", "Boolean parameter type." @@ -1124,7 +1124,7 @@ "type": "object" }, "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameterMetadata": { - "description": "Defines Medata structure.", + "description": "Defines Metadata structure.", "id": "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameterMetadata", "properties": { "description": { @@ -1135,7 +1135,7 @@ "type": "object" }, "GoogleCloudOrgpolicyV2ConstraintListConstraint": { - "description": "A constraint that allows or disallows a list of string values, which are configured by an Organization Policy administrator with a policy.", + "description": "A constraint type that allows or disallows a list of string values, which are configured in the `PolicyRule`.", "id": "GoogleCloudOrgpolicyV2ConstraintListConstraint", "properties": { "supportsIn": { @@ -1161,14 +1161,14 @@ "DENY" ], "enumDescriptions": [ - "Unspecified. Results in an error.", + "This is only used for distinguishing unset values and should never be used. Results in an error.", "Allowed action type.", "Deny action type." ], "type": "string" }, "condition": { - "description": "Org policy condition/expression. For example: `resource.instanceName.matches(\"[production|test]_.*_(\\d)+\")` or, `resource.management.auto_upgrade == true` The max length of the condition is 1000 characters.", + "description": "A Common Expression Language (CEL) condition which is used in the evaluation of the constraint. For example: `resource.instanceName.matches(\"[production|test]_.*_(\\d)+\")` or, `resource.management.auto_upgrade == true` The max length of the condition is 1000 characters.", "type": "string" }, "description": { @@ -1191,10 +1191,10 @@ "GOVERN_TAGS" ], "enumDescriptions": [ - "Unspecified. Results in an error.", + "This is only used for distinguishing unset values and should never be used. Results in an error.", "Constraint applied when creating the resource.", "Constraint applied when updating the resource.", - "Constraint applied when deleting the resource. Not supported yet.", + "Constraint applied when deleting the resource. Not currently supported.", "Constraint applied when removing an IAM grant.", "Constraint applied when enforcing forced tagging." ], @@ -1214,7 +1214,7 @@ "type": "array" }, "updateTime": { - "description": "Output only. The last time this custom constraint was updated. This represents the last time that the `CreateCustomConstraint` or `UpdateCustomConstraint` RPC was called", + "description": "Output only. The last time this custom constraint was updated. This represents the last time that the `CreateCustomConstraint` or `UpdateCustomConstraint` methods were called.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -1241,11 +1241,11 @@ "type": "object" }, "GoogleCloudOrgpolicyV2ListCustomConstraintsResponse": { - "description": "The response returned from the ListCustomConstraints method. It will be empty if no custom constraints are set on the organization resource.", + "description": "The response returned from the ListCustomConstraints method. It will be empty if no custom or managed constraints are set on the organization resource.", "id": "GoogleCloudOrgpolicyV2ListCustomConstraintsResponse", "properties": { "customConstraints": { - "description": "All custom constraints that exist on the organization resource. It will be empty if no custom constraints are set.", + "description": "All custom and managed constraints that exist on the organization resource. It will be empty if no custom constraints are set.", "items": { "$ref": "GoogleCloudOrgpolicyV2CustomConstraint" }, @@ -1299,7 +1299,7 @@ }, "spec": { "$ref": "GoogleCloudOrgpolicyV2PolicySpec", - "description": "Basic information about the Organization Policy." + "description": "Basic information about the organization policy." } }, "type": "object" @@ -1361,7 +1361,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Optional. Required for GMCs if parameters defined in constraints. Pass parameter values when policy enforcement is enabled. Ensure that parameter value types match those defined in the constraint definition. For example: { \"allowedLocations\" : [\"us-east1\", \"us-west1\"], \"allowAll\" : true }", + "description": "Optional. Required for managed constraints if parameters are defined. Passes parameter values when policy enforcement is enabled. Ensure that parameter value types match those defined in the constraint definition. For example: { \"allowedLocations\" : [\"us-east1\", \"us-west1\"], \"allowAll\" : true }", "type": "object" }, "values": { diff --git a/discovery/googleapis/parallelstore__v1.json b/discovery/googleapis/parallelstore__v1.json index d33ba13ee..48f2470f3 100644 --- a/discovery/googleapis/parallelstore__v1.json +++ b/discovery/googleapis/parallelstore__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241204", + "revision": "20250303", "rootUrl": "https://parallelstore.googleapis.com/", "servicePath": "", "title": "Parallelstore API", @@ -584,6 +584,10 @@ "$ref": "DestinationGcsBucket", "description": "Cloud Storage destination." }, + "metadataOptions": { + "$ref": "TransferMetadataOptions", + "description": "Optional. The metadata options for the export data." + }, "requestId": { "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "type": "string" @@ -613,6 +617,10 @@ "$ref": "DestinationParallelstore", "description": "Parallelstore destination." }, + "metadataOptions": { + "$ref": "TransferMetadataOptions", + "description": "Optional. The transfer metadata options for the import data." + }, "requestId": { "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "type": "string" @@ -652,16 +660,31 @@ "type": "string" }, "daosVersion": { - "description": "Output only. The version of DAOS software running in the instance.", + "deprecated": true, + "description": "Output only. Deprecated 'daos_version' field. Output only. The version of DAOS software running in the instance.", "readOnly": true, "type": "string" }, + "deploymentType": { + "description": "Optional. Immutable. The deployment type of the instance. Allowed values are: * `SCRATCH`: the instance is a scratch instance. * `PERSISTENT`: the instance is a persistent instance.", + "enum": [ + "DEPLOYMENT_TYPE_UNSPECIFIED", + "SCRATCH", + "PERSISTENT" + ], + "enumDescriptions": [ + "Default Deployment Type It is equivalent to SCRATCH", + "Scratch", + "Persistent" + ], + "type": "string" + }, "description": { "description": "Optional. The description of the instance. 2048 characters or less.", "type": "string" }, "directoryStripeLevel": { - "description": "Optional. Stripe level for directories. Allowed values are: * `DIRECTORY_STRIPE_LEVEL_MIN`: recommended when directories contain a small number of files. * `DIRECTORY_STRIPE_LEVEL_BALANCED`: balances performance for workloads involving a mix of small and large directories. * `DIRECTORY_STRIPE_LEVEL_MAX`: recommended for directories with a large number of files.", + "description": "Optional. Immutable. Stripe level for directories. Allowed values are: * `DIRECTORY_STRIPE_LEVEL_MIN`: recommended when directories contain a small number of files. * `DIRECTORY_STRIPE_LEVEL_BALANCED`: balances performance for workloads involving a mix of small and large directories. * `DIRECTORY_STRIPE_LEVEL_MAX`: recommended for directories with a large number of files.", "enum": [ "DIRECTORY_STRIPE_LEVEL_UNSPECIFIED", "DIRECTORY_STRIPE_LEVEL_MIN", @@ -682,7 +705,7 @@ "type": "string" }, "fileStripeLevel": { - "description": "Optional. Stripe level for files. Allowed values are: * `FILE_STRIPE_LEVEL_MIN`: offers the best performance for small size files. * `FILE_STRIPE_LEVEL_BALANCED`: balances performance for workloads involving a mix of small and large files. * `FILE_STRIPE_LEVEL_MAX`: higher throughput performance for larger files.", + "description": "Optional. Immutable. Stripe level for files. Allowed values are: * `FILE_STRIPE_LEVEL_MIN`: offers the best performance for small size files. * `FILE_STRIPE_LEVEL_BALANCED`: balances performance for workloads involving a mix of small and large files. * `FILE_STRIPE_LEVEL_MAX`: higher throughput performance for larger files.", "enum": [ "FILE_STRIPE_LEVEL_UNSPECIFIED", "FILE_STRIPE_LEVEL_MIN", @@ -724,7 +747,8 @@ "ACTIVE", "DELETING", "FAILED", - "UPGRADING" + "UPGRADING", + "REPAIRING" ], "enumDescriptions": [ "Not set.", @@ -732,7 +756,8 @@ "The instance is available for use.", "The instance is being deleted.", "The instance is not usable.", - "The instance is being upgraded." + "The instance is being upgraded.", + "The instance is being repaired. This should only be used by instances using the `PERSISTENT` deployment type." ], "readOnly": true, "type": "string" @@ -920,6 +945,37 @@ }, "type": "object" }, + "ReconciliationOperationMetadata": { + "description": "Operation metadata returned by the CLH during resource state reconciliation.", + "id": "ReconciliationOperationMetadata", + "properties": { + "deleteResource": { + "deprecated": true, + "description": "DEPRECATED. Use exclusive_action instead.", + "type": "boolean" + }, + "exclusiveAction": { + "description": "Excluisive action returned by the CLH.", + "enum": [ + "UNKNOWN_REPAIR_ACTION", + "DELETE", + "RETRY" + ], + "enumDeprecated": [ + false, + true, + false + ], + "enumDescriptions": [ + "Unknown repair action.", + "The resource has to be deleted. When using this bit, the CLH should fail the operation. DEPRECATED. Instead use DELETE_RESOURCE OperationSignal in SideChannel.", + "This resource could not be repaired but the repair should be tried again at a later time. This can happen if there is a dependency that needs to be resolved first- e.g. if a parent resource must be repaired before a child resource." + ], + "type": "string" + } + }, + "type": "object" + }, "SourceGcsBucket": { "description": "Cloud Storage as the source of a data transfer.", "id": "SourceGcsBucket", @@ -968,6 +1024,55 @@ } }, "type": "object" + }, + "TransferMetadataOptions": { + "description": "Transfer metadata options for the instance.", + "id": "TransferMetadataOptions", + "properties": { + "gid": { + "description": "Optional. The GID preservation behavior.", + "enum": [ + "GID_UNSPECIFIED", + "GID_SKIP", + "GID_NUMBER_PRESERVE" + ], + "enumDescriptions": [ + "default is GID_NUMBER_PRESERVE.", + "Do not preserve GID during a transfer job.", + "Preserve GID that is in number format during a transfer job." + ], + "type": "string" + }, + "mode": { + "description": "Optional. The mode preservation behavior.", + "enum": [ + "MODE_UNSPECIFIED", + "MODE_SKIP", + "MODE_PRESERVE" + ], + "enumDescriptions": [ + "default is MODE_PRESERVE.", + "Do not preserve mode during a transfer job.", + "Preserve mode during a transfer job." + ], + "type": "string" + }, + "uid": { + "description": "Optional. The UID preservation behavior.", + "enum": [ + "UID_UNSPECIFIED", + "UID_SKIP", + "UID_NUMBER_PRESERVE" + ], + "enumDescriptions": [ + "default is UID_NUMBER_PRESERVE.", + "Do not preserve UID during a transfer job.", + "Preserve UID that is in number format during a transfer job." + ], + "type": "string" + } + }, + "type": "object" } } } diff --git a/discovery/googleapis/paymentsresellersubscription__v1.json b/discovery/googleapis/paymentsresellersubscription__v1.json index 78cb49308..507755c1c 100644 --- a/discovery/googleapis/paymentsresellersubscription__v1.json +++ b/discovery/googleapis/paymentsresellersubscription__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241211", + "revision": "20250302", "rootUrl": "https://paymentsresellersubscription.googleapis.com/", "servicePath": "", "title": "Payments Reseller Subscription API", @@ -767,6 +767,22 @@ }, "type": "object" }, + "GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload": { + "description": "Payload specific for Google Home products.", + "id": "GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload", + "properties": { + "attachedToGoogleStructure": { + "description": "Output only. Output only. This identifies whether the subscription is attached to a Google Home structure.", + "readOnly": true, + "type": "boolean" + }, + "partnerStructureId": { + "description": "Optional. This identifies the structure ID on partner side that the subscription should be applied to. Only required when the partner requires structure mapping.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload": { "description": "Payload specific to Google One products.", "id": "GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload", @@ -967,6 +983,10 @@ "description": "Specifies product specific payload.", "id": "GoogleCloudPaymentsResellerSubscriptionV1ProductPayload", "properties": { + "googleHomePayload": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload", + "description": "Payload specific to Google Home products." + }, "googleOnePayload": { "$ref": "GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload", "description": "Product-specific payloads. Payload specific to Google One products." diff --git a/discovery/googleapis/places__v1.json b/discovery/googleapis/places__v1.json index 1bf3032d1..d6ef7f237 100644 --- a/discovery/googleapis/places__v1.json +++ b/discovery/googleapis/places__v1.json @@ -43,7 +43,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241117", + "revision": "20250309", "rootUrl": "https://places.googleapis.com/", "servicePath": "", "title": "Places API (New)", @@ -857,7 +857,8 @@ "EV_CONNECTOR_TYPE_CCS_COMBO_2", "EV_CONNECTOR_TYPE_TESLA", "EV_CONNECTOR_TYPE_UNSPECIFIED_GB_T", - "EV_CONNECTOR_TYPE_UNSPECIFIED_WALL_OUTLET" + "EV_CONNECTOR_TYPE_UNSPECIFIED_WALL_OUTLET", + "EV_CONNECTOR_TYPE_NACS" ], "enumDescriptions": [ "Unspecified connector.", @@ -869,7 +870,8 @@ "Combined Charging System (AC and DC). Based on Type-2 Mennekes connector", "The generic TESLA connector. This is NACS in the North America but can be non-NACS in other parts of the world (e.g. CCS Combo 2 (CCS2) or GB/T). This value is less representative of an actual connector type, and more represents the ability to charge a Tesla brand vehicle at a Tesla owned charging station.", "GB/T type corresponds to the GB/T standard in China. This type covers all GB_T types.", - "Unspecified wall outlet." + "Unspecified wall outlet.", + "The North American Charging System (NACS), standardized as SAE J3400." ], "type": "string" } @@ -903,6 +905,7 @@ "enum": [ "FUEL_TYPE_UNSPECIFIED", "DIESEL", + "DIESEL_PLUS", "REGULAR_UNLEADED", "MIDGRADE", "PREMIUM", @@ -917,6 +920,7 @@ "LPG", "E80", "E85", + "E100", "METHANE", "BIO_DIESEL", "TRUCK_DIESEL" @@ -924,6 +928,7 @@ "enumDescriptions": [ "Unspecified fuel type.", "Diesel fuel.", + "Diesel plus fuel.", "Regular unleaded.", "Midgrade.", "Premium.", @@ -935,9 +940,10 @@ "SP 98.", "SP 99.", "SP 100.", - "LPG.", + "Liquefied Petroleum Gas.", "E 80.", "E 85.", + "E 100.", "Methane.", "Bio-diesel.", "Truck diesel." @@ -1233,7 +1239,7 @@ }, "regularOpeningHours": { "$ref": "GoogleMapsPlacesV1PlaceOpeningHours", - "description": "The regular hours of operation. Note that if a place is always open (24 hours), the `close` field will not be set. Clients can rely on always open (24 hours) being represented as an `open` period containing day with value `0`, hour with value `0`, and minute with value `0`." + "description": "The regular hours of operation. Note that if a place is always open (24 hours), the `close` field will not be set. Clients can rely on always open (24 hours) being represented as an `open` period containing `day` with value `0`, `hour` with value `0`, and `minute` with value `0`." }, "regularSecondaryOpeningHours": { "description": "Contains an array of entries for information about regular secondary hours of a business. Secondary hours are different from a business's main hours. For example, a restaurant can specify drive through hours or delivery hours as its secondary hours. This field populates the type subfield, which draws from a predefined list of opening hours types (such as DRIVE_THROUGH, PICKUP, or TAKEOUT) based on the types of the place.", @@ -1312,6 +1318,10 @@ "description": "Specifies if the business supports takeout.", "type": "boolean" }, + "timeZone": { + "$ref": "GoogleTypeTimeZone", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\"." + }, "types": { "description": "A set of type tags for this result. For example, \"political\" and \"locality\". For the complete list of possible values, see Table A and Table B at https://developers.google.com/maps/documentation/places/web-service/place-types", "items": { @@ -1699,7 +1709,7 @@ "type": "object" }, "GoogleMapsPlacesV1PlaceSubDestination": { - "description": "Place resource name and id of sub destinations that relate to the place. For example, different terminals are different destinations of an airport.", + "description": "Sub destinations are specific places associated with a main place. These provide more specific destinations for users who are searching for a large or complex place, like an airport, national park, university, or stadium. For example, sub destinations at an airport might include associated terminals and parking lots. Sub destinations return the place id and place resource name, which can be used in subsequent Place Details (New) requests to fetch richer details, including the sub destination's displayName and location.", "id": "GoogleMapsPlacesV1PlaceSubDestination", "properties": { "id": { @@ -2143,7 +2153,8 @@ "EV_CONNECTOR_TYPE_CCS_COMBO_2", "EV_CONNECTOR_TYPE_TESLA", "EV_CONNECTOR_TYPE_UNSPECIFIED_GB_T", - "EV_CONNECTOR_TYPE_UNSPECIFIED_WALL_OUTLET" + "EV_CONNECTOR_TYPE_UNSPECIFIED_WALL_OUTLET", + "EV_CONNECTOR_TYPE_NACS" ], "enumDescriptions": [ "Unspecified connector.", @@ -2155,7 +2166,8 @@ "Combined Charging System (AC and DC). Based on Type-2 Mennekes connector", "The generic TESLA connector. This is NACS in the North America but can be non-NACS in other parts of the world (e.g. CCS Combo 2 (CCS2) or GB/T). This value is less representative of an actual connector type, and more represents the ability to charge a Tesla brand vehicle at a Tesla owned charging station.", "GB/T type corresponds to the GB/T standard in China. This type covers all GB_T types.", - "Unspecified wall outlet." + "Unspecified wall outlet.", + "The North American Charging System (NACS), standardized as SAE J3400." ], "type": "string" }, @@ -2316,6 +2328,21 @@ } }, "type": "object" + }, + "GoogleTypeTimeZone": { + "description": "Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).", + "id": "GoogleTypeTimeZone", + "properties": { + "id": { + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", + "type": "string" + }, + "version": { + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", + "type": "string" + } + }, + "type": "object" } } } diff --git a/discovery/googleapis/playintegrity__v1.json b/discovery/googleapis/playintegrity__v1.json index 26589c570..f8e51f883 100644 --- a/discovery/googleapis/playintegrity__v1.json +++ b/discovery/googleapis/playintegrity__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241127", + "revision": "20250223", "rootUrl": "https://playintegrity.googleapis.com/", "servicePath": "", "title": "Google Play Integrity API", @@ -261,48 +261,6 @@ "type": "string" }, "type": "array" - }, - "otherApps": { - "deprecated": true, - "description": "Deprecated: this field will be removed, please use apps_detected instead. App access risk verdict related to apps that are not installed by Google Play, and are not preloaded on the system image by the device manufacturer.", - "enum": [ - "UNKNOWN", - "UNEVALUATED", - "NOT_INSTALLED", - "INSTALLED", - "CAPTURING", - "CONTROLLING" - ], - "enumDescriptions": [ - "Risk type is unknown.", - "App access risk was not evaluated because a requirement was missed, such as the device not being trusted enough.", - "No apps under this field are installed on the device. This is only valid for the other apps field.", - "One or more apps under this field are installed on the device.", - "Apps under this field are running that could be used to read or capture inputs and outputs of the requesting app, such as screen recording apps.", - "Apps under this field are running that could be used to control the device and inputs and outputs of the requesting app, such as remote controlling apps." - ], - "type": "string" - }, - "playOrSystemApps": { - "deprecated": true, - "description": "Deprecated: this field will be removed, please use apps_detected instead. App access risk verdict related to apps that are not installed by the Google Play Store, and are not preloaded on the system image by the device manufacturer.", - "enum": [ - "UNKNOWN", - "UNEVALUATED", - "NOT_INSTALLED", - "INSTALLED", - "CAPTURING", - "CONTROLLING" - ], - "enumDescriptions": [ - "Risk type is unknown.", - "App access risk was not evaluated because a requirement was missed, such as the device not being trusted enough.", - "No apps under this field are installed on the device. This is only valid for the other apps field.", - "One or more apps under this field are installed on the device.", - "Apps under this field are running that could be used to read or capture inputs and outputs of the requesting app, such as screen recording apps.", - "Apps under this field are running that could be used to control the device and inputs and outputs of the requesting app, such as remote controlling apps." - ], - "type": "string" } }, "type": "object" diff --git a/discovery/googleapis/policysimulator__v1.json b/discovery/googleapis/policysimulator__v1.json index 0240769c0..b8313ca95 100644 --- a/discovery/googleapis/policysimulator__v1.json +++ b/discovery/googleapis/policysimulator__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241118", + "revision": "20250119", "rootUrl": "https://policysimulator.googleapis.com/", "servicePath": "", "title": "Policy Simulator API", @@ -812,7 +812,7 @@ }, "schemas": { "GoogleCloudOrgpolicyV2AlternatePolicySpec": { - "description": "Similar to PolicySpec but with an extra 'launch' field for launch reference. The PolicySpec here is specific for dry-run/darklaunch.", + "description": "Similar to PolicySpec but with an extra 'launch' field for launch reference. The PolicySpec here is specific for dry-run.", "id": "GoogleCloudOrgpolicyV2AlternatePolicySpec", "properties": { "launch": { @@ -838,14 +838,14 @@ "DENY" ], "enumDescriptions": [ - "Unspecified. Results in an error.", + "This is only used for distinguishing unset values and should never be used. Results in an error.", "Allowed action type.", "Deny action type." ], "type": "string" }, "condition": { - "description": "Org policy condition/expression. For example: `resource.instanceName.matches(\"[production|test]_.*_(\\d)+\")` or, `resource.management.auto_upgrade == true` The max length of the condition is 1000 characters.", + "description": "A Common Expression Language (CEL) condition which is used in the evaluation of the constraint. For example: `resource.instanceName.matches(\"[production|test]_.*_(\\d)+\")` or, `resource.management.auto_upgrade == true` The max length of the condition is 1000 characters.", "type": "string" }, "description": { @@ -868,10 +868,10 @@ "GOVERN_TAGS" ], "enumDescriptions": [ - "Unspecified. Results in an error.", + "This is only used for distinguishing unset values and should never be used. Results in an error.", "Constraint applied when creating the resource.", "Constraint applied when updating the resource.", - "Constraint applied when deleting the resource. Not supported yet.", + "Constraint applied when deleting the resource. Not currently supported.", "Constraint applied when removing an IAM grant.", "Constraint applied when enforcing forced tagging." ], @@ -891,7 +891,7 @@ "type": "array" }, "updateTime": { - "description": "Output only. The last time this custom constraint was updated. This represents the last time that the `CreateCustomConstraint` or `UpdateCustomConstraint` RPC was called", + "description": "Output only. The last time this custom constraint was updated. This represents the last time that the `CreateCustomConstraint` or `UpdateCustomConstraint` methods were called.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -922,7 +922,7 @@ }, "spec": { "$ref": "GoogleCloudOrgpolicyV2PolicySpec", - "description": "Basic information about the Organization Policy." + "description": "Basic information about the organization policy." } }, "type": "object" @@ -984,7 +984,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Optional. Required for GMCs if parameters defined in constraints. Pass parameter values when policy enforcement is enabled. Ensure that parameter value types match those defined in the constraint definition. For example: { \"allowedLocations\" : [\"us-east1\", \"us-west1\"], \"allowAll\" : true }", + "description": "Optional. Required for managed constraints if parameters are defined. Passes parameter values when policy enforcement is enabled. Ensure that parameter value types match those defined in the constraint definition. For example: { \"allowedLocations\" : [\"us-east1\", \"us-west1\"], \"allowAll\" : true }", "type": "object" }, "values": { diff --git a/discovery/googleapis/privateca__v1.json b/discovery/googleapis/privateca__v1.json index 810056efb..6ec801e19 100644 --- a/discovery/googleapis/privateca__v1.json +++ b/discovery/googleapis/privateca__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241204", + "revision": "20250226", "rootUrl": "https://privateca.googleapis.com/", "servicePath": "", "title": "Certificate Authority API", @@ -2036,6 +2036,10 @@ "format": "google-datetime", "readOnly": true, "type": "string" + }, + "userDefinedAccessUrls": { + "$ref": "UserDefinedAccessUrls", + "description": "Optional. User-defined URLs for CA certificate and CRLs. The service does not publish content to these URLs. It is up to the user to mirror content to these URLs." } }, "type": "object" @@ -2493,6 +2497,11 @@ }, "type": "array" }, + "backdateDuration": { + "description": "Optional. The duration to backdate all certificates issued from this CaPool. If not set, the certificates will be issued with a not_before_time of the issuance time (i.e. the current time). If set, the certificates will be issued with a not_before_time of the issuance time minus the backdate_duration. The not_after_time will be adjusted to preserve the requested lifetime. The backdate_duration must be less than or equal to 48 hours.", + "format": "google-duration", + "type": "string" + }, "baselineValues": { "$ref": "X509Parameters", "description": "Optional. A set of X.509 values that will be applied to all certificates issued through this CaPool. If a certificate request includes conflicting values for the same properties, they will be overwritten by the values defined here. If a certificate request uses a CertificateTemplate that defines conflicting predefined_values for the same properties, the certificate issuance request will fail." @@ -3471,6 +3480,27 @@ }, "type": "object" }, + "UserDefinedAccessUrls": { + "description": "User-defined URLs for accessing content published by this CertificateAuthority.", + "id": "UserDefinedAccessUrls", + "properties": { + "aiaIssuingCertificateUrls": { + "description": "Optional. A list of URLs where the issuer CA certificate may be downloaded, which appears in the \"Authority Information Access\" extension in the certificate. If specified, the default Cloud Storage URLs will be omitted.", + "items": { + "type": "string" + }, + "type": "array" + }, + "crlAccessUrls": { + "description": "Optional. A list of URLs where to obtain CRL information, i.e. the DistributionPoint.fullName described by https://tools.ietf.org/html/rfc5280#section-4.2.1.13. If specified, the default Cloud Storage URLs will be omitted.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "X509Extension": { "description": "An X509Extension specifies an X.509 extension, which may be used in different parts of X.509 objects like certificates, CSRs, and CRLs.", "id": "X509Extension", diff --git a/discovery/googleapis/pubsub__v1.json b/discovery/googleapis/pubsub__v1.json index 98752d45f..8a79d2ea3 100644 --- a/discovery/googleapis/pubsub__v1.json +++ b/discovery/googleapis/pubsub__v1.json @@ -100,7 +100,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241212", + "revision": "20250218", "rootUrl": "https://pubsub.googleapis.com/", "servicePath": "", "title": "Cloud Pub/Sub API", @@ -1737,6 +1737,110 @@ }, "type": "object" }, + "AwsMsk": { + "description": "Ingestion settings for Amazon MSK.", + "id": "AwsMsk", + "properties": { + "awsRoleArn": { + "description": "Required. AWS role ARN to be used for Federated Identity authentication with Amazon MSK. Check the Pub/Sub docs for how to set up this role and the required permissions that need to be attached to it.", + "type": "string" + }, + "clusterArn": { + "description": "Required. The Amazon Resource Name (ARN) that uniquely identifies the cluster.", + "type": "string" + }, + "gcpServiceAccount": { + "description": "Required. The GCP service account to be used for Federated Identity authentication with Amazon MSK (via a `AssumeRoleWithWebIdentity` call for the provided role). The `aws_role_arn` must be set up with `accounts.google.com:sub` equals to this service account number.", + "type": "string" + }, + "state": { + "description": "Output only. An output-only field that indicates the state of the Amazon MSK ingestion source.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "MSK_PERMISSION_DENIED", + "PUBLISH_PERMISSION_DENIED", + "CLUSTER_NOT_FOUND", + "TOPIC_NOT_FOUND" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Ingestion is active.", + "Permission denied encountered while consuming data from Amazon MSK.", + "Permission denied encountered while publishing to the topic.", + "The provided MSK cluster wasn't found.", + "The provided topic wasn't found." + ], + "readOnly": true, + "type": "string" + }, + "topic": { + "description": "Required. The name of the topic in the Amazon MSK cluster that Pub/Sub will import from.", + "type": "string" + } + }, + "type": "object" + }, + "AzureEventHubs": { + "description": "Ingestion settings for Azure Event Hubs.", + "id": "AzureEventHubs", + "properties": { + "clientId": { + "description": "Optional. The client id of the Azure application that is being used to authenticate Pub/Sub.", + "type": "string" + }, + "eventHub": { + "description": "Optional. The name of the Event Hub.", + "type": "string" + }, + "gcpServiceAccount": { + "description": "Optional. The GCP service account to be used for Federated Identity authentication.", + "type": "string" + }, + "namespace": { + "description": "Optional. The name of the Event Hubs namespace.", + "type": "string" + }, + "resourceGroup": { + "description": "Optional. Name of the resource group within the azure subscription.", + "type": "string" + }, + "state": { + "description": "Output only. An output-only field that indicates the state of the Event Hubs ingestion source.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "EVENT_HUBS_PERMISSION_DENIED", + "PUBLISH_PERMISSION_DENIED", + "NAMESPACE_NOT_FOUND", + "EVENT_HUB_NOT_FOUND", + "SUBSCRIPTION_NOT_FOUND", + "RESOURCE_GROUP_NOT_FOUND" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Ingestion is active.", + "Permission denied encountered while consuming data from Event Hubs. This can happen when `client_id`, or `tenant_id` are invalid. Or the right permissions haven't been granted.", + "Permission denied encountered while publishing to the topic.", + "The provided Event Hubs namespace couldn't be found.", + "The provided Event Hub couldn't be found.", + "The provided Event Hubs subscription couldn't be found.", + "The provided Event Hubs resource group couldn't be found." + ], + "readOnly": true, + "type": "string" + }, + "subscriptionId": { + "description": "Optional. The Azure subscription id.", + "type": "string" + }, + "tenantId": { + "description": "Optional. The tenant id of the Azure application that is being used to authenticate Pub/Sub.", + "type": "string" + } + }, + "type": "object" + }, "BigQueryConfig": { "description": "Configuration for a BigQuery subscription.", "id": "BigQueryConfig", @@ -1894,7 +1998,7 @@ "type": "string" }, "maxDuration": { - "description": "Optional. The maximum duration that can elapse before a new Cloud Storage file is created. Min 1 minute, max 10 minutes, default 5 minutes. May not exceed the subscription's acknowledgement deadline.", + "description": "Optional. The maximum duration that can elapse before a new Cloud Storage file is created. Min 1 minute, max 10 minutes, default 5 minutes. May not exceed the subscription's acknowledgment deadline.", "format": "google-duration", "type": "string" }, @@ -1946,6 +2050,56 @@ }, "type": "object" }, + "ConfluentCloud": { + "description": "Ingestion settings for Confluent Cloud.", + "id": "ConfluentCloud", + "properties": { + "bootstrapServer": { + "description": "Required. The address of the bootstrap server. The format is url:port.", + "type": "string" + }, + "clusterId": { + "description": "Required. The id of the cluster.", + "type": "string" + }, + "gcpServiceAccount": { + "description": "Required. The GCP service account to be used for Federated Identity authentication with `identity_pool_id`.", + "type": "string" + }, + "identityPoolId": { + "description": "Required. The id of the identity pool to be used for Federated Identity authentication with Confluent Cloud. See https://docs.confluent.io/cloud/current/security/authenticate/workload-identities/identity-providers/oauth/identity-pools.html#add-oauth-identity-pools.", + "type": "string" + }, + "state": { + "description": "Output only. An output-only field that indicates the state of the Confluent Cloud ingestion source.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "CONFLUENT_CLOUD_PERMISSION_DENIED", + "PUBLISH_PERMISSION_DENIED", + "UNREACHABLE_BOOTSTRAP_SERVER", + "CLUSTER_NOT_FOUND", + "TOPIC_NOT_FOUND" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Ingestion is active.", + "Permission denied encountered while consuming data from Confluent Cloud.", + "Permission denied encountered while publishing to the topic.", + "The provided bootstrap server address is unreachable.", + "The provided cluster wasn't found.", + "The provided topic wasn't found." + ], + "readOnly": true, + "type": "string" + }, + "topic": { + "description": "Required. The name of the topic in the Confluent Cloud cluster that Pub/Sub will import from.", + "type": "string" + } + }, + "type": "object" + }, "CreateSnapshotRequest": { "description": "Request for the `CreateSnapshot` method.", "id": "CreateSnapshotRequest", @@ -1973,7 +2127,7 @@ "type": "string" }, "maxDeliveryAttempts": { - "description": "Optional. The maximum number of delivery attempts for any message. The value must be between 5 and 100. The number of delivery attempts is defined as 1 + (the sum of number of NACKs and number of times the acknowledgement deadline has been exceeded for the message). A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that client libraries may automatically extend ack_deadlines. This field will be honored on a best effort basis. If this parameter is 0, a default value of 5 is used.", + "description": "Optional. The maximum number of delivery attempts for any message. The value must be between 5 and 100. The number of delivery attempts is defined as 1 + (the sum of number of NACKs and number of times the acknowledgment deadline has been exceeded for the message). A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that client libraries may automatically extend ack_deadlines. This field will be honored on a best effort basis. If this parameter is 0, a default value of 5 is used.", "format": "int32", "type": "integer" } @@ -2035,10 +2189,22 @@ "$ref": "AwsKinesis", "description": "Optional. Amazon Kinesis Data Streams." }, + "awsMsk": { + "$ref": "AwsMsk", + "description": "Optional. Amazon MSK." + }, + "azureEventHubs": { + "$ref": "AzureEventHubs", + "description": "Optional. Azure Event Hubs." + }, "cloudStorage": { "$ref": "CloudStorage", "description": "Optional. Cloud Storage." }, + "confluentCloud": { + "$ref": "ConfluentCloud", + "description": "Optional. Confluent Cloud." + }, "platformLogsSettings": { "$ref": "PlatformLogsSettings", "description": "Optional. Platform Logs settings. If unset, no Platform Logs will be generated." @@ -2046,6 +2212,21 @@ }, "type": "object" }, + "JavaScriptUDF": { + "description": "User-defined JavaScript function that can transform or filter a Pub/Sub message.", + "id": "JavaScriptUDF", + "properties": { + "code": { + "description": "Required. JavaScript code that contains a function `function_name` with the below signature: ``` /** * Transforms a Pub/Sub message. * @return {(Object)>|null)} - To * filter a message, return `null`. To transform a message return a map * with the following keys: * - (required) 'data' : {string} * - (optional) 'attributes' : {Object} * Returning empty `attributes` will remove all attributes from the * message. * * @param {(Object)>} Pub/Sub * message. Keys: * - (required) 'data' : {string} * - (required) 'attributes' : {Object} * * @param {Object} metadata - Pub/Sub message metadata. * Keys: * - (required) 'message_id' : {string} * - (optional) 'publish_time': {string} YYYY-MM-DDTHH:MM:SSZ format * - (optional) 'ordering_key': {string} */ function (message, metadata) { } ```", + "type": "string" + }, + "functionName": { + "description": "Required. Name of the JavasScript function that should applied to Pub/Sub messages.", + "type": "string" + } + }, + "type": "object" + }, "ListSchemaRevisionsResponse": { "description": "Response for the `ListSchemaRevisions` method.", "id": "ListSchemaRevisionsResponse", @@ -2190,6 +2371,21 @@ }, "type": "object" }, + "MessageTransform": { + "description": "All supported message transforms types.", + "id": "MessageTransform", + "properties": { + "enabled": { + "description": "Optional. If set to true, the transform is enabled. If false, the transform is disabled and will not be applied to messages. Defaults to `true`.", + "type": "boolean" + }, + "javascriptUdf": { + "$ref": "JavaScriptUDF", + "description": "Optional. JavaScript User Defined Function. If multiple JavaScriptUDF's are specified on a resource, each must have a unique `function_name`." + } + }, + "type": "object" + }, "ModifyAckDeadlineRequest": { "description": "Request for the ModifyAckDeadline method.", "id": "ModifyAckDeadlineRequest", @@ -2451,7 +2647,7 @@ "type": "object" }, "RetryPolicy": { - "description": "A policy that specifies how Pub/Sub retries message delivery. Retry delay will be exponential based on provided minimum and maximum backoffs. https://en.wikipedia.org/wiki/Exponential_backoff. RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded events for a given message. Retry Policy is implemented on a best effort basis. At times, the delay between consecutive deliveries may not match the configuration. That is, delay can be more or less than configured backoff.", + "description": "A policy that specifies how Pub/Sub retries message delivery. Retry delay will be exponential based on provided minimum and maximum backoffs. https://en.wikipedia.org/wiki/Exponential_backoff. RetryPolicy will be triggered on NACKs or acknowledgment deadline exceeded events for a given message. Retry Policy is implemented on a best effort basis. At times, the delay between consecutive deliveries may not match the configuration. That is, delay can be more or less than configured backoff.", "id": "RetryPolicy", "properties": { "maximumBackoff": { @@ -2642,7 +2838,7 @@ "type": "boolean" }, "enableExactlyOnceDelivery": { - "description": "Optional. If true, Pub/Sub provides the following guarantees for the delivery of a message with a given value of `message_id` on this subscription: * The message sent to a subscriber is guaranteed not to be resent before the message's acknowledgement deadline expires. * An acknowledged message will not be resent to a subscriber. Note that subscribers may still receive multiple copies of a message when `enable_exactly_once_delivery` is true if the message was published multiple times by a publisher client. These copies are considered distinct by Pub/Sub and have distinct `message_id` values.", + "description": "Optional. If true, Pub/Sub provides the following guarantees for the delivery of a message with a given value of `message_id` on this subscription: * The message sent to a subscriber is guaranteed not to be resent before the message's acknowledgment deadline expires. * An acknowledged message will not be resent to a subscriber. Note that subscribers may still receive multiple copies of a message when `enable_exactly_once_delivery` is true if the message was published multiple times by a publisher client. These copies are considered distinct by Pub/Sub and have distinct `message_id` values.", "type": "boolean" }, "enableMessageOrdering": { @@ -2669,6 +2865,13 @@ "format": "google-duration", "type": "string" }, + "messageTransforms": { + "description": "Optional. Transforms to be applied to messages before they are delivered to subscribers. Transforms are applied in the order specified.", + "items": { + "$ref": "MessageTransform" + }, + "type": "array" + }, "name": { "description": "Required. The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", "type": "string" @@ -2683,7 +2886,7 @@ }, "retryPolicy": { "$ref": "RetryPolicy", - "description": "Optional. A policy that specifies how Pub/Sub retries message delivery for this subscription. If not set, the default retry policy is applied. This generally implies that messages will be retried as soon as possible for healthy subscribers. RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded events for a given message." + "description": "Optional. A policy that specifies how Pub/Sub retries message delivery for this subscription. If not set, the default retry policy is applied. This generally implies that messages will be retried as soon as possible for healthy subscribers. RetryPolicy will be triggered on NACKs or acknowledgment deadline exceeded events for a given message." }, "state": { "description": "Output only. An output-only field indicating whether or not the subscription can receive messages.", @@ -2786,6 +2989,13 @@ "$ref": "MessageStoragePolicy", "description": "Optional. Policy constraining the set of Google Cloud Platform regions where messages published to the topic may be stored. If not present, then no constraints are in effect." }, + "messageTransforms": { + "description": "Optional. Transforms to be applied to messages published to the topic. Transforms are applied in the order specified.", + "items": { + "$ref": "MessageTransform" + }, + "type": "array" + }, "name": { "description": "Required. The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", "type": "string" diff --git a/discovery/googleapis/rapidmigrationassessment__v1.json b/discovery/googleapis/rapidmigrationassessment__v1.json index 78ef90ddc..372617246 100644 --- a/discovery/googleapis/rapidmigrationassessment__v1.json +++ b/discovery/googleapis/rapidmigrationassessment__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241211", + "revision": "20250214", "rootUrl": "https://rapidmigrationassessment.googleapis.com/", "servicePath": "", "title": "Rapid Migration Assessment API", @@ -284,7 +284,7 @@ ] }, "delete": { - "description": "Deletes a single Collector - changes state of collector to \"Deleting\". Background jobs does final deletion thorugh producer api.", + "description": "Deletes a single Collector - changes state of collector to \"Deleting\". Background jobs does final deletion through producer API.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collectors/{collectorsId}", "httpMethod": "DELETE", "id": "rapidmigrationassessment.projects.locations.collectors.delete", diff --git a/discovery/googleapis/realtimebidding__v1.json b/discovery/googleapis/realtimebidding__v1.json index 68e00b552..f034a4402 100644 --- a/discovery/googleapis/realtimebidding__v1.json +++ b/discovery/googleapis/realtimebidding__v1.json @@ -12,7 +12,7 @@ "baseUrl": "https://realtimebidding.googleapis.com/", "batchPath": "batch", "canonicalName": "Real-time Bidding", - "description": "Allows external bidders to manage their RTB integration with Google. This includes managing bidder endpoints, QPS quotas, configuring what ad inventory to receive via pretargeting, submitting creatives for verification, and accessing creative metadata such as approval status.", + "description": "Allows external bidders to manage their RTB integration with Google. This includes managing bidder endpoints, QPS quotas, configuring what ad inventory to receive with pretargeting, submitting creatives for verification, and accessing creative metadata such as approval status.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/authorized-buyers/apis/realtimebidding/reference/rest/", "icons": { @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20240930", + "revision": "20250306", "rootUrl": "https://realtimebidding.googleapis.com/", "servicePath": "", "title": "Real-time Bidding API", @@ -1531,7 +1531,7 @@ "id": "Bidder", "properties": { "bypassNonguaranteedDealsPretargeting": { - "description": "Output only. An option to bypass pretargeting for private auctions and preferred deals. When true, bid requests from these nonguaranteed deals will always be sent. When false, bid requests will be subject to regular pretargeting configurations. Programmatic Guaranteed deals will always be sent to the bidder, regardless of the value for this flag. Auction packages are not impacted by this value and are subject to the regular pretargeting configurations.", + "description": "Output only. An option to bypass pretargeting for private auctions and preferred deals. When true, bid requests from these nonguaranteed deals will always be sent. When false, bid requests will be subject to regular pretargeting configurations. Programmatic Guaranteed deals will always be sent to the bidder, regardless of the value for this option. Auction packages are not impacted by this value and are subject to the regular pretargeting configurations.", "readOnly": true, "type": "boolean" }, @@ -1766,6 +1766,7 @@ "type": "array" }, "declaredRestrictedCategories": { + "deprecated": true, "description": "All declared restricted categories for the ads that may be shown from this creative. Can be used to filter the response of the creatives.list method.", "items": { "enum": [ @@ -1972,7 +1973,7 @@ "type": "array" }, "detectedCategories": { - "description": "Output only. IDs of the detected categories, if any. The taxonomy in which the categories are expressed is specified by the detected_categories_taxonomy field. Can be used to filter the response of the creatives.list method.", + "description": "Output only. IDs of the detected categories. The taxonomy in which the categories are expressed is specified by the detected_categories_taxonomy field. Use this in conjunction with BidRequest.bcat to avoid bidding on impressions where a given ad category is blocked, or to troubleshoot filtered bids. Can be used to filter the response of the creatives.list method.", "items": { "type": "string" }, @@ -1983,10 +1984,12 @@ "description": "Output only. The taxonomy in which the detected_categories field is expressed.", "enum": [ "AD_CATEGORY_TAXONOMY_UNSPECIFIED", + "GOOGLE_AD_CATEGORY_TAXONOMY", "IAB_CONTENT_1_0" ], "enumDescriptions": [ "Default value that should never be used.", + "Google ad categories taxonomy, including product categories and sensitive categories. Find the category lists at https://developers.google.com/authorized-buyers/rtb/data#reference-data", "IAB Content Taxonomy 1.0. See https://github.com/InteractiveAdvertisingBureau/Taxonomies/blob/main/Content%20Taxonomies/Content%20Taxonomy%201.0.tsv for more details." ], "readOnly": true, diff --git a/discovery/googleapis/recaptchaenterprise__v1.json b/discovery/googleapis/recaptchaenterprise__v1.json index 3f692101c..8553e79c0 100644 --- a/discovery/googleapis/recaptchaenterprise__v1.json +++ b/discovery/googleapis/recaptchaenterprise__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241208", + "revision": "20250209", "rootUrl": "https://recaptchaenterprise.googleapis.com/", "servicePath": "", "title": "reCAPTCHA Enterprise API", @@ -970,7 +970,7 @@ "SOCIAL_SPAM" ], "enumDescriptions": [ - "Default unspecified reason.", + "Unspecified reason. Do not use.", "Indicates that the transaction had a chargeback issued with no other details. When possible, specify the type by using CHARGEBACK_FRAUD or CHARGEBACK_DISPUTE instead.", "Indicates that the transaction had a chargeback issued related to an alleged unauthorized transaction from the cardholder's perspective (for example, the card number was stolen).", "Indicates that the transaction had a chargeback issued related to the cardholder having provided their card details but allegedly not being satisfied with the purchase (for example, misrepresentation, attempted cancellation).", @@ -1179,7 +1179,7 @@ "enumDescriptions": [ "Default, unspecified setting. `fraud_prevention_assessment` is returned if `transaction_data` is present in `Event` and Fraud Prevention is enabled in the Google Cloud console.", "Enable Fraud Prevention for this assessment, if Fraud Prevention is enabled in the Google Cloud console.", - "Disable Fraud Prevention for this assessment, regardless of Google Cloud console settings." + "Disable Fraud Prevention for this assessment, regardless of the Google Cloud console settings." ], "type": "string" }, @@ -1197,7 +1197,11 @@ "type": "array" }, "ja3": { - "description": "Optional. JA3 fingerprint for SSL clients.", + "description": "Optional. JA3 fingerprint for SSL clients. To learn how to compute this fingerprint, please refer to https://github.com/salesforce/ja3.", + "type": "string" + }, + "ja4": { + "description": "Optional. JA4 fingerprint for SSL clients. To learn how to compute this fingerprint, please refer to https://github.com/FoxIO-LLC/ja4.", "type": "string" }, "requestedUri": { @@ -1710,7 +1714,7 @@ "type": "array" }, "startTime": { - "description": "Inclusive start time aligned to a day (UTC).", + "description": "Inclusive start time aligned to a day in the America/Los_Angeles (Pacific) timezone.", "format": "google-datetime", "type": "string" } diff --git a/discovery/googleapis/redis__v1.json b/discovery/googleapis/redis__v1.json index 255891697..bce03bf06 100644 --- a/discovery/googleapis/redis__v1.json +++ b/discovery/googleapis/redis__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241212", + "revision": "20250303", "rootUrl": "https://redis.googleapis.com/", "servicePath": "", "title": "Google Cloud Memorystore for Redis API", @@ -423,7 +423,7 @@ "type": "string" }, "requestId": { - "description": "Idempotent request UUID.", + "description": "Optional. Idempotent request UUID.", "location": "query", "type": "string" } @@ -456,7 +456,7 @@ "type": "string" }, "requestId": { - "description": "Idempotent request UUID.", + "description": "Optional. Idempotent request UUID.", "location": "query", "type": "string" } @@ -572,12 +572,12 @@ "type": "string" }, "requestId": { - "description": "Idempotent request UUID.", + "description": "Optional. Idempotent request UUID.", "location": "query", "type": "string" }, "updateMask": { - "description": "Required. Mask of fields to update. At least one path must be supplied in this field. The elements of the repeated paths field may only include these fields from Cluster: * `size_gb` * `replica_count`", + "description": "Required. Mask of fields to update. At least one path must be supplied in this field. The elements of the repeated paths field may only include these fields from Cluster: * `size_gb` * `replica_count` * `cluster_endpoints`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1207,6 +1207,11 @@ "readOnly": true, "type": "string" }, + "encryptionInfo": { + "$ref": "EncryptionInfo", + "description": "Output only. Encryption information of the backup.", + "readOnly": true + }, "engineVersion": { "description": "Output only. redis-7.2, valkey-7.5", "readOnly": true, @@ -1316,6 +1321,17 @@ "readOnly": true, "type": "string" }, + "createTime": { + "description": "Output only. The time when the backup collection was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "kmsKey": { + "description": "Output only. The KMS key used to encrypt the backups under this backup collection.", + "readOnly": true, + "type": "string" + }, "name": { "description": "Identifier. Full resource path of the backup collection.", "type": "string" @@ -1437,6 +1453,10 @@ "description": "A cluster instance.", "id": "Cluster", "properties": { + "asyncClusterEndpointsDeletionEnabled": { + "description": "Optional. If true, cluster endpoints that are created and registered by customers can be deleted asynchronously. That is, such a cluster endpoint can be de-registered before the forwarding rules in the cluster endpoint are deleted.", + "type": "boolean" + }, "authorizationMode": { "description": "Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.", "enum": [ @@ -1461,7 +1481,7 @@ "type": "string" }, "clusterEndpoints": { - "description": "Optional. A list of cluster enpoints.", + "description": "Optional. A list of cluster endpoints.", "items": { "$ref": "ClusterEndpoint" }, @@ -1489,10 +1509,19 @@ "readOnly": true, "type": "array" }, + "encryptionInfo": { + "$ref": "EncryptionInfo", + "description": "Output only. Encryption information of the data at rest of the cluster.", + "readOnly": true + }, "gcsSource": { "$ref": "GcsBackupSource", "description": "Optional. Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the clusters. Read permission is required to import from the provided Cloud Storage objects." }, + "kmsKey": { + "description": "Optional. The KMS key used to encrypt the at-rest data of the cluster.", + "type": "string" + }, "maintenancePolicy": { "$ref": "ClusterMaintenancePolicy", "description": "Optional. ClusterMaintenancePolicy determines when to allow or deny updates." @@ -1528,6 +1557,10 @@ ], "type": "string" }, + "ondemandMaintenance": { + "description": "Optional. Input only. Ondemand maintenance for the cluster. This field can be used to trigger ondemand critical update on the cluster.", + "type": "boolean" + }, "persistenceConfig": { "$ref": "ClusterPersistenceConfig", "description": "Optional. Persistence config (RDB, AOF) for the cluster." @@ -1639,7 +1672,7 @@ "id": "ClusterEndpoint", "properties": { "connections": { - "description": "A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.", + "description": "Required. A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.", "items": { "$ref": "ConnectionDetail" }, @@ -1675,7 +1708,7 @@ "type": "object" }, "ClusterMaintenanceSchedule": { - "description": "Upcoming maitenance schedule.", + "description": "Upcoming maintenance schedule.", "id": "ClusterMaintenanceSchedule", "properties": { "endTime": { @@ -2086,7 +2119,14 @@ "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET", "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET", "SIGNAL_TYPE_WEAK_PASSWORD_HASH_ALGORITHM", - "SIGNAL_TYPE_NO_USER_PASSWORD_POLICY" + "SIGNAL_TYPE_NO_USER_PASSWORD_POLICY", + "SIGNAL_TYPE_HOT_NODE", + "SIGNAL_TYPE_NO_POINT_IN_TIME_RECOVERY", + "SIGNAL_TYPE_RESOURCE_SUSPENDED", + "SIGNAL_TYPE_EXPENSIVE_COMMANDS", + "SIGNAL_TYPE_NO_MAINTENANCE_POLICY_CONFIGURED", + "SIGNAL_TYPE_NO_DELETION_PROTECTION", + "SIGNAL_TYPE_INEFFICIENT_QUERY" ], "enumDeprecated": [ false, @@ -2169,6 +2209,13 @@ false, false, false, + false, + false, + false, + false, + false, + false, + false, false ], "enumDescriptions": [ @@ -2252,7 +2299,14 @@ "Detects if database instance data exported to a Cloud Storage bucket outside of the organization.", "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible.", "Detects if a database instance is using a weak password hash algorithm.", - "Detects if a database instance has no user password policy set." + "Detects if a database instance has no user password policy set.", + "Detects if a database instance/cluster has a hot node.", + "Detects if a database instance has no point in time recovery enabled.", + "Detects if a database instance/cluster is suspended.", + "Detects that expensive commands are being run on a database instance impacting overall performance.", + "Indicates that the instance does not have a maintenance policy configured.", + "Deletion Protection Disabled for the resource", + "Indicates that the instance has inefficient queries detected." ], "type": "string" }, @@ -2316,7 +2370,7 @@ "type": "object" }, "DatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 23", + "description": "Common model for database resource instance metadata. Next ID: 25", "id": "DatabaseResourceMetadata", "properties": { "availabilityConfiguration": { @@ -2401,6 +2455,10 @@ ], "type": "string" }, + "gcbdrConfiguration": { + "$ref": "GCBDRConfiguration", + "description": "GCBDR configuration for the resource." + }, "id": { "$ref": "DatabaseResourceId", "description": "Required. Unique identifier for a Database resource" @@ -2417,6 +2475,7 @@ "SUB_RESOURCE_TYPE_PRIMARY", "SUB_RESOURCE_TYPE_SECONDARY", "SUB_RESOURCE_TYPE_READ_REPLICA", + "SUB_RESOURCE_TYPE_EXTERNAL_PRIMARY", "SUB_RESOURCE_TYPE_OTHER" ], "enumDeprecated": [ @@ -2429,10 +2488,11 @@ false, false, false, + false, false ], "enumDescriptions": [ - "", + "Unspecified.", "For rest of the other categories.", "A regular primary database instance.", "A cluster or an instance acting as a secondary.", @@ -2441,6 +2501,7 @@ "A regular primary database instance.", "A cluster or an instance acting as a secondary.", "An instance acting as a read-replica.", + "An instance acting as an external primary.", "For rest of the other categories." ], "type": "string" @@ -2473,6 +2534,28 @@ "description": "Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named \"ABC\" is deleted, the name \"ABC\" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", "type": "string" }, + "suspensionReason": { + "description": "Optional. Suspension reason for the resource.", + "enum": [ + "SUSPENSION_REASON_UNSPECIFIED", + "WIPEOUT_HIDE_EVENT", + "WIPEOUT_PURGE_EVENT", + "BILLING_DISABLED", + "ABUSER_DETECTED", + "ENCRYPTION_KEY_INACCESSIBLE", + "REPLICATED_CLUSTER_ENCRYPTION_KEY_INACCESSIBLE" + ], + "enumDescriptions": [ + "Suspension reason is unspecified.", + "Wipeout hide event.", + "Wipeout purge event.", + "Billing disabled for project", + "Abuse detected for resource", + "Encryption key inaccessible.", + "Replicated cluster encryption key inaccessible." + ], + "type": "string" + }, "tagsSet": { "$ref": "Tags", "description": "Optional. Tags associated with this resources." @@ -2625,7 +2708,14 @@ "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET", "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET", "SIGNAL_TYPE_WEAK_PASSWORD_HASH_ALGORITHM", - "SIGNAL_TYPE_NO_USER_PASSWORD_POLICY" + "SIGNAL_TYPE_NO_USER_PASSWORD_POLICY", + "SIGNAL_TYPE_HOT_NODE", + "SIGNAL_TYPE_NO_POINT_IN_TIME_RECOVERY", + "SIGNAL_TYPE_RESOURCE_SUSPENDED", + "SIGNAL_TYPE_EXPENSIVE_COMMANDS", + "SIGNAL_TYPE_NO_MAINTENANCE_POLICY_CONFIGURED", + "SIGNAL_TYPE_NO_DELETION_PROTECTION", + "SIGNAL_TYPE_INEFFICIENT_QUERY" ], "enumDeprecated": [ false, @@ -2708,6 +2798,13 @@ false, false, false, + false, + false, + false, + false, + false, + false, + false, false ], "enumDescriptions": [ @@ -2791,7 +2888,14 @@ "Detects if database instance data exported to a Cloud Storage bucket outside of the organization.", "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible.", "Detects if a database instance is using a weak password hash algorithm.", - "Detects if a database instance has no user password policy set." + "Detects if a database instance has no user password policy set.", + "Detects if a database instance/cluster has a hot node.", + "Detects if a database instance has no point in time recovery enabled.", + "Detects if a database instance/cluster is suspended.", + "Detects that expensive commands are being run on a database instance impacting overall performance.", + "Indicates that the instance does not have a maintenance policy configured.", + "Deletion Protection Disabled for the resource", + "Indicates that the instance has inefficient queries detected." ], "type": "string" } @@ -2827,6 +2931,69 @@ "properties": {}, "type": "object" }, + "EncryptionInfo": { + "description": "EncryptionInfo describes the encryption information of a cluster or a backup.", + "id": "EncryptionInfo", + "properties": { + "encryptionType": { + "description": "Output only. Type of encryption.", + "enum": [ + "TYPE_UNSPECIFIED", + "GOOGLE_DEFAULT_ENCRYPTION", + "CUSTOMER_MANAGED_ENCRYPTION" + ], + "enumDescriptions": [ + "Encryption type not specified. Defaults to GOOGLE_DEFAULT_ENCRYPTION.", + "The data is encrypted at rest with a key that is fully managed by Google. No key version will be populated. This is the default state.", + "The data is encrypted at rest with a key that is managed by the customer. KMS key versions will be populated." + ], + "readOnly": true, + "type": "string" + }, + "kmsKeyPrimaryState": { + "description": "Output only. The state of the primary version of the KMS key perceived by the system. This field is not populated in backups.", + "enum": [ + "KMS_KEY_STATE_UNSPECIFIED", + "ENABLED", + "PERMISSION_DENIED", + "DISABLED", + "DESTROYED", + "DESTROY_SCHEDULED", + "EKM_KEY_UNREACHABLE_DETECTED", + "BILLING_DISABLED", + "UNKNOWN_FAILURE" + ], + "enumDescriptions": [ + "The default value. This value is unused.", + "The KMS key is enabled and correctly configured.", + "Permission denied on the KMS key.", + "The KMS key is disabled.", + "The KMS key is destroyed.", + "The KMS key is scheduled to be destroyed.", + "The EKM key is unreachable.", + "Billing is disabled for the project.", + "All other unknown failures." + ], + "readOnly": true, + "type": "string" + }, + "kmsKeyVersions": { + "description": "Output only. KMS key versions that are being used to protect the data at-rest.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "lastUpdateTime": { + "description": "Output only. The most recent time when the encryption info was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Entitlement": { "description": "Proto representing the access that a user has to a specific feature/service. NextId: 3.", "id": "Entitlement", @@ -2849,11 +3016,21 @@ "description": "An enum that represents the type of this entitlement.", "enum": [ "ENTITLEMENT_TYPE_UNSPECIFIED", - "GEMINI" + "GEMINI", + "NATIVE", + "GCA_STANDARD" + ], + "enumDeprecated": [ + false, + true, + false, + false ], "enumDescriptions": [ - "", - "The root entitlement representing Gemini package ownership." + "The entitlement type is unspecified.", + "The root entitlement representing Gemini package ownership.This will no longer be supported in the future.", + "The entitlement representing Native Tier, This will be the default Entitlement going forward with GCA Enablement.", + "The entitlement representing GCA-Standard Tier." ], "type": "string" } @@ -2914,12 +3091,23 @@ }, "type": "object" }, + "GCBDRConfiguration": { + "description": "GCBDR Configuration for the resource.", + "id": "GCBDRConfiguration", + "properties": { + "gcbdrManaged": { + "description": "Whether the resource is managed by GCBDR.", + "type": "boolean" + } + }, + "type": "object" + }, "GcsBackupSource": { "description": "Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the clusters.", "id": "GcsBackupSource", "properties": { "uris": { - "description": "Optional. URIs of the GCS objects to import. Example: gs://bucket1/object1, gs://bucket2/folder2/object2", + "description": "Optional. URIs of the Cloud Storage objects to import. Example: gs://bucket1/object1, gs://bucket2/folder2/object2", "items": { "type": "string" }, @@ -3180,7 +3368,7 @@ "type": "object" }, "redisVersion": { - "description": "Optional. The version of Redis software. If not provided, latest supported version will be used. Currently, the supported values are: * `REDIS_3_2` for Redis 3.2 compatibility * `REDIS_4_0` for Redis 4.0 compatibility (default) * `REDIS_5_0` for Redis 5.0 compatibility * `REDIS_6_X` for Redis 6.x compatibility * `REDIS_7_0` for Redis 7.0 compatibility", + "description": "Optional. The version of Redis software. If not provided, the default version will be used. Currently, the supported values are: * `REDIS_3_2` for Redis 3.2 compatibility * `REDIS_4_0` for Redis 4.0 compatibility * `REDIS_5_0` for Redis 5.0 compatibility * `REDIS_6_X` for Redis 6.x compatibility * `REDIS_7_0` for Redis 7.0 compatibility (default) * `REDIS_7_2` for Redis 7.2 compatibility", "type": "string" }, "replicaCount": { @@ -3315,6 +3503,10 @@ "$ref": "BackupRun", "description": "Information about the last backup attempt for this database" }, + "isDeletionProtectionEnabled": { + "description": "Whether deletion protection is enabled for this internal resource.", + "type": "boolean" + }, "product": { "$ref": "Product" }, @@ -3503,12 +3695,13 @@ "id": "MachineConfiguration", "properties": { "cpuCount": { - "description": "The number of CPUs. TODO(b/342344482, b/342346271) add proto validations again after bug fix.", + "deprecated": true, + "description": "The number of CPUs. Deprecated. Use vcpu_count instead. TODO(b/342344482) add proto validations again after bug fix.", "format": "int32", "type": "integer" }, "memorySizeInBytes": { - "description": "Memory size in bytes. TODO(b/342344482, b/342346271) add proto validations again after bug fix.", + "description": "Memory size in bytes. TODO(b/342344482) add proto validations again after bug fix.", "format": "int64", "type": "string" }, @@ -3518,7 +3711,7 @@ "type": "integer" }, "vcpuCount": { - "description": "Optional. The number of vCPUs. TODO(b/342344482, b/342346271) add proto validations again after bug fix.", + "description": "Optional. The number of vCPUs. TODO(b/342344482) add proto validations again after bug fix.", "format": "double", "type": "number" } @@ -3675,7 +3868,10 @@ "MEMORY_UTILIZATION", "NETWORK_CONNECTIONS", "STORAGE_UTILIZATION", - "STORAGE_USED_BYTES" + "STORAGE_USED_BYTES", + "NODE_COUNT", + "MEMORY_USED_BYTES", + "PROCESSING_UNIT_COUNT" ], "enumDescriptions": [ "Unspecified metric type.", @@ -3683,7 +3879,10 @@ "Memory utilization for a resource. The value is a fraction between 0.0 and 1.0 (may momentarily exceed 1.0 in some cases).", "Number of network connections for a resource.", "Storage utilization for a resource. The value is a fraction between 0.0 and 1.0 (may momentarily exceed 1.0 in some cases).", - "Sotrage used by a resource." + "Sotrage used by a resource.", + "Node count for a resource. It represents the number of node units in a bigtable/spanner instance.", + "Memory used by a resource (in bytes).", + "Processing units used by a resource. It represents the number of processing units in a spanner instance." ], "type": "string" }, @@ -4104,6 +4303,12 @@ "description": "Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_id}.", "type": "string" }, + "port": { + "description": "Output only. The port number of the exposed discovery endpoint.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, "projectId": { "description": "Optional. Project ID of the consumer project where the forwarding rule is created in.", "type": "string" @@ -4476,6 +4681,24 @@ "description": "Represents information about an updating cluster.", "id": "UpdateInfo", "properties": { + "targetNodeType": { + "description": "Target node type for redis cluster.", + "enum": [ + "NODE_TYPE_UNSPECIFIED", + "REDIS_SHARED_CORE_NANO", + "REDIS_HIGHMEM_MEDIUM", + "REDIS_HIGHMEM_XLARGE", + "REDIS_STANDARD_SMALL" + ], + "enumDescriptions": [ + "Node type unspecified", + "Redis shared core nano node_type.", + "Redis highmem medium node_type.", + "Redis highmem xlarge node_type.", + "Redis standard small node_type." + ], + "type": "string" + }, "targetReplicaCount": { "description": "Target number of replica nodes per shard.", "format": "int32", diff --git a/discovery/googleapis/resourcesettings__v1.json b/discovery/googleapis/resourcesettings__v1.json deleted file mode 100644 index 0a2d08638..000000000 --- a/discovery/googleapis/resourcesettings__v1.json +++ /dev/null @@ -1,683 +0,0 @@ -{ - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." - } - } - } - }, - "basePath": "", - "baseUrl": "https://resourcesettings.googleapis.com/", - "batchPath": "batch", - "canonicalName": "Resource Settings", - "description": "The Resource Settings API allows users to control and modify the behavior of their GCP resources (e.g., VM, firewall, Project, etc.) across the Cloud Resource Hierarchy.", - "discoveryVersion": "v1", - "documentationLink": "https://cloud.google.com/resource-manager/docs/resource-settings/overview", - "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" - }, - "id": "resourcesettings:v1", - "kind": "discovery#restDescription", - "name": "resourcesettings", - "ownerDomain": "google.com", - "ownerName": "Google", - "protocol": "rest", - "revision": "20240602", - "rootUrl": "https://resourcesettings.googleapis.com/", - "servicePath": "", - "title": "Resource Settings API", - "version": "v1", - "version_module": true, - "parameters": { - "$.xgafv": { - "description": "V1 error format.", - "enum": [ - "1", - "2" - ], - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "type": "string" - }, - "access_token": { - "description": "OAuth access token.", - "location": "query", - "type": "string" - }, - "alt": { - "default": "json", - "description": "Data format for response.", - "enum": [ - "json", - "media", - "proto" - ], - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query", - "type": "string" - }, - "callback": { - "description": "JSONP", - "location": "query", - "type": "string" - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "location": "query", - "type": "string" - }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "location": "query", - "type": "string" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "location": "query", - "type": "string" - }, - "prettyPrint": { - "default": "true", - "description": "Returns response with indentations and line breaks.", - "location": "query", - "type": "boolean" - }, - "quotaUser": { - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "location": "query", - "type": "string" - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "location": "query", - "type": "string" - }, - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "location": "query", - "type": "string" - } - }, - "resources": { - "folders": { - "resources": { - "settings": { - "deprecated": true, - "methods": { - "get": { - "deprecated": true, - "description": "Returns a specified setting. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the setting does not exist.", - "flatPath": "v1/folders/{foldersId}/settings/{settingsId}", - "httpMethod": "GET", - "id": "resourcesettings.folders.settings.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the setting to get. See Setting for naming requirements.", - "location": "path", - "pattern": "^folders/[^/]+/settings/[^/]+$", - "required": true, - "type": "string" - }, - "view": { - "description": "The SettingView for this request.", - "enum": [ - "SETTING_VIEW_UNSPECIFIED", - "SETTING_VIEW_BASIC", - "SETTING_VIEW_EFFECTIVE_VALUE", - "SETTING_VIEW_LOCAL_VALUE" - ], - "enumDescriptions": [ - "The default / unset value. The API will default to the SETTING_VIEW_BASIC view.", - "Include Setting.metadata, but nothing else. This is the default value (for both ListSettings and GetSetting).", - "Include Setting.effective_value, but nothing else.", - "Include Setting.local_value, but nothing else." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "GoogleCloudResourcesettingsV1Setting" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "deprecated": true, - "description": "Lists all the settings that are available on the Cloud resource `parent`.", - "flatPath": "v1/folders/{foldersId}/settings", - "httpMethod": "GET", - "id": "resourcesettings.folders.settings.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "pageSize": { - "description": "Unused. The size of the page to be returned.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Unused. A page token used to retrieve the next page.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The project, folder, or organization that is the parent resource for this setting. Must be in one of the following forms: * `projects/{project_number}` * `projects/{project_id}` * `folders/{folder_id}` * `organizations/{organization_id}`", - "location": "path", - "pattern": "^folders/[^/]+$", - "required": true, - "type": "string" - }, - "view": { - "description": "The SettingView for this request.", - "enum": [ - "SETTING_VIEW_UNSPECIFIED", - "SETTING_VIEW_BASIC", - "SETTING_VIEW_EFFECTIVE_VALUE", - "SETTING_VIEW_LOCAL_VALUE" - ], - "enumDescriptions": [ - "The default / unset value. The API will default to the SETTING_VIEW_BASIC view.", - "Include Setting.metadata, but nothing else. This is the default value (for both ListSettings and GetSetting).", - "Include Setting.effective_value, but nothing else.", - "Include Setting.local_value, but nothing else." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1/{+parent}/settings", - "response": { - "$ref": "GoogleCloudResourcesettingsV1ListSettingsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "patch": { - "deprecated": true, - "description": "Updates a specified setting. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the setting does not exist. Returns a `google.rpc.Status` with `google.rpc.Code.FAILED_PRECONDITION` if the setting is flagged as read only. Returns a `google.rpc.Status` with `google.rpc.Code.ABORTED` if the etag supplied in the request does not match the persisted etag of the setting value. On success, the response will contain only `name`, `local_value` and `etag`. The `metadata` and `effective_value` cannot be updated through this API. Note: the supplied setting will perform a full overwrite of the `local_value` field.", - "flatPath": "v1/folders/{foldersId}/settings/{settingsId}", - "httpMethod": "PATCH", - "id": "resourcesettings.folders.settings.patch", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The resource name of the setting. Must be in one of the following forms: * `projects/{project_number}/settings/{setting_name}` * `folders/{folder_id}/settings/{setting_name}` * `organizations/{organization_id}/settings/{setting_name}` For example, \"/projects/123/settings/gcp-enableMyFeature\"", - "location": "path", - "pattern": "^folders/[^/]+/settings/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "request": { - "$ref": "GoogleCloudResourcesettingsV1Setting" - }, - "response": { - "$ref": "GoogleCloudResourcesettingsV1Setting" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - } - } - }, - "organizations": { - "resources": { - "settings": { - "deprecated": true, - "methods": { - "get": { - "deprecated": true, - "description": "Returns a specified setting. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the setting does not exist.", - "flatPath": "v1/organizations/{organizationsId}/settings/{settingsId}", - "httpMethod": "GET", - "id": "resourcesettings.organizations.settings.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the setting to get. See Setting for naming requirements.", - "location": "path", - "pattern": "^organizations/[^/]+/settings/[^/]+$", - "required": true, - "type": "string" - }, - "view": { - "description": "The SettingView for this request.", - "enum": [ - "SETTING_VIEW_UNSPECIFIED", - "SETTING_VIEW_BASIC", - "SETTING_VIEW_EFFECTIVE_VALUE", - "SETTING_VIEW_LOCAL_VALUE" - ], - "enumDescriptions": [ - "The default / unset value. The API will default to the SETTING_VIEW_BASIC view.", - "Include Setting.metadata, but nothing else. This is the default value (for both ListSettings and GetSetting).", - "Include Setting.effective_value, but nothing else.", - "Include Setting.local_value, but nothing else." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "GoogleCloudResourcesettingsV1Setting" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "deprecated": true, - "description": "Lists all the settings that are available on the Cloud resource `parent`.", - "flatPath": "v1/organizations/{organizationsId}/settings", - "httpMethod": "GET", - "id": "resourcesettings.organizations.settings.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "pageSize": { - "description": "Unused. The size of the page to be returned.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Unused. A page token used to retrieve the next page.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The project, folder, or organization that is the parent resource for this setting. Must be in one of the following forms: * `projects/{project_number}` * `projects/{project_id}` * `folders/{folder_id}` * `organizations/{organization_id}`", - "location": "path", - "pattern": "^organizations/[^/]+$", - "required": true, - "type": "string" - }, - "view": { - "description": "The SettingView for this request.", - "enum": [ - "SETTING_VIEW_UNSPECIFIED", - "SETTING_VIEW_BASIC", - "SETTING_VIEW_EFFECTIVE_VALUE", - "SETTING_VIEW_LOCAL_VALUE" - ], - "enumDescriptions": [ - "The default / unset value. The API will default to the SETTING_VIEW_BASIC view.", - "Include Setting.metadata, but nothing else. This is the default value (for both ListSettings and GetSetting).", - "Include Setting.effective_value, but nothing else.", - "Include Setting.local_value, but nothing else." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1/{+parent}/settings", - "response": { - "$ref": "GoogleCloudResourcesettingsV1ListSettingsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "patch": { - "deprecated": true, - "description": "Updates a specified setting. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the setting does not exist. Returns a `google.rpc.Status` with `google.rpc.Code.FAILED_PRECONDITION` if the setting is flagged as read only. Returns a `google.rpc.Status` with `google.rpc.Code.ABORTED` if the etag supplied in the request does not match the persisted etag of the setting value. On success, the response will contain only `name`, `local_value` and `etag`. The `metadata` and `effective_value` cannot be updated through this API. Note: the supplied setting will perform a full overwrite of the `local_value` field.", - "flatPath": "v1/organizations/{organizationsId}/settings/{settingsId}", - "httpMethod": "PATCH", - "id": "resourcesettings.organizations.settings.patch", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The resource name of the setting. Must be in one of the following forms: * `projects/{project_number}/settings/{setting_name}` * `folders/{folder_id}/settings/{setting_name}` * `organizations/{organization_id}/settings/{setting_name}` For example, \"/projects/123/settings/gcp-enableMyFeature\"", - "location": "path", - "pattern": "^organizations/[^/]+/settings/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "request": { - "$ref": "GoogleCloudResourcesettingsV1Setting" - }, - "response": { - "$ref": "GoogleCloudResourcesettingsV1Setting" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - } - } - }, - "projects": { - "resources": { - "settings": { - "deprecated": true, - "methods": { - "get": { - "deprecated": true, - "description": "Returns a specified setting. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the setting does not exist.", - "flatPath": "v1/projects/{projectsId}/settings/{settingsId}", - "httpMethod": "GET", - "id": "resourcesettings.projects.settings.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the setting to get. See Setting for naming requirements.", - "location": "path", - "pattern": "^projects/[^/]+/settings/[^/]+$", - "required": true, - "type": "string" - }, - "view": { - "description": "The SettingView for this request.", - "enum": [ - "SETTING_VIEW_UNSPECIFIED", - "SETTING_VIEW_BASIC", - "SETTING_VIEW_EFFECTIVE_VALUE", - "SETTING_VIEW_LOCAL_VALUE" - ], - "enumDescriptions": [ - "The default / unset value. The API will default to the SETTING_VIEW_BASIC view.", - "Include Setting.metadata, but nothing else. This is the default value (for both ListSettings and GetSetting).", - "Include Setting.effective_value, but nothing else.", - "Include Setting.local_value, but nothing else." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "GoogleCloudResourcesettingsV1Setting" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "deprecated": true, - "description": "Lists all the settings that are available on the Cloud resource `parent`.", - "flatPath": "v1/projects/{projectsId}/settings", - "httpMethod": "GET", - "id": "resourcesettings.projects.settings.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "pageSize": { - "description": "Unused. The size of the page to be returned.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Unused. A page token used to retrieve the next page.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The project, folder, or organization that is the parent resource for this setting. Must be in one of the following forms: * `projects/{project_number}` * `projects/{project_id}` * `folders/{folder_id}` * `organizations/{organization_id}`", - "location": "path", - "pattern": "^projects/[^/]+$", - "required": true, - "type": "string" - }, - "view": { - "description": "The SettingView for this request.", - "enum": [ - "SETTING_VIEW_UNSPECIFIED", - "SETTING_VIEW_BASIC", - "SETTING_VIEW_EFFECTIVE_VALUE", - "SETTING_VIEW_LOCAL_VALUE" - ], - "enumDescriptions": [ - "The default / unset value. The API will default to the SETTING_VIEW_BASIC view.", - "Include Setting.metadata, but nothing else. This is the default value (for both ListSettings and GetSetting).", - "Include Setting.effective_value, but nothing else.", - "Include Setting.local_value, but nothing else." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1/{+parent}/settings", - "response": { - "$ref": "GoogleCloudResourcesettingsV1ListSettingsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "patch": { - "deprecated": true, - "description": "Updates a specified setting. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the setting does not exist. Returns a `google.rpc.Status` with `google.rpc.Code.FAILED_PRECONDITION` if the setting is flagged as read only. Returns a `google.rpc.Status` with `google.rpc.Code.ABORTED` if the etag supplied in the request does not match the persisted etag of the setting value. On success, the response will contain only `name`, `local_value` and `etag`. The `metadata` and `effective_value` cannot be updated through this API. Note: the supplied setting will perform a full overwrite of the `local_value` field.", - "flatPath": "v1/projects/{projectsId}/settings/{settingsId}", - "httpMethod": "PATCH", - "id": "resourcesettings.projects.settings.patch", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The resource name of the setting. Must be in one of the following forms: * `projects/{project_number}/settings/{setting_name}` * `folders/{folder_id}/settings/{setting_name}` * `organizations/{organization_id}/settings/{setting_name}` For example, \"/projects/123/settings/gcp-enableMyFeature\"", - "location": "path", - "pattern": "^projects/[^/]+/settings/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "request": { - "$ref": "GoogleCloudResourcesettingsV1Setting" - }, - "response": { - "$ref": "GoogleCloudResourcesettingsV1Setting" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - } - } - } - }, - "schemas": { - "GoogleCloudResourcesettingsV1ListSettingsResponse": { - "description": "The response from ListSettings.", - "id": "GoogleCloudResourcesettingsV1ListSettingsResponse", - "properties": { - "nextPageToken": { - "description": "Unused. A page token used to retrieve the next page.", - "type": "string" - }, - "settings": { - "description": "A list of settings that are available at the specified Cloud resource.", - "items": { - "$ref": "GoogleCloudResourcesettingsV1Setting" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudResourcesettingsV1Setting": { - "description": "The schema for settings.", - "id": "GoogleCloudResourcesettingsV1Setting", - "properties": { - "effectiveValue": { - "$ref": "GoogleCloudResourcesettingsV1Value", - "description": "Output only. The effective value of the setting at the given parent resource, evaluated based on the resource hierarchy The effective value evaluates to one of the following options, in this order. If an option is not valid or doesn't exist, then the next option is used: 1. The local setting value on the given resource: Setting.local_value 2. If one of the given resource's ancestors in the resource hierarchy have a local setting value, the local value at the nearest such ancestor. 3. The setting's default value: SettingMetadata.default_value 4. An empty value, defined as a `Value` with all fields unset. The data type of Value must always be consistent with the data type defined in Setting.metadata.", - "readOnly": true - }, - "etag": { - "description": "A fingerprint used for optimistic concurrency. See UpdateSetting for more details.", - "type": "string" - }, - "localValue": { - "$ref": "GoogleCloudResourcesettingsV1Value", - "description": "The configured value of the setting at the given parent resource, ignoring the resource hierarchy. The data type of Value must always be consistent with the data type defined in Setting.metadata." - }, - "metadata": { - "$ref": "GoogleCloudResourcesettingsV1SettingMetadata", - "description": "Output only. Metadata about a setting which is not editable by the end user.", - "readOnly": true - }, - "name": { - "description": "The resource name of the setting. Must be in one of the following forms: * `projects/{project_number}/settings/{setting_name}` * `folders/{folder_id}/settings/{setting_name}` * `organizations/{organization_id}/settings/{setting_name}` For example, \"/projects/123/settings/gcp-enableMyFeature\"", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudResourcesettingsV1SettingMetadata": { - "description": "Metadata about a setting which is not editable by the end user.", - "id": "GoogleCloudResourcesettingsV1SettingMetadata", - "properties": { - "dataType": { - "description": "The data type for this setting.", - "enum": [ - "DATA_TYPE_UNSPECIFIED", - "BOOLEAN", - "STRING", - "STRING_SET", - "ENUM_VALUE", - "DURATION_VALUE", - "STRING_MAP" - ], - "enumDescriptions": [ - "Unspecified data type.", - "A boolean setting.", - "A string setting.", - "A string set setting.", - "A Enum setting", - "A Duration setting", - "A string->string map setting" - ], - "type": "string" - }, - "defaultValue": { - "$ref": "GoogleCloudResourcesettingsV1Value", - "description": "The value provided by Setting.effective_value if no setting value is explicitly set. Note: not all settings have a default value." - }, - "description": { - "description": "A detailed description of what this setting does.", - "type": "string" - }, - "displayName": { - "description": "The human readable name for this setting.", - "type": "string" - }, - "readOnly": { - "description": "A flag indicating that values of this setting cannot be modified. See documentation for the specific setting for updates and reasons.", - "type": "boolean" - } - }, - "type": "object" - }, - "GoogleCloudResourcesettingsV1Value": { - "description": "The data in a setting value.", - "id": "GoogleCloudResourcesettingsV1Value", - "properties": { - "booleanValue": { - "description": "Defines this value as being a boolean value.", - "type": "boolean" - }, - "durationValue": { - "description": "Defines this value as being a Duration.", - "format": "google-duration", - "type": "string" - }, - "enumValue": { - "$ref": "GoogleCloudResourcesettingsV1ValueEnumValue", - "description": "Defines this value as being a Enum." - }, - "stringMapValue": { - "$ref": "GoogleCloudResourcesettingsV1ValueStringMap", - "description": "Defines this value as being a StringMap." - }, - "stringSetValue": { - "$ref": "GoogleCloudResourcesettingsV1ValueStringSet", - "description": "Defines this value as being a StringSet." - }, - "stringValue": { - "description": "Defines this value as being a string value.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudResourcesettingsV1ValueEnumValue": { - "description": "A enum value that can hold any enum type setting values. Each enum type is represented by a number, this representation is stored in the definitions.", - "id": "GoogleCloudResourcesettingsV1ValueEnumValue", - "properties": { - "value": { - "description": "The value of this enum", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudResourcesettingsV1ValueStringMap": { - "description": "A string->string map value that can hold a map of string keys to string values. The maximum length of each string is 200 characters and there can be a maximum of 50 key-value pairs in the map.", - "id": "GoogleCloudResourcesettingsV1ValueStringMap", - "properties": { - "mappings": { - "additionalProperties": { - "type": "string" - }, - "description": "The key-value pairs in the map", - "type": "object" - } - }, - "type": "object" - }, - "GoogleCloudResourcesettingsV1ValueStringSet": { - "description": "A string set value that can hold a set of strings. The maximum length of each string is 200 characters and there can be a maximum of 50 strings in the string set.", - "id": "GoogleCloudResourcesettingsV1ValueStringSet", - "properties": { - "values": { - "description": "The strings in the set", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - } - } -} diff --git a/discovery/googleapis/retail__v2.json b/discovery/googleapis/retail__v2.json index cfc361c7a..73279b037 100644 --- a/discovery/googleapis/retail__v2.json +++ b/discovery/googleapis/retail__v2.json @@ -12,7 +12,7 @@ "baseUrl": "https://retail.googleapis.com/", "batchPath": "batch", "canonicalName": "Cloud Retail", - "description": "Vertex AI Search for Retail API is made up of Retail Search, Browse and Recommendations. These discovery AI solutions help you implement personalized search, browse and recommendations, based on machine learning models, across your websites and mobile applications.", + "description": "Vertex AI Search for commerce API is made up of Retail Search, Browse and Recommendations. These discovery AI solutions help you implement personalized search, browse and recommendations, based on machine learning models, across your websites and mobile applications.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/recommendations", "icons": { @@ -25,10 +25,10 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241220", + "revision": "20250227", "rootUrl": "https://retail.googleapis.com/", "servicePath": "", - "title": "Vertex AI Search for Retail API", + "title": "Vertex AI Search for commerce API", "version": "v2", "version_module": true, "parameters": { @@ -147,7 +147,7 @@ "type": "boolean" }, "entity": { - "description": "The entity for customers who run multiple entities, domains, sites, or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. If this is set, it must be an exact match with UserEvent.entity to get per-entity autocomplete results.", + "description": "The entity for customers who run multiple entities, domains, sites, or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. If this is set, it must be an exact match with UserEvent.entity to get per-entity autocomplete results. Also, this entity should be limited to 256 characters, if too long, it will be truncated to 256 characters in both generation and serving time, and may lead to mis-match. To ensure it works, please set the entity with string within 256 characters.", "location": "query", "type": "string" }, @@ -2871,7 +2871,7 @@ "id": "GoogleCloudRetailV2ColorInfo", "properties": { "colorFamilies": { - "description": "The standard color families. Strongly recommended to use the following standard color groups: \"Red\", \"Pink\", \"Orange\", \"Yellow\", \"Purple\", \"Green\", \"Cyan\", \"Blue\", \"Brown\", \"White\", \"Gray\", \"Black\" and \"Mixed\". Normally it is expected to have only 1 color family. May consider using single \"Mixed\" instead of multiple values. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color).", + "description": "The standard color families. Strongly recommended to use the following standard color groups: \"Red\", \"Pink\", \"Orange\", \"Yellow\", \"Purple\", \"Green\", \"Cyan\", \"Blue\", \"Brown\", \"White\", \"Gray\", \"Black\" and \"Mixed\". Normally it is expected to have only 1 color family. May consider using single \"Mixed\" instead of multiple values. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). The colorFamilies field as a system attribute is not a required field but strongly recommended to be specified. Google Search models treat this field as more important than a custom product attribute when specified.", "items": { "type": "string" }, @@ -2921,10 +2921,11 @@ "type": "object" }, "GoogleCloudRetailV2CompleteQueryResponseAttributeResult": { - "description": "Resource that represents attribute results. The list of suggestions for the attribute.", + "description": "Resource that represents attribute results.", "id": "GoogleCloudRetailV2CompleteQueryResponseAttributeResult", "properties": { "suggestions": { + "description": "The list of suggestions for the attribute.", "items": { "type": "string" }, @@ -4910,6 +4911,10 @@ "$ref": "GoogleCloudRetailV2RuleOnewaySynonymsAction", "description": "Treats specific term as a synonym with a group of terms. Group of terms will not be treated as synonyms with the specific term." }, + "pinAction": { + "$ref": "GoogleCloudRetailV2RulePinAction", + "description": "Pins one or more specified products to a specific position in the results." + }, "redirectAction": { "$ref": "GoogleCloudRetailV2RuleRedirectAction", "description": "Redirects a shopper to a specific page." @@ -5056,6 +5061,20 @@ }, "type": "object" }, + "GoogleCloudRetailV2RulePinAction": { + "description": "Pins one or more specified products to a specific position in the results. * Rule Condition: Must specify non-empty Condition.query_terms (for search only) or Condition.page_categories (for browse only), but can't specify both. * Action Input: mapping of `[pin_position, product_id]` pairs (pin position uses 1-based indexing). * Action Result: Will pin products with matching ids to the position specified in the final result order. Example: Suppose the query is `shoes`, the Condition.query_terms is `shoes` and the pin_map has `{1, \"pid1\"}`, then product with `pid1` will be pinned to the top position in the final results. If multiple PinActions are matched to a single request the actions will be processed from most to least recently updated. Pins to positions larger than the max allowed page size of 120 are not allowed.", + "id": "GoogleCloudRetailV2RulePinAction", + "properties": { + "pinMap": { + "additionalProperties": { + "type": "string" + }, + "description": "Required. A map of positions to product_ids. Partial matches per action are allowed, if a certain position in the map is already filled that `[position, product_id]` pair will be ignored but the rest may still be applied. This case will only occur if multiple pin actions are matched to a single request, as the map guarantees that pin positions are unique within the same action. Duplicate product_ids are not permitted within a single pin map. The max size of this map is 120, equivalent to the max [request page size](https://cloud.google.com/retail/docs/reference/rest/v2/projects.locations.catalogs.placements/search#request-body).", + "type": "object" + } + }, + "type": "object" + }, "GoogleCloudRetailV2RuleRedirectAction": { "description": "Redirects a shopper to a specific page. * Rule Condition: Must specify Condition.query_terms. * Action Input: Request Query * Action Result: Redirects shopper to provided uri.", "id": "GoogleCloudRetailV2RuleRedirectAction", @@ -5164,6 +5183,10 @@ "description": "The labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. For more information, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) in the Resource Manager documentation.", "type": "object" }, + "languageCode": { + "description": "Optional. The BCP-47 language code, such as \"en-US\" or \"sr-Latn\" [list](https://www.unicode.org/cldr/charts/46/summary/root.html). For more information, see [Standardized codes](https://google.aip.dev/143). This field helps to better interpret the query. If a value isn't specified, the query language code is automatically detected, which may not be accurate.", + "type": "string" + }, "offset": { "description": "A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Products deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an INVALID_ARGUMENT is returned.", "format": "int32", @@ -5201,6 +5224,10 @@ "$ref": "GoogleCloudRetailV2SearchRequestQueryExpansionSpec", "description": "The query expansion specification that specifies the conditions under which query expansion occurs. For more information, see [Query expansion](https://cloud.google.com/retail/docs/result-size#query_expansion)." }, + "regionCode": { + "description": "Optional. The Unicode country/region code (CLDR) of a location, such as \"US\" and \"419\" [list](https://www.unicode.org/cldr/charts/46/supplemental/territory_information.html). For more information, see [Standardized codes](https://google.aip.dev/143). If set, then results will be boosted based on the region_code provided.", + "type": "string" + }, "searchMode": { "description": "The search mode of the search request. If not specified, a single search request triggers both product search and faceted search.", "enum": [ @@ -5503,7 +5530,7 @@ "id": "GoogleCloudRetailV2SearchRequestTileNavigationSpec", "properties": { "appliedTiles": { - "description": "This field specifies the tiles which are already clicked in client side. NOTE: This field is not being used for filtering search products. Client side should also put all the applied tiles in SearchRequest.filter.", + "description": "This optional field specifies the tiles which are already clicked in client side. While the feature works without this field set, particularly for an initial query, it is highly recommended to set this field because it can improve the quality of the search response and removes possible duplicate tiles. NOTE: This field is not being used for filtering search products. Client side should also put all the applied tiles in SearchRequest.filter.", "items": { "$ref": "GoogleCloudRetailV2Tile" }, @@ -6063,7 +6090,7 @@ "type": "string" }, "eventType": { - "description": "Required. User event type. Allowed values are: * `add-to-cart`: Products being added to cart. * `remove-from-cart`: Products being removed from cart. * `category-page-view`: Special pages such as sale or promotion pages viewed. * `detail-page-view`: Products detail page viewed. * `home-page-view`: Homepage viewed. * `promotion-offered`: Promotion is offered to a user. * `promotion-not-offered`: Promotion is not offered to a user. * `purchase-complete`: User finishing a purchase. * `search`: Product search. * `shopping-cart-page-view`: User viewing a shopping cart.", + "description": "Required. User event type. Allowed values are: * `add-to-cart`: Products being added to cart. * `remove-from-cart`: Products being removed from cart. * `category-page-view`: Special pages such as sale or promotion pages viewed. * `detail-page-view`: Products detail page viewed. * `home-page-view`: Homepage viewed. * `purchase-complete`: User finishing a purchase. * `search`: Product search. * `shopping-cart-page-view`: User viewing a shopping cart.", "type": "string" }, "experimentIds": { diff --git a/discovery/googleapis/run__v1.json b/discovery/googleapis/run__v1.json index d07d1e437..ebbe7290b 100644 --- a/discovery/googleapis/run__v1.json +++ b/discovery/googleapis/run__v1.json @@ -161,6 +161,11 @@ "endpointUrl": "https://northamerica-northeast2-run.googleapis.com/", "location": "northamerica-northeast2" }, + { + "description": "Locational Endpoint", + "endpointUrl": "https://northamerica-south1-run.googleapis.com/", + "location": "northamerica-south1" + }, { "description": "Locational Endpoint", "endpointUrl": "https://southamerica-east1-run.googleapis.com/", @@ -227,7 +232,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241004", + "revision": "20250307", "rootUrl": "https://run.googleapis.com/", "servicePath": "", "title": "Cloud Run Admin API", @@ -3278,7 +3283,7 @@ "id": "ExecutionSpec", "properties": { "parallelism": { - "description": "Optional. Specifies the maximum desired number of tasks the execution should run at given time. Must be <= task_count. When the job is run, if this field is 0 or unset, the maximum possible value will be used for that execution. The actual number of tasks running in steady state will be less than this number when there are fewer tasks waiting to be completed, i.e. when the work left to do is less than max parallelism.", + "description": "Optional. Specifies the maximum desired number of tasks the execution should run at given time. When the job is run, if this field is 0 or unset, the maximum possible value will be used for that execution. The actual number of tasks running in steady state will be less than this number when there are fewer tasks waiting to be completed, i.e. when the work left to do is less than max parallelism.", "format": "int32", "type": "integer" }, @@ -3516,6 +3521,13 @@ "description": "Artifacts produced by a build that should be uploaded upon successful completion of all build steps.", "id": "GoogleDevtoolsCloudbuildV1Artifacts", "properties": { + "goModules": { + "description": "Optional. A list of Go modules to be uploaded to Artifact Registry upon successful completion of all build steps. If any objects fail to be pushed, the build is marked FAILURE.", + "items": { + "$ref": "GoogleDevtoolsCloudbuildV1GoModule" + }, + "type": "array" + }, "images": { "description": "A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account's credentials. The digests of the pushed images will be stored in the Build resource's results field. If any of the images fail to be pushed, the build is marked FAILURE.", "items": { @@ -3579,6 +3591,13 @@ "readOnly": true, "type": "string" }, + "dependencies": { + "description": "Optional. Dependencies that the Cloud Build worker will fetch before executing user steps.", + "items": { + "$ref": "GoogleDevtoolsCloudbuildV1Dependency" + }, + "type": "array" + }, "failureInfo": { "$ref": "GoogleDevtoolsCloudbuildV1FailureInfo", "description": "Output only. Contains information about the build when status=FAILURE.", @@ -3822,6 +3841,10 @@ "description": "Option to specify whether or not to apply bash style string operations to the substitutions. NOTE: this is always enabled for triggered builds and cannot be overridden in the build configuration file.", "type": "boolean" }, + "enableStructuredLogging": { + "description": "Optional. Option to specify whether structured logging is enabled. If true, JSON-formatted logs are parsed as structured logs.", + "type": "boolean" + }, "env": { "description": "A list of global environment variable definitions that will exist for all build steps in this build. If a variable is defined in both globally and in a build step, the variable will use the build step value. The elements are of the form \"KEY=VALUE\" for the environment variable \"KEY\" being given the value \"VALUE\".", "items": { @@ -3903,6 +3926,10 @@ "$ref": "GoogleDevtoolsCloudbuildV1PoolOption", "description": "Optional. Specification for execution on a `WorkerPool`. See [running builds in a private pool](https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool) for more information." }, + "pubsubTopic": { + "description": "Optional. Option to specify the Pub/Sub topic to receive build status updates.", + "type": "string" + }, "requestedVerifyOption": { "description": "Requested verifiability options.", "enum": [ @@ -3929,12 +3956,14 @@ "NONE", "SHA256", "MD5", + "GO_MODULE_H1", "SHA512" ], "enumDescriptions": [ "No hash requested.", "Use a sha256 hash.", "Use a md5 hash.", + "Dirhash of a Go module's source code which is then hex-encoded.", "Use a sha512 hash." ], "type": "string" @@ -4135,6 +4164,21 @@ }, "type": "object" }, + "GoogleDevtoolsCloudbuildV1Dependency": { + "description": "A dependency that the Cloud Build worker will fetch before executing user steps.", + "id": "GoogleDevtoolsCloudbuildV1Dependency", + "properties": { + "empty": { + "description": "If set to true disable all dependency fetching (ignoring the default source as well).", + "type": "boolean" + }, + "gitSource": { + "$ref": "GoogleDevtoolsCloudbuildV1GitSourceDependency", + "description": "Represents a git repository as a build dependency." + } + }, + "type": "object" + }, "GoogleDevtoolsCloudbuildV1DeveloperConnectConfig": { "description": "This config defines the location of a source through Developer Connect.", "id": "GoogleDevtoolsCloudbuildV1DeveloperConnectConfig", @@ -4231,6 +4275,80 @@ }, "type": "object" }, + "GoogleDevtoolsCloudbuildV1GitSourceDependency": { + "description": "Represents a git repository as a build dependency.", + "id": "GoogleDevtoolsCloudbuildV1GitSourceDependency", + "properties": { + "depth": { + "description": "Optional. How much history should be fetched for the build (default 1, -1 for all history).", + "format": "int64", + "type": "string" + }, + "destPath": { + "description": "Required. Where should the files be placed on the worker.", + "type": "string" + }, + "recurseSubmodules": { + "description": "Optional. True if submodules should be fetched too (default false).", + "type": "boolean" + }, + "repository": { + "$ref": "GoogleDevtoolsCloudbuildV1GitSourceRepository", + "description": "Required. The kind of repo (url or dev connect)." + }, + "revision": { + "description": "Required. The revision that we will fetch the repo at.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsCloudbuildV1GitSourceRepository": { + "description": "A repository for a git source.", + "id": "GoogleDevtoolsCloudbuildV1GitSourceRepository", + "properties": { + "developerConnect": { + "description": "The Developer Connect Git repository link or the url that matches a repository link in the current project, formatted as `projects/*/locations/*/connections/*/gitRepositoryLink/*`", + "type": "string" + }, + "url": { + "description": "Location of the Git repository.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsCloudbuildV1GoModule": { + "description": "Go module to upload to Artifact Registry upon successful completion of all build steps. A module refers to all dependencies in a go.mod file.", + "id": "GoogleDevtoolsCloudbuildV1GoModule", + "properties": { + "modulePath": { + "description": "Optional. The Go module's \"module path\". e.g. example.com/foo/v2", + "type": "string" + }, + "moduleVersion": { + "description": "Optional. The Go module's semantic version in the form vX.Y.Z. e.g. v0.1.1 Pre-release identifiers can also be added by appending a dash and dot separated ASCII alphanumeric characters and hyphens. e.g. v0.2.3-alpha.x.12m.5", + "type": "string" + }, + "repositoryLocation": { + "description": "Optional. Location of the Artifact Registry repository. i.e. us-east1 Defaults to the build’s location.", + "type": "string" + }, + "repositoryName": { + "description": "Optional. Artifact Registry repository name. Specified Go modules will be zipped and uploaded to Artifact Registry with this location as a prefix. e.g. my-go-repo", + "type": "string" + }, + "repositoryProjectId": { + "description": "Optional. Project ID of the Artifact Registry repository. Defaults to the build project.", + "type": "string" + }, + "sourcePath": { + "description": "Optional. Source path of the go.mod file in the build's workspace. If not specified, this will default to the current directory. e.g. ~/code/go/mypackage", + "type": "string" + } + }, + "type": "object" + }, "GoogleDevtoolsCloudbuildV1Hash": { "description": "Container message for hash values.", "id": "GoogleDevtoolsCloudbuildV1Hash", @@ -4241,12 +4359,14 @@ "NONE", "SHA256", "MD5", + "GO_MODULE_H1", "SHA512" ], "enumDescriptions": [ "No hash requested.", "Use a sha256 hash.", "Use a md5 hash.", + "Dirhash of a Go module's source code which is then hex-encoded.", "Use a sha512 hash." ], "type": "string" @@ -4429,6 +4549,13 @@ }, "type": "array" }, + "goModules": { + "description": "Optional. Go module artifacts uploaded to Artifact Registry at the end of the build.", + "items": { + "$ref": "GoogleDevtoolsCloudbuildV1UploadedGoModule" + }, + "type": "array" + }, "images": { "description": "Container images that were built as a part of the build.", "items": { @@ -4659,6 +4786,26 @@ }, "type": "object" }, + "GoogleDevtoolsCloudbuildV1UploadedGoModule": { + "description": "A Go module artifact uploaded to Artifact Registry using the GoModule directive.", + "id": "GoogleDevtoolsCloudbuildV1UploadedGoModule", + "properties": { + "fileHashes": { + "$ref": "GoogleDevtoolsCloudbuildV1FileHashes", + "description": "Hash types and values of the Go Module Artifact." + }, + "pushTiming": { + "$ref": "GoogleDevtoolsCloudbuildV1TimeSpan", + "description": "Output only. Stores timing information for pushing the specified artifact.", + "readOnly": true + }, + "uri": { + "description": "URI of the uploaded artifact.", + "type": "string" + } + }, + "type": "object" + }, "GoogleDevtoolsCloudbuildV1UploadedMavenArtifact": { "description": "A Maven artifact uploaded using the MavenArtifact directive.", "id": "GoogleDevtoolsCloudbuildV1UploadedMavenArtifact", @@ -6215,6 +6362,13 @@ "format": "int32", "type": "integer" }, + "nodeSelector": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The Node Selector configuration. Map of selector key to a value which matches a node.", + "type": "object" + }, "serviceAccountName": { "description": "Optional. Email address of the IAM service account associated with the task of a job execution. The service account represents the identity of the running task, and determines what permissions the task has. If not provided, the task will use the project's default service account.", "type": "string" diff --git a/discovery/googleapis/run__v2.json b/discovery/googleapis/run__v2.json index d9c4f1d0b..2f58c810d 100644 --- a/discovery/googleapis/run__v2.json +++ b/discovery/googleapis/run__v2.json @@ -161,6 +161,11 @@ "endpointUrl": "https://northamerica-northeast2-run.googleapis.com/", "location": "northamerica-northeast2" }, + { + "description": "Locational Endpoint", + "endpointUrl": "https://northamerica-south1-run.googleapis.com/", + "location": "northamerica-south1" + }, { "description": "Locational Endpoint", "endpointUrl": "https://southamerica-east1-run.googleapis.com/", @@ -227,7 +232,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241213", + "revision": "20250228", "rootUrl": "https://run.googleapis.com/", "servicePath": "", "title": "Cloud Run Admin API", @@ -1524,260 +1529,719 @@ } } } - } - } - } - } - } - }, - "schemas": { - "GoogleCloudRunV2BinaryAuthorization": { - "description": "Settings for Binary Authorization feature.", - "id": "GoogleCloudRunV2BinaryAuthorization", - "properties": { - "breakglassJustification": { - "description": "Optional. If present, indicates to use Breakglass using this justification. If use_default is False, then it must be empty. For more information on breakglass, see https://cloud.google.com/binary-authorization/docs/using-breakglass", - "type": "string" - }, - "policy": { - "description": "Optional. The path to a binary authorization policy. Format: `projects/{project}/platforms/cloudRun/{policy-name}`", - "type": "string" - }, - "useDefault": { - "description": "Optional. If True, indicates to use the default project's binary authorization policy. If False, binary authorization will be disabled.", - "type": "boolean" - } - }, - "type": "object" - }, - "GoogleCloudRunV2BuildpacksBuild": { - "description": "Build the source using Buildpacks.", - "id": "GoogleCloudRunV2BuildpacksBuild", - "properties": { - "baseImage": { - "description": "Optional. The base image used to opt into automatic base image updates.", - "type": "string" - }, - "cacheImageUri": { - "description": "Optional. cache_image_uri is the GCR/AR URL where the cache image will be stored. cache_image_uri is optional and omitting it will disable caching. This URL must be stable across builds. It is used to derive a build-specific temporary URL by substituting the tag with the build ID. The build will clean up the temporary image on a best-effort basis.", - "type": "string" - }, - "enableAutomaticUpdates": { - "description": "Optional. Whether or not the application container will be enrolled in automatic base image updates. When true, the application will be built on a scratch base image, so the base layers can be appended at run time.", - "type": "boolean" - }, - "environmentVariables": { - "additionalProperties": { - "type": "string" - }, - "description": "Optional. User-provided build-time environment variables.", - "type": "object" - }, - "functionTarget": { - "description": "Optional. Name of the function target if the source is a function source. Required for function builds.", - "type": "string" - }, - "projectDescriptor": { - "description": "Optional. project_descriptor stores the path to the project descriptor file. When empty, it means that there is no project descriptor file in the source.", - "type": "string" - }, - "runtime": { - "deprecated": true, - "description": "The runtime name, e.g. 'go113'. Leave blank for generic builds.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudRunV2CancelExecutionRequest": { - "description": "Request message for deleting an Execution.", - "id": "GoogleCloudRunV2CancelExecutionRequest", - "properties": { - "etag": { - "description": "A system-generated fingerprint for this version of the resource. This may be used to detect modification conflict during updates.", - "type": "string" - }, - "validateOnly": { - "description": "Indicates that the request should be validated without actually cancelling any resources.", - "type": "boolean" - } - }, - "type": "object" - }, - "GoogleCloudRunV2CloudSqlInstance": { - "description": "Represents a set of Cloud SQL instances. Each one will be available under /cloudsql/[instance]. Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run.", - "id": "GoogleCloudRunV2CloudSqlInstance", - "properties": { - "instances": { - "description": "The Cloud SQL instance connection names, as can be found in https://console.cloud.google.com/sql/instances. Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run. Format: {project}:{location}:{instance}", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudRunV2Condition": { - "description": "Defines a status condition for a resource.", - "id": "GoogleCloudRunV2Condition", - "properties": { - "executionReason": { - "description": "Output only. A reason for the execution condition.", - "enum": [ - "EXECUTION_REASON_UNDEFINED", - "JOB_STATUS_SERVICE_POLLING_ERROR", - "NON_ZERO_EXIT_CODE", - "CANCELLED", - "CANCELLING", - "DELETED" - ], - "enumDescriptions": [ - "Default value.", - "Internal system error getting execution status. System will retry.", - "A task reached its retry limit and the last attempt failed due to the user container exiting with a non-zero exit code.", - "The execution was cancelled by users.", - "The execution is in the process of being cancelled.", - "The execution was deleted." - ], - "readOnly": true, - "type": "string" - }, - "lastTransitionTime": { - "description": "Last time the condition transitioned from one status to another.", - "format": "google-datetime", - "type": "string" - }, - "message": { - "description": "Human readable message indicating details about the current status.", - "type": "string" - }, - "reason": { - "description": "Output only. A common (service-level) reason for this condition.", - "enum": [ - "COMMON_REASON_UNDEFINED", - "UNKNOWN", - "REVISION_FAILED", - "PROGRESS_DEADLINE_EXCEEDED", - "CONTAINER_MISSING", - "CONTAINER_PERMISSION_DENIED", - "CONTAINER_IMAGE_UNAUTHORIZED", - "CONTAINER_IMAGE_AUTHORIZATION_CHECK_FAILED", - "ENCRYPTION_KEY_PERMISSION_DENIED", - "ENCRYPTION_KEY_CHECK_FAILED", - "SECRETS_ACCESS_CHECK_FAILED", - "WAITING_FOR_OPERATION", - "IMMEDIATE_RETRY", - "POSTPONED_RETRY", - "INTERNAL" - ], - "enumDescriptions": [ - "Default value.", - "Reason unknown. Further details will be in message.", - "Revision creation process failed.", - "Timed out waiting for completion.", - "The container image path is incorrect.", - "Insufficient permissions on the container image.", - "Container image is not authorized by policy.", - "Container image policy authorization check failed.", - "Insufficient permissions on encryption key.", - "Permission check on encryption key failed.", - "At least one Access check on secrets failed.", - "Waiting for operation to complete.", - "System will retry immediately.", - "System will retry later; current attempt failed.", - "An internal error occurred. Further information may be in the message." - ], - "readOnly": true, - "type": "string" - }, - "revisionReason": { - "description": "Output only. A reason for the revision condition.", - "enum": [ - "REVISION_REASON_UNDEFINED", - "PENDING", - "RESERVE", - "RETIRED", - "RETIRING", - "RECREATING", - "HEALTH_CHECK_CONTAINER_ERROR", - "CUSTOMIZED_PATH_RESPONSE_PENDING", - "MIN_INSTANCES_NOT_PROVISIONED", - "ACTIVE_REVISION_LIMIT_REACHED", - "NO_DEPLOYMENT", - "HEALTH_CHECK_SKIPPED", - "MIN_INSTANCES_WARMING" - ], - "enumDescriptions": [ - "Default value.", - "Revision in Pending state.", - "Revision is in Reserve state.", - "Revision is Retired.", - "Revision is being retired.", - "Revision is being recreated.", - "There was a health check error.", - "Health check failed due to user error from customized path of the container. System will retry.", - "A revision with min_instance_count > 0 was created and is reserved, but it was not configured to serve traffic, so it's not live. This can also happen momentarily during traffic migration.", - "The maximum allowed number of active revisions has been reached.", - "There was no deployment defined. This value is no longer used, but Services created in older versions of the API might contain this value.", - "A revision's container has no port specified since the revision is of a manually scaled service with 0 instance count", - "A revision with min_instance_count > 0 was created and is waiting for enough instances to begin a traffic migration." - ], - "readOnly": true, - "type": "string" - }, - "severity": { - "description": "How to interpret failures of this condition, one of Error, Warning, Info", - "enum": [ - "SEVERITY_UNSPECIFIED", - "ERROR", - "WARNING", - "INFO" - ], - "enumDescriptions": [ - "Unspecified severity", - "Error severity.", - "Warning severity.", - "Info severity." - ], - "type": "string" - }, - "state": { - "description": "State of the condition.", - "enum": [ - "STATE_UNSPECIFIED", - "CONDITION_PENDING", - "CONDITION_RECONCILING", - "CONDITION_FAILED", - "CONDITION_SUCCEEDED" - ], - "enumDescriptions": [ - "The default value. This value is used if the state is omitted.", - "Transient state: Reconciliation has not started yet.", - "Transient state: reconciliation is still in progress.", - "Terminal state: Reconciliation did not succeed.", - "Terminal state: Reconciliation completed successfully." - ], - "type": "string" - }, - "type": { - "description": "type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * \"Ready\": True when the Resource is ready.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudRunV2Container": { - "description": "A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments can be supplied by the system to the container at runtime.", - "id": "GoogleCloudRunV2Container", - "properties": { - "args": { - "description": "Arguments to the entrypoint. The docker image's CMD is used if this is not provided.", - "items": { - "type": "string" - }, - "type": "array" - }, + }, + "workerPools": { + "methods": { + "create": { + "description": "Creates a new WorkerPool in a given project and location.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/workerPools", + "httpMethod": "POST", + "id": "run.projects.locations.workerPools.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The location and project in which this worker pool should be created. Format: projects/{project}/locations/{location}, where {project} can be project id or number. Only lowercase characters, digits, and hyphens.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "validateOnly": { + "description": "Optional. Indicates that the request should be validated and default values populated, without persisting the request or creating any resources.", + "location": "query", + "type": "boolean" + }, + "workerPoolId": { + "description": "Required. The unique identifier for the WorkerPool. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the worker pool becomes {parent}/workerPools/{worker_pool_id}.", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+parent}/workerPools", + "request": { + "$ref": "GoogleCloudRunV2WorkerPool" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a WorkerPool.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/workerPools/{workerPoolsId}", + "httpMethod": "DELETE", + "id": "run.projects.locations.workerPools.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The full name of the WorkerPool. Format: projects/{project}/locations/{location}/workerPools/{worker_pool}, where {project} can be project id or number.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workerPools/[^/]+$", + "required": true, + "type": "string" + }, + "validateOnly": { + "description": "Optional. Indicates that the request should be validated without actually deleting any resources.", + "location": "query", + "type": "boolean" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets information about a WorkerPool.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/workerPools/{workerPoolsId}", + "httpMethod": "GET", + "id": "run.projects.locations.workerPools.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The full name of the WorkerPool. Format: projects/{project}/locations/{location}/workerPools/{worker_pool}, where {project} can be project id or number.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workerPools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleCloudRunV2WorkerPool" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the IAM Access Control policy currently in effect for the given Cloud Run WorkerPool. This result does not include any inherited policies.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/workerPools/{workerPoolsId}:getIamPolicy", + "httpMethod": "GET", + "id": "run.projects.locations.workerPools.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workerPools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists WorkerPools. Results are sorted by creation time, descending.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/workerPools", + "httpMethod": "GET", + "id": "run.projects.locations.workerPools.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of WorkerPools to return in this call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from a previous call to ListWorkerPools. All other parameters must match.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The location and project to list resources on. Location must be a valid Google Cloud region, and cannot be the \"-\" wildcard. Format: projects/{project}/locations/{location}, where {project} can be project id or number.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "showDeleted": { + "description": "If true, returns deleted (but unexpired) resources along with active ones.", + "location": "query", + "type": "boolean" + } + }, + "path": "v2/{+parent}/workerPools", + "response": { + "$ref": "GoogleCloudRunV2ListWorkerPoolsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a WorkerPool.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/workerPools/{workerPoolsId}", + "httpMethod": "PATCH", + "id": "run.projects.locations.workerPools.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If set to true, and if the WorkerPool does not exist, it will create a new one. The caller must have 'run.workerpools.create' permissions if this is set to true and the WorkerPool does not exist.", + "location": "query", + "type": "boolean" + }, + "forceNewRevision": { + "description": "Optional. If set to true, a new revision will be created from the template even if the system doesn't detect any changes from the previously deployed revision. This may be useful for cases where the underlying resources need to be recreated or reinitialized. For example if the image is specified by label, but the underlying image digest has changed) or if the container performs deployment initialization work that needs to be performed again.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "The fully qualified name of this WorkerPool. In CreateWorkerPoolRequest, this field is ignored, and instead composed from CreateWorkerPoolRequest.parent and CreateWorkerPoolRequest.worker_id. Format: projects/{project}/locations/{location}/workerPools/{worker_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workerPools/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. Indicates that the request should be validated and default values populated, without persisting the request or updating any resources.", + "location": "query", + "type": "boolean" + } + }, + "path": "v2/{+name}", + "request": { + "$ref": "GoogleCloudRunV2WorkerPool" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the IAM Access control policy for the specified WorkerPool. Overwrites any existing policy.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/workerPools/{workerPoolsId}:setIamPolicy", + "httpMethod": "POST", + "id": "run.projects.locations.workerPools.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workerPools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified Project. There are no permissions required for making this API call.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/workerPools/{workerPoolsId}:testIamPermissions", + "httpMethod": "POST", + "id": "run.projects.locations.workerPools.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workerPools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "revisions": { + "methods": { + "delete": { + "description": "Deletes a Revision.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/workerPools/{workerPoolsId}/revisions/{revisionsId}", + "httpMethod": "DELETE", + "id": "run.projects.locations.workerPools.revisions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "A system-generated fingerprint for this version of the resource. This may be used to detect modification conflict during updates.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the Revision to delete. Format: projects/{project}/locations/{location}/services/{service}/revisions/{revision}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workerPools/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + }, + "validateOnly": { + "description": "Indicates that the request should be validated without actually deleting any resources.", + "location": "query", + "type": "boolean" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets information about a Revision.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/workerPools/{workerPoolsId}/revisions/{revisionsId}", + "httpMethod": "GET", + "id": "run.projects.locations.workerPools.revisions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The full name of the Revision. Format: projects/{project}/locations/{location}/services/{service}/revisions/{revision}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workerPools/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleCloudRunV2Revision" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Revisions from a given Service, or from a given location. Results are sorted by creation time, descending.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/workerPools/{workerPoolsId}/revisions", + "httpMethod": "GET", + "id": "run.projects.locations.workerPools.revisions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of revisions to return in this call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from a previous call to ListRevisions. All other parameters must match.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The Service from which the Revisions should be listed. To list all Revisions across Services, use \"-\" instead of Service name. Format: projects/{project}/locations/{location}/services/{service}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workerPools/[^/]+$", + "required": true, + "type": "string" + }, + "showDeleted": { + "description": "If true, returns deleted (but unexpired) resources along with active ones.", + "location": "query", + "type": "boolean" + } + }, + "path": "v2/{+parent}/revisions", + "response": { + "$ref": "GoogleCloudRunV2ListRevisionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "schemas": { + "GoogleCloudRunV2BinaryAuthorization": { + "description": "Settings for Binary Authorization feature.", + "id": "GoogleCloudRunV2BinaryAuthorization", + "properties": { + "breakglassJustification": { + "description": "Optional. If present, indicates to use Breakglass using this justification. If use_default is False, then it must be empty. For more information on breakglass, see https://cloud.google.com/binary-authorization/docs/using-breakglass", + "type": "string" + }, + "policy": { + "description": "Optional. The path to a binary authorization policy. Format: `projects/{project}/platforms/cloudRun/{policy-name}`", + "type": "string" + }, + "useDefault": { + "description": "Optional. If True, indicates to use the default project's binary authorization policy. If False, binary authorization will be disabled.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudRunV2BuildConfig": { + "description": "Describes the Build step of the function that builds a container from the given source.", + "id": "GoogleCloudRunV2BuildConfig", + "properties": { + "baseImage": { + "description": "Optional. The base image used to build the function.", + "type": "string" + }, + "enableAutomaticUpdates": { + "description": "Optional. Sets whether the function will receive automatic base image updates.", + "type": "boolean" + }, + "environmentVariables": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. User-provided build-time environment variables for the function", + "type": "object" + }, + "functionTarget": { + "description": "Optional. The name of the function (as defined in source code) that will be executed. Defaults to the resource name suffix, if not specified. For backward compatibility, if function with given name is not found, then the system will try to use function named \"function\".", + "type": "string" + }, + "imageUri": { + "description": "Optional. Artifact Registry URI to store the built image.", + "type": "string" + }, + "name": { + "description": "Output only. The Cloud Build name of the latest successful deployment of the function.", + "readOnly": true, + "type": "string" + }, + "serviceAccount": { + "description": "Optional. Service account to be used for building the container. The format of this field is `projects/{projectId}/serviceAccounts/{serviceAccountEmail}`.", + "type": "string" + }, + "sourceLocation": { + "description": "The Cloud Storage bucket URI where the function source code is located.", + "type": "string" + }, + "workerPool": { + "description": "Optional. Name of the Cloud Build Custom Worker Pool that should be used to build the Cloud Run function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunV2BuildInfo": { + "description": "Build information of the image.", + "id": "GoogleCloudRunV2BuildInfo", + "properties": { + "functionTarget": { + "description": "Output only. Entry point of the function when the image is a Cloud Run function.", + "readOnly": true, + "type": "string" + }, + "sourceLocation": { + "description": "Output only. Source code location of the image.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunV2BuildpacksBuild": { + "description": "Build the source using Buildpacks.", + "id": "GoogleCloudRunV2BuildpacksBuild", + "properties": { + "baseImage": { + "description": "Optional. The base image to use for the build.", + "type": "string" + }, + "cacheImageUri": { + "description": "Optional. cache_image_uri is the GCR/AR URL where the cache image will be stored. cache_image_uri is optional and omitting it will disable caching. This URL must be stable across builds. It is used to derive a build-specific temporary URL by substituting the tag with the build ID. The build will clean up the temporary image on a best-effort basis.", + "type": "string" + }, + "enableAutomaticUpdates": { + "description": "Optional. Whether or not the application container will be enrolled in automatic base image updates. When true, the application will be built on a scratch base image, so the base layers can be appended at run time.", + "type": "boolean" + }, + "environmentVariables": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. User-provided build-time environment variables.", + "type": "object" + }, + "functionTarget": { + "description": "Optional. Name of the function target if the source is a function source. Required for function builds.", + "type": "string" + }, + "projectDescriptor": { + "description": "Optional. project_descriptor stores the path to the project descriptor file. When empty, it means that there is no project descriptor file in the source.", + "type": "string" + }, + "runtime": { + "deprecated": true, + "description": "The runtime name, e.g. 'go113'. Leave blank for generic builds.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunV2CancelExecutionRequest": { + "description": "Request message for deleting an Execution.", + "id": "GoogleCloudRunV2CancelExecutionRequest", + "properties": { + "etag": { + "description": "A system-generated fingerprint for this version of the resource. This may be used to detect modification conflict during updates.", + "type": "string" + }, + "validateOnly": { + "description": "Indicates that the request should be validated without actually cancelling any resources.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudRunV2CloudSqlInstance": { + "description": "Represents a set of Cloud SQL instances. Each one will be available under /cloudsql/[instance]. Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run.", + "id": "GoogleCloudRunV2CloudSqlInstance", + "properties": { + "instances": { + "description": "The Cloud SQL instance connection names, as can be found in https://console.cloud.google.com/sql/instances. Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run. Format: {project}:{location}:{instance}", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRunV2Condition": { + "description": "Defines a status condition for a resource.", + "id": "GoogleCloudRunV2Condition", + "properties": { + "executionReason": { + "description": "Output only. A reason for the execution condition.", + "enum": [ + "EXECUTION_REASON_UNDEFINED", + "JOB_STATUS_SERVICE_POLLING_ERROR", + "NON_ZERO_EXIT_CODE", + "CANCELLED", + "CANCELLING", + "DELETED" + ], + "enumDescriptions": [ + "Default value.", + "Internal system error getting execution status. System will retry.", + "A task reached its retry limit and the last attempt failed due to the user container exiting with a non-zero exit code.", + "The execution was cancelled by users.", + "The execution is in the process of being cancelled.", + "The execution was deleted." + ], + "readOnly": true, + "type": "string" + }, + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "format": "google-datetime", + "type": "string" + }, + "message": { + "description": "Human readable message indicating details about the current status.", + "type": "string" + }, + "reason": { + "description": "Output only. A common (service-level) reason for this condition.", + "enum": [ + "COMMON_REASON_UNDEFINED", + "UNKNOWN", + "REVISION_FAILED", + "PROGRESS_DEADLINE_EXCEEDED", + "CONTAINER_MISSING", + "CONTAINER_PERMISSION_DENIED", + "CONTAINER_IMAGE_UNAUTHORIZED", + "CONTAINER_IMAGE_AUTHORIZATION_CHECK_FAILED", + "ENCRYPTION_KEY_PERMISSION_DENIED", + "ENCRYPTION_KEY_CHECK_FAILED", + "SECRETS_ACCESS_CHECK_FAILED", + "WAITING_FOR_OPERATION", + "IMMEDIATE_RETRY", + "POSTPONED_RETRY", + "INTERNAL" + ], + "enumDescriptions": [ + "Default value.", + "Reason unknown. Further details will be in message.", + "Revision creation process failed.", + "Timed out waiting for completion.", + "The container image path is incorrect.", + "Insufficient permissions on the container image.", + "Container image is not authorized by policy.", + "Container image policy authorization check failed.", + "Insufficient permissions on encryption key.", + "Permission check on encryption key failed.", + "At least one Access check on secrets failed.", + "Waiting for operation to complete.", + "System will retry immediately.", + "System will retry later; current attempt failed.", + "An internal error occurred. Further information may be in the message." + ], + "readOnly": true, + "type": "string" + }, + "revisionReason": { + "description": "Output only. A reason for the revision condition.", + "enum": [ + "REVISION_REASON_UNDEFINED", + "PENDING", + "RESERVE", + "RETIRED", + "RETIRING", + "RECREATING", + "HEALTH_CHECK_CONTAINER_ERROR", + "CUSTOMIZED_PATH_RESPONSE_PENDING", + "MIN_INSTANCES_NOT_PROVISIONED", + "ACTIVE_REVISION_LIMIT_REACHED", + "NO_DEPLOYMENT", + "HEALTH_CHECK_SKIPPED", + "MIN_INSTANCES_WARMING" + ], + "enumDescriptions": [ + "Default value.", + "Revision in Pending state.", + "Revision is in Reserve state.", + "Revision is Retired.", + "Revision is being retired.", + "Revision is being recreated.", + "There was a health check error.", + "Health check failed due to user error from customized path of the container. System will retry.", + "A revision with min_instance_count > 0 was created and is reserved, but it was not configured to serve traffic, so it's not live. This can also happen momentarily during traffic migration.", + "The maximum allowed number of active revisions has been reached.", + "There was no deployment defined. This value is no longer used, but Services created in older versions of the API might contain this value.", + "A revision's container has no port specified since the revision is of a manually scaled service with 0 instance count", + "A revision with min_instance_count > 0 was created and is waiting for enough instances to begin a traffic migration." + ], + "readOnly": true, + "type": "string" + }, + "severity": { + "description": "How to interpret failures of this condition, one of Error, Warning, Info", + "enum": [ + "SEVERITY_UNSPECIFIED", + "ERROR", + "WARNING", + "INFO" + ], + "enumDescriptions": [ + "Unspecified severity", + "Error severity.", + "Warning severity.", + "Info severity." + ], + "type": "string" + }, + "state": { + "description": "State of the condition.", + "enum": [ + "STATE_UNSPECIFIED", + "CONDITION_PENDING", + "CONDITION_RECONCILING", + "CONDITION_FAILED", + "CONDITION_SUCCEEDED" + ], + "enumDescriptions": [ + "The default value. This value is used if the state is omitted.", + "Transient state: Reconciliation has not started yet.", + "Transient state: reconciliation is still in progress.", + "Terminal state: Reconciliation did not succeed.", + "Terminal state: Reconciliation completed successfully." + ], + "type": "string" + }, + "type": { + "description": "type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * \"Ready\": True when the Resource is ready.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunV2Container": { + "description": "A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments can be supplied by the system to the container at runtime.", + "id": "GoogleCloudRunV2Container", + "properties": { + "args": { + "description": "Arguments to the entrypoint. The docker image's CMD is used if this is not provided.", + "items": { + "type": "string" + }, + "type": "array" + }, + "baseImageUri": { + "description": "Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update.", + "type": "string" + }, + "buildInfo": { + "$ref": "GoogleCloudRunV2BuildInfo", + "description": "Output only. The build info of the container image.", + "readOnly": true + }, "command": { "description": "Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided.", "items": { @@ -1785,191 +2249,686 @@ }, "type": "array" }, - "dependsOn": { - "description": "Names of the containers that must start before this container.", - "items": { - "type": "string" - }, - "type": "array" + "dependsOn": { + "description": "Names of the containers that must start before this container.", + "items": { + "type": "string" + }, + "type": "array" + }, + "env": { + "description": "List of environment variables to set in the container.", + "items": { + "$ref": "GoogleCloudRunV2EnvVar" + }, + "type": "array" + }, + "image": { + "description": "Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.", + "type": "string" + }, + "livenessProbe": { + "$ref": "GoogleCloudRunV2Probe", + "description": "Periodic probe of container liveness. Container will be restarted if the probe fails." + }, + "name": { + "description": "Name of the container specified as a DNS_LABEL (RFC 1123).", + "type": "string" + }, + "ports": { + "description": "List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.", + "items": { + "$ref": "GoogleCloudRunV2ContainerPort" + }, + "type": "array" + }, + "resources": { + "$ref": "GoogleCloudRunV2ResourceRequirements", + "description": "Compute Resource requirements by this container." + }, + "startupProbe": { + "$ref": "GoogleCloudRunV2Probe", + "description": "Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails." + }, + "volumeMounts": { + "description": "Volume to mount into the container's filesystem.", + "items": { + "$ref": "GoogleCloudRunV2VolumeMount" + }, + "type": "array" + }, + "workingDir": { + "description": "Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunV2ContainerOverride": { + "description": "Per-container override specification.", + "id": "GoogleCloudRunV2ContainerOverride", + "properties": { + "args": { + "description": "Optional. Arguments to the entrypoint. Will replace existing args for override.", + "items": { + "type": "string" + }, + "type": "array" + }, + "clearArgs": { + "description": "Optional. True if the intention is to clear out existing args list.", + "type": "boolean" + }, + "env": { + "description": "List of environment variables to set in the container. Will be merged with existing env for override.", + "items": { + "$ref": "GoogleCloudRunV2EnvVar" + }, + "type": "array" + }, + "name": { + "description": "The name of the container specified as a DNS_LABEL.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunV2ContainerPort": { + "description": "ContainerPort represents a network port in a single container.", + "id": "GoogleCloudRunV2ContainerPort", + "properties": { + "containerPort": { + "description": "Port number the container listens on. This must be a valid TCP port number, 0 < container_port < 65536.", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "If specified, used to specify which protocol to use. Allowed values are \"http1\" and \"h2c\".", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunV2DockerBuild": { + "description": "Build the source using Docker. This means the source has a Dockerfile.", + "id": "GoogleCloudRunV2DockerBuild", + "properties": {}, + "type": "object" + }, + "GoogleCloudRunV2EmptyDirVolumeSource": { + "description": "In memory (tmpfs) ephemeral storage. It is ephemeral in the sense that when the sandbox is taken down, the data is destroyed with it (it does not persist across sandbox runs).", + "id": "GoogleCloudRunV2EmptyDirVolumeSource", + "properties": { + "medium": { + "description": "The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional", + "enum": [ + "MEDIUM_UNSPECIFIED", + "MEMORY" + ], + "enumDescriptions": [ + "When not specified, falls back to the default implementation which is currently in memory (this may change over time).", + "Explicitly set the EmptyDir to be in memory. Uses tmpfs." + ], + "type": "string" + }, + "sizeLimit": { + "description": "Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunV2EnvVar": { + "description": "EnvVar represents an environment variable present in a Container.", + "id": "GoogleCloudRunV2EnvVar", + "properties": { + "name": { + "description": "Required. Name of the environment variable. Must not exceed 32768 characters.", + "type": "string" + }, + "value": { + "description": "Literal value of the environment variable. Defaults to \"\", and the maximum length is 32768 bytes. Variable references are not supported in Cloud Run.", + "type": "string" + }, + "valueSource": { + "$ref": "GoogleCloudRunV2EnvVarSource", + "description": "Source for the environment variable's value." + } + }, + "type": "object" + }, + "GoogleCloudRunV2EnvVarSource": { + "description": "EnvVarSource represents a source for the value of an EnvVar.", + "id": "GoogleCloudRunV2EnvVarSource", + "properties": { + "secretKeyRef": { + "$ref": "GoogleCloudRunV2SecretKeySelector", + "description": "Selects a secret and a specific version from Cloud Secret Manager." + } + }, + "type": "object" + }, + "GoogleCloudRunV2Execution": { + "description": "Execution represents the configuration of a single execution. A execution an immutable resource that references a container image which is run to completion.", + "id": "GoogleCloudRunV2Execution", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects.", + "readOnly": true, + "type": "object" + }, + "cancelledCount": { + "description": "Output only. The number of tasks which reached phase Cancelled.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "completionTime": { + "description": "Output only. Represents time when the execution was completed. It is not guaranteed to be set in happens-before order across separate operations.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "conditions": { + "description": "Output only. The Condition of this Execution, containing its readiness status, and detailed error information in case it did not reach the desired state.", + "items": { + "$ref": "GoogleCloudRunV2Condition" + }, + "readOnly": true, + "type": "array" + }, + "createTime": { + "description": "Output only. Represents time when the execution was acknowledged by the execution controller. It is not guaranteed to be set in happens-before order across separate operations.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "creator": { + "description": "Output only. Email address of the authenticated creator.", + "readOnly": true, + "type": "string" + }, + "deleteTime": { + "description": "Output only. For a deleted resource, the deletion time. It is only populated as a response to a Delete request.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "Output only. A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.", + "readOnly": true, + "type": "string" + }, + "expireTime": { + "description": "Output only. For a deleted resource, the time after which it will be permamently deleted. It is only populated as a response to a Delete request.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "failedCount": { + "description": "Output only. The number of tasks which reached phase Failed.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "generation": { + "description": "Output only. A number that monotonically increases every time the user modifies the desired state.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "job": { + "description": "Output only. The name of the parent Job.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels", + "readOnly": true, + "type": "object" + }, + "launchStage": { + "description": "The least stable launch stage needed to create this resource, as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. Note that this value might not be what was used as input. For example, if ALPHA was provided as input in the parent resource, but only BETA and GA-level features are were, this field will be BETA.", + "enum": [ + "LAUNCH_STAGE_UNSPECIFIED", + "UNIMPLEMENTED", + "PRELAUNCH", + "EARLY_ACCESS", + "ALPHA", + "BETA", + "GA", + "DEPRECATED" + ], + "enumDescriptions": [ + "Do not use this default value.", + "The feature is not yet implemented. Users can not use it.", + "Prelaunch features are hidden from users and are only visible internally.", + "Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.", + "Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don't have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.", + "Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.", + "GA features are open to all developers and are considered stable and fully qualified for production use.", + "Deprecated features are scheduled to be shut down and removed. For more information, see the \"Deprecation Policy\" section of our [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation." + ], + "type": "string" + }, + "logUri": { + "description": "Output only. URI where logs for this execution can be found in Cloud Console.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The unique name of this Execution.", + "readOnly": true, + "type": "string" + }, + "observedGeneration": { + "description": "Output only. The generation of this Execution. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "parallelism": { + "description": "Output only. Specifies the maximum desired number of tasks the execution should run at any given time. Must be <= task_count. The actual number of tasks running in steady state will be less than this number when ((.spec.task_count - .status.successful) < .spec.parallelism), i.e. when the work left to do is less than max parallelism.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "reconciling": { + "description": "Output only. Indicates whether the resource's reconciliation is still in progress. See comments in `Job.reconciling` for additional information on reconciliation process in Cloud Run.", + "readOnly": true, + "type": "boolean" + }, + "retriedCount": { + "description": "Output only. The number of tasks which have retried at least once.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "runningCount": { + "description": "Output only. The number of actively running tasks.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "startTime": { + "description": "Output only. Represents time when the execution started to run. It is not guaranteed to be set in happens-before order across separate operations.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "succeededCount": { + "description": "Output only. The number of tasks which reached phase Succeeded.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "taskCount": { + "description": "Output only. Specifies the desired number of tasks the execution should run. Setting to 1 means that parallelism is limited to 1 and the success of that task signals the success of the execution.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "template": { + "$ref": "GoogleCloudRunV2TaskTemplate", + "description": "Output only. The template used to create tasks for this execution.", + "readOnly": true + }, + "uid": { + "description": "Output only. Server assigned unique identifier for the Execution. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The last-modified time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunV2ExecutionReference": { + "description": "Reference to an Execution. Use /Executions.GetExecution with the given name to get full execution including the latest status.", + "id": "GoogleCloudRunV2ExecutionReference", + "properties": { + "completionStatus": { + "description": "Status for the execution completion.", + "enum": [ + "COMPLETION_STATUS_UNSPECIFIED", + "EXECUTION_SUCCEEDED", + "EXECUTION_FAILED", + "EXECUTION_RUNNING", + "EXECUTION_PENDING", + "EXECUTION_CANCELLED" + ], + "enumDescriptions": [ + "The default value. This value is used if the state is omitted.", + "Job execution has succeeded.", + "Job execution has failed.", + "Job execution is running normally.", + "Waiting for backing resources to be provisioned.", + "Job execution has been cancelled by the user." + ], + "type": "string" }, - "env": { - "description": "List of environment variables to set in the container.", - "items": { - "$ref": "GoogleCloudRunV2EnvVar" - }, - "type": "array" + "completionTime": { + "description": "Creation timestamp of the execution.", + "format": "google-datetime", + "type": "string" }, - "image": { - "description": "Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.", + "createTime": { + "description": "Creation timestamp of the execution.", + "format": "google-datetime", "type": "string" }, - "livenessProbe": { - "$ref": "GoogleCloudRunV2Probe", - "description": "Periodic probe of container liveness. Container will be restarted if the probe fails." + "deleteTime": { + "description": "The deletion time of the execution. It is only populated as a response to a Delete request.", + "format": "google-datetime", + "type": "string" }, "name": { - "description": "Name of the container specified as a DNS_LABEL (RFC 1123).", + "description": "Name of the execution.", "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunV2ExecutionTemplate": { + "description": "ExecutionTemplate describes the data an execution should have when created from a template.", + "id": "GoogleCloudRunV2ExecutionTemplate", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system annotations in v1 now have a corresponding field in v2 ExecutionTemplate. This field follows Kubernetes annotations' namespacing, limits, and rules.", + "type": "object" }, - "ports": { - "description": "List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.", - "items": { - "$ref": "GoogleCloudRunV2ContainerPort" + "labels": { + "additionalProperties": { + "type": "string" }, - "type": "array" + "description": "Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 ExecutionTemplate.", + "type": "object" }, - "resources": { - "$ref": "GoogleCloudRunV2ResourceRequirements", - "description": "Compute Resource requirements by this container." + "parallelism": { + "description": "Optional. Specifies the maximum desired number of tasks the execution should run at given time. When the job is run, if this field is 0 or unset, the maximum possible value will be used for that execution. The actual number of tasks running in steady state will be less than this number when there are fewer tasks waiting to be completed remaining, i.e. when the work left to do is less than max parallelism.", + "format": "int32", + "type": "integer" }, - "startupProbe": { - "$ref": "GoogleCloudRunV2Probe", - "description": "Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails." + "taskCount": { + "description": "Specifies the desired number of tasks the execution should run. Setting to 1 means that parallelism is limited to 1 and the success of that task signals the success of the execution. Defaults to 1.", + "format": "int32", + "type": "integer" }, - "volumeMounts": { - "description": "Volume to mount into the container's filesystem.", + "template": { + "$ref": "GoogleCloudRunV2TaskTemplate", + "description": "Required. Describes the task(s) that will be created when executing an execution." + } + }, + "type": "object" + }, + "GoogleCloudRunV2ExportImageRequest": { + "description": "Request message for exporting Cloud Run image.", + "id": "GoogleCloudRunV2ExportImageRequest", + "properties": { + "destinationRepo": { + "description": "Required. The export destination url (the Artifact Registry repo).", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunV2ExportImageResponse": { + "description": "ExportImageResponse contains an operation Id to track the image export operation.", + "id": "GoogleCloudRunV2ExportImageResponse", + "properties": { + "operationId": { + "description": "An operation ID used to track the status of image exports tied to the original pod ID in the request.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunV2ExportStatusResponse": { + "description": "ExportStatusResponse contains the status of image export operation, with the status of each image export job.", + "id": "GoogleCloudRunV2ExportStatusResponse", + "properties": { + "imageExportStatuses": { + "description": "The status of each image export job.", "items": { - "$ref": "GoogleCloudRunV2VolumeMount" + "$ref": "GoogleCloudRunV2ImageExportStatus" }, "type": "array" }, - "workingDir": { - "description": "Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image.", + "operationId": { + "description": "The operation id.", + "type": "string" + }, + "operationState": { + "description": "Output only. The state of the overall export operation.", + "enum": [ + "OPERATION_STATE_UNSPECIFIED", + "IN_PROGRESS", + "FINISHED" + ], + "enumDescriptions": [ + "State unspecified.", + "Operation still in progress.", + "Operation finished." + ], + "readOnly": true, "type": "string" } }, "type": "object" }, - "GoogleCloudRunV2ContainerOverride": { - "description": "Per-container override specification.", - "id": "GoogleCloudRunV2ContainerOverride", + "GoogleCloudRunV2GCSVolumeSource": { + "description": "Represents a volume backed by a Cloud Storage bucket using Cloud Storage FUSE.", + "id": "GoogleCloudRunV2GCSVolumeSource", "properties": { - "args": { - "description": "Optional. Arguments to the entrypoint. Will replace existing args for override.", + "bucket": { + "description": "Cloud Storage Bucket name.", + "type": "string" + }, + "mountOptions": { + "description": "A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading \"--\".", "items": { "type": "string" }, "type": "array" }, - "clearArgs": { - "description": "Optional. True if the intention is to clear out existing args list.", + "readOnly": { + "description": "If true, the volume will be mounted as read only for all mounts.", "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudRunV2GRPCAction": { + "description": "GRPCAction describes an action involving a GRPC port.", + "id": "GoogleCloudRunV2GRPCAction", + "properties": { + "port": { + "description": "Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.", + "format": "int32", + "type": "integer" }, - "env": { - "description": "List of environment variables to set in the container. Will be merged with existing env for override.", + "service": { + "description": "Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunV2HTTPGetAction": { + "description": "HTTPGetAction describes an action based on HTTP Get requests.", + "id": "GoogleCloudRunV2HTTPGetAction", + "properties": { + "httpHeaders": { + "description": "Optional. Custom headers to set in the request. HTTP allows repeated headers.", "items": { - "$ref": "GoogleCloudRunV2EnvVar" + "$ref": "GoogleCloudRunV2HTTPHeader" }, "type": "array" }, - "name": { - "description": "The name of the container specified as a DNS_LABEL.", + "path": { + "description": "Optional. Path to access on the HTTP server. Defaults to '/'.", + "type": "string" + }, + "port": { + "description": "Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudRunV2HTTPHeader": { + "description": "HTTPHeader describes a custom header to be used in HTTP probes", + "id": "GoogleCloudRunV2HTTPHeader", + "properties": { + "name": { + "description": "Required. The header field name", + "type": "string" + }, + "value": { + "description": "Optional. The header field value", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunV2ImageExportStatus": { + "description": "The status of an image export job.", + "id": "GoogleCloudRunV2ImageExportStatus", + "properties": { + "exportJobState": { + "description": "Output only. Has the image export job finished (regardless of successful or failure).", + "enum": [ + "EXPORT_JOB_STATE_UNSPECIFIED", + "IN_PROGRESS", + "FINISHED" + ], + "enumDescriptions": [ + "State unspecified.", + "Job still in progress.", + "Job finished." + ], + "readOnly": true, + "type": "string" + }, + "exportedImageDigest": { + "description": "The exported image ID as it will appear in Artifact Registry.", + "type": "string" + }, + "status": { + "$ref": "UtilStatusProto", + "description": "The status of the export task if done." + }, + "tag": { + "description": "The image tag as it will appear in Artifact Registry.", "type": "string" } }, "type": "object" }, - "GoogleCloudRunV2ContainerPort": { - "description": "ContainerPort represents a network port in a single container.", - "id": "GoogleCloudRunV2ContainerPort", + "GoogleCloudRunV2InstanceSplit": { + "description": "Holds a single instance split entry for the Worker. Allocations can be done to a specific Revision name, or pointing to the latest Ready Revision.", + "id": "GoogleCloudRunV2InstanceSplit", "properties": { - "containerPort": { - "description": "Port number the container listens on. This must be a valid TCP port number, 0 < container_port < 65536.", + "percent": { + "description": "Specifies percent of the instance split to this Revision. This defaults to zero if unspecified.", "format": "int32", "type": "integer" }, - "name": { - "description": "If specified, used to specify which protocol to use. Allowed values are \"http1\" and \"h2c\".", + "revision": { + "description": "Revision to which to assign this portion of instances, if split allocation is by revision.", "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudRunV2DockerBuild": { - "description": "Build the source using Docker. This means the source has a Dockerfile.", - "id": "GoogleCloudRunV2DockerBuild", - "properties": {}, - "type": "object" - }, - "GoogleCloudRunV2EmptyDirVolumeSource": { - "description": "In memory (tmpfs) ephemeral storage. It is ephemeral in the sense that when the sandbox is taken down, the data is destroyed with it (it does not persist across sandbox runs).", - "id": "GoogleCloudRunV2EmptyDirVolumeSource", - "properties": { - "medium": { - "description": "The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional", + }, + "type": { + "description": "The allocation type for this instance split.", "enum": [ - "MEDIUM_UNSPECIFIED", - "MEMORY" + "INSTANCE_SPLIT_ALLOCATION_TYPE_UNSPECIFIED", + "INSTANCE_SPLIT_ALLOCATION_TYPE_LATEST", + "INSTANCE_SPLIT_ALLOCATION_TYPE_REVISION" ], "enumDescriptions": [ - "When not specified, falls back to the default implementation which is currently in memory (this may change over time).", - "Explicitly set the EmptyDir to be in memory. Uses tmpfs." + "Unspecified instance allocation type.", + "Allocates instances to the Service's latest ready Revision.", + "Allocates instances to a Revision by name." ], "type": "string" - }, - "sizeLimit": { - "description": "Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir", - "type": "string" } }, "type": "object" }, - "GoogleCloudRunV2EnvVar": { - "description": "EnvVar represents an environment variable present in a Container.", - "id": "GoogleCloudRunV2EnvVar", + "GoogleCloudRunV2InstanceSplitStatus": { + "description": "Represents the observed state of a single `InstanceSplit` entry.", + "id": "GoogleCloudRunV2InstanceSplitStatus", "properties": { - "name": { - "description": "Required. Name of the environment variable. Must not exceed 32768 characters.", - "type": "string" + "percent": { + "description": "Specifies percent of the instance split to this Revision.", + "format": "int32", + "type": "integer" }, - "value": { - "description": "Literal value of the environment variable. Defaults to \"\", and the maximum length is 32768 bytes. Variable references are not supported in Cloud Run.", + "revision": { + "description": "Revision to which this instance split is assigned.", "type": "string" }, - "valueSource": { - "$ref": "GoogleCloudRunV2EnvVarSource", - "description": "Source for the environment variable's value." - } - }, - "type": "object" - }, - "GoogleCloudRunV2EnvVarSource": { - "description": "EnvVarSource represents a source for the value of an EnvVar.", - "id": "GoogleCloudRunV2EnvVarSource", - "properties": { - "secretKeyRef": { - "$ref": "GoogleCloudRunV2SecretKeySelector", - "description": "Selects a secret and a specific version from Cloud Secret Manager." + "type": { + "description": "The allocation type for this instance split.", + "enum": [ + "INSTANCE_SPLIT_ALLOCATION_TYPE_UNSPECIFIED", + "INSTANCE_SPLIT_ALLOCATION_TYPE_LATEST", + "INSTANCE_SPLIT_ALLOCATION_TYPE_REVISION" + ], + "enumDescriptions": [ + "Unspecified instance allocation type.", + "Allocates instances to the Service's latest ready Revision.", + "Allocates instances to a Revision by name." + ], + "type": "string" } }, "type": "object" }, - "GoogleCloudRunV2Execution": { - "description": "Execution represents the configuration of a single execution. A execution an immutable resource that references a container image which is run to completion.", - "id": "GoogleCloudRunV2Execution", + "GoogleCloudRunV2Job": { + "description": "Job represents the configuration of a single job, which references a container image that is run to completion.", + "id": "GoogleCloudRunV2Job", "properties": { "annotations": { "additionalProperties": { "type": "string" }, - "description": "Output only. Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects.", - "readOnly": true, + "description": "Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected on new resources. All system annotations in v1 now have a corresponding field in v2 Job. This field follows Kubernetes annotations' namespacing, limits, and rules.", "type": "object" }, - "cancelledCount": { - "description": "Output only. The number of tasks which reached phase Cancelled.", - "format": "int32", - "readOnly": true, - "type": "integer" + "binaryAuthorization": { + "$ref": "GoogleCloudRunV2BinaryAuthorization", + "description": "Settings for the Binary Authorization feature." }, - "completionTime": { - "description": "Output only. Represents time when the execution was completed. It is not guaranteed to be set in happens-before order across separate operations.", - "format": "google-datetime", - "readOnly": true, + "client": { + "description": "Arbitrary identifier for the API client.", + "type": "string" + }, + "clientVersion": { + "description": "Arbitrary version identifier for the API client.", "type": "string" }, "conditions": { - "description": "Output only. The Condition of this Execution, containing its readiness status, and detailed error information in case it did not reach the desired state.", + "description": "Output only. The Conditions of all other associated sub-resources. They contain additional diagnostics information in case the Job does not reach its desired state. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", "items": { "$ref": "GoogleCloudRunV2Condition" }, @@ -1977,13 +2936,18 @@ "type": "array" }, "createTime": { - "description": "Output only. Represents time when the execution was acknowledged by the execution controller. It is not guaranteed to be set in happens-before order across separate operations.", + "description": "Output only. The creation time.", "format": "google-datetime", "readOnly": true, "type": "string" }, + "creator": { + "description": "Output only. Email address of the authenticated creator.", + "readOnly": true, + "type": "string" + }, "deleteTime": { - "description": "Output only. For a deleted resource, the deletion time. It is only populated as a response to a Delete request.", + "description": "Output only. The deletion time. It is only populated as a response to a Delete request.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -1993,39 +2957,43 @@ "readOnly": true, "type": "string" }, + "executionCount": { + "description": "Output only. Number of executions created for this job.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, "expireTime": { - "description": "Output only. For a deleted resource, the time after which it will be permamently deleted. It is only populated as a response to a Delete request.", + "description": "Output only. For a deleted resource, the time after which it will be permamently deleted.", "format": "google-datetime", "readOnly": true, "type": "string" }, - "failedCount": { - "description": "Output only. The number of tasks which reached phase Failed.", - "format": "int32", - "readOnly": true, - "type": "integer" - }, "generation": { "description": "Output only. A number that monotonically increases every time the user modifies the desired state.", "format": "int64", "readOnly": true, "type": "string" }, - "job": { - "description": "Output only. The name of the parent Job.", - "readOnly": true, - "type": "string" - }, "labels": { "additionalProperties": { "type": "string" }, - "description": "Output only. Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels", - "readOnly": true, + "description": "Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 Job.", "type": "object" }, + "lastModifier": { + "description": "Output only. Email address of the last authenticated modifier.", + "readOnly": true, + "type": "string" + }, + "latestCreatedExecution": { + "$ref": "GoogleCloudRunV2ExecutionReference", + "description": "Output only. Name of the last created execution.", + "readOnly": true + }, "launchStage": { - "description": "The least stable launch stage needed to create this resource, as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. Note that this value might not be what was used as input. For example, if ALPHA was provided as input in the parent resource, but only BETA and GA-level features are were, this field will be BETA.", + "description": "The launch stage as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, GA is assumed. Set the launch stage to a preview stage on input to allow use of preview features in that stage. On read (or output), describes whether the resource uses preview features. For example, if ALPHA is provided as input, but only BETA and GA-level features are used, this field will be BETA on output.", "enum": [ "LAUNCH_STAGE_UNSPECIFIED", "UNIMPLEMENTED", @@ -2048,71 +3016,41 @@ ], "type": "string" }, - "logUri": { - "description": "Output only. URI where logs for this execution can be found in Cloud Console.", - "readOnly": true, - "type": "string" - }, "name": { - "description": "Output only. The unique name of this Execution.", - "readOnly": true, + "description": "The fully qualified name of this Job. Format: projects/{project}/locations/{location}/jobs/{job}", "type": "string" }, "observedGeneration": { - "description": "Output only. The generation of this Execution. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", + "description": "Output only. The generation of this Job. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", "format": "int64", "readOnly": true, "type": "string" }, - "parallelism": { - "description": "Output only. Specifies the maximum desired number of tasks the execution should run at any given time. Must be <= task_count. The actual number of tasks running in steady state will be less than this number when ((.spec.task_count - .status.successful) < .spec.parallelism), i.e. when the work left to do is less than max parallelism.", - "format": "int32", - "readOnly": true, - "type": "integer" - }, "reconciling": { - "description": "Output only. Indicates whether the resource's reconciliation is still in progress. See comments in `Job.reconciling` for additional information on reconciliation process in Cloud Run.", + "description": "Output only. Returns true if the Job is currently being acted upon by the system to bring it into the desired state. When a new Job is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Job to the desired state. This process is called reconciliation. While reconciliation is in process, `observed_generation` and `latest_succeeded_execution`, will have transient values that might mismatch the intended state: Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the state matches the Job, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`. If reconciliation succeeded, the following fields will match: `observed_generation` and `generation`, `latest_succeeded_execution` and `latest_created_execution`. If reconciliation failed, `observed_generation` and `latest_succeeded_execution` will have the state of the last succeeded execution or empty for newly created Job. Additional information on the failure can be found in `terminal_condition` and `conditions`.", "readOnly": true, "type": "boolean" }, - "retriedCount": { - "description": "Output only. The number of tasks which have retried at least once.", - "format": "int32", - "readOnly": true, - "type": "integer" - }, - "runningCount": { - "description": "Output only. The number of actively running tasks.", - "format": "int32", - "readOnly": true, - "type": "integer" + "runExecutionToken": { + "description": "A unique string used as a suffix for creating a new execution. The Job will become ready when the execution is successfully completed. The sum of job name and token length must be fewer than 63 characters.", + "type": "string" }, "satisfiesPzs": { "description": "Output only. Reserved for future use.", "readOnly": true, "type": "boolean" }, - "startTime": { - "description": "Output only. Represents time when the execution started to run. It is not guaranteed to be set in happens-before order across separate operations.", - "format": "google-datetime", - "readOnly": true, + "startExecutionToken": { + "description": "A unique string used as a suffix creating a new execution. The Job will become ready when the execution is successfully started. The sum of job name and token length must be fewer than 63 characters.", "type": "string" }, - "succeededCount": { - "description": "Output only. The number of tasks which reached phase Succeeded.", - "format": "int32", - "readOnly": true, - "type": "integer" - }, - "taskCount": { - "description": "Output only. Specifies the desired number of tasks the execution should run. Setting to 1 means that parallelism is limited to 1 and the success of that task signals the success of the execution.", - "format": "int32", - "readOnly": true, - "type": "integer" - }, "template": { - "$ref": "GoogleCloudRunV2TaskTemplate", - "description": "Output only. The template used to create tasks for this execution.", + "$ref": "GoogleCloudRunV2ExecutionTemplate", + "description": "Required. The template used to create executions for this Job." + }, + "terminalCondition": { + "$ref": "GoogleCloudRunV2Condition", + "description": "Output only. The Condition of this Job, containing its readiness status, and detailed error information in case it did not reach the desired state.", "readOnly": true }, "uid": { @@ -2129,283 +3067,289 @@ }, "type": "object" }, - "GoogleCloudRunV2ExecutionReference": { - "description": "Reference to an Execution. Use /Executions.GetExecution with the given name to get full execution including the latest status.", - "id": "GoogleCloudRunV2ExecutionReference", + "GoogleCloudRunV2ListExecutionsResponse": { + "description": "Response message containing a list of Executions.", + "id": "GoogleCloudRunV2ListExecutionsResponse", + "properties": { + "executions": { + "description": "The resulting list of Executions.", + "items": { + "$ref": "GoogleCloudRunV2Execution" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token indicating there are more items than page_size. Use it in the next ListExecutions request to continue.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunV2ListJobsResponse": { + "description": "Response message containing a list of Jobs.", + "id": "GoogleCloudRunV2ListJobsResponse", + "properties": { + "jobs": { + "description": "The resulting list of Jobs.", + "items": { + "$ref": "GoogleCloudRunV2Job" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token indicating there are more items than page_size. Use it in the next ListJobs request to continue.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunV2ListRevisionsResponse": { + "description": "Response message containing a list of Revisions.", + "id": "GoogleCloudRunV2ListRevisionsResponse", + "properties": { + "nextPageToken": { + "description": "A token indicating there are more items than page_size. Use it in the next ListRevisions request to continue.", + "type": "string" + }, + "revisions": { + "description": "The resulting list of Revisions.", + "items": { + "$ref": "GoogleCloudRunV2Revision" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRunV2ListServicesResponse": { + "description": "Response message containing a list of Services.", + "id": "GoogleCloudRunV2ListServicesResponse", "properties": { - "completionStatus": { - "description": "Status for the execution completion.", - "enum": [ - "COMPLETION_STATUS_UNSPECIFIED", - "EXECUTION_SUCCEEDED", - "EXECUTION_FAILED", - "EXECUTION_RUNNING", - "EXECUTION_PENDING", - "EXECUTION_CANCELLED" - ], - "enumDescriptions": [ - "The default value. This value is used if the state is omitted.", - "Job execution has succeeded.", - "Job execution has failed.", - "Job execution is running normally.", - "Waiting for backing resources to be provisioned.", - "Job execution has been cancelled by the user." - ], - "type": "string" - }, - "completionTime": { - "description": "Creation timestamp of the execution.", - "format": "google-datetime", - "type": "string" - }, - "createTime": { - "description": "Creation timestamp of the execution.", - "format": "google-datetime", - "type": "string" - }, - "deleteTime": { - "description": "The deletion time of the execution. It is only populated as a response to a Delete request.", - "format": "google-datetime", + "nextPageToken": { + "description": "A token indicating there are more items than page_size. Use it in the next ListServices request to continue.", "type": "string" }, - "name": { - "description": "Name of the execution.", - "type": "string" + "services": { + "description": "The resulting list of Services.", + "items": { + "$ref": "GoogleCloudRunV2Service" + }, + "type": "array" } }, "type": "object" }, - "GoogleCloudRunV2ExecutionTemplate": { - "description": "ExecutionTemplate describes the data an execution should have when created from a template.", - "id": "GoogleCloudRunV2ExecutionTemplate", + "GoogleCloudRunV2ListTasksResponse": { + "description": "Response message containing a list of Tasks.", + "id": "GoogleCloudRunV2ListTasksResponse", "properties": { - "annotations": { - "additionalProperties": { - "type": "string" - }, - "description": "Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system annotations in v1 now have a corresponding field in v2 ExecutionTemplate. This field follows Kubernetes annotations' namespacing, limits, and rules.", - "type": "object" + "nextPageToken": { + "description": "A token indicating there are more items than page_size. Use it in the next ListTasks request to continue.", + "type": "string" }, - "labels": { - "additionalProperties": { - "type": "string" + "tasks": { + "description": "The resulting list of Tasks.", + "items": { + "$ref": "GoogleCloudRunV2Task" }, - "description": "Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 ExecutionTemplate.", - "type": "object" - }, - "parallelism": { - "description": "Specifies the maximum desired number of tasks the execution should run at given time. Must be <= task_count. When the job is run, if this field is 0 or unset, the maximum possible value will be used for that execution. The actual number of tasks running in steady state will be less than this number when there are fewer tasks waiting to be completed remaining, i.e. when the work left to do is less than max parallelism.", - "format": "int32", - "type": "integer" - }, - "taskCount": { - "description": "Specifies the desired number of tasks the execution should run. Setting to 1 means that parallelism is limited to 1 and the success of that task signals the success of the execution. Defaults to 1.", - "format": "int32", - "type": "integer" - }, - "template": { - "$ref": "GoogleCloudRunV2TaskTemplate", - "description": "Required. Describes the task(s) that will be created when executing an execution." + "type": "array" } }, "type": "object" }, - "GoogleCloudRunV2ExportImageRequest": { - "description": "Request message for exporting Cloud Run image.", - "id": "GoogleCloudRunV2ExportImageRequest", + "GoogleCloudRunV2ListWorkerPoolsResponse": { + "description": "Response message containing a list of WorkerPools.", + "id": "GoogleCloudRunV2ListWorkerPoolsResponse", "properties": { - "destinationRepo": { - "description": "Required. The export destination url (the Artifact Registry repo).", + "nextPageToken": { + "description": "A token indicating there are more items than page_size. Use it in the next ListWorkerPools request to continue.", "type": "string" + }, + "workerPools": { + "description": "The resulting list of WorkerPools.", + "items": { + "$ref": "GoogleCloudRunV2WorkerPool" + }, + "type": "array" } }, "type": "object" }, - "GoogleCloudRunV2ExportImageResponse": { - "description": "ExportImageResponse contains an operation Id to track the image export operation.", - "id": "GoogleCloudRunV2ExportImageResponse", + "GoogleCloudRunV2Metadata": { + "description": "Metadata represents the JSON encoded generated customer metadata.", + "id": "GoogleCloudRunV2Metadata", "properties": { - "operationId": { - "description": "An operation ID used to track the status of image exports tied to the original pod ID in the request.", + "metadata": { + "description": "JSON encoded Google-generated Customer Metadata for a given resource/project.", "type": "string" } }, "type": "object" }, - "GoogleCloudRunV2ExportStatusResponse": { - "description": "ExportStatusResponse contains the status of image export operation, with the status of each image export job.", - "id": "GoogleCloudRunV2ExportStatusResponse", + "GoogleCloudRunV2NFSVolumeSource": { + "description": "Represents an NFS mount.", + "id": "GoogleCloudRunV2NFSVolumeSource", "properties": { - "imageExportStatuses": { - "description": "The status of each image export job.", - "items": { - "$ref": "GoogleCloudRunV2ImageExportStatus" - }, - "type": "array" - }, - "operationId": { - "description": "The operation id.", + "path": { + "description": "Path that is exported by the NFS server.", "type": "string" }, - "operationState": { - "description": "Output only. The state of the overall export operation.", - "enum": [ - "OPERATION_STATE_UNSPECIFIED", - "IN_PROGRESS", - "FINISHED" - ], - "enumDescriptions": [ - "State unspecified.", - "Operation still in progress.", - "Operation finished." - ], - "readOnly": true, + "readOnly": { + "description": "If true, the volume will be mounted as read only for all mounts.", + "type": "boolean" + }, + "server": { + "description": "Hostname or IP address of the NFS server", "type": "string" } }, "type": "object" }, - "GoogleCloudRunV2GCSVolumeSource": { - "description": "Represents a volume backed by a Cloud Storage bucket using Cloud Storage FUSE.", - "id": "GoogleCloudRunV2GCSVolumeSource", + "GoogleCloudRunV2NetworkInterface": { + "description": "Direct VPC egress settings.", + "id": "GoogleCloudRunV2NetworkInterface", "properties": { - "bucket": { - "description": "Cloud Storage Bucket name.", + "network": { + "description": "Optional. The VPC network that the Cloud Run resource will be able to send traffic to. At least one of network or subnetwork must be specified. If both network and subnetwork are specified, the given VPC subnetwork must belong to the given VPC network. If network is not specified, it will be looked up from the subnetwork.", "type": "string" }, - "mountOptions": { - "description": "A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading \"--\".", + "subnetwork": { + "description": "Optional. The VPC subnetwork that the Cloud Run resource will get IPs from. At least one of network or subnetwork must be specified. If both network and subnetwork are specified, the given VPC subnetwork must belong to the given VPC network. If subnetwork is not specified, the subnetwork with the same name with the network will be used.", + "type": "string" + }, + "tags": { + "description": "Optional. Network tags applied to this Cloud Run resource.", "items": { "type": "string" }, "type": "array" - }, - "readOnly": { - "description": "If true, the volume will be mounted as read only for all mounts.", - "type": "boolean" } }, "type": "object" }, - "GoogleCloudRunV2GRPCAction": { - "description": "GRPCAction describes an action involving a GRPC port.", - "id": "GoogleCloudRunV2GRPCAction", + "GoogleCloudRunV2NodeSelector": { + "description": "Hardware constraints configuration.", + "id": "GoogleCloudRunV2NodeSelector", "properties": { - "port": { - "description": "Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.", - "format": "int32", - "type": "integer" - }, - "service": { - "description": "Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.", + "accelerator": { + "description": "Required. GPU accelerator type to attach to an instance.", "type": "string" } }, "type": "object" }, - "GoogleCloudRunV2HTTPGetAction": { - "description": "HTTPGetAction describes an action based on HTTP Get requests.", - "id": "GoogleCloudRunV2HTTPGetAction", + "GoogleCloudRunV2Overrides": { + "description": "RunJob Overrides that contains Execution fields to be overridden.", + "id": "GoogleCloudRunV2Overrides", "properties": { - "httpHeaders": { - "description": "Optional. Custom headers to set in the request. HTTP allows repeated headers.", + "containerOverrides": { + "description": "Per container override specification.", "items": { - "$ref": "GoogleCloudRunV2HTTPHeader" + "$ref": "GoogleCloudRunV2ContainerOverride" }, "type": "array" }, - "path": { - "description": "Optional. Path to access on the HTTP server. Defaults to '/'.", - "type": "string" - }, - "port": { - "description": "Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.", + "taskCount": { + "description": "Optional. The desired number of tasks the execution should run. Will replace existing task_count value.", "format": "int32", "type": "integer" + }, + "timeout": { + "description": "Duration in seconds the task may be active before the system will actively try to mark it failed and kill associated containers. Will replace existing timeout_seconds value.", + "format": "google-duration", + "type": "string" } }, "type": "object" }, - "GoogleCloudRunV2HTTPHeader": { - "description": "HTTPHeader describes a custom header to be used in HTTP probes", - "id": "GoogleCloudRunV2HTTPHeader", + "GoogleCloudRunV2Probe": { + "description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.", + "id": "GoogleCloudRunV2Probe", "properties": { - "name": { - "description": "Required. The header field name", - "type": "string" + "failureThreshold": { + "description": "Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.", + "format": "int32", + "type": "integer" }, - "value": { - "description": "Optional. The header field value", - "type": "string" + "grpc": { + "$ref": "GoogleCloudRunV2GRPCAction", + "description": "Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified." + }, + "httpGet": { + "$ref": "GoogleCloudRunV2HTTPGetAction", + "description": "Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified." + }, + "initialDelaySeconds": { + "description": "Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.", + "format": "int32", + "type": "integer" + }, + "periodSeconds": { + "description": "Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.", + "format": "int32", + "type": "integer" + }, + "tcpSocket": { + "$ref": "GoogleCloudRunV2TCPSocketAction", + "description": "Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified." + }, + "timeoutSeconds": { + "description": "Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "GoogleCloudRunV2ImageExportStatus": { - "description": "The status of an image export job.", - "id": "GoogleCloudRunV2ImageExportStatus", + "GoogleCloudRunV2ResourceRequirements": { + "description": "ResourceRequirements describes the compute resource requirements.", + "id": "GoogleCloudRunV2ResourceRequirements", "properties": { - "exportJobState": { - "description": "Output only. Has the image export job finished (regardless of successful or failure).", - "enum": [ - "EXPORT_JOB_STATE_UNSPECIFIED", - "IN_PROGRESS", - "FINISHED" - ], - "enumDescriptions": [ - "State unspecified.", - "Job still in progress.", - "Job finished." - ], - "readOnly": true, - "type": "string" - }, - "exportedImageDigest": { - "description": "The exported image ID as it will appear in Artifact Registry.", - "type": "string" + "cpuIdle": { + "description": "Determines whether CPU is only allocated during requests (true by default). However, if ResourceRequirements is set, the caller must explicitly set this field to true to preserve the default behavior.", + "type": "boolean" }, - "status": { - "$ref": "UtilStatusProto", - "description": "The status of the export task if done." + "limits": { + "additionalProperties": { + "type": "string" + }, + "description": "Only `memory` and `cpu` keys in the map are supported. Notes: * The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. For more information, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported 'memory' values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits", + "type": "object" }, - "tag": { - "description": "The image tag as it will appear in Artifact Registry.", - "type": "string" + "startupCpuBoost": { + "description": "Determines whether CPU should be boosted on startup of a new container instance above the requested CPU threshold, this can help reduce cold-start latency.", + "type": "boolean" } }, "type": "object" }, - "GoogleCloudRunV2Job": { - "description": "Job represents the configuration of a single job, which references a container image that is run to completion.", - "id": "GoogleCloudRunV2Job", + "GoogleCloudRunV2Revision": { + "description": "A Revision is an immutable snapshot of code and configuration. A Revision references a container image. Revisions are only created by updates to its parent Service.", + "id": "GoogleCloudRunV2Revision", "properties": { "annotations": { "additionalProperties": { "type": "string" }, - "description": "Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected on new resources. All system annotations in v1 now have a corresponding field in v2 Job. This field follows Kubernetes annotations' namespacing, limits, and rules.", + "description": "Output only. Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects.", + "readOnly": true, "type": "object" }, - "binaryAuthorization": { - "$ref": "GoogleCloudRunV2BinaryAuthorization", - "description": "Settings for the Binary Authorization feature." - }, - "client": { - "description": "Arbitrary identifier for the API client.", - "type": "string" - }, - "clientVersion": { - "description": "Arbitrary version identifier for the API client.", - "type": "string" - }, "conditions": { - "description": "Output only. The Conditions of all other associated sub-resources. They contain additional diagnostics information in case the Job does not reach its desired state. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", + "description": "Output only. The Condition of this Revision, containing its readiness status, and detailed error information in case it did not reach a serving state.", "items": { "$ref": "GoogleCloudRunV2Condition" }, "readOnly": true, "type": "array" }, + "containers": { + "description": "Holds the single container that defines the unit of execution for this Revision.", + "items": { + "$ref": "GoogleCloudRunV2Container" + }, + "type": "array" + }, "createTime": { "description": "Output only. The creation time.", "format": "google-datetime", @@ -2418,24 +3362,55 @@ "type": "string" }, "deleteTime": { - "description": "Output only. The deletion time. It is only populated as a response to a Delete request.", + "description": "Output only. For a deleted resource, the deletion time. It is only populated as a response to a Delete request.", "format": "google-datetime", "readOnly": true, "type": "string" }, + "encryptionKey": { + "description": "A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek", + "type": "string" + }, + "encryptionKeyRevocationAction": { + "description": "The action to take if the encryption key is revoked.", + "enum": [ + "ENCRYPTION_KEY_REVOCATION_ACTION_UNSPECIFIED", + "PREVENT_NEW", + "SHUTDOWN" + ], + "enumDescriptions": [ + "Unspecified", + "Prevents the creation of new instances.", + "Shuts down existing instances, and prevents creation of new ones." + ], + "type": "string" + }, + "encryptionKeyShutdownDuration": { + "description": "If encryption_key_revocation_action is SHUTDOWN, the duration before shutting down all instances. The minimum increment is 1 hour.", + "format": "google-duration", + "type": "string" + }, "etag": { "description": "Output only. A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.", "readOnly": true, "type": "string" }, - "executionCount": { - "description": "Output only. Number of executions created for this job.", - "format": "int32", - "readOnly": true, - "type": "integer" + "executionEnvironment": { + "description": "The execution environment being used to host this Revision.", + "enum": [ + "EXECUTION_ENVIRONMENT_UNSPECIFIED", + "EXECUTION_ENVIRONMENT_GEN1", + "EXECUTION_ENVIRONMENT_GEN2" + ], + "enumDescriptions": [ + "Unspecified", + "Uses the First Generation environment.", + "Uses Second Generation environment." + ], + "type": "string" }, "expireTime": { - "description": "Output only. For a deleted resource, the time after which it will be permamently deleted.", + "description": "Output only. For a deleted resource, the time after which it will be permamently deleted. It is only populated as a response to a Delete request.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -2450,21 +3425,12 @@ "additionalProperties": { "type": "string" }, - "description": "Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 Job.", - "type": "object" - }, - "lastModifier": { - "description": "Output only. Email address of the last authenticated modifier.", + "description": "Output only. Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels.", "readOnly": true, - "type": "string" - }, - "latestCreatedExecution": { - "$ref": "GoogleCloudRunV2ExecutionReference", - "description": "Output only. Name of the last created execution.", - "readOnly": true + "type": "object" }, "launchStage": { - "description": "The launch stage as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, GA is assumed. Set the launch stage to a preview stage on input to allow use of preview features in that stage. On read (or output), describes whether the resource uses preview features. For example, if ALPHA is provided as input, but only BETA and GA-level features are used, this field will be BETA on output.", + "description": "The least stable launch stage needed to create this resource, as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. Note that this value might not be what was used as input. For example, if ALPHA was provided as input in the parent resource, but only BETA and GA-level features are were, this field will be BETA.", "enum": [ "LAUNCH_STAGE_UNSPECIFIED", "UNIMPLEMENTED", @@ -2487,355 +3453,362 @@ ], "type": "string" }, + "logUri": { + "description": "Output only. The Google Console URI to obtain logs for the Revision.", + "readOnly": true, + "type": "string" + }, + "maxInstanceRequestConcurrency": { + "description": "Sets the maximum number of requests that each serving instance can receive.", + "format": "int32", + "type": "integer" + }, "name": { - "description": "The fully qualified name of this Job. Format: projects/{project}/locations/{location}/jobs/{job}", + "description": "Output only. The unique name of this Revision.", + "readOnly": true, "type": "string" }, + "nodeSelector": { + "$ref": "GoogleCloudRunV2NodeSelector", + "description": "The node selector for the revision." + }, "observedGeneration": { - "description": "Output only. The generation of this Job. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", + "description": "Output only. The generation of this Revision currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", "format": "int64", "readOnly": true, "type": "string" }, "reconciling": { - "description": "Output only. Returns true if the Job is currently being acted upon by the system to bring it into the desired state. When a new Job is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Job to the desired state. This process is called reconciliation. While reconciliation is in process, `observed_generation` and `latest_succeeded_execution`, will have transient values that might mismatch the intended state: Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the state matches the Job, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`. If reconciliation succeeded, the following fields will match: `observed_generation` and `generation`, `latest_succeeded_execution` and `latest_created_execution`. If reconciliation failed, `observed_generation` and `latest_succeeded_execution` will have the state of the last succeeded execution or empty for newly created Job. Additional information on the failure can be found in `terminal_condition` and `conditions`.", + "description": "Output only. Indicates whether the resource's reconciliation is still in progress. See comments in `Service.reconciling` for additional information on reconciliation process in Cloud Run.", "readOnly": true, "type": "boolean" }, - "runExecutionToken": { - "description": "A unique string used as a suffix for creating a new execution. The Job will become ready when the execution is successfully completed. The sum of job name and token length must be fewer than 63 characters.", - "type": "string" - }, "satisfiesPzs": { "description": "Output only. Reserved for future use.", "readOnly": true, "type": "boolean" }, - "startExecutionToken": { - "description": "A unique string used as a suffix creating a new execution. The Job will become ready when the execution is successfully started. The sum of job name and token length must be fewer than 63 characters.", - "type": "string" - }, - "template": { - "$ref": "GoogleCloudRunV2ExecutionTemplate", - "description": "Required. The template used to create executions for this Job." + "scaling": { + "$ref": "GoogleCloudRunV2RevisionScaling", + "description": "Scaling settings for this revision." }, - "terminalCondition": { - "$ref": "GoogleCloudRunV2Condition", - "description": "Output only. The Condition of this Job, containing its readiness status, and detailed error information in case it did not reach the desired state.", + "scalingStatus": { + "$ref": "GoogleCloudRunV2RevisionScalingStatus", + "description": "Output only. The current effective scaling settings for the revision.", "readOnly": true }, - "uid": { - "description": "Output only. Server assigned unique identifier for the Execution. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", + "service": { + "description": "Output only. The name of the parent service.", "readOnly": true, "type": "string" }, - "updateTime": { - "description": "Output only. The last-modified time.", - "format": "google-datetime", - "readOnly": true, + "serviceAccount": { + "description": "Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has.", "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudRunV2ListExecutionsResponse": { - "description": "Response message containing a list of Executions.", - "id": "GoogleCloudRunV2ListExecutionsResponse", - "properties": { - "executions": { - "description": "The resulting list of Executions.", - "items": { - "$ref": "GoogleCloudRunV2Execution" - }, - "type": "array" }, - "nextPageToken": { - "description": "A token indicating there are more items than page_size. Use it in the next ListExecutions request to continue.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudRunV2ListJobsResponse": { - "description": "Response message containing a list of Jobs.", - "id": "GoogleCloudRunV2ListJobsResponse", - "properties": { - "jobs": { - "description": "The resulting list of Jobs.", - "items": { - "$ref": "GoogleCloudRunV2Job" - }, - "type": "array" + "serviceMesh": { + "$ref": "GoogleCloudRunV2ServiceMesh", + "description": "Enables service mesh connectivity." }, - "nextPageToken": { - "description": "A token indicating there are more items than page_size. Use it in the next ListJobs request to continue.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudRunV2ListRevisionsResponse": { - "description": "Response message containing a list of Revisions.", - "id": "GoogleCloudRunV2ListRevisionsResponse", - "properties": { - "nextPageToken": { - "description": "A token indicating there are more items than page_size. Use it in the next ListRevisions request to continue.", + "sessionAffinity": { + "description": "Enable session affinity.", + "type": "boolean" + }, + "timeout": { + "description": "Max allowed time for an instance to respond to a request.", + "format": "google-duration", "type": "string" }, - "revisions": { - "description": "The resulting list of Revisions.", - "items": { - "$ref": "GoogleCloudRunV2Revision" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudRunV2ListServicesResponse": { - "description": "Response message containing a list of Services.", - "id": "GoogleCloudRunV2ListServicesResponse", - "properties": { - "nextPageToken": { - "description": "A token indicating there are more items than page_size. Use it in the next ListServices request to continue.", + "uid": { + "description": "Output only. Server assigned unique identifier for the Revision. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", + "readOnly": true, "type": "string" }, - "services": { - "description": "The resulting list of Services.", + "updateTime": { + "description": "Output only. The last-modified time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "volumes": { + "description": "A list of Volumes to make available to containers.", "items": { - "$ref": "GoogleCloudRunV2Service" + "$ref": "GoogleCloudRunV2Volume" }, "type": "array" + }, + "vpcAccess": { + "$ref": "GoogleCloudRunV2VpcAccess", + "description": "VPC Access configuration for this Revision. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc." } }, "type": "object" }, - "GoogleCloudRunV2ListTasksResponse": { - "description": "Response message containing a list of Tasks.", - "id": "GoogleCloudRunV2ListTasksResponse", + "GoogleCloudRunV2RevisionScaling": { + "description": "Settings for revision-level scaling settings.", + "id": "GoogleCloudRunV2RevisionScaling", "properties": { - "nextPageToken": { - "description": "A token indicating there are more items than page_size. Use it in the next ListTasks request to continue.", - "type": "string" + "maxInstanceCount": { + "description": "Optional. Maximum number of serving instances that this resource should have. When unspecified, the field is set to the server default value of 100. For more information see https://cloud.google.com/run/docs/configuring/max-instances", + "format": "int32", + "type": "integer" }, - "tasks": { - "description": "The resulting list of Tasks.", - "items": { - "$ref": "GoogleCloudRunV2Task" - }, - "type": "array" + "minInstanceCount": { + "description": "Optional. Minimum number of serving instances that this resource should have.", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "GoogleCloudRunV2Metadata": { - "description": "Metadata represents the JSON encoded generated customer metadata.", - "id": "GoogleCloudRunV2Metadata", + "GoogleCloudRunV2RevisionScalingStatus": { + "description": "Effective settings for the current revision", + "id": "GoogleCloudRunV2RevisionScalingStatus", "properties": { - "metadata": { - "description": "JSON encoded Google-generated Customer Metadata for a given resource/project.", - "type": "string" + "desiredMinInstanceCount": { + "description": "The current number of min instances provisioned for this revision.", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "GoogleCloudRunV2NFSVolumeSource": { - "description": "Represents an NFS mount.", - "id": "GoogleCloudRunV2NFSVolumeSource", + "GoogleCloudRunV2RevisionTemplate": { + "description": "RevisionTemplate describes the data a revision should have when created from a template.", + "id": "GoogleCloudRunV2RevisionTemplate", "properties": { - "path": { - "description": "Path that is exported by the NFS server.", + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system annotations in v1 now have a corresponding field in v2 RevisionTemplate. This field follows Kubernetes annotations' namespacing, limits, and rules.", + "type": "object" + }, + "containers": { + "description": "Holds the single container that defines the unit of execution for this Revision.", + "items": { + "$ref": "GoogleCloudRunV2Container" + }, + "type": "array" + }, + "encryptionKey": { + "description": "A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek", "type": "string" }, - "readOnly": { - "description": "If true, the volume will be mounted as read only for all mounts.", + "encryptionKeyRevocationAction": { + "description": "Optional. The action to take if the encryption key is revoked.", + "enum": [ + "ENCRYPTION_KEY_REVOCATION_ACTION_UNSPECIFIED", + "PREVENT_NEW", + "SHUTDOWN" + ], + "enumDescriptions": [ + "Unspecified", + "Prevents the creation of new instances.", + "Shuts down existing instances, and prevents creation of new ones." + ], + "type": "string" + }, + "encryptionKeyShutdownDuration": { + "description": "Optional. If encryption_key_revocation_action is SHUTDOWN, the duration before shutting down all instances. The minimum increment is 1 hour.", + "format": "google-duration", + "type": "string" + }, + "executionEnvironment": { + "description": "Optional. The sandbox environment to host this Revision.", + "enum": [ + "EXECUTION_ENVIRONMENT_UNSPECIFIED", + "EXECUTION_ENVIRONMENT_GEN1", + "EXECUTION_ENVIRONMENT_GEN2" + ], + "enumDescriptions": [ + "Unspecified", + "Uses the First Generation environment.", + "Uses Second Generation environment." + ], + "type": "string" + }, + "healthCheckDisabled": { + "description": "Optional. Disables health checking containers during deployment.", "type": "boolean" }, - "server": { - "description": "Hostname or IP address of the NFS server", + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 RevisionTemplate.", + "type": "object" + }, + "maxInstanceRequestConcurrency": { + "description": "Optional. Sets the maximum number of requests that each serving instance can receive. If not specified or 0, concurrency defaults to 80 when requested `CPU >= 1` and defaults to 1 when requested `CPU < 1`.", + "format": "int32", + "type": "integer" + }, + "nodeSelector": { + "$ref": "GoogleCloudRunV2NodeSelector", + "description": "Optional. The node selector for the revision template." + }, + "revision": { + "description": "Optional. The unique name for the revision. If this field is omitted, it will be automatically generated based on the Service name.", "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudRunV2NetworkInterface": { - "description": "Direct VPC egress settings.", - "id": "GoogleCloudRunV2NetworkInterface", - "properties": { - "network": { - "description": "Optional. The VPC network that the Cloud Run resource will be able to send traffic to. At least one of network or subnetwork must be specified. If both network and subnetwork are specified, the given VPC subnetwork must belong to the given VPC network. If network is not specified, it will be looked up from the subnetwork.", + }, + "scaling": { + "$ref": "GoogleCloudRunV2RevisionScaling", + "description": "Optional. Scaling settings for this Revision." + }, + "serviceAccount": { + "description": "Optional. Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project's default service account.", "type": "string" }, - "subnetwork": { - "description": "Optional. The VPC subnetwork that the Cloud Run resource will get IPs from. At least one of network or subnetwork must be specified. If both network and subnetwork are specified, the given VPC subnetwork must belong to the given VPC network. If subnetwork is not specified, the subnetwork with the same name with the network will be used.", + "serviceMesh": { + "$ref": "GoogleCloudRunV2ServiceMesh", + "description": "Optional. Enables service mesh connectivity." + }, + "sessionAffinity": { + "description": "Optional. Enable session affinity.", + "type": "boolean" + }, + "timeout": { + "description": "Optional. Max allowed time for an instance to respond to a request.", + "format": "google-duration", "type": "string" }, - "tags": { - "description": "Optional. Network tags applied to this Cloud Run resource.", + "volumes": { + "description": "Optional. A list of Volumes to make available to containers.", "items": { - "type": "string" + "$ref": "GoogleCloudRunV2Volume" }, "type": "array" + }, + "vpcAccess": { + "$ref": "GoogleCloudRunV2VpcAccess", + "description": "Optional. VPC Access configuration to use for this Revision. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc." } }, "type": "object" }, - "GoogleCloudRunV2NodeSelector": { - "description": "Hardware constraints configuration.", - "id": "GoogleCloudRunV2NodeSelector", + "GoogleCloudRunV2RunJobRequest": { + "description": "Request message to create a new Execution of a Job.", + "id": "GoogleCloudRunV2RunJobRequest", "properties": { - "accelerator": { - "description": "Required. GPU accelerator type to attach to an instance.", + "etag": { + "description": "A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.", "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudRunV2Overrides": { - "description": "RunJob Overrides that contains Execution fields to be overridden.", - "id": "GoogleCloudRunV2Overrides", - "properties": { - "containerOverrides": { - "description": "Per container override specification.", - "items": { - "$ref": "GoogleCloudRunV2ContainerOverride" - }, - "type": "array" }, - "taskCount": { - "description": "Optional. The desired number of tasks the execution should run. Will replace existing task_count value.", - "format": "int32", - "type": "integer" + "overrides": { + "$ref": "GoogleCloudRunV2Overrides", + "description": "Overrides specification for a given execution of a job. If provided, overrides will be applied to update the execution or task spec." }, - "timeout": { - "description": "Duration in seconds the task may be active before the system will actively try to mark it failed and kill associated containers. Will replace existing timeout_seconds value.", - "format": "google-duration", - "type": "string" + "validateOnly": { + "description": "Indicates that the request should be validated without actually deleting any resources.", + "type": "boolean" } }, "type": "object" }, - "GoogleCloudRunV2Probe": { - "description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.", - "id": "GoogleCloudRunV2Probe", + "GoogleCloudRunV2SecretKeySelector": { + "description": "SecretEnvVarSource represents a source for the value of an EnvVar.", + "id": "GoogleCloudRunV2SecretKeySelector", "properties": { - "failureThreshold": { - "description": "Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.", - "format": "int32", - "type": "integer" - }, - "grpc": { - "$ref": "GoogleCloudRunV2GRPCAction", - "description": "Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified." - }, - "httpGet": { - "$ref": "GoogleCloudRunV2HTTPGetAction", - "description": "Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified." - }, - "initialDelaySeconds": { - "description": "Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.", - "format": "int32", - "type": "integer" - }, - "periodSeconds": { - "description": "Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.", - "format": "int32", - "type": "integer" - }, - "tcpSocket": { - "$ref": "GoogleCloudRunV2TCPSocketAction", - "description": "Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified." + "secret": { + "description": "Required. The name of the secret in Cloud Secret Manager. Format: {secret_name} if the secret is in the same project. projects/{project}/secrets/{secret_name} if the secret is in a different project.", + "type": "string" }, - "timeoutSeconds": { - "description": "Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.", - "format": "int32", - "type": "integer" + "version": { + "description": "The Cloud Secret Manager secret version. Can be 'latest' for the latest version, an integer for a specific version, or a version alias.", + "type": "string" } }, "type": "object" }, - "GoogleCloudRunV2ResourceRequirements": { - "description": "ResourceRequirements describes the compute resource requirements.", - "id": "GoogleCloudRunV2ResourceRequirements", + "GoogleCloudRunV2SecretVolumeSource": { + "description": "The secret's value will be presented as the content of a file whose name is defined in the item path. If no items are defined, the name of the file is the secret.", + "id": "GoogleCloudRunV2SecretVolumeSource", "properties": { - "cpuIdle": { - "description": "Determines whether CPU is only allocated during requests (true by default). However, if ResourceRequirements is set, the caller must explicitly set this field to true to preserve the default behavior.", - "type": "boolean" + "defaultMode": { + "description": "Integer representation of mode bits to use on created files by default. Must be a value between 0000 and 0777 (octal), defaulting to 0444. Directories within the path are not affected by this setting. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. This might be in conflict with other options that affect the file mode, like fsGroup, and as a result, other mode bits could be set.", + "format": "int32", + "type": "integer" }, - "limits": { - "additionalProperties": { - "type": "string" + "items": { + "description": "If unspecified, the volume will expose a file whose name is the secret, relative to VolumeMount.mount_path. If specified, the key will be used as the version to fetch from Cloud Secret Manager and the path will be the name of the file exposed in the volume. When items are defined, they must specify a path and a version.", + "items": { + "$ref": "GoogleCloudRunV2VersionToPath" }, - "description": "Only `memory` and `cpu` keys in the map are supported. Notes: * The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. For more information, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported 'memory' values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits", - "type": "object" + "type": "array" }, - "startupCpuBoost": { - "description": "Determines whether CPU should be boosted on startup of a new container instance above the requested CPU threshold, this can help reduce cold-start latency.", - "type": "boolean" + "secret": { + "description": "Required. The name of the secret in Cloud Secret Manager. Format: {secret} if the secret is in the same project. projects/{project}/secrets/{secret} if the secret is in a different project.", + "type": "string" } }, "type": "object" }, - "GoogleCloudRunV2Revision": { - "description": "A Revision is an immutable snapshot of code and configuration. A Revision references a container image. Revisions are only created by updates to its parent Service.", - "id": "GoogleCloudRunV2Revision", + "GoogleCloudRunV2Service": { + "description": "Service acts as a top-level container that manages a set of configurations and revision templates which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership.", + "id": "GoogleCloudRunV2Service", "properties": { "annotations": { "additionalProperties": { "type": "string" }, - "description": "Output only. Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects.", - "readOnly": true, + "description": "Optional. Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected in new resources. All system annotations in v1 now have a corresponding field in v2 Service. This field follows Kubernetes annotations' namespacing, limits, and rules.", "type": "object" }, + "binaryAuthorization": { + "$ref": "GoogleCloudRunV2BinaryAuthorization", + "description": "Optional. Settings for the Binary Authorization feature." + }, + "buildConfig": { + "$ref": "GoogleCloudRunV2BuildConfig", + "description": "Optional. Configuration for building a Cloud Run function." + }, + "client": { + "description": "Arbitrary identifier for the API client.", + "type": "string" + }, + "clientVersion": { + "description": "Arbitrary version identifier for the API client.", + "type": "string" + }, "conditions": { - "description": "Output only. The Condition of this Revision, containing its readiness status, and detailed error information in case it did not reach a serving state.", + "description": "Output only. The Conditions of all other associated sub-resources. They contain additional diagnostics information in case the Service does not reach its Serving state. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", "items": { "$ref": "GoogleCloudRunV2Condition" }, "readOnly": true, "type": "array" }, - "containers": { - "description": "Holds the single container that defines the unit of execution for this Revision.", - "items": { - "$ref": "GoogleCloudRunV2Container" - }, - "type": "array" - }, "createTime": { "description": "Output only. The creation time.", "format": "google-datetime", "readOnly": true, "type": "string" }, - "deleteTime": { - "description": "Output only. For a deleted resource, the deletion time. It is only populated as a response to a Delete request.", - "format": "google-datetime", + "creator": { + "description": "Output only. Email address of the authenticated creator.", "readOnly": true, "type": "string" }, - "encryptionKey": { - "description": "A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek", - "type": "string" + "customAudiences": { + "description": "One or more custom audiences that you want this service to support. Specify each custom audience as the full URL in a string. The custom audiences are encoded in the token and used to authenticate requests. For more information, see https://cloud.google.com/run/docs/configuring/custom-audiences.", + "items": { + "type": "string" + }, + "type": "array" }, - "encryptionKeyRevocationAction": { - "description": "The action to take if the encryption key is revoked.", - "enum": [ - "ENCRYPTION_KEY_REVOCATION_ACTION_UNSPECIFIED", - "PREVENT_NEW", - "SHUTDOWN" - ], - "enumDescriptions": [ - "Unspecified", - "Prevents the creation of new instances.", - "Shuts down existing instances, and prevents creation of new ones." - ], + "defaultUriDisabled": { + "description": "Optional. Disables public resolution of the default URI of this service.", + "type": "boolean" + }, + "deleteTime": { + "description": "Output only. The deletion time. It is only populated as a response to a Delete request.", + "format": "google-datetime", + "readOnly": true, "type": "string" }, - "encryptionKeyShutdownDuration": { - "description": "If encryption_key_revocation_action is SHUTDOWN, the duration before shutting down all instances. The minimum increment is 1 hour.", - "format": "google-duration", + "description": { + "description": "User-provided description of the Service. This field currently has a 512-character limit.", "type": "string" }, "etag": { @@ -2843,42 +3816,64 @@ "readOnly": true, "type": "string" }, - "executionEnvironment": { - "description": "The execution environment being used to host this Revision.", - "enum": [ - "EXECUTION_ENVIRONMENT_UNSPECIFIED", - "EXECUTION_ENVIRONMENT_GEN1", - "EXECUTION_ENVIRONMENT_GEN2" - ], - "enumDescriptions": [ - "Unspecified", - "Uses the First Generation environment.", - "Uses Second Generation environment." - ], - "type": "string" - }, "expireTime": { - "description": "Output only. For a deleted resource, the time after which it will be permamently deleted. It is only populated as a response to a Delete request.", + "description": "Output only. For a deleted resource, the time after which it will be permanently deleted.", "format": "google-datetime", "readOnly": true, "type": "string" }, "generation": { - "description": "Output only. A number that monotonically increases every time the user modifies the desired state.", + "description": "Output only. A number that monotonically increases every time the user modifies the desired state. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.", "format": "int64", "readOnly": true, "type": "string" }, + "ingress": { + "description": "Optional. Provides the ingress settings for this Service. On output, returns the currently observed ingress settings, or INGRESS_TRAFFIC_UNSPECIFIED if no revision is active.", + "enum": [ + "INGRESS_TRAFFIC_UNSPECIFIED", + "INGRESS_TRAFFIC_ALL", + "INGRESS_TRAFFIC_INTERNAL_ONLY", + "INGRESS_TRAFFIC_INTERNAL_LOAD_BALANCER", + "INGRESS_TRAFFIC_NONE" + ], + "enumDescriptions": [ + "Unspecified", + "All inbound traffic is allowed.", + "Only internal traffic is allowed.", + "Both internal and Google Cloud Load Balancer traffic is allowed.", + "No ingress traffic is allowed." + ], + "type": "string" + }, + "invokerIamDisabled": { + "description": "Optional. Disables IAM permission check for run.routes.invoke for callers of this service. This feature is available by invitation only. For more information, visit https://cloud.google.com/run/docs/securing/managing-access#invoker_check.", + "type": "boolean" + }, "labels": { "additionalProperties": { "type": "string" }, - "description": "Output only. Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels.", - "readOnly": true, + "description": "Optional. Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 Service.", "type": "object" }, + "lastModifier": { + "description": "Output only. Email address of the last authenticated modifier.", + "readOnly": true, + "type": "string" + }, + "latestCreatedRevision": { + "description": "Output only. Name of the last created revision. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", + "readOnly": true, + "type": "string" + }, + "latestReadyRevision": { + "description": "Output only. Name of the latest revision that is serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", + "readOnly": true, + "type": "string" + }, "launchStage": { - "description": "The least stable launch stage needed to create this resource, as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. Note that this value might not be what was used as input. For example, if ALPHA was provided as input in the parent resource, but only BETA and GA-level features are were, this field will be BETA.", + "description": "Optional. The launch stage as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, GA is assumed. Set the launch stage to a preview stage on input to allow use of preview features in that stage. On read (or output), describes whether the resource uses preview features. For example, if ALPHA is provided as input, but only BETA and GA-level features are used, this field will be BETA on output.", "enum": [ "LAUNCH_STAGE_UNSPECIFIED", "UNIMPLEMENTED", @@ -2901,33 +3896,18 @@ ], "type": "string" }, - "logUri": { - "description": "Output only. The Google Console URI to obtain logs for the Revision.", - "readOnly": true, - "type": "string" - }, - "maxInstanceRequestConcurrency": { - "description": "Sets the maximum number of requests that each serving instance can receive.", - "format": "int32", - "type": "integer" - }, "name": { - "description": "Output only. The unique name of this Revision.", - "readOnly": true, + "description": "The fully qualified name of this Service. In CreateServiceRequest, this field is ignored, and instead composed from CreateServiceRequest.parent and CreateServiceRequest.service_id. Format: projects/{project}/locations/{location}/services/{service_id}", "type": "string" }, - "nodeSelector": { - "$ref": "GoogleCloudRunV2NodeSelector", - "description": "The node selector for the revision." - }, "observedGeneration": { - "description": "Output only. The generation of this Revision currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", + "description": "Output only. The generation of this Service currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.", "format": "int64", "readOnly": true, "type": "string" }, "reconciling": { - "description": "Output only. Indicates whether the resource's reconciliation is still in progress. See comments in `Service.reconciling` for additional information on reconciliation process in Cloud Run.", + "description": "Output only. Returns true if the Service is currently being acted upon by the system to bring it into the desired state. When a new Service is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Service to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation`, `latest_ready_revision`, `traffic_statuses`, and `uri` will have transient values that might mismatch the intended state: Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the serving state matches the Service, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`. If reconciliation succeeded, the following fields will match: `traffic` and `traffic_statuses`, `observed_generation` and `generation`, `latest_ready_revision` and `latest_created_revision`. If reconciliation failed, `traffic_statuses`, `observed_generation`, and `latest_ready_revision` will have the state of the last serving revision, or empty for newly created Services. Additional information on the failure can be found in `terminal_condition` and `conditions`.", "readOnly": true, "type": "boolean" }, @@ -2937,38 +3917,35 @@ "type": "boolean" }, "scaling": { - "$ref": "GoogleCloudRunV2RevisionScaling", - "description": "Scaling settings for this revision." - }, - "scalingStatus": { - "$ref": "GoogleCloudRunV2RevisionScalingStatus", - "description": "Output only. The current effective scaling settings for the revision.", - "readOnly": true - }, - "service": { - "description": "Output only. The name of the parent service.", - "readOnly": true, - "type": "string" + "$ref": "GoogleCloudRunV2ServiceScaling", + "description": "Optional. Specifies service-level scaling settings" }, - "serviceAccount": { - "description": "Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has.", - "type": "string" + "template": { + "$ref": "GoogleCloudRunV2RevisionTemplate", + "description": "Required. The template used to create revisions for this Service." }, - "serviceMesh": { - "$ref": "GoogleCloudRunV2ServiceMesh", - "description": "Enables service mesh connectivity." + "terminalCondition": { + "$ref": "GoogleCloudRunV2Condition", + "description": "Output only. The Condition of this Service, containing its readiness status, and detailed error information in case it did not reach a serving state. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", + "readOnly": true }, - "sessionAffinity": { - "description": "Enable session affinity.", - "type": "boolean" + "traffic": { + "description": "Optional. Specifies how to distribute traffic over a collection of Revisions belonging to the Service. If traffic is empty or not provided, defaults to 100% traffic to the latest `Ready` Revision.", + "items": { + "$ref": "GoogleCloudRunV2TrafficTarget" + }, + "type": "array" }, - "timeout": { - "description": "Max allowed time for an instance to respond to a request.", - "format": "google-duration", - "type": "string" + "trafficStatuses": { + "description": "Output only. Detailed status information for corresponding traffic targets. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", + "items": { + "$ref": "GoogleCloudRunV2TrafficTargetStatus" + }, + "readOnly": true, + "type": "array" }, "uid": { - "description": "Output only. Server assigned unique identifier for the Revision. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", + "description": "Output only. Server assigned unique identifier for the trigger. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", "readOnly": true, "type": "string" }, @@ -2978,281 +3955,206 @@ "readOnly": true, "type": "string" }, - "volumes": { - "description": "A list of Volumes to make available to containers.", - "items": { - "$ref": "GoogleCloudRunV2Volume" - }, - "type": "array" - }, - "vpcAccess": { - "$ref": "GoogleCloudRunV2VpcAccess", - "description": "VPC Access configuration for this Revision. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc." - } - }, - "type": "object" - }, - "GoogleCloudRunV2RevisionScaling": { - "description": "Settings for revision-level scaling settings.", - "id": "GoogleCloudRunV2RevisionScaling", - "properties": { - "maxInstanceCount": { - "description": "Optional. Maximum number of serving instances that this resource should have. When unspecified, the field is set to the server default value of 100. For more information see https://cloud.google.com/run/docs/configuring/max-instances", - "format": "int32", - "type": "integer" + "uri": { + "description": "Output only. The main URI in which this Service is serving traffic.", + "readOnly": true, + "type": "string" }, - "minInstanceCount": { - "description": "Optional. Minimum number of serving instances that this resource should have.", - "format": "int32", - "type": "integer" + "urls": { + "description": "Output only. All URLs serving traffic for this Service.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" } }, "type": "object" }, - "GoogleCloudRunV2RevisionScalingStatus": { - "description": "Effective settings for the current revision", - "id": "GoogleCloudRunV2RevisionScalingStatus", + "GoogleCloudRunV2ServiceMesh": { + "description": "Settings for Cloud Service Mesh. For more information see https://cloud.google.com/service-mesh/docs/overview.", + "id": "GoogleCloudRunV2ServiceMesh", "properties": { - "desiredMinInstanceCount": { - "description": "The current number of min instances provisioned for this revision.", - "format": "int32", - "type": "integer" + "mesh": { + "description": "The Mesh resource name. Format: `projects/{project}/locations/global/meshes/{mesh}`, where `{project}` can be project id or number.", + "type": "string" } }, "type": "object" }, - "GoogleCloudRunV2RevisionTemplate": { - "description": "RevisionTemplate describes the data a revision should have when created from a template.", - "id": "GoogleCloudRunV2RevisionTemplate", + "GoogleCloudRunV2ServiceScaling": { + "description": "Scaling settings applied at the service level rather than at the revision level.", + "id": "GoogleCloudRunV2ServiceScaling", "properties": { - "annotations": { - "additionalProperties": { - "type": "string" - }, - "description": "Optional. Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system annotations in v1 now have a corresponding field in v2 RevisionTemplate. This field follows Kubernetes annotations' namespacing, limits, and rules.", - "type": "object" + "manualInstanceCount": { + "description": "Optional. total instance count for the service in manual scaling mode. This number of instances is divided among all revisions with specified traffic based on the percent of traffic they are receiving.", + "format": "int32", + "type": "integer" }, - "containers": { - "description": "Holds the single container that defines the unit of execution for this Revision.", - "items": { - "$ref": "GoogleCloudRunV2Container" - }, - "type": "array" + "maxInstanceCount": { + "description": "Optional. total max instances for the service. This number of instances is divided among all revisions with specified traffic based on the percent of traffic they are receiving.", + "format": "int32", + "type": "integer" }, - "encryptionKey": { - "description": "A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek", - "type": "string" + "minInstanceCount": { + "description": "Optional. total min instances for the service. This number of instances is divided among all revisions with specified traffic based on the percent of traffic they are receiving.", + "format": "int32", + "type": "integer" }, - "encryptionKeyRevocationAction": { - "description": "Optional. The action to take if the encryption key is revoked.", + "scalingMode": { + "description": "Optional. The scaling mode for the service.", "enum": [ - "ENCRYPTION_KEY_REVOCATION_ACTION_UNSPECIFIED", - "PREVENT_NEW", - "SHUTDOWN" + "SCALING_MODE_UNSPECIFIED", + "AUTOMATIC", + "MANUAL" ], "enumDescriptions": [ - "Unspecified", - "Prevents the creation of new instances.", - "Shuts down existing instances, and prevents creation of new ones." + "Unspecified.", + "Scale based on traffic between min and max instances.", + "Scale to exactly min instances and ignore max instances." ], "type": "string" - }, - "encryptionKeyShutdownDuration": { - "description": "Optional. If encryption_key_revocation_action is SHUTDOWN, the duration before shutting down all instances. The minimum increment is 1 hour.", - "format": "google-duration", + } + }, + "type": "object" + }, + "GoogleCloudRunV2StorageSource": { + "description": "Location of the source in an archive file in Google Cloud Storage.", + "id": "GoogleCloudRunV2StorageSource", + "properties": { + "bucket": { + "description": "Required. Google Cloud Storage bucket containing the source (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).", "type": "string" }, - "executionEnvironment": { - "description": "Optional. The sandbox environment to host this Revision.", - "enum": [ - "EXECUTION_ENVIRONMENT_UNSPECIFIED", - "EXECUTION_ENVIRONMENT_GEN1", - "EXECUTION_ENVIRONMENT_GEN2" - ], - "enumDescriptions": [ - "Unspecified", - "Uses the First Generation environment.", - "Uses Second Generation environment." - ], + "generation": { + "description": "Optional. Google Cloud Storage generation for the object. If the generation is omitted, the latest generation will be used.", + "format": "int64", "type": "string" }, - "healthCheckDisabled": { - "description": "Optional. Disables health checking containers during deployment.", - "type": "boolean" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Optional. Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 RevisionTemplate.", - "type": "object" - }, - "maxInstanceRequestConcurrency": { - "description": "Optional. Sets the maximum number of requests that each serving instance can receive. If not specified or 0, concurrency defaults to 80 when requested `CPU >= 1` and defaults to 1 when requested `CPU < 1`.", - "format": "int32", - "type": "integer" + "object": { + "description": "Required. Google Cloud Storage object containing the source. This object must be a gzipped archive file (`.tar.gz`) containing source to build.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunV2SubmitBuildRequest": { + "description": "Request message for submitting a Build.", + "id": "GoogleCloudRunV2SubmitBuildRequest", + "properties": { + "buildpackBuild": { + "$ref": "GoogleCloudRunV2BuildpacksBuild", + "description": "Build the source using Buildpacks." }, - "nodeSelector": { - "$ref": "GoogleCloudRunV2NodeSelector", - "description": "Optional. The node selector for the revision template." + "dockerBuild": { + "$ref": "GoogleCloudRunV2DockerBuild", + "description": "Build the source using Docker. This means the source has a Dockerfile." }, - "revision": { - "description": "Optional. The unique name for the revision. If this field is omitted, it will be automatically generated based on the Service name.", + "imageUri": { + "description": "Required. Artifact Registry URI to store the built image.", "type": "string" }, - "scaling": { - "$ref": "GoogleCloudRunV2RevisionScaling", - "description": "Optional. Scaling settings for this Revision." - }, "serviceAccount": { - "description": "Optional. Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project's default service account.", + "description": "Optional. The service account to use for the build. If not set, the default Cloud Build service account for the project will be used.", "type": "string" }, - "serviceMesh": { - "$ref": "GoogleCloudRunV2ServiceMesh", - "description": "Optional. Enables service mesh connectivity." - }, - "sessionAffinity": { - "description": "Optional. Enable session affinity.", - "type": "boolean" - }, - "timeout": { - "description": "Optional. Max allowed time for an instance to respond to a request.", - "format": "google-duration", - "type": "string" + "storageSource": { + "$ref": "GoogleCloudRunV2StorageSource", + "description": "Required. Source for the build." }, - "volumes": { - "description": "Optional. A list of Volumes to make available to containers.", + "tags": { + "description": "Optional. Additional tags to annotate the build.", "items": { - "$ref": "GoogleCloudRunV2Volume" + "type": "string" }, "type": "array" }, - "vpcAccess": { - "$ref": "GoogleCloudRunV2VpcAccess", - "description": "Optional. VPC Access configuration to use for this Revision. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc." - } - }, - "type": "object" - }, - "GoogleCloudRunV2RunJobRequest": { - "description": "Request message to create a new Execution of a Job.", - "id": "GoogleCloudRunV2RunJobRequest", - "properties": { - "etag": { - "description": "A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.", + "workerPool": { + "description": "Optional. Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool.", "type": "string" - }, - "overrides": { - "$ref": "GoogleCloudRunV2Overrides", - "description": "Overrides specification for a given execution of a job. If provided, overrides will be applied to update the execution or task spec." - }, - "validateOnly": { - "description": "Indicates that the request should be validated without actually deleting any resources.", - "type": "boolean" } }, "type": "object" }, - "GoogleCloudRunV2SecretKeySelector": { - "description": "SecretEnvVarSource represents a source for the value of an EnvVar.", - "id": "GoogleCloudRunV2SecretKeySelector", + "GoogleCloudRunV2SubmitBuildResponse": { + "description": "Response message for submitting a Build.", + "id": "GoogleCloudRunV2SubmitBuildResponse", "properties": { - "secret": { - "description": "Required. The name of the secret in Cloud Secret Manager. Format: {secret_name} if the secret is in the same project. projects/{project}/secrets/{secret_name} if the secret is in a different project.", + "baseImageUri": { + "description": "URI of the base builder image in Artifact Registry being used in the build. Used to opt into automatic base image updates.", "type": "string" }, - "version": { - "description": "The Cloud Secret Manager secret version. Can be 'latest' for the latest version, an integer for a specific version, or a version alias.", + "baseImageWarning": { + "description": "Warning message for the base image.", "type": "string" + }, + "buildOperation": { + "$ref": "GoogleLongrunningOperation", + "description": "Cloud Build operation to be polled via CloudBuild API." } }, "type": "object" }, - "GoogleCloudRunV2SecretVolumeSource": { - "description": "The secret's value will be presented as the content of a file whose name is defined in the item path. If no items are defined, the name of the file is the secret.", - "id": "GoogleCloudRunV2SecretVolumeSource", + "GoogleCloudRunV2TCPSocketAction": { + "description": "TCPSocketAction describes an action based on opening a socket", + "id": "GoogleCloudRunV2TCPSocketAction", "properties": { - "defaultMode": { - "description": "Integer representation of mode bits to use on created files by default. Must be a value between 0000 and 0777 (octal), defaulting to 0444. Directories within the path are not affected by this setting. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. This might be in conflict with other options that affect the file mode, like fsGroup, and as a result, other mode bits could be set.", + "port": { + "description": "Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.", "format": "int32", "type": "integer" - }, - "items": { - "description": "If unspecified, the volume will expose a file whose name is the secret, relative to VolumeMount.mount_path. If specified, the key will be used as the version to fetch from Cloud Secret Manager and the path will be the name of the file exposed in the volume. When items are defined, they must specify a path and a version.", - "items": { - "$ref": "GoogleCloudRunV2VersionToPath" - }, - "type": "array" - }, - "secret": { - "description": "Required. The name of the secret in Cloud Secret Manager. Format: {secret} if the secret is in the same project. projects/{project}/secrets/{secret} if the secret is in a different project.", - "type": "string" } }, "type": "object" }, - "GoogleCloudRunV2Service": { - "description": "Service acts as a top-level container that manages a set of configurations and revision templates which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership.", - "id": "GoogleCloudRunV2Service", + "GoogleCloudRunV2Task": { + "description": "Task represents a single run of a container to completion.", + "id": "GoogleCloudRunV2Task", "properties": { "annotations": { "additionalProperties": { "type": "string" }, - "description": "Optional. Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected in new resources. All system annotations in v1 now have a corresponding field in v2 Service. This field follows Kubernetes annotations' namespacing, limits, and rules.", - "type": "object" - }, - "binaryAuthorization": { - "$ref": "GoogleCloudRunV2BinaryAuthorization", - "description": "Optional. Settings for the Binary Authorization feature." - }, - "client": { - "description": "Arbitrary identifier for the API client.", - "type": "string" - }, - "clientVersion": { - "description": "Arbitrary version identifier for the API client.", - "type": "string" - }, - "conditions": { - "description": "Output only. The Conditions of all other associated sub-resources. They contain additional diagnostics information in case the Service does not reach its Serving state. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", - "items": { - "$ref": "GoogleCloudRunV2Condition" - }, + "description": "Output only. Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects.", "readOnly": true, - "type": "array" - }, - "createTime": { - "description": "Output only. The creation time.", + "type": "object" + }, + "completionTime": { + "description": "Output only. Represents time when the Task was completed. It is not guaranteed to be set in happens-before order across separate operations.", "format": "google-datetime", "readOnly": true, "type": "string" }, - "creator": { - "description": "Output only. Email address of the authenticated creator.", + "conditions": { + "description": "Output only. The Condition of this Task, containing its readiness status, and detailed error information in case it did not reach the desired state.", + "items": { + "$ref": "GoogleCloudRunV2Condition" + }, "readOnly": true, - "type": "string" + "type": "array" }, - "customAudiences": { - "description": "One or more custom audiences that you want this service to support. Specify each custom audience as the full URL in a string. The custom audiences are encoded in the token and used to authenticate requests. For more information, see https://cloud.google.com/run/docs/configuring/custom-audiences.", + "containers": { + "description": "Holds the single container that defines the unit of execution for this task.", "items": { - "type": "string" + "$ref": "GoogleCloudRunV2Container" }, "type": "array" }, - "defaultUriDisabled": { - "description": "Optional. Disables public resolution of the default URI of this service.", - "type": "boolean" + "createTime": { + "description": "Output only. Represents time when the task was created by the system. It is not guaranteed to be set in happens-before order across separate operations.", + "format": "google-datetime", + "readOnly": true, + "type": "string" }, "deleteTime": { - "description": "Output only. The deletion time. It is only populated as a response to a Delete request.", + "description": "Output only. For a deleted resource, the deletion time. It is only populated as a response to a Delete request.", "format": "google-datetime", "readOnly": true, "type": "string" }, - "description": { - "description": "User-provided description of the Service. This field currently has a 512-character limit.", + "encryptionKey": { + "description": "Output only. A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek", + "readOnly": true, "type": "string" }, "etag": { @@ -3260,345 +4162,456 @@ "readOnly": true, "type": "string" }, + "execution": { + "description": "Output only. The name of the parent Execution.", + "readOnly": true, + "type": "string" + }, + "executionEnvironment": { + "description": "The execution environment being used to host this Task.", + "enum": [ + "EXECUTION_ENVIRONMENT_UNSPECIFIED", + "EXECUTION_ENVIRONMENT_GEN1", + "EXECUTION_ENVIRONMENT_GEN2" + ], + "enumDescriptions": [ + "Unspecified", + "Uses the First Generation environment.", + "Uses Second Generation environment." + ], + "type": "string" + }, "expireTime": { - "description": "Output only. For a deleted resource, the time after which it will be permamently deleted.", + "description": "Output only. For a deleted resource, the time after which it will be permamently deleted. It is only populated as a response to a Delete request.", "format": "google-datetime", "readOnly": true, "type": "string" }, "generation": { - "description": "Output only. A number that monotonically increases every time the user modifies the desired state. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.", + "description": "Output only. A number that monotonically increases every time the user modifies the desired state.", "format": "int64", "readOnly": true, "type": "string" }, - "ingress": { - "description": "Optional. Provides the ingress settings for this Service. On output, returns the currently observed ingress settings, or INGRESS_TRAFFIC_UNSPECIFIED if no revision is active.", - "enum": [ - "INGRESS_TRAFFIC_UNSPECIFIED", - "INGRESS_TRAFFIC_ALL", - "INGRESS_TRAFFIC_INTERNAL_ONLY", - "INGRESS_TRAFFIC_INTERNAL_LOAD_BALANCER", - "INGRESS_TRAFFIC_NONE" - ], - "enumDescriptions": [ - "Unspecified", - "All inbound traffic is allowed.", - "Only internal traffic is allowed.", - "Both internal and Google Cloud Load Balancer traffic is allowed.", - "No ingress traffic is allowed." - ], - "type": "string" + "index": { + "description": "Output only. Index of the Task, unique per execution, and beginning at 0.", + "format": "int32", + "readOnly": true, + "type": "integer" }, - "invokerIamDisabled": { - "description": "Optional. Disables IAM permission check for run.routes.invoke for callers of this service. This feature is available by invitation only. For more information, visit https://cloud.google.com/run/docs/securing/managing-access#invoker_check.", - "type": "boolean" + "job": { + "description": "Output only. The name of the parent Job.", + "readOnly": true, + "type": "string" }, "labels": { "additionalProperties": { "type": "string" }, - "description": "Optional. Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 Service.", - "type": "object" - }, - "lastModifier": { - "description": "Output only. Email address of the last authenticated modifier.", + "description": "Output only. Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels", "readOnly": true, - "type": "string" + "type": "object" }, - "latestCreatedRevision": { - "description": "Output only. Name of the last created revision. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", - "readOnly": true, - "type": "string" + "lastAttemptResult": { + "$ref": "GoogleCloudRunV2TaskAttemptResult", + "description": "Output only. Result of the last attempt of this Task.", + "readOnly": true }, - "latestReadyRevision": { - "description": "Output only. Name of the latest revision that is serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", + "logUri": { + "description": "Output only. URI where logs for this execution can be found in Cloud Console.", "readOnly": true, "type": "string" }, - "launchStage": { - "description": "Optional. The launch stage as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, GA is assumed. Set the launch stage to a preview stage on input to allow use of preview features in that stage. On read (or output), describes whether the resource uses preview features. For example, if ALPHA is provided as input, but only BETA and GA-level features are used, this field will be BETA on output.", - "enum": [ - "LAUNCH_STAGE_UNSPECIFIED", - "UNIMPLEMENTED", - "PRELAUNCH", - "EARLY_ACCESS", - "ALPHA", - "BETA", - "GA", - "DEPRECATED" - ], - "enumDescriptions": [ - "Do not use this default value.", - "The feature is not yet implemented. Users can not use it.", - "Prelaunch features are hidden from users and are only visible internally.", - "Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.", - "Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don't have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.", - "Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.", - "GA features are open to all developers and are considered stable and fully qualified for production use.", - "Deprecated features are scheduled to be shut down and removed. For more information, see the \"Deprecation Policy\" section of our [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation." - ], - "type": "string" + "maxRetries": { + "description": "Number of retries allowed per Task, before marking this Task failed.", + "format": "int32", + "type": "integer" }, "name": { - "description": "The fully qualified name of this Service. In CreateServiceRequest, this field is ignored, and instead composed from CreateServiceRequest.parent and CreateServiceRequest.service_id. Format: projects/{project}/locations/{location}/services/{service_id}", + "description": "Output only. The unique name of this Task.", + "readOnly": true, "type": "string" }, + "nodeSelector": { + "$ref": "GoogleCloudRunV2NodeSelector", + "description": "Output only. The node selector for the task.", + "readOnly": true + }, "observedGeneration": { - "description": "Output only. The generation of this Service currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.", + "description": "Output only. The generation of this Task. See comments in `Job.reconciling` for additional information on reconciliation process in Cloud Run.", "format": "int64", "readOnly": true, "type": "string" }, "reconciling": { - "description": "Output only. Returns true if the Service is currently being acted upon by the system to bring it into the desired state. When a new Service is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Service to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation`, `latest_ready_revison`, `traffic_statuses`, and `uri` will have transient values that might mismatch the intended state: Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the serving state matches the Service, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`. If reconciliation succeeded, the following fields will match: `traffic` and `traffic_statuses`, `observed_generation` and `generation`, `latest_ready_revision` and `latest_created_revision`. If reconciliation failed, `traffic_statuses`, `observed_generation`, and `latest_ready_revision` will have the state of the last serving revision, or empty for newly created Services. Additional information on the failure can be found in `terminal_condition` and `conditions`.", + "description": "Output only. Indicates whether the resource's reconciliation is still in progress. See comments in `Job.reconciling` for additional information on reconciliation process in Cloud Run.", "readOnly": true, "type": "boolean" }, + "retried": { + "description": "Output only. The number of times this Task was retried. Tasks are retried when they fail up to the maxRetries limit.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, "satisfiesPzs": { "description": "Output only. Reserved for future use.", "readOnly": true, "type": "boolean" }, - "scaling": { - "$ref": "GoogleCloudRunV2ServiceScaling", - "description": "Optional. Specifies service-level scaling settings" + "scheduledTime": { + "description": "Output only. Represents time when the task was scheduled to run by the system. It is not guaranteed to be set in happens-before order across separate operations.", + "format": "google-datetime", + "readOnly": true, + "type": "string" }, - "template": { - "$ref": "GoogleCloudRunV2RevisionTemplate", - "description": "Required. The template used to create revisions for this Service." + "serviceAccount": { + "description": "Email address of the IAM service account associated with the Task of a Job. The service account represents the identity of the running task, and determines what permissions the task has. If not provided, the task will use the project's default service account.", + "type": "string" }, - "terminalCondition": { - "$ref": "GoogleCloudRunV2Condition", - "description": "Output only. The Condition of this Service, containing its readiness status, and detailed error information in case it did not reach a serving state. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", - "readOnly": true + "startTime": { + "description": "Output only. Represents time when the task started to run. It is not guaranteed to be set in happens-before order across separate operations.", + "format": "google-datetime", + "readOnly": true, + "type": "string" }, - "traffic": { - "description": "Optional. Specifies how to distribute traffic over a collection of Revisions belonging to the Service. If traffic is empty or not provided, defaults to 100% traffic to the latest `Ready` Revision.", + "timeout": { + "description": "Max allowed time duration the Task may be active before the system will actively try to mark it failed and kill associated containers. This applies per attempt of a task, meaning each retry can run for the full timeout.", + "format": "google-duration", + "type": "string" + }, + "uid": { + "description": "Output only. Server assigned unique identifier for the Task. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The last-modified time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "volumes": { + "description": "A list of Volumes to make available to containers.", "items": { - "$ref": "GoogleCloudRunV2TrafficTarget" + "$ref": "GoogleCloudRunV2Volume" }, "type": "array" }, - "trafficStatuses": { - "description": "Output only. Detailed status information for corresponding traffic targets. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", + "vpcAccess": { + "$ref": "GoogleCloudRunV2VpcAccess", + "description": "Output only. VPC Access configuration to use for this Task. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleCloudRunV2TaskAttemptResult": { + "description": "Result of a task attempt.", + "id": "GoogleCloudRunV2TaskAttemptResult", + "properties": { + "exitCode": { + "description": "Output only. The exit code of this attempt. This may be unset if the container was unable to exit cleanly with a code due to some other failure. See status field for possible failure details.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "status": { + "$ref": "GoogleRpcStatus", + "description": "Output only. The status of this attempt. If the status code is OK, then the attempt succeeded.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleCloudRunV2TaskTemplate": { + "description": "TaskTemplate describes the data a task should have when created from a template.", + "id": "GoogleCloudRunV2TaskTemplate", + "properties": { + "containers": { + "description": "Holds the single container that defines the unit of execution for this task.", "items": { - "$ref": "GoogleCloudRunV2TrafficTargetStatus" + "$ref": "GoogleCloudRunV2Container" }, - "readOnly": true, "type": "array" }, - "uid": { - "description": "Output only. Server assigned unique identifier for the trigger. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", - "readOnly": true, + "encryptionKey": { + "description": "A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek", + "type": "string" + }, + "executionEnvironment": { + "description": "Optional. The execution environment being used to host this Task.", + "enum": [ + "EXECUTION_ENVIRONMENT_UNSPECIFIED", + "EXECUTION_ENVIRONMENT_GEN1", + "EXECUTION_ENVIRONMENT_GEN2" + ], + "enumDescriptions": [ + "Unspecified", + "Uses the First Generation environment.", + "Uses Second Generation environment." + ], "type": "string" }, - "updateTime": { - "description": "Output only. The last-modified time.", - "format": "google-datetime", - "readOnly": true, + "maxRetries": { + "description": "Number of retries allowed per Task, before marking this Task failed. Defaults to 3.", + "format": "int32", + "type": "integer" + }, + "nodeSelector": { + "$ref": "GoogleCloudRunV2NodeSelector", + "description": "Optional. The node selector for the task template." + }, + "serviceAccount": { + "description": "Optional. Email address of the IAM service account associated with the Task of a Job. The service account represents the identity of the running task, and determines what permissions the task has. If not provided, the task will use the project's default service account.", "type": "string" }, - "uri": { - "description": "Output only. The main URI in which this Service is serving traffic.", - "readOnly": true, + "timeout": { + "description": "Optional. Max allowed time duration the Task may be active before the system will actively try to mark it failed and kill associated containers. This applies per attempt of a task, meaning each retry can run for the full timeout. Defaults to 600 seconds.", + "format": "google-duration", "type": "string" }, - "urls": { - "description": "Output only. All URLs serving traffic for this Service.", + "volumes": { + "description": "Optional. A list of Volumes to make available to containers.", "items": { - "type": "string" + "$ref": "GoogleCloudRunV2Volume" }, - "readOnly": true, "type": "array" + }, + "vpcAccess": { + "$ref": "GoogleCloudRunV2VpcAccess", + "description": "Optional. VPC Access configuration to use for this Task. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc." } }, "type": "object" }, - "GoogleCloudRunV2ServiceMesh": { - "description": "Settings for Cloud Service Mesh. For more information see https://cloud.google.com/service-mesh/docs/overview.", - "id": "GoogleCloudRunV2ServiceMesh", + "GoogleCloudRunV2TrafficTarget": { + "description": "Holds a single traffic routing entry for the Service. Allocations can be done to a specific Revision name, or pointing to the latest Ready Revision.", + "id": "GoogleCloudRunV2TrafficTarget", "properties": { - "mesh": { - "description": "The Mesh resource name. Format: `projects/{project}/locations/global/meshes/{mesh}`, where `{project}` can be project id or number.", + "percent": { + "description": "Specifies percent of the traffic to this Revision. This defaults to zero if unspecified.", + "format": "int32", + "type": "integer" + }, + "revision": { + "description": "Revision to which to send this portion of traffic, if traffic allocation is by revision.", + "type": "string" + }, + "tag": { + "description": "Indicates a string to be part of the URI to exclusively reference this target.", + "type": "string" + }, + "type": { + "description": "The allocation type for this traffic target.", + "enum": [ + "TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED", + "TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST", + "TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION" + ], + "enumDescriptions": [ + "Unspecified instance allocation type.", + "Allocates instances to the Service's latest ready Revision.", + "Allocates instances to a Revision by name." + ], "type": "string" } }, "type": "object" }, - "GoogleCloudRunV2ServiceScaling": { - "description": "Scaling settings applied at the service level rather than at the revision level.", - "id": "GoogleCloudRunV2ServiceScaling", + "GoogleCloudRunV2TrafficTargetStatus": { + "description": "Represents the observed state of a single `TrafficTarget` entry.", + "id": "GoogleCloudRunV2TrafficTargetStatus", "properties": { - "manualInstanceCount": { - "description": "Optional. total instance count for the service in manual scaling mode. This number of instances is divided among all revisions with specified traffic based on the percent of traffic they are receiving.", + "percent": { + "description": "Specifies percent of the traffic to this Revision.", "format": "int32", "type": "integer" }, - "maxInstanceCount": { - "description": "Optional. total max instances for the service. This number of instances is divided among all revisions with specified traffic based on the percent of traffic they are receiving.", - "format": "int32", - "type": "integer" + "revision": { + "description": "Revision to which this traffic is sent.", + "type": "string" }, - "minInstanceCount": { - "description": "Optional. total min instances for the service. This number of instances is divided among all revisions with specified traffic based on the percent of traffic they are receiving.", - "format": "int32", - "type": "integer" + "tag": { + "description": "Indicates the string used in the URI to exclusively reference this target.", + "type": "string" }, - "scalingMode": { - "description": "Optional. The scaling mode for the service.", + "type": { + "description": "The allocation type for this traffic target.", "enum": [ - "SCALING_MODE_UNSPECIFIED", - "AUTOMATIC", - "MANUAL" + "TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED", + "TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST", + "TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION" ], "enumDescriptions": [ - "Unspecified.", - "Scale based on traffic between min and max instances.", - "Scale to exactly min instances and ignore max instances." + "Unspecified instance allocation type.", + "Allocates instances to the Service's latest ready Revision.", + "Allocates instances to a Revision by name." ], "type": "string" + }, + "uri": { + "description": "Displays the target URI.", + "type": "string" } }, "type": "object" }, - "GoogleCloudRunV2StorageSource": { - "description": "Location of the source in an archive file in Google Cloud Storage.", - "id": "GoogleCloudRunV2StorageSource", + "GoogleCloudRunV2VersionToPath": { + "description": "VersionToPath maps a specific version of a secret to a relative file to mount to, relative to VolumeMount's mount_path.", + "id": "GoogleCloudRunV2VersionToPath", "properties": { - "bucket": { - "description": "Required. Google Cloud Storage bucket containing the source (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).", - "type": "string" + "mode": { + "description": "Integer octal mode bits to use on this file, must be a value between 01 and 0777 (octal). If 0 or not set, the Volume's default mode will be used. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", + "format": "int32", + "type": "integer" }, - "generation": { - "description": "Optional. Google Cloud Storage generation for the object. If the generation is omitted, the latest generation will be used.", - "format": "int64", + "path": { + "description": "Required. The relative path of the secret in the container.", "type": "string" }, - "object": { - "description": "Required. Google Cloud Storage object containing the source. This object must be a gzipped archive file (`.tar.gz`) containing source to build.", + "version": { + "description": "The Cloud Secret Manager secret version. Can be 'latest' for the latest value, or an integer or a secret alias for a specific version.", "type": "string" } }, "type": "object" }, - "GoogleCloudRunV2SubmitBuildRequest": { - "description": "Request message for submitting a Build.", - "id": "GoogleCloudRunV2SubmitBuildRequest", + "GoogleCloudRunV2Volume": { + "description": "Volume represents a named volume in a container.", + "id": "GoogleCloudRunV2Volume", "properties": { - "buildpackBuild": { - "$ref": "GoogleCloudRunV2BuildpacksBuild", - "description": "Build the source using Buildpacks." + "cloudSqlInstance": { + "$ref": "GoogleCloudRunV2CloudSqlInstance", + "description": "For Cloud SQL volumes, contains the specific instances that should be mounted. Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run." }, - "dockerBuild": { - "$ref": "GoogleCloudRunV2DockerBuild", - "description": "Build the source using Docker. This means the source has a Dockerfile." + "emptyDir": { + "$ref": "GoogleCloudRunV2EmptyDirVolumeSource", + "description": "Ephemeral storage used as a shared volume." }, - "imageUri": { - "description": "Required. Artifact Registry URI to store the built image.", - "type": "string" + "gcs": { + "$ref": "GoogleCloudRunV2GCSVolumeSource", + "description": "Persistent storage backed by a Google Cloud Storage bucket." }, - "serviceAccount": { - "description": "Optional. The service account to use for the build. If not set, the default Cloud Build service account for the project will be used.", + "name": { + "description": "Required. Volume's name.", "type": "string" }, - "storageSource": { - "$ref": "GoogleCloudRunV2StorageSource", - "description": "Required. Source for the build." - }, - "tags": { - "description": "Optional. Additional tags to annotate the build.", - "items": { - "type": "string" - }, - "type": "array" + "nfs": { + "$ref": "GoogleCloudRunV2NFSVolumeSource", + "description": "For NFS Voumes, contains the path to the nfs Volume" }, - "workerPool": { - "description": "Optional. Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool.", - "type": "string" + "secret": { + "$ref": "GoogleCloudRunV2SecretVolumeSource", + "description": "Secret represents a secret that should populate this volume." } }, "type": "object" }, - "GoogleCloudRunV2SubmitBuildResponse": { - "description": "Response message for submitting a Build.", - "id": "GoogleCloudRunV2SubmitBuildResponse", + "GoogleCloudRunV2VolumeMount": { + "description": "VolumeMount describes a mounting of a Volume within a container.", + "id": "GoogleCloudRunV2VolumeMount", "properties": { - "baseImageUri": { - "description": "URI of the base builder image in Artifact Registry being used in the build. Used to opt into automatic base image updates.", + "mountPath": { + "description": "Required. Path within the container at which the volume should be mounted. Must not contain ':'. For Cloud SQL volumes, it can be left empty, or must otherwise be `/cloudsql`. All instances defined in the Volume will be available as `/cloudsql/[instance]`. For more information on Cloud SQL volumes, visit https://cloud.google.com/sql/docs/mysql/connect-run", "type": "string" }, - "baseImageWarning": { - "description": "Warning message for the base image.", + "name": { + "description": "Required. This must match the Name of a Volume.", "type": "string" - }, - "buildOperation": { - "$ref": "GoogleLongrunningOperation", - "description": "Cloud Build operation to be polled via CloudBuild API." } }, "type": "object" }, - "GoogleCloudRunV2TCPSocketAction": { - "description": "TCPSocketAction describes an action based on opening a socket", - "id": "GoogleCloudRunV2TCPSocketAction", + "GoogleCloudRunV2VpcAccess": { + "description": "VPC Access settings. For more information on sending traffic to a VPC network, visit https://cloud.google.com/run/docs/configuring/connecting-vpc.", + "id": "GoogleCloudRunV2VpcAccess", "properties": { - "port": { - "description": "Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.", - "format": "int32", - "type": "integer" + "connector": { + "description": "VPC Access connector name. Format: `projects/{project}/locations/{location}/connectors/{connector}`, where `{project}` can be project id or number. For more information on sending traffic to a VPC network via a connector, visit https://cloud.google.com/run/docs/configuring/vpc-connectors.", + "type": "string" + }, + "egress": { + "description": "Optional. Traffic VPC egress settings. If not provided, it defaults to PRIVATE_RANGES_ONLY.", + "enum": [ + "VPC_EGRESS_UNSPECIFIED", + "ALL_TRAFFIC", + "PRIVATE_RANGES_ONLY" + ], + "enumDescriptions": [ + "Unspecified", + "All outbound traffic is routed through the VPC connector.", + "Only private IP ranges are routed through the VPC connector." + ], + "type": "string" + }, + "networkInterfaces": { + "description": "Optional. Direct VPC egress settings. Currently only single network interface is supported.", + "items": { + "$ref": "GoogleCloudRunV2NetworkInterface" + }, + "type": "array" } }, "type": "object" }, - "GoogleCloudRunV2Task": { - "description": "Task represents a single run of a container to completion.", - "id": "GoogleCloudRunV2Task", + "GoogleCloudRunV2WorkerPool": { + "description": "WorkerPool acts as a top-level container that manages a set of configurations and revision templates which implement a pull-based workload. WorkerPool exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership.", + "id": "GoogleCloudRunV2WorkerPool", "properties": { "annotations": { "additionalProperties": { "type": "string" }, - "description": "Output only. Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects.", - "readOnly": true, + "description": "Optional. Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected in new resources. All system annotations in v1 now have a corresponding field in v2 WorkerPool. This field follows Kubernetes annotations' namespacing, limits, and rules.", "type": "object" }, - "completionTime": { - "description": "Output only. Represents time when the Task was completed. It is not guaranteed to be set in happens-before order across separate operations.", - "format": "google-datetime", - "readOnly": true, + "binaryAuthorization": { + "$ref": "GoogleCloudRunV2BinaryAuthorization", + "description": "Optional. Settings for the Binary Authorization feature." + }, + "client": { + "description": "Arbitrary identifier for the API client.", + "type": "string" + }, + "clientVersion": { + "description": "Arbitrary version identifier for the API client.", "type": "string" }, "conditions": { - "description": "Output only. The Condition of this Task, containing its readiness status, and detailed error information in case it did not reach the desired state.", + "description": "Output only. The Conditions of all other associated sub-resources. They contain additional diagnostics information in case the WorkerPool does not reach its Serving state. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", "items": { "$ref": "GoogleCloudRunV2Condition" }, "readOnly": true, "type": "array" }, - "containers": { - "description": "Holds the single container that defines the unit of execution for this task.", + "createTime": { + "description": "Output only. The creation time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "creator": { + "description": "Output only. Email address of the authenticated creator.", + "readOnly": true, + "type": "string" + }, + "customAudiences": { + "description": "One or more custom audiences that you want this worker pool to support. Specify each custom audience as the full URL in a string. The custom audiences are encoded in the token and used to authenticate requests. For more information, see https://cloud.google.com/run/docs/configuring/custom-audiences.", "items": { - "$ref": "GoogleCloudRunV2Container" + "type": "string" }, "type": "array" }, - "createTime": { - "description": "Output only. Represents time when the task was created by the system. It is not guaranteed to be set in happens-before order across separate operations.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, "deleteTime": { - "description": "Output only. For a deleted resource, the deletion time. It is only populated as a response to a Delete request.", + "description": "Output only. The deletion time. It is only populated as a response to a Delete request.", "format": "google-datetime", "readOnly": true, "type": "string" }, - "encryptionKey": { - "description": "Output only. A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek", - "readOnly": true, + "description": { + "description": "User-provided description of the WorkerPool. This field currently has a 512-character limit.", "type": "string" }, "etag": { @@ -3606,386 +4619,250 @@ "readOnly": true, "type": "string" }, - "execution": { - "description": "Output only. The name of the parent Execution.", - "readOnly": true, - "type": "string" - }, - "executionEnvironment": { - "description": "The execution environment being used to host this Task.", - "enum": [ - "EXECUTION_ENVIRONMENT_UNSPECIFIED", - "EXECUTION_ENVIRONMENT_GEN1", - "EXECUTION_ENVIRONMENT_GEN2" - ], - "enumDescriptions": [ - "Unspecified", - "Uses the First Generation environment.", - "Uses Second Generation environment." - ], - "type": "string" - }, "expireTime": { - "description": "Output only. For a deleted resource, the time after which it will be permamently deleted. It is only populated as a response to a Delete request.", + "description": "Output only. For a deleted resource, the time after which it will be permamently deleted.", "format": "google-datetime", "readOnly": true, "type": "string" }, "generation": { - "description": "Output only. A number that monotonically increases every time the user modifies the desired state.", + "description": "Output only. A number that monotonically increases every time the user modifies the desired state. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.", "format": "int64", "readOnly": true, "type": "string" }, - "index": { - "description": "Output only. Index of the Task, unique per execution, and beginning at 0.", - "format": "int32", + "instanceSplitStatuses": { + "description": "Output only. Detailed status information for corresponding instance splits. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", + "items": { + "$ref": "GoogleCloudRunV2InstanceSplitStatus" + }, "readOnly": true, - "type": "integer" + "type": "array" }, - "job": { - "description": "Output only. The name of the parent Job.", - "readOnly": true, - "type": "string" + "instanceSplits": { + "description": "Optional. Specifies how to distribute instances over a collection of Revisions belonging to the WorkerPool. If instance split is empty or not provided, defaults to 100% instances assigned to the latest `Ready` Revision.", + "items": { + "$ref": "GoogleCloudRunV2InstanceSplit" + }, + "type": "array" }, "labels": { "additionalProperties": { "type": "string" }, - "description": "Output only. Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels", - "readOnly": true, + "description": "Optional. Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 WorkerPool.", "type": "object" }, - "lastAttemptResult": { - "$ref": "GoogleCloudRunV2TaskAttemptResult", - "description": "Output only. Result of the last attempt of this Task.", - "readOnly": true + "lastModifier": { + "description": "Output only. Email address of the last authenticated modifier.", + "readOnly": true, + "type": "string" }, - "logUri": { - "description": "Output only. URI where logs for this execution can be found in Cloud Console.", + "latestCreatedRevision": { + "description": "Output only. Name of the last created revision. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", "readOnly": true, "type": "string" }, - "maxRetries": { - "description": "Number of retries allowed per Task, before marking this Task failed.", - "format": "int32", - "type": "integer" + "latestReadyRevision": { + "description": "Output only. Name of the latest revision that is serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", + "readOnly": true, + "type": "string" + }, + "launchStage": { + "description": "Optional. The launch stage as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, GA is assumed. Set the launch stage to a preview stage on input to allow use of preview features in that stage. On read (or output), describes whether the resource uses preview features. For example, if ALPHA is provided as input, but only BETA and GA-level features are used, this field will be BETA on output.", + "enum": [ + "LAUNCH_STAGE_UNSPECIFIED", + "UNIMPLEMENTED", + "PRELAUNCH", + "EARLY_ACCESS", + "ALPHA", + "BETA", + "GA", + "DEPRECATED" + ], + "enumDescriptions": [ + "Do not use this default value.", + "The feature is not yet implemented. Users can not use it.", + "Prelaunch features are hidden from users and are only visible internally.", + "Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.", + "Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don't have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.", + "Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.", + "GA features are open to all developers and are considered stable and fully qualified for production use.", + "Deprecated features are scheduled to be shut down and removed. For more information, see the \"Deprecation Policy\" section of our [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation." + ], + "type": "string" }, "name": { - "description": "Output only. The unique name of this Task.", - "readOnly": true, + "description": "The fully qualified name of this WorkerPool. In CreateWorkerPoolRequest, this field is ignored, and instead composed from CreateWorkerPoolRequest.parent and CreateWorkerPoolRequest.worker_id. Format: projects/{project}/locations/{location}/workerPools/{worker_id}", "type": "string" }, "observedGeneration": { - "description": "Output only. The generation of this Task. See comments in `Job.reconciling` for additional information on reconciliation process in Cloud Run.", + "description": "Output only. The generation of this WorkerPool currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.", "format": "int64", "readOnly": true, "type": "string" }, "reconciling": { - "description": "Output only. Indicates whether the resource's reconciliation is still in progress. See comments in `Job.reconciling` for additional information on reconciliation process in Cloud Run.", + "description": "Output only. Returns true if the WorkerPool is currently being acted upon by the system to bring it into the desired state. When a new WorkerPool is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the WorkerPool to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation`, `latest_ready_revison`, `traffic_statuses`, and `uri` will have transient values that might mismatch the intended state: Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the serving state matches the WorkerPool, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`. If reconciliation succeeded, the following fields will match: `traffic` and `traffic_statuses`, `observed_generation` and `generation`, `latest_ready_revision` and `latest_created_revision`. If reconciliation failed, `traffic_statuses`, `observed_generation`, and `latest_ready_revision` will have the state of the last serving revision, or empty for newly created WorkerPools. Additional information on the failure can be found in `terminal_condition` and `conditions`.", "readOnly": true, "type": "boolean" }, - "retried": { - "description": "Output only. The number of times this Task was retried. Tasks are retried when they fail up to the maxRetries limit.", - "format": "int32", - "readOnly": true, - "type": "integer" - }, "satisfiesPzs": { "description": "Output only. Reserved for future use.", "readOnly": true, "type": "boolean" }, - "scheduledTime": { - "description": "Output only. Represents time when the task was scheduled to run by the system. It is not guaranteed to be set in happens-before order across separate operations.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "serviceAccount": { - "description": "Email address of the IAM service account associated with the Task of a Job. The service account represents the identity of the running task, and determines what permissions the task has. If not provided, the task will use the project's default service account.", - "type": "string" + "scaling": { + "$ref": "GoogleCloudRunV2WorkerPoolScaling", + "description": "Optional. Specifies worker-pool-level scaling settings" }, - "startTime": { - "description": "Output only. Represents time when the task started to run. It is not guaranteed to be set in happens-before order across separate operations.", - "format": "google-datetime", - "readOnly": true, - "type": "string" + "template": { + "$ref": "GoogleCloudRunV2WorkerPoolRevisionTemplate", + "description": "Required. The template used to create revisions for this WorkerPool." }, - "timeout": { - "description": "Max allowed time duration the Task may be active before the system will actively try to mark it failed and kill associated containers. This applies per attempt of a task, meaning each retry can run for the full timeout.", - "format": "google-duration", - "type": "string" + "terminalCondition": { + "$ref": "GoogleCloudRunV2Condition", + "description": "Output only. The Condition of this WorkerPool, containing its readiness status, and detailed error information in case it did not reach a serving state. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", + "readOnly": true }, "uid": { - "description": "Output only. Server assigned unique identifier for the Task. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", + "description": "Output only. Server assigned unique identifier for the trigger. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", "readOnly": true, "type": "string" }, "updateTime": { - "description": "Output only. The last-modified time.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "volumes": { - "description": "A list of Volumes to make available to containers.", - "items": { - "$ref": "GoogleCloudRunV2Volume" - }, - "type": "array" - }, - "vpcAccess": { - "$ref": "GoogleCloudRunV2VpcAccess", - "description": "Output only. VPC Access configuration to use for this Task. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc.", - "readOnly": true - } - }, - "type": "object" - }, - "GoogleCloudRunV2TaskAttemptResult": { - "description": "Result of a task attempt.", - "id": "GoogleCloudRunV2TaskAttemptResult", - "properties": { - "exitCode": { - "description": "Output only. The exit code of this attempt. This may be unset if the container was unable to exit cleanly with a code due to some other failure. See status field for possible failure details.", - "format": "int32", - "readOnly": true, - "type": "integer" - }, - "status": { - "$ref": "GoogleRpcStatus", - "description": "Output only. The status of this attempt. If the status code is OK, then the attempt succeeded.", - "readOnly": true - } - }, - "type": "object" - }, - "GoogleCloudRunV2TaskTemplate": { - "description": "TaskTemplate describes the data a task should have when created from a template.", - "id": "GoogleCloudRunV2TaskTemplate", - "properties": { - "containers": { - "description": "Holds the single container that defines the unit of execution for this task.", - "items": { - "$ref": "GoogleCloudRunV2Container" - }, - "type": "array" - }, - "encryptionKey": { - "description": "A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek", - "type": "string" - }, - "executionEnvironment": { - "description": "Optional. The execution environment being used to host this Task.", - "enum": [ - "EXECUTION_ENVIRONMENT_UNSPECIFIED", - "EXECUTION_ENVIRONMENT_GEN1", - "EXECUTION_ENVIRONMENT_GEN2" - ], - "enumDescriptions": [ - "Unspecified", - "Uses the First Generation environment.", - "Uses Second Generation environment." - ], - "type": "string" - }, - "maxRetries": { - "description": "Number of retries allowed per Task, before marking this Task failed. Defaults to 3.", - "format": "int32", - "type": "integer" - }, - "serviceAccount": { - "description": "Optional. Email address of the IAM service account associated with the Task of a Job. The service account represents the identity of the running task, and determines what permissions the task has. If not provided, the task will use the project's default service account.", - "type": "string" - }, - "timeout": { - "description": "Optional. Max allowed time duration the Task may be active before the system will actively try to mark it failed and kill associated containers. This applies per attempt of a task, meaning each retry can run for the full timeout. Defaults to 600 seconds.", - "format": "google-duration", - "type": "string" - }, - "volumes": { - "description": "Optional. A list of Volumes to make available to containers.", - "items": { - "$ref": "GoogleCloudRunV2Volume" - }, - "type": "array" - }, - "vpcAccess": { - "$ref": "GoogleCloudRunV2VpcAccess", - "description": "Optional. VPC Access configuration to use for this Task. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc." - } - }, - "type": "object" - }, - "GoogleCloudRunV2TrafficTarget": { - "description": "Holds a single traffic routing entry for the Service. Allocations can be done to a specific Revision name, or pointing to the latest Ready Revision.", - "id": "GoogleCloudRunV2TrafficTarget", - "properties": { - "percent": { - "description": "Specifies percent of the traffic to this Revision. This defaults to zero if unspecified.", - "format": "int32", - "type": "integer" - }, - "revision": { - "description": "Revision to which to send this portion of traffic, if traffic allocation is by revision.", - "type": "string" - }, - "tag": { - "description": "Indicates a string to be part of the URI to exclusively reference this target.", - "type": "string" - }, - "type": { - "description": "The allocation type for this traffic target.", - "enum": [ - "TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED", - "TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST", - "TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION" - ], - "enumDescriptions": [ - "Unspecified instance allocation type.", - "Allocates instances to the Service's latest ready Revision.", - "Allocates instances to a Revision by name." - ], + "description": "Output only. The last-modified time.", + "format": "google-datetime", + "readOnly": true, "type": "string" } }, "type": "object" }, - "GoogleCloudRunV2TrafficTargetStatus": { - "description": "Represents the observed state of a single `TrafficTarget` entry.", - "id": "GoogleCloudRunV2TrafficTargetStatus", + "GoogleCloudRunV2WorkerPoolRevisionTemplate": { + "description": "WorkerPoolRevisionTemplate describes the data a worker pool revision should have when created from a template.", + "id": "GoogleCloudRunV2WorkerPoolRevisionTemplate", "properties": { - "percent": { - "description": "Specifies percent of the traffic to this Revision.", - "format": "int32", - "type": "integer" + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system annotations in v1 now have a corresponding field in v2 WorkerPoolRevisionTemplate. This field follows Kubernetes annotations' namespacing, limits, and rules.", + "type": "object" }, - "revision": { - "description": "Revision to which this traffic is sent.", - "type": "string" + "containers": { + "description": "Holds list of the containers that defines the unit of execution for this Revision.", + "items": { + "$ref": "GoogleCloudRunV2Container" + }, + "type": "array" }, - "tag": { - "description": "Indicates the string used in the URI to exclusively reference this target.", + "encryptionKey": { + "description": "A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek", "type": "string" }, - "type": { - "description": "The allocation type for this traffic target.", + "encryptionKeyRevocationAction": { + "description": "Optional. The action to take if the encryption key is revoked.", "enum": [ - "TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED", - "TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST", - "TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION" + "ENCRYPTION_KEY_REVOCATION_ACTION_UNSPECIFIED", + "PREVENT_NEW", + "SHUTDOWN" ], "enumDescriptions": [ - "Unspecified instance allocation type.", - "Allocates instances to the Service's latest ready Revision.", - "Allocates instances to a Revision by name." + "Unspecified", + "Prevents the creation of new instances.", + "Shuts down existing instances, and prevents creation of new ones." ], "type": "string" }, - "uri": { - "description": "Displays the target URI.", + "encryptionKeyShutdownDuration": { + "description": "Optional. If encryption_key_revocation_action is SHUTDOWN, the duration before shutting down all instances. The minimum increment is 1 hour.", + "format": "google-duration", "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudRunV2VersionToPath": { - "description": "VersionToPath maps a specific version of a secret to a relative file to mount to, relative to VolumeMount's mount_path.", - "id": "GoogleCloudRunV2VersionToPath", - "properties": { - "mode": { - "description": "Integer octal mode bits to use on this file, must be a value between 01 and 0777 (octal). If 0 or not set, the Volume's default mode will be used. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", - "format": "int32", - "type": "integer" }, - "path": { - "description": "Required. The relative path of the secret in the container.", - "type": "string" + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 WorkerPoolRevisionTemplate.", + "type": "object" }, - "version": { - "description": "The Cloud Secret Manager secret version. Can be 'latest' for the latest value, or an integer or a secret alias for a specific version.", + "nodeSelector": { + "$ref": "GoogleCloudRunV2NodeSelector", + "description": "Optional. The node selector for the revision template." + }, + "revision": { + "description": "Optional. The unique name for the revision. If this field is omitted, it will be automatically generated based on the WorkerPool name.", "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudRunV2Volume": { - "description": "Volume represents a named volume in a container.", - "id": "GoogleCloudRunV2Volume", - "properties": { - "cloudSqlInstance": { - "$ref": "GoogleCloudRunV2CloudSqlInstance", - "description": "For Cloud SQL volumes, contains the specific instances that should be mounted. Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run." }, - "emptyDir": { - "$ref": "GoogleCloudRunV2EmptyDirVolumeSource", - "description": "Ephemeral storage used as a shared volume." + "serviceAccount": { + "description": "Optional. Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project's default service account.", + "type": "string" }, - "gcs": { - "$ref": "GoogleCloudRunV2GCSVolumeSource", - "description": "Persistent storage backed by a Google Cloud Storage bucket." + "serviceMesh": { + "$ref": "GoogleCloudRunV2ServiceMesh", + "description": "Optional. Enables service mesh connectivity." }, - "name": { - "description": "Required. Volume's name.", - "type": "string" + "sessionAffinity": { + "description": "Optional. Enable session affinity.", + "type": "boolean" }, - "nfs": { - "$ref": "GoogleCloudRunV2NFSVolumeSource", - "description": "For NFS Voumes, contains the path to the nfs Volume" + "volumes": { + "description": "Optional. A list of Volumes to make available to containers.", + "items": { + "$ref": "GoogleCloudRunV2Volume" + }, + "type": "array" }, - "secret": { - "$ref": "GoogleCloudRunV2SecretVolumeSource", - "description": "Secret represents a secret that should populate this volume." + "vpcAccess": { + "$ref": "GoogleCloudRunV2VpcAccess", + "description": "Optional. VPC Access configuration to use for this Revision. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc." } }, "type": "object" }, - "GoogleCloudRunV2VolumeMount": { - "description": "VolumeMount describes a mounting of a Volume within a container.", - "id": "GoogleCloudRunV2VolumeMount", + "GoogleCloudRunV2WorkerPoolScaling": { + "description": "Worker pool scaling settings.", + "id": "GoogleCloudRunV2WorkerPoolScaling", "properties": { - "mountPath": { - "description": "Required. Path within the container at which the volume should be mounted. Must not contain ':'. For Cloud SQL volumes, it can be left empty, or must otherwise be `/cloudsql`. All instances defined in the Volume will be available as `/cloudsql/[instance]`. For more information on Cloud SQL volumes, visit https://cloud.google.com/sql/docs/mysql/connect-run", - "type": "string" + "manualInstanceCount": { + "description": "Optional. The total number of instances in manual scaling mode.", + "format": "int32", + "type": "integer" }, - "name": { - "description": "Required. This must match the Name of a Volume.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudRunV2VpcAccess": { - "description": "VPC Access settings. For more information on sending traffic to a VPC network, visit https://cloud.google.com/run/docs/configuring/connecting-vpc.", - "id": "GoogleCloudRunV2VpcAccess", - "properties": { - "connector": { - "description": "VPC Access connector name. Format: `projects/{project}/locations/{location}/connectors/{connector}`, where `{project}` can be project id or number. For more information on sending traffic to a VPC network via a connector, visit https://cloud.google.com/run/docs/configuring/vpc-connectors.", - "type": "string" + "maxInstanceCount": { + "description": "Optional. The maximum count of instances distributed among revisions based on the specified instance split percentages.", + "format": "int32", + "type": "integer" }, - "egress": { - "description": "Optional. Traffic VPC egress settings. If not provided, it defaults to PRIVATE_RANGES_ONLY.", + "maxSurge": { + "description": "Optional. A maximum percentage of instances that will be moved in each step of traffic split changes. When set to a positive value, the server will bring up, at most, that percentage of new instances at a time before moving traffic to them. After moving traffic, the server will bring down instances of the old revision. This can reduce a spike of total active instances during changes from one revision to another but specifying how many extra instances can be brought up at a time.", + "format": "int32", + "type": "integer" + }, + "maxUnavailable": { + "description": "Optional. A maximum percentage of instances that may be unavailable during changes from one revision to another. When set to a positive value, the server may bring down instances before bringing up new instances. This can prevent a spike of total active instances during changes from one revision by reducing the pool of instances before bringing up new ones. Some requests may be slow or fail to serve during the transition.", + "format": "int32", + "type": "integer" + }, + "minInstanceCount": { + "description": "Optional. The minimum count of instances distributed among revisions based on the specified instance split percentages.", + "format": "int32", + "type": "integer" + }, + "scalingMode": { + "description": "Optional. The scaling mode for the worker pool.", "enum": [ - "VPC_EGRESS_UNSPECIFIED", - "ALL_TRAFFIC", - "PRIVATE_RANGES_ONLY" + "SCALING_MODE_UNSPECIFIED", + "AUTOMATIC", + "MANUAL" ], "enumDescriptions": [ - "Unspecified", - "All outbound traffic is routed through the VPC connector.", - "Only private IP ranges are routed through the VPC connector." + "Unspecified.", + "Automatically scale between min and max instances.", + "Scale to exactly min instances and ignore the max instances." ], "type": "string" - }, - "networkInterfaces": { - "description": "Optional. Direct VPC egress settings. Currently only single network interface is supported.", - "items": { - "$ref": "GoogleCloudRunV2NetworkInterface" - }, - "type": "array" } }, "type": "object" @@ -4068,6 +4945,13 @@ "description": "Artifacts produced by a build that should be uploaded upon successful completion of all build steps.", "id": "GoogleDevtoolsCloudbuildV1Artifacts", "properties": { + "goModules": { + "description": "Optional. A list of Go modules to be uploaded to Artifact Registry upon successful completion of all build steps. If any objects fail to be pushed, the build is marked FAILURE.", + "items": { + "$ref": "GoogleDevtoolsCloudbuildV1GoModule" + }, + "type": "array" + }, "images": { "description": "A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account's credentials. The digests of the pushed images will be stored in the Build resource's results field. If any of the images fail to be pushed, the build is marked FAILURE.", "items": { @@ -4131,6 +5015,13 @@ "readOnly": true, "type": "string" }, + "dependencies": { + "description": "Optional. Dependencies that the Cloud Build worker will fetch before executing user steps.", + "items": { + "$ref": "GoogleDevtoolsCloudbuildV1Dependency" + }, + "type": "array" + }, "failureInfo": { "$ref": "GoogleDevtoolsCloudbuildV1FailureInfo", "description": "Output only. Contains information about the build when status=FAILURE.", @@ -4374,6 +5265,10 @@ "description": "Option to specify whether or not to apply bash style string operations to the substitutions. NOTE: this is always enabled for triggered builds and cannot be overridden in the build configuration file.", "type": "boolean" }, + "enableStructuredLogging": { + "description": "Optional. Option to specify whether structured logging is enabled. If true, JSON-formatted logs are parsed as structured logs.", + "type": "boolean" + }, "env": { "description": "A list of global environment variable definitions that will exist for all build steps in this build. If a variable is defined in both globally and in a build step, the variable will use the build step value. The elements are of the form \"KEY=VALUE\" for the environment variable \"KEY\" being given the value \"VALUE\".", "items": { @@ -4455,6 +5350,10 @@ "$ref": "GoogleDevtoolsCloudbuildV1PoolOption", "description": "Optional. Specification for execution on a `WorkerPool`. See [running builds in a private pool](https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool) for more information." }, + "pubsubTopic": { + "description": "Optional. Option to specify the Pub/Sub topic to receive build status updates.", + "type": "string" + }, "requestedVerifyOption": { "description": "Requested verifiability options.", "enum": [ @@ -4481,12 +5380,14 @@ "NONE", "SHA256", "MD5", + "GO_MODULE_H1", "SHA512" ], "enumDescriptions": [ "No hash requested.", "Use a sha256 hash.", "Use a md5 hash.", + "Dirhash of a Go module's source code which is then hex-encoded.", "Use a sha512 hash." ], "type": "string" @@ -4687,6 +5588,21 @@ }, "type": "object" }, + "GoogleDevtoolsCloudbuildV1Dependency": { + "description": "A dependency that the Cloud Build worker will fetch before executing user steps.", + "id": "GoogleDevtoolsCloudbuildV1Dependency", + "properties": { + "empty": { + "description": "If set to true disable all dependency fetching (ignoring the default source as well).", + "type": "boolean" + }, + "gitSource": { + "$ref": "GoogleDevtoolsCloudbuildV1GitSourceDependency", + "description": "Represents a git repository as a build dependency." + } + }, + "type": "object" + }, "GoogleDevtoolsCloudbuildV1DeveloperConnectConfig": { "description": "This config defines the location of a source through Developer Connect.", "id": "GoogleDevtoolsCloudbuildV1DeveloperConnectConfig", @@ -4783,6 +5699,80 @@ }, "type": "object" }, + "GoogleDevtoolsCloudbuildV1GitSourceDependency": { + "description": "Represents a git repository as a build dependency.", + "id": "GoogleDevtoolsCloudbuildV1GitSourceDependency", + "properties": { + "depth": { + "description": "Optional. How much history should be fetched for the build (default 1, -1 for all history).", + "format": "int64", + "type": "string" + }, + "destPath": { + "description": "Required. Where should the files be placed on the worker.", + "type": "string" + }, + "recurseSubmodules": { + "description": "Optional. True if submodules should be fetched too (default false).", + "type": "boolean" + }, + "repository": { + "$ref": "GoogleDevtoolsCloudbuildV1GitSourceRepository", + "description": "Required. The kind of repo (url or dev connect)." + }, + "revision": { + "description": "Required. The revision that we will fetch the repo at.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsCloudbuildV1GitSourceRepository": { + "description": "A repository for a git source.", + "id": "GoogleDevtoolsCloudbuildV1GitSourceRepository", + "properties": { + "developerConnect": { + "description": "The Developer Connect Git repository link or the url that matches a repository link in the current project, formatted as `projects/*/locations/*/connections/*/gitRepositoryLink/*`", + "type": "string" + }, + "url": { + "description": "Location of the Git repository.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsCloudbuildV1GoModule": { + "description": "Go module to upload to Artifact Registry upon successful completion of all build steps. A module refers to all dependencies in a go.mod file.", + "id": "GoogleDevtoolsCloudbuildV1GoModule", + "properties": { + "modulePath": { + "description": "Optional. The Go module's \"module path\". e.g. example.com/foo/v2", + "type": "string" + }, + "moduleVersion": { + "description": "Optional. The Go module's semantic version in the form vX.Y.Z. e.g. v0.1.1 Pre-release identifiers can also be added by appending a dash and dot separated ASCII alphanumeric characters and hyphens. e.g. v0.2.3-alpha.x.12m.5", + "type": "string" + }, + "repositoryLocation": { + "description": "Optional. Location of the Artifact Registry repository. i.e. us-east1 Defaults to the build’s location.", + "type": "string" + }, + "repositoryName": { + "description": "Optional. Artifact Registry repository name. Specified Go modules will be zipped and uploaded to Artifact Registry with this location as a prefix. e.g. my-go-repo", + "type": "string" + }, + "repositoryProjectId": { + "description": "Optional. Project ID of the Artifact Registry repository. Defaults to the build project.", + "type": "string" + }, + "sourcePath": { + "description": "Optional. Source path of the go.mod file in the build's workspace. If not specified, this will default to the current directory. e.g. ~/code/go/mypackage", + "type": "string" + } + }, + "type": "object" + }, "GoogleDevtoolsCloudbuildV1Hash": { "description": "Container message for hash values.", "id": "GoogleDevtoolsCloudbuildV1Hash", @@ -4793,12 +5783,14 @@ "NONE", "SHA256", "MD5", + "GO_MODULE_H1", "SHA512" ], "enumDescriptions": [ "No hash requested.", "Use a sha256 hash.", "Use a md5 hash.", + "Dirhash of a Go module's source code which is then hex-encoded.", "Use a sha512 hash." ], "type": "string" @@ -4981,6 +5973,13 @@ }, "type": "array" }, + "goModules": { + "description": "Optional. Go module artifacts uploaded to Artifact Registry at the end of the build.", + "items": { + "$ref": "GoogleDevtoolsCloudbuildV1UploadedGoModule" + }, + "type": "array" + }, "images": { "description": "Container images that were built as a part of the build.", "items": { @@ -5211,6 +6210,26 @@ }, "type": "object" }, + "GoogleDevtoolsCloudbuildV1UploadedGoModule": { + "description": "A Go module artifact uploaded to Artifact Registry using the GoModule directive.", + "id": "GoogleDevtoolsCloudbuildV1UploadedGoModule", + "properties": { + "fileHashes": { + "$ref": "GoogleDevtoolsCloudbuildV1FileHashes", + "description": "Hash types and values of the Go Module Artifact." + }, + "pushTiming": { + "$ref": "GoogleDevtoolsCloudbuildV1TimeSpan", + "description": "Output only. Stores timing information for pushing the specified artifact.", + "readOnly": true + }, + "uri": { + "description": "URI of the uploaded artifact.", + "type": "string" + } + }, + "type": "object" + }, "GoogleDevtoolsCloudbuildV1UploadedMavenArtifact": { "description": "A Maven artifact uploaded using the MavenArtifact directive.", "id": "GoogleDevtoolsCloudbuildV1UploadedMavenArtifact", @@ -5590,25 +6609,25 @@ "id": "UtilStatusProto", "properties": { "canonicalCode": { - "description": "The canonical error code (see codes.proto) that most closely corresponds to this status. This may be missing, and in the common case of the generic space, it definitely will be.", + "description": "The canonical error code (see codes.proto) that most closely corresponds to this status. This may be missing, and in the common case of the generic space, it definitely will be. copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional int32 canonical_code = 6;", "format": "int32", "type": "integer" }, "code": { - "description": "Numeric code drawn from the space specified below. Often, this is the canonical error space, and code is drawn from google3/util/task/codes.proto", + "description": "Numeric code drawn from the space specified below. Often, this is the canonical error space, and code is drawn from google3/util/task/codes.proto copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional int32 code = 1;", "format": "int32", "type": "integer" }, "message": { - "description": "Detail message", + "description": "Detail message copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional string message = 3;", "type": "string" }, "messageSet": { "$ref": "Proto2BridgeMessageSet", - "description": "message_set associates an arbitrary proto message with the status." + "description": "message_set associates an arbitrary proto message with the status. copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional proto2.bridge.MessageSet message_set = 5;" }, "space": { - "description": "The following are usually only present when code != 0 Space to which this status belongs", + "description": "The following are usually only present when code != 0 Space to which this status belongs copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional string space = 2;", "type": "string" } }, diff --git a/discovery/googleapis/script__v1.json b/discovery/googleapis/script__v1.json index ac7ea9c08..eb21995b9 100644 --- a/discovery/googleapis/script__v1.json +++ b/discovery/googleapis/script__v1.json @@ -76,7 +76,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20240108", + "revision": "20250130", "rootUrl": "https://script.googleapis.com/", "servicePath": "", "title": "Apps Script API", @@ -854,7 +854,7 @@ "scripts": { "methods": { "run": { - "description": "Runs a function in an Apps Script project. The script project must be deployed for use with the Apps Script API and the calling application must share the same Cloud Platform project. This method requires authorization with an OAuth 2.0 token that includes at least one of the scopes listed in the [Authorization](#authorization-scopes) section; script projects that do not require authorization cannot be executed through this API. To find the correct scopes to include in the authentication token, open the script project **Overview** page and scroll down to \"Project OAuth Scopes.\" The error `403, PERMISSION_DENIED: The caller does not have permission` indicates that the Cloud Platform project used to authorize the request is not the same as the one used by the script.", + "description": "", "flatPath": "v1/scripts/{scriptId}:run", "httpMethod": "POST", "id": "script.scripts.run", diff --git a/discovery/googleapis/searchconsole__v1.json b/discovery/googleapis/searchconsole__v1.json index 424d5f1d3..fa116b1bf 100644 --- a/discovery/googleapis/searchconsole__v1.json +++ b/discovery/googleapis/searchconsole__v1.json @@ -28,7 +28,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20240708", + "revision": "20250122", "rootUrl": "https://searchconsole.googleapis.com/", "servicePath": "", "title": "Google Search Console API", @@ -1335,6 +1335,7 @@ }, "mobileUsabilityResult": { "$ref": "MobileUsabilityInspectionResult", + "deprecated": true, "description": "Result of the Mobile usability analysis." }, "richResultsResult": { diff --git a/discovery/googleapis/secretmanager__v1.json b/discovery/googleapis/secretmanager__v1.json index 0b6e683a5..e98a13afa 100644 --- a/discovery/googleapis/secretmanager__v1.json +++ b/discovery/googleapis/secretmanager__v1.json @@ -95,6 +95,66 @@ "description": "Regional Endpoint", "endpointUrl": "https://secretmanager.europe-west6.rep.googleapis.com/", "location": "europe-west6" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://secretmanager.europe-west1.rep.googleapis.com/", + "location": "europe-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://secretmanager.europe-west4.rep.googleapis.com/", + "location": "europe-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://secretmanager.us-east7.rep.googleapis.com/", + "location": "us-east7" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://secretmanager.europe-north2.rep.googleapis.com/", + "location": "europe-north2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://secretmanager.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://secretmanager.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://secretmanager.australia-southeast2.rep.googleapis.com/", + "location": "australia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://secretmanager.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://secretmanager.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://secretmanager.northamerica-northeast2.rep.googleapis.com/", + "location": "northamerica-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://secretmanager.us.rep.googleapis.com/", + "location": "us" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://secretmanager.eu.rep.googleapis.com/", + "location": "eu" } ], "icons": { @@ -107,7 +167,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241114", + "revision": "20250228", "rootUrl": "https://secretmanager.googleapis.com/", "servicePath": "", "title": "Secret Manager API", diff --git a/discovery/googleapis/securitycenter__v1.json b/discovery/googleapis/securitycenter__v1.json index 7962d9787..7fc2d77ad 100644 --- a/discovery/googleapis/securitycenter__v1.json +++ b/discovery/googleapis/securitycenter__v1.json @@ -42,7 +42,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241206", + "revision": "20250228", "rootUrl": "https://securitycenter.googleapis.com/", "servicePath": "", "title": "Security Command Center API", @@ -6044,6 +6044,20 @@ }, "type": "object" }, + "Allowed": { + "description": "Allowed IP rule.", + "id": "Allowed", + "properties": { + "ipRules": { + "description": "Optional. Optional list of allowed IP rules.", + "items": { + "$ref": "IpRule" + }, + "type": "array" + } + }, + "type": "object" + }, "Application": { "description": "Represents an application associated with a finding.", "id": "Application", @@ -6147,14 +6161,26 @@ "type": "string" }, "volumeBps": { - "description": "Total BPS (bytes per second) volume of attack.", + "deprecated": true, + "description": "Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead.", "format": "int32", "type": "integer" }, + "volumeBpsLong": { + "description": "Total BPS (bytes per second) volume of attack.", + "format": "int64", + "type": "string" + }, "volumePps": { - "description": "Total PPS (packets per second) volume of attack.", + "deprecated": true, + "description": "Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead.", "format": "int32", "type": "integer" + }, + "volumePpsLong": { + "description": "Total PPS (packets per second) volume of attack.", + "format": "int64", + "type": "string" } }, "type": "object" @@ -6792,6 +6818,7 @@ "type": "object" }, "ComplianceSnapshot": { + "deprecated": true, "description": "Result containing the properties and count of a ComplianceSnapshot request.", "id": "ComplianceSnapshot", "properties": { @@ -7317,7 +7344,7 @@ "type": "string" }, "maxRetentionAllowed": { - "description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user set the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", + "description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", "format": "google-duration", "type": "string" } @@ -7358,6 +7385,20 @@ }, "type": "object" }, + "Denied": { + "description": "Denied IP rule.", + "id": "Denied", + "properties": { + "ipRules": { + "description": "Optional. Optional list of denied IP rules.", + "items": { + "$ref": "IpRule" + }, + "type": "array" + } + }, + "type": "object" + }, "Detection": { "description": "Memory hash detection contributing to the binary family match.", "id": "Detection", @@ -7379,7 +7420,7 @@ "id": "Disk", "properties": { "name": { - "description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/project-id/zones/zone-id/disks/disk-id\".", + "description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}\".", "type": "string" } }, @@ -7866,6 +7907,14 @@ "$ref": "Indicator", "description": "Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise)." }, + "ipRules": { + "$ref": "IpRules", + "description": "IP rules associated with the finding." + }, + "job": { + "$ref": "Job", + "description": "Job associated with the finding." + }, "kernelRootkit": { "$ref": "KernelRootkit", "description": "Signature of the kernel rootkit." @@ -7931,6 +7980,13 @@ "description": "The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\", \"projects/{project_id}/sources/{source_id}/findings/{finding_id}\".", "type": "string" }, + "networks": { + "description": "Represents the VPC networks that the resource is attached to.", + "items": { + "$ref": "Network" + }, + "type": "array" + }, "nextSteps": { "description": "Steps to address the finding.", "type": "string" @@ -9109,6 +9165,20 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2Allowed": { + "description": "Allowed IP rule.", + "id": "GoogleCloudSecuritycenterV2Allowed", + "properties": { + "ipRules": { + "description": "Optional. Optional list of allowed IP rules.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2IpRule" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2Application": { "description": "Represents an application associated with a finding.", "id": "GoogleCloudSecuritycenterV2Application", @@ -9133,14 +9203,26 @@ "type": "string" }, "volumeBps": { - "description": "Total BPS (bytes per second) volume of attack.", + "deprecated": true, + "description": "Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead.", "format": "int32", "type": "integer" }, + "volumeBpsLong": { + "description": "Total BPS (bytes per second) volume of attack.", + "format": "int64", + "type": "string" + }, "volumePps": { - "description": "Total PPS (packets per second) volume of attack.", + "deprecated": true, + "description": "Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead.", "format": "int32", "type": "integer" + }, + "volumePpsLong": { + "description": "Total PPS (packets per second) volume of attack.", + "format": "int64", + "type": "string" } }, "type": "object" @@ -10028,7 +10110,7 @@ "type": "string" }, "maxRetentionAllowed": { - "description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user set the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", + "description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", "format": "google-duration", "type": "string" } @@ -10069,6 +10151,20 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2Denied": { + "description": "Denied IP rule.", + "id": "GoogleCloudSecuritycenterV2Denied", + "properties": { + "ipRules": { + "description": "Optional. Optional list of denied IP rules.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2IpRule" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2Detection": { "description": "Memory hash detection contributing to the binary family match.", "id": "GoogleCloudSecuritycenterV2Detection", @@ -10090,7 +10186,7 @@ "id": "GoogleCloudSecuritycenterV2Disk", "properties": { "name": { - "description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/project-id/zones/zone-id/disks/disk-id\".", + "description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}\".", "type": "string" } }, @@ -10462,6 +10558,14 @@ "$ref": "GoogleCloudSecuritycenterV2Indicator", "description": "Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise)." }, + "ipRules": { + "$ref": "GoogleCloudSecuritycenterV2IpRules", + "description": "IP rules associated with the finding." + }, + "job": { + "$ref": "GoogleCloudSecuritycenterV2Job", + "description": "Job associated with the finding." + }, "kernelRootkit": { "$ref": "GoogleCloudSecuritycenterV2KernelRootkit", "description": "Signature of the kernel rootkit." @@ -10527,6 +10631,13 @@ "description": "The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. The following list shows some examples: + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}` + `organizations/{organization_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}`", "type": "string" }, + "networks": { + "description": "Represents the VPC networks that the resource is attached to.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2Network" + }, + "type": "array" + }, "nextSteps": { "description": "Steps to address the finding.", "type": "string" @@ -10735,6 +10846,74 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2IpRule": { + "description": "IP rule information.", + "id": "GoogleCloudSecuritycenterV2IpRule", + "properties": { + "portRanges": { + "description": "Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2PortRange" + }, + "type": "array" + }, + "protocol": { + "description": "The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IpRules": { + "description": "IP rules associated with the finding.", + "id": "GoogleCloudSecuritycenterV2IpRules", + "properties": { + "allowed": { + "$ref": "GoogleCloudSecuritycenterV2Allowed", + "description": "Tuple with allowed rules." + }, + "denied": { + "$ref": "GoogleCloudSecuritycenterV2Denied", + "description": "Tuple with denied rules." + }, + "destinationIpRanges": { + "description": "If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.", + "items": { + "type": "string" + }, + "type": "array" + }, + "direction": { + "description": "The direction that the rule is applicable to, one of ingress or egress.", + "enum": [ + "DIRECTION_UNSPECIFIED", + "INGRESS", + "EGRESS" + ], + "enumDescriptions": [ + "Unspecified direction value.", + "Ingress direction value.", + "Egress direction value." + ], + "type": "string" + }, + "exposedServices": { + "description": "Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml.", + "items": { + "type": "string" + }, + "type": "array" + }, + "sourceIpRanges": { + "description": "If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2Issue": { "description": "Security Command Center Issue.", "id": "GoogleCloudSecuritycenterV2Issue", @@ -11132,6 +11311,45 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2Job": { + "description": "Describes a job", + "id": "GoogleCloudSecuritycenterV2Job", + "properties": { + "errorCode": { + "description": "Optional. If the job did not complete successfully, this field describes why.", + "format": "int32", + "type": "integer" + }, + "location": { + "description": "Optional. Gives the location where the job ran, such as `US` or `europe-west1`", + "type": "string" + }, + "name": { + "description": "The fully-qualified name for a job. e.g. `projects//jobs/`", + "type": "string" + }, + "state": { + "description": "Output only. State of the job, such as `RUNNING` or `PENDING`.", + "enum": [ + "JOB_STATE_UNSPECIFIED", + "PENDING", + "RUNNING", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "Unspecified represents an unknown state and should not be used.", + "Job is scheduled and pending for run", + "Job in progress", + "Job has completed with success", + "Job has completed but with failure" + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2KernelRootkit": { "description": "Kernel mode rootkit signatures.", "id": "GoogleCloudSecuritycenterV2KernelRootkit", @@ -11336,6 +11554,7 @@ "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", + "AUTOMATED_EXFILTRATION", "MASQUERADING", "MATCH_LEGITIMATE_NAME_OR_LOCATION", "BOOT_OR_LOGON_INITIALIZATION_SCRIPTS", @@ -11361,6 +11580,7 @@ "MULTI_HOP_PROXY", "ACCOUNT_MANIPULATION", "ADDITIONAL_CLOUD_CREDENTIALS", + "ADDITIONAL_CLOUD_ROLES", "SSH_AUTHORIZED_KEYS", "ADDITIONAL_CONTAINER_CLUSTER_ROLES", "INGRESS_TOOL_TRANSFER", @@ -11370,6 +11590,7 @@ "ACCESS_TOKEN_MANIPULATION", "TOKEN_IMPERSONATION_OR_THEFT", "EXPLOIT_PUBLIC_FACING_APPLICATION", + "USER_EXECUTION", "DOMAIN_POLICY_MODIFICATION", "DATA_DESTRUCTION", "SERVICE_STOP", @@ -11405,6 +11626,7 @@ ], "enumDescriptions": [ "Unspecified value.", + "T1020", "T1036", "T1036.005", "T1037", @@ -11430,6 +11652,7 @@ "T1090.003", "T1098", "T1098.001", + "T1098.003", "T1098.004", "T1098.006", "T1105", @@ -11439,6 +11662,7 @@ "T1134", "T1134.001", "T1190", + "T1204", "T1484", "T1485", "T1489", @@ -11519,6 +11743,7 @@ "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", + "AUTOMATED_EXFILTRATION", "MASQUERADING", "MATCH_LEGITIMATE_NAME_OR_LOCATION", "BOOT_OR_LOGON_INITIALIZATION_SCRIPTS", @@ -11544,6 +11769,7 @@ "MULTI_HOP_PROXY", "ACCOUNT_MANIPULATION", "ADDITIONAL_CLOUD_CREDENTIALS", + "ADDITIONAL_CLOUD_ROLES", "SSH_AUTHORIZED_KEYS", "ADDITIONAL_CONTAINER_CLUSTER_ROLES", "INGRESS_TOOL_TRANSFER", @@ -11553,6 +11779,7 @@ "ACCESS_TOKEN_MANIPULATION", "TOKEN_IMPERSONATION_OR_THEFT", "EXPLOIT_PUBLIC_FACING_APPLICATION", + "USER_EXECUTION", "DOMAIN_POLICY_MODIFICATION", "DATA_DESTRUCTION", "SERVICE_STOP", @@ -11588,6 +11815,7 @@ ], "enumDescriptions": [ "Unspecified value.", + "T1020", "T1036", "T1036.005", "T1037", @@ -11613,6 +11841,7 @@ "T1090.003", "T1098", "T1098.001", + "T1098.003", "T1098.004", "T1098.006", "T1105", @@ -11622,6 +11851,7 @@ "T1134", "T1134.001", "T1190", + "T1204", "T1484", "T1485", "T1489", @@ -11739,6 +11969,17 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2Network": { + "description": "Contains information about a VPC network associated with the finding.", + "id": "GoogleCloudSecuritycenterV2Network", + "properties": { + "name": { + "description": "The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2Node": { "description": "Kubernetes nodes associated with the finding.", "id": "GoogleCloudSecuritycenterV2Node", @@ -11846,7 +12087,7 @@ "id": "GoogleCloudSecuritycenterV2OrgPolicy", "properties": { "name": { - "description": "The resource name of the org policy. Example: \"organizations/{organization_id}/policies/{constraint_name}\"", + "description": "Identifier. The resource name of the org policy. Example: \"organizations/{organization_id}/policies/{constraint_name}\"", "type": "string" } }, @@ -11923,6 +12164,23 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2PortRange": { + "description": "A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port.", + "id": "GoogleCloudSecuritycenterV2PortRange", + "properties": { + "max": { + "description": "Maximum port value.", + "format": "int64", + "type": "string" + }, + "min": { + "description": "Minimum port value.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2Process": { "description": "Represents an operating system process.", "id": "GoogleCloudSecuritycenterV2Process", @@ -12836,6 +13094,113 @@ }, "type": "object" }, + "IpRule": { + "description": "IP rule information.", + "id": "IpRule", + "properties": { + "portRanges": { + "description": "Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number.", + "items": { + "$ref": "PortRange" + }, + "type": "array" + }, + "protocol": { + "description": "The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value.", + "type": "string" + } + }, + "type": "object" + }, + "IpRules": { + "description": "IP rules associated with the finding.", + "id": "IpRules", + "properties": { + "allowed": { + "$ref": "Allowed", + "description": "Tuple with allowed rules." + }, + "denied": { + "$ref": "Denied", + "description": "Tuple with denied rules." + }, + "destinationIpRanges": { + "description": "If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.", + "items": { + "type": "string" + }, + "type": "array" + }, + "direction": { + "description": "The direction that the rule is applicable to, one of ingress or egress.", + "enum": [ + "DIRECTION_UNSPECIFIED", + "INGRESS", + "EGRESS" + ], + "enumDescriptions": [ + "Unspecified direction value.", + "Ingress direction value.", + "Egress direction value." + ], + "type": "string" + }, + "exposedServices": { + "description": "Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml.", + "items": { + "type": "string" + }, + "type": "array" + }, + "sourceIpRanges": { + "description": "If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Job": { + "description": "Describes a job", + "id": "Job", + "properties": { + "errorCode": { + "description": "Optional. If the job did not complete successfully, this field describes why.", + "format": "int32", + "type": "integer" + }, + "location": { + "description": "Optional. Gives the location where the job ran, such as `US` or `europe-west1`", + "type": "string" + }, + "name": { + "description": "The fully-qualified name for a job. e.g. `projects//jobs/`", + "type": "string" + }, + "state": { + "description": "Output only. State of the job, such as `RUNNING` or `PENDING`.", + "enum": [ + "JOB_STATE_UNSPECIFIED", + "PENDING", + "RUNNING", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "Unspecified represents an unknown state and should not be used.", + "Job is scheduled and pending for run", + "Job in progress", + "Job has completed with success", + "Job has completed but with failure" + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "KernelRootkit": { "description": "Kernel mode rootkit signatures.", "id": "KernelRootkit", @@ -13414,6 +13779,7 @@ "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", + "AUTOMATED_EXFILTRATION", "MASQUERADING", "MATCH_LEGITIMATE_NAME_OR_LOCATION", "BOOT_OR_LOGON_INITIALIZATION_SCRIPTS", @@ -13439,6 +13805,7 @@ "MULTI_HOP_PROXY", "ACCOUNT_MANIPULATION", "ADDITIONAL_CLOUD_CREDENTIALS", + "ADDITIONAL_CLOUD_ROLES", "SSH_AUTHORIZED_KEYS", "ADDITIONAL_CONTAINER_CLUSTER_ROLES", "INGRESS_TOOL_TRANSFER", @@ -13448,6 +13815,7 @@ "ACCESS_TOKEN_MANIPULATION", "TOKEN_IMPERSONATION_OR_THEFT", "EXPLOIT_PUBLIC_FACING_APPLICATION", + "USER_EXECUTION", "DOMAIN_POLICY_MODIFICATION", "DATA_DESTRUCTION", "SERVICE_STOP", @@ -13483,6 +13851,7 @@ ], "enumDescriptions": [ "Unspecified value.", + "T1020", "T1036", "T1036.005", "T1037", @@ -13508,6 +13877,7 @@ "T1090.003", "T1098", "T1098.001", + "T1098.003", "T1098.004", "T1098.006", "T1105", @@ -13517,6 +13887,7 @@ "T1134", "T1134.001", "T1190", + "T1204", "T1484", "T1485", "T1489", @@ -13597,6 +13968,7 @@ "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", + "AUTOMATED_EXFILTRATION", "MASQUERADING", "MATCH_LEGITIMATE_NAME_OR_LOCATION", "BOOT_OR_LOGON_INITIALIZATION_SCRIPTS", @@ -13622,6 +13994,7 @@ "MULTI_HOP_PROXY", "ACCOUNT_MANIPULATION", "ADDITIONAL_CLOUD_CREDENTIALS", + "ADDITIONAL_CLOUD_ROLES", "SSH_AUTHORIZED_KEYS", "ADDITIONAL_CONTAINER_CLUSTER_ROLES", "INGRESS_TOOL_TRANSFER", @@ -13631,6 +14004,7 @@ "ACCESS_TOKEN_MANIPULATION", "TOKEN_IMPERSONATION_OR_THEFT", "EXPLOIT_PUBLIC_FACING_APPLICATION", + "USER_EXECUTION", "DOMAIN_POLICY_MODIFICATION", "DATA_DESTRUCTION", "SERVICE_STOP", @@ -13666,6 +14040,7 @@ ], "enumDescriptions": [ "Unspecified value.", + "T1020", "T1036", "T1036.005", "T1037", @@ -13691,6 +14066,7 @@ "T1090.003", "T1098", "T1098.001", + "T1098.003", "T1098.004", "T1098.006", "T1105", @@ -13700,6 +14076,7 @@ "T1134", "T1134.001", "T1190", + "T1204", "T1484", "T1485", "T1489", @@ -13762,6 +14139,17 @@ }, "type": "object" }, + "Network": { + "description": "Contains information about a VPC network associated with the finding.", + "id": "Network", + "properties": { + "name": { + "description": "The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`.", + "type": "string" + } + }, + "type": "object" + }, "Node": { "description": "Kubernetes nodes associated with the finding.", "id": "Node", @@ -14059,6 +14447,23 @@ }, "type": "object" }, + "PortRange": { + "description": "A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port.", + "id": "PortRange", + "properties": { + "max": { + "description": "Maximum port value.", + "format": "int64", + "type": "string" + }, + "min": { + "description": "Minimum port value.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "Position": { "description": "A position in the uploaded text version of a module.", "id": "Position", diff --git a/discovery/googleapis/securityposture__v1.json b/discovery/googleapis/securityposture__v1.json index 13293a6c9..619875809 100644 --- a/discovery/googleapis/securityposture__v1.json +++ b/discovery/googleapis/securityposture__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241212", + "revision": "20250226", "rootUrl": "https://securityposture.googleapis.com/", "servicePath": "", "title": "Security Posture API", @@ -1164,12 +1164,12 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Optional. Required for GMCs if parameters defined in constraints. Pass parameter values when policy enforcement is enabled. Ensure that parameter value types match those defined in the constraint definition. For example: { \"allowedLocations\" : [\"us-east1\", \"us-west1\"], \"allowAll\" : true }", + "description": "Optional. Required for managed constraints if parameters are defined. Passes parameter values when policy enforcement is enabled. Ensure that parameter value types match those defined in the constraint definition. For example: { \"allowedLocations\" : [\"us-east1\", \"us-west1\"], \"allowAll\" : true }", "type": "object" }, "resourceTypes": { "$ref": "ResourceTypes", - "description": "Optional. The resource types policy can support, only used for Google managed constraint and method type is GOVERN_TAGS." + "description": "Optional. The resource types policies can support, only used for managed constraints. Method type is `GOVERN_TAGS`." }, "values": { "$ref": "GoogleCloudSecuritypostureV1PolicyRuleStringValues", @@ -1982,11 +1982,11 @@ "type": "object" }, "ResourceTypes": { - "description": "Set multiple resource types for one policy, eg: resourceTypes: included: - compute.googleapis.com/Instance - compute.googleapis.com/Disk Constraint definition contains an empty resource type in order to support multiple resource types in the policy. Only support Google managed constriaint and method type is GOVERN_TAGS Refer go/multi-resource-support-force-tags-gmc to get more details.", + "description": "Set multiple resource types for one policy, for example: resourceTypes: included: - compute.googleapis.com/Instance - compute.googleapis.com/Disk Constraint definition contains an empty resource type in order to support multiple resource types in the policy. Only supports managed constraints. Method type is `GOVERN_TAGS`. Refer go/multi-resource-support-force-tags-gmc to get more details.", "id": "ResourceTypes", "properties": { "included": { - "description": "Optional. The resource type we currently support. cloud/orgpolicy/customconstraintconfig/prod/resource_types.prototext", + "description": "Optional. The resource types we currently support. cloud/orgpolicy/customconstraintconfig/prod/resource_types.prototext", "items": { "type": "string" }, diff --git a/discovery/googleapis/serviceconsumermanagement__v1.json b/discovery/googleapis/serviceconsumermanagement__v1.json index 0c5a43080..de88ae606 100644 --- a/discovery/googleapis/serviceconsumermanagement__v1.json +++ b/discovery/googleapis/serviceconsumermanagement__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241210", + "revision": "20250227", "rootUrl": "https://serviceconsumermanagement.googleapis.com/", "servicePath": "", "title": "Service Consumer Management API", @@ -631,6 +631,25 @@ }, "type": "object" }, + "Aspect": { + "description": "Aspect represents Generic aspect. It is used to configure an aspect without making direct changes to service.proto", + "id": "Aspect", + "properties": { + "kind": { + "description": "The type of this aspect configuration.", + "type": "string" + }, + "spec": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Content of the configuration. The underlying schema should be defined by Aspect owners as protobuf message under `apiserving/configaspects/proto`.", + "type": "object" + } + }, + "type": "object" + }, "AttachTenantProjectRequest": { "description": "Request to attach an existing project to the tenancy unit as a new tenant resource.", "id": "AttachTenantProjectRequest", @@ -781,6 +800,10 @@ "description": "The JWT audience is used when generating a JWT ID token for the backend. This ID token will be added in the HTTP \"authorization\" header, and sent to the backend.", "type": "string" }, + "loadBalancingPolicy": { + "description": "The load balancing policy used for connection to the application backend. Defined as an arbitrary string to accomondate custom load balancing policies supported by the underlying channel, but suggest most users use one of the standard policies, such as the default, \"RoundRobin\".", + "type": "string" + }, "minDeadline": { "deprecated": true, "description": "Deprecated, do not use.", @@ -1162,7 +1185,7 @@ "type": "array" }, "sectionOverrides": { - "description": "Specifies section and content to override boilerplate content provided by go/api-docgen. Currently overrides following sections: 1. rest.service.client_libraries", + "description": "Specifies section and content to override the boilerplate content. Currently overrides following sections: 1. rest.service.client_libraries", "items": { "$ref": "Page" }, @@ -1192,7 +1215,7 @@ "type": "string" }, "disableReplacementWords": { - "description": "String of comma or space separated case-sensitive words for which method/field name replacement will be disabled by go/api-docgen.", + "description": "String of comma or space separated case-sensitive words for which method/field name replacement will be disabled.", "type": "string" }, "selector": { @@ -1361,6 +1384,10 @@ "restAsyncIoEnabled": { "description": "Enables generation of asynchronous REST clients if `rest` transport is enabled. By default, asynchronous REST clients will not be generated. This feature will be enabled by default 1 month after launching the feature in preview packages.", "type": "boolean" + }, + "unversionedPackageDisabled": { + "description": "Disables generation of an unversioned Python package for this client library. This means that the module names will need to be versioned in import statements. For example `import google.cloud.library_v2` instead of `import google.cloud.library`.", + "type": "boolean" } }, "type": "object" @@ -2242,7 +2269,7 @@ "id": "Page", "properties": { "content": { - "description": "The Markdown content of the page. You can use (== include {path} ==) to include content from a Markdown file. The content can be used to produce the documentation page such as HTML format page.", + "description": "The Markdown content of the page. You can use ```(== include {path} ==)``` to include content from a Markdown file. The content can be used to produce the documentation page such as HTML format page.", "type": "string" }, "name": { @@ -2502,6 +2529,10 @@ "description": "This message is used to configure the generation of a subset of the RPCs in a service for client libraries.", "id": "SelectiveGapicGeneration", "properties": { + "generateOmittedAsInternal": { + "description": "Setting this to true indicates to the client generators that methods that would be excluded from the generation should instead be generated in a way that indicates these methods should not be consumed by end users. How this is expressed is up to individual language implementations to decide. Some examples may be: added annotations, obfuscated identifiers, or other language idiomatic patterns.", + "type": "boolean" + }, "methods": { "description": "An allowlist of the fully qualified names of RPCs that should be included on public client surfaces.", "items": { @@ -2523,6 +2554,13 @@ }, "type": "array" }, + "aspects": { + "description": "Configuration aspects. This is a repeated field to allow multiple aspects to be configured. The kind field in each ConfigAspect specifies the type of aspect. The spec field contains the configuration for that aspect. The schema for the spec field is defined by the backend service owners.", + "items": { + "$ref": "Aspect" + }, + "type": "array" + }, "authentication": { "$ref": "Authentication", "description": "Auth configuration." @@ -2993,11 +3031,11 @@ "type": "object" }, "UsageRule": { - "description": "Usage configuration rules for the service. NOTE: Under development. Use this rule to configure unregistered calls for the service. Unregistered calls are calls that do not contain consumer project identity. (Example: calls that do not contain an API key). By default, API methods do not allow unregistered calls, and each method call must be identified by a consumer project identity. Use this rule to allow/disallow unregistered calls. Example of an API that wants to allow unregistered calls for entire service. usage: rules: - selector: \"*\" allow_unregistered_calls: true Example of a method that wants to allow unregistered calls. usage: rules: - selector: \"google.example.library.v1.LibraryService.CreateBook\" allow_unregistered_calls: true", + "description": "Usage configuration rules for the service.", "id": "UsageRule", "properties": { "allowUnregisteredCalls": { - "description": "If true, the selected method allows unregistered calls, e.g. calls that don't identify any user or application.", + "description": " Use this rule to configure unregistered calls for the service. Unregistered calls are calls that do not contain consumer project identity. (Example: calls that do not contain an API key). WARNING: By default, API methods do not allow unregistered calls, and each method call must be identified by a consumer project identity.", "type": "boolean" }, "selector": { diff --git a/discovery/googleapis/servicecontrol__v1.json b/discovery/googleapis/servicecontrol__v1.json index 8a79e1331..3917eaeae 100644 --- a/discovery/googleapis/servicecontrol__v1.json +++ b/discovery/googleapis/servicecontrol__v1.json @@ -28,7 +28,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20240802", + "revision": "20250124", "rootUrl": "https://servicecontrol.googleapis.com/", "servicePath": "", "title": "Service Control API", @@ -291,7 +291,7 @@ "additionalProperties": { "$ref": "AttributeValue" }, - "description": "The set of attributes. Each attribute's key can be up to 128 bytes long. The value can be a string up to 256 bytes, a signed 64-bit integer, or the Boolean values `true` and `false`. For example: \"/instance_id\": \"my-instance\" \"/http/user_agent\": \"\" \"/http/request_bytes\": 300 \"abc.com/myattribute\": true", + "description": "The set of attributes. Each attribute's key can be up to 128 bytes long. The value can be a string up to 256 bytes, a signed 64-bit integer, or the Boolean values `true` and `false`. For example: \"/instance_id\": \"my-instance\" \"/http/user_agent\": \"\" \"/http/request_bytes\": 300 \"example.com/myattribute\": true", "type": "object" }, "droppedAttributesCount": { @@ -420,10 +420,6 @@ "description": "Structured claims presented with the credential. JWTs include `{key: value}` pairs for standard and private claims. The following is a subset of the standard required and optional claims that would typically be presented for a Google-based JWT: {'iss': 'accounts.google.com', 'sub': '113289723416554971153', 'aud': ['123456789012', 'pubsub.googleapis.com'], 'azp': '123456789012.apps.googleusercontent.com', 'email': 'jsmith@example.com', 'iat': 1353601026, 'exp': 1353604926} SAML assertions are similarly specified, but with an identity provider dependent structure.", "type": "object" }, - "credentialId": { - "description": "Identifies the client credential id used for authentication. credential_id is in the format of AUTH_METHOD:IDENTIFIER, e.g. \"serviceaccount:XXXXX, apikey:XXXXX\" where the format of the IDENTIFIER can vary for different AUTH_METHODs.", - "type": "string" - }, "presenter": { "description": "The authorized presenter of the credential. Reflects the optional Authorized Presenter (`azp`) claim within a JWT or the OAuth client id. For example, a Google Cloud Platform client id looks as follows: \"123456789012.apps.googleusercontent.com\".", "type": "string" @@ -598,7 +594,7 @@ "The backend server for checking quota limits is unavailable.", "The Spanner for looking up LOAS project is unavailable.", "Cloud Resource Manager backend server is unavailable.", - "NOTE: for customers in the scope of Beta/GA of https://cloud.google.com/vpc-service-controls, this error is no longer returned. If the security backend is unavailable, rpc UNAVAILABLE status will be returned instead. It should be ignored and should not be used to reject client requests.", + "NOTE: for customers in the scope of Beta/GA of https://cloud.google.com/vpc-service-controls, this error is no longer returned. If the security backend is unavailable: For Fail open requests, error is ignored and request is allowed. For Fail close requests, rpc UNAVAILABLE status will be returned instead. It should be ignored and should not be used to reject client requests.", "Backend server for evaluating location policy is unavailable.", "Part of the project of fault injection: go/chemist-slo-validation. To distinguish between artificially injected errors and organic ones, this value will be exported for the per_service_check_error_count streamz. http://google3/apiserving/servicecontrol/server/controller_service.cc;l=196 Rpcinjectz2 works by injecting errors early in the rpc life cycle, before any of the chemist business logic runs." ], @@ -907,7 +903,7 @@ "type": "string" }, "referer": { - "description": "The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).", + "description": "The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).", "type": "string" }, "remoteIp": { @@ -1598,6 +1594,10 @@ "description": "The HTTP request method, such as `GET`, `POST`.", "type": "string" }, + "origin": { + "description": "The values from Origin header from the HTTP request, such as \"https://console.cloud.google.com\". Modern browsers can only have one origin. Special browsers and/or HTTP clients may require multiple origins.", + "type": "string" + }, "path": { "description": "The HTTP URL path, excluding the query parameters.", "type": "string" @@ -1996,7 +1996,7 @@ "type": "string" }, "referer": { - "description": "The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).", + "description": "The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).", "type": "string" }, "remoteIp": { diff --git a/discovery/googleapis/servicecontrol__v2.json b/discovery/googleapis/servicecontrol__v2.json index 8bbcbdfd9..034aa5faa 100644 --- a/discovery/googleapis/servicecontrol__v2.json +++ b/discovery/googleapis/servicecontrol__v2.json @@ -28,7 +28,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241205", + "revision": "20250124", "rootUrl": "https://servicecontrol.googleapis.com/", "servicePath": "", "title": "Service Control API", @@ -361,10 +361,6 @@ "description": "Structured claims presented with the credential. JWTs include `{key: value}` pairs for standard and private claims. The following is a subset of the standard required and optional claims that would typically be presented for a Google-based JWT: {'iss': 'accounts.google.com', 'sub': '113289723416554971153', 'aud': ['123456789012', 'pubsub.googleapis.com'], 'azp': '123456789012.apps.googleusercontent.com', 'email': 'jsmith@example.com', 'iat': 1353601026, 'exp': 1353604926} SAML assertions are similarly specified, but with an identity provider dependent structure.", "type": "object" }, - "credentialId": { - "description": "Identifies the client credential id used for authentication. credential_id is in the format of AUTH_METHOD:IDENTIFIER, e.g. \"serviceaccount:XXXXX, apikey:XXXXX\" where the format of the IDENTIFIER can vary for different AUTH_METHODs.", - "type": "string" - }, "presenter": { "description": "The authorized presenter of the credential. Reflects the optional Authorized Presenter (`azp`) claim within a JWT or the OAuth client id. For example, a Google Cloud Platform client id looks as follows: \"123456789012.apps.googleusercontent.com\".", "type": "string" @@ -667,6 +663,10 @@ "description": "The HTTP request method, such as `GET`, `POST`.", "type": "string" }, + "origin": { + "description": "The values from Origin header from the HTTP request, such as \"https://console.cloud.google.com\". Modern browsers can only have one origin. Special browsers and/or HTTP clients may require multiple origins.", + "type": "string" + }, "path": { "description": "The HTTP URL path, excluding the query parameters.", "type": "string" @@ -1017,7 +1017,7 @@ "type": "string" }, "referer": { - "description": "The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).", + "description": "The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).", "type": "string" }, "remoteIp": { diff --git a/discovery/googleapis/servicemanagement__v1.json b/discovery/googleapis/servicemanagement__v1.json index 26213dc54..f33700d1b 100644 --- a/discovery/googleapis/servicemanagement__v1.json +++ b/discovery/googleapis/servicemanagement__v1.json @@ -34,7 +34,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241202", + "revision": "20250228", "rootUrl": "https://servicemanagement.googleapis.com/", "servicePath": "", "title": "Service Management API", @@ -899,6 +899,25 @@ }, "type": "object" }, + "Aspect": { + "description": "Aspect represents Generic aspect. It is used to configure an aspect without making direct changes to service.proto", + "id": "Aspect", + "properties": { + "kind": { + "description": "The type of this aspect configuration.", + "type": "string" + }, + "spec": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Content of the configuration. The underlying schema should be defined by Aspect owners as protobuf message under `apiserving/configaspects/proto`.", + "type": "object" + } + }, + "type": "object" + }, "AuditConfig": { "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", "id": "AuditConfig", @@ -1078,6 +1097,10 @@ "description": "The JWT audience is used when generating a JWT ID token for the backend. This ID token will be added in the HTTP \"authorization\" header, and sent to the backend.", "type": "string" }, + "loadBalancingPolicy": { + "description": "The load balancing policy used for connection to the application backend. Defined as an arbitrary string to accomondate custom load balancing policies supported by the underlying channel, but suggest most users use one of the standard policies, such as the default, \"RoundRobin\".", + "type": "string" + }, "minDeadline": { "deprecated": true, "description": "Deprecated, do not use.", @@ -1596,7 +1619,7 @@ "type": "array" }, "sectionOverrides": { - "description": "Specifies section and content to override boilerplate content provided by go/api-docgen. Currently overrides following sections: 1. rest.service.client_libraries", + "description": "Specifies section and content to override the boilerplate content. Currently overrides following sections: 1. rest.service.client_libraries", "items": { "$ref": "Page" }, @@ -1626,7 +1649,7 @@ "type": "string" }, "disableReplacementWords": { - "description": "String of comma or space separated case-sensitive words for which method/field name replacement will be disabled by go/api-docgen.", + "description": "String of comma or space separated case-sensitive words for which method/field name replacement will be disabled.", "type": "string" }, "selector": { @@ -1795,6 +1818,10 @@ "restAsyncIoEnabled": { "description": "Enables generation of asynchronous REST clients if `rest` transport is enabled. By default, asynchronous REST clients will not be generated. This feature will be enabled by default 1 month after launching the feature in preview packages.", "type": "boolean" + }, + "unversionedPackageDisabled": { + "description": "Disables generation of an unversioned Python package for this client library. This means that the module names will need to be versioned in import statements. For example `import google.cloud.library_v2` instead of `import google.cloud.library`.", + "type": "boolean" } }, "type": "object" @@ -2886,7 +2913,7 @@ "id": "Page", "properties": { "content": { - "description": "The Markdown content of the page. You can use (== include {path} ==) to include content from a Markdown file. The content can be used to produce the documentation page such as HTML format page.", + "description": "The Markdown content of the page. You can use ```(== include {path} ==)``` to include content from a Markdown file. The content can be used to produce the documentation page such as HTML format page.", "type": "string" }, "name": { @@ -3199,6 +3226,10 @@ "description": "This message is used to configure the generation of a subset of the RPCs in a service for client libraries.", "id": "SelectiveGapicGeneration", "properties": { + "generateOmittedAsInternal": { + "description": "Setting this to true indicates to the client generators that methods that would be excluded from the generation should instead be generated in a way that indicates these methods should not be consumed by end users. How this is expressed is up to individual language implementations to decide. Some examples may be: added annotations, obfuscated identifiers, or other language idiomatic patterns.", + "type": "boolean" + }, "methods": { "description": "An allowlist of the fully qualified names of RPCs that should be included on public client surfaces.", "items": { @@ -3220,6 +3251,13 @@ }, "type": "array" }, + "aspects": { + "description": "Configuration aspects. This is a repeated field to allow multiple aspects to be configured. The kind field in each ConfigAspect specifies the type of aspect. The spec field contains the configuration for that aspect. The schema for the spec field is defined by the backend service owners.", + "items": { + "$ref": "Aspect" + }, + "type": "array" + }, "authentication": { "$ref": "Authentication", "description": "Auth configuration." @@ -3667,11 +3705,11 @@ "type": "object" }, "UsageRule": { - "description": "Usage configuration rules for the service. NOTE: Under development. Use this rule to configure unregistered calls for the service. Unregistered calls are calls that do not contain consumer project identity. (Example: calls that do not contain an API key). By default, API methods do not allow unregistered calls, and each method call must be identified by a consumer project identity. Use this rule to allow/disallow unregistered calls. Example of an API that wants to allow unregistered calls for entire service. usage: rules: - selector: \"*\" allow_unregistered_calls: true Example of a method that wants to allow unregistered calls. usage: rules: - selector: \"google.example.library.v1.LibraryService.CreateBook\" allow_unregistered_calls: true", + "description": "Usage configuration rules for the service.", "id": "UsageRule", "properties": { "allowUnregisteredCalls": { - "description": "If true, the selected method allows unregistered calls, e.g. calls that don't identify any user or application.", + "description": " Use this rule to configure unregistered calls for the service. Unregistered calls are calls that do not contain consumer project identity. (Example: calls that do not contain an API key). WARNING: By default, API methods do not allow unregistered calls, and each method call must be identified by a consumer project identity.", "type": "boolean" }, "selector": { diff --git a/discovery/googleapis/servicenetworking__v1.json b/discovery/googleapis/servicenetworking__v1.json index b6bd70da5..c330c87ed 100644 --- a/discovery/googleapis/servicenetworking__v1.json +++ b/discovery/googleapis/servicenetworking__v1.json @@ -28,7 +28,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241212", + "revision": "20250302", "rootUrl": "https://servicenetworking.googleapis.com/", "servicePath": "", "title": "Service Networking API", @@ -862,7 +862,7 @@ ], "parameters": { "name": { - "description": "Required. The network that the consumer is using to connect with services. Must be in the form of services/{service}/projects/{project}/global/networks/{network}/zones/{zoneName} Where {service} is the peering service that is managing connectivity for the service producer's organization. For Google services that support this {project} is the project number, as in '12345' {network} is the network name. {zoneName} is the DNS zone name", + "description": "Required. The network that the consumer is using to connect with services. Must be in the form of services/{service}/projects/{project}/global/networks/{network}/dnsZones/{zoneName} Where {service} is the peering service that is managing connectivity for the service producer's organization. For Google services that support this {project} is the project number, as in '12345' {network} is the network name. {zoneName} is the DNS zone name", "location": "path", "pattern": "^services/[^/]+/projects/[^/]+/global/networks/[^/]+/dnsZones/[^/]+$", "required": true, @@ -1289,6 +1289,25 @@ }, "type": "object" }, + "Aspect": { + "description": "Aspect represents Generic aspect. It is used to configure an aspect without making direct changes to service.proto", + "id": "Aspect", + "properties": { + "kind": { + "description": "The type of this aspect configuration.", + "type": "string" + }, + "spec": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Content of the configuration. The underlying schema should be defined by Aspect owners as protobuf message under `apiserving/configaspects/proto`.", + "type": "object" + } + }, + "type": "object" + }, "AuthProvider": { "description": "Configuration for an authentication provider, including support for [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).", "id": "AuthProvider", @@ -1420,6 +1439,10 @@ "description": "The JWT audience is used when generating a JWT ID token for the backend. This ID token will be added in the HTTP \"authorization\" header, and sent to the backend.", "type": "string" }, + "loadBalancingPolicy": { + "description": "The load balancing policy used for connection to the application backend. Defined as an arbitrary string to accomondate custom load balancing policies supported by the underlying channel, but suggest most users use one of the standard policies, such as the default, \"RoundRobin\".", + "type": "string" + }, "minDeadline": { "deprecated": true, "description": "Deprecated, do not use.", @@ -1997,7 +2020,7 @@ "type": "array" }, "sectionOverrides": { - "description": "Specifies section and content to override boilerplate content provided by go/api-docgen. Currently overrides following sections: 1. rest.service.client_libraries", + "description": "Specifies section and content to override the boilerplate content. Currently overrides following sections: 1. rest.service.client_libraries", "items": { "$ref": "Page" }, @@ -2027,7 +2050,7 @@ "type": "string" }, "disableReplacementWords": { - "description": "String of comma or space separated case-sensitive words for which method/field name replacement will be disabled by go/api-docgen.", + "description": "String of comma or space separated case-sensitive words for which method/field name replacement will be disabled.", "type": "string" }, "selector": { @@ -2207,6 +2230,10 @@ "restAsyncIoEnabled": { "description": "Enables generation of asynchronous REST clients if `rest` transport is enabled. By default, asynchronous REST clients will not be generated. This feature will be enabled by default 1 month after launching the feature in preview packages.", "type": "boolean" + }, + "unversionedPackageDisabled": { + "description": "Disables generation of an unversioned Python package for this client library. This means that the module names will need to be versioned in import statements. For example `import google.cloud.library_v2` instead of `import google.cloud.library`.", + "type": "boolean" } }, "type": "object" @@ -3210,7 +3237,7 @@ "id": "Page", "properties": { "content": { - "description": "The Markdown content of the page. You can use (== include {path} ==) to include content from a Markdown file. The content can be used to produce the documentation page such as HTML format page.", + "description": "The Markdown content of the page. You can use ```(== include {path} ==)``` to include content from a Markdown file. The content can be used to produce the documentation page such as HTML format page.", "type": "string" }, "name": { @@ -3648,6 +3675,10 @@ "description": "This message is used to configure the generation of a subset of the RPCs in a service for client libraries.", "id": "SelectiveGapicGeneration", "properties": { + "generateOmittedAsInternal": { + "description": "Setting this to true indicates to the client generators that methods that would be excluded from the generation should instead be generated in a way that indicates these methods should not be consumed by end users. How this is expressed is up to individual language implementations to decide. Some examples may be: added annotations, obfuscated identifiers, or other language idiomatic patterns.", + "type": "boolean" + }, "methods": { "description": "An allowlist of the fully qualified names of RPCs that should be included on public client surfaces.", "items": { @@ -3669,6 +3700,13 @@ }, "type": "array" }, + "aspects": { + "description": "Configuration aspects. This is a repeated field to allow multiple aspects to be configured. The kind field in each ConfigAspect specifies the type of aspect. The spec field contains the configuration for that aspect. The schema for the spec field is defined by the backend service owners.", + "items": { + "$ref": "Aspect" + }, + "type": "array" + }, "authentication": { "$ref": "Authentication", "description": "Auth configuration." @@ -4063,11 +4101,11 @@ "type": "object" }, "UsageRule": { - "description": "Usage configuration rules for the service. NOTE: Under development. Use this rule to configure unregistered calls for the service. Unregistered calls are calls that do not contain consumer project identity. (Example: calls that do not contain an API key). By default, API methods do not allow unregistered calls, and each method call must be identified by a consumer project identity. Use this rule to allow/disallow unregistered calls. Example of an API that wants to allow unregistered calls for entire service. usage: rules: - selector: \"*\" allow_unregistered_calls: true Example of a method that wants to allow unregistered calls. usage: rules: - selector: \"google.example.library.v1.LibraryService.CreateBook\" allow_unregistered_calls: true", + "description": "Usage configuration rules for the service.", "id": "UsageRule", "properties": { "allowUnregisteredCalls": { - "description": "If true, the selected method allows unregistered calls, e.g. calls that don't identify any user or application.", + "description": " Use this rule to configure unregistered calls for the service. Unregistered calls are calls that do not contain consumer project identity. (Example: calls that do not contain an API key). WARNING: By default, API methods do not allow unregistered calls, and each method call must be identified by a consumer project identity.", "type": "boolean" }, "selector": { @@ -4138,7 +4176,8 @@ "RANGES_NOT_RESERVED", "RANGES_DELETED_LATER", "COMPUTE_API_NOT_ENABLED", - "USE_PERMISSION_NOT_FOUND" + "USE_PERMISSION_NOT_FOUND", + "SN_SERVICE_AGENT_PERMISSION_DENIED_ON_CONSUMER_PROJECT" ], "enumDescriptions": [ "", @@ -4155,7 +4194,8 @@ "The IP ranges were not reserved.", "The IP ranges were reserved but deleted later.", "The consumer project does not have the compute api enabled.", - "The consumer project does not have the permission from the host project." + "The consumer project does not have the permission from the host project.", + "The SN service agent {service-@service-networking.iam.gserviceaccount.com} does not have the SN service agent role on the consumer project." ], "type": "string" } diff --git a/discovery/googleapis/serviceusage__v1.json b/discovery/googleapis/serviceusage__v1.json index e08d9e768..0f5fafdae 100644 --- a/discovery/googleapis/serviceusage__v1.json +++ b/discovery/googleapis/serviceusage__v1.json @@ -31,7 +31,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241205", + "revision": "20250227", "rootUrl": "https://serviceusage.googleapis.com/", "servicePath": "", "title": "Service Usage API", @@ -504,12 +504,14 @@ "enum": [ "ANALYSIS_TYPE_UNSPECIFIED", "ANALYSIS_TYPE_DEPENDENCY", - "ANALYSIS_TYPE_RESOURCE_USAGE" + "ANALYSIS_TYPE_RESOURCE_USAGE", + "ANALYSIS_TYPE_RESOURCE_EXISTENCE" ], "enumDescriptions": [ "Unspecified analysis type. Do not use.", "The analysis of service dependencies.", - "The analysis of service resource usage." + "The analysis of service resource usage.", + "The analysis of service resource existence." ], "readOnly": true, "type": "string" @@ -621,6 +623,25 @@ }, "type": "object" }, + "Aspect": { + "description": "Aspect represents Generic aspect. It is used to configure an aspect without making direct changes to service.proto", + "id": "Aspect", + "properties": { + "kind": { + "description": "The type of this aspect configuration.", + "type": "string" + }, + "spec": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Content of the configuration. The underlying schema should be defined by Aspect owners as protobuf message under `apiserving/configaspects/proto`.", + "type": "object" + } + }, + "type": "object" + }, "AuthProvider": { "description": "Configuration for an authentication provider, including support for [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).", "id": "AuthProvider", @@ -752,6 +773,10 @@ "description": "The JWT audience is used when generating a JWT ID token for the backend. This ID token will be added in the HTTP \"authorization\" header, and sent to the backend.", "type": "string" }, + "loadBalancingPolicy": { + "description": "The load balancing policy used for connection to the application backend. Defined as an arbitrary string to accomondate custom load balancing policies supported by the underlying channel, but suggest most users use one of the standard policies, such as the default, \"RoundRobin\".", + "type": "string" + }, "minDeadline": { "deprecated": true, "description": "Deprecated, do not use.", @@ -1260,7 +1285,7 @@ "type": "array" }, "sectionOverrides": { - "description": "Specifies section and content to override boilerplate content provided by go/api-docgen. Currently overrides following sections: 1. rest.service.client_libraries", + "description": "Specifies section and content to override the boilerplate content. Currently overrides following sections: 1. rest.service.client_libraries", "items": { "$ref": "Page" }, @@ -1290,7 +1315,7 @@ "type": "string" }, "disableReplacementWords": { - "description": "String of comma or space separated case-sensitive words for which method/field name replacement will be disabled by go/api-docgen.", + "description": "String of comma or space separated case-sensitive words for which method/field name replacement will be disabled.", "type": "string" }, "selector": { @@ -1537,6 +1562,10 @@ "restAsyncIoEnabled": { "description": "Enables generation of asynchronous REST clients if `rest` transport is enabled. By default, asynchronous REST clients will not be generated. This feature will be enabled by default 1 month after launching the feature in preview packages.", "type": "boolean" + }, + "unversionedPackageDisabled": { + "description": "Disables generation of an unversioned Python package for this client library. This means that the module names will need to be versioned in import statements. For example `import google.cloud.library_v2` instead of `import google.cloud.library`.", + "type": "boolean" } }, "type": "object" @@ -1724,6 +1753,13 @@ }, "type": "array" }, + "aspects": { + "description": "Configuration aspects. This is a repeated field to allow multiple aspects to be configured. The kind field in each ConfigAspect specifies the type of aspect. The spec field contains the configuration for that aspect. The schema for the spec field is defined by the backend service owners.", + "items": { + "$ref": "Aspect" + }, + "type": "array" + }, "authentication": { "$ref": "Authentication", "description": "Auth configuration." @@ -2065,7 +2101,7 @@ "description": "A message to group the analysis information.", "id": "GoogleApiServiceusageV2betaAnalysis", "properties": { - "analysis": { + "analysisResult": { "$ref": "GoogleApiServiceusageV2betaAnalysisResult", "description": "Output only. Analysis result of updating a policy.", "readOnly": true @@ -2307,14 +2343,20 @@ "description": "Output only. The type of impact.", "enum": [ "IMPACT_TYPE_UNSPECIFIED", - "DEPENDENCY_MISSING_DEPENDENCIES" + "DEPENDENCY_MISSING_DEPENDENCIES", + "RESOURCE_EXISTENCE_PROJECT" ], "enumDescriptions": [ - "Reserved Blocks (Block n contains codes from 100n to 100(n+1) -1 Block 0 - Special/Admin codes Block 1 - Impact Type of ANALYSIS_TYPE_DEPENDENCY Block 2 - Impact Type of ANALYSIS_TYPE_RESOURCE_USAGE ...", - "Block 1 - Impact Type of ANALYSIS_TYPE_DEPENDENCY" + "Reserved Blocks (Block n contains codes from 100n to 100(n+1) -1 Block 0 - Special/Admin codes Block 1 - Impact Type of ANALYSIS_TYPE_DEPENDENCY Block 2 - Impact Type of ANALYSIS_TYPE_RESOURCE_USAGE Block 3 - Impact Type of ANALYSIS_TYPE_RESOURCE_EXISTENCE ...", + "Block 1 - Impact Type of ANALYSIS_TYPE_DEPENDENCY", + "Block 3 - Impact Type of ANALYSIS_TYPE_RESOURCE_EXISTENCE" ], "readOnly": true, "type": "string" + }, + "parent": { + "description": "The parent resource that the analysis is based on and the service name that the analysis is for. Example: `projects/100/services/compute.googleapis.com`, folders/101/services/compute.googleapis.com` and `organizations/102/services/compute.googleapis.com`. Usually, the parent resource here is same as the parent resource of the analyzed policy. However, for some analysis types, the parent can be different. For example, for resource existence analysis, if the parent resource of the analyzed policy is a folder or an organization, the parent resource here can still be the project that contains the resources.", + "type": "string" } }, "type": "object" @@ -3059,7 +3101,7 @@ "id": "Page", "properties": { "content": { - "description": "The Markdown content of the page. You can use (== include {path} ==) to include content from a Markdown file. The content can be used to produce the documentation page such as HTML format page.", + "description": "The Markdown content of the page. You can use ```(== include {path} ==)``` to include content from a Markdown file. The content can be used to produce the documentation page such as HTML format page.", "type": "string" }, "name": { @@ -3332,6 +3374,10 @@ "description": "This message is used to configure the generation of a subset of the RPCs in a service for client libraries.", "id": "SelectiveGapicGeneration", "properties": { + "generateOmittedAsInternal": { + "description": "Setting this to true indicates to the client generators that methods that would be excluded from the generation should instead be generated in a way that indicates these methods should not be consumed by end users. How this is expressed is up to individual language implementations to decide. Some examples may be: added annotations, obfuscated identifiers, or other language idiomatic patterns.", + "type": "boolean" + }, "methods": { "description": "An allowlist of the fully qualified names of RPCs that should be included on public client surfaces.", "items": { @@ -3556,11 +3602,11 @@ "type": "object" }, "UsageRule": { - "description": "Usage configuration rules for the service. NOTE: Under development. Use this rule to configure unregistered calls for the service. Unregistered calls are calls that do not contain consumer project identity. (Example: calls that do not contain an API key). By default, API methods do not allow unregistered calls, and each method call must be identified by a consumer project identity. Use this rule to allow/disallow unregistered calls. Example of an API that wants to allow unregistered calls for entire service. usage: rules: - selector: \"*\" allow_unregistered_calls: true Example of a method that wants to allow unregistered calls. usage: rules: - selector: \"google.example.library.v1.LibraryService.CreateBook\" allow_unregistered_calls: true", + "description": "Usage configuration rules for the service.", "id": "UsageRule", "properties": { "allowUnregisteredCalls": { - "description": "If true, the selected method allows unregistered calls, e.g. calls that don't identify any user or application.", + "description": " Use this rule to configure unregistered calls for the service. Unregistered calls are calls that do not contain consumer project identity. (Example: calls that do not contain an API key). WARNING: By default, API methods do not allow unregistered calls, and each method call must be identified by a consumer project identity.", "type": "boolean" }, "selector": { diff --git a/discovery/googleapis/sheets__v4.json b/discovery/googleapis/sheets__v4.json index 8f47144b4..c7493108c 100644 --- a/discovery/googleapis/sheets__v4.json +++ b/discovery/googleapis/sheets__v4.json @@ -37,7 +37,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241203", + "revision": "20250211", "rootUrl": "https://sheets.googleapis.com/", "servicePath": "", "title": "Google Sheets API", @@ -3943,7 +3943,7 @@ "type": "object" }, "DeleteDimensionRequest": { - "description": "Deletes the dimensions from the sheet.", + "description": " Deletes the dimensions from the sheet.", "id": "DeleteDimensionRequest", "properties": { "range": { @@ -4972,7 +4972,7 @@ "properties": { "range": { "$ref": "GridRange", - "description": "The range to insert new cells into." + "description": "The range to insert new cells into. The range is constrained to the current sheet boundaries." }, "shiftDimension": { "description": "The dimension which will be shifted when inserting cells. If ROWS, existing cells will be shifted down. If COLUMNS, existing cells will be shifted right.", diff --git a/discovery/googleapis/slides__v1.json b/discovery/googleapis/slides__v1.json index ae1016e82..7725c4f17 100644 --- a/discovery/googleapis/slides__v1.json +++ b/discovery/googleapis/slides__v1.json @@ -43,7 +43,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20240305", + "revision": "20250218", "rootUrl": "https://slides.googleapis.com/", "servicePath": "", "title": "Google Slides API", @@ -397,11 +397,11 @@ "type": "object" }, "Autofit": { - "description": "The autofit properties of a Shape.", + "description": "The autofit properties of a Shape. This property is only set for shapes that allow text.", "id": "Autofit", "properties": { "autofitType": { - "description": "The autofit type of the shape. If the autofit type is AUTOFIT_TYPE_UNSPECIFIED, the autofit type is inherited from a parent placeholder if it exists. The field is automatically set to NONE if a request is made that might affect text fitting within its bounding text box. In this case the font_scale is applied to the font_size and the line_spacing_reduction is applied to the line_spacing. Both properties are also reset to default values.", + "description": "The autofit type of the shape. If the autofit type is AUTOFIT_TYPE_UNSPECIFIED, the autofit type is inherited from a parent placeholder if it exists. The field is automatically set to NONE if a request is made that might affect text fitting within its bounding text box. In this case, the font_scale is applied to the font_size and the line_spacing_reduction is applied to the line_spacing. Both properties are also reset to default values.", "enum": [ "AUTOFIT_TYPE_UNSPECIFIED", "NONE", @@ -417,12 +417,12 @@ "type": "string" }, "fontScale": { - "description": "The font scale applied to the shape. For shapes with autofit_type NONE or SHAPE_AUTOFIT, this value is the default value of 1. For TEXT_AUTOFIT, this value multiplied by the font_size gives the font size that is rendered in the editor. This property is read-only.", + "description": "The font scale applied to the shape. For shapes with autofit_type NONE or SHAPE_AUTOFIT, this value is the default value of 1. For TEXT_AUTOFIT, this value multiplied by the font_size gives the font size that's rendered in the editor. This property is read-only.", "format": "float", "type": "number" }, "lineSpacingReduction": { - "description": "The line spacing reduction applied to the shape. For shapes with autofit_type NONE or SHAPE_AUTOFIT, this value is the default value of 0. For TEXT_AUTOFIT, this value subtracted from the line_spacing gives the line spacing that is rendered in the editor. This property is read-only.", + "description": "The line spacing reduction applied to the shape. For shapes with autofit_type NONE or SHAPE_AUTOFIT, this value is the default value of 0. For TEXT_AUTOFIT, this value subtracted from the line_spacing gives the line spacing that's rendered in the editor. This property is read-only.", "format": "float", "type": "number" } @@ -832,9 +832,9 @@ "CUSTOM" ], "enumDescriptions": [ - "The shape type that is not predefined.", + "Default value. This value is unused.", "Text box shape.", - "Rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'rect'.", + "Rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'rect'", "Round corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'roundRect'", "Ellipse shape. Corresponds to ECMA-376 ST_ShapeType 'ellipse'", "Curved arc shape. Corresponds to ECMA-376 ST_ShapeType 'arc'", @@ -1650,7 +1650,7 @@ "type": "string" }, "connectionSiteIndex": { - "description": "The index of the connection site on the connected page element. In most cases, it corresponds to the predefined connection site index from the ECMA-376 standard. More information on those connection sites can be found in the description of the \"cnx\" attribute in section 20.1.9.9 and Annex H. \"Predefined DrawingML Shape and Text Geometries\" of \"Office Open XML File Formats-Fundamentals and Markup Language Reference\", part 1 of [ECMA-376 5th edition] (http://www.ecma-international.org/publications/standards/Ecma-376.htm). The position of each connection site can also be viewed from Slides editor.", + "description": "The index of the connection site on the connected page element. In most cases, it corresponds to the predefined connection site index from the ECMA-376 standard. More information on those connection sites can be found in both the description of the \"cxn\" attribute in section 20.1.9.9 and \"Annex H. Example Predefined DrawingML Shape and Text Geometries\" of \"Office Open XML File Formats - Fundamentals and Markup Language Reference\", part 1 of [ECMA-376 5th edition](https://ecma-international.org/publications-and-standards/standards/ecma-376/). The position of each connection site can also be viewed from Slides editor.", "format": "int32", "type": "integer" } @@ -2467,7 +2467,7 @@ "A recolor effect that lightens the image using the page's first available color from its color scheme.", "A recolor effect that lightens the image using the page's second available color from its color scheme.", "A recolor effect that lightens the image using the page's third available color from its color scheme.", - "A recolor effect that lightens the image using the page's forth available color from its color scheme.", + "A recolor effect that lightens the image using the page's fourth available color from its color scheme.", "A recolor effect that lightens the image using the page's fifth available color from its color scheme.", "A recolor effect that lightens the image using the page's sixth available color from its color scheme.", "A recolor effect that lightens the image using the page's seventh available color from its color scheme.", @@ -3041,7 +3041,7 @@ "type": "object" }, "Shape": { - "description": "A PageElement kind representing a generic shape that does not have a more specific classification.", + "description": "A PageElement kind representing a generic shape that doesn't have a more specific classification. For more information, see [Size and position page elements](https://developers.google.com/slides/api/guides/transform).", "id": "Shape", "properties": { "placeholder": { @@ -3200,9 +3200,9 @@ "CUSTOM" ], "enumDescriptions": [ - "The shape type that is not predefined.", + "Default value. This value is unused.", "Text box shape.", - "Rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'rect'.", + "Rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'rect'", "Round corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'roundRect'", "Ellipse shape. Corresponds to ECMA-376 ST_ShapeType 'ellipse'", "Curved arc shape. Corresponds to ECMA-376 ST_ShapeType 'arc'", diff --git a/discovery/googleapis/solar__v1.json b/discovery/googleapis/solar__v1.json index ecc8e0d8e..4cfad65cc 100644 --- a/discovery/googleapis/solar__v1.json +++ b/discovery/googleapis/solar__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241211", + "revision": "20250302", "rootUrl": "https://solar.googleapis.com/", "servicePath": "", "title": "Solar API", @@ -112,7 +112,7 @@ "buildingInsights": { "methods": { "findClosest": { - "description": "Locates the closest building to a query point. Returns an error with code `NOT_FOUND` if there are no buildings within approximately 50m of the query point.", + "description": "Locates the building whose centroid is closest to a query point. Returns an error with code `NOT_FOUND` if there are no buildings within approximately 50m of the query point.", "flatPath": "v1/buildingInsights:findClosest", "httpMethod": "GET", "id": "solar.buildingInsights.findClosest", diff --git a/discovery/googleapis/spanner__v1.json b/discovery/googleapis/spanner__v1.json index 9739d9437..fa76321eb 100644 --- a/discovery/googleapis/spanner__v1.json +++ b/discovery/googleapis/spanner__v1.json @@ -103,7 +103,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241119", + "revision": "20250220", "rootUrl": "https://spanner.googleapis.com/", "servicePath": "", "title": "Cloud Spanner API", @@ -399,7 +399,7 @@ "operations": { "methods": { "cancel": { - "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/instanceConfigs/{instanceConfigsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "spanner.projects.instanceConfigs.operations.cancel", @@ -525,7 +525,7 @@ "operations": { "methods": { "cancel": { - "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/instanceConfigs/{instanceConfigsId}/ssdCaches/{ssdCachesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "spanner.projects.instanceConfigs.ssdCaches.operations.cancel", @@ -1294,7 +1294,7 @@ "operations": { "methods": { "cancel": { - "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups/{backupsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "spanner.projects.instances.backups.operations.cancel", @@ -1465,6 +1465,35 @@ }, "databases": { "methods": { + "addSplitPoints": { + "description": "Adds split points to specified tables, indexes of a database.", + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}:addSplitPoints", + "httpMethod": "POST", + "id": "spanner.projects.instances.databases.addSplitPoints", + "parameterOrder": [ + "database" + ], + "parameters": { + "database": { + "description": "Required. The database on whose tables/indexes split points are to be added. Values are of the form `projects//instances//databases/`.", + "location": "path", + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+database}:addSplitPoints", + "request": { + "$ref": "AddSplitPointsRequest" + }, + "response": { + "$ref": "AddSplitPointsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ] + }, "changequorum": { "description": "`ChangeQuorum` is strictly restricted to databases that use dual-region instance configurations. Initiates a background operation to change the quorum of a database from dual-region mode to single-region mode or vice versa. The returned long-running operation has a name of the format `projects//instances//databases//operations/` and can be used to track execution of the `ChangeQuorum`. The metadata field type is ChangeQuorumMetadata. Authorization requires `spanner.databases.changequorum` permission on the resource database.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}:changequorum", @@ -2195,7 +2224,7 @@ "operations": { "methods": { "cancel": { - "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "spanner.projects.instances.databases.operations.cancel", @@ -2318,6 +2347,64 @@ }, "sessions": { "methods": { + "adaptMessage": { + "description": "Handles a single message from the client and returns the result as a stream. The server will interpret the message frame and respond with message frames to the client.", + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:adaptMessage", + "httpMethod": "POST", + "id": "spanner.projects.instances.databases.sessions.adaptMessage", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The database session in which the adapter request is processed.", + "location": "path", + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:adaptMessage", + "request": { + "$ref": "AdaptMessageRequest" + }, + "response": { + "$ref": "AdaptMessageResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.data" + ] + }, + "adapter": { + "description": "Creates a new session to be used for requests made by the adapter. A session identifies a specific incarnation of a database resource and is meant to be reused across many `AdaptMessage` calls.", + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions:adapter", + "httpMethod": "POST", + "id": "spanner.projects.instances.databases.sessions.adapter", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The database in which the new session is created.", + "location": "path", + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/sessions:adapter", + "request": { + "$ref": "AdapterSession" + }, + "response": { + "$ref": "AdapterSession" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.data" + ] + }, "batchCreate": { "description": "Creates multiple new sessions. This API can be used to initialize a session cache on the clients. See https://goo.gl/TgSFN2 for best practices on session cache management.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions:batchCreate", @@ -2519,7 +2606,7 @@ ] }, "executeSql": { - "description": "Executes an SQL statement, returning all results in a single reply. This method cannot be used to return a result set larger than 10 MiB; if the query yields more data than that, the query fails with a `FAILED_PRECONDITION` error. Operations inside read-write transactions might return `ABORTED`. If this occurs, the application should restart the transaction from the beginning. See Transaction for more details. Larger result sets can be fetched in streaming fashion by calling ExecuteStreamingSql instead.", + "description": "Executes an SQL statement, returning all results in a single reply. This method cannot be used to return a result set larger than 10 MiB; if the query yields more data than that, the query fails with a `FAILED_PRECONDITION` error. Operations inside read-write transactions might return `ABORTED`. If this occurs, the application should restart the transaction from the beginning. See Transaction for more details. Larger result sets can be fetched in streaming fashion by calling ExecuteStreamingSql instead. The query string can be SQL or [Graph Query Language (GQL)](https://cloud.google.com/spanner/docs/reference/standard-sql/graph-intro).", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:executeSql", "httpMethod": "POST", "id": "spanner.projects.instances.databases.sessions.executeSql", @@ -2548,7 +2635,7 @@ ] }, "executeStreamingSql": { - "description": "Like ExecuteSql, except returns the result set as a stream. Unlike ExecuteSql, there is no limit on the size of the returned result set. However, no individual row in the result set can exceed 100 MiB, and no column value can exceed 10 MiB.", + "description": "Like ExecuteSql, except returns the result set as a stream. Unlike ExecuteSql, there is no limit on the size of the returned result set. However, no individual row in the result set can exceed 100 MiB, and no column value can exceed 10 MiB. The query string can be SQL or [Graph Query Language (GQL)](https://cloud.google.com/spanner/docs/reference/standard-sql/graph-intro).", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:executeStreamingSql", "httpMethod": "POST", "id": "spanner.projects.instances.databases.sessions.executeStreamingSql", @@ -3010,7 +3097,7 @@ "operations": { "methods": { "cancel": { - "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/instancePartitions/{instancePartitionsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "spanner.projects.instances.instancePartitions.operations.cancel", @@ -3136,7 +3223,7 @@ "operations": { "methods": { "cancel": { - "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "spanner.projects.instances.operations.cancel", @@ -3324,6 +3411,83 @@ } }, "schemas": { + "AdaptMessageRequest": { + "description": "Message sent by the client to the adapter.", + "id": "AdaptMessageRequest", + "properties": { + "attachments": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Opaque request state passed by the client to the server.", + "type": "object" + }, + "payload": { + "description": "Optional. Uninterpreted bytes from the underlying wire protocol.", + "format": "byte", + "type": "string" + }, + "protocol": { + "description": "Required. Identifier for the underlying wire protocol.", + "type": "string" + } + }, + "type": "object" + }, + "AdaptMessageResponse": { + "description": "Message sent by the adapter to the client.", + "id": "AdaptMessageResponse", + "properties": { + "payload": { + "description": "Optional. Uninterpreted bytes from the underlying wire protocol.", + "format": "byte", + "type": "string" + }, + "stateUpdates": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Opaque state updates to be applied by the client.", + "type": "object" + } + }, + "type": "object" + }, + "AdapterSession": { + "description": "A session in the Cloud Spanner Adapter API.", + "id": "AdapterSession", + "properties": { + "name": { + "description": "Identifier. The name of the session. This is always system-assigned.", + "type": "string" + } + }, + "type": "object" + }, + "AddSplitPointsRequest": { + "description": "The request for AddSplitPoints.", + "id": "AddSplitPointsRequest", + "properties": { + "initiator": { + "description": "Optional. A user-supplied tag associated with the split points. For example, \"initial_data_load\", \"special_event_1\". Defaults to \"CloudAddSplitPointsAPI\" if not specified. The length of the tag must not exceed 50 characters,else will be trimmed. Only valid UTF8 characters are allowed.", + "type": "string" + }, + "splitPoints": { + "description": "Required. The split points to add.", + "items": { + "$ref": "SplitPoints" + }, + "type": "array" + } + }, + "type": "object" + }, + "AddSplitPointsResponse": { + "description": "The response for AddSplitPoints.", + "id": "AddSplitPointsResponse", + "properties": {}, + "type": "object" + }, "AsymmetricAutoscalingOption": { "description": "AsymmetricAutoscalingOption specifies the scaling of replicas identified by the given selection.", "id": "AsymmetricAutoscalingOption", @@ -3493,6 +3657,14 @@ "readOnly": true, "type": "string" }, + "instancePartitions": { + "description": "Output only. The instance partition(s) storing the backup. This is the same as the list of the instance partition(s) that the database had footprint in at the backup's `version_time`.", + "items": { + "$ref": "BackupInstancePartition" + }, + "readOnly": true, + "type": "array" + }, "maxExpireTime": { "description": "Output only. The max allowed expiration time of the backup, with microseconds granularity. A backup's expiration time can be configured in multiple APIs: CreateBackup, UpdateBackup, CopyBackup. When updating or copying an existing backup, the expiration time specified must be less than `Backup.max_expire_time`.", "format": "google-datetime", @@ -3579,13 +3751,24 @@ }, "type": "object" }, + "BackupInstancePartition": { + "description": "Instance partition information for the backup.", + "id": "BackupInstancePartition", + "properties": { + "instancePartition": { + "description": "A unique identifier for the instance partition. Values are of the form `projects//instances//instancePartitions/`", + "type": "string" + } + }, + "type": "object" + }, "BackupSchedule": { "description": "BackupSchedule expresses the automated backup creation specification for a Spanner database.", "id": "BackupSchedule", "properties": { "encryptionConfig": { "$ref": "CreateBackupEncryptionConfig", - "description": "Optional. The encryption configuration that will be used to encrypt the backup. If this field is not specified, the backup will use the same encryption configuration as the database." + "description": "Optional. The encryption configuration that is used to encrypt the backup. If this field is not specified, the backup uses the same encryption configuration as the database." }, "fullBackupSpec": { "$ref": "FullBackupSpec", @@ -4254,21 +4437,21 @@ "type": "object" }, "CrontabSpec": { - "description": "CrontabSpec can be used to specify the version time and frequency at which the backup should be created.", + "description": "CrontabSpec can be used to specify the version time and frequency at which the backup is created.", "id": "CrontabSpec", "properties": { "creationWindow": { - "description": "Output only. Schedule backups will contain an externally consistent copy of the database at the version time specified in `schedule_spec.cron_spec`. However, Spanner may not initiate the creation of the scheduled backups at that version time. Spanner will initiate the creation of scheduled backups within the time window bounded by the version_time specified in `schedule_spec.cron_spec` and version_time + `creation_window`.", + "description": "Output only. Scheduled backups contain an externally consistent copy of the database at the version time specified in `schedule_spec.cron_spec`. However, Spanner might not initiate the creation of the scheduled backups at that version time. Spanner initiates the creation of scheduled backups within the time window bounded by the version_time specified in `schedule_spec.cron_spec` and version_time + `creation_window`.", "format": "google-duration", "readOnly": true, "type": "string" }, "text": { - "description": "Required. Textual representation of the crontab. User can customize the backup frequency and the backup version time using the cron expression. The version time must be in UTC timzeone. The backup will contain an externally consistent copy of the database at the version time. Allowed frequencies are 12 hour, 1 day, 1 week and 1 month. Examples of valid cron specifications: * `0 2/12 * * * ` : every 12 hours at (2, 14) hours past midnight in UTC. * `0 2,14 * * * ` : every 12 hours at (2,14) hours past midnight in UTC. * `0 2 * * * ` : once a day at 2 past midnight in UTC. * `0 2 * * 0 ` : once a week every Sunday at 2 past midnight in UTC. * `0 2 8 * * ` : once a month on 8th day at 2 past midnight in UTC.", + "description": "Required. Textual representation of the crontab. User can customize the backup frequency and the backup version time using the cron expression. The version time must be in UTC timezone. The backup will contain an externally consistent copy of the database at the version time. Full backups must be scheduled a minimum of 12 hours apart and incremental backups must be scheduled a minimum of 4 hours apart. Examples of valid cron specifications: * `0 2/12 * * *` : every 12 hours at (2, 14) hours past midnight in UTC. * `0 2,14 * * *` : every 12 hours at (2, 14) hours past midnight in UTC. * `0 */4 * * *` : (incremental backups only) every 4 hours at (0, 4, 8, 12, 16, 20) hours past midnight in UTC. * `0 2 * * *` : once a day at 2 past midnight in UTC. * `0 2 * * 0` : once a week every Sunday at 2 past midnight in UTC. * `0 2 8 * *` : once a month on 8th day at 2 past midnight in UTC.", "type": "string" }, "timeZone": { - "description": "Output only. The time zone of the times in `CrontabSpec.text`. Currently only UTC is supported.", + "description": "Output only. The time zone of the times in `CrontabSpec.text`. Currently, only UTC is supported.", "readOnly": true, "type": "string" } @@ -4571,6 +4754,10 @@ "description": "The request for ExecuteBatchDml.", "id": "ExecuteBatchDmlRequest", "properties": { + "lastStatements": { + "description": "Optional. If set to true, this request marks the end of the transaction. The transaction should be committed or aborted after these statements execute, and attempts to execute any other requests against this transaction (including reads and queries) will be rejected. Setting this option may cause some error reporting to be deferred until commit time (e.g. validation of unique constraints). Given this, successful execution of statements should not be assumed until a subsequent Commit call completes successfully.", + "type": "boolean" + }, "requestOptions": { "$ref": "RequestOptions", "description": "Common options for this request." @@ -4628,6 +4815,10 @@ "$ref": "DirectedReadOptions", "description": "Directed read options for this request." }, + "lastStatement": { + "description": "Optional. If set to true, this statement marks the end of the transaction. The transaction should be committed or aborted after this statement executes, and attempts to execute any other requests against this transaction (including reads and queries) will be rejected. For DML statements, setting this option may cause some error reporting to be deferred until commit time (e.g. validation of unique constraints). Given this, successful execution of a DML statement should not be assumed until a subsequent Commit call completes successfully.", + "type": "boolean" + }, "paramTypes": { "additionalProperties": { "$ref": "Type" @@ -4905,7 +5096,7 @@ "type": "string" }, "defaultBackupScheduleType": { - "description": "Optional. Controls the default backup behavior for new databases within the instance. Note that `AUTOMATIC` is not permitted for free instances, as backups and backup schedules are not allowed for free instances. In the `GetInstance` or `ListInstances` response, if the value of default_backup_schedule_type is unset or NONE, no default backup schedule will be created for new databases within the instance.", + "description": "Optional. Controls the default backup schedule behavior for new databases within the instance. By default, a backup schedule is created automatically when a new database is created in a new instance. Note that the `AUTOMATIC` value isn't permitted for free instances, as backups and backup schedules aren't supported for free instances. In the `GetInstance` or `ListInstances` response, if the value of `default_backup_schedule_type` isn't set, or set to `NONE`, Spanner doesn't create a default backup schedule for new databases in the instance.", "enum": [ "DEFAULT_BACKUP_SCHEDULE_TYPE_UNSPECIFIED", "NONE", @@ -4913,8 +5104,8 @@ ], "enumDescriptions": [ "Not specified.", - "No default backup schedule will be created automatically on creation of a database within the instance.", - "A default backup schedule will be created automatically on creation of a database within the instance. Once created, the default backup schedule can be edited or deleted just like any other backup schedule. Currently, the default backup schedule creates a full backup every 24 hours and retains the backup for a period of 7 days." + "A default backup schedule isn't created automatically when a new database is created in the instance.", + "A default backup schedule is created automatically when a new database is created in the instance. The default backup schedule creates a full backup every 24 hours. These full backups are retained for 7 days. You can edit or delete the default backup schedule once it's created." ], "type": "string" }, @@ -4975,12 +5166,12 @@ "type": "string" }, "nodeCount": { - "description": "The number of nodes allocated to this instance. At most, one of either `node_count` or `processing_units` should be present in the message. Users can set the `node_count` field to specify the target number of nodes allocated to the instance. If autoscaling is enabled, `node_count` is treated as an `OUTPUT_ONLY` field and reflects the current number of nodes allocated to the instance. This might be zero in API responses for instances that are not yet in the `READY` state. For more information, see [Compute capacity, nodes, and processing units](https://cloud.google.com/spanner/docs/compute-capacity).", + "description": "The number of nodes allocated to this instance. At most, one of either `node_count` or `processing_units` should be present in the message. Users can set the `node_count` field to specify the target number of nodes allocated to the instance. If autoscaling is enabled, `node_count` is treated as an `OUTPUT_ONLY` field and reflects the current number of nodes allocated to the instance. This might be zero in API responses for instances that are not yet in the `READY` state. If the instance has varying node count across replicas (achieved by setting `asymmetric_autoscaling_options` in the autoscaling configuration), the `node_count` set here is the maximum node count across all replicas. For more information, see [Compute capacity, nodes, and processing units](https://cloud.google.com/spanner/docs/compute-capacity).", "format": "int32", "type": "integer" }, "processingUnits": { - "description": "The number of processing units allocated to this instance. At most, one of either `processing_units` or `node_count` should be present in the message. Users can set the `processing_units` field to specify the target number of processing units allocated to the instance. If autoscaling is enabled, `processing_units` is treated as an `OUTPUT_ONLY` field and reflects the current number of processing units allocated to the instance. This might be zero in API responses for instances that are not yet in the `READY` state. For more information, see [Compute capacity, nodes and processing units](https://cloud.google.com/spanner/docs/compute-capacity).", + "description": "The number of processing units allocated to this instance. At most, one of either `processing_units` or `node_count` should be present in the message. Users can set the `processing_units` field to specify the target number of processing units allocated to the instance. If autoscaling is enabled, `processing_units` is treated as an `OUTPUT_ONLY` field and reflects the current number of processing units allocated to the instance. This might be zero in API responses for instances that are not yet in the `READY` state. If the instance has varying processing units per replica (achieved by setting `asymmetric_autoscaling_options` in the autoscaling configuration), the `processing_units` set here is the maximum processing units across all replicas. For more information, see [Compute capacity, nodes and processing units](https://cloud.google.com/spanner/docs/compute-capacity).", "format": "int32", "type": "integer" }, @@ -5255,6 +5446,20 @@ }, "type": "object" }, + "Key": { + "description": "A split key.", + "id": "Key", + "properties": { + "keyParts": { + "description": "Required. The column values making up the split key.", + "items": { + "type": "any" + }, + "type": "array" + } + }, + "type": "object" + }, "KeyRange": { "description": "KeyRange represents a range of rows in a table or index. A range has a start key and an end key. These keys can be open or closed, indicating if the range includes rows with that key. Keys are represented by lists, where the ith value in the list corresponds to the ith component of the table or index primary key. Individual values are encoded as described here. For example, consider the following table definition: CREATE TABLE UserEvents ( UserName STRING(MAX), EventDate STRING(10) ) PRIMARY KEY(UserName, EventDate); The following keys name rows in this table: \"Bob\", \"2014-09-23\" Since the `UserEvents` table's `PRIMARY KEY` clause names two columns, each `UserEvents` key has two elements; the first is the `UserName`, and the second is the `EventDate`. Key ranges with multiple components are interpreted lexicographically by component using the table or index key's declared sort order. For example, the following range returns all events for user `\"Bob\"` that occurred in the year 2015: \"start_closed\": [\"Bob\", \"2015-01-01\"] \"end_closed\": [\"Bob\", \"2015-12-31\"] Start and end keys can omit trailing key components. This affects the inclusion and exclusion of rows that exactly match the provided key components: if the key is closed, then rows that exactly match the provided components are included; if the key is open, then rows that exactly match are not included. For example, the following range includes all events for `\"Bob\"` that occurred during and after the year 2000: \"start_closed\": [\"Bob\", \"2000-01-01\"] \"end_closed\": [\"Bob\"] The next example retrieves all events for `\"Bob\"`: \"start_closed\": [\"Bob\"] \"end_closed\": [\"Bob\"] To retrieve events before the year 2000: \"start_closed\": [\"Bob\"] \"end_open\": [\"Bob\", \"2000-01-01\"] The following range includes all rows in the table: \"start_closed\": [] \"end_closed\": [] This range returns all users whose `UserName` begins with any character from A to C: \"start_closed\": [\"A\"] \"end_open\": [\"D\"] This range returns all users whose `UserName` begins with B: \"start_closed\": [\"B\"] \"end_open\": [\"C\"] Key ranges honor column sort order. For example, suppose a table is defined as follows: CREATE TABLE DescendingSortedTable { Key INT64, ... ) PRIMARY KEY(Key DESC); The following range retrieves all rows with key values between 1 and 100 inclusive: \"start_closed\": [\"100\"] \"end_closed\": [\"1\"] Note that 100 is passed as the start, and 1 is passed as the end, because `Key` is a descending column in the schema.", "id": "KeyRange", @@ -6234,7 +6439,7 @@ }, "queryAdvice": { "$ref": "QueryAdvisorResult", - "description": "Optional. The advices/recommendations for a query. Currently this field will be serving index recommendations for a query." + "description": "Optional. The advise/recommendations for a query. Currently this field will be serving index recommendations for a query." } }, "type": "object" @@ -6833,7 +7038,7 @@ "type": "object" }, "multiplexed": { - "description": "Optional. If true, specifies a multiplexed session. Use a multiplexed session for multiple, concurrent read-only operations. Don't use them for read-write transactions, partitioned reads, or partitioned queries. Use CreateSession to create multiplexed sessions. Don't use BatchCreateSessions to create a multiplexed session. You can't delete or list multiplexed sessions.", + "description": "Optional. If true, specifies a multiplexed session. Use a multiplexed session for multiple, concurrent read-only operations. Don't use them for read-write transactions, partitioned reads, or partitioned queries. Use `sessions.create` to create multiplexed sessions. Don't use BatchCreateSessions to create a multiplexed session. You can't delete or list multiplexed sessions.", "type": "boolean" }, "name": { @@ -6885,6 +7090,33 @@ }, "type": "object" }, + "SplitPoints": { + "description": "The split points of a table/index.", + "id": "SplitPoints", + "properties": { + "expireTime": { + "description": "Optional. The expiration timestamp of the split points. A timestamp in the past means immediate expiration. The maximum value can be 30 days in the future. Defaults to 10 days in the future if not specified.", + "format": "google-datetime", + "type": "string" + }, + "index": { + "description": "The index to split. If specified, the `table` field must refer to the index's base table.", + "type": "string" + }, + "keys": { + "description": "Required. The list of split keys, i.e., the split boundaries.", + "items": { + "$ref": "Key" + }, + "type": "array" + }, + "table": { + "description": "The table to split.", + "type": "string" + } + }, + "type": "object" + }, "Statement": { "description": "A single DML statement.", "id": "Statement", @@ -7105,12 +7337,14 @@ "enum": [ "TYPE_ANNOTATION_CODE_UNSPECIFIED", "PG_NUMERIC", - "PG_JSONB" + "PG_JSONB", + "PG_OID" ], "enumDescriptions": [ "Not specified.", "PostgreSQL compatible NUMERIC type. This annotation needs to be applied to Type instances having NUMERIC type code to specify that values of this type should be treated as PostgreSQL NUMERIC values. Currently this annotation is always needed for NUMERIC when a client interacts with PostgreSQL-enabled Spanner databases.", - "PostgreSQL compatible JSONB type. This annotation needs to be applied to Type instances having JSON type code to specify that values of this type should be treated as PostgreSQL JSONB values. Currently this annotation is always needed for JSON when a client interacts with PostgreSQL-enabled Spanner databases." + "PostgreSQL compatible JSONB type. This annotation needs to be applied to Type instances having JSON type code to specify that values of this type should be treated as PostgreSQL JSONB values. Currently this annotation is always needed for JSON when a client interacts with PostgreSQL-enabled Spanner databases.", + "PostgreSQL compatible OID type. This annotation can be used by a client interacting with PostgreSQL-enabled Spanner database to specify that a value should be treated using the semantics of the OID type." ], "type": "string" } diff --git a/discovery/googleapis/storage__v1.json b/discovery/googleapis/storage__v1.json index 2f951d8fe..8ff9ee89f 100644 --- a/discovery/googleapis/storage__v1.json +++ b/discovery/googleapis/storage__v1.json @@ -93,7 +93,7 @@ "location": "us-west4" } ], - "etag": "\"3133343838373034343130353038353234313337\"", + "etag": "\"323434373038373139383836363433393338\"", "icons": { "x16": "https://www.google.com/images/icons/product/cloud_storage-16.png", "x32": "https://www.google.com/images/icons/product/cloud_storage-32.png" @@ -107,7 +107,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241206", + "revision": "20250224", "rootUrl": "https://storage.googleapis.com/", "servicePath": "storage/v1/", "title": "Cloud Storage JSON API", @@ -1682,7 +1682,7 @@ "type": "string" }, "recursive": { - "description": "If true, any parent folder which doesn’t exist will be created automatically.", + "description": "If true, any parent folder which doesn't exist will be created automatically.", "location": "query", "type": "boolean" } @@ -6077,7 +6077,7 @@ "storage.managedFolders.setIamPolicy" ] }, - "description": "A collection of identifiers for members who may assume the provided role. Recognized identifiers are as follows: \n- allUsers — A special identifier that represents anyone on the internet; with or without a Google account. \n- allAuthenticatedUsers — A special identifier that represents anyone who is authenticated with a Google account or a service account. \n- user:emailid — An email address that represents a specific account. For example, user:alice@gmail.com or user:joe@example.com. \n- serviceAccount:emailid — An email address that represents a service account. For example, serviceAccount:my-other-app@appspot.gserviceaccount.com . \n- group:emailid — An email address that represents a Google group. For example, group:admins@example.com. \n- domain:domain — A Google Apps domain name that represents all the users of that domain. For example, domain:google.com or domain:example.com. \n- projectOwner:projectid — Owners of the given project. For example, projectOwner:my-example-project \n- projectEditor:projectid — Editors of the given project. For example, projectEditor:my-example-project \n- projectViewer:projectid — Viewers of the given project. For example, projectViewer:my-example-project", + "description": "A collection of identifiers for members who may assume the provided role. Recognized identifiers are as follows: \n- allUsers - A special identifier that represents anyone on the internet; with or without a Google account. \n- allAuthenticatedUsers - A special identifier that represents anyone who is authenticated with a Google account or a service account. \n- user:emailid - An email address that represents a specific account. For example, user:alice@gmail.com or user:joe@example.com. \n- serviceAccount:emailid - An email address that represents a service account. For example, serviceAccount:my-other-app@appspot.gserviceaccount.com . \n- group:emailid - An email address that represents a Google group. For example, group:admins@example.com. \n- domain:domain - A Google Apps domain name that represents all the users of that domain. For example, domain:google.com or domain:example.com. \n- projectOwner:projectid - Owners of the given project. For example, projectOwner:my-example-project \n- projectEditor:projectid - Editors of the given project. For example, projectEditor:my-example-project \n- projectViewer:projectid - Viewers of the given project. For example, projectViewer:my-example-project", "items": { "type": "string" }, @@ -6091,7 +6091,7 @@ "storage.managedFolders.setIamPolicy" ] }, - "description": "The role to which members belong. Two types of roles are supported: new IAM roles, which grant permissions that do not map directly to those provided by ACLs, and legacy IAM roles, which do map directly to ACL permissions. All roles are of the format roles/storage.specificRole.\nThe new IAM roles are: \n- roles/storage.admin — Full control of Google Cloud Storage resources. \n- roles/storage.objectViewer — Read-Only access to Google Cloud Storage objects. \n- roles/storage.objectCreator — Access to create objects in Google Cloud Storage. \n- roles/storage.objectAdmin — Full control of Google Cloud Storage objects. The legacy IAM roles are: \n- roles/storage.legacyObjectReader — Read-only access to objects without listing. Equivalent to an ACL entry on an object with the READER role. \n- roles/storage.legacyObjectOwner — Read/write access to existing objects without listing. Equivalent to an ACL entry on an object with the OWNER role. \n- roles/storage.legacyBucketReader — Read access to buckets with object listing. Equivalent to an ACL entry on a bucket with the READER role. \n- roles/storage.legacyBucketWriter — Read access to buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the WRITER role. \n- roles/storage.legacyBucketOwner — Read and write access to existing buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the OWNER role.", + "description": "The role to which members belong. Two types of roles are supported: new IAM roles, which grant permissions that do not map directly to those provided by ACLs, and legacy IAM roles, which do map directly to ACL permissions. All roles are of the format roles/storage.specificRole.\nThe new IAM roles are: \n- roles/storage.admin - Full control of Google Cloud Storage resources. \n- roles/storage.objectViewer - Read-Only access to Google Cloud Storage objects. \n- roles/storage.objectCreator - Access to create objects in Google Cloud Storage. \n- roles/storage.objectAdmin - Full control of Google Cloud Storage objects. The legacy IAM roles are: \n- roles/storage.legacyObjectReader - Read-only access to objects without listing. Equivalent to an ACL entry on an object with the READER role. \n- roles/storage.legacyObjectOwner - Read/write access to existing objects without listing. Equivalent to an ACL entry on an object with the OWNER role. \n- roles/storage.legacyBucketReader - Read access to buckets with object listing. Equivalent to an ACL entry on a bucket with the READER role. \n- roles/storage.legacyBucketWriter - Read access to buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the WRITER role. \n- roles/storage.legacyBucketOwner - Read and write access to existing buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the OWNER role.", "type": "string" } }, @@ -6209,7 +6209,7 @@ "type": "string" }, "permissions": { - "description": "The permissions held by the caller. Permissions are always of the format storage.resource.capability, where resource is one of buckets, objects, or managedFolders. The supported permissions are as follows: \n- storage.buckets.delete — Delete bucket. \n- storage.buckets.get — Read bucket metadata. \n- storage.buckets.getIamPolicy — Read bucket IAM policy. \n- storage.buckets.create — Create bucket. \n- storage.buckets.list — List buckets. \n- storage.buckets.setIamPolicy — Update bucket IAM policy. \n- storage.buckets.update — Update bucket metadata. \n- storage.objects.delete — Delete object. \n- storage.objects.get — Read object data and metadata. \n- storage.objects.getIamPolicy — Read object IAM policy. \n- storage.objects.create — Create object. \n- storage.objects.list — List objects. \n- storage.objects.setIamPolicy — Update object IAM policy. \n- storage.objects.update — Update object metadata. \n- storage.managedFolders.delete — Delete managed folder. \n- storage.managedFolders.get — Read managed folder metadata. \n- storage.managedFolders.getIamPolicy — Read managed folder IAM policy. \n- storage.managedFolders.create — Create managed folder. \n- storage.managedFolders.list — List managed folders. \n- storage.managedFolders.setIamPolicy — Update managed folder IAM policy.", + "description": "The permissions held by the caller. Permissions are always of the format storage.resource.capability, where resource is one of buckets, objects, or managedFolders. The supported permissions are as follows: \n- storage.buckets.delete - Delete bucket. \n- storage.buckets.get - Read bucket metadata. \n- storage.buckets.getIamPolicy - Read bucket IAM policy. \n- storage.buckets.create - Create bucket. \n- storage.buckets.list - List buckets. \n- storage.buckets.setIamPolicy - Update bucket IAM policy. \n- storage.buckets.update - Update bucket metadata. \n- storage.objects.delete - Delete object. \n- storage.objects.get - Read object data and metadata. \n- storage.objects.getIamPolicy - Read object IAM policy. \n- storage.objects.create - Create object. \n- storage.objects.list - List objects. \n- storage.objects.setIamPolicy - Update object IAM policy. \n- storage.objects.update - Update object metadata. \n- storage.managedFolders.delete - Delete managed folder. \n- storage.managedFolders.get - Read managed folder metadata. \n- storage.managedFolders.getIamPolicy - Read managed folder IAM policy. \n- storage.managedFolders.create - Create managed folder. \n- storage.managedFolders.list - List managed folders. \n- storage.managedFolders.setIamPolicy - Update managed folder IAM policy.", "items": { "type": "string" }, diff --git a/discovery/googleapis/storagetransfer__v1.json b/discovery/googleapis/storagetransfer__v1.json index 7c1c3bec4..f9f9bbc9c 100644 --- a/discovery/googleapis/storagetransfer__v1.json +++ b/discovery/googleapis/storagetransfer__v1.json @@ -24,7 +24,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241005", + "revision": "20250301", "rootUrl": "https://storagetransfer.googleapis.com/", "servicePath": "", "title": "Storage Transfer API", @@ -1082,7 +1082,7 @@ "Default value. This value is unused.", "Listing objects in a bucket.", "Deleting objects at the source or the destination.", - "Copying objects to Google Cloud Storage." + "Copying objects to the destination." ], "type": "string" }, @@ -1478,7 +1478,7 @@ "properties": { "endTimeOfDay": { "$ref": "TimeOfDay", - "description": "The time in UTC that no further transfer operations are scheduled. Combined with schedule_end_date, `end_time_of_day` specifies the end date and time for starting new transfer operations. This field must be greater than or equal to the timestamp corresponding to the combintation of schedule_start_date and start_time_of_day, and is subject to the following: * If `end_time_of_day` is not set and `schedule_end_date` is set, then a default value of `23:59:59` is used for `end_time_of_day`. * If `end_time_of_day` is set and `schedule_end_date` is not set, then INVALID_ARGUMENT is returned." + "description": "The time in UTC that no further transfer operations are scheduled. Combined with schedule_end_date, `end_time_of_day` specifies the end date and time for starting new transfer operations. This field must be greater than or equal to the timestamp corresponding to the combination of schedule_start_date and start_time_of_day, and is subject to the following: * If `end_time_of_day` is not set and `schedule_end_date` is set, then a default value of `23:59:59` is used for `end_time_of_day`. * If `end_time_of_day` is set and `schedule_end_date` is not set, then INVALID_ARGUMENT is returned." }, "repeatInterval": { "description": "Interval between the start of each scheduled TransferOperation. If unspecified, the default value is 24 hours. This value may not be less than 1 hour.", @@ -1851,7 +1851,7 @@ "description": "Represents the selected metadata options for a transfer job." }, "overwriteObjectsAlreadyExistingInSink": { - "description": "When to overwrite objects that already exist in the sink. The default is that only objects that are different from the source are ovewritten. If true, all objects in the sink whose name matches an object in the source are overwritten with the source object.", + "description": "When to overwrite objects that already exist in the sink. The default is that only objects that are different from the source are overwritten. If true, all objects in the sink whose name matches an object in the source are overwritten with the source object.", "type": "boolean" }, "overwriteWhen": { diff --git a/discovery/googleapis/sts__v1.json b/discovery/googleapis/sts__v1.json index a943922e7..d7db48067 100644 --- a/discovery/googleapis/sts__v1.json +++ b/discovery/googleapis/sts__v1.json @@ -7,10 +7,50 @@ "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/iam/docs/workload-identity-federation", "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://sts.asia-east1.rep.googleapis.com/", + "location": "asia-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://sts.europe-north1.rep.googleapis.com/", + "location": "europe-north1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://sts.europe-west1.rep.googleapis.com/", + "location": "europe-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://sts.europe-west4.rep.googleapis.com/", + "location": "europe-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://sts.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://sts.us-central2.rep.googleapis.com/", + "location": "us-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://sts.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, { "description": "Regional Endpoint", "endpointUrl": "https://sts.us-east7.rep.googleapis.com/", "location": "us-east7" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://sts.us-west1.rep.googleapis.com/", + "location": "us-west1" } ], "icons": { @@ -23,7 +63,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241106", + "revision": "20250303", "rootUrl": "https://sts.googleapis.com/", "servicePath": "", "title": "Security Token Service API", diff --git a/discovery/googleapis/tagmanager__v2.json b/discovery/googleapis/tagmanager__v2.json index 5345af8e9..4fb66bbfa 100644 --- a/discovery/googleapis/tagmanager__v2.json +++ b/discovery/googleapis/tagmanager__v2.json @@ -43,7 +43,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241204", + "revision": "20250218", "rootUrl": "https://tagmanager.googleapis.com/", "servicePath": "", "title": "Tag Manager API", @@ -5126,6 +5126,10 @@ "description": "Represents the link between a custom template and an entry on the Community Template Gallery site.", "id": "GalleryReference", "properties": { + "galleryTemplateId": { + "description": "ID for the gallery template that is generated once during first sync and travels with the template redirects.", + "type": "string" + }, "host": { "description": "The name of the host for the community gallery template.", "type": "string" @@ -5160,6 +5164,10 @@ "GetContainerSnippetResponse": { "id": "GetContainerSnippetResponse", "properties": { + "containerConfig": { + "description": "Server container config param for manually provisioning a tagging server.", + "type": "string" + }, "snippet": { "description": "Tagging snippet for a Container.", "type": "string" diff --git a/discovery/googleapis/tasks__v1.json b/discovery/googleapis/tasks__v1.json index fc12a702c..9d9c37892 100644 --- a/discovery/googleapis/tasks__v1.json +++ b/discovery/googleapis/tasks__v1.json @@ -28,7 +28,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20240630", + "revision": "20250302", "rootUrl": "https://tasks.googleapis.com/", "servicePath": "", "title": "Google Tasks API", @@ -185,7 +185,7 @@ "parameterOrder": [], "parameters": { "maxResults": { - "description": "Maximum number of task lists returned on one page. Optional. The default is 20 (max allowed: 100).", + "description": "Maximum number of task lists returned on one page. Optional. The default is 1000 (max allowed: 1000).", "format": "int32", "location": "query", "type": "integer" @@ -473,17 +473,17 @@ ], "parameters": { "destinationTasklist": { - "description": "Optional. Destination task list identifier. If set, the task is moved from tasklist to the destinationTasklist list. Otherwise the task is moved within its current list. Recurrent tasks cannot currently be moved between lists. Optional.", + "description": "Optional. Destination task list identifier. If set, the task is moved from tasklist to the destinationTasklist list. Otherwise the task is moved within its current list. Recurrent tasks cannot currently be moved between lists.", "location": "query", "type": "string" }, "parent": { - "description": "New parent task identifier. If the task is moved to the top level, this parameter is omitted. Assigned tasks can not be set as parent task (have subtasks) or be moved under a parent task (become subtasks). Optional.", + "description": "Optional. New parent task identifier. If the task is moved to the top level, this parameter is omitted. The task set as parent must exist in the task list and can not be hidden. Exceptions: 1. Assigned tasks can not be set as parent task (have subtasks) or be moved under a parent task (become subtasks). 2. Tasks that are both completed and hidden cannot be nested, so the parent field must be empty.", "location": "query", "type": "string" }, "previous": { - "description": "New previous sibling task identifier. If the task is moved to the first position among its siblings, this parameter is omitted. Optional.", + "description": "Optional. New previous sibling task identifier. If the task is moved to the first position among its siblings, this parameter is omitted. The task set as previous must exist in the task list and can not be hidden. Exceptions: 1. Tasks that are both completed and hidden can only be moved to position 0, so the previous field must be empty.", "location": "query", "type": "string" }, diff --git a/discovery/googleapis/testing__v1.json b/discovery/googleapis/testing__v1.json index d36b2330b..4ae9b4b3c 100644 --- a/discovery/googleapis/testing__v1.json +++ b/discovery/googleapis/testing__v1.json @@ -27,7 +27,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241105", + "revision": "20250304", "rootUrl": "https://testing.googleapis.com/", "servicePath": "", "title": "Cloud Testing API", @@ -1574,7 +1574,7 @@ }, "roboScript": { "$ref": "FileReference", - "description": "An optional Roboscript to customize the crawl. See https://firebase.google.com/docs/test-lab/android/robo-scripts-reference for more information about Roboscripts." + "description": "An optional Roboscript to customize the crawl. See https://firebase.google.com/docs/test-lab/android/robo-scripts-reference for more information about Roboscripts. The maximum allowed file size of the roboscript is 10MiB." } }, "type": "object" @@ -1724,6 +1724,10 @@ "name": { "description": "Lab name where the device is hosted. If empty, the device is hosted in a Google owned lab.", "type": "string" + }, + "regionCode": { + "description": "The Unicode country/region code (CLDR) of the lab where the device is hosted. E.g. \"US\" for United States, \"CH\" for Switzerland.", + "type": "string" } }, "type": "object" diff --git a/discovery/googleapis/texttospeech__v1.json b/discovery/googleapis/texttospeech__v1.json index 77f718288..473c08fb3 100644 --- a/discovery/googleapis/texttospeech__v1.json +++ b/discovery/googleapis/texttospeech__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241216", + "revision": "20250114", "rootUrl": "https://texttospeech.googleapis.com/", "servicePath": "", "title": "Cloud Text-to-Speech API", @@ -328,7 +328,7 @@ "id": "AdvancedVoiceOptions", "properties": { "lowLatencyJourneySynthesis": { - "description": "Only for Journey voices. If false, the synthesis will be context aware and have higher latency.", + "description": "Only for Journey voices. If false, the synthesis is context aware and has a higher latency.", "type": "boolean" } }, @@ -353,10 +353,10 @@ "Not specified. Will return result google.rpc.Code.INVALID_ARGUMENT.", "Uncompressed 16-bit signed little-endian samples (Linear PCM). Audio content returned as LINEAR16 also contains a WAV header.", "MP3 audio at 32kbps.", - "Opus encoded audio wrapped in an ogg container. The result will be a file which can be played natively on Android, and in browsers (at least Chrome and Firefox). The quality of the encoding is considerably higher than MP3 while using approximately the same bitrate.", + "Opus encoded audio wrapped in an ogg container. The result is a file which can be played natively on Android, and in browsers (at least Chrome and Firefox). The quality of the encoding is considerably higher than MP3 while using approximately the same bitrate.", "8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law. Audio content returned as MULAW also contains a WAV header.", "8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law. Audio content returned as ALAW also contains a WAV header.", - "Uncompressed 16-bit signed little-endian samples (Linear PCM). Note that as opposed to LINEAR16, audio will not be wrapped in a WAV (or any other) header." + "Uncompressed 16-bit signed little-endian samples (Linear PCM). Note that as opposed to LINEAR16, audio won't be wrapped in a WAV (or any other) header." ], "type": "string" }, @@ -409,13 +409,13 @@ ], "enumDescriptions": [ "Not specified.", - "IPA. (e.g. apple -> ˈæpəl ) https://en.wikipedia.org/wiki/International_Phonetic_Alphabet", - "X-SAMPA (e.g. apple -> \"{p@l\" ) https://en.wikipedia.org/wiki/X-SAMPA" + "IPA, such as apple -> ˈæpəl. https://en.wikipedia.org/wiki/International_Phonetic_Alphabet", + "X-SAMPA, such as apple -> \"{p@l\". https://en.wikipedia.org/wiki/X-SAMPA" ], "type": "string" }, "phrase": { - "description": "The phrase to which the customization will be applied. The phrase can be multiple words (in the case of proper nouns etc), but should not span to a whole sentence.", + "description": "The phrase to which the customization is applied. The phrase can be multiple words, such as proper nouns, but shouldn't span the length of the sentence.", "type": "string" }, "pronunciation": { @@ -430,7 +430,7 @@ "id": "CustomPronunciations", "properties": { "pronunciations": { - "description": "The pronunciation customizations to be applied.", + "description": "The pronunciation customizations are applied.", "items": { "$ref": "CustomPronunciationParams" }, @@ -608,7 +608,7 @@ "properties": { "customPronunciations": { "$ref": "CustomPronunciations", - "description": "Optional. The pronunciation customizations to be applied to the input. If this is set, the input will be synthesized using the given pronunciation customizations. The initial support will be for EFIGS (English, French, Italian, German, Spanish) languages, as provided in VoiceSelectionParams. Journey and Instant Clone voices are not supported yet. In order to customize the pronunciation of a phrase, there must be an exact match of the phrase in the input types. If using SSML, the phrase must not be inside a phoneme tag (entirely or partially)." + "description": "Optional. The pronunciation customizations are applied to the input. If this is set, the input is synthesized using the given pronunciation customizations. The initial support is for English, French, Italian, German, and Spanish (EFIGS) languages, as provided in VoiceSelectionParams. Journey and Instant Clone voices aren't supported. In order to customize the pronunciation of a phrase, there must be an exact match of the phrase in the input types. If using SSML, the phrase must not be inside a phoneme tag." }, "multiSpeakerMarkup": { "$ref": "MultiSpeakerMarkup", @@ -707,7 +707,7 @@ "type": "object" }, "Turn": { - "description": "A Multi-speaker turn.", + "description": "A multi-speaker turn.", "id": "Turn", "properties": { "speaker": { @@ -805,7 +805,7 @@ }, "voiceClone": { "$ref": "VoiceCloneParams", - "description": "Optional. The configuration for a voice clone. If [VoiceCloneParams.voice_clone_key] is set, the service will choose the voice clone matching the specified configuration." + "description": "Optional. The configuration for a voice clone. If [VoiceCloneParams.voice_clone_key] is set, the service chooses the voice clone matching the specified configuration." } }, "type": "object" diff --git a/discovery/googleapis/tpu__v2.json b/discovery/googleapis/tpu__v2.json index d10bd19ac..a6f64c5fb 100644 --- a/discovery/googleapis/tpu__v2.json +++ b/discovery/googleapis/tpu__v2.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241126", + "revision": "20250116", "rootUrl": "https://tpu.googleapis.com/", "servicePath": "", "title": "Cloud TPU API", @@ -917,8 +917,8 @@ "TPU v3.", "TPU v4.", "TPU v5lite pod.", - "TPU v5p", - "TPU v6e" + "TPU v5p.", + "TPU v6e." ], "type": "string" } @@ -1327,7 +1327,7 @@ "id": "MultisliceParams", "properties": { "nodeCount": { - "description": "Required. Number of nodes with this spec. The system will attempt to provison \"node_count\" nodes as part of the request. This needs to be > 1.", + "description": "Required. Number of nodes with this spec. The system will attempt to provision \"node_count\" nodes as part of the request. This needs to be > 1.", "format": "int32", "type": "integer" }, @@ -1493,7 +1493,14 @@ }, "networkConfig": { "$ref": "NetworkConfig", - "description": "Network configurations for the TPU node." + "description": "Network configurations for the TPU node. network_config and network_configs are mutually exclusive, you can only specify one of them. If both are specified, an error will be returned." + }, + "networkConfigs": { + "description": "Optional. Repeated network configurations for the TPU node. This field is used to specify multiple networks configs for the TPU node. network_config and network_configs are mutually exclusive, you can only specify one of them. If both are specified, an error will be returned.", + "items": { + "$ref": "NetworkConfig" + }, + "type": "array" }, "networkEndpoints": { "description": "Output only. The network endpoints where TPU workers can be accessed and sent work. It is recommended that runtime clients of the node reach out to the 0th entry in this map first.", diff --git a/discovery/googleapis/trafficdirector__v3.json b/discovery/googleapis/trafficdirector__v3.json index c04be9382..911dae533 100644 --- a/discovery/googleapis/trafficdirector__v3.json +++ b/discovery/googleapis/trafficdirector__v3.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20240322", + "revision": "20250206", "rootUrl": "https://trafficdirector.googleapis.com/", "servicePath": "", "title": "Traffic Director API", @@ -323,14 +323,18 @@ "REQUESTED", "DOES_NOT_EXIST", "ACKED", - "NACKED" + "NACKED", + "RECEIVED_ERROR", + "TIMEOUT" ], "enumDescriptions": [ "Resource status is not available/unknown.", "Client requested this resource but hasn't received any update from management server. The client will not fail requests, but will queue them until update arrives or the client times out waiting for the resource.", "This resource has been requested by the client but has either not been delivered by the server or was previously delivered by the server and then subsequently removed from resources provided by the server. For more information, please refer to the :ref:`\"Knowing When a Requested Resource Does Not Exist\" ` section.", "Client received this resource and replied with ACK.", - "Client received this resource and replied with NACK." + "Client received this resource and replied with NACK.", + "Client received an error from the control plane. The attached config dump is the most recent accepted one. If no config is accepted yet, the attached config dump will be empty.", + "Client timed out waiting for the resource from the control plane." ], "type": "string" }, @@ -369,14 +373,18 @@ "REQUESTED", "DOES_NOT_EXIST", "ACKED", - "NACKED" + "NACKED", + "RECEIVED_ERROR", + "TIMEOUT" ], "enumDescriptions": [ "Resource status is not available/unknown.", "Client requested this resource but hasn't received any update from management server. The client will not fail requests, but will queue them until update arrives or the client times out waiting for the resource.", "This resource has been requested by the client but has either not been delivered by the server or was previously delivered by the server and then subsequently removed from resources provided by the server. For more information, please refer to the :ref:`\"Knowing When a Requested Resource Does Not Exist\" ` section.", "Client received this resource and replied with ACK.", - "Client received this resource and replied with NACK." + "Client received this resource and replied with NACK.", + "Client received an error from the control plane. The attached config dump is the most recent accepted one. If no config is accepted yet, the attached config dump will be empty.", + "Client timed out waiting for the resource from the control plane." ], "type": "string" }, @@ -419,14 +427,18 @@ "REQUESTED", "DOES_NOT_EXIST", "ACKED", - "NACKED" + "NACKED", + "RECEIVED_ERROR", + "TIMEOUT" ], "enumDescriptions": [ "Resource status is not available/unknown.", "Client requested this resource but hasn't received any update from management server. The client will not fail requests, but will queue them until update arrives or the client times out waiting for the resource.", "This resource has been requested by the client but has either not been delivered by the server or was previously delivered by the server and then subsequently removed from resources provided by the server. For more information, please refer to the :ref:`\"Knowing When a Requested Resource Does Not Exist\" ` section.", "Client received this resource and replied with ACK.", - "Client received this resource and replied with NACK." + "Client received this resource and replied with NACK.", + "Client received an error from the control plane. The attached config dump is the most recent accepted one. If no config is accepted yet, the attached config dump will be empty.", + "Client timed out waiting for the resource from the control plane." ], "type": "string" }, @@ -483,14 +495,18 @@ "REQUESTED", "DOES_NOT_EXIST", "ACKED", - "NACKED" + "NACKED", + "RECEIVED_ERROR", + "TIMEOUT" ], "enumDescriptions": [ "Resource status is not available/unknown.", "Client requested this resource but hasn't received any update from management server. The client will not fail requests, but will queue them until update arrives or the client times out waiting for the resource.", "This resource has been requested by the client but has either not been delivered by the server or was previously delivered by the server and then subsequently removed from resources provided by the server. For more information, please refer to the :ref:`\"Knowing When a Requested Resource Does Not Exist\" ` section.", "Client received this resource and replied with ACK.", - "Client received this resource and replied with NACK." + "Client received this resource and replied with NACK.", + "Client received an error from the control plane. The attached config dump is the most recent accepted one. If no config is accepted yet, the attached config dump will be empty.", + "Client timed out waiting for the resource from the control plane." ], "type": "string" }, @@ -529,14 +545,18 @@ "REQUESTED", "DOES_NOT_EXIST", "ACKED", - "NACKED" + "NACKED", + "RECEIVED_ERROR", + "TIMEOUT" ], "enumDescriptions": [ "Resource status is not available/unknown.", "Client requested this resource but hasn't received any update from management server. The client will not fail requests, but will queue them until update arrives or the client times out waiting for the resource.", "This resource has been requested by the client but has either not been delivered by the server or was previously delivered by the server and then subsequently removed from resources provided by the server. For more information, please refer to the :ref:`\"Knowing When a Requested Resource Does Not Exist\" ` section.", "Client received this resource and replied with ACK.", - "Client received this resource and replied with NACK." + "Client received this resource and replied with NACK.", + "Client received an error from the control plane. The attached config dump is the most recent accepted one. If no config is accepted yet, the attached config dump will be empty.", + "Client timed out waiting for the resource from the control plane." ], "type": "string" }, @@ -653,14 +673,18 @@ "REQUESTED", "DOES_NOT_EXIST", "ACKED", - "NACKED" + "NACKED", + "RECEIVED_ERROR", + "TIMEOUT" ], "enumDescriptions": [ "Resource status is not available/unknown.", "Client requested this resource but hasn't received any update from management server. The client will not fail requests, but will queue them until update arrives or the client times out waiting for the resource.", "This resource has been requested by the client but has either not been delivered by the server or was previously delivered by the server and then subsequently removed from resources provided by the server. For more information, please refer to the :ref:`\"Knowing When a Requested Resource Does Not Exist\" ` section.", "Client received this resource and replied with ACK.", - "Client received this resource and replied with NACK." + "Client received this resource and replied with NACK.", + "Client received an error from the control plane. The attached config dump is the most recent accepted one. If no config is accepted yet, the attached config dump will be empty.", + "Client timed out waiting for the resource from the control plane." ], "type": "string" }, @@ -939,13 +963,15 @@ "CLIENT_UNKNOWN", "CLIENT_REQUESTED", "CLIENT_ACKED", - "CLIENT_NACKED" + "CLIENT_NACKED", + "CLIENT_RECEIVED_ERROR" ], "enumDescriptions": [ "Config status is not available/unknown.", "Client requested the config but hasn't received any config from management server yet.", "Client received the config and replied with ACK.", - "Client received the config and replied with NACK. Notably, the attached config dump is not the NACKed version, but the most recent accepted one. If no config is accepted yet, the attached config dump will be empty." + "Client received the config and replied with NACK. Notably, the attached config dump is not the NACKed version, but the most recent accepted one. If no config is accepted yet, the attached config dump will be empty.", + "Client received an error from the control plane. The attached config dump is the most recent accepted one. If no config is accepted yet, the attached config dump will be empty." ], "type": "string" }, diff --git a/discovery/googleapis/transcoder__v1.json b/discovery/googleapis/transcoder__v1.json index 2c8364550..c538057ce 100644 --- a/discovery/googleapis/transcoder__v1.json +++ b/discovery/googleapis/transcoder__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241009", + "revision": "20250219", "rootUrl": "https://transcoder.googleapis.com/", "servicePath": "", "title": "Transcoder API", @@ -1488,7 +1488,7 @@ "id": "MuxStream", "properties": { "container": { - "description": "The container format. The default is `mp4` Supported container formats: - `ts` - `fmp4`- the corresponding file extension is `.m4s` - `mp4` - `vtt` - `ogg` See also: [Supported input and output formats](https://cloud.google.com/transcoder/docs/concepts/supported-input-and-output-formats)", + "description": "The container format. The default is `mp4` Supported streaming formats: - `ts` - `fmp4`- the corresponding file extension is `.m4s` Supported standalone file formats: - `mp4` - `mp3` - `ogg` - `vtt` See also: [Supported input and output formats](https://cloud.google.com/transcoder/docs/concepts/supported-input-and-output-formats)", "type": "string" }, "elementaryStreams": { diff --git a/discovery/googleapis/travelimpactmodel__v1.json b/discovery/googleapis/travelimpactmodel__v1.json index 5c6e9a61d..c0dbdae1a 100644 --- a/discovery/googleapis/travelimpactmodel__v1.json +++ b/discovery/googleapis/travelimpactmodel__v1.json @@ -16,7 +16,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241027", + "revision": "20250224", "rootUrl": "https://travelimpactmodel.googleapis.com/", "servicePath": "", "title": "Travel Impact Model API", @@ -103,7 +103,7 @@ "flights": { "methods": { "computeFlightEmissions": { - "description": "Stateless method to retrieve emission estimates. Details on how emission estimates are computed: https://github.com/google/travel-impact-model The response will contain all entries that match the input flight legs, in the same order. If there are no estimates available for a certain flight leg, the response will return the flight leg object with empty emission fields. The request will still be considered successful. Reasons for missing emission estimates include: - The flight is unknown to the server. - The input flight leg is missing one or more identifiers. - The flight date is in the past. - The aircraft type is not supported by the model. - Missing seat configuration. The request can contain up to 1000 flight legs. If the request has more than 1000 direct flights, if will fail with an INVALID_ARGUMENT error.", + "description": "Stateless method to retrieve emission estimates. Details on how emission estimates are computed: https://github.com/google/travel-impact-model The response will contain all entries that match the input flight legs, in the same order. If there are no estimates available for a certain flight leg, the response will return the flight leg object with empty emission fields. The request will still be considered successful. Reasons for missing emission estimates include: * The flight is unknown to the server. * The input flight leg is missing one or more identifiers. * The flight date is in the past. * The aircraft type is not supported by the model. * Missing seat configuration. The request can contain up to 1000 flight legs. If the request has more than 1000 direct flights, if will fail with an INVALID_ARGUMENT error.", "flatPath": "v1/flights:computeFlightEmissions", "httpMethod": "POST", "id": "travelimpactmodel.flights.computeFlightEmissions", diff --git a/discovery/googleapis/vault__v1.json b/discovery/googleapis/vault__v1.json index a57e680dd..602a6d6d3 100644 --- a/discovery/googleapis/vault__v1.json +++ b/discovery/googleapis/vault__v1.json @@ -28,7 +28,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241121", + "revision": "20250212", "rootUrl": "https://vault.googleapis.com/", "servicePath": "", "title": "Google Vault API", @@ -1348,13 +1348,15 @@ "EXPORT_FORMAT_UNSPECIFIED", "MBOX", "PST", - "ICS" + "ICS", + "XML" ], "enumDescriptions": [ "No export format specified.", "Export as MBOX. Only available for Gmail, Groups, Hangouts and Voice.", "Export as PST. Only available for Gmail, Groups, Hangouts, Voice and Calendar.", - "Export as ICS. Only available for Calendar." + "Export as ICS. Only available for Calendar.", + "Export as XML. Only available for Gemini." ], "type": "string" } @@ -1577,6 +1579,31 @@ }, "type": "object" }, + "DriveDocumentIds": { + "description": "Specify Drive documents by document ID.", + "id": "DriveDocumentIds", + "properties": { + "ids": { + "description": "Required. A list of Drive document IDs.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "DriveDocumentInfo": { + "description": "The Drive documents to search.", + "id": "DriveDocumentInfo", + "properties": { + "documentIds": { + "$ref": "DriveDocumentIds", + "description": "Specify Drive documents by document ID." + } + }, + "type": "object" + }, "DriveExportOptions": { "description": "Options for Drive exports.", "id": "DriveExportOptions", @@ -1589,7 +1616,7 @@ "type": "object" }, "DriveOptions": { - "description": "Additional options for Drive search", + "description": "Additional options for Drive search.", "id": "DriveOptions", "properties": { "clientSideEncryptedOption": { @@ -1609,6 +1636,7 @@ "type": "string" }, "includeSharedDrives": { + "deprecated": true, "description": "Set to **true** to include shared drives.", "type": "boolean" }, @@ -1708,6 +1736,10 @@ "$ref": "DriveExportOptions", "description": "Options for Drive exports." }, + "geminiOptions": { + "$ref": "GeminiExportOptions", + "description": "Option available for Gemini export." + }, "groupsOptions": { "$ref": "GroupsExportOptions", "description": "Options for Groups exports." @@ -1765,6 +1797,37 @@ }, "type": "object" }, + "GeminiExportOptions": { + "description": "The options for Gemini exports.", + "id": "GeminiExportOptions", + "properties": { + "exportFormat": { + "description": "The file format for exported messages.", + "enum": [ + "EXPORT_FORMAT_UNSPECIFIED", + "MBOX", + "PST", + "ICS", + "XML" + ], + "enumDescriptions": [ + "No export format specified.", + "Export as MBOX. Only available for Gmail, Groups, Hangouts and Voice.", + "Export as PST. Only available for Gmail, Groups, Hangouts, Voice and Calendar.", + "Export as ICS. Only available for Calendar.", + "Export as XML. Only available for Gemini." + ], + "type": "string" + } + }, + "type": "object" + }, + "GeminiOptions": { + "description": "Additional options for Gemini search", + "id": "GeminiOptions", + "properties": {}, + "type": "object" + }, "GroupsCountResult": { "description": "Groups specific count metrics.", "id": "GroupsCountResult", @@ -1813,13 +1876,15 @@ "EXPORT_FORMAT_UNSPECIFIED", "MBOX", "PST", - "ICS" + "ICS", + "XML" ], "enumDescriptions": [ "No export format specified.", "Export as MBOX. Only available for Gmail, Groups, Hangouts and Voice.", "Export as PST. Only available for Gmail, Groups, Hangouts, Voice and Calendar.", - "Export as ICS. Only available for Calendar." + "Export as ICS. Only available for Calendar.", + "Export as XML. Only available for Gemini." ], "type": "string" } @@ -1836,13 +1901,15 @@ "EXPORT_FORMAT_UNSPECIFIED", "MBOX", "PST", - "ICS" + "ICS", + "XML" ], "enumDescriptions": [ "No export format specified.", "Export as MBOX. Only available for Gmail, Groups, Hangouts and Voice.", "Export as PST. Only available for Gmail, Groups, Hangouts, Voice and Calendar.", - "Export as ICS. Only available for Calendar." + "Export as ICS. Only available for Calendar.", + "Export as XML. Only available for Gemini." ], "type": "string" } @@ -2039,7 +2106,8 @@ "GROUPS", "HANGOUTS_CHAT", "VOICE", - "CALENDAR" + "CALENDAR", + "GEMINI" ], "enumDescriptions": [ "No service specified.", @@ -2048,7 +2116,8 @@ "Groups.", "For export, Google Chat only. For holds, Google Chat and classic Hangouts.", "Google Voice.", - "Calendar." + "Calendar.", + "Gemini." ], "type": "string" }, @@ -2228,13 +2297,15 @@ "EXPORT_FORMAT_UNSPECIFIED", "MBOX", "PST", - "ICS" + "ICS", + "XML" ], "enumDescriptions": [ "No export format specified.", "Export as MBOX. Only available for Gmail, Groups, Hangouts and Voice.", "Export as PST. Only available for Gmail, Groups, Hangouts, Voice and Calendar.", - "Export as ICS. Only available for Calendar." + "Export as ICS. Only available for Calendar.", + "Export as XML. Only available for Gemini." ], "type": "string" }, @@ -2430,7 +2501,8 @@ "GROUPS", "HANGOUTS_CHAT", "VOICE", - "CALENDAR" + "CALENDAR", + "GEMINI" ], "enumDescriptions": [ "No service specified.", @@ -2439,7 +2511,8 @@ "Groups.", "For export, Google Chat only. For holds, Google Chat and classic Hangouts.", "Google Voice.", - "Calendar." + "Calendar.", + "Gemini." ], "type": "string" }, @@ -2459,6 +2532,10 @@ ], "type": "string" }, + "driveDocumentInfo": { + "$ref": "DriveDocumentInfo", + "description": "Required when **SearchMethod** is **DRIVE_DOCUMENT**." + }, "driveOptions": { "$ref": "DriveOptions", "description": "Set Drive search-specific options." @@ -2468,6 +2545,10 @@ "format": "google-datetime", "type": "string" }, + "geminiOptions": { + "$ref": "GeminiOptions", + "description": "Set Gemini search-specific options." + }, "hangoutsChatInfo": { "$ref": "HangoutsChatInfo", "description": "Required when **SearchMethod** is **ROOM**. (read-only)" @@ -2490,7 +2571,8 @@ "ENTIRE_ORG", "ROOM", "SITES_URL", - "SHARED_DRIVE" + "SHARED_DRIVE", + "DRIVE_DOCUMENT" ], "enumDeprecated": [ false, @@ -2500,6 +2582,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -2510,7 +2593,8 @@ "Search the data of all accounts in the organization. Supported only for Gmail. When specified, you don't need to specify **AccountInfo** or **OrgUnitInfo**.", "Search messages in the Chat spaces specified in [HangoutsChatInfo](https://developers.google.com/vault/reference/rest/v1/Query#hangoutschatinfo).", "Search for sites by the published site URLs specified in [SitesUrlInfo](https://developers.google.com/vault/reference/rest/v1/Query#sitesurlinfo).", - "Search the files in the shared drives specified in [SharedDriveInfo](https://developers.google.com/vault/reference/rest/v1/Query#shareddriveinfo)." + "Search the files in the shared drives specified in [SharedDriveInfo](https://developers.google.com/vault/reference/rest/v1/Query#shareddriveinfo).", + "Retrieve the documents specified in DriveDocumentInfo." ], "type": "string" }, @@ -2529,7 +2613,8 @@ "ENTIRE_ORG", "ROOM", "SITES_URL", - "SHARED_DRIVE" + "SHARED_DRIVE", + "DRIVE_DOCUMENT" ], "enumDeprecated": [ false, @@ -2539,6 +2624,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -2549,7 +2635,8 @@ "Search the data of all accounts in the organization. Supported only for Gmail. When specified, you don't need to specify **AccountInfo** or **OrgUnitInfo**.", "Search messages in the Chat spaces specified in [HangoutsChatInfo](https://developers.google.com/vault/reference/rest/v1/Query#hangoutschatinfo).", "Search for sites by the published site URLs specified in [SitesUrlInfo](https://developers.google.com/vault/reference/rest/v1/Query#sitesurlinfo).", - "Search the files in the shared drives specified in [SharedDriveInfo](https://developers.google.com/vault/reference/rest/v1/Query#shareddriveinfo)." + "Search the files in the shared drives specified in [SharedDriveInfo](https://developers.google.com/vault/reference/rest/v1/Query#shareddriveinfo).", + "Retrieve the documents specified in DriveDocumentInfo." ], "type": "string" }, @@ -2772,13 +2859,15 @@ "EXPORT_FORMAT_UNSPECIFIED", "MBOX", "PST", - "ICS" + "ICS", + "XML" ], "enumDescriptions": [ "No export format specified.", "Export as MBOX. Only available for Gmail, Groups, Hangouts and Voice.", "Export as PST. Only available for Gmail, Groups, Hangouts, Voice and Calendar.", - "Export as ICS. Only available for Calendar." + "Export as ICS. Only available for Calendar.", + "Export as XML. Only available for Gemini." ], "type": "string" } diff --git a/discovery/googleapis/verifiedaccess__v2.json b/discovery/googleapis/verifiedaccess__v2.json index 52e88a68e..d657dddb5 100644 --- a/discovery/googleapis/verifiedaccess__v2.json +++ b/discovery/googleapis/verifiedaccess__v2.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241112", + "revision": "20250225", "rootUrl": "https://verifiedaccess.googleapis.com/", "servicePath": "", "title": "Chrome Verified Access API", @@ -151,6 +151,30 @@ } }, "schemas": { + "Antivirus": { + "description": "Antivirus information on a device.", + "id": "Antivirus", + "properties": { + "state": { + "description": "Output only. The state of the antivirus on the device. Introduced in Chrome M136.", + "enum": [ + "STATE_UNSPECIFIED", + "MISSING", + "DISABLED", + "ENABLED" + ], + "enumDescriptions": [ + "Unspecified.", + "No antivirus was detected on the device.", + "At least one antivirus was installed on the device but none was enabled.", + "At least one antivirus was enabled on the device." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Challenge": { "description": "Result message for VerifiedAccess.GenerateChallenge.", "id": "Challenge", @@ -168,11 +192,13 @@ "id": "CrowdStrikeAgent", "properties": { "agentId": { - "description": "The Agent ID of the Crowdstrike agent.", + "description": "Output only. The Agent ID of the Crowdstrike agent.", + "readOnly": true, "type": "string" }, "customerId": { - "description": "The Customer ID to which the agent belongs to.", + "description": "Output only. The Customer ID to which the agent belongs to.", + "readOnly": true, "type": "string" } }, @@ -183,46 +209,60 @@ "id": "DeviceSignals", "properties": { "allowScreenLock": { - "description": "Value of the AllowScreenLock policy on the device. See https://chromeenterprise.google/policies/?policy=AllowScreenLock for more details. Available on ChromeOS only.", + "description": "Output only. Value of the AllowScreenLock policy on the device. See https://chromeenterprise.google/policies/?policy=AllowScreenLock for more details. Available on ChromeOS only.", + "readOnly": true, "type": "boolean" }, + "antivirus": { + "$ref": "Antivirus", + "description": "Output only. Information about Antivirus software on the device. Available on Windows only.", + "readOnly": true + }, "browserVersion": { - "description": "Current version of the Chrome browser which generated this set of signals. Example value: \"107.0.5286.0\".", + "description": "Output only. Current version of the Chrome browser which generated this set of signals. Example value: \"107.0.5286.0\".", + "readOnly": true, "type": "string" }, "builtInDnsClientEnabled": { - "description": "Whether Chrome's built-in DNS client is used. The OS DNS client is otherwise used. This value may be controlled by an enterprise policy: https://chromeenterprise.google/policies/#BuiltInDnsClientEnabled.", + "description": "Output only. Whether Chrome's built-in DNS client is used. The OS DNS client is otherwise used. This value may be controlled by an enterprise policy: https://chromeenterprise.google/policies/#BuiltInDnsClientEnabled.", + "readOnly": true, "type": "boolean" }, "chromeRemoteDesktopAppBlocked": { - "description": "Whether access to the Chrome Remote Desktop application is blocked via a policy.", + "description": "Output only. Whether access to the Chrome Remote Desktop application is blocked via a policy.", + "readOnly": true, "type": "boolean" }, "crowdStrikeAgent": { "$ref": "CrowdStrikeAgent", - "description": "Crowdstrike agent properties installed on the device, if any. Available on Windows and MacOS only." + "description": "Output only. Crowdstrike agent properties installed on the device, if any. Available on Windows and MacOS only.", + "readOnly": true }, "deviceAffiliationIds": { - "description": "Affiliation IDs of the organizations that are affiliated with the organization that is currently managing the device. When the sets of device and profile affiliation IDs overlap, it means that the organizations managing the device and user are affiliated. To learn more about user affiliation, visit https://support.google.com/chrome/a/answer/12801245?ref_topic=9027936.", + "description": "Output only. Affiliation IDs of the organizations that are affiliated with the organization that is currently managing the device. When the sets of device and profile affiliation IDs overlap, it means that the organizations managing the device and user are affiliated. To learn more about user affiliation, visit https://support.google.com/chrome/a/answer/12801245?ref_topic=9027936.", "items": { "type": "string" }, + "readOnly": true, "type": "array" }, "deviceEnrollmentDomain": { - "description": "Enrollment domain of the customer which is currently managing the device.", + "description": "Output only. Enrollment domain of the customer which is currently managing the device.", + "readOnly": true, "type": "string" }, "deviceManufacturer": { - "description": "The name of the device's manufacturer.", + "description": "Output only. The name of the device's manufacturer.", + "readOnly": true, "type": "string" }, "deviceModel": { - "description": "The name of the device's model.", + "description": "Output only. The name of the device's model.", + "readOnly": true, "type": "string" }, "diskEncryption": { - "description": "The encryption state of the disk. On ChromeOS, the main disk is always ENCRYPTED.", + "description": "Output only. The encryption state of the disk. On ChromeOS, the main disk is always ENCRYPTED.", "enum": [ "DISK_ENCRYPTION_UNSPECIFIED", "DISK_ENCRYPTION_UNKNOWN", @@ -235,10 +275,12 @@ "The main disk is not encrypted.", "The main disk is encrypted." ], + "readOnly": true, "type": "string" }, "displayName": { - "description": "The display name of the device, as defined by the user.", + "description": "Output only. The display name of the device, as defined by the user.", + "readOnly": true, "type": "string" }, "hostname": { @@ -246,28 +288,31 @@ "type": "string" }, "imei": { - "description": "International Mobile Equipment Identity (IMEI) of the device. Available on ChromeOS only.", + "description": "Output only. International Mobile Equipment Identity (IMEI) of the device. Available on ChromeOS only.", "items": { "type": "string" }, + "readOnly": true, "type": "array" }, "macAddresses": { - "description": "MAC addresses of the device.", + "description": "Output only. MAC addresses of the device.", "items": { "type": "string" }, + "readOnly": true, "type": "array" }, "meid": { - "description": "Mobile Equipment Identifier (MEID) of the device. Available on ChromeOS only.", + "description": "Output only. Mobile Equipment Identifier (MEID) of the device. Available on ChromeOS only.", "items": { "type": "string" }, + "readOnly": true, "type": "array" }, "operatingSystem": { - "description": "The type of the Operating System currently running on the device.", + "description": "Output only. The type of the Operating System currently running on the device.", "enum": [ "OPERATING_SYSTEM_UNSPECIFIED", "CHROME_OS", @@ -284,10 +329,11 @@ "Mac Os X.", "Linux" ], + "readOnly": true, "type": "string" }, "osFirewall": { - "description": "The state of the OS level firewall. On ChromeOS, the value will always be ENABLED on regular devices and UNKNOWN on devices in developer mode. Support for MacOS 15 (Sequoia) and later has been introduced in Chrome M131.", + "description": "Output only. The state of the OS level firewall. On ChromeOS, the value will always be ENABLED on regular devices and UNKNOWN on devices in developer mode. Support for MacOS 15 (Sequoia) and later has been introduced in Chrome M131.", "enum": [ "OS_FIREWALL_UNSPECIFIED", "OS_FIREWALL_UNKNOWN", @@ -300,14 +346,16 @@ "The OS firewall is disabled.", "The OS firewall is enabled." ], + "readOnly": true, "type": "string" }, "osVersion": { - "description": "The current version of the Operating System. On Windows and linux, the value will also include the security patch information.", + "description": "Output only. The current version of the Operating System. On Windows and linux, the value will also include the security patch information.", + "readOnly": true, "type": "string" }, "passwordProtectionWarningTrigger": { - "description": "Whether the Password Protection Warning feature is enabled or not. Password protection alerts users when they reuse their protected password on potentially suspicious sites. This setting is controlled by an enterprise policy: https://chromeenterprise.google/policies/#PasswordProtectionWarningTrigger. Note that the policy unset does not have the same effects as having the policy explicitly set to `PASSWORD_PROTECTION_OFF`.", + "description": "Output only. Whether the Password Protection Warning feature is enabled or not. Password protection alerts users when they reuse their protected password on potentially suspicious sites. This setting is controlled by an enterprise policy: https://chromeenterprise.google/policies/#PasswordProtectionWarningTrigger. Note that the policy unset does not have the same effects as having the policy explicitly set to `PASSWORD_PROTECTION_OFF`.", "enum": [ "PASSWORD_PROTECTION_WARNING_TRIGGER_UNSPECIFIED", "POLICY_UNSET", @@ -322,21 +370,24 @@ "Password protection warning is shown if a protected password is re-used.", "Password protection warning is shown if a protected password is re-used on a known phishing website." ], + "readOnly": true, "type": "string" }, "profileAffiliationIds": { - "description": "Affiliation IDs of the organizations that are affiliated with the organization that is currently managing the Chrome Profile’s user or ChromeOS user.", + "description": "Output only. Affiliation IDs of the organizations that are affiliated with the organization that is currently managing the Chrome Profile’s user or ChromeOS user.", "items": { "type": "string" }, + "readOnly": true, "type": "array" }, "profileEnrollmentDomain": { - "description": "Enrollment domain of the customer which is currently managing the profile.", + "description": "Output only. Enrollment domain of the customer which is currently managing the profile.", + "readOnly": true, "type": "string" }, "realtimeUrlCheckMode": { - "description": "Whether Enterprise-grade (i.e. custom) unsafe URL scanning is enabled or not. This setting may be controlled by an enterprise policy: https://chromeenterprise.google/policies/#EnterpriseRealTimeUrlCheckMode", + "description": "Output only. Whether Enterprise-grade (i.e. custom) unsafe URL scanning is enabled or not. This setting may be controlled by an enterprise policy: https://chromeenterprise.google/policies/#EnterpriseRealTimeUrlCheckMode", "enum": [ "REALTIME_URL_CHECK_MODE_UNSPECIFIED", "REALTIME_URL_CHECK_MODE_DISABLED", @@ -347,10 +398,11 @@ "Disabled. Consumer Safe Browsing checks are applied.", "Realtime check for main frame URLs is enabled." ], + "readOnly": true, "type": "string" }, "safeBrowsingProtectionLevel": { - "description": "Safe Browsing Protection Level. That setting may be controlled by an enterprise policy: https://chromeenterprise.google/policies/#SafeBrowsingProtectionLevel.", + "description": "Output only. Safe Browsing Protection Level. That setting may be controlled by an enterprise policy: https://chromeenterprise.google/policies/#SafeBrowsingProtectionLevel.", "enum": [ "SAFE_BROWSING_PROTECTION_LEVEL_UNSPECIFIED", "INACTIVE", @@ -363,10 +415,11 @@ "Safe Browsing is active in the standard mode.", "Safe Browsing is active in the enhanced mode." ], + "readOnly": true, "type": "string" }, "screenLockSecured": { - "description": "The state of the Screen Lock password protection. On ChromeOS, this value will always be ENABLED as there is not way to disable requiring a password or pin when unlocking the device.", + "description": "Output only. The state of the Screen Lock password protection. On ChromeOS, this value will always be ENABLED as there is not way to disable requiring a password or pin when unlocking the device.", "enum": [ "SCREEN_LOCK_SECURED_UNSPECIFIED", "SCREEN_LOCK_SECURED_UNKNOWN", @@ -379,10 +432,11 @@ "The Screen Lock is not password-protected.", "The Screen Lock is password-protected." ], + "readOnly": true, "type": "string" }, "secureBootMode": { - "description": "Whether the device's startup software has its Secure Boot feature enabled. Available on Windows only.", + "description": "Output only. Whether the device's startup software has its Secure Boot feature enabled. Available on Windows only.", "enum": [ "SECURE_BOOT_MODE_UNSPECIFIED", "SECURE_BOOT_MODE_UNKNOWN", @@ -395,14 +449,17 @@ "Secure Boot was disabled on the startup software.", "Secure Boot was enabled on the startup software." ], + "readOnly": true, "type": "string" }, "serialNumber": { - "description": "The serial number of the device. On Windows, this represents the BIOS's serial number. Not available on most Linux distributions.", + "description": "Output only. The serial number of the device. On Windows, this represents the BIOS's serial number. Not available on most Linux distributions.", + "readOnly": true, "type": "string" }, "siteIsolationEnabled": { - "description": "Whether the Site Isolation (a.k.a Site Per Process) setting is enabled. That setting may be controlled by an enterprise policy: https://chromeenterprise.google/policies/#SitePerProcess", + "description": "Output only. Whether the Site Isolation (a.k.a Site Per Process) setting is enabled. That setting may be controlled by an enterprise policy: https://chromeenterprise.google/policies/#SitePerProcess", + "readOnly": true, "type": "boolean" }, "systemDnsServers": { @@ -413,11 +470,12 @@ "type": "array" }, "thirdPartyBlockingEnabled": { - "description": "Whether Chrome is blocking third-party software injection or not. This setting may be controlled by an enterprise policy: https://chromeenterprise.google/policies/?policy=ThirdPartyBlockingEnabled. Available on Windows only.", + "description": "Output only. Whether Chrome is blocking third-party software injection or not. This setting may be controlled by an enterprise policy: https://chromeenterprise.google/policies/?policy=ThirdPartyBlockingEnabled. Available on Windows only.", + "readOnly": true, "type": "boolean" }, "trigger": { - "description": "The trigger which generated this set of signals.", + "description": "Output only. The trigger which generated this set of signals.", "enum": [ "TRIGGER_UNSPECIFIED", "TRIGGER_BROWSER_NAVIGATION", @@ -428,14 +486,17 @@ "When navigating to an URL inside a browser.", "When signing into an account on the ChromeOS login screen." ], + "readOnly": true, "type": "string" }, "windowsMachineDomain": { - "description": "Windows domain that the current machine has joined. Available on Windows only.", + "description": "Output only. Windows domain that the current machine has joined. Available on Windows only.", + "readOnly": true, "type": "string" }, "windowsUserDomain": { - "description": "Windows domain for the current OS user. Available on Windows only.", + "description": "Output only. Windows domain for the current OS user. Available on Windows only.", + "readOnly": true, "type": "string" } }, @@ -468,31 +529,37 @@ "id": "VerifyChallengeResponseResult", "properties": { "attestedDeviceId": { - "description": "Attested device ID (ADID).", + "description": "Output only. Attested device ID (ADID).", + "readOnly": true, "type": "string" }, "customerId": { - "description": "Unique customer id that this device belongs to, as defined by the Google Admin SDK at https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers", + "description": "Output only. Unique customer id that this device belongs to, as defined by the Google Admin SDK at https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers", + "readOnly": true, "type": "string" }, "deviceEnrollmentId": { - "description": "Device enrollment id for ChromeOS devices.", + "description": "Output only. Device enrollment id for ChromeOS devices.", + "readOnly": true, "type": "string" }, "devicePermanentId": { - "description": "Device permanent id is returned in this field (for the machine response only).", + "description": "Output only. Device permanent id is returned in this field (for the machine response only).", + "readOnly": true, "type": "string" }, "deviceSignal": { - "description": "Deprecated. Device signal in json string representation. Prefer using `device_signals` instead.", + "description": "Output only. Deprecated. Device signal in json string representation. Prefer using `device_signals` instead.", + "readOnly": true, "type": "string" }, "deviceSignals": { "$ref": "DeviceSignals", - "description": "Device signals." + "description": "Output only. Device signals.", + "readOnly": true }, "keyTrustLevel": { - "description": "Device attested key trust level.", + "description": "Output only. Device attested key trust level.", "enum": [ "KEY_TRUST_LEVEL_UNSPECIFIED", "CHROME_OS_VERIFIED_MODE", @@ -509,14 +576,16 @@ "Chrome Browser with the key stored at OS level.", "Chrome Browser without an attestation key." ], + "readOnly": true, "type": "string" }, "profileCustomerId": { - "description": "Unique customer id that this profile belongs to, as defined by the Google Admin SDK at https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers", + "description": "Output only. Unique customer id that this profile belongs to, as defined by the Google Admin SDK at https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers", + "readOnly": true, "type": "string" }, "profileKeyTrustLevel": { - "description": "Profile attested key trust level.", + "description": "Output only. Profile attested key trust level.", "enum": [ "KEY_TRUST_LEVEL_UNSPECIFIED", "CHROME_OS_VERIFIED_MODE", @@ -533,18 +602,27 @@ "Chrome Browser with the key stored at OS level.", "Chrome Browser without an attestation key." ], + "readOnly": true, + "type": "string" + }, + "profilePermanentId": { + "description": "Output only. The unique server-side ID of a profile on the device.", + "readOnly": true, "type": "string" }, "signedPublicKeyAndChallenge": { - "description": "Certificate Signing Request (in the SPKAC format, base64 encoded) is returned in this field. This field will be set only if device has included CSR in its challenge response. (the option to include CSR is now available for both user and machine responses)", + "description": "Output only. Certificate Signing Request (in the SPKAC format, base64 encoded) is returned in this field. This field will be set only if device has included CSR in its challenge response. (the option to include CSR is now available for both user and machine responses)", + "readOnly": true, "type": "string" }, "virtualDeviceId": { - "description": "Virtual device id of the device. The definition of virtual device id is platform-specific.", + "description": "Output only. Virtual device id of the device. The definition of virtual device id is platform-specific.", + "readOnly": true, "type": "string" }, "virtualProfileId": { - "description": "The ID of a profile on the device.", + "description": "Output only. The client-provided ID of a profile on the device.", + "readOnly": true, "type": "string" } }, diff --git a/discovery/googleapis/videointelligence__v1.json b/discovery/googleapis/videointelligence__v1.json index 465a14c03..70d254e54 100644 --- a/discovery/googleapis/videointelligence__v1.json +++ b/discovery/googleapis/videointelligence__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20231214", + "revision": "20250130", "rootUrl": "https://videointelligence.googleapis.com/", "servicePath": "", "title": "Cloud Video Intelligence API", @@ -118,7 +118,7 @@ "operations": { "methods": { "cancel": { - "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/operations/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "videointelligence.operations.projects.locations.operations.cancel", @@ -207,7 +207,7 @@ "operations": { "methods": { "cancel": { - "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "videointelligence.projects.locations.operations.cancel", diff --git a/discovery/googleapis/vmmigration__v1.json b/discovery/googleapis/vmmigration__v1.json index 1721e7615..a42590475 100644 --- a/discovery/googleapis/vmmigration__v1.json +++ b/discovery/googleapis/vmmigration__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241114", + "revision": "20250213", "rootUrl": "https://vmmigration.googleapis.com/", "servicePath": "", "title": "VM Migration API", @@ -2312,7 +2312,7 @@ "type": "object" }, "AvailableUpdates": { - "description": "Holds informatiom about the available versions for upgrade.", + "description": "Holds information about the available versions for upgrade.", "id": "AvailableUpdates", "properties": { "inPlaceUpdate": { @@ -3516,7 +3516,7 @@ "type": "object" }, "CutoverJob": { - "description": "CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and clonning the VM using the replicated snapshot.", + "description": "CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and cloning the VM using the replicated snapshot.", "id": "CutoverJob", "properties": { "computeEngineDisksTargetDetails": { @@ -5809,12 +5809,14 @@ "enum": [ "OS_CAPABILITY_UNSPECIFIED", "OS_CAPABILITY_NVME_STORAGE_ACCESS", - "OS_CAPABILITY_GVNIC_NETWORK_INTERFACE" + "OS_CAPABILITY_GVNIC_NETWORK_INTERFACE", + "OS_CAPABILITY_IDPF_NETWORK_INTERFACE" ], "enumDescriptions": [ "This is for API compatibility only and is not in use.", "NVMe driver installed and the VM can use NVMe PD or local SSD.", - "gVNIC virtual NIC driver supported." + "gVNIC virtual NIC driver supported.", + "IDPF virtual NIC driver supported." ], "type": "string" }, diff --git a/discovery/googleapis/vmwareengine__v1.json b/discovery/googleapis/vmwareengine__v1.json index 421f1156e..79784a177 100644 --- a/discovery/googleapis/vmwareengine__v1.json +++ b/discovery/googleapis/vmwareengine__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241009", + "revision": "20250218", "rootUrl": "https://vmwareengine.googleapis.com/", "servicePath": "", "title": "VMware Engine API", @@ -206,6 +206,81 @@ } }, "resources": { + "announcements": { + "methods": { + "get": { + "description": "Retrieves a `Announcement` by its resource name.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/announcements/{announcementsId}", + "httpMethod": "GET", + "id": "vmwareengine.projects.locations.announcements.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the announcement to retrieve. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-west1-a/announcements/announcement-uuid`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/announcements/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Announcement" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists `Announcements` for a given region and project", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/announcements", + "httpMethod": "GET", + "id": "vmwareengine.projects.locations.announcements.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "A filter expression that matches resources returned in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be `=`, `!=`, `>`, or `<`. For example, if you are filtering a list of announcement runs, you can exclude the ones named `example-announcement` by specifying `name != \"example-announcement\"`. You can also filter nested fields. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (name = \"example-announcement\") (createTime > \"2021-04-12T08:15:10.40Z\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (name = \"announcement-1\") AND (createTime > \"2021-04-12T08:15:10.40Z\") OR (name = \"announcement-2\") ```", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, returned results are ordered by `name` in ascending order. You can also sort results in descending order based on the `name` value using `orderBy=\"name desc\"`. Currently, only ordering by `name` is supported.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of announcements to return in one page. The service may return fewer than this value. The maximum value is coerced to 1000. The default value of this field is 500.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListAnnouncements` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAnnouncements` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the location to be queried for announcements. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-west1-a`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/announcements", + "response": { + "$ref": "ListAnnouncementsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "dnsBindPermission": { "methods": { "grant": { @@ -2758,6 +2833,120 @@ ] } } + }, + "upgrades": { + "methods": { + "get": { + "description": "Retrieves a private cloud `Upgrade` resource by its resource name.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/privateClouds/{privateCloudsId}/upgrades/{upgradesId}", + "httpMethod": "GET", + "id": "vmwareengine.projects.locations.privateClouds.upgrades.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the `Upgrade` resource to be retrieved. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-west1-a/privateClouds/my-cloud/upgrades/my-upgrade`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/privateClouds/[^/]+/upgrades/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Upgrade" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists past, ongoing and upcoming `Upgrades` for the given private cloud.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/privateClouds/{privateCloudsId}/upgrades", + "httpMethod": "GET", + "id": "vmwareengine.projects.locations.privateClouds.upgrades.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "A filter expression that matches resources returned in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be `=`, `!=`, `>`, or `<`. For example, if you are filtering a list of upgrades, you can exclude the ones named `example-upgrade1` by specifying `name != \"example-upgrade1\"`. You can also filter nested fields. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (name = \"example-upgrade\") (createTime > \"2021-04-12T08:15:10.40Z\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (name = \"upgrade-1\") AND (createTime > \"2021-04-12T08:15:10.40Z\") OR (name = \"upgrade-2\") ```", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, returned results are ordered by `name` in ascending order. You can also sort results in descending order based on the `name` value using `orderBy=\"name desc\"`. Currently, only ordering by `name` is supported.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of `Upgrades` to return in one page. The service may return fewer resources than this value. The maximum value is coerced to 1000. The default value of this field is 500.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListUpgrades` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUpgrades` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Query a list of `Upgrades` for the given private cloud resource name. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-west1-a/privateClouds/my-cloud`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/privateClouds/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/upgrades", + "response": { + "$ref": "ListUpgradesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update the private cloud `Upgrade` resource. Only `schedule` field can updated. The schedule can only be updated when the upgrade has not started and schedule edit window is open. Only fields specified in `update_mask` are considered.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/privateClouds/{privateCloudsId}/upgrades/{upgradesId}", + "httpMethod": "PATCH", + "id": "vmwareengine.projects.locations.privateClouds.upgrades.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Identifier. The resource name of the private cloud `Upgrade`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-west1-a/privateClouds/my-cloud/upgrades/my-upgrade`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/privateClouds/[^/]+/upgrades/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server guarantees that a request doesn't result in creation of duplicate commitments for at least 60 minutes. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the `Upgrade` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Upgrade" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } }, @@ -3178,6 +3367,83 @@ } }, "schemas": { + "Announcement": { + "description": "Announcement for the resources of Vmware Engine.", + "id": "Announcement", + "properties": { + "activityType": { + "description": "Optional. Activity type of the announcement There can be only one active announcement for a given activity type and target resource.", + "type": "string" + }, + "cluster": { + "description": "A Cluster resource name.", + "type": "string" + }, + "code": { + "description": "Required. Code of the announcement. Indicates the presence of a VMware Engine related announcement and corresponds to a related message in the `description` field.", + "type": "string" + }, + "createTime": { + "description": "Output only. Creation time of this resource. It also serves as start time of notification.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Output only. Description of the announcement.", + "readOnly": true, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. Additional structured details about this announcement.", + "readOnly": true, + "type": "object" + }, + "name": { + "description": "Output only. The resource name of the announcement. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-west1-a/announcements/my-announcement-id`", + "readOnly": true, + "type": "string" + }, + "privateCloud": { + "description": "A Private Cloud resource name.", + "type": "string" + }, + "state": { + "description": "Output only. State of the resource. New values may be added to this enum when appropriate.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "INACTIVE", + "DELETING", + "CREATING" + ], + "enumDescriptions": [ + "The default value. This value should never be used.", + "Active announcement which should be visible to user.", + "Inactive announcement which should not be visible to user.", + "Announcement which is being deleted", + "Announcement which being created" + ], + "readOnly": true, + "type": "string" + }, + "targetResourceType": { + "description": "Output only. Target Resource Type defines the type of the target for the announcement", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Last update time of this resource.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "AuditConfig": { "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", "id": "AuditConfig", @@ -3379,6 +3645,30 @@ }, "type": "object" }, + "Constraints": { + "description": "Constraints to be applied while editing a schedule. These constraints ensure that `Upgrade` specific requirements are met.", + "id": "Constraints", + "properties": { + "minHoursDay": { + "description": "Output only. Minimum number of hours must be allotted for the upgrade activities for each selected day. This is a minimum; the upgrade schedule can allot more hours for the given day.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "minHoursWeek": { + "description": "Output only. The minimum number of weekly hours must be allotted for the upgrade activities. This is just a minimum; the schedule can assign more weekly hours.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "rescheduleDateRange": { + "$ref": "Interval", + "description": "Output only. Output Only. The user can only reschedule an upgrade that starts within this range.", + "readOnly": true + } + }, + "type": "object" + }, "Credentials": { "description": "Credentials for a private cloud.", "id": "Credentials", @@ -3770,6 +4060,23 @@ }, "type": "object" }, + "Interval": { + "description": "Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.", + "id": "Interval", + "properties": { + "endTime": { + "description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "IpRange": { "description": "An IP range provided in any one of the supported formats.", "id": "IpRange", @@ -3789,6 +4096,31 @@ }, "type": "object" }, + "ListAnnouncementsResponse": { + "description": "Response message for VmwareEngine.ListAnnouncements", + "id": "ListAnnouncementsResponse", + "properties": { + "announcements": { + "description": "A list of announcement runs.", + "items": { + "$ref": "Announcement" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "unreachable": { + "description": "list of unreachable locations", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListClustersResponse": { "description": "Response message for VmwareEngine.ListClusters", "id": "ListClustersResponse", @@ -4179,6 +4511,31 @@ }, "type": "object" }, + "ListUpgradesResponse": { + "description": "Response message for VmwareEngine.ListUpgrades.", + "id": "ListUpgradesResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "unreachable": { + "description": "List of unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, + "upgrades": { + "description": "A list of `Upgrades`.", + "items": { + "$ref": "Upgrade" + }, + "type": "array" + } + }, + "type": "object" + }, "ListVmwareEngineNetworksResponse": { "description": "Response message for VmwareEngine.ListVmwareEngineNetworks", "id": "ListVmwareEngineNetworksResponse", @@ -5309,6 +5666,50 @@ }, "type": "object" }, + "Schedule": { + "description": "Schedule for the upgrade.", + "id": "Schedule", + "properties": { + "constraints": { + "$ref": "Constraints", + "description": "Output only. Output Only. Constraints applied to the schedule. These constraints should be applicable at the time of any rescheduling.", + "readOnly": true + }, + "editWindow": { + "$ref": "Interval", + "description": "Output only. Output Only. The schedule is open for edits during this time interval or window.", + "readOnly": true + }, + "lastEditor": { + "description": "Output only. Output Only. Indicates who most recently edited the upgrade schedule. The value is updated whenever the upgrade is rescheduled.", + "enum": [ + "EDITOR_UNSPECIFIED", + "SYSTEM", + "USER" + ], + "enumDescriptions": [ + "The default value. This value should never be used.", + "The upgrade is scheduled by the System or internal service.", + "The upgrade is scheduled by the end user." + ], + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Required. The scheduled start time for the upgrade.", + "format": "google-datetime", + "type": "string" + }, + "weeklyWindows": { + "description": "Required. Weekly time windows for upgrade activities. The server performs upgrade activities during these time windows to minimize disruptions.", + "items": { + "$ref": "TimeWindow" + }, + "type": "array" + } + }, + "type": "object" + }, "SetIamPolicyRequest": { "description": "Request message for `SetIamPolicy` method.", "id": "SetIamPolicyRequest", @@ -5466,6 +5867,73 @@ }, "type": "object" }, + "TimeOfDay": { + "description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.", + "id": "TimeOfDay", + "properties": { + "hours": { + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "format": "int32", + "type": "integer" + }, + "minutes": { + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", + "format": "int32", + "type": "integer" + }, + "nanos": { + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", + "format": "int32", + "type": "integer" + }, + "seconds": { + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "TimeWindow": { + "description": "Represents the time window to perform upgrade activities.", + "id": "TimeWindow", + "properties": { + "dayOfWeek": { + "description": "Required. Day of the week for this window.", + "enum": [ + "DAY_OF_WEEK_UNSPECIFIED", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ], + "enumDescriptions": [ + "The day of the week is unspecified.", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "type": "string" + }, + "duration": { + "description": "Required. The duration of the window. The max allowed duration for any window is 24 hours.", + "format": "google-duration", + "type": "string" + }, + "startTime": { + "$ref": "TimeOfDay", + "description": "Required. Time in UTC when the window starts." + } + }, + "type": "object" + }, "UndeletePrivateCloudRequest": { "description": "Request message for VmwareEngine.UndeletePrivateCloud", "id": "UndeletePrivateCloudRequest", @@ -5477,6 +5945,135 @@ }, "type": "object" }, + "Upgrade": { + "description": "Describes Private cloud Upgrade.", + "id": "Upgrade", + "properties": { + "componentUpgrades": { + "description": "Output only. Output Only. The list of component upgrades.", + "items": { + "$ref": "VmwareUpgradeComponent" + }, + "readOnly": true, + "type": "array" + }, + "createTime": { + "description": "Output only. Output Only. Creation time of this resource.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Output only. Output Only. The description of the upgrade. This is used to provide additional information about the private cloud upgrade, such as the upgrade's purpose, the changes included in the upgrade, or any other relevant information about the upgrade.", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. Output Only. End time of the upgrade.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "estimatedDuration": { + "description": "Output only. Output Only. The estimated total duration of the upgrade. This information can be used to plan or schedule upgrades to minimize disruptions. Please note that the estimated duration is only an estimate. The actual upgrade duration may vary.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "The etag for the upgrade resource. If this is provided on update, it must match the server's etag.", + "type": "string" + }, + "name": { + "description": "Output only. Identifier. The resource name of the private cloud `Upgrade`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-west1-a/privateClouds/my-cloud/upgrades/my-upgrade`", + "readOnly": true, + "type": "string" + }, + "schedule": { + "$ref": "Schedule", + "description": "Schedule details for the upgrade." + }, + "startVersion": { + "description": "Output only. Output Only. The start version", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The current state of the upgrade.", + "enum": [ + "STATE_UNSPECIFIED", + "SCHEDULED", + "ONGOING", + "SUCCEEDED", + "PAUSED", + "FAILED", + "CANCELLING", + "CANCELLED", + "RESCHEDULING" + ], + "enumDescriptions": [ + "The default value. This value should never be used.", + "The upgrade is scheduled but not started yet.", + "The upgrade is currently in progress and has not completed yet.", + "The upgrade completed successfully.", + "The upgrade is currently paused.", + "The upgrade failed.", + "The upgrade is in process of being canceled.", + "The upgrade is canceled.", + "The upgrade is in process of being rescheduled." + ], + "readOnly": true, + "type": "string" + }, + "targetVersion": { + "description": "Output only. Output Only. The target version", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. Output Only. The type of upgrade.", + "enum": [ + "TYPE_UNSPECIFIED", + "VSPHERE_UPGRADE", + "VSPHERE_PATCH", + "WORKAROUND", + "FIRMWARE_UPGRADE", + "SWITCH_UPGRADE", + "OTHER", + "INFRASTRUCTURE_UPGRADE" + ], + "enumDescriptions": [ + "The default value. This value should never be used.", + "Upgrade of vmware components when a major version is available. 7.0u2 -> 7.0u3.", + "Patching of vmware components when a minor version is available. 7.0u2c -> 7.0u2d.", + "Workarounds are hotfixes for vulnerabilities or issues applied to mitigate the known vulnerability or issue until a patch or update is released. The description of the upgrade will have more details.", + "Firmware upgrade for VMware product used in the private cloud.", + "Switch upgrade.", + "The upgrade type that doesn't fall into any other category.", + "Infrastructure upgrade in BM node maintenance." + ], + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. System-generated unique identifier for the resource.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Output Only. Last update time of this resource.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "version": { + "description": "Output only. ", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Vcenter": { "description": "Details about a vCenter Server management appliance.", "id": "Vcenter", @@ -5589,6 +6186,73 @@ }, "type": "object" }, + "VmwareUpgradeComponent": { + "description": "Per component upgrade resource", + "id": "VmwareUpgradeComponent", + "properties": { + "componentType": { + "description": "Output only. Type of component", + "enum": [ + "VMWARE_COMPONENT_TYPE_UNSPECIFIED", + "VCENTER", + "ESXI", + "NSXT_UC", + "NSXT_EDGE", + "NSXT_MGR", + "HCX", + "VSAN", + "DVS", + "NAMESERVER_VM", + "KMS_VM", + "WITNESS_VM", + "NSXT", + "CLUSTER" + ], + "enumDescriptions": [ + "The default value. This value should never be used.", + "vcenter", + "esxi nodes + transport nodes", + "nsxt upgrade coordinator", + "nsxt edges cluster", + "nsxt managers/management plane", + "hcx", + "VSAN cluster", + "DVS switch", + "Nameserver VMs", + "KMS VM used for vsan encryption", + "witness VM in case of stretch PC", + "nsxt", + "Cluster is used in case of BM" + ], + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. Component's upgrade state.", + "enum": [ + "STATE_UNSPECIFIED", + "RUNNING", + "PAUSED", + "SUCCEEDED", + "FAILED", + "NOT_STARTED", + "NOT_APPLICABLE" + ], + "enumDescriptions": [ + "The default value. This value should never be used.", + "Component's upgrade is in progress", + "The component's upgrade is paused. Will be resumed when upgrade job is resumed", + "The component's upgrade is successfully completed", + "The component's upgrade has failed. This will move to resume if upgrade is resumed or stay as is", + "Component's upgrade has not started yet", + "Component's upgrade is not applicable in this upgrade. It will be skipped." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "VpcNetwork": { "description": "Represents a VMware Engine VPC network that is managed by a VMware Engine network resource.", "id": "VpcNetwork", diff --git a/discovery/googleapis/walletobjects__v1.json b/discovery/googleapis/walletobjects__v1.json index 5fc0a6ae6..8bf365f6c 100644 --- a/discovery/googleapis/walletobjects__v1.json +++ b/discovery/googleapis/walletobjects__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241203", + "revision": "20250303", "rootUrl": "https://walletobjects.googleapis.com/", "servicePath": "", "title": "Google Wallet API", @@ -2682,6 +2682,36 @@ ] } } + }, + "walletobjects": { + "resources": { + "v1": { + "resources": { + "privateContent": { + "methods": { + "setPassUpdateNotice": { + "description": "Provide Google with information about awaiting private pass update. This will allow Google to provide the update notification to the device that currently holds this pass.", + "flatPath": "walletobjects/v1/privateContent/setPassUpdateNotice", + "httpMethod": "POST", + "id": "walletobjects.walletobjects.v1.privateContent.setPassUpdateNotice", + "parameterOrder": [], + "parameters": {}, + "path": "walletobjects/v1/privateContent/setPassUpdateNotice", + "request": { + "$ref": "SetPassUpdateNoticeRequest" + }, + "response": { + "$ref": "SetPassUpdateNoticeResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/wallet_object.issuer" + ] + } + } + } + } + } + } } }, "schemas": { @@ -6165,7 +6195,7 @@ "type": "object" }, "Image": { - "description": "Wrapping type for Google hosted images. Next ID: 7", + "description": "Wrapping type for Google hosted images. Next ID: 8", "id": "Image", "properties": { "contentDescription": { @@ -8573,6 +8603,31 @@ }, "type": "object" }, + "SetPassUpdateNoticeRequest": { + "description": "Request to send a private pass update notice information to Google, so that devices can then fetch the notice prompting the user to update a pass.", + "id": "SetPassUpdateNoticeRequest", + "properties": { + "externalPassId": { + "description": "Required. A fully qualified identifier of the pass that the issuer wants to notify the pass holder(s) about. Formatted as .", + "type": "string" + }, + "updateUri": { + "description": "Required. The issuer endpoint URI the pass holder needs to follow in order to receive an updated pass JWT. It can not contain any sensitive information. The endpoint needs to authenticate the user before giving the user the updated JWT. Example update URI https://someissuer.com/update/passId=someExternalPassId", + "type": "string" + }, + "updatedPassJwtSignature": { + "description": "Required. The JWT signature of the updated pass that the issuer wants to notify Google about. Only devices that report a different JWT signature than this JWT signature will receive the update notification.", + "type": "string" + } + }, + "type": "object" + }, + "SetPassUpdateNoticeResponse": { + "description": "A response to a request to notify Google of an awaiting update to a private pass.", + "id": "SetPassUpdateNoticeResponse", + "properties": {}, + "type": "object" + }, "SignUpInfo": { "id": "SignUpInfo", "properties": { diff --git a/discovery/googleapis/webfonts__v1.json b/discovery/googleapis/webfonts__v1.json index 48b5f11e2..05dd14cab 100644 --- a/discovery/googleapis/webfonts__v1.json +++ b/discovery/googleapis/webfonts__v1.json @@ -16,7 +16,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20240508", + "revision": "20250121", "rootUrl": "https://webfonts.googleapis.com/", "servicePath": "", "title": "Web Fonts Developer API", @@ -124,6 +124,11 @@ "repeated": true, "type": "string" }, + "category": { + "description": "Filters by Webfont.category, if category is found in Webfont.categories. If not set, returns all families.", + "location": "query", + "type": "string" + }, "family": { "description": "Filters by Webfont.family, using literal match. If not set, returns all families", "location": "query", diff --git a/discovery/googleapis/websecurityscanner__v1.json b/discovery/googleapis/websecurityscanner__v1.json index cb93d39c9..7617833d0 100644 --- a/discovery/googleapis/websecurityscanner__v1.json +++ b/discovery/googleapis/websecurityscanner__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20231021", + "revision": "20250105", "rootUrl": "https://websecurityscanner.googleapis.com/", "servicePath": "", "title": "Web Security Scanner API", @@ -237,7 +237,7 @@ ], "parameters": { "name": { - "description": "The resource name of the ScanConfig. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}'. The ScanConfig IDs are generated by the system.", + "description": "Identifier. The resource name of the ScanConfig. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}'. The ScanConfig IDs are generated by the system.", "location": "path", "pattern": "^projects/[^/]+/scanConfigs/[^/]+$", "required": true, @@ -922,6 +922,9 @@ "description": "Whether to keep scanning even if most requests return HTTP error codes.", "type": "boolean" }, + "latestRun": { + "$ref": "ScanRun" + }, "managedScan": { "description": "Whether the scan config is managed by Web Security Scanner, output only.", "type": "boolean" @@ -932,7 +935,7 @@ "type": "integer" }, "name": { - "description": "The resource name of the ScanConfig. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}'. The ScanConfig IDs are generated by the system.", + "description": "Identifier. The resource name of the ScanConfig. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}'. The ScanConfig IDs are generated by the system.", "type": "string" }, "riskLevel": { @@ -964,6 +967,27 @@ "description": "Whether the scan configuration has enabled static IP address scan feature. If enabled, the scanner will access applications from static IP addresses.", "type": "boolean" }, + "targetPlatforms": { + "description": "Set of Google Cloud platforms targeted by the scan. If empty, APP_ENGINE will be used as a default.", + "items": { + "enum": [ + "TARGET_PLATFORM_UNSPECIFIED", + "APP_ENGINE", + "COMPUTE", + "CLOUD_RUN", + "CLOUD_FUNCTIONS" + ], + "enumDescriptions": [ + "The target platform is unknown. Requests with this enum value will be rejected with INVALID_ARGUMENT error.", + "Google App Engine service.", + "Google Compute Engine service.", + "Google Cloud Run service.", + "Google Cloud Function service." + ], + "type": "string" + }, + "type": "array" + }, "userAgent": { "description": "The user agent used during scanning.", "enum": [ diff --git a/discovery/googleapis/workflowexecutions__v1.json b/discovery/googleapis/workflowexecutions__v1.json index e79ecdce4..56e4346db 100644 --- a/discovery/googleapis/workflowexecutions__v1.json +++ b/discovery/googleapis/workflowexecutions__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241001", + "revision": "20250211", "rootUrl": "https://workflowexecutions.googleapis.com/", "servicePath": "", "title": "Workflow Executions API", @@ -653,7 +653,7 @@ "readOnly": true }, "executionHistoryLevel": { - "description": "Optional. Describes the level of the execution history feature to apply to this execution. If not specified, the level of the execution history feature will be determined by its workflow's execution history level. If the value is different from its workflow's value, it will override the workflow's execution history level for this exeuction.", + "description": "Optional. Describes the execution history level to apply to this execution. If not specified, the execution history level is determined by its workflow's execution history level. If the levels are different, the executionHistoryLevel overrides the workflow's execution history level for this execution.", "enum": [ "EXECUTION_HISTORY_LEVEL_UNSPECIFIED", "EXECUTION_HISTORY_BASIC", @@ -997,7 +997,7 @@ }, "navigationInfo": { "$ref": "NavigationInfo", - "description": "Output only. The NavigationInfo associated to this step.", + "description": "Output only. The NavigationInfo associated with this step.", "readOnly": true }, "routine": { @@ -1031,7 +1031,7 @@ }, "stepEntryMetadata": { "$ref": "StepEntryMetadata", - "description": "Output only. The StepEntryMetadata associated to this step.", + "description": "Output only. The StepEntryMetadata associated with this step.", "readOnly": true }, "stepType": { @@ -1091,7 +1091,7 @@ }, "variableData": { "$ref": "VariableData", - "description": "Output only. The VariableData associated to this step.", + "description": "Output only. The VariableData associated with this step.", "readOnly": true } }, diff --git a/discovery/googleapis/workflows__v1.json b/discovery/googleapis/workflows__v1.json index be8e9920b..46cef7425 100644 --- a/discovery/googleapis/workflows__v1.json +++ b/discovery/googleapis/workflows__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241204", + "revision": "20250212", "rootUrl": "https://workflows.googleapis.com/", "servicePath": "", "title": "Workflows API", @@ -779,7 +779,7 @@ "type": "string" }, "executionHistoryLevel": { - "description": "Optional. Describes the level of the execution history feature to apply to this workflow.", + "description": "Optional. Describes the execution history level to apply to this workflow.", "enum": [ "EXECUTION_HISTORY_LEVEL_UNSPECIFIED", "EXECUTION_HISTORY_BASIC", diff --git a/discovery/googleapis/workloadmanager__v1.json b/discovery/googleapis/workloadmanager__v1.json index bfff355e1..a0cc086bf 100644 --- a/discovery/googleapis/workloadmanager__v1.json +++ b/discovery/googleapis/workloadmanager__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241209", + "revision": "20250226", "rootUrl": "https://workloadmanager.googleapis.com/", "servicePath": "", "title": "Workload Manager API", @@ -181,6 +181,107 @@ } }, "resources": { + "discoveredprofiles": { + "methods": { + "get": { + "description": "Gets details of a discovered workload profile.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/discoveredprofiles/{discoveredprofilesId}", + "httpMethod": "GET", + "id": "workloadmanager.projects.locations.discoveredprofiles.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/discoveredprofiles/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "WorkloadProfile" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List discovered workload profiles", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/discoveredprofiles", + "httpMethod": "GET", + "id": "workloadmanager.projects.locations.discoveredprofiles.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value for ListDiscoveredProfilesRequest", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/discoveredprofiles", + "response": { + "$ref": "ListDiscoveredProfilesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "healthes": { + "methods": { + "get": { + "description": "Get the health of a discovered workload profile.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/discoveredprofiles/{discoveredprofilesId}/healthes/{healthesId}", + "httpMethod": "GET", + "id": "workloadmanager.projects.locations.discoveredprofiles.healthes.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/discoveredprofiles/[^/]+/healthes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "WorkloadProfileHealth" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, "evaluations": { "methods": { "create": { @@ -568,6 +669,36 @@ }, "insights": { "methods": { + "delete": { + "description": "Delete the data insights from workload manager data warehouse.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/insights/{insightsId}", + "httpMethod": "DELETE", + "id": "workloadmanager.projects.locations.insights.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The system id of the SAP system resource to delete. Formatted as projects/{project}/locations/{location}/sapSystems/{sap_system_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/insights/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "writeInsight": { "description": "Write the data insights to workload manager data warehouse.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/insights:writeInsight", @@ -777,6 +908,31 @@ } }, "schemas": { + "APILayerServer": { + "description": "The API layer server", + "id": "APILayerServer", + "properties": { + "name": { + "description": "Output only. The api layer name", + "readOnly": true, + "type": "string" + }, + "osVersion": { + "description": "Output only. OS information", + "readOnly": true, + "type": "string" + }, + "resources": { + "description": "Output only. resources in the component", + "items": { + "$ref": "CloudResource" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, "AgentCommand": { "description": "* An AgentCommand specifies a one-time executable program for the agent to run.", "id": "AgentCommand", @@ -795,6 +951,101 @@ }, "type": "object" }, + "AvailabilityGroup": { + "description": "The availability groups for sqlserver", + "id": "AvailabilityGroup", + "properties": { + "databases": { + "description": "Output only. The databases", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "name": { + "description": "Output only. The availability group name", + "readOnly": true, + "type": "string" + }, + "primaryServer": { + "description": "Output only. The primary server", + "readOnly": true, + "type": "string" + }, + "secondaryServers": { + "description": "Output only. The secondary servers", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "BackendServer": { + "description": "The backend server", + "id": "BackendServer", + "properties": { + "backupFile": { + "description": "Output only. The backup file", + "readOnly": true, + "type": "string" + }, + "backupSchedule": { + "description": "Output only. The backup schedule", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The backend name", + "readOnly": true, + "type": "string" + }, + "osVersion": { + "description": "Output only. OS information", + "readOnly": true, + "type": "string" + }, + "resources": { + "description": "Output only. resources in the component", + "items": { + "$ref": "CloudResource" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "BackupProperties": { + "description": "Backup properties.", + "id": "BackupProperties", + "properties": { + "latestBackupStatus": { + "description": "Output only. The state of the latest backup.", + "enum": [ + "BACKUP_STATE_UNSPECIFIED", + "BACKUP_STATE_SUCCESS", + "BACKUP_STATE_FAILURE" + ], + "enumDescriptions": [ + "unspecified", + "SUCCESS state", + "FAILURE state" + ], + "readOnly": true, + "type": "string" + }, + "latestBackupTime": { + "description": "The time when the latest backup was performed.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "BigQueryDestination": { "description": "Message describing big query destination", "id": "BigQueryDestination", @@ -816,6 +1067,76 @@ "properties": {}, "type": "object" }, + "CloudResource": { + "description": "The resource on GCP", + "id": "CloudResource", + "properties": { + "instanceProperties": { + "$ref": "InstanceProperties", + "description": "Output only. All instance properties.", + "readOnly": true + }, + "kind": { + "description": "Output only. ComputeInstance, ComputeDisk, VPC, Bare Metal server, etc.", + "enum": [ + "RESOURCE_KIND_UNSPECIFIED", + "RESOURCE_KIND_INSTANCE", + "RESOURCE_KIND_DISK", + "RESOURCE_KIND_ADDRESS", + "RESOURCE_KIND_FILESTORE", + "RESOURCE_KIND_HEALTH_CHECK", + "RESOURCE_KIND_FORWARDING_RULE", + "RESOURCE_KIND_BACKEND_SERVICE", + "RESOURCE_KIND_SUBNETWORK", + "RESOURCE_KIND_NETWORK", + "RESOURCE_KIND_PUBLIC_ADDRESS", + "RESOURCE_KIND_INSTANCE_GROUP" + ], + "enumDescriptions": [ + "Unspecified resource kind.", + "This is a compute instance.", + "This is a compute disk.", + "This is a compute address.", + "This is a filestore instance.", + "This is a compute health check.", + "This is a compute forwarding rule.", + "This is a compute backend service.", + "This is a compute subnetwork.", + "This is a compute network.", + "This is a public accessible IP Address.", + "This is a compute instance group." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. resource name", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Cluster": { + "description": "The cluster for sqlserver", + "id": "Cluster", + "properties": { + "nodes": { + "description": "Output only. The nodes", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "witnessServer": { + "description": "Output only. The witness server", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Command": { "description": "* Command specifies the type of command to execute.", "id": "Command", @@ -831,6 +1152,134 @@ }, "type": "object" }, + "ComponentHealth": { + "description": "HealthCondition contains the detailed health check of each component.", + "id": "ComponentHealth", + "properties": { + "component": { + "description": "The component of a workload.", + "type": "string" + }, + "componentHealthChecks": { + "description": "The detailed health checks of the component.", + "items": { + "$ref": "HealthCheck" + }, + "type": "array" + }, + "componentHealthType": { + "description": "Output only. The type of the component health.", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_REQUIRED", + "TYPE_OPTIONAL", + "TYPE_SPECIAL" + ], + "enumDescriptions": [ + "Unspecified", + "required", + "optional", + "special" + ], + "readOnly": true, + "type": "string" + }, + "isRequired": { + "description": "Output only. The requirement of the component.", + "readOnly": true, + "type": "boolean" + }, + "state": { + "description": "Output only. The health state of the component.", + "enum": [ + "HEALTH_STATE_UNSPECIFIED", + "HEALTHY", + "UNHEALTHY", + "CRITICAL", + "UNSUPPORTED" + ], + "enumDescriptions": [ + "Unspecified", + "healthy workload", + "unhealthy workload", + "has critical issues", + "unsupported" + ], + "readOnly": true, + "type": "string" + }, + "subComponentHealthes": { + "description": "Sub component health.", + "items": { + "$ref": "ComponentHealth" + }, + "type": "array" + } + }, + "type": "object" + }, + "Database": { + "description": "The database for sqlserver", + "id": "Database", + "properties": { + "backupFile": { + "description": "Output only. The backup file", + "readOnly": true, + "type": "string" + }, + "backupSchedule": { + "description": "Output only. The backup schedule", + "readOnly": true, + "type": "string" + }, + "hostVm": { + "description": "Output only. The host VM", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The database name", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DatabaseProperties": { + "description": "Database Properties.", + "id": "DatabaseProperties", + "properties": { + "backupProperties": { + "$ref": "BackupProperties", + "description": "Output only. Backup properties.", + "readOnly": true + }, + "databaseType": { + "description": "Output only. Type of the database. HANA, DB2, etc.", + "enum": [ + "DATABASE_TYPE_UNSPECIFIED", + "HANA", + "MAX_DB", + "DB2", + "ORACLE", + "SQLSERVER", + "ASE" + ], + "enumDescriptions": [ + "unspecified", + "SAP HANA", + "SAP MAX_DB", + "IBM DB2", + "Oracle Database", + "Microsoft SQL Server", + "SAP Sybase ASE" + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Empty": { "description": "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); }", "id": "Empty", @@ -974,7 +1423,7 @@ }, "resultSummary": { "$ref": "Summary", - "description": "Output only. [Output only] Result summary", + "description": "Output only. [Output only] Result summary for the execution", "readOnly": true }, "ruleResults": { @@ -1108,6 +1557,31 @@ }, "type": "object" }, + "FrontEndServer": { + "description": "The front end server", + "id": "FrontEndServer", + "properties": { + "name": { + "description": "Output only. The frontend name", + "readOnly": true, + "type": "string" + }, + "osVersion": { + "description": "Output only. OS information", + "readOnly": true, + "type": "string" + }, + "resources": { + "description": "Output only. resources in the component", + "items": { + "$ref": "CloudResource" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, "GceInstanceFilter": { "description": "Message describing compute engine instance filter", "id": "GceInstanceFilter", @@ -1122,6 +1596,54 @@ }, "type": "object" }, + "HealthCheck": { + "description": "HealthCheck contains the detailed health check of a component based on asource.", + "id": "HealthCheck", + "properties": { + "message": { + "description": "Output only. The message of the health check.", + "readOnly": true, + "type": "string" + }, + "metric": { + "description": "Output only. The health check source metric name.", + "readOnly": true, + "type": "string" + }, + "resource": { + "$ref": "CloudResource", + "description": "Output only. The resource the check performs on.", + "readOnly": true + }, + "source": { + "description": "Output only. The source of the health check.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of the health check.", + "enum": [ + "STATE_UNSPECIFIED", + "PASSED", + "FAILED", + "DEGRADED", + "SKIPPED", + "UNSUPPORTED" + ], + "enumDescriptions": [ + "Unspecified", + "passed", + "failed", + "degraded", + "skipped", + "unsupported" + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Insight": { "description": "A presentation of host resource usage where the workload runs.", "id": "Insight", @@ -1144,13 +1666,186 @@ "readOnly": true, "type": "string" }, - "sqlserverValidation": { - "$ref": "SqlserverValidation", - "description": "The insights data for the sqlserver workload validation." + "sqlserverValidation": { + "$ref": "SqlserverValidation", + "description": "The insights data for the sqlserver workload validation." + }, + "torsoValidation": { + "$ref": "TorsoValidation", + "description": "The insights data for workload validation of torso workloads." + } + }, + "type": "object" + }, + "Instance": { + "description": "a vm instance", + "id": "Instance", + "properties": { + "name": { + "description": "Output only. name of the VM", + "readOnly": true, + "type": "string" + }, + "region": { + "description": "Output only. The location of the VM", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Output only. The state of the VM", + "enum": [ + "INSTANCESTATE_UNSPECIFIED", + "PROVISIONING", + "STAGING", + "RUNNING", + "STOPPING", + "STOPPED", + "TERMINATED", + "SUSPENDING", + "SUSPENDED", + "REPAIRING", + "DEPROVISIONING" + ], + "enumDescriptions": [ + "The Status of the VM is unspecified", + "Resources are being allocated for the instance.", + "All required resources have been allocated and the instance is being started.", + "The instance is running.", + "The instance is currently stopping (either being deleted or killed).", + "The instance has stopped due to various reasons (user request, VM preemption, project freezing, etc.).", + "The instance has failed in some way.", + "The instance is suspending.", + "The instance is suspended.", + "The instance is in repair.", + "The instance is in de-provisioning state." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "InstanceProperties": { + "description": "Instance Properties.", + "id": "InstanceProperties", + "properties": { + "instanceNumber": { + "description": "Optional. Instance number.", + "type": "string" + }, + "machineType": { + "description": "Optional. Instance machine type.", + "type": "string" + }, + "role": { + "deprecated": true, + "description": "Optional. Instance role.", + "enum": [ + "INSTANCE_ROLE_UNSPECIFIED", + "INSTANCE_ROLE_ASCS", + "INSTANCE_ROLE_ERS", + "INSTANCE_ROLE_APP_SERVER", + "INSTANCE_ROLE_HANA_PRIMARY", + "INSTANCE_ROLE_HANA_SECONDARY" + ], + "enumDescriptions": [ + "Unspecified role.", + "ASCS role.", + "ERS role.", + "APP server.", + "HANA primary role.", + "HANA secondary role." + ], + "type": "string" + }, + "roles": { + "description": "Optional. Instance roles.", + "items": { + "enum": [ + "INSTANCE_ROLE_UNSPECIFIED", + "INSTANCE_ROLE_ASCS", + "INSTANCE_ROLE_ERS", + "INSTANCE_ROLE_APP_SERVER", + "INSTANCE_ROLE_HANA_PRIMARY", + "INSTANCE_ROLE_HANA_SECONDARY" + ], + "enumDescriptions": [ + "Unspecified role.", + "ASCS role.", + "ERS role.", + "APP server.", + "HANA primary role.", + "HANA secondary role." + ], + "type": "string" + }, + "type": "array" + }, + "sapInstanceProperties": { + "$ref": "SapInstanceProperties", + "description": "Optional. SAP Instance properties." + }, + "status": { + "description": "Optional. Instance status.", + "type": "string" + }, + "upcomingMaintenanceEvent": { + "$ref": "UpcomingMaintenanceEvent", + "description": "Optional. the next maintenance event on VM" + } + }, + "type": "object" + }, + "Layer": { + "description": "The database layer", + "id": "Layer", + "properties": { + "applicationType": { + "description": "the application layer", + "type": "string" + }, + "databaseType": { + "description": "Optional. the database layer", + "type": "string" + }, + "instances": { + "description": "Optional. instances in a layer", + "items": { + "$ref": "Instance" + }, + "type": "array" + }, + "sid": { + "description": "Output only. system identification of a layer", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ListDiscoveredProfilesResponse": { + "description": "List discovered profile Response returns discovered profiles from agents", + "id": "ListDiscoveredProfilesResponse", + "properties": { + "nextPageToken": { + "description": "Output only. A token identifying a page of results the server should return", + "readOnly": true, + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" }, - "torsoValidation": { - "$ref": "TorsoValidation", - "description": "The insights data for workload validation of torso workloads." + "workloadProfiles": { + "description": "Output only. The list of workload profiles", + "items": { + "$ref": "WorkloadProfile" + }, + "readOnly": true, + "type": "array" } }, "type": "object" @@ -1295,6 +1990,23 @@ }, "type": "object" }, + "LoadBalancerServer": { + "description": "The load balancer for sqlserver", + "id": "LoadBalancerServer", + "properties": { + "ip": { + "description": "Output only. The IP address", + "readOnly": true, + "type": "string" + }, + "vm": { + "description": "Output only. The VM name", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Location": { "description": "A resource that represents a Google Cloud location.", "id": "Location", @@ -1420,6 +2132,21 @@ }, "type": "object" }, + "Product": { + "description": "Product contains the details of a product.", + "id": "Product", + "properties": { + "name": { + "description": "Optional. Name of the product.", + "type": "string" + }, + "version": { + "description": "Optional. Version of the product.", + "type": "string" + } + }, + "type": "object" + }, "Resource": { "description": "Message represent resource in execution result", "id": "Resource", @@ -1618,6 +2345,52 @@ }, "type": "object" }, + "SapComponent": { + "description": "The component of sap workload", + "id": "SapComponent", + "properties": { + "databaseProperties": { + "$ref": "DatabaseProperties", + "description": "Output only. All instance properties.", + "readOnly": true + }, + "haHosts": { + "description": "A list of host URIs that are part of the HA configuration if present. An empty list indicates the component is not configured for HA.", + "items": { + "type": "string" + }, + "type": "array" + }, + "resources": { + "description": "Output only. resources in the component", + "items": { + "$ref": "CloudResource" + }, + "readOnly": true, + "type": "array" + }, + "sid": { + "description": "Output only. sid is the sap component identificator", + "readOnly": true, + "type": "string" + }, + "topologyType": { + "description": "The detected topology of the component.", + "enum": [ + "TOPOLOGY_TYPE_UNSPECIFIED", + "TOPOLOGY_SCALE_UP", + "TOPOLOGY_SCALE_OUT" + ], + "enumDescriptions": [ + "Unspecified topology.", + "A scale-up single node system.", + "A scale-out multi-node system." + ], + "type": "string" + } + }, + "type": "object" + }, "SapDiscovery": { "description": "The schema of SAP system discovery data.", "id": "SapDiscovery", @@ -1648,6 +2421,10 @@ "format": "google-datetime", "type": "string" }, + "useDrReconciliation": { + "description": "Optional. Whether to use DR reconciliation or not.", + "type": "boolean" + }, "workloadProperties": { "$ref": "SapDiscoveryWorkloadProperties", "description": "Optional. The properties of the workload." @@ -1678,10 +2455,14 @@ "description": "Required. Pantheon Project in which the resources reside.", "type": "string" }, + "region": { + "description": "Optional. The region this component's resources are primarily located in.", + "type": "string" + }, "replicationSites": { "description": "Optional. A list of replication sites used in Disaster Recovery (DR) configurations.", "items": { - "$ref": "SapDiscoveryComponent" + "$ref": "SapDiscoveryComponentReplicationSite" }, "type": "array" }, @@ -1779,13 +2560,19 @@ "DATABASE_TYPE_UNSPECIFIED", "HANA", "MAX_DB", - "DB2" + "DB2", + "ORACLE", + "SQLSERVER", + "ASE" ], "enumDescriptions": [ "Unspecified database type.", "SAP HANA", "SAP MAX_DB", - "IBM DB2" + "IBM DB2", + "Oracle Database", + "Microsoft SQL Server", + "SAP Sybase ASE" ], "type": "string" }, @@ -1797,6 +2584,10 @@ "description": "Optional. Instance number of the SAP instance.", "type": "string" }, + "landscapeId": { + "description": "Optional. Landscape ID from the HANA nameserver.", + "type": "string" + }, "primaryInstanceUri": { "description": "Required. URI of the recognized primary instance of the database.", "type": "string" @@ -1808,6 +2599,21 @@ }, "type": "object" }, + "SapDiscoveryComponentReplicationSite": { + "description": "A replication site used in Disaster Recovery (DR) configurations.", + "id": "SapDiscoveryComponentReplicationSite", + "properties": { + "component": { + "$ref": "SapDiscoveryComponent", + "description": "Optional. The system component for the site." + }, + "sourceSite": { + "description": "Optional. The name of the source site from which this one replicates.", + "type": "string" + } + }, + "type": "object" + }, "SapDiscoveryMetadata": { "description": "Message describing SAP discovery system metadata", "id": "SapDiscoveryMetadata", @@ -1924,6 +2730,13 @@ }, "type": "array" }, + "diskMounts": { + "description": "Optional. Disk mounts on the instance.", + "items": { + "$ref": "SapDiscoveryResourceInstancePropertiesDiskMount" + }, + "type": "array" + }, "instanceNumber": { "deprecated": true, "description": "Optional. The VM's instance number.", @@ -1996,6 +2809,21 @@ }, "type": "object" }, + "SapDiscoveryResourceInstancePropertiesDiskMount": { + "description": "Disk mount on the instance.", + "id": "SapDiscoveryResourceInstancePropertiesDiskMount", + "properties": { + "mountPoint": { + "description": "Optional. Filesystem mount point.", + "type": "string" + }, + "name": { + "description": "Optional. Name of the disk.", + "type": "string" + } + }, + "type": "object" + }, "SapDiscoveryWorkloadProperties": { "description": "A set of properties describing an SAP workload.", "id": "SapDiscoveryWorkloadProperties", @@ -2055,6 +2883,20 @@ }, "type": "object" }, + "SapInstanceProperties": { + "description": "SAP instance properties.", + "id": "SapInstanceProperties", + "properties": { + "numbers": { + "description": "Optional. SAP Instance numbers. They are from '00' to '99'.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "SapValidation": { "description": "A presentation of SAP workload insight. The schema of SAP workloads validation related data.", "id": "SapValidation", @@ -2119,6 +2961,62 @@ }, "type": "object" }, + "SapWorkload": { + "description": "The body of sap workload", + "id": "SapWorkload", + "properties": { + "application": { + "$ref": "SapComponent", + "description": "Output only. the acsc componment", + "readOnly": true + }, + "architecture": { + "description": "Output only. the architecture", + "enum": [ + "ARCHITECTURE_UNSPECIFIED", + "INVALID", + "CENTRALIZED", + "DISTRIBUTED", + "DISTRIBUTED_HA", + "STANDALONE_DATABASE", + "STANDALONE_DATABASE_HA" + ], + "enumDescriptions": [ + "Unspecified architecture.", + "Invaliad architecture.", + "A centralized system.", + "A distributed system.", + "A distributed with HA system.", + "A standalone database system.", + "A standalone database with HA system." + ], + "readOnly": true, + "type": "string" + }, + "database": { + "$ref": "SapComponent", + "description": "Output only. the database componment", + "readOnly": true + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. The metadata for SAP workload.", + "readOnly": true, + "type": "object" + }, + "products": { + "description": "Output only. the products on this workload.", + "items": { + "$ref": "Product" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, "ScannedResource": { "description": "Message of scanned resource", "id": "ScannedResource", @@ -2242,6 +3140,39 @@ }, "type": "object" }, + "SqlserverWorkload": { + "description": "The body of sqlserver workload", + "id": "SqlserverWorkload", + "properties": { + "ags": { + "description": "Output only. The availability groups for sqlserver", + "items": { + "$ref": "AvailabilityGroup" + }, + "readOnly": true, + "type": "array" + }, + "cluster": { + "$ref": "Cluster", + "description": "Output only. The cluster for sqlserver", + "readOnly": true + }, + "databases": { + "description": "Output only. The databases for sqlserver", + "items": { + "$ref": "Database" + }, + "readOnly": true, + "type": "array" + }, + "loadBalancerServer": { + "$ref": "LoadBalancerServer", + "description": "Output only. The load balancer for sqlserver", + "readOnly": true + } + }, + "type": "object" + }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", "id": "Status", @@ -2294,6 +3225,33 @@ }, "type": "object" }, + "ThreeTierWorkload": { + "description": "The body of three tier workload", + "id": "ThreeTierWorkload", + "properties": { + "apiLayer": { + "$ref": "APILayerServer", + "description": "Output only. The API layer for three tier workload", + "readOnly": true + }, + "backend": { + "$ref": "BackendServer", + "description": "Output only. The backend for three tier workload", + "readOnly": true + }, + "endpoint": { + "description": "Output only. the workload endpoint", + "readOnly": true, + "type": "string" + }, + "frontend": { + "$ref": "FrontEndServer", + "description": "Output only. The frontend for three tier workload", + "readOnly": true + } + }, + "type": "object" + }, "TorsoValidation": { "description": "The schema of torso workload validation data.", "id": "TorsoValidation", @@ -2336,6 +3294,31 @@ }, "type": "object" }, + "UpcomingMaintenanceEvent": { + "description": "Maintenance Event", + "id": "UpcomingMaintenanceEvent", + "properties": { + "endTime": { + "description": "Optional. End time", + "format": "google-datetime", + "type": "string" + }, + "maintenanceStatus": { + "description": "Optional. Maintenance status", + "type": "string" + }, + "startTime": { + "description": "Optional. Start time", + "format": "google-datetime", + "type": "string" + }, + "type": { + "description": "Optional. Type", + "type": "string" + } + }, + "type": "object" + }, "ViolationDetails": { "description": "Message describing the violation in an evaluation result.", "id": "ViolationDetails", @@ -2358,6 +3341,130 @@ }, "type": "object" }, + "WorkloadProfile": { + "description": "workload resource", + "id": "WorkloadProfile", + "properties": { + "application": { + "$ref": "Layer", + "deprecated": true, + "description": "Optional. The application layer" + }, + "ascs": { + "$ref": "Layer", + "deprecated": true, + "description": "Optional. The ascs layer" + }, + "database": { + "$ref": "Layer", + "deprecated": true, + "description": "Optional. The database layer" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. such as name, description, version. More example can be found in deployment", + "type": "object" + }, + "name": { + "description": "Identifier. name of resource names have the form 'projects/{project_id}/workloads/{workload_id}'", + "type": "string" + }, + "refreshedTime": { + "description": "Required. time when the workload data was refreshed", + "format": "google-datetime", + "type": "string" + }, + "sapWorkload": { + "$ref": "SapWorkload", + "description": "The sap workload content" + }, + "sqlserverWorkload": { + "$ref": "SqlserverWorkload", + "description": "The sqlserver workload content" + }, + "state": { + "deprecated": true, + "description": "Output only. [output only] the current state if a a workload", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "DEPLOYING", + "DESTROYING", + "MAINTENANCE" + ], + "enumDescriptions": [ + "unspecified", + "ACTIVE state", + "workload is in Deploying state", + "The workload is in Destroying state", + "The Workload is undermaintance" + ], + "readOnly": true, + "type": "string" + }, + "threeTierWorkload": { + "$ref": "ThreeTierWorkload", + "description": "The 3 tier web app workload content" + }, + "workloadType": { + "description": "Required. The type of the workload", + "enum": [ + "WORKLOAD_TYPE_UNSPECIFIED", + "S4_HANA", + "SQL_SERVER", + "THREE_TIER_WEB_APP" + ], + "enumDescriptions": [ + "unspecified workload type", + "running sap workload s4/hana", + "running sqlserver workload", + "running 3 tier web app workload" + ], + "type": "string" + } + }, + "type": "object" + }, + "WorkloadProfileHealth": { + "description": "WorkloadProfileHealth contains the detailed health check of workload.", + "id": "WorkloadProfileHealth", + "properties": { + "checkTime": { + "description": "The time when the health check was performed.", + "format": "google-datetime", + "type": "string" + }, + "componentHealthes": { + "description": "The detailed condition reports of each component.", + "items": { + "$ref": "ComponentHealth" + }, + "type": "array" + }, + "state": { + "description": "Output only. The health state of the workload.", + "enum": [ + "HEALTH_STATE_UNSPECIFIED", + "HEALTHY", + "UNHEALTHY", + "CRITICAL", + "UNSUPPORTED" + ], + "enumDescriptions": [ + "Unspecified", + "healthy workload", + "unhealthy workload", + "has critical issues", + "unsupported" + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "WriteInsightRequest": { "description": "Request for sending the data insights.", "id": "WriteInsightRequest", diff --git a/discovery/googleapis/workspaceevents__v1.json b/discovery/googleapis/workspaceevents__v1.json index 5606cec7b..083f31adf 100644 --- a/discovery/googleapis/workspaceevents__v1.json +++ b/discovery/googleapis/workspaceevents__v1.json @@ -12,16 +12,16 @@ "description": "View members in Google Chat conversations." }, "https://www.googleapis.com/auth/chat.messages": { - "description": "See, compose, send, update, and delete messages and their associated attachments, and add, see, and delete reactions to messages." + "description": "See, compose, send, update, and delete messages as well as their message content; add, see, and delete reactions to messages." }, "https://www.googleapis.com/auth/chat.messages.reactions": { - "description": "See, add, and delete reactions to messages in Google Chat" + "description": "See, add, and delete reactions as well as their reaction content to messages in Google Chat" }, "https://www.googleapis.com/auth/chat.messages.reactions.readonly": { - "description": "View reactions to messages in Google Chat" + "description": "View reactions as well as their reaction content to messages in Google Chat" }, "https://www.googleapis.com/auth/chat.messages.readonly": { - "description": "See messages and their associated reactions and attachments in Google Chat" + "description": "See messages as well as their reactions and message content in Google Chat" }, "https://www.googleapis.com/auth/chat.spaces": { "description": "Create conversations and spaces and see or update metadata (including history settings and access settings) in Google Chat" @@ -70,7 +70,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241210", + "revision": "20250225", "rootUrl": "https://workspaceevents.googleapis.com/", "servicePath": "", "title": "Google Workspace Events API", @@ -502,7 +502,7 @@ "id": "NotificationEndpoint", "properties": { "pubsubTopic": { - "description": "Immutable. The Cloud Pub/Sub topic that receives events for the subscription. Format: `projects/{project}/topics/{topic}` You must create the topic in the same Google Cloud project where you create this subscription. When the topic receives events, the events are encoded as Cloud Pub/Sub messages. For details, see the [Google Cloud Pub/Sub Protocol Binding for CloudEvents](https://github.com/googleapis/google-cloudevents/blob/main/docs/spec/pubsub.md).", + "description": "Immutable. The Pub/Sub topic that receives events for the subscription. Format: `projects/{project}/topics/{topic}` You must create the topic in the same Google Cloud project where you create this subscription. When the topic receives events, the events are encoded as Pub/Sub messages. For details, see the [Google Cloud Pub/Sub Protocol Binding for CloudEvents](https://github.com/googleapis/google-cloudevents/blob/main/docs/spec/pubsub.md).", "type": "string" } }, diff --git a/discovery/googleapis/workstations__v1.json b/discovery/googleapis/workstations__v1.json index e92d11ff1..09c43670d 100644 --- a/discovery/googleapis/workstations__v1.json +++ b/discovery/googleapis/workstations__v1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241202", + "revision": "20250219", "rootUrl": "https://workstations.googleapis.com/", "servicePath": "", "title": "Cloud Workstations API", @@ -1287,7 +1287,7 @@ "type": "object" }, "BoostConfig": { - "description": "A boost configuration is a set of resources that a workstation can use to increase its performance. If a boost configuration is specified, when starting a workstation, users can choose to use a VM provisioned under the boost config by passing the boost config id in the start request. If no boost config id is provided in the start request, the system will choose a VM from the pool provisioned under the default config.", + "description": "A boost configuration is a set of resources that a workstation can use to increase its performance. If you specify a boost configuration, upon startup, workstation users can choose to use a VM provisioned under the boost config by passing the boost config ID in the start request. If the workstation user does not provide a boost config ID in the start request, the system will choose a VM from the pool provisioned under the default config.", "id": "BoostConfig", "properties": { "accelerators": { @@ -1307,7 +1307,7 @@ "type": "boolean" }, "id": { - "description": "Required. The id to be used for the boost configuration.", + "description": "Required. The ID to be used for the boost configuration.", "type": "string" }, "machineType": { @@ -1530,6 +1530,28 @@ }, "type": "object" }, + "GceInstanceHost": { + "description": "The Compute Engine instance host.", + "id": "GceInstanceHost", + "properties": { + "id": { + "description": "Optional. Output only. The ID of the Compute Engine instance.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Optional. Output only. The name of the Compute Engine instance.", + "readOnly": true, + "type": "string" + }, + "zone": { + "description": "Optional. Output only. The zone of the Compute Engine instance.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GcePersistentDisk": { "description": "An EphemeralDirectory is backed by a Compute Engine persistent disk.", "id": "GcePersistentDisk", @@ -1543,11 +1565,11 @@ "type": "boolean" }, "sourceImage": { - "description": "Optional. Name of the disk image to use as the source for the disk. Must be empty if source_snapshot is set. Updating source_image will update content in the ephemeral directory after the workstation is restarted. This field is mutable.", + "description": "Optional. Name of the disk image to use as the source for the disk. Must be empty if source_snapshot is set. Updating source_image will update content in the ephemeral directory after the workstation is restarted. Only file systems supported by Container-Optimized OS (COS) are explicitly supported. For a list of supported file systems, please refer to the [COS documentation](https://cloud.google.com/container-optimized-os/docs/concepts/supported-filesystems). This field is mutable.", "type": "string" }, "sourceSnapshot": { - "description": "Optional. Name of the snapshot to use as the source for the disk. Must be empty if source_image is set. Must be empty if read_only is false. Updating source_snapshot will update content in the ephemeral directory after the workstation is restarted. This field is mutable.", + "description": "Optional. Name of the snapshot to use as the source for the disk. Must be empty if source_image is set. Must be empty if read_only is false. Updating source_snapshot will update content in the ephemeral directory after the workstation is restarted. Only file systems supported by Container-Optimized OS (COS) are explicitly supported. For a list of supported file systems, please refer to the [COS documentation](https://cloud.google.com/container-optimized-os/docs/concepts/supported-filesystems). This field is mutable.", "type": "string" } }, @@ -1940,7 +1962,7 @@ "type": "object" }, "PersistentDirectory": { - "description": "A directory to persist across workstation sessions.", + "description": "A directory to persist across workstation sessions. Updates to this field will not update existing workstations and will only take effect on new workstations.", "id": "PersistentDirectory", "properties": { "gcePd": { @@ -2023,7 +2045,7 @@ "type": "boolean" }, "serviceAttachmentUri": { - "description": "Output only. Service attachment URI for the workstation cluster. The service attachemnt is created when private endpoint is enabled. To access workstations in the workstation cluster, configure access to the managed service using [Private Service Connect](https://cloud.google.com/vpc/docs/configure-private-service-connect-services).", + "description": "Output only. Service attachment URI for the workstation cluster. The service attachment is created when private endpoint is enabled. To access workstations in the workstation cluster, configure access to the managed service using [Private Service Connect](https://cloud.google.com/vpc/docs/configure-private-service-connect-services).", "readOnly": true, "type": "string" } @@ -2046,6 +2068,17 @@ }, "type": "object" }, + "RuntimeHost": { + "description": "Runtime host for the workstation.", + "id": "RuntimeHost", + "properties": { + "gceInstanceHost": { + "$ref": "GceInstanceHost", + "description": "Specifies a Compute Engine instance as the host." + } + }, + "type": "object" + }, "SetIamPolicyRequest": { "description": "Request message for `SetIamPolicy` method.", "id": "SetIamPolicyRequest", @@ -2066,6 +2099,10 @@ "description": "Request message for StartWorkstation.", "id": "StartWorkstationRequest", "properties": { + "boostConfig": { + "description": "Optional. If set, the workstation starts using the boost configuration with the specified ID.", + "type": "string" + }, "etag": { "description": "Optional. If set, the request will be rejected if the latest version of the workstation on the server does not have this ETag.", "type": "string" @@ -2211,6 +2248,15 @@ "readOnly": true, "type": "boolean" }, + "runtimeHost": { + "$ref": "RuntimeHost", + "description": "Optional. Output only. Runtime host for the workstation when in STATE_RUNNING.", + "readOnly": true + }, + "sourceWorkstation": { + "description": "Optional. The source workstation from which this workstation's persistent directories were cloned on creation.", + "type": "string" + }, "startTime": { "description": "Output only. Time when this workstation was most recently successfully started, regardless of the workstation's initial state.", "format": "google-datetime", diff --git a/discovery/googleapis/youtube__v3.json b/discovery/googleapis/youtube__v3.json index acd677148..65f9b1aeb 100644 --- a/discovery/googleapis/youtube__v3.json +++ b/discovery/googleapis/youtube__v3.json @@ -43,7 +43,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241203", + "revision": "20250224", "rootUrl": "https://youtube.googleapis.com/", "servicePath": "", "title": "YouTube Data API v3", @@ -3613,6 +3613,34 @@ } } }, + "videoTrainability": { + "methods": { + "get": { + "description": "Returns the trainability status of a video.", + "flatPath": "youtube/v3/videoTrainability", + "httpMethod": "GET", + "id": "youtube.videoTrainability.get", + "parameterOrder": [], + "parameters": { + "id": { + "description": "The ID of the video to retrieve.", + "location": "query", + "type": "string" + } + }, + "path": "youtube/v3/videoTrainability", + "response": { + "$ref": "VideoTrainability" + }, + "scopes": [ + "https://www.googleapis.com/auth/youtube", + "https://www.googleapis.com/auth/youtube.force-ssl", + "https://www.googleapis.com/auth/youtube.readonly", + "https://www.googleapis.com/auth/youtubepartner" + ] + } + } + }, "videos": { "methods": { "delete": { @@ -5501,6 +5529,10 @@ "description": "JSON template for the status part of a channel.", "id": "ChannelStatus", "properties": { + "isChannelMonetizationEnabled": { + "description": "Whether the channel is considered ypp monetization enabled. See go/yppornot for more details.", + "type": "boolean" + }, "isLinked": { "description": "If true, then the user is linked to either a YouTube username or G+ account. Otherwise, the user doesn't have a public YouTube identity.", "type": "boolean" @@ -6459,7 +6491,11 @@ "djctqIllegalDrugs", "djctqInappropriateLanguage", "djctqCriminalActs", - "djctqImpactingContent" + "djctqImpactingContent", + "djctqFear", + "djctqMedicalProcedures", + "djctqSensitiveTopics", + "djctqFantasyViolence" ], "enumDescriptions": [ "", @@ -6474,7 +6510,11 @@ "Drogas Ilícitas (Illegal drugs)", "Linguagem Imprópria (Inappropriate language)", "Atos Criminosos (Criminal Acts)", - "Conteúdo Impactante (Impacting content)" + "Conteúdo Impactante (Impacting content)", + "Temer (Fear)", + "Procedimentos médicos (Medical Procedures)", + "Tópicos sensíveis (Sensitive Topics)", + "Fantasia Violência (Fantasy Violence)" ], "type": "string" }, @@ -12220,7 +12260,7 @@ "type": "object" }, "VideoSuggestionsTagSuggestion": { - "description": "A single tag suggestion with it's relevance information.", + "description": "A single tag suggestion with its relevance information.", "id": "VideoSuggestionsTagSuggestion", "properties": { "categoryRestricts": { @@ -12265,6 +12305,33 @@ }, "type": "object" }, + "VideoTrainability": { + "description": "Specifies who is allowed to train on the video.", + "id": "VideoTrainability", + "properties": { + "etag": { + "description": "Etag of this resource.", + "type": "string" + }, + "kind": { + "default": "youtube#videoTrainability", + "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#videoTrainability\".", + "type": "string" + }, + "permitted": { + "description": "Specifies who is allowed to train on the video. Valid values are: - a single string \"all\" - a single string \"none\" - a list of allowed parties", + "items": { + "type": "string" + }, + "type": "array" + }, + "videoId": { + "description": "The ID of the video.", + "type": "string" + } + }, + "type": "object" + }, "WatchSettings": { "description": "Branding properties for the watch. All deprecated.", "id": "WatchSettings", diff --git a/discovery/googleapis_beta/analyticsadmin__v1alpha.json b/discovery/googleapis_beta/analyticsadmin__v1alpha.json index d53562bad..86187489e 100644 --- a/discovery/googleapis_beta/analyticsadmin__v1alpha.json +++ b/discovery/googleapis_beta/analyticsadmin__v1alpha.json @@ -34,7 +34,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20240929", + "revision": "20250307", "rootUrl": "https://analyticsadmin.googleapis.com/", "servicePath": "", "title": "Google Analytics Admin API", @@ -344,7 +344,7 @@ ] }, "searchChangeHistoryEvents": { - "description": "Searches through all changes to an account or its children given the specified set of filters.", + "description": "Searches through all changes to an account or its children given the specified set of filters. Only returns the subset of changes supported by the API. The UI may return additional changes.", "flatPath": "v1alpha/accounts/{accountsId}:searchChangeHistoryEvents", "httpMethod": "POST", "id": "analyticsadmin.accounts.searchChangeHistoryEvents", @@ -6260,6 +6260,10 @@ "$ref": "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings", "description": "A snapshot of a GoogleSignalsSettings resource in change history." }, + "keyEvent": { + "$ref": "GoogleAnalyticsAdminV1alphaKeyEvent", + "description": "A snapshot of a KeyEvent resource in change history." + }, "measurementProtocolSecret": { "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret", "description": "A snapshot of a MeasurementProtocolSecret resource in change history." @@ -6820,7 +6824,7 @@ "id": "GoogleAnalyticsAdminV1alphaDataRetentionSettings", "properties": { "eventDataRetention": { - "description": "The length of time that event-level data is retained.", + "description": "Required. The length of time that event-level data is retained.", "enum": [ "RETENTION_DURATION_UNSPECIFIED", "TWO_MONTHS", @@ -6833,9 +6837,9 @@ "Data retention time duration is not specified.", "The data retention time duration is 2 months.", "The data retention time duration is 14 months.", - "The data retention time duration is 26 months. Available to 360 properties only.", - "The data retention time duration is 38 months. Available to 360 properties only.", - "The data retention time duration is 50 months. Available to 360 properties only." + "The data retention time duration is 26 months. Available to 360 properties only. Available for event data only.", + "The data retention time duration is 38 months. Available to 360 properties only. Available for event data only.", + "The data retention time duration is 50 months. Available to 360 properties only. Available for event data only." ], "type": "string" }, @@ -6847,6 +6851,26 @@ "resetUserDataOnNewActivity": { "description": "If true, reset the retention period for the user identifier with every event from that user.", "type": "boolean" + }, + "userDataRetention": { + "description": "Required. The length of time that user-level data is retained.", + "enum": [ + "RETENTION_DURATION_UNSPECIFIED", + "TWO_MONTHS", + "FOURTEEN_MONTHS", + "TWENTY_SIX_MONTHS", + "THIRTY_EIGHT_MONTHS", + "FIFTY_MONTHS" + ], + "enumDescriptions": [ + "Data retention time duration is not specified.", + "The data retention time duration is 2 months.", + "The data retention time duration is 14 months.", + "The data retention time duration is 26 months. Available to 360 properties only. Available for event data only.", + "The data retention time duration is 38 months. Available to 360 properties only. Available for event data only.", + "The data retention time duration is 50 months. Available to 360 properties only. Available for event data only." + ], + "type": "string" } }, "type": "object" @@ -6861,23 +6885,24 @@ "type": "string" }, "sharingWithGoogleAnySalesEnabled": { - "description": "Allows any of Google sales to access the data in order to suggest configuration changes to improve results.", + "deprecated": true, + "description": "Deprecated. This field is no longer used and always returns false.", "type": "boolean" }, "sharingWithGoogleAssignedSalesEnabled": { - "description": "Allows Google sales teams that are assigned to the customer to access the data in order to suggest configuration changes to improve results. Sales team restrictions still apply when enabled.", + "description": "Allows Google access to your Google Analytics account data, including account usage and configuration data, product spending, and users associated with your Google Analytics account, so that Google can help you make the most of Google products, providing you with insights, offers, recommendations, and optimization tips across Google Analytics and other Google products for business. This field maps to the \"Recommendations for your business\" field in the Google Analytics Admin UI.", "type": "boolean" }, "sharingWithGoogleProductsEnabled": { - "description": "Allows Google to use the data to improve other Google products or services.", + "description": "Allows Google to use the data to improve other Google products or services. This fields maps to the \"Google products & services\" field in the Google Analytics Admin UI.", "type": "boolean" }, "sharingWithGoogleSupportEnabled": { - "description": "Allows Google support to access the data in order to help troubleshoot issues.", + "description": "Allows Google technical support representatives access to your Google Analytics data and account when necessary to provide service and find solutions to technical issues. This field maps to the \"Technical support\" field in the Google Analytics Admin UI.", "type": "boolean" }, "sharingWithOthersEnabled": { - "description": "Allows Google to share the data anonymously in aggregate form with others.", + "description": "Enable features like predictions, modeled data, and benchmarking that can provide you with richer business insights when you contribute aggregated measurement data. The data you share (including information about the property from which it is shared) is aggregated and de-identified before being used to generate business insights. This field maps to the \"Modeling contributions & business insights\" field in the Google Analytics Admin UI.", "type": "boolean" } }, @@ -8776,7 +8801,7 @@ "type": "string" }, "pageSize": { - "description": "Optional. The maximum number of ChangeHistoryEvent items to return. The service may return fewer than this value, even if there are additional pages. If unspecified, at most 50 items will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", + "description": "Optional. The maximum number of ChangeHistoryEvent items to return. If unspecified, at most 50 items will be returned. The maximum value is 200 (higher values will be coerced to the maximum). Note that the service may return a page with fewer items than this value specifies (potentially even zero), and that there still may be additional pages. If you want a particular number of items, you'll need to continue requesting additional pages using `page_token` until you get the needed number.", "format": "int32", "type": "integer" }, @@ -8817,6 +8842,7 @@ "ADSENSE_LINK", "AUDIENCE", "EVENT_CREATE_RULE", + "KEY_EVENT", "CALCULATED_METRIC" ], "enumDescriptions": [ @@ -8845,6 +8871,7 @@ "AdSenseLink resource", "Audience resource", "EventCreateRule resource", + "KeyEvent resource", "CalculatedMetric resource" ], "type": "string" diff --git a/discovery/googleapis_beta/analyticsadmin__v1beta.json b/discovery/googleapis_beta/analyticsadmin__v1beta.json index b3cb3d98f..a52ae5a22 100644 --- a/discovery/googleapis_beta/analyticsadmin__v1beta.json +++ b/discovery/googleapis_beta/analyticsadmin__v1beta.json @@ -28,7 +28,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241113", + "revision": "20250307", "rootUrl": "https://analyticsadmin.googleapis.com/", "servicePath": "", "title": "Google Analytics Admin API", @@ -338,7 +338,7 @@ ] }, "searchChangeHistoryEvents": { - "description": "Searches through all changes to an account or its children given the specified set of filters.", + "description": "Searches through all changes to an account or its children given the specified set of filters. Only returns the subset of changes supported by the API. The UI may return additional changes.", "flatPath": "v1beta/accounts/{accountsId}:searchChangeHistoryEvents", "httpMethod": "POST", "id": "analyticsadmin.accounts.searchChangeHistoryEvents", @@ -2577,7 +2577,7 @@ "id": "GoogleAnalyticsAdminV1betaDataRetentionSettings", "properties": { "eventDataRetention": { - "description": "The length of time that event-level data is retained.", + "description": "Required. The length of time that event-level data is retained.", "enum": [ "RETENTION_DURATION_UNSPECIFIED", "TWO_MONTHS", @@ -2590,9 +2590,9 @@ "Data retention time duration is not specified.", "The data retention time duration is 2 months.", "The data retention time duration is 14 months.", - "The data retention time duration is 26 months. Available to 360 properties only.", - "The data retention time duration is 38 months. Available to 360 properties only.", - "The data retention time duration is 50 months. Available to 360 properties only." + "The data retention time duration is 26 months. Available to 360 properties only. Available for event data only.", + "The data retention time duration is 38 months. Available to 360 properties only. Available for event data only.", + "The data retention time duration is 50 months. Available to 360 properties only. Available for event data only." ], "type": "string" }, @@ -2604,6 +2604,26 @@ "resetUserDataOnNewActivity": { "description": "If true, reset the retention period for the user identifier with every event from that user.", "type": "boolean" + }, + "userDataRetention": { + "description": "Required. The length of time that user-level data is retained.", + "enum": [ + "RETENTION_DURATION_UNSPECIFIED", + "TWO_MONTHS", + "FOURTEEN_MONTHS", + "TWENTY_SIX_MONTHS", + "THIRTY_EIGHT_MONTHS", + "FIFTY_MONTHS" + ], + "enumDescriptions": [ + "Data retention time duration is not specified.", + "The data retention time duration is 2 months.", + "The data retention time duration is 14 months.", + "The data retention time duration is 26 months. Available to 360 properties only. Available for event data only.", + "The data retention time duration is 38 months. Available to 360 properties only. Available for event data only.", + "The data retention time duration is 50 months. Available to 360 properties only. Available for event data only." + ], + "type": "string" } }, "type": "object" @@ -2618,23 +2638,24 @@ "type": "string" }, "sharingWithGoogleAnySalesEnabled": { - "description": "Allows any of Google sales to access the data in order to suggest configuration changes to improve results.", + "deprecated": true, + "description": "Deprecated. This field is no longer used and always returns false.", "type": "boolean" }, "sharingWithGoogleAssignedSalesEnabled": { - "description": "Allows Google sales teams that are assigned to the customer to access the data in order to suggest configuration changes to improve results. Sales team restrictions still apply when enabled.", + "description": "Allows Google access to your Google Analytics account data, including account usage and configuration data, product spending, and users associated with your Google Analytics account, so that Google can help you make the most of Google products, providing you with insights, offers, recommendations, and optimization tips across Google Analytics and other Google products for business. This field maps to the \"Recommendations for your business\" field in the Google Analytics Admin UI.", "type": "boolean" }, "sharingWithGoogleProductsEnabled": { - "description": "Allows Google to use the data to improve other Google products or services.", + "description": "Allows Google to use the data to improve other Google products or services. This fields maps to the \"Google products & services\" field in the Google Analytics Admin UI.", "type": "boolean" }, "sharingWithGoogleSupportEnabled": { - "description": "Allows Google support to access the data in order to help troubleshoot issues.", + "description": "Allows Google technical support representatives access to your Google Analytics data and account when necessary to provide service and find solutions to technical issues. This field maps to the \"Technical support\" field in the Google Analytics Admin UI.", "type": "boolean" }, "sharingWithOthersEnabled": { - "description": "Allows Google to share the data anonymously in aggregate form with others.", + "description": "Enable features like predictions, modeled data, and benchmarking that can provide you with richer business insights when you contribute aggregated measurement data. The data you share (including information about the property from which it is shared) is aggregated and de-identified before being used to generate business insights. This field maps to the \"Modeling contributions & business insights\" field in the Google Analytics Admin UI.", "type": "boolean" } }, @@ -3472,7 +3493,7 @@ "type": "string" }, "pageSize": { - "description": "Optional. The maximum number of ChangeHistoryEvent items to return. The service may return fewer than this value, even if there are additional pages. If unspecified, at most 50 items will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", + "description": "Optional. The maximum number of ChangeHistoryEvent items to return. If unspecified, at most 50 items will be returned. The maximum value is 200 (higher values will be coerced to the maximum). Note that the service may return a page with fewer items than this value specifies (potentially even zero), and that there still may be additional pages. If you want a particular number of items, you'll need to continue requesting additional pages using `page_token` until you get the needed number.", "format": "int32", "type": "integer" }, diff --git a/discovery/googleapis_beta/cloudsupport__v2beta.json b/discovery/googleapis_beta/cloudsupport__v2beta.json index 5aa90afbd..e46f2e385 100644 --- a/discovery/googleapis_beta/cloudsupport__v2beta.json +++ b/discovery/googleapis_beta/cloudsupport__v2beta.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241218", + "revision": "20241231", "rootUrl": "https://cloudsupport.googleapis.com/", "servicePath": "", "title": "Google Cloud Support API", @@ -453,7 +453,7 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of attachments fetched with each request. If not provided, the default is 10. The maximum page size that will be returned is 100.", + "description": "The maximum number of attachments fetched with each request. If not provided, the default is 10. The maximum page size that will be returned is 100. The size of each page can be smaller than the requested page size and can include zero. For example, you could request 100 attachments on one page, receive 0, and then on the next page, receive 90.", "format": "int32", "location": "query", "type": "integer" diff --git a/discovery/googleapis_beta/dataflow__v1b3.json b/discovery/googleapis_beta/dataflow__v1b3.json index 0208dbbec..90b726388 100644 --- a/discovery/googleapis_beta/dataflow__v1b3.json +++ b/discovery/googleapis_beta/dataflow__v1b3.json @@ -110,7 +110,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241209", + "revision": "20250310", "rootUrl": "https://dataflow.googleapis.com/", "servicePath": "", "title": "Dataflow API", @@ -2414,6 +2414,47 @@ }, "type": "object" }, + "BoundedTrie": { + "description": "The message type used for encoding metrics of type bounded trie.", + "id": "BoundedTrie", + "properties": { + "bound": { + "description": "The maximum number of elements to store before truncation.", + "format": "int32", + "type": "integer" + }, + "root": { + "$ref": "BoundedTrieNode", + "description": "A compact representation of all the elements in this trie." + }, + "singleton": { + "description": "A more efficient representation for metrics consisting of a single value.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BoundedTrieNode": { + "description": "A single node in a BoundedTrie.", + "id": "BoundedTrieNode", + "properties": { + "children": { + "additionalProperties": { + "$ref": "BoundedTrieNode" + }, + "description": "Children of this node. Must be empty if truncated is true.", + "type": "object" + }, + "truncated": { + "description": "Whether this node has been truncated. A truncated leaf represents possibly many children with the same prefix.", + "type": "boolean" + } + }, + "type": "object" + }, "BucketOptions": { "description": "`BucketOptions` describes the bucket boundaries used in the histogram.", "id": "BucketOptions", @@ -2732,13 +2773,17 @@ "type": "object" }, "CounterUpdate": { - "description": "An update to a Counter sent from a worker.", + "description": "An update to a Counter sent from a worker. Next ID: 17", "id": "CounterUpdate", "properties": { "boolean": { "description": "Boolean value for And, Or.", "type": "boolean" }, + "boundedTrie": { + "$ref": "BoundedTrie", + "description": "Bounded trie data" + }, "cumulative": { "description": "True if this counter is reported as the total cumulative aggregate value accumulated since the worker started working on this WorkItem. By default this is false, indicating that this counter is reported as a delta.", "type": "boolean" @@ -3474,6 +3519,13 @@ }, "type": "array" }, + "additionalPipelineOptions": { + "description": "Optional. Additional pipeline option flags for the job.", + "items": { + "type": "string" + }, + "type": "array" + }, "additionalUserLabels": { "additionalProperties": { "type": "string" @@ -4749,7 +4801,11 @@ "type": "any" }, "set": { - "description": "Worker-computed aggregate value for the \"Set\" aggregation kind. The only possible value type is a list of Values whose type can be Long, Double, or String, according to the metric's type. All Values in the list must be of the same type.", + "description": "Worker-computed aggregate value for the \"Set\" aggregation kind. The only possible value type is a list of Values whose type can be Long, Double, String, or BoundedTrie according to the metric's type. All Values in the list must be of the same type.", + "type": "any" + }, + "trie": { + "description": "Worker-computed aggregate value for the \"Trie\" aggregation kind. The only possible value type is a BoundedTrieNode.", "type": "any" }, "updateTime": { @@ -5552,6 +5608,13 @@ }, "type": "array" }, + "additionalPipelineOptions": { + "description": "Optional. Additional pipeline option flags for the job.", + "items": { + "type": "string" + }, + "type": "array" + }, "additionalUserLabels": { "additionalProperties": { "type": "string" @@ -5699,13 +5762,15 @@ "UNKNOWN", "JAVA", "PYTHON", - "GO" + "GO", + "YAML" ], "enumDescriptions": [ "UNKNOWN Language.", "Java.", "Python.", - "Go." + "Go.", + "YAML." ], "type": "string" }, @@ -7193,6 +7258,10 @@ "supportsExactlyOnce": { "description": "Optional. Indicates if the streaming template supports exactly once mode.", "type": "boolean" + }, + "yamlDefinition": { + "description": "Optional. For future use.", + "type": "string" } }, "type": "object" diff --git a/discovery/googleapis_beta/datalabeling__v1beta1.json b/discovery/googleapis_beta/datalabeling__v1beta1.json index e018ab261..a9ee18269 100644 --- a/discovery/googleapis_beta/datalabeling__v1beta1.json +++ b/discovery/googleapis_beta/datalabeling__v1beta1.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241117", + "revision": "20250127", "rootUrl": "https://datalabeling.googleapis.com/", "servicePath": "", "title": "Data Labeling API", @@ -237,7 +237,7 @@ "datasets": { "methods": { "create": { - "description": "Creates dataset. If success return a Dataset resource.", + "description": " Creates dataset. If success return a Dataset resource.", "flatPath": "v1beta1/projects/{projectsId}/datasets", "httpMethod": "POST", "id": "datalabeling.projects.datasets.create", @@ -681,7 +681,7 @@ ] }, "get": { - "description": "Get a FeedbackThread object.", + "description": " Get a FeedbackThread object.", "flatPath": "v1beta1/projects/{projectsId}/datasets/{datasetsId}/annotatedDatasets/{annotatedDatasetsId}/feedbackThreads/{feedbackThreadsId}", "httpMethod": "GET", "id": "datalabeling.projects.datasets.annotatedDatasets.feedbackThreads.get", @@ -938,7 +938,7 @@ "evaluations": { "methods": { "get": { - "description": "Gets an evaluation by resource name (to search, use projects.evaluations.search).", + "description": " Gets an evaluation by resource name (to search, use projects.evaluations.search).", "flatPath": "v1beta1/projects/{projectsId}/datasets/{datasetsId}/evaluations/{evaluationsId}", "httpMethod": "GET", "id": "datalabeling.projects.datasets.evaluations.get", @@ -1001,7 +1001,7 @@ "image": { "methods": { "label": { - "description": "Starts a labeling task for image. The type of image labeling task is configured by feature in the request.", + "description": " Starts a labeling task for image. The type of image labeling task is configured by feature in the request.", "flatPath": "v1beta1/projects/{projectsId}/datasets/{datasetsId}/image:label", "httpMethod": "POST", "id": "datalabeling.projects.datasets.image.label", @@ -1099,7 +1099,7 @@ "evaluationJobs": { "methods": { "create": { - "description": "Creates an evaluation job.", + "description": " Creates an evaluation job.", "flatPath": "v1beta1/projects/{projectsId}/evaluationJobs", "httpMethod": "POST", "id": "datalabeling.projects.evaluationJobs.create", @@ -2562,7 +2562,7 @@ "type": "object" }, "GoogleCloudDatalabelingV1beta1CreateEvaluationJobRequest": { - "description": "Request message for CreateEvaluationJob.", + "description": " Request message for CreateEvaluationJob.", "id": "GoogleCloudDatalabelingV1beta1CreateEvaluationJobRequest", "properties": { "job": { @@ -3616,7 +3616,7 @@ "type": "object" }, "GoogleCloudDatalabelingV1beta1LabelImageRequest": { - "description": "Request message for starting an image labeling task.", + "description": " Request message for starting an image labeling task.", "id": "GoogleCloudDatalabelingV1beta1LabelImageRequest", "properties": { "basicConfig": { @@ -3870,7 +3870,7 @@ "type": "object" }, "GoogleCloudDatalabelingV1beta1LabelVideoRequest": { - "description": "Request message for LabelVideo.", + "description": " Request message for LabelVideo.", "id": "GoogleCloudDatalabelingV1beta1LabelVideoRequest", "properties": { "basicConfig": { diff --git a/discovery/googleapis_beta/firebase__v1beta1.json b/discovery/googleapis_beta/firebase__v1beta1.json index f16149117..fce1a4621 100644 --- a/discovery/googleapis_beta/firebase__v1beta1.json +++ b/discovery/googleapis_beta/firebase__v1beta1.json @@ -34,7 +34,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241217", + "revision": "20250303", "rootUrl": "https://firebase.googleapis.com/", "servicePath": "", "title": "Firebase Management API", @@ -2154,12 +2154,12 @@ "id": "StatusProto", "properties": { "canonicalCode": { - "description": "The canonical error code (see codes.proto) that most closely corresponds to this status. This may be missing, and in the common case of the generic space, it definitely will be.", + "description": "copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional int32 canonical_code = 6;", "format": "int32", "type": "integer" }, "code": { - "description": "Numeric code drawn from the space specified below. Often, this is the canonical error space, and code is drawn from google3/util/task/codes.proto", + "description": "Numeric code drawn from the space specified below. Often, this is the canonical error space, and code is drawn from google3/util/task/codes.proto copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional int32 code = 1;", "format": "int32", "type": "integer" }, @@ -2172,7 +2172,7 @@ "description": "message_set associates an arbitrary proto message with the status. copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional proto2.bridge.MessageSet message_set = 5;" }, "space": { - "description": "The following are usually only present when code != 0 Space to which this status belongs", + "description": "copybara:strip_begin(b/383363683) Space to which this status belongs copybara:strip_end_and_replace optional string space = 2; // Space to which this status belongs", "type": "string" } }, diff --git a/discovery/googleapis_beta/firebasestorage__v1beta.json b/discovery/googleapis_beta/firebasestorage__v1beta.json index 4a43b25f8..6fbf17c48 100644 --- a/discovery/googleapis_beta/firebasestorage__v1beta.json +++ b/discovery/googleapis_beta/firebasestorage__v1beta.json @@ -28,7 +28,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241111", + "revision": "20241218", "rootUrl": "https://firebasestorage.googleapis.com/", "servicePath": "", "title": "Cloud Storage for Firebase API", @@ -378,104 +378,6 @@ "properties": {}, "type": "object" }, - "GoogleFirebaseStorageControlplaneV1alphaMigrateLocationDestructivelyMetadata": { - "description": "Metadata for MigrateLocationDestructively LRO.", - "id": "GoogleFirebaseStorageControlplaneV1alphaMigrateLocationDestructivelyMetadata", - "properties": { - "createTime": { - "description": "The time the LRO was created.", - "format": "google-datetime", - "type": "string" - }, - "lastUpdateTime": { - "description": "The time the LRO was last updated.", - "format": "google-datetime", - "type": "string" - }, - "state": { - "description": "The current state of the migration.", - "enum": [ - "STATE_UNSPECIFIED", - "PENDING", - "CREATING_TEMP_BUCKET", - "TRANSFERRING_TO_TEMP", - "DELETING_SOURCE_BUCKET", - "CREATING_DESTINATION_BUCKET", - "TRANSFERRING_TO_DESTINATION", - "DELETING_TEMP_BUCKET", - "SUCCEEDED", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ], - "enumDescriptions": [ - "Unspecified state. Should not be used.", - "The MigrateLocationDestructively request has passed precondition checks and the bucket migration will begin soon.", - "Generating a unique bucket name, storing the source -> temp mapping in Spanner, and actually creating the temporary bucket via Bigstore.", - "The first STS transfer to move all objects from the source bucket to the temp bucket is underway.", - "The source bucket is being emptied and deleted.", - "The source bucket is being recreated in the new location.", - "The second STS transfer to move all objects from the temp bucket to the final bucket is underway.", - "The temp bucket is being emptied and deleted.", - "All stages of the migration have completed and the operation has been marked done and updated with a response.", - "The migration failed at some stage and it is not possible to continue retrying that stage. Manual recovery may be needed. Rollback is either impossible at this stage, or has been attempted and failed.", - "The migration has encountered a permanent failure and is now being rolled back so that the source bucket is restored to its original state.", - "The migration has been successfully rolled back." - ], - "type": "string" - } - }, - "type": "object" - }, - "GoogleFirebaseStorageControlplaneV1betaMigrateLocationDestructivelyMetadata": { - "description": "Metadata for MigrateLocationDestructively LRO.", - "id": "GoogleFirebaseStorageControlplaneV1betaMigrateLocationDestructivelyMetadata", - "properties": { - "createTime": { - "description": "The time the LRO was created.", - "format": "google-datetime", - "type": "string" - }, - "lastUpdateTime": { - "description": "The time the LRO was last updated.", - "format": "google-datetime", - "type": "string" - }, - "state": { - "description": "The current state of the migration.", - "enum": [ - "STATE_UNSPECIFIED", - "PENDING", - "CREATING_TEMP_BUCKET", - "TRANSFERRING_TO_TEMP", - "DELETING_SOURCE_BUCKET", - "CREATING_DESTINATION_BUCKET", - "TRANSFERRING_TO_DESTINATION", - "DELETING_TEMP_BUCKET", - "SUCCEEDED", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ], - "enumDescriptions": [ - "Unspecified state. Should not be used.", - "The MigrateLocationDestructively request has passed precondition checks and the bucket migration will begin soon.", - "Generating a unique bucket name, storing the source -> temp mapping in Spanner, and actually creating the temporary bucket via Bigstore.", - "The first STS transfer to move all objects from the source bucket to the temp bucket is underway.", - "The source bucket is being emptied and deleted.", - "The source bucket is being recreated in the new location.", - "The second STS transfer to move all objects from the temp bucket to the final bucket is underway.", - "The temp bucket is being emptied and deleted.", - "All stages of the migration have completed and the operation has been marked done and updated with a response.", - "The migration failed at some stage and it is not possible to continue retrying that stage. Manual recovery may be needed. Rollback is either impossible at this stage, or has been attempted and failed.", - "The migration has encountered a permanent failure and is now being rolled back so that the source bucket is restored to its original state.", - "The migration has been successfully rolled back." - ], - "type": "string" - } - }, - "type": "object" - }, "ListBucketsResponse": { "description": "The response returned by `ListBuckets`.", "id": "ListBucketsResponse", diff --git a/discovery/googleapis_beta/gkehub__v2alpha.json b/discovery/googleapis_beta/gkehub__v2alpha.json index d17b0b6bc..ecace4305 100644 --- a/discovery/googleapis_beta/gkehub__v2alpha.json +++ b/discovery/googleapis_beta/gkehub__v2alpha.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241206", + "revision": "20250302", "rootUrl": "https://gkehub.googleapis.com/", "servicePath": "", "title": "GKE Hub API", @@ -702,38 +702,40 @@ "description": "Configuration for Config Sync", "id": "ConfigManagementConfigSync", "properties": { - "allowVerticalScale": { - "deprecated": true, - "description": "Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated.", - "type": "boolean" + "deploymentOverrides": { + "description": "Optional. Configuration for deployment overrides.", + "items": { + "$ref": "ConfigManagementDeploymentOverride" + }, + "type": "array" }, "enabled": { - "description": "Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.", + "description": "Optional. Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.", "type": "boolean" }, "git": { "$ref": "ConfigManagementGitConfig", - "description": "Git repo configuration for the cluster." + "description": "Optional. Git repo configuration for the cluster." }, "metricsGcpServiceAccountEmail": { "deprecated": true, - "description": "The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. Deprecated: If Workload Identity Federation for GKE is enabled, Google Cloud Service Account is no longer needed for exporting Config Sync metrics: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring.", + "description": "Optional. The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. Deprecated: If Workload Identity Federation for GKE is enabled, Google Cloud Service Account is no longer needed for exporting Config Sync metrics: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring.", "type": "string" }, "oci": { "$ref": "ConfigManagementOciConfig", - "description": "OCI repo configuration for the cluster." + "description": "Optional. OCI repo configuration for the cluster." }, "preventDrift": { - "description": "Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts.", + "description": "Optional. Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts.", "type": "boolean" }, "sourceFormat": { - "description": "Specifies whether the Config Sync Repo is in \"hierarchical\" or \"unstructured\" mode.", + "description": "Optional. Specifies whether the Config Sync Repo is in \"hierarchical\" or \"unstructured\" mode.", "type": "string" }, "stopSyncing": { - "description": "Set to true to stop syncing configs for a single cluster. Default to false.", + "description": "Optional. Set to true to stop syncing configs for a single cluster. Default to false.", "type": "boolean" } }, @@ -924,7 +926,7 @@ "id": "ConfigManagementConfigSyncState", "properties": { "clusterLevelStopSyncingState": { - "description": "Whether syncing resources to the cluster is stopped at the cluster level.", + "description": "Output only. Whether syncing resources to the cluster is stopped at the cluster level.", "enum": [ "STOP_SYNCING_STATE_UNSPECIFIED", "NOT_STOPPED", @@ -937,6 +939,7 @@ "Some reconcilers stop syncing resources to the cluster, while others are still syncing.", "Syncing resources to the cluster is stopped at the cluster level." ], + "readOnly": true, "type": "string" }, "crCount": { @@ -947,17 +950,19 @@ }, "deploymentState": { "$ref": "ConfigManagementConfigSyncDeploymentState", - "description": "Information about the deployment of ConfigSync, including the version. of the various Pods deployed" + "description": "Output only. Information about the deployment of ConfigSync, including the version. of the various Pods deployed", + "readOnly": true }, "errors": { - "description": "Errors pertaining to the installation of Config Sync.", + "description": "Output only. Errors pertaining to the installation of Config Sync.", "items": { "$ref": "ConfigManagementConfigSyncError" }, + "readOnly": true, "type": "array" }, "reposyncCrd": { - "description": "The state of the Reposync CRD", + "description": "Output only. The state of the Reposync CRD", "enum": [ "CRD_STATE_UNSPECIFIED", "NOT_INSTALLED", @@ -972,10 +977,11 @@ "CRD is terminating (i.e., it has been deleted and is cleaning up)", "CRD is installing" ], + "readOnly": true, "type": "string" }, "rootsyncCrd": { - "description": "The state of the RootSync CRD", + "description": "Output only. The state of the RootSync CRD", "enum": [ "CRD_STATE_UNSPECIFIED", "NOT_INSTALLED", @@ -990,10 +996,11 @@ "CRD is terminating (i.e., it has been deleted and is cleaning up)", "CRD is installing" ], + "readOnly": true, "type": "string" }, "state": { - "description": "The state of CS This field summarizes the other fields in this message.", + "description": "Output only. The state of CS This field summarizes the other fields in this message.", "enum": [ "STATE_UNSPECIFIED", "CONFIG_SYNC_NOT_INSTALLED", @@ -1008,15 +1015,18 @@ "CS encounters errors.", "CS is installing or terminating." ], + "readOnly": true, "type": "string" }, "syncState": { "$ref": "ConfigManagementSyncState", - "description": "The state of ConfigSync's process to sync configs to a cluster." + "description": "Output only. The state of ConfigSync's process to sync configs to a cluster.", + "readOnly": true }, "version": { "$ref": "ConfigManagementConfigSyncVersion", - "description": "The version of ConfigSync deployed." + "description": "Output only. The version of ConfigSync deployed.", + "readOnly": true } }, "type": "object" @@ -1064,6 +1074,55 @@ }, "type": "object" }, + "ConfigManagementContainerOverride": { + "description": "Configuration for a container override.", + "id": "ConfigManagementContainerOverride", + "properties": { + "containerName": { + "description": "Required. The name of the container.", + "type": "string" + }, + "cpuLimit": { + "description": "Optional. The cpu limit of the container.", + "type": "string" + }, + "cpuRequest": { + "description": "Optional. The cpu request of the container.", + "type": "string" + }, + "memoryLimit": { + "description": "Optional. The memory limit of the container.", + "type": "string" + }, + "memoryRequest": { + "description": "Optional. The memory request of the container.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementDeploymentOverride": { + "description": "Configuration for a deployment override.", + "id": "ConfigManagementDeploymentOverride", + "properties": { + "containers": { + "description": "Optional. The containers of the deployment resource to be overridden.", + "items": { + "$ref": "ConfigManagementContainerOverride" + }, + "type": "array" + }, + "deploymentName": { + "description": "Required. The name of the deployment resource to be overridden.", + "type": "string" + }, + "deploymentNamespace": { + "description": "Required. The namespace of the deployment resource to be overridden..", + "type": "string" + } + }, + "type": "object" + }, "ConfigManagementErrorResource": { "description": "Model for a config file in the git repo with an associated Sync error.", "id": "ConfigManagementErrorResource", @@ -1153,35 +1212,35 @@ "id": "ConfigManagementGitConfig", "properties": { "gcpServiceAccountEmail": { - "description": "The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", + "description": "Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", "type": "string" }, "httpsProxy": { - "description": "URL for the HTTPS proxy to be used when communicating with the Git repo.", + "description": "Optional. URL for the HTTPS proxy to be used when communicating with the Git repo.", "type": "string" }, "policyDir": { - "description": "The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.", + "description": "Optional. The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.", "type": "string" }, "secretType": { - "description": "Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required.", + "description": "Required. Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount, githubapp or none. The validation of this is case-sensitive.", "type": "string" }, "syncBranch": { - "description": "The branch of the repository to sync from. Default: master.", + "description": "Optional. The branch of the repository to sync from. Default: master.", "type": "string" }, "syncRepo": { - "description": "The URL of the Git repository to use as the source of truth.", + "description": "Required. The URL of the Git repository to use as the source of truth.", "type": "string" }, "syncRev": { - "description": "Git revision (tag or hash) to check out. Default HEAD.", + "description": "Optional. Git revision (tag or hash) to check out. Default HEAD.", "type": "string" }, "syncWaitSecs": { - "description": "Period in seconds between consecutive syncs. Default: 15.", + "description": "Optional. Period in seconds between consecutive syncs. Default: 15.", "format": "int64", "type": "string" } @@ -1315,23 +1374,23 @@ "id": "ConfigManagementOciConfig", "properties": { "gcpServiceAccountEmail": { - "description": "The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", + "description": "Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", "type": "string" }, "policyDir": { - "description": "The absolute path of the directory that contains the local resources. Default: the root directory of the image.", + "description": "Optional. The absolute path of the directory that contains the local resources. Default: the root directory of the image.", "type": "string" }, "secretType": { - "description": "Type of secret configured for access to the Git repo.", + "description": "Required. Type of secret configured for access to the OCI repo. Must be one of gcenode, gcpserviceaccount, k8sserviceaccount or none. The validation of this is case-sensitive.", "type": "string" }, "syncRepo": { - "description": "The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.", + "description": "Required. The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.", "type": "string" }, "syncWaitSecs": { - "description": "Period in seconds between consecutive syncs. Default: 15.", + "description": "Optional. Period in seconds between consecutive syncs. Default: 15.", "format": "int64", "type": "string" } @@ -1510,22 +1569,23 @@ "binauthz": { "$ref": "ConfigManagementBinauthzConfig", "deprecated": true, - "description": "Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set." + "description": "Optional. Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set." }, "cluster": { - "description": "The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector.", + "description": "Optional. The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector.", "type": "string" }, "configSync": { "$ref": "ConfigManagementConfigSync", - "description": "Config Sync configuration for the cluster." + "description": "Optional. Config Sync configuration for the cluster." }, "hierarchyController": { "$ref": "ConfigManagementHierarchyControllerConfig", - "description": "Hierarchy Controller configuration for the cluster. Deprecated: Configuring Hierarchy Controller through the configmanagement feature is no longer recommended. Use https://github.com/kubernetes-sigs/hierarchical-namespaces instead." + "deprecated": true, + "description": "Optional. Hierarchy Controller configuration for the cluster. Deprecated: Configuring Hierarchy Controller through the configmanagement feature is no longer recommended. Use https://github.com/kubernetes-sigs/hierarchical-namespaces instead." }, "management": { - "description": "Enables automatic Feature management.", + "description": "Optional. Enables automatic Feature management.", "enum": [ "MANAGEMENT_UNSPECIFIED", "MANAGEMENT_AUTOMATIC", @@ -1540,10 +1600,11 @@ }, "policyController": { "$ref": "ConfigManagementPolicyController", - "description": "Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead." + "deprecated": true, + "description": "Optional. Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead." }, "version": { - "description": "Version of ACM installed.", + "description": "Optional. Version of ACM installed.", "type": "string" } }, @@ -1555,31 +1616,38 @@ "properties": { "binauthzState": { "$ref": "ConfigManagementBinauthzState", - "description": "Binauthz status." + "description": "Output only. Binauthz status.", + "readOnly": true }, "clusterName": { - "description": "This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name.", + "description": "Output only. This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name.", + "readOnly": true, "type": "string" }, "configSyncState": { "$ref": "ConfigManagementConfigSyncState", - "description": "Current sync status." + "description": "Output only. Current sync status.", + "readOnly": true }, "hierarchyControllerState": { "$ref": "ConfigManagementHierarchyControllerState", - "description": "Hierarchy Controller status." + "description": "Output only. Hierarchy Controller status.", + "readOnly": true }, "membershipSpec": { "$ref": "ConfigManagementSpec", - "description": "Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state." + "description": "Output only. Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state.", + "readOnly": true }, "operatorState": { "$ref": "ConfigManagementOperatorState", - "description": "Current install status of ACM's Operator." + "description": "Output only. Current install status of ACM's Operator.", + "readOnly": true }, "policyControllerState": { "$ref": "ConfigManagementPolicyControllerState", - "description": "PolicyController status." + "description": "Output only. PolicyController status.", + "readOnly": true } }, "type": "object" @@ -2899,6 +2967,7 @@ "CNI_INSTALLATION_FAILED", "CNI_POD_UNSCHEDULABLE", "CLUSTER_HAS_ZERO_NODES", + "CANONICAL_SERVICE_ERROR", "UNSUPPORTED_MULTIPLE_CONTROL_PLANES", "VPCSC_GA_SUPPORTED", "DEPRECATED_SPEC_CONTROL_PLANE_MANAGEMENT", @@ -2924,7 +2993,8 @@ "MODERNIZATION_SCHEDULED", "MODERNIZATION_IN_PROGRESS", "MODERNIZATION_COMPLETED", - "MODERNIZATION_ABORTED" + "MODERNIZATION_ABORTED", + "MODERNIZATION_WILL_BE_SCHEDULED" ], "enumDescriptions": [ "Default Unspecified code", @@ -2936,6 +3006,7 @@ "CNI installation failed error code", "CNI pod unschedulable error code", "Cluster has zero node code", + "Failure to reconcile CanonicalServices", "Multiple control planes unsupported error code", "VPC-SC GA is supported for this control plane.", "User is using deprecated ControlPlaneManagement and they have not yet set Management.", @@ -2961,7 +3032,8 @@ "Modernization is scheduled for a cluster.", "Modernization is in progress for a cluster.", "Modernization is completed for a cluster.", - "Modernization is aborted for a cluster." + "Modernization is aborted for a cluster.", + "Modernization will be scheduled for a fleet." ], "type": "string" }, diff --git a/discovery/googleapis_beta/sqladmin__v1beta4.json b/discovery/googleapis_beta/sqladmin__v1beta4.json index 86a0d44d4..c2b3fb7a2 100644 --- a/discovery/googleapis_beta/sqladmin__v1beta4.json +++ b/discovery/googleapis_beta/sqladmin__v1beta4.json @@ -28,7 +28,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241204", + "revision": "20250226", "rootUrl": "https://sqladmin.googleapis.com/", "servicePath": "", "title": "Cloud SQL Admin API", @@ -273,6 +273,168 @@ } } }, + "backups": { + "methods": { + "createBackup": { + "description": "Creates a backup for a Cloud SQL instance. This API can be used only to create on-demand backups.", + "flatPath": "sql/v1beta4/projects/{projectsId}/backups", + "httpMethod": "POST", + "id": "sql.backups.createBackup", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource where this backup is created. Format: projects/{project}", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "sql/v1beta4/{+parent}/backups", + "request": { + "$ref": "Backup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + }, + "deleteBackup": { + "description": "Deletes the backup.", + "flatPath": "sql/v1beta4/projects/{projectsId}/backups/{backupsId}", + "httpMethod": "DELETE", + "id": "sql.backups.deleteBackup", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the backup to delete. Format: projects/{project}/backups/{backup}", + "location": "path", + "pattern": "^projects/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "sql/v1beta4/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + }, + "getBackup": { + "description": "Retrieves a resource containing information about a backup.", + "flatPath": "sql/v1beta4/projects/{projectsId}/backups/{backupsId}", + "httpMethod": "GET", + "id": "sql.backups.getBackup", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the backup to retrieve. Format: projects/{project}/backups/{backup}", + "location": "path", + "pattern": "^projects/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "sql/v1beta4/{+name}", + "response": { + "$ref": "Backup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + }, + "listBackups": { + "description": "Lists all backups associated with the project.", + "flatPath": "sql/v1beta4/projects/{projectsId}/backups", + "httpMethod": "GET", + "id": "sql.backups.listBackups", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Multiple filter queries are separated by spaces. For example, 'instance:abc AND type:FINAL, 'location:us', 'backupInterval.startTime>=1950-01-01T01:01:25.771Z'. You can filter by type, instance, backupInterval.startTime (creation time), or location.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of backups to return per response. The service might return fewer backups than this value. If a value for this parameter isn't specified, then, at most, 500 backups are returned. The maximum value is 2,000. Any values that you set, which are greater than 2,000, are changed to 2,000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListBackups` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBackups` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent that owns this collection of backups. Format: projects/{project}", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "sql/v1beta4/{+parent}/backups", + "response": { + "$ref": "ListBackupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + }, + "updateBackup": { + "description": "Updates the retention period and the description of the backup. You can use this API to update final backups only.", + "flatPath": "sql/v1beta4/projects/{projectsId}/backups/{backupsId}", + "httpMethod": "PATCH", + "id": "sql.backups.updateBackup", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The resource name of the backup. Format: projects/{project}/backups/{backup}.", + "location": "path", + "pattern": "^projects/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields that you can update. You can update only the description and retention period of the final backup.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "sql/v1beta4/{+name}", + "request": { + "$ref": "Backup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + } + } + }, "connect": { "methods": { "generateEphemeralCert": { @@ -822,6 +984,28 @@ "instance" ], "parameters": { + "enableFinalBackup": { + "description": "Flag to opt-in for final backup. By default, it is turned off.", + "location": "query", + "type": "boolean" + }, + "finalBackupDescription": { + "description": "Optional. The description of the final backup.", + "location": "query", + "type": "string" + }, + "finalBackupExpiryTime": { + "description": "Optional. Final Backup expiration time. Timestamp in UTC of when this resource is considered expired.", + "format": "google-datetime", + "location": "query", + "type": "string" + }, + "finalBackupTtlDays": { + "description": "Optional. Retention period of the final backup.", + "format": "int64", + "location": "query", + "type": "string" + }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", @@ -2482,6 +2666,162 @@ }, "type": "object" }, + "Backup": { + "description": "A backup resource.", + "id": "Backup", + "properties": { + "backupInterval": { + "$ref": "Interval", + "description": "Output only. This output contains the following values: start_time: All database writes up to this time are available. end_time: Any database writes after this time aren't available.", + "readOnly": true + }, + "backupKind": { + "description": "Output only. Specifies the kind of backup, PHYSICAL or DEFAULT_SNAPSHOT.", + "enum": [ + "SQL_BACKUP_KIND_UNSPECIFIED", + "SNAPSHOT", + "PHYSICAL" + ], + "enumDescriptions": [ + "This is an unknown BackupKind.", + "Snapshot-based backups.", + "Physical backups." + ], + "readOnly": true, + "type": "string" + }, + "backupRun": { + "description": "Output only. The mapping to backup run resource used for IAM validations.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of this backup.", + "type": "string" + }, + "error": { + "$ref": "OperationError", + "description": "Output only. Information about why the backup operation fails (for example, when the backup state fails).", + "readOnly": true + }, + "expiryTime": { + "description": "Backup expiration time. A UTC timestamp of when this resource expired.", + "format": "google-datetime", + "type": "string" + }, + "instance": { + "description": "The name of the database instance.", + "type": "string" + }, + "instanceDeletionTime": { + "description": "Optional. Output only. Timestamp in UTC of when the instance associated with this backup is deleted.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "instanceSettings": { + "$ref": "DatabaseInstance", + "description": "Optional. Output only. Instance setting of the source instance that's associated with this backup.", + "readOnly": true + }, + "kind": { + "description": "Output only. This is always `sql#backup`.", + "readOnly": true, + "type": "string" + }, + "kmsKey": { + "description": "Output only. This output contains the encryption configuration for a backup and the resource name of the KMS key for disk encryption.", + "readOnly": true, + "type": "string" + }, + "kmsKeyVersion": { + "description": "Output only. This output contains the encryption status for a backup and the version of the KMS key that's used to encrypt the Cloud SQL instance.", + "readOnly": true, + "type": "string" + }, + "location": { + "description": "The storage location of the backups. The location can be multi-regional.", + "type": "string" + }, + "maxChargeableBytes": { + "description": "Output only. The maximum chargeable bytes for the backup.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the backup. Format: projects/{project}/backups/{backup}.", + "readOnly": true, + "type": "string" + }, + "satisfiesPzi": { + "description": "Output only. This status indicates whether the backup satisfies PZI. The status is reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. This status indicates whether the backup satisfies PZS. The status is reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "selfLink": { + "description": "Output only. The URI of this resource.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of this backup.", + "enum": [ + "SQL_BACKUP_STATE_UNSPECIFIED", + "ENQUEUED", + "RUNNING", + "FAILED", + "SUCCESSFUL", + "DELETING", + "DELETION_FAILED" + ], + "enumDescriptions": [ + "The state of the backup is unknown.", + "The backup that's added to a queue.", + "The backup is in progress.", + "The backup failed.", + "The backup is successful.", + "The backup is being deleted.", + "Deletion of the backup failed." + ], + "readOnly": true, + "type": "string" + }, + "timeZone": { + "description": "Output only. This output contains a backup time zone. If a Cloud SQL for SQL Server instance has a different time zone from the backup's time zone, then the restore to the instance doesn't happen.", + "readOnly": true, + "type": "string" + }, + "ttlDays": { + "description": "Input only. The time-to-live (TTL) interval for this resource (in days). For example: ttlDays:7, means 7 days from the current time. The expiration time can't exceed 365 days from the time that the backup is created.", + "format": "int64", + "type": "string" + }, + "type": { + "description": "Output only. The type of this backup. The type can be \"AUTOMATED\", \"ON_DEMAND\", or “FINAL”.", + "enum": [ + "SQL_BACKUP_TYPE_UNSPECIFIED", + "AUTOMATED", + "ON_DEMAND", + "FINAL" + ], + "enumDescriptions": [ + "This is an unknown backup type.", + "The backup schedule triggers a backup automatically.", + "The user triggers a backup manually.", + "The backup that's created when the instance is deleted." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "BackupConfiguration": { "description": "Database instance backup configuration.", "id": "BackupConfiguration", @@ -2557,6 +2897,10 @@ "kind": { "description": "This is always `sql#backupContext`.", "type": "string" + }, + "name": { + "description": "The name of the backup. Format: projects/{project}/backups/{backup}", + "type": "string" } }, "type": "object" @@ -3016,6 +3360,14 @@ "description": "The dns name of the instance.", "type": "string" }, + "dnsNames": { + "description": "Output only. The list of DNS names used by this instance.", + "items": { + "$ref": "DnsNameMapping" + }, + "readOnly": true, + "type": "array" + }, "ipAddresses": { "description": "The assigned IP addresses for the instance.", "items": { @@ -3044,12 +3396,14 @@ "enum": [ "CA_MODE_UNSPECIFIED", "GOOGLE_MANAGED_INTERNAL_CA", - "GOOGLE_MANAGED_CAS_CA" + "GOOGLE_MANAGED_CAS_CA", + "CUSTOMER_MANAGED_CAS_CA" ], "enumDescriptions": [ "CA mode is unspecified. It is effectively the same as `GOOGLE_MANAGED_INTERNAL_CA`.", "Google-managed self-signed internal CA.", - "Google-managed regional CA part of root CA hierarchy hosted on Google Cloud's Certificate Authority Service (CAS)." + "Google-managed regional CA part of root CA hierarchy hosted on Google Cloud's Certificate Authority Service (CAS).", + "Customer-managed CA hosted on Google Cloud's Certificate Authority Service (CAS)." ], "type": "string" } @@ -3340,6 +3694,14 @@ "readOnly": true, "type": "string" }, + "dnsNames": { + "description": "Output only. The list of DNS names used by this instance.", + "items": { + "$ref": "DnsNameMapping" + }, + "readOnly": true, + "type": "array" + }, "etag": { "description": "This field is deprecated and will be removed from a future version of the API. Use the `settings.settingsVersion` field instead.", "type": "string" @@ -3366,6 +3728,10 @@ "$ref": "GeminiInstanceConfig", "description": "Gemini instance configuration." }, + "includeReplicasForMajorVersionUpgrade": { + "description": "Input only. Determines whether an in-place major version upgrade of replicas happens when an in-place major version upgrade of a primary instance is initiated.", + "type": "boolean" + }, "instanceType": { "description": "The instance type.", "enum": [ @@ -3679,7 +4045,7 @@ "type": "string" }, "clientKey": { - "description": "PEM representation of the replica's private key. The corresponsing public key is encoded in the client's certificate. The format of the replica's private key can be either PKCS #1 or PKCS #8.", + "description": "PEM representation of the replica's private key. The corresponding public key is encoded in the client's certificate. The format of the replica's private key can be either PKCS #1 or PKCS #8.", "type": "string" }, "kind": { @@ -3746,6 +4112,47 @@ }, "type": "object" }, + "DnsNameMapping": { + "description": "DNS metadata.", + "id": "DnsNameMapping", + "properties": { + "connectionType": { + "description": "Output only. The connection type of the DNS name.", + "enum": [ + "CONNECTION_TYPE_UNSPECIFIED", + "PUBLIC", + "PRIVATE_SERVICES_ACCESS", + "PRIVATE_SERVICE_CONNECT" + ], + "enumDescriptions": [ + "Unknown connection type.", + "Public IP.", + "Private services access (private IP).", + "Private Service Connect." + ], + "readOnly": true, + "type": "string" + }, + "dnsScope": { + "description": "Output only. The scope that the DNS name applies to.", + "enum": [ + "DNS_SCOPE_UNSPECIFIED", + "INSTANCE" + ], + "enumDescriptions": [ + "Unknown DNS scope.", + "Indicates a instance-level DNS name." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The DNS name.", + "type": "string" + } + }, + "type": "object" + }, "Empty": { "description": "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); }", "id": "Empty", @@ -3833,7 +4240,7 @@ "type": "object" }, "databases": { - "description": "Databases to be exported. `MySQL instances:` If `fileType` is `SQL` and no database is specified, all databases are exported, except for the `mysql` system database. If `fileType` is `CSV`, you can specify one database, either by using this property or by using the `csvExportOptions.selectQuery` property, which takes precedence over this property. `PostgreSQL instances:` You must specify one database to be exported. If `fileType` is `CSV`, this database must match the one specified in the `csvExportOptions.selectQuery` property. `SQL Server instances:` You must specify one database to be exported, and the `fileType` must be `BAK`.", + "description": "Databases to be exported. `MySQL instances:` If `fileType` is `SQL` and no database is specified, all databases are exported, except for the `mysql` system database. If `fileType` is `CSV`, you can specify one database, either by using this property or by using the `csvExportOptions.selectQuery` property, which takes precedence over this property. `PostgreSQL instances:` If you don't specify a database by name, all user databases in the instance are exported. This excludes system databases and Cloud SQL databases used to manage internal operations. Exporting all user databases is only available for directory-formatted parallel export. If `fileType` is `CSV`, this database must match the one specified in the `csvExportOptions.selectQuery` property. `SQL Server instances:` You must specify one database to be exported, and the `fileType` must be `BAK`.", "items": { "type": "string" }, @@ -3845,13 +4252,15 @@ "SQL_FILE_TYPE_UNSPECIFIED", "SQL", "CSV", - "BAK" + "BAK", + "TDE" ], "enumDescriptions": [ "Unknown file type.", "File containing SQL statements.", "File in CSV format.", - "" + "", + "TDE certificate." ], "type": "string" }, @@ -3914,6 +4323,28 @@ }, "type": "object" }, + "tdeExportOptions": { + "description": "Optional. Export parameters specific to SQL Server TDE certificates", + "properties": { + "certificatePath": { + "description": "Required. Path to the TDE certificate public key in the form gs://bucketName/fileName. The instance must have write access to the location. Applicable only for SQL Server instances.", + "type": "string" + }, + "name": { + "description": "Required. Certificate name. Applicable only for SQL Server instances.", + "type": "string" + }, + "privateKeyPassword": { + "description": "Required. Password that encrypts the private key.", + "type": "string" + }, + "privateKeyPath": { + "description": "Required. Path to the TDE certificate private key in the form gs://bucketName/fileName. The instance must have write access to the location. Applicable only for SQL Server instances.", + "type": "string" + } + }, + "type": "object" + }, "uri": { "description": "The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form `gs://bucketName/fileName`. If the file already exists, the request succeeds, but the operation fails. If `fileType` is `SQL` and the filename ends with .gz, the contents are compressed.", "type": "string" @@ -4291,6 +4722,10 @@ "description": "Path to the Certificate (.cer) in Cloud Storage, in the form `gs://bucketName/fileName`. The instance must have write permissions to the bucket and read access to the file.", "type": "string" }, + "keepEncrypted": { + "description": "Optional. Whether the imported file remains encrypted.", + "type": "boolean" + }, "pvkPassword": { "description": "Password that encrypts the private key", "type": "string" @@ -4360,7 +4795,7 @@ "type": "object" }, "database": { - "description": "The target database for the import. If `fileType` is `SQL`, this field is required only if the import file does not specify a database, and is overridden by any database specification in the import file. If `fileType` is `CSV`, one database must be specified.", + "description": "The target database for the import. If `fileType` is `SQL`, this field is required only if the import file does not specify a database, and is overridden by any database specification in the import file. For entire instance parallel import operations, the database is overridden by the database name stored in subdirectory name. If `fileType` is `CSV`, one database must be specified.", "type": "string" }, "fileType": { @@ -4369,13 +4804,15 @@ "SQL_FILE_TYPE_UNSPECIFIED", "SQL", "CSV", - "BAK" + "BAK", + "TDE" ], "enumDescriptions": [ "Unknown file type.", "File containing SQL statements.", "File in CSV format.", - "" + "", + "TDE certificate." ], "type": "string" }, @@ -4416,6 +4853,28 @@ }, "type": "object" }, + "tdeImportOptions": { + "description": "Optional. Import parameters specific to SQL Server .TDE files Import parameters specific to SQL Server TDE certificates", + "properties": { + "certificatePath": { + "description": "Required. Path to the TDE certificate public key in the form gs://bucketName/fileName. The instance must have read access to the file. Applicable only for SQL Server instances.", + "type": "string" + }, + "name": { + "description": "Required. Certificate name. Applicable only for SQL Server instances.", + "type": "string" + }, + "privateKeyPassword": { + "description": "Required. Password that encrypts the private key.", + "type": "string" + }, + "privateKeyPath": { + "description": "Required. Path to the TDE certificate private key in the form gs://bucketName/fileName. The instance must have read access to the file. Applicable only for SQL Server instances.", + "type": "string" + } + }, + "type": "object" + }, "uri": { "description": "Path to the import file in Cloud Storage, in the form `gs://bucketName/fileName`. Compressed gzip files (.gz) are supported when `fileType` is `SQL`. The instance must have write permissions to the bucket and read access to the file.", "type": "string" @@ -4642,9 +5101,17 @@ "description": "Database instance restore backup request.", "id": "InstancesRestoreBackupRequest", "properties": { + "backup": { + "description": "The name of the backup that's used to restore a Cloud SQL instance: Format: projects/{project-id}/backups/{backup-uid}. Only one of restore_backup_context, backup, backupdr_backup can be passed to the input.", + "type": "string" + }, "restoreBackupContext": { "$ref": "RestoreBackupContext", "description": "Parameters required to perform the restore backup operation." + }, + "restoreInstanceSettings": { + "$ref": "DatabaseInstance", + "description": "Optional. By using this parameter, Cloud SQL overrides any instance settings stored in the backup you are restoring from. You can't change the instance's major database version and you can only increase the disk size. You can use this field to restore new instances only. This field is not applicable for restore to existing instances." } }, "type": "object" @@ -4682,6 +5149,23 @@ }, "type": "object" }, + "Interval": { + "description": "Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.", + "id": "Interval", + "properties": { + "endTime": { + "description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "IpConfiguration": { "description": "IP Management configuration.", "id": "IpConfiguration", @@ -4741,7 +5225,7 @@ "type": "string" }, "serverCaPool": { - "description": "Optional. The resource name of the server CA pool for an instance with `CUSTOMER_MANAGED_CAS_CA` as the `server_ca_mode`. Format: projects//locations//caPools/", + "description": "Optional. The resource name of the server CA pool for an instance with `CUSTOMER_MANAGED_CAS_CA` as the `server_ca_mode`. Format: projects/{PROJECT}/locations/{REGION}/caPools/{CA_POOL_ID}", "type": "string" }, "sslMode": { @@ -4797,6 +5281,31 @@ }, "type": "object" }, + "ListBackupsResponse": { + "description": "The response payload containing a list of the backups.", + "id": "ListBackupsResponse", + "properties": { + "backups": { + "description": "A list of backups.", + "items": { + "$ref": "Backup" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, then there aren't subsequent pages.", + "type": "string" + }, + "warnings": { + "description": "If a region isn't unavailable or if an unknown error occurs, then a warning message is returned.", + "items": { + "$ref": "ApiWarning" + }, + "type": "array" + } + }, + "type": "object" + }, "LocationPreference": { "description": "Preferred location. This specifies where a Cloud SQL instance is located. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified.", "id": "LocationPreference", @@ -4871,7 +5380,7 @@ "type": "string" }, "clientKey": { - "description": "PEM representation of the replica's private key. The corresponsing public key is encoded in the client's certificate.", + "description": "PEM representation of the replica's private key. The corresponding public key is encoded in the client's certificate.", "type": "string" }, "connectRetryInterval": { @@ -4938,7 +5447,7 @@ "type": "string" }, "clientKey": { - "description": "PEM representation of the replica's private key. The corresponsing public key is encoded in the client's certificate.", + "description": "PEM representation of the replica's private key. The corresponding public key is encoded in the client's certificate.", "type": "string" }, "dumpFilePath": { @@ -5079,6 +5588,7 @@ "AUTO_RESTART", "REENCRYPT", "SWITCHOVER", + "UPDATE_BACKUP", "ACQUIRE_SSRS_LEASE", "RELEASE_SSRS_LEASE", "RECONFIGURE_OLD_PRIMARY", @@ -5086,7 +5596,9 @@ "SELF_SERVICE_MAINTENANCE", "SWITCHOVER_TO_REPLICA", "MAJOR_VERSION_UPGRADE", - "ADVANCED_BACKUP" + "ADVANCED_BACKUP", + "MANAGE_BACKUP", + "ENHANCED_BACKUP" ], "enumDeprecated": [ false, @@ -5131,10 +5643,13 @@ false, false, false, + false, true, true, false, false, + true, + false, false ], "enumDescriptions": [ @@ -5177,6 +5692,7 @@ "Performs auto-restart of an HA-enabled Cloud SQL database for auto recovery.", "Re-encrypts CMEK instances with latest key version.", "Switches the roles of the primary and replica pair. The target instance should be the replica.", + "Update a backup.", "Acquire a lease for the setup of SQL Server Reporting Services (SSRS).", "Release a lease for the setup of SQL Server Reporting Services (SSRS).", "Reconfigures old primary after a promote replica operation. Effect of a promote operation to the old primary is executed in this operation, asynchronously from the promote replica operation executed to the replica.", @@ -5184,7 +5700,9 @@ "Indicates that the instance (and any of its replicas) are currently in maintenance. This is initiated as a self-service request by using SSM. Maintenance typically causes the instance to be unavailable for 1-3 minutes.", "Switches a primary instance to a replica. This operation runs as part of a switchover operation to the original primary instance.", "Updates the major version of a Cloud SQL instance.", - "Creates a backup for an Advanced BackupTier Cloud SQL instance." + "Deprecated: ADVANCED_BACKUP is deprecated. Use ENHANCED_BACKUP instead.", + "Changes the BackupTier of a Cloud SQL instance.", + "Creates a backup for an Enhanced BackupTier Cloud SQL instance." ], "type": "string" }, @@ -5218,7 +5736,7 @@ "description": "Optional. The sub operation based on the operation type." }, "targetId": { - "description": "Name of the database instance related to this operation.", + "description": "Name of the resource on which this operation runs.", "type": "string" }, "targetLink": { @@ -5699,19 +6217,22 @@ "SQL_DATA_DISK_TYPE_UNSPECIFIED", "PD_SSD", "PD_HDD", - "OBSOLETE_LOCAL_SSD" + "OBSOLETE_LOCAL_SSD", + "HYPERDISK_BALANCED" ], "enumDeprecated": [ false, false, false, - true + true, + false ], "enumDescriptions": [ "This is an unknown data disk type.", "An SSD data disk.", "An HDD data disk.", - "This field is deprecated and will be removed from a future version of the API." + "This field is deprecated and will be removed from a future version of the API.", + "A Hyperdisk Balanced data disk." ], "type": "string" }, @@ -5797,6 +6318,11 @@ ], "type": "string" }, + "replicationLagMaxSeconds": { + "description": "Optional. Configuration value for recreation of replica after certain replication lag", + "format": "int32", + "type": "integer" + }, "replicationType": { "deprecated": true, "description": "The type of replication this instance uses. This can be either `ASYNCHRONOUS` or `SYNCHRONOUS`. (Deprecated) This property was only applicable to First Generation instances.", @@ -5812,6 +6338,10 @@ ], "type": "string" }, + "retainBackupsOnDelete": { + "description": "Optional. When this parameter is set to true, Cloud SQL retains backups of the instance even after the instance is deleted. The ON_DEMAND backup will be retained until customer deletes the backup or the project. The AUTOMATED backup will be retained based on the backups retention setting.", + "type": "boolean" + }, "settingsVersion": { "description": "The version of instance settings. This is a required field for update method to make sure concurrent updates are handled properly. During update, use the most recent settingsVersion value for this instance and do not try to update this value.", "format": "int64", diff --git a/discovery/googleapis_beta/toolresults__v1beta3.json b/discovery/googleapis_beta/toolresults__v1beta3.json index 61cdbde00..9285a4dad 100644 --- a/discovery/googleapis_beta/toolresults__v1beta3.json +++ b/discovery/googleapis_beta/toolresults__v1beta3.json @@ -25,7 +25,7 @@ "ownerDomain": "google.com", "ownerName": "Google", "protocol": "rest", - "revision": "20241121", + "revision": "20250204", "rootUrl": "https://toolresults.googleapis.com/", "servicePath": "", "title": "Cloud Tool Results API", @@ -2636,6 +2636,7 @@ "type": "integer" }, "list": { + "deprecated": true, "description": "Which list this API appears on", "enum": [ "NONE", diff --git a/generated/googleapis/README.md b/generated/googleapis/README.md index 8fed384f5..201775008 100644 --- a/generated/googleapis/README.md +++ b/generated/googleapis/README.md @@ -764,6 +764,13 @@ Display & Video 360 API allows users to automate complex Display & Video 360 wor - [Original documentation](https://developers.google.com/display-video/) - [Dart package details](https://pub.dev/documentation/googleapis/14.0.0-wip/displayvideo_v3/displayvideo_v3-library.html) +#### Display & Video 360 API - `displayvideo/v4` + +Display & Video 360 API allows users to automate complex Display & Video 360 workflows, such as creating insertion orders and setting targeting options for individual line items. + +- [Original documentation](https://developers.google.com/display-video/) +- [Dart package details](https://pub.dev/documentation/googleapis/14.0.0-wip/displayvideo_v4/displayvideo_v4-library.html) + #### Sensitive Data Protection (DLP) - `dlp/v2` Discover and protect your sensitive data. A fully managed service designed to help you discover, classify, and protect your valuable data assets with ease. @@ -853,7 +860,7 @@ Build event-driven applications on Google Cloud Platform. #### Firebase Cloud Messaging API - `fcm/v1` -FCM send API that provides a cross-platform messaging solution to reliably deliver messages at no cost. +FCM send API that provides a cross-platform messaging solution to reliably deliver messages. - [Original documentation](https://firebase.google.com/docs/cloud-messaging) - [Dart package details](https://pub.dev/documentation/googleapis/14.0.0-wip/fcm_v1/fcm_v1-library.html) @@ -923,7 +930,7 @@ The Fitness API for managing users' fitness tracking data. Reads and writes Google Forms and responses. -- [Original documentation](https://developers.google.com/forms/api) +- [Original documentation](https://developers.google.com/workspace/forms/api) - [Dart package details](https://pub.dev/documentation/googleapis/14.0.0-wip/forms_v1/forms_v1-library.html) #### Google Play Game Services - `games/v1` @@ -964,7 +971,7 @@ Backup for GKE is a managed Kubernetes workload backup and restore service for G - [Original documentation](https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster) - [Dart package details](https://pub.dev/documentation/googleapis/14.0.0-wip/gkehub_v2/gkehub_v2-library.html) -#### GDC Virtual API - `gkeonprem/v1` +#### GKE On-Prem API - `gkeonprem/v1` - [Original documentation](https://cloud.google.com/anthos/clusters/docs/on-prem/) - [Dart package details](https://pub.dev/documentation/googleapis/14.0.0-wip/gkeonprem_v1/gkeonprem_v1-library.html) @@ -1463,7 +1470,7 @@ readerrevenuesubscriptionlinking.googleapis.com API. #### Real-time Bidding API - `realtimebidding/v1` -Allows external bidders to manage their RTB integration with Google. This includes managing bidder endpoints, QPS quotas, configuring what ad inventory to receive via pretargeting, submitting creatives for verification, and accessing creative metadata such as approval status. +Allows external bidders to manage their RTB integration with Google. This includes managing bidder endpoints, QPS quotas, configuring what ad inventory to receive with pretargeting, submitting creatives for verification, and accessing creative metadata such as approval status. - [Original documentation](https://developers.google.com/authorized-buyers/apis/realtimebidding/reference/rest/) - [Dart package details](https://pub.dev/documentation/googleapis/14.0.0-wip/realtimebidding_v1/realtimebidding_v1-library.html) @@ -1494,16 +1501,9 @@ Perform common functions that are available on the Channel Services console at s - [Original documentation](https://developers.google.com/google-apps/reseller/) - [Dart package details](https://pub.dev/documentation/googleapis/14.0.0-wip/reseller_v1/reseller_v1-library.html) -#### Resource Settings API - `resourcesettings/v1` - -The Resource Settings API allows users to control and modify the behavior of their GCP resources (e.g., VM, firewall, Project, etc.) across the Cloud Resource Hierarchy. - -- [Original documentation](https://cloud.google.com/resource-manager/docs/resource-settings/overview) -- [Dart package details](https://pub.dev/documentation/googleapis/14.0.0-wip/resourcesettings_v1/resourcesettings_v1-library.html) - -#### Vertex AI Search for Retail API - `retail/v2` +#### Vertex AI Search for commerce API - `retail/v2` -Vertex AI Search for Retail API is made up of Retail Search, Browse and Recommendations. These discovery AI solutions help you implement personalized search, browse and recommendations, based on machine learning models, across your websites and mobile applications. +Vertex AI Search for commerce API is made up of Retail Search, Browse and Recommendations. These discovery AI solutions help you implement personalized search, browse and recommendations, based on machine learning models, across your websites and mobile applications. - [Original documentation](https://cloud.google.com/recommendations) - [Dart package details](https://pub.dev/documentation/googleapis/14.0.0-wip/retail_v2/retail_v2-library.html) diff --git a/generated/googleapis/lib/accessapproval/v1.dart b/generated/googleapis/lib/accessapproval/v1.dart index 3b0a4be9b..ce74e5406 100644 --- a/generated/googleapis/lib/accessapproval/v1.dart +++ b/generated/googleapis/lib/accessapproval/v1.dart @@ -2048,6 +2048,10 @@ class SignatureInfo { /// - "HMAC_SHA224" : HMAC-SHA224 signing with a 224 bit key. /// - "EXTERNAL_SYMMETRIC_ENCRYPTION" : Algorithm representing symmetric /// encryption by an external key manager. + /// - "PQ_SIGN_ML_DSA_65" : The post-quantum Module-Lattice-Based Digital + /// Signature Algorithm, at security level 3. Randomized version. + /// - "PQ_SIGN_SLH_DSA_SHA2_128S" : The post-quantum stateless hash-based + /// digital signature algorithm, at security level 1. Randomized version. core.String? googleKeyAlgorithm; /// The public key for the Google default signing, encoded in PEM format. diff --git a/generated/googleapis/lib/admin/directory_v1.dart b/generated/googleapis/lib/admin/directory_v1.dart index fad45a065..9ae5f9114 100644 --- a/generated/googleapis/lib/admin/directory_v1.dart +++ b/generated/googleapis/lib/admin/directory_v1.dart @@ -5569,7 +5569,8 @@ class UsersResource { /// - "familyName" : User's family name. /// - "givenName" : User's given name. /// - /// [pageToken] - Token to specify next page in the list + /// [pageToken] - Token to specify next page in the list. The page token is + /// only valid for three days. /// /// [projection] - What subset of fields to fetch for this user. /// Possible string values are: @@ -12362,6 +12363,8 @@ class Users { core.String? kind; /// Token used to access next page of this result. + /// + /// The page token is only valid for three days. core.String? nextPageToken; /// Event that triggered this response (only used in case of Push Response) diff --git a/generated/googleapis/lib/admin/reports_v1.dart b/generated/googleapis/lib/admin/reports_v1.dart index 959f7631a..d83884539 100644 --- a/generated/googleapis/lib/admin/reports_v1.dart +++ b/generated/googleapis/lib/admin/reports_v1.dart @@ -226,7 +226,11 @@ class ActivitiesResource { /// [groupIdFilter] - Comma separated group ids (obfuscated) on which user /// activities are filtered, i.e. the response will contain activities for /// only those users that are a part of at least one of the group ids - /// mentioned here. Format: "id:abc123,id:xyz456" + /// mentioned here. Format: "id:abc123,id:xyz456" *Important:* To filter by + /// groups, you must explicitly add the groups to your filtering groups + /// allowlist. For more information about adding groups to filtering groups + /// allowlist, see + /// [Filter results by Google Group](https://support.google.com/a/answer/11482175) /// Value must have pattern `(id:\[a-z0-9\]+(,id:\[a-z0-9\]+)*)`. /// /// [maxResults] - Determines how many activity records are shown on each @@ -453,7 +457,11 @@ class ActivitiesResource { /// [groupIdFilter] - Comma separated group ids (obfuscated) on which user /// activities are filtered, i.e. the response will contain activities for /// only those users that are a part of at least one of the group ids - /// mentioned here. Format: "id:abc123,id:xyz456" + /// mentioned here. Format: "id:abc123,id:xyz456" *Important:* To filter by + /// groups, you must explicitly add the groups to your filtering groups + /// allowlist. For more information about adding groups to filtering groups + /// allowlist, see + /// [Filter results by Google Group](https://support.google.com/a/answer/11482175) /// Value must have pattern `(id:\[a-z0-9\]+(,id:\[a-z0-9\]+)*)`. /// /// [maxResults] - Determines how many activity records are shown on each @@ -624,7 +632,7 @@ class CustomerUsageReportsResource { /// parameter is one that does not belong to the application. If no parameters /// are requested, all parameters are returned. /// Value must have pattern - /// `(((accounts)|(app_maker)|(apps_scripts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)|(meet)):\[^,\]+,)*(((accounts)|(app_maker)|(apps_scripts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)|(meet)):\[^,\]+)`. + /// `(((accounts)|(app_maker)|(apps_scripts)|(chat)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)|(meet)):\[^,\]+,)*(((accounts)|(app_maker)|(apps_scripts)|(chat)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)|(meet)):\[^,\]+)`. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -834,7 +842,7 @@ class UserUsageReportResource { /// 'greater than'. It is URL-encoded (%3E). - `>=` - 'greater than or equal /// to'. It is URL-encoded (%3E=). /// Value must have pattern - /// `(((accounts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):\[a-z0-9_\]+\[\<,\<=,==,\>=,\>,!=\]\[^,\]+,)*(((accounts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):\[a-z0-9_\]+\[\<,\<=,==,\>=,\>,!=\]\[^,\]+)`. + /// `(((accounts)|(chat)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):\[a-z0-9_\]+\[\<,\<=,==,\>=,\>,!=\]\[^,\]+,)*(((accounts)|(chat)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):\[a-z0-9_\]+\[\<,\<=,==,\>=,\>,!=\]\[^,\]+)`. /// /// [groupIdFilter] - Comma separated group ids (obfuscated) on which user /// activities are filtered, i.e. the response will contain activities for @@ -875,7 +883,7 @@ class UserUsageReportResource { /// parameter is one that does not belong to the application. If no parameters /// are requested, all parameters are returned. /// Value must have pattern - /// `(((accounts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):\[^,\]+,)*(((accounts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):\[^,\]+)`. + /// `(((accounts)|(chat)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):\[^,\]+,)*(((accounts)|(chat)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):\[^,\]+)`. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. diff --git a/generated/googleapis/lib/adsense/v2.dart b/generated/googleapis/lib/adsense/v2.dart index 5de98a955..183ee5156 100644 --- a/generated/googleapis/lib/adsense/v2.dart +++ b/generated/googleapis/lib/adsense/v2.dart @@ -3190,14 +3190,12 @@ class PolicyIssue { /// obscure your content. A single policy issue can have multiple policy topics /// for a single entity. class PolicyTopic { - /// Indicates if this is a policy violation or not. + /// Policy topics no longer have a "must-fix" classification. /// - /// When the value is true, issues that are instances of this topic must be - /// addressed to remain in compliance with the partner's agreements with - /// Google. A false value indicates that it's not mandatory to fix the issues - /// but advertising demand might be restricted. - /// - /// Required. + /// Required. Deprecated. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) core.bool? mustFix; /// The policy topic. @@ -3207,20 +3205,43 @@ class PolicyTopic { /// Required. core.String? topic; + /// The type of policy topic. + /// + /// For example, "POLICY" represents all the policy topics that are related to + /// the Google Publisher Policy (GPP). See + /// https://support.google.com/adsense/answer/15689616. + /// + /// Optional. + /// Possible string values are: + /// - "POLICY_TOPIC_TYPE_UNSPECIFIED" : The type is unspecified. + /// - "POLICY" : Topics that are primarily related to the Google Publisher + /// Policy (GPP) https://support.google.com/publisherpolicies/answer/10502938 + /// or the Google Publisher Restrictions (GPR) policies + /// https://support.google.com/publisherpolicies/answer/10437795. + /// - "ADVERTISER_PREFERENCE" : Topics that are related to advertiser + /// preferences. Certain advertisers may choose not to bid on content that are + /// labeled with certain policies. + /// - "REGULATORY" : Any topics that are a result of a country or regional + /// regulatory requirement body. + core.String? type; + PolicyTopic({ this.mustFix, this.topic, + this.type, }); PolicyTopic.fromJson(core.Map json_) : this( mustFix: json_['mustFix'] as core.bool?, topic: json_['topic'] as core.String?, + type: json_['type'] as core.String?, ); core.Map toJson() => { if (mustFix != null) 'mustFix': mustFix!, if (topic != null) 'topic': topic!, + if (type != null) 'type': type!, }; } diff --git a/generated/googleapis/lib/aiplatform/v1.dart b/generated/googleapis/lib/aiplatform/v1.dart index d420753a9..376eb0f3d 100644 --- a/generated/googleapis/lib/aiplatform/v1.dart +++ b/generated/googleapis/lib/aiplatform/v1.dart @@ -618,6 +618,8 @@ class DatasetsDatasetVersionsResource { /// Request parameters: /// /// [name] - Output only. Identifier. The resource name of the DatasetVersion. + /// Format: + /// `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}` /// Value must have pattern `^datasets/\[^/\]+/datasetVersions/\[^/\]+$`. /// /// [updateMask] - Required. The update mask applies to the resource. For the @@ -831,6 +833,49 @@ class EndpointsResource { response_ as core.Map); } + /// Perform an online prediction. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [endpoint] - Required. The name of the Endpoint requested to serve the + /// prediction. Format: + /// `projects/{project}/locations/{location}/endpoints/{endpoint}` + /// Value must have pattern `^endpoints/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleCloudAiplatformV1PredictResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future predict( + GoogleCloudAiplatformV1PredictRequest request, + core.String endpoint, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$endpoint') + ':predict'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return GoogleCloudAiplatformV1PredictResponse.fromJson( + response_ as core.Map); + } + /// Generate content with multimodal inputs with streaming support. /// /// [request] - The metadata request object. @@ -1196,6 +1241,48 @@ class ProjectsLocationsResource { response_ as core.Map); } + /// Evaluates a dataset based on a set of given metrics. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [location] - Required. The resource name of the Location to evaluate the + /// dataset. Format: `projects/{project}/locations/{location}` + /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleLongrunningOperation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future evaluateDataset( + GoogleCloudAiplatformV1EvaluateDatasetRequest request, + core.String location, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$location') + ':evaluateDataset'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return GoogleLongrunningOperation.fromJson( + response_ as core.Map); + } + /// Evaluates instances based on a given metric. /// /// [request] - The metadata request object. @@ -4387,6 +4474,8 @@ class ProjectsLocationsDatasetsDatasetVersionsResource { /// Request parameters: /// /// [name] - Output only. Identifier. The resource name of the DatasetVersion. + /// Format: + /// `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}` /// Value must have pattern /// `^projects/\[^/\]+/locations/\[^/\]+/datasets/\[^/\]+/datasetVersions/\[^/\]+$`. /// @@ -7130,7 +7219,7 @@ class ProjectsLocationsFeatureGroupsResource { /// mask then only the non-empty fields present in the request will be /// overwritten. Set the update_mask to `*` to override all fields. Updatable /// fields: * `labels` * `description` * `big_query` * - /// `big_query.entity_id_columns` + /// `big_query.entity_id_columns` * `service_agent_type` /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -12392,8 +12481,6 @@ class ProjectsLocationsIndexEndpointsResource { /// Deploys an Index into this IndexEndpoint, creating a DeployedIndex within /// it. /// - /// Only non-empty Indexes can be deployed. - /// /// [request] - The metadata request object. /// /// Request parameters: @@ -17589,6 +17676,58 @@ class ProjectsLocationsModelsResource { response_ as core.Map); } + /// Lists checkpoints of the specified model version. + /// + /// Request parameters: + /// + /// [name] - Required. The name of the model version to list checkpoints for. + /// `projects/{project}/locations/{location}/models/{model}@{version}` + /// Example: `projects/{project}/locations/{location}/models/{model}@2` or + /// `projects/{project}/locations/{location}/models/{model}@golden` If no + /// version ID or alias is specified, the latest version will be used. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/models/\[^/\]+$`. + /// + /// [pageSize] - Optional. The standard list page size. + /// + /// [pageToken] - Optional. The standard list page token. Typically obtained + /// via next_page_token of the previous ListModelVersionCheckpoints call. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a + /// [GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future + listCheckpoints( + core.String name, { + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':listCheckpoints'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse.fromJson( + response_ as core.Map); + } + /// Lists versions of the specified model. /// /// Request parameters: @@ -29842,6 +29981,49 @@ class PublishersModelsResource { response_ as core.Map); } + /// Perform an online prediction. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [endpoint] - Required. The name of the Endpoint requested to serve the + /// prediction. Format: + /// `projects/{project}/locations/{location}/endpoints/{endpoint}` + /// Value must have pattern `^publishers/\[^/\]+/models/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleCloudAiplatformV1PredictResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future predict( + GoogleCloudAiplatformV1PredictRequest request, + core.String endpoint, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$endpoint') + ':predict'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return GoogleCloudAiplatformV1PredictResponse.fromJson( + response_ as core.Map); + } + /// Generate content with multimodal inputs with streaming support. /// /// [request] - The metadata request object. @@ -30233,6 +30415,9 @@ class GoogleCloudAiplatformV1AnnotationSpec { } /// The generic reusable api auth config. +/// +/// Deprecated. Please use AuthConfig +/// (google/cloud/aiplatform/master/auth.proto) instead. class GoogleCloudAiplatformV1ApiAuth { /// The API secret. GoogleCloudAiplatformV1ApiAuthApiKeyConfig? apiKeyConfig; @@ -30703,22 +30888,21 @@ class GoogleCloudAiplatformV1AugmentPromptResponse { /// /// Each Model supporting these resources documents its specific guidelines. class GoogleCloudAiplatformV1AutomaticResources { - /// The maximum number of replicas this DeployedModel may be deployed on when - /// the traffic against it increases. + /// The maximum number of replicas that may be deployed on when the traffic + /// against it increases. /// /// If the requested value is too large, the deployment will error, but if - /// deployment succeeds then the ability to scale the model to that many - /// replicas is guaranteed (barring service outages). If traffic against the - /// DeployedModel increases beyond what its replicas at maximum may handle, a - /// portion of the traffic will be dropped. If this value is not provided, a - /// no upper bound for scaling under heavy traffic will be assume, though - /// Vertex AI may be unable to scale beyond certain replica number. + /// deployment succeeds then the ability to scale to that many replicas is + /// guaranteed (barring service outages). If traffic increases beyond what its + /// replicas at maximum may handle, a portion of the traffic will be dropped. + /// If this value is not provided, a no upper bound for scaling under heavy + /// traffic will be assume, though Vertex AI may be unable to scale beyond + /// certain replica number. /// /// Immutable. core.int? maxReplicaCount; - /// The minimum number of replicas this DeployedModel will be always deployed - /// on. + /// The minimum number of replicas that will be always deployed on. /// /// If traffic against it increases, it may dynamically be deployed onto more /// replicas up to max_replica_count, and as traffic decreases, some of these @@ -30745,6 +30929,60 @@ class GoogleCloudAiplatformV1AutomaticResources { }; } +/// The configs for autorater. +/// +/// This is applicable to both EvaluateInstances and EvaluateDataset. +class GoogleCloudAiplatformV1AutoraterConfig { + /// The fully qualified name of the publisher model or tuned autorater + /// endpoint to use. + /// + /// Publisher model format: + /// `projects/{project}/locations/{location}/publishers / * /models / * ` + /// Tuned model endpoint format: + /// `projects/{project}/locations/{location}/endpoints/{endpoint}` + /// + /// Optional. + core.String? autoraterModel; + + /// Whether to flip the candidate and baseline responses. + /// + /// This is only applicable to the pairwise metric. If enabled, also provide + /// PairwiseMetricSpec.candidate_response_field_name and + /// PairwiseMetricSpec.baseline_response_field_name. When rendering + /// PairwiseMetricSpec.metric_prompt_template, the candidate and baseline + /// fields will be flipped for half of the samples to reduce bias. + /// + /// Optional. + core.bool? flipEnabled; + + /// Number of samples for each instance in the dataset. + /// + /// If not specified, the default is 4. Minimum value is 1, maximum value is + /// 32. + /// + /// Optional. + core.int? samplingCount; + + GoogleCloudAiplatformV1AutoraterConfig({ + this.autoraterModel, + this.flipEnabled, + this.samplingCount, + }); + + GoogleCloudAiplatformV1AutoraterConfig.fromJson(core.Map json_) + : this( + autoraterModel: json_['autoraterModel'] as core.String?, + flipEnabled: json_['flipEnabled'] as core.bool?, + samplingCount: json_['samplingCount'] as core.int?, + ); + + core.Map toJson() => { + if (autoraterModel != null) 'autoraterModel': autoraterModel!, + if (flipEnabled != null) 'flipEnabled': flipEnabled!, + if (samplingCount != null) 'samplingCount': samplingCount!, + }; +} + /// The metric specification that defines the target resource utilization (CPU /// utilization, accelerator's duty cycle, and so on) for calculating the /// desired replica count. @@ -32143,6 +32381,15 @@ class GoogleCloudAiplatformV1Blob { convert.base64.encode(bytes_).replaceAll('/', '_').replaceAll('+', '-'); } + /// Display name of the blob. + /// + /// Used to provide a label or filename to distinguish blobs. This field is + /// only returned in PromptMessage for prompt management. It is not currently + /// used in the Gemini GenerateContent calls. + /// + /// Optional. + core.String? displayName; + /// The IANA standard MIME type of the source data. /// /// Required. @@ -32150,17 +32397,20 @@ class GoogleCloudAiplatformV1Blob { GoogleCloudAiplatformV1Blob({ this.data, + this.displayName, this.mimeType, }); GoogleCloudAiplatformV1Blob.fromJson(core.Map json_) : this( data: json_['data'] as core.String?, + displayName: json_['displayName'] as core.String?, mimeType: json_['mimeType'] as core.String?, ); core.Map toJson() => { if (data != null) 'data': data!, + if (displayName != null) 'displayName': displayName!, if (mimeType != null) 'mimeType': mimeType!, }; } @@ -32255,7 +32505,7 @@ class GoogleCloudAiplatformV1CachedContent { /// Optional. core.List? contents; - /// Creatation time of the cache entry. + /// Creation time of the cache entry. /// /// Output only. core.String? createTime; @@ -32270,10 +32520,10 @@ class GoogleCloudAiplatformV1CachedContent { /// This is *always* provided on output, regardless of what was sent on input. core.String? expireTime; - /// The name of the publisher model to use for cached content. + /// The name of the `Model` to use for cached content. /// - /// Format: - /// projects/{project}/locations/{location}/publishers/{publisher}/models/{model} + /// Currently, only the published Gemini base models are supported, in form of + /// projects/{PROJECT}/locations/{LOCATION}/publishers/google/models/{MODEL} /// /// Immutable. core.String? model; @@ -32733,6 +32983,46 @@ class GoogleCloudAiplatformV1ClientConnectionConfig { }; } +/// Result of executing the \[ExecutableCode\]. +/// +/// Always follows a `part` containing the \[ExecutableCode\]. +class GoogleCloudAiplatformV1CodeExecutionResult { + /// Outcome of the code execution. + /// + /// Required. + /// Possible string values are: + /// - "OUTCOME_UNSPECIFIED" : Unspecified status. This value should not be + /// used. + /// - "OUTCOME_OK" : Code execution completed successfully. + /// - "OUTCOME_FAILED" : Code execution finished but with a failure. `stderr` + /// should contain the reason. + /// - "OUTCOME_DEADLINE_EXCEEDED" : Code execution ran for too long, and was + /// cancelled. There may or may not be a partial output present. + core.String? outcome; + + /// Contains stdout when code execution is successful, stderr or other + /// description otherwise. + /// + /// Optional. + core.String? output; + + GoogleCloudAiplatformV1CodeExecutionResult({ + this.outcome, + this.output, + }); + + GoogleCloudAiplatformV1CodeExecutionResult.fromJson(core.Map json_) + : this( + outcome: json_['outcome'] as core.String?, + output: json_['output'] as core.String?, + ); + + core.Map toJson() => { + if (outcome != null) 'outcome': outcome!, + if (output != null) 'output': output!, + }; +} + /// Input for coherence metric. class GoogleCloudAiplatformV1CoherenceInput { /// Coherence instance. @@ -33631,6 +33921,11 @@ class GoogleCloudAiplatformV1CountTokensRequest { /// Response message for PredictionService.CountTokens. class GoogleCloudAiplatformV1CountTokensResponse { + /// List of modalities that were processed in the request input. + /// + /// Output only. + core.List? promptTokensDetails; + /// The total number of billable characters counted across all instances from /// the request. core.int? totalBillableCharacters; @@ -33639,18 +33934,26 @@ class GoogleCloudAiplatformV1CountTokensResponse { core.int? totalTokens; GoogleCloudAiplatformV1CountTokensResponse({ + this.promptTokensDetails, this.totalBillableCharacters, this.totalTokens, }); GoogleCloudAiplatformV1CountTokensResponse.fromJson(core.Map json_) : this( + promptTokensDetails: (json_['promptTokensDetails'] as core.List?) + ?.map((value) => + GoogleCloudAiplatformV1ModalityTokenCount.fromJson( + value as core.Map)) + .toList(), totalBillableCharacters: json_['totalBillableCharacters'] as core.int?, totalTokens: json_['totalTokens'] as core.int?, ); core.Map toJson() => { + if (promptTokensDetails != null) + 'promptTokensDetails': promptTokensDetails!, if (totalBillableCharacters != null) 'totalBillableCharacters': totalBillableCharacters!, if (totalTokens != null) 'totalTokens': totalTokens!, @@ -35017,7 +35320,8 @@ class GoogleCloudAiplatformV1DatasetVersion { /// Identifier. /// - /// The resource name of the DatasetVersion. + /// The resource name of the DatasetVersion. Format: + /// `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}` /// /// Output only. core.String? name; @@ -35079,8 +35383,8 @@ class GoogleCloudAiplatformV1DatasetVersion { }; } -/// A description of resources that are dedicated to a DeployedModel, and that -/// need a higher degree of manual configuration. +/// A description of resources that are dedicated to a DeployedModel or +/// DeployedIndex, and that need a higher degree of manual configuration. class GoogleCloudAiplatformV1DedicatedResources { /// The metric specifications that overrides a resource utilization metric /// (CPU utilization, accelerator's duty cycle, and so on) target value @@ -35103,46 +35407,43 @@ class GoogleCloudAiplatformV1DedicatedResources { core.List? autoscalingMetricSpecs; - /// The specification of a single machine used by the prediction. + /// The specification of a single machine being used. /// /// Required. Immutable. GoogleCloudAiplatformV1MachineSpec? machineSpec; - /// The maximum number of replicas this DeployedModel may be deployed on when - /// the traffic against it increases. + /// The maximum number of replicas that may be deployed on when the traffic + /// against it increases. /// /// If the requested value is too large, the deployment will error, but if - /// deployment succeeds then the ability to scale the model to that many - /// replicas is guaranteed (barring service outages). If traffic against the - /// DeployedModel increases beyond what its replicas at maximum may handle, a - /// portion of the traffic will be dropped. If this value is not provided, - /// will use min_replica_count as the default value. The value of this field - /// impacts the charge against Vertex CPU and GPU quotas. Specifically, you - /// will be charged for (max_replica_count * number of cores in the selected - /// machine type) and (max_replica_count * number of GPUs per replica in the - /// selected machine type). + /// deployment succeeds then the ability to scale to that many replicas is + /// guaranteed (barring service outages). If traffic increases beyond what its + /// replicas at maximum may handle, a portion of the traffic will be dropped. + /// If this value is not provided, will use min_replica_count as the default + /// value. The value of this field impacts the charge against Vertex CPU and + /// GPU quotas. Specifically, you will be charged for (max_replica_count * + /// number of cores in the selected machine type) and (max_replica_count * + /// number of GPUs per replica in the selected machine type). /// /// Immutable. core.int? maxReplicaCount; - /// The minimum number of machine replicas this DeployedModel will be always - /// deployed on. + /// The minimum number of machine replicas that will be always deployed on. /// - /// This value must be greater than or equal to 1. If traffic against the - /// DeployedModel increases, it may dynamically be deployed onto more - /// replicas, and as traffic decreases, some of these extra replicas may be - /// freed. + /// This value must be greater than or equal to 1. If traffic increases, it + /// may dynamically be deployed onto more replicas, and as traffic decreases, + /// some of these extra replicas may be freed. /// /// Required. Immutable. core.int? minReplicaCount; /// Number of required available replicas for the deployment to succeed. /// - /// This field is only needed when partial model deployment/mutation is - /// desired. If set, the model deploy/mutate operation will succeed once - /// available_replica_count reaches required_replica_count, and the rest of - /// the replicas will be retried. If not set, the default - /// required_replica_count will be min_replica_count. + /// This field is only needed when partial deployment/mutation is desired. If + /// set, the deploy/mutate operation will succeed once available_replica_count + /// reaches required_replica_count, and the rest of the replicas will be + /// retried. If not set, the default required_replica_count will be + /// min_replica_count. /// /// Optional. core.int? requiredReplicaCount; @@ -35804,6 +36105,11 @@ class GoogleCloudAiplatformV1DeployedModel { /// `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}` core.String? sharedResources; + /// Spec for configuring speculative decoding. + /// + /// Optional. + GoogleCloudAiplatformV1SpeculativeDecodingSpec? speculativeDecodingSpec; + /// Runtime status of the deployed model. /// /// Output only. @@ -35830,6 +36136,7 @@ class GoogleCloudAiplatformV1DeployedModel { this.privateEndpoints, this.serviceAccount, this.sharedResources, + this.speculativeDecodingSpec, this.status, this.systemLabels, }); @@ -35872,6 +36179,11 @@ class GoogleCloudAiplatformV1DeployedModel { : null, serviceAccount: json_['serviceAccount'] as core.String?, sharedResources: json_['sharedResources'] as core.String?, + speculativeDecodingSpec: json_.containsKey('speculativeDecodingSpec') + ? GoogleCloudAiplatformV1SpeculativeDecodingSpec.fromJson( + json_['speculativeDecodingSpec'] + as core.Map) + : null, status: json_.containsKey('status') ? GoogleCloudAiplatformV1DeployedModelStatus.fromJson( json_['status'] as core.Map) @@ -35908,6 +36220,8 @@ class GoogleCloudAiplatformV1DeployedModel { if (privateEndpoints != null) 'privateEndpoints': privateEndpoints!, if (serviceAccount != null) 'serviceAccount': serviceAccount!, if (sharedResources != null) 'sharedResources': sharedResources!, + if (speculativeDecodingSpec != null) + 'speculativeDecodingSpec': speculativeDecodingSpec!, if (status != null) 'status': status!, if (systemLabels != null) 'systemLabels': systemLabels!, }; @@ -36388,6 +36702,16 @@ class GoogleCloudAiplatformV1Endpoint { /// If not set, a blind "overwrite" update happens. core.String? etag; + /// Configuration for GenAiAdvancedFeatures. + /// + /// If the endpoint is serving GenAI models, advanced features like native RAG + /// integration can be configured. Currently, only Model Garden models are + /// supported. + /// + /// Optional. + GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig? + genAiAdvancedFeaturesConfig; + /// The labels with user-defined metadata to organize your Endpoints. /// /// Label keys and values can be no longer than 64 characters (Unicode @@ -36470,6 +36794,7 @@ class GoogleCloudAiplatformV1Endpoint { this.enablePrivateServiceConnect, this.encryptionSpec, this.etag, + this.genAiAdvancedFeaturesConfig, this.labels, this.modelDeploymentMonitoringJob, this.name, @@ -36507,6 +36832,12 @@ class GoogleCloudAiplatformV1Endpoint { as core.Map) : null, etag: json_['etag'] as core.String?, + genAiAdvancedFeaturesConfig: + json_.containsKey('genAiAdvancedFeaturesConfig') + ? GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig.fromJson( + json_['genAiAdvancedFeaturesConfig'] + as core.Map) + : null, labels: (json_['labels'] as core.Map?)?.map( (key, value) => core.MapEntry( @@ -36558,6 +36889,8 @@ class GoogleCloudAiplatformV1Endpoint { 'enablePrivateServiceConnect': enablePrivateServiceConnect!, if (encryptionSpec != null) 'encryptionSpec': encryptionSpec!, if (etag != null) 'etag': etag!, + if (genAiAdvancedFeaturesConfig != null) + 'genAiAdvancedFeaturesConfig': genAiAdvancedFeaturesConfig!, if (labels != null) 'labels': labels!, if (modelDeploymentMonitoringJob != null) 'modelDeploymentMonitoringJob': modelDeploymentMonitoringJob!, @@ -36575,6 +36908,10 @@ class GoogleCloudAiplatformV1Endpoint { }; } +/// Tool to search public web data, powered by Vertex AI Search and Sec4 +/// compliance. +typedef GoogleCloudAiplatformV1EnterpriseWebSearch = $Empty; + /// Selector for entityId. /// /// Getting ids from the given source. @@ -36866,8 +37203,71 @@ class GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem { }; } +/// Request message for EvaluationService.EvaluateDataset. +class GoogleCloudAiplatformV1EvaluateDatasetRequest { + /// Autorater config used for evaluation. + /// + /// Optional. + GoogleCloudAiplatformV1AutoraterConfig? autoraterConfig; + + /// The dataset used for evaluation. + /// + /// Required. + GoogleCloudAiplatformV1EvaluationDataset? dataset; + + /// The metrics used for evaluation. + /// + /// Required. + core.List? metrics; + + /// Config for evaluation output. + /// + /// Required. + GoogleCloudAiplatformV1OutputConfig? outputConfig; + + GoogleCloudAiplatformV1EvaluateDatasetRequest({ + this.autoraterConfig, + this.dataset, + this.metrics, + this.outputConfig, + }); + + GoogleCloudAiplatformV1EvaluateDatasetRequest.fromJson(core.Map json_) + : this( + autoraterConfig: json_.containsKey('autoraterConfig') + ? GoogleCloudAiplatformV1AutoraterConfig.fromJson( + json_['autoraterConfig'] + as core.Map) + : null, + dataset: json_.containsKey('dataset') + ? GoogleCloudAiplatformV1EvaluationDataset.fromJson( + json_['dataset'] as core.Map) + : null, + metrics: (json_['metrics'] as core.List?) + ?.map((value) => GoogleCloudAiplatformV1Metric.fromJson( + value as core.Map)) + .toList(), + outputConfig: json_.containsKey('outputConfig') + ? GoogleCloudAiplatformV1OutputConfig.fromJson( + json_['outputConfig'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (autoraterConfig != null) 'autoraterConfig': autoraterConfig!, + if (dataset != null) 'dataset': dataset!, + if (metrics != null) 'metrics': metrics!, + if (outputConfig != null) 'outputConfig': outputConfig!, + }; +} + /// Request message for EvaluationService.EvaluateInstances. class GoogleCloudAiplatformV1EvaluateInstancesRequest { + /// Autorater config used for evaluation. + /// + /// Optional. + GoogleCloudAiplatformV1AutoraterConfig? autoraterConfig; + /// Instances and metric spec for bleu metric. GoogleCloudAiplatformV1BleuInput? bleuInput; @@ -36982,6 +37382,7 @@ class GoogleCloudAiplatformV1EvaluateInstancesRequest { trajectorySingleToolUseInput; GoogleCloudAiplatformV1EvaluateInstancesRequest({ + this.autoraterConfig, this.bleuInput, this.coherenceInput, this.cometInput, @@ -37017,6 +37418,11 @@ class GoogleCloudAiplatformV1EvaluateInstancesRequest { GoogleCloudAiplatformV1EvaluateInstancesRequest.fromJson(core.Map json_) : this( + autoraterConfig: json_.containsKey('autoraterConfig') + ? GoogleCloudAiplatformV1AutoraterConfig.fromJson( + json_['autoraterConfig'] + as core.Map) + : null, bleuInput: json_.containsKey('bleuInput') ? GoogleCloudAiplatformV1BleuInput.fromJson( json_['bleuInput'] as core.Map) @@ -37185,6 +37591,7 @@ class GoogleCloudAiplatformV1EvaluateInstancesRequest { ); core.Map toJson() => { + if (autoraterConfig != null) 'autoraterConfig': autoraterConfig!, if (bleuInput != null) 'bleuInput': bleuInput!, if (coherenceInput != null) 'coherenceInput': coherenceInput!, if (cometInput != null) 'cometInput': cometInput!, @@ -37796,6 +38203,38 @@ class GoogleCloudAiplatformV1EvaluatedAnnotationExplanation { }; } +/// The dataset used for evaluation. +class GoogleCloudAiplatformV1EvaluationDataset { + /// BigQuery source holds the dataset. + GoogleCloudAiplatformV1BigQuerySource? bigquerySource; + + /// Cloud storage source holds the dataset. + GoogleCloudAiplatformV1GcsSource? gcsSource; + + GoogleCloudAiplatformV1EvaluationDataset({ + this.bigquerySource, + this.gcsSource, + }); + + GoogleCloudAiplatformV1EvaluationDataset.fromJson(core.Map json_) + : this( + bigquerySource: json_.containsKey('bigquerySource') + ? GoogleCloudAiplatformV1BigQuerySource.fromJson( + json_['bigquerySource'] + as core.Map) + : null, + gcsSource: json_.containsKey('gcsSource') + ? GoogleCloudAiplatformV1GcsSource.fromJson( + json_['gcsSource'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (bigquerySource != null) 'bigquerySource': bigquerySource!, + if (gcsSource != null) 'gcsSource': gcsSource!, + }; +} + /// An edge describing the relationship between an Artifact and an Execution in /// a lineage graph. class GoogleCloudAiplatformV1Event { @@ -38131,6 +38570,43 @@ class GoogleCloudAiplatformV1ExamplesRestrictionsNamespace { }; } +/// Code generated by the model that is meant to be executed, and the result +/// returned to the model. +/// +/// Generated when using the \[FunctionDeclaration\] tool and +/// \[FunctionCallingConfig\] mode is set to \[Mode.CODE\]. +class GoogleCloudAiplatformV1ExecutableCode { + /// The code to be executed. + /// + /// Required. + core.String? code; + + /// Programming language of the `code`. + /// + /// Required. + /// Possible string values are: + /// - "LANGUAGE_UNSPECIFIED" : Unspecified language. This value should not be + /// used. + /// - "PYTHON" : Python \>= 3.10, with numpy and simpy available. + core.String? language; + + GoogleCloudAiplatformV1ExecutableCode({ + this.code, + this.language, + }); + + GoogleCloudAiplatformV1ExecutableCode.fromJson(core.Map json_) + : this( + code: json_['code'] as core.String?, + language: json_['language'] as core.String?, + ); + + core.Map toJson() => { + if (code != null) 'code': code!, + if (language != null) 'language': language!, + }; +} + /// Instance of a general execution. class GoogleCloudAiplatformV1Execution { /// Timestamp when this Execution was created. @@ -40835,6 +41311,36 @@ class GoogleCloudAiplatformV1FeatureView { /// Output only. core.bool? satisfiesPzs; + /// A Service Account unique to this FeatureView. + /// + /// The role bigquery.dataViewer should be granted to this service account to + /// allow Vertex AI Feature Store to sync data to the online store. + /// + /// Output only. + core.String? serviceAccountEmail; + + /// Service agent type used during data sync. + /// + /// By default, the Vertex AI Service Agent is used. When using an IAM Policy + /// to isolate this FeatureView within a project, a separate service account + /// should be provisioned by setting this field to + /// `SERVICE_AGENT_TYPE_FEATURE_VIEW`. This will generate a separate service + /// account to access the BigQuery source table. + /// + /// Optional. + /// Possible string values are: + /// - "SERVICE_AGENT_TYPE_UNSPECIFIED" : By default, the project-level Vertex + /// AI Service Agent is enabled. + /// - "SERVICE_AGENT_TYPE_PROJECT" : Indicates the project-level Vertex AI + /// Service Agent + /// (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + /// will be used during sync jobs. + /// - "SERVICE_AGENT_TYPE_FEATURE_VIEW" : Enable a FeatureView service account + /// to be created by Vertex AI and output in the field + /// `service_account_email`. This service account will be used to read from + /// the source BigQuery table during sync. + core.String? serviceAgentType; + /// Configures when data is to be synced/updated for this FeatureView. /// /// At the end of the sync the latest featureValues for each entityId of this @@ -40862,6 +41368,8 @@ class GoogleCloudAiplatformV1FeatureView { this.optimizedConfig, this.satisfiesPzi, this.satisfiesPzs, + this.serviceAccountEmail, + this.serviceAgentType, this.syncConfig, this.updateTime, this.vertexRagSource, @@ -40900,6 +41408,8 @@ class GoogleCloudAiplatformV1FeatureView { : null, satisfiesPzi: json_['satisfiesPzi'] as core.bool?, satisfiesPzs: json_['satisfiesPzs'] as core.bool?, + serviceAccountEmail: json_['serviceAccountEmail'] as core.String?, + serviceAgentType: json_['serviceAgentType'] as core.String?, syncConfig: json_.containsKey('syncConfig') ? GoogleCloudAiplatformV1FeatureViewSyncConfig.fromJson( json_['syncConfig'] as core.Map) @@ -40924,6 +41434,9 @@ class GoogleCloudAiplatformV1FeatureView { if (optimizedConfig != null) 'optimizedConfig': optimizedConfig!, if (satisfiesPzi != null) 'satisfiesPzi': satisfiesPzi!, if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, + if (serviceAccountEmail != null) + 'serviceAccountEmail': serviceAccountEmail!, + if (serviceAgentType != null) 'serviceAgentType': serviceAgentType!, if (syncConfig != null) 'syncConfig': syncConfig!, if (updateTime != null) 'updateTime': updateTime!, if (vertexRagSource != null) 'vertexRagSource': vertexRagSource!, @@ -42076,6 +42589,15 @@ class GoogleCloudAiplatformV1FetchPredictOperationRequest { /// URI based data. class GoogleCloudAiplatformV1FileData { + /// Display name of the file data. + /// + /// Used to provide a label or filename to distinguish file datas. This field + /// is only returned in PromptMessage for prompt management. It is not + /// currently used in the Gemini GenerateContent calls. + /// + /// Optional. + core.String? displayName; + /// URI. /// /// Required. @@ -42087,17 +42609,20 @@ class GoogleCloudAiplatformV1FileData { core.String? mimeType; GoogleCloudAiplatformV1FileData({ + this.displayName, this.fileUri, this.mimeType, }); GoogleCloudAiplatformV1FileData.fromJson(core.Map json_) : this( + displayName: json_['displayName'] as core.String?, fileUri: json_['fileUri'] as core.String?, mimeType: json_['mimeType'] as core.String?, ); core.Map toJson() => { + if (displayName != null) 'displayName': displayName!, if (fileUri != null) 'fileUri': fileUri!, if (mimeType != null) 'mimeType': mimeType!, }; @@ -42844,6 +43369,52 @@ class GoogleCloudAiplatformV1GcsSource { }; } +/// Configuration for GenAiAdvancedFeatures. +class GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig { + /// Configuration for Retrieval Augmented Generation feature. + GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig? ragConfig; + + GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig({ + this.ragConfig, + }); + + GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig.fromJson(core.Map json_) + : this( + ragConfig: json_.containsKey('ragConfig') + ? GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig + .fromJson( + json_['ragConfig'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (ragConfig != null) 'ragConfig': ragConfig!, + }; +} + +/// Configuration for Retrieval Augmented Generation feature. +class GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig { + /// If true, enable Retrieval Augmented Generation in ChatCompletion request. + /// + /// Once enabled, the endpoint will be identified as GenAI endpoint and + /// Arthedain router will be used. + core.bool? enableRag; + + GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig({ + this.enableRag, + }); + + GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig.fromJson( + core.Map json_) + : this( + enableRag: json_['enableRag'] as core.bool?, + ); + + core.Map toJson() => { + if (enableRag != null) 'enableRag': enableRag!, + }; +} + /// Request message for \[PredictionService.GenerateContent\]. class GoogleCloudAiplatformV1GenerateContentRequest { /// The name of the cached content used as context to serve the prediction. @@ -42980,6 +43551,11 @@ class GoogleCloudAiplatformV1GenerateContentResponse { /// Output only. core.List? candidates; + /// Timestamp when the request is made to the server. + /// + /// Output only. + core.String? createTime; + /// The model version used to generate the response. /// /// Output only. @@ -42993,13 +43569,22 @@ class GoogleCloudAiplatformV1GenerateContentResponse { /// Output only. GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback? promptFeedback; + /// response_id is used to identify each response. + /// + /// It is the encoding of the event_id. + /// + /// Output only. + core.String? responseId; + /// Usage metadata about the response(s). GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata? usageMetadata; GoogleCloudAiplatformV1GenerateContentResponse({ this.candidates, + this.createTime, this.modelVersion, this.promptFeedback, + this.responseId, this.usageMetadata, }); @@ -43009,12 +43594,14 @@ class GoogleCloudAiplatformV1GenerateContentResponse { ?.map((value) => GoogleCloudAiplatformV1Candidate.fromJson( value as core.Map)) .toList(), + createTime: json_['createTime'] as core.String?, modelVersion: json_['modelVersion'] as core.String?, promptFeedback: json_.containsKey('promptFeedback') ? GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback .fromJson(json_['promptFeedback'] as core.Map) : null, + responseId: json_['responseId'] as core.String?, usageMetadata: json_.containsKey('usageMetadata') ? GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata .fromJson(json_['usageMetadata'] @@ -43024,8 +43611,10 @@ class GoogleCloudAiplatformV1GenerateContentResponse { core.Map toJson() => { if (candidates != null) 'candidates': candidates!, + if (createTime != null) 'createTime': createTime!, if (modelVersion != null) 'modelVersion': modelVersion!, if (promptFeedback != null) 'promptFeedback': promptFeedback!, + if (responseId != null) 'responseId': responseId!, if (usageMetadata != null) 'usageMetadata': usageMetadata!, }; } @@ -43081,6 +43670,11 @@ class GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback { /// Usage metadata about response(s). class GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata { + /// List of modalities of the cached content in the request input. + /// + /// Output only. + core.List? cacheTokensDetails; + /// Number of tokens in the cached part in the input (the cached content). /// /// Output only. @@ -43089,38 +43683,99 @@ class GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata { /// Number of tokens in the response(s). core.int? candidatesTokenCount; + /// List of modalities that were returned in the response. + /// + /// Output only. + core.List? candidatesTokensDetails; + /// Number of tokens in the request. /// /// When `cached_content` is set, this is still the total effective prompt /// size meaning this includes the number of tokens in the cached content. core.int? promptTokenCount; - /// Total token count for prompt and response candidates. + /// List of modalities that were processed in the request input. + /// + /// Output only. + core.List? promptTokensDetails; + + /// Number of tokens present in tool-use prompt(s). + /// + /// Output only. + core.int? toolUsePromptTokenCount; + + /// List of modalities that were processed for tool-use request inputs. + /// + /// Output only. + core.List? + toolUsePromptTokensDetails; + + /// Total token count for prompt, response candidates, and tool-use prompts + /// (if present). core.int? totalTokenCount; GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata({ + this.cacheTokensDetails, this.cachedContentTokenCount, this.candidatesTokenCount, + this.candidatesTokensDetails, this.promptTokenCount, + this.promptTokensDetails, + this.toolUsePromptTokenCount, + this.toolUsePromptTokensDetails, this.totalTokenCount, }); GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata.fromJson( core.Map json_) : this( + cacheTokensDetails: (json_['cacheTokensDetails'] as core.List?) + ?.map((value) => + GoogleCloudAiplatformV1ModalityTokenCount.fromJson( + value as core.Map)) + .toList(), cachedContentTokenCount: json_['cachedContentTokenCount'] as core.int?, candidatesTokenCount: json_['candidatesTokenCount'] as core.int?, + candidatesTokensDetails: + (json_['candidatesTokensDetails'] as core.List?) + ?.map((value) => + GoogleCloudAiplatformV1ModalityTokenCount.fromJson( + value as core.Map)) + .toList(), promptTokenCount: json_['promptTokenCount'] as core.int?, + promptTokensDetails: (json_['promptTokensDetails'] as core.List?) + ?.map((value) => + GoogleCloudAiplatformV1ModalityTokenCount.fromJson( + value as core.Map)) + .toList(), + toolUsePromptTokenCount: + json_['toolUsePromptTokenCount'] as core.int?, + toolUsePromptTokensDetails: + (json_['toolUsePromptTokensDetails'] as core.List?) + ?.map((value) => + GoogleCloudAiplatformV1ModalityTokenCount.fromJson( + value as core.Map)) + .toList(), totalTokenCount: json_['totalTokenCount'] as core.int?, ); core.Map toJson() => { + if (cacheTokensDetails != null) + 'cacheTokensDetails': cacheTokensDetails!, if (cachedContentTokenCount != null) 'cachedContentTokenCount': cachedContentTokenCount!, if (candidatesTokenCount != null) 'candidatesTokenCount': candidatesTokenCount!, + if (candidatesTokensDetails != null) + 'candidatesTokensDetails': candidatesTokensDetails!, if (promptTokenCount != null) 'promptTokenCount': promptTokenCount!, + if (promptTokensDetails != null) + 'promptTokensDetails': promptTokensDetails!, + if (toolUsePromptTokenCount != null) + 'toolUsePromptTokenCount': toolUsePromptTokenCount!, + if (toolUsePromptTokensDetails != null) + 'toolUsePromptTokensDetails': toolUsePromptTokensDetails!, if (totalTokenCount != null) 'totalTokenCount': totalTokenCount!, }; } @@ -46495,6 +47150,38 @@ class GoogleCloudAiplatformV1ListModelEvaluationsResponse { }; } +/// Response message for ModelService.ListModelVersionCheckpoints +class GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse { + /// List of Model Version checkpoints. + core.List? checkpoints; + + /// A token to retrieve the next page of results. + /// + /// Pass to ListModelVersionCheckpointsRequest.page_token to obtain that page. + core.String? nextPageToken; + + GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse({ + this.checkpoints, + this.nextPageToken, + }); + + GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse.fromJson( + core.Map json_) + : this( + checkpoints: (json_['checkpoints'] as core.List?) + ?.map((value) => + GoogleCloudAiplatformV1ModelVersionCheckpoint.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (checkpoints != null) 'checkpoints': checkpoints!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + /// Response message for ModelService.ListModelVersions class GoogleCloudAiplatformV1ListModelVersionsResponse { /// List of Model versions in the requested page. @@ -47777,6 +48464,80 @@ class GoogleCloudAiplatformV1MetadataStoreMetadataStoreState { }; } +/// The metric used for dataset level evaluation. +class GoogleCloudAiplatformV1Metric { + /// The aggregation metrics to use. + /// + /// Optional. + core.List? aggregationMetrics; + + /// Spec for bleu metric. + GoogleCloudAiplatformV1BleuSpec? bleuSpec; + + /// Spec for exact match metric. + GoogleCloudAiplatformV1ExactMatchSpec? exactMatchSpec; + + /// Spec for pairwise metric. + GoogleCloudAiplatformV1PairwiseMetricSpec? pairwiseMetricSpec; + + /// Spec for pointwise metric. + GoogleCloudAiplatformV1PointwiseMetricSpec? pointwiseMetricSpec; + + /// Spec for rouge metric. + GoogleCloudAiplatformV1RougeSpec? rougeSpec; + + GoogleCloudAiplatformV1Metric({ + this.aggregationMetrics, + this.bleuSpec, + this.exactMatchSpec, + this.pairwiseMetricSpec, + this.pointwiseMetricSpec, + this.rougeSpec, + }); + + GoogleCloudAiplatformV1Metric.fromJson(core.Map json_) + : this( + aggregationMetrics: (json_['aggregationMetrics'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + bleuSpec: json_.containsKey('bleuSpec') + ? GoogleCloudAiplatformV1BleuSpec.fromJson( + json_['bleuSpec'] as core.Map) + : null, + exactMatchSpec: json_.containsKey('exactMatchSpec') + ? GoogleCloudAiplatformV1ExactMatchSpec.fromJson( + json_['exactMatchSpec'] + as core.Map) + : null, + pairwiseMetricSpec: json_.containsKey('pairwiseMetricSpec') + ? GoogleCloudAiplatformV1PairwiseMetricSpec.fromJson( + json_['pairwiseMetricSpec'] + as core.Map) + : null, + pointwiseMetricSpec: json_.containsKey('pointwiseMetricSpec') + ? GoogleCloudAiplatformV1PointwiseMetricSpec.fromJson( + json_['pointwiseMetricSpec'] + as core.Map) + : null, + rougeSpec: json_.containsKey('rougeSpec') + ? GoogleCloudAiplatformV1RougeSpec.fromJson( + json_['rougeSpec'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (aggregationMetrics != null) + 'aggregationMetrics': aggregationMetrics!, + if (bleuSpec != null) 'bleuSpec': bleuSpec!, + if (exactMatchSpec != null) 'exactMatchSpec': exactMatchSpec!, + if (pairwiseMetricSpec != null) + 'pairwiseMetricSpec': pairwiseMetricSpec!, + if (pointwiseMetricSpec != null) + 'pointwiseMetricSpec': pointwiseMetricSpec!, + if (rougeSpec != null) 'rougeSpec': rougeSpec!, + }; +} + /// Input for MetricX metric. class GoogleCloudAiplatformV1MetricxInput { /// Metricx instance. @@ -48400,6 +49161,38 @@ class GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionCo }; } +/// Represents token counting info for a single modality. +class GoogleCloudAiplatformV1ModalityTokenCount { + /// The modality associated with this token count. + /// Possible string values are: + /// - "MODALITY_UNSPECIFIED" : Unspecified modality. + /// - "TEXT" : Plain text. + /// - "IMAGE" : Image. + /// - "VIDEO" : Video. + /// - "AUDIO" : Audio. + /// - "DOCUMENT" : Document, e.g. PDF. + core.String? modality; + + /// Number of tokens. + core.int? tokenCount; + + GoogleCloudAiplatformV1ModalityTokenCount({ + this.modality, + this.tokenCount, + }); + + GoogleCloudAiplatformV1ModalityTokenCount.fromJson(core.Map json_) + : this( + modality: json_['modality'] as core.String?, + tokenCount: json_['tokenCount'] as core.int?, + ); + + core.Map toJson() => { + if (modality != null) 'modality': modality!, + if (tokenCount != null) 'tokenCount': tokenCount!, + }; +} + /// A trained machine learning Model. class GoogleCloudAiplatformV1Model { /// The path to the directory containing the Model artifact and any of its @@ -48437,6 +49230,9 @@ class GoogleCloudAiplatformV1Model { /// data_input_config. GoogleCloudAiplatformV1ModelDataStats? dataStats; + /// The default checkpoint id of a model version. + core.String? defaultCheckpointId; + /// The pointers to DeployedModels created from this Model. /// /// Note that Model could have been deployed to Endpoints in different @@ -48672,6 +49468,7 @@ class GoogleCloudAiplatformV1Model { this.containerSpec, this.createTime, this.dataStats, + this.defaultCheckpointId, this.deployedModels, this.description, this.displayName, @@ -48719,6 +49516,7 @@ class GoogleCloudAiplatformV1Model { ? GoogleCloudAiplatformV1ModelDataStats.fromJson( json_['dataStats'] as core.Map) : null, + defaultCheckpointId: json_['defaultCheckpointId'] as core.String?, deployedModels: (json_['deployedModels'] as core.List?) ?.map((value) => GoogleCloudAiplatformV1DeployedModelRef.fromJson( value as core.Map)) @@ -48800,6 +49598,8 @@ class GoogleCloudAiplatformV1Model { if (containerSpec != null) 'containerSpec': containerSpec!, if (createTime != null) 'createTime': createTime!, if (dataStats != null) 'dataStats': dataStats!, + if (defaultCheckpointId != null) + 'defaultCheckpointId': defaultCheckpointId!, if (deployedModels != null) 'deployedModels': deployedModels!, if (description != null) 'description': description!, if (displayName != null) 'displayName': displayName!, @@ -50235,7 +51035,7 @@ class GoogleCloudAiplatformV1ModelExportFormat { /// `tf-js` A [TensorFlow.js](https://www.tensorflow.org/js) model that can be /// used in the browser and in Node.js using JavaScript. * `core-ml` Used for /// iOS mobile devices. * `custom-trained` A Model that was uploaded or - /// trained by custom code. + /// trained by custom code. * `genie` A tuned Model Garden model. /// /// Output only. core.String? id; @@ -50268,17 +51068,33 @@ class GoogleCloudAiplatformV1ModelGardenSource { /// Required. core.String? publicModelName; + /// Whether to avoid pulling the model from the HF cache. + /// + /// Optional. + core.bool? skipHfModelCache; + + /// The model garden source model version ID. + /// + /// Optional. + core.String? versionId; + GoogleCloudAiplatformV1ModelGardenSource({ this.publicModelName, + this.skipHfModelCache, + this.versionId, }); GoogleCloudAiplatformV1ModelGardenSource.fromJson(core.Map json_) : this( publicModelName: json_['publicModelName'] as core.String?, + skipHfModelCache: json_['skipHfModelCache'] as core.bool?, + versionId: json_['versionId'] as core.String?, ); core.Map toJson() => { if (publicModelName != null) 'publicModelName': publicModelName!, + if (skipHfModelCache != null) 'skipHfModelCache': skipHfModelCache!, + if (versionId != null) 'versionId': versionId!, }; } @@ -50838,6 +51654,46 @@ class GoogleCloudAiplatformV1ModelOriginalModelInfo { /// Detail description of the source information of the model. typedef GoogleCloudAiplatformV1ModelSourceInfo = $ModelSourceInfo; +/// Describes the machine learning model version checkpoint. +class GoogleCloudAiplatformV1ModelVersionCheckpoint { + /// The ID of the checkpoint. + core.String? checkpointId; + + /// The epoch of the checkpoint. + core.String? epoch; + + /// Identifier. + /// + /// The resource name of the ModelVersionCheckpoint. Format: + /// `projects/{project}/locations/{location}/models/{model}/versions/{version}/checkpoints/{checkpoint}` + core.String? name; + + /// The step of the checkpoint. + core.String? step; + + GoogleCloudAiplatformV1ModelVersionCheckpoint({ + this.checkpointId, + this.epoch, + this.name, + this.step, + }); + + GoogleCloudAiplatformV1ModelVersionCheckpoint.fromJson(core.Map json_) + : this( + checkpointId: json_['checkpointId'] as core.String?, + epoch: json_['epoch'] as core.String?, + name: json_['name'] as core.String?, + step: json_['step'] as core.String?, + ); + + core.Map toJson() => { + if (checkpointId != null) 'checkpointId': checkpointId!, + if (epoch != null) 'epoch': epoch!, + if (name != null) 'name': name!, + if (step != null) 'step': step!, + }; +} + /// Request message for EndpointService.MutateDeployedModel. class GoogleCloudAiplatformV1MutateDeployedModelRequest { /// The DeployedModel to be mutated within the Endpoint. @@ -52082,8 +52938,6 @@ class GoogleCloudAiplatformV1NotebookExecutionJob { /// /// Format: /// `projects/{project_id}/locations/{location}/schedules/{schedule_id}` - /// - /// Output only. core.String? scheduleResourceName; /// The service account to run the execution as. @@ -52560,6 +53414,11 @@ class GoogleCloudAiplatformV1NotebookRuntime { /// Output only. GoogleCloudAiplatformV1ShieldedVmConfig? shieldedVmConfig; + /// Software config of the notebook runtime. + /// + /// Output only. + GoogleCloudAiplatformV1NotebookSoftwareConfig? softwareConfig; + /// Timestamp when this NotebookRuntime was most recently updated. /// /// Output only. @@ -52595,6 +53454,7 @@ class GoogleCloudAiplatformV1NotebookRuntime { this.satisfiesPzs, this.serviceAccount, this.shieldedVmConfig, + this.softwareConfig, this.updateTime, this.version, }); @@ -52663,6 +53523,11 @@ class GoogleCloudAiplatformV1NotebookRuntime { json_['shieldedVmConfig'] as core.Map) : null, + softwareConfig: json_.containsKey('softwareConfig') + ? GoogleCloudAiplatformV1NotebookSoftwareConfig.fromJson( + json_['softwareConfig'] + as core.Map) + : null, updateTime: json_['updateTime'] as core.String?, version: json_['version'] as core.String?, ); @@ -52696,6 +53561,7 @@ class GoogleCloudAiplatformV1NotebookRuntime { if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, if (serviceAccount != null) 'serviceAccount': serviceAccount!, if (shieldedVmConfig != null) 'shieldedVmConfig': shieldedVmConfig!, + if (softwareConfig != null) 'softwareConfig': softwareConfig!, if (updateTime != null) 'updateTime': updateTime!, if (version != null) 'version': version!, }; @@ -52818,6 +53684,11 @@ class GoogleCloudAiplatformV1NotebookRuntimeTemplate { /// Optional. Immutable. GoogleCloudAiplatformV1ShieldedVmConfig? shieldedVmConfig; + /// The notebook software configuration of the notebook runtime. + /// + /// Optional. + GoogleCloudAiplatformV1NotebookSoftwareConfig? softwareConfig; + /// Timestamp when this NotebookRuntimeTemplate was most recently updated. /// /// Output only. @@ -52841,6 +53712,7 @@ class GoogleCloudAiplatformV1NotebookRuntimeTemplate { this.notebookRuntimeType, this.serviceAccount, this.shieldedVmConfig, + this.softwareConfig, this.updateTime, }); @@ -52896,6 +53768,11 @@ class GoogleCloudAiplatformV1NotebookRuntimeTemplate { json_['shieldedVmConfig'] as core.Map) : null, + softwareConfig: json_.containsKey('softwareConfig') + ? GoogleCloudAiplatformV1NotebookSoftwareConfig.fromJson( + json_['softwareConfig'] + as core.Map) + : null, updateTime: json_['updateTime'] as core.String?, ); @@ -52920,6 +53797,7 @@ class GoogleCloudAiplatformV1NotebookRuntimeTemplate { 'notebookRuntimeType': notebookRuntimeType!, if (serviceAccount != null) 'serviceAccount': serviceAccount!, if (shieldedVmConfig != null) 'shieldedVmConfig': shieldedVmConfig!, + if (softwareConfig != null) 'softwareConfig': softwareConfig!, if (updateTime != null) 'updateTime': updateTime!, }; } @@ -52947,6 +53825,68 @@ class GoogleCloudAiplatformV1NotebookRuntimeTemplateRef { }; } +/// Notebook Software Config. +class GoogleCloudAiplatformV1NotebookSoftwareConfig { + /// Environment variables to be passed to the container. + /// + /// Maximum limit is 100. + /// + /// Optional. + core.List? env; + + /// Post startup script config. + /// + /// Optional. + GoogleCloudAiplatformV1PostStartupScriptConfig? postStartupScriptConfig; + + GoogleCloudAiplatformV1NotebookSoftwareConfig({ + this.env, + this.postStartupScriptConfig, + }); + + GoogleCloudAiplatformV1NotebookSoftwareConfig.fromJson(core.Map json_) + : this( + env: (json_['env'] as core.List?) + ?.map((value) => GoogleCloudAiplatformV1EnvVar.fromJson( + value as core.Map)) + .toList(), + postStartupScriptConfig: json_.containsKey('postStartupScriptConfig') + ? GoogleCloudAiplatformV1PostStartupScriptConfig.fromJson( + json_['postStartupScriptConfig'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (env != null) 'env': env!, + if (postStartupScriptConfig != null) + 'postStartupScriptConfig': postStartupScriptConfig!, + }; +} + +/// Config for evaluation output. +class GoogleCloudAiplatformV1OutputConfig { + /// Cloud storage destination for evaluation output. + GoogleCloudAiplatformV1GcsDestination? gcsDestination; + + GoogleCloudAiplatformV1OutputConfig({ + this.gcsDestination, + }); + + GoogleCloudAiplatformV1OutputConfig.fromJson(core.Map json_) + : this( + gcsDestination: json_.containsKey('gcsDestination') + ? GoogleCloudAiplatformV1GcsDestination.fromJson( + json_['gcsDestination'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (gcsDestination != null) 'gcsDestination': gcsDestination!, + }; +} + /// PSC config that is used to automatically create forwarding rule via /// ServiceConnectionMap. class GoogleCloudAiplatformV1PSCAutomationConfig { @@ -53077,23 +54017,51 @@ class GoogleCloudAiplatformV1PairwiseMetricResult { /// Spec for pairwise metric. class GoogleCloudAiplatformV1PairwiseMetricSpec { + /// The field name of the baseline response. + /// + /// Optional. + core.String? baselineResponseFieldName; + + /// The field name of the candidate response. + /// + /// Optional. + core.String? candidateResponseFieldName; + /// Metric prompt template for pairwise metric. /// /// Required. core.String? metricPromptTemplate; + /// System instructions for pairwise metric. + /// + /// Optional. + core.String? systemInstruction; + GoogleCloudAiplatformV1PairwiseMetricSpec({ + this.baselineResponseFieldName, + this.candidateResponseFieldName, this.metricPromptTemplate, + this.systemInstruction, }); GoogleCloudAiplatformV1PairwiseMetricSpec.fromJson(core.Map json_) : this( + baselineResponseFieldName: + json_['baselineResponseFieldName'] as core.String?, + candidateResponseFieldName: + json_['candidateResponseFieldName'] as core.String?, metricPromptTemplate: json_['metricPromptTemplate'] as core.String?, + systemInstruction: json_['systemInstruction'] as core.String?, ); core.Map toJson() => { + if (baselineResponseFieldName != null) + 'baselineResponseFieldName': baselineResponseFieldName!, + if (candidateResponseFieldName != null) + 'candidateResponseFieldName': candidateResponseFieldName!, if (metricPromptTemplate != null) 'metricPromptTemplate': metricPromptTemplate!, + if (systemInstruction != null) 'systemInstruction': systemInstruction!, }; } @@ -53411,6 +54379,16 @@ class GoogleCloudAiplatformV1PairwiseSummarizationQualitySpec { /// fixed IANA MIME type identifying the type and subtype of the media if /// `inline_data` or `file_data` field is filled with raw bytes. class GoogleCloudAiplatformV1Part { + /// Result of executing the \[ExecutableCode\]. + /// + /// Optional. + GoogleCloudAiplatformV1CodeExecutionResult? codeExecutionResult; + + /// Code generated by the model that is meant to be executed. + /// + /// Optional. + GoogleCloudAiplatformV1ExecutableCode? executableCode; + /// URI based data. /// /// Optional. @@ -53451,6 +54429,8 @@ class GoogleCloudAiplatformV1Part { GoogleCloudAiplatformV1VideoMetadata? videoMetadata; GoogleCloudAiplatformV1Part({ + this.codeExecutionResult, + this.executableCode, this.fileData, this.functionCall, this.functionResponse, @@ -53461,6 +54441,16 @@ class GoogleCloudAiplatformV1Part { GoogleCloudAiplatformV1Part.fromJson(core.Map json_) : this( + codeExecutionResult: json_.containsKey('codeExecutionResult') + ? GoogleCloudAiplatformV1CodeExecutionResult.fromJson( + json_['codeExecutionResult'] + as core.Map) + : null, + executableCode: json_.containsKey('executableCode') + ? GoogleCloudAiplatformV1ExecutableCode.fromJson( + json_['executableCode'] + as core.Map) + : null, fileData: json_.containsKey('fileData') ? GoogleCloudAiplatformV1FileData.fromJson( json_['fileData'] as core.Map) @@ -53486,6 +54476,9 @@ class GoogleCloudAiplatformV1Part { ); core.Map toJson() => { + if (codeExecutionResult != null) + 'codeExecutionResult': codeExecutionResult!, + if (executableCode != null) 'executableCode': executableCode!, if (fileData != null) 'fileData': fileData!, if (functionCall != null) 'functionCall': functionCall!, if (functionResponse != null) 'functionResponse': functionResponse!, @@ -54691,18 +55684,26 @@ class GoogleCloudAiplatformV1PointwiseMetricSpec { /// Required. core.String? metricPromptTemplate; + /// System instructions for pointwise metric. + /// + /// Optional. + core.String? systemInstruction; + GoogleCloudAiplatformV1PointwiseMetricSpec({ this.metricPromptTemplate, + this.systemInstruction, }); GoogleCloudAiplatformV1PointwiseMetricSpec.fromJson(core.Map json_) : this( metricPromptTemplate: json_['metricPromptTemplate'] as core.String?, + systemInstruction: json_['systemInstruction'] as core.String?, ); core.Map toJson() => { if (metricPromptTemplate != null) 'metricPromptTemplate': metricPromptTemplate!, + if (systemInstruction != null) 'systemInstruction': systemInstruction!, }; } @@ -54727,6 +55728,55 @@ class GoogleCloudAiplatformV1Port { }; } +/// Post startup script config. +class GoogleCloudAiplatformV1PostStartupScriptConfig { + /// Post startup script to run after runtime is started. + /// + /// Optional. + core.String? postStartupScript; + + /// Post startup script behavior that defines download and execution behavior. + /// + /// Optional. + /// Possible string values are: + /// - "POST_STARTUP_SCRIPT_BEHAVIOR_UNSPECIFIED" : Unspecified post startup + /// script behavior. + /// - "RUN_ONCE" : Run post startup script after runtime is started. + /// - "RUN_EVERY_START" : Run post startup script after runtime is stopped. + /// - "DOWNLOAD_AND_RUN_EVERY_START" : Download and run post startup script + /// every time runtime is started. + core.String? postStartupScriptBehavior; + + /// Post startup script url to download. + /// + /// Example: https://bucket/script.sh + /// + /// Optional. + core.String? postStartupScriptUrl; + + GoogleCloudAiplatformV1PostStartupScriptConfig({ + this.postStartupScript, + this.postStartupScriptBehavior, + this.postStartupScriptUrl, + }); + + GoogleCloudAiplatformV1PostStartupScriptConfig.fromJson(core.Map json_) + : this( + postStartupScript: json_['postStartupScript'] as core.String?, + postStartupScriptBehavior: + json_['postStartupScriptBehavior'] as core.String?, + postStartupScriptUrl: json_['postStartupScriptUrl'] as core.String?, + ); + + core.Map toJson() => { + if (postStartupScript != null) 'postStartupScript': postStartupScript!, + if (postStartupScriptBehavior != null) + 'postStartupScriptBehavior': postStartupScriptBehavior!, + if (postStartupScriptUrl != null) + 'postStartupScriptUrl': postStartupScriptUrl!, + }; +} + /// The configuration for the prebuilt speaker to use. class GoogleCloudAiplatformV1PrebuiltVoiceConfig { /// The name of the preset voice to use. @@ -55197,6 +56247,12 @@ class GoogleCloudAiplatformV1Probe { /// ExecAction probes the health of a container by executing a command. GoogleCloudAiplatformV1ProbeExecAction? exec; + /// Number of consecutive failures before the probe is considered failed. + /// + /// Defaults to 3. Minimum value is 1. Maps to Kubernetes probe argument + /// 'failureThreshold'. + core.int? failureThreshold; + /// GrpcAction probes the health of a container by sending a gRPC request. GoogleCloudAiplatformV1ProbeGrpcAction? grpc; @@ -55204,12 +56260,24 @@ class GoogleCloudAiplatformV1Probe { /// request. GoogleCloudAiplatformV1ProbeHttpGetAction? httpGet; + /// Number of seconds to wait before starting the probe. + /// + /// Defaults to 0. Minimum value is 0. Maps to Kubernetes probe argument + /// 'initialDelaySeconds'. + core.int? initialDelaySeconds; + /// How often (in seconds) to perform the probe. /// /// Default to 10 seconds. Minimum value is 1. Must be less than /// timeout_seconds. Maps to Kubernetes probe argument 'periodSeconds'. core.int? periodSeconds; + /// Number of consecutive successes before the probe is considered successful. + /// + /// Defaults to 1. Minimum value is 1. Maps to Kubernetes probe argument + /// 'successThreshold'. + core.int? successThreshold; + /// TcpSocketAction probes the health of a container by opening a TCP socket /// connection. GoogleCloudAiplatformV1ProbeTcpSocketAction? tcpSocket; @@ -55222,9 +56290,12 @@ class GoogleCloudAiplatformV1Probe { GoogleCloudAiplatformV1Probe({ this.exec, + this.failureThreshold, this.grpc, this.httpGet, + this.initialDelaySeconds, this.periodSeconds, + this.successThreshold, this.tcpSocket, this.timeoutSeconds, }); @@ -55235,6 +56306,7 @@ class GoogleCloudAiplatformV1Probe { ? GoogleCloudAiplatformV1ProbeExecAction.fromJson( json_['exec'] as core.Map) : null, + failureThreshold: json_['failureThreshold'] as core.int?, grpc: json_.containsKey('grpc') ? GoogleCloudAiplatformV1ProbeGrpcAction.fromJson( json_['grpc'] as core.Map) @@ -55243,7 +56315,9 @@ class GoogleCloudAiplatformV1Probe { ? GoogleCloudAiplatformV1ProbeHttpGetAction.fromJson( json_['httpGet'] as core.Map) : null, + initialDelaySeconds: json_['initialDelaySeconds'] as core.int?, periodSeconds: json_['periodSeconds'] as core.int?, + successThreshold: json_['successThreshold'] as core.int?, tcpSocket: json_.containsKey('tcpSocket') ? GoogleCloudAiplatformV1ProbeTcpSocketAction.fromJson( json_['tcpSocket'] as core.Map) @@ -55253,9 +56327,13 @@ class GoogleCloudAiplatformV1Probe { core.Map toJson() => { if (exec != null) 'exec': exec!, + if (failureThreshold != null) 'failureThreshold': failureThreshold!, if (grpc != null) 'grpc': grpc!, if (httpGet != null) 'httpGet': httpGet!, + if (initialDelaySeconds != null) + 'initialDelaySeconds': initialDelaySeconds!, if (periodSeconds != null) 'periodSeconds': periodSeconds!, + if (successThreshold != null) 'successThreshold': successThreshold!, if (tcpSocket != null) 'tcpSocket': tcpSocket!, if (timeoutSeconds != null) 'timeoutSeconds': timeoutSeconds!, }; @@ -58264,6 +59342,11 @@ class GoogleCloudAiplatformV1ReasoningEngineSpec { /// `String`, `bool` and `null` as well as `Map` and `List` values. core.List>? classMethods; + /// The specification of a Reasoning Engine deployment. + /// + /// Optional. + GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec? deploymentSpec; + /// User provided package spec of the ReasoningEngine. /// /// Required. @@ -58271,6 +59354,7 @@ class GoogleCloudAiplatformV1ReasoningEngineSpec { GoogleCloudAiplatformV1ReasoningEngineSpec({ this.classMethods, + this.deploymentSpec, this.packageSpec, }); @@ -58279,6 +59363,11 @@ class GoogleCloudAiplatformV1ReasoningEngineSpec { classMethods: (json_['classMethods'] as core.List?) ?.map((value) => value as core.Map) .toList(), + deploymentSpec: json_.containsKey('deploymentSpec') + ? GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec + .fromJson(json_['deploymentSpec'] + as core.Map) + : null, packageSpec: json_.containsKey('packageSpec') ? GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec.fromJson( json_['packageSpec'] as core.Map) @@ -58287,10 +59376,54 @@ class GoogleCloudAiplatformV1ReasoningEngineSpec { core.Map toJson() => { if (classMethods != null) 'classMethods': classMethods!, + if (deploymentSpec != null) 'deploymentSpec': deploymentSpec!, if (packageSpec != null) 'packageSpec': packageSpec!, }; } +/// The specification of a Reasoning Engine deployment. +class GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec { + /// Environment variables to be set with the Reasoning Engine deployment. + /// + /// The environment variables can be updated through the UpdateReasoningEngine + /// API. + /// + /// Optional. + core.List? env; + + /// Environment variables where the value is a secret in Cloud Secret Manager. + /// + /// To use this feature, add 'Secret Manager Secret Accessor' role + /// (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine + /// Service Agent. + /// + /// Optional. + core.List? secretEnv; + + GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec({ + this.env, + this.secretEnv, + }); + + GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec.fromJson( + core.Map json_) + : this( + env: (json_['env'] as core.List?) + ?.map((value) => GoogleCloudAiplatformV1EnvVar.fromJson( + value as core.Map)) + .toList(), + secretEnv: (json_['secretEnv'] as core.List?) + ?.map((value) => GoogleCloudAiplatformV1SecretEnvVar.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (env != null) 'env': env!, + if (secretEnv != null) 'secretEnv': secretEnv!, + }; +} + /// User provided package spec like pickled object and package requirements. class GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec { /// The Cloud Storage URI of the dependency files in tar.gz format. @@ -58468,7 +59601,8 @@ class GoogleCloudAiplatformV1ReservationAffinity { /// Corresponds to the label values of a reservation resource. /// - /// This must be the full resource name of the reservation. + /// This must be the full resource name of the reservation or reservation + /// block. /// /// Optional. core.List? values; @@ -58787,6 +59921,34 @@ class GoogleCloudAiplatformV1Retrieval { }; } +/// Retrieval config. +class GoogleCloudAiplatformV1RetrievalConfig { + /// The language code of the user. + core.String? languageCode; + + /// The location of the user. + GoogleTypeLatLng? latLng; + + GoogleCloudAiplatformV1RetrievalConfig({ + this.languageCode, + this.latLng, + }); + + GoogleCloudAiplatformV1RetrievalConfig.fromJson(core.Map json_) + : this( + languageCode: json_['languageCode'] as core.String?, + latLng: json_.containsKey('latLng') + ? GoogleTypeLatLng.fromJson( + json_['latLng'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (languageCode != null) 'languageCode': languageCode!, + if (latLng != null) 'latLng': latLng!, + }; +} + /// Metadata related to retrieval in the grounding flow. class GoogleCloudAiplatformV1RetrievalMetadata { /// Score indicating how likely information from Google Search could help @@ -60487,6 +61649,44 @@ class GoogleCloudAiplatformV1SearchNearestEntitiesResponse { }; } +/// Represents an environment variable where the value is a secret in Cloud +/// Secret Manager. +class GoogleCloudAiplatformV1SecretEnvVar { + /// Name of the secret environment variable. + /// + /// Required. + core.String? name; + + /// Reference to a secret stored in the Cloud Secret Manager that will provide + /// the value for this environment variable. + /// + /// Required. + GoogleCloudAiplatformV1SecretRef? secretRef; + + GoogleCloudAiplatformV1SecretEnvVar({ + this.name, + this.secretRef, + }); + + GoogleCloudAiplatformV1SecretEnvVar.fromJson(core.Map json_) + : this( + name: json_['name'] as core.String?, + secretRef: json_.containsKey('secretRef') + ? GoogleCloudAiplatformV1SecretRef.fromJson( + json_['secretRef'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (name != null) 'name': name!, + if (secretRef != null) 'secretRef': secretRef!, + }; +} + +/// Reference to a secret stored in the Cloud Secret Manager that will provide +/// the value for this environment variable. +typedef GoogleCloudAiplatformV1SecretRef = $Shared05; + /// Segment of the content. class GoogleCloudAiplatformV1Segment { /// End index in the given Part, measured in bytes. @@ -60959,6 +62159,96 @@ class GoogleCloudAiplatformV1SpecialistPool { }; } +/// Configuration for Speculative Decoding. +class GoogleCloudAiplatformV1SpeculativeDecodingSpec { + /// draft model speculation. + GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation? + draftModelSpeculation; + + /// N-Gram speculation. + GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation? + ngramSpeculation; + + /// The number of speculative tokens to generate at each step. + core.int? speculativeTokenCount; + + GoogleCloudAiplatformV1SpeculativeDecodingSpec({ + this.draftModelSpeculation, + this.ngramSpeculation, + this.speculativeTokenCount, + }); + + GoogleCloudAiplatformV1SpeculativeDecodingSpec.fromJson(core.Map json_) + : this( + draftModelSpeculation: json_.containsKey('draftModelSpeculation') + ? GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation + .fromJson(json_['draftModelSpeculation'] + as core.Map) + : null, + ngramSpeculation: json_.containsKey('ngramSpeculation') + ? GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation + .fromJson(json_['ngramSpeculation'] + as core.Map) + : null, + speculativeTokenCount: json_['speculativeTokenCount'] as core.int?, + ); + + core.Map toJson() => { + if (draftModelSpeculation != null) + 'draftModelSpeculation': draftModelSpeculation!, + if (ngramSpeculation != null) 'ngramSpeculation': ngramSpeculation!, + if (speculativeTokenCount != null) + 'speculativeTokenCount': speculativeTokenCount!, + }; +} + +/// Draft model speculation works by using the smaller model to generate +/// candidate tokens for speculative decoding. +class GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation { + /// The resource name of the draft model. + /// + /// Required. + core.String? draftModel; + + GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation({ + this.draftModel, + }); + + GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation.fromJson( + core.Map json_) + : this( + draftModel: json_['draftModel'] as core.String?, + ); + + core.Map toJson() => { + if (draftModel != null) 'draftModel': draftModel!, + }; +} + +/// N-Gram speculation works by trying to find matching tokens in the previous +/// prompt sequence and use those as speculation for generating new tokens. +class GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation { + /// The number of last N input tokens used as ngram to search/match against + /// the previous prompt sequence. + /// + /// This is equal to the N in N-Gram. The default value is 3 if not specified. + core.int? ngramSize; + + GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation({ + this.ngramSize, + }); + + GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation.fromJson( + core.Map json_) + : this( + ngramSize: json_['ngramSize'] as core.int?, + ); + + core.Map toJson() => { + if (ngramSize != null) 'ngramSize': ngramSize!, + }; +} + /// The speech generation config. class GoogleCloudAiplatformV1SpeechConfig { /// The configuration for the speaker to use. @@ -62705,6 +63995,7 @@ class GoogleCloudAiplatformV1SupervisedHyperParameters { /// Possible string values are: /// - "ADAPTER_SIZE_UNSPECIFIED" : Adapter size is unspecified. /// - "ADAPTER_SIZE_ONE" : Adapter size 1. + /// - "ADAPTER_SIZE_TWO" : Adapter size 2. /// - "ADAPTER_SIZE_FOUR" : Adapter size 4. /// - "ADAPTER_SIZE_EIGHT" : Adapter size 8. /// - "ADAPTER_SIZE_SIXTEEN" : Adapter size 16. @@ -62746,6 +64037,14 @@ class GoogleCloudAiplatformV1SupervisedHyperParameters { /// Tuning data statistics for Supervised Tuning. class GoogleCloudAiplatformV1SupervisedTuningDataStats { + /// For each index in `truncated_example_indices`, the user-facing reason why + /// the example was dropped. + /// + /// Must not include example itself. + /// + /// Output only. + core.List? droppedExampleReasons; + /// Number of billable characters in the tuning dataset. /// /// Output only. @@ -62759,8 +64058,12 @@ class GoogleCloudAiplatformV1SupervisedTuningDataStats { /// Output only. core.String? totalBillableTokenCount; - /// The number of examples in the dataset that have been truncated by any - /// amount. + /// The number of examples in the dataset that have been dropped. + /// + /// An example can be dropped for reasons including: too many tokens, contains + /// an invalid image, contains too many images, etc. + /// + /// Output only. core.String? totalTruncatedExampleCount; /// Number of tuning characters in the tuning dataset. @@ -62768,8 +64071,9 @@ class GoogleCloudAiplatformV1SupervisedTuningDataStats { /// Output only. core.String? totalTuningCharacterCount; - /// A partial sample of the indices (starting from 1) of the truncated - /// examples. + /// A partial sample of the indices (starting from 1) of the dropped examples. + /// + /// Output only. core.List? truncatedExampleIndices; /// Number of examples in the tuning dataset. @@ -62806,6 +64110,7 @@ class GoogleCloudAiplatformV1SupervisedTuningDataStats { userOutputTokenDistribution; GoogleCloudAiplatformV1SupervisedTuningDataStats({ + this.droppedExampleReasons, this.totalBillableCharacterCount, this.totalBillableTokenCount, this.totalTruncatedExampleCount, @@ -62821,6 +64126,9 @@ class GoogleCloudAiplatformV1SupervisedTuningDataStats { GoogleCloudAiplatformV1SupervisedTuningDataStats.fromJson(core.Map json_) : this( + droppedExampleReasons: (json_['droppedExampleReasons'] as core.List?) + ?.map((value) => value as core.String) + .toList(), totalBillableCharacterCount: json_['totalBillableCharacterCount'] as core.String?, totalBillableTokenCount: @@ -62861,6 +64169,8 @@ class GoogleCloudAiplatformV1SupervisedTuningDataStats { ); core.Map toJson() => { + if (droppedExampleReasons != null) + 'droppedExampleReasons': droppedExampleReasons!, if (totalBillableCharacterCount != null) 'totalBillableCharacterCount': totalBillableCharacterCount!, if (totalBillableTokenCount != null) @@ -64074,6 +65384,19 @@ class GoogleCloudAiplatformV1TokensInfo { /// knowledge and scope of the model. A Tool object should contain exactly one /// type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval). class GoogleCloudAiplatformV1Tool { + /// CodeExecution tool type. + /// + /// Enables the model to execute code as part of generation. + /// + /// Optional. + GoogleCloudAiplatformV1ToolCodeExecution? codeExecution; + + /// Tool to support searching public web data, powered by Vertex AI Search and + /// Sec4 compliance. + /// + /// Optional. + GoogleCloudAiplatformV1EnterpriseWebSearch? enterpriseWebSearch; + /// Function tool type. /// /// One or more function declarations to be passed to the model along with the @@ -64110,6 +65433,8 @@ class GoogleCloudAiplatformV1Tool { GoogleCloudAiplatformV1Retrieval? retrieval; GoogleCloudAiplatformV1Tool({ + this.codeExecution, + this.enterpriseWebSearch, this.functionDeclarations, this.googleSearch, this.googleSearchRetrieval, @@ -64118,6 +65443,15 @@ class GoogleCloudAiplatformV1Tool { GoogleCloudAiplatformV1Tool.fromJson(core.Map json_) : this( + codeExecution: json_.containsKey('codeExecution') + ? GoogleCloudAiplatformV1ToolCodeExecution.fromJson( + json_['codeExecution'] as core.Map) + : null, + enterpriseWebSearch: json_.containsKey('enterpriseWebSearch') + ? GoogleCloudAiplatformV1EnterpriseWebSearch.fromJson( + json_['enterpriseWebSearch'] + as core.Map) + : null, functionDeclarations: (json_['functionDeclarations'] as core.List?) ?.map((value) => GoogleCloudAiplatformV1FunctionDeclaration.fromJson( @@ -64139,6 +65473,9 @@ class GoogleCloudAiplatformV1Tool { ); core.Map toJson() => { + if (codeExecution != null) 'codeExecution': codeExecution!, + if (enterpriseWebSearch != null) + 'enterpriseWebSearch': enterpriseWebSearch!, if (functionDeclarations != null) 'functionDeclarations': functionDeclarations!, if (googleSearch != null) 'googleSearch': googleSearch!, @@ -64268,6 +65605,13 @@ class GoogleCloudAiplatformV1ToolCallValidResults { /// Spec for tool call valid metric. typedef GoogleCloudAiplatformV1ToolCallValidSpec = $Empty; +/// Tool that executes code generated by the model, and automatically returns +/// the result to the model. +/// +/// See also \[ExecutableCode\]and \[CodeExecutionResult\] which are input and +/// output to this tool. +typedef GoogleCloudAiplatformV1ToolCodeExecution = $Empty; + /// Tool config. /// /// This config is shared for all tools provided in the request. @@ -64277,8 +65621,14 @@ class GoogleCloudAiplatformV1ToolConfig { /// Optional. GoogleCloudAiplatformV1FunctionCallingConfig? functionCallingConfig; + /// Retrieval config. + /// + /// Optional. + GoogleCloudAiplatformV1RetrievalConfig? retrievalConfig; + GoogleCloudAiplatformV1ToolConfig({ this.functionCallingConfig, + this.retrievalConfig, }); GoogleCloudAiplatformV1ToolConfig.fromJson(core.Map json_) @@ -64288,11 +65638,17 @@ class GoogleCloudAiplatformV1ToolConfig { json_['functionCallingConfig'] as core.Map) : null, + retrievalConfig: json_.containsKey('retrievalConfig') + ? GoogleCloudAiplatformV1RetrievalConfig.fromJson( + json_['retrievalConfig'] + as core.Map) + : null, ); core.Map toJson() => { if (functionCallingConfig != null) 'functionCallingConfig': functionCallingConfig!, + if (retrievalConfig != null) 'retrievalConfig': retrievalConfig!, }; } @@ -65918,8 +67274,8 @@ class GoogleCloudAiplatformV1TrialParameter { }; } -/// The Model Registry Model and Online Prediction Endpoint assiociated with -/// this TuningJob. +/// The Model Registry Model and Online Prediction Endpoint associated with this +/// TuningJob. class GoogleCloudAiplatformV1TunedModel { /// A resource name of an Endpoint. /// @@ -66112,7 +67468,7 @@ class GoogleCloudAiplatformV1TuningJob { /// Tuning Spec for Supervised Fine Tuning. GoogleCloudAiplatformV1SupervisedTuningSpec? supervisedTuningSpec; - /// The tuned model resources assiociated with this TuningJob. + /// The tuned model resources associated with this TuningJob. /// /// Output only. GoogleCloudAiplatformV1TunedModel? tunedModel; @@ -66652,16 +68008,17 @@ class GoogleCloudAiplatformV1Value { }; } -/// Retrieve from Vertex AI Search datastore for grounding. +/// Retrieve from Vertex AI Search datastore or engine for grounding. /// -/// See https://cloud.google.com/products/agent-builder +/// datastore and engine are mutually exclusive. See +/// https://cloud.google.com/products/agent-builder class GoogleCloudAiplatformV1VertexAISearch { /// Fully-qualified Vertex AI Search data store resource ID. /// /// Format: /// `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}` /// - /// Required. + /// Optional. core.String? datastore; GoogleCloudAiplatformV1VertexAISearch({ @@ -67509,5 +68866,12 @@ typedef GoogleTypeExpr = $Expr; /// unspecified, the interval matches any time. typedef GoogleTypeInterval = $Interval; +/// An object that represents a latitude/longitude pair. +/// +/// This is expressed as a pair of doubles to represent degrees latitude and +/// degrees longitude. Unless specified otherwise, this object must conform to +/// the WGS84 standard. Values must be within normalized ranges. +typedef GoogleTypeLatLng = $LatLng; + /// Represents an amount of money with its currency type. typedef GoogleTypeMoney = $Money; diff --git a/generated/googleapis/lib/alloydb/v1.dart b/generated/googleapis/lib/alloydb/v1.dart index ccc67e5bc..732211154 100644 --- a/generated/googleapis/lib/alloydb/v1.dart +++ b/generated/googleapis/lib/alloydb/v1.dart @@ -804,6 +804,49 @@ class ProjectsLocationsClustersResource { return Cluster.fromJson(response_ as core.Map); } + /// Imports data to the cluster. + /// + /// Imperative only. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [name] - Required. The resource name of the cluster. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future import( + ImportClusterRequest request, + core.String name, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':import'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } + /// Lists Clusters in a given project and location. /// /// Request parameters: @@ -1029,6 +1072,49 @@ class ProjectsLocationsClustersResource { return Operation.fromJson(response_ as core.Map); } + /// Restores an AlloyDB cluster from a CloudSQL resource. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [parent] - Required. The location of the new cluster. For the required + /// format, see the comment on Cluster.name field. + /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future restoreFromCloudSQL( + RestoreFromCloudSQLRequest request, + core.String parent, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + + core.Uri.encodeFull('$parent') + + '/clusters:restoreFromCloudSQL'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } + /// Switches the roles of PRIMARY and SECONDARY clusters without any data /// loss. /// @@ -2200,6 +2286,14 @@ class ProjectsLocationsSupportedDatabaseFlagsResource { /// [pageToken] - A token identifying a page of results the server should /// return. /// + /// [scope] - Optional. The scope for which supported flags are requested. If + /// not specified, default is DATABASE. + /// Possible string values are: + /// - "SCOPE_UNSPECIFIED" : The scope of the flag is not specified. Default is + /// DATABASE. + /// - "DATABASE" : The flag is a database flag. + /// - "CONNECTION_POOL" : The flag is a connection pool flag. + /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// @@ -2214,11 +2308,13 @@ class ProjectsLocationsSupportedDatabaseFlagsResource { core.String parent, { core.int? pageSize, core.String? pageToken, + core.String? scope, core.String? $fields, }) async { final queryParams_ = >{ if (pageSize != null) 'pageSize': ['${pageSize}'], if (pageToken != null) 'pageToken': [pageToken], + if (scope != null) 'scope': [scope], if ($fields != null) 'fields': [$fields], }; @@ -2274,8 +2370,8 @@ class AutomatedBackupPolicy { /// The encryption config can be specified to encrypt the backups with a /// customer-managed encryption key (CMEK). /// - /// When this field is not specified, the backup will then use default - /// encryption scheme to protect the user data. + /// When this field is not specified, the backup will use the cluster's + /// encryption config. /// /// Optional. EncryptionConfig? encryptionConfig; @@ -2693,6 +2789,43 @@ class ClientConnectionConfig { }; } +/// The source CloudSQL backup resource. +class CloudSQLBackupRunSource { + /// The CloudSQL backup run ID. + /// + /// Required. + core.String? backupRunId; + + /// The CloudSQL instance ID. + /// + /// Required. + core.String? instanceId; + + /// The project ID of the source CloudSQL instance. + /// + /// This should be the same as the AlloyDB cluster's project. + core.String? project; + + CloudSQLBackupRunSource({ + this.backupRunId, + this.instanceId, + this.project, + }); + + CloudSQLBackupRunSource.fromJson(core.Map json_) + : this( + backupRunId: json_['backupRunId'] as core.String?, + instanceId: json_['instanceId'] as core.String?, + project: json_['project'] as core.String?, + ); + + core.Map toJson() => { + if (backupRunId != null) 'backupRunId': backupRunId!, + if (instanceId != null) 'instanceId': instanceId!, + if (project != null) 'project': project!, + }; +} + /// A cluster is a collection of regional AlloyDB resources. /// /// It can include a primary instance and one or more read pool instances. All @@ -2717,6 +2850,11 @@ class Cluster { /// Output only. BackupSource? backupSource; + /// Cluster created from CloudSQL snapshot. + /// + /// Output only. + CloudSQLBackupRunSource? cloudsqlBackupRunSource; + /// The type of the cluster. /// /// This is an output-only field and it's populated at the Cluster creation @@ -2938,6 +3076,7 @@ class Cluster { this.annotations, this.automatedBackupPolicy, this.backupSource, + this.cloudsqlBackupRunSource, this.clusterType, this.continuousBackupConfig, this.continuousBackupInfo, @@ -2988,6 +3127,11 @@ class Cluster { ? BackupSource.fromJson( json_['backupSource'] as core.Map) : null, + cloudsqlBackupRunSource: json_.containsKey('cloudsqlBackupRunSource') + ? CloudSQLBackupRunSource.fromJson( + json_['cloudsqlBackupRunSource'] + as core.Map) + : null, clusterType: json_['clusterType'] as core.String?, continuousBackupConfig: json_.containsKey('continuousBackupConfig') ? ContinuousBackupConfig.fromJson(json_['continuousBackupConfig'] @@ -3079,6 +3223,8 @@ class Cluster { if (automatedBackupPolicy != null) 'automatedBackupPolicy': automatedBackupPolicy!, if (backupSource != null) 'backupSource': backupSource!, + if (cloudsqlBackupRunSource != null) + 'cloudsqlBackupRunSource': cloudsqlBackupRunSource!, if (clusterType != null) 'clusterType': clusterType!, if (continuousBackupConfig != null) 'continuousBackupConfig': continuousBackupConfig!, @@ -3179,8 +3325,8 @@ class ContinuousBackupConfig { /// The encryption config can be specified to encrypt the backups with a /// customer-managed encryption key (CMEK). /// - /// When this field is not specified, the backup will then use default - /// encryption scheme to protect the user data. + /// When this field is not specified, the backup will use the cluster's + /// encryption config. EncryptionConfig? encryptionConfig; /// The number of days that are eligible to restore from using PITR. @@ -3362,6 +3508,75 @@ class CsvExportOptions { }; } +/// Options for importing data in CSV format. +class CsvImportOptions { + /// The columns to which CSV data is imported. + /// + /// If not specified, all columns of the database table are loaded with CSV + /// data. + /// + /// Optional. + core.List? columns; + + /// Specifies the character that should appear before a data character that + /// needs to be escaped. + /// + /// The default is same as quote character. The value of this argument has to + /// be a character in Hex ASCII Code. + /// + /// Optional. + core.String? escapeCharacter; + + /// Specifies the character that separates columns within each row (line) of + /// the file. + /// + /// The default is comma. The value of this argument has to be a character in + /// Hex ASCII Code. + /// + /// Optional. + core.String? fieldDelimiter; + + /// Specifies the quoting character to be used when a data value is quoted. + /// + /// The default is double-quote. The value of this argument has to be a + /// character in Hex ASCII Code. + /// + /// Optional. + core.String? quoteCharacter; + + /// The database table to import CSV file into. + /// + /// Required. + core.String? table; + + CsvImportOptions({ + this.columns, + this.escapeCharacter, + this.fieldDelimiter, + this.quoteCharacter, + this.table, + }); + + CsvImportOptions.fromJson(core.Map json_) + : this( + columns: (json_['columns'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + escapeCharacter: json_['escapeCharacter'] as core.String?, + fieldDelimiter: json_['fieldDelimiter'] as core.String?, + quoteCharacter: json_['quoteCharacter'] as core.String?, + table: json_['table'] as core.String?, + ); + + core.Map toJson() => { + if (columns != null) 'columns': columns!, + if (escapeCharacter != null) 'escapeCharacter': escapeCharacter!, + if (fieldDelimiter != null) 'fieldDelimiter': fieldDelimiter!, + if (quoteCharacter != null) 'quoteCharacter': quoteCharacter!, + if (table != null) 'table': table!, + }; +} + /// A generic empty message that you can re-use to avoid defining duplicated /// empty messages in your APIs. /// @@ -3539,6 +3754,71 @@ typedef GoogleCloudLocationLocation = $Location00; /// google.type.Date and `google.protobuf.Timestamp`. typedef GoogleTypeTimeOfDay = $TimeOfDay; +/// Import cluster request. +class ImportClusterRequest { + /// Options for importing data in CSV format. + CsvImportOptions? csvImportOptions; + + /// Name of the database to which the import will be done. + /// + /// For import from SQL file, this is required only if the file does not + /// specify a database. Note - Value provided should be the same as expected + /// from `SELECT current_database();` and NOT as a resource reference. + /// + /// Optional. + core.String? database; + + /// The path to the file in Google Cloud Storage where the source file for + /// import will be stored. + /// + /// The URI is in the form `gs://bucketName/fileName`. + /// + /// Required. + core.String? gcsUri; + + /// Options for importing data in SQL format. + SqlImportOptions? sqlImportOptions; + + /// Database user to be used for importing the data. + /// + /// Note - Value provided should be the same as expected from `SELECT + /// current_user;` and NOT as a resource reference. + /// + /// Optional. + core.String? user; + + ImportClusterRequest({ + this.csvImportOptions, + this.database, + this.gcsUri, + this.sqlImportOptions, + this.user, + }); + + ImportClusterRequest.fromJson(core.Map json_) + : this( + csvImportOptions: json_.containsKey('csvImportOptions') + ? CsvImportOptions.fromJson(json_['csvImportOptions'] + as core.Map) + : null, + database: json_['database'] as core.String?, + gcsUri: json_['gcsUri'] as core.String?, + sqlImportOptions: json_.containsKey('sqlImportOptions') + ? SqlImportOptions.fromJson(json_['sqlImportOptions'] + as core.Map) + : null, + user: json_['user'] as core.String?, + ); + + core.Map toJson() => { + if (csvImportOptions != null) 'csvImportOptions': csvImportOptions!, + if (database != null) 'database': database!, + if (gcsUri != null) 'gcsUri': gcsUri!, + if (sqlImportOptions != null) 'sqlImportOptions': sqlImportOptions!, + if (user != null) 'user': user!, + }; +} + /// Message for triggering fault injection on an instance class InjectFaultRequest { /// The type of fault to be injected in an instance. @@ -3714,6 +3994,9 @@ class Instance { /// Output only. core.List? nodes; + /// Configuration for observability. + ObservabilityInstanceConfig? observabilityConfig; + /// All outbound public IP addresses configured for the instance. /// /// Output only. @@ -3812,6 +4095,7 @@ class Instance { this.name, this.networkConfig, this.nodes, + this.observabilityConfig, this.outboundPublicIpAddresses, this.pscInstanceConfig, this.publicIpAddress, @@ -3875,6 +4159,11 @@ class Instance { ?.map((value) => Node.fromJson(value as core.Map)) .toList(), + observabilityConfig: json_.containsKey('observabilityConfig') + ? ObservabilityInstanceConfig.fromJson( + json_['observabilityConfig'] + as core.Map) + : null, outboundPublicIpAddresses: (json_['outboundPublicIpAddresses'] as core.List?) ?.map((value) => value as core.String) @@ -3922,6 +4211,8 @@ class Instance { if (name != null) 'name': name!, if (networkConfig != null) 'networkConfig': networkConfig!, if (nodes != null) 'nodes': nodes!, + if (observabilityConfig != null) + 'observabilityConfig': observabilityConfig!, if (outboundPublicIpAddresses != null) 'outboundPublicIpAddresses': outboundPublicIpAddresses!, if (pscInstanceConfig != null) 'pscInstanceConfig': pscInstanceConfig!, @@ -4388,13 +4679,17 @@ class NetworkConfig { /// Details of a single node in the instance. /// -/// Nodes in an AlloyDB instance are ephemereal, they can change during update, +/// Nodes in an AlloyDB instance are ephemeral, they can change during update, /// failover, autohealing and resize operations. class Node { /// The identifier of the VM e.g. "test-read-0601-407e52be-ms3l". + /// + /// Output only. core.String? id; /// The private IP address of the VM e.g. "10.57.0.34". + /// + /// Output only. core.String? ip; /// Determined by state of the compute VM and postgres-service health. @@ -4402,9 +4697,13 @@ class Node { /// Compute VM state can have values listed in /// https://cloud.google.com/compute/docs/instances/instance-life-cycle and /// postgres-service health can have values: HEALTHY and UNHEALTHY. + /// + /// Output only. core.String? state; /// The Compute Engine zone of the VM e.g. "us-central1-b". + /// + /// Output only. core.String? zoneId; Node({ @@ -4430,6 +4729,95 @@ class Node { }; } +/// Observability Instance specific configuration. +class ObservabilityInstanceConfig { + /// Observability feature status for an instance. + /// + /// This flag is turned "off" by default. + core.bool? enabled; + + /// Query string length. + /// + /// The default value is 10k. + core.int? maxQueryStringLength; + + /// Preserve comments in query string for an instance. + /// + /// This flag is turned "off" by default. + core.bool? preserveComments; + + /// Number of query execution plans captured by Insights per minute for all + /// queries combined. + /// + /// The default value is 200. Any integer between 0 to 200 is considered + /// valid. + core.int? queryPlansPerMinute; + + /// Record application tags for an instance. + /// + /// This flag is turned "off" by default. + core.bool? recordApplicationTags; + + /// Track actively running queries on the instance. + /// + /// If not set, this flag is "off" by default. + core.bool? trackActiveQueries; + + /// Track wait event types during query execution for an instance. + /// + /// This flag is turned "on" by default but tracking is enabled only after + /// observability enabled flag is also turned on. This is read-only flag and + /// only modifiable by internal API. + /// + /// Output only. + core.bool? trackWaitEventTypes; + + /// Track wait events during query execution for an instance. + /// + /// This flag is turned "on" by default but tracking is enabled only after + /// observability enabled flag is also turned on. + core.bool? trackWaitEvents; + + ObservabilityInstanceConfig({ + this.enabled, + this.maxQueryStringLength, + this.preserveComments, + this.queryPlansPerMinute, + this.recordApplicationTags, + this.trackActiveQueries, + this.trackWaitEventTypes, + this.trackWaitEvents, + }); + + ObservabilityInstanceConfig.fromJson(core.Map json_) + : this( + enabled: json_['enabled'] as core.bool?, + maxQueryStringLength: json_['maxQueryStringLength'] as core.int?, + preserveComments: json_['preserveComments'] as core.bool?, + queryPlansPerMinute: json_['queryPlansPerMinute'] as core.int?, + recordApplicationTags: json_['recordApplicationTags'] as core.bool?, + trackActiveQueries: json_['trackActiveQueries'] as core.bool?, + trackWaitEventTypes: json_['trackWaitEventTypes'] as core.bool?, + trackWaitEvents: json_['trackWaitEvents'] as core.bool?, + ); + + core.Map toJson() => { + if (enabled != null) 'enabled': enabled!, + if (maxQueryStringLength != null) + 'maxQueryStringLength': maxQueryStringLength!, + if (preserveComments != null) 'preserveComments': preserveComments!, + if (queryPlansPerMinute != null) + 'queryPlansPerMinute': queryPlansPerMinute!, + if (recordApplicationTags != null) + 'recordApplicationTags': recordApplicationTags!, + if (trackActiveQueries != null) + 'trackActiveQueries': trackActiveQueries!, + if (trackWaitEventTypes != null) + 'trackWaitEventTypes': trackWaitEventTypes!, + if (trackWaitEvents != null) 'trackWaitEvents': trackWaitEvents!, + }; +} + /// This resource represents a long-running operation that is the result of a /// network API call. class Operation { @@ -4586,6 +4974,64 @@ class PromoteClusterRequest { }; } +/// Configuration for setting up PSC service automation. +/// +/// Consumer projects in the configs will be allowlisted automatically for the +/// instance. +class PscAutoConnectionConfig { + /// The consumer network for the PSC service automation, example: + /// "projects/vpc-host-project/global/networks/default". + /// + /// The consumer network might be hosted a different project than the consumer + /// project. + core.String? consumerNetwork; + + /// The status of the service connection policy. + /// + /// Output only. + core.String? consumerNetworkStatus; + + /// The consumer project to which the PSC service automation endpoint will be + /// created. + core.String? consumerProject; + + /// The IP address of the PSC service automation endpoint. + /// + /// Output only. + core.String? ipAddress; + + /// The status of the PSC service automation connection. + /// + /// Output only. + core.String? status; + + PscAutoConnectionConfig({ + this.consumerNetwork, + this.consumerNetworkStatus, + this.consumerProject, + this.ipAddress, + this.status, + }); + + PscAutoConnectionConfig.fromJson(core.Map json_) + : this( + consumerNetwork: json_['consumerNetwork'] as core.String?, + consumerNetworkStatus: json_['consumerNetworkStatus'] as core.String?, + consumerProject: json_['consumerProject'] as core.String?, + ipAddress: json_['ipAddress'] as core.String?, + status: json_['status'] as core.String?, + ); + + core.Map toJson() => { + if (consumerNetwork != null) 'consumerNetwork': consumerNetwork!, + if (consumerNetworkStatus != null) + 'consumerNetworkStatus': consumerNetworkStatus!, + if (consumerProject != null) 'consumerProject': consumerProject!, + if (ipAddress != null) 'ipAddress': ipAddress!, + if (status != null) 'status': status!, + }; +} + /// PscConfig contains PSC related configuration at a cluster level. class PscConfig { /// Create an instance that allows connections from Private Service Connect @@ -4594,17 +5040,28 @@ class PscConfig { /// Optional. core.bool? pscEnabled; + /// The project number that needs to be allowlisted on the network attachment + /// to enable outbound connectivity. + /// + /// Output only. + core.String? serviceOwnedProjectNumber; + PscConfig({ this.pscEnabled, + this.serviceOwnedProjectNumber, }); PscConfig.fromJson(core.Map json_) : this( pscEnabled: json_['pscEnabled'] as core.bool?, + serviceOwnedProjectNumber: + json_['serviceOwnedProjectNumber'] as core.String?, ); core.Map toJson() => { if (pscEnabled != null) 'pscEnabled': pscEnabled!, + if (serviceOwnedProjectNumber != null) + 'serviceOwnedProjectNumber': serviceOwnedProjectNumber!, }; } @@ -4616,6 +5073,11 @@ class PscInstanceConfig { /// Optional. core.List? allowedConsumerProjects; + /// Configurations for setting up PSC service automation. + /// + /// Optional. + core.List? pscAutoConnections; + /// The DNS name of the instance for PSC connectivity. /// /// Name convention: ...alloydb-psc.goog @@ -4623,6 +5085,15 @@ class PscInstanceConfig { /// Output only. core.String? pscDnsName; + /// Configurations for setting up PSC interfaces attached to the instance + /// which are used for outbound connectivity. + /// + /// Only primary instances can have PSC interface attached. Currently we only + /// support 0 or 1 PSC interface. + /// + /// Optional. + core.List? pscInterfaceConfigs; + /// The service attachment created when Private Service Connect (PSC) is /// enabled for the instance. /// @@ -4634,7 +5105,9 @@ class PscInstanceConfig { PscInstanceConfig({ this.allowedConsumerProjects, + this.pscAutoConnections, this.pscDnsName, + this.pscInterfaceConfigs, this.serviceAttachmentLink, }); @@ -4644,19 +5117,58 @@ class PscInstanceConfig { (json_['allowedConsumerProjects'] as core.List?) ?.map((value) => value as core.String) .toList(), + pscAutoConnections: (json_['pscAutoConnections'] as core.List?) + ?.map((value) => PscAutoConnectionConfig.fromJson( + value as core.Map)) + .toList(), pscDnsName: json_['pscDnsName'] as core.String?, + pscInterfaceConfigs: (json_['pscInterfaceConfigs'] as core.List?) + ?.map((value) => PscInterfaceConfig.fromJson( + value as core.Map)) + .toList(), serviceAttachmentLink: json_['serviceAttachmentLink'] as core.String?, ); core.Map toJson() => { if (allowedConsumerProjects != null) 'allowedConsumerProjects': allowedConsumerProjects!, + if (pscAutoConnections != null) + 'pscAutoConnections': pscAutoConnections!, if (pscDnsName != null) 'pscDnsName': pscDnsName!, + if (pscInterfaceConfigs != null) + 'pscInterfaceConfigs': pscInterfaceConfigs!, if (serviceAttachmentLink != null) 'serviceAttachmentLink': serviceAttachmentLink!, }; } +/// Configuration for setting up a PSC interface to enable outbound +/// connectivity. +class PscInterfaceConfig { + /// The network attachment resource created in the consumer network to which + /// the PSC interface will be linked. + /// + /// This is of the format: + /// "projects/${CONSUMER_PROJECT}/regions/${REGION}/networkAttachments/${NETWORK_ATTACHMENT_NAME}". + /// The network attachment must be in the same region as the instance. + core.String? networkAttachmentResource; + + PscInterfaceConfig({ + this.networkAttachmentResource, + }); + + PscInterfaceConfig.fromJson(core.Map json_) + : this( + networkAttachmentResource: + json_['networkAttachmentResource'] as core.String?, + ); + + core.Map toJson() => { + if (networkAttachmentResource != null) + 'networkAttachmentResource': networkAttachmentResource!, + }; +} + /// A backup's position in a quantity-based retention queue, of backups with the /// same source cluster and type, with length, retention, specified by the /// backup's retention policy. @@ -4924,6 +5436,49 @@ class RestoreClusterRequest { }; } +/// Message for registering Restoring from CloudSQL resource. +class RestoreFromCloudSQLRequest { + /// Cluster created from CloudSQL backup run. + CloudSQLBackupRunSource? cloudsqlBackupRunSource; + + /// The resource being created + /// + /// Required. + Cluster? cluster; + + /// ID of the requesting object. + /// + /// Required. + core.String? clusterId; + + RestoreFromCloudSQLRequest({ + this.cloudsqlBackupRunSource, + this.cluster, + this.clusterId, + }); + + RestoreFromCloudSQLRequest.fromJson(core.Map json_) + : this( + cloudsqlBackupRunSource: json_.containsKey('cloudsqlBackupRunSource') + ? CloudSQLBackupRunSource.fromJson( + json_['cloudsqlBackupRunSource'] + as core.Map) + : null, + cluster: json_.containsKey('cluster') + ? Cluster.fromJson( + json_['cluster'] as core.Map) + : null, + clusterId: json_['clusterId'] as core.String?, + ); + + core.Map toJson() => { + if (cloudsqlBackupRunSource != null) + 'cloudsqlBackupRunSource': cloudsqlBackupRunSource!, + if (cluster != null) 'cluster': cluster!, + if (clusterId != null) 'clusterId': clusterId!, + }; +} + /// Configuration information for the secondary cluster. /// /// This should be set if and only if the cluster is of type SECONDARY. @@ -5000,6 +5555,9 @@ class SqlExportOptions { }; } +/// Options for importing data in SQL format. +typedef SqlImportOptions = $Empty; + /// SSL configuration. class SslConfig { /// Certificate Authority (CA) source. @@ -5110,6 +5668,12 @@ class SupportedDatabaseFlag { /// has no semantic meaning. core.String? name; + /// The recommended value for an INTEGER flag. + core.String? recommendedIntegerValue; + + /// The recommended value for a STRING flag. + core.String? recommendedStringValue; + /// Whether setting or updating this flag on an Instance requires a database /// restart. /// @@ -5118,6 +5682,14 @@ class SupportedDatabaseFlag { /// availability SLO's). core.bool? requiresDbRestart; + /// The scope of the flag. + /// Possible string values are: + /// - "SCOPE_UNSPECIFIED" : The scope of the flag is not specified. Default is + /// DATABASE. + /// - "DATABASE" : The flag is a database flag. + /// - "CONNECTION_POOL" : The flag is a connection pool flag. + core.String? scope; + /// Restriction on STRING type value. StringRestrictions? stringRestrictions; @@ -5138,7 +5710,10 @@ class SupportedDatabaseFlag { this.flagName, this.integerRestrictions, this.name, + this.recommendedIntegerValue, + this.recommendedStringValue, this.requiresDbRestart, + this.scope, this.stringRestrictions, this.supportedDbVersions, this.valueType, @@ -5153,7 +5728,12 @@ class SupportedDatabaseFlag { as core.Map) : null, name: json_['name'] as core.String?, + recommendedIntegerValue: + json_['recommendedIntegerValue'] as core.String?, + recommendedStringValue: + json_['recommendedStringValue'] as core.String?, requiresDbRestart: json_['requiresDbRestart'] as core.bool?, + scope: json_['scope'] as core.String?, stringRestrictions: json_.containsKey('stringRestrictions') ? StringRestrictions.fromJson(json_['stringRestrictions'] as core.Map) @@ -5171,7 +5751,12 @@ class SupportedDatabaseFlag { if (integerRestrictions != null) 'integerRestrictions': integerRestrictions!, if (name != null) 'name': name!, + if (recommendedIntegerValue != null) + 'recommendedIntegerValue': recommendedIntegerValue!, + if (recommendedStringValue != null) + 'recommendedStringValue': recommendedStringValue!, if (requiresDbRestart != null) 'requiresDbRestart': requiresDbRestart!, + if (scope != null) 'scope': scope!, if (stringRestrictions != null) 'stringRestrictions': stringRestrictions!, if (supportedDbVersions != null) diff --git a/generated/googleapis/lib/analyticshub/v1.dart b/generated/googleapis/lib/analyticshub/v1.dart index 71bed8576..4b0f1f4e6 100644 --- a/generated/googleapis/lib/analyticshub/v1.dart +++ b/generated/googleapis/lib/analyticshub/v1.dart @@ -692,6 +692,10 @@ class ProjectsLocationsDataExchangesListingsResource { /// Value must have pattern /// `^projects/\[^/\]+/locations/\[^/\]+/dataExchanges/\[^/\]+/listings/\[^/\]+$`. /// + /// [deleteCommercial] - Optional. If the listing is commercial then this + /// field must be set to true, otherwise a failure is thrown. This acts as a + /// safety guard to avoid deleting commercial listings accidentally. + /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// @@ -704,9 +708,11 @@ class ProjectsLocationsDataExchangesListingsResource { /// this method will complete with the same error. async.Future delete( core.String name, { + core.bool? deleteCommercial, core.String? $fields, }) async { final queryParams_ = >{ + if (deleteCommercial != null) 'deleteCommercial': ['${deleteCommercial}'], if ($fields != null) 'fields': [$fields], }; @@ -1407,8 +1413,8 @@ class ProjectsLocationsSubscriptionsResource { } } -/// Information about an associated Analytics Hub subscription -/// (https://cloud.google.com/bigquery/docs/analytics-hub-manage-subscriptions). +/// Information about an associated +/// [Analytics Hub subscription](https://cloud.google.com/bigquery/docs/analytics-hub-manage-subscriptions). typedef AnalyticsHubSubscriptionInfo = $AnalyticsHubSubscriptionInfo; /// Specifies the audit configuration for a service. @@ -1485,6 +1491,8 @@ class BigQueryDatasetSource { /// Resource name of the dataset source for this listing. /// /// e.g. `projects/myproject/datasets/123` + /// + /// Optional. core.String? dataset; /// If set, restricted export policy will be propagated and enforced on the @@ -1687,7 +1695,7 @@ class CloudStorageConfig { /// created. /// /// Min 1 minute, max 10 minutes, default 5 minutes. May not exceed the - /// subscription's acknowledgement deadline. + /// subscription's acknowledgment deadline. /// /// Optional. core.String? maxDuration; @@ -1854,6 +1862,13 @@ class DataExchange { /// Output only. core.int? listingCount; + /// By default, false. + /// + /// If true, the DataExchange has an email sharing mandate enabled. + /// + /// Optional. + core.bool? logLinkedDatasetQueryUserEmail; + /// The resource name of the data exchange. /// /// e.g. `projects/myproject/locations/US/dataExchanges/123`. @@ -1880,6 +1895,7 @@ class DataExchange { this.documentation, this.icon, this.listingCount, + this.logLinkedDatasetQueryUserEmail, this.name, this.primaryContact, this.sharingEnvironmentConfig, @@ -1893,6 +1909,8 @@ class DataExchange { documentation: json_['documentation'] as core.String?, icon: json_['icon'] as core.String?, listingCount: json_['listingCount'] as core.int?, + logLinkedDatasetQueryUserEmail: + json_['logLinkedDatasetQueryUserEmail'] as core.bool?, name: json_['name'] as core.String?, primaryContact: json_['primaryContact'] as core.String?, sharingEnvironmentConfig: @@ -1910,6 +1928,8 @@ class DataExchange { if (documentation != null) 'documentation': documentation!, if (icon != null) 'icon': icon!, if (listingCount != null) 'listingCount': listingCount!, + if (logLinkedDatasetQueryUserEmail != null) + 'logLinkedDatasetQueryUserEmail': logLinkedDatasetQueryUserEmail!, if (name != null) 'name': name!, if (primaryContact != null) 'primaryContact': primaryContact!, if (sharingEnvironmentConfig != null) @@ -2074,7 +2094,6 @@ class DestinationDataset { }; } -/// Contains the reference that identifies a destination bigquery dataset. class DestinationDatasetReference { /// A unique ID for this dataset, without the project name. /// @@ -2189,6 +2208,120 @@ class GetIamPolicyRequest { /// Encapsulates settings provided to GetIamPolicy. typedef GetPolicyOptions = $GetPolicyOptions00; +/// Commercial info contains the information about the commercial data products +/// associated with the listing. +class GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo { + /// Details of the Marketplace Data Product associated with the Listing. + /// + /// Output only. + GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo? + cloudMarketplace; + + GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo({ + this.cloudMarketplace, + }); + + GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo.fromJson( + core.Map json_) + : this( + cloudMarketplace: json_.containsKey('cloudMarketplace') + ? GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo + .fromJson(json_['cloudMarketplace'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (cloudMarketplace != null) 'cloudMarketplace': cloudMarketplace!, + }; +} + +/// Specifies the details of the Marketplace Data Product associated with the +/// Listing. +class GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo { + /// Commercial state of the Marketplace Data Product. + /// + /// Output only. + /// Possible string values are: + /// - "COMMERCIAL_STATE_UNSPECIFIED" : Commercialization is incomplete and + /// cannot be used. + /// - "ONBOARDING" : Commercialization has been initialized. + /// - "ACTIVE" : Commercialization is complete and available for use. + core.String? commercialState; + + /// Resource name of the commercial service associated with the Marketplace + /// Data Product. + /// + /// e.g. example.com + /// + /// Output only. + core.String? service; + + GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo({ + this.commercialState, + this.service, + }); + + GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo.fromJson( + core.Map json_) + : this( + commercialState: json_['commercialState'] as core.String?, + service: json_['service'] as core.String?, + ); + + core.Map toJson() => { + if (commercialState != null) 'commercialState': commercialState!, + if (service != null) 'service': service!, + }; +} + +/// Commercial info metadata for this subscription. +class GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo { + /// This is set when the subscription is commercialised via Cloud Marketplace. + /// + /// Output only. + GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo? + cloudMarketplace; + + GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo({ + this.cloudMarketplace, + }); + + GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo.fromJson( + core.Map json_) + : this( + cloudMarketplace: json_.containsKey('cloudMarketplace') + ? GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo + .fromJson(json_['cloudMarketplace'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (cloudMarketplace != null) 'cloudMarketplace': cloudMarketplace!, + }; +} + +/// Cloud Marketplace commercial metadata for this subscription. +class GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo { + /// Resource name of the Marketplace Order. + core.String? order; + + GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo({ + this.order, + }); + + GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo.fromJson( + core.Map json_) + : this( + order: json_['order'] as core.String?, + ); + + core.Map toJson() => { + if (order != null) 'order': order!, + }; +} + /// A subscription resource. /// /// If none of `push_config`, `bigquery_config`, or `cloud_storage_config` is @@ -2258,7 +2391,7 @@ class GooglePubsubV1Subscription { /// If true, Pub/Sub provides the following guarantees for the delivery of a /// message with a given value of `message_id` on this subscription: * The /// message sent to a subscriber is guaranteed not to be resent before the - /// message's acknowledgement deadline expires. + /// message's acknowledgment deadline expires. /// /// * An acknowledged message will not be resent to a subscriber. Note that /// subscribers may still receive multiple copies of a message when @@ -2317,6 +2450,14 @@ class GooglePubsubV1Subscription { /// Optional. core.String? messageRetentionDuration; + /// Transforms to be applied to messages before they are delivered to + /// subscribers. + /// + /// Transforms are applied in the order specified. + /// + /// Optional. + core.List? messageTransforms; + /// Name of the subscription. /// /// Format is `projects/{project}/subscriptions/{sub}`. @@ -2347,8 +2488,8 @@ class GooglePubsubV1Subscription { /// /// If not set, the default retry policy is applied. This generally implies /// that messages will be retried as soon as possible for healthy subscribers. - /// RetryPolicy will be triggered on NACKs or acknowledgement deadline - /// exceeded events for a given message. + /// RetryPolicy will be triggered on NACKs or acknowledgment deadline exceeded + /// events for a given message. /// /// Optional. RetryPolicy? retryPolicy; @@ -2390,6 +2531,7 @@ class GooglePubsubV1Subscription { this.filter, this.labels, this.messageRetentionDuration, + this.messageTransforms, this.name, this.pushConfig, this.retainAckedMessages, @@ -2437,6 +2579,10 @@ class GooglePubsubV1Subscription { ), messageRetentionDuration: json_['messageRetentionDuration'] as core.String?, + messageTransforms: (json_['messageTransforms'] as core.List?) + ?.map((value) => MessageTransform.fromJson( + value as core.Map)) + .toList(), name: json_['name'] as core.String?, pushConfig: json_.containsKey('pushConfig') ? PushConfig.fromJson( @@ -2471,6 +2617,7 @@ class GooglePubsubV1Subscription { if (labels != null) 'labels': labels!, if (messageRetentionDuration != null) 'messageRetentionDuration': messageRetentionDuration!, + if (messageTransforms != null) 'messageTransforms': messageTransforms!, if (name != null) 'name': name!, if (pushConfig != null) 'pushConfig': pushConfig!, if (retainAckedMessages != null) @@ -2482,6 +2629,10 @@ class GooglePubsubV1Subscription { }; } +/// User-defined JavaScript function that can transform or filter a Pub/Sub +/// message. +typedef JavaScriptUDF = $JavaScriptUDF; + /// Reference to a linked resource tracked by this Subscription. class LinkedResource { /// Name of the linked dataset, e.g. @@ -2673,8 +2824,6 @@ class ListSubscriptionsResponse { /// information that will help subscribers find and subscribe the data. class Listing { /// Shared dataset i.e. BigQuery dataset source. - /// - /// Required. BigQueryDatasetSource? bigqueryDataset; /// Categories of the listing. @@ -2684,6 +2833,12 @@ class Listing { /// Optional. core.List? categories; + /// Commercial info contains the information about the commercial data + /// products associated with the listing. + /// + /// Output only. + GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo? commercialInfo; + /// Details of the data provider who owns the source data. /// /// Optional. @@ -2741,6 +2896,13 @@ class Listing { convert.base64.encode(bytes_).replaceAll('/', '_').replaceAll('+', '-'); } + /// By default, false. + /// + /// If true, the Listing has an email sharing mandate enabled. + /// + /// Optional. + core.bool? logLinkedDatasetQueryUserEmail; + /// The resource name of the listing. /// /// e.g. `projects/myproject/locations/US/dataExchanges/123/listings/456` @@ -2762,8 +2924,6 @@ class Listing { Publisher? publisher; /// Pub/Sub topic source. - /// - /// Required. PubSubTopicSource? pubsubTopic; /// Email or URL of the request access of the listing. @@ -2801,12 +2961,14 @@ class Listing { Listing({ this.bigqueryDataset, this.categories, + this.commercialInfo, this.dataProvider, this.description, this.discoveryType, this.displayName, this.documentation, this.icon, + this.logLinkedDatasetQueryUserEmail, this.name, this.primaryContact, this.publisher, @@ -2826,6 +2988,11 @@ class Listing { categories: (json_['categories'] as core.List?) ?.map((value) => value as core.String) .toList(), + commercialInfo: json_.containsKey('commercialInfo') + ? GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo.fromJson( + json_['commercialInfo'] + as core.Map) + : null, dataProvider: json_.containsKey('dataProvider') ? DataProvider.fromJson( json_['dataProvider'] as core.Map) @@ -2835,6 +3002,8 @@ class Listing { displayName: json_['displayName'] as core.String?, documentation: json_['documentation'] as core.String?, icon: json_['icon'] as core.String?, + logLinkedDatasetQueryUserEmail: + json_['logLinkedDatasetQueryUserEmail'] as core.bool?, name: json_['name'] as core.String?, primaryContact: json_['primaryContact'] as core.String?, publisher: json_.containsKey('publisher') @@ -2857,12 +3026,15 @@ class Listing { core.Map toJson() => { if (bigqueryDataset != null) 'bigqueryDataset': bigqueryDataset!, if (categories != null) 'categories': categories!, + if (commercialInfo != null) 'commercialInfo': commercialInfo!, if (dataProvider != null) 'dataProvider': dataProvider!, if (description != null) 'description': description!, if (discoveryType != null) 'discoveryType': discoveryType!, if (displayName != null) 'displayName': displayName!, if (documentation != null) 'documentation': documentation!, if (icon != null) 'icon': icon!, + if (logLinkedDatasetQueryUserEmail != null) + 'logLinkedDatasetQueryUserEmail': logLinkedDatasetQueryUserEmail!, if (name != null) 'name': name!, if (primaryContact != null) 'primaryContact': primaryContact!, if (publisher != null) 'publisher': publisher!, @@ -2875,6 +3047,44 @@ class Listing { }; } +/// All supported message transforms types. +class MessageTransform { + /// If set to true, the transform is enabled. + /// + /// If false, the transform is disabled and will not be applied to messages. + /// Defaults to `true`. + /// + /// Optional. + core.bool? enabled; + + /// JavaScript User Defined Function. + /// + /// If multiple JavaScriptUDF's are specified on a resource, each must have a + /// unique `function_name`. + /// + /// Optional. + JavaScriptUDF? javascriptUdf; + + MessageTransform({ + this.enabled, + this.javascriptUdf, + }); + + MessageTransform.fromJson(core.Map json_) + : this( + enabled: json_['enabled'] as core.bool?, + javascriptUdf: json_.containsKey('javascriptUdf') + ? JavaScriptUDF.fromJson( + json_['javascriptUdf'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (enabled != null) 'enabled': enabled!, + if (javascriptUdf != null) 'javascriptUdf': javascriptUdf!, + }; +} + /// Sets the `data` field as the HTTP body for delivery. typedef NoWrapper = $NoWrapper; @@ -3328,14 +3538,36 @@ class RestrictedExportPolicy { /// /// Retry delay will be exponential based on provided minimum and maximum /// backoffs. https://en.wikipedia.org/wiki/Exponential_backoff. RetryPolicy -/// will be triggered on NACKs or acknowledgement deadline exceeded events for a +/// will be triggered on NACKs or acknowledgment deadline exceeded events for a /// given message. Retry Policy is implemented on a best effort basis. At times, /// the delay between consecutive deliveries may not match the configuration. /// That is, delay can be more or less than configured backoff. typedef RetryPolicy = $RetryPolicy; /// Message for revoking a subscription. -typedef RevokeSubscriptionRequest = $Empty; +class RevokeSubscriptionRequest { + /// If the subscription is commercial then this field must be set to true, + /// otherwise a failure is thrown. + /// + /// This acts as a safety guard to avoid revoking commercial subscriptions + /// accidentally. + /// + /// Optional. + core.bool? revokeCommercial; + + RevokeSubscriptionRequest({ + this.revokeCommercial, + }); + + RevokeSubscriptionRequest.fromJson(core.Map json_) + : this( + revokeCommercial: json_['revokeCommercial'] as core.bool?, + ); + + core.Map toJson() => { + if (revokeCommercial != null) 'revokeCommercial': revokeCommercial!, + }; +} /// Message for response when you revoke a subscription. /// @@ -3344,6 +3576,13 @@ typedef RevokeSubscriptionResponse = $Empty; /// Resource in this dataset that is selectively shared. class SelectedResource { + /// Format: For routine: + /// `projects/{projectId}/datasets/{datasetId}/routines/{routineId}` + /// Example:"projects/test_project/datasets/test_dataset/routines/test_routine" + /// + /// Optional. + core.String? routine; + /// Format: For table: /// `projects/{projectId}/datasets/{datasetId}/tables/{tableId}` /// Example:"projects/test_project/datasets/test_dataset/tables/test_table" @@ -3352,15 +3591,18 @@ class SelectedResource { core.String? table; SelectedResource({ + this.routine, this.table, }); SelectedResource.fromJson(core.Map json_) : this( + routine: json_['routine'] as core.String?, table: json_['table'] as core.String?, ); core.Map toJson() => { + if (routine != null) 'routine': routine!, if (table != null) 'table': table!, }; } @@ -3505,8 +3747,6 @@ class SubscribeListingRequest { /// Input only. /// /// Destination Pub/Sub subscription to create for the subscriber. - /// - /// Required. DestinationPubSubSubscription? destinationPubsubSubscription; SubscribeListingRequest({ @@ -3564,6 +3804,12 @@ class SubscribeListingResponse { /// It contains references to associated listings, data exchanges, and linked /// datasets. class Subscription { + /// This is set if this is a commercial subscription i.e. if this subscription + /// was created from subscribing to a commercial listing. + /// + /// Output only. + GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo? commercialInfo; + /// Timestamp when the subscription was created. /// /// Output only. @@ -3605,6 +3851,14 @@ class Subscription { /// Output only. core.String? listing; + /// By default, false. + /// + /// If true, the Subscriber agreed to the email sharing mandate that is + /// enabled for DataExchange/Listing. + /// + /// Output only. + core.bool? logLinkedDatasetQueryUserEmail; + /// The resource name of the subscription. /// /// e.g. `projects/myproject/locations/US/subscriptions/123`. @@ -3650,12 +3904,14 @@ class Subscription { core.String? subscriberContact; Subscription({ + this.commercialInfo, this.creationTime, this.dataExchange, this.lastModifyTime, this.linkedDatasetMap, this.linkedResources, this.listing, + this.logLinkedDatasetQueryUserEmail, this.name, this.organizationDisplayName, this.organizationId, @@ -3666,6 +3922,11 @@ class Subscription { Subscription.fromJson(core.Map json_) : this( + commercialInfo: json_.containsKey('commercialInfo') + ? GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo + .fromJson(json_['commercialInfo'] + as core.Map) + : null, creationTime: json_['creationTime'] as core.String?, dataExchange: json_['dataExchange'] as core.String?, lastModifyTime: json_['lastModifyTime'] as core.String?, @@ -3683,6 +3944,8 @@ class Subscription { value as core.Map)) .toList(), listing: json_['listing'] as core.String?, + logLinkedDatasetQueryUserEmail: + json_['logLinkedDatasetQueryUserEmail'] as core.bool?, name: json_['name'] as core.String?, organizationDisplayName: json_['organizationDisplayName'] as core.String?, @@ -3693,12 +3956,15 @@ class Subscription { ); core.Map toJson() => { + if (commercialInfo != null) 'commercialInfo': commercialInfo!, if (creationTime != null) 'creationTime': creationTime!, if (dataExchange != null) 'dataExchange': dataExchange!, if (lastModifyTime != null) 'lastModifyTime': lastModifyTime!, if (linkedDatasetMap != null) 'linkedDatasetMap': linkedDatasetMap!, if (linkedResources != null) 'linkedResources': linkedResources!, if (listing != null) 'listing': listing!, + if (logLinkedDatasetQueryUserEmail != null) + 'logLinkedDatasetQueryUserEmail': logLinkedDatasetQueryUserEmail!, if (name != null) 'name': name!, if (organizationDisplayName != null) 'organizationDisplayName': organizationDisplayName!, diff --git a/generated/googleapis/lib/androidenterprise/v1.dart b/generated/googleapis/lib/androidenterprise/v1.dart index dfa2b919a..965523cb3 100644 --- a/generated/googleapis/lib/androidenterprise/v1.dart +++ b/generated/googleapis/lib/androidenterprise/v1.dart @@ -22,6 +22,7 @@ /// Create an instance of [AndroidEnterpriseApi] to access these resources: /// /// - [DevicesResource] +/// - [EnrollmentTokensResource] /// - [EnterprisesResource] /// - [EntitlementsResource] /// - [GrouplicensesResource] @@ -61,6 +62,8 @@ class AndroidEnterpriseApi { final commons.ApiRequester _requester; DevicesResource get devices => DevicesResource(_requester); + EnrollmentTokensResource get enrollmentTokens => + EnrollmentTokensResource(_requester); EnterprisesResource get enterprises => EnterprisesResource(_requester); EntitlementsResource get entitlements => EntitlementsResource(_requester); GrouplicensesResource get grouplicenses => GrouplicensesResource(_requester); @@ -407,6 +410,59 @@ class DevicesResource { } } +class EnrollmentTokensResource { + final commons.ApiRequester _requester; + + EnrollmentTokensResource(commons.ApiRequester client) : _requester = client; + + /// Returns a token for device enrollment. + /// + /// The DPC can encode this token within the QR/NFC/zero-touch enrollment + /// payload or fetch it before calling the on-device API to authenticate the + /// user. The token can be generated for each device or reused across multiple + /// devices. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [enterpriseId] - Required. The ID of the enterprise. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [EnrollmentToken]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + EnrollmentToken request, + core.String enterpriseId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'androidenterprise/v1/enterprises/' + + commons.escapeVariable('$enterpriseId') + + '/enrollmentTokens'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return EnrollmentToken.fromJson( + response_ as core.Map); + } +} + class EnterprisesResource { final commons.ApiRequester _requester; @@ -493,111 +549,83 @@ class EnterprisesResource { response_ as core.Map); } - /// Returns a token for device enrollment. - /// - /// The DPC can encode this token within the QR/NFC/zero-touch enrollment - /// payload or fetch it before calling the on-device API to authenticate the - /// user. The token can be generated for each device or reused across multiple - /// devices. - /// - /// Request parameters: + /// Returns a unique token to access an embeddable UI. /// - /// [enterpriseId] - Required. The ID of the enterprise. + /// To generate a web UI, pass the generated token into the managed Google + /// Play javascript API. Each token may only be used to start one UI session. + /// See the JavaScript API documentation for further information. /// - /// [enrollmentToken_duration] - \[Optional\] The length of time the - /// enrollment token is valid, ranging from 1 minute to - /// \[`Durations.MAX_VALUE`\](https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/util/Durations.html#MAX_VALUE), - /// approximately 10,000 years. If not specified, the default duration is 1 - /// hour. + /// [request] - The metadata request object. /// - /// [enrollmentToken_enrollmentTokenType] - \[Required\] The type of the - /// enrollment token. - /// Possible string values are: - /// - "enrollmentTokenTypeUnspecified" : The value is unused. - /// - "userlessDevice" : The enrollment token is for a userless device. - /// - "userDevice" : The enrollment token is for a user device. + /// Request parameters: /// - /// [enrollmentToken_token] - The token value that's passed to the device and - /// authorizes the device to enroll. This is a read-only field generated by - /// the server. + /// [enterpriseId] - The ID of the enterprise. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [CreateEnrollmentTokenResponse]. + /// Completes with a [AdministratorWebToken]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future createEnrollmentToken( + async.Future createWebToken( + AdministratorWebTokenSpec request, core.String enterpriseId, { - core.String? enrollmentToken_duration, - core.String? enrollmentToken_enrollmentTokenType, - core.String? enrollmentToken_token, core.String? $fields, }) async { + final body_ = convert.json.encode(request); final queryParams_ = >{ - if (enrollmentToken_duration != null) - 'enrollmentToken.duration': [enrollmentToken_duration], - if (enrollmentToken_enrollmentTokenType != null) - 'enrollmentToken.enrollmentTokenType': [ - enrollmentToken_enrollmentTokenType - ], - if (enrollmentToken_token != null) - 'enrollmentToken.token': [enrollmentToken_token], if ($fields != null) 'fields': [$fields], }; final url_ = 'androidenterprise/v1/enterprises/' + commons.escapeVariable('$enterpriseId') + - '/createEnrollmentToken'; + '/createWebToken'; final response_ = await _requester.request( url_, 'POST', + body: body_, queryParams: queryParams_, ); - return CreateEnrollmentTokenResponse.fromJson( + return AdministratorWebToken.fromJson( response_ as core.Map); } - /// Returns a unique token to access an embeddable UI. - /// - /// To generate a web UI, pass the generated token into the managed Google - /// Play javascript API. Each token may only be used to start one UI session. - /// See the JavaScript API documentation for further information. + /// Enrolls an enterprise with the calling EMM. /// /// [request] - The metadata request object. /// /// Request parameters: /// - /// [enterpriseId] - The ID of the enterprise. + /// [token] - Required. The token provided by the enterprise to register the + /// EMM. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [AdministratorWebToken]. + /// Completes with a [Enterprise]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future createWebToken( - AdministratorWebTokenSpec request, - core.String enterpriseId, { + async.Future enroll( + Enterprise request, + core.String token, { core.String? $fields, }) async { final body_ = convert.json.encode(request); final queryParams_ = >{ + 'token': [token], if ($fields != null) 'fields': [$fields], }; - final url_ = 'androidenterprise/v1/enterprises/' + - commons.escapeVariable('$enterpriseId') + - '/createWebToken'; + const url_ = 'androidenterprise/v1/enterprises/enroll'; final response_ = await _requester.request( url_, @@ -605,49 +633,66 @@ class EnterprisesResource { body: body_, queryParams: queryParams_, ); - return AdministratorWebToken.fromJson( + return Enterprise.fromJson( response_ as core.Map); } - /// Enrolls an enterprise with the calling EMM. + /// Generates an enterprise upgrade URL to upgrade an existing managed Google + /// Play Accounts enterprise to a managed Google domain. /// - /// [request] - The metadata request object. + /// **Note:** This feature is not generally available. /// /// Request parameters: /// - /// [token] - Required. The token provided by the enterprise to register the - /// EMM. + /// [enterpriseId] - Required. The ID of the enterprise. + /// + /// [adminEmail] - Optional. Email address used to prefill the admin field of + /// the enterprise signup form as part of the upgrade process. This value is a + /// hint only and can be altered by the user. Personal email addresses are not + /// allowed. If `allowedDomains` is non-empty then this must belong to one of + /// the `allowedDomains`. + /// + /// [allowedDomains] - Optional. A list of domains that are permitted for the + /// admin email. The IT admin cannot enter an email address with a domain name + /// that is not in this list. Subdomains of domains in this list are not + /// allowed but can be allowed by adding a second entry which has `*.` + /// prefixed to the domain name (e.g. *.example.com). If the field is not + /// present or is an empty list then the IT admin is free to use any valid + /// domain name. Personal email domains are not allowed. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [Enterprise]. + /// Completes with a [GenerateEnterpriseUpgradeUrlResponse]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future enroll( - Enterprise request, - core.String token, { + async.Future + generateEnterpriseUpgradeUrl( + core.String enterpriseId, { + core.String? adminEmail, + core.List? allowedDomains, core.String? $fields, }) async { - final body_ = convert.json.encode(request); final queryParams_ = >{ - 'token': [token], + if (adminEmail != null) 'adminEmail': [adminEmail], + if (allowedDomains != null) 'allowedDomains': allowedDomains, if ($fields != null) 'fields': [$fields], }; - const url_ = 'androidenterprise/v1/enterprises/enroll'; + final url_ = 'androidenterprise/v1/enterprises/' + + commons.escapeVariable('$enterpriseId') + + '/generateEnterpriseUpgradeUrl'; final response_ = await _requester.request( url_, 'POST', - body: body_, queryParams: queryParams_, ); - return Enterprise.fromJson( + return GenerateEnterpriseUpgradeUrlResponse.fromJson( response_ as core.Map); } @@ -657,7 +702,17 @@ class EnterprisesResource { /// /// [adminEmail] - Optional. Email address used to prefill the admin field of /// the enterprise signup form. This value is a hint only and can be altered - /// by the user. + /// by the user. If `allowedDomains` is non-empty then this must belong to one + /// of the `allowedDomains`. + /// + /// [allowedDomains] - Optional. A list of domains that are permitted for the + /// admin email. The IT admin cannot enter an email address with a domain name + /// that is not in this list. Subdomains of domains in this list are not + /// allowed but can be allowed by adding a second entry which has `*.` + /// prefixed to the domain name (e.g. *.example.com). If the field is not + /// present or is an empty list then the IT admin is free to use any valid + /// domain name. Personal email domains are always allowed, but will result in + /// the creation of a managed Google Play Accounts enterprise. /// /// [callbackUrl] - The callback URL to which the Admin will be redirected /// after successfully creating an enterprise. Before redirecting there the @@ -680,11 +735,13 @@ class EnterprisesResource { /// this method will complete with the same error. async.Future generateSignupUrl({ core.String? adminEmail, + core.List? allowedDomains, core.String? callbackUrl, core.String? $fields, }) async { final queryParams_ = >{ if (adminEmail != null) 'adminEmail': [adminEmail], + if (allowedDomains != null) 'allowedDomains': allowedDomains, if (callbackUrl != null) 'callbackUrl': [callbackUrl], if ($fields != null) 'fields': [$fields], }; @@ -2564,6 +2621,9 @@ class ProductsResource { } } +@core.Deprecated( + 'Not supported. Member documentation may have more information.', +) class ServiceaccountkeysResource { final commons.ApiRequester _requester; @@ -2590,6 +2650,9 @@ class ServiceaccountkeysResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future delete( core.String enterpriseId, core.String keyId, { @@ -2636,6 +2699,9 @@ class ServiceaccountkeysResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future insert( ServiceAccountKey request, core.String enterpriseId, { @@ -2682,6 +2748,9 @@ class ServiceaccountkeysResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future list( core.String enterpriseId, { core.String? $fields, @@ -4547,30 +4616,6 @@ class ConfigurationVariables { }; } -/// Response message for create enrollment token. -class CreateEnrollmentTokenResponse { - /// The created enrollment token. - /// - /// Required. - EnrollmentToken? enrollmentToken; - - CreateEnrollmentTokenResponse({ - this.enrollmentToken, - }); - - CreateEnrollmentTokenResponse.fromJson(core.Map json_) - : this( - enrollmentToken: json_.containsKey('enrollmentToken') - ? EnrollmentToken.fromJson(json_['enrollmentToken'] - as core.Map) - : null, - ); - - core.Map toJson() => { - if (enrollmentToken != null) 'enrollmentToken': enrollmentToken!, - }; -} - /// A Devices resource represents a mobile device managed by the EMM and /// belonging to a specific enterprise user. class Device { @@ -4879,6 +4924,15 @@ class Enterprise { /// This is only supported for enterprises created via the EMM-initiated flow. core.List? administrator; + /// The type of the enterprise. + /// Possible string values are: + /// - "enterpriseTypeUnspecified" : This value is not used. + /// - "managedGoogleDomain" : The enterprise belongs to a managed Google + /// domain. + /// - "managedGooglePlayAccountsEnterprise" : The enterprise is a managed + /// Google Play Accounts enterprise. + core.String? enterpriseType; + /// Settings for Google-provided user authentication. /// /// Output only. @@ -4887,6 +4941,14 @@ class Enterprise { /// The unique ID for the enterprise. core.String? id; + /// The type of managed Google domain + /// Possible string values are: + /// - "managedGoogleDomainTypeUnspecified" : The managed Google domain type is + /// not specified. + /// - "typeTeam" : The managed Google domain is an email-verified team. + /// - "typeDomain" : The managed Google domain is domain-verified. + core.String? managedGoogleDomainType; + /// The name of the enterprise, for example, "Example, Inc". core.String? name; @@ -4895,8 +4957,10 @@ class Enterprise { Enterprise({ this.administrator, + this.enterpriseType, this.googleAuthenticationSettings, this.id, + this.managedGoogleDomainType, this.name, this.primaryDomain, }); @@ -4907,6 +4971,7 @@ class Enterprise { ?.map((value) => Administrator.fromJson( value as core.Map)) .toList(), + enterpriseType: json_['enterpriseType'] as core.String?, googleAuthenticationSettings: json_.containsKey('googleAuthenticationSettings') ? GoogleAuthenticationSettings.fromJson( @@ -4914,15 +4979,20 @@ class Enterprise { as core.Map) : null, id: json_['id'] as core.String?, + managedGoogleDomainType: + json_['managedGoogleDomainType'] as core.String?, name: json_['name'] as core.String?, primaryDomain: json_['primaryDomain'] as core.String?, ); core.Map toJson() => { if (administrator != null) 'administrator': administrator!, + if (enterpriseType != null) 'enterpriseType': enterpriseType!, if (googleAuthenticationSettings != null) 'googleAuthenticationSettings': googleAuthenticationSettings!, if (id != null) 'id': id!, + if (managedGoogleDomainType != null) + 'managedGoogleDomainType': managedGoogleDomainType!, if (name != null) 'name': name!, if (primaryDomain != null) 'primaryDomain': primaryDomain!, }; @@ -4968,6 +5038,30 @@ class EnterpriseAuthenticationAppLinkConfig { }; } +/// An event generated when an enterprise is upgraded. +/// +/// **Note:** This feature is not generally available. +class EnterpriseUpgradeEvent { + /// The upgrade state. + /// Possible string values are: + /// - "upgradeStateUnspecified" : Unspecified. This value is not used. + /// - "upgradeStateSucceeded" : The upgrade has succeeded. + core.String? upgradeState; + + EnterpriseUpgradeEvent({ + this.upgradeState, + }); + + EnterpriseUpgradeEvent.fromJson(core.Map json_) + : this( + upgradeState: json_['upgradeState'] as core.String?, + ); + + core.Map toJson() => { + if (upgradeState != null) 'upgradeState': upgradeState!, + }; +} + class EnterprisesListResponse { /// An enterprise. core.List? enterprise; @@ -5073,6 +5167,13 @@ class EntitlementsListResponse { }; } +/// Response message for generating a URL to upgrade an existing managed Google +/// Play Accounts enterprise to a managed Google domain. +/// +/// **Note:** This feature is not generally available. +typedef GenerateEnterpriseUpgradeUrlResponse + = $GenerateEnterpriseUpgradeUrlResponse; + /// Contains settings for Google-provided user authentication. class GoogleAuthenticationSettings { /// Whether dedicated devices are allowed. @@ -5871,6 +5972,11 @@ class Notification { /// This will always be present. core.String? enterpriseId; + /// Notifications about enterprise upgrade. + /// + /// **Note:** This feature is not generally available. + EnterpriseUpgradeEvent? enterpriseUpgradeEvent; + /// Notifications about an app installation failure. InstallFailureEvent? installFailureEvent; @@ -5895,6 +6001,8 @@ class Notification { /// change. /// - "newDevice" : Notification about a new device. /// - "deviceReportUpdate" : Notification about an updated device report. + /// - "enterpriseUpgrade" : Notification about an enterprise upgrade. + /// **Note:** This feature is not generally available. core.String? notificationType; /// Notifications about changes to a product's approval status. @@ -5914,6 +6022,7 @@ class Notification { this.appUpdateEvent, this.deviceReportUpdateEvent, this.enterpriseId, + this.enterpriseUpgradeEvent, this.installFailureEvent, this.newDeviceEvent, this.newPermissionsEvent, @@ -5941,6 +6050,10 @@ class Notification { as core.Map) : null, enterpriseId: json_['enterpriseId'] as core.String?, + enterpriseUpgradeEvent: json_.containsKey('enterpriseUpgradeEvent') + ? EnterpriseUpgradeEvent.fromJson(json_['enterpriseUpgradeEvent'] + as core.Map) + : null, installFailureEvent: json_.containsKey('installFailureEvent') ? InstallFailureEvent.fromJson(json_['installFailureEvent'] as core.Map) @@ -5974,6 +6087,8 @@ class Notification { if (deviceReportUpdateEvent != null) 'deviceReportUpdateEvent': deviceReportUpdateEvent!, if (enterpriseId != null) 'enterpriseId': enterpriseId!, + if (enterpriseUpgradeEvent != null) + 'enterpriseUpgradeEvent': enterpriseUpgradeEvent!, if (installFailureEvent != null) 'installFailureEvent': installFailureEvent!, if (newDeviceEvent != null) 'newDeviceEvent': newDeviceEvent!, diff --git a/generated/googleapis/lib/androidmanagement/v1.dart b/generated/googleapis/lib/androidmanagement/v1.dart index ae7427b86..799af2cf4 100644 --- a/generated/googleapis/lib/androidmanagement/v1.dart +++ b/generated/googleapis/lib/androidmanagement/v1.dart @@ -201,6 +201,52 @@ class EnterprisesResource { return Empty.fromJson(response_ as core.Map); } + /// Generates an enterprise upgrade URL to upgrade an existing managed Google + /// Play Accounts enterprise to a managed Google domain.Note: This feature is + /// not generally available. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [name] - Required. The name of the enterprise to be upgraded in the form + /// enterprises/{enterpriseId}. + /// Value must have pattern `^enterprises/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GenerateEnterpriseUpgradeUrlResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future + generateEnterpriseUpgradeUrl( + GenerateEnterpriseUpgradeUrlRequest request, + core.String name, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v1/' + core.Uri.encodeFull('$name') + ':generateEnterpriseUpgradeUrl'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return GenerateEnterpriseUpgradeUrlResponse.fromJson( + response_ as core.Map); + } + /// Gets an enterprise. /// /// Request parameters: @@ -1598,7 +1644,17 @@ class SignupUrlsResource { /// /// [adminEmail] - Optional. Email address used to prefill the admin field of /// the enterprise signup form. This value is a hint only and can be altered - /// by the user. + /// by the user. If allowedDomains is non-empty then this must belong to one + /// of the allowedDomains. + /// + /// [allowedDomains] - Optional. A list of domains that are permitted for the + /// admin email. The IT admin cannot enter an email address with a domain name + /// that is not in this list. Subdomains of domains in this list are not + /// allowed but can be allowed by adding a second entry which has *. prefixed + /// to the domain name (e.g. *.example.com). If the field is not present or is + /// an empty list then the IT admin is free to use any valid domain name. + /// Personal email domains are always allowed, but will result in the creation + /// of a managed Google Play Accounts enterprise. /// /// [callbackUrl] - The callback URL that the admin will be redirected to /// after successfully creating an enterprise. Before redirecting there the @@ -1622,12 +1678,14 @@ class SignupUrlsResource { /// this method will complete with the same error. async.Future create({ core.String? adminEmail, + core.List? allowedDomains, core.String? callbackUrl, core.String? projectId, core.String? $fields, }) async { final queryParams_ = >{ if (adminEmail != null) 'adminEmail': [adminEmail], + if (allowedDomains != null) 'allowedDomains': allowedDomains, if (callbackUrl != null) 'callbackUrl': [callbackUrl], if (projectId != null) 'projectId': [projectId], if ($fields != null) 'fields': [$fields], @@ -4477,6 +4535,19 @@ class Enterprise { /// This field has a maximum length of 100 characters. core.String? enterpriseDisplayName; + /// The type of the enterprise. + /// + /// Output only. + /// Possible string values are: + /// - "ENTERPRISE_TYPE_UNSPECIFIED" : This value is not used. + /// - "MANAGED_GOOGLE_DOMAIN" : The enterprise belongs to a managed Google + /// domain + /// (https://developers.google.com/android/work/terminology#managed_google_domain). + /// - "MANAGED_GOOGLE_PLAY_ACCOUNTS_ENTERPRISE" : The enterprise is a managed + /// Google Play Accounts enterprise + /// (https://developers.google.com/android/work/terminology#managed_google_play_accounts_enterprise). + core.String? enterpriseType; + /// Settings for Google-provided user authentication. GoogleAuthenticationSettings? googleAuthenticationSettings; @@ -4486,6 +4557,26 @@ class Enterprise { /// image/png, image/webp, image/vnd.wap.wbmp, image/x-adobe-dng. ExternalData? logo; + /// The type of managed Google domain. + /// + /// Output only. + /// Possible string values are: + /// - "MANAGED_GOOGLE_DOMAIN_TYPE_UNSPECIFIED" : The managed Google domain + /// type is not specified. + /// - "TYPE_TEAM" : The managed Google domain is an email-verified team. + /// - "TYPE_DOMAIN" : The managed Google domain is domain-verified. + core.String? managedGoogleDomainType; + + /// The type of a managed Google Play Accounts enterprise. + /// + /// Output only. + /// Possible string values are: + /// - "MANAGED_GOOGLE_PLAY_ACCOUNTS_ENTERPRISE_TYPE_UNSPECIFIED" : The managed + /// Google Play Accounts enterprise type is not specified. + /// - "CUSTOMER_MANAGED" : The enterprise is customer-managed + /// - "EMM_MANAGED" : The enterprise is EMM-managed (deprecated). + core.String? managedGooglePlayAccountsEnterpriseType; + /// The name of the enterprise which is generated by the server during /// creation, in the form enterprises/{enterpriseId}. core.String? name; @@ -4517,8 +4608,11 @@ class Enterprise { this.contactInfo, this.enabledNotificationTypes, this.enterpriseDisplayName, + this.enterpriseType, this.googleAuthenticationSettings, this.logo, + this.managedGoogleDomainType, + this.managedGooglePlayAccountsEnterpriseType, this.name, this.primaryColor, this.pubsubTopic, @@ -4538,6 +4632,7 @@ class Enterprise { ?.map((value) => value as core.String) .toList(), enterpriseDisplayName: json_['enterpriseDisplayName'] as core.String?, + enterpriseType: json_['enterpriseType'] as core.String?, googleAuthenticationSettings: json_.containsKey('googleAuthenticationSettings') ? GoogleAuthenticationSettings.fromJson( @@ -4548,6 +4643,10 @@ class Enterprise { ? ExternalData.fromJson( json_['logo'] as core.Map) : null, + managedGoogleDomainType: + json_['managedGoogleDomainType'] as core.String?, + managedGooglePlayAccountsEnterpriseType: + json_['managedGooglePlayAccountsEnterpriseType'] as core.String?, name: json_['name'] as core.String?, primaryColor: json_['primaryColor'] as core.int?, pubsubTopic: json_['pubsubTopic'] as core.String?, @@ -4569,9 +4668,15 @@ class Enterprise { 'enabledNotificationTypes': enabledNotificationTypes!, if (enterpriseDisplayName != null) 'enterpriseDisplayName': enterpriseDisplayName!, + if (enterpriseType != null) 'enterpriseType': enterpriseType!, if (googleAuthenticationSettings != null) 'googleAuthenticationSettings': googleAuthenticationSettings!, if (logo != null) 'logo': logo!, + if (managedGoogleDomainType != null) + 'managedGoogleDomainType': managedGoogleDomainType!, + if (managedGooglePlayAccountsEnterpriseType != null) + 'managedGooglePlayAccountsEnterpriseType': + managedGooglePlayAccountsEnterpriseType!, if (name != null) 'name': name!, if (primaryColor != null) 'primaryColor': primaryColor!, if (pubsubTopic != null) 'pubsubTopic': pubsubTopic!, @@ -4686,13 +4791,14 @@ class FreezePeriod { /// /// Must be no later than 90 days from the start date. If the end date is /// earlier than the start date, the freeze period is considered wrapping - /// year-end. Note: year must not be set. For example, {"month": 1,"date": - /// 30}. + /// year-end. Note: day and month must be set. year should not be set as it is + /// not used. For example, {"month": 1,"date": 30}. Date? endDate; /// The start date (inclusive) of the freeze period. /// - /// Note: year must not be set. For example, {"month": 1,"date": 30}. + /// Note: day and month must be set. year should not be set as it is not used. + /// For example, {"month": 1,"date": 30}. Date? startDate; FreezePeriod({ @@ -4718,6 +4824,57 @@ class FreezePeriod { }; } +/// Request message for generating a URL to upgrade an existing managed Google +/// Play Accounts enterprise to a managed Google domain.Note: This feature is +/// not generally available. +class GenerateEnterpriseUpgradeUrlRequest { + /// Email address used to prefill the admin field of the enterprise signup + /// form as part of the upgrade process. + /// + /// This value is a hint only and can be altered by the user. Personal email + /// addresses are not allowed. If allowedDomains is non-empty then this must + /// belong to one of the allowedDomains. + /// + /// Optional. + core.String? adminEmail; + + /// A list of domains that are permitted for the admin email. + /// + /// The IT admin cannot enter an email address with a domain name that is not + /// in this list. Subdomains of domains in this list are not allowed but can + /// be allowed by adding a second entry which has *. prefixed to the domain + /// name (e.g. *.example.com). If the field is not present or is an empty list + /// then the IT admin is free to use any valid domain name. Personal email + /// domains are not allowed. + /// + /// Optional. + core.List? allowedDomains; + + GenerateEnterpriseUpgradeUrlRequest({ + this.adminEmail, + this.allowedDomains, + }); + + GenerateEnterpriseUpgradeUrlRequest.fromJson(core.Map json_) + : this( + adminEmail: json_['adminEmail'] as core.String?, + allowedDomains: (json_['allowedDomains'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (adminEmail != null) 'adminEmail': adminEmail!, + if (allowedDomains != null) 'allowedDomains': allowedDomains!, + }; +} + +/// Response message for generating a URL to upgrade an existing managed Google +/// Play Accounts enterprise to a managed Google domain.Note: This feature is +/// not generally available. +typedef GenerateEnterpriseUpgradeUrlResponse + = $GenerateEnterpriseUpgradeUrlResponse; + /// Contains settings for Google-provided user authentication. class GoogleAuthenticationSettings { /// Whether users need to be authenticated by Google during the enrollment @@ -6778,7 +6935,8 @@ class Policy { /// Whether adjusting the master volume is disabled. /// - /// Also mutes the device. + /// Also mutes the device. The setting has effect only on fully managed + /// devices. core.bool? adjustVolumeDisabled; /// Advanced security settings. @@ -7307,6 +7465,8 @@ class Policy { core.bool? screenCaptureDisabled; /// Whether changing the user icon is disabled. + /// + /// The setting has effect only on fully managed devices. core.bool? setUserIconDisabled; /// Whether changing the wallpaper is disabled. diff --git a/generated/googleapis/lib/androidpublisher/v3.dart b/generated/googleapis/lib/androidpublisher/v3.dart index b58e2920c..dde4ff6e4 100644 --- a/generated/googleapis/lib/androidpublisher/v3.dart +++ b/generated/googleapis/lib/androidpublisher/v3.dart @@ -8128,9 +8128,13 @@ class ConvertRegionPricesResponse { /// Map from region code to converted region price. core.Map? convertedRegionPrices; + /// The region version at which the prices were generated. + RegionsVersion? regionVersion; + ConvertRegionPricesResponse({ this.convertedOtherRegionsPrice, this.convertedRegionPrices, + this.regionVersion, }); ConvertRegionPricesResponse.fromJson(core.Map json_) @@ -8150,6 +8154,10 @@ class ConvertRegionPricesResponse { value as core.Map), ), ), + regionVersion: json_.containsKey('regionVersion') + ? RegionsVersion.fromJson( + json_['regionVersion'] as core.Map) + : null, ); core.Map toJson() => { @@ -8157,6 +8165,7 @@ class ConvertRegionPricesResponse { 'convertedOtherRegionsPrice': convertedOtherRegionsPrice!, if (convertedRegionPrices != null) 'convertedRegionPrices': convertedRegionPrices!, + if (regionVersion != null) 'regionVersion': regionVersion!, }; } @@ -11290,7 +11299,7 @@ class OfferDetails { }; } -/// Represents a custom tag specified for base plans and subscription offers. +/// Represents a custom tag specified for a product offer. class OfferTag { /// Must conform with RFC-1034. /// diff --git a/generated/googleapis/lib/apigee/v1.dart b/generated/googleapis/lib/apigee/v1.dart index ff975f13c..4ea9bbb62 100644 --- a/generated/googleapis/lib/apigee/v1.dart +++ b/generated/googleapis/lib/apigee/v1.dart @@ -33,6 +33,7 @@ /// - [OrganizationsApiproductsAttributesResource] /// - [OrganizationsApiproductsRateplansResource] /// - [OrganizationsApisResource] +/// - [OrganizationsApisDebugsessionsResource] /// - [OrganizationsApisDeploymentsResource] /// - [OrganizationsApisKeyvaluemapsResource] /// - [OrganizationsApisKeyvaluemapsEntriesResource] @@ -114,6 +115,7 @@ /// - [OrganizationsSitesResource] /// - [OrganizationsSitesApicategoriesResource] /// - [OrganizationsSitesApidocsResource] +/// - [OrganizationsSpacesResource] /// - [ProjectsResource] library; @@ -259,6 +261,8 @@ class OrganizationsResource { OrganizationsSharedflowsResource(_requester); OrganizationsSitesResource get sites => OrganizationsSitesResource(_requester); + OrganizationsSpacesResource get spaces => + OrganizationsSpacesResource(_requester); OrganizationsResource(commons.ApiRequester client) : _requester = client; @@ -1245,7 +1249,10 @@ class OrganizationsApiproductsResource { /// Request parameters: /// /// [name] - Required. Name of the API product. Use the following structure in - /// your request: `organizations/{org}/apiproducts/{apiproduct}` + /// your request: `organizations/{org}/apiproducts/{apiproduct}` If the API + /// Product resource has the `space` attribute set, IAM permissions are + /// checked against the Space resource path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern `^organizations/\[^/\]+/apiproducts/\[^/\]+$`. /// /// [$fields] - Selector specifying which fields to include in a partial @@ -1306,7 +1313,10 @@ class OrganizationsApiproductsResource { /// /// [parent] - Required. Name of the organization in which the API product /// will be created. Use the following structure in your request: - /// `organizations/{org}` + /// `organizations/{org}` If the resource has the `space` attribute set, IAM + /// permissions are checked against the Space resource path. To learn more, + /// read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern `^organizations/\[^/\]+$`. /// /// [$fields] - Selector specifying which fields to include in a partial @@ -1355,7 +1365,10 @@ class OrganizationsApiproductsResource { /// Request parameters: /// /// [name] - Required. Name of the API product. Use the following structure in - /// your request: `organizations/{org}/apiproducts/{apiproduct}` + /// your request: `organizations/{org}/apiproducts/{apiproduct}` If the + /// resource has the `space` attribute set, IAM permissions are checked + /// against the Space resource path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern `^organizations/\[^/\]+/apiproducts/\[^/\]+$`. /// /// [$fields] - Selector specifying which fields to include in a partial @@ -1397,7 +1410,10 @@ class OrganizationsApiproductsResource { /// Request parameters: /// /// [name] - Required. Name of the API product. Use the following structure in - /// your request: `organizations/{org}/apiproducts/{apiproduct}` + /// your request: `organizations/{org}/apiproducts/{apiproduct}` If the + /// resource has the `space` attribute set, IAM permissions are checked + /// against the Space resource path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern `^organizations/\[^/\]+/apiproducts/\[^/\]+$`. /// /// [$fields] - Selector specifying which fields to include in a partial @@ -1434,12 +1450,17 @@ class OrganizationsApiproductsResource { /// Filter the list by passing an `attributename` and `attibutevalue`. The /// maximum number of API products returned is 1000. You can paginate the list /// of API products returned using the `startKey` and `count` query - /// parameters. + /// parameters. If the resource has the `space` attribute set, the response + /// may not return all resources. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// /// Request parameters: /// /// [parent] - Required. Name of the organization. Use the following structure - /// in your request: `organizations/{org}` + /// in your request: `organizations/{org}` If the resource has the `space` + /// attribute set, IAM permissions are checked against the Space resource + /// path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern `^organizations/\[^/\]+$`. /// /// [attributename] - Name of the attribute used to filter the search. @@ -1452,6 +1473,13 @@ class OrganizationsApiproductsResource { /// [expand] - Flag that specifies whether to expand the results. Set to /// `true` to get expanded details about each API. /// + /// [space] - Optional. The Space to list API products for. When none + /// provided, all the spaces the user has list access, will be used + /// implicitly, and the same following rules will apply. Can be used in + /// conjunction with start_key, expand and count for paginated response. + /// Composite queries with attributename and attributevalue are not supported + /// yet. + /// /// [startKey] - Gets a list of API products starting with a specific API /// product in the list. For example, if you're returning 50 API products at a /// time (using the `count` query parameter), you can view products 50-99 by @@ -1474,6 +1502,7 @@ class OrganizationsApiproductsResource { core.String? attributevalue, core.String? count, core.bool? expand, + core.String? space, core.String? startKey, core.String? $fields, }) async { @@ -1482,6 +1511,7 @@ class OrganizationsApiproductsResource { if (attributevalue != null) 'attributevalue': [attributevalue], if (count != null) 'count': [count], if (expand != null) 'expand': ['${expand}'], + if (space != null) 'space': [space], if (startKey != null) 'startKey': [startKey], if ($fields != null) 'fields': [$fields], }; @@ -1497,6 +1527,48 @@ class OrganizationsApiproductsResource { response_ as core.Map); } + /// Moves an API product to a different space. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [name] - Required. API product to move in the following format: + /// \`organizations/{org}/apiproducts/{apiproduct} + /// Value must have pattern `^organizations/\[^/\]+/apiproducts/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleCloudApigeeV1ApiProduct]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future move( + GoogleCloudApigeeV1MoveApiProductRequest request, + core.String name, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':move'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return GoogleCloudApigeeV1ApiProduct.fromJson( + response_ as core.Map); + } + /// Updates an existing API product. /// /// You must include all required values, whether or not you are updating @@ -1511,7 +1583,10 @@ class OrganizationsApiproductsResource { /// Request parameters: /// /// [name] - Required. Name of the API product. Use the following structure in - /// your request: `organizations/{org}/apiproducts/{apiproduct}` + /// your request: `organizations/{org}/apiproducts/{apiproduct}` If the + /// resource has the `space` attribute set, IAM permissions are checked + /// against the Space resource path.To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern `^organizations/\[^/\]+/apiproducts/\[^/\]+$`. /// /// [$fields] - Selector specifying which fields to include in a partial @@ -1559,7 +1634,10 @@ class OrganizationsApiproductsAttributesResource { /// /// [name] - Required. Name of the API product attribute. Use the following /// structure in your request: - /// `organizations/{org}/apiproducts/{apiproduct}/attributes/{attribute}` + /// `organizations/{org}/apiproducts/{apiproduct}/attributes/{attribute}` If + /// the API Product resource has the `space` attribute set, IAM permissions + /// are checked against the Space resource path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/apiproducts/\[^/\]+/attributes/\[^/\]+$`. /// @@ -1598,7 +1676,10 @@ class OrganizationsApiproductsAttributesResource { /// /// [name] - Required. Name of the API product attribute. Use the following /// structure in your request: - /// `organizations/{org}/apiproducts/{apiproduct}/attributes/{attribute}` + /// `organizations/{org}/apiproducts/{apiproduct}/attributes/{attribute}` If + /// the API Product resource has the `space` attribute set, IAM permissions + /// are checked against the Space resource path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/apiproducts/\[^/\]+/attributes/\[^/\]+$`. /// @@ -1636,7 +1717,10 @@ class OrganizationsApiproductsAttributesResource { /// Request parameters: /// /// [parent] - Required. Name of the API product. Use the following structure - /// in your request: `organizations/{org}/apiproducts/{apiproduct}` + /// in your request: `organizations/{org}/apiproducts/{apiproduct}` If the API + /// Product resource has the `space` attribute set, IAM permissions are + /// checked against the Space resource path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern `^organizations/\[^/\]+/apiproducts/\[^/\]+$`. /// /// [$fields] - Selector specifying which fields to include in a partial @@ -1682,7 +1766,10 @@ class OrganizationsApiproductsAttributesResource { /// Request parameters: /// /// [name] - Required. Name of the API product. Use the following structure in - /// your request: `organizations/{org}/apiproducts/{apiproduct}` + /// your request: `organizations/{org}/apiproducts/{apiproduct}` If the API + /// Product resource has the `space` attribute set, IAM permissions are + /// checked against the Space resource path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/apiproducts/\[^/\]+/attributes/\[^/\]+$`. /// @@ -1743,7 +1830,10 @@ class OrganizationsApiproductsRateplansResource { /// /// [parent] - Required. Name of the API product that is associated with the /// rate plan. Use the following structure in your request: - /// `organizations/{org}/apiproducts/{apiproduct}` + /// `organizations/{org}/apiproducts/{apiproduct}` If the API Product resource + /// has the `space` attribute set, IAM permissions are checked against the + /// Space resource path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern `^organizations/\[^/\]+/apiproducts/\[^/\]+$`. /// /// [$fields] - Selector specifying which fields to include in a partial @@ -1784,7 +1874,10 @@ class OrganizationsApiproductsRateplansResource { /// /// [name] - Required. ID of the rate plan. Use the following structure in /// your request: - /// `organizations/{org}/apiproducts/{apiproduct}/rateplans/{rateplan}` + /// `organizations/{org}/apiproducts/{apiproduct}/rateplans/{rateplan}` If the + /// API Product resource has the `space` attribute set, IAM permissions are + /// checked against the Space resource path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/apiproducts/\[^/\]+/rateplans/\[^/\]+$`. /// @@ -1823,7 +1916,10 @@ class OrganizationsApiproductsRateplansResource { /// /// [name] - Required. Name of the rate plan. Use the following structure in /// your request: - /// `organizations/{org}/apiproducts/{apiproduct}/rateplans/{rateplan}` + /// `organizations/{org}/apiproducts/{apiproduct}/rateplans/{rateplan}` If the + /// API Product resource has the `space` attribute set, IAM permissions are + /// checked against the Space resource path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/apiproducts/\[^/\]+/rateplans/\[^/\]+$`. /// @@ -1863,7 +1959,10 @@ class OrganizationsApiproductsRateplansResource { /// [parent] - Required. Name of the API product. Use the following structure /// in your request: `organizations/{org}/apiproducts/{apiproduct}` Use /// `organizations/{org}/apiproducts/-` to return rate plans for all API - /// products within the organization. + /// products within the organization. If the API Product resource has the + /// `space` attribute set, IAM permissions are checked against the Space + /// resource path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern `^organizations/\[^/\]+/apiproducts/\[^/\]+$`. /// /// [count] - Number of rate plans to return in the API call. Use with the @@ -1940,7 +2039,10 @@ class OrganizationsApiproductsRateplansResource { /// /// [name] - Required. Name of the rate plan. Use the following structure in /// your request: - /// `organizations/{org}/apiproducts/{apiproduct}/rateplans/{rateplan}` + /// `organizations/{org}/apiproducts/{apiproduct}/rateplans/{rateplan}` If the + /// API Product resource has the `space` attribute set, IAM permissions are + /// checked against the Space resource path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/apiproducts/\[^/\]+/rateplans/\[^/\]+$`. /// @@ -1980,6 +2082,8 @@ class OrganizationsApiproductsRateplansResource { class OrganizationsApisResource { final commons.ApiRequester _requester; + OrganizationsApisDebugsessionsResource get debugsessions => + OrganizationsApisDebugsessionsResource(_requester); OrganizationsApisDeploymentsResource get deployments => OrganizationsApisDeploymentsResource(_requester); OrganizationsApisKeyvaluemapsResource get keyvaluemaps => @@ -2012,7 +2116,10 @@ class OrganizationsApisResource { /// Request parameters: /// /// [parent] - Required. Name of the organization in the following format: - /// `organizations/{org}` + /// `organizations/{org}` If the API Proxy resource has the `space` attribute + /// set, IAM permissions are checked against the Space resource path. To learn + /// more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern `^organizations/\[^/\]+$`. /// /// [action] - Action to perform when importing an API proxy configuration @@ -2023,6 +2130,11 @@ class OrganizationsApisResource { /// [name] - Name of the API proxy. Restrict the characters used to: /// A-Za-z0-9._- /// + /// [space] - Optional. The ID of the space associated with this proxy. Any + /// IAM policies applied to the space will affect access to this proxy. Note + /// that this field is only respected when creating a new proxy. It has no + /// effect when creating a new revision for an existing proxy. + /// /// [validate] - Ignored. All uploads are validated regardless of the value of /// this field. Maintained for compatibility with Apigee Edge API. /// @@ -2041,6 +2153,7 @@ class OrganizationsApisResource { core.String parent, { core.String? action, core.String? name, + core.String? space, core.bool? validate, core.String? $fields, }) async { @@ -2048,6 +2161,7 @@ class OrganizationsApisResource { final queryParams_ = >{ if (action != null) 'action': [action], if (name != null) 'name': [name], + if (space != null) 'space': [space], if (validate != null) 'validate': ['${validate}'], if ($fields != null) 'fields': [$fields], }; @@ -2072,7 +2186,10 @@ class OrganizationsApisResource { /// Request parameters: /// /// [name] - Required. Name of the API proxy in the following format: - /// `organizations/{org}/apis/{api}` + /// `organizations/{org}/apis/{api}` If the API Proxy resource has the `space` + /// attribute set, IAM permissions are checked against the Space resource + /// path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern `^organizations/\[^/\]+/apis/\[^/\]+$`. /// /// [$fields] - Selector specifying which fields to include in a partial @@ -2109,7 +2226,10 @@ class OrganizationsApisResource { /// Request parameters: /// /// [name] - Required. Name of the API proxy in the following format: - /// `organizations/{org}/apis/{api}` + /// `organizations/{org}/apis/{api}` If the API Proxy resource has the `space` + /// attribute set, IAM permissions are checked against the Space resource + /// path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern `^organizations/\[^/\]+/apis/\[^/\]+$`. /// /// [$fields] - Selector specifying which fields to include in a partial @@ -2144,12 +2264,17 @@ class OrganizationsApisResource { /// Lists the names of all API proxies in an organization. /// /// The names returned correspond to the names defined in the configuration - /// files for each API proxy. + /// files for each API proxy. If the resource has the `space` attribute set, + /// the response may not return all resources. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// /// Request parameters: /// /// [parent] - Required. Name of the organization in the following format: - /// `organizations/{org}` + /// `organizations/{org}` If the resource has the `space` attribute set, IAM + /// permissions are checked against the Space resource path. To learn more, + /// read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern `^organizations/\[^/\]+$`. /// /// [includeMetaData] - Flag that specifies whether to include API proxy @@ -2158,6 +2283,9 @@ class OrganizationsApisResource { /// [includeRevisions] - Flag that specifies whether to include a list of /// revisions in the response. /// + /// [space] - Optional. The space ID to filter the list of proxies (optional). + /// If unspecified, all proxies in the organization will be listed. + /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// @@ -2172,11 +2300,13 @@ class OrganizationsApisResource { core.String parent, { core.bool? includeMetaData, core.bool? includeRevisions, + core.String? space, core.String? $fields, }) async { final queryParams_ = >{ if (includeMetaData != null) 'includeMetaData': ['${includeMetaData}'], if (includeRevisions != null) 'includeRevisions': ['${includeRevisions}'], + if (space != null) 'space': [space], if ($fields != null) 'fields': [$fields], }; @@ -2191,6 +2321,48 @@ class OrganizationsApisResource { response_ as core.Map); } + /// Moves an API proxy to a different space. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [name] - Required. API proxy to move in the following format: + /// `organizations/{org}/apis/{api}` + /// Value must have pattern `^organizations/\[^/\]+/apis/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleCloudApigeeV1ApiProxy]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future move( + GoogleCloudApigeeV1MoveApiProxyRequest request, + core.String name, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':move'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return GoogleCloudApigeeV1ApiProxy.fromJson( + response_ as core.Map); + } + /// Updates an existing API proxy. /// /// [request] - The metadata request object. @@ -2198,7 +2370,10 @@ class OrganizationsApisResource { /// Request parameters: /// /// [name] - Required. API proxy to update in the following format: - /// `organizations/{org}/apis/{api}` + /// `organizations/{org}/apis/{api}` If the resource has the `space` attribute + /// set, IAM permissions are checked against the Space resource path. To learn + /// more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern `^organizations/\[^/\]+/apis/\[^/\]+$`. /// /// [updateMask] - Required. The list of fields to update. @@ -2238,6 +2413,60 @@ class OrganizationsApisResource { } } +class OrganizationsApisDebugsessionsResource { + final commons.ApiRequester _requester; + + OrganizationsApisDebugsessionsResource(commons.ApiRequester client) + : _requester = client; + + /// Lists debug sessions that are currently active in the given API Proxy. + /// + /// Request parameters: + /// + /// [parent] - Required. The name of the API Proxy for which to list debug + /// sessions. Must be of the form: `organizations/{organization}/apis/{api}`. + /// Value must have pattern `^organizations/\[^/\]+/apis/\[^/\]+$`. + /// + /// [pageSize] - Optional. Maximum number of debug sessions to return. The + /// page size defaults to 25. + /// + /// [pageToken] - Optional. Page token, returned from a previous + /// ListApiDebugSessions call, that you can use to retrieve the next page. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleCloudApigeeV1ListApiDebugSessionsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String parent, { + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/debugsessions'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return GoogleCloudApigeeV1ListApiDebugSessionsResponse.fromJson( + response_ as core.Map); + } +} + class OrganizationsApisDeploymentsResource { final commons.ApiRequester _requester; @@ -2249,7 +2478,10 @@ class OrganizationsApisDeploymentsResource { /// Request parameters: /// /// [parent] - Required. Name of the API proxy for which to return deployment - /// information in the following format: `organizations/{org}/apis/{api}` + /// information in the following format: `organizations/{org}/apis/{api}` If + /// the API proxy resource has the `space` attribute set, IAM permissions are + /// checked differently . To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern `^organizations/\[^/\]+/apis/\[^/\]+$`. /// /// [$fields] - Selector specifying which fields to include in a partial @@ -2299,7 +2531,10 @@ class OrganizationsApisKeyvaluemapsResource { /// /// [parent] - Required. Name of the environment in which to create the key /// value map. Use the following structure in your request: - /// `organizations/{org}/apis/{api}` + /// `organizations/{org}/apis/{api}` If the API Proxy resource has the `space` + /// attribute set, IAM permissions are checked against the Space resource + /// path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern `^organizations/\[^/\]+/apis/\[^/\]+$`. /// /// [$fields] - Selector specifying which fields to include in a partial @@ -2340,7 +2575,10 @@ class OrganizationsApisKeyvaluemapsResource { /// /// [name] - Required. Name of the key value map. Use the following structure /// in your request: - /// `organizations/{org}/apis/{api}/keyvaluemaps/{keyvaluemap}` + /// `organizations/{org}/apis/{api}/keyvaluemaps/{keyvaluemap}` If the API + /// Proxy resource has the `space` attribute set, IAM permissions are checked + /// against the Space resource path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/apis/\[^/\]+/keyvaluemaps/\[^/\]+$`. /// @@ -2394,7 +2632,11 @@ class OrganizationsApisKeyvaluemapsEntriesResource { /// request: * /// `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * /// `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` - /// * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. + /// * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. If the + /// KeyValueMap is under an API Proxy resource that has the `space` attribute + /// set, IAM permissions are checked against the Space resource path. To learn + /// more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/apis/\[^/\]+/keyvaluemaps/\[^/\]+$`. /// @@ -2448,6 +2690,10 @@ class OrganizationsApisKeyvaluemapsEntriesResource { /// `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}/entries/{entry}` /// * /// `organizations/{organization}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. + /// If the KeyValueMap is under an API Proxy resource that has the `space` + /// attribute set, IAM permissions are checked against the Space resource + /// path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/apis/\[^/\]+/keyvaluemaps/\[^/\]+/entries/\[^/\]+$`. /// @@ -2495,6 +2741,10 @@ class OrganizationsApisKeyvaluemapsEntriesResource { /// `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}/entries/{entry}` /// * /// `organizations/{organization}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. + /// If the KeyValueMap is under an API Proxy resource that has the `space` + /// attribute set, IAM permissions are checked against the Space resource + /// path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/apis/\[^/\]+/keyvaluemaps/\[^/\]+/entries/\[^/\]+$`. /// @@ -2538,7 +2788,11 @@ class OrganizationsApisKeyvaluemapsEntriesResource { /// value maps. Use **one** of the following structures in your request: * /// `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * /// `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` - /// * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. + /// * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. If the + /// KeyValueMap is under an API Proxy resource that has the `space` attribute + /// set, IAM permissions are checked against the Space resource path. To learn + /// more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/apis/\[^/\]+/keyvaluemaps/\[^/\]+$`. /// @@ -2594,7 +2848,11 @@ class OrganizationsApisKeyvaluemapsEntriesResource { /// request: * /// `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * /// `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` - /// * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. + /// * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. If the + /// KeyValueMap is under an API Proxy resource that has the `space` attribute + /// set, IAM permissions are checked against the Space resource path. To learn + /// more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/apis/\[^/\]+/keyvaluemaps/\[^/\]+/entries/\[^/\]+$`. /// @@ -2648,7 +2906,10 @@ class OrganizationsApisRevisionsResource { /// Request parameters: /// /// [name] - Required. API proxy revision in the following format: - /// `organizations/{org}/apis/{api}/revisions/{rev}` + /// `organizations/{org}/apis/{api}/revisions/{rev}` If the API Proxy resource + /// has the `space` attribute set, IAM permissions are checked against the + /// Space resource path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/apis/\[^/\]+/revisions/\[^/\]+$`. /// @@ -2694,7 +2955,10 @@ class OrganizationsApisRevisionsResource { /// Request parameters: /// /// [name] - Required. API proxy revision in the following format: - /// `organizations/{org}/apis/{api}/revisions/{rev}` + /// `organizations/{org}/apis/{api}/revisions/{rev}` If the API Proxy resource + /// has the `space` attribute set, IAM permissions are checked against the + /// Space resource path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/apis/\[^/\]+/revisions/\[^/\]+$`. /// @@ -2746,7 +3010,10 @@ class OrganizationsApisRevisionsResource { /// Request parameters: /// /// [name] - Required. API proxy revision to update in the following format: - /// `organizations/{org}/apis/{api}/revisions/{rev}` + /// `organizations/{org}/apis/{api}/revisions/{rev}` If the API Proxy resource + /// has the `space` attribute set, IAM permissions are checked against the + /// Space resource path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/apis/\[^/\]+/revisions/\[^/\]+$`. /// @@ -2800,7 +3067,10 @@ class OrganizationsApisRevisionsDeploymentsResource { /// /// [parent] - Required. Name of the API proxy revision for which to return /// deployment information in the following format: - /// `organizations/{org}/apis/{api}/revisions/{rev}`. + /// `organizations/{org}/apis/{api}/revisions/{rev}`. If the API proxy + /// resource has the `space` attribute set, IAM permissions are checked + /// differently . To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/apis/\[^/\]+/revisions/\[^/\]+$`. /// @@ -2894,10 +3164,9 @@ class OrganizationsAppgroupsResource { /// /// All app and API keys associations with the AppGroup are also removed. /// **Warning**: This API will permanently delete the AppGroup and related - /// artifacts. **Note**: The delete operation is asynchronous. The AppGroup - /// app is deleted immediately, but its associated resources, such as apps and - /// API keys, may take anywhere from a few seconds to a few minutes to be - /// deleted. + /// artifacts. **Note**: The delete operation is asynchronous. The AppGroup is + /// deleted immediately, but its associated resources, such as apps and API + /// keys, may take anywhere from a few seconds to a few minutes to be deleted. /// /// Request parameters: /// @@ -4173,9 +4442,9 @@ class OrganizationsDevelopersResource { /// **Warning**: This API will permanently delete the developer and related /// artifacts. To avoid permanently deleting developers and their artifacts, /// set the developer status to `inactive` using the SetDeveloperStatus API. - /// **Note**: The delete operation is asynchronous. The developer app is - /// deleted immediately, but its associated resources, such as apps and API - /// keys, may take anywhere from a few seconds to a few minutes to be deleted. + /// **Note**: The delete operation is asynchronous. The developer is deleted + /// immediately, but its associated resources, such as apps and API keys, may + /// take anywhere from a few seconds to a few minutes to be deleted. /// /// Request parameters: /// @@ -7912,6 +8181,9 @@ class OrganizationsEnvironmentsApisDeploymentsResource { /// /// [parent] - Required. Name representing an API proxy in an environment in /// the following format: `organizations/{org}/environments/{env}/apis/{api}` + /// If the API proxy resource has the `space` attribute set, IAM permissions + /// are checked differently . To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/environments/\[^/\]+/apis/\[^/\]+$`. /// @@ -7970,13 +8242,22 @@ class OrganizationsEnvironmentsApisRevisionsResource { /// two permissions are required: * `apigee.deployments.create` on the /// resource `organizations/{org}/environments/{env}` * /// `apigee.proxyrevisions.deploy` on the resource - /// `organizations/{org}/apis/{api}/revisions/{rev}` + /// `organizations/{org}/apis/{api}/revisions/{rev}` All successful API proxy + /// deployments to Apigee are \[zero-downtime + /// deployments\](https://cloud.google.com/apigee/docs/api-platform/deploy/ui-deploy-overview#zero-downtime-deployment). + /// Apigee hybrid validates the dependencies between shared flows and API + /// proxies at deployment time. For example, if the Flow Callout policy in an + /// API proxy references a shared flow that either doesn't exist or isn't + /// deployed, the API proxy deployment fails. /// /// Request parameters: /// /// [name] - Required. Name of the API proxy revision deployment in the /// following format: - /// `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}` + /// `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}` If the + /// API proxy resource being deployed has the `space` attribute set, IAM + /// permissions are checked differently . To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/environments/\[^/\]+/apis/\[^/\]+/revisions/\[^/\]+$`. /// @@ -8046,7 +8327,10 @@ class OrganizationsEnvironmentsApisRevisionsResource { /// /// [name] - Required. Name representing an API proxy revision in an /// environment in the following format: - /// `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}` + /// `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}` If the + /// API proxy resource has the `space` attribute set, IAM permissions are + /// checked differently . To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/environments/\[^/\]+/apis/\[^/\]+/revisions/\[^/\]+$`. /// @@ -8092,7 +8376,10 @@ class OrganizationsEnvironmentsApisRevisionsResource { /// /// [name] - Required. Name of the API proxy revision deployment in the /// following format: - /// `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}` + /// `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}` If the + /// API proxy resource has the `space` attribute set, IAM permissions are + /// checked differently . To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/environments/\[^/\]+/apis/\[^/\]+/revisions/\[^/\]+$`. /// @@ -8159,6 +8446,9 @@ class OrganizationsEnvironmentsApisRevisionsDebugsessionsResource { /// [parent] - Required. The resource name of the API Proxy revision /// deployment for which to create the DebugSession. Must be of the form /// `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}`. + /// If the API proxy resource has the `space` attribute set, IAM permissions + /// are checked differently . To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/environments/\[^/\]+/apis/\[^/\]+/revisions/\[^/\]+$`. /// @@ -8209,6 +8499,9 @@ class OrganizationsEnvironmentsApisRevisionsDebugsessionsResource { /// [name] - Required. The name of the debug session to delete. Must be of the /// form: /// `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}/debugsessions/{debugsession}`. + /// If the API proxy resource has the `space` attribute set, IAM permissions + /// are checked differently . To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/environments/\[^/\]+/apis/\[^/\]+/revisions/\[^/\]+/debugsessions/\[^/\]+$`. /// @@ -8248,6 +8541,9 @@ class OrganizationsEnvironmentsApisRevisionsDebugsessionsResource { /// [name] - Required. The name of the debug session to retrieve. Must be of /// the form: /// `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}/debugsessions/{session}`. + /// If the API proxy resource has the `space` attribute set, IAM permissions + /// are checked differently . To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/environments/\[^/\]+/apis/\[^/\]+/revisions/\[^/\]+/debugsessions/\[^/\]+$`. /// @@ -8288,6 +8584,9 @@ class OrganizationsEnvironmentsApisRevisionsDebugsessionsResource { /// [parent] - Required. The name of the API Proxy revision deployment for /// which to list debug sessions. Must be of the form: /// `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}`. + /// If the API proxy resource has the `space` attribute set, IAM permissions + /// are checked differently . To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/environments/\[^/\]+/apis/\[^/\]+/revisions/\[^/\]+$`. /// @@ -8345,6 +8644,9 @@ class OrganizationsEnvironmentsApisRevisionsDebugsessionsDataResource { /// [name] - Required. The name of the debug session transaction. Must be of /// the form: /// `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}/debugsessions/{session}/data/{transaction}`. + /// If the API proxy resource has the `space` attribute set, IAM permissions + /// are checked differently . To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/environments/\[^/\]+/apis/\[^/\]+/revisions/\[^/\]+/debugsessions/\[^/\]+/data/\[^/\]+$`. /// @@ -8404,7 +8706,10 @@ class OrganizationsEnvironmentsApisRevisionsDeploymentsResource { /// /// [name] - Name of the API proxy revision deployment in the following /// format: - /// `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}` + /// `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}` If the + /// API proxy resource has the `space` attribute set, IAM permissions are + /// checked differently . To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/environments/\[^/\]+/apis/\[^/\]+/revisions/\[^/\]+$`. /// @@ -9824,7 +10129,11 @@ class OrganizationsEnvironmentsKeyvaluemapsEntriesResource { /// request: * /// `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * /// `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` - /// * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. + /// * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. If the + /// KeyValueMap is under an API Proxy resource that has the `space` attribute + /// set, IAM permissions are checked against the Space resource path. To learn + /// more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/environments/\[^/\]+/keyvaluemaps/\[^/\]+$`. /// @@ -9878,6 +10187,10 @@ class OrganizationsEnvironmentsKeyvaluemapsEntriesResource { /// `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}/entries/{entry}` /// * /// `organizations/{organization}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. + /// If the KeyValueMap is under an API Proxy resource that has the `space` + /// attribute set, IAM permissions are checked against the Space resource + /// path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/environments/\[^/\]+/keyvaluemaps/\[^/\]+/entries/\[^/\]+$`. /// @@ -9925,6 +10238,10 @@ class OrganizationsEnvironmentsKeyvaluemapsEntriesResource { /// `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}/entries/{entry}` /// * /// `organizations/{organization}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. + /// If the KeyValueMap is under an API Proxy resource that has the `space` + /// attribute set, IAM permissions are checked against the Space resource + /// path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/environments/\[^/\]+/keyvaluemaps/\[^/\]+/entries/\[^/\]+$`. /// @@ -9968,7 +10285,11 @@ class OrganizationsEnvironmentsKeyvaluemapsEntriesResource { /// value maps. Use **one** of the following structures in your request: * /// `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * /// `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` - /// * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. + /// * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. If the + /// KeyValueMap is under an API Proxy resource that has the `space` attribute + /// set, IAM permissions are checked against the Space resource path. To learn + /// more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/environments/\[^/\]+/keyvaluemaps/\[^/\]+$`. /// @@ -10024,7 +10345,11 @@ class OrganizationsEnvironmentsKeyvaluemapsEntriesResource { /// request: * /// `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * /// `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` - /// * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. + /// * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. If the + /// KeyValueMap is under an API Proxy resource that has the `space` attribute + /// set, IAM permissions are checked against the Space resource path. To learn + /// more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/environments/\[^/\]+/keyvaluemaps/\[^/\]+/entries/\[^/\]+$`. /// @@ -11748,7 +12073,10 @@ class OrganizationsEnvironmentsSharedflowsDeploymentsResource { /// /// [parent] - Required. Name representing a shared flow in an environment in /// the following format: - /// `organizations/{org}/environments/{env}/sharedflows/{sharedflow}` + /// `organizations/{org}/environments/{env}/sharedflows/{sharedflow}` If the + /// shared flow resource has the `space` attribute set, IAM permissions are + /// checked differently . To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/environments/\[^/\]+/sharedflows/\[^/\]+$`. /// @@ -11806,6 +12134,9 @@ class OrganizationsEnvironmentsSharedflowsRevisionsResource { /// [name] - Required. Name of the shared flow revision to deploy in the /// following format: /// `organizations/{org}/environments/{env}/sharedflows/{sharedflow}/revisions/{rev}` + /// If the shared flow resource being deployed has the `space` attribute set, + /// IAM permissions are checked differently . To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/environments/\[^/\]+/sharedflows/\[^/\]+/revisions/\[^/\]+$`. /// @@ -11861,6 +12192,9 @@ class OrganizationsEnvironmentsSharedflowsRevisionsResource { /// [name] - Required. Name representing a shared flow in an environment in /// the following format: /// `organizations/{org}/environments/{env}/sharedflows/{sharedflow}/revisions/{rev}` + /// If the shared flow resource has the `space` attribute set, IAM permissions + /// are checked differently . To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/environments/\[^/\]+/sharedflows/\[^/\]+/revisions/\[^/\]+$`. /// @@ -11907,6 +12241,9 @@ class OrganizationsEnvironmentsSharedflowsRevisionsResource { /// [name] - Required. Name of the shared flow revision to undeploy in the /// following format: /// `organizations/{org}/environments/{env}/sharedflows/{sharedflow}/revisions/{rev}` + /// If the shared flow resource has the `space` attribute set, IAM permissions + /// are checked differently . To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/environments/\[^/\]+/sharedflows/\[^/\]+/revisions/\[^/\]+$`. /// @@ -14015,7 +14352,11 @@ class OrganizationsKeyvaluemapsEntriesResource { /// request: * /// `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * /// `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` - /// * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. + /// * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. If the + /// KeyValueMap is under an API Proxy resource that has the `space` attribute + /// set, IAM permissions are checked against the Space resource path. To learn + /// more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern `^organizations/\[^/\]+/keyvaluemaps/\[^/\]+$`. /// /// [$fields] - Selector specifying which fields to include in a partial @@ -14068,6 +14409,10 @@ class OrganizationsKeyvaluemapsEntriesResource { /// `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}/entries/{entry}` /// * /// `organizations/{organization}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. + /// If the KeyValueMap is under an API Proxy resource that has the `space` + /// attribute set, IAM permissions are checked against the Space resource + /// path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/keyvaluemaps/\[^/\]+/entries/\[^/\]+$`. /// @@ -14115,6 +14460,10 @@ class OrganizationsKeyvaluemapsEntriesResource { /// `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}/entries/{entry}` /// * /// `organizations/{organization}/keyvaluemaps/{keyvaluemap}/entries/{entry}`. + /// If the KeyValueMap is under an API Proxy resource that has the `space` + /// attribute set, IAM permissions are checked against the Space resource + /// path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/keyvaluemaps/\[^/\]+/entries/\[^/\]+$`. /// @@ -14158,7 +14507,11 @@ class OrganizationsKeyvaluemapsEntriesResource { /// value maps. Use **one** of the following structures in your request: * /// `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * /// `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` - /// * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. + /// * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. If the + /// KeyValueMap is under an API Proxy resource that has the `space` attribute + /// set, IAM permissions are checked against the Space resource path. To learn + /// more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern `^organizations/\[^/\]+/keyvaluemaps/\[^/\]+$`. /// /// [pageSize] - Optional. Maximum number of key value entries to return. If @@ -14213,7 +14566,11 @@ class OrganizationsKeyvaluemapsEntriesResource { /// request: * /// `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`. * /// `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}` - /// * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. + /// * `organizations/{organization}/keyvaluemaps/{keyvaluemap}`. If the + /// KeyValueMap is under an API Proxy resource that has the `space` attribute + /// set, IAM permissions are checked against the Space resource path. To learn + /// more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/keyvaluemaps/\[^/\]+/entries/\[^/\]+$`. /// @@ -15411,13 +15768,22 @@ class OrganizationsSharedflowsResource { /// /// [parent] - Required. The name of the parent organization under which to /// create the shared flow. Must be of the form: - /// `organizations/{organization_id}` + /// `organizations/{organization_id}` If the resource has the `space` + /// attribute set, IAM permissions are checked against the Space resource + /// path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern `^organizations/\[^/\]+$`. /// /// [action] - Required. Must be set to either `import` or `validate`. /// /// [name] - Required. The name to give the shared flow /// + /// [space] - Optional. The ID of the space to associated with this shared + /// flow. Any IAM policies applied to the space will affect access to this + /// shared flow. Note that this field is only respected when creating a new + /// shared flow. It has no effect when creating a new revision for an existing + /// shared flow. + /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// @@ -15433,12 +15799,14 @@ class OrganizationsSharedflowsResource { core.String parent, { core.String? action, core.String? name, + core.String? space, core.String? $fields, }) async { final body_ = convert.json.encode(request); final queryParams_ = >{ if (action != null) 'action': [action], if (name != null) 'name': [name], + if (space != null) 'space': [space], if ($fields != null) 'fields': [$fields], }; @@ -15461,7 +15829,10 @@ class OrganizationsSharedflowsResource { /// Request parameters: /// /// [name] - Required. shared flow name of the form: - /// `organizations/{organization_id}/sharedflows/{shared_flow_id}` + /// `organizations/{organization_id}/sharedflows/{shared_flow_id}` If the + /// resource has the `space` attribute set, IAM permissions are checked + /// against the Space resource path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern `^organizations/\[^/\]+/sharedflows/\[^/\]+$`. /// /// [$fields] - Selector specifying which fields to include in a partial @@ -15498,7 +15869,10 @@ class OrganizationsSharedflowsResource { /// Request parameters: /// /// [name] - Required. The name of the shared flow to get. Must be of the - /// form: `organizations/{organization_id}/sharedflows/{shared_flow_id}` + /// form: `organizations/{organization_id}/sharedflows/{shared_flow_id}` If + /// the resource has the `space` attribute set, IAM permissions are checked + /// against the Space resource path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern `^organizations/\[^/\]+/sharedflows/\[^/\]+$`. /// /// [$fields] - Selector specifying which fields to include in a partial @@ -15532,10 +15906,17 @@ class OrganizationsSharedflowsResource { /// Lists all shared flows in the organization. /// + /// If the resource has the `space` attribute set, the response may not return + /// all resources. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). + /// /// Request parameters: /// /// [parent] - Required. The name of the parent organization under which to /// get shared flows. Must be of the form: `organizations/{organization_id}` + /// If the resource has the `space` attribute set, IAM permissions are checked + /// against the Space resource path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern `^organizations/\[^/\]+$`. /// /// [includeMetaData] - Indicates whether to include shared flow metadata in @@ -15544,6 +15925,11 @@ class OrganizationsSharedflowsResource { /// [includeRevisions] - Indicates whether to include a list of revisions in /// the response. /// + /// [space] - Optional. The space ID used to filter the list of shared flows + /// (optional). If unspecified, all shared flows in the organization will be + /// listed. To learn how Spaces can be used to manage resources, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). + /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// @@ -15558,11 +15944,13 @@ class OrganizationsSharedflowsResource { core.String parent, { core.bool? includeMetaData, core.bool? includeRevisions, + core.String? space, core.String? $fields, }) async { final queryParams_ = >{ if (includeMetaData != null) 'includeMetaData': ['${includeMetaData}'], if (includeRevisions != null) 'includeRevisions': ['${includeRevisions}'], + if (space != null) 'space': [space], if ($fields != null) 'fields': [$fields], }; @@ -15576,6 +15964,48 @@ class OrganizationsSharedflowsResource { return GoogleCloudApigeeV1ListSharedFlowsResponse.fromJson( response_ as core.Map); } + + /// Moves an shared flow to a different space. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [name] - Required. Shared Flow to move in the following format: + /// `organizations/{org}/sharedflows/{shared_flow}` + /// Value must have pattern `^organizations/\[^/\]+/sharedflows/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleCloudApigeeV1SharedFlow]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future move( + GoogleCloudApigeeV1MoveSharedFlowRequest request, + core.String name, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':move'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return GoogleCloudApigeeV1SharedFlow.fromJson( + response_ as core.Map); + } } class OrganizationsSharedflowsDeploymentsResource { @@ -15590,7 +16020,10 @@ class OrganizationsSharedflowsDeploymentsResource { /// /// [parent] - Required. Name of the shared flow for which to return /// deployment information in the following format: - /// `organizations/{org}/sharedflows/{sharedflow}` + /// `organizations/{org}/sharedflows/{sharedflow}` If the shared flow resource + /// has the `space` attribute set, IAM permissions are checked differently . + /// To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern `^organizations/\[^/\]+/sharedflows/\[^/\]+$`. /// /// [$fields] - Selector specifying which fields to include in a partial @@ -15642,6 +16075,9 @@ class OrganizationsSharedflowsRevisionsResource { /// [name] - Required. The name of the shared flow revision to delete. Must be /// of the form: /// `organizations/{organization_id}/sharedflows/{shared_flow_id}/revisions/{revision_id}` + /// If the Shared Flow resource has the `space` attribute set, IAM permissions + /// are checked against the Space resource path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/sharedflows/\[^/\]+/revisions/\[^/\]+$`. /// @@ -15689,6 +16125,9 @@ class OrganizationsSharedflowsRevisionsResource { /// [name] - Required. The name of the shared flow revision to get. Must be of /// the form: /// `organizations/{organization_id}/sharedflows/{shared_flow_id}/revisions/{revision_id}` + /// If the Shared Flow resource has the `space` attribute set, IAM permissions + /// are checked against the Space resource path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/sharedflows/\[^/\]+/revisions/\[^/\]+$`. /// @@ -15740,6 +16179,9 @@ class OrganizationsSharedflowsRevisionsResource { /// [name] - Required. The name of the shared flow revision to update. Must be /// of the form: /// `organizations/{organization_id}/sharedflows/{shared_flow_id}/revisions/{revision_id}` + /// If the resource has the `space` attribute set, IAM permissions are checked + /// against the Space resource path. To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/sharedflows/\[^/\]+/revisions/\[^/\]+$`. /// @@ -15795,7 +16237,10 @@ class OrganizationsSharedflowsRevisionsDeploymentsResource { /// /// [parent] - Required. Name of the API proxy revision for which to return /// deployment information in the following format: - /// `organizations/{org}/sharedflows/{sharedflow}/revisions/{rev}`. + /// `organizations/{org}/sharedflows/{sharedflow}/revisions/{rev}`. If the + /// shared flow resource has the `space` attribute set, IAM permissions are + /// checked differently . To learn more, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). /// Value must have pattern /// `^organizations/\[^/\]+/sharedflows/\[^/\]+/revisions/\[^/\]+$`. /// @@ -16352,46 +16797,48 @@ class OrganizationsSitesApidocsResource { } } -class ProjectsResource { +class OrganizationsSpacesResource { final commons.ApiRequester _requester; - ProjectsResource(commons.ApiRequester client) : _requester = client; + OrganizationsSpacesResource(commons.ApiRequester client) + : _requester = client; - /// Provisions a new Apigee organization with a functioning runtime. - /// - /// This is the standard way to create trial organizations for a free Apigee - /// trial. + /// Create a space under an organization. /// /// [request] - The metadata request object. /// /// Request parameters: /// - /// [project] - Required. Name of the GCP project with which to associate the - /// Apigee organization. - /// Value must have pattern `^projects/\[^/\]+$`. + /// [parent] - Required. Name of the Google Cloud project in which to + /// associate the Apigee space. Pass the information as a query parameter + /// using the following structure in your request: `organizations/` + /// Value must have pattern `^organizations/\[^/\]+$`. + /// + /// [spaceId] - Required. Resource ID of the space. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [GoogleLongrunningOperation]. + /// Completes with a [GoogleCloudApigeeV1Space]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future provisionOrganization( - GoogleCloudApigeeV1ProvisionOrganizationRequest request, - core.String project, { + async.Future create( + GoogleCloudApigeeV1Space request, + core.String parent, { + core.String? spaceId, core.String? $fields, }) async { final body_ = convert.json.encode(request); final queryParams_ = >{ + if (spaceId != null) 'spaceId': [spaceId], if ($fields != null) 'fields': [$fields], }; - final url_ = - 'v1/' + core.Uri.encodeFull('$project') + ':provisionOrganization'; + final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/spaces'; final response_ = await _requester.request( url_, @@ -16399,45 +16846,411 @@ class ProjectsResource { body: body_, queryParams: queryParams_, ); - return GoogleLongrunningOperation.fromJson( + return GoogleCloudApigeeV1Space.fromJson( response_ as core.Map); } -} - -/// Message that represents an arbitrary HTTP body. -/// -/// It should only be used for payload formats that can't be represented as -/// JSON, such as raw binary or an HTML page. This message can be used both in -/// streaming and non-streaming API methods in the request as well as the -/// response. It can be used as a top-level request field, which is convenient -/// if one wants to extract parameters from either the URL or HTTP template into -/// the request fields and also want access to the raw HTTP body. Example: -/// message GetResourceRequest { // A unique request id. string request_id = 1; -/// // The raw HTTP body is bound to this field. google.api.HttpBody http_body = -/// 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns -/// (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns -/// (google.protobuf.Empty); } Example with streaming methods: service -/// CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream -/// google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns -/// (stream google.api.HttpBody); } Use of this type only changes how the -/// request and response bodies are handled, all other features will continue to -/// work unchanged. -typedef GoogleApiHttpBody = $HttpBody; -/// APIProductAssociation has the API product and its administrative state -/// association. -class GoogleCloudApigeeV1APIProductAssociation { - /// API product to be associated with the credential. - core.String? apiproduct; - - /// The API product credential associated status. + /// Deletes an organization space. /// - /// Valid values are `approved` or `revoked`. - core.String? status; + /// Request parameters: + /// + /// [name] - Required. Apigee organization space name in the following format: + /// `organizations/{org}/spaces/{space}` + /// Value must have pattern `^organizations/\[^/\]+/spaces/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleProtobufEmpty]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; - GoogleCloudApigeeV1APIProductAssociation({ - this.apiproduct, - this.status, + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return GoogleProtobufEmpty.fromJson( + response_ as core.Map); + } + + /// Get a space under an Organization. + /// + /// Request parameters: + /// + /// [name] - Required. Apigee organization space name in the following format: + /// `organizations/{org}/spaces/{space}` + /// Value must have pattern `^organizations/\[^/\]+/spaces/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleCloudApigeeV1Space]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return GoogleCloudApigeeV1Space.fromJson( + response_ as core.Map); + } + + /// Callers must have apigee.spaces.getIamPolicy. + /// + /// Request parameters: + /// + /// [resource] - REQUIRED: The resource for which the policy is being + /// requested. See + /// [Resource names](https://cloud.google.com/apis/design/resource_names) for + /// the appropriate value for this field. + /// Value must have pattern `^organizations/\[^/\]+/spaces/\[^/\]+$`. + /// + /// [options_requestedPolicyVersion] - Optional. The maximum policy version + /// that will be used to format the policy. Valid values are 0, 1, and 3. + /// Requests specifying an invalid value will be rejected. Requests for + /// policies with any conditional role bindings must specify version 3. + /// Policies with no conditional role bindings may specify any valid value or + /// leave the field unset. The policy in the response might use the policy + /// version that you specified, or it might use a lower policy version. For + /// example, if you specify version 3, but the policy has no conditional role + /// bindings, the response uses version 1. To learn which resources support + /// conditions in their IAM policies, see the + /// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleIamV1Policy]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future getIamPolicy( + core.String resource, { + core.int? options_requestedPolicyVersion, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (options_requestedPolicyVersion != null) + 'options.requestedPolicyVersion': ['${options_requestedPolicyVersion}'], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':getIamPolicy'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return GoogleIamV1Policy.fromJson( + response_ as core.Map); + } + + /// Lists spaces under an organization. + /// + /// Request parameters: + /// + /// [parent] - Required. Use the following structure in your request: + /// `organizations` + /// Value must have pattern `^organizations/\[^/\]+$`. + /// + /// [pageSize] - Optional. The maximum number of spaces to return. The service + /// may return fewer than this value. If unspecified, at most 50 spaces will + /// be returned. The maximum value is 1000; values above 1000 will be coerced + /// to 1000. + /// + /// [pageToken] - Optional. A page token, received from a previous + /// `ListSpaces` call. Provide this to retrieve the subsequent page. When + /// paginating, all parameters must match the original call. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleCloudApigeeV1ListSpacesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String parent, { + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/spaces'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return GoogleCloudApigeeV1ListSpacesResponse.fromJson( + response_ as core.Map); + } + + /// Updates a space. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [name] - Required. Name of the space in the following format: + /// `organizations/{org}/spaces/{space_id}`. + /// Value must have pattern `^organizations/\[^/\]+/spaces/\[^/\]+$`. + /// + /// [updateMask] - Required. List of fields to be updated. Fields that can be + /// updated: display_name. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleCloudApigeeV1Space]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + GoogleCloudApigeeV1Space request, + core.String name, { + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return GoogleCloudApigeeV1Space.fromJson( + response_ as core.Map); + } + + /// IAM META APIs Callers must have apigee.spaces.setIamPolicy. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [resource] - REQUIRED: The resource for which the policy is being + /// specified. See + /// [Resource names](https://cloud.google.com/apis/design/resource_names) for + /// the appropriate value for this field. + /// Value must have pattern `^organizations/\[^/\]+/spaces/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleIamV1Policy]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future setIamPolicy( + GoogleIamV1SetIamPolicyRequest request, + core.String resource, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':setIamPolicy'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return GoogleIamV1Policy.fromJson( + response_ as core.Map); + } + + /// Callers don't need any permissions. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [resource] - REQUIRED: The resource for which the policy detail is being + /// requested. See + /// [Resource names](https://cloud.google.com/apis/design/resource_names) for + /// the appropriate value for this field. + /// Value must have pattern `^organizations/\[^/\]+/spaces/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleIamV1TestIamPermissionsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future testIamPermissions( + GoogleIamV1TestIamPermissionsRequest request, + core.String resource, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v1/' + core.Uri.encodeFull('$resource') + ':testIamPermissions'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return GoogleIamV1TestIamPermissionsResponse.fromJson( + response_ as core.Map); + } +} + +class ProjectsResource { + final commons.ApiRequester _requester; + + ProjectsResource(commons.ApiRequester client) : _requester = client; + + /// Provisions a new Apigee organization with a functioning runtime. + /// + /// This is the standard way to create trial organizations for a free Apigee + /// trial. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [project] - Required. Name of the GCP project with which to associate the + /// Apigee organization. + /// Value must have pattern `^projects/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleLongrunningOperation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future provisionOrganization( + GoogleCloudApigeeV1ProvisionOrganizationRequest request, + core.String project, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v1/' + core.Uri.encodeFull('$project') + ':provisionOrganization'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return GoogleLongrunningOperation.fromJson( + response_ as core.Map); + } +} + +/// Message that represents an arbitrary HTTP body. +/// +/// It should only be used for payload formats that can't be represented as +/// JSON, such as raw binary or an HTML page. This message can be used both in +/// streaming and non-streaming API methods in the request as well as the +/// response. It can be used as a top-level request field, which is convenient +/// if one wants to extract parameters from either the URL or HTTP template into +/// the request fields and also want access to the raw HTTP body. Example: +/// message GetResourceRequest { // A unique request id. string request_id = 1; +/// // The raw HTTP body is bound to this field. google.api.HttpBody http_body = +/// 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns +/// (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns +/// (google.protobuf.Empty); } Example with streaming methods: service +/// CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream +/// google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns +/// (stream google.api.HttpBody); } Use of this type only changes how the +/// request and response bodies are handled, all other features will continue to +/// work unchanged. +typedef GoogleApiHttpBody = $HttpBody; + +/// APIProductAssociation has the API product and its administrative state +/// association. +class GoogleCloudApigeeV1APIProductAssociation { + /// API product to be associated with the credential. + core.String? apiproduct; + + /// The API product credential associated status. + /// + /// Valid values are `approved` or `revoked`. + core.String? status; + + GoogleCloudApigeeV1APIProductAssociation({ + this.apiproduct, + this.status, }); GoogleCloudApigeeV1APIProductAssociation.fromJson(core.Map json_) @@ -16489,7 +17302,7 @@ class GoogleCloudApigeeV1Access { /// Get action. /// /// For example, "Get" : { "name" : "target.name", "value" : "default" } -typedef GoogleCloudApigeeV1AccessGet = $Shared05; +typedef GoogleCloudApigeeV1AccessGet = $Shared06; /// Access logging configuration enables customers to ship the access logs from /// the tenant projects to their own project's cloud logging. @@ -16932,6 +17745,44 @@ class GoogleCloudApigeeV1ApiCategoryResponse { }; } +/// Session carries the debug session id and its creation time. +class GoogleCloudApigeeV1ApiDebugSession { + /// The revision ID of the deployed API proxy. + core.String? apiProxyRevisionId; + + /// The first transaction creation timestamp in millisecond, recorded by UAP. + core.String? createTime; + + /// The environment ID of the deployed API proxy. + core.String? environmentId; + + /// The debug session ID. + core.String? id; + + GoogleCloudApigeeV1ApiDebugSession({ + this.apiProxyRevisionId, + this.createTime, + this.environmentId, + this.id, + }); + + GoogleCloudApigeeV1ApiDebugSession.fromJson(core.Map json_) + : this( + apiProxyRevisionId: json_['apiProxyRevisionId'] as core.String?, + createTime: json_['createTime'] as core.String?, + environmentId: json_['environmentId'] as core.String?, + id: json_['id'] as core.String?, + ); + + core.Map toJson() => { + if (apiProxyRevisionId != null) + 'apiProxyRevisionId': apiProxyRevisionId!, + if (createTime != null) 'createTime': createTime!, + if (environmentId != null) 'environmentId': environmentId!, + if (id != null) 'id': id!, + }; +} + /// `ApiDoc` represents an API catalog item. /// /// Catalog items are used in two ways in a portal: - Users can browse and @@ -17463,6 +18314,15 @@ class GoogleCloudApigeeV1ApiProduct { /// scopes defined in the OAuth policy associated with the API product. core.List? scopes; + /// The resource ID of the parent Space. + /// + /// If not set, the parent resource will be the Organization. To learn how + /// Spaces can be used to manage resources, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). + /// + /// Optional. + core.String? space; + GoogleCloudApigeeV1ApiProduct({ this.apiResources, this.approvalType, @@ -17482,6 +18342,7 @@ class GoogleCloudApigeeV1ApiProduct { this.quotaInterval, this.quotaTimeUnit, this.scopes, + this.space, }); GoogleCloudApigeeV1ApiProduct.fromJson(core.Map json_) @@ -17527,6 +18388,7 @@ class GoogleCloudApigeeV1ApiProduct { scopes: (json_['scopes'] as core.List?) ?.map((value) => value as core.String) .toList(), + space: json_['space'] as core.String?, ); core.Map toJson() => { @@ -17550,6 +18412,7 @@ class GoogleCloudApigeeV1ApiProduct { if (quotaInterval != null) 'quotaInterval': quotaInterval!, if (quotaTimeUnit != null) 'quotaTimeUnit': quotaTimeUnit!, if (scopes != null) 'scopes': scopes!, + if (space != null) 'space': space!, }; } @@ -17628,6 +18491,15 @@ class GoogleCloudApigeeV1ApiProxy { /// Output only. core.List? revision; + /// The id of the space this proxy is associated with. + /// + /// Any IAM policies applied to the space will control access to this proxy. + /// To learn how Spaces can be used to manage resources, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). + /// + /// Optional. + core.String? space; + GoogleCloudApigeeV1ApiProxy({ this.apiProxyType, this.labels, @@ -17636,6 +18508,7 @@ class GoogleCloudApigeeV1ApiProxy { this.name, this.readOnly, this.revision, + this.space, }); GoogleCloudApigeeV1ApiProxy.fromJson(core.Map json_) @@ -17658,6 +18531,7 @@ class GoogleCloudApigeeV1ApiProxy { revision: (json_['revision'] as core.List?) ?.map((value) => value as core.String) .toList(), + space: json_['space'] as core.String?, ); core.Map toJson() => { @@ -17668,6 +18542,7 @@ class GoogleCloudApigeeV1ApiProxy { if (name != null) 'name': name!, if (readOnly != null) 'readOnly': readOnly!, if (revision != null) 'revision': revision!, + if (space != null) 'space': space!, }; } @@ -18822,11 +19697,13 @@ class GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequest { }; } -/// Message for include_all option. +/// Message for include_all_resources option. typedef GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestIncludeAll = $Empty; -/// An array of resource messages. +/// Message for the array of resources. +/// +/// For Apigee, the proxies are resources. class GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArray { /// The array of resources. /// @@ -20338,6 +21215,7 @@ class GoogleCloudApigeeV1DeleteResponse { }; } +/// Deployment represents a deployment of an API proxy or shared flow. class GoogleCloudApigeeV1Deployment { /// API proxy. core.String? apiProxy; @@ -21596,13 +22474,12 @@ class GoogleCloudApigeeV1Environment { /// URI of the forward proxy to be applied to the runtime instances in this /// environment. /// - /// Must be in the format of {scheme}://{hostname}:{port}. Note that the - /// scheme must be one of "http" or "https", and the port must be supplied. To - /// remove a forward proxy setting, update the field to an empty value. Note: - /// At this time, PUT operations to add forwardProxyUri to an existing - /// environment fail if the environment has nodeConfig set up. To successfully - /// add the forwardProxyUri setting in this case, include the NodeConfig - /// details with the request. + /// Must be in the format of {scheme}://{hostname}:{port}. Note that the only + /// supported scheme is "http". The port must be supplied. To remove a forward + /// proxy setting, update the field to an empty value. Note: At this time, PUT + /// operations to add forwardProxyUri to an existing environment fail if the + /// environment has nodeConfig set up. To successfully add the forwardProxyUri + /// setting in this case, include the NodeConfig details with the request. /// /// Optional. core.String? forwardProxyUri; @@ -23510,6 +24387,38 @@ class GoogleCloudApigeeV1ListApiCategoriesResponse { }; } +/// Response for ListApiDebugSessions. +class GoogleCloudApigeeV1ListApiDebugSessionsResponse { + /// Page token that you can include in a ListApiDebugSessionsRequest to + /// retrieve the next page. + /// + /// If omitted, no subsequent pages exist. + core.String? nextPageToken; + + /// Session info that includes debug session ID, environment ID, api proxy + /// revision ID and the first transaction creation timestamp. + core.List? sessions; + + GoogleCloudApigeeV1ListApiDebugSessionsResponse({ + this.nextPageToken, + this.sessions, + }); + + GoogleCloudApigeeV1ListApiDebugSessionsResponse.fromJson(core.Map json_) + : this( + nextPageToken: json_['nextPageToken'] as core.String?, + sessions: (json_['sessions'] as core.List?) + ?.map((value) => GoogleCloudApigeeV1ApiDebugSession.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (sessions != null) 'sessions': sessions!, + }; +} + class GoogleCloudApigeeV1ListApiDocsResponse { /// The catalog item resources. core.List? data; @@ -24511,6 +25420,37 @@ class GoogleCloudApigeeV1ListSharedFlowsResponse { }; } +/// A response to a ListSpaces request containing the list of organization +/// spaces and a page token for the next page. +class GoogleCloudApigeeV1ListSpacesResponse { + /// A token that can be sent as `page_token` to retrieve the next page. + /// + /// If this field is omitted, there are no subsequent pages. + core.String? nextPageToken; + + /// List of Apigee organization spaces. + core.List? spaces; + + GoogleCloudApigeeV1ListSpacesResponse({ + this.nextPageToken, + this.spaces, + }); + + GoogleCloudApigeeV1ListSpacesResponse.fromJson(core.Map json_) + : this( + nextPageToken: json_['nextPageToken'] as core.String?, + spaces: (json_['spaces'] as core.List?) + ?.map((value) => GoogleCloudApigeeV1Space.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (spaces != null) 'spaces': spaces!, + }; +} + /// Response for ListTraceConfigOverrides. class GoogleCloudApigeeV1ListTraceConfigOverridesResponse { /// Token value that can be passed as `page_token` to retrieve the next page @@ -24677,6 +25617,75 @@ class GoogleCloudApigeeV1MonetizationConfig { }; } +/// Moves API product to a different space. +class GoogleCloudApigeeV1MoveApiProductRequest { + /// Resource ID of the space to move the API product to. + /// + /// If unspecified, the API product will be moved to the organization level. + /// + /// Optional. + core.String? space; + + GoogleCloudApigeeV1MoveApiProductRequest({ + this.space, + }); + + GoogleCloudApigeeV1MoveApiProductRequest.fromJson(core.Map json_) + : this( + space: json_['space'] as core.String?, + ); + + core.Map toJson() => { + if (space != null) 'space': space!, + }; +} + +/// Moves an API Proxy to a different Space. +class GoogleCloudApigeeV1MoveApiProxyRequest { + /// Resource ID of the space to move the proxy to. + /// + /// If unspecified, the proxy will be moved to the organization level. + /// + /// Optional. + core.String? space; + + GoogleCloudApigeeV1MoveApiProxyRequest({ + this.space, + }); + + GoogleCloudApigeeV1MoveApiProxyRequest.fromJson(core.Map json_) + : this( + space: json_['space'] as core.String?, + ); + + core.Map toJson() => { + if (space != null) 'space': space!, + }; +} + +/// Moves a Shared Flow to a different space. +class GoogleCloudApigeeV1MoveSharedFlowRequest { + /// Resource ID of the space to move the shared flow to. + /// + /// If unspecified, the shared flow will be moved to the organization level. + /// + /// Optional. + core.String? space; + + GoogleCloudApigeeV1MoveSharedFlowRequest({ + this.space, + }); + + GoogleCloudApigeeV1MoveSharedFlowRequest.fromJson(core.Map json_) + : this( + space: json_['space'] as core.String?, + ); + + core.Map toJson() => { + if (space != null) 'space': space!, + }; +} + /// Apigee NAT(network address translation) address. /// /// A NAT address is a static external IP address used for Internet egress @@ -28270,7 +29279,7 @@ class GoogleCloudApigeeV1SecurityAssessmentResultScoringResult { /// The security score of the assessment. core.int? score; - /// The severity of the assessment. + /// /// Possible string values are: /// - "SEVERITY_UNSPECIFIED" : Severity is not defined. /// - "LOW" : Severity is low. @@ -29447,11 +30456,21 @@ class GoogleCloudApigeeV1SharedFlow { /// A list of revisions of this shared flow. core.List? revision; + /// The ID of the space associated with this shared flow. + /// + /// Any IAM policies applied to the space will control access to this shared + /// flow. To learn how Spaces can be used to manage resources, read the + /// [Apigee Spaces Overview](https://cloud.google.com/apigee/docs/api-platform/system-administration/spaces/apigee-spaces-overview). + /// + /// Optional. + core.String? space; + GoogleCloudApigeeV1SharedFlow({ this.latestRevisionId, this.metaData, this.name, this.revision, + this.space, }); GoogleCloudApigeeV1SharedFlow.fromJson(core.Map json_) @@ -29465,6 +30484,7 @@ class GoogleCloudApigeeV1SharedFlow { revision: (json_['revision'] as core.List?) ?.map((value) => value as core.String) .toList(), + space: json_['space'] as core.String?, ); core.Map toJson() => { @@ -29472,6 +30492,7 @@ class GoogleCloudApigeeV1SharedFlow { if (metaData != null) 'metaData': metaData!, if (name != null) 'name': name!, if (revision != null) 'revision': revision!, + if (space != null) 'space': space!, }; } @@ -29602,6 +30623,54 @@ class GoogleCloudApigeeV1SharedFlowRevision { }; } +/// Organization space resource. +class GoogleCloudApigeeV1Space { + /// Create timestamp of the space. + /// + /// Output only. + core.String? createTime; + + /// Display name of the space. + /// + /// Optional. + core.String? displayName; + + /// Identifier. + /// + /// Id of the space. This field is used as the resource name, and must follow + /// \[AIP-122\](https://google.aip.dev/122) guidelines. + /// + /// Output only. + core.String? name; + + /// Last modified timestamp of the space. + /// + /// Output only. + core.String? updateTime; + + GoogleCloudApigeeV1Space({ + this.createTime, + this.displayName, + this.name, + this.updateTime, + }); + + GoogleCloudApigeeV1Space.fromJson(core.Map json_) + : this( + createTime: json_['createTime'] as core.String?, + displayName: json_['displayName'] as core.String?, + name: json_['name'] as core.String?, + updateTime: json_['updateTime'] as core.String?, + ); + + core.Map toJson() => { + if (createTime != null) 'createTime': createTime!, + if (displayName != null) 'displayName': displayName!, + if (name != null) 'name': name!, + if (updateTime != null) 'updateTime': updateTime!, + }; +} + /// Encapsulates a `stats` response. class GoogleCloudApigeeV1Stats { /// List of query results on the environment level. diff --git a/generated/googleapis/lib/appengine/v1.dart b/generated/googleapis/lib/appengine/v1.dart index 0504b556f..fb31246cb 100644 --- a/generated/googleapis/lib/appengine/v1.dart +++ b/generated/googleapis/lib/appengine/v1.dart @@ -2543,6 +2543,18 @@ class Application { /// - "SYSTEM_DISABLED" : Application has been disabled by the system. core.String? servingStatus; + /// The SSL policy that will be applied to the application. + /// + /// If set to Modern it will restrict traffic with TLS \< 1.2 and allow only + /// Modern Ciphers suite + /// Possible string values are: + /// - "SSL_POLICY_UNSPECIFIED" : Required by linter. Will work same as DEFAULT + /// - "DEFAULT" : DEFAULT is to allow all TLS versions and cipher suites + /// supported by App Engine + /// - "MODERN" : MODERN is to allow only TLS 1.2 and TLS 1.3 along with Modern + /// cipher suites only + core.String? sslPolicy; + Application({ this.authDomain, this.codeBucket, @@ -2560,6 +2572,7 @@ class Application { this.name, this.serviceAccount, this.servingStatus, + this.sslPolicy, }); Application.fromJson(core.Map json_) @@ -2594,6 +2607,7 @@ class Application { name: json_['name'] as core.String?, serviceAccount: json_['serviceAccount'] as core.String?, servingStatus: json_['servingStatus'] as core.String?, + sslPolicy: json_['sslPolicy'] as core.String?, ); core.Map toJson() => { @@ -2615,6 +2629,7 @@ class Application { if (name != null) 'name': name!, if (serviceAccount != null) 'serviceAccount': serviceAccount!, if (servingStatus != null) 'servingStatus': servingStatus!, + if (sslPolicy != null) 'sslPolicy': sslPolicy!, }; } @@ -4984,7 +4999,7 @@ class SslSettings { /// The mapped SSL certificate will be automatically renewed. /// - "MANUAL" : SSL support for this domain is configured manually by the /// user. Either the domain has no SSL support or a user-obtained SSL - /// certificate has been explictly mapped to this domain. + /// certificate has been explicitly mapped to this domain. core.String? sslManagementType; SslSettings({ @@ -5013,7 +5028,7 @@ class SslSettings { class StandardSchedulerSettings { /// Maximum number of instances to run for this version. /// - /// Set to zero to disable max_instances configuration. + /// Set to 2147483647 to disable max_instances configuration. core.int? maxInstances; /// Minimum number of instances to run for this version. diff --git a/generated/googleapis/lib/apphub/v1.dart b/generated/googleapis/lib/apphub/v1.dart index 85894700b..a3fef2287 100644 --- a/generated/googleapis/lib/apphub/v1.dart +++ b/generated/googleapis/lib/apphub/v1.dart @@ -1582,8 +1582,8 @@ class ProjectsLocationsOperationsResource { /// or other methods to check whether the cancellation succeeded or whether /// the operation completed despite cancellation. On successful cancellation, /// the operation is not deleted; instead, it becomes an operation with an - /// Operation.error value with a google.rpc.Status.code of 1, corresponding to - /// `Code.CANCELLED`. + /// Operation.error value with a google.rpc.Status.code of `1`, corresponding + /// to `Code.CANCELLED`. /// /// [request] - The metadata request object. /// diff --git a/generated/googleapis/lib/areainsights/v1.dart b/generated/googleapis/lib/areainsights/v1.dart index b019a08d1..85818c17e 100644 --- a/generated/googleapis/lib/areainsights/v1.dart +++ b/generated/googleapis/lib/areainsights/v1.dart @@ -113,9 +113,10 @@ class Circle { /// The latitude and longitude of the center of the circle. LatLng? latLng; - /// The Place resource name of the center of the circle. + /// **Format:** Must be in the format `places/PLACE_ID`, where `PLACE_ID` is + /// the unique identifier of a place. /// - /// Only point places are supported. + /// For example: `places/ChIJgUbEo8cfqokR5lP9_Wh_DaM`. core.String? place; /// The radius of the circle in meters @@ -253,7 +254,8 @@ class Filter { /// Restricts results to places whose price level is included on this list. /// - /// If price_level is not set, all price levels are included in the results. + /// If `price_levels` is not set, all price levels are included in the + /// results. /// /// Optional. core.List? priceLevels; diff --git a/generated/googleapis/lib/assuredworkloads/v1.dart b/generated/googleapis/lib/assuredworkloads/v1.dart index 042a552ea..073ed78ba 100644 --- a/generated/googleapis/lib/assuredworkloads/v1.dart +++ b/generated/googleapis/lib/assuredworkloads/v1.dart @@ -2234,7 +2234,7 @@ class GoogleCloudAssuredworkloadsV1WorkloadWorkloadOptions { /// Possible string values are: /// - "KAJ_ENROLLMENT_TYPE_UNSPECIFIED" : KAJ Enrollment type is unspecified /// - "KEY_ACCESS_TRANSPARENCY_OFF" : KAT sets External, Hardware, and - /// Software key feature logging only to TRUE. (no enforcement) + /// Software key feature logging only to TRUE. core.String? kajEnrollmentType; GoogleCloudAssuredworkloadsV1WorkloadWorkloadOptions({ diff --git a/generated/googleapis/lib/authorizedbuyersmarketplace/v1.dart b/generated/googleapis/lib/authorizedbuyersmarketplace/v1.dart index 4d79190dc..f61a13b7a 100644 --- a/generated/googleapis/lib/authorizedbuyersmarketplace/v1.dart +++ b/generated/googleapis/lib/authorizedbuyersmarketplace/v1.dart @@ -1668,8 +1668,8 @@ class BuyersProposalsResource { /// FieldMask. Only fields specified in the UpdateProposalRequest.update_mask /// will be updated; Fields noted as 'Immutable' or 'Output only' yet /// specified in the UpdateProposalRequest.update_mask will be ignored and - /// left unchanged. Updating a private auction proposal is not allowed and - /// will result in an error. + /// left unchanged. Updating a private auction proposal is only allowed for + /// buyer private data, all other fields are immutable. /// /// [request] - The metadata request object. /// @@ -2209,6 +2209,14 @@ class AuctionPackage { /// Output only. core.String? creator; + /// If set, this field contains the DSP specific seat id set by the media + /// planner account that is considered the owner of this deal. + /// + /// The seat ID is in the calling DSP's namespace. + /// + /// Output only. + core.String? dealOwnerSeatId; + /// A description of the auction package. /// /// Output only. @@ -2217,10 +2225,11 @@ class AuctionPackage { /// The display_name assigned to the auction package. core.String? displayName; - /// If set, this field contains the list of DSP specific seat ids set by media - /// planners that are eligible to transact on this deal. + /// If set, this field identifies a seat that the media planner selected as + /// the owner of this auction package. /// - /// The seat ID is in the calling DSP's namespace. + /// This is a seat ID in the DSP's namespace that was provided to the media + /// planner. /// /// Output only. core.List? eligibleSeatIds; @@ -2270,6 +2279,7 @@ class AuctionPackage { AuctionPackage({ this.createTime, this.creator, + this.dealOwnerSeatId, this.description, this.displayName, this.eligibleSeatIds, @@ -2284,6 +2294,7 @@ class AuctionPackage { : this( createTime: json_['createTime'] as core.String?, creator: json_['creator'] as core.String?, + dealOwnerSeatId: json_['dealOwnerSeatId'] as core.String?, description: json_['description'] as core.String?, displayName: json_['displayName'] as core.String?, eligibleSeatIds: (json_['eligibleSeatIds'] as core.List?) @@ -2307,6 +2318,7 @@ class AuctionPackage { core.Map toJson() => { if (createTime != null) 'createTime': createTime!, if (creator != null) 'creator': creator!, + if (dealOwnerSeatId != null) 'dealOwnerSeatId': dealOwnerSeatId!, if (description != null) 'description': description!, if (displayName != null) 'displayName': displayName!, if (eligibleSeatIds != null) 'eligibleSeatIds': eligibleSeatIds!, @@ -2811,6 +2823,18 @@ class Deal { /// Output only. core.String? buyer; + /// The buyer permission type of the deal. + /// + /// Output only. + /// Possible string values are: + /// - "BUYER_PERMISSION_TYPE_UNSPECIFIED" : A placeholder for an undefined + /// buyer permission type. + /// - "NEGOTIATOR_ONLY" : Only the \[Deal.negotiating_buyer\] can transact on + /// the deal. + /// - "BIDDER" : All buyers under the \[Deal.negotiating_buyer\]'s bidder can + /// transact on the deal. + core.String? buyerPermissionType; + /// Refers to a Client. /// /// Format: `buyers/{buyerAccountId}/clients/{clientAccountid}` @@ -2949,6 +2973,7 @@ class Deal { Deal({ this.billedBuyer, this.buyer, + this.buyerPermissionType, this.client, this.createTime, this.creativeRequirements, @@ -2976,6 +3001,7 @@ class Deal { : this( billedBuyer: json_['billedBuyer'] as core.String?, buyer: json_['buyer'] as core.String?, + buyerPermissionType: json_['buyerPermissionType'] as core.String?, client: json_['client'] as core.String?, createTime: json_['createTime'] as core.String?, creativeRequirements: json_.containsKey('creativeRequirements') @@ -3033,6 +3059,8 @@ class Deal { core.Map toJson() => { if (billedBuyer != null) 'billedBuyer': billedBuyer!, if (buyer != null) 'buyer': buyer!, + if (buyerPermissionType != null) + 'buyerPermissionType': buyerPermissionType!, if (client != null) 'client': client!, if (createTime != null) 'createTime': createTime!, if (creativeRequirements != null) @@ -4044,8 +4072,7 @@ class PrivateAuctionTerms { }; } -/// Buyers are allowed to store certain types of private data in a proposal or -/// deal. +/// Buyers are allowed to store certain types of private data in a proposal. class PrivateData { /// A buyer specified reference ID. /// diff --git a/generated/googleapis/lib/backupdr/v1.dart b/generated/googleapis/lib/backupdr/v1.dart index 0cb179906..77e8ec17b 100644 --- a/generated/googleapis/lib/backupdr/v1.dart +++ b/generated/googleapis/lib/backupdr/v1.dart @@ -28,6 +28,7 @@ /// - [ProjectsLocationsBackupVaultsDataSourcesBackupsResource] /// - [ProjectsLocationsManagementServersResource] /// - [ProjectsLocationsOperationsResource] +/// - [ProjectsLocationsResourceBackupConfigsResource] /// - [ProjectsLocationsServiceConfigResource] library; @@ -83,6 +84,8 @@ class ProjectsLocationsResource { ProjectsLocationsManagementServersResource(_requester); ProjectsLocationsOperationsResource get operations => ProjectsLocationsOperationsResource(_requester); + ProjectsLocationsResourceBackupConfigsResource get resourceBackupConfigs => + ProjectsLocationsResourceBackupConfigsResource(_requester); ProjectsLocationsServiceConfigResource get serviceConfig => ProjectsLocationsServiceConfigResource(_requester); @@ -2417,6 +2420,71 @@ class ProjectsLocationsOperationsResource { } } +class ProjectsLocationsResourceBackupConfigsResource { + final commons.ApiRequester _requester; + + ProjectsLocationsResourceBackupConfigsResource(commons.ApiRequester client) + : _requester = client; + + /// Lists ResourceBackupConfigs. + /// + /// Request parameters: + /// + /// [parent] - Required. The project and location for which to retrieve + /// resource backup configs. Format: + /// 'projects/{project_id}/locations/{location}'. In Cloud Backup and DR, + /// locations map to Google Cloud regions, for example **us-central1**. + /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. + /// + /// [filter] - Optional. Filtering results. + /// + /// [orderBy] - Optional. Hint for how to order the results. + /// + /// [pageSize] - Optional. Requested page size. Server may return fewer items + /// than requested. If unspecified, server will pick an appropriate default. + /// + /// [pageToken] - Optional. A token identifying a page of results the server + /// should return. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListResourceBackupConfigsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String parent, { + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v1/' + core.Uri.encodeFull('$parent') + '/resourceBackupConfigs'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListResourceBackupConfigsResponse.fromJson( + response_ as core.Map); + } +} + class ProjectsLocationsServiceConfigResource { final commons.ApiRequester _requester; @@ -3398,6 +3466,156 @@ class BackupApplianceLockInfo { }; } +/// BackupConfigDetails has information about how the resource is configured for +/// backups and about the most recent backup taken for this configuration. +class BackupConfigDetails { + /// The + /// [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) + /// of the resource that is applicable for the backup configuration. + /// + /// Example: + /// "//compute.googleapis.com/projects/{project}/zones/{zone}/instances/{instance}" + /// + /// Output only. + core.String? applicableResource; + + /// The full resource name of the backup config source resource. + /// + /// For example, + /// "//backupdr.googleapis.com/v1/projects/{project}/locations/{region}/backupPlans/{backupplanId}" + /// or + /// "//compute.googleapis.com/projects/{project}/locations/{region}/resourcePolicies/{resourcePolicyId}". + /// + /// Output only. + core.String? backupConfigSource; + + /// The display name of the backup config source resource. + /// + /// Output only. + core.String? backupConfigSourceDisplayName; + + /// Backup and DR's Backup Plan specific data. + BackupDrPlanConfig? backupDrPlanConfig; + + /// Backup and DR's Template specific data. + BackupDrTemplateConfig? backupDrTemplateConfig; + + /// The locations where the backups are to be stored. + core.List? backupLocations; + + /// The + /// [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) + /// of the backup vault that will store the backups generated through this + /// backup configuration. + /// + /// Example: + /// "//backupdr.googleapis.com/v1/projects/{project}/locations/{region}/backupVaults/{backupvaultId}" + /// + /// Output only. + core.String? backupVault; + + /// Timestamp of the latest successful backup created via this backup + /// configuration. + /// + /// Output only. + core.String? latestSuccessfulBackupTime; + + /// Point in time recovery settings of the backup configuration resource. + /// + /// Output only. + PitrSettings? pitrSettings; + + /// The state of the backup config resource. + /// + /// Output only. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : Backup config state not set. + /// - "ACTIVE" : The config is in an active state protecting the resource + /// - "INACTIVE" : The config is currently not protecting the resource. Either + /// because it is disabled or the owning project has been deleted without + /// cleanup of the actual resource. + /// - "ERROR" : The config still exists but because of some error state it is + /// not protecting the resource. Like the source project is deleted. For eg. + /// PlanAssociation, BackupPlan is deleted. + core.String? state; + + /// The type of the backup config resource. + /// + /// Output only. + /// Possible string values are: + /// - "TYPE_UNSPECIFIED" : Backup config type is unspecified. + /// - "CLOUD_SQL_INSTANCE_BACKUP_CONFIG" : Backup config is Cloud SQL + /// instance's automated backup config. + /// - "COMPUTE_ENGINE_RESOURCE_POLICY" : Backup config is Compute Engine + /// Resource Policy. + /// - "BACKUPDR_BACKUP_PLAN" : Backup config is Backup and DR's Backup Plan. + /// - "BACKUPDR_TEMPLATE" : Backup config is Backup and DR's Template. + core.String? type; + + BackupConfigDetails({ + this.applicableResource, + this.backupConfigSource, + this.backupConfigSourceDisplayName, + this.backupDrPlanConfig, + this.backupDrTemplateConfig, + this.backupLocations, + this.backupVault, + this.latestSuccessfulBackupTime, + this.pitrSettings, + this.state, + this.type, + }); + + BackupConfigDetails.fromJson(core.Map json_) + : this( + applicableResource: json_['applicableResource'] as core.String?, + backupConfigSource: json_['backupConfigSource'] as core.String?, + backupConfigSourceDisplayName: + json_['backupConfigSourceDisplayName'] as core.String?, + backupDrPlanConfig: json_.containsKey('backupDrPlanConfig') + ? BackupDrPlanConfig.fromJson(json_['backupDrPlanConfig'] + as core.Map) + : null, + backupDrTemplateConfig: json_.containsKey('backupDrTemplateConfig') + ? BackupDrTemplateConfig.fromJson(json_['backupDrTemplateConfig'] + as core.Map) + : null, + backupLocations: (json_['backupLocations'] as core.List?) + ?.map((value) => BackupLocation.fromJson( + value as core.Map)) + .toList(), + backupVault: json_['backupVault'] as core.String?, + latestSuccessfulBackupTime: + json_['latestSuccessfulBackupTime'] as core.String?, + pitrSettings: json_.containsKey('pitrSettings') + ? PitrSettings.fromJson( + json_['pitrSettings'] as core.Map) + : null, + state: json_['state'] as core.String?, + type: json_['type'] as core.String?, + ); + + core.Map toJson() => { + if (applicableResource != null) + 'applicableResource': applicableResource!, + if (backupConfigSource != null) + 'backupConfigSource': backupConfigSource!, + if (backupConfigSourceDisplayName != null) + 'backupConfigSourceDisplayName': backupConfigSourceDisplayName!, + if (backupDrPlanConfig != null) + 'backupDrPlanConfig': backupDrPlanConfig!, + if (backupDrTemplateConfig != null) + 'backupDrTemplateConfig': backupDrTemplateConfig!, + if (backupLocations != null) 'backupLocations': backupLocations!, + if (backupVault != null) 'backupVault': backupVault!, + if (latestSuccessfulBackupTime != null) + 'latestSuccessfulBackupTime': latestSuccessfulBackupTime!, + if (pitrSettings != null) 'pitrSettings': pitrSettings!, + if (state != null) 'state': state!, + if (type != null) 'type': type!, + }; +} + /// BackupConfigInfo has information about how the resource is configured for /// Backup and about the most recent backup to this vault. class BackupConfigInfo { @@ -3470,6 +3688,132 @@ class BackupConfigInfo { }; } +/// BackupDrPlanConfig has additional information about Backup and DR's Plan +/// backup configuration. +class BackupDrPlanConfig { + /// Backup rules of the backup plan resource. + core.List? backupDrPlanRules; + + BackupDrPlanConfig({ + this.backupDrPlanRules, + }); + + BackupDrPlanConfig.fromJson(core.Map json_) + : this( + backupDrPlanRules: (json_['backupDrPlanRules'] as core.List?) + ?.map((value) => BackupDrPlanRule.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (backupDrPlanRules != null) 'backupDrPlanRules': backupDrPlanRules!, + }; +} + +/// BackupDrPlanRule has rule specific information of the backup plan resource. +class BackupDrPlanRule { + /// Timestamp of the latest successful backup created via this backup rule. + /// + /// Output only. + core.String? lastSuccessfulBackupTime; + + /// Unique Id of the backup rule. + /// + /// Output only. + core.String? ruleId; + + BackupDrPlanRule({ + this.lastSuccessfulBackupTime, + this.ruleId, + }); + + BackupDrPlanRule.fromJson(core.Map json_) + : this( + lastSuccessfulBackupTime: + json_['lastSuccessfulBackupTime'] as core.String?, + ruleId: json_['ruleId'] as core.String?, + ); + + core.Map toJson() => { + if (lastSuccessfulBackupTime != null) + 'lastSuccessfulBackupTime': lastSuccessfulBackupTime!, + if (ruleId != null) 'ruleId': ruleId!, + }; +} + +/// BackupDrTemplateConfig has additional information about Backup and DR's +/// Template backup configuration. +class BackupDrTemplateConfig { + /// The URI of the BackupDr template resource for the first party identity + /// users. + /// + /// Output only. + core.String? firstPartyManagementUri; + + /// The URI of the BackupDr template resource for the third party identity + /// users. + /// + /// Output only. + core.String? thirdPartyManagementUri; + + BackupDrTemplateConfig({ + this.firstPartyManagementUri, + this.thirdPartyManagementUri, + }); + + BackupDrTemplateConfig.fromJson(core.Map json_) + : this( + firstPartyManagementUri: + json_['firstPartyManagementUri'] as core.String?, + thirdPartyManagementUri: + json_['thirdPartyManagementUri'] as core.String?, + ); + + core.Map toJson() => { + if (firstPartyManagementUri != null) + 'firstPartyManagementUri': firstPartyManagementUri!, + if (thirdPartyManagementUri != null) + 'thirdPartyManagementUri': thirdPartyManagementUri!, + }; +} + +/// BackupLocation represents a cloud location where a backup can be stored. +class BackupLocation { + /// The id of the cloud location. + /// + /// Example: "us-central1" + /// + /// Output only. + core.String? locationId; + + /// The type of the location. + /// + /// Output only. + /// Possible string values are: + /// - "TYPE_UNSPECIFIED" : Location type is unspecified. + /// - "ZONAL" : Location type is zonal. + /// - "REGIONAL" : Location type is regional. + /// - "MULTI_REGIONAL" : Location type is multi regional. + core.String? type; + + BackupLocation({ + this.locationId, + this.type, + }); + + BackupLocation.fromJson(core.Map json_) + : this( + locationId: json_['locationId'] as core.String?, + type: json_['type'] as core.String?, + ); + + core.Map toJson() => { + if (locationId != null) 'locationId': locationId!, + if (type != null) 'type': type!, + }; +} + /// BackupLock represents a single lock on a Backup resource. /// /// An unexpired lock on a Backup prevents the Backup from being deleted. @@ -3585,10 +3929,7 @@ class BackupPlan { /// Output only. core.String? name; - /// The resource type to which the `BackupPlan` will be applied. /// - /// Examples include, "compute.googleapis.com/Instance", - /// "sqladmin.googleapis.com/Instance", or "alloydb.googleapis.com/Cluster". /// /// Required. core.String? resourceType; @@ -3701,7 +4042,7 @@ class BackupPlanAssociation { /// Required. Immutable. core.String? resource; - /// Resource type of workload on which backupplan is applied + /// /// /// Required. Immutable. core.String? resourceType; @@ -5928,6 +6269,35 @@ class ListOperationsResponse { }; } +/// Response for ListResourceBackupConfigs. +class ListResourceBackupConfigsResponse { + /// A token identifying a page of results the server should return. + core.String? nextPageToken; + + /// The list of ResourceBackupConfigs for the specified scope. + core.List? resourceBackupConfigs; + + ListResourceBackupConfigsResponse({ + this.nextPageToken, + this.resourceBackupConfigs, + }); + + ListResourceBackupConfigsResponse.fromJson(core.Map json_) + : this( + nextPageToken: json_['nextPageToken'] as core.String?, + resourceBackupConfigs: (json_['resourceBackupConfigs'] as core.List?) + ?.map((value) => ResourceBackupConfig.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (resourceBackupConfigs != null) + 'resourceBackupConfigs': resourceBackupConfigs!, + }; +} + /// A resource that represents a Google Cloud location. typedef Location = $Location00; @@ -6554,6 +6924,27 @@ class Operation { }; } +/// Point in time recovery settings of the backup configuration resource. +class PitrSettings { + /// Number of days to retain the backup. + /// + /// Output only. + core.int? retentionDays; + + PitrSettings({ + this.retentionDays, + }); + + PitrSettings.fromJson(core.Map json_) + : this( + retentionDays: json_['retentionDays'] as core.int?, + ); + + core.Map toJson() => { + if (retentionDays != null) 'retentionDays': retentionDays!, + }; +} + /// An Identity and Access Management (IAM) policy, which specifies access /// controls for Google Cloud resources. /// @@ -6672,6 +7063,123 @@ class Policy { /// Message for deleting a DataSource. typedef RemoveDataSourceRequest = $Request00; +/// ResourceBackupConfig represents a resource along with its backup +/// configurations. +class ResourceBackupConfig { + /// Backup configurations applying to the target resource, including those + /// targeting its related/child resources. + /// + /// For example, backup configuration applicable to Compute Engine disks will + /// be populated in this field for a Compute Engine VM which has the disk + /// associated. + core.List? backupConfigsDetails; + + /// Whether the target resource is configured for backup. + /// + /// This is true if the backup_configs_details is not empty. + /// + /// Output only. + core.bool? backupConfigured; + + /// Identifier. + /// + /// The resource name of the ResourceBackupConfig. Format: + /// projects/{project}/locations/{location}/resourceBackupConfigs/{uid} + core.String? name; + + /// The + /// [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) + /// of the cloud resource that this configuration applies to. + /// + /// Supported resource types are ResourceBackupConfig.ResourceType. + /// + /// Output only. + core.String? targetResource; + + /// The human friendly name of the target resource. + /// + /// Output only. + core.String? targetResourceDisplayName; + + /// Labels associated with the target resource. + core.Map? targetResourceLabels; + + /// The type of the target resource. + /// + /// Output only. + /// Possible string values are: + /// - "RESOURCE_TYPE_UNSPECIFIED" : Resource type not set. + /// - "CLOUD_SQL_INSTANCE" : Cloud SQL instance. + /// - "COMPUTE_ENGINE_VM" : Compute Engine VM. + core.String? targetResourceType; + + /// The unique identifier of the resource backup config. + /// + /// Output only. + core.String? uid; + + /// Whether the target resource is protected by a backup vault. + /// + /// This is true if the backup_configs_details is not empty and any of the + /// ResourceBackupConfig.backup_configs_details has a backup configuration + /// with BackupConfigDetails.backup_vault set. set. + /// + /// Output only. + core.bool? vaulted; + + ResourceBackupConfig({ + this.backupConfigsDetails, + this.backupConfigured, + this.name, + this.targetResource, + this.targetResourceDisplayName, + this.targetResourceLabels, + this.targetResourceType, + this.uid, + this.vaulted, + }); + + ResourceBackupConfig.fromJson(core.Map json_) + : this( + backupConfigsDetails: (json_['backupConfigsDetails'] as core.List?) + ?.map((value) => BackupConfigDetails.fromJson( + value as core.Map)) + .toList(), + backupConfigured: json_['backupConfigured'] as core.bool?, + name: json_['name'] as core.String?, + targetResource: json_['targetResource'] as core.String?, + targetResourceDisplayName: + json_['targetResourceDisplayName'] as core.String?, + targetResourceLabels: (json_['targetResourceLabels'] + as core.Map?) + ?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + targetResourceType: json_['targetResourceType'] as core.String?, + uid: json_['uid'] as core.String?, + vaulted: json_['vaulted'] as core.bool?, + ); + + core.Map toJson() => { + if (backupConfigsDetails != null) + 'backupConfigsDetails': backupConfigsDetails!, + if (backupConfigured != null) 'backupConfigured': backupConfigured!, + if (name != null) 'name': name!, + if (targetResource != null) 'targetResource': targetResource!, + if (targetResourceDisplayName != null) + 'targetResourceDisplayName': targetResourceDisplayName!, + if (targetResourceLabels != null) + 'targetResourceLabels': targetResourceLabels!, + if (targetResourceType != null) + 'targetResourceType': targetResourceType!, + if (uid != null) 'uid': uid!, + if (vaulted != null) 'vaulted': vaulted!, + }; +} + /// Request message for restoring from a Backup. class RestoreBackupRequest { /// Compute Engine instance properties to be overridden during restore. @@ -7123,7 +7631,7 @@ class StandardSchedule { /// till end time defined. This is required for `recurrence_type`, `HOURLY` /// and is not applicable otherwise. A validation error will occur if a value /// is supplied and `recurrence_type` is not `HOURLY`. Value of hourly - /// frequency should be between 6 and 23. Reason for limit : We found that + /// frequency should be between 4 and 23. Reason for limit : We found that /// there is bandwidth limitation of 3GB/S for GMI while taking a backup and /// 5GB/S while doing a restore. Given the amount of parallel backups and /// restore we are targeting, this will potentially take the backup time to diff --git a/generated/googleapis/lib/batch/v1.dart b/generated/googleapis/lib/batch/v1.dart index 7605894e9..b9d975e61 100644 --- a/generated/googleapis/lib/batch/v1.dart +++ b/generated/googleapis/lib/batch/v1.dart @@ -178,6 +178,47 @@ class ProjectsLocationsJobsResource { ProjectsLocationsJobsResource(commons.ApiRequester client) : _requester = client; + /// Cancel a Job. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [name] - Required. Job name. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/jobs/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future cancel( + CancelJobRequest request, + core.String name, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':cancel'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } + /// Create a Job. /// /// [request] - The metadata request object. @@ -1622,6 +1663,9 @@ class Barrier { }; } +/// CancelJob Request. +typedef CancelJobRequest = $Request00; + /// The request message for Operations.CancelOperation. typedef CancelOperationRequest = $Empty; @@ -2423,6 +2467,10 @@ class JobStatus { /// - "DELETION_IN_PROGRESS" : The Job will be deleted, but has not been /// deleted yet. Typically this is because resources used by the Job are still /// being cleaned up. + /// - "CANCELLATION_IN_PROGRESS" : The Job cancellation is in progress, this + /// is because the resources used by the Job are still being cleaned up. + /// - "CANCELLED" : The Job has been cancelled, the task executions were + /// stopped and the resources were cleaned up. core.String? state; /// Job status events @@ -2750,6 +2798,10 @@ class Message { /// - "DELETION_IN_PROGRESS" : The Job will be deleted, but has not been /// deleted yet. Typically this is because resources used by the Job are still /// being cleaned up. + /// - "CANCELLATION_IN_PROGRESS" : The Job cancellation is in progress, this + /// is because the resources used by the Job are still being cleaned up. + /// - "CANCELLED" : The Job has been cancelled, the task executions were + /// stopped and the resources were cleaned up. core.String? newJobState; /// The new task state. diff --git a/generated/googleapis/lib/beyondcorp/v1.dart b/generated/googleapis/lib/beyondcorp/v1.dart index 3ff250ba6..0619a8e63 100644 --- a/generated/googleapis/lib/beyondcorp/v1.dart +++ b/generated/googleapis/lib/beyondcorp/v1.dart @@ -2351,6 +2351,9 @@ class ProjectsLocationsAppGatewaysResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future shouldThrottle( core.String name, { core.int? port, @@ -2863,7 +2866,7 @@ class ProjectsLocationsGlobalSecurityGatewaysApplicationsResource { /// request ID must be a valid UUID with the exception that zero UUID is not /// supported (00000000-0000-0000-0000-000000000000). /// - /// [updateMask] - Required. Mutable fields include: display_name. + /// [updateMask] - Optional. Mutable fields include: display_name. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -3446,7 +3449,7 @@ class ProjectsLocationsSecurityGatewaysResource { /// request ID must be a valid UUID with the exception that zero UUID is not /// supported (00000000-0000-0000-0000-000000000000). /// - /// [updateMask] - Required. Mutable fields include: display_name, hubs. + /// [updateMask] - Optional. Mutable fields include: display_name, hubs. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. diff --git a/generated/googleapis/lib/bigquery/v2.dart b/generated/googleapis/lib/bigquery/v2.dart index 643405878..333cab69e 100644 --- a/generated/googleapis/lib/bigquery/v2.dart +++ b/generated/googleapis/lib/bigquery/v2.dart @@ -300,7 +300,7 @@ class DatasetsResource { /// [all] - Whether to list all datasets, including hidden ones /// /// [filter] - An expression for filtering the results of the request by - /// label. The syntax is `labels.[:]`. Multiple filters can be ANDed together + /// label. The syntax is `labels.[:]`. Multiple filters can be AND-ed together /// by connecting with a space. Example: `labels.department:receiving /// labels.active`. See /// [Filtering datasets using labels](https://cloud.google.com/bigquery/docs/filtering-labels#filtering_datasets_using_labels) @@ -561,12 +561,11 @@ class JobsResource { /// [jobId] - Required. Job ID of the job to cancel /// Value must have pattern `^\[^/\]+$`. /// - /// [location] - The geographic location of the job. You must specify the - /// location to run the job for the following scenarios: * If the location to - /// run a job is not in the `us` or the `eu` multi-regional location * If the - /// job's location is in a single region (for example, `us-central1`) For more - /// information, see - /// https://cloud.google.com/bigquery/docs/locations#specifying_your_location. + /// [location] - The geographic location of the job. You must + /// [specify the location](https://cloud.google.com/bigquery/docs/locations#specify_locations) + /// to run the job for the following scenarios: * If the location to run a job + /// is not in the `us` or the `eu` multi-regional location * If the job's + /// location is in a single region (for example, `us-central1`) /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -620,8 +619,9 @@ class JobsResource { /// jobs is not allowed. /// Value must have pattern `^\[^/\]+$`. /// - /// [location] - The geographic location of the job. Required. See details at: - /// https://cloud.google.com/bigquery/docs/locations#specifying_your_location. + /// [location] - The geographic location of the job. Required. For more + /// information, see how to + /// [specify locations](https://cloud.google.com/bigquery/docs/locations#specify_locations). /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -674,8 +674,8 @@ class JobsResource { /// location to run the job for the following scenarios: * If the location to /// run a job is not in the `us` or the `eu` multi-regional location * If the /// job's location is in a single region (for example, `us-central1`) For more - /// information, see - /// https://cloud.google.com/bigquery/docs/locations#specifying_your_location. + /// information, see how to + /// [specify locations](https://cloud.google.com/bigquery/docs/locations#specify_locations). /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -728,8 +728,8 @@ class JobsResource { /// location to run the job for the following scenarios: * If the location to /// run a job is not in the `us` or the `eu` multi-regional location * If the /// job's location is in a single region (for example, `us-central1`) For more - /// information, see - /// https://cloud.google.com/bigquery/docs/locations#specifying_your_location. + /// information, see how to + /// [specify locations](https://cloud.google.com/bigquery/docs/locations#specify_locations). /// /// [maxResults] - Maximum number of results to read. /// @@ -1677,6 +1677,179 @@ class RowAccessPoliciesResource { RowAccessPoliciesResource(commons.ApiRequester client) : _requester = client; + /// Deletes provided row access policies. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [projectId] - Required. Project ID of the table to delete the row access + /// policies. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [datasetId] - Required. Dataset ID of the table to delete the row access + /// policies. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [tableId] - Required. Table ID of the table to delete the row access + /// policies. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future batchDelete( + BatchDeleteRowAccessPoliciesRequest request, + core.String projectId, + core.String datasetId, + core.String tableId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'projects/' + + core.Uri.encodeFull('$projectId') + + '/datasets/' + + core.Uri.encodeFull('$datasetId') + + '/tables/' + + core.Uri.encodeFull('$tableId') + + '/rowAccessPolicies:batchDelete'; + + await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + downloadOptions: null, + ); + } + + /// Deletes a row access policy. + /// + /// Request parameters: + /// + /// [projectId] - Required. Project ID of the table to delete the row access + /// policy. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [datasetId] - Required. Dataset ID of the table to delete the row access + /// policy. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [tableId] - Required. Table ID of the table to delete the row access + /// policy. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [policyId] - Required. Policy ID of the row access policy. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [force] - If set to true, it deletes the row access policy even if it's + /// the last row access policy on the table and the deletion will widen the + /// access rather narrowing it. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String projectId, + core.String datasetId, + core.String tableId, + core.String policyId, { + core.bool? force, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (force != null) 'force': ['${force}'], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'projects/' + + core.Uri.encodeFull('$projectId') + + '/datasets/' + + core.Uri.encodeFull('$datasetId') + + '/tables/' + + core.Uri.encodeFull('$tableId') + + '/rowAccessPolicies/' + + core.Uri.encodeFull('$policyId'); + + await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + downloadOptions: null, + ); + } + + /// Gets the specified row access policy by policy ID. + /// + /// Request parameters: + /// + /// [projectId] - Required. Project ID of the table to get the row access + /// policy. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [datasetId] - Required. Dataset ID of the table to get the row access + /// policy. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [tableId] - Required. Table ID of the table to get the row access policy. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [policyId] - Required. Policy ID of the row access policy. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [RowAccessPolicy]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String projectId, + core.String datasetId, + core.String tableId, + core.String policyId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'projects/' + + core.Uri.encodeFull('$projectId') + + '/datasets/' + + core.Uri.encodeFull('$datasetId') + + '/tables/' + + core.Uri.encodeFull('$tableId') + + '/rowAccessPolicies/' + + core.Uri.encodeFull('$policyId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return RowAccessPolicy.fromJson( + response_ as core.Map); + } + /// Gets the access control policy for a resource. /// /// Returns an empty policy if the resource exists and does not have a policy @@ -1724,6 +1897,63 @@ class RowAccessPoliciesResource { return Policy.fromJson(response_ as core.Map); } + /// Creates a row access policy. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [projectId] - Required. Project ID of the table to get the row access + /// policy. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [datasetId] - Required. Dataset ID of the table to get the row access + /// policy. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [tableId] - Required. Table ID of the table to get the row access policy. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [RowAccessPolicy]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future insert( + RowAccessPolicy request, + core.String projectId, + core.String datasetId, + core.String tableId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'projects/' + + core.Uri.encodeFull('$projectId') + + '/datasets/' + + core.Uri.encodeFull('$datasetId') + + '/tables/' + + core.Uri.encodeFull('$tableId') + + '/rowAccessPolicies'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return RowAccessPolicy.fromJson( + response_ as core.Map); + } + /// Lists all row access policies on the specified table. /// /// Request parameters: @@ -1833,6 +2063,68 @@ class RowAccessPoliciesResource { return TestIamPermissionsResponse.fromJson( response_ as core.Map); } + + /// Updates a row access policy. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [projectId] - Required. Project ID of the table to get the row access + /// policy. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [datasetId] - Required. Dataset ID of the table to get the row access + /// policy. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [tableId] - Required. Table ID of the table to get the row access policy. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [policyId] - Required. Policy ID of the row access policy. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [RowAccessPolicy]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future update( + RowAccessPolicy request, + core.String projectId, + core.String datasetId, + core.String tableId, + core.String policyId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'projects/' + + core.Uri.encodeFull('$projectId') + + '/datasets/' + + core.Uri.encodeFull('$datasetId') + + '/tables/' + + core.Uri.encodeFull('$tableId') + + '/rowAccessPolicies/' + + core.Uri.encodeFull('$policyId'); + + final response_ = await _requester.request( + url_, + 'PUT', + body: body_, + queryParams: queryParams_, + ); + return RowAccessPolicy.fromJson( + response_ as core.Map); + } } class TabledataResource { @@ -2525,7 +2817,7 @@ class AggregateClassificationMetrics { /// Threshold at which the metrics are computed. /// /// For binary classification models this is the positive class threshold. For - /// multi-class classfication models this is the confidence threshold. + /// multi-class classification models this is the confidence threshold. core.double? threshold; AggregateClassificationMetrics({ @@ -3172,6 +3464,37 @@ class AvroOptions { }; } +/// Request message for the BatchDeleteRowAccessPoliciesRequest method. +class BatchDeleteRowAccessPoliciesRequest { + /// If set to true, it deletes the row access policy even if it's the last row + /// access policy on the table and the deletion will widen the access rather + /// narrowing it. + core.bool? force; + + /// Policy IDs of the row access policies. + /// + /// Required. + core.List? policyIds; + + BatchDeleteRowAccessPoliciesRequest({ + this.force, + this.policyIds, + }); + + BatchDeleteRowAccessPoliciesRequest.fromJson(core.Map json_) + : this( + force: json_['force'] as core.bool?, + policyIds: (json_['policyIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (force != null) 'force': force!, + if (policyIds != null) 'policyIds': policyIds!, + }; +} + /// Reason why BI Engine didn't accelerate the query (or sub-query). class BiEngineReason { /// High-level BI Engine reason for partial or disabled acceleration @@ -4124,9 +4447,8 @@ class Clustering { /// /// Only top-level, non-repeated, simple-type fields are supported. The /// ordering of the clustering fields should be prioritized from most to least - /// important for filtering purposes. Additional information on limitations - /// can be found here: - /// https://cloud.google.com/bigquery/docs/creating-clustered-tables#limitations + /// important for filtering purposes. For additional information, see + /// [Introduction to clustered tables](https://cloud.google.com/bigquery/docs/clustered-tables#limitations). core.List? fields; Clustering({ @@ -6144,7 +6466,7 @@ typedef Expr = $Expr; /// Options defining open source compatible datasets living in the BigQuery /// catalog. /// -/// Contains metadata of open source database, schema or namespace represented +/// Contains metadata of open source database, schema, or namespace represented /// by the current dataset. class ExternalCatalogDatasetOptions { /// The storage location URI for all tables in the dataset. @@ -6158,7 +6480,7 @@ class ExternalCatalogDatasetOptions { /// A map of key value pairs defining the parameters and properties of the /// open source schema. /// - /// Maximum size of 2Mib. + /// Maximum size of 2MiB. /// /// Optional. core.Map? parameters; @@ -6191,23 +6513,23 @@ class ExternalCatalogDatasetOptions { /// Metadata about open source compatible table. /// -/// The fields contained in these options correspond to hive metastore's table -/// level properties. +/// The fields contained in these options correspond to Hive metastore's +/// table-level properties. class ExternalCatalogTableOptions { - /// The connection specifying the credentials to be used to read external - /// storage, such as Azure Blob, Cloud Storage, or S3. + /// A connection ID that specifies the credentials to be used to read external + /// storage, such as Azure Blob, Cloud Storage, or Amazon S3. /// - /// The connection is needed to read the open source table from BigQuery - /// Engine. The connection_id can have the form `..` or + /// This connection is needed to read the open source table from BigQuery. The + /// connection_id format must be either `..` or /// `projects//locations//connections/`. /// /// Optional. core.String? connectionId; - /// A map of key value pairs defining the parameters and properties of the + /// A map of the key-value pairs defining the parameters and properties of the /// open source table. /// - /// Corresponds with hive meta store table parameters. Maximum size of 4Mib. + /// Corresponds with Hive metastore table parameters. Maximum size of 4MiB. /// /// Optional. core.Map? parameters; @@ -6289,6 +6611,20 @@ class ExternalDataConfiguration { /// Optional. CsvOptions? csvOptions; + /// Format used to parse DATE values. + /// + /// Supports C-style and SQL-style values. + /// + /// Optional. + core.String? dateFormat; + + /// Format used to parse DATETIME values. + /// + /// Supports C-style and SQL-style values. + /// + /// Optional. + core.String? datetimeFormat; + /// Defines the list of possible SQL data types to which the source decimal /// values are converted. /// @@ -6303,7 +6639,7 @@ class ExternalDataConfiguration { /// "BIGNUMERIC"\]. If (precision,scale) is: * (38,9) -\> NUMERIC; * (39,9) /// -\> BIGNUMERIC (NUMERIC cannot hold 30 integer digits); * (38,10) -\> /// BIGNUMERIC (NUMERIC cannot hold 10 fractional digits); * (76,38) -\> - /// BIGNUMERIC; * (77,38) -\> BIGNUMERIC (error if value exeeds supported + /// BIGNUMERIC; * (77,38) -\> BIGNUMERIC (error if value exceeds supported /// range). This field cannot contain duplicate types. The order of the types /// in this field is ignored. For example, \["BIGNUMERIC", "NUMERIC"\] is the /// same as \["NUMERIC", "BIGNUMERIC"\] and NUMERIC always takes precedence @@ -6366,7 +6702,7 @@ class ExternalDataConfiguration { /// Optional. /// Possible string values are: /// - "JSON_EXTENSION_UNSPECIFIED" : The default if provided value is not one - /// included in the enum, or the value is not specified. The source formate is + /// included in the enum, or the value is not specified. The source format is /// parsed without any modification. /// - "GEOJSON" : Use GeoJSON variant of JSON. See /// https://tools.ietf.org/html/rfc7946. @@ -6463,6 +6799,28 @@ class ExternalDataConfiguration { /// Required. core.List? sourceUris; + /// Format used to parse TIME values. + /// + /// Supports C-style and SQL-style values. + /// + /// Optional. + core.String? timeFormat; + + /// Time zone used when parsing timestamp values that do not have specific + /// time zone information (e.g. 2024-04-20 12:34:56). + /// + /// The expected format is a IANA timezone string (e.g. America/Los_Angeles). + /// + /// Optional. + core.String? timeZone; + + /// Format used to parse TIMESTAMP values. + /// + /// Supports C-style and SQL-style values. + /// + /// Optional. + core.String? timestampFormat; + ExternalDataConfiguration({ this.autodetect, this.avroOptions, @@ -6470,6 +6828,8 @@ class ExternalDataConfiguration { this.compression, this.connectionId, this.csvOptions, + this.dateFormat, + this.datetimeFormat, this.decimalTargetTypes, this.fileSetSpecType, this.googleSheetsOptions, @@ -6485,6 +6845,9 @@ class ExternalDataConfiguration { this.schema, this.sourceFormat, this.sourceUris, + this.timeFormat, + this.timeZone, + this.timestampFormat, }); ExternalDataConfiguration.fromJson(core.Map json_) @@ -6504,6 +6867,8 @@ class ExternalDataConfiguration { ? CsvOptions.fromJson( json_['csvOptions'] as core.Map) : null, + dateFormat: json_['dateFormat'] as core.String?, + datetimeFormat: json_['datetimeFormat'] as core.String?, decimalTargetTypes: (json_['decimalTargetTypes'] as core.List?) ?.map((value) => value as core.String) .toList(), @@ -6540,6 +6905,9 @@ class ExternalDataConfiguration { sourceUris: (json_['sourceUris'] as core.List?) ?.map((value) => value as core.String) .toList(), + timeFormat: json_['timeFormat'] as core.String?, + timeZone: json_['timeZone'] as core.String?, + timestampFormat: json_['timestampFormat'] as core.String?, ); core.Map toJson() => { @@ -6549,6 +6917,8 @@ class ExternalDataConfiguration { if (compression != null) 'compression': compression!, if (connectionId != null) 'connectionId': connectionId!, if (csvOptions != null) 'csvOptions': csvOptions!, + if (dateFormat != null) 'dateFormat': dateFormat!, + if (datetimeFormat != null) 'datetimeFormat': datetimeFormat!, if (decimalTargetTypes != null) 'decimalTargetTypes': decimalTargetTypes!, if (fileSetSpecType != null) 'fileSetSpecType': fileSetSpecType!, @@ -6569,6 +6939,9 @@ class ExternalDataConfiguration { if (schema != null) 'schema': schema!, if (sourceFormat != null) 'sourceFormat': sourceFormat!, if (sourceUris != null) 'sourceUris': sourceUris!, + if (timeFormat != null) 'timeFormat': timeFormat!, + if (timeZone != null) 'timeZone': timeZone!, + if (timestampFormat != null) 'timestampFormat': timestampFormat!, }; } @@ -8232,6 +8605,16 @@ class JobConfigurationLoad { /// Optional. core.bool? createSession; + /// Date format used for parsing DATE values. + /// + /// Optional. + core.String? dateFormat; + + /// Date format used for parsing DATETIME values. + /// + /// Optional. + core.String? datetimeFormat; + /// Defines the list of possible SQL data types to which the source decimal /// values are converted. /// @@ -8246,7 +8629,7 @@ class JobConfigurationLoad { /// "BIGNUMERIC"\]. If (precision,scale) is: * (38,9) -\> NUMERIC; * (39,9) /// -\> BIGNUMERIC (NUMERIC cannot hold 30 integer digits); * (38,10) -\> /// BIGNUMERIC (NUMERIC cannot hold 10 fractional digits); * (76,38) -\> - /// BIGNUMERIC; * (77,38) -\> BIGNUMERIC (error if value exeeds supported + /// BIGNUMERIC; * (77,38) -\> BIGNUMERIC (error if value exceeds supported /// range). This field cannot contain duplicate types. The order of the types /// in this field is ignored. For example, \["BIGNUMERIC", "NUMERIC"\] is the /// same as \["NUMERIC", "BIGNUMERIC"\] and NUMERIC always takes precedence @@ -8349,7 +8732,7 @@ class JobConfigurationLoad { /// Optional. /// Possible string values are: /// - "JSON_EXTENSION_UNSPECIFIED" : The default if provided value is not one - /// included in the enum, or the value is not specified. The source formate is + /// included in the enum, or the value is not specified. The source format is /// parsed without any modification. /// - "GEOJSON" : Use GeoJSON variant of JSON. See /// https://tools.ietf.org/html/rfc7946. @@ -8501,11 +8884,27 @@ class JobConfigurationLoad { /// Required. core.List? sourceUris; + /// Date format used for parsing TIME values. + /// + /// Optional. + core.String? timeFormat; + /// Time-based partitioning specification for the destination table. /// /// Only one of timePartitioning and rangePartitioning should be specified. TimePartitioning? timePartitioning; + /// \[Experimental\] Default time zone that will apply when parsing timestamp + /// values that have no specific time zone. + /// + /// Optional. + core.String? timeZone; + + /// Date format used for parsing TIMESTAMP values. + /// + /// Optional. + core.String? timestampFormat; + /// If sourceFormat is set to "AVRO", indicates whether to interpret logical /// types as the corresponding BigQuery data type (for example, TIMESTAMP), /// instead of using the raw type (for example, INTEGER). @@ -8538,6 +8937,8 @@ class JobConfigurationLoad { this.copyFilesOnly, this.createDisposition, this.createSession, + this.dateFormat, + this.datetimeFormat, this.decimalTargetTypes, this.destinationEncryptionConfiguration, this.destinationTable, @@ -8563,7 +8964,10 @@ class JobConfigurationLoad { this.skipLeadingRows, this.sourceFormat, this.sourceUris, + this.timeFormat, this.timePartitioning, + this.timeZone, + this.timestampFormat, this.useAvroLogicalTypes, this.writeDisposition, }); @@ -8586,6 +8990,8 @@ class JobConfigurationLoad { copyFilesOnly: json_['copyFilesOnly'] as core.bool?, createDisposition: json_['createDisposition'] as core.String?, createSession: json_['createSession'] as core.bool?, + dateFormat: json_['dateFormat'] as core.String?, + datetimeFormat: json_['datetimeFormat'] as core.String?, decimalTargetTypes: (json_['decimalTargetTypes'] as core.List?) ?.map((value) => value as core.String) .toList(), @@ -8647,10 +9053,13 @@ class JobConfigurationLoad { sourceUris: (json_['sourceUris'] as core.List?) ?.map((value) => value as core.String) .toList(), + timeFormat: json_['timeFormat'] as core.String?, timePartitioning: json_.containsKey('timePartitioning') ? TimePartitioning.fromJson(json_['timePartitioning'] as core.Map) : null, + timeZone: json_['timeZone'] as core.String?, + timestampFormat: json_['timestampFormat'] as core.String?, useAvroLogicalTypes: json_['useAvroLogicalTypes'] as core.bool?, writeDisposition: json_['writeDisposition'] as core.String?, ); @@ -8668,6 +9077,8 @@ class JobConfigurationLoad { if (copyFilesOnly != null) 'copyFilesOnly': copyFilesOnly!, if (createDisposition != null) 'createDisposition': createDisposition!, if (createSession != null) 'createSession': createSession!, + if (dateFormat != null) 'dateFormat': dateFormat!, + if (datetimeFormat != null) 'datetimeFormat': datetimeFormat!, if (decimalTargetTypes != null) 'decimalTargetTypes': decimalTargetTypes!, if (destinationEncryptionConfiguration != null) @@ -8703,7 +9114,10 @@ class JobConfigurationLoad { if (skipLeadingRows != null) 'skipLeadingRows': skipLeadingRows!, if (sourceFormat != null) 'sourceFormat': sourceFormat!, if (sourceUris != null) 'sourceUris': sourceUris!, + if (timeFormat != null) 'timeFormat': timeFormat!, if (timePartitioning != null) 'timePartitioning': timePartitioning!, + if (timeZone != null) 'timeZone': timeZone!, + if (timestampFormat != null) 'timestampFormat': timestampFormat!, if (useAvroLogicalTypes != null) 'useAvroLogicalTypes': useAvroLogicalTypes!, if (writeDisposition != null) 'writeDisposition': writeDisposition!, @@ -8923,6 +9337,15 @@ class JobConfigurationQuery { /// Optional. core.String? writeDisposition; + /// This is only supported for a SELECT query using a temporary table. + /// + /// If set, the query is allowed to write results incrementally to the + /// temporary result table. This may incur a performance penalty. This option + /// cannot be used with Legacy SQL. This feature is not yet available. + /// + /// Optional. + core.bool? writeIncrementalResults; + JobConfigurationQuery({ this.allowLargeResults, this.clustering, @@ -8951,6 +9374,7 @@ class JobConfigurationQuery { this.useQueryCache, this.userDefinedFunctionResources, this.writeDisposition, + this.writeIncrementalResults, }); JobConfigurationQuery.fromJson(core.Map json_) @@ -9028,6 +9452,8 @@ class JobConfigurationQuery { value as core.Map)) .toList(), writeDisposition: json_['writeDisposition'] as core.String?, + writeIncrementalResults: + json_['writeIncrementalResults'] as core.bool?, ); core.Map toJson() => { @@ -9065,6 +9491,8 @@ class JobConfigurationQuery { if (userDefinedFunctionResources != null) 'userDefinedFunctionResources': userDefinedFunctionResources!, if (writeDisposition != null) 'writeDisposition': writeDisposition!, + if (writeIncrementalResults != null) + 'writeIncrementalResults': writeIncrementalResults!, }; } @@ -9946,7 +10374,7 @@ class JobStatistics2 { /// statement. * `INSERT`: /// \[`INSERT`\](https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax#insert_statement) /// statement. * `UPDATE`: - /// \[`UPDATE`\](https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#update_statement) + /// \[`UPDATE`\](https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax#update_statement) /// statement. * `DELETE`: /// \[`DELETE`\](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language) /// statement. * `MERGE`: @@ -9955,7 +10383,7 @@ class JobStatistics2 { /// TABLE`\](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_table_statement) /// statement, without `AS SELECT`. * `CREATE_TABLE_AS_SELECT`: \[`CREATE /// TABLE AS - /// SELECT`\](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#query_statement) + /// SELECT`\](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_table_statement) /// statement. * `CREATE_VIEW`: \[`CREATE /// VIEW`\](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_view_statement) /// statement. * `CREATE_MODEL`: \[`CREATE @@ -10007,7 +10435,7 @@ class JobStatistics2 { /// statement. * `ALTER_MATERIALIZED_VIEW`: \[`ALTER MATERIALIZED /// VIEW`\](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_materialized_view_set_options_statement) /// statement. * `ALTER_SCHEMA`: \[`ALTER - /// SCHEMA`\](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#aalter_schema_set_options_statement) + /// SCHEMA`\](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_schema_set_options_statement) /// statement. * `SCRIPT`: /// \[`SCRIPT`\](https://cloud.google.com/bigquery/docs/reference/standard-sql/procedural-language). /// * `TRUNCATE_TABLE`: \[`TRUNCATE @@ -10877,7 +11305,7 @@ class MaterializedView { /// truncated. /// - "BASE_TABLE_DATA_CHANGE" : View is invalidated because of a data change /// in one or more base tables. It could be any recent change if the - /// \[`max_staleness`\](https://cloud.google.com/bigquery/docs/materialized-views-create#max_staleness) + /// \[`maxStaleness`\](https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#Table.FIELDS.max_staleness) /// option is not set for the view, or otherwise any change outside of the /// staleness window. /// - "BASE_TABLE_PARTITION_EXPIRATION_CHANGE" : View is invalidated because a @@ -10931,6 +11359,10 @@ class MaterializedViewDefinition { /// This option declares the intention to construct a materialized view that /// isn't refreshed incrementally. /// + /// Non-incremental materialized views support an expanded range of SQL + /// queries. The `allow_non_incremental_definition` option can't be changed + /// after the materialized view is created. + /// /// Optional. core.bool? allowNonIncrementalDefinition; @@ -11070,7 +11502,7 @@ class MaterializedViewStatus { }; } -/// Statistics for metadata caching in BigLake tables. +/// Statistics for metadata caching in queried tables. class MetadataCacheStatistics { /// Set for the Metadata caching eligible tables referenced in the query. core.List? tableMetadataCacheUsage; @@ -12416,6 +12848,11 @@ class QueryRequest { /// Optional. DatasetReference? defaultDataset; + /// Custom encryption configuration (e.g., Cloud KMS keys) + /// + /// Optional. + EncryptionConfiguration? destinationEncryptionConfiguration; + /// If set to true, BigQuery doesn't run the job. /// /// Instead, if the query is valid, BigQuery returns statistics about the job @@ -12448,6 +12885,18 @@ class QueryRequest { /// JOB_CREATION_REQUIRED mode should be used, which is the default. core.String? jobCreationMode; + /// Job timeout in milliseconds. + /// + /// If this time limit is exceeded, BigQuery will attempt to stop a longer + /// job, but may not always succeed in canceling it before the job completes. + /// For example, a job that takes more than 60 seconds to complete has a + /// better chance of being stopped than a job that takes 10 seconds to + /// complete. This timeout applies to the query even if a job does not need to + /// be created. + /// + /// Optional. + core.String? jobTimeoutMs; + /// The resource type of the request. core.String? kind; @@ -12464,8 +12913,8 @@ class QueryRequest { /// The geographic location where the job should run. /// - /// See details at - /// https://cloud.google.com/bigquery/docs/locations#specifying_your_location. + /// For more information, see how to + /// [specify locations](https://cloud.google.com/bigquery/docs/locations#specify_locations). core.String? location; /// The maximum number of rows of data to return per page of results. @@ -12566,14 +13015,25 @@ class QueryRequest { /// Optional. core.bool? useQueryCache; + /// This is only supported for SELECT query. + /// + /// If set, the query is allowed to write results incrementally to the + /// temporary result table. This may incur a performance penalty. This option + /// cannot be used with Legacy SQL. This feature is not yet available. + /// + /// Optional. + core.bool? writeIncrementalResults; + QueryRequest({ this.connectionProperties, this.continuous, this.createSession, this.defaultDataset, + this.destinationEncryptionConfiguration, this.dryRun, this.formatOptions, this.jobCreationMode, + this.jobTimeoutMs, this.kind, this.labels, this.location, @@ -12587,6 +13047,7 @@ class QueryRequest { this.timeoutMs, this.useLegacySql, this.useQueryCache, + this.writeIncrementalResults, }); QueryRequest.fromJson(core.Map json_) @@ -12601,12 +13062,19 @@ class QueryRequest { ? DatasetReference.fromJson(json_['defaultDataset'] as core.Map) : null, + destinationEncryptionConfiguration: + json_.containsKey('destinationEncryptionConfiguration') + ? EncryptionConfiguration.fromJson( + json_['destinationEncryptionConfiguration'] + as core.Map) + : null, dryRun: json_['dryRun'] as core.bool?, formatOptions: json_.containsKey('formatOptions') ? DataFormatOptions.fromJson( json_['formatOptions'] as core.Map) : null, jobCreationMode: json_['jobCreationMode'] as core.String?, + jobTimeoutMs: json_['jobTimeoutMs'] as core.String?, kind: json_['kind'] as core.String?, labels: (json_['labels'] as core.Map?)?.map( @@ -12629,6 +13097,8 @@ class QueryRequest { timeoutMs: json_['timeoutMs'] as core.int?, useLegacySql: json_['useLegacySql'] as core.bool?, useQueryCache: json_['useQueryCache'] as core.bool?, + writeIncrementalResults: + json_['writeIncrementalResults'] as core.bool?, ); core.Map toJson() => { @@ -12637,9 +13107,13 @@ class QueryRequest { if (continuous != null) 'continuous': continuous!, if (createSession != null) 'createSession': createSession!, if (defaultDataset != null) 'defaultDataset': defaultDataset!, + if (destinationEncryptionConfiguration != null) + 'destinationEncryptionConfiguration': + destinationEncryptionConfiguration!, if (dryRun != null) 'dryRun': dryRun!, if (formatOptions != null) 'formatOptions': formatOptions!, if (jobCreationMode != null) 'jobCreationMode': jobCreationMode!, + if (jobTimeoutMs != null) 'jobTimeoutMs': jobTimeoutMs!, if (kind != null) 'kind': kind!, if (labels != null) 'labels': labels!, if (location != null) 'location': location!, @@ -12654,6 +13128,8 @@ class QueryRequest { if (timeoutMs != null) 'timeoutMs': timeoutMs!, if (useLegacySql != null) 'useLegacySql': useLegacySql!, if (useQueryCache != null) 'useQueryCache': useQueryCache!, + if (writeIncrementalResults != null) + 'writeIncrementalResults': writeIncrementalResults!, }; } @@ -12661,12 +13137,26 @@ class QueryResponse { /// Whether the query result was fetched from the query cache. core.bool? cacheHit; + /// Creation time of this query, in milliseconds since the epoch. + /// + /// This field will be present on all queries. + /// + /// Output only. + core.String? creationTime; + /// Detailed statistics for DML statements INSERT, UPDATE, DELETE, MERGE or /// TRUNCATE. /// /// Output only. DmlStatistics? dmlStats; + /// End time of this query, in milliseconds since the epoch. + /// + /// This field will be present whenever a query job is in the DONE state. + /// + /// Output only. + core.String? endTime; + /// The first errors or warnings encountered during the running of the job. /// /// The final message includes the number of errors that caused the process to @@ -12705,6 +13195,14 @@ class QueryResponse { /// The resource type. core.String? kind; + /// The geographic location of the query. + /// + /// For more information about BigQuery locations, see: + /// https://cloud.google.com/bigquery/docs/locations + /// + /// Output only. + core.String? location; + /// The number of rows affected by a DML statement. /// /// Present only for DML statements INSERT, UPDATE or DELETE. @@ -12743,6 +13241,23 @@ class QueryResponse { /// Output only. SessionInfo? sessionInfo; + /// Start time of this query, in milliseconds since the epoch. + /// + /// This field will be present when the query job transitions from the PENDING + /// state to either RUNNING or DONE. + /// + /// Output only. + core.String? startTime; + + /// If the project is configured to use on-demand pricing, then this field + /// contains the total bytes billed for the job. + /// + /// If the project is configured to use flat-rate pricing, then you are not + /// billed for bytes and this field is informational only. + /// + /// Output only. + core.String? totalBytesBilled; + /// The total number of bytes processed for this query. /// /// If this query was a dry run, this is the number of bytes that would be @@ -12753,31 +13268,44 @@ class QueryResponse { /// more than the number of rows in this single page of results. core.String? totalRows; + /// Number of slot ms the user is actually billed for. + /// + /// Output only. + core.String? totalSlotMs; + QueryResponse({ this.cacheHit, + this.creationTime, this.dmlStats, + this.endTime, this.errors, this.jobComplete, this.jobCreationReason, this.jobReference, this.kind, + this.location, this.numDmlAffectedRows, this.pageToken, this.queryId, this.rows, this.schema, this.sessionInfo, + this.startTime, + this.totalBytesBilled, this.totalBytesProcessed, this.totalRows, + this.totalSlotMs, }); QueryResponse.fromJson(core.Map json_) : this( cacheHit: json_['cacheHit'] as core.bool?, + creationTime: json_['creationTime'] as core.String?, dmlStats: json_.containsKey('dmlStats') ? DmlStatistics.fromJson( json_['dmlStats'] as core.Map) : null, + endTime: json_['endTime'] as core.String?, errors: (json_['errors'] as core.List?) ?.map((value) => ErrorProto.fromJson( value as core.Map)) @@ -12792,6 +13320,7 @@ class QueryResponse { json_['jobReference'] as core.Map) : null, kind: json_['kind'] as core.String?, + location: json_['location'] as core.String?, numDmlAffectedRows: json_['numDmlAffectedRows'] as core.String?, pageToken: json_['pageToken'] as core.String?, queryId: json_['queryId'] as core.String?, @@ -12807,18 +13336,24 @@ class QueryResponse { ? SessionInfo.fromJson( json_['sessionInfo'] as core.Map) : null, + startTime: json_['startTime'] as core.String?, + totalBytesBilled: json_['totalBytesBilled'] as core.String?, totalBytesProcessed: json_['totalBytesProcessed'] as core.String?, totalRows: json_['totalRows'] as core.String?, + totalSlotMs: json_['totalSlotMs'] as core.String?, ); core.Map toJson() => { if (cacheHit != null) 'cacheHit': cacheHit!, + if (creationTime != null) 'creationTime': creationTime!, if (dmlStats != null) 'dmlStats': dmlStats!, + if (endTime != null) 'endTime': endTime!, if (errors != null) 'errors': errors!, if (jobComplete != null) 'jobComplete': jobComplete!, if (jobCreationReason != null) 'jobCreationReason': jobCreationReason!, if (jobReference != null) 'jobReference': jobReference!, if (kind != null) 'kind': kind!, + if (location != null) 'location': location!, if (numDmlAffectedRows != null) 'numDmlAffectedRows': numDmlAffectedRows!, if (pageToken != null) 'pageToken': pageToken!, @@ -12826,9 +13361,12 @@ class QueryResponse { if (rows != null) 'rows': rows!, if (schema != null) 'schema': schema!, if (sessionInfo != null) 'sessionInfo': sessionInfo!, + if (startTime != null) 'startTime': startTime!, + if (totalBytesBilled != null) 'totalBytesBilled': totalBytesBilled!, if (totalBytesProcessed != null) 'totalBytesProcessed': totalBytesProcessed!, if (totalRows != null) 'totalRows': totalRows!, + if (totalSlotMs != null) 'totalSlotMs': totalSlotMs!, }; } @@ -13618,6 +14156,30 @@ class RowAccessPolicy { /// Required. core.String? filterPredicate; + /// Input only. + /// + /// The optional list of iam_member users or groups that specifies the initial + /// members that the row-level access policy should be created with. grantees + /// types: - "user:alice@example.com": An email address that represents a + /// specific Google account. - + /// "serviceAccount:my-other-app@appspot.gserviceaccount.com": An email + /// address that represents a service account. - "group:admins@example.com": + /// An email address that represents a Google group. - + /// "domain:example.com":The Google Workspace domain (primary) that represents + /// all the users of that domain. - "allAuthenticatedUsers": A special + /// identifier that represents all service accounts and all users on the + /// internet who have authenticated with a Google Account. This identifier + /// includes accounts that aren't connected to a Google Workspace or Cloud + /// Identity domain, such as personal Gmail accounts. Users who aren't + /// authenticated, such as anonymous visitors, aren't included. - "allUsers":A + /// special identifier that represents anyone who is on the internet, + /// including authenticated and unauthenticated users. Because BigQuery + /// requires authentication before a user can access the service, allUsers + /// includes only authenticated users. + /// + /// Optional. + core.List? grantees; + /// The time when this row access policy was last modified, in milliseconds /// since the epoch. /// @@ -13633,6 +14195,7 @@ class RowAccessPolicy { this.creationTime, this.etag, this.filterPredicate, + this.grantees, this.lastModifiedTime, this.rowAccessPolicyReference, }); @@ -13642,6 +14205,9 @@ class RowAccessPolicy { creationTime: json_['creationTime'] as core.String?, etag: json_['etag'] as core.String?, filterPredicate: json_['filterPredicate'] as core.String?, + grantees: (json_['grantees'] as core.List?) + ?.map((value) => value as core.String) + .toList(), lastModifiedTime: json_['lastModifiedTime'] as core.String?, rowAccessPolicyReference: json_.containsKey('rowAccessPolicyReference') @@ -13655,6 +14221,7 @@ class RowAccessPolicy { if (creationTime != null) 'creationTime': creationTime!, if (etag != null) 'etag': etag!, if (filterPredicate != null) 'filterPredicate': filterPredicate!, + if (grantees != null) 'grantees': grantees!, if (lastModifiedTime != null) 'lastModifiedTime': lastModifiedTime!, if (rowAccessPolicyReference != null) 'rowAccessPolicyReference': rowAccessPolicyReference!, @@ -14670,6 +15237,97 @@ class StorageDescriptor { }; } +/// If the stored column was not used, explain why. +class StoredColumnsUnusedReason { + /// Specifies the high-level reason for the unused scenario, each reason must + /// have a code associated. + /// Possible string values are: + /// - "CODE_UNSPECIFIED" : Default value. + /// - "STORED_COLUMNS_COVER_INSUFFICIENT" : If stored columns do not fully + /// cover the columns. + /// - "BASE_TABLE_HAS_RLS" : If the base table has RLS (Row Level Security). + /// - "BASE_TABLE_HAS_CLS" : If the base table has CLS (Column Level + /// Security). + /// - "UNSUPPORTED_PREFILTER" : If the provided prefilter is not supported. + /// - "INTERNAL_ERROR" : If an internal error is preventing stored columns + /// from being used. + /// - "OTHER_REASON" : Indicates that the reason stored columns cannot be used + /// in the query is not covered by any of the other StoredColumnsUnusedReason + /// options. + core.String? code; + + /// Specifies the detailed description for the scenario. + core.String? message; + + /// Specifies which columns were not covered by the stored columns for the + /// specified code up to 20 columns. + /// + /// This is populated when the code is STORED_COLUMNS_COVER_INSUFFICIENT and + /// BASE_TABLE_HAS_CLS. + core.List? uncoveredColumns; + + StoredColumnsUnusedReason({ + this.code, + this.message, + this.uncoveredColumns, + }); + + StoredColumnsUnusedReason.fromJson(core.Map json_) + : this( + code: json_['code'] as core.String?, + message: json_['message'] as core.String?, + uncoveredColumns: (json_['uncoveredColumns'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (code != null) 'code': code!, + if (message != null) 'message': message!, + if (uncoveredColumns != null) 'uncoveredColumns': uncoveredColumns!, + }; +} + +/// Indicates the stored columns usage in the query. +class StoredColumnsUsage { + /// Specifies the base table. + TableReference? baseTable; + + /// Specifies whether the query was accelerated with stored columns. + core.bool? isQueryAccelerated; + + /// If stored columns were not used, explain why. + core.List? storedColumnsUnusedReasons; + + StoredColumnsUsage({ + this.baseTable, + this.isQueryAccelerated, + this.storedColumnsUnusedReasons, + }); + + StoredColumnsUsage.fromJson(core.Map json_) + : this( + baseTable: json_.containsKey('baseTable') + ? TableReference.fromJson( + json_['baseTable'] as core.Map) + : null, + isQueryAccelerated: json_['isQueryAccelerated'] as core.bool?, + storedColumnsUnusedReasons: + (json_['storedColumnsUnusedReasons'] as core.List?) + ?.map((value) => StoredColumnsUnusedReason.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (baseTable != null) 'baseTable': baseTable!, + if (isQueryAccelerated != null) + 'isQueryAccelerated': isQueryAccelerated!, + if (storedColumnsUnusedReasons != null) + 'storedColumnsUnusedReasons': storedColumnsUnusedReasons!, + }; +} + class Streamingbuffer { /// A lower-bound estimate of the number of bytes currently in the streaming /// buffer. @@ -16082,7 +16740,7 @@ class TableFieldSchema { /// Information about a logical view. class TableListTablesView { - /// Specifices the privacy policy for the view. + /// Specifies the privacy policy for the view. PrivacyPolicy? privacyPolicy; /// True if view is defined in legacy SQL dialect, false if in GoogleSQL. @@ -16690,7 +17348,7 @@ class TrainingOptions { /// smallest to largest) in the corresponding column are used as training /// data, and the rest are eval data. It respects the order in Orderable data /// types: - /// https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#data-type-properties + /// https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#data_type_properties core.String? dataSplitColumn; /// The fraction of evaluation data over the whole input data. @@ -16750,6 +17408,16 @@ class TrainingOptions { /// Whether the model should include intercept during model training. core.bool? fitIntercept; + /// The forecast limit lower bound that was used during ARIMA model training + /// with limits. + /// + /// To see more details of the algorithm: https://otexts.com/fpp2/limits.html + core.double? forecastLimitLowerBound; + + /// The forecast limit upper bound that was used during ARIMA model training + /// with limits. + core.double? forecastLimitUpperBound; + /// Hidden units for dnn models. core.List? hiddenUnits; @@ -16826,7 +17494,7 @@ class TrainingOptions { /// - "UA" : Ukraine /// - "US" : United States /// - "VE" : Venezuela - /// - "VN" : Viet Nam + /// - "VN" : Vietnam /// - "ZA" : South Africa core.String? holidayRegion; @@ -17131,6 +17799,8 @@ class TrainingOptions { this.enableGlobalExplain, this.feedbackType, this.fitIntercept, + this.forecastLimitLowerBound, + this.forecastLimitUpperBound, this.hiddenUnits, this.holidayRegion, this.holidayRegions, @@ -17231,6 +17901,10 @@ class TrainingOptions { enableGlobalExplain: json_['enableGlobalExplain'] as core.bool?, feedbackType: json_['feedbackType'] as core.String?, fitIntercept: json_['fitIntercept'] as core.bool?, + forecastLimitLowerBound: + (json_['forecastLimitLowerBound'] as core.num?)?.toDouble(), + forecastLimitUpperBound: + (json_['forecastLimitUpperBound'] as core.num?)?.toDouble(), hiddenUnits: (json_['hiddenUnits'] as core.List?) ?.map((value) => value as core.String) .toList(), @@ -17370,6 +18044,10 @@ class TrainingOptions { 'enableGlobalExplain': enableGlobalExplain!, if (feedbackType != null) 'feedbackType': feedbackType!, if (fitIntercept != null) 'fitIntercept': fitIntercept!, + if (forecastLimitLowerBound != null) + 'forecastLimitLowerBound': forecastLimitLowerBound!, + if (forecastLimitUpperBound != null) + 'forecastLimitUpperBound': forecastLimitUpperBound!, if (hiddenUnits != null) 'hiddenUnits': hiddenUnits!, if (holidayRegion != null) 'holidayRegion': holidayRegion!, if (holidayRegions != null) 'holidayRegions': holidayRegions!, @@ -17729,9 +18407,14 @@ class VectorSearchStatistics { /// - "FULLY_USED" : The entire vector search query used vector indexes. core.String? indexUsageMode; + /// Specifies the usage of stored columns in the query when stored columns are + /// used in the query. + core.List? storedColumnsUsages; + VectorSearchStatistics({ this.indexUnusedReasons, this.indexUsageMode, + this.storedColumnsUsages, }); VectorSearchStatistics.fromJson(core.Map json_) @@ -17741,12 +18424,18 @@ class VectorSearchStatistics { value as core.Map)) .toList(), indexUsageMode: json_['indexUsageMode'] as core.String?, + storedColumnsUsages: (json_['storedColumnsUsages'] as core.List?) + ?.map((value) => StoredColumnsUsage.fromJson( + value as core.Map)) + .toList(), ); core.Map toJson() => { if (indexUnusedReasons != null) 'indexUnusedReasons': indexUnusedReasons!, if (indexUsageMode != null) 'indexUsageMode': indexUsageMode!, + if (storedColumnsUsages != null) + 'storedColumnsUsages': storedColumnsUsages!, }; } @@ -17757,7 +18446,7 @@ class ViewDefinition { /// Optional. core.List? foreignDefinitions; - /// Specifices the privacy policy for the view. + /// Specifies the privacy policy for the view. /// /// Optional. PrivacyPolicy? privacyPolicy; diff --git a/generated/googleapis/lib/bigqueryreservation/v1.dart b/generated/googleapis/lib/bigqueryreservation/v1.dart index bf493bcb3..eff0dd01c 100644 --- a/generated/googleapis/lib/bigqueryreservation/v1.dart +++ b/generated/googleapis/lib/bigqueryreservation/v1.dart @@ -1743,6 +1743,54 @@ class MoveAssignmentRequest { }; } +/// Disaster Recovery(DR) replication status of the reservation. +class ReplicationStatus { + /// The last error encountered while trying to replicate changes from the + /// primary to the secondary. + /// + /// This field is only available if the replication has not succeeded since. + /// + /// Output only. + Status? error; + + /// The time at which the last error was encountered while trying to replicate + /// changes from the primary to the secondary. + /// + /// This field is only available if the replication has not succeeded since. + /// + /// Output only. + core.String? lastErrorTime; + + /// A timestamp corresponding to the last change on the primary that was + /// successfully replicated to the secondary. + /// + /// Output only. + core.String? lastReplicationTime; + + ReplicationStatus({ + this.error, + this.lastErrorTime, + this.lastReplicationTime, + }); + + ReplicationStatus.fromJson(core.Map json_) + : this( + error: json_.containsKey('error') + ? Status.fromJson( + json_['error'] as core.Map) + : null, + lastErrorTime: json_['lastErrorTime'] as core.String?, + lastReplicationTime: json_['lastReplicationTime'] as core.String?, + ); + + core.Map toJson() => { + if (error != null) 'error': error!, + if (lastErrorTime != null) 'lastErrorTime': lastErrorTime!, + if (lastReplicationTime != null) + 'lastReplicationTime': lastReplicationTime!, + }; +} + /// A reservation is a mechanism used to guarantee slots to users. class Reservation { /// The configuration parameters for the auto scaling feature. @@ -1787,6 +1835,46 @@ class Reservation { /// Optional. core.Map? labels; + /// The overall max slots for the reservation, covering slot_capacity + /// (baseline), idle slots (if ignore_idle_slots is false) and scaled slots. + /// + /// If present, the reservation won't use more than the specified number of + /// slots, even if there is demand and supply (from idle slots). NOTE: capping + /// a reservation's idle slot usage is best effort and its usage may exceed + /// the max_slots value. However, in terms of autoscale.current_slots (which + /// accounts for the additional added slots), it will never exceed the + /// max_slots - baseline. This field must be set together with the + /// scaling_mode enum value, otherwise the request will be rejected with error + /// code `google.rpc.Code.INVALID_ARGUMENT`. If the max_slots and scaling_mode + /// are set, the autoscale or autoscale.max_slots field must be unset. + /// Otherwise the request will be rejected with error code + /// `google.rpc.Code.INVALID_ARGUMENT`. However, the autoscale field may still + /// be in the output. The autopscale.max_slots will always show as 0 and the + /// autoscaler.current_slots will represent the current slots from autoscaler + /// excluding idle slots. For example, if the max_slots is 1000 and + /// scaling_mode is AUTOSCALE_ONLY, then in the output, the + /// autoscaler.max_slots will be 0 and the autoscaler.current_slots may be any + /// value between 0 and 1000. If the max_slots is 1000, scaling_mode is + /// ALL_SLOTS, the baseline is 100 and idle slots usage is 200, then in the + /// output, the autoscaler.max_slots will be 0 and the + /// autoscaler.current_slots will not be higher than 700. If the max_slots is + /// 1000, scaling_mode is IDLE_SLOTS_ONLY, then in the output, the autoscaler + /// field will be null. If the max_slots and scaling_mode are set, then the + /// ignore_idle_slots field must be aligned with the scaling_mode enum + /// value.(See details in ScalingMode comments). Otherwise the request will be + /// rejected with error code `google.rpc.Code.INVALID_ARGUMENT`. Please note, + /// the max_slots is for user to manage the part of slots greater than the + /// baseline. Therefore, we don't allow users to set max_slots smaller or + /// equal to the baseline as it will not be meaningful. If the field is + /// present and slot_capacity\>=max_slots, requests will be rejected with + /// error code `google.rpc.Code.INVALID_ARGUMENT`. Please note that if + /// max_slots is set to 0, we will treat it as unset. Customers can set + /// max_slots to 0 and set scaling_mode to SCALING_MODE_UNSPECIFIED to disable + /// the max_slots feature. + /// + /// Optional. + core.String? maxSlots; + /// Applicable only for reservations located within one of the BigQuery /// multi-regions (US or EU). /// @@ -1821,6 +1909,65 @@ class Reservation { /// Output only. core.String? primaryLocation; + /// The Disaster Recovery(DR) replication status of the reservation. + /// + /// This is only available for the primary replicas of DR/failover + /// reservations and provides information about the both the staleness of the + /// secondary and the last error encountered while trying to replicate changes + /// from the primary to the secondary. If this field is blank, it means that + /// the reservation is either not a DR reservation or the reservation is a DR + /// secondary or that any replication operations on the reservation have + /// succeeded. + /// + /// Output only. + ReplicationStatus? replicationStatus; + + /// The scaling mode for the reservation. + /// + /// If the field is present but max_slots is not present, requests will be + /// rejected with error code `google.rpc.Code.INVALID_ARGUMENT`. + /// Possible string values are: + /// - "SCALING_MODE_UNSPECIFIED" : Default value of ScalingMode. + /// - "AUTOSCALE_ONLY" : The reservation will scale up only using slots from + /// autoscaling. It will not use any idle slots even if there may be some + /// available. The upper limit that autoscaling can scale up to will be + /// max_slots - baseline. For example, if max_slots is 1000, baseline is 200 + /// and customer sets ScalingMode to AUTOSCALE_ONLY, then autoscalerg will + /// scale up to 800 slots and no idle slots will be used. Please note, in this + /// mode, the ignore_idle_slots field must be set to true. Otherwise the + /// request will be rejected with error code + /// `google.rpc.Code.INVALID_ARGUMENT`. + /// - "IDLE_SLOTS_ONLY" : The reservation will scale up using only idle slots + /// contributed by other reservations or from unassigned commitments. If no + /// idle slots are available it will not scale up further. If the idle slots + /// which it is using are reclaimed by the contributing reservation(s) it may + /// be forced to scale down. The max idle slots the reservation can be + /// max_slots - baseline capacity. For example, if max_slots is 1000, baseline + /// is 200 and customer sets ScalingMode to IDLE_SLOTS_ONLY, 1. if there are + /// 1000 idle slots available in other reservations, the reservation will + /// scale up to 1000 slots with 200 baseline and 800 idle slots. 2. if there + /// are 500 idle slots available in other reservations, the reservation will + /// scale up to 700 slots with 200 baseline and 300 idle slots. Please note, + /// in this mode, the reservation might not be able to scale up to max_slots. + /// Please note, in this mode, the ignore_idle_slots field must be set to + /// false. Otherwise the request will be rejected with error code + /// `google.rpc.Code.INVALID_ARGUMENT`. + /// - "ALL_SLOTS" : The reservation will scale up using all slots available to + /// it. It will use idle slots contributed by other reservations or from + /// unassigned commitments first. If no idle slots are available it will scale + /// up using autoscaling. For example, if max_slots is 1000, baseline is 200 + /// and customer sets ScalingMode to ALL_SLOTS, 1. if there are 800 idle slots + /// available in other reservations, the reservation will scale up to 1000 + /// slots with 200 baseline and 800 idle slots. 2. if there are 500 idle slots + /// available in other reservations, the reservation will scale up to 1000 + /// slots with 200 baseline, 500 idle slots and 300 autoscaling slots. 3. if + /// there are no idle slots available in other reservations, it will scale up + /// to 1000 slots with 200 baseline and 800 autoscaling slots. Please note, in + /// this mode, the ignore_idle_slots field must be set to false. Otherwise the + /// request will be rejected with error code + /// `google.rpc.Code.INVALID_ARGUMENT`. + core.String? scalingMode; + /// The current location of the reservation's secondary replica. /// /// This field is only set for reservations using the managed disaster @@ -1836,19 +1983,14 @@ class Reservation { /// A slot is a unit of computational power in BigQuery, and serves as the /// unit of parallelism. Queries using this reservation might use more slots /// during runtime if ignore_idle_slots is set to false, or autoscaling is - /// enabled. If edition is EDITION_UNSPECIFIED and total slot_capacity of the - /// reservation and its siblings exceeds the total slot_count of all capacity - /// commitments, the request will fail with - /// `google.rpc.Code.RESOURCE_EXHAUSTED`. If edition is any value but - /// EDITION_UNSPECIFIED, then the above requirement is not needed. The total - /// slot_capacity of the reservation and its siblings may exceed the total - /// slot_count of capacity commitments. In that case, the exceeding slots will - /// be charged with the autoscale SKU. You can increase the number of baseline - /// slots in a reservation every few minutes. If you want to decrease your - /// baseline slots, you are limited to once an hour if you have recently - /// changed your baseline slot capacity and your baseline slots exceed your - /// committed slots. Otherwise, you can decrease your baseline slots every few - /// minutes. + /// enabled. The total slot_capacity of the reservation and its siblings may + /// exceed the total slot_count of capacity commitments. In that case, the + /// exceeding slots will be charged with the autoscale SKU. You can increase + /// the number of baseline slots in a reservation every few minutes. If you + /// want to decrease your baseline slots, you are limited to once an hour if + /// you have recently changed your baseline slot capacity and your baseline + /// slots exceed your committed slots. Otherwise, you can decrease your + /// baseline slots every few minutes. core.String? slotCapacity; /// Last update time of the reservation. @@ -1863,10 +2005,13 @@ class Reservation { this.edition, this.ignoreIdleSlots, this.labels, + this.maxSlots, this.multiRegionAuxiliary, this.name, this.originalPrimaryLocation, this.primaryLocation, + this.replicationStatus, + this.scalingMode, this.secondaryLocation, this.slotCapacity, this.updateTime, @@ -1889,11 +2034,17 @@ class Reservation { value as core.String, ), ), + maxSlots: json_['maxSlots'] as core.String?, multiRegionAuxiliary: json_['multiRegionAuxiliary'] as core.bool?, name: json_['name'] as core.String?, originalPrimaryLocation: json_['originalPrimaryLocation'] as core.String?, primaryLocation: json_['primaryLocation'] as core.String?, + replicationStatus: json_.containsKey('replicationStatus') + ? ReplicationStatus.fromJson(json_['replicationStatus'] + as core.Map) + : null, + scalingMode: json_['scalingMode'] as core.String?, secondaryLocation: json_['secondaryLocation'] as core.String?, slotCapacity: json_['slotCapacity'] as core.String?, updateTime: json_['updateTime'] as core.String?, @@ -1906,12 +2057,15 @@ class Reservation { if (edition != null) 'edition': edition!, if (ignoreIdleSlots != null) 'ignoreIdleSlots': ignoreIdleSlots!, if (labels != null) 'labels': labels!, + if (maxSlots != null) 'maxSlots': maxSlots!, if (multiRegionAuxiliary != null) 'multiRegionAuxiliary': multiRegionAuxiliary!, if (name != null) 'name': name!, if (originalPrimaryLocation != null) 'originalPrimaryLocation': originalPrimaryLocation!, if (primaryLocation != null) 'primaryLocation': primaryLocation!, + if (replicationStatus != null) 'replicationStatus': replicationStatus!, + if (scalingMode != null) 'scalingMode': scalingMode!, if (secondaryLocation != null) 'secondaryLocation': secondaryLocation!, if (slotCapacity != null) 'slotCapacity': slotCapacity!, if (updateTime != null) 'updateTime': updateTime!, diff --git a/generated/googleapis/lib/bigtableadmin/v2.dart b/generated/googleapis/lib/bigtableadmin/v2.dart index 62819eb28..5469536f5 100644 --- a/generated/googleapis/lib/bigtableadmin/v2.dart +++ b/generated/googleapis/lib/bigtableadmin/v2.dart @@ -29,6 +29,8 @@ /// - [ProjectsInstancesClustersResource] /// - [ProjectsInstancesClustersBackupsResource] /// - [ProjectsInstancesClustersHotTabletsResource] +/// - [ProjectsInstancesLogicalViewsResource] +/// - [ProjectsInstancesMaterializedViewsResource] /// - [ProjectsInstancesTablesResource] /// - [ProjectsInstancesTablesAuthorizedViewsResource] /// - [ProjectsLocationsResource] @@ -230,6 +232,10 @@ class ProjectsInstancesResource { ProjectsInstancesAppProfilesResource(_requester); ProjectsInstancesClustersResource get clusters => ProjectsInstancesClustersResource(_requester); + ProjectsInstancesLogicalViewsResource get logicalViews => + ProjectsInstancesLogicalViewsResource(_requester); + ProjectsInstancesMaterializedViewsResource get materializedViews => + ProjectsInstancesMaterializedViewsResource(_requester); ProjectsInstancesTablesResource get tables => ProjectsInstancesTablesResource(_requester); @@ -1708,6 +1714,300 @@ class ProjectsInstancesClustersHotTabletsResource { } } +class ProjectsInstancesLogicalViewsResource { + final commons.ApiRequester _requester; + + ProjectsInstancesLogicalViewsResource(commons.ApiRequester client) + : _requester = client; + + /// Gets the access control policy for an instance resource. + /// + /// Returns an empty policy if an instance exists but does not have a policy + /// set. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [resource] - REQUIRED: The resource for which the policy is being + /// requested. See + /// [Resource names](https://cloud.google.com/apis/design/resource_names) for + /// the appropriate value for this field. + /// Value must have pattern + /// `^projects/\[^/\]+/instances/\[^/\]+/logicalViews/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Policy]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future getIamPolicy( + GetIamPolicyRequest request, + core.String resource, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v2/' + core.Uri.encodeFull('$resource') + ':getIamPolicy'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Policy.fromJson(response_ as core.Map); + } + + /// Sets the access control policy on an instance resource. + /// + /// Replaces any existing policy. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [resource] - REQUIRED: The resource for which the policy is being + /// specified. See + /// [Resource names](https://cloud.google.com/apis/design/resource_names) for + /// the appropriate value for this field. + /// Value must have pattern + /// `^projects/\[^/\]+/instances/\[^/\]+/logicalViews/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Policy]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future setIamPolicy( + SetIamPolicyRequest request, + core.String resource, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v2/' + core.Uri.encodeFull('$resource') + ':setIamPolicy'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Policy.fromJson(response_ as core.Map); + } + + /// Returns permissions that the caller has on the specified instance + /// resource. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [resource] - REQUIRED: The resource for which the policy detail is being + /// requested. See + /// [Resource names](https://cloud.google.com/apis/design/resource_names) for + /// the appropriate value for this field. + /// Value must have pattern + /// `^projects/\[^/\]+/instances/\[^/\]+/logicalViews/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [TestIamPermissionsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future testIamPermissions( + TestIamPermissionsRequest request, + core.String resource, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v2/' + core.Uri.encodeFull('$resource') + ':testIamPermissions'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return TestIamPermissionsResponse.fromJson( + response_ as core.Map); + } +} + +class ProjectsInstancesMaterializedViewsResource { + final commons.ApiRequester _requester; + + ProjectsInstancesMaterializedViewsResource(commons.ApiRequester client) + : _requester = client; + + /// Gets the access control policy for an instance resource. + /// + /// Returns an empty policy if an instance exists but does not have a policy + /// set. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [resource] - REQUIRED: The resource for which the policy is being + /// requested. See + /// [Resource names](https://cloud.google.com/apis/design/resource_names) for + /// the appropriate value for this field. + /// Value must have pattern + /// `^projects/\[^/\]+/instances/\[^/\]+/materializedViews/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Policy]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future getIamPolicy( + GetIamPolicyRequest request, + core.String resource, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v2/' + core.Uri.encodeFull('$resource') + ':getIamPolicy'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Policy.fromJson(response_ as core.Map); + } + + /// Sets the access control policy on an instance resource. + /// + /// Replaces any existing policy. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [resource] - REQUIRED: The resource for which the policy is being + /// specified. See + /// [Resource names](https://cloud.google.com/apis/design/resource_names) for + /// the appropriate value for this field. + /// Value must have pattern + /// `^projects/\[^/\]+/instances/\[^/\]+/materializedViews/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Policy]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future setIamPolicy( + SetIamPolicyRequest request, + core.String resource, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v2/' + core.Uri.encodeFull('$resource') + ':setIamPolicy'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Policy.fromJson(response_ as core.Map); + } + + /// Returns permissions that the caller has on the specified instance + /// resource. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [resource] - REQUIRED: The resource for which the policy detail is being + /// requested. See + /// [Resource names](https://cloud.google.com/apis/design/resource_names) for + /// the appropriate value for this field. + /// Value must have pattern + /// `^projects/\[^/\]+/instances/\[^/\]+/materializedViews/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [TestIamPermissionsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future testIamPermissions( + TestIamPermissionsRequest request, + core.String resource, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v2/' + core.Uri.encodeFull('$resource') + ':testIamPermissions'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return TestIamPermissionsResponse.fromJson( + response_ as core.Map); + } +} + class ProjectsInstancesTablesResource { final commons.ApiRequester _requester; @@ -2183,8 +2483,11 @@ class ProjectsInstancesTablesResource { /// message. The wildcard (*) path is currently not supported. Currently /// UpdateTable is only supported for the following fields: * /// `change_stream_config` * `change_stream_config.retention_period` * - /// `deletion_protection` If `column_families` is set in `update_mask`, it - /// will return an UNIMPLEMENTED error. + /// `deletion_protection` * `automated_backup_policy` * + /// `automated_backup_policy.retention_period` * + /// `automated_backup_policy.frequency` * `row_key_schema` If + /// `column_families` is set in `update_mask`, it will return an UNIMPLEMENTED + /// error. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -4636,7 +4939,26 @@ class GoogleBigtableAdminV2TypeBytesEncoding { /// /// Sorted mode: all values are supported. Distinct mode: all values are /// supported. -typedef GoogleBigtableAdminV2TypeBytesEncodingRaw = $Empty; +class GoogleBigtableAdminV2TypeBytesEncodingRaw { + /// If set, allows NULL values to be encoded as the empty string "". + /// + /// The actual empty string, or any value which only contains the null byte + /// 0x00, has one more null byte appended. + core.bool? escapeNulls; + + GoogleBigtableAdminV2TypeBytesEncodingRaw({ + this.escapeNulls, + }); + + GoogleBigtableAdminV2TypeBytesEncodingRaw.fromJson(core.Map json_) + : this( + escapeNulls: json_['escapeNulls'] as core.bool?, + ); + + core.Map toJson() => { + if (escapeNulls != null) 'escapeNulls': escapeNulls!, + }; +} /// Date Values of type `Date` are stored in `Value.date_value`. typedef GoogleBigtableAdminV2TypeDate = $Empty; @@ -4674,8 +4996,12 @@ class GoogleBigtableAdminV2TypeInt64Encoding { /// Use `BigEndianBytes` encoding. GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes? bigEndianBytes; + /// Use `OrderedCodeBytes` encoding. + GoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes? orderedCodeBytes; + GoogleBigtableAdminV2TypeInt64Encoding({ this.bigEndianBytes, + this.orderedCodeBytes, }); GoogleBigtableAdminV2TypeInt64Encoding.fromJson(core.Map json_) @@ -4685,10 +5011,16 @@ class GoogleBigtableAdminV2TypeInt64Encoding { json_['bigEndianBytes'] as core.Map) : null, + orderedCodeBytes: json_.containsKey('orderedCodeBytes') + ? GoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes.fromJson( + json_['orderedCodeBytes'] + as core.Map) + : null, ); core.Map toJson() => { if (bigEndianBytes != null) 'bigEndianBytes': bigEndianBytes!, + if (orderedCodeBytes != null) 'orderedCodeBytes': orderedCodeBytes!, }; } @@ -4721,6 +5053,12 @@ class GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes { }; } +/// Encodes the value in a variable length binary format of up to 10 bytes. +/// +/// Values that are closer to zero use fewer bytes. Sorted mode: all values are +/// supported. Distinct mode: all values are supported. +typedef GoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes = $Empty; + /// A mapping of keys to values of a given type. /// /// Values of type `Map` are stored in a `Value.array_value` where each entry is @@ -4822,7 +5160,29 @@ class GoogleBigtableAdminV2TypeStringEncoding { /// Distinct mode: all values are supported. Compatible with: - BigQuery `TEXT` /// encoding - HBase `Bytes.toBytes` - Java /// `String#getBytes(StandardCharsets.UTF_8)` -typedef GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes = $Empty; +class GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes { + /// Single-character escape sequence used to support NULL values. + /// + /// If set, allows NULL values to be encoded as the empty string "". The + /// actual empty string, or any value where every character equals + /// `null_escape_char`, has one more `null_escape_char` appended. If + /// `null_escape_char` is set and does not equal the ASCII null character + /// 0x00, then the encoding will not support sorted mode. . + core.String? nullEscapeChar; + + GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes({ + this.nullEscapeChar, + }); + + GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes.fromJson(core.Map json_) + : this( + nullEscapeChar: json_['nullEscapeChar'] as core.String?, + ); + + core.Map toJson() => { + if (nullEscapeChar != null) 'nullEscapeChar': nullEscapeChar!, + }; +} /// Deprecated: prefer the equivalent `Utf8Bytes`. typedef GoogleBigtableAdminV2TypeStringEncodingUtf8Raw = $Shared01; @@ -4833,15 +5193,23 @@ typedef GoogleBigtableAdminV2TypeStringEncodingUtf8Raw = $Shared01; /// Values of type `Struct` are stored in `Value.array_value` where entries are /// in the same order and number as `field_types`. class GoogleBigtableAdminV2TypeStruct { + /// The encoding to use when converting to or from lower level types. + GoogleBigtableAdminV2TypeStructEncoding? encoding; + /// The names and types of the fields in this struct. core.List? fields; GoogleBigtableAdminV2TypeStruct({ + this.encoding, this.fields, }); GoogleBigtableAdminV2TypeStruct.fromJson(core.Map json_) : this( + encoding: json_.containsKey('encoding') + ? GoogleBigtableAdminV2TypeStructEncoding.fromJson( + json_['encoding'] as core.Map) + : null, fields: (json_['fields'] as core.List?) ?.map((value) => GoogleBigtableAdminV2TypeStructField.fromJson( value as core.Map)) @@ -4849,10 +5217,116 @@ class GoogleBigtableAdminV2TypeStruct { ); core.Map toJson() => { + if (encoding != null) 'encoding': encoding!, if (fields != null) 'fields': fields!, }; } +/// Rules used to convert to or from lower level types. +class GoogleBigtableAdminV2TypeStructEncoding { + /// Use `DelimitedBytes` encoding. + GoogleBigtableAdminV2TypeStructEncodingDelimitedBytes? delimitedBytes; + + /// User `OrderedCodeBytes` encoding. + GoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes? orderedCodeBytes; + + /// Use `Singleton` encoding. + GoogleBigtableAdminV2TypeStructEncodingSingleton? singleton; + + GoogleBigtableAdminV2TypeStructEncoding({ + this.delimitedBytes, + this.orderedCodeBytes, + this.singleton, + }); + + GoogleBigtableAdminV2TypeStructEncoding.fromJson(core.Map json_) + : this( + delimitedBytes: json_.containsKey('delimitedBytes') + ? GoogleBigtableAdminV2TypeStructEncodingDelimitedBytes.fromJson( + json_['delimitedBytes'] + as core.Map) + : null, + orderedCodeBytes: json_.containsKey('orderedCodeBytes') + ? GoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes + .fromJson(json_['orderedCodeBytes'] + as core.Map) + : null, + singleton: json_.containsKey('singleton') + ? GoogleBigtableAdminV2TypeStructEncodingSingleton.fromJson( + json_['singleton'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (delimitedBytes != null) 'delimitedBytes': delimitedBytes!, + if (orderedCodeBytes != null) 'orderedCodeBytes': orderedCodeBytes!, + if (singleton != null) 'singleton': singleton!, + }; +} + +/// Fields are encoded independently and concatenated with a configurable +/// `delimiter` in between. +/// +/// A struct with no fields defined is encoded as a single `delimiter`. Sorted +/// mode: - Fields are encoded in sorted mode. - Encoded field values must not +/// contain any bytes \<= `delimiter[0]` - Element-wise order is preserved: `A < +/// B` if `A[0] < B[0]`, or if `A[0] == B[0] && A[1] < B[1]`, etc. Strict +/// prefixes sort first. Distinct mode: - Fields are encoded in distinct mode. - +/// Encoded field values must not contain `delimiter[0]`. +class GoogleBigtableAdminV2TypeStructEncodingDelimitedBytes { + /// Byte sequence used to delimit concatenated fields. + /// + /// The delimiter must contain at least 1 character and at most 50 characters. + core.String? delimiter; + core.List get delimiterAsBytes => convert.base64.decode(delimiter!); + + set delimiterAsBytes(core.List bytes_) { + delimiter = + convert.base64.encode(bytes_).replaceAll('/', '_').replaceAll('+', '-'); + } + + GoogleBigtableAdminV2TypeStructEncodingDelimitedBytes({ + this.delimiter, + }); + + GoogleBigtableAdminV2TypeStructEncodingDelimitedBytes.fromJson(core.Map json_) + : this( + delimiter: json_['delimiter'] as core.String?, + ); + + core.Map toJson() => { + if (delimiter != null) 'delimiter': delimiter!, + }; +} + +/// Fields are encoded independently and concatenated with the fixed byte pair +/// {0x00, 0x01} in between. +/// +/// Any null (0x00) byte in an encoded field is replaced by the fixed byte pair +/// {0x00, 0xFF}. Fields that encode to the empty string "" have special +/// handling: - If *every* field encodes to "", or if the STRUCT has no fields +/// defined, then the STRUCT is encoded as the fixed byte pair {0x00, 0x00}. - +/// Otherwise, the STRUCT only encodes until the last non-empty field, omitting +/// any trailing empty fields. Any empty fields that aren't omitted are replaced +/// with the fixed byte pair {0x00, 0x00}. Examples: - STRUCT() -\> "\00\00" - +/// STRUCT("") -\> "\00\00" - STRUCT("", "") -\> "\00\00" - STRUCT("", "B") -\> +/// "\00\00" + "\00\01" + "B" - STRUCT("A", "") -\> "A" - STRUCT("", "B", "") +/// -\> "\00\00" + "\00\01" + "B" - STRUCT("A", "", "C") -\> "A" + "\00\01" + +/// "\00\00" + "\00\01" + "C" Since null bytes are always escaped, this encoding +/// can cause size blowup for encodings like `Int64.BigEndianBytes` that are +/// likely to produce many such bytes. Sorted mode: - Fields are encoded in +/// sorted mode. - All values supported by the field encodings are allowed - +/// Element-wise order is preserved: `A < B` if `A[0] < B[0]`, or if `A[0] == +/// B[0] && A[1] < B[1]`, etc. Strict prefixes sort first. Distinct mode: - +/// Fields are encoded in distinct mode. - All values supported by the field +/// encodings are allowed. +typedef GoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes = $Empty; + +/// Uses the encoding of `fields[0].type` as-is. +/// +/// Only valid if `fields.size == 1`. +typedef GoogleBigtableAdminV2TypeStructEncodingSingleton = $Empty; + /// A struct field and its type. class GoogleBigtableAdminV2TypeStructField { /// The field name (optional). @@ -4885,7 +5359,53 @@ class GoogleBigtableAdminV2TypeStructField { } /// Timestamp Values of type `Timestamp` are stored in `Value.timestamp_value`. -typedef GoogleBigtableAdminV2TypeTimestamp = $Empty; +class GoogleBigtableAdminV2TypeTimestamp { + /// The encoding to use when converting to or from lower level types. + GoogleBigtableAdminV2TypeTimestampEncoding? encoding; + + GoogleBigtableAdminV2TypeTimestamp({ + this.encoding, + }); + + GoogleBigtableAdminV2TypeTimestamp.fromJson(core.Map json_) + : this( + encoding: json_.containsKey('encoding') + ? GoogleBigtableAdminV2TypeTimestampEncoding.fromJson( + json_['encoding'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (encoding != null) 'encoding': encoding!, + }; +} + +/// Rules used to convert to or from lower level types. +class GoogleBigtableAdminV2TypeTimestampEncoding { + /// Encodes the number of microseconds since the Unix epoch using the given + /// `Int64` encoding. + /// + /// Values must be microsecond-aligned. Compatible with: - Java + /// `Instant.truncatedTo()` with `ChronoUnit.MICROS` + GoogleBigtableAdminV2TypeInt64Encoding? unixMicrosInt64; + + GoogleBigtableAdminV2TypeTimestampEncoding({ + this.unixMicrosInt64, + }); + + GoogleBigtableAdminV2TypeTimestampEncoding.fromJson(core.Map json_) + : this( + unixMicrosInt64: json_.containsKey('unixMicrosInt64') + ? GoogleBigtableAdminV2TypeInt64Encoding.fromJson( + json_['unixMicrosInt64'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (unixMicrosInt64 != null) 'unixMicrosInt64': unixMicrosInt64!, + }; +} /// A tablet is a defined by a start and end key and is explained in /// https://cloud.google.com/bigtable/docs/overview#architecture and diff --git a/generated/googleapis/lib/binaryauthorization/v1.dart b/generated/googleapis/lib/binaryauthorization/v1.dart index 2ff420179..76f01d331 100644 --- a/generated/googleapis/lib/binaryauthorization/v1.dart +++ b/generated/googleapis/lib/binaryauthorization/v1.dart @@ -1133,6 +1133,17 @@ class AdmissionRule { /// all of the images in the pod spec. /// - "ALWAYS_DENY" : This rule denies all pod creations. core.String? evaluationMode; + + /// The resource names of the attestors that must attest to a container image, + /// in the format `projects / * /attestors / * `. + /// + /// Each attestor must exist before a policy can reference it. To add an + /// attestor to a policy the principal issuing the policy change request must + /// be able to read the attestor resource. Note: this field must be non-empty + /// when the `evaluation_mode` field specifies `REQUIRE_ATTESTATION`, + /// otherwise it must be empty. + /// + /// Optional. core.List? requireAttestationsBy; AdmissionRule({ @@ -2624,12 +2635,16 @@ class Policy { /// Optional. core.List? admissionWhitelistPatterns; - /// Per-cluster admission rules. + /// A valid policy has only one of the following rule maps non-empty, i.e. + /// only one of `cluster_admission_rules`, + /// `kubernetes_namespace_admission_rules`, + /// `kubernetes_service_account_admission_rules`, or + /// `istio_service_identity_admission_rules` can be non-empty. /// - /// Cluster spec format: `location.clusterId`. There can be at most one - /// admission rule per cluster spec. A `location` is either a compute zone - /// (e.g. us-central1-a) or a region (e.g. us-central1). For `clusterId` - /// syntax restrictions see + /// Per-cluster admission rules. Cluster spec format: `location.clusterId`. + /// There can be at most one admission rule per cluster spec. A `location` is + /// either a compute zone (e.g. us-central1-a) or a region (e.g. us-central1). + /// For `clusterId` syntax restrictions see /// https://cloud.google.com/container-engine/reference/rest/v1/projects.zones.clusters. /// /// Optional. diff --git a/generated/googleapis/lib/calendar/v3.dart b/generated/googleapis/lib/calendar/v3.dart index 5fd032182..32b2df395 100644 --- a/generated/googleapis/lib/calendar/v3.dart +++ b/generated/googleapis/lib/calendar/v3.dart @@ -49,14 +49,65 @@ class CalendarApi { /// using Google Calendar static const calendarScope = 'https://www.googleapis.com/auth/calendar'; + /// See and change the sharing permissions of Google calendars you own + static const calendarAclsScope = + 'https://www.googleapis.com/auth/calendar.acls'; + + /// See the sharing permissions of Google calendars you own + static const calendarAclsReadonlyScope = + 'https://www.googleapis.com/auth/calendar.acls.readonly'; + + /// Make secondary Google calendars, and see, create, change, and delete + /// events on them + static const calendarAppCreatedScope = + 'https://www.googleapis.com/auth/calendar.app.created'; + + /// See, add, and remove Google calendars you’re subscribed to + static const calendarCalendarlistScope = + 'https://www.googleapis.com/auth/calendar.calendarlist'; + + /// See the list of Google calendars you’re subscribed to + static const calendarCalendarlistReadonlyScope = + 'https://www.googleapis.com/auth/calendar.calendarlist.readonly'; + + /// See and change the properties of Google calendars you have access to, and + /// create secondary calendars + static const calendarCalendarsScope = + 'https://www.googleapis.com/auth/calendar.calendars'; + + /// See the title, description, default time zone, and other properties of + /// Google calendars you have access to + static const calendarCalendarsReadonlyScope = + 'https://www.googleapis.com/auth/calendar.calendars.readonly'; + /// View and edit events on all your calendars static const calendarEventsScope = 'https://www.googleapis.com/auth/calendar.events'; + /// See the availability on Google calendars you have access to + static const calendarEventsFreebusyScope = + 'https://www.googleapis.com/auth/calendar.events.freebusy'; + + /// See, create, change, and delete events on Google calendars you own + static const calendarEventsOwnedScope = + 'https://www.googleapis.com/auth/calendar.events.owned'; + + /// See the events on Google calendars you own + static const calendarEventsOwnedReadonlyScope = + 'https://www.googleapis.com/auth/calendar.events.owned.readonly'; + + /// See the events on public calendars + static const calendarEventsPublicReadonlyScope = + 'https://www.googleapis.com/auth/calendar.events.public.readonly'; + /// View events on all your calendars static const calendarEventsReadonlyScope = 'https://www.googleapis.com/auth/calendar.events.readonly'; + /// View your availability in your calendars + static const calendarFreebusyScope = + 'https://www.googleapis.com/auth/calendar.freebusy'; + /// See and download any calendar you can access using your Google Calendar static const calendarReadonlyScope = 'https://www.googleapis.com/auth/calendar.readonly'; @@ -2575,10 +2626,10 @@ class AclRule { /// appear to users with reader access, but event details will be hidden. /// - "writer" - Provides read and write access to the calendar. Private /// events will appear to users with writer access, and event details will be - /// visible. + /// visible. Provides read access to the calendar's ACLs. /// - "owner" - Provides ownership of the calendar. This role has all of the - /// permissions of the writer role with the additional ability to see and - /// manipulate ACLs. + /// permissions of the writer role with the additional ability to manipulate + /// ACLs. core.String? role; /// The extent to which calendar access is granted by this ACL rule. diff --git a/generated/googleapis/lib/certificatemanager/v1.dart b/generated/googleapis/lib/certificatemanager/v1.dart index 6342da2a2..a5c1dfe43 100644 --- a/generated/googleapis/lib/certificatemanager/v1.dart +++ b/generated/googleapis/lib/certificatemanager/v1.dart @@ -1971,6 +1971,8 @@ class Certificate { /// certificate with cross-region internal Application Load Balancer. The /// certificates are served from all Google Cloud regions. See /// https://cloud.google.com/compute/docs/regions-zones. + /// - "CLIENT_AUTH" : Associated with certificates used as client certificates + /// in Backend mTLS. core.String? scope; /// If set, defines data of a self-managed certificate. @@ -1981,6 +1983,11 @@ class Certificate { /// Output only. core.String? updateTime; + /// The list of resources that use this Certificate. + /// + /// Output only. + core.List? usedBy; + Certificate({ this.createTime, this.description, @@ -1993,6 +2000,7 @@ class Certificate { this.scope, this.selfManaged, this.updateTime, + this.usedBy, }); Certificate.fromJson(core.Map json_) @@ -2022,6 +2030,10 @@ class Certificate { json_['selfManaged'] as core.Map) : null, updateTime: json_['updateTime'] as core.String?, + usedBy: (json_['usedBy'] as core.List?) + ?.map((value) => + UsedBy.fromJson(value as core.Map)) + .toList(), ); core.Map toJson() => { @@ -2036,6 +2048,7 @@ class Certificate { if (scope != null) 'scope': scope!, if (selfManaged != null) 'selfManaged': selfManaged!, if (updateTime != null) 'updateTime': updateTime!, + if (usedBy != null) 'usedBy': usedBy!, }; } @@ -3349,3 +3362,28 @@ class TrustStore { if (trustAnchors != null) 'trustAnchors': trustAnchors!, }; } + +/// Defines a resource that uses the certificate. +class UsedBy { + /// Full name of the resource https://google.aip.dev/122#full-resource-names, + /// e.g. `//certificatemanager.googleapis.com/projects / * /locations / * + /// /certificateMaps / * /certificateMapEntries / * ` or + /// `//compute.googleapis.com/projects / * /locations / * /targetHttpsProxies + /// / * `. + /// + /// Output only. + core.String? name; + + UsedBy({ + this.name, + }); + + UsedBy.fromJson(core.Map json_) + : this( + name: json_['name'] as core.String?, + ); + + core.Map toJson() => { + if (name != null) 'name': name!, + }; +} diff --git a/generated/googleapis/lib/chat/v1.dart b/generated/googleapis/lib/chat/v1.dart index c5d3d8eb6..30d666dda 100644 --- a/generated/googleapis/lib/chat/v1.dart +++ b/generated/googleapis/lib/chat/v1.dart @@ -30,6 +30,7 @@ /// - [SpacesSpaceEventsResource] /// - [UsersResource] /// - [UsersSpacesResource] +/// - [UsersSpacesSpaceNotificationSettingResource] /// - [UsersSpacesThreadsResource] library; @@ -125,8 +126,8 @@ class HangoutsChatApi { static const chatMembershipsReadonlyScope = 'https://www.googleapis.com/auth/chat.memberships.readonly'; - /// See, compose, send, update, and delete messages and their associated - /// attachments, and add, see, and delete reactions to messages. + /// See, compose, send, update, and delete messages as well as their message + /// content; add, see, and delete reactions to messages. static const chatMessagesScope = 'https://www.googleapis.com/auth/chat.messages'; @@ -134,7 +135,8 @@ class HangoutsChatApi { static const chatMessagesCreateScope = 'https://www.googleapis.com/auth/chat.messages.create'; - /// See, add, and delete reactions to messages in Google Chat + /// See, add, and delete reactions as well as their reaction content to + /// messages in Google Chat static const chatMessagesReactionsScope = 'https://www.googleapis.com/auth/chat.messages.reactions'; @@ -142,11 +144,12 @@ class HangoutsChatApi { static const chatMessagesReactionsCreateScope = 'https://www.googleapis.com/auth/chat.messages.reactions.create'; - /// View reactions to messages in Google Chat + /// View reactions as well as their reaction content to messages in Google + /// Chat static const chatMessagesReactionsReadonlyScope = 'https://www.googleapis.com/auth/chat.messages.reactions.readonly'; - /// See messages and their associated reactions and attachments in Google Chat + /// See messages as well as their reactions and message content in Google Chat static const chatMessagesReadonlyScope = 'https://www.googleapis.com/auth/chat.messages.readonly'; @@ -170,6 +173,10 @@ class HangoutsChatApi { static const chatUsersReadstateReadonlyScope = 'https://www.googleapis.com/auth/chat.users.readstate.readonly'; + /// Read and update your space settings + static const chatUsersSpacesettingsScope = + 'https://www.googleapis.com/auth/chat.users.spacesettings'; + final commons.ApiRequester _requester; MediaResource get media => MediaResource(_requester); @@ -1948,7 +1955,7 @@ class SpacesMessagesReactionsResource { /// Creates a reaction and adds it to a message. /// - /// Only unicode emojis are supported. For an example, see + /// For an example, see /// [Add a reaction to a message](https://developers.google.com/workspace/chat/create-reactions). /// Requires /// [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). @@ -1994,7 +2001,7 @@ class SpacesMessagesReactionsResource { /// Deletes a reaction to a message. /// - /// Only unicode emojis are supported. For an example, see + /// For an example, see /// [Delete a reaction](https://developers.google.com/workspace/chat/delete-reactions). /// Requires /// [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). @@ -2279,6 +2286,8 @@ class UsersResource { class UsersSpacesResource { final commons.ApiRequester _requester; + UsersSpacesSpaceNotificationSettingResource get spaceNotificationSetting => + UsersSpacesSpaceNotificationSettingResource(_requester); UsersSpacesThreadsResource get threads => UsersSpacesThreadsResource(_requester); @@ -2394,6 +2403,109 @@ class UsersSpacesResource { } } +class UsersSpacesSpaceNotificationSettingResource { + final commons.ApiRequester _requester; + + UsersSpacesSpaceNotificationSettingResource(commons.ApiRequester client) + : _requester = client; + + /// Gets the space notification state setting. + /// + /// Requires + /// [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). + /// + /// Request parameters: + /// + /// [name] - Required. Format: + /// users/{user}/spaces/{space}/spaceNotificationSetting - + /// `users/me/spaces/{space}/spaceNotificationSetting`, OR - + /// `users/user@example.com/spaces/{space}/spaceNotificationSetting`, OR - + /// `users/123456789/spaces/{space}/spaceNotificationSetting`. Note: Only the + /// caller's user id or email is allowed in the path. + /// Value must have pattern + /// `^users/\[^/\]+/spaces/\[^/\]+/spaceNotificationSetting$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [SpaceNotificationSetting]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return SpaceNotificationSetting.fromJson( + response_ as core.Map); + } + + /// Updates the space notification state setting. + /// + /// Requires + /// [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [name] - Identifier. The resource name of the space notification setting. + /// Format: `users/{user}/spaces/{space}/spaceNotificationSetting`. + /// Value must have pattern + /// `^users/\[^/\]+/spaces/\[^/\]+/spaceNotificationSetting$`. + /// + /// [updateMask] - Required. Supported field paths: - `notification_setting` - + /// `mute_setting` + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [SpaceNotificationSetting]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + SpaceNotificationSetting request, + core.String name, { + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return SpaceNotificationSetting.fromJson( + response_ as core.Map); + } +} + class UsersSpacesThreadsResource { final commons.ApiRequester _requester; @@ -2736,6 +2848,9 @@ class ActionStatus { /// /// Output only. class Annotation { + /// The metadata for a custom emoji. + CustomEmojiMetadata? customEmojiMetadata; + /// Length of the substring in the plain-text message body this annotation /// corresponds to. core.int? length; @@ -2756,12 +2871,14 @@ class Annotation { /// - "USER_MENTION" : A user is mentioned. /// - "SLASH_COMMAND" : A slash command is invoked. /// - "RICH_LINK" : A rich link annotation. + /// - "CUSTOM_EMOJI" : A custom emoji annotation. core.String? type; /// The metadata of user mention. UserMentionMetadata? userMention; Annotation({ + this.customEmojiMetadata, this.length, this.richLinkMetadata, this.slashCommand, @@ -2772,6 +2889,10 @@ class Annotation { Annotation.fromJson(core.Map json_) : this( + customEmojiMetadata: json_.containsKey('customEmojiMetadata') + ? CustomEmojiMetadata.fromJson(json_['customEmojiMetadata'] + as core.Map) + : null, length: json_['length'] as core.int?, richLinkMetadata: json_.containsKey('richLinkMetadata') ? RichLinkMetadata.fromJson(json_['richLinkMetadata'] @@ -2790,6 +2911,8 @@ class Annotation { ); core.Map toJson() => { + if (customEmojiMetadata != null) + 'customEmojiMetadata': customEmojiMetadata!, if (length != null) 'length': length!, if (richLinkMetadata != null) 'richLinkMetadata': richLinkMetadata!, if (slashCommand != null) 'slashCommand': slashCommand!, @@ -3310,6 +3433,28 @@ class CustomEmoji { }; } +/// Annotation metadata for custom emoji. +class CustomEmojiMetadata { + /// The custom emoji. + CustomEmoji? customEmoji; + + CustomEmojiMetadata({ + this.customEmoji, + }); + + CustomEmojiMetadata.fromJson(core.Map json_) + : this( + customEmoji: json_.containsKey('customEmoji') + ? CustomEmoji.fromJson( + json_['customEmoji'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (customEmoji != null) 'customEmoji': customEmoji!, + }; +} + /// Information about a deleted message. /// /// A message is deleted when `delete_time` is set. @@ -3318,14 +3463,18 @@ class DeletionMetadata { /// Possible string values are: /// - "DELETION_TYPE_UNSPECIFIED" : This value is unused. /// - "CREATOR" : User deleted their own message. - /// - "SPACE_OWNER" : The space owner deleted the message. - /// - "ADMIN" : A Google Workspace admin deleted the message. + /// - "SPACE_OWNER" : A space manager deleted the message. + /// - "ADMIN" : A Google Workspace administrator deleted the message. + /// Administrators can delete any message in the space, including messages + /// sent by any space member or Chat app. /// - "APP_MESSAGE_EXPIRY" : A Chat app deleted its own message when it /// expired. /// - "CREATOR_VIA_APP" : A Chat app deleted the message on behalf of the - /// user. - /// - "SPACE_OWNER_VIA_APP" : A Chat app deleted the message on behalf of the - /// space owner. + /// creator (using user authentication). + /// - "SPACE_OWNER_VIA_APP" : A Chat app deleted the message on behalf of a + /// space manager (using user authentication). + /// - "SPACE_MEMBER" : A member of the space deleted the message. Users can + /// delete messages sent by apps. core.String? deletionType; DeletionMetadata({ @@ -3461,8 +3610,6 @@ class DriveLinkData { /// An emoji that is used as a reaction to a message. class Emoji { /// A custom emoji. - /// - /// Output only. CustomEmoji? customEmoji; /// A basic emoji represented by a unicode string. @@ -3569,9 +3716,17 @@ class FormAction { /// /// For example, you can invoke an Apps Script script to handle the form. If the /// action is triggered, the form values are sent to the server. \[Google -/// Workspace Add-ons and Chat +/// Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1Action { + /// If this is true, then all widgets are considered required by this action. + /// + /// \[Google Workspace add-ons and Chat + /// apps\](https://developers.google.com/workspace/extend): + /// + /// Optional. + core.bool? allWidgetsAreRequired; + /// A custom function to invoke when the containing element is clicked or /// otherwise activated. /// @@ -3634,16 +3789,29 @@ class GoogleAppsCardV1Action { /// to `SPINNER`. core.bool? persistValues; + /// Fill this list with the names of widgets that this Action needs for a + /// valid submission. + /// + /// If the widgets listed here don't have a value when this Action is invoked, + /// the form submission is aborted. \[Google Workspace add-ons and Chat + /// apps\](https://developers.google.com/workspace/extend): + /// + /// Optional. + core.List? requiredWidgets; + GoogleAppsCardV1Action({ + this.allWidgetsAreRequired, this.function, this.interaction, this.loadIndicator, this.parameters, this.persistValues, + this.requiredWidgets, }); GoogleAppsCardV1Action.fromJson(core.Map json_) : this( + allWidgetsAreRequired: json_['allWidgetsAreRequired'] as core.bool?, function: json_['function'] as core.String?, interaction: json_['interaction'] as core.String?, loadIndicator: json_['loadIndicator'] as core.String?, @@ -3652,14 +3820,20 @@ class GoogleAppsCardV1Action { value as core.Map)) .toList(), persistValues: json_['persistValues'] as core.bool?, + requiredWidgets: (json_['requiredWidgets'] as core.List?) + ?.map((value) => value as core.String) + .toList(), ); core.Map toJson() => { + if (allWidgetsAreRequired != null) + 'allWidgetsAreRequired': allWidgetsAreRequired!, if (function != null) 'function': function!, if (interaction != null) 'interaction': interaction!, if (loadIndicator != null) 'loadIndicator': loadIndicator!, if (parameters != null) 'parameters': parameters!, if (persistValues != null) 'persistValues': persistValues!, + if (requiredWidgets != null) 'requiredWidgets': requiredWidgets!, }; } @@ -3670,14 +3844,14 @@ class GoogleAppsCardV1Action { /// snooze type and snooze time in the list of string parameters. To learn more, /// see /// \[`CommonEventObject`\](https://developers.google.com/workspace/chat/api/reference/rest/v1/Event#commoneventobject). -/// \[Google Workspace Add-ons and Chat +/// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): typedef GoogleAppsCardV1ActionParameter = $ActionParameter; /// The style options for the border of a card or widget, including the border /// type and color. /// -/// \[Google Workspace Add-ons and Chat +/// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1BorderStyle { /// The corner radius for the border. @@ -3729,7 +3903,7 @@ class GoogleAppsCardV1BorderStyle { /// For an example in Google Chat apps, see /// [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). /// To make an image a clickable button, specify an `Image` (not an -/// `ImageComponent`) and set an `onClick` action. \[Google Workspace Add-ons +/// `ImageComponent`) and set an `onClick` action. \[Google Workspace add-ons /// and Chat apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1Button { /// The alternative text that's used for accessibility. @@ -3843,7 +4017,7 @@ class GoogleAppsCardV1Button { /// /// For an example in Google Chat apps, see /// [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). -/// \[Google Workspace Add-ons and Chat +/// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1ButtonList { /// An array of buttons. @@ -3867,7 +4041,7 @@ class GoogleAppsCardV1ButtonList { } /// A card interface displayed in a Google Chat message or Google Workspace -/// Add-on. +/// add-on. /// /// Cards support a defined layout, interactive UI elements like buttons, and /// rich media like images. Use cards to present detailed information, gather @@ -3875,11 +4049,11 @@ class GoogleAppsCardV1ButtonList { /// [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how /// to build cards, see the following documentation: * For Google Chat apps, see /// [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). -/// * For Google Workspace Add-ons, see \[Card-based +/// * For Google Workspace add-ons, see \[Card-based /// interfaces\](https://developers.google.com/apps-script/add-ons/concepts/cards). /// Note: You can add up to 100 widgets per card. Any widgets beyond this limit /// are ignored. This limit applies to both card messages and dialogs in Google -/// Chat apps, and to cards in Google Workspace Add-ons. **Example: Card message +/// Chat apps, and to cards in Google Workspace add-ons. **Example: Card message /// for a Google Chat app** /// ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) /// To create the sample card message in Google Chat, use the following JSON: @@ -3900,7 +4074,7 @@ class GoogleAppsCardV1Card { /// The card's actions. /// /// Actions are added to the card's toolbar menu. \[Google Workspace - /// Add-ons\](https://developers.google.com/workspace/add-ons): For example, + /// add-ons\](https://developers.google.com/workspace/add-ons): For example, /// the following JSON constructs a card action menu with `Settings` and `Send /// Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", /// "onClick": { "action": { "functionName": "goToView", "parameters": [ { @@ -3910,11 +4084,11 @@ class GoogleAppsCardV1Card { /// ``` core.List? cardActions; - /// In Google Workspace Add-ons, sets the display properties of the + /// In Google Workspace add-ons, sets the display properties of the /// `peekCardHeader`. /// /// \[Google Workspace - /// Add-ons\](https://developers.google.com/workspace/add-ons): + /// add-ons\](https://developers.google.com/workspace/add-ons): /// Possible string values are: /// - "DISPLAY_STYLE_UNSPECIFIED" : Don't use. Unspecified. /// - "PEEK" : The header of the card appears at the bottom of the sidebar, @@ -3932,7 +4106,7 @@ class GoogleAppsCardV1Card { /// footers in /// [dialogs](https://developers.google.com/workspace/chat/dialogs), but not /// [card messages](https://developers.google.com/workspace/chat/create-messages#create). - /// \[Google Workspace Add-ons and Chat + /// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): GoogleAppsCardV1CardFixedFooter? fixedFooter; @@ -3945,7 +4119,7 @@ class GoogleAppsCardV1Card { /// Name of the card. /// /// Used as a card identifier in card navigation. \[Google Workspace - /// Add-ons\](https://developers.google.com/workspace/add-ons): + /// add-ons\](https://developers.google.com/workspace/add-ons): core.String? name; /// When displaying contextual content, the peek card header acts as a @@ -3953,7 +4127,7 @@ class GoogleAppsCardV1Card { /// cards and the contextual cards. /// /// \[Google Workspace - /// Add-ons\](https://developers.google.com/workspace/add-ons): + /// add-ons\](https://developers.google.com/workspace/add-ons): GoogleAppsCardV1CardHeader? peekCardHeader; /// The divider style between the header, sections and footer. @@ -4027,7 +4201,7 @@ class GoogleAppsCardV1Card { /// /// For example, an invoice card might include actions such as delete invoice, /// email invoice, or open the invoice in a browser. \[Google Workspace -/// Add-ons\](https://developers.google.com/workspace/add-ons): +/// add-ons\](https://developers.google.com/workspace/add-ons): class GoogleAppsCardV1CardAction { /// The label that displays as the action menu item. core.String? actionLabel; @@ -4063,7 +4237,7 @@ class GoogleAppsCardV1CardAction { /// [card messages](https://developers.google.com/workspace/chat/create-messages#create). /// For an example in Google Chat apps, see /// [Add a persistent footer](https://developers.google.com/workspace/chat/design-components-card-dialog#add_a_persistent_footer). -/// \[Google Workspace Add-ons and Chat +/// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1CardFixedFooter { /// The primary button of the fixed footer. @@ -4104,7 +4278,7 @@ class GoogleAppsCardV1CardFixedFooter { /// /// For an example in Google Chat apps, see /// [Add a header](https://developers.google.com/workspace/chat/design-components-card-dialog#add_a_header). -/// \[Google Workspace Add-ons and Chat +/// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1CardHeader { /// The alternative text of this image that's used for accessibility. @@ -4112,7 +4286,7 @@ class GoogleAppsCardV1CardHeader { /// The shape used to crop the image. /// - /// \[Google Workspace Add-ons and Chat + /// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): /// Possible string values are: /// - "SQUARE" : Default value. Applies a square mask to the image. For @@ -4236,7 +4410,7 @@ class GoogleAppsCardV1CarouselCard { /// A text, icon, or text and icon chip that users can click. /// -/// \[Google Workspace Add-ons and Chat +/// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1Chip { /// The alternative text that's used for accessibility. @@ -4312,7 +4486,7 @@ class GoogleAppsCardV1Chip { /// A list of chips layed out horizontally, which can either scroll horizontally /// or wrap to the next line. /// -/// \[Google Workspace Add-ons and Chat +/// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1ChipList { /// An array of chips. @@ -4349,7 +4523,7 @@ class GoogleAppsCardV1ChipList { /// Represent an expand and collapse control. /// -/// \[Google Workspace Add-ons and Chat +/// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1CollapseControl { /// Define a customizable button to collapse the section. @@ -4411,7 +4585,7 @@ class GoogleAppsCardV1CollapseControl { /// A column. /// -/// \[Google Workspace Add-ons and Chat +/// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend) class GoogleAppsCardV1Column { /// Specifies whether widgets align to the left, right, or center of a column. @@ -4493,7 +4667,7 @@ class GoogleAppsCardV1Column { /// * On iOS devices, the second column wraps if the screen width is less than /// or equal to 300 pt. * On Android devices, the second column wraps if the /// screen width is less than or equal to 320 dp. To include more than two -/// columns, or to use rows, use the `Grid` widget. \[Google Workspace Add-ons +/// columns, or to use rows, use the `Grid` widget. \[Google Workspace add-ons /// and Chat apps\](https://developers.google.com/workspace/extend): The add-on /// UIs that support columns include: * The dialog displayed when users open the /// add-on from an email draft. * The dialog displayed when users open the @@ -4523,11 +4697,14 @@ class GoogleAppsCardV1Columns { /// Lets users input a date, a time, or both a date and a time. /// -/// For an example in Google Chat apps, see +/// Supports form submission validation. When `Action.all_widgets_are_required` +/// is set to `true` or this widget is specified in `Action.required_widgets`, +/// the submission action is blocked unless a value is selected. For an example +/// in Google Chat apps, see /// [Let a user pick a date and time](https://developers.google.com/workspace/chat/design-interactive-card-dialog#let_a_user_pick_a_date_and_time). /// Users can input text or use the picker to select dates and times. If users /// input an invalid date or time, the picker shows an error that prompts users -/// to input the information correctly. \[Google Workspace Add-ons and Chat +/// to input the information correctly. \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1DateTimePicker { /// The text that prompts users to input a date, a time, or a date and time. @@ -4611,7 +4788,7 @@ class GoogleAppsCardV1DateTimePicker { /// /// For an example in Google Chat apps, see /// [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). -/// \[Google Workspace Add-ons and Chat +/// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1DecoratedText { /// The text that appears below `text`. @@ -4653,7 +4830,7 @@ class GoogleAppsCardV1DecoratedText { /// see /// [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) /// and \[Formatting text in Google Workspace - /// Add-ons\](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). + /// add-ons\](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). /// /// Required. core.String? text; @@ -4733,7 +4910,7 @@ class GoogleAppsCardV1DecoratedText { /// /// For an example in Google Chat apps, see /// [Add a horizontal divider between widgets](https://developers.google.com/workspace/chat/format-structure-card-dialog#add_a_horizontal_divider_between_widgets). -/// \[Google Workspace Add-ons and Chat +/// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): For example, the /// following JSON creates a divider: ``` "divider": {} ``` typedef GoogleAppsCardV1Divider = $Empty; @@ -4747,7 +4924,7 @@ typedef GoogleAppsCardV1Divider = $Empty; /// A grid supports any number of columns and items. The number of rows is /// determined by items divided by columns. A grid with 10 items and 2 columns /// has 5 rows. A grid with 11 items and 2 columns has 6 rows. \[Google -/// Workspace Add-ons and Chat +/// Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): For example, the /// following JSON creates a 2 column grid with a single item: ``` "grid": { /// "title": "A fine collection of items", "columnCount": 2, "borderStyle": { @@ -4815,7 +4992,7 @@ class GoogleAppsCardV1Grid { /// Represents an item in a grid layout. /// /// Items can contain text, an image, or both text and an image. \[Google -/// Workspace Add-ons and Chat +/// Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1GridItem { /// A user-specified identifier for this grid item. @@ -4879,7 +5056,7 @@ class GoogleAppsCardV1GridItem { /// \[built-in\](https://developers.google.com/workspace/chat/format-messages#builtinicons) /// and /// [custom](https://developers.google.com/workspace/chat/format-messages#customicons) -/// icons. \[Google Workspace Add-ons and Chat +/// icons. \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1Icon { /// A description of the icon used for accessibility. @@ -4963,7 +5140,7 @@ class GoogleAppsCardV1Icon { /// /// For an example, see /// [Add an image](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_an_image). -/// \[Google Workspace Add-ons and Chat +/// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1Image { /// The alternative text of this image that's used for accessibility. @@ -5004,7 +5181,7 @@ class GoogleAppsCardV1Image { /// Represents an image. /// -/// \[Google Workspace Add-ons and Chat +/// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1ImageComponent { /// The accessibility label for the image. @@ -5050,7 +5227,7 @@ class GoogleAppsCardV1ImageComponent { /// Represents the crop style applied to an image. /// -/// \[Google Workspace Add-ons and Chat +/// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): For example, here's /// how to apply a 16:9 aspect ratio: ``` cropStyle { "type": /// "RECTANGLE_CUSTOM", "aspectRatio": 16/9 } ``` @@ -5201,7 +5378,7 @@ class GoogleAppsCardV1NestedWidget { /// Represents how to respond when users click an interactive element on a card, /// such as a button. /// -/// \[Google Workspace Add-ons and Chat +/// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1OnClick { /// If specified, an action is triggered by this `onClick`. @@ -5210,7 +5387,7 @@ class GoogleAppsCardV1OnClick { /// A new card is pushed to the card stack after clicking if specified. /// /// \[Google Workspace - /// Add-ons\](https://developers.google.com/workspace/add-ons): + /// add-ons\](https://developers.google.com/workspace/add-ons): GoogleAppsCardV1Card? card; /// An add-on triggers this action when the action needs to open a link. @@ -5218,7 +5395,7 @@ class GoogleAppsCardV1OnClick { /// This differs from the `open_link` above in that this needs to talk to /// server to get the link. Thus some preparation work is required for web /// client to do before the open link action response comes back. \[Google - /// Workspace Add-ons\](https://developers.google.com/workspace/add-ons): + /// Workspace add-ons\](https://developers.google.com/workspace/add-ons): GoogleAppsCardV1Action? openDynamicLinkAction; /// If specified, this `onClick` triggers an open link action. @@ -5271,14 +5448,14 @@ class GoogleAppsCardV1OnClick { /// Represents an `onClick` event that opens a hyperlink. /// -/// \[Google Workspace Add-ons and Chat +/// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1OpenLink { /// Whether the client forgets about a link after opening it, or observes it /// until the window closes. /// /// \[Google Workspace - /// Add-ons\](https://developers.google.com/workspace/add-ons): + /// add-ons\](https://developers.google.com/workspace/add-ons): /// Possible string values are: /// - "NOTHING" : Default value. The card doesn't reload; nothing happens. /// - "RELOAD" : Reloads the card after the child window closes. If used in @@ -5291,7 +5468,7 @@ class GoogleAppsCardV1OpenLink { /// How to open a link. /// /// \[Google Workspace - /// Add-ons\](https://developers.google.com/workspace/add-ons): + /// add-ons\](https://developers.google.com/workspace/add-ons): /// Possible string values are: /// - "FULL_SIZE" : The link opens as a full-size window (if that's the frame /// used by the client). @@ -5327,7 +5504,7 @@ class GoogleAppsCardV1OpenLink { /// For example, showing non-primary actions in a card. You can use this widget /// when actions don't fit in the available space. To use, specify this widget /// in the `OnClick` action of widgets that support it. For example, in a -/// `Button`. \[Google Workspace Add-ons and Chat +/// `Button`. \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1OverflowMenu { /// The list of menu options. @@ -5354,7 +5531,7 @@ class GoogleAppsCardV1OverflowMenu { /// An option that users can invoke in an overflow menu. /// -/// \[Google Workspace Add-ons and Chat +/// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1OverflowMenuItem { /// Whether the menu option is disabled. @@ -5452,7 +5629,7 @@ class GoogleAppsCardV1PlatformDataSource { /// A section contains a collection of widgets that are rendered vertically in /// the order that they're specified. /// -/// \[Google Workspace Add-ons and Chat +/// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1Section { /// Define the expand and collapse button of the section. @@ -5477,7 +5654,7 @@ class GoogleAppsCardV1Section { /// text, see /// [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) /// and \[Formatting text in Google Workspace - /// Add-ons\](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). + /// add-ons\](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). core.String? header; /// The number of uncollapsible widgets which remain visible even when a @@ -5532,15 +5709,18 @@ class GoogleAppsCardV1Section { /// A widget that creates one or more UI items that users can select. /// -/// For example, a dropdown menu or checkboxes. You can use this widget to -/// collect data that can be predicted or enumerated. For an example in Google -/// Chat apps, see \[Add selectable UI +/// Supports form submission validation for `dropdown` and `multiselect` menus +/// only. When `Action.all_widgets_are_required` is set to `true` or this widget +/// is specified in `Action.required_widgets`, the submission action is blocked +/// unless a value is selected. For example, a dropdown menu or checkboxes. You +/// can use this widget to collect data that can be predicted or enumerated. For +/// an example in Google Chat apps, see \[Add selectable UI /// elements\](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). /// Chat apps can process the value of items that users select or input. For /// details about working with form inputs, see /// [Receive form data](https://developers.google.com/workspace/chat/read-form-data). /// To collect undefined or abstract data from users, use the TextInput widget. -/// \[Google Workspace Add-ons and Chat +/// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1SelectionInput { /// An external data source, such as a relational database. @@ -5607,7 +5787,7 @@ class GoogleAppsCardV1SelectionInput { /// - "SWITCH" : A set of switches. Users can turn on one or more switches. /// - "DROPDOWN" : A dropdown menu. Users can select one item from the menu. /// - "MULTI_SELECT" : A menu with a text box. Users can type and select one - /// or more items. For Google Workspace Add-ons, you must populate items using + /// or more items. For Google Workspace add-ons, you must populate items using /// a static array of `SelectionItem` objects. For Google Chat apps, you can /// also populate items using a dynamic data source and autosuggest items as /// users type in the menu. For example, users can start typing the name of a @@ -5619,7 +5799,7 @@ class GoogleAppsCardV1SelectionInput { /// Google Workspace. For examples of how to implement multiselect menus for /// Chat apps, see /// [Add a multiselect menu](https://developers.google.com/workspace/chat/design-interactive-card-dialog#multiselect-menu). - /// \[Google Workspace Add-ons and Chat + /// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): core.String? type; @@ -5683,7 +5863,7 @@ class GoogleAppsCardV1SelectionInput { /// An item that users can select in a selection input, such as a checkbox or /// switch. /// -/// Supports up to 100 items. \[Google Workspace Add-ons and Chat +/// Supports up to 100 items. \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1SelectionItem { /// For multiselect menus, a text description or label that's displayed below @@ -5741,7 +5921,7 @@ class GoogleAppsCardV1SelectionItem { /// One suggested value that users can enter in a text input field. /// -/// \[Google Workspace Add-ons and Chat +/// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1SuggestionItem { /// The value of a suggested input to a text input field. @@ -5774,7 +5954,7 @@ class GoogleAppsCardV1SuggestionItem { /// When referring to JavaScript, some users might enter `javascript` and others /// `java script`. Suggesting `JavaScript` can standardize how users interact /// with your app. When specified, `TextInput.type` is always `SINGLE_LINE`, -/// even if it's set to `MULTIPLE_LINE`. \[Google Workspace Add-ons and Chat +/// even if it's set to `MULTIPLE_LINE`. \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1Suggestions { /// A list of suggestions used for autocomplete recommendations in text input @@ -5800,13 +5980,13 @@ class GoogleAppsCardV1Suggestions { /// Either a toggle-style switch or a checkbox inside a `decoratedText` widget. /// -/// \[Google Workspace Add-ons and Chat +/// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): Only supported in /// the `decoratedText` widget. class GoogleAppsCardV1SwitchControl { /// How the switch appears in the user interface. /// - /// \[Google Workspace Add-ons and Chat + /// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): /// Possible string values are: /// - "SWITCH" : A toggle-style switch. @@ -5864,15 +6044,17 @@ class GoogleAppsCardV1SwitchControl { /// A field in which users can enter text. /// -/// Supports suggestions and on-change actions. For an example in Google Chat -/// apps, see +/// Supports suggestions and on-change actions. Supports form submission +/// validation. When `Action.all_widgets_are_required` is set to `true` or this +/// widget is specified in `Action.required_widgets`, the submission action is +/// blocked unless a value is entered. For an example in Google Chat apps, see /// [Add a field in which a user can enter text](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_field_in_which_a_user_can_enter_text). /// Chat apps receive and can process the value of entered text during form /// input events. For details about working with form inputs, see /// [Receive form data](https://developers.google.com/workspace/chat/read-form-data). /// When you need to collect undefined or abstract data from users, use a text /// input. To collect defined or enumerated data from users, use the -/// SelectionInput widget. \[Google Workspace Add-ons and Chat +/// SelectionInput widget. \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1TextInput { /// Specify what action to take when the text input field provides suggestions @@ -5881,7 +6063,7 @@ class GoogleAppsCardV1TextInput { /// If unspecified, the suggestions are set by `initialSuggestions` and are /// processed by the client. If specified, the app takes the action specified /// here, such as running a custom function. \[Google Workspace - /// Add-ons\](https://developers.google.com/workspace/add-ons): + /// add-ons\](https://developers.google.com/workspace/add-ons): /// /// Optional. GoogleAppsCardV1Action? autoCompleteAction; @@ -5905,7 +6087,7 @@ class GoogleAppsCardV1TextInput { /// `javascript` and others `java script`. Suggesting `JavaScript` can /// standardize how users interact with your app. When specified, /// `TextInput.type` is always `SINGLE_LINE`, even if it's set to - /// `MULTIPLE_LINE`. \[Google Workspace Add-ons and Chat + /// `MULTIPLE_LINE`. \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): GoogleAppsCardV1Suggestions? initialSuggestions; @@ -5947,6 +6129,12 @@ class GoogleAppsCardV1TextInput { /// lines. core.String? type; + /// Specify the input format validation necessary for this text field. + /// + /// \[Google Workspace add-ons and Chat + /// apps\](https://developers.google.com/workspace/extend): + GoogleAppsCardV1Validation? validation; + /// The value entered by a user, returned as part of a form input event. /// /// For details about working with form inputs, see @@ -5962,6 +6150,7 @@ class GoogleAppsCardV1TextInput { this.onChangeAction, this.placeholderText, this.type, + this.validation, this.value, }); @@ -5984,6 +6173,10 @@ class GoogleAppsCardV1TextInput { : null, placeholderText: json_['placeholderText'] as core.String?, type: json_['type'] as core.String?, + validation: json_.containsKey('validation') + ? GoogleAppsCardV1Validation.fromJson( + json_['validation'] as core.Map) + : null, value: json_['value'] as core.String?, ); @@ -5998,6 +6191,7 @@ class GoogleAppsCardV1TextInput { if (onChangeAction != null) 'onChangeAction': onChangeAction!, if (placeholderText != null) 'placeholderText': placeholderText!, if (type != null) 'type': type!, + if (validation != null) 'validation': validation!, if (value != null) 'value': value!, }; } @@ -6009,8 +6203,8 @@ class GoogleAppsCardV1TextInput { /// For more information about formatting text, see /// [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) /// and \[Formatting text in Google Workspace -/// Add-ons\](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). -/// \[Google Workspace Add-ons and Chat +/// add-ons\](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). +/// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): class GoogleAppsCardV1TextParagraph { /// The maximum number of lines of text that are displayed in the widget. @@ -6042,6 +6236,48 @@ class GoogleAppsCardV1TextParagraph { }; } +/// Represents the necessary data for validating the widget it's attached to. +/// +/// \[Google Workspace add-ons and Chat +/// apps\](https://developers.google.com/workspace/extend): +class GoogleAppsCardV1Validation { + /// Specify the character limit for text input widgets. + /// + /// Note that this is only used for text input and is ignored for other + /// widgets. \[Google Workspace add-ons and Chat + /// apps\](https://developers.google.com/workspace/extend): + core.int? characterLimit; + + /// Specify the type of the input widgets. + /// + /// \[Google Workspace add-ons and Chat + /// apps\](https://developers.google.com/workspace/extend): + /// Possible string values are: + /// - "INPUT_TYPE_UNSPECIFIED" : Unspecified type. Do not use. + /// - "TEXT" : Regular text that accepts all characters. + /// - "INTEGER" : An integer value. + /// - "FLOAT" : A float value. + /// - "EMAIL" : An email address. + /// - "EMOJI_PICKER" : A emoji selected from system-provided emoji picker. + core.String? inputType; + + GoogleAppsCardV1Validation({ + this.characterLimit, + this.inputType, + }); + + GoogleAppsCardV1Validation.fromJson(core.Map json_) + : this( + characterLimit: json_['characterLimit'] as core.int?, + inputType: json_['inputType'] as core.String?, + ); + + core.Map toJson() => { + if (characterLimit != null) 'characterLimit': characterLimit!, + if (inputType != null) 'inputType': inputType!, + }; +} + /// Each card is made up of widgets. /// /// A widget is a composite object that can represent one of text, images, @@ -6115,7 +6351,7 @@ class GoogleAppsCardV1Widget { /// A grid supports any number of columns and items. The number of rows is /// determined by the upper bounds of the number items divided by the number /// of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 - /// items and 2 columns has 6 rows. \[Google Workspace Add-ons and Chat + /// items and 2 columns has 6 rows. \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend): For example, the /// following JSON creates a 2 column grid with a single item: ``` "grid": { /// "title": "A fine collection of items", "columnCount": 2, "borderStyle": { @@ -6174,7 +6410,7 @@ class GoogleAppsCardV1Widget { /// text, see /// [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) /// and \[Formatting text in Google Workspace - /// Add-ons\](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). + /// add-ons\](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). /// For example, the following JSON creates a bolded text: ``` /// "textParagraph": { "text": " *bold text*" } ``` GoogleAppsCardV1TextParagraph? textParagraph; @@ -6268,7 +6504,7 @@ class GoogleAppsCardV1Widget { /// The supported widgets that you can include in a column. /// -/// \[Google Workspace Add-ons and Chat +/// \[Google Workspace add-ons and Chat /// apps\](https://developers.google.com/workspace/extend) class GoogleAppsCardV1Widgets { /// ButtonList widget. @@ -8224,11 +8460,11 @@ class SetUpSpaceRequest { }; } -/// A -/// [slash command](https://developers.google.com/workspace/chat/slash-commands) -/// in Google Chat. +/// Metadata about a +/// [slash command](https://developers.google.com/workspace/chat/commands) in +/// Google Chat. class SlashCommand { - /// The ID of the slash command invoked. + /// The ID of the slash command. core.String? commandId; SlashCommand({ @@ -8402,7 +8638,14 @@ class Space { /// /// Input for updating exact space permission settings, where existing /// permission settings are replaced. Output lists current permission - /// settings. + /// settings. Reading and updating permission settings supports: - In + /// [Developer Preview](https://developers.google.com/workspace/preview), + /// [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) + /// with + /// [administrator approval](https://support.google.com/a?p=chat-app-auth) + /// with the `chat.app.spaces` scope. Only populated and settable when the + /// Chat app created the space. - + /// [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) /// /// Optional. PermissionSettings? permissionSettings; @@ -8412,6 +8655,13 @@ class Space { /// Predefined space permission settings, input only when creating a space. If /// the field is not set, a collaboration space is created. After you create /// the space, settings are populated in the `PermissionSettings` field. + /// Setting predefined permission settings supports: - In + /// [Developer Preview](https://developers.google.com/workspace/preview), + /// [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) + /// with + /// [administrator approval](https://support.google.com/a?p=chat-app-auth) + /// with the `chat.app.spaces` or `chat.app.spaces.create` scopes. - + /// [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) /// /// Optional. /// Possible string values are: @@ -8992,6 +9242,58 @@ class SpaceEvent { }; } +/// The notification setting of a user in a space. +class SpaceNotificationSetting { + /// The space notification mute setting. + /// Possible string values are: + /// - "MUTE_SETTING_UNSPECIFIED" : Reserved. + /// - "UNMUTED" : The user will receive notifications for the space based on + /// the notification setting. + /// - "MUTED" : The user will not receive any notifications for the space, + /// regardless of the notification setting. + core.String? muteSetting; + + /// Identifier. + /// + /// The resource name of the space notification setting. Format: + /// `users/{user}/spaces/{space}/spaceNotificationSetting`. + core.String? name; + + /// The notification setting. + /// Possible string values are: + /// - "NOTIFICATION_SETTING_UNSPECIFIED" : Reserved. + /// - "ALL" : Notifications are triggered by @mentions, followed threads, + /// first message of new threads. All new threads are automatically followed, + /// unless manually unfollowed by the user. + /// - "MAIN_CONVERSATIONS" : The notification is triggered by @mentions, + /// followed threads, first message of new threads. Not available for 1:1 + /// direct messages. + /// - "FOR_YOU" : The notification is triggered by @mentions, followed + /// threads. Not available for 1:1 direct messages. + /// - "OFF" : Notification is off. + core.String? notificationSetting; + + SpaceNotificationSetting({ + this.muteSetting, + this.name, + this.notificationSetting, + }); + + SpaceNotificationSetting.fromJson(core.Map json_) + : this( + muteSetting: json_['muteSetting'] as core.String?, + name: json_['name'] as core.String?, + notificationSetting: json_['notificationSetting'] as core.String?, + ); + + core.Map toJson() => { + if (muteSetting != null) 'muteSetting': muteSetting!, + if (name != null) 'name': name!, + if (notificationSetting != null) + 'notificationSetting': notificationSetting!, + }; +} + /// A user's read state within a space, used to identify read and unread /// messages. class SpaceReadState { diff --git a/generated/googleapis/lib/chromemanagement/v1.dart b/generated/googleapis/lib/chromemanagement/v1.dart index 35139df29..69d02a586 100644 --- a/generated/googleapis/lib/chromemanagement/v1.dart +++ b/generated/googleapis/lib/chromemanagement/v1.dart @@ -58,6 +58,15 @@ class ChromeManagementApi { static const chromeManagementAppdetailsReadonlyScope = 'https://www.googleapis.com/auth/chrome.management.appdetails.readonly'; + /// See, edit, delete, and take other necessary actions on Chrome browser + /// profiles managed by your organization + static const chromeManagementProfilesScope = + 'https://www.googleapis.com/auth/chrome.management.profiles'; + + /// See Chrome browser profiles managed by your organization + static const chromeManagementProfilesReadonlyScope = + 'https://www.googleapis.com/auth/chrome.management.profiles.readonly'; + /// See reports about devices and Chrome browsers managed within your /// organization static const chromeManagementReportsReadonlyScope = @@ -2059,7 +2068,8 @@ class GoogleChromeManagementV1AppUsageData { /// Possible string values are: /// - "TELEMETRY_APPLICATION_TYPE_UNSPECIFIED" : Application type unknown. /// - "APPLICATION_TYPE_ARC" : Application type arc (Android app). - /// - "APPLICATION_TYPE_BUILT_IN" : Application type built-in. + /// - "APPLICATION_TYPE_BUILT_IN" : Deprecated. This vaule is no longer used. + /// Application type built-in. /// - "APPLICATION_TYPE_CROSTINI" : Application type Linux (via Crostini). /// - "APPLICATION_TYPE_CHROME_APP" : Application type Chrome app. /// - "APPLICATION_TYPE_WEB" : Application type web. @@ -2505,6 +2515,7 @@ class GoogleChromeManagementV1BrowserVersion { /// - "DEV" : Dev release channel. /// - "BETA" : Beta release channel. /// - "STABLE" : Stable release channel. + /// - "LTS" : Long-term support release channel. core.String? channel; /// Count grouped by device_system and major version @@ -5621,7 +5632,8 @@ class GoogleChromeManagementV1TelemetryAppInstallEvent { /// Possible string values are: /// - "TELEMETRY_APPLICATION_TYPE_UNSPECIFIED" : Application type unknown. /// - "APPLICATION_TYPE_ARC" : Application type arc (Android app). - /// - "APPLICATION_TYPE_BUILT_IN" : Application type built-in. + /// - "APPLICATION_TYPE_BUILT_IN" : Deprecated. This vaule is no longer used. + /// Application type built-in. /// - "APPLICATION_TYPE_CROSTINI" : Application type Linux (via Crostini). /// - "APPLICATION_TYPE_CHROME_APP" : Application type Chrome app. /// - "APPLICATION_TYPE_WEB" : Application type web. @@ -5766,7 +5778,8 @@ class GoogleChromeManagementV1TelemetryAppLaunchEvent { /// Possible string values are: /// - "TELEMETRY_APPLICATION_TYPE_UNSPECIFIED" : Application type unknown. /// - "APPLICATION_TYPE_ARC" : Application type arc (Android app). - /// - "APPLICATION_TYPE_BUILT_IN" : Application type built-in. + /// - "APPLICATION_TYPE_BUILT_IN" : Deprecated. This vaule is no longer used. + /// Application type built-in. /// - "APPLICATION_TYPE_CROSTINI" : Application type Linux (via Crostini). /// - "APPLICATION_TYPE_CHROME_APP" : Application type Chrome app. /// - "APPLICATION_TYPE_WEB" : Application type web. @@ -5817,7 +5830,8 @@ class GoogleChromeManagementV1TelemetryAppUninstallEvent { /// Possible string values are: /// - "TELEMETRY_APPLICATION_TYPE_UNSPECIFIED" : Application type unknown. /// - "APPLICATION_TYPE_ARC" : Application type arc (Android app). - /// - "APPLICATION_TYPE_BUILT_IN" : Application type built-in. + /// - "APPLICATION_TYPE_BUILT_IN" : Deprecated. This vaule is no longer used. + /// Application type built-in. /// - "APPLICATION_TYPE_CROSTINI" : Application type Linux (via Crostini). /// - "APPLICATION_TYPE_CHROME_APP" : Application type Chrome app. /// - "APPLICATION_TYPE_WEB" : Application type web. diff --git a/generated/googleapis/lib/classroom/v1.dart b/generated/googleapis/lib/classroom/v1.dart index ff8536a81..dc1628056 100644 --- a/generated/googleapis/lib/classroom/v1.dart +++ b/generated/googleapis/lib/classroom/v1.dart @@ -59,6 +59,15 @@ export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' /// Manages classes, rosters, and invitations in Google Classroom. class ClassroomApi { + /// See and update its own attachments to posts in Google Classroom + static const classroomAddonsStudentScope = + 'https://www.googleapis.com/auth/classroom.addons.student'; + + /// See, create, and update its own attachments to posts in classes you teach + /// in Google Classroom + static const classroomAddonsTeacherScope = + 'https://www.googleapis.com/auth/classroom.addons.teacher'; + /// View and manage announcements in Google Classroom static const classroomAnnouncementsScope = 'https://www.googleapis.com/auth/classroom.announcements'; @@ -4920,8 +4929,11 @@ class CoursesTopicsResource { /// This method returns the following error codes: * `PERMISSION_DENIED` if /// the requesting user is not permitted to access the requested course, /// create a topic in the requested course, or for access errors. * - /// `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the - /// requested course does not exist. + /// `INVALID_ARGUMENT` if the request is malformed. * `ALREADY_EXISTS` if + /// there exists a topic in the course with the same name. * + /// `FAILED_PRECONDITION` for the following request error: * + /// CourseTopicLimitReached * `NOT_FOUND` if the requested course does not + /// exist. /// /// [request] - The metadata request object. /// @@ -5114,7 +5126,8 @@ class CoursesTopicsResource { /// This method returns the following error codes: * `PERMISSION_DENIED` if /// the requesting developer project did not create the corresponding topic or /// for access errors. * `INVALID_ARGUMENT` if the request is malformed. * - /// `NOT_FOUND` if the requested course or topic does not exist + /// `FAILED_PRECONDITION` if there exists a topic in the course with the same + /// name. * `NOT_FOUND` if the requested course or topic does not exist /// /// [request] - The metadata request object. /// diff --git a/generated/googleapis/lib/cloudasset/v1.dart b/generated/googleapis/lib/cloudasset/v1.dart index e6d75d763..0c6c8105c 100644 --- a/generated/googleapis/lib/cloudasset/v1.dart +++ b/generated/googleapis/lib/cloudasset/v1.dart @@ -1037,7 +1037,7 @@ class V1Resource { /// [destinationParent] - Required. Name of the Google Cloud folder or /// organization to reparent the target resource. The analysis will be /// performed against hypothetically moving the resource to this specified - /// desitination parent. This can only be a folder number (such as + /// destination parent. This can only be a folder number (such as /// "folders/123") or an organization number (such as "organizations/123"). /// /// [view] - Analysis view indicating what information should be included in @@ -3660,7 +3660,7 @@ class GoogleCloudAssetV1BigQueryDestination { /// - "PARTITION_KEY_UNSPECIFIED" : Unspecified partition key. Tables won't be /// partitioned using this option. /// - "REQUEST_TIME" : The time when the request is received. If specified as - /// partition key, the result table(s) is partitoned by the RequestTime + /// partition key, the result table(s) is partitioned by the RequestTime /// column, an additional timestamp column representing when the request was /// received. core.String? partitionKey; @@ -5793,7 +5793,7 @@ class IamPolicySearchResult { /// /// If an IAM policy is set on a resource (like VM instance, Cloud Storage /// bucket), the project field will indicate the project that contains the - /// resource. If an IAM policy is set on a folder or orgnization, this field + /// resource. If an IAM policy is set on a folder or organization, this field /// will be empty. To search against the `project`: * specify the `scope` /// field as this project in your search request. core.String? project; @@ -6507,13 +6507,13 @@ class PartitionSpec { /// - "PARTITION_KEY_UNSPECIFIED" : Unspecified partition key. If used, it /// means using non-partitioned table. /// - "READ_TIME" : The time when the snapshot is taken. If specified as - /// partition key, the result table(s) is partitoned by the additional + /// partition key, the result table(s) is partitioned by the additional /// timestamp column, readTime. If \[read_time\] in ExportAssetsRequest is /// specified, the readTime column's value will be the same as it. Otherwise, /// its value will be the current time that is used to take the snapshot. /// - "REQUEST_TIME" : The time when the request is received and started to be /// processed. If specified as partition key, the result table(s) is - /// partitoned by the requestTime column, an additional timestamp column + /// partitioned by the requestTime column, an additional timestamp column /// representing when the request was received. core.String? partitionKey; diff --git a/generated/googleapis/lib/cloudbuild/v1.dart b/generated/googleapis/lib/cloudbuild/v1.dart index e8bd1f2f3..d7f27f3ea 100644 --- a/generated/googleapis/lib/cloudbuild/v1.dart +++ b/generated/googleapis/lib/cloudbuild/v1.dart @@ -3553,6 +3553,14 @@ class ArtifactObjects { /// Artifacts produced by a build that should be uploaded upon successful /// completion of all build steps. class Artifacts { + /// A list of Go modules to be uploaded to Artifact Registry upon successful + /// completion of all build steps. + /// + /// If any objects fail to be pushed, the build is marked FAILURE. + /// + /// Optional. + core.List? goModules; + /// A list of images to be pushed upon the successful completion of all build /// steps. /// @@ -3598,6 +3606,7 @@ class Artifacts { core.List? pythonPackages; Artifacts({ + this.goModules, this.images, this.mavenArtifacts, this.npmPackages, @@ -3607,6 +3616,10 @@ class Artifacts { Artifacts.fromJson(core.Map json_) : this( + goModules: (json_['goModules'] as core.List?) + ?.map((value) => GoModule.fromJson( + value as core.Map)) + .toList(), images: (json_['images'] as core.List?) ?.map((value) => value as core.String) .toList(), @@ -3629,6 +3642,7 @@ class Artifacts { ); core.Map toJson() => { + if (goModules != null) 'goModules': goModules!, if (images != null) 'images': images!, if (mavenArtifacts != null) 'mavenArtifacts': mavenArtifacts!, if (npmPackages != null) 'npmPackages': npmPackages!, @@ -4114,6 +4128,12 @@ class Build { /// Output only. core.String? createTime; + /// Dependencies that the Cloud Build worker will fetch before executing user + /// steps. + /// + /// Optional. + core.List? dependencies; + /// Contains information about the build when status=FAILURE. /// /// Output only. @@ -4279,6 +4299,7 @@ class Build { this.availableSecrets, this.buildTriggerId, this.createTime, + this.dependencies, this.failureInfo, this.finishTime, this.gitConfig, @@ -4322,6 +4343,10 @@ class Build { : null, buildTriggerId: json_['buildTriggerId'] as core.String?, createTime: json_['createTime'] as core.String?, + dependencies: (json_['dependencies'] as core.List?) + ?.map((value) => Dependency.fromJson( + value as core.Map)) + .toList(), failureInfo: json_.containsKey('failureInfo') ? FailureInfo.fromJson( json_['failureInfo'] as core.Map) @@ -4399,6 +4424,7 @@ class Build { if (availableSecrets != null) 'availableSecrets': availableSecrets!, if (buildTriggerId != null) 'buildTriggerId': buildTriggerId!, if (createTime != null) 'createTime': createTime!, + if (dependencies != null) 'dependencies': dependencies!, if (failureInfo != null) 'failureInfo': failureInfo!, if (finishTime != null) 'finishTime': finishTime!, if (gitConfig != null) 'gitConfig': gitConfig!, @@ -4510,6 +4536,13 @@ class BuildOptions { /// in the build configuration file. core.bool? dynamicSubstitutions; + /// Option to specify whether structured logging is enabled. + /// + /// If true, JSON-formatted logs are parsed as structured logs. + /// + /// Optional. + core.bool? enableStructuredLogging; + /// A list of global environment variable definitions that will exist for all /// build steps in this build. /// @@ -4562,6 +4595,11 @@ class BuildOptions { /// Optional. PoolOption? pool; + /// Option to specify the Pub/Sub topic to receive build status updates. + /// + /// Optional. + core.String? pubsubTopic; + /// Requested verifiability options. /// Possible string values are: /// - "NOT_VERIFIED" : Not a verifiable build (the default). @@ -4610,11 +4648,13 @@ class BuildOptions { this.defaultLogsBucketBehavior, this.diskSizeGb, this.dynamicSubstitutions, + this.enableStructuredLogging, this.env, this.logStreamingOption, this.logging, this.machineType, this.pool, + this.pubsubTopic, this.requestedVerifyOption, this.secretEnv, this.sourceProvenanceHash, @@ -4630,6 +4670,8 @@ class BuildOptions { json_['defaultLogsBucketBehavior'] as core.String?, diskSizeGb: json_['diskSizeGb'] as core.String?, dynamicSubstitutions: json_['dynamicSubstitutions'] as core.bool?, + enableStructuredLogging: + json_['enableStructuredLogging'] as core.bool?, env: (json_['env'] as core.List?) ?.map((value) => value as core.String) .toList(), @@ -4640,6 +4682,7 @@ class BuildOptions { ? PoolOption.fromJson( json_['pool'] as core.Map) : null, + pubsubTopic: json_['pubsubTopic'] as core.String?, requestedVerifyOption: json_['requestedVerifyOption'] as core.String?, secretEnv: (json_['secretEnv'] as core.List?) ?.map((value) => value as core.String) @@ -4663,12 +4706,15 @@ class BuildOptions { if (diskSizeGb != null) 'diskSizeGb': diskSizeGb!, if (dynamicSubstitutions != null) 'dynamicSubstitutions': dynamicSubstitutions!, + if (enableStructuredLogging != null) + 'enableStructuredLogging': enableStructuredLogging!, if (env != null) 'env': env!, if (logStreamingOption != null) 'logStreamingOption': logStreamingOption!, if (logging != null) 'logging': logging!, if (machineType != null) 'machineType': machineType!, if (pool != null) 'pool': pool!, + if (pubsubTopic != null) 'pubsubTopic': pubsubTopic!, if (requestedVerifyOption != null) 'requestedVerifyOption': requestedVerifyOption!, if (secretEnv != null) 'secretEnv': secretEnv!, @@ -5443,6 +5489,36 @@ class DefaultServiceAccount { }; } +/// A dependency that the Cloud Build worker will fetch before executing user +/// steps. +class Dependency { + /// If set to true disable all dependency fetching (ignoring the default + /// source as well). + core.bool? empty; + + /// Represents a git repository as a build dependency. + GitSourceDependency? gitSource; + + Dependency({ + this.empty, + this.gitSource, + }); + + Dependency.fromJson(core.Map json_) + : this( + empty: json_['empty'] as core.bool?, + gitSource: json_.containsKey('gitSource') + ? GitSourceDependency.fromJson( + json_['gitSource'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (empty != null) 'empty': empty!, + if (gitSource != null) 'gitSource': gitSource!, + }; +} + /// This config defines the location of a source through Developer Connect. class DeveloperConnectConfig { /// Directory, relative to the source root, in which to run the build. @@ -6383,6 +6459,172 @@ class GitSource { }; } +/// Represents a git repository as a build dependency. +class GitSourceDependency { + /// How much history should be fetched for the build (default 1, -1 for all + /// history). + /// + /// Optional. + core.String? depth; + + /// Where should the files be placed on the worker. + /// + /// Required. + core.String? destPath; + + /// True if submodules should be fetched too (default false). + /// + /// Optional. + core.bool? recurseSubmodules; + + /// The kind of repo (url or dev connect). + /// + /// Required. + GitSourceRepository? repository; + + /// The revision that we will fetch the repo at. + /// + /// Required. + core.String? revision; + + GitSourceDependency({ + this.depth, + this.destPath, + this.recurseSubmodules, + this.repository, + this.revision, + }); + + GitSourceDependency.fromJson(core.Map json_) + : this( + depth: json_['depth'] as core.String?, + destPath: json_['destPath'] as core.String?, + recurseSubmodules: json_['recurseSubmodules'] as core.bool?, + repository: json_.containsKey('repository') + ? GitSourceRepository.fromJson( + json_['repository'] as core.Map) + : null, + revision: json_['revision'] as core.String?, + ); + + core.Map toJson() => { + if (depth != null) 'depth': depth!, + if (destPath != null) 'destPath': destPath!, + if (recurseSubmodules != null) 'recurseSubmodules': recurseSubmodules!, + if (repository != null) 'repository': repository!, + if (revision != null) 'revision': revision!, + }; +} + +/// A repository for a git source. +class GitSourceRepository { + /// The Developer Connect Git repository link or the url that matches a + /// repository link in the current project, formatted as `projects / * + /// /locations / * /connections / * /gitRepositoryLink / * ` + core.String? developerConnect; + + /// Location of the Git repository. + core.String? url; + + GitSourceRepository({ + this.developerConnect, + this.url, + }); + + GitSourceRepository.fromJson(core.Map json_) + : this( + developerConnect: json_['developerConnect'] as core.String?, + url: json_['url'] as core.String?, + ); + + core.Map toJson() => { + if (developerConnect != null) 'developerConnect': developerConnect!, + if (url != null) 'url': url!, + }; +} + +/// Go module to upload to Artifact Registry upon successful completion of all +/// build steps. +/// +/// A module refers to all dependencies in a go.mod file. +class GoModule { + /// The Go module's "module path". + /// + /// e.g. example.com/foo/v2 + /// + /// Optional. + core.String? modulePath; + + /// The Go module's semantic version in the form vX.Y.Z. e.g. v0.1.1 + /// Pre-release identifiers can also be added by appending a dash and dot + /// separated ASCII alphanumeric characters and hyphens. + /// + /// e.g. v0.2.3-alpha.x.12m.5 + /// + /// Optional. + core.String? moduleVersion; + + /// Location of the Artifact Registry repository. + /// + /// i.e. us-east1 Defaults to the build’s location. + /// + /// Optional. + core.String? repositoryLocation; + + /// Artifact Registry repository name. + /// + /// Specified Go modules will be zipped and uploaded to Artifact Registry with + /// this location as a prefix. e.g. my-go-repo + /// + /// Optional. + core.String? repositoryName; + + /// Project ID of the Artifact Registry repository. + /// + /// Defaults to the build project. + /// + /// Optional. + core.String? repositoryProjectId; + + /// Source path of the go.mod file in the build's workspace. + /// + /// If not specified, this will default to the current directory. e.g. + /// ~/code/go/mypackage + /// + /// Optional. + core.String? sourcePath; + + GoModule({ + this.modulePath, + this.moduleVersion, + this.repositoryLocation, + this.repositoryName, + this.repositoryProjectId, + this.sourcePath, + }); + + GoModule.fromJson(core.Map json_) + : this( + modulePath: json_['modulePath'] as core.String?, + moduleVersion: json_['moduleVersion'] as core.String?, + repositoryLocation: json_['repositoryLocation'] as core.String?, + repositoryName: json_['repositoryName'] as core.String?, + repositoryProjectId: json_['repositoryProjectId'] as core.String?, + sourcePath: json_['sourcePath'] as core.String?, + ); + + core.Map toJson() => { + if (modulePath != null) 'modulePath': modulePath!, + if (moduleVersion != null) 'moduleVersion': moduleVersion!, + if (repositoryLocation != null) + 'repositoryLocation': repositoryLocation!, + if (repositoryName != null) 'repositoryName': repositoryName!, + if (repositoryProjectId != null) + 'repositoryProjectId': repositoryProjectId!, + if (sourcePath != null) 'sourcePath': sourcePath!, + }; +} + /// Container message for hash values. class Hash { /// The type of hash that was performed. @@ -6390,6 +6632,8 @@ class Hash { /// - "NONE" : No hash requested. /// - "SHA256" : Use a sha256 hash. /// - "MD5" : Use a md5 hash. + /// - "GO_MODULE_H1" : Dirhash of a Go module's source code which is then + /// hex-encoded. /// - "SHA512" : Use a sha512 hash. core.String? type; @@ -7497,6 +7741,11 @@ class Results { /// read-only and can't be substituted. core.List? buildStepOutputs; + /// Go module artifacts uploaded to Artifact Registry at the end of the build. + /// + /// Optional. + core.List? goModules; + /// Container images that were built as a part of the build. core.List? images; @@ -7519,6 +7768,7 @@ class Results { this.artifactTiming, this.buildStepImages, this.buildStepOutputs, + this.goModules, this.images, this.mavenArtifacts, this.npmPackages, @@ -7539,6 +7789,10 @@ class Results { buildStepOutputs: (json_['buildStepOutputs'] as core.List?) ?.map((value) => value as core.String) .toList(), + goModules: (json_['goModules'] as core.List?) + ?.map((value) => UploadedGoModule.fromJson( + value as core.Map)) + .toList(), images: (json_['images'] as core.List?) ?.map((value) => BuiltImage.fromJson( value as core.Map)) @@ -7563,6 +7817,7 @@ class Results { if (artifactTiming != null) 'artifactTiming': artifactTiming!, if (buildStepImages != null) 'buildStepImages': buildStepImages!, if (buildStepOutputs != null) 'buildStepOutputs': buildStepOutputs!, + if (goModules != null) 'goModules': goModules!, if (images != null) 'images': images!, if (mavenArtifacts != null) 'mavenArtifacts': mavenArtifacts!, if (npmPackages != null) 'npmPackages': npmPackages!, @@ -8085,6 +8340,46 @@ class TimeSpan { }; } +/// A Go module artifact uploaded to Artifact Registry using the GoModule +/// directive. +class UploadedGoModule { + /// Hash types and values of the Go Module Artifact. + FileHashes? fileHashes; + + /// Stores timing information for pushing the specified artifact. + /// + /// Output only. + TimeSpan? pushTiming; + + /// URI of the uploaded artifact. + core.String? uri; + + UploadedGoModule({ + this.fileHashes, + this.pushTiming, + this.uri, + }); + + UploadedGoModule.fromJson(core.Map json_) + : this( + fileHashes: json_.containsKey('fileHashes') + ? FileHashes.fromJson( + json_['fileHashes'] as core.Map) + : null, + pushTiming: json_.containsKey('pushTiming') + ? TimeSpan.fromJson( + json_['pushTiming'] as core.Map) + : null, + uri: json_['uri'] as core.String?, + ); + + core.Map toJson() => { + if (fileHashes != null) 'fileHashes': fileHashes!, + if (pushTiming != null) 'pushTiming': pushTiming!, + if (uri != null) 'uri': uri!, + }; +} + /// A Maven artifact uploaded using the MavenArtifact directive. class UploadedMavenArtifact { /// Hash types and values of the Maven Artifact. diff --git a/generated/googleapis/lib/cloudbuild/v2.dart b/generated/googleapis/lib/cloudbuild/v2.dart index 7d4535528..a00cf50e4 100644 --- a/generated/googleapis/lib/cloudbuild/v2.dart +++ b/generated/googleapis/lib/cloudbuild/v2.dart @@ -426,6 +426,10 @@ class ProjectsLocationsConnectionsResource { /// /// [pageToken] - Page start. /// + /// [returnPartialSuccess] - Optional. If set to true, the response will + /// return partial results when some regions are unreachable. If set to false, + /// the response will fail if any region is unreachable. + /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// @@ -440,11 +444,14 @@ class ProjectsLocationsConnectionsResource { core.String parent, { core.int? pageSize, core.String? pageToken, + core.bool? returnPartialSuccess, core.String? $fields, }) async { final queryParams_ = >{ if (pageSize != null) 'pageSize': ['${pageSize}'], if (pageToken != null) 'pageToken': [pageToken], + if (returnPartialSuccess != null) + 'returnPartialSuccess': ['${returnPartialSuccess}'], if ($fields != null) 'fields': [$fields], }; @@ -529,8 +536,8 @@ class ProjectsLocationsConnectionsResource { /// received. Format: `projects / * /locations / * `. /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. /// - /// [webhookKey] - Arbitrary additional key to find the maching repository for - /// a webhook event if needed. + /// [webhookKey] - Arbitrary additional key to find the matching repository + /// for a webhook event if needed. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -1013,6 +1020,10 @@ class ProjectsLocationsConnectionsRepositoriesResource { /// /// [pageToken] - Page start. /// + /// [returnPartialSuccess] - Optional. If set to true, the response will + /// return partial results when some regions are unreachable. If set to false, + /// the response will fail if any region is unreachable. + /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// @@ -1028,12 +1039,15 @@ class ProjectsLocationsConnectionsRepositoriesResource { core.String? filter, core.int? pageSize, core.String? pageToken, + core.bool? returnPartialSuccess, core.String? $fields, }) async { final queryParams_ = >{ if (filter != null) 'filter': [filter], if (pageSize != null) 'pageSize': ['${pageSize}'], if (pageToken != null) 'pageToken': [pageToken], + if (returnPartialSuccess != null) + 'returnPartialSuccess': ['${returnPartialSuccess}'], if ($fields != null) 'fields': [$fields], }; @@ -2033,9 +2047,13 @@ class ListConnectionsResponse { /// A token identifying a page of results the server should return. core.String? nextPageToken; + /// Locations that could not be reached. + core.List? unreachable; + ListConnectionsResponse({ this.connections, this.nextPageToken, + this.unreachable, }); ListConnectionsResponse.fromJson(core.Map json_) @@ -2045,11 +2063,15 @@ class ListConnectionsResponse { value as core.Map)) .toList(), nextPageToken: json_['nextPageToken'] as core.String?, + unreachable: (json_['unreachable'] as core.List?) + ?.map((value) => value as core.String) + .toList(), ); core.Map toJson() => { if (connections != null) 'connections': connections!, if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (unreachable != null) 'unreachable': unreachable!, }; } @@ -2089,9 +2111,13 @@ class ListRepositoriesResponse { /// The list of Repositories. core.List? repositories; + /// Locations that could not be reached. + core.List? unreachable; + ListRepositoriesResponse({ this.nextPageToken, this.repositories, + this.unreachable, }); ListRepositoriesResponse.fromJson(core.Map json_) @@ -2101,11 +2127,15 @@ class ListRepositoriesResponse { ?.map((value) => Repository.fromJson( value as core.Map)) .toList(), + unreachable: (json_['unreachable'] as core.List?) + ?.map((value) => value as core.String) + .toList(), ); core.Map toJson() => { if (nextPageToken != null) 'nextPageToken': nextPageToken!, if (repositories != null) 'repositories': repositories!, + if (unreachable != null) 'unreachable': unreachable!, }; } diff --git a/generated/googleapis/lib/cloudcontrolspartner/v1.dart b/generated/googleapis/lib/cloudcontrolspartner/v1.dart index f2d218738..e69940450 100644 --- a/generated/googleapis/lib/cloudcontrolspartner/v1.dart +++ b/generated/googleapis/lib/cloudcontrolspartner/v1.dart @@ -1080,7 +1080,7 @@ class EkmMetadata { /// - "FORTANIX" : EKM Partner Fortanix /// - "FUTUREX" : EKM Partner FutureX /// - "THALES" : EKM Partner Thales - /// - "VIRTRU" : EKM Partner Virtu + /// - "VIRTRU" : This enum value is never used. core.String? ekmSolution; EkmMetadata({ diff --git a/generated/googleapis/lib/clouddeploy/v1.dart b/generated/googleapis/lib/clouddeploy/v1.dart index 4e4134e11..14656d062 100644 --- a/generated/googleapis/lib/clouddeploy/v1.dart +++ b/generated/googleapis/lib/clouddeploy/v1.dart @@ -513,7 +513,7 @@ class ProjectsLocationsCustomTargetTypesResource { /// /// Request parameters: /// - /// [name] - Optional. Name of the `CustomTargetType`. Format is + /// [name] - Identifier. Name of the `CustomTargetType`. Format is /// `projects/{project}/locations/{location}/customTargetTypes/{customTargetType}`. /// The `customTargetType` component must match /// `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` @@ -949,7 +949,7 @@ class ProjectsLocationsDeliveryPipelinesResource { /// /// Request parameters: /// - /// [name] - Optional. Name of the `DeliveryPipeline`. Format is + /// [name] - Identifier. Name of the `DeliveryPipeline`. Format is /// `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}`. /// The `deliveryPipeline` component must match /// `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` @@ -2594,6 +2594,63 @@ class ProjectsLocationsDeployPoliciesResource { response_ as core.Map); } + /// Gets the access control policy for a resource. + /// + /// Returns an empty policy if the resource exists and does not have a policy + /// set. + /// + /// Request parameters: + /// + /// [resource] - REQUIRED: The resource for which the policy is being + /// requested. See + /// [Resource names](https://cloud.google.com/apis/design/resource_names) for + /// the appropriate value for this field. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/deployPolicies/\[^/\]+$`. + /// + /// [options_requestedPolicyVersion] - Optional. The maximum policy version + /// that will be used to format the policy. Valid values are 0, 1, and 3. + /// Requests specifying an invalid value will be rejected. Requests for + /// policies with any conditional role bindings must specify version 3. + /// Policies with no conditional role bindings may specify any valid value or + /// leave the field unset. The policy in the response might use the policy + /// version that you specified, or it might use a lower policy version. For + /// example, if you specify version 3, but the policy has no conditional role + /// bindings, the response uses version 1. To learn which resources support + /// conditions in their IAM policies, see the + /// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Policy]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future getIamPolicy( + core.String resource, { + core.int? options_requestedPolicyVersion, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (options_requestedPolicyVersion != null) + 'options.requestedPolicyVersion': ['${options_requestedPolicyVersion}'], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':getIamPolicy'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return Policy.fromJson(response_ as core.Map); + } + /// Lists DeployPolicies in a given project and location. /// /// Request parameters: @@ -2731,6 +2788,53 @@ class ProjectsLocationsDeployPoliciesResource { ); return Operation.fromJson(response_ as core.Map); } + + /// Sets the access control policy on the specified resource. + /// + /// Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, + /// and `PERMISSION_DENIED` errors. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [resource] - REQUIRED: The resource for which the policy is being + /// specified. See + /// [Resource names](https://cloud.google.com/apis/design/resource_names) for + /// the appropriate value for this field. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/deployPolicies/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Policy]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future setIamPolicy( + SetIamPolicyRequest request, + core.String resource, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':setIamPolicy'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Policy.fromJson(response_ as core.Map); + } } class ProjectsLocationsOperationsResource { @@ -3218,7 +3322,7 @@ class ProjectsLocationsTargetsResource { /// /// Request parameters: /// - /// [name] - Optional. Name of the `Target`. Format is + /// [name] - Identifier. Name of the `Target`. Format is /// `projects/{project}/locations/{location}/targets/{target}`. The `target` /// component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` /// Value must have pattern @@ -3897,6 +4001,8 @@ class Automation { /// to which an Automation is going to be applied. class AutomationResourceSelector { /// Contains attributes about a target. + /// + /// Optional. core.List? targets; AutomationResourceSelector({ @@ -4386,6 +4492,8 @@ class Binding { /// Description of an a image to use during Skaffold rendering. class BuildArtifact { /// Image name in Skaffold configuration. + /// + /// Optional. core.String? image; /// Image tag to use. @@ -4393,6 +4501,8 @@ class BuildArtifact { /// This will generally be the full path to an image, such as /// "gcr.io/my-project/busybox:1.2.3" or /// "gcr.io/my-project/busybox@sha256:abc123". + /// + /// Optional. core.String? tag; BuildArtifact({ @@ -4415,11 +4525,15 @@ class BuildArtifact { /// Canary represents the canary deployment strategy. class Canary { /// Configures the progressive based deployment for a Target. + /// + /// Optional. CanaryDeployment? canaryDeployment; /// Configures the progressive based deployment for a Target, but allows /// customizing at the phase level where a phase represents each of the /// percentage deployments. + /// + /// Optional. CustomCanaryDeployment? customCanaryDeployment; /// Runtime specific configurations for the deployment strategy. @@ -4486,6 +4600,8 @@ class CanaryDeployment { Predeploy? predeploy; /// Whether to run verify tests after each percentage deployment. + /// + /// Optional. core.bool? verify; CanaryDeployment({ @@ -4577,6 +4693,8 @@ class CloudRunConfig { /// /// This is required to be true for CanaryDeployments, but optional for /// CustomCanaryDeployments. + /// + /// Optional. core.bool? automaticTrafficControl; /// A list of tags that are added to the canary revision while the canary @@ -4969,6 +5087,8 @@ class CustomTargetType { /// Configures render and deploy for the `CustomTargetType` using Skaffold /// custom actions. + /// + /// Optional. CustomTargetSkaffoldActions? customActions; /// Resource id of the `CustomTargetType`. @@ -5003,14 +5123,12 @@ class CustomTargetType { /// Optional. core.Map? labels; - /// Name of the `CustomTargetType`. + /// Identifier. /// - /// Format is + /// Name of the `CustomTargetType`. Format is /// `projects/{project}/locations/{location}/customTargetTypes/{customTargetType}`. /// The `customTargetType` component must match /// `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` - /// - /// Optional. core.String? name; /// Unique identifier of the `CustomTargetType`. @@ -5138,6 +5256,8 @@ class DeliveryPipeline { /// /// These attributes can only be set and used by the user, and not by Cloud /// Deploy. + /// + /// Optional. core.Map? annotations; /// Information around the state of the Delivery Pipeline. @@ -5153,6 +5273,8 @@ class DeliveryPipeline { /// Description of the `DeliveryPipeline`. /// /// Max length is 255 characters. + /// + /// Optional. core.String? description; /// This checksum is computed by the server based on the value of other @@ -5171,22 +5293,24 @@ class DeliveryPipeline { /// and values are additionally constrained to be \<= 128 bytes. core.Map? labels; - /// Name of the `DeliveryPipeline`. + /// Identifier. /// - /// Format is + /// Name of the `DeliveryPipeline`. Format is /// `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}`. /// The `deliveryPipeline` component must match /// `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` - /// - /// Optional. core.String? name; /// SerialPipeline defines a sequential set of stages for a /// `DeliveryPipeline`. + /// + /// Optional. SerialPipeline? serialPipeline; /// When suspended, no new releases or rollouts can be created, but /// in-progress ones will complete. + /// + /// Optional. core.bool? suspended; /// Unique identifier of the `DeliveryPipeline`. @@ -5268,6 +5392,8 @@ class DeliveryPipelineAttribute { /// /// The value of this field could be one of the following: * The last segment /// of a pipeline name * "*", all delivery pipelines in a location + /// + /// Optional. core.String? id; /// DeliveryPipeline labels. @@ -5363,7 +5489,7 @@ class DeployJobRun { /// - "EXECUTION_FAILED" : The deploy operation did not complete successfully; /// check Cloud Build logs. /// - "DEADLINE_EXCEEDED" : The deploy job run did not complete within the - /// alloted time. + /// allotted time. /// - "MISSING_RESOURCES_FOR_CANARY" : There were missing resources in the /// runtime environment required for a canary deployment. Check the Cloud /// Build logs for more information. @@ -5527,6 +5653,8 @@ class DeployPolicy { /// by a slash (`/`). See /// https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set /// for more details. + /// + /// Optional. core.Map? annotations; /// Time at which the deploy policy was created. @@ -5537,6 +5665,8 @@ class DeployPolicy { /// Description of the `DeployPolicy`. /// /// Max length is 255 characters. + /// + /// Optional. core.String? description; /// The weak etag of the `Automation` resource. @@ -5584,6 +5714,8 @@ class DeployPolicy { /// When suspended, the policy will not prevent actions from occurring, even /// if the action violates the policy. + /// + /// Optional. core.bool? suspended; /// Unique identifier of the `DeployPolicy`. @@ -5988,6 +6120,13 @@ class GkeCluster { /// Optional. core.String? cluster; + /// If set, the cluster will be accessed using the DNS endpoint. + /// + /// Note that both `dns_endpoint` and `internal_ip` cannot be set to true. + /// + /// Optional. + core.bool? dnsEndpoint; + /// If true, `cluster` is accessed using the private IP address of the control /// plane endpoint. /// @@ -5996,6 +6135,7 @@ class GkeCluster { /// control-plane endpoints and the public IP address otherwise. Only specify /// this option when `cluster` is a /// [private GKE cluster](https://cloud.google.com/kubernetes-engine/docs/concepts/private-cluster-concept). + /// Note that `internal_ip` and `dns_endpoint` cannot both be set to true. /// /// Optional. core.bool? internalIp; @@ -6009,6 +6149,7 @@ class GkeCluster { GkeCluster({ this.cluster, + this.dnsEndpoint, this.internalIp, this.proxyUrl, }); @@ -6016,12 +6157,14 @@ class GkeCluster { GkeCluster.fromJson(core.Map json_) : this( cluster: json_['cluster'] as core.String?, + dnsEndpoint: json_['dnsEndpoint'] as core.bool?, internalIp: json_['internalIp'] as core.bool?, proxyUrl: json_['proxyUrl'] as core.String?, ); core.Map toJson() => { if (cluster != null) 'cluster': cluster!, + if (dnsEndpoint != null) 'dnsEndpoint': dnsEndpoint!, if (internalIp != null) 'internalIp': internalIp!, if (proxyUrl != null) 'proxyUrl': proxyUrl!, }; @@ -6244,7 +6387,7 @@ class JobRun { /// Format is /// `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{releases}/rollouts/{rollouts}/jobRuns/{uuid}`. /// - /// Optional. + /// Output only. core.String? name; /// ID of the `Rollout` phase this `JobRun` belongs in. @@ -6372,9 +6515,13 @@ class JobRun { /// KubernetesConfig contains the Kubernetes runtime configuration. class KubernetesConfig { /// Kubernetes Gateway API service mesh configuration. + /// + /// Optional. GatewayServiceMesh? gatewayServiceMesh; /// Kubernetes Service networking configuration. + /// + /// Optional. ServiceNetworking? serviceNetworking; KubernetesConfig({ @@ -6723,7 +6870,7 @@ class ListReleasesResponse { }; } -/// ListRolloutsResponse is the response object reutrned by `ListRollouts`. +/// ListRolloutsResponse is the response object returned by `ListRollouts`. class ListRolloutsResponse { /// A token, which can be sent as `page_token` to retrieve the next page. /// @@ -7156,9 +7303,13 @@ class PhaseConfig { /// /// These are in addition to the profiles list specified in the /// `DeliveryPipeline` stage. + /// + /// Optional. core.List? profiles; /// Whether to run verify tests after the deployment. + /// + /// Optional. core.bool? verify; PhaseConfig({ @@ -7391,6 +7542,8 @@ class Policy { /// Deploy Policy rule. class PolicyRule { /// Rollout restrictions. + /// + /// Optional. RolloutRestriction? rolloutRestriction; PolicyRule({ @@ -7546,7 +7699,7 @@ class PostdeployJobRun { /// - "EXECUTION_FAILED" : The postdeploy operation did not complete /// successfully; check Cloud Build logs. /// - "DEADLINE_EXCEEDED" : The postdeploy job run did not complete within the - /// alloted time. + /// allotted time. /// - "CLOUD_BUILD_REQUEST_FAILED" : Cloud Build failed to fulfill Cloud /// Deploy's request. See failure_message for additional details. core.String? failureCause; @@ -7648,7 +7801,7 @@ class PredeployJobRun { /// - "EXECUTION_FAILED" : The predeploy operation did not complete /// successfully; check Cloud Build logs. /// - "DEADLINE_EXCEEDED" : The predeploy job run did not complete within the - /// alloted time. + /// allotted time. /// - "CLOUD_BUILD_REQUEST_FAILED" : Cloud Build failed to fulfill Cloud /// Deploy's request. See failure_message for additional details. core.String? failureCause; @@ -7856,9 +8009,13 @@ class Release { /// These attributes can only be set and used by the user, and not by Cloud /// Deploy. See https://google.aip.dev/128#annotations for more details such /// as format and size limitations. + /// + /// Optional. core.Map? annotations; /// List of artifacts to pass through to Skaffold command. + /// + /// Optional. core.List? buildArtifacts; /// Information around the state of the Release. @@ -7890,6 +8047,8 @@ class Release { /// Description of the `Release`. /// /// Max length is 255 characters. + /// + /// Optional. core.String? description; /// This checksum is computed by the server based on the value of other @@ -7908,13 +8067,11 @@ class Release { /// and values are additionally constrained to be \<= 128 bytes. core.Map? labels; - /// Name of the `Release`. + /// Identifier. /// - /// Format is + /// Name of the `Release`. Format is /// `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}`. /// The `release` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` - /// - /// Optional. core.String? name; /// Time at which the render completed. @@ -7939,9 +8096,13 @@ class Release { core.String? renderState; /// Filepath of the Skaffold config inside of the config URI. + /// + /// Optional. core.String? skaffoldConfigPath; /// Cloud Storage URI of tar.gz archive containing Skaffold configuration. + /// + /// Optional. core.String? skaffoldConfigUri; /// The Skaffold version to use when operating on this release, such as @@ -8859,6 +9020,8 @@ class Rollout { /// These attributes can only be set and used by the user, and not by Cloud /// Deploy. See https://google.aip.dev/128#annotations for more details such /// as format and size limitations. + /// + /// Optional. core.Map? annotations; /// Approval state of the `Rollout`. @@ -8909,7 +9072,7 @@ class Rollout { /// [required permission](https://cloud.google.com/deploy/docs/cloud-deploy-service-account#required_permissions). /// - "EXECUTION_FAILED" : The deploy operation did not complete successfully; /// check Cloud Build logs. - /// - "DEADLINE_EXCEEDED" : Deployment did not complete within the alloted + /// - "DEADLINE_EXCEEDED" : Deployment did not complete within the allotted /// time. /// - "RELEASE_FAILED" : Release is in a failed state. /// - "RELEASE_ABANDONED" : Release is abandoned. @@ -8937,6 +9100,8 @@ class Rollout { /// Description of the `Rollout` for user purposes. /// /// Max length is 255 characters. + /// + /// Optional. core.String? description; /// Time at which the `Rollout` was enqueued. @@ -8970,13 +9135,11 @@ class Rollout { /// Output only. Metadata? metadata; - /// Name of the `Rollout`. + /// Identifier. /// - /// Format is + /// Name of the `Rollout`. Format is /// `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`. /// The `rollout` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` - /// - /// Optional. core.String? name; /// The phases that represent the workflows of this `Rollout`. @@ -9203,7 +9366,7 @@ class RouteDestinations { /// clusters. /// /// The Service will always be deployed to the Target cluster even if the - /// HTTPRoute is not. This option may be used to facilitiate successful DNS + /// HTTPRoute is not. This option may be used to facilitate successful DNS /// lookup in the route destination clusters. Can only be set to true if /// destinations are specified. /// @@ -9233,9 +9396,13 @@ class RouteDestinations { /// strategy. class RuntimeConfig { /// Cloud Run runtime configuration. + /// + /// Optional. CloudRunConfig? cloudRun; /// Kubernetes runtime configuration. + /// + /// Optional. KubernetesConfig? kubernetes; RuntimeConfig({ @@ -9266,6 +9433,8 @@ class SerialPipeline { /// Each stage specifies configuration for a `Target`. /// /// The ordering of this list defines the promotion flow. + /// + /// Optional. core.List? stages; SerialPipeline({ @@ -9492,12 +9661,18 @@ class SkaffoldModules { core.List? configs; /// Remote git repository containing the Skaffold Config modules. + /// + /// Optional. SkaffoldGitSource? git; /// Cloud Build V2 repository containing the Skaffold Config modules. + /// + /// Optional. SkaffoldGCBRepoSource? googleCloudBuildRepo; /// Cloud Storage bucket containing the Skaffold Config modules. + /// + /// Optional. SkaffoldGCSSource? googleCloudStorage; SkaffoldModules({ @@ -9641,6 +9816,8 @@ class Stage { /// Skaffold profiles to use when rendering the manifest for this stage's /// `Target`. + /// + /// Optional. core.List? profiles; /// The strategy to use for a `Rollout` to this stage. @@ -9655,6 +9832,8 @@ class Stage { /// `projects/project/locations/location/targets/my-target`). The location of /// the `Target` is inferred to be the same as the location of the /// `DeliveryPipeline` that contains this `Stage`. + /// + /// Optional. core.String? targetId; Stage({ @@ -9705,6 +9884,8 @@ class Standard { Predeploy? predeploy; /// Whether to verify a deployment. + /// + /// Optional. core.bool? verify; Standard({ @@ -9746,10 +9927,14 @@ typedef Status = $Status00; class Strategy { /// Canary deployment strategy provides progressive percentage based /// deployments to a Target. + /// + /// Optional. Canary? canary; /// Standard deployment strategy executes a single deploy and allows verifying /// the deployment. + /// + /// Optional. Standard? standard; Strategy({ @@ -9844,6 +10029,8 @@ class Target { /// or more configurations are specified, they must include the `RENDER` and /// `DEPLOY` `ExecutionEnvironmentUsage` values. When no configurations are /// specified, execution will use the default specified in `DefaultPool`. + /// + /// Optional. core.List? executionConfigs; /// Information specifying a GKE Cluster. @@ -9869,12 +10056,11 @@ class Target { /// Optional. MultiTarget? multiTarget; - /// Name of the `Target`. - /// - /// Format is `projects/{project}/locations/{location}/targets/{target}`. The - /// `target` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` + /// Identifier. /// - /// Optional. + /// Name of the `Target`. Format is + /// `projects/{project}/locations/{location}/targets/{target}`. The `target` + /// component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` core.String? name; /// Whether or not the `Target` requires approval. @@ -10024,7 +10210,8 @@ class TargetArtifact { /// Output only. core.String? artifactUri; - /// File path of the rendered manifest relative to the URI. + /// File path of the rendered manifest relative to the URI for the stable + /// phase. /// /// Output only. core.String? manifestPath; @@ -10034,7 +10221,8 @@ class TargetArtifact { /// Output only. core.Map? phaseArtifacts; - /// File path of the resolved Skaffold configuration relative to the URI. + /// File path of the resolved Skaffold configuration for the stable phase, + /// relative to the URI. /// /// Output only. core.String? skaffoldConfigPath; @@ -10080,6 +10268,8 @@ class TargetAttribute { /// /// The value of this field could be one of the following: * The last segment /// of a target name * "*", all targets in a location + /// + /// Optional. core.String? id; /// Target labels. @@ -10129,9 +10319,9 @@ class TargetRender { /// successfully because the verification stanza required for verify was not /// found on the Skaffold configuration. /// - "CUSTOM_ACTION_NOT_FOUND" : The render operation did not complete - /// successfully because the custom action required for predeploy or - /// postdeploy was not found in the Skaffold configuration. See - /// failure_message for additional details. + /// successfully because the custom action(s) required for Rollout jobs were + /// not found in the Skaffold configuration. See failure_message for + /// additional details. /// - "DEPLOYMENT_STRATEGY_NOT_SUPPORTED" : Release failed during rendering /// because the release configuration is not supported with the specified /// deployment strategy. @@ -10553,7 +10743,7 @@ class VerifyJobRun { /// - "EXECUTION_FAILED" : The verify operation did not complete successfully; /// check Cloud Build logs. /// - "DEADLINE_EXCEEDED" : The verify job run did not complete within the - /// alloted time. + /// allotted time. /// - "VERIFICATION_CONFIG_NOT_FOUND" : No Skaffold verify configuration was /// found. /// - "CLOUD_BUILD_REQUEST_FAILED" : Cloud Build failed to fulfill Cloud diff --git a/generated/googleapis/lib/cloudfunctions/v1.dart b/generated/googleapis/lib/cloudfunctions/v1.dart index 07ce23a46..a87c60ad0 100644 --- a/generated/googleapis/lib/cloudfunctions/v1.dart +++ b/generated/googleapis/lib/cloudfunctions/v1.dart @@ -1037,7 +1037,11 @@ class CloudFunction { /// Docker Registry to use for this deployment. /// - /// If unspecified, it defaults to `ARTIFACT_REGISTRY`. If `docker_repository` + /// Deprecated: Container Registry option will no longer be available after + /// March 2025: + /// https://cloud.google.com/artifact-registry/docs/transition/transition-from-gcr + /// Please use Artifact Registry instead, which is the default choice. If + /// unspecified, it defaults to `ARTIFACT_REGISTRY`. If `docker_repository` /// field is specified, this field should either be left unspecified or set to /// `ARTIFACT_REGISTRY`. /// Possible string values are: @@ -1049,6 +1053,9 @@ class CloudFunction { /// named `gcf-artifacts` in every region in which a function is deployed. But /// the repository to use can also be specified by the user using the /// `docker_repository` field. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) core.String? dockerRegistry; /// User-managed repository created in Artifact Registry to which the @@ -1964,7 +1971,7 @@ class SecretEnvVar { /// Name of the environment variable. core.String? key; - /// Project identifier (preferrably project number but can also be the project + /// Project identifier (preferably project number but can also be the project /// ID) of the project that contains the secret. /// /// If not set, it will be populated with the function's project assuming that diff --git a/generated/googleapis/lib/cloudfunctions/v2.dart b/generated/googleapis/lib/cloudfunctions/v2.dart index d2d79e288..cf4e22ad0 100644 --- a/generated/googleapis/lib/cloudfunctions/v2.dart +++ b/generated/googleapis/lib/cloudfunctions/v2.dart @@ -320,6 +320,47 @@ class ProjectsLocationsFunctionsResource { return Operation.fromJson(response_ as core.Map); } + /// Detaches 2nd Gen function to Cloud Run function. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [name] - Required. The name of the function for which should be detached. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/functions/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future detachFunction( + DetachFunctionRequest request, + core.String name, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v2/' + core.Uri.encodeFull('$name') + ':detachFunction'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } + /// Returns a signed URL for downloading deployed function source code. /// /// The URL is only valid for a limited period and should be used within 30 @@ -543,8 +584,8 @@ class ProjectsLocationsFunctionsResource { /// following the syntax outlined in https://google.aip.dev/160. /// /// [orderBy] - The sorting order of the resources returned. Value should be a - /// comma separated list of fields. The default sorting oder is ascending. See - /// https://google.aip.dev/132#ordering. + /// comma separated list of fields. The default sorting order is ascending. + /// See https://google.aip.dev/132#ordering. /// /// [pageSize] - Maximum number of functions to return per call. The largest /// allowed page_size is 1,000, if the page_size is omitted or specified as @@ -1208,9 +1249,13 @@ class BuildConfig { /// Docker Registry to use for this deployment. /// /// This configuration is only applicable to 1st Gen functions, 2nd Gen - /// functions can only use Artifact Registry. If unspecified, it defaults to - /// `ARTIFACT_REGISTRY`. If `docker_repository` field is specified, this field - /// should either be left unspecified or set to `ARTIFACT_REGISTRY`. + /// functions can only use Artifact Registry. Deprecated: Container Registry + /// option will no longer be available after March 2025: + /// https://cloud.google.com/artifact-registry/docs/transition/transition-from-gcr + /// Please use Artifact Registry instead, which is the default choice. If + /// unspecified, it defaults to `ARTIFACT_REGISTRY`. If `docker_repository` + /// field is specified, this field should either be left unspecified or set to + /// `ARTIFACT_REGISTRY`. /// Possible string values are: /// - "DOCKER_REGISTRY_UNSPECIFIED" : Unspecified. /// - "CONTAINER_REGISTRY" : Docker images will be stored in multi-regional @@ -1220,6 +1265,9 @@ class BuildConfig { /// named `gcf-artifacts` in every region in which a function is deployed. But /// the repository to use can also be specified by the user using the /// `docker_repository` field. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) core.String? dockerRegistry; /// Repository in Artifact Registry to which the function docker image will be @@ -1374,6 +1422,9 @@ typedef CommitFunctionUpgradeRequest = $Empty; /// google.protobuf.Timestamp typedef Date = $Date; +/// Request for the `DetachFunction` method. +typedef DetachFunctionRequest = $Empty; + /// Filters events based on exact matches on the CloudEvents attributes. class EventFilter { /// The name of a CloudEvents attribute. @@ -1600,6 +1651,11 @@ class Function_ { /// /locations / * /functions / * ` core.String? name; + /// Reserved for future use. + /// + /// Output only. + core.bool? satisfiesPzi; + /// Reserved for future use. /// /// Output only. @@ -1622,6 +1678,9 @@ class Function_ { /// - "UNKNOWN" : Function deployment failed and the function serving state is /// undefined. The function should be updated or deleted to move it out of /// this state. + /// - "DETACHING" : Function is being detached. + /// - "DETACH_FAILED" : Function detach failed and the function is still + /// serving. core.String? state; /// State Messages for this Cloud Function. @@ -1653,6 +1712,7 @@ class Function_ { this.kmsKeyName, this.labels, this.name, + this.satisfiesPzi, this.satisfiesPzs, this.serviceConfig, this.state, @@ -1684,6 +1744,7 @@ class Function_ { ), ), name: json_['name'] as core.String?, + satisfiesPzi: json_['satisfiesPzi'] as core.bool?, satisfiesPzs: json_['satisfiesPzs'] as core.bool?, serviceConfig: json_.containsKey('serviceConfig') ? ServiceConfig.fromJson( @@ -1711,6 +1772,7 @@ class Function_ { if (kmsKeyName != null) 'kmsKeyName': kmsKeyName!, if (labels != null) 'labels': labels!, if (name != null) 'name': name!, + if (satisfiesPzi != null) 'satisfiesPzi': satisfiesPzi!, if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, if (serviceConfig != null) 'serviceConfig': serviceConfig!, if (state != null) 'state': state!, @@ -2882,9 +2944,9 @@ typedef TestIamPermissionsRequest = $TestIamPermissionsRequest00; typedef TestIamPermissionsResponse = $PermissionsResponse; /// Information related to: * A function's eligibility for 1st Gen to 2nd Gen -/// migration and 2nd Gen to CRf detach. +/// migration. /// -/// * Current state of migration for function undergoing migration/detach. +/// * Current state of migration for function undergoing migration. class UpgradeInfo { /// Describes the Build step of the function that builds a container to /// prepare for 2nd gen upgrade. @@ -2922,8 +2984,6 @@ class UpgradeInfo { /// RollbackFunctionUpgradeTraffic API was un-successful. /// - "COMMIT_FUNCTION_UPGRADE_ERROR" : CommitFunctionUpgrade API was /// un-successful. - /// - "DETACH_IN_PROGRESS" : Function is requested to be detached from 2nd Gen - /// to CRf. core.String? upgradeState; UpgradeInfo({ diff --git a/generated/googleapis/lib/cloudidentity/v1.dart b/generated/googleapis/lib/cloudidentity/v1.dart index 12b10f1a0..e360cd237 100644 --- a/generated/googleapis/lib/cloudidentity/v1.dart +++ b/generated/googleapis/lib/cloudidentity/v1.dart @@ -3131,11 +3131,12 @@ class PoliciesResource { /// Request parameters: /// /// [filter] - Optional. A CEL expression for filtering the results. Policies - /// can be filtered by application with this expression: setting.name = - /// 'settings/gmail.*' Policies can be filtered by setting type with this - /// expression: setting.name = '*.service_status' A maximum of one of the - /// above setting.name clauses can be used. Policies can be filtered by - /// customer with this expression: customer = "customers/{customer}" Where + /// can be filtered by application with this expression: + /// setting.type.matches('^settings/gmail\\..*$') Policies can be filtered by + /// setting type with this expression: + /// setting.type.matches('^.*\\.service_status$') A maximum of one of the + /// above setting.type clauses can be used. Policies can be filtered by + /// customer with this expression: customer == "customers/{customer}" Where /// `customer` is the `id` from the \[Admin SDK `Customer` /// resource\](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). /// You may use `customers/my_customer` to specify your own organization. When diff --git a/generated/googleapis/lib/cloudkms/v1.dart b/generated/googleapis/lib/cloudkms/v1.dart index 46c60e1b5..c4d55db66 100644 --- a/generated/googleapis/lib/cloudkms/v1.dart +++ b/generated/googleapis/lib/cloudkms/v1.dart @@ -2215,6 +2215,27 @@ class ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsResource { /// Value must have pattern /// `^projects/\[^/\]+/locations/\[^/\]+/keyRings/\[^/\]+/cryptoKeys/\[^/\]+/cryptoKeyVersions/\[^/\]+$`. /// + /// [publicKeyFormat] - Optional. The PublicKey format specified by the user. + /// This field is required for PQC algorithms. If specified, the public key + /// will be exported through the public_key field in the requested format. + /// Otherwise, the pem field will be populated for non-PQC algorithms, and an + /// error will be returned for PQC algorithms. + /// Possible string values are: + /// - "PUBLIC_KEY_FORMAT_UNSPECIFIED" : If the public_key_format field is not + /// specified: - For PQC algorithms, an error will be returned. - For non-PQC + /// algorithms, the default format is PEM, and the field pem will be + /// populated. Otherwise, the public key will be exported through the + /// public_key field in the requested format. + /// - "PEM" : The returned public key will be encoded in PEM format. See the + /// [RFC7468](https://tools.ietf.org/html/rfc7468) sections for + /// [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) + /// and + /// [Textual Encoding of Subject Public Key Info](https://tools.ietf.org/html/rfc7468#section-13) + /// for more information. + /// - "NIST_PQC" : This is supported only for PQC algorithms. The key material + /// is returned in the format defined by NIST PQC standards (FIPS 203, FIPS + /// 204, and FIPS 205). + /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// @@ -2227,9 +2248,11 @@ class ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsResource { /// this method will complete with the same error. async.Future getPublicKey( core.String name, { + core.String? publicKeyFormat, core.String? $fields, }) async { final queryParams_ = >{ + if (publicKeyFormat != null) 'publicKeyFormat': [publicKeyFormat], if ($fields != null) 'fields': [$fields], }; @@ -3630,6 +3653,47 @@ class Certificate { /// https://tools.ietf.org/html/rfc5246#section-7.4.2. typedef CertificateChains = $CertificateChains; +/// Data with integrity verification field. +class ChecksummedData { + /// Integrity verification field. + /// + /// A CRC32C checksum of the returned ChecksummedData.data. An integrity check + /// of ChecksummedData.data can be performed by computing the CRC32C checksum + /// of ChecksummedData.data and comparing your results to this field. Discard + /// the response in case of non-matching checksum values, and perform a + /// limited number of retries. A persistent mismatch may indicate an issue in + /// your computation of the CRC32C checksum. Note: This field is defined as + /// int64 for reasons of compatibility across different languages. However, it + /// is a non-negative integer, which will never exceed `2^32-1`, and can be + /// safely downconverted to uint32 in languages that support this type. + core.String? crc32cChecksum; + + /// Raw Data. + core.String? data; + core.List get dataAsBytes => convert.base64.decode(data!); + + set dataAsBytes(core.List bytes_) { + data = + convert.base64.encode(bytes_).replaceAll('/', '_').replaceAll('+', '-'); + } + + ChecksummedData({ + this.crc32cChecksum, + this.data, + }); + + ChecksummedData.fromJson(core.Map json_) + : this( + crc32cChecksum: json_['crc32cChecksum'] as core.String?, + data: json_['data'] as core.String?, + ); + + core.Map toJson() => { + if (crc32cChecksum != null) 'crc32cChecksum': crc32cChecksum!, + if (data != null) 'data': data!, + }; +} + /// A CryptoKey represents a logical key that can be used for cryptographic /// operations. /// @@ -3886,6 +3950,10 @@ class CryptoKeyVersion { /// - "HMAC_SHA224" : HMAC-SHA224 signing with a 224 bit key. /// - "EXTERNAL_SYMMETRIC_ENCRYPTION" : Algorithm representing symmetric /// encryption by an external key manager. + /// - "PQ_SIGN_ML_DSA_65" : The post-quantum Module-Lattice-Based Digital + /// Signature Algorithm, at security level 3. Randomized version. + /// - "PQ_SIGN_SLH_DSA_SHA2_128S" : The post-quantum stateless hash-based + /// digital signature algorithm, at security level 1. Randomized version. core.String? algorithm; /// Statement that was generated and signed by the HSM at key creation time. @@ -3996,7 +4064,7 @@ class CryptoKeyVersion { /// - "ENABLED" : This version may be used for cryptographic operations. /// - "DISABLED" : This version may not be used, but the key material is still /// available, and the version can be placed back into the ENABLED state. - /// - "DESTROYED" : This version is destroyed, and the key material is no + /// - "DESTROYED" : This key material of this version is destroyed and no /// longer stored. This version may only become ENABLED again if this version /// is reimport_eligible and the original key material is reimported with a /// call to KeyManagementService.ImportCryptoKeyVersion. @@ -4808,6 +4876,10 @@ class ImportCryptoKeyVersionRequest { /// - "HMAC_SHA224" : HMAC-SHA224 signing with a 224 bit key. /// - "EXTERNAL_SYMMETRIC_ENCRYPTION" : Algorithm representing symmetric /// encryption by an external key manager. + /// - "PQ_SIGN_ML_DSA_65" : The post-quantum Module-Lattice-Based Digital + /// Signature Algorithm, at security level 3. Randomized version. + /// - "PQ_SIGN_SLH_DSA_SHA2_128S" : The post-quantum stateless hash-based + /// digital signature algorithm, at security level 1. Randomized version. core.String? algorithm; /// The optional name of an existing CryptoKeyVersion to target for an import @@ -6022,6 +6094,10 @@ class PublicKey { /// - "HMAC_SHA224" : HMAC-SHA224 signing with a 224 bit key. /// - "EXTERNAL_SYMMETRIC_ENCRYPTION" : Algorithm representing symmetric /// encryption by an external key manager. + /// - "PQ_SIGN_ML_DSA_65" : The post-quantum Module-Lattice-Based Digital + /// Signature Algorithm, at security level 3. Randomized version. + /// - "PQ_SIGN_SLH_DSA_SHA2_128S" : The post-quantum stateless hash-based + /// digital signature algorithm, at security level 1. Randomized version. core.String? algorithm; /// The name of the CryptoKeyVersion public key. @@ -6047,7 +6123,7 @@ class PublicKey { /// number of retries. A persistent mismatch may indicate an issue in your /// computation of the CRC32C checksum. Note: This field is defined as int64 /// for reasons of compatibility across different languages. However, it is a - /// non-negative integer, which will never exceed 2^32-1, and can be safely + /// non-negative integer, which will never exceed `2^32-1`, and can be safely /// downconverted to uint32 in languages that support this type. NOTE: This /// field is in Beta. core.String? pemCrc32c; @@ -6062,12 +6138,37 @@ class PublicKey { /// backend. core.String? protectionLevel; + /// This field contains the public key (with integrity verification), + /// formatted according to the public_key_format field. + ChecksummedData? publicKey; + + /// The PublicKey format specified by the customer through the + /// public_key_format field. + /// Possible string values are: + /// - "PUBLIC_KEY_FORMAT_UNSPECIFIED" : If the public_key_format field is not + /// specified: - For PQC algorithms, an error will be returned. - For non-PQC + /// algorithms, the default format is PEM, and the field pem will be + /// populated. Otherwise, the public key will be exported through the + /// public_key field in the requested format. + /// - "PEM" : The returned public key will be encoded in PEM format. See the + /// [RFC7468](https://tools.ietf.org/html/rfc7468) sections for + /// [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) + /// and + /// [Textual Encoding of Subject Public Key Info](https://tools.ietf.org/html/rfc7468#section-13) + /// for more information. + /// - "NIST_PQC" : This is supported only for PQC algorithms. The key material + /// is returned in the format defined by NIST PQC standards (FIPS 203, FIPS + /// 204, and FIPS 205). + core.String? publicKeyFormat; + PublicKey({ this.algorithm, this.name, this.pem, this.pemCrc32c, this.protectionLevel, + this.publicKey, + this.publicKeyFormat, }); PublicKey.fromJson(core.Map json_) @@ -6077,6 +6178,11 @@ class PublicKey { pem: json_['pem'] as core.String?, pemCrc32c: json_['pemCrc32c'] as core.String?, protectionLevel: json_['protectionLevel'] as core.String?, + publicKey: json_.containsKey('publicKey') + ? ChecksummedData.fromJson( + json_['publicKey'] as core.Map) + : null, + publicKeyFormat: json_['publicKeyFormat'] as core.String?, ); core.Map toJson() => { @@ -6085,6 +6191,8 @@ class PublicKey { if (pem != null) 'pem': pem!, if (pemCrc32c != null) 'pemCrc32c': pemCrc32c!, if (protectionLevel != null) 'protectionLevel': protectionLevel!, + if (publicKey != null) 'publicKey': publicKey!, + if (publicKeyFormat != null) 'publicKeyFormat': publicKeyFormat!, }; } diff --git a/generated/googleapis/lib/cloudresourcemanager/v1.dart b/generated/googleapis/lib/cloudresourcemanager/v1.dart index b83fe2bc6..ec6e94239 100644 --- a/generated/googleapis/lib/cloudresourcemanager/v1.dart +++ b/generated/googleapis/lib/cloudresourcemanager/v1.dart @@ -3034,11 +3034,12 @@ class SearchOrganizationsRequest { /// response. /// /// Filter rules are case-insensitive. Organizations may be filtered by - /// `owner.directoryCustomerId` or by `domain`, where the domain is a G Suite - /// domain, for example: * Filter `owner.directorycustomerid:123456789` - /// returns Organization resources with `owner.directory_customer_id` equal to - /// `123456789`. * Filter `domain:google.com` returns Organization resources - /// corresponding to the domain `google.com`. This field is optional. + /// `owner.directoryCustomerId` or by `domain`, where the domain is a verified + /// G Suite domain, for example: * Filter + /// `owner.directorycustomerid:123456789` returns Organization resources with + /// `owner.directory_customer_id` equal to `123456789`. * Filter + /// `domain:google.com` returns Organization resources corresponding to the + /// domain `google.com`. This field is optional. core.String? filter; /// The maximum number of Organizations to return in the response. diff --git a/generated/googleapis/lib/cloudresourcemanager/v3.dart b/generated/googleapis/lib/cloudresourcemanager/v3.dart index fd84b44d8..f1cacbe13 100644 --- a/generated/googleapis/lib/cloudresourcemanager/v3.dart +++ b/generated/googleapis/lib/cloudresourcemanager/v3.dart @@ -1256,9 +1256,7 @@ class ProjectsResource { /// GetProject, and the project remains visible to ListProjects. However, you /// cannot update the project. After the deletion completes, the project is /// not retrievable by the GetProject, ListProjects, and SearchProjects - /// methods. This method behaves idempotently, such that deleting a - /// `DELETE_REQUESTED` project will not cause an error, but also won't do - /// anything. The caller must have `resourcemanager.projects.delete` + /// methods. The caller must have `resourcemanager.projects.delete` /// permissions for this project. /// /// Request parameters: diff --git a/generated/googleapis/lib/cloudsearch/v1.dart b/generated/googleapis/lib/cloudsearch/v1.dart index dc62c47a0..4c1203238 100644 --- a/generated/googleapis/lib/cloudsearch/v1.dart +++ b/generated/googleapis/lib/cloudsearch/v1.dart @@ -3868,7 +3868,7 @@ class DoublePropertyOptions { } /// List of double values. -typedef DoubleValues = $Shared06; +typedef DoubleValues = $Shared07; /// A person's email address. class EmailAddress { @@ -5018,7 +5018,7 @@ class IntegerPropertyOptions { } /// List of integer values. -typedef IntegerValues = $Shared07; +typedef IntegerValues = $Shared08; /// Represents an interaction between a user and an item. class Interaction { diff --git a/generated/googleapis/lib/cloudsupport/v2.dart b/generated/googleapis/lib/cloudsupport/v2.dart index 5cf3b602a..10e7af60f 100644 --- a/generated/googleapis/lib/cloudsupport/v2.dart +++ b/generated/googleapis/lib/cloudsupport/v2.dart @@ -613,7 +613,9 @@ class CasesAttachmentsResource { /// /// [pageSize] - The maximum number of attachments fetched with each request. /// If not provided, the default is 10. The maximum page size that will be - /// returned is 100. + /// returned is 100. The size of each page can be smaller than the requested + /// page size and can include zero. For example, you could request 100 + /// attachments on one page, receive 0, and then on the next page, receive 90. /// /// [pageToken] - A token identifying the page of results to return. If /// unspecified, the first page is retrieved. diff --git a/generated/googleapis/lib/cloudtasks/v2.dart b/generated/googleapis/lib/cloudtasks/v2.dart index 3b63b7aea..5803c10cc 100644 --- a/generated/googleapis/lib/cloudtasks/v2.dart +++ b/generated/googleapis/lib/cloudtasks/v2.dart @@ -2661,6 +2661,12 @@ class RetryConfig { /// the default. -1 indicates unlimited attempts. This field has the same /// meaning as /// [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + /// Note: Cloud Tasks stops retrying only when `max_attempts` and + /// `max_retry_duration` are both satisfied. When the task has been attempted + /// `max_attempts` times and when the `max_retry_duration` time has passed, no + /// further attempts are made, and the task is deleted. If you want your task + /// to retry infinitely, you must set `max_attempts` to -1 and + /// `max_retry_duration` to 0. core.int? maxAttempts; /// A task will be scheduled for retry between min_backoff and max_backoff diff --git a/generated/googleapis/lib/composer/v1.dart b/generated/googleapis/lib/composer/v1.dart index fa6b3cf7a..c6a7e8d2b 100644 --- a/generated/googleapis/lib/composer/v1.dart +++ b/generated/googleapis/lib/composer/v1.dart @@ -747,7 +747,7 @@ class ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsResource { /// Creates a user workloads ConfigMap. /// /// This method is supported for Cloud Composer environments in versions - /// composer-3.*.*-airflow-*.*.* and newer. + /// composer-3-airflow-*.*.*-build.* and newer. /// /// [request] - The metadata request object. /// @@ -795,7 +795,7 @@ class ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsResource { /// Deletes a user workloads ConfigMap. /// /// This method is supported for Cloud Composer environments in versions - /// composer-3.*.*-airflow-*.*.* and newer. + /// composer-3-airflow-*.*.*-build.* and newer. /// /// Request parameters: /// @@ -835,7 +835,7 @@ class ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsResource { /// Gets an existing user workloads ConfigMap. /// /// This method is supported for Cloud Composer environments in versions - /// composer-3.*.*-airflow-*.*.* and newer. + /// composer-3-airflow-*.*.*-build.* and newer. /// /// Request parameters: /// @@ -876,7 +876,7 @@ class ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsResource { /// Lists user workloads ConfigMaps. /// /// This method is supported for Cloud Composer environments in versions - /// composer-3.*.*-airflow-*.*.* and newer. + /// composer-3-airflow-*.*.*-build.* and newer. /// /// Request parameters: /// @@ -928,7 +928,7 @@ class ProjectsLocationsEnvironmentsUserWorkloadsConfigMapsResource { /// Updates a user workloads ConfigMap. /// /// This method is supported for Cloud Composer environments in versions - /// composer-3.*.*-airflow-*.*.* and newer. + /// composer-3-airflow-*.*.*-build.* and newer. /// /// [request] - The metadata request object. /// @@ -982,7 +982,7 @@ class ProjectsLocationsEnvironmentsUserWorkloadsSecretsResource { /// Creates a user workloads Secret. /// /// This method is supported for Cloud Composer environments in versions - /// composer-3.*.*-airflow-*.*.* and newer. + /// composer-3-airflow-*.*.*-build.* and newer. /// /// [request] - The metadata request object. /// @@ -1030,7 +1030,7 @@ class ProjectsLocationsEnvironmentsUserWorkloadsSecretsResource { /// Deletes a user workloads Secret. /// /// This method is supported for Cloud Composer environments in versions - /// composer-3.*.*-airflow-*.*.* and newer. + /// composer-3-airflow-*.*.*-build.* and newer. /// /// Request parameters: /// @@ -1071,7 +1071,7 @@ class ProjectsLocationsEnvironmentsUserWorkloadsSecretsResource { /// /// Values of the "data" field in the response are cleared. This method is /// supported for Cloud Composer environments in versions - /// composer-3.*.*-airflow-*.*.* and newer. + /// composer-3-airflow-*.*.*-build.* and newer. /// /// Request parameters: /// @@ -1112,7 +1112,7 @@ class ProjectsLocationsEnvironmentsUserWorkloadsSecretsResource { /// Lists user workloads Secrets. /// /// This method is supported for Cloud Composer environments in versions - /// composer-3.*.*-airflow-*.*.* and newer. + /// composer-3-airflow-*.*.*-build.* and newer. /// /// Request parameters: /// @@ -1163,7 +1163,7 @@ class ProjectsLocationsEnvironmentsUserWorkloadsSecretsResource { /// Updates a user workloads Secret. /// /// This method is supported for Cloud Composer environments in versions - /// composer-3.*.*-airflow-*.*.* and newer. + /// composer-3-airflow-*.*.*-build.* and newer. /// /// [request] - The metadata request object. /// @@ -1724,7 +1724,7 @@ class ComposerWorkloadStatus { /// Configuration for resources used by Airflow DAG processors. /// /// This field is supported for Cloud Composer environments in versions -/// composer-3.*.*-airflow-*.*.* and newer. +/// composer-3-airflow-*.*.*-build.* and newer. class DagProcessorResource { /// The number of DAG processors. /// @@ -2898,6 +2898,8 @@ class MasterAuthorizedNetworksConfig { core.List? cidrBlocks; /// Whether or not master authorized networks feature is enabled. + /// + /// Optional. core.bool? enabled; MasterAuthorizedNetworksConfig({ @@ -2923,7 +2925,7 @@ class MasterAuthorizedNetworksConfig { /// Configuration options for networking connections in the Composer 2 /// environment. class NetworkingConfig { - /// Indicates the user requested specifc connection type between Tenant and + /// Indicates the user requested specific connection type between Tenant and /// Customer projects. /// /// You cannot set networking connection type in public IP environment. @@ -2963,7 +2965,7 @@ class NodeConfig { /// not be accessible in the user's VPC network. Cannot be updated. If not /// specified, the default value of '100.64.128.0/20' is used. This field is /// supported for Cloud Composer environments in versions - /// composer-3.*.*-airflow-*.*.* and newer. + /// composer-3-airflow-*.*.*-build.* and newer. /// /// Optional. core.String? composerInternalIpv4CidrBlock; @@ -2978,7 +2980,7 @@ class NodeConfig { /// must be provided in format /// projects/{project}/regions/{region}/networkAttachments/{networkAttachment}. /// This field is supported for Cloud Composer environments in versions - /// composer-3.*.*-airflow-*.*.* and newer. + /// composer-3-airflow-*.*.*-build.* and newer. /// /// Optional. core.String? composerNetworkAttachment; @@ -3410,7 +3412,7 @@ class PrivateEnvironmentConfig { /// /// If `false`, the builds also have access to the internet. This field is /// supported for Cloud Composer environments in versions - /// composer-3.*.*-airflow-*.*.* and newer. + /// composer-3-airflow-*.*.*-build.* and newer. /// /// Optional. core.bool? enablePrivateBuildsOnly; @@ -3775,7 +3777,7 @@ class SoftwareConfig { /// /// If unspecified, the field defaults to `PLUGINS_ENABLED`. This field is /// supported for Cloud Composer environments in versions - /// composer-3.*.*-airflow-*.*.* and newer. + /// composer-3-airflow-*.*.*-build.* and newer. /// /// Optional. /// Possible string values are: @@ -4242,7 +4244,7 @@ class WorkloadsConfig { /// Resources used by Airflow DAG processors. /// /// This field is supported for Cloud Composer environments in versions - /// composer-3.*.*-airflow-*.*.* and newer. + /// composer-3-airflow-*.*.*-build.* and newer. /// /// Optional. DagProcessorResource? dagProcessor; diff --git a/generated/googleapis/lib/compute/v1.dart b/generated/googleapis/lib/compute/v1.dart index 36896ff27..fdcab0ec7 100644 --- a/generated/googleapis/lib/compute/v1.dart +++ b/generated/googleapis/lib/compute/v1.dart @@ -17309,6 +17309,75 @@ class InstancesResource { return Operation.fromJson(response_ as core.Map); } + /// Mark the host as faulty and try to restart the instance on a new host. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [project] - Project ID for this request. + /// Value must have pattern + /// `(?:(?:\[-a-z0-9\]{1,63}\.)*(?:\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?):)?(?:\[0-9\]{1,19}|(?:\[a-z0-9\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?))`. + /// + /// [zone] - The name of the zone for this request. + /// Value must have pattern `\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?`. + /// + /// [instance] - Name of the instance scoping this request. + /// Value must have pattern + /// `\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?|\[1-9\]\[0-9\]{0,19}`. + /// + /// [requestId] - An optional request ID to identify requests. Specify a + /// unique request ID so that if you must retry your request, the server will + /// know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request + /// times out. If you make the request again with the same request ID, the + /// server can check if original operation with the same request ID was + /// received, and if so, will ignore the second request. This prevents clients + /// from accidentally creating duplicate commitments. The request ID must be a + /// valid UUID with the exception that zero UUID is not supported ( + /// 00000000-0000-0000-0000-000000000000). + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future reportHostAsFaulty( + InstancesReportHostAsFaultyRequest request, + core.String project, + core.String zone, + core.String instance, { + core.String? requestId, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (requestId != null) 'requestId': [requestId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'projects/' + + commons.escapeVariable('$project') + + '/zones/' + + commons.escapeVariable('$zone') + + '/instances/' + + commons.escapeVariable('$instance') + + '/reportHostAsFaulty'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } + /// Performs a reset on the instance. /// /// This is a hard reset. The VM does not do a graceful shutdown. For more @@ -24550,6 +24619,81 @@ class NetworkFirewallPoliciesResource { return Operation.fromJson(response_ as core.Map); } + /// Inserts a packet mirroring rule into a firewall policy. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [project] - Project ID for this request. + /// Value must have pattern + /// `(?:(?:\[-a-z0-9\]{1,63}\.)*(?:\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?):)?(?:\[0-9\]{1,19}|(?:\[a-z0-9\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?))`. + /// + /// [firewallPolicy] - Name of the firewall policy to update. + /// Value must have pattern + /// `\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?|\[1-9\]\[0-9\]{0,19}`. + /// + /// [maxPriority] - When rule.priority is not specified, auto choose a unused + /// priority between minPriority and maxPriority\>. This field is exclusive + /// with rule.priority. + /// + /// [minPriority] - When rule.priority is not specified, auto choose a unused + /// priority between minPriority and maxPriority\>. This field is exclusive + /// with rule.priority. + /// + /// [requestId] - An optional request ID to identify requests. Specify a + /// unique request ID so that if you must retry your request, the server will + /// know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request + /// times out. If you make the request again with the same request ID, the + /// server can check if original operation with the same request ID was + /// received, and if so, will ignore the second request. This prevents clients + /// from accidentally creating duplicate commitments. The request ID must be a + /// valid UUID with the exception that zero UUID is not supported ( + /// 00000000-0000-0000-0000-000000000000). + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future addPacketMirroringRule( + FirewallPolicyRule request, + core.String project, + core.String firewallPolicy, { + core.int? maxPriority, + core.int? minPriority, + core.String? requestId, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (maxPriority != null) 'maxPriority': ['${maxPriority}'], + if (minPriority != null) 'minPriority': ['${minPriority}'], + if (requestId != null) 'requestId': [requestId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'projects/' + + commons.escapeVariable('$project') + + '/global/firewallPolicies/' + + commons.escapeVariable('$firewallPolicy') + + '/addPacketMirroringRule'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } + /// Inserts a rule into a firewall policy. /// /// [request] - The metadata request object. @@ -24625,6 +24769,136 @@ class NetworkFirewallPoliciesResource { return Operation.fromJson(response_ as core.Map); } + /// Retrieves an aggregated list of network firewall policies, listing network + /// firewall policies from all applicable scopes (global and regional) and + /// grouping the results per scope. + /// + /// To prevent failure, Google recommends that you set the + /// `returnPartialSuccess` parameter to `true`. + /// + /// Request parameters: + /// + /// [project] - Project ID for this request. + /// Value must have pattern + /// `(?:(?:\[-a-z0-9\]{1,63}\.)*(?:\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?):)?(?:\[0-9\]{1,19}|(?:\[a-z0-9\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?))`. + /// + /// [filter] - A filter expression that filters resources listed in the + /// response. Most Compute resources support two types of filter expressions: + /// expressions that support regular expressions and expressions that follow + /// API improvement proposal AIP-160. These two types of filter expressions + /// cannot be mixed in one request. If you want to use AIP-160, your + /// expression must specify the field name, an operator, and the value that + /// you want to use for filtering. The value must be a string, a number, or a + /// boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or + /// `:`. For example, if you are filtering Compute Engine instances, you can + /// exclude instances named `example-instance` by specifying `name != + /// example-instance`. The `:*` comparison can be used to test whether a key + /// has been defined. For example, to find all objects with `owner` label use: + /// ``` labels.owner:* ``` You can also filter nested fields. For example, you + /// could specify `scheduling.automaticRestart = false` to include instances + /// only if they are not scheduled for automatic restarts. You can use + /// filtering on nested fields to filter based on resource labels. To filter + /// on multiple expressions, provide each separate expression within + /// parentheses. For example: ``` (scheduling.automaticRestart = true) + /// (cpuPlatform = "Intel Skylake") ``` By default, each expression is an + /// `AND` expression. However, you can include `AND` and `OR` expressions + /// explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR + /// (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) + /// ``` If you want to use a regular expression, use the `eq` (equal) or `ne` + /// (not equal) operator against a single un-parenthesized expression with or + /// without quotes or against multiple parenthesized expressions. Examples: + /// `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` + /// `fieldname eq "double quoted literal"` `(fieldname1 eq literal) + /// (fieldname2 ne "literal")` The literal value is interpreted as a regular + /// expression using Google RE2 library syntax. The literal value must match + /// the entire field. For example, to filter for instances that do not end + /// with name "instance", you would use `name ne .*instance`. You cannot + /// combine constraints on multiple fields using regular expressions. + /// + /// [includeAllScopes] - Indicates whether every visible scope for each scope + /// type (zone, region, global) should be included in the response. For new + /// resource types added after this field, the flag has no effect as new + /// resource types will always include every visible scope for each scope type + /// in response. For resource types which predate this field, if this flag is + /// omitted or false, only scopes of the scope types where the resource type + /// is expected to be found will be included. + /// + /// [maxResults] - The maximum number of results per page that should be + /// returned. If the number of available results is larger than `maxResults`, + /// Compute Engine returns a `nextPageToken` that can be used to get the next + /// page of results in subsequent list requests. Acceptable values are `0` to + /// `500`, inclusive. (Default: `500`) + /// + /// [orderBy] - Sorts list results by a certain order. By default, results are + /// returned in alphanumerical order based on the resource name. You can also + /// sort results in descending order based on the creation timestamp using + /// `orderBy="creationTimestamp desc"`. This sorts results based on the + /// `creationTimestamp` field in reverse chronological order (newest result + /// first). Use this to sort resources like operations so that the newest + /// operation is returned first. Currently, only sorting by `name` or + /// `creationTimestamp desc` is supported. + /// + /// [pageToken] - Specifies a page token to use. Set `pageToken` to the + /// `nextPageToken` returned by a previous list request to get the next page + /// of results. + /// + /// [returnPartialSuccess] - Opt-in for partial success behavior which + /// provides partial results in case of failure. The default value is false. + /// For example, when partial success behavior is enabled, aggregatedList for + /// a single zone scope either returns all resources in the zone or no + /// resources, with an error code. + /// + /// [serviceProjectNumber] - The Shared VPC service project id or service + /// project number for which aggregated list request is invoked for + /// subnetworks list-usable api. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [NetworkFirewallPolicyAggregatedList]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future aggregatedList( + core.String project, { + core.String? filter, + core.bool? includeAllScopes, + core.int? maxResults, + core.String? orderBy, + core.String? pageToken, + core.bool? returnPartialSuccess, + core.String? serviceProjectNumber, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (includeAllScopes != null) 'includeAllScopes': ['${includeAllScopes}'], + if (maxResults != null) 'maxResults': ['${maxResults}'], + if (orderBy != null) 'orderBy': [orderBy], + if (pageToken != null) 'pageToken': [pageToken], + if (returnPartialSuccess != null) + 'returnPartialSuccess': ['${returnPartialSuccess}'], + if (serviceProjectNumber != null) + 'serviceProjectNumber': [serviceProjectNumber], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'projects/' + + commons.escapeVariable('$project') + + '/aggregated/firewallPolicies'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return NetworkFirewallPolicyAggregatedList.fromJson( + response_ as core.Map); + } + /// Copies rules to the specified firewall policy. /// /// Request parameters: @@ -24893,6 +25167,57 @@ class NetworkFirewallPoliciesResource { return Policy.fromJson(response_ as core.Map); } + /// Gets a packet mirroring rule of the specified priority. + /// + /// Request parameters: + /// + /// [project] - Project ID for this request. + /// Value must have pattern + /// `(?:(?:\[-a-z0-9\]{1,63}\.)*(?:\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?):)?(?:\[0-9\]{1,19}|(?:\[a-z0-9\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?))`. + /// + /// [firewallPolicy] - Name of the firewall policy to which the queried rule + /// belongs. + /// Value must have pattern + /// `\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?|\[1-9\]\[0-9\]{0,19}`. + /// + /// [priority] - The priority of the rule to get from the firewall policy. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [FirewallPolicyRule]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future getPacketMirroringRule( + core.String project, + core.String firewallPolicy, { + core.int? priority, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (priority != null) 'priority': ['${priority}'], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'projects/' + + commons.escapeVariable('$project') + + '/global/firewallPolicies/' + + commons.escapeVariable('$firewallPolicy') + + '/getPacketMirroringRule'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return FirewallPolicyRule.fromJson( + response_ as core.Map); + } + /// Gets a rule of the specified priority. /// /// Request parameters: @@ -25172,6 +25497,73 @@ class NetworkFirewallPoliciesResource { return Operation.fromJson(response_ as core.Map); } + /// Patches a packet mirroring rule of the specified priority. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [project] - Project ID for this request. + /// Value must have pattern + /// `(?:(?:\[-a-z0-9\]{1,63}\.)*(?:\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?):)?(?:\[0-9\]{1,19}|(?:\[a-z0-9\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?))`. + /// + /// [firewallPolicy] - Name of the firewall policy to update. + /// Value must have pattern + /// `\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?|\[1-9\]\[0-9\]{0,19}`. + /// + /// [priority] - The priority of the rule to patch. + /// + /// [requestId] - An optional request ID to identify requests. Specify a + /// unique request ID so that if you must retry your request, the server will + /// know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request + /// times out. If you make the request again with the same request ID, the + /// server can check if original operation with the same request ID was + /// received, and if so, will ignore the second request. This prevents clients + /// from accidentally creating duplicate commitments. The request ID must be a + /// valid UUID with the exception that zero UUID is not supported ( + /// 00000000-0000-0000-0000-000000000000). + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patchPacketMirroringRule( + FirewallPolicyRule request, + core.String project, + core.String firewallPolicy, { + core.int? priority, + core.String? requestId, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (priority != null) 'priority': ['${priority}'], + if (requestId != null) 'requestId': [requestId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'projects/' + + commons.escapeVariable('$project') + + '/global/firewallPolicies/' + + commons.escapeVariable('$firewallPolicy') + + '/patchPacketMirroringRule'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } + /// Patches a rule of the specified priority. /// /// [request] - The metadata request object. @@ -25301,6 +25693,68 @@ class NetworkFirewallPoliciesResource { return Operation.fromJson(response_ as core.Map); } + /// Deletes a packet mirroring rule of the specified priority. + /// + /// Request parameters: + /// + /// [project] - Project ID for this request. + /// Value must have pattern + /// `(?:(?:\[-a-z0-9\]{1,63}\.)*(?:\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?):)?(?:\[0-9\]{1,19}|(?:\[a-z0-9\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?))`. + /// + /// [firewallPolicy] - Name of the firewall policy to update. + /// Value must have pattern + /// `\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?|\[1-9\]\[0-9\]{0,19}`. + /// + /// [priority] - The priority of the rule to remove from the firewall policy. + /// + /// [requestId] - An optional request ID to identify requests. Specify a + /// unique request ID so that if you must retry your request, the server will + /// know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request + /// times out. If you make the request again with the same request ID, the + /// server can check if original operation with the same request ID was + /// received, and if so, will ignore the second request. This prevents clients + /// from accidentally creating duplicate commitments. The request ID must be a + /// valid UUID with the exception that zero UUID is not supported ( + /// 00000000-0000-0000-0000-000000000000). + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future removePacketMirroringRule( + core.String project, + core.String firewallPolicy, { + core.int? priority, + core.String? requestId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (priority != null) 'priority': ['${priority}'], + if (requestId != null) 'requestId': [requestId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'projects/' + + commons.escapeVariable('$project') + + '/global/firewallPolicies/' + + commons.escapeVariable('$firewallPolicy') + + '/removePacketMirroringRule'; + + final response_ = await _requester.request( + url_, + 'POST', + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } + /// Deletes a rule of the specified priority. /// /// Request parameters: @@ -32608,7 +33062,8 @@ class RegionCommitmentsResource { /// Updates the specified commitment with the data included in the request. /// /// Update is performed only on selected fields included as part of - /// update-mask. Only the following fields can be modified: auto_renew. + /// update-mask. Only the following fields can be updated: auto_renew and + /// plan. /// /// [request] - The metadata request object. /// @@ -32621,8 +33076,7 @@ class RegionCommitmentsResource { /// [region] - Name of the region for this request. /// Value must have pattern `\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?`. /// - /// [commitment] - Name of the commitment for which auto renew is being - /// updated. + /// [commitment] - Name of the commitment that you want to update. /// Value must have pattern /// `\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?|\[1-9\]\[0-9\]{0,19}`. /// @@ -45296,6 +45750,74 @@ class RoutersResource { return Operation.fromJson(response_ as core.Map); } + /// Deletes Route Policy + /// + /// Request parameters: + /// + /// [project] - Project ID for this request. + /// Value must have pattern + /// `(?:(?:\[-a-z0-9\]{1,63}\.)*(?:\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?):)?(?:\[0-9\]{1,19}|(?:\[a-z0-9\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?))`. + /// + /// [region] - Name of the region for this request. + /// Value must have pattern `\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?`. + /// + /// [router] - Name of the Router resource where Route Policy is defined. + /// Value must have pattern + /// `\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?|\[1-9\]\[0-9\]{0,19}`. + /// + /// [policy] - The Policy name for this request. Name must conform to RFC1035 + /// + /// [requestId] - An optional request ID to identify requests. Specify a + /// unique request ID so that if you must retry your request, the server will + /// know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request + /// times out. If you make the request again with the same request ID, the + /// server can check if original operation with the same request ID was + /// received, and if so, will ignore the second request. This prevents clients + /// from accidentally creating duplicate commitments. The request ID must be a + /// valid UUID with the exception that zero UUID is not supported ( + /// 00000000-0000-0000-0000-000000000000). + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future deleteRoutePolicy( + core.String project, + core.String region, + core.String router, { + core.String? policy, + core.String? requestId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (policy != null) 'policy': [policy], + if (requestId != null) 'requestId': [requestId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'projects/' + + commons.escapeVariable('$project') + + '/regions/' + + commons.escapeVariable('$region') + + '/routers/' + + commons.escapeVariable('$router') + + '/deleteRoutePolicy'; + + final response_ = await _requester.request( + url_, + 'POST', + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } + /// Returns the specified Router resource. /// /// Request parameters: @@ -45531,6 +46053,61 @@ class RoutersResource { response_ as core.Map); } + /// Returns specified Route Policy + /// + /// Request parameters: + /// + /// [project] - Project ID for this request. + /// Value must have pattern + /// `(?:(?:\[-a-z0-9\]{1,63}\.)*(?:\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?):)?(?:\[0-9\]{1,19}|(?:\[a-z0-9\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?))`. + /// + /// [region] - Name of the region for this request. + /// Value must have pattern `\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?`. + /// + /// [router] - Name of the Router resource to query for the route policy. The + /// name should conform to RFC1035. + /// + /// [policy] - The Policy name for this request. Name must conform to RFC1035 + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [RoutersGetRoutePolicyResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future getRoutePolicy( + core.String project, + core.String region, + core.String router, { + core.String? policy, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (policy != null) 'policy': [policy], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'projects/' + + commons.escapeVariable('$project') + + '/regions/' + + commons.escapeVariable('$region') + + '/routers/' + + commons.escapeVariable('$router') + + '/getRoutePolicy'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return RoutersGetRoutePolicyResponse.fromJson( + response_ as core.Map); + } + /// Retrieves runtime information of the specified router. /// /// Request parameters: @@ -45760,6 +46337,284 @@ class RoutersResource { response_ as core.Map); } + /// Retrieves a list of router bgp routes available to the specified project. + /// + /// Request parameters: + /// + /// [project] - Project ID for this request. + /// Value must have pattern + /// `(?:(?:\[-a-z0-9\]{1,63}\.)*(?:\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?):)?(?:\[0-9\]{1,19}|(?:\[a-z0-9\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?))`. + /// + /// [region] - Name of the region for this request. + /// Value must have pattern `\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?`. + /// + /// [router] - Name or id of the resource for this request. Name should + /// conform to RFC1035. + /// Value must have pattern + /// `\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?|\[1-9\]\[0-9\]{0,19}`. + /// + /// [addressFamily] - (Required) limit results to this address family (either + /// IPv4 or IPv6) + /// Possible string values are: + /// - "IPV4" + /// - "IPV6" + /// - "UNSPECIFIED_IP_VERSION" + /// + /// [destinationPrefix] - Limit results to destinations that are subnets of + /// this CIDR range + /// + /// [filter] - A filter expression that filters resources listed in the + /// response. Most Compute resources support two types of filter expressions: + /// expressions that support regular expressions and expressions that follow + /// API improvement proposal AIP-160. These two types of filter expressions + /// cannot be mixed in one request. If you want to use AIP-160, your + /// expression must specify the field name, an operator, and the value that + /// you want to use for filtering. The value must be a string, a number, or a + /// boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or + /// `:`. For example, if you are filtering Compute Engine instances, you can + /// exclude instances named `example-instance` by specifying `name != + /// example-instance`. The `:*` comparison can be used to test whether a key + /// has been defined. For example, to find all objects with `owner` label use: + /// ``` labels.owner:* ``` You can also filter nested fields. For example, you + /// could specify `scheduling.automaticRestart = false` to include instances + /// only if they are not scheduled for automatic restarts. You can use + /// filtering on nested fields to filter based on resource labels. To filter + /// on multiple expressions, provide each separate expression within + /// parentheses. For example: ``` (scheduling.automaticRestart = true) + /// (cpuPlatform = "Intel Skylake") ``` By default, each expression is an + /// `AND` expression. However, you can include `AND` and `OR` expressions + /// explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR + /// (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) + /// ``` If you want to use a regular expression, use the `eq` (equal) or `ne` + /// (not equal) operator against a single un-parenthesized expression with or + /// without quotes or against multiple parenthesized expressions. Examples: + /// `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` + /// `fieldname eq "double quoted literal"` `(fieldname1 eq literal) + /// (fieldname2 ne "literal")` The literal value is interpreted as a regular + /// expression using Google RE2 library syntax. The literal value must match + /// the entire field. For example, to filter for instances that do not end + /// with name "instance", you would use `name ne .*instance`. You cannot + /// combine constraints on multiple fields using regular expressions. + /// + /// [maxResults] - The maximum number of results per page that should be + /// returned. If the number of available results is larger than `maxResults`, + /// Compute Engine returns a `nextPageToken` that can be used to get the next + /// page of results in subsequent list requests. Acceptable values are `0` to + /// `500`, inclusive. (Default: `500`) + /// + /// [orderBy] - Sorts list results by a certain order. By default, results are + /// returned in alphanumerical order based on the resource name. You can also + /// sort results in descending order based on the creation timestamp using + /// `orderBy="creationTimestamp desc"`. This sorts results based on the + /// `creationTimestamp` field in reverse chronological order (newest result + /// first). Use this to sort resources like operations so that the newest + /// operation is returned first. Currently, only sorting by `name` or + /// `creationTimestamp desc` is supported. + /// + /// [pageToken] - Specifies a page token to use. Set `pageToken` to the + /// `nextPageToken` returned by a previous list request to get the next page + /// of results. + /// + /// [peer] - (Required) limit results to the BGP peer with the given name. + /// Name should conform to RFC1035. + /// + /// [policyApplied] - When true, the method returns post-policy routes. + /// Otherwise, it returns pre-policy routes. + /// + /// [returnPartialSuccess] - Opt-in for partial success behavior which + /// provides partial results in case of failure. The default value is false. + /// For example, when partial success behavior is enabled, aggregatedList for + /// a single zone scope either returns all resources in the zone or no + /// resources, with an error code. + /// + /// [routeType] - (Required) limit results to this type of route (either + /// LEARNED or ADVERTISED) + /// Possible string values are: + /// - "ADVERTISED" + /// - "LEARNED" + /// - "UNSPECIFIED_ROUTE_TYPE" + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [RoutersListBgpRoutes]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future listBgpRoutes( + core.String project, + core.String region, + core.String router, { + core.String? addressFamily, + core.String? destinationPrefix, + core.String? filter, + core.int? maxResults, + core.String? orderBy, + core.String? pageToken, + core.String? peer, + core.bool? policyApplied, + core.bool? returnPartialSuccess, + core.String? routeType, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (addressFamily != null) 'addressFamily': [addressFamily], + if (destinationPrefix != null) 'destinationPrefix': [destinationPrefix], + if (filter != null) 'filter': [filter], + if (maxResults != null) 'maxResults': ['${maxResults}'], + if (orderBy != null) 'orderBy': [orderBy], + if (pageToken != null) 'pageToken': [pageToken], + if (peer != null) 'peer': [peer], + if (policyApplied != null) 'policyApplied': ['${policyApplied}'], + if (returnPartialSuccess != null) + 'returnPartialSuccess': ['${returnPartialSuccess}'], + if (routeType != null) 'routeType': [routeType], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'projects/' + + commons.escapeVariable('$project') + + '/regions/' + + commons.escapeVariable('$region') + + '/routers/' + + commons.escapeVariable('$router') + + '/listBgpRoutes'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return RoutersListBgpRoutes.fromJson( + response_ as core.Map); + } + + /// Retrieves a list of router route policy subresources available to the + /// specified project. + /// + /// Request parameters: + /// + /// [project] - Project ID for this request. + /// Value must have pattern + /// `(?:(?:\[-a-z0-9\]{1,63}\.)*(?:\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?):)?(?:\[0-9\]{1,19}|(?:\[a-z0-9\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?))`. + /// + /// [region] - Name of the region for this request. + /// Value must have pattern `\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?`. + /// + /// [router] - Name or id of the resource for this request. Name should + /// conform to RFC1035. + /// Value must have pattern + /// `\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?|\[1-9\]\[0-9\]{0,19}`. + /// + /// [filter] - A filter expression that filters resources listed in the + /// response. Most Compute resources support two types of filter expressions: + /// expressions that support regular expressions and expressions that follow + /// API improvement proposal AIP-160. These two types of filter expressions + /// cannot be mixed in one request. If you want to use AIP-160, your + /// expression must specify the field name, an operator, and the value that + /// you want to use for filtering. The value must be a string, a number, or a + /// boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or + /// `:`. For example, if you are filtering Compute Engine instances, you can + /// exclude instances named `example-instance` by specifying `name != + /// example-instance`. The `:*` comparison can be used to test whether a key + /// has been defined. For example, to find all objects with `owner` label use: + /// ``` labels.owner:* ``` You can also filter nested fields. For example, you + /// could specify `scheduling.automaticRestart = false` to include instances + /// only if they are not scheduled for automatic restarts. You can use + /// filtering on nested fields to filter based on resource labels. To filter + /// on multiple expressions, provide each separate expression within + /// parentheses. For example: ``` (scheduling.automaticRestart = true) + /// (cpuPlatform = "Intel Skylake") ``` By default, each expression is an + /// `AND` expression. However, you can include `AND` and `OR` expressions + /// explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR + /// (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) + /// ``` If you want to use a regular expression, use the `eq` (equal) or `ne` + /// (not equal) operator against a single un-parenthesized expression with or + /// without quotes or against multiple parenthesized expressions. Examples: + /// `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` + /// `fieldname eq "double quoted literal"` `(fieldname1 eq literal) + /// (fieldname2 ne "literal")` The literal value is interpreted as a regular + /// expression using Google RE2 library syntax. The literal value must match + /// the entire field. For example, to filter for instances that do not end + /// with name "instance", you would use `name ne .*instance`. You cannot + /// combine constraints on multiple fields using regular expressions. + /// + /// [maxResults] - The maximum number of results per page that should be + /// returned. If the number of available results is larger than `maxResults`, + /// Compute Engine returns a `nextPageToken` that can be used to get the next + /// page of results in subsequent list requests. Acceptable values are `0` to + /// `500`, inclusive. (Default: `500`) + /// + /// [orderBy] - Sorts list results by a certain order. By default, results are + /// returned in alphanumerical order based on the resource name. You can also + /// sort results in descending order based on the creation timestamp using + /// `orderBy="creationTimestamp desc"`. This sorts results based on the + /// `creationTimestamp` field in reverse chronological order (newest result + /// first). Use this to sort resources like operations so that the newest + /// operation is returned first. Currently, only sorting by `name` or + /// `creationTimestamp desc` is supported. + /// + /// [pageToken] - Specifies a page token to use. Set `pageToken` to the + /// `nextPageToken` returned by a previous list request to get the next page + /// of results. + /// + /// [returnPartialSuccess] - Opt-in for partial success behavior which + /// provides partial results in case of failure. The default value is false. + /// For example, when partial success behavior is enabled, aggregatedList for + /// a single zone scope either returns all resources in the zone or no + /// resources, with an error code. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [RoutersListRoutePolicies]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future listRoutePolicies( + core.String project, + core.String region, + core.String router, { + core.String? filter, + core.int? maxResults, + core.String? orderBy, + core.String? pageToken, + core.bool? returnPartialSuccess, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (maxResults != null) 'maxResults': ['${maxResults}'], + if (orderBy != null) 'orderBy': [orderBy], + if (pageToken != null) 'pageToken': [pageToken], + if (returnPartialSuccess != null) + 'returnPartialSuccess': ['${returnPartialSuccess}'], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'projects/' + + commons.escapeVariable('$project') + + '/regions/' + + commons.escapeVariable('$region') + + '/routers/' + + commons.escapeVariable('$router') + + '/listRoutePolicies'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return RoutersListRoutePolicies.fromJson( + response_ as core.Map); + } + /// Patches the specified Router resource with the data included in the /// request. /// @@ -45832,6 +46687,75 @@ class RoutersResource { return Operation.fromJson(response_ as core.Map); } + /// Patches Route Policy + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [project] - Project ID for this request. + /// Value must have pattern + /// `(?:(?:\[-a-z0-9\]{1,63}\.)*(?:\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?):)?(?:\[0-9\]{1,19}|(?:\[a-z0-9\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?))`. + /// + /// [region] - Name of the region for this request. + /// Value must have pattern `\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?`. + /// + /// [router] - Name of the Router resource where Route Policy is defined. + /// Value must have pattern + /// `\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?|\[1-9\]\[0-9\]{0,19}`. + /// + /// [requestId] - An optional request ID to identify requests. Specify a + /// unique request ID so that if you must retry your request, the server will + /// know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request + /// times out. If you make the request again with the same request ID, the + /// server can check if original operation with the same request ID was + /// received, and if so, will ignore the second request. This prevents clients + /// from accidentally creating duplicate commitments. The request ID must be a + /// valid UUID with the exception that zero UUID is not supported ( + /// 00000000-0000-0000-0000-000000000000). + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patchRoutePolicy( + RoutePolicy request, + core.String project, + core.String region, + core.String router, { + core.String? requestId, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (requestId != null) 'requestId': [requestId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'projects/' + + commons.escapeVariable('$project') + + '/regions/' + + commons.escapeVariable('$region') + + '/routers/' + + commons.escapeVariable('$router') + + '/patchRoutePolicy'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } + /// Preview fields auto-generated during router create and update operations. /// /// Calling this method does NOT create or update the router. @@ -45963,6 +46887,75 @@ class RoutersResource { ); return Operation.fromJson(response_ as core.Map); } + + /// Updates or creates new Route Policy + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [project] - Project ID for this request. + /// Value must have pattern + /// `(?:(?:\[-a-z0-9\]{1,63}\.)*(?:\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?):)?(?:\[0-9\]{1,19}|(?:\[a-z0-9\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?))`. + /// + /// [region] - Name of the region for this request. + /// Value must have pattern `\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?`. + /// + /// [router] - Name of the Router resource where Route Policy is defined. + /// Value must have pattern + /// `\[a-z\](?:\[-a-z0-9\]{0,61}\[a-z0-9\])?|\[1-9\]\[0-9\]{0,19}`. + /// + /// [requestId] - An optional request ID to identify requests. Specify a + /// unique request ID so that if you must retry your request, the server will + /// know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request + /// times out. If you make the request again with the same request ID, the + /// server can check if original operation with the same request ID was + /// received, and if so, will ignore the second request. This prevents clients + /// from accidentally creating duplicate commitments. The request ID must be a + /// valid UUID with the exception that zero UUID is not supported ( + /// 00000000-0000-0000-0000-000000000000). + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future updateRoutePolicy( + RoutePolicy request, + core.String project, + core.String region, + core.String router, { + core.String? requestId, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (requestId != null) 'requestId': [requestId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'projects/' + + commons.escapeVariable('$project') + + '/regions/' + + commons.escapeVariable('$region') + + '/routers/' + + commons.escapeVariable('$router') + + '/updateRoutePolicy'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } } class RoutesResource { @@ -59107,8 +60100,6 @@ class AccessConfig { /// The resource URL for the security policy associated with this access /// config. - /// - /// Output only. core.String? securityPolicy; /// Specifies whether a public DNS 'PTR' record should be created to map the @@ -60198,8 +61189,10 @@ class AllocationAggregateReservation { /// - "VM_FAMILY_CLOUD_TPU_DEVICE_CT3" /// - "VM_FAMILY_CLOUD_TPU_LITE_DEVICE_CT5L" /// - "VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT5LP" + /// - "VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT6E" /// - "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT3P" /// - "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P" + /// - "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT5P" core.String? vmFamily; /// The workload type of the instances that will target this reservation. @@ -60291,6 +61284,30 @@ class AllocationAggregateReservationReservedResourceInfoAccelerator { }; } +class AllocationReservationSharingPolicy { + /// Sharing config for all Google Cloud services. + /// Possible string values are: + /// - "ALLOW_ALL" : Allow all Google Cloud managed services to share + /// reservations. + /// - "DISALLOW_ALL" : \[Default\] Disallow sharing with all Google Cloud + /// services. + /// - "SERVICE_SHARE_TYPE_UNSPECIFIED" + core.String? serviceShareType; + + AllocationReservationSharingPolicy({ + this.serviceShareType, + }); + + AllocationReservationSharingPolicy.fromJson(core.Map json_) + : this( + serviceShareType: json_['serviceShareType'] as core.String?, + ); + + core.Map toJson() => { + if (serviceShareType != null) 'serviceShareType': serviceShareType!, + }; +} + /// Contains output only fields. /// /// Output only. @@ -60322,19 +61339,34 @@ class AllocationResourceStatusSpecificSKUAllocation { /// ID of the instance template used to populate reservation properties. core.String? sourceInstanceTemplateId; + /// Per service utilization breakdown. + /// + /// The Key is the Google Cloud managed service name. + core.Map? utilizations; + AllocationResourceStatusSpecificSKUAllocation({ this.sourceInstanceTemplateId, + this.utilizations, }); AllocationResourceStatusSpecificSKUAllocation.fromJson(core.Map json_) : this( sourceInstanceTemplateId: json_['sourceInstanceTemplateId'] as core.String?, + utilizations: + (json_['utilizations'] as core.Map?) + ?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), ); core.Map toJson() => { if (sourceInstanceTemplateId != null) 'sourceInstanceTemplateId': sourceInstanceTemplateId!, + if (utilizations != null) 'utilizations': utilizations!, }; } @@ -60880,7 +61912,9 @@ class AttachedDiskInitializeParams { /// disks.source is required. To create a disk with a snapshot that you /// created, specify the snapshot name in the following format: /// global/snapshots/my-backup If the source snapshot is deleted later, this - /// field will not be set. + /// field will not be set. Note: You cannot create VMs in bulk using a + /// snapshot as the source. Use an image instead when you create VMs using the + /// bulk insert method. core.String? sourceSnapshot; /// The customer-supplied encryption key of the source snapshot. @@ -62422,6 +63456,7 @@ class Backend { /// the future, this incompatible combination will be rejected. /// Possible string values are: /// - "CONNECTION" : Balance based on the number of simultaneous connections. + /// - "CUSTOM_METRICS" : Based on custom defined and reported metrics. /// - "RATE" : Balance based on requests per second (RPS). /// - "UTILIZATION" : Balance based on the backend utilization. core.String? balancingMode; @@ -62440,6 +63475,9 @@ class Backend { /// and PSC NEGs. core.double? capacityScaler; + /// List of custom metrics that are used for CUSTOM_METRICS BalancingMode. + core.List? customMetrics; + /// An optional description of this resource. /// /// Provide this property when you create the resource. @@ -62522,6 +63560,7 @@ class Backend { Backend({ this.balancingMode, this.capacityScaler, + this.customMetrics, this.description, this.failover, this.group, @@ -62539,6 +63578,10 @@ class Backend { : this( balancingMode: json_['balancingMode'] as core.String?, capacityScaler: (json_['capacityScaler'] as core.num?)?.toDouble(), + customMetrics: (json_['customMetrics'] as core.List?) + ?.map((value) => BackendCustomMetric.fromJson( + value as core.Map)) + .toList(), description: json_['description'] as core.String?, failover: json_['failover'] as core.bool?, group: json_['group'] as core.String?, @@ -62559,6 +63602,7 @@ class Backend { core.Map toJson() => { if (balancingMode != null) 'balancingMode': balancingMode!, if (capacityScaler != null) 'capacityScaler': capacityScaler!, + if (customMetrics != null) 'customMetrics': customMetrics!, if (description != null) 'description': description!, if (failover != null) 'failover': failover!, if (group != null) 'group': group!, @@ -63190,6 +64234,50 @@ class BackendBucketUsedBy { }; } +/// Custom Metrics are used for CUSTOM_METRICS balancing_mode. +class BackendCustomMetric { + /// If true, the metric data is collected and reported to Cloud Monitoring, + /// but is not used for load balancing. + core.bool? dryRun; + + /// Optional parameter to define a target utilization for the Custom Metrics + /// balancing mode. + /// + /// The valid range is \[0.0, 1.0\]. + core.double? maxUtilization; + + /// Name of a custom utilization signal. + /// + /// The name must be 1-64 characters long and match the regular expression + /// \[a-z\](\[-_.a-z0-9\]*\[a-z0-9\])? which means the first character must be + /// a lowercase letter, and all following characters must be a dash, period, + /// underscore, lowercase letter, or digit, except the last character, which + /// cannot be a dash, period, or underscore. For usage guidelines, see Custom + /// Metrics balancing mode. This field can only be used for a global or + /// regional backend service with the loadBalancingScheme set to + /// EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED. + core.String? name; + + BackendCustomMetric({ + this.dryRun, + this.maxUtilization, + this.name, + }); + + BackendCustomMetric.fromJson(core.Map json_) + : this( + dryRun: json_['dryRun'] as core.bool?, + maxUtilization: (json_['maxUtilization'] as core.num?)?.toDouble(), + name: json_['name'] as core.String?, + ); + + core.Map toJson() => { + if (dryRun != null) 'dryRun': dryRun!, + if (maxUtilization != null) 'maxUtilization': maxUtilization!, + if (name != null) 'name': name!, + }; +} + /// Represents a Backend Service resource. /// /// A backend service defines how Google Cloud load balancers distribute @@ -63261,6 +64349,10 @@ class BackendService { /// Output only. core.String? creationTimestamp; + /// List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN + /// locality_lb_policy. + core.List? customMetrics; + /// Headers that the load balancer adds to proxied requests. /// /// See @@ -63474,6 +64566,12 @@ class BackendService { /// either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load /// Balancing remains equal-weight. This option is only supported in Network /// Load Balancing. + /// - "WEIGHTED_ROUND_ROBIN" : Per-endpoint weighted round-robin Load + /// Balancing using weights computed from Backend reported Custom Metrics. If + /// set, the Backend Service responses are expected to contain non-standard + /// HTTP response header field X-Endpoint-Load-Metrics. The reported metrics + /// to use for computing the weights are specified via the + /// backends\[\].customMetrics fields. core.String? localityLbPolicy; /// This field denotes the logging options for the load balancer traffic @@ -63692,6 +64790,7 @@ class BackendService { this.connectionTrackingPolicy, this.consistentHash, this.creationTimestamp, + this.customMetrics, this.customRequestHeaders, this.customResponseHeaders, this.description, @@ -63761,6 +64860,10 @@ class BackendService { as core.Map) : null, creationTimestamp: json_['creationTimestamp'] as core.String?, + customMetrics: (json_['customMetrics'] as core.List?) + ?.map((value) => BackendServiceCustomMetric.fromJson( + value as core.Map)) + .toList(), customRequestHeaders: (json_['customRequestHeaders'] as core.List?) ?.map((value) => value as core.String) .toList(), @@ -63859,6 +64962,7 @@ class BackendService { 'connectionTrackingPolicy': connectionTrackingPolicy!, if (consistentHash != null) 'consistentHash': consistentHash!, if (creationTimestamp != null) 'creationTimestamp': creationTimestamp!, + if (customMetrics != null) 'customMetrics': customMetrics!, if (customRequestHeaders != null) 'customRequestHeaders': customRequestHeaders!, if (customResponseHeaders != null) @@ -64430,6 +65534,40 @@ class BackendServiceConnectionTrackingPolicy { }; } +/// Custom Metrics are used for WEIGHTED_ROUND_ROBIN locality_lb_policy. +class BackendServiceCustomMetric { + /// If true, the metric data is not used for load balancing. + core.bool? dryRun; + + /// Name of a custom utilization signal. + /// + /// The name must be 1-64 characters long and match the regular expression + /// \[a-z\](\[-_.a-z0-9\]*\[a-z0-9\])? which means the first character must be + /// a lowercase letter, and all following characters must be a dash, period, + /// underscore, lowercase letter, or digit, except the last character, which + /// cannot be a dash, period, or underscore. For usage guidelines, see Custom + /// Metrics balancing mode. This field can only be used for a global or + /// regional backend service with the loadBalancingScheme set to + /// EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED. + core.String? name; + + BackendServiceCustomMetric({ + this.dryRun, + this.name, + }); + + BackendServiceCustomMetric.fromJson(core.Map json_) + : this( + dryRun: json_['dryRun'] as core.bool?, + name: json_['name'] as core.String?, + ); + + core.Map toJson() => { + if (dryRun != null) 'dryRun': dryRun!, + if (name != null) 'name': name!, + }; +} + /// For load balancers that have configurable failover: /// [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) /// and @@ -65153,6 +66291,12 @@ class BackendServiceLocalityLoadBalancingPolicyConfigPolicy { /// either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load /// Balancing remains equal-weight. This option is only supported in Network /// Load Balancing. + /// - "WEIGHTED_ROUND_ROBIN" : Per-endpoint weighted round-robin Load + /// Balancing using weights computed from Backend reported Custom Metrics. If + /// set, the Backend Service responses are expected to contain non-standard + /// HTTP response header field X-Endpoint-Load-Metrics. The reported metrics + /// to use for computing the weights are specified via the + /// backends\[\].customMetrics fields. core.String? name; BackendServiceLocalityLoadBalancingPolicyConfigPolicy({ @@ -65773,6 +66917,133 @@ class BfdStatusPacketCounts { }; } +class BgpRoute { + /// AS-PATH for the route + /// + /// Output only. + core.List? asPaths; + + /// BGP communities in human-readable A:B format. + /// + /// Output only. + core.List? communities; + + /// Destination IP range for the route, in human-readable CIDR format + /// + /// Output only. + BgpRouteNetworkLayerReachabilityInformation? destination; + + /// BGP multi-exit discriminator + /// + /// Output only. + core.int? med; + + /// BGP origin (EGP, IGP or INCOMPLETE) + /// + /// Output only. + /// Possible string values are: + /// - "BGP_ORIGIN_EGP" + /// - "BGP_ORIGIN_IGP" + /// - "BGP_ORIGIN_INCOMPLETE" + core.String? origin; + + BgpRoute({ + this.asPaths, + this.communities, + this.destination, + this.med, + this.origin, + }); + + BgpRoute.fromJson(core.Map json_) + : this( + asPaths: (json_['asPaths'] as core.List?) + ?.map((value) => BgpRouteAsPath.fromJson( + value as core.Map)) + .toList(), + communities: (json_['communities'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + destination: json_.containsKey('destination') + ? BgpRouteNetworkLayerReachabilityInformation.fromJson( + json_['destination'] as core.Map) + : null, + med: json_['med'] as core.int?, + origin: json_['origin'] as core.String?, + ); + + core.Map toJson() => { + if (asPaths != null) 'asPaths': asPaths!, + if (communities != null) 'communities': communities!, + if (destination != null) 'destination': destination!, + if (med != null) 'med': med!, + if (origin != null) 'origin': origin!, + }; +} + +class BgpRouteAsPath { + /// ASNs in the path segment. + /// + /// When type is SEQUENCE, these are ordered. + /// + /// Output only. + core.List? asns; + + /// Type of AS-PATH segment (SEQUENCE or SET) + /// + /// Output only. + /// Possible string values are: + /// - "AS_PATH_TYPE_SEQUENCE" + /// - "AS_PATH_TYPE_SET" + core.String? type; + + BgpRouteAsPath({ + this.asns, + this.type, + }); + + BgpRouteAsPath.fromJson(core.Map json_) + : this( + asns: (json_['asns'] as core.List?) + ?.map((value) => value as core.int) + .toList(), + type: json_['type'] as core.String?, + ); + + core.Map toJson() => { + if (asns != null) 'asns': asns!, + if (type != null) 'type': type!, + }; +} + +/// Network Layer Reachability Information (NLRI) for a route. +class BgpRouteNetworkLayerReachabilityInformation { + /// If the BGP session supports multiple paths (RFC 7911), the path identifier + /// for this route. + core.int? pathId; + + /// Human readable CIDR notation for a prefix. + /// + /// E.g. 10.42.0.0/16. + core.String? prefix; + + BgpRouteNetworkLayerReachabilityInformation({ + this.pathId, + this.prefix, + }); + + BgpRouteNetworkLayerReachabilityInformation.fromJson(core.Map json_) + : this( + pathId: json_['pathId'] as core.int?, + prefix: json_['prefix'] as core.String?, + ); + + core.Map toJson() => { + if (pathId != null) 'pathId': pathId!, + if (prefix != null) 'prefix': prefix!, + }; +} + /// Associates `members`, or principals, with a `role`. class Binding { /// The condition that is associated with this binding. @@ -66282,27 +67553,33 @@ class CircuitBreakers { }; } -/// Represents a regional Commitment resource. +/// Represents a regional resource-based commitment resource. /// -/// Creating a commitment resource means that you are purchasing a committed use -/// contract with an explicit start and end time. You can create commitments -/// based on vCPUs and memory usage and receive discounted rates. For full -/// details, read Signing Up for Committed Use Discounts. +/// Creating this commitment resource means that you are purchasing a +/// resource-based committed use contract, with an explicit start and end time. +/// You can purchase resource-based commitments for both hardware and software +/// resources. For more information, read Resource-based committed use discounts class Commitment { - /// Specifies whether to enable automatic renewal for the commitment. - /// - /// The default value is false if not specified. The field can be updated - /// until the day of the commitment expiration at 12:00am PST. If the field is - /// set to true, the commitment will be automatically renewed for either one - /// or three years according to the terms of the existing commitment. + /// Specifies whether to automatically renew the commitment at the end of its + /// current term. + /// + /// The default value is false. If you set the field to true, each time your + /// commitment reaches the end of its term, Compute Engine automatically + /// renews it for another term. You can update this field anytime before the + /// commitment expires. For example, if the commitment is set to expire at 12 + /// AM UTC-8 on January 3, 2027, you can update this field until 11:59 PM + /// UTC-8 on January 2, 2027. core.bool? autoRenew; - /// The category of the commitment. + /// The category of the commitment; specifies whether the commitment is for + /// hardware or software resources. /// - /// Category MACHINE specifies commitments composed of machine resources such - /// as VCPU or MEMORY, listed in resources. Category LICENSE specifies - /// commitments composed of software licenses, listed in licenseResources. - /// Note that only MACHINE commitments should have a Type specified. + /// Category MACHINE specifies that you are committing to hardware machine + /// resources such as VCPU or MEMORY, listed in resources. Category LICENSE + /// specifies that you are committing to software licenses, listed in + /// licenseResources. Note that if you specify MACHINE commitments, then you + /// must also specify a type to indicate the machine series of the hardware + /// resource that you are committing to. /// Possible string values are: /// - "CATEGORY_UNSPECIFIED" /// - "LICENSE" @@ -66314,30 +67591,22 @@ class Commitment { /// Output only. core.String? creationTimestamp; - /// \[Input Only\] Optional, specifies the CUD end time requested by the - /// customer in RFC3339 text format. + /// \[Input Only\] Optional, specifies the requested commitment end time in + /// RFC3339 text format. /// - /// Needed when the customer wants CUD's end date is later than the start date - /// + term duration. + /// Use this option when the desired commitment's end date is later than the + /// start date + term duration. core.String? customEndTimestamp; - /// An optional description of this resource. + /// An optional description of the commitment. /// - /// Provide this property when you create the resource. + /// You can provide this property when you create the resource. core.String? description; /// Commitment end time in RFC3339 text format. /// /// Output only. core.String? endTimestamp; - - /// Specifies the already existing reservations to attach to the Commitment. - /// - /// This field is optional, and it can be a full or partial URL. For example, - /// the following are valid URLs to an reservation: - - /// https://www.googleapis.com/compute/v1/projects/project/zones/zone - /// /reservations/reservation - - /// projects/project/zones/zone/reservations/reservation core.List? existingReservations; /// The unique identifier for the resource. @@ -66357,35 +67626,49 @@ class Commitment { /// The license specification required as part of a license commitment. LicenseResourceCommitment? licenseResource; - /// List of source commitments to be merged into a new commitment. + /// The list of source commitments that you are merging to create the new + /// merged commitment. + /// + /// For more information, see Merging commitments. core.List? mergeSourceCommitments; - /// Name of the resource. + /// Name of the commitment. /// - /// Provided by the client when the resource is created. The name must be 1-63 - /// characters long, and comply with RFC1035. Specifically, the name must be - /// 1-63 characters long and match the regular expression + /// You must specify a name when you purchase the commitment. The name must be + /// 1-63 characters long, and comply with RFC1035. Specifically, the name must + /// be 1-63 characters long and match the regular expression /// `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a /// lowercase letter, and all following characters must be a dash, lowercase /// letter, or digit, except the last character, which cannot be a dash. core.String? name; - /// The plan for this commitment, which determines duration and discount rate. + /// The minimum time duration that you commit to purchasing resources. /// - /// The currently supported plans are TWELVE_MONTH (1 year), and - /// THIRTY_SIX_MONTH (3 years). + /// The plan that you choose determines the preset term length of the + /// commitment (which is 1 year or 3 years) and affects the discount rate that + /// you receive for your resources. Committing to a longer time duration + /// typically gives you a higher discount rate. The supported values for this + /// field are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years). /// Possible string values are: /// - "INVALID" /// - "THIRTY_SIX_MONTH" /// - "TWELVE_MONTH" core.String? plan; - /// URL of the region where this commitment may be used. + /// URL of the region where the commitment and committed resources are + /// located. /// /// Output only. core.String? region; - /// List of create-on-create reservations for this commitment. + /// The list of new reservations that you want to create and attach to this + /// commitment. + /// + /// You must attach reservations to your commitment if your commitment + /// specifies any GPUs or Local SSD disks. For more information, see Attach + /// reservations to resource-based commitments. Specify this property only if + /// you want to create new reservations to attach. To attach existing + /// reservations, specify the existingReservations property instead. core.List? reservations; /// Status information for Commitment resource. @@ -66393,9 +67676,10 @@ class Commitment { /// Output only. CommitmentResourceStatus? resourceStatus; - /// A list of commitment amounts for particular resources. + /// The list of all the hardware resources, with their types and amounts, that + /// you want to commit to. /// - /// Note that VCPU and MEMORY resource commitments must occur together. + /// Specify as a separate entry in the list for each individual resource type. core.List? resources; /// Server-defined URL for the resource. @@ -66403,7 +67687,10 @@ class Commitment { /// Output only. core.String? selfLink; - /// Source commitment to be split into a new commitment. + /// The source commitment from which you are transferring resources to create + /// the new split commitment. + /// + /// For more information, see Split commitments. core.String? splitSourceCommitment; /// Commitment start time in RFC3339 text format. @@ -66414,7 +67701,8 @@ class Commitment { /// Status of the commitment with regards to eventual expiration (each /// commitment has an end date defined). /// - /// One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED. + /// Status can be one of the following values: NOT_YET_ACTIVE, ACTIVE, or + /// EXPIRED. /// /// Output only. /// Possible string values are: @@ -66431,16 +67719,27 @@ class Commitment { /// Output only. core.String? statusMessage; - /// The type of commitment, which affects the discount rate and the eligible - /// resources. - /// - /// Type MEMORY_OPTIMIZED specifies a commitment that will only apply to - /// memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a - /// commitment that will only apply to accelerator optimized machines. + /// The type of commitment; specifies the machine series for which you want to + /// commit to purchasing resources. + /// + /// The choice of machine series affects the discount rate and the eligible + /// resource types. The type must be one of the following: + /// ACCELERATOR_OPTIMIZED, ACCELERATOR_OPTIMIZED_A3, + /// ACCELERATOR_OPTIMIZED_A3_MEGA, COMPUTE_OPTIMIZED, COMPUTE_OPTIMIZED_C2D, + /// COMPUTE_OPTIMIZED_C3, COMPUTE_OPTIMIZED_C3D, COMPUTE_OPTIMIZED_H3, + /// GENERAL_PURPOSE, GENERAL_PURPOSE_C4, GENERAL_PURPOSE_E2, + /// GENERAL_PURPOSE_N2, GENERAL_PURPOSE_N2D, GENERAL_PURPOSE_N4, + /// GENERAL_PURPOSE_T2D, GRAPHICS_OPTIMIZED, MEMORY_OPTIMIZED, + /// MEMORY_OPTIMIZED_M3, MEMORY_OPTIMIZED_X4, STORAGE_OPTIMIZED_Z3. For + /// example, type MEMORY_OPTIMIZED specifies a commitment that applies only to + /// eligible resources of memory optimized M1 and M2 machine series. Type + /// GENERAL_PURPOSE specifies a commitment that applies only to eligible + /// resources of general purpose N1 machine series. /// Possible string values are: /// - "ACCELERATOR_OPTIMIZED" /// - "ACCELERATOR_OPTIMIZED_A3" /// - "ACCELERATOR_OPTIMIZED_A3_MEGA" + /// - "ACCELERATOR_OPTIMIZED_A3_ULTRA" /// - "COMPUTE_OPTIMIZED" /// - "COMPUTE_OPTIMIZED_C2D" /// - "COMPUTE_OPTIMIZED_C3" @@ -66461,7 +67760,10 @@ class Commitment { /// - "MEMORY_OPTIMIZED_X4_24TB" /// - "MEMORY_OPTIMIZED_X4_32TB" /// - "STORAGE_OPTIMIZED_Z3" - /// - "TYPE_UNSPECIFIED" + /// - "TYPE_UNSPECIFIED" : Note for internal users: When adding a new enum + /// Type for v1, make sure to also add it in the comment for the `optional + /// Type type` definition. This ensures that the public documentation displays + /// the new enum Type. core.String? type; Commitment({ @@ -67177,7 +68479,7 @@ class CommitmentsScopedListWarning { } class CommitmentsScopedList { - /// A list of commitments contained in this scope. + /// The list of commitments contained in this scope. /// /// Output only. core.List? commitments; @@ -70207,60 +71509,7 @@ class Duration { /// Spanner instance in a region that is out of stock: { "reason": "STOCKOUT" /// "domain": "spanner.googleapis.com", "metadata": { "availableRegions": /// "us-central1,us-east2" } } -class ErrorInfo { - /// The logical grouping to which the "reason" belongs. - /// - /// The error domain is typically the registered service name of the tool or - /// product that generates the error. Example: "pubsub.googleapis.com". If the - /// error is generated by some common infrastructure, the error domain must be - /// a globally unique value that identifies the infrastructure. For Google API - /// infrastructure, the error domain is "googleapis.com". - core.String? domain; - - /// Additional structured details about this error. - /// - /// Keys must match /a-z+/ but should ideally be lowerCamelCase. Also they - /// must be limited to 64 characters in length. When identifying the current - /// value of an exceeded limit, the units should be contained in the key, not - /// the value. For example, rather than {"instanceLimit": "100/request"}, - /// should be returned as, {"instanceLimitPerRequest": "100"}, if the client - /// exceeds the number of instances that can be created in a single (batch) - /// request. - core.Map? metadatas; - - /// The reason of the error. - /// - /// This is a constant value that identifies the proximate cause of the error. - /// Error reasons are unique within a particular domain of errors. This should - /// be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, - /// which represents UPPER_SNAKE_CASE. - core.String? reason; - - ErrorInfo({ - this.domain, - this.metadatas, - this.reason, - }); - - ErrorInfo.fromJson(core.Map json_) - : this( - domain: json_['domain'] as core.String?, - metadatas: - (json_['metadatas'] as core.Map?)?.map( - (key, value) => core.MapEntry( - key, - value as core.String, - ), - ), - reason: json_['reason'] as core.String?, - ); - - core.Map toJson() => { - if (domain != null) 'domain': domain!, - if (metadatas != null) 'metadatas': metadatas!, - if (reason != null) 'reason': reason!, - }; -} +typedef ErrorInfo = $ErrorInfo; class ExchangedPeeringRoute { /// The destination range of the route. @@ -71601,6 +72850,177 @@ class FirewallPoliciesListAssociationsResponse { }; } +class FirewallPoliciesScopedListWarningData { + /// A key that provides more detail on the warning being returned. + /// + /// For example, for warnings where there are no results in a list request for + /// a particular zone, this key might be scope and the key value might be the + /// zone name. Other examples might be a key indicating a deprecated resource + /// and a suggested replacement, or a warning about invalid network settings + /// (for example, if an instance attempts to perform IP forwarding but is not + /// enabled for IP forwarding). + /// + /// Output only. + core.String? key; + + /// A warning data value corresponding to the key. + /// + /// Output only. + core.String? value; + + FirewallPoliciesScopedListWarningData({ + this.key, + this.value, + }); + + FirewallPoliciesScopedListWarningData.fromJson(core.Map json_) + : this( + key: json_['key'] as core.String?, + value: json_['value'] as core.String?, + ); + + core.Map toJson() => { + if (key != null) 'key': key!, + if (value != null) 'value': value!, + }; +} + +/// Informational warning which replaces the list of firewall policies when the +/// list is empty. +class FirewallPoliciesScopedListWarning { + /// A warning code, if applicable. + /// + /// For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no + /// results in the response. + /// + /// Output only. + /// Possible string values are: + /// - "CLEANUP_FAILED" : Warning about failed cleanup of transient changes + /// made by a failed operation. + /// - "DEPRECATED_RESOURCE_USED" : A link to a deprecated resource was + /// created. + /// - "DEPRECATED_TYPE_USED" : When deploying and at least one of the + /// resources has a type marked as deprecated + /// - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" : The user created a boot disk that + /// is larger than image size. + /// - "EXPERIMENTAL_TYPE_USED" : When deploying and at least one of the + /// resources has a type marked as experimental + /// - "EXTERNAL_API_WARNING" : Warning that is present in an external api call + /// - "FIELD_VALUE_OVERRIDEN" : Warning that value of a field has been + /// overridden. Deprecated unused field. + /// - "INJECTED_KERNELS_DEPRECATED" : The operation involved use of an + /// injected kernel, which is deprecated. + /// - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" : A WEIGHTED_MAGLEV + /// backend service is associated with a health check that is not of type + /// HTTP/HTTPS/HTTP2. + /// - "LARGE_DEPLOYMENT_WARNING" : When deploying a deployment with a + /// exceedingly large number of resources + /// - "LIST_OVERHEAD_QUOTA_EXCEED" : Resource can't be retrieved due to list + /// overhead quota exceed which captures the amount of resources filtered out + /// by user-defined list filter. + /// - "MISSING_TYPE_DEPENDENCY" : A resource depends on a missing type + /// - "NEXT_HOP_ADDRESS_NOT_ASSIGNED" : The route's nextHopIp address is not + /// assigned to an instance on the network. + /// - "NEXT_HOP_CANNOT_IP_FORWARD" : The route's next hop instance cannot ip + /// forward. + /// - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" : The route's nextHopInstance + /// URL refers to an instance that does not have an ipv6 interface on the same + /// network as the route. + /// - "NEXT_HOP_INSTANCE_NOT_FOUND" : The route's nextHopInstance URL refers + /// to an instance that does not exist. + /// - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" : The route's nextHopInstance URL + /// refers to an instance that is not on the same network as the route. + /// - "NEXT_HOP_NOT_RUNNING" : The route's next hop instance does not have a + /// status of RUNNING. + /// - "NOT_CRITICAL_ERROR" : Error which is not critical. We decided to + /// continue the process despite the mentioned error. + /// - "NO_RESULTS_ON_PAGE" : No results are present on a particular list page. + /// - "PARTIAL_SUCCESS" : Success is reported, but some results may be missing + /// due to errors + /// - "QUOTA_INFO_UNAVAILABLE" : Quota information is not available to client + /// requests (e.g: regions.list). + /// - "REQUIRED_TOS_AGREEMENT" : The user attempted to use a resource that + /// requires a TOS they have not accepted. + /// - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" : Warning that a resource is + /// in use. + /// - "RESOURCE_NOT_DELETED" : One or more of the resources set to auto-delete + /// could not be deleted because they were in use. + /// - "SCHEMA_VALIDATION_IGNORED" : When a resource schema validation is + /// ignored. + /// - "SINGLE_INSTANCE_PROPERTY_TEMPLATE" : Instance template used in instance + /// group manager is valid as such, but its application does not make a lot of + /// sense, because it allows only single instance in instance group. + /// - "UNDECLARED_PROPERTIES" : When undeclared properties in the schema are + /// present + /// - "UNREACHABLE" : A given scope cannot be reached. + core.String? code; + + /// Metadata about this warning in key: value format. + /// + /// For example: "data": \[ { "key": "scope", "value": "zones/us-east1-d" } + /// + /// Output only. + core.List? data; + + /// A human-readable description of the warning code. + /// + /// Output only. + core.String? message; + + FirewallPoliciesScopedListWarning({ + this.code, + this.data, + this.message, + }); + + FirewallPoliciesScopedListWarning.fromJson(core.Map json_) + : this( + code: json_['code'] as core.String?, + data: (json_['data'] as core.List?) + ?.map((value) => FirewallPoliciesScopedListWarningData.fromJson( + value as core.Map)) + .toList(), + message: json_['message'] as core.String?, + ); + + core.Map toJson() => { + if (code != null) 'code': code!, + if (data != null) 'data': data!, + if (message != null) 'message': message!, + }; +} + +class FirewallPoliciesScopedList { + /// A list of firewall policies contained in this scope. + core.List? firewallPolicies; + + /// Informational warning which replaces the list of firewall policies when + /// the list is empty. + FirewallPoliciesScopedListWarning? warning; + + FirewallPoliciesScopedList({ + this.firewallPolicies, + this.warning, + }); + + FirewallPoliciesScopedList.fromJson(core.Map json_) + : this( + firewallPolicies: (json_['firewallPolicies'] as core.List?) + ?.map((value) => FirewallPolicy.fromJson( + value as core.Map)) + .toList(), + warning: json_.containsKey('warning') + ? FirewallPoliciesScopedListWarning.fromJson( + json_['warning'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (firewallPolicies != null) 'firewallPolicies': firewallPolicies!, + if (warning != null) 'warning': warning!, + }; +} + /// Represents a Firewall Policy resource. class FirewallPolicy { /// A list of associations that belong to this firewall policy. @@ -71670,6 +73090,9 @@ class FirewallPolicy { /// Firewall Policy. core.String? name; + /// A list of packet mirroring rules that belong to this policy. + core.List? packetMirroringRules; + /// The parent of the firewall policy. /// /// This field is not applicable to network firewall policies. @@ -71731,6 +73154,7 @@ class FirewallPolicy { this.id, this.kind, this.name, + this.packetMirroringRules, this.parent, this.region, this.ruleTupleCount, @@ -71753,6 +73177,10 @@ class FirewallPolicy { id: json_['id'] as core.String?, kind: json_['kind'] as core.String?, name: json_['name'] as core.String?, + packetMirroringRules: (json_['packetMirroringRules'] as core.List?) + ?.map((value) => FirewallPolicyRule.fromJson( + value as core.Map)) + .toList(), parent: json_['parent'] as core.String?, region: json_['region'] as core.String?, ruleTupleCount: json_['ruleTupleCount'] as core.int?, @@ -71774,6 +73202,8 @@ class FirewallPolicy { if (id != null) 'id': id!, if (kind != null) 'kind': kind!, if (name != null) 'name': name!, + if (packetMirroringRules != null) + 'packetMirroringRules': packetMirroringRules!, if (parent != null) 'parent': parent!, if (region != null) 'region': region!, if (ruleTupleCount != null) 'ruleTupleCount': ruleTupleCount!, @@ -79172,13 +80602,13 @@ class InstanceGroup { /// The name must be 1-63 characters long, and comply with RFC1035. core.String? name; - /// Assigns a name to a port number. + /// Optional. /// - /// For example: {name: "http", port: 80} This allows the system to reference - /// ports by the assigned name instead of a port number. Named ports can also - /// contain multiple ports. For example: \[{name: "app1", port: 8080}, {name: - /// "app1", port: 8081}, {name: "app2", port: 8082}\] Named ports apply to all - /// instances in this instance group. + /// Assigns a name to a port number. For example: {name: "http", port: 80} + /// This allows the system to reference ports by the assigned name instead of + /// a port number. Named ports can also contain multiple ports. For example: + /// \[{name: "app1", port: 8080}, {name: "app1", port: 8081}, {name: "app2", + /// port: 8082}\] Named ports apply to all instances in this instance group. core.List? namedPorts; /// The URL of the network to which all instances in the instance group @@ -79842,6 +81272,9 @@ class InstanceGroupManager { /// Output only. core.String? region; + /// Resource policies for this managed instance group. + InstanceGroupManagerResourcePolicies? resourcePolicies; + /// Reserved for future use. /// /// Output only. @@ -79937,6 +81370,7 @@ class InstanceGroupManager { this.name, this.namedPorts, this.region, + this.resourcePolicies, this.satisfiesPzi, this.satisfiesPzs, this.selfLink, @@ -79999,6 +81433,11 @@ class InstanceGroupManager { value as core.Map)) .toList(), region: json_['region'] as core.String?, + resourcePolicies: json_.containsKey('resourcePolicies') + ? InstanceGroupManagerResourcePolicies.fromJson( + json_['resourcePolicies'] + as core.Map) + : null, satisfiesPzi: json_['satisfiesPzi'] as core.bool?, satisfiesPzs: json_['satisfiesPzs'] as core.bool?, selfLink: json_['selfLink'] as core.String?, @@ -80056,6 +81495,7 @@ class InstanceGroupManager { if (name != null) 'name': name!, if (namedPorts != null) 'namedPorts': namedPorts!, if (region != null) 'region': region!, + if (resourcePolicies != null) 'resourcePolicies': resourcePolicies!, if (satisfiesPzi != null) 'satisfiesPzi': satisfiesPzi!, if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, if (selfLink != null) 'selfLink': selfLink!, @@ -81511,6 +82951,32 @@ class InstanceGroupManagerResizeRequestsListResponse { }; } +class InstanceGroupManagerResourcePolicies { + /// The URL of the workload policy that is specified for this managed instance + /// group. + /// + /// It can be a full or partial URL. For example, the following are all valid + /// URLs to a workload policy: - + /// https://www.googleapis.com/compute/v1/projects/project/regions/region + /// /resourcePolicies/resourcePolicy - + /// projects/project/regions/region/resourcePolicies/resourcePolicy - + /// regions/region/resourcePolicies/resourcePolicy + core.String? workloadPolicy; + + InstanceGroupManagerResourcePolicies({ + this.workloadPolicy, + }); + + InstanceGroupManagerResourcePolicies.fromJson(core.Map json_) + : this( + workloadPolicy: json_['workloadPolicy'] as core.String?, + ); + + core.Map toJson() => { + if (workloadPolicy != null) 'workloadPolicy': workloadPolicy!, + }; +} + class InstanceGroupManagerStandbyPolicy { /// Specifies the number of seconds that the MIG should wait to suspend or /// stop a VM after that VM was created. @@ -85031,6 +86497,11 @@ class InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy { /// Output only. core.String? name; + /// The packet mirroring rules that apply to the instance. + /// + /// Output only. + core.List? packetMirroringRules; + /// Priority of firewall policy association. /// /// Not applicable for type=HIERARCHY. @@ -85069,6 +86540,7 @@ class InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy { InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy({ this.displayName, this.name, + this.packetMirroringRules, this.priority, this.rules, this.shortName, @@ -85080,6 +86552,10 @@ class InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy { : this( displayName: json_['displayName'] as core.String?, name: json_['name'] as core.String?, + packetMirroringRules: (json_['packetMirroringRules'] as core.List?) + ?.map((value) => FirewallPolicyRule.fromJson( + value as core.Map)) + .toList(), priority: json_['priority'] as core.int?, rules: (json_['rules'] as core.List?) ?.map((value) => FirewallPolicyRule.fromJson( @@ -85092,6 +86568,8 @@ class InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy { core.Map toJson() => { if (displayName != null) 'displayName': displayName!, if (name != null) 'name': name!, + if (packetMirroringRules != null) + 'packetMirroringRules': packetMirroringRules!, if (priority != null) 'priority': priority!, if (rules != null) 'rules': rules!, if (shortName != null) 'shortName': shortName!, @@ -85119,6 +86597,66 @@ class InstancesRemoveResourcePoliciesRequest { }; } +class InstancesReportHostAsFaultyRequest { + /// The disruption schedule for the VM. + /// + /// Default to IMMEDIATE. + /// Possible string values are: + /// - "DISRUPTION_SCHEDULE_UNSPECIFIED" : Not used. Required as per aip/126. + /// - "FUTURE" : Delay disruption for caller control. Will be default soon. + /// - "IMMEDIATE" : Default value. Disrupt the VM immediately. + core.String? disruptionSchedule; + core.List? faultReasons; + + InstancesReportHostAsFaultyRequest({ + this.disruptionSchedule, + this.faultReasons, + }); + + InstancesReportHostAsFaultyRequest.fromJson(core.Map json_) + : this( + disruptionSchedule: json_['disruptionSchedule'] as core.String?, + faultReasons: (json_['faultReasons'] as core.List?) + ?.map((value) => + InstancesReportHostAsFaultyRequestFaultReason.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (disruptionSchedule != null) + 'disruptionSchedule': disruptionSchedule!, + if (faultReasons != null) 'faultReasons': faultReasons!, + }; +} + +class InstancesReportHostAsFaultyRequestFaultReason { + /// + /// Possible string values are: + /// - "BEHAVIOR_UNSPECIFIED" : Public reportable behaviors + /// - "PERFORMANCE" + /// - "SILENT_DATA_CORRUPTION" + /// - "UNRECOVERABLE_GPU_ERROR" + core.String? behavior; + core.String? description; + + InstancesReportHostAsFaultyRequestFaultReason({ + this.behavior, + this.description, + }); + + InstancesReportHostAsFaultyRequestFaultReason.fromJson(core.Map json_) + : this( + behavior: json_['behavior'] as core.String?, + description: json_['description'] as core.String?, + ); + + core.Map toJson() => { + if (behavior != null) 'behavior': behavior!, + if (description != null) 'description': description!, + }; +} + class InstancesScopedListWarningData { /// A key that provides more detail on the warning being returned. /// @@ -85457,7 +86995,7 @@ class InstancesSetSecurityPolicyRequest { }; } -typedef InstancesSetServiceAccountRequest = $Shared08; +typedef InstancesSetServiceAccountRequest = $Shared09; class InstancesStartWithEncryptionKeyRequest { /// Array of disks associated with this instance that are protected with a @@ -86765,8 +88303,9 @@ class InterconnectAttachment { /// values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s /// - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - /// BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 - /// Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s + /// Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s - BPS_100G: 100 Gbit/s /// Possible string values are: + /// - "BPS_100G" : 100 Gbit/s /// - "BPS_100M" : 100 Mbit/s /// - "BPS_10G" : 10 Gbit/s /// - "BPS_1G" : 1 Gbit/s @@ -86784,14 +88323,15 @@ class InterconnectAttachment { /// This field is not available. core.List? candidateIpv6Subnets; - /// Up to 16 candidate prefixes that can be used to restrict the allocation of - /// cloudRouterIpAddress and customerRouterIpAddress for this attachment. + /// Input only. /// - /// All prefixes must be within link-local address space (169.254.0.0/16) and - /// must be /29 or shorter (/28, /27, etc). Google will attempt to select an - /// unused /29 from the supplied candidate prefix(es). The request will fail - /// if all possible /29s are in use on Google's edge. If not supplied, Google - /// will randomly select an unused /29 from all of link-local space. + /// Up to 16 candidate prefixes that can be used to restrict the allocation of + /// cloudRouterIpAddress and customerRouterIpAddress for this attachment. All + /// prefixes must be within link-local address space (169.254.0.0/16) and must + /// be /29 or shorter (/28, /27, etc). Google will attempt to select an unused + /// /29 from the supplied candidate prefix(es). The request will fail if all + /// possible /29s are in use on Google's edge. If not supplied, Google will + /// randomly select an unused /29 from all of link-local space. core.List? candidateSubnets; /// IPv4 address + prefix length to be configured on Cloud Router Interface @@ -86847,15 +88387,16 @@ class InterconnectAttachment { /// An optional description of this resource. core.String? description; - /// Desired availability domain for the attachment. + /// Input only. /// - /// Only available for type PARTNER, at creation time, and can take one of the - /// following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - - /// AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure - /// a pair of attachments, one per availability domain. The selected - /// availability domain will be provided to the Partner via the pairing key, - /// so that the provisioned circuit will lie in the specified domain. If not - /// specified, the value will default to AVAILABILITY_DOMAIN_ANY. + /// Desired availability domain for the attachment. Only available for type + /// PARTNER, at creation time, and can take one of the following values: - + /// AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 + /// For improved reliability, customers should configure a pair of + /// attachments, one per availability domain. The selected availability domain + /// will be provided to the Partner via the pairing key, so that the + /// provisioned circuit will lie in the specified domain. If not specified, + /// the value will default to AVAILABILITY_DOMAIN_ANY. /// Possible string values are: /// - "AVAILABILITY_DOMAIN_1" /// - "AVAILABILITY_DOMAIN_2" @@ -87100,13 +88641,13 @@ class InterconnectAttachment { /// because turnup is not complete. core.String? state; - /// Length of the IPv4 subnet mask. + /// Input only. /// - /// Allowed values: - 29 (default) - 30 The default value is 29, except for - /// Cross-Cloud Interconnect connections that use an - /// InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal - /// to 30. For example, connections that use an Azure remote location fall - /// into this category. In these cases, the default value is 30, and + /// Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The + /// default value is 29, except for Cross-Cloud Interconnect connections that + /// use an InterconnectRemoteLocation with a constraints.subnetLengthRange.min + /// equal to 30. For example, connections that use an Azure remote location + /// fall into this category. In these cases, the default value is 30, and /// requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is /// preferred, because it gives Google Cloud Support more debugging /// visibility. @@ -90210,13 +91751,13 @@ class LicenseCodeLicenseAlias { /// Commitment for a particular license resource. class LicenseResourceCommitment { - /// The number of licenses purchased. + /// The number of licenses you plan to purchase. core.String? amount; - /// Specifies the core range of the instance for which this license applies. + /// The number of cores per license. core.String? coresPerLicense; - /// Any applicable license URI. + /// The applicable license URI. core.String? license; LicenseResourceCommitment({ @@ -94206,13 +95747,13 @@ class NetworkEdgeSecurityServicesScopedList { /// The network endpoint. class NetworkEndpoint { - /// Metadata defined as annotations on the network endpoint. + /// Optional metadata defined as annotations on the network endpoint. core.Map? annotations; /// Represents the port number to which PSC consumer sends packets. /// - /// Only valid for network endpoint groups created with GCE_VM_IP_PORTMAP - /// endpoint type. + /// Optional. Only valid for network endpoint groups created with + /// GCE_VM_IP_PORTMAP endpoint type. core.int? clientDestinationPort; /// Optional fully qualified domain name of network endpoint. @@ -94223,7 +95764,8 @@ class NetworkEndpoint { /// The name or a URL of VM instance of this network endpoint. /// - /// This field is required for network endpoints of type GCE_VM_IP and + /// Optional, the field presence depends on the network endpoint type. The + /// field is required for network endpoints of type GCE_VM_IP and /// GCE_VM_IP_PORT. The instance must be in the same zone of network endpoint /// group (for zonal NEGs) or in the zone within the region of the NEG (for /// regional NEGs). If the ipAddress is specified, it must belongs to the VM @@ -94301,21 +95843,29 @@ class NetworkEndpoint { /// groups overview. class NetworkEndpointGroup { /// Metadata defined as annotations on the network endpoint group. + /// + /// Optional. core.Map? annotations; /// Only valid when networkEndpointType is SERVERLESS. /// /// Only one of cloudRun, appEngine or cloudFunction may be set. + /// + /// Optional. NetworkEndpointGroupAppEngine? appEngine; /// Only valid when networkEndpointType is SERVERLESS. /// /// Only one of cloudRun, appEngine or cloudFunction may be set. + /// + /// Optional. NetworkEndpointGroupCloudFunction? cloudFunction; /// Only valid when networkEndpointType is SERVERLESS. /// /// Only one of cloudRun, appEngine or cloudFunction may be set. + /// + /// Optional. NetworkEndpointGroupCloudRun? cloudRun; /// Creation timestamp in RFC3339 text format. @@ -94326,7 +95876,7 @@ class NetworkEndpointGroup { /// The default port used if the port number is not specified in the network /// endpoint. /// - /// If the network endpoint type is either GCE_VM_IP, SERVERLESS or + /// Optional. If the network endpoint type is either GCE_VM_IP, SERVERLESS or /// PRIVATE_SERVICE_CONNECT, this field must not be specified. core.int? defaultPort; @@ -94388,12 +95938,17 @@ class NetworkEndpointGroup { /// - "SERVERLESS" : The network endpoint is handled by specified serverless /// infrastructure. core.String? networkEndpointType; + + /// Only valid when networkEndpointType is PRIVATE_SERVICE_CONNECT. + /// + /// Optional. NetworkEndpointGroupPscData? pscData; /// The target service url used to set up private service connection to a /// Google API or a PSC Producer Service Attachment. /// - /// An example value is: asia-northeast3-cloudkms.googleapis.com + /// An example value is: asia-northeast3-cloudkms.googleapis.com. Optional. + /// Only valid when networkEndpointType is PRIVATE_SERVICE_CONNECT. core.String? pscTargetService; /// The URL of the region where the network endpoint group is located. @@ -95602,12 +97157,15 @@ class NetworkEndpointGroupsScopedList { } class NetworkEndpointWithHealthStatus { - /// The health status of network endpoint; + /// The health status of network endpoint. + /// + /// Optional. Displayed only if the network endpoint has centralized health + /// checking configured. /// /// Output only. core.List? healths; - /// The network endpoint; + /// The network endpoint. /// /// Output only. NetworkEndpoint? networkEndpoint; @@ -95635,6 +97193,233 @@ class NetworkEndpointWithHealthStatus { }; } +class NetworkFirewallPolicyAggregatedListWarningData { + /// A key that provides more detail on the warning being returned. + /// + /// For example, for warnings where there are no results in a list request for + /// a particular zone, this key might be scope and the key value might be the + /// zone name. Other examples might be a key indicating a deprecated resource + /// and a suggested replacement, or a warning about invalid network settings + /// (for example, if an instance attempts to perform IP forwarding but is not + /// enabled for IP forwarding). + /// + /// Output only. + core.String? key; + + /// A warning data value corresponding to the key. + /// + /// Output only. + core.String? value; + + NetworkFirewallPolicyAggregatedListWarningData({ + this.key, + this.value, + }); + + NetworkFirewallPolicyAggregatedListWarningData.fromJson(core.Map json_) + : this( + key: json_['key'] as core.String?, + value: json_['value'] as core.String?, + ); + + core.Map toJson() => { + if (key != null) 'key': key!, + if (value != null) 'value': value!, + }; +} + +/// Informational warning message. +/// +/// Output only. +class NetworkFirewallPolicyAggregatedListWarning { + /// A warning code, if applicable. + /// + /// For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no + /// results in the response. + /// + /// Output only. + /// Possible string values are: + /// - "CLEANUP_FAILED" : Warning about failed cleanup of transient changes + /// made by a failed operation. + /// - "DEPRECATED_RESOURCE_USED" : A link to a deprecated resource was + /// created. + /// - "DEPRECATED_TYPE_USED" : When deploying and at least one of the + /// resources has a type marked as deprecated + /// - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" : The user created a boot disk that + /// is larger than image size. + /// - "EXPERIMENTAL_TYPE_USED" : When deploying and at least one of the + /// resources has a type marked as experimental + /// - "EXTERNAL_API_WARNING" : Warning that is present in an external api call + /// - "FIELD_VALUE_OVERRIDEN" : Warning that value of a field has been + /// overridden. Deprecated unused field. + /// - "INJECTED_KERNELS_DEPRECATED" : The operation involved use of an + /// injected kernel, which is deprecated. + /// - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" : A WEIGHTED_MAGLEV + /// backend service is associated with a health check that is not of type + /// HTTP/HTTPS/HTTP2. + /// - "LARGE_DEPLOYMENT_WARNING" : When deploying a deployment with a + /// exceedingly large number of resources + /// - "LIST_OVERHEAD_QUOTA_EXCEED" : Resource can't be retrieved due to list + /// overhead quota exceed which captures the amount of resources filtered out + /// by user-defined list filter. + /// - "MISSING_TYPE_DEPENDENCY" : A resource depends on a missing type + /// - "NEXT_HOP_ADDRESS_NOT_ASSIGNED" : The route's nextHopIp address is not + /// assigned to an instance on the network. + /// - "NEXT_HOP_CANNOT_IP_FORWARD" : The route's next hop instance cannot ip + /// forward. + /// - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" : The route's nextHopInstance + /// URL refers to an instance that does not have an ipv6 interface on the same + /// network as the route. + /// - "NEXT_HOP_INSTANCE_NOT_FOUND" : The route's nextHopInstance URL refers + /// to an instance that does not exist. + /// - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" : The route's nextHopInstance URL + /// refers to an instance that is not on the same network as the route. + /// - "NEXT_HOP_NOT_RUNNING" : The route's next hop instance does not have a + /// status of RUNNING. + /// - "NOT_CRITICAL_ERROR" : Error which is not critical. We decided to + /// continue the process despite the mentioned error. + /// - "NO_RESULTS_ON_PAGE" : No results are present on a particular list page. + /// - "PARTIAL_SUCCESS" : Success is reported, but some results may be missing + /// due to errors + /// - "QUOTA_INFO_UNAVAILABLE" : Quota information is not available to client + /// requests (e.g: regions.list). + /// - "REQUIRED_TOS_AGREEMENT" : The user attempted to use a resource that + /// requires a TOS they have not accepted. + /// - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" : Warning that a resource is + /// in use. + /// - "RESOURCE_NOT_DELETED" : One or more of the resources set to auto-delete + /// could not be deleted because they were in use. + /// - "SCHEMA_VALIDATION_IGNORED" : When a resource schema validation is + /// ignored. + /// - "SINGLE_INSTANCE_PROPERTY_TEMPLATE" : Instance template used in instance + /// group manager is valid as such, but its application does not make a lot of + /// sense, because it allows only single instance in instance group. + /// - "UNDECLARED_PROPERTIES" : When undeclared properties in the schema are + /// present + /// - "UNREACHABLE" : A given scope cannot be reached. + core.String? code; + + /// Metadata about this warning in key: value format. + /// + /// For example: "data": \[ { "key": "scope", "value": "zones/us-east1-d" } + /// + /// Output only. + core.List? data; + + /// A human-readable description of the warning code. + /// + /// Output only. + core.String? message; + + NetworkFirewallPolicyAggregatedListWarning({ + this.code, + this.data, + this.message, + }); + + NetworkFirewallPolicyAggregatedListWarning.fromJson(core.Map json_) + : this( + code: json_['code'] as core.String?, + data: (json_['data'] as core.List?) + ?.map((value) => + NetworkFirewallPolicyAggregatedListWarningData.fromJson( + value as core.Map)) + .toList(), + message: json_['message'] as core.String?, + ); + + core.Map toJson() => { + if (code != null) 'code': code!, + if (data != null) 'data': data!, + if (message != null) 'message': message!, + }; +} + +class NetworkFirewallPolicyAggregatedList { + /// Unique identifier for the resource; defined by the server. + /// + /// Output only. + core.String? id; + + /// A list of FirewallPoliciesScopedList resources. + core.Map? items; + + /// Type of resource. + /// + /// Always compute#networkFirewallPoliciesAggregatedList for lists of network + /// firewall policies. + /// + /// Output only. + core.String? kind; + + /// This token allows you to get the next page of results for list requests. + /// + /// If the number of results is larger than maxResults, use the nextPageToken + /// as a value for the query parameter pageToken in the next list request. + /// Subsequent list requests will have their own nextPageToken to continue + /// paging through the results. + /// + /// Output only. + core.String? nextPageToken; + + /// Server-defined URL for this resource. + /// + /// Output only. + core.String? selfLink; + + /// Unreachable resources. + /// + /// Output only. + core.List? unreachables; + + /// Informational warning message. + /// + /// Output only. + NetworkFirewallPolicyAggregatedListWarning? warning; + + NetworkFirewallPolicyAggregatedList({ + this.id, + this.items, + this.kind, + this.nextPageToken, + this.selfLink, + this.unreachables, + this.warning, + }); + + NetworkFirewallPolicyAggregatedList.fromJson(core.Map json_) + : this( + id: json_['id'] as core.String?, + items: (json_['items'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + FirewallPoliciesScopedList.fromJson( + value as core.Map), + ), + ), + kind: json_['kind'] as core.String?, + nextPageToken: json_['nextPageToken'] as core.String?, + selfLink: json_['selfLink'] as core.String?, + unreachables: (json_['unreachables'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + warning: json_.containsKey('warning') + ? NetworkFirewallPolicyAggregatedListWarning.fromJson( + json_['warning'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (id != null) 'id': id!, + if (items != null) 'items': items!, + if (kind != null) 'kind': kind!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (selfLink != null) 'selfLink': selfLink!, + if (unreachables != null) 'unreachables': unreachables!, + if (warning != null) 'warning': warning!, + }; +} + /// A network interface resource attached to an instance. class NetworkInterface { /// An array of configurations for this interface. @@ -96288,11 +98073,6 @@ class NetworkProfile { /// Output only. core.String? selfLinkWithId; - /// Zone to which the network is restricted. - /// - /// Output only. - core.String? zone; - NetworkProfile({ this.creationTimestamp, this.description, @@ -96303,7 +98083,6 @@ class NetworkProfile { this.name, this.selfLink, this.selfLinkWithId, - this.zone, }); NetworkProfile.fromJson(core.Map json_) @@ -96323,7 +98102,6 @@ class NetworkProfile { name: json_['name'] as core.String?, selfLink: json_['selfLink'] as core.String?, selfLinkWithId: json_['selfLinkWithId'] as core.String?, - zone: json_['zone'] as core.String?, ); core.Map toJson() => { @@ -96336,7 +98114,6 @@ class NetworkProfile { if (name != null) 'name': name!, if (selfLink != null) 'selfLink': selfLink!, if (selfLinkWithId != null) 'selfLinkWithId': selfLinkWithId!, - if (zone != null) 'zone': zone!, }; } @@ -96850,6 +98627,19 @@ class NetworkRoutingConfig { /// - "DEFAULT" core.String? bgpInterRegionCost; + /// Effective value of the bgp_always_compare_med field. + /// + /// Output only. + core.bool? effectiveBgpAlwaysCompareMed; + + /// Effective value of the bgp_inter_region_cost field. + /// + /// Output only. + /// Possible string values are: + /// - "ADD_COST_TO_MED" + /// - "DEFAULT" + core.String? effectiveBgpInterRegionCost; + /// The network-wide routing mode to use. /// /// If set to REGIONAL, this network's Cloud Routers will only advertise @@ -96865,6 +98655,8 @@ class NetworkRoutingConfig { this.bgpAlwaysCompareMed, this.bgpBestPathSelectionMode, this.bgpInterRegionCost, + this.effectiveBgpAlwaysCompareMed, + this.effectiveBgpInterRegionCost, this.routingMode, }); @@ -96874,6 +98666,10 @@ class NetworkRoutingConfig { bgpBestPathSelectionMode: json_['bgpBestPathSelectionMode'] as core.String?, bgpInterRegionCost: json_['bgpInterRegionCost'] as core.String?, + effectiveBgpAlwaysCompareMed: + json_['effectiveBgpAlwaysCompareMed'] as core.bool?, + effectiveBgpInterRegionCost: + json_['effectiveBgpInterRegionCost'] as core.String?, routingMode: json_['routingMode'] as core.String?, ); @@ -96884,6 +98680,10 @@ class NetworkRoutingConfig { 'bgpBestPathSelectionMode': bgpBestPathSelectionMode!, if (bgpInterRegionCost != null) 'bgpInterRegionCost': bgpInterRegionCost!, + if (effectiveBgpAlwaysCompareMed != null) + 'effectiveBgpAlwaysCompareMed': effectiveBgpAlwaysCompareMed!, + if (effectiveBgpInterRegionCost != null) + 'effectiveBgpInterRegionCost': effectiveBgpInterRegionCost!, if (routingMode != null) 'routingMode': routingMode!, }; } @@ -96997,6 +98797,11 @@ class NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy { /// Output only. core.String? name; + /// The packet mirroring rules that apply to the network. + /// + /// Output only. + core.List? packetMirroringRules; + /// Priority of firewall policy association. /// /// Not applicable for type=HIERARCHY. @@ -97027,6 +98832,7 @@ class NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy { NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy({ this.displayName, this.name, + this.packetMirroringRules, this.priority, this.rules, this.shortName, @@ -97038,6 +98844,10 @@ class NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy { : this( displayName: json_['displayName'] as core.String?, name: json_['name'] as core.String?, + packetMirroringRules: (json_['packetMirroringRules'] as core.List?) + ?.map((value) => FirewallPolicyRule.fromJson( + value as core.Map)) + .toList(), priority: json_['priority'] as core.int?, rules: (json_['rules'] as core.List?) ?.map((value) => FirewallPolicyRule.fromJson( @@ -97050,6 +98860,8 @@ class NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy { core.Map toJson() => { if (displayName != null) 'displayName': displayName!, if (name != null) 'name': name!, + if (packetMirroringRules != null) + 'packetMirroringRules': packetMirroringRules!, if (priority != null) 'priority': priority!, if (rules != null) 'rules': rules!, if (shortName != null) 'shortName': shortName!, @@ -99306,6 +101118,11 @@ class NodeType { /// Output only. core.int? localSsdGb; + /// Maximum number of VMs that can be created for this node type. + /// + /// Output only. + core.int? maxVms; + /// The amount of physical memory available to the node type, defined in MB. /// /// Output only. @@ -99335,6 +101152,7 @@ class NodeType { this.id, this.kind, this.localSsdGb, + this.maxVms, this.memoryMb, this.name, this.selfLink, @@ -99354,6 +101172,7 @@ class NodeType { id: json_['id'] as core.String?, kind: json_['kind'] as core.String?, localSsdGb: json_['localSsdGb'] as core.int?, + maxVms: json_['maxVms'] as core.int?, memoryMb: json_['memoryMb'] as core.int?, name: json_['name'] as core.String?, selfLink: json_['selfLink'] as core.String?, @@ -99369,6 +101188,7 @@ class NodeType { if (id != null) 'id': id!, if (kind != null) 'kind': kind!, if (localSsdGb != null) 'localSsdGb': localSsdGb!, + if (maxVms != null) 'maxVms': maxVms!, if (memoryMb != null) 'memoryMb': memoryMb!, if (name != null) 'name': name!, if (selfLink != null) 'selfLink': selfLink!, @@ -107636,6 +109456,18 @@ class RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewal /// Output only. core.String? name; + /// The packet mirroring rules that apply to the network. + /// + /// Output only. + core.List? packetMirroringRules; + + /// Priority of firewall policy association. + /// + /// Not applicable for type=HIERARCHY. + /// + /// Output only. + core.int? priority; + /// The rules that apply to the network. /// /// Output only. @@ -107651,12 +109483,16 @@ class RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewal /// - "HIERARCHY" /// - "NETWORK" /// - "NETWORK_REGIONAL" + /// - "SYSTEM_GLOBAL" + /// - "SYSTEM_REGIONAL" /// - "UNSPECIFIED" core.String? type; RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy({ this.displayName, this.name, + this.packetMirroringRules, + this.priority, this.rules, this.type, }); @@ -107666,6 +109502,11 @@ class RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewal : this( displayName: json_['displayName'] as core.String?, name: json_['name'] as core.String?, + packetMirroringRules: (json_['packetMirroringRules'] as core.List?) + ?.map((value) => FirewallPolicyRule.fromJson( + value as core.Map)) + .toList(), + priority: json_['priority'] as core.int?, rules: (json_['rules'] as core.List?) ?.map((value) => FirewallPolicyRule.fromJson( value as core.Map)) @@ -107676,6 +109517,9 @@ class RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewal core.Map toJson() => { if (displayName != null) 'displayName': displayName!, if (name != null) 'name': name!, + if (packetMirroringRules != null) + 'packetMirroringRules': packetMirroringRules!, + if (priority != null) 'priority': priority!, if (rules != null) 'rules': rules!, if (type != null) 'type': type!, }; @@ -107855,6 +109699,12 @@ class Reservation { /// dash. core.String? name; + /// Specify the reservation sharing policy. + /// + /// If unspecified, the reservation will not be shared with Google Cloud + /// managed services. + AllocationReservationSharingPolicy? reservationSharingPolicy; + /// Resource policies to be added to this reservation. /// /// The key is defined by user, and the value is resource policy url. This is @@ -107923,6 +109773,7 @@ class Reservation { this.id, this.kind, this.name, + this.reservationSharingPolicy, this.resourcePolicies, this.resourceStatus, this.satisfiesPzs, @@ -107947,6 +109798,12 @@ class Reservation { id: json_['id'] as core.String?, kind: json_['kind'] as core.String?, name: json_['name'] as core.String?, + reservationSharingPolicy: + json_.containsKey('reservationSharingPolicy') + ? AllocationReservationSharingPolicy.fromJson( + json_['reservationSharingPolicy'] + as core.Map) + : null, resourcePolicies: (json_['resourcePolicies'] as core.Map?) ?.map( @@ -107985,6 +109842,8 @@ class Reservation { if (id != null) 'id': id!, if (kind != null) 'kind': kind!, if (name != null) 'name': name!, + if (reservationSharingPolicy != null) + 'reservationSharingPolicy': reservationSharingPolicy!, if (resourcePolicies != null) 'resourcePolicies': resourcePolicies!, if (resourceStatus != null) 'resourceStatus': resourceStatus!, if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, @@ -108678,25 +110537,29 @@ class ReservationsScopedList { }; } -/// Commitment for a particular resource (a Commitment is composed of one or -/// more of these). +/// Commitment for a particular hardware resource (a commitment is composed of +/// one or more of these). class ResourceCommitment { - /// Name of the accelerator type resource. + /// Name of the accelerator type or GPU resource. /// - /// Applicable only when the type is ACCELERATOR. + /// Specify this field only when the type of hardware resource is ACCELERATOR. core.String? acceleratorType; - /// The amount of the resource purchased (in a type-dependent unit, such as - /// bytes). + /// The quantity of the hardware resource that you want to commit to + /// purchasing (in a type-dependent unit). /// - /// For vCPUs, this can just be an integer. For memory, this must be provided - /// in MB. Memory must be a multiple of 256 MB, with up to 6.5GB of memory per - /// every vCPU. + /// - For vCPUs, you must specify an integer value. - For memory, you specify + /// the amount of MB that you want. The value you specify must be a multiple + /// of 256 MB, with up to 6.5 GB of memory per every vCPU. - For GPUs, you + /// must specify an integer value. - For Local SSD disks, you must specify the + /// amount in GB. The size of a single Local SSD disk is 375 GB. core.String? amount; - /// Type of resource for which this commitment applies. + /// The type of hardware resource that you want to specify. /// - /// Possible values are VCPU, MEMORY, LOCAL_SSD, and ACCELERATOR. + /// You can specify any of the following values: - VCPU - MEMORY - LOCAL_SSD - + /// ACCELERATOR Specify as a separate entry in the list for each individual + /// resource type. /// Possible string values are: /// - "ACCELERATOR" /// - "LOCAL_SSD" @@ -110748,6 +112611,115 @@ class RouteList { }; } +class RoutePolicy { + /// An optional description of route policy. + core.String? description; + + /// A fingerprint for the Route Policy being applied to this Router, which is + /// essentially a hash of the Route Policy used for optimistic locking. + /// + /// The fingerprint is initially generated by Compute Engine and changes after + /// every request to modify or update Route Policy. You must always provide an + /// up-to-date fingerprint hash in order to update or change labels. To see + /// the latest fingerprint, make a getRoutePolicy() request to retrieve a + /// Route Policy. + core.String? fingerprint; + core.List get fingerprintAsBytes => + convert.base64.decode(fingerprint!); + + set fingerprintAsBytes(core.List bytes_) { + fingerprint = + convert.base64.encode(bytes_).replaceAll('/', '_').replaceAll('+', '-'); + } + + /// Route Policy name, which must be a resource ID segment and unique within + /// all the router's Route Policies. + /// + /// Name should conform to RFC1035. + core.String? name; + + /// List of terms (the order in the list is not important, they are evaluated + /// in order of priority). + /// + /// Order of policies is not retained and might change when getting policy + /// later. + core.List? terms; + + /// + /// Possible string values are: + /// - "ROUTE_POLICY_TYPE_EXPORT" : The Route Policy is an Export Policy. + /// - "ROUTE_POLICY_TYPE_IMPORT" : The Route Policy is an Import Policy. + core.String? type; + + RoutePolicy({ + this.description, + this.fingerprint, + this.name, + this.terms, + this.type, + }); + + RoutePolicy.fromJson(core.Map json_) + : this( + description: json_['description'] as core.String?, + fingerprint: json_['fingerprint'] as core.String?, + name: json_['name'] as core.String?, + terms: (json_['terms'] as core.List?) + ?.map((value) => RoutePolicyPolicyTerm.fromJson( + value as core.Map)) + .toList(), + type: json_['type'] as core.String?, + ); + + core.Map toJson() => { + if (description != null) 'description': description!, + if (fingerprint != null) 'fingerprint': fingerprint!, + if (name != null) 'name': name!, + if (terms != null) 'terms': terms!, + if (type != null) 'type': type!, + }; +} + +class RoutePolicyPolicyTerm { + /// CEL expressions to evaluate to modify a route when this term matches. + core.List? actions; + + /// CEL expression evaluated against a route to determine if this term + /// applies. + /// + /// When not set, the term applies to all routes. + Expr? match; + + /// The evaluation priority for this term, which must be between 0 (inclusive) + /// and 2^31 (exclusive), and unique within the list. + core.int? priority; + + RoutePolicyPolicyTerm({ + this.actions, + this.match, + this.priority, + }); + + RoutePolicyPolicyTerm.fromJson(core.Map json_) + : this( + actions: (json_['actions'] as core.List?) + ?.map((value) => + Expr.fromJson(value as core.Map)) + .toList(), + match: json_.containsKey('match') + ? Expr.fromJson( + json_['match'] as core.Map) + : null, + priority: json_['priority'] as core.int?, + ); + + core.Map toJson() => { + if (actions != null) 'actions': actions!, + if (match != null) 'match': match!, + if (priority != null) 'priority': priority!, + }; +} + /// Represents a Cloud Router resource. /// /// For more information about Cloud Router, read the Cloud Router overview. @@ -111308,16 +113280,14 @@ class RouterBgpPeer { /// evaluated. /// /// The name must correspond to an existing policy that has - /// ROUTE_POLICY_TYPE_EXPORT type. Note that Route Policies are currently - /// available in preview. Please use Beta API to use Route Policies. + /// ROUTE_POLICY_TYPE_EXPORT type. core.List? exportPolicies; /// List of import policies applied to this peer, in the order they must be /// evaluated. /// /// The name must correspond to an existing policy that has - /// ROUTE_POLICY_TYPE_IMPORT type. Note that Route Policies are currently - /// available in preview. Please use Beta API to use Route Policies. + /// ROUTE_POLICY_TYPE_IMPORT type. core.List? importPolicies; /// Name of the interface the BGP peer is associated with. @@ -111599,7 +113569,7 @@ class RouterInterface { /// as it represents the IP address of the interface. - For Internet Protocol /// version 6 (IPv6), the value must be a unique local address (ULA) range /// from fdff:1::/64 with a mask length of 126 or less. This value should be a - /// CIDR-formatted string, for example, fc00:0:1:1::1/112. Within the router's + /// CIDR-formatted string, for example, fdff:1::1/112. Within the router's /// VPC, this IPv6 prefix will be reserved exclusively for this connection and /// cannot be used for any other purpose. core.String? ipRange; @@ -112835,6 +114805,488 @@ class RouterStatusResponse { }; } +class RoutersGetRoutePolicyResponse { + RoutePolicy? resource; + + RoutersGetRoutePolicyResponse({ + this.resource, + }); + + RoutersGetRoutePolicyResponse.fromJson(core.Map json_) + : this( + resource: json_.containsKey('resource') + ? RoutePolicy.fromJson( + json_['resource'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (resource != null) 'resource': resource!, + }; +} + +class RoutersListBgpRoutesWarningData { + /// A key that provides more detail on the warning being returned. + /// + /// For example, for warnings where there are no results in a list request for + /// a particular zone, this key might be scope and the key value might be the + /// zone name. Other examples might be a key indicating a deprecated resource + /// and a suggested replacement, or a warning about invalid network settings + /// (for example, if an instance attempts to perform IP forwarding but is not + /// enabled for IP forwarding). + /// + /// Output only. + core.String? key; + + /// A warning data value corresponding to the key. + /// + /// Output only. + core.String? value; + + RoutersListBgpRoutesWarningData({ + this.key, + this.value, + }); + + RoutersListBgpRoutesWarningData.fromJson(core.Map json_) + : this( + key: json_['key'] as core.String?, + value: json_['value'] as core.String?, + ); + + core.Map toJson() => { + if (key != null) 'key': key!, + if (value != null) 'value': value!, + }; +} + +/// Informational warning message. +/// +/// Output only. +class RoutersListBgpRoutesWarning { + /// A warning code, if applicable. + /// + /// For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no + /// results in the response. + /// + /// Output only. + /// Possible string values are: + /// - "CLEANUP_FAILED" : Warning about failed cleanup of transient changes + /// made by a failed operation. + /// - "DEPRECATED_RESOURCE_USED" : A link to a deprecated resource was + /// created. + /// - "DEPRECATED_TYPE_USED" : When deploying and at least one of the + /// resources has a type marked as deprecated + /// - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" : The user created a boot disk that + /// is larger than image size. + /// - "EXPERIMENTAL_TYPE_USED" : When deploying and at least one of the + /// resources has a type marked as experimental + /// - "EXTERNAL_API_WARNING" : Warning that is present in an external api call + /// - "FIELD_VALUE_OVERRIDEN" : Warning that value of a field has been + /// overridden. Deprecated unused field. + /// - "INJECTED_KERNELS_DEPRECATED" : The operation involved use of an + /// injected kernel, which is deprecated. + /// - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" : A WEIGHTED_MAGLEV + /// backend service is associated with a health check that is not of type + /// HTTP/HTTPS/HTTP2. + /// - "LARGE_DEPLOYMENT_WARNING" : When deploying a deployment with a + /// exceedingly large number of resources + /// - "LIST_OVERHEAD_QUOTA_EXCEED" : Resource can't be retrieved due to list + /// overhead quota exceed which captures the amount of resources filtered out + /// by user-defined list filter. + /// - "MISSING_TYPE_DEPENDENCY" : A resource depends on a missing type + /// - "NEXT_HOP_ADDRESS_NOT_ASSIGNED" : The route's nextHopIp address is not + /// assigned to an instance on the network. + /// - "NEXT_HOP_CANNOT_IP_FORWARD" : The route's next hop instance cannot ip + /// forward. + /// - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" : The route's nextHopInstance + /// URL refers to an instance that does not have an ipv6 interface on the same + /// network as the route. + /// - "NEXT_HOP_INSTANCE_NOT_FOUND" : The route's nextHopInstance URL refers + /// to an instance that does not exist. + /// - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" : The route's nextHopInstance URL + /// refers to an instance that is not on the same network as the route. + /// - "NEXT_HOP_NOT_RUNNING" : The route's next hop instance does not have a + /// status of RUNNING. + /// - "NOT_CRITICAL_ERROR" : Error which is not critical. We decided to + /// continue the process despite the mentioned error. + /// - "NO_RESULTS_ON_PAGE" : No results are present on a particular list page. + /// - "PARTIAL_SUCCESS" : Success is reported, but some results may be missing + /// due to errors + /// - "QUOTA_INFO_UNAVAILABLE" : Quota information is not available to client + /// requests (e.g: regions.list). + /// - "REQUIRED_TOS_AGREEMENT" : The user attempted to use a resource that + /// requires a TOS they have not accepted. + /// - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" : Warning that a resource is + /// in use. + /// - "RESOURCE_NOT_DELETED" : One or more of the resources set to auto-delete + /// could not be deleted because they were in use. + /// - "SCHEMA_VALIDATION_IGNORED" : When a resource schema validation is + /// ignored. + /// - "SINGLE_INSTANCE_PROPERTY_TEMPLATE" : Instance template used in instance + /// group manager is valid as such, but its application does not make a lot of + /// sense, because it allows only single instance in instance group. + /// - "UNDECLARED_PROPERTIES" : When undeclared properties in the schema are + /// present + /// - "UNREACHABLE" : A given scope cannot be reached. + core.String? code; + + /// Metadata about this warning in key: value format. + /// + /// For example: "data": \[ { "key": "scope", "value": "zones/us-east1-d" } + /// + /// Output only. + core.List? data; + + /// A human-readable description of the warning code. + /// + /// Output only. + core.String? message; + + RoutersListBgpRoutesWarning({ + this.code, + this.data, + this.message, + }); + + RoutersListBgpRoutesWarning.fromJson(core.Map json_) + : this( + code: json_['code'] as core.String?, + data: (json_['data'] as core.List?) + ?.map((value) => RoutersListBgpRoutesWarningData.fromJson( + value as core.Map)) + .toList(), + message: json_['message'] as core.String?, + ); + + core.Map toJson() => { + if (code != null) 'code': code!, + if (data != null) 'data': data!, + if (message != null) 'message': message!, + }; +} + +class RoutersListBgpRoutes { + core.String? etag; + + /// The unique identifier for the resource. + /// + /// This identifier is defined by the server. + /// + /// Output only. + core.String? id; + + /// Type of resource. + /// + /// Always compute#routersListBgpRoutes for lists of bgp routes. + /// + /// Output only. + core.String? kind; + + /// This token allows you to get the next page of results for list requests. + /// + /// If the number of results is larger than maxResults, use the nextPageToken + /// as a value for the query parameter pageToken in the next list request. + /// Subsequent list requests will have their own nextPageToken to continue + /// paging through the results. + /// + /// Output only. + core.String? nextPageToken; + + /// A list of bgp routes. + /// + /// Output only. + core.List? result; + + /// Server-defined URL for this resource. + /// + /// Output only. + core.String? selfLink; + + /// Unreachable resources. + /// + /// Output only. + core.List? unreachables; + + /// Informational warning message. + /// + /// Output only. + RoutersListBgpRoutesWarning? warning; + + RoutersListBgpRoutes({ + this.etag, + this.id, + this.kind, + this.nextPageToken, + this.result, + this.selfLink, + this.unreachables, + this.warning, + }); + + RoutersListBgpRoutes.fromJson(core.Map json_) + : this( + etag: json_['etag'] as core.String?, + id: json_['id'] as core.String?, + kind: json_['kind'] as core.String?, + nextPageToken: json_['nextPageToken'] as core.String?, + result: (json_['result'] as core.List?) + ?.map((value) => BgpRoute.fromJson( + value as core.Map)) + .toList(), + selfLink: json_['selfLink'] as core.String?, + unreachables: (json_['unreachables'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + warning: json_.containsKey('warning') + ? RoutersListBgpRoutesWarning.fromJson( + json_['warning'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (etag != null) 'etag': etag!, + if (id != null) 'id': id!, + if (kind != null) 'kind': kind!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (result != null) 'result': result!, + if (selfLink != null) 'selfLink': selfLink!, + if (unreachables != null) 'unreachables': unreachables!, + if (warning != null) 'warning': warning!, + }; +} + +class RoutersListRoutePoliciesWarningData { + /// A key that provides more detail on the warning being returned. + /// + /// For example, for warnings where there are no results in a list request for + /// a particular zone, this key might be scope and the key value might be the + /// zone name. Other examples might be a key indicating a deprecated resource + /// and a suggested replacement, or a warning about invalid network settings + /// (for example, if an instance attempts to perform IP forwarding but is not + /// enabled for IP forwarding). + /// + /// Output only. + core.String? key; + + /// A warning data value corresponding to the key. + /// + /// Output only. + core.String? value; + + RoutersListRoutePoliciesWarningData({ + this.key, + this.value, + }); + + RoutersListRoutePoliciesWarningData.fromJson(core.Map json_) + : this( + key: json_['key'] as core.String?, + value: json_['value'] as core.String?, + ); + + core.Map toJson() => { + if (key != null) 'key': key!, + if (value != null) 'value': value!, + }; +} + +/// Informational warning message. +/// +/// Output only. +class RoutersListRoutePoliciesWarning { + /// A warning code, if applicable. + /// + /// For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no + /// results in the response. + /// + /// Output only. + /// Possible string values are: + /// - "CLEANUP_FAILED" : Warning about failed cleanup of transient changes + /// made by a failed operation. + /// - "DEPRECATED_RESOURCE_USED" : A link to a deprecated resource was + /// created. + /// - "DEPRECATED_TYPE_USED" : When deploying and at least one of the + /// resources has a type marked as deprecated + /// - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" : The user created a boot disk that + /// is larger than image size. + /// - "EXPERIMENTAL_TYPE_USED" : When deploying and at least one of the + /// resources has a type marked as experimental + /// - "EXTERNAL_API_WARNING" : Warning that is present in an external api call + /// - "FIELD_VALUE_OVERRIDEN" : Warning that value of a field has been + /// overridden. Deprecated unused field. + /// - "INJECTED_KERNELS_DEPRECATED" : The operation involved use of an + /// injected kernel, which is deprecated. + /// - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" : A WEIGHTED_MAGLEV + /// backend service is associated with a health check that is not of type + /// HTTP/HTTPS/HTTP2. + /// - "LARGE_DEPLOYMENT_WARNING" : When deploying a deployment with a + /// exceedingly large number of resources + /// - "LIST_OVERHEAD_QUOTA_EXCEED" : Resource can't be retrieved due to list + /// overhead quota exceed which captures the amount of resources filtered out + /// by user-defined list filter. + /// - "MISSING_TYPE_DEPENDENCY" : A resource depends on a missing type + /// - "NEXT_HOP_ADDRESS_NOT_ASSIGNED" : The route's nextHopIp address is not + /// assigned to an instance on the network. + /// - "NEXT_HOP_CANNOT_IP_FORWARD" : The route's next hop instance cannot ip + /// forward. + /// - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" : The route's nextHopInstance + /// URL refers to an instance that does not have an ipv6 interface on the same + /// network as the route. + /// - "NEXT_HOP_INSTANCE_NOT_FOUND" : The route's nextHopInstance URL refers + /// to an instance that does not exist. + /// - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" : The route's nextHopInstance URL + /// refers to an instance that is not on the same network as the route. + /// - "NEXT_HOP_NOT_RUNNING" : The route's next hop instance does not have a + /// status of RUNNING. + /// - "NOT_CRITICAL_ERROR" : Error which is not critical. We decided to + /// continue the process despite the mentioned error. + /// - "NO_RESULTS_ON_PAGE" : No results are present on a particular list page. + /// - "PARTIAL_SUCCESS" : Success is reported, but some results may be missing + /// due to errors + /// - "QUOTA_INFO_UNAVAILABLE" : Quota information is not available to client + /// requests (e.g: regions.list). + /// - "REQUIRED_TOS_AGREEMENT" : The user attempted to use a resource that + /// requires a TOS they have not accepted. + /// - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" : Warning that a resource is + /// in use. + /// - "RESOURCE_NOT_DELETED" : One or more of the resources set to auto-delete + /// could not be deleted because they were in use. + /// - "SCHEMA_VALIDATION_IGNORED" : When a resource schema validation is + /// ignored. + /// - "SINGLE_INSTANCE_PROPERTY_TEMPLATE" : Instance template used in instance + /// group manager is valid as such, but its application does not make a lot of + /// sense, because it allows only single instance in instance group. + /// - "UNDECLARED_PROPERTIES" : When undeclared properties in the schema are + /// present + /// - "UNREACHABLE" : A given scope cannot be reached. + core.String? code; + + /// Metadata about this warning in key: value format. + /// + /// For example: "data": \[ { "key": "scope", "value": "zones/us-east1-d" } + /// + /// Output only. + core.List? data; + + /// A human-readable description of the warning code. + /// + /// Output only. + core.String? message; + + RoutersListRoutePoliciesWarning({ + this.code, + this.data, + this.message, + }); + + RoutersListRoutePoliciesWarning.fromJson(core.Map json_) + : this( + code: json_['code'] as core.String?, + data: (json_['data'] as core.List?) + ?.map((value) => RoutersListRoutePoliciesWarningData.fromJson( + value as core.Map)) + .toList(), + message: json_['message'] as core.String?, + ); + + core.Map toJson() => { + if (code != null) 'code': code!, + if (data != null) 'data': data!, + if (message != null) 'message': message!, + }; +} + +class RoutersListRoutePolicies { + core.String? etag; + + /// The unique identifier for the resource. + /// + /// This identifier is defined by the server. + /// + /// Output only. + core.String? id; + + /// Type of resource. + /// + /// Always compute#routersListRoutePolicies for lists of route policies. + /// + /// Output only. + core.String? kind; + + /// This token allows you to get the next page of results for list requests. + /// + /// If the number of results is larger than maxResults, use the nextPageToken + /// as a value for the query parameter pageToken in the next list request. + /// Subsequent list requests will have their own nextPageToken to continue + /// paging through the results. + /// + /// Output only. + core.String? nextPageToken; + + /// A list of route policies. + /// + /// Output only. + core.List? result; + + /// Server-defined URL for this resource. + /// + /// Output only. + core.String? selfLink; + + /// Unreachable resources. + /// + /// Output only. + core.List? unreachables; + + /// Informational warning message. + /// + /// Output only. + RoutersListRoutePoliciesWarning? warning; + + RoutersListRoutePolicies({ + this.etag, + this.id, + this.kind, + this.nextPageToken, + this.result, + this.selfLink, + this.unreachables, + this.warning, + }); + + RoutersListRoutePolicies.fromJson(core.Map json_) + : this( + etag: json_['etag'] as core.String?, + id: json_['id'] as core.String?, + kind: json_['kind'] as core.String?, + nextPageToken: json_['nextPageToken'] as core.String?, + result: (json_['result'] as core.List?) + ?.map((value) => RoutePolicy.fromJson( + value as core.Map)) + .toList(), + selfLink: json_['selfLink'] as core.String?, + unreachables: (json_['unreachables'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + warning: json_.containsKey('warning') + ? RoutersListRoutePoliciesWarning.fromJson( + json_['warning'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (etag != null) 'etag': etag!, + if (id != null) 'id': id!, + if (kind != null) 'kind': kind!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (result != null) 'result': result!, + if (selfLink != null) 'selfLink': selfLink!, + if (unreachables != null) 'unreachables': unreachables!, + if (warning != null) 'warning': warning!, + }; +} + class RoutersPreviewResponse { /// Preview of given router. Router? resource; @@ -113417,6 +115869,11 @@ class Scheduling { /// domains specified in the spread placement policy attached to the instance. core.int? availabilityDomain; + /// Specify the time in seconds for host error detection, the value must be + /// within the range of \[90, 330\] with the increment of 30, if unset, the + /// default behavior of host error recovery will be used. + core.int? hostErrorTimeoutSeconds; + /// Specifies the termination action for the instance. /// Possible string values are: /// - "DELETE" : Delete the VM. @@ -113494,6 +115951,7 @@ class Scheduling { Scheduling({ this.automaticRestart, this.availabilityDomain, + this.hostErrorTimeoutSeconds, this.instanceTerminationAction, this.localSsdRecoveryTimeout, this.locationHint, @@ -113511,6 +115969,8 @@ class Scheduling { : this( automaticRestart: json_['automaticRestart'] as core.bool?, availabilityDomain: json_['availabilityDomain'] as core.int?, + hostErrorTimeoutSeconds: + json_['hostErrorTimeoutSeconds'] as core.int?, instanceTerminationAction: json_['instanceTerminationAction'] as core.String?, localSsdRecoveryTimeout: json_.containsKey('localSsdRecoveryTimeout') @@ -113542,6 +116002,8 @@ class Scheduling { if (automaticRestart != null) 'automaticRestart': automaticRestart!, if (availabilityDomain != null) 'availabilityDomain': availabilityDomain!, + if (hostErrorTimeoutSeconds != null) + 'hostErrorTimeoutSeconds': hostErrorTimeoutSeconds!, if (instanceTerminationAction != null) 'instanceTerminationAction': instanceTerminationAction!, if (localSsdRecoveryTimeout != null) @@ -114613,6 +117075,7 @@ class SecurityPolicyDdosProtectionConfig { /// /// Possible string values are: /// - "ADVANCED" + /// - "ADVANCED_PREVIEW" /// - "STANDARD" core.String? ddosProtection; @@ -115996,7 +118459,7 @@ class ServerBinding { } /// A service account. -typedef ServiceAccount = $Shared08; +typedef ServiceAccount = $Shared09; /// Represents a ServiceAttachment resource. /// @@ -117473,10 +119936,10 @@ class Snapshot { /// The unique ID of the instant snapshot used to create this snapshot. /// /// This value identifies the exact instant snapshot that was used to create - /// this persistent disk. For example, if you created the persistent disk from - /// an instant snapshot that was later deleted and recreated under the same - /// name, the source instant snapshot ID would identify the exact instant - /// snapshot that was used. + /// this snapshot. For example, if you created the snapshot from an instant + /// snapshot that was later deleted and recreated under the same name, the + /// source instant snapshot ID would identify the exact instant snapshot that + /// was used. /// /// Output only. core.String? sourceInstantSnapshotId; @@ -122448,17 +124911,19 @@ class Subnetwork { /// The purpose of the resource. /// /// This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, - /// REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE - /// is the default purpose for user-created subnets or subnets that are - /// automatically created in auto mode networks. Subnets with purpose set to - /// GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created - /// subnetworks that are reserved for Envoy-based load balancers. A subnet - /// with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services - /// using Private Service Connect. A subnet with purpose set to PEER_MIGRATION - /// is used for subnet migration from one peered VPC to another. If - /// unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs - /// field isn't supported if the subnet purpose field is set to - /// GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. + /// REGIONAL_MANAGED_PROXY, PEER_MIGRATION, PRIVATE_SERVICE_CONNECT or + /// PRIVATE_NAT. PRIVATE is the default purpose for user-created subnets or + /// subnets that are automatically created in auto mode networks. Subnets with + /// purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are + /// user-created subnetworks that are reserved for Envoy-based load balancers. + /// A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish + /// services using Private Service Connect. A subnet with purpose set to + /// PEER_MIGRATION is used for subnet migration from one peered VPC to + /// another. A subnet with purpose set to PRIVATE_NAT is used for Private NAT + /// IP address by Private NAT Gateway. If unspecified, the subnet purpose + /// defaults to PRIVATE. The enableFlowLogs field isn't supported if the + /// subnet purpose field is set to GLOBAL_MANAGED_PROXY or + /// REGIONAL_MANAGED_PROXY. /// Possible string values are: /// - "GLOBAL_MANAGED_PROXY" : Subnet reserved for Global Envoy-based Load /// Balancing. @@ -124911,11 +127376,13 @@ class TargetHttpsProxy { /// /// serverTlsPolicy only applies to a global TargetHttpsProxy attached to /// globalForwardingRules with the loadBalancingScheme set to - /// INTERNAL_SELF_MANAGED or EXTERNAL or EXTERNAL_MANAGED. For details which - /// ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and - /// which with EXTERNAL, EXTERNAL_MANAGED loadBalancingScheme consult - /// ServerTlsPolicy documentation. If left blank, communications are not - /// encrypted. + /// INTERNAL_SELF_MANAGED or EXTERNAL or EXTERNAL_MANAGED or INTERNAL_MANAGED. + /// It also applies to a regional TargetHttpsProxy attached to regional + /// forwardingRules with the loadBalancingScheme set to EXTERNAL_MANAGED or + /// INTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted + /// with INTERNAL_SELF_MANAGED and which with EXTERNAL, INTERNAL_MANAGED, + /// EXTERNAL_MANAGED loadBalancingScheme consult ServerTlsPolicy + /// documentation. If left blank, communications are not encrypted. /// /// Optional. core.String? serverTlsPolicy; @@ -124928,10 +127395,11 @@ class TargetHttpsProxy { /// URLs should refer to a SSL Certificate resource or Certificate Manager /// Certificate resource. Mixing Classic Certificates and Certificate Manager /// Certificates is not allowed. Certificate Manager Certificates must include - /// the certificatemanager API. Certificate Manager Certificates are not - /// supported by Global external Application Load Balancer or Classic - /// Application Load Balancer, use certificate_map instead. Currently, you may - /// specify up to 15 Classic SSL Certificates. Certificate Manager + /// the certificatemanager API namespace. Using Certificate Manager + /// Certificates in this field is not supported by Global external Application + /// Load Balancer or Classic Application Load Balancer, use certificate_map + /// instead. Currently, you may specify up to 15 Classic SSL Certificates or + /// up to 100 Certificate Manager Certificates. Certificate Manager /// Certificates accepted formats are: - /// //certificatemanager.googleapis.com/projects/{project}/locations/{ /// location}/certificates/{resourceName}. - @@ -130422,17 +132890,19 @@ class UsableSubnetwork { /// The purpose of the resource. /// /// This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, - /// REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE - /// is the default purpose for user-created subnets or subnets that are - /// automatically created in auto mode networks. Subnets with purpose set to - /// GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created - /// subnetworks that are reserved for Envoy-based load balancers. A subnet - /// with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services - /// using Private Service Connect. A subnet with purpose set to PEER_MIGRATION - /// is used for subnet migration from one peered VPC to another. If - /// unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs - /// field isn't supported if the subnet purpose field is set to - /// GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. + /// REGIONAL_MANAGED_PROXY, PEER_MIGRATION, PRIVATE_SERVICE_CONNECT or + /// PRIVATE_NAT. PRIVATE is the default purpose for user-created subnets or + /// subnets that are automatically created in auto mode networks. Subnets with + /// purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are + /// user-created subnetworks that are reserved for Envoy-based load balancers. + /// A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish + /// services using Private Service Connect. A subnet with purpose set to + /// PEER_MIGRATION is used for subnet migration from one peered VPC to + /// another. A subnet with purpose set to PRIVATE_NAT is used for Private NAT + /// IP address by Private NAT Gateway. If unspecified, the subnet purpose + /// defaults to PRIVATE. The enableFlowLogs field isn't supported if the + /// subnet purpose field is set to GLOBAL_MANAGED_PROXY or + /// REGIONAL_MANAGED_PROXY. /// Possible string values are: /// - "GLOBAL_MANAGED_PROXY" : Subnet reserved for Global Envoy-based Load /// Balancing. diff --git a/generated/googleapis/lib/config/v1.dart b/generated/googleapis/lib/config/v1.dart index 4af830308..c56bcc462 100644 --- a/generated/googleapis/lib/config/v1.dart +++ b/generated/googleapis/lib/config/v1.dart @@ -1675,13 +1675,13 @@ class ProjectsLocationsTerraformVersionsResource { /// /// [orderBy] - Optional. Field to use to sort the list. /// - /// [pageSize] - Optional. When requesting a page of resources, 'page_size' - /// specifies number of resources to return. If unspecified, at most 500 will - /// be returned. The maximum value is 1000. + /// [pageSize] - Optional. When requesting a page of terraform versions, + /// 'page_size' specifies number of terraform versions to return. If + /// unspecified, at most 500 will be returned. The maximum value is 1000. /// /// [pageToken] - Optional. Token returned by previous call to /// 'ListTerraformVersions' which specifies the position in the list from - /// where to continue listing the resources. + /// where to continue listing the terraform versions. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -2905,7 +2905,7 @@ class Policy { /// A preview represents a set of actions Infra Manager would perform to move /// the resources towards the desired state as specified in the configuration. class Preview { - /// Arbitrary key-value metadata storage e.g. to help client tools identifiy + /// Arbitrary key-value metadata storage e.g. to help client tools identify /// preview during automation. /// /// See https://google.aip.dev/148#annotations for details on format and size diff --git a/generated/googleapis/lib/connectors/v1.dart b/generated/googleapis/lib/connectors/v1.dart index 047905aba..1da63358e 100644 --- a/generated/googleapis/lib/connectors/v1.dart +++ b/generated/googleapis/lib/connectors/v1.dart @@ -3320,6 +3320,7 @@ class ProjectsLocationsProvidersConnectorsVersionsResource { /// - "AUTH_SCHEMA_VIEW_UNSPECIFIED" : Default value. /// - "BASIC" : Basic view of the AuthSchema. /// - "JSON_SCHEMA" : JSON schema view of the AuthSchema. + /// - "EUA_SCHEMA" : EUA Schema view of the AuthSchema. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -4592,6 +4593,11 @@ class Connection { /// Output only. core.String? tlsServiceDirectory; + /// Traffic shaping configuration for the connection. + /// + /// Optional. + core.List? trafficShapingConfigs; + /// Updated time. /// /// Output only. @@ -4629,6 +4635,7 @@ class Connection { this.subscriptionType, this.suspended, this.tlsServiceDirectory, + this.trafficShapingConfigs, this.updateTime, }); @@ -4711,6 +4718,10 @@ class Connection { subscriptionType: json_['subscriptionType'] as core.String?, suspended: json_['suspended'] as core.bool?, tlsServiceDirectory: json_['tlsServiceDirectory'] as core.String?, + trafficShapingConfigs: (json_['trafficShapingConfigs'] as core.List?) + ?.map((value) => TrafficShapingConfig.fromJson( + value as core.Map)) + .toList(), updateTime: json_['updateTime'] as core.String?, ); @@ -4756,6 +4767,8 @@ class Connection { if (suspended != null) 'suspended': suspended!, if (tlsServiceDirectory != null) 'tlsServiceDirectory': tlsServiceDirectory!, + if (trafficShapingConfigs != null) + 'trafficShapingConfigs': trafficShapingConfigs!, if (updateTime != null) 'updateTime': updateTime!, }; } @@ -5445,7 +5458,7 @@ class ConnectorVersion { }; } -/// This cofiguration provides infra configs like rate limit threshold which +/// This configuration provides infra configs like rate limit threshold which /// need to be configurable for every connector version class ConnectorVersionInfraConfig { /// The window used for ratelimiting runtime requests to connections. @@ -6249,6 +6262,9 @@ class EndpointAttachment { }; } +/// Data enrichment configuration. +typedef EnrichmentConfig = $EnrichmentConfig; + /// EnumOption definition class EnumOption { /// Display name of the option. @@ -6393,8 +6409,8 @@ class EventSubscriptionDestination { /// OPTION 1: Hit an endpoint when we receive an event. EndPoint? endpoint; - /// OPTION 2: Write the event to Cloud Storage bucket. - GSUtil? gsutil; + /// OPTION 3: Write the event to Pub/Sub topic. + PubSub? pubsub; /// Service account needed for runtime plane to trigger IP workflow. core.String? serviceAccount; @@ -6409,7 +6425,7 @@ class EventSubscriptionDestination { EventSubscriptionDestination({ this.endpoint, - this.gsutil, + this.pubsub, this.serviceAccount, this.type, }); @@ -6420,9 +6436,9 @@ class EventSubscriptionDestination { ? EndPoint.fromJson( json_['endpoint'] as core.Map) : null, - gsutil: json_.containsKey('gsutil') - ? GSUtil.fromJson( - json_['gsutil'] as core.Map) + pubsub: json_.containsKey('pubsub') + ? PubSub.fromJson( + json_['pubsub'] as core.Map) : null, serviceAccount: json_['serviceAccount'] as core.String?, type: json_['type'] as core.String?, @@ -6430,7 +6446,7 @@ class EventSubscriptionDestination { core.Map toJson() => { if (endpoint != null) 'endpoint': endpoint!, - if (gsutil != null) 'gsutil': gsutil!, + if (pubsub != null) 'pubsub': pubsub!, if (serviceAccount != null) 'serviceAccount': serviceAccount!, if (type != null) 'type': type!, }; @@ -6582,6 +6598,11 @@ class EventingConfig { /// Optional. DeadLetterConfig? deadLetterConfig; + /// Data enrichment configuration. + /// + /// Optional. + EnrichmentConfig? enrichmentConfig; + /// Enrichment Enabled. /// /// Optional. @@ -6618,6 +6639,7 @@ class EventingConfig { this.additionalVariables, this.authConfig, this.deadLetterConfig, + this.enrichmentConfig, this.enrichmentEnabled, this.eventsListenerIngressEndpoint, this.listenerAuthConfig, @@ -6640,6 +6662,10 @@ class EventingConfig { ? DeadLetterConfig.fromJson(json_['deadLetterConfig'] as core.Map) : null, + enrichmentConfig: json_.containsKey('enrichmentConfig') + ? EnrichmentConfig.fromJson(json_['enrichmentConfig'] + as core.Map) + : null, enrichmentEnabled: json_['enrichmentEnabled'] as core.bool?, eventsListenerIngressEndpoint: json_['eventsListenerIngressEndpoint'] as core.String?, @@ -6666,6 +6692,7 @@ class EventingConfig { 'additionalVariables': additionalVariables!, if (authConfig != null) 'authConfig': authConfig!, if (deadLetterConfig != null) 'deadLetterConfig': deadLetterConfig!, + if (enrichmentConfig != null) 'enrichmentConfig': enrichmentConfig!, if (enrichmentEnabled != null) 'enrichmentEnabled': enrichmentEnabled!, if (eventsListenerIngressEndpoint != null) 'eventsListenerIngressEndpoint': eventsListenerIngressEndpoint!, @@ -7262,27 +7289,6 @@ class FieldComparison { }; } -/// GSUtil message includes details of the Destination Cloud Storage bucket. -class GSUtil { - /// The URI of the Cloud Storage bucket. - /// - /// Required. - core.String? gsutilUri; - - GSUtil({ - this.gsutilUri, - }); - - GSUtil.fromJson(core.Map json_) - : this( - gsutilUri: json_['gsutilUri'] as core.String?, - ); - - core.Map toJson() => { - if (gsutilUri != null) 'gsutilUri': gsutilUri!, - }; -} - /// Autoscaling config for connector deployment system metrics. typedef HPAConfig = $HPAConfig; @@ -7483,6 +7489,13 @@ class JsonAuthSchema { /// JsonSchema representation of schema metadata class JsonSchema { + /// Additional details apart from standard json schema fields, this gives + /// flexibility to store metadata about the schema + /// + /// The values for Object must be JSON objects. It can consist of `num`, + /// `String`, `bool` and `null` as well as `Map` and `List` values. + core.Map? additionalDetails; + /// The default value of the field or object described by this schema. /// /// The values for Object must be JSON objects. It can consist of `num`, @@ -7574,6 +7587,7 @@ class JsonSchema { core.List? type; JsonSchema({ + this.additionalDetails, this.default_, this.description, this.enum_, @@ -7587,6 +7601,10 @@ class JsonSchema { JsonSchema.fromJson(core.Map json_) : this( + additionalDetails: json_.containsKey('additionalDetails') + ? json_['additionalDetails'] + as core.Map + : null, default_: json_['default'], description: json_['description'] as core.String?, enum_: json_.containsKey('enum') ? json_['enum'] as core.List : null, @@ -7613,6 +7631,7 @@ class JsonSchema { ); core.Map toJson() => { + if (additionalDetails != null) 'additionalDetails': additionalDetails!, if (default_ != null) 'default': default_!, if (description != null) 'description': description!, if (enum_ != null) 'enum': enum_!, @@ -8736,11 +8755,23 @@ class PartnerMetadata { /// Required. core.String? demoUri; + /// Has dynamic open api spec uri. + /// + /// Output only. + core.bool? hasDynamicSpecUri; + /// Integration example templates for the custom connector. /// /// Required. core.String? integrationTemplates; + /// Local spec path. + /// + /// Required if has_dynamic_spec_uri is true. + /// + /// Output only. + core.String? localSpecPath; + /// Marketplace product name. /// /// Optional. @@ -8796,7 +8827,9 @@ class PartnerMetadata { this.additionalComments, this.confirmPartnerRequirements, this.demoUri, + this.hasDynamicSpecUri, this.integrationTemplates, + this.localSpecPath, this.marketplaceProduct, this.marketplaceProductId, this.marketplaceProductProjectId, @@ -8816,7 +8849,9 @@ class PartnerMetadata { confirmPartnerRequirements: json_['confirmPartnerRequirements'] as core.bool?, demoUri: json_['demoUri'] as core.String?, + hasDynamicSpecUri: json_['hasDynamicSpecUri'] as core.bool?, integrationTemplates: json_['integrationTemplates'] as core.String?, + localSpecPath: json_['localSpecPath'] as core.String?, marketplaceProduct: json_['marketplaceProduct'] as core.String?, marketplaceProductId: json_['marketplaceProductId'] as core.String?, marketplaceProductProjectId: @@ -8838,8 +8873,10 @@ class PartnerMetadata { if (confirmPartnerRequirements != null) 'confirmPartnerRequirements': confirmPartnerRequirements!, if (demoUri != null) 'demoUri': demoUri!, + if (hasDynamicSpecUri != null) 'hasDynamicSpecUri': hasDynamicSpecUri!, if (integrationTemplates != null) 'integrationTemplates': integrationTemplates!, + if (localSpecPath != null) 'localSpecPath': localSpecPath!, if (marketplaceProduct != null) 'marketplaceProduct': marketplaceProduct!, if (marketplaceProductId != null) @@ -9087,6 +9124,61 @@ class Provider { }; } +/// Pub/Sub message includes details of the Destination Pub/Sub topic. +class PubSub { + /// Pub/Sub message attributes to be added to the Pub/Sub message. + /// + /// Optional. + core.Map? attributes; + + /// Configuration for configuring the trigger + /// + /// Optional. + core.List? configVariables; + + /// The project id which has the Pub/Sub topic. + /// + /// Required. + core.String? projectId; + + /// The topic id of the Pub/Sub topic. + /// + /// Required. + core.String? topicId; + + PubSub({ + this.attributes, + this.configVariables, + this.projectId, + this.topicId, + }); + + PubSub.fromJson(core.Map json_) + : this( + attributes: + (json_['attributes'] as core.Map?) + ?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + configVariables: (json_['configVariables'] as core.List?) + ?.map((value) => ConfigVariable.fromJson( + value as core.Map)) + .toList(), + projectId: json_['projectId'] as core.String?, + topicId: json_['topicId'] as core.String?, + ); + + core.Map toJson() => { + if (attributes != null) 'attributes': attributes!, + if (configVariables != null) 'configVariables': configVariables!, + if (projectId != null) 'projectId': projectId!, + if (topicId != null) 'topicId': topicId!, + }; +} + /// Request message for ConnectorsService.PublishCustomConnectorVersion class PublishCustomConnectorVersionRequest { /// Partner metadata details for validating and publishing the custom @@ -9396,7 +9488,7 @@ class RoleGrant { /// Optional. core.String? helperTextTemplate; - /// Prinicipal/Identity for whom the role need to assigned. + /// Principal/Identity for whom the role need to assigned. /// /// Optional. /// Possible string values are: @@ -9916,7 +10008,7 @@ class Settings { class Source { /// Field identifier. /// - /// For example config vaiable name. + /// For example config variable name. core.String? fieldId; /// Type of the source. @@ -10258,6 +10350,55 @@ typedef TestIamPermissionsRequest = $TestIamPermissionsRequest00; /// Response message for `TestIamPermissions` method. typedef TestIamPermissionsResponse = $PermissionsResponse; +/// * TrafficShapingConfig defines the configuration for shaping API traffic by +/// specifying a quota limit and the duration over which this limit is enforced. +/// +/// This configuration helps to control and manage the rate at which API calls +/// are made on the client side, preventing service overload on the backend. For +/// example: - if the quota limit is 100 calls per 10 seconds, then the message +/// would be: { quota_limit: 100 duration: { seconds: 10 } } - if the quota +/// limit is 100 calls per 5 minutes, then the message would be: { quota_limit: +/// 100 duration: { seconds: 300 } } - if the quota limit is 10000 calls per +/// day, then the message would be: { quota_limit: 10000 duration: { seconds: +/// 86400 } and so on. +class TrafficShapingConfig { + /// * The duration over which the API call quota limits are calculated. + /// + /// This duration is used to define the time window for evaluating if the + /// number of API calls made by a user is within the allowed quota limits. For + /// example: - To define a quota sampled over 16 seconds, set `seconds` to 16 + /// - To define a quota sampled over 5 minutes, set `seconds` to 300 (5 * 60) + /// - To define a quota sampled over 1 day, set `seconds` to 86400 (24 * 60 * + /// 60) and so on. It is important to note that this duration is not the time + /// the quota is valid for, but rather the time window over which the quota is + /// evaluated. For example, if the quota is 100 calls per 10 seconds, then + /// this duration field would be set to 10 seconds. + /// + /// Required. + core.String? duration; + + /// Maximum number of api calls allowed. + /// + /// Required. + core.String? quotaLimit; + + TrafficShapingConfig({ + this.duration, + this.quotaLimit, + }); + + TrafficShapingConfig.fromJson(core.Map json_) + : this( + duration: json_['duration'] as core.String?, + quotaLimit: json_['quotaLimit'] as core.String?, + ); + + core.Map toJson() => { + if (duration != null) 'duration': duration!, + if (quotaLimit != null) 'quotaLimit': quotaLimit!, + }; +} + /// Parameters to support Username and Password Authentication. class UserPassword { /// Secret version reference containing the password. diff --git a/generated/googleapis/lib/connectors/v2.dart b/generated/googleapis/lib/connectors/v2.dart index d27f05085..69a29f1e9 100644 --- a/generated/googleapis/lib/connectors/v2.dart +++ b/generated/googleapis/lib/connectors/v2.dart @@ -474,6 +474,14 @@ class ProjectsLocationsConnectionsEntityTypesResource { /// Value must have pattern /// `^projects/\[^/\]+/locations/\[^/\]+/connections/\[^/\]+/entityTypes/\[^/\]+$`. /// + /// [view] - Specifies view for entity type schema. + /// Possible string values are: + /// - "ENTITY_TYPE_SCHEMA_VIEW_UNSPECIFIED" : VIEW_UNSPECIFIED. The unset + /// value. Defaults to BASIC View. + /// - "ENTITY_TYPE_SCHEMA_VIEW_BASIC" : Return basic entity type schema. + /// - "ENTITY_TYPE_SCHEMA_VIEW_ENRICHED" : Return enriched entity types + /// schema. + /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// @@ -486,9 +494,11 @@ class ProjectsLocationsConnectionsEntityTypesResource { /// this method will complete with the same error. async.Future get( core.String name, { + core.String? view, core.String? $fields, }) async { final queryParams_ = >{ + if (view != null) 'view': [view], if ($fields != null) 'fields': [$fields], }; diff --git a/generated/googleapis/lib/contactcenterinsights/v1.dart b/generated/googleapis/lib/contactcenterinsights/v1.dart index 0e62a892b..5826a927d 100644 --- a/generated/googleapis/lib/contactcenterinsights/v1.dart +++ b/generated/googleapis/lib/contactcenterinsights/v1.dart @@ -105,7 +105,10 @@ class ProjectsLocationsResource { ProjectsLocationsResource(commons.ApiRequester client) : _requester = client; - /// Download feedback labels in bulk. + /// Download feedback labels in bulk from an external source. + /// + /// Currently supports exporting Quality AI example conversations with + /// transcripts and question bodies. /// /// [request] - The metadata request object. /// @@ -147,7 +150,9 @@ class ProjectsLocationsResource { response_ as core.Map); } - /// Upload feedback labels in bulk. + /// Upload feedback labels from an external source in bulk. + /// + /// Currently supports labeling Quality AI example conversations. /// /// [request] - The metadata request object. /// @@ -4050,6 +4055,8 @@ class GoogleCloudContactcenterinsightsV1AnalysisRule { /// Filter for the conversations that should apply this analysis rule. /// /// An empty filter means this analysis rule applies to all conversations. + /// Refer to https://cloud.google.com/contact-center/insights/docs/filtering + /// for details. core.String? conversationFilter; /// The time at which this analysis rule was created. @@ -4329,6 +4336,11 @@ class GoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig { /// projects/{project}/locations/{location}/conversationProfiles/{conversation_profile} core.String? conversationProfile; + /// The resource name of the existing created generator. + /// + /// Format: projects//locations//generators/ + core.String? generator; + /// Default summarization model to be used. /// Possible string values are: /// - "SUMMARIZATION_MODEL_UNSPECIFIED" : Unspecified summarization model. @@ -4338,6 +4350,7 @@ class GoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig { GoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig({ this.conversationProfile, + this.generator, this.summarizationModel, }); @@ -4345,12 +4358,14 @@ class GoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig { core.Map json_) : this( conversationProfile: json_['conversationProfile'] as core.String?, + generator: json_['generator'] as core.String?, summarizationModel: json_['summarizationModel'] as core.String?, ); core.Map toJson() => { if (conversationProfile != null) 'conversationProfile': conversationProfile!, + if (generator != null) 'generator': generator!, if (summarizationModel != null) 'summarizationModel': summarizationModel!, }; @@ -5194,7 +5209,7 @@ class GoogleCloudContactcenterinsightsV1Conversation { /// Input only. /// /// JSON metadata encoded as a string. This field is primarily used by - /// Insights integrations with various telphony systems and must be in one of + /// Insights integrations with various telephony systems and must be in one of /// Insight's supported formats. core.String? metadataJson; @@ -6054,6 +6069,7 @@ class GoogleCloudContactcenterinsightsV1Dimension { /// Possible string values are: /// - "DIMENSION_KEY_UNSPECIFIED" : The key of the dimension is unspecified. /// - "ISSUE" : The dimension is keyed by issues. + /// - "ISSUE_NAME" : The dimension is keyed by issue names. /// - "AGENT" : The dimension is keyed by agents. /// - "AGENT_TEAM" : The dimension is keyed by agent teams. /// - "QA_QUESTION_ID" : The dimension is keyed by QaQuestionIds. Note that: @@ -6490,6 +6506,23 @@ class GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest { GoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination? bigQueryDestination; + /// Version of the export schema. + /// + /// Optional. + /// Possible string values are: + /// - "EXPORT_SCHEMA_VERSION_UNSPECIFIED" : Unspecified. Defaults to + /// EXPORT_V3. + /// - "EXPORT_V1" : Export schema version 1. + /// - "EXPORT_V2" : Export schema version 2. + /// - "EXPORT_V3" : Export schema version 3. + /// - "EXPORT_V4" : Export schema version 4. + /// - "EXPORT_V5" : Export schema version 5. + /// - "EXPORT_V6" : Export schema version 6. + /// - "EXPORT_V7" : Export schema version 7. + /// - "EXPORT_VERSION_LATEST_AVAILABLE" : Export schema version latest + /// available. + core.String? exportSchemaVersion; + /// A filter to reduce results to a specific subset. /// /// Useful for exporting conversations with specific properties. @@ -6518,6 +6551,7 @@ class GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest { GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest({ this.bigQueryDestination, + this.exportSchemaVersion, this.filter, this.kmsKey, this.parent, @@ -6532,6 +6566,7 @@ class GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest { .fromJson(json_['bigQueryDestination'] as core.Map) : null, + exportSchemaVersion: json_['exportSchemaVersion'] as core.String?, filter: json_['filter'] as core.String?, kmsKey: json_['kmsKey'] as core.String?, parent: json_['parent'] as core.String?, @@ -6541,6 +6576,8 @@ class GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest { core.Map toJson() => { if (bigQueryDestination != null) 'bigQueryDestination': bigQueryDestination!, + if (exportSchemaVersion != null) + 'exportSchemaVersion': exportSchemaVersion!, if (filter != null) 'filter': filter!, if (kmsKey != null) 'kmsKey': kmsKey!, if (parent != null) 'parent': parent!, @@ -6628,7 +6665,7 @@ class GoogleCloudContactcenterinsightsV1ExportIssueModelRequest { /// Google Cloud Storage Object URI to save the issue model to. typedef GoogleCloudContactcenterinsightsV1ExportIssueModelRequestGcsDestination - = $Shared09; + = $Shared10; /// Agent Assist frequently-asked-question answer data. class GoogleCloudContactcenterinsightsV1FaqAnswerData { @@ -6695,16 +6732,24 @@ class GoogleCloudContactcenterinsightsV1FaqAnswerData { } /// Represents a conversation, resource, and label provided by the user. +/// +/// Can take the form of a string label or a QaAnswer label. QaAnswer labels are +/// used for Quality AI example conversations. String labels are used for Topic +/// Modeling. class GoogleCloudContactcenterinsightsV1FeedbackLabel { /// Create time of the label. /// /// Output only. core.String? createTime; - /// String label. + /// String label used for Topic Modeling. core.String? label; /// Resource name of the resource to be labeled. + /// + /// Supported resources: - + /// qaScorecards/{scorecard}/revisions/{revision}/qaQuestions/{question} - + /// issueModels/{issue_model} core.String? labeledResource; /// Resource name of the FeedbackLabel. @@ -6715,7 +6760,7 @@ class GoogleCloudContactcenterinsightsV1FeedbackLabel { /// Immutable. core.String? name; - /// QaAnswer label. + /// QaAnswer label used for Quality AI example conversations. GoogleCloudContactcenterinsightsV1QaAnswerAnswerValue? qaAnswerLabel; /// Update time of the label. @@ -6832,7 +6877,7 @@ class GoogleCloudContactcenterinsightsV1ImportIssueModelRequest { /// Google Cloud Storage Object URI to get the issue model file from. typedef GoogleCloudContactcenterinsightsV1ImportIssueModelRequestGcsSource - = $Shared09; + = $Shared10; /// The request to ingest conversations. class GoogleCloudContactcenterinsightsV1IngestConversationsRequest { @@ -7229,7 +7274,7 @@ class GoogleCloudContactcenterinsightsV1Issue { class GoogleCloudContactcenterinsightsV1IssueAssignment { /// Display name of the assigned issue. /// - /// This field is set at time of analyis and immutable since then. + /// This field is set at time of analysis and immutable since then. /// /// Immutable. core.String? displayName; @@ -7395,6 +7440,9 @@ class GoogleCloudContactcenterinsightsV1IssueModel { class GoogleCloudContactcenterinsightsV1IssueModelInputDataConfig { /// A filter to reduce the conversations used for training the model to a /// specific subset. + /// + /// Refer to https://cloud.google.com/contact-center/insights/docs/filtering + /// for details. core.String? filter; /// Medium of conversations used in training data. @@ -9208,7 +9256,7 @@ class GoogleCloudContactcenterinsightsV1RuntimeAnnotationUserInput { /// The data for a sentiment annotation. class GoogleCloudContactcenterinsightsV1SentimentData { - /// A non-negative number from 0 to infinity which represents the abolute + /// A non-negative number from 0 to infinity which represents the absolute /// magnitude of sentiment regardless of score. core.double? magnitude; @@ -9702,7 +9750,10 @@ class GoogleCloudContactcenterinsightsV1View { /// Output only. core.String? updateTime; - /// String with specific view properties, must be non-empty. + /// A filter to reduce conversation results to a specific subset. + /// + /// Refer to https://cloud.google.com/contact-center/insights/docs/filtering + /// for details. core.String? value; GoogleCloudContactcenterinsightsV1View({ diff --git a/generated/googleapis/lib/container/v1.dart b/generated/googleapis/lib/container/v1.dart index 95db050bd..7203904c7 100644 --- a/generated/googleapis/lib/container/v1.dart +++ b/generated/googleapis/lib/container/v1.dart @@ -4021,6 +4021,30 @@ class AuthenticatorGroupsConfig { }; } +/// AutoMonitoringConfig defines the configuration for GKE Workload +/// Auto-Monitoring. +class AutoMonitoringConfig { + /// Scope for GKE Workload Auto-Monitoring. + /// Possible string values are: + /// - "SCOPE_UNSPECIFIED" : Not set. + /// - "ALL" : Auto-Monitoring is enabled for all supported applications. + /// - "NONE" : Disable Auto-Monitoring. + core.String? scope; + + AutoMonitoringConfig({ + this.scope, + }); + + AutoMonitoringConfig.fromJson(core.Map json_) + : this( + scope: json_['scope'] as core.String?, + ); + + core.Map toJson() => { + if (scope != null) 'scope': scope!, + }; +} + /// AutoUpgradeOptions defines the set of options for the user to control how /// the Auto Upgrades will proceed. class AutoUpgradeOptions { @@ -4093,7 +4117,7 @@ class AutopilotCompatibilityIssue { /// The description of the issue. core.String? description; - /// A URL to a public documnetation, which addresses resolving this issue. + /// A URL to a public documentation, which addresses resolving this issue. core.String? documentationUrl; /// The incompatibility type of this issue. @@ -4146,6 +4170,26 @@ class AutopilotCompatibilityIssue { }; } +/// AutopilotConfig contains configuration of autopilot feature for this +/// nodepool. +class AutopilotConfig { + /// Denotes that nodes belonging to this node pool are Autopilot nodes. + core.bool? enabled; + + AutopilotConfig({ + this.enabled, + }); + + AutopilotConfig.fromJson(core.Map json_) + : this( + enabled: json_['enabled'] as core.bool?, + ); + + core.Map toJson() => { + if (enabled != null) 'enabled': enabled!, + }; +} + /// AutoprovisioningNodePoolDefaults contains defaults for a node pool created /// by NAP. class AutoprovisioningNodePoolDefaults { @@ -4525,7 +4569,7 @@ class CancelOperationRequest { class CertificateAuthorityDomainConfig { /// List of fully qualified domain names (FQDN). /// - /// Specifying port is supported. Wilcards are NOT supported. Examples: - + /// Specifying port is supported. Wildcards are NOT supported. Examples: - /// my.customdomain.com - 10.0.1.2:5000 core.List? fqdns; @@ -4764,6 +4808,12 @@ class Cluster { core.bool? enableKubernetesAlpha; /// Enable the ability to use Cloud TPUs in this cluster. + /// + /// This field is deprecated due to the deprecation of 2VM TPU. The end of + /// life date for 2VM TPU is 2025-04-25. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) core.bool? enableTpu; /// The IP address of this cluster's master endpoint. @@ -4844,14 +4894,6 @@ class Cluster { /// Configuration for the legacy ABAC authorization mode. LegacyAbac? legacyAbac; - - /// The name of the Google Compute Engine - /// [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) - /// or - /// [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) - /// in which the cluster resides. - /// - /// Output only. core.String? location; /// The list of Google Compute Engine @@ -5087,7 +5129,13 @@ class Cluster { /// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) /// notation (e.g. `1.2.3.4/29`). /// + /// This field is deprecated due to the deprecation of 2VM TPU. The end of + /// life date for 2VM TPU is 2025-04-25. + /// /// Output only. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) core.String? tpuIpv4CidrBlock; /// The Custom keys configuration for the cluster. @@ -5669,6 +5717,9 @@ class ClusterUpdate { /// The desired status of whether to disable default sNAT for this cluster. DefaultSnatStatus? desiredDefaultSnatStatus; + /// Enable/Disable L4 LB VPC firewall reconciliation for the cluster. + core.bool? desiredDisableL4LbFirewallReconciliation; + /// DNSConfig contains clusterDNS config for this cluster. DNSConfig? desiredDnsConfig; @@ -5947,6 +5998,7 @@ class ClusterUpdate { this.desiredDatapathProvider, this.desiredDefaultEnablePrivateNodes, this.desiredDefaultSnatStatus, + this.desiredDisableL4LbFirewallReconciliation, this.desiredDnsConfig, this.desiredEnableCiliumClusterwideNetworkPolicy, this.desiredEnableFqdnNetworkPolicy, @@ -6070,6 +6122,8 @@ class ClusterUpdate { ? DefaultSnatStatus.fromJson(json_['desiredDefaultSnatStatus'] as core.Map) : null, + desiredDisableL4LbFirewallReconciliation: + json_['desiredDisableL4LbFirewallReconciliation'] as core.bool?, desiredDnsConfig: json_.containsKey('desiredDnsConfig') ? DNSConfig.fromJson(json_['desiredDnsConfig'] as core.Map) @@ -6313,6 +6367,9 @@ class ClusterUpdate { 'desiredDefaultEnablePrivateNodes': desiredDefaultEnablePrivateNodes!, if (desiredDefaultSnatStatus != null) 'desiredDefaultSnatStatus': desiredDefaultSnatStatus!, + if (desiredDisableL4LbFirewallReconciliation != null) + 'desiredDisableL4LbFirewallReconciliation': + desiredDisableL4LbFirewallReconciliation!, if (desiredDnsConfig != null) 'desiredDnsConfig': desiredDnsConfig!, if (desiredEnableCiliumClusterwideNetworkPolicy != null) 'desiredEnableCiliumClusterwideNetworkPolicy': @@ -7407,7 +7464,7 @@ class GcsFuseCsiDriverConfig { }; } -/// GetJSONWebKeysResponse is a valid JSON Web Key Set as specififed in rfc 7517 +/// GetJSONWebKeysResponse is a valid JSON Web Key Set as specified in rfc 7517 class GetJSONWebKeysResponse { /// For HTTP requests, this field is automatically extracted into the /// Cache-Control HTTP header. @@ -7813,7 +7870,11 @@ class IPAllocationPolicy { /// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) /// notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. /// `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range - /// to use. + /// to use. This field is deprecated due to the deprecation of 2VM TPU. The + /// end of life date for 2VM TPU is 2025-04-25. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) core.String? tpuIpv4CidrBlock; /// Whether alias IPs will be used for pod IPs in the cluster. @@ -8206,9 +8267,15 @@ class LinuxNodeConfig { /// /// The following parameters are supported. net.core.busy_poll /// net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max - /// net.core.wmem_default net.core.wmem_max net.core.optmem_max - /// net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem - /// net.ipv4.tcp_tw_reuse kernel.shmmni kernel.shmmax kernel.shmall + /// net.core.rmem_default net.core.wmem_default net.core.wmem_max + /// net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem + /// net.ipv4.tcp_tw_reuse net.netfilter.nf_conntrack_max + /// net.netfilter.nf_conntrack_buckets + /// net.netfilter.nf_conntrack_tcp_timeout_close_wait + /// net.netfilter.nf_conntrack_tcp_timeout_time_wait + /// net.netfilter.nf_conntrack_tcp_timeout_established + /// net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall + /// vm.max_map_count core.Map? sysctls; LinuxNodeConfig({ @@ -8579,19 +8646,29 @@ class MaintenanceWindow { /// ManagedPrometheusConfig defines the configuration for Google Cloud Managed /// Service for Prometheus. class ManagedPrometheusConfig { + /// GKE Workload Auto-Monitoring Configuration. + AutoMonitoringConfig? autoMonitoringConfig; + /// Enable Managed Collection. core.bool? enabled; ManagedPrometheusConfig({ + this.autoMonitoringConfig, this.enabled, }); ManagedPrometheusConfig.fromJson(core.Map json_) : this( + autoMonitoringConfig: json_.containsKey('autoMonitoringConfig') + ? AutoMonitoringConfig.fromJson(json_['autoMonitoringConfig'] + as core.Map) + : null, enabled: json_['enabled'] as core.bool?, ); core.Map toJson() => { + if (autoMonitoringConfig != null) + 'autoMonitoringConfig': autoMonitoringConfig!, if (enabled != null) 'enabled': enabled!, }; } @@ -8701,7 +8778,7 @@ class MasterAuthorizedNetworksConfig { /// Whether or not master authorized networks is enabled. core.bool? enabled; - /// Whether master is accessbile via Google Compute Engine Public IP + /// Whether master is accessible via Google Compute Engine Public IP /// addresses. core.bool? gcpPublicCidrsAccessEnabled; @@ -8919,6 +8996,9 @@ class NetworkConfig { /// to the nodes to prevent sNAT on cluster internal traffic. DefaultSnatStatus? defaultSnatStatus; + /// Disable L4 load balancer VPC firewalls to enable firewall policies. + core.bool? disableL4LbFirewallReconciliation; + /// DNSConfig contains clusterDNS config for this cluster. DNSConfig? dnsConfig; @@ -8955,7 +9035,7 @@ class NetworkConfig { core.String? inTransitEncryptionConfig; /// The relative name of the Google Compute Engine - /// network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks) + /// [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) /// to which the cluster is connected. /// /// Example: projects/my-project/global/networks/my-network @@ -8998,6 +9078,7 @@ class NetworkConfig { this.datapathProvider, this.defaultEnablePrivateNodes, this.defaultSnatStatus, + this.disableL4LbFirewallReconciliation, this.dnsConfig, this.enableCiliumClusterwideNetworkPolicy, this.enableFqdnNetworkPolicy, @@ -9022,6 +9103,8 @@ class NetworkConfig { ? DefaultSnatStatus.fromJson(json_['defaultSnatStatus'] as core.Map) : null, + disableL4LbFirewallReconciliation: + json_['disableL4LbFirewallReconciliation'] as core.bool?, dnsConfig: json_.containsKey('dnsConfig') ? DNSConfig.fromJson( json_['dnsConfig'] as core.Map) @@ -9063,6 +9146,9 @@ class NetworkConfig { if (defaultEnablePrivateNodes != null) 'defaultEnablePrivateNodes': defaultEnablePrivateNodes!, if (defaultSnatStatus != null) 'defaultSnatStatus': defaultSnatStatus!, + if (disableL4LbFirewallReconciliation != null) + 'disableL4LbFirewallReconciliation': + disableL4LbFirewallReconciliation!, if (dnsConfig != null) 'dnsConfig': dnsConfig!, if (enableCiliumClusterwideNetworkPolicy != null) 'enableCiliumClusterwideNetworkPolicy': @@ -9338,7 +9424,7 @@ class NodeConfig { core.int? localSsdCount; /// Specifies which method should be used for encrypting the Local SSDs - /// attahced to the node. + /// attached to the node. /// Possible string values are: /// - "LOCAL_SSD_ENCRYPTION_MODE_UNSPECIFIED" : The given node will be /// encrypted using keys managed by Google infrastructure and the keys will be @@ -9782,6 +9868,45 @@ class NodeConfigDefaults { /// Node kubelet configs. class NodeKubeletConfig { + /// Defines a comma-separated allowlist of unsafe sysctls or sysctl patterns + /// (ending in `*`). + /// + /// The unsafe namespaced sysctl groups are `kernel.shm*`, `kernel.msg*`, + /// `kernel.sem`, `fs.mqueue.*`, and `net.*`. Leaving this allowlist empty + /// means they cannot be set on Pods. To allow certain sysctls or sysctl + /// patterns to be set on Pods, list them separated by commas. For example: + /// `kernel.msg*,net.ipv4.route.min_pmtu`. See + /// https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for + /// more details. + /// + /// Optional. + core.List? allowedUnsafeSysctls; + + /// Defines the maximum number of container log files that can be present for + /// a container. + /// + /// See + /// https://kubernetes.io/docs/concepts/cluster-administration/logging/#log-rotation + /// The value must be an integer between 2 and 10, inclusive. The default + /// value is 5 if unspecified. + /// + /// Optional. + core.int? containerLogMaxFiles; + + /// Defines the maximum size of the container log file before it is rotated. + /// + /// See + /// https://kubernetes.io/docs/concepts/cluster-administration/logging/#log-rotation + /// Valid format is positive number + unit, e.g. 100Ki, 10Mi. Valid units are + /// Ki, Mi, Gi. The value must be between 10Mi and 500Mi, inclusive. Note that + /// the total container log size (container_log_max_size * + /// container_log_max_files) cannot exceed 1% of the total storage of the + /// node, to avoid disk pressure caused by log files. The default value is + /// 10Mi if unspecified. + /// + /// Optional. + core.String? containerLogMaxSize; + /// Enable CPU CFS quota enforcement for containers that specify CPU limits. /// /// This option is enabled by default which makes kubelet use CFS quota @@ -9810,6 +9935,52 @@ class NodeKubeletConfig { /// exclusivity on the node. The default value is 'none' if unspecified. core.String? cpuManagerPolicy; + /// Defines the percent of disk usage after which image garbage collection is + /// always run. + /// + /// The percent is calculated as this field value out of 100. The value must + /// be between 10 and 85, inclusive and greater than + /// image_gc_low_threshold_percent. The default value is 85 if unspecified. + /// + /// Optional. + core.int? imageGcHighThresholdPercent; + + /// Defines the percent of disk usage before which image garbage collection is + /// never run. + /// + /// Lowest disk usage to garbage collect to. The percent is calculated as this + /// field value out of 100. The value must be between 10 and 85, inclusive and + /// smaller than image_gc_high_threshold_percent. The default value is 80 if + /// unspecified. + /// + /// Optional. + core.int? imageGcLowThresholdPercent; + + /// Defines the maximum age an image can be unused before it is garbage + /// collected. + /// + /// The string must be a sequence of decimal numbers, each with optional + /// fraction and a unit suffix, such as "300s", "1.5h", and "2h45m". Valid + /// time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". The value must + /// be a positive duration greater than image_minimum_gc_age or "0s". The + /// default value is "0s" if unspecified, which disables this field, meaning + /// images won't be garbage collected based on being unused for too long. + /// + /// Optional. + core.String? imageMaximumGcAge; + + /// Defines the minimum age for an unused image before it is garbage + /// collected. + /// + /// The string must be a sequence of decimal numbers, each with optional + /// fraction and a unit suffix, such as "300s", "1.5h", and "2h45m". Valid + /// time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". The value must + /// be a positive duration less than or equal to 2 minutes. The default value + /// is "2m0s" if unspecified. + /// + /// Optional. + core.String? imageMinimumGcAge; + /// Enable or disable Kubelet read only port. core.bool? insecureKubeletReadonlyPortEnabled; @@ -9822,27 +9993,57 @@ class NodeKubeletConfig { core.String? podPidsLimit; NodeKubeletConfig({ + this.allowedUnsafeSysctls, + this.containerLogMaxFiles, + this.containerLogMaxSize, this.cpuCfsQuota, this.cpuCfsQuotaPeriod, this.cpuManagerPolicy, + this.imageGcHighThresholdPercent, + this.imageGcLowThresholdPercent, + this.imageMaximumGcAge, + this.imageMinimumGcAge, this.insecureKubeletReadonlyPortEnabled, this.podPidsLimit, }); NodeKubeletConfig.fromJson(core.Map json_) : this( + allowedUnsafeSysctls: (json_['allowedUnsafeSysctls'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + containerLogMaxFiles: json_['containerLogMaxFiles'] as core.int?, + containerLogMaxSize: json_['containerLogMaxSize'] as core.String?, cpuCfsQuota: json_['cpuCfsQuota'] as core.bool?, cpuCfsQuotaPeriod: json_['cpuCfsQuotaPeriod'] as core.String?, cpuManagerPolicy: json_['cpuManagerPolicy'] as core.String?, + imageGcHighThresholdPercent: + json_['imageGcHighThresholdPercent'] as core.int?, + imageGcLowThresholdPercent: + json_['imageGcLowThresholdPercent'] as core.int?, + imageMaximumGcAge: json_['imageMaximumGcAge'] as core.String?, + imageMinimumGcAge: json_['imageMinimumGcAge'] as core.String?, insecureKubeletReadonlyPortEnabled: json_['insecureKubeletReadonlyPortEnabled'] as core.bool?, podPidsLimit: json_['podPidsLimit'] as core.String?, ); core.Map toJson() => { + if (allowedUnsafeSysctls != null) + 'allowedUnsafeSysctls': allowedUnsafeSysctls!, + if (containerLogMaxFiles != null) + 'containerLogMaxFiles': containerLogMaxFiles!, + if (containerLogMaxSize != null) + 'containerLogMaxSize': containerLogMaxSize!, if (cpuCfsQuota != null) 'cpuCfsQuota': cpuCfsQuota!, if (cpuCfsQuotaPeriod != null) 'cpuCfsQuotaPeriod': cpuCfsQuotaPeriod!, if (cpuManagerPolicy != null) 'cpuManagerPolicy': cpuManagerPolicy!, + if (imageGcHighThresholdPercent != null) + 'imageGcHighThresholdPercent': imageGcHighThresholdPercent!, + if (imageGcLowThresholdPercent != null) + 'imageGcLowThresholdPercent': imageGcLowThresholdPercent!, + if (imageMaximumGcAge != null) 'imageMaximumGcAge': imageMaximumGcAge!, + if (imageMinimumGcAge != null) 'imageMinimumGcAge': imageMinimumGcAge!, if (insecureKubeletReadonlyPortEnabled != null) 'insecureKubeletReadonlyPortEnabled': insecureKubeletReadonlyPortEnabled!, @@ -10039,6 +10240,12 @@ class NodeNetworkConfig { /// during pod scheduling. They may also be resized up or down, to accommodate /// the workload. class NodePool { + /// Specifies the autopilot configuration for this node pool. + /// + /// This field is exclusively reserved for Cluster Autoscaler to implement + /// go/gke-managed-nodes-ccc-api + AutopilotConfig? autopilotConfig; + /// Autoscaler configuration for this NodePool. /// /// Autoscaler is enabled only if a valid configuration is present. @@ -10165,6 +10372,7 @@ class NodePool { core.String? version; NodePool({ + this.autopilotConfig, this.autoscaling, this.bestEffortProvisioning, this.conditions, @@ -10190,6 +10398,10 @@ class NodePool { NodePool.fromJson(core.Map json_) : this( + autopilotConfig: json_.containsKey('autopilotConfig') + ? AutopilotConfig.fromJson(json_['autopilotConfig'] + as core.Map) + : null, autoscaling: json_.containsKey('autoscaling') ? NodePoolAutoscaling.fromJson( json_['autoscaling'] as core.Map) @@ -10251,6 +10463,7 @@ class NodePool { ); core.Map toJson() => { + if (autopilotConfig != null) 'autopilotConfig': autopilotConfig!, if (autoscaling != null) 'autoscaling': autoscaling!, if (bestEffortProvisioning != null) 'bestEffortProvisioning': bestEffortProvisioning!, @@ -13227,6 +13440,8 @@ class StatusCondition { /// - "CLOUD_KMS_KEY_ERROR" : Unable to perform an encrypt operation against /// the CloudKMS key used for etcd level encryption. /// - "CA_EXPIRING" : Cluster CA is expiring soon. + /// - "NODE_SERVICE_ACCOUNT_MISSING_PERMISSIONS" : Node service account is + /// missing permissions. @core.Deprecated( 'Not supported. Member documentation may have more information.', ) @@ -14239,16 +14454,26 @@ class WorkloadPolicyConfig { /// If true, workloads can use NET_ADMIN capability. core.bool? allowNetAdmin; + /// If true, enables the GCW Auditor that audits workloads on standard + /// clusters. + core.bool? autopilotCompatibilityAuditingEnabled; + WorkloadPolicyConfig({ this.allowNetAdmin, + this.autopilotCompatibilityAuditingEnabled, }); WorkloadPolicyConfig.fromJson(core.Map json_) : this( allowNetAdmin: json_['allowNetAdmin'] as core.bool?, + autopilotCompatibilityAuditingEnabled: + json_['autopilotCompatibilityAuditingEnabled'] as core.bool?, ); core.Map toJson() => { if (allowNetAdmin != null) 'allowNetAdmin': allowNetAdmin!, + if (autopilotCompatibilityAuditingEnabled != null) + 'autopilotCompatibilityAuditingEnabled': + autopilotCompatibilityAuditingEnabled!, }; } diff --git a/generated/googleapis/lib/containeranalysis/v1.dart b/generated/googleapis/lib/containeranalysis/v1.dart index 4394c5e45..2eee45e4a 100644 --- a/generated/googleapis/lib/containeranalysis/v1.dart +++ b/generated/googleapis/lib/containeranalysis/v1.dart @@ -3699,6 +3699,8 @@ typedef EnvelopeSignature = $EnvelopeSignature; class ExportSBOMRequest { /// Empty placeholder to denote that this is a Google Cloud Storage export /// request. + /// + /// Optional. CloudStorageLocation? cloudStorageLocation; ExportSBOMRequest({ @@ -3909,7 +3911,24 @@ typedef GetPolicyOptions = $GetPolicyOptions00; typedef GitSourceContext = $GitSourceContext; /// Indicates the location at which a package was found. -typedef GrafeasV1FileLocation = $FileLocation; +class GrafeasV1FileLocation { + /// For jars that are contained inside .war files, this filepath can indicate + /// the path to war file combined with the path to jar file. + core.String? filePath; + + GrafeasV1FileLocation({ + this.filePath, + }); + + GrafeasV1FileLocation.fromJson(core.Map json_) + : this( + filePath: json_['filePath'] as core.String?, + ); + + core.Map toJson() => { + if (filePath != null) 'filePath': filePath!, + }; +} /// Identifies the entity that executed the recipe, which is trusted to have /// correctly performed the operation and populated this provenance. diff --git a/generated/googleapis/lib/content/v2_1.dart b/generated/googleapis/lib/content/v2_1.dart index 2ace703d2..5899fe740 100644 --- a/generated/googleapis/lib/content/v2_1.dart +++ b/generated/googleapis/lib/content/v2_1.dart @@ -7161,6 +7161,43 @@ class AccountIssue { /// you can hide everything with this class. core.String? prerenderedContent; + /// Pre-rendered HTML that contains a link to the external location where the + /// ODS can be requested and instructions for how to request it. + /// + /// HTML elements contain CSS classes that can be used to customize the style + /// of this snippet. Always sanitize the HTML before embedding it directly to + /// your application. The sanitizer needs to allow basic HTML tags, such as: + /// `div`, `span`, `p`, `a`, `ul`, `li`, `table`, `tr`, `td`. For example, you + /// can use [DOMPurify](https://www.npmjs.com/package/dompurify). CSS classes: + /// * `ods-section`* - wrapper around the out-of-court dispute resolution + /// section * `ods-description`* - intro text for the out-of-court dispute + /// resolution. It may contain multiple segments and a link. * `ods-param`* - + /// wrapper around the header-value pair for parameters that merchant may need + /// to provide during the ODS process. * `ods-routing-id`* - ods param for the + /// Routing ID. * `ods-reference-id`* - ods param for the Routing ID. * + /// `ods-param-header`* - header for the ODS parameter * `ods-param-value`* - + /// value of the ODS parameter. This value should be rendered in a way that it + /// is easy for merchants to identify and copy. * `segment` - section of the + /// text, `span` inside paragraph * `segment-attribute` - section of the text + /// that represents a product attribute, for example 'image\_link' * + /// `segment-literal` - section of the text that contains a special value, for + /// example '0-1000 kg' * `segment-bold` - section of the text that should be + /// rendered as bold * `segment-italic` - section of the text that should be + /// rendered as italic * `tooltip` - used on paragraphs that should be + /// rendered with a tooltip. A section of the text in such a paragraph will + /// have a class `tooltip-text` and is intended to be shown in a mouse over + /// dialog. If the style is not used, the `tooltip-text` section would be + /// shown on a new line, after the main part of the text. * `tooltip-text` - + /// marks a section of the text within a `tooltip`, that is intended to be + /// shown in a mouse over dialog. * `tooltip-icon` - marks a section of the + /// text within a `tooltip`, that can be replaced with a tooltip icon, for + /// example '?' or 'i'. By default, this section contains a `br` tag, that is + /// separating the main text and the tooltip text when the style is not used. + /// * `tooltip-style-question` - the tooltip shows helpful information, can + /// use the '?' as an icon. * `tooltip-style-info` - the tooltip adds + /// additional information fitting to the context, can use the 'i' as an icon. + core.String? prerenderedOutOfCourtDisputeSettlement; + /// Title of the issue. core.String? title; @@ -7168,6 +7205,7 @@ class AccountIssue { this.actions, this.impact, this.prerenderedContent, + this.prerenderedOutOfCourtDisputeSettlement, this.title, }); @@ -7182,6 +7220,8 @@ class AccountIssue { json_['impact'] as core.Map) : null, prerenderedContent: json_['prerenderedContent'] as core.String?, + prerenderedOutOfCourtDisputeSettlement: + json_['prerenderedOutOfCourtDisputeSettlement'] as core.String?, title: json_['title'] as core.String?, ); @@ -7190,6 +7230,9 @@ class AccountIssue { if (impact != null) 'impact': impact!, if (prerenderedContent != null) 'prerenderedContent': prerenderedContent!, + if (prerenderedOutOfCourtDisputeSettlement != null) + 'prerenderedOutOfCourtDisputeSettlement': + prerenderedOutOfCourtDisputeSettlement!, if (title != null) 'title': title!, }; } @@ -9174,9 +9217,7 @@ class AttributionSettings { /// Required. core.int? attributionLookbackWindowInDays; - /// Attribution model. /// - /// Required. /// Possible string values are: /// - "ATTRIBUTION_MODEL_UNSPECIFIED" /// - "CROSS_CHANNEL_LAST_CLICK" : Cross-channel Last Click model. @@ -16551,10 +16592,10 @@ class PostalCodeRange { }; } -typedef Price = $Shared10; +typedef Price = $Shared11; /// The price represented as a number and currency. -typedef PriceAmount = $Shared10; +typedef PriceAmount = $Shared11; /// Price competitiveness fields requested by the merchant in the query. /// @@ -18047,6 +18088,43 @@ class ProductIssue { /// this class. core.String? prerenderedContent; + /// Pre-rendered HTML that contains a link to the external location where the + /// ODS can be requested and instructions for how to request it. + /// + /// HTML elements contain CSS classes that can be used to customize the style + /// of this snippet. Always sanitize the HTML before embedding it directly to + /// your application. The sanitizer needs to allow basic HTML tags, such as: + /// `div`, `span`, `p`, `a`, `ul`, `li`, `table`, `tr`, `td`. For example, you + /// can use [DOMPurify](https://www.npmjs.com/package/dompurify). CSS classes: + /// * `ods-section`* - wrapper around the out-of-court dispute resolution + /// section * `ods-description`* - intro text for the out-of-court dispute + /// resolution. It may contain multiple segments and a link. * `ods-param`* - + /// wrapper around the header-value pair for parameters that merchant may need + /// to provide during the ODS process. * `ods-routing-id`* - ods param for the + /// Routing ID. * `ods-reference-id`* - ods param for the Routing ID. * + /// `ods-param-header`* - header for the ODS parameter * `ods-param-value`* - + /// value of the ODS parameter. This value should be rendered in a way that it + /// is easy for merchants to identify and copy. * `segment` - section of the + /// text, `span` inside paragraph * `segment-attribute` - section of the text + /// that represents a product attribute, for example 'image\_link' * + /// `segment-literal` - section of the text that contains a special value, for + /// example '0-1000 kg' * `segment-bold` - section of the text that should be + /// rendered as bold * `segment-italic` - section of the text that should be + /// rendered as italic * `tooltip` - used on paragraphs that should be + /// rendered with a tooltip. A section of the text in such a paragraph will + /// have a class `tooltip-text` and is intended to be shown in a mouse over + /// dialog. If the style is not used, the `tooltip-text` section would be + /// shown on a new line, after the main part of the text. * `tooltip-text` - + /// marks a section of the text within a `tooltip`, that is intended to be + /// shown in a mouse over dialog. * `tooltip-icon` - marks a section of the + /// text within a `tooltip`, that can be replaced with a tooltip icon, for + /// example '?' or 'i'. By default, this section contains a `br` tag, that is + /// separating the main text and the tooltip text when the style is not used. + /// * `tooltip-style-question` - the tooltip shows helpful information, can + /// use the '?' as an icon. * `tooltip-style-info` - the tooltip adds + /// additional information fitting to the context, can use the 'i' as an icon. + core.String? prerenderedOutOfCourtDisputeSettlement; + /// Title of the issue. core.String? title; @@ -18054,6 +18132,7 @@ class ProductIssue { this.actions, this.impact, this.prerenderedContent, + this.prerenderedOutOfCourtDisputeSettlement, this.title, }); @@ -18068,6 +18147,8 @@ class ProductIssue { json_['impact'] as core.Map) : null, prerenderedContent: json_['prerenderedContent'] as core.String?, + prerenderedOutOfCourtDisputeSettlement: + json_['prerenderedOutOfCourtDisputeSettlement'] as core.String?, title: json_['title'] as core.String?, ); @@ -18076,6 +18157,9 @@ class ProductIssue { if (impact != null) 'impact': impact!, if (prerenderedContent != null) 'prerenderedContent': prerenderedContent!, + if (prerenderedOutOfCourtDisputeSettlement != null) + 'prerenderedOutOfCourtDisputeSettlement': + prerenderedOutOfCourtDisputeSettlement!, if (title != null) 'title': title!, }; } @@ -20927,12 +21011,12 @@ typedef RenderAccountIssuesRequestPayload = $IssuesRequestPayload; /// Response containing support content and actions for listed account issues. class RenderAccountIssuesResponse { - /// The Alternate Dispute Resolution (ADR) contains a link to a page where - /// merchant can bring their appeal to an - /// [external body](https://support.google.com/european-union-digital-services-act-redress-options/answer/13535501). + /// Alternate Dispute Resolution (ADR) is deprecated. /// - /// If the ADR is present, it MUST be available to the merchant on the page - /// that shows the list with their account issues. + /// Use `prerendered_out_of_court_dispute_settlement` instead. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) AlternateDisputeResolution? alternateDisputeResolution; /// List of account issues for a given account. @@ -20974,12 +21058,12 @@ typedef RenderProductIssuesRequestPayload = $IssuesRequestPayload; /// Response containing support content and actions for listed product issues. class RenderProductIssuesResponse { - /// The Alternate Dispute Resolution (ADR) contains a link to a page where - /// merchant can bring their appeal to an - /// [external body](https://support.google.com/european-union-digital-services-act-redress-options/answer/13535501). + /// Alternate Dispute Resolution (ADR) is deprecated. /// - /// If present, the link should be shown on the same page as the list of - /// issues. + /// Use `prerendered_out_of_court_dispute_settlement` instead. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) AlternateDisputeResolution? alternateDisputeResolution; /// List of issues for a given product. @@ -21684,6 +21768,10 @@ class ReturnPolicyOnlineRestockingFee { /// The return reason category info wrapper. class ReturnPolicyOnlineReturnReasonCategoryInfo { /// The corresponding return label source. + /// + /// If the `ReturnMethod` field includes `BY_MAIL`, it is required to specify + /// `ReturnLabelSource` for both `BUYER_REMORSE` and `ITEM_DEFECT` return + /// reason categories. /// Possible string values are: /// - "RETURN_LABEL_SOURCE_UNSPECIFIED" : Default value. This value is unused. /// - "DOWNLOAD_AND_PRINT" : Download and print the label. diff --git a/generated/googleapis/lib/css/v1.dart b/generated/googleapis/lib/css/v1.dart index e95dfb8b6..9afb3b9d9 100644 --- a/generated/googleapis/lib/css/v1.dart +++ b/generated/googleapis/lib/css/v1.dart @@ -228,7 +228,10 @@ class AccountsCssProductInputsResource { /// Request parameters: /// /// [name] - Required. The name of the CSS product input resource to delete. - /// Format: accounts/{account}/cssProductInputs/{css_product_input} + /// Format: accounts/{account}/cssProductInputs/{css_product_input}, where the + /// last section `css_product_input` consists of 3 parts: + /// contentLanguage~feedLabel~offerId. Example: + /// accounts/123/cssProductInputs/de~DE~rawProvidedId123 /// Value must have pattern `^accounts/\[^/\]+/cssProductInputs/\[^/\]+$`. /// /// [supplementalFeedId] - The Content API Supplemental Feed ID. The field @@ -282,11 +285,12 @@ class AccountsCssProductInputsResource { /// Format: accounts/{account} /// Value must have pattern `^accounts/\[^/\]+$`. /// - /// [feedId] - Optional. The primary or supplemental feed id. If CSS Product - /// already exists and feed id provided is different, then the CSS Product - /// will be moved to a new feed. Note: For now, CSSs do not need to provide - /// feed ids as we create feeds on the fly. We do not have supplemental feed - /// support for CSS Products yet. + /// [feedId] - Optional. DEPRECATED. Feed id is not required for CSS Products. + /// The primary or supplemental feed id. If CSS Product already exists and + /// feed id provided is different, then the CSS Product will be moved to a new + /// feed. Note: For now, CSSs do not need to provide feed ids as we create + /// feeds on the fly. We do not have supplemental feed support for CSS + /// Products yet. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -333,7 +337,10 @@ class AccountsCssProductInputsResource { /// Request parameters: /// /// [name] - The name of the CSS Product input. Format: - /// `accounts/{account}/cssProductInputs/{css_product_input}` + /// `accounts/{account}/cssProductInputs/{css_product_input}`, where the last + /// section `css_product_input` consists of 3 parts: + /// contentLanguage~feedLabel~offerId. Example: + /// accounts/123/cssProductInputs/de~DE~rawProvidedId123 /// Value must have pattern `^accounts/\[^/\]+/cssProductInputs/\[^/\]+$`. /// /// [updateMask] - The list of CSS product attributes to be updated. If the @@ -703,7 +710,9 @@ class Account { /// The CSS/MC account's parent resource. /// /// CSS group for CSS domains; CSS domain for MC accounts. Returned only if - /// the user has access to the parent account. + /// the user has access to the parent account. Note: For MC sub-accounts, this + /// is also the CSS domain that is the parent resource of the MCA account, + /// since we are effectively flattening the hierarchy." core.String? parent; Account({ @@ -1400,18 +1409,20 @@ class CssProductInput { /// Output only. core.String? finalName; + /// Use expiration_date instead. + /// /// Represents the existing version (freshness) of the CSS Product, which can /// be used to preserve the right order when multiple updates are done at the - /// same time. - /// - /// This field must not be set to the future time. If set, the update is - /// prevented if a newer version of the item already exists in our system - /// (that is the last update time of the existing CSS products is later than - /// the freshness time set in the update). If the update happens, the last - /// update time is then set to this freshness time. If not set, the update - /// will not be prevented and the last update time will default to when this - /// request was received by the CSS API. If the operation is prevented, the - /// aborted exception will be thrown. + /// same time. This field must not be set to the future time. If set, the + /// update is prevented if a newer version of the item already exists in our + /// system (that is the last update time of the existing CSS products is later + /// than the freshness time set in the update). If the update happens, the + /// last update time is then set to this freshness time. If not set, the + /// update will not be prevented and the last update time will default to when + /// this request was received by the CSS API. If the operation is prevented, + /// the aborted exception will be thrown. + /// + /// Deprecated. @core.Deprecated( 'Not supported. Member documentation may have more information.', ) @@ -1419,7 +1430,10 @@ class CssProductInput { /// The name of the CSS Product input. /// - /// Format: `accounts/{account}/cssProductInputs/{css_product_input}` + /// Format: `accounts/{account}/cssProductInputs/{css_product_input}`, where + /// the last section `css_product_input` consists of 3 parts: + /// contentLanguage~feedLabel~offerId. Example: + /// accounts/123/cssProductInputs/de~DE~rawProvidedId123 core.String? name; /// Your unique identifier for the CSS Product. diff --git a/generated/googleapis/lib/datacatalog/v1.dart b/generated/googleapis/lib/datacatalog/v1.dart index aade0ae86..c3f02ac76 100644 --- a/generated/googleapis/lib/datacatalog/v1.dart +++ b/generated/googleapis/lib/datacatalog/v1.dart @@ -74,6 +74,9 @@ class DataCatalogApi { commons.ApiRequester(client, rootUrl, servicePath, requestHeaders); } +@core.Deprecated( + 'Not supported. Member documentation may have more information.', +) class CatalogResource { final commons.ApiRequester _requester; @@ -106,6 +109,9 @@ class CatalogResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future search( GoogleCloudDatacatalogV1SearchCatalogRequest request, { core.String? $fields, @@ -128,6 +134,9 @@ class CatalogResource { } } +@core.Deprecated( + 'Not supported. Member documentation may have more information.', +) class EntriesResource { final commons.ApiRequester _requester; @@ -184,6 +193,9 @@ class EntriesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future lookup({ core.String? fullyQualifiedName, core.String? linkedResource, @@ -223,6 +235,9 @@ class OrganizationsResource { OrganizationsResource(commons.ApiRequester client) : _requester = client; } +@core.Deprecated( + 'Not supported. Member documentation may have more information.', +) class OrganizationsLocationsResource { final commons.ApiRequester _requester; @@ -248,6 +263,9 @@ class OrganizationsLocationsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future retrieveConfig( core.String name, { core.String? $fields, @@ -289,6 +307,9 @@ class OrganizationsLocationsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future retrieveEffectiveConfig( core.String name, { core.String? $fields, @@ -330,6 +351,9 @@ class OrganizationsLocationsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future setConfig( GoogleCloudDatacatalogV1SetConfigRequest request, core.String name, { @@ -398,6 +422,9 @@ class ProjectsLocationsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future retrieveEffectiveConfig( core.String name, { core.String? $fields, @@ -439,6 +466,9 @@ class ProjectsLocationsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future setConfig( GoogleCloudDatacatalogV1SetConfigRequest request, core.String name, { @@ -515,6 +545,9 @@ class ProjectsLocationsEntryGroupsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future create( GoogleCloudDatacatalogV1EntryGroup request, core.String parent, { @@ -563,6 +596,9 @@ class ProjectsLocationsEntryGroupsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future delete( core.String name, { core.bool? force, @@ -604,6 +640,9 @@ class ProjectsLocationsEntryGroupsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future get( core.String name, { core.String? readMask, @@ -657,6 +696,9 @@ class ProjectsLocationsEntryGroupsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future getIamPolicy( GetIamPolicyRequest request, core.String resource, { @@ -703,6 +745,9 @@ class ProjectsLocationsEntryGroupsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future list( core.String parent, { core.int? pageSize, @@ -757,6 +802,9 @@ class ProjectsLocationsEntryGroupsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future patch( GoogleCloudDatacatalogV1EntryGroup request, core.String name, { @@ -813,6 +861,9 @@ class ProjectsLocationsEntryGroupsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future setIamPolicy( SetIamPolicyRequest request, core.String resource, { @@ -864,6 +915,9 @@ class ProjectsLocationsEntryGroupsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future testIamPermissions( TestIamPermissionsRequest request, core.String resource, { @@ -931,6 +985,9 @@ class ProjectsLocationsEntryGroupsEntriesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future create( GoogleCloudDatacatalogV1Entry request, core.String parent, { @@ -978,6 +1035,9 @@ class ProjectsLocationsEntryGroupsEntriesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future delete( core.String name, { core.String? $fields, @@ -1014,6 +1074,9 @@ class ProjectsLocationsEntryGroupsEntriesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future get( core.String name, { core.String? $fields, @@ -1065,6 +1128,9 @@ class ProjectsLocationsEntryGroupsEntriesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future getIamPolicy( GetIamPolicyRequest request, core.String resource, { @@ -1115,6 +1181,9 @@ class ProjectsLocationsEntryGroupsEntriesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future import( GoogleCloudDatacatalogV1ImportEntriesRequest request, core.String parent, { @@ -1169,6 +1238,9 @@ class ProjectsLocationsEntryGroupsEntriesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future list( core.String parent, { core.int? pageSize, @@ -1218,6 +1290,9 @@ class ProjectsLocationsEntryGroupsEntriesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future modifyEntryContacts( GoogleCloudDatacatalogV1ModifyEntryContactsRequest request, core.String name, { @@ -1264,6 +1339,9 @@ class ProjectsLocationsEntryGroupsEntriesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future modifyEntryOverview( GoogleCloudDatacatalogV1ModifyEntryOverviewRequest request, core.String name, { @@ -1323,6 +1401,9 @@ class ProjectsLocationsEntryGroupsEntriesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future patch( GoogleCloudDatacatalogV1Entry request, core.String name, { @@ -1369,6 +1450,9 @@ class ProjectsLocationsEntryGroupsEntriesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future star( GoogleCloudDatacatalogV1StarEntryRequest request, core.String name, { @@ -1421,6 +1505,9 @@ class ProjectsLocationsEntryGroupsEntriesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future testIamPermissions( TestIamPermissionsRequest request, core.String resource, { @@ -1466,6 +1553,9 @@ class ProjectsLocationsEntryGroupsEntriesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future unstar( GoogleCloudDatacatalogV1UnstarEntryRequest request, core.String name, { @@ -1489,6 +1579,9 @@ class ProjectsLocationsEntryGroupsEntriesResource { } } +@core.Deprecated( + 'Not supported. Member documentation may have more information.', +) class ProjectsLocationsEntryGroupsEntriesTagsResource { final commons.ApiRequester _requester; @@ -1527,6 +1620,9 @@ class ProjectsLocationsEntryGroupsEntriesTagsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future create( GoogleCloudDatacatalogV1Tag request, core.String parent, { @@ -1567,6 +1663,9 @@ class ProjectsLocationsEntryGroupsEntriesTagsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future delete( core.String name, { core.String? $fields, @@ -1613,6 +1712,9 @@ class ProjectsLocationsEntryGroupsEntriesTagsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future list( core.String parent, { core.int? pageSize, @@ -1664,6 +1766,9 @@ class ProjectsLocationsEntryGroupsEntriesTagsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future patch( GoogleCloudDatacatalogV1Tag request, core.String name, { @@ -1714,6 +1819,9 @@ class ProjectsLocationsEntryGroupsEntriesTagsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future reconcile( GoogleCloudDatacatalogV1ReconcileTagsRequest request, core.String parent, { @@ -1736,6 +1844,9 @@ class ProjectsLocationsEntryGroupsEntriesTagsResource { } } +@core.Deprecated( + 'Not supported. Member documentation may have more information.', +) class ProjectsLocationsEntryGroupsTagsResource { final commons.ApiRequester _requester; @@ -1774,6 +1885,9 @@ class ProjectsLocationsEntryGroupsTagsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future create( GoogleCloudDatacatalogV1Tag request, core.String parent, { @@ -1814,6 +1928,9 @@ class ProjectsLocationsEntryGroupsTagsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future delete( core.String name, { core.String? $fields, @@ -1860,6 +1977,9 @@ class ProjectsLocationsEntryGroupsTagsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future list( core.String parent, { core.int? pageSize, @@ -1911,6 +2031,9 @@ class ProjectsLocationsEntryGroupsTagsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future patch( GoogleCloudDatacatalogV1Tag request, core.String name, { @@ -2155,6 +2278,9 @@ class ProjectsLocationsTagTemplatesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future create( GoogleCloudDatacatalogV1TagTemplate request, core.String parent, { @@ -2204,6 +2330,9 @@ class ProjectsLocationsTagTemplatesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future delete( core.String name, { core.bool? force, @@ -2242,6 +2371,9 @@ class ProjectsLocationsTagTemplatesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future get( core.String name, { core.String? $fields, @@ -2293,6 +2425,9 @@ class ProjectsLocationsTagTemplatesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future getIamPolicy( GetIamPolicyRequest request, core.String resource, { @@ -2350,6 +2485,9 @@ class ProjectsLocationsTagTemplatesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future patch( GoogleCloudDatacatalogV1TagTemplate request, core.String name, { @@ -2406,6 +2544,9 @@ class ProjectsLocationsTagTemplatesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future setIamPolicy( SetIamPolicyRequest request, core.String resource, { @@ -2457,6 +2598,9 @@ class ProjectsLocationsTagTemplatesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future testIamPermissions( TestIamPermissionsRequest request, core.String resource, { @@ -2522,6 +2666,9 @@ class ProjectsLocationsTagTemplatesFieldsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future create( GoogleCloudDatacatalogV1TagTemplateField request, core.String parent, { @@ -2573,6 +2720,9 @@ class ProjectsLocationsTagTemplatesFieldsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future delete( core.String name, { core.bool? force, @@ -2628,6 +2778,9 @@ class ProjectsLocationsTagTemplatesFieldsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future patch( GoogleCloudDatacatalogV1TagTemplateField request, core.String name, { @@ -2676,6 +2829,9 @@ class ProjectsLocationsTagTemplatesFieldsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future rename( GoogleCloudDatacatalogV1RenameTagTemplateFieldRequest request, core.String name, { @@ -2699,6 +2855,9 @@ class ProjectsLocationsTagTemplatesFieldsResource { } } +@core.Deprecated( + 'Not supported. Member documentation may have more information.', +) class ProjectsLocationsTagTemplatesFieldsEnumValuesResource { final commons.ApiRequester _requester; @@ -2728,6 +2887,9 @@ class ProjectsLocationsTagTemplatesFieldsEnumValuesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future rename( GoogleCloudDatacatalogV1RenameTagTemplateFieldEnumValueRequest request, core.String name, { @@ -4469,7 +4631,7 @@ class GoogleCloudDatacatalogV1DataSourceConnectionSpec { /// /// Valid only for entries with the `TABLE` type. class GoogleCloudDatacatalogV1DatabaseTableSpec { - /// Spec what aplies to tables that are actually views. + /// Spec what applies to tables that are actually views. /// /// Not set for "real" tables. GoogleCloudDatacatalogV1DatabaseTableSpecDatabaseViewSpec? databaseViewSpec; @@ -5285,13 +5447,13 @@ class GoogleCloudDatacatalogV1ExportTaxonomiesResponse { /// Detail description of the source information of a Vertex Feature Online /// Store. class GoogleCloudDatacatalogV1FeatureOnlineStoreSpec { - /// Type of underelaying storage for the FeatureOnlineStore. + /// Type of underlying storage for the FeatureOnlineStore. /// /// Output only. /// Possible string values are: /// - "STORAGE_TYPE_UNSPECIFIED" : Should not be used. /// - "BIGTABLE" : Underlsying storgae is Bigtable. - /// - "OPTIMIZED" : Underlaying is optimized online server (Lightning). + /// - "OPTIMIZED" : Underlying is optimized online server (Lightning). core.String? storageType; GoogleCloudDatacatalogV1FeatureOnlineStoreSpec({ @@ -5847,7 +6009,7 @@ class GoogleCloudDatacatalogV1LookerSystemSpec { /// organization or project. /// /// It is the response message for SetConfig and RetrieveEffectiveConfig. -typedef GoogleCloudDatacatalogV1MigrationConfig = $Shared11; +typedef GoogleCloudDatacatalogV1MigrationConfig = $Shared12; /// Specification that applies to a model. /// @@ -6924,7 +7086,7 @@ class GoogleCloudDatacatalogV1ServiceSpec { } /// Request message for SetConfig. -typedef GoogleCloudDatacatalogV1SetConfigRequest = $Shared11; +typedef GoogleCloudDatacatalogV1SetConfigRequest = $Shared12; /// Specification that applies to entries that are part `SQL_DATABASE` system /// (user_specified_type) diff --git a/generated/googleapis/lib/datafusion/v1.dart b/generated/googleapis/lib/datafusion/v1.dart index 90f30bcc3..1b01087f2 100644 --- a/generated/googleapis/lib/datafusion/v1.dart +++ b/generated/googleapis/lib/datafusion/v1.dart @@ -1426,7 +1426,7 @@ class Instance { /// Optional. core.bool? enableRbac; - /// Option to enable Stackdriver Logging. + /// Option to enable Dataproc Stackdriver Logging. /// /// Optional. core.bool? enableStackdriverLogging; @@ -1457,6 +1457,18 @@ class Instance { /// The character '=' is not allowed to be used within the labels. core.Map? labels; + /// The logging configuration for this instance. + /// + /// This field is supported only in CDF versions 6.11.0 and above. + /// + /// Optional. + LoggingConfig? loggingConfig; + + /// The maintenance events for this instance. + /// + /// Output only. + core.List? maintenanceEvents; + /// Configure the maintenance policy for this instance. /// /// Optional. @@ -1477,6 +1489,8 @@ class Instance { /// Map of additional options used to configure the behavior of Data Fusion /// instance. + /// + /// Optional. core.Map? options; /// Service agent for the customer project. @@ -1497,6 +1511,11 @@ class Instance { /// Optional. core.bool? privateInstance; + /// Reserved for future use. + /// + /// Output only. + core.bool? satisfiesPzi; + /// Reserved for future use. /// /// Output only. @@ -1604,6 +1623,8 @@ class Instance { this.eventPublishConfig, this.gcsBucket, this.labels, + this.loggingConfig, + this.maintenanceEvents, this.maintenancePolicy, this.name, this.networkConfig, @@ -1611,6 +1632,7 @@ class Instance { this.p4ServiceAccount, this.patchRevision, this.privateInstance, + this.satisfiesPzi, this.satisfiesPzs, this.serviceAccount, this.serviceEndpoint, @@ -1667,6 +1689,14 @@ class Instance { value as core.String, ), ), + loggingConfig: json_.containsKey('loggingConfig') + ? LoggingConfig.fromJson( + json_['loggingConfig'] as core.Map) + : null, + maintenanceEvents: (json_['maintenanceEvents'] as core.List?) + ?.map((value) => MaintenanceEvent.fromJson( + value as core.Map)) + .toList(), maintenancePolicy: json_.containsKey('maintenancePolicy') ? MaintenancePolicy.fromJson(json_['maintenancePolicy'] as core.Map) @@ -1686,6 +1716,7 @@ class Instance { p4ServiceAccount: json_['p4ServiceAccount'] as core.String?, patchRevision: json_['patchRevision'] as core.String?, privateInstance: json_['privateInstance'] as core.bool?, + satisfiesPzi: json_['satisfiesPzi'] as core.bool?, satisfiesPzs: json_['satisfiesPzs'] as core.bool?, serviceAccount: json_['serviceAccount'] as core.String?, serviceEndpoint: json_['serviceEndpoint'] as core.String?, @@ -1725,6 +1756,8 @@ class Instance { 'eventPublishConfig': eventPublishConfig!, if (gcsBucket != null) 'gcsBucket': gcsBucket!, if (labels != null) 'labels': labels!, + if (loggingConfig != null) 'loggingConfig': loggingConfig!, + if (maintenanceEvents != null) 'maintenanceEvents': maintenanceEvents!, if (maintenancePolicy != null) 'maintenancePolicy': maintenancePolicy!, if (name != null) 'name': name!, if (networkConfig != null) 'networkConfig': networkConfig!, @@ -1732,6 +1765,7 @@ class Instance { if (p4ServiceAccount != null) 'p4ServiceAccount': p4ServiceAccount!, if (patchRevision != null) 'patchRevision': patchRevision!, if (privateInstance != null) 'privateInstance': privateInstance!, + if (satisfiesPzi != null) 'satisfiesPzi': satisfiesPzi!, if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, if (serviceAccount != null) 'serviceAccount': serviceAccount!, if (serviceEndpoint != null) 'serviceEndpoint': serviceEndpoint!, @@ -1916,6 +1950,81 @@ class ListOperationsResponse { /// A resource that represents a Google Cloud location. typedef Location = $Location00; +/// Logging configuration for a Data Fusion instance. +class LoggingConfig { + /// Option to determine whether instance logs should be written to Cloud + /// Logging. + /// + /// By default, instance logs are written to Cloud Logging. + /// + /// Optional. + core.bool? instanceCloudLoggingDisabled; + + LoggingConfig({ + this.instanceCloudLoggingDisabled, + }); + + LoggingConfig.fromJson(core.Map json_) + : this( + instanceCloudLoggingDisabled: + json_['instanceCloudLoggingDisabled'] as core.bool?, + ); + + core.Map toJson() => { + if (instanceCloudLoggingDisabled != null) + 'instanceCloudLoggingDisabled': instanceCloudLoggingDisabled!, + }; +} + +/// Represents a maintenance event. +class MaintenanceEvent { + /// The end time of the maintenance event provided in + /// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. + /// + /// Example: "2024-01-02T12:04:06-06:00" This field will be empty if the + /// maintenance event is not yet complete. + /// + /// Output only. + core.String? endTime; + + /// The start time of the maintenance event provided in + /// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. + /// + /// Example: "2024-01-01T12:04:06-04:00" + /// + /// Output only. + core.String? startTime; + + /// The state of the maintenance event. + /// + /// Output only. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : The state of the maintenance event is unspecified. + /// - "SCHEDULED" : The maintenance is scheduled but has not started. + /// - "STARTED" : The maintenance has been started. + /// - "COMPLETED" : The maintenance has been completed. + core.String? state; + + MaintenanceEvent({ + this.endTime, + this.startTime, + this.state, + }); + + MaintenanceEvent.fromJson(core.Map json_) + : this( + endTime: json_['endTime'] as core.String?, + startTime: json_['startTime'] as core.String?, + state: json_['state'] as core.String?, + ); + + core.Map toJson() => { + if (endTime != null) 'endTime': endTime!, + if (startTime != null) 'startTime': startTime!, + if (state != null) 'state': state!, + }; +} + /// Maintenance policy of the instance. class MaintenancePolicy { /// The maintenance exclusion window of the instance. diff --git a/generated/googleapis/lib/datalineage/v1.dart b/generated/googleapis/lib/datalineage/v1.dart index 359bb2329..fee012cf7 100644 --- a/generated/googleapis/lib/datalineage/v1.dart +++ b/generated/googleapis/lib/datalineage/v1.dart @@ -1181,8 +1181,8 @@ class GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesResponse { /// The soft reference to everything you can attach a lineage event to. class GoogleCloudDatacatalogLineageV1EntityReference { /// \[Fully Qualified Name - /// (FQN)\](https://cloud.google.com/data-catalog/docs/fully-qualified-names) - /// of the entity. + /// (FQN)\](https://cloud.google.com/dataplex/docs/fully-qualified-names) of + /// the entity. /// /// Required. core.String? fullyQualifiedName; @@ -1456,8 +1456,8 @@ class GoogleCloudDatacatalogLineageV1ListRunsResponse { /// Origin of a process. class GoogleCloudDatacatalogLineageV1Origin { - /// If the source_type isn't CUSTOM, the value of this field should be a GCP - /// resource name of the system, which reports lineage. + /// If the source_type isn't CUSTOM, the value of this field should be a + /// Google Cloud resource name of the system, which reports lineage. /// /// The project and location parts of the resource name must match the project /// and location of the lineage resource being created. Examples: - diff --git a/generated/googleapis/lib/datamigration/v1.dart b/generated/googleapis/lib/datamigration/v1.dart index 823805693..9c48f54ba 100644 --- a/generated/googleapis/lib/datamigration/v1.dart +++ b/generated/googleapis/lib/datamigration/v1.dart @@ -1016,11 +1016,13 @@ class ProjectsLocationsConversionWorkspacesResource { /// - "DATABASE_ENTITY_VIEW_FULL" : Return full entity details including /// mappings, ddl and issues. /// - "DATABASE_ENTITY_VIEW_ROOT_SUMMARY" : Top-most (Database, Schema) nodes - /// which are returned contains summary details for their decendents such as + /// which are returned contains summary details for their descendants such as /// the number of entities per type and issues rollups. When this view is /// used, only a single page of result is returned and the page_size property /// of the request is ignored. The returned page will only include the /// top-most node types. + /// - "DATABASE_ENTITY_VIEW_FULL_COMPACT" : Returns full entity details except + /// for ddls and schema custom features. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -4181,16 +4183,32 @@ class CloudSqlSettings { /// Optional. DataCacheConfig? dataCacheConfig; + /// Provisioned number of I/O operations per second for the data disk. + /// + /// This field is only used for hyperdisk-balanced disk types. + /// + /// Optional. + core.String? dataDiskProvisionedIops; + + /// Provisioned throughput measured in MiB per second for the data disk. + /// + /// This field is only used for hyperdisk-balanced disk types. + /// + /// Optional. + core.String? dataDiskProvisionedThroughput; + /// The storage capacity available to the database, in GB. /// /// The minimum (and default) size is 10GB. core.String? dataDiskSizeGb; - /// The type of storage: `PD_SSD` (default) or `PD_HDD`. + /// The type of storage: `PD_SSD` (default) or `PD_HDD` or + /// `HYPERDISK_BALANCED`. /// Possible string values are: /// - "SQL_DATA_DISK_TYPE_UNSPECIFIED" : Unspecified. /// - "PD_SSD" : SSD disk. /// - "PD_HDD" : HDD disk. + /// - "HYPERDISK_BALANCED" : A Hyperdisk Balanced data disk. core.String? dataDiskType; /// The database flags passed to the Cloud SQL instance at startup. @@ -4317,6 +4335,8 @@ class CloudSqlSettings { this.cmekKeyName, this.collation, this.dataCacheConfig, + this.dataDiskProvisionedIops, + this.dataDiskProvisionedThroughput, this.dataDiskSizeGb, this.dataDiskType, this.databaseFlags, @@ -4345,6 +4365,10 @@ class CloudSqlSettings { ? DataCacheConfig.fromJson(json_['dataCacheConfig'] as core.Map) : null, + dataDiskProvisionedIops: + json_['dataDiskProvisionedIops'] as core.String?, + dataDiskProvisionedThroughput: + json_['dataDiskProvisionedThroughput'] as core.String?, dataDiskSizeGb: json_['dataDiskSizeGb'] as core.String?, dataDiskType: json_['dataDiskType'] as core.String?, databaseFlags: @@ -4388,6 +4412,10 @@ class CloudSqlSettings { if (cmekKeyName != null) 'cmekKeyName': cmekKeyName!, if (collation != null) 'collation': collation!, if (dataCacheConfig != null) 'dataCacheConfig': dataCacheConfig!, + if (dataDiskProvisionedIops != null) + 'dataDiskProvisionedIops': dataDiskProvisionedIops!, + if (dataDiskProvisionedThroughput != null) + 'dataDiskProvisionedThroughput': dataDiskProvisionedThroughput!, if (dataDiskSizeGb != null) 'dataDiskSizeGb': dataDiskSizeGb!, if (dataDiskType != null) 'dataDiskType': dataDiskType!, if (databaseFlags != null) 'databaseFlags': databaseFlags!, @@ -4429,6 +4457,9 @@ class ColumnEntity { /// Comment associated with the column. core.String? comment; + /// Is the column a computed column. + core.bool? computed; + /// Custom engine specific features. /// /// The values for Object must be JSON objects. It can consist of `num`, @@ -4477,6 +4508,7 @@ class ColumnEntity { this.charset, this.collation, this.comment, + this.computed, this.customFeatures, this.dataType, this.defaultValue, @@ -4499,6 +4531,7 @@ class ColumnEntity { charset: json_['charset'] as core.String?, collation: json_['collation'] as core.String?, comment: json_['comment'] as core.String?, + computed: json_['computed'] as core.bool?, customFeatures: json_.containsKey('customFeatures') ? json_['customFeatures'] as core.Map : null, @@ -4525,6 +4558,7 @@ class ColumnEntity { if (charset != null) 'charset': charset!, if (collation != null) 'collation': collation!, if (comment != null) 'comment': comment!, + if (computed != null) 'computed': computed!, if (customFeatures != null) 'customFeatures': customFeatures!, if (dataType != null) 'dataType': dataType!, if (defaultValue != null) 'defaultValue': defaultValue!, @@ -4683,6 +4717,7 @@ class ConnectionProfile { /// - "RDS" : Amazon RDS is the source instance provider. /// - "AURORA" : Amazon Aurora is the source instance provider. /// - "ALLOYDB" : AlloyDB for PostgreSQL is the source instance provider. + /// - "AZURE_DATABASE" : Microsoft Azure Database for MySQL/PostgreSQL. core.String? provider; /// The connection profile role. @@ -4694,6 +4729,16 @@ class ConnectionProfile { /// - "DESTINATION" : The role is destination. core.String? role; + /// Reserved for future use. + /// + /// Output only. + core.bool? satisfiesPzi; + + /// Reserved for future use. + /// + /// Output only. + core.bool? satisfiesPzs; + /// Connection profile for a SQL Server data source. SqlServerConnectionProfile? sqlserver; @@ -4730,6 +4775,8 @@ class ConnectionProfile { this.postgresql, this.provider, this.role, + this.satisfiesPzi, + this.satisfiesPzs, this.sqlserver, this.state, this.updateTime, @@ -4773,6 +4820,8 @@ class ConnectionProfile { : null, provider: json_['provider'] as core.String?, role: json_['role'] as core.String?, + satisfiesPzi: json_['satisfiesPzi'] as core.bool?, + satisfiesPzs: json_['satisfiesPzs'] as core.bool?, sqlserver: json_.containsKey('sqlserver') ? SqlServerConnectionProfile.fromJson( json_['sqlserver'] as core.Map) @@ -4794,6 +4843,8 @@ class ConnectionProfile { if (postgresql != null) 'postgresql': postgresql!, if (provider != null) 'provider': provider!, if (role != null) 'role': role!, + if (satisfiesPzi != null) 'satisfiesPzi': satisfiesPzi!, + if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, if (sqlserver != null) 'sqlserver': sqlserver!, if (state != null) 'state': state!, if (updateTime != null) 'updateTime': updateTime!, @@ -5393,6 +5444,7 @@ class DatabaseType { /// - "RDS" : Amazon RDS is the source instance provider. /// - "AURORA" : Amazon Aurora is the source instance provider. /// - "ALLOYDB" : AlloyDB for PostgreSQL is the source instance provider. + /// - "AZURE_DATABASE" : Microsoft Azure Database for MySQL/PostgreSQL. core.String? provider; DatabaseType({ @@ -5571,9 +5623,31 @@ class EntityDdl { /// The actual ddl code. core.String? ddl; + /// The DDL Kind selected for apply, or UNSPECIFIED if the entity wasn't + /// converted yet. + /// Possible string values are: + /// - "DDL_KIND_UNSPECIFIED" : The kind of the DDL is unknown. + /// - "SOURCE" : DDL of the source entity + /// - "DETERMINISTIC" : Deterministic converted DDL + /// - "AI" : Gemini AI converted DDL + /// - "USER_EDIT" : User edited DDL + core.String? ddlKind; + /// Type of DDL (Create, Alter). core.String? ddlType; + /// If ddl_kind is USER_EDIT, this holds the DDL kind of the original content + /// - DETERMINISTIC or AI. + /// + /// Otherwise, this is DDL_KIND_UNSPECIFIED. + /// Possible string values are: + /// - "DDL_KIND_UNSPECIFIED" : The kind of the DDL is unknown. + /// - "SOURCE" : DDL of the source entity + /// - "DETERMINISTIC" : Deterministic converted DDL + /// - "AI" : Gemini AI converted DDL + /// - "USER_EDIT" : User edited DDL + core.String? editedDdlKind; + /// The name of the database entity the ddl refers to. core.String? entity; @@ -5602,7 +5676,9 @@ class EntityDdl { EntityDdl({ this.ddl, + this.ddlKind, this.ddlType, + this.editedDdlKind, this.entity, this.entityType, this.issueId, @@ -5611,7 +5687,9 @@ class EntityDdl { EntityDdl.fromJson(core.Map json_) : this( ddl: json_['ddl'] as core.String?, + ddlKind: json_['ddlKind'] as core.String?, ddlType: json_['ddlType'] as core.String?, + editedDdlKind: json_['editedDdlKind'] as core.String?, entity: json_['entity'] as core.String?, entityType: json_['entityType'] as core.String?, issueId: (json_['issueId'] as core.List?) @@ -5621,7 +5699,9 @@ class EntityDdl { core.Map toJson() => { if (ddl != null) 'ddl': ddl!, + if (ddlKind != null) 'ddlKind': ddlKind!, if (ddlType != null) 'ddlType': ddlType!, + if (editedDdlKind != null) 'editedDdlKind': editedDdlKind!, if (entity != null) 'entity': entity!, if (entityType != null) 'entityType': entityType!, if (issueId != null) 'issueId': issueId!, @@ -7116,6 +7196,16 @@ class MigrationJob { /// connectivity. ReverseSshConnectivity? reverseSshConnectivity; + /// Reserved for future use. + /// + /// Output only. + core.bool? satisfiesPzi; + + /// Reserved for future use. + /// + /// Output only. + core.bool? satisfiesPzs; + /// The resource name (URI) of the source connection profile. /// /// Required. @@ -7195,6 +7285,8 @@ class MigrationJob { this.performanceConfig, this.phase, this.reverseSshConnectivity, + this.satisfiesPzi, + this.satisfiesPzs, this.source, this.sourceDatabase, this.sqlserverHomogeneousMigrationJobConfig, @@ -7257,6 +7349,8 @@ class MigrationJob { ? ReverseSshConnectivity.fromJson(json_['reverseSshConnectivity'] as core.Map) : null, + satisfiesPzi: json_['satisfiesPzi'] as core.bool?, + satisfiesPzs: json_['satisfiesPzs'] as core.bool?, source: json_['source'] as core.String?, sourceDatabase: json_.containsKey('sourceDatabase') ? DatabaseType.fromJson(json_['sourceDatabase'] @@ -7306,6 +7400,8 @@ class MigrationJob { if (phase != null) 'phase': phase!, if (reverseSshConnectivity != null) 'reverseSshConnectivity': reverseSshConnectivity!, + if (satisfiesPzi != null) 'satisfiesPzi': satisfiesPzi!, + if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, if (source != null) 'source': source!, if (sourceDatabase != null) 'sourceDatabase': sourceDatabase!, if (sqlserverHomogeneousMigrationJobConfig != null) @@ -8569,6 +8665,16 @@ class PrivateConnection { /// The name of the resource. core.String? name; + /// Reserved for future use. + /// + /// Output only. + core.bool? satisfiesPzi; + + /// Reserved for future use. + /// + /// Output only. + core.bool? satisfiesPzs; + /// The state of the private connection. /// /// Output only. @@ -8599,6 +8705,8 @@ class PrivateConnection { this.error, this.labels, this.name, + this.satisfiesPzi, + this.satisfiesPzs, this.state, this.updateTime, this.vpcPeeringConfig, @@ -8620,6 +8728,8 @@ class PrivateConnection { ), ), name: json_['name'] as core.String?, + satisfiesPzi: json_['satisfiesPzi'] as core.bool?, + satisfiesPzs: json_['satisfiesPzs'] as core.bool?, state: json_['state'] as core.String?, updateTime: json_['updateTime'] as core.String?, vpcPeeringConfig: json_.containsKey('vpcPeeringConfig') @@ -8634,6 +8744,8 @@ class PrivateConnection { if (error != null) 'error': error!, if (labels != null) 'labels': labels!, if (name != null) 'name': name!, + if (satisfiesPzi != null) 'satisfiesPzi': satisfiesPzi!, + if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, if (state != null) 'state': state!, if (updateTime != null) 'updateTime': updateTime!, if (vpcPeeringConfig != null) 'vpcPeeringConfig': vpcPeeringConfig!, @@ -9423,6 +9535,8 @@ class SourceNumericFilter { /// Config for a single migration job object. class SourceObjectConfig { /// The object identifier. + /// + /// Optional. SourceObjectIdentifier? objectIdentifier; SourceObjectConfig({ @@ -9448,6 +9562,8 @@ class SourceObjectIdentifier { /// /// This will be required only if the object uses a database name as part of /// its unique identifier. + /// + /// Optional. core.String? database; /// The type of the migration job object. @@ -9479,6 +9595,8 @@ class SourceObjectIdentifier { /// List of configurations for the source objects to be migrated. class SourceObjectsConfig { /// The list of the objects to be migrated. + /// + /// Optional. core.List? objectConfigs; /// The objects selection type of the migration job. diff --git a/generated/googleapis/lib/dataplex/v1.dart b/generated/googleapis/lib/dataplex/v1.dart index a11c6697c..019df838b 100644 --- a/generated/googleapis/lib/dataplex/v1.dart +++ b/generated/googleapis/lib/dataplex/v1.dart @@ -590,13 +590,7 @@ class ProjectsLocationsResource { response_ as core.Map); } - /// Looks up a single Entry by name using the permission on the source - /// system.Caution: The BigQuery metadata that is stored in Dataplex Catalog - /// is changing. - /// - /// For more information, see Changes to BigQuery metadata stored in Dataplex - /// Catalog - /// (https://cloud.google.com/dataplex/docs/biqquery-metadata-changes). + /// Looks up an entry by name using the permission on the source system. /// /// Request parameters: /// @@ -671,8 +665,8 @@ class ProjectsLocationsResource { /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. /// /// [orderBy] - Optional. Specifies the ordering of results. Supported values - /// are: * relevance (default) * last_modified_timestamp * - /// last_modified_timestamp asc + /// are: relevance (default) last_modified_timestamp last_modified_timestamp + /// asc /// /// [pageSize] - Optional. Number of results in the search page. If \<=0, then /// defaults to 10. Max limit for page_size is 1000. Throws an invalid @@ -1179,6 +1173,9 @@ class ProjectsLocationsDataAttributeBindingsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future create( GoogleCloudDataplexV1DataAttributeBinding request, core.String parent, { @@ -1234,6 +1231,9 @@ class ProjectsLocationsDataAttributeBindingsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future delete( core.String name, { core.String? etag, @@ -1274,6 +1274,9 @@ class ProjectsLocationsDataAttributeBindingsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future get( core.String name, { core.String? $fields, @@ -1387,6 +1390,9 @@ class ProjectsLocationsDataAttributeBindingsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future list( core.String parent, { core.String? filter, @@ -1442,6 +1448,9 @@ class ProjectsLocationsDataAttributeBindingsResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future patch( GoogleCloudDataplexV1DataAttributeBinding request, core.String name, { @@ -2281,9 +2290,7 @@ class ProjectsLocationsDataTaxonomiesResource { /// /// Request parameters: /// - /// [parent] - Required. The resource name of the data taxonomy location, of - /// the form: projects/{project_number}/locations/{location_id} where - /// location_id refers to a GCP region. + /// [parent] - null /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. /// /// [dataTaxonomyId] - Required. DataTaxonomy identifier. * Must contain only @@ -2304,6 +2311,9 @@ class ProjectsLocationsDataTaxonomiesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future create( GoogleCloudDataplexV1DataTaxonomy request, core.String parent, { @@ -2355,6 +2365,9 @@ class ProjectsLocationsDataTaxonomiesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future delete( core.String name, { core.String? etag, @@ -2380,8 +2393,7 @@ class ProjectsLocationsDataTaxonomiesResource { /// /// Request parameters: /// - /// [name] - Required. The resource name of the DataTaxonomy: - /// projects/{project_number}/locations/{location_id}/dataTaxonomies/{data_taxonomy_id} + /// [name] - null /// Value must have pattern /// `^projects/\[^/\]+/locations/\[^/\]+/dataTaxonomies/\[^/\]+$`. /// @@ -2395,6 +2407,9 @@ class ProjectsLocationsDataTaxonomiesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future get( core.String name, { core.String? $fields, @@ -2505,6 +2520,9 @@ class ProjectsLocationsDataTaxonomiesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future list( core.String parent, { core.String? filter, @@ -2559,6 +2577,9 @@ class ProjectsLocationsDataTaxonomiesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future patch( GoogleCloudDataplexV1DataTaxonomy request, core.String name, { @@ -2720,6 +2741,9 @@ class ProjectsLocationsDataTaxonomiesAttributesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future create( GoogleCloudDataplexV1DataAttribute request, core.String parent, { @@ -2769,6 +2793,9 @@ class ProjectsLocationsDataTaxonomiesAttributesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future delete( core.String name, { core.String? etag, @@ -2809,6 +2836,9 @@ class ProjectsLocationsDataTaxonomiesAttributesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future get( core.String name, { core.String? $fields, @@ -2919,6 +2949,9 @@ class ProjectsLocationsDataTaxonomiesAttributesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future list( core.String parent, { core.String? filter, @@ -2973,6 +3006,9 @@ class ProjectsLocationsDataTaxonomiesAttributesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) async.Future patch( GoogleCloudDataplexV1DataAttribute request, core.String name, { @@ -3616,12 +3652,7 @@ class ProjectsLocationsEntryGroupsEntriesResource { response_ as core.Map); } - /// Gets an Entry.Caution: The BigQuery metadata that is stored in Dataplex - /// Catalog is changing. - /// - /// For more information, see Changes to BigQuery metadata stored in Dataplex - /// Catalog - /// (https://cloud.google.com/dataplex/docs/biqquery-metadata-changes). + /// Gets an Entry. /// /// Request parameters: /// @@ -11290,6 +11321,28 @@ class GoogleCloudDataplexV1DataDiscoverySpecBigQueryPublishingConfig { /// Optional. core.String? connection; + /// The location of the BigQuery dataset to publish BigLake external or + /// non-BigLake external tables to. + /// + /// 1. If the Cloud Storage bucket is located in a multi-region bucket, then + /// BigQuery dataset can be in the same multi-region bucket or any single + /// region that is included in the same multi-region bucket. The datascan can + /// be created in any single region that is included in the same multi-region + /// bucket 2. If the Cloud Storage bucket is located in a dual-region bucket, + /// then BigQuery dataset can be located in regions that are included in the + /// dual-region bucket, or in a multi-region that includes the dual-region. + /// The datascan can be created in any single region that is included in the + /// same dual-region bucket. 3. If the Cloud Storage bucket is located in a + /// single region, then BigQuery dataset can be in the same single region or + /// any multi-region bucket that includes the same single region. The datascan + /// will be created in the same single region as the bucket. 4. If the + /// BigQuery dataset is in single region, it must be in the same single region + /// as the datascan.For supported values, refer to + /// https://cloud.google.com/bigquery/docs/locations#supported_locations. + /// + /// Optional. + core.String? location; + /// Determines whether to publish discovered tables as BigLake external tables /// or non-BigLake external tables. /// @@ -11306,6 +11359,7 @@ class GoogleCloudDataplexV1DataDiscoverySpecBigQueryPublishingConfig { GoogleCloudDataplexV1DataDiscoverySpecBigQueryPublishingConfig({ this.connection, + this.location, this.tableType, }); @@ -11313,11 +11367,13 @@ class GoogleCloudDataplexV1DataDiscoverySpecBigQueryPublishingConfig { core.Map json_) : this( connection: json_['connection'] as core.String?, + location: json_['location'] as core.String?, tableType: json_['tableType'] as core.String?, ); core.Map toJson() => { if (connection != null) 'connection': connection!, + if (location != null) 'location': location!, if (tableType != null) 'tableType': tableType!, }; } @@ -11948,7 +12004,9 @@ class GoogleCloudDataplexV1DataProfileSpec { /// A filter applied to all rows in a single DataScan job. /// /// The filter needs to be a valid SQL expression for a WHERE clause in - /// BigQuery standard SQL syntax. Example: col1 \>= 0 AND col2 \< 10 + /// GoogleSQL syntax + /// (https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#where_clause).Example: + /// col1 \>= 0 AND col2 \< 10 /// /// Optional. core.String? rowFilter; @@ -12587,7 +12645,7 @@ class GoogleCloudDataplexV1DataQualityRuleResult { /// for row-level type rules.Evaluated count can be configured to either /// include all rows (default) - with null rows automatically failing rule /// evaluation, or exclude null rows from the evaluated_count, by setting - /// ignore_nulls = true. + /// ignore_nulls = true.This field is not set for rule SqlAssertion. core.String? evaluatedCount; /// The query to find rows that did not pass this rule.This field is only @@ -12604,8 +12662,7 @@ class GoogleCloudDataplexV1DataQualityRuleResult { /// Whether the rule passed or failed. core.bool? passed; - /// The number of rows which passed a rule evaluation.This field is only valid - /// for row-level type rules. + /// This field is not set for rule SqlAssertion. core.String? passedCount; /// The rule specified in the DataQualitySpec, as is. @@ -12650,8 +12707,10 @@ class GoogleCloudDataplexV1DataQualityRuleResult { } /// Evaluates whether each row passes the specified condition.The SQL expression -/// needs to use BigQuery standard SQL syntax and should produce a boolean value -/// per row as the result.Example: col1 \>= 0 AND col2 \< 10 +/// needs to use GoogleSQL syntax +/// (https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax) +/// and should produce a boolean value per row as the result.Example: col1 \>= 0 +/// AND col2 \< 10 typedef GoogleCloudDataplexV1DataQualityRuleRowConditionExpectation = $ConditionExpectation; @@ -12682,11 +12741,13 @@ class GoogleCloudDataplexV1DataQualityRuleSetExpectation { /// state. /// /// If any rows are are returned, this rule fails.The SQL statement must use -/// BigQuery standard SQL syntax, and must not contain any semicolons.You can -/// use the data reference parameter ${data()} to reference the source table -/// with all of its precondition filters applied. Examples of precondition -/// filters include row filters, incremental data filters, and sampling. For -/// more information, see Data reference parameter +/// GoogleSQL syntax +/// (https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax), +/// and must not contain any semicolons.You can use the data reference parameter +/// ${data()} to reference the source table with all of its precondition filters +/// applied. Examples of precondition filters include row filters, incremental +/// data filters, and sampling. For more information, see Data reference +/// parameter /// (https://cloud.google.com/dataplex/docs/auto-data-quality-overview#data-reference-parameter).Example: /// SELECT * FROM ${data()} WHERE price \< 0 class GoogleCloudDataplexV1DataQualityRuleSqlAssertion { @@ -12780,8 +12841,9 @@ class GoogleCloudDataplexV1DataQualityRuleStatisticRangeExpectation { } /// Evaluates whether the provided expression is true.The SQL expression needs -/// to use BigQuery standard SQL syntax and should produce a scalar boolean -/// result.Example: MIN(col1) \>= 0 +/// to use GoogleSQL syntax +/// (https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax) +/// and should produce a scalar boolean result.Example: MIN(col1) \>= 0 typedef GoogleCloudDataplexV1DataQualityRuleTableConditionExpectation = $ConditionExpectation; @@ -12798,7 +12860,9 @@ class GoogleCloudDataplexV1DataQualitySpec { /// A filter applied to all rows in a single DataScan job. /// /// The filter needs to be a valid SQL expression for a WHERE clause in - /// BigQuery standard SQL syntax. Example: col1 \>= 0 AND col2 \< 10 + /// GoogleSQL syntax + /// (https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#where_clause).Example: + /// col1 \>= 0 AND col2 \< 10 /// /// Optional. core.String? rowFilter; @@ -13041,12 +13105,18 @@ class GoogleCloudDataplexV1DataQualitySpecPostScanActionsScoreThresholdTrigger { } /// Represents a user-visible job which provides the insights for the related -/// data source.For example: Data Quality: generates queries based on the rules +/// data source.For example: Data quality: generates queries based on the rules /// and runs against the data to get data quality check results. /// -/// Data Profile: analyzes the data in table(s) and generates insights about the +/// For more information, see Auto data quality overview +/// (https://cloud.google.com/dataplex/docs/auto-data-quality-overview). Data +/// profile: analyzes the data in tables and generates insights about the /// structure, content and relationships (such as null percent, cardinality, -/// min/max/mean, etc). +/// min/max/mean, etc). For more information, see About data profiling +/// (https://cloud.google.com/dataplex/docs/data-profiling-overview). Data +/// discovery: scans data in Cloud Storage buckets to extract and then catalog +/// metadata. For more information, see Discover and catalog Cloud Storage data +/// (https://cloud.google.com/bigquery/docs/automatic-discovery). class GoogleCloudDataplexV1DataScan { /// The time when the scan was created. /// @@ -13974,7 +14044,8 @@ class GoogleCloudDataplexV1Entry { /// projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}. core.String? name; - /// The resource name of the parent entry. + /// The resource name of the parent entry, in the format + /// projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}. /// /// Optional. Immutable. core.String? parentEntry; @@ -16078,42 +16149,51 @@ class GoogleCloudDataplexV1MetadataJobImportJobResult { }; } -/// Job specification for a metadata import job +/// Job specification for a metadata import job.You can run the following kinds +/// of metadata import jobs: Full sync of entries with incremental import of +/// their aspects. +/// +/// Supported for custom entries. Incremental import of aspects only. Supported +/// for aspects that belong to custom entries and system entries. For custom +/// entries, you can modify both optional aspects and required aspects. For +/// system entries, you can modify optional aspects. class GoogleCloudDataplexV1MetadataJobImportJobSpec { /// The sync mode for aspects. /// - /// Only INCREMENTAL mode is supported for aspects. An aspect is modified only - /// if the metadata import file includes a reference to the aspect in the - /// update_mask field and the aspect_keys field. - /// /// Required. /// Possible string values are: /// - "SYNC_MODE_UNSPECIFIED" : Sync mode unspecified. /// - "FULL" : All resources in the job's scope are modified. If a resource /// exists in Dataplex but isn't included in the metadata import file, the /// resource is deleted when you run the metadata job. Use this mode to - /// perform a full sync of the set of entries in the job scope. - /// - "INCREMENTAL" : Only the entries and aspects that are explicitly - /// included in the metadata import file are modified. Use this mode to modify - /// a subset of resources while leaving unreferenced resources unchanged. + /// perform a full sync of the set of entries in the job scope.This sync mode + /// is supported for entries. + /// - "INCREMENTAL" : Only the resources that are explicitly included in the + /// metadata import file are modified. Use this mode to modify a subset of + /// resources while leaving unreferenced resources unchanged.This sync mode is + /// supported for aspects. + /// - "NONE" : If entry sync mode is NONE, then aspects are modified according + /// to the aspect sync mode. Other metadata that belongs to entries in the + /// job's scope isn't modified.This sync mode is supported for entries. core.String? aspectSyncMode; /// The sync mode for entries. /// - /// Only FULL mode is supported for entries. All entries in the job's scope - /// are modified. If an entry exists in Dataplex but isn't included in the - /// metadata import file, the entry is deleted when you run the metadata job. - /// /// Required. /// Possible string values are: /// - "SYNC_MODE_UNSPECIFIED" : Sync mode unspecified. /// - "FULL" : All resources in the job's scope are modified. If a resource /// exists in Dataplex but isn't included in the metadata import file, the /// resource is deleted when you run the metadata job. Use this mode to - /// perform a full sync of the set of entries in the job scope. - /// - "INCREMENTAL" : Only the entries and aspects that are explicitly - /// included in the metadata import file are modified. Use this mode to modify - /// a subset of resources while leaving unreferenced resources unchanged. + /// perform a full sync of the set of entries in the job scope.This sync mode + /// is supported for entries. + /// - "INCREMENTAL" : Only the resources that are explicitly included in the + /// metadata import file are modified. Use this mode to modify a subset of + /// resources while leaving unreferenced resources unchanged.This sync mode is + /// supported for aspects. + /// - "NONE" : If entry sync mode is NONE, then aspects are modified according + /// to the aspect sync mode. Other metadata that belongs to entries in the + /// job's scope isn't modified.This sync mode is supported for entries. core.String? entrySyncMode; /// The level of logs to write to Cloud Logging for this job.Debug-level logs @@ -16206,11 +16286,12 @@ class GoogleCloudDataplexV1MetadataJobImportJobSpecImportJobScope { /// relative resource names in the format /// projects/{project_number_or_id}/locations/{location_id}/aspectTypes/{aspect_type_id}. /// - /// The job modifies only the aspects that belong to these aspect types.If the - /// metadata import file attempts to modify an aspect whose type isn't - /// included in this list, the import job is halted before modifying any - /// entries or aspects.The location of an aspect type must either match the - /// location of the job, or the aspect type must be global. + /// The job modifies only the aspects that belong to these aspect types.This + /// field is required when creating an aspect-only import job.If the metadata + /// import file attempts to modify an aspect whose type isn't included in this + /// list, the import job is halted before modifying any entries or aspects.The + /// location of an aspect type must either match the location of the job, or + /// the aspect type must be global. /// /// Optional. core.List? aspectTypes; @@ -16219,9 +16300,9 @@ class GoogleCloudDataplexV1MetadataJobImportJobSpecImportJobScope { /// relative resource name in the format /// projects/{project_number_or_id}/locations/{location_id}/entryGroups/{entry_group_id}. /// - /// Only entries that belong to the specified entry group are affected by the - /// job.Must contain exactly one element. The entry group and the job must be - /// in the same location. + /// Only entries and aspects that belong to the specified entry group are + /// affected by the job.Must contain exactly one element. The entry group and + /// the job must be in the same location. /// /// Required. core.List? entryGroups; @@ -16230,11 +16311,11 @@ class GoogleCloudDataplexV1MetadataJobImportJobSpecImportJobScope { /// relative resource names in the format /// projects/{project_number_or_id}/locations/{location_id}/entryTypes/{entry_type_id}. /// - /// The job modifies only the entries that belong to these entry types.If the - /// metadata import file attempts to modify an entry whose type isn't included - /// in this list, the import job is halted before modifying any entries or - /// aspects.The location of an entry type must either match the location of - /// the job, or the entry type must be global. + /// The job modifies only the entries and aspects that belong to these entry + /// types.If the metadata import file attempts to modify an entry whose type + /// isn't included in this list, the import job is halted before modifying any + /// entries or aspects.The location of an entry type must either match the + /// location of the job, or the entry type must be global. /// /// Required. core.List? entryTypes; diff --git a/generated/googleapis/lib/dataportability/v1.dart b/generated/googleapis/lib/dataportability/v1.dart index 3dc218fdb..afb4d64bf 100644 --- a/generated/googleapis/lib/dataportability/v1.dart +++ b/generated/googleapis/lib/dataportability/v1.dart @@ -23,6 +23,7 @@ /// /// Create an instance of [DataPortabilityApi] to access these resources: /// +/// - [AccessTypeResource] /// - [ArchiveJobsResource] /// - [AuthorizationResource] /// - [PortabilityArchiveResource] @@ -47,280 +48,284 @@ export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' /// /// This enables data portability and facilitates switching services. class DataPortabilityApi { - /// Move a copy of the Google Alerts subscriptions you created. + /// Move a copy of the Google Alerts subscriptions you created static const dataportabilityAlertsSubscriptionsScope = 'https://www.googleapis.com/auth/dataportability.alerts.subscriptions'; /// Move a copy of messages between you and the businesses you have - /// conversations with across Google services. + /// conversations with across Google services static const dataportabilityBusinessmessagingConversationsScope = 'https://www.googleapis.com/auth/dataportability.businessmessaging.conversations'; - /// Move a copy of the information you entered into online forms in Chrome. + /// Move a copy of the information you entered into online forms in Chrome static const dataportabilityChromeAutofillScope = 'https://www.googleapis.com/auth/dataportability.chrome.autofill'; - /// Move a copy of pages you bookmarked in Chrome. + /// Move a copy of pages you bookmarked in Chrome static const dataportabilityChromeBookmarksScope = 'https://www.googleapis.com/auth/dataportability.chrome.bookmarks'; - /// Move a copy of words you added to Chrome's dictionary. + /// Move a copy of words you added to Chrome's dictionary static const dataportabilityChromeDictionaryScope = 'https://www.googleapis.com/auth/dataportability.chrome.dictionary'; - /// Move a copy of extensions you installed from the Chrome Web Store. + /// Move a copy of extensions you installed from the Chrome Web Store static const dataportabilityChromeExtensionsScope = 'https://www.googleapis.com/auth/dataportability.chrome.extensions'; - /// Move a copy of sites you visited in Chrome. + /// Move a copy of sites you visited in Chrome static const dataportabilityChromeHistoryScope = 'https://www.googleapis.com/auth/dataportability.chrome.history'; - /// Move a copy of pages you added to your reading list in Chrome. + /// Move a copy of pages you added to your reading list in Chrome static const dataportabilityChromeReadingListScope = 'https://www.googleapis.com/auth/dataportability.chrome.reading_list'; - /// Move a copy of your settings in Chrome. + /// Move a copy of your settings in Chrome static const dataportabilityChromeSettingsScope = 'https://www.googleapis.com/auth/dataportability.chrome.settings'; - /// Move a copy of searches and sites you follow, saved by Discover. + /// Move a copy of searches and sites you follow, saved by Discover static const dataportabilityDiscoverFollowsScope = 'https://www.googleapis.com/auth/dataportability.discover.follows'; - /// Move a copy of links to your liked documents, saved by Discover. + /// Move a copy of links to your liked documents, saved by Discover static const dataportabilityDiscoverLikesScope = 'https://www.googleapis.com/auth/dataportability.discover.likes'; - /// Move a copy of content you marked as not interested, saved by Discover. + /// Move a copy of content you marked as not interested, saved by Discover static const dataportabilityDiscoverNotInterestedScope = 'https://www.googleapis.com/auth/dataportability.discover.not_interested'; - /// Move a copy of the places you labeled on Maps. + /// Move a copy of the places you labeled on Maps static const dataportabilityMapsAliasedPlacesScope = 'https://www.googleapis.com/auth/dataportability.maps.aliased_places'; - /// Move a copy of your pinned trips on Maps. + /// Move a copy of your pinned trips on Maps static const dataportabilityMapsCommuteRoutesScope = 'https://www.googleapis.com/auth/dataportability.maps.commute_routes'; - /// Move a copy of your commute settings on Maps. + /// Move a copy of your commute settings on Maps static const dataportabilityMapsCommuteSettingsScope = 'https://www.googleapis.com/auth/dataportability.maps.commute_settings'; - /// Move a copy of your electric vehicle profile on Maps. + /// Move a copy of your electric vehicle profile on Maps static const dataportabilityMapsEvProfileScope = 'https://www.googleapis.com/auth/dataportability.maps.ev_profile'; /// Move a copy of the corrections you made to places or map information on - /// Maps. + /// Maps static const dataportabilityMapsFactualContributionsScope = 'https://www.googleapis.com/auth/dataportability.maps.factual_contributions'; - /// Move a copy of your updates to places on Maps. + /// Move a copy of your updates to places on Maps static const dataportabilityMapsOfferingContributionsScope = 'https://www.googleapis.com/auth/dataportability.maps.offering_contributions'; - /// Move a copy of the photos and videos you posted on Maps. + /// Move a copy of the photos and videos you posted on Maps static const dataportabilityMapsPhotosVideosScope = 'https://www.googleapis.com/auth/dataportability.maps.photos_videos'; - /// Move a copy of the questions and answers you posted on Maps. + /// Move a copy of the questions and answers you posted on Maps static const dataportabilityMapsQuestionsAnswersScope = 'https://www.googleapis.com/auth/dataportability.maps.questions_answers'; - /// Move a copy of your reviews and posts on Maps. + /// Move a copy of your reviews and posts on Maps static const dataportabilityMapsReviewsScope = 'https://www.googleapis.com/auth/dataportability.maps.reviews'; - /// Move a copy of your Starred places list on Maps. + /// Move a copy of your Starred places list on Maps static const dataportabilityMapsStarredPlacesScope = 'https://www.googleapis.com/auth/dataportability.maps.starred_places'; - /// Move a copy of your Maps activity. + /// Move a copy of your Maps activity static const dataportabilityMyactivityMapsScope = 'https://www.googleapis.com/auth/dataportability.myactivity.maps'; - /// Move a copy of your My Ad Center activity. + /// Move a copy of your My Ad Center activity static const dataportabilityMyactivityMyadcenterScope = 'https://www.googleapis.com/auth/dataportability.myactivity.myadcenter'; - /// Move a copy of your Google Play activity. + /// Move a copy of your Google Play activity static const dataportabilityMyactivityPlayScope = 'https://www.googleapis.com/auth/dataportability.myactivity.play'; - /// Move a copy of your Google Search activity. + /// Move a copy of your Google Search activity static const dataportabilityMyactivitySearchScope = 'https://www.googleapis.com/auth/dataportability.myactivity.search'; - /// Move a copy of your Shopping activity. + /// Move a copy of your Shopping activity static const dataportabilityMyactivityShoppingScope = 'https://www.googleapis.com/auth/dataportability.myactivity.shopping'; - /// Move a copy of your YouTube activity. + /// Move a copy of your YouTube activity static const dataportabilityMyactivityYoutubeScope = 'https://www.googleapis.com/auth/dataportability.myactivity.youtube'; - /// Move a copy of the maps you created in My Maps. + /// Move a copy of the maps you created in My Maps static const dataportabilityMymapsMapsScope = 'https://www.googleapis.com/auth/dataportability.mymaps.maps'; - /// Move a copy of your food purchase and reservation activity. + /// Move a copy of your food purchase and reservation activity static const dataportabilityOrderReservePurchasesReservationsScope = 'https://www.googleapis.com/auth/dataportability.order_reserve.purchases_reservations'; /// Move a copy of information about your devices with Google Play Store - /// installed. + /// installed static const dataportabilityPlayDevicesScope = 'https://www.googleapis.com/auth/dataportability.play.devices'; /// Move a copy of your Google Play Store Grouping tags created by app - /// developers. + /// developers static const dataportabilityPlayGroupingScope = 'https://www.googleapis.com/auth/dataportability.play.grouping'; - /// Move a copy of your Google Play Store app installations. + /// Move a copy of your Google Play Store app installations static const dataportabilityPlayInstallsScope = 'https://www.googleapis.com/auth/dataportability.play.installs'; /// Move a copy of your Google Play Store downloads, including books, games, - /// and apps. + /// and apps static const dataportabilityPlayLibraryScope = 'https://www.googleapis.com/auth/dataportability.play.library'; - /// Move a copy of information about your Google Play Store Points. + /// Move a copy of information about your Google Play Store Points static const dataportabilityPlayPlaypointsScope = 'https://www.googleapis.com/auth/dataportability.play.playpoints'; - /// Move a copy of information about your Google Play Store promotions. + /// Move a copy of information about your Google Play Store promotions static const dataportabilityPlayPromotionsScope = 'https://www.googleapis.com/auth/dataportability.play.promotions'; - /// Move a copy of your Google Play Store purchases. + /// Move a copy of your Google Play Store purchases static const dataportabilityPlayPurchasesScope = 'https://www.googleapis.com/auth/dataportability.play.purchases'; - /// Move a copy of your Google Play Store redemption activities. + /// Move a copy of your Google Play Store redemption activities static const dataportabilityPlayRedemptionsScope = 'https://www.googleapis.com/auth/dataportability.play.redemptions'; - /// Move a copy of your Google Play Store subscriptions. + /// Move a copy of your Google Play Store subscriptions static const dataportabilityPlaySubscriptionsScope = 'https://www.googleapis.com/auth/dataportability.play.subscriptions'; - /// Move a copy of your Google Play Store user settings and preferences. + /// Move a copy of your Google Play Store user settings and preferences static const dataportabilityPlayUsersettingsScope = 'https://www.googleapis.com/auth/dataportability.play.usersettings'; /// Move a copy of your saved links, images, places, and collections from your - /// use of Google services. + /// use of Google services static const dataportabilitySavedCollectionsScope = 'https://www.googleapis.com/auth/dataportability.saved.collections'; - /// Move a copy of your media reviews on Google Search. + /// Move a copy of your comments on Google Search + static const dataportabilitySearchUgcCommentsScope = + 'https://www.googleapis.com/auth/dataportability.search_ugc.comments'; + + /// Move a copy of your media reviews on Google Search static const dataportabilitySearchUgcMediaReviewsAndStarsScope = 'https://www.googleapis.com/auth/dataportability.search_ugc.media.reviews_and_stars'; /// Move a copy of your self-reported video streaming provider preferences - /// from Google Search and Google TV. + /// from Google Search and Google TV static const dataportabilitySearchUgcMediaStreamingVideoProvidersScope = 'https://www.googleapis.com/auth/dataportability.search_ugc.media.streaming_video_providers'; /// Move a copy of your indicated thumbs up and thumbs down on media in Google - /// Search and Google TV. + /// Search and Google TV static const dataportabilitySearchUgcMediaThumbsScope = 'https://www.googleapis.com/auth/dataportability.search_ugc.media.thumbs'; /// Move a copy of information about the movies and TV shows you marked as - /// watched on Google Search and Google TV. + /// watched on Google Search and Google TV static const dataportabilitySearchUgcMediaWatchedScope = 'https://www.googleapis.com/auth/dataportability.search_ugc.media.watched'; - /// Move a copy of your notification settings on the Google Search app. + /// Move a copy of your notification settings on the Google Search app static const dataportabilitySearchnotificationsSettingsScope = 'https://www.googleapis.com/auth/dataportability.searchnotifications.settings'; - /// Move a copy of your notification subscriptions on Google Search app. + /// Move a copy of your notification subscriptions on Google Search app static const dataportabilitySearchnotificationsSubscriptionsScope = 'https://www.googleapis.com/auth/dataportability.searchnotifications.subscriptions'; - /// Move a copy of your shipping information on Shopping. + /// Move a copy of your shipping information on Shopping static const dataportabilityShoppingAddressesScope = 'https://www.googleapis.com/auth/dataportability.shopping.addresses'; /// Move a copy of reviews you wrote about products or online stores on Google - /// Search. + /// Search static const dataportabilityShoppingReviewsScope = 'https://www.googleapis.com/auth/dataportability.shopping.reviews'; - /// Move a copy of the images and videos you uploaded to Street View. + /// Move a copy of the images and videos you uploaded to Street View static const dataportabilityStreetviewImageryScope = 'https://www.googleapis.com/auth/dataportability.streetview.imagery'; - /// Move a copy of information about your YouTube channel. + /// Move a copy of information about your YouTube channel static const dataportabilityYoutubeChannelScope = 'https://www.googleapis.com/auth/dataportability.youtube.channel'; - /// Move a copy of your YouTube clips metadata. + /// Move a copy of your YouTube clips metadata static const dataportabilityYoutubeClipsScope = 'https://www.googleapis.com/auth/dataportability.youtube.clips'; - /// Move a copy of your YouTube comments. + /// Move a copy of your YouTube comments static const dataportabilityYoutubeCommentsScope = 'https://www.googleapis.com/auth/dataportability.youtube.comments'; - /// Move a copy of your YouTube messages in live chat. + /// Move a copy of your YouTube messages in live chat static const dataportabilityYoutubeLiveChatScope = 'https://www.googleapis.com/auth/dataportability.youtube.live_chat'; /// Move a copy of your uploaded YouTube music tracks and your YouTube music - /// library. + /// library static const dataportabilityYoutubeMusicScope = 'https://www.googleapis.com/auth/dataportability.youtube.music'; - /// Move a copy of your YouTube playables saved game progress files. + /// Move a copy of your YouTube playables saved game progress files static const dataportabilityYoutubePlayableScope = 'https://www.googleapis.com/auth/dataportability.youtube.playable'; - /// Move a copy of your YouTube posts. + /// Move a copy of your YouTube posts static const dataportabilityYoutubePostsScope = 'https://www.googleapis.com/auth/dataportability.youtube.posts'; - /// Move a copy of your YouTube private playlists. + /// Move a copy of your YouTube private playlists static const dataportabilityYoutubePrivatePlaylistsScope = 'https://www.googleapis.com/auth/dataportability.youtube.private_playlists'; - /// Move a copy of your private YouTube videos and information about them. + /// Move a copy of your private YouTube videos and information about them static const dataportabilityYoutubePrivateVideosScope = 'https://www.googleapis.com/auth/dataportability.youtube.private_videos'; - /// Move a copy of your public YouTube playlists. + /// Move a copy of your public YouTube playlists static const dataportabilityYoutubePublicPlaylistsScope = 'https://www.googleapis.com/auth/dataportability.youtube.public_playlists'; - /// Move a copy of your public YouTube videos and information about them. + /// Move a copy of your public YouTube videos and information about them static const dataportabilityYoutubePublicVideosScope = 'https://www.googleapis.com/auth/dataportability.youtube.public_videos'; - /// Move a copy of your YouTube shopping wishlists, and wishlist items. + /// Move a copy of your YouTube shopping wishlists, and wishlist items static const dataportabilityYoutubeShoppingScope = 'https://www.googleapis.com/auth/dataportability.youtube.shopping'; - /// Move a copy of your YouTube channel subscriptions, even if they're - /// private. + /// Move a copy of your YouTube channel subscriptions, even if they're private static const dataportabilityYoutubeSubscriptionsScope = 'https://www.googleapis.com/auth/dataportability.youtube.subscriptions'; - /// Move a copy of your unlisted YouTube playlists. + /// Move a copy of your unlisted YouTube playlists static const dataportabilityYoutubeUnlistedPlaylistsScope = 'https://www.googleapis.com/auth/dataportability.youtube.unlisted_playlists'; - /// Move a copy of your unlisted YouTube videos and information about them. + /// Move a copy of your unlisted YouTube videos and information about them static const dataportabilityYoutubeUnlistedVideosScope = 'https://www.googleapis.com/auth/dataportability.youtube.unlisted_videos'; final commons.ApiRequester _requester; + AccessTypeResource get accessType => AccessTypeResource(_requester); ArchiveJobsResource get archiveJobs => ArchiveJobsResource(_requester); AuthorizationResource get authorization => AuthorizationResource(_requester); PortabilityArchiveResource get portabilityArchive => @@ -333,11 +338,98 @@ class DataPortabilityApi { commons.ApiRequester(client, rootUrl, servicePath, requestHeaders); } +class AccessTypeResource { + final commons.ApiRequester _requester; + + AccessTypeResource(commons.ApiRequester client) : _requester = client; + + /// Gets the access type of the token. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [CheckAccessTypeResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future check( + CheckAccessTypeRequest request, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + const url_ = 'v1/accessType:check'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return CheckAccessTypeResponse.fromJson( + response_ as core.Map); + } +} + class ArchiveJobsResource { final commons.ApiRequester _requester; ArchiveJobsResource(commons.ApiRequester client) : _requester = client; + /// Cancels a Portability Archive job. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [name] - Required. The Archive job ID you're canceling. This is returned + /// by the InitiatePortabilityArchive response. The format is: + /// archiveJobs/{archive_job}. Canceling is only executed if the job is in + /// progress. + /// Value must have pattern `^archiveJobs/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [CancelPortabilityArchiveResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future cancel( + CancelPortabilityArchiveRequest request, + core.String name, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':cancel'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return CancelPortabilityArchiveResponse.fromJson( + response_ as core.Map); + } + /// Retrieves the state of an Archive job for the Portability API. /// /// Request parameters: @@ -511,6 +603,49 @@ class PortabilityArchiveResource { } } +/// Request to cancel a Portability Archive job. +typedef CancelPortabilityArchiveRequest = $Empty; + +/// Response to canceling a Data Portability Archive job. +typedef CancelPortabilityArchiveResponse = $Empty; + +/// Request to check the token's access type. +/// +/// All required information is derived from the attached OAuth token. +typedef CheckAccessTypeRequest = $Empty; + +/// Response to checking the token's access type. +class CheckAccessTypeResponse { + /// Jobs initiated with this token will be one-time if any requested resources + /// have one-time access. + core.List? oneTimeResources; + + /// Jobs initiated with this token will be time-based if all requested + /// resources have time-based access. + core.List? timeBasedResources; + + CheckAccessTypeResponse({ + this.oneTimeResources, + this.timeBasedResources, + }); + + CheckAccessTypeResponse.fromJson(core.Map json_) + : this( + oneTimeResources: (json_['oneTimeResources'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + timeBasedResources: (json_['timeBasedResources'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (oneTimeResources != null) 'oneTimeResources': oneTimeResources!, + if (timeBasedResources != null) + 'timeBasedResources': timeBasedResources!, + }; +} + /// A generic empty message that you can re-use to avoid defining duplicated /// empty messages in your APIs. /// @@ -521,56 +656,107 @@ typedef Empty = $Empty; /// Request to kick off an Archive job. class InitiatePortabilityArchiveRequest { + /// The timestamp that represents the end point for the data you are + /// exporting. + /// + /// If the end_time is not specified in the InitiatePortabilityArchiveRequest, + /// this field is set to the latest available data. + /// + /// Optional. + core.String? endTime; + /// The resources from which you're exporting data. /// /// These values have a 1:1 correspondence with the OAuth scopes. core.List? resources; + /// The timestamp that represents the starting point for the data you are + /// exporting. + /// + /// If the start_time is not specified in the + /// InitiatePortabilityArchiveRequest, the field is set to the earliest + /// available data. + /// + /// Optional. + core.String? startTime; + InitiatePortabilityArchiveRequest({ + this.endTime, this.resources, + this.startTime, }); InitiatePortabilityArchiveRequest.fromJson(core.Map json_) : this( + endTime: json_['endTime'] as core.String?, resources: (json_['resources'] as core.List?) ?.map((value) => value as core.String) .toList(), + startTime: json_['startTime'] as core.String?, ); core.Map toJson() => { + if (endTime != null) 'endTime': endTime!, if (resources != null) 'resources': resources!, + if (startTime != null) 'startTime': startTime!, }; } /// Response from initiating an Archive job. class InitiatePortabilityArchiveResponse { + /// The access type of the Archive job initiated by the API. + /// Possible string values are: + /// - "ACCESS_TYPE_UNSPECIFIED" : Default value. This value is unused. + /// - "ACCESS_TYPE_ONE_TIME" : One-time access to the requested scopes. + /// - "ACCESS_TYPE_TIME_BASED" : Multiple exports allowed over 30 days. Enum + /// value subject to change before launch. + core.String? accessType; + /// The archive job ID that is initiated in the API. /// /// This can be used to get the state of the job. core.String? archiveJobId; InitiatePortabilityArchiveResponse({ + this.accessType, this.archiveJobId, }); InitiatePortabilityArchiveResponse.fromJson(core.Map json_) : this( + accessType: json_['accessType'] as core.String?, archiveJobId: json_['archiveJobId'] as core.String?, ); core.Map toJson() => { + if (accessType != null) 'accessType': accessType!, if (archiveJobId != null) 'archiveJobId': archiveJobId!, }; } /// Resource that contains the state of an Archive job. class PortabilityArchiveState { + /// The timestamp that represents the end point for the data you are + /// exporting. + /// + /// If the end_time value is set in the InitiatePortabilityArchiveRequest, + /// this field is set to that value. If end_time is not set, this value is set + /// to the time the export was requested. + core.String? exportTime; + /// The resource name of ArchiveJob's PortabilityArchiveState singleton. /// /// The format is: archiveJobs/{archive_job}/portabilityArchiveState. /// archive_job is the job ID provided in the request. core.String? name; + /// The timestamp that represents the starting point for the data you are + /// exporting. + /// + /// This field is set only if the start_time field is specified in the + /// InitiatePortabilityArchiveRequest. + core.String? startTime; + /// Resource that represents the state of the Archive job. /// Possible string values are: /// - "STATE_UNSPECIFIED" : Default value. This value is unused. @@ -585,14 +771,18 @@ class PortabilityArchiveState { core.List? urls; PortabilityArchiveState({ + this.exportTime, this.name, + this.startTime, this.state, this.urls, }); PortabilityArchiveState.fromJson(core.Map json_) : this( + exportTime: json_['exportTime'] as core.String?, name: json_['name'] as core.String?, + startTime: json_['startTime'] as core.String?, state: json_['state'] as core.String?, urls: (json_['urls'] as core.List?) ?.map((value) => value as core.String) @@ -600,7 +790,9 @@ class PortabilityArchiveState { ); core.Map toJson() => { + if (exportTime != null) 'exportTime': exportTime!, if (name != null) 'name': name!, + if (startTime != null) 'startTime': startTime!, if (state != null) 'state': state!, if (urls != null) 'urls': urls!, }; diff --git a/generated/googleapis/lib/dataproc/v1.dart b/generated/googleapis/lib/dataproc/v1.dart index f0950d5e1..73f52269f 100644 --- a/generated/googleapis/lib/dataproc/v1.dart +++ b/generated/googleapis/lib/dataproc/v1.dart @@ -8336,6 +8336,35 @@ class Binding { }; } +/// Native Build Info +class BuildInfo { + /// Build key. + /// + /// Optional. + core.String? buildKey; + + /// Build value. + /// + /// Optional. + core.String? buildValue; + + BuildInfo({ + this.buildKey, + this.buildValue, + }); + + BuildInfo.fromJson(core.Map json_) + : this( + buildKey: json_['buildKey'] as core.String?, + buildValue: json_['buildValue'] as core.String?, + ); + + core.Map toJson() => { + if (buildKey != null) 'buildKey': buildKey!, + if (buildValue != null) 'buildValue': buildValue!, + }; +} + /// A request to cancel a job. typedef CancelJobRequest = $Empty; @@ -8824,6 +8853,9 @@ class ClusterStatus { /// - "STOPPED" : The cluster is currently stopped. It is not ready for use. /// - "STARTING" : The cluster is being started. It is not ready for use. /// - "REPAIRING" : The cluster is being repaired. It is not ready for use. + /// - "SCHEDULED" : Cluster creation is currently waiting for resources to be + /// available. Once all resources are available, it will transition to + /// CREATING and then RUNNING. core.String? state; /// Time when this state was entered (see JSON representation of Timestamp @@ -9114,7 +9146,7 @@ class DiskConfig { /// Indicates how many IOPS to provision for the disk. /// /// This sets the number of I/O operations per second that the disk can - /// handle. Note: This field is only supported if boot_disk_type is + /// handle. This field is supported only if boot_disk_type is /// hyperdisk-balanced. /// /// Optional. @@ -9123,8 +9155,8 @@ class DiskConfig { /// Indicates how much throughput to provision for the disk. /// /// This sets the number of throughput mb per second that the disk can handle. - /// Values must be greater than or equal to 1. Note: This field is only - /// supported if boot_disk_type is hyperdisk-balanced. + /// Values must be greater than or equal to 1. This field is supported only if + /// boot_disk_type is hyperdisk-balanced. /// /// Optional. core.String? bootDiskProvisionedThroughput; @@ -9951,6 +9983,35 @@ class ExecutorSummary { /// information. typedef Expr = $Expr; +/// Native SQL Execution Data +class FallbackReason { + /// Fallback node information. + /// + /// Optional. + core.String? fallbackNode; + + /// Fallback to Spark reason. + /// + /// Optional. + core.String? fallbackReason; + + FallbackReason({ + this.fallbackNode, + this.fallbackReason, + }); + + FallbackReason.fromJson(core.Map json_) + : this( + fallbackNode: json_['fallbackNode'] as core.String?, + fallbackReason: json_['fallbackReason'] as core.String?, + ); + + core.Map toJson() => { + if (fallbackNode != null) 'fallbackNode': fallbackNode!, + if (fallbackReason != null) 'fallbackReason': fallbackReason!, + }; +} + /// A Dataproc job for running Apache Flink applications on YARN. class FlinkJob { /// The arguments to pass to the driver. @@ -10112,6 +10173,13 @@ class GceClusterConfig { /// Optional. ReservationAffinity? reservationAffinity; + /// Resource manager tags to add to all instances (see Resource manager tags + /// resources + /// (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing)). + /// + /// Optional. + core.Map? resourceManagerTags; + /// The Dataproc service account /// (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) /// (also see VM Data Plane identity @@ -10179,6 +10247,7 @@ class GceClusterConfig { this.nodeGroupAffinity, this.privateIpv6GoogleAccess, this.reservationAffinity, + this.resourceManagerTags, this.serviceAccount, this.serviceAccountScopes, this.shieldedInstanceConfig, @@ -10214,6 +10283,14 @@ class GceClusterConfig { ? ReservationAffinity.fromJson(json_['reservationAffinity'] as core.Map) : null, + resourceManagerTags: (json_['resourceManagerTags'] + as core.Map?) + ?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), serviceAccount: json_['serviceAccount'] as core.String?, serviceAccountScopes: (json_['serviceAccountScopes'] as core.List?) ?.map((value) => value as core.String) @@ -10240,6 +10317,8 @@ class GceClusterConfig { 'privateIpv6GoogleAccess': privateIpv6GoogleAccess!, if (reservationAffinity != null) 'reservationAffinity': reservationAffinity!, + if (resourceManagerTags != null) + 'resourceManagerTags': resourceManagerTags!, if (serviceAccount != null) 'serviceAccount': serviceAccount!, if (serviceAccountScopes != null) 'serviceAccountScopes': serviceAccountScopes!, @@ -13073,6 +13152,103 @@ class NamespacedGkeDeploymentTarget { }; } +class NativeBuildInfoUiData { + /// Build class of Native. + /// + /// Optional. + core.String? buildClass; + + /// Build related details. + /// + /// Optional. + core.List? buildInfo; + + NativeBuildInfoUiData({ + this.buildClass, + this.buildInfo, + }); + + NativeBuildInfoUiData.fromJson(core.Map json_) + : this( + buildClass: json_['buildClass'] as core.String?, + buildInfo: (json_['buildInfo'] as core.List?) + ?.map((value) => BuildInfo.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (buildClass != null) 'buildClass': buildClass!, + if (buildInfo != null) 'buildInfo': buildInfo!, + }; +} + +/// Native SQL Execution Data +class NativeSqlExecutionUiData { + /// Description of the execution. + /// + /// Optional. + core.String? description; + + /// Execution ID of the Native SQL Execution. + /// + /// Required. + core.String? executionId; + + /// Description of the fallback. + /// + /// Optional. + core.String? fallbackDescription; + + /// Fallback node to reason. + /// + /// Optional. + core.List? fallbackNodeToReason; + + /// Number of nodes fallen back to Spark. + /// + /// Optional. + core.int? numFallbackNodes; + + /// Number of nodes in Native. + /// + /// Optional. + core.int? numNativeNodes; + + NativeSqlExecutionUiData({ + this.description, + this.executionId, + this.fallbackDescription, + this.fallbackNodeToReason, + this.numFallbackNodes, + this.numNativeNodes, + }); + + NativeSqlExecutionUiData.fromJson(core.Map json_) + : this( + description: json_['description'] as core.String?, + executionId: json_['executionId'] as core.String?, + fallbackDescription: json_['fallbackDescription'] as core.String?, + fallbackNodeToReason: (json_['fallbackNodeToReason'] as core.List?) + ?.map((value) => FallbackReason.fromJson( + value as core.Map)) + .toList(), + numFallbackNodes: json_['numFallbackNodes'] as core.int?, + numNativeNodes: json_['numNativeNodes'] as core.int?, + ); + + core.Map toJson() => { + if (description != null) 'description': description!, + if (executionId != null) 'executionId': executionId!, + if (fallbackDescription != null) + 'fallbackDescription': fallbackDescription!, + if (fallbackNodeToReason != null) + 'fallbackNodeToReason': fallbackNodeToReason!, + if (numFallbackNodes != null) 'numFallbackNodes': numFallbackNodes!, + if (numNativeNodes != null) 'numNativeNodes': numNativeNodes!, + }; +} + /// Dataproc Node Group. /// /// The Dataproc NodeGroup resource is not related to the Dataproc @@ -15762,9 +15938,9 @@ class Session { /// Optional. core.Map? labels; - /// The resource name of the session. + /// Identifier. /// - /// Required. + /// The resource name of the session. core.String? name; /// Runtime configuration for the session execution. @@ -17410,6 +17586,12 @@ class SparkWrapperObject { ExecutorStageSummary? executorStageSummary; ExecutorSummary? executorSummary; JobData? jobData; + + /// Native Build Info + NativeBuildInfoUiData? nativeBuildInfoUiData; + + /// Native SQL Execution Info + NativeSqlExecutionUiData? nativeSqlExecutionUiData; PoolData? poolData; ProcessSummary? processSummary; RddOperationGraph? rddOperationGraph; @@ -17433,6 +17615,8 @@ class SparkWrapperObject { this.executorStageSummary, this.executorSummary, this.jobData, + this.nativeBuildInfoUiData, + this.nativeSqlExecutionUiData, this.poolData, this.processSummary, this.rddOperationGraph, @@ -17478,6 +17662,16 @@ class SparkWrapperObject { ? JobData.fromJson( json_['jobData'] as core.Map) : null, + nativeBuildInfoUiData: json_.containsKey('nativeBuildInfoUiData') + ? NativeBuildInfoUiData.fromJson(json_['nativeBuildInfoUiData'] + as core.Map) + : null, + nativeSqlExecutionUiData: + json_.containsKey('nativeSqlExecutionUiData') + ? NativeSqlExecutionUiData.fromJson( + json_['nativeSqlExecutionUiData'] + as core.Map) + : null, poolData: json_.containsKey('poolData') ? PoolData.fromJson( json_['poolData'] as core.Map) @@ -17544,6 +17738,10 @@ class SparkWrapperObject { 'executorStageSummary': executorStageSummary!, if (executorSummary != null) 'executorSummary': executorSummary!, if (jobData != null) 'jobData': jobData!, + if (nativeBuildInfoUiData != null) + 'nativeBuildInfoUiData': nativeBuildInfoUiData!, + if (nativeSqlExecutionUiData != null) + 'nativeSqlExecutionUiData': nativeSqlExecutionUiData!, if (poolData != null) 'poolData': poolData!, if (processSummary != null) 'processSummary': processSummary!, if (rddOperationGraph != null) 'rddOperationGraph': rddOperationGraph!, diff --git a/generated/googleapis/lib/datastore/v1.dart b/generated/googleapis/lib/datastore/v1.dart index 5fc17af17..1b55ddbd2 100644 --- a/generated/googleapis/lib/datastore/v1.dart +++ b/generated/googleapis/lib/datastore/v1.dart @@ -3674,7 +3674,11 @@ class RunQueryRequest { /// The response for Datastore.RunQuery. class RunQueryResponse { - /// A batch of query results (always present). + /// A batch of query results. + /// + /// This is always present unless running a query under explain-only mode: + /// RunQueryRequest.explain_options was provided and ExplainOptions.analyze + /// was set to false. QueryResultBatch? batch; /// Query explain metrics. diff --git a/generated/googleapis/lib/datastream/v1.dart b/generated/googleapis/lib/datastream/v1.dart index 380f678e0..01ca8bd7b 100644 --- a/generated/googleapis/lib/datastream/v1.dart +++ b/generated/googleapis/lib/datastream/v1.dart @@ -1764,6 +1764,9 @@ class BackfillAllStrategy { /// PostgreSQL data source objects to avoid backfilling. PostgresqlRdbms? postgresqlExcludedObjects; + /// Salesforce data source objects to avoid backfilling + SalesforceOrg? salesforceExcludedObjects; + /// SQLServer data source objects to avoid backfilling SqlServerRdbms? sqlServerExcludedObjects; @@ -1771,6 +1774,7 @@ class BackfillAllStrategy { this.mysqlExcludedObjects, this.oracleExcludedObjects, this.postgresqlExcludedObjects, + this.salesforceExcludedObjects, this.sqlServerExcludedObjects, }); @@ -1789,6 +1793,11 @@ class BackfillAllStrategy { ? PostgresqlRdbms.fromJson(json_['postgresqlExcludedObjects'] as core.Map) : null, + salesforceExcludedObjects: + json_.containsKey('salesforceExcludedObjects') + ? SalesforceOrg.fromJson(json_['salesforceExcludedObjects'] + as core.Map) + : null, sqlServerExcludedObjects: json_.containsKey('sqlServerExcludedObjects') ? SqlServerRdbms.fromJson(json_['sqlServerExcludedObjects'] @@ -1803,6 +1812,8 @@ class BackfillAllStrategy { 'oracleExcludedObjects': oracleExcludedObjects!, if (postgresqlExcludedObjects != null) 'postgresqlExcludedObjects': postgresqlExcludedObjects!, + if (salesforceExcludedObjects != null) + 'salesforceExcludedObjects': salesforceExcludedObjects!, if (sqlServerExcludedObjects != null) 'sqlServerExcludedObjects': sqlServerExcludedObjects!, }; @@ -1889,6 +1900,11 @@ class BigQueryDestinationConfig { /// Append only mode AppendOnly? appendOnly; + /// Big Lake Managed Tables (BLMT) configuration. + /// + /// Optional. + BlmtConfig? blmtConfig; + /// The guaranteed data freshness (in seconds) when querying tables created by /// the stream. /// @@ -1908,6 +1924,7 @@ class BigQueryDestinationConfig { BigQueryDestinationConfig({ this.appendOnly, + this.blmtConfig, this.dataFreshness, this.merge, this.singleTargetDataset, @@ -1920,6 +1937,10 @@ class BigQueryDestinationConfig { ? AppendOnly.fromJson( json_['appendOnly'] as core.Map) : null, + blmtConfig: json_.containsKey('blmtConfig') + ? BlmtConfig.fromJson( + json_['blmtConfig'] as core.Map) + : null, dataFreshness: json_['dataFreshness'] as core.String?, merge: json_.containsKey('merge') ? Merge.fromJson( @@ -1938,6 +1959,7 @@ class BigQueryDestinationConfig { core.Map toJson() => { if (appendOnly != null) 'appendOnly': appendOnly!, + if (blmtConfig != null) 'blmtConfig': blmtConfig!, if (dataFreshness != null) 'dataFreshness': dataFreshness!, if (merge != null) 'merge': merge!, if (singleTargetDataset != null) @@ -1986,6 +2008,65 @@ class BinaryLogParser { /// Use Binary log position based replication. typedef BinaryLogPosition = $Empty; +/// The configuration for BLMT. +class BlmtConfig { + /// The Cloud Storage bucket name. + /// + /// Required. + core.String? bucket; + + /// The bigquery connection. + /// + /// Format: `{project}.{location}.{name}` + /// + /// Required. + core.String? connectionName; + + /// The file format. + /// + /// Required. + /// Possible string values are: + /// - "FILE_FORMAT_UNSPECIFIED" : Default value. + /// - "PARQUET" : Parquet file format. + core.String? fileFormat; + + /// The root path inside the Cloud Storage bucket. + core.String? rootPath; + + /// The table format. + /// + /// Required. + /// Possible string values are: + /// - "TABLE_FORMAT_UNSPECIFIED" : Default value. + /// - "ICEBERG" : Iceberg table format. + core.String? tableFormat; + + BlmtConfig({ + this.bucket, + this.connectionName, + this.fileFormat, + this.rootPath, + this.tableFormat, + }); + + BlmtConfig.fromJson(core.Map json_) + : this( + bucket: json_['bucket'] as core.String?, + connectionName: json_['connectionName'] as core.String?, + fileFormat: json_['fileFormat'] as core.String?, + rootPath: json_['rootPath'] as core.String?, + tableFormat: json_['tableFormat'] as core.String?, + ); + + core.Map toJson() => { + if (bucket != null) 'bucket': bucket!, + if (connectionName != null) 'connectionName': connectionName!, + if (fileFormat != null) 'fileFormat': fileFormat!, + if (rootPath != null) 'rootPath': rootPath!, + if (tableFormat != null) 'tableFormat': tableFormat!, + }; +} + /// The request message for Operations.CancelOperation. typedef CancelOperationRequest = $Empty; @@ -2085,6 +2166,19 @@ class ConnectionProfile { /// Private connectivity. PrivateConnectivity? privateConnectivity; + /// Salesforce Connection Profile configuration. + SalesforceProfile? salesforceProfile; + + /// Reserved for future use. + /// + /// Output only. + core.bool? satisfiesPzi; + + /// Reserved for future use. + /// + /// Output only. + core.bool? satisfiesPzs; + /// SQLServer Connection Profile configuration. SqlServerProfile? sqlServerProfile; @@ -2108,6 +2202,9 @@ class ConnectionProfile { this.oracleProfile, this.postgresqlProfile, this.privateConnectivity, + this.salesforceProfile, + this.satisfiesPzi, + this.satisfiesPzs, this.sqlServerProfile, this.staticServiceIpConnectivity, this.updateTime, @@ -2154,6 +2251,12 @@ class ConnectionProfile { ? PrivateConnectivity.fromJson(json_['privateConnectivity'] as core.Map) : null, + salesforceProfile: json_.containsKey('salesforceProfile') + ? SalesforceProfile.fromJson(json_['salesforceProfile'] + as core.Map) + : null, + satisfiesPzi: json_['satisfiesPzi'] as core.bool?, + satisfiesPzs: json_['satisfiesPzs'] as core.bool?, sqlServerProfile: json_.containsKey('sqlServerProfile') ? SqlServerProfile.fromJson(json_['sqlServerProfile'] as core.Map) @@ -2181,6 +2284,9 @@ class ConnectionProfile { if (postgresqlProfile != null) 'postgresqlProfile': postgresqlProfile!, if (privateConnectivity != null) 'privateConnectivity': privateConnectivity!, + if (salesforceProfile != null) 'salesforceProfile': salesforceProfile!, + if (satisfiesPzi != null) 'satisfiesPzi': satisfiesPzi!, + if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, if (sqlServerProfile != null) 'sqlServerProfile': sqlServerProfile!, if (staticServiceIpConnectivity != null) 'staticServiceIpConnectivity': staticServiceIpConnectivity!, @@ -2997,6 +3103,27 @@ class MysqlDatabase { }; } +/// MySQL GTID position +class MysqlGtidPosition { + /// The gtid set to start replication from. + /// + /// Required. + core.String? gtidSet; + + MysqlGtidPosition({ + this.gtidSet, + }); + + MysqlGtidPosition.fromJson(core.Map json_) + : this( + gtidSet: json_['gtidSet'] as core.String?, + ); + + core.Map toJson() => { + if (gtidSet != null) 'gtidSet': gtidSet!, + }; +} + /// MySQL log position class MysqlLogPosition { /// The binary log file name. @@ -3058,8 +3185,6 @@ class MysqlObjectIdentifier { } /// MySQL database profile. -/// -/// Next ID: 7. class MysqlProfile { /// Hostname for the MySQL connection. /// @@ -3224,6 +3349,8 @@ class MysqlSslConfig { /// PEM-encoded certificate that will be used by the replica to authenticate /// against the source database server. If this field is used then the /// 'client_key' and the 'ca_certificate' fields are mandatory. + /// + /// Optional. core.String? clientCertificate; /// Indicates whether the client_certificate field is set. @@ -3235,7 +3362,10 @@ class MysqlSslConfig { /// /// PEM-encoded private key associated with the Client Certificate. If this /// field is used then the 'client_certificate' and the 'ca_certificate' - /// fields are mandatory. + /// fields are mandatory. Mutually exclusive with the + /// `secret_manager_stored_client_key` field. + /// + /// Optional. core.String? clientKey; /// Indicates whether the client_key field is set. @@ -3308,6 +3438,50 @@ class MysqlTable { /// source. typedef NextAvailableStartPosition = $Empty; +/// OAuth2 Client Credentials. +class Oauth2ClientCredentials { + /// Client ID for Salesforce OAuth2 Client Credentials. + /// + /// Required. + core.String? clientId; + + /// Client secret for Salesforce OAuth2 Client Credentials. + /// + /// Mutually exclusive with the `secret_manager_stored_client_secret` field. + /// + /// Optional. + core.String? clientSecret; + + /// A reference to a Secret Manager resource name storing the Salesforce + /// OAuth2 client_secret. + /// + /// Mutually exclusive with the `client_secret` field. + /// + /// Optional. + core.String? secretManagerStoredClientSecret; + + Oauth2ClientCredentials({ + this.clientId, + this.clientSecret, + this.secretManagerStoredClientSecret, + }); + + Oauth2ClientCredentials.fromJson(core.Map json_) + : this( + clientId: json_['clientId'] as core.String?, + clientSecret: json_['clientSecret'] as core.String?, + secretManagerStoredClientSecret: + json_['secretManagerStoredClientSecret'] as core.String?, + ); + + core.Map toJson() => { + if (clientId != null) 'clientId': clientId!, + if (clientSecret != null) 'clientSecret': clientSecret!, + if (secretManagerStoredClientSecret != null) + 'secretManagerStoredClientSecret': secretManagerStoredClientSecret!, + }; +} + /// This resource represents a long-running operation that is the result of a /// network API call. class Operation { @@ -3385,8 +3559,6 @@ class Operation { } /// Configuration for Oracle Automatic Storage Management (ASM) connection. -/// -/// . class OracleAsmConfig { /// ASM service name for the Oracle ASM connection. /// @@ -3540,8 +3712,6 @@ class OracleColumn { typedef OracleObjectIdentifier = $ObjectIdentifier; /// Oracle database profile. -/// -/// Next ID: 10. class OracleProfile { /// Connection string attributes core.Map? connectionAttributes; @@ -3951,6 +4121,16 @@ class PostgresqlProfile { /// Port for the PostgreSQL connection, default value is 5432. core.int? port; + /// SSL configuration for the PostgreSQL connection. + /// + /// In case PostgresqlSslConfig is not set, the connection will use the + /// default SSL mode, which is `prefer` (i.e. this mode will only use + /// encryption if enabled from database side, otherwise will use unencrypted + /// communication) + /// + /// Optional. + PostgresqlSslConfig? sslConfig; + /// Username for the PostgreSQL connection. /// /// Required. @@ -3961,6 +4141,7 @@ class PostgresqlProfile { this.hostname, this.password, this.port, + this.sslConfig, this.username, }); @@ -3970,6 +4151,10 @@ class PostgresqlProfile { hostname: json_['hostname'] as core.String?, password: json_['password'] as core.String?, port: json_['port'] as core.int?, + sslConfig: json_.containsKey('sslConfig') + ? PostgresqlSslConfig.fromJson( + json_['sslConfig'] as core.Map) + : null, username: json_['username'] as core.String?, ); @@ -3978,6 +4163,7 @@ class PostgresqlProfile { if (hostname != null) 'hostname': hostname!, if (password != null) 'password': password!, if (port != null) 'port': port!, + if (sslConfig != null) 'sslConfig': sslConfig!, if (username != null) 'username': username!, }; } @@ -4092,6 +4278,44 @@ class PostgresqlSourceConfig { }; } +/// PostgreSQL SSL configuration information. +class PostgresqlSslConfig { + /// If this field is set, the communication will be encrypted with TLS + /// encryption and both the server identity and the client identity will be + /// authenticated. + ServerAndClientVerification? serverAndClientVerification; + + /// If this field is set, the communication will be encrypted with TLS + /// encryption and the server identity will be authenticated. + ServerVerification? serverVerification; + + PostgresqlSslConfig({ + this.serverAndClientVerification, + this.serverVerification, + }); + + PostgresqlSslConfig.fromJson(core.Map json_) + : this( + serverAndClientVerification: + json_.containsKey('serverAndClientVerification') + ? ServerAndClientVerification.fromJson( + json_['serverAndClientVerification'] + as core.Map) + : null, + serverVerification: json_.containsKey('serverVerification') + ? ServerVerification.fromJson(json_['serverVerification'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (serverAndClientVerification != null) + 'serverAndClientVerification': serverAndClientVerification!, + if (serverVerification != null) + 'serverVerification': serverVerification!, + }; +} + /// PostgreSQL table. class PostgresqlTable { /// PostgreSQL columns in the schema. @@ -4151,6 +4375,16 @@ class PrivateConnection { /// Output only. core.String? name; + /// Reserved for future use. + /// + /// Output only. + core.bool? satisfiesPzi; + + /// Reserved for future use. + /// + /// Output only. + core.bool? satisfiesPzs; + /// The state of the Private Connection. /// /// Output only. @@ -4180,6 +4414,8 @@ class PrivateConnection { this.error, this.labels, this.name, + this.satisfiesPzi, + this.satisfiesPzs, this.state, this.updateTime, this.vpcPeeringConfig, @@ -4201,6 +4437,8 @@ class PrivateConnection { ), ), name: json_['name'] as core.String?, + satisfiesPzi: json_['satisfiesPzi'] as core.bool?, + satisfiesPzs: json_['satisfiesPzs'] as core.bool?, state: json_['state'] as core.String?, updateTime: json_['updateTime'] as core.String?, vpcPeeringConfig: json_.containsKey('vpcPeeringConfig') @@ -4215,6 +4453,8 @@ class PrivateConnection { if (error != null) 'error': error!, if (labels != null) 'labels': labels!, if (name != null) 'name': name!, + if (satisfiesPzi != null) 'satisfiesPzi': satisfiesPzi!, + if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, if (state != null) 'state': state!, if (updateTime != null) 'updateTime': updateTime!, if (vpcPeeringConfig != null) 'vpcPeeringConfig': vpcPeeringConfig!, @@ -4354,6 +4594,274 @@ class RunStreamRequest { }; } +/// Salesforce field. +class SalesforceField { + /// The data type. + core.String? dataType; + + /// Field name. + core.String? name; + + /// Indicates whether the field can accept nil values. + core.bool? nillable; + + SalesforceField({ + this.dataType, + this.name, + this.nillable, + }); + + SalesforceField.fromJson(core.Map json_) + : this( + dataType: json_['dataType'] as core.String?, + name: json_['name'] as core.String?, + nillable: json_['nillable'] as core.bool?, + ); + + core.Map toJson() => { + if (dataType != null) 'dataType': dataType!, + if (name != null) 'name': name!, + if (nillable != null) 'nillable': nillable!, + }; +} + +/// Salesforce object. +class SalesforceObject { + /// Salesforce fields. + /// + /// When unspecified as part of include objects, includes everything, when + /// unspecified as part of exclude objects, excludes nothing. + core.List? fields; + + /// Object name. + core.String? objectName; + + SalesforceObject({ + this.fields, + this.objectName, + }); + + SalesforceObject.fromJson(core.Map json_) + : this( + fields: (json_['fields'] as core.List?) + ?.map((value) => SalesforceField.fromJson( + value as core.Map)) + .toList(), + objectName: json_['objectName'] as core.String?, + ); + + core.Map toJson() => { + if (fields != null) 'fields': fields!, + if (objectName != null) 'objectName': objectName!, + }; +} + +/// Salesforce data source object identifier. +class SalesforceObjectIdentifier { + /// The object name. + /// + /// Required. + core.String? objectName; + + SalesforceObjectIdentifier({ + this.objectName, + }); + + SalesforceObjectIdentifier.fromJson(core.Map json_) + : this( + objectName: json_['objectName'] as core.String?, + ); + + core.Map toJson() => { + if (objectName != null) 'objectName': objectName!, + }; +} + +/// Salesforce organization structure. +class SalesforceOrg { + /// Salesforce objects in the database server. + core.List? objects; + + SalesforceOrg({ + this.objects, + }); + + SalesforceOrg.fromJson(core.Map json_) + : this( + objects: (json_['objects'] as core.List?) + ?.map((value) => SalesforceObject.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (objects != null) 'objects': objects!, + }; +} + +/// Salesforce profile +class SalesforceProfile { + /// Domain endpoint for the Salesforce connection. + /// + /// Required. + core.String? domain; + + /// Connected app authentication. + Oauth2ClientCredentials? oauth2ClientCredentials; + + /// User-password authentication. + UserCredentials? userCredentials; + + SalesforceProfile({ + this.domain, + this.oauth2ClientCredentials, + this.userCredentials, + }); + + SalesforceProfile.fromJson(core.Map json_) + : this( + domain: json_['domain'] as core.String?, + oauth2ClientCredentials: json_.containsKey('oauth2ClientCredentials') + ? Oauth2ClientCredentials.fromJson( + json_['oauth2ClientCredentials'] + as core.Map) + : null, + userCredentials: json_.containsKey('userCredentials') + ? UserCredentials.fromJson(json_['userCredentials'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (domain != null) 'domain': domain!, + if (oauth2ClientCredentials != null) + 'oauth2ClientCredentials': oauth2ClientCredentials!, + if (userCredentials != null) 'userCredentials': userCredentials!, + }; +} + +/// Salesforce source configuration +class SalesforceSourceConfig { + /// Salesforce objects to exclude from the stream. + SalesforceOrg? excludeObjects; + + /// Salesforce objects to retrieve from the source. + SalesforceOrg? includeObjects; + + /// Salesforce objects polling interval. + /// + /// The interval at which new changes will be polled for each object. The + /// duration must be between 5 minutes and 24 hours. + /// + /// Required. + core.String? pollingInterval; + + SalesforceSourceConfig({ + this.excludeObjects, + this.includeObjects, + this.pollingInterval, + }); + + SalesforceSourceConfig.fromJson(core.Map json_) + : this( + excludeObjects: json_.containsKey('excludeObjects') + ? SalesforceOrg.fromJson(json_['excludeObjects'] + as core.Map) + : null, + includeObjects: json_.containsKey('includeObjects') + ? SalesforceOrg.fromJson(json_['includeObjects'] + as core.Map) + : null, + pollingInterval: json_['pollingInterval'] as core.String?, + ); + + core.Map toJson() => { + if (excludeObjects != null) 'excludeObjects': excludeObjects!, + if (includeObjects != null) 'includeObjects': includeObjects!, + if (pollingInterval != null) 'pollingInterval': pollingInterval!, + }; +} + +/// Message represents the option where Datastream will enforce the encryption +/// and authenticate the server identity as well as the client identity. +/// +/// ca_certificate, client_certificate and client_key must be set if user +/// selects this option. +class ServerAndClientVerification { + /// Input only. + /// + /// PEM-encoded server root CA certificate. + /// + /// Required. + core.String? caCertificate; + + /// Input only. + /// + /// PEM-encoded certificate used by the source database to authenticate the + /// client identity (i.e., the Datastream's identity). This certificate is + /// signed by either a root certificate trusted by the server or one or more + /// intermediate certificates (which is stored with the leaf certificate) to + /// link the this certificate to the trusted root certificate. + /// + /// Required. + core.String? clientCertificate; + + /// Input only. + /// + /// PEM-encoded private key associated with the client certificate. This value + /// will be used during the SSL/TLS handshake, allowing the PostgreSQL server + /// to authenticate the client's identity, i.e. identity of the Datastream. + /// Mutually exclusive with the `secret_manager_stored_client_key` field. + /// + /// Optional. + core.String? clientKey; + + ServerAndClientVerification({ + this.caCertificate, + this.clientCertificate, + this.clientKey, + }); + + ServerAndClientVerification.fromJson(core.Map json_) + : this( + caCertificate: json_['caCertificate'] as core.String?, + clientCertificate: json_['clientCertificate'] as core.String?, + clientKey: json_['clientKey'] as core.String?, + ); + + core.Map toJson() => { + if (caCertificate != null) 'caCertificate': caCertificate!, + if (clientCertificate != null) 'clientCertificate': clientCertificate!, + if (clientKey != null) 'clientKey': clientKey!, + }; +} + +/// Message represents the option where Datastream will enforce the encryption +/// and authenticate the server identity. +/// +/// ca_certificate must be set if user selects this option. +class ServerVerification { + /// Input only. + /// + /// PEM-encoded server root CA certificate. + /// + /// Required. + core.String? caCertificate; + + ServerVerification({ + this.caCertificate, + }); + + ServerVerification.fromJson(core.Map json_) + : this( + caCertificate: json_['caCertificate'] as core.String?, + ); + + core.Map toJson() => { + if (caCertificate != null) 'caCertificate': caCertificate!, + }; +} + /// A single target dataset to which all data will be streamed. class SingleTargetDataset { /// The dataset ID of the target dataset. @@ -4387,7 +4895,10 @@ class SourceConfig { /// PostgreSQL data source configuration. PostgresqlSourceConfig? postgresqlSourceConfig; - /// Source connection profile resoource. + /// Salesforce data source configuration. + SalesforceSourceConfig? salesforceSourceConfig; + + /// Source connection profile resource. /// /// Format: /// `projects/{project}/locations/{location}/connectionProfiles/{name}` @@ -4402,6 +4913,7 @@ class SourceConfig { this.mysqlSourceConfig, this.oracleSourceConfig, this.postgresqlSourceConfig, + this.salesforceSourceConfig, this.sourceConnectionProfile, this.sqlServerSourceConfig, }); @@ -4420,6 +4932,10 @@ class SourceConfig { ? PostgresqlSourceConfig.fromJson(json_['postgresqlSourceConfig'] as core.Map) : null, + salesforceSourceConfig: json_.containsKey('salesforceSourceConfig') + ? SalesforceSourceConfig.fromJson(json_['salesforceSourceConfig'] + as core.Map) + : null, sourceConnectionProfile: json_['sourceConnectionProfile'] as core.String?, sqlServerSourceConfig: json_.containsKey('sqlServerSourceConfig') @@ -4434,6 +4950,8 @@ class SourceConfig { 'oracleSourceConfig': oracleSourceConfig!, if (postgresqlSourceConfig != null) 'postgresqlSourceConfig': postgresqlSourceConfig!, + if (salesforceSourceConfig != null) + 'salesforceSourceConfig': salesforceSourceConfig!, if (sourceConnectionProfile != null) 'sourceConnectionProfile': sourceConnectionProfile!, if (sqlServerSourceConfig != null) @@ -4475,6 +4993,9 @@ class SourceObjectIdentifier { /// PostgreSQL data source object identifier. PostgresqlObjectIdentifier? postgresqlIdentifier; + /// Salesforce data source object identifier. + SalesforceObjectIdentifier? salesforceIdentifier; + /// SQLServer data source object identifier. SqlServerObjectIdentifier? sqlServerIdentifier; @@ -4482,6 +5003,7 @@ class SourceObjectIdentifier { this.mysqlIdentifier, this.oracleIdentifier, this.postgresqlIdentifier, + this.salesforceIdentifier, this.sqlServerIdentifier, }); @@ -4500,6 +5022,11 @@ class SourceObjectIdentifier { json_['postgresqlIdentifier'] as core.Map) : null, + salesforceIdentifier: json_.containsKey('salesforceIdentifier') + ? SalesforceObjectIdentifier.fromJson( + json_['salesforceIdentifier'] + as core.Map) + : null, sqlServerIdentifier: json_.containsKey('sqlServerIdentifier') ? SqlServerObjectIdentifier.fromJson(json_['sqlServerIdentifier'] as core.Map) @@ -4511,6 +5038,8 @@ class SourceObjectIdentifier { if (oracleIdentifier != null) 'oracleIdentifier': oracleIdentifier!, if (postgresqlIdentifier != null) 'postgresqlIdentifier': postgresqlIdentifier!, + if (salesforceIdentifier != null) + 'salesforceIdentifier': salesforceIdentifier!, if (sqlServerIdentifier != null) 'sqlServerIdentifier': sqlServerIdentifier!, }; @@ -4518,6 +5047,9 @@ class SourceObjectIdentifier { /// CDC strategy to start replicating from a specific position in the source. class SpecificStartPosition { + /// MySQL GTID set to start replicating from. + MysqlGtidPosition? mysqlGtidPosition; + /// MySQL specific log position to start replicating from. MysqlLogPosition? mysqlLogPosition; @@ -4528,6 +5060,7 @@ class SpecificStartPosition { SqlServerLsnPosition? sqlServerLsnPosition; SpecificStartPosition({ + this.mysqlGtidPosition, this.mysqlLogPosition, this.oracleScnPosition, this.sqlServerLsnPosition, @@ -4535,6 +5068,10 @@ class SpecificStartPosition { SpecificStartPosition.fromJson(core.Map json_) : this( + mysqlGtidPosition: json_.containsKey('mysqlGtidPosition') + ? MysqlGtidPosition.fromJson(json_['mysqlGtidPosition'] + as core.Map) + : null, mysqlLogPosition: json_.containsKey('mysqlLogPosition') ? MysqlLogPosition.fromJson(json_['mysqlLogPosition'] as core.Map) @@ -4550,6 +5087,7 @@ class SpecificStartPosition { ); core.Map toJson() => { + if (mysqlGtidPosition != null) 'mysqlGtidPosition': mysqlGtidPosition!, if (mysqlLogPosition != null) 'mysqlLogPosition': mysqlLogPosition!, if (oracleScnPosition != null) 'oracleScnPosition': oracleScnPosition!, if (sqlServerLsnPosition != null) @@ -4646,8 +5184,6 @@ class SqlServerLsnPosition { typedef SqlServerObjectIdentifier = $ObjectIdentifier; /// SQLServer database profile. -/// -/// Next ID: 8. class SqlServerProfile { /// Database for the SQLServer connection. /// @@ -4973,6 +5509,16 @@ class Stream { /// Output only. core.String? name; + /// Reserved for future use. + /// + /// Output only. + core.bool? satisfiesPzi; + + /// Reserved for future use. + /// + /// Output only. + core.bool? satisfiesPzs; + /// Source connection profile configuration. /// /// Required. @@ -5011,6 +5557,8 @@ class Stream { this.labels, this.lastRecoveryTime, this.name, + this.satisfiesPzi, + this.satisfiesPzs, this.sourceConfig, this.state, this.updateTime, @@ -5047,6 +5595,8 @@ class Stream { ), lastRecoveryTime: json_['lastRecoveryTime'] as core.String?, name: json_['name'] as core.String?, + satisfiesPzi: json_['satisfiesPzi'] as core.bool?, + satisfiesPzs: json_['satisfiesPzs'] as core.bool?, sourceConfig: json_.containsKey('sourceConfig') ? SourceConfig.fromJson( json_['sourceConfig'] as core.Map) @@ -5067,6 +5617,8 @@ class Stream { if (labels != null) 'labels': labels!, if (lastRecoveryTime != null) 'lastRecoveryTime': lastRecoveryTime!, if (name != null) 'name': name!, + if (satisfiesPzi != null) 'satisfiesPzi': satisfiesPzi!, + if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, if (sourceConfig != null) 'sourceConfig': sourceConfig!, if (state != null) 'state': state!, if (updateTime != null) 'updateTime': updateTime!, @@ -5152,6 +5704,73 @@ class StreamObject { }; } +/// Username-password credentials. +class UserCredentials { + /// Password for the Salesforce connection. + /// + /// Mutually exclusive with the `secret_manager_stored_password` field. + /// + /// Optional. + core.String? password; + + /// A reference to a Secret Manager resource name storing the Salesforce + /// connection's password. + /// + /// Mutually exclusive with the `password` field. + /// + /// Optional. + core.String? secretManagerStoredPassword; + + /// A reference to a Secret Manager resource name storing the Salesforce + /// connection's security token. + /// + /// Mutually exclusive with the `security_token` field. + /// + /// Optional. + core.String? secretManagerStoredSecurityToken; + + /// Security token for the Salesforce connection. + /// + /// Mutually exclusive with the `secret_manager_stored_security_token` field. + /// + /// Optional. + core.String? securityToken; + + /// Username for the Salesforce connection. + /// + /// Required. + core.String? username; + + UserCredentials({ + this.password, + this.secretManagerStoredPassword, + this.secretManagerStoredSecurityToken, + this.securityToken, + this.username, + }); + + UserCredentials.fromJson(core.Map json_) + : this( + password: json_['password'] as core.String?, + secretManagerStoredPassword: + json_['secretManagerStoredPassword'] as core.String?, + secretManagerStoredSecurityToken: + json_['secretManagerStoredSecurityToken'] as core.String?, + securityToken: json_['securityToken'] as core.String?, + username: json_['username'] as core.String?, + ); + + core.Map toJson() => { + if (password != null) 'password': password!, + if (secretManagerStoredPassword != null) + 'secretManagerStoredPassword': secretManagerStoredPassword!, + if (secretManagerStoredSecurityToken != null) + 'secretManagerStoredSecurityToken': secretManagerStoredSecurityToken!, + if (securityToken != null) 'securityToken': securityToken!, + if (username != null) 'username': username!, + }; +} + /// The VPC Peering configuration is used to create VPC peering between /// Datastream and the consumer's VPC. class VpcPeeringConfig { diff --git a/generated/googleapis/lib/developerconnect/v1.dart b/generated/googleapis/lib/developerconnect/v1.dart index 25f764921..53a6ce69e 100644 --- a/generated/googleapis/lib/developerconnect/v1.dart +++ b/generated/googleapis/lib/developerconnect/v1.dart @@ -991,6 +991,97 @@ class ProjectsLocationsConnectionsGitRepositoryLinksResource { response_ as core.Map); } + /// ProcessBitbucketCloudWebhook is called by the external Bitbucket Cloud + /// instances for notifying events. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [name] - Required. The GitRepositoryLink where the webhook will be + /// received. Format: `projects / * /locations / * /connections / * + /// /gitRepositoryLinks / * `. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/connections/\[^/\]+/gitRepositoryLinks/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Empty]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future processBitbucketCloudWebhook( + ProcessBitbucketCloudWebhookRequest request, + core.String name, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v1/' + core.Uri.encodeFull('$name') + ':processBitbucketCloudWebhook'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Empty.fromJson(response_ as core.Map); + } + + /// ProcessBitbucketDataCenterWebhook is called by the external Bitbucket Data + /// Center instances for notifying events. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [name] - Required. The GitRepositoryLink where the webhook will be + /// received. Format: `projects / * /locations / * /connections / * + /// /gitRepositoryLinks / * `. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/connections/\[^/\]+/gitRepositoryLinks/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Empty]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future processBitbucketDataCenterWebhook( + ProcessBitbucketDataCenterWebhookRequest request, + core.String name, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + + core.Uri.encodeFull('$name') + + ':processBitbucketDataCenterWebhook'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Empty.fromJson(response_ as core.Map); + } + /// ProcessGitLabEnterpriseWebhook is called by the external GitLab Enterprise /// instances for notifying events. /// @@ -1267,6 +1358,171 @@ class ProjectsLocationsOperationsResource { } } +/// Configuration for connections to an instance of Bitbucket Cloud. +class BitbucketCloudConfig { + /// An access token with the minimum `repository`, `pullrequest` and `webhook` + /// scope access. + /// + /// It can either be a workspace, project or repository access token. This is + /// needed to create webhooks. It's recommended to use a system account to + /// generate these credentials. + /// + /// Required. + UserCredential? authorizerCredential; + + /// An access token with the minimum `repository` access. + /// + /// It can either be a workspace, project or repository access token. It's + /// recommended to use a system account to generate the credentials. + /// + /// Required. + UserCredential? readAuthorizerCredential; + + /// SecretManager resource containing the webhook secret used to verify + /// webhook events, formatted as `projects / * /secrets / * /versions / * `. + /// + /// This is used to validate and create webhooks. + /// + /// Required. Immutable. + core.String? webhookSecretSecretVersion; + + /// The Bitbucket Cloud Workspace ID to be connected to Google Cloud Platform. + /// + /// Required. + core.String? workspace; + + BitbucketCloudConfig({ + this.authorizerCredential, + this.readAuthorizerCredential, + this.webhookSecretSecretVersion, + this.workspace, + }); + + BitbucketCloudConfig.fromJson(core.Map json_) + : this( + authorizerCredential: json_.containsKey('authorizerCredential') + ? UserCredential.fromJson(json_['authorizerCredential'] + as core.Map) + : null, + readAuthorizerCredential: + json_.containsKey('readAuthorizerCredential') + ? UserCredential.fromJson(json_['readAuthorizerCredential'] + as core.Map) + : null, + webhookSecretSecretVersion: + json_['webhookSecretSecretVersion'] as core.String?, + workspace: json_['workspace'] as core.String?, + ); + + core.Map toJson() => { + if (authorizerCredential != null) + 'authorizerCredential': authorizerCredential!, + if (readAuthorizerCredential != null) + 'readAuthorizerCredential': readAuthorizerCredential!, + if (webhookSecretSecretVersion != null) + 'webhookSecretSecretVersion': webhookSecretSecretVersion!, + if (workspace != null) 'workspace': workspace!, + }; +} + +/// Configuration for connections to an instance of Bitbucket Data Center. +class BitbucketDataCenterConfig { + /// An http access token with the minimum `Repository admin` scope access. + /// + /// This is needed to create webhooks. It's recommended to use a system + /// account to generate these credentials. + /// + /// Required. + UserCredential? authorizerCredential; + + /// The URI of the Bitbucket Data Center host this connection is for. + /// + /// Required. + core.String? hostUri; + + /// An http access token with the minimum `Repository read` access. + /// + /// It's recommended to use a system account to generate the credentials. + /// + /// Required. + UserCredential? readAuthorizerCredential; + + /// Version of the Bitbucket Data Center server running on the `host_uri`. + /// + /// Output only. + core.String? serverVersion; + + /// Configuration for using Service Directory to privately connect to a + /// Bitbucket Data Center instance. + /// + /// This should only be set if the Bitbucket Data Center is hosted on-premises + /// and not reachable by public internet. If this field is left empty, calls + /// to the Bitbucket Data Center will be made over the public internet. + /// + /// Optional. + ServiceDirectoryConfig? serviceDirectoryConfig; + + /// SSL certificate authority to trust when making requests to Bitbucket Data + /// Center. + /// + /// Optional. + core.String? sslCaCertificate; + + /// SecretManager resource containing the webhook secret used to verify + /// webhook events, formatted as `projects / * /secrets / * /versions / * `. + /// + /// This is used to validate webhooks. + /// + /// Required. Immutable. + core.String? webhookSecretSecretVersion; + + BitbucketDataCenterConfig({ + this.authorizerCredential, + this.hostUri, + this.readAuthorizerCredential, + this.serverVersion, + this.serviceDirectoryConfig, + this.sslCaCertificate, + this.webhookSecretSecretVersion, + }); + + BitbucketDataCenterConfig.fromJson(core.Map json_) + : this( + authorizerCredential: json_.containsKey('authorizerCredential') + ? UserCredential.fromJson(json_['authorizerCredential'] + as core.Map) + : null, + hostUri: json_['hostUri'] as core.String?, + readAuthorizerCredential: + json_.containsKey('readAuthorizerCredential') + ? UserCredential.fromJson(json_['readAuthorizerCredential'] + as core.Map) + : null, + serverVersion: json_['serverVersion'] as core.String?, + serviceDirectoryConfig: json_.containsKey('serviceDirectoryConfig') + ? ServiceDirectoryConfig.fromJson(json_['serviceDirectoryConfig'] + as core.Map) + : null, + sslCaCertificate: json_['sslCaCertificate'] as core.String?, + webhookSecretSecretVersion: + json_['webhookSecretSecretVersion'] as core.String?, + ); + + core.Map toJson() => { + if (authorizerCredential != null) + 'authorizerCredential': authorizerCredential!, + if (hostUri != null) 'hostUri': hostUri!, + if (readAuthorizerCredential != null) + 'readAuthorizerCredential': readAuthorizerCredential!, + if (serverVersion != null) 'serverVersion': serverVersion!, + if (serviceDirectoryConfig != null) + 'serviceDirectoryConfig': serviceDirectoryConfig!, + if (sslCaCertificate != null) 'sslCaCertificate': sslCaCertificate!, + if (webhookSecretSecretVersion != null) + 'webhookSecretSecretVersion': webhookSecretSecretVersion!, + }; +} + /// The request message for Operations.CancelOperation. typedef CancelOperationRequest = $Empty; @@ -1277,6 +1533,12 @@ class Connection { /// Optional. core.Map? annotations; + /// Configuration for connections to an instance of Bitbucket Clouds. + BitbucketCloudConfig? bitbucketCloudConfig; + + /// Configuration for connections to an instance of Bitbucket Data Center. + BitbucketDataCenterConfig? bitbucketDataCenterConfig; + /// Create timestamp /// /// Output only. @@ -1309,6 +1571,14 @@ class Connection { /// Optional. core.String? etag; + /// Configuration for the git proxy feature. + /// + /// Enabling the git proxy allows clients to perform git operations on the + /// repositories linked in the connection. + /// + /// Optional. + GitProxyConfig? gitProxyConfig; + /// Configuration for connections to github.com. GitHubConfig? githubConfig; @@ -1355,11 +1625,14 @@ class Connection { Connection({ this.annotations, + this.bitbucketCloudConfig, + this.bitbucketDataCenterConfig, this.createTime, this.cryptoKeyConfig, this.deleteTime, this.disabled, this.etag, + this.gitProxyConfig, this.githubConfig, this.githubEnterpriseConfig, this.gitlabConfig, @@ -1382,6 +1655,16 @@ class Connection { value as core.String, ), ), + bitbucketCloudConfig: json_.containsKey('bitbucketCloudConfig') + ? BitbucketCloudConfig.fromJson(json_['bitbucketCloudConfig'] + as core.Map) + : null, + bitbucketDataCenterConfig: + json_.containsKey('bitbucketDataCenterConfig') + ? BitbucketDataCenterConfig.fromJson( + json_['bitbucketDataCenterConfig'] + as core.Map) + : null, createTime: json_['createTime'] as core.String?, cryptoKeyConfig: json_.containsKey('cryptoKeyConfig') ? CryptoKeyConfig.fromJson(json_['cryptoKeyConfig'] @@ -1390,6 +1673,10 @@ class Connection { deleteTime: json_['deleteTime'] as core.String?, disabled: json_['disabled'] as core.bool?, etag: json_['etag'] as core.String?, + gitProxyConfig: json_.containsKey('gitProxyConfig') + ? GitProxyConfig.fromJson(json_['gitProxyConfig'] + as core.Map) + : null, githubConfig: json_.containsKey('githubConfig') ? GitHubConfig.fromJson( json_['githubConfig'] as core.Map) @@ -1425,11 +1712,16 @@ class Connection { core.Map toJson() => { if (annotations != null) 'annotations': annotations!, + if (bitbucketCloudConfig != null) + 'bitbucketCloudConfig': bitbucketCloudConfig!, + if (bitbucketDataCenterConfig != null) + 'bitbucketDataCenterConfig': bitbucketDataCenterConfig!, if (createTime != null) 'createTime': createTime!, if (cryptoKeyConfig != null) 'cryptoKeyConfig': cryptoKeyConfig!, if (deleteTime != null) 'deleteTime': deleteTime!, if (disabled != null) 'disabled': disabled!, if (etag != null) 'etag': etag!, + if (gitProxyConfig != null) 'gitProxyConfig': gitProxyConfig!, if (githubConfig != null) 'githubConfig': githubConfig!, if (githubEnterpriseConfig != null) 'githubEnterpriseConfig': githubEnterpriseConfig!, @@ -1876,6 +2168,28 @@ class GitLabEnterpriseConfig { }; } +/// The git proxy configuration. +class GitProxyConfig { + /// Setting this to true allows the git proxy to be used for performing git + /// operations on the repositories linked in the connection. + /// + /// Optional. + core.bool? enabled; + + GitProxyConfig({ + this.enabled, + }); + + GitProxyConfig.fromJson(core.Map json_) + : this( + enabled: json_['enabled'] as core.bool?, + ); + + core.Map toJson() => { + if (enabled != null) 'enabled': enabled!, + }; +} + /// Message describing the GitRepositoryLink object class GitRepositoryLink { /// Allows clients to store small amounts of arbitrary data. @@ -1905,6 +2219,14 @@ class GitRepositoryLink { /// Optional. core.String? etag; + /// URI to access the linked repository through the Git Proxy. + /// + /// This field is only populated if the git proxy is enabled for the + /// connection. + /// + /// Output only. + core.String? gitProxyUri; + /// Labels as key value pairs /// /// Optional. @@ -1943,6 +2265,7 @@ class GitRepositoryLink { this.createTime, this.deleteTime, this.etag, + this.gitProxyUri, this.labels, this.name, this.reconciling, @@ -1965,6 +2288,7 @@ class GitRepositoryLink { createTime: json_['createTime'] as core.String?, deleteTime: json_['deleteTime'] as core.String?, etag: json_['etag'] as core.String?, + gitProxyUri: json_['gitProxyUri'] as core.String?, labels: (json_['labels'] as core.Map?)?.map( (key, value) => core.MapEntry( @@ -1985,6 +2309,7 @@ class GitRepositoryLink { if (createTime != null) 'createTime': createTime!, if (deleteTime != null) 'deleteTime': deleteTime!, if (etag != null) 'etag': etag!, + if (gitProxyUri != null) 'gitProxyUri': gitProxyUri!, if (labels != null) 'labels': labels!, if (name != null) 'name': name!, if (reconciling != null) 'reconciling': reconciling!, @@ -2314,6 +2639,55 @@ class Operation { }; } +/// RPC request object accepted by the ProcessBitbucketCloudWebhook RPC method. +class ProcessBitbucketCloudWebhookRequest { + /// HTTP request body. + /// + /// Required. + HttpBody? body; + + ProcessBitbucketCloudWebhookRequest({ + this.body, + }); + + ProcessBitbucketCloudWebhookRequest.fromJson(core.Map json_) + : this( + body: json_.containsKey('body') + ? HttpBody.fromJson( + json_['body'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (body != null) 'body': body!, + }; +} + +/// RPC request object accepted by the ProcessBitbucketDataCenterWebhook RPC +/// method. +class ProcessBitbucketDataCenterWebhookRequest { + /// HTTP request body. + /// + /// Required. + HttpBody? body; + + ProcessBitbucketDataCenterWebhookRequest({ + this.body, + }); + + ProcessBitbucketDataCenterWebhookRequest.fromJson(core.Map json_) + : this( + body: json_.containsKey('body') + ? HttpBody.fromJson( + json_['body'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (body != null) 'body': body!, + }; +} + /// RPC request object accepted by the ProcessGitHubEnterpriseWebhook RPC /// method. class ProcessGitHubEnterpriseWebhookRequest { diff --git a/generated/googleapis/lib/dfareporting/v4.dart b/generated/googleapis/lib/dfareporting/v4.dart index b4d8bad56..15a5819f2 100644 --- a/generated/googleapis/lib/dfareporting/v4.dart +++ b/generated/googleapis/lib/dfareporting/v4.dart @@ -14363,19 +14363,20 @@ class CartData { /// The feed labels associated with the feed where your items are uploaded. /// /// For more information, please refer to ​​ - /// https://support.google.com/merchants/answer/12453549. This is a required - /// field. + /// https://support.google.com/merchants/answer/12453549. Providing the feed + /// label reduces ambiguity in identifying the right offer details. core.String? merchantFeedLabel; /// The language associated with the feed where your items are uploaded. /// - /// Use ISO 639-1 language codes. This field is needed only when item IDs are - /// not unique across multiple Merchant Center feeds. + /// Use ISO 639-1 language codes. Providing the feed language reduces + /// ambiguity in identifying the right offer details. core.String? merchantFeedLanguage; /// The Merchant Center ID where the items are uploaded. /// - /// This is a required field. + /// Providing Merchant Center ID reduces ambiguity in identifying the right + /// offer details. core.String? merchantId; CartData({ @@ -15268,6 +15269,7 @@ class Conversion { /// The value of the conversion. /// + /// Interpreted in CM360 Floodlight config parent advertiser's currency code. /// This is a required field. core.double? value; @@ -27012,6 +27014,14 @@ class TagSetting { /// Whether click-tracking string should be included in the tags. core.bool? includeClickTracking; + /// Indicates that the unescapedlpurl macro should be included in the tag for + /// the static landing page. + /// + /// New placements will default to the value set on their site. + /// + /// Optional. + core.bool? includeUnescapedlpurlMacro; + /// Option specifying how keywords are embedded in ad tags. /// /// This setting can be used to specify whether keyword placeholders are @@ -27035,6 +27045,7 @@ class TagSetting { this.additionalKeyValues, this.includeClickThroughUrls, this.includeClickTracking, + this.includeUnescapedlpurlMacro, this.keywordOption, }); @@ -27044,6 +27055,8 @@ class TagSetting { includeClickThroughUrls: json_['includeClickThroughUrls'] as core.bool?, includeClickTracking: json_['includeClickTracking'] as core.bool?, + includeUnescapedlpurlMacro: + json_['includeUnescapedlpurlMacro'] as core.bool?, keywordOption: json_['keywordOption'] as core.String?, ); @@ -27054,6 +27067,8 @@ class TagSetting { 'includeClickThroughUrls': includeClickThroughUrls!, if (includeClickTracking != null) 'includeClickTracking': includeClickTracking!, + if (includeUnescapedlpurlMacro != null) + 'includeUnescapedlpurlMacro': includeUnescapedlpurlMacro!, if (keywordOption != null) 'keywordOption': keywordOption!, }; } diff --git a/generated/googleapis/lib/dialogflow/v2.dart b/generated/googleapis/lib/dialogflow/v2.dart index c3eb359a9..8b0874e3c 100644 --- a/generated/googleapis/lib/dialogflow/v2.dart +++ b/generated/googleapis/lib/dialogflow/v2.dart @@ -4048,8 +4048,12 @@ class ProjectsAnswerRecordsResource { /// Value must have pattern `^projects/\[^/\]+$`. /// /// [filter] - Optional. Filters to restrict results to specific answer - /// records. Marked deprecated as it hasn't been, and isn't currently, - /// supported. For more information about filtering, see + /// records. The expression has the following syntax: \[AND \] ... The + /// following fields and operators are supported: * conversation_id with + /// equals(=) operator Examples: * `conversation_id=bar` matches answer + /// records in the `projects/foo/locations/global/conversations/bar` + /// conversation (assuming the parent is `projects/foo/locations/global`). For + /// more information about filtering, see /// [API Filtering](https://aip.dev/160). /// /// [pageSize] - Optional. The maximum number of records to return in a single @@ -5717,6 +5721,54 @@ class ProjectsConversationsSuggestionsResource { ProjectsConversationsSuggestionsResource(commons.ApiRequester client) : _requester = client; + /// Generates all the suggestions using generators configured in the + /// conversation profile. + /// + /// A generator is used only if its trigger event is matched. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [conversation] - Required. The conversation for which the suggestions are + /// generated. Format: `projects//locations//conversations/`. The conversation + /// must be created with a conversation profile which has generators + /// configured in it to be able to get suggestions. + /// Value must have pattern `^projects/\[^/\]+/conversations/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleCloudDialogflowV2GenerateSuggestionsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future generate( + GoogleCloudDialogflowV2GenerateSuggestionsRequest request, + core.String conversation, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v2/' + core.Uri.encodeFull('$conversation') + '/suggestions:generate'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return GoogleCloudDialogflowV2GenerateSuggestionsResponse.fromJson( + response_ as core.Map); + } + /// Get answers for the given query based on knowledge documents. /// /// [request] - The metadata request object. @@ -10100,8 +10152,12 @@ class ProjectsLocationsAnswerRecordsResource { /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. /// /// [filter] - Optional. Filters to restrict results to specific answer - /// records. Marked deprecated as it hasn't been, and isn't currently, - /// supported. For more information about filtering, see + /// records. The expression has the following syntax: \[AND \] ... The + /// following fields and operators are supported: * conversation_id with + /// equals(=) operator Examples: * `conversation_id=bar` matches answer + /// records in the `projects/foo/locations/global/conversations/bar` + /// conversation (assuming the parent is `projects/foo/locations/global`). For + /// more information about filtering, see /// [API Filtering](https://aip.dev/160). /// /// [pageSize] - Optional. The maximum number of records to return in a single @@ -11365,6 +11421,55 @@ class ProjectsLocationsConversationsResource { response_ as core.Map); } + /// Data ingestion API. + /// + /// Ingests context references for an existing conversation. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [conversation] - Required. Resource identifier of the conversation to + /// ingest context information for. Format: + /// `projects//locations//conversations/`. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/conversations/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleCloudDialogflowV2IngestContextReferencesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future + ingestContextReferences( + GoogleCloudDialogflowV2IngestContextReferencesRequest request, + core.String conversation, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v2/' + + core.Uri.encodeFull('$conversation') + + ':ingestContextReferences'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return GoogleCloudDialogflowV2IngestContextReferencesResponse.fromJson( + response_ as core.Map); + } + /// Returns the list of all conversations in the specified project. /// /// Request parameters: @@ -11927,6 +12032,55 @@ class ProjectsLocationsConversationsSuggestionsResource { ProjectsLocationsConversationsSuggestionsResource(commons.ApiRequester client) : _requester = client; + /// Generates all the suggestions using generators configured in the + /// conversation profile. + /// + /// A generator is used only if its trigger event is matched. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [conversation] - Required. The conversation for which the suggestions are + /// generated. Format: `projects//locations//conversations/`. The conversation + /// must be created with a conversation profile which has generators + /// configured in it to be able to get suggestions. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/conversations/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleCloudDialogflowV2GenerateSuggestionsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future generate( + GoogleCloudDialogflowV2GenerateSuggestionsRequest request, + core.String conversation, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v2/' + core.Uri.encodeFull('$conversation') + '/suggestions:generate'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return GoogleCloudDialogflowV2GenerateSuggestionsResponse.fromJson( + response_ as core.Map); + } + /// Get answers for the given query based on knowledge documents. /// /// [request] - The metadata request object. @@ -13689,7 +13843,7 @@ class GoogleCloudDialogflowV2AgentAssistantFeedback { /// For example: * Query: "Can I return the package in 2 days once received?" /// * Suggested document says: "Items must be returned/exchanged within 60 /// days of the purchase date." * Ground truth: "No return or exchange is - /// allowed." * \[document_correctness\]: INCORRECT + /// allowed." * document_correctness: INCORRECT /// /// Optional. /// Possible string values are: @@ -13945,6 +14099,9 @@ class GoogleCloudDialogflowV2AnalyzeContentRequest { /// Parameters for a human assist query. GoogleCloudDialogflowV2AssistQueryParameters? assistQueryParams; + /// The natural language speech audio to be processed. + GoogleCloudDialogflowV2AudioInput? audioInput; + /// Additional parameters to be put into Dialogflow CX session parameters. /// /// To remove a parameter from the session, clients should explicitly set the @@ -13983,6 +14140,7 @@ class GoogleCloudDialogflowV2AnalyzeContentRequest { GoogleCloudDialogflowV2AnalyzeContentRequest({ this.assistQueryParams, + this.audioInput, this.cxParameters, this.eventInput, this.queryParams, @@ -13999,6 +14157,10 @@ class GoogleCloudDialogflowV2AnalyzeContentRequest { json_['assistQueryParams'] as core.Map) : null, + audioInput: json_.containsKey('audioInput') + ? GoogleCloudDialogflowV2AudioInput.fromJson( + json_['audioInput'] as core.Map) + : null, cxParameters: json_.containsKey('cxParameters') ? json_['cxParameters'] as core.Map : null, @@ -14029,6 +14191,7 @@ class GoogleCloudDialogflowV2AnalyzeContentRequest { core.Map toJson() => { if (assistQueryParams != null) 'assistQueryParams': assistQueryParams!, + if (audioInput != null) 'audioInput': audioInput!, if (cxParameters != null) 'cxParameters': cxParameters!, if (eventInput != null) 'eventInput': eventInput!, if (queryParams != null) 'queryParams': queryParams!, @@ -14455,6 +14618,48 @@ class GoogleCloudDialogflowV2AssistQueryParameters { }; } +/// Represents the natural language speech audio to be processed. +class GoogleCloudDialogflowV2AudioInput { + /// The natural language speech audio to be processed. + /// + /// A single request can contain up to 2 minutes of speech audio data. The + /// transcribed text cannot contain more than 256 bytes for virtual agent + /// interactions. + /// + /// Required. + core.String? audio; + core.List get audioAsBytes => convert.base64.decode(audio!); + + set audioAsBytes(core.List bytes_) { + audio = + convert.base64.encode(bytes_).replaceAll('/', '_').replaceAll('+', '-'); + } + + /// Instructs the speech recognizer how to process the speech audio. + /// + /// Required. + GoogleCloudDialogflowV2InputAudioConfig? config; + + GoogleCloudDialogflowV2AudioInput({ + this.audio, + this.config, + }); + + GoogleCloudDialogflowV2AudioInput.fromJson(core.Map json_) + : this( + audio: json_['audio'] as core.String?, + config: json_.containsKey('config') + ? GoogleCloudDialogflowV2InputAudioConfig.fromJson( + json_['config'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (audio != null) 'audio': audio!, + if (config != null) 'config': config!, + }; +} + /// Defines the Automated Agent to connect to a conversation. class GoogleCloudDialogflowV2AutomatedAgentConfig { /// ID of the Dialogflow agent environment to use. @@ -14867,6 +15072,8 @@ class GoogleCloudDialogflowV2ClearSuggestionFeatureConfigRequest { /// - "ARTICLE_SUGGESTION" : Run article suggestion model for chat. /// - "FAQ" : Run FAQ model for chat. /// - "SMART_REPLY" : Run smart reply model for chat. + /// - "CONVERSATION_SUMMARIZATION" : Run conversation summarization model for + /// chat. /// - "KNOWLEDGE_SEARCH" : Run knowledge search with text input from agent or /// text generated query. /// - "KNOWLEDGE_ASSIST" : Run knowledge assist with automatic query @@ -15015,6 +15222,12 @@ class GoogleCloudDialogflowV2Conversation { /// Output only. core.String? endTime; + /// The context reference updates provided by external systems. + /// + /// Output only. + core.Map? + ingestedContextReferences; + /// The current state of the Conversation. /// /// Output only. @@ -15043,14 +15256,22 @@ class GoogleCloudDialogflowV2Conversation { /// Output only. core.String? startTime; + /// The telephony connection information. + /// + /// Output only. + GoogleCloudDialogflowV2ConversationTelephonyConnectionInfo? + telephonyConnectionInfo; + GoogleCloudDialogflowV2Conversation({ this.conversationProfile, this.conversationStage, this.endTime, + this.ingestedContextReferences, this.lifecycleState, this.name, this.phoneNumber, this.startTime, + this.telephonyConnectionInfo, }); GoogleCloudDialogflowV2Conversation.fromJson(core.Map json_) @@ -15058,6 +15279,15 @@ class GoogleCloudDialogflowV2Conversation { conversationProfile: json_['conversationProfile'] as core.String?, conversationStage: json_['conversationStage'] as core.String?, endTime: json_['endTime'] as core.String?, + ingestedContextReferences: (json_['ingestedContextReferences'] + as core.Map?) + ?.map( + (key, value) => core.MapEntry( + key, + GoogleCloudDialogflowV2ConversationContextReference.fromJson( + value as core.Map), + ), + ), lifecycleState: json_['lifecycleState'] as core.String?, name: json_['name'] as core.String?, phoneNumber: json_.containsKey('phoneNumber') @@ -15065,6 +15295,11 @@ class GoogleCloudDialogflowV2Conversation { json_['phoneNumber'] as core.Map) : null, startTime: json_['startTime'] as core.String?, + telephonyConnectionInfo: json_.containsKey('telephonyConnectionInfo') + ? GoogleCloudDialogflowV2ConversationTelephonyConnectionInfo + .fromJson(json_['telephonyConnectionInfo'] + as core.Map) + : null, ); core.Map toJson() => { @@ -15072,10 +15307,14 @@ class GoogleCloudDialogflowV2Conversation { 'conversationProfile': conversationProfile!, if (conversationStage != null) 'conversationStage': conversationStage!, if (endTime != null) 'endTime': endTime!, + if (ingestedContextReferences != null) + 'ingestedContextReferences': ingestedContextReferences!, if (lifecycleState != null) 'lifecycleState': lifecycleState!, if (name != null) 'name': name!, if (phoneNumber != null) 'phoneNumber': phoneNumber!, if (startTime != null) 'startTime': startTime!, + if (telephonyConnectionInfo != null) + 'telephonyConnectionInfo': telephonyConnectionInfo!, }; } @@ -15103,6 +15342,103 @@ class GoogleCloudDialogflowV2ConversationContext { }; } +/// Represents a section of ingested context information. +class GoogleCloudDialogflowV2ConversationContextReference { + /// The list of content updates for a context reference. + /// + /// Required. + core.List? + contextContents; + + /// The time the context reference was first created. + /// + /// Output only. + core.String? createTime; + + /// The language of the information ingested, defaults to "en-US" if not set. + /// + /// Optional. + core.String? languageCode; + + /// The mode in which context reference contents are updated. + /// + /// Required. + /// Possible string values are: + /// - "UPDATE_MODE_UNSPECIFIED" : Unspecified update mode. + /// - "APPEND" : Context content updates are applied in append mode. + /// - "OVERWRITE" : Context content updates are applied in overwrite mode. + core.String? updateMode; + + GoogleCloudDialogflowV2ConversationContextReference({ + this.contextContents, + this.createTime, + this.languageCode, + this.updateMode, + }); + + GoogleCloudDialogflowV2ConversationContextReference.fromJson(core.Map json_) + : this( + contextContents: (json_['contextContents'] as core.List?) + ?.map((value) => + GoogleCloudDialogflowV2ConversationContextReferenceContextContent + .fromJson(value as core.Map)) + .toList(), + createTime: json_['createTime'] as core.String?, + languageCode: json_['languageCode'] as core.String?, + updateMode: json_['updateMode'] as core.String?, + ); + + core.Map toJson() => { + if (contextContents != null) 'contextContents': contextContents!, + if (createTime != null) 'createTime': createTime!, + if (languageCode != null) 'languageCode': languageCode!, + if (updateMode != null) 'updateMode': updateMode!, + }; +} + +/// Contents ingested. +class GoogleCloudDialogflowV2ConversationContextReferenceContextContent { + /// The information ingested in a single request. + /// + /// Required. + core.String? content; + + /// The format of the ingested string. + /// + /// Required. + /// Possible string values are: + /// - "CONTENT_FORMAT_UNSPECIFIED" : Unspecified content format. + /// - "JSON" : Content was provided in JSON format. + /// - "PLAIN_TEXT" : Content was provided as plain text. + core.String? contentFormat; + + /// The time when this information was incorporated into the relevant context + /// reference. + /// + /// Output only. + core.String? ingestionTime; + + GoogleCloudDialogflowV2ConversationContextReferenceContextContent({ + this.content, + this.contentFormat, + this.ingestionTime, + }); + + GoogleCloudDialogflowV2ConversationContextReferenceContextContent.fromJson( + core.Map json_) + : this( + content: json_['content'] as core.String?, + contentFormat: json_['contentFormat'] as core.String?, + ingestionTime: json_['ingestionTime'] as core.String?, + ); + + core.Map toJson() => { + if (content != null) 'content': content!, + if (contentFormat != null) 'contentFormat': contentFormat!, + if (ingestionTime != null) 'ingestionTime': ingestionTime!, + }; +} + /// Represents a conversation dataset that a user imports raw data into. /// /// The data inside ConversationDataset can not be changed after @@ -15380,7 +15716,7 @@ class GoogleCloudDialogflowV2ConversationModelEvaluation { /// Human eval template in csv format. /// - /// It tooks real-world conversations provided through input dataset, + /// It takes real-world conversations provided through input dataset, /// generates example suggestions for customer to verify quality of the model. /// For Smart Reply, the generated csv file contains columns of Context, /// (Suggestions,Q1,Q2)*3, Actual reply. Context contains at most 10 latest @@ -15444,21 +15780,29 @@ class GoogleCloudDialogflowV2ConversationModelEvaluation { /// /// It allows for connecting a particular conversation over telephony. class GoogleCloudDialogflowV2ConversationPhoneNumber { + /// Desired country code for the phone number. + /// + /// Output only. + core.int? countryCode; + /// The phone number to connect to this conversation. /// /// Output only. core.String? phoneNumber; GoogleCloudDialogflowV2ConversationPhoneNumber({ + this.countryCode, this.phoneNumber, }); GoogleCloudDialogflowV2ConversationPhoneNumber.fromJson(core.Map json_) : this( + countryCode: json_['countryCode'] as core.int?, phoneNumber: json_['phoneNumber'] as core.String?, ); core.Map toJson() => { + if (countryCode != null) 'countryCode': countryCode!, if (phoneNumber != null) 'phoneNumber': phoneNumber!, }; } @@ -15652,6 +15996,134 @@ class GoogleCloudDialogflowV2ConversationProfile { }; } +/// The information about phone calls connected via phone gateway to the +/// conversation. +class GoogleCloudDialogflowV2ConversationTelephonyConnectionInfo { + /// The number dialed to connect this call in E.164 format. + /// + /// Output only. + core.String? dialedNumber; + + /// The mime content from the initial SIP INVITE. + /// + /// Output only. + core.List< + GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent>? + extraMimeContents; + + /// SDP of the call. + /// + /// It's initially the SDP answer to the endpoint, but maybe later updated for + /// the purpose of making the link active, etc. + /// + /// Optional. + core.String? sdp; + + /// The SIP headers from the initial SIP INVITE. + /// + /// Output only. + core.List< + GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader>? + sipHeaders; + + GoogleCloudDialogflowV2ConversationTelephonyConnectionInfo({ + this.dialedNumber, + this.extraMimeContents, + this.sdp, + this.sipHeaders, + }); + + GoogleCloudDialogflowV2ConversationTelephonyConnectionInfo.fromJson( + core.Map json_) + : this( + dialedNumber: json_['dialedNumber'] as core.String?, + extraMimeContents: (json_['extraMimeContents'] as core.List?) + ?.map((value) => + GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent + .fromJson(value as core.Map)) + .toList(), + sdp: json_['sdp'] as core.String?, + sipHeaders: (json_['sipHeaders'] as core.List?) + ?.map((value) => + GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader + .fromJson(value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (dialedNumber != null) 'dialedNumber': dialedNumber!, + if (extraMimeContents != null) 'extraMimeContents': extraMimeContents!, + if (sdp != null) 'sdp': sdp!, + if (sipHeaders != null) 'sipHeaders': sipHeaders!, + }; +} + +/// The mime content from the initial SIP INVITE. +class GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent { + /// The content payload. + /// + /// Optional. + core.String? content; + core.List get contentAsBytes => convert.base64.decode(content!); + + set contentAsBytes(core.List bytes_) { + content = + convert.base64.encode(bytes_).replaceAll('/', '_').replaceAll('+', '-'); + } + + /// The mime type of the content. + /// + /// Optional. + core.String? mimeType; + + GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent({ + this.content, + this.mimeType, + }); + + GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent.fromJson( + core.Map json_) + : this( + content: json_['content'] as core.String?, + mimeType: json_['mimeType'] as core.String?, + ); + + core.Map toJson() => { + if (content != null) 'content': content!, + if (mimeType != null) 'mimeType': mimeType!, + }; +} + +/// The SIP headers from the initial SIP INVITE. +class GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader { + /// The name of the header. + /// + /// Optional. + core.String? name; + + /// The value of the header. + /// + /// Optional. + core.String? value; + + GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader({ + this.name, + this.value, + }); + + GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader.fromJson( + core.Map json_) + : this( + name: json_['name'] as core.String?, + value: json_['value'] as core.String?, + ); + + core.Map toJson() => { + if (name != null) 'name': name!, + if (value != null) 'value': value!, + }; +} + /// The request message for ConversationModels.CreateConversationModelEvaluation class GoogleCloudDialogflowV2CreateConversationModelEvaluationRequest { /// The conversation model evaluation to be created. @@ -16463,10 +16935,10 @@ class GoogleCloudDialogflowV2EvaluationConfig { /// Required. core.List? datasets; - /// Configuration for smart compose model evalution. + /// Configuration for smart compose model evaluation. GoogleCloudDialogflowV2EvaluationConfigSmartComposeConfig? smartComposeConfig; - /// Configuration for smart reply model evalution. + /// Configuration for smart reply model evaluation. GoogleCloudDialogflowV2EvaluationConfigSmartReplyConfig? smartReplyConfig; GoogleCloudDialogflowV2EvaluationConfig({ @@ -16833,6 +17305,48 @@ class GoogleCloudDialogflowV2FewShotExample { }; } +/// Free form generator context that customer can configure. +class GoogleCloudDialogflowV2FreeFormContext { + /// Free form text input to LLM. + /// + /// Optional. + core.String? text; + + GoogleCloudDialogflowV2FreeFormContext({ + this.text, + }); + + GoogleCloudDialogflowV2FreeFormContext.fromJson(core.Map json_) + : this( + text: json_['text'] as core.String?, + ); + + core.Map toJson() => { + if (text != null) 'text': text!, + }; +} + +/// Suggestion generated using free form generator. +class GoogleCloudDialogflowV2FreeFormSuggestion { + /// Free form suggestion. + /// + /// Required. + core.String? response; + + GoogleCloudDialogflowV2FreeFormSuggestion({ + this.response, + }); + + GoogleCloudDialogflowV2FreeFormSuggestion.fromJson(core.Map json_) + : this( + response: json_['response'] as core.String?, + ); + + core.Map toJson() => { + if (response != null) 'response': response!, + }; +} + /// By default, your agent responds to a matched intent with a static response. /// /// As an alternative, you can provide a more dynamic response by using @@ -17053,6 +17567,16 @@ class GoogleCloudDialogflowV2GcsSources { /// The request message for Conversations.GenerateStatelessSuggestion. class GoogleCloudDialogflowV2GenerateStatelessSuggestionRequest { + /// A section of ingested context information. + /// + /// The key is the name of the context reference and the value contains the + /// contents of the context reference. The key is used to incorporate ingested + /// context references to enhance the generator. + /// + /// Optional. + core.Map? + contextReferences; + /// Context of the conversation, including transcripts. /// /// Optional. @@ -17077,6 +17601,7 @@ class GoogleCloudDialogflowV2GenerateStatelessSuggestionRequest { core.List? triggerEvents; GoogleCloudDialogflowV2GenerateStatelessSuggestionRequest({ + this.contextReferences, this.conversationContext, this.generator, this.generatorName, @@ -17086,6 +17611,15 @@ class GoogleCloudDialogflowV2GenerateStatelessSuggestionRequest { GoogleCloudDialogflowV2GenerateStatelessSuggestionRequest.fromJson( core.Map json_) : this( + contextReferences: (json_['contextReferences'] + as core.Map?) + ?.map( + (key, value) => core.MapEntry( + key, + GoogleCloudDialogflowV2ConversationContextReference.fromJson( + value as core.Map), + ), + ), conversationContext: json_.containsKey('conversationContext') ? GoogleCloudDialogflowV2ConversationContext.fromJson( json_['conversationContext'] @@ -17102,6 +17636,7 @@ class GoogleCloudDialogflowV2GenerateStatelessSuggestionRequest { ); core.Map toJson() => { + if (contextReferences != null) 'contextReferences': contextReferences!, if (conversationContext != null) 'conversationContext': conversationContext!, if (generator != null) 'generator': generator!, @@ -17325,6 +17860,120 @@ class GoogleCloudDialogflowV2GenerateStatelessSummaryResponseSummary { }; } +/// The request message for Conversations.GenerateSuggestions. +class GoogleCloudDialogflowV2GenerateSuggestionsRequest { + /// The name of the latest conversation message for which the request is + /// triggered. + /// + /// Format: `projects//locations//conversations//messages/`. + /// + /// Optional. + core.String? latestMessage; + + /// A list of trigger events. + /// + /// Only generators configured in the conversation_profile whose trigger_event + /// is listed here will be triggered. + /// + /// Optional. + core.List? triggerEvents; + + GoogleCloudDialogflowV2GenerateSuggestionsRequest({ + this.latestMessage, + this.triggerEvents, + }); + + GoogleCloudDialogflowV2GenerateSuggestionsRequest.fromJson(core.Map json_) + : this( + latestMessage: json_['latestMessage'] as core.String?, + triggerEvents: (json_['triggerEvents'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (latestMessage != null) 'latestMessage': latestMessage!, + if (triggerEvents != null) 'triggerEvents': triggerEvents!, + }; +} + +/// The response message for Conversations.GenerateSuggestions. +class GoogleCloudDialogflowV2GenerateSuggestionsResponse { + /// The answers generated for the conversation based on context. + core.List< + GoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer>? + generatorSuggestionAnswers; + + /// The name of the latest conversation message used as context for compiling + /// suggestion. + /// + /// Format: `projects//locations//conversations//messages/`. + core.String? latestMessage; + + GoogleCloudDialogflowV2GenerateSuggestionsResponse({ + this.generatorSuggestionAnswers, + this.latestMessage, + }); + + GoogleCloudDialogflowV2GenerateSuggestionsResponse.fromJson(core.Map json_) + : this( + generatorSuggestionAnswers: (json_['generatorSuggestionAnswers'] + as core.List?) + ?.map((value) => + GoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer + .fromJson(value as core.Map)) + .toList(), + latestMessage: json_['latestMessage'] as core.String?, + ); + + core.Map toJson() => { + if (generatorSuggestionAnswers != null) + 'generatorSuggestionAnswers': generatorSuggestionAnswers!, + if (latestMessage != null) 'latestMessage': latestMessage!, + }; +} + +/// A GeneratorSuggestion answer. +class GoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer { + /// Answer record that uniquely identifies the suggestion. + /// + /// This can be used to provide suggestion feedback. + core.String? answerRecord; + + /// Suggestion details. + GoogleCloudDialogflowV2GeneratorSuggestion? generatorSuggestion; + + /// The name of the generator used to generate this suggestion. + /// + /// Format: `projects//locations//generators/`. + core.String? sourceGenerator; + + GoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer({ + this.answerRecord, + this.generatorSuggestion, + this.sourceGenerator, + }); + + GoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer.fromJson( + core.Map json_) + : this( + answerRecord: json_['answerRecord'] as core.String?, + generatorSuggestion: json_.containsKey('generatorSuggestion') + ? GoogleCloudDialogflowV2GeneratorSuggestion.fromJson( + json_['generatorSuggestion'] + as core.Map) + : null, + sourceGenerator: json_['sourceGenerator'] as core.String?, + ); + + core.Map toJson() => { + if (answerRecord != null) 'answerRecord': answerRecord!, + if (generatorSuggestion != null) + 'generatorSuggestion': generatorSuggestion!, + if (sourceGenerator != null) 'sourceGenerator': sourceGenerator!, + }; +} + /// LLM generator. class GoogleCloudDialogflowV2Generator { /// Creation time of this generator. @@ -17337,6 +17986,9 @@ class GoogleCloudDialogflowV2Generator { /// Optional. core.String? description; + /// Input of free from generator to LLM. + GoogleCloudDialogflowV2FreeFormContext? freeFormContext; + /// Inference parameters for this generator. /// /// Optional. @@ -17350,6 +18002,15 @@ class GoogleCloudDialogflowV2Generator { /// Output only. core.String? name; + /// The published Large Language Model name. + /// + /// * To use the latest model version, specify the model name without version + /// number. Example: `text-bison` * To use a stable model version, specify the + /// version number as well. Example: `text-bison@002`. + /// + /// Optional. + core.String? publishedModel; + /// Input of prebuilt Summarization feature. GoogleCloudDialogflowV2SummarizationContext? summarizationContext; @@ -17365,6 +18026,8 @@ class GoogleCloudDialogflowV2Generator { /// - "MANUAL_CALL" : Triggers on the conversation manually by API calls, such /// as Conversations.GenerateStatelessSuggestion and /// Conversations.GenerateSuggestions. + /// - "CUSTOMER_MESSAGE" : Triggers after each customer message only. + /// - "AGENT_MESSAGE" : Triggers after each agent message only. core.String? triggerEvent; /// Update time of this generator. @@ -17375,8 +18038,10 @@ class GoogleCloudDialogflowV2Generator { GoogleCloudDialogflowV2Generator({ this.createTime, this.description, + this.freeFormContext, this.inferenceParameter, this.name, + this.publishedModel, this.summarizationContext, this.triggerEvent, this.updateTime, @@ -17386,12 +18051,18 @@ class GoogleCloudDialogflowV2Generator { : this( createTime: json_['createTime'] as core.String?, description: json_['description'] as core.String?, + freeFormContext: json_.containsKey('freeFormContext') + ? GoogleCloudDialogflowV2FreeFormContext.fromJson( + json_['freeFormContext'] + as core.Map) + : null, inferenceParameter: json_.containsKey('inferenceParameter') ? GoogleCloudDialogflowV2InferenceParameter.fromJson( json_['inferenceParameter'] as core.Map) : null, name: json_['name'] as core.String?, + publishedModel: json_['publishedModel'] as core.String?, summarizationContext: json_.containsKey('summarizationContext') ? GoogleCloudDialogflowV2SummarizationContext.fromJson( json_['summarizationContext'] @@ -17404,9 +18075,11 @@ class GoogleCloudDialogflowV2Generator { core.Map toJson() => { if (createTime != null) 'createTime': createTime!, if (description != null) 'description': description!, + if (freeFormContext != null) 'freeFormContext': freeFormContext!, if (inferenceParameter != null) 'inferenceParameter': inferenceParameter!, if (name != null) 'name': name!, + if (publishedModel != null) 'publishedModel': publishedModel!, if (summarizationContext != null) 'summarizationContext': summarizationContext!, if (triggerEvent != null) 'triggerEvent': triggerEvent!, @@ -17416,17 +18089,28 @@ class GoogleCloudDialogflowV2Generator { /// Suggestion generated using a Generator. class GoogleCloudDialogflowV2GeneratorSuggestion { + /// Free form suggestion. + /// + /// Optional. + GoogleCloudDialogflowV2FreeFormSuggestion? freeFormSuggestion; + /// Suggested summary. /// /// Optional. GoogleCloudDialogflowV2SummarySuggestion? summarySuggestion; GoogleCloudDialogflowV2GeneratorSuggestion({ + this.freeFormSuggestion, this.summarySuggestion, }); GoogleCloudDialogflowV2GeneratorSuggestion.fromJson(core.Map json_) : this( + freeFormSuggestion: json_.containsKey('freeFormSuggestion') + ? GoogleCloudDialogflowV2FreeFormSuggestion.fromJson( + json_['freeFormSuggestion'] + as core.Map) + : null, summarySuggestion: json_.containsKey('summarySuggestion') ? GoogleCloudDialogflowV2SummarySuggestion.fromJson( json_['summarySuggestion'] @@ -17435,6 +18119,8 @@ class GoogleCloudDialogflowV2GeneratorSuggestion { ); core.Map toJson() => { + if (freeFormSuggestion != null) + 'freeFormSuggestion': freeFormSuggestion!, if (summarySuggestion != null) 'summarySuggestion': summarySuggestion!, }; } @@ -18502,6 +19188,70 @@ class GoogleCloudDialogflowV2InferenceParameter { }; } +/// The request message for ConversationsService.IngestContextReferences. +class GoogleCloudDialogflowV2IngestContextReferencesRequest { + /// The context references to ingest. + /// + /// The key is the name of the context reference and the value contains the + /// contents of the context reference. The key is used to incorporate ingested + /// context references to enhance the generator. + /// + /// Required. + core.Map? + contextReferences; + + GoogleCloudDialogflowV2IngestContextReferencesRequest({ + this.contextReferences, + }); + + GoogleCloudDialogflowV2IngestContextReferencesRequest.fromJson(core.Map json_) + : this( + contextReferences: (json_['contextReferences'] + as core.Map?) + ?.map( + (key, value) => core.MapEntry( + key, + GoogleCloudDialogflowV2ConversationContextReference.fromJson( + value as core.Map), + ), + ), + ); + + core.Map toJson() => { + if (contextReferences != null) 'contextReferences': contextReferences!, + }; +} + +/// The response message for ConversationsService.IngestContextReferences. +class GoogleCloudDialogflowV2IngestContextReferencesResponse { + /// All context references ingested. + core.Map? + ingestedContextReferences; + + GoogleCloudDialogflowV2IngestContextReferencesResponse({ + this.ingestedContextReferences, + }); + + GoogleCloudDialogflowV2IngestContextReferencesResponse.fromJson( + core.Map json_) + : this( + ingestedContextReferences: (json_['ingestedContextReferences'] + as core.Map?) + ?.map( + (key, value) => core.MapEntry( + key, + GoogleCloudDialogflowV2ConversationContextReference.fromJson( + value as core.Map), + ), + ), + ); + + core.Map toJson() => { + if (ingestedContextReferences != null) + 'ingestedContextReferences': ingestedContextReferences!, + }; +} + /// The request to initialize a location-level encryption specification. class GoogleCloudDialogflowV2InitializeEncryptionSpecRequest { /// The encryption spec used for CMEK encryption. @@ -21468,6 +22218,8 @@ class GoogleCloudDialogflowV2Message { /// The time when the message was sent. /// + /// For voice messages, this is the time when an utterance started. + /// /// Optional. core.String? sendTime; @@ -22570,6 +23322,10 @@ class GoogleCloudDialogflowV2SearchKnowledgeRequest { class GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfig { /// Boost specifications for data stores. /// + /// Maps from datastore name to their boost configuration. Do not specify more + /// than one BoostSpecs for each datastore name. If multiple BoostSpecs are + /// provided for the same datastore name, the behavior is undefined. + /// /// Optional. core.List< GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecs>? @@ -22577,6 +23333,11 @@ class GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfig { /// Filter specification for data store queries. /// + /// TMaps from datastore name to the filter expression for that datastore. Do + /// not specify more than one FilterSpecs for each datastore name. If multiple + /// FilterSpecs are provided for the same datastore name, the behavior is + /// undefined. + /// /// Optional. core.List< GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigFilterSpecs>? @@ -22658,7 +23419,7 @@ class GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecs { class GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec { /// Condition boost specifications. /// - /// If a document matches multiple conditions in the specifictions, boost + /// If a document matches multiple conditions in the specifications, boost /// scores from these specifications are all applied and combined in a /// non-linear way. Maximum number of specifications is 20. /// @@ -22911,7 +23672,7 @@ class GoogleCloudDialogflowV2SearchKnowledgeResponse { /// See: /// https://cloud.google.com/natural-language/docs/basics#interpreting_sentiment_analysis_values /// for how to interpret the result. -typedef GoogleCloudDialogflowV2Sentiment = $Shared12; +typedef GoogleCloudDialogflowV2Sentiment = $Shared13; /// Configures the types of sentiment analysis to perform. class GoogleCloudDialogflowV2SentimentAnalysisRequestConfig { @@ -23335,6 +24096,9 @@ class GoogleCloudDialogflowV2SpeechToTextConfig { core.String? model; /// List of names of Cloud Speech phrase sets that are used for transcription. + /// + /// For phrase set limitations, please refer to + /// [Cloud Speech API quotas and limits](https://cloud.google.com/speech-to-text/quotas#content). core.List? phraseSets; /// Sample rate (in Hertz) of the audio content sent in the query. @@ -23372,7 +24136,7 @@ class GoogleCloudDialogflowV2SpeechToTextConfig { /// for how to make your project eligible. core.String? speechModelVariant; - /// Use timeout based endpointing, interpreting endpointer sensitivy as + /// Use timeout based endpointing, interpreting endpointer sensitivity as /// seconds of timeout value. core.bool? useTimeoutBasedEndpointing; @@ -23756,7 +24520,7 @@ class GoogleCloudDialogflowV2SuggestKnowledgeAssistRequest { /// The previously suggested query for the given conversation. /// - /// This helps identify whether the next suggestion we generate is resonably + /// This helps identify whether the next suggestion we generate is reasonably /// different from the previous one. This is useful to avoid similar /// suggestions within the conversation. /// @@ -23931,6 +24695,8 @@ class GoogleCloudDialogflowV2SuggestionFeature { /// - "ARTICLE_SUGGESTION" : Run article suggestion model for chat. /// - "FAQ" : Run FAQ model for chat. /// - "SMART_REPLY" : Run smart reply model for chat. + /// - "CONVERSATION_SUMMARIZATION" : Run conversation summarization model for + /// chat. /// - "KNOWLEDGE_SEARCH" : Run knowledge search with text input from agent or /// text generated query. /// - "KNOWLEDGE_ASSIST" : Run knowledge assist with automatic query @@ -23983,6 +24749,11 @@ class GoogleCloudDialogflowV2SuggestionResult { /// Error status if the request failed. GoogleRpcStatus? error; + /// Suggestions generated using generators triggered by customer or agent + /// messages. + GoogleCloudDialogflowV2GenerateSuggestionsResponse? + generateSuggestionsResponse; + /// SuggestArticlesResponse if request is for ARTICLE_SUGGESTION. GoogleCloudDialogflowV2SuggestArticlesResponse? suggestArticlesResponse; @@ -23999,6 +24770,7 @@ class GoogleCloudDialogflowV2SuggestionResult { GoogleCloudDialogflowV2SuggestionResult({ this.error, + this.generateSuggestionsResponse, this.suggestArticlesResponse, this.suggestFaqAnswersResponse, this.suggestKnowledgeAssistResponse, @@ -24011,6 +24783,12 @@ class GoogleCloudDialogflowV2SuggestionResult { ? GoogleRpcStatus.fromJson( json_['error'] as core.Map) : null, + generateSuggestionsResponse: + json_.containsKey('generateSuggestionsResponse') + ? GoogleCloudDialogflowV2GenerateSuggestionsResponse.fromJson( + json_['generateSuggestionsResponse'] + as core.Map) + : null, suggestArticlesResponse: json_.containsKey('suggestArticlesResponse') ? GoogleCloudDialogflowV2SuggestArticlesResponse.fromJson( json_['suggestArticlesResponse'] @@ -24038,6 +24816,8 @@ class GoogleCloudDialogflowV2SuggestionResult { core.Map toJson() => { if (error != null) 'error': error!, + if (generateSuggestionsResponse != null) + 'generateSuggestionsResponse': generateSuggestionsResponse!, if (suggestArticlesResponse != null) 'suggestArticlesResponse': suggestArticlesResponse!, if (suggestFaqAnswersResponse != null) @@ -24144,6 +24924,10 @@ class GoogleCloudDialogflowV2SummarizationSection { /// ticket number, order number, dollar amount, etc. Section names are /// prefixed by "entities/". /// - "CUSTOMER_DEFINED" : Customer defined sections. + /// - "SITUATION_CONCISE" : Concise version of the situation section. This + /// type is only available if type SITUATION is not selected. + /// - "ACTION_CONCISE" : Concise version of the action section. This type is + /// only available if type ACTION is not selected. core.String? type; GoogleCloudDialogflowV2SummarizationSection({ diff --git a/generated/googleapis/lib/dialogflow/v3.dart b/generated/googleapis/lib/dialogflow/v3.dart index 43922431d..f10ea4f31 100644 --- a/generated/googleapis/lib/dialogflow/v3.dart +++ b/generated/googleapis/lib/dialogflow/v3.dart @@ -6955,7 +6955,7 @@ class GoogleCloudDialogflowCxV3AdvancedSettingsSpeechSettings { /// Timeout before detecting no speech. core.String? noSpeechTimeout; - /// Use timeout based endpointing, interpreting endpointer sensitivy as + /// Use timeout based endpointing, interpreting endpointer sensitivity as /// seconds of timeout value. core.bool? useTimeoutBasedEndpointing; @@ -7088,6 +7088,16 @@ class GoogleCloudDialogflowCxV3Agent { GoogleCloudDialogflowCxV3AgentPersonalizationSettings? personalizationSettings; + /// A read only boolean field reflecting Zone Isolation status of the agent. + /// + /// Optional. Output only. + core.bool? satisfiesPzi; + + /// A read only boolean field reflecting Zone Separation status of the agent. + /// + /// Optional. Output only. + core.bool? satisfiesPzs; + /// Name of the SecuritySettings reference for the agent. /// /// Format: `projects//locations//securitySettings/`. @@ -7136,6 +7146,8 @@ class GoogleCloudDialogflowCxV3Agent { this.locked, this.name, this.personalizationSettings, + this.satisfiesPzi, + this.satisfiesPzs, this.securitySettings, this.speechToTextSettings, this.startFlow, @@ -7188,6 +7200,8 @@ class GoogleCloudDialogflowCxV3Agent { json_['personalizationSettings'] as core.Map) : null, + satisfiesPzi: json_['satisfiesPzi'] as core.bool?, + satisfiesPzs: json_['satisfiesPzs'] as core.bool?, securitySettings: json_['securitySettings'] as core.String?, speechToTextSettings: json_.containsKey('speechToTextSettings') ? GoogleCloudDialogflowCxV3SpeechToTextSettings.fromJson( @@ -7232,6 +7246,8 @@ class GoogleCloudDialogflowCxV3Agent { if (name != null) 'name': name!, if (personalizationSettings != null) 'personalizationSettings': personalizationSettings!, + if (satisfiesPzi != null) 'satisfiesPzi': satisfiesPzi!, + if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, if (securitySettings != null) 'securitySettings': securitySettings!, if (speechToTextSettings != null) 'speechToTextSettings': speechToTextSettings!, @@ -7711,7 +7727,7 @@ class GoogleCloudDialogflowCxV3BatchRunTestCasesRequest { class GoogleCloudDialogflowCxV3BoostSpec { /// Condition boost specifications. /// - /// If a document matches multiple conditions in the specifictions, boost + /// If a document matches multiple conditions in the specifications, boost /// scores from these specifications are all applied and combined in a /// non-linear way. Maximum number of specifications is 20. /// @@ -8369,20 +8385,37 @@ class GoogleCloudDialogflowCxV3DataStoreConnection { /// FAQ). core.String? dataStoreType; + /// The document processing mode for the data store connection. + /// + /// Should only be set for PUBLIC_WEB and UNSTRUCTURED data stores. If not set + /// it is considered as DOCUMENTS, as this is the legacy mode. + /// Possible string values are: + /// - "DOCUMENT_PROCESSING_MODE_UNSPECIFIED" : Not specified. This should be + /// set for STRUCTURED type data stores. Due to legacy reasons this is + /// considered as DOCUMENTS for STRUCTURED and PUBLIC_WEB data stores. + /// - "DOCUMENTS" : Documents are processed as documents. + /// - "CHUNKS" : Documents are converted to chunks. + core.String? documentProcessingMode; + GoogleCloudDialogflowCxV3DataStoreConnection({ this.dataStore, this.dataStoreType, + this.documentProcessingMode, }); GoogleCloudDialogflowCxV3DataStoreConnection.fromJson(core.Map json_) : this( dataStore: json_['dataStore'] as core.String?, dataStoreType: json_['dataStoreType'] as core.String?, + documentProcessingMode: + json_['documentProcessingMode'] as core.String?, ); core.Map toJson() => { if (dataStore != null) 'dataStore': dataStore!, if (dataStoreType != null) 'dataStoreType': dataStoreType!, + if (documentProcessingMode != null) + 'documentProcessingMode': documentProcessingMode!, }; } @@ -10248,7 +10281,7 @@ class GoogleCloudDialogflowCxV3Flow { /// cases such as the user saying "help" or "can I talk to a human?", which /// can be handled in a common way regardless of the current page. Transition /// routes defined in the page have higher priority than those defined in the - /// flow. TransitionRoutes are evalauted in the following order: * + /// flow. TransitionRoutes are evaluated in the following order: * /// TransitionRoutes with intent specified. * TransitionRoutes with only /// condition specified. TransitionRoutes with intent specified are inherited /// by pages in the flow. @@ -13194,7 +13227,7 @@ class GoogleCloudDialogflowCxV3Page { /// A list of transitions for the transition rules of this page. /// /// They route the conversation to another page in the same flow, or another - /// flow. When we are in a certain page, the TransitionRoutes are evalauted in + /// flow. When we are in a certain page, the TransitionRoutes are evaluated in /// the following order: * TransitionRoutes defined in the page with intent /// specified. * TransitionRoutes defined in the transition route groups with /// intent specified. * TransitionRoutes defined in flow with intent @@ -13460,6 +13493,9 @@ class GoogleCloudDialogflowCxV3QueryParameters { /// filled with data that can help evaluations. /// /// Optional. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) core.bool? populateDataStoreConnectionSignals; /// Search configuration for UCS search queries. @@ -13611,9 +13647,7 @@ class GoogleCloudDialogflowCxV3QueryResult { /// Data store connection feature output signals. /// - /// Filled only when data stores are involved in serving the query and - /// DetectIntentRequest.populate_data_store_connection_signals is set to true - /// in the request. + /// Filled only when data stores are involved in serving the query. /// /// Optional. GoogleCloudDialogflowCxV3DataStoreConnectionSignals? @@ -14610,11 +14644,20 @@ class GoogleCloudDialogflowCxV3SafetySettingsPhrase { class GoogleCloudDialogflowCxV3SearchConfig { /// Boosting configuration for the datastores. /// + /// Maps from datastore name to their boost configuration. Do not specify more + /// than one BoostSpecs for each datastore name. If multiple BoostSpecs are + /// provided for the same datastore name, the behavior is undefined. + /// /// Optional. core.List? boostSpecs; /// Filter configuration for the datastores. /// + /// Maps from datastore name to the filter expression for that datastore. Do + /// not specify more than one FilterSpecs for each datastore name. If multiple + /// FilterSpecs are provided for the same datastore name, the behavior is + /// undefined. + /// /// Optional. core.List? filterSpecs; @@ -14898,7 +14941,7 @@ class GoogleCloudDialogflowCxV3SecuritySettingsInsightsExportSettings { /// Sentiment analysis inspects user input and identifies the prevailing /// subjective opinion, especially to determine a user's attitude as positive, /// negative, or neutral. -typedef GoogleCloudDialogflowCxV3SentimentAnalysisResult = $Shared12; +typedef GoogleCloudDialogflowCxV3SentimentAnalysisResult = $Shared13; /// Session entity types are referred to as **User** entity types and are /// entities that are built for an individual user such as favorites, @@ -16328,7 +16371,7 @@ class GoogleCloudDialogflowCxV3WebhookGenericWebServiceOAuthConfig { /// The client secret provided by the 3rd party platform. /// - /// Required. + /// Optional. core.String? clientSecret; /// The OAuth scopes to grant. diff --git a/generated/googleapis/lib/digitalassetlinks/v1.dart b/generated/googleapis/lib/digitalassetlinks/v1.dart index 1014b03d5..c740883df 100644 --- a/generated/googleapis/lib/digitalassetlinks/v1.dart +++ b/generated/googleapis/lib/digitalassetlinks/v1.dart @@ -27,6 +27,7 @@ library; import 'dart:async' as async; +import 'dart:convert' as convert; import 'dart:core' as core; import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; @@ -57,6 +58,48 @@ class AssetlinksResource { AssetlinksResource(commons.ApiRequester client) : _requester = client; + /// Send a bundle of statement checks in a single RPC to minimize latency and + /// service load. + /// + /// Statements need not be all for the same source and/or target. We recommend + /// using this method when you need to check more than one statement in a + /// short period of time. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [BulkCheckResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future bulkCheck( + BulkCheckRequest request, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + const url_ = 'v1/assetlinks:bulkCheck'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return BulkCheckResponse.fromJson( + response_ as core.Map); + } + /// Determines whether the specified (directional) relationship exists between /// the specified source and target assets. /// @@ -398,6 +441,113 @@ class Asset { }; } +/// Message used to check for the existence of multiple digital asset links +/// within a single RPC. +class BulkCheckRequest { + /// If specified, will be used in any given template statement that doesn’t + /// specify a relation. + core.String? defaultRelation; + + /// If specified, will be used in any given template statement that doesn’t + /// specify a source. + Asset? defaultSource; + + /// If specified, will be used in any given template statement that doesn’t + /// specify a target. + Asset? defaultTarget; + + /// List of statements to check. + /// + /// For each statement, you can omit a field if the corresponding default_* + /// field below was supplied. Minimum 1 statement; maximum 1,000 statements. + /// Any additional statements will be ignored. + core.List? statements; + + BulkCheckRequest({ + this.defaultRelation, + this.defaultSource, + this.defaultTarget, + this.statements, + }); + + BulkCheckRequest.fromJson(core.Map json_) + : this( + defaultRelation: json_['defaultRelation'] as core.String?, + defaultSource: json_.containsKey('defaultSource') + ? Asset.fromJson( + json_['defaultSource'] as core.Map) + : null, + defaultTarget: json_.containsKey('defaultTarget') + ? Asset.fromJson( + json_['defaultTarget'] as core.Map) + : null, + statements: (json_['statements'] as core.List?) + ?.map((value) => StatementTemplate.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (defaultRelation != null) 'defaultRelation': defaultRelation!, + if (defaultSource != null) 'defaultSource': defaultSource!, + if (defaultTarget != null) 'defaultTarget': defaultTarget!, + if (statements != null) 'statements': statements!, + }; +} + +/// Response for BulkCheck call. +/// +/// Results are sent in a list in the same order in which they were sent. +/// Individual check errors are described in the appropriate check_results +/// entry. If the entire call fails, the response will include a bulk_error_code +/// field describing the error. +class BulkCheckResponse { + /// Error code for the entire request. + /// + /// Present only if the entire request failed. Individual check errors will + /// not trigger the presence of this field. + /// Possible string values are: + /// - "ERROR_CODE_UNSPECIFIED" : Default value, otherwise unused. + /// - "ERROR_CODE_INVALID_QUERY" : Unable to parse query. + /// - "ERROR_CODE_FETCH_ERROR" : Unable to fetch the asset links data. + /// - "ERROR_CODE_FAILED_SSL_VALIDATION" : Invalid HTTPS certificate . + /// - "ERROR_CODE_REDIRECT" : HTTP redirects (e.g, 301) are not allowed. + /// - "ERROR_CODE_TOO_LARGE" : Asset links data exceeds maximum size. + /// - "ERROR_CODE_MALFORMED_HTTP_RESPONSE" : Can't parse HTTP response. + /// - "ERROR_CODE_WRONG_CONTENT_TYPE" : HTTP Content-type should be + /// application/json. + /// - "ERROR_CODE_MALFORMED_CONTENT" : JSON content is malformed. + /// - "ERROR_CODE_SECURE_ASSET_INCLUDES_INSECURE" : A secure asset includes an + /// insecure asset (security downgrade). + /// - "ERROR_CODE_FETCH_BUDGET_EXHAUSTED" : Too many includes (maybe a loop). + core.String? bulkErrorCode; + + /// List of results for each check request. + /// + /// Results are returned in the same order in which they were sent in the + /// request. + core.List? checkResults; + + BulkCheckResponse({ + this.bulkErrorCode, + this.checkResults, + }); + + BulkCheckResponse.fromJson(core.Map json_) + : this( + bulkErrorCode: json_['bulkErrorCode'] as core.String?, + checkResults: (json_['checkResults'] as core.List?) + ?.map((value) => CheckResponse.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (bulkErrorCode != null) 'bulkErrorCode': bulkErrorCode!, + if (checkResults != null) 'checkResults': checkResults!, + }; +} + /// Describes an X509 certificate. class CertificateInfo { /// The uppercase SHA-265 fingerprint of the certificate. @@ -589,6 +739,54 @@ class Statement { }; } +/// A single statement to check in a bulk call using BulkCheck. +/// +/// See CheckRequest for details about each field. +class StatementTemplate { + /// The relationship being asserted between the source and target. + /// + /// If omitted, you must specify a BulkCheckRequest.default_relation value to + /// use here. + core.String? relation; + + /// The source asset that is asserting the statement. + /// + /// If omitted, you must specify a BulkCheckRequest.default_source value to + /// use here. + Asset? source; + + /// The target that the source is declaring the relationship with. + /// + /// If omitted, you must specify a BulkCheckRequest.default_target to use + /// here. + Asset? target; + + StatementTemplate({ + this.relation, + this.source, + this.target, + }); + + StatementTemplate.fromJson(core.Map json_) + : this( + relation: json_['relation'] as core.String?, + source: json_.containsKey('source') + ? Asset.fromJson( + json_['source'] as core.Map) + : null, + target: json_.containsKey('target') + ? Asset.fromJson( + json_['target'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (relation != null) 'relation': relation!, + if (source != null) 'source': source!, + if (target != null) 'target': target!, + }; +} + /// Describes a web asset. class WebAsset { /// Web assets are identified by a URL that contains only the scheme, hostname diff --git a/generated/googleapis/lib/displayvideo/v2.dart b/generated/googleapis/lib/displayvideo/v2.dart index d84c3869c..98a209552 100644 --- a/generated/googleapis/lib/displayvideo/v2.dart +++ b/generated/googleapis/lib/displayvideo/v2.dart @@ -25,14 +25,10 @@ /// - [AdvertisersResource] /// - [AdvertisersAssetsResource] /// - [AdvertisersCampaignsResource] -/// - [AdvertisersCampaignsTargetingTypesResource] -/// - [AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsResource] /// - [AdvertisersChannelsResource] /// - [AdvertisersChannelsSitesResource] /// - [AdvertisersCreativesResource] /// - [AdvertisersInsertionOrdersResource] -/// - [AdvertisersInsertionOrdersTargetingTypesResource] -/// - [AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsResource] /// - [AdvertisersInvoicesResource] /// - [AdvertisersLineItemsResource] /// - [AdvertisersLineItemsTargetingTypesResource] @@ -52,7 +48,6 @@ /// - [CustomBiddingAlgorithmsResource] /// - [CustomBiddingAlgorithmsScriptsResource] /// - [CustomListsResource] -/// - [FirstAndThirdPartyAudiencesResource] /// - [FloodlightGroupsResource] /// - [FloodlightGroupsFloodlightActivitiesResource] /// - [GoogleAudiencesResource] @@ -125,8 +120,6 @@ class DisplayVideoApi { CustomBiddingAlgorithmsResource get customBiddingAlgorithms => CustomBiddingAlgorithmsResource(_requester); CustomListsResource get customLists => CustomListsResource(_requester); - FirstAndThirdPartyAudiencesResource get firstAndThirdPartyAudiences => - FirstAndThirdPartyAudiencesResource(_requester); FloodlightGroupsResource get floodlightGroups => FloodlightGroupsResource(_requester); GoogleAudiencesResource get googleAudiences => @@ -672,9 +665,6 @@ class AdvertisersAssetsResource { class AdvertisersCampaignsResource { final commons.ApiRequester _requester; - AdvertisersCampaignsTargetingTypesResource get targetingTypes => - AdvertisersCampaignsTargetingTypesResource(_requester); - AdvertisersCampaignsResource(commons.ApiRequester client) : _requester = client; @@ -897,91 +887,6 @@ class AdvertisersCampaignsResource { response_ as core.Map); } - /// Lists assigned targeting options of a campaign across targeting types. - /// - /// Request parameters: - /// - /// [advertiserId] - Required. The ID of the advertiser the campaign belongs - /// to. - /// Value must have pattern `^\[^/\]+$`. - /// - /// [campaignId] - Required. The ID of the campaign to list assigned targeting - /// options for. - /// Value must have pattern `^\[^/\]+$`. - /// - /// [filter] - Allows filtering by assigned targeting option fields. Supported - /// syntax: * Filter expressions are made up of one or more restrictions. * - /// Restrictions can be combined by the `OR` logical operator. * A restriction - /// has the form of `{field} {operator} {value}`. * All fields must use the - /// `EQUALS (=)` operator. Supported fields: * `targetingType` * `inheritance` - /// Examples: * `AssignedTargetingOption` resources of targeting type - /// `TARGETING_TYPE_LANGUAGE` or `TARGETING_TYPE_GENDER`: - /// `targetingType="TARGETING_TYPE_LANGUAGE" OR - /// targetingType="TARGETING_TYPE_GENDER"` * `AssignedTargetingOption` - /// resources 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. Reference our \[filter `LIST` - /// requests\](/display-video/api/guides/how-tos/filters) guide for more - /// information. - /// - /// [orderBy] - 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] - 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] - 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. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [BulkListCampaignAssignedTargetingOptionsResponse]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - async.Future - listAssignedTargetingOptions( - core.String advertiserId, - core.String campaignId, { - core.String? filter, - core.String? orderBy, - core.int? pageSize, - core.String? pageToken, - core.String? $fields, - }) async { - final queryParams_ = >{ - if (filter != null) 'filter': [filter], - if (orderBy != null) 'orderBy': [orderBy], - if (pageSize != null) 'pageSize': ['${pageSize}'], - if (pageToken != null) 'pageToken': [pageToken], - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v2/advertisers/' + - core.Uri.encodeFull('$advertiserId') + - '/campaigns/' + - core.Uri.encodeFull('$campaignId') + - ':listAssignedTargetingOptions'; - - final response_ = await _requester.request( - url_, - 'GET', - queryParams: queryParams_, - ); - return BulkListCampaignAssignedTargetingOptionsResponse.fromJson( - response_ as core.Map); - } - /// Updates an existing campaign. /// /// Returns the updated campaign if successful. @@ -1038,482 +943,70 @@ class AdvertisersCampaignsResource { } } -class AdvertisersCampaignsTargetingTypesResource { +class AdvertisersChannelsResource { final commons.ApiRequester _requester; - AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsResource - get assignedTargetingOptions => - AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsResource( - _requester); - - AdvertisersCampaignsTargetingTypesResource(commons.ApiRequester client) - : _requester = client; -} - -class AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsResource { - final commons.ApiRequester _requester; + AdvertisersChannelsSitesResource get sites => + AdvertisersChannelsSitesResource(_requester); - AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsResource( - commons.ApiRequester client) + AdvertisersChannelsResource(commons.ApiRequester client) : _requester = client; - /// Gets a single targeting option assigned to a campaign. + /// Creates a new channel. /// - /// Request parameters: + /// Returns the newly created channel if successful. /// - /// [advertiserId] - Required. The ID of the advertiser the campaign belongs - /// to. - /// Value must have pattern `^\[^/\]+$`. + /// [request] - The metadata request object. /// - /// [campaignId] - Required. The ID of the campaign the assigned targeting - /// option belongs to. - /// Value must have pattern `^\[^/\]+$`. + /// Request parameters: /// - /// [targetingType] - Required. Identifies the type of this assigned targeting - /// option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * - /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * - /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * - /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * - /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * - /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * - /// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * - /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * - /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * - /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * - /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * - /// `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * - /// `TARGETING_TYPE_VIEWABILITY` + /// [advertiserId] - The ID of the advertiser that owns the created channel. /// Value must have pattern `^\[^/\]+$`. - /// Possible string values are: - /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified - /// or is unknown in this version. - /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related - /// websites or apps). - /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, - /// education or puzzle games). - /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). - /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). - /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period - /// on a specific day. - /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for - /// example, 18-24). - /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified - /// regions on a regional location list. - /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified - /// points of interest on a proximity location list. - /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, - /// female or male). - /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size - /// for video ads. - /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content - /// for video ads. - /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental - /// status (for example, parent or not a parent). - /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads - /// in a specific content instream position (for example, pre-roll, mid-roll, - /// or post-roll). - /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific - /// content outstream position. - /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for - /// example, tablet or connected TV). - /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of - /// audiences. Singleton field, at most one can exist on a single Lineitem at - /// a time. - /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for - /// example, Chrome). - /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household - /// income range (for example, top 10%). - /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen - /// position. - /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third - /// party verification (for example, IAS or DoubleVerify). - /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by - /// specific digital content label ratings (for example, DL-MA: suitable only - /// for mature audiences). - /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content - /// by sensitive categories (for example, adult). - /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for - /// example, web or app). - /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network - /// carrier or internet service provider (ISP) (for example, Comcast or - /// Orange). - /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating - /// system (for example, macOS). - /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device - /// make or model (for example, Roku or Samsung). - /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for - /// example, dog or retriever). - /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific - /// negative keyword list. - /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for - /// example, 80% viewable). - /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category - /// (for example, arts & entertainment). - /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific - /// deals and auction packages. - /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for - /// example, English or Japanese). - /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt - /// authorized sellers. If no targeting option of this type is assigned, the - /// resource uses the "Authorized Direct Sellers and Resellers" option by - /// default. - /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location - /// (for example, a city or state). - /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a - /// group of deals and auction packages. - /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific - /// exchanges. - /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific - /// sub-exchanges. - /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, - /// such as a notable building, a street address, or latitude/longitude - /// coordinates. - /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a - /// business chain within a specific geo region. - /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video - /// content duration. - /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video - /// content stream type. - /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific - /// native content position. - /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled - /// inventory. - /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio - /// content type. - /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. - /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. - /// Targeting of this type cannot be created or updated using the API. - /// Although this targeting is inherited by child resources, **inherited - /// targeting of this type will not be retrieveable**. - /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube - /// channel. Targeting of this type cannot be created or updated using the - /// API. Although this targeting is inherited by child resources, **inherited - /// targeting of this type will not be retrieveable**. - /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a - /// certain position of a session. Only supported for Ad Group resources under - /// YouTube Programmatic Reservation line items. Targeting of this type cannot - /// be created or updated using the API. /// - /// [assignedTargetingOptionId] - Required. An identifier unique to the - /// targeting type in this campaign that identifies the assigned targeting - /// option being requested. - /// Value must have pattern `^\[^/\]+$`. + /// [partnerId] - The ID of the partner that owns the created channel. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [AssignedTargetingOption]. + /// Completes with a [Channel]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future get( - core.String advertiserId, - core.String campaignId, - core.String targetingType, - core.String assignedTargetingOptionId, { + async.Future create( + Channel request, + core.String advertiserId, { + core.String? partnerId, core.String? $fields, }) async { + final body_ = convert.json.encode(request); final queryParams_ = >{ + if (partnerId != null) 'partnerId': [partnerId], if ($fields != null) 'fields': [$fields], }; - final url_ = 'v2/advertisers/' + - core.Uri.encodeFull('$advertiserId') + - '/campaigns/' + - core.Uri.encodeFull('$campaignId') + - '/targetingTypes/' + - core.Uri.encodeFull('$targetingType') + - '/assignedTargetingOptions/' + - core.Uri.encodeFull('$assignedTargetingOptionId'); + final url_ = + 'v2/advertisers/' + core.Uri.encodeFull('$advertiserId') + '/channels'; final response_ = await _requester.request( url_, - 'GET', + 'POST', + body: body_, queryParams: queryParams_, ); - return AssignedTargetingOption.fromJson( - response_ as core.Map); + return Channel.fromJson(response_ as core.Map); } - /// Lists the targeting options assigned to a campaign for a specified - /// targeting type. + /// Gets a channel for a partner or advertiser. /// /// Request parameters: /// - /// [advertiserId] - Required. The ID of the advertiser the campaign belongs - /// to. + /// [advertiserId] - The ID of the advertiser that owns the fetched channel. /// Value must have pattern `^\[^/\]+$`. /// - /// [campaignId] - Required. The ID of the campaign to list assigned targeting - /// options for. - /// Value must have pattern `^\[^/\]+$`. - /// - /// [targetingType] - Required. Identifies the type of assigned targeting - /// options to list. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * - /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * - /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * - /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * - /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * - /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * - /// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * - /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * - /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * - /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * - /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * - /// `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * - /// `TARGETING_TYPE_VIEWABILITY` - /// Value must have pattern `^\[^/\]+$`. - /// Possible string values are: - /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified - /// or is unknown in this version. - /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related - /// websites or apps). - /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, - /// education or puzzle games). - /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). - /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). - /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period - /// on a specific day. - /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for - /// example, 18-24). - /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified - /// regions on a regional location list. - /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified - /// points of interest on a proximity location list. - /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, - /// female or male). - /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size - /// for video ads. - /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content - /// for video ads. - /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental - /// status (for example, parent or not a parent). - /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads - /// in a specific content instream position (for example, pre-roll, mid-roll, - /// or post-roll). - /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific - /// content outstream position. - /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for - /// example, tablet or connected TV). - /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of - /// audiences. Singleton field, at most one can exist on a single Lineitem at - /// a time. - /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for - /// example, Chrome). - /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household - /// income range (for example, top 10%). - /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen - /// position. - /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third - /// party verification (for example, IAS or DoubleVerify). - /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by - /// specific digital content label ratings (for example, DL-MA: suitable only - /// for mature audiences). - /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content - /// by sensitive categories (for example, adult). - /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for - /// example, web or app). - /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network - /// carrier or internet service provider (ISP) (for example, Comcast or - /// Orange). - /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating - /// system (for example, macOS). - /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device - /// make or model (for example, Roku or Samsung). - /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for - /// example, dog or retriever). - /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific - /// negative keyword list. - /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for - /// example, 80% viewable). - /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category - /// (for example, arts & entertainment). - /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific - /// deals and auction packages. - /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for - /// example, English or Japanese). - /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt - /// authorized sellers. If no targeting option of this type is assigned, the - /// resource uses the "Authorized Direct Sellers and Resellers" option by - /// default. - /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location - /// (for example, a city or state). - /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a - /// group of deals and auction packages. - /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific - /// exchanges. - /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific - /// sub-exchanges. - /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, - /// such as a notable building, a street address, or latitude/longitude - /// coordinates. - /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a - /// business chain within a specific geo region. - /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video - /// content duration. - /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video - /// content stream type. - /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific - /// native content position. - /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled - /// inventory. - /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio - /// content type. - /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. - /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. - /// Targeting of this type cannot be created or updated using the API. - /// Although this targeting is inherited by child resources, **inherited - /// targeting of this type will not be retrieveable**. - /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube - /// channel. Targeting of this type cannot be created or updated using the - /// API. Although this targeting is inherited by child resources, **inherited - /// targeting of this type will not be retrieveable**. - /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a - /// certain position of a session. Only supported for Ad Group resources under - /// YouTube Programmatic Reservation line items. Targeting of this type cannot - /// be created or updated using the API. - /// - /// [filter] - Allows filtering by assigned targeting option fields. Supported - /// syntax: * Filter expressions are made up of one or more restrictions. * - /// Restrictions can be combined by the `OR` logical operator. * A restriction - /// has the form of `{field} {operator} {value}`. * All fields must use the - /// `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * - /// `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or - /// 2 `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2"` * - /// `AssignedTargetingOption` resources 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. Reference our \[filter `LIST` - /// requests\](/display-video/api/guides/how-tos/filters) guide for more - /// information. - /// - /// [orderBy] - Field by which to sort the list. Acceptable values are: * - /// `assignedTargetingOptionId` (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: `assignedTargetingOptionId desc`. - /// - /// [pageSize] - Requested page size. Must be between `1` and `5000`. If - /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` - /// if an invalid value is specified. - /// - /// [pageToken] - 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 `ListCampaignAssignedTargetingOptions` method. If not - /// specified, the first page of results will be returned. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [ListCampaignAssignedTargetingOptionsResponse]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - async.Future list( - core.String advertiserId, - core.String campaignId, - core.String targetingType, { - core.String? filter, - core.String? orderBy, - core.int? pageSize, - core.String? pageToken, - core.String? $fields, - }) async { - final queryParams_ = >{ - if (filter != null) 'filter': [filter], - if (orderBy != null) 'orderBy': [orderBy], - if (pageSize != null) 'pageSize': ['${pageSize}'], - if (pageToken != null) 'pageToken': [pageToken], - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v2/advertisers/' + - core.Uri.encodeFull('$advertiserId') + - '/campaigns/' + - core.Uri.encodeFull('$campaignId') + - '/targetingTypes/' + - core.Uri.encodeFull('$targetingType') + - '/assignedTargetingOptions'; - - final response_ = await _requester.request( - url_, - 'GET', - queryParams: queryParams_, - ); - return ListCampaignAssignedTargetingOptionsResponse.fromJson( - response_ as core.Map); - } -} - -class AdvertisersChannelsResource { - final commons.ApiRequester _requester; - - AdvertisersChannelsSitesResource get sites => - AdvertisersChannelsSitesResource(_requester); - - AdvertisersChannelsResource(commons.ApiRequester client) - : _requester = client; - - /// Creates a new channel. - /// - /// Returns the newly created channel if successful. - /// - /// [request] - The metadata request object. - /// - /// Request parameters: - /// - /// [advertiserId] - The ID of the advertiser that owns the created channel. - /// Value must have pattern `^\[^/\]+$`. - /// - /// [partnerId] - The ID of the partner that owns the created channel. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [Channel]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - async.Future create( - Channel request, - core.String advertiserId, { - core.String? partnerId, - core.String? $fields, - }) async { - final body_ = convert.json.encode(request); - final queryParams_ = >{ - if (partnerId != null) 'partnerId': [partnerId], - if ($fields != null) 'fields': [$fields], - }; - - final url_ = - 'v2/advertisers/' + core.Uri.encodeFull('$advertiserId') + '/channels'; - - final response_ = await _requester.request( - url_, - 'POST', - body: body_, - queryParams: queryParams_, - ); - return Channel.fromJson(response_ as core.Map); - } - - /// Gets a channel for a partner or advertiser. - /// - /// Request parameters: - /// - /// [advertiserId] - The ID of the advertiser that owns the fetched channel. - /// Value must have pattern `^\[^/\]+$`. - /// - /// [channelId] - Required. The ID of the channel to fetch. + /// [channelId] - Required. The ID of the channel to fetch. /// Value must have pattern `^\[^/\]+$`. /// /// [partnerId] - The ID of the partner that owns the fetched channel. @@ -2287,9 +1780,6 @@ class AdvertisersCreativesResource { class AdvertisersInsertionOrdersResource { final commons.ApiRequester _requester; - AdvertisersInsertionOrdersTargetingTypesResource get targetingTypes => - AdvertisersInsertionOrdersTargetingTypesResource(_requester); - AdvertisersInsertionOrdersResource(commons.ApiRequester client) : _requester = client; @@ -2518,102 +2008,16 @@ class AdvertisersInsertionOrdersResource { response_ as core.Map); } - /// Lists assigned targeting options of an insertion order across targeting - /// types. + /// Updates an existing insertion order. + /// + /// Returns the updated insertion order if successful. + /// + /// [request] - The metadata request object. /// /// Request parameters: /// - /// [advertiserId] - Required. The ID of the advertiser the insertion order - /// belongs to. - /// Value must have pattern `^\[^/\]+$`. - /// - /// [insertionOrderId] - Required. The ID of the insertion order to list - /// assigned targeting options for. - /// Value must have pattern `^\[^/\]+$`. - /// - /// [filter] - Allows filtering by assigned targeting option fields. Supported - /// syntax: * Filter expressions are made up of one or more restrictions. * - /// Restrictions can be combined by the logical operator `OR`. * A restriction - /// has the form of `{field} {operator} {value}`. * All fields must use the - /// `EQUALS (=)` operator. Supported fields: * `targetingType` * `inheritance` - /// Examples: * `AssignedTargetingOption` resources of targeting type - /// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` or `TARGETING_TYPE_CHANNEL`: - /// `targetingType="TARGETING_TYPE_PROXIMITY_LOCATION_LIST" OR - /// targetingType="TARGETING_TYPE_CHANNEL"` * `AssignedTargetingOption` - /// resources 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. Reference our \[filter `LIST` - /// requests\](/display-video/api/guides/how-tos/filters) guide for more - /// information. - /// - /// [orderBy] - 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] - 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] - 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 `BulkListInsertionOrderAssignedTargetingOptions` method. If not - /// specified, the first page of results will be returned. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [BulkListInsertionOrderAssignedTargetingOptionsResponse]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - async.Future - listAssignedTargetingOptions( - core.String advertiserId, - core.String insertionOrderId, { - core.String? filter, - core.String? orderBy, - core.int? pageSize, - core.String? pageToken, - core.String? $fields, - }) async { - final queryParams_ = >{ - if (filter != null) 'filter': [filter], - if (orderBy != null) 'orderBy': [orderBy], - if (pageSize != null) 'pageSize': ['${pageSize}'], - if (pageToken != null) 'pageToken': [pageToken], - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v2/advertisers/' + - core.Uri.encodeFull('$advertiserId') + - '/insertionOrders/' + - core.Uri.encodeFull('$insertionOrderId') + - ':listAssignedTargetingOptions'; - - final response_ = await _requester.request( - url_, - 'GET', - queryParams: queryParams_, - ); - return BulkListInsertionOrderAssignedTargetingOptionsResponse.fromJson( - response_ as core.Map); - } - - /// Updates an existing insertion order. - /// - /// Returns the updated insertion order if successful. - /// - /// [request] - The metadata request object. - /// - /// Request parameters: - /// - /// [advertiserId] - Output only. The unique ID of the advertiser the - /// insertion order belongs to. + /// [advertiserId] - Output only. The unique ID of the advertiser the + /// insertion order belongs to. /// Value must have pattern `^\[^/\]+$`. /// /// [insertionOrderId] - Output only. The unique ID of the insertion order. @@ -2638,838 +2042,25 @@ class AdvertisersInsertionOrdersResource { core.String insertionOrderId, { core.String? updateMask, core.String? $fields, - }) async { - final body_ = convert.json.encode(request); - final queryParams_ = >{ - if (updateMask != null) 'updateMask': [updateMask], - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v2/advertisers/' + - core.Uri.encodeFull('$advertiserId') + - '/insertionOrders/' + - core.Uri.encodeFull('$insertionOrderId'); - - final response_ = await _requester.request( - url_, - 'PATCH', - body: body_, - queryParams: queryParams_, - ); - return InsertionOrder.fromJson( - response_ as core.Map); - } -} - -class AdvertisersInsertionOrdersTargetingTypesResource { - final commons.ApiRequester _requester; - - AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsResource - get assignedTargetingOptions => - AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsResource( - _requester); - - AdvertisersInsertionOrdersTargetingTypesResource(commons.ApiRequester client) - : _requester = client; -} - -class AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsResource { - final commons.ApiRequester _requester; - - AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsResource( - commons.ApiRequester client) - : _requester = client; - - /// Assigns a targeting option to an insertion order. - /// - /// Returns the assigned targeting option if successful. Supported targeting - /// types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * - /// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * - /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * - /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * - /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * - /// `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * - /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` - /// * `TARGETING_TYPE_PARENTAL_STATUS` * - /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * - /// `TARGETING_TYPE_VIEWABILITY` - /// - /// [request] - The metadata request object. - /// - /// Request parameters: - /// - /// [advertiserId] - Required. The ID of the advertiser the insertion order - /// belongs to. - /// Value must have pattern `^\[^/\]+$`. - /// - /// [insertionOrderId] - Required. The ID of the insertion order the assigned - /// targeting option will belong to. - /// Value must have pattern `^\[^/\]+$`. - /// - /// [targetingType] - Required. Identifies the type of this assigned targeting - /// option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * - /// `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * - /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * - /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * - /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * - /// `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * - /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` - /// * `TARGETING_TYPE_PARENTAL_STATUS` * - /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * - /// `TARGETING_TYPE_VIEWABILITY` - /// Value must have pattern `^\[^/\]+$`. - /// Possible string values are: - /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified - /// or is unknown in this version. - /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related - /// websites or apps). - /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, - /// education or puzzle games). - /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). - /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). - /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period - /// on a specific day. - /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for - /// example, 18-24). - /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified - /// regions on a regional location list. - /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified - /// points of interest on a proximity location list. - /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, - /// female or male). - /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size - /// for video ads. - /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content - /// for video ads. - /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental - /// status (for example, parent or not a parent). - /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads - /// in a specific content instream position (for example, pre-roll, mid-roll, - /// or post-roll). - /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific - /// content outstream position. - /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for - /// example, tablet or connected TV). - /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of - /// audiences. Singleton field, at most one can exist on a single Lineitem at - /// a time. - /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for - /// example, Chrome). - /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household - /// income range (for example, top 10%). - /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen - /// position. - /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third - /// party verification (for example, IAS or DoubleVerify). - /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by - /// specific digital content label ratings (for example, DL-MA: suitable only - /// for mature audiences). - /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content - /// by sensitive categories (for example, adult). - /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for - /// example, web or app). - /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network - /// carrier or internet service provider (ISP) (for example, Comcast or - /// Orange). - /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating - /// system (for example, macOS). - /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device - /// make or model (for example, Roku or Samsung). - /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for - /// example, dog or retriever). - /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific - /// negative keyword list. - /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for - /// example, 80% viewable). - /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category - /// (for example, arts & entertainment). - /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific - /// deals and auction packages. - /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for - /// example, English or Japanese). - /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt - /// authorized sellers. If no targeting option of this type is assigned, the - /// resource uses the "Authorized Direct Sellers and Resellers" option by - /// default. - /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location - /// (for example, a city or state). - /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a - /// group of deals and auction packages. - /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific - /// exchanges. - /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific - /// sub-exchanges. - /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, - /// such as a notable building, a street address, or latitude/longitude - /// coordinates. - /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a - /// business chain within a specific geo region. - /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video - /// content duration. - /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video - /// content stream type. - /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific - /// native content position. - /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled - /// inventory. - /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio - /// content type. - /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. - /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. - /// Targeting of this type cannot be created or updated using the API. - /// Although this targeting is inherited by child resources, **inherited - /// targeting of this type will not be retrieveable**. - /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube - /// channel. Targeting of this type cannot be created or updated using the - /// API. Although this targeting is inherited by child resources, **inherited - /// targeting of this type will not be retrieveable**. - /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a - /// certain position of a session. Only supported for Ad Group resources under - /// YouTube Programmatic Reservation line items. Targeting of this type cannot - /// be created or updated using the API. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [AssignedTargetingOption]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - async.Future create( - AssignedTargetingOption request, - core.String advertiserId, - core.String insertionOrderId, - core.String targetingType, { - core.String? $fields, - }) async { - final body_ = convert.json.encode(request); - final queryParams_ = >{ - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v2/advertisers/' + - core.Uri.encodeFull('$advertiserId') + - '/insertionOrders/' + - core.Uri.encodeFull('$insertionOrderId') + - '/targetingTypes/' + - core.Uri.encodeFull('$targetingType') + - '/assignedTargetingOptions'; - - final response_ = await _requester.request( - url_, - 'POST', - body: body_, - queryParams: queryParams_, - ); - return AssignedTargetingOption.fromJson( - response_ as core.Map); - } - - /// Deletes an assigned targeting option from an insertion order. - /// - /// Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * - /// `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * - /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * - /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * - /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * - /// `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * - /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` - /// * `TARGETING_TYPE_PARENTAL_STATUS` * - /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * - /// `TARGETING_TYPE_VIEWABILITY` - /// - /// Request parameters: - /// - /// [advertiserId] - Required. The ID of the advertiser the insertion order - /// belongs to. - /// Value must have pattern `^\[^/\]+$`. - /// - /// [insertionOrderId] - Required. The ID of the insertion order the assigned - /// targeting option belongs to. - /// Value must have pattern `^\[^/\]+$`. - /// - /// [targetingType] - Required. Identifies the type of this assigned targeting - /// option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * - /// `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * - /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * - /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * - /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * - /// `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * - /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` - /// * `TARGETING_TYPE_PARENTAL_STATUS` * - /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * - /// `TARGETING_TYPE_VIEWABILITY` - /// Value must have pattern `^\[^/\]+$`. - /// Possible string values are: - /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified - /// or is unknown in this version. - /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related - /// websites or apps). - /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, - /// education or puzzle games). - /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). - /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). - /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period - /// on a specific day. - /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for - /// example, 18-24). - /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified - /// regions on a regional location list. - /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified - /// points of interest on a proximity location list. - /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, - /// female or male). - /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size - /// for video ads. - /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content - /// for video ads. - /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental - /// status (for example, parent or not a parent). - /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads - /// in a specific content instream position (for example, pre-roll, mid-roll, - /// or post-roll). - /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific - /// content outstream position. - /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for - /// example, tablet or connected TV). - /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of - /// audiences. Singleton field, at most one can exist on a single Lineitem at - /// a time. - /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for - /// example, Chrome). - /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household - /// income range (for example, top 10%). - /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen - /// position. - /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third - /// party verification (for example, IAS or DoubleVerify). - /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by - /// specific digital content label ratings (for example, DL-MA: suitable only - /// for mature audiences). - /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content - /// by sensitive categories (for example, adult). - /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for - /// example, web or app). - /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network - /// carrier or internet service provider (ISP) (for example, Comcast or - /// Orange). - /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating - /// system (for example, macOS). - /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device - /// make or model (for example, Roku or Samsung). - /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for - /// example, dog or retriever). - /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific - /// negative keyword list. - /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for - /// example, 80% viewable). - /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category - /// (for example, arts & entertainment). - /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific - /// deals and auction packages. - /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for - /// example, English or Japanese). - /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt - /// authorized sellers. If no targeting option of this type is assigned, the - /// resource uses the "Authorized Direct Sellers and Resellers" option by - /// default. - /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location - /// (for example, a city or state). - /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a - /// group of deals and auction packages. - /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific - /// exchanges. - /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific - /// sub-exchanges. - /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, - /// such as a notable building, a street address, or latitude/longitude - /// coordinates. - /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a - /// business chain within a specific geo region. - /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video - /// content duration. - /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video - /// content stream type. - /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific - /// native content position. - /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled - /// inventory. - /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio - /// content type. - /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. - /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. - /// Targeting of this type cannot be created or updated using the API. - /// Although this targeting is inherited by child resources, **inherited - /// targeting of this type will not be retrieveable**. - /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube - /// channel. Targeting of this type cannot be created or updated using the - /// API. Although this targeting is inherited by child resources, **inherited - /// targeting of this type will not be retrieveable**. - /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a - /// certain position of a session. Only supported for Ad Group resources under - /// YouTube Programmatic Reservation line items. Targeting of this type cannot - /// be created or updated using the API. - /// - /// [assignedTargetingOptionId] - Required. The ID of the assigned targeting - /// option to delete. - /// Value must have pattern `^\[^/\]+$`. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [Empty]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - async.Future delete( - core.String advertiserId, - core.String insertionOrderId, - core.String targetingType, - core.String assignedTargetingOptionId, { - core.String? $fields, - }) async { - final queryParams_ = >{ - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v2/advertisers/' + - core.Uri.encodeFull('$advertiserId') + - '/insertionOrders/' + - core.Uri.encodeFull('$insertionOrderId') + - '/targetingTypes/' + - core.Uri.encodeFull('$targetingType') + - '/assignedTargetingOptions/' + - core.Uri.encodeFull('$assignedTargetingOptionId'); - - final response_ = await _requester.request( - url_, - 'DELETE', - queryParams: queryParams_, - ); - return Empty.fromJson(response_ as core.Map); - } - - /// Gets a single targeting option assigned to an insertion order. - /// - /// Request parameters: - /// - /// [advertiserId] - Required. The ID of the advertiser the insertion order - /// belongs to. - /// Value must have pattern `^\[^/\]+$`. - /// - /// [insertionOrderId] - Required. The ID of the insertion order the assigned - /// targeting option belongs to. - /// Value must have pattern `^\[^/\]+$`. - /// - /// [targetingType] - Required. Identifies the type of this assigned targeting - /// option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * - /// `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * - /// `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * - /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * - /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * - /// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * - /// `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * - /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * - /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * - /// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * - /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * - /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * - /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * - /// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * - /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * - /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * - /// `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * - /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * - /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * - /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * - /// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * - /// `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * - /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * - /// `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * - /// `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * - /// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` - /// Value must have pattern `^\[^/\]+$`. - /// Possible string values are: - /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified - /// or is unknown in this version. - /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related - /// websites or apps). - /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, - /// education or puzzle games). - /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). - /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). - /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period - /// on a specific day. - /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for - /// example, 18-24). - /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified - /// regions on a regional location list. - /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified - /// points of interest on a proximity location list. - /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, - /// female or male). - /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size - /// for video ads. - /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content - /// for video ads. - /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental - /// status (for example, parent or not a parent). - /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads - /// in a specific content instream position (for example, pre-roll, mid-roll, - /// or post-roll). - /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific - /// content outstream position. - /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for - /// example, tablet or connected TV). - /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of - /// audiences. Singleton field, at most one can exist on a single Lineitem at - /// a time. - /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for - /// example, Chrome). - /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household - /// income range (for example, top 10%). - /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen - /// position. - /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third - /// party verification (for example, IAS or DoubleVerify). - /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by - /// specific digital content label ratings (for example, DL-MA: suitable only - /// for mature audiences). - /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content - /// by sensitive categories (for example, adult). - /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for - /// example, web or app). - /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network - /// carrier or internet service provider (ISP) (for example, Comcast or - /// Orange). - /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating - /// system (for example, macOS). - /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device - /// make or model (for example, Roku or Samsung). - /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for - /// example, dog or retriever). - /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific - /// negative keyword list. - /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for - /// example, 80% viewable). - /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category - /// (for example, arts & entertainment). - /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific - /// deals and auction packages. - /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for - /// example, English or Japanese). - /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt - /// authorized sellers. If no targeting option of this type is assigned, the - /// resource uses the "Authorized Direct Sellers and Resellers" option by - /// default. - /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location - /// (for example, a city or state). - /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a - /// group of deals and auction packages. - /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific - /// exchanges. - /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific - /// sub-exchanges. - /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, - /// such as a notable building, a street address, or latitude/longitude - /// coordinates. - /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a - /// business chain within a specific geo region. - /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video - /// content duration. - /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video - /// content stream type. - /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific - /// native content position. - /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled - /// inventory. - /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio - /// content type. - /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. - /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. - /// Targeting of this type cannot be created or updated using the API. - /// Although this targeting is inherited by child resources, **inherited - /// targeting of this type will not be retrieveable**. - /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube - /// channel. Targeting of this type cannot be created or updated using the - /// API. Although this targeting is inherited by child resources, **inherited - /// targeting of this type will not be retrieveable**. - /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a - /// certain position of a session. Only supported for Ad Group resources under - /// YouTube Programmatic Reservation line items. Targeting of this type cannot - /// be created or updated using the API. - /// - /// [assignedTargetingOptionId] - Required. An identifier unique to the - /// targeting type in this insertion order that identifies the assigned - /// targeting option being requested. - /// Value must have pattern `^\[^/\]+$`. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [AssignedTargetingOption]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - async.Future get( - core.String advertiserId, - core.String insertionOrderId, - core.String targetingType, - core.String assignedTargetingOptionId, { - core.String? $fields, - }) async { - final queryParams_ = >{ - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v2/advertisers/' + - core.Uri.encodeFull('$advertiserId') + - '/insertionOrders/' + - core.Uri.encodeFull('$insertionOrderId') + - '/targetingTypes/' + - core.Uri.encodeFull('$targetingType') + - '/assignedTargetingOptions/' + - core.Uri.encodeFull('$assignedTargetingOptionId'); - - final response_ = await _requester.request( - url_, - 'GET', - queryParams: queryParams_, - ); - return AssignedTargetingOption.fromJson( - response_ as core.Map); - } - - /// Lists the targeting options assigned to an insertion order. - /// - /// Request parameters: - /// - /// [advertiserId] - Required. The ID of the advertiser the insertion order - /// belongs to. - /// Value must have pattern `^\[^/\]+$`. - /// - /// [insertionOrderId] - Required. The ID of the insertion order to list - /// assigned targeting options for. - /// Value must have pattern `^\[^/\]+$`. - /// - /// [targetingType] - Required. Identifies the type of assigned targeting - /// options to list. Supported targeting types include: * - /// `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * - /// `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * - /// `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * - /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * - /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * - /// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * - /// `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * - /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * - /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * - /// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * - /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * - /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * - /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * - /// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * - /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * - /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * - /// `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * - /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * - /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * - /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * - /// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * - /// `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * - /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * - /// `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * - /// `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * - /// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` - /// Value must have pattern `^\[^/\]+$`. - /// Possible string values are: - /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified - /// or is unknown in this version. - /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related - /// websites or apps). - /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, - /// education or puzzle games). - /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). - /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). - /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period - /// on a specific day. - /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for - /// example, 18-24). - /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified - /// regions on a regional location list. - /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified - /// points of interest on a proximity location list. - /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, - /// female or male). - /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size - /// for video ads. - /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content - /// for video ads. - /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental - /// status (for example, parent or not a parent). - /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads - /// in a specific content instream position (for example, pre-roll, mid-roll, - /// or post-roll). - /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific - /// content outstream position. - /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for - /// example, tablet or connected TV). - /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of - /// audiences. Singleton field, at most one can exist on a single Lineitem at - /// a time. - /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for - /// example, Chrome). - /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household - /// income range (for example, top 10%). - /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen - /// position. - /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third - /// party verification (for example, IAS or DoubleVerify). - /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by - /// specific digital content label ratings (for example, DL-MA: suitable only - /// for mature audiences). - /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content - /// by sensitive categories (for example, adult). - /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for - /// example, web or app). - /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network - /// carrier or internet service provider (ISP) (for example, Comcast or - /// Orange). - /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating - /// system (for example, macOS). - /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device - /// make or model (for example, Roku or Samsung). - /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for - /// example, dog or retriever). - /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific - /// negative keyword list. - /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for - /// example, 80% viewable). - /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category - /// (for example, arts & entertainment). - /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific - /// deals and auction packages. - /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for - /// example, English or Japanese). - /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt - /// authorized sellers. If no targeting option of this type is assigned, the - /// resource uses the "Authorized Direct Sellers and Resellers" option by - /// default. - /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location - /// (for example, a city or state). - /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a - /// group of deals and auction packages. - /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific - /// exchanges. - /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific - /// sub-exchanges. - /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, - /// such as a notable building, a street address, or latitude/longitude - /// coordinates. - /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a - /// business chain within a specific geo region. - /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video - /// content duration. - /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video - /// content stream type. - /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific - /// native content position. - /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled - /// inventory. - /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio - /// content type. - /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. - /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. - /// Targeting of this type cannot be created or updated using the API. - /// Although this targeting is inherited by child resources, **inherited - /// targeting of this type will not be retrieveable**. - /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube - /// channel. Targeting of this type cannot be created or updated using the - /// API. Although this targeting is inherited by child resources, **inherited - /// targeting of this type will not be retrieveable**. - /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a - /// certain position of a session. Only supported for Ad Group resources under - /// YouTube Programmatic Reservation line items. Targeting of this type cannot - /// be created or updated using the API. - /// - /// [filter] - Allows filtering by assigned targeting option fields. Supported - /// syntax: * Filter expressions are made up of one or more restrictions. * - /// Restrictions can be combined by the logical operator `OR`. * A restriction - /// has the form of `{field} {operator} {value}`. * All fields must use the - /// `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * - /// `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or - /// 2: `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2"` * - /// `AssignedTargetingOption` resources 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. Reference our \[filter `LIST` - /// requests\](/display-video/api/guides/how-tos/filters) guide for more - /// information. - /// - /// [orderBy] - Field by which to sort the list. Acceptable values are: * - /// `assignedTargetingOptionId` (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: `assignedTargetingOptionId desc`. - /// - /// [pageSize] - Requested page size. Must be between `1` and `5000`. If - /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` - /// if an invalid value is specified. - /// - /// [pageToken] - 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 `ListInsertionOrderAssignedTargetingOptions` method. If - /// not specified, the first page of results will be returned. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [ListInsertionOrderAssignedTargetingOptionsResponse]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - async.Future list( - core.String advertiserId, - core.String insertionOrderId, - core.String targetingType, { - core.String? filter, - core.String? orderBy, - core.int? pageSize, - core.String? pageToken, - core.String? $fields, - }) async { - final queryParams_ = >{ - if (filter != null) 'filter': [filter], - if (orderBy != null) 'orderBy': [orderBy], - if (pageSize != null) 'pageSize': ['${pageSize}'], - if (pageToken != null) 'pageToken': [pageToken], + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (updateMask != null) 'updateMask': [updateMask], if ($fields != null) 'fields': [$fields], }; final url_ = 'v2/advertisers/' + core.Uri.encodeFull('$advertiserId') + '/insertionOrders/' + - core.Uri.encodeFull('$insertionOrderId') + - '/targetingTypes/' + - core.Uri.encodeFull('$targetingType') + - '/assignedTargetingOptions'; + core.Uri.encodeFull('$insertionOrderId'); final response_ = await _requester.request( url_, - 'GET', + 'PATCH', + body: body_, queryParams: queryParams_, ); - return ListInsertionOrderAssignedTargetingOptionsResponse.fromJson( + return InsertionOrder.fromJson( response_ as core.Map); } } @@ -8156,7 +6747,11 @@ class CustomBiddingAlgorithmsResource { /// Updates an existing custom bidding algorithm. /// - /// Returns the updated custom bidding algorithm if successful. + /// Returns the updated custom bidding algorithm if successful. *Warning*: + /// Starting **April 1, 2025**, requests updating custom bidding algorithms + /// that are assigned to line items will return an error. \[Read more about + /// this announced + /// change\](/display-video/api/deprecations#features.custom_bidding_floodlight). /// /// [request] - The metadata request object. /// @@ -8266,7 +6861,11 @@ class CustomBiddingAlgorithmsScriptsResource { /// Creates a new custom bidding script. /// - /// Returns the newly created script if successful. + /// Returns the newly created script if successful. *Warning*: Starting + /// **April 1, 2025**, requests updating custom bidding algorithms that are + /// assigned to line items will return an error. \[Read more about this + /// announced + /// change\](/display-video/api/deprecations#features.custom_bidding_floodlight). /// /// [request] - The metadata request object. /// @@ -8333,442 +6932,218 @@ class CustomBiddingAlgorithmsScriptsResource { /// fetch. /// Value must have pattern `^\[^/\]+$`. /// - /// [advertiserId] - The ID of the advertiser that owns the parent custom - /// bidding algorithm. - /// - /// [partnerId] - The ID of the partner that owns the parent custom bidding - /// algorithm. Only this partner will have write access to this custom bidding - /// script. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [CustomBiddingScript]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - async.Future get( - core.String customBiddingAlgorithmId, - core.String customBiddingScriptId, { - core.String? advertiserId, - core.String? partnerId, - core.String? $fields, - }) async { - final queryParams_ = >{ - if (advertiserId != null) 'advertiserId': [advertiserId], - if (partnerId != null) 'partnerId': [partnerId], - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v2/customBiddingAlgorithms/' + - core.Uri.encodeFull('$customBiddingAlgorithmId') + - '/scripts/' + - core.Uri.encodeFull('$customBiddingScriptId'); - - final response_ = await _requester.request( - url_, - 'GET', - queryParams: queryParams_, - ); - return CustomBiddingScript.fromJson( - response_ as core.Map); - } - - /// Lists custom bidding scripts that belong to the given algorithm. - /// - /// The order is defined by the order_by parameter. - /// - /// Request parameters: - /// - /// [customBiddingAlgorithmId] - Required. The ID of the custom bidding - /// algorithm owns the script. - /// Value must have pattern `^\[^/\]+$`. - /// - /// [advertiserId] - The ID of the advertiser that owns the parent custom - /// bidding algorithm. - /// - /// [orderBy] - Field by which to sort the list. Acceptable values are: * - /// `createTime desc` (default) The default sorting order is descending. To - /// specify ascending order for a field, the suffix "desc" should be removed. - /// Example: `createTime`. - /// - /// [pageSize] - Requested page size. Must be between `1` and `200`. If - /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` - /// if an invalid value is specified. - /// - /// [pageToken] - 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 `ListCustomBiddingScripts` method. If not specified, the - /// first page of results will be returned. - /// - /// [partnerId] - The ID of the partner that owns the parent custom bidding - /// algorithm. Only this partner will have write access to this custom bidding - /// script. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [ListCustomBiddingScriptsResponse]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - async.Future list( - core.String customBiddingAlgorithmId, { - core.String? advertiserId, - core.String? orderBy, - core.int? pageSize, - core.String? pageToken, - core.String? partnerId, - core.String? $fields, - }) async { - final queryParams_ = >{ - if (advertiserId != null) 'advertiserId': [advertiserId], - if (orderBy != null) 'orderBy': [orderBy], - if (pageSize != null) 'pageSize': ['${pageSize}'], - if (pageToken != null) 'pageToken': [pageToken], - if (partnerId != null) 'partnerId': [partnerId], - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v2/customBiddingAlgorithms/' + - core.Uri.encodeFull('$customBiddingAlgorithmId') + - '/scripts'; - - final response_ = await _requester.request( - url_, - 'GET', - queryParams: queryParams_, - ); - return ListCustomBiddingScriptsResponse.fromJson( - response_ as core.Map); - } -} - -class CustomListsResource { - final commons.ApiRequester _requester; - - CustomListsResource(commons.ApiRequester client) : _requester = client; - - /// Gets a custom list. - /// - /// Request parameters: - /// - /// [customListId] - Required. The ID of the custom list to fetch. - /// Value must have pattern `^\[^/\]+$`. - /// - /// [advertiserId] - The ID of the DV360 advertiser that has access to the - /// fetched custom lists. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [CustomList]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - async.Future get( - core.String customListId, { - core.String? advertiserId, - core.String? $fields, - }) async { - final queryParams_ = >{ - if (advertiserId != null) 'advertiserId': [advertiserId], - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v2/customLists/' + core.Uri.encodeFull('$customListId'); - - final response_ = await _requester.request( - url_, - 'GET', - queryParams: queryParams_, - ); - return CustomList.fromJson( - response_ as core.Map); - } - - /// Lists custom lists. - /// - /// The order is defined by the order_by parameter. - /// - /// Request parameters: - /// - /// [advertiserId] - The ID of the DV360 advertiser that has access to the - /// fetched custom lists. - /// - /// [filter] - Allows filtering by custom list fields. Supported syntax: * - /// Filter expressions for custom lists can only contain at most one - /// restriction. * A restriction has the form of `{field} {operator} {value}`. - /// * All fields must use the `HAS (:)` operator. Supported fields: * - /// `displayName` Examples: * All custom lists for which the display name - /// contains "Google": `displayName:"Google"`. The length of this field should - /// be no more than 500 characters. Reference our \[filter `LIST` - /// requests\](/display-video/api/guides/how-tos/filters) guide for more - /// information. - /// - /// [orderBy] - Field by which to sort the list. Acceptable values are: * - /// `customListId` (default) * `displayName` 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] - Requested page size. Must be between `1` and `200`. If - /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` - /// if an invalid value is specified. - /// - /// [pageToken] - 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 `ListCustomLists` method. If not specified, the first - /// page of results will be returned. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [ListCustomListsResponse]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - async.Future list({ - core.String? advertiserId, - core.String? filter, - core.String? orderBy, - core.int? pageSize, - core.String? pageToken, - core.String? $fields, - }) async { - final queryParams_ = >{ - if (advertiserId != null) 'advertiserId': [advertiserId], - if (filter != null) 'filter': [filter], - if (orderBy != null) 'orderBy': [orderBy], - if (pageSize != null) 'pageSize': ['${pageSize}'], - if (pageToken != null) 'pageToken': [pageToken], - if ($fields != null) 'fields': [$fields], - }; - - const url_ = 'v2/customLists'; - - final response_ = await _requester.request( - url_, - 'GET', - queryParams: queryParams_, - ); - return ListCustomListsResponse.fromJson( - response_ as core.Map); - } -} - -class FirstAndThirdPartyAudiencesResource { - final commons.ApiRequester _requester; - - FirstAndThirdPartyAudiencesResource(commons.ApiRequester client) - : _requester = client; - - /// Creates a FirstAndThirdPartyAudience. - /// - /// Only supported for the following audience_type: * - /// `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID` - /// - /// [request] - The metadata request object. - /// - /// Request parameters: + /// [advertiserId] - The ID of the advertiser that owns the parent custom + /// bidding algorithm. /// - /// [advertiserId] - Required. The ID of the advertiser under whom the - /// FirstAndThirdPartyAudience will be created. + /// [partnerId] - The ID of the partner that owns the parent custom bidding + /// algorithm. Only this partner will have write access to this custom bidding + /// script. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [FirstAndThirdPartyAudience]. + /// Completes with a [CustomBiddingScript]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future create( - FirstAndThirdPartyAudience request, { + async.Future get( + core.String customBiddingAlgorithmId, + core.String customBiddingScriptId, { core.String? advertiserId, + core.String? partnerId, core.String? $fields, }) async { - final body_ = convert.json.encode(request); final queryParams_ = >{ if (advertiserId != null) 'advertiserId': [advertiserId], + if (partnerId != null) 'partnerId': [partnerId], if ($fields != null) 'fields': [$fields], }; - const url_ = 'v2/firstAndThirdPartyAudiences'; + final url_ = 'v2/customBiddingAlgorithms/' + + core.Uri.encodeFull('$customBiddingAlgorithmId') + + '/scripts/' + + core.Uri.encodeFull('$customBiddingScriptId'); final response_ = await _requester.request( url_, - 'POST', - body: body_, + 'GET', queryParams: queryParams_, ); - return FirstAndThirdPartyAudience.fromJson( + return CustomBiddingScript.fromJson( response_ as core.Map); } - /// Updates the member list of a Customer Match audience. - /// - /// Only supported for the following audience_type: * - /// `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID` + /// Lists custom bidding scripts that belong to the given algorithm. /// - /// [request] - The metadata request object. + /// The order is defined by the order_by parameter. /// /// Request parameters: /// - /// [firstAndThirdPartyAudienceId] - Required. The ID of the Customer Match - /// FirstAndThirdPartyAudience whose members will be edited. + /// [customBiddingAlgorithmId] - Required. The ID of the custom bidding + /// algorithm owns the script. /// Value must have pattern `^\[^/\]+$`. /// + /// [advertiserId] - The ID of the advertiser that owns the parent custom + /// bidding algorithm. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `createTime desc` (default) The default sorting order is descending. To + /// specify ascending order for a field, the suffix "desc" should be removed. + /// Example: `createTime`. + /// + /// [pageSize] - Requested page size. Must be between `1` and `200`. If + /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` + /// if an invalid value is specified. + /// + /// [pageToken] - 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 `ListCustomBiddingScripts` method. If not specified, the + /// first page of results will be returned. + /// + /// [partnerId] - The ID of the partner that owns the parent custom bidding + /// algorithm. Only this partner will have write access to this custom bidding + /// script. + /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [EditCustomerMatchMembersResponse]. + /// Completes with a [ListCustomBiddingScriptsResponse]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future editCustomerMatchMembers( - EditCustomerMatchMembersRequest request, - core.String firstAndThirdPartyAudienceId, { + async.Future list( + core.String customBiddingAlgorithmId, { + core.String? advertiserId, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? partnerId, core.String? $fields, }) async { - final body_ = convert.json.encode(request); final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if (partnerId != null) 'partnerId': [partnerId], if ($fields != null) 'fields': [$fields], }; - final url_ = 'v2/firstAndThirdPartyAudiences/' + - core.Uri.encodeFull('$firstAndThirdPartyAudienceId') + - ':editCustomerMatchMembers'; + final url_ = 'v2/customBiddingAlgorithms/' + + core.Uri.encodeFull('$customBiddingAlgorithmId') + + '/scripts'; final response_ = await _requester.request( url_, - 'POST', - body: body_, + 'GET', queryParams: queryParams_, ); - return EditCustomerMatchMembersResponse.fromJson( + return ListCustomBiddingScriptsResponse.fromJson( response_ as core.Map); } +} + +class CustomListsResource { + final commons.ApiRequester _requester; - /// Gets a first and third party audience. + CustomListsResource(commons.ApiRequester client) : _requester = client; + + /// Gets a custom list. /// /// Request parameters: /// - /// [firstAndThirdPartyAudienceId] - Required. The ID of the first and third - /// party audience to fetch. + /// [customListId] - Required. The ID of the custom list to fetch. /// Value must have pattern `^\[^/\]+$`. /// - /// [advertiserId] - The ID of the advertiser that has access to the fetched - /// first and third party audience. - /// - /// [partnerId] - The ID of the partner that has access to the fetched first - /// and third party audience. + /// [advertiserId] - The ID of the DV360 advertiser that has access to the + /// fetched custom lists. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [FirstAndThirdPartyAudience]. + /// Completes with a [CustomList]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future get( - core.String firstAndThirdPartyAudienceId, { + async.Future get( + core.String customListId, { core.String? advertiserId, - core.String? partnerId, core.String? $fields, }) async { final queryParams_ = >{ if (advertiserId != null) 'advertiserId': [advertiserId], - if (partnerId != null) 'partnerId': [partnerId], if ($fields != null) 'fields': [$fields], }; - final url_ = 'v2/firstAndThirdPartyAudiences/' + - core.Uri.encodeFull('$firstAndThirdPartyAudienceId'); + final url_ = 'v2/customLists/' + core.Uri.encodeFull('$customListId'); final response_ = await _requester.request( url_, 'GET', queryParams: queryParams_, ); - return FirstAndThirdPartyAudience.fromJson( + return CustomList.fromJson( response_ as core.Map); } - /// Lists first and third party audiences. + /// Lists custom lists. /// /// The order is defined by the order_by parameter. /// /// Request parameters: /// - /// [advertiserId] - The ID of the advertiser that has access to the fetched - /// first and third party audiences. - /// - /// [filter] - Allows filtering by first and third party audience fields. - /// Supported syntax: * Filter expressions for first and third party audiences - /// can only contain at most one restriction. * A restriction has the form of - /// `{field} {operator} {value}`. * All fields must use the `HAS (:)` - /// operator. Supported fields: * `displayName` Examples: * All first and - /// third party audiences for which the display name contains "Google": - /// `displayName:"Google"`. The length of this field should be no more than - /// 500 characters. Reference our \[filter `LIST` + /// [advertiserId] - The ID of the DV360 advertiser that has access to the + /// fetched custom lists. + /// + /// [filter] - Allows filtering by custom list fields. Supported syntax: * + /// Filter expressions for custom lists can only contain at most one + /// restriction. * A restriction has the form of `{field} {operator} {value}`. + /// * All fields must use the `HAS (:)` operator. Supported fields: * + /// `displayName` Examples: * All custom lists for which the display name + /// contains "Google": `displayName:"Google"`. The length of this field should + /// be no more than 500 characters. Reference our \[filter `LIST` /// requests\](/display-video/api/guides/how-tos/filters) guide for more /// information. /// /// [orderBy] - Field by which to sort the list. Acceptable values are: * - /// `firstAndThirdPartyAudienceId` (default) * `displayName` 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`. + /// `customListId` (default) * `displayName` 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] - Requested page size. Must be between `1` and `5000`. If - /// unspecified, this value defaults to `100`. Returns error code - /// `INVALID_ARGUMENT` if an invalid value is specified. + /// [pageSize] - Requested page size. Must be between `1` and `200`. If + /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` + /// if an invalid value is specified. /// /// [pageToken] - 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 `ListFirstAndThirdPartyAudiences` method. If not - /// specified, the first page of results will be returned. - /// - /// [partnerId] - The ID of the partner that has access to the fetched first - /// and third party audiences. + /// previous call to `ListCustomLists` method. If not specified, the first + /// page of results will be returned. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [ListFirstAndThirdPartyAudiencesResponse]. + /// Completes with a [ListCustomListsResponse]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future list({ + async.Future list({ core.String? advertiserId, core.String? filter, core.String? orderBy, core.int? pageSize, core.String? pageToken, - core.String? partnerId, core.String? $fields, }) async { final queryParams_ = >{ @@ -8777,75 +7152,17 @@ class FirstAndThirdPartyAudiencesResource { if (orderBy != null) 'orderBy': [orderBy], if (pageSize != null) 'pageSize': ['${pageSize}'], if (pageToken != null) 'pageToken': [pageToken], - if (partnerId != null) 'partnerId': [partnerId], if ($fields != null) 'fields': [$fields], }; - const url_ = 'v2/firstAndThirdPartyAudiences'; + const url_ = 'v2/customLists'; final response_ = await _requester.request( url_, 'GET', queryParams: queryParams_, ); - return ListFirstAndThirdPartyAudiencesResponse.fromJson( - response_ as core.Map); - } - - /// Updates an existing FirstAndThirdPartyAudience. - /// - /// Only supported for the following audience_type: * - /// `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID` - /// - /// [request] - The metadata request object. - /// - /// Request parameters: - /// - /// [firstAndThirdPartyAudienceId] - Output only. The unique ID of the first - /// and third party audience. Assigned by the system. - /// Value must have pattern `^\[^/\]+$`. - /// - /// [advertiserId] - Required. The ID of the owner advertiser of the updated - /// FirstAndThirdPartyAudience. - /// - /// [updateMask] - Required. The mask to control which fields to update. - /// Updates are only supported for the following fields: * `displayName` * - /// `description` * `membershipDurationDays` - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [FirstAndThirdPartyAudience]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - async.Future patch( - FirstAndThirdPartyAudience request, - core.String firstAndThirdPartyAudienceId, { - core.String? advertiserId, - core.String? updateMask, - core.String? $fields, - }) async { - final body_ = convert.json.encode(request); - final queryParams_ = >{ - if (advertiserId != null) 'advertiserId': [advertiserId], - if (updateMask != null) 'updateMask': [updateMask], - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v2/firstAndThirdPartyAudiences/' + - core.Uri.encodeFull('$firstAndThirdPartyAudienceId'); - - final response_ = await _requester.request( - url_, - 'PATCH', - body: body_, - queryParams: queryParams_, - ); - return FirstAndThirdPartyAudience.fromJson( + return ListCustomListsResponse.fromJson( response_ as core.Map); } } @@ -12839,11 +11156,6 @@ class Advertiser { /// Output only. core.String? advertiserId; - /// Billing related settings of the advertiser. - /// - /// Required. - AdvertiserBillingConfig? billingConfig; - /// Creative related settings of the advertiser. /// /// Required. @@ -12926,7 +11238,6 @@ class Advertiser { Advertiser({ this.adServerConfig, this.advertiserId, - this.billingConfig, this.creativeConfig, this.dataAccessConfig, this.displayName, @@ -12947,10 +11258,6 @@ class Advertiser { as core.Map) : null, advertiserId: json_['advertiserId'] as core.String?, - billingConfig: json_.containsKey('billingConfig') - ? AdvertiserBillingConfig.fromJson( - json_['billingConfig'] as core.Map) - : null, creativeConfig: json_.containsKey('creativeConfig') ? AdvertiserCreativeConfig.fromJson(json_['creativeConfig'] as core.Map) @@ -12982,7 +11289,6 @@ class Advertiser { core.Map toJson() => { if (adServerConfig != null) 'adServerConfig': adServerConfig!, if (advertiserId != null) 'advertiserId': advertiserId!, - if (billingConfig != null) 'billingConfig': billingConfig!, if (creativeConfig != null) 'creativeConfig': creativeConfig!, if (dataAccessConfig != null) 'dataAccessConfig': dataAccessConfig!, if (displayName != null) 'displayName': displayName!, @@ -13031,9 +11337,6 @@ class AdvertiserAdServerConfig { }; } -/// Billing related settings of an advertiser. -typedef AdvertiserBillingConfig = $AdvertiserBillingConfig; - /// Creatives related settings of an advertiser. typedef AdvertiserCreativeConfig = $AdvertiserCreativeConfig; @@ -13146,9 +11449,13 @@ typedef Asset = $Asset; /// Asset association for the creative. class AssetAssociation { /// The associated asset. + /// + /// Optional. Asset? asset; /// The role of this asset for the creative. + /// + /// Optional. /// Possible string values are: /// - "ASSET_ROLE_UNSPECIFIED" : Asset role is not specified or is unknown in /// this version. @@ -13158,20 +11465,20 @@ class AssetAssociation { /// creative. /// - "ASSET_ROLE_HEADLINE" : Headline of a native creative. The content must /// be UTF-8 encoded with a length of no more than 25 characters. This role is - /// only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * + /// only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` /// - "ASSET_ROLE_LONG_HEADLINE" : Long headline of a native creative. The /// content must be UTF-8 encoded with a length of no more than 50 characters. - /// This role is only supported in following creative_type: * + /// This role is only supported in the following creative_type: * /// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * /// `CREATIVE_TYPE_NATIVE_VIDEO` /// - "ASSET_ROLE_BODY" : Body text of a native creative. The content must be /// UTF-8 encoded with a length of no more than 90 characters. This role is - /// only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * + /// only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` /// - "ASSET_ROLE_LONG_BODY" : Long body text of a native creative. The /// content must be UTF-8 encoded with a length of no more than 150 - /// characters. This role is only supported in following creative_type: * + /// characters. This role is only supported in the following creative_type: * /// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * /// `CREATIVE_TYPE_NATIVE_VIDEO` /// - "ASSET_ROLE_CAPTION_URL" : A short, friendly version of the landing page @@ -13180,17 +11487,17 @@ class AssetAssociation { /// encoded with a length of no more than 30 characters. For example, if the /// landing page URL is 'http://www.example.com/page', the caption URL can be /// 'example.com'. The protocol (http://) is optional, but the URL can't - /// contain spaces or special characters. This role is only supported in + /// contain spaces or special characters. This role is only supported in the /// following creative_type: * `CREATIVE_TYPE_NATIVE` * /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` /// - "ASSET_ROLE_CALL_TO_ACTION" : The text to use on the call-to-action /// button of a native creative. The content must be UTF-8 encoded with a - /// length of no more than 15 characters. This role is only supported in + /// length of no more than 15 characters. This role is only supported in the /// following creative_type: * `CREATIVE_TYPE_NATIVE` * /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` /// - "ASSET_ROLE_ADVERTISER_NAME" : The text that identifies the advertiser /// or brand name. The content must be UTF-8 encoded with a length of no more - /// than 25 characters. This role is only supported in following + /// than 25 characters. This role is only supported in the following /// creative_type: * `CREATIVE_TYPE_NATIVE` * /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` /// - "ASSET_ROLE_PRICE" : The purchase price of your app in the Google play @@ -13202,38 +11509,38 @@ class AssetAssociation { /// - "ASSET_ROLE_ANDROID_APP_ID" : The ID of an Android app in the Google /// play store. You can find this ID in the App’s Google Play Store URL after /// ‘id’. For example, in - /// https://play.google.com/store/apps/details?id=com.company.appname the + /// `https://play.google.com/store/apps/details?id=com.company.appname` the /// identifier is com.company.appname. Assets of this role are read-only. /// - "ASSET_ROLE_IOS_APP_ID" : The ID of an iOS app in the Apple app store. /// This ID number can be found in the Apple App Store URL as the string of /// numbers directly after "id". For example, in - /// https://apps.apple.com/us/app/gmail-email-by-google/id422689480 the ID is - /// 422689480. Assets of this role are read-only. + /// `https://apps.apple.com/us/app/gmail-email-by-google/id422689480` the ID + /// is 422689480. Assets of this role are read-only. /// - "ASSET_ROLE_RATING" : The rating of an app in the Google play store or /// iOS app store. Note that this value is not automatically synced with the /// actual rating in the store. It will always be the one provided when save /// the creative. Assets of this role are read-only. /// - "ASSET_ROLE_ICON" : The icon of a creative. This role is only supported - /// and required in following creative_type: * `CREATIVE_TYPE_NATIVE` * + /// and required in the following creative_type: * `CREATIVE_TYPE_NATIVE` * /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` /// - "ASSET_ROLE_COVER_IMAGE" : The cover image of a native video creative. - /// This role is only supported and required in following creative_type: * + /// This role is only supported and required in the following creative_type: * /// `CREATIVE_TYPE_VIDEO` /// - "ASSET_ROLE_BACKGROUND_COLOR" : The main color to use in a creative. - /// This role is only supported and required in following creative_type: * + /// This role is only supported and required in the following creative_type: * /// `CREATIVE_TYPE_ASSET_BASED_CREATIVE` /// - "ASSET_ROLE_ACCENT_COLOR" : The accent color to use in a creative. This - /// role is only supported and required in following creative_type: * + /// role is only supported and required in the following creative_type: * /// `CREATIVE_TYPE_ASSET_BASED_CREATIVE` /// - "ASSET_ROLE_REQUIRE_LOGO" : Whether the creative must use a logo asset. - /// This role is only supported and required in following creative_type: * + /// This role is only supported and required in the following creative_type: * /// `CREATIVE_TYPE_ASSET_BASED_CREATIVE` /// - "ASSET_ROLE_REQUIRE_IMAGE" : Whether the creative must use an image - /// asset. This role is only supported and required in following + /// asset. This role is only supported and required in the following /// creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE` /// - "ASSET_ROLE_ENABLE_ASSET_ENHANCEMENTS" : Whether asset enhancements can /// be applied to the creative. This role is only supported and required in - /// following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE` + /// the following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE` core.String? role; AssetAssociation({ @@ -14164,64 +12471,46 @@ typedef AssignedUserRole = $AssignedUserRole; /// excluded_google_audience_group, of which COMPLEMENT is used as an /// INTERSECTION with other groups. class AudienceGroupAssignedTargetingOptionDetails { - /// The first and third party audience ids and recencies of the excluded first - /// and third party audience group. - /// - /// Used for negative targeting. The COMPLEMENT of the UNION of this group and - /// other excluded audience groups is used as an INTERSECTION to any positive - /// audience targeting. All items are logically ‘OR’ of each other. - FirstAndThirdPartyAudienceGroup? excludedFirstAndThirdPartyAudienceGroup; - /// The Google audience ids of the excluded Google audience group. /// /// Used for negative targeting. The COMPLEMENT of the UNION of this group and /// other excluded audience groups is used as an INTERSECTION to any positive /// audience targeting. Only contains Affinity, In-market and Installed-apps /// type Google audiences. All items are logically ‘OR’ of each other. + /// + /// Optional. GoogleAudienceGroup? excludedGoogleAudienceGroup; /// The combined audience ids of the included combined audience group. /// /// Contains combined audience ids only. + /// + /// Optional. CombinedAudienceGroup? includedCombinedAudienceGroup; /// The custom list ids of the included custom list group. /// /// Contains custom list ids only. - CustomListGroup? includedCustomListGroup; - - /// 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. - core.List? - includedFirstAndThirdPartyAudienceGroups; + /// Optional. + CustomListGroup? includedCustomListGroup; /// The Google audience ids of the included Google audience group. /// /// Contains Google audience ids only. + /// + /// Optional. GoogleAudienceGroup? includedGoogleAudienceGroup; AudienceGroupAssignedTargetingOptionDetails({ - this.excludedFirstAndThirdPartyAudienceGroup, this.excludedGoogleAudienceGroup, this.includedCombinedAudienceGroup, this.includedCustomListGroup, - this.includedFirstAndThirdPartyAudienceGroups, this.includedGoogleAudienceGroup, }); AudienceGroupAssignedTargetingOptionDetails.fromJson(core.Map json_) : this( - excludedFirstAndThirdPartyAudienceGroup: - json_.containsKey('excludedFirstAndThirdPartyAudienceGroup') - ? FirstAndThirdPartyAudienceGroup.fromJson( - json_['excludedFirstAndThirdPartyAudienceGroup'] - as core.Map) - : null, excludedGoogleAudienceGroup: json_.containsKey('excludedGoogleAudienceGroup') ? GoogleAudienceGroup.fromJson( @@ -14238,11 +12527,6 @@ class AudienceGroupAssignedTargetingOptionDetails { ? CustomListGroup.fromJson(json_['includedCustomListGroup'] as core.Map) : null, - includedFirstAndThirdPartyAudienceGroups: - (json_['includedFirstAndThirdPartyAudienceGroups'] as core.List?) - ?.map((value) => FirstAndThirdPartyAudienceGroup.fromJson( - value as core.Map)) - .toList(), includedGoogleAudienceGroup: json_.containsKey('includedGoogleAudienceGroup') ? GoogleAudienceGroup.fromJson( @@ -14252,18 +12536,12 @@ class AudienceGroupAssignedTargetingOptionDetails { ); core.Map toJson() => { - if (excludedFirstAndThirdPartyAudienceGroup != null) - 'excludedFirstAndThirdPartyAudienceGroup': - excludedFirstAndThirdPartyAudienceGroup!, if (excludedGoogleAudienceGroup != null) 'excludedGoogleAudienceGroup': excludedGoogleAudienceGroup!, if (includedCombinedAudienceGroup != null) 'includedCombinedAudienceGroup': includedCombinedAudienceGroup!, if (includedCustomListGroup != null) 'includedCustomListGroup': includedCustomListGroup!, - if (includedFirstAndThirdPartyAudienceGroups != null) - 'includedFirstAndThirdPartyAudienceGroups': - includedFirstAndThirdPartyAudienceGroups!, if (includedGoogleAudienceGroup != null) 'includedGoogleAudienceGroup': includedGoogleAudienceGroup!, }; @@ -15171,103 +13449,30 @@ class BulkListAssignedTargetingOptionsResponse { /// A token identifying the next page of results. /// - /// This value should be specified as the pageToken in a subsequent call to - /// `BulkListAssignedTargetingOptions` to fetch the next page of results. This - /// token will be absent if there are no more - /// line_item_assigned_targeting_options to return. - core.String? nextPageToken; - - BulkListAssignedTargetingOptionsResponse({ - this.lineItemAssignedTargetingOptions, - this.nextPageToken, - }); - - BulkListAssignedTargetingOptionsResponse.fromJson(core.Map json_) - : this( - lineItemAssignedTargetingOptions: - (json_['lineItemAssignedTargetingOptions'] as core.List?) - ?.map((value) => LineItemAssignedTargetingOption.fromJson( - value as core.Map)) - .toList(), - nextPageToken: json_['nextPageToken'] as core.String?, - ); - - core.Map toJson() => { - if (lineItemAssignedTargetingOptions != null) - 'lineItemAssignedTargetingOptions': lineItemAssignedTargetingOptions!, - if (nextPageToken != null) 'nextPageToken': nextPageToken!, - }; -} - -class BulkListCampaignAssignedTargetingOptionsResponse { - /// The list of assigned targeting options. - /// - /// This list will be absent if empty. - core.List? assignedTargetingOptions; - - /// 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. - core.String? nextPageToken; - - BulkListCampaignAssignedTargetingOptionsResponse({ - this.assignedTargetingOptions, - this.nextPageToken, - }); - - BulkListCampaignAssignedTargetingOptionsResponse.fromJson(core.Map json_) - : this( - assignedTargetingOptions: - (json_['assignedTargetingOptions'] as core.List?) - ?.map((value) => AssignedTargetingOption.fromJson( - value as core.Map)) - .toList(), - nextPageToken: json_['nextPageToken'] as core.String?, - ); - - core.Map toJson() => { - if (assignedTargetingOptions != null) - 'assignedTargetingOptions': assignedTargetingOptions!, - if (nextPageToken != null) 'nextPageToken': nextPageToken!, - }; -} - -class BulkListInsertionOrderAssignedTargetingOptionsResponse { - /// The list of assigned targeting options. - /// - /// This list will be absent if empty. - core.List? assignedTargetingOptions; - - /// A token identifying the next page of results. - /// - /// This value should be specified as the pageToken in a subsequent - /// BulkListInsertionOrderAssignedTargetingOptionsRequest to fetch the next - /// page of results. This token will be absent if there are no more - /// assigned_targeting_options to return. + /// This value should be specified as the pageToken in a subsequent call to + /// `BulkListAssignedTargetingOptions` to fetch the next page of results. This + /// token will be absent if there are no more + /// line_item_assigned_targeting_options to return. core.String? nextPageToken; - BulkListInsertionOrderAssignedTargetingOptionsResponse({ - this.assignedTargetingOptions, + BulkListAssignedTargetingOptionsResponse({ + this.lineItemAssignedTargetingOptions, this.nextPageToken, }); - BulkListInsertionOrderAssignedTargetingOptionsResponse.fromJson( - core.Map json_) + BulkListAssignedTargetingOptionsResponse.fromJson(core.Map json_) : this( - assignedTargetingOptions: - (json_['assignedTargetingOptions'] as core.List?) - ?.map((value) => AssignedTargetingOption.fromJson( + lineItemAssignedTargetingOptions: + (json_['lineItemAssignedTargetingOptions'] as core.List?) + ?.map((value) => LineItemAssignedTargetingOption.fromJson( value as core.Map)) .toList(), nextPageToken: json_['nextPageToken'] as core.String?, ); core.Map toJson() => { - if (assignedTargetingOptions != null) - 'assignedTargetingOptions': assignedTargetingOptions!, + if (lineItemAssignedTargetingOptions != null) + 'lineItemAssignedTargetingOptions': lineItemAssignedTargetingOptions!, if (nextPageToken != null) 'nextPageToken': nextPageToken!, }; } @@ -15473,6 +13678,10 @@ class Campaign { /// The frequency cap setting of the campaign. /// + /// *Warning*: On **February 28, 2025**, frequency cap time periods greater + /// than 30 days will no longer be accepted. \[Read more about this announced + /// change\](/display-video/api/deprecations#features.lifetime_frequency_cap) + /// /// Required. FrequencyCap? frequencyCap; @@ -15810,7 +14019,7 @@ typedef CombinedAudience = $CombinedAudience; class CombinedAudienceGroup { /// All combined audience targeting settings in combined audience group. /// - /// Repeated settings with same id will be ignored. The number of combined + /// Repeated settings with the same id will be ignored. The number of combined /// audience settings should be no more than five, error will be thrown /// otherwise. /// @@ -15898,52 +14107,6 @@ class CommonInStreamAttribute { }; } -/// User consent status. -typedef Consent = $Consent; - -/// Contact information defining a Customer Match audience member. -typedef ContactInfo = $ContactInfo; - -/// Wrapper message for a list of contact information defining Customer Match -/// audience members. -class ContactInfoList { - /// Input only. - /// - /// The consent setting for the users in contact_infos. Leaving this field - /// unset indicates that consent is not specified. If ad_user_data or - /// ad_personalization fields are set to `CONSENT_STATUS_DENIED`, the request - /// will return an error. - Consent? consent; - - /// A list of ContactInfo objects defining Customer Match audience members. - /// - /// The size of members after splitting the contact_infos mustn't be greater - /// than 500,000. - core.List? contactInfos; - - ContactInfoList({ - this.consent, - this.contactInfos, - }); - - ContactInfoList.fromJson(core.Map json_) - : this( - consent: json_.containsKey('consent') - ? Consent.fromJson( - json_['consent'] as core.Map) - : null, - contactInfos: (json_['contactInfos'] as core.List?) - ?.map((value) => ContactInfo.fromJson( - value as core.Map)) - .toList(), - ); - - core.Map toJson() => { - if (consent != null) 'consent': consent!, - if (contactInfos != null) 'contactInfos': contactInfos!, - }; -} - /// Details for content duration assigned targeting option. /// /// This will be populated in the content_duration_details field when @@ -16031,6 +14194,12 @@ class ConversionCountingConfig { /// /// The number of conversions counted is the sum of all of the conversions /// counted by all of the Floodlight activity IDs specified in this field. + /// *Warning*: Starting **April 1, 2025**, this field will no longer be + /// writable while a custom bidding algorithm is assigned to the line item. If + /// you set this field and assign a custom bidding algorithm in the same + /// request, the floodlight activities must match the ones used by the custom + /// bidding algorithm. \[Read more about this announced + /// change\](/display-video/api/deprecations#features.custom_bidding_floodlight). core.List? floodlightActivityConfigs; /// The percentage of post-view conversions to count, in millis (1/1000 of a @@ -16340,6 +14509,8 @@ class Creative { /// `CREATIVE_TYPE_PUBLISHER_HOSTED` If this field is specified, width_pixels /// and height_pixels are both required and must be greater than or equal to /// 0. + /// + /// Optional. core.List? additionalDimensions; /// The unique ID of the advertiser the creative belongs to. @@ -16348,6 +14519,8 @@ class Creative { core.String? advertiserId; /// Third-party HTML tracking tag to be appended to the creative tag. + /// + /// Optional. core.String? appendedTag; /// Assets associated to this creative. @@ -16370,6 +14543,8 @@ class Creative { /// that uses both Campaign Manager 360 and third-party ad serving: * /// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` Output only /// for other cases. + /// + /// Optional. CmTrackingAd? cmTrackingAd; /// The IDs of companion creatives for a video creative. @@ -16378,8 +14553,10 @@ class Creative { /// serve surrounding the publisher's video player. Companions display around /// the video player while the video is playing and remain after the video has /// completed. Creatives contain additional dimensions can not be companion - /// creatives. This field is only supported for following creative_type: * + /// creatives. This field is only supported for the following creative_type: * /// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` + /// + /// Optional. core.List? companionCreativeIds; /// Counter events for a rich media creative. @@ -16389,6 +14566,8 @@ class Creative { /// taps, data loading, keyboard entries, etc.). Any event that can be /// captured in the creative can be recorded as a counter. Leave it empty or /// unset for creatives containing image assets only. + /// + /// Optional. core.List? counterEvents; /// The timestamp when the creative was created. @@ -16455,7 +14634,7 @@ class Creative { /// - "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" : Templated app install /// mobile video creative. Create and update methods are **not** supported for /// this creative type. - /// - "CREATIVE_TYPE_ASSET_BASED_CREATIVE" : Asset based creative. Create and + /// - "CREATIVE_TYPE_ASSET_BASED_CREATIVE" : Asset-based creative. Create and /// update methods are supported for this creative type if the hosting_source /// is `HOSTING_SOURCE_HOSTED`. core.String? creativeType; @@ -16593,19 +14772,25 @@ class Creative { /// To enable this for the creative, make sure the /// Advertiser.creative_config.ias_client_id has been set to your IAS client /// ID. + /// + /// Optional. core.bool? iasCampaignMonitoring; /// ID information used to link this creative to an external system. /// /// Must be UTF-8 encoded with a length of no more than 10,000 characters. + /// + /// Optional. core.String? integrationCode; /// JavaScript measurement URL from supported third-party verification /// providers (ComScore, DoubleVerify, IAS, Moat). /// - /// HTML script tags are not supported. This field is only writeable in + /// HTML script tags are not supported. This field is only writeable in the /// following creative_type: * `CREATIVE_TYPE_NATIVE` * /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` + /// + /// Optional. core.String? jsTrackerUrl; /// The IDs of the line items this creative is associated with. @@ -16642,12 +14827,16 @@ class Creative { /// User notes for this creative. /// /// Must be UTF-8 encoded with a length of no more than 20,000 characters. + /// + /// Optional. core.String? notes; /// Specifies the OBA icon for a video creative. /// - /// This field is only supported in following creative_type: * + /// This field is only supported in the following creative_type: * /// `CREATIVE_TYPE_VIDEO` + /// + /// Optional. ObaIcon? obaIcon; /// Indicates the third-party audio creative supports OGG. @@ -16664,6 +14853,8 @@ class Creative { /// /// This field is required when skippable is true. This field is only /// supported for the following creative_type: * `CREATIVE_TYPE_VIDEO` + /// + /// Optional. AudioVideoOffset? progressOffset; /// Indicates that the creative relies on HTML5 to render properly. @@ -16712,12 +14903,16 @@ class Creative { /// /// This field is required when skippable is true. This field is only /// supported for the following creative_type: * `CREATIVE_TYPE_VIDEO` + /// + /// Optional. AudioVideoOffset? skipOffset; /// Whether the user can choose to skip a video creative. /// /// This field is only supported for the following creative_type: * /// `CREATIVE_TYPE_VIDEO` + /// + /// Optional. core.bool? skippable; /// The original third-party tag used for the creative. @@ -16736,6 +14931,8 @@ class Creative { /// This field is only supported for the following creative_type: * /// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` * /// `CREATIVE_TYPE_NATIVE_VIDEO` + /// + /// Optional. core.List? thirdPartyUrls; /// Timer custom events for a rich media creative. @@ -16744,16 +14941,21 @@ class Creative { /// specified part of a rich media creative. A creative can have multiple /// timer events, each timed independently. Leave it empty or unset for /// creatives containing image assets only. + /// + /// Optional. core.List? timerEvents; /// Tracking URLs for analytics providers or third-party ad technology /// vendors. /// - /// The URLs must start with https (except on inventory that doesn't require - /// SSL compliance). If using macros in your URL, use only macros supported by - /// Display & Video 360. Standard URLs only, no IMG or SCRIPT tags. This field - /// is only writeable in following creative_type: * `CREATIVE_TYPE_NATIVE` * - /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` + /// The URLs must start with `https:` (except on inventory that doesn't + /// require SSL compliance). If using macros in your URL, use only macros + /// supported by Display & Video 360. Standard URLs only, no IMG or SCRIPT + /// tags. This field is only writeable in the following creative_type: * + /// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * + /// `CREATIVE_TYPE_NATIVE_VIDEO` + /// + /// Optional. core.List? trackerUrls; /// Audio/Video transcodes. @@ -16764,8 +14966,8 @@ class Creative { /// specific video players or bandwidths. These transcodes give a publisher's /// system more options to choose from for each impression on your video and /// ensures that the appropriate file serves based on the viewer’s connection - /// and screen size. This field is only supported in following creative_type: - /// * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO` * + /// and screen size. This field is only supported in the following + /// creative_type: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO` * /// `CREATIVE_TYPE_AUDIO` /// /// Output only. @@ -17067,7 +15269,7 @@ class CreativeConfig { /// - "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" : Templated app install /// mobile video creative. Create and update methods are **not** supported for /// this creative type. - /// - "CREATIVE_TYPE_ASSET_BASED_CREATIVE" : Asset based creative. Create and + /// - "CREATIVE_TYPE_ASSET_BASED_CREATIVE" : Asset-based creative. Create and /// update methods are supported for this creative type if the hosting_source /// is `HOSTING_SOURCE_HOSTED`. core.String? creativeType; @@ -17134,8 +15336,6 @@ class CustomBiddingAlgorithm { /// specified or is unknown in this version. /// - "SCRIPT_BASED" : Algorithm generated through customer-uploaded custom /// bidding script files. - /// - "ADS_DATA_HUB_BASED" : Algorithm created through Ads Data Hub product. - /// - "GOAL_BUILDER_BASED" : Algorithm created through goal builder in DV3 UI. core.String? customBiddingAlgorithmType; /// The display name of the custom bidding algorithm. @@ -17411,7 +15611,7 @@ typedef CustomList = $CustomList; class CustomListGroup { /// All custom list targeting settings in custom list group. /// - /// Repeated settings with same id will be ignored. + /// Repeated settings with the same id will be ignored. /// /// Required. core.List? settings; @@ -17649,81 +15849,6 @@ typedef DoubleVerifyVideoViewability = $DoubleVerifyVideoViewability; typedef DuplicateLineItemRequest = $DuplicateLineItemRequest; typedef DuplicateLineItemResponse = $DuplicateLineItemResponse; -/// Request message for -/// FirstAndThirdPartyAudienceService.EditCustomerMatchMembers. -class EditCustomerMatchMembersRequest { - /// Input only. - /// - /// A list of contact information to define the members to be added. - ContactInfoList? addedContactInfoList; - - /// Input only. - /// - /// A list of mobile device IDs to define the members to be added. - MobileDeviceIdList? addedMobileDeviceIdList; - - /// The ID of the owner advertiser of the updated Customer Match - /// FirstAndThirdPartyAudience. - /// - /// Required. - core.String? advertiserId; - - /// Input only. - /// - /// A list of contact information to define the members to be removed. - ContactInfoList? removedContactInfoList; - - /// Input only. - /// - /// A list of mobile device IDs to define the members to be removed. - MobileDeviceIdList? removedMobileDeviceIdList; - - EditCustomerMatchMembersRequest({ - this.addedContactInfoList, - this.addedMobileDeviceIdList, - this.advertiserId, - this.removedContactInfoList, - this.removedMobileDeviceIdList, - }); - - EditCustomerMatchMembersRequest.fromJson(core.Map json_) - : this( - addedContactInfoList: json_.containsKey('addedContactInfoList') - ? ContactInfoList.fromJson(json_['addedContactInfoList'] - as core.Map) - : null, - addedMobileDeviceIdList: json_.containsKey('addedMobileDeviceIdList') - ? MobileDeviceIdList.fromJson(json_['addedMobileDeviceIdList'] - as core.Map) - : null, - advertiserId: json_['advertiserId'] as core.String?, - removedContactInfoList: json_.containsKey('removedContactInfoList') - ? ContactInfoList.fromJson(json_['removedContactInfoList'] - as core.Map) - : null, - removedMobileDeviceIdList: json_ - .containsKey('removedMobileDeviceIdList') - ? MobileDeviceIdList.fromJson(json_['removedMobileDeviceIdList'] - as core.Map) - : null, - ); - - core.Map toJson() => { - if (addedContactInfoList != null) - 'addedContactInfoList': addedContactInfoList!, - if (addedMobileDeviceIdList != null) - 'addedMobileDeviceIdList': addedMobileDeviceIdList!, - if (advertiserId != null) 'advertiserId': advertiserId!, - if (removedContactInfoList != null) - 'removedContactInfoList': removedContactInfoList!, - if (removedMobileDeviceIdList != null) - 'removedMobileDeviceIdList': removedMobileDeviceIdList!, - }; -} - -/// The response of FirstAndThirdPartyAudienceService.EditCustomerMatchMembers. -typedef EditCustomerMatchMembersResponse = $EditCustomerMatchMembersResponse; - /// Request message for GuaranteedOrderService.EditGuaranteedOrderReadAccessors. typedef EditGuaranteedOrderReadAccessorsRequest = $EditGuaranteedOrderReadAccessorsRequest; @@ -17764,375 +15889,87 @@ class EditInventorySourceReadWriteAccessorsRequest { as core.Map) : null, assignPartner: json_['assignPartner'] as core.bool?, - partnerId: json_['partnerId'] as core.String?, - ); - - core.Map toJson() => { - if (advertisersUpdate != null) 'advertisersUpdate': advertisersUpdate!, - if (assignPartner != null) 'assignPartner': assignPartner!, - if (partnerId != null) 'partnerId': partnerId!, - }; -} - -/// Update to the list of advertisers with read/write access to the inventory -/// source. -typedef EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate - = $EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate; - -/// 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); } -typedef Empty = $Empty; - -/// Assigned environment targeting option details. -/// -/// This will be populated in the details field of an AssignedTargetingOption -/// when targeting_type is `TARGETING_TYPE_ENVIRONMENT`. -typedef EnvironmentAssignedTargetingOptionDetails - = $EnvironmentAssignedTargetingOptionDetails; - -/// Represents a targetable environment. -/// -/// This will be populated in the environment_details field of a TargetingOption -/// when targeting_type is `TARGETING_TYPE_ENVIRONMENT`. -typedef EnvironmentTargetingOptionDetails = $EnvironmentTargetingOptionDetails; - -/// Details for assigned exchange targeting option. -/// -/// This will be populated in the details field of an AssignedTargetingOption -/// when targeting_type is `TARGETING_TYPE_EXCHANGE`. -typedef ExchangeAssignedTargetingOptionDetails - = $ExchangeAssignedTargetingOptionDetails; - -/// Settings that control which exchanges are enabled for a partner. -class ExchangeConfig { - /// All enabled exchanges in the partner. - /// - /// Duplicate enabled exchanges will be ignored. - core.List? enabledExchanges; - - ExchangeConfig({ - this.enabledExchanges, - }); - - ExchangeConfig.fromJson(core.Map json_) - : this( - enabledExchanges: (json_['enabledExchanges'] as core.List?) - ?.map((value) => ExchangeConfigEnabledExchange.fromJson( - value as core.Map)) - .toList(), - ); - - core.Map toJson() => { - if (enabledExchanges != null) 'enabledExchanges': enabledExchanges!, - }; -} - -/// An enabled exchange in the partner. -typedef ExchangeConfigEnabledExchange = $ExchangeConfigEnabledExchange; - -/// Exchange review status for the creative. -typedef ExchangeReviewStatus = $ExchangeReviewStatus; - -/// Represents a targetable exchange. -/// -/// This will be populated in the exchange_details field of a TargetingOption -/// when targeting_type is `TARGETING_TYPE_EXCHANGE`. -typedef ExchangeTargetingOptionDetails = $ExchangeTargetingOptionDetails; - -/// Exit event of the creative. -typedef ExitEvent = $ExitEvent; - -/// Describes a first or third party audience list used for targeting. -/// -/// First party audiences are created via usage of client data. Third party -/// audiences are provided by Third Party data providers and can only be -/// licensed to customers. -class FirstAndThirdPartyAudience { - /// The estimated audience size for the Display network in the past month. - /// - /// If the size is less than 1000, the number will be hidden and 0 will be - /// returned due to privacy reasons. Otherwise, the number will be rounded off - /// to two significant digits. Only returned in GET request. - /// - /// Output only. - core.String? activeDisplayAudienceSize; - - /// The app_id matches with the type of the mobile_device_ids being uploaded. - /// - /// Only applicable to audience_type `CUSTOMER_MATCH_DEVICE_ID` - core.String? appId; - - /// The source of the audience. - /// - /// Output only. - /// Possible string values are: - /// - "AUDIENCE_SOURCE_UNSPECIFIED" : Default value when audience source is - /// not specified or is unknown. - /// - "DISPLAY_VIDEO_360" : Originated from Display & Video 360. - /// - "CAMPAIGN_MANAGER" : Originated from Campaign Manager 360. - /// - "AD_MANAGER" : Originated from Google Ad Manager. - /// - "SEARCH_ADS_360" : Originated from Search Ads 360. - /// - "YOUTUBE" : Originated from Youtube. - /// - "ADS_DATA_HUB" : Originated from Ads Data Hub. - core.String? audienceSource; - - /// The type of the audience. - /// Possible string values are: - /// - "AUDIENCE_TYPE_UNSPECIFIED" : Default value when type is not specified - /// or is unknown. - /// - "CUSTOMER_MATCH_CONTACT_INFO" : Audience was generated through matching - /// customers to known contact information. - /// - "CUSTOMER_MATCH_DEVICE_ID" : Audience was generated through matching - /// customers to known Mobile device IDs. - /// - "CUSTOMER_MATCH_USER_ID" : Audience was generated through matching - /// customers to known User IDs. - /// - "ACTIVITY_BASED" : Audience was created based on campaign activity. - /// - "FREQUENCY_CAP" : Audience was created based on excluding the number of - /// impressions they were served. - /// - "TAG_BASED" : Audience was created based on custom variables attached to - /// pixel. - /// - "YOUTUBE_USERS" : Audience was created based on past interactions with - /// videos, YouTube ads, or YouTube channel. - /// - "LICENSED" : Subtype of third party audience type. - core.String? audienceType; - - /// Input only. - /// - /// A list of contact information to define the initial audience members. Only - /// applicable to audience_type `CUSTOMER_MATCH_CONTACT_INFO` - ContactInfoList? contactInfoList; - - /// The user-provided description of the audience. - /// - /// Only applicable to first party audiences. - core.String? description; - - /// The estimated audience size for the Display network. - /// - /// If the size is less than 1000, the number will be hidden and 0 will be - /// returned due to privacy reasons. Otherwise, the number will be rounded off - /// to two significant digits. Only returned in GET request. - /// - /// Output only. - core.String? displayAudienceSize; - - /// The estimated desktop audience size in Display network. - /// - /// If the size is less than 1000, the number will be hidden and 0 will be - /// returned due to privacy reasons. Otherwise, the number will be rounded off - /// to two significant digits. Only applicable to first party audiences. Only - /// returned in GET request. - /// - /// Output only. - core.String? displayDesktopAudienceSize; - - /// The estimated mobile app audience size in Display network. - /// - /// If the size is less than 1000, the number will be hidden and 0 will be - /// returned due to privacy reasons. Otherwise, the number will be rounded off - /// to two significant digits. Only applicable to first party audiences. Only - /// returned in GET request. - /// - /// Output only. - core.String? displayMobileAppAudienceSize; - - /// The estimated mobile web audience size in Display network. - /// - /// If the size is less than 1000, the number will be hidden and 0 will be - /// returned due to privacy reasons. Otherwise, the number will be rounded off - /// to two significant digits. Only applicable to first party audiences. Only - /// returned in GET request. - /// - /// Output only. - core.String? displayMobileWebAudienceSize; - - /// The display name of the first and third party audience. - core.String? displayName; - - /// The unique ID of the first and third party audience. - /// - /// Assigned by the system. - /// - /// Output only. - core.String? firstAndThirdPartyAudienceId; - - /// Whether the audience is a first or third party audience. - /// Possible string values are: - /// - "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_UNSPECIFIED" : Default value when - /// type is not specified or is unknown. - /// - "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_FIRST_PARTY" : Audience that is - /// created via usage of client data. - /// - "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_THIRD_PARTY" : Audience that is - /// provided by Third Party data providers. - core.String? firstAndThirdPartyAudienceType; - - /// The estimated audience size for Gmail network. - /// - /// If the size is less than 1000, the number will be hidden and 0 will be - /// returned due to privacy reasons. Otherwise, the number will be rounded off - /// to two significant digits. Only applicable to first party audiences. Only - /// returned in GET request. - /// - /// Output only. - core.String? gmailAudienceSize; - - /// The duration in days that an entry remains in the audience after the - /// qualifying event. - /// - /// If the audience has no expiration, set the value of this field to 10000. - /// Otherwise, the set value must be greater than 0 and less than or equal to - /// 540. Only applicable to first party audiences. This field is required if - /// one of the following audience_type is used: * - /// `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID` - core.String? membershipDurationDays; - - /// Input only. - /// - /// A list of mobile device IDs to define the initial audience members. Only - /// applicable to audience_type `CUSTOMER_MATCH_DEVICE_ID` - MobileDeviceIdList? mobileDeviceIdList; - - /// The resource name of the first and third party audience. - /// - /// Output only. - core.String? name; - - /// The estimated audience size for YouTube network. - /// - /// If the size is less than 1000, the number will be hidden and 0 will be - /// returned due to privacy reasons. Otherwise, the number will be rounded off - /// to two significant digits. Only applicable to first party audiences. Only - /// returned in GET request. - /// - /// Output only. - core.String? youtubeAudienceSize; - - FirstAndThirdPartyAudience({ - this.activeDisplayAudienceSize, - this.appId, - this.audienceSource, - this.audienceType, - this.contactInfoList, - this.description, - this.displayAudienceSize, - this.displayDesktopAudienceSize, - this.displayMobileAppAudienceSize, - this.displayMobileWebAudienceSize, - this.displayName, - this.firstAndThirdPartyAudienceId, - this.firstAndThirdPartyAudienceType, - this.gmailAudienceSize, - this.membershipDurationDays, - this.mobileDeviceIdList, - this.name, - this.youtubeAudienceSize, - }); - - FirstAndThirdPartyAudience.fromJson(core.Map json_) - : this( - activeDisplayAudienceSize: - json_['activeDisplayAudienceSize'] as core.String?, - appId: json_['appId'] as core.String?, - audienceSource: json_['audienceSource'] as core.String?, - audienceType: json_['audienceType'] as core.String?, - contactInfoList: json_.containsKey('contactInfoList') - ? ContactInfoList.fromJson(json_['contactInfoList'] - as core.Map) - : null, - description: json_['description'] as core.String?, - displayAudienceSize: json_['displayAudienceSize'] as core.String?, - displayDesktopAudienceSize: - json_['displayDesktopAudienceSize'] as core.String?, - displayMobileAppAudienceSize: - json_['displayMobileAppAudienceSize'] as core.String?, - displayMobileWebAudienceSize: - json_['displayMobileWebAudienceSize'] as core.String?, - displayName: json_['displayName'] as core.String?, - firstAndThirdPartyAudienceId: - json_['firstAndThirdPartyAudienceId'] as core.String?, - firstAndThirdPartyAudienceType: - json_['firstAndThirdPartyAudienceType'] as core.String?, - gmailAudienceSize: json_['gmailAudienceSize'] as core.String?, - membershipDurationDays: - json_['membershipDurationDays'] as core.String?, - mobileDeviceIdList: json_.containsKey('mobileDeviceIdList') - ? MobileDeviceIdList.fromJson(json_['mobileDeviceIdList'] - as core.Map) - : null, - name: json_['name'] as core.String?, - youtubeAudienceSize: json_['youtubeAudienceSize'] as core.String?, + partnerId: json_['partnerId'] as core.String?, ); core.Map toJson() => { - if (activeDisplayAudienceSize != null) - 'activeDisplayAudienceSize': activeDisplayAudienceSize!, - if (appId != null) 'appId': appId!, - if (audienceSource != null) 'audienceSource': audienceSource!, - if (audienceType != null) 'audienceType': audienceType!, - if (contactInfoList != null) 'contactInfoList': contactInfoList!, - if (description != null) 'description': description!, - if (displayAudienceSize != null) - 'displayAudienceSize': displayAudienceSize!, - if (displayDesktopAudienceSize != null) - 'displayDesktopAudienceSize': displayDesktopAudienceSize!, - if (displayMobileAppAudienceSize != null) - 'displayMobileAppAudienceSize': displayMobileAppAudienceSize!, - if (displayMobileWebAudienceSize != null) - 'displayMobileWebAudienceSize': displayMobileWebAudienceSize!, - if (displayName != null) 'displayName': displayName!, - if (firstAndThirdPartyAudienceId != null) - 'firstAndThirdPartyAudienceId': firstAndThirdPartyAudienceId!, - if (firstAndThirdPartyAudienceType != null) - 'firstAndThirdPartyAudienceType': firstAndThirdPartyAudienceType!, - if (gmailAudienceSize != null) 'gmailAudienceSize': gmailAudienceSize!, - if (membershipDurationDays != null) - 'membershipDurationDays': membershipDurationDays!, - if (mobileDeviceIdList != null) - 'mobileDeviceIdList': mobileDeviceIdList!, - if (name != null) 'name': name!, - if (youtubeAudienceSize != null) - 'youtubeAudienceSize': youtubeAudienceSize!, + if (advertisersUpdate != null) 'advertisersUpdate': advertisersUpdate!, + if (assignPartner != null) 'assignPartner': assignPartner!, + if (partnerId != null) 'partnerId': partnerId!, }; } -/// Details of first and third party audience group. +/// Update to the list of advertisers with read/write access to the inventory +/// source. +typedef EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate + = $EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate; + +/// A generic empty message that you can re-use to avoid defining duplicated +/// empty messages in your APIs. /// -/// All first and third party audience targeting settings are logically ‘OR’ of -/// each other. -class FirstAndThirdPartyAudienceGroup { - /// All first and third party audience targeting settings in first and third - /// party audience group. - /// - /// Repeated settings with same id are not allowed. +/// 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); } +typedef Empty = $Empty; + +/// Assigned environment targeting option details. +/// +/// This will be populated in the details field of an AssignedTargetingOption +/// when targeting_type is `TARGETING_TYPE_ENVIRONMENT`. +typedef EnvironmentAssignedTargetingOptionDetails + = $EnvironmentAssignedTargetingOptionDetails; + +/// Represents a targetable environment. +/// +/// This will be populated in the environment_details field of a TargetingOption +/// when targeting_type is `TARGETING_TYPE_ENVIRONMENT`. +typedef EnvironmentTargetingOptionDetails = $EnvironmentTargetingOptionDetails; + +/// Details for assigned exchange targeting option. +/// +/// This will be populated in the details field of an AssignedTargetingOption +/// when targeting_type is `TARGETING_TYPE_EXCHANGE`. +typedef ExchangeAssignedTargetingOptionDetails + = $ExchangeAssignedTargetingOptionDetails; + +/// Settings that control which exchanges are enabled for a partner. +class ExchangeConfig { + /// All enabled exchanges in the partner. /// - /// Required. - core.List? settings; + /// Duplicate enabled exchanges will be ignored. + core.List? enabledExchanges; - FirstAndThirdPartyAudienceGroup({ - this.settings, + ExchangeConfig({ + this.enabledExchanges, }); - FirstAndThirdPartyAudienceGroup.fromJson(core.Map json_) + ExchangeConfig.fromJson(core.Map json_) : this( - settings: (json_['settings'] as core.List?) - ?.map((value) => - FirstAndThirdPartyAudienceTargetingSetting.fromJson( - value as core.Map)) + enabledExchanges: (json_['enabledExchanges'] as core.List?) + ?.map((value) => ExchangeConfigEnabledExchange.fromJson( + value as core.Map)) .toList(), ); core.Map toJson() => { - if (settings != null) 'settings': settings!, + if (enabledExchanges != null) 'enabledExchanges': enabledExchanges!, }; } -/// Details of first and third party audience targeting setting. -typedef FirstAndThirdPartyAudienceTargetingSetting - = $FirstAndThirdPartyAudienceTargetingSetting; +/// An enabled exchange in the partner. +typedef ExchangeConfigEnabledExchange = $ExchangeConfigEnabledExchange; + +/// Exchange review status for the creative. +typedef ExchangeReviewStatus = $ExchangeReviewStatus; + +/// Represents a targetable exchange. +/// +/// This will be populated in the exchange_details field of a TargetingOption +/// when targeting_type is `TARGETING_TYPE_EXCHANGE`. +typedef ExchangeTargetingOptionDetails = $ExchangeTargetingOptionDetails; + +/// Exit event of the creative. +typedef ExitEvent = $ExitEvent; /// A strategy that uses a fixed bidding price. typedef FixedBidStrategy = $FixedBidStrategy; @@ -18502,7 +16339,7 @@ typedef GoogleAudience = $GoogleAudience; class GoogleAudienceGroup { /// All Google audience targeting settings in Google audience group. /// - /// Repeated settings with same id will be ignored. + /// Repeated settings with the same id will be ignored. /// /// Required. core.List? settings; @@ -18953,6 +16790,8 @@ class InsertionOrder { /// The bidding strategy of the insertion order. /// /// By default, fixed_bid is set. + /// + /// Optional. BiddingStrategy? bidStrategy; /// The billable outcome of the insertion order. @@ -19013,6 +16852,10 @@ class InsertionOrder { /// The frequency capping setting of the insertion order. /// + /// *Warning*: On **February 28, 2025**, frequency cap time periods greater + /// than 30 days will no longer be accepted. \[Read more about this announced + /// change\](/display-video/api/deprecations#features.lifetime_frequency_cap) + /// /// Required. FrequencyCap? frequencyCap; @@ -19026,6 +16869,8 @@ class InsertionOrder { /// The type of insertion order. /// /// If this field is unspecified in creation, the value defaults to `RTB`. + /// + /// Optional. /// Possible string values are: /// - "INSERTION_ORDER_TYPE_UNSPECIFIED" : Insertion order type is not /// specified or is unknown. @@ -19034,6 +16879,8 @@ class InsertionOrder { core.String? insertionOrderType; /// Additional integration details of the insertion order. + /// + /// Optional. IntegrationDetails? integrationDetails; /// The resource name of the insertion order. @@ -19053,6 +16900,8 @@ class InsertionOrder { /// /// If absent or empty in CreateInsertionOrder method, the newly created /// insertion order will inherit partner costs from the partner settings. + /// + /// Optional. core.List? partnerCosts; /// Performance goal of the insertion order. @@ -19177,6 +17026,8 @@ class InsertionOrderBudget { /// /// If this field is unspecified in creation, the value defaults to /// `INSERTION_ORDER_AUTOMATION_TYPE_NONE`. + /// + /// Optional. /// Possible string values are: /// - "INSERTION_ORDER_AUTOMATION_TYPE_UNSPECIFIED" : Insertion order /// automation option is not specified or is unknown in this version. @@ -19245,6 +17096,8 @@ class InsertionOrderBudgetSegment { /// The budget_id of the campaign budget that this insertion order budget /// segment is a part of. + /// + /// Optional. core.String? campaignBudgetId; /// The start and end date settings of the budget segment. @@ -19262,6 +17115,8 @@ class InsertionOrderBudgetSegment { /// /// It can be used to enter Purchase Order information for each budget segment /// and have that information printed on the invoices. Must be UTF-8 encoded. + /// + /// Optional. core.String? description; InsertionOrderBudgetSegment({ @@ -19292,7 +17147,188 @@ class InsertionOrderBudgetSegment { } /// Details of Integral Ad Science settings. -typedef IntegralAdScience = $IntegralAdScience; +class IntegralAdScience { + /// The custom segment ID provided by Integral Ad Science. + /// + /// The ID must be between `1000001` and `1999999` or `3000001` and `3999999`, + /// inclusive. + core.List? customSegmentId; + + /// Display Viewability section (applicable to display line items only). + /// Possible string values are: + /// - "PERFORMANCE_VIEWABILITY_UNSPECIFIED" : This enum is only a placeholder + /// and it doesn't specify any display viewability options. + /// - "PERFORMANCE_VIEWABILITY_40" : Target 40% Viewability or Higher. + /// - "PERFORMANCE_VIEWABILITY_50" : Target 50% Viewability or Higher. + /// - "PERFORMANCE_VIEWABILITY_60" : Target 60% Viewability or Higher. + /// - "PERFORMANCE_VIEWABILITY_70" : Target 70% Viewability or Higher. + core.String? displayViewability; + + /// Brand Safety - **Unrateable**. + core.bool? excludeUnrateable; + + /// Ad Fraud settings. + /// Possible string values are: + /// - "SUSPICIOUS_ACTIVITY_UNSPECIFIED" : This enum is only a placeholder and + /// it doesn't specify any ad fraud prevention options. + /// - "SUSPICIOUS_ACTIVITY_HR" : Ad Fraud - Exclude High Risk. + /// - "SUSPICIOUS_ACTIVITY_HMR" : Ad Fraud - Exclude High and Moderate Risk. + core.String? excludedAdFraudRisk; + + /// Brand Safety - **Adult content**. + /// Possible string values are: + /// - "ADULT_UNSPECIFIED" : This enum is only a placeholder and it doesn't + /// specify any adult options. + /// - "ADULT_HR" : Adult - Exclude High Risk. + /// - "ADULT_HMR" : Adult - Exclude High and Moderate Risk. + core.String? excludedAdultRisk; + + /// Brand Safety - **Alcohol**. + /// Possible string values are: + /// - "ALCOHOL_UNSPECIFIED" : This enum is only a placeholder and it doesn't + /// specify any alcohol options. + /// - "ALCOHOL_HR" : Alcohol - Exclude High Risk. + /// - "ALCOHOL_HMR" : Alcohol - Exclude High and Moderate Risk. + core.String? excludedAlcoholRisk; + + /// Brand Safety - **Drugs**. + /// Possible string values are: + /// - "DRUGS_UNSPECIFIED" : This enum is only a placeholder and it doesn't + /// specify any drugs options. + /// - "DRUGS_HR" : Drugs - Exclude High Risk. + /// - "DRUGS_HMR" : Drugs - Exclude High and Moderate Risk. + core.String? excludedDrugsRisk; + + /// Brand Safety - **Gambling**. + /// Possible string values are: + /// - "GAMBLING_UNSPECIFIED" : This enum is only a placeholder and it doesn't + /// specify any gambling options. + /// - "GAMBLING_HR" : Gambling - Exclude High Risk. + /// - "GAMBLING_HMR" : Gambling - Exclude High and Moderate Risk. + core.String? excludedGamblingRisk; + + /// Brand Safety - **Hate speech**. + /// Possible string values are: + /// - "HATE_SPEECH_UNSPECIFIED" : This enum is only a placeholder and it + /// doesn't specify any hate speech options. + /// - "HATE_SPEECH_HR" : Hate Speech - Exclude High Risk. + /// - "HATE_SPEECH_HMR" : Hate Speech - Exclude High and Moderate Risk. + core.String? excludedHateSpeechRisk; + + /// Brand Safety - **Illegal downloads**. + /// Possible string values are: + /// - "ILLEGAL_DOWNLOADS_UNSPECIFIED" : This enum is only a placeholder and it + /// doesn't specify any illegal downloads options. + /// - "ILLEGAL_DOWNLOADS_HR" : Illegal Downloads - Exclude High Risk. + /// - "ILLEGAL_DOWNLOADS_HMR" : Illegal Downloads - Exclude High and Moderate + /// Risk. + core.String? excludedIllegalDownloadsRisk; + + /// Brand Safety - **Offensive language**. + /// Possible string values are: + /// - "OFFENSIVE_LANGUAGE_UNSPECIFIED" : This enum is only a placeholder and + /// it doesn't specify any language options. + /// - "OFFENSIVE_LANGUAGE_HR" : Offensive Language - Exclude High Risk. + /// - "OFFENSIVE_LANGUAGE_HMR" : Offensive Language - Exclude High and + /// Moderate Risk. + core.String? excludedOffensiveLanguageRisk; + + /// Brand Safety - **Violence**. + /// Possible string values are: + /// - "VIOLENCE_UNSPECIFIED" : This enum is only a placeholder and it doesn't + /// specify any violence options. + /// - "VIOLENCE_HR" : Violence - Exclude High Risk. + /// - "VIOLENCE_HMR" : Violence - Exclude High and Moderate Risk. + core.String? excludedViolenceRisk; + + /// True advertising quality (applicable to Display line items only). + /// Possible string values are: + /// - "TRAQ_UNSPECIFIED" : This enum is only a placeholder and it doesn't + /// specify any true advertising quality scores. + /// - "TRAQ_250" : TRAQ score 250-1000. + /// - "TRAQ_500" : TRAQ score 500-1000. + /// - "TRAQ_600" : TRAQ score 600-1000. + /// - "TRAQ_700" : TRAQ score 700-1000. + /// - "TRAQ_750" : TRAQ score 750-1000. + /// - "TRAQ_875" : TRAQ score 875-1000. + /// - "TRAQ_1000" : TRAQ score 1000. + core.String? traqScoreOption; + + /// Video Viewability Section (applicable to video line items only). + /// Possible string values are: + /// - "VIDEO_VIEWABILITY_UNSPECIFIED" : This enum is only a placeholder and it + /// doesn't specify any video viewability options. + /// - "VIDEO_VIEWABILITY_40" : 40%+ in view (IAB video viewability standard). + /// - "VIDEO_VIEWABILITY_50" : 50%+ in view (IAB video viewability standard). + /// - "VIDEO_VIEWABILITY_60" : 60%+ in view (IAB video viewability standard). + /// - "VIDEO_VIEWABILITY_70" : 70%+ in view (IAB video viewability standard). + core.String? videoViewability; + + IntegralAdScience({ + this.customSegmentId, + this.displayViewability, + this.excludeUnrateable, + this.excludedAdFraudRisk, + this.excludedAdultRisk, + this.excludedAlcoholRisk, + this.excludedDrugsRisk, + this.excludedGamblingRisk, + this.excludedHateSpeechRisk, + this.excludedIllegalDownloadsRisk, + this.excludedOffensiveLanguageRisk, + this.excludedViolenceRisk, + this.traqScoreOption, + this.videoViewability, + }); + + IntegralAdScience.fromJson(core.Map json_) + : this( + customSegmentId: (json_['customSegmentId'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + displayViewability: json_['displayViewability'] as core.String?, + excludeUnrateable: json_['excludeUnrateable'] as core.bool?, + excludedAdFraudRisk: json_['excludedAdFraudRisk'] as core.String?, + excludedAdultRisk: json_['excludedAdultRisk'] as core.String?, + excludedAlcoholRisk: json_['excludedAlcoholRisk'] as core.String?, + excludedDrugsRisk: json_['excludedDrugsRisk'] as core.String?, + excludedGamblingRisk: json_['excludedGamblingRisk'] as core.String?, + excludedHateSpeechRisk: + json_['excludedHateSpeechRisk'] as core.String?, + excludedIllegalDownloadsRisk: + json_['excludedIllegalDownloadsRisk'] as core.String?, + excludedOffensiveLanguageRisk: + json_['excludedOffensiveLanguageRisk'] as core.String?, + excludedViolenceRisk: json_['excludedViolenceRisk'] as core.String?, + traqScoreOption: json_['traqScoreOption'] as core.String?, + videoViewability: json_['videoViewability'] as core.String?, + ); + + core.Map toJson() => { + if (customSegmentId != null) 'customSegmentId': customSegmentId!, + if (displayViewability != null) + 'displayViewability': displayViewability!, + if (excludeUnrateable != null) 'excludeUnrateable': excludeUnrateable!, + if (excludedAdFraudRisk != null) + 'excludedAdFraudRisk': excludedAdFraudRisk!, + if (excludedAdultRisk != null) 'excludedAdultRisk': excludedAdultRisk!, + if (excludedAlcoholRisk != null) + 'excludedAlcoholRisk': excludedAlcoholRisk!, + if (excludedDrugsRisk != null) 'excludedDrugsRisk': excludedDrugsRisk!, + if (excludedGamblingRisk != null) + 'excludedGamblingRisk': excludedGamblingRisk!, + if (excludedHateSpeechRisk != null) + 'excludedHateSpeechRisk': excludedHateSpeechRisk!, + if (excludedIllegalDownloadsRisk != null) + 'excludedIllegalDownloadsRisk': excludedIllegalDownloadsRisk!, + if (excludedOffensiveLanguageRisk != null) + 'excludedOffensiveLanguageRisk': excludedOffensiveLanguageRisk!, + if (excludedViolenceRisk != null) + 'excludedViolenceRisk': excludedViolenceRisk!, + if (traqScoreOption != null) 'traqScoreOption': traqScoreOption!, + if (videoViewability != null) 'videoViewability': videoViewability!, + }; +} /// Integration details of an entry. typedef IntegrationDetails = $IntegrationDetails; @@ -19964,6 +18000,14 @@ class LineItem { core.String? campaignId; /// The conversion tracking setting of the line item. + /// + /// *Warning*: Starting **April 1, 2025**, the floodlight_activity_configs + /// field will no longer be writable while a custom bidding algorithm is + /// assigned to the line item. If you set this field and assign a custom + /// bidding algorithm in the same request, the floodlight activities must + /// match the ones used by the custom bidding algorithm. \[Read more about + /// this announced + /// change\](/display-video/api/deprecations#features.custom_bidding_floodlight). ConversionCountingConfig? conversionCounting; /// The IDs of the creatives associated with the line item. @@ -20016,7 +18060,10 @@ class LineItem { /// The impression frequency cap settings of the line item. /// /// The max_impressions field in this settings object must be used if - /// assigning a limited cap. + /// assigning a limited cap. *Warning*: On **February 28, 2025**, frequency + /// cap time periods greater than 30 days will no longer be accepted. \[Read + /// more about this announced + /// change\](/display-video/api/deprecations#features.lifetime_frequency_cap) /// /// Required. FrequencyCap? frequencyCap; @@ -20534,43 +18581,6 @@ class ListAssignedLocationsResponse { }; } -/// Response message for ListCampaignAssignedTargetingOptions. -class ListCampaignAssignedTargetingOptionsResponse { - /// The list of assigned targeting options. - /// - /// This list will be absent if empty. - core.List? assignedTargetingOptions; - - /// A token identifying the next page of results. - /// - /// This value should be specified as the pageToken in a subsequent - /// ListCampaignAssignedTargetingOptionsRequest to fetch the next page of - /// results. This token will be absent if there are no more - /// assigned_targeting_options to return. - core.String? nextPageToken; - - ListCampaignAssignedTargetingOptionsResponse({ - this.assignedTargetingOptions, - this.nextPageToken, - }); - - ListCampaignAssignedTargetingOptionsResponse.fromJson(core.Map json_) - : this( - assignedTargetingOptions: - (json_['assignedTargetingOptions'] as core.List?) - ?.map((value) => AssignedTargetingOption.fromJson( - value as core.Map)) - .toList(), - nextPageToken: json_['nextPageToken'] as core.String?, - ); - - core.Map toJson() => { - if (assignedTargetingOptions != null) - 'assignedTargetingOptions': assignedTargetingOptions!, - if (nextPageToken != null) 'nextPageToken': nextPageToken!, - }; -} - class ListCampaignsResponse { /// The list of campaigns. /// @@ -20801,42 +18811,6 @@ class ListCustomListsResponse { }; } -class ListFirstAndThirdPartyAudiencesResponse { - /// The list of first and third party audiences. - /// - /// Audience size properties will not be included. This list will be absent if - /// empty. - core.List? firstAndThirdPartyAudiences; - - /// A token to retrieve the next page of results. - /// - /// Pass this value in the page_token field in the subsequent call to - /// `ListFirstAndThirdPartyAudiences` method to retrieve the next page of - /// results. - core.String? nextPageToken; - - ListFirstAndThirdPartyAudiencesResponse({ - this.firstAndThirdPartyAudiences, - this.nextPageToken, - }); - - ListFirstAndThirdPartyAudiencesResponse.fromJson(core.Map json_) - : this( - firstAndThirdPartyAudiences: - (json_['firstAndThirdPartyAudiences'] as core.List?) - ?.map((value) => FirstAndThirdPartyAudience.fromJson( - value as core.Map)) - .toList(), - nextPageToken: json_['nextPageToken'] as core.String?, - ); - - core.Map toJson() => { - if (firstAndThirdPartyAudiences != null) - 'firstAndThirdPartyAudiences': firstAndThirdPartyAudiences!, - if (nextPageToken != null) 'nextPageToken': nextPageToken!, - }; -} - class ListFloodlightActivitiesResponse { /// The list of Floodlight activities. /// @@ -20934,42 +18908,6 @@ class ListGuaranteedOrdersResponse { }; } -class ListInsertionOrderAssignedTargetingOptionsResponse { - /// The list of assigned targeting options. - /// - /// This list will be absent if empty. - core.List? assignedTargetingOptions; - - /// A token identifying the next page of results. - /// - /// This value should be specified as the pageToken in a subsequent - /// ListInsertionOrderAssignedTargetingOptionsRequest to fetch the next page - /// of results. This token will be absent if there are no more - /// assigned_targeting_options to return. - core.String? nextPageToken; - - ListInsertionOrderAssignedTargetingOptionsResponse({ - this.assignedTargetingOptions, - this.nextPageToken, - }); - - ListInsertionOrderAssignedTargetingOptionsResponse.fromJson(core.Map json_) - : this( - assignedTargetingOptions: - (json_['assignedTargetingOptions'] as core.List?) - ?.map((value) => AssignedTargetingOption.fromJson( - value as core.Map)) - .toList(), - nextPageToken: json_['nextPageToken'] as core.String?, - ); - - core.Map toJson() => { - if (assignedTargetingOptions != null) - 'assignedTargetingOptions': assignedTargetingOptions!, - if (nextPageToken != null) 'nextPageToken': nextPageToken!, - }; -} - class ListInsertionOrdersResponse { /// The list of insertion orders. /// @@ -21783,44 +19721,6 @@ typedef MeasurementConfig = $MeasurementConfig; /// A mobile app promoted by a mobile app install line item. typedef MobileApp = $MobileApp; -/// Wrapper message for a list of mobile device IDs defining Customer Match -/// audience members. -class MobileDeviceIdList { - /// Input only. - /// - /// The consent setting for the users in mobile_device_ids. Leaving this field - /// unset indicates that consent is not specified. If ad_user_data or - /// ad_personalization fields are set to `CONSENT_STATUS_DENIED`, the request - /// will return an error. - Consent? consent; - - /// A list of mobile device IDs defining Customer Match audience members. - /// - /// The size of mobile_device_ids mustn't be greater than 500,000. - core.List? mobileDeviceIds; - - MobileDeviceIdList({ - this.consent, - this.mobileDeviceIds, - }); - - MobileDeviceIdList.fromJson(core.Map json_) - : this( - consent: json_.containsKey('consent') - ? Consent.fromJson( - json_['consent'] as core.Map) - : null, - mobileDeviceIds: (json_['mobileDeviceIds'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - ); - - core.Map toJson() => { - if (consent != null) 'consent': consent!, - if (mobileDeviceIds != null) 'mobileDeviceIds': mobileDeviceIds!, - }; -} - /// Represents an amount of money with its currency type. typedef Money = $Money; @@ -21894,24 +19794,28 @@ class NonSkippableAd { class ObaIcon { /// The click tracking URL of the OBA icon. /// - /// Only URLs of the following domains are allowed: * https://info.evidon.com - /// * https://l.betrad.com + /// Only URLs of the following domains are allowed: * + /// `https://info.evidon.com` * `https://l.betrad.com` /// /// Required. core.String? clickTrackingUrl; /// The dimensions of the OBA icon. + /// + /// Optional. Dimensions? dimensions; /// The landing page URL of the OBA icon. /// - /// Only URLs of the following domains are allowed: * https://info.evidon.com - /// * https://l.betrad.com + /// Only URLs of the following domains are allowed: * + /// `https://info.evidon.com` * `https://l.betrad.com` /// /// Required. core.String? landingPageUrl; /// The position of the OBA icon on the creative. + /// + /// Optional. /// Possible string values are: /// - "OBA_ICON_POSITION_UNSPECIFIED" : The OBA icon position is not /// specified. @@ -21926,18 +19830,24 @@ class ObaIcon { /// The program of the OBA icon. /// /// For example: “AdChoices”. + /// + /// Optional. core.String? program; /// The MIME type of the OBA icon resource. + /// + /// Optional. core.String? resourceMimeType; /// The URL of the OBA icon resource. + /// + /// Optional. core.String? resourceUrl; /// The view tracking URL of the OBA icon. /// - /// Only URLs of the following domains are allowed: * https://info.evidon.com - /// * https://l.betrad.com + /// Only URLs of the following domains are allowed: * + /// `https://info.evidon.com` * `https://l.betrad.com` /// /// Required. core.String? viewTrackingUrl; @@ -23575,31 +21485,49 @@ typedef TrackingFloodlightActivityConfig = $TrackingFloodlightActivityConfig; class Transcode { /// The bit rate for the audio stream of the transcoded video, or the bit rate /// for the transcoded audio, in kilobits per second. + /// + /// Optional. core.String? audioBitRateKbps; /// The sample rate for the audio stream of the transcoded video, or the /// sample rate for the transcoded audio, in hertz. + /// + /// Optional. core.String? audioSampleRateHz; /// The transcoding bit rate of the transcoded video, in kilobits per second. + /// + /// Optional. core.String? bitRateKbps; /// The dimensions of the transcoded video. + /// + /// Optional. Dimensions? dimensions; /// The size of the transcoded file, in bytes. + /// + /// Optional. core.String? fileSizeBytes; /// The frame rate of the transcoded video, in frames per second. + /// + /// Optional. core.double? frameRate; /// The MIME type of the transcoded file. + /// + /// Optional. core.String? mimeType; /// The name of the transcoded file. + /// + /// Optional. core.String? name; /// Indicates if the transcoding was successful. + /// + /// Optional. core.bool? transcoded; Transcode({ @@ -24427,7 +22355,10 @@ class YoutubeAndPartnersSettings { /// The view frequency cap settings of the line item. /// /// The max_views field in this settings object must be used if assigning a - /// limited cap. + /// limited cap. *Warning*: On **February 28, 2025**, frequency cap time + /// periods greater than 30 days will no longer be accepted. \[Read more about + /// this announced + /// change\](/display-video/api/deprecations#features.lifetime_frequency_cap) FrequencyCap? viewFrequencyCap; YoutubeAndPartnersSettings({ diff --git a/generated/googleapis/lib/displayvideo/v3.dart b/generated/googleapis/lib/displayvideo/v3.dart index 5bcac88ba..3b910ffe6 100644 --- a/generated/googleapis/lib/displayvideo/v3.dart +++ b/generated/googleapis/lib/displayvideo/v3.dart @@ -68,6 +68,8 @@ /// - [PartnersTargetingTypesAssignedTargetingOptionsResource] /// - [SdfdownloadtasksResource] /// - [SdfdownloadtasksOperationsResource] +/// - [SdfuploadtasksResource] +/// - [SdfuploadtasksOperationsResource] /// - [TargetingTypesResource] /// - [TargetingTypesTargetingOptionsResource] /// - [UsersResource] @@ -141,6 +143,8 @@ class DisplayVideoApi { PartnersResource get partners => PartnersResource(_requester); SdfdownloadtasksResource get sdfdownloadtasks => SdfdownloadtasksResource(_requester); + SdfuploadtasksResource get sdfuploadtasks => + SdfuploadtasksResource(_requester); TargetingTypesResource get targetingTypes => TargetingTypesResource(_requester); UsersResource get users => UsersResource(_requester); @@ -7796,7 +7800,11 @@ class CustomBiddingAlgorithmsResource { /// Updates an existing custom bidding algorithm. /// - /// Returns the updated custom bidding algorithm if successful. + /// Returns the updated custom bidding algorithm if successful. *Warning*: + /// Starting **April 1, 2025**, requests updating custom bidding algorithms + /// that are assigned to line items will return an error. \[Read more about + /// this announced + /// change\](/display-video/api/deprecations#features.custom_bidding_floodlight). /// /// [request] - The metadata request object. /// @@ -7959,7 +7967,11 @@ class CustomBiddingAlgorithmsRulesResource { /// Creates a new rules resource. /// - /// Returns the newly created rules resource if successful. + /// Returns the newly created rules resource if successful. *Warning*: + /// Starting **April 1, 2025**, requests updating custom bidding algorithms + /// that are assigned to line items will return an error. \[Read more about + /// this announced + /// change\](/display-video/api/deprecations#features.custom_bidding_floodlight). /// /// [request] - The metadata request object. /// @@ -8149,7 +8161,11 @@ class CustomBiddingAlgorithmsScriptsResource { /// Creates a new custom bidding script. /// - /// Returns the newly created script if successful. + /// Returns the newly created script if successful. *Warning*: Starting + /// **April 1, 2025**, requests updating custom bidding algorithms that are + /// assigned to line items will return an error. \[Read more about this + /// announced + /// change\](/display-video/api/deprecations#features.custom_bidding_floodlight). /// /// [request] - The metadata request object. /// @@ -8625,7 +8641,8 @@ class FirstAndThirdPartyAudiencesResource { /// /// [pageSize] - Requested page size. Must be between `1` and `5000`. If /// unspecified, this value defaults to `100`. Returns error code - /// `INVALID_ARGUMENT` if an invalid value is specified. + /// `INVALID_ARGUMENT` if an invalid value is specified. *Warning*: Starting + /// **March 6, 2025**, this value will default to `5000` if not set. /// /// [pageToken] - A token identifying a page of results the server should /// return. Typically, this is the value of next_page_token returned from the @@ -11805,6 +11822,59 @@ class SdfdownloadtasksOperationsResource { } } +class SdfuploadtasksResource { + final commons.ApiRequester _requester; + + SdfuploadtasksOperationsResource get operations => + SdfuploadtasksOperationsResource(_requester); + + SdfuploadtasksResource(commons.ApiRequester client) : _requester = client; +} + +class SdfuploadtasksOperationsResource { + final commons.ApiRequester _requester; + + SdfuploadtasksOperationsResource(commons.ApiRequester client) + : _requester = client; + + /// Gets the latest state of an asynchronous SDF download task operation. + /// + /// Clients should poll this method at intervals of 30 seconds. + /// + /// Request parameters: + /// + /// [name] - The name of the operation resource. + /// Value must have pattern `^sdfuploadtasks/operations/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v3/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } +} + class TargetingTypesResource { final commons.ApiRequester _requester; @@ -13005,323 +13075,7 @@ class AdGroupAssignedTargetingOption { typedef AdUrl = $AdUrl; /// Details of Adloox brand safety settings. -class Adloox { - /// Adult and Explicit Sexual Content - /// [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to - /// exclude. - /// - /// Optional. - /// Possible string values are: - /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and - /// it doesn't specify any GARM risk exclusion option. - /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. - /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. - /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. - /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, - /// high and floor). - core.String? adultExplicitSexualContent; - - /// Arms and Ammunition Content - /// [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to - /// exclude. - /// - /// Optional. - /// Possible string values are: - /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and - /// it doesn't specify any GARM risk exclusion option. - /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. - /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. - /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. - /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, - /// high and floor). - core.String? armsAmmunitionContent; - - /// Crime and Harmful Acts Content - /// [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to - /// exclude. - /// - /// Optional. - /// Possible string values are: - /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and - /// it doesn't specify any GARM risk exclusion option. - /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. - /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. - /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. - /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, - /// high and floor). - core.String? crimeHarmfulActsIndividualsSocietyHumanRightsViolationsContent; - - /// Death, Injury, or Military Conflict Content - /// [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to - /// exclude. - /// - /// Optional. - /// Possible string values are: - /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and - /// it doesn't specify any GARM risk exclusion option. - /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. - /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. - /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. - /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, - /// high and floor). - core.String? deathInjuryMilitaryConflictContent; - - /// Debated Sensitive Social Issue Content - /// [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to - /// exclude. - /// - /// Optional. - /// Possible string values are: - /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and - /// it doesn't specify any GARM risk exclusion option. - /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. - /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. - /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. - /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, - /// high and floor). - core.String? debatedSensitiveSocialIssueContent; - - /// IAB viewability threshold for display ads. - /// - /// Optional. - /// Possible string values are: - /// - "DISPLAY_IAB_VIEWABILITY_UNSPECIFIED" : Default value when not specified - /// or is unknown in this version. - /// - "DISPLAY_IAB_VIEWABILITY_10" : 10%+ in view (IAB display viewability - /// standard). - /// - "DISPLAY_IAB_VIEWABILITY_20" : 20%+ in view (IAB display viewability - /// standard). - /// - "DISPLAY_IAB_VIEWABILITY_35" : 35%+ in view (IAB display viewability - /// standard). - /// - "DISPLAY_IAB_VIEWABILITY_50" : 50%+ in view (IAB display viewability - /// standard). - /// - "DISPLAY_IAB_VIEWABILITY_75" : 75%+ in view (IAB display viewability - /// standard). - core.String? displayIabViewability; - - /// Adloox categories to exclude. - core.List? excludedAdlooxCategories; - - /// Adloox's fraud IVT MFA categories to exclude. - /// - /// Optional. - core.List? excludedFraudIvtMfaCategories; - - /// Hate Speech and Acts of Aggression Content - /// [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to - /// exclude. - /// - /// Optional. - /// Possible string values are: - /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and - /// it doesn't specify any GARM risk exclusion option. - /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. - /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. - /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. - /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, - /// high and floor). - core.String? hateSpeechActsAggressionContent; - - /// Illegal Drugs/Alcohol Content - /// [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to - /// exclude. - /// - /// Optional. - /// Possible string values are: - /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and - /// it doesn't specify any GARM risk exclusion option. - /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. - /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. - /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. - /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, - /// high and floor). - core.String? illegalDrugsTobaccoEcigarettesVapingAlcoholContent; - - /// Misinformation Content - /// [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to - /// exclude. - /// - /// Optional. - /// Possible string values are: - /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and - /// it doesn't specify any GARM risk exclusion option. - /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. - /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. - /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. - /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, - /// high and floor). - core.String? misinformationContent; - - /// Obscenity and Profanity Content - /// [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to - /// exclude. - /// - /// Optional. - /// Possible string values are: - /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and - /// it doesn't specify any GARM risk exclusion option. - /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. - /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. - /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. - /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, - /// high and floor). - core.String? obscenityProfanityContent; - - /// Online Piracy Content - /// [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to - /// exclude. - /// - /// Optional. - /// Possible string values are: - /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and - /// it doesn't specify any GARM risk exclusion option. - /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. - /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. - /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. - /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, - /// high and floor). - core.String? onlinePiracyContent; - - /// Spam or Harmful Content - /// [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to - /// exclude. - /// - /// Optional. - /// Possible string values are: - /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and - /// it doesn't specify any GARM risk exclusion option. - /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. - /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. - /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. - /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, - /// high and floor). - core.String? spamHarmfulContent; - - /// Terrorism Content [GARM](https://wfanet.org/leadership/garm/about-garm) - /// risk ranges to exclude. - /// - /// Optional. - /// Possible string values are: - /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and - /// it doesn't specify any GARM risk exclusion option. - /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. - /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. - /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. - /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, - /// high and floor). - core.String? terrorismContent; - - /// IAB viewability threshold for video ads. - /// - /// Optional. - /// Possible string values are: - /// - "VIDEO_IAB_VIEWABILITY_UNSPECIFIED" : Default value when not specified - /// or is unknown in this version. - /// - "VIDEO_IAB_VIEWABILITY_10" : 10%+ in view (IAB video viewability - /// standard). - /// - "VIDEO_IAB_VIEWABILITY_20" : 20%+ in view (IAB video viewability - /// standard). - /// - "VIDEO_IAB_VIEWABILITY_35" : 35%+ in view (IAB video viewability - /// standard). - /// - "VIDEO_IAB_VIEWABILITY_50" : 50%+ in view (IAB video viewability - /// standard). - /// - "VIDEO_IAB_VIEWABILITY_75" : 75%+ in view (IAB video viewability - /// standard). - core.String? videoIabViewability; - - Adloox({ - this.adultExplicitSexualContent, - this.armsAmmunitionContent, - this.crimeHarmfulActsIndividualsSocietyHumanRightsViolationsContent, - this.deathInjuryMilitaryConflictContent, - this.debatedSensitiveSocialIssueContent, - this.displayIabViewability, - this.excludedAdlooxCategories, - this.excludedFraudIvtMfaCategories, - this.hateSpeechActsAggressionContent, - this.illegalDrugsTobaccoEcigarettesVapingAlcoholContent, - this.misinformationContent, - this.obscenityProfanityContent, - this.onlinePiracyContent, - this.spamHarmfulContent, - this.terrorismContent, - this.videoIabViewability, - }); - - Adloox.fromJson(core.Map json_) - : this( - adultExplicitSexualContent: - json_['adultExplicitSexualContent'] as core.String?, - armsAmmunitionContent: json_['armsAmmunitionContent'] as core.String?, - crimeHarmfulActsIndividualsSocietyHumanRightsViolationsContent: json_[ - 'crimeHarmfulActsIndividualsSocietyHumanRightsViolationsContent'] - as core.String?, - deathInjuryMilitaryConflictContent: - json_['deathInjuryMilitaryConflictContent'] as core.String?, - debatedSensitiveSocialIssueContent: - json_['debatedSensitiveSocialIssueContent'] as core.String?, - displayIabViewability: json_['displayIabViewability'] as core.String?, - excludedAdlooxCategories: - (json_['excludedAdlooxCategories'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - excludedFraudIvtMfaCategories: - (json_['excludedFraudIvtMfaCategories'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - hateSpeechActsAggressionContent: - json_['hateSpeechActsAggressionContent'] as core.String?, - illegalDrugsTobaccoEcigarettesVapingAlcoholContent: - json_['illegalDrugsTobaccoEcigarettesVapingAlcoholContent'] - as core.String?, - misinformationContent: json_['misinformationContent'] as core.String?, - obscenityProfanityContent: - json_['obscenityProfanityContent'] as core.String?, - onlinePiracyContent: json_['onlinePiracyContent'] as core.String?, - spamHarmfulContent: json_['spamHarmfulContent'] as core.String?, - terrorismContent: json_['terrorismContent'] as core.String?, - videoIabViewability: json_['videoIabViewability'] as core.String?, - ); - - core.Map toJson() => { - if (adultExplicitSexualContent != null) - 'adultExplicitSexualContent': adultExplicitSexualContent!, - if (armsAmmunitionContent != null) - 'armsAmmunitionContent': armsAmmunitionContent!, - if (crimeHarmfulActsIndividualsSocietyHumanRightsViolationsContent != - null) - 'crimeHarmfulActsIndividualsSocietyHumanRightsViolationsContent': - crimeHarmfulActsIndividualsSocietyHumanRightsViolationsContent!, - if (deathInjuryMilitaryConflictContent != null) - 'deathInjuryMilitaryConflictContent': - deathInjuryMilitaryConflictContent!, - if (debatedSensitiveSocialIssueContent != null) - 'debatedSensitiveSocialIssueContent': - debatedSensitiveSocialIssueContent!, - if (displayIabViewability != null) - 'displayIabViewability': displayIabViewability!, - if (excludedAdlooxCategories != null) - 'excludedAdlooxCategories': excludedAdlooxCategories!, - if (excludedFraudIvtMfaCategories != null) - 'excludedFraudIvtMfaCategories': excludedFraudIvtMfaCategories!, - if (hateSpeechActsAggressionContent != null) - 'hateSpeechActsAggressionContent': hateSpeechActsAggressionContent!, - if (illegalDrugsTobaccoEcigarettesVapingAlcoholContent != null) - 'illegalDrugsTobaccoEcigarettesVapingAlcoholContent': - illegalDrugsTobaccoEcigarettesVapingAlcoholContent!, - if (misinformationContent != null) - 'misinformationContent': misinformationContent!, - if (obscenityProfanityContent != null) - 'obscenityProfanityContent': obscenityProfanityContent!, - if (onlinePiracyContent != null) - 'onlinePiracyContent': onlinePiracyContent!, - if (spamHarmfulContent != null) - 'spamHarmfulContent': spamHarmfulContent!, - if (terrorismContent != null) 'terrorismContent': terrorismContent!, - if (videoIabViewability != null) - 'videoIabViewability': videoIabViewability!, - }; -} +typedef Adloox = $Adloox; /// A single advertiser in Display & Video 360 (DV360). class Advertiser { @@ -13644,9 +13398,13 @@ typedef Asset = $Asset; /// Asset association for the creative. class AssetAssociation { /// The associated asset. + /// + /// Optional. Asset? asset; /// The role of this asset for the creative. + /// + /// Optional. /// Possible string values are: /// - "ASSET_ROLE_UNSPECIFIED" : Asset role is not specified or is unknown in /// this version. @@ -13656,20 +13414,20 @@ class AssetAssociation { /// creative. /// - "ASSET_ROLE_HEADLINE" : Headline of a native creative. The content must /// be UTF-8 encoded with a length of no more than 25 characters. This role is - /// only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * + /// only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` /// - "ASSET_ROLE_LONG_HEADLINE" : Long headline of a native creative. The /// content must be UTF-8 encoded with a length of no more than 50 characters. - /// This role is only supported in following creative_type: * + /// This role is only supported in the following creative_type: * /// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * /// `CREATIVE_TYPE_NATIVE_VIDEO` /// - "ASSET_ROLE_BODY" : Body text of a native creative. The content must be /// UTF-8 encoded with a length of no more than 90 characters. This role is - /// only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * + /// only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` /// - "ASSET_ROLE_LONG_BODY" : Long body text of a native creative. The /// content must be UTF-8 encoded with a length of no more than 150 - /// characters. This role is only supported in following creative_type: * + /// characters. This role is only supported in the following creative_type: * /// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * /// `CREATIVE_TYPE_NATIVE_VIDEO` /// - "ASSET_ROLE_CAPTION_URL" : A short, friendly version of the landing page @@ -13678,17 +13436,17 @@ class AssetAssociation { /// encoded with a length of no more than 30 characters. For example, if the /// landing page URL is 'http://www.example.com/page', the caption URL can be /// 'example.com'. The protocol (http://) is optional, but the URL can't - /// contain spaces or special characters. This role is only supported in + /// contain spaces or special characters. This role is only supported in the /// following creative_type: * `CREATIVE_TYPE_NATIVE` * /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` /// - "ASSET_ROLE_CALL_TO_ACTION" : The text to use on the call-to-action /// button of a native creative. The content must be UTF-8 encoded with a - /// length of no more than 15 characters. This role is only supported in + /// length of no more than 15 characters. This role is only supported in the /// following creative_type: * `CREATIVE_TYPE_NATIVE` * /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` /// - "ASSET_ROLE_ADVERTISER_NAME" : The text that identifies the advertiser /// or brand name. The content must be UTF-8 encoded with a length of no more - /// than 25 characters. This role is only supported in following + /// than 25 characters. This role is only supported in the following /// creative_type: * `CREATIVE_TYPE_NATIVE` * /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` /// - "ASSET_ROLE_PRICE" : The purchase price of your app in the Google play @@ -13700,38 +13458,38 @@ class AssetAssociation { /// - "ASSET_ROLE_ANDROID_APP_ID" : The ID of an Android app in the Google /// play store. You can find this ID in the App’s Google Play Store URL after /// ‘id’. For example, in - /// https://play.google.com/store/apps/details?id=com.company.appname the + /// `https://play.google.com/store/apps/details?id=com.company.appname` the /// identifier is com.company.appname. Assets of this role are read-only. /// - "ASSET_ROLE_IOS_APP_ID" : The ID of an iOS app in the Apple app store. /// This ID number can be found in the Apple App Store URL as the string of /// numbers directly after "id". For example, in - /// https://apps.apple.com/us/app/gmail-email-by-google/id422689480 the ID is - /// 422689480. Assets of this role are read-only. + /// `https://apps.apple.com/us/app/gmail-email-by-google/id422689480` the ID + /// is 422689480. Assets of this role are read-only. /// - "ASSET_ROLE_RATING" : The rating of an app in the Google play store or /// iOS app store. Note that this value is not automatically synced with the /// actual rating in the store. It will always be the one provided when save /// the creative. Assets of this role are read-only. /// - "ASSET_ROLE_ICON" : The icon of a creative. This role is only supported - /// and required in following creative_type: * `CREATIVE_TYPE_NATIVE` * + /// and required in the following creative_type: * `CREATIVE_TYPE_NATIVE` * /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` /// - "ASSET_ROLE_COVER_IMAGE" : The cover image of a native video creative. - /// This role is only supported and required in following creative_type: * + /// This role is only supported and required in the following creative_type: * /// `CREATIVE_TYPE_VIDEO` /// - "ASSET_ROLE_BACKGROUND_COLOR" : The main color to use in a creative. - /// This role is only supported and required in following creative_type: * + /// This role is only supported and required in the following creative_type: * /// `CREATIVE_TYPE_ASSET_BASED_CREATIVE` /// - "ASSET_ROLE_ACCENT_COLOR" : The accent color to use in a creative. This - /// role is only supported and required in following creative_type: * + /// role is only supported and required in the following creative_type: * /// `CREATIVE_TYPE_ASSET_BASED_CREATIVE` /// - "ASSET_ROLE_REQUIRE_LOGO" : Whether the creative must use a logo asset. - /// This role is only supported and required in following creative_type: * + /// This role is only supported and required in the following creative_type: * /// `CREATIVE_TYPE_ASSET_BASED_CREATIVE` /// - "ASSET_ROLE_REQUIRE_IMAGE" : Whether the creative must use an image - /// asset. This role is only supported and required in following + /// asset. This role is only supported and required in the following /// creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE` /// - "ASSET_ROLE_ENABLE_ASSET_ENHANCEMENTS" : Whether asset enhancements can /// be applied to the creative. This role is only supported and required in - /// following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE` + /// the following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE` core.String? role; AssetAssociation({ @@ -14668,6 +14426,8 @@ class AudienceGroupAssignedTargetingOptionDetails { /// Used for negative targeting. The COMPLEMENT of the UNION of this group and /// other excluded audience groups is used as an INTERSECTION to any positive /// audience targeting. All items are logically ‘OR’ of each other. + /// + /// Optional. FirstAndThirdPartyAudienceGroup? excludedFirstAndThirdPartyAudienceGroup; /// The Google audience ids of the excluded Google audience group. @@ -14676,16 +14436,22 @@ class AudienceGroupAssignedTargetingOptionDetails { /// other excluded audience groups is used as an INTERSECTION to any positive /// audience targeting. Only contains Affinity, In-market and Installed-apps /// type Google audiences. All items are logically ‘OR’ of each other. + /// + /// Optional. GoogleAudienceGroup? excludedGoogleAudienceGroup; /// The combined audience ids of the included combined audience group. /// /// Contains combined audience ids only. + /// + /// Optional. CombinedAudienceGroup? includedCombinedAudienceGroup; /// The custom list ids of the included custom list group. /// /// Contains custom list ids only. + /// + /// Optional. CustomListGroup? includedCustomListGroup; /// The first and third party audience ids and recencies of included first and @@ -14694,13 +14460,17 @@ class AudienceGroupAssignedTargetingOptionDetails { /// 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. + /// audience groups. Repeated groups with the same settings will be ignored. + /// + /// Optional. core.List? includedFirstAndThirdPartyAudienceGroups; /// The Google audience ids of the included Google audience group. /// /// Contains Google audience ids only. + /// + /// Optional. GoogleAudienceGroup? includedGoogleAudienceGroup; AudienceGroupAssignedTargetingOptionDetails({ @@ -15982,6 +15752,10 @@ class Campaign { /// The frequency cap setting of the campaign. /// + /// *Warning*: On **February 28, 2025**, frequency cap time periods greater + /// than 30 days will no longer be accepted. \[Read more about this announced + /// change\](/display-video/api/deprecations#features.lifetime_frequency_cap) + /// /// Required. FrequencyCap? frequencyCap; @@ -16319,7 +16093,7 @@ typedef CombinedAudience = $CombinedAudience; class CombinedAudienceGroup { /// All combined audience targeting settings in combined audience group. /// - /// Repeated settings with same id will be ignored. The number of combined + /// Repeated settings with the same id will be ignored. The number of combined /// audience settings should be no more than five, error will be thrown /// otherwise. /// @@ -16540,6 +16314,12 @@ class ConversionCountingConfig { /// /// The number of conversions counted is the sum of all of the conversions /// counted by all of the Floodlight activity IDs specified in this field. + /// *Warning*: Starting **April 1, 2025**, this field will no longer be + /// writable while a custom bidding algorithm is assigned to the line item. If + /// you set this field and assign a custom bidding algorithm in the same + /// request, the floodlight activities must match the ones used by the custom + /// bidding algorithm. \[Read more about this announced + /// change\](/display-video/api/deprecations#features.custom_bidding_floodlight). core.List? floodlightActivityConfigs; /// The percentage of post-view conversions to count, in millis (1/1000 of a @@ -16849,6 +16629,8 @@ class Creative { /// `CREATIVE_TYPE_PUBLISHER_HOSTED` If this field is specified, width_pixels /// and height_pixels are both required and must be greater than or equal to /// 0. + /// + /// Optional. core.List? additionalDimensions; /// The unique ID of the advertiser the creative belongs to. @@ -16857,6 +16639,8 @@ class Creative { core.String? advertiserId; /// Third-party HTML tracking tag to be appended to the creative tag. + /// + /// Optional. core.String? appendedTag; /// Assets associated to this creative. @@ -16879,6 +16663,8 @@ class Creative { /// that uses both Campaign Manager 360 and third-party ad serving: * /// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` Output only /// for other cases. + /// + /// Optional. CmTrackingAd? cmTrackingAd; /// The IDs of companion creatives for a video creative. @@ -16887,8 +16673,10 @@ class Creative { /// serve surrounding the publisher's video player. Companions display around /// the video player while the video is playing and remain after the video has /// completed. Creatives contain additional dimensions can not be companion - /// creatives. This field is only supported for following creative_type: * + /// creatives. This field is only supported for the following creative_type: * /// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` + /// + /// Optional. core.List? companionCreativeIds; /// Counter events for a rich media creative. @@ -16898,6 +16686,8 @@ class Creative { /// taps, data loading, keyboard entries, etc.). Any event that can be /// captured in the creative can be recorded as a counter. Leave it empty or /// unset for creatives containing image assets only. + /// + /// Optional. core.List? counterEvents; /// The timestamp when the creative was created. @@ -16964,7 +16754,7 @@ class Creative { /// - "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" : Templated app install /// mobile video creative. Create and update methods are **not** supported for /// this creative type. - /// - "CREATIVE_TYPE_ASSET_BASED_CREATIVE" : Asset based creative. Create and + /// - "CREATIVE_TYPE_ASSET_BASED_CREATIVE" : Asset-based creative. Create and /// update methods are supported for this creative type if the hosting_source /// is `HOSTING_SOURCE_HOSTED`. core.String? creativeType; @@ -17102,19 +16892,25 @@ class Creative { /// To enable this for the creative, make sure the /// Advertiser.creative_config.ias_client_id has been set to your IAS client /// ID. + /// + /// Optional. core.bool? iasCampaignMonitoring; /// ID information used to link this creative to an external system. /// /// Must be UTF-8 encoded with a length of no more than 10,000 characters. + /// + /// Optional. core.String? integrationCode; /// JavaScript measurement URL from supported third-party verification /// providers (ComScore, DoubleVerify, IAS, Moat). /// - /// HTML script tags are not supported. This field is only writeable in + /// HTML script tags are not supported. This field is only writeable in the /// following creative_type: * `CREATIVE_TYPE_NATIVE` * /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` + /// + /// Optional. core.String? jsTrackerUrl; /// The IDs of the line items this creative is associated with. @@ -17151,12 +16947,16 @@ class Creative { /// User notes for this creative. /// /// Must be UTF-8 encoded with a length of no more than 20,000 characters. + /// + /// Optional. core.String? notes; /// Specifies the OBA icon for a video creative. /// - /// This field is only supported in following creative_type: * + /// This field is only supported in the following creative_type: * /// `CREATIVE_TYPE_VIDEO` + /// + /// Optional. ObaIcon? obaIcon; /// Indicates the third-party audio creative supports OGG. @@ -17173,6 +16973,8 @@ class Creative { /// /// This field is required when skippable is true. This field is only /// supported for the following creative_type: * `CREATIVE_TYPE_VIDEO` + /// + /// Optional. AudioVideoOffset? progressOffset; /// Indicates that the creative relies on HTML5 to render properly. @@ -17221,12 +17023,16 @@ class Creative { /// /// This field is required when skippable is true. This field is only /// supported for the following creative_type: * `CREATIVE_TYPE_VIDEO` + /// + /// Optional. AudioVideoOffset? skipOffset; /// Whether the user can choose to skip a video creative. /// /// This field is only supported for the following creative_type: * /// `CREATIVE_TYPE_VIDEO` + /// + /// Optional. core.bool? skippable; /// The original third-party tag used for the creative. @@ -17245,6 +17051,8 @@ class Creative { /// This field is only supported for the following creative_type: * /// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` * /// `CREATIVE_TYPE_NATIVE_VIDEO` + /// + /// Optional. core.List? thirdPartyUrls; /// Timer custom events for a rich media creative. @@ -17253,16 +17061,21 @@ class Creative { /// specified part of a rich media creative. A creative can have multiple /// timer events, each timed independently. Leave it empty or unset for /// creatives containing image assets only. + /// + /// Optional. core.List? timerEvents; /// Tracking URLs for analytics providers or third-party ad technology /// vendors. /// - /// The URLs must start with https (except on inventory that doesn't require - /// SSL compliance). If using macros in your URL, use only macros supported by - /// Display & Video 360. Standard URLs only, no IMG or SCRIPT tags. This field - /// is only writeable in following creative_type: * `CREATIVE_TYPE_NATIVE` * - /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` + /// The URLs must start with `https:` (except on inventory that doesn't + /// require SSL compliance). If using macros in your URL, use only macros + /// supported by Display & Video 360. Standard URLs only, no IMG or SCRIPT + /// tags. This field is only writeable in the following creative_type: * + /// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * + /// `CREATIVE_TYPE_NATIVE_VIDEO` + /// + /// Optional. core.List? trackerUrls; /// Audio/Video transcodes. @@ -17273,8 +17086,8 @@ class Creative { /// specific video players or bandwidths. These transcodes give a publisher's /// system more options to choose from for each impression on your video and /// ensures that the appropriate file serves based on the viewer’s connection - /// and screen size. This field is only supported in following creative_type: - /// * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO` * + /// and screen size. This field is only supported in the following + /// creative_type: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO` * /// `CREATIVE_TYPE_AUDIO` /// /// Output only. @@ -17576,7 +17389,7 @@ class CreativeConfig { /// - "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" : Templated app install /// mobile video creative. Create and update methods are **not** supported for /// this creative type. - /// - "CREATIVE_TYPE_ASSET_BASED_CREATIVE" : Asset based creative. Create and + /// - "CREATIVE_TYPE_ASSET_BASED_CREATIVE" : Asset-based creative. Create and /// update methods are supported for this creative type if the hosting_source /// is `HOSTING_SOURCE_HOSTED`. core.String? creativeType; @@ -17643,8 +17456,12 @@ class CustomBiddingAlgorithm { /// specified or is unknown in this version. /// - "SCRIPT_BASED" : Algorithm generated through customer-uploaded custom /// bidding script files. - /// - "ADS_DATA_HUB_BASED" : Algorithm created through Ads Data Hub product. - /// - "GOAL_BUILDER_BASED" : Algorithm created through goal builder in DV3 UI. + /// - "ADS_DATA_HUB_BASED" : DEPRECATED: ADS_DATA_HUB_BASED has been + /// deprecated. Algorithm created through Ads Data Hub product. + /// - "GOAL_BUILDER_BASED" : DEPRECATED: GOAL_BUILDER_BASED has been + /// deprecated, is not longer supported, and has been replaced by RULE_BASED. + /// Algorithm created through goal builder in DV3 UI. **Existing algorithms of + /// this type have been migrated to `RULE_BASED`.** /// - "RULE_BASED" : Algorithm based in defined rules. These rules are defined /// in the API using the AlgorithmRules object. This algorithm type is only /// available to allowlisted customers. Other customers attempting to use this @@ -17853,118 +17670,17 @@ class CustomBiddingAlgorithmRules { } /// An error message for a CustomBiddingAlgorithmRules resource. -class CustomBiddingAlgorithmRulesError { - /// The type of error. - /// Possible string values are: - /// - "ERROR_CODE_UNSPECIFIED" : The error is not specified or is unknown in - /// this version. - /// - "SYNTAX_ERROR" : The rules have a syntax error. - /// - "CONSTRAINT_VIOLATION_ERROR" : The rules have a constraint violation - /// error. - /// - "INTERNAL_ERROR" : Internal errors were thrown while processing the - /// rules. - core.String? errorCode; - - CustomBiddingAlgorithmRulesError({ - this.errorCode, - }); - - CustomBiddingAlgorithmRulesError.fromJson(core.Map json_) - : this( - errorCode: json_['errorCode'] as core.String?, - ); - - core.Map toJson() => { - if (errorCode != null) 'errorCode': errorCode!, - }; -} +typedef CustomBiddingAlgorithmRulesError = $CustomBiddingAlgorithmRulesError; /// The reference to the uploaded AlgorithmRules file. /// /// Retrieve the location to upload new AlgorithmRules file to using /// customBiddingAlgorithms.uploadRules. -class CustomBiddingAlgorithmRulesRef { - /// A resource name to be used in media.download to download the rules files. - /// - /// Or media.upload to upload the rules files. Resource names have the format - /// `customBiddingAlgorithms/{custom_bidding_algorithm_id}/rulesRef/{ref_id}`. - core.String? resourceName; - - CustomBiddingAlgorithmRulesRef({ - this.resourceName, - }); - - CustomBiddingAlgorithmRulesRef.fromJson(core.Map json_) - : this( - resourceName: json_['resourceName'] as core.String?, - ); - - core.Map toJson() => { - if (resourceName != null) 'resourceName': resourceName!, - }; -} +typedef CustomBiddingAlgorithmRulesRef = $CustomBiddingAlgorithmRulesRef; /// The details of a custom bidding algorithm model for a single shared /// advertiser. -class CustomBiddingModelDetails { - /// The unique ID of the relevant advertiser. - core.String? advertiserId; - - /// The readiness state of custom bidding model. - /// Possible string values are: - /// - "READINESS_STATE_UNSPECIFIED" : State is not specified or is unknown in - /// this version. - /// - "READINESS_STATE_ACTIVE" : The model is trained and ready for serving. - /// - "READINESS_STATE_INSUFFICIENT_DATA" : There is not enough data to train - /// the serving model. - /// - "READINESS_STATE_TRAINING" : The model is training and not ready for - /// serving. - /// - "READINESS_STATE_NO_VALID_SCRIPT" : A valid custom bidding script has - /// not been provided with which to train the model. This state will only be - /// applied to algorithms whose `custom_bidding_algorithm_type` is - /// `SCRIPT_BASED`. - /// - "READINESS_STATE_EVALUATION_FAILURE" : A valid script was provided but - /// failed evaluation. This is applicable for scripts that could not be - /// evaluated in the alloted time. - core.String? readinessState; - - /// The suspension state of custom bidding model. - /// - /// Output only. - /// Possible string values are: - /// - "SUSPENSION_STATE_UNSPECIFIED" : State is not specified or is unknown in - /// this version. - /// - "SUSPENSION_STATE_ENABLED" : Model is enabled, either recently used, - /// currently used or scheduled to be used. The algorithm is actively scoring - /// impressions for this advertiser. - /// - "SUSPENSION_STATE_DORMANT" : Model has not been used recently. Although - /// the model still acts as `ENABLED`, it will eventually be suspended if not - /// used. - /// - "SUSPENSION_STATE_SUSPENDED" : Model is suspended from scoring - /// impressions and cannot serve. If the algorithm is assigned to a line item - /// under this advertiser or otherwise updated, it will switch back to the - /// `ENABLED` state and require time to prepare the serving model again. - core.String? suspensionState; - - CustomBiddingModelDetails({ - this.advertiserId, - this.readinessState, - this.suspensionState, - }); - - CustomBiddingModelDetails.fromJson(core.Map json_) - : this( - advertiserId: json_['advertiserId'] as core.String?, - readinessState: json_['readinessState'] as core.String?, - suspensionState: json_['suspensionState'] as core.String?, - ); - - core.Map toJson() => { - if (advertiserId != null) 'advertiserId': advertiserId!, - if (readinessState != null) 'readinessState': readinessState!, - if (suspensionState != null) 'suspensionState': suspensionState!, - }; -} +typedef CustomBiddingModelDetails = $CustomBiddingModelDetails; /// A single custom bidding script. class CustomBiddingScript { @@ -18076,7 +17792,7 @@ typedef CustomList = $CustomList; class CustomListGroup { /// All custom list targeting settings in custom list group. /// - /// Repeated settings with same id will be ignored. + /// Repeated settings with the same id will be ignored. /// /// Required. core.List? settings; @@ -18384,7 +18100,27 @@ class EditCustomerMatchMembersRequest { } /// The response of FirstAndThirdPartyAudienceService.EditCustomerMatchMembers. -typedef EditCustomerMatchMembersResponse = $EditCustomerMatchMembersResponse; +class EditCustomerMatchMembersResponse { + /// The ID of the updated Customer Match FirstAndThirdPartyAudience. + /// + /// Required. + core.String? firstAndThirdPartyAudienceId; + + EditCustomerMatchMembersResponse({ + this.firstAndThirdPartyAudienceId, + }); + + EditCustomerMatchMembersResponse.fromJson(core.Map json_) + : this( + firstAndThirdPartyAudienceId: + json_['firstAndThirdPartyAudienceId'] as core.String?, + ); + + core.Map toJson() => { + if (firstAndThirdPartyAudienceId != null) + 'firstAndThirdPartyAudienceId': firstAndThirdPartyAudienceId!, + }; +} /// Request message for GuaranteedOrderService.EditGuaranteedOrderReadAccessors. typedef EditGuaranteedOrderReadAccessorsRequest @@ -18649,7 +18385,13 @@ class FirstAndThirdPartyAudience { /// Otherwise, the set value must be greater than 0 and less than or equal to /// 540. Only applicable to first party audiences. This field is required if /// one of the following audience_type is used: * - /// `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID` + /// `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID` *Warning*: + /// Starting on **April 7, 2025**, audiences will no longer be able to have + /// infinite membership duration. This field will no longer accept the value + /// 10000 and all audiences with membership durations greater than 540 days + /// will be updated to a membership duration of 540 days. \[Read more about + /// this announced + /// change\](/display-video/api/deprecations#features.audience_duration). core.String? membershipDurationDays; /// Input only. @@ -18769,7 +18511,7 @@ class FirstAndThirdPartyAudienceGroup { /// All first and third party audience targeting settings in first and third /// party audience group. /// - /// Repeated settings with same id are not allowed. + /// Repeated settings with the same id are not allowed. /// /// Required. core.List? settings; @@ -18793,8 +18535,74 @@ class FirstAndThirdPartyAudienceGroup { } /// Details of first and third party audience targeting setting. -typedef FirstAndThirdPartyAudienceTargetingSetting - = $FirstAndThirdPartyAudienceTargetingSetting; +class FirstAndThirdPartyAudienceTargetingSetting { + /// First and third party audience id of the first and third party audience + /// targeting setting. + /// + /// This id is first_and_third_party_audience_id. + /// + /// Required. + core.String? firstAndThirdPartyAudienceId; + + /// 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. + /// + /// Optional. + /// Possible string values are: + /// - "RECENCY_NO_LIMIT" : No limit of recency. + /// - "RECENCY_1_MINUTE" : Recency is 1 minute. + /// - "RECENCY_5_MINUTES" : Recency is 5 minutes. + /// - "RECENCY_10_MINUTES" : Recency is 10 minutes. + /// - "RECENCY_15_MINUTES" : Recency is 15 minutes. + /// - "RECENCY_30_MINUTES" : Recency is 30 minutes. + /// - "RECENCY_1_HOUR" : Recency is 1 hour. + /// - "RECENCY_2_HOURS" : Recency is 2 hours. + /// - "RECENCY_3_HOURS" : Recency is 3 hours. + /// - "RECENCY_6_HOURS" : Recency is 6 hours. + /// - "RECENCY_12_HOURS" : Recency is 12 hours. + /// - "RECENCY_1_DAY" : Recency is 1 day. + /// - "RECENCY_2_DAYS" : Recency is 2 days. + /// - "RECENCY_3_DAYS" : Recency is 3 days. + /// - "RECENCY_5_DAYS" : Recency is 5 days. + /// - "RECENCY_7_DAYS" : Recency is 7 days. + /// - "RECENCY_10_DAYS" : Recency is 10 days. + /// - "RECENCY_14_DAYS" : Recency is 14 days. + /// - "RECENCY_15_DAYS" : Recency is 15 days. + /// - "RECENCY_21_DAYS" : Recency is 21 days. + /// - "RECENCY_28_DAYS" : Recency is 28 days. + /// - "RECENCY_30_DAYS" : Recency is 30 days. + /// - "RECENCY_40_DAYS" : Recency is 40 days. + /// - "RECENCY_45_DAYS" : Recency is 45 days. + /// - "RECENCY_60_DAYS" : Recency is 60 days. + /// - "RECENCY_90_DAYS" : Recency is 90 days. + /// - "RECENCY_120_DAYS" : Recency is 120 days. + /// - "RECENCY_180_DAYS" : Recency is 180 days. + /// - "RECENCY_270_DAYS" : Recency is 270 days. + /// - "RECENCY_365_DAYS" : Recency is 365 days. + core.String? recency; + + FirstAndThirdPartyAudienceTargetingSetting({ + this.firstAndThirdPartyAudienceId, + this.recency, + }); + + FirstAndThirdPartyAudienceTargetingSetting.fromJson(core.Map json_) + : this( + firstAndThirdPartyAudienceId: + json_['firstAndThirdPartyAudienceId'] as core.String?, + recency: json_['recency'] as core.String?, + ); + + core.Map toJson() => { + if (firstAndThirdPartyAudienceId != null) + 'firstAndThirdPartyAudienceId': firstAndThirdPartyAudienceId!, + if (recency != null) 'recency': recency!, + }; +} /// A strategy that uses a fixed bidding price. typedef FixedBidStrategy = $FixedBidStrategy; @@ -19164,7 +18972,7 @@ typedef GoogleAudience = $GoogleAudience; class GoogleAudienceGroup { /// All Google audience targeting settings in Google audience group. /// - /// Repeated settings with same id will be ignored. + /// Repeated settings with the same id will be ignored. /// /// Required. core.List? settings; @@ -19456,109 +19264,7 @@ typedef HouseholdIncomeTargetingOptionDetails = $HouseholdIncomeTargetingOptionDetails; /// A filtering option that filters entities by their entity IDs. -class IdFilter { - /// YouTube Ads to download by ID. - /// - /// All IDs must belong to the same Advertiser or Partner specified in - /// CreateSdfDownloadTaskRequest. - core.List? adGroupAdIds; - - /// YouTube Ad Groups to download by ID. - /// - /// All IDs must belong to the same Advertiser or Partner specified in - /// CreateSdfDownloadTaskRequest. - core.List? adGroupIds; - - /// YouTube Ad Groups, by ID, to download in QA format. - /// - /// All IDs must belong to the same Advertiser or Partner specified in - /// CreateSdfDownloadTaskRequest. - /// - /// Optional. - core.List? adGroupQaIds; - - /// Campaigns to download by ID. - /// - /// All IDs must belong to the same Advertiser or Partner specified in - /// CreateSdfDownloadTaskRequest. - core.List? campaignIds; - - /// Insertion Orders to download by ID. - /// - /// All IDs must belong to the same Advertiser or Partner specified in - /// CreateSdfDownloadTaskRequest. - core.List? insertionOrderIds; - - /// Line Items to download by ID. - /// - /// All IDs must belong to the same Advertiser or Partner specified in - /// CreateSdfDownloadTaskRequest. - core.List? lineItemIds; - - /// Line Items, by ID, to download in QA format. - /// - /// All IDs must belong to the same Advertiser or Partner specified in - /// CreateSdfDownloadTaskRequest. - /// - /// Optional. - core.List? lineItemQaIds; - - /// Media Products to download by ID. - /// - /// All IDs must belong to the same Advertiser or Partner specified in - /// CreateSdfDownloadTaskRequest. - core.List? mediaProductIds; - - IdFilter({ - this.adGroupAdIds, - this.adGroupIds, - this.adGroupQaIds, - this.campaignIds, - this.insertionOrderIds, - this.lineItemIds, - this.lineItemQaIds, - this.mediaProductIds, - }); - - IdFilter.fromJson(core.Map json_) - : this( - adGroupAdIds: (json_['adGroupAdIds'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - adGroupIds: (json_['adGroupIds'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - adGroupQaIds: (json_['adGroupQaIds'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - campaignIds: (json_['campaignIds'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - insertionOrderIds: (json_['insertionOrderIds'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - lineItemIds: (json_['lineItemIds'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - lineItemQaIds: (json_['lineItemQaIds'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - mediaProductIds: (json_['mediaProductIds'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - ); - - core.Map toJson() => { - if (adGroupAdIds != null) 'adGroupAdIds': adGroupAdIds!, - if (adGroupIds != null) 'adGroupIds': adGroupIds!, - if (adGroupQaIds != null) 'adGroupQaIds': adGroupQaIds!, - if (campaignIds != null) 'campaignIds': campaignIds!, - if (insertionOrderIds != null) 'insertionOrderIds': insertionOrderIds!, - if (lineItemIds != null) 'lineItemIds': lineItemIds!, - if (lineItemQaIds != null) 'lineItemQaIds': lineItemQaIds!, - if (mediaProductIds != null) 'mediaProductIds': mediaProductIds!, - }; -} +typedef IdFilter = $IdFilter; /// Meta data of an image asset. class ImageAsset { @@ -19641,6 +19347,8 @@ class InsertionOrder { /// The bidding strategy of the insertion order. /// /// By default, fixed_bid is set. + /// + /// Optional. BiddingStrategy? bidStrategy; /// The budget allocation settings of the insertion order. @@ -19688,6 +19396,10 @@ class InsertionOrder { /// The frequency capping setting of the insertion order. /// + /// *Warning*: On **February 28, 2025**, frequency cap time periods greater + /// than 30 days will no longer be accepted. \[Read more about this announced + /// change\](/display-video/api/deprecations#features.lifetime_frequency_cap) + /// /// Required. FrequencyCap? frequencyCap; @@ -19701,6 +19413,8 @@ class InsertionOrder { /// The type of insertion order. /// /// If this field is unspecified in creation, the value defaults to `RTB`. + /// + /// Optional. /// Possible string values are: /// - "INSERTION_ORDER_TYPE_UNSPECIFIED" : Insertion order type is not /// specified or is unknown. @@ -19709,6 +19423,8 @@ class InsertionOrder { core.String? insertionOrderType; /// Additional integration details of the insertion order. + /// + /// Optional. IntegrationDetails? integrationDetails; /// The key performance indicator (KPI) of the insertion order. @@ -19726,11 +19442,7 @@ class InsertionOrder { /// The optimization objective of the insertion order. /// - /// **This field is only available to allowlisted customers.** If a customer - /// is not allowlisted, this field will be null and attempts to set it will - /// return an error. - /// - /// Optional. + /// Optional. Required. /// Possible string values are: /// - "OPTIMIZATION_OBJECTIVE_UNSPECIFIED" : Type value is not specified or is /// unknown in this version. @@ -19757,6 +19469,8 @@ class InsertionOrder { /// /// If absent or empty in CreateInsertionOrder method, the newly created /// insertion order will inherit partner costs from the partner settings. + /// + /// Optional. core.List? partnerCosts; /// The reservation type of the insertion order. @@ -19877,6 +19591,8 @@ class InsertionOrderBudget { /// /// If this field is unspecified in creation, the value defaults to /// `INSERTION_ORDER_AUTOMATION_TYPE_NONE`. + /// + /// Optional. /// Possible string values are: /// - "INSERTION_ORDER_AUTOMATION_TYPE_UNSPECIFIED" : Insertion order /// automation option is not specified or is unknown in this version. @@ -19945,6 +19661,8 @@ class InsertionOrderBudgetSegment { /// The budget_id of the campaign budget that this insertion order budget /// segment is a part of. + /// + /// Optional. core.String? campaignBudgetId; /// The start and end date settings of the budget segment. @@ -19962,6 +19680,8 @@ class InsertionOrderBudgetSegment { /// /// It can be used to enter Purchase Order information for each budget segment /// and have that information printed on the invoices. Must be UTF-8 encoded. + /// + /// Optional. core.String? description; InsertionOrderBudgetSegment({ @@ -20630,103 +20350,7 @@ typedef KeywordAssignedTargetingOptionDetails /// Settings that control the key performance indicator, or KPI, of an insertion /// order. -class Kpi { - /// Custom Bidding Algorithm ID associated with - /// KPI_CUSTOM_IMPRESSION_VALUE_OVER_COST. - /// - /// This field is ignored if the proper KPI is not selected. - /// - /// Optional. - core.String? kpiAlgorithmId; - - /// The goal amount, in micros of the advertiser's currency. - /// - /// Applicable when kpi_type is one of: * `KPI_TYPE_CPM` * `KPI_TYPE_CPC` * - /// `KPI_TYPE_CPA` * `KPI_TYPE_CPIAVC` * `KPI_TYPE_VCPM` For example: 1500000 - /// represents 1.5 standard units of the currency. - core.String? kpiAmountMicros; - - /// The decimal representation of the goal percentage in micros. - /// - /// Applicable when kpi_type is one of: * `KPI_TYPE_CTR` * - /// `KPI_TYPE_VIEWABILITY` * `KPI_TYPE_CLICK_CVR` * `KPI_TYPE_IMPRESSION_CVR` - /// * `KPI_TYPE_VTR` * `KPI_TYPE_AUDIO_COMPLETION_RATE` * - /// `KPI_TYPE_VIDEO_COMPLETION_RATE` For example: 70000 represents 7% (decimal - /// 0.07). - core.String? kpiPercentageMicros; - - /// A KPI string, which can be empty. - /// - /// Must be UTF-8 encoded with a length of no more than 100 characters. - /// Applicable when kpi_type is `KPI_TYPE_OTHER`. - core.String? kpiString; - - /// The type of KPI. - /// - /// Required. - /// Possible string values are: - /// - "KPI_TYPE_UNSPECIFIED" : KPI type is not specified or is unknown in this - /// version. - /// - "KPI_TYPE_CPM" : The KPI is CPM (cost per mille). - /// - "KPI_TYPE_CPC" : The KPI is CPC (cost per click). - /// - "KPI_TYPE_CPA" : The KPI is CPA (cost per action). - /// - "KPI_TYPE_CTR" : The KPI is CTR (click-through rate) percentage. - /// - "KPI_TYPE_VIEWABILITY" : The KPI is Viewability percentage. - /// - "KPI_TYPE_CPIAVC" : The KPI is CPIAVC (cost per impression audible and - /// visible at completion). - /// - "KPI_TYPE_CPE" : The KPI is CPE (cost per engagement). - /// - "KPI_TYPE_CPV" : The KPI is set in CPV (cost per view). - /// - "KPI_TYPE_CLICK_CVR" : The KPI is click conversion rate (conversions per - /// click) percentage. - /// - "KPI_TYPE_IMPRESSION_CVR" : The KPI is impression conversion rate - /// (conversions per impression) percentage. - /// - "KPI_TYPE_VCPM" : The KPI is VCPM (cost per thousand viewable - /// impressions). - /// - "KPI_TYPE_VTR" : The KPI is YouTube view rate (YouTube views per - /// impression) percentage. - /// - "KPI_TYPE_AUDIO_COMPLETION_RATE" : The KPI is audio completion rate - /// (complete audio listens per impression) percentage. - /// - "KPI_TYPE_VIDEO_COMPLETION_RATE" : The KPI is video completion rate - /// (complete video views per impression) percentage. - /// - "KPI_TYPE_CPCL" : The KPI is set in CPCL (cost per complete audio - /// listen). - /// - "KPI_TYPE_CPCV" : The KPI is set in CPCV (cost per complete video view). - /// - "KPI_TYPE_TOS10" : The KPI is set in rate of time on screen 10+ seconds - /// (Percentage of measurable, non-skippable impressions that were on the - /// screen for at least 10 seconds). - /// - "KPI_TYPE_MAXIMIZE_PACING" : The KPI is set to maximize brand impact - /// while prioritizing spending the full budget. - /// - "KPI_TYPE_CUSTOM_IMPRESSION_VALUE_OVER_COST" : The KPI is set in custom - /// impression value divided by cost. - /// - "KPI_TYPE_OTHER" : The KPI is some other value. - core.String? kpiType; - - Kpi({ - this.kpiAlgorithmId, - this.kpiAmountMicros, - this.kpiPercentageMicros, - this.kpiString, - this.kpiType, - }); - - Kpi.fromJson(core.Map json_) - : this( - kpiAlgorithmId: json_['kpiAlgorithmId'] as core.String?, - kpiAmountMicros: json_['kpiAmountMicros'] as core.String?, - kpiPercentageMicros: json_['kpiPercentageMicros'] as core.String?, - kpiString: json_['kpiString'] as core.String?, - kpiType: json_['kpiType'] as core.String?, - ); - - core.Map toJson() => { - if (kpiAlgorithmId != null) 'kpiAlgorithmId': kpiAlgorithmId!, - if (kpiAmountMicros != null) 'kpiAmountMicros': kpiAmountMicros!, - if (kpiPercentageMicros != null) - 'kpiPercentageMicros': kpiPercentageMicros!, - if (kpiString != null) 'kpiString': kpiString!, - if (kpiType != null) 'kpiType': kpiType!, - }; -} +typedef Kpi = $Kpi; /// Details for assigned language targeting option. /// @@ -20764,6 +20388,14 @@ class LineItem { core.String? campaignId; /// The conversion tracking setting of the line item. + /// + /// *Warning*: Starting **April 1, 2025**, the floodlight_activity_configs + /// field will no longer be writable while a custom bidding algorithm is + /// assigned to the line item. If you set this field and assign a custom + /// bidding algorithm in the same request, the floodlight activities must + /// match the ones used by the custom bidding algorithm. \[Read more about + /// this announced + /// change\](/display-video/api/deprecations#features.custom_bidding_floodlight). ConversionCountingConfig? conversionCounting; /// The IDs of the creatives associated with the line item. @@ -20816,7 +20448,10 @@ class LineItem { /// The impression frequency cap settings of the line item. /// /// The max_impressions field in this settings object must be used if - /// assigning a limited cap. + /// assigning a limited cap. *Warning*: On **February 28, 2025**, frequency + /// cap time periods greater than 30 days will no longer be accepted. \[Read + /// more about this announced + /// change\](/display-video/api/deprecations#features.lifetime_frequency_cap) /// /// Required. FrequencyCap? frequencyCap; @@ -22605,24 +22240,28 @@ class NonSkippableAd { class ObaIcon { /// The click tracking URL of the OBA icon. /// - /// Only URLs of the following domains are allowed: * https://info.evidon.com - /// * https://l.betrad.com + /// Only URLs of the following domains are allowed: * + /// `https://info.evidon.com` * `https://l.betrad.com` /// /// Required. core.String? clickTrackingUrl; /// The dimensions of the OBA icon. + /// + /// Optional. Dimensions? dimensions; /// The landing page URL of the OBA icon. /// - /// Only URLs of the following domains are allowed: * https://info.evidon.com - /// * https://l.betrad.com + /// Only URLs of the following domains are allowed: * + /// `https://info.evidon.com` * `https://l.betrad.com` /// /// Required. core.String? landingPageUrl; /// The position of the OBA icon on the creative. + /// + /// Optional. /// Possible string values are: /// - "OBA_ICON_POSITION_UNSPECIFIED" : The OBA icon position is not /// specified. @@ -22637,18 +22276,24 @@ class ObaIcon { /// The program of the OBA icon. /// /// For example: “AdChoices”. + /// + /// Optional. core.String? program; /// The MIME type of the OBA icon resource. + /// + /// Optional. core.String? resourceMimeType; /// The URL of the OBA icon resource. + /// + /// Optional. core.String? resourceUrl; /// The view tracking URL of the OBA icon. /// - /// Only URLs of the following domains are allowed: * https://info.evidon.com - /// * https://l.betrad.com + /// Only URLs of the following domains are allowed: * + /// `https://info.evidon.com` * `https://l.betrad.com` /// /// Required. core.String? viewTrackingUrl; @@ -22814,73 +22459,7 @@ typedef Pacing = $Pacing; /// A filtering option that filters on selected file types belonging to a chosen /// set of filter entities. -class ParentEntityFilter { - /// File types that will be returned. - /// - /// Required. - core.List? fileType; - - /// The IDs of the specified filter type. - /// - /// This is used to filter entities to fetch. If filter type is not - /// `FILTER_TYPE_NONE`, at least one ID must be specified. - core.List? filterIds; - - /// Filter type used to filter fetched entities. - /// - /// Required. - /// Possible string values are: - /// - "FILTER_TYPE_UNSPECIFIED" : Default value when type is unspecified or is - /// unknown in this version. - /// - "FILTER_TYPE_NONE" : If selected, no filter will be applied to the - /// download. Can only be used if an Advertiser is specified in - /// CreateSdfDownloadTaskRequest. - /// - "FILTER_TYPE_ADVERTISER_ID" : Advertiser ID. If selected, all filter IDs - /// must be Advertiser IDs that belong to the Partner specified in - /// CreateSdfDownloadTaskRequest. - /// - "FILTER_TYPE_CAMPAIGN_ID" : Campaign ID. If selected, all filter IDs - /// must be Campaign IDs that belong to the Advertiser or Partner specified in - /// CreateSdfDownloadTaskRequest. - /// - "FILTER_TYPE_MEDIA_PRODUCT_ID" : Media Product ID. If selected, all - /// filter IDs must be Media Product IDs that belong to the Advertiser or - /// Partner specified in CreateSdfDownloadTaskRequest. Can only be used for - /// downloading `FILE_TYPE_MEDIA_PRODUCT`. - /// - "FILTER_TYPE_INSERTION_ORDER_ID" : Insertion Order ID. If selected, all - /// filter IDs must be Insertion Order IDs that belong to the Advertiser or - /// Partner specified in CreateSdfDownloadTaskRequest. Can only be used for - /// downloading `FILE_TYPE_INSERTION_ORDER`, `FILE_TYPE_LINE_ITEM`, - /// `FILE_TYPE_LINE_ITEM_QA`, `FILE_TYPE_AD_GROUP`, `FILE_TYPE_AD_GROUP_QA`, - /// and `FILE_TYPE_AD`. - /// - "FILTER_TYPE_LINE_ITEM_ID" : Line Item ID. If selected, all filter IDs - /// must be Line Item IDs that belong to the Advertiser or Partner specified - /// in CreateSdfDownloadTaskRequest. Can only be used for downloading - /// `FILE_TYPE_LINE_ITEM`, `FILE_TYPE_LINE_ITEM_QA`,`FILE_TYPE_AD_GROUP`, - /// `FILE_TYPE_AD_GROUP_QA`, and `FILE_TYPE_AD`. - core.String? filterType; - - ParentEntityFilter({ - this.fileType, - this.filterIds, - this.filterType, - }); - - ParentEntityFilter.fromJson(core.Map json_) - : this( - fileType: (json_['fileType'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - filterIds: (json_['filterIds'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - filterType: json_['filterType'] as core.String?, - ); - - core.Map toJson() => { - if (fileType != null) 'fileType': fileType!, - if (filterIds != null) 'filterIds': filterIds!, - if (filterType != null) 'filterType': filterType!, - }; -} +typedef ParentEntityFilter = $ParentEntityFilter; /// Details for assigned parental status targeting option. /// @@ -23034,23 +22613,7 @@ class PartnerAdServerConfig { } /// Billing related settings of a partner. -class PartnerBillingConfig { - /// The ID of a partner default billing profile. - core.String? billingProfileId; - - PartnerBillingConfig({ - this.billingProfileId, - }); - - PartnerBillingConfig.fromJson(core.Map json_) - : this( - billingProfileId: json_['billingProfileId'] as core.String?, - ); - - core.Map toJson() => { - if (billingProfileId != null) 'billingProfileId': billingProfileId!, - }; -} +typedef PartnerBillingConfig = $PartnerBillingConfig; /// Settings that control a partner cost. /// @@ -23686,72 +23249,7 @@ typedef TargetFrequency = $TargetFrequency; /// Settings that control the \[optimized /// targeting\](//support.google.com/displayvideo/answer/12060859) settings of /// the line item. -class TargetingExpansionConfig { - /// Magnitude of expansion for eligible first-party user lists under this ad - /// group. - /// - /// This field only applies to YouTube and Partners line item and ad group - /// resources. - /// - /// Output only. - /// Possible string values are: - /// - "UNKNOWN" : Audience expansion level is not specified or is unknown in - /// this version. - /// - "NO_REACH" : Audience expansion off. - /// - "LEAST_REACH" : Conservative audience expansion. - /// - "MID_REACH" : Moderate audience expansion. - /// - "MOST_REACH" : Aggressive audience expansion. - core.String? audienceExpansionLevel; - - /// Whether to exclude seed list for audience expansion. - /// - /// This field only applies to YouTube and Partners line item and ad group - /// resources. - /// - /// Output only. - core.bool? audienceExpansionSeedListExcluded; - - /// Whether to enable Optimized Targeting for the line item. - /// - /// Optimized targeting is not compatible with all bid strategies. Attempting - /// to set this field to `true` for a line item using one of the following - /// combinations of BiddingStrategy fields and - /// BiddingStrategyPerformanceGoalType will result in an error: - /// maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * - /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * - /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` - /// performance_goal_auto_bid: * - /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` - /// - /// Required. - core.bool? enableOptimizedTargeting; - - TargetingExpansionConfig({ - this.audienceExpansionLevel, - this.audienceExpansionSeedListExcluded, - this.enableOptimizedTargeting, - }); - - TargetingExpansionConfig.fromJson(core.Map json_) - : this( - audienceExpansionLevel: - json_['audienceExpansionLevel'] as core.String?, - audienceExpansionSeedListExcluded: - json_['audienceExpansionSeedListExcluded'] as core.bool?, - enableOptimizedTargeting: - json_['enableOptimizedTargeting'] as core.bool?, - ); - - core.Map toJson() => { - if (audienceExpansionLevel != null) - 'audienceExpansionLevel': audienceExpansionLevel!, - if (audienceExpansionSeedListExcluded != null) - 'audienceExpansionSeedListExcluded': - audienceExpansionSeedListExcluded!, - if (enableOptimizedTargeting != null) - 'enableOptimizedTargeting': enableOptimizedTargeting!, - }; -} +typedef TargetingExpansionConfig = $TargetingExpansionConfig; /// Represents a single targeting option, which is a targetable concept in /// DV360. @@ -24403,31 +23901,49 @@ typedef TrackingFloodlightActivityConfig = $TrackingFloodlightActivityConfig; class Transcode { /// The bit rate for the audio stream of the transcoded video, or the bit rate /// for the transcoded audio, in kilobits per second. + /// + /// Optional. core.String? audioBitRateKbps; /// The sample rate for the audio stream of the transcoded video, or the /// sample rate for the transcoded audio, in hertz. + /// + /// Optional. core.String? audioSampleRateHz; /// The transcoding bit rate of the transcoded video, in kilobits per second. + /// + /// Optional. core.String? bitRateKbps; /// The dimensions of the transcoded video. + /// + /// Optional. Dimensions? dimensions; /// The size of the transcoded file, in bytes. + /// + /// Optional. core.String? fileSizeBytes; /// The frame rate of the transcoded video, in frames per second. + /// + /// Optional. core.double? frameRate; /// The MIME type of the transcoded file. + /// + /// Optional. core.String? mimeType; /// The name of the transcoded file. + /// + /// Optional. core.String? name; /// Indicates if the transcoding was successful. + /// + /// Optional. core.bool? transcoded; Transcode({ @@ -24798,44 +24314,8 @@ typedef YoutubeAndPartnersBiddingStrategy = $YoutubeAndPartnersBiddingStrategy; /// Settings that control what YouTube related inventories the YouTube and /// Partners line item will target. -class YoutubeAndPartnersInventorySourceConfig { - /// Whether to target inventory in video apps available with Google TV. - /// - /// Optional. - core.bool? includeGoogleTv; - - /// Whether to target inventory on YouTube. - /// - /// This includes both search, channels and videos. - /// - /// Optional. - core.bool? includeYoutube; - - /// Whether to target inventory on a collection of partner sites and apps that - /// follow the same brand safety standards as YouTube. - core.bool? includeYoutubeVideoPartners; - - YoutubeAndPartnersInventorySourceConfig({ - this.includeGoogleTv, - this.includeYoutube, - this.includeYoutubeVideoPartners, - }); - - YoutubeAndPartnersInventorySourceConfig.fromJson(core.Map json_) - : this( - includeGoogleTv: json_['includeGoogleTv'] as core.bool?, - includeYoutube: json_['includeYoutube'] as core.bool?, - includeYoutubeVideoPartners: - json_['includeYoutubeVideoPartners'] as core.bool?, - ); - - core.Map toJson() => { - if (includeGoogleTv != null) 'includeGoogleTv': includeGoogleTv!, - if (includeYoutube != null) 'includeYoutube': includeYoutube!, - if (includeYoutubeVideoPartners != null) - 'includeYoutubeVideoPartners': includeYoutubeVideoPartners!, - }; -} +typedef YoutubeAndPartnersInventorySourceConfig + = $YoutubeAndPartnersInventorySourceConfig; /// Settings for YouTube and Partners line items. class YoutubeAndPartnersSettings { @@ -24915,7 +24395,10 @@ class YoutubeAndPartnersSettings { /// The view frequency cap settings of the line item. /// /// The max_views field in this settings object must be used if assigning a - /// limited cap. + /// limited cap. *Warning*: On **February 28, 2025**, frequency cap time + /// periods greater than 30 days will no longer be accepted. \[Read more about + /// this announced + /// change\](/display-video/api/deprecations#features.lifetime_frequency_cap) FrequencyCap? viewFrequencyCap; YoutubeAndPartnersSettings({ diff --git a/generated/googleapis/lib/displayvideo/v4.dart b/generated/googleapis/lib/displayvideo/v4.dart new file mode 100644 index 000000000..8d86eeafb --- /dev/null +++ b/generated/googleapis/lib/displayvideo/v4.dart @@ -0,0 +1,22918 @@ +// This is a generated file (see the discoveryapis_generator project). + +// ignore_for_file: camel_case_types +// ignore_for_file: comment_references +// ignore_for_file: deprecated_member_use_from_same_package +// ignore_for_file: doc_directive_unknown +// ignore_for_file: lines_longer_than_80_chars +// ignore_for_file: non_constant_identifier_names +// ignore_for_file: prefer_interpolation_to_compose_strings +// ignore_for_file: unintended_html_in_doc_comment +// ignore_for_file: unnecessary_brace_in_string_interps +// ignore_for_file: unnecessary_lambdas +// ignore_for_file: unnecessary_string_interpolations + +/// Display & Video 360 API - v4 +/// +/// Display & Video 360 API allows users to automate complex Display & Video 360 +/// workflows, such as creating insertion orders and setting targeting options +/// for individual line items. +/// +/// For more information, see +/// +/// Create an instance of [DisplayVideoApi] to access these resources: +/// +/// - [AdvertisersResource] +/// - [AdvertisersAdGroupAdsResource] +/// - [AdvertisersAdGroupsResource] +/// - [AdvertisersAdGroupsTargetingTypesResource] +/// - [AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsResource] +/// - [AdvertisersAssetsResource] +/// - [AdvertisersCampaignsResource] +/// - [AdvertisersChannelsResource] +/// - [AdvertisersChannelsSitesResource] +/// - [AdvertisersCreativesResource] +/// - [AdvertisersInsertionOrdersResource] +/// - [AdvertisersInvoicesResource] +/// - [AdvertisersLineItemsResource] +/// - [AdvertisersLineItemsTargetingTypesResource] +/// - [AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsResource] +/// - [AdvertisersLocationListsResource] +/// - [AdvertisersLocationListsAssignedLocationsResource] +/// - [AdvertisersNegativeKeywordListsResource] +/// - [AdvertisersNegativeKeywordListsNegativeKeywordsResource] +/// - [AdvertisersTargetingTypesResource] +/// - [AdvertisersTargetingTypesAssignedTargetingOptionsResource] +/// - [CombinedAudiencesResource] +/// - [CustomBiddingAlgorithmsResource] +/// - [CustomBiddingAlgorithmsRulesResource] +/// - [CustomBiddingAlgorithmsScriptsResource] +/// - [CustomListsResource] +/// - [FirstPartyAndPartnerAudiencesResource] +/// - [FloodlightGroupsResource] +/// - [FloodlightGroupsFloodlightActivitiesResource] +/// - [GoogleAudiencesResource] +/// - [GuaranteedOrdersResource] +/// - [InventorySourceGroupsResource] +/// - [InventorySourceGroupsAssignedInventorySourcesResource] +/// - [InventorySourcesResource] +/// - [MediaResource] +/// - [PartnersResource] +/// - [PartnersChannelsResource] +/// - [PartnersChannelsSitesResource] +/// - [PartnersTargetingTypesResource] +/// - [PartnersTargetingTypesAssignedTargetingOptionsResource] +/// - [SdfdownloadtasksResource] +/// - [SdfdownloadtasksOperationsResource] +/// - [SdfuploadtasksResource] +/// - [SdfuploadtasksOperationsResource] +/// - [TargetingTypesResource] +/// - [TargetingTypesTargetingOptionsResource] +/// - [UsersResource] +library; + +import 'dart:async' as async; +import 'dart:convert' as convert; +import 'dart:core' as core; + +import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; +import 'package:http/http.dart' as http; + +import '../shared.dart'; +import '../src/user_agent.dart'; + +export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' + show + ApiRequestError, + ByteRange, + DetailedApiRequestError, + DownloadOptions, + Media, + PartialDownloadOptions, + ResumableUploadOptions, + UploadOptions; + +/// Display & Video 360 API allows users to automate complex Display & Video 360 +/// workflows, such as creating insertion orders and setting targeting options +/// for individual line items. +class DisplayVideoApi { + /// Create, see, edit, and permanently delete your Display & Video 360 + /// entities and reports + static const displayVideoScope = + 'https://www.googleapis.com/auth/display-video'; + + /// Create, see, and edit Display & Video 360 Campaign entities and see + /// billing invoices + static const displayVideoMediaplanningScope = + 'https://www.googleapis.com/auth/display-video-mediaplanning'; + + /// Private Service: + /// https://www.googleapis.com/auth/display-video-user-management + static const displayVideoUserManagementScope = + 'https://www.googleapis.com/auth/display-video-user-management'; + + /// View and manage your reports in DoubleClick Bid Manager + static const doubleclickbidmanagerScope = + 'https://www.googleapis.com/auth/doubleclickbidmanager'; + + final commons.ApiRequester _requester; + + AdvertisersResource get advertisers => AdvertisersResource(_requester); + CombinedAudiencesResource get combinedAudiences => + CombinedAudiencesResource(_requester); + CustomBiddingAlgorithmsResource get customBiddingAlgorithms => + CustomBiddingAlgorithmsResource(_requester); + CustomListsResource get customLists => CustomListsResource(_requester); + FirstPartyAndPartnerAudiencesResource get firstPartyAndPartnerAudiences => + FirstPartyAndPartnerAudiencesResource(_requester); + FloodlightGroupsResource get floodlightGroups => + FloodlightGroupsResource(_requester); + GoogleAudiencesResource get googleAudiences => + GoogleAudiencesResource(_requester); + GuaranteedOrdersResource get guaranteedOrders => + GuaranteedOrdersResource(_requester); + InventorySourceGroupsResource get inventorySourceGroups => + InventorySourceGroupsResource(_requester); + InventorySourcesResource get inventorySources => + InventorySourcesResource(_requester); + MediaResource get media => MediaResource(_requester); + PartnersResource get partners => PartnersResource(_requester); + SdfdownloadtasksResource get sdfdownloadtasks => + SdfdownloadtasksResource(_requester); + SdfuploadtasksResource get sdfuploadtasks => + SdfuploadtasksResource(_requester); + TargetingTypesResource get targetingTypes => + TargetingTypesResource(_requester); + UsersResource get users => UsersResource(_requester); + + DisplayVideoApi(http.Client client, + {core.String rootUrl = 'https://displayvideo.googleapis.com/', + core.String servicePath = ''}) + : _requester = + commons.ApiRequester(client, rootUrl, servicePath, requestHeaders); +} + +class AdvertisersResource { + final commons.ApiRequester _requester; + + AdvertisersAdGroupAdsResource get adGroupAds => + AdvertisersAdGroupAdsResource(_requester); + AdvertisersAdGroupsResource get adGroups => + AdvertisersAdGroupsResource(_requester); + AdvertisersAssetsResource get assets => AdvertisersAssetsResource(_requester); + AdvertisersCampaignsResource get campaigns => + AdvertisersCampaignsResource(_requester); + AdvertisersChannelsResource get channels => + AdvertisersChannelsResource(_requester); + AdvertisersCreativesResource get creatives => + AdvertisersCreativesResource(_requester); + AdvertisersInsertionOrdersResource get insertionOrders => + AdvertisersInsertionOrdersResource(_requester); + AdvertisersInvoicesResource get invoices => + AdvertisersInvoicesResource(_requester); + AdvertisersLineItemsResource get lineItems => + AdvertisersLineItemsResource(_requester); + AdvertisersLocationListsResource get locationLists => + AdvertisersLocationListsResource(_requester); + AdvertisersNegativeKeywordListsResource get negativeKeywordLists => + AdvertisersNegativeKeywordListsResource(_requester); + AdvertisersTargetingTypesResource get targetingTypes => + AdvertisersTargetingTypesResource(_requester); + + AdvertisersResource(commons.ApiRequester client) : _requester = client; + + /// Audits an advertiser. + /// + /// Returns the counts of used entities per resource type under the advertiser + /// provided. Used entities count towards their respective resource limit. See + /// https://support.google.com/displayvideo/answer/6071450. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser to audit. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [readMask] - Optional. The specific fields to return. If no mask is + /// specified, all fields in the response proto will be filled. Valid values + /// are: * usedLineItemsCount * usedInsertionOrdersCount * usedCampaignsCount + /// * channelsCount * negativelyTargetedChannelsCount * + /// negativeKeywordListsCount * adGroupCriteriaCount * campaignCriteriaCount + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [AuditAdvertiserResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future audit( + core.String advertiserId, { + core.String? readMask, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (readMask != null) 'readMask': [readMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v4/advertisers/' + core.Uri.encodeFull('$advertiserId') + ':audit'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return AuditAdvertiserResponse.fromJson( + response_ as core.Map); + } + + /// Creates a new advertiser. + /// + /// Returns the newly created advertiser if successful. **This method + /// regularly experiences high latency.** We recommend \[increasing your + /// default + /// timeout\](/display-video/api/guides/best-practices/timeouts#client_library_timeout) + /// to avoid errors. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Advertiser]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + Advertiser request, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + const url_ = 'v4/advertisers'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Advertiser.fromJson( + response_ as core.Map); + } + + /// Deletes an advertiser. + /// + /// Deleting an advertiser will delete all of its child resources, for + /// example, campaigns, insertion orders and line items. A deleted advertiser + /// cannot be recovered. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser we need to delete. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Empty]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String advertiserId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + core.Uri.encodeFull('$advertiserId'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return Empty.fromJson(response_ as core.Map); + } + + /// Edits targeting options under a single advertiser. + /// + /// The operation will delete the assigned targeting options provided in + /// BulkEditAdvertiserAssignedTargetingOptionsRequest.delete_requests and then + /// create the assigned targeting options provided in + /// BulkEditAdvertiserAssignedTargetingOptionsRequest.create_requests . + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [BulkEditAdvertiserAssignedTargetingOptionsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future + editAssignedTargetingOptions( + BulkEditAdvertiserAssignedTargetingOptionsRequest request, + core.String advertiserId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + ':editAssignedTargetingOptions'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return BulkEditAdvertiserAssignedTargetingOptionsResponse.fromJson( + response_ as core.Map); + } + + /// Gets an advertiser. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser to fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Advertiser]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String advertiserId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + core.Uri.encodeFull('$advertiserId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return Advertiser.fromJson( + response_ as core.Map); + } + + /// Lists advertisers that are accessible to the current user. + /// + /// The order is defined by the order_by parameter. A single partner_id is + /// required. Cross-partner listing is not supported. + /// + /// Request parameters: + /// + /// [filter] - Allows filtering by advertiser fields. Supported syntax: * + /// Filter expressions are made up of one or more restrictions. * Restrictions + /// can be combined by `AND` or `OR` logical operators. * A restriction has + /// the form of `{field} {operator} {value}`. * The `updateTime` field must + /// use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` + /// operators. * All other fields must use the `EQUALS (=)` operator. + /// Supported fields: * `advertiserId` * `displayName` * `entityStatus` * + /// `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) + /// Examples: * All active advertisers under a partner: + /// `entityStatus="ENTITY_STATUS_ACTIVE"` * All advertisers 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 advertisers 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. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - 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. For example, `displayName + /// desc`. + /// + /// [pageSize] - Requested page size. Must be between `1` and `200`. If + /// unspecified will default to `100`. + /// + /// [pageToken] - 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 `ListAdvertisers` method. If not specified, the first + /// page of results will be returned. + /// + /// [partnerId] - Required. The ID of the partner that the fetched advertisers + /// should all belong to. The system only supports listing advertisers for one + /// partner at a time. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListAdvertisersResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list({ + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + const url_ = 'v4/advertisers'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListAdvertisersResponse.fromJson( + response_ as core.Map); + } + + /// Lists assigned targeting options of an advertiser across targeting types. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser the line item belongs + /// to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [filter] - Allows filtering by assigned targeting option fields. Supported + /// syntax: * Filter expressions are made up of one or more restrictions. * + /// Restrictions can be combined by the `OR` logical operator. * A restriction + /// has the form of `{field} {operator} {value}`. * All fields must use the + /// `EQUALS (=) operator`. Supported fields: * `targetingType` Examples: * + /// targetingType with value TARGETING_TYPE_CHANNEL + /// `targetingType="TARGETING_TYPE_CHANNEL"` The length of this field should + /// be no more than 500 characters. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - 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] - 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] - 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 `BulkListAdvertiserAssignedTargetingOptions` method. If not + /// specified, the first page of results will be returned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [BulkListAdvertiserAssignedTargetingOptionsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future + listAssignedTargetingOptions( + core.String advertiserId, { + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + ':listAssignedTargetingOptions'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return BulkListAdvertiserAssignedTargetingOptionsResponse.fromJson( + response_ as core.Map); + } + + /// Updates an existing advertiser. + /// + /// Returns the updated advertiser if successful. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Output only. The unique ID of the advertiser. Assigned by + /// the system. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [updateMask] - Required. The mask to control which fields to update. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Advertiser]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + Advertiser request, + core.String advertiserId, { + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + core.Uri.encodeFull('$advertiserId'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return Advertiser.fromJson( + response_ as core.Map); + } +} + +class AdvertisersAdGroupAdsResource { + final commons.ApiRequester _requester; + + AdvertisersAdGroupAdsResource(commons.ApiRequester client) + : _requester = client; + + /// Gets an ad group ad. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser this ad group ad + /// belongs to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [adGroupAdId] - Required. The ID of the ad group ad to fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [AdGroupAd]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String advertiserId, + core.String adGroupAdId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/adGroupAds/' + + core.Uri.encodeFull('$adGroupAdId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return AdGroupAd.fromJson(response_ as core.Map); + } + + /// Lists ad group ads. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser the ad groups belongs + /// to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [filter] - Optional. Allows filtering by custom ad group ad fields. + /// Supported syntax: * Filter expressions are made up of one or more + /// restrictions. * Restrictions can be combined by `AND` and `OR`. A sequence + /// of restrictions implicitly uses `AND`. * A restriction has the form of + /// `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` + /// operator. Supported fields: * `adGroupId` * `displayName` * `entityStatus` + /// * `adGroupAdId` Examples: * All ad group ads under an ad group: + /// `adGroupId="1234"` * All ad group ads under an ad group with an + /// entityStatus of `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED`: + /// `(entityStatus="ENTITY_STATUS_ACTIVE" OR + /// entityStatus="ENTITY_STATUS_PAUSED") AND adGroupId="12345"` The length of + /// this field should be no more than 500 characters. Reference our \[filter + /// `LIST` requests\](/display-video/api/guides/how-tos/filters) guide for + /// more information. + /// + /// [orderBy] - Optional. Field by which to sort the list. Acceptable values + /// are: * `displayName` (default) * `entityStatus` 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] - Optional. Requested page size. Must be between `1` and `100`. + /// If unspecified will default to `100`. Returns error code + /// `INVALID_ARGUMENT` if an invalid value is specified. + /// + /// [pageToken] - Optional. 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 `ListAdGroupAds` method. If not specified, the + /// first page of results will be returned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListAdGroupAdsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String advertiserId, { + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/adGroupAds'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListAdGroupAdsResponse.fromJson( + response_ as core.Map); + } +} + +class AdvertisersAdGroupsResource { + final commons.ApiRequester _requester; + + AdvertisersAdGroupsTargetingTypesResource get targetingTypes => + AdvertisersAdGroupsTargetingTypesResource(_requester); + + AdvertisersAdGroupsResource(commons.ApiRequester client) + : _requester = client; + + /// Lists assigned targeting options for multiple ad groups across targeting + /// types. + /// + /// Inherited assigned targeting options are not included. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser the line items belongs + /// to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [adGroupIds] - Required. The IDs of the ad groups to list assigned + /// targeting options for. + /// + /// [filter] - Optional. Allows filtering by assigned targeting option fields. + /// Supported syntax: * Filter expressions are made up of one or more + /// restrictions. * Restrictions can be combined by the logical operator `OR`. + /// * A restriction has the form of `{field} {operator} {value}`. * All fields + /// must use the `EQUALS (=)` operator. Supported fields: * `targetingType` + /// Examples: * `AssignedTargetingOption` resources of targeting type + /// `TARGETING_TYPE_YOUTUBE_VIDEO` or `TARGETING_TYPE_YOUTUBE_CHANNEL`: + /// `targetingType="TARGETING_TYPE_YOUTUBE_VIDEO" OR + /// targetingType="TARGETING_TYPE_YOUTUBE_CHANNEL"` The length of this field + /// should be no more than 500 characters. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - Optional. Field by which to sort the list. Acceptable values + /// are: * `adGroupId` (default) * `assignedTargetingOption.targetingType` 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] - Optional. 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] - Optional. 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 the `BulkListAdGroupAssignedTargetingOptions` method. + /// If not specified, the first page of results will be returned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [BulkListAdGroupAssignedTargetingOptionsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future + bulkListAssignedTargetingOptions( + core.String advertiserId, { + core.List? adGroupIds, + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (adGroupIds != null) 'adGroupIds': adGroupIds, + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/adGroups:bulkListAssignedTargetingOptions'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return BulkListAdGroupAssignedTargetingOptionsResponse.fromJson( + response_ as core.Map); + } + + /// Gets an ad group. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser this ad group belongs + /// to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [adGroupId] - Required. The ID of the ad group to fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [AdGroup]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String advertiserId, + core.String adGroupId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/adGroups/' + + core.Uri.encodeFull('$adGroupId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return AdGroup.fromJson(response_ as core.Map); + } + + /// Lists ad groups. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser the ad groups belongs + /// to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [filter] - Optional. Allows filtering by custom ad group fields. Supported + /// syntax: * Filter expressions are made up of one or more restrictions. * + /// Restrictions can be combined by `AND` and `OR`. A sequence of restrictions + /// implicitly uses `AND`. * A restriction has the form of `{field} {operator} + /// {value}`. * All fields must use the `EQUALS (=)` operator. Supported + /// properties: * `adGroupId` * `displayName` * `entityStatus` * `lineItemId` + /// * `adGroupFormat` Examples: * All ad groups under an line item: + /// `lineItemId="1234"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` + /// `AD_GROUP_FORMAT_IN_STREAM` ad groups under an advertiser: + /// `(entityStatus="ENTITY_STATUS_ACTIVE" OR + /// entityStatus="ENTITY_STATUS_PAUSED") AND + /// adGroupFormat="AD_GROUP_FORMAT_IN_STREAM"` The length of this field should + /// be no more than 500 characters. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - Optional. Field by which to sort the list. Acceptable values + /// are: * `displayName` (default) * `entityStatus` 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] - Optional. Requested page size. Must be between `1` and `200`. + /// If unspecified will default to `100`. Returns error code + /// `INVALID_ARGUMENT` if an invalid value is specified. + /// + /// [pageToken] - Optional. 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 `ListAdGroups` method. If not specified, the + /// first page of results will be returned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListAdGroupsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String advertiserId, { + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v4/advertisers/' + core.Uri.encodeFull('$advertiserId') + '/adGroups'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListAdGroupsResponse.fromJson( + response_ as core.Map); + } +} + +class AdvertisersAdGroupsTargetingTypesResource { + final commons.ApiRequester _requester; + + AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsResource + get assignedTargetingOptions => + AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsResource( + _requester); + + AdvertisersAdGroupsTargetingTypesResource(commons.ApiRequester client) + : _requester = client; +} + +class AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsResource { + final commons.ApiRequester _requester; + + AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsResource( + commons.ApiRequester client) + : _requester = client; + + /// Gets a single targeting option assigned to an ad group. + /// + /// Inherited assigned targeting options are not included. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser the ad group belongs + /// to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [adGroupId] - Required. The ID of the ad group the assigned targeting + /// option belongs to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [targetingType] - Required. Identifies the type of this assigned targeting + /// option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * + /// `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * + /// `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * + /// `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_PARENTAL_STATUS` * + /// `TARGETING_TYPE_SESSION_POSITION` * `TARGETING_TYPE_URL` * + /// `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_YOUTUBE_VIDEO` + /// Value must have pattern `^\[^/\]+$`. + /// Possible string values are: + /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified + /// or is unknown in this version. + /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related + /// websites or apps). + /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, + /// education or puzzle games). + /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). + /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). + /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period + /// on a specific day. + /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for + /// example, 18-24). + /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified + /// regions on a regional location list. + /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified + /// points of interest on a proximity location list. + /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, + /// female or male). + /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size + /// for video ads. + /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content + /// for video ads. + /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental + /// status (for example, parent or not a parent). + /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads + /// in a specific content instream position (for example, pre-roll, mid-roll, + /// or post-roll). + /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific + /// content outstream position. + /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for + /// example, tablet or connected TV). + /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of + /// audiences. Singleton field, at most one can exist on a single Lineitem at + /// a time. + /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for + /// example, Chrome). + /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household + /// income range (for example, top 10%). + /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen + /// position. + /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third + /// party verification (for example, IAS or DoubleVerify). + /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by + /// specific digital content label ratings (for example, DL-MA: suitable only + /// for mature audiences). + /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content + /// by sensitive categories (for example, adult). + /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for + /// example, web or app). + /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network + /// carrier or internet service provider (ISP) (for example, Comcast or + /// Orange). + /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating + /// system (for example, macOS). + /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device + /// make or model (for example, Roku or Samsung). + /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for + /// example, dog or retriever). + /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific + /// negative keyword list. + /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for + /// example, 80% viewable). + /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category + /// (for example, arts & entertainment). + /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific + /// deals and auction packages. + /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for + /// example, English or Japanese). + /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt + /// authorized sellers. If no targeting option of this type is assigned, the + /// resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location + /// (for example, a city or state). + /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a + /// group of deals and auction packages. + /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific + /// exchanges. + /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific + /// sub-exchanges. + /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, + /// such as a notable building, a street address, or latitude/longitude + /// coordinates. + /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a + /// business chain within a specific geo region. + /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video + /// content duration. + /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video + /// content stream type. + /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific + /// native content position. + /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled + /// inventory. + /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio + /// content type. + /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. + /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. + /// Targeting of this type cannot be created or updated using the API. + /// Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube + /// channel. Targeting of this type cannot be created or updated using the + /// API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a + /// certain position of a session. Only supported for Ad Group resources under + /// YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + /// [assignedTargetingOptionId] - Required. An identifier unique to the + /// targeting type in this line item that identifies the assigned targeting + /// option being requested. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [AssignedTargetingOption]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String advertiserId, + core.String adGroupId, + core.String targetingType, + core.String assignedTargetingOptionId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/adGroups/' + + core.Uri.encodeFull('$adGroupId') + + '/targetingTypes/' + + core.Uri.encodeFull('$targetingType') + + '/assignedTargetingOptions/' + + core.Uri.encodeFull('$assignedTargetingOptionId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return AssignedTargetingOption.fromJson( + response_ as core.Map); + } + + /// Lists the targeting options assigned to an ad group. + /// + /// Inherited assigned targeting options are not included. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser the ad group belongs + /// to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [adGroupId] - Required. The ID of the ad group to list assigned targeting + /// options for. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [targetingType] - Required. Identifies the type of assigned targeting + /// options to list. Supported targeting types include: * + /// `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * + /// `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * + /// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_GENDER` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_KEYWORD` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SESSION_POSITION` * + /// `TARGETING_TYPE_URL` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * + /// `TARGETING_TYPE_YOUTUBE_VIDEO` + /// Value must have pattern `^\[^/\]+$`. + /// Possible string values are: + /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified + /// or is unknown in this version. + /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related + /// websites or apps). + /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, + /// education or puzzle games). + /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). + /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). + /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period + /// on a specific day. + /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for + /// example, 18-24). + /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified + /// regions on a regional location list. + /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified + /// points of interest on a proximity location list. + /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, + /// female or male). + /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size + /// for video ads. + /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content + /// for video ads. + /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental + /// status (for example, parent or not a parent). + /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads + /// in a specific content instream position (for example, pre-roll, mid-roll, + /// or post-roll). + /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific + /// content outstream position. + /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for + /// example, tablet or connected TV). + /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of + /// audiences. Singleton field, at most one can exist on a single Lineitem at + /// a time. + /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for + /// example, Chrome). + /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household + /// income range (for example, top 10%). + /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen + /// position. + /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third + /// party verification (for example, IAS or DoubleVerify). + /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by + /// specific digital content label ratings (for example, DL-MA: suitable only + /// for mature audiences). + /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content + /// by sensitive categories (for example, adult). + /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for + /// example, web or app). + /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network + /// carrier or internet service provider (ISP) (for example, Comcast or + /// Orange). + /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating + /// system (for example, macOS). + /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device + /// make or model (for example, Roku or Samsung). + /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for + /// example, dog or retriever). + /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific + /// negative keyword list. + /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for + /// example, 80% viewable). + /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category + /// (for example, arts & entertainment). + /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific + /// deals and auction packages. + /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for + /// example, English or Japanese). + /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt + /// authorized sellers. If no targeting option of this type is assigned, the + /// resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location + /// (for example, a city or state). + /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a + /// group of deals and auction packages. + /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific + /// exchanges. + /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific + /// sub-exchanges. + /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, + /// such as a notable building, a street address, or latitude/longitude + /// coordinates. + /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a + /// business chain within a specific geo region. + /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video + /// content duration. + /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video + /// content stream type. + /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific + /// native content position. + /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled + /// inventory. + /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio + /// content type. + /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. + /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. + /// Targeting of this type cannot be created or updated using the API. + /// Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube + /// channel. Targeting of this type cannot be created or updated using the + /// API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a + /// certain position of a session. Only supported for Ad Group resources under + /// YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + /// [filter] - Optional. Allows filtering by assigned targeting option fields. + /// Supported syntax: * Filter expressions are made up of one or more + /// restrictions. * Restrictions can be combined by the logical operator `OR`. + /// * A restriction has the form of `{field} {operator} {value}`. * All fields + /// must use the `EQUALS (=)` operator. Supported fields: * + /// `assignedTargetingOptionId` Examples: * `AssignedTargetingOption` + /// resources with ID 1 or 2: `assignedTargetingOptionId="1" OR + /// assignedTargetingOptionId="2"` The length of this field should be no more + /// than 500 characters. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - Optional. Field by which to sort the list. Acceptable values + /// are: * `assignedTargetingOptionId` (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: `assignedTargetingOptionId desc`. + /// + /// [pageSize] - Optional. Requested page size. Must be between `1` and + /// `5000`. If unspecified will default to `100`. Returns error code + /// `INVALID_ARGUMENT` if an invalid value is specified. + /// + /// [pageToken] - Optional. 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 `ListAdGroupAssignedTargetingOptions` method. If + /// not specified, the first page of results will be returned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListAdGroupAssignedTargetingOptionsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String advertiserId, + core.String adGroupId, + core.String targetingType, { + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/adGroups/' + + core.Uri.encodeFull('$adGroupId') + + '/targetingTypes/' + + core.Uri.encodeFull('$targetingType') + + '/assignedTargetingOptions'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListAdGroupAssignedTargetingOptionsResponse.fromJson( + response_ as core.Map); + } +} + +class AdvertisersAssetsResource { + final commons.ApiRequester _requester; + + AdvertisersAssetsResource(commons.ApiRequester client) : _requester = client; + + /// Uploads an asset. + /// + /// Returns the ID of the newly uploaded asset if successful. The asset file + /// size should be no more than 10 MB for images, 200 MB for ZIP files, and 1 + /// GB for videos. Must be used within the \[multipart media upload + /// process\](/display-video/api/guides/how-tos/upload#multipart). Examples + /// using provided client libraries can be found in our \[Creating Creatives + /// guide\](/display-video/api/guides/creating-creatives/overview#upload_an_asset). + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser this asset belongs to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// [uploadMedia] - The media to upload. + /// + /// Completes with a [CreateAssetResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future upload( + CreateAssetRequest request, + core.String advertiserId, { + core.String? $fields, + commons.Media? uploadMedia, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + core.String url_; + if (uploadMedia == null) { + url_ = + 'v4/advertisers/' + core.Uri.encodeFull('$advertiserId') + '/assets'; + } else { + url_ = '/upload/v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/assets'; + } + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + uploadMedia: uploadMedia, + uploadOptions: commons.UploadOptions.defaultOptions, + ); + return CreateAssetResponse.fromJson( + response_ as core.Map); + } +} + +class AdvertisersCampaignsResource { + final commons.ApiRequester _requester; + + AdvertisersCampaignsResource(commons.ApiRequester client) + : _requester = client; + + /// Creates a new campaign. + /// + /// Returns the newly created campaign if successful. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Output only. The unique ID of the advertiser the campaign + /// belongs to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Campaign]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + Campaign request, + core.String advertiserId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v4/advertisers/' + core.Uri.encodeFull('$advertiserId') + '/campaigns'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Campaign.fromJson(response_ as core.Map); + } + + /// 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. **This method regularly experiences high latency.** We + /// recommend \[increasing your default + /// timeout\](/display-video/api/guides/best-practices/timeouts#client_library_timeout) + /// to avoid errors. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser this campaign belongs to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [campaignId] - The ID of the campaign we need to delete. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Empty]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String advertiserId, + core.String campaignId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/campaigns/' + + core.Uri.encodeFull('$campaignId'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return Empty.fromJson(response_ as core.Map); + } + + /// Gets a campaign. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser this campaign belongs + /// to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [campaignId] - Required. The ID of the campaign to fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Campaign]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String advertiserId, + core.String campaignId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/campaigns/' + + core.Uri.encodeFull('$campaignId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return Campaign.fromJson(response_ as core.Map); + } + + /// 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. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser to list campaigns for. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [filter] - Allows filtering by campaign fields. 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 `updateTime` field must use the `GREATER THAN OR EQUAL TO + /// (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must + /// use the `EQUALS (=)` operator. 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. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - 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] - Requested page size. Must be between `1` and `200`. If + /// unspecified will default to `100`. + /// + /// [pageToken] - 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. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListCampaignsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String advertiserId, { + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v4/advertisers/' + core.Uri.encodeFull('$advertiserId') + '/campaigns'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListCampaignsResponse.fromJson( + response_ as core.Map); + } + + /// Updates an existing campaign. + /// + /// Returns the updated campaign if successful. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Output only. The unique ID of the advertiser the campaign + /// belongs to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [campaignId] - Output only. The unique ID of the campaign. Assigned by the + /// system. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [updateMask] - Required. The mask to control which fields to update. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Campaign]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + Campaign request, + core.String advertiserId, + core.String campaignId, { + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/campaigns/' + + core.Uri.encodeFull('$campaignId'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return Campaign.fromJson(response_ as core.Map); + } +} + +class AdvertisersChannelsResource { + final commons.ApiRequester _requester; + + AdvertisersChannelsSitesResource get sites => + AdvertisersChannelsSitesResource(_requester); + + AdvertisersChannelsResource(commons.ApiRequester client) + : _requester = client; + + /// Creates a new channel. + /// + /// Returns the newly created channel if successful. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser that owns the created channel. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [partnerId] - The ID of the partner that owns the created channel. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Channel]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + Channel request, + core.String advertiserId, { + core.String? partnerId, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v4/advertisers/' + core.Uri.encodeFull('$advertiserId') + '/channels'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Channel.fromJson(response_ as core.Map); + } + + /// Gets a channel for a partner or advertiser. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser that owns the fetched channel. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [channelId] - Required. The ID of the channel to fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [partnerId] - The ID of the partner that owns the fetched channel. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Channel]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String advertiserId, + core.String channelId, { + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/channels/' + + core.Uri.encodeFull('$channelId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return Channel.fromJson(response_ as core.Map); + } + + /// Lists channels for a partner or advertiser. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser that owns the channels. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [filter] - Allows filtering by channel fields. Supported syntax: * Filter + /// expressions for channel can only contain at most one restriction. * A + /// restriction has the form of `{field} {operator} {value}`. * All fields + /// must use the `HAS (:)` operator. Supported fields: * `displayName` + /// Examples: * All channels for which the display name contains "google": + /// `displayName : "google"`. The length of this field should be no more than + /// 500 characters. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `displayName` (default) * `channelId` 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] - Requested page size. Must be between `1` and `200`. If + /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` + /// if an invalid value is specified. + /// + /// [pageToken] - 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 `ListChannels` method. If not specified, the first page + /// of results will be returned. + /// + /// [partnerId] - The ID of the partner that owns the channels. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListChannelsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String advertiserId, { + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v4/advertisers/' + core.Uri.encodeFull('$advertiserId') + '/channels'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListChannelsResponse.fromJson( + response_ as core.Map); + } + + /// Updates a channel. + /// + /// Returns the updated channel if successful. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser that owns the created channel. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [channelId] - Output only. The unique ID of the channel. Assigned by the + /// system. + /// + /// [partnerId] - The ID of the partner that owns the created channel. + /// + /// [updateMask] - Required. The mask to control which fields to update. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Channel]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + Channel request, + core.String advertiserId, + core.String channelId, { + core.String? partnerId, + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (partnerId != null) 'partnerId': [partnerId], + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/channels/' + + commons.escapeVariable('$channelId'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return Channel.fromJson(response_ as core.Map); + } +} + +class AdvertisersChannelsSitesResource { + final commons.ApiRequester _requester; + + AdvertisersChannelsSitesResource(commons.ApiRequester client) + : _requester = client; + + /// Bulk edits sites under a single channel. + /// + /// The operation will delete the sites provided in + /// BulkEditSitesRequest.deleted_sites and then create the sites provided in + /// BulkEditSitesRequest.created_sites. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser that owns the parent channel. + /// + /// [channelId] - Required. The ID of the parent channel to which the sites + /// belong. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [BulkEditSitesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future bulkEdit( + BulkEditSitesRequest request, + core.String advertiserId, + core.String channelId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + commons.escapeVariable('$advertiserId') + + '/channels/' + + core.Uri.encodeFull('$channelId') + + '/sites:bulkEdit'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return BulkEditSitesResponse.fromJson( + response_ as core.Map); + } + + /// Creates a site in a channel. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser that owns the parent channel. + /// + /// [channelId] - Required. The ID of the parent channel in which the site + /// will be created. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [partnerId] - The ID of the partner that owns the parent channel. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Site]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + Site request, + core.String advertiserId, + core.String channelId, { + core.String? partnerId, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + commons.escapeVariable('$advertiserId') + + '/channels/' + + core.Uri.encodeFull('$channelId') + + '/sites'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Site.fromJson(response_ as core.Map); + } + + /// Deletes a site from a channel. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser that owns the parent channel. + /// + /// [channelId] - Required. The ID of the parent channel to which the site + /// belongs. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [urlOrAppId] - Required. The URL or app ID of the site to delete. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [partnerId] - The ID of the partner that owns the parent channel. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Empty]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String advertiserId, + core.String channelId, + core.String urlOrAppId, { + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + commons.escapeVariable('$advertiserId') + + '/channels/' + + core.Uri.encodeFull('$channelId') + + '/sites/' + + core.Uri.encodeFull('$urlOrAppId'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return Empty.fromJson(response_ as core.Map); + } + + /// Lists sites in a channel. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser that owns the parent channel. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [channelId] - Required. The ID of the parent channel to which the + /// requested sites belong. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [filter] - Allows filtering by site fields. Supported syntax: * Filter + /// expressions for site retrieval can only contain at most one restriction. * + /// A restriction has the form of `{field} {operator} {value}`. * All fields + /// must use the `HAS (:)` operator. Supported fields: * `urlOrAppId` + /// Examples: * All sites for which the URL or app ID contains "google": + /// `urlOrAppId : "google"` The length of this field should be no more than + /// 500 characters. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `urlOrAppId` (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: `urlOrAppId desc`. + /// + /// [pageSize] - Requested page size. Must be between `1` and `10000`. If + /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` + /// if an invalid value is specified. + /// + /// [pageToken] - 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 `ListSites` method. If not specified, the first page of + /// results will be returned. + /// + /// [partnerId] - The ID of the partner that owns the parent channel. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListSitesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String advertiserId, + core.String channelId, { + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/channels/' + + core.Uri.encodeFull('$channelId') + + '/sites'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListSitesResponse.fromJson( + response_ as core.Map); + } + + /// Replaces all of the sites under a single channel. + /// + /// The operation will replace the sites under a channel with the sites + /// provided in ReplaceSitesRequest.new_sites. **This method regularly + /// experiences high latency.** We recommend \[increasing your default + /// timeout\](/display-video/api/guides/best-practices/timeouts#client_library_timeout) + /// to avoid errors. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser that owns the parent channel. + /// + /// [channelId] - Required. The ID of the parent channel whose sites will be + /// replaced. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ReplaceSitesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future replace( + ReplaceSitesRequest request, + core.String advertiserId, + core.String channelId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + commons.escapeVariable('$advertiserId') + + '/channels/' + + core.Uri.encodeFull('$channelId') + + '/sites:replace'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return ReplaceSitesResponse.fromJson( + response_ as core.Map); + } +} + +class AdvertisersCreativesResource { + final commons.ApiRequester _requester; + + AdvertisersCreativesResource(commons.ApiRequester client) + : _requester = client; + + /// Creates a new creative. + /// + /// Returns the newly created creative if successful. A \["Standard" user + /// role\](//support.google.com/displayvideo/answer/2723011) or greater for + /// the parent advertiser or partner is required to make this request. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Output only. The unique ID of the advertiser the creative + /// belongs to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Creative]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + Creative request, + core.String advertiserId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v4/advertisers/' + core.Uri.encodeFull('$advertiserId') + '/creatives'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Creative.fromJson(response_ as core.Map); + } + + /// Deletes a creative. + /// + /// Returns error code `NOT_FOUND` if the creative does not exist. The + /// creative should be archived first, i.e. set entity_status to + /// `ENTITY_STATUS_ARCHIVED`, before it can be deleted. A \["Standard" user + /// role\](//support.google.com/displayvideo/answer/2723011) or greater for + /// the parent advertiser or partner is required to make this request. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser this creative belongs to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [creativeId] - The ID of the creative to be deleted. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Empty]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String advertiserId, + core.String creativeId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/creatives/' + + core.Uri.encodeFull('$creativeId'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return Empty.fromJson(response_ as core.Map); + } + + /// Gets a creative. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser this creative belongs + /// to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [creativeId] - Required. The ID of the creative to fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Creative]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String advertiserId, + core.String creativeId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/creatives/' + + core.Uri.encodeFull('$creativeId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return Creative.fromJson(response_ as core.Map); + } + + /// Lists creatives in an advertiser. + /// + /// The order is defined by the order_by parameter. If a filter by + /// entity_status is not specified, creatives with `ENTITY_STATUS_ARCHIVED` + /// will not be included in the results. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser to list creatives for. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [filter] - Allows filtering by creative fields. 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 `lineItemIds` field must use the `HAS (:)` operator. * The + /// `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS + /// THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS + /// (=)` operator. * For `entityStatus`, `minDuration`, `maxDuration`, + /// `updateTime`, and `dynamic` fields, there may be at most one restriction. + /// Supported Fields: * `approvalStatus` * `creativeId` * `creativeType` * + /// `dimensions` (input in the form of `{width}x{height}`) * `dynamic` * + /// `entityStatus` * `exchangeReviewStatus` (input in the form of + /// `{exchange}-{reviewStatus}`) * `lineItemIds` * `maxDuration` (input in the + /// form of `{duration}s`. Only seconds are supported) * `minDuration` (input + /// in the form of `{duration}s`. Only seconds are supported) * `updateTime` + /// (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Notes: * For + /// `updateTime`, a creative resource's field value reflects the last time + /// that a creative has been updated, which includes updates made by the + /// system (e.g. creative review updates). Examples: * All native creatives: + /// `creativeType="CREATIVE_TYPE_NATIVE"` * All active creatives with 300x400 + /// or 50x100 dimensions: `entityStatus="ENTITY_STATUS_ACTIVE" AND + /// (dimensions="300x400" OR dimensions="50x100")` * All dynamic creatives + /// that are approved by AdX or AppNexus, with a minimum duration of 5 seconds + /// and 200ms: `dynamic="true" AND minDuration="5.2s" AND + /// (exchangeReviewStatus="EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROVED" + /// OR exchangeReviewStatus="EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED")` * All + /// video creatives that are associated with line item ID 1 or 2: + /// `creativeType="CREATIVE_TYPE_VIDEO" AND (lineItemIds:1 OR lineItemIds:2)` + /// * Find creatives by multiple creative IDs: `creativeId=1 OR creativeId=2` + /// * All creatives 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. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `creativeId` (default) * `createTime` * `mediaDuration` * `dimensions` + /// (sorts by width first, then by height) The default sorting order is + /// ascending. To specify descending order for a field, a suffix "desc" should + /// be added to the field name. Example: `createTime desc`. + /// + /// [pageSize] - Requested page size. Must be between `1` and `200`. If + /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` + /// if an invalid value is specified. + /// + /// [pageToken] - 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 `ListCreatives` method. If not specified, the first page + /// of results will be returned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListCreativesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String advertiserId, { + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v4/advertisers/' + core.Uri.encodeFull('$advertiserId') + '/creatives'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListCreativesResponse.fromJson( + response_ as core.Map); + } + + /// Updates an existing creative. + /// + /// Returns the updated creative if successful. A \["Standard" user + /// role\](//support.google.com/displayvideo/answer/2723011) or greater for + /// the parent advertiser or partner is required to make this request. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Output only. The unique ID of the advertiser the creative + /// belongs to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [creativeId] - Output only. The unique ID of the creative. Assigned by the + /// system. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [updateMask] - Required. The mask to control which fields to update. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Creative]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + Creative request, + core.String advertiserId, + core.String creativeId, { + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/creatives/' + + core.Uri.encodeFull('$creativeId'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return Creative.fromJson(response_ as core.Map); + } +} + +class AdvertisersInsertionOrdersResource { + final commons.ApiRequester _requester; + + AdvertisersInsertionOrdersResource(commons.ApiRequester client) + : _requester = client; + + /// Creates a new insertion order. + /// + /// Returns the newly created insertion order if successful. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Output only. The unique ID of the advertiser the + /// insertion order belongs to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [InsertionOrder]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + InsertionOrder request, + core.String advertiserId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/insertionOrders'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return InsertionOrder.fromJson( + response_ as core.Map); + } + + /// Deletes an insertion order. + /// + /// Returns error code `NOT_FOUND` if the insertion order does not exist. The + /// insertion order should be archived first, i.e. set entity_status to + /// `ENTITY_STATUS_ARCHIVED`, to be able to delete it. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser this insertion order belongs to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [insertionOrderId] - The ID of the insertion order to delete. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Empty]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String advertiserId, + core.String insertionOrderId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/insertionOrders/' + + core.Uri.encodeFull('$insertionOrderId'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return Empty.fromJson(response_ as core.Map); + } + + /// Gets an insertion order. + /// + /// Returns error code `NOT_FOUND` if the insertion order does not exist. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser this insertion order + /// belongs to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [insertionOrderId] - Required. The ID of the insertion order to fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [InsertionOrder]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String advertiserId, + core.String insertionOrderId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/insertionOrders/' + + core.Uri.encodeFull('$insertionOrderId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return InsertionOrder.fromJson( + response_ as core.Map); + } + + /// Lists insertion orders in an advertiser. + /// + /// The order is defined by the order_by parameter. If a filter by + /// entity_status is not specified, insertion orders with + /// `ENTITY_STATUS_ARCHIVED` will not be included in the results. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser to list insertion + /// orders for. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [filter] - Allows filtering by insertion order fields. 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 `updateTime` field must use the + /// `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. + /// * All other fields must use the `EQUALS (=)` operator. Supported fields: * + /// `campaignId` * `displayName` * `entityStatus` * `updateTime` (input in ISO + /// 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All insertion orders + /// under a campaign: `campaignId="1234"` * All `ENTITY_STATUS_ACTIVE` or + /// `ENTITY_STATUS_PAUSED` insertion orders under an advertiser: + /// `(entityStatus="ENTITY_STATUS_ACTIVE" OR + /// entityStatus="ENTITY_STATUS_PAUSED")` * All insertion orders 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 insertion orders 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. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - 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] - Requested page size. Must be between `1` and `100`. If + /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` + /// if an invalid value is specified. + /// + /// [pageToken] - 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 `ListInsertionOrders` method. If not specified, the first + /// page of results will be returned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListInsertionOrdersResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String advertiserId, { + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/insertionOrders'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListInsertionOrdersResponse.fromJson( + response_ as core.Map); + } + + /// Updates an existing insertion order. + /// + /// Returns the updated insertion order if successful. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Output only. The unique ID of the advertiser the + /// insertion order belongs to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [insertionOrderId] - Output only. The unique ID of the insertion order. + /// Assigned by the system. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [updateMask] - Required. The mask to control which fields to update. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [InsertionOrder]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + InsertionOrder request, + core.String advertiserId, + core.String insertionOrderId, { + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/insertionOrders/' + + core.Uri.encodeFull('$insertionOrderId'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return InsertionOrder.fromJson( + response_ as core.Map); + } +} + +class AdvertisersInvoicesResource { + final commons.ApiRequester _requester; + + AdvertisersInvoicesResource(commons.ApiRequester client) + : _requester = client; + + /// Lists invoices posted for an advertiser in a given month. + /// + /// Invoices generated by billing profiles with a "Partner" invoice level are + /// not retrievable through this method. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser to list invoices for. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [issueMonth] - The month to list the invoices for. If not set, the request + /// will retrieve invoices for the previous month. Must be in the format + /// YYYYMM. + /// + /// [loiSapinInvoiceType] - Select type of invoice to retrieve for Loi Sapin + /// advertisers. Only applicable to Loi Sapin advertisers. Will be ignored + /// otherwise. + /// Possible string values are: + /// - "LOI_SAPIN_INVOICE_TYPE_UNSPECIFIED" : Value is not specified. + /// - "LOI_SAPIN_INVOICE_TYPE_MEDIA" : Invoices with Media cost. + /// - "LOI_SAPIN_INVOICE_TYPE_PLATFORM" : Invoices with Platform fee. + /// + /// [pageSize] - Requested page size. Must be between `1` and `200`. If + /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` + /// if an invalid value is specified. + /// + /// [pageToken] - 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 `ListInvoices` method. If not specified, the first page + /// of results will be returned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListInvoicesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String advertiserId, { + core.String? issueMonth, + core.String? loiSapinInvoiceType, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (issueMonth != null) 'issueMonth': [issueMonth], + if (loiSapinInvoiceType != null) + 'loiSapinInvoiceType': [loiSapinInvoiceType], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v4/advertisers/' + core.Uri.encodeFull('$advertiserId') + '/invoices'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListInvoicesResponse.fromJson( + response_ as core.Map); + } + + /// Retrieves the invoice currency used by an advertiser in a given month. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser to lookup currency + /// for. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [invoiceMonth] - Month for which the currency is needed. If not set, the + /// request will return existing currency settings for the advertiser. Must be + /// in the format YYYYMM. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [LookupInvoiceCurrencyResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future lookupInvoiceCurrency( + core.String advertiserId, { + core.String? invoiceMonth, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (invoiceMonth != null) 'invoiceMonth': [invoiceMonth], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/invoices:lookupInvoiceCurrency'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return LookupInvoiceCurrencyResponse.fromJson( + response_ as core.Map); + } +} + +class AdvertisersLineItemsResource { + final commons.ApiRequester _requester; + + AdvertisersLineItemsTargetingTypesResource get targetingTypes => + AdvertisersLineItemsTargetingTypesResource(_requester); + + AdvertisersLineItemsResource(commons.ApiRequester client) + : _requester = client; + + /// Bulk edits targeting options under multiple line items. + /// + /// The operation will delete the assigned targeting options provided in + /// BulkEditAssignedTargetingOptionsRequest.delete_requests and then create + /// the assigned targeting options provided in + /// BulkEditAssignedTargetingOptionsRequest.create_requests. Requests to this + /// endpoint cannot be made concurrently with the following requests updating + /// the same line item: * lineItems.bulkUpdate * lineItems.patch * + /// assignedTargetingOptions.create * assignedTargetingOptions.delete YouTube + /// & Partners line items cannot be created or updated using the API. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser the line items belong + /// to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [BulkEditAssignedTargetingOptionsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future + bulkEditAssignedTargetingOptions( + BulkEditAssignedTargetingOptionsRequest request, + core.String advertiserId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/lineItems:bulkEditAssignedTargetingOptions'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return BulkEditAssignedTargetingOptionsResponse.fromJson( + response_ as core.Map); + } + + /// Lists assigned targeting options for multiple line items across targeting + /// types. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser the line items belongs + /// to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [filter] - Allows filtering by assigned targeting option fields. 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}`. * All + /// fields must use the `EQUALS (=)` operator. Supported fields: * + /// `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` + /// resources of targeting type `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` or + /// `TARGETING_TYPE_CHANNEL`: + /// `targetingType="TARGETING_TYPE_PROXIMITY_LOCATION_LIST" OR + /// targetingType="TARGETING_TYPE_CHANNEL"` * `AssignedTargetingOption` + /// resources 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. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [lineItemIds] - Required. The IDs of the line items to list assigned + /// targeting options for. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `lineItemId` (default) * `assignedTargetingOption.targetingType` 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] - 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] - 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 the `BulkListAssignedTargetingOptions` method. If not specified, + /// the first page of results will be returned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [BulkListAssignedTargetingOptionsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future + bulkListAssignedTargetingOptions( + core.String advertiserId, { + core.String? filter, + core.List? lineItemIds, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (lineItemIds != null) 'lineItemIds': lineItemIds, + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/lineItems:bulkListAssignedTargetingOptions'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return BulkListAssignedTargetingOptionsResponse.fromJson( + response_ as core.Map); + } + + /// Updates multiple line items. + /// + /// Requests to this endpoint cannot be made concurrently with the following + /// requests updating the same line item: * BulkEditAssignedTargetingOptions * + /// UpdateLineItem * assignedTargetingOptions.create * + /// assignedTargetingOptions.delete YouTube & Partners line items cannot be + /// created or updated using the API. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser this line item belongs + /// to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [BulkUpdateLineItemsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future bulkUpdate( + BulkUpdateLineItemsRequest request, + core.String advertiserId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/lineItems:bulkUpdate'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return BulkUpdateLineItemsResponse.fromJson( + response_ as core.Map); + } + + /// Creates a new line item. + /// + /// Returns the newly created line item if successful. YouTube & Partners line + /// items cannot be created or updated using the API. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Output only. The unique ID of the advertiser the line + /// item belongs to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [LineItem]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + LineItem request, + core.String advertiserId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v4/advertisers/' + core.Uri.encodeFull('$advertiserId') + '/lineItems'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return LineItem.fromJson(response_ as core.Map); + } + + /// Deletes a line item. + /// + /// Returns error code `NOT_FOUND` if the line item does not exist. The line + /// item should be archived first, i.e. set entity_status to + /// `ENTITY_STATUS_ARCHIVED`, to be able to delete it. YouTube & Partners line + /// items cannot be created or updated using the API. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser this line item belongs to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [lineItemId] - The ID of the line item to delete. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Empty]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String advertiserId, + core.String lineItemId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/lineItems/' + + core.Uri.encodeFull('$lineItemId'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return Empty.fromJson(response_ as core.Map); + } + + /// Duplicates a line item. + /// + /// Returns the ID of the created line item if successful. YouTube & Partners + /// line items cannot be created or updated using the API. **This method + /// regularly experiences high latency.** We recommend \[increasing your + /// default + /// timeout\](/display-video/api/guides/best-practices/timeouts#client_library_timeout) + /// to avoid errors. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser this line item belongs + /// to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [lineItemId] - Required. The ID of the line item to duplicate. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [DuplicateLineItemResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future duplicate( + DuplicateLineItemRequest request, + core.String advertiserId, + core.String lineItemId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/lineItems/' + + core.Uri.encodeFull('$lineItemId') + + ':duplicate'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return DuplicateLineItemResponse.fromJson( + response_ as core.Map); + } + + /// Creates a new line item with settings (including targeting) inherited from + /// the insertion order and an `ENTITY_STATUS_DRAFT` entity_status. + /// + /// Returns the newly created line item if successful. There are default + /// values based on the three fields: * The insertion order's + /// insertion_order_type * The insertion order's automation_type * The given + /// line_item_type YouTube & Partners line items cannot be created or updated + /// using the API. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser this line item belongs + /// to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [LineItem]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future generateDefault( + GenerateDefaultLineItemRequest request, + core.String advertiserId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/lineItems:generateDefault'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return LineItem.fromJson(response_ as core.Map); + } + + /// Gets a line item. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser this line item belongs + /// to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [lineItemId] - Required. The ID of the line item to fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [LineItem]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String advertiserId, + core.String lineItemId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/lineItems/' + + core.Uri.encodeFull('$lineItemId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return LineItem.fromJson(response_ as core.Map); + } + + /// Lists line items in an advertiser. + /// + /// The order is defined by the order_by parameter. If a filter by + /// entity_status is not specified, line items with `ENTITY_STATUS_ARCHIVED` + /// will not be included in the results. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser to list line items + /// for. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [filter] - Allows filtering by line item fields. 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 `updateTime` field must use the + /// `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. + /// * All other fields must use the `EQUALS (=)` operator. Supported fields: * + /// `campaignId` * `displayName` * `entityStatus` * `insertionOrderId` * + /// `lineItemId` * `lineItemType` * `updateTime` (input in ISO 8601 format, or + /// `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All line items under an insertion + /// order: `insertionOrderId="1234"` * All `ENTITY_STATUS_ACTIVE` or + /// `ENTITY_STATUS_PAUSED` and `LINE_ITEM_TYPE_DISPLAY_DEFAULT` line items + /// under an advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR + /// entityStatus="ENTITY_STATUS_PAUSED") AND + /// lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT"` * All line items 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 line items 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. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - 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] - Requested page size. Must be between `1` and `200`. If + /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` + /// if an invalid value is specified. + /// + /// [pageToken] - 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 `ListLineItems` method. If not specified, the first page + /// of results will be returned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListLineItemsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String advertiserId, { + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v4/advertisers/' + core.Uri.encodeFull('$advertiserId') + '/lineItems'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListLineItemsResponse.fromJson( + response_ as core.Map); + } + + /// Updates an existing line item. + /// + /// Returns the updated line item if successful. Requests to this endpoint + /// cannot be made concurrently with the following requests updating the same + /// line item: * BulkEditAssignedTargetingOptions * BulkUpdateLineItems * + /// assignedTargetingOptions.create * assignedTargetingOptions.delete YouTube + /// & Partners line items cannot be created or updated using the API. **This + /// method regularly experiences high latency.** We recommend \[increasing + /// your default + /// timeout\](/display-video/api/guides/best-practices/timeouts#client_library_timeout) + /// to avoid errors. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Output only. The unique ID of the advertiser the line + /// item belongs to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [lineItemId] - Output only. The unique ID of the line item. Assigned by + /// the system. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [updateMask] - Required. The mask to control which fields to update. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [LineItem]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + LineItem request, + core.String advertiserId, + core.String lineItemId, { + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/lineItems/' + + core.Uri.encodeFull('$lineItemId'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return LineItem.fromJson(response_ as core.Map); + } +} + +class AdvertisersLineItemsTargetingTypesResource { + final commons.ApiRequester _requester; + + AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsResource + get assignedTargetingOptions => + AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsResource( + _requester); + + AdvertisersLineItemsTargetingTypesResource(commons.ApiRequester client) + : _requester = client; +} + +class AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsResource { + final commons.ApiRequester _requester; + + AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsResource( + commons.ApiRequester client) + : _requester = client; + + /// Assigns a targeting option to a line item. + /// + /// Returns the assigned targeting option if successful. Requests to this + /// endpoint cannot be made concurrently with the following requests updating + /// the same line item: * lineItems.bulkEditAssignedTargetingOptions * + /// lineItems.bulkUpdate * lineItems.patch * + /// DeleteLineItemAssignedTargetingOption YouTube & Partners line items cannot + /// be created or updated using the API. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser the line item belongs + /// to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [lineItemId] - Required. The ID of the line item the assigned targeting + /// option will belong to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [targetingType] - Required. Identifies the type of this assigned targeting + /// option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * + /// `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * + /// `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * + /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * + /// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * + /// `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * + /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * + /// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * + /// `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * + /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * + /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * + /// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * + /// `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * + /// `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * + /// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` + /// Value must have pattern `^\[^/\]+$`. + /// Possible string values are: + /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified + /// or is unknown in this version. + /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related + /// websites or apps). + /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, + /// education or puzzle games). + /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). + /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). + /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period + /// on a specific day. + /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for + /// example, 18-24). + /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified + /// regions on a regional location list. + /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified + /// points of interest on a proximity location list. + /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, + /// female or male). + /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size + /// for video ads. + /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content + /// for video ads. + /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental + /// status (for example, parent or not a parent). + /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads + /// in a specific content instream position (for example, pre-roll, mid-roll, + /// or post-roll). + /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific + /// content outstream position. + /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for + /// example, tablet or connected TV). + /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of + /// audiences. Singleton field, at most one can exist on a single Lineitem at + /// a time. + /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for + /// example, Chrome). + /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household + /// income range (for example, top 10%). + /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen + /// position. + /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third + /// party verification (for example, IAS or DoubleVerify). + /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by + /// specific digital content label ratings (for example, DL-MA: suitable only + /// for mature audiences). + /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content + /// by sensitive categories (for example, adult). + /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for + /// example, web or app). + /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network + /// carrier or internet service provider (ISP) (for example, Comcast or + /// Orange). + /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating + /// system (for example, macOS). + /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device + /// make or model (for example, Roku or Samsung). + /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for + /// example, dog or retriever). + /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific + /// negative keyword list. + /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for + /// example, 80% viewable). + /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category + /// (for example, arts & entertainment). + /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific + /// deals and auction packages. + /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for + /// example, English or Japanese). + /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt + /// authorized sellers. If no targeting option of this type is assigned, the + /// resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location + /// (for example, a city or state). + /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a + /// group of deals and auction packages. + /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific + /// exchanges. + /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific + /// sub-exchanges. + /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, + /// such as a notable building, a street address, or latitude/longitude + /// coordinates. + /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a + /// business chain within a specific geo region. + /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video + /// content duration. + /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video + /// content stream type. + /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific + /// native content position. + /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled + /// inventory. + /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio + /// content type. + /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. + /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. + /// Targeting of this type cannot be created or updated using the API. + /// Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube + /// channel. Targeting of this type cannot be created or updated using the + /// API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a + /// certain position of a session. Only supported for Ad Group resources under + /// YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [AssignedTargetingOption]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + AssignedTargetingOption request, + core.String advertiserId, + core.String lineItemId, + core.String targetingType, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/lineItems/' + + core.Uri.encodeFull('$lineItemId') + + '/targetingTypes/' + + core.Uri.encodeFull('$targetingType') + + '/assignedTargetingOptions'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return AssignedTargetingOption.fromJson( + response_ as core.Map); + } + + /// Deletes an assigned targeting option from a line item. + /// + /// Requests to this endpoint cannot be made concurrently with the following + /// requests updating the same line item: * + /// lineItems.bulkEditAssignedTargetingOptions * lineItems.bulkUpdate * + /// lineItems.patch * CreateLineItemAssignedTargetingOption YouTube & Partners + /// line items cannot be created or updated using the API. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser the line item belongs + /// to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [lineItemId] - Required. The ID of the line item the assigned targeting + /// option belongs to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [targetingType] - Required. Identifies the type of this assigned targeting + /// option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * + /// `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * + /// `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * + /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * + /// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * + /// `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * + /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * + /// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * + /// `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * + /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * + /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * + /// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * + /// `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * + /// `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * + /// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` + /// Value must have pattern `^\[^/\]+$`. + /// Possible string values are: + /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified + /// or is unknown in this version. + /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related + /// websites or apps). + /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, + /// education or puzzle games). + /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). + /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). + /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period + /// on a specific day. + /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for + /// example, 18-24). + /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified + /// regions on a regional location list. + /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified + /// points of interest on a proximity location list. + /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, + /// female or male). + /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size + /// for video ads. + /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content + /// for video ads. + /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental + /// status (for example, parent or not a parent). + /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads + /// in a specific content instream position (for example, pre-roll, mid-roll, + /// or post-roll). + /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific + /// content outstream position. + /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for + /// example, tablet or connected TV). + /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of + /// audiences. Singleton field, at most one can exist on a single Lineitem at + /// a time. + /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for + /// example, Chrome). + /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household + /// income range (for example, top 10%). + /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen + /// position. + /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third + /// party verification (for example, IAS or DoubleVerify). + /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by + /// specific digital content label ratings (for example, DL-MA: suitable only + /// for mature audiences). + /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content + /// by sensitive categories (for example, adult). + /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for + /// example, web or app). + /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network + /// carrier or internet service provider (ISP) (for example, Comcast or + /// Orange). + /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating + /// system (for example, macOS). + /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device + /// make or model (for example, Roku or Samsung). + /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for + /// example, dog or retriever). + /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific + /// negative keyword list. + /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for + /// example, 80% viewable). + /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category + /// (for example, arts & entertainment). + /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific + /// deals and auction packages. + /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for + /// example, English or Japanese). + /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt + /// authorized sellers. If no targeting option of this type is assigned, the + /// resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location + /// (for example, a city or state). + /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a + /// group of deals and auction packages. + /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific + /// exchanges. + /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific + /// sub-exchanges. + /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, + /// such as a notable building, a street address, or latitude/longitude + /// coordinates. + /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a + /// business chain within a specific geo region. + /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video + /// content duration. + /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video + /// content stream type. + /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific + /// native content position. + /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled + /// inventory. + /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio + /// content type. + /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. + /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. + /// Targeting of this type cannot be created or updated using the API. + /// Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube + /// channel. Targeting of this type cannot be created or updated using the + /// API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a + /// certain position of a session. Only supported for Ad Group resources under + /// YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + /// [assignedTargetingOptionId] - Required. The ID of the assigned targeting + /// option to delete. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Empty]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String advertiserId, + core.String lineItemId, + core.String targetingType, + core.String assignedTargetingOptionId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/lineItems/' + + core.Uri.encodeFull('$lineItemId') + + '/targetingTypes/' + + core.Uri.encodeFull('$targetingType') + + '/assignedTargetingOptions/' + + core.Uri.encodeFull('$assignedTargetingOptionId'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return Empty.fromJson(response_ as core.Map); + } + + /// Gets a single targeting option assigned to a line item. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser the line item belongs + /// to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [lineItemId] - Required. The ID of the line item the assigned targeting + /// option belongs to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [targetingType] - Required. Identifies the type of this assigned targeting + /// option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * + /// `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * + /// `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * + /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * + /// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * + /// `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * + /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * + /// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * + /// `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * + /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * + /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * + /// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * + /// `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * + /// `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * + /// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` * + /// `TARGETING_TYPE_YOUTUBE_CHANNEL` (only for + /// `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) * + /// `TARGETING_TYPE_YOUTUBE_VIDEO` (only for + /// `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) + /// Value must have pattern `^\[^/\]+$`. + /// Possible string values are: + /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified + /// or is unknown in this version. + /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related + /// websites or apps). + /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, + /// education or puzzle games). + /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). + /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). + /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period + /// on a specific day. + /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for + /// example, 18-24). + /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified + /// regions on a regional location list. + /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified + /// points of interest on a proximity location list. + /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, + /// female or male). + /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size + /// for video ads. + /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content + /// for video ads. + /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental + /// status (for example, parent or not a parent). + /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads + /// in a specific content instream position (for example, pre-roll, mid-roll, + /// or post-roll). + /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific + /// content outstream position. + /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for + /// example, tablet or connected TV). + /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of + /// audiences. Singleton field, at most one can exist on a single Lineitem at + /// a time. + /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for + /// example, Chrome). + /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household + /// income range (for example, top 10%). + /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen + /// position. + /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third + /// party verification (for example, IAS or DoubleVerify). + /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by + /// specific digital content label ratings (for example, DL-MA: suitable only + /// for mature audiences). + /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content + /// by sensitive categories (for example, adult). + /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for + /// example, web or app). + /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network + /// carrier or internet service provider (ISP) (for example, Comcast or + /// Orange). + /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating + /// system (for example, macOS). + /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device + /// make or model (for example, Roku or Samsung). + /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for + /// example, dog or retriever). + /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific + /// negative keyword list. + /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for + /// example, 80% viewable). + /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category + /// (for example, arts & entertainment). + /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific + /// deals and auction packages. + /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for + /// example, English or Japanese). + /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt + /// authorized sellers. If no targeting option of this type is assigned, the + /// resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location + /// (for example, a city or state). + /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a + /// group of deals and auction packages. + /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific + /// exchanges. + /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific + /// sub-exchanges. + /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, + /// such as a notable building, a street address, or latitude/longitude + /// coordinates. + /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a + /// business chain within a specific geo region. + /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video + /// content duration. + /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video + /// content stream type. + /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific + /// native content position. + /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled + /// inventory. + /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio + /// content type. + /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. + /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. + /// Targeting of this type cannot be created or updated using the API. + /// Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube + /// channel. Targeting of this type cannot be created or updated using the + /// API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a + /// certain position of a session. Only supported for Ad Group resources under + /// YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + /// [assignedTargetingOptionId] - Required. An identifier unique to the + /// targeting type in this line item that identifies the assigned targeting + /// option being requested. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [AssignedTargetingOption]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String advertiserId, + core.String lineItemId, + core.String targetingType, + core.String assignedTargetingOptionId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/lineItems/' + + core.Uri.encodeFull('$lineItemId') + + '/targetingTypes/' + + core.Uri.encodeFull('$targetingType') + + '/assignedTargetingOptions/' + + core.Uri.encodeFull('$assignedTargetingOptionId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return AssignedTargetingOption.fromJson( + response_ as core.Map); + } + + /// Lists the targeting options assigned to a line item. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser the line item belongs + /// to. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [lineItemId] - Required. The ID of the line item to list assigned + /// targeting options for. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [targetingType] - Required. Identifies the type of assigned targeting + /// options to list. Supported targeting types include: * + /// `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * + /// `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * + /// `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * + /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * + /// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * + /// `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * + /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * + /// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * + /// `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * + /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * + /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * + /// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * + /// `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * + /// `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * + /// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` * + /// `TARGETING_TYPE_YOUTUBE_CHANNEL` (only for + /// `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) * + /// `TARGETING_TYPE_YOUTUBE_VIDEO` (only for + /// `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) + /// Value must have pattern `^\[^/\]+$`. + /// Possible string values are: + /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified + /// or is unknown in this version. + /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related + /// websites or apps). + /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, + /// education or puzzle games). + /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). + /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). + /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period + /// on a specific day. + /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for + /// example, 18-24). + /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified + /// regions on a regional location list. + /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified + /// points of interest on a proximity location list. + /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, + /// female or male). + /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size + /// for video ads. + /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content + /// for video ads. + /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental + /// status (for example, parent or not a parent). + /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads + /// in a specific content instream position (for example, pre-roll, mid-roll, + /// or post-roll). + /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific + /// content outstream position. + /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for + /// example, tablet or connected TV). + /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of + /// audiences. Singleton field, at most one can exist on a single Lineitem at + /// a time. + /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for + /// example, Chrome). + /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household + /// income range (for example, top 10%). + /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen + /// position. + /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third + /// party verification (for example, IAS or DoubleVerify). + /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by + /// specific digital content label ratings (for example, DL-MA: suitable only + /// for mature audiences). + /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content + /// by sensitive categories (for example, adult). + /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for + /// example, web or app). + /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network + /// carrier or internet service provider (ISP) (for example, Comcast or + /// Orange). + /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating + /// system (for example, macOS). + /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device + /// make or model (for example, Roku or Samsung). + /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for + /// example, dog or retriever). + /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific + /// negative keyword list. + /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for + /// example, 80% viewable). + /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category + /// (for example, arts & entertainment). + /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific + /// deals and auction packages. + /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for + /// example, English or Japanese). + /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt + /// authorized sellers. If no targeting option of this type is assigned, the + /// resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location + /// (for example, a city or state). + /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a + /// group of deals and auction packages. + /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific + /// exchanges. + /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific + /// sub-exchanges. + /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, + /// such as a notable building, a street address, or latitude/longitude + /// coordinates. + /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a + /// business chain within a specific geo region. + /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video + /// content duration. + /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video + /// content stream type. + /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific + /// native content position. + /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled + /// inventory. + /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio + /// content type. + /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. + /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. + /// Targeting of this type cannot be created or updated using the API. + /// Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube + /// channel. Targeting of this type cannot be created or updated using the + /// API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a + /// certain position of a session. Only supported for Ad Group resources under + /// YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + /// [filter] - Allows filtering by assigned targeting option fields. Supported + /// syntax: * Filter expressions are made up of one or more restrictions. * + /// Restrictions can be combined by the logical operator `OR`. * A restriction + /// has the form of `{field} {operator} {value}`. * All fields must use the + /// `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * + /// `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or + /// 2: `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2"` * + /// `AssignedTargetingOption` resources 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. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `assignedTargetingOptionId` (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: `assignedTargetingOptionId desc`. + /// + /// [pageSize] - Requested page size. Must be between `1` and `5000`. If + /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` + /// if an invalid value is specified. + /// + /// [pageToken] - 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 `ListLineItemAssignedTargetingOptions` method. If not + /// specified, the first page of results will be returned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListLineItemAssignedTargetingOptionsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String advertiserId, + core.String lineItemId, + core.String targetingType, { + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/lineItems/' + + core.Uri.encodeFull('$lineItemId') + + '/targetingTypes/' + + core.Uri.encodeFull('$targetingType') + + '/assignedTargetingOptions'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListLineItemAssignedTargetingOptionsResponse.fromJson( + response_ as core.Map); + } +} + +class AdvertisersLocationListsResource { + final commons.ApiRequester _requester; + + AdvertisersLocationListsAssignedLocationsResource get assignedLocations => + AdvertisersLocationListsAssignedLocationsResource(_requester); + + AdvertisersLocationListsResource(commons.ApiRequester client) + : _requester = client; + + /// Creates a new location list. + /// + /// Returns the newly created location list if successful. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the DV360 advertiser to which the + /// location list belongs. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [LocationList]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + LocationList request, + core.String advertiserId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/locationLists'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return LocationList.fromJson( + response_ as core.Map); + } + + /// Gets a location list. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the DV360 advertiser to which the + /// fetched location list belongs. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [locationListId] - Required. The ID of the location list to fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [LocationList]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String advertiserId, + core.String locationListId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/locationLists/' + + core.Uri.encodeFull('$locationListId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return LocationList.fromJson( + response_ as core.Map); + } + + /// Lists location lists based on a given advertiser id. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the DV360 advertiser to which the + /// fetched location lists belong. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [filter] - Allows filtering by location list fields. 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}`. * All fields must use the `EQUALS (=)` + /// operator. Supported fields: * `locationType` Examples: * All regional + /// location list: `locationType="TARGETING_LOCATION_TYPE_REGIONAL"` * All + /// proximity location list: + /// `locationType="TARGETING_LOCATION_TYPE_PROXIMITY"` The length of this + /// field should be no more than 500 characters. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `locationListId` (default) * `displayName` 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] - Requested page size. Must be between `1` and `200`. Defaults + /// to `100` if not set. Returns error code `INVALID_ARGUMENT` if an invalid + /// value is specified. + /// + /// [pageToken] - 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 `ListLocationLists` method. If not specified, the first + /// page of results will be returned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListLocationListsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String advertiserId, { + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/locationLists'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListLocationListsResponse.fromJson( + response_ as core.Map); + } + + /// Updates a location list. + /// + /// Returns the updated location list if successful. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the DV360 advertiser to which the + /// location lists belongs. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [locationListId] - Output only. The unique ID of the location list. + /// Assigned by the system. + /// + /// [updateMask] - Required. The mask to control which fields to update. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [LocationList]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + LocationList request, + core.String advertiserId, + core.String locationListId, { + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/locationLists/' + + commons.escapeVariable('$locationListId'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return LocationList.fromJson( + response_ as core.Map); + } +} + +class AdvertisersLocationListsAssignedLocationsResource { + final commons.ApiRequester _requester; + + AdvertisersLocationListsAssignedLocationsResource(commons.ApiRequester client) + : _requester = client; + + /// Bulk edits multiple assignments between locations and a single location + /// list. + /// + /// The operation will delete the assigned locations provided in + /// deletedAssignedLocations and then create the assigned locations provided + /// in createdAssignedLocations. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the DV360 advertiser to which the + /// location list belongs. + /// + /// [locationListId] - Required. The ID of the location list to which these + /// assignments are assigned. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [BulkEditAssignedLocationsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future bulkEdit( + BulkEditAssignedLocationsRequest request, + core.String advertiserId, + core.String locationListId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + commons.escapeVariable('$advertiserId') + + '/locationLists/' + + core.Uri.encodeFull('$locationListId') + + '/assignedLocations:bulkEdit'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return BulkEditAssignedLocationsResponse.fromJson( + response_ as core.Map); + } + + /// Creates an assignment between a location and a location list. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the DV360 advertiser to which the + /// location list belongs. + /// + /// [locationListId] - Required. The ID of the location list for which the + /// assignment will be created. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [AssignedLocation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + AssignedLocation request, + core.String advertiserId, + core.String locationListId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + commons.escapeVariable('$advertiserId') + + '/locationLists/' + + commons.escapeVariable('$locationListId') + + '/assignedLocations'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return AssignedLocation.fromJson( + response_ as core.Map); + } + + /// Deletes the assignment between a location and a location list. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the DV360 advertiser to which the + /// location list belongs. + /// + /// [locationListId] - Required. The ID of the location list to which this + /// assignment is assigned. + /// + /// [assignedLocationId] - Required. The ID of the assigned location to + /// delete. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Empty]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String advertiserId, + core.String locationListId, + core.String assignedLocationId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + commons.escapeVariable('$advertiserId') + + '/locationLists/' + + commons.escapeVariable('$locationListId') + + '/assignedLocations/' + + core.Uri.encodeFull('$assignedLocationId'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return Empty.fromJson(response_ as core.Map); + } + + /// Lists locations assigned to a location list. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the DV360 advertiser to which the + /// location list belongs. + /// + /// [locationListId] - Required. The ID of the location list to which these + /// assignments are assigned. + /// + /// [filter] - Allows filtering by location list assignment fields. Supported + /// syntax: * Filter expressions are made up of one or more restrictions. * + /// Restrictions can be combined by the `OR` logical operator. * A restriction + /// has the form of `{field} {operator} {value}`. * All fields must use the + /// `EQUALS (=)` operator. Supported fields: * `assignedLocationId` The length + /// of this field should be no more than 500 characters. Reference our + /// \[filter `LIST` requests\](/display-video/api/guides/how-tos/filters) + /// guide for more information. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `assignedLocationId` (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: `assignedLocationId desc`. + /// + /// [pageSize] - Requested page size. Must be between `1` and `200`. If + /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` + /// if an invalid value is specified. + /// + /// [pageToken] - 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 `ListAssignedLocations` method. If not specified, the + /// first page of results will be returned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListAssignedLocationsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String advertiserId, + core.String locationListId, { + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + commons.escapeVariable('$advertiserId') + + '/locationLists/' + + commons.escapeVariable('$locationListId') + + '/assignedLocations'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListAssignedLocationsResponse.fromJson( + response_ as core.Map); + } +} + +class AdvertisersNegativeKeywordListsResource { + final commons.ApiRequester _requester; + + AdvertisersNegativeKeywordListsNegativeKeywordsResource + get negativeKeywords => + AdvertisersNegativeKeywordListsNegativeKeywordsResource(_requester); + + AdvertisersNegativeKeywordListsResource(commons.ApiRequester client) + : _requester = client; + + /// Creates a new negative keyword list. + /// + /// Returns the newly created negative keyword list if successful. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the DV360 advertiser to which the + /// negative keyword list will belong. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [NegativeKeywordList]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + NegativeKeywordList request, + core.String advertiserId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/negativeKeywordLists'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return NegativeKeywordList.fromJson( + response_ as core.Map); + } + + /// Deletes a negative keyword list given an advertiser ID and a negative + /// keyword list ID. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the DV360 advertiser to which the + /// negative keyword list belongs. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [negativeKeywordListId] - Required. The ID of the negative keyword list to + /// delete. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Empty]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String advertiserId, + core.String negativeKeywordListId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/negativeKeywordLists/' + + core.Uri.encodeFull('$negativeKeywordListId'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return Empty.fromJson(response_ as core.Map); + } + + /// Gets a negative keyword list given an advertiser ID and a negative keyword + /// list ID. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the DV360 advertiser to which the + /// fetched negative keyword list belongs. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [negativeKeywordListId] - Required. The ID of the negative keyword list to + /// fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [NegativeKeywordList]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String advertiserId, + core.String negativeKeywordListId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/negativeKeywordLists/' + + core.Uri.encodeFull('$negativeKeywordListId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return NegativeKeywordList.fromJson( + response_ as core.Map); + } + + /// Lists negative keyword lists based on a given advertiser id. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the DV360 advertiser to which the + /// fetched negative keyword lists belong. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [pageSize] - Requested page size. Must be between `1` and `200`. Defaults + /// to `100` if not set. Returns error code `INVALID_ARGUMENT` if an invalid + /// value is specified. + /// + /// [pageToken] - 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 `ListNegativeKeywordLists` method. If not specified, the + /// first page of results will be returned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListNegativeKeywordListsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String advertiserId, { + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/negativeKeywordLists'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListNegativeKeywordListsResponse.fromJson( + response_ as core.Map); + } + + /// Updates a negative keyword list. + /// + /// Returns the updated negative keyword list if successful. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the DV360 advertiser to which the + /// negative keyword list belongs. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [negativeKeywordListId] - Output only. The unique ID of the negative + /// keyword list. Assigned by the system. + /// + /// [updateMask] - Required. The mask to control which fields to update. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [NegativeKeywordList]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + NegativeKeywordList request, + core.String advertiserId, + core.String negativeKeywordListId, { + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/negativeKeywordLists/' + + commons.escapeVariable('$negativeKeywordListId'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return NegativeKeywordList.fromJson( + response_ as core.Map); + } +} + +class AdvertisersNegativeKeywordListsNegativeKeywordsResource { + final commons.ApiRequester _requester; + + AdvertisersNegativeKeywordListsNegativeKeywordsResource( + commons.ApiRequester client) + : _requester = client; + + /// Bulk edits negative keywords in a single negative keyword list. + /// + /// The operation will delete the negative keywords provided in + /// BulkEditNegativeKeywordsRequest.deleted_negative_keywords and then create + /// the negative keywords provided in + /// BulkEditNegativeKeywordsRequest.created_negative_keywords. This operation + /// is guaranteed to be atomic and will never result in a partial success or + /// partial failure. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the DV360 advertiser to which the + /// parent negative keyword list belongs. + /// + /// [negativeKeywordListId] - Required. The ID of the parent negative keyword + /// list to which the negative keywords belong. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [BulkEditNegativeKeywordsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future bulkEdit( + BulkEditNegativeKeywordsRequest request, + core.String advertiserId, + core.String negativeKeywordListId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + commons.escapeVariable('$advertiserId') + + '/negativeKeywordLists/' + + core.Uri.encodeFull('$negativeKeywordListId') + + '/negativeKeywords:bulkEdit'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return BulkEditNegativeKeywordsResponse.fromJson( + response_ as core.Map); + } + + /// Creates a negative keyword in a negative keyword list. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the DV360 advertiser to which the + /// parent negative keyword list belongs. + /// + /// [negativeKeywordListId] - Required. The ID of the parent negative keyword + /// list in which the negative keyword will be created. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [NegativeKeyword]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + NegativeKeyword request, + core.String advertiserId, + core.String negativeKeywordListId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + commons.escapeVariable('$advertiserId') + + '/negativeKeywordLists/' + + core.Uri.encodeFull('$negativeKeywordListId') + + '/negativeKeywords'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return NegativeKeyword.fromJson( + response_ as core.Map); + } + + /// Deletes a negative keyword from a negative keyword list. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the DV360 advertiser to which the + /// parent negative keyword list belongs. + /// + /// [negativeKeywordListId] - Required. The ID of the parent negative keyword + /// list to which the negative keyword belongs. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [keywordValue] - Required. The keyword value of the negative keyword to + /// delete. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Empty]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String advertiserId, + core.String negativeKeywordListId, + core.String keywordValue, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + commons.escapeVariable('$advertiserId') + + '/negativeKeywordLists/' + + core.Uri.encodeFull('$negativeKeywordListId') + + '/negativeKeywords/' + + core.Uri.encodeFull('$keywordValue'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return Empty.fromJson(response_ as core.Map); + } + + /// Lists negative keywords in a negative keyword list. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the DV360 advertiser to which the + /// parent negative keyword list belongs. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [negativeKeywordListId] - Required. The ID of the parent negative keyword + /// list to which the requested negative keywords belong. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [filter] - Allows filtering by negative keyword fields. Supported syntax: + /// * Filter expressions for negative keywords can only contain at most one + /// restriction. * A restriction has the form of `{field} {operator} {value}`. + /// * All fields must use the `HAS (:)` operator. Supported fields: * + /// `keywordValue` Examples: * All negative keywords for which the keyword + /// value contains "google": `keywordValue : "google"` The length of this + /// field should be no more than 500 characters. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `keywordValue` (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: `keywordValue desc`. + /// + /// [pageSize] - Requested page size. Must be between `1` and `1000`. If + /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` + /// if an invalid value is specified. + /// + /// [pageToken] - 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 `ListNegativeKeywords` method. If not specified, the + /// first page of results will be returned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListNegativeKeywordsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String advertiserId, + core.String negativeKeywordListId, { + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/negativeKeywordLists/' + + core.Uri.encodeFull('$negativeKeywordListId') + + '/negativeKeywords'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListNegativeKeywordsResponse.fromJson( + response_ as core.Map); + } + + /// Replaces all negative keywords in a single negative keyword list. + /// + /// The operation will replace the keywords in a negative keyword list with + /// keywords provided in ReplaceNegativeKeywordsRequest.new_negative_keywords. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the DV360 advertiser to which the + /// parent negative keyword list belongs. + /// + /// [negativeKeywordListId] - Required. The ID of the parent negative keyword + /// list to which the negative keywords belong. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ReplaceNegativeKeywordsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future replace( + ReplaceNegativeKeywordsRequest request, + core.String advertiserId, + core.String negativeKeywordListId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + commons.escapeVariable('$advertiserId') + + '/negativeKeywordLists/' + + core.Uri.encodeFull('$negativeKeywordListId') + + '/negativeKeywords:replace'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return ReplaceNegativeKeywordsResponse.fromJson( + response_ as core.Map); + } +} + +class AdvertisersTargetingTypesResource { + final commons.ApiRequester _requester; + + AdvertisersTargetingTypesAssignedTargetingOptionsResource + get assignedTargetingOptions => + AdvertisersTargetingTypesAssignedTargetingOptionsResource(_requester); + + AdvertisersTargetingTypesResource(commons.ApiRequester client) + : _requester = client; +} + +class AdvertisersTargetingTypesAssignedTargetingOptionsResource { + final commons.ApiRequester _requester; + + AdvertisersTargetingTypesAssignedTargetingOptionsResource( + commons.ApiRequester client) + : _requester = client; + + /// Assigns a targeting option to an advertiser. + /// + /// Returns the assigned targeting option if successful. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [targetingType] - Required. Identifies the type of this assigned targeting + /// option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD` + /// Value must have pattern `^\[^/\]+$`. + /// Possible string values are: + /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified + /// or is unknown in this version. + /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related + /// websites or apps). + /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, + /// education or puzzle games). + /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). + /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). + /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period + /// on a specific day. + /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for + /// example, 18-24). + /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified + /// regions on a regional location list. + /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified + /// points of interest on a proximity location list. + /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, + /// female or male). + /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size + /// for video ads. + /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content + /// for video ads. + /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental + /// status (for example, parent or not a parent). + /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads + /// in a specific content instream position (for example, pre-roll, mid-roll, + /// or post-roll). + /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific + /// content outstream position. + /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for + /// example, tablet or connected TV). + /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of + /// audiences. Singleton field, at most one can exist on a single Lineitem at + /// a time. + /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for + /// example, Chrome). + /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household + /// income range (for example, top 10%). + /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen + /// position. + /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third + /// party verification (for example, IAS or DoubleVerify). + /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by + /// specific digital content label ratings (for example, DL-MA: suitable only + /// for mature audiences). + /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content + /// by sensitive categories (for example, adult). + /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for + /// example, web or app). + /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network + /// carrier or internet service provider (ISP) (for example, Comcast or + /// Orange). + /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating + /// system (for example, macOS). + /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device + /// make or model (for example, Roku or Samsung). + /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for + /// example, dog or retriever). + /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific + /// negative keyword list. + /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for + /// example, 80% viewable). + /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category + /// (for example, arts & entertainment). + /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific + /// deals and auction packages. + /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for + /// example, English or Japanese). + /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt + /// authorized sellers. If no targeting option of this type is assigned, the + /// resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location + /// (for example, a city or state). + /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a + /// group of deals and auction packages. + /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific + /// exchanges. + /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific + /// sub-exchanges. + /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, + /// such as a notable building, a street address, or latitude/longitude + /// coordinates. + /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a + /// business chain within a specific geo region. + /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video + /// content duration. + /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video + /// content stream type. + /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific + /// native content position. + /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled + /// inventory. + /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio + /// content type. + /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. + /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. + /// Targeting of this type cannot be created or updated using the API. + /// Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube + /// channel. Targeting of this type cannot be created or updated using the + /// API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a + /// certain position of a session. Only supported for Ad Group resources under + /// YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [AssignedTargetingOption]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + AssignedTargetingOption request, + core.String advertiserId, + core.String targetingType, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/targetingTypes/' + + core.Uri.encodeFull('$targetingType') + + '/assignedTargetingOptions'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return AssignedTargetingOption.fromJson( + response_ as core.Map); + } + + /// Deletes an assigned targeting option from an advertiser. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [targetingType] - Required. Identifies the type of this assigned targeting + /// option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD` + /// Value must have pattern `^\[^/\]+$`. + /// Possible string values are: + /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified + /// or is unknown in this version. + /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related + /// websites or apps). + /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, + /// education or puzzle games). + /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). + /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). + /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period + /// on a specific day. + /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for + /// example, 18-24). + /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified + /// regions on a regional location list. + /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified + /// points of interest on a proximity location list. + /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, + /// female or male). + /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size + /// for video ads. + /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content + /// for video ads. + /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental + /// status (for example, parent or not a parent). + /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads + /// in a specific content instream position (for example, pre-roll, mid-roll, + /// or post-roll). + /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific + /// content outstream position. + /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for + /// example, tablet or connected TV). + /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of + /// audiences. Singleton field, at most one can exist on a single Lineitem at + /// a time. + /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for + /// example, Chrome). + /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household + /// income range (for example, top 10%). + /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen + /// position. + /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third + /// party verification (for example, IAS or DoubleVerify). + /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by + /// specific digital content label ratings (for example, DL-MA: suitable only + /// for mature audiences). + /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content + /// by sensitive categories (for example, adult). + /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for + /// example, web or app). + /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network + /// carrier or internet service provider (ISP) (for example, Comcast or + /// Orange). + /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating + /// system (for example, macOS). + /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device + /// make or model (for example, Roku or Samsung). + /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for + /// example, dog or retriever). + /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific + /// negative keyword list. + /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for + /// example, 80% viewable). + /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category + /// (for example, arts & entertainment). + /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific + /// deals and auction packages. + /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for + /// example, English or Japanese). + /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt + /// authorized sellers. If no targeting option of this type is assigned, the + /// resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location + /// (for example, a city or state). + /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a + /// group of deals and auction packages. + /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific + /// exchanges. + /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific + /// sub-exchanges. + /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, + /// such as a notable building, a street address, or latitude/longitude + /// coordinates. + /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a + /// business chain within a specific geo region. + /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video + /// content duration. + /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video + /// content stream type. + /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific + /// native content position. + /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled + /// inventory. + /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio + /// content type. + /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. + /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. + /// Targeting of this type cannot be created or updated using the API. + /// Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube + /// channel. Targeting of this type cannot be created or updated using the + /// API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a + /// certain position of a session. Only supported for Ad Group resources under + /// YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + /// [assignedTargetingOptionId] - Required. The ID of the assigned targeting + /// option to delete. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Empty]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String advertiserId, + core.String targetingType, + core.String assignedTargetingOptionId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/targetingTypes/' + + core.Uri.encodeFull('$targetingType') + + '/assignedTargetingOptions/' + + core.Uri.encodeFull('$assignedTargetingOptionId'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return Empty.fromJson(response_ as core.Map); + } + + /// Gets a single targeting option assigned to an advertiser. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [targetingType] - Required. Identifies the type of this assigned targeting + /// option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * + /// `TARGETING_TYPE_KEYWORD` + /// Value must have pattern `^\[^/\]+$`. + /// Possible string values are: + /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified + /// or is unknown in this version. + /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related + /// websites or apps). + /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, + /// education or puzzle games). + /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). + /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). + /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period + /// on a specific day. + /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for + /// example, 18-24). + /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified + /// regions on a regional location list. + /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified + /// points of interest on a proximity location list. + /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, + /// female or male). + /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size + /// for video ads. + /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content + /// for video ads. + /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental + /// status (for example, parent or not a parent). + /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads + /// in a specific content instream position (for example, pre-roll, mid-roll, + /// or post-roll). + /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific + /// content outstream position. + /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for + /// example, tablet or connected TV). + /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of + /// audiences. Singleton field, at most one can exist on a single Lineitem at + /// a time. + /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for + /// example, Chrome). + /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household + /// income range (for example, top 10%). + /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen + /// position. + /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third + /// party verification (for example, IAS or DoubleVerify). + /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by + /// specific digital content label ratings (for example, DL-MA: suitable only + /// for mature audiences). + /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content + /// by sensitive categories (for example, adult). + /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for + /// example, web or app). + /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network + /// carrier or internet service provider (ISP) (for example, Comcast or + /// Orange). + /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating + /// system (for example, macOS). + /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device + /// make or model (for example, Roku or Samsung). + /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for + /// example, dog or retriever). + /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific + /// negative keyword list. + /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for + /// example, 80% viewable). + /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category + /// (for example, arts & entertainment). + /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific + /// deals and auction packages. + /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for + /// example, English or Japanese). + /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt + /// authorized sellers. If no targeting option of this type is assigned, the + /// resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location + /// (for example, a city or state). + /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a + /// group of deals and auction packages. + /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific + /// exchanges. + /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific + /// sub-exchanges. + /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, + /// such as a notable building, a street address, or latitude/longitude + /// coordinates. + /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a + /// business chain within a specific geo region. + /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video + /// content duration. + /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video + /// content stream type. + /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific + /// native content position. + /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled + /// inventory. + /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio + /// content type. + /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. + /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. + /// Targeting of this type cannot be created or updated using the API. + /// Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube + /// channel. Targeting of this type cannot be created or updated using the + /// API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a + /// certain position of a session. Only supported for Ad Group resources under + /// YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + /// [assignedTargetingOptionId] - Required. An identifier unique to the + /// targeting type in this advertiser that identifies the assigned targeting + /// option being requested. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [AssignedTargetingOption]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String advertiserId, + core.String targetingType, + core.String assignedTargetingOptionId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/targetingTypes/' + + core.Uri.encodeFull('$targetingType') + + '/assignedTargetingOptions/' + + core.Uri.encodeFull('$assignedTargetingOptionId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return AssignedTargetingOption.fromJson( + response_ as core.Map); + } + + /// Lists the targeting options assigned to an advertiser. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [targetingType] - Required. Identifies the type of assigned targeting + /// options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * + /// `TARGETING_TYPE_KEYWORD` + /// Value must have pattern `^\[^/\]+$`. + /// Possible string values are: + /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified + /// or is unknown in this version. + /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related + /// websites or apps). + /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, + /// education or puzzle games). + /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). + /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). + /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period + /// on a specific day. + /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for + /// example, 18-24). + /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified + /// regions on a regional location list. + /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified + /// points of interest on a proximity location list. + /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, + /// female or male). + /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size + /// for video ads. + /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content + /// for video ads. + /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental + /// status (for example, parent or not a parent). + /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads + /// in a specific content instream position (for example, pre-roll, mid-roll, + /// or post-roll). + /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific + /// content outstream position. + /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for + /// example, tablet or connected TV). + /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of + /// audiences. Singleton field, at most one can exist on a single Lineitem at + /// a time. + /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for + /// example, Chrome). + /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household + /// income range (for example, top 10%). + /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen + /// position. + /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third + /// party verification (for example, IAS or DoubleVerify). + /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by + /// specific digital content label ratings (for example, DL-MA: suitable only + /// for mature audiences). + /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content + /// by sensitive categories (for example, adult). + /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for + /// example, web or app). + /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network + /// carrier or internet service provider (ISP) (for example, Comcast or + /// Orange). + /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating + /// system (for example, macOS). + /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device + /// make or model (for example, Roku or Samsung). + /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for + /// example, dog or retriever). + /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific + /// negative keyword list. + /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for + /// example, 80% viewable). + /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category + /// (for example, arts & entertainment). + /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific + /// deals and auction packages. + /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for + /// example, English or Japanese). + /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt + /// authorized sellers. If no targeting option of this type is assigned, the + /// resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location + /// (for example, a city or state). + /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a + /// group of deals and auction packages. + /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific + /// exchanges. + /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific + /// sub-exchanges. + /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, + /// such as a notable building, a street address, or latitude/longitude + /// coordinates. + /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a + /// business chain within a specific geo region. + /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video + /// content duration. + /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video + /// content stream type. + /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific + /// native content position. + /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled + /// inventory. + /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio + /// content type. + /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. + /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. + /// Targeting of this type cannot be created or updated using the API. + /// Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube + /// channel. Targeting of this type cannot be created or updated using the + /// API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a + /// certain position of a session. Only supported for Ad Group resources under + /// YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + /// [filter] - Allows filtering by assigned targeting option fields. Supported + /// syntax: * Filter expressions are made up of one or more restrictions. * + /// Restrictions can be combined by the `OR` logical operator. * A restriction + /// has the form of `{field} {operator} {value}`. * All fields must use the + /// `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` + /// Examples: * `AssignedTargetingOption` with ID 123456: + /// `assignedTargetingOptionId="123456"` The length of this field should be no + /// more than 500 characters. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `assignedTargetingOptionId` (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: `assignedTargetingOptionId desc`. + /// + /// [pageSize] - Requested page size. Must be between `1` and `5000`. If + /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` + /// if an invalid value is specified. + /// + /// [pageToken] - 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 `ListAdvertiserAssignedTargetingOptions` method. If not + /// specified, the first page of results will be returned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListAdvertiserAssignedTargetingOptionsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String advertiserId, + core.String targetingType, { + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/advertisers/' + + core.Uri.encodeFull('$advertiserId') + + '/targetingTypes/' + + core.Uri.encodeFull('$targetingType') + + '/assignedTargetingOptions'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListAdvertiserAssignedTargetingOptionsResponse.fromJson( + response_ as core.Map); + } +} + +class CombinedAudiencesResource { + final commons.ApiRequester _requester; + + CombinedAudiencesResource(commons.ApiRequester client) : _requester = client; + + /// Gets a combined audience. + /// + /// Request parameters: + /// + /// [combinedAudienceId] - Required. The ID of the combined audience to fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that has access to the fetched + /// combined audience. + /// + /// [partnerId] - The ID of the partner that has access to the fetched + /// combined audience. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [CombinedAudience]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String combinedAudienceId, { + core.String? advertiserId, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v4/combinedAudiences/' + core.Uri.encodeFull('$combinedAudienceId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return CombinedAudience.fromJson( + response_ as core.Map); + } + + /// Lists combined audiences. + /// + /// The order is defined by the order_by parameter. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser that has access to the fetched + /// combined audiences. + /// + /// [filter] - Allows filtering by combined audience fields. Supported syntax: + /// * Filter expressions for combined audiences can only contain at most one + /// restriction. * A restriction has the form of `{field} {operator} {value}`. + /// * All fields must use the `HAS (:)` operator. Supported fields: * + /// `displayName` Examples: * All combined audiences for which the display + /// name contains "Google": `displayName : "Google"`. The length of this field + /// should be no more than 500 characters. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `combinedAudienceId` (default) * `displayName` 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] - Requested page size. Must be between `1` and `200`. If + /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` + /// if an invalid value is specified. + /// + /// [pageToken] - 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 `ListCombinedAudiences` method. If not specified, the + /// first page of results will be returned. + /// + /// [partnerId] - The ID of the partner that has access to the fetched + /// combined audiences. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListCombinedAudiencesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list({ + core.String? advertiserId, + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + const url_ = 'v4/combinedAudiences'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListCombinedAudiencesResponse.fromJson( + response_ as core.Map); + } +} + +class CustomBiddingAlgorithmsResource { + final commons.ApiRequester _requester; + + CustomBiddingAlgorithmsRulesResource get rules => + CustomBiddingAlgorithmsRulesResource(_requester); + CustomBiddingAlgorithmsScriptsResource get scripts => + CustomBiddingAlgorithmsScriptsResource(_requester); + + CustomBiddingAlgorithmsResource(commons.ApiRequester client) + : _requester = client; + + /// Creates a new custom bidding algorithm. + /// + /// Returns the newly created custom bidding algorithm if successful. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [CustomBiddingAlgorithm]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + CustomBiddingAlgorithm request, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + const url_ = 'v4/customBiddingAlgorithms'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return CustomBiddingAlgorithm.fromJson( + response_ as core.Map); + } + + /// Gets a custom bidding algorithm. + /// + /// Request parameters: + /// + /// [customBiddingAlgorithmId] - Required. The ID of the custom bidding + /// algorithm to fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the DV360 partner that has access to the custom + /// bidding algorithm. + /// + /// [partnerId] - The ID of the DV360 partner that has access to the custom + /// bidding algorithm. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [CustomBiddingAlgorithm]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String customBiddingAlgorithmId, { + core.String? advertiserId, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/customBiddingAlgorithms/' + + core.Uri.encodeFull('$customBiddingAlgorithmId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return CustomBiddingAlgorithm.fromJson( + response_ as core.Map); + } + + /// Lists custom bidding algorithms that are accessible to the current user + /// and can be used in bidding stratgies. + /// + /// The order is defined by the order_by parameter. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the DV360 advertiser that has access to the + /// custom bidding algorithm. + /// + /// [filter] - Allows filtering by custom bidding algorithm fields. Supported + /// syntax: * Filter expressions are made up of one or more restrictions. * + /// Restrictions can be combined by `AND`. A sequence of restrictions + /// implicitly uses `AND`. * A restriction has the form of `{field} {operator} + /// {value}`. * The `customBiddingAlgorithmType` field must use the `EQUALS + /// (=)` operator. * The `displayName` field must use the `HAS (:)` operator. + /// Supported fields: * `customBiddingAlgorithmType` * `displayName` Examples: + /// * All custom bidding algorithms for which the display name contains + /// "politics": `displayName:"politics"`. * All custom bidding algorithms for + /// which the type is "SCRIPT_BASED": + /// `customBiddingAlgorithmType=SCRIPT_BASED` The length of this field should + /// be no more than 500 characters. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `displayName` (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: `displayName desc`. + /// + /// [pageSize] - Requested page size. Must be between `1` and `200`. If + /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` + /// if an invalid value is specified. + /// + /// [pageToken] - 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 `ListCustomBiddingAlgorithms` method. If not specified, + /// the first page of results will be returned. + /// + /// [partnerId] - The ID of the DV360 partner that has access to the custom + /// bidding algorithm. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListCustomBiddingAlgorithmsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list({ + core.String? advertiserId, + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + const url_ = 'v4/customBiddingAlgorithms'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListCustomBiddingAlgorithmsResponse.fromJson( + response_ as core.Map); + } + + /// Updates an existing custom bidding algorithm. + /// + /// Returns the updated custom bidding algorithm if successful. *Warning*: + /// Starting **April 1, 2025**, requests updating custom bidding algorithms + /// that are assigned to line items will return an error. \[Read more about + /// this announced + /// change\](/display-video/api/deprecations#features.custom_bidding_floodlight). + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [customBiddingAlgorithmId] - Output only. The unique ID of the custom + /// bidding algorithm. Assigned by the system. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [updateMask] - Required. The mask to control which fields to update. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [CustomBiddingAlgorithm]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + CustomBiddingAlgorithm request, + core.String customBiddingAlgorithmId, { + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/customBiddingAlgorithms/' + + core.Uri.encodeFull('$customBiddingAlgorithmId'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return CustomBiddingAlgorithm.fromJson( + response_ as core.Map); + } + + /// Creates a rules reference object for an AlgorithmRules file. + /// + /// The resulting reference object provides a resource path where the + /// AlgorithmRules file should be uploaded. This reference object should be + /// included when creating a new CustomBiddingAlgorithmRules resource. + /// + /// Request parameters: + /// + /// [customBiddingAlgorithmId] - Required. The ID of the custom bidding + /// algorithm that owns the rules resource. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that owns the parent custom + /// bidding algorithm. + /// + /// [partnerId] - The ID of the partner that owns the parent custom bidding + /// algorithm. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [CustomBiddingAlgorithmRulesRef]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future uploadRules( + core.String customBiddingAlgorithmId, { + core.String? advertiserId, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/customBiddingAlgorithms/' + + core.Uri.encodeFull('$customBiddingAlgorithmId') + + ':uploadRules'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return CustomBiddingAlgorithmRulesRef.fromJson( + response_ as core.Map); + } + + /// Creates a custom bidding script reference object for a script file. + /// + /// The resulting reference object provides a resource path to which the + /// script file should be uploaded. This reference object should be included + /// in when creating a new custom bidding script object. + /// + /// Request parameters: + /// + /// [customBiddingAlgorithmId] - Required. The ID of the custom bidding + /// algorithm owns the script. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that owns the parent custom + /// bidding algorithm. + /// + /// [partnerId] - The ID of the partner that owns the parent custom bidding + /// algorithm. Only this partner will have write access to this custom bidding + /// script. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [CustomBiddingScriptRef]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future uploadScript( + core.String customBiddingAlgorithmId, { + core.String? advertiserId, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/customBiddingAlgorithms/' + + core.Uri.encodeFull('$customBiddingAlgorithmId') + + ':uploadScript'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return CustomBiddingScriptRef.fromJson( + response_ as core.Map); + } +} + +class CustomBiddingAlgorithmsRulesResource { + final commons.ApiRequester _requester; + + CustomBiddingAlgorithmsRulesResource(commons.ApiRequester client) + : _requester = client; + + /// Creates a new rules resource. + /// + /// Returns the newly created rules resource if successful. *Warning*: + /// Starting **April 1, 2025**, requests updating custom bidding algorithms + /// that are assigned to line items will return an error. \[Read more about + /// this announced + /// change\](/display-video/api/deprecations#features.custom_bidding_floodlight). + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [customBiddingAlgorithmId] - Required. The ID of the custom bidding + /// algorithm that owns the rules resource. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that owns the parent custom + /// bidding algorithm. + /// + /// [partnerId] - The ID of the partner that owns the parent custom bidding + /// algorithm. Only this partner will have write access to this rules + /// resource. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [CustomBiddingAlgorithmRules]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + CustomBiddingAlgorithmRules request, + core.String customBiddingAlgorithmId, { + core.String? advertiserId, + core.String? partnerId, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/customBiddingAlgorithms/' + + core.Uri.encodeFull('$customBiddingAlgorithmId') + + '/rules'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return CustomBiddingAlgorithmRules.fromJson( + response_ as core.Map); + } + + /// Retrieves a rules resource. + /// + /// Request parameters: + /// + /// [customBiddingAlgorithmId] - Required. The ID of the custom bidding + /// algorithm that owns the rules resource. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [customBiddingAlgorithmRulesId] - Required. The ID of the rules resource + /// to fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that owns the parent custom + /// bidding algorithm. + /// + /// [partnerId] - The ID of the partner that owns the parent custom bidding + /// algorithm. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [CustomBiddingAlgorithmRules]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String customBiddingAlgorithmId, + core.String customBiddingAlgorithmRulesId, { + core.String? advertiserId, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/customBiddingAlgorithms/' + + core.Uri.encodeFull('$customBiddingAlgorithmId') + + '/rules/' + + core.Uri.encodeFull('$customBiddingAlgorithmRulesId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return CustomBiddingAlgorithmRules.fromJson( + response_ as core.Map); + } + + /// Lists rules resources that belong to the given algorithm. + /// + /// The order is defined by the order_by parameter. + /// + /// Request parameters: + /// + /// [customBiddingAlgorithmId] - Required. The ID of the custom bidding + /// algorithm that owns the rules resource. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that owns the parent custom + /// bidding algorithm. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `createTime desc` (default) The default sorting order is descending. To + /// specify ascending order for a field, the suffix "desc" should be removed. + /// Example: `createTime`. + /// + /// [pageSize] - Requested page size. Must be between `1` and `200`. If + /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` + /// if an invalid value is specified. + /// + /// [pageToken] - 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 `ListCustomBiddingAlgorithmRules` method. If not + /// specified, the first page of results will be returned. + /// + /// [partnerId] - The ID of the partner that owns the parent custom bidding + /// algorithm. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListCustomBiddingAlgorithmRulesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String customBiddingAlgorithmId, { + core.String? advertiserId, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/customBiddingAlgorithms/' + + core.Uri.encodeFull('$customBiddingAlgorithmId') + + '/rules'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListCustomBiddingAlgorithmRulesResponse.fromJson( + response_ as core.Map); + } +} + +class CustomBiddingAlgorithmsScriptsResource { + final commons.ApiRequester _requester; + + CustomBiddingAlgorithmsScriptsResource(commons.ApiRequester client) + : _requester = client; + + /// Creates a new custom bidding script. + /// + /// Returns the newly created script if successful. *Warning*: Starting + /// **April 1, 2025**, requests updating custom bidding algorithms that are + /// assigned to line items will return an error. \[Read more about this + /// announced + /// change\](/display-video/api/deprecations#features.custom_bidding_floodlight). + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [customBiddingAlgorithmId] - Required. The ID of the custom bidding + /// algorithm that owns the script. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that owns the parent custom + /// bidding algorithm. + /// + /// [partnerId] - The ID of the partner that owns the parent custom bidding + /// algorithm. Only this partner will have write access to this custom bidding + /// script. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [CustomBiddingScript]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + CustomBiddingScript request, + core.String customBiddingAlgorithmId, { + core.String? advertiserId, + core.String? partnerId, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/customBiddingAlgorithms/' + + core.Uri.encodeFull('$customBiddingAlgorithmId') + + '/scripts'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return CustomBiddingScript.fromJson( + response_ as core.Map); + } + + /// Gets a custom bidding script. + /// + /// Request parameters: + /// + /// [customBiddingAlgorithmId] - Required. The ID of the custom bidding + /// algorithm owns the script. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [customBiddingScriptId] - Required. The ID of the custom bidding script to + /// fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that owns the parent custom + /// bidding algorithm. + /// + /// [partnerId] - The ID of the partner that owns the parent custom bidding + /// algorithm. Only this partner will have write access to this custom bidding + /// script. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [CustomBiddingScript]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String customBiddingAlgorithmId, + core.String customBiddingScriptId, { + core.String? advertiserId, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/customBiddingAlgorithms/' + + core.Uri.encodeFull('$customBiddingAlgorithmId') + + '/scripts/' + + core.Uri.encodeFull('$customBiddingScriptId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return CustomBiddingScript.fromJson( + response_ as core.Map); + } + + /// Lists custom bidding scripts that belong to the given algorithm. + /// + /// The order is defined by the order_by parameter. + /// + /// Request parameters: + /// + /// [customBiddingAlgorithmId] - Required. The ID of the custom bidding + /// algorithm owns the script. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that owns the parent custom + /// bidding algorithm. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `createTime desc` (default) The default sorting order is descending. To + /// specify ascending order for a field, the suffix "desc" should be removed. + /// Example: `createTime`. + /// + /// [pageSize] - Requested page size. Must be between `1` and `200`. If + /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` + /// if an invalid value is specified. + /// + /// [pageToken] - 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 `ListCustomBiddingScripts` method. If not specified, the + /// first page of results will be returned. + /// + /// [partnerId] - The ID of the partner that owns the parent custom bidding + /// algorithm. Only this partner will have write access to this custom bidding + /// script. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListCustomBiddingScriptsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String customBiddingAlgorithmId, { + core.String? advertiserId, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/customBiddingAlgorithms/' + + core.Uri.encodeFull('$customBiddingAlgorithmId') + + '/scripts'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListCustomBiddingScriptsResponse.fromJson( + response_ as core.Map); + } +} + +class CustomListsResource { + final commons.ApiRequester _requester; + + CustomListsResource(commons.ApiRequester client) : _requester = client; + + /// Gets a custom list. + /// + /// Request parameters: + /// + /// [customListId] - Required. The ID of the custom list to fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the DV360 advertiser that has access to the + /// fetched custom lists. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [CustomList]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String customListId, { + core.String? advertiserId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/customLists/' + core.Uri.encodeFull('$customListId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return CustomList.fromJson( + response_ as core.Map); + } + + /// Lists custom lists. + /// + /// The order is defined by the order_by parameter. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the DV360 advertiser that has access to the + /// fetched custom lists. + /// + /// [filter] - Allows filtering by custom list fields. Supported syntax: * + /// Filter expressions for custom lists can only contain at most one + /// restriction. * A restriction has the form of `{field} {operator} {value}`. + /// * All fields must use the `HAS (:)` operator. Supported fields: * + /// `displayName` Examples: * All custom lists for which the display name + /// contains "Google": `displayName:"Google"`. The length of this field should + /// be no more than 500 characters. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `customListId` (default) * `displayName` 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] - Requested page size. Must be between `1` and `200`. If + /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` + /// if an invalid value is specified. + /// + /// [pageToken] - 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 `ListCustomLists` method. If not specified, the first + /// page of results will be returned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListCustomListsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list({ + core.String? advertiserId, + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + const url_ = 'v4/customLists'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListCustomListsResponse.fromJson( + response_ as core.Map); + } +} + +class FirstPartyAndPartnerAudiencesResource { + final commons.ApiRequester _requester; + + FirstPartyAndPartnerAudiencesResource(commons.ApiRequester client) + : _requester = client; + + /// Creates a FirstPartyAndPartnerAudience. + /// + /// Only supported for the following audience_type: * + /// `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID` + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - Required. The ID of the advertiser under whom the + /// FirstPartyAndPartnerAudience will be created. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [FirstPartyAndPartnerAudience]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + FirstPartyAndPartnerAudience request, { + core.String? advertiserId, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if ($fields != null) 'fields': [$fields], + }; + + const url_ = 'v4/firstPartyAndPartnerAudiences'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return FirstPartyAndPartnerAudience.fromJson( + response_ as core.Map); + } + + /// Updates the member list of a Customer Match audience. + /// + /// Only supported for the following audience_type: * + /// `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID` + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [firstPartyAndPartnerAudienceId] - Required. The ID of the Customer Match + /// FirstPartyAndPartnerAudience whose members will be edited. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [EditCustomerMatchMembersResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future editCustomerMatchMembers( + EditCustomerMatchMembersRequest request, + core.String firstPartyAndPartnerAudienceId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/firstPartyAndPartnerAudiences/' + + core.Uri.encodeFull('$firstPartyAndPartnerAudienceId') + + ':editCustomerMatchMembers'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return EditCustomerMatchMembersResponse.fromJson( + response_ as core.Map); + } + + /// Gets a first party or partner audience. + /// + /// Request parameters: + /// + /// [firstPartyAndPartnerAudienceId] - Required. The ID of the first party and + /// partner audience to fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that has access to the fetched + /// first party and partner audience. + /// + /// [partnerId] - The ID of the partner that has access to the fetched first + /// party and partner audience. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [FirstPartyAndPartnerAudience]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String firstPartyAndPartnerAudienceId, { + core.String? advertiserId, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/firstPartyAndPartnerAudiences/' + + core.Uri.encodeFull('$firstPartyAndPartnerAudienceId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return FirstPartyAndPartnerAudience.fromJson( + response_ as core.Map); + } + + /// Lists first party and partner audiences. + /// + /// The order is defined by the order_by parameter. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser that has access to the fetched + /// first party and partner audiences. + /// + /// [filter] - Optional. Allows filtering by first party and partner audience + /// fields. Supported syntax: * Filter expressions for first party and partner + /// audiences can only contain at most one restriction. * A restriction has + /// the form of `{field} {operator} {value}`. * All fields must use the `HAS + /// (:)` operator. Supported fields: * `displayName` Examples: * All first + /// party and partner audiences for which the display name contains "Google": + /// `displayName:"Google"`. The length of this field should be no more than + /// 500 characters. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - Optional. Field by which to sort the list. Acceptable values + /// are: * `FirstPartyAndPartnerAudienceId` (default) * `displayName` 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] - Optional. Requested page size. Must be between `1` and + /// `5000`. If unspecified, this value defaults to `5000`. Returns error code + /// `INVALID_ARGUMENT` if an invalid value is specified. + /// + /// [pageToken] - Optional. 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 `ListFirstPartyAndPartnerAudiences` method. If + /// not specified, the first page of results will be returned. + /// + /// [partnerId] - The ID of the partner that has access to the fetched first + /// party and partner audiences. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListFirstPartyAndPartnerAudiencesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list({ + core.String? advertiserId, + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + const url_ = 'v4/firstPartyAndPartnerAudiences'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListFirstPartyAndPartnerAudiencesResponse.fromJson( + response_ as core.Map); + } + + /// Updates an existing FirstPartyAndPartnerAudience. + /// + /// Only supported for the following audience_type: * + /// `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID` + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [firstPartyAndPartnerAudienceId] - Identifier. The unique ID of the first + /// party and partner audience. Assigned by the system. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - Required. The ID of the owner advertiser of the updated + /// FirstPartyAndPartnerAudience. + /// + /// [updateMask] - Required. The mask to control which fields to update. + /// Updates are only supported for the following fields: * `displayName` * + /// `description` * `membershipDurationDays` + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [FirstPartyAndPartnerAudience]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + FirstPartyAndPartnerAudience request, + core.String firstPartyAndPartnerAudienceId, { + core.String? advertiserId, + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/firstPartyAndPartnerAudiences/' + + core.Uri.encodeFull('$firstPartyAndPartnerAudienceId'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return FirstPartyAndPartnerAudience.fromJson( + response_ as core.Map); + } +} + +class FloodlightGroupsResource { + final commons.ApiRequester _requester; + + FloodlightGroupsFloodlightActivitiesResource get floodlightActivities => + FloodlightGroupsFloodlightActivitiesResource(_requester); + + FloodlightGroupsResource(commons.ApiRequester client) : _requester = client; + + /// Gets a Floodlight group. + /// + /// Request parameters: + /// + /// [floodlightGroupId] - Required. The ID of the Floodlight group to fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [partnerId] - Required. The partner context by which the Floodlight group + /// is being accessed. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [FloodlightGroup]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String floodlightGroupId, { + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v4/floodlightGroups/' + core.Uri.encodeFull('$floodlightGroupId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return FloodlightGroup.fromJson( + response_ as core.Map); + } + + /// Updates an existing Floodlight group. + /// + /// Returns the updated Floodlight group if successful. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [floodlightGroupId] - Output only. The unique ID of the Floodlight group. + /// Assigned by the system. + /// + /// [partnerId] - Required. The partner context by which the Floodlight group + /// is being accessed. + /// + /// [updateMask] - Required. The mask to control which fields to update. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [FloodlightGroup]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + FloodlightGroup request, + core.String floodlightGroupId, { + core.String? partnerId, + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (partnerId != null) 'partnerId': [partnerId], + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v4/floodlightGroups/' + commons.escapeVariable('$floodlightGroupId'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return FloodlightGroup.fromJson( + response_ as core.Map); + } +} + +class FloodlightGroupsFloodlightActivitiesResource { + final commons.ApiRequester _requester; + + FloodlightGroupsFloodlightActivitiesResource(commons.ApiRequester client) + : _requester = client; + + /// Gets a Floodlight activity. + /// + /// Request parameters: + /// + /// [floodlightGroupId] - Required. The ID of the parent Floodlight group to + /// which the requested Floodlight activity belongs. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [floodlightActivityId] - Required. The ID of the Floodlight activity to + /// fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [partnerId] - Required. The ID of the partner through which the Floodlight + /// activity is being accessed. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [FloodlightActivity]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String floodlightGroupId, + core.String floodlightActivityId, { + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/floodlightGroups/' + + core.Uri.encodeFull('$floodlightGroupId') + + '/floodlightActivities/' + + core.Uri.encodeFull('$floodlightActivityId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return FloodlightActivity.fromJson( + response_ as core.Map); + } + + /// Lists Floodlight activities in a Floodlight group. + /// + /// Request parameters: + /// + /// [floodlightGroupId] - Required. The ID of the parent Floodlight group to + /// which the requested Floodlight activities belong. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [orderBy] - Optional. Field by which to sort the list. Acceptable values + /// are: * `displayName` (default) * `floodlightActivityId` 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] - Optional. Requested page size. Must be between `1` and `100`. + /// If unspecified will default to `100`. Returns error code + /// `INVALID_ARGUMENT` if an invalid value is specified. + /// + /// [pageToken] - Optional. 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 `ListFloodlightActivities` method. If not + /// specified, the first page of results will be returned. + /// + /// [partnerId] - Required. The ID of the partner through which the Floodlight + /// activities are being accessed. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListFloodlightActivitiesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String floodlightGroupId, { + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/floodlightGroups/' + + core.Uri.encodeFull('$floodlightGroupId') + + '/floodlightActivities'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListFloodlightActivitiesResponse.fromJson( + response_ as core.Map); + } +} + +class GoogleAudiencesResource { + final commons.ApiRequester _requester; + + GoogleAudiencesResource(commons.ApiRequester client) : _requester = client; + + /// Gets a Google audience. + /// + /// Request parameters: + /// + /// [googleAudienceId] - Required. The ID of the Google audience to fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that has access to the fetched + /// Google audience. + /// + /// [partnerId] - The ID of the partner that has access to the fetched Google + /// audience. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleAudience]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String googleAudienceId, { + core.String? advertiserId, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v4/googleAudiences/' + core.Uri.encodeFull('$googleAudienceId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return GoogleAudience.fromJson( + response_ as core.Map); + } + + /// Lists Google audiences. + /// + /// The order is defined by the order_by parameter. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser that has access to the fetched + /// Google audiences. + /// + /// [filter] - Allows filtering by Google audience fields. Supported syntax: * + /// Filter expressions for Google audiences can only contain at most one + /// restriction. * A restriction has the form of `{field} {operator} {value}`. + /// * All fields must use the `HAS (:)` operator. Supported fields: * + /// `displayName` Examples: * All Google audiences for which the display name + /// contains "Google": `displayName:"Google"`. The length of this field should + /// be no more than 500 characters. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `googleAudienceId` (default) * `displayName` 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] - Requested page size. Must be between `1` and `200`. If + /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` + /// if an invalid value is specified. + /// + /// [pageToken] - 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 `ListGoogleAudiences` method. If not specified, the first + /// page of results will be returned. + /// + /// [partnerId] - The ID of the partner that has access to the fetched Google + /// audiences. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListGoogleAudiencesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list({ + core.String? advertiserId, + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + const url_ = 'v4/googleAudiences'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListGoogleAudiencesResponse.fromJson( + response_ as core.Map); + } +} + +class GuaranteedOrdersResource { + final commons.ApiRequester _requester; + + GuaranteedOrdersResource(commons.ApiRequester client) : _requester = client; + + /// Creates a new guaranteed order. + /// + /// Returns the newly created guaranteed order if successful. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser that the request is being made + /// within. + /// + /// [partnerId] - The ID of the partner that the request is being made within. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GuaranteedOrder]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + GuaranteedOrder request, { + core.String? advertiserId, + core.String? partnerId, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + const url_ = 'v4/guaranteedOrders'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return GuaranteedOrder.fromJson( + response_ as core.Map); + } + + /// Edits read advertisers of a guaranteed order. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [guaranteedOrderId] - Required. The ID of the guaranteed order to edit. + /// The ID is of the format `{exchange}-{legacy_guaranteed_order_id}` + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [EditGuaranteedOrderReadAccessorsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future + editGuaranteedOrderReadAccessors( + EditGuaranteedOrderReadAccessorsRequest request, + core.String guaranteedOrderId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/guaranteedOrders/' + + core.Uri.encodeFull('$guaranteedOrderId') + + ':editGuaranteedOrderReadAccessors'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return EditGuaranteedOrderReadAccessorsResponse.fromJson( + response_ as core.Map); + } + + /// Gets a guaranteed order. + /// + /// Request parameters: + /// + /// [guaranteedOrderId] - Required. The ID of the guaranteed order to fetch. + /// The ID is of the format `{exchange}-{legacy_guaranteed_order_id}` + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that has access to the + /// guaranteed order. + /// + /// [partnerId] - The ID of the partner that has access to the guaranteed + /// order. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GuaranteedOrder]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String guaranteedOrderId, { + core.String? advertiserId, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v4/guaranteedOrders/' + core.Uri.encodeFull('$guaranteedOrderId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return GuaranteedOrder.fromJson( + response_ as core.Map); + } + + /// Lists guaranteed orders that are accessible to the current user. + /// + /// The order is defined by the order_by parameter. If a filter by + /// entity_status is not specified, guaranteed orders with entity status + /// `ENTITY_STATUS_ARCHIVED` will not be included in the results. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser that has access to the + /// guaranteed order. + /// + /// [filter] - Allows filtering by guaranteed order fields. * 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}`. * All fields must use the `EQUALS (=)` operator. Supported + /// fields: * `guaranteed_order_id` * `exchange` * `display_name` * + /// `status.entityStatus` Examples: * All active guaranteed orders: + /// `status.entityStatus="ENTITY_STATUS_ACTIVE"` * Guaranteed orders belonging + /// to Google Ad Manager or Rubicon exchanges: + /// `exchange="EXCHANGE_GOOGLE_AD_MANAGER" OR exchange="EXCHANGE_RUBICON"` The + /// length of this field should be no more than 500 characters. Reference our + /// \[filter `LIST` requests\](/display-video/api/guides/how-tos/filters) + /// guide for more information. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `displayName` (default) The default sorting order is ascending. To specify + /// descending order for a field, a suffix "desc" should be added to the field + /// name. For example, `displayName desc`. + /// + /// [pageSize] - Requested page size. Must be between `1` and `200`. If + /// unspecified will default to `100`. + /// + /// [pageToken] - 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 `ListGuaranteedOrders` method. If not specified, the + /// first page of results will be returned. + /// + /// [partnerId] - The ID of the partner that has access to the guaranteed + /// order. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListGuaranteedOrdersResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list({ + core.String? advertiserId, + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + const url_ = 'v4/guaranteedOrders'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListGuaranteedOrdersResponse.fromJson( + response_ as core.Map); + } + + /// Updates an existing guaranteed order. + /// + /// Returns the updated guaranteed order if successful. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [guaranteedOrderId] - Output only. The unique identifier of the guaranteed + /// order. The guaranteed order IDs have the format + /// `{exchange}-{legacy_guaranteed_order_id}`. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that the request is being made + /// within. + /// + /// [partnerId] - The ID of the partner that the request is being made within. + /// + /// [updateMask] - Required. The mask to control which fields to update. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GuaranteedOrder]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + GuaranteedOrder request, + core.String guaranteedOrderId, { + core.String? advertiserId, + core.String? partnerId, + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (partnerId != null) 'partnerId': [partnerId], + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v4/guaranteedOrders/' + core.Uri.encodeFull('$guaranteedOrderId'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return GuaranteedOrder.fromJson( + response_ as core.Map); + } +} + +class InventorySourceGroupsResource { + final commons.ApiRequester _requester; + + InventorySourceGroupsAssignedInventorySourcesResource + get assignedInventorySources => + InventorySourceGroupsAssignedInventorySourcesResource(_requester); + + InventorySourceGroupsResource(commons.ApiRequester client) + : _requester = client; + + /// Creates a new inventory source group. + /// + /// Returns the newly created inventory source group if successful. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser that owns the inventory source + /// group. The parent partner will not have access to this group. + /// + /// [partnerId] - The ID of the partner that owns the inventory source group. + /// Only this partner will have write access to this group. Only advertisers + /// to which this group is explicitly shared will have read access to this + /// group. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [InventorySourceGroup]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + InventorySourceGroup request, { + core.String? advertiserId, + core.String? partnerId, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + const url_ = 'v4/inventorySourceGroups'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return InventorySourceGroup.fromJson( + response_ as core.Map); + } + + /// Deletes an inventory source group. + /// + /// Request parameters: + /// + /// [inventorySourceGroupId] - Required. The ID of the inventory source group + /// to delete. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that owns the inventory source + /// group. The parent partner does not have access to this group. + /// + /// [partnerId] - The ID of the partner that owns the inventory source group. + /// Only this partner has write access to this group. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Empty]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String inventorySourceGroupId, { + core.String? advertiserId, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/inventorySourceGroups/' + + core.Uri.encodeFull('$inventorySourceGroupId'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return Empty.fromJson(response_ as core.Map); + } + + /// Gets an inventory source group. + /// + /// Request parameters: + /// + /// [inventorySourceGroupId] - Required. The ID of the inventory source group + /// to fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that has access to the inventory + /// source group. If an inventory source group is partner-owned, only + /// advertisers to which the group is explicitly shared can access the group. + /// + /// [partnerId] - The ID of the partner that has access to the inventory + /// source group. A partner cannot access an advertiser-owned inventory source + /// group. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [InventorySourceGroup]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String inventorySourceGroupId, { + core.String? advertiserId, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/inventorySourceGroups/' + + core.Uri.encodeFull('$inventorySourceGroupId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return InventorySourceGroup.fromJson( + response_ as core.Map); + } + + /// Lists inventory source groups that are accessible to the current user. + /// + /// The order is defined by the order_by parameter. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser that has access to the inventory + /// source group. If an inventory source group is partner-owned, only + /// advertisers to which the group is explicitly shared can access the group. + /// + /// [filter] - Allows filtering by inventory source group fields. Supported + /// syntax: * Filter expressions are made up of one or more restrictions. * + /// Restrictions can be combined by the logical operator `OR`. * A restriction + /// has the form of `{field} {operator} {value}`. * All fields must use the + /// `EQUALS (=)` operator. Supported fields: * `inventorySourceGroupId` The + /// length of this field should be no more than 500 characters. Reference our + /// \[filter `LIST` requests\](/display-video/api/guides/how-tos/filters) + /// guide for more information. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `displayName` (default) * `inventorySourceGroupId` The default sorting + /// order is ascending. To specify descending order for a field, a suffix + /// "desc" should be added to the field name. For example, `displayName desc`. + /// + /// [pageSize] - Requested page size. Must be between `1` and `200`. If + /// unspecified will default to `100`. + /// + /// [pageToken] - 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 `ListInventorySources` method. If not specified, the + /// first page of results will be returned. + /// + /// [partnerId] - The ID of the partner that has access to the inventory + /// source group. A partner cannot access advertiser-owned inventory source + /// groups. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListInventorySourceGroupsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list({ + core.String? advertiserId, + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + const url_ = 'v4/inventorySourceGroups'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListInventorySourceGroupsResponse.fromJson( + response_ as core.Map); + } + + /// Updates an inventory source group. + /// + /// Returns the updated inventory source group if successful. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [inventorySourceGroupId] - Output only. The unique ID of the inventory + /// source group. Assigned by the system. + /// + /// [advertiserId] - The ID of the advertiser that owns the inventory source + /// group. The parent partner does not have access to this group. + /// + /// [partnerId] - The ID of the partner that owns the inventory source group. + /// Only this partner has write access to this group. + /// + /// [updateMask] - Required. The mask to control which fields to update. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [InventorySourceGroup]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + InventorySourceGroup request, + core.String inventorySourceGroupId, { + core.String? advertiserId, + core.String? partnerId, + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (partnerId != null) 'partnerId': [partnerId], + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/inventorySourceGroups/' + + commons.escapeVariable('$inventorySourceGroupId'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return InventorySourceGroup.fromJson( + response_ as core.Map); + } +} + +class InventorySourceGroupsAssignedInventorySourcesResource { + final commons.ApiRequester _requester; + + InventorySourceGroupsAssignedInventorySourcesResource( + commons.ApiRequester client) + : _requester = client; + + /// Bulk edits multiple assignments between inventory sources and a single + /// inventory source group. + /// + /// The operation will delete the assigned inventory sources provided in + /// BulkEditAssignedInventorySourcesRequest.deleted_assigned_inventory_sources + /// and then create the assigned inventory sources provided in + /// BulkEditAssignedInventorySourcesRequest.created_assigned_inventory_sources. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [inventorySourceGroupId] - Required. The ID of the inventory source group + /// to which the assignments are assigned. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [BulkEditAssignedInventorySourcesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future bulkEdit( + BulkEditAssignedInventorySourcesRequest request, + core.String inventorySourceGroupId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/inventorySourceGroups/' + + core.Uri.encodeFull('$inventorySourceGroupId') + + '/assignedInventorySources:bulkEdit'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return BulkEditAssignedInventorySourcesResponse.fromJson( + response_ as core.Map); + } + + /// Creates an assignment between an inventory source and an inventory source + /// group. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [inventorySourceGroupId] - Required. The ID of the inventory source group + /// to which the assignment will be assigned. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that owns the parent inventory + /// source group. The parent partner will not have access to this assigned + /// inventory source. + /// + /// [partnerId] - The ID of the partner that owns the parent inventory source + /// group. Only this partner will have write access to this assigned inventory + /// source. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [AssignedInventorySource]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + AssignedInventorySource request, + core.String inventorySourceGroupId, { + core.String? advertiserId, + core.String? partnerId, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/inventorySourceGroups/' + + core.Uri.encodeFull('$inventorySourceGroupId') + + '/assignedInventorySources'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return AssignedInventorySource.fromJson( + response_ as core.Map); + } + + /// Deletes the assignment between an inventory source and an inventory source + /// group. + /// + /// Request parameters: + /// + /// [inventorySourceGroupId] - Required. The ID of the inventory source group + /// to which this assignment is assigned. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [assignedInventorySourceId] - Required. The ID of the assigned inventory + /// source to delete. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that owns the parent inventory + /// source group. The parent partner does not have access to this assigned + /// inventory source. + /// + /// [partnerId] - The ID of the partner that owns the parent inventory source + /// group. Only this partner has write access to this assigned inventory + /// source. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Empty]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String inventorySourceGroupId, + core.String assignedInventorySourceId, { + core.String? advertiserId, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/inventorySourceGroups/' + + core.Uri.encodeFull('$inventorySourceGroupId') + + '/assignedInventorySources/' + + core.Uri.encodeFull('$assignedInventorySourceId'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return Empty.fromJson(response_ as core.Map); + } + + /// Lists inventory sources assigned to an inventory source group. + /// + /// Request parameters: + /// + /// [inventorySourceGroupId] - Required. The ID of the inventory source group + /// to which these assignments are assigned. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that has access to the + /// assignment. If the parent inventory source group is partner-owned, only + /// advertisers to which the parent group is explicitly shared can access the + /// assigned inventory source. + /// + /// [filter] - Allows filtering by assigned inventory source fields. Supported + /// syntax: * Filter expressions are made up of one or more restrictions. * + /// Restrictions can be combined by the `OR` logical operator. * A restriction + /// has the form of `{field} {operator} {value}`. * All fields must use the + /// `EQUALS (=)` operator. Supported fields: * `assignedInventorySourceId` The + /// length of this field should be no more than 500 characters. Reference our + /// \[filter `LIST` requests\](/display-video/api/guides/how-tos/filters) + /// guide for more information. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `assignedInventorySourceId` (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: `assignedInventorySourceId + /// desc`. + /// + /// [pageSize] - Requested page size. Must be between `1` and `100`. If + /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` + /// if an invalid value is specified. + /// + /// [pageToken] - 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 `ListAssignedInventorySources` method. If not specified, + /// the first page of results will be returned. + /// + /// [partnerId] - The ID of the partner that has access to the assignment. If + /// the parent inventory source group is advertiser-owned, the assignment + /// cannot be accessed via a partner. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListAssignedInventorySourcesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String inventorySourceGroupId, { + core.String? advertiserId, + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/inventorySourceGroups/' + + core.Uri.encodeFull('$inventorySourceGroupId') + + '/assignedInventorySources'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListAssignedInventorySourcesResponse.fromJson( + response_ as core.Map); + } +} + +class InventorySourcesResource { + final commons.ApiRequester _requester; + + InventorySourcesResource(commons.ApiRequester client) : _requester = client; + + /// Creates a new inventory source. + /// + /// Returns the newly created inventory source if successful. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser that the request is being made + /// within. + /// + /// [partnerId] - The ID of the partner that the request is being made within. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [InventorySource]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + InventorySource request, { + core.String? advertiserId, + core.String? partnerId, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + const url_ = 'v4/inventorySources'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return InventorySource.fromJson( + response_ as core.Map); + } + + /// Edits read/write accessors of an inventory source. + /// + /// Returns the updated read_write_accessors for the inventory source. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [inventorySourceId] - Required. The ID of inventory source to update. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [InventorySourceAccessors]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future editInventorySourceReadWriteAccessors( + EditInventorySourceReadWriteAccessorsRequest request, + core.String inventorySourceId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/inventorySources/' + + core.Uri.encodeFull('$inventorySourceId') + + ':editInventorySourceReadWriteAccessors'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return InventorySourceAccessors.fromJson( + response_ as core.Map); + } + + /// Gets an inventory source. + /// + /// Request parameters: + /// + /// [inventorySourceId] - Required. The ID of the inventory source to fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - Optional. The ID of the DV360 advertiser to which the + /// fetched inventory source is permissioned. If the user only has access to + /// the advertiser and not the parent partner, use this field to specify the + /// relevant advertiser. + /// + /// [partnerId] - Required. The ID of the DV360 partner to which the fetched + /// inventory source is permissioned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [InventorySource]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String inventorySourceId, { + core.String? advertiserId, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v4/inventorySources/' + core.Uri.encodeFull('$inventorySourceId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return InventorySource.fromJson( + response_ as core.Map); + } + + /// Lists inventory sources that are accessible to the current user. + /// + /// The order is defined by the order_by parameter. If a filter by + /// entity_status is not specified, inventory sources with entity status + /// `ENTITY_STATUS_ARCHIVED` will not be included in the results. + /// + /// Request parameters: + /// + /// [advertiserId] - The ID of the advertiser that has access to the inventory + /// source. + /// + /// [filter] - Allows filtering by inventory source fields. 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}`. * All fields must use the `EQUALS + /// (=)` operator. Supported fields: * `status.entityStatus` * `commitment` * + /// `deliveryMethod` * `rateDetails.rateType` * `exchange` Examples: * All + /// active inventory sources: `status.entityStatus="ENTITY_STATUS_ACTIVE"` * + /// Inventory sources belonging to Google Ad Manager or Rubicon exchanges: + /// `exchange="EXCHANGE_GOOGLE_AD_MANAGER" OR exchange="EXCHANGE_RUBICON"` The + /// length of this field should be no more than 500 characters. Reference our + /// \[filter `LIST` requests\](/display-video/api/guides/how-tos/filters) + /// guide for more information. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `displayName` (default) The default sorting order is ascending. To specify + /// descending order for a field, a suffix "desc" should be added to the field + /// name. For example, `displayName desc`. + /// + /// [pageSize] - Requested page size. Must be between `1` and `200`. If + /// unspecified will default to `100`. + /// + /// [pageToken] - 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 `ListInventorySources` method. If not specified, the + /// first page of results will be returned. + /// + /// [partnerId] - The ID of the partner that has access to the inventory + /// source. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListInventorySourcesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list({ + core.String? advertiserId, + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? partnerId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if (partnerId != null) 'partnerId': [partnerId], + if ($fields != null) 'fields': [$fields], + }; + + const url_ = 'v4/inventorySources'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListInventorySourcesResponse.fromJson( + response_ as core.Map); + } + + /// Updates an existing inventory source. + /// + /// Returns the updated inventory source if successful. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [inventorySourceId] - Output only. The unique ID of the inventory source. + /// Assigned by the system. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that the request is being made + /// within. + /// + /// [partnerId] - The ID of the partner that the request is being made within. + /// + /// [updateMask] - Required. The mask to control which fields to update. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [InventorySource]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + InventorySource request, + core.String inventorySourceId, { + core.String? advertiserId, + core.String? partnerId, + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (partnerId != null) 'partnerId': [partnerId], + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v4/inventorySources/' + core.Uri.encodeFull('$inventorySourceId'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return InventorySource.fromJson( + response_ as core.Map); + } +} + +class MediaResource { + final commons.ApiRequester _requester; + + MediaResource(commons.ApiRequester client) : _requester = client; + + /// Downloads media. + /// + /// Download is supported on the URI `/download/{resource_name=**}?alt=media.` + /// **Note**: Download requests will not be successful without including + /// `alt=media` query string. + /// + /// Request parameters: + /// + /// [resourceName] - Name of the media that is being downloaded. See + /// ReadRequest.resource_name. + /// Value must have pattern `^.*$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// [downloadOptions] - Options for downloading. A download can be either a + /// Metadata (default) or Media download. Partial Media downloads are possible + /// as well. + /// + /// Completes with a + /// + /// - [GoogleBytestreamMedia] for Metadata downloads (see [downloadOptions]). + /// + /// - [commons.Media] for Media downloads (see [downloadOptions]). + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future download( + core.String resourceName, { + core.String? $fields, + commons.DownloadOptions downloadOptions = commons.DownloadOptions.metadata, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'download/' + core.Uri.encodeFull('$resourceName'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + downloadOptions: downloadOptions, + ); + if (downloadOptions.isMetadataDownload) { + return GoogleBytestreamMedia.fromJson( + response_ as core.Map); + } else { + return response_ as commons.Media; + } + } + + /// Uploads media. + /// + /// Upload is supported on the URI + /// `/upload/media/{resource_name=**}?upload_type=media.` **Note**: Upload + /// requests will not be successful without including `upload_type=media` + /// query string. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [resourceName] - Name of the media that is being downloaded. See + /// ReadRequest.resource_name. + /// Value must have pattern `^.*$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// [uploadMedia] - The media to upload. + /// + /// Completes with a [GoogleBytestreamMedia]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future upload( + GoogleBytestreamMedia request, + core.String resourceName, { + core.String? $fields, + commons.Media? uploadMedia, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + core.String url_; + if (uploadMedia == null) { + url_ = 'media/' + core.Uri.encodeFull('$resourceName'); + } else { + url_ = '/upload/media/' + core.Uri.encodeFull('$resourceName'); + } + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + uploadMedia: uploadMedia, + uploadOptions: commons.UploadOptions.defaultOptions, + ); + return GoogleBytestreamMedia.fromJson( + response_ as core.Map); + } +} + +class PartnersResource { + final commons.ApiRequester _requester; + + PartnersChannelsResource get channels => PartnersChannelsResource(_requester); + PartnersTargetingTypesResource get targetingTypes => + PartnersTargetingTypesResource(_requester); + + PartnersResource(commons.ApiRequester client) : _requester = client; + + /// Edits targeting options under a single partner. + /// + /// The operation will delete the assigned targeting options provided in + /// BulkEditPartnerAssignedTargetingOptionsRequest.deleteRequests and then + /// create the assigned targeting options provided in + /// BulkEditPartnerAssignedTargetingOptionsRequest.createRequests . + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [partnerId] - Required. The ID of the partner. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [BulkEditPartnerAssignedTargetingOptionsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future + editAssignedTargetingOptions( + BulkEditPartnerAssignedTargetingOptionsRequest request, + core.String partnerId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/partners/' + + core.Uri.encodeFull('$partnerId') + + ':editAssignedTargetingOptions'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return BulkEditPartnerAssignedTargetingOptionsResponse.fromJson( + response_ as core.Map); + } + + /// Gets a partner. + /// + /// Request parameters: + /// + /// [partnerId] - Required. The ID of the partner to fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Partner]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String partnerId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/partners/' + core.Uri.encodeFull('$partnerId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return Partner.fromJson(response_ as core.Map); + } + + /// Lists partners that are accessible to the current user. + /// + /// The order is defined by the order_by parameter. + /// + /// Request parameters: + /// + /// [filter] - Allows filtering by partner fields. 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}`. * All fields must use the `EQUALS (=)` operator. Supported + /// fields: * `entityStatus` Examples: * All active partners: + /// `entityStatus="ENTITY_STATUS_ACTIVE"` The length of this field should be + /// no more than 500 characters. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `displayName` The default sorting order is ascending. To specify + /// descending order for a field, a suffix "desc" should be added to the field + /// name. For example, `displayName desc`. + /// + /// [pageSize] - Requested page size. Must be between `1` and `200`. If + /// unspecified will default to `100`. + /// + /// [pageToken] - 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 `ListPartners` method. If not specified, the first page + /// of results will be returned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListPartnersResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list({ + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + const url_ = 'v4/partners'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListPartnersResponse.fromJson( + response_ as core.Map); + } +} + +class PartnersChannelsResource { + final commons.ApiRequester _requester; + + PartnersChannelsSitesResource get sites => + PartnersChannelsSitesResource(_requester); + + PartnersChannelsResource(commons.ApiRequester client) : _requester = client; + + /// Creates a new channel. + /// + /// Returns the newly created channel if successful. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [partnerId] - The ID of the partner that owns the created channel. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that owns the created channel. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Channel]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + Channel request, + core.String partnerId, { + core.String? advertiserId, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v4/partners/' + core.Uri.encodeFull('$partnerId') + '/channels'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Channel.fromJson(response_ as core.Map); + } + + /// Gets a channel for a partner or advertiser. + /// + /// Request parameters: + /// + /// [partnerId] - The ID of the partner that owns the fetched channel. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [channelId] - Required. The ID of the channel to fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that owns the fetched channel. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Channel]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String partnerId, + core.String channelId, { + core.String? advertiserId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/partners/' + + core.Uri.encodeFull('$partnerId') + + '/channels/' + + core.Uri.encodeFull('$channelId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return Channel.fromJson(response_ as core.Map); + } + + /// Lists channels for a partner or advertiser. + /// + /// Request parameters: + /// + /// [partnerId] - The ID of the partner that owns the channels. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that owns the channels. + /// + /// [filter] - Allows filtering by channel fields. Supported syntax: * Filter + /// expressions for channel can only contain at most one restriction. * A + /// restriction has the form of `{field} {operator} {value}`. * All fields + /// must use the `HAS (:)` operator. Supported fields: * `displayName` + /// Examples: * All channels for which the display name contains "google": + /// `displayName : "google"`. The length of this field should be no more than + /// 500 characters. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `displayName` (default) * `channelId` 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] - Requested page size. Must be between `1` and `200`. If + /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` + /// if an invalid value is specified. + /// + /// [pageToken] - 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 `ListChannels` method. If not specified, the first page + /// of results will be returned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListChannelsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String partnerId, { + core.String? advertiserId, + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v4/partners/' + core.Uri.encodeFull('$partnerId') + '/channels'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListChannelsResponse.fromJson( + response_ as core.Map); + } + + /// Updates a channel. + /// + /// Returns the updated channel if successful. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [partnerId] - The ID of the partner that owns the created channel. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [channelId] - Output only. The unique ID of the channel. Assigned by the + /// system. + /// + /// [advertiserId] - The ID of the advertiser that owns the created channel. + /// + /// [updateMask] - Required. The mask to control which fields to update. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Channel]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + Channel request, + core.String partnerId, + core.String channelId, { + core.String? advertiserId, + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/partners/' + + core.Uri.encodeFull('$partnerId') + + '/channels/' + + commons.escapeVariable('$channelId'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return Channel.fromJson(response_ as core.Map); + } +} + +class PartnersChannelsSitesResource { + final commons.ApiRequester _requester; + + PartnersChannelsSitesResource(commons.ApiRequester client) + : _requester = client; + + /// Bulk edits sites under a single channel. + /// + /// The operation will delete the sites provided in + /// BulkEditSitesRequest.deleted_sites and then create the sites provided in + /// BulkEditSitesRequest.created_sites. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [partnerId] - The ID of the partner that owns the parent channel. + /// + /// [channelId] - Required. The ID of the parent channel to which the sites + /// belong. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [BulkEditSitesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future bulkEdit( + BulkEditSitesRequest request, + core.String partnerId, + core.String channelId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/partners/' + + commons.escapeVariable('$partnerId') + + '/channels/' + + core.Uri.encodeFull('$channelId') + + '/sites:bulkEdit'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return BulkEditSitesResponse.fromJson( + response_ as core.Map); + } + + /// Creates a site in a channel. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [partnerId] - The ID of the partner that owns the parent channel. + /// + /// [channelId] - Required. The ID of the parent channel in which the site + /// will be created. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that owns the parent channel. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Site]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + Site request, + core.String partnerId, + core.String channelId, { + core.String? advertiserId, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/partners/' + + commons.escapeVariable('$partnerId') + + '/channels/' + + core.Uri.encodeFull('$channelId') + + '/sites'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Site.fromJson(response_ as core.Map); + } + + /// Deletes a site from a channel. + /// + /// Request parameters: + /// + /// [partnerId] - The ID of the partner that owns the parent channel. + /// + /// [channelId] - Required. The ID of the parent channel to which the site + /// belongs. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [urlOrAppId] - Required. The URL or app ID of the site to delete. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that owns the parent channel. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Empty]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String partnerId, + core.String channelId, + core.String urlOrAppId, { + core.String? advertiserId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/partners/' + + commons.escapeVariable('$partnerId') + + '/channels/' + + core.Uri.encodeFull('$channelId') + + '/sites/' + + core.Uri.encodeFull('$urlOrAppId'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return Empty.fromJson(response_ as core.Map); + } + + /// Lists sites in a channel. + /// + /// Request parameters: + /// + /// [partnerId] - The ID of the partner that owns the parent channel. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [channelId] - Required. The ID of the parent channel to which the + /// requested sites belong. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - The ID of the advertiser that owns the parent channel. + /// + /// [filter] - Allows filtering by site fields. Supported syntax: * Filter + /// expressions for site retrieval can only contain at most one restriction. * + /// A restriction has the form of `{field} {operator} {value}`. * All fields + /// must use the `HAS (:)` operator. Supported fields: * `urlOrAppId` + /// Examples: * All sites for which the URL or app ID contains "google": + /// `urlOrAppId : "google"` The length of this field should be no more than + /// 500 characters. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `urlOrAppId` (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: `urlOrAppId desc`. + /// + /// [pageSize] - Requested page size. Must be between `1` and `10000`. If + /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` + /// if an invalid value is specified. + /// + /// [pageToken] - 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 `ListSites` method. If not specified, the first page of + /// results will be returned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListSitesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String partnerId, + core.String channelId, { + core.String? advertiserId, + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/partners/' + + core.Uri.encodeFull('$partnerId') + + '/channels/' + + core.Uri.encodeFull('$channelId') + + '/sites'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListSitesResponse.fromJson( + response_ as core.Map); + } + + /// Replaces all of the sites under a single channel. + /// + /// The operation will replace the sites under a channel with the sites + /// provided in ReplaceSitesRequest.new_sites. **This method regularly + /// experiences high latency.** We recommend \[increasing your default + /// timeout\](/display-video/api/guides/best-practices/timeouts#client_library_timeout) + /// to avoid errors. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [partnerId] - The ID of the partner that owns the parent channel. + /// + /// [channelId] - Required. The ID of the parent channel whose sites will be + /// replaced. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ReplaceSitesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future replace( + ReplaceSitesRequest request, + core.String partnerId, + core.String channelId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/partners/' + + commons.escapeVariable('$partnerId') + + '/channels/' + + core.Uri.encodeFull('$channelId') + + '/sites:replace'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return ReplaceSitesResponse.fromJson( + response_ as core.Map); + } +} + +class PartnersTargetingTypesResource { + final commons.ApiRequester _requester; + + PartnersTargetingTypesAssignedTargetingOptionsResource + get assignedTargetingOptions => + PartnersTargetingTypesAssignedTargetingOptionsResource(_requester); + + PartnersTargetingTypesResource(commons.ApiRequester client) + : _requester = client; +} + +class PartnersTargetingTypesAssignedTargetingOptionsResource { + final commons.ApiRequester _requester; + + PartnersTargetingTypesAssignedTargetingOptionsResource( + commons.ApiRequester client) + : _requester = client; + + /// Assigns a targeting option to a partner. + /// + /// Returns the assigned targeting option if successful. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [partnerId] - Required. The ID of the partner. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [targetingType] - Required. Identifies the type of this assigned targeting + /// option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` + /// Value must have pattern `^\[^/\]+$`. + /// Possible string values are: + /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified + /// or is unknown in this version. + /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related + /// websites or apps). + /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, + /// education or puzzle games). + /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). + /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). + /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period + /// on a specific day. + /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for + /// example, 18-24). + /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified + /// regions on a regional location list. + /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified + /// points of interest on a proximity location list. + /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, + /// female or male). + /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size + /// for video ads. + /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content + /// for video ads. + /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental + /// status (for example, parent or not a parent). + /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads + /// in a specific content instream position (for example, pre-roll, mid-roll, + /// or post-roll). + /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific + /// content outstream position. + /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for + /// example, tablet or connected TV). + /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of + /// audiences. Singleton field, at most one can exist on a single Lineitem at + /// a time. + /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for + /// example, Chrome). + /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household + /// income range (for example, top 10%). + /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen + /// position. + /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third + /// party verification (for example, IAS or DoubleVerify). + /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by + /// specific digital content label ratings (for example, DL-MA: suitable only + /// for mature audiences). + /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content + /// by sensitive categories (for example, adult). + /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for + /// example, web or app). + /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network + /// carrier or internet service provider (ISP) (for example, Comcast or + /// Orange). + /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating + /// system (for example, macOS). + /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device + /// make or model (for example, Roku or Samsung). + /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for + /// example, dog or retriever). + /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific + /// negative keyword list. + /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for + /// example, 80% viewable). + /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category + /// (for example, arts & entertainment). + /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific + /// deals and auction packages. + /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for + /// example, English or Japanese). + /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt + /// authorized sellers. If no targeting option of this type is assigned, the + /// resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location + /// (for example, a city or state). + /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a + /// group of deals and auction packages. + /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific + /// exchanges. + /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific + /// sub-exchanges. + /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, + /// such as a notable building, a street address, or latitude/longitude + /// coordinates. + /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a + /// business chain within a specific geo region. + /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video + /// content duration. + /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video + /// content stream type. + /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific + /// native content position. + /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled + /// inventory. + /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio + /// content type. + /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. + /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. + /// Targeting of this type cannot be created or updated using the API. + /// Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube + /// channel. Targeting of this type cannot be created or updated using the + /// API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a + /// certain position of a session. Only supported for Ad Group resources under + /// YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [AssignedTargetingOption]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + AssignedTargetingOption request, + core.String partnerId, + core.String targetingType, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/partners/' + + core.Uri.encodeFull('$partnerId') + + '/targetingTypes/' + + core.Uri.encodeFull('$targetingType') + + '/assignedTargetingOptions'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return AssignedTargetingOption.fromJson( + response_ as core.Map); + } + + /// Deletes an assigned targeting option from a partner. + /// + /// Request parameters: + /// + /// [partnerId] - Required. The ID of the partner. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [targetingType] - Required. Identifies the type of this assigned targeting + /// option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` + /// Value must have pattern `^\[^/\]+$`. + /// Possible string values are: + /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified + /// or is unknown in this version. + /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related + /// websites or apps). + /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, + /// education or puzzle games). + /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). + /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). + /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period + /// on a specific day. + /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for + /// example, 18-24). + /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified + /// regions on a regional location list. + /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified + /// points of interest on a proximity location list. + /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, + /// female or male). + /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size + /// for video ads. + /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content + /// for video ads. + /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental + /// status (for example, parent or not a parent). + /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads + /// in a specific content instream position (for example, pre-roll, mid-roll, + /// or post-roll). + /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific + /// content outstream position. + /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for + /// example, tablet or connected TV). + /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of + /// audiences. Singleton field, at most one can exist on a single Lineitem at + /// a time. + /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for + /// example, Chrome). + /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household + /// income range (for example, top 10%). + /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen + /// position. + /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third + /// party verification (for example, IAS or DoubleVerify). + /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by + /// specific digital content label ratings (for example, DL-MA: suitable only + /// for mature audiences). + /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content + /// by sensitive categories (for example, adult). + /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for + /// example, web or app). + /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network + /// carrier or internet service provider (ISP) (for example, Comcast or + /// Orange). + /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating + /// system (for example, macOS). + /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device + /// make or model (for example, Roku or Samsung). + /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for + /// example, dog or retriever). + /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific + /// negative keyword list. + /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for + /// example, 80% viewable). + /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category + /// (for example, arts & entertainment). + /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific + /// deals and auction packages. + /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for + /// example, English or Japanese). + /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt + /// authorized sellers. If no targeting option of this type is assigned, the + /// resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location + /// (for example, a city or state). + /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a + /// group of deals and auction packages. + /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific + /// exchanges. + /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific + /// sub-exchanges. + /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, + /// such as a notable building, a street address, or latitude/longitude + /// coordinates. + /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a + /// business chain within a specific geo region. + /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video + /// content duration. + /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video + /// content stream type. + /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific + /// native content position. + /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled + /// inventory. + /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio + /// content type. + /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. + /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. + /// Targeting of this type cannot be created or updated using the API. + /// Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube + /// channel. Targeting of this type cannot be created or updated using the + /// API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a + /// certain position of a session. Only supported for Ad Group resources under + /// YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + /// [assignedTargetingOptionId] - Required. The ID of the assigned targeting + /// option to delete. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Empty]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String partnerId, + core.String targetingType, + core.String assignedTargetingOptionId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/partners/' + + core.Uri.encodeFull('$partnerId') + + '/targetingTypes/' + + core.Uri.encodeFull('$targetingType') + + '/assignedTargetingOptions/' + + core.Uri.encodeFull('$assignedTargetingOptionId'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return Empty.fromJson(response_ as core.Map); + } + + /// Gets a single targeting option assigned to a partner. + /// + /// Request parameters: + /// + /// [partnerId] - Required. The ID of the partner. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [targetingType] - Required. Identifies the type of this assigned targeting + /// option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` + /// Value must have pattern `^\[^/\]+$`. + /// Possible string values are: + /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified + /// or is unknown in this version. + /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related + /// websites or apps). + /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, + /// education or puzzle games). + /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). + /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). + /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period + /// on a specific day. + /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for + /// example, 18-24). + /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified + /// regions on a regional location list. + /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified + /// points of interest on a proximity location list. + /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, + /// female or male). + /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size + /// for video ads. + /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content + /// for video ads. + /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental + /// status (for example, parent or not a parent). + /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads + /// in a specific content instream position (for example, pre-roll, mid-roll, + /// or post-roll). + /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific + /// content outstream position. + /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for + /// example, tablet or connected TV). + /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of + /// audiences. Singleton field, at most one can exist on a single Lineitem at + /// a time. + /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for + /// example, Chrome). + /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household + /// income range (for example, top 10%). + /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen + /// position. + /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third + /// party verification (for example, IAS or DoubleVerify). + /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by + /// specific digital content label ratings (for example, DL-MA: suitable only + /// for mature audiences). + /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content + /// by sensitive categories (for example, adult). + /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for + /// example, web or app). + /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network + /// carrier or internet service provider (ISP) (for example, Comcast or + /// Orange). + /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating + /// system (for example, macOS). + /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device + /// make or model (for example, Roku or Samsung). + /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for + /// example, dog or retriever). + /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific + /// negative keyword list. + /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for + /// example, 80% viewable). + /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category + /// (for example, arts & entertainment). + /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific + /// deals and auction packages. + /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for + /// example, English or Japanese). + /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt + /// authorized sellers. If no targeting option of this type is assigned, the + /// resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location + /// (for example, a city or state). + /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a + /// group of deals and auction packages. + /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific + /// exchanges. + /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific + /// sub-exchanges. + /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, + /// such as a notable building, a street address, or latitude/longitude + /// coordinates. + /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a + /// business chain within a specific geo region. + /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video + /// content duration. + /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video + /// content stream type. + /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific + /// native content position. + /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled + /// inventory. + /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio + /// content type. + /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. + /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. + /// Targeting of this type cannot be created or updated using the API. + /// Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube + /// channel. Targeting of this type cannot be created or updated using the + /// API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a + /// certain position of a session. Only supported for Ad Group resources under + /// YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + /// [assignedTargetingOptionId] - Required. An identifier unique to the + /// targeting type in this partner that identifies the assigned targeting + /// option being requested. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [AssignedTargetingOption]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String partnerId, + core.String targetingType, + core.String assignedTargetingOptionId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/partners/' + + core.Uri.encodeFull('$partnerId') + + '/targetingTypes/' + + core.Uri.encodeFull('$targetingType') + + '/assignedTargetingOptions/' + + core.Uri.encodeFull('$assignedTargetingOptionId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return AssignedTargetingOption.fromJson( + response_ as core.Map); + } + + /// Lists the targeting options assigned to a partner. + /// + /// Request parameters: + /// + /// [partnerId] - Required. The ID of the partner. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [targetingType] - Required. Identifies the type of assigned targeting + /// options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL` + /// Value must have pattern `^\[^/\]+$`. + /// Possible string values are: + /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified + /// or is unknown in this version. + /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related + /// websites or apps). + /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, + /// education or puzzle games). + /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). + /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). + /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period + /// on a specific day. + /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for + /// example, 18-24). + /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified + /// regions on a regional location list. + /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified + /// points of interest on a proximity location list. + /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, + /// female or male). + /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size + /// for video ads. + /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content + /// for video ads. + /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental + /// status (for example, parent or not a parent). + /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads + /// in a specific content instream position (for example, pre-roll, mid-roll, + /// or post-roll). + /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific + /// content outstream position. + /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for + /// example, tablet or connected TV). + /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of + /// audiences. Singleton field, at most one can exist on a single Lineitem at + /// a time. + /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for + /// example, Chrome). + /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household + /// income range (for example, top 10%). + /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen + /// position. + /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third + /// party verification (for example, IAS or DoubleVerify). + /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by + /// specific digital content label ratings (for example, DL-MA: suitable only + /// for mature audiences). + /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content + /// by sensitive categories (for example, adult). + /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for + /// example, web or app). + /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network + /// carrier or internet service provider (ISP) (for example, Comcast or + /// Orange). + /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating + /// system (for example, macOS). + /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device + /// make or model (for example, Roku or Samsung). + /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for + /// example, dog or retriever). + /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific + /// negative keyword list. + /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for + /// example, 80% viewable). + /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category + /// (for example, arts & entertainment). + /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific + /// deals and auction packages. + /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for + /// example, English or Japanese). + /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt + /// authorized sellers. If no targeting option of this type is assigned, the + /// resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location + /// (for example, a city or state). + /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a + /// group of deals and auction packages. + /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific + /// exchanges. + /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific + /// sub-exchanges. + /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, + /// such as a notable building, a street address, or latitude/longitude + /// coordinates. + /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a + /// business chain within a specific geo region. + /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video + /// content duration. + /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video + /// content stream type. + /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific + /// native content position. + /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled + /// inventory. + /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio + /// content type. + /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. + /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. + /// Targeting of this type cannot be created or updated using the API. + /// Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube + /// channel. Targeting of this type cannot be created or updated using the + /// API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a + /// certain position of a session. Only supported for Ad Group resources under + /// YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + /// [filter] - Allows filtering by assigned targeting option fields. Supported + /// syntax: * Filter expressions are made up of one or more restrictions. * + /// Restrictions can be combined by the logical operator `OR`. * A restriction + /// has the form of `{field} {operator} {value}`. * All fields must use the + /// `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` + /// Examples: * `AssignedTargetingOption` resource with ID 123456: + /// `assignedTargetingOptionId="123456"` The length of this field should be no + /// more than 500 characters. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `assignedTargetingOptionId` (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: `assignedTargetingOptionId desc`. + /// + /// [pageSize] - Requested page size. Must be between `1` and `200`. If + /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` + /// if an invalid value is specified. + /// + /// [pageToken] - 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 `ListPartnerAssignedTargetingOptions` method. If not + /// specified, the first page of results will be returned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListPartnerAssignedTargetingOptionsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String partnerId, + core.String targetingType, { + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/partners/' + + core.Uri.encodeFull('$partnerId') + + '/targetingTypes/' + + core.Uri.encodeFull('$targetingType') + + '/assignedTargetingOptions'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListPartnerAssignedTargetingOptionsResponse.fromJson( + response_ as core.Map); + } +} + +class SdfdownloadtasksResource { + final commons.ApiRequester _requester; + + SdfdownloadtasksOperationsResource get operations => + SdfdownloadtasksOperationsResource(_requester); + + SdfdownloadtasksResource(commons.ApiRequester client) : _requester = client; + + /// Creates an SDF Download Task. + /// + /// Returns an Operation. An SDF Download Task is a long-running, asynchronous + /// operation. The metadata type of this operation is SdfDownloadTaskMetadata. + /// If the request is successful, the response type of the operation is + /// SdfDownloadTask. The response will not include the download files, which + /// must be retrieved with media.download. The state of operation can be + /// retrieved with sdfdownloadtask.operations.get. Any errors can be found in + /// the error.message. Note that error.details is expected to be empty. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + CreateSdfDownloadTaskRequest request, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + const url_ = 'v4/sdfdownloadtasks'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } +} + +class SdfdownloadtasksOperationsResource { + final commons.ApiRequester _requester; + + SdfdownloadtasksOperationsResource(commons.ApiRequester client) + : _requester = client; + + /// Gets the latest state of an asynchronous SDF download task operation. + /// + /// Clients should poll this method at intervals of 30 seconds. + /// + /// Request parameters: + /// + /// [name] - The name of the operation resource. + /// Value must have pattern `^sdfdownloadtasks/operations/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } +} + +class SdfuploadtasksResource { + final commons.ApiRequester _requester; + + SdfuploadtasksOperationsResource get operations => + SdfuploadtasksOperationsResource(_requester); + + SdfuploadtasksResource(commons.ApiRequester client) : _requester = client; +} + +class SdfuploadtasksOperationsResource { + final commons.ApiRequester _requester; + + SdfuploadtasksOperationsResource(commons.ApiRequester client) + : _requester = client; + + /// Gets the latest state of an asynchronous SDF download task operation. + /// + /// Clients should poll this method at intervals of 30 seconds. + /// + /// Request parameters: + /// + /// [name] - The name of the operation resource. + /// Value must have pattern `^sdfuploadtasks/operations/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } +} + +class TargetingTypesResource { + final commons.ApiRequester _requester; + + TargetingTypesTargetingOptionsResource get targetingOptions => + TargetingTypesTargetingOptionsResource(_requester); + + TargetingTypesResource(commons.ApiRequester client) : _requester = client; +} + +class TargetingTypesTargetingOptionsResource { + final commons.ApiRequester _requester; + + TargetingTypesTargetingOptionsResource(commons.ApiRequester client) + : _requester = client; + + /// Gets a single targeting option. + /// + /// Request parameters: + /// + /// [targetingType] - Required. The type of targeting option to retrieve. + /// Accepted values are: * `TARGETING_TYPE_APP_CATEGORY` * + /// `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_GENDER` * + /// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * + /// `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_PARENTAL_STATUS` + /// * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DEVICE_TYPE` + /// * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * + /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_CARRIER_AND_ISP` * + /// `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * + /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * + /// `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_EXCHANGE` + /// * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` + /// * `TARGETING_TYPE_OMID` + /// Value must have pattern `^\[^/\]+$`. + /// Possible string values are: + /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified + /// or is unknown in this version. + /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related + /// websites or apps). + /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, + /// education or puzzle games). + /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). + /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). + /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period + /// on a specific day. + /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for + /// example, 18-24). + /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified + /// regions on a regional location list. + /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified + /// points of interest on a proximity location list. + /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, + /// female or male). + /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size + /// for video ads. + /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content + /// for video ads. + /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental + /// status (for example, parent or not a parent). + /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads + /// in a specific content instream position (for example, pre-roll, mid-roll, + /// or post-roll). + /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific + /// content outstream position. + /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for + /// example, tablet or connected TV). + /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of + /// audiences. Singleton field, at most one can exist on a single Lineitem at + /// a time. + /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for + /// example, Chrome). + /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household + /// income range (for example, top 10%). + /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen + /// position. + /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third + /// party verification (for example, IAS or DoubleVerify). + /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by + /// specific digital content label ratings (for example, DL-MA: suitable only + /// for mature audiences). + /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content + /// by sensitive categories (for example, adult). + /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for + /// example, web or app). + /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network + /// carrier or internet service provider (ISP) (for example, Comcast or + /// Orange). + /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating + /// system (for example, macOS). + /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device + /// make or model (for example, Roku or Samsung). + /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for + /// example, dog or retriever). + /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific + /// negative keyword list. + /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for + /// example, 80% viewable). + /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category + /// (for example, arts & entertainment). + /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific + /// deals and auction packages. + /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for + /// example, English or Japanese). + /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt + /// authorized sellers. If no targeting option of this type is assigned, the + /// resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location + /// (for example, a city or state). + /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a + /// group of deals and auction packages. + /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific + /// exchanges. + /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific + /// sub-exchanges. + /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, + /// such as a notable building, a street address, or latitude/longitude + /// coordinates. + /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a + /// business chain within a specific geo region. + /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video + /// content duration. + /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video + /// content stream type. + /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific + /// native content position. + /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled + /// inventory. + /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio + /// content type. + /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. + /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. + /// Targeting of this type cannot be created or updated using the API. + /// Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube + /// channel. Targeting of this type cannot be created or updated using the + /// API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a + /// certain position of a session. Only supported for Ad Group resources under + /// YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + /// [targetingOptionId] - Required. The ID of the of targeting option to + /// retrieve. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [advertiserId] - Required. The Advertiser this request is being made in + /// the context of. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [TargetingOption]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String targetingType, + core.String targetingOptionId, { + core.String? advertiserId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/targetingTypes/' + + core.Uri.encodeFull('$targetingType') + + '/targetingOptions/' + + core.Uri.encodeFull('$targetingOptionId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return TargetingOption.fromJson( + response_ as core.Map); + } + + /// Lists targeting options of a given type. + /// + /// Request parameters: + /// + /// [targetingType] - Required. The type of targeting option to be listed. + /// Accepted values are: * `TARGETING_TYPE_APP_CATEGORY` * + /// `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_GENDER` * + /// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * + /// `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_PARENTAL_STATUS` + /// * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DEVICE_TYPE` + /// * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * + /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_CARRIER_AND_ISP` * + /// `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * + /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * + /// `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_EXCHANGE` + /// * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` + /// * `TARGETING_TYPE_OMID` + /// Value must have pattern `^\[^/\]+$`. + /// Possible string values are: + /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified + /// or is unknown in this version. + /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related + /// websites or apps). + /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, + /// education or puzzle games). + /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). + /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). + /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period + /// on a specific day. + /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for + /// example, 18-24). + /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified + /// regions on a regional location list. + /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified + /// points of interest on a proximity location list. + /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, + /// female or male). + /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size + /// for video ads. + /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content + /// for video ads. + /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental + /// status (for example, parent or not a parent). + /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads + /// in a specific content instream position (for example, pre-roll, mid-roll, + /// or post-roll). + /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific + /// content outstream position. + /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for + /// example, tablet or connected TV). + /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of + /// audiences. Singleton field, at most one can exist on a single Lineitem at + /// a time. + /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for + /// example, Chrome). + /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household + /// income range (for example, top 10%). + /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen + /// position. + /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third + /// party verification (for example, IAS or DoubleVerify). + /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by + /// specific digital content label ratings (for example, DL-MA: suitable only + /// for mature audiences). + /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content + /// by sensitive categories (for example, adult). + /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for + /// example, web or app). + /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network + /// carrier or internet service provider (ISP) (for example, Comcast or + /// Orange). + /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating + /// system (for example, macOS). + /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device + /// make or model (for example, Roku or Samsung). + /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for + /// example, dog or retriever). + /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific + /// negative keyword list. + /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for + /// example, 80% viewable). + /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category + /// (for example, arts & entertainment). + /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific + /// deals and auction packages. + /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for + /// example, English or Japanese). + /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt + /// authorized sellers. If no targeting option of this type is assigned, the + /// resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location + /// (for example, a city or state). + /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a + /// group of deals and auction packages. + /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific + /// exchanges. + /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific + /// sub-exchanges. + /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, + /// such as a notable building, a street address, or latitude/longitude + /// coordinates. + /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a + /// business chain within a specific geo region. + /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video + /// content duration. + /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video + /// content stream type. + /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific + /// native content position. + /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled + /// inventory. + /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio + /// content type. + /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. + /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. + /// Targeting of this type cannot be created or updated using the API. + /// Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube + /// channel. Targeting of this type cannot be created or updated using the + /// API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a + /// certain position of a session. Only supported for Ad Group resources under + /// YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + /// [advertiserId] - Required. The Advertiser this request is being made in + /// the context of. + /// + /// [filter] - Allows filtering by targeting option fields. Supported syntax: + /// * Filter expressions are made up of one or more restrictions. * + /// Restrictions can be combined by `OR` logical operators. * A restriction + /// has the form of `{field} {operator} {value}`. * All fields must use the + /// `EQUALS (=)` operator. Supported fields: * `carrierAndIspDetails.type` * + /// `geoRegionDetails.geoRegionType` * `targetingOptionId` Examples: * All + /// `GEO REGION` targeting options that belong to sub type + /// `GEO_REGION_TYPE_COUNTRY` or `GEO_REGION_TYPE_STATE`: + /// `geoRegionDetails.geoRegionType="GEO_REGION_TYPE_COUNTRY" OR + /// geoRegionDetails.geoRegionType="GEO_REGION_TYPE_STATE"` * All `CARRIER AND + /// ISP` targeting options that belong to sub type + /// `CARRIER_AND_ISP_TYPE_CARRIER`: + /// `carrierAndIspDetails.type="CARRIER_AND_ISP_TYPE_CARRIER"` The length of + /// this field should be no more than 500 characters. Reference our \[filter + /// `LIST` requests\](/display-video/api/guides/how-tos/filters) guide for + /// more information. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `targetingOptionId` (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: `targetingOptionId desc`. + /// + /// [pageSize] - Requested page size. Must be between `1` and `200`. If + /// unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` + /// if an invalid value is specified. + /// + /// [pageToken] - 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 `ListTargetingOptions` method. If not specified, the + /// first page of results will be returned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListTargetingOptionsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String targetingType, { + core.String? advertiserId, + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (advertiserId != null) 'advertiserId': [advertiserId], + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/targetingTypes/' + + core.Uri.encodeFull('$targetingType') + + '/targetingOptions'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListTargetingOptionsResponse.fromJson( + response_ as core.Map); + } + + /// Searches for targeting options of a given type based on the given search + /// terms. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [targetingType] - Required. The type of targeting options to retrieve. + /// Accepted values are: * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_POI` + /// * `TARGETING_TYPE_BUSINESS_CHAIN` + /// Value must have pattern `^\[^/\]+$`. + /// Possible string values are: + /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified + /// or is unknown in this version. + /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related + /// websites or apps). + /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, + /// education or puzzle games). + /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). + /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). + /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period + /// on a specific day. + /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for + /// example, 18-24). + /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified + /// regions on a regional location list. + /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified + /// points of interest on a proximity location list. + /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, + /// female or male). + /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size + /// for video ads. + /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content + /// for video ads. + /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental + /// status (for example, parent or not a parent). + /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads + /// in a specific content instream position (for example, pre-roll, mid-roll, + /// or post-roll). + /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific + /// content outstream position. + /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for + /// example, tablet or connected TV). + /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of + /// audiences. Singleton field, at most one can exist on a single Lineitem at + /// a time. + /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for + /// example, Chrome). + /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household + /// income range (for example, top 10%). + /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen + /// position. + /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third + /// party verification (for example, IAS or DoubleVerify). + /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by + /// specific digital content label ratings (for example, DL-MA: suitable only + /// for mature audiences). + /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content + /// by sensitive categories (for example, adult). + /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for + /// example, web or app). + /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network + /// carrier or internet service provider (ISP) (for example, Comcast or + /// Orange). + /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating + /// system (for example, macOS). + /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device + /// make or model (for example, Roku or Samsung). + /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for + /// example, dog or retriever). + /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific + /// negative keyword list. + /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for + /// example, 80% viewable). + /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category + /// (for example, arts & entertainment). + /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific + /// deals and auction packages. + /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for + /// example, English or Japanese). + /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt + /// authorized sellers. If no targeting option of this type is assigned, the + /// resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location + /// (for example, a city or state). + /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a + /// group of deals and auction packages. + /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific + /// exchanges. + /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific + /// sub-exchanges. + /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, + /// such as a notable building, a street address, or latitude/longitude + /// coordinates. + /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a + /// business chain within a specific geo region. + /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video + /// content duration. + /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video + /// content stream type. + /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific + /// native content position. + /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled + /// inventory. + /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio + /// content type. + /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. + /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. + /// Targeting of this type cannot be created or updated using the API. + /// Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube + /// channel. Targeting of this type cannot be created or updated using the + /// API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a + /// certain position of a session. Only supported for Ad Group resources under + /// YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [SearchTargetingOptionsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future search( + SearchTargetingOptionsRequest request, + core.String targetingType, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/targetingTypes/' + + core.Uri.encodeFull('$targetingType') + + '/targetingOptions:search'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return SearchTargetingOptionsResponse.fromJson( + response_ as core.Map); + } +} + +class UsersResource { + final commons.ApiRequester _requester; + + UsersResource(commons.ApiRequester client) : _requester = client; + + /// Bulk edits user roles for a user. + /// + /// The operation will delete the assigned user roles provided in + /// BulkEditAssignedUserRolesRequest.deletedAssignedUserRoles and then assign + /// the user roles provided in + /// BulkEditAssignedUserRolesRequest.createdAssignedUserRoles. This method has + /// unique authentication requirements. Read the prerequisites in our + /// \[Managing Users + /// guide\](/display-video/api/guides/users/overview#prerequisites) before + /// using this method. The "Try this method" feature does not work for this + /// method. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [userId] - Required. The ID of the user to which the assigned user roles + /// belong. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [BulkEditAssignedUserRolesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future bulkEditAssignedUserRoles( + BulkEditAssignedUserRolesRequest request, + core.String userId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/users/' + + core.Uri.encodeFull('$userId') + + ':bulkEditAssignedUserRoles'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return BulkEditAssignedUserRolesResponse.fromJson( + response_ as core.Map); + } + + /// Creates a new user. + /// + /// Returns the newly created user if successful. This method has unique + /// authentication requirements. Read the prerequisites in our \[Managing + /// Users guide\](/display-video/api/guides/users/overview#prerequisites) + /// before using this method. The "Try this method" feature does not work for + /// this method. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [User]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + User request, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + const url_ = 'v4/users'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return User.fromJson(response_ as core.Map); + } + + /// Deletes a user. + /// + /// This method has unique authentication requirements. Read the prerequisites + /// in our \[Managing Users + /// guide\](/display-video/api/guides/users/overview#prerequisites) before + /// using this method. The "Try this method" feature does not work for this + /// method. + /// + /// Request parameters: + /// + /// [userId] - Required. The ID of the user to delete. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Empty]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String userId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/users/' + core.Uri.encodeFull('$userId'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return Empty.fromJson(response_ as core.Map); + } + + /// Gets a user. + /// + /// This method has unique authentication requirements. Read the prerequisites + /// in our \[Managing Users + /// guide\](/display-video/api/guides/users/overview#prerequisites) before + /// using this method. The "Try this method" feature does not work for this + /// method. + /// + /// Request parameters: + /// + /// [userId] - Required. The ID of the user to fetch. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [User]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String userId, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/users/' + core.Uri.encodeFull('$userId'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return User.fromJson(response_ as core.Map); + } + + /// Lists users that are accessible to the current user. + /// + /// If two users have user roles on the same partner or advertiser, they can + /// access each other. This method has unique authentication requirements. + /// Read the prerequisites in our \[Managing Users + /// guide\](/display-video/api/guides/users/overview#prerequisites) before + /// using this method. The "Try this method" feature does not work for this + /// method. + /// + /// Request parameters: + /// + /// [filter] - Allows filtering by user fields. Supported syntax: * Filter + /// expressions are made up of one or more restrictions. * Restrictions can be + /// combined by the logical operator `AND`. * A restriction has the form of + /// `{field} {operator} {value}`. * The `displayName` and `email` fields must + /// use the `HAS (:)` operator. * The `lastLoginTime` field must use either + /// the `LESS THAN OR EQUAL TO (<=)` or `GREATER THAN OR EQUAL TO (>=)` + /// operator. * All other fields must use the `EQUALS (=)` operator. Supported + /// fields: * `assignedUserRole.advertiserId` * `assignedUserRole.entityType`: + /// This is synthetic field of `AssignedUserRole` used for filtering. + /// Identifies the type of entity to which the user role is assigned. Valid + /// values are `Partner` and `Advertiser`. * + /// `assignedUserRole.parentPartnerId`: This is a synthetic field of + /// `AssignedUserRole` used for filtering. Identifies the parent partner of + /// the entity to which the user role is assigned. * + /// `assignedUserRole.partnerId` * `assignedUserRole.userRole` * `displayName` + /// * `email` * `lastLoginTime` (input in ISO 8601 format, or + /// `YYYY-MM-DDTHH:MM:SSZ`) Examples: * The user with `displayName` containing + /// "foo": `displayName:"foo"` * The user with `email` containing "bar": + /// `email:"bar"` * All users with standard user roles: + /// `assignedUserRole.userRole="STANDARD"` * All users with user roles for + /// partner 123: `assignedUserRole.partnerId="123"` * All users with user + /// roles for advertiser 123: `assignedUserRole.advertiserId="123"` * All + /// users with partner level user roles: `entityType="PARTNER"` * All users + /// with user roles for partner 123 and advertisers under partner 123: + /// `parentPartnerId="123"` * All users that last logged in on or after + /// 2023-01-01T00:00:00Z (format of ISO 8601): + /// `lastLoginTime>="2023-01-01T00:00:00Z"` The length of this field should be + /// no more than 500 characters. Reference our \[filter `LIST` + /// requests\](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + /// [orderBy] - Field by which to sort the list. Acceptable values are: * + /// `displayName` (default) The default sorting order is ascending. To specify + /// descending order for a field, a suffix "desc" should be added to the field + /// name. For example, `displayName desc`. + /// + /// [pageSize] - Requested page size. Must be between `1` and `200`. If + /// unspecified will default to `100`. + /// + /// [pageToken] - 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 `ListUsers` method. If not specified, the first page of + /// results will be returned. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListUsersResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list({ + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + const url_ = 'v4/users'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListUsersResponse.fromJson( + response_ as core.Map); + } + + /// Updates an existing user. + /// + /// Returns the updated user if successful. This method has unique + /// authentication requirements. Read the prerequisites in our \[Managing + /// Users guide\](/display-video/api/guides/users/overview#prerequisites) + /// before using this method. The "Try this method" feature does not work for + /// this method. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [userId] - Output only. The unique ID of the user. Assigned by the system. + /// Value must have pattern `^\[^/\]+$`. + /// + /// [updateMask] - Required. The mask to control which fields to update. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [User]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + User request, + core.String userId, { + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v4/users/' + core.Uri.encodeFull('$userId'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return User.fromJson(response_ as core.Map); + } +} + +/// Configuration for custom Active View video viewability metrics. +typedef ActiveViewVideoViewabilityMetricConfig + = $ActiveViewVideoViewabilityMetricConfig; + +/// A single ad group associated with a line item. +class AdGroup { + /// The format of the ads in the ad group. + /// Possible string values are: + /// - "AD_GROUP_FORMAT_UNSPECIFIED" : Format value is not specified or is + /// unknown in this version. + /// - "AD_GROUP_FORMAT_IN_STREAM" : In-stream ads. + /// - "AD_GROUP_FORMAT_VIDEO_DISCOVERY" : In-feed ads. + /// - "AD_GROUP_FORMAT_BUMPER" : Bumper ads. + /// - "AD_GROUP_FORMAT_NON_SKIPPABLE_IN_STREAM" : Non-skippable in-stream ads. + /// - "AD_GROUP_FORMAT_AUDIO" : Non-skippable in-stream audio ads. + /// - "AD_GROUP_FORMAT_RESPONSIVE" : Responsive ads. + /// - "AD_GROUP_FORMAT_REACH" : + /// [Effective reach ad groups](https://support.google.com/displayvideo/answer/9173684), + /// including in-stream and bumper ads. + /// - "AD_GROUP_FORMAT_MASTHEAD" : Masthead Ad that is surfaced on the top + /// slot on the YouTube homepage. + core.String? adGroupFormat; + + /// The unique ID of the ad group. + /// + /// Assigned by the system. + core.String? adGroupId; + + /// The unique ID of the advertiser the ad group belongs to. + core.String? advertiserId; + + /// The bidding strategy used by the ad group. + /// + /// Only the youtubeAndPartnersBid field can be used in the bidding strategy. + BiddingStrategy? bidStrategy; + + /// The display name of the ad group. + /// + /// Must be UTF-8 encoded with a maximum size of 255 bytes. + core.String? displayName; + + /// Controls whether or not the ad group can spend its budget and bid on + /// inventory. + /// + /// If the ad group's parent line item is not active, the ad group can't spend + /// its budget even if its own status is `ENTITY_STATUS_ACTIVE`. + /// Possible string values are: + /// - "ENTITY_STATUS_UNSPECIFIED" : Default value when status is not specified + /// or is unknown in this version. + /// - "ENTITY_STATUS_ACTIVE" : The entity is enabled to bid and spend budget. + /// - "ENTITY_STATUS_ARCHIVED" : The entity is archived. Bidding and budget + /// spending are disabled. An entity can be deleted after archived. Deleted + /// entities cannot be retrieved. + /// - "ENTITY_STATUS_DRAFT" : The entity is under draft. Bidding and budget + /// spending are disabled. + /// - "ENTITY_STATUS_PAUSED" : Bidding and budget spending are paused for the + /// entity. + /// - "ENTITY_STATUS_SCHEDULED_FOR_DELETION" : The entity is scheduled for + /// deletion. + core.String? entityStatus; + + /// The unique ID of the line item that the ad group belongs to. + core.String? lineItemId; + + /// The resource name of the ad group. + core.String? name; + + /// The settings of the product feed in this ad group. + ProductFeedData? productFeedData; + + /// The \[optimized + /// targeting\](//support.google.com/displayvideo/answer/12060859) settings of + /// the ad group. + TargetingExpansionConfig? targetingExpansion; + + AdGroup({ + this.adGroupFormat, + this.adGroupId, + this.advertiserId, + this.bidStrategy, + this.displayName, + this.entityStatus, + this.lineItemId, + this.name, + this.productFeedData, + this.targetingExpansion, + }); + + AdGroup.fromJson(core.Map json_) + : this( + adGroupFormat: json_['adGroupFormat'] as core.String?, + adGroupId: json_['adGroupId'] as core.String?, + advertiserId: json_['advertiserId'] as core.String?, + bidStrategy: json_.containsKey('bidStrategy') + ? BiddingStrategy.fromJson( + json_['bidStrategy'] as core.Map) + : null, + displayName: json_['displayName'] as core.String?, + entityStatus: json_['entityStatus'] as core.String?, + lineItemId: json_['lineItemId'] as core.String?, + name: json_['name'] as core.String?, + productFeedData: json_.containsKey('productFeedData') + ? ProductFeedData.fromJson(json_['productFeedData'] + as core.Map) + : null, + targetingExpansion: json_.containsKey('targetingExpansion') + ? TargetingExpansionConfig.fromJson(json_['targetingExpansion'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (adGroupFormat != null) 'adGroupFormat': adGroupFormat!, + if (adGroupId != null) 'adGroupId': adGroupId!, + if (advertiserId != null) 'advertiserId': advertiserId!, + if (bidStrategy != null) 'bidStrategy': bidStrategy!, + if (displayName != null) 'displayName': displayName!, + if (entityStatus != null) 'entityStatus': entityStatus!, + if (lineItemId != null) 'lineItemId': lineItemId!, + if (name != null) 'name': name!, + if (productFeedData != null) 'productFeedData': productFeedData!, + if (targetingExpansion != null) + 'targetingExpansion': targetingExpansion!, + }; +} + +/// A single ad associated with an ad group. +class AdGroupAd { + /// The unique ID of the ad. + /// + /// Assigned by the system. + core.String? adGroupAdId; + + /// The unique ID of the ad group that the ad belongs to. + core.String? adGroupId; + + /// List of URLs used by the ad. + core.List? adUrls; + + /// The unique ID of the advertiser the ad belongs to. + core.String? advertiserId; + + /// Details of an \[audio + /// ad\](//support.google.com/displayvideo/answer/6274216) used for reach + /// marketing objectives. + AudioAd? audioAd; + + /// Details of a \[non-skippable short video + /// ad\](//support.google.com/displayvideo/answer/6274216), equal to or less + /// than 6 seconds, used for reach. + BumperAd? bumperAd; + + /// The display name of the ad. + /// + /// Must be UTF-8 encoded with a maximum size of 255 bytes. + core.String? displayName; + + /// Details of an ad sourced from a Display & Video 360 creative. + DisplayVideoSourceAd? displayVideoSourceAd; + + /// The entity status of the ad. + /// Possible string values are: + /// - "ENTITY_STATUS_UNSPECIFIED" : Default value when status is not specified + /// or is unknown in this version. + /// - "ENTITY_STATUS_ACTIVE" : The entity is enabled to bid and spend budget. + /// - "ENTITY_STATUS_ARCHIVED" : The entity is archived. Bidding and budget + /// spending are disabled. An entity can be deleted after archived. Deleted + /// entities cannot be retrieved. + /// - "ENTITY_STATUS_DRAFT" : The entity is under draft. Bidding and budget + /// spending are disabled. + /// - "ENTITY_STATUS_PAUSED" : Bidding and budget spending are paused for the + /// entity. + /// - "ENTITY_STATUS_SCHEDULED_FOR_DELETION" : The entity is scheduled for + /// deletion. + core.String? entityStatus; + + /// Details of an \[in-stream ad skippable after 5 + /// seconds\](//support.google.com/displayvideo/answer/6274216), used for + /// brand awareness or reach marketing objectives. + InStreamAd? inStreamAd; + + /// Details of an \[ad served on the YouTube Home + /// feed\](//support.google.com/google-ads/answer/9709826). + MastheadAd? mastheadAd; + + /// The resource name of the ad. + core.String? name; + + /// Details of a \[non-skippable short in-stream video + /// ad\](//support.google.com/displayvideo/answer/6274216), between 6 and 15 + /// seconds, used for reach marketing objectives. + NonSkippableAd? nonSkippableAd; + + /// Details of an \[ad promoting a + /// video\](//support.google.com/displayvideo/answer/6274216) that shows in + /// places of discovery. + VideoDiscoveryAd? videoDiscoverAd; + + /// Details of an \[ad used in a video action + /// campaign\](//support.google.com/google-ads/answer/10147229) to drive + /// actions to the business, service or product. + VideoPerformanceAd? videoPerformanceAd; + + AdGroupAd({ + this.adGroupAdId, + this.adGroupId, + this.adUrls, + this.advertiserId, + this.audioAd, + this.bumperAd, + this.displayName, + this.displayVideoSourceAd, + this.entityStatus, + this.inStreamAd, + this.mastheadAd, + this.name, + this.nonSkippableAd, + this.videoDiscoverAd, + this.videoPerformanceAd, + }); + + AdGroupAd.fromJson(core.Map json_) + : this( + adGroupAdId: json_['adGroupAdId'] as core.String?, + adGroupId: json_['adGroupId'] as core.String?, + adUrls: (json_['adUrls'] as core.List?) + ?.map((value) => + AdUrl.fromJson(value as core.Map)) + .toList(), + advertiserId: json_['advertiserId'] as core.String?, + audioAd: json_.containsKey('audioAd') + ? AudioAd.fromJson( + json_['audioAd'] as core.Map) + : null, + bumperAd: json_.containsKey('bumperAd') + ? BumperAd.fromJson( + json_['bumperAd'] as core.Map) + : null, + displayName: json_['displayName'] as core.String?, + displayVideoSourceAd: json_.containsKey('displayVideoSourceAd') + ? DisplayVideoSourceAd.fromJson(json_['displayVideoSourceAd'] + as core.Map) + : null, + entityStatus: json_['entityStatus'] as core.String?, + inStreamAd: json_.containsKey('inStreamAd') + ? InStreamAd.fromJson( + json_['inStreamAd'] as core.Map) + : null, + mastheadAd: json_.containsKey('mastheadAd') + ? MastheadAd.fromJson( + json_['mastheadAd'] as core.Map) + : null, + name: json_['name'] as core.String?, + nonSkippableAd: json_.containsKey('nonSkippableAd') + ? NonSkippableAd.fromJson(json_['nonSkippableAd'] + as core.Map) + : null, + videoDiscoverAd: json_.containsKey('videoDiscoverAd') + ? VideoDiscoveryAd.fromJson(json_['videoDiscoverAd'] + as core.Map) + : null, + videoPerformanceAd: json_.containsKey('videoPerformanceAd') + ? VideoPerformanceAd.fromJson(json_['videoPerformanceAd'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (adGroupAdId != null) 'adGroupAdId': adGroupAdId!, + if (adGroupId != null) 'adGroupId': adGroupId!, + if (adUrls != null) 'adUrls': adUrls!, + if (advertiserId != null) 'advertiserId': advertiserId!, + if (audioAd != null) 'audioAd': audioAd!, + if (bumperAd != null) 'bumperAd': bumperAd!, + if (displayName != null) 'displayName': displayName!, + if (displayVideoSourceAd != null) + 'displayVideoSourceAd': displayVideoSourceAd!, + if (entityStatus != null) 'entityStatus': entityStatus!, + if (inStreamAd != null) 'inStreamAd': inStreamAd!, + if (mastheadAd != null) 'mastheadAd': mastheadAd!, + if (name != null) 'name': name!, + if (nonSkippableAd != null) 'nonSkippableAd': nonSkippableAd!, + if (videoDiscoverAd != null) 'videoDiscoverAd': videoDiscoverAd!, + if (videoPerformanceAd != null) + 'videoPerformanceAd': videoPerformanceAd!, + }; +} + +/// Wrapper object associating an AssignedTargetingOption resource and the ad +/// group it is assigned to. +class AdGroupAssignedTargetingOption { + /// The ID of the ad group the assigned targeting option is assigned to. + core.String? adGroupId; + + /// The assigned targeting option resource. + AssignedTargetingOption? assignedTargetingOption; + + AdGroupAssignedTargetingOption({ + this.adGroupId, + this.assignedTargetingOption, + }); + + AdGroupAssignedTargetingOption.fromJson(core.Map json_) + : this( + adGroupId: json_['adGroupId'] as core.String?, + assignedTargetingOption: json_.containsKey('assignedTargetingOption') + ? AssignedTargetingOption.fromJson( + json_['assignedTargetingOption'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (adGroupId != null) 'adGroupId': adGroupId!, + if (assignedTargetingOption != null) + 'assignedTargetingOption': assignedTargetingOption!, + }; +} + +/// Additional URLs related to the ad, including beacons. +typedef AdUrl = $AdUrl; + +/// Details of Adloox brand safety settings. +typedef Adloox = $Adloox; + +/// A single advertiser in Display & Video 360 (DV360). +class Advertiser { + /// Ad server related settings of the advertiser. + /// + /// Required. Immutable. + AdvertiserAdServerConfig? adServerConfig; + + /// The unique ID of the advertiser. + /// + /// Assigned by the system. + /// + /// Output only. + core.String? advertiserId; + + /// Billing related settings of the advertiser. + /// + /// Required. + AdvertiserBillingConfig? billingConfig; + + /// Creative related settings of the advertiser. + /// + /// Required. + AdvertiserCreativeConfig? creativeConfig; + + /// Settings that control how advertiser data may be accessed. + AdvertiserDataAccessConfig? dataAccessConfig; + + /// The display name of the advertiser. + /// + /// Must be UTF-8 encoded with a maximum size of 240 bytes. + /// + /// Required. + core.String? displayName; + + /// Controls whether or not insertion orders and line items of the advertiser + /// can spend their budgets and bid on inventory. + /// + /// * Accepted values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_PAUSED` and + /// `ENTITY_STATUS_SCHEDULED_FOR_DELETION`. * If set to + /// `ENTITY_STATUS_SCHEDULED_FOR_DELETION`, the advertiser will be deleted 30 + /// days from when it was first scheduled for deletion. + /// + /// Required. + /// Possible string values are: + /// - "ENTITY_STATUS_UNSPECIFIED" : Default value when status is not specified + /// or is unknown in this version. + /// - "ENTITY_STATUS_ACTIVE" : The entity is enabled to bid and spend budget. + /// - "ENTITY_STATUS_ARCHIVED" : The entity is archived. Bidding and budget + /// spending are disabled. An entity can be deleted after archived. Deleted + /// entities cannot be retrieved. + /// - "ENTITY_STATUS_DRAFT" : The entity is under draft. Bidding and budget + /// spending are disabled. + /// - "ENTITY_STATUS_PAUSED" : Bidding and budget spending are paused for the + /// entity. + /// - "ENTITY_STATUS_SCHEDULED_FOR_DELETION" : The entity is scheduled for + /// deletion. + core.String? entityStatus; + + /// General settings of the advertiser. + /// + /// Required. + AdvertiserGeneralConfig? generalConfig; + + /// Integration details of the advertiser. + /// + /// Only integrationCode is currently applicable to advertiser. Other fields + /// of IntegrationDetails are not supported and will be ignored if provided. + IntegrationDetails? integrationDetails; + + /// The resource name of the advertiser. + /// + /// Output only. + core.String? name; + + /// The unique ID of the partner that the advertiser belongs to. + /// + /// Required. Immutable. + core.String? partnerId; + + /// Whether integration with Mediaocean (Prisma) is enabled. + /// + /// By enabling this, you agree to the following: On behalf of my company, I + /// authorize Mediaocean (Prisma) to send budget segment plans to Google, and + /// I authorize Google to send corresponding reporting and invoices from DV360 + /// to Mediaocean for the purposes of budget planning, billing, and + /// reconciliation for this advertiser. + core.bool? prismaEnabled; + + /// Targeting settings related to ad serving of the advertiser. + AdvertiserTargetingConfig? servingConfig; + + /// The timestamp when the advertiser was last updated. + /// + /// Assigned by the system. + /// + /// Output only. + core.String? updateTime; + + Advertiser({ + this.adServerConfig, + this.advertiserId, + this.billingConfig, + this.creativeConfig, + this.dataAccessConfig, + this.displayName, + this.entityStatus, + this.generalConfig, + this.integrationDetails, + this.name, + this.partnerId, + this.prismaEnabled, + this.servingConfig, + this.updateTime, + }); + + Advertiser.fromJson(core.Map json_) + : this( + adServerConfig: json_.containsKey('adServerConfig') + ? AdvertiserAdServerConfig.fromJson(json_['adServerConfig'] + as core.Map) + : null, + advertiserId: json_['advertiserId'] as core.String?, + billingConfig: json_.containsKey('billingConfig') + ? AdvertiserBillingConfig.fromJson( + json_['billingConfig'] as core.Map) + : null, + creativeConfig: json_.containsKey('creativeConfig') + ? AdvertiserCreativeConfig.fromJson(json_['creativeConfig'] + as core.Map) + : null, + dataAccessConfig: json_.containsKey('dataAccessConfig') + ? AdvertiserDataAccessConfig.fromJson(json_['dataAccessConfig'] + as core.Map) + : null, + displayName: json_['displayName'] as core.String?, + entityStatus: json_['entityStatus'] as core.String?, + generalConfig: json_.containsKey('generalConfig') + ? AdvertiserGeneralConfig.fromJson( + json_['generalConfig'] as core.Map) + : null, + integrationDetails: json_.containsKey('integrationDetails') + ? IntegrationDetails.fromJson(json_['integrationDetails'] + as core.Map) + : null, + name: json_['name'] as core.String?, + partnerId: json_['partnerId'] as core.String?, + prismaEnabled: json_['prismaEnabled'] as core.bool?, + servingConfig: json_.containsKey('servingConfig') + ? AdvertiserTargetingConfig.fromJson( + json_['servingConfig'] as core.Map) + : null, + updateTime: json_['updateTime'] as core.String?, + ); + + core.Map toJson() => { + if (adServerConfig != null) 'adServerConfig': adServerConfig!, + if (advertiserId != null) 'advertiserId': advertiserId!, + if (billingConfig != null) 'billingConfig': billingConfig!, + if (creativeConfig != null) 'creativeConfig': creativeConfig!, + if (dataAccessConfig != null) 'dataAccessConfig': dataAccessConfig!, + if (displayName != null) 'displayName': displayName!, + if (entityStatus != null) 'entityStatus': entityStatus!, + if (generalConfig != null) 'generalConfig': generalConfig!, + if (integrationDetails != null) + 'integrationDetails': integrationDetails!, + if (name != null) 'name': name!, + if (partnerId != null) 'partnerId': partnerId!, + if (prismaEnabled != null) 'prismaEnabled': prismaEnabled!, + if (servingConfig != null) 'servingConfig': servingConfig!, + if (updateTime != null) 'updateTime': updateTime!, + }; +} + +/// Ad server related settings of an advertiser. +class AdvertiserAdServerConfig { + /// The configuration for advertisers that use both Campaign Manager 360 + /// (CM360) and third-party ad servers. + CmHybridConfig? cmHybridConfig; + + /// The configuration for advertisers that use third-party ad servers only. + ThirdPartyOnlyConfig? thirdPartyOnlyConfig; + + AdvertiserAdServerConfig({ + this.cmHybridConfig, + this.thirdPartyOnlyConfig, + }); + + AdvertiserAdServerConfig.fromJson(core.Map json_) + : this( + cmHybridConfig: json_.containsKey('cmHybridConfig') + ? CmHybridConfig.fromJson(json_['cmHybridConfig'] + as core.Map) + : null, + thirdPartyOnlyConfig: json_.containsKey('thirdPartyOnlyConfig') + ? ThirdPartyOnlyConfig.fromJson(json_['thirdPartyOnlyConfig'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (cmHybridConfig != null) 'cmHybridConfig': cmHybridConfig!, + if (thirdPartyOnlyConfig != null) + 'thirdPartyOnlyConfig': thirdPartyOnlyConfig!, + }; +} + +/// Billing related settings of an advertiser. +typedef AdvertiserBillingConfig = $AdvertiserBillingConfig; + +/// Creatives related settings of an advertiser. +typedef AdvertiserCreativeConfig = $AdvertiserCreativeConfig; + +/// Settings that control how advertiser related data may be accessed. +class AdvertiserDataAccessConfig { + /// Structured Data Files (SDF) settings for the advertiser. + /// + /// If not specified, the SDF settings of the parent partner are used. + AdvertiserSdfConfig? sdfConfig; + + AdvertiserDataAccessConfig({ + this.sdfConfig, + }); + + AdvertiserDataAccessConfig.fromJson(core.Map json_) + : this( + sdfConfig: json_.containsKey('sdfConfig') + ? AdvertiserSdfConfig.fromJson( + json_['sdfConfig'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (sdfConfig != null) 'sdfConfig': sdfConfig!, + }; +} + +/// General settings of an advertiser. +typedef AdvertiserGeneralConfig = $AdvertiserGeneralConfig; + +/// Structured Data Files (SDF) settings of an advertiser. +class AdvertiserSdfConfig { + /// Whether or not this advertiser overrides the SDF configuration of its + /// parent partner. + /// + /// By default, an advertiser inherits the SDF configuration from the parent + /// partner. To override the partner configuration, set this field to `true` + /// and provide the new configuration in sdfConfig. + core.bool? overridePartnerSdfConfig; + + /// The SDF configuration for the advertiser. + /// + /// * Required when overridePartnerSdfConfig is `true`. * Output only when + /// overridePartnerSdfConfig is `false`. + SdfConfig? sdfConfig; + + AdvertiserSdfConfig({ + this.overridePartnerSdfConfig, + this.sdfConfig, + }); + + AdvertiserSdfConfig.fromJson(core.Map json_) + : this( + overridePartnerSdfConfig: + json_['overridePartnerSdfConfig'] as core.bool?, + sdfConfig: json_.containsKey('sdfConfig') + ? SdfConfig.fromJson( + json_['sdfConfig'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (overridePartnerSdfConfig != null) + 'overridePartnerSdfConfig': overridePartnerSdfConfig!, + if (sdfConfig != null) 'sdfConfig': sdfConfig!, + }; +} + +/// Targeting settings related to ad serving of an advertiser. +typedef AdvertiserTargetingConfig = $AdvertiserTargetingConfig; + +/// Represents a targetable age range. +/// +/// This will be populated in the details field of an AssignedTargetingOption +/// when targeting_type is `TARGETING_TYPE_AGE_RANGE`. +typedef AgeRangeAssignedTargetingOptionDetails + = $AgeRangeAssignedTargetingOptionDetails; + +/// Represents a targetable age range. +/// +/// This will be populated in the age_range_details field when targeting_type is +/// `TARGETING_TYPE_AGE_RANGE`. +typedef AgeRangeTargetingOptionDetails = $AgeRangeTargetingOptionDetails; + +/// Details for assigned app targeting option. +/// +/// This will be populated in the details field of an AssignedTargetingOption +/// when targeting_type is `TARGETING_TYPE_APP`. +typedef AppAssignedTargetingOptionDetails = $AppAssignedTargetingOptionDetails; + +/// 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`. +typedef AppCategoryAssignedTargetingOptionDetails + = $AppCategoryAssignedTargetingOptionDetails; + +/// Represents a targetable collection of apps. +/// +/// A collection lets you target dynamic groups of related apps that are +/// maintained by the platform, for example `All Apps/Google Play/Games`. This +/// will be populated in the app_category_details field when targeting_type is +/// `TARGETING_TYPE_APP_CATEGORY`. +typedef AppCategoryTargetingOptionDetails = $AppCategoryTargetingOptionDetails; + +/// A single asset. +typedef Asset = $Asset; + +/// Asset association for the creative. +class AssetAssociation { + /// The associated asset. + /// + /// Optional. + Asset? asset; + + /// The role of this asset for the creative. + /// + /// Optional. + /// Possible string values are: + /// - "ASSET_ROLE_UNSPECIFIED" : Asset role is not specified or is unknown in + /// this version. + /// - "ASSET_ROLE_MAIN" : The asset is the main asset of the creative. + /// - "ASSET_ROLE_BACKUP" : The asset is a backup asset of the creative. + /// - "ASSET_ROLE_POLITE_LOAD" : The asset is a polite load asset of the + /// creative. + /// - "ASSET_ROLE_HEADLINE" : Headline of a native creative. The content must + /// be UTF-8 encoded with a length of no more than 25 characters. This role is + /// only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * + /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` + /// - "ASSET_ROLE_LONG_HEADLINE" : Long headline of a native creative. The + /// content must be UTF-8 encoded with a length of no more than 50 characters. + /// This role is only supported in the following creative_type: * + /// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * + /// `CREATIVE_TYPE_NATIVE_VIDEO` + /// - "ASSET_ROLE_BODY" : Body text of a native creative. The content must be + /// UTF-8 encoded with a length of no more than 90 characters. This role is + /// only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * + /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` + /// - "ASSET_ROLE_LONG_BODY" : Long body text of a native creative. The + /// content must be UTF-8 encoded with a length of no more than 150 + /// characters. This role is only supported in the following creative_type: * + /// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * + /// `CREATIVE_TYPE_NATIVE_VIDEO` + /// - "ASSET_ROLE_CAPTION_URL" : A short, friendly version of the landing page + /// URL to show in the creative. This URL gives people an idea of where + /// they'll arrive after they click on the creative. The content must be UTF-8 + /// encoded with a length of no more than 30 characters. For example, if the + /// landing page URL is 'http://www.example.com/page', the caption URL can be + /// 'example.com'. The protocol (http://) is optional, but the URL can't + /// contain spaces or special characters. This role is only supported in the + /// following creative_type: * `CREATIVE_TYPE_NATIVE` * + /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` + /// - "ASSET_ROLE_CALL_TO_ACTION" : The text to use on the call-to-action + /// button of a native creative. The content must be UTF-8 encoded with a + /// length of no more than 15 characters. This role is only supported in the + /// following creative_type: * `CREATIVE_TYPE_NATIVE` * + /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` + /// - "ASSET_ROLE_ADVERTISER_NAME" : The text that identifies the advertiser + /// or brand name. The content must be UTF-8 encoded with a length of no more + /// than 25 characters. This role is only supported in the following + /// creative_type: * `CREATIVE_TYPE_NATIVE` * + /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` + /// - "ASSET_ROLE_PRICE" : The purchase price of your app in the Google play + /// store or iOS app store (for example, $5.99). Note that this value is not + /// automatically synced with the actual value listed in the store. It will + /// always be the one provided when save the creative. The content must be + /// UTF-8 encoded with a length of no more than 15 characters. Assets of this + /// role are read-only. + /// - "ASSET_ROLE_ANDROID_APP_ID" : The ID of an Android app in the Google + /// play store. You can find this ID in the App’s Google Play Store URL after + /// ‘id’. For example, in + /// `https://play.google.com/store/apps/details?id=com.company.appname` the + /// identifier is com.company.appname. Assets of this role are read-only. + /// - "ASSET_ROLE_IOS_APP_ID" : The ID of an iOS app in the Apple app store. + /// This ID number can be found in the Apple App Store URL as the string of + /// numbers directly after "id". For example, in + /// `https://apps.apple.com/us/app/gmail-email-by-google/id422689480` the ID + /// is 422689480. Assets of this role are read-only. + /// - "ASSET_ROLE_RATING" : The rating of an app in the Google play store or + /// iOS app store. Note that this value is not automatically synced with the + /// actual rating in the store. It will always be the one provided when save + /// the creative. Assets of this role are read-only. + /// - "ASSET_ROLE_ICON" : The icon of a creative. This role is only supported + /// and required in the following creative_type: * `CREATIVE_TYPE_NATIVE` * + /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` + /// - "ASSET_ROLE_COVER_IMAGE" : The cover image of a native video creative. + /// This role is only supported and required in the following creative_type: * + /// `CREATIVE_TYPE_VIDEO` + /// - "ASSET_ROLE_BACKGROUND_COLOR" : The main color to use in a creative. + /// This role is only supported and required in the following creative_type: * + /// `CREATIVE_TYPE_ASSET_BASED_CREATIVE` + /// - "ASSET_ROLE_ACCENT_COLOR" : The accent color to use in a creative. This + /// role is only supported and required in the following creative_type: * + /// `CREATIVE_TYPE_ASSET_BASED_CREATIVE` + /// - "ASSET_ROLE_REQUIRE_LOGO" : Whether the creative must use a logo asset. + /// This role is only supported and required in the following creative_type: * + /// `CREATIVE_TYPE_ASSET_BASED_CREATIVE` + /// - "ASSET_ROLE_REQUIRE_IMAGE" : Whether the creative must use an image + /// asset. This role is only supported and required in the following + /// creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE` + /// - "ASSET_ROLE_ENABLE_ASSET_ENHANCEMENTS" : Whether asset enhancements can + /// be applied to the creative. This role is only supported and required in + /// the following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE` + core.String? role; + + AssetAssociation({ + this.asset, + this.role, + }); + + AssetAssociation.fromJson(core.Map json_) + : this( + asset: json_.containsKey('asset') + ? Asset.fromJson( + json_['asset'] as core.Map) + : null, + role: json_['role'] as core.String?, + ); + + core.Map toJson() => { + if (asset != null) 'asset': asset!, + if (role != null) 'role': role!, + }; +} + +/// An assignment between a targetable inventory source and an inventory source +/// group. +typedef AssignedInventorySource = $AssignedInventorySource; + +/// An assignment between a location list and a relevant targeting option. +typedef AssignedLocation = $AssignedLocation; + +/// A single assigned targeting option, which defines the state of a targeting +/// option for an entity with targeting settings. +class AssignedTargetingOption { + /// Age range details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_AGE_RANGE`. + AgeRangeAssignedTargetingOptionDetails? ageRangeDetails; + + /// App category details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_APP_CATEGORY`. + AppCategoryAssignedTargetingOptionDetails? appCategoryDetails; + + /// App details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_APP`. + AppAssignedTargetingOptionDetails? appDetails; + + /// 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. + /// + /// Output only. + core.String? assignedTargetingOptionId; + + /// An alias for the assigned_targeting_option_id. + /// + /// This value can be used in place of `assignedTargetingOptionId` when + /// retrieving or deleting existing targeting. This field will only be + /// supported for all assigned targeting options of the following targeting + /// types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_DEVICE_TYPE` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * + /// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * + /// `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_OMID` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` This + /// field is also supported for line item assigned targeting options of the + /// following targeting types: * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` + /// + /// Output only. + core.String? assignedTargetingOptionIdAlias; + + /// 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. + AudienceGroupAssignedTargetingOptionDetails? audienceGroupDetails; + + /// Audio content type details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_AUDIO_CONTENT_TYPE`. + AudioContentTypeAssignedTargetingOptionDetails? audioContentTypeDetails; + + /// 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. + AuthorizedSellerStatusAssignedTargetingOptionDetails? + authorizedSellerStatusDetails; + + /// Browser details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_BROWSER`. + BrowserAssignedTargetingOptionDetails? browserDetails; + + /// Business chain details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_BUSINESS_CHAIN`. + BusinessChainAssignedTargetingOptionDetails? businessChainDetails; + + /// Carrier and ISP details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_CARRIER_AND_ISP`. + CarrierAndIspAssignedTargetingOptionDetails? carrierAndIspDetails; + + /// 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. + CategoryAssignedTargetingOptionDetails? categoryDetails; + + /// Channel details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_CHANNEL`. + ChannelAssignedTargetingOptionDetails? channelDetails; + + /// Content duration details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_CONTENT_DURATION`. + ContentDurationAssignedTargetingOptionDetails? contentDurationDetails; + + /// Content genre details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_CONTENT_GENRE`. + ContentGenreAssignedTargetingOptionDetails? contentGenreDetails; + + /// Content instream position details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`. + ContentInstreamPositionAssignedTargetingOptionDetails? + contentInstreamPositionDetails; + + /// Content outstream position details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`. + ContentOutstreamPositionAssignedTargetingOptionDetails? + contentOutstreamPositionDetails; + + /// Content duration details. + /// + /// This field will be populated when the TargetingType is + /// `TARGETING_TYPE_CONTENT_STREAM_TYPE`. + ContentStreamTypeAssignedTargetingOptionDetails? contentStreamTypeDetails; + + /// Day and time details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_DAY_AND_TIME`. + DayAndTimeAssignedTargetingOptionDetails? dayAndTimeDetails; + + /// Device make and model details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_DEVICE_MAKE_MODEL`. + DeviceMakeModelAssignedTargetingOptionDetails? deviceMakeModelDetails; + + /// Device Type details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_DEVICE_TYPE`. + DeviceTypeAssignedTargetingOptionDetails? deviceTypeDetails; + + /// 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. + DigitalContentLabelAssignedTargetingOptionDetails? + digitalContentLabelExclusionDetails; + + /// Environment details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_ENVIRONMENT`. + EnvironmentAssignedTargetingOptionDetails? environmentDetails; + + /// Exchange details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_EXCHANGE`. + ExchangeAssignedTargetingOptionDetails? exchangeDetails; + + /// Gender details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_GENDER`. + GenderAssignedTargetingOptionDetails? genderDetails; + + /// Geographic region details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_GEO_REGION`. + GeoRegionAssignedTargetingOptionDetails? geoRegionDetails; + + /// Household income details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_HOUSEHOLD_INCOME`. + HouseholdIncomeAssignedTargetingOptionDetails? householdIncomeDetails; + + /// The inheritance status of the assigned targeting option. + /// + /// Output only. + /// Possible string values are: + /// - "INHERITANCE_UNSPECIFIED" : The inheritance is unspecified or unknown. + /// - "NOT_INHERITED" : The assigned targeting option is not inherited from + /// higher level entity. + /// - "INHERITED_FROM_PARTNER" : The assigned targeting option is inherited + /// from partner targeting settings. + /// - "INHERITED_FROM_ADVERTISER" : The assigned targeting option is inherited + /// from advertiser targeting settings. + core.String? inheritance; + + /// Inventory source details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_INVENTORY_SOURCE`. + InventorySourceAssignedTargetingOptionDetails? inventorySourceDetails; + + /// Inventory source group details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`. + InventorySourceGroupAssignedTargetingOptionDetails? + inventorySourceGroupDetails; + + /// 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. + KeywordAssignedTargetingOptionDetails? keywordDetails; + + /// Language details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_LANGUAGE`. + LanguageAssignedTargetingOptionDetails? languageDetails; + + /// The resource name for this assigned targeting option. + /// + /// Output only. + core.String? name; + + /// Native content position details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. + NativeContentPositionAssignedTargetingOptionDetails? + nativeContentPositionDetails; + + /// 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. + NegativeKeywordListAssignedTargetingOptionDetails? negativeKeywordListDetails; + + /// Open Measurement enabled inventory details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_OMID`. + OmidAssignedTargetingOptionDetails? omidDetails; + + /// On screen position details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_ON_SCREEN_POSITION`. + OnScreenPositionAssignedTargetingOptionDetails? onScreenPositionDetails; + + /// Operating system details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_OPERATING_SYSTEM`. + OperatingSystemAssignedTargetingOptionDetails? operatingSystemDetails; + + /// Parental status details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_PARENTAL_STATUS`. + ParentalStatusAssignedTargetingOptionDetails? parentalStatusDetails; + + /// POI details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_POI`. + PoiAssignedTargetingOptionDetails? poiDetails; + + /// Proximity location list details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. + ProximityLocationListAssignedTargetingOptionDetails? + proximityLocationListDetails; + + /// Regional location list details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_REGIONAL_LOCATION_LIST`. + RegionalLocationListAssignedTargetingOptionDetails? + regionalLocationListDetails; + + /// 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. + SensitiveCategoryAssignedTargetingOptionDetails? + sensitiveCategoryExclusionDetails; + + /// Session position details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_SESSION_POSITION`. + SessionPositionAssignedTargetingOptionDetails? sessionPositionDetails; + + /// Sub-exchange details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_SUB_EXCHANGE`. + SubExchangeAssignedTargetingOptionDetails? subExchangeDetails; + + /// Identifies the type of this assigned targeting option. + /// + /// Output only. + /// Possible string values are: + /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified + /// or is unknown in this version. + /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related + /// websites or apps). + /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, + /// education or puzzle games). + /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). + /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). + /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period + /// on a specific day. + /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for + /// example, 18-24). + /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified + /// regions on a regional location list. + /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified + /// points of interest on a proximity location list. + /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, + /// female or male). + /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size + /// for video ads. + /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content + /// for video ads. + /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental + /// status (for example, parent or not a parent). + /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads + /// in a specific content instream position (for example, pre-roll, mid-roll, + /// or post-roll). + /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific + /// content outstream position. + /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for + /// example, tablet or connected TV). + /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of + /// audiences. Singleton field, at most one can exist on a single Lineitem at + /// a time. + /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for + /// example, Chrome). + /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household + /// income range (for example, top 10%). + /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen + /// position. + /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third + /// party verification (for example, IAS or DoubleVerify). + /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by + /// specific digital content label ratings (for example, DL-MA: suitable only + /// for mature audiences). + /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content + /// by sensitive categories (for example, adult). + /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for + /// example, web or app). + /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network + /// carrier or internet service provider (ISP) (for example, Comcast or + /// Orange). + /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating + /// system (for example, macOS). + /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device + /// make or model (for example, Roku or Samsung). + /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for + /// example, dog or retriever). + /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific + /// negative keyword list. + /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for + /// example, 80% viewable). + /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category + /// (for example, arts & entertainment). + /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific + /// deals and auction packages. + /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for + /// example, English or Japanese). + /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt + /// authorized sellers. If no targeting option of this type is assigned, the + /// resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location + /// (for example, a city or state). + /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a + /// group of deals and auction packages. + /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific + /// exchanges. + /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific + /// sub-exchanges. + /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, + /// such as a notable building, a street address, or latitude/longitude + /// coordinates. + /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a + /// business chain within a specific geo region. + /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video + /// content duration. + /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video + /// content stream type. + /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific + /// native content position. + /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled + /// inventory. + /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio + /// content type. + /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. + /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. + /// Targeting of this type cannot be created or updated using the API. + /// Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube + /// channel. Targeting of this type cannot be created or updated using the + /// API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a + /// certain position of a session. Only supported for Ad Group resources under + /// YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + core.String? targetingType; + + /// Third party verification details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER`. + ThirdPartyVerifierAssignedTargetingOptionDetails? thirdPartyVerifierDetails; + + /// URL details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_URL`. + UrlAssignedTargetingOptionDetails? urlDetails; + + /// User rewarded content details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_USER_REWARDED_CONTENT`. + UserRewardedContentAssignedTargetingOptionDetails? userRewardedContentDetails; + + /// Video player size details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_VIDEO_PLAYER_SIZE`. + VideoPlayerSizeAssignedTargetingOptionDetails? videoPlayerSizeDetails; + + /// Viewability details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_VIEWABILITY`. You can only target one viewability option + /// per resource. + ViewabilityAssignedTargetingOptionDetails? viewabilityDetails; + + /// YouTube channel details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_YOUTUBE_CHANNEL`. + YoutubeChannelAssignedTargetingOptionDetails? youtubeChannelDetails; + + /// YouTube video details. + /// + /// This field will be populated when the targeting_type is + /// `TARGETING_TYPE_YOUTUBE_VIDEO`. + YoutubeVideoAssignedTargetingOptionDetails? youtubeVideoDetails; + + AssignedTargetingOption({ + this.ageRangeDetails, + this.appCategoryDetails, + this.appDetails, + this.assignedTargetingOptionId, + this.assignedTargetingOptionIdAlias, + this.audienceGroupDetails, + this.audioContentTypeDetails, + this.authorizedSellerStatusDetails, + this.browserDetails, + this.businessChainDetails, + this.carrierAndIspDetails, + this.categoryDetails, + this.channelDetails, + this.contentDurationDetails, + this.contentGenreDetails, + this.contentInstreamPositionDetails, + this.contentOutstreamPositionDetails, + this.contentStreamTypeDetails, + this.dayAndTimeDetails, + this.deviceMakeModelDetails, + this.deviceTypeDetails, + this.digitalContentLabelExclusionDetails, + this.environmentDetails, + this.exchangeDetails, + this.genderDetails, + this.geoRegionDetails, + this.householdIncomeDetails, + this.inheritance, + this.inventorySourceDetails, + this.inventorySourceGroupDetails, + this.keywordDetails, + this.languageDetails, + this.name, + this.nativeContentPositionDetails, + this.negativeKeywordListDetails, + this.omidDetails, + this.onScreenPositionDetails, + this.operatingSystemDetails, + this.parentalStatusDetails, + this.poiDetails, + this.proximityLocationListDetails, + this.regionalLocationListDetails, + this.sensitiveCategoryExclusionDetails, + this.sessionPositionDetails, + this.subExchangeDetails, + this.targetingType, + this.thirdPartyVerifierDetails, + this.urlDetails, + this.userRewardedContentDetails, + this.videoPlayerSizeDetails, + this.viewabilityDetails, + this.youtubeChannelDetails, + this.youtubeVideoDetails, + }); + + AssignedTargetingOption.fromJson(core.Map json_) + : this( + ageRangeDetails: json_.containsKey('ageRangeDetails') + ? AgeRangeAssignedTargetingOptionDetails.fromJson( + json_['ageRangeDetails'] + as core.Map) + : null, + appCategoryDetails: json_.containsKey('appCategoryDetails') + ? AppCategoryAssignedTargetingOptionDetails.fromJson( + json_['appCategoryDetails'] + as core.Map) + : null, + appDetails: json_.containsKey('appDetails') + ? AppAssignedTargetingOptionDetails.fromJson( + json_['appDetails'] as core.Map) + : null, + assignedTargetingOptionId: + json_['assignedTargetingOptionId'] as core.String?, + assignedTargetingOptionIdAlias: + json_['assignedTargetingOptionIdAlias'] as core.String?, + audienceGroupDetails: json_.containsKey('audienceGroupDetails') + ? AudienceGroupAssignedTargetingOptionDetails.fromJson( + json_['audienceGroupDetails'] + as core.Map) + : null, + audioContentTypeDetails: json_.containsKey('audioContentTypeDetails') + ? AudioContentTypeAssignedTargetingOptionDetails.fromJson( + json_['audioContentTypeDetails'] + as core.Map) + : null, + authorizedSellerStatusDetails: json_ + .containsKey('authorizedSellerStatusDetails') + ? AuthorizedSellerStatusAssignedTargetingOptionDetails.fromJson( + json_['authorizedSellerStatusDetails'] + as core.Map) + : null, + browserDetails: json_.containsKey('browserDetails') + ? BrowserAssignedTargetingOptionDetails.fromJson( + json_['browserDetails'] + as core.Map) + : null, + businessChainDetails: json_.containsKey('businessChainDetails') + ? BusinessChainAssignedTargetingOptionDetails.fromJson( + json_['businessChainDetails'] + as core.Map) + : null, + carrierAndIspDetails: json_.containsKey('carrierAndIspDetails') + ? CarrierAndIspAssignedTargetingOptionDetails.fromJson( + json_['carrierAndIspDetails'] + as core.Map) + : null, + categoryDetails: json_.containsKey('categoryDetails') + ? CategoryAssignedTargetingOptionDetails.fromJson( + json_['categoryDetails'] + as core.Map) + : null, + channelDetails: json_.containsKey('channelDetails') + ? ChannelAssignedTargetingOptionDetails.fromJson( + json_['channelDetails'] + as core.Map) + : null, + contentDurationDetails: json_.containsKey('contentDurationDetails') + ? ContentDurationAssignedTargetingOptionDetails.fromJson( + json_['contentDurationDetails'] + as core.Map) + : null, + contentGenreDetails: json_.containsKey('contentGenreDetails') + ? ContentGenreAssignedTargetingOptionDetails.fromJson( + json_['contentGenreDetails'] + as core.Map) + : null, + contentInstreamPositionDetails: json_ + .containsKey('contentInstreamPositionDetails') + ? ContentInstreamPositionAssignedTargetingOptionDetails.fromJson( + json_['contentInstreamPositionDetails'] + as core.Map) + : null, + contentOutstreamPositionDetails: json_ + .containsKey('contentOutstreamPositionDetails') + ? ContentOutstreamPositionAssignedTargetingOptionDetails.fromJson( + json_['contentOutstreamPositionDetails'] + as core.Map) + : null, + contentStreamTypeDetails: + json_.containsKey('contentStreamTypeDetails') + ? ContentStreamTypeAssignedTargetingOptionDetails.fromJson( + json_['contentStreamTypeDetails'] + as core.Map) + : null, + dayAndTimeDetails: json_.containsKey('dayAndTimeDetails') + ? DayAndTimeAssignedTargetingOptionDetails.fromJson( + json_['dayAndTimeDetails'] + as core.Map) + : null, + deviceMakeModelDetails: json_.containsKey('deviceMakeModelDetails') + ? DeviceMakeModelAssignedTargetingOptionDetails.fromJson( + json_['deviceMakeModelDetails'] + as core.Map) + : null, + deviceTypeDetails: json_.containsKey('deviceTypeDetails') + ? DeviceTypeAssignedTargetingOptionDetails.fromJson( + json_['deviceTypeDetails'] + as core.Map) + : null, + digitalContentLabelExclusionDetails: + json_.containsKey('digitalContentLabelExclusionDetails') + ? DigitalContentLabelAssignedTargetingOptionDetails.fromJson( + json_['digitalContentLabelExclusionDetails'] + as core.Map) + : null, + environmentDetails: json_.containsKey('environmentDetails') + ? EnvironmentAssignedTargetingOptionDetails.fromJson( + json_['environmentDetails'] + as core.Map) + : null, + exchangeDetails: json_.containsKey('exchangeDetails') + ? ExchangeAssignedTargetingOptionDetails.fromJson( + json_['exchangeDetails'] + as core.Map) + : null, + genderDetails: json_.containsKey('genderDetails') + ? GenderAssignedTargetingOptionDetails.fromJson( + json_['genderDetails'] as core.Map) + : null, + geoRegionDetails: json_.containsKey('geoRegionDetails') + ? GeoRegionAssignedTargetingOptionDetails.fromJson( + json_['geoRegionDetails'] + as core.Map) + : null, + householdIncomeDetails: json_.containsKey('householdIncomeDetails') + ? HouseholdIncomeAssignedTargetingOptionDetails.fromJson( + json_['householdIncomeDetails'] + as core.Map) + : null, + inheritance: json_['inheritance'] as core.String?, + inventorySourceDetails: json_.containsKey('inventorySourceDetails') + ? InventorySourceAssignedTargetingOptionDetails.fromJson( + json_['inventorySourceDetails'] + as core.Map) + : null, + inventorySourceGroupDetails: + json_.containsKey('inventorySourceGroupDetails') + ? InventorySourceGroupAssignedTargetingOptionDetails.fromJson( + json_['inventorySourceGroupDetails'] + as core.Map) + : null, + keywordDetails: json_.containsKey('keywordDetails') + ? KeywordAssignedTargetingOptionDetails.fromJson( + json_['keywordDetails'] + as core.Map) + : null, + languageDetails: json_.containsKey('languageDetails') + ? LanguageAssignedTargetingOptionDetails.fromJson( + json_['languageDetails'] + as core.Map) + : null, + name: json_['name'] as core.String?, + nativeContentPositionDetails: json_ + .containsKey('nativeContentPositionDetails') + ? NativeContentPositionAssignedTargetingOptionDetails.fromJson( + json_['nativeContentPositionDetails'] + as core.Map) + : null, + negativeKeywordListDetails: + json_.containsKey('negativeKeywordListDetails') + ? NegativeKeywordListAssignedTargetingOptionDetails.fromJson( + json_['negativeKeywordListDetails'] + as core.Map) + : null, + omidDetails: json_.containsKey('omidDetails') + ? OmidAssignedTargetingOptionDetails.fromJson( + json_['omidDetails'] as core.Map) + : null, + onScreenPositionDetails: json_.containsKey('onScreenPositionDetails') + ? OnScreenPositionAssignedTargetingOptionDetails.fromJson( + json_['onScreenPositionDetails'] + as core.Map) + : null, + operatingSystemDetails: json_.containsKey('operatingSystemDetails') + ? OperatingSystemAssignedTargetingOptionDetails.fromJson( + json_['operatingSystemDetails'] + as core.Map) + : null, + parentalStatusDetails: json_.containsKey('parentalStatusDetails') + ? ParentalStatusAssignedTargetingOptionDetails.fromJson( + json_['parentalStatusDetails'] + as core.Map) + : null, + poiDetails: json_.containsKey('poiDetails') + ? PoiAssignedTargetingOptionDetails.fromJson( + json_['poiDetails'] as core.Map) + : null, + proximityLocationListDetails: json_ + .containsKey('proximityLocationListDetails') + ? ProximityLocationListAssignedTargetingOptionDetails.fromJson( + json_['proximityLocationListDetails'] + as core.Map) + : null, + regionalLocationListDetails: + json_.containsKey('regionalLocationListDetails') + ? RegionalLocationListAssignedTargetingOptionDetails.fromJson( + json_['regionalLocationListDetails'] + as core.Map) + : null, + sensitiveCategoryExclusionDetails: + json_.containsKey('sensitiveCategoryExclusionDetails') + ? SensitiveCategoryAssignedTargetingOptionDetails.fromJson( + json_['sensitiveCategoryExclusionDetails'] + as core.Map) + : null, + sessionPositionDetails: json_.containsKey('sessionPositionDetails') + ? SessionPositionAssignedTargetingOptionDetails.fromJson( + json_['sessionPositionDetails'] + as core.Map) + : null, + subExchangeDetails: json_.containsKey('subExchangeDetails') + ? SubExchangeAssignedTargetingOptionDetails.fromJson( + json_['subExchangeDetails'] + as core.Map) + : null, + targetingType: json_['targetingType'] as core.String?, + thirdPartyVerifierDetails: + json_.containsKey('thirdPartyVerifierDetails') + ? ThirdPartyVerifierAssignedTargetingOptionDetails.fromJson( + json_['thirdPartyVerifierDetails'] + as core.Map) + : null, + urlDetails: json_.containsKey('urlDetails') + ? UrlAssignedTargetingOptionDetails.fromJson( + json_['urlDetails'] as core.Map) + : null, + userRewardedContentDetails: + json_.containsKey('userRewardedContentDetails') + ? UserRewardedContentAssignedTargetingOptionDetails.fromJson( + json_['userRewardedContentDetails'] + as core.Map) + : null, + videoPlayerSizeDetails: json_.containsKey('videoPlayerSizeDetails') + ? VideoPlayerSizeAssignedTargetingOptionDetails.fromJson( + json_['videoPlayerSizeDetails'] + as core.Map) + : null, + viewabilityDetails: json_.containsKey('viewabilityDetails') + ? ViewabilityAssignedTargetingOptionDetails.fromJson( + json_['viewabilityDetails'] + as core.Map) + : null, + youtubeChannelDetails: json_.containsKey('youtubeChannelDetails') + ? YoutubeChannelAssignedTargetingOptionDetails.fromJson( + json_['youtubeChannelDetails'] + as core.Map) + : null, + youtubeVideoDetails: json_.containsKey('youtubeVideoDetails') + ? YoutubeVideoAssignedTargetingOptionDetails.fromJson( + json_['youtubeVideoDetails'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (ageRangeDetails != null) 'ageRangeDetails': ageRangeDetails!, + if (appCategoryDetails != null) + 'appCategoryDetails': appCategoryDetails!, + if (appDetails != null) 'appDetails': appDetails!, + if (assignedTargetingOptionId != null) + 'assignedTargetingOptionId': assignedTargetingOptionId!, + if (assignedTargetingOptionIdAlias != null) + 'assignedTargetingOptionIdAlias': assignedTargetingOptionIdAlias!, + if (audienceGroupDetails != null) + 'audienceGroupDetails': audienceGroupDetails!, + if (audioContentTypeDetails != null) + 'audioContentTypeDetails': audioContentTypeDetails!, + if (authorizedSellerStatusDetails != null) + 'authorizedSellerStatusDetails': authorizedSellerStatusDetails!, + if (browserDetails != null) 'browserDetails': browserDetails!, + if (businessChainDetails != null) + 'businessChainDetails': businessChainDetails!, + if (carrierAndIspDetails != null) + 'carrierAndIspDetails': carrierAndIspDetails!, + if (categoryDetails != null) 'categoryDetails': categoryDetails!, + if (channelDetails != null) 'channelDetails': channelDetails!, + if (contentDurationDetails != null) + 'contentDurationDetails': contentDurationDetails!, + if (contentGenreDetails != null) + 'contentGenreDetails': contentGenreDetails!, + if (contentInstreamPositionDetails != null) + 'contentInstreamPositionDetails': contentInstreamPositionDetails!, + if (contentOutstreamPositionDetails != null) + 'contentOutstreamPositionDetails': contentOutstreamPositionDetails!, + if (contentStreamTypeDetails != null) + 'contentStreamTypeDetails': contentStreamTypeDetails!, + if (dayAndTimeDetails != null) 'dayAndTimeDetails': dayAndTimeDetails!, + if (deviceMakeModelDetails != null) + 'deviceMakeModelDetails': deviceMakeModelDetails!, + if (deviceTypeDetails != null) 'deviceTypeDetails': deviceTypeDetails!, + if (digitalContentLabelExclusionDetails != null) + 'digitalContentLabelExclusionDetails': + digitalContentLabelExclusionDetails!, + if (environmentDetails != null) + 'environmentDetails': environmentDetails!, + if (exchangeDetails != null) 'exchangeDetails': exchangeDetails!, + if (genderDetails != null) 'genderDetails': genderDetails!, + if (geoRegionDetails != null) 'geoRegionDetails': geoRegionDetails!, + if (householdIncomeDetails != null) + 'householdIncomeDetails': householdIncomeDetails!, + if (inheritance != null) 'inheritance': inheritance!, + if (inventorySourceDetails != null) + 'inventorySourceDetails': inventorySourceDetails!, + if (inventorySourceGroupDetails != null) + 'inventorySourceGroupDetails': inventorySourceGroupDetails!, + if (keywordDetails != null) 'keywordDetails': keywordDetails!, + if (languageDetails != null) 'languageDetails': languageDetails!, + if (name != null) 'name': name!, + if (nativeContentPositionDetails != null) + 'nativeContentPositionDetails': nativeContentPositionDetails!, + if (negativeKeywordListDetails != null) + 'negativeKeywordListDetails': negativeKeywordListDetails!, + if (omidDetails != null) 'omidDetails': omidDetails!, + if (onScreenPositionDetails != null) + 'onScreenPositionDetails': onScreenPositionDetails!, + if (operatingSystemDetails != null) + 'operatingSystemDetails': operatingSystemDetails!, + if (parentalStatusDetails != null) + 'parentalStatusDetails': parentalStatusDetails!, + if (poiDetails != null) 'poiDetails': poiDetails!, + if (proximityLocationListDetails != null) + 'proximityLocationListDetails': proximityLocationListDetails!, + if (regionalLocationListDetails != null) + 'regionalLocationListDetails': regionalLocationListDetails!, + if (sensitiveCategoryExclusionDetails != null) + 'sensitiveCategoryExclusionDetails': + sensitiveCategoryExclusionDetails!, + if (sessionPositionDetails != null) + 'sessionPositionDetails': sessionPositionDetails!, + if (subExchangeDetails != null) + 'subExchangeDetails': subExchangeDetails!, + if (targetingType != null) 'targetingType': targetingType!, + if (thirdPartyVerifierDetails != null) + 'thirdPartyVerifierDetails': thirdPartyVerifierDetails!, + if (urlDetails != null) 'urlDetails': urlDetails!, + if (userRewardedContentDetails != null) + 'userRewardedContentDetails': userRewardedContentDetails!, + if (videoPlayerSizeDetails != null) + 'videoPlayerSizeDetails': videoPlayerSizeDetails!, + if (viewabilityDetails != null) + 'viewabilityDetails': viewabilityDetails!, + if (youtubeChannelDetails != null) + 'youtubeChannelDetails': youtubeChannelDetails!, + if (youtubeVideoDetails != null) + 'youtubeVideoDetails': youtubeVideoDetails!, + }; +} + +/// A single assigned user role, which defines a user's authorized interaction +/// with a specified partner or advertiser. +typedef AssignedUserRole = $AssignedUserRole; + +/// 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 used as an +/// INTERSECTION with other groups. +class AudienceGroupAssignedTargetingOptionDetails { + /// The first party and partner audience ids and recencies of the excluded + /// first party and partner audience group. + /// + /// Used for negative targeting. The COMPLEMENT of the UNION of this group and + /// other excluded audience groups is used as an INTERSECTION to any positive + /// audience targeting. All items are logically ‘OR’ of each other. + /// + /// Optional. + FirstPartyAndPartnerAudienceGroup? excludedFirstPartyAndPartnerAudienceGroup; + + /// The Google audience ids of the excluded Google audience group. + /// + /// Used for negative targeting. The COMPLEMENT of the UNION of this group and + /// other excluded audience groups is used as an INTERSECTION to any positive + /// audience targeting. Only contains Affinity, In-market and Installed-apps + /// type Google audiences. All items are logically ‘OR’ of each other. + /// + /// Optional. + GoogleAudienceGroup? excludedGoogleAudienceGroup; + + /// The combined audience ids of the included combined audience group. + /// + /// Contains combined audience ids only. + /// + /// Optional. + CombinedAudienceGroup? includedCombinedAudienceGroup; + + /// The custom list ids of the included custom list group. + /// + /// Contains custom list ids only. + /// + /// Optional. + CustomListGroup? includedCustomListGroup; + + /// The first party and partner audience ids and recencies of included first + /// party and partner audience groups. + /// + /// Each first party and partner audience group contains first party and + /// partner audience ids only. The relation between each first party and + /// partner audience group is INTERSECTION, and the result is UNION'ed with + /// other audience groups. Repeated groups with the same settings will be + /// ignored. + /// + /// Optional. + core.List? + includedFirstPartyAndPartnerAudienceGroups; + + /// The Google audience ids of the included Google audience group. + /// + /// Contains Google audience ids only. + /// + /// Optional. + GoogleAudienceGroup? includedGoogleAudienceGroup; + + AudienceGroupAssignedTargetingOptionDetails({ + this.excludedFirstPartyAndPartnerAudienceGroup, + this.excludedGoogleAudienceGroup, + this.includedCombinedAudienceGroup, + this.includedCustomListGroup, + this.includedFirstPartyAndPartnerAudienceGroups, + this.includedGoogleAudienceGroup, + }); + + AudienceGroupAssignedTargetingOptionDetails.fromJson(core.Map json_) + : this( + excludedFirstPartyAndPartnerAudienceGroup: + json_.containsKey('excludedFirstPartyAndPartnerAudienceGroup') + ? FirstPartyAndPartnerAudienceGroup.fromJson( + json_['excludedFirstPartyAndPartnerAudienceGroup'] + as core.Map) + : null, + excludedGoogleAudienceGroup: + json_.containsKey('excludedGoogleAudienceGroup') + ? GoogleAudienceGroup.fromJson( + json_['excludedGoogleAudienceGroup'] + as core.Map) + : null, + includedCombinedAudienceGroup: + json_.containsKey('includedCombinedAudienceGroup') + ? CombinedAudienceGroup.fromJson( + json_['includedCombinedAudienceGroup'] + as core.Map) + : null, + includedCustomListGroup: json_.containsKey('includedCustomListGroup') + ? CustomListGroup.fromJson(json_['includedCustomListGroup'] + as core.Map) + : null, + includedFirstPartyAndPartnerAudienceGroups: + (json_['includedFirstPartyAndPartnerAudienceGroups'] + as core.List?) + ?.map((value) => FirstPartyAndPartnerAudienceGroup.fromJson( + value as core.Map)) + .toList(), + includedGoogleAudienceGroup: + json_.containsKey('includedGoogleAudienceGroup') + ? GoogleAudienceGroup.fromJson( + json_['includedGoogleAudienceGroup'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (excludedFirstPartyAndPartnerAudienceGroup != null) + 'excludedFirstPartyAndPartnerAudienceGroup': + excludedFirstPartyAndPartnerAudienceGroup!, + if (excludedGoogleAudienceGroup != null) + 'excludedGoogleAudienceGroup': excludedGoogleAudienceGroup!, + if (includedCombinedAudienceGroup != null) + 'includedCombinedAudienceGroup': includedCombinedAudienceGroup!, + if (includedCustomListGroup != null) + 'includedCustomListGroup': includedCustomListGroup!, + if (includedFirstPartyAndPartnerAudienceGroups != null) + 'includedFirstPartyAndPartnerAudienceGroups': + includedFirstPartyAndPartnerAudienceGroups!, + if (includedGoogleAudienceGroup != null) + 'includedGoogleAudienceGroup': includedGoogleAudienceGroup!, + }; +} + +/// Details for an audio ad. +class AudioAd { + /// The webpage address that appears with the ad. + core.String? displayUrl; + + /// The URL address of the webpage that people reach after they click the ad. + core.String? finalUrl; + + /// The URL address loaded in the background for tracking purposes. + core.String? trackingUrl; + + /// The YouTube video of the ad. + YoutubeVideoDetails? video; + + AudioAd({ + this.displayUrl, + this.finalUrl, + this.trackingUrl, + this.video, + }); + + AudioAd.fromJson(core.Map json_) + : this( + displayUrl: json_['displayUrl'] as core.String?, + finalUrl: json_['finalUrl'] as core.String?, + trackingUrl: json_['trackingUrl'] as core.String?, + video: json_.containsKey('video') + ? YoutubeVideoDetails.fromJson( + json_['video'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (displayUrl != null) 'displayUrl': displayUrl!, + if (finalUrl != null) 'finalUrl': finalUrl!, + if (trackingUrl != null) 'trackingUrl': trackingUrl!, + if (video != null) 'video': video!, + }; +} + +/// Details for audio content type assigned targeting option. +/// +/// This will be populated in the audio_content_type_details field when +/// targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`. Explicitly targeting +/// all options is not supported. Remove all audio content type targeting +/// options to achieve this effect. +typedef AudioContentTypeAssignedTargetingOptionDetails + = $AudioContentTypeAssignedTargetingOptionDetails; + +/// Represents a targetable audio content type. +/// +/// This will be populated in the audio_content_type_details field when +/// targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`. +typedef AudioContentTypeTargetingOptionDetails + = $AudioContentTypeTargetingOptionDetails; + +/// The length an audio or a video has been played. +typedef AudioVideoOffset = $AudioVideoOffset; + +/// Response message for AdvertiserService.AuditAdvertiser. +typedef AuditAdvertiserResponse = $AuditAdvertiserResponse; + +/// 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`. If a +/// resource does not have an `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` assigned +/// targeting option, it is using the "Authorized Direct Sellers and Resellers" +/// option. +typedef AuthorizedSellerStatusAssignedTargetingOptionDetails + = $AuthorizedSellerStatusAssignedTargetingOptionDetails; + +/// Represents a targetable authorized seller status. +/// +/// This will be populated in the authorized_seller_status_details field when +/// targeting_type is `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`. +typedef AuthorizedSellerStatusTargetingOptionDetails + = $AuthorizedSellerStatusTargetingOptionDetails; + +/// Settings that control the bid strategy. +/// +/// Bid strategy determines the bid price. +class BiddingStrategy { + /// A strategy that uses a fixed bid price. + FixedBidStrategy? fixedBid; + + /// A strategy that automatically adjusts the bid to optimize to your + /// performance goal while spending the full budget. + /// + /// At insertion order level, the markup_type of line items cannot be set to + /// `PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`. In addition, when + /// performance_goal_type is one of: * + /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA` * + /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC` * + /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` , the line_item_type of + /// the insertion order line items must be either: * + /// `LINE_ITEM_TYPE_DISPLAY_DEFAULT` * `LINE_ITEM_TYPE_VIDEO_DEFAULT` , and + /// when performance_goal_type is either: * + /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * + /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` the line_item_type of the + /// insertion order line items must be `LINE_ITEM_TYPE_VIDEO_DEFAULT`. + MaximizeSpendBidStrategy? maximizeSpendAutoBid; + + /// A strategy that automatically adjusts the bid to meet or beat a specified + /// performance goal. + /// + /// It is to be used only for a line item entity. + PerformanceGoalBidStrategy? performanceGoalAutoBid; + + /// A bid strategy used by YouTube and Partners resources. + /// + /// It can only be used for a YouTube and Partners line item or ad group + /// entity. + YoutubeAndPartnersBiddingStrategy? youtubeAndPartnersBid; + + BiddingStrategy({ + this.fixedBid, + this.maximizeSpendAutoBid, + this.performanceGoalAutoBid, + this.youtubeAndPartnersBid, + }); + + BiddingStrategy.fromJson(core.Map json_) + : this( + fixedBid: json_.containsKey('fixedBid') + ? FixedBidStrategy.fromJson( + json_['fixedBid'] as core.Map) + : null, + maximizeSpendAutoBid: json_.containsKey('maximizeSpendAutoBid') + ? MaximizeSpendBidStrategy.fromJson(json_['maximizeSpendAutoBid'] + as core.Map) + : null, + performanceGoalAutoBid: json_.containsKey('performanceGoalAutoBid') + ? PerformanceGoalBidStrategy.fromJson( + json_['performanceGoalAutoBid'] + as core.Map) + : null, + youtubeAndPartnersBid: json_.containsKey('youtubeAndPartnersBid') + ? YoutubeAndPartnersBiddingStrategy.fromJson( + json_['youtubeAndPartnersBid'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (fixedBid != null) 'fixedBid': fixedBid!, + if (maximizeSpendAutoBid != null) + 'maximizeSpendAutoBid': maximizeSpendAutoBid!, + if (performanceGoalAutoBid != null) + 'performanceGoalAutoBid': performanceGoalAutoBid!, + if (youtubeAndPartnersBid != null) + 'youtubeAndPartnersBid': youtubeAndPartnersBid!, + }; +} + +/// Details for assigned browser targeting option. +/// +/// This will be populated in the details field of an AssignedTargetingOption +/// when targeting_type is `TARGETING_TYPE_BROWSER`. +typedef BrowserAssignedTargetingOptionDetails + = $BrowserAssignedTargetingOptionDetails; + +/// Represents a targetable browser. +/// +/// This will be populated in the browser_details field when targeting_type is +/// `TARGETING_TYPE_BROWSER`. +typedef BrowserTargetingOptionDetails = $BrowserTargetingOptionDetails; + +/// Summarized information of an individual campaign budget. +class BudgetSummary { + /// Corresponds to the external_budget_id of a campaign budget. + /// + /// If the value is not set in the campaign budget, this field will be empty. + core.String? externalBudgetId; + + /// The sum of charges made under this budget before taxes, in micros of the + /// invoice's currency. + /// + /// For example, if currency_code is `USD`, then 1000000 represents one US + /// dollar. + core.String? preTaxAmountMicros; + + /// Relevant client, product, and estimate codes from the Mediaocean Prisma + /// tool. + /// + /// Only applicable for campaign budgets with an external_budget_source of + /// EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN. + PrismaCpeCode? prismaCpeCode; + + /// The amount of tax applied to charges under this budget, in micros of the + /// invoice's currency. + /// + /// For example, if currency_code is `USD`, then 1000000 represents one US + /// dollar. + core.String? taxAmountMicros; + + /// The total sum of charges made under this budget, including tax, in micros + /// of the invoice's currency. + /// + /// For example, if currency_code is `USD`, then 1000000 represents one US + /// dollar. + core.String? totalAmountMicros; + + BudgetSummary({ + this.externalBudgetId, + this.preTaxAmountMicros, + this.prismaCpeCode, + this.taxAmountMicros, + this.totalAmountMicros, + }); + + BudgetSummary.fromJson(core.Map json_) + : this( + externalBudgetId: json_['externalBudgetId'] as core.String?, + preTaxAmountMicros: json_['preTaxAmountMicros'] as core.String?, + prismaCpeCode: json_.containsKey('prismaCpeCode') + ? PrismaCpeCode.fromJson( + json_['prismaCpeCode'] as core.Map) + : null, + taxAmountMicros: json_['taxAmountMicros'] as core.String?, + totalAmountMicros: json_['totalAmountMicros'] as core.String?, + ); + + core.Map toJson() => { + if (externalBudgetId != null) 'externalBudgetId': externalBudgetId!, + if (preTaxAmountMicros != null) + 'preTaxAmountMicros': preTaxAmountMicros!, + if (prismaCpeCode != null) 'prismaCpeCode': prismaCpeCode!, + if (taxAmountMicros != null) 'taxAmountMicros': taxAmountMicros!, + if (totalAmountMicros != null) 'totalAmountMicros': totalAmountMicros!, + }; +} + +/// Request message for BulkEditAdvertiserAssignedTargetingOptions. +class BulkEditAdvertiserAssignedTargetingOptionsRequest { + /// The assigned targeting options to create in batch, specified as a list of + /// `CreateAssignedTargetingOptionsRequest`. + /// + /// Supported targeting types: * `TARGETING_TYPE_CHANNEL` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD` + core.List? createRequests; + + /// The assigned targeting options to delete in batch, specified as a list of + /// `DeleteAssignedTargetingOptionsRequest`. + /// + /// Supported targeting types: * `TARGETING_TYPE_CHANNEL` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD` + core.List? deleteRequests; + + BulkEditAdvertiserAssignedTargetingOptionsRequest({ + this.createRequests, + this.deleteRequests, + }); + + BulkEditAdvertiserAssignedTargetingOptionsRequest.fromJson(core.Map json_) + : this( + createRequests: (json_['createRequests'] as core.List?) + ?.map((value) => CreateAssignedTargetingOptionsRequest.fromJson( + value as core.Map)) + .toList(), + deleteRequests: (json_['deleteRequests'] as core.List?) + ?.map((value) => DeleteAssignedTargetingOptionsRequest.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (createRequests != null) 'createRequests': createRequests!, + if (deleteRequests != null) 'deleteRequests': deleteRequests!, + }; +} + +class BulkEditAdvertiserAssignedTargetingOptionsResponse { + /// The list of assigned targeting options that have been successfully + /// created. + /// + /// This list will be absent if empty. + core.List? createdAssignedTargetingOptions; + + BulkEditAdvertiserAssignedTargetingOptionsResponse({ + this.createdAssignedTargetingOptions, + }); + + BulkEditAdvertiserAssignedTargetingOptionsResponse.fromJson(core.Map json_) + : this( + createdAssignedTargetingOptions: + (json_['createdAssignedTargetingOptions'] as core.List?) + ?.map((value) => AssignedTargetingOption.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (createdAssignedTargetingOptions != null) + 'createdAssignedTargetingOptions': createdAssignedTargetingOptions!, + }; +} + +/// Request message for AssignedInventorySourceService.BulkEdit. +class BulkEditAssignedInventorySourcesRequest { + /// The ID of the advertiser that owns the parent inventory source group. + /// + /// The parent partner does not have access to these assigned inventory + /// sources. + core.String? advertiserId; + + /// The assigned inventory sources to create in bulk, specified as a list of + /// AssignedInventorySources. + core.List? createdAssignedInventorySources; + + /// The IDs of the assigned inventory sources to delete in bulk, specified as + /// a list of assigned_inventory_source_ids. + core.List? deletedAssignedInventorySources; + + /// The ID of the partner that owns the inventory source group. + /// + /// Only this partner has write access to these assigned inventory sources. + core.String? partnerId; + + BulkEditAssignedInventorySourcesRequest({ + this.advertiserId, + this.createdAssignedInventorySources, + this.deletedAssignedInventorySources, + this.partnerId, + }); + + BulkEditAssignedInventorySourcesRequest.fromJson(core.Map json_) + : this( + advertiserId: json_['advertiserId'] as core.String?, + createdAssignedInventorySources: + (json_['createdAssignedInventorySources'] as core.List?) + ?.map((value) => AssignedInventorySource.fromJson( + value as core.Map)) + .toList(), + deletedAssignedInventorySources: + (json_['deletedAssignedInventorySources'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + partnerId: json_['partnerId'] as core.String?, + ); + + core.Map toJson() => { + if (advertiserId != null) 'advertiserId': advertiserId!, + if (createdAssignedInventorySources != null) + 'createdAssignedInventorySources': createdAssignedInventorySources!, + if (deletedAssignedInventorySources != null) + 'deletedAssignedInventorySources': deletedAssignedInventorySources!, + if (partnerId != null) 'partnerId': partnerId!, + }; +} + +/// Response message for AssignedInventorySourceService.BulkEdit. +class BulkEditAssignedInventorySourcesResponse { + /// The list of assigned inventory sources that have been successfully + /// created. + /// + /// This list will be absent if empty. + core.List? assignedInventorySources; + + BulkEditAssignedInventorySourcesResponse({ + this.assignedInventorySources, + }); + + BulkEditAssignedInventorySourcesResponse.fromJson(core.Map json_) + : this( + assignedInventorySources: + (json_['assignedInventorySources'] as core.List?) + ?.map((value) => AssignedInventorySource.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (assignedInventorySources != null) + 'assignedInventorySources': assignedInventorySources!, + }; +} + +/// Request message for AssignedLocationService.BulkEditAssignedLocations. +class BulkEditAssignedLocationsRequest { + /// The assigned locations to create in bulk, specified as a list of + /// AssignedLocation resources. + core.List? createdAssignedLocations; + + /// The IDs of the assigned locations to delete in bulk, specified as a list + /// of assignedLocationId values. + core.List? deletedAssignedLocations; + + BulkEditAssignedLocationsRequest({ + this.createdAssignedLocations, + this.deletedAssignedLocations, + }); + + BulkEditAssignedLocationsRequest.fromJson(core.Map json_) + : this( + createdAssignedLocations: + (json_['createdAssignedLocations'] as core.List?) + ?.map((value) => AssignedLocation.fromJson( + value as core.Map)) + .toList(), + deletedAssignedLocations: + (json_['deletedAssignedLocations'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (createdAssignedLocations != null) + 'createdAssignedLocations': createdAssignedLocations!, + if (deletedAssignedLocations != null) + 'deletedAssignedLocations': deletedAssignedLocations!, + }; +} + +class BulkEditAssignedLocationsResponse { + /// The list of assigned locations that have been successfully created. + /// + /// This list will be absent if empty. + core.List? assignedLocations; + + BulkEditAssignedLocationsResponse({ + this.assignedLocations, + }); + + BulkEditAssignedLocationsResponse.fromJson(core.Map json_) + : this( + assignedLocations: (json_['assignedLocations'] as core.List?) + ?.map((value) => AssignedLocation.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (assignedLocations != null) 'assignedLocations': assignedLocations!, + }; +} + +/// Request message for BulkEditLineItemsAssignedTargetingOptions. +class BulkEditAssignedTargetingOptionsRequest { + /// The assigned targeting options to create in batch, specified as a list of + /// CreateAssignedTargetingOptionsRequest. + /// + /// Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * + /// `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * + /// `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * + /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * + /// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * + /// `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * + /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * + /// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * + /// `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * + /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * + /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * + /// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * + /// `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * + /// `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * + /// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` + core.List? createRequests; + + /// The assigned targeting options to delete in batch, specified as a list of + /// DeleteAssignedTargetingOptionsRequest. + /// + /// Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * + /// `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * + /// `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * + /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * + /// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * + /// `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * + /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * + /// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * + /// `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * + /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * + /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * + /// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * + /// `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * + /// `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * + /// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` + core.List? deleteRequests; + + /// The ID of the line items whose targeting is being updated. + /// + /// Required. + core.List? lineItemIds; + + BulkEditAssignedTargetingOptionsRequest({ + this.createRequests, + this.deleteRequests, + this.lineItemIds, + }); + + BulkEditAssignedTargetingOptionsRequest.fromJson(core.Map json_) + : this( + createRequests: (json_['createRequests'] as core.List?) + ?.map((value) => CreateAssignedTargetingOptionsRequest.fromJson( + value as core.Map)) + .toList(), + deleteRequests: (json_['deleteRequests'] as core.List?) + ?.map((value) => DeleteAssignedTargetingOptionsRequest.fromJson( + value as core.Map)) + .toList(), + lineItemIds: (json_['lineItemIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (createRequests != null) 'createRequests': createRequests!, + if (deleteRequests != null) 'deleteRequests': deleteRequests!, + if (lineItemIds != null) 'lineItemIds': lineItemIds!, + }; +} + +class BulkEditAssignedTargetingOptionsResponse { + /// The error information for each line item that failed to update. + core.List? errors; + + /// The IDs of the line items which failed. + /// + /// Output only. + core.List? failedLineItemIds; + + /// The IDs of the line items which successfully updated. + /// + /// Output only. + core.List? updatedLineItemIds; + + BulkEditAssignedTargetingOptionsResponse({ + this.errors, + this.failedLineItemIds, + this.updatedLineItemIds, + }); + + BulkEditAssignedTargetingOptionsResponse.fromJson(core.Map json_) + : this( + errors: (json_['errors'] as core.List?) + ?.map((value) => + Status.fromJson(value as core.Map)) + .toList(), + failedLineItemIds: (json_['failedLineItemIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + updatedLineItemIds: (json_['updatedLineItemIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (errors != null) 'errors': errors!, + if (failedLineItemIds != null) 'failedLineItemIds': failedLineItemIds!, + if (updatedLineItemIds != null) + 'updatedLineItemIds': updatedLineItemIds!, + }; +} + +/// Request message for BulkEditAssignedUserRoles. +class BulkEditAssignedUserRolesRequest { + /// The assigned user roles to create in batch, specified as a list of + /// AssignedUserRoles. + core.List? createdAssignedUserRoles; + + /// The assigned user roles to delete in batch, specified as a list of + /// assigned_user_role_ids. + /// + /// The format of assigned_user_role_id is `entityType-entityid`, for example + /// `partner-123`. + core.List? deletedAssignedUserRoles; + + BulkEditAssignedUserRolesRequest({ + this.createdAssignedUserRoles, + this.deletedAssignedUserRoles, + }); + + BulkEditAssignedUserRolesRequest.fromJson(core.Map json_) + : this( + createdAssignedUserRoles: + (json_['createdAssignedUserRoles'] as core.List?) + ?.map((value) => AssignedUserRole.fromJson( + value as core.Map)) + .toList(), + deletedAssignedUserRoles: + (json_['deletedAssignedUserRoles'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (createdAssignedUserRoles != null) + 'createdAssignedUserRoles': createdAssignedUserRoles!, + if (deletedAssignedUserRoles != null) + 'deletedAssignedUserRoles': deletedAssignedUserRoles!, + }; +} + +class BulkEditAssignedUserRolesResponse { + /// The list of assigned user roles that have been successfully created. + /// + /// This list will be absent if empty. + core.List? createdAssignedUserRoles; + + BulkEditAssignedUserRolesResponse({ + this.createdAssignedUserRoles, + }); + + BulkEditAssignedUserRolesResponse.fromJson(core.Map json_) + : this( + createdAssignedUserRoles: + (json_['createdAssignedUserRoles'] as core.List?) + ?.map((value) => AssignedUserRole.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (createdAssignedUserRoles != null) + 'createdAssignedUserRoles': createdAssignedUserRoles!, + }; +} + +/// Request message for NegativeKeywordService.BulkEditNegativeKeywords. +class BulkEditNegativeKeywordsRequest { + /// The negative keywords to create in batch, specified as a list of + /// NegativeKeywords. + core.List? createdNegativeKeywords; + + /// The negative keywords to delete in batch, specified as a list of + /// keyword_values. + core.List? deletedNegativeKeywords; + + BulkEditNegativeKeywordsRequest({ + this.createdNegativeKeywords, + this.deletedNegativeKeywords, + }); + + BulkEditNegativeKeywordsRequest.fromJson(core.Map json_) + : this( + createdNegativeKeywords: + (json_['createdNegativeKeywords'] as core.List?) + ?.map((value) => NegativeKeyword.fromJson( + value as core.Map)) + .toList(), + deletedNegativeKeywords: + (json_['deletedNegativeKeywords'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (createdNegativeKeywords != null) + 'createdNegativeKeywords': createdNegativeKeywords!, + if (deletedNegativeKeywords != null) + 'deletedNegativeKeywords': deletedNegativeKeywords!, + }; +} + +/// Response message for NegativeKeywordService.BulkEditNegativeKeywords. +class BulkEditNegativeKeywordsResponse { + /// The list of negative keywords that have been successfully created. + /// + /// This list will be absent if empty. + core.List? negativeKeywords; + + BulkEditNegativeKeywordsResponse({ + this.negativeKeywords, + }); + + BulkEditNegativeKeywordsResponse.fromJson(core.Map json_) + : this( + negativeKeywords: (json_['negativeKeywords'] as core.List?) + ?.map((value) => NegativeKeyword.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (negativeKeywords != null) 'negativeKeywords': negativeKeywords!, + }; +} + +/// Request message for BulkEditPartnerAssignedTargetingOptions. +class BulkEditPartnerAssignedTargetingOptionsRequest { + /// The assigned targeting options to create in batch, specified as a list of + /// `CreateAssignedTargetingOptionsRequest`. + /// + /// Supported targeting types: * `TARGETING_TYPE_CHANNEL` + core.List? createRequests; + + /// The assigned targeting options to delete in batch, specified as a list of + /// `DeleteAssignedTargetingOptionsRequest`. + /// + /// Supported targeting types: * `TARGETING_TYPE_CHANNEL` + core.List? deleteRequests; + + BulkEditPartnerAssignedTargetingOptionsRequest({ + this.createRequests, + this.deleteRequests, + }); + + BulkEditPartnerAssignedTargetingOptionsRequest.fromJson(core.Map json_) + : this( + createRequests: (json_['createRequests'] as core.List?) + ?.map((value) => CreateAssignedTargetingOptionsRequest.fromJson( + value as core.Map)) + .toList(), + deleteRequests: (json_['deleteRequests'] as core.List?) + ?.map((value) => DeleteAssignedTargetingOptionsRequest.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (createRequests != null) 'createRequests': createRequests!, + if (deleteRequests != null) 'deleteRequests': deleteRequests!, + }; +} + +class BulkEditPartnerAssignedTargetingOptionsResponse { + /// The list of assigned targeting options that have been successfully + /// created. + /// + /// This list will be absent if empty. + core.List? createdAssignedTargetingOptions; + + BulkEditPartnerAssignedTargetingOptionsResponse({ + this.createdAssignedTargetingOptions, + }); + + BulkEditPartnerAssignedTargetingOptionsResponse.fromJson(core.Map json_) + : this( + createdAssignedTargetingOptions: + (json_['createdAssignedTargetingOptions'] as core.List?) + ?.map((value) => AssignedTargetingOption.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (createdAssignedTargetingOptions != null) + 'createdAssignedTargetingOptions': createdAssignedTargetingOptions!, + }; +} + +/// Request message for SiteService.BulkEditSites. +class BulkEditSitesRequest { + /// The ID of the advertiser that owns the parent channel. + core.String? advertiserId; + + /// The sites to create in batch, specified as a list of Sites. + core.List? createdSites; + + /// The sites to delete in batch, specified as a list of site url_or_app_ids. + core.List? deletedSites; + + /// The ID of the partner that owns the parent channel. + core.String? partnerId; + + BulkEditSitesRequest({ + this.advertiserId, + this.createdSites, + this.deletedSites, + this.partnerId, + }); + + BulkEditSitesRequest.fromJson(core.Map json_) + : this( + advertiserId: json_['advertiserId'] as core.String?, + createdSites: (json_['createdSites'] as core.List?) + ?.map((value) => + Site.fromJson(value as core.Map)) + .toList(), + deletedSites: (json_['deletedSites'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + partnerId: json_['partnerId'] as core.String?, + ); + + core.Map toJson() => { + if (advertiserId != null) 'advertiserId': advertiserId!, + if (createdSites != null) 'createdSites': createdSites!, + if (deletedSites != null) 'deletedSites': deletedSites!, + if (partnerId != null) 'partnerId': partnerId!, + }; +} + +/// Response message for SiteService.BulkEditSites. +class BulkEditSitesResponse { + /// The list of sites that have been successfully created. + /// + /// This list will be absent if empty. + core.List? sites; + + BulkEditSitesResponse({ + this.sites, + }); + + BulkEditSitesResponse.fromJson(core.Map json_) + : this( + sites: (json_['sites'] as core.List?) + ?.map((value) => + Site.fromJson(value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (sites != null) 'sites': sites!, + }; +} + +class BulkListAdGroupAssignedTargetingOptionsResponse { + /// The list of wrapper objects, each providing an assigned targeting option + /// and the ad group it is assigned to. + /// + /// This list will be absent if empty. + core.List? adGroupAssignedTargetingOptions; + + /// A token identifying the next page of results. + /// + /// This value should be specified as the pageToken in a subsequent call to + /// `BulkListAdGroupAssignedTargetingOptions` to fetch the next page of + /// results. This token will be absent if there are no more + /// AdGroupAssignedTargetingOption resources to return. + core.String? nextPageToken; + + BulkListAdGroupAssignedTargetingOptionsResponse({ + this.adGroupAssignedTargetingOptions, + this.nextPageToken, + }); + + BulkListAdGroupAssignedTargetingOptionsResponse.fromJson(core.Map json_) + : this( + adGroupAssignedTargetingOptions: + (json_['adGroupAssignedTargetingOptions'] as core.List?) + ?.map((value) => AdGroupAssignedTargetingOption.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (adGroupAssignedTargetingOptions != null) + 'adGroupAssignedTargetingOptions': adGroupAssignedTargetingOptions!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +class BulkListAdvertiserAssignedTargetingOptionsResponse { + /// The list of assigned targeting options. + /// + /// This list will be absent if empty. + core.List? assignedTargetingOptions; + + /// A token identifying the next page of results. + /// + /// This value should be specified as the pageToken in a subsequent + /// BulkListAdvertiserAssignedTargetingOptionsRequest to fetch the next page + /// of results. This token will be absent if there are no more + /// assigned_targeting_options to return. + core.String? nextPageToken; + + BulkListAdvertiserAssignedTargetingOptionsResponse({ + this.assignedTargetingOptions, + this.nextPageToken, + }); + + BulkListAdvertiserAssignedTargetingOptionsResponse.fromJson(core.Map json_) + : this( + assignedTargetingOptions: + (json_['assignedTargetingOptions'] as core.List?) + ?.map((value) => AssignedTargetingOption.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (assignedTargetingOptions != null) + 'assignedTargetingOptions': assignedTargetingOptions!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +class BulkListAssignedTargetingOptionsResponse { + /// The list of wrapper objects, each providing an assigned targeting option + /// and the line item it is assigned to. + /// + /// This list will be absent if empty. + core.List? lineItemAssignedTargetingOptions; + + /// A token identifying the next page of results. + /// + /// This value should be specified as the pageToken in a subsequent call to + /// `BulkListAssignedTargetingOptions` to fetch the next page of results. This + /// token will be absent if there are no more + /// line_item_assigned_targeting_options to return. + core.String? nextPageToken; + + BulkListAssignedTargetingOptionsResponse({ + this.lineItemAssignedTargetingOptions, + this.nextPageToken, + }); + + BulkListAssignedTargetingOptionsResponse.fromJson(core.Map json_) + : this( + lineItemAssignedTargetingOptions: + (json_['lineItemAssignedTargetingOptions'] as core.List?) + ?.map((value) => LineItemAssignedTargetingOption.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (lineItemAssignedTargetingOptions != null) + 'lineItemAssignedTargetingOptions': lineItemAssignedTargetingOptions!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +/// Request message for LineItemService.BulkUpdateLineItems. +class BulkUpdateLineItemsRequest { + /// IDs of line items to update. + /// + /// Required. + core.List? lineItemIds; + + /// A line item object containing the fields to be updated and the new values + /// to assign to all line items specified in line_item_ids." + /// + /// Required. + LineItem? targetLineItem; + + /// A field mask identifying which fields to update. + /// + /// Only the following fields are currently supported: * entityStatus + /// + /// Required. + core.String? updateMask; + + BulkUpdateLineItemsRequest({ + this.lineItemIds, + this.targetLineItem, + this.updateMask, + }); + + BulkUpdateLineItemsRequest.fromJson(core.Map json_) + : this( + lineItemIds: (json_['lineItemIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + targetLineItem: json_.containsKey('targetLineItem') + ? LineItem.fromJson(json_['targetLineItem'] + as core.Map) + : null, + updateMask: json_['updateMask'] as core.String?, + ); + + core.Map toJson() => { + if (lineItemIds != null) 'lineItemIds': lineItemIds!, + if (targetLineItem != null) 'targetLineItem': targetLineItem!, + if (updateMask != null) 'updateMask': updateMask!, + }; +} + +/// Response message for LineItemService.BulkUpdateLineItems. +class BulkUpdateLineItemsResponse { + /// Errors returned by line items that failed to update. + core.List? errors; + + /// The IDs of line items that failed to update. + core.List? failedLineItemIds; + + /// The IDs of line items that are skipped for updates. + /// + /// For example, unnecessary mutates that will result in effectively no + /// changes to line items will be skipped and corresponding line item IDs can + /// be tracked here. + core.List? skippedLineItemIds; + + /// The IDs of successfully updated line items. + core.List? updatedLineItemIds; + + BulkUpdateLineItemsResponse({ + this.errors, + this.failedLineItemIds, + this.skippedLineItemIds, + this.updatedLineItemIds, + }); + + BulkUpdateLineItemsResponse.fromJson(core.Map json_) + : this( + errors: (json_['errors'] as core.List?) + ?.map((value) => + Status.fromJson(value as core.Map)) + .toList(), + failedLineItemIds: (json_['failedLineItemIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + skippedLineItemIds: (json_['skippedLineItemIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + updatedLineItemIds: (json_['updatedLineItemIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (errors != null) 'errors': errors!, + if (failedLineItemIds != null) 'failedLineItemIds': failedLineItemIds!, + if (skippedLineItemIds != null) + 'skippedLineItemIds': skippedLineItemIds!, + if (updatedLineItemIds != null) + 'updatedLineItemIds': updatedLineItemIds!, + }; +} + +/// Details for a bumper ad. +class BumperAd { + /// Common ad attributes. + CommonInStreamAttribute? commonInStreamAttribute; + + BumperAd({ + this.commonInStreamAttribute, + }); + + BumperAd.fromJson(core.Map json_) + : this( + commonInStreamAttribute: json_.containsKey('commonInStreamAttribute') + ? CommonInStreamAttribute.fromJson( + json_['commonInStreamAttribute'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (commonInStreamAttribute != null) + 'commonInStreamAttribute': commonInStreamAttribute!, + }; +} + +/// 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`. +typedef BusinessChainAssignedTargetingOptionDetails + = $BusinessChainAssignedTargetingOptionDetails; + +/// Search terms for Business Chain targeting options. +/// +/// At least one of the field should be populated. +typedef BusinessChainSearchTerms = $BusinessChainSearchTerms; + +/// Represents a targetable business chain within a geo region. +/// +/// This will be populated in the business_chain_details field when +/// targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. +typedef BusinessChainTargetingOptionDetails + = $BusinessChainTargetingOptionDetails; + +/// A single campaign. +class Campaign { + /// The unique ID of the advertiser the campaign belongs to. + /// + /// Output only. + core.String? advertiserId; + + /// The list of budgets available to this campaign. + /// + /// If this field is not set, the campaign uses an unlimited budget. + core.List? campaignBudgets; + + /// The planned spend and duration of the campaign. + /// + /// Required. + CampaignFlight? campaignFlight; + + /// The goal of the campaign. + /// + /// Required. + CampaignGoal? campaignGoal; + + /// The unique ID of the campaign. + /// + /// Assigned by the system. + /// + /// Output only. + core.String? campaignId; + + /// The display name of the campaign. + /// + /// Must be UTF-8 encoded with a maximum size of 240 bytes. + /// + /// Required. + core.String? displayName; + + /// 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. + /// + /// Required. + /// Possible string values are: + /// - "ENTITY_STATUS_UNSPECIFIED" : Default value when status is not specified + /// or is unknown in this version. + /// - "ENTITY_STATUS_ACTIVE" : The entity is enabled to bid and spend budget. + /// - "ENTITY_STATUS_ARCHIVED" : The entity is archived. Bidding and budget + /// spending are disabled. An entity can be deleted after archived. Deleted + /// entities cannot be retrieved. + /// - "ENTITY_STATUS_DRAFT" : The entity is under draft. Bidding and budget + /// spending are disabled. + /// - "ENTITY_STATUS_PAUSED" : Bidding and budget spending are paused for the + /// entity. + /// - "ENTITY_STATUS_SCHEDULED_FOR_DELETION" : The entity is scheduled for + /// deletion. + core.String? entityStatus; + + /// The frequency cap setting of the campaign. + /// + /// *Warning*: On **February 28, 2025**, frequency cap time periods greater + /// than 30 days will no longer be accepted. \[Read more about this announced + /// change\](/display-video/api/deprecations#features.lifetime_frequency_cap) + /// + /// Required. + FrequencyCap? frequencyCap; + + /// The resource name of the campaign. + /// + /// Output only. + core.String? name; + + /// The timestamp when the campaign was last updated. + /// + /// Assigned by the system. + /// + /// Output only. + core.String? updateTime; + + Campaign({ + this.advertiserId, + this.campaignBudgets, + this.campaignFlight, + this.campaignGoal, + this.campaignId, + this.displayName, + this.entityStatus, + this.frequencyCap, + this.name, + this.updateTime, + }); + + Campaign.fromJson(core.Map json_) + : this( + advertiserId: json_['advertiserId'] as core.String?, + campaignBudgets: (json_['campaignBudgets'] as core.List?) + ?.map((value) => CampaignBudget.fromJson( + value as core.Map)) + .toList(), + campaignFlight: json_.containsKey('campaignFlight') + ? CampaignFlight.fromJson(json_['campaignFlight'] + as core.Map) + : null, + campaignGoal: json_.containsKey('campaignGoal') + ? CampaignGoal.fromJson( + json_['campaignGoal'] as core.Map) + : null, + campaignId: json_['campaignId'] as core.String?, + displayName: json_['displayName'] as core.String?, + entityStatus: json_['entityStatus'] as core.String?, + frequencyCap: json_.containsKey('frequencyCap') + ? FrequencyCap.fromJson( + json_['frequencyCap'] as core.Map) + : null, + name: json_['name'] as core.String?, + updateTime: json_['updateTime'] as core.String?, + ); + + core.Map toJson() => { + if (advertiserId != null) 'advertiserId': advertiserId!, + if (campaignBudgets != null) 'campaignBudgets': campaignBudgets!, + if (campaignFlight != null) 'campaignFlight': campaignFlight!, + if (campaignGoal != null) 'campaignGoal': campaignGoal!, + if (campaignId != null) 'campaignId': campaignId!, + if (displayName != null) 'displayName': displayName!, + if (entityStatus != null) 'entityStatus': entityStatus!, + if (frequencyCap != null) 'frequencyCap': frequencyCap!, + if (name != null) 'name': name!, + if (updateTime != null) 'updateTime': updateTime!, + }; +} + +/// Settings that control how the campaign budget is allocated. +class CampaignBudget { + /// 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. + /// + /// Required. + core.String? budgetAmountMicros; + + /// 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. + core.String? budgetId; + + /// Specifies whether the budget is measured in currency or impressions. + /// + /// Required. Immutable. + /// Possible string values are: + /// - "BUDGET_UNIT_UNSPECIFIED" : Type value is not specified or is unknown in + /// this version. + /// - "BUDGET_UNIT_CURRENCY" : Budgeting in currency amounts. + /// - "BUDGET_UNIT_IMPRESSIONS" : Budgeting in impression amounts. + core.String? budgetUnit; + + /// 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. + /// + /// Required. + DateRange? dateRange; + + /// The display name of the budget. + /// + /// Must be UTF-8 encoded with a maximum size of 240 bytes. + /// + /// Required. + core.String? displayName; + + /// 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. + /// + /// Immutable. + core.String? externalBudgetId; + + /// The external source of the budget. + /// + /// Required. + /// Possible string values are: + /// - "EXTERNAL_BUDGET_SOURCE_UNSPECIFIED" : External budget source value is + /// not specified or unknown in this version. + /// - "EXTERNAL_BUDGET_SOURCE_NONE" : Budget has no external source. + /// - "EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN" : Budget source is Mediaocean. + core.String? externalBudgetSource; + + /// 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. + /// + /// Immutable. + core.String? invoiceGroupingId; + + /// Additional metadata for use by the Mediaocean Prisma tool. + /// + /// Required for Mediaocean budgets. Only applicable to prisma_enabled + /// advertisers. + PrismaConfig? prismaConfig; + + CampaignBudget({ + this.budgetAmountMicros, + this.budgetId, + this.budgetUnit, + this.dateRange, + this.displayName, + this.externalBudgetId, + this.externalBudgetSource, + this.invoiceGroupingId, + this.prismaConfig, + }); + + CampaignBudget.fromJson(core.Map json_) + : this( + budgetAmountMicros: json_['budgetAmountMicros'] as core.String?, + budgetId: json_['budgetId'] as core.String?, + budgetUnit: json_['budgetUnit'] as core.String?, + dateRange: json_.containsKey('dateRange') + ? DateRange.fromJson( + json_['dateRange'] as core.Map) + : null, + displayName: json_['displayName'] as core.String?, + externalBudgetId: json_['externalBudgetId'] as core.String?, + externalBudgetSource: json_['externalBudgetSource'] as core.String?, + invoiceGroupingId: json_['invoiceGroupingId'] as core.String?, + prismaConfig: json_.containsKey('prismaConfig') + ? PrismaConfig.fromJson( + json_['prismaConfig'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (budgetAmountMicros != null) + 'budgetAmountMicros': budgetAmountMicros!, + if (budgetId != null) 'budgetId': budgetId!, + if (budgetUnit != null) 'budgetUnit': budgetUnit!, + if (dateRange != null) 'dateRange': dateRange!, + if (displayName != null) 'displayName': displayName!, + if (externalBudgetId != null) 'externalBudgetId': externalBudgetId!, + if (externalBudgetSource != null) + 'externalBudgetSource': externalBudgetSource!, + if (invoiceGroupingId != null) 'invoiceGroupingId': invoiceGroupingId!, + if (prismaConfig != null) 'prismaConfig': prismaConfig!, + }; +} + +/// Settings that track the planned spend and duration of a campaign. +class CampaignFlight { + /// 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. + /// + /// Required. + DateRange? plannedDates; + + /// 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. + core.String? plannedSpendAmountMicros; + + CampaignFlight({ + this.plannedDates, + this.plannedSpendAmountMicros, + }); + + CampaignFlight.fromJson(core.Map json_) + : this( + plannedDates: json_.containsKey('plannedDates') + ? DateRange.fromJson( + json_['plannedDates'] as core.Map) + : null, + plannedSpendAmountMicros: + json_['plannedSpendAmountMicros'] as core.String?, + ); + + core.Map toJson() => { + if (plannedDates != null) 'plannedDates': plannedDates!, + if (plannedSpendAmountMicros != null) + 'plannedSpendAmountMicros': plannedSpendAmountMicros!, + }; +} + +/// Settings that control the goal of a campaign. +class CampaignGoal { + /// The type of the campaign goal. + /// + /// Required. + /// Possible string values are: + /// - "CAMPAIGN_GOAL_TYPE_UNSPECIFIED" : Goal value is not specified or + /// unknown in this version. + /// - "CAMPAIGN_GOAL_TYPE_APP_INSTALL" : Drive app installs or engagements. + /// - "CAMPAIGN_GOAL_TYPE_BRAND_AWARENESS" : Raise awareness of a brand or + /// product. + /// - "CAMPAIGN_GOAL_TYPE_OFFLINE_ACTION" : Drive offline or in-store sales. + /// - "CAMPAIGN_GOAL_TYPE_ONLINE_ACTION" : Drive online action or visits. + core.String? campaignGoalType; + + /// 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` + /// + /// Required. + PerformanceGoal? performanceGoal; + + CampaignGoal({ + this.campaignGoalType, + this.performanceGoal, + }); + + CampaignGoal.fromJson(core.Map json_) + : this( + campaignGoalType: json_['campaignGoalType'] as core.String?, + performanceGoal: json_.containsKey('performanceGoal') + ? PerformanceGoal.fromJson(json_['performanceGoal'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (campaignGoalType != null) 'campaignGoalType': campaignGoalType!, + if (performanceGoal != null) 'performanceGoal': performanceGoal!, + }; +} + +/// 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`. +typedef CarrierAndIspAssignedTargetingOptionDetails + = $CarrierAndIspAssignedTargetingOptionDetails; + +/// Represents a targetable carrier or ISP. +/// +/// This will be populated in the carrier_and_isp_details field of a +/// TargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. +typedef CarrierAndIspTargetingOptionDetails + = $CarrierAndIspTargetingOptionDetails; + +/// Assigned category targeting option details. +/// +/// This will be populated in the category_details field when targeting_type is +/// `TARGETING_TYPE_CATEGORY`. +typedef CategoryAssignedTargetingOptionDetails + = $CategoryAssignedTargetingOptionDetails; + +/// Represents a targetable category. +/// +/// This will be populated in the category_details field of a TargetingOption +/// when targeting_type is `TARGETING_TYPE_CATEGORY`. +typedef CategoryTargetingOptionDetails = $CategoryTargetingOptionDetails; + +/// A single channel. +/// +/// Channels are custom groups of related websites and apps. +typedef Channel = $Channel00; + +/// Details for assigned channel targeting option. +/// +/// This will be populated in the details field of an AssignedTargetingOption +/// when targeting_type is `TARGETING_TYPE_CHANNEL`. +typedef ChannelAssignedTargetingOptionDetails + = $ChannelAssignedTargetingOptionDetails; + +/// Settings for advertisers that use both Campaign Manager 360 (CM360) and +/// third-party ad servers. +typedef CmHybridConfig = $CmHybridConfig; + +/// A Campaign Manager 360 tracking ad. +typedef CmTrackingAd = $CmTrackingAd; + +/// Describes a combined audience resource. +typedef CombinedAudience = $CombinedAudience; + +/// Details of combined audience group. +/// +/// All combined audience targeting settings are logically ‘OR’ of each other. +class CombinedAudienceGroup { + /// All combined audience targeting settings in combined audience group. + /// + /// Repeated settings with the same id will be ignored. The number of combined + /// audience settings should be no more than five, error will be thrown + /// otherwise. + /// + /// Required. + core.List? settings; + + CombinedAudienceGroup({ + this.settings, + }); + + CombinedAudienceGroup.fromJson(core.Map json_) + : this( + settings: (json_['settings'] as core.List?) + ?.map((value) => CombinedAudienceTargetingSetting.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (settings != null) 'settings': settings!, + }; +} + +/// Details of combined audience targeting setting. +typedef CombinedAudienceTargetingSetting = $CombinedAudienceTargetingSetting; + +/// Common attributes for in-stream, non-skippable and bumper ads. +class CommonInStreamAttribute { + /// The text on the call-to-action button. + core.String? actionButtonLabel; + + /// The headline of the call-to-action banner. + core.String? actionHeadline; + + /// The image which shows next to the video ad. + ImageAsset? companionBanner; + + /// The webpage address that appears with the ad. + core.String? displayUrl; + + /// The URL address of the webpage that people reach after they click the ad. + core.String? finalUrl; + + /// The URL address loaded in the background for tracking purposes. + core.String? trackingUrl; + + /// The YouTube video of the ad. + YoutubeVideoDetails? video; + + CommonInStreamAttribute({ + this.actionButtonLabel, + this.actionHeadline, + this.companionBanner, + this.displayUrl, + this.finalUrl, + this.trackingUrl, + this.video, + }); + + CommonInStreamAttribute.fromJson(core.Map json_) + : this( + actionButtonLabel: json_['actionButtonLabel'] as core.String?, + actionHeadline: json_['actionHeadline'] as core.String?, + companionBanner: json_.containsKey('companionBanner') + ? ImageAsset.fromJson(json_['companionBanner'] + as core.Map) + : null, + displayUrl: json_['displayUrl'] as core.String?, + finalUrl: json_['finalUrl'] as core.String?, + trackingUrl: json_['trackingUrl'] as core.String?, + video: json_.containsKey('video') + ? YoutubeVideoDetails.fromJson( + json_['video'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (actionButtonLabel != null) 'actionButtonLabel': actionButtonLabel!, + if (actionHeadline != null) 'actionHeadline': actionHeadline!, + if (companionBanner != null) 'companionBanner': companionBanner!, + if (displayUrl != null) 'displayUrl': displayUrl!, + if (finalUrl != null) 'finalUrl': finalUrl!, + if (trackingUrl != null) 'trackingUrl': trackingUrl!, + if (video != null) 'video': video!, + }; +} + +/// User consent status. +typedef Consent = $Consent; + +/// Contact information defining a Customer Match audience member. +typedef ContactInfo = $ContactInfo; + +/// Wrapper message for a list of contact information defining Customer Match +/// audience members. +class ContactInfoList { + /// Input only. + /// + /// The consent setting for the users in contact_infos. Leaving this field + /// unset indicates that consent is not specified. If ad_user_data or + /// ad_personalization fields are set to `CONSENT_STATUS_DENIED`, the request + /// will return an error. + Consent? consent; + + /// A list of ContactInfo objects defining Customer Match audience members. + /// + /// The size of members after splitting the contact_infos mustn't be greater + /// than 500,000. + core.List? contactInfos; + + ContactInfoList({ + this.consent, + this.contactInfos, + }); + + ContactInfoList.fromJson(core.Map json_) + : this( + consent: json_.containsKey('consent') + ? Consent.fromJson( + json_['consent'] as core.Map) + : null, + contactInfos: (json_['contactInfos'] as core.List?) + ?.map((value) => ContactInfo.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (consent != null) 'consent': consent!, + if (contactInfos != null) 'contactInfos': contactInfos!, + }; +} + +/// Details for content duration assigned targeting option. +/// +/// This will be populated in the content_duration_details field when +/// targeting_type is `TARGETING_TYPE_CONTENT_DURATION`. Explicitly targeting +/// all options is not supported. Remove all content duration targeting options +/// to achieve this effect. +typedef ContentDurationAssignedTargetingOptionDetails + = $ContentDurationAssignedTargetingOptionDetails; + +/// Represents a targetable content duration. +/// +/// This will be populated in the content_duration_details field when +/// targeting_type is `TARGETING_TYPE_CONTENT_DURATION`. +typedef ContentDurationTargetingOptionDetails + = $ContentDurationTargetingOptionDetails; + +/// Details for content genre assigned targeting option. +/// +/// This will be populated in the content_genre_details field when +/// targeting_type is `TARGETING_TYPE_CONTENT_GENRE`. Explicitly targeting all +/// options is not supported. Remove all content genre targeting options to +/// achieve this effect. +typedef ContentGenreAssignedTargetingOptionDetails + = $ContentGenreAssignedTargetingOptionDetails; + +/// Represents a targetable content genre. +/// +/// This will be populated in the content_genre_details field when +/// targeting_type is `TARGETING_TYPE_CONTENT_GENRE`. +typedef ContentGenreTargetingOptionDetails + = $ContentGenreTargetingOptionDetails; + +/// 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`. +typedef ContentInstreamPositionAssignedTargetingOptionDetails + = $ContentInstreamPositionAssignedTargetingOptionDetails; + +/// Represents a targetable content instream position, which could be used by +/// video and audio ads. +/// +/// This will be populated in the content_instream_position_details field when +/// targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`. +typedef ContentInstreamPositionTargetingOptionDetails + = $ContentInstreamPositionTargetingOptionDetails; + +/// 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`. +typedef ContentOutstreamPositionAssignedTargetingOptionDetails + = $ContentOutstreamPositionAssignedTargetingOptionDetails; + +/// Represents a targetable content outstream position, which could be used by +/// display and video ads. +/// +/// This will be populated in the content_outstream_position_details field when +/// targeting_type is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`. +typedef ContentOutstreamPositionTargetingOptionDetails + = $ContentOutstreamPositionTargetingOptionDetails; + +/// Details for content stream type assigned targeting option. +/// +/// This will be populated in the content_stream_type_details field when +/// targeting_type is `TARGETING_TYPE_CONTENT_STREAM_TYPE`. Explicitly targeting +/// all options is not supported. Remove all content stream type targeting +/// options to achieve this effect. +typedef ContentStreamTypeAssignedTargetingOptionDetails + = $ContentStreamTypeAssignedTargetingOptionDetails; + +/// Represents a targetable content stream type. +/// +/// This will be populated in the content_stream_type_details field when +/// targeting_type is `TARGETING_TYPE_CONTENT_STREAM_TYPE`. +typedef ContentStreamTypeTargetingOptionDetails + = $ContentStreamTypeTargetingOptionDetails; + +/// Settings that control how conversions are counted. +/// +/// All post-click conversions will be counted. A percentage value can be set +/// for post-view conversions counting. +class ConversionCountingConfig { + /// The Floodlight activity configs used to track conversions. + /// + /// The number of conversions counted is the sum of all of the conversions + /// counted by all of the Floodlight activity IDs specified in this field. + /// *Warning*: Starting **April 1, 2025**, this field will no longer be + /// writable while a custom bidding algorithm is assigned to the line item. If + /// you set this field and assign a custom bidding algorithm in the same + /// request, the floodlight activities must match the ones used by the custom + /// bidding algorithm. \[Read more about this announced + /// change\](/display-video/api/deprecations#features.custom_bidding_floodlight). + core.List? floodlightActivityConfigs; + + /// The percentage of post-view conversions to count, in millis (1/1000 of a + /// percent). + /// + /// Must be between 0 and 100000 inclusive. For example, to track 50% of the + /// post-click conversions, set a value of 50000. + core.String? postViewCountPercentageMillis; + + ConversionCountingConfig({ + this.floodlightActivityConfigs, + this.postViewCountPercentageMillis, + }); + + ConversionCountingConfig.fromJson(core.Map json_) + : this( + floodlightActivityConfigs: + (json_['floodlightActivityConfigs'] as core.List?) + ?.map((value) => TrackingFloodlightActivityConfig.fromJson( + value as core.Map)) + .toList(), + postViewCountPercentageMillis: + json_['postViewCountPercentageMillis'] as core.String?, + ); + + core.Map toJson() => { + if (floodlightActivityConfigs != null) + 'floodlightActivityConfigs': floodlightActivityConfigs!, + if (postViewCountPercentageMillis != null) + 'postViewCountPercentageMillis': postViewCountPercentageMillis!, + }; +} + +/// Counter event of the creative. +typedef CounterEvent = $CounterEvent; + +/// A request message for CreateAsset. +typedef CreateAssetRequest = $CreateAssetRequest; + +/// A response message for CreateAsset. +class CreateAssetResponse { + /// The uploaded asset, if successful. + Asset? asset; + + CreateAssetResponse({ + this.asset, + }); + + CreateAssetResponse.fromJson(core.Map json_) + : this( + asset: json_.containsKey('asset') + ? Asset.fromJson( + json_['asset'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (asset != null) 'asset': asset!, + }; +} + +/// A request listing which assigned targeting options of a given targeting type +/// should be created and added. +class CreateAssignedTargetingOptionsRequest { + /// The assigned targeting options to create and add. + /// + /// Required. + core.List? assignedTargetingOptions; + + /// Identifies the type of this assigned targeting option. + /// + /// Required. + /// Possible string values are: + /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified + /// or is unknown in this version. + /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related + /// websites or apps). + /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, + /// education or puzzle games). + /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). + /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). + /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period + /// on a specific day. + /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for + /// example, 18-24). + /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified + /// regions on a regional location list. + /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified + /// points of interest on a proximity location list. + /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, + /// female or male). + /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size + /// for video ads. + /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content + /// for video ads. + /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental + /// status (for example, parent or not a parent). + /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads + /// in a specific content instream position (for example, pre-roll, mid-roll, + /// or post-roll). + /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific + /// content outstream position. + /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for + /// example, tablet or connected TV). + /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of + /// audiences. Singleton field, at most one can exist on a single Lineitem at + /// a time. + /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for + /// example, Chrome). + /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household + /// income range (for example, top 10%). + /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen + /// position. + /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third + /// party verification (for example, IAS or DoubleVerify). + /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by + /// specific digital content label ratings (for example, DL-MA: suitable only + /// for mature audiences). + /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content + /// by sensitive categories (for example, adult). + /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for + /// example, web or app). + /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network + /// carrier or internet service provider (ISP) (for example, Comcast or + /// Orange). + /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating + /// system (for example, macOS). + /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device + /// make or model (for example, Roku or Samsung). + /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for + /// example, dog or retriever). + /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific + /// negative keyword list. + /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for + /// example, 80% viewable). + /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category + /// (for example, arts & entertainment). + /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific + /// deals and auction packages. + /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for + /// example, English or Japanese). + /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt + /// authorized sellers. If no targeting option of this type is assigned, the + /// resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location + /// (for example, a city or state). + /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a + /// group of deals and auction packages. + /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific + /// exchanges. + /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific + /// sub-exchanges. + /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, + /// such as a notable building, a street address, or latitude/longitude + /// coordinates. + /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a + /// business chain within a specific geo region. + /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video + /// content duration. + /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video + /// content stream type. + /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific + /// native content position. + /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled + /// inventory. + /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio + /// content type. + /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. + /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. + /// Targeting of this type cannot be created or updated using the API. + /// Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube + /// channel. Targeting of this type cannot be created or updated using the + /// API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a + /// certain position of a session. Only supported for Ad Group resources under + /// YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + core.String? targetingType; + + CreateAssignedTargetingOptionsRequest({ + this.assignedTargetingOptions, + this.targetingType, + }); + + CreateAssignedTargetingOptionsRequest.fromJson(core.Map json_) + : this( + assignedTargetingOptions: + (json_['assignedTargetingOptions'] as core.List?) + ?.map((value) => AssignedTargetingOption.fromJson( + value as core.Map)) + .toList(), + targetingType: json_['targetingType'] as core.String?, + ); + + core.Map toJson() => { + if (assignedTargetingOptions != null) + 'assignedTargetingOptions': assignedTargetingOptions!, + if (targetingType != null) 'targetingType': targetingType!, + }; +} + +/// Request message for \[SdfDownloadTaskService.CreateSdfDownloadTask\]. +class CreateSdfDownloadTaskRequest { + /// The ID of the advertiser to download SDF for. + core.String? advertiserId; + + /// Filters on entities by their entity IDs. + IdFilter? idFilter; + + /// Filters on Inventory Sources by their IDs. + InventorySourceFilter? inventorySourceFilter; + + /// Filters on selected file types. + /// + /// The entities in each file are filtered by a chosen set of filter entities. + /// The filter entities must be the same type as, or a parent type of, the + /// selected file types. + ParentEntityFilter? parentEntityFilter; + + /// The ID of the partner to download SDF for. + core.String? partnerId; + + /// The SDF version of the downloaded file. + /// + /// If set to `SDF_VERSION_UNSPECIFIED`, this will default to the version + /// specified by the advertiser or partner identified by `root_id`. An + /// advertiser inherits its SDF version from its partner unless configured + /// otherwise. + /// + /// Required. + /// Possible string values are: + /// - "SDF_VERSION_UNSPECIFIED" : SDF version value is not specified or is + /// unknown in this version. + /// - "SDF_VERSION_3_1" : SDF version 3.1 + /// - "SDF_VERSION_4" : SDF version 4 + /// - "SDF_VERSION_4_1" : SDF version 4.1 + /// - "SDF_VERSION_4_2" : SDF version 4.2 + /// - "SDF_VERSION_5" : SDF version 5. + /// - "SDF_VERSION_5_1" : SDF version 5.1 + /// - "SDF_VERSION_5_2" : SDF version 5.2 + /// - "SDF_VERSION_5_3" : SDF version 5.3 + /// - "SDF_VERSION_5_4" : SDF version 5.4 + /// - "SDF_VERSION_5_5" : SDF version 5.5 + /// - "SDF_VERSION_6" : SDF version 6 + /// - "SDF_VERSION_7" : SDF version 7. Read the \[v7 migration + /// guide\](/display-video/api/structured-data-file/v7-migration-guide) before + /// migrating to this version. + /// - "SDF_VERSION_7_1" : SDF version 7.1. Read the \[v7 migration + /// guide\](/display-video/api/structured-data-file/v7-migration-guide) before + /// migrating to this version. + /// - "SDF_VERSION_8" : SDF version 8. Read the \[v8 migration + /// guide\](/display-video/api/structured-data-file/v8-migration-guide) before + /// migrating to this version. + core.String? version; + + CreateSdfDownloadTaskRequest({ + this.advertiserId, + this.idFilter, + this.inventorySourceFilter, + this.parentEntityFilter, + this.partnerId, + this.version, + }); + + CreateSdfDownloadTaskRequest.fromJson(core.Map json_) + : this( + advertiserId: json_['advertiserId'] as core.String?, + idFilter: json_.containsKey('idFilter') + ? IdFilter.fromJson( + json_['idFilter'] as core.Map) + : null, + inventorySourceFilter: json_.containsKey('inventorySourceFilter') + ? InventorySourceFilter.fromJson(json_['inventorySourceFilter'] + as core.Map) + : null, + parentEntityFilter: json_.containsKey('parentEntityFilter') + ? ParentEntityFilter.fromJson(json_['parentEntityFilter'] + as core.Map) + : null, + partnerId: json_['partnerId'] as core.String?, + version: json_['version'] as core.String?, + ); + + core.Map toJson() => { + if (advertiserId != null) 'advertiserId': advertiserId!, + if (idFilter != null) 'idFilter': idFilter!, + if (inventorySourceFilter != null) + 'inventorySourceFilter': inventorySourceFilter!, + if (parentEntityFilter != null) + 'parentEntityFilter': parentEntityFilter!, + if (partnerId != null) 'partnerId': partnerId!, + if (version != null) 'version': version!, + }; +} + +/// A single Creative. +class Creative { + /// Additional dimensions. + /// + /// Applicable when creative_type is one of: * `CREATIVE_TYPE_STANDARD` * + /// `CREATIVE_TYPE_EXPANDABLE` * `CREATIVE_TYPE_NATIVE` * + /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_LIGHTBOX` * + /// `CREATIVE_TYPE_PUBLISHER_HOSTED` If this field is specified, width_pixels + /// and height_pixels are both required and must be greater than or equal to + /// 0. + /// + /// Optional. + core.List? additionalDimensions; + + /// The unique ID of the advertiser the creative belongs to. + /// + /// Output only. + core.String? advertiserId; + + /// Third-party HTML tracking tag to be appended to the creative tag. + /// + /// Optional. + core.String? appendedTag; + + /// Assets associated to this creative. + /// + /// Required. + core.List? assets; + + /// The unique ID of the Campaign Manager 360 placement associated with the + /// creative. + /// + /// This field is only applicable for creatives that are synced from Campaign + /// Manager. + /// + /// Output only. + core.String? cmPlacementId; + + /// The Campaign Manager 360 tracking ad associated with the creative. + /// + /// Optional for the following creative_type when created by an advertiser + /// that uses both Campaign Manager 360 and third-party ad serving: * + /// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` Output only + /// for other cases. + /// + /// Optional. + CmTrackingAd? cmTrackingAd; + + /// The IDs of companion creatives for a video creative. + /// + /// You can assign existing display creatives (with image or HTML5 assets) to + /// serve surrounding the publisher's video player. Companions display around + /// the video player while the video is playing and remain after the video has + /// completed. Creatives contain additional dimensions can not be companion + /// creatives. This field is only supported for the following creative_type: * + /// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` + /// + /// Optional. + core.List? companionCreativeIds; + + /// Counter events for a rich media creative. + /// + /// Counters track the number of times that a user interacts with any part of + /// a rich media creative in a specified way (mouse-overs, mouse-outs, clicks, + /// taps, data loading, keyboard entries, etc.). Any event that can be + /// captured in the creative can be recorded as a counter. Leave it empty or + /// unset for creatives containing image assets only. + /// + /// Optional. + core.List? counterEvents; + + /// The timestamp when the creative was created. + /// + /// Assigned by the system. + /// + /// Output only. + core.String? createTime; + + /// A list of attributes of the creative that is generated by the system. + /// + /// Output only. + core.List? creativeAttributes; + + /// The unique ID of the creative. + /// + /// Assigned by the system. + /// + /// Output only. + core.String? creativeId; + + /// The type of the creative. + /// + /// Required. Immutable. + /// Possible string values are: + /// - "CREATIVE_TYPE_UNSPECIFIED" : Type value is not specified or is unknown + /// in this version. + /// - "CREATIVE_TYPE_STANDARD" : Standard display creative. Create and update + /// methods are supported for this creative type if the hosting_source is one + /// of the following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY` + /// - "CREATIVE_TYPE_EXPANDABLE" : Expandable creative. Create and update + /// methods are supported for this creative type if the hosting_source is + /// `HOSTING_SOURCE_THIRD_PARTY` + /// - "CREATIVE_TYPE_VIDEO" : Video creative. Create and update methods are + /// supported for this creative type if the hosting_source is one of the + /// following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY` + /// - "CREATIVE_TYPE_NATIVE" : Native creative rendered by publishers with + /// assets from advertiser. Create and update methods are supported for this + /// creative type if the hosting_source is `HOSTING_SOURCE_HOSTED` + /// - "CREATIVE_TYPE_TEMPLATED_APP_INSTALL" : Templated app install mobile + /// creative (banner). Create and update methods are **not** supported for + /// this creative type. + /// - "CREATIVE_TYPE_NATIVE_SITE_SQUARE" : Square native creative. Create and + /// update methods are supported for this creative type if the hosting_source + /// is `HOSTING_SOURCE_HOSTED` + /// - "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL" : Interstitial + /// creative including both display and video. Create and update methods are + /// **not** supported for this creative type. + /// - "CREATIVE_TYPE_LIGHTBOX" : Responsive and expandable Lightbox creative. + /// Create and update methods are **not** supported for this creative type. + /// - "CREATIVE_TYPE_NATIVE_APP_INSTALL" : Native app install creative. Create + /// and update methods are **not** supported for this creative type. + /// - "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE" : Square native app install + /// creative. Create and update methods are **not** supported for this + /// creative type. + /// - "CREATIVE_TYPE_AUDIO" : Audio creative. Create and update methods are + /// supported for this creative type if the hosting_source is + /// `HOSTING_SOURCE_HOSTED` + /// - "CREATIVE_TYPE_PUBLISHER_HOSTED" : Publisher hosted creative. Create and + /// update methods are **not** supported for this creative type. + /// - "CREATIVE_TYPE_NATIVE_VIDEO" : Native video creative. Create and update + /// methods are supported for this creative type if the hosting_source is + /// `HOSTING_SOURCE_HOSTED` + /// - "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" : Templated app install + /// mobile video creative. Create and update methods are **not** supported for + /// this creative type. + /// - "CREATIVE_TYPE_ASSET_BASED_CREATIVE" : Asset-based creative. Create and + /// update methods are supported for this creative type if the hosting_source + /// is `HOSTING_SOURCE_HOSTED`. + core.String? creativeType; + + /// Primary dimensions of the creative. + /// + /// Applicable to all creative types. The value of width_pixels and + /// height_pixels defaults to `0` when creative_type is one of: * + /// `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_AUDIO` * + /// `CREATIVE_TYPE_NATIVE_VIDEO` + /// + /// Required. + Dimensions? dimensions; + + /// The display name of the creative. + /// + /// Must be UTF-8 encoded with a maximum size of 240 bytes. + /// + /// Required. + core.String? displayName; + + /// Indicates whether the creative is dynamic. + /// + /// Output only. + core.bool? dynamic; + + /// Controls whether or not the creative can serve. + /// + /// Accepted values are: * `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED` * + /// `ENTITY_STATUS_PAUSED` + /// + /// Required. + /// Possible string values are: + /// - "ENTITY_STATUS_UNSPECIFIED" : Default value when status is not specified + /// or is unknown in this version. + /// - "ENTITY_STATUS_ACTIVE" : The entity is enabled to bid and spend budget. + /// - "ENTITY_STATUS_ARCHIVED" : The entity is archived. Bidding and budget + /// spending are disabled. An entity can be deleted after archived. Deleted + /// entities cannot be retrieved. + /// - "ENTITY_STATUS_DRAFT" : The entity is under draft. Bidding and budget + /// spending are disabled. + /// - "ENTITY_STATUS_PAUSED" : Bidding and budget spending are paused for the + /// entity. + /// - "ENTITY_STATUS_SCHEDULED_FOR_DELETION" : The entity is scheduled for + /// deletion. + core.String? entityStatus; + + /// Exit events for this creative. + /// + /// An exit (also known as a click tag) is any area in your creative that + /// someone can click or tap to open an advertiser's landing page. Every + /// creative must include at least one exit. You can add an exit to your + /// creative in any of the following ways: * Use Google Web Designer's tap + /// area. * Define a JavaScript variable called "clickTag". * Use the Enabler + /// (Enabler.exit()) to track exits in rich media formats. + /// + /// Required. + core.List? exitEvents; + + /// Indicates the creative will automatically expand on hover. + /// + /// Optional and only valid for third-party expandable creatives. Third-party + /// expandable creatives are creatives with following hosting source: * + /// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * + /// `CREATIVE_TYPE_EXPANDABLE` + /// + /// Optional. + core.bool? expandOnHover; + + /// Specifies the expanding direction of the creative. + /// + /// Required and only valid for third-party expandable creatives. Third-party + /// expandable creatives are creatives with following hosting source: * + /// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * + /// `CREATIVE_TYPE_EXPANDABLE` + /// + /// Optional. + /// Possible string values are: + /// - "EXPANDING_DIRECTION_UNSPECIFIED" : The expanding direction is not + /// specified. + /// - "EXPANDING_DIRECTION_NONE" : Does not expand in any direction. + /// - "EXPANDING_DIRECTION_UP" : Expands up. + /// - "EXPANDING_DIRECTION_DOWN" : Expands down. + /// - "EXPANDING_DIRECTION_LEFT" : Expands left. + /// - "EXPANDING_DIRECTION_RIGHT" : Expands right. + /// - "EXPANDING_DIRECTION_UP_AND_LEFT" : Expands up and to the left side. + /// - "EXPANDING_DIRECTION_UP_AND_RIGHT" : Expands up and to the right side. + /// - "EXPANDING_DIRECTION_DOWN_AND_LEFT" : Expands down and to the left side. + /// - "EXPANDING_DIRECTION_DOWN_AND_RIGHT" : Expands down and to the right + /// side. + /// - "EXPANDING_DIRECTION_UP_OR_DOWN" : Expands either up or down. + /// - "EXPANDING_DIRECTION_LEFT_OR_RIGHT" : Expands to either the left or the + /// right side. + /// - "EXPANDING_DIRECTION_ANY_DIAGONAL" : Can expand in any diagonal + /// direction. + core.String? expandingDirection; + + /// Indicates where the creative is hosted. + /// + /// Required. + /// Possible string values are: + /// - "HOSTING_SOURCE_UNSPECIFIED" : Hosting source is not specified or is + /// unknown in this version. + /// - "HOSTING_SOURCE_CM" : A creative synced from Campaign Manager 360. + /// Create and update methods are **not** supported for this hosting type. + /// - "HOSTING_SOURCE_THIRD_PARTY" : A creative hosted by a third-party ad + /// server (3PAS). Create and update methods are supported for this hosting + /// type if the creative_type is one of the following: * `CREATIVE_TYPE_AUDIO` + /// * `CREATIVE_TYPE_EXPANDABLE` * `CREATIVE_TYPE_STANDARD` * + /// `CREATIVE_TYPE_VIDEO` + /// - "HOSTING_SOURCE_HOSTED" : A creative created in DV360 and hosted by + /// Campaign Manager 360. Create and update methods are supported for this + /// hosting type if the creative_type is one of the following: * + /// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE` * + /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` * + /// `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_VIDEO` + /// - "HOSTING_SOURCE_RICH_MEDIA" : A rich media creative created in Studio + /// and hosted by Campaign Manager 360. Create and update methods are **not** + /// supported for this hosting type. + core.String? hostingSource; + + /// Indicates the third-party VAST tag creative requires HTML5 Video support. + /// + /// Output only and only valid for third-party VAST tag creatives. Third-party + /// VAST tag creatives are creatives with following hosting_source: * + /// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * + /// `CREATIVE_TYPE_VIDEO` + /// + /// Output only. + core.bool? html5Video; + + /// Indicates whether Integral Ad Science (IAS) campaign monitoring is + /// enabled. + /// + /// To enable this for the creative, make sure the + /// Advertiser.creative_config.ias_client_id has been set to your IAS client + /// ID. + /// + /// Optional. + core.bool? iasCampaignMonitoring; + + /// ID information used to link this creative to an external system. + /// + /// Must be UTF-8 encoded with a length of no more than 10,000 characters. + /// + /// Optional. + core.String? integrationCode; + + /// JavaScript measurement URL from supported third-party verification + /// providers (ComScore, DoubleVerify, IAS, Moat). + /// + /// HTML script tags are not supported. This field is only writeable in the + /// following creative_type: * `CREATIVE_TYPE_NATIVE` * + /// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` + /// + /// Optional. + core.String? jsTrackerUrl; + + /// The IDs of the line items this creative is associated with. + /// + /// To associate a creative to a line item, use LineItem.creative_ids instead. + /// + /// Output only. + core.List? lineItemIds; + + /// Media duration of the creative. + /// + /// Applicable when creative_type is one of: * `CREATIVE_TYPE_VIDEO` * + /// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE_VIDEO` * + /// `CREATIVE_TYPE_PUBLISHER_HOSTED` + /// + /// Output only. + core.String? mediaDuration; + + /// Indicates the third-party audio creative supports MP3. + /// + /// Output only and only valid for third-party audio creatives. Third-party + /// audio creatives are creatives with following hosting_source: * + /// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * + /// `CREATIVE_TYPE_AUDIO` + /// + /// Output only. + core.bool? mp3Audio; + + /// The resource name of the creative. + /// + /// Output only. + core.String? name; + + /// User notes for this creative. + /// + /// Must be UTF-8 encoded with a length of no more than 20,000 characters. + /// + /// Optional. + core.String? notes; + + /// Specifies the OBA icon for a video creative. + /// + /// This field is only supported in the following creative_type: * + /// `CREATIVE_TYPE_VIDEO` + /// + /// Optional. + ObaIcon? obaIcon; + + /// Indicates the third-party audio creative supports OGG. + /// + /// Output only and only valid for third-party audio creatives. Third-party + /// audio creatives are creatives with following hosting_source: * + /// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * + /// `CREATIVE_TYPE_AUDIO` + /// + /// Output only. + core.bool? oggAudio; + + /// Amount of time to play the video before counting a view. + /// + /// This field is required when skippable is true. This field is only + /// supported for the following creative_type: * `CREATIVE_TYPE_VIDEO` + /// + /// Optional. + AudioVideoOffset? progressOffset; + + /// Indicates that the creative relies on HTML5 to render properly. + /// + /// Optional and only valid for third-party tag creatives. Third-party tag + /// creatives are creatives with following hosting_source: * + /// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * + /// `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE` + /// + /// Optional. + core.bool? requireHtml5; + + /// Indicates that the creative requires MRAID (Mobile Rich Media Ad Interface + /// Definitions system). + /// + /// Set this if the creative relies on mobile gestures for interactivity, such + /// as swiping or tapping. Optional and only valid for third-party tag + /// creatives. Third-party tag creatives are creatives with following + /// hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following + /// creative_type: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE` + /// + /// Optional. + core.bool? requireMraid; + + /// Indicates that the creative will wait for a return ping for attribution. + /// + /// Only valid when using a Campaign Manager 360 tracking ad with a + /// third-party ad server parameter and the ${DC_DBM_TOKEN} macro. Optional + /// and only valid for third-party tag creatives or third-party VAST tag + /// creatives. Third-party tag creatives are creatives with following + /// hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following + /// creative_type: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE` + /// Third-party VAST tag creatives are creatives with following + /// hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following + /// creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` + /// + /// Optional. + core.bool? requirePingForAttribution; + + /// The current status of the creative review process. + /// + /// Output only. + ReviewStatusInfo? reviewStatus; + + /// Amount of time to play the video before the skip button appears. + /// + /// This field is required when skippable is true. This field is only + /// supported for the following creative_type: * `CREATIVE_TYPE_VIDEO` + /// + /// Optional. + AudioVideoOffset? skipOffset; + + /// Whether the user can choose to skip a video creative. + /// + /// This field is only supported for the following creative_type: * + /// `CREATIVE_TYPE_VIDEO` + /// + /// Optional. + core.bool? skippable; + + /// The original third-party tag used for the creative. + /// + /// Required and only valid for third-party tag creatives. Third-party tag + /// creatives are creatives with following hosting_source: * + /// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * + /// `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE` + /// + /// Optional. + core.String? thirdPartyTag; + + /// Tracking URLs from third parties to track interactions with a video + /// creative. + /// + /// This field is only supported for the following creative_type: * + /// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` * + /// `CREATIVE_TYPE_NATIVE_VIDEO` + /// + /// Optional. + core.List? thirdPartyUrls; + + /// Timer custom events for a rich media creative. + /// + /// Timers track the time during which a user views and interacts with a + /// specified part of a rich media creative. A creative can have multiple + /// timer events, each timed independently. Leave it empty or unset for + /// creatives containing image assets only. + /// + /// Optional. + core.List? timerEvents; + + /// Tracking URLs for analytics providers or third-party ad technology + /// vendors. + /// + /// The URLs must start with `https:` (except on inventory that doesn't + /// require SSL compliance). If using macros in your URL, use only macros + /// supported by Display & Video 360. Standard URLs only, no IMG or SCRIPT + /// tags. This field is only writeable in the following creative_type: * + /// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * + /// `CREATIVE_TYPE_NATIVE_VIDEO` + /// + /// Optional. + core.List? trackerUrls; + + /// Audio/Video transcodes. + /// + /// Display & Video 360 transcodes the main asset into a number of alternative + /// versions that use different file formats or have different properties + /// (resolution, audio bit rate, and video bit rate), each designed for + /// specific video players or bandwidths. These transcodes give a publisher's + /// system more options to choose from for each impression on your video and + /// ensures that the appropriate file serves based on the viewer’s connection + /// and screen size. This field is only supported in the following + /// creative_type: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO` * + /// `CREATIVE_TYPE_AUDIO` + /// + /// Output only. + core.List? transcodes; + + /// An optional creative identifier provided by a registry that is unique + /// across all platforms. + /// + /// Universal Ad ID is part of the VAST 4.0 standard. It can be modified after + /// the creative is created. This field is only supported for the following + /// creative_type: * `CREATIVE_TYPE_VIDEO` + /// + /// Optional. + UniversalAdId? universalAdId; + + /// The timestamp when the creative was last updated, either by the user or + /// system (e.g. creative review). + /// + /// Assigned by the system. + /// + /// Output only. + core.String? updateTime; + + /// The URL of the VAST tag for a third-party VAST tag creative. + /// + /// Required and only valid for third-party VAST tag creatives. Third-party + /// VAST tag creatives are creatives with following hosting_source: * + /// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * + /// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` + /// + /// Optional. + core.String? vastTagUrl; + + /// Indicates the third-party VAST tag creative requires VPAID (Digital Video + /// Player-Ad Interface). + /// + /// Output only and only valid for third-party VAST tag creatives. Third-party + /// VAST tag creatives are creatives with following hosting_source: * + /// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * + /// `CREATIVE_TYPE_VIDEO` + /// + /// Output only. + core.bool? vpaid; + + Creative({ + this.additionalDimensions, + this.advertiserId, + this.appendedTag, + this.assets, + this.cmPlacementId, + this.cmTrackingAd, + this.companionCreativeIds, + this.counterEvents, + this.createTime, + this.creativeAttributes, + this.creativeId, + this.creativeType, + this.dimensions, + this.displayName, + this.dynamic, + this.entityStatus, + this.exitEvents, + this.expandOnHover, + this.expandingDirection, + this.hostingSource, + this.html5Video, + this.iasCampaignMonitoring, + this.integrationCode, + this.jsTrackerUrl, + this.lineItemIds, + this.mediaDuration, + this.mp3Audio, + this.name, + this.notes, + this.obaIcon, + this.oggAudio, + this.progressOffset, + this.requireHtml5, + this.requireMraid, + this.requirePingForAttribution, + this.reviewStatus, + this.skipOffset, + this.skippable, + this.thirdPartyTag, + this.thirdPartyUrls, + this.timerEvents, + this.trackerUrls, + this.transcodes, + this.universalAdId, + this.updateTime, + this.vastTagUrl, + this.vpaid, + }); + + Creative.fromJson(core.Map json_) + : this( + additionalDimensions: (json_['additionalDimensions'] as core.List?) + ?.map((value) => Dimensions.fromJson( + value as core.Map)) + .toList(), + advertiserId: json_['advertiserId'] as core.String?, + appendedTag: json_['appendedTag'] as core.String?, + assets: (json_['assets'] as core.List?) + ?.map((value) => AssetAssociation.fromJson( + value as core.Map)) + .toList(), + cmPlacementId: json_['cmPlacementId'] as core.String?, + cmTrackingAd: json_.containsKey('cmTrackingAd') + ? CmTrackingAd.fromJson( + json_['cmTrackingAd'] as core.Map) + : null, + companionCreativeIds: (json_['companionCreativeIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + counterEvents: (json_['counterEvents'] as core.List?) + ?.map((value) => CounterEvent.fromJson( + value as core.Map)) + .toList(), + createTime: json_['createTime'] as core.String?, + creativeAttributes: (json_['creativeAttributes'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + creativeId: json_['creativeId'] as core.String?, + creativeType: json_['creativeType'] as core.String?, + dimensions: json_.containsKey('dimensions') + ? Dimensions.fromJson( + json_['dimensions'] as core.Map) + : null, + displayName: json_['displayName'] as core.String?, + dynamic: json_['dynamic'] as core.bool?, + entityStatus: json_['entityStatus'] as core.String?, + exitEvents: (json_['exitEvents'] as core.List?) + ?.map((value) => ExitEvent.fromJson( + value as core.Map)) + .toList(), + expandOnHover: json_['expandOnHover'] as core.bool?, + expandingDirection: json_['expandingDirection'] as core.String?, + hostingSource: json_['hostingSource'] as core.String?, + html5Video: json_['html5Video'] as core.bool?, + iasCampaignMonitoring: json_['iasCampaignMonitoring'] as core.bool?, + integrationCode: json_['integrationCode'] as core.String?, + jsTrackerUrl: json_['jsTrackerUrl'] as core.String?, + lineItemIds: (json_['lineItemIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + mediaDuration: json_['mediaDuration'] as core.String?, + mp3Audio: json_['mp3Audio'] as core.bool?, + name: json_['name'] as core.String?, + notes: json_['notes'] as core.String?, + obaIcon: json_.containsKey('obaIcon') + ? ObaIcon.fromJson( + json_['obaIcon'] as core.Map) + : null, + oggAudio: json_['oggAudio'] as core.bool?, + progressOffset: json_.containsKey('progressOffset') + ? AudioVideoOffset.fromJson(json_['progressOffset'] + as core.Map) + : null, + requireHtml5: json_['requireHtml5'] as core.bool?, + requireMraid: json_['requireMraid'] as core.bool?, + requirePingForAttribution: + json_['requirePingForAttribution'] as core.bool?, + reviewStatus: json_.containsKey('reviewStatus') + ? ReviewStatusInfo.fromJson( + json_['reviewStatus'] as core.Map) + : null, + skipOffset: json_.containsKey('skipOffset') + ? AudioVideoOffset.fromJson( + json_['skipOffset'] as core.Map) + : null, + skippable: json_['skippable'] as core.bool?, + thirdPartyTag: json_['thirdPartyTag'] as core.String?, + thirdPartyUrls: (json_['thirdPartyUrls'] as core.List?) + ?.map((value) => ThirdPartyUrl.fromJson( + value as core.Map)) + .toList(), + timerEvents: (json_['timerEvents'] as core.List?) + ?.map((value) => TimerEvent.fromJson( + value as core.Map)) + .toList(), + trackerUrls: (json_['trackerUrls'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + transcodes: (json_['transcodes'] as core.List?) + ?.map((value) => Transcode.fromJson( + value as core.Map)) + .toList(), + universalAdId: json_.containsKey('universalAdId') + ? UniversalAdId.fromJson( + json_['universalAdId'] as core.Map) + : null, + updateTime: json_['updateTime'] as core.String?, + vastTagUrl: json_['vastTagUrl'] as core.String?, + vpaid: json_['vpaid'] as core.bool?, + ); + + core.Map toJson() => { + if (additionalDimensions != null) + 'additionalDimensions': additionalDimensions!, + if (advertiserId != null) 'advertiserId': advertiserId!, + if (appendedTag != null) 'appendedTag': appendedTag!, + if (assets != null) 'assets': assets!, + if (cmPlacementId != null) 'cmPlacementId': cmPlacementId!, + if (cmTrackingAd != null) 'cmTrackingAd': cmTrackingAd!, + if (companionCreativeIds != null) + 'companionCreativeIds': companionCreativeIds!, + if (counterEvents != null) 'counterEvents': counterEvents!, + if (createTime != null) 'createTime': createTime!, + if (creativeAttributes != null) + 'creativeAttributes': creativeAttributes!, + if (creativeId != null) 'creativeId': creativeId!, + if (creativeType != null) 'creativeType': creativeType!, + if (dimensions != null) 'dimensions': dimensions!, + if (displayName != null) 'displayName': displayName!, + if (dynamic != null) 'dynamic': dynamic!, + if (entityStatus != null) 'entityStatus': entityStatus!, + if (exitEvents != null) 'exitEvents': exitEvents!, + if (expandOnHover != null) 'expandOnHover': expandOnHover!, + if (expandingDirection != null) + 'expandingDirection': expandingDirection!, + if (hostingSource != null) 'hostingSource': hostingSource!, + if (html5Video != null) 'html5Video': html5Video!, + if (iasCampaignMonitoring != null) + 'iasCampaignMonitoring': iasCampaignMonitoring!, + if (integrationCode != null) 'integrationCode': integrationCode!, + if (jsTrackerUrl != null) 'jsTrackerUrl': jsTrackerUrl!, + if (lineItemIds != null) 'lineItemIds': lineItemIds!, + if (mediaDuration != null) 'mediaDuration': mediaDuration!, + if (mp3Audio != null) 'mp3Audio': mp3Audio!, + if (name != null) 'name': name!, + if (notes != null) 'notes': notes!, + if (obaIcon != null) 'obaIcon': obaIcon!, + if (oggAudio != null) 'oggAudio': oggAudio!, + if (progressOffset != null) 'progressOffset': progressOffset!, + if (requireHtml5 != null) 'requireHtml5': requireHtml5!, + if (requireMraid != null) 'requireMraid': requireMraid!, + if (requirePingForAttribution != null) + 'requirePingForAttribution': requirePingForAttribution!, + if (reviewStatus != null) 'reviewStatus': reviewStatus!, + if (skipOffset != null) 'skipOffset': skipOffset!, + if (skippable != null) 'skippable': skippable!, + if (thirdPartyTag != null) 'thirdPartyTag': thirdPartyTag!, + if (thirdPartyUrls != null) 'thirdPartyUrls': thirdPartyUrls!, + if (timerEvents != null) 'timerEvents': timerEvents!, + if (trackerUrls != null) 'trackerUrls': trackerUrls!, + if (transcodes != null) 'transcodes': transcodes!, + if (universalAdId != null) 'universalAdId': universalAdId!, + if (updateTime != null) 'updateTime': updateTime!, + if (vastTagUrl != null) 'vastTagUrl': vastTagUrl!, + if (vpaid != null) 'vpaid': vpaid!, + }; +} + +/// Creative requirements configuration for the inventory source. +class CreativeConfig { + /// The type of creative that can be assigned to the inventory source. + /// + /// Only the following types are supported: * `CREATIVE_TYPE_STANDARD` * + /// `CREATIVE_TYPE_VIDEO` + /// Possible string values are: + /// - "CREATIVE_TYPE_UNSPECIFIED" : Type value is not specified or is unknown + /// in this version. + /// - "CREATIVE_TYPE_STANDARD" : Standard display creative. Create and update + /// methods are supported for this creative type if the hosting_source is one + /// of the following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY` + /// - "CREATIVE_TYPE_EXPANDABLE" : Expandable creative. Create and update + /// methods are supported for this creative type if the hosting_source is + /// `HOSTING_SOURCE_THIRD_PARTY` + /// - "CREATIVE_TYPE_VIDEO" : Video creative. Create and update methods are + /// supported for this creative type if the hosting_source is one of the + /// following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY` + /// - "CREATIVE_TYPE_NATIVE" : Native creative rendered by publishers with + /// assets from advertiser. Create and update methods are supported for this + /// creative type if the hosting_source is `HOSTING_SOURCE_HOSTED` + /// - "CREATIVE_TYPE_TEMPLATED_APP_INSTALL" : Templated app install mobile + /// creative (banner). Create and update methods are **not** supported for + /// this creative type. + /// - "CREATIVE_TYPE_NATIVE_SITE_SQUARE" : Square native creative. Create and + /// update methods are supported for this creative type if the hosting_source + /// is `HOSTING_SOURCE_HOSTED` + /// - "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL" : Interstitial + /// creative including both display and video. Create and update methods are + /// **not** supported for this creative type. + /// - "CREATIVE_TYPE_LIGHTBOX" : Responsive and expandable Lightbox creative. + /// Create and update methods are **not** supported for this creative type. + /// - "CREATIVE_TYPE_NATIVE_APP_INSTALL" : Native app install creative. Create + /// and update methods are **not** supported for this creative type. + /// - "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE" : Square native app install + /// creative. Create and update methods are **not** supported for this + /// creative type. + /// - "CREATIVE_TYPE_AUDIO" : Audio creative. Create and update methods are + /// supported for this creative type if the hosting_source is + /// `HOSTING_SOURCE_HOSTED` + /// - "CREATIVE_TYPE_PUBLISHER_HOSTED" : Publisher hosted creative. Create and + /// update methods are **not** supported for this creative type. + /// - "CREATIVE_TYPE_NATIVE_VIDEO" : Native video creative. Create and update + /// methods are supported for this creative type if the hosting_source is + /// `HOSTING_SOURCE_HOSTED` + /// - "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" : Templated app install + /// mobile video creative. Create and update methods are **not** supported for + /// this creative type. + /// - "CREATIVE_TYPE_ASSET_BASED_CREATIVE" : Asset-based creative. Create and + /// update methods are supported for this creative type if the hosting_source + /// is `HOSTING_SOURCE_HOSTED`. + core.String? creativeType; + + /// The configuration for display creatives. + /// + /// Applicable when creative_type is `CREATIVE_TYPE_STANDARD`. + InventorySourceDisplayCreativeConfig? displayCreativeConfig; + + /// The configuration for video creatives. + /// + /// Applicable when creative_type is `CREATIVE_TYPE_VIDEO`. + InventorySourceVideoCreativeConfig? videoCreativeConfig; + + CreativeConfig({ + this.creativeType, + this.displayCreativeConfig, + this.videoCreativeConfig, + }); + + CreativeConfig.fromJson(core.Map json_) + : this( + creativeType: json_['creativeType'] as core.String?, + displayCreativeConfig: json_.containsKey('displayCreativeConfig') + ? InventorySourceDisplayCreativeConfig.fromJson( + json_['displayCreativeConfig'] + as core.Map) + : null, + videoCreativeConfig: json_.containsKey('videoCreativeConfig') + ? InventorySourceVideoCreativeConfig.fromJson( + json_['videoCreativeConfig'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (creativeType != null) 'creativeType': creativeType!, + if (displayCreativeConfig != null) + 'displayCreativeConfig': displayCreativeConfig!, + if (videoCreativeConfig != null) + 'videoCreativeConfig': videoCreativeConfig!, + }; +} + +/// A single custom bidding algorithm. +class CustomBiddingAlgorithm { + /// The unique ID of the advertiser that owns the custom bidding algorithm. + /// + /// Immutable. + core.String? advertiserId; + + /// The unique ID of the custom bidding algorithm. + /// + /// Assigned by the system. + /// + /// Output only. + core.String? customBiddingAlgorithmId; + + /// The type of custom bidding algorithm. + /// + /// Required. Immutable. + /// Possible string values are: + /// - "CUSTOM_BIDDING_ALGORITHM_TYPE_UNSPECIFIED" : Algorithm type is not + /// specified or is unknown in this version. + /// - "SCRIPT_BASED" : Algorithm generated through customer-uploaded custom + /// bidding script files. + /// - "RULE_BASED" : Algorithm based in defined rules. These rules are defined + /// in the API using the AlgorithmRules object. This algorithm type is only + /// available to allowlisted customers. Other customers attempting to use this + /// type will receive an error. + core.String? customBiddingAlgorithmType; + + /// The display name of the custom bidding algorithm. + /// + /// Must be UTF-8 encoded with a maximum size of 240 bytes. + /// + /// Required. + core.String? displayName; + + /// Controls whether or not the custom bidding algorithm can be used as a + /// bidding strategy. + /// + /// Accepted values are: * `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED` + /// Possible string values are: + /// - "ENTITY_STATUS_UNSPECIFIED" : Default value when status is not specified + /// or is unknown in this version. + /// - "ENTITY_STATUS_ACTIVE" : The entity is enabled to bid and spend budget. + /// - "ENTITY_STATUS_ARCHIVED" : The entity is archived. Bidding and budget + /// spending are disabled. An entity can be deleted after archived. Deleted + /// entities cannot be retrieved. + /// - "ENTITY_STATUS_DRAFT" : The entity is under draft. Bidding and budget + /// spending are disabled. + /// - "ENTITY_STATUS_PAUSED" : Bidding and budget spending are paused for the + /// entity. + /// - "ENTITY_STATUS_SCHEDULED_FOR_DELETION" : The entity is scheduled for + /// deletion. + core.String? entityStatus; + + /// The details of custom bidding models for each advertiser who has access. + /// + /// This field may only include the details of the queried advertiser if the + /// algorithm + /// \[`owner`\](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) + /// is a partner and is being retrieved using an advertiser + /// \[`accessor`\](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor). + /// + /// Output only. + core.List? modelDetails; + + /// The resource name of the custom bidding algorithm. + /// + /// Output only. + core.String? name; + + /// The unique ID of the partner that owns the custom bidding algorithm. + /// + /// Immutable. + core.String? partnerId; + + /// The IDs of the advertisers who have access to this algorithm. + /// + /// If advertiser_id is set, this field will only consist of that value. This + /// field will not be set if the algorithm + /// \[`owner`\](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) + /// is a partner and is being retrieved using an advertiser + /// \[`accessor`\](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor). + core.List? sharedAdvertiserIds; + + CustomBiddingAlgorithm({ + this.advertiserId, + this.customBiddingAlgorithmId, + this.customBiddingAlgorithmType, + this.displayName, + this.entityStatus, + this.modelDetails, + this.name, + this.partnerId, + this.sharedAdvertiserIds, + }); + + CustomBiddingAlgorithm.fromJson(core.Map json_) + : this( + advertiserId: json_['advertiserId'] as core.String?, + customBiddingAlgorithmId: + json_['customBiddingAlgorithmId'] as core.String?, + customBiddingAlgorithmType: + json_['customBiddingAlgorithmType'] as core.String?, + displayName: json_['displayName'] as core.String?, + entityStatus: json_['entityStatus'] as core.String?, + modelDetails: (json_['modelDetails'] as core.List?) + ?.map((value) => CustomBiddingModelDetails.fromJson( + value as core.Map)) + .toList(), + name: json_['name'] as core.String?, + partnerId: json_['partnerId'] as core.String?, + sharedAdvertiserIds: (json_['sharedAdvertiserIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (advertiserId != null) 'advertiserId': advertiserId!, + if (customBiddingAlgorithmId != null) + 'customBiddingAlgorithmId': customBiddingAlgorithmId!, + if (customBiddingAlgorithmType != null) + 'customBiddingAlgorithmType': customBiddingAlgorithmType!, + if (displayName != null) 'displayName': displayName!, + if (entityStatus != null) 'entityStatus': entityStatus!, + if (modelDetails != null) 'modelDetails': modelDetails!, + if (name != null) 'name': name!, + if (partnerId != null) 'partnerId': partnerId!, + if (sharedAdvertiserIds != null) + 'sharedAdvertiserIds': sharedAdvertiserIds!, + }; +} + +/// A single custom bidding algorithm rules. +class CustomBiddingAlgorithmRules { + /// Whether the rules resource is currently being used for scoring by the + /// parent algorithm. + /// + /// Output only. + core.bool? active; + + /// The time when the rules resource was created. + /// + /// Output only. + core.String? createTime; + + /// The unique ID of the custom bidding algorithm that the rules resource + /// belongs to. + /// + /// Output only. + core.String? customBiddingAlgorithmId; + + /// The unique ID of the rules resource. + /// + /// Output only. + core.String? customBiddingAlgorithmRulesId; + + /// Error code of the rejected rules resource. + /// + /// This field will only be populated when the state is `REJECTED`. + /// + /// Output only. + CustomBiddingAlgorithmRulesError? error; + + /// The resource name of the rules resource. + /// + /// Output only. + core.String? name; + + /// The reference to the uploaded AlgorithmRules file. + /// + /// Required. Immutable. + CustomBiddingAlgorithmRulesRef? rules; + + /// The state of the rules resource. + /// + /// Output only. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : The rules state are unspecified or unknown in this + /// version. + /// - "ACCEPTED" : The rules have been accepted for scoring impressions. + /// - "REJECTED" : The rules have been rejected by backend pipelines. They may + /// have errors. + core.String? state; + + CustomBiddingAlgorithmRules({ + this.active, + this.createTime, + this.customBiddingAlgorithmId, + this.customBiddingAlgorithmRulesId, + this.error, + this.name, + this.rules, + this.state, + }); + + CustomBiddingAlgorithmRules.fromJson(core.Map json_) + : this( + active: json_['active'] as core.bool?, + createTime: json_['createTime'] as core.String?, + customBiddingAlgorithmId: + json_['customBiddingAlgorithmId'] as core.String?, + customBiddingAlgorithmRulesId: + json_['customBiddingAlgorithmRulesId'] as core.String?, + error: json_.containsKey('error') + ? CustomBiddingAlgorithmRulesError.fromJson( + json_['error'] as core.Map) + : null, + name: json_['name'] as core.String?, + rules: json_.containsKey('rules') + ? CustomBiddingAlgorithmRulesRef.fromJson( + json_['rules'] as core.Map) + : null, + state: json_['state'] as core.String?, + ); + + core.Map toJson() => { + if (active != null) 'active': active!, + if (createTime != null) 'createTime': createTime!, + if (customBiddingAlgorithmId != null) + 'customBiddingAlgorithmId': customBiddingAlgorithmId!, + if (customBiddingAlgorithmRulesId != null) + 'customBiddingAlgorithmRulesId': customBiddingAlgorithmRulesId!, + if (error != null) 'error': error!, + if (name != null) 'name': name!, + if (rules != null) 'rules': rules!, + if (state != null) 'state': state!, + }; +} + +/// An error message for a CustomBiddingAlgorithmRules resource. +typedef CustomBiddingAlgorithmRulesError = $CustomBiddingAlgorithmRulesError; + +/// The reference to the uploaded AlgorithmRules file. +/// +/// Retrieve the location to upload new AlgorithmRules file to using +/// customBiddingAlgorithms.uploadRules. +typedef CustomBiddingAlgorithmRulesRef = $CustomBiddingAlgorithmRulesRef; + +/// The details of a custom bidding algorithm model for a single shared +/// advertiser. +typedef CustomBiddingModelDetails = $CustomBiddingModelDetails; + +/// A single custom bidding script. +class CustomBiddingScript { + /// Whether the script is currently being used for scoring by the parent + /// algorithm. + /// + /// Output only. + core.bool? active; + + /// The time when the script was created. + /// + /// Output only. + core.String? createTime; + + /// The unique ID of the custom bidding algorithm the script belongs to. + /// + /// Output only. + core.String? customBiddingAlgorithmId; + + /// The unique ID of the custom bidding script. + /// + /// Output only. + core.String? customBiddingScriptId; + + /// Error details of a rejected custom bidding script. + /// + /// This field will only be populated when state is REJECTED. + /// + /// Output only. + core.List? errors; + + /// The resource name of the custom bidding script. + /// + /// Output only. + core.String? name; + + /// The reference to the uploaded script file. + CustomBiddingScriptRef? script; + + /// The state of the custom bidding script. + /// + /// Output only. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : The script state is not specified or is unknown in + /// this version. + /// - "ACCEPTED" : The script has been accepted for scoring impressions. + /// - "REJECTED" : The script has been rejected by backend pipelines. It may + /// have errors. + /// - "PENDING" : The script is being processed for backend pipelines. + core.String? state; + + CustomBiddingScript({ + this.active, + this.createTime, + this.customBiddingAlgorithmId, + this.customBiddingScriptId, + this.errors, + this.name, + this.script, + this.state, + }); + + CustomBiddingScript.fromJson(core.Map json_) + : this( + active: json_['active'] as core.bool?, + createTime: json_['createTime'] as core.String?, + customBiddingAlgorithmId: + json_['customBiddingAlgorithmId'] as core.String?, + customBiddingScriptId: json_['customBiddingScriptId'] as core.String?, + errors: (json_['errors'] as core.List?) + ?.map((value) => ScriptError.fromJson( + value as core.Map)) + .toList(), + name: json_['name'] as core.String?, + script: json_.containsKey('script') + ? CustomBiddingScriptRef.fromJson( + json_['script'] as core.Map) + : null, + state: json_['state'] as core.String?, + ); + + core.Map toJson() => { + if (active != null) 'active': active!, + if (createTime != null) 'createTime': createTime!, + if (customBiddingAlgorithmId != null) + 'customBiddingAlgorithmId': customBiddingAlgorithmId!, + if (customBiddingScriptId != null) + 'customBiddingScriptId': customBiddingScriptId!, + if (errors != null) 'errors': errors!, + if (name != null) 'name': name!, + if (script != null) 'script': script!, + if (state != null) 'state': state!, + }; +} + +/// The reference to the uploaded custom bidding script file. +typedef CustomBiddingScriptRef = $CustomBiddingScriptRef; + +/// The key and value of a custom label. +typedef CustomLabel = $CustomLabel; + +/// Describes a custom list entity, such as a custom affinity or custom intent +/// audience list. +typedef CustomList = $CustomList; + +/// Details of custom list group. +/// +/// All custom list targeting settings are logically ‘OR’ of each other. +class CustomListGroup { + /// All custom list targeting settings in custom list group. + /// + /// Repeated settings with the same id will be ignored. + /// + /// Required. + core.List? settings; + + CustomListGroup({ + this.settings, + }); + + CustomListGroup.fromJson(core.Map json_) + : this( + settings: (json_['settings'] as core.List?) + ?.map((value) => CustomListTargetingSetting.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (settings != null) 'settings': settings!, + }; +} + +/// Details of custom list targeting setting. +typedef CustomListTargetingSetting = $CustomListTargetingSetting; + +/// 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, with a zero year (for example, an +/// anniversary). * A year on its own, with a zero month and a zero day. * A +/// year and month, with a zero day (for example, a credit card expiration +/// date). Related types: * google.type.TimeOfDay * google.type.DateTime * +/// google.protobuf.Timestamp +typedef Date = $Date; + +/// A date range. +class DateRange { + /// The upper bound of the date range, inclusive. + /// + /// Must specify a positive value for `year`, `month`, and `day`. + Date? endDate; + + /// The lower bound of the date range, inclusive. + /// + /// Must specify a positive value for `year`, `month`, and `day`. + Date? startDate; + + DateRange({ + this.endDate, + this.startDate, + }); + + DateRange.fromJson(core.Map json_) + : this( + endDate: json_.containsKey('endDate') + ? Date.fromJson( + json_['endDate'] as core.Map) + : null, + startDate: json_.containsKey('startDate') + ? Date.fromJson( + json_['startDate'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (endDate != null) 'endDate': endDate!, + if (startDate != null) 'startDate': startDate!, + }; +} + +/// 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`. +typedef DayAndTimeAssignedTargetingOptionDetails + = $DayAndTimeAssignedTargetingOptionDetails; + +/// A request listing which assigned targeting options of a given targeting type +/// should be deleted. +typedef DeleteAssignedTargetingOptionsRequest + = $DeleteAssignedTargetingOptionsRequest; + +/// 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`. +typedef DeviceMakeModelAssignedTargetingOptionDetails + = $DeviceMakeModelAssignedTargetingOptionDetails; + +/// Represents a targetable device make and model. +/// +/// This will be populated in the device_make_model_details field of a +/// TargetingOption when targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`. +typedef DeviceMakeModelTargetingOptionDetails + = $DeviceMakeModelTargetingOptionDetails; + +/// Targeting details for device type. +/// +/// This will be populated in the details field of an AssignedTargetingOption +/// when targeting_type is `TARGETING_TYPE_DEVICE_TYPE`. +typedef DeviceTypeAssignedTargetingOptionDetails + = $DeviceTypeAssignedTargetingOptionDetails; + +/// Represents a targetable device type. +/// +/// This will be populated in the device_type_details field of a TargetingOption +/// when targeting_type is `TARGETING_TYPE_DEVICE_TYPE`. +typedef DeviceTypeTargetingOptionDetails = $DeviceTypeTargetingOptionDetails; + +/// 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`. +typedef DigitalContentLabelAssignedTargetingOptionDetails + = $DigitalContentLabelAssignedTargetingOptionDetails; + +/// Represents a targetable digital content label rating tier. +/// +/// This will be populated in the digital_content_label_details field of the +/// TargetingOption when targeting_type is +/// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`. +typedef DigitalContentLabelTargetingOptionDetails + = $DigitalContentLabelTargetingOptionDetails; + +/// Dimensions. +typedef Dimensions = $Dimensions; + +/// The ad sourced from a DV360 creative. +typedef DisplayVideoSourceAd = $DisplayVideoSourceAd; + +/// Details of DoubleVerify settings. +class DoubleVerify { + /// Avoid bidding on apps with the star ratings. + DoubleVerifyAppStarRating? appStarRating; + + /// Avoid bidding on apps with the age rating. + core.List? avoidedAgeRatings; + + /// DV Brand Safety Controls. + DoubleVerifyBrandSafetyCategories? brandSafetyCategories; + + /// 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 + core.String? customSegmentId; + + /// Display viewability settings (applicable to display line items only). + DoubleVerifyDisplayViewability? displayViewability; + + /// Avoid Sites and Apps with historical Fraud & IVT Rates. + DoubleVerifyFraudInvalidTraffic? fraudInvalidTraffic; + + /// Video viewability settings (applicable to video line items only). + DoubleVerifyVideoViewability? videoViewability; + + DoubleVerify({ + this.appStarRating, + this.avoidedAgeRatings, + this.brandSafetyCategories, + this.customSegmentId, + this.displayViewability, + this.fraudInvalidTraffic, + this.videoViewability, + }); + + DoubleVerify.fromJson(core.Map json_) + : this( + appStarRating: json_.containsKey('appStarRating') + ? DoubleVerifyAppStarRating.fromJson( + json_['appStarRating'] as core.Map) + : null, + avoidedAgeRatings: (json_['avoidedAgeRatings'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + brandSafetyCategories: json_.containsKey('brandSafetyCategories') + ? DoubleVerifyBrandSafetyCategories.fromJson( + json_['brandSafetyCategories'] + as core.Map) + : null, + customSegmentId: json_['customSegmentId'] as core.String?, + displayViewability: json_.containsKey('displayViewability') + ? DoubleVerifyDisplayViewability.fromJson( + json_['displayViewability'] + as core.Map) + : null, + fraudInvalidTraffic: json_.containsKey('fraudInvalidTraffic') + ? DoubleVerifyFraudInvalidTraffic.fromJson( + json_['fraudInvalidTraffic'] + as core.Map) + : null, + videoViewability: json_.containsKey('videoViewability') + ? DoubleVerifyVideoViewability.fromJson(json_['videoViewability'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (appStarRating != null) 'appStarRating': appStarRating!, + if (avoidedAgeRatings != null) 'avoidedAgeRatings': avoidedAgeRatings!, + if (brandSafetyCategories != null) + 'brandSafetyCategories': brandSafetyCategories!, + if (customSegmentId != null) 'customSegmentId': customSegmentId!, + if (displayViewability != null) + 'displayViewability': displayViewability!, + if (fraudInvalidTraffic != null) + 'fraudInvalidTraffic': fraudInvalidTraffic!, + if (videoViewability != null) 'videoViewability': videoViewability!, + }; +} + +/// Details of DoubleVerify star ratings settings. +typedef DoubleVerifyAppStarRating = $DoubleVerifyAppStarRating; + +/// Settings for brand safety controls. +typedef DoubleVerifyBrandSafetyCategories = $DoubleVerifyBrandSafetyCategories; + +/// Details of DoubleVerify display viewability settings. +typedef DoubleVerifyDisplayViewability = $DoubleVerifyDisplayViewability; + +/// DoubleVerify Fraud & Invalid Traffic settings. +typedef DoubleVerifyFraudInvalidTraffic = $DoubleVerifyFraudInvalidTraffic; + +/// Details of DoubleVerify video viewability settings. +typedef DoubleVerifyVideoViewability = $DoubleVerifyVideoViewability; + +/// Request message for LineItemService.DuplicateLineItem. +typedef DuplicateLineItemRequest = $DuplicateLineItemRequest; +typedef DuplicateLineItemResponse = $DuplicateLineItemResponse; + +/// Request message for +/// FirstAndThirdPartyAudienceService.EditCustomerMatchMembers. +class EditCustomerMatchMembersRequest { + /// Input only. + /// + /// A list of contact information to define the members to be added. + ContactInfoList? addedContactInfoList; + + /// Input only. + /// + /// A list of mobile device IDs to define the members to be added. + MobileDeviceIdList? addedMobileDeviceIdList; + + /// The ID of the owner advertiser of the updated Customer Match + /// FirstAndThirdPartyAudience. + /// + /// Required. + core.String? advertiserId; + + /// Input only. + /// + /// A list of contact information to define the members to be removed. + ContactInfoList? removedContactInfoList; + + /// Input only. + /// + /// A list of mobile device IDs to define the members to be removed. + MobileDeviceIdList? removedMobileDeviceIdList; + + EditCustomerMatchMembersRequest({ + this.addedContactInfoList, + this.addedMobileDeviceIdList, + this.advertiserId, + this.removedContactInfoList, + this.removedMobileDeviceIdList, + }); + + EditCustomerMatchMembersRequest.fromJson(core.Map json_) + : this( + addedContactInfoList: json_.containsKey('addedContactInfoList') + ? ContactInfoList.fromJson(json_['addedContactInfoList'] + as core.Map) + : null, + addedMobileDeviceIdList: json_.containsKey('addedMobileDeviceIdList') + ? MobileDeviceIdList.fromJson(json_['addedMobileDeviceIdList'] + as core.Map) + : null, + advertiserId: json_['advertiserId'] as core.String?, + removedContactInfoList: json_.containsKey('removedContactInfoList') + ? ContactInfoList.fromJson(json_['removedContactInfoList'] + as core.Map) + : null, + removedMobileDeviceIdList: json_ + .containsKey('removedMobileDeviceIdList') + ? MobileDeviceIdList.fromJson(json_['removedMobileDeviceIdList'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (addedContactInfoList != null) + 'addedContactInfoList': addedContactInfoList!, + if (addedMobileDeviceIdList != null) + 'addedMobileDeviceIdList': addedMobileDeviceIdList!, + if (advertiserId != null) 'advertiserId': advertiserId!, + if (removedContactInfoList != null) + 'removedContactInfoList': removedContactInfoList!, + if (removedMobileDeviceIdList != null) + 'removedMobileDeviceIdList': removedMobileDeviceIdList!, + }; +} + +/// The response of FirstAndThirdPartyAudienceService.EditCustomerMatchMembers. +class EditCustomerMatchMembersResponse { + /// The ID of the updated Customer Match FirstPartyAndPartnerAudience. + /// + /// Required. + core.String? firstPartyAndPartnerAudienceId; + + EditCustomerMatchMembersResponse({ + this.firstPartyAndPartnerAudienceId, + }); + + EditCustomerMatchMembersResponse.fromJson(core.Map json_) + : this( + firstPartyAndPartnerAudienceId: + json_['firstPartyAndPartnerAudienceId'] as core.String?, + ); + + core.Map toJson() => { + if (firstPartyAndPartnerAudienceId != null) + 'firstPartyAndPartnerAudienceId': firstPartyAndPartnerAudienceId!, + }; +} + +/// Request message for GuaranteedOrderService.EditGuaranteedOrderReadAccessors. +typedef EditGuaranteedOrderReadAccessorsRequest + = $EditGuaranteedOrderReadAccessorsRequest; +typedef EditGuaranteedOrderReadAccessorsResponse + = $EditGuaranteedOrderReadAccessorsResponse; + +/// Request message for +/// InventorySourceService.EditInventorySourceReadWriteAccessors. +class EditInventorySourceReadWriteAccessorsRequest { + /// The advertisers to add or remove from the list of advertisers that have + /// read/write access to the inventory source. + /// + /// This change will remove an existing partner read/write accessor. + EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate? + advertisersUpdate; + + /// Set the partner context as read/write accessor of the inventory source. + /// + /// This will remove all other current read/write advertiser accessors. + core.bool? assignPartner; + + /// The partner context by which the accessors change is being made. + /// + /// Required. + core.String? partnerId; + + EditInventorySourceReadWriteAccessorsRequest({ + this.advertisersUpdate, + this.assignPartner, + this.partnerId, + }); + + EditInventorySourceReadWriteAccessorsRequest.fromJson(core.Map json_) + : this( + advertisersUpdate: json_.containsKey('advertisersUpdate') + ? EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate + .fromJson(json_['advertisersUpdate'] + as core.Map) + : null, + assignPartner: json_['assignPartner'] as core.bool?, + partnerId: json_['partnerId'] as core.String?, + ); + + core.Map toJson() => { + if (advertisersUpdate != null) 'advertisersUpdate': advertisersUpdate!, + if (assignPartner != null) 'assignPartner': assignPartner!, + if (partnerId != null) 'partnerId': partnerId!, + }; +} + +/// Update to the list of advertisers with read/write access to the inventory +/// source. +typedef EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate + = $EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate; + +/// 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); } +typedef Empty = $Empty; + +/// Assigned environment targeting option details. +/// +/// This will be populated in the details field of an AssignedTargetingOption +/// when targeting_type is `TARGETING_TYPE_ENVIRONMENT`. +typedef EnvironmentAssignedTargetingOptionDetails + = $EnvironmentAssignedTargetingOptionDetails; + +/// Represents a targetable environment. +/// +/// This will be populated in the environment_details field of a TargetingOption +/// when targeting_type is `TARGETING_TYPE_ENVIRONMENT`. +typedef EnvironmentTargetingOptionDetails = $EnvironmentTargetingOptionDetails; + +/// Details for assigned exchange targeting option. +/// +/// This will be populated in the details field of an AssignedTargetingOption +/// when targeting_type is `TARGETING_TYPE_EXCHANGE`. +typedef ExchangeAssignedTargetingOptionDetails + = $ExchangeAssignedTargetingOptionDetails; + +/// Settings that control which exchanges are enabled for a partner. +class ExchangeConfig { + /// All enabled exchanges in the partner. + /// + /// Duplicate enabled exchanges will be ignored. + core.List? enabledExchanges; + + ExchangeConfig({ + this.enabledExchanges, + }); + + ExchangeConfig.fromJson(core.Map json_) + : this( + enabledExchanges: (json_['enabledExchanges'] as core.List?) + ?.map((value) => ExchangeConfigEnabledExchange.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (enabledExchanges != null) 'enabledExchanges': enabledExchanges!, + }; +} + +/// An enabled exchange in the partner. +typedef ExchangeConfigEnabledExchange = $ExchangeConfigEnabledExchange; + +/// Exchange review status for the creative. +typedef ExchangeReviewStatus = $ExchangeReviewStatus; + +/// Represents a targetable exchange. +/// +/// This will be populated in the exchange_details field of a TargetingOption +/// when targeting_type is `TARGETING_TYPE_EXCHANGE`. +typedef ExchangeTargetingOptionDetails = $ExchangeTargetingOptionDetails; + +/// Exit event of the creative. +typedef ExitEvent = $ExitEvent; + +/// Describes a first or partner audience list used for targeting. +/// +/// First party audiences are created via usage of client data. Partner +/// audiences are provided by Third Party data providers and can only be +/// licensed to customers. +class FirstPartyAndPartnerAudience { + /// The estimated audience size for the Display network in the past month. + /// + /// If the size is less than 1000, the number will be hidden and 0 will be + /// returned due to privacy reasons. Otherwise, the number will be rounded off + /// to two significant digits. Only returned in GET request. + /// + /// Output only. + core.String? activeDisplayAudienceSize; + + /// The app_id matches with the type of the mobile_device_ids being uploaded. + /// + /// Only applicable to audience_type `CUSTOMER_MATCH_DEVICE_ID` + /// + /// Optional. + core.String? appId; + + /// The source of the audience. + /// + /// Output only. + /// Possible string values are: + /// - "AUDIENCE_SOURCE_UNSPECIFIED" : Default value when audience source is + /// not specified or is unknown. + /// - "DISPLAY_VIDEO_360" : Originated from Display & Video 360. + /// - "CAMPAIGN_MANAGER" : Originated from Campaign Manager 360. + /// - "AD_MANAGER" : Originated from Google Ad Manager. + /// - "SEARCH_ADS_360" : Originated from Search Ads 360. + /// - "YOUTUBE" : Originated from Youtube. + /// - "ADS_DATA_HUB" : Originated from Ads Data Hub. + core.String? audienceSource; + + /// The type of the audience. + /// + /// Output only. + /// Possible string values are: + /// - "AUDIENCE_TYPE_UNSPECIFIED" : Default value when type is not specified + /// or is unknown. + /// - "CUSTOMER_MATCH_CONTACT_INFO" : Audience was generated through matching + /// customers to known contact information. + /// - "CUSTOMER_MATCH_DEVICE_ID" : Audience was generated through matching + /// customers to known Mobile device IDs. + /// - "CUSTOMER_MATCH_USER_ID" : Audience was generated through matching + /// customers to known User IDs. + /// - "ACTIVITY_BASED" : Audience was created based on campaign activity. + /// - "FREQUENCY_CAP" : Audience was created based on excluding the number of + /// impressions they were served. + /// - "TAG_BASED" : Audience was created based on custom variables attached to + /// pixel. + /// - "YOUTUBE_USERS" : Audience was created based on past interactions with + /// videos, YouTube ads, or YouTube channel. + /// - "THIRD_PARTY" : Audience has been licensed for use from a third party. + /// - "COMMERCE" : Audience provided by commerce partners for a fee. + /// - "LINEAR" : Audience for Linear TV content. + core.String? audienceType; + + /// Input only. + /// + /// A list of contact information to define the initial audience members. Only + /// applicable to audience_type `CUSTOMER_MATCH_CONTACT_INFO` + ContactInfoList? contactInfoList; + + /// The user-provided description of the audience. + /// + /// Only applicable to first party audiences. + /// + /// Output only. + core.String? description; + + /// The estimated audience size for the Display network. + /// + /// If the size is less than 1000, the number will be hidden and 0 will be + /// returned due to privacy reasons. Otherwise, the number will be rounded off + /// to two significant digits. Only returned in GET request. + /// + /// Output only. + core.String? displayAudienceSize; + + /// The estimated desktop audience size in Display network. + /// + /// If the size is less than 1000, the number will be hidden and 0 will be + /// returned due to privacy reasons. Otherwise, the number will be rounded off + /// to two significant digits. Only applicable to first party audiences. Only + /// returned in GET request. + /// + /// Output only. + core.String? displayDesktopAudienceSize; + + /// The estimated mobile app audience size in Display network. + /// + /// If the size is less than 1000, the number will be hidden and 0 will be + /// returned due to privacy reasons. Otherwise, the number will be rounded off + /// to two significant digits. Only applicable to first party audiences. Only + /// returned in GET request. + /// + /// Output only. + core.String? displayMobileAppAudienceSize; + + /// The estimated mobile web audience size in Display network. + /// + /// If the size is less than 1000, the number will be hidden and 0 will be + /// returned due to privacy reasons. Otherwise, the number will be rounded off + /// to two significant digits. Only applicable to first party audiences. Only + /// returned in GET request. + /// + /// Output only. + core.String? displayMobileWebAudienceSize; + + /// The display name of the first party and partner audience. + /// + /// Output only. + core.String? displayName; + + /// Identifier. + /// + /// The unique ID of the first party and partner audience. Assigned by the + /// system. + core.String? firstPartyAndPartnerAudienceId; + + /// Whether the audience is a first party and partner audience. + /// + /// Output only. + /// Possible string values are: + /// - "FIRST_PARTY_AND_PARTNER_AUDIENCE_TYPE_UNSPECIFIED" : Default value when + /// type is not specified or is unknown. + /// - "TYPE_FIRST_PARTY" : Audience that is created via usage of client data. + /// - "TYPE_PARTNER" : Audience that is provided by Third Party data + /// providers. + core.String? firstPartyAndPartnerAudienceType; + + /// The estimated audience size for Gmail network. + /// + /// If the size is less than 1000, the number will be hidden and 0 will be + /// returned due to privacy reasons. Otherwise, the number will be rounded off + /// to two significant digits. Only applicable to first party audiences. Only + /// returned in GET request. + /// + /// Output only. + core.String? gmailAudienceSize; + + /// The duration in days that an entry remains in the audience after the + /// qualifying event. + /// + /// If the audience has no expiration, set the value of this field to 10000. + /// Otherwise, the set value must be greater than 0 and less than or equal to + /// 540. Only applicable to first party audiences. This field is required if + /// one of the following audience_type is used: * + /// `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID` + /// + /// Output only. + core.String? membershipDurationDays; + + /// Input only. + /// + /// A list of mobile device IDs to define the initial audience members. Only + /// applicable to audience_type `CUSTOMER_MATCH_DEVICE_ID` + MobileDeviceIdList? mobileDeviceIdList; + + /// The resource name of the first party and partner audience. + /// + /// Output only. + core.String? name; + + /// The estimated audience size for YouTube network. + /// + /// If the size is less than 1000, the number will be hidden and 0 will be + /// returned due to privacy reasons. Otherwise, the number will be rounded off + /// to two significant digits. Only applicable to first party audiences. Only + /// returned in GET request. + /// + /// Output only. + core.String? youtubeAudienceSize; + + FirstPartyAndPartnerAudience({ + this.activeDisplayAudienceSize, + this.appId, + this.audienceSource, + this.audienceType, + this.contactInfoList, + this.description, + this.displayAudienceSize, + this.displayDesktopAudienceSize, + this.displayMobileAppAudienceSize, + this.displayMobileWebAudienceSize, + this.displayName, + this.firstPartyAndPartnerAudienceId, + this.firstPartyAndPartnerAudienceType, + this.gmailAudienceSize, + this.membershipDurationDays, + this.mobileDeviceIdList, + this.name, + this.youtubeAudienceSize, + }); + + FirstPartyAndPartnerAudience.fromJson(core.Map json_) + : this( + activeDisplayAudienceSize: + json_['activeDisplayAudienceSize'] as core.String?, + appId: json_['appId'] as core.String?, + audienceSource: json_['audienceSource'] as core.String?, + audienceType: json_['audienceType'] as core.String?, + contactInfoList: json_.containsKey('contactInfoList') + ? ContactInfoList.fromJson(json_['contactInfoList'] + as core.Map) + : null, + description: json_['description'] as core.String?, + displayAudienceSize: json_['displayAudienceSize'] as core.String?, + displayDesktopAudienceSize: + json_['displayDesktopAudienceSize'] as core.String?, + displayMobileAppAudienceSize: + json_['displayMobileAppAudienceSize'] as core.String?, + displayMobileWebAudienceSize: + json_['displayMobileWebAudienceSize'] as core.String?, + displayName: json_['displayName'] as core.String?, + firstPartyAndPartnerAudienceId: + json_['firstPartyAndPartnerAudienceId'] as core.String?, + firstPartyAndPartnerAudienceType: + json_['firstPartyAndPartnerAudienceType'] as core.String?, + gmailAudienceSize: json_['gmailAudienceSize'] as core.String?, + membershipDurationDays: + json_['membershipDurationDays'] as core.String?, + mobileDeviceIdList: json_.containsKey('mobileDeviceIdList') + ? MobileDeviceIdList.fromJson(json_['mobileDeviceIdList'] + as core.Map) + : null, + name: json_['name'] as core.String?, + youtubeAudienceSize: json_['youtubeAudienceSize'] as core.String?, + ); + + core.Map toJson() => { + if (activeDisplayAudienceSize != null) + 'activeDisplayAudienceSize': activeDisplayAudienceSize!, + if (appId != null) 'appId': appId!, + if (audienceSource != null) 'audienceSource': audienceSource!, + if (audienceType != null) 'audienceType': audienceType!, + if (contactInfoList != null) 'contactInfoList': contactInfoList!, + if (description != null) 'description': description!, + if (displayAudienceSize != null) + 'displayAudienceSize': displayAudienceSize!, + if (displayDesktopAudienceSize != null) + 'displayDesktopAudienceSize': displayDesktopAudienceSize!, + if (displayMobileAppAudienceSize != null) + 'displayMobileAppAudienceSize': displayMobileAppAudienceSize!, + if (displayMobileWebAudienceSize != null) + 'displayMobileWebAudienceSize': displayMobileWebAudienceSize!, + if (displayName != null) 'displayName': displayName!, + if (firstPartyAndPartnerAudienceId != null) + 'firstPartyAndPartnerAudienceId': firstPartyAndPartnerAudienceId!, + if (firstPartyAndPartnerAudienceType != null) + 'firstPartyAndPartnerAudienceType': firstPartyAndPartnerAudienceType!, + if (gmailAudienceSize != null) 'gmailAudienceSize': gmailAudienceSize!, + if (membershipDurationDays != null) + 'membershipDurationDays': membershipDurationDays!, + if (mobileDeviceIdList != null) + 'mobileDeviceIdList': mobileDeviceIdList!, + if (name != null) 'name': name!, + if (youtubeAudienceSize != null) + 'youtubeAudienceSize': youtubeAudienceSize!, + }; +} + +/// Details of first party and partner audience group. +/// +/// All first party and partner audience targeting settings are logically ‘OR’ +/// of each other. +class FirstPartyAndPartnerAudienceGroup { + /// All first party and partner audience targeting settings in first party and + /// partner audience group. + /// + /// Repeated settings with the same id are not allowed. + /// + /// Required. + core.List? settings; + + FirstPartyAndPartnerAudienceGroup({ + this.settings, + }); + + FirstPartyAndPartnerAudienceGroup.fromJson(core.Map json_) + : this( + settings: (json_['settings'] as core.List?) + ?.map((value) => + FirstPartyAndPartnerAudienceTargetingSetting.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (settings != null) 'settings': settings!, + }; +} + +/// Details of first party and partner audience targeting setting. +class FirstPartyAndPartnerAudienceTargetingSetting { + /// First party and partner audience id of the first party and partner + /// audience targeting setting. + /// + /// This id is first_party_and_partner_audience_id. + /// + /// Required. + core.String? firstPartyAndPartnerAudienceId; + + /// The recency of the first party and partner 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. + /// + /// Required. + /// Possible string values are: + /// - "RECENCY_NO_LIMIT" : No limit of recency. + /// - "RECENCY_1_MINUTE" : Recency is 1 minute. + /// - "RECENCY_5_MINUTES" : Recency is 5 minutes. + /// - "RECENCY_10_MINUTES" : Recency is 10 minutes. + /// - "RECENCY_15_MINUTES" : Recency is 15 minutes. + /// - "RECENCY_30_MINUTES" : Recency is 30 minutes. + /// - "RECENCY_1_HOUR" : Recency is 1 hour. + /// - "RECENCY_2_HOURS" : Recency is 2 hours. + /// - "RECENCY_3_HOURS" : Recency is 3 hours. + /// - "RECENCY_6_HOURS" : Recency is 6 hours. + /// - "RECENCY_12_HOURS" : Recency is 12 hours. + /// - "RECENCY_1_DAY" : Recency is 1 day. + /// - "RECENCY_2_DAYS" : Recency is 2 days. + /// - "RECENCY_3_DAYS" : Recency is 3 days. + /// - "RECENCY_5_DAYS" : Recency is 5 days. + /// - "RECENCY_7_DAYS" : Recency is 7 days. + /// - "RECENCY_10_DAYS" : Recency is 10 days. + /// - "RECENCY_14_DAYS" : Recency is 14 days. + /// - "RECENCY_15_DAYS" : Recency is 15 days. + /// - "RECENCY_21_DAYS" : Recency is 21 days. + /// - "RECENCY_28_DAYS" : Recency is 28 days. + /// - "RECENCY_30_DAYS" : Recency is 30 days. + /// - "RECENCY_40_DAYS" : Recency is 40 days. + /// - "RECENCY_45_DAYS" : Recency is 45 days. + /// - "RECENCY_60_DAYS" : Recency is 60 days. + /// - "RECENCY_90_DAYS" : Recency is 90 days. + /// - "RECENCY_120_DAYS" : Recency is 120 days. + /// - "RECENCY_180_DAYS" : Recency is 180 days. + /// - "RECENCY_270_DAYS" : Recency is 270 days. + /// - "RECENCY_365_DAYS" : Recency is 365 days. + core.String? recency; + + FirstPartyAndPartnerAudienceTargetingSetting({ + this.firstPartyAndPartnerAudienceId, + this.recency, + }); + + FirstPartyAndPartnerAudienceTargetingSetting.fromJson(core.Map json_) + : this( + firstPartyAndPartnerAudienceId: + json_['firstPartyAndPartnerAudienceId'] as core.String?, + recency: json_['recency'] as core.String?, + ); + + core.Map toJson() => { + if (firstPartyAndPartnerAudienceId != null) + 'firstPartyAndPartnerAudienceId': firstPartyAndPartnerAudienceId!, + if (recency != null) 'recency': recency!, + }; +} + +/// A strategy that uses a fixed bidding price. +typedef FixedBidStrategy = $FixedBidStrategy; + +/// A single Floodlight activity. +class FloodlightActivity { + /// IDs of the advertisers that have access to the parent Floodlight group. + /// + /// Only advertisers under the provided partner ID will be listed in this + /// field. + /// + /// Output only. + core.List? advertiserIds; + + /// The display name of the Floodlight activity. + /// + /// Required. + core.String? displayName; + + /// The unique ID of the Floodlight activity. + /// + /// Assigned by the system. + /// + /// Output only. + core.String? floodlightActivityId; + + /// The ID of the parent Floodlight group. + /// + /// Required. Immutable. + core.String? floodlightGroupId; + + /// The resource name of the Floodlight activity. + /// + /// Output only. + core.String? name; + + /// A list of configuration objects designating whether remarketing for this + /// Floodlight Activity is enabled and available for a specifc advertiser. + /// + /// If enabled, this Floodlight Activity generates a remarketing user list + /// that is able to be used in targeting under the advertiser. + /// + /// Output only. + core.List? remarketingConfigs; + + /// Whether the Floodlight activity is served. + /// + /// Optional. + /// Possible string values are: + /// - "FLOODLIGHT_ACTIVITY_SERVING_STATUS_UNSPECIFIED" : Type value is not + /// specified or is unknown in this version. + /// - "FLOODLIGHT_ACTIVITY_SERVING_STATUS_ENABLED" : Enabled. + /// - "FLOODLIGHT_ACTIVITY_SERVING_STATUS_DISABLED" : Disabled. + core.String? servingStatus; + + /// Whether tags are required to be compliant. + /// + /// Output only. + core.bool? sslRequired; + + FloodlightActivity({ + this.advertiserIds, + this.displayName, + this.floodlightActivityId, + this.floodlightGroupId, + this.name, + this.remarketingConfigs, + this.servingStatus, + this.sslRequired, + }); + + FloodlightActivity.fromJson(core.Map json_) + : this( + advertiserIds: (json_['advertiserIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + displayName: json_['displayName'] as core.String?, + floodlightActivityId: json_['floodlightActivityId'] as core.String?, + floodlightGroupId: json_['floodlightGroupId'] as core.String?, + name: json_['name'] as core.String?, + remarketingConfigs: (json_['remarketingConfigs'] as core.List?) + ?.map((value) => RemarketingConfig.fromJson( + value as core.Map)) + .toList(), + servingStatus: json_['servingStatus'] as core.String?, + sslRequired: json_['sslRequired'] as core.bool?, + ); + + core.Map toJson() => { + if (advertiserIds != null) 'advertiserIds': advertiserIds!, + if (displayName != null) 'displayName': displayName!, + if (floodlightActivityId != null) + 'floodlightActivityId': floodlightActivityId!, + if (floodlightGroupId != null) 'floodlightGroupId': floodlightGroupId!, + if (name != null) 'name': name!, + if (remarketingConfigs != null) + 'remarketingConfigs': remarketingConfigs!, + if (servingStatus != null) 'servingStatus': servingStatus!, + if (sslRequired != null) 'sslRequired': sslRequired!, + }; +} + +/// A single Floodlight group. +class FloodlightGroup { + /// The Active View video viewability metric configuration for the Floodlight + /// group. + ActiveViewVideoViewabilityMetricConfig? activeViewConfig; + + /// User-defined custom variables owned by the Floodlight group. + /// + /// Use custom Floodlight variables to create reporting data that is tailored + /// to your unique business needs. Custom Floodlight variables use the keys + /// `U1=`, `U2=`, and so on, and can take any values that you choose to pass + /// to them. You can use them to track virtually any type of data that you + /// collect about your customers, such as the genre of movie that a customer + /// purchases, the country to which the item is shipped, and so on. Custom + /// Floodlight variables may not be used to pass any data that could be used + /// or recognized as personally identifiable information (PII). Example: + /// `custom_variables { fields { "U1": value { number_value: 123.4 }, "U2": + /// value { string_value: "MyVariable2" }, "U3": value { string_value: + /// "MyVariable3" } } }` Acceptable values for keys are "U1" through "U100", + /// inclusive. String values must be less than 64 characters long, and cannot + /// contain the following characters: `"<>`. + /// + /// The values for Object must be JSON objects. It can consist of `num`, + /// `String`, `bool` and `null` as well as `Map` and `List` values. + core.Map? customVariables; + + /// The display name of the Floodlight group. + /// + /// Required. + core.String? displayName; + + /// The unique ID of the Floodlight group. + /// + /// Assigned by the system. + /// + /// Output only. + core.String? floodlightGroupId; + + /// The lookback window for the Floodlight group. + /// + /// Both click_days and impression_days are required. Acceptable values for + /// both are `0` to `90`, inclusive. + /// + /// Required. + LookbackWindow? lookbackWindow; + + /// The resource name of the Floodlight group. + /// + /// Output only. + core.String? name; + + /// The web tag type enabled for the Floodlight group. + /// + /// Required. + /// Possible string values are: + /// - "WEB_TAG_TYPE_UNSPECIFIED" : Type value is not specified or is unknown + /// in this version. + /// - "WEB_TAG_TYPE_NONE" : No tag type. + /// - "WEB_TAG_TYPE_IMAGE" : Image tag. + /// - "WEB_TAG_TYPE_DYNAMIC" : Dynamic tag. + core.String? webTagType; + + FloodlightGroup({ + this.activeViewConfig, + this.customVariables, + this.displayName, + this.floodlightGroupId, + this.lookbackWindow, + this.name, + this.webTagType, + }); + + FloodlightGroup.fromJson(core.Map json_) + : this( + activeViewConfig: json_.containsKey('activeViewConfig') + ? ActiveViewVideoViewabilityMetricConfig.fromJson( + json_['activeViewConfig'] + as core.Map) + : null, + customVariables: json_.containsKey('customVariables') + ? json_['customVariables'] as core.Map + : null, + displayName: json_['displayName'] as core.String?, + floodlightGroupId: json_['floodlightGroupId'] as core.String?, + lookbackWindow: json_.containsKey('lookbackWindow') + ? LookbackWindow.fromJson(json_['lookbackWindow'] + as core.Map) + : null, + name: json_['name'] as core.String?, + webTagType: json_['webTagType'] as core.String?, + ); + + core.Map toJson() => { + if (activeViewConfig != null) 'activeViewConfig': activeViewConfig!, + if (customVariables != null) 'customVariables': customVariables!, + if (displayName != null) 'displayName': displayName!, + if (floodlightGroupId != null) 'floodlightGroupId': floodlightGroupId!, + if (lookbackWindow != null) 'lookbackWindow': lookbackWindow!, + if (name != null) 'name': name!, + if (webTagType != null) 'webTagType': webTagType!, + }; +} + +/// Settings that control the number of times a user may be shown with the same +/// ad during a given time period. +typedef FrequencyCap = $FrequencyCap; + +/// Details for assigned gender targeting option. +/// +/// This will be populated in the details field of an AssignedTargetingOption +/// when targeting_type is `TARGETING_TYPE_GENDER`. +typedef GenderAssignedTargetingOptionDetails + = $GenderAssignedTargetingOptionDetails; + +/// Represents a targetable gender. +/// +/// This will be populated in the gender_details field of a TargetingOption when +/// targeting_type is `TARGETING_TYPE_GENDER`. +typedef GenderTargetingOptionDetails = $GenderTargetingOptionDetails; + +/// Request message for LineItemService.GenerateDefaultLineItem. +class GenerateDefaultLineItemRequest { + /// The display name of the line item. + /// + /// Must be UTF-8 encoded with a maximum size of 240 bytes. + /// + /// Required. + core.String? displayName; + + /// The unique ID of the insertion order that the line item belongs to. + /// + /// Required. + core.String? insertionOrderId; + + /// The type of the line item. + /// + /// Required. + /// Possible string values are: + /// - "LINE_ITEM_TYPE_UNSPECIFIED" : Type value is not specified or is unknown + /// in this version. Line items of this type and their targeting cannot be + /// created or updated using the API. + /// - "LINE_ITEM_TYPE_DISPLAY_DEFAULT" : Image, HTML5, native, or rich media + /// ads. + /// - "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL" : Display ads that drive + /// installs of an app. + /// - "LINE_ITEM_TYPE_VIDEO_DEFAULT" : Video ads sold on a CPM basis for a + /// variety of environments. + /// - "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL" : Video ads that drive + /// installs of an app. + /// - "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INVENTORY" : Display ads served on + /// mobile app inventory. Line items of this type and their targeting cannot + /// be created or updated using the API. + /// - "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INVENTORY" : Video ads served on mobile + /// app inventory. Line items of this type and their targeting cannot be + /// created or updated using the API. + /// - "LINE_ITEM_TYPE_AUDIO_DEFAULT" : RTB Audio ads sold for a variety of + /// environments. + /// - "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP" : Over-the-top ads present in OTT + /// insertion orders. This type is only applicable to line items with an + /// insertion order of insertion_order_type `OVER_THE_TOP`. + /// - "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_ACTION" : YouTube video ads that + /// promote conversions. Line items of this type and their targeting cannot be + /// created or updated using the API. + /// - "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE" : YouTube video ads + /// (up to 15 seconds) that cannot be skipped. Line items of this type and + /// their targeting cannot be created or updated using the API. + /// - "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE" : YouTube video ads + /// that show a story in a particular sequence using a mix of formats. Line + /// items of this type and their targeting cannot be created or updated using + /// the API. + /// - "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_AUDIO" : YouTube audio ads. Line + /// items of this type and their targeting cannot be created or updated using + /// the API. + /// - "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH" : YouTube video ads that + /// optimize reaching more unique users at lower cost. May include bumper ads, + /// skippable in-stream ads, or a mix of types. Line items of this type and + /// their targeting cannot be created or updated using the API. + /// - "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE" : Default YouTube video + /// ads. Line items of this type and their targeting cannot be created or + /// updated using the API. + /// - "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE_OVER_THE_TOP" : + /// Connected TV youTube video ads (up to 15 seconds) that cannot be skipped. + /// Line items of this type and their targeting cannot be created or updated + /// using the API. + /// - "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH_OVER_THE_TOP" : Connected TV + /// youTube video ads that optimize reaching more unique users at lower cost. + /// May include bumper ads, skippable in-stream ads, or a mix of types. Line + /// items of this type and their targeting cannot be created or updated using + /// the API. + /// - "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE_OVER_THE_TOP" : Connected TV + /// default YouTube video ads. Only include in-stream ad-format. Line items of + /// this type and their targeting cannot be created or updated using the API. + /// - "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_TARGET_FREQUENCY" : The goal of + /// this line item type is to show the YouTube ads target number of times to + /// the same person in a certain period of time. Line items of this type and + /// their targeting cannot be created or updated using the API. + /// - "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIEW" : YouTube video ads that aim + /// to get more views with a variety of ad formats. Line items of this type + /// and their targeting cannot be created or updated using the API. + /// - "LINE_ITEM_TYPE_DISPLAY_OUT_OF_HOME" : Display ads served on + /// digital-out-of-home inventory. Line items of this type and their targeting + /// cannot be created or updated using the API. + /// - "LINE_ITEM_TYPE_VIDEO_OUT_OF_HOME" : Video ads served on + /// digital-out-of-home inventory. Line items of this type and their targeting + /// cannot be created or updated using the API. + core.String? lineItemType; + + /// The mobile app promoted by the line item. + /// + /// This is applicable only when line_item_type is either + /// `LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL` or + /// `LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL`. + MobileApp? mobileApp; + + GenerateDefaultLineItemRequest({ + this.displayName, + this.insertionOrderId, + this.lineItemType, + this.mobileApp, + }); + + GenerateDefaultLineItemRequest.fromJson(core.Map json_) + : this( + displayName: json_['displayName'] as core.String?, + insertionOrderId: json_['insertionOrderId'] as core.String?, + lineItemType: json_['lineItemType'] as core.String?, + mobileApp: json_.containsKey('mobileApp') + ? MobileApp.fromJson( + json_['mobileApp'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (displayName != null) 'displayName': displayName!, + if (insertionOrderId != null) 'insertionOrderId': insertionOrderId!, + if (lineItemType != null) 'lineItemType': lineItemType!, + if (mobileApp != null) 'mobileApp': mobileApp!, + }; +} + +/// 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`. +typedef GeoRegionAssignedTargetingOptionDetails + = $GeoRegionAssignedTargetingOptionDetails; + +/// Search terms for geo region targeting options. +typedef GeoRegionSearchTerms = $GeoRegionSearchTerms; + +/// Represents a targetable geographic region. +/// +/// This will be populated in the geo_region_details field when targeting_type +/// is `TARGETING_TYPE_GEO_REGION`. +typedef GeoRegionTargetingOptionDetails = $GeoRegionTargetingOptionDetails; + +/// Describes a Google audience resource. +/// +/// Includes Google audience lists. +typedef GoogleAudience = $GoogleAudience; + +/// Details of Google audience group. +/// +/// All Google audience targeting settings are logically ‘OR’ of each other. +class GoogleAudienceGroup { + /// All Google audience targeting settings in Google audience group. + /// + /// Repeated settings with the same id will be ignored. + /// + /// Required. + core.List? settings; + + GoogleAudienceGroup({ + this.settings, + }); + + GoogleAudienceGroup.fromJson(core.Map json_) + : this( + settings: (json_['settings'] as core.List?) + ?.map((value) => GoogleAudienceTargetingSetting.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (settings != null) 'settings': settings!, + }; +} + +/// Details of Google audience targeting setting. +typedef GoogleAudienceTargetingSetting = $GoogleAudienceTargetingSetting; + +/// Media resource. +typedef GoogleBytestreamMedia = $Media; + +/// A guaranteed order. +/// +/// Guaranteed orders are parent entity of guaranteed inventory sources. When +/// creating a guaranteed inventory source, a guaranteed order ID must be +/// assigned to the inventory source. +class GuaranteedOrder { + /// The ID of default advertiser of the guaranteed order. + /// + /// The default advertiser is either the read_write_advertiser_id or, if that + /// is not set, the first advertiser listed in read_advertiser_ids. Otherwise, + /// there is no default advertiser. + /// + /// Output only. + core.String? defaultAdvertiserId; + + /// The ID of the default campaign that is assigned to the guaranteed order. + /// + /// The default campaign must belong to the default advertiser. + core.String? defaultCampaignId; + + /// The display name of the guaranteed order. + /// + /// Must be UTF-8 encoded with a maximum size of 240 bytes. + /// + /// Required. + core.String? displayName; + + /// The exchange where the guaranteed order originated. + /// + /// Required. Immutable. + /// Possible string values are: + /// - "EXCHANGE_UNSPECIFIED" : Exchange is not specified or is unknown in this + /// version. + /// - "EXCHANGE_GOOGLE_AD_MANAGER" : Google Ad Manager. + /// - "EXCHANGE_APPNEXUS" : AppNexus. + /// - "EXCHANGE_BRIGHTROLL" : BrightRoll Exchange for Video from Yahoo!. + /// - "EXCHANGE_ADFORM" : Adform. + /// - "EXCHANGE_ADMETA" : Admeta. + /// - "EXCHANGE_ADMIXER" : Admixer. + /// - "EXCHANGE_ADSMOGO" : AdsMogo. + /// - "EXCHANGE_ADSWIZZ" : AdsWizz. + /// - "EXCHANGE_BIDSWITCH" : BidSwitch. + /// - "EXCHANGE_BRIGHTROLL_DISPLAY" : BrightRoll Exchange for Display from + /// Yahoo!. + /// - "EXCHANGE_CADREON" : Cadreon. + /// - "EXCHANGE_DAILYMOTION" : Dailymotion. + /// - "EXCHANGE_FIVE" : Five. + /// - "EXCHANGE_FLUCT" : Fluct. + /// - "EXCHANGE_FREEWHEEL" : FreeWheel SSP. + /// - "EXCHANGE_GENIEE" : Geniee. + /// - "EXCHANGE_GUMGUM" : GumGum. + /// - "EXCHANGE_IMOBILE" : i-mobile. + /// - "EXCHANGE_IBILLBOARD" : iBILLBOARD. + /// - "EXCHANGE_IMPROVE_DIGITAL" : Improve Digital. + /// - "EXCHANGE_INDEX" : Index Exchange. + /// - "EXCHANGE_KARGO" : Kargo. + /// - "EXCHANGE_MICROAD" : MicroAd. + /// - "EXCHANGE_MOPUB" : MoPub. + /// - "EXCHANGE_NEND" : Nend. + /// - "EXCHANGE_ONE_BY_AOL_DISPLAY" : ONE by AOL: Display Market Place. + /// - "EXCHANGE_ONE_BY_AOL_MOBILE" : ONE by AOL: Mobile. + /// - "EXCHANGE_ONE_BY_AOL_VIDEO" : ONE by AOL: Video. + /// - "EXCHANGE_OOYALA" : Ooyala. + /// - "EXCHANGE_OPENX" : OpenX. + /// - "EXCHANGE_PERMODO" : Permodo. + /// - "EXCHANGE_PLATFORMONE" : Platform One. + /// - "EXCHANGE_PLATFORMID" : PlatformId. + /// - "EXCHANGE_PUBMATIC" : PubMatic. + /// - "EXCHANGE_PULSEPOINT" : PulsePoint. + /// - "EXCHANGE_REVENUEMAX" : RevenueMax. + /// - "EXCHANGE_RUBICON" : Rubicon. + /// - "EXCHANGE_SMARTCLIP" : SmartClip. + /// - "EXCHANGE_SMARTRTB" : SmartRTB+. + /// - "EXCHANGE_SMARTSTREAMTV" : SmartstreamTv. + /// - "EXCHANGE_SOVRN" : Sovrn. + /// - "EXCHANGE_SPOTXCHANGE" : SpotXchange. + /// - "EXCHANGE_STROER" : Ströer SSP. + /// - "EXCHANGE_TEADSTV" : TeadsTv. + /// - "EXCHANGE_TELARIA" : Telaria. + /// - "EXCHANGE_TVN" : TVN. + /// - "EXCHANGE_UNITED" : United. + /// - "EXCHANGE_YIELDLAB" : Yieldlab. + /// - "EXCHANGE_YIELDMO" : Yieldmo. + /// - "EXCHANGE_UNRULYX" : UnrulyX. + /// - "EXCHANGE_OPEN8" : Open8. + /// - "EXCHANGE_TRITON" : Triton. + /// - "EXCHANGE_TRIPLELIFT" : TripleLift. + /// - "EXCHANGE_TABOOLA" : Taboola. + /// - "EXCHANGE_INMOBI" : InMobi. + /// - "EXCHANGE_SMAATO" : Smaato. + /// - "EXCHANGE_AJA" : Aja. + /// - "EXCHANGE_SUPERSHIP" : Supership. + /// - "EXCHANGE_NEXSTAR_DIGITAL" : Nexstar Digital. + /// - "EXCHANGE_WAZE" : Waze. + /// - "EXCHANGE_SOUNDCAST" : SoundCast. + /// - "EXCHANGE_SHARETHROUGH" : Sharethrough. + /// - "EXCHANGE_FYBER" : Fyber. + /// - "EXCHANGE_RED_FOR_PUBLISHERS" : Red For Publishers. + /// - "EXCHANGE_MEDIANET" : Media.net. + /// - "EXCHANGE_TAPJOY" : Tapjoy. + /// - "EXCHANGE_VISTAR" : Vistar. + /// - "EXCHANGE_DAX" : DAX. + /// - "EXCHANGE_JCD" : JCD. + /// - "EXCHANGE_PLACE_EXCHANGE" : Place Exchange. + /// - "EXCHANGE_APPLOVIN" : AppLovin. + /// - "EXCHANGE_CONNATIX" : Connatix. + /// - "EXCHANGE_RESET_DIGITAL" : Reset Digital. + /// - "EXCHANGE_HIVESTACK" : Hivestack. + /// - "EXCHANGE_DRAX" : Drax. + /// - "EXCHANGE_APPLOVIN_GBID" : AppLovin MAX. + /// - "EXCHANGE_FYBER_GBID" : DT Fairbid. + /// - "EXCHANGE_UNITY_GBID" : Unity LevelPlay. + /// - "EXCHANGE_CHARTBOOST_GBID" : Chartboost Mediation. + /// - "EXCHANGE_ADMOST_GBID" : AdMost. + /// - "EXCHANGE_TOPON_GBID" : TopOn. + /// - "EXCHANGE_NETFLIX" : Netflix. + /// - "EXCHANGE_CORE" : Core. + /// - "EXCHANGE_TUBI" : Tubi. + core.String? exchange; + + /// The unique identifier of the guaranteed order. + /// + /// The guaranteed order IDs have the format + /// `{exchange}-{legacy_guaranteed_order_id}`. + /// + /// Output only. + core.String? guaranteedOrderId; + + /// The legacy ID of the guaranteed order. + /// + /// Assigned by the original exchange. The legacy ID is unique within one + /// exchange, but is not guaranteed to be unique across all guaranteed orders. + /// This ID is used in SDF and UI. + /// + /// Output only. + core.String? legacyGuaranteedOrderId; + + /// The resource name of the guaranteed order. + /// + /// Output only. + core.String? name; + + /// The publisher name of the guaranteed order. + /// + /// Must be UTF-8 encoded with a maximum size of 240 bytes. + /// + /// Required. + core.String? publisherName; + + /// Whether all advertisers of read_write_partner_id have read access to the + /// guaranteed order. + /// + /// Only applicable if read_write_partner_id is set. If True, overrides + /// read_advertiser_ids. + core.bool? readAccessInherited; + + /// The IDs of advertisers with read access to the guaranteed order. + /// + /// This field must not include the advertiser assigned to + /// read_write_advertiser_id if it is set. All advertisers in this field must + /// belong to read_write_partner_id or the same partner as + /// read_write_advertiser_id. + core.List? readAdvertiserIds; + + /// The advertiser with read/write access to the guaranteed order. + /// + /// This is also the default advertiser of the guaranteed order. + core.String? readWriteAdvertiserId; + + /// The partner with read/write access to the guaranteed order. + core.String? readWritePartnerId; + + /// The status settings of the guaranteed order. + GuaranteedOrderStatus? status; + + /// The timestamp when the guaranteed order was last updated. + /// + /// Assigned by the system. + /// + /// Output only. + core.String? updateTime; + + GuaranteedOrder({ + this.defaultAdvertiserId, + this.defaultCampaignId, + this.displayName, + this.exchange, + this.guaranteedOrderId, + this.legacyGuaranteedOrderId, + this.name, + this.publisherName, + this.readAccessInherited, + this.readAdvertiserIds, + this.readWriteAdvertiserId, + this.readWritePartnerId, + this.status, + this.updateTime, + }); + + GuaranteedOrder.fromJson(core.Map json_) + : this( + defaultAdvertiserId: json_['defaultAdvertiserId'] as core.String?, + defaultCampaignId: json_['defaultCampaignId'] as core.String?, + displayName: json_['displayName'] as core.String?, + exchange: json_['exchange'] as core.String?, + guaranteedOrderId: json_['guaranteedOrderId'] as core.String?, + legacyGuaranteedOrderId: + json_['legacyGuaranteedOrderId'] as core.String?, + name: json_['name'] as core.String?, + publisherName: json_['publisherName'] as core.String?, + readAccessInherited: json_['readAccessInherited'] as core.bool?, + readAdvertiserIds: (json_['readAdvertiserIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + readWriteAdvertiserId: json_['readWriteAdvertiserId'] as core.String?, + readWritePartnerId: json_['readWritePartnerId'] as core.String?, + status: json_.containsKey('status') + ? GuaranteedOrderStatus.fromJson( + json_['status'] as core.Map) + : null, + updateTime: json_['updateTime'] as core.String?, + ); + + core.Map toJson() => { + if (defaultAdvertiserId != null) + 'defaultAdvertiserId': defaultAdvertiserId!, + if (defaultCampaignId != null) 'defaultCampaignId': defaultCampaignId!, + if (displayName != null) 'displayName': displayName!, + if (exchange != null) 'exchange': exchange!, + if (guaranteedOrderId != null) 'guaranteedOrderId': guaranteedOrderId!, + if (legacyGuaranteedOrderId != null) + 'legacyGuaranteedOrderId': legacyGuaranteedOrderId!, + if (name != null) 'name': name!, + if (publisherName != null) 'publisherName': publisherName!, + if (readAccessInherited != null) + 'readAccessInherited': readAccessInherited!, + if (readAdvertiserIds != null) 'readAdvertiserIds': readAdvertiserIds!, + if (readWriteAdvertiserId != null) + 'readWriteAdvertiserId': readWriteAdvertiserId!, + if (readWritePartnerId != null) + 'readWritePartnerId': readWritePartnerId!, + if (status != null) 'status': status!, + if (updateTime != null) 'updateTime': updateTime!, + }; +} + +/// The status settings of the guaranteed order. +typedef GuaranteedOrderStatus = $GuaranteedOrderStatus; + +/// 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`. +typedef HouseholdIncomeAssignedTargetingOptionDetails + = $HouseholdIncomeAssignedTargetingOptionDetails; + +/// Represents a targetable household income. +/// +/// This will be populated in the household_income_details field of a +/// TargetingOption when targeting_type is `TARGETING_TYPE_HOUSEHOLD_INCOME`. +typedef HouseholdIncomeTargetingOptionDetails + = $HouseholdIncomeTargetingOptionDetails; + +/// A filtering option that filters entities by their entity IDs. +typedef IdFilter = $IdFilter; + +/// Meta data of an image asset. +class ImageAsset { + /// File size of the image asset in bytes. + core.String? fileSize; + + /// Metadata for this image at its original size. + Dimensions? fullSize; + + /// MIME type of the image asset. + core.String? mimeType; + + ImageAsset({ + this.fileSize, + this.fullSize, + this.mimeType, + }); + + ImageAsset.fromJson(core.Map json_) + : this( + fileSize: json_['fileSize'] as core.String?, + fullSize: json_.containsKey('fullSize') + ? Dimensions.fromJson( + json_['fullSize'] as core.Map) + : null, + mimeType: json_['mimeType'] as core.String?, + ); + + core.Map toJson() => { + if (fileSize != null) 'fileSize': fileSize!, + if (fullSize != null) 'fullSize': fullSize!, + if (mimeType != null) 'mimeType': mimeType!, + }; +} + +/// Details for an in-stream ad. +class InStreamAd { + /// Common ad attributes. + CommonInStreamAttribute? commonInStreamAttribute; + + /// The custom parameters to pass custom values to tracking URL template. + core.Map? customParameters; + + InStreamAd({ + this.commonInStreamAttribute, + this.customParameters, + }); + + InStreamAd.fromJson(core.Map json_) + : this( + commonInStreamAttribute: json_.containsKey('commonInStreamAttribute') + ? CommonInStreamAttribute.fromJson( + json_['commonInStreamAttribute'] + as core.Map) + : null, + customParameters: (json_['customParameters'] + as core.Map?) + ?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + ); + + core.Map toJson() => { + if (commonInStreamAttribute != null) + 'commonInStreamAttribute': commonInStreamAttribute!, + if (customParameters != null) 'customParameters': customParameters!, + }; +} + +/// A single insertion order. +class InsertionOrder { + /// The unique ID of the advertiser the insertion order belongs to. + /// + /// Output only. + core.String? advertiserId; + + /// The bidding strategy of the insertion order. + /// + /// By default, fixed_bid is set. + /// + /// Optional. + BiddingStrategy? bidStrategy; + + /// The budget allocation settings of the insertion order. + /// + /// Required. + InsertionOrderBudget? budget; + + /// The unique ID of the campaign that the insertion order belongs to. + /// + /// Required. Immutable. + core.String? campaignId; + + /// The display name of the insertion order. + /// + /// Must be UTF-8 encoded with a maximum size of 240 bytes. + /// + /// Required. + core.String? displayName; + + /// Controls whether or not the insertion order can spend its budget and bid + /// on inventory. + /// + /// * For CreateInsertionOrder method, only `ENTITY_STATUS_DRAFT` is allowed. + /// To activate an insertion order, use UpdateInsertionOrder method and update + /// the status to `ENTITY_STATUS_ACTIVE` after creation. * An insertion order + /// cannot be changed back to `ENTITY_STATUS_DRAFT` status from any other + /// status. * An insertion order cannot be set to `ENTITY_STATUS_ACTIVE` if + /// its parent campaign is not active. + /// + /// Required. + /// Possible string values are: + /// - "ENTITY_STATUS_UNSPECIFIED" : Default value when status is not specified + /// or is unknown in this version. + /// - "ENTITY_STATUS_ACTIVE" : The entity is enabled to bid and spend budget. + /// - "ENTITY_STATUS_ARCHIVED" : The entity is archived. Bidding and budget + /// spending are disabled. An entity can be deleted after archived. Deleted + /// entities cannot be retrieved. + /// - "ENTITY_STATUS_DRAFT" : The entity is under draft. Bidding and budget + /// spending are disabled. + /// - "ENTITY_STATUS_PAUSED" : Bidding and budget spending are paused for the + /// entity. + /// - "ENTITY_STATUS_SCHEDULED_FOR_DELETION" : The entity is scheduled for + /// deletion. + core.String? entityStatus; + + /// The frequency capping setting of the insertion order. + /// + /// *Warning*: On **February 28, 2025**, frequency cap time periods greater + /// than 30 days will no longer be accepted. \[Read more about this announced + /// change\](/display-video/api/deprecations#features.lifetime_frequency_cap) + /// + /// Required. + FrequencyCap? frequencyCap; + + /// The unique ID of the insertion order. + /// + /// Assigned by the system. + /// + /// Output only. + core.String? insertionOrderId; + + /// The type of insertion order. + /// + /// If this field is unspecified in creation, the value defaults to `RTB`. + /// + /// Optional. + /// Possible string values are: + /// - "INSERTION_ORDER_TYPE_UNSPECIFIED" : Insertion order type is not + /// specified or is unknown. + /// - "RTB" : Real-time bidding. + /// - "OVER_THE_TOP" : Over-the-top. + core.String? insertionOrderType; + + /// Additional integration details of the insertion order. + /// + /// Optional. + IntegrationDetails? integrationDetails; + + /// The key performance indicator (KPI) of the insertion order. + /// + /// This is represented as referred to as the "Goal" in the Display & Video + /// 360 interface. + /// + /// Required. + Kpi? kpi; + + /// The resource name of the insertion order. + /// + /// Output only. + core.String? name; + + /// The optimization objective of the insertion order. + /// + /// Optional. Required. + /// Possible string values are: + /// - "OPTIMIZATION_OBJECTIVE_UNSPECIFIED" : Type value is not specified or is + /// unknown in this version. + /// - "CONVERSION" : Prioritize impressions that increase sales and + /// conversions. + /// - "CLICK" : Prioritize impressions that increase website traffic, apps, + /// app stores. + /// - "BRAND_AWARENESS" : Prioritize impressions of specific quality. + /// - "CUSTOM" : Objective is defined by the assigned custom bidding + /// algorithm. + /// - "NO_OBJECTIVE" : Objective is not defined. Any KPI or bidding strategy + /// can be used. + core.String? optimizationObjective; + + /// The budget spending speed setting of the insertion order. + /// + /// pacing_type `PACING_TYPE_ASAP` is not compatible with pacing_period + /// `PACING_PERIOD_FLIGHT`. + /// + /// Required. + Pacing? pacing; + + /// The partner costs associated with the insertion order. + /// + /// If absent or empty in CreateInsertionOrder method, the newly created + /// insertion order will inherit partner costs from the partner settings. + /// + /// Optional. + core.List? partnerCosts; + + /// The reservation type of the insertion order. + /// + /// Output only. + /// Possible string values are: + /// - "RESERVATION_TYPE_UNSPECIFIED" : Reservation type value is not specified + /// or is unknown in this version. + /// - "RESERVATION_TYPE_NOT_GUARANTEED" : Not created through a guaranteed + /// inventory source. + /// - "RESERVATION_TYPE_PROGRAMMATIC_GUARANTEED" : Created through a + /// programmatic guaranteed inventory source. + /// - "RESERVATION_TYPE_TAG_GUARANTEED" : Created through a tag guaranteed + /// inventory source. + /// - "RESERVATION_TYPE_PETRA_VIRAL" : Created through a Petra inventory + /// source. Only applicable to YouTube and Partners line items. + /// - "RESERVATION_TYPE_INSTANT_RESERVE" : Created with an instant quote. Only + /// applicable to YouTube and partners line items. + core.String? reservationType; + + /// The timestamp when the insertion order was last updated. + /// + /// Assigned by the system. + /// + /// Output only. + core.String? updateTime; + + InsertionOrder({ + this.advertiserId, + this.bidStrategy, + this.budget, + this.campaignId, + this.displayName, + this.entityStatus, + this.frequencyCap, + this.insertionOrderId, + this.insertionOrderType, + this.integrationDetails, + this.kpi, + this.name, + this.optimizationObjective, + this.pacing, + this.partnerCosts, + this.reservationType, + this.updateTime, + }); + + InsertionOrder.fromJson(core.Map json_) + : this( + advertiserId: json_['advertiserId'] as core.String?, + bidStrategy: json_.containsKey('bidStrategy') + ? BiddingStrategy.fromJson( + json_['bidStrategy'] as core.Map) + : null, + budget: json_.containsKey('budget') + ? InsertionOrderBudget.fromJson( + json_['budget'] as core.Map) + : null, + campaignId: json_['campaignId'] as core.String?, + displayName: json_['displayName'] as core.String?, + entityStatus: json_['entityStatus'] as core.String?, + frequencyCap: json_.containsKey('frequencyCap') + ? FrequencyCap.fromJson( + json_['frequencyCap'] as core.Map) + : null, + insertionOrderId: json_['insertionOrderId'] as core.String?, + insertionOrderType: json_['insertionOrderType'] as core.String?, + integrationDetails: json_.containsKey('integrationDetails') + ? IntegrationDetails.fromJson(json_['integrationDetails'] + as core.Map) + : null, + kpi: json_.containsKey('kpi') + ? Kpi.fromJson( + json_['kpi'] as core.Map) + : null, + name: json_['name'] as core.String?, + optimizationObjective: json_['optimizationObjective'] as core.String?, + pacing: json_.containsKey('pacing') + ? Pacing.fromJson( + json_['pacing'] as core.Map) + : null, + partnerCosts: (json_['partnerCosts'] as core.List?) + ?.map((value) => PartnerCost.fromJson( + value as core.Map)) + .toList(), + reservationType: json_['reservationType'] as core.String?, + updateTime: json_['updateTime'] as core.String?, + ); + + core.Map toJson() => { + if (advertiserId != null) 'advertiserId': advertiserId!, + if (bidStrategy != null) 'bidStrategy': bidStrategy!, + if (budget != null) 'budget': budget!, + if (campaignId != null) 'campaignId': campaignId!, + if (displayName != null) 'displayName': displayName!, + if (entityStatus != null) 'entityStatus': entityStatus!, + if (frequencyCap != null) 'frequencyCap': frequencyCap!, + if (insertionOrderId != null) 'insertionOrderId': insertionOrderId!, + if (insertionOrderType != null) + 'insertionOrderType': insertionOrderType!, + if (integrationDetails != null) + 'integrationDetails': integrationDetails!, + if (kpi != null) 'kpi': kpi!, + if (name != null) 'name': name!, + if (optimizationObjective != null) + 'optimizationObjective': optimizationObjective!, + if (pacing != null) 'pacing': pacing!, + if (partnerCosts != null) 'partnerCosts': partnerCosts!, + if (reservationType != null) 'reservationType': reservationType!, + if (updateTime != null) 'updateTime': updateTime!, + }; +} + +/// Settings that control how insertion order budget is allocated. +class InsertionOrderBudget { + /// The type of automation used to manage bid and budget for the insertion + /// order. + /// + /// If this field is unspecified in creation, the value defaults to + /// `INSERTION_ORDER_AUTOMATION_TYPE_NONE`. + /// + /// Optional. + /// Possible string values are: + /// - "INSERTION_ORDER_AUTOMATION_TYPE_UNSPECIFIED" : Insertion order + /// automation option is not specified or is unknown in this version. + /// - "INSERTION_ORDER_AUTOMATION_TYPE_BUDGET" : Automatic budget allocation. + /// Allow the system to automatically shift budget to owning line items to + /// optimize performance defined by kpi. No automation on bid settings. + /// - "INSERTION_ORDER_AUTOMATION_TYPE_NONE" : No automation of bid or budget + /// on insertion order level. Bid and budget must be manually configured at + /// the line item level. + /// - "INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET" : Allow the system to + /// automatically adjust bids and shift budget to owning line items to + /// optimize performance defined by kpi. + core.String? automationType; + + /// The list of budget segments. + /// + /// Use a budget segment to specify a specific budget for a given period of + /// time an insertion order is running. + /// + /// Required. + core.List? budgetSegments; + + /// The budget unit specifies whether the budget is currency based or + /// impression based. + /// + /// Required. Immutable. + /// Possible string values are: + /// - "BUDGET_UNIT_UNSPECIFIED" : Type value is not specified or is unknown in + /// this version. + /// - "BUDGET_UNIT_CURRENCY" : Budgeting in currency amounts. + /// - "BUDGET_UNIT_IMPRESSIONS" : Budgeting in impression amounts. + core.String? budgetUnit; + + InsertionOrderBudget({ + this.automationType, + this.budgetSegments, + this.budgetUnit, + }); + + InsertionOrderBudget.fromJson(core.Map json_) + : this( + automationType: json_['automationType'] as core.String?, + budgetSegments: (json_['budgetSegments'] as core.List?) + ?.map((value) => InsertionOrderBudgetSegment.fromJson( + value as core.Map)) + .toList(), + budgetUnit: json_['budgetUnit'] as core.String?, + ); + + core.Map toJson() => { + if (automationType != null) 'automationType': automationType!, + if (budgetSegments != null) 'budgetSegments': budgetSegments!, + if (budgetUnit != null) 'budgetUnit': budgetUnit!, + }; +} + +/// Settings that control the budget of a single budget segment. +class InsertionOrderBudgetSegment { + /// The budget amount the insertion order will spend for the given date_range. + /// + /// The amount is in micros. Must be greater than 0. For example, 500000000 + /// represents 500 standard units of the currency. + /// + /// Required. + core.String? budgetAmountMicros; + + /// The budget_id of the campaign budget that this insertion order budget + /// segment is a part of. + /// + /// Optional. + core.String? campaignBudgetId; + + /// The start and end date settings of the budget segment. + /// + /// They are resolved relative to the parent advertiser's time zone. * When + /// creating a new budget segment, both `start_date` and `end_date` must be in + /// the future. * An existing budget segment with a `start_date` in the past + /// has a mutable `end_date` but an immutable `start_date`. * `end_date` must + /// be the `start_date` or later, both before the year 2037. + /// + /// Required. + DateRange? dateRange; + + /// The budget segment description. + /// + /// It can be used to enter Purchase Order information for each budget segment + /// and have that information printed on the invoices. Must be UTF-8 encoded. + /// + /// Optional. + core.String? description; + + InsertionOrderBudgetSegment({ + this.budgetAmountMicros, + this.campaignBudgetId, + this.dateRange, + this.description, + }); + + InsertionOrderBudgetSegment.fromJson(core.Map json_) + : this( + budgetAmountMicros: json_['budgetAmountMicros'] as core.String?, + campaignBudgetId: json_['campaignBudgetId'] as core.String?, + dateRange: json_.containsKey('dateRange') + ? DateRange.fromJson( + json_['dateRange'] as core.Map) + : null, + description: json_['description'] as core.String?, + ); + + core.Map toJson() => { + if (budgetAmountMicros != null) + 'budgetAmountMicros': budgetAmountMicros!, + if (campaignBudgetId != null) 'campaignBudgetId': campaignBudgetId!, + if (dateRange != null) 'dateRange': dateRange!, + if (description != null) 'description': description!, + }; +} + +/// Details of Integral Ad Science settings. +typedef IntegralAdScience = $IntegralAdScience; + +/// Integration details of an entry. +typedef IntegrationDetails = $IntegrationDetails; + +/// An inventory source. +class InventorySource { + /// Whether the inventory source has a guaranteed or non-guaranteed delivery. + /// Possible string values are: + /// - "INVENTORY_SOURCE_COMMITMENT_UNSPECIFIED" : The commitment is not + /// specified or is unknown in this version. + /// - "INVENTORY_SOURCE_COMMITMENT_GUARANTEED" : The commitment is guaranteed + /// delivery. + /// - "INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED" : The commitment is + /// non-guaranteed delivery. + core.String? commitment; + + /// The creative requirements of the inventory source. + /// + /// Not applicable for auction packages. + core.List? creativeConfigs; + + /// The ID in the exchange space that uniquely identifies the inventory + /// source. + /// + /// Must be unique across buyers within each exchange but not necessarily + /// unique across exchanges. + core.String? dealId; + + /// The delivery method of the inventory source. + /// + /// * For non-guaranteed inventory sources, the only acceptable value is + /// `INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`. * For guaranteed + /// inventory sources, acceptable values are + /// `INVENTORY_SOURCE_DELIVERY_METHOD_TAG` and + /// `INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`. + /// Possible string values are: + /// - "INVENTORY_SOURCE_DELIVERY_METHOD_UNSPECIFIED" : The delivery method is + /// not specified or is unknown in this version. + /// - "INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC" : The delivery method is + /// programmatic. + /// - "INVENTORY_SOURCE_DELIVERY_METHOD_TAG" : The delivery method is tag. + core.String? deliveryMethod; + + /// The display name of the inventory source. + /// + /// Must be UTF-8 encoded with a maximum size of 240 bytes. + core.String? displayName; + + /// The exchange to which the inventory source belongs. + /// Possible string values are: + /// - "EXCHANGE_UNSPECIFIED" : Exchange is not specified or is unknown in this + /// version. + /// - "EXCHANGE_GOOGLE_AD_MANAGER" : Google Ad Manager. + /// - "EXCHANGE_APPNEXUS" : AppNexus. + /// - "EXCHANGE_BRIGHTROLL" : BrightRoll Exchange for Video from Yahoo!. + /// - "EXCHANGE_ADFORM" : Adform. + /// - "EXCHANGE_ADMETA" : Admeta. + /// - "EXCHANGE_ADMIXER" : Admixer. + /// - "EXCHANGE_ADSMOGO" : AdsMogo. + /// - "EXCHANGE_ADSWIZZ" : AdsWizz. + /// - "EXCHANGE_BIDSWITCH" : BidSwitch. + /// - "EXCHANGE_BRIGHTROLL_DISPLAY" : BrightRoll Exchange for Display from + /// Yahoo!. + /// - "EXCHANGE_CADREON" : Cadreon. + /// - "EXCHANGE_DAILYMOTION" : Dailymotion. + /// - "EXCHANGE_FIVE" : Five. + /// - "EXCHANGE_FLUCT" : Fluct. + /// - "EXCHANGE_FREEWHEEL" : FreeWheel SSP. + /// - "EXCHANGE_GENIEE" : Geniee. + /// - "EXCHANGE_GUMGUM" : GumGum. + /// - "EXCHANGE_IMOBILE" : i-mobile. + /// - "EXCHANGE_IBILLBOARD" : iBILLBOARD. + /// - "EXCHANGE_IMPROVE_DIGITAL" : Improve Digital. + /// - "EXCHANGE_INDEX" : Index Exchange. + /// - "EXCHANGE_KARGO" : Kargo. + /// - "EXCHANGE_MICROAD" : MicroAd. + /// - "EXCHANGE_MOPUB" : MoPub. + /// - "EXCHANGE_NEND" : Nend. + /// - "EXCHANGE_ONE_BY_AOL_DISPLAY" : ONE by AOL: Display Market Place. + /// - "EXCHANGE_ONE_BY_AOL_MOBILE" : ONE by AOL: Mobile. + /// - "EXCHANGE_ONE_BY_AOL_VIDEO" : ONE by AOL: Video. + /// - "EXCHANGE_OOYALA" : Ooyala. + /// - "EXCHANGE_OPENX" : OpenX. + /// - "EXCHANGE_PERMODO" : Permodo. + /// - "EXCHANGE_PLATFORMONE" : Platform One. + /// - "EXCHANGE_PLATFORMID" : PlatformId. + /// - "EXCHANGE_PUBMATIC" : PubMatic. + /// - "EXCHANGE_PULSEPOINT" : PulsePoint. + /// - "EXCHANGE_REVENUEMAX" : RevenueMax. + /// - "EXCHANGE_RUBICON" : Rubicon. + /// - "EXCHANGE_SMARTCLIP" : SmartClip. + /// - "EXCHANGE_SMARTRTB" : SmartRTB+. + /// - "EXCHANGE_SMARTSTREAMTV" : SmartstreamTv. + /// - "EXCHANGE_SOVRN" : Sovrn. + /// - "EXCHANGE_SPOTXCHANGE" : SpotXchange. + /// - "EXCHANGE_STROER" : Ströer SSP. + /// - "EXCHANGE_TEADSTV" : TeadsTv. + /// - "EXCHANGE_TELARIA" : Telaria. + /// - "EXCHANGE_TVN" : TVN. + /// - "EXCHANGE_UNITED" : United. + /// - "EXCHANGE_YIELDLAB" : Yieldlab. + /// - "EXCHANGE_YIELDMO" : Yieldmo. + /// - "EXCHANGE_UNRULYX" : UnrulyX. + /// - "EXCHANGE_OPEN8" : Open8. + /// - "EXCHANGE_TRITON" : Triton. + /// - "EXCHANGE_TRIPLELIFT" : TripleLift. + /// - "EXCHANGE_TABOOLA" : Taboola. + /// - "EXCHANGE_INMOBI" : InMobi. + /// - "EXCHANGE_SMAATO" : Smaato. + /// - "EXCHANGE_AJA" : Aja. + /// - "EXCHANGE_SUPERSHIP" : Supership. + /// - "EXCHANGE_NEXSTAR_DIGITAL" : Nexstar Digital. + /// - "EXCHANGE_WAZE" : Waze. + /// - "EXCHANGE_SOUNDCAST" : SoundCast. + /// - "EXCHANGE_SHARETHROUGH" : Sharethrough. + /// - "EXCHANGE_FYBER" : Fyber. + /// - "EXCHANGE_RED_FOR_PUBLISHERS" : Red For Publishers. + /// - "EXCHANGE_MEDIANET" : Media.net. + /// - "EXCHANGE_TAPJOY" : Tapjoy. + /// - "EXCHANGE_VISTAR" : Vistar. + /// - "EXCHANGE_DAX" : DAX. + /// - "EXCHANGE_JCD" : JCD. + /// - "EXCHANGE_PLACE_EXCHANGE" : Place Exchange. + /// - "EXCHANGE_APPLOVIN" : AppLovin. + /// - "EXCHANGE_CONNATIX" : Connatix. + /// - "EXCHANGE_RESET_DIGITAL" : Reset Digital. + /// - "EXCHANGE_HIVESTACK" : Hivestack. + /// - "EXCHANGE_DRAX" : Drax. + /// - "EXCHANGE_APPLOVIN_GBID" : AppLovin MAX. + /// - "EXCHANGE_FYBER_GBID" : DT Fairbid. + /// - "EXCHANGE_UNITY_GBID" : Unity LevelPlay. + /// - "EXCHANGE_CHARTBOOST_GBID" : Chartboost Mediation. + /// - "EXCHANGE_ADMOST_GBID" : AdMost. + /// - "EXCHANGE_TOPON_GBID" : TopOn. + /// - "EXCHANGE_NETFLIX" : Netflix. + /// - "EXCHANGE_CORE" : Core. + /// - "EXCHANGE_TUBI" : Tubi. + core.String? exchange; + + /// The ID of the guaranteed order that this inventory source belongs to. + /// + /// Only applicable when commitment is + /// `INVENTORY_SOURCE_COMMITMENT_GUARANTEED`. + /// + /// Immutable. + core.String? guaranteedOrderId; + + /// The unique ID of the inventory source. + /// + /// Assigned by the system. + /// + /// Output only. + core.String? inventorySourceId; + + /// The product type of the inventory source, denoting the way through which + /// it sells inventory. + /// + /// Output only. + /// Possible string values are: + /// - "INVENTORY_SOURCE_PRODUCT_TYPE_UNSPECIFIED" : The product type is not + /// specified or is unknown in this version. Modifying inventory sources of + /// this product type are not supported via API. + /// - "PREFERRED_DEAL" : The inventory source sells inventory through + /// Preferred Deal. + /// - "PRIVATE_AUCTION" : The inventory source sells inventory through Private + /// Auction. + /// - "PROGRAMMATIC_GUARANTEED" : The inventory source sells inventory through + /// Programmatic Guaranteed. + /// - "TAG_GUARANTEED" : The inventory source sells inventory through Tag + /// Guaranteed. + /// - "YOUTUBE_RESERVE" : The inventory source sells inventory through YouTube + /// Reserve. + /// - "INSTANT_RESERVE" : The inventory source sells inventory through Instant + /// Reserve. Modifying inventory sources of this product type are not + /// supported via API. + /// - "GUARANTEED_PACKAGE" : The inventory source sells inventory through + /// Guaranteed Package. Modifying inventory sources of this product type are + /// not supported via API. + /// - "PROGRAMMATIC_TV" : The inventory source sells inventory through + /// Programmtic TV. Modifying inventory sources of this product type are not + /// supported via API. + /// - "AUCTION_PACKAGE" : The inventory source sells inventory through Auction + /// Package. Modifying inventory sources of this product type are not + /// supported via API. + core.String? inventorySourceProductType; + + /// Denotes the type of the inventory source. + /// Possible string values are: + /// - "INVENTORY_SOURCE_TYPE_UNSPECIFIED" : The inventory source type is not + /// specified or is unknown in this version. + /// - "INVENTORY_SOURCE_TYPE_PRIVATE" : Private inventory source. + /// - "INVENTORY_SOURCE_TYPE_AUCTION_PACKAGE" : Auction package. + core.String? inventorySourceType; + + /// The resource name of the inventory source. + /// + /// Output only. + core.String? name; + + /// The publisher/seller name of the inventory source. + core.String? publisherName; + + /// The rate details of the inventory source. + /// + /// Required. + RateDetails? rateDetails; + + /// The IDs of advertisers with read-only access to the inventory source. + /// + /// Output only. + core.List? readAdvertiserIds; + + /// The IDs of partners with read-only access to the inventory source. + /// + /// All advertisers of partners in this field inherit read-only access to the + /// inventory source. + /// + /// Output only. + core.List? readPartnerIds; + + /// The partner or advertisers that have read/write access to the inventory + /// source. + /// + /// Output only when commitment is `INVENTORY_SOURCE_COMMITMENT_GUARANTEED`, + /// in which case the read/write accessors are inherited from the parent + /// guaranteed order. Required when commitment is + /// `INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED`. If commitment is + /// `INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED` and a partner is set in this + /// field, all advertisers under this partner will automatically have + /// read-only access to the inventory source. These advertisers will not be + /// included in read_advertiser_ids. + InventorySourceAccessors? readWriteAccessors; + + /// The status settings of the inventory source. + InventorySourceStatus? status; + + /// The time range when this inventory source starts and stops serving. + TimeRange? timeRange; + + /// The timestamp when the inventory source was last updated. + /// + /// Assigned by the system. + /// + /// Output only. + core.String? updateTime; + + InventorySource({ + this.commitment, + this.creativeConfigs, + this.dealId, + this.deliveryMethod, + this.displayName, + this.exchange, + this.guaranteedOrderId, + this.inventorySourceId, + this.inventorySourceProductType, + this.inventorySourceType, + this.name, + this.publisherName, + this.rateDetails, + this.readAdvertiserIds, + this.readPartnerIds, + this.readWriteAccessors, + this.status, + this.timeRange, + this.updateTime, + }); + + InventorySource.fromJson(core.Map json_) + : this( + commitment: json_['commitment'] as core.String?, + creativeConfigs: (json_['creativeConfigs'] as core.List?) + ?.map((value) => CreativeConfig.fromJson( + value as core.Map)) + .toList(), + dealId: json_['dealId'] as core.String?, + deliveryMethod: json_['deliveryMethod'] as core.String?, + displayName: json_['displayName'] as core.String?, + exchange: json_['exchange'] as core.String?, + guaranteedOrderId: json_['guaranteedOrderId'] as core.String?, + inventorySourceId: json_['inventorySourceId'] as core.String?, + inventorySourceProductType: + json_['inventorySourceProductType'] as core.String?, + inventorySourceType: json_['inventorySourceType'] as core.String?, + name: json_['name'] as core.String?, + publisherName: json_['publisherName'] as core.String?, + rateDetails: json_.containsKey('rateDetails') + ? RateDetails.fromJson( + json_['rateDetails'] as core.Map) + : null, + readAdvertiserIds: (json_['readAdvertiserIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + readPartnerIds: (json_['readPartnerIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + readWriteAccessors: json_.containsKey('readWriteAccessors') + ? InventorySourceAccessors.fromJson(json_['readWriteAccessors'] + as core.Map) + : null, + status: json_.containsKey('status') + ? InventorySourceStatus.fromJson( + json_['status'] as core.Map) + : null, + timeRange: json_.containsKey('timeRange') + ? TimeRange.fromJson( + json_['timeRange'] as core.Map) + : null, + updateTime: json_['updateTime'] as core.String?, + ); + + core.Map toJson() => { + if (commitment != null) 'commitment': commitment!, + if (creativeConfigs != null) 'creativeConfigs': creativeConfigs!, + if (dealId != null) 'dealId': dealId!, + if (deliveryMethod != null) 'deliveryMethod': deliveryMethod!, + if (displayName != null) 'displayName': displayName!, + if (exchange != null) 'exchange': exchange!, + if (guaranteedOrderId != null) 'guaranteedOrderId': guaranteedOrderId!, + if (inventorySourceId != null) 'inventorySourceId': inventorySourceId!, + if (inventorySourceProductType != null) + 'inventorySourceProductType': inventorySourceProductType!, + if (inventorySourceType != null) + 'inventorySourceType': inventorySourceType!, + if (name != null) 'name': name!, + if (publisherName != null) 'publisherName': publisherName!, + if (rateDetails != null) 'rateDetails': rateDetails!, + if (readAdvertiserIds != null) 'readAdvertiserIds': readAdvertiserIds!, + if (readPartnerIds != null) 'readPartnerIds': readPartnerIds!, + if (readWriteAccessors != null) + 'readWriteAccessors': readWriteAccessors!, + if (status != null) 'status': status!, + if (timeRange != null) 'timeRange': timeRange!, + if (updateTime != null) 'updateTime': updateTime!, + }; +} + +/// The partner or advertisers with access to the inventory source. +class InventorySourceAccessors { + /// The advertisers with access to the inventory source. + /// + /// All advertisers must belong to the same partner. + InventorySourceAccessorsAdvertiserAccessors? advertisers; + + /// The partner with access to the inventory source. + InventorySourceAccessorsPartnerAccessor? partner; + + InventorySourceAccessors({ + this.advertisers, + this.partner, + }); + + InventorySourceAccessors.fromJson(core.Map json_) + : this( + advertisers: json_.containsKey('advertisers') + ? InventorySourceAccessorsAdvertiserAccessors.fromJson( + json_['advertisers'] as core.Map) + : null, + partner: json_.containsKey('partner') + ? InventorySourceAccessorsPartnerAccessor.fromJson( + json_['partner'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (advertisers != null) 'advertisers': advertisers!, + if (partner != null) 'partner': partner!, + }; +} + +/// The advertisers with access to the inventory source. +typedef InventorySourceAccessorsAdvertiserAccessors + = $InventorySourceAccessorsAdvertiserAccessors; + +/// The partner with access to the inventory source. +typedef InventorySourceAccessorsPartnerAccessor + = $InventorySourceAccessorsPartnerAccessor; + +/// Targeting details for inventory source. +/// +/// This will be populated in the details field of an AssignedTargetingOption +/// when targeting_type is `TARGETING_TYPE_INVENTORY_SOURCE`. +typedef InventorySourceAssignedTargetingOptionDetails + = $InventorySourceAssignedTargetingOptionDetails; + +/// The configuration for display creatives. +class InventorySourceDisplayCreativeConfig { + /// The size requirements for display creatives that can be assigned to the + /// inventory source. + Dimensions? creativeSize; + + InventorySourceDisplayCreativeConfig({ + this.creativeSize, + }); + + InventorySourceDisplayCreativeConfig.fromJson(core.Map json_) + : this( + creativeSize: json_.containsKey('creativeSize') + ? Dimensions.fromJson( + json_['creativeSize'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (creativeSize != null) 'creativeSize': creativeSize!, + }; +} + +/// A filtering option for filtering on Inventory Source entities. +typedef InventorySourceFilter = $InventorySourceFilter; + +/// A collection of targetable inventory sources. +typedef InventorySourceGroup = $InventorySourceGroup; + +/// 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`. +typedef InventorySourceGroupAssignedTargetingOptionDetails + = $InventorySourceGroupAssignedTargetingOptionDetails; + +/// The status related settings of the inventory source. +typedef InventorySourceStatus = $InventorySourceStatus; + +/// The configuration for video creatives. +typedef InventorySourceVideoCreativeConfig + = $InventorySourceVideoCreativeConfig; + +/// A single invoice. +class Invoice { + /// The budget grouping ID for this invoice. + /// + /// This field will only be set if the invoice level of the corresponding + /// billing profile was set to "Budget invoice grouping ID". + core.String? budgetInvoiceGroupingId; + + /// The list of summarized information for each budget associated with this + /// invoice. + /// + /// This field will only be set if the invoice detail level of the + /// corresponding billing profile was set to "Budget level PO". + core.List? budgetSummaries; + + /// The ID of the original invoice being adjusted by this invoice, if + /// applicable. + /// + /// May appear on the invoice PDF as `Reference invoice number`. If + /// replaced_invoice_ids is set, this field will be empty. + core.String? correctedInvoiceId; + + /// The currency used in the invoice in ISO 4217 format. + core.String? currencyCode; + + /// The display name of the invoice. + core.String? displayName; + + /// The date when the invoice is due. + Date? dueDate; + + /// The unique ID of the invoice. + core.String? invoiceId; + + /// The type of invoice document. + /// Possible string values are: + /// - "INVOICE_TYPE_UNSPECIFIED" : Not specified or is unknown in this + /// version. + /// - "INVOICE_TYPE_CREDIT" : The invoice has a negative amount. + /// - "INVOICE_TYPE_INVOICE" : The invoice has a positive amount. + core.String? invoiceType; + + /// The date when the invoice was issued. + Date? issueDate; + + /// The resource name of the invoice. + core.String? name; + + /// The total amount of costs or adjustments not tied to a particular budget, + /// in micros of the invoice's currency. + /// + /// For example, if currency_code is `USD`, then 1000000 represents one US + /// dollar. + core.String? nonBudgetMicros; + + /// The ID of the payments account the invoice belongs to. + /// + /// Appears on the invoice PDF as `Billing Account Number`. + core.String? paymentsAccountId; + + /// The ID of the payments profile the invoice belongs to. + /// + /// Appears on the invoice PDF as `Billing ID`. + core.String? paymentsProfileId; + + /// The URL to download a PDF copy of the invoice. + /// + /// This URL is user specific and requires a valid OAuth 2.0 access token to + /// access. The access token must be provided in an `Authorization: Bearer` + /// HTTP header and be authorized for one of the following scopes: * + /// `https://www.googleapis.com/auth/display-video-mediaplanning` * + /// `https://www.googleapis.com/auth/display-video` The URL will be valid for + /// 7 days after retrieval of this invoice object or until this invoice is + /// retrieved again. + core.String? pdfUrl; + + /// Purchase order number associated with the invoice. + core.String? purchaseOrderNumber; + + /// The ID(s) of any originally issued invoice that is being cancelled by this + /// invoice, if applicable. + /// + /// Multiple invoices may be listed if those invoices are being consolidated + /// into a single invoice. May appear on invoice PDF as `Replaced invoice + /// numbers`. If corrected_invoice_id is set, this field will be empty. + core.List? replacedInvoiceIds; + + /// The service start and end dates which are covered by this invoice. + DateRange? serviceDateRange; + + /// The pre-tax subtotal amount, in micros of the invoice's currency. + /// + /// For example, if currency_code is `USD`, then 1000000 represents one US + /// dollar. + core.String? subtotalAmountMicros; + + /// The invoice total amount, in micros of the invoice's currency. + /// + /// For example, if currency_code is `USD`, then 1000000 represents one US + /// dollar. + core.String? totalAmountMicros; + + /// The sum of all taxes in invoice, in micros of the invoice's currency. + /// + /// For example, if currency_code is `USD`, then 1000000 represents one US + /// dollar. + core.String? totalTaxAmountMicros; + + Invoice({ + this.budgetInvoiceGroupingId, + this.budgetSummaries, + this.correctedInvoiceId, + this.currencyCode, + this.displayName, + this.dueDate, + this.invoiceId, + this.invoiceType, + this.issueDate, + this.name, + this.nonBudgetMicros, + this.paymentsAccountId, + this.paymentsProfileId, + this.pdfUrl, + this.purchaseOrderNumber, + this.replacedInvoiceIds, + this.serviceDateRange, + this.subtotalAmountMicros, + this.totalAmountMicros, + this.totalTaxAmountMicros, + }); + + Invoice.fromJson(core.Map json_) + : this( + budgetInvoiceGroupingId: + json_['budgetInvoiceGroupingId'] as core.String?, + budgetSummaries: (json_['budgetSummaries'] as core.List?) + ?.map((value) => BudgetSummary.fromJson( + value as core.Map)) + .toList(), + correctedInvoiceId: json_['correctedInvoiceId'] as core.String?, + currencyCode: json_['currencyCode'] as core.String?, + displayName: json_['displayName'] as core.String?, + dueDate: json_.containsKey('dueDate') + ? Date.fromJson( + json_['dueDate'] as core.Map) + : null, + invoiceId: json_['invoiceId'] as core.String?, + invoiceType: json_['invoiceType'] as core.String?, + issueDate: json_.containsKey('issueDate') + ? Date.fromJson( + json_['issueDate'] as core.Map) + : null, + name: json_['name'] as core.String?, + nonBudgetMicros: json_['nonBudgetMicros'] as core.String?, + paymentsAccountId: json_['paymentsAccountId'] as core.String?, + paymentsProfileId: json_['paymentsProfileId'] as core.String?, + pdfUrl: json_['pdfUrl'] as core.String?, + purchaseOrderNumber: json_['purchaseOrderNumber'] as core.String?, + replacedInvoiceIds: (json_['replacedInvoiceIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + serviceDateRange: json_.containsKey('serviceDateRange') + ? DateRange.fromJson(json_['serviceDateRange'] + as core.Map) + : null, + subtotalAmountMicros: json_['subtotalAmountMicros'] as core.String?, + totalAmountMicros: json_['totalAmountMicros'] as core.String?, + totalTaxAmountMicros: json_['totalTaxAmountMicros'] as core.String?, + ); + + core.Map toJson() => { + if (budgetInvoiceGroupingId != null) + 'budgetInvoiceGroupingId': budgetInvoiceGroupingId!, + if (budgetSummaries != null) 'budgetSummaries': budgetSummaries!, + if (correctedInvoiceId != null) + 'correctedInvoiceId': correctedInvoiceId!, + if (currencyCode != null) 'currencyCode': currencyCode!, + if (displayName != null) 'displayName': displayName!, + if (dueDate != null) 'dueDate': dueDate!, + if (invoiceId != null) 'invoiceId': invoiceId!, + if (invoiceType != null) 'invoiceType': invoiceType!, + if (issueDate != null) 'issueDate': issueDate!, + if (name != null) 'name': name!, + if (nonBudgetMicros != null) 'nonBudgetMicros': nonBudgetMicros!, + if (paymentsAccountId != null) 'paymentsAccountId': paymentsAccountId!, + if (paymentsProfileId != null) 'paymentsProfileId': paymentsProfileId!, + if (pdfUrl != null) 'pdfUrl': pdfUrl!, + if (purchaseOrderNumber != null) + 'purchaseOrderNumber': purchaseOrderNumber!, + if (replacedInvoiceIds != null) + 'replacedInvoiceIds': replacedInvoiceIds!, + if (serviceDateRange != null) 'serviceDateRange': serviceDateRange!, + if (subtotalAmountMicros != null) + 'subtotalAmountMicros': subtotalAmountMicros!, + if (totalAmountMicros != null) 'totalAmountMicros': totalAmountMicros!, + if (totalTaxAmountMicros != null) + 'totalTaxAmountMicros': totalTaxAmountMicros!, + }; +} + +/// Details for assigned keyword targeting option. +/// +/// This will be populated in the details field of an AssignedTargetingOption +/// when targeting_type is `TARGETING_TYPE_KEYWORD`. +typedef KeywordAssignedTargetingOptionDetails + = $KeywordAssignedTargetingOptionDetails; + +/// Settings that control the key performance indicator, or KPI, of an insertion +/// order. +typedef Kpi = $Kpi; + +/// Details for assigned language targeting option. +/// +/// This will be populated in the details field of an AssignedTargetingOption +/// when targeting_type is `TARGETING_TYPE_LANGUAGE`. +typedef LanguageAssignedTargetingOptionDetails + = $LanguageAssignedTargetingOptionDetails; + +/// Represents a targetable language. +/// +/// This will be populated in the language_details field when targeting_type is +/// `TARGETING_TYPE_LANGUAGE`. +typedef LanguageTargetingOptionDetails = $LanguageTargetingOptionDetails; + +/// A single line item. +class LineItem { + /// The unique ID of the advertiser the line item belongs to. + /// + /// Output only. + core.String? advertiserId; + + /// The bidding strategy of the line item. + /// + /// Required. + BiddingStrategy? bidStrategy; + + /// The budget allocation setting of the line item. + /// + /// Required. + LineItemBudget? budget; + + /// The unique ID of the campaign that the line item belongs to. + /// + /// Output only. + core.String? campaignId; + + /// The conversion tracking setting of the line item. + /// + /// *Warning*: Starting **April 1, 2025**, the floodlight_activity_configs + /// field will no longer be writable while a custom bidding algorithm is + /// assigned to the line item. If you set this field and assign a custom + /// bidding algorithm in the same request, the floodlight activities must + /// match the ones used by the custom bidding algorithm. \[Read more about + /// this announced + /// change\](/display-video/api/deprecations#features.custom_bidding_floodlight). + ConversionCountingConfig? conversionCounting; + + /// The IDs of the creatives associated with the line item. + core.List? creativeIds; + + /// The display name of the line item. + /// + /// Must be UTF-8 encoded with a maximum size of 240 bytes. + /// + /// Required. + core.String? displayName; + + /// Controls whether or not the line item can spend its budget and bid on + /// inventory. + /// + /// * For CreateLineItem method, only `ENTITY_STATUS_DRAFT` is allowed. To + /// activate a line item, use UpdateLineItem method and update the status to + /// `ENTITY_STATUS_ACTIVE` after creation. * A line item cannot be changed + /// back to `ENTITY_STATUS_DRAFT` status from any other status. * If the line + /// item's parent insertion order is not active, the line item can't spend its + /// budget even if its own status is `ENTITY_STATUS_ACTIVE`. + /// + /// Required. + /// Possible string values are: + /// - "ENTITY_STATUS_UNSPECIFIED" : Default value when status is not specified + /// or is unknown in this version. + /// - "ENTITY_STATUS_ACTIVE" : The entity is enabled to bid and spend budget. + /// - "ENTITY_STATUS_ARCHIVED" : The entity is archived. Bidding and budget + /// spending are disabled. An entity can be deleted after archived. Deleted + /// entities cannot be retrieved. + /// - "ENTITY_STATUS_DRAFT" : The entity is under draft. Bidding and budget + /// spending are disabled. + /// - "ENTITY_STATUS_PAUSED" : Bidding and budget spending are paused for the + /// entity. + /// - "ENTITY_STATUS_SCHEDULED_FOR_DELETION" : The entity is scheduled for + /// deletion. + core.String? entityStatus; + + /// Whether to exclude new exchanges from automatically being targeted by the + /// line item. + /// + /// This field is false by default. + core.bool? excludeNewExchanges; + + /// The start and end time of the line item's flight. + /// + /// Required. + LineItemFlight? flight; + + /// The impression frequency cap settings of the line item. + /// + /// The max_impressions field in this settings object must be used if + /// assigning a limited cap. *Warning*: On **February 28, 2025**, frequency + /// cap time periods greater than 30 days will no longer be accepted. \[Read + /// more about this announced + /// change\](/display-video/api/deprecations#features.lifetime_frequency_cap) + /// + /// Required. + FrequencyCap? frequencyCap; + + /// The unique ID of the insertion order that the line item belongs to. + /// + /// Required. Immutable. + core.String? insertionOrderId; + + /// Integration details of the line item. + IntegrationDetails? integrationDetails; + + /// The unique ID of the line item. + /// + /// Assigned by the system. + /// + /// Output only. + core.String? lineItemId; + + /// The type of the line item. + /// + /// Required. Immutable. + /// Possible string values are: + /// - "LINE_ITEM_TYPE_UNSPECIFIED" : Type value is not specified or is unknown + /// in this version. Line items of this type and their targeting cannot be + /// created or updated using the API. + /// - "LINE_ITEM_TYPE_DISPLAY_DEFAULT" : Image, HTML5, native, or rich media + /// ads. + /// - "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL" : Display ads that drive + /// installs of an app. + /// - "LINE_ITEM_TYPE_VIDEO_DEFAULT" : Video ads sold on a CPM basis for a + /// variety of environments. + /// - "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL" : Video ads that drive + /// installs of an app. + /// - "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INVENTORY" : Display ads served on + /// mobile app inventory. Line items of this type and their targeting cannot + /// be created or updated using the API. + /// - "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INVENTORY" : Video ads served on mobile + /// app inventory. Line items of this type and their targeting cannot be + /// created or updated using the API. + /// - "LINE_ITEM_TYPE_AUDIO_DEFAULT" : RTB Audio ads sold for a variety of + /// environments. + /// - "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP" : Over-the-top ads present in OTT + /// insertion orders. This type is only applicable to line items with an + /// insertion order of insertion_order_type `OVER_THE_TOP`. + /// - "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_ACTION" : YouTube video ads that + /// promote conversions. Line items of this type and their targeting cannot be + /// created or updated using the API. + /// - "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE" : YouTube video ads + /// (up to 15 seconds) that cannot be skipped. Line items of this type and + /// their targeting cannot be created or updated using the API. + /// - "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE" : YouTube video ads + /// that show a story in a particular sequence using a mix of formats. Line + /// items of this type and their targeting cannot be created or updated using + /// the API. + /// - "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_AUDIO" : YouTube audio ads. Line + /// items of this type and their targeting cannot be created or updated using + /// the API. + /// - "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH" : YouTube video ads that + /// optimize reaching more unique users at lower cost. May include bumper ads, + /// skippable in-stream ads, or a mix of types. Line items of this type and + /// their targeting cannot be created or updated using the API. + /// - "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE" : Default YouTube video + /// ads. Line items of this type and their targeting cannot be created or + /// updated using the API. + /// - "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE_OVER_THE_TOP" : + /// Connected TV youTube video ads (up to 15 seconds) that cannot be skipped. + /// Line items of this type and their targeting cannot be created or updated + /// using the API. + /// - "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH_OVER_THE_TOP" : Connected TV + /// youTube video ads that optimize reaching more unique users at lower cost. + /// May include bumper ads, skippable in-stream ads, or a mix of types. Line + /// items of this type and their targeting cannot be created or updated using + /// the API. + /// - "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE_OVER_THE_TOP" : Connected TV + /// default YouTube video ads. Only include in-stream ad-format. Line items of + /// this type and their targeting cannot be created or updated using the API. + /// - "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_TARGET_FREQUENCY" : The goal of + /// this line item type is to show the YouTube ads target number of times to + /// the same person in a certain period of time. Line items of this type and + /// their targeting cannot be created or updated using the API. + /// - "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIEW" : YouTube video ads that aim + /// to get more views with a variety of ad formats. Line items of this type + /// and their targeting cannot be created or updated using the API. + /// - "LINE_ITEM_TYPE_DISPLAY_OUT_OF_HOME" : Display ads served on + /// digital-out-of-home inventory. Line items of this type and their targeting + /// cannot be created or updated using the API. + /// - "LINE_ITEM_TYPE_VIDEO_OUT_OF_HOME" : Video ads served on + /// digital-out-of-home inventory. Line items of this type and their targeting + /// cannot be created or updated using the API. + core.String? lineItemType; + + /// The mobile app promoted by the line item. + /// + /// This is applicable only when line_item_type is either + /// `LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL` or + /// `LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL`. + MobileApp? mobileApp; + + /// The resource name of the line item. + /// + /// Output only. + core.String? name; + + /// The budget spending speed setting of the line item. + /// + /// Required. + Pacing? pacing; + + /// The partner costs associated with the line item. + /// + /// If absent or empty in CreateLineItem method, the newly created line item + /// will inherit partner costs from its parent insertion order. + core.List? partnerCosts; + + /// The partner revenue model setting of the line item. + /// + /// Required. + PartnerRevenueModel? partnerRevenueModel; + + /// The reservation type of the line item. + /// + /// Output only. + /// Possible string values are: + /// - "RESERVATION_TYPE_UNSPECIFIED" : Reservation type value is not specified + /// or is unknown in this version. + /// - "RESERVATION_TYPE_NOT_GUARANTEED" : Not created through a guaranteed + /// inventory source. + /// - "RESERVATION_TYPE_PROGRAMMATIC_GUARANTEED" : Created through a + /// programmatic guaranteed inventory source. + /// - "RESERVATION_TYPE_TAG_GUARANTEED" : Created through a tag guaranteed + /// inventory source. + /// - "RESERVATION_TYPE_PETRA_VIRAL" : Created through a Petra inventory + /// source. Only applicable to YouTube and Partners line items. + /// - "RESERVATION_TYPE_INSTANT_RESERVE" : Created with an instant quote. Only + /// applicable to YouTube and partners line items. + core.String? reservationType; + + /// The \[optimized + /// targeting\](//support.google.com/displayvideo/answer/12060859) settings of + /// the line item. + /// + /// This config is only applicable for display, video, or audio line items + /// that use automated bidding and positively target eligible audience lists. + TargetingExpansionConfig? targetingExpansion; + + /// The timestamp when the line item was last updated. + /// + /// Assigned by the system. + /// + /// Output only. + core.String? updateTime; + + /// The warning messages generated by the line item. + /// + /// These warnings do not block saving the line item, but some may block the + /// line item from running. + /// + /// Output only. + core.List? warningMessages; + + /// Settings specific to YouTube and Partners line items. + /// + /// Output only. + YoutubeAndPartnersSettings? youtubeAndPartnersSettings; + + LineItem({ + this.advertiserId, + this.bidStrategy, + this.budget, + this.campaignId, + this.conversionCounting, + this.creativeIds, + this.displayName, + this.entityStatus, + this.excludeNewExchanges, + this.flight, + this.frequencyCap, + this.insertionOrderId, + this.integrationDetails, + this.lineItemId, + this.lineItemType, + this.mobileApp, + this.name, + this.pacing, + this.partnerCosts, + this.partnerRevenueModel, + this.reservationType, + this.targetingExpansion, + this.updateTime, + this.warningMessages, + this.youtubeAndPartnersSettings, + }); + + LineItem.fromJson(core.Map json_) + : this( + advertiserId: json_['advertiserId'] as core.String?, + bidStrategy: json_.containsKey('bidStrategy') + ? BiddingStrategy.fromJson( + json_['bidStrategy'] as core.Map) + : null, + budget: json_.containsKey('budget') + ? LineItemBudget.fromJson( + json_['budget'] as core.Map) + : null, + campaignId: json_['campaignId'] as core.String?, + conversionCounting: json_.containsKey('conversionCounting') + ? ConversionCountingConfig.fromJson(json_['conversionCounting'] + as core.Map) + : null, + creativeIds: (json_['creativeIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + displayName: json_['displayName'] as core.String?, + entityStatus: json_['entityStatus'] as core.String?, + excludeNewExchanges: json_['excludeNewExchanges'] as core.bool?, + flight: json_.containsKey('flight') + ? LineItemFlight.fromJson( + json_['flight'] as core.Map) + : null, + frequencyCap: json_.containsKey('frequencyCap') + ? FrequencyCap.fromJson( + json_['frequencyCap'] as core.Map) + : null, + insertionOrderId: json_['insertionOrderId'] as core.String?, + integrationDetails: json_.containsKey('integrationDetails') + ? IntegrationDetails.fromJson(json_['integrationDetails'] + as core.Map) + : null, + lineItemId: json_['lineItemId'] as core.String?, + lineItemType: json_['lineItemType'] as core.String?, + mobileApp: json_.containsKey('mobileApp') + ? MobileApp.fromJson( + json_['mobileApp'] as core.Map) + : null, + name: json_['name'] as core.String?, + pacing: json_.containsKey('pacing') + ? Pacing.fromJson( + json_['pacing'] as core.Map) + : null, + partnerCosts: (json_['partnerCosts'] as core.List?) + ?.map((value) => PartnerCost.fromJson( + value as core.Map)) + .toList(), + partnerRevenueModel: json_.containsKey('partnerRevenueModel') + ? PartnerRevenueModel.fromJson(json_['partnerRevenueModel'] + as core.Map) + : null, + reservationType: json_['reservationType'] as core.String?, + targetingExpansion: json_.containsKey('targetingExpansion') + ? TargetingExpansionConfig.fromJson(json_['targetingExpansion'] + as core.Map) + : null, + updateTime: json_['updateTime'] as core.String?, + warningMessages: (json_['warningMessages'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + youtubeAndPartnersSettings: + json_.containsKey('youtubeAndPartnersSettings') + ? YoutubeAndPartnersSettings.fromJson( + json_['youtubeAndPartnersSettings'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (advertiserId != null) 'advertiserId': advertiserId!, + if (bidStrategy != null) 'bidStrategy': bidStrategy!, + if (budget != null) 'budget': budget!, + if (campaignId != null) 'campaignId': campaignId!, + if (conversionCounting != null) + 'conversionCounting': conversionCounting!, + if (creativeIds != null) 'creativeIds': creativeIds!, + if (displayName != null) 'displayName': displayName!, + if (entityStatus != null) 'entityStatus': entityStatus!, + if (excludeNewExchanges != null) + 'excludeNewExchanges': excludeNewExchanges!, + if (flight != null) 'flight': flight!, + if (frequencyCap != null) 'frequencyCap': frequencyCap!, + if (insertionOrderId != null) 'insertionOrderId': insertionOrderId!, + if (integrationDetails != null) + 'integrationDetails': integrationDetails!, + if (lineItemId != null) 'lineItemId': lineItemId!, + if (lineItemType != null) 'lineItemType': lineItemType!, + if (mobileApp != null) 'mobileApp': mobileApp!, + if (name != null) 'name': name!, + if (pacing != null) 'pacing': pacing!, + if (partnerCosts != null) 'partnerCosts': partnerCosts!, + if (partnerRevenueModel != null) + 'partnerRevenueModel': partnerRevenueModel!, + if (reservationType != null) 'reservationType': reservationType!, + if (targetingExpansion != null) + 'targetingExpansion': targetingExpansion!, + if (updateTime != null) 'updateTime': updateTime!, + if (warningMessages != null) 'warningMessages': warningMessages!, + if (youtubeAndPartnersSettings != null) + 'youtubeAndPartnersSettings': youtubeAndPartnersSettings!, + }; +} + +/// Wrapper object associating an assigned_targeting_option resource and the +/// line item it is assigned to. +class LineItemAssignedTargetingOption { + /// The assigned targeting option resource. + AssignedTargetingOption? assignedTargetingOption; + + /// The ID of the line item the assigned targeting option is assigned to. + core.String? lineItemId; + + LineItemAssignedTargetingOption({ + this.assignedTargetingOption, + this.lineItemId, + }); + + LineItemAssignedTargetingOption.fromJson(core.Map json_) + : this( + assignedTargetingOption: json_.containsKey('assignedTargetingOption') + ? AssignedTargetingOption.fromJson( + json_['assignedTargetingOption'] + as core.Map) + : null, + lineItemId: json_['lineItemId'] as core.String?, + ); + + core.Map toJson() => { + if (assignedTargetingOption != null) + 'assignedTargetingOption': assignedTargetingOption!, + if (lineItemId != null) 'lineItemId': lineItemId!, + }; +} + +/// Settings that control how budget is allocated. +typedef LineItemBudget = $LineItemBudget; + +/// Settings that control the active duration of a line item. +class LineItemFlight { + /// The flight start and end dates of the line item. + /// + /// They are resolved relative to the parent advertiser's time zone. * + /// Required when flight_date_type is `LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM`. + /// Output only otherwise. * When creating a new flight, both `start_date` and + /// `end_date` must be in the future. * An existing flight with a `start_date` + /// in the past has a mutable `end_date` but an immutable `start_date`. * + /// `end_date` must be the `start_date` or later, both before the year 2037. + DateRange? dateRange; + + /// The type of the line item's flight dates. + /// + /// Required. + /// Possible string values are: + /// - "LINE_ITEM_FLIGHT_DATE_TYPE_UNSPECIFIED" : Type value is not specified + /// or is unknown in this version. + /// - "LINE_ITEM_FLIGHT_DATE_TYPE_INHERITED" : The line item's flight dates + /// are inherited from its parent insertion order. + /// - "LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM" : The line item uses its own custom + /// flight dates. + core.String? flightDateType; + + LineItemFlight({ + this.dateRange, + this.flightDateType, + }); + + LineItemFlight.fromJson(core.Map json_) + : this( + dateRange: json_.containsKey('dateRange') + ? DateRange.fromJson( + json_['dateRange'] as core.Map) + : null, + flightDateType: json_['flightDateType'] as core.String?, + ); + + core.Map toJson() => { + if (dateRange != null) 'dateRange': dateRange!, + if (flightDateType != null) 'flightDateType': flightDateType!, + }; +} + +class ListAdGroupAdsResponse { + /// The list of ad group ads. + /// + /// This list will be absent if empty. + core.List? adGroupAds; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListAdGroupAds` method to retrieve the next page of results. + core.String? nextPageToken; + + ListAdGroupAdsResponse({ + this.adGroupAds, + this.nextPageToken, + }); + + ListAdGroupAdsResponse.fromJson(core.Map json_) + : this( + adGroupAds: (json_['adGroupAds'] as core.List?) + ?.map((value) => AdGroupAd.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (adGroupAds != null) 'adGroupAds': adGroupAds!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +/// Response message for ListAdGroupAssignedTargetingOptions. +class ListAdGroupAssignedTargetingOptionsResponse { + /// The list of assigned targeting options. + /// + /// This list will be absent if empty. + core.List? assignedTargetingOptions; + + /// A token identifying the next page of results. + /// + /// This value should be specified as the pageToken in a subsequent + /// ListAdGroupAssignedTargetingOptionsRequest to fetch the next page of + /// results. This token will be absent if there are no more + /// AssignedTargetingOption resources to return. + core.String? nextPageToken; + + ListAdGroupAssignedTargetingOptionsResponse({ + this.assignedTargetingOptions, + this.nextPageToken, + }); + + ListAdGroupAssignedTargetingOptionsResponse.fromJson(core.Map json_) + : this( + assignedTargetingOptions: + (json_['assignedTargetingOptions'] as core.List?) + ?.map((value) => AssignedTargetingOption.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (assignedTargetingOptions != null) + 'assignedTargetingOptions': assignedTargetingOptions!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +class ListAdGroupsResponse { + /// The list of ad groups. + /// + /// This list will be absent if empty. + core.List? adGroups; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListAdGroups` method to retrieve the next page of results. + core.String? nextPageToken; + + ListAdGroupsResponse({ + this.adGroups, + this.nextPageToken, + }); + + ListAdGroupsResponse.fromJson(core.Map json_) + : this( + adGroups: (json_['adGroups'] as core.List?) + ?.map((value) => AdGroup.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (adGroups != null) 'adGroups': adGroups!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +/// Response message for ListAdvertiserAssignedTargetingOptions. +class ListAdvertiserAssignedTargetingOptionsResponse { + /// The list of assigned targeting options. + /// + /// This list will be absent if empty. + core.List? assignedTargetingOptions; + + /// A token identifying the next page of results. + /// + /// This value should be specified as the pageToken in a subsequent + /// ListAdvertiserAssignedTargetingOptionsRequest to fetch the next page of + /// results. This token will be absent if there are no more + /// assigned_targeting_options to return. + core.String? nextPageToken; + + ListAdvertiserAssignedTargetingOptionsResponse({ + this.assignedTargetingOptions, + this.nextPageToken, + }); + + ListAdvertiserAssignedTargetingOptionsResponse.fromJson(core.Map json_) + : this( + assignedTargetingOptions: + (json_['assignedTargetingOptions'] as core.List?) + ?.map((value) => AssignedTargetingOption.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (assignedTargetingOptions != null) + 'assignedTargetingOptions': assignedTargetingOptions!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +class ListAdvertisersResponse { + /// The list of advertisers. + /// + /// This list will be absent if empty. + core.List? advertisers; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListAdvertisers` method to retrieve the next page of results. + core.String? nextPageToken; + + ListAdvertisersResponse({ + this.advertisers, + this.nextPageToken, + }); + + ListAdvertisersResponse.fromJson(core.Map json_) + : this( + advertisers: (json_['advertisers'] as core.List?) + ?.map((value) => Advertiser.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (advertisers != null) 'advertisers': advertisers!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +/// Response message for +/// AssignedInventorySourceService.ListAssignedInventorySources. +class ListAssignedInventorySourcesResponse { + /// The list of assigned inventory sources. + /// + /// This list will be absent if empty. + core.List? assignedInventorySources; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListAssignedInventorySources` method to retrieve the next page of + /// results. + core.String? nextPageToken; + + ListAssignedInventorySourcesResponse({ + this.assignedInventorySources, + this.nextPageToken, + }); + + ListAssignedInventorySourcesResponse.fromJson(core.Map json_) + : this( + assignedInventorySources: + (json_['assignedInventorySources'] as core.List?) + ?.map((value) => AssignedInventorySource.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (assignedInventorySources != null) + 'assignedInventorySources': assignedInventorySources!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +/// Response message for AssignedLocationService.ListAssignedLocations. +class ListAssignedLocationsResponse { + /// The list of assigned locations. + /// + /// This list will be absent if empty. + core.List? assignedLocations; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListAssignedLocations` method to retrieve the next page of results. + core.String? nextPageToken; + + ListAssignedLocationsResponse({ + this.assignedLocations, + this.nextPageToken, + }); + + ListAssignedLocationsResponse.fromJson(core.Map json_) + : this( + assignedLocations: (json_['assignedLocations'] as core.List?) + ?.map((value) => AssignedLocation.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (assignedLocations != null) 'assignedLocations': assignedLocations!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +class ListCampaignsResponse { + /// The list of campaigns. + /// + /// This list will be absent if empty. + core.List? campaigns; + + /// 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. + core.String? nextPageToken; + + ListCampaignsResponse({ + this.campaigns, + this.nextPageToken, + }); + + ListCampaignsResponse.fromJson(core.Map json_) + : this( + campaigns: (json_['campaigns'] as core.List?) + ?.map((value) => Campaign.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (campaigns != null) 'campaigns': campaigns!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +class ListChannelsResponse { + /// The list of channels. + /// + /// This list will be absent if empty. + core.List? channels; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListChannels` method to retrieve the next page of results. + core.String? nextPageToken; + + ListChannelsResponse({ + this.channels, + this.nextPageToken, + }); + + ListChannelsResponse.fromJson(core.Map json_) + : this( + channels: (json_['channels'] as core.List?) + ?.map((value) => Channel.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (channels != null) 'channels': channels!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +class ListCombinedAudiencesResponse { + /// The list of combined audiences. + /// + /// This list will be absent if empty. + core.List? combinedAudiences; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListCombinedAudiences` method to retrieve the next page of results. + core.String? nextPageToken; + + ListCombinedAudiencesResponse({ + this.combinedAudiences, + this.nextPageToken, + }); + + ListCombinedAudiencesResponse.fromJson(core.Map json_) + : this( + combinedAudiences: (json_['combinedAudiences'] as core.List?) + ?.map((value) => CombinedAudience.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (combinedAudiences != null) 'combinedAudiences': combinedAudiences!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +class ListCreativesResponse { + /// The list of creatives. + /// + /// This list will be absent if empty. + core.List? creatives; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListCreativesRequest` method to retrieve the next page of results. If + /// this field is null, it means this is the last page. + core.String? nextPageToken; + + ListCreativesResponse({ + this.creatives, + this.nextPageToken, + }); + + ListCreativesResponse.fromJson(core.Map json_) + : this( + creatives: (json_['creatives'] as core.List?) + ?.map((value) => Creative.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (creatives != null) 'creatives': creatives!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +class ListCustomBiddingAlgorithmRulesResponse { + /// The list of CustomBiddingAlgorithmRules resources. + /// + /// This list will be absent if empty. + core.List? customBiddingRules; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListCustomBiddingAlgorithmRulesRequest` method to retrieve the next page + /// of results. If this field is null, it means this is the last page. + core.String? nextPageToken; + + ListCustomBiddingAlgorithmRulesResponse({ + this.customBiddingRules, + this.nextPageToken, + }); + + ListCustomBiddingAlgorithmRulesResponse.fromJson(core.Map json_) + : this( + customBiddingRules: (json_['customBiddingRules'] as core.List?) + ?.map((value) => CustomBiddingAlgorithmRules.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (customBiddingRules != null) + 'customBiddingRules': customBiddingRules!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +class ListCustomBiddingAlgorithmsResponse { + /// The list of custom bidding algorithms. + /// + /// This list will be absent if empty. + core.List? customBiddingAlgorithms; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListCustomBiddingAlgorithmsRequest` method to retrieve the next page of + /// results. If this field is null, it means this is the last page. + core.String? nextPageToken; + + ListCustomBiddingAlgorithmsResponse({ + this.customBiddingAlgorithms, + this.nextPageToken, + }); + + ListCustomBiddingAlgorithmsResponse.fromJson(core.Map json_) + : this( + customBiddingAlgorithms: + (json_['customBiddingAlgorithms'] as core.List?) + ?.map((value) => CustomBiddingAlgorithm.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (customBiddingAlgorithms != null) + 'customBiddingAlgorithms': customBiddingAlgorithms!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +class ListCustomBiddingScriptsResponse { + /// The list of custom bidding scripts. + /// + /// This list will be absent if empty. + core.List? customBiddingScripts; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListCustomBiddingScriptsRequest` method to retrieve the next page of + /// results. If this field is null, it means this is the last page. + core.String? nextPageToken; + + ListCustomBiddingScriptsResponse({ + this.customBiddingScripts, + this.nextPageToken, + }); + + ListCustomBiddingScriptsResponse.fromJson(core.Map json_) + : this( + customBiddingScripts: (json_['customBiddingScripts'] as core.List?) + ?.map((value) => CustomBiddingScript.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (customBiddingScripts != null) + 'customBiddingScripts': customBiddingScripts!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +class ListCustomListsResponse { + /// The list of custom lists. + /// + /// This list will be absent if empty. + core.List? customLists; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListCustomLists` method to retrieve the next page of results. + core.String? nextPageToken; + + ListCustomListsResponse({ + this.customLists, + this.nextPageToken, + }); + + ListCustomListsResponse.fromJson(core.Map json_) + : this( + customLists: (json_['customLists'] as core.List?) + ?.map((value) => CustomList.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (customLists != null) 'customLists': customLists!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +class ListFirstPartyAndPartnerAudiencesResponse { + /// The list of first party and partner audiences. + /// + /// Audience size properties will not be included. This list will be absent if + /// empty. + core.List? firstPartyAndPartnerAudiences; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListFirstPartyAndPartnerAudiences` method to retrieve the next page of + /// results. + core.String? nextPageToken; + + ListFirstPartyAndPartnerAudiencesResponse({ + this.firstPartyAndPartnerAudiences, + this.nextPageToken, + }); + + ListFirstPartyAndPartnerAudiencesResponse.fromJson(core.Map json_) + : this( + firstPartyAndPartnerAudiences: + (json_['firstPartyAndPartnerAudiences'] as core.List?) + ?.map((value) => FirstPartyAndPartnerAudience.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (firstPartyAndPartnerAudiences != null) + 'firstPartyAndPartnerAudiences': firstPartyAndPartnerAudiences!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +class ListFloodlightActivitiesResponse { + /// The list of Floodlight activities. + /// + /// This list will be absent if empty. + core.List? floodlightActivities; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListFloodlightActivities` method to retrieve the next page of results. + core.String? nextPageToken; + + ListFloodlightActivitiesResponse({ + this.floodlightActivities, + this.nextPageToken, + }); + + ListFloodlightActivitiesResponse.fromJson(core.Map json_) + : this( + floodlightActivities: (json_['floodlightActivities'] as core.List?) + ?.map((value) => FloodlightActivity.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (floodlightActivities != null) + 'floodlightActivities': floodlightActivities!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +class ListGoogleAudiencesResponse { + /// The list of Google audiences. + /// + /// This list will be absent if empty. + core.List? googleAudiences; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListGoogleAudiences` method to retrieve the next page of results. + core.String? nextPageToken; + + ListGoogleAudiencesResponse({ + this.googleAudiences, + this.nextPageToken, + }); + + ListGoogleAudiencesResponse.fromJson(core.Map json_) + : this( + googleAudiences: (json_['googleAudiences'] as core.List?) + ?.map((value) => GoogleAudience.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (googleAudiences != null) 'googleAudiences': googleAudiences!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +class ListGuaranteedOrdersResponse { + /// The list of guaranteed orders. + /// + /// This list will be absent if empty. + core.List? guaranteedOrders; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListGuaranteedOrders` method to retrieve the next page of results. + core.String? nextPageToken; + + ListGuaranteedOrdersResponse({ + this.guaranteedOrders, + this.nextPageToken, + }); + + ListGuaranteedOrdersResponse.fromJson(core.Map json_) + : this( + guaranteedOrders: (json_['guaranteedOrders'] as core.List?) + ?.map((value) => GuaranteedOrder.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (guaranteedOrders != null) 'guaranteedOrders': guaranteedOrders!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +class ListInsertionOrdersResponse { + /// The list of insertion orders. + /// + /// This list will be absent if empty. + core.List? insertionOrders; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListInsertionOrders` method to retrieve the next page of results. + core.String? nextPageToken; + + ListInsertionOrdersResponse({ + this.insertionOrders, + this.nextPageToken, + }); + + ListInsertionOrdersResponse.fromJson(core.Map json_) + : this( + insertionOrders: (json_['insertionOrders'] as core.List?) + ?.map((value) => InsertionOrder.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (insertionOrders != null) 'insertionOrders': insertionOrders!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +/// Response message for InventorySourceGroupService.ListInventorySourceGroups. +class ListInventorySourceGroupsResponse { + /// The list of inventory source groups. + /// + /// This list will be absent if empty. + core.List? inventorySourceGroups; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListInventorySourceGroups` method to retrieve the next page of results. + core.String? nextPageToken; + + ListInventorySourceGroupsResponse({ + this.inventorySourceGroups, + this.nextPageToken, + }); + + ListInventorySourceGroupsResponse.fromJson(core.Map json_) + : this( + inventorySourceGroups: (json_['inventorySourceGroups'] as core.List?) + ?.map((value) => InventorySourceGroup.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (inventorySourceGroups != null) + 'inventorySourceGroups': inventorySourceGroups!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +class ListInventorySourcesResponse { + /// The list of inventory sources. + /// + /// This list will be absent if empty. + core.List? inventorySources; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListInventorySources` method to retrieve the next page of results. + core.String? nextPageToken; + + ListInventorySourcesResponse({ + this.inventorySources, + this.nextPageToken, + }); + + ListInventorySourcesResponse.fromJson(core.Map json_) + : this( + inventorySources: (json_['inventorySources'] as core.List?) + ?.map((value) => InventorySource.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (inventorySources != null) 'inventorySources': inventorySources!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +class ListInvoicesResponse { + /// The list of invoices. + /// + /// This list will be absent if empty. + core.List? invoices; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListInvoices` method to retrieve the next page of results. This token + /// will be absent if there are no more invoices to return. + core.String? nextPageToken; + + ListInvoicesResponse({ + this.invoices, + this.nextPageToken, + }); + + ListInvoicesResponse.fromJson(core.Map json_) + : this( + invoices: (json_['invoices'] as core.List?) + ?.map((value) => Invoice.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (invoices != null) 'invoices': invoices!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +/// Response message for ListLineItemAssignedTargetingOptions. +class ListLineItemAssignedTargetingOptionsResponse { + /// The list of assigned targeting options. + /// + /// This list will be absent if empty. + core.List? assignedTargetingOptions; + + /// A token identifying the next page of results. + /// + /// This value should be specified as the pageToken in a subsequent + /// ListLineItemAssignedTargetingOptionsRequest to fetch the next page of + /// results. This token will be absent if there are no more + /// assigned_targeting_options to return. + core.String? nextPageToken; + + ListLineItemAssignedTargetingOptionsResponse({ + this.assignedTargetingOptions, + this.nextPageToken, + }); + + ListLineItemAssignedTargetingOptionsResponse.fromJson(core.Map json_) + : this( + assignedTargetingOptions: + (json_['assignedTargetingOptions'] as core.List?) + ?.map((value) => AssignedTargetingOption.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (assignedTargetingOptions != null) + 'assignedTargetingOptions': assignedTargetingOptions!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +class ListLineItemsResponse { + /// The list of line items. + /// + /// This list will be absent if empty. + core.List? lineItems; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListLineItems` method to retrieve the next page of results. + core.String? nextPageToken; + + ListLineItemsResponse({ + this.lineItems, + this.nextPageToken, + }); + + ListLineItemsResponse.fromJson(core.Map json_) + : this( + lineItems: (json_['lineItems'] as core.List?) + ?.map((value) => LineItem.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (lineItems != null) 'lineItems': lineItems!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +class ListLocationListsResponse { + /// The list of location lists. + /// + /// This list will be absent if empty. + core.List? locationLists; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListLocationLists` method to retrieve the next page of results. + core.String? nextPageToken; + + ListLocationListsResponse({ + this.locationLists, + this.nextPageToken, + }); + + ListLocationListsResponse.fromJson(core.Map json_) + : this( + locationLists: (json_['locationLists'] as core.List?) + ?.map((value) => LocationList.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (locationLists != null) 'locationLists': locationLists!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +/// Response message for NegativeKeywordListService.ListNegativeKeywordLists. +class ListNegativeKeywordListsResponse { + /// The list of negative keyword lists. + /// + /// This list will be absent if empty. + core.List? negativeKeywordLists; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListNegativeKeywordLists` method to retrieve the next page of results. + core.String? nextPageToken; + + ListNegativeKeywordListsResponse({ + this.negativeKeywordLists, + this.nextPageToken, + }); + + ListNegativeKeywordListsResponse.fromJson(core.Map json_) + : this( + negativeKeywordLists: (json_['negativeKeywordLists'] as core.List?) + ?.map((value) => NegativeKeywordList.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (negativeKeywordLists != null) + 'negativeKeywordLists': negativeKeywordLists!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +/// Response message for NegativeKeywordService.ListNegativeKeywords. +class ListNegativeKeywordsResponse { + /// The list of negative keywords. + /// + /// This list will be absent if empty. + core.List? negativeKeywords; + + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListNegativeKeywords` method to retrieve the next page of results. + core.String? nextPageToken; + + ListNegativeKeywordsResponse({ + this.negativeKeywords, + this.nextPageToken, + }); + + ListNegativeKeywordsResponse.fromJson(core.Map json_) + : this( + negativeKeywords: (json_['negativeKeywords'] as core.List?) + ?.map((value) => NegativeKeyword.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (negativeKeywords != null) 'negativeKeywords': negativeKeywords!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +class ListPartnerAssignedTargetingOptionsResponse { + /// The list of assigned targeting options. + /// + /// This list will be absent if empty. + core.List? assignedTargetingOptions; + + /// A token identifying the next page of results. + /// + /// This value should be specified as the pageToken in a subsequent + /// ListPartnerAssignedTargetingOptionsRequest to fetch the next page of + /// results. This token will be absent if there are no more + /// assigned_targeting_options to return. + core.String? nextPageToken; + + ListPartnerAssignedTargetingOptionsResponse({ + this.assignedTargetingOptions, + this.nextPageToken, + }); + + ListPartnerAssignedTargetingOptionsResponse.fromJson(core.Map json_) + : this( + assignedTargetingOptions: + (json_['assignedTargetingOptions'] as core.List?) + ?.map((value) => AssignedTargetingOption.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); + + core.Map toJson() => { + if (assignedTargetingOptions != null) + 'assignedTargetingOptions': assignedTargetingOptions!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} + +class ListPartnersResponse { + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListPartners` method to retrieve the next page of results. + core.String? nextPageToken; + + /// The list of partners. + /// + /// This list will be absent if empty. + core.List? partners; + + ListPartnersResponse({ + this.nextPageToken, + this.partners, + }); + + ListPartnersResponse.fromJson(core.Map json_) + : this( + nextPageToken: json_['nextPageToken'] as core.String?, + partners: (json_['partners'] as core.List?) + ?.map((value) => Partner.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (partners != null) 'partners': partners!, + }; +} + +/// Response message for SiteService.ListSites. +class ListSitesResponse { + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListSites` method to retrieve the next page of results. + core.String? nextPageToken; + + /// The list of sites. + /// + /// This list will be absent if empty. + core.List? sites; + + ListSitesResponse({ + this.nextPageToken, + this.sites, + }); + + ListSitesResponse.fromJson(core.Map json_) + : this( + nextPageToken: json_['nextPageToken'] as core.String?, + sites: (json_['sites'] as core.List?) + ?.map((value) => + Site.fromJson(value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (sites != null) 'sites': sites!, + }; +} + +/// Response message for ListTargetingOptions. +class ListTargetingOptionsResponse { + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListTargetingOptions` method to retrieve the next page of results. + core.String? nextPageToken; + + /// The list of targeting options. + /// + /// This list will be absent if empty. + core.List? targetingOptions; + + ListTargetingOptionsResponse({ + this.nextPageToken, + this.targetingOptions, + }); + + ListTargetingOptionsResponse.fromJson(core.Map json_) + : this( + nextPageToken: json_['nextPageToken'] as core.String?, + targetingOptions: (json_['targetingOptions'] as core.List?) + ?.map((value) => TargetingOption.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (targetingOptions != null) 'targetingOptions': targetingOptions!, + }; +} + +class ListUsersResponse { + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `ListUsers` method to retrieve the next page of results. This token will + /// be absent if there are no more results to return. + core.String? nextPageToken; + + /// The list of users. + /// + /// This list will be absent if empty. + core.List? users; + + ListUsersResponse({ + this.nextPageToken, + this.users, + }); + + ListUsersResponse.fromJson(core.Map json_) + : this( + nextPageToken: json_['nextPageToken'] as core.String?, + users: (json_['users'] as core.List?) + ?.map((value) => + User.fromJson(value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (users != null) 'users': users!, + }; +} + +/// A list of locations used for targeting. +typedef LocationList = $LocationList; + +/// Specifies how many days into the past to look when determining whether to +/// record a conversion. +typedef LookbackWindow = $LookbackWindow; +typedef LookupInvoiceCurrencyResponse = $LookupInvoiceCurrencyResponse; + +/// Details for a Masthead Ad. +class MastheadAd { + /// The duration of time the video will autoplay. + core.String? autoplayVideoDuration; + + /// The amount of time in milliseconds after which the video will start to + /// play. + core.String? autoplayVideoStartMillisecond; + + /// The text on the call-to-action button. + core.String? callToActionButtonLabel; + + /// The destination URL for the call-to-action button. + core.String? callToActionFinalUrl; + + /// The tracking URL for the call-to-action button. + core.String? callToActionTrackingUrl; + + /// The videos that appear next to the Masthead Ad on desktop. + /// + /// Can be no more than two. + core.List? companionYoutubeVideos; + + /// The description of the ad. + core.String? description; + + /// The headline of the ad. + core.String? headline; + + /// Whether to show a background or banner that appears at the top of a + /// YouTube page. + core.bool? showChannelArt; + + /// The YouTube video used by the ad. + YoutubeVideoDetails? video; + + /// The aspect ratio of the autoplaying YouTube video on the Masthead. + /// Possible string values are: + /// - "VIDEO_ASPECT_RATIO_UNSPECIFIED" : Not specified or unknown. + /// - "VIDEO_ASPECT_RATIO_WIDESCREEN" : The video is stretched and the top and + /// bottom are cropped. + /// - "VIDEO_ASPECT_RATIO_FIXED_16_9" : The video uses a fixed 16:9 aspect + /// ratio. + core.String? videoAspectRatio; + + MastheadAd({ + this.autoplayVideoDuration, + this.autoplayVideoStartMillisecond, + this.callToActionButtonLabel, + this.callToActionFinalUrl, + this.callToActionTrackingUrl, + this.companionYoutubeVideos, + this.description, + this.headline, + this.showChannelArt, + this.video, + this.videoAspectRatio, + }); + + MastheadAd.fromJson(core.Map json_) + : this( + autoplayVideoDuration: json_['autoplayVideoDuration'] as core.String?, + autoplayVideoStartMillisecond: + json_['autoplayVideoStartMillisecond'] as core.String?, + callToActionButtonLabel: + json_['callToActionButtonLabel'] as core.String?, + callToActionFinalUrl: json_['callToActionFinalUrl'] as core.String?, + callToActionTrackingUrl: + json_['callToActionTrackingUrl'] as core.String?, + companionYoutubeVideos: + (json_['companionYoutubeVideos'] as core.List?) + ?.map((value) => YoutubeVideoDetails.fromJson( + value as core.Map)) + .toList(), + description: json_['description'] as core.String?, + headline: json_['headline'] as core.String?, + showChannelArt: json_['showChannelArt'] as core.bool?, + video: json_.containsKey('video') + ? YoutubeVideoDetails.fromJson( + json_['video'] as core.Map) + : null, + videoAspectRatio: json_['videoAspectRatio'] as core.String?, + ); + + core.Map toJson() => { + if (autoplayVideoDuration != null) + 'autoplayVideoDuration': autoplayVideoDuration!, + if (autoplayVideoStartMillisecond != null) + 'autoplayVideoStartMillisecond': autoplayVideoStartMillisecond!, + if (callToActionButtonLabel != null) + 'callToActionButtonLabel': callToActionButtonLabel!, + if (callToActionFinalUrl != null) + 'callToActionFinalUrl': callToActionFinalUrl!, + if (callToActionTrackingUrl != null) + 'callToActionTrackingUrl': callToActionTrackingUrl!, + if (companionYoutubeVideos != null) + 'companionYoutubeVideos': companionYoutubeVideos!, + if (description != null) 'description': description!, + if (headline != null) 'headline': headline!, + if (showChannelArt != null) 'showChannelArt': showChannelArt!, + if (video != null) 'video': video!, + if (videoAspectRatio != null) 'videoAspectRatio': videoAspectRatio!, + }; +} + +/// A strategy that automatically adjusts the bid to optimize a specified +/// performance goal while spending the full budget. +typedef MaximizeSpendBidStrategy = $MaximizeSpendBidStrategy; + +/// Measurement settings of a partner. +typedef MeasurementConfig = $MeasurementConfig; + +/// A mobile app promoted by a mobile app install line item. +typedef MobileApp = $MobileApp; + +/// Wrapper message for a list of mobile device IDs defining Customer Match +/// audience members. +class MobileDeviceIdList { + /// Input only. + /// + /// The consent setting for the users in mobile_device_ids. Leaving this field + /// unset indicates that consent is not specified. If ad_user_data or + /// ad_personalization fields are set to `CONSENT_STATUS_DENIED`, the request + /// will return an error. + Consent? consent; + + /// A list of mobile device IDs defining Customer Match audience members. + /// + /// The size of mobile_device_ids mustn't be greater than 500,000. + core.List? mobileDeviceIds; + + MobileDeviceIdList({ + this.consent, + this.mobileDeviceIds, + }); + + MobileDeviceIdList.fromJson(core.Map json_) + : this( + consent: json_.containsKey('consent') + ? Consent.fromJson( + json_['consent'] as core.Map) + : null, + mobileDeviceIds: (json_['mobileDeviceIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (consent != null) 'consent': consent!, + if (mobileDeviceIds != null) 'mobileDeviceIds': mobileDeviceIds!, + }; +} + +/// Represents an amount of money with its currency type. +typedef Money = $Money; + +/// 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. +typedef NativeContentPositionAssignedTargetingOptionDetails + = $NativeContentPositionAssignedTargetingOptionDetails; + +/// Represents a targetable native content position. +/// +/// This will be populated in the native_content_position_details field when +/// targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. +typedef NativeContentPositionTargetingOptionDetails + = $NativeContentPositionTargetingOptionDetails; + +/// A negatively targeted keyword that belongs to a negative keyword list. +typedef NegativeKeyword = $NegativeKeyword; + +/// A list of negative keywords used for targeting. +typedef NegativeKeywordList = $NegativeKeywordList; + +/// 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`. +typedef NegativeKeywordListAssignedTargetingOptionDetails + = $NegativeKeywordListAssignedTargetingOptionDetails; + +/// Details for a non-skippable ad. +class NonSkippableAd { + /// Common ad attributes. + CommonInStreamAttribute? commonInStreamAttribute; + + /// The custom parameters to pass custom values to tracking URL template. + core.Map? customParameters; + + NonSkippableAd({ + this.commonInStreamAttribute, + this.customParameters, + }); + + NonSkippableAd.fromJson(core.Map json_) + : this( + commonInStreamAttribute: json_.containsKey('commonInStreamAttribute') + ? CommonInStreamAttribute.fromJson( + json_['commonInStreamAttribute'] + as core.Map) + : null, + customParameters: (json_['customParameters'] + as core.Map?) + ?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + ); + + core.Map toJson() => { + if (commonInStreamAttribute != null) + 'commonInStreamAttribute': commonInStreamAttribute!, + if (customParameters != null) 'customParameters': customParameters!, + }; +} + +/// OBA Icon for a Creative +class ObaIcon { + /// The click tracking URL of the OBA icon. + /// + /// Only URLs of the following domains are allowed: * + /// `https://info.evidon.com` * `https://l.betrad.com` + /// + /// Required. + core.String? clickTrackingUrl; + + /// The dimensions of the OBA icon. + /// + /// Optional. + Dimensions? dimensions; + + /// The landing page URL of the OBA icon. + /// + /// Only URLs of the following domains are allowed: * + /// `https://info.evidon.com` * `https://l.betrad.com` + /// + /// Required. + core.String? landingPageUrl; + + /// The position of the OBA icon on the creative. + /// + /// Optional. + /// Possible string values are: + /// - "OBA_ICON_POSITION_UNSPECIFIED" : The OBA icon position is not + /// specified. + /// - "OBA_ICON_POSITION_UPPER_RIGHT" : At the upper right side of the + /// creative. + /// - "OBA_ICON_POSITION_UPPER_LEFT" : At the upper left side of the creative. + /// - "OBA_ICON_POSITION_LOWER_RIGHT" : At the lower right side of the + /// creative. + /// - "OBA_ICON_POSITION_LOWER_LEFT" : At the lower left side of the creative. + core.String? position; + + /// The program of the OBA icon. + /// + /// For example: “AdChoices”. + /// + /// Optional. + core.String? program; + + /// The MIME type of the OBA icon resource. + /// + /// Optional. + core.String? resourceMimeType; + + /// The URL of the OBA icon resource. + /// + /// Optional. + core.String? resourceUrl; + + /// The view tracking URL of the OBA icon. + /// + /// Only URLs of the following domains are allowed: * + /// `https://info.evidon.com` * `https://l.betrad.com` + /// + /// Required. + core.String? viewTrackingUrl; + + ObaIcon({ + this.clickTrackingUrl, + this.dimensions, + this.landingPageUrl, + this.position, + this.program, + this.resourceMimeType, + this.resourceUrl, + this.viewTrackingUrl, + }); + + ObaIcon.fromJson(core.Map json_) + : this( + clickTrackingUrl: json_['clickTrackingUrl'] as core.String?, + dimensions: json_.containsKey('dimensions') + ? Dimensions.fromJson( + json_['dimensions'] as core.Map) + : null, + landingPageUrl: json_['landingPageUrl'] as core.String?, + position: json_['position'] as core.String?, + program: json_['program'] as core.String?, + resourceMimeType: json_['resourceMimeType'] as core.String?, + resourceUrl: json_['resourceUrl'] as core.String?, + viewTrackingUrl: json_['viewTrackingUrl'] as core.String?, + ); + + core.Map toJson() => { + if (clickTrackingUrl != null) 'clickTrackingUrl': clickTrackingUrl!, + if (dimensions != null) 'dimensions': dimensions!, + if (landingPageUrl != null) 'landingPageUrl': landingPageUrl!, + if (position != null) 'position': position!, + if (program != null) 'program': program!, + if (resourceMimeType != null) 'resourceMimeType': resourceMimeType!, + if (resourceUrl != null) 'resourceUrl': resourceUrl!, + if (viewTrackingUrl != null) 'viewTrackingUrl': viewTrackingUrl!, + }; +} + +/// 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`. +typedef OmidAssignedTargetingOptionDetails + = $OmidAssignedTargetingOptionDetails; + +/// Represents a targetable Open Measurement enabled inventory type. +/// +/// This will be populated in the omid_details field when targeting_type is +/// `TARGETING_TYPE_OMID`. +typedef OmidTargetingOptionDetails = $OmidTargetingOptionDetails; + +/// 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`. +typedef OnScreenPositionAssignedTargetingOptionDetails + = $OnScreenPositionAssignedTargetingOptionDetails; + +/// Represents a targetable on screen position, which could be used by display +/// and video ads. +/// +/// This will be populated in the on_screen_position_details field when +/// targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`. +typedef OnScreenPositionTargetingOptionDetails + = $OnScreenPositionTargetingOptionDetails; + +/// Assigned operating system targeting option details. +/// +/// This will be populated in the operating_system_details field when +/// targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`. +typedef OperatingSystemAssignedTargetingOptionDetails + = $OperatingSystemAssignedTargetingOptionDetails; + +/// Represents a targetable operating system. +/// +/// This will be populated in the operating_system_details field of a +/// TargetingOption when targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`. +typedef OperatingSystemTargetingOptionDetails + = $OperatingSystemTargetingOptionDetails; + +/// This resource represents a long-running operation that is the result of a +/// network API call. +class Operation { + /// If the value is `false`, it means the operation is still in progress. + /// + /// If `true`, the operation is completed, and either `error` or `response` is + /// available. + core.bool? done; + + /// The error result of the operation in case of failure or cancellation. + Status? error; + + /// Service-specific metadata associated with the operation. + /// + /// It typically contains progress information and common metadata such as + /// create time. Some services might not provide such metadata. Any method + /// that returns a long-running operation should document the metadata type, + /// if any. + /// + /// The values for Object must be JSON objects. It can consist of `num`, + /// `String`, `bool` and `null` as well as `Map` and `List` values. + core.Map? metadata; + + /// The server-assigned name, which is only unique within the same service + /// that originally returns it. + /// + /// If you use the default HTTP mapping, the `name` should be a resource name + /// ending with `operations/{unique_id}`. + core.String? name; + + /// The normal, successful response of the operation. + /// + /// If the original method returns no data on success, such as `Delete`, the + /// response is `google.protobuf.Empty`. If the original method is standard + /// `Get`/`Create`/`Update`, the response should be the resource. For other + /// methods, the response should have the type `XxxResponse`, where `Xxx` is + /// the original method name. For example, if the original method name is + /// `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + /// + /// The values for Object must be JSON objects. It can consist of `num`, + /// `String`, `bool` and `null` as well as `Map` and `List` values. + core.Map? response; + + Operation({ + this.done, + this.error, + this.metadata, + this.name, + this.response, + }); + + Operation.fromJson(core.Map json_) + : this( + done: json_['done'] as core.bool?, + error: json_.containsKey('error') + ? Status.fromJson( + json_['error'] as core.Map) + : null, + metadata: json_.containsKey('metadata') + ? json_['metadata'] as core.Map + : null, + name: json_['name'] as core.String?, + response: json_.containsKey('response') + ? json_['response'] as core.Map + : null, + ); + + core.Map toJson() => { + if (done != null) 'done': done!, + if (error != null) 'error': error!, + if (metadata != null) 'metadata': metadata!, + if (name != null) 'name': name!, + if (response != null) 'response': response!, + }; +} + +/// Settings that control the rate at which a budget is spent. +typedef Pacing = $Pacing; + +/// A filtering option that filters on selected file types belonging to a chosen +/// set of filter entities. +typedef ParentEntityFilter = $ParentEntityFilter; + +/// Details for assigned parental status targeting option. +/// +/// This will be populated in the details field of an AssignedTargetingOption +/// when targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`. +typedef ParentalStatusAssignedTargetingOptionDetails + = $ParentalStatusAssignedTargetingOptionDetails; + +/// Represents a targetable parental status. +/// +/// This will be populated in the parental_status_details field of a +/// TargetingOption when targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`. +typedef ParentalStatusTargetingOptionDetails + = $ParentalStatusTargetingOptionDetails; + +/// A single partner in Display & Video 360 (DV360). +class Partner { + /// Ad server related settings of the partner. + PartnerAdServerConfig? adServerConfig; + + /// Billing related settings of the partner. + PartnerBillingConfig? billingConfig; + + /// Settings that control how partner data may be accessed. + PartnerDataAccessConfig? dataAccessConfig; + + /// The display name of the partner. + /// + /// Must be UTF-8 encoded with a maximum size of 240 bytes. + core.String? displayName; + + /// The status of the partner. + /// + /// Output only. + /// Possible string values are: + /// - "ENTITY_STATUS_UNSPECIFIED" : Default value when status is not specified + /// or is unknown in this version. + /// - "ENTITY_STATUS_ACTIVE" : The entity is enabled to bid and spend budget. + /// - "ENTITY_STATUS_ARCHIVED" : The entity is archived. Bidding and budget + /// spending are disabled. An entity can be deleted after archived. Deleted + /// entities cannot be retrieved. + /// - "ENTITY_STATUS_DRAFT" : The entity is under draft. Bidding and budget + /// spending are disabled. + /// - "ENTITY_STATUS_PAUSED" : Bidding and budget spending are paused for the + /// entity. + /// - "ENTITY_STATUS_SCHEDULED_FOR_DELETION" : The entity is scheduled for + /// deletion. + core.String? entityStatus; + + /// Settings that control which exchanges are enabled for the partner. + ExchangeConfig? exchangeConfig; + + /// General settings of the partner. + PartnerGeneralConfig? generalConfig; + + /// The resource name of the partner. + /// + /// Output only. + core.String? name; + + /// The unique ID of the partner. + /// + /// Assigned by the system. + /// + /// Output only. + core.String? partnerId; + + /// The timestamp when the partner was last updated. + /// + /// Assigned by the system. + /// + /// Output only. + core.String? updateTime; + + Partner({ + this.adServerConfig, + this.billingConfig, + this.dataAccessConfig, + this.displayName, + this.entityStatus, + this.exchangeConfig, + this.generalConfig, + this.name, + this.partnerId, + this.updateTime, + }); + + Partner.fromJson(core.Map json_) + : this( + adServerConfig: json_.containsKey('adServerConfig') + ? PartnerAdServerConfig.fromJson(json_['adServerConfig'] + as core.Map) + : null, + billingConfig: json_.containsKey('billingConfig') + ? PartnerBillingConfig.fromJson( + json_['billingConfig'] as core.Map) + : null, + dataAccessConfig: json_.containsKey('dataAccessConfig') + ? PartnerDataAccessConfig.fromJson(json_['dataAccessConfig'] + as core.Map) + : null, + displayName: json_['displayName'] as core.String?, + entityStatus: json_['entityStatus'] as core.String?, + exchangeConfig: json_.containsKey('exchangeConfig') + ? ExchangeConfig.fromJson(json_['exchangeConfig'] + as core.Map) + : null, + generalConfig: json_.containsKey('generalConfig') + ? PartnerGeneralConfig.fromJson( + json_['generalConfig'] as core.Map) + : null, + name: json_['name'] as core.String?, + partnerId: json_['partnerId'] as core.String?, + updateTime: json_['updateTime'] as core.String?, + ); + + core.Map toJson() => { + if (adServerConfig != null) 'adServerConfig': adServerConfig!, + if (billingConfig != null) 'billingConfig': billingConfig!, + if (dataAccessConfig != null) 'dataAccessConfig': dataAccessConfig!, + if (displayName != null) 'displayName': displayName!, + if (entityStatus != null) 'entityStatus': entityStatus!, + if (exchangeConfig != null) 'exchangeConfig': exchangeConfig!, + if (generalConfig != null) 'generalConfig': generalConfig!, + if (name != null) 'name': name!, + if (partnerId != null) 'partnerId': partnerId!, + if (updateTime != null) 'updateTime': updateTime!, + }; +} + +/// Ad server related settings of a partner. +class PartnerAdServerConfig { + /// Measurement settings of a partner. + MeasurementConfig? measurementConfig; + + PartnerAdServerConfig({ + this.measurementConfig, + }); + + PartnerAdServerConfig.fromJson(core.Map json_) + : this( + measurementConfig: json_.containsKey('measurementConfig') + ? MeasurementConfig.fromJson(json_['measurementConfig'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (measurementConfig != null) 'measurementConfig': measurementConfig!, + }; +} + +/// Billing related settings of a partner. +typedef PartnerBillingConfig = $PartnerBillingConfig; + +/// Settings that control a partner cost. +/// +/// A partner cost is any type of expense involved in running a campaign, other +/// than the costs of purchasing impressions (which is called the media cost) +/// and using third-party audience segment data (data fee). Some examples of +/// partner costs include the fees for using DV360, a third-party ad server, or +/// a third-party ad serving verification service. +typedef PartnerCost = $PartnerCost; + +/// Settings that control how partner related data may be accessed. +class PartnerDataAccessConfig { + /// Structured Data Files (SDF) settings for the partner. + /// + /// The SDF configuration for the partner. + SdfConfig? sdfConfig; + + PartnerDataAccessConfig({ + this.sdfConfig, + }); + + PartnerDataAccessConfig.fromJson(core.Map json_) + : this( + sdfConfig: json_.containsKey('sdfConfig') + ? SdfConfig.fromJson( + json_['sdfConfig'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (sdfConfig != null) 'sdfConfig': sdfConfig!, + }; +} + +/// General settings of a partner. +typedef PartnerGeneralConfig = $PartnerGeneralConfig; + +/// Settings that control how partner revenue is calculated. +typedef PartnerRevenueModel = $PartnerRevenueModel; + +/// Settings that control the performance goal of a campaign. +typedef PerformanceGoal = $PerformanceGoal; + +/// A strategy that automatically adjusts the bid to meet or beat a specified +/// performance goal. +typedef PerformanceGoalBidStrategy = $PerformanceGoalBidStrategy; + +/// Details for assigned POI targeting option. +/// +/// This will be populated in the details field of an AssignedTargetingOption +/// when targeting_type is `TARGETING_TYPE_POI`. +typedef PoiAssignedTargetingOptionDetails = $PoiAssignedTargetingOptionDetails; + +/// Search terms for POI targeting options. +typedef PoiSearchTerms = $PoiSearchTerms; + +/// Represents a targetable point of interest(POI). +/// +/// This will be populated in the poi_details field when targeting_type is +/// `TARGETING_TYPE_POI`. +typedef PoiTargetingOptionDetails = $PoiTargetingOptionDetails; + +/// Settings specific to the Mediaocean Prisma tool. +class PrismaConfig { + /// Relevant client, product, and estimate codes from the Mediaocean Prisma + /// tool. + /// + /// Required. + PrismaCpeCode? prismaCpeCode; + + /// The Prisma type. + /// + /// Required. + /// Possible string values are: + /// - "PRISMA_TYPE_UNSPECIFIED" : Type is not specified or unknown in this + /// version. + /// - "PRISMA_TYPE_DISPLAY" : Display type. + /// - "PRISMA_TYPE_SEARCH" : Search type. + /// - "PRISMA_TYPE_VIDEO" : Video type. + /// - "PRISMA_TYPE_AUDIO" : Audio type. + /// - "PRISMA_TYPE_SOCIAL" : Social type. + /// - "PRISMA_TYPE_FEE" : Fee type. + core.String? prismaType; + + /// The entity allocated this budget (DSP, site, etc.). + /// + /// Required. + core.String? supplier; + + PrismaConfig({ + this.prismaCpeCode, + this.prismaType, + this.supplier, + }); + + PrismaConfig.fromJson(core.Map json_) + : this( + prismaCpeCode: json_.containsKey('prismaCpeCode') + ? PrismaCpeCode.fromJson( + json_['prismaCpeCode'] as core.Map) + : null, + prismaType: json_['prismaType'] as core.String?, + supplier: json_['supplier'] as core.String?, + ); + + core.Map toJson() => { + if (prismaCpeCode != null) 'prismaCpeCode': prismaCpeCode!, + if (prismaType != null) 'prismaType': prismaType!, + if (supplier != null) 'supplier': supplier!, + }; +} + +/// Google Payments Center supports searching and filtering on the component +/// fields of this code. +typedef PrismaCpeCode = $PrismaCpeCode; + +/// The details of product feed. +class ProductFeedData { + /// Whether the product feed has opted-out of showing products. + core.bool? isFeedDisabled; + + /// A list of dimensions used to match products. + core.List? productMatchDimensions; + + /// How products are selected by the product feed. + /// Possible string values are: + /// - "PRODUCT_MATCH_TYPE_UNSPECIFIED" : Not specified or unknown. + /// - "PRODUCT_MATCH_TYPE_ALL_PRODUCTS" : All the products are matched. + /// - "PRODUCT_MATCH_TYPE_SPECIFIC_PRODUCTS" : Specific products are selected. + /// - "PRODUCT_MATCH_TYPE_CUSTOM_LABEL" : Match products by their custom + /// labels. + core.String? productMatchType; + + ProductFeedData({ + this.isFeedDisabled, + this.productMatchDimensions, + this.productMatchType, + }); + + ProductFeedData.fromJson(core.Map json_) + : this( + isFeedDisabled: json_['isFeedDisabled'] as core.bool?, + productMatchDimensions: + (json_['productMatchDimensions'] as core.List?) + ?.map((value) => ProductMatchDimension.fromJson( + value as core.Map)) + .toList(), + productMatchType: json_['productMatchType'] as core.String?, + ); + + core.Map toJson() => { + if (isFeedDisabled != null) 'isFeedDisabled': isFeedDisabled!, + if (productMatchDimensions != null) + 'productMatchDimensions': productMatchDimensions!, + if (productMatchType != null) 'productMatchType': productMatchType!, + }; +} + +/// A dimension used to match products. +class ProductMatchDimension { + /// The custom label to match all the products with the label. + CustomLabel? customLabel; + + /// The ID of the product offer to match with a product with the same offer + /// ID. + core.String? productOfferId; + + ProductMatchDimension({ + this.customLabel, + this.productOfferId, + }); + + ProductMatchDimension.fromJson(core.Map json_) + : this( + customLabel: json_.containsKey('customLabel') + ? CustomLabel.fromJson( + json_['customLabel'] as core.Map) + : null, + productOfferId: json_['productOfferId'] as core.String?, + ); + + core.Map toJson() => { + if (customLabel != null) 'customLabel': customLabel!, + if (productOfferId != null) 'productOfferId': productOfferId!, + }; +} + +/// 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`. +typedef ProximityLocationListAssignedTargetingOptionDetails + = $ProximityLocationListAssignedTargetingOptionDetails; + +/// The rate related settings of the inventory source. +class RateDetails { + /// The rate type. + /// + /// Acceptable values are `INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED`, + /// `INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR`, and + /// `INVENTORY_SOURCE_RATE_TYPE_CPD`. + /// Possible string values are: + /// - "INVENTORY_SOURCE_RATE_TYPE_UNSPECIFIED" : The rate type is not + /// specified or is unknown in this version. + /// - "INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED" : The rate type is CPM (Fixed). + /// - "INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR" : The rate type is CPM (Floor). + /// - "INVENTORY_SOURCE_RATE_TYPE_CPD" : The rate type is Cost per Day. + /// - "INVENTORY_SOURCE_RATE_TYPE_FLAT" : The rate type is Flat. + core.String? inventorySourceRateType; + + /// The amount that the buyer has committed to spending on the inventory + /// source up front. + /// + /// Only applicable for guaranteed inventory sources. + /// + /// Output only. + Money? minimumSpend; + + /// The rate for the inventory source. + Money? rate; + + /// Required for guaranteed inventory sources. + /// + /// The number of impressions guaranteed by the seller. + core.String? unitsPurchased; + + RateDetails({ + this.inventorySourceRateType, + this.minimumSpend, + this.rate, + this.unitsPurchased, + }); + + RateDetails.fromJson(core.Map json_) + : this( + inventorySourceRateType: + json_['inventorySourceRateType'] as core.String?, + minimumSpend: json_.containsKey('minimumSpend') + ? Money.fromJson( + json_['minimumSpend'] as core.Map) + : null, + rate: json_.containsKey('rate') + ? Money.fromJson( + json_['rate'] as core.Map) + : null, + unitsPurchased: json_['unitsPurchased'] as core.String?, + ); + + core.Map toJson() => { + if (inventorySourceRateType != null) + 'inventorySourceRateType': inventorySourceRateType!, + if (minimumSpend != null) 'minimumSpend': minimumSpend!, + if (rate != null) 'rate': rate!, + if (unitsPurchased != null) 'unitsPurchased': unitsPurchased!, + }; +} + +/// 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`. +typedef RegionalLocationListAssignedTargetingOptionDetails + = $RegionalLocationListAssignedTargetingOptionDetails; + +/// Settings that control the whether remarketing is enabled for the given +/// identified advertiser. +typedef RemarketingConfig = $RemarketingConfig; + +/// Request message for NegativeKeywordService.ReplaceNegativeKeywords. +class ReplaceNegativeKeywordsRequest { + /// The negative keywords that will replace the existing keywords in the + /// negative keyword list, specified as a list of NegativeKeywords. + core.List? newNegativeKeywords; + + ReplaceNegativeKeywordsRequest({ + this.newNegativeKeywords, + }); + + ReplaceNegativeKeywordsRequest.fromJson(core.Map json_) + : this( + newNegativeKeywords: (json_['newNegativeKeywords'] as core.List?) + ?.map((value) => NegativeKeyword.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (newNegativeKeywords != null) + 'newNegativeKeywords': newNegativeKeywords!, + }; +} + +/// Response message for NegativeKeywordService.ReplaceNegativeKeywords. +class ReplaceNegativeKeywordsResponse { + /// The full list of negative keywords now present in the negative keyword + /// list. + core.List? negativeKeywords; + + ReplaceNegativeKeywordsResponse({ + this.negativeKeywords, + }); + + ReplaceNegativeKeywordsResponse.fromJson(core.Map json_) + : this( + negativeKeywords: (json_['negativeKeywords'] as core.List?) + ?.map((value) => NegativeKeyword.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (negativeKeywords != null) 'negativeKeywords': negativeKeywords!, + }; +} + +/// Request message for SiteService.ReplaceSites. +class ReplaceSitesRequest { + /// The ID of the advertiser that owns the parent channel. + core.String? advertiserId; + + /// The sites that will replace the existing sites assigned to the channel, + /// specified as a list of Sites. + core.List? newSites; + + /// The ID of the partner that owns the parent channel. + core.String? partnerId; + + ReplaceSitesRequest({ + this.advertiserId, + this.newSites, + this.partnerId, + }); + + ReplaceSitesRequest.fromJson(core.Map json_) + : this( + advertiserId: json_['advertiserId'] as core.String?, + newSites: (json_['newSites'] as core.List?) + ?.map((value) => + Site.fromJson(value as core.Map)) + .toList(), + partnerId: json_['partnerId'] as core.String?, + ); + + core.Map toJson() => { + if (advertiserId != null) 'advertiserId': advertiserId!, + if (newSites != null) 'newSites': newSites!, + if (partnerId != null) 'partnerId': partnerId!, + }; +} + +/// Response message for SiteService.ReplaceSites. +class ReplaceSitesResponse { + /// The list of sites in the channel after replacing. + core.List? sites; + + ReplaceSitesResponse({ + this.sites, + }); + + ReplaceSitesResponse.fromJson(core.Map json_) + : this( + sites: (json_['sites'] as core.List?) + ?.map((value) => + Site.fromJson(value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (sites != null) 'sites': sites!, + }; +} + +/// Review statuses for the creative. +class ReviewStatusInfo { + /// Represents the basic approval needed for a creative to begin serving. + /// + /// Summary of creative_and_landing_page_review_status and + /// content_and_policy_review_status. + /// Possible string values are: + /// - "APPROVAL_STATUS_UNSPECIFIED" : Type value is not specified or is + /// unknown in this version. + /// - "APPROVAL_STATUS_PENDING_NOT_SERVABLE" : The creative is still under + /// review and not servable. + /// - "APPROVAL_STATUS_PENDING_SERVABLE" : The creative has passed creative & + /// landing page review and is servable, but is awaiting additional content & + /// policy review. + /// - "APPROVAL_STATUS_APPROVED_SERVABLE" : Both creative & landing page + /// review and content & policy review are approved. The creative is servable. + /// - "APPROVAL_STATUS_REJECTED_NOT_SERVABLE" : There is an issue with the + /// creative that must be fixed before it can serve. + core.String? approvalStatus; + + /// Content and policy review status for the creative. + /// Possible string values are: + /// - "REVIEW_STATUS_UNSPECIFIED" : Type value is not specified or is unknown + /// in this version. + /// - "REVIEW_STATUS_APPROVED" : The creative is approved. + /// - "REVIEW_STATUS_REJECTED" : The creative is rejected. + /// - "REVIEW_STATUS_PENDING" : The creative is pending review. + core.String? contentAndPolicyReviewStatus; + + /// Creative and landing page review status for the creative. + /// Possible string values are: + /// - "REVIEW_STATUS_UNSPECIFIED" : Type value is not specified or is unknown + /// in this version. + /// - "REVIEW_STATUS_APPROVED" : The creative is approved. + /// - "REVIEW_STATUS_REJECTED" : The creative is rejected. + /// - "REVIEW_STATUS_PENDING" : The creative is pending review. + core.String? creativeAndLandingPageReviewStatus; + + /// Exchange review statuses for the creative. + core.List? exchangeReviewStatuses; + + ReviewStatusInfo({ + this.approvalStatus, + this.contentAndPolicyReviewStatus, + this.creativeAndLandingPageReviewStatus, + this.exchangeReviewStatuses, + }); + + ReviewStatusInfo.fromJson(core.Map json_) + : this( + approvalStatus: json_['approvalStatus'] as core.String?, + contentAndPolicyReviewStatus: + json_['contentAndPolicyReviewStatus'] as core.String?, + creativeAndLandingPageReviewStatus: + json_['creativeAndLandingPageReviewStatus'] as core.String?, + exchangeReviewStatuses: + (json_['exchangeReviewStatuses'] as core.List?) + ?.map((value) => ExchangeReviewStatus.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (approvalStatus != null) 'approvalStatus': approvalStatus!, + if (contentAndPolicyReviewStatus != null) + 'contentAndPolicyReviewStatus': contentAndPolicyReviewStatus!, + if (creativeAndLandingPageReviewStatus != null) + 'creativeAndLandingPageReviewStatus': + creativeAndLandingPageReviewStatus!, + if (exchangeReviewStatuses != null) + 'exchangeReviewStatuses': exchangeReviewStatuses!, + }; +} + +/// An error message for a custom bidding script. +typedef ScriptError = $ScriptError; + +/// Structured Data File (SDF) related settings. +typedef SdfConfig = $SdfConfig; + +/// Request message for SearchTargetingOptions. +class SearchTargetingOptionsRequest { + /// The Advertiser this request is being made in the context of. + /// + /// Required. + core.String? advertiserId; + + /// Search terms for Business Chain targeting options. + /// + /// Can only be used when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. + BusinessChainSearchTerms? businessChainSearchTerms; + + /// Search terms for geo region targeting options. + /// + /// Can only be used when targeting_type is `TARGETING_TYPE_GEO_REGION`. + GeoRegionSearchTerms? geoRegionSearchTerms; + + /// Requested page size. + /// + /// Must be between `1` and `200`. If unspecified will default to `100`. + /// Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + core.int? pageSize; + + /// 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 `SearchTargetingOptions` method. If not specified, the first page + /// of results will be returned. + core.String? pageToken; + + /// Search terms for POI targeting options. + /// + /// Can only be used when targeting_type is `TARGETING_TYPE_POI`. + PoiSearchTerms? poiSearchTerms; + + SearchTargetingOptionsRequest({ + this.advertiserId, + this.businessChainSearchTerms, + this.geoRegionSearchTerms, + this.pageSize, + this.pageToken, + this.poiSearchTerms, + }); + + SearchTargetingOptionsRequest.fromJson(core.Map json_) + : this( + advertiserId: json_['advertiserId'] as core.String?, + businessChainSearchTerms: + json_.containsKey('businessChainSearchTerms') + ? BusinessChainSearchTerms.fromJson( + json_['businessChainSearchTerms'] + as core.Map) + : null, + geoRegionSearchTerms: json_.containsKey('geoRegionSearchTerms') + ? GeoRegionSearchTerms.fromJson(json_['geoRegionSearchTerms'] + as core.Map) + : null, + pageSize: json_['pageSize'] as core.int?, + pageToken: json_['pageToken'] as core.String?, + poiSearchTerms: json_.containsKey('poiSearchTerms') + ? PoiSearchTerms.fromJson(json_['poiSearchTerms'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (advertiserId != null) 'advertiserId': advertiserId!, + if (businessChainSearchTerms != null) + 'businessChainSearchTerms': businessChainSearchTerms!, + if (geoRegionSearchTerms != null) + 'geoRegionSearchTerms': geoRegionSearchTerms!, + if (pageSize != null) 'pageSize': pageSize!, + if (pageToken != null) 'pageToken': pageToken!, + if (poiSearchTerms != null) 'poiSearchTerms': poiSearchTerms!, + }; +} + +/// Response message for SearchTargetingOptions. +class SearchTargetingOptionsResponse { + /// A token to retrieve the next page of results. + /// + /// Pass this value in the page_token field in the subsequent call to + /// `SearchTargetingOptions` method to retrieve the next page of results. + core.String? nextPageToken; + + /// The list of targeting options that match the search criteria. + /// + /// This list will be absent if empty. + core.List? targetingOptions; + + SearchTargetingOptionsResponse({ + this.nextPageToken, + this.targetingOptions, + }); + + SearchTargetingOptionsResponse.fromJson(core.Map json_) + : this( + nextPageToken: json_['nextPageToken'] as core.String?, + targetingOptions: (json_['targetingOptions'] as core.List?) + ?.map((value) => TargetingOption.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (targetingOptions != null) 'targetingOptions': targetingOptions!, + }; +} + +/// 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`. +typedef SensitiveCategoryAssignedTargetingOptionDetails + = $SensitiveCategoryAssignedTargetingOptionDetails; + +/// Represents a targetable sensitive category. +/// +/// This will be populated in the sensitive_category_details field of the +/// TargetingOption when targeting_type is +/// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`. +typedef SensitiveCategoryTargetingOptionDetails + = $SensitiveCategoryTargetingOptionDetails; + +/// Details for session position assigned targeting option. +/// +/// This will be populated in the session_position_details field when +/// targeting_type is `TARGETING_TYPE_SESSION_POSITION`. +typedef SessionPositionAssignedTargetingOptionDetails + = $SessionPositionAssignedTargetingOptionDetails; + +/// A single site. +/// +/// Sites are apps or websites belonging to a channel. +typedef Site = $Site; + +/// The `Status` type defines a logical error model that is suitable for +/// different programming environments, including REST APIs and RPC APIs. +/// +/// It is used by [gRPC](https://github.com/grpc). Each `Status` message +/// contains three pieces of data: error code, error message, and error details. +/// You can find out more about this error model and how to work with it in the +/// [API Design Guide](https://cloud.google.com/apis/design/errors). +typedef Status = $Status00; + +/// 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`. +typedef SubExchangeAssignedTargetingOptionDetails + = $SubExchangeAssignedTargetingOptionDetails; + +/// Represents a targetable sub-exchange. +/// +/// This will be populated in the sub_exchange_details field of a +/// TargetingOption when targeting_type is `TARGETING_TYPE_SUB_EXCHANGE`. +typedef SubExchangeTargetingOptionDetails = $SubExchangeTargetingOptionDetails; + +/// Setting that controls the average number of times the ads will show to the +/// same person over a certain period of time. +typedef TargetFrequency = $TargetFrequency; + +/// Settings that control the \[optimized +/// targeting\](//support.google.com/displayvideo/answer/12060859) settings of +/// the line item. +typedef TargetingExpansionConfig = $TargetingExpansionConfig; + +/// Represents a single targeting option, which is a targetable concept in +/// DV360. +class TargetingOption { + /// Age range details. + AgeRangeTargetingOptionDetails? ageRangeDetails; + + /// App category details. + AppCategoryTargetingOptionDetails? appCategoryDetails; + + /// Audio content type details. + AudioContentTypeTargetingOptionDetails? audioContentTypeDetails; + + /// Authorized seller status resource details. + AuthorizedSellerStatusTargetingOptionDetails? authorizedSellerStatusDetails; + + /// Browser details. + BrowserTargetingOptionDetails? browserDetails; + + /// Business chain resource details. + BusinessChainTargetingOptionDetails? businessChainDetails; + + /// Carrier and ISP details. + CarrierAndIspTargetingOptionDetails? carrierAndIspDetails; + + /// Category resource details. + CategoryTargetingOptionDetails? categoryDetails; + + /// Content duration resource details. + ContentDurationTargetingOptionDetails? contentDurationDetails; + + /// Content genre resource details. + ContentGenreTargetingOptionDetails? contentGenreDetails; + + /// Content instream position details. + ContentInstreamPositionTargetingOptionDetails? contentInstreamPositionDetails; + + /// Content outstream position details. + ContentOutstreamPositionTargetingOptionDetails? + contentOutstreamPositionDetails; + + /// Content stream type resource details. + ContentStreamTypeTargetingOptionDetails? contentStreamTypeDetails; + + /// Device make and model resource details. + DeviceMakeModelTargetingOptionDetails? deviceMakeModelDetails; + + /// Device type details. + DeviceTypeTargetingOptionDetails? deviceTypeDetails; + + /// Digital content label details. + DigitalContentLabelTargetingOptionDetails? digitalContentLabelDetails; + + /// Environment details. + EnvironmentTargetingOptionDetails? environmentDetails; + + /// Exchange details. + ExchangeTargetingOptionDetails? exchangeDetails; + + /// Gender details. + GenderTargetingOptionDetails? genderDetails; + + /// Geographic region resource details. + GeoRegionTargetingOptionDetails? geoRegionDetails; + + /// Household income details. + HouseholdIncomeTargetingOptionDetails? householdIncomeDetails; + + /// Language resource details. + LanguageTargetingOptionDetails? languageDetails; + + /// The resource name for this targeting option. + /// + /// Output only. + core.String? name; + + /// Native content position details. + NativeContentPositionTargetingOptionDetails? nativeContentPositionDetails; + + /// Open Measurement enabled inventory details. + OmidTargetingOptionDetails? omidDetails; + + /// On screen position details. + OnScreenPositionTargetingOptionDetails? onScreenPositionDetails; + + /// Operating system resources details. + OperatingSystemTargetingOptionDetails? operatingSystemDetails; + + /// Parental status details. + ParentalStatusTargetingOptionDetails? parentalStatusDetails; + + /// POI resource details. + PoiTargetingOptionDetails? poiDetails; + + /// Sensitive Category details. + SensitiveCategoryTargetingOptionDetails? sensitiveCategoryDetails; + + /// Sub-exchange details. + SubExchangeTargetingOptionDetails? subExchangeDetails; + + /// A unique identifier for this targeting option. + /// + /// The tuple {`targeting_type`, `targeting_option_id`} will be unique. + /// + /// Output only. + core.String? targetingOptionId; + + /// The type of this targeting option. + /// + /// Output only. + /// Possible string values are: + /// - "TARGETING_TYPE_UNSPECIFIED" : Default value when type is not specified + /// or is unknown in this version. + /// - "TARGETING_TYPE_CHANNEL" : Target a channel (a custom group of related + /// websites or apps). + /// - "TARGETING_TYPE_APP_CATEGORY" : Target an app category (for example, + /// education or puzzle games). + /// - "TARGETING_TYPE_APP" : Target a specific app (for example, Angry Birds). + /// - "TARGETING_TYPE_URL" : Target a specific url (for example, quora.com). + /// - "TARGETING_TYPE_DAY_AND_TIME" : Target ads during a chosen time period + /// on a specific day. + /// - "TARGETING_TYPE_AGE_RANGE" : Target ads to a specific age range (for + /// example, 18-24). + /// - "TARGETING_TYPE_REGIONAL_LOCATION_LIST" : Target ads to the specified + /// regions on a regional location list. + /// - "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" : Target ads to the specified + /// points of interest on a proximity location list. + /// - "TARGETING_TYPE_GENDER" : Target ads to a specific gender (for example, + /// female or male). + /// - "TARGETING_TYPE_VIDEO_PLAYER_SIZE" : Target a specific video player size + /// for video ads. + /// - "TARGETING_TYPE_USER_REWARDED_CONTENT" : Target user rewarded content + /// for video ads. + /// - "TARGETING_TYPE_PARENTAL_STATUS" : Target ads to a specific parental + /// status (for example, parent or not a parent). + /// - "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" : Target video or audio ads + /// in a specific content instream position (for example, pre-roll, mid-roll, + /// or post-roll). + /// - "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" : Target ads in a specific + /// content outstream position. + /// - "TARGETING_TYPE_DEVICE_TYPE" : Target ads to a specific device type (for + /// example, tablet or connected TV). + /// - "TARGETING_TYPE_AUDIENCE_GROUP" : Target ads to an audience or groups of + /// audiences. Singleton field, at most one can exist on a single Lineitem at + /// a time. + /// - "TARGETING_TYPE_BROWSER" : Target ads to specific web browsers (for + /// example, Chrome). + /// - "TARGETING_TYPE_HOUSEHOLD_INCOME" : Target ads to a specific household + /// income range (for example, top 10%). + /// - "TARGETING_TYPE_ON_SCREEN_POSITION" : Target ads in a specific on screen + /// position. + /// - "TARGETING_TYPE_THIRD_PARTY_VERIFIER" : Filter web sites through third + /// party verification (for example, IAS or DoubleVerify). + /// - "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" : Filter web sites by + /// specific digital content label ratings (for example, DL-MA: suitable only + /// for mature audiences). + /// - "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" : Filter website content + /// by sensitive categories (for example, adult). + /// - "TARGETING_TYPE_ENVIRONMENT" : Target ads to a specific environment (for + /// example, web or app). + /// - "TARGETING_TYPE_CARRIER_AND_ISP" : Target ads to a specific network + /// carrier or internet service provider (ISP) (for example, Comcast or + /// Orange). + /// - "TARGETING_TYPE_OPERATING_SYSTEM" : Target ads to a specific operating + /// system (for example, macOS). + /// - "TARGETING_TYPE_DEVICE_MAKE_MODEL" : Target ads to a specific device + /// make or model (for example, Roku or Samsung). + /// - "TARGETING_TYPE_KEYWORD" : Target ads to a specific keyword (for + /// example, dog or retriever). + /// - "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" : Target ads to a specific + /// negative keyword list. + /// - "TARGETING_TYPE_VIEWABILITY" : Target ads to a specific viewability (for + /// example, 80% viewable). + /// - "TARGETING_TYPE_CATEGORY" : Target ads to a specific content category + /// (for example, arts & entertainment). + /// - "TARGETING_TYPE_INVENTORY_SOURCE" : Purchase impressions from specific + /// deals and auction packages. + /// - "TARGETING_TYPE_LANGUAGE" : Target ads to a specific language (for + /// example, English or Japanese). + /// - "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" : Target ads to ads.txt + /// authorized sellers. If no targeting option of this type is assigned, the + /// resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// - "TARGETING_TYPE_GEO_REGION" : Target ads to a specific regional location + /// (for example, a city or state). + /// - "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" : Purchase impressions from a + /// group of deals and auction packages. + /// - "TARGETING_TYPE_EXCHANGE" : Purchase impressions from specific + /// exchanges. + /// - "TARGETING_TYPE_SUB_EXCHANGE" : Purchase impressions from specific + /// sub-exchanges. + /// - "TARGETING_TYPE_POI" : Target ads around a specific point of interest, + /// such as a notable building, a street address, or latitude/longitude + /// coordinates. + /// - "TARGETING_TYPE_BUSINESS_CHAIN" : Target ads around locations of a + /// business chain within a specific geo region. + /// - "TARGETING_TYPE_CONTENT_DURATION" : Target ads to a specific video + /// content duration. + /// - "TARGETING_TYPE_CONTENT_STREAM_TYPE" : Target ads to a specific video + /// content stream type. + /// - "TARGETING_TYPE_NATIVE_CONTENT_POSITION" : Target ads to a specific + /// native content position. + /// - "TARGETING_TYPE_OMID" : Target ads in an Open Measurement enabled + /// inventory. + /// - "TARGETING_TYPE_AUDIO_CONTENT_TYPE" : Target ads to a specific audio + /// content type. + /// - "TARGETING_TYPE_CONTENT_GENRE" : Target ads to a specific content genre. + /// - "TARGETING_TYPE_YOUTUBE_VIDEO" : Target ads to a specific YouTube video. + /// Targeting of this type cannot be created or updated using the API. + /// Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_YOUTUBE_CHANNEL" : Target ads to a specific YouTube + /// channel. Targeting of this type cannot be created or updated using the + /// API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// - "TARGETING_TYPE_SESSION_POSITION" : Target ads to a serve it in a + /// certain position of a session. Only supported for Ad Group resources under + /// YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + core.String? targetingType; + + /// User rewarded content details. + UserRewardedContentTargetingOptionDetails? userRewardedContentDetails; + + /// Video player size details. + VideoPlayerSizeTargetingOptionDetails? videoPlayerSizeDetails; + + /// Viewability resource details. + ViewabilityTargetingOptionDetails? viewabilityDetails; + + TargetingOption({ + this.ageRangeDetails, + this.appCategoryDetails, + this.audioContentTypeDetails, + this.authorizedSellerStatusDetails, + this.browserDetails, + this.businessChainDetails, + this.carrierAndIspDetails, + this.categoryDetails, + this.contentDurationDetails, + this.contentGenreDetails, + this.contentInstreamPositionDetails, + this.contentOutstreamPositionDetails, + this.contentStreamTypeDetails, + this.deviceMakeModelDetails, + this.deviceTypeDetails, + this.digitalContentLabelDetails, + this.environmentDetails, + this.exchangeDetails, + this.genderDetails, + this.geoRegionDetails, + this.householdIncomeDetails, + this.languageDetails, + this.name, + this.nativeContentPositionDetails, + this.omidDetails, + this.onScreenPositionDetails, + this.operatingSystemDetails, + this.parentalStatusDetails, + this.poiDetails, + this.sensitiveCategoryDetails, + this.subExchangeDetails, + this.targetingOptionId, + this.targetingType, + this.userRewardedContentDetails, + this.videoPlayerSizeDetails, + this.viewabilityDetails, + }); + + TargetingOption.fromJson(core.Map json_) + : this( + ageRangeDetails: json_.containsKey('ageRangeDetails') + ? AgeRangeTargetingOptionDetails.fromJson(json_['ageRangeDetails'] + as core.Map) + : null, + appCategoryDetails: json_.containsKey('appCategoryDetails') + ? AppCategoryTargetingOptionDetails.fromJson( + json_['appCategoryDetails'] + as core.Map) + : null, + audioContentTypeDetails: json_.containsKey('audioContentTypeDetails') + ? AudioContentTypeTargetingOptionDetails.fromJson( + json_['audioContentTypeDetails'] + as core.Map) + : null, + authorizedSellerStatusDetails: + json_.containsKey('authorizedSellerStatusDetails') + ? AuthorizedSellerStatusTargetingOptionDetails.fromJson( + json_['authorizedSellerStatusDetails'] + as core.Map) + : null, + browserDetails: json_.containsKey('browserDetails') + ? BrowserTargetingOptionDetails.fromJson(json_['browserDetails'] + as core.Map) + : null, + businessChainDetails: json_.containsKey('businessChainDetails') + ? BusinessChainTargetingOptionDetails.fromJson( + json_['businessChainDetails'] + as core.Map) + : null, + carrierAndIspDetails: json_.containsKey('carrierAndIspDetails') + ? CarrierAndIspTargetingOptionDetails.fromJson( + json_['carrierAndIspDetails'] + as core.Map) + : null, + categoryDetails: json_.containsKey('categoryDetails') + ? CategoryTargetingOptionDetails.fromJson(json_['categoryDetails'] + as core.Map) + : null, + contentDurationDetails: json_.containsKey('contentDurationDetails') + ? ContentDurationTargetingOptionDetails.fromJson( + json_['contentDurationDetails'] + as core.Map) + : null, + contentGenreDetails: json_.containsKey('contentGenreDetails') + ? ContentGenreTargetingOptionDetails.fromJson( + json_['contentGenreDetails'] + as core.Map) + : null, + contentInstreamPositionDetails: + json_.containsKey('contentInstreamPositionDetails') + ? ContentInstreamPositionTargetingOptionDetails.fromJson( + json_['contentInstreamPositionDetails'] + as core.Map) + : null, + contentOutstreamPositionDetails: + json_.containsKey('contentOutstreamPositionDetails') + ? ContentOutstreamPositionTargetingOptionDetails.fromJson( + json_['contentOutstreamPositionDetails'] + as core.Map) + : null, + contentStreamTypeDetails: + json_.containsKey('contentStreamTypeDetails') + ? ContentStreamTypeTargetingOptionDetails.fromJson( + json_['contentStreamTypeDetails'] + as core.Map) + : null, + deviceMakeModelDetails: json_.containsKey('deviceMakeModelDetails') + ? DeviceMakeModelTargetingOptionDetails.fromJson( + json_['deviceMakeModelDetails'] + as core.Map) + : null, + deviceTypeDetails: json_.containsKey('deviceTypeDetails') + ? DeviceTypeTargetingOptionDetails.fromJson( + json_['deviceTypeDetails'] + as core.Map) + : null, + digitalContentLabelDetails: + json_.containsKey('digitalContentLabelDetails') + ? DigitalContentLabelTargetingOptionDetails.fromJson( + json_['digitalContentLabelDetails'] + as core.Map) + : null, + environmentDetails: json_.containsKey('environmentDetails') + ? EnvironmentTargetingOptionDetails.fromJson( + json_['environmentDetails'] + as core.Map) + : null, + exchangeDetails: json_.containsKey('exchangeDetails') + ? ExchangeTargetingOptionDetails.fromJson(json_['exchangeDetails'] + as core.Map) + : null, + genderDetails: json_.containsKey('genderDetails') + ? GenderTargetingOptionDetails.fromJson( + json_['genderDetails'] as core.Map) + : null, + geoRegionDetails: json_.containsKey('geoRegionDetails') + ? GeoRegionTargetingOptionDetails.fromJson( + json_['geoRegionDetails'] + as core.Map) + : null, + householdIncomeDetails: json_.containsKey('householdIncomeDetails') + ? HouseholdIncomeTargetingOptionDetails.fromJson( + json_['householdIncomeDetails'] + as core.Map) + : null, + languageDetails: json_.containsKey('languageDetails') + ? LanguageTargetingOptionDetails.fromJson(json_['languageDetails'] + as core.Map) + : null, + name: json_['name'] as core.String?, + nativeContentPositionDetails: + json_.containsKey('nativeContentPositionDetails') + ? NativeContentPositionTargetingOptionDetails.fromJson( + json_['nativeContentPositionDetails'] + as core.Map) + : null, + omidDetails: json_.containsKey('omidDetails') + ? OmidTargetingOptionDetails.fromJson( + json_['omidDetails'] as core.Map) + : null, + onScreenPositionDetails: json_.containsKey('onScreenPositionDetails') + ? OnScreenPositionTargetingOptionDetails.fromJson( + json_['onScreenPositionDetails'] + as core.Map) + : null, + operatingSystemDetails: json_.containsKey('operatingSystemDetails') + ? OperatingSystemTargetingOptionDetails.fromJson( + json_['operatingSystemDetails'] + as core.Map) + : null, + parentalStatusDetails: json_.containsKey('parentalStatusDetails') + ? ParentalStatusTargetingOptionDetails.fromJson( + json_['parentalStatusDetails'] + as core.Map) + : null, + poiDetails: json_.containsKey('poiDetails') + ? PoiTargetingOptionDetails.fromJson( + json_['poiDetails'] as core.Map) + : null, + sensitiveCategoryDetails: + json_.containsKey('sensitiveCategoryDetails') + ? SensitiveCategoryTargetingOptionDetails.fromJson( + json_['sensitiveCategoryDetails'] + as core.Map) + : null, + subExchangeDetails: json_.containsKey('subExchangeDetails') + ? SubExchangeTargetingOptionDetails.fromJson( + json_['subExchangeDetails'] + as core.Map) + : null, + targetingOptionId: json_['targetingOptionId'] as core.String?, + targetingType: json_['targetingType'] as core.String?, + userRewardedContentDetails: + json_.containsKey('userRewardedContentDetails') + ? UserRewardedContentTargetingOptionDetails.fromJson( + json_['userRewardedContentDetails'] + as core.Map) + : null, + videoPlayerSizeDetails: json_.containsKey('videoPlayerSizeDetails') + ? VideoPlayerSizeTargetingOptionDetails.fromJson( + json_['videoPlayerSizeDetails'] + as core.Map) + : null, + viewabilityDetails: json_.containsKey('viewabilityDetails') + ? ViewabilityTargetingOptionDetails.fromJson( + json_['viewabilityDetails'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (ageRangeDetails != null) 'ageRangeDetails': ageRangeDetails!, + if (appCategoryDetails != null) + 'appCategoryDetails': appCategoryDetails!, + if (audioContentTypeDetails != null) + 'audioContentTypeDetails': audioContentTypeDetails!, + if (authorizedSellerStatusDetails != null) + 'authorizedSellerStatusDetails': authorizedSellerStatusDetails!, + if (browserDetails != null) 'browserDetails': browserDetails!, + if (businessChainDetails != null) + 'businessChainDetails': businessChainDetails!, + if (carrierAndIspDetails != null) + 'carrierAndIspDetails': carrierAndIspDetails!, + if (categoryDetails != null) 'categoryDetails': categoryDetails!, + if (contentDurationDetails != null) + 'contentDurationDetails': contentDurationDetails!, + if (contentGenreDetails != null) + 'contentGenreDetails': contentGenreDetails!, + if (contentInstreamPositionDetails != null) + 'contentInstreamPositionDetails': contentInstreamPositionDetails!, + if (contentOutstreamPositionDetails != null) + 'contentOutstreamPositionDetails': contentOutstreamPositionDetails!, + if (contentStreamTypeDetails != null) + 'contentStreamTypeDetails': contentStreamTypeDetails!, + if (deviceMakeModelDetails != null) + 'deviceMakeModelDetails': deviceMakeModelDetails!, + if (deviceTypeDetails != null) 'deviceTypeDetails': deviceTypeDetails!, + if (digitalContentLabelDetails != null) + 'digitalContentLabelDetails': digitalContentLabelDetails!, + if (environmentDetails != null) + 'environmentDetails': environmentDetails!, + if (exchangeDetails != null) 'exchangeDetails': exchangeDetails!, + if (genderDetails != null) 'genderDetails': genderDetails!, + if (geoRegionDetails != null) 'geoRegionDetails': geoRegionDetails!, + if (householdIncomeDetails != null) + 'householdIncomeDetails': householdIncomeDetails!, + if (languageDetails != null) 'languageDetails': languageDetails!, + if (name != null) 'name': name!, + if (nativeContentPositionDetails != null) + 'nativeContentPositionDetails': nativeContentPositionDetails!, + if (omidDetails != null) 'omidDetails': omidDetails!, + if (onScreenPositionDetails != null) + 'onScreenPositionDetails': onScreenPositionDetails!, + if (operatingSystemDetails != null) + 'operatingSystemDetails': operatingSystemDetails!, + if (parentalStatusDetails != null) + 'parentalStatusDetails': parentalStatusDetails!, + if (poiDetails != null) 'poiDetails': poiDetails!, + if (sensitiveCategoryDetails != null) + 'sensitiveCategoryDetails': sensitiveCategoryDetails!, + if (subExchangeDetails != null) + 'subExchangeDetails': subExchangeDetails!, + if (targetingOptionId != null) 'targetingOptionId': targetingOptionId!, + if (targetingType != null) 'targetingType': targetingType!, + if (userRewardedContentDetails != null) + 'userRewardedContentDetails': userRewardedContentDetails!, + if (videoPlayerSizeDetails != null) + 'videoPlayerSizeDetails': videoPlayerSizeDetails!, + if (viewabilityDetails != null) + 'viewabilityDetails': viewabilityDetails!, + }; +} + +/// Settings that control what third-party vendors are measuring specific line +/// item metrics. +class ThirdPartyMeasurementConfigs { + /// The third-party vendors measuring brand lift. + /// + /// The following third-party vendors are applicable: * + /// `THIRD_PARTY_VENDOR_DYNATA` * `THIRD_PARTY_VENDOR_KANTAR` + /// + /// Optional. + core.List? brandLiftVendorConfigs; + + /// The third-party vendors measuring brand safety. + /// + /// The following third-party vendors are applicable: * + /// `THIRD_PARTY_VENDOR_ZERF` * `THIRD_PARTY_VENDOR_DOUBLE_VERIFY` * + /// `THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE` + /// + /// Optional. + core.List? brandSafetyVendorConfigs; + + /// The third-party vendors measuring reach. + /// + /// The following third-party vendors are applicable: * + /// `THIRD_PARTY_VENDOR_NIELSEN` * `THIRD_PARTY_VENDOR_COMSCORE` * + /// `THIRD_PARTY_VENDOR_KANTAR` + /// + /// Optional. + core.List? reachVendorConfigs; + + /// The third-party vendors measuring viewability. + /// + /// The following third-party vendors are applicable: * + /// `THIRD_PARTY_VENDOR_MOAT` * `THIRD_PARTY_VENDOR_DOUBLE_VERIFY` * + /// `THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE` * `THIRD_PARTY_VENDOR_COMSCORE` * + /// `THIRD_PARTY_VENDOR_TELEMETRY` * `THIRD_PARTY_VENDOR_MEETRICS` + /// + /// Optional. + core.List? viewabilityVendorConfigs; + + ThirdPartyMeasurementConfigs({ + this.brandLiftVendorConfigs, + this.brandSafetyVendorConfigs, + this.reachVendorConfigs, + this.viewabilityVendorConfigs, + }); + + ThirdPartyMeasurementConfigs.fromJson(core.Map json_) + : this( + brandLiftVendorConfigs: + (json_['brandLiftVendorConfigs'] as core.List?) + ?.map((value) => ThirdPartyVendorConfig.fromJson( + value as core.Map)) + .toList(), + brandSafetyVendorConfigs: + (json_['brandSafetyVendorConfigs'] as core.List?) + ?.map((value) => ThirdPartyVendorConfig.fromJson( + value as core.Map)) + .toList(), + reachVendorConfigs: (json_['reachVendorConfigs'] as core.List?) + ?.map((value) => ThirdPartyVendorConfig.fromJson( + value as core.Map)) + .toList(), + viewabilityVendorConfigs: + (json_['viewabilityVendorConfigs'] as core.List?) + ?.map((value) => ThirdPartyVendorConfig.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (brandLiftVendorConfigs != null) + 'brandLiftVendorConfigs': brandLiftVendorConfigs!, + if (brandSafetyVendorConfigs != null) + 'brandSafetyVendorConfigs': brandSafetyVendorConfigs!, + if (reachVendorConfigs != null) + 'reachVendorConfigs': reachVendorConfigs!, + if (viewabilityVendorConfigs != null) + 'viewabilityVendorConfigs': viewabilityVendorConfigs!, + }; +} + +/// Settings for advertisers that use third-party ad servers only. +typedef ThirdPartyOnlyConfig = $ThirdPartyOnlyConfig; + +/// Tracking URLs from third parties to track interactions with an audio or a +/// video creative. +typedef ThirdPartyUrl = $ThirdPartyUrl; + +/// Settings that control how third-party measurement vendors are configured. +typedef ThirdPartyVendorConfig = $ThirdPartyVendorConfig; + +/// 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`. +class ThirdPartyVerifierAssignedTargetingOptionDetails { + /// Third party brand verifier -- Adloox. + Adloox? adloox; + + /// Third party brand verifier -- DoubleVerify. + DoubleVerify? doubleVerify; + + /// Third party brand verifier -- Integral Ad Science. + IntegralAdScience? integralAdScience; + + ThirdPartyVerifierAssignedTargetingOptionDetails({ + this.adloox, + this.doubleVerify, + this.integralAdScience, + }); + + ThirdPartyVerifierAssignedTargetingOptionDetails.fromJson(core.Map json_) + : this( + adloox: json_.containsKey('adloox') + ? Adloox.fromJson( + json_['adloox'] as core.Map) + : null, + doubleVerify: json_.containsKey('doubleVerify') + ? DoubleVerify.fromJson( + json_['doubleVerify'] as core.Map) + : null, + integralAdScience: json_.containsKey('integralAdScience') + ? IntegralAdScience.fromJson(json_['integralAdScience'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (adloox != null) 'adloox': adloox!, + if (doubleVerify != null) 'doubleVerify': doubleVerify!, + if (integralAdScience != null) 'integralAdScience': integralAdScience!, + }; +} + +/// A time range. +typedef TimeRange = $TimeRange; + +/// Timer event of the creative. +typedef TimerEvent = $TimerEvent; + +/// Settings that control the behavior of a single Floodlight activity config. +typedef TrackingFloodlightActivityConfig = $TrackingFloodlightActivityConfig; + +/// Represents information about the transcoded audio or video file. +class Transcode { + /// The bit rate for the audio stream of the transcoded video, or the bit rate + /// for the transcoded audio, in kilobits per second. + /// + /// Optional. + core.String? audioBitRateKbps; + + /// The sample rate for the audio stream of the transcoded video, or the + /// sample rate for the transcoded audio, in hertz. + /// + /// Optional. + core.String? audioSampleRateHz; + + /// The transcoding bit rate of the transcoded video, in kilobits per second. + /// + /// Optional. + core.String? bitRateKbps; + + /// The dimensions of the transcoded video. + /// + /// Optional. + Dimensions? dimensions; + + /// The size of the transcoded file, in bytes. + /// + /// Optional. + core.String? fileSizeBytes; + + /// The frame rate of the transcoded video, in frames per second. + /// + /// Optional. + core.double? frameRate; + + /// The MIME type of the transcoded file. + /// + /// Optional. + core.String? mimeType; + + /// The name of the transcoded file. + /// + /// Optional. + core.String? name; + + /// Indicates if the transcoding was successful. + /// + /// Optional. + core.bool? transcoded; + + Transcode({ + this.audioBitRateKbps, + this.audioSampleRateHz, + this.bitRateKbps, + this.dimensions, + this.fileSizeBytes, + this.frameRate, + this.mimeType, + this.name, + this.transcoded, + }); + + Transcode.fromJson(core.Map json_) + : this( + audioBitRateKbps: json_['audioBitRateKbps'] as core.String?, + audioSampleRateHz: json_['audioSampleRateHz'] as core.String?, + bitRateKbps: json_['bitRateKbps'] as core.String?, + dimensions: json_.containsKey('dimensions') + ? Dimensions.fromJson( + json_['dimensions'] as core.Map) + : null, + fileSizeBytes: json_['fileSizeBytes'] as core.String?, + frameRate: (json_['frameRate'] as core.num?)?.toDouble(), + mimeType: json_['mimeType'] as core.String?, + name: json_['name'] as core.String?, + transcoded: json_['transcoded'] as core.bool?, + ); + + core.Map toJson() => { + if (audioBitRateKbps != null) 'audioBitRateKbps': audioBitRateKbps!, + if (audioSampleRateHz != null) 'audioSampleRateHz': audioSampleRateHz!, + if (bitRateKbps != null) 'bitRateKbps': bitRateKbps!, + if (dimensions != null) 'dimensions': dimensions!, + if (fileSizeBytes != null) 'fileSizeBytes': fileSizeBytes!, + if (frameRate != null) 'frameRate': frameRate!, + if (mimeType != null) 'mimeType': mimeType!, + if (name != null) 'name': name!, + if (transcoded != null) 'transcoded': transcoded!, + }; +} + +/// A creative identifier provided by a registry that is unique across all +/// platforms. +/// +/// This is part of the VAST 4.0 standard. +typedef UniversalAdId = $UniversalAdId; + +/// Details for assigned URL targeting option. +/// +/// This will be populated in the details field of an AssignedTargetingOption +/// when targeting_type is `TARGETING_TYPE_URL`. +typedef UrlAssignedTargetingOptionDetails = $UrlAssignedTargetingOptionDetails; + +/// A single user in Display & Video 360. +class User { + /// The assigned user roles. + /// + /// Required in CreateUser. Output only in UpdateUser. Can only be updated + /// through BulkEditAssignedUserRoles. + core.List? assignedUserRoles; + + /// The display name of the user. + /// + /// Must be UTF-8 encoded with a maximum size of 240 bytes. + /// + /// Required. + core.String? displayName; + + /// The email address used to identify the user. + /// + /// Required. Immutable. + core.String? email; + + /// The timestamp when the user last logged in DV360 UI. + /// + /// Output only. + core.String? lastLoginTime; + + /// The resource name of the user. + /// + /// Output only. + core.String? name; + + /// The unique ID of the user. + /// + /// Assigned by the system. + /// + /// Output only. + core.String? userId; + + User({ + this.assignedUserRoles, + this.displayName, + this.email, + this.lastLoginTime, + this.name, + this.userId, + }); + + User.fromJson(core.Map json_) + : this( + assignedUserRoles: (json_['assignedUserRoles'] as core.List?) + ?.map((value) => AssignedUserRole.fromJson( + value as core.Map)) + .toList(), + displayName: json_['displayName'] as core.String?, + email: json_['email'] as core.String?, + lastLoginTime: json_['lastLoginTime'] as core.String?, + name: json_['name'] as core.String?, + userId: json_['userId'] as core.String?, + ); + + core.Map toJson() => { + if (assignedUserRoles != null) 'assignedUserRoles': assignedUserRoles!, + if (displayName != null) 'displayName': displayName!, + if (email != null) 'email': email!, + if (lastLoginTime != null) 'lastLoginTime': lastLoginTime!, + if (name != null) 'name': name!, + if (userId != null) 'userId': userId!, + }; +} + +/// 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`. +typedef UserRewardedContentAssignedTargetingOptionDetails + = $UserRewardedContentAssignedTargetingOptionDetails; + +/// Represents a targetable user rewarded content status for video ads only. +/// +/// This will be populated in the user_rewarded_content_details field when +/// targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`. +typedef UserRewardedContentTargetingOptionDetails + = $UserRewardedContentTargetingOptionDetails; + +/// Settings related to VideoAdSequence. +class VideoAdSequenceSettings { + /// The minimum time interval before the same user sees this sequence again. + /// Possible string values are: + /// - "VIDEO_AD_SEQUENCE_MINIMUM_DURATION_UNSPECIFIED" : Unspecified or + /// unknown. + /// - "VIDEO_AD_SEQUENCE_MINIMUM_DURATION_WEEK" : 7 days. + /// - "VIDEO_AD_SEQUENCE_MINIMUM_DURATION_MONTH" : 30 days. + core.String? minimumDuration; + + /// The steps of which the sequence consists. + core.List? steps; + + VideoAdSequenceSettings({ + this.minimumDuration, + this.steps, + }); + + VideoAdSequenceSettings.fromJson(core.Map json_) + : this( + minimumDuration: json_['minimumDuration'] as core.String?, + steps: (json_['steps'] as core.List?) + ?.map((value) => VideoAdSequenceStep.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (minimumDuration != null) 'minimumDuration': minimumDuration!, + if (steps != null) 'steps': steps!, + }; +} + +/// The detail of a single step in a VideoAdSequence. +typedef VideoAdSequenceStep = $VideoAdSequenceStep; + +/// Details for a video discovery ad. +class VideoDiscoveryAd { + /// First text line for the ad. + core.String? description1; + + /// Second text line for the ad. + core.String? description2; + + /// The headline of ad. + core.String? headline; + + /// Thumbnail image used in the ad. + /// Possible string values are: + /// - "THUMBNAIL_UNSPECIFIED" : Unknown or unspecified. + /// - "THUMBNAIL_DEFAULT" : The default thumbnail, can be auto-generated or + /// user-uploaded. + /// - "THUMBNAIL_1" : Thumbnail 1, generated from the video. + /// - "THUMBNAIL_2" : Thumbnail 2, generated from the video. + /// - "THUMBNAIL_3" : Thumbnail 3, generated from the video. + core.String? thumbnail; + + /// The YouTube video the ad promotes. + YoutubeVideoDetails? video; + + VideoDiscoveryAd({ + this.description1, + this.description2, + this.headline, + this.thumbnail, + this.video, + }); + + VideoDiscoveryAd.fromJson(core.Map json_) + : this( + description1: json_['description1'] as core.String?, + description2: json_['description2'] as core.String?, + headline: json_['headline'] as core.String?, + thumbnail: json_['thumbnail'] as core.String?, + video: json_.containsKey('video') + ? YoutubeVideoDetails.fromJson( + json_['video'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (description1 != null) 'description1': description1!, + if (description2 != null) 'description2': description2!, + if (headline != null) 'headline': headline!, + if (thumbnail != null) 'thumbnail': thumbnail!, + if (video != null) 'video': video!, + }; +} + +/// Details for a video performance ad. +class VideoPerformanceAd { + /// The list of text assets shown on the call-to-action button. + core.List? actionButtonLabels; + + /// The list of companion banners used by this ad. + core.List? companionBanners; + + /// The custom parameters to pass custom values to tracking URL template. + core.Map? customParameters; + + /// The list of descriptions shown on the call-to-action banner. + core.List? descriptions; + + /// The first piece after the domain in the display URL. + core.String? displayUrlBreadcrumb1; + + /// The second piece after the domain in the display URL. + core.String? displayUrlBreadcrumb2; + + /// The domain of the display URL. + core.String? domain; + + /// The URL address of the webpage that people reach after they click the ad. + core.String? finalUrl; + + /// The list of headlines shown on the call-to-action banner. + core.List? headlines; + + /// The list of lone headlines shown on the call-to-action banner. + core.List? longHeadlines; + + /// The URL address loaded in the background for tracking purposes. + core.String? trackingUrl; + + /// The list of YouTube video assets used by this ad. + core.List? videos; + + VideoPerformanceAd({ + this.actionButtonLabels, + this.companionBanners, + this.customParameters, + this.descriptions, + this.displayUrlBreadcrumb1, + this.displayUrlBreadcrumb2, + this.domain, + this.finalUrl, + this.headlines, + this.longHeadlines, + this.trackingUrl, + this.videos, + }); + + VideoPerformanceAd.fromJson(core.Map json_) + : this( + actionButtonLabels: (json_['actionButtonLabels'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + companionBanners: (json_['companionBanners'] as core.List?) + ?.map((value) => ImageAsset.fromJson( + value as core.Map)) + .toList(), + customParameters: (json_['customParameters'] + as core.Map?) + ?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + descriptions: (json_['descriptions'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + displayUrlBreadcrumb1: json_['displayUrlBreadcrumb1'] as core.String?, + displayUrlBreadcrumb2: json_['displayUrlBreadcrumb2'] as core.String?, + domain: json_['domain'] as core.String?, + finalUrl: json_['finalUrl'] as core.String?, + headlines: (json_['headlines'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + longHeadlines: (json_['longHeadlines'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + trackingUrl: json_['trackingUrl'] as core.String?, + videos: (json_['videos'] as core.List?) + ?.map((value) => YoutubeVideoDetails.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (actionButtonLabels != null) + 'actionButtonLabels': actionButtonLabels!, + if (companionBanners != null) 'companionBanners': companionBanners!, + if (customParameters != null) 'customParameters': customParameters!, + if (descriptions != null) 'descriptions': descriptions!, + if (displayUrlBreadcrumb1 != null) + 'displayUrlBreadcrumb1': displayUrlBreadcrumb1!, + if (displayUrlBreadcrumb2 != null) + 'displayUrlBreadcrumb2': displayUrlBreadcrumb2!, + if (domain != null) 'domain': domain!, + if (finalUrl != null) 'finalUrl': finalUrl!, + if (headlines != null) 'headlines': headlines!, + if (longHeadlines != null) 'longHeadlines': longHeadlines!, + if (trackingUrl != null) 'trackingUrl': trackingUrl!, + if (videos != null) 'videos': videos!, + }; +} + +/// 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. +typedef VideoPlayerSizeAssignedTargetingOptionDetails + = $VideoPlayerSizeAssignedTargetingOptionDetails; + +/// Represents a targetable video player size. +/// +/// This will be populated in the video_player_size_details field when +/// targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`. +typedef VideoPlayerSizeTargetingOptionDetails + = $VideoPlayerSizeTargetingOptionDetails; + +/// Assigned viewability targeting option details. +/// +/// This will be populated in the viewability_details field of an +/// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_VIEWABILITY`. +typedef ViewabilityAssignedTargetingOptionDetails + = $ViewabilityAssignedTargetingOptionDetails; + +/// Represents a targetable viewability. +/// +/// This will be populated in the viewability_details field of a TargetingOption +/// when targeting_type is `TARGETING_TYPE_VIEWABILITY`. +typedef ViewabilityTargetingOptionDetails = $ViewabilityTargetingOptionDetails; + +/// Settings that control the bid strategy for YouTube and Partners resources. +typedef YoutubeAndPartnersBiddingStrategy = $YoutubeAndPartnersBiddingStrategy; + +/// Settings that control what YouTube related inventories the YouTube and +/// Partners line item will target. +typedef YoutubeAndPartnersInventorySourceConfig + = $YoutubeAndPartnersInventorySourceConfig; + +/// Settings for YouTube and Partners line items. +class YoutubeAndPartnersSettings { + /// The kind of content on which the YouTube and Partners ads will be shown. + /// Possible string values are: + /// - "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_UNSPECIFIED" : Content category + /// is not specified or is unknown in this version. + /// - "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_STANDARD" : A category consisting + /// of a wide range of content appropriate for most brands. The content is + /// based off of YouTube's \[advertiser-friendly content + /// guidelines\](https://support.google.com/youtube/answer/6162278). + /// - "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_EXPANDED" : A category including + /// all content across YouTube and video partners that meets standards for + /// monetization. + /// - "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_LIMITED" : A category consisting + /// of a reduced range of content that meets heightened requirements, + /// especially regarding inappropriate language and sexual suggestiveness. + core.String? contentCategory; + + /// The content category which takes effect when serving the line item. + /// + /// When content category is set in both line item and advertiser, the + /// stricter one will take effect when serving the line item. + /// + /// Output only. + /// Possible string values are: + /// - "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_UNSPECIFIED" : Content category + /// is not specified or is unknown in this version. + /// - "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_STANDARD" : A category consisting + /// of a wide range of content appropriate for most brands. The content is + /// based off of YouTube's \[advertiser-friendly content + /// guidelines\](https://support.google.com/youtube/answer/6162278). + /// - "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_EXPANDED" : A category including + /// all content across YouTube and video partners that meets standards for + /// monetization. + /// - "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_LIMITED" : A category consisting + /// of a reduced range of content that meets heightened requirements, + /// especially regarding inappropriate language and sexual suggestiveness. + core.String? effectiveContentCategory; + + /// Settings that control what YouTube and Partners inventories the line item + /// will target. + YoutubeAndPartnersInventorySourceConfig? inventorySourceSettings; + + /// The ID of the form to generate leads. + /// + /// Optional. + core.String? leadFormId; + + /// The ID of the merchant which is linked to the line item for product feed. + /// + /// Optional. + core.String? linkedMerchantId; + + /// The IDs of the videos appear below the primary video ad when the ad is + /// playing in the YouTube app on mobile devices. + /// + /// Optional. + core.List? relatedVideoIds; + + /// The average number of times you want ads from this line item to show to + /// the same person over a certain period of time. + /// + /// Optional. + TargetFrequency? targetFrequency; + + /// The third-party measurement configs of the line item. + /// + /// Optional. + ThirdPartyMeasurementConfigs? thirdPartyMeasurementConfigs; + + /// The settings related to VideoAdSequence. + /// + /// Optional. + VideoAdSequenceSettings? videoAdSequenceSettings; + + /// The view frequency cap settings of the line item. + /// + /// The max_views field in this settings object must be used if assigning a + /// limited cap. *Warning*: On **February 28, 2025**, frequency cap time + /// periods greater than 30 days will no longer be accepted. \[Read more about + /// this announced + /// change\](/display-video/api/deprecations#features.lifetime_frequency_cap) + FrequencyCap? viewFrequencyCap; + + YoutubeAndPartnersSettings({ + this.contentCategory, + this.effectiveContentCategory, + this.inventorySourceSettings, + this.leadFormId, + this.linkedMerchantId, + this.relatedVideoIds, + this.targetFrequency, + this.thirdPartyMeasurementConfigs, + this.videoAdSequenceSettings, + this.viewFrequencyCap, + }); + + YoutubeAndPartnersSettings.fromJson(core.Map json_) + : this( + contentCategory: json_['contentCategory'] as core.String?, + effectiveContentCategory: + json_['effectiveContentCategory'] as core.String?, + inventorySourceSettings: json_.containsKey('inventorySourceSettings') + ? YoutubeAndPartnersInventorySourceConfig.fromJson( + json_['inventorySourceSettings'] + as core.Map) + : null, + leadFormId: json_['leadFormId'] as core.String?, + linkedMerchantId: json_['linkedMerchantId'] as core.String?, + relatedVideoIds: (json_['relatedVideoIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + targetFrequency: json_.containsKey('targetFrequency') + ? TargetFrequency.fromJson(json_['targetFrequency'] + as core.Map) + : null, + thirdPartyMeasurementConfigs: + json_.containsKey('thirdPartyMeasurementConfigs') + ? ThirdPartyMeasurementConfigs.fromJson( + json_['thirdPartyMeasurementConfigs'] + as core.Map) + : null, + videoAdSequenceSettings: json_.containsKey('videoAdSequenceSettings') + ? VideoAdSequenceSettings.fromJson( + json_['videoAdSequenceSettings'] + as core.Map) + : null, + viewFrequencyCap: json_.containsKey('viewFrequencyCap') + ? FrequencyCap.fromJson(json_['viewFrequencyCap'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (contentCategory != null) 'contentCategory': contentCategory!, + if (effectiveContentCategory != null) + 'effectiveContentCategory': effectiveContentCategory!, + if (inventorySourceSettings != null) + 'inventorySourceSettings': inventorySourceSettings!, + if (leadFormId != null) 'leadFormId': leadFormId!, + if (linkedMerchantId != null) 'linkedMerchantId': linkedMerchantId!, + if (relatedVideoIds != null) 'relatedVideoIds': relatedVideoIds!, + if (targetFrequency != null) 'targetFrequency': targetFrequency!, + if (thirdPartyMeasurementConfigs != null) + 'thirdPartyMeasurementConfigs': thirdPartyMeasurementConfigs!, + if (videoAdSequenceSettings != null) + 'videoAdSequenceSettings': videoAdSequenceSettings!, + if (viewFrequencyCap != null) 'viewFrequencyCap': viewFrequencyCap!, + }; +} + +/// Details for YouTube channel assigned targeting option. +/// +/// This will be populated in the youtube_channel_details field when +/// targeting_type is `TARGETING_TYPE_YOUTUBE_CHANNEL`. +typedef YoutubeChannelAssignedTargetingOptionDetails + = $YoutubeChannelAssignedTargetingOptionDetails; + +/// Details for YouTube video assigned targeting option. +/// +/// This will be populated in the youtube_video_details field when +/// targeting_type is `TARGETING_TYPE_YOUTUBE_VIDEO`. +typedef YoutubeVideoAssignedTargetingOptionDetails + = $YoutubeVideoAssignedTargetingOptionDetails; + +/// Details of a YouTube video. +typedef YoutubeVideoDetails = $YoutubeVideoDetails; diff --git a/generated/googleapis/lib/dlp/v2.dart b/generated/googleapis/lib/dlp/v2.dart index b0e8771dc..591199c23 100644 --- a/generated/googleapis/lib/dlp/v2.dart +++ b/generated/googleapis/lib/dlp/v2.dart @@ -4244,7 +4244,8 @@ class ProjectsImageResource { /// to learn more. When no InfoTypes or CustomInfoTypes are specified in this /// request, the system will automatically choose what detectors to run. By /// default this may be all types, but may change over time as detectors are - /// updated. + /// updated. Only the first frame of each multiframe image is redacted. + /// Metadata and other frames are omitted in the response. /// /// [request] - The metadata request object. /// @@ -6620,7 +6621,8 @@ class ProjectsLocationsImageResource { /// to learn more. When no InfoTypes or CustomInfoTypes are specified in this /// request, the system will automatically choose what detectors to run. By /// default this may be all types, but may change over time as detectors are - /// updated. + /// updated. Only the first frame of each multiframe image is redacted. + /// Metadata and other frames are omitted in the response. /// /// [request] - The metadata request object. /// @@ -10929,7 +10931,7 @@ class GooglePrivacyDlpV2CryptoKey { /// https://cloud.google.com/sensitive-data-protection/docs/pseudonymization to /// learn more. Note: We recommend using CryptoDeterministicConfig for all use /// cases which do not require preserving the input alphabet space and size, -/// plus warrant referential integrity. +/// plus warrant referential integrity. FPE incurs significant latency costs. class GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig { /// Common alphabets. /// Possible string values are: @@ -12966,6 +12968,15 @@ class GooglePrivacyDlpV2DiscoveryConfig { GooglePrivacyDlpV2OtherCloudDiscoveryStartingLocation? otherCloudStartingLocation; + /// Processing location configuration. + /// + /// Vertex AI dataset scanning will set + /// processing_location.image_fallback_type to MultiRegionProcessing by + /// default. + /// + /// Optional. + GooglePrivacyDlpV2ProcessingLocation? processingLocation; + /// A status for this configuration. /// /// Required. @@ -12993,6 +13004,7 @@ class GooglePrivacyDlpV2DiscoveryConfig { this.name, this.orgConfig, this.otherCloudStartingLocation, + this.processingLocation, this.status, this.targets, this.updateTime, @@ -13025,6 +13037,11 @@ class GooglePrivacyDlpV2DiscoveryConfig { json_['otherCloudStartingLocation'] as core.Map) : null, + processingLocation: json_.containsKey('processingLocation') + ? GooglePrivacyDlpV2ProcessingLocation.fromJson( + json_['processingLocation'] + as core.Map) + : null, status: json_['status'] as core.String?, targets: (json_['targets'] as core.List?) ?.map((value) => GooglePrivacyDlpV2DiscoveryTarget.fromJson( @@ -13044,6 +13061,8 @@ class GooglePrivacyDlpV2DiscoveryConfig { if (orgConfig != null) 'orgConfig': orgConfig!, if (otherCloudStartingLocation != null) 'otherCloudStartingLocation': otherCloudStartingLocation!, + if (processingLocation != null) + 'processingLocation': processingLocation!, if (status != null) 'status': status!, if (targets != null) 'targets': targets!, if (updateTime != null) 'updateTime': updateTime!, @@ -13478,12 +13497,25 @@ class GooglePrivacyDlpV2DiscoveryTarget { /// Only one target of this type is allowed. GooglePrivacyDlpV2SecretsDiscoveryTarget? secretsTarget; + /// Vertex AI dataset target for Discovery. + /// + /// The first target to match a dataset will be the one applied. Note that + /// discovery for Vertex AI can incur Cloud Storage Class B operation charges + /// for storage.objects.get operations and retrieval fees. For more + /// information, see + /// [Cloud Storage pricing](https://cloud.google.com/storage/pricing#price-tables). + /// Note that discovery for Vertex AI dataset will not be able to scan images + /// unless DiscoveryConfig.processing_location.image_fallback_location has + /// multi_region_processing or global_processing configured. + GooglePrivacyDlpV2VertexDatasetDiscoveryTarget? vertexDatasetTarget; + GooglePrivacyDlpV2DiscoveryTarget({ this.bigQueryTarget, this.cloudSqlTarget, this.cloudStorageTarget, this.otherCloudTarget, this.secretsTarget, + this.vertexDatasetTarget, }); GooglePrivacyDlpV2DiscoveryTarget.fromJson(core.Map json_) @@ -13512,6 +13544,11 @@ class GooglePrivacyDlpV2DiscoveryTarget { ? GooglePrivacyDlpV2SecretsDiscoveryTarget.fromJson( json_['secretsTarget'] as core.Map) : null, + vertexDatasetTarget: json_.containsKey('vertexDatasetTarget') + ? GooglePrivacyDlpV2VertexDatasetDiscoveryTarget.fromJson( + json_['vertexDatasetTarget'] + as core.Map) + : null, ); core.Map toJson() => { @@ -13521,6 +13558,144 @@ class GooglePrivacyDlpV2DiscoveryTarget { 'cloudStorageTarget': cloudStorageTarget!, if (otherCloudTarget != null) 'otherCloudTarget': otherCloudTarget!, if (secretsTarget != null) 'secretsTarget': secretsTarget!, + if (vertexDatasetTarget != null) + 'vertexDatasetTarget': vertexDatasetTarget!, + }; +} + +/// Requirements that must be true before a dataset is profiled for the first +/// time. +class GooglePrivacyDlpV2DiscoveryVertexDatasetConditions { + /// Vertex AI dataset must have been created after this date. + /// + /// Used to avoid backfilling. + core.String? createdAfter; + + /// Minimum age a Vertex AI dataset must have. + /// + /// If set, the value must be 1 hour or greater. + core.String? minAge; + + GooglePrivacyDlpV2DiscoveryVertexDatasetConditions({ + this.createdAfter, + this.minAge, + }); + + GooglePrivacyDlpV2DiscoveryVertexDatasetConditions.fromJson(core.Map json_) + : this( + createdAfter: json_['createdAfter'] as core.String?, + minAge: json_['minAge'] as core.String?, + ); + + core.Map toJson() => { + if (createdAfter != null) 'createdAfter': createdAfter!, + if (minAge != null) 'minAge': minAge!, + }; +} + +/// Determines what datasets will have profiles generated within an organization +/// or project. +/// +/// Includes the ability to filter by regular expression patterns on project ID +/// or dataset regex. +class GooglePrivacyDlpV2DiscoveryVertexDatasetFilter { + /// A specific set of Vertex AI datasets for this filter to apply to. + GooglePrivacyDlpV2VertexDatasetCollection? collection; + + /// Catch-all. + /// + /// This should always be the last target in the list because anything above + /// it will apply first. Should only appear once in a configuration. If none + /// is specified, a default one will be added automatically. + GooglePrivacyDlpV2AllOtherResources? others; + + /// The dataset resource to scan. + /// + /// Targets including this can only include one target (the target with this + /// dataset resource reference). + GooglePrivacyDlpV2VertexDatasetResourceReference? + vertexDatasetResourceReference; + + GooglePrivacyDlpV2DiscoveryVertexDatasetFilter({ + this.collection, + this.others, + this.vertexDatasetResourceReference, + }); + + GooglePrivacyDlpV2DiscoveryVertexDatasetFilter.fromJson(core.Map json_) + : this( + collection: json_.containsKey('collection') + ? GooglePrivacyDlpV2VertexDatasetCollection.fromJson( + json_['collection'] as core.Map) + : null, + others: json_.containsKey('others') + ? GooglePrivacyDlpV2AllOtherResources.fromJson( + json_['others'] as core.Map) + : null, + vertexDatasetResourceReference: + json_.containsKey('vertexDatasetResourceReference') + ? GooglePrivacyDlpV2VertexDatasetResourceReference.fromJson( + json_['vertexDatasetResourceReference'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (collection != null) 'collection': collection!, + if (others != null) 'others': others!, + if (vertexDatasetResourceReference != null) + 'vertexDatasetResourceReference': vertexDatasetResourceReference!, + }; +} + +/// How often existing datasets should have their profiles refreshed. +/// +/// New datasets are scanned as quickly as possible depending on system +/// capacity. +class GooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence { + /// Governs when to update data profiles when the inspection rules defined by + /// the `InspectTemplate` change. + /// + /// If not set, changing the template will not cause a data profile to be + /// updated. + GooglePrivacyDlpV2DiscoveryInspectTemplateModifiedCadence? + inspectTemplateModifiedCadence; + + /// If you set this field, profiles are refreshed at this frequency regardless + /// of whether the underlying datasets have changed. + /// + /// Defaults to never. + /// Possible string values are: + /// - "UPDATE_FREQUENCY_UNSPECIFIED" : Unspecified. + /// - "UPDATE_FREQUENCY_NEVER" : After the data profile is created, it will + /// never be updated. + /// - "UPDATE_FREQUENCY_DAILY" : The data profile can be updated up to once + /// every 24 hours. + /// - "UPDATE_FREQUENCY_MONTHLY" : The data profile can be updated up to once + /// every 30 days. Default. + core.String? refreshFrequency; + + GooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence({ + this.inspectTemplateModifiedCadence, + this.refreshFrequency, + }); + + GooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence.fromJson( + core.Map json_) + : this( + inspectTemplateModifiedCadence: + json_.containsKey('inspectTemplateModifiedCadence') + ? GooglePrivacyDlpV2DiscoveryInspectTemplateModifiedCadence + .fromJson(json_['inspectTemplateModifiedCadence'] + as core.Map) + : null, + refreshFrequency: json_['refreshFrequency'] as core.String?, + ); + + core.Map toJson() => { + if (inspectTemplateModifiedCadence != null) + 'inspectTemplateModifiedCadence': inspectTemplateModifiedCadence!, + if (refreshFrequency != null) 'refreshFrequency': refreshFrequency!, }; } @@ -13877,20 +14052,44 @@ class GooglePrivacyDlpV2ExclusionRule { /// If set, the detailed data profiles will be persisted to the location of your /// choice whenever updated. class GooglePrivacyDlpV2Export { - /// Store all table and column profiles in an existing table or a new table in + /// Store all profiles to BigQuery. + /// + /// * The system will create a new dataset and table for you if none are are + /// provided. The dataset will be named `sensitive_data_protection_discovery` + /// and table will be named `discovery_profiles`. This table will be placed in + /// the same project as the container project running the scan. After the + /// first profile is generated and the dataset and table are created, the + /// discovery scan configuration will be updated with the dataset and table + /// names. * See + /// [Analyze data profiles stored in BigQuery](https://cloud.google.com/sensitive-data-protection/docs/analyze-data-profiles). + /// * See + /// [Sample queries for your BigQuery table](https://cloud.google.com/sensitive-data-protection/docs/analyze-data-profiles#sample_sql_queries). + /// * Data is inserted using + /// [streaming insert](https://cloud.google.com/blog/products/bigquery/life-of-a-bigquery-streaming-insert) + /// and so data may be in the buffer for a period of time after the profile + /// has finished. * The Pub/Sub notification is sent before the streaming + /// buffer is guaranteed to be written, so data may not be instantly visible + /// to queries by the time your topic receives the Pub/Sub notification. * The + /// best practice is to use the same table for an entire organization so that + /// you can take advantage of the + /// [provided Looker reports](https://cloud.google.com/sensitive-data-protection/docs/analyze-data-profiles#use_a_premade_report). + /// If you use VPC Service Controls to define security perimeters, then you + /// must use a separate table for each boundary. + GooglePrivacyDlpV2BigQueryTable? profileTable; + + /// Store sample data profile findings in an existing table or a new table in /// an existing dataset. /// - /// Each re-generation will result in new rows in BigQuery. Data is inserted + /// Each regeneration will result in new rows in BigQuery. Data is inserted /// using /// [streaming insert](https://cloud.google.com/blog/products/bigquery/life-of-a-bigquery-streaming-insert) /// and so data may be in the buffer for a period of time after the profile - /// has finished. The Pub/Sub notification is sent before the streaming buffer - /// is guaranteed to be written, so data may not be instantly visible to - /// queries by the time your topic receives the Pub/Sub notification. - GooglePrivacyDlpV2BigQueryTable? profileTable; + /// has finished. + GooglePrivacyDlpV2BigQueryTable? sampleFindingsTable; GooglePrivacyDlpV2Export({ this.profileTable, + this.sampleFindingsTable, }); GooglePrivacyDlpV2Export.fromJson(core.Map json_) @@ -13899,10 +14098,17 @@ class GooglePrivacyDlpV2Export { ? GooglePrivacyDlpV2BigQueryTable.fromJson( json_['profileTable'] as core.Map) : null, + sampleFindingsTable: json_.containsKey('sampleFindingsTable') + ? GooglePrivacyDlpV2BigQueryTable.fromJson( + json_['sampleFindingsTable'] + as core.Map) + : null, ); core.Map toJson() => { if (profileTable != null) 'profileTable': profileTable!, + if (sampleFindingsTable != null) + 'sampleFindingsTable': sampleFindingsTable!, }; } @@ -14291,7 +14497,9 @@ class GooglePrivacyDlpV2FileStoreDataProfile { /// The file store path. /// - /// * Cloud Storage: `gs://{bucket}` * Amazon S3: `s3://{bucket}` + /// * Cloud Storage: `gs://{bucket}` * Amazon S3: `s3://{bucket}` * Vertex AI + /// dataset: + /// `projects/{project_number}/locations/{location}/datasets/{dataset_id}` core.String? fileStorePath; /// The resource name of the resource profiled. @@ -14329,6 +14537,9 @@ class GooglePrivacyDlpV2FileStoreDataProfile { /// For Amazon S3 buckets, this is the AWS Account Id. core.String? projectId; + /// Resources related to this profile. + core.List? relatedResources; + /// Attributes of the resource being profiled. /// /// Currently used attributes: * customer_managed_encryption: boolean - true: @@ -14349,6 +14560,9 @@ class GooglePrivacyDlpV2FileStoreDataProfile { /// - "RESOURCE_VISIBILITY_RESTRICTED" : Visible only to specific users. core.String? resourceVisibility; + /// The BigQuery table to which the sample findings are written. + GooglePrivacyDlpV2BigQueryTable? sampleFindingsTable; + /// The sensitivity score of this resource. GooglePrivacyDlpV2SensitivityScore? sensitivityScore; @@ -14381,9 +14595,11 @@ class GooglePrivacyDlpV2FileStoreDataProfile { this.profileStatus, this.projectDataProfile, this.projectId, + this.relatedResources, this.resourceAttributes, this.resourceLabels, this.resourceVisibility, + this.sampleFindingsTable, this.sensitivityScore, this.state, }); @@ -14432,6 +14648,10 @@ class GooglePrivacyDlpV2FileStoreDataProfile { : null, projectDataProfile: json_['projectDataProfile'] as core.String?, projectId: json_['projectId'] as core.String?, + relatedResources: (json_['relatedResources'] as core.List?) + ?.map((value) => GooglePrivacyDlpV2RelatedResource.fromJson( + value as core.Map)) + .toList(), resourceAttributes: (json_['resourceAttributes'] as core.Map?) ?.map( @@ -14450,6 +14670,11 @@ class GooglePrivacyDlpV2FileStoreDataProfile { ), ), resourceVisibility: json_['resourceVisibility'] as core.String?, + sampleFindingsTable: json_.containsKey('sampleFindingsTable') + ? GooglePrivacyDlpV2BigQueryTable.fromJson( + json_['sampleFindingsTable'] + as core.Map) + : null, sensitivityScore: json_.containsKey('sensitivityScore') ? GooglePrivacyDlpV2SensitivityScore.fromJson( json_['sensitivityScore'] @@ -14482,11 +14707,14 @@ class GooglePrivacyDlpV2FileStoreDataProfile { if (projectDataProfile != null) 'projectDataProfile': projectDataProfile!, if (projectId != null) 'projectId': projectId!, + if (relatedResources != null) 'relatedResources': relatedResources!, if (resourceAttributes != null) 'resourceAttributes': resourceAttributes!, if (resourceLabels != null) 'resourceLabels': resourceLabels!, if (resourceVisibility != null) 'resourceVisibility': resourceVisibility!, + if (sampleFindingsTable != null) + 'sampleFindingsTable': sampleFindingsTable!, if (sensitivityScore != null) 'sensitivityScore': sensitivityScore!, if (state != null) 'state': state!, }; @@ -14828,6 +15056,9 @@ class GooglePrivacyDlpV2FixedSizeBucketingConfig { }; } +/// Processing will happen in the global region. +typedef GooglePrivacyDlpV2GlobalProcessing = $Empty; + /// The rule that adjusts the likelihood of findings within a certain proximity /// of hotwords. class GooglePrivacyDlpV2HotwordRule { @@ -15144,6 +15375,42 @@ class GooglePrivacyDlpV2HybridOptions { }; } +/// Configure image processing to fall back to the configured processing option +/// below if unavailable in the request location. +class GooglePrivacyDlpV2ImageFallbackLocation { + /// Processing will happen in the global region. + GooglePrivacyDlpV2GlobalProcessing? globalProcessing; + + /// Processing will happen in a multi-region that contains the current region + /// if available. + GooglePrivacyDlpV2MultiRegionProcessing? multiRegionProcessing; + + GooglePrivacyDlpV2ImageFallbackLocation({ + this.globalProcessing, + this.multiRegionProcessing, + }); + + GooglePrivacyDlpV2ImageFallbackLocation.fromJson(core.Map json_) + : this( + globalProcessing: json_.containsKey('globalProcessing') + ? GooglePrivacyDlpV2GlobalProcessing.fromJson( + json_['globalProcessing'] + as core.Map) + : null, + multiRegionProcessing: json_.containsKey('multiRegionProcessing') + ? GooglePrivacyDlpV2MultiRegionProcessing.fromJson( + json_['multiRegionProcessing'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (globalProcessing != null) 'globalProcessing': globalProcessing!, + if (multiRegionProcessing != null) + 'multiRegionProcessing': multiRegionProcessing!, + }; +} + /// Location of the finding within an image. class GooglePrivacyDlpV2ImageLocation { /// Bounding boxes locating the pixels within the image containing the @@ -15366,6 +15633,7 @@ class GooglePrivacyDlpV2InfoTypeCategory { /// - "CHINA" : The infoType is typically used in China. /// - "COLOMBIA" : The infoType is typically used in Colombia. /// - "CROATIA" : The infoType is typically used in Croatia. + /// - "CZECHIA" : The infoType is typically used in Czechia. /// - "DENMARK" : The infoType is typically used in Denmark. /// - "FRANCE" : The infoType is typically used in France. /// - "FINLAND" : The infoType is typically used in Finland. @@ -15422,6 +15690,7 @@ class GooglePrivacyDlpV2InfoTypeCategory { /// - "CONTEXTUAL_INFORMATION" : Information that is not sensitive on its own, /// but provides details about the circumstances surrounding an entity or an /// event. + /// - "CUSTOM" : Category for `CustomInfoType` types. core.String? typeCategory; GooglePrivacyDlpV2InfoTypeCategory({ @@ -15457,7 +15726,7 @@ class GooglePrivacyDlpV2InfoTypeDescription { /// Human readable form of the infoType name. core.String? displayName; - /// A sample true positive for this infoType. + /// A sample that is a true positive for this infoType. core.String? example; /// Internal name of the infoType. @@ -17459,6 +17728,10 @@ class GooglePrivacyDlpV2MetadataLocation { }; } +/// Processing will happen in a multi-region that contains the current region if +/// available. +typedef GooglePrivacyDlpV2MultiRegionProcessing = $Empty; + /// Compute numerical stats over an individual column, including min, max, and /// quantiles. class GooglePrivacyDlpV2NumericalStatsConfig { @@ -17972,7 +18245,10 @@ class GooglePrivacyDlpV2PrimitiveTransformation { /// Crypto GooglePrivacyDlpV2CryptoHashConfig? cryptoHashConfig; - /// Ffx-Fpe + /// Ffx-Fpe. + /// + /// Strongly discouraged, consider using CryptoDeterministicConfig instead. + /// Fpe is computationally expensive incurring latency costs. GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig? cryptoReplaceFfxFpeConfig; /// Date Shift @@ -18178,6 +18454,33 @@ class GooglePrivacyDlpV2PrivacyMetric { }; } +/// Configure processing location for discovery and inspection. +/// +/// For example, image OCR is only provided in limited regions but configuring +/// ProcessingLocation will redirect OCR to a location where OCR is provided. +class GooglePrivacyDlpV2ProcessingLocation { + /// Image processing will fall back using this configuration. + GooglePrivacyDlpV2ImageFallbackLocation? imageFallbackLocation; + + GooglePrivacyDlpV2ProcessingLocation({ + this.imageFallbackLocation, + }); + + GooglePrivacyDlpV2ProcessingLocation.fromJson(core.Map json_) + : this( + imageFallbackLocation: json_.containsKey('imageFallbackLocation') + ? GooglePrivacyDlpV2ImageFallbackLocation.fromJson( + json_['imageFallbackLocation'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (imageFallbackLocation != null) + 'imageFallbackLocation': imageFallbackLocation!, + }; +} + /// Success or errors for the profile generation. class GooglePrivacyDlpV2ProfileStatus { /// Profiling status code and optional message. @@ -19111,6 +19414,28 @@ class GooglePrivacyDlpV2ReidentifyContentResponse { }; } +/// A related resource. +/// +/// Examples: * The source BigQuery table for a Vertex AI dataset. * The source +/// Cloud Storage bucket for a Vertex AI dataset. +class GooglePrivacyDlpV2RelatedResource { + /// The full resource name of the related resource. + core.String? fullResource; + + GooglePrivacyDlpV2RelatedResource({ + this.fullResource, + }); + + GooglePrivacyDlpV2RelatedResource.fromJson(core.Map json_) + : this( + fullResource: json_['fullResource'] as core.String?, + ); + + core.Map toJson() => { + if (fullResource != null) 'fullResource': fullResource!, + }; +} + /// Replace each input value with a value randomly selected from the dictionary. class GooglePrivacyDlpV2ReplaceDictionaryConfig { /// A list of words to select from for random replacement. @@ -20144,6 +20469,9 @@ class GooglePrivacyDlpV2TableDataProfile { /// The resource name of the project data profile for this table. core.String? projectDataProfile; + /// Resources related to this profile. + core.List? relatedResources; + /// The labels applied to the resource at the time the profile was generated. core.Map? resourceLabels; @@ -20162,6 +20490,9 @@ class GooglePrivacyDlpV2TableDataProfile { /// This will not be populated for BigLake tables. core.String? rowCount; + /// The BigQuery table to which the sample findings are written. + GooglePrivacyDlpV2BigQueryTable? sampleFindingsTable; + /// The number of columns profiled in the table. core.String? scannedColumnCount; @@ -20203,9 +20534,11 @@ class GooglePrivacyDlpV2TableDataProfile { this.profileLastGenerated, this.profileStatus, this.projectDataProfile, + this.relatedResources, this.resourceLabels, this.resourceVisibility, this.rowCount, + this.sampleFindingsTable, this.scannedColumnCount, this.sensitivityScore, this.state, @@ -20253,6 +20586,10 @@ class GooglePrivacyDlpV2TableDataProfile { json_['profileStatus'] as core.Map) : null, projectDataProfile: json_['projectDataProfile'] as core.String?, + relatedResources: (json_['relatedResources'] as core.List?) + ?.map((value) => GooglePrivacyDlpV2RelatedResource.fromJson( + value as core.Map)) + .toList(), resourceLabels: (json_['resourceLabels'] as core.Map?) ?.map( @@ -20263,6 +20600,11 @@ class GooglePrivacyDlpV2TableDataProfile { ), resourceVisibility: json_['resourceVisibility'] as core.String?, rowCount: json_['rowCount'] as core.String?, + sampleFindingsTable: json_.containsKey('sampleFindingsTable') + ? GooglePrivacyDlpV2BigQueryTable.fromJson( + json_['sampleFindingsTable'] + as core.Map) + : null, scannedColumnCount: json_['scannedColumnCount'] as core.String?, sensitivityScore: json_.containsKey('sensitivityScore') ? GooglePrivacyDlpV2SensitivityScore.fromJson( @@ -20296,10 +20638,13 @@ class GooglePrivacyDlpV2TableDataProfile { if (profileStatus != null) 'profileStatus': profileStatus!, if (projectDataProfile != null) 'projectDataProfile': projectDataProfile!, + if (relatedResources != null) 'relatedResources': relatedResources!, if (resourceLabels != null) 'resourceLabels': resourceLabels!, if (resourceVisibility != null) 'resourceVisibility': resourceVisibility!, if (rowCount != null) 'rowCount': rowCount!, + if (sampleFindingsTable != null) + 'sampleFindingsTable': sampleFindingsTable!, if (scannedColumnCount != null) 'scannedColumnCount': scannedColumnCount!, if (sensitivityScore != null) 'sensitivityScore': sensitivityScore!, @@ -21337,6 +21682,164 @@ class GooglePrivacyDlpV2VersionDescription { }; } +/// Match dataset resources using regex filters. +class GooglePrivacyDlpV2VertexDatasetCollection { + /// The regex used to filter dataset resources. + GooglePrivacyDlpV2VertexDatasetRegexes? vertexDatasetRegexes; + + GooglePrivacyDlpV2VertexDatasetCollection({ + this.vertexDatasetRegexes, + }); + + GooglePrivacyDlpV2VertexDatasetCollection.fromJson(core.Map json_) + : this( + vertexDatasetRegexes: json_.containsKey('vertexDatasetRegexes') + ? GooglePrivacyDlpV2VertexDatasetRegexes.fromJson( + json_['vertexDatasetRegexes'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (vertexDatasetRegexes != null) + 'vertexDatasetRegexes': vertexDatasetRegexes!, + }; +} + +/// Target used to match against for discovery with Vertex AI datasets. +class GooglePrivacyDlpV2VertexDatasetDiscoveryTarget { + /// In addition to matching the filter, these conditions must be true before a + /// profile is generated. + GooglePrivacyDlpV2DiscoveryVertexDatasetConditions? conditions; + + /// Disable profiling for datasets that match this filter. + GooglePrivacyDlpV2Disabled? disabled; + + /// The datasets the discovery cadence applies to. + /// + /// The first target with a matching filter will be the one to apply to a + /// dataset. + /// + /// Required. + GooglePrivacyDlpV2DiscoveryVertexDatasetFilter? filter; + + /// How often and when to update profiles. + /// + /// New datasets that match both the filter and conditions are scanned as + /// quickly as possible depending on system capacity. + GooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence? generationCadence; + + GooglePrivacyDlpV2VertexDatasetDiscoveryTarget({ + this.conditions, + this.disabled, + this.filter, + this.generationCadence, + }); + + GooglePrivacyDlpV2VertexDatasetDiscoveryTarget.fromJson(core.Map json_) + : this( + conditions: json_.containsKey('conditions') + ? GooglePrivacyDlpV2DiscoveryVertexDatasetConditions.fromJson( + json_['conditions'] as core.Map) + : null, + disabled: json_.containsKey('disabled') + ? GooglePrivacyDlpV2Disabled.fromJson( + json_['disabled'] as core.Map) + : null, + filter: json_.containsKey('filter') + ? GooglePrivacyDlpV2DiscoveryVertexDatasetFilter.fromJson( + json_['filter'] as core.Map) + : null, + generationCadence: json_.containsKey('generationCadence') + ? GooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence + .fromJson(json_['generationCadence'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (conditions != null) 'conditions': conditions!, + if (disabled != null) 'disabled': disabled!, + if (filter != null) 'filter': filter!, + if (generationCadence != null) 'generationCadence': generationCadence!, + }; +} + +/// A pattern to match against one or more dataset resources. +class GooglePrivacyDlpV2VertexDatasetRegex { + /// For organizations, if unset, will match all projects. + /// + /// Has no effect for configurations created within a project. + core.String? projectIdRegex; + + GooglePrivacyDlpV2VertexDatasetRegex({ + this.projectIdRegex, + }); + + GooglePrivacyDlpV2VertexDatasetRegex.fromJson(core.Map json_) + : this( + projectIdRegex: json_['projectIdRegex'] as core.String?, + ); + + core.Map toJson() => { + if (projectIdRegex != null) 'projectIdRegex': projectIdRegex!, + }; +} + +/// A collection of regular expressions to determine what datasets to match +/// against. +class GooglePrivacyDlpV2VertexDatasetRegexes { + /// The group of regular expression patterns to match against one or more + /// datasets. + /// + /// Maximum of 100 entries. The sum of the lengths of all regular expressions + /// can't exceed 10 KiB. + /// + /// Required. + core.List? patterns; + + GooglePrivacyDlpV2VertexDatasetRegexes({ + this.patterns, + }); + + GooglePrivacyDlpV2VertexDatasetRegexes.fromJson(core.Map json_) + : this( + patterns: (json_['patterns'] as core.List?) + ?.map((value) => GooglePrivacyDlpV2VertexDatasetRegex.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (patterns != null) 'patterns': patterns!, + }; +} + +/// Identifies a single Vertex AI dataset. +class GooglePrivacyDlpV2VertexDatasetResourceReference { + /// The name of the dataset resource. + /// + /// If set within a project-level configuration, the specified resource must + /// be within the project. + /// + /// Required. + core.String? datasetResourceName; + + GooglePrivacyDlpV2VertexDatasetResourceReference({ + this.datasetResourceName, + }); + + GooglePrivacyDlpV2VertexDatasetResourceReference.fromJson(core.Map json_) + : this( + datasetResourceName: json_['datasetResourceName'] as core.String?, + ); + + core.Map toJson() => { + if (datasetResourceName != null) + 'datasetResourceName': datasetResourceName!, + }; +} + /// Message defining a list of words or phrases to search for in the data. class GooglePrivacyDlpV2WordList { /// Words or phrases defining the dictionary. diff --git a/generated/googleapis/lib/dns/v1.dart b/generated/googleapis/lib/dns/v1.dart index a0aa86d1f..ab11ccab9 100644 --- a/generated/googleapis/lib/dns/v1.dart +++ b/generated/googleapis/lib/dns/v1.dart @@ -3859,6 +3859,9 @@ class Policy { /// Has no effect on the policy's function. core.String? description; + /// Configurations related to DNS64 for this Policy. + PolicyDns64Config? dns64Config; + /// Allows networks bound to this policy to receive DNS queries sent by VMs or /// applications over VPN connections. /// @@ -3884,6 +3887,7 @@ class Policy { Policy({ this.alternativeNameServerConfig, this.description, + this.dns64Config, this.enableInboundForwarding, this.enableLogging, this.id, @@ -3901,6 +3905,10 @@ class Policy { as core.Map) : null, description: json_['description'] as core.String?, + dns64Config: json_.containsKey('dns64Config') + ? PolicyDns64Config.fromJson( + json_['dns64Config'] as core.Map) + : null, enableInboundForwarding: json_['enableInboundForwarding'] as core.bool?, enableLogging: json_['enableLogging'] as core.bool?, @@ -3917,6 +3925,7 @@ class Policy { if (alternativeNameServerConfig != null) 'alternativeNameServerConfig': alternativeNameServerConfig!, if (description != null) 'description': description!, + if (dns64Config != null) 'dns64Config': dns64Config!, if (enableInboundForwarding != null) 'enableInboundForwarding': enableInboundForwarding!, if (enableLogging != null) 'enableLogging': enableLogging!, @@ -4006,6 +4015,55 @@ class PolicyAlternativeNameServerConfigTargetNameServer { }; } +/// DNS64 policies +class PolicyDns64Config { + core.String? kind; + + /// The scope to which DNS64 config will be applied to. + PolicyDns64ConfigScope? scope; + + PolicyDns64Config({ + this.kind, + this.scope, + }); + + PolicyDns64Config.fromJson(core.Map json_) + : this( + kind: json_['kind'] as core.String?, + scope: json_.containsKey('scope') + ? PolicyDns64ConfigScope.fromJson( + json_['scope'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (kind != null) 'kind': kind!, + if (scope != null) 'scope': scope!, + }; +} + +class PolicyDns64ConfigScope { + /// Controls whether DNS64 is enabled globally at the network level. + core.bool? allQueries; + core.String? kind; + + PolicyDns64ConfigScope({ + this.allQueries, + this.kind, + }); + + PolicyDns64ConfigScope.fromJson(core.Map json_) + : this( + allQueries: json_['allQueries'] as core.bool?, + kind: json_['kind'] as core.String?, + ); + + core.Map toJson() => { + if (allQueries != null) 'allQueries': allQueries!, + if (kind != null) 'kind': kind!, + }; +} + class PolicyNetwork { core.String? kind; @@ -4293,9 +4351,11 @@ class Quota { class RRSetRoutingPolicy { RRSetRoutingPolicyGeoPolicy? geo; - /// The selfLink attribute of the HealthCheck resource to use for this + /// The fully qualified URL of the HealthCheck to use for this /// RRSetRoutingPolicy. /// + /// Format this URL like + /// `https://www.googleapis.com/compute/v1/projects/{project}/global/healthChecks/{healthCheck}`. /// https://cloud.google.com/compute/docs/reference/rest/v1/healthChecks core.String? healthCheck; core.String? kind; @@ -4399,8 +4459,8 @@ class RRSetRoutingPolicyGeoPolicyGeoPolicyItem { /// DNSSEC generated signatures for all the `rrdata` within this item. /// - /// If health checked targets are provided for DNSSEC enabled zones, there's a - /// restriction of 1 IP address per item. + /// When using health-checked targets for DNSSEC-enabled zones, you can only + /// use at most one health-checked IP address per item. core.List? signatureRrdatas; RRSetRoutingPolicyGeoPolicyGeoPolicyItem({ @@ -4441,7 +4501,8 @@ class RRSetRoutingPolicyGeoPolicyGeoPolicyItem { /// HealthCheckTargets describes endpoints to health-check when responding to /// Routing Policy queries. /// -/// Only the healthy endpoints will be included in the response. +/// Only the healthy endpoints will be included in the response. Set either +/// `internal_load_balancer` or `external_endpoints`. Do not set both. class RRSetRoutingPolicyHealthCheckTargets { /// The Internet IP addresses to be health checked. /// @@ -4652,8 +4713,8 @@ class RRSetRoutingPolicyWrrPolicyWrrPolicyItem { /// DNSSEC generated signatures for all the `rrdata` within this item. /// - /// Note that if health checked targets are provided for DNSSEC enabled zones, - /// there's a restriction of 1 IP address per item. + /// When using health-checked targets for DNSSEC-enabled zones, you can only + /// use at most one health-checked IP address per item. core.List? signatureRrdatas; /// The weight corresponding to this `WrrPolicyItem` object. diff --git a/generated/googleapis/lib/docs/v1.dart b/generated/googleapis/lib/docs/v1.dart index 97cce3cf0..194de422e 100644 --- a/generated/googleapis/lib/docs/v1.dart +++ b/generated/googleapis/lib/docs/v1.dart @@ -968,8 +968,8 @@ class CreateParagraphBulletsRequest { /// corresponding edge of crop rectangle is positioned inside of the image's /// original bounding rectangle. - If the offset is negative or greater than 1, /// the corresponding edge of crop rectangle is positioned outside of the -/// image's original bounding rectangle. - If all offsets and rotation angle are -/// 0, the image is not cropped. +/// image's original bounding rectangle. - If all offsets and rotation angles +/// are 0, the image is not cropped. class CropProperties { /// The clockwise rotation angle of the crop rectangle around its center, in /// radians. @@ -1787,7 +1787,7 @@ class DocumentStyle { /// and DocumentStyle margin_footer, SectionStyle margin_footer are respected. /// /// When false, the default values in the Docs editor for header and footer - /// margin are used. This property is read-only. + /// margin is used. This property is read-only. core.bool? useCustomHeaderFooterMargins; /// Indicates whether to use the even page header / footer IDs for the even @@ -4240,7 +4240,7 @@ class NestingLevel { core.String? glyphFormat; /// A custom glyph symbol used by bullets when paragraphs at this level of - /// nesting are unordered. + /// nesting is unordered. /// /// The glyph symbol replaces placeholders within the glyph_format. For /// example, if the glyph_symbol is the solid circle corresponding to Unicode @@ -4249,14 +4249,14 @@ class NestingLevel { core.String? glyphSymbol; /// The type of glyph used by bullets when paragraphs at this level of nesting - /// are ordered. + /// is ordered. /// /// The glyph type determines the type of glyph used to replace placeholders /// within the glyph_format when paragraphs at this level of nesting are /// ordered. For example, if the nesting level is 0, the glyph_format is `%0.` /// and the glyph type is DECIMAL, then the rendered glyph would replace the - /// placeholder `%0` in the glyph format with a number corresponding to list - /// item's order within the list. + /// placeholder `%0` in the glyph format with a number corresponding to the + /// list item's order within the list. /// Possible string values are: /// - "GLYPH_TYPE_UNSPECIFIED" : The glyph type is unspecified or unsupported. /// - "NONE" : An empty string. diff --git a/generated/googleapis/lib/documentai/v1.dart b/generated/googleapis/lib/documentai/v1.dart index 294f52911..ba9b43c74 100644 --- a/generated/googleapis/lib/documentai/v1.dart +++ b/generated/googleapis/lib/documentai/v1.dart @@ -5180,8 +5180,20 @@ class GoogleCloudDocumentaiV1ProcessOptionsLayoutConfig { GoogleCloudDocumentaiV1ProcessOptionsLayoutConfigChunkingConfig? chunkingConfig; + /// Whether to include bounding boxes in layout parser processor response. + /// + /// Optional. + core.bool? returnBoundingBoxes; + + /// Whether to include images in layout parser processor response. + /// + /// Optional. + core.bool? returnImages; + GoogleCloudDocumentaiV1ProcessOptionsLayoutConfig({ this.chunkingConfig, + this.returnBoundingBoxes, + this.returnImages, }); GoogleCloudDocumentaiV1ProcessOptionsLayoutConfig.fromJson(core.Map json_) @@ -5191,10 +5203,15 @@ class GoogleCloudDocumentaiV1ProcessOptionsLayoutConfig { .fromJson(json_['chunkingConfig'] as core.Map) : null, + returnBoundingBoxes: json_['returnBoundingBoxes'] as core.bool?, + returnImages: json_['returnImages'] as core.bool?, ); core.Map toJson() => { if (chunkingConfig != null) 'chunkingConfig': chunkingConfig!, + if (returnBoundingBoxes != null) + 'returnBoundingBoxes': returnBoundingBoxes!, + if (returnImages != null) 'returnImages': returnImages!, }; } diff --git a/generated/googleapis/lib/domains/v1.dart b/generated/googleapis/lib/domains/v1.dart index 6941c7e9b..53cf9d6e3 100644 --- a/generated/googleapis/lib/domains/v1.dart +++ b/generated/googleapis/lib/domains/v1.dart @@ -2352,8 +2352,8 @@ class GeoPolicyItem { /// DNSSEC generated signatures for all the `rrdata` within this item. /// - /// If health checked targets are provided for DNSSEC enabled zones, there's a - /// restriction of 1 IP address per item. + /// When using health-checked targets for DNSSEC-enabled zones, you can only + /// use at most one health-checked IP address per item. core.List? signatureRrdata; GeoPolicyItem({ @@ -2505,7 +2505,8 @@ class GoogleDomainsDns { /// HealthCheckTargets describes endpoints to health-check when responding to /// Routing Policy queries. /// -/// Only the healthy endpoints will be included in the response. +/// Only the healthy endpoints will be included in the response. Set either +/// `internal_load_balancer` or `external_endpoints`. Do not set both. class HealthCheckTargets { /// The Internet IP addresses to be health checked. /// @@ -3137,9 +3138,11 @@ class RRSetRoutingPolicy { ) GeoPolicy? geoPolicy; - /// The selfLink attribute of the HealthCheck resource to use for this + /// The fully qualified URL of the HealthCheck to use for this /// RRSetRoutingPolicy. /// + /// Format this URL like + /// `https://www.googleapis.com/compute/v1/projects/{project}/global/healthChecks/{healthCheck}`. /// https://cloud.google.com/compute/docs/reference/rest/v1/healthChecks core.String? healthCheck; PrimaryBackupPolicy? primaryBackup; @@ -4105,8 +4108,8 @@ class WrrPolicyItem { /// DNSSEC generated signatures for all the `rrdata` within this item. /// - /// Note that if health checked targets are provided for DNSSEC enabled zones, - /// there's a restriction of 1 IP address per item. + /// When using health-checked targets for DNSSEC-enabled zones, you can only + /// use at most one health-checked IP address per item. core.List? signatureRrdata; /// The weight corresponding to this `WrrPolicyItem` object. diff --git a/generated/googleapis/lib/drive/v2.dart b/generated/googleapis/lib/drive/v2.dart index e37ff1346..b71086d65 100644 --- a/generated/googleapis/lib/drive/v2.dart +++ b/generated/googleapis/lib/drive/v2.dart @@ -3017,6 +3017,9 @@ class PermissionsResource { /// /// [permissionId] - The ID for the permission. /// + /// [enforceExpansiveAccess] - Whether the request should enforce expansive + /// access rules. + /// /// [supportsAllDrives] - Whether the requesting application supports both My /// Drives and shared drives. /// @@ -3038,12 +3041,15 @@ class PermissionsResource { async.Future delete( core.String fileId, core.String permissionId, { + core.bool? enforceExpansiveAccess, core.bool? supportsAllDrives, core.bool? supportsTeamDrives, core.bool? useDomainAdminAccess, core.String? $fields, }) async { final queryParams_ = >{ + if (enforceExpansiveAccess != null) + 'enforceExpansiveAccess': ['${enforceExpansiveAccess}'], if (supportsAllDrives != null) 'supportsAllDrives': ['${supportsAllDrives}'], if (supportsTeamDrives != null) @@ -3336,6 +3342,9 @@ class PermissionsResource { /// /// [permissionId] - The ID for the permission. /// + /// [enforceExpansiveAccess] - Whether the request should enforce expansive + /// access rules. + /// /// [removeExpiration] - Whether to remove the expiration date. /// /// [supportsAllDrives] - Whether the requesting application supports both My @@ -3366,6 +3375,7 @@ class PermissionsResource { Permission request, core.String fileId, core.String permissionId, { + core.bool? enforceExpansiveAccess, core.bool? removeExpiration, core.bool? supportsAllDrives, core.bool? supportsTeamDrives, @@ -3375,6 +3385,8 @@ class PermissionsResource { }) async { final body_ = convert_1.json.encode(request); final queryParams_ = >{ + if (enforceExpansiveAccess != null) + 'enforceExpansiveAccess': ['${enforceExpansiveAccess}'], if (removeExpiration != null) 'removeExpiration': ['${removeExpiration}'], if (supportsAllDrives != null) 'supportsAllDrives': ['${supportsAllDrives}'], @@ -3415,6 +3427,9 @@ class PermissionsResource { /// /// [permissionId] - The ID for the permission. /// + /// [enforceExpansiveAccess] - Whether the request should enforce expansive + /// access rules. + /// /// [removeExpiration] - Whether to remove the expiration date. /// /// [supportsAllDrives] - Whether the requesting application supports both My @@ -3445,6 +3460,7 @@ class PermissionsResource { Permission request, core.String fileId, core.String permissionId, { + core.bool? enforceExpansiveAccess, core.bool? removeExpiration, core.bool? supportsAllDrives, core.bool? supportsTeamDrives, @@ -3454,6 +3470,8 @@ class PermissionsResource { }) async { final body_ = convert_1.json.encode(request); final queryParams_ = >{ + if (enforceExpansiveAccess != null) + 'enforceExpansiveAccess': ['${enforceExpansiveAccess}'], if (removeExpiration != null) 'removeExpiration': ['${removeExpiration}'], if (supportsAllDrives != null) 'supportsAllDrives': ['${supportsAllDrives}'], @@ -6634,6 +6652,11 @@ class FileCapabilities { /// Output only. core.bool? canDeleteChildren; + /// Whether a user can disable inherited permissions. + /// + /// Output only. + core.bool? canDisableInheritedPermissions; + /// Whether the current user can download this file. /// /// Output only. @@ -6648,6 +6671,11 @@ class FileCapabilities { /// Output only. core.bool? canEdit; + /// Whether a user can re-enable inherited permissions. + /// + /// Output only. + core.bool? canEnableInheritedPermissions; + /// Whether the current user can list the children of this folder. /// /// This is always false when the item is not a folder. @@ -6863,8 +6891,10 @@ class FileCapabilities { this.canCopy, this.canDelete, this.canDeleteChildren, + this.canDisableInheritedPermissions, this.canDownload, this.canEdit, + this.canEnableInheritedPermissions, this.canListChildren, this.canModifyContent, this.canModifyContentRestriction, @@ -6912,8 +6942,12 @@ class FileCapabilities { canCopy: json_['canCopy'] as core.bool?, canDelete: json_['canDelete'] as core.bool?, canDeleteChildren: json_['canDeleteChildren'] as core.bool?, + canDisableInheritedPermissions: + json_['canDisableInheritedPermissions'] as core.bool?, canDownload: json_['canDownload'] as core.bool?, canEdit: json_['canEdit'] as core.bool?, + canEnableInheritedPermissions: + json_['canEnableInheritedPermissions'] as core.bool?, canListChildren: json_['canListChildren'] as core.bool?, canModifyContent: json_['canModifyContent'] as core.bool?, canModifyContentRestriction: @@ -6974,8 +7008,12 @@ class FileCapabilities { if (canCopy != null) 'canCopy': canCopy!, if (canDelete != null) 'canDelete': canDelete!, if (canDeleteChildren != null) 'canDeleteChildren': canDeleteChildren!, + if (canDisableInheritedPermissions != null) + 'canDisableInheritedPermissions': canDisableInheritedPermissions!, if (canDownload != null) 'canDownload': canDownload!, if (canEdit != null) 'canEdit': canEdit!, + if (canEnableInheritedPermissions != null) + 'canEnableInheritedPermissions': canEnableInheritedPermissions!, if (canListChildren != null) 'canListChildren': canListChildren!, if (canModifyContent != null) 'canModifyContent': canModifyContent!, if (canModifyContentRestriction != null) @@ -7711,6 +7749,11 @@ class File { /// Indexable text attributes for the file (can only be written) FileIndexableText? indexableText; + /// Whether this file has inherited permissions disabled. + /// + /// Inherited permissions are enabled by default. + core.bool? inheritedPermissionsDisabled; + /// Whether the file was created or opened by the requesting app. /// /// Output only. @@ -8030,6 +8073,7 @@ class File { this.id, this.imageMediaMetadata, this.indexableText, + this.inheritedPermissionsDisabled, this.isAppAuthorized, this.kind, this.labelInfo, @@ -8132,6 +8176,8 @@ class File { ? FileIndexableText.fromJson( json_['indexableText'] as core.Map) : null, + inheritedPermissionsDisabled: + json_['inheritedPermissionsDisabled'] as core.bool?, isAppAuthorized: json_['isAppAuthorized'] as core.bool?, kind: json_['kind'] as core.String?, labelInfo: json_.containsKey('labelInfo') @@ -8284,6 +8330,8 @@ class File { if (imageMediaMetadata != null) 'imageMediaMetadata': imageMediaMetadata!, if (indexableText != null) 'indexableText': indexableText!, + if (inheritedPermissionsDisabled != null) + 'inheritedPermissionsDisabled': inheritedPermissionsDisabled!, if (isAppAuthorized != null) 'isAppAuthorized': isAppAuthorized!, if (kind != null) 'kind': kind!, if (labelInfo != null) 'labelInfo': labelInfo!, @@ -8901,14 +8949,14 @@ class PermissionPermissionDetails { /// Whether this permission is inherited. /// - /// This field is always populated. This is an output-only field. + /// This field is always populated. /// /// Output only. core.bool? inherited; /// The ID of the item from which this permission is inherited. /// - /// This is an output-only field. + /// This is only populated for items in shared drives. /// /// Output only. core.String? inheritedFrom; @@ -9093,6 +9141,10 @@ class Permission { /// `anyone`, in which case both `id` and `value` are ignored. core.String? id; + /// When true, only organizers, owners, and users with permissions added + /// directly on the item can access it. + core.bool? inheritedPermissionsDisabled; + /// This is always `drive#permission`. /// /// Output only. @@ -9109,10 +9161,8 @@ class Permission { /// shared drive. core.bool? pendingOwner; - /// Details of whether the permissions on this shared drive item are inherited - /// or directly on this item. - /// - /// This is an output-only field which is present only for shared drive items. + /// Details of whether the permissions on this item are inherited or directly + /// on this item. /// /// Output only. core.List? permissionDetails; @@ -9157,8 +9207,12 @@ class Permission { /// Indicates the view for this permission. /// - /// Only populated for permissions that belong to a view. `published` is the - /// only supported value. + /// Only populated for permissions that belong to a view. published and + /// metadata are the only supported values. - published: The permission's role + /// is published_reader. - metadata: The item is only visible to the metadata + /// view because the item has limited access and the scope has at least read + /// access to the parent. Note: The metadata view is currently only supported + /// on folders. core.String? view; /// Whether the link is required for this permission. @@ -9173,6 +9227,7 @@ class Permission { this.etag, this.expirationDate, this.id, + this.inheritedPermissionsDisabled, this.kind, this.name, this.pendingOwner, @@ -9201,6 +9256,8 @@ class Permission { ? core.DateTime.parse(json_['expirationDate'] as core.String) : null, id: json_['id'] as core.String?, + inheritedPermissionsDisabled: + json_['inheritedPermissionsDisabled'] as core.bool?, kind: json_['kind'] as core.String?, name: json_['name'] as core.String?, pendingOwner: json_['pendingOwner'] as core.bool?, @@ -9232,6 +9289,8 @@ class Permission { if (expirationDate != null) 'expirationDate': expirationDate!.toUtc().toIso8601String(), if (id != null) 'id': id!, + if (inheritedPermissionsDisabled != null) + 'inheritedPermissionsDisabled': inheritedPermissionsDisabled!, if (kind != null) 'kind': kind!, if (name != null) 'name': name!, if (pendingOwner != null) 'pendingOwner': pendingOwner!, @@ -9528,7 +9587,7 @@ class Revision { /// A link to the published revision. /// - /// This is only populated for Google Sites files. + /// This is only populated for Docs Editors files. /// /// Output only. core.String? publishedLink; diff --git a/generated/googleapis/lib/drive/v3.dart b/generated/googleapis/lib/drive/v3.dart index c9bb221aa..880d9d36d 100644 --- a/generated/googleapis/lib/drive/v3.dart +++ b/generated/googleapis/lib/drive/v3.dart @@ -28,7 +28,6 @@ /// - [CommentsResource] /// - [DrivesResource] /// - [FilesResource] -/// - [OperationResource] /// - [OperationsResource] /// - [PermissionsResource] /// - [RepliesResource] @@ -110,7 +109,6 @@ class DriveApi { CommentsResource get comments => CommentsResource(_requester); DrivesResource get drives => DrivesResource(_requester); FilesResource get files => FilesResource(_requester); - OperationResource get operation => OperationResource(_requester); OperationsResource get operations => OperationsResource(_requester); PermissionsResource get permissions => PermissionsResource(_requester); RepliesResource get replies => RepliesResource(_requester); @@ -2288,10 +2286,10 @@ class FilesResource { } } -class OperationResource { +class OperationsResource { final commons.ApiRequester _requester; - OperationResource(commons.ApiRequester client) : _requester = client; + OperationsResource(commons.ApiRequester client) : _requester = client; /// Starts asynchronous cancellation on a long-running operation. /// @@ -2324,7 +2322,7 @@ class OperationResource { if ($fields != null) 'fields': [$fields], }; - final url_ = 'operation/' + commons.escapeVariable('$name') + ':cancel'; + final url_ = 'operations/' + commons.escapeVariable('$name') + ':cancel'; await _requester.request( url_, @@ -2360,7 +2358,7 @@ class OperationResource { if ($fields != null) 'fields': [$fields], }; - final url_ = 'operation/' + commons.escapeVariable('$name'); + final url_ = 'operations/' + commons.escapeVariable('$name'); await _requester.request( url_, @@ -2369,12 +2367,6 @@ class OperationResource { downloadOptions: null, ); } -} - -class OperationsResource { - final commons.ApiRequester _requester; - - OperationsResource(commons.ApiRequester client) : _requester = client; /// Gets the latest state of a long-running operation. /// @@ -2576,6 +2568,9 @@ class PermissionsResource { /// /// [permissionId] - The ID of the permission. /// + /// [enforceExpansiveAccess] - Whether the request should enforce expansive + /// access rules. + /// /// [supportsAllDrives] - Whether the requesting application supports both My /// Drives and shared drives. /// @@ -2597,12 +2592,15 @@ class PermissionsResource { async.Future delete( core.String fileId, core.String permissionId, { + core.bool? enforceExpansiveAccess, core.bool? supportsAllDrives, core.bool? supportsTeamDrives, core.bool? useDomainAdminAccess, core.String? $fields, }) async { final queryParams_ = >{ + if (enforceExpansiveAccess != null) + 'enforceExpansiveAccess': ['${enforceExpansiveAccess}'], if (supportsAllDrives != null) 'supportsAllDrives': ['${supportsAllDrives}'], if (supportsTeamDrives != null) @@ -2772,6 +2770,9 @@ class PermissionsResource { /// /// [permissionId] - The ID of the permission. /// + /// [enforceExpansiveAccess] - Whether the request should enforce expansive + /// access rules. + /// /// [removeExpiration] - Whether to remove the expiration date. /// /// [supportsAllDrives] - Whether the requesting application supports both My @@ -2802,6 +2803,7 @@ class PermissionsResource { Permission request, core.String fileId, core.String permissionId, { + core.bool? enforceExpansiveAccess, core.bool? removeExpiration, core.bool? supportsAllDrives, core.bool? supportsTeamDrives, @@ -2811,6 +2813,8 @@ class PermissionsResource { }) async { final body_ = convert.json.encode(request); final queryParams_ = >{ + if (enforceExpansiveAccess != null) + 'enforceExpansiveAccess': ['${enforceExpansiveAccess}'], if (removeExpiration != null) 'removeExpiration': ['${removeExpiration}'], if (supportsAllDrives != null) 'supportsAllDrives': ['${supportsAllDrives}'], @@ -4609,6 +4613,35 @@ class ContentRestriction { }; } +/// A restriction for copy and download of the file. +class DownloadRestriction { + /// Whether download and copy is restricted for readers. + core.bool? restrictedForReaders; + + /// Whether download and copy is restricted for writers. + /// + /// If true, download is also restricted for readers. + core.bool? restrictedForWriters; + + DownloadRestriction({ + this.restrictedForReaders, + this.restrictedForWriters, + }); + + DownloadRestriction.fromJson(core.Map json_) + : this( + restrictedForReaders: json_['restrictedForReaders'] as core.bool?, + restrictedForWriters: json_['restrictedForWriters'] as core.bool?, + ); + + core.Map toJson() => { + if (restrictedForReaders != null) + 'restrictedForReaders': restrictedForReaders!, + if (restrictedForWriters != null) + 'restrictedForWriters': restrictedForWriters!, + }; +} + /// An image file and cropping parameters from which a background image for this /// shared drive is set. /// @@ -4899,6 +4932,9 @@ class DriveRestrictions { /// outside of this shared drive. core.bool? domainUsersOnly; + /// Download restrictions applied by shared drive managers. + DownloadRestriction? downloadRestriction; + /// Whether access to items inside this shared drive is restricted to its /// members. core.bool? driveMembersOnly; @@ -4913,6 +4949,7 @@ class DriveRestrictions { this.adminManagedRestrictions, this.copyRequiresWriterPermission, this.domainUsersOnly, + this.downloadRestriction, this.driveMembersOnly, this.sharingFoldersRequiresOrganizerPermission, }); @@ -4924,6 +4961,10 @@ class DriveRestrictions { copyRequiresWriterPermission: json_['copyRequiresWriterPermission'] as core.bool?, domainUsersOnly: json_['domainUsersOnly'] as core.bool?, + downloadRestriction: json_.containsKey('downloadRestriction') + ? DownloadRestriction.fromJson(json_['downloadRestriction'] + as core.Map) + : null, driveMembersOnly: json_['driveMembersOnly'] as core.bool?, sharingFoldersRequiresOrganizerPermission: json_['sharingFoldersRequiresOrganizerPermission'] as core.bool?, @@ -4935,6 +4976,8 @@ class DriveRestrictions { if (copyRequiresWriterPermission != null) 'copyRequiresWriterPermission': copyRequiresWriterPermission!, if (domainUsersOnly != null) 'domainUsersOnly': domainUsersOnly!, + if (downloadRestriction != null) + 'downloadRestriction': downloadRestriction!, if (driveMembersOnly != null) 'driveMembersOnly': driveMembersOnly!, if (sharingFoldersRequiresOrganizerPermission != null) 'sharingFoldersRequiresOrganizerPermission': @@ -5206,6 +5249,9 @@ class FileCapabilities { /// Output only. core.bool? canDeleteChildren; + /// Whether a user can disable inherited permissions. + core.bool? canDisableInheritedPermissions; + /// Whether the current user can download this file. /// /// Output only. @@ -5220,6 +5266,9 @@ class FileCapabilities { /// Output only. core.bool? canEdit; + /// Whether a user can re-enable inherited permissions. + core.bool? canEnableInheritedPermissions; + /// Whether the current user can list the children of this folder. /// /// This is always false when the item is not a folder. @@ -5434,8 +5483,10 @@ class FileCapabilities { this.canCopy, this.canDelete, this.canDeleteChildren, + this.canDisableInheritedPermissions, this.canDownload, this.canEdit, + this.canEnableInheritedPermissions, this.canListChildren, this.canModifyContent, this.canModifyContentRestriction, @@ -5483,8 +5534,12 @@ class FileCapabilities { canCopy: json_['canCopy'] as core.bool?, canDelete: json_['canDelete'] as core.bool?, canDeleteChildren: json_['canDeleteChildren'] as core.bool?, + canDisableInheritedPermissions: + json_['canDisableInheritedPermissions'] as core.bool?, canDownload: json_['canDownload'] as core.bool?, canEdit: json_['canEdit'] as core.bool?, + canEnableInheritedPermissions: + json_['canEnableInheritedPermissions'] as core.bool?, canListChildren: json_['canListChildren'] as core.bool?, canModifyContent: json_['canModifyContent'] as core.bool?, canModifyContentRestriction: @@ -5545,8 +5600,12 @@ class FileCapabilities { if (canCopy != null) 'canCopy': canCopy!, if (canDelete != null) 'canDelete': canDelete!, if (canDeleteChildren != null) 'canDeleteChildren': canDeleteChildren!, + if (canDisableInheritedPermissions != null) + 'canDisableInheritedPermissions': canDisableInheritedPermissions!, if (canDownload != null) 'canDownload': canDownload!, if (canEdit != null) 'canEdit': canEdit!, + if (canEnableInheritedPermissions != null) + 'canEnableInheritedPermissions': canEnableInheritedPermissions!, if (canListChildren != null) 'canListChildren': canListChildren!, if (canModifyContent != null) 'canModifyContent': canModifyContent!, if (canModifyContentRestriction != null) @@ -6156,6 +6215,11 @@ class File { /// Output only. FileImageMediaMetadata? imageMediaMetadata; + /// Whether this file has inherited permissions disabled. + /// + /// Inherited permissions are enabled by default. + core.bool? inheritedPermissionsDisabled; + /// Whether the file was created or opened by the requesting app. /// /// Output only. @@ -6453,6 +6517,7 @@ class File { this.iconLink, this.id, this.imageMediaMetadata, + this.inheritedPermissionsDisabled, this.isAppAuthorized, this.kind, this.labelInfo, @@ -6549,6 +6614,8 @@ class File { ? FileImageMediaMetadata.fromJson(json_['imageMediaMetadata'] as core.Map) : null, + inheritedPermissionsDisabled: + json_['inheritedPermissionsDisabled'] as core.bool?, isAppAuthorized: json_['isAppAuthorized'] as core.bool?, kind: json_['kind'] as core.String?, labelInfo: json_.containsKey('labelInfo') @@ -6669,6 +6736,8 @@ class File { if (id != null) 'id': id!, if (imageMediaMetadata != null) 'imageMediaMetadata': imageMediaMetadata!, + if (inheritedPermissionsDisabled != null) + 'inheritedPermissionsDisabled': inheritedPermissionsDisabled!, if (isAppAuthorized != null) 'isAppAuthorized': isAppAuthorized!, if (kind != null) 'kind': kind!, if (labelInfo != null) 'labelInfo': labelInfo!, @@ -7313,7 +7382,7 @@ class PermissionPermissionDetails { /// The ID of the item from which this permission is inherited. /// - /// This is an output-only field. + /// This is only populated for items in shared drives. /// /// Output only. core.String? inheritedFrom; @@ -7329,8 +7398,8 @@ class PermissionPermissionDetails { /// The primary role for this user. /// /// While new values may be added in the future, the following are currently - /// possible: * `organizer` * `fileOrganizer` * `writer` * `commenter` * - /// `reader` + /// possible: * `owner` * `organizer` * `fileOrganizer` * `writer` * + /// `commenter` * `reader` /// /// Output only. core.String? role; @@ -7471,6 +7540,10 @@ class Permission { /// Output only. core.String? id; + /// When true, only organizers, owners, and users with permissions added + /// directly on the item can access it. + core.bool? inheritedPermissionsDisabled; + /// Identifies what kind of resource this is. /// /// Value: the fixed string `"drive#permission"`. @@ -7484,10 +7557,8 @@ class Permission { /// shared drive. core.bool? pendingOwner; - /// Details of whether the permissions on this shared drive item are inherited - /// or directly on this item. - /// - /// This is an output-only field which is present only for shared drive items. + /// Details of whether the permissions on this item are inherited or directly + /// on this item. /// /// Output only. core.List? permissionDetails; @@ -7525,8 +7596,12 @@ class Permission { /// Indicates the view for this permission. /// - /// Only populated for permissions that belong to a view. 'published' is the - /// only supported value. + /// Only populated for permissions that belong to a view. published and + /// metadata are the only supported values. - published: The permission's role + /// is published_reader. - metadata: The item is only visible to the metadata + /// view because the item has limited access and the scope has at least read + /// access to the parent. Note: The metadata view is currently only supported + /// on folders. core.String? view; Permission({ @@ -7537,6 +7612,7 @@ class Permission { this.emailAddress, this.expirationTime, this.id, + this.inheritedPermissionsDisabled, this.kind, this.pendingOwner, this.permissionDetails, @@ -7558,6 +7634,8 @@ class Permission { ? core.DateTime.parse(json_['expirationTime'] as core.String) : null, id: json_['id'] as core.String?, + inheritedPermissionsDisabled: + json_['inheritedPermissionsDisabled'] as core.bool?, kind: json_['kind'] as core.String?, pendingOwner: json_['pendingOwner'] as core.bool?, permissionDetails: (json_['permissionDetails'] as core.List?) @@ -7585,6 +7663,8 @@ class Permission { if (expirationTime != null) 'expirationTime': expirationTime!.toUtc().toIso8601String(), if (id != null) 'id': id!, + if (inheritedPermissionsDisabled != null) + 'inheritedPermissionsDisabled': inheritedPermissionsDisabled!, if (kind != null) 'kind': kind!, if (pendingOwner != null) 'pendingOwner': pendingOwner!, if (permissionDetails != null) 'permissionDetails': permissionDetails!, @@ -7917,7 +7997,7 @@ class Revision { /// A link to the published revision. /// - /// This is only populated for Google Sites files. + /// This is only populated for Docs Editors files. /// /// Output only. core.String? publishedLink; @@ -8338,6 +8418,9 @@ class TeamDriveRestrictions { /// outside of this Team Drive. core.bool? domainUsersOnly; + /// Download restrictions applied by shared drive managers. + DownloadRestriction? downloadRestriction; + /// If true, only users with the organizer role can share folders. /// /// If false, users with either the organizer role or the file organizer role @@ -8352,6 +8435,7 @@ class TeamDriveRestrictions { this.adminManagedRestrictions, this.copyRequiresWriterPermission, this.domainUsersOnly, + this.downloadRestriction, this.sharingFoldersRequiresOrganizerPermission, this.teamMembersOnly, }); @@ -8363,6 +8447,10 @@ class TeamDriveRestrictions { copyRequiresWriterPermission: json_['copyRequiresWriterPermission'] as core.bool?, domainUsersOnly: json_['domainUsersOnly'] as core.bool?, + downloadRestriction: json_.containsKey('downloadRestriction') + ? DownloadRestriction.fromJson(json_['downloadRestriction'] + as core.Map) + : null, sharingFoldersRequiresOrganizerPermission: json_['sharingFoldersRequiresOrganizerPermission'] as core.bool?, teamMembersOnly: json_['teamMembersOnly'] as core.bool?, @@ -8374,6 +8462,8 @@ class TeamDriveRestrictions { if (copyRequiresWriterPermission != null) 'copyRequiresWriterPermission': copyRequiresWriterPermission!, if (domainUsersOnly != null) 'domainUsersOnly': domainUsersOnly!, + if (downloadRestriction != null) + 'downloadRestriction': downloadRestriction!, if (sharingFoldersRequiresOrganizerPermission != null) 'sharingFoldersRequiresOrganizerPermission': sharingFoldersRequiresOrganizerPermission!, diff --git a/generated/googleapis/lib/eventarc/v1.dart b/generated/googleapis/lib/eventarc/v1.dart index c93d78f99..78eefbfd6 100644 --- a/generated/googleapis/lib/eventarc/v1.dart +++ b/generated/googleapis/lib/eventarc/v1.dart @@ -26,6 +26,7 @@ /// - [ProjectsLocationsChannelsResource] /// - [ProjectsLocationsEnrollmentsResource] /// - [ProjectsLocationsGoogleApiSourcesResource] +/// - [ProjectsLocationsKafkaSourcesResource] /// - [ProjectsLocationsMessageBusesResource] /// - [ProjectsLocationsOperationsResource] /// - [ProjectsLocationsPipelinesResource] @@ -84,6 +85,8 @@ class ProjectsLocationsResource { ProjectsLocationsEnrollmentsResource(_requester); ProjectsLocationsGoogleApiSourcesResource get googleApiSources => ProjectsLocationsGoogleApiSourcesResource(_requester); + ProjectsLocationsKafkaSourcesResource get kafkaSources => + ProjectsLocationsKafkaSourcesResource(_requester); ProjectsLocationsMessageBusesResource get messageBuses => ProjectsLocationsMessageBusesResource(_requester); ProjectsLocationsOperationsResource get operations => @@ -132,7 +135,10 @@ class ProjectsLocationsResource { return Location.fromJson(response_ as core.Map); } - /// Get a GoogleChannelConfig + /// Get a GoogleChannelConfig. + /// + /// The name of the GoogleChannelConfig in the response is ALWAYS coded with + /// projectID. /// /// Request parameters: /// @@ -228,7 +234,9 @@ class ProjectsLocationsResource { /// Request parameters: /// /// [name] - Required. The resource name of the config. Must be in the format - /// of, `projects/{project}/locations/{location}/googleChannelConfig`. + /// of, `projects/{project}/locations/{location}/googleChannelConfig`. In API + /// responses, the config name always includes the projectID, regardless of + /// whether the projectID or projectNumber was provided. /// Value must have pattern /// `^projects/\[^/\]+/locations/\[^/\]+/googleChannelConfig$`. /// @@ -1855,6 +1863,168 @@ class ProjectsLocationsGoogleApiSourcesResource { } } +class ProjectsLocationsKafkaSourcesResource { + final commons.ApiRequester _requester; + + ProjectsLocationsKafkaSourcesResource(commons.ApiRequester client) + : _requester = client; + + /// Gets the access control policy for a resource. + /// + /// Returns an empty policy if the resource exists and does not have a policy + /// set. + /// + /// Request parameters: + /// + /// [resource] - REQUIRED: The resource for which the policy is being + /// requested. See + /// [Resource names](https://cloud.google.com/apis/design/resource_names) for + /// the appropriate value for this field. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/kafkaSources/\[^/\]+$`. + /// + /// [options_requestedPolicyVersion] - Optional. The maximum policy version + /// that will be used to format the policy. Valid values are 0, 1, and 3. + /// Requests specifying an invalid value will be rejected. Requests for + /// policies with any conditional role bindings must specify version 3. + /// Policies with no conditional role bindings may specify any valid value or + /// leave the field unset. The policy in the response might use the policy + /// version that you specified, or it might use a lower policy version. For + /// example, if you specify version 3, but the policy has no conditional role + /// bindings, the response uses version 1. To learn which resources support + /// conditions in their IAM policies, see the + /// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Policy]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future getIamPolicy( + core.String resource, { + core.int? options_requestedPolicyVersion, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (options_requestedPolicyVersion != null) + 'options.requestedPolicyVersion': ['${options_requestedPolicyVersion}'], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':getIamPolicy'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return Policy.fromJson(response_ as core.Map); + } + + /// Sets the access control policy on the specified resource. + /// + /// Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, + /// and `PERMISSION_DENIED` errors. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [resource] - REQUIRED: The resource for which the policy is being + /// specified. See + /// [Resource names](https://cloud.google.com/apis/design/resource_names) for + /// the appropriate value for this field. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/kafkaSources/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Policy]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future setIamPolicy( + SetIamPolicyRequest request, + core.String resource, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':setIamPolicy'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Policy.fromJson(response_ as core.Map); + } + + /// Returns permissions that a caller has on the specified resource. + /// + /// If the resource does not exist, this will return an empty set of + /// permissions, not a `NOT_FOUND` error. Note: This operation is designed to + /// be used for building permission-aware UIs and command-line tools, not for + /// authorization checking. This operation may "fail open" without warning. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [resource] - REQUIRED: The resource for which the policy detail is being + /// requested. See + /// [Resource names](https://cloud.google.com/apis/design/resource_names) for + /// the appropriate value for this field. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/kafkaSources/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [TestIamPermissionsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future testIamPermissions( + TestIamPermissionsRequest request, + core.String resource, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v1/' + core.Uri.encodeFull('$resource') + ':testIamPermissions'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return TestIamPermissionsResponse.fromJson( + response_ as core.Map); + } +} + class ProjectsLocationsMessageBusesResource { final commons.ApiRequester _requester; @@ -4506,7 +4676,9 @@ class GoogleChannelConfig { /// The resource name of the config. /// /// Must be in the format of, - /// `projects/{project}/locations/{location}/googleChannelConfig`. + /// `projects/{project}/locations/{location}/googleChannelConfig`. In API + /// responses, the config name always includes the projectID, regardless of + /// whether the projectID or projectNumber was provided. /// /// Required. core.String? name; @@ -4896,7 +5068,7 @@ class GoogleCloudEventarcV1PipelineDestinationHttpEndpoint { /// Optional. core.String? messageBindingTemplate; - /// The URI of the HTTP enpdoint. + /// The URI of the HTTP endpoint. /// /// The value must be a RFC2396 URI string. Examples: /// `https://svc.us-central1.p.local:8080/route`. Only the HTTPS protocol is @@ -5267,7 +5439,7 @@ typedef GoogleRpcStatus = $Status00; /// Represents a HTTP endpoint destination. class HttpEndpoint { - /// The URI of the HTTP enpdoint. + /// The URI of the HTTP endpoint. /// /// The value must be a RFC2396 URI string. Examples: /// `http://10.10.10.8:80/route`, `http://svc.us-central1.p.local:8080/`. Only diff --git a/generated/googleapis/lib/fcm/v1.dart b/generated/googleapis/lib/fcm/v1.dart index 2a43ae36c..ba919b532 100644 --- a/generated/googleapis/lib/fcm/v1.dart +++ b/generated/googleapis/lib/fcm/v1.dart @@ -15,7 +15,7 @@ /// Firebase Cloud Messaging API - v1 /// /// FCM send API that provides a cross-platform messaging solution to reliably -/// deliver messages at no cost. +/// deliver messages. /// /// For more information, see /// @@ -39,7 +39,7 @@ export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' show ApiRequestError, DetailedApiRequestError; /// FCM send API that provides a cross-platform messaging solution to reliably -/// deliver messages at no cost. +/// deliver messages. class FirebaseCloudMessagingApi { /// See, edit, configure, and delete your Google Cloud data and see the email /// address for your Google Account. @@ -124,6 +124,12 @@ class ProjectsMessagesResource { /// Android specific options for messages sent through /// [FCM connection server](https://goo.gl/4GLdUl). class AndroidConfig { + /// If set to true, messages will be allowed to be delivered to the app while + /// the device is in bandwidth constrained mode. + /// + /// Optional. + core.bool? bandwidthConstrainedOk; + /// An identifier of a group of messages that can be collapsed, so that only /// the last message gets sent when delivery can be resumed. /// @@ -188,6 +194,7 @@ class AndroidConfig { core.String? ttl; AndroidConfig({ + this.bandwidthConstrainedOk, this.collapseKey, this.data, this.directBootOk, @@ -200,6 +207,7 @@ class AndroidConfig { AndroidConfig.fromJson(core.Map json_) : this( + bandwidthConstrainedOk: json_['bandwidthConstrainedOk'] as core.bool?, collapseKey: json_['collapseKey'] as core.String?, data: (json_['data'] as core.Map?)?.map( (key, value) => core.MapEntry( @@ -222,6 +230,8 @@ class AndroidConfig { ); core.Map toJson() => { + if (bandwidthConstrainedOk != null) + 'bandwidthConstrainedOk': bandwidthConstrainedOk!, if (collapseKey != null) 'collapseKey': collapseKey!, if (data != null) 'data': data!, if (directBootOk != null) 'directBootOk': directBootOk!, diff --git a/generated/googleapis/lib/file/v1.dart b/generated/googleapis/lib/file/v1.dart index 5dfe5e393..ca9b48b48 100644 --- a/generated/googleapis/lib/file/v1.dart +++ b/generated/googleapis/lib/file/v1.dart @@ -1534,17 +1534,18 @@ class IOPSPerTB { /// A Filestore instance. class Instance { - /// Indicates whether this instance's performance is configurable. - /// - /// If enabled, adjust it using the 'performance_config' field. + /// The time when the instance was created. /// /// Output only. - core.bool? configurablePerformanceEnabled; + core.String? createTime; - /// The time when the instance was created. + /// Indicates whether this instance supports configuring its performance. + /// + /// If true, the user can configure the instance's performance by using the + /// 'performance_config' field. /// /// Output only. - core.String? createTime; + core.bool? customPerformanceSupported; /// Indicates whether the instance is protected against deletion. /// @@ -1692,8 +1693,8 @@ class Instance { core.String? tier; Instance({ - this.configurablePerformanceEnabled, this.createTime, + this.customPerformanceSupported, this.deletionProtectionEnabled, this.deletionProtectionReason, this.description, @@ -1718,9 +1719,9 @@ class Instance { Instance.fromJson(core.Map json_) : this( - configurablePerformanceEnabled: - json_['configurablePerformanceEnabled'] as core.bool?, createTime: json_['createTime'] as core.String?, + customPerformanceSupported: + json_['customPerformanceSupported'] as core.bool?, deletionProtectionEnabled: json_['deletionProtectionEnabled'] as core.bool?, deletionProtectionReason: @@ -1774,9 +1775,9 @@ class Instance { ); core.Map toJson() => { - if (configurablePerformanceEnabled != null) - 'configurablePerformanceEnabled': configurablePerformanceEnabled!, if (createTime != null) 'createTime': createTime!, + if (customPerformanceSupported != null) + 'customPerformanceSupported': customPerformanceSupported!, if (deletionProtectionEnabled != null) 'deletionProtectionEnabled': deletionProtectionEnabled!, if (deletionProtectionReason != null) @@ -2246,14 +2247,14 @@ class PerformanceConfig { /// Provision IOPS dynamically based on the capacity of the instance. /// - /// Provisioned read IOPS will be calculated by multiplying the capacity of - /// the instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB - /// instance with an `iops_per_tb` value of 17000 the provisioned read IOPS - /// will be 34000. If the calculated value is outside the supported range for - /// the instance's capacity during instance creation, instance creation will - /// fail with an `InvalidArgument` error. Similarly, if an instance capacity - /// update would result in a value outside the supported range, the update - /// will fail with an `InvalidArgument` error. + /// Provisioned IOPS will be calculated by multiplying the capacity of the + /// instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB + /// instance with an `iops_per_tb` value of 17000 the provisioned IOPS will be + /// 34000. If the calculated value is outside the supported range for the + /// instance's capacity during instance creation, instance creation will fail + /// with an `InvalidArgument` error. Similarly, if an instance capacity update + /// would result in a value outside the supported range, the update will fail + /// with an `InvalidArgument` error. IOPSPerTB? iopsPerTb; PerformanceConfig({ @@ -2282,6 +2283,11 @@ class PerformanceConfig { /// The enforced performance limits, calculated from the instance's performance /// configuration. class PerformanceLimits { + /// The max IOPS. + /// + /// Output only. + core.String? maxIops; + /// The max read IOPS. /// /// Output only. @@ -2303,6 +2309,7 @@ class PerformanceLimits { core.String? maxWriteThroughputBps; PerformanceLimits({ + this.maxIops, this.maxReadIops, this.maxReadThroughputBps, this.maxWriteIops, @@ -2311,6 +2318,7 @@ class PerformanceLimits { PerformanceLimits.fromJson(core.Map json_) : this( + maxIops: json_['maxIops'] as core.String?, maxReadIops: json_['maxReadIops'] as core.String?, maxReadThroughputBps: json_['maxReadThroughputBps'] as core.String?, maxWriteIops: json_['maxWriteIops'] as core.String?, @@ -2318,6 +2326,7 @@ class PerformanceLimits { ); core.Map toJson() => { + if (maxIops != null) 'maxIops': maxIops!, if (maxReadIops != null) 'maxReadIops': maxReadIops!, if (maxReadThroughputBps != null) 'maxReadThroughputBps': maxReadThroughputBps!, @@ -2328,7 +2337,29 @@ class PerformanceLimits { } /// PromoteReplicaRequest promotes a Filestore standby instance (replica). -typedef PromoteReplicaRequest = $Empty; +class PromoteReplicaRequest { + /// The resource name of the peer instance to promote, in the format + /// `projects/{project_id}/locations/{location_id}/instances/{instance_id}`. + /// + /// The peer instance is required if the operation is called on an active + /// instance. + /// + /// Optional. + core.String? peerInstance; + + PromoteReplicaRequest({ + this.peerInstance, + }); + + PromoteReplicaRequest.fromJson(core.Map json_) + : this( + peerInstance: json_['peerInstance'] as core.String?, + ); + + core.Map toJson() => { + if (peerInstance != null) 'peerInstance': peerInstance!, + }; +} /// Replica configuration for the instance. class ReplicaConfig { diff --git a/generated/googleapis/lib/firestore/v1.dart b/generated/googleapis/lib/firestore/v1.dart index ad5ab1c1e..27c3f4a73 100644 --- a/generated/googleapis/lib/firestore/v1.dart +++ b/generated/googleapis/lib/firestore/v1.dart @@ -3461,8 +3461,8 @@ class FindNearest { /// The behavior of the specified `distance_measure` will affect the meaning /// of the distance threshold. Since DOT_PRODUCT distances increase when the /// vectors are more similar, the comparison is inverted. * For EUCLIDEAN, - /// COSINE: WHERE distance \<= distance_threshold * For DOT_PRODUCT: WHERE - /// distance \>= distance_threshold + /// COSINE: `WHERE distance <= distance_threshold` * For DOT_PRODUCT: `WHERE + /// distance >= distance_threshold` /// /// Optional. core.double? distanceThreshold; diff --git a/generated/googleapis/lib/forms/v1.dart b/generated/googleapis/lib/forms/v1.dart index 083be6e30..054c5c624 100644 --- a/generated/googleapis/lib/forms/v1.dart +++ b/generated/googleapis/lib/forms/v1.dart @@ -16,7 +16,8 @@ /// /// Reads and writes Google Forms and responses. /// -/// For more information, see +/// For more information, see +/// /// /// Create an instance of [FormsApi] to access these resources: /// @@ -136,6 +137,10 @@ class FormsResource { /// /// Request parameters: /// + /// [unpublished] - Optional. Whether the form is unpublished. If set to + /// `true`, the form doesn't accept responses. If set to `false` or unset, the + /// form is published and accepts responses. + /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// @@ -148,10 +153,12 @@ class FormsResource { /// this method will complete with the same error. async.Future
create( Form request, { + core.bool? unpublished, core.String? $fields, }) async { final body_ = convert.json.encode(request); final queryParams_ = >{ + if (unpublished != null) 'unpublished': ['${unpublished}'], if ($fields != null) 'fields': [$fields], }; @@ -199,6 +206,51 @@ class FormsResource { ); return Form.fromJson(response_ as core.Map); } + + /// Updates the publish settings of a form. + /// + /// Legacy forms aren't supported because they don't have the + /// `publish_settings` field. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [formId] - Required. The ID of the form. You can get the id from + /// `Form.form_id` field. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [SetPublishSettingsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future setPublishSettings( + SetPublishSettingsRequest request, + core.String formId, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v1/forms/' + commons.escapeVariable('$formId') + ':setPublishSettings'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return SetPublishSettingsResponse.fromJson( + response_ as core.Map); + } } class FormsResponsesResource { @@ -1112,6 +1164,16 @@ class Form { /// Output only. core.String? linkedSheetId; + /// The publishing settings for a form. + /// + /// This field isn't set for legacy forms because they don't have the + /// `publish_settings` field. All newly created forms support publish + /// settings. Forms with `publish_settings` value set can call + /// UpdatePublishSettings API to publish or unpublish the form. + /// + /// Output only. + PublishSettings? publishSettings; + /// The form URI to share with responders. /// /// This opens a page that allows the user to submit responses but not edit @@ -1145,6 +1207,7 @@ class Form { this.info, this.items, this.linkedSheetId, + this.publishSettings, this.responderUri, this.revisionId, this.settings, @@ -1162,6 +1225,10 @@ class Form { Item.fromJson(value as core.Map)) .toList(), linkedSheetId: json_['linkedSheetId'] as core.String?, + publishSettings: json_.containsKey('publishSettings') + ? PublishSettings.fromJson(json_['publishSettings'] + as core.Map) + : null, responderUri: json_['responderUri'] as core.String?, revisionId: json_['revisionId'] as core.String?, settings: json_.containsKey('settings') @@ -1175,6 +1242,7 @@ class Form { if (info != null) 'info': info!, if (items != null) 'items': items!, if (linkedSheetId != null) 'linkedSheetId': linkedSheetId!, + if (publishSettings != null) 'publishSettings': publishSettings!, if (responderUri != null) 'responderUri': responderUri!, if (revisionId != null) 'revisionId': revisionId!, if (settings != null) 'settings': settings!, @@ -1264,15 +1332,32 @@ class FormResponse { /// A form's settings. class FormSettings { + /// The setting that determines whether the form collects email addresses from + /// respondents. + /// + /// Optional. + /// Possible string values are: + /// - "EMAIL_COLLECTION_TYPE_UNSPECIFIED" : Unspecified. This value is unused. + /// - "DO_NOT_COLLECT" : The form doesn't collect email addresses. Default + /// value if the form owner uses a Google account. + /// - "VERIFIED" : The form collects email addresses automatically based on + /// the account of the signed-in user. Default value if the form owner uses a + /// Google Workspace account. + /// - "RESPONDER_INPUT" : The form collects email addresses using a field that + /// the respondent completes on the form. + core.String? emailCollectionType; + /// Settings related to quiz forms and grading. QuizSettings? quizSettings; FormSettings({ + this.emailCollectionType, this.quizSettings, }); FormSettings.fromJson(core.Map json_) : this( + emailCollectionType: json_['emailCollectionType'] as core.String?, quizSettings: json_.containsKey('quizSettings') ? QuizSettings.fromJson( json_['quizSettings'] as core.Map) @@ -1280,6 +1365,8 @@ class FormSettings { ); core.Map toJson() => { + if (emailCollectionType != null) + 'emailCollectionType': emailCollectionType!, if (quizSettings != null) 'quizSettings': quizSettings!, }; } @@ -1854,6 +1941,67 @@ class Option { /// The title and description of this item are shown at the top of the new page. typedef PageBreakItem = $Empty; +/// The publishing settings of a form. +class PublishSettings { + /// The publishing state of a form. + /// + /// When updating `publish_state`, both `is_published` and + /// `is_accepting_responses` must be set. However, setting + /// `is_accepting_responses` to `true` and `is_published` to `false` isn't + /// supported and returns an error. + /// + /// Optional. + PublishState? publishState; + + PublishSettings({ + this.publishState, + }); + + PublishSettings.fromJson(core.Map json_) + : this( + publishState: json_.containsKey('publishState') + ? PublishState.fromJson( + json_['publishState'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (publishState != null) 'publishState': publishState!, + }; +} + +/// The publishing state of a form. +class PublishState { + /// Whether the form accepts responses. + /// + /// If `is_published` is set to `false`, this field is forced to `false`. + /// + /// Required. + core.bool? isAcceptingResponses; + + /// Whether the form is published and visible to others. + /// + /// Required. + core.bool? isPublished; + + PublishState({ + this.isAcceptingResponses, + this.isPublished, + }); + + PublishState.fromJson(core.Map json_) + : this( + isAcceptingResponses: json_['isAcceptingResponses'] as core.bool?, + isPublished: json_['isPublished'] as core.bool?, + ); + + core.Map toJson() => { + if (isAcceptingResponses != null) + 'isAcceptingResponses': isAcceptingResponses!, + if (isPublished != null) 'isPublished': isPublished!, + }; +} + /// Any question. /// /// The specific type of question is known by its `kind`. @@ -2265,6 +2413,74 @@ class ScaleQuestion { }; } +/// Updates the publish settings of a Form. +class SetPublishSettingsRequest { + /// The desired publish settings to apply to the form. + /// + /// Required. + PublishSettings? publishSettings; + + /// The `publish_settings` fields to update. + /// + /// This field mask accepts the following values: * `publish_state`: Updates + /// or replaces all `publish_state` settings. * `"*"`: Updates or replaces all + /// `publish_settings` fields. + /// + /// Optional. + core.String? updateMask; + + SetPublishSettingsRequest({ + this.publishSettings, + this.updateMask, + }); + + SetPublishSettingsRequest.fromJson(core.Map json_) + : this( + publishSettings: json_.containsKey('publishSettings') + ? PublishSettings.fromJson(json_['publishSettings'] + as core.Map) + : null, + updateMask: json_['updateMask'] as core.String?, + ); + + core.Map toJson() => { + if (publishSettings != null) 'publishSettings': publishSettings!, + if (updateMask != null) 'updateMask': updateMask!, + }; +} + +/// The response of a `SetPublishSettings` request. +class SetPublishSettingsResponse { + /// The ID of the Form. + /// + /// This is same as the `Form.form_id` field. + /// + /// Required. + core.String? formId; + + /// The publish settings of the form. + PublishSettings? publishSettings; + + SetPublishSettingsResponse({ + this.formId, + this.publishSettings, + }); + + SetPublishSettingsResponse.fromJson(core.Map json_) + : this( + formId: json_['formId'] as core.String?, + publishSettings: json_.containsKey('publishSettings') + ? PublishSettings.fromJson(json_['publishSettings'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (formId != null) 'formId': formId!, + if (publishSettings != null) 'publishSettings': publishSettings!, + }; +} + /// An answer to a question represented as text. class TextAnswer { /// The answer value. diff --git a/generated/googleapis/lib/gkebackup/v1.dart b/generated/googleapis/lib/gkebackup/v1.dart index 5d5fe6d8f..8780c041d 100644 --- a/generated/googleapis/lib/gkebackup/v1.dart +++ b/generated/googleapis/lib/gkebackup/v1.dart @@ -2826,6 +2826,9 @@ class Backup { /// Human-readable description of why the backup is in the current `state`. /// + /// This field is only meant for human readability and should not be used + /// programmatically as this field is not guaranteed to be consistent. + /// /// Output only. core.String? stateReason; @@ -3111,6 +3114,15 @@ class BackupPlan { /// Optional. core.Map? labels; + /// Completion time of the last successful Backup. + /// + /// This is sourced from a successful Backup's complete_time field. This field + /// is added to maintain consistency with BackupPlanBinding to display last + /// successful backup time. + /// + /// Output only. + core.String? lastSuccessfulBackupTime; + /// The full name of the BackupPlan resource. /// /// Format: `projects / * /locations / * /backupPlans / * ` @@ -3159,7 +3171,10 @@ class BackupPlan { /// - "DELETING" : The BackupPlan is in the process of being deleted. core.String? state; - /// Human-readable description of why BackupPlan is in the current `state` + /// Human-readable description of why BackupPlan is in the current `state`. + /// + /// This field is only meant for human readability and should not be used + /// programmatically as this field is not guaranteed to be consistent. /// /// Output only. core.String? stateReason; @@ -3185,6 +3200,7 @@ class BackupPlan { this.description, this.etag, this.labels, + this.lastSuccessfulBackupTime, this.name, this.protectedPodCount, this.retentionPolicy, @@ -3218,6 +3234,8 @@ class BackupPlan { value as core.String, ), ), + lastSuccessfulBackupTime: + json_['lastSuccessfulBackupTime'] as core.String?, name: json_['name'] as core.String?, protectedPodCount: json_['protectedPodCount'] as core.int?, retentionPolicy: json_.containsKey('retentionPolicy') @@ -3241,6 +3259,8 @@ class BackupPlan { if (description != null) 'description': description!, if (etag != null) 'etag': etag!, if (labels != null) 'labels': labels!, + if (lastSuccessfulBackupTime != null) + 'lastSuccessfulBackupTime': lastSuccessfulBackupTime!, if (name != null) 'name': name!, if (protectedPodCount != null) 'protectedPodCount': protectedPodCount!, if (retentionPolicy != null) 'retentionPolicy': retentionPolicy!, @@ -4537,7 +4557,7 @@ class Restore { /// /// If not specified, the scope of the restore will remain the same as defined /// in the `RestorePlan`. If this is specified and no resources are matched by - /// the `inclusion_filters` or everyting is excluded by the + /// the `inclusion_filters` or everything is excluded by the /// `exclusion_filters`, nothing will be restored. This filter can only be /// specified if the value of namespaced_resource_restore_mode is set to /// `MERGE_SKIP_ON_CONFLICT`, `MERGE_REPLACE_VOLUME_ON_CONFLICT` or @@ -4599,6 +4619,9 @@ class Restore { /// Human-readable description of why the Restore is in its current state. /// + /// This field is only meant for human readability and should not be used + /// programmatically as this field is not guaranteed to be consistent. + /// /// Output only. core.String? stateReason; @@ -5066,7 +5089,10 @@ class RestorePlan { /// - "DELETING" : The RestorePlan is in the process of being deleted. core.String? state; - /// Human-readable description of why RestorePlan is in the current `state` + /// Human-readable description of why RestorePlan is in the current `state`. + /// + /// This field is only meant for human readability and should not be used + /// programmatically as this field is not guaranteed to be consistent. /// /// Output only. core.String? stateReason; @@ -5647,11 +5673,16 @@ class VolumeBackup { /// - "FAILED" : The volume backup operation has failed. /// - "DELETING" : This VolumeBackup resource (and its associated artifacts) /// is in the process of being deleted. + /// - "CLEANED_UP" : The underlying artifacts of a volume backup (eg: + /// persistent disk snapshots) are deleted. core.String? state; /// A human readable message explaining why the VolumeBackup is in its current /// state. /// + /// This field is only meant for human consumption and should not be used + /// programmatically as this field is not guaranteed to be consistent. + /// /// Output only. core.String? stateMessage; diff --git a/generated/googleapis/lib/gkehub/v1.dart b/generated/googleapis/lib/gkehub/v1.dart index ce4a78371..89c1bf51c 100644 --- a/generated/googleapis/lib/gkehub/v1.dart +++ b/generated/googleapis/lib/gkehub/v1.dart @@ -4078,14 +4078,10 @@ typedef ComplianceStandard = $ComplianceStandard; /// Configuration for Config Sync class ConfigManagementConfigSync { - /// Set to true to allow the vertical scaling. + /// Configuration for deployment overrides. /// - /// Defaults to false which disallows vertical scaling. This field is - /// deprecated. - @core.Deprecated( - 'Not supported. Member documentation may have more information.', - ) - core.bool? allowVerticalScale; + /// Optional. + core.List? deploymentOverrides; /// Enables the installation of ConfigSync. /// @@ -4094,9 +4090,13 @@ class ConfigManagementConfigSync { /// ConfigSync fields will be ignored, ConfigSync resources will be deleted. /// If omitted, ConfigSync resources will be managed depends on the presence /// of the git or oci field. + /// + /// Optional. core.bool? enabled; /// Git repo configuration for the cluster. + /// + /// Optional. ConfigManagementGitConfig? git; /// The Email of the Google Cloud Service Account (GSA) used for exporting @@ -4110,31 +4110,41 @@ class ConfigManagementConfigSync { /// enabled, Google Cloud Service Account is no longer needed for exporting /// Config Sync metrics: /// https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring. + /// + /// Optional. @core.Deprecated( 'Not supported. Member documentation may have more information.', ) core.String? metricsGcpServiceAccountEmail; /// OCI repo configuration for the cluster + /// + /// Optional. ConfigManagementOciConfig? oci; /// Set to true to enable the Config Sync admission webhook to prevent drifts. /// /// If set to `false`, disables the Config Sync admission webhook and does not /// prevent drifts. + /// + /// Optional. core.bool? preventDrift; /// Specifies whether the Config Sync Repo is in "hierarchical" or /// "unstructured" mode. + /// + /// Optional. core.String? sourceFormat; /// Set to true to stop syncing configs for a single cluster. /// /// Default to false. + /// + /// Optional. core.bool? stopSyncing; ConfigManagementConfigSync({ - this.allowVerticalScale, + this.deploymentOverrides, this.enabled, this.git, this.metricsGcpServiceAccountEmail, @@ -4146,7 +4156,10 @@ class ConfigManagementConfigSync { ConfigManagementConfigSync.fromJson(core.Map json_) : this( - allowVerticalScale: json_['allowVerticalScale'] as core.bool?, + deploymentOverrides: (json_['deploymentOverrides'] as core.List?) + ?.map((value) => ConfigManagementDeploymentOverride.fromJson( + value as core.Map)) + .toList(), enabled: json_['enabled'] as core.bool?, git: json_.containsKey('git') ? ConfigManagementGitConfig.fromJson( @@ -4164,8 +4177,8 @@ class ConfigManagementConfigSync { ); core.Map toJson() => { - if (allowVerticalScale != null) - 'allowVerticalScale': allowVerticalScale!, + if (deploymentOverrides != null) + 'deploymentOverrides': deploymentOverrides!, if (enabled != null) 'enabled': enabled!, if (git != null) 'git': git!, if (metricsGcpServiceAccountEmail != null) @@ -4306,6 +4319,8 @@ typedef ConfigManagementConfigSyncError = $Error; /// State information for ConfigSync class ConfigManagementConfigSyncState { /// Whether syncing resources to the cluster is stopped at the cluster level. + /// + /// Output only. /// Possible string values are: /// - "STOP_SYNCING_STATE_UNSPECIFIED" : State cannot be determined /// - "NOT_STOPPED" : Syncing resources to the cluster is not stopped at the @@ -4323,12 +4338,18 @@ class ConfigManagementConfigSyncState { /// Information about the deployment of ConfigSync, including the version of /// the various Pods deployed + /// + /// Output only. ConfigManagementConfigSyncDeploymentState? deploymentState; /// Errors pertaining to the installation of Config Sync. + /// + /// Output only. core.List? errors; /// The state of the Reposync CRD + /// + /// Output only. /// Possible string values are: /// - "CRD_STATE_UNSPECIFIED" : CRD's state cannot be determined /// - "NOT_INSTALLED" : CRD is not installed @@ -4339,6 +4360,8 @@ class ConfigManagementConfigSyncState { core.String? reposyncCrd; /// The state of the RootSync CRD + /// + /// Output only. /// Possible string values are: /// - "CRD_STATE_UNSPECIFIED" : CRD's state cannot be determined /// - "NOT_INSTALLED" : CRD is not installed @@ -4349,6 +4372,8 @@ class ConfigManagementConfigSyncState { core.String? rootsyncCrd; /// The state of CS This field summarizes the other fields in this message. + /// + /// Output only. /// Possible string values are: /// - "STATE_UNSPECIFIED" : CS's state cannot be determined. /// - "CONFIG_SYNC_NOT_INSTALLED" : CS is not installed. @@ -4359,9 +4384,13 @@ class ConfigManagementConfigSyncState { core.String? state; /// The state of ConfigSync's process to sync configs to a cluster + /// + /// Output only. ConfigManagementSyncState? syncState; /// The version of ConfigSync deployed + /// + /// Output only. ConfigManagementConfigSyncVersion? version; ConfigManagementConfigSyncState({ @@ -4486,6 +4515,50 @@ class ConfigManagementConfigSyncVersion { }; } +/// Configuration for a container override. +typedef ConfigManagementContainerOverride = $ConfigManagementContainerOverride; + +/// Configuration for a deployment override. +class ConfigManagementDeploymentOverride { + /// The containers of the deployment resource to be overridden. + /// + /// Optional. + core.List? containers; + + /// The name of the deployment resource to be overridden. + /// + /// Required. + core.String? deploymentName; + + /// The namespace of the deployment resource to be overridden.. + /// + /// Required. + core.String? deploymentNamespace; + + ConfigManagementDeploymentOverride({ + this.containers, + this.deploymentName, + this.deploymentNamespace, + }); + + ConfigManagementDeploymentOverride.fromJson(core.Map json_) + : this( + containers: (json_['containers'] as core.List?) + ?.map((value) => ConfigManagementContainerOverride.fromJson( + value as core.Map)) + .toList(), + deploymentName: json_['deploymentName'] as core.String?, + deploymentNamespace: json_['deploymentNamespace'] as core.String?, + ); + + core.Map toJson() => { + if (containers != null) 'containers': containers!, + if (deploymentName != null) 'deploymentName': deploymentName!, + if (deploymentNamespace != null) + 'deploymentNamespace': deploymentNamespace!, + }; +} + /// Model for a config file in the git repo with an associated Sync error class ConfigManagementErrorResource { /// Group/version/kind of the resource that is causing an error @@ -4696,9 +4769,13 @@ class ConfigManagementMembershipSpec { /// Sync cluster-name-selector annotation or ClusterSelector. Set this field /// if a name different from the cluster's fleet membership name is used by /// Config Sync cluster-name-selector annotation or ClusterSelector. + /// + /// Optional. core.String? cluster; /// Config Sync configuration for the cluster. + /// + /// Optional. ConfigManagementConfigSync? configSync; /// Hierarchy Controller configuration for the cluster. @@ -4706,9 +4783,16 @@ class ConfigManagementMembershipSpec { /// Deprecated: Configuring Hierarchy Controller through the configmanagement /// feature is no longer recommended. Use /// https://github.com/kubernetes-sigs/hierarchical-namespaces instead. + /// + /// Optional. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) ConfigManagementHierarchyControllerConfig? hierarchyController; /// Enables automatic Feature management. + /// + /// Optional. /// Possible string values are: /// - "MANAGEMENT_UNSPECIFIED" : Unspecified /// - "MANAGEMENT_AUTOMATIC" : Google will manage the Feature for the cluster. @@ -4721,9 +4805,16 @@ class ConfigManagementMembershipSpec { /// Deprecated: Configuring Policy Controller through the configmanagement /// feature is no longer recommended. Use the policycontroller feature /// instead. + /// + /// Optional. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) ConfigManagementPolicyController? policyController; /// Version of ACM installed. + /// + /// Optional. core.String? version; ConfigManagementMembershipSpec({ @@ -4773,24 +4864,36 @@ class ConfigManagementMembershipState { /// is not empty. /// /// Otherwise, it is set to the cluster's fleet membership name. + /// + /// Output only. core.String? clusterName; /// Current sync status + /// + /// Output only. ConfigManagementConfigSyncState? configSyncState; /// Hierarchy Controller status + /// + /// Output only. ConfigManagementHierarchyControllerState? hierarchyControllerState; /// Membership configuration in the cluster. /// /// This represents the actual state in the cluster, while the MembershipSpec /// in the FeatureSpec represents the intended state + /// + /// Output only. ConfigManagementMembershipSpec? membershipSpec; /// Current install status of ACM's Operator + /// + /// Output only. ConfigManagementOperatorState? operatorState; /// PolicyController status + /// + /// Output only. ConfigManagementPolicyControllerState? policyControllerState; ConfigManagementMembershipState({ @@ -9007,6 +9110,9 @@ class ScopeLifecycleState { typedef SecurityPostureConfig = $SecurityPostureConfig; /// Condition being reported. +/// +/// TODO b/395151419: Remove this message once the membership-level conditions +/// field uses the common Condition message. typedef ServiceMeshCondition = $ServiceMeshCondition; /// Status of control plane management. @@ -9170,6 +9276,8 @@ class ServiceMeshMembershipSpec { class ServiceMeshMembershipState { /// List of conditions reported for this membership. /// + /// TODO b/395151419: Use the common Condition message. + /// /// Output only. core.List? conditions; diff --git a/generated/googleapis/lib/gkehub/v2.dart b/generated/googleapis/lib/gkehub/v2.dart index 5c4564a99..4ffcc136a 100644 --- a/generated/googleapis/lib/gkehub/v2.dart +++ b/generated/googleapis/lib/gkehub/v2.dart @@ -816,14 +816,10 @@ class ConfigManagementBinauthzVersion { /// Configuration for Config Sync class ConfigManagementConfigSync { - /// Set to true to allow the vertical scaling. + /// Configuration for deployment overrides. /// - /// Defaults to false which disallows vertical scaling. This field is - /// deprecated. - @core.Deprecated( - 'Not supported. Member documentation may have more information.', - ) - core.bool? allowVerticalScale; + /// Optional. + core.List? deploymentOverrides; /// Enables the installation of ConfigSync. /// @@ -832,9 +828,13 @@ class ConfigManagementConfigSync { /// ConfigSync fields will be ignored, ConfigSync resources will be deleted. /// If omitted, ConfigSync resources will be managed depends on the presence /// of the git or oci field. + /// + /// Optional. core.bool? enabled; /// Git repo configuration for the cluster. + /// + /// Optional. ConfigManagementGitConfig? git; /// The Email of the Google Cloud Service Account (GSA) used for exporting @@ -848,31 +848,41 @@ class ConfigManagementConfigSync { /// enabled, Google Cloud Service Account is no longer needed for exporting /// Config Sync metrics: /// https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring. + /// + /// Optional. @core.Deprecated( 'Not supported. Member documentation may have more information.', ) core.String? metricsGcpServiceAccountEmail; /// OCI repo configuration for the cluster. + /// + /// Optional. ConfigManagementOciConfig? oci; /// Set to true to enable the Config Sync admission webhook to prevent drifts. /// /// If set to `false`, disables the Config Sync admission webhook and does not /// prevent drifts. + /// + /// Optional. core.bool? preventDrift; /// Specifies whether the Config Sync Repo is in "hierarchical" or /// "unstructured" mode. + /// + /// Optional. core.String? sourceFormat; /// Set to true to stop syncing configs for a single cluster. /// /// Default to false. + /// + /// Optional. core.bool? stopSyncing; ConfigManagementConfigSync({ - this.allowVerticalScale, + this.deploymentOverrides, this.enabled, this.git, this.metricsGcpServiceAccountEmail, @@ -884,7 +894,10 @@ class ConfigManagementConfigSync { ConfigManagementConfigSync.fromJson(core.Map json_) : this( - allowVerticalScale: json_['allowVerticalScale'] as core.bool?, + deploymentOverrides: (json_['deploymentOverrides'] as core.List?) + ?.map((value) => ConfigManagementDeploymentOverride.fromJson( + value as core.Map)) + .toList(), enabled: json_['enabled'] as core.bool?, git: json_.containsKey('git') ? ConfigManagementGitConfig.fromJson( @@ -902,8 +915,8 @@ class ConfigManagementConfigSync { ); core.Map toJson() => { - if (allowVerticalScale != null) - 'allowVerticalScale': allowVerticalScale!, + if (deploymentOverrides != null) + 'deploymentOverrides': deploymentOverrides!, if (enabled != null) 'enabled': enabled!, if (git != null) 'git': git!, if (metricsGcpServiceAccountEmail != null) @@ -1053,6 +1066,8 @@ typedef ConfigManagementConfigSyncError = $Error; /// State information for ConfigSync. class ConfigManagementConfigSyncState { /// Whether syncing resources to the cluster is stopped at the cluster level. + /// + /// Output only. /// Possible string values are: /// - "STOP_SYNCING_STATE_UNSPECIFIED" : State cannot be determined /// - "NOT_STOPPED" : Syncing resources to the cluster is not stopped at the @@ -1071,12 +1086,18 @@ class ConfigManagementConfigSyncState { /// Information about the deployment of ConfigSync, including the version. /// /// of the various Pods deployed + /// + /// Output only. ConfigManagementConfigSyncDeploymentState? deploymentState; /// Errors pertaining to the installation of Config Sync. + /// + /// Output only. core.List? errors; /// The state of the Reposync CRD + /// + /// Output only. /// Possible string values are: /// - "CRD_STATE_UNSPECIFIED" : CRD's state cannot be determined /// - "NOT_INSTALLED" : CRD is not installed @@ -1087,6 +1108,8 @@ class ConfigManagementConfigSyncState { core.String? reposyncCrd; /// The state of the RootSync CRD + /// + /// Output only. /// Possible string values are: /// - "CRD_STATE_UNSPECIFIED" : CRD's state cannot be determined /// - "NOT_INSTALLED" : CRD is not installed @@ -1097,6 +1120,8 @@ class ConfigManagementConfigSyncState { core.String? rootsyncCrd; /// The state of CS This field summarizes the other fields in this message. + /// + /// Output only. /// Possible string values are: /// - "STATE_UNSPECIFIED" : CS's state cannot be determined. /// - "CONFIG_SYNC_NOT_INSTALLED" : CS is not installed. @@ -1107,9 +1132,13 @@ class ConfigManagementConfigSyncState { core.String? state; /// The state of ConfigSync's process to sync configs to a cluster. + /// + /// Output only. ConfigManagementSyncState? syncState; /// The version of ConfigSync deployed. + /// + /// Output only. ConfigManagementConfigSyncVersion? version; ConfigManagementConfigSyncState({ @@ -1234,6 +1263,50 @@ class ConfigManagementConfigSyncVersion { }; } +/// Configuration for a container override. +typedef ConfigManagementContainerOverride = $ConfigManagementContainerOverride; + +/// Configuration for a deployment override. +class ConfigManagementDeploymentOverride { + /// The containers of the deployment resource to be overridden. + /// + /// Optional. + core.List? containers; + + /// The name of the deployment resource to be overridden. + /// + /// Required. + core.String? deploymentName; + + /// The namespace of the deployment resource to be overridden.. + /// + /// Required. + core.String? deploymentNamespace; + + ConfigManagementDeploymentOverride({ + this.containers, + this.deploymentName, + this.deploymentNamespace, + }); + + ConfigManagementDeploymentOverride.fromJson(core.Map json_) + : this( + containers: (json_['containers'] as core.List?) + ?.map((value) => ConfigManagementContainerOverride.fromJson( + value as core.Map)) + .toList(), + deploymentName: json_['deploymentName'] as core.String?, + deploymentNamespace: json_['deploymentNamespace'] as core.String?, + ); + + core.Map toJson() => { + if (containers != null) 'containers': containers!, + if (deploymentName != null) 'deploymentName': deploymentName!, + if (deploymentNamespace != null) + 'deploymentNamespace': deploymentNamespace!, + }; +} + /// Model for a config file in the git repo with an associated Sync error. class ConfigManagementErrorResource { /// Group/version/kind of the resource that is causing an error @@ -1651,6 +1724,8 @@ class ConfigManagementSpec { /// Binauthz conifguration for the cluster. /// /// Deprecated: This field will be ignored and should not be set. + /// + /// Optional. @core.Deprecated( 'Not supported. Member documentation may have more information.', ) @@ -1664,9 +1739,13 @@ class ConfigManagementSpec { /// Sync cluster-name-selector annotation or ClusterSelector. Set this field /// if a name different from the cluster's fleet membership name is used by /// Config Sync cluster-name-selector annotation or ClusterSelector. + /// + /// Optional. core.String? cluster; /// Config Sync configuration for the cluster. + /// + /// Optional. ConfigManagementConfigSync? configSync; /// Hierarchy Controller configuration for the cluster. @@ -1674,9 +1753,16 @@ class ConfigManagementSpec { /// Deprecated: Configuring Hierarchy Controller through the configmanagement /// feature is no longer recommended. Use /// https://github.com/kubernetes-sigs/hierarchical-namespaces instead. + /// + /// Optional. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) ConfigManagementHierarchyControllerConfig? hierarchyController; /// Enables automatic Feature management. + /// + /// Optional. /// Possible string values are: /// - "MANAGEMENT_UNSPECIFIED" : Unspecified /// - "MANAGEMENT_AUTOMATIC" : Google will manage the Feature for the cluster. @@ -1689,9 +1775,16 @@ class ConfigManagementSpec { /// Deprecated: Configuring Policy Controller through the configmanagement /// feature is no longer recommended. Use the policycontroller feature /// instead. + /// + /// Optional. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) ConfigManagementPolicyController? policyController; /// Version of ACM installed. + /// + /// Optional. core.String? version; ConfigManagementSpec({ @@ -1744,30 +1837,44 @@ class ConfigManagementSpec { /// **Anthos Config Management**: State for a single cluster. class ConfigManagementState { /// Binauthz status. + /// + /// Output only. ConfigManagementBinauthzState? binauthzState; /// This field is set to the `cluster_name` field of the Membership Spec if it /// is not empty. /// /// Otherwise, it is set to the cluster's fleet membership name. + /// + /// Output only. core.String? clusterName; /// Current sync status. + /// + /// Output only. ConfigManagementConfigSyncState? configSyncState; /// Hierarchy Controller status. + /// + /// Output only. ConfigManagementHierarchyControllerState? hierarchyControllerState; /// Membership configuration in the cluster. /// /// This represents the actual state in the cluster, while the MembershipSpec /// in the FeatureSpec represents the intended state. + /// + /// Output only. ConfigManagementSpec? membershipSpec; /// Current install status of ACM's Operator. + /// + /// Output only. ConfigManagementOperatorState? operatorState; /// PolicyController status. + /// + /// Output only. ConfigManagementPolicyControllerState? policyControllerState; ConfigManagementState({ diff --git a/generated/googleapis/lib/gkeonprem/v1.dart b/generated/googleapis/lib/gkeonprem/v1.dart index de21cb4ab..f21b181c0 100644 --- a/generated/googleapis/lib/gkeonprem/v1.dart +++ b/generated/googleapis/lib/gkeonprem/v1.dart @@ -12,7 +12,7 @@ // ignore_for_file: unnecessary_lambdas // ignore_for_file: unnecessary_string_interpolations -/// GDC Virtual API - v1 +/// GKE On-Prem API - v1 /// /// For more information, see /// diff --git a/generated/googleapis/lib/healthcare/v1.dart b/generated/googleapis/lib/healthcare/v1.dart index e20863b0e..82934dd36 100644 --- a/generated/googleapis/lib/healthcare/v1.dart +++ b/generated/googleapis/lib/healthcare/v1.dart @@ -41,6 +41,7 @@ /// - [ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesResource] /// - [ProjectsLocationsDatasetsFhirStoresResource] /// - [ProjectsLocationsDatasetsFhirStoresFhirResource] +/// - [ProjectsLocationsDatasetsFhirStoresOperationsResource] /// - [ProjectsLocationsDatasetsHl7V2StoresResource] /// - [ProjectsLocationsDatasetsHl7V2StoresMessagesResource] /// - [ProjectsLocationsDatasetsOperationsResource] @@ -4530,6 +4531,9 @@ class ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesResource { /// Value must have pattern /// `^studies/\[^/\]+/series/\[^/\]+/instances/\[^/\]+/rendered$`. /// + /// [viewport] - Optional. The viewport setting to use as specified in + /// https://dicom.nema.org/medical/dicom/current/output/chtml/part18/sect_8.3.5.html#sect_8.3.5.1.3 + /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// @@ -4543,9 +4547,11 @@ class ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesResource { async.Future retrieveRendered( core.String parent, core.String dicomWebPath, { + core.String? viewport, core.String? $fields, }) async { final queryParams_ = >{ + if (viewport != null) 'viewport': [viewport], if ($fields != null) 'fields': [$fields], }; @@ -4653,6 +4659,9 @@ class ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesResource { /// Value must have pattern /// `^studies/\[^/\]+/series/\[^/\]+/instances/\[^/\]+/frames/\[^/\]+/rendered$`. /// + /// [viewport] - Optional. The viewport setting to use as specified in + /// https://dicom.nema.org/medical/dicom/current/output/chtml/part18/sect_8.3.5.html#sect_8.3.5.1.3 + /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// @@ -4666,9 +4675,11 @@ class ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesResource { async.Future retrieveRendered( core.String parent, core.String dicomWebPath, { + core.String? viewport, core.String? $fields, }) async { final queryParams_ = >{ + if (viewport != null) 'viewport': [viewport], if ($fields != null) 'fields': [$fields], }; @@ -4691,6 +4702,8 @@ class ProjectsLocationsDatasetsFhirStoresResource { ProjectsLocationsDatasetsFhirStoresFhirResource get fhir => ProjectsLocationsDatasetsFhirStoresFhirResource(_requester); + ProjectsLocationsDatasetsFhirStoresOperationsResource get operations => + ProjectsLocationsDatasetsFhirStoresOperationsResource(_requester); ProjectsLocationsDatasetsFhirStoresResource(commons.ApiRequester client) : _requester = client; @@ -4809,6 +4822,106 @@ class ProjectsLocationsDatasetsFhirStoresResource { return Operation.fromJson(response_ as core.Map); } + /// Bulk exports a Group resource and resources in the member field, including + /// related resources for each Patient member. + /// + /// The export for each Patient is identical to a GetPatientEverything + /// request. Implements the FHIR implementation guide \[$export group of + /// patients\](https://build.fhir.org/ig/HL7/bulk-data/export.html#endpoint---group-of-patients). + /// The following headers must be set in the request: * `Accept`: specifies + /// the format of the `OperationOutcome` response. Only + /// `application/fhir+json` is supported. * `Prefer`: specifies whether the + /// response is immediate or asynchronous. Must be to `respond-async` because + /// only asynchronous responses are supported. Specify the destination for the + /// server to write result files by setting the Cloud Storage location + /// bulk_export_gcs_destination on the FHIR store. URI of an existing Cloud + /// Storage directory where the server writes result files, in the format + /// gs://{bucket-id}/{path/to/destination/dir}. If there is no trailing slash, + /// the service appends one when composing the object path. The user is + /// responsible for creating the Cloud Storage bucket referenced. Supports the + /// following query parameters: * `_type`: string of comma-delimited FHIR + /// resource types. If provided, only resources of the specified type(s) are + /// exported. * `_since`: if provided, only resources updated after the + /// specified time are exported. * `_outputFormat`: optional, specify ndjson + /// to export data in NDJSON format. Exported file names use the format: + /// {export_id}_{resource_type}.ndjson. * `organizeOutputBy`: resource type to + /// organize the output by. Required and must be set to `Patient`. When + /// specified, output files are organized by instances of the specified + /// resource type, including the resource, referenced resources, and resources + /// that contain references to that resource. On success, the + /// `Content-Location` header of response is set to a URL that you can use to + /// query the status of the export. The URL is in the format + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/operations/{export_id}`. + /// See get-fhir-operation-status for more information. Errors generated by + /// the FHIR store contain a JSON-encoded `OperationOutcome` resource + /// describing the reason for the error. + /// + /// Request parameters: + /// + /// [name] - Required. Name of the Group resource that is exported, in format + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/Group/{group_id}`. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/datasets/\[^/\]+/fhirStores/\[^/\]+/fhir/Group/\[^/\]+$`. + /// + /// [P_since] - Optional. If provided, only resources updated after this time + /// are exported. The time uses the format YYYY-MM-DDThh:mm:ss.sss+zz:zz. For + /// example, `2015-02-07T13:28:17.239+02:00` or `2017-01-01T00:00:00Z`. The + /// time must be specified to the second and include a time zone. + /// + /// [P_type] - Optional. String of comma-delimited FHIR resource types. If + /// provided, only resources of the specified resource type(s) are exported. + /// + /// [organizeOutputBy] - Optional. Required. The FHIR resource type used to + /// organize exported resources. Only supports "Patient". When organized by + /// Patient resource, output files are grouped as follows: * Patient file(s) + /// containing the Patient resources. Each Patient is sequentially followed by + /// all resources the Patient references, and all resources that reference the + /// Patient (equivalent to a GetPatientEverything request). * Individual files + /// grouped by resource type for resources in the Group's member field and the + /// Group resource itself. Resources may be duplicated across multiple + /// Patients. For example, if two Patient resources reference the same + /// Organization resource, it will appear twice, once after each Patient. The + /// Group resource from the request does not appear in the Patient files. + /// + /// [outputFormat] - Optional. Output format of the export. This field is + /// optional and only `application/fhir+ndjson` is supported. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [HttpBody]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future bulkExportGroup( + core.String name, { + core.String? P_since, + core.String? P_type, + core.String? organizeOutputBy, + core.String? outputFormat, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (P_since != null) '_since': [P_since], + if (P_type != null) '_type': [P_type], + if (organizeOutputBy != null) 'organizeOutputBy': [organizeOutputBy], + if (outputFormat != null) 'outputFormat': [outputFormat], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name') + r'/$export'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return HttpBody.fromJson(response_ as core.Map); + } + /// Creates a new FHIR store within the parent dataset. /// /// [request] - The metadata request object. @@ -6061,7 +6174,7 @@ class ProjectsLocationsDatasetsFhirStoresFhirResource { /// match the resource type in the provided content. /// Value must have pattern `^\[^/\]+$`. /// - /// [profile] - Required. The canonical URL of a profile that this resource + /// [profile] - Optional. The canonical URL of a profile that this resource /// should be validated against. For example, to validate a Patient resource /// against the US Core Patient profile this parameter would be /// `http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient`. A @@ -6105,6 +6218,88 @@ class ProjectsLocationsDatasetsFhirStoresFhirResource { return HttpBody.fromJson(response_ as core.Map); } + /// Bulk exports all resources from the FHIR store to the specified + /// destination. + /// + /// Implements the FHIR implementation guide \[system level + /// $export\](https://build.fhir.org/ig/HL7/bulk-data/export.html#endpoint---system-level-export. + /// The following headers must be set in the request: * `Accept`: specifies + /// the format of the `OperationOutcome` response. Only + /// `application/fhir+json` is supported. * `Prefer`: specifies whether the + /// response is immediate or asynchronous. Must be to `respond-async` because + /// only asynchronous responses are supported. Specify the destination for the + /// server to write result files by setting the Cloud Storage location + /// bulk_export_gcs_destination on the FHIR store. URI of an existing Cloud + /// Storage directory where the server writes result files, in the format + /// gs://{bucket-id}/{path/to/destination/dir}. If there is no trailing slash, + /// the service appends one when composing the object path. The user is + /// responsible for creating the Cloud Storage bucket referenced. Supports the + /// following query parameters: * `_type`: string of comma-delimited FHIR + /// resource types. If provided, only the resources of the specified type(s) + /// are exported. * `_since`: if provided, only the resources that are updated + /// after the specified time are exported. * `_outputFormat`: optional, + /// specify ndjson to export data in NDJSON format. Exported file names use + /// the format: {export_id}_{resource_type}.ndjson. On success, the + /// `Content-Location` header of the response is set to a URL that the user + /// can use to query the status of the export. The URL is in the format: + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/operations/{export_id}`. + /// See get-fhir-operation-status for more information. Errors generated by + /// the FHIR store contain a JSON-encoded `OperationOutcome` resource + /// describing the reason for the error. + /// + /// Request parameters: + /// + /// [name] - Required. The name of the FHIR store to export resources from, in + /// the format + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/datasets/\[^/\]+/fhirStores/\[^/\]+$`. + /// + /// [P_since] - Optional. If provided, only resources updated after this time + /// are exported. The time uses the format YYYY-MM-DDThh:mm:ss.sss+zz:zz. For + /// example, `2015-02-07T13:28:17.239+02:00` or `2017-01-01T00:00:00Z`. The + /// time must be specified to the second and include a time zone. + /// + /// [P_type] - Optional. String of comma-delimited FHIR resource types. If + /// provided, only resources of the specified resource type(s) are exported. + /// + /// [outputFormat] - Optional. Output format of the export. This field is + /// optional and only `application/fhir+ndjson` is supported. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [HttpBody]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future bulkExport( + core.String name, { + core.String? P_since, + core.String? P_type, + core.String? outputFormat, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (P_since != null) '_since': [P_since], + if (P_type != null) '_type': [P_type], + if (outputFormat != null) 'outputFormat': [outputFormat], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name') + r'/fhir/$export'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return HttpBody.fromJson(response_ as core.Map); + } + /// Gets the FHIR capability statement /// ([STU3](http://hl7.org/implement/standards/fhir/STU3/capabilitystatement.html), /// [R4](http://hl7.org/implement/standards/fhir/R4/capabilitystatement.html)), @@ -6946,7 +7141,7 @@ class ProjectsLocationsDatasetsFhirStoresFhirResource { /// Value must have pattern /// `^projects/\[^/\]+/locations/\[^/\]+/datasets/\[^/\]+/fhirStores/\[^/\]+$`. /// - /// [resourceType] - Required. The FHIR resource type to search, such as + /// [resourceType] - Optional. The FHIR resource type to search, such as /// Patient or Observation. For a complete list, see the FHIR Resource Index /// ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html), /// [STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html), @@ -7101,6 +7296,105 @@ class ProjectsLocationsDatasetsFhirStoresFhirResource { } } +class ProjectsLocationsDatasetsFhirStoresOperationsResource { + final commons.ApiRequester _requester; + + ProjectsLocationsDatasetsFhirStoresOperationsResource( + commons.ApiRequester client) + : _requester = client; + + /// Deletes operations as defined in the FHIR specification. + /// + /// Implements the FHIR implementation guide + /// [bulk data delete request](https://build.fhir.org/ig/HL7/bulk-data/export.html#bulk-data-delete-request). + /// Returns success if the operation was successfully cancelled. If the + /// operation is complete, or has already been cancelled, returns an error + /// response. + /// + /// Request parameters: + /// + /// [name] - Required. Name of the operation to be deleted, in the format + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/operations/{operation_id}`. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/datasets/\[^/\]+/fhirStores/\[^/\]+/operations/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [HttpBody]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future deleteFhirOperation( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return HttpBody.fromJson(response_ as core.Map); + } + + /// Gets the status of operations as defined in the FHIR specification. + /// + /// Implements the FHIR implementation guide + /// [bulk data status request](https://build.fhir.org/ig/HL7/bulk-data/export.html#bulk-data-status-request). + /// Operations can have one of these states: * in-progress: response status + /// code is `202` and `X-Progress` header is set to `in progress`. * complete: + /// response status code is `200` and the body is a JSON-encoded operation + /// response as defined by the spec. For a bulk export, this response is + /// defined in + /// https://build.fhir.org/ig/HL7/bulk-data/export.html#response---complete-status. + /// * error: response status code is `5XX`, and the body is a JSON-encoded + /// `OperationOutcome` resource describing the reason for the error. + /// + /// Request parameters: + /// + /// [name] - Required. Name of the operation to query, in the format + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/operations/{operation_id}`. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/datasets/\[^/\]+/fhirStores/\[^/\]+/operations/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [HttpBody]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future getFhirOperationStatus( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return HttpBody.fromJson(response_ as core.Map); + } +} + class ProjectsLocationsDatasetsHl7V2StoresResource { final commons.ApiRequester _requester; @@ -8994,6 +9288,32 @@ class BlobStorageSettings { }; } +/// The configuration for exporting to Cloud Storage using the bulk export API. +class BulkExportGcsDestination { + /// URI for a Cloud Storage directory where the server writes result files, in + /// the format `gs://{bucket-id}/{path/to/destination/dir}`. + /// + /// If there is no trailing slash, the service appends one when composing the + /// object path. The user is responsible for creating the Cloud Storage bucket + /// referenced in `uri_prefix`. + /// + /// Optional. + core.String? uriPrefix; + + BulkExportGcsDestination({ + this.uriPrefix, + }); + + BulkExportGcsDestination.fromJson(core.Map json_) + : this( + uriPrefix: json_['uriPrefix'] as core.String?, + ); + + core.Map toJson() => { + if (uriPrefix != null) 'uriPrefix': uriPrefix!, + }; +} + /// The request message for Operations.CancelOperation. typedef CancelOperationRequest = $Empty; @@ -9274,12 +9594,12 @@ class ConsentAccessorScope { /// An abstract identifier that describes the environment or conditions under /// which the accessor is acting. /// - /// Can be "*" if it applies to all environments. + /// If it's not specified, it applies to all environments. core.String? environment; /// The intent of data use. /// - /// Can be "*" if it applies to all purposes. + /// If it's not specified, it applies to all purposes. core.String? purpose; ConsentAccessorScope({ @@ -9749,6 +10069,16 @@ class Dataset { /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`. core.String? name; + /// For future use. + /// + /// Output only. + core.bool? satisfiesPzi; + + /// For future use. + /// + /// Output only. + core.bool? satisfiesPzs; + /// The default timezone used by this dataset. /// /// Must be a either a valid IANA time zone name such as "America/New_York" or @@ -9761,6 +10091,8 @@ class Dataset { Dataset({ this.encryptionSpec, this.name, + this.satisfiesPzi, + this.satisfiesPzs, this.timeZone, }); @@ -9771,12 +10103,16 @@ class Dataset { as core.Map) : null, name: json_['name'] as core.String?, + satisfiesPzi: json_['satisfiesPzi'] as core.bool?, + satisfiesPzs: json_['satisfiesPzs'] as core.bool?, timeZone: json_['timeZone'] as core.String?, ); core.Map toJson() => { if (encryptionSpec != null) 'encryptionSpec': encryptionSpec!, if (name != null) 'name': name!, + if (satisfiesPzi != null) 'satisfiesPzi': satisfiesPzi!, + if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, if (timeZone != null) 'timeZone': timeZone!, }; } @@ -11273,6 +11609,17 @@ class FhirNotificationConfig { /// Represents a FHIR store. class FhirStore { + /// FHIR bulk export exports resources to the specified Cloud Storage + /// destination. + /// + /// A Cloud Storage destination is a URI for a Cloud Storage directory where + /// result files will be written. Only used in the spec-defined bulk $export + /// methods. The Cloud Healthcare Service Agent requires the + /// `roles/storage.objectAdmin` Cloud IAM role on the destination. + /// + /// Optional. + BulkExportGcsDestination? bulkExportGcsDestination; + /// Enable parsing of references within complex FHIR data types such as /// Extensions. /// @@ -11431,6 +11778,7 @@ class FhirStore { core.String? version; FhirStore({ + this.bulkExportGcsDestination, this.complexDataTypeReferenceParsing, this.consentConfig, this.defaultSearchHandlingStrict, @@ -11448,6 +11796,12 @@ class FhirStore { FhirStore.fromJson(core.Map json_) : this( + bulkExportGcsDestination: + json_.containsKey('bulkExportGcsDestination') + ? BulkExportGcsDestination.fromJson( + json_['bulkExportGcsDestination'] + as core.Map) + : null, complexDataTypeReferenceParsing: json_['complexDataTypeReferenceParsing'] as core.String?, consentConfig: json_.containsKey('consentConfig') @@ -11489,6 +11843,8 @@ class FhirStore { ); core.Map toJson() => { + if (bulkExportGcsDestination != null) + 'bulkExportGcsDestination': bulkExportGcsDestination!, if (complexDataTypeReferenceParsing != null) 'complexDataTypeReferenceParsing': complexDataTypeReferenceParsing!, if (consentConfig != null) 'consentConfig': consentConfig!, @@ -14493,7 +14849,7 @@ class SearchResourcesRequest { /// [STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html), /// [R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)). /// - /// Required. + /// Optional. core.String? resourceType; SearchResourcesRequest({ diff --git a/generated/googleapis/lib/iam/v1.dart b/generated/googleapis/lib/iam/v1.dart index c3da3aa9d..bc733ffe3 100644 --- a/generated/googleapis/lib/iam/v1.dart +++ b/generated/googleapis/lib/iam/v1.dart @@ -455,7 +455,7 @@ class LocationsWorkforcePoolsResource { /// /// Request parameters: /// - /// [name] - Output only. The resource name of the pool. Format: + /// [name] - Identifier. The resource name of the pool. Format: /// `locations/{location}/workforcePools/{workforce_pool_id}` /// Value must have pattern `^locations/\[^/\]+/workforcePools/\[^/\]+$`. /// @@ -879,7 +879,7 @@ class LocationsWorkforcePoolsProvidersResource { /// /// Request parameters: /// - /// [name] - Output only. The resource name of the provider. Format: + /// [name] - Identifier. The resource name of the provider. Format: /// `locations/{location}/workforcePools/{workforce_pool_id}/providers/{provider_id}` /// Value must have pattern /// `^locations/\[^/\]+/workforcePools/\[^/\]+/providers/\[^/\]+$`. @@ -5866,6 +5866,15 @@ class GoogleIamAdminV1WorkforcePoolProviderExtraAttributesOAuth2Client { /// https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties /// for more details on `microsoft.graph.group` properties. The attributes /// obtained from idntity provider are mapped to `assertion.groups`. + /// - "AZURE_AD_GROUPS_ID" : Used to get the user's group claims from the + /// Microsoft Entra ID identity provider using configuration provided in + /// ExtraAttributesOAuth2Client and `id` property of the + /// `microsoft.graph.group` object is used for claim mapping. See + /// https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties + /// for more details on `microsoft.graph.group` properties. The group IDs + /// obtained from Microsoft Entra ID are present in `assertion. groups` for + /// OIDC providers and `assertion.attributes.groups` for SAML providers for + /// attribute mapping. core.String? attributesType; /// The OAuth 2.0 client ID for retrieving extra attributes from the identity @@ -6756,7 +6765,10 @@ class OauthClient { /// The following scopes are supported: * /// `https://www.googleapis.com/auth/cloud-platform`: See, edit, configure, /// and delete your Google Cloud data and see the email address for your - /// Google Account. + /// Google Account. * `openid`: The OAuth client can associate you with your + /// personal information on Google Cloud. * `email`: The OAuth client can read + /// a federated identity's email address. * `groups`: The OAuth client can + /// read a federated identity's groups. /// /// Required. core.List? allowedScopes; @@ -8296,11 +8308,10 @@ class WorkforcePool { /// Output only. core.String? expireTime; - /// The resource name of the pool. - /// - /// Format: `locations/{location}/workforcePools/{workforce_pool_id}` + /// Identifier. /// - /// Output only. + /// The resource name of the pool. Format: + /// `locations/{location}/workforcePools/{workforce_pool_id}` core.String? name; /// The resource name of the parent. @@ -8489,12 +8500,10 @@ class WorkforcePoolProvider { GoogleIamAdminV1WorkforcePoolProviderExtraAttributesOAuth2Client? extraAttributesOauth2Client; - /// The resource name of the provider. + /// Identifier. /// - /// Format: + /// The resource name of the provider. Format: /// `locations/{location}/workforcePools/{workforce_pool_id}/providers/{provider_id}` - /// - /// Output only. core.String? name; /// An OpenId Connect 1.0 identity provider configuration. @@ -8599,9 +8608,10 @@ class WorkforcePoolProviderKey { /// Immutable. KeyData? keyData; - /// The resource name of the key. + /// Identifier. /// - /// Output only. + /// The resource name of the key. Format: + /// `locations/{location}/workforcePools/{workforce_pool_id}/providers/{provider_id}/keys/{key_id}` core.String? name; /// The state of the key. diff --git a/generated/googleapis/lib/iam/v2.dart b/generated/googleapis/lib/iam/v2.dart index 34b249c86..a413b0c6f 100644 --- a/generated/googleapis/lib/iam/v2.dart +++ b/generated/googleapis/lib/iam/v2.dart @@ -436,8 +436,13 @@ class GoogleIamV2DenyRule { /// All identities in a workload identity pool with a certain attribute. * /// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id} /// / * `: All identities in a workload identity pool. * - /// `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific Google - /// Account that was deleted recently. For example, + /// `principalSet://cloudresourcemanager.googleapis.com/[projects|folders|organizations]/{project_number|folder_number|org_number}/type/ServiceAccount`: + /// All service accounts grouped under a resource (project, folder, or + /// organization). * + /// `principalSet://cloudresourcemanager.googleapis.com/[projects|folders|organizations]/{project_number|folder_number|org_number}/type/ServiceAgent`: + /// All service agents grouped under a resource (project, folder, or + /// organization). * `deleted:principal://goog/subject/{email_id}?uid={uid}`: + /// A specific Google Account that was deleted recently. For example, /// `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If /// the Google Account is recovered, this identifier reverts to the standard /// identifier for a Google Account. * diff --git a/generated/googleapis/lib/identitytoolkit/v1.dart b/generated/googleapis/lib/identitytoolkit/v1.dart index 9ff1200c9..879b441c2 100644 --- a/generated/googleapis/lib/identitytoolkit/v1.dart +++ b/generated/googleapis/lib/identitytoolkit/v1.dart @@ -2934,12 +2934,6 @@ class GoogleCloudIdentitytoolkitV1GetAccountInfoRequest { /// [RFC 822](https://tools.ietf.org/html/rfc822) addr-spec production. Should /// only be specified by authenticated requests from a developer. core.List? email; - - /// The federated user identifier of one or more accounts to fetch. - /// - /// Should only be specified by authenticated requests bearing a Google OAuth - /// 2.0 credential with proper - /// [permissions](https://cloud.google.com/identity-platform/docs/access-control). core.List? federatedUserId; @@ -3158,6 +3152,15 @@ class GoogleCloudIdentitytoolkitV1GetOobCodeRequest { /// unless return_oob_link is set to true. core.String? idToken; + /// In order to ensure that the url used can be easily opened in iOS or + /// Android, we create a Hosting link '/__/auth/links'. + /// + /// This optional field contains the domain to use when constructing a Hosting + /// link. If not set, '.firebaseapp.com' domain will be used. + /// + /// Optional. + core.String? linkDomain; + /// The email address the account is being updated to. /// /// Required only for VERIFY_AND_CHANGE_EMAIL requests. @@ -3232,6 +3235,7 @@ class GoogleCloudIdentitytoolkitV1GetOobCodeRequest { this.iOSAppStoreId, this.iOSBundleId, this.idToken, + this.linkDomain, this.newEmail, this.recaptchaVersion, this.requestType, @@ -3256,6 +3260,7 @@ class GoogleCloudIdentitytoolkitV1GetOobCodeRequest { iOSAppStoreId: json_['iOSAppStoreId'] as core.String?, iOSBundleId: json_['iOSBundleId'] as core.String?, idToken: json_['idToken'] as core.String?, + linkDomain: json_['linkDomain'] as core.String?, newEmail: json_['newEmail'] as core.String?, recaptchaVersion: json_['recaptchaVersion'] as core.String?, requestType: json_['requestType'] as core.String?, @@ -3282,6 +3287,7 @@ class GoogleCloudIdentitytoolkitV1GetOobCodeRequest { if (iOSAppStoreId != null) 'iOSAppStoreId': iOSAppStoreId!, if (iOSBundleId != null) 'iOSBundleId': iOSBundleId!, if (idToken != null) 'idToken': idToken!, + if (linkDomain != null) 'linkDomain': linkDomain!, if (newEmail != null) 'newEmail': newEmail!, if (recaptchaVersion != null) 'recaptchaVersion': recaptchaVersion!, if (requestType != null) 'requestType': requestType!, @@ -3563,7 +3569,7 @@ class GoogleCloudIdentitytoolkitV1IdpConfig { /// IdP core.int? experimentPercent; - /// Name of the identity provider. + /// /// Possible string values are: /// - "PROVIDER_UNSPECIFIED" /// - "MSLIVE" : Microsoft Live as identity provider. @@ -3940,9 +3946,6 @@ class GoogleCloudIdentitytoolkitV1ProviderUserInfo { /// Request message for QueryUserInfo. class GoogleCloudIdentitytoolkitV1QueryUserInfoRequest { - /// Query conditions used to filter results. - /// - /// If more than one is passed, only the first SqlExpression is evaluated. core.List? expression; /// The maximum number of accounts to return with an upper limit of __500__. @@ -3955,10 +3958,7 @@ class GoogleCloudIdentitytoolkitV1QueryUserInfoRequest { /// Only valid when `return_user_info` is set to `true`. core.String? offset; - /// The order for sorting query result. /// - /// Defaults to __ascending__ order. Only valid when `return_user_info` is set - /// to `true`. /// Possible string values are: /// - "ORDER_UNSPECIFIED" : Order is not specified. /// - "ASC" : Sort on ascending order. @@ -3971,11 +3971,7 @@ class GoogleCloudIdentitytoolkitV1QueryUserInfoRequest { /// returned. Defaults to `true`. core.bool? returnUserInfo; - /// The field to use for sorting user accounts. /// - /// Defaults to `USER_ID`. Note: when `phone_number` is specified in - /// `expression`, the result ignores the sorting. Only valid when - /// `return_user_info` is set to `true`. /// Possible string values are: /// - "SORT_BY_FIELD_UNSPECIFIED" : Sort field is not specified. /// - "USER_ID" : Sort result by userId. @@ -4374,8 +4370,6 @@ class GoogleCloudIdentitytoolkitV1SetAccountInfoRequest { 'Not supported. Member documentation may have more information.', ) core.String? delegatedProjectNumber; - - /// The account's attributes to be deleted. core.List? deleteAttribute; /// The Identity Providers to unlink from the user's account. @@ -6344,7 +6338,7 @@ class GoogleCloudIdentitytoolkitV1UploadAccountRequest { /// speeds and memory technologies advance. core.int? parallelization; - /// Password and salt order when verify password. + /// /// Possible string values are: /// - "UNSPECIFIED_ORDER" : The order is not specified. /// - "SALT_AND_PASSWORD" : The order is salt first, and then password. diff --git a/generated/googleapis/lib/identitytoolkit/v2.dart b/generated/googleapis/lib/identitytoolkit/v2.dart index 7591d768e..8efadeef9 100644 --- a/generated/googleapis/lib/identitytoolkit/v2.dart +++ b/generated/googleapis/lib/identitytoolkit/v2.dart @@ -2656,6 +2656,11 @@ class GoogleCloudIdentitytoolkitAdminV2Config { /// should be configured. GoogleCloudIdentitytoolkitAdminV2ClientConfig? client; + /// Default Firebase hosting site name + /// + /// Output only. + core.String? defaultHostingSite; + /// Configuration for settings related to email privacy and public visibility. GoogleCloudIdentitytoolkitAdminV2EmailPrivacyConfig? emailPrivacyConfig; @@ -2663,6 +2668,10 @@ class GoogleCloudIdentitytoolkitAdminV2Config { /// whether it is active and what factors can be used for the second factor GoogleCloudIdentitytoolkitAdminV2MultiFactorAuthConfig? mfa; + /// Configuration for settings related to univeral links (iOS) and app links + /// (Android). + GoogleCloudIdentitytoolkitAdminV2MobileLinksConfig? mobileLinksConfig; + /// Configuration related to monitoring project activity. GoogleCloudIdentitytoolkitAdminV2MonitoringConfig? monitoring; @@ -2708,8 +2717,10 @@ class GoogleCloudIdentitytoolkitAdminV2Config { this.autodeleteAnonymousUsers, this.blockingFunctions, this.client, + this.defaultHostingSite, this.emailPrivacyConfig, this.mfa, + this.mobileLinksConfig, this.monitoring, this.multiTenant, this.name, @@ -2738,6 +2749,7 @@ class GoogleCloudIdentitytoolkitAdminV2Config { ? GoogleCloudIdentitytoolkitAdminV2ClientConfig.fromJson( json_['client'] as core.Map) : null, + defaultHostingSite: json_['defaultHostingSite'] as core.String?, emailPrivacyConfig: json_.containsKey('emailPrivacyConfig') ? GoogleCloudIdentitytoolkitAdminV2EmailPrivacyConfig.fromJson( json_['emailPrivacyConfig'] @@ -2747,6 +2759,11 @@ class GoogleCloudIdentitytoolkitAdminV2Config { ? GoogleCloudIdentitytoolkitAdminV2MultiFactorAuthConfig.fromJson( json_['mfa'] as core.Map) : null, + mobileLinksConfig: json_.containsKey('mobileLinksConfig') + ? GoogleCloudIdentitytoolkitAdminV2MobileLinksConfig.fromJson( + json_['mobileLinksConfig'] + as core.Map) + : null, monitoring: json_.containsKey('monitoring') ? GoogleCloudIdentitytoolkitAdminV2MonitoringConfig.fromJson( json_['monitoring'] as core.Map) @@ -2792,9 +2809,12 @@ class GoogleCloudIdentitytoolkitAdminV2Config { 'autodeleteAnonymousUsers': autodeleteAnonymousUsers!, if (blockingFunctions != null) 'blockingFunctions': blockingFunctions!, if (client != null) 'client': client!, + if (defaultHostingSite != null) + 'defaultHostingSite': defaultHostingSite!, if (emailPrivacyConfig != null) 'emailPrivacyConfig': emailPrivacyConfig!, if (mfa != null) 'mfa': mfa!, + if (mobileLinksConfig != null) 'mobileLinksConfig': mobileLinksConfig!, if (monitoring != null) 'monitoring': monitoring!, if (multiTenant != null) 'multiTenant': multiTenant!, if (name != null) 'name': name!, @@ -3503,6 +3523,32 @@ class GoogleCloudIdentitytoolkitAdminV2ListTenantsResponse { }; } +/// Configuration mobile links. +class GoogleCloudIdentitytoolkitAdminV2MobileLinksConfig { + /// Open code in app domain to use for app links and universal links. + /// Possible string values are: + /// - "DOMAIN_UNSPECIFIED" : Default value. The default domain is the Firebase + /// Dynamic Link domain before the FDL deprecation and the hosting domain + /// after the FDL deprecation. + /// - "FIREBASE_DYNAMIC_LINK_DOMAIN" : Use Firebase Dynamic Link domain as app + /// link domain. Default value. + /// - "HOSTING_DOMAIN" : Use hosting domain as app link domain. + core.String? domain; + + GoogleCloudIdentitytoolkitAdminV2MobileLinksConfig({ + this.domain, + }); + + GoogleCloudIdentitytoolkitAdminV2MobileLinksConfig.fromJson(core.Map json_) + : this( + domain: json_['domain'] as core.String?, + ); + + core.Map toJson() => { + if (domain != null) 'domain': domain!, + }; +} + /// Configuration related to monitoring project activity. class GoogleCloudIdentitytoolkitAdminV2MonitoringConfig { /// Configuration for logging requests made to this project to Stackdriver @@ -4647,6 +4693,17 @@ class GoogleCloudIdentitytoolkitAdminV2Tenant { /// The tenant-level configuration of MFA options. GoogleCloudIdentitytoolkitAdminV2MultiFactorAuthConfig? mfaConfig; + /// Never launched. + /// + /// Configuration for settings related to univeral links (iOS) and app links + /// (Android). + /// + /// Optional. Deprecated. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) + GoogleCloudIdentitytoolkitAdminV2MobileLinksConfig? mobileLinksConfig; + /// Configuration related to monitoring project activity. GoogleCloudIdentitytoolkitAdminV2MonitoringConfig? monitoring; @@ -4685,6 +4742,7 @@ class GoogleCloudIdentitytoolkitAdminV2Tenant { this.hashConfig, this.inheritance, this.mfaConfig, + this.mobileLinksConfig, this.monitoring, this.name, this.passwordPolicyConfig, @@ -4724,6 +4782,11 @@ class GoogleCloudIdentitytoolkitAdminV2Tenant { ? GoogleCloudIdentitytoolkitAdminV2MultiFactorAuthConfig.fromJson( json_['mfaConfig'] as core.Map) : null, + mobileLinksConfig: json_.containsKey('mobileLinksConfig') + ? GoogleCloudIdentitytoolkitAdminV2MobileLinksConfig.fromJson( + json_['mobileLinksConfig'] + as core.Map) + : null, monitoring: json_.containsKey('monitoring') ? GoogleCloudIdentitytoolkitAdminV2MonitoringConfig.fromJson( json_['monitoring'] as core.Map) @@ -4771,6 +4834,7 @@ class GoogleCloudIdentitytoolkitAdminV2Tenant { if (hashConfig != null) 'hashConfig': hashConfig!, if (inheritance != null) 'inheritance': inheritance!, if (mfaConfig != null) 'mfaConfig': mfaConfig!, + if (mobileLinksConfig != null) 'mobileLinksConfig': mobileLinksConfig!, if (monitoring != null) 'monitoring': monitoring!, if (name != null) 'name': name!, if (passwordPolicyConfig != null) diff --git a/generated/googleapis/lib/ids/v1.dart b/generated/googleapis/lib/ids/v1.dart index 50e890bee..b6098d562 100644 --- a/generated/googleapis/lib/ids/v1.dart +++ b/generated/googleapis/lib/ids/v1.dart @@ -328,63 +328,6 @@ class ProjectsLocationsEndpointsResource { return Endpoint.fromJson(response_ as core.Map); } - /// Gets the access control policy for a resource. - /// - /// Returns an empty policy if the resource exists and does not have a policy - /// set. - /// - /// Request parameters: - /// - /// [resource] - REQUIRED: The resource for which the policy is being - /// requested. See - /// [Resource names](https://cloud.google.com/apis/design/resource_names) for - /// the appropriate value for this field. - /// Value must have pattern - /// `^projects/\[^/\]+/locations/\[^/\]+/endpoints/\[^/\]+$`. - /// - /// [options_requestedPolicyVersion] - Optional. The maximum policy version - /// that will be used to format the policy. Valid values are 0, 1, and 3. - /// Requests specifying an invalid value will be rejected. Requests for - /// policies with any conditional role bindings must specify version 3. - /// Policies with no conditional role bindings may specify any valid value or - /// leave the field unset. The policy in the response might use the policy - /// version that you specified, or it might use a lower policy version. For - /// example, if you specify version 3, but the policy has no conditional role - /// bindings, the response uses version 1. To learn which resources support - /// conditions in their IAM policies, see the - /// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [Policy]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - async.Future getIamPolicy( - core.String resource, { - core.int? options_requestedPolicyVersion, - core.String? $fields, - }) async { - final queryParams_ = >{ - if (options_requestedPolicyVersion != null) - 'options.requestedPolicyVersion': ['${options_requestedPolicyVersion}'], - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':getIamPolicy'; - - final response_ = await _requester.request( - url_, - 'GET', - queryParams: queryParams_, - ); - return Policy.fromJson(response_ as core.Map); - } - /// Lists Endpoints in a given project and location. /// /// Request parameters: @@ -505,104 +448,6 @@ class ProjectsLocationsEndpointsResource { ); return Operation.fromJson(response_ as core.Map); } - - /// Sets the access control policy on the specified resource. - /// - /// Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, - /// and `PERMISSION_DENIED` errors. - /// - /// [request] - The metadata request object. - /// - /// Request parameters: - /// - /// [resource] - REQUIRED: The resource for which the policy is being - /// specified. See - /// [Resource names](https://cloud.google.com/apis/design/resource_names) for - /// the appropriate value for this field. - /// Value must have pattern - /// `^projects/\[^/\]+/locations/\[^/\]+/endpoints/\[^/\]+$`. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [Policy]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - async.Future setIamPolicy( - SetIamPolicyRequest request, - core.String resource, { - core.String? $fields, - }) async { - final body_ = convert.json.encode(request); - final queryParams_ = >{ - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':setIamPolicy'; - - final response_ = await _requester.request( - url_, - 'POST', - body: body_, - queryParams: queryParams_, - ); - return Policy.fromJson(response_ as core.Map); - } - - /// Returns permissions that a caller has on the specified resource. - /// - /// If the resource does not exist, this will return an empty set of - /// permissions, not a `NOT_FOUND` error. Note: This operation is designed to - /// be used for building permission-aware UIs and command-line tools, not for - /// authorization checking. This operation may "fail open" without warning. - /// - /// [request] - The metadata request object. - /// - /// Request parameters: - /// - /// [resource] - REQUIRED: The resource for which the policy detail is being - /// requested. See - /// [Resource names](https://cloud.google.com/apis/design/resource_names) for - /// the appropriate value for this field. - /// Value must have pattern - /// `^projects/\[^/\]+/locations/\[^/\]+/endpoints/\[^/\]+$`. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [TestIamPermissionsResponse]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - async.Future testIamPermissions( - TestIamPermissionsRequest request, - core.String resource, { - core.String? $fields, - }) async { - final body_ = convert.json.encode(request); - final queryParams_ = >{ - if ($fields != null) 'fields': [$fields], - }; - - final url_ = - 'v1/' + core.Uri.encodeFull('$resource') + ':testIamPermissions'; - - final response_ = await _requester.request( - url_, - 'POST', - body: body_, - queryParams: queryParams_, - ); - return TestIamPermissionsResponse.fromJson( - response_ as core.Map); - } } class ProjectsLocationsOperationsResource { @@ -619,8 +464,8 @@ class ProjectsLocationsOperationsResource { /// or other methods to check whether the cancellation succeeded or whether /// the operation completed despite cancellation. On successful cancellation, /// the operation is not deleted; instead, it becomes an operation with an - /// Operation.error value with a google.rpc.Status.code of 1, corresponding to - /// `Code.CANCELLED`. + /// Operation.error value with a google.rpc.Status.code of `1`, corresponding + /// to `Code.CANCELLED`. /// /// [request] - The metadata request object. /// @@ -791,166 +636,6 @@ class ProjectsLocationsOperationsResource { } } -/// Specifies the audit configuration for a service. -/// -/// The configuration determines which permission types are logged, and what -/// identities, if any, are exempted from logging. An AuditConfig must have one -/// or more AuditLogConfigs. If there are AuditConfigs for both `allServices` -/// and a specific service, the union of the two AuditConfigs is used for that -/// service: the log_types specified in each AuditConfig are enabled, and the -/// exempted_members in each AuditLogConfig are exempted. Example Policy with -/// multiple AuditConfigs: { "audit_configs": \[ { "service": "allServices", -/// "audit_log_configs": \[ { "log_type": "DATA_READ", "exempted_members": \[ -/// "user:jose@example.com" \] }, { "log_type": "DATA_WRITE" }, { "log_type": -/// "ADMIN_READ" } \] }, { "service": "sampleservice.googleapis.com", -/// "audit_log_configs": \[ { "log_type": "DATA_READ" }, { "log_type": -/// "DATA_WRITE", "exempted_members": \[ "user:aliya@example.com" \] } \] } \] } -/// For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ -/// logging. It also exempts `jose@example.com` from DATA_READ logging, and -/// `aliya@example.com` from DATA_WRITE logging. -class AuditConfig { - /// The configuration for logging of each type of permission. - core.List? auditLogConfigs; - - /// Specifies a service that will be enabled for audit logging. - /// - /// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. - /// `allServices` is a special value that covers all services. - core.String? service; - - AuditConfig({ - this.auditLogConfigs, - this.service, - }); - - AuditConfig.fromJson(core.Map json_) - : this( - auditLogConfigs: (json_['auditLogConfigs'] as core.List?) - ?.map((value) => AuditLogConfig.fromJson( - value as core.Map)) - .toList(), - service: json_['service'] as core.String?, - ); - - core.Map toJson() => { - if (auditLogConfigs != null) 'auditLogConfigs': auditLogConfigs!, - if (service != null) 'service': service!, - }; -} - -/// Provides the configuration for logging a type of permissions. -/// -/// Example: { "audit_log_configs": \[ { "log_type": "DATA_READ", -/// "exempted_members": \[ "user:jose@example.com" \] }, { "log_type": -/// "DATA_WRITE" } \] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while -/// exempting jose@example.com from DATA_READ logging. -typedef AuditLogConfig = $AuditLogConfig; - -/// Associates `members`, or principals, with a `role`. -class Binding { - /// The condition that is associated with this binding. - /// - /// If the condition evaluates to `true`, then this binding applies to the - /// current request. If the condition evaluates to `false`, then this binding - /// does not apply to the current request. However, a different role binding - /// might grant the same role to one or more of the principals in this - /// binding. To learn which resources support conditions in their IAM - /// policies, see the - /// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - Expr? condition; - - /// Specifies the principals requesting access for a Google Cloud resource. - /// - /// `members` can have the following values: * `allUsers`: A special - /// identifier that represents anyone who is on the internet; with or without - /// a Google account. * `allAuthenticatedUsers`: A special identifier that - /// represents anyone who is authenticated with a Google account or a service - /// account. Does not include identities that come from external identity - /// providers (IdPs) through identity federation. * `user:{emailid}`: An email - /// address that represents a specific Google account. For example, - /// `alice@example.com` . * `serviceAccount:{emailid}`: An email address that - /// represents a Google service account. For example, - /// `my-other-app@appspot.gserviceaccount.com`. * - /// `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An - /// identifier for a - /// [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). - /// For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * - /// `group:{emailid}`: An email address that represents a Google group. For - /// example, `admins@example.com`. * `domain:{domain}`: The G Suite domain - /// (primary) that represents all the users of that domain. For example, - /// `google.com` or `example.com`. * - /// `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: - /// A single identity in a workforce identity pool. * - /// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: - /// All workforce identities in a group. * - /// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: - /// All workforce identities with a specific attribute value. * - /// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id} - /// / * `: All identities in a workforce identity pool. * - /// `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: - /// A single identity in a workload identity pool. * - /// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: - /// A workload identity pool group. * - /// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: - /// All identities in a workload identity pool with a certain attribute. * - /// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id} - /// / * `: All identities in a workload identity pool. * - /// `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique - /// identifier) representing a user that has been recently deleted. For - /// example, `alice@example.com?uid=123456789012345678901`. If the user is - /// recovered, this value reverts to `user:{emailid}` and the recovered user - /// retains the role in the binding. * - /// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus - /// unique identifier) representing a service account that has been recently - /// deleted. For example, - /// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If - /// the service account is undeleted, this value reverts to - /// `serviceAccount:{emailid}` and the undeleted service account retains the - /// role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email - /// address (plus unique identifier) representing a Google group that has been - /// recently deleted. For example, - /// `admins@example.com?uid=123456789012345678901`. If the group is recovered, - /// this value reverts to `group:{emailid}` and the recovered group retains - /// the role in the binding. * - /// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: - /// Deleted single identity in a workforce identity pool. For example, - /// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. - core.List? members; - - /// Role that is assigned to the list of `members`, or principals. - /// - /// For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an - /// overview of the IAM roles and permissions, see the - /// [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For - /// a list of the available pre-defined roles, see - /// [here](https://cloud.google.com/iam/docs/understanding-roles). - core.String? role; - - Binding({ - this.condition, - this.members, - this.role, - }); - - Binding.fromJson(core.Map json_) - : this( - condition: json_.containsKey('condition') - ? Expr.fromJson( - json_['condition'] as core.Map) - : null, - members: (json_['members'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - role: json_['role'] as core.String?, - ); - - core.Map toJson() => { - if (condition != null) 'condition': condition!, - if (members != null) 'members': members!, - if (role != null) 'role': role!, - }; -} - /// The request message for Operations.CancelOperation. typedef CancelOperationRequest = $Empty; @@ -1107,26 +792,6 @@ class Endpoint { }; } -/// Represents a textual expression in the Common Expression Language (CEL) -/// syntax. -/// -/// CEL is a C-like expression language. The syntax and semantics of CEL are -/// documented at https://github.com/google/cel-spec. Example (Comparison): -/// title: "Summary size limit" description: "Determines if a summary is less -/// than 100 chars" expression: "document.summary.size() \< 100" Example -/// (Equality): title: "Requestor is owner" description: "Determines if -/// requestor is the document owner" expression: "document.owner == -/// request.auth.claims.email" Example (Logic): title: "Public documents" -/// description: "Determine whether the document should be publicly visible" -/// expression: "document.type != 'private' && document.type != 'internal'" -/// Example (Data Manipulation): title: "Notification string" description: -/// "Create a notification string with a timestamp." expression: "'New message -/// received at ' + string(document.create_time)" The exact variables and -/// functions that may be referenced within an expression are determined by the -/// service that evaluates it. See the service documentation for additional -/// information. -typedef Expr = $Expr; - class ListEndpointsResponse { /// The list of endpoints response. core.List? endpoints; @@ -1299,156 +964,6 @@ class Operation { }; } -/// An Identity and Access Management (IAM) policy, which specifies access -/// controls for Google Cloud resources. -/// -/// A `Policy` is a collection of `bindings`. A `binding` binds one or more -/// `members`, or principals, to a single `role`. Principals can be user -/// accounts, service accounts, Google groups, and domains (such as G Suite). A -/// `role` is a named list of permissions; each `role` can be an IAM predefined -/// role or a user-created custom role. For some types of Google Cloud -/// resources, a `binding` can also specify a `condition`, which is a logical -/// expression that allows access to a resource only if the expression evaluates -/// to `true`. A condition can add constraints based on attributes of the -/// request, the resource, or both. To learn which resources support conditions -/// in their IAM policies, see the -/// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). -/// **JSON example:** ``` { "bindings": [ { "role": -/// "roles/resourcemanager.organizationAdmin", "members": [ -/// "user:mike@example.com", "group:admins@example.com", "domain:google.com", -/// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": -/// "roles/resourcemanager.organizationViewer", "members": [ -/// "user:eve@example.com" ], "condition": { "title": "expirable access", -/// "description": "Does not grant access after Sep 2020", "expression": -/// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": -/// "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - -/// members: - user:mike@example.com - group:admins@example.com - -/// domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com -/// role: roles/resourcemanager.organizationAdmin - members: - -/// user:eve@example.com role: roles/resourcemanager.organizationViewer -/// condition: title: expirable access description: Does not grant access after -/// Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') -/// etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, -/// see the [IAM documentation](https://cloud.google.com/iam/docs/). -class Policy { - /// Specifies cloud audit logging configuration for this policy. - core.List? auditConfigs; - - /// Associates a list of `members`, or principals, with a `role`. - /// - /// Optionally, may specify a `condition` that determines how and when the - /// `bindings` are applied. Each of the `bindings` must contain at least one - /// principal. The `bindings` in a `Policy` can refer to up to 1,500 - /// principals; up to 250 of these principals can be Google groups. Each - /// occurrence of a principal counts towards these limits. For example, if the - /// `bindings` grant 50 different roles to `user:alice@example.com`, and not - /// to any other principal, then you can add another 1,450 principals to the - /// `bindings` in the `Policy`. - core.List? bindings; - - /// `etag` is used for optimistic concurrency control as a way to help prevent - /// simultaneous updates of a policy from overwriting each other. - /// - /// It is strongly suggested that systems make use of the `etag` in the - /// read-modify-write cycle to perform policy updates in order to avoid race - /// conditions: An `etag` is returned in the response to `getIamPolicy`, and - /// systems are expected to put that etag in the request to `setIamPolicy` to - /// ensure that their change will be applied to the same version of the - /// policy. **Important:** If you use IAM Conditions, you must include the - /// `etag` field whenever you call `setIamPolicy`. If you omit this field, - /// then IAM allows you to overwrite a version `3` policy with a version `1` - /// policy, and all of the conditions in the version `3` policy are lost. - core.String? etag; - core.List get etagAsBytes => convert.base64.decode(etag!); - - set etagAsBytes(core.List bytes_) { - etag = - convert.base64.encode(bytes_).replaceAll('/', '_').replaceAll('+', '-'); - } - - /// Specifies the format of the policy. - /// - /// Valid values are `0`, `1`, and `3`. Requests that specify an invalid value - /// are rejected. Any operation that affects conditional role bindings must - /// specify version `3`. This requirement applies to the following operations: - /// * Getting a policy that includes a conditional role binding * Adding a - /// conditional role binding to a policy * Changing a conditional role binding - /// in a policy * Removing any role binding, with or without a condition, from - /// a policy that includes conditions **Important:** If you use IAM - /// Conditions, you must include the `etag` field whenever you call - /// `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a - /// version `3` policy with a version `1` policy, and all of the conditions in - /// the version `3` policy are lost. If a policy does not include any - /// conditions, operations on that policy may specify any valid version or - /// leave the field unset. To learn which resources support conditions in - /// their IAM policies, see the - /// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - core.int? version; - - Policy({ - this.auditConfigs, - this.bindings, - this.etag, - this.version, - }); - - Policy.fromJson(core.Map json_) - : this( - auditConfigs: (json_['auditConfigs'] as core.List?) - ?.map((value) => AuditConfig.fromJson( - value as core.Map)) - .toList(), - bindings: (json_['bindings'] as core.List?) - ?.map((value) => Binding.fromJson( - value as core.Map)) - .toList(), - etag: json_['etag'] as core.String?, - version: json_['version'] as core.int?, - ); - - core.Map toJson() => { - if (auditConfigs != null) 'auditConfigs': auditConfigs!, - if (bindings != null) 'bindings': bindings!, - if (etag != null) 'etag': etag!, - if (version != null) 'version': version!, - }; -} - -/// Request message for `SetIamPolicy` method. -class SetIamPolicyRequest { - /// REQUIRED: The complete policy to be applied to the `resource`. - /// - /// The size of the policy is limited to a few 10s of KB. An empty policy is a - /// valid policy but certain Google Cloud services (such as Projects) might - /// reject them. - Policy? policy; - - /// OPTIONAL: A FieldMask specifying which fields of the policy to modify. - /// - /// Only the fields in the mask will be modified. If no mask is provided, the - /// following default mask is used: `paths: "bindings, etag"` - core.String? updateMask; - - SetIamPolicyRequest({ - this.policy, - this.updateMask, - }); - - SetIamPolicyRequest.fromJson(core.Map json_) - : this( - policy: json_.containsKey('policy') - ? Policy.fromJson( - json_['policy'] as core.Map) - : null, - updateMask: json_['updateMask'] as core.String?, - ); - - core.Map toJson() => { - if (policy != null) 'policy': policy!, - if (updateMask != null) 'updateMask': updateMask!, - }; -} - /// The `Status` type defines a logical error model that is suitable for /// different programming environments, including REST APIs and RPC APIs. /// @@ -1457,9 +972,3 @@ class SetIamPolicyRequest { /// You can find out more about this error model and how to work with it in the /// [API Design Guide](https://cloud.google.com/apis/design/errors). typedef Status = $Status00; - -/// Request message for `TestIamPermissions` method. -typedef TestIamPermissionsRequest = $TestIamPermissionsRequest00; - -/// Response message for `TestIamPermissions` method. -typedef TestIamPermissionsResponse = $PermissionsResponse; diff --git a/generated/googleapis/lib/integrations/v1.dart b/generated/googleapis/lib/integrations/v1.dart index 6e0ea9da5..610934979 100644 --- a/generated/googleapis/lib/integrations/v1.dart +++ b/generated/googleapis/lib/integrations/v1.dart @@ -1636,6 +1636,10 @@ class ProjectsLocationsIntegrationsResource { /// Value must have pattern /// `^projects/\[^/\]+/locations/\[^/\]+/integrations/\[^/\]+$`. /// + /// [GCPCloudEventsMode] - Optional. LINT: LEGACY_NAMES The query parameter + /// value for __GCP_CloudEventsMode, set by the Eventarc service when + /// configuring triggers. + /// /// [triggerId] - Required. Id of the integration trigger config. The /// trigger_id is in the format: /// `integration_connector_trigger/projects/{gcp_project_id}/location/{location}/connections/{connection_name}/subscriptions/{subscription_name}`. @@ -1652,10 +1656,13 @@ class ProjectsLocationsIntegrationsResource { /// this method will complete with the same error. async.Future executeEvent( core.String name, { + core.String? GCPCloudEventsMode, core.String? triggerId, core.String? $fields, }) async { final queryParams_ = >{ + if (GCPCloudEventsMode != null) + 'GCPCloudEventsMode': [GCPCloudEventsMode], if (triggerId != null) 'triggerId': [triggerId], if ($fields != null) 'fields': [$fields], }; @@ -3000,6 +3007,50 @@ class ProjectsLocationsIntegrationsVersionsTestCasesResource { response_ as core.Map); } + /// Executes all test cases in an integration version. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [parent] - Required. The parent resource whose test cases are executed. + /// Format: + /// projects/{project}/locations/{location}/integrations/{integration}/versions/{integration_version} + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/integrations/\[^/\]+/versions/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleCloudIntegrationsV1alphaExecuteTestCasesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future execute( + GoogleCloudIntegrationsV1alphaExecuteTestCasesRequest request, + core.String parent, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/testCases:execute'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return GoogleCloudIntegrationsV1alphaExecuteTestCasesResponse.fromJson( + response_ as core.Map); + } + /// Executes functional test /// /// [request] - The metadata request object. @@ -3146,87 +3197,6 @@ class ProjectsLocationsIntegrationsVersionsTestCasesResource { response_ as core.Map); } - /// Lists the results of all functional test executions. - /// - /// The response includes the same information as the - /// [execution log](https://cloud.google.com/application-integration/docs/viewing-logs) - /// in the Integration UI. - /// - /// Request parameters: - /// - /// [parent] - Required. The parent resource name of the test case execution. - /// Value must have pattern - /// `^projects/\[^/\]+/locations/\[^/\]+/integrations/\[^/\]+/versions/\[^/\]+/testCases/\[^/\]+$`. - /// - /// [filter] - Optional. Standard filter field, we support filtering on - /// following fields: test_case_id: the ID of the test case. CreateTimestamp: - /// the execution created time. event_execution_state: the state of the - /// executions. execution_id: the id of the execution. trigger_id: the id of - /// the trigger. parameter_type: the type of the parameters involved in the - /// execution. All fields support for EQUALS, in additional: CreateTimestamp - /// support for LESS_THAN, GREATER_THAN ParameterType support for HAS For - /// example: "parameter_type" HAS \"string\" Also supports operators like AND, - /// OR, NOT For example, trigger_id=\"id1\" AND test_case_id=\"testCaseId\" - /// - /// [orderBy] - Optional. The results would be returned in order you specified - /// here. Currently supporting "last_modified_time" and "create_time". - /// - /// [pageSize] - Optional. The size of entries in the response. - /// - /// [pageToken] - Optional. The token returned in the previous response. - /// - /// [readMask] - Optional. View mask for the response data. If set, only the - /// field specified will be returned as part of the result. If not set, all - /// fields in event execution info will be filled and returned. - /// - /// [truncateParams] - Optional. If true, the service will truncate the params - /// to only keep the first 1000 characters of string params and empty the - /// executions in order to make response smaller. Only works for UI and when - /// the params fields are not filtered out. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a - /// [GoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - async.Future - listExecutions( - core.String parent, { - core.String? filter, - core.String? orderBy, - core.int? pageSize, - core.String? pageToken, - core.String? readMask, - core.bool? truncateParams, - core.String? $fields, - }) async { - final queryParams_ = >{ - if (filter != null) 'filter': [filter], - if (orderBy != null) 'orderBy': [orderBy], - if (pageSize != null) 'pageSize': ['${pageSize}'], - if (pageToken != null) 'pageToken': [pageToken], - if (readMask != null) 'readMask': [readMask], - if (truncateParams != null) 'truncateParams': ['${truncateParams}'], - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v1/' + core.Uri.encodeFull('$parent') + ':executions'; - - final response_ = await _requester.request( - url_, - 'GET', - queryParams: queryParams_, - ); - return GoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse - .fromJson(response_ as core.Map); - } - /// Updates a test case /// /// [request] - The metadata request object. @@ -7292,7 +7262,7 @@ class EnterpriseCrmEventbusProtoCustomSuspensionRequest { }; } -typedef EnterpriseCrmEventbusProtoDoubleArray = $Shared06; +typedef EnterpriseCrmEventbusProtoDoubleArray = $Shared07; typedef EnterpriseCrmEventbusProtoDoubleParameterArray = $EventbusProtoDoubleParameterArray; @@ -7849,7 +7819,7 @@ class EnterpriseCrmEventbusProtoFailurePolicy { }; } -typedef EnterpriseCrmEventbusProtoIntArray = $Shared07; +typedef EnterpriseCrmEventbusProtoIntArray = $Shared08; typedef EnterpriseCrmEventbusProtoIntParameterArray = $EventbusProtoIntParameterArray; @@ -9333,7 +9303,7 @@ class EnterpriseCrmEventbusProtoTeardownTaskConfig { }; } -typedef EnterpriseCrmEventbusProtoToken = $Shared05; +typedef EnterpriseCrmEventbusProtoToken = $Shared06; class EnterpriseCrmEventbusProtoTriggerCriteria { /// Standard filter expression, when true the workflow will be executed. @@ -11146,6 +11116,7 @@ class EnterpriseCrmFrontendsEventbusProtoTriggerConfig { /// - "CLOUD_SCHEDULER" /// - "INTEGRATION_CONNECTOR_TRIGGER" /// - "PRIVATE_TRIGGER" + /// - "EVENTARC_TRIGGER" core.String? triggerType; EnterpriseCrmFrontendsEventbusProtoTriggerConfig({ @@ -12404,6 +12375,9 @@ class GoogleCloudConnectorsV1DestinationConfig { /// Encryption Key value. typedef GoogleCloudConnectorsV1EncryptionKey = $EncryptionKey; +/// Data enrichment configuration. +typedef GoogleCloudConnectorsV1EnrichmentConfig = $EnrichmentConfig; + /// Eventing Configuration of a connection class GoogleCloudConnectorsV1EventingConfig { /// Additional eventing related field values @@ -12421,6 +12395,11 @@ class GoogleCloudConnectorsV1EventingConfig { /// Optional. GoogleCloudConnectorsV1EventingConfigDeadLetterConfig? deadLetterConfig; + /// Data enrichment configuration. + /// + /// Optional. + GoogleCloudConnectorsV1EnrichmentConfig? enrichmentConfig; + /// Enrichment Enabled. /// /// Optional. @@ -12457,6 +12436,7 @@ class GoogleCloudConnectorsV1EventingConfig { this.additionalVariables, this.authConfig, this.deadLetterConfig, + this.enrichmentConfig, this.enrichmentEnabled, this.eventsListenerIngressEndpoint, this.listenerAuthConfig, @@ -12480,6 +12460,11 @@ class GoogleCloudConnectorsV1EventingConfig { json_['deadLetterConfig'] as core.Map) : null, + enrichmentConfig: json_.containsKey('enrichmentConfig') + ? GoogleCloudConnectorsV1EnrichmentConfig.fromJson( + json_['enrichmentConfig'] + as core.Map) + : null, enrichmentEnabled: json_['enrichmentEnabled'] as core.bool?, eventsListenerIngressEndpoint: json_['eventsListenerIngressEndpoint'] as core.String?, @@ -12508,6 +12493,7 @@ class GoogleCloudConnectorsV1EventingConfig { 'additionalVariables': additionalVariables!, if (authConfig != null) 'authConfig': authConfig!, if (deadLetterConfig != null) 'deadLetterConfig': deadLetterConfig!, + if (enrichmentConfig != null) 'enrichmentConfig': enrichmentConfig!, if (enrichmentEnabled != null) 'enrichmentEnabled': enrichmentEnabled!, if (eventsListenerIngressEndpoint != null) 'eventsListenerIngressEndpoint': eventsListenerIngressEndpoint!, @@ -14500,12 +14486,18 @@ class GoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse { core.List? parameterEntries; + /// OUTPUT parameters from integration execution. + /// + /// Optional. + core.Map? parameters; + GoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse({ this.eventParameters, this.executionFailed, this.executionId, this.outputParameters, this.parameterEntries, + this.parameters, }); GoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse.fromJson( @@ -14526,6 +14518,15 @@ class GoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse { EnterpriseCrmFrontendsEventbusProtoParameterEntry.fromJson( value as core.Map)) .toList(), + parameters: + (json_['parameters'] as core.Map?) + ?.map( + (key, value) => core.MapEntry( + key, + GoogleCloudIntegrationsV1alphaValueType.fromJson( + value as core.Map), + ), + ), ); core.Map toJson() => { @@ -14534,6 +14535,7 @@ class GoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse { if (executionId != null) 'executionId': executionId!, if (outputParameters != null) 'outputParameters': outputParameters!, if (parameterEntries != null) 'parameterEntries': parameterEntries!, + if (parameters != null) 'parameters': parameters!, }; } @@ -14622,9 +14624,44 @@ class GoogleCloudIntegrationsV1alphaExecuteTestCaseResponse { }; } +/// Request for ExecuteTestCases. +typedef GoogleCloudIntegrationsV1alphaExecuteTestCasesRequest = $Empty; + +/// Response for ExecuteTestCases. +class GoogleCloudIntegrationsV1alphaExecuteTestCasesResponse { + /// Results of each execution of test cases in an integration version. + core.List? + executeTestCaseResponses; + + GoogleCloudIntegrationsV1alphaExecuteTestCasesResponse({ + this.executeTestCaseResponses, + }); + + GoogleCloudIntegrationsV1alphaExecuteTestCasesResponse.fromJson( + core.Map json_) + : this( + executeTestCaseResponses: (json_['executeTestCaseResponses'] + as core.List?) + ?.map((value) => + GoogleCloudIntegrationsV1alphaExecuteTestCaseResponse + .fromJson(value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (executeTestCaseResponses != null) + 'executeTestCaseResponses': executeTestCaseResponses!, + }; +} + /// The Execution resource contains detailed information of an individual /// integration execution. class GoogleCloudIntegrationsV1alphaExecution { + /// Cloud KMS resource name for the CMEK encryption key. + /// + /// Optional. + core.String? cloudKmsKey; + /// Cloud Logging details for the integration version GoogleCloudIntegrationsV1alphaCloudLoggingDetails? cloudLoggingDetails; @@ -14711,6 +14748,7 @@ class GoogleCloudIntegrationsV1alphaExecution { core.String? updateTime; GoogleCloudIntegrationsV1alphaExecution({ + this.cloudKmsKey, this.cloudLoggingDetails, this.createTime, this.directSubExecutions, @@ -14731,6 +14769,7 @@ class GoogleCloudIntegrationsV1alphaExecution { GoogleCloudIntegrationsV1alphaExecution.fromJson(core.Map json_) : this( + cloudKmsKey: json_['cloudKmsKey'] as core.String?, cloudLoggingDetails: json_.containsKey('cloudLoggingDetails') ? GoogleCloudIntegrationsV1alphaCloudLoggingDetails.fromJson( json_['cloudLoggingDetails'] @@ -14793,6 +14832,7 @@ class GoogleCloudIntegrationsV1alphaExecution { ); core.Map toJson() => { + if (cloudKmsKey != null) 'cloudKmsKey': cloudKmsKey!, if (cloudLoggingDetails != null) 'cloudLoggingDetails': cloudLoggingDetails!, if (createTime != null) 'createTime': createTime!, @@ -15321,16 +15361,12 @@ class GoogleCloudIntegrationsV1alphaGetClientResponse { /// Request to Import template class GoogleCloudIntegrationsV1alphaImportTemplateRequest { - /// Name of the integration where template needs to be imported. + /// Resource Name of the integration where template needs to be + /// imported/inserted. /// /// Required. core.String? integration; - /// The region of the Integration to be created. - /// - /// Required. - core.String? integrationRegion; - /// Sub Integration which would be created via templates. /// /// Optional. @@ -15340,14 +15376,12 @@ class GoogleCloudIntegrationsV1alphaImportTemplateRequest { GoogleCloudIntegrationsV1alphaImportTemplateRequest({ this.integration, - this.integrationRegion, this.subIntegrations, }); GoogleCloudIntegrationsV1alphaImportTemplateRequest.fromJson(core.Map json_) : this( integration: json_['integration'] as core.String?, - integrationRegion: json_['integrationRegion'] as core.String?, subIntegrations: (json_['subIntegrations'] as core.Map?) ?.map( @@ -15361,7 +15395,6 @@ class GoogleCloudIntegrationsV1alphaImportTemplateRequest { core.Map toJson() => { if (integration != null) 'integration': integration!, - if (integrationRegion != null) 'integrationRegion': integrationRegion!, if (subIntegrations != null) 'subIntegrations': subIntegrations!, }; } @@ -15841,6 +15874,11 @@ class GoogleCloudIntegrationsV1alphaIntegrationParameter { /// The integration version definition. class GoogleCloudIntegrationsV1alphaIntegrationVersion { + /// Cloud KMS resource name for the CMEK encryption key. + /// + /// Optional. + core.String? cloudKmsKey; + /// Cloud Logging details for the integration version /// /// Optional. @@ -16069,6 +16107,7 @@ class GoogleCloudIntegrationsV1alphaIntegrationVersion { core.String? userLabel; GoogleCloudIntegrationsV1alphaIntegrationVersion({ + this.cloudKmsKey, this.cloudLoggingDetails, this.createTime, this.createdFromTemplate, @@ -16099,6 +16138,7 @@ class GoogleCloudIntegrationsV1alphaIntegrationVersion { GoogleCloudIntegrationsV1alphaIntegrationVersion.fromJson(core.Map json_) : this( + cloudKmsKey: json_['cloudKmsKey'] as core.String?, cloudLoggingDetails: json_.containsKey('cloudLoggingDetails') ? GoogleCloudIntegrationsV1alphaCloudLoggingDetails.fromJson( json_['cloudLoggingDetails'] @@ -16171,6 +16211,7 @@ class GoogleCloudIntegrationsV1alphaIntegrationVersion { ); core.Map toJson() => { + if (cloudKmsKey != null) 'cloudKmsKey': cloudKmsKey!, if (cloudLoggingDetails != null) 'cloudLoggingDetails': cloudLoggingDetails!, if (createTime != null) 'createTime': createTime!, @@ -16758,35 +16799,6 @@ class GoogleCloudIntegrationsV1alphaListTemplatesResponse { }; } -/// The response for listing the functional test execution data. -class GoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse { - /// The detailed information of requested executions - core.List? executions; - - /// The token used to retrieve the next page results. - core.String? nextPageToken; - - GoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse({ - this.executions, - this.nextPageToken, - }); - - GoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse.fromJson( - core.Map json_) - : this( - executions: (json_['executions'] as core.List?) - ?.map((value) => GoogleCloudIntegrationsV1alphaExecution.fromJson( - value as core.Map)) - .toList(), - nextPageToken: json_['nextPageToken'] as core.String?, - ); - - core.Map toJson() => { - if (executions != null) 'executions': executions!, - if (nextPageToken != null) 'nextPageToken': nextPageToken!, - }; -} - /// Response for ListTestCases class GoogleCloudIntegrationsV1alphaListTestCasesResponse { /// A token, which can be sent as `page_token` to retrieve the next page. @@ -17539,22 +17551,73 @@ class GoogleCloudIntegrationsV1alphaReplaceServiceAccountRequest { /// Request for replaying an execution. class GoogleCloudIntegrationsV1alphaReplayExecutionRequest { + /// The modified input parameters for replay. + /// + /// - Provide values for all the fields in the 'update_mask'. Any field not + /// present in the 'update_mask' will be ignored and its value will be taken + /// from the original execution. - If the 'update_mask' is not specified, all + /// the parameters from original execution will be ignored and only the + /// `modified_parameters` will be used. + /// + /// Optional. + core.Map? + modifiedParameters; + + /// The mode of the replay. + /// + /// Optional. + /// Possible string values are: + /// - "REPLAY_MODE_UNSPECIFIED" : Default value. + /// - "REPLAY_MODE_FROM_BEGINNING" : Replay the original execution. + /// - "REPLAY_MODE_POINT_OF_FAILURE" : Replay the execution with the modified + /// parameters. + core.String? replayMode; + /// The user provided reason for replaying the execution. /// /// Required. core.String? replayReason; + /// The list of parameters to be updated. + /// + /// - If the `update_mask` is not specified, all the parameters from original + /// execution will be ignored and only the `modified_parameters` will be used. + /// - It is an error to include a parameter in `update_mask` but not in + /// `modified_parameters`. - Updating nested fields in a JSON parameter is not + /// supported, please provide the complete JSON in the `modified_parameters`. + /// + /// Optional. + core.String? updateMask; + GoogleCloudIntegrationsV1alphaReplayExecutionRequest({ + this.modifiedParameters, + this.replayMode, this.replayReason, + this.updateMask, }); GoogleCloudIntegrationsV1alphaReplayExecutionRequest.fromJson(core.Map json_) : this( + modifiedParameters: (json_['modifiedParameters'] + as core.Map?) + ?.map( + (key, value) => core.MapEntry( + key, + GoogleCloudIntegrationsV1alphaValueType.fromJson( + value as core.Map), + ), + ), + replayMode: json_['replayMode'] as core.String?, replayReason: json_['replayReason'] as core.String?, + updateMask: json_['updateMask'] as core.String?, ); core.Map toJson() => { + if (modifiedParameters != null) + 'modifiedParameters': modifiedParameters!, + if (replayMode != null) 'replayMode': replayMode!, if (replayReason != null) 'replayReason': replayReason!, + if (updateMask != null) 'updateMask': updateMask!, }; } @@ -19504,6 +19567,7 @@ class GoogleCloudIntegrationsV1alphaTriggerConfig { /// - "INTEGRATION_CONNECTOR_TRIGGER" : Trigger by Connector Event /// - "PRIVATE_TRIGGER" : Trigger for private workflow /// - "CLOUD_PUBSUB" : Trigger by cloud pub/sub for internal ip + /// - "EVENTARC_TRIGGER" : Trigger by Eventarc core.String? triggerType; GoogleCloudIntegrationsV1alphaTriggerConfig({ diff --git a/generated/googleapis/lib/kmsinventory/v1.dart b/generated/googleapis/lib/kmsinventory/v1.dart index cbfe4f40a..7c7f972d5 100644 --- a/generated/googleapis/lib/kmsinventory/v1.dart +++ b/generated/googleapis/lib/kmsinventory/v1.dart @@ -785,6 +785,10 @@ class GoogleCloudKmsV1CryptoKeyVersion { /// - "HMAC_SHA224" : HMAC-SHA224 signing with a 224 bit key. /// - "EXTERNAL_SYMMETRIC_ENCRYPTION" : Algorithm representing symmetric /// encryption by an external key manager. + /// - "PQ_SIGN_ML_DSA_65" : The post-quantum Module-Lattice-Based Digital + /// Signature Algorithm, at security level 3. Randomized version. + /// - "PQ_SIGN_SLH_DSA_SHA2_128S" : The post-quantum stateless hash-based + /// digital signature algorithm, at security level 1. Randomized version. core.String? algorithm; /// Statement that was generated and signed by the HSM at key creation time. @@ -896,7 +900,7 @@ class GoogleCloudKmsV1CryptoKeyVersion { /// - "ENABLED" : This version may be used for cryptographic operations. /// - "DISABLED" : This version may not be used, but the key material is still /// available, and the version can be placed back into the ENABLED state. - /// - "DESTROYED" : This version is destroyed, and the key material is no + /// - "DESTROYED" : This key material of this version is destroyed and no /// longer stored. This version may only become ENABLED again if this version /// is reimport_eligible and the original key material is reimported with a /// call to KeyManagementService.ImportCryptoKeyVersion. diff --git a/generated/googleapis/lib/logging/v2.dart b/generated/googleapis/lib/logging/v2.dart index 0de879173..85f3d839c 100644 --- a/generated/googleapis/lib/logging/v2.dart +++ b/generated/googleapis/lib/logging/v2.dart @@ -1242,7 +1242,7 @@ class BillingAccountsLocationsBucketsViewsResource { /// /// [viewId] - Required. A client-assigned identifier such as "my-view". /// Identifiers are limited to 100 characters and can include only letters, - /// digits, underscores, hyphens, and periods. + /// digits, underscores, and hyphens. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -4080,7 +4080,7 @@ class FoldersLocationsBucketsViewsResource { /// /// [viewId] - Required. A client-assigned identifier such as "my-view". /// Identifiers are limited to 100 characters and can include only letters, - /// digits, underscores, hyphens, and periods. + /// digits, underscores, and hyphens. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -6501,7 +6501,7 @@ class LocationsBucketsViewsResource { /// /// [viewId] - Required. A client-assigned identifier such as "my-view". /// Identifiers are limited to 100 characters and can include only letters, - /// digits, underscores, hyphens, and periods. + /// digits, underscores, and hyphens. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -8416,7 +8416,7 @@ class OrganizationsLocationsBucketsViewsResource { /// /// [viewId] - Required. A client-assigned identifier such as "my-view". /// Identifiers are limited to 100 characters and can include only letters, - /// digits, underscores, hyphens, and periods. + /// digits, underscores, and hyphens. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -11200,7 +11200,7 @@ class ProjectsLocationsBucketsViewsResource { /// /// [viewId] - Required. A client-assigned identifier such as "my-view". /// Identifiers are limited to 100 characters and can include only letters, - /// digits, underscores, hyphens, and periods. + /// digits, underscores, and hyphens. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -13644,61 +13644,6 @@ class V2Resource { } } -/// Specifies the audit configuration for a service. -/// -/// The configuration determines which permission types are logged, and what -/// identities, if any, are exempted from logging. An AuditConfig must have one -/// or more AuditLogConfigs.If there are AuditConfigs for both allServices and a -/// specific service, the union of the two AuditConfigs is used for that -/// service: the log_types specified in each AuditConfig are enabled, and the -/// exempted_members in each AuditLogConfig are exempted.Example Policy with -/// multiple AuditConfigs: { "audit_configs": \[ { "service": "allServices", -/// "audit_log_configs": \[ { "log_type": "DATA_READ", "exempted_members": \[ -/// "user:jose@example.com" \] }, { "log_type": "DATA_WRITE" }, { "log_type": -/// "ADMIN_READ" } \] }, { "service": "sampleservice.googleapis.com", -/// "audit_log_configs": \[ { "log_type": "DATA_READ" }, { "log_type": -/// "DATA_WRITE", "exempted_members": \[ "user:aliya@example.com" \] } \] } \] } -/// For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ -/// logging. It also exempts jose@example.com from DATA_READ logging, and -/// aliya@example.com from DATA_WRITE logging. -class AuditConfig { - /// The configuration for logging of each type of permission. - core.List? auditLogConfigs; - - /// Specifies a service that will be enabled for audit logging. - /// - /// For example, storage.googleapis.com, cloudsql.googleapis.com. allServices - /// is a special value that covers all services. - core.String? service; - - AuditConfig({ - this.auditLogConfigs, - this.service, - }); - - AuditConfig.fromJson(core.Map json_) - : this( - auditLogConfigs: (json_['auditLogConfigs'] as core.List?) - ?.map((value) => AuditLogConfig.fromJson( - value as core.Map)) - .toList(), - service: json_['service'] as core.String?, - ); - - core.Map toJson() => { - if (auditLogConfigs != null) 'auditLogConfigs': auditLogConfigs!, - if (service != null) 'service': service!, - }; -} - -/// Provides the configuration for logging a type of permissions. -/// -/// Example: { "audit_log_configs": \[ { "log_type": "DATA_READ", -/// "exempted_members": \[ "user:jose@example.com" \] }, { "log_type": -/// "DATA_WRITE" } \] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while -/// exempting jose@example.com from DATA_READ logging. -typedef AuditLogConfig = $AuditLogConfig; - /// Describes a BigQuery dataset that was created by a link. class BigQueryDataset { /// The full resource name of the BigQuery dataset. @@ -14025,6 +13970,8 @@ class CmekSettings { class CopyLogEntriesRequest { /// Destination to which to copy log entries. /// + /// For example: "storage.googleapis.com/GCS_BUCKET" + /// /// Required. core.String? destination; @@ -16939,9 +16886,6 @@ class OpsAnalyticsQuery { /// version: 3 For a description of IAM and its features, see the IAM /// documentation (https://cloud.google.com/iam/docs/). class Policy { - /// Specifies cloud audit logging configuration for this policy. - core.List? auditConfigs; - /// Associates a list of members, or principals, with a role. /// /// Optionally, may specify a condition that determines how and when the @@ -16993,7 +16937,6 @@ class Policy { core.int? version; Policy({ - this.auditConfigs, this.bindings, this.etag, this.version, @@ -17001,10 +16944,6 @@ class Policy { Policy.fromJson(core.Map json_) : this( - auditConfigs: (json_['auditConfigs'] as core.List?) - ?.map((value) => AuditConfig.fromJson( - value as core.Map)) - .toList(), bindings: (json_['bindings'] as core.List?) ?.map((value) => Binding.fromJson( value as core.Map)) @@ -17014,7 +16953,6 @@ class Policy { ); core.Map toJson() => { - if (auditConfigs != null) 'auditConfigs': auditConfigs!, if (bindings != null) 'bindings': bindings!, if (etag != null) 'etag': etag!, if (version != null) 'version': version!, diff --git a/generated/googleapis/lib/looker/v1.dart b/generated/googleapis/lib/looker/v1.dart index 3c8a34eee..16800f59e 100644 --- a/generated/googleapis/lib/looker/v1.dart +++ b/generated/googleapis/lib/looker/v1.dart @@ -338,63 +338,6 @@ class ProjectsLocationsInstancesResource { return Instance.fromJson(response_ as core.Map); } - /// Gets the access control policy for a resource. - /// - /// Returns an empty policy if the resource exists and does not have a policy - /// set. - /// - /// Request parameters: - /// - /// [resource] - REQUIRED: The resource for which the policy is being - /// requested. See - /// [Resource names](https://cloud.google.com/apis/design/resource_names) for - /// the appropriate value for this field. - /// Value must have pattern - /// `^projects/\[^/\]+/locations/\[^/\]+/instances/\[^/\]+$`. - /// - /// [options_requestedPolicyVersion] - Optional. The maximum policy version - /// that will be used to format the policy. Valid values are 0, 1, and 3. - /// Requests specifying an invalid value will be rejected. Requests for - /// policies with any conditional role bindings must specify version 3. - /// Policies with no conditional role bindings may specify any valid value or - /// leave the field unset. The policy in the response might use the policy - /// version that you specified, or it might use a lower policy version. For - /// example, if you specify version 3, but the policy has no conditional role - /// bindings, the response uses version 1. To learn which resources support - /// conditions in their IAM policies, see the - /// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [Policy]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - async.Future getIamPolicy( - core.String resource, { - core.int? options_requestedPolicyVersion, - core.String? $fields, - }) async { - final queryParams_ = >{ - if (options_requestedPolicyVersion != null) - 'options.requestedPolicyVersion': ['${options_requestedPolicyVersion}'], - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':getIamPolicy'; - - final response_ = await _requester.request( - url_, - 'GET', - queryParams: queryParams_, - ); - return Policy.fromJson(response_ as core.Map); - } - /// Import instance. /// /// [request] - The metadata request object. @@ -573,35 +516,30 @@ class ProjectsLocationsInstancesResource { return Operation.fromJson(response_ as core.Map); } - /// Sets the access control policy on the specified resource. - /// - /// Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, - /// and `PERMISSION_DENIED` errors. + /// Restore Looker instance. /// /// [request] - The metadata request object. /// /// Request parameters: /// - /// [resource] - REQUIRED: The resource for which the policy is being - /// specified. See - /// [Resource names](https://cloud.google.com/apis/design/resource_names) for - /// the appropriate value for this field. + /// [name] - Required. Instance being restored Format: + /// projects/{project}/locations/{location}/instances/{instance} /// Value must have pattern /// `^projects/\[^/\]+/locations/\[^/\]+/instances/\[^/\]+$`. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [Policy]. + /// Completes with a [Operation]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future setIamPolicy( - SetIamPolicyRequest request, - core.String resource, { + async.Future restore( + RestoreInstanceRequest request, + core.String name, { core.String? $fields, }) async { final body_ = convert.json.encode(request); @@ -609,7 +547,7 @@ class ProjectsLocationsInstancesResource { if ($fields != null) 'fields': [$fields], }; - final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':setIamPolicy'; + final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':restore'; final response_ = await _requester.request( url_, @@ -617,40 +555,40 @@ class ProjectsLocationsInstancesResource { body: body_, queryParams: queryParams_, ); - return Policy.fromJson(response_ as core.Map); + return Operation.fromJson(response_ as core.Map); } +} - /// Returns permissions that a caller has on the specified resource. - /// - /// If the resource does not exist, this will return an empty set of - /// permissions, not a `NOT_FOUND` error. Note: This operation is designed to - /// be used for building permission-aware UIs and command-line tools, not for - /// authorization checking. This operation may "fail open" without warning. +class ProjectsLocationsInstancesBackupsResource { + final commons.ApiRequester _requester; + + ProjectsLocationsInstancesBackupsResource(commons.ApiRequester client) + : _requester = client; + + /// Backup Looker instance. /// /// [request] - The metadata request object. /// /// Request parameters: /// - /// [resource] - REQUIRED: The resource for which the policy detail is being - /// requested. See - /// [Resource names](https://cloud.google.com/apis/design/resource_names) for - /// the appropriate value for this field. + /// [parent] - Required. Format: + /// projects/{project}/locations/{location}/instances/{instance} /// Value must have pattern /// `^projects/\[^/\]+/locations/\[^/\]+/instances/\[^/\]+$`. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [TestIamPermissionsResponse]. + /// Completes with a [Operation]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future testIamPermissions( - TestIamPermissionsRequest request, - core.String resource, { + async.Future create( + InstanceBackup request, + core.String parent, { core.String? $fields, }) async { final body_ = convert.json.encode(request); @@ -658,8 +596,7 @@ class ProjectsLocationsInstancesResource { if ($fields != null) 'fields': [$fields], }; - final url_ = - 'v1/' + core.Uri.encodeFull('$resource') + ':testIamPermissions'; + final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/backups'; final response_ = await _requester.request( url_, @@ -667,169 +604,131 @@ class ProjectsLocationsInstancesResource { body: body_, queryParams: queryParams_, ); - return TestIamPermissionsResponse.fromJson( - response_ as core.Map); + return Operation.fromJson(response_ as core.Map); } -} - -class ProjectsLocationsInstancesBackupsResource { - final commons.ApiRequester _requester; - ProjectsLocationsInstancesBackupsResource(commons.ApiRequester client) - : _requester = client; - - /// Gets the access control policy for a resource. - /// - /// Returns an empty policy if the resource exists and does not have a policy - /// set. + /// Delete backup. /// /// Request parameters: /// - /// [resource] - REQUIRED: The resource for which the policy is being - /// requested. See - /// [Resource names](https://cloud.google.com/apis/design/resource_names) for - /// the appropriate value for this field. + /// [name] - Required. Format: + /// projects/{project}/locations/{location}/instances/{instance}/backups/{backup} /// Value must have pattern /// `^projects/\[^/\]+/locations/\[^/\]+/instances/\[^/\]+/backups/\[^/\]+$`. /// - /// [options_requestedPolicyVersion] - Optional. The maximum policy version - /// that will be used to format the policy. Valid values are 0, 1, and 3. - /// Requests specifying an invalid value will be rejected. Requests for - /// policies with any conditional role bindings must specify version 3. - /// Policies with no conditional role bindings may specify any valid value or - /// leave the field unset. The policy in the response might use the policy - /// version that you specified, or it might use a lower policy version. For - /// example, if you specify version 3, but the policy has no conditional role - /// bindings, the response uses version 1. To learn which resources support - /// conditions in their IAM policies, see the - /// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [Policy]. + /// Completes with a [Operation]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future getIamPolicy( - core.String resource, { - core.int? options_requestedPolicyVersion, + async.Future delete( + core.String name, { core.String? $fields, }) async { final queryParams_ = >{ - if (options_requestedPolicyVersion != null) - 'options.requestedPolicyVersion': ['${options_requestedPolicyVersion}'], if ($fields != null) 'fields': [$fields], }; - final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':getIamPolicy'; + final url_ = 'v1/' + core.Uri.encodeFull('$name'); final response_ = await _requester.request( url_, - 'GET', + 'DELETE', queryParams: queryParams_, ); - return Policy.fromJson(response_ as core.Map); + return Operation.fromJson(response_ as core.Map); } - /// Sets the access control policy on the specified resource. - /// - /// Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, - /// and `PERMISSION_DENIED` errors. - /// - /// [request] - The metadata request object. - /// /// Request parameters: /// - /// [resource] - REQUIRED: The resource for which the policy is being - /// specified. See - /// [Resource names](https://cloud.google.com/apis/design/resource_names) for - /// the appropriate value for this field. + /// [name] - Required. Format: + /// `projects/{project}/locations/{location}/instances/{instance}/backups/{backup}`. /// Value must have pattern /// `^projects/\[^/\]+/locations/\[^/\]+/instances/\[^/\]+/backups/\[^/\]+$`. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [Policy]. + /// Completes with a [InstanceBackup]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future setIamPolicy( - SetIamPolicyRequest request, - core.String resource, { + async.Future get( + core.String name, { core.String? $fields, }) async { - final body_ = convert.json.encode(request); final queryParams_ = >{ if ($fields != null) 'fields': [$fields], }; - final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':setIamPolicy'; + final url_ = 'v1/' + core.Uri.encodeFull('$name'); final response_ = await _requester.request( url_, - 'POST', - body: body_, + 'GET', queryParams: queryParams_, ); - return Policy.fromJson(response_ as core.Map); + return InstanceBackup.fromJson( + response_ as core.Map); } - /// Returns permissions that a caller has on the specified resource. - /// - /// If the resource does not exist, this will return an empty set of - /// permissions, not a `NOT_FOUND` error. Note: This operation is designed to - /// be used for building permission-aware UIs and command-line tools, not for - /// authorization checking. This operation may "fail open" without warning. - /// - /// [request] - The metadata request object. + /// List backups of Looker instance. /// /// Request parameters: /// - /// [resource] - REQUIRED: The resource for which the policy detail is being - /// requested. See - /// [Resource names](https://cloud.google.com/apis/design/resource_names) for - /// the appropriate value for this field. + /// [parent] - Required. Format: + /// projects/{project}/locations/{location}/instances/{instance}. /// Value must have pattern - /// `^projects/\[^/\]+/locations/\[^/\]+/instances/\[^/\]+/backups/\[^/\]+$`. + /// `^projects/\[^/\]+/locations/\[^/\]+/instances/\[^/\]+$`. + /// + /// [orderBy] - Sort results. Default order is "create_time desc". Other + /// supported fields are "state" and "expire_time". + /// https://google.aip.dev/132#ordering + /// + /// [pageSize] - The maximum number of instances to return. + /// + /// [pageToken] - A page token received from a previous ListInstances request. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [TestIamPermissionsResponse]. + /// Completes with a [ListInstanceBackupsResponse]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future testIamPermissions( - TestIamPermissionsRequest request, - core.String resource, { + async.Future list( + core.String parent, { + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, core.String? $fields, }) async { - final body_ = convert.json.encode(request); final queryParams_ = >{ + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], if ($fields != null) 'fields': [$fields], }; - final url_ = - 'v1/' + core.Uri.encodeFull('$resource') + ':testIamPermissions'; + final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/backups'; final response_ = await _requester.request( url_, - 'POST', - body: body_, + 'GET', queryParams: queryParams_, ); - return TestIamPermissionsResponse.fromJson( + return ListInstanceBackupsResponse.fromJson( response_ as core.Map); } } @@ -1042,166 +941,6 @@ class AdminSettings { }; } -/// Specifies the audit configuration for a service. -/// -/// The configuration determines which permission types are logged, and what -/// identities, if any, are exempted from logging. An AuditConfig must have one -/// or more AuditLogConfigs. If there are AuditConfigs for both `allServices` -/// and a specific service, the union of the two AuditConfigs is used for that -/// service: the log_types specified in each AuditConfig are enabled, and the -/// exempted_members in each AuditLogConfig are exempted. Example Policy with -/// multiple AuditConfigs: { "audit_configs": \[ { "service": "allServices", -/// "audit_log_configs": \[ { "log_type": "DATA_READ", "exempted_members": \[ -/// "user:jose@example.com" \] }, { "log_type": "DATA_WRITE" }, { "log_type": -/// "ADMIN_READ" } \] }, { "service": "sampleservice.googleapis.com", -/// "audit_log_configs": \[ { "log_type": "DATA_READ" }, { "log_type": -/// "DATA_WRITE", "exempted_members": \[ "user:aliya@example.com" \] } \] } \] } -/// For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ -/// logging. It also exempts `jose@example.com` from DATA_READ logging, and -/// `aliya@example.com` from DATA_WRITE logging. -class AuditConfig { - /// The configuration for logging of each type of permission. - core.List? auditLogConfigs; - - /// Specifies a service that will be enabled for audit logging. - /// - /// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. - /// `allServices` is a special value that covers all services. - core.String? service; - - AuditConfig({ - this.auditLogConfigs, - this.service, - }); - - AuditConfig.fromJson(core.Map json_) - : this( - auditLogConfigs: (json_['auditLogConfigs'] as core.List?) - ?.map((value) => AuditLogConfig.fromJson( - value as core.Map)) - .toList(), - service: json_['service'] as core.String?, - ); - - core.Map toJson() => { - if (auditLogConfigs != null) 'auditLogConfigs': auditLogConfigs!, - if (service != null) 'service': service!, - }; -} - -/// Provides the configuration for logging a type of permissions. -/// -/// Example: { "audit_log_configs": \[ { "log_type": "DATA_READ", -/// "exempted_members": \[ "user:jose@example.com" \] }, { "log_type": -/// "DATA_WRITE" } \] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while -/// exempting jose@example.com from DATA_READ logging. -typedef AuditLogConfig = $AuditLogConfig; - -/// Associates `members`, or principals, with a `role`. -class Binding { - /// The condition that is associated with this binding. - /// - /// If the condition evaluates to `true`, then this binding applies to the - /// current request. If the condition evaluates to `false`, then this binding - /// does not apply to the current request. However, a different role binding - /// might grant the same role to one or more of the principals in this - /// binding. To learn which resources support conditions in their IAM - /// policies, see the - /// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - Expr? condition; - - /// Specifies the principals requesting access for a Google Cloud resource. - /// - /// `members` can have the following values: * `allUsers`: A special - /// identifier that represents anyone who is on the internet; with or without - /// a Google account. * `allAuthenticatedUsers`: A special identifier that - /// represents anyone who is authenticated with a Google account or a service - /// account. Does not include identities that come from external identity - /// providers (IdPs) through identity federation. * `user:{emailid}`: An email - /// address that represents a specific Google account. For example, - /// `alice@example.com` . * `serviceAccount:{emailid}`: An email address that - /// represents a Google service account. For example, - /// `my-other-app@appspot.gserviceaccount.com`. * - /// `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An - /// identifier for a - /// [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). - /// For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * - /// `group:{emailid}`: An email address that represents a Google group. For - /// example, `admins@example.com`. * `domain:{domain}`: The G Suite domain - /// (primary) that represents all the users of that domain. For example, - /// `google.com` or `example.com`. * - /// `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: - /// A single identity in a workforce identity pool. * - /// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: - /// All workforce identities in a group. * - /// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: - /// All workforce identities with a specific attribute value. * - /// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id} - /// / * `: All identities in a workforce identity pool. * - /// `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: - /// A single identity in a workload identity pool. * - /// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: - /// A workload identity pool group. * - /// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: - /// All identities in a workload identity pool with a certain attribute. * - /// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id} - /// / * `: All identities in a workload identity pool. * - /// `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique - /// identifier) representing a user that has been recently deleted. For - /// example, `alice@example.com?uid=123456789012345678901`. If the user is - /// recovered, this value reverts to `user:{emailid}` and the recovered user - /// retains the role in the binding. * - /// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus - /// unique identifier) representing a service account that has been recently - /// deleted. For example, - /// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If - /// the service account is undeleted, this value reverts to - /// `serviceAccount:{emailid}` and the undeleted service account retains the - /// role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email - /// address (plus unique identifier) representing a Google group that has been - /// recently deleted. For example, - /// `admins@example.com?uid=123456789012345678901`. If the group is recovered, - /// this value reverts to `group:{emailid}` and the recovered group retains - /// the role in the binding. * - /// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: - /// Deleted single identity in a workforce identity pool. For example, - /// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. - core.List? members; - - /// Role that is assigned to the list of `members`, or principals. - /// - /// For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an - /// overview of the IAM roles and permissions, see the - /// [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For - /// a list of the available pre-defined roles, see - /// [here](https://cloud.google.com/iam/docs/understanding-roles). - core.String? role; - - Binding({ - this.condition, - this.members, - this.role, - }); - - Binding.fromJson(core.Map json_) - : this( - condition: json_.containsKey('condition') - ? Expr.fromJson( - json_['condition'] as core.Map) - : null, - members: (json_['members'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - role: json_['role'] as core.String?, - ); - - core.Map toJson() => { - if (condition != null) 'condition': condition!, - if (members != null) 'members': members!, - if (role != null) 'role': role!, - }; -} - /// The request message for Operations.CancelOperation. typedef CancelOperationRequest = $Empty; @@ -1405,26 +1144,6 @@ class ExportInstanceRequest { }; } -/// Represents a textual expression in the Common Expression Language (CEL) -/// syntax. -/// -/// CEL is a C-like expression language. The syntax and semantics of CEL are -/// documented at https://github.com/google/cel-spec. Example (Comparison): -/// title: "Summary size limit" description: "Determines if a summary is less -/// than 100 chars" expression: "document.summary.size() \< 100" Example -/// (Equality): title: "Requestor is owner" description: "Determines if -/// requestor is the document owner" expression: "document.owner == -/// request.auth.claims.email" Example (Logic): title: "Public documents" -/// description: "Determine whether the document should be publicly visible" -/// expression: "document.type != 'private' && document.type != 'internal'" -/// Example (Data Manipulation): title: "Notification string" description: -/// "Create a notification string with a timestamp." expression: "'New message -/// received at ' + string(document.create_time)" The exact variables and -/// functions that may be referenced within an expression are determined by the -/// service that evaluates it. See the service documentation for additional -/// information. -typedef Expr = $Expr; - /// Requestion options for importing looker data to an Instance class ImportInstanceRequest { /// Path to the import folder in Google Cloud Storage, in the form @@ -1461,6 +1180,8 @@ class Instance { /// /// Output only. core.String? createTime; + + /// Custom domain configuration for the instance. CustomDomain? customDomain; /// Maintenance denial period for this instance. @@ -1570,6 +1291,16 @@ class Instance { /// May or may not be specified in a create request. core.String? reservedRange; + /// Reserved for future use. + /// + /// Output only. + core.bool? satisfiesPzi; + + /// Reserved for future use. + /// + /// Output only. + core.bool? satisfiesPzs; + /// The state of the instance. /// /// Output only. @@ -1621,6 +1352,8 @@ class Instance { this.pscEnabled, this.publicIpEnabled, this.reservedRange, + this.satisfiesPzi, + this.satisfiesPzs, this.state, this.updateTime, this.userMetadata, @@ -1683,6 +1416,8 @@ class Instance { pscEnabled: json_['pscEnabled'] as core.bool?, publicIpEnabled: json_['publicIpEnabled'] as core.bool?, reservedRange: json_['reservedRange'] as core.String?, + satisfiesPzi: json_['satisfiesPzi'] as core.bool?, + satisfiesPzs: json_['satisfiesPzs'] as core.bool?, state: json_['state'] as core.String?, updateTime: json_['updateTime'] as core.String?, userMetadata: json_.containsKey('userMetadata') @@ -1721,12 +1456,116 @@ class Instance { if (pscEnabled != null) 'pscEnabled': pscEnabled!, if (publicIpEnabled != null) 'publicIpEnabled': publicIpEnabled!, if (reservedRange != null) 'reservedRange': reservedRange!, + if (satisfiesPzi != null) 'satisfiesPzi': satisfiesPzi!, + if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, if (state != null) 'state': state!, if (updateTime != null) 'updateTime': updateTime!, if (userMetadata != null) 'userMetadata': userMetadata!, }; } +/// The details of a backup resource. +class InstanceBackup { + /// The time when the backup was started. + /// + /// Output only. + core.String? createTime; + + /// Current status of the CMEK encryption + /// + /// Output only. + EncryptionConfig? encryptionConfig; + + /// The time when the backup will be deleted. + /// + /// Output only. + core.String? expireTime; + + /// The relative resource name of the backup, in the following form: + /// `projects/{project_number}/locations/{location_id}/instances/{instance_id}/backups/{backup}` + /// + /// Immutable. + core.String? name; + + /// The current state of the backup. + /// + /// Output only. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : The state of the backup is unknown. + /// - "CREATING" : The backup is being created. + /// - "DELETING" : The backup is being deleted. + /// - "ACTIVE" : The backup is active and ready to use. + /// - "FAILED" : The backup failed. + core.String? state; + + InstanceBackup({ + this.createTime, + this.encryptionConfig, + this.expireTime, + this.name, + this.state, + }); + + InstanceBackup.fromJson(core.Map json_) + : this( + createTime: json_['createTime'] as core.String?, + encryptionConfig: json_.containsKey('encryptionConfig') + ? EncryptionConfig.fromJson(json_['encryptionConfig'] + as core.Map) + : null, + expireTime: json_['expireTime'] as core.String?, + name: json_['name'] as core.String?, + state: json_['state'] as core.String?, + ); + + core.Map toJson() => { + if (createTime != null) 'createTime': createTime!, + if (encryptionConfig != null) 'encryptionConfig': encryptionConfig!, + if (expireTime != null) 'expireTime': expireTime!, + if (name != null) 'name': name!, + if (state != null) 'state': state!, + }; +} + +/// Response from listing Looker instance backups. +class ListInstanceBackupsResponse { + /// The list of instances matching the request filters, up to the requested + /// `page_size`. + core.List? instanceBackups; + + /// If provided, a page token that can look up the next `page_size` results. + /// + /// If empty, the results list is exhausted. + core.String? nextPageToken; + + /// Locations that could not be reached. + core.List? unreachable; + + ListInstanceBackupsResponse({ + this.instanceBackups, + this.nextPageToken, + this.unreachable, + }); + + ListInstanceBackupsResponse.fromJson(core.Map json_) + : this( + instanceBackups: (json_['instanceBackups'] as core.List?) + ?.map((value) => InstanceBackup.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + unreachable: (json_['unreachable'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (instanceBackups != null) 'instanceBackups': instanceBackups!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (unreachable != null) 'unreachable': unreachable!, + }; +} + /// Response from ListInstances. class ListInstancesResponse { /// The list of instances matching the request filters, up to the requested @@ -2001,121 +1840,6 @@ class Operation { }; } -/// An Identity and Access Management (IAM) policy, which specifies access -/// controls for Google Cloud resources. -/// -/// A `Policy` is a collection of `bindings`. A `binding` binds one or more -/// `members`, or principals, to a single `role`. Principals can be user -/// accounts, service accounts, Google groups, and domains (such as G Suite). A -/// `role` is a named list of permissions; each `role` can be an IAM predefined -/// role or a user-created custom role. For some types of Google Cloud -/// resources, a `binding` can also specify a `condition`, which is a logical -/// expression that allows access to a resource only if the expression evaluates -/// to `true`. A condition can add constraints based on attributes of the -/// request, the resource, or both. To learn which resources support conditions -/// in their IAM policies, see the -/// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). -/// **JSON example:** ``` { "bindings": [ { "role": -/// "roles/resourcemanager.organizationAdmin", "members": [ -/// "user:mike@example.com", "group:admins@example.com", "domain:google.com", -/// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": -/// "roles/resourcemanager.organizationViewer", "members": [ -/// "user:eve@example.com" ], "condition": { "title": "expirable access", -/// "description": "Does not grant access after Sep 2020", "expression": -/// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": -/// "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - -/// members: - user:mike@example.com - group:admins@example.com - -/// domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com -/// role: roles/resourcemanager.organizationAdmin - members: - -/// user:eve@example.com role: roles/resourcemanager.organizationViewer -/// condition: title: expirable access description: Does not grant access after -/// Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') -/// etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, -/// see the [IAM documentation](https://cloud.google.com/iam/docs/). -class Policy { - /// Specifies cloud audit logging configuration for this policy. - core.List? auditConfigs; - - /// Associates a list of `members`, or principals, with a `role`. - /// - /// Optionally, may specify a `condition` that determines how and when the - /// `bindings` are applied. Each of the `bindings` must contain at least one - /// principal. The `bindings` in a `Policy` can refer to up to 1,500 - /// principals; up to 250 of these principals can be Google groups. Each - /// occurrence of a principal counts towards these limits. For example, if the - /// `bindings` grant 50 different roles to `user:alice@example.com`, and not - /// to any other principal, then you can add another 1,450 principals to the - /// `bindings` in the `Policy`. - core.List? bindings; - - /// `etag` is used for optimistic concurrency control as a way to help prevent - /// simultaneous updates of a policy from overwriting each other. - /// - /// It is strongly suggested that systems make use of the `etag` in the - /// read-modify-write cycle to perform policy updates in order to avoid race - /// conditions: An `etag` is returned in the response to `getIamPolicy`, and - /// systems are expected to put that etag in the request to `setIamPolicy` to - /// ensure that their change will be applied to the same version of the - /// policy. **Important:** If you use IAM Conditions, you must include the - /// `etag` field whenever you call `setIamPolicy`. If you omit this field, - /// then IAM allows you to overwrite a version `3` policy with a version `1` - /// policy, and all of the conditions in the version `3` policy are lost. - core.String? etag; - core.List get etagAsBytes => convert.base64.decode(etag!); - - set etagAsBytes(core.List bytes_) { - etag = - convert.base64.encode(bytes_).replaceAll('/', '_').replaceAll('+', '-'); - } - - /// Specifies the format of the policy. - /// - /// Valid values are `0`, `1`, and `3`. Requests that specify an invalid value - /// are rejected. Any operation that affects conditional role bindings must - /// specify version `3`. This requirement applies to the following operations: - /// * Getting a policy that includes a conditional role binding * Adding a - /// conditional role binding to a policy * Changing a conditional role binding - /// in a policy * Removing any role binding, with or without a condition, from - /// a policy that includes conditions **Important:** If you use IAM - /// Conditions, you must include the `etag` field whenever you call - /// `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a - /// version `3` policy with a version `1` policy, and all of the conditions in - /// the version `3` policy are lost. If a policy does not include any - /// conditions, operations on that policy may specify any valid version or - /// leave the field unset. To learn which resources support conditions in - /// their IAM policies, see the - /// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - core.int? version; - - Policy({ - this.auditConfigs, - this.bindings, - this.etag, - this.version, - }); - - Policy.fromJson(core.Map json_) - : this( - auditConfigs: (json_['auditConfigs'] as core.List?) - ?.map((value) => AuditConfig.fromJson( - value as core.Map)) - .toList(), - bindings: (json_['bindings'] as core.List?) - ?.map((value) => Binding.fromJson( - value as core.Map)) - .toList(), - etag: json_['etag'] as core.String?, - version: json_['version'] as core.int?, - ); - - core.Map toJson() => { - if (auditConfigs != null) 'auditConfigs': auditConfigs!, - if (bindings != null) 'bindings': bindings!, - if (etag != null) 'etag': etag!, - if (version != null) 'version': version!, - }; -} - /// Information for Private Service Connect (PSC) setup for a Looker instance. class PscConfig { /// List of VPCs that are allowed ingress into looker. @@ -2166,6 +1890,28 @@ class PscConfig { /// Request options for restarting an instance. typedef RestartInstanceRequest = $Empty; +/// Request options for restoring an instance +class RestoreInstanceRequest { + /// Backup being used to restore the instance Format: + /// projects/{project}/locations/{location}/instances/{instance}/backups/{backup} + /// + /// Required. + core.String? backup; + + RestoreInstanceRequest({ + this.backup, + }); + + RestoreInstanceRequest.fromJson(core.Map json_) + : this( + backup: json_['backup'] as core.String?, + ); + + core.Map toJson() => { + if (backup != null) 'backup': backup!, + }; +} + /// Service attachment configuration. class ServiceAttachment { /// Connection status. @@ -2220,41 +1966,6 @@ class ServiceAttachment { }; } -/// Request message for `SetIamPolicy` method. -class SetIamPolicyRequest { - /// REQUIRED: The complete policy to be applied to the `resource`. - /// - /// The size of the policy is limited to a few 10s of KB. An empty policy is a - /// valid policy but certain Google Cloud services (such as Projects) might - /// reject them. - Policy? policy; - - /// OPTIONAL: A FieldMask specifying which fields of the policy to modify. - /// - /// Only the fields in the mask will be modified. If no mask is provided, the - /// following default mask is used: `paths: "bindings, etag"` - core.String? updateMask; - - SetIamPolicyRequest({ - this.policy, - this.updateMask, - }); - - SetIamPolicyRequest.fromJson(core.Map json_) - : this( - policy: json_.containsKey('policy') - ? Policy.fromJson( - json_['policy'] as core.Map) - : null, - updateMask: json_['updateMask'] as core.String?, - ); - - core.Map toJson() => { - if (policy != null) 'policy': policy!, - if (updateMask != null) 'updateMask': updateMask!, - }; -} - /// The `Status` type defines a logical error model that is suitable for /// different programming environments, including REST APIs and RPC APIs. /// @@ -2264,12 +1975,6 @@ class SetIamPolicyRequest { /// [API Design Guide](https://cloud.google.com/apis/design/errors). typedef Status = $Status00; -/// Request message for `TestIamPermissions` method. -typedef TestIamPermissionsRequest = $TestIamPermissionsRequest00; - -/// Response message for `TestIamPermissions` method. -typedef TestIamPermissionsResponse = $PermissionsResponse; - /// Represents a time of day. /// /// The date and time zone are either not significant or are specified diff --git a/generated/googleapis/lib/managedidentities/v1.dart b/generated/googleapis/lib/managedidentities/v1.dart index 49ead9206..8ed527343 100644 --- a/generated/googleapis/lib/managedidentities/v1.dart +++ b/generated/googleapis/lib/managedidentities/v1.dart @@ -1659,8 +1659,8 @@ class ProjectsLocationsGlobalOperationsResource { /// or other methods to check whether the cancellation succeeded or whether /// the operation completed despite cancellation. On successful cancellation, /// the operation is not deleted; instead, it becomes an operation with an - /// Operation.error value with a google.rpc.Status.code of 1, corresponding to - /// `Code.CANCELLED`. + /// Operation.error value with a google.rpc.Status.code of `1`, corresponding + /// to `Code.CANCELLED`. /// /// [request] - The metadata request object. /// diff --git a/generated/googleapis/lib/meet/v2.dart b/generated/googleapis/lib/meet/v2.dart index dd0ada86f..b8631d4c6 100644 --- a/generated/googleapis/lib/meet/v2.dart +++ b/generated/googleapis/lib/meet/v2.dart @@ -53,6 +53,10 @@ class MeetApi { static const meetingsSpaceReadonlyScope = 'https://www.googleapis.com/auth/meetings.space.readonly'; + /// Edit, and see settings for all of your Google Meet calls. + static const meetingsSpaceSettingsScope = + 'https://www.googleapis.com/auth/meetings.space.settings'; + final commons.ApiRequester _requester; ConferenceRecordsResource get conferenceRecords => diff --git a/generated/googleapis/lib/memcache/v1.dart b/generated/googleapis/lib/memcache/v1.dart index 0eea06847..6ca99008c 100644 --- a/generated/googleapis/lib/memcache/v1.dart +++ b/generated/googleapis/lib/memcache/v1.dart @@ -604,8 +604,8 @@ class ProjectsLocationsOperationsResource { /// or other methods to check whether the cancellation succeeded or whether /// the operation completed despite cancellation. On successful cancellation, /// the operation is not deleted; instead, it becomes an operation with an - /// Operation.error value with a google.rpc.Status.code of 1, corresponding to - /// `Code.CANCELLED`. + /// Operation.error value with a google.rpc.Status.code of `1`, corresponding + /// to `Code.CANCELLED`. /// /// [request] - The metadata request object. /// diff --git a/generated/googleapis/lib/metastore/v1.dart b/generated/googleapis/lib/metastore/v1.dart index 871c0a146..08c5cf0c8 100644 --- a/generated/googleapis/lib/metastore/v1.dart +++ b/generated/googleapis/lib/metastore/v1.dart @@ -1362,8 +1362,8 @@ class ProjectsLocationsServicesResource { /// /// Request parameters: /// - /// [name] - Immutable. The relative resource name of the metastore service, - /// in the following + /// [name] - Immutable. Identifier. The relative resource name of the + /// metastore service, in the following /// format:projects/{project_number}/locations/{location_id}/services/{service_id}. /// Value must have pattern /// `^projects/\[^/\]+/locations/\[^/\]+/services/\[^/\]+$`. @@ -2380,8 +2380,8 @@ class ProjectsLocationsServicesMetadataImportsResource { /// /// Request parameters: /// - /// [name] - Immutable. The relative resource name of the metadata import, of - /// the + /// [name] - Immutable. Identifier. The relative resource name of the metadata + /// import, of the /// form:projects/{project_number}/locations/{location_id}/services/{service_id}/metadataImports/{metadata_import_id}. /// Value must have pattern /// `^projects/\[^/\]+/locations/\[^/\]+/services/\[^/\]+/metadataImports/\[^/\]+$`. @@ -2714,6 +2714,8 @@ class AuxiliaryVersionConfig { /// If keys are present in both the auxiliary version's overrides and the /// primary version's overrides, the value from the auxiliary version's /// overrides takes precedence. + /// + /// Optional. core.Map? configOverrides; /// The network configuration contains the endpoint URI(s) of the auxiliary @@ -2725,6 +2727,8 @@ class AuxiliaryVersionConfig { /// The Hive metastore version of the auxiliary service. /// /// It must be less than the primary Hive metastore service's version. + /// + /// Optional. core.String? version; AuxiliaryVersionConfig({ @@ -2798,6 +2802,8 @@ class Backup { core.String? createTime; /// The description of the backup. + /// + /// Optional. core.String? description; /// The time when the backup finished creating. @@ -2805,6 +2811,8 @@ class Backup { /// Output only. core.String? endTime; + /// Identifier. + /// /// The relative resource name of the backup, in the following /// form:projects/{project_number}/locations/{location_id}/services/{service_id}/backups/{backup_id} /// @@ -3288,9 +3296,13 @@ class DatabaseDump { /// to import metadata. /// /// It must begin with gs://. + /// + /// Optional. core.String? gcsUri; /// The name of the source database. + /// + /// Optional. @core.Deprecated( 'Not supported. Member documentation may have more information.', ) @@ -3343,6 +3355,8 @@ class EncryptionConfig { /// The fully qualified customer provided Cloud KMS key name to use for /// customer data encryption, in the following /// format:projects/{project_number}/locations/{location_id}/keyRings/{key_ring_id}/cryptoKeys/{crypto_key_id}. + /// + /// Optional. core.String? kmsKey; EncryptionConfig({ @@ -3522,6 +3536,8 @@ class HiveMetastoreConfig { /// character must be a lowercase letter, and all the following characters /// must be hyphens, lowercase letters, or digits, except the last character, /// which cannot be a hyphen. + /// + /// Optional. core.Map? auxiliaryVersions; /// A mapping of Hive metastore configuration key-value pairs to apply to the @@ -3530,11 +3546,15 @@ class HiveMetastoreConfig { /// The mappings override system defaults (some keys cannot be overridden). /// These overrides are also applied to auxiliary versions and can be further /// customized in the auxiliary version's AuxiliaryVersionConfig. + /// + /// Optional. core.Map? configOverrides; /// The protocol to use for the metastore service endpoint. /// /// If unspecified, defaults to THRIFT. + /// + /// Optional. /// Possible string values are: /// - "ENDPOINT_PROTOCOL_UNSPECIFIED" : The protocol is not set. /// - "THRIFT" : Use the legacy Apache Thrift protocol for the metastore @@ -3549,6 +3569,8 @@ class HiveMetastoreConfig { /// To disable Kerberos, use the UpdateService method and specify this field's /// path (hive_metastore_config.kerberos_config) in the request's update_mask /// while omitting this field from the request's service. + /// + /// Optional. KerberosConfig? kerberosConfig; /// The Hive metastore schema version. @@ -3604,12 +3626,16 @@ class HiveMetastoreConfig { class KerberosConfig { /// A Kerberos keytab file that can be used to authenticate a service /// principal with a Kerberos Key Distribution Center (KDC). + /// + /// Optional. Secret? keytab; /// A Cloud Storage URI that specifies the path to a krb5.conf file. /// /// It is of the form gs://{bucket_name}/path/to/krb5.conf, although the file /// does not need to be named krb5.conf explicitly. + /// + /// Optional. core.String? krb5ConfigGcsUri; /// A Kerberos principal that exists in the both the keytab the KDC to @@ -3617,6 +3643,8 @@ class KerberosConfig { /// /// A typical principal is of the form primary/instance@REALM, but there is no /// exact format. + /// + /// Optional. core.String? principal; KerberosConfig({ @@ -3932,6 +3960,8 @@ typedef Location = $Location01; /// operation to the service. class MaintenanceWindow { /// The day of week, when the window starts. + /// + /// Optional. /// Possible string values are: /// - "DAY_OF_WEEK_UNSPECIFIED" : The day of the week is unspecified. /// - "MONDAY" : Monday @@ -3944,6 +3974,8 @@ class MaintenanceWindow { core.String? dayOfWeek; /// The hour of day (0-23) when the window starts. + /// + /// Optional. core.int? hourOfDay; MaintenanceWindow({ @@ -4040,6 +4072,8 @@ class MetadataImport { DatabaseDump? databaseDump; /// The description of the metadata import. + /// + /// Optional. core.String? description; /// The time when the metadata import finished. @@ -4047,6 +4081,8 @@ class MetadataImport { /// Output only. core.String? endTime; + /// Identifier. + /// /// The relative resource name of the metadata import, of the /// form:projects/{project_number}/locations/{location_id}/services/{service_id}/metadataImports/{metadata_import_id}. /// @@ -4699,6 +4735,8 @@ class Secret { /// The relative resource name of a Secret Manager secret version, in the /// following /// form:projects/{project_number}/secrets/{secret_id}/versions/{version_id}. + /// + /// Optional. core.String? cloudSecret; Secret({ @@ -4768,6 +4806,8 @@ class Service { /// This specifies when the service can be restarted for maintenance purposes /// in UTC time. Maintenance window is not needed for services with the /// SPANNER database type. + /// + /// Optional. MaintenanceWindow? maintenanceWindow; /// The setting that defines how metastore metadata should be integrated with @@ -4781,6 +4821,8 @@ class Service { /// Output only. MetadataManagementActivity? metadataManagementActivity; + /// Identifier. + /// /// The relative resource name of the metastore service, in the following /// format:projects/{project_number}/locations/{location_id}/services/{service_id}. /// @@ -4798,11 +4840,15 @@ class Service { /// The configuration specifying the network settings for the Dataproc /// Metastore service. + /// + /// Optional. NetworkConfig? networkConfig; /// The TCP port at which the metastore service is reached. /// /// Default: 9083. + /// + /// Optional. core.int? port; /// The release channel of the service. @@ -4821,6 +4867,8 @@ class Service { core.String? releaseChannel; /// Scaling configuration of the metastore service. + /// + /// Optional. ScalingConfig? scalingConfig; /// The configuration of scheduled backup for the metastore service. @@ -4860,9 +4908,13 @@ class Service { /// service. /// /// If unspecified defaults to JSON. + /// + /// Optional. TelemetryConfig? telemetryConfig; /// The tier of the service. + /// + /// Optional. /// Possible string values are: /// - "TIER_UNSPECIFIED" : The tier is not set. /// - "DEVELOPER" : The developer tier provides limited scalability and no @@ -5093,6 +5145,8 @@ typedef Status = $Status00; /// Telemetry Configuration for the Dataproc Metastore service. class TelemetryConfig { /// The output format of the Dataproc Metastore service's logs. + /// + /// Optional. /// Possible string values are: /// - "LOG_FORMAT_UNSPECIFIED" : The LOG_FORMAT is not set. /// - "LEGACY" : Logging output uses the legacy textPayload format. diff --git a/generated/googleapis/lib/metastore/v2.dart b/generated/googleapis/lib/metastore/v2.dart index 20bd729c1..0cca884a7 100644 --- a/generated/googleapis/lib/metastore/v2.dart +++ b/generated/googleapis/lib/metastore/v2.dart @@ -1054,7 +1054,7 @@ class GoogleCloudMetastoreV2Backup { /// service. typedef GoogleCloudMetastoreV2DataCatalogConfig = $DataCatalogConfig; -/// A specification of the location of and metadata about a database dump from a +/// A specification of the location and metadata type for a database dump from a /// relational database management system. class GoogleCloudMetastoreV2DatabaseDump { /// A Cloud Storage object or folder URI that specifies the source from which diff --git a/generated/googleapis/lib/migrationcenter/v1.dart b/generated/googleapis/lib/migrationcenter/v1.dart index 8a5884a5e..eeab3c9de 100644 --- a/generated/googleapis/lib/migrationcenter/v1.dart +++ b/generated/googleapis/lib/migrationcenter/v1.dart @@ -30,6 +30,7 @@ /// - [ProjectsLocationsImportJobsImportDataFilesResource] /// - [ProjectsLocationsOperationsResource] /// - [ProjectsLocationsPreferenceSetsResource] +/// - [ProjectsLocationsRelationsResource] /// - [ProjectsLocationsReportConfigsResource] /// - [ProjectsLocationsReportConfigsReportsResource] /// - [ProjectsLocationsSourcesResource] @@ -92,6 +93,8 @@ class ProjectsLocationsResource { ProjectsLocationsOperationsResource(_requester); ProjectsLocationsPreferenceSetsResource get preferenceSets => ProjectsLocationsPreferenceSetsResource(_requester); + ProjectsLocationsRelationsResource get relations => + ProjectsLocationsRelationsResource(_requester); ProjectsLocationsReportConfigsResource get reportConfigs => ProjectsLocationsReportConfigsResource(_requester); ProjectsLocationsSourcesResource get sources => @@ -479,6 +482,10 @@ class ProjectsLocationsAssetsResource { /// asset. /// - "ASSET_VIEW_FULL" : The asset view includes all the metadata of an asset /// and performance data. + /// - "ASSET_VIEW_STANDARD" : The asset view includes the standard metadata of + /// an asset. + /// - "ASSET_VIEW_UI" : The asset view includes fields needed by UI. + /// - "ASSET_VIEW_LABELS" : The asset view includes asset name and labels. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -536,6 +543,10 @@ class ProjectsLocationsAssetsResource { /// asset. /// - "ASSET_VIEW_FULL" : The asset view includes all the metadata of an asset /// and performance data. + /// - "ASSET_VIEW_STANDARD" : The asset view includes the standard metadata of + /// an asset. + /// - "ASSET_VIEW_UI" : The asset view includes fields needed by UI. + /// - "ASSET_VIEW_LABELS" : The asset view includes asset name and labels. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -2416,6 +2427,104 @@ class ProjectsLocationsPreferenceSetsResource { } } +class ProjectsLocationsRelationsResource { + final commons.ApiRequester _requester; + + ProjectsLocationsRelationsResource(commons.ApiRequester client) + : _requester = client; + + /// Gets the details of an relation. + /// + /// Request parameters: + /// + /// [name] - Required. Name of the resource. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/relations/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Relation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return Relation.fromJson(response_ as core.Map); + } + + /// Lists all the relations in a given project and location. + /// + /// Request parameters: + /// + /// [parent] - Required. Parent value for `ListRelationsRequest`. + /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. + /// + /// [filter] - Optional. Filtering results. + /// + /// [orderBy] - Optional. Field to sort by. See + /// https://google.aip.dev/132#ordering for more details. + /// + /// [pageSize] - Optional. Requested page size. Server may return fewer items + /// than requested. If unspecified, server will pick an appropriate default. + /// + /// [pageToken] - Optional. A token identifying a page of results the server + /// should return. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListRelationsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String parent, { + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/relations'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListRelationsResponse.fromJson( + response_ as core.Map); + } +} + class ProjectsLocationsReportConfigsResource { final commons.ApiRequester _requester; @@ -3995,6 +4104,9 @@ class AwsEc2PlatformDetails { }; } +/// Specific details for an AWS RDS database deployment. +typedef AwsRds = $Empty; + /// Azure VM specific details. class AzureVmPlatformDetails { /// Whether the machine is hyperthreaded. @@ -4615,6 +4727,11 @@ class DatabaseDeploymentDetails { /// Output only. DatabaseDeploymentDetailsAggregatedStats? aggregatedStats; + /// Details of an AWS RDS instance. + /// + /// Optional. + AwsRds? awsRds; + /// The database deployment edition. /// /// Optional. @@ -4657,6 +4774,7 @@ class DatabaseDeploymentDetails { DatabaseDeploymentDetails({ this.aggregatedStats, + this.awsRds, this.edition, this.generatedId, this.manualUniqueId, @@ -4674,6 +4792,10 @@ class DatabaseDeploymentDetails { json_['aggregatedStats'] as core.Map) : null, + awsRds: json_.containsKey('awsRds') + ? AwsRds.fromJson( + json_['awsRds'] as core.Map) + : null, edition: json_['edition'] as core.String?, generatedId: json_['generatedId'] as core.String?, manualUniqueId: json_['manualUniqueId'] as core.String?, @@ -4698,6 +4820,7 @@ class DatabaseDeploymentDetails { core.Map toJson() => { if (aggregatedStats != null) 'aggregatedStats': aggregatedStats!, + if (awsRds != null) 'awsRds': awsRds!, if (edition != null) 'edition': edition!, if (generatedId != null) 'generatedId': generatedId!, if (manualUniqueId != null) 'manualUniqueId': manualUniqueId!, @@ -5388,7 +5511,7 @@ class DiskPartition { /// Partition free space. core.String? freeBytes; - /// Mount pount (Linux/Windows) or drive letter (Windows). + /// Mount point (Linux/Windows) or drive letter (Windows). core.String? mountPoint; /// Sub-partitions. @@ -5435,6 +5558,47 @@ class DiskPartition { }; } +/// Disk partition details. +class DiskPartitionDetails { + /// Total free space of all partitions. + /// + /// Output only. + core.String? freeSpaceBytes; + + /// List of partitions. + /// + /// Optional. + DiskPartitionList? partitions; + + /// Total capacity of all partitions. + /// + /// Output only. + core.String? totalCapacityBytes; + + DiskPartitionDetails({ + this.freeSpaceBytes, + this.partitions, + this.totalCapacityBytes, + }); + + DiskPartitionDetails.fromJson(core.Map json_) + : this( + freeSpaceBytes: json_['freeSpaceBytes'] as core.String?, + partitions: json_.containsKey('partitions') + ? DiskPartitionList.fromJson( + json_['partitions'] as core.Map) + : null, + totalCapacityBytes: json_['totalCapacityBytes'] as core.String?, + ); + + core.Map toJson() => { + if (freeSpaceBytes != null) 'freeSpaceBytes': freeSpaceBytes!, + if (partitions != null) 'partitions': partitions!, + if (totalCapacityBytes != null) + 'totalCapacityBytes': totalCapacityBytes!, + }; +} + /// Disk partition list. class DiskPartitionList { /// Partition entries. @@ -5463,22 +5627,22 @@ class DiskPartitionList { class DiskUsageSample { /// Average IOPS sampled over a short window. /// - /// Must be non-negative. Must be equal to the sum of read and write if one of - /// them is positive. if both read and write are zero they are ignored. + /// Must be non-negative. If read or write are set, the sum of read and write + /// will override the value of the average_iops. /// /// Optional. core.double? averageIops; /// Average read IOPS sampled over a short window. /// - /// Must be non-negative. + /// Must be non-negative. If both read and write are zero they are ignored. /// /// Optional. core.double? averageReadIops; /// Average write IOPS sampled over a short window. /// - /// Must be non-negative. + /// Must be non-negative. If both read and write are zero they are ignored. /// /// Optional. core.double? averageWriteIops; @@ -7008,6 +7172,34 @@ class ListPreferenceSetsResponse { }; } +/// Response message for listing relations. +class ListRelationsResponse { + /// A token identifying a page of results the server should return. + core.String? nextPageToken; + + /// A list of relations. + core.List? relations; + + ListRelationsResponse({ + this.nextPageToken, + this.relations, + }); + + ListRelationsResponse.fromJson(core.Map json_) + : this( + nextPageToken: json_['nextPageToken'] as core.String?, + relations: (json_['relations'] as core.List?) + ?.map((value) => Relation.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (relations != null) 'relations': relations!, + }; +} + /// Response message for listing report configs. class ListReportConfigsResponse { /// A token identifying a page of results the server should return. @@ -7217,6 +7409,14 @@ class MachineDetails { /// Machine creation time. core.String? createTime; + /// Disk partitions details. + /// + /// Note: Partitions are not necessarily mounted on local disks and therefore + /// might not have a one-to-one correspondence with local disks. + /// + /// Optional. + DiskPartitionDetails? diskPartitions; + /// Disk details. MachineDiskDetails? disks; @@ -7257,6 +7457,7 @@ class MachineDetails { this.architecture, this.coreCount, this.createTime, + this.diskPartitions, this.disks, this.guestOs, this.machineName, @@ -7275,6 +7476,10 @@ class MachineDetails { : null, coreCount: json_['coreCount'] as core.int?, createTime: json_['createTime'] as core.String?, + diskPartitions: json_.containsKey('diskPartitions') + ? DiskPartitionDetails.fromJson(json_['diskPartitions'] + as core.Map) + : null, disks: json_.containsKey('disks') ? MachineDiskDetails.fromJson( json_['disks'] as core.Map) @@ -7301,6 +7506,7 @@ class MachineDetails { if (architecture != null) 'architecture': architecture!, if (coreCount != null) 'coreCount': coreCount!, if (createTime != null) 'createTime': createTime!, + if (diskPartitions != null) 'diskPartitions': diskPartitions!, if (disks != null) 'disks': disks!, if (guestOs != null) 'guestOs': guestOs!, if (machineName != null) 'machineName': machineName!, @@ -7775,7 +7981,7 @@ class NetworkAddress { /// Whether DHCP is used to assign addresses. /// Possible string values are: /// - "ADDRESS_ASSIGNMENT_UNSPECIFIED" : Unknown (default value). - /// - "ADDRESS_ASSIGNMENT_STATIC" : Staticly assigned IP. + /// - "ADDRESS_ASSIGNMENT_STATIC" : Statically assigned IP. /// - "ADDRESS_ASSIGNMENT_DHCP" : Dynamically assigned IP (DHCP). core.String? assignment; @@ -8556,6 +8762,66 @@ class RegionPreferences { }; } +/// Message representing a relation between 2 resource. +class Relation { + /// The timestamp when the relation was created. + /// + /// Output only. + core.String? createTime; + + /// The destination asset name in the relation. + /// + /// Output only. + core.String? dstAsset; + + /// Identifier. + /// + /// The identifier of the relation. + /// + /// Output only. + core.String? name; + + /// The source asset name in the relation. + /// + /// Output only. + core.String? srcAsset; + + /// The type of the relation. + /// + /// Optional. + /// Possible string values are: + /// - "TYPE_UNSPECIFIED" : Default value. + /// - "LOGICAL_DATABASE" : DBDeployment -\> Database + /// - "DATABASE_DEPLOYMENT_HOSTING_SERVER" : A relation between a machine/VM + /// and the database deployment it hosts. + core.String? type; + + Relation({ + this.createTime, + this.dstAsset, + this.name, + this.srcAsset, + this.type, + }); + + Relation.fromJson(core.Map json_) + : this( + createTime: json_['createTime'] as core.String?, + dstAsset: json_['dstAsset'] as core.String?, + name: json_['name'] as core.String?, + srcAsset: json_['srcAsset'] as core.String?, + type: json_['type'] as core.String?, + ); + + core.Map toJson() => { + if (createTime != null) 'createTime': createTime!, + if (dstAsset != null) 'dstAsset': dstAsset!, + if (name != null) 'name': name!, + if (srcAsset != null) 'srcAsset': srcAsset!, + if (type != null) 'type': type!, + }; +} + /// A request to remove assets from a group. class RemoveAssetsFromGroupRequest { /// When this value is set to `false` and one of the given assets is not an diff --git a/generated/googleapis/lib/monitoring/v3.dart b/generated/googleapis/lib/monitoring/v3.dart index d2abfdf48..2d8b6a5d0 100644 --- a/generated/googleapis/lib/monitoring/v3.dart +++ b/generated/googleapis/lib/monitoring/v3.dart @@ -2017,6 +2017,17 @@ class ProjectsMetricDescriptorsResource { /// execute the request. The format is: projects/\[PROJECT_ID_OR_NUMBER\] /// Value must have pattern `^projects/\[^/\]+$`. /// + /// [activeOnly] - Optional. If true, only metrics and monitored resource + /// types that have recent data (within roughly 25 hours) will be included in + /// the response. - If a metric descriptor enumerates monitored resource + /// types, only the monitored resource types for which the metric type has + /// recent data will be included in the returned metric descriptor, and if + /// none of them have recent data, the metric descriptor will not be returned. + /// - If a metric descriptor does not enumerate the compatible monitored + /// resource types, it will be returned only if the metric type has recent + /// data for some monitored resource type. The returned descriptor will not + /// enumerate any monitored resource types. + /// /// [filter] - Optional. If this field is empty, all custom and system-defined /// metric descriptors are returned. Otherwise, the filter /// (https://cloud.google.com/monitoring/api/v3/filters) specifies which @@ -2047,12 +2058,14 @@ class ProjectsMetricDescriptorsResource { /// this method will complete with the same error. async.Future list( core.String name, { + core.bool? activeOnly, core.String? filter, core.int? pageSize, core.String? pageToken, core.String? $fields, }) async { final queryParams_ = >{ + if (activeOnly != null) 'activeOnly': ['${activeOnly}'], if (filter != null) 'filter': [filter], if (pageSize != null) 'pageSize': ['${pageSize}'], if (pageToken != null) 'pageToken': [pageToken], @@ -2815,9 +2828,9 @@ class ProjectsSnoozesResource { /// /// [filter] - Optional. Optional filter to restrict results to the given /// criteria. The following fields are supported. interval.start_time - /// interval.end_timeFor example: ``` interval.start_time > - /// "2022-03-11T00:00:00-08:00" AND interval.end_time < - /// "2022-03-12T00:00:00-08:00" ``` + /// interval.end_timeFor example: interval.start_time \> + /// "2022-03-11T00:00:00-08:00" AND interval.end_time \< + /// "2022-03-12T00:00:00-08:00" /// /// [pageSize] - Optional. The maximum number of results to return for a /// single query. The server may further constrain the maximum number of @@ -5885,26 +5898,46 @@ class CreateTimeSeriesSummary { /// The Snooze will suppress alerts that come from one of the AlertPolicys whose /// names are supplied. class Criteria { + /// The filter string to match on Alert fields when silencing the alerts. + /// + /// It follows the standard https://google.aip.dev/160 syntax. A filter string + /// used to apply the snooze to specific incidents that have matching filter + /// values. Filters can be defined for snoozes that apply to one alerting + /// policy. Filters must be a string formatted as one or more resource labels + /// with specific label values. If multiple resource labels are used, then + /// they must be connected with an AND operator. For example, the following + /// filter applies the snooze to incidents that have an instance ID of + /// 1234567890 and a zone of us-central1-a: + /// resource.labels.instance_id="1234567890" AND + /// resource.labels.zone="us-central1-a" + /// + /// Optional. + core.String? filter; + /// The specific AlertPolicy names for the alert that should be snoozed. /// /// The format is: /// projects/\[PROJECT_ID_OR_NUMBER\]/alertPolicies/\[POLICY_ID\] There is a /// limit of 16 policies per snooze. This limit is checked during snooze - /// creation. + /// creation. Exactly 1 alert policy is required if filter is specified at the + /// same time. core.List? policies; Criteria({ + this.filter, this.policies, }); Criteria.fromJson(core.Map json_) : this( + filter: json_['filter'] as core.String?, policies: (json_['policies'] as core.List?) ?.map((value) => value as core.String) .toList(), ); core.Map toJson() => { + if (filter != null) 'filter': filter!, if (policies != null) 'policies': policies!, }; } @@ -9925,7 +9958,7 @@ class SqlCondition { /// not try to filter the input by time. A filter will automatically be /// applied to filter the input so that the query receives all rows received /// since the last time the query was run.For example, the following query - /// extracts all log entries containing an HTTP request:SELECT timestamp, + /// extracts all log entries containing an HTTP request: SELECT timestamp, /// log_name, severity, http_request, resource, labels FROM /// my-project.global._Default._AllLogs WHERE http_request IS NOT NULL /// @@ -10525,6 +10558,9 @@ class UptimeCheckConfig { ) core.bool? isInternal; + /// To specify whether to log the results of failed probes to Cloud Logging. + core.bool? logCheckFailures; + /// The monitored resource (https://cloud.google.com/monitoring/api/resources) /// associated with the configuration. /// @@ -10587,6 +10623,7 @@ class UptimeCheckConfig { this.httpCheck, this.internalCheckers, this.isInternal, + this.logCheckFailures, this.monitoredResource, this.name, this.period, @@ -10615,6 +10652,7 @@ class UptimeCheckConfig { value as core.Map)) .toList(), isInternal: json_['isInternal'] as core.bool?, + logCheckFailures: json_['logCheckFailures'] as core.bool?, monitoredResource: json_.containsKey('monitoredResource') ? MonitoredResource.fromJson(json_['monitoredResource'] as core.Map) @@ -10654,6 +10692,7 @@ class UptimeCheckConfig { if (httpCheck != null) 'httpCheck': httpCheck!, if (internalCheckers != null) 'internalCheckers': internalCheckers!, if (isInternal != null) 'isInternal': isInternal!, + if (logCheckFailures != null) 'logCheckFailures': logCheckFailures!, if (monitoredResource != null) 'monitoredResource': monitoredResource!, if (name != null) 'name': name!, if (period != null) 'period': period!, diff --git a/generated/googleapis/lib/mybusinessbusinessinformation/v1.dart b/generated/googleapis/lib/mybusinessbusinessinformation/v1.dart index 988906bed..47ea17a34 100644 --- a/generated/googleapis/lib/mybusinessbusinessinformation/v1.dart +++ b/generated/googleapis/lib/mybusinessbusinessinformation/v1.dart @@ -1966,7 +1966,13 @@ class Metadata { /// Indicates if the listing can manage local posts. /// + /// Deprecated: This field is no longer populated and will be removed in a + /// future version. + /// /// Output only. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) core.bool? canOperateLocalPost; /// Indicates whether the location can operate on Lodging data. diff --git a/generated/googleapis/lib/netapp/v1.dart b/generated/googleapis/lib/netapp/v1.dart index 451fd8de0..d52a9f42c 100644 --- a/generated/googleapis/lib/netapp/v1.dart +++ b/generated/googleapis/lib/netapp/v1.dart @@ -32,6 +32,7 @@ /// - [ProjectsLocationsOperationsResource] /// - [ProjectsLocationsStoragePoolsResource] /// - [ProjectsLocationsVolumesResource] +/// - [ProjectsLocationsVolumesQuotaRulesResource] /// - [ProjectsLocationsVolumesReplicationsResource] /// - [ProjectsLocationsVolumesSnapshotsResource] library; @@ -1960,6 +1961,8 @@ class ProjectsLocationsStoragePoolsResource { class ProjectsLocationsVolumesResource { final commons.ApiRequester _requester; + ProjectsLocationsVolumesQuotaRulesResource get quotaRules => + ProjectsLocationsVolumesQuotaRulesResource(_requester); ProjectsLocationsVolumesReplicationsResource get replications => ProjectsLocationsVolumesReplicationsResource(_requester); ProjectsLocationsVolumesSnapshotsResource get snapshots => @@ -2242,6 +2245,239 @@ class ProjectsLocationsVolumesResource { } } +class ProjectsLocationsVolumesQuotaRulesResource { + final commons.ApiRequester _requester; + + ProjectsLocationsVolumesQuotaRulesResource(commons.ApiRequester client) + : _requester = client; + + /// Creates a new quota rule. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [parent] - Required. Parent value for CreateQuotaRuleRequest + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/volumes/\[^/\]+$`. + /// + /// [quotaRuleId] - Required. ID of the quota rule to create. Must be unique + /// within the parent resource. Must contain only letters, numbers, underscore + /// and hyphen, with the first character a letter or underscore, the last a + /// letter or underscore or a number, and a 63 character maximum. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + QuotaRule request, + core.String parent, { + core.String? quotaRuleId, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (quotaRuleId != null) 'quotaRuleId': [quotaRuleId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/quotaRules'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } + + /// Deletes a quota rule. + /// + /// Request parameters: + /// + /// [name] - Required. Name of the quota rule. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/volumes/\[^/\]+/quotaRules/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } + + /// Returns details of the specified quota rule. + /// + /// Request parameters: + /// + /// [name] - Required. Name of the quota rule + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/volumes/\[^/\]+/quotaRules/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [QuotaRule]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return QuotaRule.fromJson(response_ as core.Map); + } + + /// Returns list of all quota rules in a location. + /// + /// Request parameters: + /// + /// [parent] - Required. Parent value for ListQuotaRulesRequest + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/volumes/\[^/\]+$`. + /// + /// [filter] - Optional. Filtering results + /// + /// [orderBy] - Optional. Hint for how to order the results + /// + /// [pageSize] - Optional. Requested page size. Server may return fewer items + /// than requested. If unspecified, the server will pick an appropriate + /// default. + /// + /// [pageToken] - Optional. A token identifying a page of results the server + /// should return. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListQuotaRulesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String parent, { + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/quotaRules'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListQuotaRulesResponse.fromJson( + response_ as core.Map); + } + + /// Updates a quota rule. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [name] - Identifier. The resource name of the quota rule. Format: + /// `projects/{project_number}/locations/{location_id}/volumes/volumes/{volume_id}/quotaRules/{quota_rule_id}`. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/volumes/\[^/\]+/quotaRules/\[^/\]+$`. + /// + /// [updateMask] - Optional. Field mask is used to specify the fields to be + /// overwritten in the Quota Rule resource by the update. The fields specified + /// in the update_mask are relative to the resource, not the full request. A + /// field will be overwritten if it is in the mask. If the user does not + /// provide a mask then all fields will be overwritten. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + QuotaRule request, + core.String name, { + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } +} + class ProjectsLocationsVolumesReplicationsResource { final commons.ApiRequester _requester; @@ -3711,6 +3947,24 @@ class HybridPeeringDetails { /// Optional. core.String? passphrase; + /// Name of the user's local source cluster to be peered with the destination + /// cluster. + /// + /// Optional. + core.String? peerClusterName; + + /// Name of the user's local source vserver svm to be peered with the + /// destination vserver svm. + /// + /// Optional. + core.String? peerSvmName; + + /// Name of the user's local source volume to be peered with the destination + /// volume. + /// + /// Optional. + core.String? peerVolumeName; + /// IP address of the subnet. /// /// Optional. @@ -3720,6 +3974,9 @@ class HybridPeeringDetails { this.command, this.commandExpiryTime, this.passphrase, + this.peerClusterName, + this.peerSvmName, + this.peerVolumeName, this.subnetIp, }); @@ -3728,6 +3985,9 @@ class HybridPeeringDetails { command: json_['command'] as core.String?, commandExpiryTime: json_['commandExpiryTime'] as core.String?, passphrase: json_['passphrase'] as core.String?, + peerClusterName: json_['peerClusterName'] as core.String?, + peerSvmName: json_['peerSvmName'] as core.String?, + peerVolumeName: json_['peerVolumeName'] as core.String?, subnetIp: json_['subnetIp'] as core.String?, ); @@ -3735,6 +3995,9 @@ class HybridPeeringDetails { if (command != null) 'command': command!, if (commandExpiryTime != null) 'commandExpiryTime': commandExpiryTime!, if (passphrase != null) 'passphrase': passphrase!, + if (peerClusterName != null) 'peerClusterName': peerClusterName!, + if (peerSvmName != null) 'peerSvmName': peerSvmName!, + if (peerVolumeName != null) 'peerVolumeName': peerVolumeName!, if (subnetIp != null) 'subnetIp': subnetIp!, }; } @@ -4177,6 +4440,42 @@ class ListOperationsResponse { }; } +/// ListQuotaRulesResponse is the response to a ListQuotaRulesRequest. +class ListQuotaRulesResponse { + /// A token identifying a page of results the server should return. + core.String? nextPageToken; + + /// List of quota rules + core.List? quotaRules; + + /// Locations that could not be reached. + core.List? unreachable; + + ListQuotaRulesResponse({ + this.nextPageToken, + this.quotaRules, + this.unreachable, + }); + + ListQuotaRulesResponse.fromJson(core.Map json_) + : this( + nextPageToken: json_['nextPageToken'] as core.String?, + quotaRules: (json_['quotaRules'] as core.List?) + ?.map((value) => QuotaRule.fromJson( + value as core.Map)) + .toList(), + unreachable: (json_['unreachable'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (quotaRules != null) 'quotaRules': quotaRules!, + if (unreachable != null) 'unreachable': unreachable!, + }; +} + /// ListReplicationsResponse is the result of ListReplicationsRequest. class ListReplicationsResponse { /// The token you can use to retrieve the next page of results. @@ -4379,6 +4678,11 @@ class MountOption { /// Instructions for mounting core.String? instructions; + /// IP Address. + /// + /// Output only. + core.String? ipAddress; + /// Protocol to mount with. /// Possible string values are: /// - "PROTOCOLS_UNSPECIFIED" : Unspecified protocol @@ -4391,6 +4695,7 @@ class MountOption { this.export, this.exportFull, this.instructions, + this.ipAddress, this.protocol, }); @@ -4399,6 +4704,7 @@ class MountOption { export: json_['export'] as core.String?, exportFull: json_['exportFull'] as core.String?, instructions: json_['instructions'] as core.String?, + ipAddress: json_['ipAddress'] as core.String?, protocol: json_['protocol'] as core.String?, ); @@ -4406,6 +4712,7 @@ class MountOption { if (export != null) 'export': export!, if (exportFull != null) 'exportFull': exportFull!, if (instructions != null) 'instructions': instructions!, + if (ipAddress != null) 'ipAddress': ipAddress!, if (protocol != null) 'protocol': protocol!, }; } @@ -4486,6 +4793,115 @@ class Operation { }; } +/// QuotaRule specifies the maximum disk space a user or group can use within a +/// volume. +/// +/// They can be used for creating default and individual quota rules. +class QuotaRule { + /// Create time of the quota rule + /// + /// Output only. + core.String? createTime; + + /// Description of the quota rule + /// + /// Optional. + core.String? description; + + /// The maximum allowed disk space in MiB. + /// + /// Required. + core.int? diskLimitMib; + + /// Labels of the quota rule + /// + /// Optional. + core.Map? labels; + + /// Identifier. + /// + /// The resource name of the quota rule. Format: + /// `projects/{project_number}/locations/{location_id}/volumes/volumes/{volume_id}/quotaRules/{quota_rule_id}`. + core.String? name; + + /// State of the quota rule + /// + /// Output only. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : Unspecified state for quota rule + /// - "CREATING" : Quota rule is creating + /// - "UPDATING" : Quota rule is updating + /// - "DELETING" : Quota rule is deleting + /// - "READY" : Quota rule is ready + /// - "ERROR" : Quota rule is in error state. + core.String? state; + + /// State details of the quota rule + /// + /// Output only. + core.String? stateDetails; + + /// The quota rule applies to the specified user or group, identified by a + /// Unix UID/GID, Windows SID, or null for default. + /// + /// Optional. + core.String? target; + + /// The type of quota rule. + /// + /// Required. + /// Possible string values are: + /// - "TYPE_UNSPECIFIED" : Unspecified type for quota rule + /// - "INDIVIDUAL_USER_QUOTA" : Individual user quota rule + /// - "INDIVIDUAL_GROUP_QUOTA" : Individual group quota rule + /// - "DEFAULT_USER_QUOTA" : Default user quota rule + /// - "DEFAULT_GROUP_QUOTA" : Default group quota rule + core.String? type; + + QuotaRule({ + this.createTime, + this.description, + this.diskLimitMib, + this.labels, + this.name, + this.state, + this.stateDetails, + this.target, + this.type, + }); + + QuotaRule.fromJson(core.Map json_) + : this( + createTime: json_['createTime'] as core.String?, + description: json_['description'] as core.String?, + diskLimitMib: json_['diskLimitMib'] as core.int?, + labels: + (json_['labels'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + name: json_['name'] as core.String?, + state: json_['state'] as core.String?, + stateDetails: json_['stateDetails'] as core.String?, + target: json_['target'] as core.String?, + type: json_['type'] as core.String?, + ); + + core.Map toJson() => { + if (createTime != null) 'createTime': createTime!, + if (description != null) 'description': description!, + if (diskLimitMib != null) 'diskLimitMib': diskLimitMib!, + if (labels != null) 'labels': labels!, + if (name != null) 'name': name!, + if (state != null) 'state': state!, + if (stateDetails != null) 'stateDetails': stateDetails!, + if (target != null) 'target': target!, + if (type != null) 'type': type!, + }; +} + /// Replication is a nested resource under Volume, that describes a cross-region /// replication relationship between 2 volumes in different regions. class Replication { diff --git a/generated/googleapis/lib/networkconnectivity/v1.dart b/generated/googleapis/lib/networkconnectivity/v1.dart index a81dde87a..07517b928 100644 --- a/generated/googleapis/lib/networkconnectivity/v1.dart +++ b/generated/googleapis/lib/networkconnectivity/v1.dart @@ -258,6 +258,48 @@ class ProjectsLocationsGlobalHubsResource { response_ as core.Map); } + /// Accepts a proposal to update a Network Connectivity Center spoke in a hub. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [name] - Required. The name of the hub to accept spoke update. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/global/hubs/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleLongrunningOperation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future acceptSpokeUpdate( + AcceptSpokeUpdateRequest request, + core.String name, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':acceptSpokeUpdate'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return GoogleLongrunningOperation.fromJson( + response_ as core.Map); + } + /// Creates a new Network Connectivity Center hub in the specified project. /// /// [request] - The metadata request object. @@ -663,8 +705,8 @@ class ProjectsLocationsGlobalHubsResource { response_ as core.Map); } - /// Query PSC propagation status the status of a Network Connectivity Center - /// hub. + /// Query the Private Service Connect propagation status of a Network + /// Connectivity Center hub. /// /// Request parameters: /// @@ -674,26 +716,30 @@ class ProjectsLocationsGlobalHubsResource { /// /// [filter] - Optional. An expression that filters the list of results. The /// filter can be used to filter the results by the following fields: * - /// psc_propagation_status.source_spoke * psc_propagation_status.source_group - /// * psc_propagation_status.source_forwarding_rule * - /// psc_propagation_status.target_spoke * psc_propagation_status.target_group - /// * psc_propagation_status.code * psc_propagation_status.message - /// - /// [groupBy] - Optional. A field that counts are grouped by. A + /// `psc_propagation_status.source_spoke` * + /// `psc_propagation_status.source_group` * + /// `psc_propagation_status.source_forwarding_rule` * + /// `psc_propagation_status.target_spoke` * + /// `psc_propagation_status.target_group` * `psc_propagation_status.code` * + /// `psc_propagation_status.message` + /// + /// [groupBy] - Optional. Aggregate the results by the specified fields. A /// comma-separated list of any of these fields: * - /// psc_propagation_status.source_spoke * psc_propagation_status.source_group - /// * psc_propagation_status.source_forwarding_rule * - /// psc_propagation_status.target_spoke * psc_propagation_status.target_group - /// * psc_propagation_status.code - /// - /// [orderBy] - Optional. Sort the results in the ascending order by specific - /// fields returned in the response. A comma-separated list of any of these - /// fields: * psc_propagation_status.source_spoke * - /// psc_propagation_status.source_group * - /// psc_propagation_status.source_forwarding_rule * - /// psc_propagation_status.target_spoke * psc_propagation_status.target_group - /// * psc_propagation_status.code If `group_by` is set, the value of the - /// `order_by` field must be the same as or a subset of the `group_by` field. + /// `psc_propagation_status.source_spoke` * + /// `psc_propagation_status.source_group` * + /// `psc_propagation_status.source_forwarding_rule` * + /// `psc_propagation_status.target_spoke` * + /// `psc_propagation_status.target_group` * `psc_propagation_status.code` + /// + /// [orderBy] - Optional. Sort the results in ascending order by the specified + /// fields. A comma-separated list of any of these fields: * + /// `psc_propagation_status.source_spoke` * + /// `psc_propagation_status.source_group` * + /// `psc_propagation_status.source_forwarding_rule` * + /// `psc_propagation_status.target_spoke` * + /// `psc_propagation_status.target_group` * `psc_propagation_status.code` If + /// `group_by` is set, the value of the `order_by` field must be the same as + /// or a subset of the `group_by` field. /// /// [pageSize] - Optional. The maximum number of results to return per page. /// @@ -784,6 +830,48 @@ class ProjectsLocationsGlobalHubsResource { response_ as core.Map); } + /// Rejects a proposal to update a Network Connectivity Center spoke in a hub. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [name] - Required. The name of the hub to reject spoke update. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/global/hubs/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleLongrunningOperation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future rejectSpokeUpdate( + RejectSpokeUpdateRequest request, + core.String name, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':rejectSpokeUpdate'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return GoogleLongrunningOperation.fromJson( + response_ as core.Map); + } + /// Sets the access control policy on the specified resource. /// /// Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, @@ -1414,7 +1502,13 @@ class ProjectsLocationsGlobalPolicyBasedRoutesResource { /// Value must have pattern `^projects/\[^/\]+/locations/global$`. /// /// [policyBasedRouteId] - Required. Unique id for the policy-based route to - /// create. + /// create. Provided by the client when the resource is created. The name must + /// comply with https://google.aip.dev/122#resource-id-segments. Specifically, + /// the name must be 1-63 characters long and match the regular expression + /// \[a-z\](\[a-z0-9-\]*\[a-z0-9\])?. The first character must be a lowercase + /// letter, and all following characters (except for the last character) must + /// be a dash, lowercase letter, or digit. The last character must be a + /// lowercase letter or digit. /// /// [requestId] - Optional. An optional request ID to identify requests. /// Specify a unique request ID so that if you must retry your request, the @@ -2053,8 +2147,8 @@ class ProjectsLocationsOperationsResource { /// or other methods to check whether the cancellation succeeded or whether /// the operation completed despite cancellation. On successful cancellation, /// the operation is not deleted; instead, it becomes an operation with an - /// Operation.error value with a google.rpc.Status.code of 1, corresponding to - /// `Code.CANCELLED`. + /// Operation.error value with a google.rpc.Status.code of `1`, corresponding + /// to `Code.CANCELLED`. /// /// [request] - The metadata request object. /// @@ -4393,6 +4487,55 @@ class AcceptHubSpokeRequest { }; } +/// The request for HubService.AcceptSpokeUpdate. +class AcceptSpokeUpdateRequest { + /// A request ID to identify requests. + /// + /// Specify a unique request ID so that if you must retry your request, the + /// server knows to ignore the request if it has already been completed. The + /// server guarantees that a request doesn't result in creation of duplicate + /// commitments for at least 60 minutes. For example, consider a situation + /// where you make an initial request and the request times out. If you make + /// the request again with the same request ID, the server can check to see + /// whether the original operation was received. If it was, the server ignores + /// the second request. This behavior prevents clients from mistakenly + /// creating duplicate commitments. The request ID must be a valid UUID, with + /// the exception that zero UUID is not supported + /// (00000000-0000-0000-0000-000000000000). + /// + /// Optional. + core.String? requestId; + + /// The etag of the spoke to accept update. + /// + /// Required. + core.String? spokeEtag; + + /// The URI of the spoke to accept update. + /// + /// Required. + core.String? spokeUri; + + AcceptSpokeUpdateRequest({ + this.requestId, + this.spokeEtag, + this.spokeUri, + }); + + AcceptSpokeUpdateRequest.fromJson(core.Map json_) + : this( + requestId: json_['requestId'] as core.String?, + spokeEtag: json_['spokeEtag'] as core.String?, + spokeUri: json_['spokeUri'] as core.String?, + ); + + core.Map toJson() => { + if (requestId != null) 'requestId': requestId!, + if (spokeEtag != null) 'spokeEtag': spokeEtag!, + if (spokeUri != null) 'spokeUri': spokeUri!, + }; +} + /// Specifies the audit configuration for a service. /// /// The configuration determines which permission types are logged, and what @@ -4461,6 +4604,8 @@ class AutoAccept { /// /// The auto-accept setting is applied to spokes being created or updated in /// these projects. + /// + /// Optional. core.List? autoAcceptProjects; AutoAccept({ @@ -5097,7 +5242,60 @@ class GoogleLongrunningOperation { /// Spanner instance in a region that is out of stock: { "reason": "STOCKOUT" /// "domain": "spanner.googleapis.com", "metadata": { "availableRegions": /// "us-central1,us-east2" } } -typedef GoogleRpcErrorInfo = $ErrorInfo; +class GoogleRpcErrorInfo { + /// The logical grouping to which the "reason" belongs. + /// + /// The error domain is typically the registered service name of the tool or + /// product that generates the error. Example: "pubsub.googleapis.com". If the + /// error is generated by some common infrastructure, the error domain must be + /// a globally unique value that identifies the infrastructure. For Google API + /// infrastructure, the error domain is "googleapis.com". + core.String? domain; + + /// Additional structured details about this error. + /// + /// Keys must match a regular expression of `a-z+` but should ideally be + /// lowerCamelCase. Also, they must be limited to 64 characters in length. + /// When identifying the current value of an exceeded limit, the units should + /// be contained in the key, not the value. For example, rather than + /// `{"instanceLimit": "100/request"}`, should be returned as, + /// `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of + /// instances that can be created in a single (batch) request. + core.Map? metadata; + + /// The reason of the error. + /// + /// This is a constant value that identifies the proximate cause of the error. + /// Error reasons are unique within a particular domain of errors. This should + /// be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, + /// which represents UPPER_SNAKE_CASE. + core.String? reason; + + GoogleRpcErrorInfo({ + this.domain, + this.metadata, + this.reason, + }); + + GoogleRpcErrorInfo.fromJson(core.Map json_) + : this( + domain: json_['domain'] as core.String?, + metadata: + (json_['metadata'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + reason: json_['reason'] as core.String?, + ); + + core.Map toJson() => { + if (domain != null) 'domain': domain!, + if (metadata != null) 'metadata': metadata!, + if (reason != null) 'reason': reason!, + }; +} /// The `Status` type defines a logical error model that is suitable for /// different programming environments, including REST APIs and RPC APIs. @@ -5163,6 +5361,9 @@ class Group { /// - "INACTIVE" : The resource is inactive. /// - "OBSOLETE" : The hub associated with this spoke resource has been /// deleted. This state applies to spoke resources only. + /// - "FAILED" : The resource is in an undefined state due to resource + /// creation or deletion failure. You can try to delete the resource later or + /// contact support for help. core.String? state; /// The Google-generated UUID for the group. @@ -5241,9 +5442,12 @@ class Hub { core.String? createTime; /// An optional description of the hub. + /// + /// Optional. core.String? description; - /// Whether Private Service Connect transitivity is enabled for the hub. + /// Whether Private Service Connect connection propagation is enabled for the + /// hub. /// /// If true, Private Service Connect endpoints in VPC spokes attached to the /// hub are made accessible to other VPC spokes attached to the hub. The @@ -5336,6 +5540,9 @@ class Hub { /// - "INACTIVE" : The resource is inactive. /// - "OBSOLETE" : The hub associated with this spoke resource has been /// deleted. This state applies to spoke resources only. + /// - "FAILED" : The resource is in an undefined state due to resource + /// creation or deletion failure. You can try to delete the resource later or + /// contact support for help. core.String? state; /// The Google-generated UUID for the hub. @@ -5416,17 +5623,22 @@ class Hub { }; } -/// The hub status entry. +/// A hub status entry represents the status of a set of propagated Private +/// Service Connect connections grouped by certain fields. class HubStatusEntry { - /// The number of status. + /// The number of propagated Private Service Connect connections with this + /// status. /// - /// If group_by is not set in the request, the default is 1. + /// If the `group_by` field was not set in the request message, the value of + /// this field is 1. core.int? count; - /// The same group_by field from the request. + /// The fields that this entry is grouped by. + /// + /// This has the same value as the `group_by` field in the request message. core.String? groupBy; - /// The PSC propagation status. + /// The Private Service Connect propagation status. PscPropagationStatus? pscPropagationStatus; HubStatusEntry({ @@ -5480,7 +5692,7 @@ class InterconnectAttachment { /// The internal range resource for IPAM operations within a VPC network. /// /// Used to represent a private address range along with behavioral -/// characterstics of that range (its usage and peering behavior). Networking +/// characteristics of that range (its usage and peering behavior). Networking /// resources can link to this range if they are created as belonging to it. class InternalRange { /// Time when the internal range was created. @@ -5501,8 +5713,6 @@ class InternalRange { /// Must be present if usage is set to FOR_MIGRATION. /// - /// This field is for internal use. - /// /// Optional. Migration? migration; @@ -5594,7 +5804,7 @@ class InternalRange { /// - "FOR_MIGRATION" : Ranges created FOR_MIGRATION can be used to lock a /// CIDR range between a source and target subnet. If usage is set to /// FOR_MIGRATION, the peering value has to be set to FOR_SELF or default to - /// FOR_SELF when unset. This value is for internal use. + /// FOR_SELF when unset. core.String? usage; /// The list of resources that refer to this internal range. @@ -5764,6 +5974,12 @@ class LinkedProducerVpcNetwork { /// Output only. core.String? producerNetwork; + /// The proposed include export IP ranges waiting for hub administration's + /// approval. + /// + /// Optional. + core.List? proposedIncludeExportRanges; + /// The Service Consumer Network spoke. /// /// Output only. @@ -5775,6 +5991,7 @@ class LinkedProducerVpcNetwork { this.network, this.peering, this.producerNetwork, + this.proposedIncludeExportRanges, this.serviceConsumerVpcSpoke, }); @@ -5789,6 +6006,10 @@ class LinkedProducerVpcNetwork { network: json_['network'] as core.String?, peering: json_['peering'] as core.String?, producerNetwork: json_['producerNetwork'] as core.String?, + proposedIncludeExportRanges: + (json_['proposedIncludeExportRanges'] as core.List?) + ?.map((value) => value as core.String) + .toList(), serviceConsumerVpcSpoke: json_['serviceConsumerVpcSpoke'] as core.String?, ); @@ -5801,6 +6022,8 @@ class LinkedProducerVpcNetwork { if (network != null) 'network': network!, if (peering != null) 'peering': peering!, if (producerNetwork != null) 'producerNetwork': producerNetwork!, + if (proposedIncludeExportRanges != null) + 'proposedIncludeExportRanges': proposedIncludeExportRanges!, if (serviceConsumerVpcSpoke != null) 'serviceConsumerVpcSpoke': serviceConsumerVpcSpoke!, }; @@ -5881,11 +6104,20 @@ class LinkedVpcNetwork { /// VPC spoke for. /// /// These producer VPCs are connected through VPC peering to this spoke's - /// backing VPC network. + /// backing VPC network. Because they are directly connected throuh VPC + /// peering, NCC export filters do not apply between the service consumer VPC + /// spoke and any of its producer VPC spokes. This VPC spoke cannot be deleted + /// as long as any of these producer VPC spokes are connected to the NCC Hub. /// /// Output only. core.List? producerVpcSpokes; + /// The proposed include export IP ranges waiting for hub administration's + /// approval. + /// + /// Optional. + core.List? proposedIncludeExportRanges; + /// The URI of the VPC network resource. /// /// Required. @@ -5895,6 +6127,7 @@ class LinkedVpcNetwork { this.excludeExportRanges, this.includeExportRanges, this.producerVpcSpokes, + this.proposedIncludeExportRanges, this.uri, }); @@ -5909,6 +6142,10 @@ class LinkedVpcNetwork { producerVpcSpokes: (json_['producerVpcSpokes'] as core.List?) ?.map((value) => value as core.String) .toList(), + proposedIncludeExportRanges: + (json_['proposedIncludeExportRanges'] as core.List?) + ?.map((value) => value as core.String) + .toList(), uri: json_['uri'] as core.String?, ); @@ -5918,6 +6155,8 @@ class LinkedVpcNetwork { if (includeExportRanges != null) 'includeExportRanges': includeExportRanges!, if (producerVpcSpokes != null) 'producerVpcSpokes': producerVpcSpokes!, + if (proposedIncludeExportRanges != null) + 'proposedIncludeExportRanges': proposedIncludeExportRanges!, if (uri != null) 'uri': uri!, }; } @@ -6541,7 +6780,7 @@ class Migration { /// Resource path of the target resource. /// /// The target project can be different, as in the cases when migrating to - /// peer networks. The resource For example: + /// peer networks. For example: /// /projects/{project}/regions/{region}/subnetworks/{subnet} /// /// Immutable. @@ -7258,30 +7497,36 @@ class PscConnection { }; } -/// The PSC propagation status in a hub. +/// The status of one or more propagated Private Service Connect connections in +/// a hub. class PscPropagationStatus { /// The propagation status. /// Possible string values are: /// - "CODE_UNSPECIFIED" : The code is unspecified. - /// - "READY" : The propagated PSC connection is ready. - /// - "PROPAGATING" : PSC connection is propagating. This is a transient - /// state. - /// - "ERROR_PRODUCER_PROPAGATED_CONNECTION_LIMIT_EXCEEDED" : The PSC - /// connection propagation failed because the VPC network or the project of - /// the target spoke has exceeded the connection limit set by the producer. - /// - "ERROR_PRODUCER_NAT_IP_SPACE_EXHAUSTED" : The PSC connection propagation - /// failed because the NAT IP subnet space has been exhausted. It is - /// equivalent to the `Needs attention` status of the PSC connection. See + /// - "READY" : The propagated Private Service Connect connection is ready. + /// - "PROPAGATING" : The Private Service Connect connection is propagating. + /// This is a transient state. + /// - "ERROR_PRODUCER_PROPAGATED_CONNECTION_LIMIT_EXCEEDED" : The Private + /// Service Connect connection propagation failed because the VPC network or + /// the project of the target spoke has exceeded the connection limit set by + /// the producer. + /// - "ERROR_PRODUCER_NAT_IP_SPACE_EXHAUSTED" : The Private Service Connect + /// connection propagation failed because the NAT IP subnet space has been + /// exhausted. It is equivalent to the `Needs attention` status of the Private + /// Service Connect connection. See /// https://cloud.google.com/vpc/docs/about-accessing-vpc-hosted-services-endpoints#connection-statuses. - /// - "ERROR_PRODUCER_QUOTA_EXCEEDED" : PSC connection propagation failed - /// because the `PSC_ILB_CONSUMER_FORWARDING_RULES_PER_PRODUCER_NETWORK` quota - /// in the producer VPC network has been exceeded. - /// - "ERROR_CONSUMER_QUOTA_EXCEEDED" : The PSC connection propagation failed - /// because the `PSC_PROPAGATED_CONNECTIONS_PER_VPC_NETWORK` quota in the - /// consumer VPC network has been exceeded. + /// - "ERROR_PRODUCER_QUOTA_EXCEEDED" : The Private Service Connect connection + /// propagation failed because the + /// `PSC_ILB_CONSUMER_FORWARDING_RULES_PER_PRODUCER_NETWORK` quota in the + /// producer VPC network has been exceeded. + /// - "ERROR_CONSUMER_QUOTA_EXCEEDED" : The Private Service Connect connection + /// propagation failed because the + /// `PSC_PROPAGATED_CONNECTIONS_PER_VPC_NETWORK` quota in the consumer VPC + /// network has been exceeded. core.String? code; - /// The human-readable summary of the PSC connection propagation status. + /// The human-readable summary of the Private Service Connect connection + /// propagation status. core.String? message; /// The name of the forwarding rule exported to the hub. @@ -7555,6 +7800,63 @@ class RejectHubSpokeRequest { }; } +/// The request for HubService.RejectSpokeUpdate. +class RejectSpokeUpdateRequest { + /// Additional information provided by the hub administrator. + /// + /// Optional. + core.String? details; + + /// A request ID to identify requests. + /// + /// Specify a unique request ID so that if you must retry your request, the + /// server knows to ignore the request if it has already been completed. The + /// server guarantees that a request doesn't result in creation of duplicate + /// commitments for at least 60 minutes. For example, consider a situation + /// where you make an initial request and the request times out. If you make + /// the request again with the same request ID, the server can check to see + /// whether the original operation was received. If it was, the server ignores + /// the second request. This behavior prevents clients from mistakenly + /// creating duplicate commitments. The request ID must be a valid UUID, with + /// the exception that zero UUID is not supported + /// (00000000-0000-0000-0000-000000000000). + /// + /// Optional. + core.String? requestId; + + /// The etag of the spoke to reject update. + /// + /// Required. + core.String? spokeEtag; + + /// The URI of the spoke to reject update. + /// + /// Required. + core.String? spokeUri; + + RejectSpokeUpdateRequest({ + this.details, + this.requestId, + this.spokeEtag, + this.spokeUri, + }); + + RejectSpokeUpdateRequest.fromJson(core.Map json_) + : this( + details: json_['details'] as core.String?, + requestId: json_['requestId'] as core.String?, + spokeEtag: json_['spokeEtag'] as core.String?, + spokeUri: json_['spokeUri'] as core.String?, + ); + + core.Map toJson() => { + if (details != null) 'details': details!, + if (requestId != null) 'requestId': requestId!, + if (spokeEtag != null) 'spokeEtag': spokeEtag!, + if (spokeUri != null) 'spokeUri': spokeUri!, + }; +} + /// A route defines a path from VM instances within a spoke to a specific /// destination resource. /// @@ -7643,6 +7945,9 @@ class Route { /// - "INACTIVE" : The resource is inactive. /// - "OBSOLETE" : The hub associated with this spoke resource has been /// deleted. This state applies to spoke resources only. + /// - "FAILED" : The resource is in an undefined state due to resource + /// creation or deletion failure. You can try to delete the resource later or + /// contact support for help. core.String? state; /// The route's type. @@ -7795,6 +8100,9 @@ class RouteTable { /// - "INACTIVE" : The resource is inactive. /// - "OBSOLETE" : The hub associated with this spoke resource has been /// deleted. This state applies to spoke resources only. + /// - "FAILED" : The resource is in an undefined state due to resource + /// creation or deletion failure. You can try to delete the resource later or + /// contact support for help. core.String? state; /// The Google-generated UUID for the route table. @@ -8056,7 +8364,7 @@ class ServiceConnectionMap { /// The token provided by the consumer. /// - /// This token authenticates that the consumer can create a connecton within + /// This token authenticates that the consumer can create a connection within /// the specified project and network. core.String? token; @@ -8398,8 +8706,22 @@ class Spoke { core.String? createTime; /// An optional description of the spoke. + /// + /// Optional. core.String? description; + /// This checksum is computed by the server based on the value of other + /// fields, and may be sent on update and delete requests to ensure the client + /// has an up-to-date value before proceeding. + /// + /// Optional. + core.String? etag; + + /// The list of fields waiting for hub administration's approval. + /// + /// Optional. + core.List? fieldPathsPendingUpdate; + /// The name of the group that this spoke is associated with. /// /// Optional. @@ -8417,6 +8739,8 @@ class Spoke { core.Map? labels; /// VLAN attachments that are associated with the spoke. + /// + /// Optional. LinkedInterconnectAttachments? linkedInterconnectAttachments; /// The linked producer VPC that is associated with the spoke. @@ -8425,6 +8749,8 @@ class Spoke { LinkedProducerVpcNetwork? linkedProducerVpcNetwork; /// Router appliance instances that are associated with the spoke. + /// + /// Optional. LinkedRouterApplianceInstances? linkedRouterApplianceInstances; /// VPC network that is associated with the spoke. @@ -8433,6 +8759,8 @@ class Spoke { LinkedVpcNetwork? linkedVpcNetwork; /// VPN tunnels that are associated with the spoke. + /// + /// Optional. LinkedVpnTunnels? linkedVpnTunnels; /// The name of the spoke. @@ -8475,6 +8803,9 @@ class Spoke { /// - "INACTIVE" : The resource is inactive. /// - "OBSOLETE" : The hub associated with this spoke resource has been /// deleted. This state applies to spoke resources only. + /// - "FAILED" : The resource is in an undefined state due to resource + /// creation or deletion failure. You can try to delete the resource later or + /// contact support for help. core.String? state; /// The Google-generated UUID for the spoke. @@ -8494,6 +8825,8 @@ class Spoke { Spoke({ this.createTime, this.description, + this.etag, + this.fieldPathsPendingUpdate, this.group, this.hub, this.labels, @@ -8514,6 +8847,11 @@ class Spoke { : this( createTime: json_['createTime'] as core.String?, description: json_['description'] as core.String?, + etag: json_['etag'] as core.String?, + fieldPathsPendingUpdate: + (json_['fieldPathsPendingUpdate'] as core.List?) + ?.map((value) => value as core.String) + .toList(), group: json_['group'] as core.String?, hub: json_['hub'] as core.String?, labels: @@ -8563,6 +8901,9 @@ class Spoke { core.Map toJson() => { if (createTime != null) 'createTime': createTime!, if (description != null) 'description': description!, + if (etag != null) 'etag': etag!, + if (fieldPathsPendingUpdate != null) + 'fieldPathsPendingUpdate': fieldPathsPendingUpdate!, if (group != null) 'group': group!, if (hub != null) 'hub': hub!, if (labels != null) 'labels': labels!, @@ -8606,6 +8947,9 @@ class SpokeStateCount { /// - "INACTIVE" : The resource is inactive. /// - "OBSOLETE" : The hub associated with this spoke resource has been /// deleted. This state applies to spoke resources only. + /// - "FAILED" : The resource is in an undefined state due to resource + /// creation or deletion failure. You can try to delete the resource later or + /// contact support for help. core.String? state; SpokeStateCount({ diff --git a/generated/googleapis/lib/networkmanagement/v1.dart b/generated/googleapis/lib/networkmanagement/v1.dart index 238f1d2ca..9cb70f7af 100644 --- a/generated/googleapis/lib/networkmanagement/v1.dart +++ b/generated/googleapis/lib/networkmanagement/v1.dart @@ -1163,6 +1163,9 @@ class AbortInfo { /// issue in the Google-managed project. /// - "UNSUPPORTED_GOOGLE_MANAGED_PROJECT_CONFIG" : Aborted due to an /// unsupported configuration of the Google-managed project. + /// - "NO_SERVERLESS_IP_RANGES" : Aborted because the source endpoint is a + /// Cloud Run revision with direct VPC access enabled, but there are no + /// reserved serverless IP ranges. core.String? cause; /// IP address that caused the abort. @@ -1866,6 +1869,51 @@ class DeliverInfo { }; } +/// For display only. +/// +/// Metadata associated with a serverless direct VPC egress connection. +class DirectVpcEgressConnectionInfo { + /// URI of direct access network. + core.String? networkUri; + + /// Region in which the Direct VPC egress is deployed. + core.String? region; + + /// Selected starting IP address, from the selected IP range. + core.String? selectedIpAddress; + + /// Selected IP range. + core.String? selectedIpRange; + + /// URI of direct access subnetwork. + core.String? subnetworkUri; + + DirectVpcEgressConnectionInfo({ + this.networkUri, + this.region, + this.selectedIpAddress, + this.selectedIpRange, + this.subnetworkUri, + }); + + DirectVpcEgressConnectionInfo.fromJson(core.Map json_) + : this( + networkUri: json_['networkUri'] as core.String?, + region: json_['region'] as core.String?, + selectedIpAddress: json_['selectedIpAddress'] as core.String?, + selectedIpRange: json_['selectedIpRange'] as core.String?, + subnetworkUri: json_['subnetworkUri'] as core.String?, + ); + + core.Map toJson() => { + if (networkUri != null) 'networkUri': networkUri!, + if (region != null) 'region': region!, + if (selectedIpAddress != null) 'selectedIpAddress': selectedIpAddress!, + if (selectedIpRange != null) 'selectedIpRange': selectedIpRange!, + if (subnetworkUri != null) 'subnetworkUri': subnetworkUri!, + }; +} + /// Details of the final state "drop" and associated resource. class DropInfo { /// Cause that the packet is dropped. @@ -2477,6 +2525,8 @@ class FirewallInfo { /// - "TRACKING_STATE" : Tracking state for response traffic created when /// request traffic goes through allow firewall rule. For details, see /// [firewall rules specifications](https://cloud.google.com/firewall/docs/firewalls#specifications) + /// - "ANALYSIS_SKIPPED" : Firewall analysis was skipped due to executing + /// Connectivity Test in the BypassFirewallChecks mode core.String? firewallRuleType; /// The URI of the VPC network that the firewall rule is associated with. @@ -3920,7 +3970,7 @@ class RedisClusterInfo { /// For example, "us-central1". core.String? location; - /// URI of a Redis Cluster network in format + /// URI of the network containing the Redis Cluster endpoints in format /// "projects/{project_id}/global/networks/{network_id}". core.String? networkUri; @@ -4281,6 +4331,27 @@ class RouteInfo { }; } +/// For display only. +/// +/// Metadata associated with a serverless public connection. +class ServerlessExternalConnectionInfo { + /// Selected starting IP address, from the Google dynamic address pool. + core.String? selectedIpAddress; + + ServerlessExternalConnectionInfo({ + this.selectedIpAddress, + }); + + ServerlessExternalConnectionInfo.fromJson(core.Map json_) + : this( + selectedIpAddress: json_['selectedIpAddress'] as core.String?, + ); + + core.Map toJson() => { + if (selectedIpAddress != null) 'selectedIpAddress': selectedIpAddress!, + }; +} + /// For display only. /// /// Metadata associated with the serverless network endpoint group backend. @@ -4376,6 +4447,9 @@ class Step { /// Usually this is a summary of the state. core.String? description; + /// Display information of a serverless direct VPC egress connection. + DirectVpcEgressConnectionInfo? directVpcEgressConnection; + /// Display information of the final state "drop" and reason. DropInfo? drop; @@ -4437,6 +4511,9 @@ class Step { /// Display information of a Compute Engine route. RouteInfo? route; + /// Display information of a serverless public (external) connection. + ServerlessExternalConnectionInfo? serverlessExternalConnection; + /// Display information of a Serverless network endpoint group backend. /// /// Used only for return traces. @@ -4508,6 +4585,12 @@ class Step { /// tunnel. /// - "ARRIVE_AT_VPC_CONNECTOR" : Forwarding state: arriving at a VPC /// connector. + /// - "DIRECT_VPC_EGRESS_CONNECTION" : Forwarding state: for packets + /// originating from a serverless endpoint forwarded through Direct VPC + /// egress. + /// - "SERVERLESS_EXTERNAL_CONNECTION" : Forwarding state: for packets + /// originating from a serverless endpoint forwarded through public (external) + /// connectivity. /// - "NAT" : Transition state: packet header translated. /// - "PROXY_CONNECTION" : Transition state: original connection is terminated /// and a new proxied connection is initiated. @@ -4543,6 +4626,7 @@ class Step { this.cloudSqlInstance, this.deliver, this.description, + this.directVpcEgressConnection, this.drop, this.endpoint, this.firewall, @@ -4560,6 +4644,7 @@ class Step { this.redisCluster, this.redisInstance, this.route, + this.serverlessExternalConnection, this.serverlessNeg, this.state, this.storageBucket, @@ -4596,6 +4681,12 @@ class Step { json_['deliver'] as core.Map) : null, description: json_['description'] as core.String?, + directVpcEgressConnection: + json_.containsKey('directVpcEgressConnection') + ? DirectVpcEgressConnectionInfo.fromJson( + json_['directVpcEgressConnection'] + as core.Map) + : null, drop: json_.containsKey('drop') ? DropInfo.fromJson( json_['drop'] as core.Map) @@ -4662,6 +4753,12 @@ class Step { ? RouteInfo.fromJson( json_['route'] as core.Map) : null, + serverlessExternalConnection: + json_.containsKey('serverlessExternalConnection') + ? ServerlessExternalConnectionInfo.fromJson( + json_['serverlessExternalConnection'] + as core.Map) + : null, serverlessNeg: json_.containsKey('serverlessNeg') ? ServerlessNegInfo.fromJson( json_['serverlessNeg'] as core.Map) @@ -4694,6 +4791,8 @@ class Step { if (cloudSqlInstance != null) 'cloudSqlInstance': cloudSqlInstance!, if (deliver != null) 'deliver': deliver!, if (description != null) 'description': description!, + if (directVpcEgressConnection != null) + 'directVpcEgressConnection': directVpcEgressConnection!, if (drop != null) 'drop': drop!, if (endpoint != null) 'endpoint': endpoint!, if (firewall != null) 'firewall': firewall!, @@ -4712,6 +4811,8 @@ class Step { if (redisCluster != null) 'redisCluster': redisCluster!, if (redisInstance != null) 'redisInstance': redisInstance!, if (route != null) 'route': route!, + if (serverlessExternalConnection != null) + 'serverlessExternalConnection': serverlessExternalConnection!, if (serverlessNeg != null) 'serverlessNeg': serverlessNeg!, if (state != null) 'state': state!, if (storageBucket != null) 'storageBucket': storageBucket!, diff --git a/generated/googleapis/lib/networksecurity/v1.dart b/generated/googleapis/lib/networksecurity/v1.dart index 2a7c69aed..9bedab5d2 100644 --- a/generated/googleapis/lib/networksecurity/v1.dart +++ b/generated/googleapis/lib/networksecurity/v1.dart @@ -34,6 +34,10 @@ /// - [ProjectsLocationsFirewallEndpointAssociationsResource] /// - [ProjectsLocationsGatewaySecurityPoliciesResource] /// - [ProjectsLocationsGatewaySecurityPoliciesRulesResource] +/// - [ProjectsLocationsMirroringDeploymentGroupsResource] +/// - [ProjectsLocationsMirroringDeploymentsResource] +/// - [ProjectsLocationsMirroringEndpointGroupAssociationsResource] +/// - [ProjectsLocationsMirroringEndpointGroupsResource] /// - [ProjectsLocationsOperationsResource] /// - [ProjectsLocationsServerTlsPoliciesResource] /// - [ProjectsLocationsTlsInspectionPoliciesResource] @@ -357,6 +361,9 @@ class OrganizationsLocationsAddressGroupsResource { /// Indicates that this is a continuation of a prior `ListAddressGroups` call, /// and that the system should return the next page of data. /// + /// [returnPartialSuccess] - Optional. If true, allow partial responses for + /// multi-regional Aggregated List requests. + /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// @@ -371,11 +378,14 @@ class OrganizationsLocationsAddressGroupsResource { core.String parent, { core.int? pageSize, core.String? pageToken, + core.bool? returnPartialSuccess, core.String? $fields, }) async { final queryParams_ = >{ if (pageSize != null) 'pageSize': ['${pageSize}'], if (pageToken != null) 'pageToken': [pageToken], + if (returnPartialSuccess != null) + 'returnPartialSuccess': ['${returnPartialSuccess}'], if ($fields != null) 'fields': [$fields], }; @@ -1511,6 +1521,18 @@ class ProjectsLocationsResource { ProjectsLocationsGatewaySecurityPoliciesResource get gatewaySecurityPolicies => ProjectsLocationsGatewaySecurityPoliciesResource(_requester); + ProjectsLocationsMirroringDeploymentGroupsResource + get mirroringDeploymentGroups => + ProjectsLocationsMirroringDeploymentGroupsResource(_requester); + ProjectsLocationsMirroringDeploymentsResource get mirroringDeployments => + ProjectsLocationsMirroringDeploymentsResource(_requester); + ProjectsLocationsMirroringEndpointGroupAssociationsResource + get mirroringEndpointGroupAssociations => + ProjectsLocationsMirroringEndpointGroupAssociationsResource( + _requester); + ProjectsLocationsMirroringEndpointGroupsResource + get mirroringEndpointGroups => + ProjectsLocationsMirroringEndpointGroupsResource(_requester); ProjectsLocationsOperationsResource get operations => ProjectsLocationsOperationsResource(_requester); ProjectsLocationsServerTlsPoliciesResource get serverTlsPolicies => @@ -1926,6 +1948,9 @@ class ProjectsLocationsAddressGroupsResource { /// Indicates that this is a continuation of a prior `ListAddressGroups` call, /// and that the system should return the next page of data. /// + /// [returnPartialSuccess] - Optional. If true, allow partial responses for + /// multi-regional Aggregated List requests. + /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// @@ -1940,11 +1965,14 @@ class ProjectsLocationsAddressGroupsResource { core.String parent, { core.int? pageSize, core.String? pageToken, + core.bool? returnPartialSuccess, core.String? $fields, }) async { final queryParams_ = >{ if (pageSize != null) 'pageSize': ['${pageSize}'], if (pageToken != null) 'pageToken': [pageToken], + if (returnPartialSuccess != null) + 'returnPartialSuccess': ['${returnPartialSuccess}'], if ($fields != null) 'fields': [$fields], }; @@ -4189,52 +4217,60 @@ class ProjectsLocationsGatewaySecurityPoliciesRulesResource { } } -class ProjectsLocationsOperationsResource { +class ProjectsLocationsMirroringDeploymentGroupsResource { final commons.ApiRequester _requester; - ProjectsLocationsOperationsResource(commons.ApiRequester client) + ProjectsLocationsMirroringDeploymentGroupsResource( + commons.ApiRequester client) : _requester = client; - /// Starts asynchronous cancellation on a long-running operation. + /// Creates a deployment group in a given project and location. /// - /// The server makes a best effort to cancel the operation, but success is not - /// guaranteed. If the server doesn't support this method, it returns - /// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation - /// or other methods to check whether the cancellation succeeded or whether - /// the operation completed despite cancellation. On successful cancellation, - /// the operation is not deleted; instead, it becomes an operation with an - /// Operation.error value with a google.rpc.Status.code of `1`, corresponding - /// to `Code.CANCELLED`. + /// See https://google.aip.dev/133. /// /// [request] - The metadata request object. /// /// Request parameters: /// - /// [name] - The name of the operation resource to be cancelled. - /// Value must have pattern - /// `^projects/\[^/\]+/locations/\[^/\]+/operations/\[^/\]+$`. + /// [parent] - Required. The parent resource where this deployment group will + /// be created. Format: projects/{project}/locations/{location} + /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. + /// + /// [mirroringDeploymentGroupId] - Required. The ID to use for the new + /// deployment group, which will become the final component of the deployment + /// group's resource name. + /// + /// [requestId] - Optional. A unique identifier for this request. Must be a + /// UUID4. This request is only idempotent if a `request_id` is provided. See + /// https://google.aip.dev/155 for more details. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [Empty]. + /// Completes with a [Operation]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future cancel( - CancelOperationRequest request, - core.String name, { + async.Future create( + MirroringDeploymentGroup request, + core.String parent, { + core.String? mirroringDeploymentGroupId, + core.String? requestId, core.String? $fields, }) async { final body_ = convert.json.encode(request); final queryParams_ = >{ + if (mirroringDeploymentGroupId != null) + 'mirroringDeploymentGroupId': [mirroringDeploymentGroupId], + if (requestId != null) 'requestId': [requestId], if ($fields != null) 'fields': [$fields], }; - final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':cancel'; + final url_ = + 'v1/' + core.Uri.encodeFull('$parent') + '/mirroringDeploymentGroups'; final response_ = await _requester.request( url_, @@ -4242,36 +4278,40 @@ class ProjectsLocationsOperationsResource { body: body_, queryParams: queryParams_, ); - return Empty.fromJson(response_ as core.Map); + return Operation.fromJson(response_ as core.Map); } - /// Deletes a long-running operation. + /// Deletes a deployment group. /// - /// This method indicates that the client is no longer interested in the - /// operation result. It does not cancel the operation. If the server doesn't - /// support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. + /// See https://google.aip.dev/135. /// /// Request parameters: /// - /// [name] - The name of the operation resource to be deleted. + /// [name] - Required. The deployment group to delete. /// Value must have pattern - /// `^projects/\[^/\]+/locations/\[^/\]+/operations/\[^/\]+$`. + /// `^projects/\[^/\]+/locations/\[^/\]+/mirroringDeploymentGroups/\[^/\]+$`. + /// + /// [requestId] - Optional. A unique identifier for this request. Must be a + /// UUID4. This request is only idempotent if a `request_id` is provided. See + /// https://google.aip.dev/155 for more details. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [Empty]. + /// Completes with a [Operation]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future delete( + async.Future delete( core.String name, { + core.String? requestId, core.String? $fields, }) async { final queryParams_ = >{ + if (requestId != null) 'requestId': [requestId], if ($fields != null) 'fields': [$fields], }; @@ -4282,31 +4322,31 @@ class ProjectsLocationsOperationsResource { 'DELETE', queryParams: queryParams_, ); - return Empty.fromJson(response_ as core.Map); + return Operation.fromJson(response_ as core.Map); } - /// Gets the latest state of a long-running operation. + /// Gets a specific deployment group. /// - /// Clients can use this method to poll the operation result at intervals as - /// recommended by the API service. + /// See https://google.aip.dev/131. /// /// Request parameters: /// - /// [name] - The name of the operation resource. + /// [name] - Required. The name of the deployment group to retrieve. Format: + /// projects/{project}/locations/{location}/mirroringDeploymentGroups/{mirroring_deployment_group} /// Value must have pattern - /// `^projects/\[^/\]+/locations/\[^/\]+/operations/\[^/\]+$`. + /// `^projects/\[^/\]+/locations/\[^/\]+/mirroringDeploymentGroups/\[^/\]+$`. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [Operation]. + /// Completes with a [MirroringDeploymentGroup]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future get( + async.Future get( core.String name, { core.String? $fields, }) async { @@ -4321,80 +4361,98 @@ class ProjectsLocationsOperationsResource { 'GET', queryParams: queryParams_, ); - return Operation.fromJson(response_ as core.Map); + return MirroringDeploymentGroup.fromJson( + response_ as core.Map); } - /// Lists operations that match the specified filter in the request. + /// Lists deployment groups in a given project and location. /// - /// If the server doesn't support this method, it returns `UNIMPLEMENTED`. + /// See https://google.aip.dev/132. /// /// Request parameters: /// - /// [name] - The name of the operation's parent resource. + /// [parent] - Required. The parent, which owns this collection of deployment + /// groups. Example: `projects/123456789/locations/global`. See + /// https://google.aip.dev/132 for more details. /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. /// - /// [filter] - The standard list filter. + /// [filter] - Optional. Filter expression. See + /// https://google.aip.dev/160#filtering for more details. /// - /// [pageSize] - The standard list page size. + /// [orderBy] - Optional. Sort expression. See + /// https://google.aip.dev/132#ordering for more details. /// - /// [pageToken] - The standard list page token. + /// [pageSize] - Optional. Requested page size. Server may return fewer items + /// than requested. If unspecified, server will pick an appropriate default. + /// See https://google.aip.dev/158 for more details. + /// + /// [pageToken] - Optional. A page token, received from a previous + /// `ListMirroringDeploymentGroups` call. Provide this to retrieve the + /// subsequent page. When paginating, all other parameters provided to + /// `ListMirroringDeploymentGroups` must match the call that provided the page + /// token. See https://google.aip.dev/158 for more details. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [ListOperationsResponse]. + /// Completes with a [ListMirroringDeploymentGroupsResponse]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future list( - core.String name, { + async.Future list( + core.String parent, { core.String? filter, + core.String? orderBy, core.int? pageSize, core.String? pageToken, core.String? $fields, }) async { final queryParams_ = >{ if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], if (pageSize != null) 'pageSize': ['${pageSize}'], if (pageToken != null) 'pageToken': [pageToken], if ($fields != null) 'fields': [$fields], }; - final url_ = 'v1/' + core.Uri.encodeFull('$name') + '/operations'; + final url_ = + 'v1/' + core.Uri.encodeFull('$parent') + '/mirroringDeploymentGroups'; final response_ = await _requester.request( url_, 'GET', queryParams: queryParams_, ); - return ListOperationsResponse.fromJson( + return ListMirroringDeploymentGroupsResponse.fromJson( response_ as core.Map); } -} - -class ProjectsLocationsServerTlsPoliciesResource { - final commons.ApiRequester _requester; - - ProjectsLocationsServerTlsPoliciesResource(commons.ApiRequester client) - : _requester = client; - /// Creates a new ServerTlsPolicy in a given project and location. + /// Updates a deployment group. + /// + /// See https://google.aip.dev/134. /// /// [request] - The metadata request object. /// /// Request parameters: /// - /// [parent] - Required. The parent resource of the ServerTlsPolicy. Must be - /// in the format `projects / * /locations/{location}`. - /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. + /// [name] - Immutable. Identifier. The resource name of this deployment + /// group, for example: + /// `projects/123456789/locations/global/mirroringDeploymentGroups/my-dg`. See + /// https://google.aip.dev/122 for more details. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/mirroringDeploymentGroups/\[^/\]+$`. /// - /// [serverTlsPolicyId] - Required. Short name of the ServerTlsPolicy resource - /// to be created. This value should be 1-63 characters long, containing only - /// letters, numbers, hyphens, and underscores, and should not start with a - /// number. E.g. "server_mtls_policy". + /// [requestId] - Optional. A unique identifier for this request. Must be a + /// UUID4. This request is only idempotent if a `request_id` is provided. See + /// https://google.aip.dev/155 for more details. + /// + /// [updateMask] - Optional. The list of fields to update. Fields are + /// specified relative to the deployment group (e.g. `description`; *not* + /// `mirroring_deployment_group.description`). See https://google.aip.dev/161 + /// for more details. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -4406,37 +4464,56 @@ class ProjectsLocationsServerTlsPoliciesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future create( - ServerTlsPolicy request, - core.String parent, { - core.String? serverTlsPolicyId, + async.Future patch( + MirroringDeploymentGroup request, + core.String name, { + core.String? requestId, + core.String? updateMask, core.String? $fields, }) async { final body_ = convert.json.encode(request); final queryParams_ = >{ - if (serverTlsPolicyId != null) 'serverTlsPolicyId': [serverTlsPolicyId], + if (requestId != null) 'requestId': [requestId], + if (updateMask != null) 'updateMask': [updateMask], if ($fields != null) 'fields': [$fields], }; - final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/serverTlsPolicies'; + final url_ = 'v1/' + core.Uri.encodeFull('$name'); final response_ = await _requester.request( url_, - 'POST', + 'PATCH', body: body_, queryParams: queryParams_, ); return Operation.fromJson(response_ as core.Map); } +} - /// Deletes a single ServerTlsPolicy. +class ProjectsLocationsMirroringDeploymentsResource { + final commons.ApiRequester _requester; + + ProjectsLocationsMirroringDeploymentsResource(commons.ApiRequester client) + : _requester = client; + + /// Creates a deployment in a given project and location. + /// + /// See https://google.aip.dev/133. + /// + /// [request] - The metadata request object. /// /// Request parameters: /// - /// [name] - Required. A name of the ServerTlsPolicy to delete. Must be in the - /// format `projects / * /locations/{location}/serverTlsPolicies / * `. - /// Value must have pattern - /// `^projects/\[^/\]+/locations/\[^/\]+/serverTlsPolicies/\[^/\]+$`. + /// [parent] - Required. The parent resource where this deployment will be + /// created. Format: projects/{project}/locations/{location} + /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. + /// + /// [mirroringDeploymentId] - Required. The ID to use for the new deployment, + /// which will become the final component of the deployment's resource name. + /// + /// [requestId] - Optional. A unique identifier for this request. Must be a + /// UUID4. This request is only idempotent if a `request_id` is provided. See + /// https://google.aip.dev/155 for more details. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -4448,48 +4525,64 @@ class ProjectsLocationsServerTlsPoliciesResource { /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future delete( - core.String name, { + async.Future create( + MirroringDeployment request, + core.String parent, { + core.String? mirroringDeploymentId, + core.String? requestId, core.String? $fields, }) async { + final body_ = convert.json.encode(request); final queryParams_ = >{ + if (mirroringDeploymentId != null) + 'mirroringDeploymentId': [mirroringDeploymentId], + if (requestId != null) 'requestId': [requestId], if ($fields != null) 'fields': [$fields], }; - final url_ = 'v1/' + core.Uri.encodeFull('$name'); + final url_ = + 'v1/' + core.Uri.encodeFull('$parent') + '/mirroringDeployments'; final response_ = await _requester.request( url_, - 'DELETE', + 'POST', + body: body_, queryParams: queryParams_, ); return Operation.fromJson(response_ as core.Map); } - /// Gets details of a single ServerTlsPolicy. + /// Deletes a deployment. + /// + /// See https://google.aip.dev/135. /// /// Request parameters: /// - /// [name] - Required. A name of the ServerTlsPolicy to get. Must be in the - /// format `projects / * /locations/{location}/serverTlsPolicies / * `. + /// [name] - Required. Name of the resource /// Value must have pattern - /// `^projects/\[^/\]+/locations/\[^/\]+/serverTlsPolicies/\[^/\]+$`. + /// `^projects/\[^/\]+/locations/\[^/\]+/mirroringDeployments/\[^/\]+$`. + /// + /// [requestId] - Optional. A unique identifier for this request. Must be a + /// UUID4. This request is only idempotent if a `request_id` is provided. See + /// https://google.aip.dev/155 for more details. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [ServerTlsPolicy]. + /// Completes with a [Operation]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future get( + async.Future delete( core.String name, { + core.String? requestId, core.String? $fields, }) async { final queryParams_ = >{ + if (requestId != null) 'requestId': [requestId], if ($fields != null) 'fields': [$fields], }; @@ -4497,137 +4590,140 @@ class ProjectsLocationsServerTlsPoliciesResource { final response_ = await _requester.request( url_, - 'GET', + 'DELETE', queryParams: queryParams_, ); - return ServerTlsPolicy.fromJson( - response_ as core.Map); + return Operation.fromJson(response_ as core.Map); } - /// Gets the access control policy for a resource. + /// Gets a specific deployment. /// - /// Returns an empty policy if the resource exists and does not have a policy - /// set. + /// See https://google.aip.dev/131. /// /// Request parameters: /// - /// [resource] - REQUIRED: The resource for which the policy is being - /// requested. See - /// [Resource names](https://cloud.google.com/apis/design/resource_names) for - /// the appropriate value for this field. + /// [name] - Required. The name of the deployment to retrieve. Format: + /// projects/{project}/locations/{location}/mirroringDeployments/{mirroring_deployment} /// Value must have pattern - /// `^projects/\[^/\]+/locations/\[^/\]+/serverTlsPolicies/\[^/\]+$`. - /// - /// [options_requestedPolicyVersion] - Optional. The maximum policy version - /// that will be used to format the policy. Valid values are 0, 1, and 3. - /// Requests specifying an invalid value will be rejected. Requests for - /// policies with any conditional role bindings must specify version 3. - /// Policies with no conditional role bindings may specify any valid value or - /// leave the field unset. The policy in the response might use the policy - /// version that you specified, or it might use a lower policy version. For - /// example, if you specify version 3, but the policy has no conditional role - /// bindings, the response uses version 1. To learn which resources support - /// conditions in their IAM policies, see the - /// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + /// `^projects/\[^/\]+/locations/\[^/\]+/mirroringDeployments/\[^/\]+$`. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [GoogleIamV1Policy]. + /// Completes with a [MirroringDeployment]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future getIamPolicy( - core.String resource, { - core.int? options_requestedPolicyVersion, + async.Future get( + core.String name, { core.String? $fields, }) async { final queryParams_ = >{ - if (options_requestedPolicyVersion != null) - 'options.requestedPolicyVersion': ['${options_requestedPolicyVersion}'], if ($fields != null) 'fields': [$fields], }; - final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':getIamPolicy'; + final url_ = 'v1/' + core.Uri.encodeFull('$name'); final response_ = await _requester.request( url_, 'GET', queryParams: queryParams_, ); - return GoogleIamV1Policy.fromJson( + return MirroringDeployment.fromJson( response_ as core.Map); } - /// Lists ServerTlsPolicies in a given project and location. + /// Lists deployments in a given project and location. + /// + /// See https://google.aip.dev/132. /// /// Request parameters: /// - /// [parent] - Required. The project and location from which the - /// ServerTlsPolicies should be listed, specified in the format `projects / * - /// /locations/{location}`. + /// [parent] - Required. The parent, which owns this collection of + /// deployments. Example: `projects/123456789/locations/us-central1-a`. See + /// https://google.aip.dev/132 for more details. /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. /// - /// [pageSize] - Maximum number of ServerTlsPolicies to return per call. + /// [filter] - Optional. Filter expression. See + /// https://google.aip.dev/160#filtering for more details. /// - /// [pageToken] - The value returned by the last - /// `ListServerTlsPoliciesResponse` Indicates that this is a continuation of a - /// prior `ListServerTlsPolicies` call, and that the system should return the - /// next page of data. + /// [orderBy] - Optional. Sort expression. See + /// https://google.aip.dev/132#ordering for more details. + /// + /// [pageSize] - Optional. Requested page size. Server may return fewer items + /// than requested. If unspecified, server will pick an appropriate default. + /// See https://google.aip.dev/158 for more details. + /// + /// [pageToken] - Optional. A page token, received from a previous + /// `ListMirroringDeployments` call. Provide this to retrieve the subsequent + /// page. When paginating, all other parameters provided to + /// `ListMirroringDeployments` must match the call that provided the page + /// token. See https://google.aip.dev/158 for more details. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [ListServerTlsPoliciesResponse]. + /// Completes with a [ListMirroringDeploymentsResponse]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future list( + async.Future list( core.String parent, { + core.String? filter, + core.String? orderBy, core.int? pageSize, core.String? pageToken, core.String? $fields, }) async { final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], if (pageSize != null) 'pageSize': ['${pageSize}'], if (pageToken != null) 'pageToken': [pageToken], if ($fields != null) 'fields': [$fields], }; - final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/serverTlsPolicies'; + final url_ = + 'v1/' + core.Uri.encodeFull('$parent') + '/mirroringDeployments'; final response_ = await _requester.request( url_, 'GET', queryParams: queryParams_, ); - return ListServerTlsPoliciesResponse.fromJson( + return ListMirroringDeploymentsResponse.fromJson( response_ as core.Map); } - /// Updates the parameters of a single ServerTlsPolicy. + /// Updates a deployment. + /// + /// See https://google.aip.dev/134. /// /// [request] - The metadata request object. /// /// Request parameters: /// - /// [name] - Required. Name of the ServerTlsPolicy resource. It matches the - /// pattern `projects / * - /// /locations/{location}/serverTlsPolicies/{server_tls_policy}` + /// [name] - Immutable. Identifier. The resource name of this deployment, for + /// example: + /// `projects/123456789/locations/us-central1-a/mirroringDeployments/my-dep`. + /// See https://google.aip.dev/122 for more details. /// Value must have pattern - /// `^projects/\[^/\]+/locations/\[^/\]+/serverTlsPolicies/\[^/\]+$`. + /// `^projects/\[^/\]+/locations/\[^/\]+/mirroringDeployments/\[^/\]+$`. /// - /// [updateMask] - Optional. Field mask is used to specify the fields to be - /// overwritten in the ServerTlsPolicy resource by the update. The fields - /// specified in the update_mask are relative to the resource, not the full - /// request. A field will be overwritten if it is in the mask. If the user - /// does not provide a mask then all fields will be overwritten. + /// [requestId] - Optional. A unique identifier for this request. Must be a + /// UUID4. This request is only idempotent if a `request_id` is provided. See + /// https://google.aip.dev/155 for more details. + /// + /// [updateMask] - Optional. The list of fields to update. Fields are + /// specified relative to the deployment (e.g. `description`; *not* + /// `mirroring_deployment.description`). See https://google.aip.dev/161 for + /// more details. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -4640,13 +4736,15 @@ class ProjectsLocationsServerTlsPoliciesResource { /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. async.Future patch( - ServerTlsPolicy request, + MirroringDeployment request, core.String name, { + core.String? requestId, core.String? updateMask, core.String? $fields, }) async { final body_ = convert.json.encode(request); final queryParams_ = >{ + if (requestId != null) 'requestId': [requestId], if (updateMask != null) 'updateMask': [updateMask], if ($fields != null) 'fields': [$fields], }; @@ -4661,44 +4759,66 @@ class ProjectsLocationsServerTlsPoliciesResource { ); return Operation.fromJson(response_ as core.Map); } +} - /// Sets the access control policy on the specified resource. +class ProjectsLocationsMirroringEndpointGroupAssociationsResource { + final commons.ApiRequester _requester; + + ProjectsLocationsMirroringEndpointGroupAssociationsResource( + commons.ApiRequester client) + : _requester = client; + + /// Creates an association in a given project and location. /// - /// Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, - /// and `PERMISSION_DENIED` errors. + /// See https://google.aip.dev/133. /// /// [request] - The metadata request object. /// /// Request parameters: /// - /// [resource] - REQUIRED: The resource for which the policy is being - /// specified. See - /// [Resource names](https://cloud.google.com/apis/design/resource_names) for - /// the appropriate value for this field. - /// Value must have pattern - /// `^projects/\[^/\]+/locations/\[^/\]+/serverTlsPolicies/\[^/\]+$`. + /// [parent] - Required. The parent resource where this association will be + /// created. Format: projects/{project}/locations/{location} + /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. + /// + /// [mirroringEndpointGroupAssociationId] - Optional. The ID to use for the + /// new association, which will become the final component of the endpoint + /// group's resource name. If not provided, the server will generate a unique + /// ID. + /// + /// [requestId] - Optional. A unique identifier for this request. Must be a + /// UUID4. This request is only idempotent if a `request_id` is provided. See + /// https://google.aip.dev/155 for more details. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [GoogleIamV1Policy]. + /// Completes with a [Operation]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future setIamPolicy( - GoogleIamV1SetIamPolicyRequest request, - core.String resource, { + async.Future create( + MirroringEndpointGroupAssociation request, + core.String parent, { + core.String? mirroringEndpointGroupAssociationId, + core.String? requestId, core.String? $fields, }) async { final body_ = convert.json.encode(request); final queryParams_ = >{ + if (mirroringEndpointGroupAssociationId != null) + 'mirroringEndpointGroupAssociationId': [ + mirroringEndpointGroupAssociationId + ], + if (requestId != null) 'requestId': [requestId], if ($fields != null) 'fields': [$fields], }; - final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':setIamPolicy'; + final url_ = 'v1/' + + core.Uri.encodeFull('$parent') + + '/mirroringEndpointGroupAssociations'; final response_ = await _requester.request( url_, @@ -4706,131 +4826,22 @@ class ProjectsLocationsServerTlsPoliciesResource { body: body_, queryParams: queryParams_, ); - return GoogleIamV1Policy.fromJson( - response_ as core.Map); + return Operation.fromJson(response_ as core.Map); } - /// Returns permissions that a caller has on the specified resource. + /// Deletes an association. /// - /// If the resource does not exist, this will return an empty set of - /// permissions, not a `NOT_FOUND` error. Note: This operation is designed to - /// be used for building permission-aware UIs and command-line tools, not for - /// authorization checking. This operation may "fail open" without warning. - /// - /// [request] - The metadata request object. - /// - /// Request parameters: - /// - /// [resource] - REQUIRED: The resource for which the policy detail is being - /// requested. See - /// [Resource names](https://cloud.google.com/apis/design/resource_names) for - /// the appropriate value for this field. - /// Value must have pattern - /// `^projects/\[^/\]+/locations/\[^/\]+/serverTlsPolicies/\[^/\]+$`. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [GoogleIamV1TestIamPermissionsResponse]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - async.Future testIamPermissions( - GoogleIamV1TestIamPermissionsRequest request, - core.String resource, { - core.String? $fields, - }) async { - final body_ = convert.json.encode(request); - final queryParams_ = >{ - if ($fields != null) 'fields': [$fields], - }; - - final url_ = - 'v1/' + core.Uri.encodeFull('$resource') + ':testIamPermissions'; - - final response_ = await _requester.request( - url_, - 'POST', - body: body_, - queryParams: queryParams_, - ); - return GoogleIamV1TestIamPermissionsResponse.fromJson( - response_ as core.Map); - } -} - -class ProjectsLocationsTlsInspectionPoliciesResource { - final commons.ApiRequester _requester; - - ProjectsLocationsTlsInspectionPoliciesResource(commons.ApiRequester client) - : _requester = client; - - /// Creates a new TlsInspectionPolicy in a given project and location. - /// - /// [request] - The metadata request object. - /// - /// Request parameters: - /// - /// [parent] - Required. The parent resource of the TlsInspectionPolicy. Must - /// be in the format `projects/{project}/locations/{location}`. - /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. - /// - /// [tlsInspectionPolicyId] - Required. Short name of the TlsInspectionPolicy - /// resource to be created. This value should be 1-63 characters long, - /// containing only letters, numbers, hyphens, and underscores, and should not - /// start with a number. E.g. "tls_inspection_policy1". - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [Operation]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - async.Future create( - TlsInspectionPolicy request, - core.String parent, { - core.String? tlsInspectionPolicyId, - core.String? $fields, - }) async { - final body_ = convert.json.encode(request); - final queryParams_ = >{ - if (tlsInspectionPolicyId != null) - 'tlsInspectionPolicyId': [tlsInspectionPolicyId], - if ($fields != null) 'fields': [$fields], - }; - - final url_ = - 'v1/' + core.Uri.encodeFull('$parent') + '/tlsInspectionPolicies'; - - final response_ = await _requester.request( - url_, - 'POST', - body: body_, - queryParams: queryParams_, - ); - return Operation.fromJson(response_ as core.Map); - } - - /// Deletes a single TlsInspectionPolicy. + /// See https://google.aip.dev/135. /// /// Request parameters: /// - /// [name] - Required. A name of the TlsInspectionPolicy to delete. Must be in - /// the format - /// `projects/{project}/locations/{location}/tlsInspectionPolicies/{tls_inspection_policy}`. + /// [name] - Required. The association to delete. /// Value must have pattern - /// `^projects/\[^/\]+/locations/\[^/\]+/tlsInspectionPolicies/\[^/\]+$`. + /// `^projects/\[^/\]+/locations/\[^/\]+/mirroringEndpointGroupAssociations/\[^/\]+$`. /// - /// [force] - If set to true, any rules for this TlsInspectionPolicy will also - /// be deleted. (Otherwise, the request will only work if the - /// TlsInspectionPolicy has no rules.) + /// [requestId] - Optional. A unique identifier for this request. Must be a + /// UUID4. This request is only idempotent if a `request_id` is provided. See + /// https://google.aip.dev/155 for more details. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -4844,11 +4855,11 @@ class ProjectsLocationsTlsInspectionPoliciesResource { /// this method will complete with the same error. async.Future delete( core.String name, { - core.bool? force, + core.String? requestId, core.String? $fields, }) async { final queryParams_ = >{ - if (force != null) 'force': ['${force}'], + if (requestId != null) 'requestId': [requestId], if ($fields != null) 'fields': [$fields], }; @@ -4862,27 +4873,28 @@ class ProjectsLocationsTlsInspectionPoliciesResource { return Operation.fromJson(response_ as core.Map); } - /// Gets details of a single TlsInspectionPolicy. + /// Gets a specific association. + /// + /// See https://google.aip.dev/131. /// /// Request parameters: /// - /// [name] - Required. A name of the TlsInspectionPolicy to get. Must be in - /// the format - /// `projects/{project}/locations/{location}/tlsInspectionPolicies/{tls_inspection_policy}`. + /// [name] - Required. The name of the association to retrieve. Format: + /// projects/{project}/locations/{location}/mirroringEndpointGroupAssociations/{mirroring_endpoint_group_association} /// Value must have pattern - /// `^projects/\[^/\]+/locations/\[^/\]+/tlsInspectionPolicies/\[^/\]+$`. + /// `^projects/\[^/\]+/locations/\[^/\]+/mirroringEndpointGroupAssociations/\[^/\]+$`. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [TlsInspectionPolicy]. + /// Completes with a [MirroringEndpointGroupAssociation]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future get( + async.Future get( core.String name, { core.String? $fields, }) async { @@ -4897,78 +4909,99 @@ class ProjectsLocationsTlsInspectionPoliciesResource { 'GET', queryParams: queryParams_, ); - return TlsInspectionPolicy.fromJson( + return MirroringEndpointGroupAssociation.fromJson( response_ as core.Map); } - /// Lists TlsInspectionPolicies in a given project and location. + /// Lists associations in a given project and location. + /// + /// See https://google.aip.dev/132. /// /// Request parameters: /// - /// [parent] - Required. The project and location from which the - /// TlsInspectionPolicies should be listed, specified in the format - /// `projects/{project}/locations/{location}`. + /// [parent] - Required. The parent, which owns this collection of + /// associations. Example: `projects/123456789/locations/global`. See + /// https://google.aip.dev/132 for more details. /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. /// - /// [pageSize] - Maximum number of TlsInspectionPolicies to return per call. + /// [filter] - Optional. Filter expression. See + /// https://google.aip.dev/160#filtering for more details. /// - /// [pageToken] - The value returned by the last - /// 'ListTlsInspectionPoliciesResponse' Indicates that this is a continuation - /// of a prior 'ListTlsInspectionPolicies' call, and that the system should - /// return the next page of data. + /// [orderBy] - Optional. Sort expression. See + /// https://google.aip.dev/132#ordering for more details. + /// + /// [pageSize] - Optional. Requested page size. Server may return fewer items + /// than requested. If unspecified, server will pick an appropriate default. + /// See https://google.aip.dev/158 for more details. + /// + /// [pageToken] - Optional. A page token, received from a previous + /// `ListMirroringEndpointGroups` call. Provide this to retrieve the + /// subsequent page. When paginating, all other parameters provided to + /// `ListMirroringEndpointGroups` must match the call that provided the page + /// token. See https://google.aip.dev/158 for more details. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [ListTlsInspectionPoliciesResponse]. + /// Completes with a [ListMirroringEndpointGroupAssociationsResponse]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future list( + async.Future list( core.String parent, { + core.String? filter, + core.String? orderBy, core.int? pageSize, core.String? pageToken, core.String? $fields, }) async { final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], if (pageSize != null) 'pageSize': ['${pageSize}'], if (pageToken != null) 'pageToken': [pageToken], if ($fields != null) 'fields': [$fields], }; - final url_ = - 'v1/' + core.Uri.encodeFull('$parent') + '/tlsInspectionPolicies'; + final url_ = 'v1/' + + core.Uri.encodeFull('$parent') + + '/mirroringEndpointGroupAssociations'; final response_ = await _requester.request( url_, 'GET', queryParams: queryParams_, ); - return ListTlsInspectionPoliciesResponse.fromJson( + return ListMirroringEndpointGroupAssociationsResponse.fromJson( response_ as core.Map); } - /// Updates the parameters of a single TlsInspectionPolicy. + /// Updates an association. + /// + /// See https://google.aip.dev/134. /// /// [request] - The metadata request object. /// /// Request parameters: /// - /// [name] - Required. Name of the resource. Name is of the form - /// projects/{project}/locations/{location}/tlsInspectionPolicies/{tls_inspection_policy} - /// tls_inspection_policy should match the - /// pattern:(^\[a-z\](\[a-z0-9-\]{0,61}\[a-z0-9\])?$). + /// [name] - Immutable. Identifier. The resource name of this endpoint group + /// association, for example: + /// `projects/123456789/locations/global/mirroringEndpointGroupAssociations/my-eg-association`. + /// See https://google.aip.dev/122 for more details. /// Value must have pattern - /// `^projects/\[^/\]+/locations/\[^/\]+/tlsInspectionPolicies/\[^/\]+$`. + /// `^projects/\[^/\]+/locations/\[^/\]+/mirroringEndpointGroupAssociations/\[^/\]+$`. /// - /// [updateMask] - Optional. Field mask is used to specify the fields to be - /// overwritten in the TlsInspectionPolicy resource by the update. The fields - /// specified in the update_mask are relative to the resource, not the full - /// request. A field will be overwritten if it is in the mask. If the user - /// does not provide a mask then all fields will be overwritten. + /// [requestId] - Optional. A unique identifier for this request. Must be a + /// UUID4. This request is only idempotent if a `request_id` is provided. See + /// https://google.aip.dev/155 for more details. + /// + /// [updateMask] - Optional. The list of fields to update. Fields are + /// specified relative to the association (e.g. `description`; *not* + /// `mirroring_endpoint_group_association.description`). See + /// https://google.aip.dev/161 for more details. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -4981,13 +5014,15 @@ class ProjectsLocationsTlsInspectionPoliciesResource { /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. async.Future patch( - TlsInspectionPolicy request, + MirroringEndpointGroupAssociation request, core.String name, { + core.String? requestId, core.String? updateMask, core.String? $fields, }) async { final body_ = convert.json.encode(request); final queryParams_ = >{ + if (requestId != null) 'requestId': [requestId], if (updateMask != null) 'updateMask': [updateMask], if ($fields != null) 'fields': [$fields], }; @@ -5004,26 +5039,31 @@ class ProjectsLocationsTlsInspectionPoliciesResource { } } -class ProjectsLocationsUrlListsResource { +class ProjectsLocationsMirroringEndpointGroupsResource { final commons.ApiRequester _requester; - ProjectsLocationsUrlListsResource(commons.ApiRequester client) + ProjectsLocationsMirroringEndpointGroupsResource(commons.ApiRequester client) : _requester = client; - /// Creates a new UrlList in a given project and location. + /// Creates an endpoint group in a given project and location. + /// + /// See https://google.aip.dev/133. /// /// [request] - The metadata request object. /// /// Request parameters: /// - /// [parent] - Required. The parent resource of the UrlList. Must be in the - /// format `projects / * /locations/{location}`. + /// [parent] - Required. The parent resource where this endpoint group will be + /// created. Format: projects/{project}/locations/{location} /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. /// - /// [urlListId] - Required. Short name of the UrlList resource to be created. - /// This value should be 1-63 characters long, containing only letters, - /// numbers, hyphens, and underscores, and should not start with a number. - /// E.g. "url_list". + /// [mirroringEndpointGroupId] - Required. The ID to use for the endpoint + /// group, which will become the final component of the endpoint group's + /// resource name. + /// + /// [requestId] - Optional. A unique identifier for this request. Must be a + /// UUID4. This request is only idempotent if a `request_id` is provided. See + /// https://google.aip.dev/155 for more details. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -5036,18 +5076,22 @@ class ProjectsLocationsUrlListsResource { /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. async.Future create( - UrlList request, + MirroringEndpointGroup request, core.String parent, { - core.String? urlListId, + core.String? mirroringEndpointGroupId, + core.String? requestId, core.String? $fields, }) async { final body_ = convert.json.encode(request); final queryParams_ = >{ - if (urlListId != null) 'urlListId': [urlListId], + if (mirroringEndpointGroupId != null) + 'mirroringEndpointGroupId': [mirroringEndpointGroupId], + if (requestId != null) 'requestId': [requestId], if ($fields != null) 'fields': [$fields], }; - final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/urlLists'; + final url_ = + 'v1/' + core.Uri.encodeFull('$parent') + '/mirroringEndpointGroups'; final response_ = await _requester.request( url_, @@ -5058,14 +5102,19 @@ class ProjectsLocationsUrlListsResource { return Operation.fromJson(response_ as core.Map); } - /// Deletes a single UrlList. + /// Deletes an endpoint group. + /// + /// See https://google.aip.dev/135. /// /// Request parameters: /// - /// [name] - Required. A name of the UrlList to delete. Must be in the format - /// `projects / * /locations/{location}/urlLists / * `. + /// [name] - Required. The endpoint group to delete. /// Value must have pattern - /// `^projects/\[^/\]+/locations/\[^/\]+/urlLists/\[^/\]+$`. + /// `^projects/\[^/\]+/locations/\[^/\]+/mirroringEndpointGroups/\[^/\]+$`. + /// + /// [requestId] - Optional. A unique identifier for this request. Must be a + /// UUID4. This request is only idempotent if a `request_id` is provided. See + /// https://google.aip.dev/155 for more details. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -5079,9 +5128,11 @@ class ProjectsLocationsUrlListsResource { /// this method will complete with the same error. async.Future delete( core.String name, { + core.String? requestId, core.String? $fields, }) async { final queryParams_ = >{ + if (requestId != null) 'requestId': [requestId], if ($fields != null) 'fields': [$fields], }; @@ -5095,26 +5146,28 @@ class ProjectsLocationsUrlListsResource { return Operation.fromJson(response_ as core.Map); } - /// Gets details of a single UrlList. + /// Gets a specific endpoint group. + /// + /// See https://google.aip.dev/131. /// /// Request parameters: /// - /// [name] - Required. A name of the UrlList to get. Must be in the format - /// `projects / * /locations/{location}/urlLists / * `. + /// [name] - Required. The name of the endpoint group to retrieve. Format: + /// projects/{project}/locations/{location}/mirroringEndpointGroups/{mirroring_endpoint_group} /// Value must have pattern - /// `^projects/\[^/\]+/locations/\[^/\]+/urlLists/\[^/\]+$`. + /// `^projects/\[^/\]+/locations/\[^/\]+/mirroringEndpointGroups/\[^/\]+$`. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [UrlList]. + /// Completes with a [MirroringEndpointGroup]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future get( + async.Future get( core.String name, { core.String? $fields, }) async { @@ -5129,75 +5182,98 @@ class ProjectsLocationsUrlListsResource { 'GET', queryParams: queryParams_, ); - return UrlList.fromJson(response_ as core.Map); + return MirroringEndpointGroup.fromJson( + response_ as core.Map); } - /// Lists UrlLists in a given project and location. + /// Lists endpoint groups in a given project and location. + /// + /// See https://google.aip.dev/132. /// /// Request parameters: /// - /// [parent] - Required. The project and location from which the UrlLists - /// should be listed, specified in the format - /// `projects/{project}/locations/{location}`. + /// [parent] - Required. The parent, which owns this collection of endpoint + /// groups. Example: `projects/123456789/locations/global`. See + /// https://google.aip.dev/132 for more details. /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. /// - /// [pageSize] - Maximum number of UrlLists to return per call. + /// [filter] - Optional. Filter expression. See + /// https://google.aip.dev/160#filtering for more details. /// - /// [pageToken] - The value returned by the last `ListUrlListsResponse` - /// Indicates that this is a continuation of a prior `ListUrlLists` call, and - /// that the system should return the next page of data. + /// [orderBy] - Optional. Sort expression. See + /// https://google.aip.dev/132#ordering for more details. + /// + /// [pageSize] - Optional. Requested page size. Server may return fewer items + /// than requested. If unspecified, server will pick an appropriate default. + /// See https://google.aip.dev/158 for more details. + /// + /// [pageToken] - Optional. A page token, received from a previous + /// `ListMirroringEndpointGroups` call. Provide this to retrieve the + /// subsequent page. When paginating, all other parameters provided to + /// `ListMirroringEndpointGroups` must match the call that provided the page + /// token. See https://google.aip.dev/158 for more details. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// - /// Completes with a [ListUrlListsResponse]. + /// Completes with a [ListMirroringEndpointGroupsResponse]. /// /// Completes with a [commons.ApiRequestError] if the API endpoint returned an /// error. /// /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. - async.Future list( + async.Future list( core.String parent, { + core.String? filter, + core.String? orderBy, core.int? pageSize, core.String? pageToken, core.String? $fields, }) async { final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], if (pageSize != null) 'pageSize': ['${pageSize}'], if (pageToken != null) 'pageToken': [pageToken], if ($fields != null) 'fields': [$fields], }; - final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/urlLists'; + final url_ = + 'v1/' + core.Uri.encodeFull('$parent') + '/mirroringEndpointGroups'; final response_ = await _requester.request( url_, 'GET', queryParams: queryParams_, ); - return ListUrlListsResponse.fromJson( + return ListMirroringEndpointGroupsResponse.fromJson( response_ as core.Map); } - /// Updates the parameters of a single UrlList. + /// Updates an endpoint group. + /// + /// See https://google.aip.dev/134. /// /// [request] - The metadata request object. /// /// Request parameters: /// - /// [name] - Required. Name of the resource provided by the user. Name is of - /// the form projects/{project}/locations/{location}/urlLists/{url_list} - /// url_list should match the - /// pattern:(^\[a-z\](\[a-z0-9-\]{0,61}\[a-z0-9\])?$). + /// [name] - Immutable. Identifier. The resource name of this endpoint group, + /// for example: + /// `projects/123456789/locations/global/mirroringEndpointGroups/my-eg`. See + /// https://google.aip.dev/122 for more details. /// Value must have pattern - /// `^projects/\[^/\]+/locations/\[^/\]+/urlLists/\[^/\]+$`. + /// `^projects/\[^/\]+/locations/\[^/\]+/mirroringEndpointGroups/\[^/\]+$`. /// - /// [updateMask] - Optional. Field mask is used to specify the fields to be - /// overwritten in the UrlList resource by the update. The fields specified in - /// the update_mask are relative to the resource, not the full request. A - /// field will be overwritten if it is in the mask. If the user does not - /// provide a mask then all fields will be overwritten. + /// [requestId] - Optional. A unique identifier for this request. Must be a + /// UUID4. This request is only idempotent if a `request_id` is provided. See + /// https://google.aip.dev/155 for more details. + /// + /// [updateMask] - Optional. The list of fields to update. Fields are + /// specified relative to the endpoint group (e.g. `description`; *not* + /// `mirroring_endpoint_group.description`). See https://google.aip.dev/161 + /// for more details. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -5210,13 +5286,15 @@ class ProjectsLocationsUrlListsResource { /// If the used [http.Client] completes with an error when making a REST call, /// this method will complete with the same error. async.Future patch( - UrlList request, + MirroringEndpointGroup request, core.String name, { + core.String? requestId, core.String? updateMask, core.String? $fields, }) async { final body_ = convert.json.encode(request); final queryParams_ = >{ + if (requestId != null) 'requestId': [requestId], if (updateMask != null) 'updateMask': [updateMask], if ($fields != null) 'fields': [$fields], }; @@ -5233,17 +5311,1061 @@ class ProjectsLocationsUrlListsResource { } } -/// Request used by the AddAddressGroupItems method. -class AddAddressGroupItemsRequest { - /// List of items to add. - /// - /// Required. - core.List? items; +class ProjectsLocationsOperationsResource { + final commons.ApiRequester _requester; - /// An optional request ID to identify requests. + ProjectsLocationsOperationsResource(commons.ApiRequester client) + : _requester = client; + + /// Starts asynchronous cancellation on a long-running operation. /// - /// Specify a unique request ID so that if you must retry your request, the - /// server will know to ignore the request if it has already been completed. + /// The server makes a best effort to cancel the operation, but success is not + /// guaranteed. If the server doesn't support this method, it returns + /// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation + /// or other methods to check whether the cancellation succeeded or whether + /// the operation completed despite cancellation. On successful cancellation, + /// the operation is not deleted; instead, it becomes an operation with an + /// Operation.error value with a google.rpc.Status.code of `1`, corresponding + /// to `Code.CANCELLED`. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [name] - The name of the operation resource to be cancelled. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/operations/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Empty]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future cancel( + CancelOperationRequest request, + core.String name, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':cancel'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Empty.fromJson(response_ as core.Map); + } + + /// Deletes a long-running operation. + /// + /// This method indicates that the client is no longer interested in the + /// operation result. It does not cancel the operation. If the server doesn't + /// support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. + /// + /// Request parameters: + /// + /// [name] - The name of the operation resource to be deleted. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/operations/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Empty]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return Empty.fromJson(response_ as core.Map); + } + + /// Gets the latest state of a long-running operation. + /// + /// Clients can use this method to poll the operation result at intervals as + /// recommended by the API service. + /// + /// Request parameters: + /// + /// [name] - The name of the operation resource. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/operations/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } + + /// Lists operations that match the specified filter in the request. + /// + /// If the server doesn't support this method, it returns `UNIMPLEMENTED`. + /// + /// Request parameters: + /// + /// [name] - The name of the operation's parent resource. + /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. + /// + /// [filter] - The standard list filter. + /// + /// [pageSize] - The standard list page size. + /// + /// [pageToken] - The standard list page token. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListOperationsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String name, { + core.String? filter, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name') + '/operations'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListOperationsResponse.fromJson( + response_ as core.Map); + } +} + +class ProjectsLocationsServerTlsPoliciesResource { + final commons.ApiRequester _requester; + + ProjectsLocationsServerTlsPoliciesResource(commons.ApiRequester client) + : _requester = client; + + /// Creates a new ServerTlsPolicy in a given project and location. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [parent] - Required. The parent resource of the ServerTlsPolicy. Must be + /// in the format `projects / * /locations/{location}`. + /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. + /// + /// [serverTlsPolicyId] - Required. Short name of the ServerTlsPolicy resource + /// to be created. This value should be 1-63 characters long, containing only + /// letters, numbers, hyphens, and underscores, and should not start with a + /// number. E.g. "server_mtls_policy". + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + ServerTlsPolicy request, + core.String parent, { + core.String? serverTlsPolicyId, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (serverTlsPolicyId != null) 'serverTlsPolicyId': [serverTlsPolicyId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/serverTlsPolicies'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } + + /// Deletes a single ServerTlsPolicy. + /// + /// Request parameters: + /// + /// [name] - Required. A name of the ServerTlsPolicy to delete. Must be in the + /// format `projects / * /locations/{location}/serverTlsPolicies / * `. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/serverTlsPolicies/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } + + /// Gets details of a single ServerTlsPolicy. + /// + /// Request parameters: + /// + /// [name] - Required. A name of the ServerTlsPolicy to get. Must be in the + /// format `projects / * /locations/{location}/serverTlsPolicies / * `. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/serverTlsPolicies/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ServerTlsPolicy]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ServerTlsPolicy.fromJson( + response_ as core.Map); + } + + /// Gets the access control policy for a resource. + /// + /// Returns an empty policy if the resource exists and does not have a policy + /// set. + /// + /// Request parameters: + /// + /// [resource] - REQUIRED: The resource for which the policy is being + /// requested. See + /// [Resource names](https://cloud.google.com/apis/design/resource_names) for + /// the appropriate value for this field. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/serverTlsPolicies/\[^/\]+$`. + /// + /// [options_requestedPolicyVersion] - Optional. The maximum policy version + /// that will be used to format the policy. Valid values are 0, 1, and 3. + /// Requests specifying an invalid value will be rejected. Requests for + /// policies with any conditional role bindings must specify version 3. + /// Policies with no conditional role bindings may specify any valid value or + /// leave the field unset. The policy in the response might use the policy + /// version that you specified, or it might use a lower policy version. For + /// example, if you specify version 3, but the policy has no conditional role + /// bindings, the response uses version 1. To learn which resources support + /// conditions in their IAM policies, see the + /// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleIamV1Policy]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future getIamPolicy( + core.String resource, { + core.int? options_requestedPolicyVersion, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (options_requestedPolicyVersion != null) + 'options.requestedPolicyVersion': ['${options_requestedPolicyVersion}'], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':getIamPolicy'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return GoogleIamV1Policy.fromJson( + response_ as core.Map); + } + + /// Lists ServerTlsPolicies in a given project and location. + /// + /// Request parameters: + /// + /// [parent] - Required. The project and location from which the + /// ServerTlsPolicies should be listed, specified in the format `projects / * + /// /locations/{location}`. + /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. + /// + /// [pageSize] - Maximum number of ServerTlsPolicies to return per call. + /// + /// [pageToken] - The value returned by the last + /// `ListServerTlsPoliciesResponse` Indicates that this is a continuation of a + /// prior `ListServerTlsPolicies` call, and that the system should return the + /// next page of data. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListServerTlsPoliciesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String parent, { + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/serverTlsPolicies'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListServerTlsPoliciesResponse.fromJson( + response_ as core.Map); + } + + /// Updates the parameters of a single ServerTlsPolicy. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [name] - Required. Name of the ServerTlsPolicy resource. It matches the + /// pattern `projects / * + /// /locations/{location}/serverTlsPolicies/{server_tls_policy}` + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/serverTlsPolicies/\[^/\]+$`. + /// + /// [updateMask] - Optional. Field mask is used to specify the fields to be + /// overwritten in the ServerTlsPolicy resource by the update. The fields + /// specified in the update_mask are relative to the resource, not the full + /// request. A field will be overwritten if it is in the mask. If the user + /// does not provide a mask then all fields will be overwritten. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + ServerTlsPolicy request, + core.String name, { + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } + + /// Sets the access control policy on the specified resource. + /// + /// Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, + /// and `PERMISSION_DENIED` errors. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [resource] - REQUIRED: The resource for which the policy is being + /// specified. See + /// [Resource names](https://cloud.google.com/apis/design/resource_names) for + /// the appropriate value for this field. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/serverTlsPolicies/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleIamV1Policy]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future setIamPolicy( + GoogleIamV1SetIamPolicyRequest request, + core.String resource, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':setIamPolicy'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return GoogleIamV1Policy.fromJson( + response_ as core.Map); + } + + /// Returns permissions that a caller has on the specified resource. + /// + /// If the resource does not exist, this will return an empty set of + /// permissions, not a `NOT_FOUND` error. Note: This operation is designed to + /// be used for building permission-aware UIs and command-line tools, not for + /// authorization checking. This operation may "fail open" without warning. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [resource] - REQUIRED: The resource for which the policy detail is being + /// requested. See + /// [Resource names](https://cloud.google.com/apis/design/resource_names) for + /// the appropriate value for this field. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/serverTlsPolicies/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleIamV1TestIamPermissionsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future testIamPermissions( + GoogleIamV1TestIamPermissionsRequest request, + core.String resource, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v1/' + core.Uri.encodeFull('$resource') + ':testIamPermissions'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return GoogleIamV1TestIamPermissionsResponse.fromJson( + response_ as core.Map); + } +} + +class ProjectsLocationsTlsInspectionPoliciesResource { + final commons.ApiRequester _requester; + + ProjectsLocationsTlsInspectionPoliciesResource(commons.ApiRequester client) + : _requester = client; + + /// Creates a new TlsInspectionPolicy in a given project and location. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [parent] - Required. The parent resource of the TlsInspectionPolicy. Must + /// be in the format `projects/{project}/locations/{location}`. + /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. + /// + /// [tlsInspectionPolicyId] - Required. Short name of the TlsInspectionPolicy + /// resource to be created. This value should be 1-63 characters long, + /// containing only letters, numbers, hyphens, and underscores, and should not + /// start with a number. E.g. "tls_inspection_policy1". + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + TlsInspectionPolicy request, + core.String parent, { + core.String? tlsInspectionPolicyId, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (tlsInspectionPolicyId != null) + 'tlsInspectionPolicyId': [tlsInspectionPolicyId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v1/' + core.Uri.encodeFull('$parent') + '/tlsInspectionPolicies'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } + + /// Deletes a single TlsInspectionPolicy. + /// + /// Request parameters: + /// + /// [name] - Required. A name of the TlsInspectionPolicy to delete. Must be in + /// the format + /// `projects/{project}/locations/{location}/tlsInspectionPolicies/{tls_inspection_policy}`. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/tlsInspectionPolicies/\[^/\]+$`. + /// + /// [force] - If set to true, any rules for this TlsInspectionPolicy will also + /// be deleted. (Otherwise, the request will only work if the + /// TlsInspectionPolicy has no rules.) + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String name, { + core.bool? force, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (force != null) 'force': ['${force}'], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } + + /// Gets details of a single TlsInspectionPolicy. + /// + /// Request parameters: + /// + /// [name] - Required. A name of the TlsInspectionPolicy to get. Must be in + /// the format + /// `projects/{project}/locations/{location}/tlsInspectionPolicies/{tls_inspection_policy}`. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/tlsInspectionPolicies/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [TlsInspectionPolicy]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return TlsInspectionPolicy.fromJson( + response_ as core.Map); + } + + /// Lists TlsInspectionPolicies in a given project and location. + /// + /// Request parameters: + /// + /// [parent] - Required. The project and location from which the + /// TlsInspectionPolicies should be listed, specified in the format + /// `projects/{project}/locations/{location}`. + /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. + /// + /// [pageSize] - Maximum number of TlsInspectionPolicies to return per call. + /// + /// [pageToken] - The value returned by the last + /// 'ListTlsInspectionPoliciesResponse' Indicates that this is a continuation + /// of a prior 'ListTlsInspectionPolicies' call, and that the system should + /// return the next page of data. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListTlsInspectionPoliciesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String parent, { + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v1/' + core.Uri.encodeFull('$parent') + '/tlsInspectionPolicies'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListTlsInspectionPoliciesResponse.fromJson( + response_ as core.Map); + } + + /// Updates the parameters of a single TlsInspectionPolicy. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [name] - Required. Name of the resource. Name is of the form + /// projects/{project}/locations/{location}/tlsInspectionPolicies/{tls_inspection_policy} + /// tls_inspection_policy should match the + /// pattern:(^\[a-z\](\[a-z0-9-\]{0,61}\[a-z0-9\])?$). + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/tlsInspectionPolicies/\[^/\]+$`. + /// + /// [updateMask] - Optional. Field mask is used to specify the fields to be + /// overwritten in the TlsInspectionPolicy resource by the update. The fields + /// specified in the update_mask are relative to the resource, not the full + /// request. A field will be overwritten if it is in the mask. If the user + /// does not provide a mask then all fields will be overwritten. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + TlsInspectionPolicy request, + core.String name, { + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } +} + +class ProjectsLocationsUrlListsResource { + final commons.ApiRequester _requester; + + ProjectsLocationsUrlListsResource(commons.ApiRequester client) + : _requester = client; + + /// Creates a new UrlList in a given project and location. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [parent] - Required. The parent resource of the UrlList. Must be in the + /// format `projects / * /locations/{location}`. + /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. + /// + /// [urlListId] - Required. Short name of the UrlList resource to be created. + /// This value should be 1-63 characters long, containing only letters, + /// numbers, hyphens, and underscores, and should not start with a number. + /// E.g. "url_list". + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + UrlList request, + core.String parent, { + core.String? urlListId, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (urlListId != null) 'urlListId': [urlListId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/urlLists'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } + + /// Deletes a single UrlList. + /// + /// Request parameters: + /// + /// [name] - Required. A name of the UrlList to delete. Must be in the format + /// `projects / * /locations/{location}/urlLists / * `. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/urlLists/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } + + /// Gets details of a single UrlList. + /// + /// Request parameters: + /// + /// [name] - Required. A name of the UrlList to get. Must be in the format + /// `projects / * /locations/{location}/urlLists / * `. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/urlLists/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [UrlList]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return UrlList.fromJson(response_ as core.Map); + } + + /// Lists UrlLists in a given project and location. + /// + /// Request parameters: + /// + /// [parent] - Required. The project and location from which the UrlLists + /// should be listed, specified in the format + /// `projects/{project}/locations/{location}`. + /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. + /// + /// [pageSize] - Maximum number of UrlLists to return per call. + /// + /// [pageToken] - The value returned by the last `ListUrlListsResponse` + /// Indicates that this is a continuation of a prior `ListUrlLists` call, and + /// that the system should return the next page of data. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListUrlListsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String parent, { + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/urlLists'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListUrlListsResponse.fromJson( + response_ as core.Map); + } + + /// Updates the parameters of a single UrlList. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [name] - Required. Name of the resource provided by the user. Name is of + /// the form projects/{project}/locations/{location}/urlLists/{url_list} + /// url_list should match the + /// pattern:(^\[a-z\](\[a-z0-9-\]{0,61}\[a-z0-9\])?$). + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/urlLists/\[^/\]+$`. + /// + /// [updateMask] - Optional. Field mask is used to specify the fields to be + /// overwritten in the UrlList resource by the update. The fields specified in + /// the update_mask are relative to the resource, not the full request. A + /// field will be overwritten if it is in the mask. If the user does not + /// provide a mask then all fields will be overwritten. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + UrlList request, + core.String name, { + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } +} + +/// Request used by the AddAddressGroupItems method. +class AddAddressGroupItemsRequest { + /// List of items to add. + /// + /// Required. + core.List? items; + + /// An optional request ID to identify requests. + /// + /// Specify a unique request ID so that if you must retry your request, the + /// server will know to ignore the request if it has already been completed. /// The server will guarantee that for at least 60 minutes since the first /// request. For example, consider a situation where you make an initial /// request and the request times out. If you make the request again with the @@ -5254,986 +6376,1694 @@ class AddAddressGroupItemsRequest { /// supported (00000000-0000-0000-0000-000000000000). /// /// Optional. - core.String? requestId; + core.String? requestId; + + AddAddressGroupItemsRequest({ + this.items, + this.requestId, + }); + + AddAddressGroupItemsRequest.fromJson(core.Map json_) + : this( + items: (json_['items'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + requestId: json_['requestId'] as core.String?, + ); + + core.Map toJson() => { + if (items != null) 'items': items!, + if (requestId != null) 'requestId': requestId!, + }; +} + +/// AddressGroup is a resource that specifies how a collection of IP/DNS used in +/// Firewall Policy. +class AddressGroup { + /// Capacity of the Address Group + /// + /// Required. + core.int? capacity; + + /// The timestamp when the resource was created. + /// + /// Output only. + core.String? createTime; + + /// Free-text description of the resource. + /// + /// Optional. + core.String? description; + + /// List of items. + /// + /// Optional. + core.List? items; + + /// Set of label tags associated with the AddressGroup resource. + /// + /// Optional. + core.Map? labels; + + /// Name of the AddressGroup resource. + /// + /// It matches pattern `projects / * /locations/{location}/addressGroups/`. + /// + /// Required. + core.String? name; + + /// List of supported purposes of the Address Group. + /// + /// Optional. + core.List? purpose; + + /// Server-defined fully-qualified URL for this resource. + /// + /// Output only. + core.String? selfLink; + + /// The type of the Address Group. + /// + /// Possible values are "IPv4" or "IPV6". + /// + /// Required. + /// Possible string values are: + /// - "TYPE_UNSPECIFIED" : Default value. + /// - "IPV4" : IP v4 ranges. + /// - "IPV6" : IP v6 ranges. + core.String? type; + + /// The timestamp when the resource was updated. + /// + /// Output only. + core.String? updateTime; + + AddressGroup({ + this.capacity, + this.createTime, + this.description, + this.items, + this.labels, + this.name, + this.purpose, + this.selfLink, + this.type, + this.updateTime, + }); + + AddressGroup.fromJson(core.Map json_) + : this( + capacity: json_['capacity'] as core.int?, + createTime: json_['createTime'] as core.String?, + description: json_['description'] as core.String?, + items: (json_['items'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + labels: + (json_['labels'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + name: json_['name'] as core.String?, + purpose: (json_['purpose'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + selfLink: json_['selfLink'] as core.String?, + type: json_['type'] as core.String?, + updateTime: json_['updateTime'] as core.String?, + ); + + core.Map toJson() => { + if (capacity != null) 'capacity': capacity!, + if (createTime != null) 'createTime': createTime!, + if (description != null) 'description': description!, + if (items != null) 'items': items!, + if (labels != null) 'labels': labels!, + if (name != null) 'name': name!, + if (purpose != null) 'purpose': purpose!, + if (selfLink != null) 'selfLink': selfLink!, + if (type != null) 'type': type!, + if (updateTime != null) 'updateTime': updateTime!, + }; +} + +/// Defines what action to take for antivirus threats per protocol. +class AntivirusOverride { + /// Threat action override. + /// + /// For some threat types, only a subset of actions applies. + /// + /// Required. + /// Possible string values are: + /// - "THREAT_ACTION_UNSPECIFIED" : Threat action not specified. + /// - "DEFAULT_ACTION" : The default action (as specified by the vendor) is + /// taken. + /// - "ALLOW" : The packet matching this rule will be allowed to transmit. + /// - "ALERT" : The packet matching this rule will be allowed to transmit, but + /// a threat_log entry will be sent to the consumer project. + /// - "DENY" : The packet matching this rule will be dropped, and a threat_log + /// entry will be sent to the consumer project. + core.String? action; + + /// Protocol to match. + /// + /// Required. + /// Possible string values are: + /// - "PROTOCOL_UNSPECIFIED" : Protocol not specified. + /// - "SMTP" : SMTP prtocol + /// - "SMB" : SMB protocol + /// - "POP3" : POP3 protocol + /// - "IMAP" : IMAP protocol + /// - "HTTP2" : HTTP2 protocol + /// - "HTTP" : HTTP protocol + /// - "FTP" : FTP protocol + core.String? protocol; + + AntivirusOverride({ + this.action, + this.protocol, + }); + + AntivirusOverride.fromJson(core.Map json_) + : this( + action: json_['action'] as core.String?, + protocol: json_['protocol'] as core.String?, + ); + + core.Map toJson() => { + if (action != null) 'action': action!, + if (protocol != null) 'protocol': protocol!, + }; +} + +/// AuthorizationPolicy is a resource that specifies how a server should +/// authorize incoming connections. +/// +/// This resource in itself does not change the configuration unless it's +/// attached to a target https proxy or endpoint config selector resource. +class AuthorizationPolicy { + /// The action to take when a rule match is found. + /// + /// Possible values are "ALLOW" or "DENY". + /// + /// Required. + /// Possible string values are: + /// - "ACTION_UNSPECIFIED" : Default value. + /// - "ALLOW" : Grant access. + /// - "DENY" : Deny access. Deny rules should be avoided unless they are used + /// to provide a default "deny all" fallback. + core.String? action; + + /// The timestamp when the resource was created. + /// + /// Output only. + core.String? createTime; + + /// Free-text description of the resource. + /// + /// Optional. + core.String? description; + + /// Set of label tags associated with the AuthorizationPolicy resource. + /// + /// Optional. + core.Map? labels; + + /// Name of the AuthorizationPolicy resource. + /// + /// It matches pattern + /// `projects/{project}/locations/{location}/authorizationPolicies/`. + /// + /// Required. + core.String? name; + + /// List of rules to match. + /// + /// Note that at least one of the rules must match in order for the action + /// specified in the 'action' field to be taken. A rule is a match if there is + /// a matching source and destination. If left blank, the action specified in + /// the `action` field will be applied on every request. + /// + /// Optional. + core.List? rules; + + /// The timestamp when the resource was updated. + /// + /// Output only. + core.String? updateTime; + + AuthorizationPolicy({ + this.action, + this.createTime, + this.description, + this.labels, + this.name, + this.rules, + this.updateTime, + }); + + AuthorizationPolicy.fromJson(core.Map json_) + : this( + action: json_['action'] as core.String?, + createTime: json_['createTime'] as core.String?, + description: json_['description'] as core.String?, + labels: + (json_['labels'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + name: json_['name'] as core.String?, + rules: (json_['rules'] as core.List?) + ?.map((value) => + Rule.fromJson(value as core.Map)) + .toList(), + updateTime: json_['updateTime'] as core.String?, + ); + + core.Map toJson() => { + if (action != null) 'action': action!, + if (createTime != null) 'createTime': createTime!, + if (description != null) 'description': description!, + if (labels != null) 'labels': labels!, + if (name != null) 'name': name!, + if (rules != null) 'rules': rules!, + if (updateTime != null) 'updateTime': updateTime!, + }; +} + +/// `AuthzPolicy` is a resource that allows to forward traffic to a callout +/// backend designed to scan the traffic for security purposes. +class AuthzPolicy { + /// Can be one of `ALLOW`, `DENY`, `CUSTOM`. + /// + /// When the action is `CUSTOM`, `customProvider` must be specified. When the + /// action is `ALLOW`, only requests matching the policy will be allowed. When + /// the action is `DENY`, only requests matching the policy will be denied. + /// When a request arrives, the policies are evaluated in the following order: + /// 1. If there is a `CUSTOM` policy that matches the request, the `CUSTOM` + /// policy is evaluated using the custom authorization providers and the + /// request is denied if the provider rejects the request. 2. If there are any + /// `DENY` policies that match the request, the request is denied. 3. If there + /// are no `ALLOW` policies for the resource or if any of the `ALLOW` policies + /// match the request, the request is allowed. 4. Else the request is denied + /// by default if none of the configured AuthzPolicies with `ALLOW` action + /// match the request. + /// + /// Required. + /// Possible string values are: + /// - "AUTHZ_ACTION_UNSPECIFIED" : Unspecified action. + /// - "ALLOW" : Allow request to pass through to the backend. + /// - "DENY" : Deny the request and return a HTTP 404 to the client. + /// - "CUSTOM" : Delegate the authorization decision to an external + /// authorization engine. + core.String? action; + + /// The timestamp when the resource was created. + /// + /// Output only. + core.String? createTime; + + /// Required if the action is `CUSTOM`. + /// + /// Allows delegating authorization decisions to Cloud IAP or to Service + /// Extensions. One of `cloudIap` or `authzExtension` must be specified. + /// + /// Optional. + AuthzPolicyCustomProvider? customProvider; + + /// A human-readable description of the resource. + /// + /// Optional. + core.String? description; + + /// A list of authorization HTTP rules to match against the incoming request. + /// + /// A policy match occurs when at least one HTTP rule matches the request or + /// when no HTTP rules are specified in the policy. At least one HTTP Rule is + /// required for Allow or Deny Action. Limited to 5 rules. + /// + /// Optional. + core.List? httpRules; + + /// Set of labels associated with the `AuthzPolicy` resource. + /// + /// The format must comply with \[the following + /// requirements\](/compute/docs/labeling-resources#requirements). + /// + /// Optional. + core.Map? labels; + + /// Identifier. + /// + /// Name of the `AuthzPolicy` resource in the following format: + /// `projects/{project}/locations/{location}/authzPolicies/{authz_policy}`. + /// + /// Required. + core.String? name; + + /// Specifies the set of resources to which this policy should be applied to. + /// + /// Required. + AuthzPolicyTarget? target; + + /// The timestamp when the resource was updated. + /// + /// Output only. + core.String? updateTime; + + AuthzPolicy({ + this.action, + this.createTime, + this.customProvider, + this.description, + this.httpRules, + this.labels, + this.name, + this.target, + this.updateTime, + }); + + AuthzPolicy.fromJson(core.Map json_) + : this( + action: json_['action'] as core.String?, + createTime: json_['createTime'] as core.String?, + customProvider: json_.containsKey('customProvider') + ? AuthzPolicyCustomProvider.fromJson(json_['customProvider'] + as core.Map) + : null, + description: json_['description'] as core.String?, + httpRules: (json_['httpRules'] as core.List?) + ?.map((value) => AuthzPolicyAuthzRule.fromJson( + value as core.Map)) + .toList(), + labels: + (json_['labels'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + name: json_['name'] as core.String?, + target: json_.containsKey('target') + ? AuthzPolicyTarget.fromJson( + json_['target'] as core.Map) + : null, + updateTime: json_['updateTime'] as core.String?, + ); + + core.Map toJson() => { + if (action != null) 'action': action!, + if (createTime != null) 'createTime': createTime!, + if (customProvider != null) 'customProvider': customProvider!, + if (description != null) 'description': description!, + if (httpRules != null) 'httpRules': httpRules!, + if (labels != null) 'labels': labels!, + if (name != null) 'name': name!, + if (target != null) 'target': target!, + if (updateTime != null) 'updateTime': updateTime!, + }; +} + +/// Conditions to match against the incoming request. +class AuthzPolicyAuthzRule { + /// Describes properties of a source of a request. + /// + /// Optional. + AuthzPolicyAuthzRuleFrom? from; - AddAddressGroupItemsRequest({ - this.items, - this.requestId, + /// Describes properties of a target of a request. + /// + /// Optional. + AuthzPolicyAuthzRuleTo? to; + + /// CEL expression that describes the conditions to be satisfied for the + /// action. + /// + /// The result of the CEL expression is ANDed with the from and to. Refer to + /// the CEL language reference for a list of available attributes. + /// + /// Optional. + core.String? when; + + AuthzPolicyAuthzRule({ + this.from, + this.to, + this.when, }); - AddAddressGroupItemsRequest.fromJson(core.Map json_) + AuthzPolicyAuthzRule.fromJson(core.Map json_) : this( - items: (json_['items'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - requestId: json_['requestId'] as core.String?, + from: json_.containsKey('from') + ? AuthzPolicyAuthzRuleFrom.fromJson( + json_['from'] as core.Map) + : null, + to: json_.containsKey('to') + ? AuthzPolicyAuthzRuleTo.fromJson( + json_['to'] as core.Map) + : null, + when: json_['when'] as core.String?, ); core.Map toJson() => { - if (items != null) 'items': items!, - if (requestId != null) 'requestId': requestId!, + if (from != null) 'from': from!, + if (to != null) 'to': to!, + if (when != null) 'when': when!, }; } -/// AddressGroup is a resource that specifies how a collection of IP/DNS used in -/// Firewall Policy. -class AddressGroup { - /// Capacity of the Address Group +/// Describes properties of one or more sources of a request. +class AuthzPolicyAuthzRuleFrom { + /// Describes the negated properties of request sources. /// - /// Required. - core.int? capacity; - - /// The timestamp when the resource was created. + /// Matches requests from sources that do not match the criteria specified in + /// this field. At least one of sources or notSources must be specified. /// - /// Output only. - core.String? createTime; + /// Optional. + core.List? notSources; - /// Free-text description of the resource. + /// Describes the properties of a request's sources. + /// + /// At least one of sources or notSources must be specified. Limited to 1 + /// source. A match occurs when ANY source (in sources or notSources) matches + /// the request. Within a single source, the match follows AND semantics + /// across fields and OR semantics within a single field, i.e. a match occurs + /// when ANY principal matches AND ANY ipBlocks match. /// /// Optional. - core.String? description; + core.List? sources; - /// List of items. + AuthzPolicyAuthzRuleFrom({ + this.notSources, + this.sources, + }); + + AuthzPolicyAuthzRuleFrom.fromJson(core.Map json_) + : this( + notSources: (json_['notSources'] as core.List?) + ?.map((value) => AuthzPolicyAuthzRuleFromRequestSource.fromJson( + value as core.Map)) + .toList(), + sources: (json_['sources'] as core.List?) + ?.map((value) => AuthzPolicyAuthzRuleFromRequestSource.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (notSources != null) 'notSources': notSources!, + if (sources != null) 'sources': sources!, + }; +} + +/// Describes the properties of a single source. +class AuthzPolicyAuthzRuleFromRequestSource { + /// A list of identities derived from the client's certificate. + /// + /// This field will not match on a request unless mutual TLS is enabled for + /// the forwarding rule or Gateway. For Application Load Balancers, each + /// identity is a string whose value is matched against the URI SAN, or DNS + /// SAN, or SPIFFE ID, or the subject field in the client's certificate. For + /// Cloud Service Mesh, each identity is a string whose value is matched + /// against the URI SAN, or DNS SAN, or the subject field in the client's + /// certificate. The match can be exact, prefix, suffix, or a substring match. + /// One of exact, prefix, suffix, or contains must be specified. Limited to 5 + /// principals. /// /// Optional. - core.List? items; + core.List? principals; - /// Set of label tags associated with the AddressGroup resource. + /// A list of resources to match against the resource of the source VM of a + /// request. + /// + /// Limited to 5 resources. /// /// Optional. - core.Map? labels; + core.List? resources; - /// Name of the AddressGroup resource. - /// - /// It matches pattern `projects / * /locations/{location}/addressGroups/`. + AuthzPolicyAuthzRuleFromRequestSource({ + this.principals, + this.resources, + }); + + AuthzPolicyAuthzRuleFromRequestSource.fromJson(core.Map json_) + : this( + principals: (json_['principals'] as core.List?) + ?.map((value) => AuthzPolicyAuthzRuleStringMatch.fromJson( + value as core.Map)) + .toList(), + resources: (json_['resources'] as core.List?) + ?.map((value) => AuthzPolicyAuthzRuleRequestResource.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (principals != null) 'principals': principals!, + if (resources != null) 'resources': resources!, + }; +} + +/// Determines how a HTTP header should be matched. +class AuthzPolicyAuthzRuleHeaderMatch { + /// Specifies the name of the header in the request. /// - /// Required. + /// Optional. core.String? name; - /// List of supported purposes of the Address Group. + /// Specifies how the header match will be performed. /// /// Optional. - core.List? purpose; + AuthzPolicyAuthzRuleStringMatch? value; - /// Server-defined fully-qualified URL for this resource. - /// - /// Output only. - core.String? selfLink; + AuthzPolicyAuthzRuleHeaderMatch({ + this.name, + this.value, + }); - /// The type of the Address Group. - /// - /// Possible values are "IPv4" or "IPV6". + AuthzPolicyAuthzRuleHeaderMatch.fromJson(core.Map json_) + : this( + name: json_['name'] as core.String?, + value: json_.containsKey('value') + ? AuthzPolicyAuthzRuleStringMatch.fromJson( + json_['value'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (name != null) 'name': name!, + if (value != null) 'value': value!, + }; +} + +/// Describes the properties of a client VM resource accessing the internal +/// application load balancers. +class AuthzPolicyAuthzRuleRequestResource { + /// An IAM service account to match against the source service account of the + /// VM sending the request. /// - /// Required. - /// Possible string values are: - /// - "TYPE_UNSPECIFIED" : Default value. - /// - "IPV4" : IP v4 ranges. - /// - "IPV6" : IP v6 ranges. - core.String? type; + /// Optional. + AuthzPolicyAuthzRuleStringMatch? iamServiceAccount; - /// The timestamp when the resource was updated. + /// A list of resource tag value permanent IDs to match against the resource + /// manager tags value associated with the source VM of a request. /// - /// Output only. - core.String? updateTime; + /// Optional. + AuthzPolicyAuthzRuleRequestResourceTagValueIdSet? tagValueIdSet; - AddressGroup({ - this.capacity, - this.createTime, - this.description, - this.items, - this.labels, - this.name, - this.purpose, - this.selfLink, - this.type, - this.updateTime, + AuthzPolicyAuthzRuleRequestResource({ + this.iamServiceAccount, + this.tagValueIdSet, }); - AddressGroup.fromJson(core.Map json_) - : this( - capacity: json_['capacity'] as core.int?, - createTime: json_['createTime'] as core.String?, - description: json_['description'] as core.String?, - items: (json_['items'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - labels: - (json_['labels'] as core.Map?)?.map( - (key, value) => core.MapEntry( - key, - value as core.String, - ), - ), - name: json_['name'] as core.String?, - purpose: (json_['purpose'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - selfLink: json_['selfLink'] as core.String?, - type: json_['type'] as core.String?, - updateTime: json_['updateTime'] as core.String?, + AuthzPolicyAuthzRuleRequestResource.fromJson(core.Map json_) + : this( + iamServiceAccount: json_.containsKey('iamServiceAccount') + ? AuthzPolicyAuthzRuleStringMatch.fromJson( + json_['iamServiceAccount'] + as core.Map) + : null, + tagValueIdSet: json_.containsKey('tagValueIdSet') + ? AuthzPolicyAuthzRuleRequestResourceTagValueIdSet.fromJson( + json_['tagValueIdSet'] as core.Map) + : null, ); core.Map toJson() => { - if (capacity != null) 'capacity': capacity!, - if (createTime != null) 'createTime': createTime!, - if (description != null) 'description': description!, - if (items != null) 'items': items!, - if (labels != null) 'labels': labels!, - if (name != null) 'name': name!, - if (purpose != null) 'purpose': purpose!, - if (selfLink != null) 'selfLink': selfLink!, - if (type != null) 'type': type!, - if (updateTime != null) 'updateTime': updateTime!, + if (iamServiceAccount != null) 'iamServiceAccount': iamServiceAccount!, + if (tagValueIdSet != null) 'tagValueIdSet': tagValueIdSet!, }; } -/// AuthorizationPolicy is a resource that specifies how a server should -/// authorize incoming connections. -/// -/// This resource in itself does not change the configuration unless it's -/// attached to a target https proxy or endpoint config selector resource. -class AuthorizationPolicy { - /// The action to take when a rule match is found. +/// Describes a set of resource tag value permanent IDs to match against the +/// resource manager tags value associated with the source VM of a request. +class AuthzPolicyAuthzRuleRequestResourceTagValueIdSet { + /// A list of resource tag value permanent IDs to match against the resource + /// manager tags value associated with the source VM of a request. /// - /// Possible values are "ALLOW" or "DENY". + /// The match follows AND semantics which means all the ids must match. + /// Limited to 5 matches. /// /// Required. - /// Possible string values are: - /// - "ACTION_UNSPECIFIED" : Default value. - /// - "ALLOW" : Grant access. - /// - "DENY" : Deny access. Deny rules should be avoided unless they are used - /// to provide a default "deny all" fallback. - core.String? action; + core.List? ids; - /// The timestamp when the resource was created. - /// - /// Output only. - core.String? createTime; + AuthzPolicyAuthzRuleRequestResourceTagValueIdSet({ + this.ids, + }); - /// Free-text description of the resource. - /// - /// Optional. - core.String? description; + AuthzPolicyAuthzRuleRequestResourceTagValueIdSet.fromJson(core.Map json_) + : this( + ids: (json_['ids'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); - /// Set of label tags associated with the AuthorizationPolicy resource. - /// - /// Optional. - core.Map? labels; + core.Map toJson() => { + if (ids != null) 'ids': ids!, + }; +} - /// Name of the AuthorizationPolicy resource. +/// Determines how a string value should be matched. +class AuthzPolicyAuthzRuleStringMatch { + /// The input string must have the substring specified here. /// - /// It matches pattern - /// `projects/{project}/locations/{location}/authorizationPolicies/`. + /// Note: empty contains match is not allowed, please use regex instead. + /// Examples: * ``abc`` matches the value ``xyz.abc.def`` + core.String? contains; + + /// The input string must match exactly the string specified here. /// - /// Required. - core.String? name; + /// Examples: * ``abc`` only matches the value ``abc``. + core.String? exact; - /// List of rules to match. + /// If true, indicates the exact/prefix/suffix/contains matching should be + /// case insensitive. /// - /// Note that at least one of the rules must match in order for the action - /// specified in the 'action' field to be taken. A rule is a match if there is - /// a matching source and destination. If left blank, the action specified in - /// the `action` field will be applied on every request. + /// For example, the matcher ``data`` will match both input string ``Data`` + /// and ``data`` if set to true. + core.bool? ignoreCase; + + /// The input string must have the prefix specified here. /// - /// Optional. - core.List? rules; + /// Note: empty prefix is not allowed, please use regex instead. Examples: * + /// ``abc`` matches the value ``abc.xyz`` + core.String? prefix; - /// The timestamp when the resource was updated. + /// The input string must have the suffix specified here. /// - /// Output only. - core.String? updateTime; + /// Note: empty prefix is not allowed, please use regex instead. Examples: * + /// ``abc`` matches the value ``xyz.abc`` + core.String? suffix; - AuthorizationPolicy({ - this.action, - this.createTime, - this.description, - this.labels, - this.name, - this.rules, - this.updateTime, + AuthzPolicyAuthzRuleStringMatch({ + this.contains, + this.exact, + this.ignoreCase, + this.prefix, + this.suffix, }); - AuthorizationPolicy.fromJson(core.Map json_) + AuthzPolicyAuthzRuleStringMatch.fromJson(core.Map json_) : this( - action: json_['action'] as core.String?, - createTime: json_['createTime'] as core.String?, - description: json_['description'] as core.String?, - labels: - (json_['labels'] as core.Map?)?.map( - (key, value) => core.MapEntry( - key, - value as core.String, - ), - ), - name: json_['name'] as core.String?, - rules: (json_['rules'] as core.List?) - ?.map((value) => - Rule.fromJson(value as core.Map)) - .toList(), - updateTime: json_['updateTime'] as core.String?, + contains: json_['contains'] as core.String?, + exact: json_['exact'] as core.String?, + ignoreCase: json_['ignoreCase'] as core.bool?, + prefix: json_['prefix'] as core.String?, + suffix: json_['suffix'] as core.String?, ); core.Map toJson() => { - if (action != null) 'action': action!, - if (createTime != null) 'createTime': createTime!, - if (description != null) 'description': description!, - if (labels != null) 'labels': labels!, - if (name != null) 'name': name!, - if (rules != null) 'rules': rules!, - if (updateTime != null) 'updateTime': updateTime!, + if (contains != null) 'contains': contains!, + if (exact != null) 'exact': exact!, + if (ignoreCase != null) 'ignoreCase': ignoreCase!, + if (prefix != null) 'prefix': prefix!, + if (suffix != null) 'suffix': suffix!, }; } -/// `AuthzPolicy` is a resource that allows to forward traffic to a callout -/// backend designed to scan the traffic for security purposes. -class AuthzPolicy { - /// Can be one of `ALLOW`, `DENY`, `CUSTOM`. - /// - /// When the action is `CUSTOM`, `customProvider` must be specified. When the - /// action is `ALLOW`, only requests matching the policy will be allowed. When - /// the action is `DENY`, only requests matching the policy will be denied. - /// When a request arrives, the policies are evaluated in the following order: - /// 1. If there is a `CUSTOM` policy that matches the request, the `CUSTOM` - /// policy is evaluated using the custom authorization providers and the - /// request is denied if the provider rejects the request. 2. If there are any - /// `DENY` policies that match the request, the request is denied. 3. If there - /// are no `ALLOW` policies for the resource or if any of the `ALLOW` policies - /// match the request, the request is allowed. 4. Else the request is denied - /// by default if none of the configured AuthzPolicies with `ALLOW` action - /// match the request. +/// Describes properties of one or more targets of a request. +class AuthzPolicyAuthzRuleTo { + /// Describes the negated properties of the targets of a request. /// - /// Required. - /// Possible string values are: - /// - "AUTHZ_ACTION_UNSPECIFIED" : Unspecified action. - /// - "ALLOW" : Allow request to pass through to the backend. - /// - "DENY" : Deny the request and return a HTTP 404 to the client. - /// - "CUSTOM" : Delegate the authorization decision to an external - /// authorization engine. - core.String? action; - - /// The timestamp when the resource was created. + /// Matches requests for operations that do not match the criteria specified + /// in this field. At least one of operations or notOperations must be + /// specified. /// - /// Output only. - core.String? createTime; + /// Optional. + core.List? notOperations; - /// Required if the action is `CUSTOM`. + /// Describes properties of one or more targets of a request. /// - /// Allows delegating authorization decisions to Cloud IAP or to Service - /// Extensions. One of `cloudIap` or `authzExtension` must be specified. + /// At least one of operations or notOperations must be specified. Limited to + /// 1 operation. A match occurs when ANY operation (in operations or + /// notOperations) matches. Within an operation, the match follows AND + /// semantics across fields and OR semantics within a field, i.e. a match + /// occurs when ANY path matches AND ANY header matches and ANY method + /// matches. /// /// Optional. - AuthzPolicyCustomProvider? customProvider; + core.List? operations; - /// A human-readable description of the resource. - /// - /// Optional. - core.String? description; + AuthzPolicyAuthzRuleTo({ + this.notOperations, + this.operations, + }); - /// A list of authorization HTTP rules to match against the incoming request. - /// - /// A policy match occurs when at least one HTTP rule matches the request or - /// when no HTTP rules are specified in the policy. At least one HTTP Rule is - /// required for Allow or Deny Action. Limited to 5 rules. + AuthzPolicyAuthzRuleTo.fromJson(core.Map json_) + : this( + notOperations: (json_['notOperations'] as core.List?) + ?.map((value) => AuthzPolicyAuthzRuleToRequestOperation.fromJson( + value as core.Map)) + .toList(), + operations: (json_['operations'] as core.List?) + ?.map((value) => AuthzPolicyAuthzRuleToRequestOperation.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (notOperations != null) 'notOperations': notOperations!, + if (operations != null) 'operations': operations!, + }; +} + +/// Describes properties of one or more targets of a request. +class AuthzPolicyAuthzRuleToRequestOperation { + /// A list of headers to match against in http header. /// /// Optional. - core.List? httpRules; + AuthzPolicyAuthzRuleToRequestOperationHeaderSet? headerSet; - /// Set of labels associated with the `AuthzPolicy` resource. + /// A list of HTTP Hosts to match against. /// - /// The format must comply with \[the following - /// requirements\](/compute/docs/labeling-resources#requirements). + /// The match can be one of exact, prefix, suffix, or contains (substring + /// match). Matches are always case sensitive unless the ignoreCase is set. + /// Limited to 5 matches. /// /// Optional. - core.Map? labels; + core.List? hosts; - /// Identifier. + /// A list of HTTP methods to match against. /// - /// Name of the `AuthzPolicy` resource in the following format: - /// `projects/{project}/locations/{location}/authzPolicies/{authz_policy}`. + /// Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, + /// DELETE, OPTIONS). It only allows exact match and is always case sensitive. /// - /// Required. - core.String? name; + /// Optional. + core.List? methods; - /// Specifies the set of resources to which this policy should be applied to. + /// A list of paths to match against. /// - /// Required. - AuthzPolicyTarget? target; - - /// The timestamp when the resource was updated. + /// The match can be one of exact, prefix, suffix, or contains (substring + /// match). Matches are always case sensitive unless the ignoreCase is set. + /// Limited to 5 matches. Note that this path match includes the query + /// parameters. For gRPC services, this should be a fully-qualified name of + /// the form /package.service/method. /// - /// Output only. - core.String? updateTime; + /// Optional. + core.List? paths; - AuthzPolicy({ - this.action, - this.createTime, - this.customProvider, - this.description, - this.httpRules, - this.labels, - this.name, - this.target, - this.updateTime, + AuthzPolicyAuthzRuleToRequestOperation({ + this.headerSet, + this.hosts, + this.methods, + this.paths, }); - AuthzPolicy.fromJson(core.Map json_) + AuthzPolicyAuthzRuleToRequestOperation.fromJson(core.Map json_) : this( - action: json_['action'] as core.String?, - createTime: json_['createTime'] as core.String?, - customProvider: json_.containsKey('customProvider') - ? AuthzPolicyCustomProvider.fromJson(json_['customProvider'] - as core.Map) + headerSet: json_.containsKey('headerSet') + ? AuthzPolicyAuthzRuleToRequestOperationHeaderSet.fromJson( + json_['headerSet'] as core.Map) : null, - description: json_['description'] as core.String?, - httpRules: (json_['httpRules'] as core.List?) - ?.map((value) => AuthzPolicyAuthzRule.fromJson( + hosts: (json_['hosts'] as core.List?) + ?.map((value) => AuthzPolicyAuthzRuleStringMatch.fromJson( + value as core.Map)) + .toList(), + methods: (json_['methods'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + paths: (json_['paths'] as core.List?) + ?.map((value) => AuthzPolicyAuthzRuleStringMatch.fromJson( value as core.Map)) .toList(), - labels: - (json_['labels'] as core.Map?)?.map( - (key, value) => core.MapEntry( - key, - value as core.String, - ), - ), - name: json_['name'] as core.String?, - target: json_.containsKey('target') - ? AuthzPolicyTarget.fromJson( - json_['target'] as core.Map) - : null, - updateTime: json_['updateTime'] as core.String?, ); core.Map toJson() => { - if (action != null) 'action': action!, - if (createTime != null) 'createTime': createTime!, - if (customProvider != null) 'customProvider': customProvider!, - if (description != null) 'description': description!, - if (httpRules != null) 'httpRules': httpRules!, - if (labels != null) 'labels': labels!, - if (name != null) 'name': name!, - if (target != null) 'target': target!, - if (updateTime != null) 'updateTime': updateTime!, + if (headerSet != null) 'headerSet': headerSet!, + if (hosts != null) 'hosts': hosts!, + if (methods != null) 'methods': methods!, + if (paths != null) 'paths': paths!, }; } -/// Conditions to match against the incoming request. -class AuthzPolicyAuthzRule { - /// Describes properties of a source of a request. +/// Describes a set of HTTP headers to match against. +class AuthzPolicyAuthzRuleToRequestOperationHeaderSet { + /// A list of headers to match against in http header. /// - /// Optional. - AuthzPolicyAuthzRuleFrom? from; + /// The match can be one of exact, prefix, suffix, or contains (substring + /// match). The match follows AND semantics which means all the headers must + /// match. Matches are always case sensitive unless the ignoreCase is set. + /// Limited to 5 matches. + /// + /// Required. + core.List? headers; - /// Describes properties of a target of a request. + AuthzPolicyAuthzRuleToRequestOperationHeaderSet({ + this.headers, + }); + + AuthzPolicyAuthzRuleToRequestOperationHeaderSet.fromJson(core.Map json_) + : this( + headers: (json_['headers'] as core.List?) + ?.map((value) => AuthzPolicyAuthzRuleHeaderMatch.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (headers != null) 'headers': headers!, + }; +} + +/// Allows delegating authorization decisions to Cloud IAP or to Service +/// Extensions. +class AuthzPolicyCustomProvider { + /// Delegate authorization decision to user authored Service Extension. + /// + /// Only one of cloudIap or authzExtension can be specified. /// /// Optional. - AuthzPolicyAuthzRuleTo? to; + AuthzPolicyCustomProviderAuthzExtension? authzExtension; - /// CEL expression that describes the conditions to be satisfied for the - /// action. + /// Delegates authorization decisions to Cloud IAP. /// - /// The result of the CEL expression is ANDed with the from and to. Refer to - /// the CEL language reference for a list of available attributes. + /// Applicable only for managed load balancers. Enabling Cloud IAP at the + /// AuthzPolicy level is not compatible with Cloud IAP settings in the + /// BackendService. Enabling IAP in both places will result in request + /// failure. Ensure that IAP is enabled in either the AuthzPolicy or the + /// BackendService but not in both places. /// /// Optional. - core.String? when; + AuthzPolicyCustomProviderCloudIap? cloudIap; - AuthzPolicyAuthzRule({ - this.from, - this.to, - this.when, + AuthzPolicyCustomProvider({ + this.authzExtension, + this.cloudIap, }); - AuthzPolicyAuthzRule.fromJson(core.Map json_) + AuthzPolicyCustomProvider.fromJson(core.Map json_) : this( - from: json_.containsKey('from') - ? AuthzPolicyAuthzRuleFrom.fromJson( - json_['from'] as core.Map) + authzExtension: json_.containsKey('authzExtension') + ? AuthzPolicyCustomProviderAuthzExtension.fromJson( + json_['authzExtension'] + as core.Map) : null, - to: json_.containsKey('to') - ? AuthzPolicyAuthzRuleTo.fromJson( - json_['to'] as core.Map) + cloudIap: json_.containsKey('cloudIap') + ? AuthzPolicyCustomProviderCloudIap.fromJson( + json_['cloudIap'] as core.Map) : null, - when: json_['when'] as core.String?, ); core.Map toJson() => { - if (from != null) 'from': from!, - if (to != null) 'to': to!, - if (when != null) 'when': when!, + if (authzExtension != null) 'authzExtension': authzExtension!, + if (cloudIap != null) 'cloudIap': cloudIap!, }; } -/// Describes properties of one or more sources of a request. -class AuthzPolicyAuthzRuleFrom { - /// Describes the negated properties of request sources. - /// - /// Matches requests from sources that do not match the criteria specified in - /// this field. At least one of sources or notSources must be specified. - /// - /// Optional. - core.List? notSources; - - /// Describes the properties of a request's sources. +/// Delegate authorization decision to user authored extension. +/// +/// Only one of cloudIap or authzExtension can be specified. +/// +/// Optional. +class AuthzPolicyCustomProviderAuthzExtension { + /// A list of references to authorization extensions that will be invoked for + /// requests matching this policy. /// - /// At least one of sources or notSources must be specified. Limited to 1 - /// source. A match occurs when ANY source (in sources or notSources) matches - /// the request. Within a single source, the match follows AND semantics - /// across fields and OR semantics within a single field, i.e. a match occurs - /// when ANY principal matches AND ANY ipBlocks match. + /// Limited to 1 custom provider. /// - /// Optional. - core.List? sources; + /// Required. + core.List? resources; - AuthzPolicyAuthzRuleFrom({ - this.notSources, - this.sources, + AuthzPolicyCustomProviderAuthzExtension({ + this.resources, }); - AuthzPolicyAuthzRuleFrom.fromJson(core.Map json_) + AuthzPolicyCustomProviderAuthzExtension.fromJson(core.Map json_) : this( - notSources: (json_['notSources'] as core.List?) - ?.map((value) => AuthzPolicyAuthzRuleFromRequestSource.fromJson( - value as core.Map)) - .toList(), - sources: (json_['sources'] as core.List?) - ?.map((value) => AuthzPolicyAuthzRuleFromRequestSource.fromJson( - value as core.Map)) + resources: (json_['resources'] as core.List?) + ?.map((value) => value as core.String) .toList(), ); core.Map toJson() => { - if (notSources != null) 'notSources': notSources!, - if (sources != null) 'sources': sources!, + if (resources != null) 'resources': resources!, }; } -/// Describes the properties of a single source. -class AuthzPolicyAuthzRuleFromRequestSource { - /// A list of identities derived from the client's certificate. +/// Delegates authorization decisions to Cloud IAP. +/// +/// Applicable only for managed load balancers. Enabling Cloud IAP at the +/// AuthzPolicy level is not compatible with Cloud IAP settings in the +/// BackendService. Enabling IAP in both places will result in request failure. +/// Ensure that IAP is enabled in either the AuthzPolicy or the BackendService +/// but not in both places. +/// +/// Optional. +typedef AuthzPolicyCustomProviderCloudIap = $Empty; + +/// Specifies the set of targets to which this policy should be applied to. +class AuthzPolicyTarget { + /// All gateways and forwarding rules referenced by this policy and extensions + /// must share the same load balancing scheme. /// - /// This field will not match on a request unless mutual TLS is enabled for - /// the Forwarding rule or Gateway. Each identity is a string whose value is - /// matched against the URI SAN, or DNS SAN or the subject field in the - /// client's certificate. The match can be exact, prefix, suffix or a - /// substring match. One of exact, prefix, suffix or contains must be - /// specified. Limited to 5 principals. + /// Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more + /// information, refer to + /// [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service). /// - /// Optional. - core.List? principals; + /// Required. + /// Possible string values are: + /// - "LOAD_BALANCING_SCHEME_UNSPECIFIED" : Default value. Do not use. + /// - "INTERNAL_MANAGED" : Signifies that this is used for Regional internal + /// or Cross-region internal Application Load Balancing. + /// - "EXTERNAL_MANAGED" : Signifies that this is used for Global external or + /// Regional external Application Load Balancing. + /// - "INTERNAL_SELF_MANAGED" : Signifies that this is used for Cloud Service + /// Mesh. Meant for use by CSM GKE controller only. + core.String? loadBalancingScheme; - /// A list of resources to match against the resource of the source VM of a - /// request. - /// - /// Limited to 5 resources. + /// A list of references to the Forwarding Rules on which this policy will be + /// applied. /// - /// Optional. - core.List? resources; + /// Required. + core.List? resources; - AuthzPolicyAuthzRuleFromRequestSource({ - this.principals, + AuthzPolicyTarget({ + this.loadBalancingScheme, this.resources, }); - AuthzPolicyAuthzRuleFromRequestSource.fromJson(core.Map json_) + AuthzPolicyTarget.fromJson(core.Map json_) : this( - principals: (json_['principals'] as core.List?) - ?.map((value) => AuthzPolicyAuthzRuleStringMatch.fromJson( - value as core.Map)) - .toList(), + loadBalancingScheme: json_['loadBalancingScheme'] as core.String?, resources: (json_['resources'] as core.List?) - ?.map((value) => AuthzPolicyAuthzRuleRequestResource.fromJson( - value as core.Map)) + ?.map((value) => value as core.String) .toList(), ); core.Map toJson() => { - if (principals != null) 'principals': principals!, + if (loadBalancingScheme != null) + 'loadBalancingScheme': loadBalancingScheme!, if (resources != null) 'resources': resources!, }; } -/// Determines how a HTTP header should be matched. -class AuthzPolicyAuthzRuleHeaderMatch { - /// Specifies the name of the header in the request. - /// - /// Optional. - core.String? name; +/// The request message for Operations.CancelOperation. +typedef CancelOperationRequest = $Empty; - /// Specifies how the header match will be performed. +/// Specification of a TLS certificate provider instance. +/// +/// Workloads may have one or more CertificateProvider instances (plugins) and +/// one of them is enabled and configured by specifying this message. Workloads +/// use the values from this message to locate and load the CertificateProvider +/// instance configuration. +class CertificateProviderInstance { + /// Plugin instance name, used to locate and load CertificateProvider instance + /// configuration. /// - /// Optional. - AuthzPolicyAuthzRuleStringMatch? value; + /// Set to "google_cloud_private_spiffe" to use Certificate Authority Service + /// certificate provider instance. + /// + /// Required. + core.String? pluginInstance; - AuthzPolicyAuthzRuleHeaderMatch({ - this.name, - this.value, + CertificateProviderInstance({ + this.pluginInstance, }); - AuthzPolicyAuthzRuleHeaderMatch.fromJson(core.Map json_) + CertificateProviderInstance.fromJson(core.Map json_) : this( - name: json_['name'] as core.String?, - value: json_.containsKey('value') - ? AuthzPolicyAuthzRuleStringMatch.fromJson( - json_['value'] as core.Map) - : null, + pluginInstance: json_['pluginInstance'] as core.String?, ); core.Map toJson() => { - if (name != null) 'name': name!, - if (value != null) 'value': value!, + if (pluginInstance != null) 'pluginInstance': pluginInstance!, }; } -/// Describes the properties of a client VM resource accessing the internal -/// application load balancers. -class AuthzPolicyAuthzRuleRequestResource { - /// An IAM service account to match against the source service account of the - /// VM sending the request. +/// ClientTlsPolicy is a resource that specifies how a client should +/// authenticate connections to backends of a service. +/// +/// This resource itself does not affect configuration unless it is attached to +/// a backend service resource. +class ClientTlsPolicy { + /// Defines a mechanism to provision client identity (public and private keys) + /// for peer to peer authentication. + /// + /// The presence of this dictates mTLS. /// /// Optional. - AuthzPolicyAuthzRuleStringMatch? iamServiceAccount; + GoogleCloudNetworksecurityV1CertificateProvider? clientCertificate; - /// A list of resource tag value permanent IDs to match against the resource - /// manager tags value associated with the source VM of a request. + /// The timestamp when the resource was created. + /// + /// Output only. + core.String? createTime; + + /// Free-text description of the resource. /// /// Optional. - AuthzPolicyAuthzRuleRequestResourceTagValueIdSet? tagValueIdSet; + core.String? description; - AuthzPolicyAuthzRuleRequestResource({ - this.iamServiceAccount, - this.tagValueIdSet, + /// Set of label tags associated with the resource. + /// + /// Optional. + core.Map? labels; + + /// Name of the ClientTlsPolicy resource. + /// + /// It matches the pattern `projects / * + /// /locations/{location}/clientTlsPolicies/{client_tls_policy}` + /// + /// Required. + core.String? name; + + /// Defines the mechanism to obtain the Certificate Authority certificate to + /// validate the server certificate. + /// + /// If empty, client does not validate the server certificate. + /// + /// Optional. + core.List? serverValidationCa; + + /// Server Name Indication string to present to the server during TLS + /// handshake. + /// + /// E.g: "secure.example.com". + /// + /// Optional. + core.String? sni; + + /// The timestamp when the resource was updated. + /// + /// Output only. + core.String? updateTime; + + ClientTlsPolicy({ + this.clientCertificate, + this.createTime, + this.description, + this.labels, + this.name, + this.serverValidationCa, + this.sni, + this.updateTime, }); - AuthzPolicyAuthzRuleRequestResource.fromJson(core.Map json_) + ClientTlsPolicy.fromJson(core.Map json_) : this( - iamServiceAccount: json_.containsKey('iamServiceAccount') - ? AuthzPolicyAuthzRuleStringMatch.fromJson( - json_['iamServiceAccount'] + clientCertificate: json_.containsKey('clientCertificate') + ? GoogleCloudNetworksecurityV1CertificateProvider.fromJson( + json_['clientCertificate'] as core.Map) : null, - tagValueIdSet: json_.containsKey('tagValueIdSet') - ? AuthzPolicyAuthzRuleRequestResourceTagValueIdSet.fromJson( - json_['tagValueIdSet'] as core.Map) - : null, + createTime: json_['createTime'] as core.String?, + description: json_['description'] as core.String?, + labels: + (json_['labels'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + name: json_['name'] as core.String?, + serverValidationCa: (json_['serverValidationCa'] as core.List?) + ?.map((value) => ValidationCA.fromJson( + value as core.Map)) + .toList(), + sni: json_['sni'] as core.String?, + updateTime: json_['updateTime'] as core.String?, ); core.Map toJson() => { - if (iamServiceAccount != null) 'iamServiceAccount': iamServiceAccount!, - if (tagValueIdSet != null) 'tagValueIdSet': tagValueIdSet!, + if (clientCertificate != null) 'clientCertificate': clientCertificate!, + if (createTime != null) 'createTime': createTime!, + if (description != null) 'description': description!, + if (labels != null) 'labels': labels!, + if (name != null) 'name': name!, + if (serverValidationCa != null) + 'serverValidationCa': serverValidationCa!, + if (sni != null) 'sni': sni!, + if (updateTime != null) 'updateTime': updateTime!, }; } -/// Describes a set of resource tag value permanent IDs to match against the -/// resource manager tags value associated with the source VM of a request. -class AuthzPolicyAuthzRuleRequestResourceTagValueIdSet { - /// A list of resource tag value permanent IDs to match against the resource - /// manager tags value associated with the source VM of a request. +/// Request used by the CloneAddressGroupItems method. +class CloneAddressGroupItemsRequest { + /// An optional request ID to identify requests. /// - /// The match follows AND semantics which means all the ids must match. - /// Limited to 5 matches. + /// Specify a unique request ID so that if you must retry your request, the + /// server will know to ignore the request if it has already been completed. + /// The server will guarantee that for at least 60 minutes since the first + /// request. For example, consider a situation where you make an initial + /// request and the request times out. If you make the request again with the + /// same request ID, the server can check if original operation with the same + /// request ID was received, and if so, will ignore the second request. This + /// prevents clients from accidentally creating duplicate commitments. The + /// request ID must be a valid UUID with the exception that zero UUID is not + /// supported (00000000-0000-0000-0000-000000000000). + /// + /// Optional. + core.String? requestId; + + /// Source address group to clone items from. /// /// Required. - core.List? ids; + core.String? sourceAddressGroup; - AuthzPolicyAuthzRuleRequestResourceTagValueIdSet({ - this.ids, + CloneAddressGroupItemsRequest({ + this.requestId, + this.sourceAddressGroup, }); - AuthzPolicyAuthzRuleRequestResourceTagValueIdSet.fromJson(core.Map json_) + CloneAddressGroupItemsRequest.fromJson(core.Map json_) : this( - ids: (json_['ids'] as core.List?) - ?.map((value) => value as core.String) - .toList(), + requestId: json_['requestId'] as core.String?, + sourceAddressGroup: json_['sourceAddressGroup'] as core.String?, ); core.Map toJson() => { - if (ids != null) 'ids': ids!, + if (requestId != null) 'requestId': requestId!, + if (sourceAddressGroup != null) + 'sourceAddressGroup': sourceAddressGroup!, }; } -/// Determines how a string value should be matched. -class AuthzPolicyAuthzRuleStringMatch { - /// The input string must have the substring specified here. - /// - /// Note: empty contains match is not allowed, please use regex instead. - /// Examples: * ``abc`` matches the value ``xyz.abc.def`` - core.String? contains; - - /// The input string must match exactly the string specified here. - /// - /// Examples: * ``abc`` only matches the value ``abc``. - core.String? exact; - - /// If true, indicates the exact/prefix/suffix/contains matching should be - /// case insensitive. - /// - /// For example, the matcher ``data`` will match both input string ``Data`` - /// and ``data`` if set to true. - core.bool? ignoreCase; - - /// The input string must have the prefix specified here. +/// CustomInterceptProfile defines in-band integration behavior (intercept). +/// +/// It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action. +class CustomInterceptProfile { + /// The target InterceptEndpointGroup. /// - /// Note: empty prefix is not allowed, please use regex instead. Examples: * - /// ``abc`` matches the value ``abc.xyz`` - core.String? prefix; - - /// The input string must have the suffix specified here. + /// When a firewall rule with this security profile attached matches a packet, + /// the packet will be intercepted to the location-local target in this group. /// - /// Note: empty prefix is not allowed, please use regex instead. Examples: * - /// ``abc`` matches the value ``xyz.abc`` - core.String? suffix; + /// Required. + core.String? interceptEndpointGroup; - AuthzPolicyAuthzRuleStringMatch({ - this.contains, - this.exact, - this.ignoreCase, - this.prefix, - this.suffix, + CustomInterceptProfile({ + this.interceptEndpointGroup, }); - AuthzPolicyAuthzRuleStringMatch.fromJson(core.Map json_) + CustomInterceptProfile.fromJson(core.Map json_) : this( - contains: json_['contains'] as core.String?, - exact: json_['exact'] as core.String?, - ignoreCase: json_['ignoreCase'] as core.bool?, - prefix: json_['prefix'] as core.String?, - suffix: json_['suffix'] as core.String?, + interceptEndpointGroup: + json_['interceptEndpointGroup'] as core.String?, ); core.Map toJson() => { - if (contains != null) 'contains': contains!, - if (exact != null) 'exact': exact!, - if (ignoreCase != null) 'ignoreCase': ignoreCase!, - if (prefix != null) 'prefix': prefix!, - if (suffix != null) 'suffix': suffix!, + if (interceptEndpointGroup != null) + 'interceptEndpointGroup': interceptEndpointGroup!, }; } -/// Describes properties of one or more targets of a request. -class AuthzPolicyAuthzRuleTo { - /// Describes the negated properties of the targets of a request. - /// - /// Matches requests for operations that do not match the criteria specified - /// in this field. At least one of operations or notOperations must be - /// specified. - /// - /// Optional. - core.List? notOperations; - - /// Describes properties of one or more targets of a request. +/// CustomMirroringProfile defines out-of-band integration behavior (mirroring). +/// +/// It is used by mirroring rules with a MIRROR action. +class CustomMirroringProfile { + /// The target MirroringEndpointGroup. /// - /// At least one of operations or notOperations must be specified. Limited to - /// 1 operation. A match occurs when ANY operation (in operations or - /// notOperations) matches. Within an operation, the match follows AND - /// semantics across fields and OR semantics within a field, i.e. a match - /// occurs when ANY path matches AND ANY header matches and ANY method - /// matches. + /// When a mirroring rule with this security profile attached matches a + /// packet, a replica will be mirrored to the location-local target in this + /// group. /// - /// Optional. - core.List? operations; + /// Required. + core.String? mirroringEndpointGroup; - AuthzPolicyAuthzRuleTo({ - this.notOperations, - this.operations, + CustomMirroringProfile({ + this.mirroringEndpointGroup, }); - AuthzPolicyAuthzRuleTo.fromJson(core.Map json_) + CustomMirroringProfile.fromJson(core.Map json_) : this( - notOperations: (json_['notOperations'] as core.List?) - ?.map((value) => AuthzPolicyAuthzRuleToRequestOperation.fromJson( - value as core.Map)) - .toList(), - operations: (json_['operations'] as core.List?) - ?.map((value) => AuthzPolicyAuthzRuleToRequestOperation.fromJson( - value as core.Map)) - .toList(), + mirroringEndpointGroup: + json_['mirroringEndpointGroup'] as core.String?, ); core.Map toJson() => { - if (notOperations != null) 'notOperations': notOperations!, - if (operations != null) 'operations': operations!, + if (mirroringEndpointGroup != null) + 'mirroringEndpointGroup': mirroringEndpointGroup!, }; } -/// Describes properties of one or more targets of a request. -class AuthzPolicyAuthzRuleToRequestOperation { - /// A list of headers to match against in http header. +/// Specification of traffic destination attributes. +class Destination { + /// List of host names to match. /// - /// Optional. - AuthzPolicyAuthzRuleToRequestOperationHeaderSet? headerSet; + /// Matched against the ":authority" header in http requests. At least one + /// host should match. Each host can be an exact match, or a prefix match + /// (example "mydomain.*") or a suffix match (example "*.myorg.com") or a + /// presence (any) match "*". + /// + /// Required. + core.List? hosts; - /// A list of HTTP Hosts to match against. + /// Match against key:value pair in http header. /// - /// The match can be one of exact, prefix, suffix, or contains (substring - /// match). Matches are always case sensitive unless the ignoreCase is set. - /// Limited to 5 matches. + /// Provides a flexible match based on HTTP headers, for potentially advanced + /// use cases. At least one header should match. Avoid using header matches to + /// make authorization decisions unless there is a strong guarantee that + /// requests arrive through a trusted client or proxy. /// /// Optional. - core.List? hosts; + HttpHeaderMatch? httpHeaderMatch; - /// A list of HTTP methods to match against. + /// A list of HTTP methods to match. /// - /// Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, - /// DELETE, OPTIONS). It only allows exact match and is always case sensitive. + /// At least one method should match. Should not be set for gRPC services. /// /// Optional. core.List? methods; - /// A list of paths to match against. + /// List of destination ports to match. /// - /// The match can be one of exact, prefix, suffix, or contains (substring - /// match). Matches are always case sensitive unless the ignoreCase is set. - /// Limited to 5 matches. Note that this path match includes the query - /// parameters. For gRPC services, this should be a fully-qualified name of - /// the form /package.service/method. + /// At least one port should match. /// - /// Optional. - core.List? paths; + /// Required. + core.List? ports; - AuthzPolicyAuthzRuleToRequestOperation({ - this.headerSet, + Destination({ this.hosts, + this.httpHeaderMatch, this.methods, - this.paths, + this.ports, }); - AuthzPolicyAuthzRuleToRequestOperation.fromJson(core.Map json_) + Destination.fromJson(core.Map json_) : this( - headerSet: json_.containsKey('headerSet') - ? AuthzPolicyAuthzRuleToRequestOperationHeaderSet.fromJson( - json_['headerSet'] as core.Map) - : null, hosts: (json_['hosts'] as core.List?) - ?.map((value) => AuthzPolicyAuthzRuleStringMatch.fromJson( - value as core.Map)) + ?.map((value) => value as core.String) .toList(), + httpHeaderMatch: json_.containsKey('httpHeaderMatch') + ? HttpHeaderMatch.fromJson(json_['httpHeaderMatch'] + as core.Map) + : null, methods: (json_['methods'] as core.List?) ?.map((value) => value as core.String) .toList(), - paths: (json_['paths'] as core.List?) - ?.map((value) => AuthzPolicyAuthzRuleStringMatch.fromJson( - value as core.Map)) + ports: (json_['ports'] as core.List?) + ?.map((value) => value as core.int) .toList(), ); core.Map toJson() => { - if (headerSet != null) 'headerSet': headerSet!, if (hosts != null) 'hosts': hosts!, + if (httpHeaderMatch != null) 'httpHeaderMatch': httpHeaderMatch!, if (methods != null) 'methods': methods!, - if (paths != null) 'paths': paths!, + if (ports != null) 'ports': ports!, }; } -/// Describes a set of HTTP headers to match against. -class AuthzPolicyAuthzRuleToRequestOperationHeaderSet { - /// A list of headers to match against in http header. +/// 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); } +typedef Empty = $Empty; + +/// Represents a textual expression in the Common Expression Language (CEL) +/// syntax. +/// +/// CEL is a C-like expression language. The syntax and semantics of CEL are +/// documented at https://github.com/google/cel-spec. Example (Comparison): +/// title: "Summary size limit" description: "Determines if a summary is less +/// than 100 chars" expression: "document.summary.size() \< 100" Example +/// (Equality): title: "Requestor is owner" description: "Determines if +/// requestor is the document owner" expression: "document.owner == +/// request.auth.claims.email" Example (Logic): title: "Public documents" +/// description: "Determine whether the document should be publicly visible" +/// expression: "document.type != 'private' && document.type != 'internal'" +/// Example (Data Manipulation): title: "Notification string" description: +/// "Create a notification string with a timestamp." expression: "'New message +/// received at ' + string(document.create_time)" The exact variables and +/// functions that may be referenced within an expression are determined by the +/// service that evaluates it. See the service documentation for additional +/// information. +typedef Expr = $Expr; + +/// Message describing Endpoint object +class FirewallEndpoint { + /// List of networks that are associated with this endpoint in the local zone. /// - /// The match can be one of exact, prefix, suffix, or contains (substring - /// match). The match follows AND semantics which means all the headers must - /// match. Matches are always case sensitive unless the ignoreCase is set. - /// Limited to 5 matches. + /// This is a projection of the FirewallEndpointAssociations pointing at this + /// endpoint. A network will only appear in this list after traffic routing is + /// fully configured. Format: projects/{project}/global/networks/{name}. + /// + /// Output only. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) + core.List? associatedNetworks; + + /// List of FirewallEndpointAssociations that are associated to this endpoint. + /// + /// An association will only appear in this list after traffic routing is + /// fully configured. + /// + /// Output only. + core.List? associations; + + /// Project to bill on endpoint uptime usage. /// /// Required. - core.List? headers; + core.String? billingProjectId; - AuthzPolicyAuthzRuleToRequestOperationHeaderSet({ - this.headers, + /// Create time stamp + /// + /// Output only. + core.String? createTime; + + /// Description of the firewall endpoint. + /// + /// Max length 2048 characters. + /// + /// Optional. + core.String? description; + + /// Labels as key value pairs + /// + /// Optional. + core.Map? labels; + + /// Identifier. + /// + /// name of resource + /// + /// Immutable. + core.String? name; + + /// Whether reconciling is in progress, recommended per + /// https://google.aip.dev/128. + /// + /// Output only. + core.bool? reconciling; + + /// Reserved for future use. + /// + /// Output only. + core.bool? satisfiesPzi; + + /// Reserved for future use. + /// + /// Output only. + core.bool? satisfiesPzs; + + /// Current state of the endpoint. + /// + /// Output only. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : Not set. + /// - "CREATING" : Being created. + /// - "ACTIVE" : Processing configuration updates. + /// - "DELETING" : Being deleted. + /// - "INACTIVE" : Down or in an error state. + core.String? state; + + /// Update time stamp + /// + /// Output only. + core.String? updateTime; + + FirewallEndpoint({ + this.associatedNetworks, + this.associations, + this.billingProjectId, + this.createTime, + this.description, + this.labels, + this.name, + this.reconciling, + this.satisfiesPzi, + this.satisfiesPzs, + this.state, + this.updateTime, }); - AuthzPolicyAuthzRuleToRequestOperationHeaderSet.fromJson(core.Map json_) + FirewallEndpoint.fromJson(core.Map json_) : this( - headers: (json_['headers'] as core.List?) - ?.map((value) => AuthzPolicyAuthzRuleHeaderMatch.fromJson( + associatedNetworks: (json_['associatedNetworks'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + associations: (json_['associations'] as core.List?) + ?.map((value) => FirewallEndpointAssociationReference.fromJson( value as core.Map)) .toList(), + billingProjectId: json_['billingProjectId'] as core.String?, + createTime: json_['createTime'] as core.String?, + description: json_['description'] as core.String?, + labels: + (json_['labels'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + name: json_['name'] as core.String?, + reconciling: json_['reconciling'] as core.bool?, + satisfiesPzi: json_['satisfiesPzi'] as core.bool?, + satisfiesPzs: json_['satisfiesPzs'] as core.bool?, + state: json_['state'] as core.String?, + updateTime: json_['updateTime'] as core.String?, ); core.Map toJson() => { - if (headers != null) 'headers': headers!, + if (associatedNetworks != null) + 'associatedNetworks': associatedNetworks!, + if (associations != null) 'associations': associations!, + if (billingProjectId != null) 'billingProjectId': billingProjectId!, + if (createTime != null) 'createTime': createTime!, + if (description != null) 'description': description!, + if (labels != null) 'labels': labels!, + if (name != null) 'name': name!, + if (reconciling != null) 'reconciling': reconciling!, + if (satisfiesPzi != null) 'satisfiesPzi': satisfiesPzi!, + if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, + if (state != null) 'state': state!, + if (updateTime != null) 'updateTime': updateTime!, }; } -/// Allows delegating authorization decisions to Cloud IAP or to Service -/// Extensions. -class AuthzPolicyCustomProvider { - /// Delegate authorization decision to user authored Service Extension. +/// Message describing Association object +class FirewallEndpointAssociation { + /// Create time stamp /// - /// Only one of cloudIap or authzExtension can be specified. + /// Output only. + core.String? createTime; + + /// Whether the association is disabled. + /// + /// True indicates that traffic won't be intercepted /// /// Optional. - AuthzPolicyCustomProviderAuthzExtension? authzExtension; + core.bool? disabled; - /// Delegates authorization decisions to Cloud IAP. + /// The URL of the FirewallEndpoint that is being associated. /// - /// Applicable only for managed load balancers. Enabling Cloud IAP at the - /// AuthzPolicy level is not compatible with Cloud IAP settings in the - /// BackendService. Enabling IAP in both places will result in request - /// failure. Ensure that IAP is enabled in either the AuthzPolicy or the - /// BackendService but not in both places. + /// Required. + core.String? firewallEndpoint; + + /// Labels as key value pairs /// /// Optional. - AuthzPolicyCustomProviderCloudIap? cloudIap; + core.Map? labels; - AuthzPolicyCustomProvider({ - this.authzExtension, - this.cloudIap, - }); + /// Identifier. + /// + /// name of resource + /// + /// Immutable. + core.String? name; - AuthzPolicyCustomProvider.fromJson(core.Map json_) - : this( - authzExtension: json_.containsKey('authzExtension') - ? AuthzPolicyCustomProviderAuthzExtension.fromJson( - json_['authzExtension'] - as core.Map) - : null, - cloudIap: json_.containsKey('cloudIap') - ? AuthzPolicyCustomProviderCloudIap.fromJson( - json_['cloudIap'] as core.Map) - : null, - ); + /// The URL of the network that is being associated. + /// + /// Required. + core.String? network; - core.Map toJson() => { - if (authzExtension != null) 'authzExtension': authzExtension!, - if (cloudIap != null) 'cloudIap': cloudIap!, - }; -} + /// Whether reconciling is in progress, recommended per + /// https://google.aip.dev/128. + /// + /// Output only. + core.bool? reconciling; -/// Delegate authorization decision to user authored extension. -/// -/// Only one of cloudIap or authzExtension can be specified. -/// -/// Optional. -class AuthzPolicyCustomProviderAuthzExtension { - /// A list of references to authorization extensions that will be invoked for - /// requests matching this policy. + /// Current state of the association. /// - /// Limited to 1 custom provider. + /// Output only. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : Not set. + /// - "CREATING" : Being created. + /// - "ACTIVE" : Active and ready for traffic. + /// - "DELETING" : Being deleted. + /// - "INACTIVE" : Down or in an error state. + /// - "ORPHAN" : The project that housed the association has been deleted. + core.String? state; + + /// The URL of the TlsInspectionPolicy that is being associated. /// - /// Required. - core.List? resources; + /// Optional. + core.String? tlsInspectionPolicy; - AuthzPolicyCustomProviderAuthzExtension({ - this.resources, + /// Update time stamp + /// + /// Output only. + core.String? updateTime; + + FirewallEndpointAssociation({ + this.createTime, + this.disabled, + this.firewallEndpoint, + this.labels, + this.name, + this.network, + this.reconciling, + this.state, + this.tlsInspectionPolicy, + this.updateTime, }); - AuthzPolicyCustomProviderAuthzExtension.fromJson(core.Map json_) + FirewallEndpointAssociation.fromJson(core.Map json_) : this( - resources: (json_['resources'] as core.List?) - ?.map((value) => value as core.String) - .toList(), + createTime: json_['createTime'] as core.String?, + disabled: json_['disabled'] as core.bool?, + firewallEndpoint: json_['firewallEndpoint'] as core.String?, + labels: + (json_['labels'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + name: json_['name'] as core.String?, + network: json_['network'] as core.String?, + reconciling: json_['reconciling'] as core.bool?, + state: json_['state'] as core.String?, + tlsInspectionPolicy: json_['tlsInspectionPolicy'] as core.String?, + updateTime: json_['updateTime'] as core.String?, ); core.Map toJson() => { - if (resources != null) 'resources': resources!, + if (createTime != null) 'createTime': createTime!, + if (disabled != null) 'disabled': disabled!, + if (firewallEndpoint != null) 'firewallEndpoint': firewallEndpoint!, + if (labels != null) 'labels': labels!, + if (name != null) 'name': name!, + if (network != null) 'network': network!, + if (reconciling != null) 'reconciling': reconciling!, + if (state != null) 'state': state!, + if (tlsInspectionPolicy != null) + 'tlsInspectionPolicy': tlsInspectionPolicy!, + if (updateTime != null) 'updateTime': updateTime!, }; } -/// Delegates authorization decisions to Cloud IAP. -/// -/// Applicable only for managed load balancers. Enabling Cloud IAP at the -/// AuthzPolicy level is not compatible with Cloud IAP settings in the -/// BackendService. Enabling IAP in both places will result in request failure. -/// Ensure that IAP is enabled in either the AuthzPolicy or the BackendService -/// but not in both places. -/// -/// Optional. -typedef AuthzPolicyCustomProviderCloudIap = $Empty; - -/// Specifies the set of targets to which this policy should be applied to. -class AuthzPolicyTarget { - /// All gateways and forwarding rules referenced by this policy and extensions - /// must share the same load balancing scheme. +/// This is a subset of the FirewallEndpointAssociation message, containing +/// fields to be used by the consumer. +class FirewallEndpointAssociationReference { + /// The resource name of the FirewallEndpointAssociation. /// - /// Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more - /// information, refer to - /// [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service). + /// Format: + /// projects/{project}/locations/{location}/firewallEndpointAssociations/{id} /// - /// Required. - /// Possible string values are: - /// - "LOAD_BALANCING_SCHEME_UNSPECIFIED" : Default value. Do not use. - /// - "INTERNAL_MANAGED" : Signifies that this is used for Regional internal - /// or Cross-region internal Application Load Balancing. - /// - "EXTERNAL_MANAGED" : Signifies that this is used for Global external or - /// Regional external Application Load Balancing. - /// - "INTERNAL_SELF_MANAGED" : Signifies that this is used for Cloud Service - /// Mesh. Meant for use by CSM GKE controller only. - core.String? loadBalancingScheme; + /// Output only. + core.String? name; - /// A list of references to the Forwarding Rules on which this policy will be - /// applied. + /// The VPC network associated. /// - /// Required. - core.List? resources; + /// Format: projects/{project}/global/networks/{name}. + /// + /// Output only. + core.String? network; - AuthzPolicyTarget({ - this.loadBalancingScheme, - this.resources, + FirewallEndpointAssociationReference({ + this.name, + this.network, }); - AuthzPolicyTarget.fromJson(core.Map json_) + FirewallEndpointAssociationReference.fromJson(core.Map json_) : this( - loadBalancingScheme: json_['loadBalancingScheme'] as core.String?, - resources: (json_['resources'] as core.List?) - ?.map((value) => value as core.String) - .toList(), + name: json_['name'] as core.String?, + network: json_['network'] as core.String?, ); core.Map toJson() => { - if (loadBalancingScheme != null) - 'loadBalancingScheme': loadBalancingScheme!, - if (resources != null) 'resources': resources!, + if (name != null) 'name': name!, + if (network != null) 'network': network!, }; } -/// The request message for Operations.CancelOperation. -typedef CancelOperationRequest = $Empty; - -/// Specification of a TLS certificate provider instance. -/// -/// Workloads may have one or more CertificateProvider instances (plugins) and -/// one of them is enabled and configured by specifying this message. Workloads -/// use the values from this message to locate and load the CertificateProvider -/// instance configuration. -class CertificateProviderInstance { - /// Plugin instance name, used to locate and load CertificateProvider instance - /// configuration. +/// The GatewaySecurityPolicy resource contains a collection of +/// GatewaySecurityPolicyRules and associated metadata. +class GatewaySecurityPolicy { + /// The timestamp when the resource was created. + /// + /// Output only. + core.String? createTime; + + /// Free-text description of the resource. /// - /// Set to "google_cloud_private_spiffe" to use Certificate Authority Service - /// certificate provider instance. + /// Optional. + core.String? description; + + /// Name of the resource. + /// + /// Name is of the form + /// projects/{project}/locations/{location}/gatewaySecurityPolicies/{gateway_security_policy} + /// gateway_security_policy should match the + /// pattern:(^\[a-z\](\[a-z0-9-\]{0,61}\[a-z0-9\])?$). /// /// Required. - core.String? pluginInstance; + core.String? name; - CertificateProviderInstance({ - this.pluginInstance, + /// Name of a TLS Inspection Policy resource that defines how TLS inspection + /// will be performed for any rule(s) which enables it. + /// + /// Optional. + core.String? tlsInspectionPolicy; + + /// The timestamp when the resource was updated. + /// + /// Output only. + core.String? updateTime; + + GatewaySecurityPolicy({ + this.createTime, + this.description, + this.name, + this.tlsInspectionPolicy, + this.updateTime, }); - CertificateProviderInstance.fromJson(core.Map json_) + GatewaySecurityPolicy.fromJson(core.Map json_) : this( - pluginInstance: json_['pluginInstance'] as core.String?, + createTime: json_['createTime'] as core.String?, + description: json_['description'] as core.String?, + name: json_['name'] as core.String?, + tlsInspectionPolicy: json_['tlsInspectionPolicy'] as core.String?, + updateTime: json_['updateTime'] as core.String?, ); core.Map toJson() => { - if (pluginInstance != null) 'pluginInstance': pluginInstance!, + if (createTime != null) 'createTime': createTime!, + if (description != null) 'description': description!, + if (name != null) 'name': name!, + if (tlsInspectionPolicy != null) + 'tlsInspectionPolicy': tlsInspectionPolicy!, + if (updateTime != null) 'updateTime': updateTime!, }; } -/// ClientTlsPolicy is a resource that specifies how a client should -/// authenticate connections to backends of a service. -/// -/// This resource itself does not affect configuration unless it is attached to -/// a backend service resource. -class ClientTlsPolicy { - /// Defines a mechanism to provision client identity (public and private keys) - /// for peer to peer authentication. - /// - /// The presence of this dictates mTLS. +/// The GatewaySecurityPolicyRule resource is in a nested collection within a +/// GatewaySecurityPolicy and represents a traffic matching condition and +/// associated action to perform. +class GatewaySecurityPolicyRule { + /// CEL expression for matching on L7/application level criteria. /// /// Optional. - GoogleCloudNetworksecurityV1CertificateProvider? clientCertificate; + core.String? applicationMatcher; - /// The timestamp when the resource was created. + /// Profile which tells what the primitive action should be. + /// + /// Required. + /// Possible string values are: + /// - "BASIC_PROFILE_UNSPECIFIED" : If there is not a mentioned action for the + /// target. + /// - "ALLOW" : Allow the matched traffic. + /// - "DENY" : Deny the matched traffic. + core.String? basicProfile; + + /// Time when the rule was created. /// /// Output only. core.String? createTime; @@ -6243,1210 +8073,1103 @@ class ClientTlsPolicy { /// Optional. core.String? description; - /// Set of label tags associated with the resource. + /// Whether the rule is enforced. /// - /// Optional. - core.Map? labels; + /// Required. + core.bool? enabled; - /// Name of the ClientTlsPolicy resource. + /// Name of the resource. /// - /// It matches the pattern `projects / * - /// /locations/{location}/clientTlsPolicies/{client_tls_policy}` + /// ame is the full resource name so + /// projects/{project}/locations/{location}/gatewaySecurityPolicies/{gateway_security_policy}/rules/{rule} + /// rule should match the pattern: (^\[a-z\](\[a-z0-9-\]{0,61}\[a-z0-9\])?$). /// - /// Required. + /// Required. Immutable. core.String? name; - /// Defines the mechanism to obtain the Certificate Authority certificate to - /// validate the server certificate. + /// Priority of the rule. /// - /// If empty, client does not validate the server certificate. + /// Lower number corresponds to higher precedence. /// - /// Optional. - core.List? serverValidationCa; + /// Required. + core.int? priority; - /// Server Name Indication string to present to the server during TLS - /// handshake. + /// CEL expression for matching on session criteria. /// - /// E.g: "secure.example.com". + /// Required. + core.String? sessionMatcher; + + /// Flag to enable TLS inspection of traffic matching on , can only be true if + /// the parent GatewaySecurityPolicy references a TLSInspectionConfig. /// /// Optional. - core.String? sni; + core.bool? tlsInspectionEnabled; - /// The timestamp when the resource was updated. + /// Time when the rule was updated. /// /// Output only. core.String? updateTime; - ClientTlsPolicy({ - this.clientCertificate, + GatewaySecurityPolicyRule({ + this.applicationMatcher, + this.basicProfile, this.createTime, this.description, - this.labels, + this.enabled, this.name, - this.serverValidationCa, - this.sni, + this.priority, + this.sessionMatcher, + this.tlsInspectionEnabled, this.updateTime, }); - ClientTlsPolicy.fromJson(core.Map json_) + GatewaySecurityPolicyRule.fromJson(core.Map json_) : this( - clientCertificate: json_.containsKey('clientCertificate') - ? GoogleCloudNetworksecurityV1CertificateProvider.fromJson( - json_['clientCertificate'] - as core.Map) - : null, + applicationMatcher: json_['applicationMatcher'] as core.String?, + basicProfile: json_['basicProfile'] as core.String?, createTime: json_['createTime'] as core.String?, description: json_['description'] as core.String?, - labels: - (json_['labels'] as core.Map?)?.map( - (key, value) => core.MapEntry( - key, - value as core.String, - ), - ), + enabled: json_['enabled'] as core.bool?, name: json_['name'] as core.String?, - serverValidationCa: (json_['serverValidationCa'] as core.List?) - ?.map((value) => ValidationCA.fromJson( - value as core.Map)) - .toList(), - sni: json_['sni'] as core.String?, + priority: json_['priority'] as core.int?, + sessionMatcher: json_['sessionMatcher'] as core.String?, + tlsInspectionEnabled: json_['tlsInspectionEnabled'] as core.bool?, updateTime: json_['updateTime'] as core.String?, ); core.Map toJson() => { - if (clientCertificate != null) 'clientCertificate': clientCertificate!, + if (applicationMatcher != null) + 'applicationMatcher': applicationMatcher!, + if (basicProfile != null) 'basicProfile': basicProfile!, if (createTime != null) 'createTime': createTime!, if (description != null) 'description': description!, - if (labels != null) 'labels': labels!, + if (enabled != null) 'enabled': enabled!, if (name != null) 'name': name!, - if (serverValidationCa != null) - 'serverValidationCa': serverValidationCa!, - if (sni != null) 'sni': sni!, + if (priority != null) 'priority': priority!, + if (sessionMatcher != null) 'sessionMatcher': sessionMatcher!, + if (tlsInspectionEnabled != null) + 'tlsInspectionEnabled': tlsInspectionEnabled!, if (updateTime != null) 'updateTime': updateTime!, }; } -/// Request used by the CloneAddressGroupItems method. -class CloneAddressGroupItemsRequest { - /// An optional request ID to identify requests. - /// - /// Specify a unique request ID so that if you must retry your request, the - /// server will know to ignore the request if it has already been completed. - /// The server will guarantee that for at least 60 minutes since the first - /// request. For example, consider a situation where you make an initial - /// request and the request times out. If you make the request again with the - /// same request ID, the server can check if original operation with the same - /// request ID was received, and if so, will ignore the second request. This - /// prevents clients from accidentally creating duplicate commitments. The - /// request ID must be a valid UUID with the exception that zero UUID is not - /// supported (00000000-0000-0000-0000-000000000000). - /// - /// Optional. - core.String? requestId; +/// Specification of certificate provider. +/// +/// Defines the mechanism to obtain the certificate and private key for peer to +/// peer authentication. +class GoogleCloudNetworksecurityV1CertificateProvider { + /// The certificate provider instance specification that will be passed to the + /// data plane, which will be used to load necessary credential information. + CertificateProviderInstance? certificateProviderInstance; - /// Source address group to clone items from. + /// gRPC specific configuration to access the gRPC server to obtain the cert + /// and private key. + GoogleCloudNetworksecurityV1GrpcEndpoint? grpcEndpoint; + + GoogleCloudNetworksecurityV1CertificateProvider({ + this.certificateProviderInstance, + this.grpcEndpoint, + }); + + GoogleCloudNetworksecurityV1CertificateProvider.fromJson(core.Map json_) + : this( + certificateProviderInstance: + json_.containsKey('certificateProviderInstance') + ? CertificateProviderInstance.fromJson( + json_['certificateProviderInstance'] + as core.Map) + : null, + grpcEndpoint: json_.containsKey('grpcEndpoint') + ? GoogleCloudNetworksecurityV1GrpcEndpoint.fromJson( + json_['grpcEndpoint'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (certificateProviderInstance != null) + 'certificateProviderInstance': certificateProviderInstance!, + if (grpcEndpoint != null) 'grpcEndpoint': grpcEndpoint!, + }; +} + +/// Specification of the GRPC Endpoint. +class GoogleCloudNetworksecurityV1GrpcEndpoint { + /// The target URI of the gRPC endpoint. + /// + /// Only UDS path is supported, and should start with "unix:". /// /// Required. - core.String? sourceAddressGroup; + core.String? targetUri; - CloneAddressGroupItemsRequest({ - this.requestId, - this.sourceAddressGroup, + GoogleCloudNetworksecurityV1GrpcEndpoint({ + this.targetUri, }); - CloneAddressGroupItemsRequest.fromJson(core.Map json_) + GoogleCloudNetworksecurityV1GrpcEndpoint.fromJson(core.Map json_) : this( - requestId: json_['requestId'] as core.String?, - sourceAddressGroup: json_['sourceAddressGroup'] as core.String?, + targetUri: json_['targetUri'] as core.String?, ); core.Map toJson() => { - if (requestId != null) 'requestId': requestId!, - if (sourceAddressGroup != null) - 'sourceAddressGroup': sourceAddressGroup!, + if (targetUri != null) 'targetUri': targetUri!, }; } -/// CustomInterceptProfile defines the Packet Intercept Endpoint Group used to -/// intercept traffic to a third-party firewall in a Firewall rule. -class CustomInterceptProfile { - /// The InterceptEndpointGroup to which traffic associated with the SP should - /// be mirrored. +/// Specifies the audit configuration for a service. +/// +/// The configuration determines which permission types are logged, and what +/// identities, if any, are exempted from logging. An AuditConfig must have one +/// or more AuditLogConfigs. If there are AuditConfigs for both `allServices` +/// and a specific service, the union of the two AuditConfigs is used for that +/// service: the log_types specified in each AuditConfig are enabled, and the +/// exempted_members in each AuditLogConfig are exempted. Example Policy with +/// multiple AuditConfigs: { "audit_configs": \[ { "service": "allServices", +/// "audit_log_configs": \[ { "log_type": "DATA_READ", "exempted_members": \[ +/// "user:jose@example.com" \] }, { "log_type": "DATA_WRITE" }, { "log_type": +/// "ADMIN_READ" } \] }, { "service": "sampleservice.googleapis.com", +/// "audit_log_configs": \[ { "log_type": "DATA_READ" }, { "log_type": +/// "DATA_WRITE", "exempted_members": \[ "user:aliya@example.com" \] } \] } \] } +/// For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ +/// logging. It also exempts `jose@example.com` from DATA_READ logging, and +/// `aliya@example.com` from DATA_WRITE logging. +class GoogleIamV1AuditConfig { + /// The configuration for logging of each type of permission. + core.List? auditLogConfigs; + + /// Specifies a service that will be enabled for audit logging. /// - /// Required. - core.String? interceptEndpointGroup; + /// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. + /// `allServices` is a special value that covers all services. + core.String? service; - CustomInterceptProfile({ - this.interceptEndpointGroup, + GoogleIamV1AuditConfig({ + this.auditLogConfigs, + this.service, }); - CustomInterceptProfile.fromJson(core.Map json_) + GoogleIamV1AuditConfig.fromJson(core.Map json_) : this( - interceptEndpointGroup: - json_['interceptEndpointGroup'] as core.String?, + auditLogConfigs: (json_['auditLogConfigs'] as core.List?) + ?.map((value) => GoogleIamV1AuditLogConfig.fromJson( + value as core.Map)) + .toList(), + service: json_['service'] as core.String?, ); core.Map toJson() => { - if (interceptEndpointGroup != null) - 'interceptEndpointGroup': interceptEndpointGroup!, + if (auditLogConfigs != null) 'auditLogConfigs': auditLogConfigs!, + if (service != null) 'service': service!, }; } -/// CustomMirroringProfile defines an action for mirroring traffic to a -/// collector's EndpointGroup -class CustomMirroringProfile { - /// The MirroringEndpointGroup to which traffic associated with the SP should - /// be mirrored. +/// Provides the configuration for logging a type of permissions. +/// +/// Example: { "audit_log_configs": \[ { "log_type": "DATA_READ", +/// "exempted_members": \[ "user:jose@example.com" \] }, { "log_type": +/// "DATA_WRITE" } \] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while +/// exempting jose@example.com from DATA_READ logging. +typedef GoogleIamV1AuditLogConfig = $AuditLogConfig; + +/// Associates `members`, or principals, with a `role`. +class GoogleIamV1Binding { + /// The condition that is associated with this binding. /// - /// Required. - core.String? mirroringEndpointGroup; + /// If the condition evaluates to `true`, then this binding applies to the + /// current request. If the condition evaluates to `false`, then this binding + /// does not apply to the current request. However, a different role binding + /// might grant the same role to one or more of the principals in this + /// binding. To learn which resources support conditions in their IAM + /// policies, see the + /// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Expr? condition; - CustomMirroringProfile({ - this.mirroringEndpointGroup, + /// Specifies the principals requesting access for a Google Cloud resource. + /// + /// `members` can have the following values: * `allUsers`: A special + /// identifier that represents anyone who is on the internet; with or without + /// a Google account. * `allAuthenticatedUsers`: A special identifier that + /// represents anyone who is authenticated with a Google account or a service + /// account. Does not include identities that come from external identity + /// providers (IdPs) through identity federation. * `user:{emailid}`: An email + /// address that represents a specific Google account. For example, + /// `alice@example.com` . * `serviceAccount:{emailid}`: An email address that + /// represents a Google service account. For example, + /// `my-other-app@appspot.gserviceaccount.com`. * + /// `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An + /// identifier for a + /// [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + /// For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * + /// `group:{emailid}`: An email address that represents a Google group. For + /// example, `admins@example.com`. * `domain:{domain}`: The G Suite domain + /// (primary) that represents all the users of that domain. For example, + /// `google.com` or `example.com`. * + /// `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: + /// A single identity in a workforce identity pool. * + /// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: + /// All workforce identities in a group. * + /// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: + /// All workforce identities with a specific attribute value. * + /// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id} + /// / * `: All identities in a workforce identity pool. * + /// `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: + /// A single identity in a workload identity pool. * + /// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: + /// A workload identity pool group. * + /// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: + /// All identities in a workload identity pool with a certain attribute. * + /// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id} + /// / * `: All identities in a workload identity pool. * + /// `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique + /// identifier) representing a user that has been recently deleted. For + /// example, `alice@example.com?uid=123456789012345678901`. If the user is + /// recovered, this value reverts to `user:{emailid}` and the recovered user + /// retains the role in the binding. * + /// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus + /// unique identifier) representing a service account that has been recently + /// deleted. For example, + /// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If + /// the service account is undeleted, this value reverts to + /// `serviceAccount:{emailid}` and the undeleted service account retains the + /// role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email + /// address (plus unique identifier) representing a Google group that has been + /// recently deleted. For example, + /// `admins@example.com?uid=123456789012345678901`. If the group is recovered, + /// this value reverts to `group:{emailid}` and the recovered group retains + /// the role in the binding. * + /// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: + /// Deleted single identity in a workforce identity pool. For example, + /// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. + core.List? members; + + /// Role that is assigned to the list of `members`, or principals. + /// + /// For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an + /// overview of the IAM roles and permissions, see the + /// [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For + /// a list of the available pre-defined roles, see + /// [here](https://cloud.google.com/iam/docs/understanding-roles). + core.String? role; + + GoogleIamV1Binding({ + this.condition, + this.members, + this.role, }); - CustomMirroringProfile.fromJson(core.Map json_) + GoogleIamV1Binding.fromJson(core.Map json_) : this( - mirroringEndpointGroup: - json_['mirroringEndpointGroup'] as core.String?, + condition: json_.containsKey('condition') + ? Expr.fromJson( + json_['condition'] as core.Map) + : null, + members: (json_['members'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + role: json_['role'] as core.String?, ); core.Map toJson() => { - if (mirroringEndpointGroup != null) - 'mirroringEndpointGroup': mirroringEndpointGroup!, + if (condition != null) 'condition': condition!, + if (members != null) 'members': members!, + if (role != null) 'role': role!, }; } -/// Specification of traffic destination attributes. -class Destination { - /// List of host names to match. +/// An Identity and Access Management (IAM) policy, which specifies access +/// controls for Google Cloud resources. +/// +/// A `Policy` is a collection of `bindings`. A `binding` binds one or more +/// `members`, or principals, to a single `role`. Principals can be user +/// accounts, service accounts, Google groups, and domains (such as G Suite). A +/// `role` is a named list of permissions; each `role` can be an IAM predefined +/// role or a user-created custom role. For some types of Google Cloud +/// resources, a `binding` can also specify a `condition`, which is a logical +/// expression that allows access to a resource only if the expression evaluates +/// to `true`. A condition can add constraints based on attributes of the +/// request, the resource, or both. To learn which resources support conditions +/// in their IAM policies, see the +/// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). +/// **JSON example:** ``` { "bindings": [ { "role": +/// "roles/resourcemanager.organizationAdmin", "members": [ +/// "user:mike@example.com", "group:admins@example.com", "domain:google.com", +/// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": +/// "roles/resourcemanager.organizationViewer", "members": [ +/// "user:eve@example.com" ], "condition": { "title": "expirable access", +/// "description": "Does not grant access after Sep 2020", "expression": +/// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": +/// "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - +/// members: - user:mike@example.com - group:admins@example.com - +/// domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com +/// role: roles/resourcemanager.organizationAdmin - members: - +/// user:eve@example.com role: roles/resourcemanager.organizationViewer +/// condition: title: expirable access description: Does not grant access after +/// Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') +/// etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, +/// see the [IAM documentation](https://cloud.google.com/iam/docs/). +class GoogleIamV1Policy { + /// Specifies cloud audit logging configuration for this policy. + core.List? auditConfigs; + + /// Associates a list of `members`, or principals, with a `role`. /// - /// Matched against the ":authority" header in http requests. At least one - /// host should match. Each host can be an exact match, or a prefix match - /// (example "mydomain.*") or a suffix match (example "*.myorg.com") or a - /// presence (any) match "*". + /// Optionally, may specify a `condition` that determines how and when the + /// `bindings` are applied. Each of the `bindings` must contain at least one + /// principal. The `bindings` in a `Policy` can refer to up to 1,500 + /// principals; up to 250 of these principals can be Google groups. Each + /// occurrence of a principal counts towards these limits. For example, if the + /// `bindings` grant 50 different roles to `user:alice@example.com`, and not + /// to any other principal, then you can add another 1,450 principals to the + /// `bindings` in the `Policy`. + core.List? bindings; + + /// `etag` is used for optimistic concurrency control as a way to help prevent + /// simultaneous updates of a policy from overwriting each other. /// - /// Required. - core.List? hosts; + /// It is strongly suggested that systems make use of the `etag` in the + /// read-modify-write cycle to perform policy updates in order to avoid race + /// conditions: An `etag` is returned in the response to `getIamPolicy`, and + /// systems are expected to put that etag in the request to `setIamPolicy` to + /// ensure that their change will be applied to the same version of the + /// policy. **Important:** If you use IAM Conditions, you must include the + /// `etag` field whenever you call `setIamPolicy`. If you omit this field, + /// then IAM allows you to overwrite a version `3` policy with a version `1` + /// policy, and all of the conditions in the version `3` policy are lost. + core.String? etag; + core.List get etagAsBytes => convert.base64.decode(etag!); + + set etagAsBytes(core.List bytes_) { + etag = + convert.base64.encode(bytes_).replaceAll('/', '_').replaceAll('+', '-'); + } + + /// Specifies the format of the policy. + /// + /// Valid values are `0`, `1`, and `3`. Requests that specify an invalid value + /// are rejected. Any operation that affects conditional role bindings must + /// specify version `3`. This requirement applies to the following operations: + /// * Getting a policy that includes a conditional role binding * Adding a + /// conditional role binding to a policy * Changing a conditional role binding + /// in a policy * Removing any role binding, with or without a condition, from + /// a policy that includes conditions **Important:** If you use IAM + /// Conditions, you must include the `etag` field whenever you call + /// `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a + /// version `3` policy with a version `1` policy, and all of the conditions in + /// the version `3` policy are lost. If a policy does not include any + /// conditions, operations on that policy may specify any valid version or + /// leave the field unset. To learn which resources support conditions in + /// their IAM policies, see the + /// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + core.int? version; + + GoogleIamV1Policy({ + this.auditConfigs, + this.bindings, + this.etag, + this.version, + }); + + GoogleIamV1Policy.fromJson(core.Map json_) + : this( + auditConfigs: (json_['auditConfigs'] as core.List?) + ?.map((value) => GoogleIamV1AuditConfig.fromJson( + value as core.Map)) + .toList(), + bindings: (json_['bindings'] as core.List?) + ?.map((value) => GoogleIamV1Binding.fromJson( + value as core.Map)) + .toList(), + etag: json_['etag'] as core.String?, + version: json_['version'] as core.int?, + ); - /// Match against key:value pair in http header. - /// - /// Provides a flexible match based on HTTP headers, for potentially advanced - /// use cases. At least one header should match. Avoid using header matches to - /// make authorization decisions unless there is a strong guarantee that - /// requests arrive through a trusted client or proxy. - /// - /// Optional. - HttpHeaderMatch? httpHeaderMatch; + core.Map toJson() => { + if (auditConfigs != null) 'auditConfigs': auditConfigs!, + if (bindings != null) 'bindings': bindings!, + if (etag != null) 'etag': etag!, + if (version != null) 'version': version!, + }; +} - /// A list of HTTP methods to match. - /// - /// At least one method should match. Should not be set for gRPC services. +/// Request message for `SetIamPolicy` method. +class GoogleIamV1SetIamPolicyRequest { + /// REQUIRED: The complete policy to be applied to the `resource`. /// - /// Optional. - core.List? methods; + /// The size of the policy is limited to a few 10s of KB. An empty policy is a + /// valid policy but certain Google Cloud services (such as Projects) might + /// reject them. + GoogleIamV1Policy? policy; - /// List of destination ports to match. - /// - /// At least one port should match. + /// OPTIONAL: A FieldMask specifying which fields of the policy to modify. /// - /// Required. - core.List? ports; + /// Only the fields in the mask will be modified. If no mask is provided, the + /// following default mask is used: `paths: "bindings, etag"` + core.String? updateMask; - Destination({ - this.hosts, - this.httpHeaderMatch, - this.methods, - this.ports, + GoogleIamV1SetIamPolicyRequest({ + this.policy, + this.updateMask, }); - Destination.fromJson(core.Map json_) + GoogleIamV1SetIamPolicyRequest.fromJson(core.Map json_) : this( - hosts: (json_['hosts'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - httpHeaderMatch: json_.containsKey('httpHeaderMatch') - ? HttpHeaderMatch.fromJson(json_['httpHeaderMatch'] - as core.Map) + policy: json_.containsKey('policy') + ? GoogleIamV1Policy.fromJson( + json_['policy'] as core.Map) : null, - methods: (json_['methods'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - ports: (json_['ports'] as core.List?) - ?.map((value) => value as core.int) - .toList(), + updateMask: json_['updateMask'] as core.String?, ); core.Map toJson() => { - if (hosts != null) 'hosts': hosts!, - if (httpHeaderMatch != null) 'httpHeaderMatch': httpHeaderMatch!, - if (methods != null) 'methods': methods!, - if (ports != null) 'ports': ports!, + if (policy != null) 'policy': policy!, + if (updateMask != null) 'updateMask': updateMask!, }; } -/// 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); } -typedef Empty = $Empty; - -/// Represents a textual expression in the Common Expression Language (CEL) -/// syntax. -/// -/// CEL is a C-like expression language. The syntax and semantics of CEL are -/// documented at https://github.com/google/cel-spec. Example (Comparison): -/// title: "Summary size limit" description: "Determines if a summary is less -/// than 100 chars" expression: "document.summary.size() \< 100" Example -/// (Equality): title: "Requestor is owner" description: "Determines if -/// requestor is the document owner" expression: "document.owner == -/// request.auth.claims.email" Example (Logic): title: "Public documents" -/// description: "Determine whether the document should be publicly visible" -/// expression: "document.type != 'private' && document.type != 'internal'" -/// Example (Data Manipulation): title: "Notification string" description: -/// "Create a notification string with a timestamp." expression: "'New message -/// received at ' + string(document.create_time)" The exact variables and -/// functions that may be referenced within an expression are determined by the -/// service that evaluates it. See the service documentation for additional -/// information. -typedef Expr = $Expr; +/// Request message for `TestIamPermissions` method. +typedef GoogleIamV1TestIamPermissionsRequest = $TestIamPermissionsRequest00; -/// Message describing Endpoint object -class FirewallEndpoint { - /// List of networks that are associated with this endpoint in the local zone. - /// - /// This is a projection of the FirewallEndpointAssociations pointing at this - /// endpoint. A network will only appear in this list after traffic routing is - /// fully configured. Format: projects/{project}/global/networks/{name}. - /// - /// Output only. - @core.Deprecated( - 'Not supported. Member documentation may have more information.', - ) - core.List? associatedNetworks; +/// Response message for `TestIamPermissions` method. +typedef GoogleIamV1TestIamPermissionsResponse = $PermissionsResponse; - /// List of FirewallEndpointAssociations that are associated to this endpoint. - /// - /// An association will only appear in this list after traffic routing is - /// fully configured. +/// Specification of HTTP header match attributes. +class HttpHeaderMatch { + /// The name of the HTTP header to match. /// - /// Output only. - core.List? associations; - - /// Project to bill on endpoint uptime usage. + /// For matching against the HTTP request's authority, use a headerMatch with + /// the header name ":authority". For matching a request's method, use the + /// headerName ":method". /// /// Required. - core.String? billingProjectId; - - /// Create time stamp - /// - /// Output only. - core.String? createTime; + core.String? headerName; - /// Description of the firewall endpoint. + /// The value of the header must match the regular expression specified in + /// regexMatch. /// - /// Max length 2048 characters. + /// For regular expression grammar, please see: + /// en.cppreference.com/w/cpp/regex/ecmascript For matching against a port + /// specified in the HTTP request, use a headerMatch with headerName set to + /// Host and a regular expression that satisfies the RFC2616 Host header's + /// port specifier. /// - /// Optional. - core.String? description; + /// Required. + core.String? regexMatch; - /// Labels as key value pairs - /// - /// Optional. - core.Map? labels; + HttpHeaderMatch({ + this.headerName, + this.regexMatch, + }); - /// Identifier. - /// - /// name of resource - /// - /// Immutable. - core.String? name; + HttpHeaderMatch.fromJson(core.Map json_) + : this( + headerName: json_['headerName'] as core.String?, + regexMatch: json_['regexMatch'] as core.String?, + ); - /// Whether reconciling is in progress, recommended per - /// https://google.aip.dev/128. - /// - /// Output only. - core.bool? reconciling; + core.Map toJson() => { + if (headerName != null) 'headerName': headerName!, + if (regexMatch != null) 'regexMatch': regexMatch!, + }; +} - /// Current state of the endpoint. - /// - /// Output only. - /// Possible string values are: - /// - "STATE_UNSPECIFIED" : Not set. - /// - "CREATING" : Being created. - /// - "ACTIVE" : Processing configuration updates. - /// - "DELETING" : Being deleted. - /// - "INACTIVE" : Down or in an error state. - core.String? state; +/// Response of the ListAddressGroupReferences method. +class ListAddressGroupReferencesResponse { + /// A list of references that matches the specified filter in the request. + core.List? + addressGroupReferences; - /// Update time stamp + /// If there might be more results than those appearing in this response, then + /// `next_page_token` is included. /// - /// Output only. - core.String? updateTime; + /// To get the next set of results, call this method again using the value of + /// `next_page_token` as `page_token`. + core.String? nextPageToken; - FirewallEndpoint({ - this.associatedNetworks, - this.associations, - this.billingProjectId, - this.createTime, - this.description, - this.labels, - this.name, - this.reconciling, - this.state, - this.updateTime, + ListAddressGroupReferencesResponse({ + this.addressGroupReferences, + this.nextPageToken, }); - FirewallEndpoint.fromJson(core.Map json_) + ListAddressGroupReferencesResponse.fromJson(core.Map json_) : this( - associatedNetworks: (json_['associatedNetworks'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - associations: (json_['associations'] as core.List?) - ?.map((value) => FirewallEndpointAssociationReference.fromJson( - value as core.Map)) + addressGroupReferences: (json_['addressGroupReferences'] + as core.List?) + ?.map((value) => + ListAddressGroupReferencesResponseAddressGroupReference + .fromJson(value as core.Map)) .toList(), - billingProjectId: json_['billingProjectId'] as core.String?, - createTime: json_['createTime'] as core.String?, - description: json_['description'] as core.String?, - labels: - (json_['labels'] as core.Map?)?.map( - (key, value) => core.MapEntry( - key, - value as core.String, - ), - ), - name: json_['name'] as core.String?, - reconciling: json_['reconciling'] as core.bool?, - state: json_['state'] as core.String?, - updateTime: json_['updateTime'] as core.String?, + nextPageToken: json_['nextPageToken'] as core.String?, ); - - core.Map toJson() => { - if (associatedNetworks != null) - 'associatedNetworks': associatedNetworks!, - if (associations != null) 'associations': associations!, - if (billingProjectId != null) 'billingProjectId': billingProjectId!, - if (createTime != null) 'createTime': createTime!, - if (description != null) 'description': description!, - if (labels != null) 'labels': labels!, - if (name != null) 'name': name!, - if (reconciling != null) 'reconciling': reconciling!, - if (state != null) 'state': state!, - if (updateTime != null) 'updateTime': updateTime!, + + core.Map toJson() => { + if (addressGroupReferences != null) + 'addressGroupReferences': addressGroupReferences!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, }; } -/// Message describing Association object -class FirewallEndpointAssociation { - /// Create time stamp - /// - /// Output only. - core.String? createTime; - - /// Whether the association is disabled. - /// - /// True indicates that traffic won't be intercepted - /// - /// Optional. - core.bool? disabled; +/// The Reference of AddressGroup. +class ListAddressGroupReferencesResponseAddressGroupReference { + /// FirewallPolicy that is using the Address Group. + core.String? firewallPolicy; - /// The URL of the FirewallEndpoint that is being associated. - /// - /// Required. - core.String? firewallEndpoint; + /// Rule priority of the FirewallPolicy that is using the Address Group. + core.int? rulePriority; - /// Labels as key value pairs - /// - /// Optional. - core.Map? labels; + /// Cloud Armor SecurityPolicy that is using the Address Group. + core.String? securityPolicy; - /// Identifier. - /// - /// name of resource - /// - /// Immutable. - core.String? name; + ListAddressGroupReferencesResponseAddressGroupReference({ + this.firewallPolicy, + this.rulePriority, + this.securityPolicy, + }); - /// The URL of the network that is being associated. - /// - /// Required. - core.String? network; + ListAddressGroupReferencesResponseAddressGroupReference.fromJson( + core.Map json_) + : this( + firewallPolicy: json_['firewallPolicy'] as core.String?, + rulePriority: json_['rulePriority'] as core.int?, + securityPolicy: json_['securityPolicy'] as core.String?, + ); - /// Whether reconciling is in progress, recommended per - /// https://google.aip.dev/128. - /// - /// Output only. - core.bool? reconciling; + core.Map toJson() => { + if (firewallPolicy != null) 'firewallPolicy': firewallPolicy!, + if (rulePriority != null) 'rulePriority': rulePriority!, + if (securityPolicy != null) 'securityPolicy': securityPolicy!, + }; +} - /// Current state of the association. - /// - /// Output only. - /// Possible string values are: - /// - "STATE_UNSPECIFIED" : Not set. - /// - "CREATING" : Being created. - /// - "ACTIVE" : Active and ready for traffic. - /// - "DELETING" : Being deleted. - /// - "INACTIVE" : Down or in an error state. - /// - "ORPHAN" : The project that housed the association has been deleted. - core.String? state; +/// Response returned by the ListAddressGroups method. +class ListAddressGroupsResponse { + /// List of AddressGroups resources. + core.List? addressGroups; - /// The URL of the TlsInspectionPolicy that is being associated. + /// If there might be more results than those appearing in this response, then + /// `next_page_token` is included. /// - /// Optional. - core.String? tlsInspectionPolicy; + /// To get the next set of results, call this method again using the value of + /// `next_page_token` as `page_token`. + core.String? nextPageToken; - /// Update time stamp - /// - /// Output only. - core.String? updateTime; + /// Locations that could not be reached. + core.List? unreachable; - FirewallEndpointAssociation({ - this.createTime, - this.disabled, - this.firewallEndpoint, - this.labels, - this.name, - this.network, - this.reconciling, - this.state, - this.tlsInspectionPolicy, - this.updateTime, + ListAddressGroupsResponse({ + this.addressGroups, + this.nextPageToken, + this.unreachable, }); - FirewallEndpointAssociation.fromJson(core.Map json_) + ListAddressGroupsResponse.fromJson(core.Map json_) : this( - createTime: json_['createTime'] as core.String?, - disabled: json_['disabled'] as core.bool?, - firewallEndpoint: json_['firewallEndpoint'] as core.String?, - labels: - (json_['labels'] as core.Map?)?.map( - (key, value) => core.MapEntry( - key, - value as core.String, - ), - ), - name: json_['name'] as core.String?, - network: json_['network'] as core.String?, - reconciling: json_['reconciling'] as core.bool?, - state: json_['state'] as core.String?, - tlsInspectionPolicy: json_['tlsInspectionPolicy'] as core.String?, - updateTime: json_['updateTime'] as core.String?, + addressGroups: (json_['addressGroups'] as core.List?) + ?.map((value) => AddressGroup.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + unreachable: (json_['unreachable'] as core.List?) + ?.map((value) => value as core.String) + .toList(), ); core.Map toJson() => { - if (createTime != null) 'createTime': createTime!, - if (disabled != null) 'disabled': disabled!, - if (firewallEndpoint != null) 'firewallEndpoint': firewallEndpoint!, - if (labels != null) 'labels': labels!, - if (name != null) 'name': name!, - if (network != null) 'network': network!, - if (reconciling != null) 'reconciling': reconciling!, - if (state != null) 'state': state!, - if (tlsInspectionPolicy != null) - 'tlsInspectionPolicy': tlsInspectionPolicy!, - if (updateTime != null) 'updateTime': updateTime!, + if (addressGroups != null) 'addressGroups': addressGroups!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (unreachable != null) 'unreachable': unreachable!, }; } -/// This is a subset of the FirewallEndpointAssociation message, containing -/// fields to be used by the consumer. -class FirewallEndpointAssociationReference { - /// The resource name of the FirewallEndpointAssociation. - /// - /// Format: - /// projects/{project}/locations/{location}/firewallEndpointAssociations/{id} - /// - /// Output only. - core.String? name; +/// Response returned by the ListAuthorizationPolicies method. +class ListAuthorizationPoliciesResponse { + /// List of AuthorizationPolicies resources. + core.List? authorizationPolicies; - /// The VPC network associated. - /// - /// Format: projects/{project}/global/networks/{name}. + /// If there might be more results than those appearing in this response, then + /// `next_page_token` is included. /// - /// Output only. - core.String? network; + /// To get the next set of results, call this method again using the value of + /// `next_page_token` as `page_token`. + core.String? nextPageToken; - FirewallEndpointAssociationReference({ - this.name, - this.network, + ListAuthorizationPoliciesResponse({ + this.authorizationPolicies, + this.nextPageToken, }); - FirewallEndpointAssociationReference.fromJson(core.Map json_) + ListAuthorizationPoliciesResponse.fromJson(core.Map json_) : this( - name: json_['name'] as core.String?, - network: json_['network'] as core.String?, + authorizationPolicies: (json_['authorizationPolicies'] as core.List?) + ?.map((value) => AuthorizationPolicy.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, ); core.Map toJson() => { - if (name != null) 'name': name!, - if (network != null) 'network': network!, + if (authorizationPolicies != null) + 'authorizationPolicies': authorizationPolicies!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, }; } -/// The GatewaySecurityPolicy resource contains a collection of -/// GatewaySecurityPolicyRules and associated metadata. -class GatewaySecurityPolicy { - /// The timestamp when the resource was created. - /// - /// Output only. - core.String? createTime; +/// Message for response to listing `AuthzPolicy` resources. +class ListAuthzPoliciesResponse { + /// The list of `AuthzPolicy` resources. + core.List? authzPolicies; - /// Free-text description of the resource. - /// - /// Optional. - core.String? description; + /// A token identifying a page of results that the server returns. + core.String? nextPageToken; - /// Name of the resource. - /// - /// Name is of the form - /// projects/{project}/locations/{location}/gatewaySecurityPolicies/{gateway_security_policy} - /// gateway_security_policy should match the - /// pattern:(^\[a-z\](\[a-z0-9-\]{0,61}\[a-z0-9\])?$). - /// - /// Required. - core.String? name; + /// Locations that could not be reached. + core.List? unreachable; - /// Name of a TLS Inspection Policy resource that defines how TLS inspection - /// will be performed for any rule(s) which enables it. - /// - /// Optional. - core.String? tlsInspectionPolicy; + ListAuthzPoliciesResponse({ + this.authzPolicies, + this.nextPageToken, + this.unreachable, + }); + + ListAuthzPoliciesResponse.fromJson(core.Map json_) + : this( + authzPolicies: (json_['authzPolicies'] as core.List?) + ?.map((value) => AuthzPolicy.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + unreachable: (json_['unreachable'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (authzPolicies != null) 'authzPolicies': authzPolicies!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (unreachable != null) 'unreachable': unreachable!, + }; +} + +/// Response returned by the ListClientTlsPolicies method. +class ListClientTlsPoliciesResponse { + /// List of ClientTlsPolicy resources. + core.List? clientTlsPolicies; - /// The timestamp when the resource was updated. + /// If there might be more results than those appearing in this response, then + /// `next_page_token` is included. /// - /// Output only. - core.String? updateTime; + /// To get the next set of results, call this method again using the value of + /// `next_page_token` as `page_token`. + core.String? nextPageToken; - GatewaySecurityPolicy({ - this.createTime, - this.description, - this.name, - this.tlsInspectionPolicy, - this.updateTime, + ListClientTlsPoliciesResponse({ + this.clientTlsPolicies, + this.nextPageToken, }); - GatewaySecurityPolicy.fromJson(core.Map json_) + ListClientTlsPoliciesResponse.fromJson(core.Map json_) : this( - createTime: json_['createTime'] as core.String?, - description: json_['description'] as core.String?, - name: json_['name'] as core.String?, - tlsInspectionPolicy: json_['tlsInspectionPolicy'] as core.String?, - updateTime: json_['updateTime'] as core.String?, + clientTlsPolicies: (json_['clientTlsPolicies'] as core.List?) + ?.map((value) => ClientTlsPolicy.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, ); core.Map toJson() => { - if (createTime != null) 'createTime': createTime!, - if (description != null) 'description': description!, - if (name != null) 'name': name!, - if (tlsInspectionPolicy != null) - 'tlsInspectionPolicy': tlsInspectionPolicy!, - if (updateTime != null) 'updateTime': updateTime!, + if (clientTlsPolicies != null) 'clientTlsPolicies': clientTlsPolicies!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, }; } -/// The GatewaySecurityPolicyRule resource is in a nested collection within a -/// GatewaySecurityPolicy and represents a traffic matching condition and -/// associated action to perform. -class GatewaySecurityPolicyRule { - /// CEL expression for matching on L7/application level criteria. - /// - /// Optional. - core.String? applicationMatcher; - - /// Profile which tells what the primitive action should be. - /// - /// Required. - /// Possible string values are: - /// - "BASIC_PROFILE_UNSPECIFIED" : If there is not a mentioned action for the - /// target. - /// - "ALLOW" : Allow the matched traffic. - /// - "DENY" : Deny the matched traffic. - core.String? basicProfile; +/// Message for response to listing Associations +class ListFirewallEndpointAssociationsResponse { + /// The list of Association + core.List? firewallEndpointAssociations; - /// Time when the rule was created. - /// - /// Output only. - core.String? createTime; + /// A token identifying a page of results the server should return. + core.String? nextPageToken; - /// Free-text description of the resource. - /// - /// Optional. - core.String? description; + /// Locations that could not be reached. + core.List? unreachable; - /// Whether the rule is enforced. - /// - /// Required. - core.bool? enabled; + ListFirewallEndpointAssociationsResponse({ + this.firewallEndpointAssociations, + this.nextPageToken, + this.unreachable, + }); - /// Name of the resource. - /// - /// ame is the full resource name so - /// projects/{project}/locations/{location}/gatewaySecurityPolicies/{gateway_security_policy}/rules/{rule} - /// rule should match the pattern: (^\[a-z\](\[a-z0-9-\]{0,61}\[a-z0-9\])?$). - /// - /// Required. Immutable. - core.String? name; + ListFirewallEndpointAssociationsResponse.fromJson(core.Map json_) + : this( + firewallEndpointAssociations: + (json_['firewallEndpointAssociations'] as core.List?) + ?.map((value) => FirewallEndpointAssociation.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + unreachable: (json_['unreachable'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); - /// Priority of the rule. - /// - /// Lower number corresponds to higher precedence. - /// - /// Required. - core.int? priority; + core.Map toJson() => { + if (firewallEndpointAssociations != null) + 'firewallEndpointAssociations': firewallEndpointAssociations!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (unreachable != null) 'unreachable': unreachable!, + }; +} - /// CEL expression for matching on session criteria. - /// - /// Required. - core.String? sessionMatcher; +/// Message for response to listing Endpoints +class ListFirewallEndpointsResponse { + /// The list of Endpoint + core.List? firewallEndpoints; - /// Flag to enable TLS inspection of traffic matching on , can only be true if - /// the parent GatewaySecurityPolicy references a TLSInspectionConfig. - /// - /// Optional. - core.bool? tlsInspectionEnabled; + /// A token identifying a page of results the server should return. + core.String? nextPageToken; - /// Time when the rule was updated. - /// - /// Output only. - core.String? updateTime; + /// Locations that could not be reached. + core.List? unreachable; - GatewaySecurityPolicyRule({ - this.applicationMatcher, - this.basicProfile, - this.createTime, - this.description, - this.enabled, - this.name, - this.priority, - this.sessionMatcher, - this.tlsInspectionEnabled, - this.updateTime, + ListFirewallEndpointsResponse({ + this.firewallEndpoints, + this.nextPageToken, + this.unreachable, }); - GatewaySecurityPolicyRule.fromJson(core.Map json_) + ListFirewallEndpointsResponse.fromJson(core.Map json_) : this( - applicationMatcher: json_['applicationMatcher'] as core.String?, - basicProfile: json_['basicProfile'] as core.String?, - createTime: json_['createTime'] as core.String?, - description: json_['description'] as core.String?, - enabled: json_['enabled'] as core.bool?, - name: json_['name'] as core.String?, - priority: json_['priority'] as core.int?, - sessionMatcher: json_['sessionMatcher'] as core.String?, - tlsInspectionEnabled: json_['tlsInspectionEnabled'] as core.bool?, - updateTime: json_['updateTime'] as core.String?, + firewallEndpoints: (json_['firewallEndpoints'] as core.List?) + ?.map((value) => FirewallEndpoint.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + unreachable: (json_['unreachable'] as core.List?) + ?.map((value) => value as core.String) + .toList(), ); core.Map toJson() => { - if (applicationMatcher != null) - 'applicationMatcher': applicationMatcher!, - if (basicProfile != null) 'basicProfile': basicProfile!, - if (createTime != null) 'createTime': createTime!, - if (description != null) 'description': description!, - if (enabled != null) 'enabled': enabled!, - if (name != null) 'name': name!, - if (priority != null) 'priority': priority!, - if (sessionMatcher != null) 'sessionMatcher': sessionMatcher!, - if (tlsInspectionEnabled != null) - 'tlsInspectionEnabled': tlsInspectionEnabled!, - if (updateTime != null) 'updateTime': updateTime!, + if (firewallEndpoints != null) 'firewallEndpoints': firewallEndpoints!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (unreachable != null) 'unreachable': unreachable!, }; } -/// Specification of certificate provider. -/// -/// Defines the mechanism to obtain the certificate and private key for peer to -/// peer authentication. -class GoogleCloudNetworksecurityV1CertificateProvider { - /// The certificate provider instance specification that will be passed to the - /// data plane, which will be used to load necessary credential information. - CertificateProviderInstance? certificateProviderInstance; +/// Response returned by the ListGatewaySecurityPolicies method. +class ListGatewaySecurityPoliciesResponse { + /// List of GatewaySecurityPolicies resources. + core.List? gatewaySecurityPolicies; - /// gRPC specific configuration to access the gRPC server to obtain the cert - /// and private key. - GoogleCloudNetworksecurityV1GrpcEndpoint? grpcEndpoint; + /// If there might be more results than those appearing in this response, then + /// 'next_page_token' is included. + /// + /// To get the next set of results, call this method again using the value of + /// 'next_page_token' as 'page_token'. + core.String? nextPageToken; - GoogleCloudNetworksecurityV1CertificateProvider({ - this.certificateProviderInstance, - this.grpcEndpoint, + /// Locations that could not be reached. + core.List? unreachable; + + ListGatewaySecurityPoliciesResponse({ + this.gatewaySecurityPolicies, + this.nextPageToken, + this.unreachable, }); - GoogleCloudNetworksecurityV1CertificateProvider.fromJson(core.Map json_) + ListGatewaySecurityPoliciesResponse.fromJson(core.Map json_) : this( - certificateProviderInstance: - json_.containsKey('certificateProviderInstance') - ? CertificateProviderInstance.fromJson( - json_['certificateProviderInstance'] - as core.Map) - : null, - grpcEndpoint: json_.containsKey('grpcEndpoint') - ? GoogleCloudNetworksecurityV1GrpcEndpoint.fromJson( - json_['grpcEndpoint'] as core.Map) - : null, + gatewaySecurityPolicies: + (json_['gatewaySecurityPolicies'] as core.List?) + ?.map((value) => GatewaySecurityPolicy.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + unreachable: (json_['unreachable'] as core.List?) + ?.map((value) => value as core.String) + .toList(), ); core.Map toJson() => { - if (certificateProviderInstance != null) - 'certificateProviderInstance': certificateProviderInstance!, - if (grpcEndpoint != null) 'grpcEndpoint': grpcEndpoint!, + if (gatewaySecurityPolicies != null) + 'gatewaySecurityPolicies': gatewaySecurityPolicies!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (unreachable != null) 'unreachable': unreachable!, }; } -/// Specification of the GRPC Endpoint. -class GoogleCloudNetworksecurityV1GrpcEndpoint { - /// The target URI of the gRPC endpoint. - /// - /// Only UDS path is supported, and should start with "unix:". +/// Response returned by the ListGatewaySecurityPolicyRules method. +class ListGatewaySecurityPolicyRulesResponse { + /// List of GatewaySecurityPolicyRule resources. + core.List? gatewaySecurityPolicyRules; + + /// If there might be more results than those appearing in this response, then + /// 'next_page_token' is included. /// - /// Required. - core.String? targetUri; + /// To get the next set of results, call this method again using the value of + /// 'next_page_token' as 'page_token'. + core.String? nextPageToken; - GoogleCloudNetworksecurityV1GrpcEndpoint({ - this.targetUri, + /// Locations that could not be reached. + core.List? unreachable; + + ListGatewaySecurityPolicyRulesResponse({ + this.gatewaySecurityPolicyRules, + this.nextPageToken, + this.unreachable, }); - GoogleCloudNetworksecurityV1GrpcEndpoint.fromJson(core.Map json_) + ListGatewaySecurityPolicyRulesResponse.fromJson(core.Map json_) : this( - targetUri: json_['targetUri'] as core.String?, + gatewaySecurityPolicyRules: + (json_['gatewaySecurityPolicyRules'] as core.List?) + ?.map((value) => GatewaySecurityPolicyRule.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + unreachable: (json_['unreachable'] as core.List?) + ?.map((value) => value as core.String) + .toList(), ); core.Map toJson() => { - if (targetUri != null) 'targetUri': targetUri!, + if (gatewaySecurityPolicyRules != null) + 'gatewaySecurityPolicyRules': gatewaySecurityPolicyRules!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (unreachable != null) 'unreachable': unreachable!, }; } -/// Specifies the audit configuration for a service. -/// -/// The configuration determines which permission types are logged, and what -/// identities, if any, are exempted from logging. An AuditConfig must have one -/// or more AuditLogConfigs. If there are AuditConfigs for both `allServices` -/// and a specific service, the union of the two AuditConfigs is used for that -/// service: the log_types specified in each AuditConfig are enabled, and the -/// exempted_members in each AuditLogConfig are exempted. Example Policy with -/// multiple AuditConfigs: { "audit_configs": \[ { "service": "allServices", -/// "audit_log_configs": \[ { "log_type": "DATA_READ", "exempted_members": \[ -/// "user:jose@example.com" \] }, { "log_type": "DATA_WRITE" }, { "log_type": -/// "ADMIN_READ" } \] }, { "service": "sampleservice.googleapis.com", -/// "audit_log_configs": \[ { "log_type": "DATA_READ" }, { "log_type": -/// "DATA_WRITE", "exempted_members": \[ "user:aliya@example.com" \] } \] } \] } -/// For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ -/// logging. It also exempts `jose@example.com` from DATA_READ logging, and -/// `aliya@example.com` from DATA_WRITE logging. -class GoogleIamV1AuditConfig { - /// The configuration for logging of each type of permission. - core.List? auditLogConfigs; +/// The response message for Locations.ListLocations. +class ListLocationsResponse { + /// A list of locations that matches the specified filter in the request. + core.List? locations; - /// Specifies a service that will be enabled for audit logging. - /// - /// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. - /// `allServices` is a special value that covers all services. - core.String? service; + /// The standard List next-page token. + core.String? nextPageToken; - GoogleIamV1AuditConfig({ - this.auditLogConfigs, - this.service, + ListLocationsResponse({ + this.locations, + this.nextPageToken, }); - GoogleIamV1AuditConfig.fromJson(core.Map json_) + ListLocationsResponse.fromJson(core.Map json_) : this( - auditLogConfigs: (json_['auditLogConfigs'] as core.List?) - ?.map((value) => GoogleIamV1AuditLogConfig.fromJson( + locations: (json_['locations'] as core.List?) + ?.map((value) => Location.fromJson( value as core.Map)) .toList(), - service: json_['service'] as core.String?, + nextPageToken: json_['nextPageToken'] as core.String?, ); core.Map toJson() => { - if (auditLogConfigs != null) 'auditLogConfigs': auditLogConfigs!, - if (service != null) 'service': service!, + if (locations != null) 'locations': locations!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, }; } -/// Provides the configuration for logging a type of permissions. -/// -/// Example: { "audit_log_configs": \[ { "log_type": "DATA_READ", -/// "exempted_members": \[ "user:jose@example.com" \] }, { "log_type": -/// "DATA_WRITE" } \] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while -/// exempting jose@example.com from DATA_READ logging. -typedef GoogleIamV1AuditLogConfig = $AuditLogConfig; - -/// Associates `members`, or principals, with a `role`. -class GoogleIamV1Binding { - /// The condition that is associated with this binding. - /// - /// If the condition evaluates to `true`, then this binding applies to the - /// current request. If the condition evaluates to `false`, then this binding - /// does not apply to the current request. However, a different role binding - /// might grant the same role to one or more of the principals in this - /// binding. To learn which resources support conditions in their IAM - /// policies, see the - /// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - Expr? condition; - - /// Specifies the principals requesting access for a Google Cloud resource. - /// - /// `members` can have the following values: * `allUsers`: A special - /// identifier that represents anyone who is on the internet; with or without - /// a Google account. * `allAuthenticatedUsers`: A special identifier that - /// represents anyone who is authenticated with a Google account or a service - /// account. Does not include identities that come from external identity - /// providers (IdPs) through identity federation. * `user:{emailid}`: An email - /// address that represents a specific Google account. For example, - /// `alice@example.com` . * `serviceAccount:{emailid}`: An email address that - /// represents a Google service account. For example, - /// `my-other-app@appspot.gserviceaccount.com`. * - /// `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An - /// identifier for a - /// [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). - /// For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * - /// `group:{emailid}`: An email address that represents a Google group. For - /// example, `admins@example.com`. * `domain:{domain}`: The G Suite domain - /// (primary) that represents all the users of that domain. For example, - /// `google.com` or `example.com`. * - /// `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: - /// A single identity in a workforce identity pool. * - /// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: - /// All workforce identities in a group. * - /// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: - /// All workforce identities with a specific attribute value. * - /// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id} - /// / * `: All identities in a workforce identity pool. * - /// `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: - /// A single identity in a workload identity pool. * - /// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: - /// A workload identity pool group. * - /// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: - /// All identities in a workload identity pool with a certain attribute. * - /// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id} - /// / * `: All identities in a workload identity pool. * - /// `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique - /// identifier) representing a user that has been recently deleted. For - /// example, `alice@example.com?uid=123456789012345678901`. If the user is - /// recovered, this value reverts to `user:{emailid}` and the recovered user - /// retains the role in the binding. * - /// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus - /// unique identifier) representing a service account that has been recently - /// deleted. For example, - /// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If - /// the service account is undeleted, this value reverts to - /// `serviceAccount:{emailid}` and the undeleted service account retains the - /// role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email - /// address (plus unique identifier) representing a Google group that has been - /// recently deleted. For example, - /// `admins@example.com?uid=123456789012345678901`. If the group is recovered, - /// this value reverts to `group:{emailid}` and the recovered group retains - /// the role in the binding. * - /// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: - /// Deleted single identity in a workforce identity pool. For example, - /// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. - core.List? members; +/// Response message for ListMirroringDeploymentGroups. +class ListMirroringDeploymentGroupsResponse { + /// The deployment groups from the specified parent. + core.List? mirroringDeploymentGroups; - /// Role that is assigned to the list of `members`, or principals. + /// A token that can be sent as `page_token` to retrieve the next page. /// - /// For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an - /// overview of the IAM roles and permissions, see the - /// [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For - /// a list of the available pre-defined roles, see - /// [here](https://cloud.google.com/iam/docs/understanding-roles). - core.String? role; + /// If this field is omitted, there are no subsequent pages. See + /// https://google.aip.dev/158 for more details. + core.String? nextPageToken; - GoogleIamV1Binding({ - this.condition, - this.members, - this.role, + ListMirroringDeploymentGroupsResponse({ + this.mirroringDeploymentGroups, + this.nextPageToken, }); - GoogleIamV1Binding.fromJson(core.Map json_) + ListMirroringDeploymentGroupsResponse.fromJson(core.Map json_) : this( - condition: json_.containsKey('condition') - ? Expr.fromJson( - json_['condition'] as core.Map) - : null, - members: (json_['members'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - role: json_['role'] as core.String?, + mirroringDeploymentGroups: + (json_['mirroringDeploymentGroups'] as core.List?) + ?.map((value) => MirroringDeploymentGroup.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, ); core.Map toJson() => { - if (condition != null) 'condition': condition!, - if (members != null) 'members': members!, - if (role != null) 'role': role!, - }; -} - -/// An Identity and Access Management (IAM) policy, which specifies access -/// controls for Google Cloud resources. -/// -/// A `Policy` is a collection of `bindings`. A `binding` binds one or more -/// `members`, or principals, to a single `role`. Principals can be user -/// accounts, service accounts, Google groups, and domains (such as G Suite). A -/// `role` is a named list of permissions; each `role` can be an IAM predefined -/// role or a user-created custom role. For some types of Google Cloud -/// resources, a `binding` can also specify a `condition`, which is a logical -/// expression that allows access to a resource only if the expression evaluates -/// to `true`. A condition can add constraints based on attributes of the -/// request, the resource, or both. To learn which resources support conditions -/// in their IAM policies, see the -/// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). -/// **JSON example:** ``` { "bindings": [ { "role": -/// "roles/resourcemanager.organizationAdmin", "members": [ -/// "user:mike@example.com", "group:admins@example.com", "domain:google.com", -/// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": -/// "roles/resourcemanager.organizationViewer", "members": [ -/// "user:eve@example.com" ], "condition": { "title": "expirable access", -/// "description": "Does not grant access after Sep 2020", "expression": -/// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": -/// "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - -/// members: - user:mike@example.com - group:admins@example.com - -/// domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com -/// role: roles/resourcemanager.organizationAdmin - members: - -/// user:eve@example.com role: roles/resourcemanager.organizationViewer -/// condition: title: expirable access description: Does not grant access after -/// Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') -/// etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, -/// see the [IAM documentation](https://cloud.google.com/iam/docs/). -class GoogleIamV1Policy { - /// Specifies cloud audit logging configuration for this policy. - core.List? auditConfigs; - - /// Associates a list of `members`, or principals, with a `role`. - /// - /// Optionally, may specify a `condition` that determines how and when the - /// `bindings` are applied. Each of the `bindings` must contain at least one - /// principal. The `bindings` in a `Policy` can refer to up to 1,500 - /// principals; up to 250 of these principals can be Google groups. Each - /// occurrence of a principal counts towards these limits. For example, if the - /// `bindings` grant 50 different roles to `user:alice@example.com`, and not - /// to any other principal, then you can add another 1,450 principals to the - /// `bindings` in the `Policy`. - core.List? bindings; - - /// `etag` is used for optimistic concurrency control as a way to help prevent - /// simultaneous updates of a policy from overwriting each other. - /// - /// It is strongly suggested that systems make use of the `etag` in the - /// read-modify-write cycle to perform policy updates in order to avoid race - /// conditions: An `etag` is returned in the response to `getIamPolicy`, and - /// systems are expected to put that etag in the request to `setIamPolicy` to - /// ensure that their change will be applied to the same version of the - /// policy. **Important:** If you use IAM Conditions, you must include the - /// `etag` field whenever you call `setIamPolicy`. If you omit this field, - /// then IAM allows you to overwrite a version `3` policy with a version `1` - /// policy, and all of the conditions in the version `3` policy are lost. - core.String? etag; - core.List get etagAsBytes => convert.base64.decode(etag!); - - set etagAsBytes(core.List bytes_) { - etag = - convert.base64.encode(bytes_).replaceAll('/', '_').replaceAll('+', '-'); - } + if (mirroringDeploymentGroups != null) + 'mirroringDeploymentGroups': mirroringDeploymentGroups!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} - /// Specifies the format of the policy. +/// Response message for ListMirroringDeployments. +class ListMirroringDeploymentsResponse { + /// The deployments from the specified parent. + core.List? mirroringDeployments; + + /// A token that can be sent as `page_token` to retrieve the next page. /// - /// Valid values are `0`, `1`, and `3`. Requests that specify an invalid value - /// are rejected. Any operation that affects conditional role bindings must - /// specify version `3`. This requirement applies to the following operations: - /// * Getting a policy that includes a conditional role binding * Adding a - /// conditional role binding to a policy * Changing a conditional role binding - /// in a policy * Removing any role binding, with or without a condition, from - /// a policy that includes conditions **Important:** If you use IAM - /// Conditions, you must include the `etag` field whenever you call - /// `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a - /// version `3` policy with a version `1` policy, and all of the conditions in - /// the version `3` policy are lost. If a policy does not include any - /// conditions, operations on that policy may specify any valid version or - /// leave the field unset. To learn which resources support conditions in - /// their IAM policies, see the - /// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - core.int? version; + /// If this field is omitted, there are no subsequent pages. See + /// https://google.aip.dev/158 for more details. + core.String? nextPageToken; - GoogleIamV1Policy({ - this.auditConfigs, - this.bindings, - this.etag, - this.version, + /// Locations that could not be reached. + core.List? unreachable; + + ListMirroringDeploymentsResponse({ + this.mirroringDeployments, + this.nextPageToken, + this.unreachable, }); - GoogleIamV1Policy.fromJson(core.Map json_) + ListMirroringDeploymentsResponse.fromJson(core.Map json_) : this( - auditConfigs: (json_['auditConfigs'] as core.List?) - ?.map((value) => GoogleIamV1AuditConfig.fromJson( + mirroringDeployments: (json_['mirroringDeployments'] as core.List?) + ?.map((value) => MirroringDeployment.fromJson( value as core.Map)) .toList(), - bindings: (json_['bindings'] as core.List?) - ?.map((value) => GoogleIamV1Binding.fromJson( - value as core.Map)) + nextPageToken: json_['nextPageToken'] as core.String?, + unreachable: (json_['unreachable'] as core.List?) + ?.map((value) => value as core.String) .toList(), - etag: json_['etag'] as core.String?, - version: json_['version'] as core.int?, ); core.Map toJson() => { - if (auditConfigs != null) 'auditConfigs': auditConfigs!, - if (bindings != null) 'bindings': bindings!, - if (etag != null) 'etag': etag!, - if (version != null) 'version': version!, + if (mirroringDeployments != null) + 'mirroringDeployments': mirroringDeployments!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (unreachable != null) 'unreachable': unreachable!, }; } -/// Request message for `SetIamPolicy` method. -class GoogleIamV1SetIamPolicyRequest { - /// REQUIRED: The complete policy to be applied to the `resource`. - /// - /// The size of the policy is limited to a few 10s of KB. An empty policy is a - /// valid policy but certain Google Cloud services (such as Projects) might - /// reject them. - GoogleIamV1Policy? policy; +/// Response message for ListMirroringEndpointGroupAssociations. +class ListMirroringEndpointGroupAssociationsResponse { + /// The associations from the specified parent. + core.List? + mirroringEndpointGroupAssociations; - /// OPTIONAL: A FieldMask specifying which fields of the policy to modify. + /// A token that can be sent as `page_token` to retrieve the next page. /// - /// Only the fields in the mask will be modified. If no mask is provided, the - /// following default mask is used: `paths: "bindings, etag"` - core.String? updateMask; + /// If this field is omitted, there are no subsequent pages. See + /// https://google.aip.dev/158 for more details. + core.String? nextPageToken; - GoogleIamV1SetIamPolicyRequest({ - this.policy, - this.updateMask, + ListMirroringEndpointGroupAssociationsResponse({ + this.mirroringEndpointGroupAssociations, + this.nextPageToken, }); - GoogleIamV1SetIamPolicyRequest.fromJson(core.Map json_) + ListMirroringEndpointGroupAssociationsResponse.fromJson(core.Map json_) : this( - policy: json_.containsKey('policy') - ? GoogleIamV1Policy.fromJson( - json_['policy'] as core.Map) - : null, - updateMask: json_['updateMask'] as core.String?, + mirroringEndpointGroupAssociations: + (json_['mirroringEndpointGroupAssociations'] as core.List?) + ?.map((value) => MirroringEndpointGroupAssociation.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, ); core.Map toJson() => { - if (policy != null) 'policy': policy!, - if (updateMask != null) 'updateMask': updateMask!, + if (mirroringEndpointGroupAssociations != null) + 'mirroringEndpointGroupAssociations': + mirroringEndpointGroupAssociations!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, }; } -/// Request message for `TestIamPermissions` method. -typedef GoogleIamV1TestIamPermissionsRequest = $TestIamPermissionsRequest00; - -/// Response message for `TestIamPermissions` method. -typedef GoogleIamV1TestIamPermissionsResponse = $PermissionsResponse; - -/// Specification of HTTP header match attributes. -class HttpHeaderMatch { - /// The name of the HTTP header to match. - /// - /// For matching against the HTTP request's authority, use a headerMatch with - /// the header name ":authority". For matching a request's method, use the - /// headerName ":method". - /// - /// Required. - core.String? headerName; +/// Response message for ListMirroringEndpointGroups. +class ListMirroringEndpointGroupsResponse { + /// The endpoint groups from the specified parent. + core.List? mirroringEndpointGroups; - /// The value of the header must match the regular expression specified in - /// regexMatch. - /// - /// For regular expression grammar, please see: - /// en.cppreference.com/w/cpp/regex/ecmascript For matching against a port - /// specified in the HTTP request, use a headerMatch with headerName set to - /// Host and a regular expression that satisfies the RFC2616 Host header's - /// port specifier. + /// A token that can be sent as `page_token` to retrieve the next page. /// - /// Required. - core.String? regexMatch; + /// If this field is omitted, there are no subsequent pages. See + /// https://google.aip.dev/158 for more details. + core.String? nextPageToken; - HttpHeaderMatch({ - this.headerName, - this.regexMatch, + ListMirroringEndpointGroupsResponse({ + this.mirroringEndpointGroups, + this.nextPageToken, }); - HttpHeaderMatch.fromJson(core.Map json_) + ListMirroringEndpointGroupsResponse.fromJson(core.Map json_) : this( - headerName: json_['headerName'] as core.String?, - regexMatch: json_['regexMatch'] as core.String?, + mirroringEndpointGroups: + (json_['mirroringEndpointGroups'] as core.List?) + ?.map((value) => MirroringEndpointGroup.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, ); core.Map toJson() => { - if (headerName != null) 'headerName': headerName!, - if (regexMatch != null) 'regexMatch': regexMatch!, + if (mirroringEndpointGroups != null) + 'mirroringEndpointGroups': mirroringEndpointGroups!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, }; } -/// Response of the ListAddressGroupReferences method. -class ListAddressGroupReferencesResponse { - /// A list of references that matches the specified filter in the request. - core.List? - addressGroupReferences; - - /// If there might be more results than those appearing in this response, then - /// `next_page_token` is included. - /// - /// To get the next set of results, call this method again using the value of - /// `next_page_token` as `page_token`. +/// The response message for Operations.ListOperations. +class ListOperationsResponse { + /// The standard List next-page token. core.String? nextPageToken; - ListAddressGroupReferencesResponse({ - this.addressGroupReferences, + /// A list of operations that matches the specified filter in the request. + core.List? operations; + + ListOperationsResponse({ this.nextPageToken, + this.operations, }); - ListAddressGroupReferencesResponse.fromJson(core.Map json_) + ListOperationsResponse.fromJson(core.Map json_) : this( - addressGroupReferences: (json_['addressGroupReferences'] - as core.List?) - ?.map((value) => - ListAddressGroupReferencesResponseAddressGroupReference - .fromJson(value as core.Map)) - .toList(), nextPageToken: json_['nextPageToken'] as core.String?, + operations: (json_['operations'] as core.List?) + ?.map((value) => Operation.fromJson( + value as core.Map)) + .toList(), ); core.Map toJson() => { - if (addressGroupReferences != null) - 'addressGroupReferences': addressGroupReferences!, if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (operations != null) 'operations': operations!, }; } -/// The Reference of AddressGroup. -class ListAddressGroupReferencesResponseAddressGroupReference { - /// FirewallPolicy that is using the Address Group. - core.String? firewallPolicy; - - /// Rule priority of the FirewallPolicy that is using the Address Group. - core.int? rulePriority; +/// Response returned by the ListSecurityProfileGroups method. +class ListSecurityProfileGroupsResponse { + /// If there might be more results than those appearing in this response, then + /// `next_page_token` is included. + /// + /// To get the next set of results, call this method again using the value of + /// `next_page_token` as `page_token`. + core.String? nextPageToken; - /// Cloud Armor SecurityPolicy that is using the Address Group. - core.String? securityPolicy; + /// List of SecurityProfileGroups resources. + core.List? securityProfileGroups; - ListAddressGroupReferencesResponseAddressGroupReference({ - this.firewallPolicy, - this.rulePriority, - this.securityPolicy, + ListSecurityProfileGroupsResponse({ + this.nextPageToken, + this.securityProfileGroups, }); - ListAddressGroupReferencesResponseAddressGroupReference.fromJson( - core.Map json_) + ListSecurityProfileGroupsResponse.fromJson(core.Map json_) : this( - firewallPolicy: json_['firewallPolicy'] as core.String?, - rulePriority: json_['rulePriority'] as core.int?, - securityPolicy: json_['securityPolicy'] as core.String?, + nextPageToken: json_['nextPageToken'] as core.String?, + securityProfileGroups: (json_['securityProfileGroups'] as core.List?) + ?.map((value) => SecurityProfileGroup.fromJson( + value as core.Map)) + .toList(), ); core.Map toJson() => { - if (firewallPolicy != null) 'firewallPolicy': firewallPolicy!, - if (rulePriority != null) 'rulePriority': rulePriority!, - if (securityPolicy != null) 'securityPolicy': securityPolicy!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (securityProfileGroups != null) + 'securityProfileGroups': securityProfileGroups!, }; } -/// Response returned by the ListAddressGroups method. -class ListAddressGroupsResponse { - /// List of AddressGroups resources. - core.List? addressGroups; - +/// Response returned by the ListSecurityProfiles method. +class ListSecurityProfilesResponse { /// If there might be more results than those appearing in this response, then /// `next_page_token` is included. /// @@ -7454,31 +9177,31 @@ class ListAddressGroupsResponse { /// `next_page_token` as `page_token`. core.String? nextPageToken; - ListAddressGroupsResponse({ - this.addressGroups, + /// List of SecurityProfile resources. + core.List? securityProfiles; + + ListSecurityProfilesResponse({ this.nextPageToken, + this.securityProfiles, }); - ListAddressGroupsResponse.fromJson(core.Map json_) + ListSecurityProfilesResponse.fromJson(core.Map json_) : this( - addressGroups: (json_['addressGroups'] as core.List?) - ?.map((value) => AddressGroup.fromJson( + nextPageToken: json_['nextPageToken'] as core.String?, + securityProfiles: (json_['securityProfiles'] as core.List?) + ?.map((value) => SecurityProfile.fromJson( value as core.Map)) .toList(), - nextPageToken: json_['nextPageToken'] as core.String?, ); core.Map toJson() => { - if (addressGroups != null) 'addressGroups': addressGroups!, if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (securityProfiles != null) 'securityProfiles': securityProfiles!, }; } -/// Response returned by the ListAuthorizationPolicies method. -class ListAuthorizationPoliciesResponse { - /// List of AuthorizationPolicies resources. - core.List? authorizationPolicies; - +/// Response returned by the ListServerTlsPolicies method. +class ListServerTlsPoliciesResponse { /// If there might be more results than those appearing in this response, then /// `next_page_token` is included. /// @@ -7486,68 +9209,72 @@ class ListAuthorizationPoliciesResponse { /// `next_page_token` as `page_token`. core.String? nextPageToken; - ListAuthorizationPoliciesResponse({ - this.authorizationPolicies, + /// List of ServerTlsPolicy resources. + core.List? serverTlsPolicies; + + ListServerTlsPoliciesResponse({ this.nextPageToken, + this.serverTlsPolicies, }); - ListAuthorizationPoliciesResponse.fromJson(core.Map json_) + ListServerTlsPoliciesResponse.fromJson(core.Map json_) : this( - authorizationPolicies: (json_['authorizationPolicies'] as core.List?) - ?.map((value) => AuthorizationPolicy.fromJson( + nextPageToken: json_['nextPageToken'] as core.String?, + serverTlsPolicies: (json_['serverTlsPolicies'] as core.List?) + ?.map((value) => ServerTlsPolicy.fromJson( value as core.Map)) .toList(), - nextPageToken: json_['nextPageToken'] as core.String?, ); core.Map toJson() => { - if (authorizationPolicies != null) - 'authorizationPolicies': authorizationPolicies!, if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (serverTlsPolicies != null) 'serverTlsPolicies': serverTlsPolicies!, }; } -/// Message for response to listing `AuthzPolicy` resources. -class ListAuthzPoliciesResponse { - /// The list of `AuthzPolicy` resources. - core.List? authzPolicies; - - /// A token identifying a page of results that the server returns. +/// Response returned by the ListTlsInspectionPolicies method. +class ListTlsInspectionPoliciesResponse { + /// If there might be more results than those appearing in this response, then + /// 'next_page_token' is included. + /// + /// To get the next set of results, call this method again using the value of + /// 'next_page_token' as 'page_token'. core.String? nextPageToken; + /// List of TlsInspectionPolicies resources. + core.List? tlsInspectionPolicies; + /// Locations that could not be reached. core.List? unreachable; - ListAuthzPoliciesResponse({ - this.authzPolicies, + ListTlsInspectionPoliciesResponse({ this.nextPageToken, + this.tlsInspectionPolicies, this.unreachable, }); - ListAuthzPoliciesResponse.fromJson(core.Map json_) + ListTlsInspectionPoliciesResponse.fromJson(core.Map json_) : this( - authzPolicies: (json_['authzPolicies'] as core.List?) - ?.map((value) => AuthzPolicy.fromJson( + nextPageToken: json_['nextPageToken'] as core.String?, + tlsInspectionPolicies: (json_['tlsInspectionPolicies'] as core.List?) + ?.map((value) => TlsInspectionPolicy.fromJson( value as core.Map)) .toList(), - nextPageToken: json_['nextPageToken'] as core.String?, unreachable: (json_['unreachable'] as core.List?) ?.map((value) => value as core.String) .toList(), ); core.Map toJson() => { - if (authzPolicies != null) 'authzPolicies': authzPolicies!, if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (tlsInspectionPolicies != null) + 'tlsInspectionPolicies': tlsInspectionPolicies!, if (unreachable != null) 'unreachable': unreachable!, }; } -/// Response returned by the ListClientTlsPolicies method. -class ListClientTlsPoliciesResponse { - /// List of ClientTlsPolicy resources. - core.List? clientTlsPolicies; - +/// Response returned by the ListUrlLists method. +class ListUrlListsResponse { /// If there might be more results than those appearing in this response, then /// `next_page_token` is included. /// @@ -7555,483 +9282,815 @@ class ListClientTlsPoliciesResponse { /// `next_page_token` as `page_token`. core.String? nextPageToken; - ListClientTlsPoliciesResponse({ - this.clientTlsPolicies, + /// Locations that could not be reached. + core.List? unreachable; + + /// List of UrlList resources. + core.List? urlLists; + + ListUrlListsResponse({ this.nextPageToken, + this.unreachable, + this.urlLists, }); - ListClientTlsPoliciesResponse.fromJson(core.Map json_) + ListUrlListsResponse.fromJson(core.Map json_) : this( - clientTlsPolicies: (json_['clientTlsPolicies'] as core.List?) - ?.map((value) => ClientTlsPolicy.fromJson( + nextPageToken: json_['nextPageToken'] as core.String?, + unreachable: (json_['unreachable'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + urlLists: (json_['urlLists'] as core.List?) + ?.map((value) => UrlList.fromJson( value as core.Map)) .toList(), - nextPageToken: json_['nextPageToken'] as core.String?, ); core.Map toJson() => { - if (clientTlsPolicies != null) 'clientTlsPolicies': clientTlsPolicies!, if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (unreachable != null) 'unreachable': unreachable!, + if (urlLists != null) 'urlLists': urlLists!, }; } -/// Message for response to listing Associations -class ListFirewallEndpointAssociationsResponse { - /// The list of Association - core.List? firewallEndpointAssociations; +/// A resource that represents a Google Cloud location. +typedef Location = $Location00; - /// A token identifying a page of results the server should return. - core.String? nextPageToken; +/// Specification of the MTLSPolicy. +class MTLSPolicy { + /// Required if the policy is to be used with Traffic Director. + /// + /// For Application Load Balancers it must be empty. Defines the mechanism to + /// obtain the Certificate Authority certificate to validate the client + /// certificate. + core.List? clientValidationCa; - /// Locations that could not be reached. - core.List? unreachable; + /// When the client presents an invalid certificate or no certificate to the + /// load balancer, the `client_validation_mode` specifies how the client + /// connection is handled. + /// + /// Required if the policy is to be used with the Application Load Balancers. + /// For Traffic Director it must be empty. + /// Possible string values are: + /// - "CLIENT_VALIDATION_MODE_UNSPECIFIED" : Not allowed. + /// - "ALLOW_INVALID_OR_MISSING_CLIENT_CERT" : Allow connection even if + /// certificate chain validation of the client certificate failed or no client + /// certificate was presented. The proof of possession of the private key is + /// always checked if client certificate was presented. This mode requires the + /// backend to implement processing of data extracted from a client + /// certificate to authenticate the peer, or to reject connections if the + /// client certificate fingerprint is missing. + /// - "REJECT_INVALID" : Require a client certificate and allow connection to + /// the backend only if validation of the client certificate passed. If set, + /// requires a reference to non-empty TrustConfig specified in + /// `client_validation_trust_config`. + core.String? clientValidationMode; - ListFirewallEndpointAssociationsResponse({ - this.firewallEndpointAssociations, - this.nextPageToken, - this.unreachable, + /// Reference to the TrustConfig from certificatemanager.googleapis.com + /// namespace. + /// + /// If specified, the chain validation will be performed against certificates + /// configured in the given TrustConfig. Allowed only if the policy is to be + /// used with Application Load Balancers. + core.String? clientValidationTrustConfig; + + MTLSPolicy({ + this.clientValidationCa, + this.clientValidationMode, + this.clientValidationTrustConfig, }); - ListFirewallEndpointAssociationsResponse.fromJson(core.Map json_) + MTLSPolicy.fromJson(core.Map json_) : this( - firewallEndpointAssociations: - (json_['firewallEndpointAssociations'] as core.List?) - ?.map((value) => FirewallEndpointAssociation.fromJson( - value as core.Map)) - .toList(), - nextPageToken: json_['nextPageToken'] as core.String?, - unreachable: (json_['unreachable'] as core.List?) - ?.map((value) => value as core.String) + clientValidationCa: (json_['clientValidationCa'] as core.List?) + ?.map((value) => ValidationCA.fromJson( + value as core.Map)) .toList(), + clientValidationMode: json_['clientValidationMode'] as core.String?, + clientValidationTrustConfig: + json_['clientValidationTrustConfig'] as core.String?, ); core.Map toJson() => { - if (firewallEndpointAssociations != null) - 'firewallEndpointAssociations': firewallEndpointAssociations!, - if (nextPageToken != null) 'nextPageToken': nextPageToken!, - if (unreachable != null) 'unreachable': unreachable!, + if (clientValidationCa != null) + 'clientValidationCa': clientValidationCa!, + if (clientValidationMode != null) + 'clientValidationMode': clientValidationMode!, + if (clientValidationTrustConfig != null) + 'clientValidationTrustConfig': clientValidationTrustConfig!, }; } -/// Message for response to listing Endpoints -class ListFirewallEndpointsResponse { - /// The list of Endpoint - core.List? firewallEndpoints; +/// A deployment represents a zonal mirroring backend ready to accept +/// GENEVE-encapsulated replica traffic, e.g. a zonal instance group fronted by +/// an internal passthrough load balancer. +/// +/// Deployments are always part of a global deployment group which represents a +/// global mirroring service. +class MirroringDeployment { + /// The timestamp when the resource was created. + /// + /// See https://google.aip.dev/148#timestamps. + /// + /// Output only. + core.String? createTime; - /// A token identifying a page of results the server should return. - core.String? nextPageToken; + /// User-provided description of the deployment. + /// + /// Used as additional context for the deployment. + /// + /// Optional. + core.String? description; - /// Locations that could not be reached. - core.List? unreachable; + /// The regional forwarding rule that fronts the mirroring collectors, for + /// example: `projects/123456789/regions/us-central1/forwardingRules/my-rule`. + /// + /// See https://google.aip.dev/124. + /// + /// Required. Immutable. + core.String? forwardingRule; - ListFirewallEndpointsResponse({ - this.firewallEndpoints, - this.nextPageToken, - this.unreachable, + /// Labels are key/value pairs that help to organize and filter resources. + /// + /// Optional. + core.Map? labels; + + /// The deployment group that this deployment is a part of, for example: + /// `projects/123456789/locations/global/mirroringDeploymentGroups/my-dg`. + /// + /// See https://google.aip.dev/124. + /// + /// Required. Immutable. + core.String? mirroringDeploymentGroup; + + /// Identifier. + /// + /// The resource name of this deployment, for example: + /// `projects/123456789/locations/us-central1-a/mirroringDeployments/my-dep`. + /// See https://google.aip.dev/122 for more details. + /// + /// Immutable. + core.String? name; + + /// The current state of the resource does not match the user's intended + /// state, and the system is working to reconcile them. + /// + /// This part of the normal operation (e.g. linking a new association to the + /// parent group). See https://google.aip.dev/128. + /// + /// Output only. + core.bool? reconciling; + + /// The current state of the deployment. + /// + /// See https://google.aip.dev/216. + /// + /// Output only. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : State not set (this is not a valid state). + /// - "ACTIVE" : The deployment is ready and in sync with the parent group. + /// - "CREATING" : The deployment is being created. + /// - "DELETING" : The deployment is being deleted. + /// - "OUT_OF_SYNC" : The deployment is out of sync with the parent group. In + /// most cases, this is a result of a transient issue within the system (e.g. + /// a delayed data-path config) and the system is expected to recover + /// automatically. See the parent deployment group's state for more details. + /// - "DELETE_FAILED" : An attempt to delete the deployment has failed. This + /// is a terminal state and the deployment is not expected to recover. The + /// only permitted operation is to retry deleting the deployment. + core.String? state; + + /// The timestamp when the resource was most recently updated. + /// + /// See https://google.aip.dev/148#timestamps. + /// + /// Output only. + core.String? updateTime; + + MirroringDeployment({ + this.createTime, + this.description, + this.forwardingRule, + this.labels, + this.mirroringDeploymentGroup, + this.name, + this.reconciling, + this.state, + this.updateTime, }); - ListFirewallEndpointsResponse.fromJson(core.Map json_) + MirroringDeployment.fromJson(core.Map json_) : this( - firewallEndpoints: (json_['firewallEndpoints'] as core.List?) - ?.map((value) => FirewallEndpoint.fromJson( - value as core.Map)) - .toList(), - nextPageToken: json_['nextPageToken'] as core.String?, - unreachable: (json_['unreachable'] as core.List?) - ?.map((value) => value as core.String) - .toList(), + createTime: json_['createTime'] as core.String?, + description: json_['description'] as core.String?, + forwardingRule: json_['forwardingRule'] as core.String?, + labels: + (json_['labels'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + mirroringDeploymentGroup: + json_['mirroringDeploymentGroup'] as core.String?, + name: json_['name'] as core.String?, + reconciling: json_['reconciling'] as core.bool?, + state: json_['state'] as core.String?, + updateTime: json_['updateTime'] as core.String?, ); core.Map toJson() => { - if (firewallEndpoints != null) 'firewallEndpoints': firewallEndpoints!, - if (nextPageToken != null) 'nextPageToken': nextPageToken!, - if (unreachable != null) 'unreachable': unreachable!, + if (createTime != null) 'createTime': createTime!, + if (description != null) 'description': description!, + if (forwardingRule != null) 'forwardingRule': forwardingRule!, + if (labels != null) 'labels': labels!, + if (mirroringDeploymentGroup != null) + 'mirroringDeploymentGroup': mirroringDeploymentGroup!, + if (name != null) 'name': name!, + if (reconciling != null) 'reconciling': reconciling!, + if (state != null) 'state': state!, + if (updateTime != null) 'updateTime': updateTime!, }; } -/// Response returned by the ListGatewaySecurityPolicies method. -class ListGatewaySecurityPoliciesResponse { - /// List of GatewaySecurityPolicies resources. - core.List? gatewaySecurityPolicies; +/// A deployment group aggregates many zonal mirroring backends (deployments) +/// into a single global mirroring service. +/// +/// Consumers can connect this service using an endpoint group. +class MirroringDeploymentGroup { + /// The list of endpoint groups that are connected to this resource. + /// + /// Output only. + core.List? + connectedEndpointGroups; - /// If there might be more results than those appearing in this response, then - /// 'next_page_token' is included. + /// The timestamp when the resource was created. /// - /// To get the next set of results, call this method again using the value of - /// 'next_page_token' as 'page_token'. - core.String? nextPageToken; + /// See https://google.aip.dev/148#timestamps. + /// + /// Output only. + core.String? createTime; - /// Locations that could not be reached. - core.List? unreachable; + /// User-provided description of the deployment group. + /// + /// Used as additional context for the deployment group. + /// + /// Optional. + core.String? description; - ListGatewaySecurityPoliciesResponse({ - this.gatewaySecurityPolicies, - this.nextPageToken, - this.unreachable, - }); + /// Labels are key/value pairs that help to organize and filter resources. + /// + /// Optional. + core.Map? labels; - ListGatewaySecurityPoliciesResponse.fromJson(core.Map json_) - : this( - gatewaySecurityPolicies: - (json_['gatewaySecurityPolicies'] as core.List?) - ?.map((value) => GatewaySecurityPolicy.fromJson( - value as core.Map)) - .toList(), - nextPageToken: json_['nextPageToken'] as core.String?, - unreachable: (json_['unreachable'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - ); + /// Identifier. + /// + /// The resource name of this deployment group, for example: + /// `projects/123456789/locations/global/mirroringDeploymentGroups/my-dg`. See + /// https://google.aip.dev/122 for more details. + /// + /// Immutable. + core.String? name; - core.Map toJson() => { - if (gatewaySecurityPolicies != null) - 'gatewaySecurityPolicies': gatewaySecurityPolicies!, - if (nextPageToken != null) 'nextPageToken': nextPageToken!, - if (unreachable != null) 'unreachable': unreachable!, - }; -} + /// The list of Mirroring Deployments that belong to this group. + /// + /// Output only. + core.List? nestedDeployments; -/// Response returned by the ListGatewaySecurityPolicyRules method. -class ListGatewaySecurityPolicyRulesResponse { - /// List of GatewaySecurityPolicyRule resources. - core.List? gatewaySecurityPolicyRules; + /// The network that will be used for all child deployments, for example: + /// `projects/{project}/global/networks/{network}`. + /// + /// See https://google.aip.dev/124. + /// + /// Required. Immutable. + core.String? network; - /// If there might be more results than those appearing in this response, then - /// 'next_page_token' is included. + /// The current state of the resource does not match the user's intended + /// state, and the system is working to reconcile them. /// - /// To get the next set of results, call this method again using the value of - /// 'next_page_token' as 'page_token'. - core.String? nextPageToken; + /// This is part of the normal operation (e.g. adding a new deployment to the + /// group) See https://google.aip.dev/128. + /// + /// Output only. + core.bool? reconciling; - /// Locations that could not be reached. - core.List? unreachable; + /// The current state of the deployment group. + /// + /// See https://google.aip.dev/216. + /// + /// Output only. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : State not set (this is not a valid state). + /// - "ACTIVE" : The deployment group is ready. + /// - "CREATING" : The deployment group is being created. + /// - "DELETING" : The deployment group is being deleted. + core.String? state; - ListGatewaySecurityPolicyRulesResponse({ - this.gatewaySecurityPolicyRules, - this.nextPageToken, - this.unreachable, + /// The timestamp when the resource was most recently updated. + /// + /// See https://google.aip.dev/148#timestamps. + /// + /// Output only. + core.String? updateTime; + + MirroringDeploymentGroup({ + this.connectedEndpointGroups, + this.createTime, + this.description, + this.labels, + this.name, + this.nestedDeployments, + this.network, + this.reconciling, + this.state, + this.updateTime, }); - ListGatewaySecurityPolicyRulesResponse.fromJson(core.Map json_) + MirroringDeploymentGroup.fromJson(core.Map json_) : this( - gatewaySecurityPolicyRules: - (json_['gatewaySecurityPolicyRules'] as core.List?) - ?.map((value) => GatewaySecurityPolicyRule.fromJson( - value as core.Map)) + connectedEndpointGroups: + (json_['connectedEndpointGroups'] as core.List?) + ?.map((value) => + MirroringDeploymentGroupConnectedEndpointGroup.fromJson( + value as core.Map)) .toList(), - nextPageToken: json_['nextPageToken'] as core.String?, - unreachable: (json_['unreachable'] as core.List?) - ?.map((value) => value as core.String) + createTime: json_['createTime'] as core.String?, + description: json_['description'] as core.String?, + labels: + (json_['labels'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + name: json_['name'] as core.String?, + nestedDeployments: (json_['nestedDeployments'] as core.List?) + ?.map((value) => MirroringDeploymentGroupDeployment.fromJson( + value as core.Map)) .toList(), + network: json_['network'] as core.String?, + reconciling: json_['reconciling'] as core.bool?, + state: json_['state'] as core.String?, + updateTime: json_['updateTime'] as core.String?, ); core.Map toJson() => { - if (gatewaySecurityPolicyRules != null) - 'gatewaySecurityPolicyRules': gatewaySecurityPolicyRules!, - if (nextPageToken != null) 'nextPageToken': nextPageToken!, - if (unreachable != null) 'unreachable': unreachable!, + if (connectedEndpointGroups != null) + 'connectedEndpointGroups': connectedEndpointGroups!, + if (createTime != null) 'createTime': createTime!, + if (description != null) 'description': description!, + if (labels != null) 'labels': labels!, + if (name != null) 'name': name!, + if (nestedDeployments != null) 'nestedDeployments': nestedDeployments!, + if (network != null) 'network': network!, + if (reconciling != null) 'reconciling': reconciling!, + if (state != null) 'state': state!, + if (updateTime != null) 'updateTime': updateTime!, }; } -/// The response message for Locations.ListLocations. -class ListLocationsResponse { - /// A list of locations that matches the specified filter in the request. - core.List? locations; - - /// The standard List next-page token. - core.String? nextPageToken; +/// An endpoint group connected to this deployment group. +class MirroringDeploymentGroupConnectedEndpointGroup { + /// The connected endpoint group's resource name, for example: + /// `projects/123456789/locations/global/mirroringEndpointGroups/my-eg`. + /// + /// See https://google.aip.dev/124. + /// + /// Output only. + core.String? name; - ListLocationsResponse({ - this.locations, - this.nextPageToken, + MirroringDeploymentGroupConnectedEndpointGroup({ + this.name, }); - ListLocationsResponse.fromJson(core.Map json_) + MirroringDeploymentGroupConnectedEndpointGroup.fromJson(core.Map json_) : this( - locations: (json_['locations'] as core.List?) - ?.map((value) => Location.fromJson( - value as core.Map)) - .toList(), - nextPageToken: json_['nextPageToken'] as core.String?, + name: json_['name'] as core.String?, ); core.Map toJson() => { - if (locations != null) 'locations': locations!, - if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (name != null) 'name': name!, }; } -/// The response message for Operations.ListOperations. -class ListOperationsResponse { - /// The standard List next-page token. - core.String? nextPageToken; +/// A deployment belonging to this deployment group. +class MirroringDeploymentGroupDeployment { + /// The name of the Mirroring Deployment, in the format: + /// `projects/{project}/locations/{location}/mirroringDeployments/{mirroring_deployment}`. + /// + /// Output only. + core.String? name; - /// A list of operations that matches the specified filter in the request. - core.List? operations; + /// Most recent known state of the deployment. + /// + /// Output only. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : State not set (this is not a valid state). + /// - "ACTIVE" : The deployment is ready and in sync with the parent group. + /// - "CREATING" : The deployment is being created. + /// - "DELETING" : The deployment is being deleted. + /// - "OUT_OF_SYNC" : The deployment is out of sync with the parent group. In + /// most cases, this is a result of a transient issue within the system (e.g. + /// a delayed data-path config) and the system is expected to recover + /// automatically. See the parent deployment group's state for more details. + /// - "DELETE_FAILED" : An attempt to delete the deployment has failed. This + /// is a terminal state and the deployment is not expected to recover. The + /// only permitted operation is to retry deleting the deployment. + core.String? state; - ListOperationsResponse({ - this.nextPageToken, - this.operations, + MirroringDeploymentGroupDeployment({ + this.name, + this.state, }); - ListOperationsResponse.fromJson(core.Map json_) + MirroringDeploymentGroupDeployment.fromJson(core.Map json_) : this( - nextPageToken: json_['nextPageToken'] as core.String?, - operations: (json_['operations'] as core.List?) - ?.map((value) => Operation.fromJson( - value as core.Map)) - .toList(), + name: json_['name'] as core.String?, + state: json_['state'] as core.String?, ); core.Map toJson() => { - if (nextPageToken != null) 'nextPageToken': nextPageToken!, - if (operations != null) 'operations': operations!, + if (name != null) 'name': name!, + if (state != null) 'state': state!, }; } -/// Response returned by the ListSecurityProfileGroups method. -class ListSecurityProfileGroupsResponse { - /// If there might be more results than those appearing in this response, then - /// `next_page_token` is included. +/// An endpoint group is a consumer frontend for a deployment group (backend). +/// +/// In order to configure mirroring for a network, consumers must create: - An +/// association between their network and the endpoint group. - A security +/// profile that points to the endpoint group. - A mirroring rule that +/// references the security profile (group). +class MirroringEndpointGroup { + /// List of associations to this endpoint group. /// - /// To get the next set of results, call this method again using the value of - /// `next_page_token` as `page_token`. - core.String? nextPageToken; + /// Output only. + core.List? associations; - /// List of SecurityProfileGroups resources. - core.List? securityProfileGroups; + /// The timestamp when the resource was created. + /// + /// See https://google.aip.dev/148#timestamps. + /// + /// Output only. + core.String? createTime; - ListSecurityProfileGroupsResponse({ - this.nextPageToken, - this.securityProfileGroups, - }); + /// User-provided description of the endpoint group. + /// + /// Used as additional context for the endpoint group. + /// + /// Optional. + core.String? description; - ListSecurityProfileGroupsResponse.fromJson(core.Map json_) - : this( - nextPageToken: json_['nextPageToken'] as core.String?, - securityProfileGroups: (json_['securityProfileGroups'] as core.List?) - ?.map((value) => SecurityProfileGroup.fromJson( - value as core.Map)) - .toList(), - ); + /// Labels are key/value pairs that help to organize and filter resources. + /// + /// Optional. + core.Map? labels; - core.Map toJson() => { - if (nextPageToken != null) 'nextPageToken': nextPageToken!, - if (securityProfileGroups != null) - 'securityProfileGroups': securityProfileGroups!, - }; -} + /// The deployment group that this DIRECT endpoint group is connected to, for + /// example: + /// `projects/123456789/locations/global/mirroringDeploymentGroups/my-dg`. + /// + /// See https://google.aip.dev/124. + /// + /// Immutable. + core.String? mirroringDeploymentGroup; -/// Response returned by the ListSecurityProfiles method. -class ListSecurityProfilesResponse { - /// If there might be more results than those appearing in this response, then - /// `next_page_token` is included. + /// Identifier. /// - /// To get the next set of results, call this method again using the value of - /// `next_page_token` as `page_token`. - core.String? nextPageToken; + /// The resource name of this endpoint group, for example: + /// `projects/123456789/locations/global/mirroringEndpointGroups/my-eg`. See + /// https://google.aip.dev/122 for more details. + /// + /// Immutable. + core.String? name; - /// List of SecurityProfile resources. - core.List? securityProfiles; + /// The current state of the resource does not match the user's intended + /// state, and the system is working to reconcile them. + /// + /// This is part of the normal operation (e.g. adding a new association to the + /// group). See https://google.aip.dev/128. + /// + /// Output only. + core.bool? reconciling; - ListSecurityProfilesResponse({ - this.nextPageToken, - this.securityProfiles, + /// The current state of the endpoint group. + /// + /// See https://google.aip.dev/216. + /// + /// Output only. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : State not set (this is not a valid state). + /// - "ACTIVE" : The endpoint group is ready and in sync with the target + /// deployment group. + /// - "CLOSED" : The deployment group backing this endpoint group has been + /// force-deleted. This endpoint group cannot be used and mirroring is + /// effectively disabled. + /// - "CREATING" : The endpoint group is being created. + /// - "DELETING" : The endpoint group is being deleted. + /// - "OUT_OF_SYNC" : The endpoint group is out of sync with the backing + /// deployment group. In most cases, this is a result of a transient issue + /// within the system (e.g. an inaccessible location) and the system is + /// expected to recover automatically. See the associations field for details + /// per network and location. + /// - "DELETE_FAILED" : An attempt to delete the endpoint group has failed. + /// This is a terminal state and the endpoint group is not expected to + /// recover. The only permitted operation is to retry deleting the endpoint + /// group. + core.String? state; + + /// The timestamp when the resource was most recently updated. + /// + /// See https://google.aip.dev/148#timestamps. + /// + /// Output only. + core.String? updateTime; + + MirroringEndpointGroup({ + this.associations, + this.createTime, + this.description, + this.labels, + this.mirroringDeploymentGroup, + this.name, + this.reconciling, + this.state, + this.updateTime, }); - ListSecurityProfilesResponse.fromJson(core.Map json_) + MirroringEndpointGroup.fromJson(core.Map json_) : this( - nextPageToken: json_['nextPageToken'] as core.String?, - securityProfiles: (json_['securityProfiles'] as core.List?) - ?.map((value) => SecurityProfile.fromJson( - value as core.Map)) + associations: (json_['associations'] as core.List?) + ?.map((value) => + MirroringEndpointGroupAssociationDetails.fromJson( + value as core.Map)) .toList(), + createTime: json_['createTime'] as core.String?, + description: json_['description'] as core.String?, + labels: + (json_['labels'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + mirroringDeploymentGroup: + json_['mirroringDeploymentGroup'] as core.String?, + name: json_['name'] as core.String?, + reconciling: json_['reconciling'] as core.bool?, + state: json_['state'] as core.String?, + updateTime: json_['updateTime'] as core.String?, ); core.Map toJson() => { - if (nextPageToken != null) 'nextPageToken': nextPageToken!, - if (securityProfiles != null) 'securityProfiles': securityProfiles!, + if (associations != null) 'associations': associations!, + if (createTime != null) 'createTime': createTime!, + if (description != null) 'description': description!, + if (labels != null) 'labels': labels!, + if (mirroringDeploymentGroup != null) + 'mirroringDeploymentGroup': mirroringDeploymentGroup!, + if (name != null) 'name': name!, + if (reconciling != null) 'reconciling': reconciling!, + if (state != null) 'state': state!, + if (updateTime != null) 'updateTime': updateTime!, }; } -/// Response returned by the ListServerTlsPolicies method. -class ListServerTlsPoliciesResponse { - /// If there might be more results than those appearing in this response, then - /// `next_page_token` is included. +/// An endpoint group association represents a link between a network and an +/// endpoint group in the organization. +/// +/// Creating an association creates the networking infrastructure linking the +/// network to the endpoint group, but does not enable mirroring by itself. To +/// enable mirroring, the user must also create a network firewall policy +/// containing mirroring rules and associate it with the network. +class MirroringEndpointGroupAssociation { + /// The timestamp when the resource was created. /// - /// To get the next set of results, call this method again using the value of - /// `next_page_token` as `page_token`. - core.String? nextPageToken; + /// See https://google.aip.dev/148#timestamps. + /// + /// Output only. + core.String? createTime; - /// List of ServerTlsPolicy resources. - core.List? serverTlsPolicies; + /// Labels are key/value pairs that help to organize and filter resources. + /// + /// Optional. + core.Map? labels; - ListServerTlsPoliciesResponse({ - this.nextPageToken, - this.serverTlsPolicies, - }); + /// The list of locations where the association is present. + /// + /// This information is retrieved from the linked endpoint group, and not + /// configured as part of the association itself. + /// + /// Output only. + core.List? locationsDetails; - ListServerTlsPoliciesResponse.fromJson(core.Map json_) - : this( - nextPageToken: json_['nextPageToken'] as core.String?, - serverTlsPolicies: (json_['serverTlsPolicies'] as core.List?) - ?.map((value) => ServerTlsPolicy.fromJson( - value as core.Map)) - .toList(), - ); + /// The endpoint group that this association is connected to, for example: + /// `projects/123456789/locations/global/mirroringEndpointGroups/my-eg`. + /// + /// See https://google.aip.dev/124. + /// + /// Immutable. + core.String? mirroringEndpointGroup; - core.Map toJson() => { - if (nextPageToken != null) 'nextPageToken': nextPageToken!, - if (serverTlsPolicies != null) 'serverTlsPolicies': serverTlsPolicies!, - }; -} + /// Identifier. + /// + /// The resource name of this endpoint group association, for example: + /// `projects/123456789/locations/global/mirroringEndpointGroupAssociations/my-eg-association`. + /// See https://google.aip.dev/122 for more details. + /// + /// Immutable. + core.String? name; -/// Response returned by the ListTlsInspectionPolicies method. -class ListTlsInspectionPoliciesResponse { - /// If there might be more results than those appearing in this response, then - /// 'next_page_token' is included. + /// The VPC network that is associated. /// - /// To get the next set of results, call this method again using the value of - /// 'next_page_token' as 'page_token'. - core.String? nextPageToken; + /// for example: `projects/123456789/global/networks/my-network`. See + /// https://google.aip.dev/124. + /// + /// Immutable. + core.String? network; - /// List of TlsInspectionPolicies resources. - core.List? tlsInspectionPolicies; + /// The current state of the resource does not match the user's intended + /// state, and the system is working to reconcile them. + /// + /// This part of the normal operation (e.g. adding a new location to the + /// target deployment group). See https://google.aip.dev/128. + /// + /// Output only. + core.bool? reconciling; - /// Locations that could not be reached. - core.List? unreachable; + /// Current state of the endpoint group association. + /// + /// Output only. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : Not set. + /// - "ACTIVE" : The association is ready and in sync with the linked endpoint + /// group. + /// - "CREATING" : The association is being created. + /// - "DELETING" : The association is being deleted. + /// - "CLOSED" : The association is disabled due to a breaking change in + /// another resource. + /// - "OUT_OF_SYNC" : The association is out of sync with the linked endpoint + /// group. In most cases, this is a result of a transient issue within the + /// system (e.g. an inaccessible location) and the system is expected to + /// recover automatically. Check the `locations_details` field for more + /// details. + /// - "DELETE_FAILED" : An attempt to delete the association has failed. This + /// is a terminal state and the association is not expected to be usable as + /// some of its resources have been deleted. The only permitted operation is + /// to retry deleting the association. + core.String? state; - ListTlsInspectionPoliciesResponse({ - this.nextPageToken, - this.tlsInspectionPolicies, - this.unreachable, + /// The timestamp when the resource was most recently updated. + /// + /// See https://google.aip.dev/148#timestamps. + /// + /// Output only. + core.String? updateTime; + + MirroringEndpointGroupAssociation({ + this.createTime, + this.labels, + this.locationsDetails, + this.mirroringEndpointGroup, + this.name, + this.network, + this.reconciling, + this.state, + this.updateTime, }); - ListTlsInspectionPoliciesResponse.fromJson(core.Map json_) + MirroringEndpointGroupAssociation.fromJson(core.Map json_) : this( - nextPageToken: json_['nextPageToken'] as core.String?, - tlsInspectionPolicies: (json_['tlsInspectionPolicies'] as core.List?) - ?.map((value) => TlsInspectionPolicy.fromJson( - value as core.Map)) - .toList(), - unreachable: (json_['unreachable'] as core.List?) - ?.map((value) => value as core.String) + createTime: json_['createTime'] as core.String?, + labels: + (json_['labels'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + locationsDetails: (json_['locationsDetails'] as core.List?) + ?.map((value) => + MirroringEndpointGroupAssociationLocationDetails.fromJson( + value as core.Map)) .toList(), + mirroringEndpointGroup: + json_['mirroringEndpointGroup'] as core.String?, + name: json_['name'] as core.String?, + network: json_['network'] as core.String?, + reconciling: json_['reconciling'] as core.bool?, + state: json_['state'] as core.String?, + updateTime: json_['updateTime'] as core.String?, ); core.Map toJson() => { - if (nextPageToken != null) 'nextPageToken': nextPageToken!, - if (tlsInspectionPolicies != null) - 'tlsInspectionPolicies': tlsInspectionPolicies!, - if (unreachable != null) 'unreachable': unreachable!, + if (createTime != null) 'createTime': createTime!, + if (labels != null) 'labels': labels!, + if (locationsDetails != null) 'locationsDetails': locationsDetails!, + if (mirroringEndpointGroup != null) + 'mirroringEndpointGroup': mirroringEndpointGroup!, + if (name != null) 'name': name!, + if (network != null) 'network': network!, + if (reconciling != null) 'reconciling': reconciling!, + if (state != null) 'state': state!, + if (updateTime != null) 'updateTime': updateTime!, }; } -/// Response returned by the ListUrlLists method. -class ListUrlListsResponse { - /// If there might be more results than those appearing in this response, then - /// `next_page_token` is included. +/// The endpoint group's view of a connected association. +class MirroringEndpointGroupAssociationDetails { + /// The connected association's resource name, for example: + /// `projects/123456789/locations/global/mirroringEndpointGroupAssociations/my-ega`. /// - /// To get the next set of results, call this method again using the value of - /// `next_page_token` as `page_token`. - core.String? nextPageToken; + /// See https://google.aip.dev/124. + /// + /// Output only. + core.String? name; - /// Locations that could not be reached. - core.List? unreachable; + /// The associated network, for example: + /// projects/123456789/global/networks/my-network. + /// + /// See https://google.aip.dev/124. + /// + /// Output only. + core.String? network; - /// List of UrlList resources. - core.List? urlLists; + /// Most recent known state of the association. + /// + /// Output only. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : Not set. + /// - "ACTIVE" : The association is ready and in sync with the linked endpoint + /// group. + /// - "CREATING" : The association is being created. + /// - "DELETING" : The association is being deleted. + /// - "CLOSED" : The association is disabled due to a breaking change in + /// another resource. + /// - "OUT_OF_SYNC" : The association is out of sync with the linked endpoint + /// group. In most cases, this is a result of a transient issue within the + /// system (e.g. an inaccessible location) and the system is expected to + /// recover automatically. Check the `locations_details` field for more + /// details. + /// - "DELETE_FAILED" : An attempt to delete the association has failed. This + /// is a terminal state and the association is not expected to be usable as + /// some of its resources have been deleted. The only permitted operation is + /// to retry deleting the association. + core.String? state; - ListUrlListsResponse({ - this.nextPageToken, - this.unreachable, - this.urlLists, + MirroringEndpointGroupAssociationDetails({ + this.name, + this.network, + this.state, }); - ListUrlListsResponse.fromJson(core.Map json_) + MirroringEndpointGroupAssociationDetails.fromJson(core.Map json_) : this( - nextPageToken: json_['nextPageToken'] as core.String?, - unreachable: (json_['unreachable'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - urlLists: (json_['urlLists'] as core.List?) - ?.map((value) => UrlList.fromJson( - value as core.Map)) - .toList(), + name: json_['name'] as core.String?, + network: json_['network'] as core.String?, + state: json_['state'] as core.String?, ); core.Map toJson() => { - if (nextPageToken != null) 'nextPageToken': nextPageToken!, - if (unreachable != null) 'unreachable': unreachable!, - if (urlLists != null) 'urlLists': urlLists!, + if (name != null) 'name': name!, + if (network != null) 'network': network!, + if (state != null) 'state': state!, }; } -/// A resource that represents a Google Cloud location. -typedef Location = $Location00; - -/// Specification of the MTLSPolicy. -class MTLSPolicy { - /// Required if the policy is to be used with Traffic Director. +/// Contains details about the state of an association in a specific cloud +/// location. +class MirroringEndpointGroupAssociationLocationDetails { + /// The cloud location, e.g. "us-central1-a" or "asia-south1". /// - /// For Application Load Balancers it must be empty. Defines the mechanism to - /// obtain the Certificate Authority certificate to validate the client - /// certificate. - core.List? clientValidationCa; + /// Output only. + core.String? location; - /// When the client presents an invalid certificate or no certificate to the - /// load balancer, the `client_validation_mode` specifies how the client - /// connection is handled. + /// The current state of the association in this location. /// - /// Required if the policy is to be used with the Application Load Balancers. - /// For Traffic Director it must be empty. + /// Output only. /// Possible string values are: - /// - "CLIENT_VALIDATION_MODE_UNSPECIFIED" : Not allowed. - /// - "ALLOW_INVALID_OR_MISSING_CLIENT_CERT" : Allow connection even if - /// certificate chain validation of the client certificate failed or no client - /// certificate was presented. The proof of possession of the private key is - /// always checked if client certificate was presented. This mode requires the - /// backend to implement processing of data extracted from a client - /// certificate to authenticate the peer, or to reject connections if the - /// client certificate fingerprint is missing. - /// - "REJECT_INVALID" : Require a client certificate and allow connection to - /// the backend only if validation of the client certificate passed. If set, - /// requires a reference to non-empty TrustConfig specified in - /// `client_validation_trust_config`. - core.String? clientValidationMode; - - /// Reference to the TrustConfig from certificatemanager.googleapis.com - /// namespace. - /// - /// If specified, the chain validation will be performed against certificates - /// configured in the given TrustConfig. Allowed only if the policy is to be - /// used with Application Load Balancers. - core.String? clientValidationTrustConfig; + /// - "STATE_UNSPECIFIED" : Not set. + /// - "ACTIVE" : The association is ready and in sync with the linked endpoint + /// group. + /// - "OUT_OF_SYNC" : The association is out of sync with the linked endpoint + /// group. In most cases, this is a result of a transient issue within the + /// system (e.g. an inaccessible location) and the system is expected to + /// recover automatically. + core.String? state; - MTLSPolicy({ - this.clientValidationCa, - this.clientValidationMode, - this.clientValidationTrustConfig, + MirroringEndpointGroupAssociationLocationDetails({ + this.location, + this.state, }); - MTLSPolicy.fromJson(core.Map json_) + MirroringEndpointGroupAssociationLocationDetails.fromJson(core.Map json_) : this( - clientValidationCa: (json_['clientValidationCa'] as core.List?) - ?.map((value) => ValidationCA.fromJson( - value as core.Map)) - .toList(), - clientValidationMode: json_['clientValidationMode'] as core.String?, - clientValidationTrustConfig: - json_['clientValidationTrustConfig'] as core.String?, + location: json_['location'] as core.String?, + state: json_['state'] as core.String?, ); core.Map toJson() => { - if (clientValidationCa != null) - 'clientValidationCa': clientValidationCa!, - if (clientValidationMode != null) - 'clientValidationMode': clientValidationMode!, - if (clientValidationTrustConfig != null) - 'clientValidationTrustConfig': clientValidationTrustConfig!, + if (location != null) 'location': location!, + if (state != null) 'state': state!, }; } @@ -8335,6 +10394,13 @@ class SecurityProfileGroup { /// Optional. core.String? customMirroringProfile; + /// Identifier used by the data-path. + /// + /// Unique within {container, location}. + /// + /// Output only. + core.String? dataPathId; + /// An optional description of the profile group. /// /// Max length 2048 characters. @@ -8377,6 +10443,7 @@ class SecurityProfileGroup { this.createTime, this.customInterceptProfile, this.customMirroringProfile, + this.dataPathId, this.description, this.etag, this.labels, @@ -8392,6 +10459,7 @@ class SecurityProfileGroup { json_['customInterceptProfile'] as core.String?, customMirroringProfile: json_['customMirroringProfile'] as core.String?, + dataPathId: json_['dataPathId'] as core.String?, description: json_['description'] as core.String?, etag: json_['etag'] as core.String?, labels: @@ -8413,6 +10481,7 @@ class SecurityProfileGroup { 'customInterceptProfile': customInterceptProfile!, if (customMirroringProfile != null) 'customMirroringProfile': customMirroringProfile!, + if (dataPathId != null) 'dataPathId': dataPathId!, if (description != null) 'description': description!, if (etag != null) 'etag': etag!, if (labels != null) 'labels': labels!, @@ -8715,6 +10784,11 @@ class ThreatOverride { /// ThreatPreventionProfile defines an action for specific threat signatures or /// severity levels. class ThreatPreventionProfile { + /// Configuration for overriding antivirus actions per protocol. + /// + /// Optional. + core.List? antivirusOverrides; + /// Configuration for overriding threats actions by severity match. /// /// Optional. @@ -8730,12 +10804,17 @@ class ThreatPreventionProfile { core.List? threatOverrides; ThreatPreventionProfile({ + this.antivirusOverrides, this.severityOverrides, this.threatOverrides, }); ThreatPreventionProfile.fromJson(core.Map json_) : this( + antivirusOverrides: (json_['antivirusOverrides'] as core.List?) + ?.map((value) => AntivirusOverride.fromJson( + value as core.Map)) + .toList(), severityOverrides: (json_['severityOverrides'] as core.List?) ?.map((value) => SeverityOverride.fromJson( value as core.Map)) @@ -8747,6 +10826,8 @@ class ThreatPreventionProfile { ); core.Map toJson() => { + if (antivirusOverrides != null) + 'antivirusOverrides': antivirusOverrides!, if (severityOverrides != null) 'severityOverrides': severityOverrides!, if (threatOverrides != null) 'threatOverrides': threatOverrides!, }; diff --git a/generated/googleapis/lib/networkservices/v1.dart b/generated/googleapis/lib/networkservices/v1.dart index 9dca14b82..aa88b691d 100644 --- a/generated/googleapis/lib/networkservices/v1.dart +++ b/generated/googleapis/lib/networkservices/v1.dart @@ -231,13 +231,12 @@ class ProjectsLocationsAuthzExtensionsResource { /// [requestId] - Optional. An optional request ID to identify requests. /// Specify a unique request ID so that if you must retry your request, the /// server can ignore the request if it has already been completed. The server - /// guarantees that for at least 60 minutes since the first request. For - /// example, consider a situation where you make an initial request and the - /// request times out. If you make the request again with the same request ID, - /// the server can check if original operation with the same request ID was - /// received, and if so, ignores the second request. This prevents clients - /// from accidentally creating duplicate commitments. The request ID must be a - /// valid UUID with the exception that zero UUID is not supported + /// guarantees that for 60 minutes since the first request. For example, + /// consider a situation where you make an initial request and the request + /// times out. If you make the request again with the same request ID, the + /// server ignores the second request This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with + /// the exception that zero UUID is not supported /// (00000000-0000-0000-0000-000000000000). /// /// [$fields] - Selector specifying which fields to include in a partial @@ -288,13 +287,12 @@ class ProjectsLocationsAuthzExtensionsResource { /// [requestId] - Optional. An optional request ID to identify requests. /// Specify a unique request ID so that if you must retry your request, the /// server can ignore the request if it has already been completed. The server - /// guarantees that for at least 60 minutes after the first request. For - /// example, consider a situation where you make an initial request and the - /// request times out. If you make the request again with the same request ID, - /// the server can check if original operation with the same request ID was - /// received, and if so, ignores the second request. This prevents clients - /// from accidentally creating duplicate commitments. The request ID must be a - /// valid UUID with the exception that zero UUID is not supported + /// guarantees that for 60 minutes after the first request. For example, + /// consider a situation where you make an initial request and the request + /// times out. If you make the request again with the same request ID, the + /// server ignores the second request This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with + /// the exception that zero UUID is not supported /// (00000000-0000-0000-0000-000000000000). /// /// [$fields] - Selector specifying which fields to include in a partial @@ -371,13 +369,13 @@ class ProjectsLocationsAuthzExtensionsResource { /// Request parameters: /// /// [parent] - Required. The project and location from which the - /// `AuthzExtension` resources are listed, specified in the following format: - /// `projects/{project}/locations/{location}`. + /// `AuthzExtension` resources are listed. These values are specified in the + /// following format: `projects/{project}/locations/{location}`. /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. /// /// [filter] - Optional. Filtering results. /// - /// [orderBy] - Optional. Hint for how to order the results. + /// [orderBy] - Optional. Hint about how to order the results. /// /// [pageSize] - Optional. Requested page size. The server might return fewer /// items than requested. If unspecified, the server picks an appropriate @@ -438,13 +436,12 @@ class ProjectsLocationsAuthzExtensionsResource { /// [requestId] - Optional. An optional request ID to identify requests. /// Specify a unique request ID so that if you must retry your request, the /// server can ignore the request if it has already been completed. The server - /// guarantees that for at least 60 minutes since the first request. For - /// example, consider a situation where you make an initial request and the - /// request times out. If you make the request again with the same request ID, - /// the server can check if original operation with the same request ID was - /// received, and if so, ignores the second request. This prevents clients - /// from accidentally creating duplicate commitments. The request ID must be a - /// valid UUID with the exception that zero UUID is not supported + /// guarantees that for 60 minutes since the first request. For example, + /// consider a situation where you make an initial request and the request + /// times out. If you make the request again with the same request ID, the + /// server ignores the second request This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with + /// the exception that zero UUID is not supported /// (00000000-0000-0000-0000-000000000000). /// /// [updateMask] - Required. Used to specify the fields to be overwritten in @@ -1995,13 +1992,12 @@ class ProjectsLocationsLbRouteExtensionsResource { /// [requestId] - Optional. An optional request ID to identify requests. /// Specify a unique request ID so that if you must retry your request, the /// server can ignore the request if it has already been completed. The server - /// guarantees that for at least 60 minutes since the first request. For - /// example, consider a situation where you make an initial request and the - /// request times out. If you make the request again with the same request ID, - /// the server can check if original operation with the same request ID was - /// received, and if so, ignores the second request. This prevents clients - /// from accidentally creating duplicate commitments. The request ID must be a - /// valid UUID with the exception that zero UUID is not supported + /// guarantees that for 60 minutes since the first request. For example, + /// consider a situation where you make an initial request and the request + /// times out. If you make the request again with the same request ID, the + /// server ignores the second request This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with + /// the exception that zero UUID is not supported /// (00000000-0000-0000-0000-000000000000). /// /// [$fields] - Selector specifying which fields to include in a partial @@ -2053,13 +2049,12 @@ class ProjectsLocationsLbRouteExtensionsResource { /// [requestId] - Optional. An optional request ID to identify requests. /// Specify a unique request ID so that if you must retry your request, the /// server can ignore the request if it has already been completed. The server - /// guarantees that for at least 60 minutes after the first request. For - /// example, consider a situation where you make an initial request and the - /// request times out. If you make the request again with the same request ID, - /// the server can check if original operation with the same request ID was - /// received, and if so, ignores the second request. This prevents clients - /// from accidentally creating duplicate commitments. The request ID must be a - /// valid UUID with the exception that zero UUID is not supported + /// guarantees that for 60 minutes after the first request. For example, + /// consider a situation where you make an initial request and the request + /// times out. If you make the request again with the same request ID, the + /// server ignores the second request This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with + /// the exception that zero UUID is not supported /// (00000000-0000-0000-0000-000000000000). /// /// [$fields] - Selector specifying which fields to include in a partial @@ -2136,13 +2131,13 @@ class ProjectsLocationsLbRouteExtensionsResource { /// Request parameters: /// /// [parent] - Required. The project and location from which the - /// `LbRouteExtension` resources are listed, specified in the following - /// format: `projects/{project}/locations/{location}`. + /// `LbRouteExtension` resources are listed. These values are specified in the + /// following format: `projects/{project}/locations/{location}`. /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. /// /// [filter] - Optional. Filtering results. /// - /// [orderBy] - Optional. Hint for how to order the results. + /// [orderBy] - Optional. Hint about how to order the results. /// /// [pageSize] - Optional. Requested page size. The server might return fewer /// items than requested. If unspecified, the server picks an appropriate @@ -2203,13 +2198,12 @@ class ProjectsLocationsLbRouteExtensionsResource { /// [requestId] - Optional. An optional request ID to identify requests. /// Specify a unique request ID so that if you must retry your request, the /// server can ignore the request if it has already been completed. The server - /// guarantees that for at least 60 minutes since the first request. For - /// example, consider a situation where you make an initial request and the - /// request times out. If you make the request again with the same request ID, - /// the server can check if original operation with the same request ID was - /// received, and if so, ignores the second request. This prevents clients - /// from accidentally creating duplicate commitments. The request ID must be a - /// valid UUID with the exception that zero UUID is not supported + /// guarantees that for 60 minutes since the first request. For example, + /// consider a situation where you make an initial request and the request + /// times out. If you make the request again with the same request ID, the + /// server ignores the second request This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with + /// the exception that zero UUID is not supported /// (00000000-0000-0000-0000-000000000000). /// /// [updateMask] - Optional. Used to specify the fields to be overwritten in @@ -2277,13 +2271,12 @@ class ProjectsLocationsLbTrafficExtensionsResource { /// [requestId] - Optional. An optional request ID to identify requests. /// Specify a unique request ID so that if you must retry your request, the /// server can ignore the request if it has already been completed. The server - /// guarantees that for at least 60 minutes since the first request. For - /// example, consider a situation where you make an initial request and the - /// request times out. If you make the request again with the same request ID, - /// the server can check if original operation with the same request ID was - /// received, and if so, ignores the second request. This prevents clients - /// from accidentally creating duplicate commitments. The request ID must be a - /// valid UUID with the exception that zero UUID is not supported + /// guarantees that for 60 minutes since the first request. For example, + /// consider a situation where you make an initial request and the request + /// times out. If you make the request again with the same request ID, the + /// server ignores the second request This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with + /// the exception that zero UUID is not supported /// (00000000-0000-0000-0000-000000000000). /// /// [$fields] - Selector specifying which fields to include in a partial @@ -2336,13 +2329,12 @@ class ProjectsLocationsLbTrafficExtensionsResource { /// [requestId] - Optional. An optional request ID to identify requests. /// Specify a unique request ID so that if you must retry your request, the /// server can ignore the request if it has already been completed. The server - /// guarantees that for at least 60 minutes after the first request. For - /// example, consider a situation where you make an initial request and the - /// request times out. If you make the request again with the same request ID, - /// the server can check if original operation with the same request ID was - /// received, and if so, ignores the second request. This prevents clients - /// from accidentally creating duplicate commitments. The request ID must be a - /// valid UUID with the exception that zero UUID is not supported + /// guarantees that for 60 minutes after the first request. For example, + /// consider a situation where you make an initial request and the request + /// times out. If you make the request again with the same request ID, the + /// server ignores the second request This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with + /// the exception that zero UUID is not supported /// (00000000-0000-0000-0000-000000000000). /// /// [$fields] - Selector specifying which fields to include in a partial @@ -2419,13 +2411,13 @@ class ProjectsLocationsLbTrafficExtensionsResource { /// Request parameters: /// /// [parent] - Required. The project and location from which the - /// `LbTrafficExtension` resources are listed, specified in the following - /// format: `projects/{project}/locations/{location}`. + /// `LbTrafficExtension` resources are listed. These values are specified in + /// the following format: `projects/{project}/locations/{location}`. /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. /// /// [filter] - Optional. Filtering results. /// - /// [orderBy] - Optional. Hint for how to order the results. + /// [orderBy] - Optional. Hint about how to order the results. /// /// [pageSize] - Optional. Requested page size. The server might return fewer /// items than requested. If unspecified, the server picks an appropriate @@ -2487,13 +2479,12 @@ class ProjectsLocationsLbTrafficExtensionsResource { /// [requestId] - Optional. An optional request ID to identify requests. /// Specify a unique request ID so that if you must retry your request, the /// server can ignore the request if it has already been completed. The server - /// guarantees that for at least 60 minutes since the first request. For - /// example, consider a situation where you make an initial request and the - /// request times out. If you make the request again with the same request ID, - /// the server can check if original operation with the same request ID was - /// received, and if so, ignores the second request. This prevents clients - /// from accidentally creating duplicate commitments. The request ID must be a - /// valid UUID with the exception that zero UUID is not supported + /// guarantees that for 60 minutes since the first request. For example, + /// consider a situation where you make an initial request and the request + /// times out. If you make the request again with the same request ID, the + /// server ignores the second request This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with + /// the exception that zero UUID is not supported /// (00000000-0000-0000-0000-000000000000). /// /// [updateMask] - Optional. Used to specify the fields to be overwritten in @@ -2680,6 +2671,10 @@ class ProjectsLocationsMeshesResource { /// Indicates that this is a continuation of a prior `ListMeshes` call, and /// that the system should return the next page of data. /// + /// [returnPartialSuccess] - Optional. If true, allow partial responses for + /// multi-regional Aggregated List requests. Otherwise if one of the locations + /// is down or unreachable, the Aggregated List request will fail. + /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// @@ -2694,11 +2689,14 @@ class ProjectsLocationsMeshesResource { core.String parent, { core.int? pageSize, core.String? pageToken, + core.bool? returnPartialSuccess, core.String? $fields, }) async { final queryParams_ = >{ if (pageSize != null) 'pageSize': ['${pageSize}'], if (pageToken != null) 'pageToken': [pageToken], + if (returnPartialSuccess != null) + 'returnPartialSuccess': ['${returnPartialSuccess}'], if ($fields != null) 'fields': [$fields], }; @@ -3056,7 +3054,7 @@ class ProjectsLocationsServiceBindingsResource { /// Request parameters: /// /// [parent] - Required. The parent resource of the ServiceBinding. Must be in - /// the format `projects / * /locations/global`. + /// the format `projects / * /locations / * `. /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. /// /// [serviceBindingId] - Required. Short name of the ServiceBinding resource @@ -3100,7 +3098,7 @@ class ProjectsLocationsServiceBindingsResource { /// Request parameters: /// /// [name] - Required. A name of the ServiceBinding to delete. Must be in the - /// format `projects / * /locations/global/serviceBindings / * `. + /// format `projects / * /locations / * /serviceBindings / * `. /// Value must have pattern /// `^projects/\[^/\]+/locations/\[^/\]+/serviceBindings/\[^/\]+$`. /// @@ -3137,7 +3135,7 @@ class ProjectsLocationsServiceBindingsResource { /// Request parameters: /// /// [name] - Required. A name of the ServiceBinding to get. Must be in the - /// format `projects / * /locations/global/serviceBindings / * `. + /// format `projects / * /locations / * /serviceBindings / * `. /// Value must have pattern /// `^projects/\[^/\]+/locations/\[^/\]+/serviceBindings/\[^/\]+$`. /// @@ -3176,7 +3174,7 @@ class ProjectsLocationsServiceBindingsResource { /// /// [parent] - Required. The project and location from which the /// ServiceBindings should be listed, specified in the format `projects / * - /// /locations/global`. + /// /locations / * `. /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. /// /// [pageSize] - Maximum number of ServiceBindings to return per call. @@ -4508,7 +4506,7 @@ class AuthzExtension { /// The format of communication supported by the callout extension. /// - /// If not specified, the default is `EXT_PROC_GRPC`. + /// If not specified, the default value `EXT_PROC_GRPC` is used. /// /// Optional. /// Possible string values are: @@ -4516,8 +4514,8 @@ class AuthzExtension { /// - "EXT_PROC_GRPC" : The extension service uses ExtProc GRPC API over a /// gRPC stream. This is the default value if the wire format is not /// specified. The backend service for the extension must use HTTP2 or H2C as - /// the protocol. All `supported_events` for a client request will be sent as - /// part of the same gRPC stream. + /// the protocol. All `supported_events` for a client request are sent as part + /// of the same gRPC stream. core.String? wireFormat; AuthzExtension({ @@ -5201,7 +5199,7 @@ class ExtensionChainMatchCondition { /// /// It captures the ip:port over which the services are exposed by the proxy, /// along with any policy configurations. Routes have reference to to Gateways -/// to dictate how requests should be routed by this Gateway. Next id: 33 +/// to dictate how requests should be routed by this Gateway. class Gateway { /// Zero or one IPv4 or IPv6 address on which the Gateway will receive the /// traffic. @@ -5322,7 +5320,7 @@ class Gateway { /// merged. /// /// The configuration for multiple Gateway instances with the same scope will - /// be merged as presented as a single coniguration to the proxy/load + /// be merged as presented as a single configuration to the proxy/load /// balancer. Max length 64 characters. Scope should start with a letter and /// can only have letters, numbers, hyphens. /// @@ -7332,7 +7330,7 @@ class LbTrafficExtension { /// All backend services and forwarding rules referenced by this extension /// must share the same load balancing scheme. /// - /// Supported values: `INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. For more + /// Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more /// information, refer to /// [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service). /// @@ -7770,9 +7768,17 @@ class ListMeshesResponse { /// `next_page_token` as `page_token`. core.String? nextPageToken; + /// Unreachable resources. + /// + /// Populated when the request opts into `return_partial_success` and reading + /// across collections e.g. when attempting to list all resources across all + /// supported locations. + core.List? unreachable; + ListMeshesResponse({ this.meshes, this.nextPageToken, + this.unreachable, }); ListMeshesResponse.fromJson(core.Map json_) @@ -7782,11 +7788,15 @@ class ListMeshesResponse { Mesh.fromJson(value as core.Map)) .toList(), nextPageToken: json_['nextPageToken'] as core.String?, + unreachable: (json_['unreachable'] as core.List?) + ?.map((value) => value as core.String) + .toList(), ); core.Map toJson() => { if (meshes != null) 'meshes': meshes!, if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (unreachable != null) 'unreachable': unreachable!, }; } @@ -8369,8 +8379,11 @@ class Policy { }; } -/// ServiceBinding is the resource that defines a Service Directory Service to -/// be used in a BackendService resource. +/// ServiceBinding can be used to: - Bind a Service Directory Service to be used +/// in a BackendService resource. +/// +/// - Bind a Private Service Connect producer service to be used in consumer +/// Cloud Service Mesh or Application Load Balancers. class ServiceBinding { /// The timestamp when the resource was created. /// @@ -8392,17 +8405,19 @@ class ServiceBinding { /// Identifier. /// /// Name of the ServiceBinding resource. It matches pattern `projects / * - /// /locations/global/serviceBindings/service_binding_name`. + /// /locations / * /serviceBindings/`. core.String? name; - /// The full Service Directory Service name of the format projects / * - /// /locations / * /namespaces / * /services / * + /// The full Service Directory Service name of the format `projects / * + /// /locations / * /namespaces / * /services / * `. /// - /// Required. + /// This field must be set. + /// + /// Optional. core.String? service; /// The unique identifier of the Service Directory Service against which the - /// Service Binding resource is validated. + /// ServiceBinding resource is validated. /// /// This is populated when the Service Binding resource is used in another /// resource (like Backend Service). This is of the UUID4 format. @@ -9145,8 +9160,7 @@ class TlsRouteRouteDestination { /// RouteMatch defines the predicate used to match requests to a given action. /// -/// Multiple match types are "AND"ed for evaluation. If no routeMatch field is -/// specified, this rule will unconditionally match traffic. +/// Multiple match types are "AND"ed for evaluation. class TlsRouteRouteMatch { /// ALPN (Application-Layer Protocol Negotiation) to match against. /// @@ -9198,7 +9212,8 @@ class TlsRouteRouteRule { /// RouteMatch defines the predicate used to match requests to a given action. /// - /// Multiple match types are "OR"ed for evaluation. + /// Multiple match types are "OR"ed for evaluation. Atleast one RouteMatch + /// must be supplied. /// /// Required. core.List? matches; diff --git a/generated/googleapis/lib/notebooks/v2.dart b/generated/googleapis/lib/notebooks/v2.dart index 4fd7bbf74..387ef7780 100644 --- a/generated/googleapis/lib/notebooks/v2.dart +++ b/generated/googleapis/lib/notebooks/v2.dart @@ -1276,6 +1276,9 @@ class AcceleratorConfig { /// - "NVIDIA_TESLA_A100" : Accelerator type is Nvidia Tesla A100 - 40GB. /// - "NVIDIA_A100_80GB" : Accelerator type is Nvidia Tesla A100 - 80GB. /// - "NVIDIA_L4" : Accelerator type is Nvidia Tesla L4. + /// - "NVIDIA_H100_80GB" : Accelerator type is Nvidia Tesla H100 - 80GB. + /// - "NVIDIA_H100_MEGA_80GB" : Accelerator type is Nvidia Tesla H100 - MEGA + /// 80GB. /// - "NVIDIA_TESLA_T4_VWS" : Accelerator type is NVIDIA Tesla T4 Virtual /// Workstations. /// - "NVIDIA_TESLA_P100_VWS" : Accelerator type is NVIDIA Tesla P100 Virtual diff --git a/generated/googleapis/lib/ondemandscanning/v1.dart b/generated/googleapis/lib/ondemandscanning/v1.dart index 8211f8572..6af8f23f5 100644 --- a/generated/googleapis/lib/ondemandscanning/v1.dart +++ b/generated/googleapis/lib/ondemandscanning/v1.dart @@ -541,6 +541,9 @@ class AttestationOccurrence { }; } +/// BaseImage describes a base image of a container image. +typedef BaseImage = $BaseImage; + class BinarySourceInfo { /// The binary package. /// @@ -1138,7 +1141,31 @@ class FileHashes { } /// Indicates the location at which a package was found. -typedef FileLocation = $FileLocation; +class FileLocation { + /// For jars that are contained inside .war files, this filepath can indicate + /// the path to war file combined with the path to jar file. + core.String? filePath; + LayerDetails? layerDetails; + + FileLocation({ + this.filePath, + this.layerDetails, + }); + + FileLocation.fromJson(core.Map json_) + : this( + filePath: json_['filePath'] as core.String?, + layerDetails: json_.containsKey('layerDetails') + ? LayerDetails.fromJson( + json_['layerDetails'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (filePath != null) 'filePath': filePath!, + if (layerDetails != null) 'layerDetails': layerDetails!, + }; +} /// A set of properties that uniquely identify a given Docker image. typedef Fingerprint = $Fingerprint; @@ -1190,8 +1217,81 @@ class GerritSourceContext { /// repository (e.g., GitHub). typedef GitSourceContext = $GitSourceContext; +/// BaseImage describes a base image of a container image. +typedef GrafeasV1BaseImage = $BaseImage; + /// Indicates the location at which a package was found. -typedef GrafeasV1FileLocation = $FileLocation; +class GrafeasV1FileLocation { + /// For jars that are contained inside .war files, this filepath can indicate + /// the path to war file combined with the path to jar file. + core.String? filePath; + + /// Each package found in a file should have its own layer metadata (that is, + /// information from the origin layer of the package). + GrafeasV1LayerDetails? layerDetails; + + GrafeasV1FileLocation({ + this.filePath, + this.layerDetails, + }); + + GrafeasV1FileLocation.fromJson(core.Map json_) + : this( + filePath: json_['filePath'] as core.String?, + layerDetails: json_.containsKey('layerDetails') + ? GrafeasV1LayerDetails.fromJson( + json_['layerDetails'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (filePath != null) 'filePath': filePath!, + if (layerDetails != null) 'layerDetails': layerDetails!, + }; +} + +/// Details about the layer a package was found in. +class GrafeasV1LayerDetails { + /// The base images the layer is found within. + core.List? baseImages; + + /// The layer build command that was used to build the layer. + /// + /// This may not be found in all layers depending on how the container image + /// is built. + core.String? command; + + /// The diff ID (typically a sha256 hash) of the layer in the container image. + core.String? diffId; + + /// The index of the layer in the container image. + core.int? index; + + GrafeasV1LayerDetails({ + this.baseImages, + this.command, + this.diffId, + this.index, + }); + + GrafeasV1LayerDetails.fromJson(core.Map json_) + : this( + baseImages: (json_['baseImages'] as core.List?) + ?.map((value) => GrafeasV1BaseImage.fromJson( + value as core.Map)) + .toList(), + command: json_['command'] as core.String?, + diffId: json_['diffId'] as core.String?, + index: json_['index'] as core.int?, + ); + + core.Map toJson() => { + if (baseImages != null) 'baseImages': baseImages!, + if (command != null) 'command': command!, + if (diffId != null) 'diffId': diffId!, + if (index != null) 'index': index!, + }; +} /// Identifies the entity that executed the recipe, which is trusted to have /// correctly performed the operation and populated this provenance. @@ -1531,6 +1631,52 @@ class LanguagePackageDependency { /// Layer holds metadata specific to a layer of a Docker image. typedef Layer = $Layer; +/// Details about the layer a package was found in. +/// +/// This should be the same as the LayerDetails message in +/// google3/third_party/scalibr/binary/proto/scan_result.proto. +class LayerDetails { + /// The base images the layer is found within. + core.List? baseImages; + + /// The layer build command that was used to build the layer. + /// + /// This may not be found in all layers depending on how the container image + /// is built. + core.String? command; + + /// The diff ID (sha256 hash) of the layer in the container image. + core.String? diffId; + + /// The index of the layer in the container image. + core.int? index; + + LayerDetails({ + this.baseImages, + this.command, + this.diffId, + this.index, + }); + + LayerDetails.fromJson(core.Map json_) + : this( + baseImages: (json_['baseImages'] as core.List?) + ?.map((value) => BaseImage.fromJson( + value as core.Map)) + .toList(), + command: json_['command'] as core.String?, + diffId: json_['diffId'] as core.String?, + index: json_['index'] as core.int?, + ); + + core.Map toJson() => { + if (baseImages != null) 'baseImages': baseImages!, + if (command != null) 'command': command!, + if (diffId != null) 'diffId': diffId!, + if (index != null) 'index': index!, + }; +} + /// License information. typedef License = $License; @@ -2030,6 +2176,7 @@ class PackageData { /// /// This field will be unset for non Maven packages. core.String? hashDigest; + LayerDetails? layerDetails; /// The list of licenses found that are related to a given package. /// @@ -2088,6 +2235,7 @@ class PackageData { this.dependencyChain, this.fileLocation, this.hashDigest, + this.layerDetails, this.licenses, this.maintainer, this.os, @@ -2121,6 +2269,10 @@ class PackageData { value as core.Map)) .toList(), hashDigest: json_['hashDigest'] as core.String?, + layerDetails: json_.containsKey('layerDetails') + ? LayerDetails.fromJson( + json_['layerDetails'] as core.Map) + : null, licenses: (json_['licenses'] as core.List?) ?.map((value) => value as core.String) .toList(), @@ -2151,6 +2303,7 @@ class PackageData { if (dependencyChain != null) 'dependencyChain': dependencyChain!, if (fileLocation != null) 'fileLocation': fileLocation!, if (hashDigest != null) 'hashDigest': hashDigest!, + if (layerDetails != null) 'layerDetails': layerDetails!, if (licenses != null) 'licenses': licenses!, if (maintainer != null) 'maintainer': maintainer!, if (os != null) 'os': os!, diff --git a/generated/googleapis/lib/oracledatabase/v1.dart b/generated/googleapis/lib/oracledatabase/v1.dart index 08ad303a5..1e0412cb4 100644 --- a/generated/googleapis/lib/oracledatabase/v1.dart +++ b/generated/googleapis/lib/oracledatabase/v1.dart @@ -1632,7 +1632,7 @@ class AutonomousDatabase { /// The subnet CIDR range for the Autonmous Database. /// - /// Required. + /// Optional. core.String? cidr; /// The date and time that the Autonomous Database was created. @@ -1675,7 +1675,7 @@ class AutonomousDatabase { /// The name of the VPC network used by the Autonomous Database in the /// following format: projects/{project}/global/networks/{network} /// - /// Required. + /// Optional. core.String? network; /// The properties of the Autonomous Database. @@ -4543,6 +4543,8 @@ class Entitlement { /// - "ACCOUNT_NOT_ACTIVE" : Account is linked but not active. /// - "ACTIVE" : Entitlement and Account are active. /// - "ACCOUNT_SUSPENDED" : Account is suspended. + /// - "NOT_APPROVED_IN_PRIVATE_MARKETPLACE" : Entitlement is not approved in + /// private marketplace. core.String? state; Entitlement({ diff --git a/generated/googleapis/lib/orgpolicy/v2.dart b/generated/googleapis/lib/orgpolicy/v2.dart index bb66a4ddd..dc9c5711f 100644 --- a/generated/googleapis/lib/orgpolicy/v2.dart +++ b/generated/googleapis/lib/orgpolicy/v2.dart @@ -599,15 +599,15 @@ class OrganizationsCustomConstraintsResource { response_ as core.Map); } - /// Gets a custom constraint. + /// Gets a custom or managed constraint. /// /// Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the - /// custom constraint does not exist. + /// custom or managed constraint does not exist. /// /// Request parameters: /// - /// [name] - Required. Resource name of the custom constraint. See the custom - /// constraint entry for naming requirements. + /// [name] - Required. Resource name of the custom or managed constraint. See + /// the custom constraint entry for naming requirements. /// Value must have pattern /// `^organizations/\[^/\]+/customConstraints/\[^/\]+$`. /// @@ -1413,7 +1413,7 @@ class ProjectsPoliciesResource { /// Similar to PolicySpec but with an extra 'launch' field for launch reference. /// -/// The PolicySpec here is specific for dry-run/darklaunch. +/// The PolicySpec here is specific for dry-run. class GoogleCloudOrgpolicyV2AlternatePolicySpec { /// Reference to the launch that will be used while audit logging and to /// control the launch. @@ -1453,19 +1453,18 @@ class GoogleCloudOrgpolicyV2AlternatePolicySpec { /// of the organization by setting a policy that includes constraints at /// different locations in the organization's resource hierarchy. Policies are /// inherited down the resource hierarchy from higher levels, but can also be -/// overridden. For details about the inheritance rules please read about -/// `policies`. Constraints have a default behavior determined by the -/// `constraint_default` field, which is the enforcement behavior that is used -/// in the absence of a policy being defined or inherited for the resource in -/// question. +/// overridden. For details about the inheritance rules, see `Policy`. +/// Constraints have a default behavior determined by the `constraint_default` +/// field, which is the enforcement behavior that is used in the absence of a +/// policy being defined or inherited for the resource in question. class GoogleCloudOrgpolicyV2Constraint { - /// Defines this constraint as being a BooleanConstraint. + /// Defines this constraint as being a boolean constraint. GoogleCloudOrgpolicyV2ConstraintBooleanConstraint? booleanConstraint; /// The evaluation behavior of this constraint in the absence of a policy. /// Possible string values are: /// - "CONSTRAINT_DEFAULT_UNSPECIFIED" : This is only used for distinguishing - /// unset values and should never be used. + /// unset values and should never be used. Results in an error. /// - "ALLOW" : Indicate that all values are allowed for list constraints. /// Indicate that enforcement is off for boolean constraints. /// - "DENY" : Indicate that all values are denied for list constraints. @@ -1483,7 +1482,7 @@ class GoogleCloudOrgpolicyV2Constraint { /// Mutable. core.String? displayName; - /// Defines this constraint as being a ListConstraint. + /// Defines this constraint as being a list constraint. GoogleCloudOrgpolicyV2ConstraintListConstraint? listConstraint; /// The resource name of the constraint. @@ -1547,15 +1546,15 @@ class GoogleCloudOrgpolicyV2Constraint { }; } -/// A constraint that is either enforced or not. +/// A constraint type is enforced or not enforced, which is configured in the +/// `PolicyRule`. /// -/// For example, a constraint `constraints/compute.disableSerialPortAccess`. If -/// it is enforced on a VM instance, serial port connections will not be opened -/// to that instance. +/// If `customConstraintDefinition` is defined, this constraint is a managed +/// constraint. class GoogleCloudOrgpolicyV2ConstraintBooleanConstraint { /// Custom constraint definition. /// - /// This is set only for Managed Constraints + /// Defines this as a managed constraint. GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinition? customConstraintDefinition; @@ -1579,14 +1578,14 @@ class GoogleCloudOrgpolicyV2ConstraintBooleanConstraint { }; } -/// Currently used for Managed Constraints. +/// Custom constraint definition. /// -/// This represents a subset of fields missing from Constraint proto that are -/// required to describe CustomConstraint +/// Defines this as a managed constraint. class GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinition { /// Allow or deny type. /// Possible string values are: - /// - "ACTION_TYPE_UNSPECIFIED" : Unspecified. Results in an error. + /// - "ACTION_TYPE_UNSPECIFIED" : This is only used for distinguishing unset + /// values and should never be used. Results in an error. /// - "ALLOW" : Allowed action type. /// - "DENY" : Deny action type. core.String? actionType; @@ -1601,9 +1600,9 @@ class GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinition { /// All the operations being applied for this constraint. core.List? methodTypes; - /// Stores Structure of parameters used by Constraint condition. + /// Stores the structure of `Parameters` used by the constraint condition. /// - /// Key of map represents name of the parameter. + /// The key of `map` represents the name of the parameter. core.Map? parameters; @@ -1661,12 +1660,13 @@ class GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameter { /// `String`, `bool` and `null` as well as `Map` and `List` values. core.Object? defaultValue; - /// Determines the parameter’s value structure. + /// Determines the parameter's value structure. /// - /// For example, LIST can be specified by defining type : LIST, and item type - /// as : STRING. + /// For example, `LIST` can be specified by defining `type: LIST`, and `item: + /// STRING`. /// Possible string values are: - /// - "TYPE_UNSPECIFIED" : Unspecified. Results in an error. + /// - "TYPE_UNSPECIFIED" : This is only used for distinguishing unset values + /// and should never be used. Results in an error. /// - "LIST" : List parameter type. /// - "STRING" : String parameter type. /// - "BOOLEAN" : Boolean parameter type. @@ -1679,7 +1679,8 @@ class GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameter { /// Type of the parameter. /// Possible string values are: - /// - "TYPE_UNSPECIFIED" : Unspecified. Results in an error. + /// - "TYPE_UNSPECIFIED" : This is only used for distinguishing unset values + /// and should never be used. Results in an error. /// - "LIST" : List parameter type. /// - "STRING" : String parameter type. /// - "BOOLEAN" : Boolean parameter type. @@ -1722,7 +1723,7 @@ class GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameter { }; } -/// Defines Medata structure. +/// Defines Metadata structure. class GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameterMetadata { /// Detailed description of what this `parameter` is and use of it. /// @@ -1744,8 +1745,8 @@ class GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameterMetadat }; } -/// A constraint that allows or disallows a list of string values, which are -/// configured by an Organization Policy administrator with a policy. +/// A constraint type that allows or disallows a list of string values, which +/// are configured in the `PolicyRule`. class GoogleCloudOrgpolicyV2ConstraintListConstraint { /// Indicates whether values grouped into categories can be used in /// `Policy.allowed_values` and `Policy.denied_values`. @@ -1786,12 +1787,14 @@ class GoogleCloudOrgpolicyV2ConstraintListConstraint { class GoogleCloudOrgpolicyV2CustomConstraint { /// Allow or deny type. /// Possible string values are: - /// - "ACTION_TYPE_UNSPECIFIED" : Unspecified. Results in an error. + /// - "ACTION_TYPE_UNSPECIFIED" : This is only used for distinguishing unset + /// values and should never be used. Results in an error. /// - "ALLOW" : Allowed action type. /// - "DENY" : Deny action type. core.String? actionType; - /// Org policy condition/expression. + /// A Common Expression Language (CEL) condition which is used in the + /// evaluation of the constraint. /// /// For example: `resource.instanceName.matches("[production|test]_.*_(\d)+")` /// or, `resource.management.auto_upgrade == true` The max length of the @@ -1834,7 +1837,7 @@ class GoogleCloudOrgpolicyV2CustomConstraint { /// The last time this custom constraint was updated. /// /// This represents the last time that the `CreateCustomConstraint` or - /// `UpdateCustomConstraint` RPC was called + /// `UpdateCustomConstraint` methods were called. /// /// Output only. core.String? updateTime; @@ -1910,10 +1913,11 @@ class GoogleCloudOrgpolicyV2ListConstraintsResponse { /// The response returned from the ListCustomConstraints method. /// -/// It will be empty if no custom constraints are set on the organization -/// resource. +/// It will be empty if no custom or managed constraints are set on the +/// organization resource. class GoogleCloudOrgpolicyV2ListCustomConstraintsResponse { - /// All custom constraints that exist on the organization resource. + /// All custom and managed constraints that exist on the organization + /// resource. /// /// It will be empty if no custom constraints are set. core.List? customConstraints; @@ -2019,7 +2023,7 @@ class GoogleCloudOrgpolicyV2Policy { /// Immutable. core.String? name; - /// Basic information about the Organization Policy. + /// Basic information about the organization policy. GoogleCloudOrgpolicyV2PolicySpec? spec; GoogleCloudOrgpolicyV2Policy({ @@ -2166,9 +2170,9 @@ class GoogleCloudOrgpolicyV2PolicySpecPolicyRule { /// only in policies for boolean constraints. core.bool? enforce; - /// Required for GMCs if parameters defined in constraints. + /// Required for managed constraints if parameters are defined. /// - /// Pass parameter values when policy enforcement is enabled. Ensure that + /// Passes parameter values when policy enforcement is enabled. Ensure that /// parameter value types match those defined in the constraint definition. /// For example: { "allowedLocations" : \["us-east1", "us-west1"\], "allowAll" /// : true } diff --git a/generated/googleapis/lib/osconfig/v1.dart b/generated/googleapis/lib/osconfig/v1.dart index 631f71e1c..1ef82df19 100644 --- a/generated/googleapis/lib/osconfig/v1.dart +++ b/generated/googleapis/lib/osconfig/v1.dart @@ -3030,7 +3030,7 @@ class OSPolicyAssignmentInstanceFilter { } /// VM inventory details. -typedef OSPolicyAssignmentInstanceFilterInventory = $Shared13; +typedef OSPolicyAssignmentInstanceFilterInventory = $Shared14; /// Message representing label set. /// @@ -3395,7 +3395,7 @@ class OSPolicyAssignmentRollout { } /// Filtering criteria to select VMs based on inventory details. -typedef OSPolicyInventoryFilter = $Shared13; +typedef OSPolicyInventoryFilter = $Shared14; /// An OS policy resource is used to define the desired state configuration and /// provides a specific functionality like installing/removing packages, diff --git a/generated/googleapis/lib/parallelstore/v1.dart b/generated/googleapis/lib/parallelstore/v1.dart index eb03c99cd..f0a9957b9 100644 --- a/generated/googleapis/lib/parallelstore/v1.dart +++ b/generated/googleapis/lib/parallelstore/v1.dart @@ -724,6 +724,11 @@ class ExportDataRequest { /// Cloud Storage destination. DestinationGcsBucket? destinationGcsBucket; + /// The metadata options for the export data. + /// + /// Optional. + TransferMetadataOptions? metadataOptions; + /// An optional request ID to identify requests. /// /// Specify a unique request ID so that if you must retry your request, the @@ -757,6 +762,7 @@ class ExportDataRequest { ExportDataRequest({ this.destinationGcsBucket, + this.metadataOptions, this.requestId, this.serviceAccount, this.sourceParallelstore, @@ -768,6 +774,10 @@ class ExportDataRequest { ? DestinationGcsBucket.fromJson(json_['destinationGcsBucket'] as core.Map) : null, + metadataOptions: json_.containsKey('metadataOptions') + ? TransferMetadataOptions.fromJson(json_['metadataOptions'] + as core.Map) + : null, requestId: json_['requestId'] as core.String?, serviceAccount: json_['serviceAccount'] as core.String?, sourceParallelstore: json_.containsKey('sourceParallelstore') @@ -779,6 +789,7 @@ class ExportDataRequest { core.Map toJson() => { if (destinationGcsBucket != null) 'destinationGcsBucket': destinationGcsBucket!, + if (metadataOptions != null) 'metadataOptions': metadataOptions!, if (requestId != null) 'requestId': requestId!, if (serviceAccount != null) 'serviceAccount': serviceAccount!, if (sourceParallelstore != null) @@ -799,6 +810,11 @@ class ImportDataRequest { /// Parallelstore destination. DestinationParallelstore? destinationParallelstore; + /// The transfer metadata options for the import data. + /// + /// Optional. + TransferMetadataOptions? metadataOptions; + /// An optional request ID to identify requests. /// /// Specify a unique request ID so that if you must retry your request, the @@ -832,6 +848,7 @@ class ImportDataRequest { ImportDataRequest({ this.destinationParallelstore, + this.metadataOptions, this.requestId, this.serviceAccount, this.sourceGcsBucket, @@ -845,6 +862,10 @@ class ImportDataRequest { json_['destinationParallelstore'] as core.Map) : null, + metadataOptions: json_.containsKey('metadataOptions') + ? TransferMetadataOptions.fromJson(json_['metadataOptions'] + as core.Map) + : null, requestId: json_['requestId'] as core.String?, serviceAccount: json_['serviceAccount'] as core.String?, sourceGcsBucket: json_.containsKey('sourceGcsBucket') @@ -856,6 +877,7 @@ class ImportDataRequest { core.Map toJson() => { if (destinationParallelstore != null) 'destinationParallelstore': destinationParallelstore!, + if (metadataOptions != null) 'metadataOptions': metadataOptions!, if (requestId != null) 'requestId': requestId!, if (serviceAccount != null) 'serviceAccount': serviceAccount!, if (sourceGcsBucket != null) 'sourceGcsBucket': sourceGcsBucket!, @@ -882,11 +904,29 @@ class Instance { /// Output only. core.String? createTime; - /// The version of DAOS software running in the instance. + /// Deprecated 'daos_version' field. + /// + /// Output only. The version of DAOS software running in the instance. /// /// Output only. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) core.String? daosVersion; + /// The deployment type of the instance. + /// + /// Allowed values are: * `SCRATCH`: the instance is a scratch instance. * + /// `PERSISTENT`: the instance is a persistent instance. + /// + /// Optional. Immutable. + /// Possible string values are: + /// - "DEPLOYMENT_TYPE_UNSPECIFIED" : Default Deployment Type It is equivalent + /// to SCRATCH + /// - "SCRATCH" : Scratch + /// - "PERSISTENT" : Persistent + core.String? deploymentType; + /// The description of the instance. /// /// 2048 characters or less. @@ -903,7 +943,7 @@ class Instance { /// `DIRECTORY_STRIPE_LEVEL_MAX`: recommended for directories with a large /// number of files. /// - /// Optional. + /// Optional. Immutable. /// Possible string values are: /// - "DIRECTORY_STRIPE_LEVEL_UNSPECIFIED" : If not set, DirectoryStripeLevel /// will default to DIRECTORY_STRIPE_LEVEL_MAX @@ -927,7 +967,7 @@ class Instance { /// for workloads involving a mix of small and large files. * /// `FILE_STRIPE_LEVEL_MAX`: higher throughput performance for larger files. /// - /// Optional. + /// Optional. Immutable. /// Possible string values are: /// - "FILE_STRIPE_LEVEL_UNSPECIFIED" : If not set, FileStripeLevel will /// default to FILE_STRIPE_LEVEL_BALANCED @@ -978,6 +1018,8 @@ class Instance { /// - "DELETING" : The instance is being deleted. /// - "FAILED" : The instance is not usable. /// - "UPGRADING" : The instance is being upgraded. + /// - "REPAIRING" : The instance is being repaired. This should only be used + /// by instances using the `PERSISTENT` deployment type. core.String? state; /// The time when the instance was updated. @@ -990,6 +1032,7 @@ class Instance { this.capacityGib, this.createTime, this.daosVersion, + this.deploymentType, this.description, this.directoryStripeLevel, this.effectiveReservedIpRange, @@ -1010,6 +1053,7 @@ class Instance { capacityGib: json_['capacityGib'] as core.String?, createTime: json_['createTime'] as core.String?, daosVersion: json_['daosVersion'] as core.String?, + deploymentType: json_['deploymentType'] as core.String?, description: json_['description'] as core.String?, directoryStripeLevel: json_['directoryStripeLevel'] as core.String?, effectiveReservedIpRange: @@ -1034,6 +1078,7 @@ class Instance { if (capacityGib != null) 'capacityGib': capacityGib!, if (createTime != null) 'createTime': createTime!, if (daosVersion != null) 'daosVersion': daosVersion!, + if (deploymentType != null) 'deploymentType': deploymentType!, if (description != null) 'description': description!, if (directoryStripeLevel != null) 'directoryStripeLevel': directoryStripeLevel!, @@ -1234,3 +1279,54 @@ typedef SourceParallelstore = $Parallelstore; /// You can find out more about this error model and how to work with it in the /// [API Design Guide](https://cloud.google.com/apis/design/errors). typedef Status = $Status00; + +/// Transfer metadata options for the instance. +class TransferMetadataOptions { + /// The GID preservation behavior. + /// + /// Optional. + /// Possible string values are: + /// - "GID_UNSPECIFIED" : default is GID_NUMBER_PRESERVE. + /// - "GID_SKIP" : Do not preserve GID during a transfer job. + /// - "GID_NUMBER_PRESERVE" : Preserve GID that is in number format during a + /// transfer job. + core.String? gid; + + /// The mode preservation behavior. + /// + /// Optional. + /// Possible string values are: + /// - "MODE_UNSPECIFIED" : default is MODE_PRESERVE. + /// - "MODE_SKIP" : Do not preserve mode during a transfer job. + /// - "MODE_PRESERVE" : Preserve mode during a transfer job. + core.String? mode; + + /// The UID preservation behavior. + /// + /// Optional. + /// Possible string values are: + /// - "UID_UNSPECIFIED" : default is UID_NUMBER_PRESERVE. + /// - "UID_SKIP" : Do not preserve UID during a transfer job. + /// - "UID_NUMBER_PRESERVE" : Preserve UID that is in number format during a + /// transfer job. + core.String? uid; + + TransferMetadataOptions({ + this.gid, + this.mode, + this.uid, + }); + + TransferMetadataOptions.fromJson(core.Map json_) + : this( + gid: json_['gid'] as core.String?, + mode: json_['mode'] as core.String?, + uid: json_['uid'] as core.String?, + ); + + core.Map toJson() => { + if (gid != null) 'gid': gid!, + if (mode != null) 'mode': mode!, + if (uid != null) 'uid': uid!, + }; +} diff --git a/generated/googleapis/lib/paymentsresellersubscription/v1.dart b/generated/googleapis/lib/paymentsresellersubscription/v1.dart index 9d1a0ef0a..6f6f63cc7 100644 --- a/generated/googleapis/lib/paymentsresellersubscription/v1.dart +++ b/generated/googleapis/lib/paymentsresellersubscription/v1.dart @@ -1276,6 +1276,43 @@ class GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionResponse { }; } +/// Payload specific for Google Home products. +class GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload { + /// This identifies whether the subscription is attached to a Google Home + /// structure. + /// + /// Output only. + core.bool? attachedToGoogleStructure; + + /// This identifies the structure ID on partner side that the subscription + /// should be applied to. + /// + /// Only required when the partner requires structure mapping. + /// + /// Optional. + core.String? partnerStructureId; + + GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload({ + this.attachedToGoogleStructure, + this.partnerStructureId, + }); + + GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload.fromJson( + core.Map json_) + : this( + attachedToGoogleStructure: + json_['attachedToGoogleStructure'] as core.bool?, + partnerStructureId: json_['partnerStructureId'] as core.String?, + ); + + core.Map toJson() => { + if (attachedToGoogleStructure != null) + 'attachedToGoogleStructure': attachedToGoogleStructure!, + if (partnerStructureId != null) + 'partnerStructureId': partnerStructureId!, + }; +} + /// Payload specific to Google One products. class GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload { /// Campaign attributed to sales of this subscription. @@ -1607,6 +1644,9 @@ class GoogleCloudPaymentsResellerSubscriptionV1ProductBundleDetailsBundleElement /// Specifies product specific payload. class GoogleCloudPaymentsResellerSubscriptionV1ProductPayload { + /// Payload specific to Google Home products. + GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload? googleHomePayload; + /// Product-specific payloads. /// /// Payload specific to Google One products. @@ -1616,6 +1656,7 @@ class GoogleCloudPaymentsResellerSubscriptionV1ProductPayload { GoogleCloudPaymentsResellerSubscriptionV1YoutubePayload? youtubePayload; GoogleCloudPaymentsResellerSubscriptionV1ProductPayload({ + this.googleHomePayload, this.googleOnePayload, this.youtubePayload, }); @@ -1623,6 +1664,11 @@ class GoogleCloudPaymentsResellerSubscriptionV1ProductPayload { GoogleCloudPaymentsResellerSubscriptionV1ProductPayload.fromJson( core.Map json_) : this( + googleHomePayload: json_.containsKey('googleHomePayload') + ? GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload + .fromJson(json_['googleHomePayload'] + as core.Map) + : null, googleOnePayload: json_.containsKey('googleOnePayload') ? GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload .fromJson(json_['googleOnePayload'] @@ -1636,6 +1682,7 @@ class GoogleCloudPaymentsResellerSubscriptionV1ProductPayload { ); core.Map toJson() => { + if (googleHomePayload != null) 'googleHomePayload': googleHomePayload!, if (googleOnePayload != null) 'googleOnePayload': googleOnePayload!, if (youtubePayload != null) 'youtubePayload': youtubePayload!, }; diff --git a/generated/googleapis/lib/places/v1.dart b/generated/googleapis/lib/places/v1.dart index aa71c5651..621fdf77c 100644 --- a/generated/googleapis/lib/places/v1.dart +++ b/generated/googleapis/lib/places/v1.dart @@ -1602,6 +1602,8 @@ class GoogleMapsPlacesV1EVChargeOptionsConnectorAggregation { /// - "EV_CONNECTOR_TYPE_UNSPECIFIED_GB_T" : GB/T type corresponds to the GB/T /// standard in China. This type covers all GB_T types. /// - "EV_CONNECTOR_TYPE_UNSPECIFIED_WALL_OUTLET" : Unspecified wall outlet. + /// - "EV_CONNECTOR_TYPE_NACS" : The North American Charging System (NACS), + /// standardized as SAE J3400. core.String? type; GoogleMapsPlacesV1EVChargeOptionsConnectorAggregation({ @@ -1670,6 +1672,7 @@ class GoogleMapsPlacesV1FuelOptionsFuelPrice { /// Possible string values are: /// - "FUEL_TYPE_UNSPECIFIED" : Unspecified fuel type. /// - "DIESEL" : Diesel fuel. + /// - "DIESEL_PLUS" : Diesel plus fuel. /// - "REGULAR_UNLEADED" : Regular unleaded. /// - "MIDGRADE" : Midgrade. /// - "PREMIUM" : Premium. @@ -1681,9 +1684,10 @@ class GoogleMapsPlacesV1FuelOptionsFuelPrice { /// - "SP98" : SP 98. /// - "SP99" : SP 99. /// - "SP100" : SP 100. - /// - "LPG" : LPG. + /// - "LPG" : Liquefied Petroleum Gas. /// - "E80" : E 80. /// - "E85" : E 85. + /// - "E100" : E 100. /// - "METHANE" : Methane. /// - "BIO_DIESEL" : Bio-diesel. /// - "TRUCK_DIESEL" : Truck diesel. @@ -2025,8 +2029,8 @@ class GoogleMapsPlacesV1Place { /// /// Note that if a place is always open (24 hours), the `close` field will not /// be set. Clients can rely on always open (24 hours) being represented as an - /// `open` period containing day with value `0`, hour with value `0`, and - /// minute with value `0`. + /// `open` period containing `day` with value `0`, `hour` with value `0`, and + /// `minute` with value `0`. GoogleMapsPlacesV1PlaceOpeningHours? regularOpeningHours; /// Contains an array of entries for information about regular secondary hours @@ -2089,6 +2093,11 @@ class GoogleMapsPlacesV1Place { /// Specifies if the business supports takeout. core.bool? takeout; + /// IANA Time Zone Database time zone. + /// + /// For example "America/New_York". + GoogleTypeTimeZone? timeZone; + /// A set of type tags for this result. /// /// For example, "political" and "locality". For the complete list of possible @@ -2182,6 +2191,7 @@ class GoogleMapsPlacesV1Place { this.shortFormattedAddress, this.subDestinations, this.takeout, + this.timeZone, this.types, this.userRatingCount, this.utcOffsetMinutes, @@ -2342,6 +2352,10 @@ class GoogleMapsPlacesV1Place { value as core.Map)) .toList(), takeout: json_['takeout'] as core.bool?, + timeZone: json_.containsKey('timeZone') + ? GoogleTypeTimeZone.fromJson( + json_['timeZone'] as core.Map) + : null, types: (json_['types'] as core.List?) ?.map((value) => value as core.String) .toList(), @@ -2431,6 +2445,7 @@ class GoogleMapsPlacesV1Place { 'shortFormattedAddress': shortFormattedAddress!, if (subDestinations != null) 'subDestinations': subDestinations!, if (takeout != null) 'takeout': takeout!, + if (timeZone != null) 'timeZone': timeZone!, if (types != null) 'types': types!, if (userRatingCount != null) 'userRatingCount': userRatingCount!, if (utcOffsetMinutes != null) 'utcOffsetMinutes': utcOffsetMinutes!, @@ -3055,9 +3070,15 @@ class GoogleMapsPlacesV1PlacePaymentOptions { /// and compound code, replacing the prefix with a reference location. typedef GoogleMapsPlacesV1PlacePlusCode = $PlusCode; -/// Place resource name and id of sub destinations that relate to the place. +/// Sub destinations are specific places associated with a main place. /// -/// For example, different terminals are different destinations of an airport. +/// These provide more specific destinations for users who are searching for a +/// large or complex place, like an airport, national park, university, or +/// stadium. For example, sub destinations at an airport might include +/// associated terminals and parking lots. Sub destinations return the place id +/// and place resource name, which can be used in subsequent Place Details (New) +/// requests to fetch richer details, including the sub destination's +/// displayName and location. class GoogleMapsPlacesV1PlaceSubDestination { /// The place id of the sub destination. core.String? id; @@ -4207,3 +4228,7 @@ typedef GoogleTypeLocalizedText = $GoogleTypeLocalizedText; /// Represents an amount of money with its currency type. typedef GoogleTypeMoney = $Money; + +/// Represents a time zone from the +/// [IANA Time Zone Database](https://www.iana.org/time-zones). +typedef GoogleTypeTimeZone = $TimeZone; diff --git a/generated/googleapis/lib/playintegrity/v1.dart b/generated/googleapis/lib/playintegrity/v1.dart index 0ca08b52c..b1139a409 100644 --- a/generated/googleapis/lib/playintegrity/v1.dart +++ b/generated/googleapis/lib/playintegrity/v1.dart @@ -247,58 +247,8 @@ class AppAccessRiskVerdict { /// List of detected app types signalled for App Access Risk. core.List? appsDetected; - /// Deprecated: this field will be removed, please use apps_detected instead. - /// - /// App access risk verdict related to apps that are not installed by Google - /// Play, and are not preloaded on the system image by the device - /// manufacturer. - /// Possible string values are: - /// - "UNKNOWN" : Risk type is unknown. - /// - "UNEVALUATED" : App access risk was not evaluated because a requirement - /// was missed, such as the device not being trusted enough. - /// - "NOT_INSTALLED" : No apps under this field are installed on the device. - /// This is only valid for the other apps field. - /// - "INSTALLED" : One or more apps under this field are installed on the - /// device. - /// - "CAPTURING" : Apps under this field are running that could be used to - /// read or capture inputs and outputs of the requesting app, such as screen - /// recording apps. - /// - "CONTROLLING" : Apps under this field are running that could be used to - /// control the device and inputs and outputs of the requesting app, such as - /// remote controlling apps. - @core.Deprecated( - 'Not supported. Member documentation may have more information.', - ) - core.String? otherApps; - - /// Deprecated: this field will be removed, please use apps_detected instead. - /// - /// App access risk verdict related to apps that are not installed by the - /// Google Play Store, and are not preloaded on the system image by the device - /// manufacturer. - /// Possible string values are: - /// - "UNKNOWN" : Risk type is unknown. - /// - "UNEVALUATED" : App access risk was not evaluated because a requirement - /// was missed, such as the device not being trusted enough. - /// - "NOT_INSTALLED" : No apps under this field are installed on the device. - /// This is only valid for the other apps field. - /// - "INSTALLED" : One or more apps under this field are installed on the - /// device. - /// - "CAPTURING" : Apps under this field are running that could be used to - /// read or capture inputs and outputs of the requesting app, such as screen - /// recording apps. - /// - "CONTROLLING" : Apps under this field are running that could be used to - /// control the device and inputs and outputs of the requesting app, such as - /// remote controlling apps. - @core.Deprecated( - 'Not supported. Member documentation may have more information.', - ) - core.String? playOrSystemApps; - AppAccessRiskVerdict({ this.appsDetected, - this.otherApps, - this.playOrSystemApps, }); AppAccessRiskVerdict.fromJson(core.Map json_) @@ -306,14 +256,10 @@ class AppAccessRiskVerdict { appsDetected: (json_['appsDetected'] as core.List?) ?.map((value) => value as core.String) .toList(), - otherApps: json_['otherApps'] as core.String?, - playOrSystemApps: json_['playOrSystemApps'] as core.String?, ); core.Map toJson() => { if (appsDetected != null) 'appsDetected': appsDetected!, - if (otherApps != null) 'otherApps': otherApps!, - if (playOrSystemApps != null) 'playOrSystemApps': playOrSystemApps!, }; } diff --git a/generated/googleapis/lib/privateca/v1.dart b/generated/googleapis/lib/privateca/v1.dart index c4e09c06c..07d32d141 100644 --- a/generated/googleapis/lib/privateca/v1.dart +++ b/generated/googleapis/lib/privateca/v1.dart @@ -3174,6 +3174,14 @@ class CertificateAuthority { /// Output only. core.String? updateTime; + /// User-defined URLs for CA certificate and CRLs. + /// + /// The service does not publish content to these URLs. It is up to the user + /// to mirror content to these URLs. + /// + /// Optional. + UserDefinedAccessUrls? userDefinedAccessUrls; + CertificateAuthority({ this.accessUrls, this.caCertificateDescriptions, @@ -3194,6 +3202,7 @@ class CertificateAuthority { this.tier, this.type, this.updateTime, + this.userDefinedAccessUrls, }); CertificateAuthority.fromJson(core.Map json_) @@ -3241,6 +3250,10 @@ class CertificateAuthority { tier: json_['tier'] as core.String?, type: json_['type'] as core.String?, updateTime: json_['updateTime'] as core.String?, + userDefinedAccessUrls: json_.containsKey('userDefinedAccessUrls') + ? UserDefinedAccessUrls.fromJson(json_['userDefinedAccessUrls'] + as core.Map) + : null, ); core.Map toJson() => { @@ -3264,6 +3277,8 @@ class CertificateAuthority { if (tier != null) 'tier': tier!, if (type != null) 'type': type!, if (updateTime != null) 'updateTime': updateTime!, + if (userDefinedAccessUrls != null) + 'userDefinedAccessUrls': userDefinedAccessUrls!, }; } @@ -4100,6 +4115,18 @@ class IssuancePolicy { /// Optional. core.List? allowedKeyTypes; + /// The duration to backdate all certificates issued from this CaPool. + /// + /// If not set, the certificates will be issued with a not_before_time of the + /// issuance time (i.e. the current time). If set, the certificates will be + /// issued with a not_before_time of the issuance time minus the + /// backdate_duration. The not_after_time will be adjusted to preserve the + /// requested lifetime. The backdate_duration must be less than or equal to 48 + /// hours. + /// + /// Optional. + core.String? backdateDuration; + /// A set of X.509 values that will be applied to all certificates issued /// through this CaPool. /// @@ -4147,6 +4174,7 @@ class IssuancePolicy { IssuancePolicy({ this.allowedIssuanceModes, this.allowedKeyTypes, + this.backdateDuration, this.baselineValues, this.identityConstraints, this.maximumLifetime, @@ -4163,6 +4191,7 @@ class IssuancePolicy { ?.map((value) => AllowedKeyType.fromJson( value as core.Map)) .toList(), + backdateDuration: json_['backdateDuration'] as core.String?, baselineValues: json_.containsKey('baselineValues') ? X509Parameters.fromJson(json_['baselineValues'] as core.Map) @@ -4184,6 +4213,7 @@ class IssuancePolicy { if (allowedIssuanceModes != null) 'allowedIssuanceModes': allowedIssuanceModes!, if (allowedKeyTypes != null) 'allowedKeyTypes': allowedKeyTypes!, + if (backdateDuration != null) 'backdateDuration': backdateDuration!, if (baselineValues != null) 'baselineValues': baselineValues!, if (identityConstraints != null) 'identityConstraints': identityConstraints!, @@ -5622,6 +5652,50 @@ typedef TestIamPermissionsResponse = $PermissionsResponse; /// CertificateAuthorityService.UndeleteCertificateAuthority. typedef UndeleteCertificateAuthorityRequest = $Request03; +/// User-defined URLs for accessing content published by this +/// CertificateAuthority. +class UserDefinedAccessUrls { + /// A list of URLs where the issuer CA certificate may be downloaded, which + /// appears in the "Authority Information Access" extension in the + /// certificate. + /// + /// If specified, the default Cloud Storage URLs will be omitted. + /// + /// Optional. + core.List? aiaIssuingCertificateUrls; + + /// A list of URLs where to obtain CRL information, i.e. the + /// DistributionPoint.fullName described by + /// https://tools.ietf.org/html/rfc5280#section-4.2.1.13. + /// + /// If specified, the default Cloud Storage URLs will be omitted. + /// + /// Optional. + core.List? crlAccessUrls; + + UserDefinedAccessUrls({ + this.aiaIssuingCertificateUrls, + this.crlAccessUrls, + }); + + UserDefinedAccessUrls.fromJson(core.Map json_) + : this( + aiaIssuingCertificateUrls: + (json_['aiaIssuingCertificateUrls'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + crlAccessUrls: (json_['crlAccessUrls'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (aiaIssuingCertificateUrls != null) + 'aiaIssuingCertificateUrls': aiaIssuingCertificateUrls!, + if (crlAccessUrls != null) 'crlAccessUrls': crlAccessUrls!, + }; +} + /// An X509Extension specifies an X.509 extension, which may be used in /// different parts of X.509 objects like certificates, CSRs, and CRLs. class X509Extension { diff --git a/generated/googleapis/lib/pubsub/v1.dart b/generated/googleapis/lib/pubsub/v1.dart index fb126c54c..918171c1d 100644 --- a/generated/googleapis/lib/pubsub/v1.dart +++ b/generated/googleapis/lib/pubsub/v1.dart @@ -2433,6 +2433,174 @@ class AwsKinesis { }; } +/// Ingestion settings for Amazon MSK. +class AwsMsk { + /// AWS role ARN to be used for Federated Identity authentication with Amazon + /// MSK. + /// + /// Check the Pub/Sub docs for how to set up this role and the required + /// permissions that need to be attached to it. + /// + /// Required. + core.String? awsRoleArn; + + /// The Amazon Resource Name (ARN) that uniquely identifies the cluster. + /// + /// Required. + core.String? clusterArn; + + /// The GCP service account to be used for Federated Identity authentication + /// with Amazon MSK (via a `AssumeRoleWithWebIdentity` call for the provided + /// role). + /// + /// The `aws_role_arn` must be set up with `accounts.google.com:sub` equals to + /// this service account number. + /// + /// Required. + core.String? gcpServiceAccount; + + /// An output-only field that indicates the state of the Amazon MSK ingestion + /// source. + /// + /// Output only. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : Default value. This value is unused. + /// - "ACTIVE" : Ingestion is active. + /// - "MSK_PERMISSION_DENIED" : Permission denied encountered while consuming + /// data from Amazon MSK. + /// - "PUBLISH_PERMISSION_DENIED" : Permission denied encountered while + /// publishing to the topic. + /// - "CLUSTER_NOT_FOUND" : The provided MSK cluster wasn't found. + /// - "TOPIC_NOT_FOUND" : The provided topic wasn't found. + core.String? state; + + /// The name of the topic in the Amazon MSK cluster that Pub/Sub will import + /// from. + /// + /// Required. + core.String? topic; + + AwsMsk({ + this.awsRoleArn, + this.clusterArn, + this.gcpServiceAccount, + this.state, + this.topic, + }); + + AwsMsk.fromJson(core.Map json_) + : this( + awsRoleArn: json_['awsRoleArn'] as core.String?, + clusterArn: json_['clusterArn'] as core.String?, + gcpServiceAccount: json_['gcpServiceAccount'] as core.String?, + state: json_['state'] as core.String?, + topic: json_['topic'] as core.String?, + ); + + core.Map toJson() => { + if (awsRoleArn != null) 'awsRoleArn': awsRoleArn!, + if (clusterArn != null) 'clusterArn': clusterArn!, + if (gcpServiceAccount != null) 'gcpServiceAccount': gcpServiceAccount!, + if (state != null) 'state': state!, + if (topic != null) 'topic': topic!, + }; +} + +/// Ingestion settings for Azure Event Hubs. +class AzureEventHubs { + /// The client id of the Azure application that is being used to authenticate + /// Pub/Sub. + /// + /// Optional. + core.String? clientId; + + /// The name of the Event Hub. + /// + /// Optional. + core.String? eventHub; + + /// The GCP service account to be used for Federated Identity authentication. + /// + /// Optional. + core.String? gcpServiceAccount; + + /// The name of the Event Hubs namespace. + /// + /// Optional. + core.String? namespace; + + /// Name of the resource group within the azure subscription. + /// + /// Optional. + core.String? resourceGroup; + + /// An output-only field that indicates the state of the Event Hubs ingestion + /// source. + /// + /// Output only. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : Default value. This value is unused. + /// - "ACTIVE" : Ingestion is active. + /// - "EVENT_HUBS_PERMISSION_DENIED" : Permission denied encountered while + /// consuming data from Event Hubs. This can happen when `client_id`, or + /// `tenant_id` are invalid. Or the right permissions haven't been granted. + /// - "PUBLISH_PERMISSION_DENIED" : Permission denied encountered while + /// publishing to the topic. + /// - "NAMESPACE_NOT_FOUND" : The provided Event Hubs namespace couldn't be + /// found. + /// - "EVENT_HUB_NOT_FOUND" : The provided Event Hub couldn't be found. + /// - "SUBSCRIPTION_NOT_FOUND" : The provided Event Hubs subscription couldn't + /// be found. + /// - "RESOURCE_GROUP_NOT_FOUND" : The provided Event Hubs resource group + /// couldn't be found. + core.String? state; + + /// The Azure subscription id. + /// + /// Optional. + core.String? subscriptionId; + + /// The tenant id of the Azure application that is being used to authenticate + /// Pub/Sub. + /// + /// Optional. + core.String? tenantId; + + AzureEventHubs({ + this.clientId, + this.eventHub, + this.gcpServiceAccount, + this.namespace, + this.resourceGroup, + this.state, + this.subscriptionId, + this.tenantId, + }); + + AzureEventHubs.fromJson(core.Map json_) + : this( + clientId: json_['clientId'] as core.String?, + eventHub: json_['eventHub'] as core.String?, + gcpServiceAccount: json_['gcpServiceAccount'] as core.String?, + namespace: json_['namespace'] as core.String?, + resourceGroup: json_['resourceGroup'] as core.String?, + state: json_['state'] as core.String?, + subscriptionId: json_['subscriptionId'] as core.String?, + tenantId: json_['tenantId'] as core.String?, + ); + + core.Map toJson() => { + if (clientId != null) 'clientId': clientId!, + if (eventHub != null) 'eventHub': eventHub!, + if (gcpServiceAccount != null) 'gcpServiceAccount': gcpServiceAccount!, + if (namespace != null) 'namespace': namespace!, + if (resourceGroup != null) 'resourceGroup': resourceGroup!, + if (state != null) 'state': state!, + if (subscriptionId != null) 'subscriptionId': subscriptionId!, + if (tenantId != null) 'tenantId': tenantId!, + }; +} + /// Configuration for a BigQuery subscription. typedef BigQueryConfig = $BigQueryConfig; @@ -2701,7 +2869,7 @@ class CloudStorageConfig { /// created. /// /// Min 1 minute, max 10 minutes, default 5 minutes. May not exceed the - /// subscription's acknowledgement deadline. + /// subscription's acknowledgment deadline. /// /// Optional. core.String? maxDuration; @@ -2825,6 +2993,87 @@ class CommitSchemaRequest { }; } +/// Ingestion settings for Confluent Cloud. +class ConfluentCloud { + /// The address of the bootstrap server. + /// + /// The format is url:port. + /// + /// Required. + core.String? bootstrapServer; + + /// The id of the cluster. + /// + /// Required. + core.String? clusterId; + + /// The GCP service account to be used for Federated Identity authentication + /// with `identity_pool_id`. + /// + /// Required. + core.String? gcpServiceAccount; + + /// The id of the identity pool to be used for Federated Identity + /// authentication with Confluent Cloud. + /// + /// See + /// https://docs.confluent.io/cloud/current/security/authenticate/workload-identities/identity-providers/oauth/identity-pools.html#add-oauth-identity-pools. + /// + /// Required. + core.String? identityPoolId; + + /// An output-only field that indicates the state of the Confluent Cloud + /// ingestion source. + /// + /// Output only. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : Default value. This value is unused. + /// - "ACTIVE" : Ingestion is active. + /// - "CONFLUENT_CLOUD_PERMISSION_DENIED" : Permission denied encountered + /// while consuming data from Confluent Cloud. + /// - "PUBLISH_PERMISSION_DENIED" : Permission denied encountered while + /// publishing to the topic. + /// - "UNREACHABLE_BOOTSTRAP_SERVER" : The provided bootstrap server address + /// is unreachable. + /// - "CLUSTER_NOT_FOUND" : The provided cluster wasn't found. + /// - "TOPIC_NOT_FOUND" : The provided topic wasn't found. + core.String? state; + + /// The name of the topic in the Confluent Cloud cluster that Pub/Sub will + /// import from. + /// + /// Required. + core.String? topic; + + ConfluentCloud({ + this.bootstrapServer, + this.clusterId, + this.gcpServiceAccount, + this.identityPoolId, + this.state, + this.topic, + }); + + ConfluentCloud.fromJson(core.Map json_) + : this( + bootstrapServer: json_['bootstrapServer'] as core.String?, + clusterId: json_['clusterId'] as core.String?, + gcpServiceAccount: json_['gcpServiceAccount'] as core.String?, + identityPoolId: json_['identityPoolId'] as core.String?, + state: json_['state'] as core.String?, + topic: json_['topic'] as core.String?, + ); + + core.Map toJson() => { + if (bootstrapServer != null) 'bootstrapServer': bootstrapServer!, + if (clusterId != null) 'clusterId': clusterId!, + if (gcpServiceAccount != null) 'gcpServiceAccount': gcpServiceAccount!, + if (identityPoolId != null) 'identityPoolId': identityPoolId!, + if (state != null) 'state': state!, + if (topic != null) 'topic': topic!, + }; +} + /// Request for the `CreateSnapshot` method. class CreateSnapshotRequest { /// See @@ -2920,11 +3169,26 @@ class IngestionDataSourceSettings { /// Optional. AwsKinesis? awsKinesis; + /// Amazon MSK. + /// + /// Optional. + AwsMsk? awsMsk; + + /// Azure Event Hubs. + /// + /// Optional. + AzureEventHubs? azureEventHubs; + /// Cloud Storage. /// /// Optional. CloudStorage? cloudStorage; + /// Confluent Cloud. + /// + /// Optional. + ConfluentCloud? confluentCloud; + /// Platform Logs settings. /// /// If unset, no Platform Logs will be generated. @@ -2934,7 +3198,10 @@ class IngestionDataSourceSettings { IngestionDataSourceSettings({ this.awsKinesis, + this.awsMsk, + this.azureEventHubs, this.cloudStorage, + this.confluentCloud, this.platformLogsSettings, }); @@ -2944,10 +3211,22 @@ class IngestionDataSourceSettings { ? AwsKinesis.fromJson( json_['awsKinesis'] as core.Map) : null, + awsMsk: json_.containsKey('awsMsk') + ? AwsMsk.fromJson( + json_['awsMsk'] as core.Map) + : null, + azureEventHubs: json_.containsKey('azureEventHubs') + ? AzureEventHubs.fromJson(json_['azureEventHubs'] + as core.Map) + : null, cloudStorage: json_.containsKey('cloudStorage') ? CloudStorage.fromJson( json_['cloudStorage'] as core.Map) : null, + confluentCloud: json_.containsKey('confluentCloud') + ? ConfluentCloud.fromJson(json_['confluentCloud'] + as core.Map) + : null, platformLogsSettings: json_.containsKey('platformLogsSettings') ? PlatformLogsSettings.fromJson(json_['platformLogsSettings'] as core.Map) @@ -2956,12 +3235,19 @@ class IngestionDataSourceSettings { core.Map toJson() => { if (awsKinesis != null) 'awsKinesis': awsKinesis!, + if (awsMsk != null) 'awsMsk': awsMsk!, + if (azureEventHubs != null) 'azureEventHubs': azureEventHubs!, if (cloudStorage != null) 'cloudStorage': cloudStorage!, + if (confluentCloud != null) 'confluentCloud': confluentCloud!, if (platformLogsSettings != null) 'platformLogsSettings': platformLogsSettings!, }; } +/// User-defined JavaScript function that can transform or filter a Pub/Sub +/// message. +typedef JavaScriptUDF = $JavaScriptUDF; + /// Response for the `ListSchemaRevisions` method. class ListSchemaRevisionsResponse { /// A token that can be sent as `page_token` to retrieve the next page. @@ -3231,6 +3517,44 @@ class MessageStoragePolicy { }; } +/// All supported message transforms types. +class MessageTransform { + /// If set to true, the transform is enabled. + /// + /// If false, the transform is disabled and will not be applied to messages. + /// Defaults to `true`. + /// + /// Optional. + core.bool? enabled; + + /// JavaScript User Defined Function. + /// + /// If multiple JavaScriptUDF's are specified on a resource, each must have a + /// unique `function_name`. + /// + /// Optional. + JavaScriptUDF? javascriptUdf; + + MessageTransform({ + this.enabled, + this.javascriptUdf, + }); + + MessageTransform.fromJson(core.Map json_) + : this( + enabled: json_['enabled'] as core.bool?, + javascriptUdf: json_.containsKey('javascriptUdf') + ? JavaScriptUDF.fromJson( + json_['javascriptUdf'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (enabled != null) 'enabled': enabled!, + if (javascriptUdf != null) 'javascriptUdf': javascriptUdf!, + }; +} + /// Request for the ModifyAckDeadline method. class ModifyAckDeadlineRequest { /// The new ack deadline with respect to the time this request was sent to the @@ -3732,7 +4056,7 @@ class ReceivedMessage { /// /// Retry delay will be exponential based on provided minimum and maximum /// backoffs. https://en.wikipedia.org/wiki/Exponential_backoff. RetryPolicy -/// will be triggered on NACKs or acknowledgement deadline exceeded events for a +/// will be triggered on NACKs or acknowledgment deadline exceeded events for a /// given message. Retry Policy is implemented on a best effort basis. At times, /// the delay between consecutive deliveries may not match the configuration. /// That is, delay can be more or less than configured backoff. @@ -4089,7 +4413,7 @@ class Subscription { /// If true, Pub/Sub provides the following guarantees for the delivery of a /// message with a given value of `message_id` on this subscription: * The /// message sent to a subscriber is guaranteed not to be resent before the - /// message's acknowledgement deadline expires. + /// message's acknowledgment deadline expires. /// /// * An acknowledged message will not be resent to a subscriber. Note that /// subscribers may still receive multiple copies of a message when @@ -4148,6 +4472,14 @@ class Subscription { /// Optional. core.String? messageRetentionDuration; + /// Transforms to be applied to messages before they are delivered to + /// subscribers. + /// + /// Transforms are applied in the order specified. + /// + /// Optional. + core.List? messageTransforms; + /// The name of the subscription. /// /// It must have the format @@ -4183,8 +4515,8 @@ class Subscription { /// /// If not set, the default retry policy is applied. This generally implies /// that messages will be retried as soon as possible for healthy subscribers. - /// RetryPolicy will be triggered on NACKs or acknowledgement deadline - /// exceeded events for a given message. + /// RetryPolicy will be triggered on NACKs or acknowledgment deadline exceeded + /// events for a given message. /// /// Optional. RetryPolicy? retryPolicy; @@ -4234,6 +4566,7 @@ class Subscription { this.filter, this.labels, this.messageRetentionDuration, + this.messageTransforms, this.name, this.pushConfig, this.retainAckedMessages, @@ -4282,6 +4615,10 @@ class Subscription { ), messageRetentionDuration: json_['messageRetentionDuration'] as core.String?, + messageTransforms: (json_['messageTransforms'] as core.List?) + ?.map((value) => MessageTransform.fromJson( + value as core.Map)) + .toList(), name: json_['name'] as core.String?, pushConfig: json_.containsKey('pushConfig') ? PushConfig.fromJson( @@ -4317,6 +4654,7 @@ class Subscription { if (labels != null) 'labels': labels!, if (messageRetentionDuration != null) 'messageRetentionDuration': messageRetentionDuration!, + if (messageTransforms != null) 'messageTransforms': messageTransforms!, if (name != null) 'name': name!, if (pushConfig != null) 'pushConfig': pushConfig!, if (retainAckedMessages != null) @@ -4409,6 +4747,13 @@ class Topic { /// Optional. MessageStoragePolicy? messageStoragePolicy; + /// Transforms to be applied to messages published to the topic. + /// + /// Transforms are applied in the order specified. + /// + /// Optional. + core.List? messageTransforms; + /// The name of the topic. /// /// It must have the format `"projects/{project}/topics/{topic}"`. `{topic}` @@ -4450,6 +4795,7 @@ class Topic { this.labels, this.messageRetentionDuration, this.messageStoragePolicy, + this.messageTransforms, this.name, this.satisfiesPzs, this.schemaSettings, @@ -4478,6 +4824,10 @@ class Topic { ? MessageStoragePolicy.fromJson(json_['messageStoragePolicy'] as core.Map) : null, + messageTransforms: (json_['messageTransforms'] as core.List?) + ?.map((value) => MessageTransform.fromJson( + value as core.Map)) + .toList(), name: json_['name'] as core.String?, satisfiesPzs: json_['satisfiesPzs'] as core.bool?, schemaSettings: json_.containsKey('schemaSettings') @@ -4496,6 +4846,7 @@ class Topic { 'messageRetentionDuration': messageRetentionDuration!, if (messageStoragePolicy != null) 'messageStoragePolicy': messageStoragePolicy!, + if (messageTransforms != null) 'messageTransforms': messageTransforms!, if (name != null) 'name': name!, if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, if (schemaSettings != null) 'schemaSettings': schemaSettings!, diff --git a/generated/googleapis/lib/rapidmigrationassessment/v1.dart b/generated/googleapis/lib/rapidmigrationassessment/v1.dart index 8d8eb47c6..e4c96cd91 100644 --- a/generated/googleapis/lib/rapidmigrationassessment/v1.dart +++ b/generated/googleapis/lib/rapidmigrationassessment/v1.dart @@ -315,7 +315,7 @@ class ProjectsLocationsCollectorsResource { /// Deletes a single Collector - changes state of collector to "Deleting". /// - /// Background jobs does final deletion thorugh producer api. + /// Background jobs does final deletion through producer API. /// /// Request parameters: /// diff --git a/generated/googleapis/lib/realtimebidding/v1.dart b/generated/googleapis/lib/realtimebidding/v1.dart index a7f606d2d..59c9c332a 100644 --- a/generated/googleapis/lib/realtimebidding/v1.dart +++ b/generated/googleapis/lib/realtimebidding/v1.dart @@ -16,7 +16,7 @@ /// /// Allows external bidders to manage their RTB integration with Google. This /// includes managing bidder endpoints, QPS quotas, configuring what ad -/// inventory to receive via pretargeting, submitting creatives for +/// inventory to receive with pretargeting, submitting creatives for /// verification, and accessing creative metadata such as approval status. /// /// For more information, see @@ -50,7 +50,7 @@ export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' /// Allows external bidders to manage their RTB integration with Google. /// /// This includes managing bidder endpoints, QPS quotas, configuring what ad -/// inventory to receive via pretargeting, submitting creatives for +/// inventory to receive with pretargeting, submitting creatives for /// verification, and accessing creative metadata such as approval status. class RealTimeBiddingApi { /// See, create, edit, and delete your Authorized Buyers and Open Bidding @@ -2341,7 +2341,7 @@ class Bidder { /// When true, bid requests from these nonguaranteed deals will always be /// sent. When false, bid requests will be subject to regular pretargeting /// configurations. Programmatic Guaranteed deals will always be sent to the - /// bidder, regardless of the value for this flag. Auction packages are not + /// bidder, regardless of the value for this option. Auction packages are not /// impacted by this value and are subject to the regular pretargeting /// configurations. /// @@ -2583,6 +2583,9 @@ class Creative { /// creative. /// /// Can be used to filter the response of the creatives.list method. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) core.List? declaredRestrictedCategories; /// IDs for the declared ad technology vendors that may be used by this @@ -2811,11 +2814,13 @@ class CreativeServingDecision { /// filtered before the auction. core.List? detectedAttributes; - /// IDs of the detected categories, if any. + /// IDs of the detected categories. /// /// The taxonomy in which the categories are expressed is specified by the - /// detected_categories_taxonomy field. Can be used to filter the response of - /// the creatives.list method. + /// detected_categories_taxonomy field. Use this in conjunction with + /// BidRequest.bcat to avoid bidding on impressions where a given ad category + /// is blocked, or to troubleshoot filtered bids. Can be used to filter the + /// response of the creatives.list method. /// /// Output only. core.List? detectedCategories; @@ -2826,6 +2831,9 @@ class CreativeServingDecision { /// Possible string values are: /// - "AD_CATEGORY_TAXONOMY_UNSPECIFIED" : Default value that should never be /// used. + /// - "GOOGLE_AD_CATEGORY_TAXONOMY" : Google ad categories taxonomy, including + /// product categories and sensitive categories. Find the category lists at + /// https://developers.google.com/authorized-buyers/rtb/data#reference-data /// - "IAB_CONTENT_1_0" : IAB Content Taxonomy 1.0. See /// https://github.com/InteractiveAdvertisingBureau/Taxonomies/blob/main/Content%20Taxonomies/Content%20Taxonomy%201.0.tsv /// for more details. diff --git a/generated/googleapis/lib/recaptchaenterprise/v1.dart b/generated/googleapis/lib/recaptchaenterprise/v1.dart index c2f11b6aa..b904295a9 100644 --- a/generated/googleapis/lib/recaptchaenterprise/v1.dart +++ b/generated/googleapis/lib/recaptchaenterprise/v1.dart @@ -1778,7 +1778,7 @@ class GoogleCloudRecaptchaenterpriseV1Event { /// - "ENABLED" : Enable Fraud Prevention for this assessment, if Fraud /// Prevention is enabled in the Google Cloud console. /// - "DISABLED" : Disable Fraud Prevention for this assessment, regardless of - /// Google Cloud console settings. + /// the Google Cloud console settings. core.String? fraudPrevention; /// Deprecated: use `user_info.account_id` instead. @@ -1806,9 +1806,20 @@ class GoogleCloudRecaptchaenterpriseV1Event { /// JA3 fingerprint for SSL clients. /// + /// To learn how to compute this fingerprint, please refer to + /// https://github.com/salesforce/ja3. + /// /// Optional. core.String? ja3; + /// JA4 fingerprint for SSL clients. + /// + /// To learn how to compute this fingerprint, please refer to + /// https://github.com/FoxIO-LLC/ja4. + /// + /// Optional. + core.String? ja4; + /// The URI resource the user requested that triggered an assessment. /// /// Optional. @@ -1872,6 +1883,7 @@ class GoogleCloudRecaptchaenterpriseV1Event { this.hashedAccountId, this.headers, this.ja3, + this.ja4, this.requestedUri, this.siteKey, this.token, @@ -1894,6 +1906,7 @@ class GoogleCloudRecaptchaenterpriseV1Event { ?.map((value) => value as core.String) .toList(), ja3: json_['ja3'] as core.String?, + ja4: json_['ja4'] as core.String?, requestedUri: json_['requestedUri'] as core.String?, siteKey: json_['siteKey'] as core.String?, token: json_['token'] as core.String?, @@ -1920,6 +1933,7 @@ class GoogleCloudRecaptchaenterpriseV1Event { if (hashedAccountId != null) 'hashedAccountId': hashedAccountId!, if (headers != null) 'headers': headers!, if (ja3 != null) 'ja3': ja3!, + if (ja4 != null) 'ja4': ja4!, if (requestedUri != null) 'requestedUri': requestedUri!, if (siteKey != null) 'siteKey': siteKey!, if (token != null) 'token': token!, @@ -2847,7 +2861,8 @@ class GoogleCloudRecaptchaenterpriseV1Metrics { /// All Key types should have score-based data. core.List? scoreMetrics; - /// Inclusive start time aligned to a day (UTC). + /// Inclusive start time aligned to a day in the America/Los_Angeles (Pacific) + /// timezone. core.String? startTime; GoogleCloudRecaptchaenterpriseV1Metrics({ diff --git a/generated/googleapis/lib/redis/v1.dart b/generated/googleapis/lib/redis/v1.dart index 0ecd49894..f3b430989 100644 --- a/generated/googleapis/lib/redis/v1.dart +++ b/generated/googleapis/lib/redis/v1.dart @@ -539,7 +539,7 @@ class ProjectsLocationsClustersResource { /// Must be between 1-63 characters. * Must end with a number or a letter. * /// Must be unique within the customer project / location /// - /// [requestId] - Idempotent request UUID. + /// [requestId] - Optional. Idempotent request UUID. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -588,7 +588,7 @@ class ProjectsLocationsClustersResource { /// Value must have pattern /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+$`. /// - /// [requestId] - Idempotent request UUID. + /// [requestId] - Optional. Idempotent request UUID. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -771,11 +771,12 @@ class ProjectsLocationsClustersResource { /// Value must have pattern /// `^projects/\[^/\]+/locations/\[^/\]+/clusters/\[^/\]+$`. /// - /// [requestId] - Idempotent request UUID. + /// [requestId] - Optional. Idempotent request UUID. /// /// [updateMask] - Required. Mask of fields to update. At least one path must /// be supplied in this field. The elements of the repeated paths field may - /// only include these fields from Cluster: * `size_gb` * `replica_count` + /// only include these fields from Cluster: * `size_gb` * `replica_count` * + /// `cluster_endpoints` /// /// [$fields] - Selector specifying which fields to include in a partial /// response. @@ -1680,6 +1681,11 @@ class Backup { /// Output only. core.String? createTime; + /// Encryption information of the backup. + /// + /// Output only. + EncryptionInfo? encryptionInfo; + /// redis-7.2, valkey-7.5 /// /// Output only. @@ -1746,6 +1752,7 @@ class Backup { this.cluster, this.clusterUid, this.createTime, + this.encryptionInfo, this.engineVersion, this.expireTime, this.name, @@ -1767,6 +1774,10 @@ class Backup { cluster: json_['cluster'] as core.String?, clusterUid: json_['clusterUid'] as core.String?, createTime: json_['createTime'] as core.String?, + encryptionInfo: json_.containsKey('encryptionInfo') + ? EncryptionInfo.fromJson(json_['encryptionInfo'] + as core.Map) + : null, engineVersion: json_['engineVersion'] as core.String?, expireTime: json_['expireTime'] as core.String?, name: json_['name'] as core.String?, @@ -1784,6 +1795,7 @@ class Backup { if (cluster != null) 'cluster': cluster!, if (clusterUid != null) 'clusterUid': clusterUid!, if (createTime != null) 'createTime': createTime!, + if (encryptionInfo != null) 'encryptionInfo': encryptionInfo!, if (engineVersion != null) 'engineVersion': engineVersion!, if (expireTime != null) 'expireTime': expireTime!, if (name != null) 'name': name!, @@ -1845,6 +1857,16 @@ class BackupCollection { /// Output only. core.String? clusterUid; + /// The time when the backup collection was created. + /// + /// Output only. + core.String? createTime; + + /// The KMS key used to encrypt the backups under this backup collection. + /// + /// Output only. + core.String? kmsKey; + /// Identifier. /// /// Full resource path of the backup collection. @@ -1858,6 +1880,8 @@ class BackupCollection { BackupCollection({ this.cluster, this.clusterUid, + this.createTime, + this.kmsKey, this.name, this.uid, }); @@ -1866,6 +1890,8 @@ class BackupCollection { : this( cluster: json_['cluster'] as core.String?, clusterUid: json_['clusterUid'] as core.String?, + createTime: json_['createTime'] as core.String?, + kmsKey: json_['kmsKey'] as core.String?, name: json_['name'] as core.String?, uid: json_['uid'] as core.String?, ); @@ -1873,6 +1899,8 @@ class BackupCollection { core.Map toJson() => { if (cluster != null) 'cluster': cluster!, if (clusterUid != null) 'clusterUid': clusterUid!, + if (createTime != null) 'createTime': createTime!, + if (kmsKey != null) 'kmsKey': kmsKey!, if (name != null) 'name': name!, if (uid != null) 'uid': uid!, }; @@ -1950,6 +1978,15 @@ class CertificateAuthority { /// A cluster instance. class Cluster { + /// If true, cluster endpoints that are created and registered by customers + /// can be deleted asynchronously. + /// + /// That is, such a cluster endpoint can be de-registered before the + /// forwarding rules in the cluster endpoint are deleted. + /// + /// Optional. + core.bool? asyncClusterEndpointsDeletionEnabled; + /// The authorization mode of the Redis cluster. /// /// If not provided, auth feature is disabled for the cluster. @@ -1974,7 +2011,7 @@ class Cluster { /// Optional. Output only. core.String? backupCollection; - /// A list of cluster enpoints. + /// A list of cluster endpoints. /// /// Optional. core.List? clusterEndpoints; @@ -2002,6 +2039,11 @@ class Cluster { /// Output only. core.List? discoveryEndpoints; + /// Encryption information of the data at rest of the cluster. + /// + /// Output only. + EncryptionInfo? encryptionInfo; + /// Backups stored in Cloud Storage buckets. /// /// The Cloud Storage buckets need to be the same region as the clusters. Read @@ -2010,6 +2052,11 @@ class Cluster { /// Optional. GcsBackupSource? gcsSource; + /// The KMS key used to encrypt the at-rest data of the cluster. + /// + /// Optional. + core.String? kmsKey; + /// ClusterMaintenancePolicy determines when to allow or deny updates. /// /// Optional. @@ -2047,6 +2094,14 @@ class Cluster { /// - "REDIS_STANDARD_SMALL" : Redis standard small node_type. core.String? nodeType; + /// Input only. + /// + /// Ondemand maintenance for the cluster. This field can be used to trigger + /// ondemand critical update on the cluster. + /// + /// Optional. + core.bool? ondemandMaintenance; + /// Persistence config (RDB, AOF) for the cluster. /// /// Optional. @@ -2140,6 +2195,7 @@ class Cluster { ZoneDistributionConfig? zoneDistributionConfig; Cluster({ + this.asyncClusterEndpointsDeletionEnabled, this.authorizationMode, this.automatedBackupConfig, this.backupCollection, @@ -2148,12 +2204,15 @@ class Cluster { this.crossClusterReplicationConfig, this.deletionProtectionEnabled, this.discoveryEndpoints, + this.encryptionInfo, this.gcsSource, + this.kmsKey, this.maintenancePolicy, this.maintenanceSchedule, this.managedBackupSource, this.name, this.nodeType, + this.ondemandMaintenance, this.persistenceConfig, this.preciseSizeGb, this.pscConfigs, @@ -2172,6 +2231,8 @@ class Cluster { Cluster.fromJson(core.Map json_) : this( + asyncClusterEndpointsDeletionEnabled: + json_['asyncClusterEndpointsDeletionEnabled'] as core.bool?, authorizationMode: json_['authorizationMode'] as core.String?, automatedBackupConfig: json_.containsKey('automatedBackupConfig') ? AutomatedBackupConfig.fromJson(json_['automatedBackupConfig'] @@ -2195,10 +2256,15 @@ class Cluster { ?.map((value) => DiscoveryEndpoint.fromJson( value as core.Map)) .toList(), + encryptionInfo: json_.containsKey('encryptionInfo') + ? EncryptionInfo.fromJson(json_['encryptionInfo'] + as core.Map) + : null, gcsSource: json_.containsKey('gcsSource') ? GcsBackupSource.fromJson( json_['gcsSource'] as core.Map) : null, + kmsKey: json_['kmsKey'] as core.String?, maintenancePolicy: json_.containsKey('maintenancePolicy') ? ClusterMaintenancePolicy.fromJson(json_['maintenancePolicy'] as core.Map) @@ -2213,6 +2279,7 @@ class Cluster { : null, name: json_['name'] as core.String?, nodeType: json_['nodeType'] as core.String?, + ondemandMaintenance: json_['ondemandMaintenance'] as core.bool?, persistenceConfig: json_.containsKey('persistenceConfig') ? ClusterPersistenceConfig.fromJson(json_['persistenceConfig'] as core.Map) @@ -2255,6 +2322,9 @@ class Cluster { ); core.Map toJson() => { + if (asyncClusterEndpointsDeletionEnabled != null) + 'asyncClusterEndpointsDeletionEnabled': + asyncClusterEndpointsDeletionEnabled!, if (authorizationMode != null) 'authorizationMode': authorizationMode!, if (automatedBackupConfig != null) 'automatedBackupConfig': automatedBackupConfig!, @@ -2267,7 +2337,9 @@ class Cluster { 'deletionProtectionEnabled': deletionProtectionEnabled!, if (discoveryEndpoints != null) 'discoveryEndpoints': discoveryEndpoints!, + if (encryptionInfo != null) 'encryptionInfo': encryptionInfo!, if (gcsSource != null) 'gcsSource': gcsSource!, + if (kmsKey != null) 'kmsKey': kmsKey!, if (maintenancePolicy != null) 'maintenancePolicy': maintenancePolicy!, if (maintenanceSchedule != null) 'maintenanceSchedule': maintenanceSchedule!, @@ -2275,6 +2347,8 @@ class Cluster { 'managedBackupSource': managedBackupSource!, if (name != null) 'name': name!, if (nodeType != null) 'nodeType': nodeType!, + if (ondemandMaintenance != null) + 'ondemandMaintenance': ondemandMaintenance!, if (persistenceConfig != null) 'persistenceConfig': persistenceConfig!, if (preciseSizeGb != null) 'preciseSizeGb': preciseSizeGb!, if (pscConfigs != null) 'pscConfigs': pscConfigs!, @@ -2305,6 +2379,8 @@ class ClusterEndpoint { /// /// They are created in the same VPC network, one for each service attachment /// in the cluster. + /// + /// Required. core.List? connections; ClusterEndpoint({ @@ -2371,7 +2447,7 @@ class ClusterMaintenancePolicy { }; } -/// Upcoming maitenance schedule. +/// Upcoming maintenance schedule. class ClusterMaintenanceSchedule { /// The end time of any upcoming scheduled maintenance for this instance. /// @@ -2656,6 +2732,75 @@ class DiscoveryEndpoint { /// (google.protobuf.Empty); } typedef Empty = $Empty; +/// EncryptionInfo describes the encryption information of a cluster or a +/// backup. +class EncryptionInfo { + /// Type of encryption. + /// + /// Output only. + /// Possible string values are: + /// - "TYPE_UNSPECIFIED" : Encryption type not specified. Defaults to + /// GOOGLE_DEFAULT_ENCRYPTION. + /// - "GOOGLE_DEFAULT_ENCRYPTION" : The data is encrypted at rest with a key + /// that is fully managed by Google. No key version will be populated. This is + /// the default state. + /// - "CUSTOMER_MANAGED_ENCRYPTION" : The data is encrypted at rest with a key + /// that is managed by the customer. KMS key versions will be populated. + core.String? encryptionType; + + /// The state of the primary version of the KMS key perceived by the system. + /// + /// This field is not populated in backups. + /// + /// Output only. + /// Possible string values are: + /// - "KMS_KEY_STATE_UNSPECIFIED" : The default value. This value is unused. + /// - "ENABLED" : The KMS key is enabled and correctly configured. + /// - "PERMISSION_DENIED" : Permission denied on the KMS key. + /// - "DISABLED" : The KMS key is disabled. + /// - "DESTROYED" : The KMS key is destroyed. + /// - "DESTROY_SCHEDULED" : The KMS key is scheduled to be destroyed. + /// - "EKM_KEY_UNREACHABLE_DETECTED" : The EKM key is unreachable. + /// - "BILLING_DISABLED" : Billing is disabled for the project. + /// - "UNKNOWN_FAILURE" : All other unknown failures. + core.String? kmsKeyPrimaryState; + + /// KMS key versions that are being used to protect the data at-rest. + /// + /// Output only. + core.List? kmsKeyVersions; + + /// The most recent time when the encryption info was updated. + /// + /// Output only. + core.String? lastUpdateTime; + + EncryptionInfo({ + this.encryptionType, + this.kmsKeyPrimaryState, + this.kmsKeyVersions, + this.lastUpdateTime, + }); + + EncryptionInfo.fromJson(core.Map json_) + : this( + encryptionType: json_['encryptionType'] as core.String?, + kmsKeyPrimaryState: json_['kmsKeyPrimaryState'] as core.String?, + kmsKeyVersions: (json_['kmsKeyVersions'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + lastUpdateTime: json_['lastUpdateTime'] as core.String?, + ); + + core.Map toJson() => { + if (encryptionType != null) 'encryptionType': encryptionType!, + if (kmsKeyPrimaryState != null) + 'kmsKeyPrimaryState': kmsKeyPrimaryState!, + if (kmsKeyVersions != null) 'kmsKeyVersions': kmsKeyVersions!, + if (lastUpdateTime != null) 'lastUpdateTime': lastUpdateTime!, + }; +} + /// Request for \[ExportBackup\]. class ExportBackupRequest { /// Google Cloud Storage bucket, like "my-bucket". @@ -2764,7 +2909,7 @@ class FixedFrequencySchedule { /// /// The Cloud Storage buckets need to be the same region as the clusters. class GcsBackupSource { - /// URIs of the GCS objects to import. + /// URIs of the Cloud Storage objects to import. /// /// Example: gs://bucket1/object1, gs://bucket2/folder2/object2 /// @@ -3073,11 +3218,12 @@ class Instance { /// The version of Redis software. /// - /// If not provided, latest supported version will be used. Currently, the + /// If not provided, the default version will be used. Currently, the /// supported values are: * `REDIS_3_2` for Redis 3.2 compatibility * - /// `REDIS_4_0` for Redis 4.0 compatibility (default) * `REDIS_5_0` for Redis - /// 5.0 compatibility * `REDIS_6_X` for Redis 6.x compatibility * `REDIS_7_0` - /// for Redis 7.0 compatibility + /// `REDIS_4_0` for Redis 4.0 compatibility * `REDIS_5_0` for Redis 5.0 + /// compatibility * `REDIS_6_X` for Redis 6.x compatibility * `REDIS_7_0` for + /// Redis 7.0 compatibility (default) * `REDIS_7_2` for Redis 7.2 + /// compatibility /// /// Optional. core.String? redisVersion; @@ -4217,6 +4363,11 @@ class PscConnection { /// Required. core.String? network; + /// The port number of the exposed discovery endpoint. + /// + /// Output only. + core.int? port; + /// Project ID of the consumer project where the forwarding rule is created /// in. /// @@ -4255,6 +4406,7 @@ class PscConnection { this.connectionType, this.forwardingRule, this.network, + this.port, this.projectId, this.pscConnectionId, this.pscConnectionStatus, @@ -4267,6 +4419,7 @@ class PscConnection { connectionType: json_['connectionType'] as core.String?, forwardingRule: json_['forwardingRule'] as core.String?, network: json_['network'] as core.String?, + port: json_['port'] as core.int?, projectId: json_['projectId'] as core.String?, pscConnectionId: json_['pscConnectionId'] as core.String?, pscConnectionStatus: json_['pscConnectionStatus'] as core.String?, @@ -4278,6 +4431,7 @@ class PscConnection { if (connectionType != null) 'connectionType': connectionType!, if (forwardingRule != null) 'forwardingRule': forwardingRule!, if (network != null) 'network': network!, + if (port != null) 'port': port!, if (projectId != null) 'projectId': projectId!, if (pscConnectionId != null) 'pscConnectionId': pscConnectionId!, if (pscConnectionStatus != null) @@ -4560,6 +4714,15 @@ class TlsCertificate { /// Represents information about an updating cluster. class UpdateInfo { + /// Target node type for redis cluster. + /// Possible string values are: + /// - "NODE_TYPE_UNSPECIFIED" : Node type unspecified + /// - "REDIS_SHARED_CORE_NANO" : Redis shared core nano node_type. + /// - "REDIS_HIGHMEM_MEDIUM" : Redis highmem medium node_type. + /// - "REDIS_HIGHMEM_XLARGE" : Redis highmem xlarge node_type. + /// - "REDIS_STANDARD_SMALL" : Redis standard small node_type. + core.String? targetNodeType; + /// Target number of replica nodes per shard. core.int? targetReplicaCount; @@ -4567,17 +4730,20 @@ class UpdateInfo { core.int? targetShardCount; UpdateInfo({ + this.targetNodeType, this.targetReplicaCount, this.targetShardCount, }); UpdateInfo.fromJson(core.Map json_) : this( + targetNodeType: json_['targetNodeType'] as core.String?, targetReplicaCount: json_['targetReplicaCount'] as core.int?, targetShardCount: json_['targetShardCount'] as core.int?, ); core.Map toJson() => { + if (targetNodeType != null) 'targetNodeType': targetNodeType!, if (targetReplicaCount != null) 'targetReplicaCount': targetReplicaCount!, if (targetShardCount != null) 'targetShardCount': targetShardCount!, diff --git a/generated/googleapis/lib/resourcesettings/v1.dart b/generated/googleapis/lib/resourcesettings/v1.dart deleted file mode 100644 index d906b1ed7..000000000 --- a/generated/googleapis/lib/resourcesettings/v1.dart +++ /dev/null @@ -1,953 +0,0 @@ -// This is a generated file (see the discoveryapis_generator project). - -// ignore_for_file: camel_case_types -// ignore_for_file: comment_references -// ignore_for_file: deprecated_member_use_from_same_package -// ignore_for_file: doc_directive_unknown -// ignore_for_file: lines_longer_than_80_chars -// ignore_for_file: non_constant_identifier_names -// ignore_for_file: prefer_interpolation_to_compose_strings -// ignore_for_file: unintended_html_in_doc_comment -// ignore_for_file: unnecessary_brace_in_string_interps -// ignore_for_file: unnecessary_lambdas -// ignore_for_file: unnecessary_string_interpolations - -/// Resource Settings API - v1 -/// -/// The Resource Settings API allows users to control and modify the behavior of -/// their GCP resources (e.g., VM, firewall, Project, etc.) across the Cloud -/// Resource Hierarchy. -/// -/// For more information, see -/// -/// -/// Create an instance of [ResourceSettingsApi] to access these resources: -/// -/// - [FoldersResource] -/// - [FoldersSettingsResource] -/// - [OrganizationsResource] -/// - [OrganizationsSettingsResource] -/// - [ProjectsResource] -/// - [ProjectsSettingsResource] -library; - -import 'dart:async' as async; -import 'dart:convert' as convert; -import 'dart:core' as core; - -import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; -import 'package:http/http.dart' as http; - -import '../src/user_agent.dart'; - -export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' - show ApiRequestError, DetailedApiRequestError; - -/// The Resource Settings API allows users to control and modify the behavior of -/// their GCP resources (e.g., VM, firewall, Project, etc.) across the Cloud -/// Resource Hierarchy. -class ResourceSettingsApi { - /// See, edit, configure, and delete your Google Cloud data and see the email - /// address for your Google Account. - static const cloudPlatformScope = - 'https://www.googleapis.com/auth/cloud-platform'; - - final commons.ApiRequester _requester; - - FoldersResource get folders => FoldersResource(_requester); - OrganizationsResource get organizations => OrganizationsResource(_requester); - ProjectsResource get projects => ProjectsResource(_requester); - - ResourceSettingsApi(http.Client client, - {core.String rootUrl = 'https://resourcesettings.googleapis.com/', - core.String servicePath = ''}) - : _requester = - commons.ApiRequester(client, rootUrl, servicePath, requestHeaders); -} - -class FoldersResource { - final commons.ApiRequester _requester; - - FoldersSettingsResource get settings => FoldersSettingsResource(_requester); - - FoldersResource(commons.ApiRequester client) : _requester = client; -} - -@core.Deprecated( - 'Not supported. Member documentation may have more information.', -) -class FoldersSettingsResource { - final commons.ApiRequester _requester; - - FoldersSettingsResource(commons.ApiRequester client) : _requester = client; - - /// Returns a specified setting. - /// - /// Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the - /// setting does not exist. - /// - /// Request parameters: - /// - /// [name] - Required. The name of the setting to get. See Setting for naming - /// requirements. - /// Value must have pattern `^folders/\[^/\]+/settings/\[^/\]+$`. - /// - /// [view] - The SettingView for this request. - /// Possible string values are: - /// - "SETTING_VIEW_UNSPECIFIED" : The default / unset value. The API will - /// default to the SETTING_VIEW_BASIC view. - /// - "SETTING_VIEW_BASIC" : Include Setting.metadata, but nothing else. This - /// is the default value (for both ListSettings and GetSetting). - /// - "SETTING_VIEW_EFFECTIVE_VALUE" : Include Setting.effective_value, but - /// nothing else. - /// - "SETTING_VIEW_LOCAL_VALUE" : Include Setting.local_value, but nothing - /// else. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [GoogleCloudResourcesettingsV1Setting]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - @core.Deprecated( - 'Not supported. Member documentation may have more information.', - ) - async.Future get( - core.String name, { - core.String? view, - core.String? $fields, - }) async { - final queryParams_ = >{ - if (view != null) 'view': [view], - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v1/' + core.Uri.encodeFull('$name'); - - final response_ = await _requester.request( - url_, - 'GET', - queryParams: queryParams_, - ); - return GoogleCloudResourcesettingsV1Setting.fromJson( - response_ as core.Map); - } - - /// Lists all the settings that are available on the Cloud resource `parent`. - /// - /// Request parameters: - /// - /// [parent] - Required. The project, folder, or organization that is the - /// parent resource for this setting. Must be in one of the following forms: * - /// `projects/{project_number}` * `projects/{project_id}` * - /// `folders/{folder_id}` * `organizations/{organization_id}` - /// Value must have pattern `^folders/\[^/\]+$`. - /// - /// [pageSize] - Unused. The size of the page to be returned. - /// - /// [pageToken] - Unused. A page token used to retrieve the next page. - /// - /// [view] - The SettingView for this request. - /// Possible string values are: - /// - "SETTING_VIEW_UNSPECIFIED" : The default / unset value. The API will - /// default to the SETTING_VIEW_BASIC view. - /// - "SETTING_VIEW_BASIC" : Include Setting.metadata, but nothing else. This - /// is the default value (for both ListSettings and GetSetting). - /// - "SETTING_VIEW_EFFECTIVE_VALUE" : Include Setting.effective_value, but - /// nothing else. - /// - "SETTING_VIEW_LOCAL_VALUE" : Include Setting.local_value, but nothing - /// else. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [GoogleCloudResourcesettingsV1ListSettingsResponse]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - @core.Deprecated( - 'Not supported. Member documentation may have more information.', - ) - async.Future list( - core.String parent, { - core.int? pageSize, - core.String? pageToken, - core.String? view, - core.String? $fields, - }) async { - final queryParams_ = >{ - if (pageSize != null) 'pageSize': ['${pageSize}'], - if (pageToken != null) 'pageToken': [pageToken], - if (view != null) 'view': [view], - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/settings'; - - final response_ = await _requester.request( - url_, - 'GET', - queryParams: queryParams_, - ); - return GoogleCloudResourcesettingsV1ListSettingsResponse.fromJson( - response_ as core.Map); - } - - /// Updates a specified setting. - /// - /// Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the - /// setting does not exist. Returns a `google.rpc.Status` with - /// `google.rpc.Code.FAILED_PRECONDITION` if the setting is flagged as read - /// only. Returns a `google.rpc.Status` with `google.rpc.Code.ABORTED` if the - /// etag supplied in the request does not match the persisted etag of the - /// setting value. On success, the response will contain only `name`, - /// `local_value` and `etag`. The `metadata` and `effective_value` cannot be - /// updated through this API. Note: the supplied setting will perform a full - /// overwrite of the `local_value` field. - /// - /// [request] - The metadata request object. - /// - /// Request parameters: - /// - /// [name] - The resource name of the setting. Must be in one of the following - /// forms: * `projects/{project_number}/settings/{setting_name}` * - /// `folders/{folder_id}/settings/{setting_name}` * - /// `organizations/{organization_id}/settings/{setting_name}` For example, - /// "/projects/123/settings/gcp-enableMyFeature" - /// Value must have pattern `^folders/\[^/\]+/settings/\[^/\]+$`. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [GoogleCloudResourcesettingsV1Setting]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - @core.Deprecated( - 'Not supported. Member documentation may have more information.', - ) - async.Future patch( - GoogleCloudResourcesettingsV1Setting request, - core.String name, { - core.String? $fields, - }) async { - final body_ = convert.json.encode(request); - final queryParams_ = >{ - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v1/' + core.Uri.encodeFull('$name'); - - final response_ = await _requester.request( - url_, - 'PATCH', - body: body_, - queryParams: queryParams_, - ); - return GoogleCloudResourcesettingsV1Setting.fromJson( - response_ as core.Map); - } -} - -class OrganizationsResource { - final commons.ApiRequester _requester; - - OrganizationsSettingsResource get settings => - OrganizationsSettingsResource(_requester); - - OrganizationsResource(commons.ApiRequester client) : _requester = client; -} - -@core.Deprecated( - 'Not supported. Member documentation may have more information.', -) -class OrganizationsSettingsResource { - final commons.ApiRequester _requester; - - OrganizationsSettingsResource(commons.ApiRequester client) - : _requester = client; - - /// Returns a specified setting. - /// - /// Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the - /// setting does not exist. - /// - /// Request parameters: - /// - /// [name] - Required. The name of the setting to get. See Setting for naming - /// requirements. - /// Value must have pattern `^organizations/\[^/\]+/settings/\[^/\]+$`. - /// - /// [view] - The SettingView for this request. - /// Possible string values are: - /// - "SETTING_VIEW_UNSPECIFIED" : The default / unset value. The API will - /// default to the SETTING_VIEW_BASIC view. - /// - "SETTING_VIEW_BASIC" : Include Setting.metadata, but nothing else. This - /// is the default value (for both ListSettings and GetSetting). - /// - "SETTING_VIEW_EFFECTIVE_VALUE" : Include Setting.effective_value, but - /// nothing else. - /// - "SETTING_VIEW_LOCAL_VALUE" : Include Setting.local_value, but nothing - /// else. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [GoogleCloudResourcesettingsV1Setting]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - @core.Deprecated( - 'Not supported. Member documentation may have more information.', - ) - async.Future get( - core.String name, { - core.String? view, - core.String? $fields, - }) async { - final queryParams_ = >{ - if (view != null) 'view': [view], - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v1/' + core.Uri.encodeFull('$name'); - - final response_ = await _requester.request( - url_, - 'GET', - queryParams: queryParams_, - ); - return GoogleCloudResourcesettingsV1Setting.fromJson( - response_ as core.Map); - } - - /// Lists all the settings that are available on the Cloud resource `parent`. - /// - /// Request parameters: - /// - /// [parent] - Required. The project, folder, or organization that is the - /// parent resource for this setting. Must be in one of the following forms: * - /// `projects/{project_number}` * `projects/{project_id}` * - /// `folders/{folder_id}` * `organizations/{organization_id}` - /// Value must have pattern `^organizations/\[^/\]+$`. - /// - /// [pageSize] - Unused. The size of the page to be returned. - /// - /// [pageToken] - Unused. A page token used to retrieve the next page. - /// - /// [view] - The SettingView for this request. - /// Possible string values are: - /// - "SETTING_VIEW_UNSPECIFIED" : The default / unset value. The API will - /// default to the SETTING_VIEW_BASIC view. - /// - "SETTING_VIEW_BASIC" : Include Setting.metadata, but nothing else. This - /// is the default value (for both ListSettings and GetSetting). - /// - "SETTING_VIEW_EFFECTIVE_VALUE" : Include Setting.effective_value, but - /// nothing else. - /// - "SETTING_VIEW_LOCAL_VALUE" : Include Setting.local_value, but nothing - /// else. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [GoogleCloudResourcesettingsV1ListSettingsResponse]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - @core.Deprecated( - 'Not supported. Member documentation may have more information.', - ) - async.Future list( - core.String parent, { - core.int? pageSize, - core.String? pageToken, - core.String? view, - core.String? $fields, - }) async { - final queryParams_ = >{ - if (pageSize != null) 'pageSize': ['${pageSize}'], - if (pageToken != null) 'pageToken': [pageToken], - if (view != null) 'view': [view], - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/settings'; - - final response_ = await _requester.request( - url_, - 'GET', - queryParams: queryParams_, - ); - return GoogleCloudResourcesettingsV1ListSettingsResponse.fromJson( - response_ as core.Map); - } - - /// Updates a specified setting. - /// - /// Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the - /// setting does not exist. Returns a `google.rpc.Status` with - /// `google.rpc.Code.FAILED_PRECONDITION` if the setting is flagged as read - /// only. Returns a `google.rpc.Status` with `google.rpc.Code.ABORTED` if the - /// etag supplied in the request does not match the persisted etag of the - /// setting value. On success, the response will contain only `name`, - /// `local_value` and `etag`. The `metadata` and `effective_value` cannot be - /// updated through this API. Note: the supplied setting will perform a full - /// overwrite of the `local_value` field. - /// - /// [request] - The metadata request object. - /// - /// Request parameters: - /// - /// [name] - The resource name of the setting. Must be in one of the following - /// forms: * `projects/{project_number}/settings/{setting_name}` * - /// `folders/{folder_id}/settings/{setting_name}` * - /// `organizations/{organization_id}/settings/{setting_name}` For example, - /// "/projects/123/settings/gcp-enableMyFeature" - /// Value must have pattern `^organizations/\[^/\]+/settings/\[^/\]+$`. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [GoogleCloudResourcesettingsV1Setting]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - @core.Deprecated( - 'Not supported. Member documentation may have more information.', - ) - async.Future patch( - GoogleCloudResourcesettingsV1Setting request, - core.String name, { - core.String? $fields, - }) async { - final body_ = convert.json.encode(request); - final queryParams_ = >{ - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v1/' + core.Uri.encodeFull('$name'); - - final response_ = await _requester.request( - url_, - 'PATCH', - body: body_, - queryParams: queryParams_, - ); - return GoogleCloudResourcesettingsV1Setting.fromJson( - response_ as core.Map); - } -} - -class ProjectsResource { - final commons.ApiRequester _requester; - - ProjectsSettingsResource get settings => ProjectsSettingsResource(_requester); - - ProjectsResource(commons.ApiRequester client) : _requester = client; -} - -@core.Deprecated( - 'Not supported. Member documentation may have more information.', -) -class ProjectsSettingsResource { - final commons.ApiRequester _requester; - - ProjectsSettingsResource(commons.ApiRequester client) : _requester = client; - - /// Returns a specified setting. - /// - /// Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the - /// setting does not exist. - /// - /// Request parameters: - /// - /// [name] - Required. The name of the setting to get. See Setting for naming - /// requirements. - /// Value must have pattern `^projects/\[^/\]+/settings/\[^/\]+$`. - /// - /// [view] - The SettingView for this request. - /// Possible string values are: - /// - "SETTING_VIEW_UNSPECIFIED" : The default / unset value. The API will - /// default to the SETTING_VIEW_BASIC view. - /// - "SETTING_VIEW_BASIC" : Include Setting.metadata, but nothing else. This - /// is the default value (for both ListSettings and GetSetting). - /// - "SETTING_VIEW_EFFECTIVE_VALUE" : Include Setting.effective_value, but - /// nothing else. - /// - "SETTING_VIEW_LOCAL_VALUE" : Include Setting.local_value, but nothing - /// else. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [GoogleCloudResourcesettingsV1Setting]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - @core.Deprecated( - 'Not supported. Member documentation may have more information.', - ) - async.Future get( - core.String name, { - core.String? view, - core.String? $fields, - }) async { - final queryParams_ = >{ - if (view != null) 'view': [view], - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v1/' + core.Uri.encodeFull('$name'); - - final response_ = await _requester.request( - url_, - 'GET', - queryParams: queryParams_, - ); - return GoogleCloudResourcesettingsV1Setting.fromJson( - response_ as core.Map); - } - - /// Lists all the settings that are available on the Cloud resource `parent`. - /// - /// Request parameters: - /// - /// [parent] - Required. The project, folder, or organization that is the - /// parent resource for this setting. Must be in one of the following forms: * - /// `projects/{project_number}` * `projects/{project_id}` * - /// `folders/{folder_id}` * `organizations/{organization_id}` - /// Value must have pattern `^projects/\[^/\]+$`. - /// - /// [pageSize] - Unused. The size of the page to be returned. - /// - /// [pageToken] - Unused. A page token used to retrieve the next page. - /// - /// [view] - The SettingView for this request. - /// Possible string values are: - /// - "SETTING_VIEW_UNSPECIFIED" : The default / unset value. The API will - /// default to the SETTING_VIEW_BASIC view. - /// - "SETTING_VIEW_BASIC" : Include Setting.metadata, but nothing else. This - /// is the default value (for both ListSettings and GetSetting). - /// - "SETTING_VIEW_EFFECTIVE_VALUE" : Include Setting.effective_value, but - /// nothing else. - /// - "SETTING_VIEW_LOCAL_VALUE" : Include Setting.local_value, but nothing - /// else. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [GoogleCloudResourcesettingsV1ListSettingsResponse]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - @core.Deprecated( - 'Not supported. Member documentation may have more information.', - ) - async.Future list( - core.String parent, { - core.int? pageSize, - core.String? pageToken, - core.String? view, - core.String? $fields, - }) async { - final queryParams_ = >{ - if (pageSize != null) 'pageSize': ['${pageSize}'], - if (pageToken != null) 'pageToken': [pageToken], - if (view != null) 'view': [view], - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/settings'; - - final response_ = await _requester.request( - url_, - 'GET', - queryParams: queryParams_, - ); - return GoogleCloudResourcesettingsV1ListSettingsResponse.fromJson( - response_ as core.Map); - } - - /// Updates a specified setting. - /// - /// Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the - /// setting does not exist. Returns a `google.rpc.Status` with - /// `google.rpc.Code.FAILED_PRECONDITION` if the setting is flagged as read - /// only. Returns a `google.rpc.Status` with `google.rpc.Code.ABORTED` if the - /// etag supplied in the request does not match the persisted etag of the - /// setting value. On success, the response will contain only `name`, - /// `local_value` and `etag`. The `metadata` and `effective_value` cannot be - /// updated through this API. Note: the supplied setting will perform a full - /// overwrite of the `local_value` field. - /// - /// [request] - The metadata request object. - /// - /// Request parameters: - /// - /// [name] - The resource name of the setting. Must be in one of the following - /// forms: * `projects/{project_number}/settings/{setting_name}` * - /// `folders/{folder_id}/settings/{setting_name}` * - /// `organizations/{organization_id}/settings/{setting_name}` For example, - /// "/projects/123/settings/gcp-enableMyFeature" - /// Value must have pattern `^projects/\[^/\]+/settings/\[^/\]+$`. - /// - /// [$fields] - Selector specifying which fields to include in a partial - /// response. - /// - /// Completes with a [GoogleCloudResourcesettingsV1Setting]. - /// - /// Completes with a [commons.ApiRequestError] if the API endpoint returned an - /// error. - /// - /// If the used [http.Client] completes with an error when making a REST call, - /// this method will complete with the same error. - @core.Deprecated( - 'Not supported. Member documentation may have more information.', - ) - async.Future patch( - GoogleCloudResourcesettingsV1Setting request, - core.String name, { - core.String? $fields, - }) async { - final body_ = convert.json.encode(request); - final queryParams_ = >{ - if ($fields != null) 'fields': [$fields], - }; - - final url_ = 'v1/' + core.Uri.encodeFull('$name'); - - final response_ = await _requester.request( - url_, - 'PATCH', - body: body_, - queryParams: queryParams_, - ); - return GoogleCloudResourcesettingsV1Setting.fromJson( - response_ as core.Map); - } -} - -/// The response from ListSettings. -class GoogleCloudResourcesettingsV1ListSettingsResponse { - /// Unused. - /// - /// A page token used to retrieve the next page. - core.String? nextPageToken; - - /// A list of settings that are available at the specified Cloud resource. - core.List? settings; - - GoogleCloudResourcesettingsV1ListSettingsResponse({ - this.nextPageToken, - this.settings, - }); - - GoogleCloudResourcesettingsV1ListSettingsResponse.fromJson(core.Map json_) - : this( - nextPageToken: json_['nextPageToken'] as core.String?, - settings: (json_['settings'] as core.List?) - ?.map((value) => GoogleCloudResourcesettingsV1Setting.fromJson( - value as core.Map)) - .toList(), - ); - - core.Map toJson() => { - if (nextPageToken != null) 'nextPageToken': nextPageToken!, - if (settings != null) 'settings': settings!, - }; -} - -/// The schema for settings. -class GoogleCloudResourcesettingsV1Setting { - /// The effective value of the setting at the given parent resource, evaluated - /// based on the resource hierarchy The effective value evaluates to one of - /// the following options, in this order. - /// - /// If an option is not valid or doesn't exist, then the next option is used: - /// 1. The local setting value on the given resource: Setting.local_value 2. - /// If one of the given resource's ancestors in the resource hierarchy have a - /// local setting value, the local value at the nearest such ancestor. 3. The - /// setting's default value: SettingMetadata.default_value 4. An empty value, - /// defined as a `Value` with all fields unset. The data type of Value must - /// always be consistent with the data type defined in Setting.metadata. - /// - /// Output only. - GoogleCloudResourcesettingsV1Value? effectiveValue; - - /// A fingerprint used for optimistic concurrency. - /// - /// See UpdateSetting for more details. - core.String? etag; - - /// The configured value of the setting at the given parent resource, ignoring - /// the resource hierarchy. - /// - /// The data type of Value must always be consistent with the data type - /// defined in Setting.metadata. - GoogleCloudResourcesettingsV1Value? localValue; - - /// Metadata about a setting which is not editable by the end user. - /// - /// Output only. - GoogleCloudResourcesettingsV1SettingMetadata? metadata; - - /// The resource name of the setting. - /// - /// Must be in one of the following forms: * - /// `projects/{project_number}/settings/{setting_name}` * - /// `folders/{folder_id}/settings/{setting_name}` * - /// `organizations/{organization_id}/settings/{setting_name}` For example, - /// "/projects/123/settings/gcp-enableMyFeature" - core.String? name; - - GoogleCloudResourcesettingsV1Setting({ - this.effectiveValue, - this.etag, - this.localValue, - this.metadata, - this.name, - }); - - GoogleCloudResourcesettingsV1Setting.fromJson(core.Map json_) - : this( - effectiveValue: json_.containsKey('effectiveValue') - ? GoogleCloudResourcesettingsV1Value.fromJson( - json_['effectiveValue'] - as core.Map) - : null, - etag: json_['etag'] as core.String?, - localValue: json_.containsKey('localValue') - ? GoogleCloudResourcesettingsV1Value.fromJson( - json_['localValue'] as core.Map) - : null, - metadata: json_.containsKey('metadata') - ? GoogleCloudResourcesettingsV1SettingMetadata.fromJson( - json_['metadata'] as core.Map) - : null, - name: json_['name'] as core.String?, - ); - - core.Map toJson() => { - if (effectiveValue != null) 'effectiveValue': effectiveValue!, - if (etag != null) 'etag': etag!, - if (localValue != null) 'localValue': localValue!, - if (metadata != null) 'metadata': metadata!, - if (name != null) 'name': name!, - }; -} - -/// Metadata about a setting which is not editable by the end user. -class GoogleCloudResourcesettingsV1SettingMetadata { - /// The data type for this setting. - /// Possible string values are: - /// - "DATA_TYPE_UNSPECIFIED" : Unspecified data type. - /// - "BOOLEAN" : A boolean setting. - /// - "STRING" : A string setting. - /// - "STRING_SET" : A string set setting. - /// - "ENUM_VALUE" : A Enum setting - /// - "DURATION_VALUE" : A Duration setting - /// - "STRING_MAP" : A string-\>string map setting - core.String? dataType; - - /// The value provided by Setting.effective_value if no setting value is - /// explicitly set. - /// - /// Note: not all settings have a default value. - GoogleCloudResourcesettingsV1Value? defaultValue; - - /// A detailed description of what this setting does. - core.String? description; - - /// The human readable name for this setting. - core.String? displayName; - - /// A flag indicating that values of this setting cannot be modified. - /// - /// See documentation for the specific setting for updates and reasons. - core.bool? readOnly; - - GoogleCloudResourcesettingsV1SettingMetadata({ - this.dataType, - this.defaultValue, - this.description, - this.displayName, - this.readOnly, - }); - - GoogleCloudResourcesettingsV1SettingMetadata.fromJson(core.Map json_) - : this( - dataType: json_['dataType'] as core.String?, - defaultValue: json_.containsKey('defaultValue') - ? GoogleCloudResourcesettingsV1Value.fromJson( - json_['defaultValue'] as core.Map) - : null, - description: json_['description'] as core.String?, - displayName: json_['displayName'] as core.String?, - readOnly: json_['readOnly'] as core.bool?, - ); - - core.Map toJson() => { - if (dataType != null) 'dataType': dataType!, - if (defaultValue != null) 'defaultValue': defaultValue!, - if (description != null) 'description': description!, - if (displayName != null) 'displayName': displayName!, - if (readOnly != null) 'readOnly': readOnly!, - }; -} - -/// The data in a setting value. -class GoogleCloudResourcesettingsV1Value { - /// Defines this value as being a boolean value. - core.bool? booleanValue; - - /// Defines this value as being a Duration. - core.String? durationValue; - - /// Defines this value as being a Enum. - GoogleCloudResourcesettingsV1ValueEnumValue? enumValue; - - /// Defines this value as being a StringMap. - GoogleCloudResourcesettingsV1ValueStringMap? stringMapValue; - - /// Defines this value as being a StringSet. - GoogleCloudResourcesettingsV1ValueStringSet? stringSetValue; - - /// Defines this value as being a string value. - core.String? stringValue; - - GoogleCloudResourcesettingsV1Value({ - this.booleanValue, - this.durationValue, - this.enumValue, - this.stringMapValue, - this.stringSetValue, - this.stringValue, - }); - - GoogleCloudResourcesettingsV1Value.fromJson(core.Map json_) - : this( - booleanValue: json_['booleanValue'] as core.bool?, - durationValue: json_['durationValue'] as core.String?, - enumValue: json_.containsKey('enumValue') - ? GoogleCloudResourcesettingsV1ValueEnumValue.fromJson( - json_['enumValue'] as core.Map) - : null, - stringMapValue: json_.containsKey('stringMapValue') - ? GoogleCloudResourcesettingsV1ValueStringMap.fromJson( - json_['stringMapValue'] - as core.Map) - : null, - stringSetValue: json_.containsKey('stringSetValue') - ? GoogleCloudResourcesettingsV1ValueStringSet.fromJson( - json_['stringSetValue'] - as core.Map) - : null, - stringValue: json_['stringValue'] as core.String?, - ); - - core.Map toJson() => { - if (booleanValue != null) 'booleanValue': booleanValue!, - if (durationValue != null) 'durationValue': durationValue!, - if (enumValue != null) 'enumValue': enumValue!, - if (stringMapValue != null) 'stringMapValue': stringMapValue!, - if (stringSetValue != null) 'stringSetValue': stringSetValue!, - if (stringValue != null) 'stringValue': stringValue!, - }; -} - -/// A enum value that can hold any enum type setting values. -/// -/// Each enum type is represented by a number, this representation is stored in -/// the definitions. -class GoogleCloudResourcesettingsV1ValueEnumValue { - /// The value of this enum - core.String? value; - - GoogleCloudResourcesettingsV1ValueEnumValue({ - this.value, - }); - - GoogleCloudResourcesettingsV1ValueEnumValue.fromJson(core.Map json_) - : this( - value: json_['value'] as core.String?, - ); - - core.Map toJson() => { - if (value != null) 'value': value!, - }; -} - -/// A string-\>string map value that can hold a map of string keys to string -/// values. -/// -/// The maximum length of each string is 200 characters and there can be a -/// maximum of 50 key-value pairs in the map. -class GoogleCloudResourcesettingsV1ValueStringMap { - /// The key-value pairs in the map - core.Map? mappings; - - GoogleCloudResourcesettingsV1ValueStringMap({ - this.mappings, - }); - - GoogleCloudResourcesettingsV1ValueStringMap.fromJson(core.Map json_) - : this( - mappings: - (json_['mappings'] as core.Map?)?.map( - (key, value) => core.MapEntry( - key, - value as core.String, - ), - ), - ); - - core.Map toJson() => { - if (mappings != null) 'mappings': mappings!, - }; -} - -/// A string set value that can hold a set of strings. -/// -/// The maximum length of each string is 200 characters and there can be a -/// maximum of 50 strings in the string set. -class GoogleCloudResourcesettingsV1ValueStringSet { - /// The strings in the set - core.List? values; - - GoogleCloudResourcesettingsV1ValueStringSet({ - this.values, - }); - - GoogleCloudResourcesettingsV1ValueStringSet.fromJson(core.Map json_) - : this( - values: (json_['values'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - ); - - core.Map toJson() => { - if (values != null) 'values': values!, - }; -} diff --git a/generated/googleapis/lib/retail/v2.dart b/generated/googleapis/lib/retail/v2.dart index e044c7339..30cfee447 100644 --- a/generated/googleapis/lib/retail/v2.dart +++ b/generated/googleapis/lib/retail/v2.dart @@ -12,9 +12,9 @@ // ignore_for_file: unnecessary_lambdas // ignore_for_file: unnecessary_string_interpolations -/// Vertex AI Search for Retail API - v2 +/// Vertex AI Search for commerce API - v2 /// -/// Vertex AI Search for Retail API is made up of Retail Search, Browse and +/// Vertex AI Search for commerce API is made up of Retail Search, Browse and /// Recommendations. These discovery AI solutions help you implement /// personalized search, browse and recommendations, based on machine learning /// models, across your websites and mobile applications. @@ -56,7 +56,7 @@ import '../src/user_agent.dart'; export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' show ApiRequestError, DetailedApiRequestError; -/// Vertex AI Search for Retail API is made up of Retail Search, Browse and +/// Vertex AI Search for commerce API is made up of Retail Search, Browse and /// Recommendations. /// /// These discovery AI solutions help you implement personalized search, browse @@ -167,7 +167,11 @@ class ProjectsLocationsCatalogsResource { /// [entity] - The entity for customers who run multiple entities, domains, /// sites, or regions, for example, `Google US`, `Google Ads`, `Waymo`, /// `google.com`, `youtube.com`, etc. If this is set, it must be an exact - /// match with UserEvent.entity to get per-entity autocomplete results. + /// match with UserEvent.entity to get per-entity autocomplete results. Also, + /// this entity should be limited to 256 characters, if too long, it will be + /// truncated to 256 characters in both generation and serving time, and may + /// lead to mis-match. To ensure it works, please set the entity with string + /// within 256 characters. /// /// [languageCodes] - Note that this field applies for `user-data` dataset /// only. For requests with `cloud-retail` dataset, setting this field has no @@ -4549,7 +4553,10 @@ class GoogleCloudRetailV2ColorInfo { /// encoded string with a length limit of 128 characters. Otherwise, an /// INVALID_ARGUMENT error is returned. Google Merchant Center property /// [color](https://support.google.com/merchants/answer/6324487). Schema.org - /// property [Product.color](https://schema.org/color). + /// property [Product.color](https://schema.org/color). The colorFamilies + /// field as a system attribute is not a required field but strongly + /// recommended to be specified. Google Search models treat this field as more + /// important than a custom product attribute when specified. core.List? colorFamilies; /// The color display names, which may be different from standard color family @@ -4667,9 +4674,8 @@ class GoogleCloudRetailV2CompleteQueryResponse { } /// Resource that represents attribute results. -/// -/// The list of suggestions for the attribute. class GoogleCloudRetailV2CompleteQueryResponseAttributeResult { + /// The list of suggestions for the attribute. core.List? suggestions; GoogleCloudRetailV2CompleteQueryResponseAttributeResult({ @@ -8237,6 +8243,9 @@ class GoogleCloudRetailV2Rule { /// Group of terms will not be treated as synonyms with the specific term. GoogleCloudRetailV2RuleOnewaySynonymsAction? onewaySynonymsAction; + /// Pins one or more specified products to a specific position in the results. + GoogleCloudRetailV2RulePinAction? pinAction; + /// Redirects a shopper to a specific page. GoogleCloudRetailV2RuleRedirectAction? redirectAction; @@ -8257,6 +8266,7 @@ class GoogleCloudRetailV2Rule { this.forceReturnFacetAction, this.ignoreAction, this.onewaySynonymsAction, + this.pinAction, this.redirectAction, this.removeFacetAction, this.replacementAction, @@ -8296,6 +8306,10 @@ class GoogleCloudRetailV2Rule { json_['onewaySynonymsAction'] as core.Map) : null, + pinAction: json_.containsKey('pinAction') + ? GoogleCloudRetailV2RulePinAction.fromJson( + json_['pinAction'] as core.Map) + : null, redirectAction: json_.containsKey('redirectAction') ? GoogleCloudRetailV2RuleRedirectAction.fromJson( json_['redirectAction'] @@ -8329,6 +8343,7 @@ class GoogleCloudRetailV2Rule { if (ignoreAction != null) 'ignoreAction': ignoreAction!, if (onewaySynonymsAction != null) 'onewaySynonymsAction': onewaySynonymsAction!, + if (pinAction != null) 'pinAction': pinAction!, if (redirectAction != null) 'redirectAction': redirectAction!, if (removeFacetAction != null) 'removeFacetAction': removeFacetAction!, if (replacementAction != null) 'replacementAction': replacementAction!, @@ -8607,6 +8622,54 @@ class GoogleCloudRetailV2RuleOnewaySynonymsAction { }; } +/// Pins one or more specified products to a specific position in the results. +/// +/// * Rule Condition: Must specify non-empty Condition.query_terms (for search +/// only) or Condition.page_categories (for browse only), but can't specify +/// both. * Action Input: mapping of `[pin_position, product_id]` pairs (pin +/// position uses 1-based indexing). * Action Result: Will pin products with +/// matching ids to the position specified in the final result order. Example: +/// Suppose the query is `shoes`, the Condition.query_terms is `shoes` and the +/// pin_map has `{1, "pid1"}`, then product with `pid1` will be pinned to the +/// top position in the final results. If multiple PinActions are matched to a +/// single request the actions will be processed from most to least recently +/// updated. Pins to positions larger than the max allowed page size of 120 are +/// not allowed. +class GoogleCloudRetailV2RulePinAction { + /// A map of positions to product_ids. + /// + /// Partial matches per action are allowed, if a certain position in the map + /// is already filled that `[position, product_id]` pair will be ignored but + /// the rest may still be applied. This case will only occur if multiple pin + /// actions are matched to a single request, as the map guarantees that pin + /// positions are unique within the same action. Duplicate product_ids are not + /// permitted within a single pin map. The max size of this map is 120, + /// equivalent to the max + /// [request page size](https://cloud.google.com/retail/docs/reference/rest/v2/projects.locations.catalogs.placements/search#request-body). + /// + /// Required. + core.Map? pinMap; + + GoogleCloudRetailV2RulePinAction({ + this.pinMap, + }); + + GoogleCloudRetailV2RulePinAction.fromJson(core.Map json_) + : this( + pinMap: + (json_['pinMap'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + ); + + core.Map toJson() => { + if (pinMap != null) 'pinMap': pinMap!, + }; +} + /// Redirects a shopper to a specific page. /// /// * Rule Condition: Must specify Condition.query_terms. * Action Input: @@ -8815,6 +8878,17 @@ class GoogleCloudRetailV2SearchRequest { /// in the Resource Manager documentation. core.Map? labels; + /// The BCP-47 language code, such as "en-US" or "sr-Latn" + /// [list](https://www.unicode.org/cldr/charts/46/summary/root.html). + /// + /// For more information, see + /// [Standardized codes](https://google.aip.dev/143). This field helps to + /// better interpret the query. If a value isn't specified, the query language + /// code is automatically detected, which may not be accurate. + /// + /// Optional. + core.String? languageCode; + /// A 0-indexed integer that specifies the current offset (that is, starting /// result location, amongst the Products deemed by the API as relevant) in /// search results. @@ -8879,6 +8953,17 @@ class GoogleCloudRetailV2SearchRequest { /// [Query expansion](https://cloud.google.com/retail/docs/result-size#query_expansion). GoogleCloudRetailV2SearchRequestQueryExpansionSpec? queryExpansionSpec; + /// The Unicode country/region code (CLDR) of a location, such as "US" and + /// "419" + /// [list](https://www.unicode.org/cldr/charts/46/supplemental/territory_information.html). + /// + /// For more information, see + /// [Standardized codes](https://google.aip.dev/143). If set, then results + /// will be boosted based on the region_code provided. + /// + /// Optional. + core.String? regionCode; + /// The search mode of the search request. /// /// If not specified, a single search request triggers both product search and @@ -8964,6 +9049,7 @@ class GoogleCloudRetailV2SearchRequest { this.facetSpecs, this.filter, this.labels, + this.languageCode, this.offset, this.orderBy, this.pageCategories, @@ -8972,6 +9058,7 @@ class GoogleCloudRetailV2SearchRequest { this.personalizationSpec, this.query, this.queryExpansionSpec, + this.regionCode, this.searchMode, this.spellCorrectionSpec, this.tileNavigationSpec, @@ -9013,6 +9100,7 @@ class GoogleCloudRetailV2SearchRequest { value as core.String, ), ), + languageCode: json_['languageCode'] as core.String?, offset: json_['offset'] as core.int?, orderBy: json_['orderBy'] as core.String?, pageCategories: (json_['pageCategories'] as core.List?) @@ -9031,6 +9119,7 @@ class GoogleCloudRetailV2SearchRequest { json_['queryExpansionSpec'] as core.Map) : null, + regionCode: json_['regionCode'] as core.String?, searchMode: json_['searchMode'] as core.String?, spellCorrectionSpec: json_.containsKey('spellCorrectionSpec') ? GoogleCloudRetailV2SearchRequestSpellCorrectionSpec.fromJson( @@ -9063,6 +9152,7 @@ class GoogleCloudRetailV2SearchRequest { if (facetSpecs != null) 'facetSpecs': facetSpecs!, if (filter != null) 'filter': filter!, if (labels != null) 'labels': labels!, + if (languageCode != null) 'languageCode': languageCode!, if (offset != null) 'offset': offset!, if (orderBy != null) 'orderBy': orderBy!, if (pageCategories != null) 'pageCategories': pageCategories!, @@ -9073,6 +9163,7 @@ class GoogleCloudRetailV2SearchRequest { if (query != null) 'query': query!, if (queryExpansionSpec != null) 'queryExpansionSpec': queryExpansionSpec!, + if (regionCode != null) 'regionCode': regionCode!, if (searchMode != null) 'searchMode': searchMode!, if (spellCorrectionSpec != null) 'spellCorrectionSpec': spellCorrectionSpec!, @@ -9652,10 +9743,14 @@ class GoogleCloudRetailV2SearchRequestSpellCorrectionSpec { /// This field specifies tile navigation related parameters. class GoogleCloudRetailV2SearchRequestTileNavigationSpec { - /// This field specifies the tiles which are already clicked in client side. - /// - /// NOTE: This field is not being used for filtering search products. Client - /// side should also put all the applied tiles in SearchRequest.filter. + /// This optional field specifies the tiles which are already clicked in + /// client side. + /// + /// While the feature works without this field set, particularly for an + /// initial query, it is highly recommended to set this field because it can + /// improve the quality of the search response and removes possible duplicate + /// tiles. NOTE: This field is not being used for filtering search products. + /// Client side should also put all the applied tiles in SearchRequest.filter. core.List? appliedTiles; /// This field specifies whether the customer would like to request tile @@ -10811,10 +10906,9 @@ class GoogleCloudRetailV2UserEvent { /// `remove-from-cart`: Products being removed from cart. * /// `category-page-view`: Special pages such as sale or promotion pages /// viewed. * `detail-page-view`: Products detail page viewed. * - /// `home-page-view`: Homepage viewed. * `promotion-offered`: Promotion is - /// offered to a user. * `promotion-not-offered`: Promotion is not offered to - /// a user. * `purchase-complete`: User finishing a purchase. * `search`: - /// Product search. * `shopping-cart-page-view`: User viewing a shopping cart. + /// `home-page-view`: Homepage viewed. * `purchase-complete`: User finishing a + /// purchase. * `search`: Product search. * `shopping-cart-page-view`: User + /// viewing a shopping cart. /// /// Required. core.String? eventType; diff --git a/generated/googleapis/lib/run/v1.dart b/generated/googleapis/lib/run/v1.dart index bccdc39bc..a2e248f5c 100644 --- a/generated/googleapis/lib/run/v1.dart +++ b/generated/googleapis/lib/run/v1.dart @@ -4690,11 +4690,11 @@ class ExecutionSpec { /// Specifies the maximum desired number of tasks the execution should run at /// given time. /// - /// Must be \<= task_count. When the job is run, if this field is 0 or unset, - /// the maximum possible value will be used for that execution. The actual - /// number of tasks running in steady state will be less than this number when - /// there are fewer tasks waiting to be completed, i.e. when the work left to - /// do is less than max parallelism. + /// When the job is run, if this field is 0 or unset, the maximum possible + /// value will be used for that execution. The actual number of tasks running + /// in steady state will be less than this number when there are fewer tasks + /// waiting to be completed, i.e. when the work left to do is less than max + /// parallelism. /// /// Optional. core.int? parallelism; @@ -7843,6 +7843,13 @@ class TaskSpec { /// Optional. core.int? maxRetries; + /// The Node Selector configuration. + /// + /// Map of selector key to a value which matches a node. + /// + /// Optional. + core.Map? nodeSelector; + /// Email address of the IAM service account associated with the task of a job /// execution. /// @@ -7870,6 +7877,7 @@ class TaskSpec { TaskSpec({ this.containers, this.maxRetries, + this.nodeSelector, this.serviceAccountName, this.timeoutSeconds, this.volumes, @@ -7882,6 +7890,14 @@ class TaskSpec { value as core.Map)) .toList(), maxRetries: json_['maxRetries'] as core.int?, + nodeSelector: + (json_['nodeSelector'] as core.Map?) + ?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), serviceAccountName: json_['serviceAccountName'] as core.String?, timeoutSeconds: json_['timeoutSeconds'] as core.String?, volumes: (json_['volumes'] as core.List?) @@ -7893,6 +7909,7 @@ class TaskSpec { core.Map toJson() => { if (containers != null) 'containers': containers!, if (maxRetries != null) 'maxRetries': maxRetries!, + if (nodeSelector != null) 'nodeSelector': nodeSelector!, if (serviceAccountName != null) 'serviceAccountName': serviceAccountName!, if (timeoutSeconds != null) 'timeoutSeconds': timeoutSeconds!, diff --git a/generated/googleapis/lib/run/v2.dart b/generated/googleapis/lib/run/v2.dart index b549656d7..21a36844e 100644 --- a/generated/googleapis/lib/run/v2.dart +++ b/generated/googleapis/lib/run/v2.dart @@ -32,6 +32,8 @@ /// - [ProjectsLocationsOperationsResource] /// - [ProjectsLocationsServicesResource] /// - [ProjectsLocationsServicesRevisionsResource] +/// - [ProjectsLocationsWorkerPoolsResource] +/// - [ProjectsLocationsWorkerPoolsRevisionsResource] library; import 'dart:async' as async; @@ -90,6 +92,8 @@ class ProjectsLocationsResource { ProjectsLocationsOperationsResource(_requester); ProjectsLocationsServicesResource get services => ProjectsLocationsServicesResource(_requester); + ProjectsLocationsWorkerPoolsResource get workerPools => + ProjectsLocationsWorkerPoolsResource(_requester); ProjectsLocationsResource(commons.ApiRequester client) : _requester = client; @@ -1939,720 +1943,2318 @@ class ProjectsLocationsServicesRevisionsResource { } } -/// Settings for Binary Authorization feature. -class GoogleCloudRunV2BinaryAuthorization { - /// If present, indicates to use Breakglass using this justification. +class ProjectsLocationsWorkerPoolsResource { + final commons.ApiRequester _requester; + + ProjectsLocationsWorkerPoolsRevisionsResource get revisions => + ProjectsLocationsWorkerPoolsRevisionsResource(_requester); + + ProjectsLocationsWorkerPoolsResource(commons.ApiRequester client) + : _requester = client; + + /// Creates a new WorkerPool in a given project and location. /// - /// If use_default is False, then it must be empty. For more information on - /// breakglass, see - /// https://cloud.google.com/binary-authorization/docs/using-breakglass + /// [request] - The metadata request object. /// - /// Optional. - core.String? breakglassJustification; - - /// The path to a binary authorization policy. + /// Request parameters: /// - /// Format: `projects/{project}/platforms/cloudRun/{policy-name}` + /// [parent] - Required. The location and project in which this worker pool + /// should be created. Format: projects/{project}/locations/{location}, where + /// {project} can be project id or number. Only lowercase characters, digits, + /// and hyphens. + /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. /// - /// Optional. - core.String? policy; - - /// If True, indicates to use the default project's binary authorization - /// policy. + /// [validateOnly] - Optional. Indicates that the request should be validated + /// and default values populated, without persisting the request or creating + /// any resources. /// - /// If False, binary authorization will be disabled. + /// [workerPoolId] - Required. The unique identifier for the WorkerPool. It + /// must begin with letter, and cannot end with hyphen; must contain fewer + /// than 50 characters. The name of the worker pool becomes + /// {parent}/workerPools/{worker_pool_id}. /// - /// Optional. - core.bool? useDefault; - - GoogleCloudRunV2BinaryAuthorization({ - this.breakglassJustification, - this.policy, - this.useDefault, - }); - - GoogleCloudRunV2BinaryAuthorization.fromJson(core.Map json_) - : this( - breakglassJustification: - json_['breakglassJustification'] as core.String?, - policy: json_['policy'] as core.String?, - useDefault: json_['useDefault'] as core.bool?, - ); - - core.Map toJson() => { - if (breakglassJustification != null) - 'breakglassJustification': breakglassJustification!, - if (policy != null) 'policy': policy!, - if (useDefault != null) 'useDefault': useDefault!, - }; -} - -/// Build the source using Buildpacks. -class GoogleCloudRunV2BuildpacksBuild { - /// The base image used to opt into automatic base image updates. + /// [$fields] - Selector specifying which fields to include in a partial + /// response. /// - /// Optional. - core.String? baseImage; - - /// cache_image_uri is the GCR/AR URL where the cache image will be stored. + /// Completes with a [GoogleLongrunningOperation]. /// - /// cache_image_uri is optional and omitting it will disable caching. This URL - /// must be stable across builds. It is used to derive a build-specific - /// temporary URL by substituting the tag with the build ID. The build will - /// clean up the temporary image on a best-effort basis. + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. /// - /// Optional. - core.String? cacheImageUri; + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future create( + GoogleCloudRunV2WorkerPool request, + core.String parent, { + core.bool? validateOnly, + core.String? workerPoolId, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (validateOnly != null) 'validateOnly': ['${validateOnly}'], + if (workerPoolId != null) 'workerPoolId': [workerPoolId], + if ($fields != null) 'fields': [$fields], + }; - /// Whether or not the application container will be enrolled in automatic - /// base image updates. + final url_ = 'v2/' + core.Uri.encodeFull('$parent') + '/workerPools'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return GoogleLongrunningOperation.fromJson( + response_ as core.Map); + } + + /// Deletes a WorkerPool. /// - /// When true, the application will be built on a scratch base image, so the - /// base layers can be appended at run time. + /// Request parameters: /// - /// Optional. - core.bool? enableAutomaticUpdates; - - /// User-provided build-time environment variables. + /// [name] - Required. The full name of the WorkerPool. Format: + /// projects/{project}/locations/{location}/workerPools/{worker_pool}, where + /// {project} can be project id or number. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/workerPools/\[^/\]+$`. /// - /// Optional. - core.Map? environmentVariables; - - /// Name of the function target if the source is a function source. + /// [etag] - A system-generated fingerprint for this version of the resource. + /// May be used to detect modification conflict during updates. /// - /// Required for function builds. + /// [validateOnly] - Optional. Indicates that the request should be validated + /// without actually deleting any resources. /// - /// Optional. - core.String? functionTarget; - - /// project_descriptor stores the path to the project descriptor file. + /// [$fields] - Selector specifying which fields to include in a partial + /// response. /// - /// When empty, it means that there is no project descriptor file in the - /// source. + /// Completes with a [GoogleLongrunningOperation]. /// - /// Optional. - core.String? projectDescriptor; - - /// The runtime name, e.g. 'go113'. + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. /// - /// Leave blank for generic builds. - @core.Deprecated( - 'Not supported. Member documentation may have more information.', - ) - core.String? runtime; - - GoogleCloudRunV2BuildpacksBuild({ - this.baseImage, - this.cacheImageUri, - this.enableAutomaticUpdates, - this.environmentVariables, - this.functionTarget, - this.projectDescriptor, - this.runtime, - }); + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String name, { + core.String? etag, + core.bool? validateOnly, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (etag != null) 'etag': [etag], + if (validateOnly != null) 'validateOnly': ['${validateOnly}'], + if ($fields != null) 'fields': [$fields], + }; - GoogleCloudRunV2BuildpacksBuild.fromJson(core.Map json_) - : this( - baseImage: json_['baseImage'] as core.String?, - cacheImageUri: json_['cacheImageUri'] as core.String?, - enableAutomaticUpdates: json_['enableAutomaticUpdates'] as core.bool?, - environmentVariables: (json_['environmentVariables'] - as core.Map?) - ?.map( - (key, value) => core.MapEntry( - key, - value as core.String, - ), - ), - functionTarget: json_['functionTarget'] as core.String?, - projectDescriptor: json_['projectDescriptor'] as core.String?, - runtime: json_['runtime'] as core.String?, - ); + final url_ = 'v2/' + core.Uri.encodeFull('$name'); - core.Map toJson() => { - if (baseImage != null) 'baseImage': baseImage!, - if (cacheImageUri != null) 'cacheImageUri': cacheImageUri!, - if (enableAutomaticUpdates != null) - 'enableAutomaticUpdates': enableAutomaticUpdates!, - if (environmentVariables != null) - 'environmentVariables': environmentVariables!, - if (functionTarget != null) 'functionTarget': functionTarget!, - if (projectDescriptor != null) 'projectDescriptor': projectDescriptor!, - if (runtime != null) 'runtime': runtime!, - }; -} + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return GoogleLongrunningOperation.fromJson( + response_ as core.Map); + } -/// Request message for deleting an Execution. -class GoogleCloudRunV2CancelExecutionRequest { - /// A system-generated fingerprint for this version of the resource. + /// Gets information about a WorkerPool. /// - /// This may be used to detect modification conflict during updates. - core.String? etag; - - /// Indicates that the request should be validated without actually cancelling - /// any resources. - core.bool? validateOnly; - - GoogleCloudRunV2CancelExecutionRequest({ - this.etag, - this.validateOnly, - }); + /// Request parameters: + /// + /// [name] - Required. The full name of the WorkerPool. Format: + /// projects/{project}/locations/{location}/workerPools/{worker_pool}, where + /// {project} can be project id or number. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/workerPools/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleCloudRunV2WorkerPool]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; - GoogleCloudRunV2CancelExecutionRequest.fromJson(core.Map json_) - : this( - etag: json_['etag'] as core.String?, - validateOnly: json_['validateOnly'] as core.bool?, - ); + final url_ = 'v2/' + core.Uri.encodeFull('$name'); - core.Map toJson() => { - if (etag != null) 'etag': etag!, - if (validateOnly != null) 'validateOnly': validateOnly!, - }; -} + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return GoogleCloudRunV2WorkerPool.fromJson( + response_ as core.Map); + } -/// Represents a set of Cloud SQL instances. -/// -/// Each one will be available under /cloudsql/\[instance\]. Visit -/// https://cloud.google.com/sql/docs/mysql/connect-run for more information on -/// how to connect Cloud SQL and Cloud Run. -class GoogleCloudRunV2CloudSqlInstance { - /// The Cloud SQL instance connection names, as can be found in - /// https://console.cloud.google.com/sql/instances. + /// Gets the IAM Access Control policy currently in effect for the given Cloud + /// Run WorkerPool. /// - /// Visit https://cloud.google.com/sql/docs/mysql/connect-run for more - /// information on how to connect Cloud SQL and Cloud Run. Format: - /// {project}:{location}:{instance} + /// This result does not include any inherited policies. + /// + /// Request parameters: + /// + /// [resource] - REQUIRED: The resource for which the policy is being + /// requested. See + /// [Resource names](https://cloud.google.com/apis/design/resource_names) for + /// the appropriate value for this field. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/workerPools/\[^/\]+$`. + /// + /// [options_requestedPolicyVersion] - Optional. The maximum policy version + /// that will be used to format the policy. Valid values are 0, 1, and 3. + /// Requests specifying an invalid value will be rejected. Requests for + /// policies with any conditional role bindings must specify version 3. + /// Policies with no conditional role bindings may specify any valid value or + /// leave the field unset. The policy in the response might use the policy + /// version that you specified, or it might use a lower policy version. For + /// example, if you specify version 3, but the policy has no conditional role + /// bindings, the response uses version 1. To learn which resources support + /// conditions in their IAM policies, see the + /// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleIamV1Policy]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future getIamPolicy( + core.String resource, { + core.int? options_requestedPolicyVersion, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (options_requestedPolicyVersion != null) + 'options.requestedPolicyVersion': ['${options_requestedPolicyVersion}'], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v2/' + core.Uri.encodeFull('$resource') + ':getIamPolicy'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return GoogleIamV1Policy.fromJson( + response_ as core.Map); + } + + /// Lists WorkerPools. + /// + /// Results are sorted by creation time, descending. + /// + /// Request parameters: + /// + /// [parent] - Required. The location and project to list resources on. + /// Location must be a valid Google Cloud region, and cannot be the "-" + /// wildcard. Format: projects/{project}/locations/{location}, where {project} + /// can be project id or number. + /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. + /// + /// [pageSize] - Maximum number of WorkerPools to return in this call. + /// + /// [pageToken] - A page token received from a previous call to + /// ListWorkerPools. All other parameters must match. + /// + /// [showDeleted] - If true, returns deleted (but unexpired) resources along + /// with active ones. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleCloudRunV2ListWorkerPoolsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String parent, { + core.int? pageSize, + core.String? pageToken, + core.bool? showDeleted, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if (showDeleted != null) 'showDeleted': ['${showDeleted}'], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v2/' + core.Uri.encodeFull('$parent') + '/workerPools'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return GoogleCloudRunV2ListWorkerPoolsResponse.fromJson( + response_ as core.Map); + } + + /// Updates a WorkerPool. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [name] - The fully qualified name of this WorkerPool. In + /// CreateWorkerPoolRequest, this field is ignored, and instead composed from + /// CreateWorkerPoolRequest.parent and CreateWorkerPoolRequest.worker_id. + /// Format: projects/{project}/locations/{location}/workerPools/{worker_id} + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/workerPools/\[^/\]+$`. + /// + /// [allowMissing] - Optional. If set to true, and if the WorkerPool does not + /// exist, it will create a new one. The caller must have + /// 'run.workerpools.create' permissions if this is set to true and the + /// WorkerPool does not exist. + /// + /// [forceNewRevision] - Optional. If set to true, a new revision will be + /// created from the template even if the system doesn't detect any changes + /// from the previously deployed revision. This may be useful for cases where + /// the underlying resources need to be recreated or reinitialized. For + /// example if the image is specified by label, but the underlying image + /// digest has changed) or if the container performs deployment initialization + /// work that needs to be performed again. + /// + /// [updateMask] - Optional. The list of fields to be updated. + /// + /// [validateOnly] - Optional. Indicates that the request should be validated + /// and default values populated, without persisting the request or updating + /// any resources. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleLongrunningOperation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + GoogleCloudRunV2WorkerPool request, + core.String name, { + core.bool? allowMissing, + core.bool? forceNewRevision, + core.String? updateMask, + core.bool? validateOnly, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (allowMissing != null) 'allowMissing': ['${allowMissing}'], + if (forceNewRevision != null) 'forceNewRevision': ['${forceNewRevision}'], + if (updateMask != null) 'updateMask': [updateMask], + if (validateOnly != null) 'validateOnly': ['${validateOnly}'], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v2/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return GoogleLongrunningOperation.fromJson( + response_ as core.Map); + } + + /// Sets the IAM Access control policy for the specified WorkerPool. + /// + /// Overwrites any existing policy. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [resource] - REQUIRED: The resource for which the policy is being + /// specified. See + /// [Resource names](https://cloud.google.com/apis/design/resource_names) for + /// the appropriate value for this field. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/workerPools/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleIamV1Policy]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future setIamPolicy( + GoogleIamV1SetIamPolicyRequest request, + core.String resource, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v2/' + core.Uri.encodeFull('$resource') + ':setIamPolicy'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return GoogleIamV1Policy.fromJson( + response_ as core.Map); + } + + /// Returns permissions that a caller has on the specified Project. + /// + /// There are no permissions required for making this API call. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [resource] - REQUIRED: The resource for which the policy detail is being + /// requested. See + /// [Resource names](https://cloud.google.com/apis/design/resource_names) for + /// the appropriate value for this field. + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/workerPools/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleIamV1TestIamPermissionsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future testIamPermissions( + GoogleIamV1TestIamPermissionsRequest request, + core.String resource, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = + 'v2/' + core.Uri.encodeFull('$resource') + ':testIamPermissions'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return GoogleIamV1TestIamPermissionsResponse.fromJson( + response_ as core.Map); + } +} + +class ProjectsLocationsWorkerPoolsRevisionsResource { + final commons.ApiRequester _requester; + + ProjectsLocationsWorkerPoolsRevisionsResource(commons.ApiRequester client) + : _requester = client; + + /// Deletes a Revision. + /// + /// Request parameters: + /// + /// [name] - Required. The name of the Revision to delete. Format: + /// projects/{project}/locations/{location}/services/{service}/revisions/{revision} + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/workerPools/\[^/\]+/revisions/\[^/\]+$`. + /// + /// [etag] - A system-generated fingerprint for this version of the resource. + /// This may be used to detect modification conflict during updates. + /// + /// [validateOnly] - Indicates that the request should be validated without + /// actually deleting any resources. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleLongrunningOperation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String name, { + core.String? etag, + core.bool? validateOnly, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (etag != null) 'etag': [etag], + if (validateOnly != null) 'validateOnly': ['${validateOnly}'], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v2/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return GoogleLongrunningOperation.fromJson( + response_ as core.Map); + } + + /// Gets information about a Revision. + /// + /// Request parameters: + /// + /// [name] - Required. The full name of the Revision. Format: + /// projects/{project}/locations/{location}/services/{service}/revisions/{revision} + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/workerPools/\[^/\]+/revisions/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleCloudRunV2Revision]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v2/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return GoogleCloudRunV2Revision.fromJson( + response_ as core.Map); + } + + /// Lists Revisions from a given Service, or from a given location. + /// + /// Results are sorted by creation time, descending. + /// + /// Request parameters: + /// + /// [parent] - Required. The Service from which the Revisions should be + /// listed. To list all Revisions across Services, use "-" instead of Service + /// name. Format: projects/{project}/locations/{location}/services/{service} + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/workerPools/\[^/\]+$`. + /// + /// [pageSize] - Maximum number of revisions to return in this call. + /// + /// [pageToken] - A page token received from a previous call to ListRevisions. + /// All other parameters must match. + /// + /// [showDeleted] - If true, returns deleted (but unexpired) resources along + /// with active ones. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [GoogleCloudRunV2ListRevisionsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String parent, { + core.int? pageSize, + core.String? pageToken, + core.bool? showDeleted, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if (showDeleted != null) 'showDeleted': ['${showDeleted}'], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v2/' + core.Uri.encodeFull('$parent') + '/revisions'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return GoogleCloudRunV2ListRevisionsResponse.fromJson( + response_ as core.Map); + } +} + +/// Settings for Binary Authorization feature. +class GoogleCloudRunV2BinaryAuthorization { + /// If present, indicates to use Breakglass using this justification. + /// + /// If use_default is False, then it must be empty. For more information on + /// breakglass, see + /// https://cloud.google.com/binary-authorization/docs/using-breakglass + /// + /// Optional. + core.String? breakglassJustification; + + /// The path to a binary authorization policy. + /// + /// Format: `projects/{project}/platforms/cloudRun/{policy-name}` + /// + /// Optional. + core.String? policy; + + /// If True, indicates to use the default project's binary authorization + /// policy. + /// + /// If False, binary authorization will be disabled. + /// + /// Optional. + core.bool? useDefault; + + GoogleCloudRunV2BinaryAuthorization({ + this.breakglassJustification, + this.policy, + this.useDefault, + }); + + GoogleCloudRunV2BinaryAuthorization.fromJson(core.Map json_) + : this( + breakglassJustification: + json_['breakglassJustification'] as core.String?, + policy: json_['policy'] as core.String?, + useDefault: json_['useDefault'] as core.bool?, + ); + + core.Map toJson() => { + if (breakglassJustification != null) + 'breakglassJustification': breakglassJustification!, + if (policy != null) 'policy': policy!, + if (useDefault != null) 'useDefault': useDefault!, + }; +} + +/// Describes the Build step of the function that builds a container from the +/// given source. +class GoogleCloudRunV2BuildConfig { + /// The base image used to build the function. + /// + /// Optional. + core.String? baseImage; + + /// Sets whether the function will receive automatic base image updates. + /// + /// Optional. + core.bool? enableAutomaticUpdates; + + /// User-provided build-time environment variables for the function + /// + /// Optional. + core.Map? environmentVariables; + + /// The name of the function (as defined in source code) that will be + /// executed. + /// + /// Defaults to the resource name suffix, if not specified. For backward + /// compatibility, if function with given name is not found, then the system + /// will try to use function named "function". + /// + /// Optional. + core.String? functionTarget; + + /// Artifact Registry URI to store the built image. + /// + /// Optional. + core.String? imageUri; + + /// The Cloud Build name of the latest successful deployment of the function. + /// + /// Output only. + core.String? name; + + /// Service account to be used for building the container. + /// + /// The format of this field is + /// `projects/{projectId}/serviceAccounts/{serviceAccountEmail}`. + /// + /// Optional. + core.String? serviceAccount; + + /// The Cloud Storage bucket URI where the function source code is located. + core.String? sourceLocation; + + /// Name of the Cloud Build Custom Worker Pool that should be used to build + /// the Cloud Run function. + /// + /// The format of this field is + /// `projects/{project}/locations/{region}/workerPools/{workerPool}` where + /// `{project}` and `{region}` are the project id and region respectively + /// where the worker pool is defined and `{workerPool}` is the short name of + /// the worker pool. + /// + /// Optional. + core.String? workerPool; + + GoogleCloudRunV2BuildConfig({ + this.baseImage, + this.enableAutomaticUpdates, + this.environmentVariables, + this.functionTarget, + this.imageUri, + this.name, + this.serviceAccount, + this.sourceLocation, + this.workerPool, + }); + + GoogleCloudRunV2BuildConfig.fromJson(core.Map json_) + : this( + baseImage: json_['baseImage'] as core.String?, + enableAutomaticUpdates: json_['enableAutomaticUpdates'] as core.bool?, + environmentVariables: (json_['environmentVariables'] + as core.Map?) + ?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + functionTarget: json_['functionTarget'] as core.String?, + imageUri: json_['imageUri'] as core.String?, + name: json_['name'] as core.String?, + serviceAccount: json_['serviceAccount'] as core.String?, + sourceLocation: json_['sourceLocation'] as core.String?, + workerPool: json_['workerPool'] as core.String?, + ); + + core.Map toJson() => { + if (baseImage != null) 'baseImage': baseImage!, + if (enableAutomaticUpdates != null) + 'enableAutomaticUpdates': enableAutomaticUpdates!, + if (environmentVariables != null) + 'environmentVariables': environmentVariables!, + if (functionTarget != null) 'functionTarget': functionTarget!, + if (imageUri != null) 'imageUri': imageUri!, + if (name != null) 'name': name!, + if (serviceAccount != null) 'serviceAccount': serviceAccount!, + if (sourceLocation != null) 'sourceLocation': sourceLocation!, + if (workerPool != null) 'workerPool': workerPool!, + }; +} + +/// Build information of the image. +class GoogleCloudRunV2BuildInfo { + /// Entry point of the function when the image is a Cloud Run function. + /// + /// Output only. + core.String? functionTarget; + + /// Source code location of the image. + /// + /// Output only. + core.String? sourceLocation; + + GoogleCloudRunV2BuildInfo({ + this.functionTarget, + this.sourceLocation, + }); + + GoogleCloudRunV2BuildInfo.fromJson(core.Map json_) + : this( + functionTarget: json_['functionTarget'] as core.String?, + sourceLocation: json_['sourceLocation'] as core.String?, + ); + + core.Map toJson() => { + if (functionTarget != null) 'functionTarget': functionTarget!, + if (sourceLocation != null) 'sourceLocation': sourceLocation!, + }; +} + +/// Build the source using Buildpacks. +class GoogleCloudRunV2BuildpacksBuild { + /// The base image to use for the build. + /// + /// Optional. + core.String? baseImage; + + /// cache_image_uri is the GCR/AR URL where the cache image will be stored. + /// + /// cache_image_uri is optional and omitting it will disable caching. This URL + /// must be stable across builds. It is used to derive a build-specific + /// temporary URL by substituting the tag with the build ID. The build will + /// clean up the temporary image on a best-effort basis. + /// + /// Optional. + core.String? cacheImageUri; + + /// Whether or not the application container will be enrolled in automatic + /// base image updates. + /// + /// When true, the application will be built on a scratch base image, so the + /// base layers can be appended at run time. + /// + /// Optional. + core.bool? enableAutomaticUpdates; + + /// User-provided build-time environment variables. + /// + /// Optional. + core.Map? environmentVariables; + + /// Name of the function target if the source is a function source. + /// + /// Required for function builds. + /// + /// Optional. + core.String? functionTarget; + + /// project_descriptor stores the path to the project descriptor file. + /// + /// When empty, it means that there is no project descriptor file in the + /// source. + /// + /// Optional. + core.String? projectDescriptor; + + /// The runtime name, e.g. 'go113'. + /// + /// Leave blank for generic builds. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) + core.String? runtime; + + GoogleCloudRunV2BuildpacksBuild({ + this.baseImage, + this.cacheImageUri, + this.enableAutomaticUpdates, + this.environmentVariables, + this.functionTarget, + this.projectDescriptor, + this.runtime, + }); + + GoogleCloudRunV2BuildpacksBuild.fromJson(core.Map json_) + : this( + baseImage: json_['baseImage'] as core.String?, + cacheImageUri: json_['cacheImageUri'] as core.String?, + enableAutomaticUpdates: json_['enableAutomaticUpdates'] as core.bool?, + environmentVariables: (json_['environmentVariables'] + as core.Map?) + ?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + functionTarget: json_['functionTarget'] as core.String?, + projectDescriptor: json_['projectDescriptor'] as core.String?, + runtime: json_['runtime'] as core.String?, + ); + + core.Map toJson() => { + if (baseImage != null) 'baseImage': baseImage!, + if (cacheImageUri != null) 'cacheImageUri': cacheImageUri!, + if (enableAutomaticUpdates != null) + 'enableAutomaticUpdates': enableAutomaticUpdates!, + if (environmentVariables != null) + 'environmentVariables': environmentVariables!, + if (functionTarget != null) 'functionTarget': functionTarget!, + if (projectDescriptor != null) 'projectDescriptor': projectDescriptor!, + if (runtime != null) 'runtime': runtime!, + }; +} + +/// Request message for deleting an Execution. +class GoogleCloudRunV2CancelExecutionRequest { + /// A system-generated fingerprint for this version of the resource. + /// + /// This may be used to detect modification conflict during updates. + core.String? etag; + + /// Indicates that the request should be validated without actually cancelling + /// any resources. + core.bool? validateOnly; + + GoogleCloudRunV2CancelExecutionRequest({ + this.etag, + this.validateOnly, + }); + + GoogleCloudRunV2CancelExecutionRequest.fromJson(core.Map json_) + : this( + etag: json_['etag'] as core.String?, + validateOnly: json_['validateOnly'] as core.bool?, + ); + + core.Map toJson() => { + if (etag != null) 'etag': etag!, + if (validateOnly != null) 'validateOnly': validateOnly!, + }; +} + +/// Represents a set of Cloud SQL instances. +/// +/// Each one will be available under /cloudsql/\[instance\]. Visit +/// https://cloud.google.com/sql/docs/mysql/connect-run for more information on +/// how to connect Cloud SQL and Cloud Run. +class GoogleCloudRunV2CloudSqlInstance { + /// The Cloud SQL instance connection names, as can be found in + /// https://console.cloud.google.com/sql/instances. + /// + /// Visit https://cloud.google.com/sql/docs/mysql/connect-run for more + /// information on how to connect Cloud SQL and Cloud Run. Format: + /// {project}:{location}:{instance} core.List? instances; - GoogleCloudRunV2CloudSqlInstance({ - this.instances, + GoogleCloudRunV2CloudSqlInstance({ + this.instances, + }); + + GoogleCloudRunV2CloudSqlInstance.fromJson(core.Map json_) + : this( + instances: (json_['instances'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (instances != null) 'instances': instances!, + }; +} + +/// Defines a status condition for a resource. +class GoogleCloudRunV2Condition { + /// A reason for the execution condition. + /// + /// Output only. + /// Possible string values are: + /// - "EXECUTION_REASON_UNDEFINED" : Default value. + /// - "JOB_STATUS_SERVICE_POLLING_ERROR" : Internal system error getting + /// execution status. System will retry. + /// - "NON_ZERO_EXIT_CODE" : A task reached its retry limit and the last + /// attempt failed due to the user container exiting with a non-zero exit + /// code. + /// - "CANCELLED" : The execution was cancelled by users. + /// - "CANCELLING" : The execution is in the process of being cancelled. + /// - "DELETED" : The execution was deleted. + core.String? executionReason; + + /// Last time the condition transitioned from one status to another. + core.String? lastTransitionTime; + + /// Human readable message indicating details about the current status. + core.String? message; + + /// A common (service-level) reason for this condition. + /// + /// Output only. + /// Possible string values are: + /// - "COMMON_REASON_UNDEFINED" : Default value. + /// - "UNKNOWN" : Reason unknown. Further details will be in message. + /// - "REVISION_FAILED" : Revision creation process failed. + /// - "PROGRESS_DEADLINE_EXCEEDED" : Timed out waiting for completion. + /// - "CONTAINER_MISSING" : The container image path is incorrect. + /// - "CONTAINER_PERMISSION_DENIED" : Insufficient permissions on the + /// container image. + /// - "CONTAINER_IMAGE_UNAUTHORIZED" : Container image is not authorized by + /// policy. + /// - "CONTAINER_IMAGE_AUTHORIZATION_CHECK_FAILED" : Container image policy + /// authorization check failed. + /// - "ENCRYPTION_KEY_PERMISSION_DENIED" : Insufficient permissions on + /// encryption key. + /// - "ENCRYPTION_KEY_CHECK_FAILED" : Permission check on encryption key + /// failed. + /// - "SECRETS_ACCESS_CHECK_FAILED" : At least one Access check on secrets + /// failed. + /// - "WAITING_FOR_OPERATION" : Waiting for operation to complete. + /// - "IMMEDIATE_RETRY" : System will retry immediately. + /// - "POSTPONED_RETRY" : System will retry later; current attempt failed. + /// - "INTERNAL" : An internal error occurred. Further information may be in + /// the message. + core.String? reason; + + /// A reason for the revision condition. + /// + /// Output only. + /// Possible string values are: + /// - "REVISION_REASON_UNDEFINED" : Default value. + /// - "PENDING" : Revision in Pending state. + /// - "RESERVE" : Revision is in Reserve state. + /// - "RETIRED" : Revision is Retired. + /// - "RETIRING" : Revision is being retired. + /// - "RECREATING" : Revision is being recreated. + /// - "HEALTH_CHECK_CONTAINER_ERROR" : There was a health check error. + /// - "CUSTOMIZED_PATH_RESPONSE_PENDING" : Health check failed due to user + /// error from customized path of the container. System will retry. + /// - "MIN_INSTANCES_NOT_PROVISIONED" : A revision with min_instance_count \> + /// 0 was created and is reserved, but it was not configured to serve traffic, + /// so it's not live. This can also happen momentarily during traffic + /// migration. + /// - "ACTIVE_REVISION_LIMIT_REACHED" : The maximum allowed number of active + /// revisions has been reached. + /// - "NO_DEPLOYMENT" : There was no deployment defined. This value is no + /// longer used, but Services created in older versions of the API might + /// contain this value. + /// - "HEALTH_CHECK_SKIPPED" : A revision's container has no port specified + /// since the revision is of a manually scaled service with 0 instance count + /// - "MIN_INSTANCES_WARMING" : A revision with min_instance_count \> 0 was + /// created and is waiting for enough instances to begin a traffic migration. + core.String? revisionReason; + + /// How to interpret failures of this condition, one of Error, Warning, Info + /// Possible string values are: + /// - "SEVERITY_UNSPECIFIED" : Unspecified severity + /// - "ERROR" : Error severity. + /// - "WARNING" : Warning severity. + /// - "INFO" : Info severity. + core.String? severity; + + /// State of the condition. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : The default value. This value is used if the state + /// is omitted. + /// - "CONDITION_PENDING" : Transient state: Reconciliation has not started + /// yet. + /// - "CONDITION_RECONCILING" : Transient state: reconciliation is still in + /// progress. + /// - "CONDITION_FAILED" : Terminal state: Reconciliation did not succeed. + /// - "CONDITION_SUCCEEDED" : Terminal state: Reconciliation completed + /// successfully. + core.String? state; + + /// type is used to communicate the status of the reconciliation process. + /// + /// See also: + /// https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting + /// Types common to all resources include: * "Ready": True when the Resource + /// is ready. + core.String? type; + + GoogleCloudRunV2Condition({ + this.executionReason, + this.lastTransitionTime, + this.message, + this.reason, + this.revisionReason, + this.severity, + this.state, + this.type, + }); + + GoogleCloudRunV2Condition.fromJson(core.Map json_) + : this( + executionReason: json_['executionReason'] as core.String?, + lastTransitionTime: json_['lastTransitionTime'] as core.String?, + message: json_['message'] as core.String?, + reason: json_['reason'] as core.String?, + revisionReason: json_['revisionReason'] as core.String?, + severity: json_['severity'] as core.String?, + state: json_['state'] as core.String?, + type: json_['type'] as core.String?, + ); + + core.Map toJson() => { + if (executionReason != null) 'executionReason': executionReason!, + if (lastTransitionTime != null) + 'lastTransitionTime': lastTransitionTime!, + if (message != null) 'message': message!, + if (reason != null) 'reason': reason!, + if (revisionReason != null) 'revisionReason': revisionReason!, + if (severity != null) 'severity': severity!, + if (state != null) 'state': state!, + if (type != null) 'type': type!, + }; +} + +/// A single application container. +/// +/// This specifies both the container to run, the command to run in the +/// container and the arguments to supply to it. Note that additional arguments +/// can be supplied by the system to the container at runtime. +class GoogleCloudRunV2Container { + /// Arguments to the entrypoint. + /// + /// The docker image's CMD is used if this is not provided. + core.List? args; + + /// Base image for this container. + /// + /// Only supported for services. If set, it indicates that the service is + /// enrolled into automatic base image update. + core.String? baseImageUri; + + /// The build info of the container image. + /// + /// Output only. + GoogleCloudRunV2BuildInfo? buildInfo; + + /// Entrypoint array. + /// + /// Not executed within a shell. The docker image's ENTRYPOINT is used if this + /// is not provided. + core.List? command; + + /// Names of the containers that must start before this container. + core.List? dependsOn; + + /// List of environment variables to set in the container. + core.List? env; + + /// Name of the container image in Dockerhub, Google Artifact Registry, or + /// Google Container Registry. + /// + /// If the host is not provided, Dockerhub is assumed. + /// + /// Required. + core.String? image; + + /// Periodic probe of container liveness. + /// + /// Container will be restarted if the probe fails. + GoogleCloudRunV2Probe? livenessProbe; + + /// Name of the container specified as a DNS_LABEL (RFC 1123). + core.String? name; + + /// List of ports to expose from the container. + /// + /// Only a single port can be specified. The specified ports must be listening + /// on all interfaces (0.0.0.0) within the container to be accessible. If + /// omitted, a port number will be chosen and passed to the container through + /// the PORT environment variable for the container to listen on. + core.List? ports; + + /// Compute Resource requirements by this container. + GoogleCloudRunV2ResourceRequirements? resources; + + /// Startup probe of application within the container. + /// + /// All other probes are disabled if a startup probe is provided, until it + /// succeeds. Container will not be added to service endpoints if the probe + /// fails. + GoogleCloudRunV2Probe? startupProbe; + + /// Volume to mount into the container's filesystem. + core.List? volumeMounts; + + /// Container's working directory. + /// + /// If not specified, the container runtime's default will be used, which + /// might be configured in the container image. + core.String? workingDir; + + GoogleCloudRunV2Container({ + this.args, + this.baseImageUri, + this.buildInfo, + this.command, + this.dependsOn, + this.env, + this.image, + this.livenessProbe, + this.name, + this.ports, + this.resources, + this.startupProbe, + this.volumeMounts, + this.workingDir, + }); + + GoogleCloudRunV2Container.fromJson(core.Map json_) + : this( + args: (json_['args'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + baseImageUri: json_['baseImageUri'] as core.String?, + buildInfo: json_.containsKey('buildInfo') + ? GoogleCloudRunV2BuildInfo.fromJson( + json_['buildInfo'] as core.Map) + : null, + command: (json_['command'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + dependsOn: (json_['dependsOn'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + env: (json_['env'] as core.List?) + ?.map((value) => GoogleCloudRunV2EnvVar.fromJson( + value as core.Map)) + .toList(), + image: json_['image'] as core.String?, + livenessProbe: json_.containsKey('livenessProbe') + ? GoogleCloudRunV2Probe.fromJson( + json_['livenessProbe'] as core.Map) + : null, + name: json_['name'] as core.String?, + ports: (json_['ports'] as core.List?) + ?.map((value) => GoogleCloudRunV2ContainerPort.fromJson( + value as core.Map)) + .toList(), + resources: json_.containsKey('resources') + ? GoogleCloudRunV2ResourceRequirements.fromJson( + json_['resources'] as core.Map) + : null, + startupProbe: json_.containsKey('startupProbe') + ? GoogleCloudRunV2Probe.fromJson( + json_['startupProbe'] as core.Map) + : null, + volumeMounts: (json_['volumeMounts'] as core.List?) + ?.map((value) => GoogleCloudRunV2VolumeMount.fromJson( + value as core.Map)) + .toList(), + workingDir: json_['workingDir'] as core.String?, + ); + + core.Map toJson() => { + if (args != null) 'args': args!, + if (baseImageUri != null) 'baseImageUri': baseImageUri!, + if (buildInfo != null) 'buildInfo': buildInfo!, + if (command != null) 'command': command!, + if (dependsOn != null) 'dependsOn': dependsOn!, + if (env != null) 'env': env!, + if (image != null) 'image': image!, + if (livenessProbe != null) 'livenessProbe': livenessProbe!, + if (name != null) 'name': name!, + if (ports != null) 'ports': ports!, + if (resources != null) 'resources': resources!, + if (startupProbe != null) 'startupProbe': startupProbe!, + if (volumeMounts != null) 'volumeMounts': volumeMounts!, + if (workingDir != null) 'workingDir': workingDir!, + }; +} + +/// Per-container override specification. +class GoogleCloudRunV2ContainerOverride { + /// Arguments to the entrypoint. + /// + /// Will replace existing args for override. + /// + /// Optional. + core.List? args; + + /// True if the intention is to clear out existing args list. + /// + /// Optional. + core.bool? clearArgs; + + /// List of environment variables to set in the container. + /// + /// Will be merged with existing env for override. + core.List? env; + + /// The name of the container specified as a DNS_LABEL. + core.String? name; + + GoogleCloudRunV2ContainerOverride({ + this.args, + this.clearArgs, + this.env, + this.name, + }); + + GoogleCloudRunV2ContainerOverride.fromJson(core.Map json_) + : this( + args: (json_['args'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + clearArgs: json_['clearArgs'] as core.bool?, + env: (json_['env'] as core.List?) + ?.map((value) => GoogleCloudRunV2EnvVar.fromJson( + value as core.Map)) + .toList(), + name: json_['name'] as core.String?, + ); + + core.Map toJson() => { + if (args != null) 'args': args!, + if (clearArgs != null) 'clearArgs': clearArgs!, + if (env != null) 'env': env!, + if (name != null) 'name': name!, + }; +} + +/// ContainerPort represents a network port in a single container. +class GoogleCloudRunV2ContainerPort { + /// Port number the container listens on. + /// + /// This must be a valid TCP port number, 0 \< container_port \< 65536. + core.int? containerPort; + + /// If specified, used to specify which protocol to use. + /// + /// Allowed values are "http1" and "h2c". + core.String? name; + + GoogleCloudRunV2ContainerPort({ + this.containerPort, + this.name, + }); + + GoogleCloudRunV2ContainerPort.fromJson(core.Map json_) + : this( + containerPort: json_['containerPort'] as core.int?, + name: json_['name'] as core.String?, + ); + + core.Map toJson() => { + if (containerPort != null) 'containerPort': containerPort!, + if (name != null) 'name': name!, + }; +} + +/// Build the source using Docker. +/// +/// This means the source has a Dockerfile. +typedef GoogleCloudRunV2DockerBuild = $Empty; + +/// In memory (tmpfs) ephemeral storage. +/// +/// It is ephemeral in the sense that when the sandbox is taken down, the data +/// is destroyed with it (it does not persist across sandbox runs). +class GoogleCloudRunV2EmptyDirVolumeSource { + /// The medium on which the data is stored. + /// + /// Acceptable values today is only MEMORY or none. When none, the default + /// will currently be backed by memory but could change over time. +optional + /// Possible string values are: + /// - "MEDIUM_UNSPECIFIED" : When not specified, falls back to the default + /// implementation which is currently in memory (this may change over time). + /// - "MEMORY" : Explicitly set the EmptyDir to be in memory. Uses tmpfs. + core.String? medium; + + /// Limit on the storage usable by this EmptyDir volume. + /// + /// The size limit is also applicable for memory medium. The maximum usage on + /// memory medium EmptyDir would be the minimum value between the SizeLimit + /// specified here and the sum of memory limits of all containers. The default + /// is nil which means that the limit is undefined. More info: + /// https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. + /// Info in Kubernetes: + /// https://kubernetes.io/docs/concepts/storage/volumes/#emptydir + core.String? sizeLimit; + + GoogleCloudRunV2EmptyDirVolumeSource({ + this.medium, + this.sizeLimit, + }); + + GoogleCloudRunV2EmptyDirVolumeSource.fromJson(core.Map json_) + : this( + medium: json_['medium'] as core.String?, + sizeLimit: json_['sizeLimit'] as core.String?, + ); + + core.Map toJson() => { + if (medium != null) 'medium': medium!, + if (sizeLimit != null) 'sizeLimit': sizeLimit!, + }; +} + +/// EnvVar represents an environment variable present in a Container. +class GoogleCloudRunV2EnvVar { + /// Name of the environment variable. + /// + /// Must not exceed 32768 characters. + /// + /// Required. + core.String? name; + + /// Literal value of the environment variable. + /// + /// Defaults to "", and the maximum length is 32768 bytes. Variable references + /// are not supported in Cloud Run. + core.String? value; + + /// Source for the environment variable's value. + GoogleCloudRunV2EnvVarSource? valueSource; + + GoogleCloudRunV2EnvVar({ + this.name, + this.value, + this.valueSource, + }); + + GoogleCloudRunV2EnvVar.fromJson(core.Map json_) + : this( + name: json_['name'] as core.String?, + value: json_['value'] as core.String?, + valueSource: json_.containsKey('valueSource') + ? GoogleCloudRunV2EnvVarSource.fromJson( + json_['valueSource'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (name != null) 'name': name!, + if (value != null) 'value': value!, + if (valueSource != null) 'valueSource': valueSource!, + }; +} + +/// EnvVarSource represents a source for the value of an EnvVar. +class GoogleCloudRunV2EnvVarSource { + /// Selects a secret and a specific version from Cloud Secret Manager. + GoogleCloudRunV2SecretKeySelector? secretKeyRef; + + GoogleCloudRunV2EnvVarSource({ + this.secretKeyRef, + }); + + GoogleCloudRunV2EnvVarSource.fromJson(core.Map json_) + : this( + secretKeyRef: json_.containsKey('secretKeyRef') + ? GoogleCloudRunV2SecretKeySelector.fromJson( + json_['secretKeyRef'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (secretKeyRef != null) 'secretKeyRef': secretKeyRef!, + }; +} + +/// Execution represents the configuration of a single execution. +/// +/// A execution an immutable resource that references a container image which is +/// run to completion. +class GoogleCloudRunV2Execution { + /// Unstructured key value map that may be set by external tools to store and + /// arbitrary metadata. + /// + /// They are not queryable and should be preserved when modifying objects. + /// + /// Output only. + core.Map? annotations; + + /// The number of tasks which reached phase Cancelled. + /// + /// Output only. + core.int? cancelledCount; + + /// Represents time when the execution was completed. + /// + /// It is not guaranteed to be set in happens-before order across separate + /// operations. + /// + /// Output only. + core.String? completionTime; + + /// The Condition of this Execution, containing its readiness status, and + /// detailed error information in case it did not reach the desired state. + /// + /// Output only. + core.List? conditions; + + /// Represents time when the execution was acknowledged by the execution + /// controller. + /// + /// It is not guaranteed to be set in happens-before order across separate + /// operations. + /// + /// Output only. + core.String? createTime; + + /// Email address of the authenticated creator. + /// + /// Output only. + core.String? creator; + + /// For a deleted resource, the deletion time. + /// + /// It is only populated as a response to a Delete request. + /// + /// Output only. + core.String? deleteTime; + + /// A system-generated fingerprint for this version of the resource. + /// + /// May be used to detect modification conflict during updates. + /// + /// Output only. + core.String? etag; + + /// For a deleted resource, the time after which it will be permamently + /// deleted. + /// + /// It is only populated as a response to a Delete request. + /// + /// Output only. + core.String? expireTime; + + /// The number of tasks which reached phase Failed. + /// + /// Output only. + core.int? failedCount; + + /// A number that monotonically increases every time the user modifies the + /// desired state. + /// + /// Output only. + core.String? generation; + + /// The name of the parent Job. + /// + /// Output only. + core.String? job; + + /// Unstructured key value map that can be used to organize and categorize + /// objects. + /// + /// User-provided labels are shared with Google's billing system, so they can + /// be used to filter, or break down billing charges by team, component, + /// environment, state, etc. For more information, visit + /// https://cloud.google.com/resource-manager/docs/creating-managing-labels or + /// https://cloud.google.com/run/docs/configuring/labels + /// + /// Output only. + core.Map? labels; + + /// The least stable launch stage needed to create this resource, as defined + /// by + /// [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). + /// + /// Cloud Run supports `ALPHA`, `BETA`, and `GA`. Note that this value might + /// not be what was used as input. For example, if ALPHA was provided as input + /// in the parent resource, but only BETA and GA-level features are were, this + /// field will be BETA. + /// Possible string values are: + /// - "LAUNCH_STAGE_UNSPECIFIED" : Do not use this default value. + /// - "UNIMPLEMENTED" : The feature is not yet implemented. Users can not use + /// it. + /// - "PRELAUNCH" : Prelaunch features are hidden from users and are only + /// visible internally. + /// - "EARLY_ACCESS" : Early Access features are limited to a closed group of + /// testers. To use these features, you must sign up in advance and sign a + /// Trusted Tester agreement (which includes confidentiality provisions). + /// These features may be unstable, changed in backward-incompatible ways, and + /// are not guaranteed to be released. + /// - "ALPHA" : Alpha is a limited availability test for releases before they + /// are cleared for widespread use. By Alpha, all significant design issues + /// are resolved and we are in the process of verifying functionality. Alpha + /// customers need to apply for access, agree to applicable terms, and have + /// their projects allowlisted. Alpha releases don't have to be feature + /// complete, no SLAs are provided, and there are no technical support + /// obligations, but they will be far enough along that customers can actually + /// use them in test environments or for limited-use tests -- just like they + /// would in normal production cases. + /// - "BETA" : Beta is the point at which we are ready to open a release for + /// any customer to use. There are no SLA or technical support obligations in + /// a Beta release. Products will be complete from a feature perspective, but + /// may have some open outstanding issues. Beta releases are suitable for + /// limited production use cases. + /// - "GA" : GA features are open to all developers and are considered stable + /// and fully qualified for production use. + /// - "DEPRECATED" : Deprecated features are scheduled to be shut down and + /// removed. For more information, see the "Deprecation Policy" section of our + /// [Terms of Service](https://cloud.google.com/terms/) and the + /// [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) + /// documentation. + core.String? launchStage; + + /// URI where logs for this execution can be found in Cloud Console. + /// + /// Output only. + core.String? logUri; + + /// The unique name of this Execution. + /// + /// Output only. + core.String? name; + + /// The generation of this Execution. + /// + /// See comments in `reconciling` for additional information on reconciliation + /// process in Cloud Run. + /// + /// Output only. + core.String? observedGeneration; + + /// Specifies the maximum desired number of tasks the execution should run at + /// any given time. + /// + /// Must be \<= task_count. The actual number of tasks running in steady state + /// will be less than this number when ((.spec.task_count - + /// .status.successful) \< .spec.parallelism), i.e. when the work left to do + /// is less than max parallelism. + /// + /// Output only. + core.int? parallelism; + + /// Indicates whether the resource's reconciliation is still in progress. + /// + /// See comments in `Job.reconciling` for additional information on + /// reconciliation process in Cloud Run. + /// + /// Output only. + core.bool? reconciling; + + /// The number of tasks which have retried at least once. + /// + /// Output only. + core.int? retriedCount; + + /// The number of actively running tasks. + /// + /// Output only. + core.int? runningCount; + + /// Reserved for future use. + /// + /// Output only. + core.bool? satisfiesPzs; + + /// Represents time when the execution started to run. + /// + /// It is not guaranteed to be set in happens-before order across separate + /// operations. + /// + /// Output only. + core.String? startTime; + + /// The number of tasks which reached phase Succeeded. + /// + /// Output only. + core.int? succeededCount; + + /// Specifies the desired number of tasks the execution should run. + /// + /// Setting to 1 means that parallelism is limited to 1 and the success of + /// that task signals the success of the execution. + /// + /// Output only. + core.int? taskCount; + + /// The template used to create tasks for this execution. + /// + /// Output only. + GoogleCloudRunV2TaskTemplate? template; + + /// Server assigned unique identifier for the Execution. + /// + /// The value is a UUID4 string and guaranteed to remain unchanged until the + /// resource is deleted. + /// + /// Output only. + core.String? uid; + + /// The last-modified time. + /// + /// Output only. + core.String? updateTime; + + GoogleCloudRunV2Execution({ + this.annotations, + this.cancelledCount, + this.completionTime, + this.conditions, + this.createTime, + this.creator, + this.deleteTime, + this.etag, + this.expireTime, + this.failedCount, + this.generation, + this.job, + this.labels, + this.launchStage, + this.logUri, + this.name, + this.observedGeneration, + this.parallelism, + this.reconciling, + this.retriedCount, + this.runningCount, + this.satisfiesPzs, + this.startTime, + this.succeededCount, + this.taskCount, + this.template, + this.uid, + this.updateTime, + }); + + GoogleCloudRunV2Execution.fromJson(core.Map json_) + : this( + annotations: + (json_['annotations'] as core.Map?) + ?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + cancelledCount: json_['cancelledCount'] as core.int?, + completionTime: json_['completionTime'] as core.String?, + conditions: (json_['conditions'] as core.List?) + ?.map((value) => GoogleCloudRunV2Condition.fromJson( + value as core.Map)) + .toList(), + createTime: json_['createTime'] as core.String?, + creator: json_['creator'] as core.String?, + deleteTime: json_['deleteTime'] as core.String?, + etag: json_['etag'] as core.String?, + expireTime: json_['expireTime'] as core.String?, + failedCount: json_['failedCount'] as core.int?, + generation: json_['generation'] as core.String?, + job: json_['job'] as core.String?, + labels: + (json_['labels'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + launchStage: json_['launchStage'] as core.String?, + logUri: json_['logUri'] as core.String?, + name: json_['name'] as core.String?, + observedGeneration: json_['observedGeneration'] as core.String?, + parallelism: json_['parallelism'] as core.int?, + reconciling: json_['reconciling'] as core.bool?, + retriedCount: json_['retriedCount'] as core.int?, + runningCount: json_['runningCount'] as core.int?, + satisfiesPzs: json_['satisfiesPzs'] as core.bool?, + startTime: json_['startTime'] as core.String?, + succeededCount: json_['succeededCount'] as core.int?, + taskCount: json_['taskCount'] as core.int?, + template: json_.containsKey('template') + ? GoogleCloudRunV2TaskTemplate.fromJson( + json_['template'] as core.Map) + : null, + uid: json_['uid'] as core.String?, + updateTime: json_['updateTime'] as core.String?, + ); + + core.Map toJson() => { + if (annotations != null) 'annotations': annotations!, + if (cancelledCount != null) 'cancelledCount': cancelledCount!, + if (completionTime != null) 'completionTime': completionTime!, + if (conditions != null) 'conditions': conditions!, + if (createTime != null) 'createTime': createTime!, + if (creator != null) 'creator': creator!, + if (deleteTime != null) 'deleteTime': deleteTime!, + if (etag != null) 'etag': etag!, + if (expireTime != null) 'expireTime': expireTime!, + if (failedCount != null) 'failedCount': failedCount!, + if (generation != null) 'generation': generation!, + if (job != null) 'job': job!, + if (labels != null) 'labels': labels!, + if (launchStage != null) 'launchStage': launchStage!, + if (logUri != null) 'logUri': logUri!, + if (name != null) 'name': name!, + if (observedGeneration != null) + 'observedGeneration': observedGeneration!, + if (parallelism != null) 'parallelism': parallelism!, + if (reconciling != null) 'reconciling': reconciling!, + if (retriedCount != null) 'retriedCount': retriedCount!, + if (runningCount != null) 'runningCount': runningCount!, + if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, + if (startTime != null) 'startTime': startTime!, + if (succeededCount != null) 'succeededCount': succeededCount!, + if (taskCount != null) 'taskCount': taskCount!, + if (template != null) 'template': template!, + if (uid != null) 'uid': uid!, + if (updateTime != null) 'updateTime': updateTime!, + }; +} + +/// Reference to an Execution. +/// +/// Use /Executions.GetExecution with the given name to get full execution +/// including the latest status. +class GoogleCloudRunV2ExecutionReference { + /// Status for the execution completion. + /// Possible string values are: + /// - "COMPLETION_STATUS_UNSPECIFIED" : The default value. This value is used + /// if the state is omitted. + /// - "EXECUTION_SUCCEEDED" : Job execution has succeeded. + /// - "EXECUTION_FAILED" : Job execution has failed. + /// - "EXECUTION_RUNNING" : Job execution is running normally. + /// - "EXECUTION_PENDING" : Waiting for backing resources to be provisioned. + /// - "EXECUTION_CANCELLED" : Job execution has been cancelled by the user. + core.String? completionStatus; + + /// Creation timestamp of the execution. + core.String? completionTime; + + /// Creation timestamp of the execution. + core.String? createTime; + + /// The deletion time of the execution. + /// + /// It is only populated as a response to a Delete request. + core.String? deleteTime; + + /// Name of the execution. + core.String? name; + + GoogleCloudRunV2ExecutionReference({ + this.completionStatus, + this.completionTime, + this.createTime, + this.deleteTime, + this.name, + }); + + GoogleCloudRunV2ExecutionReference.fromJson(core.Map json_) + : this( + completionStatus: json_['completionStatus'] as core.String?, + completionTime: json_['completionTime'] as core.String?, + createTime: json_['createTime'] as core.String?, + deleteTime: json_['deleteTime'] as core.String?, + name: json_['name'] as core.String?, + ); + + core.Map toJson() => { + if (completionStatus != null) 'completionStatus': completionStatus!, + if (completionTime != null) 'completionTime': completionTime!, + if (createTime != null) 'createTime': createTime!, + if (deleteTime != null) 'deleteTime': deleteTime!, + if (name != null) 'name': name!, + }; +} + +/// ExecutionTemplate describes the data an execution should have when created +/// from a template. +class GoogleCloudRunV2ExecutionTemplate { + /// Unstructured key value map that may be set by external tools to store and + /// arbitrary metadata. + /// + /// They are not queryable and should be preserved when modifying objects. + /// Cloud Run API v2 does not support annotations with `run.googleapis.com`, + /// `cloud.googleapis.com`, `serving.knative.dev`, or + /// `autoscaling.knative.dev` namespaces, and they will be rejected. All + /// system annotations in v1 now have a corresponding field in v2 + /// ExecutionTemplate. This field follows Kubernetes annotations' namespacing, + /// limits, and rules. + core.Map? annotations; + + /// Unstructured key value map that can be used to organize and categorize + /// objects. + /// + /// User-provided labels are shared with Google's billing system, so they can + /// be used to filter, or break down billing charges by team, component, + /// environment, state, etc. For more information, visit + /// https://cloud.google.com/resource-manager/docs/creating-managing-labels or + /// https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 + /// does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, + /// `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they + /// will be rejected. All system labels in v1 now have a corresponding field + /// in v2 ExecutionTemplate. + core.Map? labels; + + /// Specifies the maximum desired number of tasks the execution should run at + /// given time. + /// + /// When the job is run, if this field is 0 or unset, the maximum possible + /// value will be used for that execution. The actual number of tasks running + /// in steady state will be less than this number when there are fewer tasks + /// waiting to be completed remaining, i.e. when the work left to do is less + /// than max parallelism. + /// + /// Optional. + core.int? parallelism; + + /// Specifies the desired number of tasks the execution should run. + /// + /// Setting to 1 means that parallelism is limited to 1 and the success of + /// that task signals the success of the execution. Defaults to 1. + core.int? taskCount; + + /// Describes the task(s) that will be created when executing an execution. + /// + /// Required. + GoogleCloudRunV2TaskTemplate? template; + + GoogleCloudRunV2ExecutionTemplate({ + this.annotations, + this.labels, + this.parallelism, + this.taskCount, + this.template, + }); + + GoogleCloudRunV2ExecutionTemplate.fromJson(core.Map json_) + : this( + annotations: + (json_['annotations'] as core.Map?) + ?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + labels: + (json_['labels'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + parallelism: json_['parallelism'] as core.int?, + taskCount: json_['taskCount'] as core.int?, + template: json_.containsKey('template') + ? GoogleCloudRunV2TaskTemplate.fromJson( + json_['template'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (annotations != null) 'annotations': annotations!, + if (labels != null) 'labels': labels!, + if (parallelism != null) 'parallelism': parallelism!, + if (taskCount != null) 'taskCount': taskCount!, + if (template != null) 'template': template!, + }; +} + +/// Request message for exporting Cloud Run image. +class GoogleCloudRunV2ExportImageRequest { + /// The export destination url (the Artifact Registry repo). + /// + /// Required. + core.String? destinationRepo; + + GoogleCloudRunV2ExportImageRequest({ + this.destinationRepo, }); - GoogleCloudRunV2CloudSqlInstance.fromJson(core.Map json_) + GoogleCloudRunV2ExportImageRequest.fromJson(core.Map json_) : this( - instances: (json_['instances'] as core.List?) - ?.map((value) => value as core.String) - .toList(), + destinationRepo: json_['destinationRepo'] as core.String?, ); core.Map toJson() => { - if (instances != null) 'instances': instances!, + if (destinationRepo != null) 'destinationRepo': destinationRepo!, }; } -/// Defines a status condition for a resource. -class GoogleCloudRunV2Condition { - /// A reason for the execution condition. - /// - /// Output only. - /// Possible string values are: - /// - "EXECUTION_REASON_UNDEFINED" : Default value. - /// - "JOB_STATUS_SERVICE_POLLING_ERROR" : Internal system error getting - /// execution status. System will retry. - /// - "NON_ZERO_EXIT_CODE" : A task reached its retry limit and the last - /// attempt failed due to the user container exiting with a non-zero exit - /// code. - /// - "CANCELLED" : The execution was cancelled by users. - /// - "CANCELLING" : The execution is in the process of being cancelled. - /// - "DELETED" : The execution was deleted. - core.String? executionReason; - - /// Last time the condition transitioned from one status to another. - core.String? lastTransitionTime; +/// ExportImageResponse contains an operation Id to track the image export +/// operation. +class GoogleCloudRunV2ExportImageResponse { + /// An operation ID used to track the status of image exports tied to the + /// original pod ID in the request. + core.String? operationId; - /// Human readable message indicating details about the current status. - core.String? message; + GoogleCloudRunV2ExportImageResponse({ + this.operationId, + }); - /// A common (service-level) reason for this condition. - /// - /// Output only. - /// Possible string values are: - /// - "COMMON_REASON_UNDEFINED" : Default value. - /// - "UNKNOWN" : Reason unknown. Further details will be in message. - /// - "REVISION_FAILED" : Revision creation process failed. - /// - "PROGRESS_DEADLINE_EXCEEDED" : Timed out waiting for completion. - /// - "CONTAINER_MISSING" : The container image path is incorrect. - /// - "CONTAINER_PERMISSION_DENIED" : Insufficient permissions on the - /// container image. - /// - "CONTAINER_IMAGE_UNAUTHORIZED" : Container image is not authorized by - /// policy. - /// - "CONTAINER_IMAGE_AUTHORIZATION_CHECK_FAILED" : Container image policy - /// authorization check failed. - /// - "ENCRYPTION_KEY_PERMISSION_DENIED" : Insufficient permissions on - /// encryption key. - /// - "ENCRYPTION_KEY_CHECK_FAILED" : Permission check on encryption key - /// failed. - /// - "SECRETS_ACCESS_CHECK_FAILED" : At least one Access check on secrets - /// failed. - /// - "WAITING_FOR_OPERATION" : Waiting for operation to complete. - /// - "IMMEDIATE_RETRY" : System will retry immediately. - /// - "POSTPONED_RETRY" : System will retry later; current attempt failed. - /// - "INTERNAL" : An internal error occurred. Further information may be in - /// the message. - core.String? reason; + GoogleCloudRunV2ExportImageResponse.fromJson(core.Map json_) + : this( + operationId: json_['operationId'] as core.String?, + ); - /// A reason for the revision condition. - /// - /// Output only. - /// Possible string values are: - /// - "REVISION_REASON_UNDEFINED" : Default value. - /// - "PENDING" : Revision in Pending state. - /// - "RESERVE" : Revision is in Reserve state. - /// - "RETIRED" : Revision is Retired. - /// - "RETIRING" : Revision is being retired. - /// - "RECREATING" : Revision is being recreated. - /// - "HEALTH_CHECK_CONTAINER_ERROR" : There was a health check error. - /// - "CUSTOMIZED_PATH_RESPONSE_PENDING" : Health check failed due to user - /// error from customized path of the container. System will retry. - /// - "MIN_INSTANCES_NOT_PROVISIONED" : A revision with min_instance_count \> - /// 0 was created and is reserved, but it was not configured to serve traffic, - /// so it's not live. This can also happen momentarily during traffic - /// migration. - /// - "ACTIVE_REVISION_LIMIT_REACHED" : The maximum allowed number of active - /// revisions has been reached. - /// - "NO_DEPLOYMENT" : There was no deployment defined. This value is no - /// longer used, but Services created in older versions of the API might - /// contain this value. - /// - "HEALTH_CHECK_SKIPPED" : A revision's container has no port specified - /// since the revision is of a manually scaled service with 0 instance count - /// - "MIN_INSTANCES_WARMING" : A revision with min_instance_count \> 0 was - /// created and is waiting for enough instances to begin a traffic migration. - core.String? revisionReason; + core.Map toJson() => { + if (operationId != null) 'operationId': operationId!, + }; +} - /// How to interpret failures of this condition, one of Error, Warning, Info - /// Possible string values are: - /// - "SEVERITY_UNSPECIFIED" : Unspecified severity - /// - "ERROR" : Error severity. - /// - "WARNING" : Warning severity. - /// - "INFO" : Info severity. - core.String? severity; +/// ExportStatusResponse contains the status of image export operation, with the +/// status of each image export job. +class GoogleCloudRunV2ExportStatusResponse { + /// The status of each image export job. + core.List? imageExportStatuses; - /// State of the condition. - /// Possible string values are: - /// - "STATE_UNSPECIFIED" : The default value. This value is used if the state - /// is omitted. - /// - "CONDITION_PENDING" : Transient state: Reconciliation has not started - /// yet. - /// - "CONDITION_RECONCILING" : Transient state: reconciliation is still in - /// progress. - /// - "CONDITION_FAILED" : Terminal state: Reconciliation did not succeed. - /// - "CONDITION_SUCCEEDED" : Terminal state: Reconciliation completed - /// successfully. - core.String? state; + /// The operation id. + core.String? operationId; - /// type is used to communicate the status of the reconciliation process. + /// The state of the overall export operation. /// - /// See also: - /// https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting - /// Types common to all resources include: * "Ready": True when the Resource - /// is ready. - core.String? type; + /// Output only. + /// Possible string values are: + /// - "OPERATION_STATE_UNSPECIFIED" : State unspecified. + /// - "IN_PROGRESS" : Operation still in progress. + /// - "FINISHED" : Operation finished. + core.String? operationState; - GoogleCloudRunV2Condition({ - this.executionReason, - this.lastTransitionTime, - this.message, - this.reason, - this.revisionReason, - this.severity, - this.state, - this.type, + GoogleCloudRunV2ExportStatusResponse({ + this.imageExportStatuses, + this.operationId, + this.operationState, }); - GoogleCloudRunV2Condition.fromJson(core.Map json_) + GoogleCloudRunV2ExportStatusResponse.fromJson(core.Map json_) : this( - executionReason: json_['executionReason'] as core.String?, - lastTransitionTime: json_['lastTransitionTime'] as core.String?, - message: json_['message'] as core.String?, - reason: json_['reason'] as core.String?, - revisionReason: json_['revisionReason'] as core.String?, - severity: json_['severity'] as core.String?, - state: json_['state'] as core.String?, - type: json_['type'] as core.String?, + imageExportStatuses: (json_['imageExportStatuses'] as core.List?) + ?.map((value) => GoogleCloudRunV2ImageExportStatus.fromJson( + value as core.Map)) + .toList(), + operationId: json_['operationId'] as core.String?, + operationState: json_['operationState'] as core.String?, ); core.Map toJson() => { - if (executionReason != null) 'executionReason': executionReason!, - if (lastTransitionTime != null) - 'lastTransitionTime': lastTransitionTime!, - if (message != null) 'message': message!, - if (reason != null) 'reason': reason!, - if (revisionReason != null) 'revisionReason': revisionReason!, - if (severity != null) 'severity': severity!, - if (state != null) 'state': state!, - if (type != null) 'type': type!, + if (imageExportStatuses != null) + 'imageExportStatuses': imageExportStatuses!, + if (operationId != null) 'operationId': operationId!, + if (operationState != null) 'operationState': operationState!, }; } -/// A single application container. -/// -/// This specifies both the container to run, the command to run in the -/// container and the arguments to supply to it. Note that additional arguments -/// can be supplied by the system to the container at runtime. -class GoogleCloudRunV2Container { - /// Arguments to the entrypoint. - /// - /// The docker image's CMD is used if this is not provided. - core.List? args; +/// Represents a volume backed by a Cloud Storage bucket using Cloud Storage +/// FUSE. +class GoogleCloudRunV2GCSVolumeSource { + /// Cloud Storage Bucket name. + core.String? bucket; - /// Entrypoint array. + /// A list of additional flags to pass to the gcsfuse CLI. /// - /// Not executed within a shell. The docker image's ENTRYPOINT is used if this - /// is not provided. - core.List? command; - - /// Names of the containers that must start before this container. - core.List? dependsOn; + /// Options should be specified without the leading "--". + core.List? mountOptions; - /// List of environment variables to set in the container. - core.List? env; + /// If true, the volume will be mounted as read only for all mounts. + core.bool? readOnly; - /// Name of the container image in Dockerhub, Google Artifact Registry, or - /// Google Container Registry. - /// - /// If the host is not provided, Dockerhub is assumed. - /// - /// Required. - core.String? image; + GoogleCloudRunV2GCSVolumeSource({ + this.bucket, + this.mountOptions, + this.readOnly, + }); - /// Periodic probe of container liveness. - /// - /// Container will be restarted if the probe fails. - GoogleCloudRunV2Probe? livenessProbe; + GoogleCloudRunV2GCSVolumeSource.fromJson(core.Map json_) + : this( + bucket: json_['bucket'] as core.String?, + mountOptions: (json_['mountOptions'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + readOnly: json_['readOnly'] as core.bool?, + ); - /// Name of the container specified as a DNS_LABEL (RFC 1123). - core.String? name; + core.Map toJson() => { + if (bucket != null) 'bucket': bucket!, + if (mountOptions != null) 'mountOptions': mountOptions!, + if (readOnly != null) 'readOnly': readOnly!, + }; +} - /// List of ports to expose from the container. +/// GRPCAction describes an action involving a GRPC port. +class GoogleCloudRunV2GRPCAction { + /// Port number of the gRPC service. /// - /// Only a single port can be specified. The specified ports must be listening - /// on all interfaces (0.0.0.0) within the container to be accessible. If - /// omitted, a port number will be chosen and passed to the container through - /// the PORT environment variable for the container to listen on. - core.List? ports; - - /// Compute Resource requirements by this container. - GoogleCloudRunV2ResourceRequirements? resources; - - /// Startup probe of application within the container. + /// Number must be in the range 1 to 65535. If not specified, defaults to the + /// exposed port of the container, which is the value of + /// container.ports\[0\].containerPort. /// - /// All other probes are disabled if a startup probe is provided, until it - /// succeeds. Container will not be added to service endpoints if the probe - /// fails. - GoogleCloudRunV2Probe? startupProbe; - - /// Volume to mount into the container's filesystem. - core.List? volumeMounts; + /// Optional. + core.int? port; - /// Container's working directory. + /// Service is the name of the service to place in the gRPC HealthCheckRequest + /// (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). /// - /// If not specified, the container runtime's default will be used, which - /// might be configured in the container image. - core.String? workingDir; + /// If this is not specified, the default behavior is defined by gRPC. + /// + /// Optional. + core.String? service; - GoogleCloudRunV2Container({ - this.args, - this.command, - this.dependsOn, - this.env, - this.image, - this.livenessProbe, - this.name, - this.ports, - this.resources, - this.startupProbe, - this.volumeMounts, - this.workingDir, + GoogleCloudRunV2GRPCAction({ + this.port, + this.service, }); - GoogleCloudRunV2Container.fromJson(core.Map json_) + GoogleCloudRunV2GRPCAction.fromJson(core.Map json_) : this( - args: (json_['args'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - command: (json_['command'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - dependsOn: (json_['dependsOn'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - env: (json_['env'] as core.List?) - ?.map((value) => GoogleCloudRunV2EnvVar.fromJson( - value as core.Map)) - .toList(), - image: json_['image'] as core.String?, - livenessProbe: json_.containsKey('livenessProbe') - ? GoogleCloudRunV2Probe.fromJson( - json_['livenessProbe'] as core.Map) - : null, - name: json_['name'] as core.String?, - ports: (json_['ports'] as core.List?) - ?.map((value) => GoogleCloudRunV2ContainerPort.fromJson( - value as core.Map)) - .toList(), - resources: json_.containsKey('resources') - ? GoogleCloudRunV2ResourceRequirements.fromJson( - json_['resources'] as core.Map) - : null, - startupProbe: json_.containsKey('startupProbe') - ? GoogleCloudRunV2Probe.fromJson( - json_['startupProbe'] as core.Map) - : null, - volumeMounts: (json_['volumeMounts'] as core.List?) - ?.map((value) => GoogleCloudRunV2VolumeMount.fromJson( - value as core.Map)) - .toList(), - workingDir: json_['workingDir'] as core.String?, + port: json_['port'] as core.int?, + service: json_['service'] as core.String?, ); core.Map toJson() => { - if (args != null) 'args': args!, - if (command != null) 'command': command!, - if (dependsOn != null) 'dependsOn': dependsOn!, - if (env != null) 'env': env!, - if (image != null) 'image': image!, - if (livenessProbe != null) 'livenessProbe': livenessProbe!, - if (name != null) 'name': name!, - if (ports != null) 'ports': ports!, - if (resources != null) 'resources': resources!, - if (startupProbe != null) 'startupProbe': startupProbe!, - if (volumeMounts != null) 'volumeMounts': volumeMounts!, - if (workingDir != null) 'workingDir': workingDir!, + if (port != null) 'port': port!, + if (service != null) 'service': service!, }; } -/// Per-container override specification. -class GoogleCloudRunV2ContainerOverride { - /// Arguments to the entrypoint. +/// HTTPGetAction describes an action based on HTTP Get requests. +class GoogleCloudRunV2HTTPGetAction { + /// Custom headers to set in the request. /// - /// Will replace existing args for override. + /// HTTP allows repeated headers. /// /// Optional. - core.List? args; + core.List? httpHeaders; - /// True if the intention is to clear out existing args list. + /// Path to access on the HTTP server. + /// + /// Defaults to '/'. /// /// Optional. - core.bool? clearArgs; + core.String? path; - /// List of environment variables to set in the container. + /// Port number to access on the container. /// - /// Will be merged with existing env for override. - core.List? env; - - /// The name of the container specified as a DNS_LABEL. - core.String? name; + /// Must be in the range 1 to 65535. If not specified, defaults to the exposed + /// port of the container, which is the value of + /// container.ports\[0\].containerPort. + /// + /// Optional. + core.int? port; - GoogleCloudRunV2ContainerOverride({ - this.args, - this.clearArgs, - this.env, - this.name, + GoogleCloudRunV2HTTPGetAction({ + this.httpHeaders, + this.path, + this.port, }); - GoogleCloudRunV2ContainerOverride.fromJson(core.Map json_) + GoogleCloudRunV2HTTPGetAction.fromJson(core.Map json_) : this( - args: (json_['args'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - clearArgs: json_['clearArgs'] as core.bool?, - env: (json_['env'] as core.List?) - ?.map((value) => GoogleCloudRunV2EnvVar.fromJson( + httpHeaders: (json_['httpHeaders'] as core.List?) + ?.map((value) => GoogleCloudRunV2HTTPHeader.fromJson( value as core.Map)) .toList(), - name: json_['name'] as core.String?, + path: json_['path'] as core.String?, + port: json_['port'] as core.int?, ); core.Map toJson() => { - if (args != null) 'args': args!, - if (clearArgs != null) 'clearArgs': clearArgs!, - if (env != null) 'env': env!, - if (name != null) 'name': name!, + if (httpHeaders != null) 'httpHeaders': httpHeaders!, + if (path != null) 'path': path!, + if (port != null) 'port': port!, }; } -/// ContainerPort represents a network port in a single container. -class GoogleCloudRunV2ContainerPort { - /// Port number the container listens on. +/// HTTPHeader describes a custom header to be used in HTTP probes +class GoogleCloudRunV2HTTPHeader { + /// The header field name /// - /// This must be a valid TCP port number, 0 \< container_port \< 65536. - core.int? containerPort; + /// Required. + core.String? name; - /// If specified, used to specify which protocol to use. + /// The header field value /// - /// Allowed values are "http1" and "h2c". - core.String? name; + /// Optional. + core.String? value; - GoogleCloudRunV2ContainerPort({ - this.containerPort, + GoogleCloudRunV2HTTPHeader({ this.name, + this.value, }); - GoogleCloudRunV2ContainerPort.fromJson(core.Map json_) + GoogleCloudRunV2HTTPHeader.fromJson(core.Map json_) : this( - containerPort: json_['containerPort'] as core.int?, name: json_['name'] as core.String?, + value: json_['value'] as core.String?, ); core.Map toJson() => { - if (containerPort != null) 'containerPort': containerPort!, if (name != null) 'name': name!, + if (value != null) 'value': value!, }; } -/// Build the source using Docker. -/// -/// This means the source has a Dockerfile. -typedef GoogleCloudRunV2DockerBuild = $Empty; - -/// In memory (tmpfs) ephemeral storage. -/// -/// It is ephemeral in the sense that when the sandbox is taken down, the data -/// is destroyed with it (it does not persist across sandbox runs). -class GoogleCloudRunV2EmptyDirVolumeSource { - /// The medium on which the data is stored. +/// The status of an image export job. +class GoogleCloudRunV2ImageExportStatus { + /// Has the image export job finished (regardless of successful or failure). /// - /// Acceptable values today is only MEMORY or none. When none, the default - /// will currently be backed by memory but could change over time. +optional + /// Output only. /// Possible string values are: - /// - "MEDIUM_UNSPECIFIED" : When not specified, falls back to the default - /// implementation which is currently in memory (this may change over time). - /// - "MEMORY" : Explicitly set the EmptyDir to be in memory. Uses tmpfs. - core.String? medium; + /// - "EXPORT_JOB_STATE_UNSPECIFIED" : State unspecified. + /// - "IN_PROGRESS" : Job still in progress. + /// - "FINISHED" : Job finished. + core.String? exportJobState; - /// Limit on the storage usable by this EmptyDir volume. - /// - /// The size limit is also applicable for memory medium. The maximum usage on - /// memory medium EmptyDir would be the minimum value between the SizeLimit - /// specified here and the sum of memory limits of all containers. The default - /// is nil which means that the limit is undefined. More info: - /// https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. - /// Info in Kubernetes: - /// https://kubernetes.io/docs/concepts/storage/volumes/#emptydir - core.String? sizeLimit; + /// The exported image ID as it will appear in Artifact Registry. + core.String? exportedImageDigest; - GoogleCloudRunV2EmptyDirVolumeSource({ - this.medium, - this.sizeLimit, + /// The status of the export task if done. + UtilStatusProto? status; + + /// The image tag as it will appear in Artifact Registry. + core.String? tag; + + GoogleCloudRunV2ImageExportStatus({ + this.exportJobState, + this.exportedImageDigest, + this.status, + this.tag, }); - GoogleCloudRunV2EmptyDirVolumeSource.fromJson(core.Map json_) + GoogleCloudRunV2ImageExportStatus.fromJson(core.Map json_) : this( - medium: json_['medium'] as core.String?, - sizeLimit: json_['sizeLimit'] as core.String?, + exportJobState: json_['exportJobState'] as core.String?, + exportedImageDigest: json_['exportedImageDigest'] as core.String?, + status: json_.containsKey('status') + ? UtilStatusProto.fromJson( + json_['status'] as core.Map) + : null, + tag: json_['tag'] as core.String?, ); core.Map toJson() => { - if (medium != null) 'medium': medium!, - if (sizeLimit != null) 'sizeLimit': sizeLimit!, + if (exportJobState != null) 'exportJobState': exportJobState!, + if (exportedImageDigest != null) + 'exportedImageDigest': exportedImageDigest!, + if (status != null) 'status': status!, + if (tag != null) 'tag': tag!, }; } -/// EnvVar represents an environment variable present in a Container. -class GoogleCloudRunV2EnvVar { - /// Name of the environment variable. - /// - /// Must not exceed 32768 characters. +/// Holds a single instance split entry for the Worker. +/// +/// Allocations can be done to a specific Revision name, or pointing to the +/// latest Ready Revision. +class GoogleCloudRunV2InstanceSplit { + /// Specifies percent of the instance split to this Revision. /// - /// Required. - core.String? name; + /// This defaults to zero if unspecified. + core.int? percent; - /// Literal value of the environment variable. - /// - /// Defaults to "", and the maximum length is 32768 bytes. Variable references - /// are not supported in Cloud Run. - core.String? value; + /// Revision to which to assign this portion of instances, if split allocation + /// is by revision. + core.String? revision; - /// Source for the environment variable's value. - GoogleCloudRunV2EnvVarSource? valueSource; + /// The allocation type for this instance split. + /// Possible string values are: + /// - "INSTANCE_SPLIT_ALLOCATION_TYPE_UNSPECIFIED" : Unspecified instance + /// allocation type. + /// - "INSTANCE_SPLIT_ALLOCATION_TYPE_LATEST" : Allocates instances to the + /// Service's latest ready Revision. + /// - "INSTANCE_SPLIT_ALLOCATION_TYPE_REVISION" : Allocates instances to a + /// Revision by name. + core.String? type; - GoogleCloudRunV2EnvVar({ - this.name, - this.value, - this.valueSource, + GoogleCloudRunV2InstanceSplit({ + this.percent, + this.revision, + this.type, }); - GoogleCloudRunV2EnvVar.fromJson(core.Map json_) + GoogleCloudRunV2InstanceSplit.fromJson(core.Map json_) : this( - name: json_['name'] as core.String?, - value: json_['value'] as core.String?, - valueSource: json_.containsKey('valueSource') - ? GoogleCloudRunV2EnvVarSource.fromJson( - json_['valueSource'] as core.Map) - : null, + percent: json_['percent'] as core.int?, + revision: json_['revision'] as core.String?, + type: json_['type'] as core.String?, ); core.Map toJson() => { - if (name != null) 'name': name!, - if (value != null) 'value': value!, - if (valueSource != null) 'valueSource': valueSource!, + if (percent != null) 'percent': percent!, + if (revision != null) 'revision': revision!, + if (type != null) 'type': type!, }; } -/// EnvVarSource represents a source for the value of an EnvVar. -class GoogleCloudRunV2EnvVarSource { - /// Selects a secret and a specific version from Cloud Secret Manager. - GoogleCloudRunV2SecretKeySelector? secretKeyRef; +/// Represents the observed state of a single `InstanceSplit` entry. +class GoogleCloudRunV2InstanceSplitStatus { + /// Specifies percent of the instance split to this Revision. + core.int? percent; - GoogleCloudRunV2EnvVarSource({ - this.secretKeyRef, + /// Revision to which this instance split is assigned. + core.String? revision; + + /// The allocation type for this instance split. + /// Possible string values are: + /// - "INSTANCE_SPLIT_ALLOCATION_TYPE_UNSPECIFIED" : Unspecified instance + /// allocation type. + /// - "INSTANCE_SPLIT_ALLOCATION_TYPE_LATEST" : Allocates instances to the + /// Service's latest ready Revision. + /// - "INSTANCE_SPLIT_ALLOCATION_TYPE_REVISION" : Allocates instances to a + /// Revision by name. + core.String? type; + + GoogleCloudRunV2InstanceSplitStatus({ + this.percent, + this.revision, + this.type, }); - GoogleCloudRunV2EnvVarSource.fromJson(core.Map json_) + GoogleCloudRunV2InstanceSplitStatus.fromJson(core.Map json_) : this( - secretKeyRef: json_.containsKey('secretKeyRef') - ? GoogleCloudRunV2SecretKeySelector.fromJson( - json_['secretKeyRef'] as core.Map) - : null, + percent: json_['percent'] as core.int?, + revision: json_['revision'] as core.String?, + type: json_['type'] as core.String?, ); core.Map toJson() => { - if (secretKeyRef != null) 'secretKeyRef': secretKeyRef!, + if (percent != null) 'percent': percent!, + if (revision != null) 'revision': revision!, + if (type != null) 'type': type!, }; } -/// Execution represents the configuration of a single execution. -/// -/// A execution an immutable resource that references a container image which is -/// run to completion. -class GoogleCloudRunV2Execution { +/// Job represents the configuration of a single job, which references a +/// container image that is run to completion. +class GoogleCloudRunV2Job { /// Unstructured key value map that may be set by external tools to store and /// arbitrary metadata. /// /// They are not queryable and should be preserved when modifying objects. - /// - /// Output only. + /// Cloud Run API v2 does not support annotations with `run.googleapis.com`, + /// `cloud.googleapis.com`, `serving.knative.dev`, or + /// `autoscaling.knative.dev` namespaces, and they will be rejected on new + /// resources. All system annotations in v1 now have a corresponding field in + /// v2 Job. This field follows Kubernetes annotations' namespacing, limits, + /// and rules. core.Map? annotations; - /// The number of tasks which reached phase Cancelled. - /// - /// Output only. - core.int? cancelledCount; + /// Settings for the Binary Authorization feature. + GoogleCloudRunV2BinaryAuthorization? binaryAuthorization; - /// Represents time when the execution was completed. + /// Arbitrary identifier for the API client. + core.String? client; + + /// Arbitrary version identifier for the API client. + core.String? clientVersion; + + /// The Conditions of all other associated sub-resources. /// - /// It is not guaranteed to be set in happens-before order across separate - /// operations. + /// They contain additional diagnostics information in case the Job does not + /// reach its desired state. See comments in `reconciling` for additional + /// information on reconciliation process in Cloud Run. /// /// Output only. - core.String? completionTime; + core.List? conditions; - /// The Condition of this Execution, containing its readiness status, and - /// detailed error information in case it did not reach the desired state. + /// The creation time. /// /// Output only. - core.List? conditions; + core.String? createTime; - /// Represents time when the execution was acknowledged by the execution - /// controller. - /// - /// It is not guaranteed to be set in happens-before order across separate - /// operations. + /// Email address of the authenticated creator. /// /// Output only. - core.String? createTime; + core.String? creator; - /// For a deleted resource, the deletion time. + /// The deletion time. /// /// It is only populated as a response to a Delete request. /// @@ -2666,18 +4268,16 @@ class GoogleCloudRunV2Execution { /// Output only. core.String? etag; - /// For a deleted resource, the time after which it will be permamently - /// deleted. - /// - /// It is only populated as a response to a Delete request. + /// Number of executions created for this job. /// /// Output only. - core.String? expireTime; + core.int? executionCount; - /// The number of tasks which reached phase Failed. + /// For a deleted resource, the time after which it will be permamently + /// deleted. /// /// Output only. - core.int? failedCount; + core.String? expireTime; /// A number that monotonically increases every time the user modifies the /// desired state. @@ -2685,11 +4285,6 @@ class GoogleCloudRunV2Execution { /// Output only. core.String? generation; - /// The name of the parent Job. - /// - /// Output only. - core.String? job; - /// Unstructured key value map that can be used to organize and categorize /// objects. /// @@ -2697,19 +4292,32 @@ class GoogleCloudRunV2Execution { /// be used to filter, or break down billing charges by team, component, /// environment, state, etc. For more information, visit /// https://cloud.google.com/resource-manager/docs/creating-managing-labels or - /// https://cloud.google.com/run/docs/configuring/labels + /// https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 + /// does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, + /// `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they + /// will be rejected. All system labels in v1 now have a corresponding field + /// in v2 Job. + core.Map? labels; + + /// Email address of the last authenticated modifier. /// /// Output only. - core.Map? labels; + core.String? lastModifier; - /// The least stable launch stage needed to create this resource, as defined - /// by + /// Name of the last created execution. + /// + /// Output only. + GoogleCloudRunV2ExecutionReference? latestCreatedExecution; + + /// The launch stage as defined by /// [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). /// - /// Cloud Run supports `ALPHA`, `BETA`, and `GA`. Note that this value might - /// not be what was used as input. For example, if ALPHA was provided as input - /// in the parent resource, but only BETA and GA-level features are were, this - /// field will be BETA. + /// Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, GA + /// is assumed. Set the launch stage to a preview stage on input to allow use + /// of preview features in that stage. On read (or output), describes whether + /// the resource uses preview features. For example, if ALPHA is provided as + /// input, but only BETA and GA-level features are used, this field will be + /// BETA on output. /// Possible string values are: /// - "LAUNCH_STAGE_UNSPECIFIED" : Do not use this default value. /// - "UNIMPLEMENTED" : The feature is not yet implemented. Users can not use @@ -2744,17 +4352,12 @@ class GoogleCloudRunV2Execution { /// documentation. core.String? launchStage; - /// URI where logs for this execution can be found in Cloud Console. - /// - /// Output only. - core.String? logUri; - - /// The unique name of this Execution. + /// The fully qualified name of this Job. /// - /// Output only. + /// Format: projects/{project}/locations/{location}/jobs/{job} core.String? name; - /// The generation of this Execution. + /// The generation of this Job. /// /// See comments in `reconciling` for additional information on reconciliation /// process in Cloud Run. @@ -2762,65 +4365,55 @@ class GoogleCloudRunV2Execution { /// Output only. core.String? observedGeneration; - /// Specifies the maximum desired number of tasks the execution should run at - /// any given time. - /// - /// Must be \<= task_count. The actual number of tasks running in steady state - /// will be less than this number when ((.spec.task_count - - /// .status.successful) \< .spec.parallelism), i.e. when the work left to do - /// is less than max parallelism. - /// - /// Output only. - core.int? parallelism; - - /// Indicates whether the resource's reconciliation is still in progress. + /// Returns true if the Job is currently being acted upon by the system to + /// bring it into the desired state. /// - /// See comments in `Job.reconciling` for additional information on - /// reconciliation process in Cloud Run. + /// When a new Job is created, or an existing one is updated, Cloud Run will + /// asynchronously perform all necessary steps to bring the Job to the desired + /// state. This process is called reconciliation. While reconciliation is in + /// process, `observed_generation` and `latest_succeeded_execution`, will have + /// transient values that might mismatch the intended state: Once + /// reconciliation is over (and this field is false), there are two possible + /// outcomes: reconciliation succeeded and the state matches the Job, or there + /// was an error, and reconciliation failed. This state can be found in + /// `terminal_condition.state`. If reconciliation succeeded, the following + /// fields will match: `observed_generation` and `generation`, + /// `latest_succeeded_execution` and `latest_created_execution`. If + /// reconciliation failed, `observed_generation` and + /// `latest_succeeded_execution` will have the state of the last succeeded + /// execution or empty for newly created Job. Additional information on the + /// failure can be found in `terminal_condition` and `conditions`. /// /// Output only. core.bool? reconciling; - /// The number of tasks which have retried at least once. - /// - /// Output only. - core.int? retriedCount; - - /// The number of actively running tasks. - /// - /// Output only. - core.int? runningCount; - - /// Reserved for future use. - /// - /// Output only. - core.bool? satisfiesPzs; - - /// Represents time when the execution started to run. - /// - /// It is not guaranteed to be set in happens-before order across separate - /// operations. + /// A unique string used as a suffix for creating a new execution. /// - /// Output only. - core.String? startTime; + /// The Job will become ready when the execution is successfully completed. + /// The sum of job name and token length must be fewer than 63 characters. + core.String? runExecutionToken; - /// The number of tasks which reached phase Succeeded. + /// Reserved for future use. /// /// Output only. - core.int? succeededCount; + core.bool? satisfiesPzs; - /// Specifies the desired number of tasks the execution should run. + /// A unique string used as a suffix creating a new execution. /// - /// Setting to 1 means that parallelism is limited to 1 and the success of - /// that task signals the success of the execution. + /// The Job will become ready when the execution is successfully started. The + /// sum of job name and token length must be fewer than 63 characters. + core.String? startExecutionToken; + + /// The template used to create executions for this Job. /// - /// Output only. - core.int? taskCount; + /// Required. + GoogleCloudRunV2ExecutionTemplate? template; - /// The template used to create tasks for this execution. + /// The Condition of this Job, containing its readiness status, and detailed + /// error information in case it did not reach the desired state. /// /// Output only. - GoogleCloudRunV2TaskTemplate? template; + GoogleCloudRunV2Condition? terminalCondition; /// Server assigned unique identifier for the Execution. /// @@ -2835,37 +4428,36 @@ class GoogleCloudRunV2Execution { /// Output only. core.String? updateTime; - GoogleCloudRunV2Execution({ + GoogleCloudRunV2Job({ this.annotations, - this.cancelledCount, - this.completionTime, + this.binaryAuthorization, + this.client, + this.clientVersion, this.conditions, this.createTime, + this.creator, this.deleteTime, this.etag, + this.executionCount, this.expireTime, - this.failedCount, this.generation, - this.job, this.labels, + this.lastModifier, + this.latestCreatedExecution, this.launchStage, - this.logUri, this.name, this.observedGeneration, - this.parallelism, this.reconciling, - this.retriedCount, - this.runningCount, + this.runExecutionToken, this.satisfiesPzs, - this.startTime, - this.succeededCount, - this.taskCount, + this.startExecutionToken, this.template, + this.terminalCondition, this.uid, this.updateTime, }); - GoogleCloudRunV2Execution.fromJson(core.Map json_) + GoogleCloudRunV2Job.fromJson(core.Map json_) : this( annotations: (json_['annotations'] as core.Map?) @@ -2875,19 +4467,24 @@ class GoogleCloudRunV2Execution { value as core.String, ), ), - cancelledCount: json_['cancelledCount'] as core.int?, - completionTime: json_['completionTime'] as core.String?, + binaryAuthorization: json_.containsKey('binaryAuthorization') + ? GoogleCloudRunV2BinaryAuthorization.fromJson( + json_['binaryAuthorization'] + as core.Map) + : null, + client: json_['client'] as core.String?, + clientVersion: json_['clientVersion'] as core.String?, conditions: (json_['conditions'] as core.List?) ?.map((value) => GoogleCloudRunV2Condition.fromJson( value as core.Map)) .toList(), createTime: json_['createTime'] as core.String?, + creator: json_['creator'] as core.String?, deleteTime: json_['deleteTime'] as core.String?, etag: json_['etag'] as core.String?, + executionCount: json_['executionCount'] as core.int?, expireTime: json_['expireTime'] as core.String?, - failedCount: json_['failedCount'] as core.int?, generation: json_['generation'] as core.String?, - job: json_['job'] as core.String?, labels: (json_['labels'] as core.Map?)?.map( (key, value) => core.MapEntry( @@ -2895,519 +4492,581 @@ class GoogleCloudRunV2Execution { value as core.String, ), ), + lastModifier: json_['lastModifier'] as core.String?, + latestCreatedExecution: json_.containsKey('latestCreatedExecution') + ? GoogleCloudRunV2ExecutionReference.fromJson( + json_['latestCreatedExecution'] + as core.Map) + : null, launchStage: json_['launchStage'] as core.String?, - logUri: json_['logUri'] as core.String?, name: json_['name'] as core.String?, observedGeneration: json_['observedGeneration'] as core.String?, - parallelism: json_['parallelism'] as core.int?, reconciling: json_['reconciling'] as core.bool?, - retriedCount: json_['retriedCount'] as core.int?, - runningCount: json_['runningCount'] as core.int?, + runExecutionToken: json_['runExecutionToken'] as core.String?, satisfiesPzs: json_['satisfiesPzs'] as core.bool?, - startTime: json_['startTime'] as core.String?, - succeededCount: json_['succeededCount'] as core.int?, - taskCount: json_['taskCount'] as core.int?, + startExecutionToken: json_['startExecutionToken'] as core.String?, template: json_.containsKey('template') - ? GoogleCloudRunV2TaskTemplate.fromJson( + ? GoogleCloudRunV2ExecutionTemplate.fromJson( json_['template'] as core.Map) : null, + terminalCondition: json_.containsKey('terminalCondition') + ? GoogleCloudRunV2Condition.fromJson(json_['terminalCondition'] + as core.Map) + : null, uid: json_['uid'] as core.String?, updateTime: json_['updateTime'] as core.String?, ); core.Map toJson() => { if (annotations != null) 'annotations': annotations!, - if (cancelledCount != null) 'cancelledCount': cancelledCount!, - if (completionTime != null) 'completionTime': completionTime!, + if (binaryAuthorization != null) + 'binaryAuthorization': binaryAuthorization!, + if (client != null) 'client': client!, + if (clientVersion != null) 'clientVersion': clientVersion!, if (conditions != null) 'conditions': conditions!, if (createTime != null) 'createTime': createTime!, + if (creator != null) 'creator': creator!, if (deleteTime != null) 'deleteTime': deleteTime!, if (etag != null) 'etag': etag!, + if (executionCount != null) 'executionCount': executionCount!, if (expireTime != null) 'expireTime': expireTime!, - if (failedCount != null) 'failedCount': failedCount!, if (generation != null) 'generation': generation!, - if (job != null) 'job': job!, if (labels != null) 'labels': labels!, + if (lastModifier != null) 'lastModifier': lastModifier!, + if (latestCreatedExecution != null) + 'latestCreatedExecution': latestCreatedExecution!, if (launchStage != null) 'launchStage': launchStage!, - if (logUri != null) 'logUri': logUri!, if (name != null) 'name': name!, if (observedGeneration != null) 'observedGeneration': observedGeneration!, - if (parallelism != null) 'parallelism': parallelism!, if (reconciling != null) 'reconciling': reconciling!, - if (retriedCount != null) 'retriedCount': retriedCount!, - if (runningCount != null) 'runningCount': runningCount!, + if (runExecutionToken != null) 'runExecutionToken': runExecutionToken!, if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, - if (startTime != null) 'startTime': startTime!, - if (succeededCount != null) 'succeededCount': succeededCount!, - if (taskCount != null) 'taskCount': taskCount!, + if (startExecutionToken != null) + 'startExecutionToken': startExecutionToken!, if (template != null) 'template': template!, + if (terminalCondition != null) 'terminalCondition': terminalCondition!, if (uid != null) 'uid': uid!, if (updateTime != null) 'updateTime': updateTime!, }; } -/// Reference to an Execution. -/// -/// Use /Executions.GetExecution with the given name to get full execution -/// including the latest status. -class GoogleCloudRunV2ExecutionReference { - /// Status for the execution completion. - /// Possible string values are: - /// - "COMPLETION_STATUS_UNSPECIFIED" : The default value. This value is used - /// if the state is omitted. - /// - "EXECUTION_SUCCEEDED" : Job execution has succeeded. - /// - "EXECUTION_FAILED" : Job execution has failed. - /// - "EXECUTION_RUNNING" : Job execution is running normally. - /// - "EXECUTION_PENDING" : Waiting for backing resources to be provisioned. - /// - "EXECUTION_CANCELLED" : Job execution has been cancelled by the user. - core.String? completionStatus; +/// Response message containing a list of Executions. +class GoogleCloudRunV2ListExecutionsResponse { + /// The resulting list of Executions. + core.List? executions; - /// Creation timestamp of the execution. - core.String? completionTime; + /// A token indicating there are more items than page_size. + /// + /// Use it in the next ListExecutions request to continue. + core.String? nextPageToken; - /// Creation timestamp of the execution. - core.String? createTime; + GoogleCloudRunV2ListExecutionsResponse({ + this.executions, + this.nextPageToken, + }); - /// The deletion time of the execution. - /// - /// It is only populated as a response to a Delete request. - core.String? deleteTime; + GoogleCloudRunV2ListExecutionsResponse.fromJson(core.Map json_) + : this( + executions: (json_['executions'] as core.List?) + ?.map((value) => GoogleCloudRunV2Execution.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + ); - /// Name of the execution. - core.String? name; + core.Map toJson() => { + if (executions != null) 'executions': executions!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + }; +} - GoogleCloudRunV2ExecutionReference({ - this.completionStatus, - this.completionTime, - this.createTime, - this.deleteTime, - this.name, +/// Response message containing a list of Jobs. +class GoogleCloudRunV2ListJobsResponse { + /// The resulting list of Jobs. + core.List? jobs; + + /// A token indicating there are more items than page_size. + /// + /// Use it in the next ListJobs request to continue. + core.String? nextPageToken; + + GoogleCloudRunV2ListJobsResponse({ + this.jobs, + this.nextPageToken, }); - GoogleCloudRunV2ExecutionReference.fromJson(core.Map json_) + GoogleCloudRunV2ListJobsResponse.fromJson(core.Map json_) : this( - completionStatus: json_['completionStatus'] as core.String?, - completionTime: json_['completionTime'] as core.String?, - createTime: json_['createTime'] as core.String?, - deleteTime: json_['deleteTime'] as core.String?, - name: json_['name'] as core.String?, + jobs: (json_['jobs'] as core.List?) + ?.map((value) => GoogleCloudRunV2Job.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, ); core.Map toJson() => { - if (completionStatus != null) 'completionStatus': completionStatus!, - if (completionTime != null) 'completionTime': completionTime!, - if (createTime != null) 'createTime': createTime!, - if (deleteTime != null) 'deleteTime': deleteTime!, - if (name != null) 'name': name!, + if (jobs != null) 'jobs': jobs!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, }; } -/// ExecutionTemplate describes the data an execution should have when created -/// from a template. -class GoogleCloudRunV2ExecutionTemplate { - /// Unstructured key value map that may be set by external tools to store and - /// arbitrary metadata. +/// Response message containing a list of Revisions. +class GoogleCloudRunV2ListRevisionsResponse { + /// A token indicating there are more items than page_size. /// - /// They are not queryable and should be preserved when modifying objects. - /// Cloud Run API v2 does not support annotations with `run.googleapis.com`, - /// `cloud.googleapis.com`, `serving.knative.dev`, or - /// `autoscaling.knative.dev` namespaces, and they will be rejected. All - /// system annotations in v1 now have a corresponding field in v2 - /// ExecutionTemplate. This field follows Kubernetes annotations' namespacing, - /// limits, and rules. - core.Map? annotations; + /// Use it in the next ListRevisions request to continue. + core.String? nextPageToken; - /// Unstructured key value map that can be used to organize and categorize - /// objects. + /// The resulting list of Revisions. + core.List? revisions; + + GoogleCloudRunV2ListRevisionsResponse({ + this.nextPageToken, + this.revisions, + }); + + GoogleCloudRunV2ListRevisionsResponse.fromJson(core.Map json_) + : this( + nextPageToken: json_['nextPageToken'] as core.String?, + revisions: (json_['revisions'] as core.List?) + ?.map((value) => GoogleCloudRunV2Revision.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (revisions != null) 'revisions': revisions!, + }; +} + +/// Response message containing a list of Services. +class GoogleCloudRunV2ListServicesResponse { + /// A token indicating there are more items than page_size. /// - /// User-provided labels are shared with Google's billing system, so they can - /// be used to filter, or break down billing charges by team, component, - /// environment, state, etc. For more information, visit - /// https://cloud.google.com/resource-manager/docs/creating-managing-labels or - /// https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 - /// does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, - /// `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they - /// will be rejected. All system labels in v1 now have a corresponding field - /// in v2 ExecutionTemplate. - core.Map? labels; + /// Use it in the next ListServices request to continue. + core.String? nextPageToken; + + /// The resulting list of Services. + core.List? services; + + GoogleCloudRunV2ListServicesResponse({ + this.nextPageToken, + this.services, + }); - /// Specifies the maximum desired number of tasks the execution should run at - /// given time. - /// - /// Must be \<= task_count. When the job is run, if this field is 0 or unset, - /// the maximum possible value will be used for that execution. The actual - /// number of tasks running in steady state will be less than this number when - /// there are fewer tasks waiting to be completed remaining, i.e. when the - /// work left to do is less than max parallelism. - core.int? parallelism; + GoogleCloudRunV2ListServicesResponse.fromJson(core.Map json_) + : this( + nextPageToken: json_['nextPageToken'] as core.String?, + services: (json_['services'] as core.List?) + ?.map((value) => GoogleCloudRunV2Service.fromJson( + value as core.Map)) + .toList(), + ); - /// Specifies the desired number of tasks the execution should run. - /// - /// Setting to 1 means that parallelism is limited to 1 and the success of - /// that task signals the success of the execution. Defaults to 1. - core.int? taskCount; + core.Map toJson() => { + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (services != null) 'services': services!, + }; +} - /// Describes the task(s) that will be created when executing an execution. +/// Response message containing a list of Tasks. +class GoogleCloudRunV2ListTasksResponse { + /// A token indicating there are more items than page_size. /// - /// Required. - GoogleCloudRunV2TaskTemplate? template; + /// Use it in the next ListTasks request to continue. + core.String? nextPageToken; - GoogleCloudRunV2ExecutionTemplate({ - this.annotations, - this.labels, - this.parallelism, - this.taskCount, - this.template, + /// The resulting list of Tasks. + core.List? tasks; + + GoogleCloudRunV2ListTasksResponse({ + this.nextPageToken, + this.tasks, }); - GoogleCloudRunV2ExecutionTemplate.fromJson(core.Map json_) + GoogleCloudRunV2ListTasksResponse.fromJson(core.Map json_) : this( - annotations: - (json_['annotations'] as core.Map?) - ?.map( - (key, value) => core.MapEntry( - key, - value as core.String, - ), - ), - labels: - (json_['labels'] as core.Map?)?.map( - (key, value) => core.MapEntry( - key, - value as core.String, - ), - ), - parallelism: json_['parallelism'] as core.int?, - taskCount: json_['taskCount'] as core.int?, - template: json_.containsKey('template') - ? GoogleCloudRunV2TaskTemplate.fromJson( - json_['template'] as core.Map) - : null, + nextPageToken: json_['nextPageToken'] as core.String?, + tasks: (json_['tasks'] as core.List?) + ?.map((value) => GoogleCloudRunV2Task.fromJson( + value as core.Map)) + .toList(), ); core.Map toJson() => { - if (annotations != null) 'annotations': annotations!, - if (labels != null) 'labels': labels!, - if (parallelism != null) 'parallelism': parallelism!, - if (taskCount != null) 'taskCount': taskCount!, - if (template != null) 'template': template!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (tasks != null) 'tasks': tasks!, }; } -/// Request message for exporting Cloud Run image. -class GoogleCloudRunV2ExportImageRequest { - /// The export destination url (the Artifact Registry repo). +/// Response message containing a list of WorkerPools. +class GoogleCloudRunV2ListWorkerPoolsResponse { + /// A token indicating there are more items than page_size. /// - /// Required. - core.String? destinationRepo; + /// Use it in the next ListWorkerPools request to continue. + core.String? nextPageToken; - GoogleCloudRunV2ExportImageRequest({ - this.destinationRepo, + /// The resulting list of WorkerPools. + core.List? workerPools; + + GoogleCloudRunV2ListWorkerPoolsResponse({ + this.nextPageToken, + this.workerPools, }); - GoogleCloudRunV2ExportImageRequest.fromJson(core.Map json_) + GoogleCloudRunV2ListWorkerPoolsResponse.fromJson(core.Map json_) : this( - destinationRepo: json_['destinationRepo'] as core.String?, + nextPageToken: json_['nextPageToken'] as core.String?, + workerPools: (json_['workerPools'] as core.List?) + ?.map((value) => GoogleCloudRunV2WorkerPool.fromJson( + value as core.Map)) + .toList(), ); core.Map toJson() => { - if (destinationRepo != null) 'destinationRepo': destinationRepo!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (workerPools != null) 'workerPools': workerPools!, }; } -/// ExportImageResponse contains an operation Id to track the image export -/// operation. -class GoogleCloudRunV2ExportImageResponse { - /// An operation ID used to track the status of image exports tied to the - /// original pod ID in the request. - core.String? operationId; +/// Metadata represents the JSON encoded generated customer metadata. +class GoogleCloudRunV2Metadata { + /// JSON encoded Google-generated Customer Metadata for a given + /// resource/project. + core.String? metadata; - GoogleCloudRunV2ExportImageResponse({ - this.operationId, + GoogleCloudRunV2Metadata({ + this.metadata, }); - GoogleCloudRunV2ExportImageResponse.fromJson(core.Map json_) + GoogleCloudRunV2Metadata.fromJson(core.Map json_) : this( - operationId: json_['operationId'] as core.String?, + metadata: json_['metadata'] as core.String?, ); core.Map toJson() => { - if (operationId != null) 'operationId': operationId!, + if (metadata != null) 'metadata': metadata!, }; } -/// ExportStatusResponse contains the status of image export operation, with the -/// status of each image export job. -class GoogleCloudRunV2ExportStatusResponse { - /// The status of each image export job. - core.List? imageExportStatuses; +/// Represents an NFS mount. +class GoogleCloudRunV2NFSVolumeSource { + /// Path that is exported by the NFS server. + core.String? path; - /// The operation id. - core.String? operationId; + /// If true, the volume will be mounted as read only for all mounts. + core.bool? readOnly; - /// The state of the overall export operation. - /// - /// Output only. - /// Possible string values are: - /// - "OPERATION_STATE_UNSPECIFIED" : State unspecified. - /// - "IN_PROGRESS" : Operation still in progress. - /// - "FINISHED" : Operation finished. - core.String? operationState; + /// Hostname or IP address of the NFS server + core.String? server; - GoogleCloudRunV2ExportStatusResponse({ - this.imageExportStatuses, - this.operationId, - this.operationState, + GoogleCloudRunV2NFSVolumeSource({ + this.path, + this.readOnly, + this.server, }); - GoogleCloudRunV2ExportStatusResponse.fromJson(core.Map json_) + GoogleCloudRunV2NFSVolumeSource.fromJson(core.Map json_) : this( - imageExportStatuses: (json_['imageExportStatuses'] as core.List?) - ?.map((value) => GoogleCloudRunV2ImageExportStatus.fromJson( - value as core.Map)) - .toList(), - operationId: json_['operationId'] as core.String?, - operationState: json_['operationState'] as core.String?, + path: json_['path'] as core.String?, + readOnly: json_['readOnly'] as core.bool?, + server: json_['server'] as core.String?, ); core.Map toJson() => { - if (imageExportStatuses != null) - 'imageExportStatuses': imageExportStatuses!, - if (operationId != null) 'operationId': operationId!, - if (operationState != null) 'operationState': operationState!, + if (path != null) 'path': path!, + if (readOnly != null) 'readOnly': readOnly!, + if (server != null) 'server': server!, }; } -/// Represents a volume backed by a Cloud Storage bucket using Cloud Storage -/// FUSE. -class GoogleCloudRunV2GCSVolumeSource { - /// Cloud Storage Bucket name. - core.String? bucket; +/// Direct VPC egress settings. +class GoogleCloudRunV2NetworkInterface { + /// The VPC network that the Cloud Run resource will be able to send traffic + /// to. + /// + /// At least one of network or subnetwork must be specified. If both network + /// and subnetwork are specified, the given VPC subnetwork must belong to the + /// given VPC network. If network is not specified, it will be looked up from + /// the subnetwork. + /// + /// Optional. + core.String? network; - /// A list of additional flags to pass to the gcsfuse CLI. + /// The VPC subnetwork that the Cloud Run resource will get IPs from. /// - /// Options should be specified without the leading "--". - core.List? mountOptions; + /// At least one of network or subnetwork must be specified. If both network + /// and subnetwork are specified, the given VPC subnetwork must belong to the + /// given VPC network. If subnetwork is not specified, the subnetwork with the + /// same name with the network will be used. + /// + /// Optional. + core.String? subnetwork; - /// If true, the volume will be mounted as read only for all mounts. - core.bool? readOnly; + /// Network tags applied to this Cloud Run resource. + /// + /// Optional. + core.List? tags; - GoogleCloudRunV2GCSVolumeSource({ - this.bucket, - this.mountOptions, - this.readOnly, + GoogleCloudRunV2NetworkInterface({ + this.network, + this.subnetwork, + this.tags, }); - GoogleCloudRunV2GCSVolumeSource.fromJson(core.Map json_) + GoogleCloudRunV2NetworkInterface.fromJson(core.Map json_) : this( - bucket: json_['bucket'] as core.String?, - mountOptions: (json_['mountOptions'] as core.List?) + network: json_['network'] as core.String?, + subnetwork: json_['subnetwork'] as core.String?, + tags: (json_['tags'] as core.List?) ?.map((value) => value as core.String) .toList(), - readOnly: json_['readOnly'] as core.bool?, ); core.Map toJson() => { - if (bucket != null) 'bucket': bucket!, - if (mountOptions != null) 'mountOptions': mountOptions!, - if (readOnly != null) 'readOnly': readOnly!, + if (network != null) 'network': network!, + if (subnetwork != null) 'subnetwork': subnetwork!, + if (tags != null) 'tags': tags!, }; } -/// GRPCAction describes an action involving a GRPC port. -class GoogleCloudRunV2GRPCAction { - /// Port number of the gRPC service. - /// - /// Number must be in the range 1 to 65535. If not specified, defaults to the - /// exposed port of the container, which is the value of - /// container.ports\[0\].containerPort. +/// Hardware constraints configuration. +class GoogleCloudRunV2NodeSelector { + /// GPU accelerator type to attach to an instance. /// - /// Optional. - core.int? port; + /// Required. + core.String? accelerator; + + GoogleCloudRunV2NodeSelector({ + this.accelerator, + }); + + GoogleCloudRunV2NodeSelector.fromJson(core.Map json_) + : this( + accelerator: json_['accelerator'] as core.String?, + ); + + core.Map toJson() => { + if (accelerator != null) 'accelerator': accelerator!, + }; +} + +/// RunJob Overrides that contains Execution fields to be overridden. +class GoogleCloudRunV2Overrides { + /// Per container override specification. + core.List? containerOverrides; - /// Service is the name of the service to place in the gRPC HealthCheckRequest - /// (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). + /// The desired number of tasks the execution should run. /// - /// If this is not specified, the default behavior is defined by gRPC. + /// Will replace existing task_count value. /// /// Optional. - core.String? service; + core.int? taskCount; - GoogleCloudRunV2GRPCAction({ - this.port, - this.service, + /// Duration in seconds the task may be active before the system will actively + /// try to mark it failed and kill associated containers. + /// + /// Will replace existing timeout_seconds value. + core.String? timeout; + + GoogleCloudRunV2Overrides({ + this.containerOverrides, + this.taskCount, + this.timeout, }); - GoogleCloudRunV2GRPCAction.fromJson(core.Map json_) + GoogleCloudRunV2Overrides.fromJson(core.Map json_) : this( - port: json_['port'] as core.int?, - service: json_['service'] as core.String?, + containerOverrides: (json_['containerOverrides'] as core.List?) + ?.map((value) => GoogleCloudRunV2ContainerOverride.fromJson( + value as core.Map)) + .toList(), + taskCount: json_['taskCount'] as core.int?, + timeout: json_['timeout'] as core.String?, ); core.Map toJson() => { - if (port != null) 'port': port!, - if (service != null) 'service': service!, + if (containerOverrides != null) + 'containerOverrides': containerOverrides!, + if (taskCount != null) 'taskCount': taskCount!, + if (timeout != null) 'timeout': timeout!, }; } -/// HTTPGetAction describes an action based on HTTP Get requests. -class GoogleCloudRunV2HTTPGetAction { - /// Custom headers to set in the request. +/// Probe describes a health check to be performed against a container to +/// determine whether it is alive or ready to receive traffic. +class GoogleCloudRunV2Probe { + /// Minimum consecutive failures for the probe to be considered failed after + /// having succeeded. /// - /// HTTP allows repeated headers. + /// Defaults to 3. Minimum value is 1. /// /// Optional. - core.List? httpHeaders; + core.int? failureThreshold; - /// Path to access on the HTTP server. + /// GRPC specifies an action involving a gRPC port. /// - /// Defaults to '/'. + /// Exactly one of httpGet, tcpSocket, or grpc must be specified. /// /// Optional. - core.String? path; + GoogleCloudRunV2GRPCAction? grpc; - /// Port number to access on the container. + /// HTTPGet specifies the http request to perform. /// - /// Must be in the range 1 to 65535. If not specified, defaults to the exposed - /// port of the container, which is the value of - /// container.ports\[0\].containerPort. + /// Exactly one of httpGet, tcpSocket, or grpc must be specified. /// /// Optional. - core.int? port; - - GoogleCloudRunV2HTTPGetAction({ - this.httpHeaders, - this.path, - this.port, - }); + GoogleCloudRunV2HTTPGetAction? httpGet; - GoogleCloudRunV2HTTPGetAction.fromJson(core.Map json_) - : this( - httpHeaders: (json_['httpHeaders'] as core.List?) - ?.map((value) => GoogleCloudRunV2HTTPHeader.fromJson( - value as core.Map)) - .toList(), - path: json_['path'] as core.String?, - port: json_['port'] as core.int?, - ); + /// Number of seconds after the container has started before the probe is + /// initiated. + /// + /// Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness + /// probe is 3600. Maximum value for startup probe is 240. + /// + /// Optional. + core.int? initialDelaySeconds; - core.Map toJson() => { - if (httpHeaders != null) 'httpHeaders': httpHeaders!, - if (path != null) 'path': path!, - if (port != null) 'port': port!, - }; -} + /// How often (in seconds) to perform the probe. + /// + /// Default to 10 seconds. Minimum value is 1. Maximum value for liveness + /// probe is 3600. Maximum value for startup probe is 240. Must be greater or + /// equal than timeout_seconds. + /// + /// Optional. + core.int? periodSeconds; -/// HTTPHeader describes a custom header to be used in HTTP probes -class GoogleCloudRunV2HTTPHeader { - /// The header field name + /// TCPSocket specifies an action involving a TCP port. /// - /// Required. - core.String? name; + /// Exactly one of httpGet, tcpSocket, or grpc must be specified. + /// + /// Optional. + GoogleCloudRunV2TCPSocketAction? tcpSocket; - /// The header field value + /// Number of seconds after which the probe times out. + /// + /// Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be + /// smaller than period_seconds. /// /// Optional. - core.String? value; + core.int? timeoutSeconds; - GoogleCloudRunV2HTTPHeader({ - this.name, - this.value, + GoogleCloudRunV2Probe({ + this.failureThreshold, + this.grpc, + this.httpGet, + this.initialDelaySeconds, + this.periodSeconds, + this.tcpSocket, + this.timeoutSeconds, }); - GoogleCloudRunV2HTTPHeader.fromJson(core.Map json_) + GoogleCloudRunV2Probe.fromJson(core.Map json_) : this( - name: json_['name'] as core.String?, - value: json_['value'] as core.String?, + failureThreshold: json_['failureThreshold'] as core.int?, + grpc: json_.containsKey('grpc') + ? GoogleCloudRunV2GRPCAction.fromJson( + json_['grpc'] as core.Map) + : null, + httpGet: json_.containsKey('httpGet') + ? GoogleCloudRunV2HTTPGetAction.fromJson( + json_['httpGet'] as core.Map) + : null, + initialDelaySeconds: json_['initialDelaySeconds'] as core.int?, + periodSeconds: json_['periodSeconds'] as core.int?, + tcpSocket: json_.containsKey('tcpSocket') + ? GoogleCloudRunV2TCPSocketAction.fromJson( + json_['tcpSocket'] as core.Map) + : null, + timeoutSeconds: json_['timeoutSeconds'] as core.int?, ); core.Map toJson() => { - if (name != null) 'name': name!, - if (value != null) 'value': value!, + if (failureThreshold != null) 'failureThreshold': failureThreshold!, + if (grpc != null) 'grpc': grpc!, + if (httpGet != null) 'httpGet': httpGet!, + if (initialDelaySeconds != null) + 'initialDelaySeconds': initialDelaySeconds!, + if (periodSeconds != null) 'periodSeconds': periodSeconds!, + if (tcpSocket != null) 'tcpSocket': tcpSocket!, + if (timeoutSeconds != null) 'timeoutSeconds': timeoutSeconds!, }; } -/// The status of an image export job. -class GoogleCloudRunV2ImageExportStatus { - /// Has the image export job finished (regardless of successful or failure). +/// ResourceRequirements describes the compute resource requirements. +class GoogleCloudRunV2ResourceRequirements { + /// Determines whether CPU is only allocated during requests (true by + /// default). /// - /// Output only. - /// Possible string values are: - /// - "EXPORT_JOB_STATE_UNSPECIFIED" : State unspecified. - /// - "IN_PROGRESS" : Job still in progress. - /// - "FINISHED" : Job finished. - core.String? exportJobState; - - /// The exported image ID as it will appear in Artifact Registry. - core.String? exportedImageDigest; + /// However, if ResourceRequirements is set, the caller must explicitly set + /// this field to true to preserve the default behavior. + core.bool? cpuIdle; - /// The status of the export task if done. - UtilStatusProto? status; + /// Only `memory` and `cpu` keys in the map are supported. + /// + /// Notes: * The only supported values for CPU are '1', '2', '4', and '8'. + /// Setting 4 CPU requires at least 2Gi of memory. For more information, go to + /// https://cloud.google.com/run/docs/configuring/cpu. * For supported + /// 'memory' values and syntax, go to + /// https://cloud.google.com/run/docs/configuring/memory-limits + core.Map? limits; - /// The image tag as it will appear in Artifact Registry. - core.String? tag; + /// Determines whether CPU should be boosted on startup of a new container + /// instance above the requested CPU threshold, this can help reduce + /// cold-start latency. + core.bool? startupCpuBoost; - GoogleCloudRunV2ImageExportStatus({ - this.exportJobState, - this.exportedImageDigest, - this.status, - this.tag, + GoogleCloudRunV2ResourceRequirements({ + this.cpuIdle, + this.limits, + this.startupCpuBoost, }); - GoogleCloudRunV2ImageExportStatus.fromJson(core.Map json_) + GoogleCloudRunV2ResourceRequirements.fromJson(core.Map json_) : this( - exportJobState: json_['exportJobState'] as core.String?, - exportedImageDigest: json_['exportedImageDigest'] as core.String?, - status: json_.containsKey('status') - ? UtilStatusProto.fromJson( - json_['status'] as core.Map) - : null, - tag: json_['tag'] as core.String?, + cpuIdle: json_['cpuIdle'] as core.bool?, + limits: + (json_['limits'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + startupCpuBoost: json_['startupCpuBoost'] as core.bool?, ); core.Map toJson() => { - if (exportJobState != null) 'exportJobState': exportJobState!, - if (exportedImageDigest != null) - 'exportedImageDigest': exportedImageDigest!, - if (status != null) 'status': status!, - if (tag != null) 'tag': tag!, + if (cpuIdle != null) 'cpuIdle': cpuIdle!, + if (limits != null) 'limits': limits!, + if (startupCpuBoost != null) 'startupCpuBoost': startupCpuBoost!, }; } -/// Job represents the configuration of a single job, which references a -/// container image that is run to completion. -class GoogleCloudRunV2Job { +/// A Revision is an immutable snapshot of code and configuration. +/// +/// A Revision references a container image. Revisions are only created by +/// updates to its parent Service. +class GoogleCloudRunV2Revision { /// Unstructured key value map that may be set by external tools to store and /// arbitrary metadata. /// - /// They are not queryable and should be preserved when modifying objects. - /// Cloud Run API v2 does not support annotations with `run.googleapis.com`, - /// `cloud.googleapis.com`, `serving.knative.dev`, or - /// `autoscaling.knative.dev` namespaces, and they will be rejected on new - /// resources. All system annotations in v1 now have a corresponding field in - /// v2 Job. This field follows Kubernetes annotations' namespacing, limits, - /// and rules. - core.Map? annotations; - - /// Settings for the Binary Authorization feature. - GoogleCloudRunV2BinaryAuthorization? binaryAuthorization; - - /// Arbitrary identifier for the API client. - core.String? client; - - /// Arbitrary version identifier for the API client. - core.String? clientVersion; - - /// The Conditions of all other associated sub-resources. + /// They are not queryable and should be preserved when modifying objects. /// - /// They contain additional diagnostics information in case the Job does not - /// reach its desired state. See comments in `reconciling` for additional - /// information on reconciliation process in Cloud Run. + /// Output only. + core.Map? annotations; + + /// The Condition of this Revision, containing its readiness status, and + /// detailed error information in case it did not reach a serving state. /// /// Output only. core.List? conditions; + /// Holds the single container that defines the unit of execution for this + /// Revision. + core.List? containers; + /// The creation time. /// /// Output only. @@ -3418,13 +5077,34 @@ class GoogleCloudRunV2Job { /// Output only. core.String? creator; - /// The deletion time. + /// For a deleted resource, the deletion time. /// /// It is only populated as a response to a Delete request. /// /// Output only. core.String? deleteTime; + /// A reference to a customer managed encryption key (CMEK) to use to encrypt + /// this container image. + /// + /// For more information, go to + /// https://cloud.google.com/run/docs/securing/using-cmek + core.String? encryptionKey; + + /// The action to take if the encryption key is revoked. + /// Possible string values are: + /// - "ENCRYPTION_KEY_REVOCATION_ACTION_UNSPECIFIED" : Unspecified + /// - "PREVENT_NEW" : Prevents the creation of new instances. + /// - "SHUTDOWN" : Shuts down existing instances, and prevents creation of new + /// ones. + core.String? encryptionKeyRevocationAction; + + /// If encryption_key_revocation_action is SHUTDOWN, the duration before + /// shutting down all instances. + /// + /// The minimum increment is 1 hour. + core.String? encryptionKeyShutdownDuration; + /// A system-generated fingerprint for this version of the resource. /// /// May be used to detect modification conflict during updates. @@ -3432,14 +5112,18 @@ class GoogleCloudRunV2Job { /// Output only. core.String? etag; - /// Number of executions created for this job. - /// - /// Output only. - core.int? executionCount; + /// The execution environment being used to host this Revision. + /// Possible string values are: + /// - "EXECUTION_ENVIRONMENT_UNSPECIFIED" : Unspecified + /// - "EXECUTION_ENVIRONMENT_GEN1" : Uses the First Generation environment. + /// - "EXECUTION_ENVIRONMENT_GEN2" : Uses Second Generation environment. + core.String? executionEnvironment; /// For a deleted resource, the time after which it will be permamently /// deleted. /// + /// It is only populated as a response to a Delete request. + /// /// Output only. core.String? expireTime; @@ -3456,32 +5140,19 @@ class GoogleCloudRunV2Job { /// be used to filter, or break down billing charges by team, component, /// environment, state, etc. For more information, visit /// https://cloud.google.com/resource-manager/docs/creating-managing-labels or - /// https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 - /// does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, - /// `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they - /// will be rejected. All system labels in v1 now have a corresponding field - /// in v2 Job. - core.Map? labels; - - /// Email address of the last authenticated modifier. - /// - /// Output only. - core.String? lastModifier; - - /// Name of the last created execution. + /// https://cloud.google.com/run/docs/configuring/labels. /// /// Output only. - GoogleCloudRunV2ExecutionReference? latestCreatedExecution; + core.Map? labels; - /// The launch stage as defined by + /// The least stable launch stage needed to create this resource, as defined + /// by /// [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). /// - /// Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, GA - /// is assumed. Set the launch stage to a preview stage on input to allow use - /// of preview features in that stage. On read (or output), describes whether - /// the resource uses preview features. For example, if ALPHA is provided as - /// input, but only BETA and GA-level features are used, this field will be - /// BETA on output. + /// Cloud Run supports `ALPHA`, `BETA`, and `GA`. Note that this value might + /// not be what was used as input. For example, if ALPHA was provided as input + /// in the parent resource, but only BETA and GA-level features are were, this + /// field will be BETA. /// Possible string values are: /// - "LAUNCH_STAGE_UNSPECIFIED" : Do not use this default value. /// - "UNIMPLEMENTED" : The feature is not yet implemented. Users can not use @@ -3516,12 +5187,24 @@ class GoogleCloudRunV2Job { /// documentation. core.String? launchStage; - /// The fully qualified name of this Job. + /// The Google Console URI to obtain logs for the Revision. /// - /// Format: projects/{project}/locations/{location}/jobs/{job} + /// Output only. + core.String? logUri; + + /// Sets the maximum number of requests that each serving instance can + /// receive. + core.int? maxInstanceRequestConcurrency; + + /// The unique name of this Revision. + /// + /// Output only. core.String? name; - /// The generation of this Job. + /// The node selector for the revision. + GoogleCloudRunV2NodeSelector? nodeSelector; + + /// The generation of this Revision currently serving traffic. /// /// See comments in `reconciling` for additional information on reconciliation /// process in Cloud Run. @@ -3529,57 +5212,49 @@ class GoogleCloudRunV2Job { /// Output only. core.String? observedGeneration; - /// Returns true if the Job is currently being acted upon by the system to - /// bring it into the desired state. + /// Indicates whether the resource's reconciliation is still in progress. /// - /// When a new Job is created, or an existing one is updated, Cloud Run will - /// asynchronously perform all necessary steps to bring the Job to the desired - /// state. This process is called reconciliation. While reconciliation is in - /// process, `observed_generation` and `latest_succeeded_execution`, will have - /// transient values that might mismatch the intended state: Once - /// reconciliation is over (and this field is false), there are two possible - /// outcomes: reconciliation succeeded and the state matches the Job, or there - /// was an error, and reconciliation failed. This state can be found in - /// `terminal_condition.state`. If reconciliation succeeded, the following - /// fields will match: `observed_generation` and `generation`, - /// `latest_succeeded_execution` and `latest_created_execution`. If - /// reconciliation failed, `observed_generation` and - /// `latest_succeeded_execution` will have the state of the last succeeded - /// execution or empty for newly created Job. Additional information on the - /// failure can be found in `terminal_condition` and `conditions`. + /// See comments in `Service.reconciling` for additional information on + /// reconciliation process in Cloud Run. /// /// Output only. core.bool? reconciling; - /// A unique string used as a suffix for creating a new execution. - /// - /// The Job will become ready when the execution is successfully completed. - /// The sum of job name and token length must be fewer than 63 characters. - core.String? runExecutionToken; - /// Reserved for future use. /// /// Output only. core.bool? satisfiesPzs; - /// A unique string used as a suffix creating a new execution. - /// - /// The Job will become ready when the execution is successfully started. The - /// sum of job name and token length must be fewer than 63 characters. - core.String? startExecutionToken; + /// Scaling settings for this revision. + GoogleCloudRunV2RevisionScaling? scaling; - /// The template used to create executions for this Job. + /// The current effective scaling settings for the revision. /// - /// Required. - GoogleCloudRunV2ExecutionTemplate? template; + /// Output only. + GoogleCloudRunV2RevisionScalingStatus? scalingStatus; - /// The Condition of this Job, containing its readiness status, and detailed - /// error information in case it did not reach the desired state. + /// The name of the parent service. /// /// Output only. - GoogleCloudRunV2Condition? terminalCondition; + core.String? service; - /// Server assigned unique identifier for the Execution. + /// Email address of the IAM service account associated with the revision of + /// the service. + /// + /// The service account represents the identity of the running revision, and + /// determines what permissions the revision has. + core.String? serviceAccount; + + /// Enables service mesh connectivity. + GoogleCloudRunV2ServiceMesh? serviceMesh; + + /// Enable session affinity. + core.bool? sessionAffinity; + + /// Max allowed time for an instance to respond to a request. + core.String? timeout; + + /// Server assigned unique identifier for the Revision. /// /// The value is a UUID4 string and guaranteed to remain unchanged until the /// resource is deleted. @@ -3592,36 +5267,52 @@ class GoogleCloudRunV2Job { /// Output only. core.String? updateTime; - GoogleCloudRunV2Job({ + /// A list of Volumes to make available to containers. + core.List? volumes; + + /// VPC Access configuration for this Revision. + /// + /// For more information, visit + /// https://cloud.google.com/run/docs/configuring/connecting-vpc. + GoogleCloudRunV2VpcAccess? vpcAccess; + + GoogleCloudRunV2Revision({ this.annotations, - this.binaryAuthorization, - this.client, - this.clientVersion, this.conditions, + this.containers, this.createTime, this.creator, this.deleteTime, + this.encryptionKey, + this.encryptionKeyRevocationAction, + this.encryptionKeyShutdownDuration, this.etag, - this.executionCount, + this.executionEnvironment, this.expireTime, this.generation, this.labels, - this.lastModifier, - this.latestCreatedExecution, this.launchStage, + this.logUri, + this.maxInstanceRequestConcurrency, this.name, + this.nodeSelector, this.observedGeneration, this.reconciling, - this.runExecutionToken, this.satisfiesPzs, - this.startExecutionToken, - this.template, - this.terminalCondition, + this.scaling, + this.scalingStatus, + this.service, + this.serviceAccount, + this.serviceMesh, + this.sessionAffinity, + this.timeout, this.uid, this.updateTime, + this.volumes, + this.vpcAccess, }); - GoogleCloudRunV2Job.fromJson(core.Map json_) + GoogleCloudRunV2Revision.fromJson(core.Map json_) : this( annotations: (json_['annotations'] as core.Map?) @@ -3631,22 +5322,24 @@ class GoogleCloudRunV2Job { value as core.String, ), ), - binaryAuthorization: json_.containsKey('binaryAuthorization') - ? GoogleCloudRunV2BinaryAuthorization.fromJson( - json_['binaryAuthorization'] - as core.Map) - : null, - client: json_['client'] as core.String?, - clientVersion: json_['clientVersion'] as core.String?, conditions: (json_['conditions'] as core.List?) ?.map((value) => GoogleCloudRunV2Condition.fromJson( value as core.Map)) .toList(), + containers: (json_['containers'] as core.List?) + ?.map((value) => GoogleCloudRunV2Container.fromJson( + value as core.Map)) + .toList(), createTime: json_['createTime'] as core.String?, creator: json_['creator'] as core.String?, deleteTime: json_['deleteTime'] as core.String?, + encryptionKey: json_['encryptionKey'] as core.String?, + encryptionKeyRevocationAction: + json_['encryptionKeyRevocationAction'] as core.String?, + encryptionKeyShutdownDuration: + json_['encryptionKeyShutdownDuration'] as core.String?, etag: json_['etag'] as core.String?, - executionCount: json_['executionCount'] as core.int?, + executionEnvironment: json_['executionEnvironment'] as core.String?, expireTime: json_['expireTime'] as core.String?, generation: json_['generation'] as core.String?, labels: @@ -3656,583 +5349,570 @@ class GoogleCloudRunV2Job { value as core.String, ), ), - lastModifier: json_['lastModifier'] as core.String?, - latestCreatedExecution: json_.containsKey('latestCreatedExecution') - ? GoogleCloudRunV2ExecutionReference.fromJson( - json_['latestCreatedExecution'] - as core.Map) - : null, launchStage: json_['launchStage'] as core.String?, + logUri: json_['logUri'] as core.String?, + maxInstanceRequestConcurrency: + json_['maxInstanceRequestConcurrency'] as core.int?, name: json_['name'] as core.String?, + nodeSelector: json_.containsKey('nodeSelector') + ? GoogleCloudRunV2NodeSelector.fromJson( + json_['nodeSelector'] as core.Map) + : null, observedGeneration: json_['observedGeneration'] as core.String?, reconciling: json_['reconciling'] as core.bool?, - runExecutionToken: json_['runExecutionToken'] as core.String?, satisfiesPzs: json_['satisfiesPzs'] as core.bool?, - startExecutionToken: json_['startExecutionToken'] as core.String?, - template: json_.containsKey('template') - ? GoogleCloudRunV2ExecutionTemplate.fromJson( - json_['template'] as core.Map) + scaling: json_.containsKey('scaling') + ? GoogleCloudRunV2RevisionScaling.fromJson( + json_['scaling'] as core.Map) : null, - terminalCondition: json_.containsKey('terminalCondition') - ? GoogleCloudRunV2Condition.fromJson(json_['terminalCondition'] - as core.Map) + scalingStatus: json_.containsKey('scalingStatus') + ? GoogleCloudRunV2RevisionScalingStatus.fromJson( + json_['scalingStatus'] as core.Map) + : null, + service: json_['service'] as core.String?, + serviceAccount: json_['serviceAccount'] as core.String?, + serviceMesh: json_.containsKey('serviceMesh') + ? GoogleCloudRunV2ServiceMesh.fromJson( + json_['serviceMesh'] as core.Map) + : null, + sessionAffinity: json_['sessionAffinity'] as core.bool?, + timeout: json_['timeout'] as core.String?, + uid: json_['uid'] as core.String?, + updateTime: json_['updateTime'] as core.String?, + volumes: (json_['volumes'] as core.List?) + ?.map((value) => GoogleCloudRunV2Volume.fromJson( + value as core.Map)) + .toList(), + vpcAccess: json_.containsKey('vpcAccess') + ? GoogleCloudRunV2VpcAccess.fromJson( + json_['vpcAccess'] as core.Map) : null, - uid: json_['uid'] as core.String?, - updateTime: json_['updateTime'] as core.String?, ); core.Map toJson() => { if (annotations != null) 'annotations': annotations!, - if (binaryAuthorization != null) - 'binaryAuthorization': binaryAuthorization!, - if (client != null) 'client': client!, - if (clientVersion != null) 'clientVersion': clientVersion!, if (conditions != null) 'conditions': conditions!, + if (containers != null) 'containers': containers!, if (createTime != null) 'createTime': createTime!, if (creator != null) 'creator': creator!, if (deleteTime != null) 'deleteTime': deleteTime!, + if (encryptionKey != null) 'encryptionKey': encryptionKey!, + if (encryptionKeyRevocationAction != null) + 'encryptionKeyRevocationAction': encryptionKeyRevocationAction!, + if (encryptionKeyShutdownDuration != null) + 'encryptionKeyShutdownDuration': encryptionKeyShutdownDuration!, if (etag != null) 'etag': etag!, - if (executionCount != null) 'executionCount': executionCount!, + if (executionEnvironment != null) + 'executionEnvironment': executionEnvironment!, if (expireTime != null) 'expireTime': expireTime!, if (generation != null) 'generation': generation!, if (labels != null) 'labels': labels!, - if (lastModifier != null) 'lastModifier': lastModifier!, - if (latestCreatedExecution != null) - 'latestCreatedExecution': latestCreatedExecution!, if (launchStage != null) 'launchStage': launchStage!, + if (logUri != null) 'logUri': logUri!, + if (maxInstanceRequestConcurrency != null) + 'maxInstanceRequestConcurrency': maxInstanceRequestConcurrency!, if (name != null) 'name': name!, + if (nodeSelector != null) 'nodeSelector': nodeSelector!, if (observedGeneration != null) 'observedGeneration': observedGeneration!, if (reconciling != null) 'reconciling': reconciling!, - if (runExecutionToken != null) 'runExecutionToken': runExecutionToken!, if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, - if (startExecutionToken != null) - 'startExecutionToken': startExecutionToken!, - if (template != null) 'template': template!, - if (terminalCondition != null) 'terminalCondition': terminalCondition!, + if (scaling != null) 'scaling': scaling!, + if (scalingStatus != null) 'scalingStatus': scalingStatus!, + if (service != null) 'service': service!, + if (serviceAccount != null) 'serviceAccount': serviceAccount!, + if (serviceMesh != null) 'serviceMesh': serviceMesh!, + if (sessionAffinity != null) 'sessionAffinity': sessionAffinity!, + if (timeout != null) 'timeout': timeout!, if (uid != null) 'uid': uid!, if (updateTime != null) 'updateTime': updateTime!, + if (volumes != null) 'volumes': volumes!, + if (vpcAccess != null) 'vpcAccess': vpcAccess!, }; } -/// Response message containing a list of Executions. -class GoogleCloudRunV2ListExecutionsResponse { - /// The resulting list of Executions. - core.List? executions; - - /// A token indicating there are more items than page_size. +/// Settings for revision-level scaling settings. +class GoogleCloudRunV2RevisionScaling { + /// Maximum number of serving instances that this resource should have. /// - /// Use it in the next ListExecutions request to continue. - core.String? nextPageToken; - - GoogleCloudRunV2ListExecutionsResponse({ - this.executions, - this.nextPageToken, - }); - - GoogleCloudRunV2ListExecutionsResponse.fromJson(core.Map json_) - : this( - executions: (json_['executions'] as core.List?) - ?.map((value) => GoogleCloudRunV2Execution.fromJson( - value as core.Map)) - .toList(), - nextPageToken: json_['nextPageToken'] as core.String?, - ); - - core.Map toJson() => { - if (executions != null) 'executions': executions!, - if (nextPageToken != null) 'nextPageToken': nextPageToken!, - }; -} - -/// Response message containing a list of Jobs. -class GoogleCloudRunV2ListJobsResponse { - /// The resulting list of Jobs. - core.List? jobs; - - /// A token indicating there are more items than page_size. + /// When unspecified, the field is set to the server default value of 100. For + /// more information see + /// https://cloud.google.com/run/docs/configuring/max-instances /// - /// Use it in the next ListJobs request to continue. - core.String? nextPageToken; - - GoogleCloudRunV2ListJobsResponse({ - this.jobs, - this.nextPageToken, - }); - - GoogleCloudRunV2ListJobsResponse.fromJson(core.Map json_) - : this( - jobs: (json_['jobs'] as core.List?) - ?.map((value) => GoogleCloudRunV2Job.fromJson( - value as core.Map)) - .toList(), - nextPageToken: json_['nextPageToken'] as core.String?, - ); - - core.Map toJson() => { - if (jobs != null) 'jobs': jobs!, - if (nextPageToken != null) 'nextPageToken': nextPageToken!, - }; -} + /// Optional. + core.int? maxInstanceCount; -/// Response message containing a list of Revisions. -class GoogleCloudRunV2ListRevisionsResponse { - /// A token indicating there are more items than page_size. + /// Minimum number of serving instances that this resource should have. /// - /// Use it in the next ListRevisions request to continue. - core.String? nextPageToken; - - /// The resulting list of Revisions. - core.List? revisions; + /// Optional. + core.int? minInstanceCount; - GoogleCloudRunV2ListRevisionsResponse({ - this.nextPageToken, - this.revisions, + GoogleCloudRunV2RevisionScaling({ + this.maxInstanceCount, + this.minInstanceCount, }); - GoogleCloudRunV2ListRevisionsResponse.fromJson(core.Map json_) + GoogleCloudRunV2RevisionScaling.fromJson(core.Map json_) : this( - nextPageToken: json_['nextPageToken'] as core.String?, - revisions: (json_['revisions'] as core.List?) - ?.map((value) => GoogleCloudRunV2Revision.fromJson( - value as core.Map)) - .toList(), + maxInstanceCount: json_['maxInstanceCount'] as core.int?, + minInstanceCount: json_['minInstanceCount'] as core.int?, ); core.Map toJson() => { - if (nextPageToken != null) 'nextPageToken': nextPageToken!, - if (revisions != null) 'revisions': revisions!, + if (maxInstanceCount != null) 'maxInstanceCount': maxInstanceCount!, + if (minInstanceCount != null) 'minInstanceCount': minInstanceCount!, }; } -/// Response message containing a list of Services. -class GoogleCloudRunV2ListServicesResponse { - /// A token indicating there are more items than page_size. - /// - /// Use it in the next ListServices request to continue. - core.String? nextPageToken; - - /// The resulting list of Services. - core.List? services; +/// Effective settings for the current revision +class GoogleCloudRunV2RevisionScalingStatus { + /// The current number of min instances provisioned for this revision. + core.int? desiredMinInstanceCount; - GoogleCloudRunV2ListServicesResponse({ - this.nextPageToken, - this.services, + GoogleCloudRunV2RevisionScalingStatus({ + this.desiredMinInstanceCount, }); - GoogleCloudRunV2ListServicesResponse.fromJson(core.Map json_) + GoogleCloudRunV2RevisionScalingStatus.fromJson(core.Map json_) : this( - nextPageToken: json_['nextPageToken'] as core.String?, - services: (json_['services'] as core.List?) - ?.map((value) => GoogleCloudRunV2Service.fromJson( - value as core.Map)) - .toList(), + desiredMinInstanceCount: + json_['desiredMinInstanceCount'] as core.int?, ); core.Map toJson() => { - if (nextPageToken != null) 'nextPageToken': nextPageToken!, - if (services != null) 'services': services!, + if (desiredMinInstanceCount != null) + 'desiredMinInstanceCount': desiredMinInstanceCount!, }; } -/// Response message containing a list of Tasks. -class GoogleCloudRunV2ListTasksResponse { - /// A token indicating there are more items than page_size. +/// RevisionTemplate describes the data a revision should have when created from +/// a template. +class GoogleCloudRunV2RevisionTemplate { + /// Unstructured key value map that may be set by external tools to store and + /// arbitrary metadata. /// - /// Use it in the next ListTasks request to continue. - core.String? nextPageToken; - - /// The resulting list of Tasks. - core.List? tasks; - - GoogleCloudRunV2ListTasksResponse({ - this.nextPageToken, - this.tasks, - }); - - GoogleCloudRunV2ListTasksResponse.fromJson(core.Map json_) - : this( - nextPageToken: json_['nextPageToken'] as core.String?, - tasks: (json_['tasks'] as core.List?) - ?.map((value) => GoogleCloudRunV2Task.fromJson( - value as core.Map)) - .toList(), - ); - - core.Map toJson() => { - if (nextPageToken != null) 'nextPageToken': nextPageToken!, - if (tasks != null) 'tasks': tasks!, - }; -} - -/// Metadata represents the JSON encoded generated customer metadata. -class GoogleCloudRunV2Metadata { - /// JSON encoded Google-generated Customer Metadata for a given - /// resource/project. - core.String? metadata; - - GoogleCloudRunV2Metadata({ - this.metadata, - }); - - GoogleCloudRunV2Metadata.fromJson(core.Map json_) - : this( - metadata: json_['metadata'] as core.String?, - ); - - core.Map toJson() => { - if (metadata != null) 'metadata': metadata!, - }; -} - -/// Represents an NFS mount. -class GoogleCloudRunV2NFSVolumeSource { - /// Path that is exported by the NFS server. - core.String? path; - - /// If true, the volume will be mounted as read only for all mounts. - core.bool? readOnly; - - /// Hostname or IP address of the NFS server - core.String? server; - - GoogleCloudRunV2NFSVolumeSource({ - this.path, - this.readOnly, - this.server, - }); - - GoogleCloudRunV2NFSVolumeSource.fromJson(core.Map json_) - : this( - path: json_['path'] as core.String?, - readOnly: json_['readOnly'] as core.bool?, - server: json_['server'] as core.String?, - ); - - core.Map toJson() => { - if (path != null) 'path': path!, - if (readOnly != null) 'readOnly': readOnly!, - if (server != null) 'server': server!, - }; -} + /// They are not queryable and should be preserved when modifying objects. + /// Cloud Run API v2 does not support annotations with `run.googleapis.com`, + /// `cloud.googleapis.com`, `serving.knative.dev`, or + /// `autoscaling.knative.dev` namespaces, and they will be rejected. All + /// system annotations in v1 now have a corresponding field in v2 + /// RevisionTemplate. This field follows Kubernetes annotations' namespacing, + /// limits, and rules. + /// + /// Optional. + core.Map? annotations; -/// Direct VPC egress settings. -class GoogleCloudRunV2NetworkInterface { - /// The VPC network that the Cloud Run resource will be able to send traffic - /// to. + /// Holds the single container that defines the unit of execution for this + /// Revision. + core.List? containers; + + /// A reference to a customer managed encryption key (CMEK) to use to encrypt + /// this container image. /// - /// At least one of network or subnetwork must be specified. If both network - /// and subnetwork are specified, the given VPC subnetwork must belong to the - /// given VPC network. If network is not specified, it will be looked up from - /// the subnetwork. + /// For more information, go to + /// https://cloud.google.com/run/docs/securing/using-cmek + core.String? encryptionKey; + + /// The action to take if the encryption key is revoked. /// /// Optional. - core.String? network; + /// Possible string values are: + /// - "ENCRYPTION_KEY_REVOCATION_ACTION_UNSPECIFIED" : Unspecified + /// - "PREVENT_NEW" : Prevents the creation of new instances. + /// - "SHUTDOWN" : Shuts down existing instances, and prevents creation of new + /// ones. + core.String? encryptionKeyRevocationAction; - /// The VPC subnetwork that the Cloud Run resource will get IPs from. + /// If encryption_key_revocation_action is SHUTDOWN, the duration before + /// shutting down all instances. /// - /// At least one of network or subnetwork must be specified. If both network - /// and subnetwork are specified, the given VPC subnetwork must belong to the - /// given VPC network. If subnetwork is not specified, the subnetwork with the - /// same name with the network will be used. + /// The minimum increment is 1 hour. /// /// Optional. - core.String? subnetwork; + core.String? encryptionKeyShutdownDuration; - /// Network tags applied to this Cloud Run resource. + /// The sandbox environment to host this Revision. /// /// Optional. - core.List? tags; - - GoogleCloudRunV2NetworkInterface({ - this.network, - this.subnetwork, - this.tags, - }); + /// Possible string values are: + /// - "EXECUTION_ENVIRONMENT_UNSPECIFIED" : Unspecified + /// - "EXECUTION_ENVIRONMENT_GEN1" : Uses the First Generation environment. + /// - "EXECUTION_ENVIRONMENT_GEN2" : Uses Second Generation environment. + core.String? executionEnvironment; - GoogleCloudRunV2NetworkInterface.fromJson(core.Map json_) - : this( - network: json_['network'] as core.String?, - subnetwork: json_['subnetwork'] as core.String?, - tags: (json_['tags'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - ); + /// Disables health checking containers during deployment. + /// + /// Optional. + core.bool? healthCheckDisabled; - core.Map toJson() => { - if (network != null) 'network': network!, - if (subnetwork != null) 'subnetwork': subnetwork!, - if (tags != null) 'tags': tags!, - }; -} + /// Unstructured key value map that can be used to organize and categorize + /// objects. + /// + /// User-provided labels are shared with Google's billing system, so they can + /// be used to filter, or break down billing charges by team, component, + /// environment, state, etc. For more information, visit + /// https://cloud.google.com/resource-manager/docs/creating-managing-labels or + /// https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 + /// does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, + /// `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they + /// will be rejected. All system labels in v1 now have a corresponding field + /// in v2 RevisionTemplate. + /// + /// Optional. + core.Map? labels; -/// Hardware constraints configuration. -class GoogleCloudRunV2NodeSelector { - /// GPU accelerator type to attach to an instance. + /// Sets the maximum number of requests that each serving instance can + /// receive. /// - /// Required. - core.String? accelerator; + /// If not specified or 0, concurrency defaults to 80 when requested `CPU >= + /// 1` and defaults to 1 when requested `CPU < 1`. + /// + /// Optional. + core.int? maxInstanceRequestConcurrency; - GoogleCloudRunV2NodeSelector({ - this.accelerator, - }); + /// The node selector for the revision template. + /// + /// Optional. + GoogleCloudRunV2NodeSelector? nodeSelector; - GoogleCloudRunV2NodeSelector.fromJson(core.Map json_) - : this( - accelerator: json_['accelerator'] as core.String?, - ); + /// The unique name for the revision. + /// + /// If this field is omitted, it will be automatically generated based on the + /// Service name. + /// + /// Optional. + core.String? revision; - core.Map toJson() => { - if (accelerator != null) 'accelerator': accelerator!, - }; -} + /// Scaling settings for this Revision. + /// + /// Optional. + GoogleCloudRunV2RevisionScaling? scaling; -/// RunJob Overrides that contains Execution fields to be overridden. -class GoogleCloudRunV2Overrides { - /// Per container override specification. - core.List? containerOverrides; + /// Email address of the IAM service account associated with the revision of + /// the service. + /// + /// The service account represents the identity of the running revision, and + /// determines what permissions the revision has. If not provided, the + /// revision will use the project's default service account. + /// + /// Optional. + core.String? serviceAccount; - /// The desired number of tasks the execution should run. + /// Enables service mesh connectivity. /// - /// Will replace existing task_count value. + /// Optional. + GoogleCloudRunV2ServiceMesh? serviceMesh; + + /// Enable session affinity. /// /// Optional. - core.int? taskCount; + core.bool? sessionAffinity; - /// Duration in seconds the task may be active before the system will actively - /// try to mark it failed and kill associated containers. + /// Max allowed time for an instance to respond to a request. /// - /// Will replace existing timeout_seconds value. + /// Optional. core.String? timeout; - GoogleCloudRunV2Overrides({ - this.containerOverrides, - this.taskCount, + /// A list of Volumes to make available to containers. + /// + /// Optional. + core.List? volumes; + + /// VPC Access configuration to use for this Revision. + /// + /// For more information, visit + /// https://cloud.google.com/run/docs/configuring/connecting-vpc. + /// + /// Optional. + GoogleCloudRunV2VpcAccess? vpcAccess; + + GoogleCloudRunV2RevisionTemplate({ + this.annotations, + this.containers, + this.encryptionKey, + this.encryptionKeyRevocationAction, + this.encryptionKeyShutdownDuration, + this.executionEnvironment, + this.healthCheckDisabled, + this.labels, + this.maxInstanceRequestConcurrency, + this.nodeSelector, + this.revision, + this.scaling, + this.serviceAccount, + this.serviceMesh, + this.sessionAffinity, this.timeout, + this.volumes, + this.vpcAccess, }); - GoogleCloudRunV2Overrides.fromJson(core.Map json_) + GoogleCloudRunV2RevisionTemplate.fromJson(core.Map json_) : this( - containerOverrides: (json_['containerOverrides'] as core.List?) - ?.map((value) => GoogleCloudRunV2ContainerOverride.fromJson( + annotations: + (json_['annotations'] as core.Map?) + ?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + containers: (json_['containers'] as core.List?) + ?.map((value) => GoogleCloudRunV2Container.fromJson( value as core.Map)) .toList(), - taskCount: json_['taskCount'] as core.int?, + encryptionKey: json_['encryptionKey'] as core.String?, + encryptionKeyRevocationAction: + json_['encryptionKeyRevocationAction'] as core.String?, + encryptionKeyShutdownDuration: + json_['encryptionKeyShutdownDuration'] as core.String?, + executionEnvironment: json_['executionEnvironment'] as core.String?, + healthCheckDisabled: json_['healthCheckDisabled'] as core.bool?, + labels: + (json_['labels'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + maxInstanceRequestConcurrency: + json_['maxInstanceRequestConcurrency'] as core.int?, + nodeSelector: json_.containsKey('nodeSelector') + ? GoogleCloudRunV2NodeSelector.fromJson( + json_['nodeSelector'] as core.Map) + : null, + revision: json_['revision'] as core.String?, + scaling: json_.containsKey('scaling') + ? GoogleCloudRunV2RevisionScaling.fromJson( + json_['scaling'] as core.Map) + : null, + serviceAccount: json_['serviceAccount'] as core.String?, + serviceMesh: json_.containsKey('serviceMesh') + ? GoogleCloudRunV2ServiceMesh.fromJson( + json_['serviceMesh'] as core.Map) + : null, + sessionAffinity: json_['sessionAffinity'] as core.bool?, timeout: json_['timeout'] as core.String?, + volumes: (json_['volumes'] as core.List?) + ?.map((value) => GoogleCloudRunV2Volume.fromJson( + value as core.Map)) + .toList(), + vpcAccess: json_.containsKey('vpcAccess') + ? GoogleCloudRunV2VpcAccess.fromJson( + json_['vpcAccess'] as core.Map) + : null, ); core.Map toJson() => { - if (containerOverrides != null) - 'containerOverrides': containerOverrides!, - if (taskCount != null) 'taskCount': taskCount!, + if (annotations != null) 'annotations': annotations!, + if (containers != null) 'containers': containers!, + if (encryptionKey != null) 'encryptionKey': encryptionKey!, + if (encryptionKeyRevocationAction != null) + 'encryptionKeyRevocationAction': encryptionKeyRevocationAction!, + if (encryptionKeyShutdownDuration != null) + 'encryptionKeyShutdownDuration': encryptionKeyShutdownDuration!, + if (executionEnvironment != null) + 'executionEnvironment': executionEnvironment!, + if (healthCheckDisabled != null) + 'healthCheckDisabled': healthCheckDisabled!, + if (labels != null) 'labels': labels!, + if (maxInstanceRequestConcurrency != null) + 'maxInstanceRequestConcurrency': maxInstanceRequestConcurrency!, + if (nodeSelector != null) 'nodeSelector': nodeSelector!, + if (revision != null) 'revision': revision!, + if (scaling != null) 'scaling': scaling!, + if (serviceAccount != null) 'serviceAccount': serviceAccount!, + if (serviceMesh != null) 'serviceMesh': serviceMesh!, + if (sessionAffinity != null) 'sessionAffinity': sessionAffinity!, if (timeout != null) 'timeout': timeout!, + if (volumes != null) 'volumes': volumes!, + if (vpcAccess != null) 'vpcAccess': vpcAccess!, }; } -/// Probe describes a health check to be performed against a container to -/// determine whether it is alive or ready to receive traffic. -class GoogleCloudRunV2Probe { - /// Minimum consecutive failures for the probe to be considered failed after - /// having succeeded. - /// - /// Defaults to 3. Minimum value is 1. - /// - /// Optional. - core.int? failureThreshold; - - /// GRPC specifies an action involving a gRPC port. - /// - /// Exactly one of httpGet, tcpSocket, or grpc must be specified. - /// - /// Optional. - GoogleCloudRunV2GRPCAction? grpc; - - /// HTTPGet specifies the http request to perform. - /// - /// Exactly one of httpGet, tcpSocket, or grpc must be specified. - /// - /// Optional. - GoogleCloudRunV2HTTPGetAction? httpGet; - - /// Number of seconds after the container has started before the probe is - /// initiated. - /// - /// Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness - /// probe is 3600. Maximum value for startup probe is 240. - /// - /// Optional. - core.int? initialDelaySeconds; - - /// How often (in seconds) to perform the probe. - /// - /// Default to 10 seconds. Minimum value is 1. Maximum value for liveness - /// probe is 3600. Maximum value for startup probe is 240. Must be greater or - /// equal than timeout_seconds. +/// Request message to create a new Execution of a Job. +class GoogleCloudRunV2RunJobRequest { + /// A system-generated fingerprint for this version of the resource. /// - /// Optional. - core.int? periodSeconds; + /// May be used to detect modification conflict during updates. + core.String? etag; - /// TCPSocket specifies an action involving a TCP port. - /// - /// Exactly one of httpGet, tcpSocket, or grpc must be specified. + /// Overrides specification for a given execution of a job. /// - /// Optional. - GoogleCloudRunV2TCPSocketAction? tcpSocket; + /// If provided, overrides will be applied to update the execution or task + /// spec. + GoogleCloudRunV2Overrides? overrides; - /// Number of seconds after which the probe times out. - /// - /// Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be - /// smaller than period_seconds. - /// - /// Optional. - core.int? timeoutSeconds; + /// Indicates that the request should be validated without actually deleting + /// any resources. + core.bool? validateOnly; - GoogleCloudRunV2Probe({ - this.failureThreshold, - this.grpc, - this.httpGet, - this.initialDelaySeconds, - this.periodSeconds, - this.tcpSocket, - this.timeoutSeconds, + GoogleCloudRunV2RunJobRequest({ + this.etag, + this.overrides, + this.validateOnly, }); - GoogleCloudRunV2Probe.fromJson(core.Map json_) + GoogleCloudRunV2RunJobRequest.fromJson(core.Map json_) : this( - failureThreshold: json_['failureThreshold'] as core.int?, - grpc: json_.containsKey('grpc') - ? GoogleCloudRunV2GRPCAction.fromJson( - json_['grpc'] as core.Map) - : null, - httpGet: json_.containsKey('httpGet') - ? GoogleCloudRunV2HTTPGetAction.fromJson( - json_['httpGet'] as core.Map) - : null, - initialDelaySeconds: json_['initialDelaySeconds'] as core.int?, - periodSeconds: json_['periodSeconds'] as core.int?, - tcpSocket: json_.containsKey('tcpSocket') - ? GoogleCloudRunV2TCPSocketAction.fromJson( - json_['tcpSocket'] as core.Map) + etag: json_['etag'] as core.String?, + overrides: json_.containsKey('overrides') + ? GoogleCloudRunV2Overrides.fromJson( + json_['overrides'] as core.Map) : null, - timeoutSeconds: json_['timeoutSeconds'] as core.int?, + validateOnly: json_['validateOnly'] as core.bool?, ); core.Map toJson() => { - if (failureThreshold != null) 'failureThreshold': failureThreshold!, - if (grpc != null) 'grpc': grpc!, - if (httpGet != null) 'httpGet': httpGet!, - if (initialDelaySeconds != null) - 'initialDelaySeconds': initialDelaySeconds!, - if (periodSeconds != null) 'periodSeconds': periodSeconds!, - if (tcpSocket != null) 'tcpSocket': tcpSocket!, - if (timeoutSeconds != null) 'timeoutSeconds': timeoutSeconds!, + if (etag != null) 'etag': etag!, + if (overrides != null) 'overrides': overrides!, + if (validateOnly != null) 'validateOnly': validateOnly!, }; } -/// ResourceRequirements describes the compute resource requirements. -class GoogleCloudRunV2ResourceRequirements { - /// Determines whether CPU is only allocated during requests (true by - /// default). +/// SecretEnvVarSource represents a source for the value of an EnvVar. +typedef GoogleCloudRunV2SecretKeySelector = $Shared05; + +/// The secret's value will be presented as the content of a file whose name is +/// defined in the item path. +/// +/// If no items are defined, the name of the file is the secret. +class GoogleCloudRunV2SecretVolumeSource { + /// Integer representation of mode bits to use on created files by default. /// - /// However, if ResourceRequirements is set, the caller must explicitly set - /// this field to true to preserve the default behavior. - core.bool? cpuIdle; + /// Must be a value between 0000 and 0777 (octal), defaulting to 0444. + /// Directories within the path are not affected by this setting. Notes * + /// Internally, a umask of 0222 will be applied to any non-zero value. * This + /// is an integer representation of the mode bits. So, the octal integer value + /// should look exactly as the chmod numeric notation with a leading zero. + /// Some examples: for chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 + /// (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 + /// (base-10). * This might be in conflict with other options that affect the + /// file mode, like fsGroup, and the result can be other mode bits set. This + /// might be in conflict with other options that affect the file mode, like + /// fsGroup, and as a result, other mode bits could be set. + core.int? defaultMode; - /// Only `memory` and `cpu` keys in the map are supported. + /// If unspecified, the volume will expose a file whose name is the secret, + /// relative to VolumeMount.mount_path. /// - /// Notes: * The only supported values for CPU are '1', '2', '4', and '8'. - /// Setting 4 CPU requires at least 2Gi of memory. For more information, go to - /// https://cloud.google.com/run/docs/configuring/cpu. * For supported - /// 'memory' values and syntax, go to - /// https://cloud.google.com/run/docs/configuring/memory-limits - core.Map? limits; + /// If specified, the key will be used as the version to fetch from Cloud + /// Secret Manager and the path will be the name of the file exposed in the + /// volume. When items are defined, they must specify a path and a version. + core.List? items; - /// Determines whether CPU should be boosted on startup of a new container - /// instance above the requested CPU threshold, this can help reduce - /// cold-start latency. - core.bool? startupCpuBoost; + /// The name of the secret in Cloud Secret Manager. + /// + /// Format: {secret} if the secret is in the same project. + /// projects/{project}/secrets/{secret} if the secret is in a different + /// project. + /// + /// Required. + core.String? secret; - GoogleCloudRunV2ResourceRequirements({ - this.cpuIdle, - this.limits, - this.startupCpuBoost, + GoogleCloudRunV2SecretVolumeSource({ + this.defaultMode, + this.items, + this.secret, }); - GoogleCloudRunV2ResourceRequirements.fromJson(core.Map json_) + GoogleCloudRunV2SecretVolumeSource.fromJson(core.Map json_) : this( - cpuIdle: json_['cpuIdle'] as core.bool?, - limits: - (json_['limits'] as core.Map?)?.map( - (key, value) => core.MapEntry( - key, - value as core.String, - ), - ), - startupCpuBoost: json_['startupCpuBoost'] as core.bool?, + defaultMode: json_['defaultMode'] as core.int?, + items: (json_['items'] as core.List?) + ?.map((value) => GoogleCloudRunV2VersionToPath.fromJson( + value as core.Map)) + .toList(), + secret: json_['secret'] as core.String?, ); core.Map toJson() => { - if (cpuIdle != null) 'cpuIdle': cpuIdle!, - if (limits != null) 'limits': limits!, - if (startupCpuBoost != null) 'startupCpuBoost': startupCpuBoost!, + if (defaultMode != null) 'defaultMode': defaultMode!, + if (items != null) 'items': items!, + if (secret != null) 'secret': secret!, }; } -/// A Revision is an immutable snapshot of code and configuration. +/// Service acts as a top-level container that manages a set of configurations +/// and revision templates which implement a network service. /// -/// A Revision references a container image. Revisions are only created by -/// updates to its parent Service. -class GoogleCloudRunV2Revision { +/// Service exists to provide a singular abstraction which can be access +/// controlled, reasoned about, and which encapsulates software lifecycle +/// decisions such as rollout policy and team resource ownership. +class GoogleCloudRunV2Service { /// Unstructured key value map that may be set by external tools to store and /// arbitrary metadata. /// /// They are not queryable and should be preserved when modifying objects. + /// Cloud Run API v2 does not support annotations with `run.googleapis.com`, + /// `cloud.googleapis.com`, `serving.knative.dev`, or + /// `autoscaling.knative.dev` namespaces, and they will be rejected in new + /// resources. All system annotations in v1 now have a corresponding field in + /// v2 Service. This field follows Kubernetes annotations' namespacing, + /// limits, and rules. /// - /// Output only. + /// Optional. core.Map? annotations; - /// The Condition of this Revision, containing its readiness status, and - /// detailed error information in case it did not reach a serving state. + /// Settings for the Binary Authorization feature. + /// + /// Optional. + GoogleCloudRunV2BinaryAuthorization? binaryAuthorization; + + /// Configuration for building a Cloud Run function. + /// + /// Optional. + GoogleCloudRunV2BuildConfig? buildConfig; + + /// Arbitrary identifier for the API client. + core.String? client; + + /// Arbitrary version identifier for the API client. + core.String? clientVersion; + + /// The Conditions of all other associated sub-resources. + /// + /// They contain additional diagnostics information in case the Service does + /// not reach its Serving state. See comments in `reconciling` for additional + /// information on reconciliation process in Cloud Run. /// /// Output only. core.List? conditions; - /// Holds the single container that defines the unit of execution for this - /// Revision. - core.List? containers; + /// The creation time. + /// + /// Output only. + core.String? createTime; + + /// Email address of the authenticated creator. + /// + /// Output only. + core.String? creator; + + /// One or more custom audiences that you want this service to support. + /// + /// Specify each custom audience as the full URL in a string. The custom + /// audiences are encoded in the token and used to authenticate requests. For + /// more information, see + /// https://cloud.google.com/run/docs/configuring/custom-audiences. + core.List? customAudiences; - /// The creation time. + /// Disables public resolution of the default URI of this service. /// - /// Output only. - core.String? createTime; + /// Optional. + core.bool? defaultUriDisabled; - /// For a deleted resource, the deletion time. + /// The deletion time. /// /// It is only populated as a response to a Delete request. /// /// Output only. core.String? deleteTime; - /// A reference to a customer managed encryption key (CMEK) to use to encrypt - /// this container image. - /// - /// For more information, go to - /// https://cloud.google.com/run/docs/securing/using-cmek - core.String? encryptionKey; - - /// The action to take if the encryption key is revoked. - /// Possible string values are: - /// - "ENCRYPTION_KEY_REVOCATION_ACTION_UNSPECIFIED" : Unspecified - /// - "PREVENT_NEW" : Prevents the creation of new instances. - /// - "SHUTDOWN" : Shuts down existing instances, and prevents creation of new - /// ones. - core.String? encryptionKeyRevocationAction; - - /// If encryption_key_revocation_action is SHUTDOWN, the duration before - /// shutting down all instances. + /// User-provided description of the Service. /// - /// The minimum increment is 1 hour. - core.String? encryptionKeyShutdownDuration; + /// This field currently has a 512-character limit. + core.String? description; /// A system-generated fingerprint for this version of the resource. /// @@ -4241,27 +5921,45 @@ class GoogleCloudRunV2Revision { /// Output only. core.String? etag; - /// The execution environment being used to host this Revision. - /// Possible string values are: - /// - "EXECUTION_ENVIRONMENT_UNSPECIFIED" : Unspecified - /// - "EXECUTION_ENVIRONMENT_GEN1" : Uses the First Generation environment. - /// - "EXECUTION_ENVIRONMENT_GEN2" : Uses Second Generation environment. - core.String? executionEnvironment; - - /// For a deleted resource, the time after which it will be permamently + /// For a deleted resource, the time after which it will be permanently /// deleted. /// - /// It is only populated as a response to a Delete request. - /// /// Output only. core.String? expireTime; /// A number that monotonically increases every time the user modifies the /// desired state. /// + /// Please note that unlike v1, this is an int64 value. As with most Google + /// APIs, its JSON representation will be a `string` instead of an `integer`. + /// /// Output only. core.String? generation; + /// Provides the ingress settings for this Service. + /// + /// On output, returns the currently observed ingress settings, or + /// INGRESS_TRAFFIC_UNSPECIFIED if no revision is active. + /// + /// Optional. + /// Possible string values are: + /// - "INGRESS_TRAFFIC_UNSPECIFIED" : Unspecified + /// - "INGRESS_TRAFFIC_ALL" : All inbound traffic is allowed. + /// - "INGRESS_TRAFFIC_INTERNAL_ONLY" : Only internal traffic is allowed. + /// - "INGRESS_TRAFFIC_INTERNAL_LOAD_BALANCER" : Both internal and Google + /// Cloud Load Balancer traffic is allowed. + /// - "INGRESS_TRAFFIC_NONE" : No ingress traffic is allowed. + core.String? ingress; + + /// Disables IAM permission check for run.routes.invoke for callers of this + /// service. + /// + /// This feature is available by invitation only. For more information, visit + /// https://cloud.google.com/run/docs/securing/managing-access#invoker_check. + /// + /// Optional. + core.bool? invokerIamDisabled; + /// Unstructured key value map that can be used to organize and categorize /// objects. /// @@ -4269,19 +5967,47 @@ class GoogleCloudRunV2Revision { /// be used to filter, or break down billing charges by team, component, /// environment, state, etc. For more information, visit /// https://cloud.google.com/resource-manager/docs/creating-managing-labels or - /// https://cloud.google.com/run/docs/configuring/labels. + /// https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 + /// does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, + /// `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they + /// will be rejected. All system labels in v1 now have a corresponding field + /// in v2 Service. /// - /// Output only. + /// Optional. core.Map? labels; - /// The least stable launch stage needed to create this resource, as defined - /// by + /// Email address of the last authenticated modifier. + /// + /// Output only. + core.String? lastModifier; + + /// Name of the last created revision. + /// + /// See comments in `reconciling` for additional information on reconciliation + /// process in Cloud Run. + /// + /// Output only. + core.String? latestCreatedRevision; + + /// Name of the latest revision that is serving traffic. + /// + /// See comments in `reconciling` for additional information on reconciliation + /// process in Cloud Run. + /// + /// Output only. + core.String? latestReadyRevision; + + /// The launch stage as defined by /// [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). /// - /// Cloud Run supports `ALPHA`, `BETA`, and `GA`. Note that this value might - /// not be what was used as input. For example, if ALPHA was provided as input - /// in the parent resource, but only BETA and GA-level features are were, this - /// field will be BETA. + /// Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, GA + /// is assumed. Set the launch stage to a preview stage on input to allow use + /// of preview features in that stage. On read (or output), describes whether + /// the resource uses preview features. For example, if ALPHA is provided as + /// input, but only BETA and GA-level features are used, this field will be + /// BETA on output. + /// + /// Optional. /// Possible string values are: /// - "LAUNCH_STAGE_UNSPECIFIED" : Do not use this default value. /// - "UNIMPLEMENTED" : The feature is not yet implemented. Users can not use @@ -4316,35 +6042,42 @@ class GoogleCloudRunV2Revision { /// documentation. core.String? launchStage; - /// The Google Console URI to obtain logs for the Revision. - /// - /// Output only. - core.String? logUri; - - /// Sets the maximum number of requests that each serving instance can - /// receive. - core.int? maxInstanceRequestConcurrency; - - /// The unique name of this Revision. + /// The fully qualified name of this Service. /// - /// Output only. + /// In CreateServiceRequest, this field is ignored, and instead composed from + /// CreateServiceRequest.parent and CreateServiceRequest.service_id. Format: + /// projects/{project}/locations/{location}/services/{service_id} core.String? name; - /// The node selector for the revision. - GoogleCloudRunV2NodeSelector? nodeSelector; - - /// The generation of this Revision currently serving traffic. + /// The generation of this Service currently serving traffic. /// /// See comments in `reconciling` for additional information on reconciliation - /// process in Cloud Run. + /// process in Cloud Run. Please note that unlike v1, this is an int64 value. + /// As with most Google APIs, its JSON representation will be a `string` + /// instead of an `integer`. /// /// Output only. core.String? observedGeneration; - /// Indicates whether the resource's reconciliation is still in progress. + /// Returns true if the Service is currently being acted upon by the system to + /// bring it into the desired state. /// - /// See comments in `Service.reconciling` for additional information on - /// reconciliation process in Cloud Run. + /// When a new Service is created, or an existing one is updated, Cloud Run + /// will asynchronously perform all necessary steps to bring the Service to + /// the desired serving state. This process is called reconciliation. While + /// reconciliation is in process, `observed_generation`, + /// `latest_ready_revision`, `traffic_statuses`, and `uri` will have transient + /// values that might mismatch the intended state: Once reconciliation is over + /// (and this field is false), there are two possible outcomes: reconciliation + /// succeeded and the serving state matches the Service, or there was an + /// error, and reconciliation failed. This state can be found in + /// `terminal_condition.state`. If reconciliation succeeded, the following + /// fields will match: `traffic` and `traffic_statuses`, `observed_generation` + /// and `generation`, `latest_ready_revision` and `latest_created_revision`. + /// If reconciliation failed, `traffic_statuses`, `observed_generation`, and + /// `latest_ready_revision` will have the state of the last serving revision, + /// or empty for newly created Services. Additional information on the failure + /// can be found in `terminal_condition` and `conditions`. /// /// Output only. core.bool? reconciling; @@ -4354,36 +6087,43 @@ class GoogleCloudRunV2Revision { /// Output only. core.bool? satisfiesPzs; - /// Scaling settings for this revision. - GoogleCloudRunV2RevisionScaling? scaling; + /// Specifies service-level scaling settings + /// + /// Optional. + GoogleCloudRunV2ServiceScaling? scaling; - /// The current effective scaling settings for the revision. + /// The template used to create revisions for this Service. /// - /// Output only. - GoogleCloudRunV2RevisionScalingStatus? scalingStatus; + /// Required. + GoogleCloudRunV2RevisionTemplate? template; - /// The name of the parent service. + /// The Condition of this Service, containing its readiness status, and + /// detailed error information in case it did not reach a serving state. + /// + /// See comments in `reconciling` for additional information on reconciliation + /// process in Cloud Run. /// /// Output only. - core.String? service; + GoogleCloudRunV2Condition? terminalCondition; - /// Email address of the IAM service account associated with the revision of - /// the service. + /// Specifies how to distribute traffic over a collection of Revisions + /// belonging to the Service. /// - /// The service account represents the identity of the running revision, and - /// determines what permissions the revision has. - core.String? serviceAccount; - - /// Enables service mesh connectivity. - GoogleCloudRunV2ServiceMesh? serviceMesh; - - /// Enable session affinity. - core.bool? sessionAffinity; + /// If traffic is empty or not provided, defaults to 100% traffic to the + /// latest `Ready` Revision. + /// + /// Optional. + core.List? traffic; - /// Max allowed time for an instance to respond to a request. - core.String? timeout; + /// Detailed status information for corresponding traffic targets. + /// + /// See comments in `reconciling` for additional information on reconciliation + /// process in Cloud Run. + /// + /// Output only. + core.List? trafficStatuses; - /// Server assigned unique identifier for the Revision. + /// Server assigned unique identifier for the trigger. /// /// The value is a UUID4 string and guaranteed to remain unchanged until the /// resource is deleted. @@ -4396,51 +6136,55 @@ class GoogleCloudRunV2Revision { /// Output only. core.String? updateTime; - /// A list of Volumes to make available to containers. - core.List? volumes; + /// The main URI in which this Service is serving traffic. + /// + /// Output only. + core.String? uri; - /// VPC Access configuration for this Revision. + /// All URLs serving traffic for this Service. /// - /// For more information, visit - /// https://cloud.google.com/run/docs/configuring/connecting-vpc. - GoogleCloudRunV2VpcAccess? vpcAccess; + /// Output only. + core.List? urls; - GoogleCloudRunV2Revision({ + GoogleCloudRunV2Service({ this.annotations, + this.binaryAuthorization, + this.buildConfig, + this.client, + this.clientVersion, this.conditions, - this.containers, this.createTime, + this.creator, + this.customAudiences, + this.defaultUriDisabled, this.deleteTime, - this.encryptionKey, - this.encryptionKeyRevocationAction, - this.encryptionKeyShutdownDuration, + this.description, this.etag, - this.executionEnvironment, this.expireTime, this.generation, + this.ingress, + this.invokerIamDisabled, this.labels, + this.lastModifier, + this.latestCreatedRevision, + this.latestReadyRevision, this.launchStage, - this.logUri, - this.maxInstanceRequestConcurrency, this.name, - this.nodeSelector, this.observedGeneration, this.reconciling, this.satisfiesPzs, this.scaling, - this.scalingStatus, - this.service, - this.serviceAccount, - this.serviceMesh, - this.sessionAffinity, - this.timeout, + this.template, + this.terminalCondition, + this.traffic, + this.trafficStatuses, this.uid, this.updateTime, - this.volumes, - this.vpcAccess, + this.uri, + this.urls, }); - GoogleCloudRunV2Revision.fromJson(core.Map json_) + GoogleCloudRunV2Service.fromJson(core.Map json_) : this( annotations: (json_['annotations'] as core.Map?) @@ -4450,25 +6194,34 @@ class GoogleCloudRunV2Revision { value as core.String, ), ), + binaryAuthorization: json_.containsKey('binaryAuthorization') + ? GoogleCloudRunV2BinaryAuthorization.fromJson( + json_['binaryAuthorization'] + as core.Map) + : null, + buildConfig: json_.containsKey('buildConfig') + ? GoogleCloudRunV2BuildConfig.fromJson( + json_['buildConfig'] as core.Map) + : null, + client: json_['client'] as core.String?, + clientVersion: json_['clientVersion'] as core.String?, conditions: (json_['conditions'] as core.List?) ?.map((value) => GoogleCloudRunV2Condition.fromJson( value as core.Map)) .toList(), - containers: (json_['containers'] as core.List?) - ?.map((value) => GoogleCloudRunV2Container.fromJson( - value as core.Map)) - .toList(), createTime: json_['createTime'] as core.String?, + creator: json_['creator'] as core.String?, + customAudiences: (json_['customAudiences'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + defaultUriDisabled: json_['defaultUriDisabled'] as core.bool?, deleteTime: json_['deleteTime'] as core.String?, - encryptionKey: json_['encryptionKey'] as core.String?, - encryptionKeyRevocationAction: - json_['encryptionKeyRevocationAction'] as core.String?, - encryptionKeyShutdownDuration: - json_['encryptionKeyShutdownDuration'] as core.String?, + description: json_['description'] as core.String?, etag: json_['etag'] as core.String?, - executionEnvironment: json_['executionEnvironment'] as core.String?, expireTime: json_['expireTime'] as core.String?, generation: json_['generation'] as core.String?, + ingress: json_['ingress'] as core.String?, + invokerIamDisabled: json_['invokerIamDisabled'] as core.bool?, labels: (json_['labels'] as core.Map?)?.map( (key, value) => core.MapEntry( @@ -4476,595 +6229,416 @@ class GoogleCloudRunV2Revision { value as core.String, ), ), + lastModifier: json_['lastModifier'] as core.String?, + latestCreatedRevision: json_['latestCreatedRevision'] as core.String?, + latestReadyRevision: json_['latestReadyRevision'] as core.String?, launchStage: json_['launchStage'] as core.String?, - logUri: json_['logUri'] as core.String?, - maxInstanceRequestConcurrency: - json_['maxInstanceRequestConcurrency'] as core.int?, name: json_['name'] as core.String?, - nodeSelector: json_.containsKey('nodeSelector') - ? GoogleCloudRunV2NodeSelector.fromJson( - json_['nodeSelector'] as core.Map) - : null, observedGeneration: json_['observedGeneration'] as core.String?, reconciling: json_['reconciling'] as core.bool?, satisfiesPzs: json_['satisfiesPzs'] as core.bool?, scaling: json_.containsKey('scaling') - ? GoogleCloudRunV2RevisionScaling.fromJson( + ? GoogleCloudRunV2ServiceScaling.fromJson( json_['scaling'] as core.Map) : null, - scalingStatus: json_.containsKey('scalingStatus') - ? GoogleCloudRunV2RevisionScalingStatus.fromJson( - json_['scalingStatus'] as core.Map) + template: json_.containsKey('template') + ? GoogleCloudRunV2RevisionTemplate.fromJson( + json_['template'] as core.Map) : null, - service: json_['service'] as core.String?, - serviceAccount: json_['serviceAccount'] as core.String?, - serviceMesh: json_.containsKey('serviceMesh') - ? GoogleCloudRunV2ServiceMesh.fromJson( - json_['serviceMesh'] as core.Map) + terminalCondition: json_.containsKey('terminalCondition') + ? GoogleCloudRunV2Condition.fromJson(json_['terminalCondition'] + as core.Map) : null, - sessionAffinity: json_['sessionAffinity'] as core.bool?, - timeout: json_['timeout'] as core.String?, + traffic: (json_['traffic'] as core.List?) + ?.map((value) => GoogleCloudRunV2TrafficTarget.fromJson( + value as core.Map)) + .toList(), + trafficStatuses: (json_['trafficStatuses'] as core.List?) + ?.map((value) => GoogleCloudRunV2TrafficTargetStatus.fromJson( + value as core.Map)) + .toList(), uid: json_['uid'] as core.String?, updateTime: json_['updateTime'] as core.String?, - volumes: (json_['volumes'] as core.List?) - ?.map((value) => GoogleCloudRunV2Volume.fromJson( - value as core.Map)) + uri: json_['uri'] as core.String?, + urls: (json_['urls'] as core.List?) + ?.map((value) => value as core.String) .toList(), - vpcAccess: json_.containsKey('vpcAccess') - ? GoogleCloudRunV2VpcAccess.fromJson( - json_['vpcAccess'] as core.Map) - : null, ); core.Map toJson() => { if (annotations != null) 'annotations': annotations!, + if (binaryAuthorization != null) + 'binaryAuthorization': binaryAuthorization!, + if (buildConfig != null) 'buildConfig': buildConfig!, + if (client != null) 'client': client!, + if (clientVersion != null) 'clientVersion': clientVersion!, if (conditions != null) 'conditions': conditions!, - if (containers != null) 'containers': containers!, if (createTime != null) 'createTime': createTime!, + if (creator != null) 'creator': creator!, + if (customAudiences != null) 'customAudiences': customAudiences!, + if (defaultUriDisabled != null) + 'defaultUriDisabled': defaultUriDisabled!, if (deleteTime != null) 'deleteTime': deleteTime!, - if (encryptionKey != null) 'encryptionKey': encryptionKey!, - if (encryptionKeyRevocationAction != null) - 'encryptionKeyRevocationAction': encryptionKeyRevocationAction!, - if (encryptionKeyShutdownDuration != null) - 'encryptionKeyShutdownDuration': encryptionKeyShutdownDuration!, + if (description != null) 'description': description!, if (etag != null) 'etag': etag!, - if (executionEnvironment != null) - 'executionEnvironment': executionEnvironment!, if (expireTime != null) 'expireTime': expireTime!, if (generation != null) 'generation': generation!, + if (ingress != null) 'ingress': ingress!, + if (invokerIamDisabled != null) + 'invokerIamDisabled': invokerIamDisabled!, if (labels != null) 'labels': labels!, + if (lastModifier != null) 'lastModifier': lastModifier!, + if (latestCreatedRevision != null) + 'latestCreatedRevision': latestCreatedRevision!, + if (latestReadyRevision != null) + 'latestReadyRevision': latestReadyRevision!, if (launchStage != null) 'launchStage': launchStage!, - if (logUri != null) 'logUri': logUri!, - if (maxInstanceRequestConcurrency != null) - 'maxInstanceRequestConcurrency': maxInstanceRequestConcurrency!, if (name != null) 'name': name!, - if (nodeSelector != null) 'nodeSelector': nodeSelector!, if (observedGeneration != null) 'observedGeneration': observedGeneration!, if (reconciling != null) 'reconciling': reconciling!, if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, if (scaling != null) 'scaling': scaling!, - if (scalingStatus != null) 'scalingStatus': scalingStatus!, - if (service != null) 'service': service!, - if (serviceAccount != null) 'serviceAccount': serviceAccount!, - if (serviceMesh != null) 'serviceMesh': serviceMesh!, - if (sessionAffinity != null) 'sessionAffinity': sessionAffinity!, - if (timeout != null) 'timeout': timeout!, + if (template != null) 'template': template!, + if (terminalCondition != null) 'terminalCondition': terminalCondition!, + if (traffic != null) 'traffic': traffic!, + if (trafficStatuses != null) 'trafficStatuses': trafficStatuses!, if (uid != null) 'uid': uid!, if (updateTime != null) 'updateTime': updateTime!, - if (volumes != null) 'volumes': volumes!, - if (vpcAccess != null) 'vpcAccess': vpcAccess!, + if (uri != null) 'uri': uri!, + if (urls != null) 'urls': urls!, }; } -/// Settings for revision-level scaling settings. -class GoogleCloudRunV2RevisionScaling { - /// Maximum number of serving instances that this resource should have. - /// - /// When unspecified, the field is set to the server default value of 100. For - /// more information see - /// https://cloud.google.com/run/docs/configuring/max-instances - /// - /// Optional. - core.int? maxInstanceCount; - - /// Minimum number of serving instances that this resource should have. +/// Settings for Cloud Service Mesh. +/// +/// For more information see +/// https://cloud.google.com/service-mesh/docs/overview. +class GoogleCloudRunV2ServiceMesh { + /// The Mesh resource name. /// - /// Optional. - core.int? minInstanceCount; - - GoogleCloudRunV2RevisionScaling({ - this.maxInstanceCount, - this.minInstanceCount, - }); - - GoogleCloudRunV2RevisionScaling.fromJson(core.Map json_) - : this( - maxInstanceCount: json_['maxInstanceCount'] as core.int?, - minInstanceCount: json_['minInstanceCount'] as core.int?, - ); - - core.Map toJson() => { - if (maxInstanceCount != null) 'maxInstanceCount': maxInstanceCount!, - if (minInstanceCount != null) 'minInstanceCount': minInstanceCount!, - }; -} - -/// Effective settings for the current revision -class GoogleCloudRunV2RevisionScalingStatus { - /// The current number of min instances provisioned for this revision. - core.int? desiredMinInstanceCount; + /// Format: `projects/{project}/locations/global/meshes/{mesh}`, where + /// `{project}` can be project id or number. + core.String? mesh; - GoogleCloudRunV2RevisionScalingStatus({ - this.desiredMinInstanceCount, + GoogleCloudRunV2ServiceMesh({ + this.mesh, }); - GoogleCloudRunV2RevisionScalingStatus.fromJson(core.Map json_) - : this( - desiredMinInstanceCount: - json_['desiredMinInstanceCount'] as core.int?, - ); - - core.Map toJson() => { - if (desiredMinInstanceCount != null) - 'desiredMinInstanceCount': desiredMinInstanceCount!, - }; -} - -/// RevisionTemplate describes the data a revision should have when created from -/// a template. -class GoogleCloudRunV2RevisionTemplate { - /// Unstructured key value map that may be set by external tools to store and - /// arbitrary metadata. - /// - /// They are not queryable and should be preserved when modifying objects. - /// Cloud Run API v2 does not support annotations with `run.googleapis.com`, - /// `cloud.googleapis.com`, `serving.knative.dev`, or - /// `autoscaling.knative.dev` namespaces, and they will be rejected. All - /// system annotations in v1 now have a corresponding field in v2 - /// RevisionTemplate. This field follows Kubernetes annotations' namespacing, - /// limits, and rules. - /// - /// Optional. - core.Map? annotations; - - /// Holds the single container that defines the unit of execution for this - /// Revision. - core.List? containers; - - /// A reference to a customer managed encryption key (CMEK) to use to encrypt - /// this container image. - /// - /// For more information, go to - /// https://cloud.google.com/run/docs/securing/using-cmek - core.String? encryptionKey; - - /// The action to take if the encryption key is revoked. - /// - /// Optional. - /// Possible string values are: - /// - "ENCRYPTION_KEY_REVOCATION_ACTION_UNSPECIFIED" : Unspecified - /// - "PREVENT_NEW" : Prevents the creation of new instances. - /// - "SHUTDOWN" : Shuts down existing instances, and prevents creation of new - /// ones. - core.String? encryptionKeyRevocationAction; - - /// If encryption_key_revocation_action is SHUTDOWN, the duration before - /// shutting down all instances. - /// - /// The minimum increment is 1 hour. - /// - /// Optional. - core.String? encryptionKeyShutdownDuration; - - /// The sandbox environment to host this Revision. - /// - /// Optional. - /// Possible string values are: - /// - "EXECUTION_ENVIRONMENT_UNSPECIFIED" : Unspecified - /// - "EXECUTION_ENVIRONMENT_GEN1" : Uses the First Generation environment. - /// - "EXECUTION_ENVIRONMENT_GEN2" : Uses Second Generation environment. - core.String? executionEnvironment; - - /// Disables health checking containers during deployment. - /// - /// Optional. - core.bool? healthCheckDisabled; - - /// Unstructured key value map that can be used to organize and categorize - /// objects. - /// - /// User-provided labels are shared with Google's billing system, so they can - /// be used to filter, or break down billing charges by team, component, - /// environment, state, etc. For more information, visit - /// https://cloud.google.com/resource-manager/docs/creating-managing-labels or - /// https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 - /// does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, - /// `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they - /// will be rejected. All system labels in v1 now have a corresponding field - /// in v2 RevisionTemplate. - /// - /// Optional. - core.Map? labels; + GoogleCloudRunV2ServiceMesh.fromJson(core.Map json_) + : this( + mesh: json_['mesh'] as core.String?, + ); - /// Sets the maximum number of requests that each serving instance can - /// receive. + core.Map toJson() => { + if (mesh != null) 'mesh': mesh!, + }; +} + +/// Scaling settings applied at the service level rather than at the revision +/// level. +class GoogleCloudRunV2ServiceScaling { + /// total instance count for the service in manual scaling mode. /// - /// If not specified or 0, concurrency defaults to 80 when requested `CPU >= - /// 1` and defaults to 1 when requested `CPU < 1`. + /// This number of instances is divided among all revisions with specified + /// traffic based on the percent of traffic they are receiving. /// /// Optional. - core.int? maxInstanceRequestConcurrency; + core.int? manualInstanceCount; - /// The node selector for the revision template. + /// total max instances for the service. + /// + /// This number of instances is divided among all revisions with specified + /// traffic based on the percent of traffic they are receiving. /// /// Optional. - GoogleCloudRunV2NodeSelector? nodeSelector; + core.int? maxInstanceCount; - /// The unique name for the revision. + /// total min instances for the service. /// - /// If this field is omitted, it will be automatically generated based on the - /// Service name. + /// This number of instances is divided among all revisions with specified + /// traffic based on the percent of traffic they are receiving. /// /// Optional. - core.String? revision; + core.int? minInstanceCount; - /// Scaling settings for this Revision. + /// The scaling mode for the service. /// /// Optional. - GoogleCloudRunV2RevisionScaling? scaling; + /// Possible string values are: + /// - "SCALING_MODE_UNSPECIFIED" : Unspecified. + /// - "AUTOMATIC" : Scale based on traffic between min and max instances. + /// - "MANUAL" : Scale to exactly min instances and ignore max instances. + core.String? scalingMode; - /// Email address of the IAM service account associated with the revision of - /// the service. - /// - /// The service account represents the identity of the running revision, and - /// determines what permissions the revision has. If not provided, the - /// revision will use the project's default service account. - /// - /// Optional. - core.String? serviceAccount; + GoogleCloudRunV2ServiceScaling({ + this.manualInstanceCount, + this.maxInstanceCount, + this.minInstanceCount, + this.scalingMode, + }); - /// Enables service mesh connectivity. - /// - /// Optional. - GoogleCloudRunV2ServiceMesh? serviceMesh; + GoogleCloudRunV2ServiceScaling.fromJson(core.Map json_) + : this( + manualInstanceCount: json_['manualInstanceCount'] as core.int?, + maxInstanceCount: json_['maxInstanceCount'] as core.int?, + minInstanceCount: json_['minInstanceCount'] as core.int?, + scalingMode: json_['scalingMode'] as core.String?, + ); - /// Enable session affinity. - /// - /// Optional. - core.bool? sessionAffinity; + core.Map toJson() => { + if (manualInstanceCount != null) + 'manualInstanceCount': manualInstanceCount!, + if (maxInstanceCount != null) 'maxInstanceCount': maxInstanceCount!, + if (minInstanceCount != null) 'minInstanceCount': minInstanceCount!, + if (scalingMode != null) 'scalingMode': scalingMode!, + }; +} - /// Max allowed time for an instance to respond to a request. +/// Location of the source in an archive file in Google Cloud Storage. +class GoogleCloudRunV2StorageSource { + /// Google Cloud Storage bucket containing the source (see + /// [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). /// - /// Optional. - core.String? timeout; + /// Required. + core.String? bucket; - /// A list of Volumes to make available to containers. + /// Google Cloud Storage generation for the object. + /// + /// If the generation is omitted, the latest generation will be used. /// /// Optional. - core.List? volumes; + core.String? generation; - /// VPC Access configuration to use for this Revision. + /// Google Cloud Storage object containing the source. /// - /// For more information, visit - /// https://cloud.google.com/run/docs/configuring/connecting-vpc. + /// This object must be a gzipped archive file (`.tar.gz`) containing source + /// to build. /// - /// Optional. - GoogleCloudRunV2VpcAccess? vpcAccess; + /// Required. + core.String? object; - GoogleCloudRunV2RevisionTemplate({ - this.annotations, - this.containers, - this.encryptionKey, - this.encryptionKeyRevocationAction, - this.encryptionKeyShutdownDuration, - this.executionEnvironment, - this.healthCheckDisabled, - this.labels, - this.maxInstanceRequestConcurrency, - this.nodeSelector, - this.revision, - this.scaling, - this.serviceAccount, - this.serviceMesh, - this.sessionAffinity, - this.timeout, - this.volumes, - this.vpcAccess, + GoogleCloudRunV2StorageSource({ + this.bucket, + this.generation, + this.object, }); - GoogleCloudRunV2RevisionTemplate.fromJson(core.Map json_) + GoogleCloudRunV2StorageSource.fromJson(core.Map json_) : this( - annotations: - (json_['annotations'] as core.Map?) - ?.map( - (key, value) => core.MapEntry( - key, - value as core.String, - ), - ), - containers: (json_['containers'] as core.List?) - ?.map((value) => GoogleCloudRunV2Container.fromJson( - value as core.Map)) - .toList(), - encryptionKey: json_['encryptionKey'] as core.String?, - encryptionKeyRevocationAction: - json_['encryptionKeyRevocationAction'] as core.String?, - encryptionKeyShutdownDuration: - json_['encryptionKeyShutdownDuration'] as core.String?, - executionEnvironment: json_['executionEnvironment'] as core.String?, - healthCheckDisabled: json_['healthCheckDisabled'] as core.bool?, - labels: - (json_['labels'] as core.Map?)?.map( - (key, value) => core.MapEntry( - key, - value as core.String, - ), - ), - maxInstanceRequestConcurrency: - json_['maxInstanceRequestConcurrency'] as core.int?, - nodeSelector: json_.containsKey('nodeSelector') - ? GoogleCloudRunV2NodeSelector.fromJson( - json_['nodeSelector'] as core.Map) - : null, - revision: json_['revision'] as core.String?, - scaling: json_.containsKey('scaling') - ? GoogleCloudRunV2RevisionScaling.fromJson( - json_['scaling'] as core.Map) - : null, - serviceAccount: json_['serviceAccount'] as core.String?, - serviceMesh: json_.containsKey('serviceMesh') - ? GoogleCloudRunV2ServiceMesh.fromJson( - json_['serviceMesh'] as core.Map) - : null, - sessionAffinity: json_['sessionAffinity'] as core.bool?, - timeout: json_['timeout'] as core.String?, - volumes: (json_['volumes'] as core.List?) - ?.map((value) => GoogleCloudRunV2Volume.fromJson( - value as core.Map)) - .toList(), - vpcAccess: json_.containsKey('vpcAccess') - ? GoogleCloudRunV2VpcAccess.fromJson( - json_['vpcAccess'] as core.Map) - : null, + bucket: json_['bucket'] as core.String?, + generation: json_['generation'] as core.String?, + object: json_['object'] as core.String?, ); core.Map toJson() => { - if (annotations != null) 'annotations': annotations!, - if (containers != null) 'containers': containers!, - if (encryptionKey != null) 'encryptionKey': encryptionKey!, - if (encryptionKeyRevocationAction != null) - 'encryptionKeyRevocationAction': encryptionKeyRevocationAction!, - if (encryptionKeyShutdownDuration != null) - 'encryptionKeyShutdownDuration': encryptionKeyShutdownDuration!, - if (executionEnvironment != null) - 'executionEnvironment': executionEnvironment!, - if (healthCheckDisabled != null) - 'healthCheckDisabled': healthCheckDisabled!, - if (labels != null) 'labels': labels!, - if (maxInstanceRequestConcurrency != null) - 'maxInstanceRequestConcurrency': maxInstanceRequestConcurrency!, - if (nodeSelector != null) 'nodeSelector': nodeSelector!, - if (revision != null) 'revision': revision!, - if (scaling != null) 'scaling': scaling!, - if (serviceAccount != null) 'serviceAccount': serviceAccount!, - if (serviceMesh != null) 'serviceMesh': serviceMesh!, - if (sessionAffinity != null) 'sessionAffinity': sessionAffinity!, - if (timeout != null) 'timeout': timeout!, - if (volumes != null) 'volumes': volumes!, - if (vpcAccess != null) 'vpcAccess': vpcAccess!, + if (bucket != null) 'bucket': bucket!, + if (generation != null) 'generation': generation!, + if (object != null) 'object': object!, }; } -/// Request message to create a new Execution of a Job. -class GoogleCloudRunV2RunJobRequest { - /// A system-generated fingerprint for this version of the resource. +/// Request message for submitting a Build. +class GoogleCloudRunV2SubmitBuildRequest { + /// Build the source using Buildpacks. + GoogleCloudRunV2BuildpacksBuild? buildpackBuild; + + /// Build the source using Docker. /// - /// May be used to detect modification conflict during updates. - core.String? etag; + /// This means the source has a Dockerfile. + GoogleCloudRunV2DockerBuild? dockerBuild; - /// Overrides specification for a given execution of a job. + /// Artifact Registry URI to store the built image. /// - /// If provided, overrides will be applied to update the execution or task - /// spec. - GoogleCloudRunV2Overrides? overrides; + /// Required. + core.String? imageUri; - /// Indicates that the request should be validated without actually deleting - /// any resources. - core.bool? validateOnly; + /// The service account to use for the build. + /// + /// If not set, the default Cloud Build service account for the project will + /// be used. + /// + /// Optional. + core.String? serviceAccount; + + /// Source for the build. + /// + /// Required. + GoogleCloudRunV2StorageSource? storageSource; + + /// Additional tags to annotate the build. + /// + /// Optional. + core.List? tags; + + /// Name of the Cloud Build Custom Worker Pool that should be used to build + /// the function. + /// + /// The format of this field is + /// `projects/{project}/locations/{region}/workerPools/{workerPool}` where + /// `{project}` and `{region}` are the project id and region respectively + /// where the worker pool is defined and `{workerPool}` is the short name of + /// the worker pool. + /// + /// Optional. + core.String? workerPool; - GoogleCloudRunV2RunJobRequest({ - this.etag, - this.overrides, - this.validateOnly, + GoogleCloudRunV2SubmitBuildRequest({ + this.buildpackBuild, + this.dockerBuild, + this.imageUri, + this.serviceAccount, + this.storageSource, + this.tags, + this.workerPool, }); - GoogleCloudRunV2RunJobRequest.fromJson(core.Map json_) + GoogleCloudRunV2SubmitBuildRequest.fromJson(core.Map json_) : this( - etag: json_['etag'] as core.String?, - overrides: json_.containsKey('overrides') - ? GoogleCloudRunV2Overrides.fromJson( - json_['overrides'] as core.Map) + buildpackBuild: json_.containsKey('buildpackBuild') + ? GoogleCloudRunV2BuildpacksBuild.fromJson(json_['buildpackBuild'] + as core.Map) : null, - validateOnly: json_['validateOnly'] as core.bool?, + dockerBuild: json_.containsKey('dockerBuild') + ? GoogleCloudRunV2DockerBuild.fromJson( + json_['dockerBuild'] as core.Map) + : null, + imageUri: json_['imageUri'] as core.String?, + serviceAccount: json_['serviceAccount'] as core.String?, + storageSource: json_.containsKey('storageSource') + ? GoogleCloudRunV2StorageSource.fromJson( + json_['storageSource'] as core.Map) + : null, + tags: (json_['tags'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + workerPool: json_['workerPool'] as core.String?, ); core.Map toJson() => { - if (etag != null) 'etag': etag!, - if (overrides != null) 'overrides': overrides!, - if (validateOnly != null) 'validateOnly': validateOnly!, + if (buildpackBuild != null) 'buildpackBuild': buildpackBuild!, + if (dockerBuild != null) 'dockerBuild': dockerBuild!, + if (imageUri != null) 'imageUri': imageUri!, + if (serviceAccount != null) 'serviceAccount': serviceAccount!, + if (storageSource != null) 'storageSource': storageSource!, + if (tags != null) 'tags': tags!, + if (workerPool != null) 'workerPool': workerPool!, }; } -/// SecretEnvVarSource represents a source for the value of an EnvVar. -class GoogleCloudRunV2SecretKeySelector { - /// The name of the secret in Cloud Secret Manager. - /// - /// Format: {secret_name} if the secret is in the same project. - /// projects/{project}/secrets/{secret_name} if the secret is in a different - /// project. +/// Response message for submitting a Build. +class GoogleCloudRunV2SubmitBuildResponse { + /// URI of the base builder image in Artifact Registry being used in the + /// build. /// - /// Required. - core.String? secret; + /// Used to opt into automatic base image updates. + core.String? baseImageUri; - /// The Cloud Secret Manager secret version. - /// - /// Can be 'latest' for the latest version, an integer for a specific version, - /// or a version alias. - core.String? version; + /// Warning message for the base image. + core.String? baseImageWarning; - GoogleCloudRunV2SecretKeySelector({ - this.secret, - this.version, + /// Cloud Build operation to be polled via CloudBuild API. + GoogleLongrunningOperation? buildOperation; + + GoogleCloudRunV2SubmitBuildResponse({ + this.baseImageUri, + this.baseImageWarning, + this.buildOperation, }); - GoogleCloudRunV2SecretKeySelector.fromJson(core.Map json_) + GoogleCloudRunV2SubmitBuildResponse.fromJson(core.Map json_) : this( - secret: json_['secret'] as core.String?, - version: json_['version'] as core.String?, + baseImageUri: json_['baseImageUri'] as core.String?, + baseImageWarning: json_['baseImageWarning'] as core.String?, + buildOperation: json_.containsKey('buildOperation') + ? GoogleLongrunningOperation.fromJson(json_['buildOperation'] + as core.Map) + : null, ); core.Map toJson() => { - if (secret != null) 'secret': secret!, - if (version != null) 'version': version!, + if (baseImageUri != null) 'baseImageUri': baseImageUri!, + if (baseImageWarning != null) 'baseImageWarning': baseImageWarning!, + if (buildOperation != null) 'buildOperation': buildOperation!, }; } -/// The secret's value will be presented as the content of a file whose name is -/// defined in the item path. -/// -/// If no items are defined, the name of the file is the secret. -class GoogleCloudRunV2SecretVolumeSource { - /// Integer representation of mode bits to use on created files by default. - /// - /// Must be a value between 0000 and 0777 (octal), defaulting to 0444. - /// Directories within the path are not affected by this setting. Notes * - /// Internally, a umask of 0222 will be applied to any non-zero value. * This - /// is an integer representation of the mode bits. So, the octal integer value - /// should look exactly as the chmod numeric notation with a leading zero. - /// Some examples: for chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 - /// (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 - /// (base-10). * This might be in conflict with other options that affect the - /// file mode, like fsGroup, and the result can be other mode bits set. This - /// might be in conflict with other options that affect the file mode, like - /// fsGroup, and as a result, other mode bits could be set. - core.int? defaultMode; - - /// If unspecified, the volume will expose a file whose name is the secret, - /// relative to VolumeMount.mount_path. - /// - /// If specified, the key will be used as the version to fetch from Cloud - /// Secret Manager and the path will be the name of the file exposed in the - /// volume. When items are defined, they must specify a path and a version. - core.List? items; - - /// The name of the secret in Cloud Secret Manager. +/// TCPSocketAction describes an action based on opening a socket +class GoogleCloudRunV2TCPSocketAction { + /// Port number to access on the container. /// - /// Format: {secret} if the secret is in the same project. - /// projects/{project}/secrets/{secret} if the secret is in a different - /// project. + /// Must be in the range 1 to 65535. If not specified, defaults to the exposed + /// port of the container, which is the value of + /// container.ports\[0\].containerPort. /// - /// Required. - core.String? secret; + /// Optional. + core.int? port; - GoogleCloudRunV2SecretVolumeSource({ - this.defaultMode, - this.items, - this.secret, + GoogleCloudRunV2TCPSocketAction({ + this.port, }); - GoogleCloudRunV2SecretVolumeSource.fromJson(core.Map json_) + GoogleCloudRunV2TCPSocketAction.fromJson(core.Map json_) : this( - defaultMode: json_['defaultMode'] as core.int?, - items: (json_['items'] as core.List?) - ?.map((value) => GoogleCloudRunV2VersionToPath.fromJson( - value as core.Map)) - .toList(), - secret: json_['secret'] as core.String?, + port: json_['port'] as core.int?, ); core.Map toJson() => { - if (defaultMode != null) 'defaultMode': defaultMode!, - if (items != null) 'items': items!, - if (secret != null) 'secret': secret!, + if (port != null) 'port': port!, }; } -/// Service acts as a top-level container that manages a set of configurations -/// and revision templates which implement a network service. -/// -/// Service exists to provide a singular abstraction which can be access -/// controlled, reasoned about, and which encapsulates software lifecycle -/// decisions such as rollout policy and team resource ownership. -class GoogleCloudRunV2Service { +/// Task represents a single run of a container to completion. +class GoogleCloudRunV2Task { /// Unstructured key value map that may be set by external tools to store and /// arbitrary metadata. /// /// They are not queryable and should be preserved when modifying objects. - /// Cloud Run API v2 does not support annotations with `run.googleapis.com`, - /// `cloud.googleapis.com`, `serving.knative.dev`, or - /// `autoscaling.knative.dev` namespaces, and they will be rejected in new - /// resources. All system annotations in v1 now have a corresponding field in - /// v2 Service. This field follows Kubernetes annotations' namespacing, - /// limits, and rules. /// - /// Optional. + /// Output only. core.Map? annotations; - /// Settings for the Binary Authorization feature. - /// - /// Optional. - GoogleCloudRunV2BinaryAuthorization? binaryAuthorization; - - /// Arbitrary identifier for the API client. - core.String? client; - - /// Arbitrary version identifier for the API client. - core.String? clientVersion; - - /// The Conditions of all other associated sub-resources. + /// Represents time when the Task was completed. /// - /// They contain additional diagnostics information in case the Service does - /// not reach its Serving state. See comments in `reconciling` for additional - /// information on reconciliation process in Cloud Run. + /// It is not guaranteed to be set in happens-before order across separate + /// operations. /// /// Output only. - core.List? conditions; + core.String? completionTime; - /// The creation time. + /// The Condition of this Task, containing its readiness status, and detailed + /// error information in case it did not reach the desired state. /// /// Output only. - core.String? createTime; + core.List? conditions; - /// Email address of the authenticated creator. - /// - /// Output only. - core.String? creator; + /// Holds the single container that defines the unit of execution for this + /// task. + core.List? containers; - /// One or more custom audiences that you want this service to support. + /// Represents time when the task was created by the system. /// - /// Specify each custom audience as the full URL in a string. The custom - /// audiences are encoded in the token and used to authenticate requests. For - /// more information, see - /// https://cloud.google.com/run/docs/configuring/custom-audiences. - core.List? customAudiences; - - /// Disables public resolution of the default URI of this service. + /// It is not guaranteed to be set in happens-before order across separate + /// operations. /// - /// Optional. - core.bool? defaultUriDisabled; + /// Output only. + core.String? createTime; - /// The deletion time. + /// For a deleted resource, the deletion time. /// /// It is only populated as a response to a Delete request. /// /// Output only. core.String? deleteTime; - /// User-provided description of the Service. + /// A reference to a customer managed encryption key (CMEK) to use to encrypt + /// this container image. /// - /// This field currently has a 512-character limit. - core.String? description; + /// For more information, go to + /// https://cloud.google.com/run/docs/securing/using-cmek + /// + /// Output only. + core.String? encryptionKey; /// A system-generated fingerprint for this version of the resource. /// @@ -5073,44 +6647,41 @@ class GoogleCloudRunV2Service { /// Output only. core.String? etag; + /// The name of the parent Execution. + /// + /// Output only. + core.String? execution; + + /// The execution environment being used to host this Task. + /// Possible string values are: + /// - "EXECUTION_ENVIRONMENT_UNSPECIFIED" : Unspecified + /// - "EXECUTION_ENVIRONMENT_GEN1" : Uses the First Generation environment. + /// - "EXECUTION_ENVIRONMENT_GEN2" : Uses Second Generation environment. + core.String? executionEnvironment; + /// For a deleted resource, the time after which it will be permamently /// deleted. /// + /// It is only populated as a response to a Delete request. + /// /// Output only. core.String? expireTime; /// A number that monotonically increases every time the user modifies the /// desired state. /// - /// Please note that unlike v1, this is an int64 value. As with most Google - /// APIs, its JSON representation will be a `string` instead of an `integer`. - /// - /// Output only. - core.String? generation; - - /// Provides the ingress settings for this Service. - /// - /// On output, returns the currently observed ingress settings, or - /// INGRESS_TRAFFIC_UNSPECIFIED if no revision is active. - /// - /// Optional. - /// Possible string values are: - /// - "INGRESS_TRAFFIC_UNSPECIFIED" : Unspecified - /// - "INGRESS_TRAFFIC_ALL" : All inbound traffic is allowed. - /// - "INGRESS_TRAFFIC_INTERNAL_ONLY" : Only internal traffic is allowed. - /// - "INGRESS_TRAFFIC_INTERNAL_LOAD_BALANCER" : Both internal and Google - /// Cloud Load Balancer traffic is allowed. - /// - "INGRESS_TRAFFIC_NONE" : No ingress traffic is allowed. - core.String? ingress; + /// Output only. + core.String? generation; - /// Disables IAM permission check for run.routes.invoke for callers of this - /// service. + /// Index of the Task, unique per execution, and beginning at 0. /// - /// This feature is available by invitation only. For more information, visit - /// https://cloud.google.com/run/docs/securing/managing-access#invoker_check. + /// Output only. + core.int? index; + + /// The name of the parent Job. /// - /// Optional. - core.bool? invokerIamDisabled; + /// Output only. + core.String? job; /// Unstructured key value map that can be used to organize and categorize /// objects. @@ -5119,163 +6690,94 @@ class GoogleCloudRunV2Service { /// be used to filter, or break down billing charges by team, component, /// environment, state, etc. For more information, visit /// https://cloud.google.com/resource-manager/docs/creating-managing-labels or - /// https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 - /// does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, - /// `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they - /// will be rejected. All system labels in v1 now have a corresponding field - /// in v2 Service. + /// https://cloud.google.com/run/docs/configuring/labels /// - /// Optional. + /// Output only. core.Map? labels; - /// Email address of the last authenticated modifier. + /// Result of the last attempt of this Task. /// /// Output only. - core.String? lastModifier; + GoogleCloudRunV2TaskAttemptResult? lastAttemptResult; - /// Name of the last created revision. - /// - /// See comments in `reconciling` for additional information on reconciliation - /// process in Cloud Run. + /// URI where logs for this execution can be found in Cloud Console. /// /// Output only. - core.String? latestCreatedRevision; + core.String? logUri; - /// Name of the latest revision that is serving traffic. - /// - /// See comments in `reconciling` for additional information on reconciliation - /// process in Cloud Run. - /// - /// Output only. - core.String? latestReadyRevision; + /// Number of retries allowed per Task, before marking this Task failed. + core.int? maxRetries; - /// The launch stage as defined by - /// [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). - /// - /// Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, GA - /// is assumed. Set the launch stage to a preview stage on input to allow use - /// of preview features in that stage. On read (or output), describes whether - /// the resource uses preview features. For example, if ALPHA is provided as - /// input, but only BETA and GA-level features are used, this field will be - /// BETA on output. + /// The unique name of this Task. /// - /// Optional. - /// Possible string values are: - /// - "LAUNCH_STAGE_UNSPECIFIED" : Do not use this default value. - /// - "UNIMPLEMENTED" : The feature is not yet implemented. Users can not use - /// it. - /// - "PRELAUNCH" : Prelaunch features are hidden from users and are only - /// visible internally. - /// - "EARLY_ACCESS" : Early Access features are limited to a closed group of - /// testers. To use these features, you must sign up in advance and sign a - /// Trusted Tester agreement (which includes confidentiality provisions). - /// These features may be unstable, changed in backward-incompatible ways, and - /// are not guaranteed to be released. - /// - "ALPHA" : Alpha is a limited availability test for releases before they - /// are cleared for widespread use. By Alpha, all significant design issues - /// are resolved and we are in the process of verifying functionality. Alpha - /// customers need to apply for access, agree to applicable terms, and have - /// their projects allowlisted. Alpha releases don't have to be feature - /// complete, no SLAs are provided, and there are no technical support - /// obligations, but they will be far enough along that customers can actually - /// use them in test environments or for limited-use tests -- just like they - /// would in normal production cases. - /// - "BETA" : Beta is the point at which we are ready to open a release for - /// any customer to use. There are no SLA or technical support obligations in - /// a Beta release. Products will be complete from a feature perspective, but - /// may have some open outstanding issues. Beta releases are suitable for - /// limited production use cases. - /// - "GA" : GA features are open to all developers and are considered stable - /// and fully qualified for production use. - /// - "DEPRECATED" : Deprecated features are scheduled to be shut down and - /// removed. For more information, see the "Deprecation Policy" section of our - /// [Terms of Service](https://cloud.google.com/terms/) and the - /// [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) - /// documentation. - core.String? launchStage; + /// Output only. + core.String? name; - /// The fully qualified name of this Service. + /// The node selector for the task. /// - /// In CreateServiceRequest, this field is ignored, and instead composed from - /// CreateServiceRequest.parent and CreateServiceRequest.service_id. Format: - /// projects/{project}/locations/{location}/services/{service_id} - core.String? name; + /// Output only. + GoogleCloudRunV2NodeSelector? nodeSelector; - /// The generation of this Service currently serving traffic. + /// The generation of this Task. /// - /// See comments in `reconciling` for additional information on reconciliation - /// process in Cloud Run. Please note that unlike v1, this is an int64 value. - /// As with most Google APIs, its JSON representation will be a `string` - /// instead of an `integer`. + /// See comments in `Job.reconciling` for additional information on + /// reconciliation process in Cloud Run. /// /// Output only. core.String? observedGeneration; - /// Returns true if the Service is currently being acted upon by the system to - /// bring it into the desired state. + /// Indicates whether the resource's reconciliation is still in progress. /// - /// When a new Service is created, or an existing one is updated, Cloud Run - /// will asynchronously perform all necessary steps to bring the Service to - /// the desired serving state. This process is called reconciliation. While - /// reconciliation is in process, `observed_generation`, - /// `latest_ready_revison`, `traffic_statuses`, and `uri` will have transient - /// values that might mismatch the intended state: Once reconciliation is over - /// (and this field is false), there are two possible outcomes: reconciliation - /// succeeded and the serving state matches the Service, or there was an - /// error, and reconciliation failed. This state can be found in - /// `terminal_condition.state`. If reconciliation succeeded, the following - /// fields will match: `traffic` and `traffic_statuses`, `observed_generation` - /// and `generation`, `latest_ready_revision` and `latest_created_revision`. - /// If reconciliation failed, `traffic_statuses`, `observed_generation`, and - /// `latest_ready_revision` will have the state of the last serving revision, - /// or empty for newly created Services. Additional information on the failure - /// can be found in `terminal_condition` and `conditions`. + /// See comments in `Job.reconciling` for additional information on + /// reconciliation process in Cloud Run. /// /// Output only. core.bool? reconciling; - /// Reserved for future use. + /// The number of times this Task was retried. /// - /// Output only. - core.bool? satisfiesPzs; - - /// Specifies service-level scaling settings + /// Tasks are retried when they fail up to the maxRetries limit. /// - /// Optional. - GoogleCloudRunV2ServiceScaling? scaling; + /// Output only. + core.int? retried; - /// The template used to create revisions for this Service. + /// Reserved for future use. /// - /// Required. - GoogleCloudRunV2RevisionTemplate? template; + /// Output only. + core.bool? satisfiesPzs; - /// The Condition of this Service, containing its readiness status, and - /// detailed error information in case it did not reach a serving state. + /// Represents time when the task was scheduled to run by the system. /// - /// See comments in `reconciling` for additional information on reconciliation - /// process in Cloud Run. + /// It is not guaranteed to be set in happens-before order across separate + /// operations. /// /// Output only. - GoogleCloudRunV2Condition? terminalCondition; + core.String? scheduledTime; - /// Specifies how to distribute traffic over a collection of Revisions - /// belonging to the Service. - /// - /// If traffic is empty or not provided, defaults to 100% traffic to the - /// latest `Ready` Revision. + /// Email address of the IAM service account associated with the Task of a + /// Job. /// - /// Optional. - core.List? traffic; + /// The service account represents the identity of the running task, and + /// determines what permissions the task has. If not provided, the task will + /// use the project's default service account. + core.String? serviceAccount; - /// Detailed status information for corresponding traffic targets. + /// Represents time when the task started to run. /// - /// See comments in `reconciling` for additional information on reconciliation - /// process in Cloud Run. + /// It is not guaranteed to be set in happens-before order across separate + /// operations. /// /// Output only. - core.List? trafficStatuses; + core.String? startTime; - /// Server assigned unique identifier for the trigger. + /// Max allowed time duration the Task may be active before the system will + /// actively try to mark it failed and kill associated containers. + /// + /// This applies per attempt of a task, meaning each retry can run for the + /// full timeout. + core.String? timeout; + + /// Server assigned unique identifier for the Task. /// /// The value is a UUID4 string and guaranteed to remain unchanged until the /// resource is deleted. @@ -5288,54 +6790,53 @@ class GoogleCloudRunV2Service { /// Output only. core.String? updateTime; - /// The main URI in which this Service is serving traffic. - /// - /// Output only. - core.String? uri; + /// A list of Volumes to make available to containers. + core.List? volumes; - /// All URLs serving traffic for this Service. + /// VPC Access configuration to use for this Task. + /// + /// For more information, visit + /// https://cloud.google.com/run/docs/configuring/connecting-vpc. /// /// Output only. - core.List? urls; + GoogleCloudRunV2VpcAccess? vpcAccess; - GoogleCloudRunV2Service({ + GoogleCloudRunV2Task({ this.annotations, - this.binaryAuthorization, - this.client, - this.clientVersion, + this.completionTime, this.conditions, + this.containers, this.createTime, - this.creator, - this.customAudiences, - this.defaultUriDisabled, this.deleteTime, - this.description, + this.encryptionKey, this.etag, + this.execution, + this.executionEnvironment, this.expireTime, this.generation, - this.ingress, - this.invokerIamDisabled, + this.index, + this.job, this.labels, - this.lastModifier, - this.latestCreatedRevision, - this.latestReadyRevision, - this.launchStage, + this.lastAttemptResult, + this.logUri, + this.maxRetries, this.name, + this.nodeSelector, this.observedGeneration, this.reconciling, + this.retried, this.satisfiesPzs, - this.scaling, - this.template, - this.terminalCondition, - this.traffic, - this.trafficStatuses, + this.scheduledTime, + this.serviceAccount, + this.startTime, + this.timeout, this.uid, this.updateTime, - this.uri, - this.urls, + this.volumes, + this.vpcAccess, }); - GoogleCloudRunV2Service.fromJson(core.Map json_) + GoogleCloudRunV2Task.fromJson(core.Map json_) : this( annotations: (json_['annotations'] as core.Map?) @@ -5345,30 +6846,25 @@ class GoogleCloudRunV2Service { value as core.String, ), ), - binaryAuthorization: json_.containsKey('binaryAuthorization') - ? GoogleCloudRunV2BinaryAuthorization.fromJson( - json_['binaryAuthorization'] - as core.Map) - : null, - client: json_['client'] as core.String?, - clientVersion: json_['clientVersion'] as core.String?, + completionTime: json_['completionTime'] as core.String?, conditions: (json_['conditions'] as core.List?) ?.map((value) => GoogleCloudRunV2Condition.fromJson( value as core.Map)) .toList(), + containers: (json_['containers'] as core.List?) + ?.map((value) => GoogleCloudRunV2Container.fromJson( + value as core.Map)) + .toList(), createTime: json_['createTime'] as core.String?, - creator: json_['creator'] as core.String?, - customAudiences: (json_['customAudiences'] as core.List?) - ?.map((value) => value as core.String) - .toList(), - defaultUriDisabled: json_['defaultUriDisabled'] as core.bool?, deleteTime: json_['deleteTime'] as core.String?, - description: json_['description'] as core.String?, + encryptionKey: json_['encryptionKey'] as core.String?, etag: json_['etag'] as core.String?, + execution: json_['execution'] as core.String?, + executionEnvironment: json_['executionEnvironment'] as core.String?, expireTime: json_['expireTime'] as core.String?, generation: json_['generation'] as core.String?, - ingress: json_['ingress'] as core.String?, - invokerIamDisabled: json_['invokerIamDisabled'] as core.bool?, + index: json_['index'] as core.int?, + job: json_['job'] as core.String?, labels: (json_['labels'] as core.Map?)?.map( (key, value) => core.MapEntry( @@ -5376,1155 +6872,1217 @@ class GoogleCloudRunV2Service { value as core.String, ), ), - lastModifier: json_['lastModifier'] as core.String?, - latestCreatedRevision: json_['latestCreatedRevision'] as core.String?, - latestReadyRevision: json_['latestReadyRevision'] as core.String?, - launchStage: json_['launchStage'] as core.String?, + lastAttemptResult: json_.containsKey('lastAttemptResult') + ? GoogleCloudRunV2TaskAttemptResult.fromJson( + json_['lastAttemptResult'] + as core.Map) + : null, + logUri: json_['logUri'] as core.String?, + maxRetries: json_['maxRetries'] as core.int?, name: json_['name'] as core.String?, + nodeSelector: json_.containsKey('nodeSelector') + ? GoogleCloudRunV2NodeSelector.fromJson( + json_['nodeSelector'] as core.Map) + : null, observedGeneration: json_['observedGeneration'] as core.String?, reconciling: json_['reconciling'] as core.bool?, + retried: json_['retried'] as core.int?, satisfiesPzs: json_['satisfiesPzs'] as core.bool?, - scaling: json_.containsKey('scaling') - ? GoogleCloudRunV2ServiceScaling.fromJson( - json_['scaling'] as core.Map) - : null, - template: json_.containsKey('template') - ? GoogleCloudRunV2RevisionTemplate.fromJson( - json_['template'] as core.Map) - : null, - terminalCondition: json_.containsKey('terminalCondition') - ? GoogleCloudRunV2Condition.fromJson(json_['terminalCondition'] - as core.Map) - : null, - traffic: (json_['traffic'] as core.List?) - ?.map((value) => GoogleCloudRunV2TrafficTarget.fromJson( - value as core.Map)) - .toList(), - trafficStatuses: (json_['trafficStatuses'] as core.List?) - ?.map((value) => GoogleCloudRunV2TrafficTargetStatus.fromJson( - value as core.Map)) - .toList(), + scheduledTime: json_['scheduledTime'] as core.String?, + serviceAccount: json_['serviceAccount'] as core.String?, + startTime: json_['startTime'] as core.String?, + timeout: json_['timeout'] as core.String?, uid: json_['uid'] as core.String?, updateTime: json_['updateTime'] as core.String?, - uri: json_['uri'] as core.String?, - urls: (json_['urls'] as core.List?) - ?.map((value) => value as core.String) + volumes: (json_['volumes'] as core.List?) + ?.map((value) => GoogleCloudRunV2Volume.fromJson( + value as core.Map)) .toList(), + vpcAccess: json_.containsKey('vpcAccess') + ? GoogleCloudRunV2VpcAccess.fromJson( + json_['vpcAccess'] as core.Map) + : null, ); core.Map toJson() => { if (annotations != null) 'annotations': annotations!, - if (binaryAuthorization != null) - 'binaryAuthorization': binaryAuthorization!, - if (client != null) 'client': client!, - if (clientVersion != null) 'clientVersion': clientVersion!, + if (completionTime != null) 'completionTime': completionTime!, if (conditions != null) 'conditions': conditions!, + if (containers != null) 'containers': containers!, if (createTime != null) 'createTime': createTime!, - if (creator != null) 'creator': creator!, - if (customAudiences != null) 'customAudiences': customAudiences!, - if (defaultUriDisabled != null) - 'defaultUriDisabled': defaultUriDisabled!, if (deleteTime != null) 'deleteTime': deleteTime!, - if (description != null) 'description': description!, + if (encryptionKey != null) 'encryptionKey': encryptionKey!, if (etag != null) 'etag': etag!, + if (execution != null) 'execution': execution!, + if (executionEnvironment != null) + 'executionEnvironment': executionEnvironment!, if (expireTime != null) 'expireTime': expireTime!, if (generation != null) 'generation': generation!, - if (ingress != null) 'ingress': ingress!, - if (invokerIamDisabled != null) - 'invokerIamDisabled': invokerIamDisabled!, + if (index != null) 'index': index!, + if (job != null) 'job': job!, if (labels != null) 'labels': labels!, - if (lastModifier != null) 'lastModifier': lastModifier!, - if (latestCreatedRevision != null) - 'latestCreatedRevision': latestCreatedRevision!, - if (latestReadyRevision != null) - 'latestReadyRevision': latestReadyRevision!, - if (launchStage != null) 'launchStage': launchStage!, + if (lastAttemptResult != null) 'lastAttemptResult': lastAttemptResult!, + if (logUri != null) 'logUri': logUri!, + if (maxRetries != null) 'maxRetries': maxRetries!, if (name != null) 'name': name!, + if (nodeSelector != null) 'nodeSelector': nodeSelector!, if (observedGeneration != null) 'observedGeneration': observedGeneration!, if (reconciling != null) 'reconciling': reconciling!, + if (retried != null) 'retried': retried!, if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, - if (scaling != null) 'scaling': scaling!, - if (template != null) 'template': template!, - if (terminalCondition != null) 'terminalCondition': terminalCondition!, - if (traffic != null) 'traffic': traffic!, - if (trafficStatuses != null) 'trafficStatuses': trafficStatuses!, + if (scheduledTime != null) 'scheduledTime': scheduledTime!, + if (serviceAccount != null) 'serviceAccount': serviceAccount!, + if (startTime != null) 'startTime': startTime!, + if (timeout != null) 'timeout': timeout!, if (uid != null) 'uid': uid!, if (updateTime != null) 'updateTime': updateTime!, - if (uri != null) 'uri': uri!, - if (urls != null) 'urls': urls!, - }; -} - -/// Settings for Cloud Service Mesh. -/// -/// For more information see -/// https://cloud.google.com/service-mesh/docs/overview. -class GoogleCloudRunV2ServiceMesh { - /// The Mesh resource name. - /// - /// Format: `projects/{project}/locations/global/meshes/{mesh}`, where - /// `{project}` can be project id or number. - core.String? mesh; - - GoogleCloudRunV2ServiceMesh({ - this.mesh, - }); - - GoogleCloudRunV2ServiceMesh.fromJson(core.Map json_) - : this( - mesh: json_['mesh'] as core.String?, - ); - - core.Map toJson() => { - if (mesh != null) 'mesh': mesh!, + if (volumes != null) 'volumes': volumes!, + if (vpcAccess != null) 'vpcAccess': vpcAccess!, }; } -/// Scaling settings applied at the service level rather than at the revision -/// level. -class GoogleCloudRunV2ServiceScaling { - /// total instance count for the service in manual scaling mode. - /// - /// This number of instances is divided among all revisions with specified - /// traffic based on the percent of traffic they are receiving. - /// - /// Optional. - core.int? manualInstanceCount; - - /// total max instances for the service. +/// Result of a task attempt. +class GoogleCloudRunV2TaskAttemptResult { + /// The exit code of this attempt. /// - /// This number of instances is divided among all revisions with specified - /// traffic based on the percent of traffic they are receiving. + /// This may be unset if the container was unable to exit cleanly with a code + /// due to some other failure. See status field for possible failure details. /// - /// Optional. - core.int? maxInstanceCount; + /// Output only. + core.int? exitCode; - /// total min instances for the service. - /// - /// This number of instances is divided among all revisions with specified - /// traffic based on the percent of traffic they are receiving. + /// The status of this attempt. /// - /// Optional. - core.int? minInstanceCount; - - /// The scaling mode for the service. + /// If the status code is OK, then the attempt succeeded. /// - /// Optional. - /// Possible string values are: - /// - "SCALING_MODE_UNSPECIFIED" : Unspecified. - /// - "AUTOMATIC" : Scale based on traffic between min and max instances. - /// - "MANUAL" : Scale to exactly min instances and ignore max instances. - core.String? scalingMode; + /// Output only. + GoogleRpcStatus? status; - GoogleCloudRunV2ServiceScaling({ - this.manualInstanceCount, - this.maxInstanceCount, - this.minInstanceCount, - this.scalingMode, + GoogleCloudRunV2TaskAttemptResult({ + this.exitCode, + this.status, }); - GoogleCloudRunV2ServiceScaling.fromJson(core.Map json_) + GoogleCloudRunV2TaskAttemptResult.fromJson(core.Map json_) : this( - manualInstanceCount: json_['manualInstanceCount'] as core.int?, - maxInstanceCount: json_['maxInstanceCount'] as core.int?, - minInstanceCount: json_['minInstanceCount'] as core.int?, - scalingMode: json_['scalingMode'] as core.String?, + exitCode: json_['exitCode'] as core.int?, + status: json_.containsKey('status') + ? GoogleRpcStatus.fromJson( + json_['status'] as core.Map) + : null, ); core.Map toJson() => { - if (manualInstanceCount != null) - 'manualInstanceCount': manualInstanceCount!, - if (maxInstanceCount != null) 'maxInstanceCount': maxInstanceCount!, - if (minInstanceCount != null) 'minInstanceCount': minInstanceCount!, - if (scalingMode != null) 'scalingMode': scalingMode!, + if (exitCode != null) 'exitCode': exitCode!, + if (status != null) 'status': status!, }; } -/// Location of the source in an archive file in Google Cloud Storage. -class GoogleCloudRunV2StorageSource { - /// Google Cloud Storage bucket containing the source (see - /// [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). - /// - /// Required. - core.String? bucket; +/// TaskTemplate describes the data a task should have when created from a +/// template. +class GoogleCloudRunV2TaskTemplate { + /// Holds the single container that defines the unit of execution for this + /// task. + core.List? containers; - /// Google Cloud Storage generation for the object. - /// - /// If the generation is omitted, the latest generation will be used. + /// A reference to a customer managed encryption key (CMEK) to use to encrypt + /// this container image. /// - /// Optional. - core.String? generation; + /// For more information, go to + /// https://cloud.google.com/run/docs/securing/using-cmek + core.String? encryptionKey; - /// Google Cloud Storage object containing the source. - /// - /// This object must be a gzipped archive file (`.tar.gz`) containing source - /// to build. + /// The execution environment being used to host this Task. /// - /// Required. - core.String? object; - - GoogleCloudRunV2StorageSource({ - this.bucket, - this.generation, - this.object, - }); - - GoogleCloudRunV2StorageSource.fromJson(core.Map json_) - : this( - bucket: json_['bucket'] as core.String?, - generation: json_['generation'] as core.String?, - object: json_['object'] as core.String?, - ); - - core.Map toJson() => { - if (bucket != null) 'bucket': bucket!, - if (generation != null) 'generation': generation!, - if (object != null) 'object': object!, - }; -} - -/// Request message for submitting a Build. -class GoogleCloudRunV2SubmitBuildRequest { - /// Build the source using Buildpacks. - GoogleCloudRunV2BuildpacksBuild? buildpackBuild; + /// Optional. + /// Possible string values are: + /// - "EXECUTION_ENVIRONMENT_UNSPECIFIED" : Unspecified + /// - "EXECUTION_ENVIRONMENT_GEN1" : Uses the First Generation environment. + /// - "EXECUTION_ENVIRONMENT_GEN2" : Uses Second Generation environment. + core.String? executionEnvironment; - /// Build the source using Docker. + /// Number of retries allowed per Task, before marking this Task failed. /// - /// This means the source has a Dockerfile. - GoogleCloudRunV2DockerBuild? dockerBuild; + /// Defaults to 3. + core.int? maxRetries; - /// Artifact Registry URI to store the built image. + /// The node selector for the task template. /// - /// Required. - core.String? imageUri; + /// Optional. + GoogleCloudRunV2NodeSelector? nodeSelector; - /// The service account to use for the build. + /// Email address of the IAM service account associated with the Task of a + /// Job. /// - /// If not set, the default Cloud Build service account for the project will - /// be used. + /// The service account represents the identity of the running task, and + /// determines what permissions the task has. If not provided, the task will + /// use the project's default service account. /// /// Optional. core.String? serviceAccount; - /// Source for the build. + /// Max allowed time duration the Task may be active before the system will + /// actively try to mark it failed and kill associated containers. /// - /// Required. - GoogleCloudRunV2StorageSource? storageSource; + /// This applies per attempt of a task, meaning each retry can run for the + /// full timeout. Defaults to 600 seconds. + /// + /// Optional. + core.String? timeout; - /// Additional tags to annotate the build. + /// A list of Volumes to make available to containers. /// /// Optional. - core.List? tags; + core.List? volumes; - /// Name of the Cloud Build Custom Worker Pool that should be used to build - /// the function. + /// VPC Access configuration to use for this Task. /// - /// The format of this field is - /// `projects/{project}/locations/{region}/workerPools/{workerPool}` where - /// `{project}` and `{region}` are the project id and region respectively - /// where the worker pool is defined and `{workerPool}` is the short name of - /// the worker pool. + /// For more information, visit + /// https://cloud.google.com/run/docs/configuring/connecting-vpc. /// /// Optional. - core.String? workerPool; + GoogleCloudRunV2VpcAccess? vpcAccess; - GoogleCloudRunV2SubmitBuildRequest({ - this.buildpackBuild, - this.dockerBuild, - this.imageUri, + GoogleCloudRunV2TaskTemplate({ + this.containers, + this.encryptionKey, + this.executionEnvironment, + this.maxRetries, + this.nodeSelector, this.serviceAccount, - this.storageSource, - this.tags, - this.workerPool, + this.timeout, + this.volumes, + this.vpcAccess, }); - GoogleCloudRunV2SubmitBuildRequest.fromJson(core.Map json_) + GoogleCloudRunV2TaskTemplate.fromJson(core.Map json_) : this( - buildpackBuild: json_.containsKey('buildpackBuild') - ? GoogleCloudRunV2BuildpacksBuild.fromJson(json_['buildpackBuild'] - as core.Map) - : null, - dockerBuild: json_.containsKey('dockerBuild') - ? GoogleCloudRunV2DockerBuild.fromJson( - json_['dockerBuild'] as core.Map) + containers: (json_['containers'] as core.List?) + ?.map((value) => GoogleCloudRunV2Container.fromJson( + value as core.Map)) + .toList(), + encryptionKey: json_['encryptionKey'] as core.String?, + executionEnvironment: json_['executionEnvironment'] as core.String?, + maxRetries: json_['maxRetries'] as core.int?, + nodeSelector: json_.containsKey('nodeSelector') + ? GoogleCloudRunV2NodeSelector.fromJson( + json_['nodeSelector'] as core.Map) : null, - imageUri: json_['imageUri'] as core.String?, serviceAccount: json_['serviceAccount'] as core.String?, - storageSource: json_.containsKey('storageSource') - ? GoogleCloudRunV2StorageSource.fromJson( - json_['storageSource'] as core.Map) - : null, - tags: (json_['tags'] as core.List?) - ?.map((value) => value as core.String) + timeout: json_['timeout'] as core.String?, + volumes: (json_['volumes'] as core.List?) + ?.map((value) => GoogleCloudRunV2Volume.fromJson( + value as core.Map)) .toList(), - workerPool: json_['workerPool'] as core.String?, + vpcAccess: json_.containsKey('vpcAccess') + ? GoogleCloudRunV2VpcAccess.fromJson( + json_['vpcAccess'] as core.Map) + : null, ); core.Map toJson() => { - if (buildpackBuild != null) 'buildpackBuild': buildpackBuild!, - if (dockerBuild != null) 'dockerBuild': dockerBuild!, - if (imageUri != null) 'imageUri': imageUri!, + if (containers != null) 'containers': containers!, + if (encryptionKey != null) 'encryptionKey': encryptionKey!, + if (executionEnvironment != null) + 'executionEnvironment': executionEnvironment!, + if (maxRetries != null) 'maxRetries': maxRetries!, + if (nodeSelector != null) 'nodeSelector': nodeSelector!, if (serviceAccount != null) 'serviceAccount': serviceAccount!, - if (storageSource != null) 'storageSource': storageSource!, - if (tags != null) 'tags': tags!, - if (workerPool != null) 'workerPool': workerPool!, + if (timeout != null) 'timeout': timeout!, + if (volumes != null) 'volumes': volumes!, + if (vpcAccess != null) 'vpcAccess': vpcAccess!, }; } -/// Response message for submitting a Build. -class GoogleCloudRunV2SubmitBuildResponse { - /// URI of the base builder image in Artifact Registry being used in the - /// build. +/// Holds a single traffic routing entry for the Service. +/// +/// Allocations can be done to a specific Revision name, or pointing to the +/// latest Ready Revision. +class GoogleCloudRunV2TrafficTarget { + /// Specifies percent of the traffic to this Revision. /// - /// Used to opt into automatic base image updates. - core.String? baseImageUri; - - /// Warning message for the base image. - core.String? baseImageWarning; - - /// Cloud Build operation to be polled via CloudBuild API. - GoogleLongrunningOperation? buildOperation; - - GoogleCloudRunV2SubmitBuildResponse({ - this.baseImageUri, - this.baseImageWarning, - this.buildOperation, - }); + /// This defaults to zero if unspecified. + core.int? percent; - GoogleCloudRunV2SubmitBuildResponse.fromJson(core.Map json_) - : this( - baseImageUri: json_['baseImageUri'] as core.String?, - baseImageWarning: json_['baseImageWarning'] as core.String?, - buildOperation: json_.containsKey('buildOperation') - ? GoogleLongrunningOperation.fromJson(json_['buildOperation'] - as core.Map) - : null, - ); + /// Revision to which to send this portion of traffic, if traffic allocation + /// is by revision. + core.String? revision; - core.Map toJson() => { - if (baseImageUri != null) 'baseImageUri': baseImageUri!, - if (baseImageWarning != null) 'baseImageWarning': baseImageWarning!, - if (buildOperation != null) 'buildOperation': buildOperation!, - }; -} + /// Indicates a string to be part of the URI to exclusively reference this + /// target. + core.String? tag; -/// TCPSocketAction describes an action based on opening a socket -class GoogleCloudRunV2TCPSocketAction { - /// Port number to access on the container. - /// - /// Must be in the range 1 to 65535. If not specified, defaults to the exposed - /// port of the container, which is the value of - /// container.ports\[0\].containerPort. - /// - /// Optional. - core.int? port; + /// The allocation type for this traffic target. + /// Possible string values are: + /// - "TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED" : Unspecified instance + /// allocation type. + /// - "TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST" : Allocates instances to the + /// Service's latest ready Revision. + /// - "TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION" : Allocates instances to a + /// Revision by name. + core.String? type; - GoogleCloudRunV2TCPSocketAction({ - this.port, + GoogleCloudRunV2TrafficTarget({ + this.percent, + this.revision, + this.tag, + this.type, }); - GoogleCloudRunV2TCPSocketAction.fromJson(core.Map json_) + GoogleCloudRunV2TrafficTarget.fromJson(core.Map json_) : this( - port: json_['port'] as core.int?, + percent: json_['percent'] as core.int?, + revision: json_['revision'] as core.String?, + tag: json_['tag'] as core.String?, + type: json_['type'] as core.String?, ); core.Map toJson() => { - if (port != null) 'port': port!, + if (percent != null) 'percent': percent!, + if (revision != null) 'revision': revision!, + if (tag != null) 'tag': tag!, + if (type != null) 'type': type!, }; } -/// Task represents a single run of a container to completion. -class GoogleCloudRunV2Task { - /// Unstructured key value map that may be set by external tools to store and - /// arbitrary metadata. - /// - /// They are not queryable and should be preserved when modifying objects. - /// - /// Output only. - core.Map? annotations; - - /// Represents time when the Task was completed. - /// - /// It is not guaranteed to be set in happens-before order across separate - /// operations. - /// - /// Output only. - core.String? completionTime; - - /// The Condition of this Task, containing its readiness status, and detailed - /// error information in case it did not reach the desired state. - /// - /// Output only. - core.List? conditions; - - /// Holds the single container that defines the unit of execution for this - /// task. - core.List? containers; - - /// Represents time when the task was created by the system. - /// - /// It is not guaranteed to be set in happens-before order across separate - /// operations. - /// - /// Output only. - core.String? createTime; - - /// For a deleted resource, the deletion time. - /// - /// It is only populated as a response to a Delete request. - /// - /// Output only. - core.String? deleteTime; - - /// A reference to a customer managed encryption key (CMEK) to use to encrypt - /// this container image. - /// - /// For more information, go to - /// https://cloud.google.com/run/docs/securing/using-cmek - /// - /// Output only. - core.String? encryptionKey; +/// Represents the observed state of a single `TrafficTarget` entry. +class GoogleCloudRunV2TrafficTargetStatus { + /// Specifies percent of the traffic to this Revision. + core.int? percent; - /// A system-generated fingerprint for this version of the resource. - /// - /// May be used to detect modification conflict during updates. - /// - /// Output only. - core.String? etag; + /// Revision to which this traffic is sent. + core.String? revision; - /// The name of the parent Execution. - /// - /// Output only. - core.String? execution; + /// Indicates the string used in the URI to exclusively reference this target. + core.String? tag; - /// The execution environment being used to host this Task. + /// The allocation type for this traffic target. /// Possible string values are: - /// - "EXECUTION_ENVIRONMENT_UNSPECIFIED" : Unspecified - /// - "EXECUTION_ENVIRONMENT_GEN1" : Uses the First Generation environment. - /// - "EXECUTION_ENVIRONMENT_GEN2" : Uses Second Generation environment. - core.String? executionEnvironment; + /// - "TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED" : Unspecified instance + /// allocation type. + /// - "TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST" : Allocates instances to the + /// Service's latest ready Revision. + /// - "TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION" : Allocates instances to a + /// Revision by name. + core.String? type; - /// For a deleted resource, the time after which it will be permamently - /// deleted. - /// - /// It is only populated as a response to a Delete request. - /// - /// Output only. - core.String? expireTime; + /// Displays the target URI. + core.String? uri; - /// A number that monotonically increases every time the user modifies the - /// desired state. - /// - /// Output only. - core.String? generation; + GoogleCloudRunV2TrafficTargetStatus({ + this.percent, + this.revision, + this.tag, + this.type, + this.uri, + }); - /// Index of the Task, unique per execution, and beginning at 0. - /// - /// Output only. - core.int? index; + GoogleCloudRunV2TrafficTargetStatus.fromJson(core.Map json_) + : this( + percent: json_['percent'] as core.int?, + revision: json_['revision'] as core.String?, + tag: json_['tag'] as core.String?, + type: json_['type'] as core.String?, + uri: json_['uri'] as core.String?, + ); - /// The name of the parent Job. - /// - /// Output only. - core.String? job; + core.Map toJson() => { + if (percent != null) 'percent': percent!, + if (revision != null) 'revision': revision!, + if (tag != null) 'tag': tag!, + if (type != null) 'type': type!, + if (uri != null) 'uri': uri!, + }; +} - /// Unstructured key value map that can be used to organize and categorize - /// objects. - /// - /// User-provided labels are shared with Google's billing system, so they can - /// be used to filter, or break down billing charges by team, component, - /// environment, state, etc. For more information, visit - /// https://cloud.google.com/resource-manager/docs/creating-managing-labels or - /// https://cloud.google.com/run/docs/configuring/labels +/// VersionToPath maps a specific version of a secret to a relative file to +/// mount to, relative to VolumeMount's mount_path. +class GoogleCloudRunV2VersionToPath { + /// Integer octal mode bits to use on this file, must be a value between 01 + /// and 0777 (octal). /// - /// Output only. - core.Map? labels; + /// If 0 or not set, the Volume's default mode will be used. Notes * + /// Internally, a umask of 0222 will be applied to any non-zero value. * This + /// is an integer representation of the mode bits. So, the octal integer value + /// should look exactly as the chmod numeric notation with a leading zero. + /// Some examples: for chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 + /// (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 + /// (base-10). * This might be in conflict with other options that affect the + /// file mode, like fsGroup, and the result can be other mode bits set. + core.int? mode; - /// Result of the last attempt of this Task. + /// The relative path of the secret in the container. /// - /// Output only. - GoogleCloudRunV2TaskAttemptResult? lastAttemptResult; + /// Required. + core.String? path; - /// URI where logs for this execution can be found in Cloud Console. + /// The Cloud Secret Manager secret version. /// - /// Output only. - core.String? logUri; + /// Can be 'latest' for the latest value, or an integer or a secret alias for + /// a specific version. + core.String? version; - /// Number of retries allowed per Task, before marking this Task failed. - core.int? maxRetries; + GoogleCloudRunV2VersionToPath({ + this.mode, + this.path, + this.version, + }); - /// The unique name of this Task. - /// - /// Output only. - core.String? name; + GoogleCloudRunV2VersionToPath.fromJson(core.Map json_) + : this( + mode: json_['mode'] as core.int?, + path: json_['path'] as core.String?, + version: json_['version'] as core.String?, + ); - /// The generation of this Task. - /// - /// See comments in `Job.reconciling` for additional information on - /// reconciliation process in Cloud Run. - /// - /// Output only. - core.String? observedGeneration; + core.Map toJson() => { + if (mode != null) 'mode': mode!, + if (path != null) 'path': path!, + if (version != null) 'version': version!, + }; +} - /// Indicates whether the resource's reconciliation is still in progress. - /// - /// See comments in `Job.reconciling` for additional information on - /// reconciliation process in Cloud Run. +/// Volume represents a named volume in a container. +class GoogleCloudRunV2Volume { + /// For Cloud SQL volumes, contains the specific instances that should be + /// mounted. /// - /// Output only. - core.bool? reconciling; + /// Visit https://cloud.google.com/sql/docs/mysql/connect-run for more + /// information on how to connect Cloud SQL and Cloud Run. + GoogleCloudRunV2CloudSqlInstance? cloudSqlInstance; - /// The number of times this Task was retried. - /// - /// Tasks are retried when they fail up to the maxRetries limit. - /// - /// Output only. - core.int? retried; + /// Ephemeral storage used as a shared volume. + GoogleCloudRunV2EmptyDirVolumeSource? emptyDir; - /// Reserved for future use. - /// - /// Output only. - core.bool? satisfiesPzs; + /// Persistent storage backed by a Google Cloud Storage bucket. + GoogleCloudRunV2GCSVolumeSource? gcs; - /// Represents time when the task was scheduled to run by the system. - /// - /// It is not guaranteed to be set in happens-before order across separate - /// operations. + /// Volume's name. /// - /// Output only. - core.String? scheduledTime; + /// Required. + core.String? name; - /// Email address of the IAM service account associated with the Task of a - /// Job. - /// - /// The service account represents the identity of the running task, and - /// determines what permissions the task has. If not provided, the task will - /// use the project's default service account. - core.String? serviceAccount; + /// For NFS Voumes, contains the path to the nfs Volume + GoogleCloudRunV2NFSVolumeSource? nfs; - /// Represents time when the task started to run. - /// - /// It is not guaranteed to be set in happens-before order across separate - /// operations. - /// - /// Output only. - core.String? startTime; + /// Secret represents a secret that should populate this volume. + GoogleCloudRunV2SecretVolumeSource? secret; - /// Max allowed time duration the Task may be active before the system will - /// actively try to mark it failed and kill associated containers. - /// - /// This applies per attempt of a task, meaning each retry can run for the - /// full timeout. - core.String? timeout; + GoogleCloudRunV2Volume({ + this.cloudSqlInstance, + this.emptyDir, + this.gcs, + this.name, + this.nfs, + this.secret, + }); - /// Server assigned unique identifier for the Task. - /// - /// The value is a UUID4 string and guaranteed to remain unchanged until the - /// resource is deleted. - /// - /// Output only. - core.String? uid; + GoogleCloudRunV2Volume.fromJson(core.Map json_) + : this( + cloudSqlInstance: json_.containsKey('cloudSqlInstance') + ? GoogleCloudRunV2CloudSqlInstance.fromJson( + json_['cloudSqlInstance'] + as core.Map) + : null, + emptyDir: json_.containsKey('emptyDir') + ? GoogleCloudRunV2EmptyDirVolumeSource.fromJson( + json_['emptyDir'] as core.Map) + : null, + gcs: json_.containsKey('gcs') + ? GoogleCloudRunV2GCSVolumeSource.fromJson( + json_['gcs'] as core.Map) + : null, + name: json_['name'] as core.String?, + nfs: json_.containsKey('nfs') + ? GoogleCloudRunV2NFSVolumeSource.fromJson( + json_['nfs'] as core.Map) + : null, + secret: json_.containsKey('secret') + ? GoogleCloudRunV2SecretVolumeSource.fromJson( + json_['secret'] as core.Map) + : null, + ); - /// The last-modified time. + core.Map toJson() => { + if (cloudSqlInstance != null) 'cloudSqlInstance': cloudSqlInstance!, + if (emptyDir != null) 'emptyDir': emptyDir!, + if (gcs != null) 'gcs': gcs!, + if (name != null) 'name': name!, + if (nfs != null) 'nfs': nfs!, + if (secret != null) 'secret': secret!, + }; +} + +/// VolumeMount describes a mounting of a Volume within a container. +class GoogleCloudRunV2VolumeMount { + /// Path within the container at which the volume should be mounted. + /// + /// Must not contain ':'. For Cloud SQL volumes, it can be left empty, or must + /// otherwise be `/cloudsql`. All instances defined in the Volume will be + /// available as `/cloudsql/[instance]`. For more information on Cloud SQL + /// volumes, visit https://cloud.google.com/sql/docs/mysql/connect-run /// - /// Output only. - core.String? updateTime; - - /// A list of Volumes to make available to containers. - core.List? volumes; + /// Required. + core.String? mountPath; - /// VPC Access configuration to use for this Task. - /// - /// For more information, visit - /// https://cloud.google.com/run/docs/configuring/connecting-vpc. + /// This must match the Name of a Volume. /// - /// Output only. - GoogleCloudRunV2VpcAccess? vpcAccess; + /// Required. + core.String? name; - GoogleCloudRunV2Task({ - this.annotations, - this.completionTime, - this.conditions, - this.containers, - this.createTime, - this.deleteTime, - this.encryptionKey, - this.etag, - this.execution, - this.executionEnvironment, - this.expireTime, - this.generation, - this.index, - this.job, - this.labels, - this.lastAttemptResult, - this.logUri, - this.maxRetries, + GoogleCloudRunV2VolumeMount({ + this.mountPath, this.name, - this.observedGeneration, - this.reconciling, - this.retried, - this.satisfiesPzs, - this.scheduledTime, - this.serviceAccount, - this.startTime, - this.timeout, - this.uid, - this.updateTime, - this.volumes, - this.vpcAccess, }); - GoogleCloudRunV2Task.fromJson(core.Map json_) + GoogleCloudRunV2VolumeMount.fromJson(core.Map json_) : this( - annotations: - (json_['annotations'] as core.Map?) - ?.map( - (key, value) => core.MapEntry( - key, - value as core.String, - ), - ), - completionTime: json_['completionTime'] as core.String?, - conditions: (json_['conditions'] as core.List?) - ?.map((value) => GoogleCloudRunV2Condition.fromJson( - value as core.Map)) - .toList(), - containers: (json_['containers'] as core.List?) - ?.map((value) => GoogleCloudRunV2Container.fromJson( - value as core.Map)) - .toList(), - createTime: json_['createTime'] as core.String?, - deleteTime: json_['deleteTime'] as core.String?, - encryptionKey: json_['encryptionKey'] as core.String?, - etag: json_['etag'] as core.String?, - execution: json_['execution'] as core.String?, - executionEnvironment: json_['executionEnvironment'] as core.String?, - expireTime: json_['expireTime'] as core.String?, - generation: json_['generation'] as core.String?, - index: json_['index'] as core.int?, - job: json_['job'] as core.String?, - labels: - (json_['labels'] as core.Map?)?.map( - (key, value) => core.MapEntry( - key, - value as core.String, - ), - ), - lastAttemptResult: json_.containsKey('lastAttemptResult') - ? GoogleCloudRunV2TaskAttemptResult.fromJson( - json_['lastAttemptResult'] - as core.Map) - : null, - logUri: json_['logUri'] as core.String?, - maxRetries: json_['maxRetries'] as core.int?, + mountPath: json_['mountPath'] as core.String?, name: json_['name'] as core.String?, - observedGeneration: json_['observedGeneration'] as core.String?, - reconciling: json_['reconciling'] as core.bool?, - retried: json_['retried'] as core.int?, - satisfiesPzs: json_['satisfiesPzs'] as core.bool?, - scheduledTime: json_['scheduledTime'] as core.String?, - serviceAccount: json_['serviceAccount'] as core.String?, - startTime: json_['startTime'] as core.String?, - timeout: json_['timeout'] as core.String?, - uid: json_['uid'] as core.String?, - updateTime: json_['updateTime'] as core.String?, - volumes: (json_['volumes'] as core.List?) - ?.map((value) => GoogleCloudRunV2Volume.fromJson( - value as core.Map)) - .toList(), - vpcAccess: json_.containsKey('vpcAccess') - ? GoogleCloudRunV2VpcAccess.fromJson( - json_['vpcAccess'] as core.Map) - : null, ); core.Map toJson() => { - if (annotations != null) 'annotations': annotations!, - if (completionTime != null) 'completionTime': completionTime!, - if (conditions != null) 'conditions': conditions!, - if (containers != null) 'containers': containers!, - if (createTime != null) 'createTime': createTime!, - if (deleteTime != null) 'deleteTime': deleteTime!, - if (encryptionKey != null) 'encryptionKey': encryptionKey!, - if (etag != null) 'etag': etag!, - if (execution != null) 'execution': execution!, - if (executionEnvironment != null) - 'executionEnvironment': executionEnvironment!, - if (expireTime != null) 'expireTime': expireTime!, - if (generation != null) 'generation': generation!, - if (index != null) 'index': index!, - if (job != null) 'job': job!, - if (labels != null) 'labels': labels!, - if (lastAttemptResult != null) 'lastAttemptResult': lastAttemptResult!, - if (logUri != null) 'logUri': logUri!, - if (maxRetries != null) 'maxRetries': maxRetries!, + if (mountPath != null) 'mountPath': mountPath!, if (name != null) 'name': name!, - if (observedGeneration != null) - 'observedGeneration': observedGeneration!, - if (reconciling != null) 'reconciling': reconciling!, - if (retried != null) 'retried': retried!, - if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, - if (scheduledTime != null) 'scheduledTime': scheduledTime!, - if (serviceAccount != null) 'serviceAccount': serviceAccount!, - if (startTime != null) 'startTime': startTime!, - if (timeout != null) 'timeout': timeout!, - if (uid != null) 'uid': uid!, - if (updateTime != null) 'updateTime': updateTime!, - if (volumes != null) 'volumes': volumes!, - if (vpcAccess != null) 'vpcAccess': vpcAccess!, }; } -/// Result of a task attempt. -class GoogleCloudRunV2TaskAttemptResult { - /// The exit code of this attempt. +/// VPC Access settings. +/// +/// For more information on sending traffic to a VPC network, visit +/// https://cloud.google.com/run/docs/configuring/connecting-vpc. +class GoogleCloudRunV2VpcAccess { + /// VPC Access connector name. /// - /// This may be unset if the container was unable to exit cleanly with a code - /// due to some other failure. See status field for possible failure details. + /// Format: `projects/{project}/locations/{location}/connectors/{connector}`, + /// where `{project}` can be project id or number. For more information on + /// sending traffic to a VPC network via a connector, visit + /// https://cloud.google.com/run/docs/configuring/vpc-connectors. + core.String? connector; + + /// Traffic VPC egress settings. /// - /// Output only. - core.int? exitCode; + /// If not provided, it defaults to PRIVATE_RANGES_ONLY. + /// + /// Optional. + /// Possible string values are: + /// - "VPC_EGRESS_UNSPECIFIED" : Unspecified + /// - "ALL_TRAFFIC" : All outbound traffic is routed through the VPC + /// connector. + /// - "PRIVATE_RANGES_ONLY" : Only private IP ranges are routed through the + /// VPC connector. + core.String? egress; - /// The status of this attempt. + /// Direct VPC egress settings. /// - /// If the status code is OK, then the attempt succeeded. + /// Currently only single network interface is supported. /// - /// Output only. - GoogleRpcStatus? status; + /// Optional. + core.List? networkInterfaces; - GoogleCloudRunV2TaskAttemptResult({ - this.exitCode, - this.status, + GoogleCloudRunV2VpcAccess({ + this.connector, + this.egress, + this.networkInterfaces, }); - GoogleCloudRunV2TaskAttemptResult.fromJson(core.Map json_) + GoogleCloudRunV2VpcAccess.fromJson(core.Map json_) : this( - exitCode: json_['exitCode'] as core.int?, - status: json_.containsKey('status') - ? GoogleRpcStatus.fromJson( - json_['status'] as core.Map) - : null, + connector: json_['connector'] as core.String?, + egress: json_['egress'] as core.String?, + networkInterfaces: (json_['networkInterfaces'] as core.List?) + ?.map((value) => GoogleCloudRunV2NetworkInterface.fromJson( + value as core.Map)) + .toList(), ); core.Map toJson() => { - if (exitCode != null) 'exitCode': exitCode!, - if (status != null) 'status': status!, + if (connector != null) 'connector': connector!, + if (egress != null) 'egress': egress!, + if (networkInterfaces != null) 'networkInterfaces': networkInterfaces!, }; } -/// TaskTemplate describes the data a task should have when created from a -/// template. -class GoogleCloudRunV2TaskTemplate { - /// Holds the single container that defines the unit of execution for this - /// task. - core.List? containers; +/// WorkerPool acts as a top-level container that manages a set of +/// configurations and revision templates which implement a pull-based workload. +/// +/// WorkerPool exists to provide a singular abstraction which can be access +/// controlled, reasoned about, and which encapsulates software lifecycle +/// decisions such as rollout policy and team resource ownership. +class GoogleCloudRunV2WorkerPool { + /// Unstructured key value map that may be set by external tools to store and + /// arbitrary metadata. + /// + /// They are not queryable and should be preserved when modifying objects. + /// Cloud Run API v2 does not support annotations with `run.googleapis.com`, + /// `cloud.googleapis.com`, `serving.knative.dev`, or + /// `autoscaling.knative.dev` namespaces, and they will be rejected in new + /// resources. All system annotations in v1 now have a corresponding field in + /// v2 WorkerPool. This field follows Kubernetes annotations' namespacing, + /// limits, and rules. + /// + /// Optional. + core.Map? annotations; + + /// Settings for the Binary Authorization feature. + /// + /// Optional. + GoogleCloudRunV2BinaryAuthorization? binaryAuthorization; + + /// Arbitrary identifier for the API client. + core.String? client; + + /// Arbitrary version identifier for the API client. + core.String? clientVersion; + + /// The Conditions of all other associated sub-resources. + /// + /// They contain additional diagnostics information in case the WorkerPool + /// does not reach its Serving state. See comments in `reconciling` for + /// additional information on reconciliation process in Cloud Run. + /// + /// Output only. + core.List? conditions; + + /// The creation time. + /// + /// Output only. + core.String? createTime; + + /// Email address of the authenticated creator. + /// + /// Output only. + core.String? creator; + + /// One or more custom audiences that you want this worker pool to support. + /// + /// Specify each custom audience as the full URL in a string. The custom + /// audiences are encoded in the token and used to authenticate requests. For + /// more information, see + /// https://cloud.google.com/run/docs/configuring/custom-audiences. + core.List? customAudiences; + + /// The deletion time. + /// + /// It is only populated as a response to a Delete request. + /// + /// Output only. + core.String? deleteTime; - /// A reference to a customer managed encryption key (CMEK) to use to encrypt - /// this container image. + /// User-provided description of the WorkerPool. /// - /// For more information, go to - /// https://cloud.google.com/run/docs/securing/using-cmek - core.String? encryptionKey; + /// This field currently has a 512-character limit. + core.String? description; - /// The execution environment being used to host this Task. + /// A system-generated fingerprint for this version of the resource. /// - /// Optional. - /// Possible string values are: - /// - "EXECUTION_ENVIRONMENT_UNSPECIFIED" : Unspecified - /// - "EXECUTION_ENVIRONMENT_GEN1" : Uses the First Generation environment. - /// - "EXECUTION_ENVIRONMENT_GEN2" : Uses Second Generation environment. - core.String? executionEnvironment; + /// May be used to detect modification conflict during updates. + /// + /// Output only. + core.String? etag; - /// Number of retries allowed per Task, before marking this Task failed. + /// For a deleted resource, the time after which it will be permamently + /// deleted. /// - /// Defaults to 3. - core.int? maxRetries; + /// Output only. + core.String? expireTime; - /// Email address of the IAM service account associated with the Task of a - /// Job. + /// A number that monotonically increases every time the user modifies the + /// desired state. /// - /// The service account represents the identity of the running task, and - /// determines what permissions the task has. If not provided, the task will - /// use the project's default service account. + /// Please note that unlike v1, this is an int64 value. As with most Google + /// APIs, its JSON representation will be a `string` instead of an `integer`. /// - /// Optional. - core.String? serviceAccount; + /// Output only. + core.String? generation; - /// Max allowed time duration the Task may be active before the system will - /// actively try to mark it failed and kill associated containers. + /// Detailed status information for corresponding instance splits. /// - /// This applies per attempt of a task, meaning each retry can run for the - /// full timeout. Defaults to 600 seconds. + /// See comments in `reconciling` for additional information on reconciliation + /// process in Cloud Run. /// - /// Optional. - core.String? timeout; + /// Output only. + core.List? instanceSplitStatuses; - /// A list of Volumes to make available to containers. + /// Specifies how to distribute instances over a collection of Revisions + /// belonging to the WorkerPool. + /// + /// If instance split is empty or not provided, defaults to 100% instances + /// assigned to the latest `Ready` Revision. /// /// Optional. - core.List? volumes; + core.List? instanceSplits; - /// VPC Access configuration to use for this Task. + /// Unstructured key value map that can be used to organize and categorize + /// objects. /// - /// For more information, visit - /// https://cloud.google.com/run/docs/configuring/connecting-vpc. + /// User-provided labels are shared with Google's billing system, so they can + /// be used to filter, or break down billing charges by team, component, + /// environment, state, etc. For more information, visit + /// https://cloud.google.com/resource-manager/docs/creating-managing-labels or + /// https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 + /// does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, + /// `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they + /// will be rejected. All system labels in v1 now have a corresponding field + /// in v2 WorkerPool. /// /// Optional. - GoogleCloudRunV2VpcAccess? vpcAccess; - - GoogleCloudRunV2TaskTemplate({ - this.containers, - this.encryptionKey, - this.executionEnvironment, - this.maxRetries, - this.serviceAccount, - this.timeout, - this.volumes, - this.vpcAccess, - }); - - GoogleCloudRunV2TaskTemplate.fromJson(core.Map json_) - : this( - containers: (json_['containers'] as core.List?) - ?.map((value) => GoogleCloudRunV2Container.fromJson( - value as core.Map)) - .toList(), - encryptionKey: json_['encryptionKey'] as core.String?, - executionEnvironment: json_['executionEnvironment'] as core.String?, - maxRetries: json_['maxRetries'] as core.int?, - serviceAccount: json_['serviceAccount'] as core.String?, - timeout: json_['timeout'] as core.String?, - volumes: (json_['volumes'] as core.List?) - ?.map((value) => GoogleCloudRunV2Volume.fromJson( - value as core.Map)) - .toList(), - vpcAccess: json_.containsKey('vpcAccess') - ? GoogleCloudRunV2VpcAccess.fromJson( - json_['vpcAccess'] as core.Map) - : null, - ); - - core.Map toJson() => { - if (containers != null) 'containers': containers!, - if (encryptionKey != null) 'encryptionKey': encryptionKey!, - if (executionEnvironment != null) - 'executionEnvironment': executionEnvironment!, - if (maxRetries != null) 'maxRetries': maxRetries!, - if (serviceAccount != null) 'serviceAccount': serviceAccount!, - if (timeout != null) 'timeout': timeout!, - if (volumes != null) 'volumes': volumes!, - if (vpcAccess != null) 'vpcAccess': vpcAccess!, - }; -} + core.Map? labels; -/// Holds a single traffic routing entry for the Service. -/// -/// Allocations can be done to a specific Revision name, or pointing to the -/// latest Ready Revision. -class GoogleCloudRunV2TrafficTarget { - /// Specifies percent of the traffic to this Revision. + /// Email address of the last authenticated modifier. /// - /// This defaults to zero if unspecified. - core.int? percent; + /// Output only. + core.String? lastModifier; - /// Revision to which to send this portion of traffic, if traffic allocation - /// is by revision. - core.String? revision; + /// Name of the last created revision. + /// + /// See comments in `reconciling` for additional information on reconciliation + /// process in Cloud Run. + /// + /// Output only. + core.String? latestCreatedRevision; - /// Indicates a string to be part of the URI to exclusively reference this - /// target. - core.String? tag; + /// Name of the latest revision that is serving traffic. + /// + /// See comments in `reconciling` for additional information on reconciliation + /// process in Cloud Run. + /// + /// Output only. + core.String? latestReadyRevision; - /// The allocation type for this traffic target. + /// The launch stage as defined by + /// [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). + /// + /// Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, GA + /// is assumed. Set the launch stage to a preview stage on input to allow use + /// of preview features in that stage. On read (or output), describes whether + /// the resource uses preview features. For example, if ALPHA is provided as + /// input, but only BETA and GA-level features are used, this field will be + /// BETA on output. + /// + /// Optional. /// Possible string values are: - /// - "TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED" : Unspecified instance - /// allocation type. - /// - "TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST" : Allocates instances to the - /// Service's latest ready Revision. - /// - "TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION" : Allocates instances to a - /// Revision by name. - core.String? type; + /// - "LAUNCH_STAGE_UNSPECIFIED" : Do not use this default value. + /// - "UNIMPLEMENTED" : The feature is not yet implemented. Users can not use + /// it. + /// - "PRELAUNCH" : Prelaunch features are hidden from users and are only + /// visible internally. + /// - "EARLY_ACCESS" : Early Access features are limited to a closed group of + /// testers. To use these features, you must sign up in advance and sign a + /// Trusted Tester agreement (which includes confidentiality provisions). + /// These features may be unstable, changed in backward-incompatible ways, and + /// are not guaranteed to be released. + /// - "ALPHA" : Alpha is a limited availability test for releases before they + /// are cleared for widespread use. By Alpha, all significant design issues + /// are resolved and we are in the process of verifying functionality. Alpha + /// customers need to apply for access, agree to applicable terms, and have + /// their projects allowlisted. Alpha releases don't have to be feature + /// complete, no SLAs are provided, and there are no technical support + /// obligations, but they will be far enough along that customers can actually + /// use them in test environments or for limited-use tests -- just like they + /// would in normal production cases. + /// - "BETA" : Beta is the point at which we are ready to open a release for + /// any customer to use. There are no SLA or technical support obligations in + /// a Beta release. Products will be complete from a feature perspective, but + /// may have some open outstanding issues. Beta releases are suitable for + /// limited production use cases. + /// - "GA" : GA features are open to all developers and are considered stable + /// and fully qualified for production use. + /// - "DEPRECATED" : Deprecated features are scheduled to be shut down and + /// removed. For more information, see the "Deprecation Policy" section of our + /// [Terms of Service](https://cloud.google.com/terms/) and the + /// [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) + /// documentation. + core.String? launchStage; - GoogleCloudRunV2TrafficTarget({ - this.percent, - this.revision, - this.tag, - this.type, - }); + /// The fully qualified name of this WorkerPool. + /// + /// In CreateWorkerPoolRequest, this field is ignored, and instead composed + /// from CreateWorkerPoolRequest.parent and CreateWorkerPoolRequest.worker_id. + /// Format: projects/{project}/locations/{location}/workerPools/{worker_id} + core.String? name; - GoogleCloudRunV2TrafficTarget.fromJson(core.Map json_) - : this( - percent: json_['percent'] as core.int?, - revision: json_['revision'] as core.String?, - tag: json_['tag'] as core.String?, - type: json_['type'] as core.String?, - ); + /// The generation of this WorkerPool currently serving traffic. + /// + /// See comments in `reconciling` for additional information on reconciliation + /// process in Cloud Run. Please note that unlike v1, this is an int64 value. + /// As with most Google APIs, its JSON representation will be a `string` + /// instead of an `integer`. + /// + /// Output only. + core.String? observedGeneration; - core.Map toJson() => { - if (percent != null) 'percent': percent!, - if (revision != null) 'revision': revision!, - if (tag != null) 'tag': tag!, - if (type != null) 'type': type!, - }; -} + /// Returns true if the WorkerPool is currently being acted upon by the system + /// to bring it into the desired state. + /// + /// When a new WorkerPool is created, or an existing one is updated, Cloud Run + /// will asynchronously perform all necessary steps to bring the WorkerPool to + /// the desired serving state. This process is called reconciliation. While + /// reconciliation is in process, `observed_generation`, + /// `latest_ready_revison`, `traffic_statuses`, and `uri` will have transient + /// values that might mismatch the intended state: Once reconciliation is over + /// (and this field is false), there are two possible outcomes: reconciliation + /// succeeded and the serving state matches the WorkerPool, or there was an + /// error, and reconciliation failed. This state can be found in + /// `terminal_condition.state`. If reconciliation succeeded, the following + /// fields will match: `traffic` and `traffic_statuses`, `observed_generation` + /// and `generation`, `latest_ready_revision` and `latest_created_revision`. + /// If reconciliation failed, `traffic_statuses`, `observed_generation`, and + /// `latest_ready_revision` will have the state of the last serving revision, + /// or empty for newly created WorkerPools. Additional information on the + /// failure can be found in `terminal_condition` and `conditions`. + /// + /// Output only. + core.bool? reconciling; + + /// Reserved for future use. + /// + /// Output only. + core.bool? satisfiesPzs; -/// Represents the observed state of a single `TrafficTarget` entry. -class GoogleCloudRunV2TrafficTargetStatus { - /// Specifies percent of the traffic to this Revision. - core.int? percent; + /// Specifies worker-pool-level scaling settings + /// + /// Optional. + GoogleCloudRunV2WorkerPoolScaling? scaling; - /// Revision to which this traffic is sent. - core.String? revision; + /// The template used to create revisions for this WorkerPool. + /// + /// Required. + GoogleCloudRunV2WorkerPoolRevisionTemplate? template; - /// Indicates the string used in the URI to exclusively reference this target. - core.String? tag; + /// The Condition of this WorkerPool, containing its readiness status, and + /// detailed error information in case it did not reach a serving state. + /// + /// See comments in `reconciling` for additional information on reconciliation + /// process in Cloud Run. + /// + /// Output only. + GoogleCloudRunV2Condition? terminalCondition; - /// The allocation type for this traffic target. - /// Possible string values are: - /// - "TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED" : Unspecified instance - /// allocation type. - /// - "TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST" : Allocates instances to the - /// Service's latest ready Revision. - /// - "TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION" : Allocates instances to a - /// Revision by name. - core.String? type; + /// Server assigned unique identifier for the trigger. + /// + /// The value is a UUID4 string and guaranteed to remain unchanged until the + /// resource is deleted. + /// + /// Output only. + core.String? uid; - /// Displays the target URI. - core.String? uri; + /// The last-modified time. + /// + /// Output only. + core.String? updateTime; - GoogleCloudRunV2TrafficTargetStatus({ - this.percent, - this.revision, - this.tag, - this.type, - this.uri, + GoogleCloudRunV2WorkerPool({ + this.annotations, + this.binaryAuthorization, + this.client, + this.clientVersion, + this.conditions, + this.createTime, + this.creator, + this.customAudiences, + this.deleteTime, + this.description, + this.etag, + this.expireTime, + this.generation, + this.instanceSplitStatuses, + this.instanceSplits, + this.labels, + this.lastModifier, + this.latestCreatedRevision, + this.latestReadyRevision, + this.launchStage, + this.name, + this.observedGeneration, + this.reconciling, + this.satisfiesPzs, + this.scaling, + this.template, + this.terminalCondition, + this.uid, + this.updateTime, }); - GoogleCloudRunV2TrafficTargetStatus.fromJson(core.Map json_) + GoogleCloudRunV2WorkerPool.fromJson(core.Map json_) : this( - percent: json_['percent'] as core.int?, - revision: json_['revision'] as core.String?, - tag: json_['tag'] as core.String?, - type: json_['type'] as core.String?, - uri: json_['uri'] as core.String?, + annotations: + (json_['annotations'] as core.Map?) + ?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + binaryAuthorization: json_.containsKey('binaryAuthorization') + ? GoogleCloudRunV2BinaryAuthorization.fromJson( + json_['binaryAuthorization'] + as core.Map) + : null, + client: json_['client'] as core.String?, + clientVersion: json_['clientVersion'] as core.String?, + conditions: (json_['conditions'] as core.List?) + ?.map((value) => GoogleCloudRunV2Condition.fromJson( + value as core.Map)) + .toList(), + createTime: json_['createTime'] as core.String?, + creator: json_['creator'] as core.String?, + customAudiences: (json_['customAudiences'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + deleteTime: json_['deleteTime'] as core.String?, + description: json_['description'] as core.String?, + etag: json_['etag'] as core.String?, + expireTime: json_['expireTime'] as core.String?, + generation: json_['generation'] as core.String?, + instanceSplitStatuses: (json_['instanceSplitStatuses'] as core.List?) + ?.map((value) => GoogleCloudRunV2InstanceSplitStatus.fromJson( + value as core.Map)) + .toList(), + instanceSplits: (json_['instanceSplits'] as core.List?) + ?.map((value) => GoogleCloudRunV2InstanceSplit.fromJson( + value as core.Map)) + .toList(), + labels: + (json_['labels'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + lastModifier: json_['lastModifier'] as core.String?, + latestCreatedRevision: json_['latestCreatedRevision'] as core.String?, + latestReadyRevision: json_['latestReadyRevision'] as core.String?, + launchStage: json_['launchStage'] as core.String?, + name: json_['name'] as core.String?, + observedGeneration: json_['observedGeneration'] as core.String?, + reconciling: json_['reconciling'] as core.bool?, + satisfiesPzs: json_['satisfiesPzs'] as core.bool?, + scaling: json_.containsKey('scaling') + ? GoogleCloudRunV2WorkerPoolScaling.fromJson( + json_['scaling'] as core.Map) + : null, + template: json_.containsKey('template') + ? GoogleCloudRunV2WorkerPoolRevisionTemplate.fromJson( + json_['template'] as core.Map) + : null, + terminalCondition: json_.containsKey('terminalCondition') + ? GoogleCloudRunV2Condition.fromJson(json_['terminalCondition'] + as core.Map) + : null, + uid: json_['uid'] as core.String?, + updateTime: json_['updateTime'] as core.String?, ); core.Map toJson() => { - if (percent != null) 'percent': percent!, - if (revision != null) 'revision': revision!, - if (tag != null) 'tag': tag!, - if (type != null) 'type': type!, - if (uri != null) 'uri': uri!, + if (annotations != null) 'annotations': annotations!, + if (binaryAuthorization != null) + 'binaryAuthorization': binaryAuthorization!, + if (client != null) 'client': client!, + if (clientVersion != null) 'clientVersion': clientVersion!, + if (conditions != null) 'conditions': conditions!, + if (createTime != null) 'createTime': createTime!, + if (creator != null) 'creator': creator!, + if (customAudiences != null) 'customAudiences': customAudiences!, + if (deleteTime != null) 'deleteTime': deleteTime!, + if (description != null) 'description': description!, + if (etag != null) 'etag': etag!, + if (expireTime != null) 'expireTime': expireTime!, + if (generation != null) 'generation': generation!, + if (instanceSplitStatuses != null) + 'instanceSplitStatuses': instanceSplitStatuses!, + if (instanceSplits != null) 'instanceSplits': instanceSplits!, + if (labels != null) 'labels': labels!, + if (lastModifier != null) 'lastModifier': lastModifier!, + if (latestCreatedRevision != null) + 'latestCreatedRevision': latestCreatedRevision!, + if (latestReadyRevision != null) + 'latestReadyRevision': latestReadyRevision!, + if (launchStage != null) 'launchStage': launchStage!, + if (name != null) 'name': name!, + if (observedGeneration != null) + 'observedGeneration': observedGeneration!, + if (reconciling != null) 'reconciling': reconciling!, + if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, + if (scaling != null) 'scaling': scaling!, + if (template != null) 'template': template!, + if (terminalCondition != null) 'terminalCondition': terminalCondition!, + if (uid != null) 'uid': uid!, + if (updateTime != null) 'updateTime': updateTime!, }; } -/// VersionToPath maps a specific version of a secret to a relative file to -/// mount to, relative to VolumeMount's mount_path. -class GoogleCloudRunV2VersionToPath { - /// Integer octal mode bits to use on this file, must be a value between 01 - /// and 0777 (octal). +/// WorkerPoolRevisionTemplate describes the data a worker pool revision should +/// have when created from a template. +class GoogleCloudRunV2WorkerPoolRevisionTemplate { + /// Unstructured key value map that may be set by external tools to store and + /// arbitrary metadata. /// - /// If 0 or not set, the Volume's default mode will be used. Notes * - /// Internally, a umask of 0222 will be applied to any non-zero value. * This - /// is an integer representation of the mode bits. So, the octal integer value - /// should look exactly as the chmod numeric notation with a leading zero. - /// Some examples: for chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 - /// (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 - /// (base-10). * This might be in conflict with other options that affect the - /// file mode, like fsGroup, and the result can be other mode bits set. - core.int? mode; + /// They are not queryable and should be preserved when modifying objects. + /// Cloud Run API v2 does not support annotations with `run.googleapis.com`, + /// `cloud.googleapis.com`, `serving.knative.dev`, or + /// `autoscaling.knative.dev` namespaces, and they will be rejected. All + /// system annotations in v1 now have a corresponding field in v2 + /// WorkerPoolRevisionTemplate. This field follows Kubernetes annotations' + /// namespacing, limits, and rules. + /// + /// Optional. + core.Map? annotations; - /// The relative path of the secret in the container. + /// Holds list of the containers that defines the unit of execution for this + /// Revision. + core.List? containers; + + /// A reference to a customer managed encryption key (CMEK) to use to encrypt + /// this container image. /// - /// Required. - core.String? path; + /// For more information, go to + /// https://cloud.google.com/run/docs/securing/using-cmek + core.String? encryptionKey; - /// The Cloud Secret Manager secret version. + /// The action to take if the encryption key is revoked. /// - /// Can be 'latest' for the latest value, or an integer or a secret alias for - /// a specific version. - core.String? version; + /// Optional. + /// Possible string values are: + /// - "ENCRYPTION_KEY_REVOCATION_ACTION_UNSPECIFIED" : Unspecified + /// - "PREVENT_NEW" : Prevents the creation of new instances. + /// - "SHUTDOWN" : Shuts down existing instances, and prevents creation of new + /// ones. + core.String? encryptionKeyRevocationAction; - GoogleCloudRunV2VersionToPath({ - this.mode, - this.path, - this.version, - }); + /// If encryption_key_revocation_action is SHUTDOWN, the duration before + /// shutting down all instances. + /// + /// The minimum increment is 1 hour. + /// + /// Optional. + core.String? encryptionKeyShutdownDuration; - GoogleCloudRunV2VersionToPath.fromJson(core.Map json_) - : this( - mode: json_['mode'] as core.int?, - path: json_['path'] as core.String?, - version: json_['version'] as core.String?, - ); + /// Unstructured key value map that can be used to organize and categorize + /// objects. + /// + /// User-provided labels are shared with Google's billing system, so they can + /// be used to filter, or break down billing charges by team, component, + /// environment, state, etc. For more information, visit + /// https://cloud.google.com/resource-manager/docs/creating-managing-labels or + /// https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 + /// does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, + /// `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they + /// will be rejected. All system labels in v1 now have a corresponding field + /// in v2 WorkerPoolRevisionTemplate. + /// + /// Optional. + core.Map? labels; - core.Map toJson() => { - if (mode != null) 'mode': mode!, - if (path != null) 'path': path!, - if (version != null) 'version': version!, - }; -} + /// The node selector for the revision template. + /// + /// Optional. + GoogleCloudRunV2NodeSelector? nodeSelector; -/// Volume represents a named volume in a container. -class GoogleCloudRunV2Volume { - /// For Cloud SQL volumes, contains the specific instances that should be - /// mounted. + /// The unique name for the revision. /// - /// Visit https://cloud.google.com/sql/docs/mysql/connect-run for more - /// information on how to connect Cloud SQL and Cloud Run. - GoogleCloudRunV2CloudSqlInstance? cloudSqlInstance; + /// If this field is omitted, it will be automatically generated based on the + /// WorkerPool name. + /// + /// Optional. + core.String? revision; - /// Ephemeral storage used as a shared volume. - GoogleCloudRunV2EmptyDirVolumeSource? emptyDir; + /// Email address of the IAM service account associated with the revision of + /// the service. + /// + /// The service account represents the identity of the running revision, and + /// determines what permissions the revision has. If not provided, the + /// revision will use the project's default service account. + /// + /// Optional. + core.String? serviceAccount; - /// Persistent storage backed by a Google Cloud Storage bucket. - GoogleCloudRunV2GCSVolumeSource? gcs; + /// Enables service mesh connectivity. + /// + /// Optional. + GoogleCloudRunV2ServiceMesh? serviceMesh; - /// Volume's name. + /// Enable session affinity. /// - /// Required. - core.String? name; + /// Optional. + core.bool? sessionAffinity; - /// For NFS Voumes, contains the path to the nfs Volume - GoogleCloudRunV2NFSVolumeSource? nfs; + /// A list of Volumes to make available to containers. + /// + /// Optional. + core.List? volumes; - /// Secret represents a secret that should populate this volume. - GoogleCloudRunV2SecretVolumeSource? secret; + /// VPC Access configuration to use for this Revision. + /// + /// For more information, visit + /// https://cloud.google.com/run/docs/configuring/connecting-vpc. + /// + /// Optional. + GoogleCloudRunV2VpcAccess? vpcAccess; - GoogleCloudRunV2Volume({ - this.cloudSqlInstance, - this.emptyDir, - this.gcs, - this.name, - this.nfs, - this.secret, + GoogleCloudRunV2WorkerPoolRevisionTemplate({ + this.annotations, + this.containers, + this.encryptionKey, + this.encryptionKeyRevocationAction, + this.encryptionKeyShutdownDuration, + this.labels, + this.nodeSelector, + this.revision, + this.serviceAccount, + this.serviceMesh, + this.sessionAffinity, + this.volumes, + this.vpcAccess, }); - GoogleCloudRunV2Volume.fromJson(core.Map json_) + GoogleCloudRunV2WorkerPoolRevisionTemplate.fromJson(core.Map json_) : this( - cloudSqlInstance: json_.containsKey('cloudSqlInstance') - ? GoogleCloudRunV2CloudSqlInstance.fromJson( - json_['cloudSqlInstance'] - as core.Map) - : null, - emptyDir: json_.containsKey('emptyDir') - ? GoogleCloudRunV2EmptyDirVolumeSource.fromJson( - json_['emptyDir'] as core.Map) - : null, - gcs: json_.containsKey('gcs') - ? GoogleCloudRunV2GCSVolumeSource.fromJson( - json_['gcs'] as core.Map) + annotations: + (json_['annotations'] as core.Map?) + ?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + containers: (json_['containers'] as core.List?) + ?.map((value) => GoogleCloudRunV2Container.fromJson( + value as core.Map)) + .toList(), + encryptionKey: json_['encryptionKey'] as core.String?, + encryptionKeyRevocationAction: + json_['encryptionKeyRevocationAction'] as core.String?, + encryptionKeyShutdownDuration: + json_['encryptionKeyShutdownDuration'] as core.String?, + labels: + (json_['labels'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + nodeSelector: json_.containsKey('nodeSelector') + ? GoogleCloudRunV2NodeSelector.fromJson( + json_['nodeSelector'] as core.Map) : null, - name: json_['name'] as core.String?, - nfs: json_.containsKey('nfs') - ? GoogleCloudRunV2NFSVolumeSource.fromJson( - json_['nfs'] as core.Map) + revision: json_['revision'] as core.String?, + serviceAccount: json_['serviceAccount'] as core.String?, + serviceMesh: json_.containsKey('serviceMesh') + ? GoogleCloudRunV2ServiceMesh.fromJson( + json_['serviceMesh'] as core.Map) : null, - secret: json_.containsKey('secret') - ? GoogleCloudRunV2SecretVolumeSource.fromJson( - json_['secret'] as core.Map) + sessionAffinity: json_['sessionAffinity'] as core.bool?, + volumes: (json_['volumes'] as core.List?) + ?.map((value) => GoogleCloudRunV2Volume.fromJson( + value as core.Map)) + .toList(), + vpcAccess: json_.containsKey('vpcAccess') + ? GoogleCloudRunV2VpcAccess.fromJson( + json_['vpcAccess'] as core.Map) : null, ); core.Map toJson() => { - if (cloudSqlInstance != null) 'cloudSqlInstance': cloudSqlInstance!, - if (emptyDir != null) 'emptyDir': emptyDir!, - if (gcs != null) 'gcs': gcs!, - if (name != null) 'name': name!, - if (nfs != null) 'nfs': nfs!, - if (secret != null) 'secret': secret!, + if (annotations != null) 'annotations': annotations!, + if (containers != null) 'containers': containers!, + if (encryptionKey != null) 'encryptionKey': encryptionKey!, + if (encryptionKeyRevocationAction != null) + 'encryptionKeyRevocationAction': encryptionKeyRevocationAction!, + if (encryptionKeyShutdownDuration != null) + 'encryptionKeyShutdownDuration': encryptionKeyShutdownDuration!, + if (labels != null) 'labels': labels!, + if (nodeSelector != null) 'nodeSelector': nodeSelector!, + if (revision != null) 'revision': revision!, + if (serviceAccount != null) 'serviceAccount': serviceAccount!, + if (serviceMesh != null) 'serviceMesh': serviceMesh!, + if (sessionAffinity != null) 'sessionAffinity': sessionAffinity!, + if (volumes != null) 'volumes': volumes!, + if (vpcAccess != null) 'vpcAccess': vpcAccess!, }; } -/// VolumeMount describes a mounting of a Volume within a container. -class GoogleCloudRunV2VolumeMount { - /// Path within the container at which the volume should be mounted. - /// - /// Must not contain ':'. For Cloud SQL volumes, it can be left empty, or must - /// otherwise be `/cloudsql`. All instances defined in the Volume will be - /// available as `/cloudsql/[instance]`. For more information on Cloud SQL - /// volumes, visit https://cloud.google.com/sql/docs/mysql/connect-run +/// Worker pool scaling settings. +class GoogleCloudRunV2WorkerPoolScaling { + /// The total number of instances in manual scaling mode. /// - /// Required. - core.String? mountPath; + /// Optional. + core.int? manualInstanceCount; - /// This must match the Name of a Volume. + /// The maximum count of instances distributed among revisions based on the + /// specified instance split percentages. /// - /// Required. - core.String? name; - - GoogleCloudRunV2VolumeMount({ - this.mountPath, - this.name, - }); - - GoogleCloudRunV2VolumeMount.fromJson(core.Map json_) - : this( - mountPath: json_['mountPath'] as core.String?, - name: json_['name'] as core.String?, - ); - - core.Map toJson() => { - if (mountPath != null) 'mountPath': mountPath!, - if (name != null) 'name': name!, - }; -} + /// Optional. + core.int? maxInstanceCount; -/// VPC Access settings. -/// -/// For more information on sending traffic to a VPC network, visit -/// https://cloud.google.com/run/docs/configuring/connecting-vpc. -class GoogleCloudRunV2VpcAccess { - /// VPC Access connector name. + /// A maximum percentage of instances that will be moved in each step of + /// traffic split changes. /// - /// Format: `projects/{project}/locations/{location}/connectors/{connector}`, - /// where `{project}` can be project id or number. For more information on - /// sending traffic to a VPC network via a connector, visit - /// https://cloud.google.com/run/docs/configuring/vpc-connectors. - core.String? connector; + /// When set to a positive value, the server will bring up, at most, that + /// percentage of new instances at a time before moving traffic to them. After + /// moving traffic, the server will bring down instances of the old revision. + /// This can reduce a spike of total active instances during changes from one + /// revision to another but specifying how many extra instances can be brought + /// up at a time. + /// + /// Optional. + core.int? maxSurge; - /// Traffic VPC egress settings. + /// A maximum percentage of instances that may be unavailable during changes + /// from one revision to another. /// - /// If not provided, it defaults to PRIVATE_RANGES_ONLY. + /// When set to a positive value, the server may bring down instances before + /// bringing up new instances. This can prevent a spike of total active + /// instances during changes from one revision by reducing the pool of + /// instances before bringing up new ones. Some requests may be slow or fail + /// to serve during the transition. /// /// Optional. - /// Possible string values are: - /// - "VPC_EGRESS_UNSPECIFIED" : Unspecified - /// - "ALL_TRAFFIC" : All outbound traffic is routed through the VPC - /// connector. - /// - "PRIVATE_RANGES_ONLY" : Only private IP ranges are routed through the - /// VPC connector. - core.String? egress; + core.int? maxUnavailable; - /// Direct VPC egress settings. + /// The minimum count of instances distributed among revisions based on the + /// specified instance split percentages. /// - /// Currently only single network interface is supported. + /// Optional. + core.int? minInstanceCount; + + /// The scaling mode for the worker pool. /// /// Optional. - core.List? networkInterfaces; + /// Possible string values are: + /// - "SCALING_MODE_UNSPECIFIED" : Unspecified. + /// - "AUTOMATIC" : Automatically scale between min and max instances. + /// - "MANUAL" : Scale to exactly min instances and ignore the max instances. + core.String? scalingMode; - GoogleCloudRunV2VpcAccess({ - this.connector, - this.egress, - this.networkInterfaces, + GoogleCloudRunV2WorkerPoolScaling({ + this.manualInstanceCount, + this.maxInstanceCount, + this.maxSurge, + this.maxUnavailable, + this.minInstanceCount, + this.scalingMode, }); - GoogleCloudRunV2VpcAccess.fromJson(core.Map json_) + GoogleCloudRunV2WorkerPoolScaling.fromJson(core.Map json_) : this( - connector: json_['connector'] as core.String?, - egress: json_['egress'] as core.String?, - networkInterfaces: (json_['networkInterfaces'] as core.List?) - ?.map((value) => GoogleCloudRunV2NetworkInterface.fromJson( - value as core.Map)) - .toList(), + manualInstanceCount: json_['manualInstanceCount'] as core.int?, + maxInstanceCount: json_['maxInstanceCount'] as core.int?, + maxSurge: json_['maxSurge'] as core.int?, + maxUnavailable: json_['maxUnavailable'] as core.int?, + minInstanceCount: json_['minInstanceCount'] as core.int?, + scalingMode: json_['scalingMode'] as core.String?, ); core.Map toJson() => { - if (connector != null) 'connector': connector!, - if (egress != null) 'egress': egress!, - if (networkInterfaces != null) 'networkInterfaces': networkInterfaces!, + if (manualInstanceCount != null) + 'manualInstanceCount': manualInstanceCount!, + if (maxInstanceCount != null) 'maxInstanceCount': maxInstanceCount!, + if (maxSurge != null) 'maxSurge': maxSurge!, + if (maxUnavailable != null) 'maxUnavailable': maxUnavailable!, + if (minInstanceCount != null) 'minInstanceCount': minInstanceCount!, + if (scalingMode != null) 'scalingMode': scalingMode!, }; } @@ -6997,23 +8555,30 @@ class UtilStatusProto { /// to this status. /// /// This may be missing, and in the common case of the generic space, it - /// definitely will be. + /// definitely will be. copybara:strip_begin(b/383363683) + /// copybara:strip_end_and_replace optional int32 canonical_code = 6; core.int? canonicalCode; /// Numeric code drawn from the space specified below. /// /// Often, this is the canonical error space, and code is drawn from - /// google3/util/task/codes.proto + /// google3/util/task/codes.proto copybara:strip_begin(b/383363683) + /// copybara:strip_end_and_replace optional int32 code = 1; core.int? code; - /// Detail message + /// Detail message copybara:strip_begin(b/383363683) + /// copybara:strip_end_and_replace optional string message = 3; core.String? message; /// message_set associates an arbitrary proto message with the status. + /// + /// copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional + /// proto2.bridge.MessageSet message_set = 5; Proto2BridgeMessageSet? messageSet; /// The following are usually only present when code != 0 Space to which this - /// status belongs + /// status belongs copybara:strip_begin(b/383363683) + /// copybara:strip_end_and_replace optional string space = 2; core.String? space; UtilStatusProto({ diff --git a/generated/googleapis/lib/script/v1.dart b/generated/googleapis/lib/script/v1.dart index 309968cb9..943492118 100644 --- a/generated/googleapis/lib/script/v1.dart +++ b/generated/googleapis/lib/script/v1.dart @@ -906,20 +906,6 @@ class ScriptsResource { ScriptsResource(commons.ApiRequester client) : _requester = client; - /// Runs a function in an Apps Script project. - /// - /// The script project must be deployed for use with the Apps Script API and - /// the calling application must share the same Cloud Platform project. This - /// method requires authorization with an OAuth 2.0 token that includes at - /// least one of the scopes listed in the - /// \[Authorization\](#authorization-scopes) section; script projects that do - /// not require authorization cannot be executed through this API. To find the - /// correct scopes to include in the authentication token, open the script - /// project **Overview** page and scroll down to "Project OAuth Scopes." The - /// error `403, PERMISSION_DENIED: The caller does not have permission` - /// indicates that the Cloud Platform project used to authorize the request is - /// not the same as the one used by the script. - /// /// [request] - The metadata request object. /// /// Request parameters: diff --git a/generated/googleapis/lib/searchconsole/v1.dart b/generated/googleapis/lib/searchconsole/v1.dart index 1faace0dd..f65c0637a 100644 --- a/generated/googleapis/lib/searchconsole/v1.dart +++ b/generated/googleapis/lib/searchconsole/v1.dart @@ -1717,6 +1717,9 @@ class UrlInspectionResult { core.String? inspectionResultLink; /// Result of the Mobile usability analysis. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) MobileUsabilityInspectionResult? mobileUsabilityResult; /// Result of the Rich Results analysis. diff --git a/generated/googleapis/lib/securitycenter/v1.dart b/generated/googleapis/lib/securitycenter/v1.dart index a7994f3c9..83807ec6e 100644 --- a/generated/googleapis/lib/securitycenter/v1.dart +++ b/generated/googleapis/lib/securitycenter/v1.dart @@ -9944,6 +9944,30 @@ class AdaptiveProtection { }; } +/// Allowed IP rule. +class Allowed { + /// Optional list of allowed IP rules. + /// + /// Optional. + core.List? ipRules; + + Allowed({ + this.ipRules, + }); + + Allowed.fromJson(core.Map json_) + : this( + ipRules: (json_['ipRules'] as core.List?) + ?.map((value) => + IpRule.fromJson(value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (ipRules != null) 'ipRules': ipRules!, + }; +} + /// Represents an application associated with a finding. class Application { /// The base URI that identifies the network location of the application in @@ -10131,28 +10155,50 @@ class Attack { core.String? classification; /// Total BPS (bytes per second) volume of attack. + /// + /// Deprecated - refer to volume_bps_long instead. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) core.int? volumeBps; + /// Total BPS (bytes per second) volume of attack. + core.String? volumeBpsLong; + /// Total PPS (packets per second) volume of attack. + /// + /// Deprecated - refer to volume_pps_long instead. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) core.int? volumePps; + /// Total PPS (packets per second) volume of attack. + core.String? volumePpsLong; + Attack({ this.classification, this.volumeBps, + this.volumeBpsLong, this.volumePps, + this.volumePpsLong, }); Attack.fromJson(core.Map json_) : this( classification: json_['classification'] as core.String?, volumeBps: json_['volumeBps'] as core.int?, + volumeBpsLong: json_['volumeBpsLong'] as core.String?, volumePps: json_['volumePps'] as core.int?, + volumePpsLong: json_['volumePpsLong'] as core.String?, ); core.Map toJson() => { if (classification != null) 'classification': classification!, if (volumeBps != null) 'volumeBps': volumeBps!, + if (volumeBpsLong != null) 'volumeBpsLong': volumeBpsLong!, if (volumePps != null) 'volumePps': volumePps!, + if (volumePpsLong != null) 'volumePpsLong': volumePpsLong!, }; } @@ -11959,7 +12005,7 @@ class DataRetentionDeletionEvent { /// Maximum duration of retention allowed from the DRD control. /// /// This comes from the DRD control where users set a max TTL for their data. - /// For example, suppose that a user set the max TTL for a Cloud Storage + /// For example, suppose that a user sets the max TTL for a Cloud Storage /// bucket to 90 days. However, an object in that bucket is 100 days old. In /// this case, a DataRetentionDeletionEvent will be generated for that Cloud /// Storage bucket, and the max_retention_allowed is 90 days. @@ -12063,6 +12109,30 @@ class Database { }; } +/// Denied IP rule. +class Denied { + /// Optional list of denied IP rules. + /// + /// Optional. + core.List? ipRules; + + Denied({ + this.ipRules, + }); + + Denied.fromJson(core.Map json_) + : this( + ipRules: (json_['ipRules'] as core.List?) + ?.map((value) => + IpRule.fromJson(value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (ipRules != null) 'ipRules': ipRules!, + }; +} + /// Memory hash detection contributing to the binary family match. class Detection { /// The name of the binary associated with the memory hash signature @@ -12094,7 +12164,7 @@ class Detection { /// Contains information about the disk associated with the finding. class Disk { /// The name of the disk, for example, - /// "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone-id/disks/disk-id". + /// "https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}". core.String? name; Disk({ @@ -12746,6 +12816,12 @@ class Finding { /// [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). Indicator? indicator; + /// IP rules associated with the finding. + IpRules? ipRules; + + /// Job associated with the finding. + Job? job; + /// Signature of the kernel rootkit. KernelRootkit? kernelRootkit; @@ -12806,6 +12882,9 @@ class Finding { /// "projects/{project_id}/sources/{source_id}/findings/{finding_id}". core.String? name; + /// Represents the VPC networks that the resource is attached to. + core.List? networks; + /// Steps to address the finding. core.String? nextSteps; @@ -12959,6 +13038,8 @@ class Finding { this.groupMemberships, this.iamBindings, this.indicator, + this.ipRules, + this.job, this.kernelRootkit, this.kubernetes, this.loadBalancers, @@ -12970,6 +13051,7 @@ class Finding { this.muteInitiator, this.muteUpdateTime, this.name, + this.networks, this.nextSteps, this.notebook, this.orgPolicies, @@ -13093,6 +13175,14 @@ class Finding { ? Indicator.fromJson( json_['indicator'] as core.Map) : null, + ipRules: json_.containsKey('ipRules') + ? IpRules.fromJson( + json_['ipRules'] as core.Map) + : null, + job: json_.containsKey('job') + ? Job.fromJson( + json_['job'] as core.Map) + : null, kernelRootkit: json_.containsKey('kernelRootkit') ? KernelRootkit.fromJson( json_['kernelRootkit'] as core.Map) @@ -13122,6 +13212,10 @@ class Finding { muteInitiator: json_['muteInitiator'] as core.String?, muteUpdateTime: json_['muteUpdateTime'] as core.String?, name: json_['name'] as core.String?, + networks: (json_['networks'] as core.List?) + ?.map((value) => Network.fromJson( + value as core.Map)) + .toList(), nextSteps: json_['nextSteps'] as core.String?, notebook: json_.containsKey('notebook') ? Notebook.fromJson( @@ -13195,6 +13289,8 @@ class Finding { if (groupMemberships != null) 'groupMemberships': groupMemberships!, if (iamBindings != null) 'iamBindings': iamBindings!, if (indicator != null) 'indicator': indicator!, + if (ipRules != null) 'ipRules': ipRules!, + if (job != null) 'job': job!, if (kernelRootkit != null) 'kernelRootkit': kernelRootkit!, if (kubernetes != null) 'kubernetes': kubernetes!, if (loadBalancers != null) 'loadBalancers': loadBalancers!, @@ -13206,6 +13302,7 @@ class Finding { if (muteInitiator != null) 'muteInitiator': muteInitiator!, if (muteUpdateTime != null) 'muteUpdateTime': muteUpdateTime!, if (name != null) 'name': name!, + if (networks != null) 'networks': networks!, if (nextSteps != null) 'nextSteps': nextSteps!, if (notebook != null) 'notebook': notebook!, if (orgPolicies != null) 'orgPolicies': orgPolicies!, @@ -14719,6 +14816,171 @@ class Indicator { }; } +/// IP rule information. +class IpRule { + /// An optional list of ports to which this rule applies. + /// + /// This field is only applicable for the UDP or (S)TCP protocols. Each entry + /// must be either an integer or a range including a min and max port number. + /// + /// Optional. + core.List? portRanges; + + /// The IP protocol this rule applies to. + /// + /// This value can either be one of the following well known protocol strings + /// (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the + /// integer value. + core.String? protocol; + + IpRule({ + this.portRanges, + this.protocol, + }); + + IpRule.fromJson(core.Map json_) + : this( + portRanges: (json_['portRanges'] as core.List?) + ?.map((value) => PortRange.fromJson( + value as core.Map)) + .toList(), + protocol: json_['protocol'] as core.String?, + ); + + core.Map toJson() => { + if (portRanges != null) 'portRanges': portRanges!, + if (protocol != null) 'protocol': protocol!, + }; +} + +/// IP rules associated with the finding. +class IpRules { + /// Tuple with allowed rules. + Allowed? allowed; + + /// Tuple with denied rules. + Denied? denied; + + /// If destination IP ranges are specified, the firewall rule applies only to + /// traffic that has a destination IP address in these ranges. + /// + /// These ranges must be expressed in CIDR format. Only supports IPv4. + core.List? destinationIpRanges; + + /// The direction that the rule is applicable to, one of ingress or egress. + /// Possible string values are: + /// - "DIRECTION_UNSPECIFIED" : Unspecified direction value. + /// - "INGRESS" : Ingress direction value. + /// - "EGRESS" : Egress direction value. + core.String? direction; + + /// Name of the network protocol service, such as FTP, that is exposed by the + /// open port. + /// + /// Follows the naming convention available at: + /// https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. + core.List? exposedServices; + + /// If source IP ranges are specified, the firewall rule applies only to + /// traffic that has a source IP address in these ranges. + /// + /// These ranges must be expressed in CIDR format. Only supports IPv4. + core.List? sourceIpRanges; + + IpRules({ + this.allowed, + this.denied, + this.destinationIpRanges, + this.direction, + this.exposedServices, + this.sourceIpRanges, + }); + + IpRules.fromJson(core.Map json_) + : this( + allowed: json_.containsKey('allowed') + ? Allowed.fromJson( + json_['allowed'] as core.Map) + : null, + denied: json_.containsKey('denied') + ? Denied.fromJson( + json_['denied'] as core.Map) + : null, + destinationIpRanges: (json_['destinationIpRanges'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + direction: json_['direction'] as core.String?, + exposedServices: (json_['exposedServices'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + sourceIpRanges: (json_['sourceIpRanges'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (allowed != null) 'allowed': allowed!, + if (denied != null) 'denied': denied!, + if (destinationIpRanges != null) + 'destinationIpRanges': destinationIpRanges!, + if (direction != null) 'direction': direction!, + if (exposedServices != null) 'exposedServices': exposedServices!, + if (sourceIpRanges != null) 'sourceIpRanges': sourceIpRanges!, + }; +} + +/// Describes a job +class Job { + /// If the job did not complete successfully, this field describes why. + /// + /// Optional. + core.int? errorCode; + + /// Gives the location where the job ran, such as `US` or `europe-west1` + /// + /// Optional. + core.String? location; + + /// The fully-qualified name for a job. + /// + /// e.g. `projects//jobs/` + core.String? name; + + /// State of the job, such as `RUNNING` or `PENDING`. + /// + /// Output only. + /// Possible string values are: + /// - "JOB_STATE_UNSPECIFIED" : Unspecified represents an unknown state and + /// should not be used. + /// - "PENDING" : Job is scheduled and pending for run + /// - "RUNNING" : Job in progress + /// - "SUCCEEDED" : Job has completed with success + /// - "FAILED" : Job has completed but with failure + core.String? state; + + Job({ + this.errorCode, + this.location, + this.name, + this.state, + }); + + Job.fromJson(core.Map json_) + : this( + errorCode: json_['errorCode'] as core.int?, + location: json_['location'] as core.String?, + name: json_['name'] as core.String?, + state: json_['state'] as core.String?, + ); + + core.Map toJson() => { + if (errorCode != null) 'errorCode': errorCode!, + if (location != null) 'location': location!, + if (name != null) 'name': name!, + if (state != null) 'state': state!, + }; +} + /// Kernel mode rootkit signatures. class KernelRootkit { /// Rootkit name, when available. @@ -15741,6 +16003,26 @@ class MuteInfo { }; } +/// Contains information about a VPC network associated with the finding. +class Network { + /// The name of the VPC network resource, for example, + /// `//compute.googleapis.com/projects/my-project/global/networks/my-network`. + core.String? name; + + Network({ + this.name, + }); + + Network.fromJson(core.Map json_) + : this( + name: json_['name'] as core.String?, + ); + + core.Map toJson() => { + if (name != null) 'name': name!, + }; +} + /// Kubernetes nodes associated with the finding. class Node { /// [Full resource name](https://google.aip.dev/122#full-resource-names) of @@ -16354,6 +16636,35 @@ class PolicyDriftDetails { }; } +/// A port range which is inclusive of the min and max values. +/// +/// Values are between 0 and 2^16-1. The max can be equal / must be not smaller +/// than the min value. If min and max are equal this indicates that it is a +/// single port. +class PortRange { + /// Maximum port value. + core.String? max; + + /// Minimum port value. + core.String? min; + + PortRange({ + this.max, + this.min, + }); + + PortRange.fromJson(core.Map json_) + : this( + max: json_['max'] as core.String?, + min: json_['min'] as core.String?, + ); + + core.Map toJson() => { + if (max != null) 'max': max!, + if (min != null) 'min': min!, + }; +} + /// A position in the uploaded text version of a module. class Position { core.int? columnNumber; diff --git a/generated/googleapis/lib/securityposture/v1.dart b/generated/googleapis/lib/securityposture/v1.dart index 9e420328a..038ac8e19 100644 --- a/generated/googleapis/lib/securityposture/v1.dart +++ b/generated/googleapis/lib/securityposture/v1.dart @@ -1712,9 +1712,9 @@ class GoogleCloudSecuritypostureV1PolicyRule { /// Valid only for boolean constraints. core.bool? enforce; - /// Required for GMCs if parameters defined in constraints. + /// Required for managed constraints if parameters are defined. /// - /// Pass parameter values when policy enforcement is enabled. Ensure that + /// Passes parameter values when policy enforcement is enabled. Ensure that /// parameter value types match those defined in the constraint definition. /// For example: { "allowedLocations" : \["us-east1", "us-west1"\], "allowAll" /// : true } @@ -1725,8 +1725,10 @@ class GoogleCloudSecuritypostureV1PolicyRule { /// `String`, `bool` and `null` as well as `Map` and `List` values. core.Map? parameters; - /// The resource types policy can support, only used for Google managed - /// constraint and method type is GOVERN_TAGS. + /// The resource types policies can support, only used for managed + /// constraints. + /// + /// Method type is `GOVERN_TAGS`. /// /// Optional. ResourceTypes? resourceTypes; @@ -2967,15 +2969,15 @@ class ResourceSelector { }; } -/// Set multiple resource types for one policy, eg: resourceTypes: included: - -/// compute.googleapis.com/Instance - compute.googleapis.com/Disk Constraint -/// definition contains an empty resource type in order to support multiple -/// resource types in the policy. +/// Set multiple resource types for one policy, for example: resourceTypes: +/// included: - compute.googleapis.com/Instance - compute.googleapis.com/Disk +/// Constraint definition contains an empty resource type in order to support +/// multiple resource types in the policy. /// -/// Only support Google managed constriaint and method type is GOVERN_TAGS Refer +/// Only supports managed constraints. Method type is `GOVERN_TAGS`. Refer /// go/multi-resource-support-force-tags-gmc to get more details. class ResourceTypes { - /// The resource type we currently support. + /// The resource types we currently support. /// /// cloud/orgpolicy/customconstraintconfig/prod/resource_types.prototext /// diff --git a/generated/googleapis/lib/servicecontrol/v1.dart b/generated/googleapis/lib/servicecontrol/v1.dart index 80c1f3f80..27d151794 100644 --- a/generated/googleapis/lib/servicecontrol/v1.dart +++ b/generated/googleapis/lib/servicecontrol/v1.dart @@ -389,8 +389,8 @@ class Attributes { /// Each attribute's key can be up to 128 bytes long. The value can be a /// string up to 256 bytes, a signed 64-bit integer, or the Boolean values /// `true` and `false`. For example: "/instance_id": "my-instance" - /// "/http/user_agent": "" "/http/request_bytes": 300 "abc.com/myattribute": - /// true + /// "/http/user_agent": "" "/http/request_bytes": 300 + /// "example.com/myattribute": true core.Map? attributeMap; /// The number of attributes that were discarded. @@ -492,9 +492,10 @@ class CheckError { /// backend server is unavailable. /// - "SECURITY_POLICY_BACKEND_UNAVAILABLE" : NOTE: for customers in the scope /// of Beta/GA of https://cloud.google.com/vpc-service-controls, this error is - /// no longer returned. If the security backend is unavailable, rpc - /// UNAVAILABLE status will be returned instead. It should be ignored and - /// should not be used to reject client requests. + /// no longer returned. If the security backend is unavailable: For Fail open + /// requests, error is ignored and request is allowed. For Fail close + /// requests, rpc UNAVAILABLE status will be returned instead. It should be + /// ignored and should not be used to reject client requests. /// - "LOCATION_POLICY_BACKEND_UNAVAILABLE" : Backend server for evaluating /// location policy is unavailable. /// - "INJECTED_ERROR" : Part of the project of fault injection: @@ -1027,7 +1028,7 @@ class HttpRequest { core.String? protocol; /// The referer URL of the request, as defined in - /// [HTTP/1.1 Header Field Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). + /// [HTTP/1.1 Header Field Definitions](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). core.String? referer; /// The IP address (IPv4 or IPv6) of the client that issued the HTTP request. diff --git a/generated/googleapis/lib/servicecontrol/v2.dart b/generated/googleapis/lib/servicecontrol/v2.dart index 83e5b18ad..992a6a0c9 100644 --- a/generated/googleapis/lib/servicecontrol/v2.dart +++ b/generated/googleapis/lib/servicecontrol/v2.dart @@ -389,13 +389,6 @@ class Auth { /// `String`, `bool` and `null` as well as `Map` and `List` values. core.Map? claims; - /// Identifies the client credential id used for authentication. - /// - /// credential_id is in the format of AUTH_METHOD:IDENTIFIER, e.g. - /// "serviceaccount:XXXXX, apikey:XXXXX" where the format of the IDENTIFIER - /// can vary for different AUTH_METHODs. - core.String? credentialId; - /// The authorized presenter of the credential. /// /// Reflects the optional Authorized Presenter (`azp`) claim within a JWT or @@ -415,7 +408,6 @@ class Auth { this.accessLevels, this.audiences, this.claims, - this.credentialId, this.presenter, this.principal, }); @@ -431,7 +423,6 @@ class Auth { claims: json_.containsKey('claims') ? json_['claims'] as core.Map : null, - credentialId: json_['credentialId'] as core.String?, presenter: json_['presenter'] as core.String?, principal: json_['principal'] as core.String?, ); @@ -440,7 +431,6 @@ class Auth { if (accessLevels != null) 'accessLevels': accessLevels!, if (audiences != null) 'audiences': audiences!, if (claims != null) 'claims': claims!, - if (credentialId != null) 'credentialId': credentialId!, if (presenter != null) 'presenter': presenter!, if (principal != null) 'principal': principal!, }; @@ -698,6 +688,13 @@ class Request { /// The HTTP request method, such as `GET`, `POST`. core.String? method; + /// The values from Origin header from the HTTP request, such as + /// "https://console.cloud.google.com". + /// + /// Modern browsers can only have one origin. Special browsers and/or HTTP + /// clients may require multiple origins. + core.String? origin; + /// The HTTP URL path, excluding the query parameters. core.String? path; @@ -739,6 +736,7 @@ class Request { this.host, this.id, this.method, + this.origin, this.path, this.protocol, this.query, @@ -764,6 +762,7 @@ class Request { host: json_['host'] as core.String?, id: json_['id'] as core.String?, method: json_['method'] as core.String?, + origin: json_['origin'] as core.String?, path: json_['path'] as core.String?, protocol: json_['protocol'] as core.String?, query: json_['query'] as core.String?, @@ -779,6 +778,7 @@ class Request { if (host != null) 'host': host!, if (id != null) 'id': id!, if (method != null) 'method': method!, + if (origin != null) 'origin': origin!, if (path != null) 'path': path!, if (protocol != null) 'protocol': protocol!, if (query != null) 'query': query!, diff --git a/generated/googleapis/lib/servicemanagement/v1.dart b/generated/googleapis/lib/servicemanagement/v1.dart index 828de5f4f..13b2b33bc 100644 --- a/generated/googleapis/lib/servicemanagement/v1.dart +++ b/generated/googleapis/lib/servicemanagement/v1.dart @@ -1282,6 +1282,42 @@ class Api { }; } +/// Aspect represents Generic aspect. +/// +/// It is used to configure an aspect without making direct changes to +/// service.proto +class Aspect { + /// The type of this aspect configuration. + core.String? kind; + + /// Content of the configuration. + /// + /// The underlying schema should be defined by Aspect owners as protobuf + /// message under `apiserving/configaspects/proto`. + /// + /// The values for Object must be JSON objects. It can consist of `num`, + /// `String`, `bool` and `null` as well as `Map` and `List` values. + core.Map? spec; + + Aspect({ + this.kind, + this.spec, + }); + + Aspect.fromJson(core.Map json_) + : this( + kind: json_['kind'] as core.String?, + spec: json_.containsKey('spec') + ? json_['spec'] as core.Map + : null, + ); + + core.Map toJson() => { + if (kind != null) 'kind': kind!, + if (spec != null) 'spec': spec!, + }; +} + /// Specifies the audit configuration for a service. /// /// The configuration determines which permission types are logged, and what @@ -1587,6 +1623,13 @@ class BackendRule { /// to the backend. core.String? jwtAudience; + /// The load balancing policy used for connection to the application backend. + /// + /// Defined as an arbitrary string to accomondate custom load balancing + /// policies supported by the underlying channel, but suggest most users use + /// one of the standard policies, such as the default, "RoundRobin". + core.String? loadBalancingPolicy; + /// Deprecated, do not use. @core.Deprecated( 'Not supported. Member documentation may have more information.', @@ -1652,6 +1695,7 @@ class BackendRule { this.deadline, this.disableAuth, this.jwtAudience, + this.loadBalancingPolicy, this.minDeadline, this.operationDeadline, this.overridesByRequestProtocol, @@ -1666,6 +1710,7 @@ class BackendRule { deadline: (json_['deadline'] as core.num?)?.toDouble(), disableAuth: json_['disableAuth'] as core.bool?, jwtAudience: json_['jwtAudience'] as core.String?, + loadBalancingPolicy: json_['loadBalancingPolicy'] as core.String?, minDeadline: (json_['minDeadline'] as core.num?)?.toDouble(), operationDeadline: (json_['operationDeadline'] as core.num?)?.toDouble(), @@ -1688,6 +1733,8 @@ class BackendRule { if (deadline != null) 'deadline': deadline!, if (disableAuth != null) 'disableAuth': disableAuth!, if (jwtAudience != null) 'jwtAudience': jwtAudience!, + if (loadBalancingPolicy != null) + 'loadBalancingPolicy': loadBalancingPolicy!, if (minDeadline != null) 'minDeadline': minDeadline!, if (operationDeadline != null) 'operationDeadline': operationDeadline!, if (overridesByRequestProtocol != null) @@ -2599,8 +2646,7 @@ class Documentation { /// **NOTE:** All service configuration rules follow "last one wins" order. core.List? rules; - /// Specifies section and content to override boilerplate content provided by - /// go/api-docgen. + /// Specifies section and content to override the boilerplate content. /// /// Currently overrides following sections: 1. rest.service.client_libraries core.List? sectionOverrides; @@ -2890,9 +2936,18 @@ class ExperimentalFeatures { /// packages. core.bool? restAsyncIoEnabled; + /// Disables generation of an unversioned Python package for this client + /// library. + /// + /// This means that the module names will need to be versioned in import + /// statements. For example `import google.cloud.library_v2` instead of + /// `import google.cloud.library`. + core.bool? unversionedPackageDisabled; + ExperimentalFeatures({ this.protobufPythonicTypesEnabled, this.restAsyncIoEnabled, + this.unversionedPackageDisabled, }); ExperimentalFeatures.fromJson(core.Map json_) @@ -2900,6 +2955,8 @@ class ExperimentalFeatures { protobufPythonicTypesEnabled: json_['protobufPythonicTypesEnabled'] as core.bool?, restAsyncIoEnabled: json_['restAsyncIoEnabled'] as core.bool?, + unversionedPackageDisabled: + json_['unversionedPackageDisabled'] as core.bool?, ); core.Map toJson() => { @@ -2907,6 +2964,8 @@ class ExperimentalFeatures { 'protobufPythonicTypesEnabled': protobufPythonicTypesEnabled!, if (restAsyncIoEnabled != null) 'restAsyncIoEnabled': restAsyncIoEnabled!, + if (unversionedPackageDisabled != null) + 'unversionedPackageDisabled': unversionedPackageDisabled!, }; } @@ -4760,9 +4819,9 @@ typedef Option = $Option; class Page { /// The Markdown content of the page. /// - /// You can use (== include {path} ==) to include content from a Markdown - /// file. The content can be used to produce the documentation page such as - /// HTML format page. + /// You can use ```(== include {path} ==)``` to include content from a + /// Markdown file. The content can be used to produce the documentation page + /// such as HTML format page. core.String? content; /// The name of the page. @@ -5281,22 +5340,36 @@ class RubySettings { /// This message is used to configure the generation of a subset of the RPCs in /// a service for client libraries. class SelectiveGapicGeneration { + /// Setting this to true indicates to the client generators that methods that + /// would be excluded from the generation should instead be generated in a way + /// that indicates these methods should not be consumed by end users. + /// + /// How this is expressed is up to individual language implementations to + /// decide. Some examples may be: added annotations, obfuscated identifiers, + /// or other language idiomatic patterns. + core.bool? generateOmittedAsInternal; + /// An allowlist of the fully qualified names of RPCs that should be included /// on public client surfaces. core.List? methods; SelectiveGapicGeneration({ + this.generateOmittedAsInternal, this.methods, }); SelectiveGapicGeneration.fromJson(core.Map json_) : this( + generateOmittedAsInternal: + json_['generateOmittedAsInternal'] as core.bool?, methods: (json_['methods'] as core.List?) ?.map((value) => value as core.String) .toList(), ); core.Map toJson() => { + if (generateOmittedAsInternal != null) + 'generateOmittedAsInternal': generateOmittedAsInternal!, if (methods != null) 'methods': methods!, }; } @@ -5326,6 +5399,14 @@ class Service { /// interface here which cannot be resolved against the associated IDL files. core.List? apis; + /// Configuration aspects. + /// + /// This is a repeated field to allow multiple aspects to be configured. The + /// kind field in each ConfigAspect specifies the type of aspect. The spec + /// field contains the configuration for that aspect. The schema for the spec + /// field is defined by the backend service owners. + core.List? aspects; + /// Auth configuration. Authentication? authentication; @@ -5448,6 +5529,7 @@ class Service { Service({ this.apis, + this.aspects, this.authentication, this.backend, this.billing, @@ -5483,6 +5565,10 @@ class Service { ?.map((value) => Api.fromJson(value as core.Map)) .toList(), + aspects: (json_['aspects'] as core.List?) + ?.map((value) => + Aspect.fromJson(value as core.Map)) + .toList(), authentication: json_.containsKey('authentication') ? Authentication.fromJson(json_['authentication'] as core.Map) @@ -5580,6 +5666,7 @@ class Service { core.Map toJson() => { if (apis != null) 'apis': apis!, + if (aspects != null) 'aspects': aspects!, if (authentication != null) 'authentication': authentication!, if (backend != null) 'backend': backend!, if (billing != null) 'billing': billing!, @@ -6003,16 +6090,4 @@ class Usage { } /// Usage configuration rules for the service. -/// -/// NOTE: Under development. Use this rule to configure unregistered calls for -/// the service. Unregistered calls are calls that do not contain consumer -/// project identity. (Example: calls that do not contain an API key). By -/// default, API methods do not allow unregistered calls, and each method call -/// must be identified by a consumer project identity. Use this rule to -/// allow/disallow unregistered calls. Example of an API that wants to allow -/// unregistered calls for entire service. usage: rules: - selector: "*" -/// allow_unregistered_calls: true Example of a method that wants to allow -/// unregistered calls. usage: rules: - selector: -/// "google.example.library.v1.LibraryService.CreateBook" -/// allow_unregistered_calls: true typedef UsageRule = $UsageRule; diff --git a/generated/googleapis/lib/servicenetworking/v1.dart b/generated/googleapis/lib/servicenetworking/v1.dart index 3a75f8650..d01cd8965 100644 --- a/generated/googleapis/lib/servicenetworking/v1.dart +++ b/generated/googleapis/lib/servicenetworking/v1.dart @@ -1249,7 +1249,7 @@ class ServicesProjectsGlobalNetworksDnsZonesResource { /// /// [name] - Required. The network that the consumer is using to connect with /// services. Must be in the form of - /// services/{service}/projects/{project}/global/networks/{network}/zones/{zoneName} + /// services/{service}/projects/{project}/global/networks/{network}/dnsZones/{zoneName} /// Where {service} is the peering service that is managing connectivity for /// the service producer's organization. For Google services that support this /// {project} is the project number, as in '12345' {network} is the network @@ -3244,6 +3244,9 @@ class ValidateConsumerConfigResponse { /// compute api enabled. /// - "USE_PERMISSION_NOT_FOUND" : The consumer project does not have the /// permission from the host project. + /// - "SN_SERVICE_AGENT_PERMISSION_DENIED_ON_CONSUMER_PROJECT" : The SN + /// service agent {service-@service-networking.iam.gserviceaccount.com} does + /// not have the SN service agent role on the consumer project. core.String? validationError; ValidateConsumerConfigResponse({ diff --git a/generated/googleapis/lib/serviceusage/v1.dart b/generated/googleapis/lib/serviceusage/v1.dart index 89299bb83..7211314ea 100644 --- a/generated/googleapis/lib/serviceusage/v1.dart +++ b/generated/googleapis/lib/serviceusage/v1.dart @@ -987,8 +987,7 @@ class Documentation { /// **NOTE:** All service configuration rules follow "last one wins" order. core.List? rules; - /// Specifies section and content to override boilerplate content provided by - /// go/api-docgen. + /// Specifies section and content to override the boilerplate content. /// /// Currently overrides following sections: 1. rest.service.client_libraries core.List? sectionOverrides; @@ -1717,9 +1716,9 @@ typedef Option = $Option; class Page { /// The Markdown content of the page. /// - /// You can use (== include {path} ==) to include content from a Markdown - /// file. The content can be used to produce the documentation page such as - /// HTML format page. + /// You can use ```(== include {path} ==)``` to include content from a + /// Markdown file. The content can be used to produce the documentation page + /// such as HTML format page. core.String? content; /// The name of the page. @@ -1892,16 +1891,4 @@ class Usage { } /// Usage configuration rules for the service. -/// -/// NOTE: Under development. Use this rule to configure unregistered calls for -/// the service. Unregistered calls are calls that do not contain consumer -/// project identity. (Example: calls that do not contain an API key). By -/// default, API methods do not allow unregistered calls, and each method call -/// must be identified by a consumer project identity. Use this rule to -/// allow/disallow unregistered calls. Example of an API that wants to allow -/// unregistered calls for entire service. usage: rules: - selector: "*" -/// allow_unregistered_calls: true Example of a method that wants to allow -/// unregistered calls. usage: rules: - selector: -/// "google.example.library.v1.LibraryService.CreateBook" -/// allow_unregistered_calls: true typedef UsageRule = $UsageRule; diff --git a/generated/googleapis/lib/shared.dart b/generated/googleapis/lib/shared.dart index 1547f240d..a76929e96 100644 --- a/generated/googleapis/lib/shared.dart +++ b/generated/googleapis/lib/shared.dart @@ -132,6 +132,7 @@ class $ActionParameter { /// /// - displayvideo:v2 : ActiveViewVideoViewabilityMetricConfig /// - displayvideo:v3 : ActiveViewVideoViewabilityMetricConfig +/// - displayvideo:v4 : ActiveViewVideoViewabilityMetricConfig class $ActiveViewVideoViewabilityMetricConfig { /// The display name of the custom metric. /// @@ -241,6 +242,7 @@ class $ActiveViewVideoViewabilityMetricConfig { /// /// - displayvideo:v2 : AdUrl /// - displayvideo:v3 : AdUrl +/// - displayvideo:v4 : AdUrl class $AdUrl { /// The type of the Ad URL. /// Possible string values are: @@ -329,8 +331,330 @@ class $AddressPool { /// Used by: /// -/// - displayvideo:v2 : AdvertiserBillingConfig +/// - displayvideo:v3 : Adloox +/// - displayvideo:v4 : Adloox +class $Adloox { + /// Adult and Explicit Sexual Content + /// [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to + /// exclude. + /// + /// Optional. + /// Possible string values are: + /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and + /// it doesn't specify any GARM risk exclusion option. + /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. + /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. + /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. + /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, + /// high and floor). + core.String? adultExplicitSexualContent; + + /// Arms and Ammunition Content + /// [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to + /// exclude. + /// + /// Optional. + /// Possible string values are: + /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and + /// it doesn't specify any GARM risk exclusion option. + /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. + /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. + /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. + /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, + /// high and floor). + core.String? armsAmmunitionContent; + + /// Crime and Harmful Acts Content + /// [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to + /// exclude. + /// + /// Optional. + /// Possible string values are: + /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and + /// it doesn't specify any GARM risk exclusion option. + /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. + /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. + /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. + /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, + /// high and floor). + core.String? crimeHarmfulActsIndividualsSocietyHumanRightsViolationsContent; + + /// Death, Injury, or Military Conflict Content + /// [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to + /// exclude. + /// + /// Optional. + /// Possible string values are: + /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and + /// it doesn't specify any GARM risk exclusion option. + /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. + /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. + /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. + /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, + /// high and floor). + core.String? deathInjuryMilitaryConflictContent; + + /// Debated Sensitive Social Issue Content + /// [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to + /// exclude. + /// + /// Optional. + /// Possible string values are: + /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and + /// it doesn't specify any GARM risk exclusion option. + /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. + /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. + /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. + /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, + /// high and floor). + core.String? debatedSensitiveSocialIssueContent; + + /// IAB viewability threshold for display ads. + /// + /// Optional. + /// Possible string values are: + /// - "DISPLAY_IAB_VIEWABILITY_UNSPECIFIED" : Default value when not specified + /// or is unknown in this version. + /// - "DISPLAY_IAB_VIEWABILITY_10" : 10%+ in view (IAB display viewability + /// standard). + /// - "DISPLAY_IAB_VIEWABILITY_20" : 20%+ in view (IAB display viewability + /// standard). + /// - "DISPLAY_IAB_VIEWABILITY_35" : 35%+ in view (IAB display viewability + /// standard). + /// - "DISPLAY_IAB_VIEWABILITY_50" : 50%+ in view (IAB display viewability + /// standard). + /// - "DISPLAY_IAB_VIEWABILITY_75" : 75%+ in view (IAB display viewability + /// standard). + core.String? displayIabViewability; + + /// Adloox categories to exclude. + core.List? excludedAdlooxCategories; + + /// Adloox's fraud IVT MFA categories to exclude. + /// + /// Optional. + core.List? excludedFraudIvtMfaCategories; + + /// Hate Speech and Acts of Aggression Content + /// [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to + /// exclude. + /// + /// Optional. + /// Possible string values are: + /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and + /// it doesn't specify any GARM risk exclusion option. + /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. + /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. + /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. + /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, + /// high and floor). + core.String? hateSpeechActsAggressionContent; + + /// Illegal Drugs/Alcohol Content + /// [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to + /// exclude. + /// + /// Optional. + /// Possible string values are: + /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and + /// it doesn't specify any GARM risk exclusion option. + /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. + /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. + /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. + /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, + /// high and floor). + core.String? illegalDrugsTobaccoEcigarettesVapingAlcoholContent; + + /// Misinformation Content + /// [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to + /// exclude. + /// + /// Optional. + /// Possible string values are: + /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and + /// it doesn't specify any GARM risk exclusion option. + /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. + /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. + /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. + /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, + /// high and floor). + core.String? misinformationContent; + + /// Obscenity and Profanity Content + /// [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to + /// exclude. + /// + /// Optional. + /// Possible string values are: + /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and + /// it doesn't specify any GARM risk exclusion option. + /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. + /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. + /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. + /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, + /// high and floor). + core.String? obscenityProfanityContent; + + /// Online Piracy Content + /// [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to + /// exclude. + /// + /// Optional. + /// Possible string values are: + /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and + /// it doesn't specify any GARM risk exclusion option. + /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. + /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. + /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. + /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, + /// high and floor). + core.String? onlinePiracyContent; + + /// Spam or Harmful Content + /// [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to + /// exclude. + /// + /// Optional. + /// Possible string values are: + /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and + /// it doesn't specify any GARM risk exclusion option. + /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. + /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. + /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. + /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, + /// high and floor). + core.String? spamHarmfulContent; + + /// Terrorism Content [GARM](https://wfanet.org/leadership/garm/about-garm) + /// risk ranges to exclude. + /// + /// Optional. + /// Possible string values are: + /// - "GARM_RISK_EXCLUSION_UNSPECIFIED" : This enum is only a placeholder and + /// it doesn't specify any GARM risk exclusion option. + /// - "GARM_RISK_EXCLUSION_FLOOR" : Exclude floor risk. + /// - "GARM_RISK_EXCLUSION_HIGH" : Exclude high and floor risk. + /// - "GARM_RISK_EXCLUSION_MEDIUM" : Exclude medium, high, and floor risk. + /// - "GARM_RISK_EXCLUSION_LOW" : Exclude all levels of risk (low, medium, + /// high and floor). + core.String? terrorismContent; + + /// IAB viewability threshold for video ads. + /// + /// Optional. + /// Possible string values are: + /// - "VIDEO_IAB_VIEWABILITY_UNSPECIFIED" : Default value when not specified + /// or is unknown in this version. + /// - "VIDEO_IAB_VIEWABILITY_10" : 10%+ in view (IAB video viewability + /// standard). + /// - "VIDEO_IAB_VIEWABILITY_20" : 20%+ in view (IAB video viewability + /// standard). + /// - "VIDEO_IAB_VIEWABILITY_35" : 35%+ in view (IAB video viewability + /// standard). + /// - "VIDEO_IAB_VIEWABILITY_50" : 50%+ in view (IAB video viewability + /// standard). + /// - "VIDEO_IAB_VIEWABILITY_75" : 75%+ in view (IAB video viewability + /// standard). + core.String? videoIabViewability; + + $Adloox({ + this.adultExplicitSexualContent, + this.armsAmmunitionContent, + this.crimeHarmfulActsIndividualsSocietyHumanRightsViolationsContent, + this.deathInjuryMilitaryConflictContent, + this.debatedSensitiveSocialIssueContent, + this.displayIabViewability, + this.excludedAdlooxCategories, + this.excludedFraudIvtMfaCategories, + this.hateSpeechActsAggressionContent, + this.illegalDrugsTobaccoEcigarettesVapingAlcoholContent, + this.misinformationContent, + this.obscenityProfanityContent, + this.onlinePiracyContent, + this.spamHarmfulContent, + this.terrorismContent, + this.videoIabViewability, + }); + + $Adloox.fromJson(core.Map json_) + : this( + adultExplicitSexualContent: + json_['adultExplicitSexualContent'] as core.String?, + armsAmmunitionContent: json_['armsAmmunitionContent'] as core.String?, + crimeHarmfulActsIndividualsSocietyHumanRightsViolationsContent: json_[ + 'crimeHarmfulActsIndividualsSocietyHumanRightsViolationsContent'] + as core.String?, + deathInjuryMilitaryConflictContent: + json_['deathInjuryMilitaryConflictContent'] as core.String?, + debatedSensitiveSocialIssueContent: + json_['debatedSensitiveSocialIssueContent'] as core.String?, + displayIabViewability: json_['displayIabViewability'] as core.String?, + excludedAdlooxCategories: + (json_['excludedAdlooxCategories'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + excludedFraudIvtMfaCategories: + (json_['excludedFraudIvtMfaCategories'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + hateSpeechActsAggressionContent: + json_['hateSpeechActsAggressionContent'] as core.String?, + illegalDrugsTobaccoEcigarettesVapingAlcoholContent: + json_['illegalDrugsTobaccoEcigarettesVapingAlcoholContent'] + as core.String?, + misinformationContent: json_['misinformationContent'] as core.String?, + obscenityProfanityContent: + json_['obscenityProfanityContent'] as core.String?, + onlinePiracyContent: json_['onlinePiracyContent'] as core.String?, + spamHarmfulContent: json_['spamHarmfulContent'] as core.String?, + terrorismContent: json_['terrorismContent'] as core.String?, + videoIabViewability: json_['videoIabViewability'] as core.String?, + ); + + core.Map toJson() => { + if (adultExplicitSexualContent != null) + 'adultExplicitSexualContent': adultExplicitSexualContent!, + if (armsAmmunitionContent != null) + 'armsAmmunitionContent': armsAmmunitionContent!, + if (crimeHarmfulActsIndividualsSocietyHumanRightsViolationsContent != + null) + 'crimeHarmfulActsIndividualsSocietyHumanRightsViolationsContent': + crimeHarmfulActsIndividualsSocietyHumanRightsViolationsContent!, + if (deathInjuryMilitaryConflictContent != null) + 'deathInjuryMilitaryConflictContent': + deathInjuryMilitaryConflictContent!, + if (debatedSensitiveSocialIssueContent != null) + 'debatedSensitiveSocialIssueContent': + debatedSensitiveSocialIssueContent!, + if (displayIabViewability != null) + 'displayIabViewability': displayIabViewability!, + if (excludedAdlooxCategories != null) + 'excludedAdlooxCategories': excludedAdlooxCategories!, + if (excludedFraudIvtMfaCategories != null) + 'excludedFraudIvtMfaCategories': excludedFraudIvtMfaCategories!, + if (hateSpeechActsAggressionContent != null) + 'hateSpeechActsAggressionContent': hateSpeechActsAggressionContent!, + if (illegalDrugsTobaccoEcigarettesVapingAlcoholContent != null) + 'illegalDrugsTobaccoEcigarettesVapingAlcoholContent': + illegalDrugsTobaccoEcigarettesVapingAlcoholContent!, + if (misinformationContent != null) + 'misinformationContent': misinformationContent!, + if (obscenityProfanityContent != null) + 'obscenityProfanityContent': obscenityProfanityContent!, + if (onlinePiracyContent != null) + 'onlinePiracyContent': onlinePiracyContent!, + if (spamHarmfulContent != null) + 'spamHarmfulContent': spamHarmfulContent!, + if (terrorismContent != null) 'terrorismContent': terrorismContent!, + if (videoIabViewability != null) + 'videoIabViewability': videoIabViewability!, + }; +} + +/// Used by: +/// /// - displayvideo:v3 : AdvertiserBillingConfig +/// - displayvideo:v4 : AdvertiserBillingConfig class $AdvertiserBillingConfig { /// The ID of a billing profile assigned to the advertiser. /// @@ -355,6 +679,7 @@ class $AdvertiserBillingConfig { /// /// - displayvideo:v2 : AdvertiserCreativeConfig /// - displayvideo:v3 : AdvertiserCreativeConfig +/// - displayvideo:v4 : AdvertiserCreativeConfig class $AdvertiserCreativeConfig { /// Whether or not the advertiser is enabled for dynamic creatives. core.bool? dynamicCreativeEnabled; @@ -427,6 +752,7 @@ class $AdvertiserCreativeConfig { /// /// - displayvideo:v2 : AdvertiserGeneralConfig /// - displayvideo:v3 : AdvertiserGeneralConfig +/// - displayvideo:v4 : AdvertiserGeneralConfig class $AdvertiserGeneralConfig { /// Advertiser's currency in ISO 4217 format. /// @@ -492,6 +818,7 @@ class $AdvertiserGeneralConfig { /// /// - displayvideo:v2 : AdvertiserTargetingConfig /// - displayvideo:v3 : AdvertiserTargetingConfig +/// - displayvideo:v4 : AdvertiserTargetingConfig class $AdvertiserTargetingConfig { /// Whether or not connected TV devices are exempt from viewability targeting /// for all video line items under the advertiser. @@ -517,6 +844,7 @@ class $AdvertiserTargetingConfig { /// /// - displayvideo:v2 : AgeRangeAssignedTargetingOptionDetails /// - displayvideo:v3 : AgeRangeAssignedTargetingOptionDetails +/// - displayvideo:v4 : AgeRangeAssignedTargetingOptionDetails class $AgeRangeAssignedTargetingOptionDetails { /// The age range of an audience. /// @@ -577,6 +905,7 @@ class $AgeRangeAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : AgeRangeTargetingOptionDetails /// - displayvideo:v3 : AgeRangeTargetingOptionDetails +/// - displayvideo:v4 : AgeRangeTargetingOptionDetails class $AgeRangeTargetingOptionDetails { /// The age range of an audience. /// @@ -818,6 +1147,7 @@ class $AnalyticsHubSubscriptionInfo { /// /// - displayvideo:v2 : AppAssignedTargetingOptionDetails /// - displayvideo:v3 : AppAssignedTargetingOptionDetails +/// - displayvideo:v4 : AppAssignedTargetingOptionDetails class $AppAssignedTargetingOptionDetails { /// The ID of the app. /// @@ -887,6 +1217,7 @@ class $AppAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : AppCategoryAssignedTargetingOptionDetails /// - displayvideo:v3 : AppCategoryAssignedTargetingOptionDetails +/// - displayvideo:v4 : AppCategoryAssignedTargetingOptionDetails class $AppCategoryAssignedTargetingOptionDetails { /// The display name of the app category. /// @@ -926,6 +1257,7 @@ class $AppCategoryAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : AppCategoryTargetingOptionDetails /// - displayvideo:v3 : AppCategoryTargetingOptionDetails +/// - displayvideo:v4 : AppCategoryTargetingOptionDetails class $AppCategoryTargetingOptionDetails { /// The name of the app collection. /// @@ -1024,6 +1356,7 @@ class $ArtifactsGcsSource { /// /// - displayvideo:v2 : Asset /// - displayvideo:v3 : Asset +/// - displayvideo:v4 : Asset class $Asset { /// The asset content. /// @@ -1060,6 +1393,7 @@ class $Asset { /// /// - displayvideo:v2 : AssignedInventorySource /// - displayvideo:v3 : AssignedInventorySource +/// - displayvideo:v4 : AssignedInventorySource class $AssignedInventorySource { /// The unique ID of the assigned inventory source. /// @@ -1105,6 +1439,7 @@ class $AssignedInventorySource { /// /// - displayvideo:v2 : AssignedLocation /// - displayvideo:v3 : AssignedLocation +/// - displayvideo:v4 : AssignedLocation class $AssignedLocation { /// The unique ID of the assigned location. /// @@ -1149,6 +1484,7 @@ class $AssignedLocation { /// /// - displayvideo:v2 : AssignedUserRole /// - displayvideo:v3 : AssignedUserRole +/// - displayvideo:v4 : AssignedUserRole class $AssignedUserRole { /// The ID of the advertiser that the assigend user role applies to. core.String? advertiserId; @@ -1259,6 +1595,7 @@ class $Attribution { /// /// - displayvideo:v2 : AudioContentTypeAssignedTargetingOptionDetails /// - displayvideo:v3 : AudioContentTypeAssignedTargetingOptionDetails +/// - displayvideo:v4 : AudioContentTypeAssignedTargetingOptionDetails class $AudioContentTypeAssignedTargetingOptionDetails { /// The audio content type. /// @@ -1291,6 +1628,7 @@ class $AudioContentTypeAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : AudioContentTypeTargetingOptionDetails /// - displayvideo:v3 : AudioContentTypeTargetingOptionDetails +/// - displayvideo:v4 : AudioContentTypeTargetingOptionDetails class $AudioContentTypeTargetingOptionDetails { /// The audio content type. /// @@ -1323,11 +1661,16 @@ class $AudioContentTypeTargetingOptionDetails { /// /// - displayvideo:v2 : AudioVideoOffset /// - displayvideo:v3 : AudioVideoOffset +/// - displayvideo:v4 : AudioVideoOffset class $AudioVideoOffset { /// The offset in percentage of the audio or video duration. + /// + /// Optional. core.String? percentage; /// The offset in seconds from the start of the audio or video. + /// + /// Optional. core.String? seconds; $AudioVideoOffset({ @@ -1351,6 +1694,7 @@ class $AudioVideoOffset { /// /// - displayvideo:v2 : AuditAdvertiserResponse /// - displayvideo:v3 : AuditAdvertiserResponse +/// - displayvideo:v4 : AuditAdvertiserResponse class $AuditAdvertiserResponse { /// The number of individual targeting options from the following targeting /// types that are assigned to a line item under this advertiser. @@ -1492,9 +1836,6 @@ class $AuditAdvertiserResponse { /// - healthcare:v1 : AuditLogConfig /// - iam:v1 : AuditLogConfig /// - identitytoolkit:v2 : GoogleIamV1AuditLogConfig -/// - ids:v1 : AuditLogConfig -/// - logging:v2 : AuditLogConfig -/// - looker:v1 : AuditLogConfig /// - metastore:v1 : AuditLogConfig /// - ml:v1 : GoogleIamV1__AuditLogConfig /// - networkconnectivity:v1 : AuditLogConfig @@ -1591,6 +1932,7 @@ class $AuthRequirement { /// /// - displayvideo:v2 : AuthorizedSellerStatusAssignedTargetingOptionDetails /// - displayvideo:v3 : AuthorizedSellerStatusAssignedTargetingOptionDetails +/// - displayvideo:v4 : AuthorizedSellerStatusAssignedTargetingOptionDetails class $AuthorizedSellerStatusAssignedTargetingOptionDetails { /// The authorized seller status to target. /// @@ -1640,6 +1982,7 @@ class $AuthorizedSellerStatusAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : AuthorizedSellerStatusTargetingOptionDetails /// - displayvideo:v3 : AuthorizedSellerStatusTargetingOptionDetails +/// - displayvideo:v4 : AuthorizedSellerStatusTargetingOptionDetails class $AuthorizedSellerStatusTargetingOptionDetails { /// The authorized seller status. /// @@ -1738,6 +2081,40 @@ class $AvroConfig { }; } +/// Used by: +/// +/// - ondemandscanning:v1 : BaseImage +/// - ondemandscanning:v1 : GrafeasV1BaseImage +class $BaseImage { + /// The number of layers that the base image is composed of. + core.int? layerCount; + + /// The name of the base image. + core.String? name; + + /// The repository name in which the base image is from. + core.String? repository; + + $BaseImage({ + this.layerCount, + this.name, + this.repository, + }); + + $BaseImage.fromJson(core.Map json_) + : this( + layerCount: json_['layerCount'] as core.int?, + name: json_['name'] as core.String?, + repository: json_['repository'] as core.String?, + ); + + core.Map toJson() => { + if (layerCount != null) 'layerCount': layerCount!, + if (name != null) 'name': name!, + if (repository != null) 'repository': repository!, + }; +} + /// Used by: /// /// - analyticshub:v1 : BigQueryConfig @@ -2044,6 +2421,7 @@ class $BoostSpecConditionBoostSpecBoostControlSpecControlPoint { /// /// - displayvideo:v2 : BrowserAssignedTargetingOptionDetails /// - displayvideo:v3 : BrowserAssignedTargetingOptionDetails +/// - displayvideo:v4 : BrowserAssignedTargetingOptionDetails class $BrowserAssignedTargetingOptionDetails { /// The display name of the browser. /// @@ -2086,6 +2464,7 @@ class $BrowserAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : BrowserTargetingOptionDetails /// - displayvideo:v3 : BrowserTargetingOptionDetails +/// - displayvideo:v4 : BrowserTargetingOptionDetails class $BrowserTargetingOptionDetails { /// The display name of the browser. /// @@ -2139,6 +2518,7 @@ class $BuildMetadata { /// /// - displayvideo:v2 : BusinessChainAssignedTargetingOptionDetails /// - displayvideo:v3 : BusinessChainAssignedTargetingOptionDetails +/// - displayvideo:v4 : BusinessChainAssignedTargetingOptionDetails class $BusinessChainAssignedTargetingOptionDetails { /// The display name of a business chain, e.g. "KFC", "Chase Bank". /// @@ -2205,6 +2585,7 @@ class $BusinessChainAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : BusinessChainSearchTerms /// - displayvideo:v3 : BusinessChainSearchTerms +/// - displayvideo:v4 : BusinessChainSearchTerms class $BusinessChainSearchTerms { /// The search query for the desired business chain. /// @@ -2238,6 +2619,7 @@ class $BusinessChainSearchTerms { /// /// - displayvideo:v2 : BusinessChainTargetingOptionDetails /// - displayvideo:v3 : BusinessChainTargetingOptionDetails +/// - displayvideo:v4 : BusinessChainTargetingOptionDetails class $BusinessChainTargetingOptionDetails { /// The display name of the business chain, e.g. "KFC", "Chase Bank". /// @@ -2291,6 +2673,19 @@ class $BusinessChainTargetingOptionDetails { /// neighborhood. /// - "GEO_REGION_TYPE_UNIVERSITY" : The geographic region is a university. /// - "GEO_REGION_TYPE_DISTRICT" : The geographic region is a district. + /// - "GEO_REGION_TYPE_NATIONAL_PARK" : The geographic region is a national + /// park. + /// - "GEO_REGION_TYPE_BARRIO" : The geographic region is a barrio. + /// - "GEO_REGION_TYPE_SUB_WARD" : The geographic region is a sub ward. + /// - "GEO_REGION_TYPE_MUNICIPALITY_DISTRICT" : The geographic region is a + /// municipality district. + /// - "GEO_REGION_TYPE_SUB_DISTRICT" : The geographic region is a sub + /// district. + /// - "GEO_REGION_TYPE_QUARTER" : The geographic region is a quarter. + /// - "GEO_REGION_TYPE_DIVISION" : The geographic region is a division. + /// - "GEO_REGION_TYPE_COMMUNE" : The geographic region is a commune. + /// - "GEO_REGION_TYPE_COLLOQUIAL_AREA" : The geographic region is a + /// colloquial area. core.String? geoRegionType; $BusinessChainTargetingOptionDetails({ @@ -2457,6 +2852,7 @@ class $CVSS { /// /// - displayvideo:v2 : CarrierAndIspAssignedTargetingOptionDetails /// - displayvideo:v3 : CarrierAndIspAssignedTargetingOptionDetails +/// - displayvideo:v4 : CarrierAndIspAssignedTargetingOptionDetails class $CarrierAndIspAssignedTargetingOptionDetails { /// The display name of the carrier or ISP. /// @@ -2499,6 +2895,7 @@ class $CarrierAndIspAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : CarrierAndIspTargetingOptionDetails /// - displayvideo:v3 : CarrierAndIspTargetingOptionDetails +/// - displayvideo:v4 : CarrierAndIspTargetingOptionDetails class $CarrierAndIspTargetingOptionDetails { /// The display name of the carrier or ISP. /// @@ -2566,6 +2963,7 @@ class $Category { /// /// - displayvideo:v2 : CategoryAssignedTargetingOptionDetails /// - displayvideo:v3 : CategoryAssignedTargetingOptionDetails +/// - displayvideo:v4 : CategoryAssignedTargetingOptionDetails class $CategoryAssignedTargetingOptionDetails { /// The display name of the category. /// @@ -2605,6 +3003,7 @@ class $CategoryAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : CategoryTargetingOptionDetails /// - displayvideo:v3 : CategoryTargetingOptionDetails +/// - displayvideo:v4 : CategoryTargetingOptionDetails class $CategoryTargetingOptionDetails { /// The display name of the category. /// @@ -2754,6 +3153,7 @@ class $CertificateChains { /// /// - displayvideo:v2 : Channel /// - displayvideo:v3 : Channel +/// - displayvideo:v4 : Channel class $Channel00 { /// The ID of the advertiser that owns the channel. core.String? advertiserId; @@ -2927,6 +3327,7 @@ class $Channel01 { /// /// - displayvideo:v2 : ChannelAssignedTargetingOptionDetails /// - displayvideo:v3 : ChannelAssignedTargetingOptionDetails +/// - displayvideo:v4 : ChannelAssignedTargetingOptionDetails class $ChannelAssignedTargetingOptionDetails { /// ID of the channel. /// @@ -3145,6 +3546,7 @@ class $ClusterUpgradeUpgradeStatus { /// /// - displayvideo:v2 : CmHybridConfig /// - displayvideo:v3 : CmHybridConfig +/// - displayvideo:v4 : CmHybridConfig class $CmHybridConfig { /// Account ID of the CM360 Floodlight configuration linked with the DV360 /// advertiser. @@ -3232,14 +3634,21 @@ class $CmHybridConfig { /// /// - displayvideo:v2 : CmTrackingAd /// - displayvideo:v3 : CmTrackingAd +/// - displayvideo:v4 : CmTrackingAd class $CmTrackingAd { /// The ad ID of the campaign manager 360 tracking Ad. + /// + /// Optional. core.String? cmAdId; /// The creative ID of the campaign manager 360 tracking Ad. + /// + /// Optional. core.String? cmCreativeId; /// The placement ID of the campaign manager 360 tracking Ad. + /// + /// Optional. core.String? cmPlacementId; $CmTrackingAd({ @@ -3322,6 +3731,7 @@ class $Color { /// /// - displayvideo:v2 : CombinedAudience /// - displayvideo:v3 : CombinedAudience +/// - displayvideo:v4 : CombinedAudience class $CombinedAudience { /// The unique ID of the combined audience. /// @@ -3367,6 +3777,7 @@ class $CombinedAudience { /// /// - displayvideo:v2 : CombinedAudienceTargetingSetting /// - displayvideo:v3 : CombinedAudienceTargetingSetting +/// - displayvideo:v4 : CombinedAudienceTargetingSetting class $CombinedAudienceTargetingSetting { /// Combined audience id of combined audience targeting setting. /// @@ -3605,6 +4016,62 @@ class $ConfidentialInstanceConfig { }; } +/// Used by: +/// +/// - gkehub:v1 : ConfigManagementContainerOverride +/// - gkehub:v2 : ConfigManagementContainerOverride +class $ConfigManagementContainerOverride { + /// The name of the container. + /// + /// Required. + core.String? containerName; + + /// The cpu limit of the container. + /// + /// Optional. + core.String? cpuLimit; + + /// The cpu request of the container. + /// + /// Optional. + core.String? cpuRequest; + + /// The memory limit of the container. + /// + /// Optional. + core.String? memoryLimit; + + /// The memory request of the container. + /// + /// Optional. + core.String? memoryRequest; + + $ConfigManagementContainerOverride({ + this.containerName, + this.cpuLimit, + this.cpuRequest, + this.memoryLimit, + this.memoryRequest, + }); + + $ConfigManagementContainerOverride.fromJson(core.Map json_) + : this( + containerName: json_['containerName'] as core.String?, + cpuLimit: json_['cpuLimit'] as core.String?, + cpuRequest: json_['cpuRequest'] as core.String?, + memoryLimit: json_['memoryLimit'] as core.String?, + memoryRequest: json_['memoryRequest'] as core.String?, + ); + + core.Map toJson() => { + if (containerName != null) 'containerName': containerName!, + if (cpuLimit != null) 'cpuLimit': cpuLimit!, + if (cpuRequest != null) 'cpuRequest': cpuRequest!, + if (memoryLimit != null) 'memoryLimit': memoryLimit!, + if (memoryRequest != null) 'memoryRequest': memoryRequest!, + }; +} + /// Used by: /// /// - gkehub:v1 : ConfigManagementGitConfig @@ -3612,39 +4079,55 @@ class $ConfidentialInstanceConfig { class $ConfigManagementGitConfig { /// The Google Cloud Service Account Email used for auth when secret_type is /// gcpServiceAccount. + /// + /// Optional. core.String? gcpServiceAccountEmail; /// URL for the HTTPS proxy to be used when communicating with the Git repo. + /// + /// Optional. core.String? httpsProxy; /// The path within the Git repository that represents the top level of the /// repo to sync. /// /// Default: the root directory of the repository. + /// + /// Optional. core.String? policyDir; /// Type of secret configured for access to the Git repo. /// - /// Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. - /// The validation of this is case-sensitive. Required. + /// Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount, + /// githubapp or none. The validation of this is case-sensitive. + /// + /// Required. core.String? secretType; /// The branch of the repository to sync from. /// /// Default: master. + /// + /// Optional. core.String? syncBranch; /// The URL of the Git repository to use as the source of truth. + /// + /// Required. core.String? syncRepo; /// Git revision (tag or hash) to check out. /// /// Default HEAD. + /// + /// Optional. core.String? syncRev; /// Period in seconds between consecutive syncs. /// /// Default: 15. + /// + /// Optional. core.String? syncWaitSecs; $ConfigManagementGitConfig({ @@ -3762,24 +4245,37 @@ class $ConfigManagementHierarchyControllerConfig { class $ConfigManagementOciConfig { /// The Google Cloud Service Account Email used for auth when secret_type is /// gcpServiceAccount. + /// + /// Optional. core.String? gcpServiceAccountEmail; /// The absolute path of the directory that contains the local resources. /// /// Default: the root directory of the image. + /// + /// Optional. core.String? policyDir; - /// Type of secret configured for access to the Git repo. + /// Type of secret configured for access to the OCI repo. + /// + /// Must be one of gcenode, gcpserviceaccount, k8sserviceaccount or none. The + /// validation of this is case-sensitive. + /// + /// Required. core.String? secretType; /// The OCI image repository URL for the package to sync from. /// /// e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. + /// + /// Required. core.String? syncRepo; /// Period in seconds between consecutive syncs. /// /// Default: 15. + /// + /// Optional. core.String? syncWaitSecs; $ConfigManagementOciConfig({ @@ -3913,8 +4409,8 @@ class $ConnectionStatus { /// Used by: /// -/// - displayvideo:v2 : Consent /// - displayvideo:v3 : Consent +/// - displayvideo:v4 : Consent class $Consent { /// Represents consent for ad personalization. /// Possible string values are: @@ -3991,8 +4487,8 @@ class $Console { /// Used by: /// -/// - displayvideo:v2 : ContactInfo /// - displayvideo:v3 : ContactInfo +/// - displayvideo:v4 : ContactInfo class $ContactInfo { /// Country code of the member. /// @@ -4073,6 +4569,7 @@ class $ContactInfo { /// /// - displayvideo:v2 : ContentDurationAssignedTargetingOptionDetails /// - displayvideo:v3 : ContentDurationAssignedTargetingOptionDetails +/// - displayvideo:v4 : ContentDurationAssignedTargetingOptionDetails class $ContentDurationAssignedTargetingOptionDetails { /// The content duration. /// @@ -4117,6 +4614,7 @@ class $ContentDurationAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : ContentDurationTargetingOptionDetails /// - displayvideo:v3 : ContentDurationTargetingOptionDetails +/// - displayvideo:v4 : ContentDurationTargetingOptionDetails class $ContentDurationTargetingOptionDetails { /// The content duration. /// @@ -4152,6 +4650,7 @@ class $ContentDurationTargetingOptionDetails { /// /// - displayvideo:v2 : ContentGenreAssignedTargetingOptionDetails /// - displayvideo:v3 : ContentGenreAssignedTargetingOptionDetails +/// - displayvideo:v4 : ContentGenreAssignedTargetingOptionDetails class $ContentGenreAssignedTargetingOptionDetails { /// The display name of the content genre. /// @@ -4191,6 +4690,7 @@ class $ContentGenreAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : ContentGenreTargetingOptionDetails /// - displayvideo:v3 : ContentGenreTargetingOptionDetails +/// - displayvideo:v4 : ContentGenreTargetingOptionDetails class $ContentGenreTargetingOptionDetails { /// The display name of the content genre /// @@ -4215,6 +4715,7 @@ class $ContentGenreTargetingOptionDetails { /// /// - displayvideo:v2 : ContentInstreamPositionAssignedTargetingOptionDetails /// - displayvideo:v3 : ContentInstreamPositionAssignedTargetingOptionDetails +/// - displayvideo:v4 : ContentInstreamPositionAssignedTargetingOptionDetails class $ContentInstreamPositionAssignedTargetingOptionDetails { /// The ad type to target. /// @@ -4276,6 +4777,7 @@ class $ContentInstreamPositionAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : ContentInstreamPositionTargetingOptionDetails /// - displayvideo:v3 : ContentInstreamPositionTargetingOptionDetails +/// - displayvideo:v4 : ContentInstreamPositionTargetingOptionDetails class $ContentInstreamPositionTargetingOptionDetails { /// The content instream position. /// @@ -4313,6 +4815,7 @@ class $ContentInstreamPositionTargetingOptionDetails { /// /// - displayvideo:v2 : ContentOutstreamPositionAssignedTargetingOptionDetails /// - displayvideo:v3 : ContentOutstreamPositionAssignedTargetingOptionDetails +/// - displayvideo:v4 : ContentOutstreamPositionAssignedTargetingOptionDetails class $ContentOutstreamPositionAssignedTargetingOptionDetails { /// The ad type to target. /// @@ -4378,6 +4881,7 @@ class $ContentOutstreamPositionAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : ContentOutstreamPositionTargetingOptionDetails /// - displayvideo:v3 : ContentOutstreamPositionTargetingOptionDetails +/// - displayvideo:v4 : ContentOutstreamPositionTargetingOptionDetails class $ContentOutstreamPositionTargetingOptionDetails { /// The content outstream position. /// @@ -4419,6 +4923,7 @@ class $ContentOutstreamPositionTargetingOptionDetails { /// /// - displayvideo:v2 : ContentStreamTypeAssignedTargetingOptionDetails /// - displayvideo:v3 : ContentStreamTypeAssignedTargetingOptionDetails +/// - displayvideo:v4 : ContentStreamTypeAssignedTargetingOptionDetails class $ContentStreamTypeAssignedTargetingOptionDetails { /// The content stream type. /// @@ -4458,6 +4963,7 @@ class $ContentStreamTypeAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : ContentStreamTypeTargetingOptionDetails /// - displayvideo:v3 : ContentStreamTypeTargetingOptionDetails +/// - displayvideo:v4 : ContentStreamTypeTargetingOptionDetails class $ContentStreamTypeTargetingOptionDetails { /// The content stream type. /// @@ -4565,6 +5071,7 @@ class $ContextChildrenRequest { /// /// - displayvideo:v2 : CounterEvent /// - displayvideo:v3 : CounterEvent +/// - displayvideo:v4 : CounterEvent class $CounterEvent { /// The name of the counter event. /// @@ -4597,6 +5104,7 @@ class $CounterEvent { /// /// - displayvideo:v2 : CreateAssetRequest /// - displayvideo:v3 : CreateAssetRequest +/// - displayvideo:v4 : CreateAssetRequest class $CreateAssetRequest { /// The filename of the asset, including the file extension. /// @@ -4781,6 +5289,10 @@ class $CryptoKeyVersionTemplate { /// - "HMAC_SHA224" : HMAC-SHA224 signing with a 224 bit key. /// - "EXTERNAL_SYMMETRIC_ENCRYPTION" : Algorithm representing symmetric /// encryption by an external key manager. + /// - "PQ_SIGN_ML_DSA_65" : The post-quantum Module-Lattice-Based Digital + /// Signature Algorithm, at security level 3. Randomized version. + /// - "PQ_SIGN_SLH_DSA_SHA2_128S" : The post-quantum stateless hash-based + /// digital signature algorithm, at security level 1. Randomized version. core.String? algorithm; /// ProtectionLevel to use when creating a CryptoKeyVersion based on this @@ -4813,10 +5325,130 @@ class $CryptoKeyVersionTemplate { }; } +/// Used by: +/// +/// - displayvideo:v3 : CustomBiddingAlgorithmRulesError +/// - displayvideo:v4 : CustomBiddingAlgorithmRulesError +class $CustomBiddingAlgorithmRulesError { + /// The type of error. + /// Possible string values are: + /// - "ERROR_CODE_UNSPECIFIED" : The error is not specified or is unknown in + /// this version. + /// - "SYNTAX_ERROR" : The rules have a syntax error. + /// - "CONSTRAINT_VIOLATION_ERROR" : The rules have a constraint violation + /// error. + /// - "INTERNAL_ERROR" : Internal errors were thrown while processing the + /// rules. + core.String? errorCode; + + $CustomBiddingAlgorithmRulesError({ + this.errorCode, + }); + + $CustomBiddingAlgorithmRulesError.fromJson(core.Map json_) + : this( + errorCode: json_['errorCode'] as core.String?, + ); + + core.Map toJson() => { + if (errorCode != null) 'errorCode': errorCode!, + }; +} + +/// Used by: +/// +/// - displayvideo:v3 : CustomBiddingAlgorithmRulesRef +/// - displayvideo:v4 : CustomBiddingAlgorithmRulesRef +class $CustomBiddingAlgorithmRulesRef { + /// A resource name to be used in media.download to download the rules files. + /// + /// Or media.upload to upload the rules files. Resource names have the format + /// `customBiddingAlgorithms/{custom_bidding_algorithm_id}/rulesRef/{ref_id}`. + core.String? resourceName; + + $CustomBiddingAlgorithmRulesRef({ + this.resourceName, + }); + + $CustomBiddingAlgorithmRulesRef.fromJson(core.Map json_) + : this( + resourceName: json_['resourceName'] as core.String?, + ); + + core.Map toJson() => { + if (resourceName != null) 'resourceName': resourceName!, + }; +} + +/// Used by: +/// +/// - displayvideo:v3 : CustomBiddingModelDetails +/// - displayvideo:v4 : CustomBiddingModelDetails +class $CustomBiddingModelDetails { + /// The unique ID of the relevant advertiser. + core.String? advertiserId; + + /// The readiness state of custom bidding model. + /// Possible string values are: + /// - "READINESS_STATE_UNSPECIFIED" : State is not specified or is unknown in + /// this version. + /// - "READINESS_STATE_ACTIVE" : The model is trained and ready for serving. + /// - "READINESS_STATE_INSUFFICIENT_DATA" : There is not enough data to train + /// the serving model. + /// - "READINESS_STATE_TRAINING" : The model is training and not ready for + /// serving. + /// - "READINESS_STATE_NO_VALID_SCRIPT" : A valid custom bidding script has + /// not been provided with which to train the model. This state will only be + /// applied to algorithms whose `custom_bidding_algorithm_type` is + /// `SCRIPT_BASED`. + /// - "READINESS_STATE_EVALUATION_FAILURE" : A valid script was provided but + /// failed evaluation. This is applicable for scripts that could not be + /// evaluated in the alloted time. + core.String? readinessState; + + /// The suspension state of custom bidding model. + /// + /// Output only. + /// Possible string values are: + /// - "SUSPENSION_STATE_UNSPECIFIED" : State is not specified or is unknown in + /// this version. + /// - "SUSPENSION_STATE_ENABLED" : Model is enabled, either recently used, + /// currently used or scheduled to be used. The algorithm is actively scoring + /// impressions for this advertiser. + /// - "SUSPENSION_STATE_DORMANT" : Model has not been used recently. Although + /// the model still acts as `ENABLED`, it will eventually be suspended if not + /// used. + /// - "SUSPENSION_STATE_SUSPENDED" : Model is suspended from scoring + /// impressions and cannot serve. If the algorithm is assigned to a line item + /// under this advertiser or otherwise updated, it will switch back to the + /// `ENABLED` state and require time to prepare the serving model again. + core.String? suspensionState; + + $CustomBiddingModelDetails({ + this.advertiserId, + this.readinessState, + this.suspensionState, + }); + + $CustomBiddingModelDetails.fromJson(core.Map json_) + : this( + advertiserId: json_['advertiserId'] as core.String?, + readinessState: json_['readinessState'] as core.String?, + suspensionState: json_['suspensionState'] as core.String?, + ); + + core.Map toJson() => { + if (advertiserId != null) 'advertiserId': advertiserId!, + if (readinessState != null) 'readinessState': readinessState!, + if (suspensionState != null) 'suspensionState': suspensionState!, + }; +} + /// Used by: /// /// - displayvideo:v2 : CustomBiddingScriptRef /// - displayvideo:v3 : CustomBiddingScriptRef +/// - displayvideo:v4 : CustomBiddingScriptRef class $CustomBiddingScriptRef { /// A resource name to be used in media.download to Download the script files. /// @@ -4842,6 +5474,7 @@ class $CustomBiddingScriptRef { /// /// - displayvideo:v2 : CustomLabel /// - displayvideo:v3 : CustomLabel +/// - displayvideo:v4 : CustomLabel class $CustomLabel { /// The key of the label. /// Possible string values are: @@ -4877,6 +5510,7 @@ class $CustomLabel { /// /// - displayvideo:v2 : CustomList /// - displayvideo:v3 : CustomList +/// - displayvideo:v4 : CustomList class $CustomList { /// The unique ID of the custom list. /// @@ -4921,6 +5555,7 @@ class $CustomList { /// /// - displayvideo:v2 : CustomListTargetingSetting /// - displayvideo:v3 : CustomListTargetingSetting +/// - displayvideo:v4 : CustomListTargetingSetting class $CustomListTargetingSetting { /// Custom id of custom list targeting setting. /// @@ -4992,6 +5627,7 @@ class $DataCatalogConfig { /// - contentwarehouse:v1 : GoogleTypeDate /// - displayvideo:v2 : Date /// - displayvideo:v3 : Date +/// - displayvideo:v4 : Date /// - dlp:v2 : GoogleTypeDate /// - documentai:v1 : GoogleTypeDate /// - doubleclickbidmanager:v2 : Date @@ -5052,6 +5688,7 @@ class $Date { /// /// - displayvideo:v2 : DayAndTimeAssignedTargetingOptionDetails /// - displayvideo:v3 : DayAndTimeAssignedTargetingOptionDetails +/// - displayvideo:v4 : DayAndTimeAssignedTargetingOptionDetails class $DayAndTimeAssignedTargetingOptionDetails { /// The day of the week for this day and time targeting setting. /// @@ -5172,7 +5809,7 @@ class $DeadLetterPolicy { /// /// The value must be between 5 and 100. The number of delivery attempts is /// defined as 1 + (the sum of number of NACKs and number of times the - /// acknowledgement deadline has been exceeded for the message). A NACK is any + /// acknowledgment deadline has been exceeded for the message). A NACK is any /// call to ModifyAckDeadline with a 0 deadline. Note that client libraries /// may automatically extend ack_deadlines. This field will be honored on a /// best effort basis. If this parameter is 0, a default value of 5 is used. @@ -5225,6 +5862,7 @@ class $DebugInfo { /// /// - displayvideo:v2 : DeleteAssignedTargetingOptionsRequest /// - displayvideo:v3 : DeleteAssignedTargetingOptionsRequest +/// - displayvideo:v4 : DeleteAssignedTargetingOptionsRequest class $DeleteAssignedTargetingOptionsRequest { /// The assigned targeting option IDs to delete. /// @@ -5479,6 +6117,7 @@ class $Destination { /// /// - displayvideo:v2 : DeviceMakeModelAssignedTargetingOptionDetails /// - displayvideo:v3 : DeviceMakeModelAssignedTargetingOptionDetails +/// - displayvideo:v4 : DeviceMakeModelAssignedTargetingOptionDetails class $DeviceMakeModelAssignedTargetingOptionDetails { /// The display name of the device make and model. /// @@ -5518,6 +6157,7 @@ class $DeviceMakeModelAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : DeviceMakeModelTargetingOptionDetails /// - displayvideo:v3 : DeviceMakeModelTargetingOptionDetails +/// - displayvideo:v4 : DeviceMakeModelTargetingOptionDetails class $DeviceMakeModelTargetingOptionDetails { /// The display name of the device make and model. /// @@ -5542,6 +6182,7 @@ class $DeviceMakeModelTargetingOptionDetails { /// /// - displayvideo:v2 : DeviceTypeAssignedTargetingOptionDetails /// - displayvideo:v3 : DeviceTypeAssignedTargetingOptionDetails +/// - displayvideo:v4 : DeviceTypeAssignedTargetingOptionDetails class $DeviceTypeAssignedTargetingOptionDetails { /// The display name of the device type. /// @@ -5593,6 +6234,7 @@ class $DeviceTypeAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : DeviceTypeTargetingOptionDetails /// - displayvideo:v3 : DeviceTypeTargetingOptionDetails +/// - displayvideo:v4 : DeviceTypeTargetingOptionDetails class $DeviceTypeTargetingOptionDetails { /// The device type that is used to be targeted. /// @@ -5654,6 +6296,7 @@ class $DiffVersionResponse { /// /// - displayvideo:v2 : DigitalContentLabelAssignedTargetingOptionDetails /// - displayvideo:v3 : DigitalContentLabelAssignedTargetingOptionDetails +/// - displayvideo:v4 : DigitalContentLabelAssignedTargetingOptionDetails class $DigitalContentLabelAssignedTargetingOptionDetails { /// The display name of the digital content label rating tier to be EXCLUDED. /// @@ -5695,6 +6338,7 @@ class $DigitalContentLabelAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : DigitalContentLabelTargetingOptionDetails /// - displayvideo:v3 : DigitalContentLabelTargetingOptionDetails +/// - displayvideo:v4 : DigitalContentLabelTargetingOptionDetails class $DigitalContentLabelTargetingOptionDetails { /// An enum for the content label brand safety tiers. /// @@ -5796,6 +6440,7 @@ class $DimensionValue { /// /// - displayvideo:v2 : Dimensions /// - displayvideo:v3 : Dimensions +/// - displayvideo:v4 : Dimensions class $Dimensions { /// The height in pixels. core.int? heightPixels; @@ -5974,6 +6619,7 @@ class $DisksStartAsyncReplicationRequest { /// /// - displayvideo:v2 : DisplayVideoSourceAd /// - displayvideo:v3 : DisplayVideoSourceAd +/// - displayvideo:v4 : DisplayVideoSourceAd class $DisplayVideoSourceAd { /// The ID of the source creative. core.String? creativeId; @@ -6010,7 +6656,7 @@ class $DocumentationRule { core.String? description; /// String of comma or space separated case-sensitive words for which - /// method/field name replacement will be disabled by go/api-docgen. + /// method/field name replacement will be disabled. core.String? disableReplacementWords; /// The selector is a comma-separated list of patterns for any element such as @@ -6083,6 +6729,7 @@ class $DoubleRange { /// /// - displayvideo:v2 : DoubleVerifyAppStarRating /// - displayvideo:v3 : DoubleVerifyAppStarRating +/// - displayvideo:v4 : DoubleVerifyAppStarRating class $DoubleVerifyAppStarRating { /// Avoid bidding on apps with insufficient star ratings. core.bool? avoidInsufficientStarRating; @@ -6123,6 +6770,7 @@ class $DoubleVerifyAppStarRating { /// /// - displayvideo:v2 : DoubleVerifyBrandSafetyCategories /// - displayvideo:v3 : DoubleVerifyBrandSafetyCategories +/// - displayvideo:v4 : DoubleVerifyBrandSafetyCategories class $DoubleVerifyBrandSafetyCategories { /// Unknown or unrateable. core.bool? avoidUnknownBrandSafetyCategory; @@ -6167,6 +6815,7 @@ class $DoubleVerifyBrandSafetyCategories { /// /// - displayvideo:v2 : DoubleVerifyDisplayViewability /// - displayvideo:v3 : DoubleVerifyDisplayViewability +/// - displayvideo:v4 : DoubleVerifyDisplayViewability class $DoubleVerifyDisplayViewability { /// Target web and app inventory to maximize IAB viewable rate. /// Possible string values are: @@ -6225,6 +6874,7 @@ class $DoubleVerifyDisplayViewability { /// /// - displayvideo:v2 : DoubleVerifyFraudInvalidTraffic /// - displayvideo:v3 : DoubleVerifyFraudInvalidTraffic +/// - displayvideo:v4 : DoubleVerifyFraudInvalidTraffic class $DoubleVerifyFraudInvalidTraffic { /// Insufficient Historical Fraud & IVT Stats. core.bool? avoidInsufficientOption; @@ -6267,6 +6917,7 @@ class $DoubleVerifyFraudInvalidTraffic { /// /// - displayvideo:v2 : DoubleVerifyVideoViewability /// - displayvideo:v3 : DoubleVerifyVideoViewability +/// - displayvideo:v4 : DoubleVerifyVideoViewability class $DoubleVerifyVideoViewability { /// Target inventory to maximize impressions with 400x300 or greater player /// size. @@ -6430,6 +7081,7 @@ class $DrainingMachine { /// /// - displayvideo:v2 : DuplicateLineItemRequest /// - displayvideo:v3 : DuplicateLineItemRequest +/// - displayvideo:v4 : DuplicateLineItemRequest class $DuplicateLineItemRequest { /// The display name of the new line item. /// @@ -6454,6 +7106,7 @@ class $DuplicateLineItemRequest { /// /// - displayvideo:v2 : DuplicateLineItemResponse /// - displayvideo:v3 : DuplicateLineItemResponse +/// - displayvideo:v4 : DuplicateLineItemResponse class $DuplicateLineItemResponse { /// The ID of the created line item. core.String? duplicateLineItemId; @@ -6516,36 +7169,11 @@ class $DynamicListenerState { }; } -/// Used by: -/// -/// - displayvideo:v2 : EditCustomerMatchMembersResponse -/// - displayvideo:v3 : EditCustomerMatchMembersResponse -class $EditCustomerMatchMembersResponse { - /// The ID of the updated Customer Match FirstAndThirdPartyAudience. - /// - /// Required. - core.String? firstAndThirdPartyAudienceId; - - $EditCustomerMatchMembersResponse({ - this.firstAndThirdPartyAudienceId, - }); - - $EditCustomerMatchMembersResponse.fromJson(core.Map json_) - : this( - firstAndThirdPartyAudienceId: - json_['firstAndThirdPartyAudienceId'] as core.String?, - ); - - core.Map toJson() => { - if (firstAndThirdPartyAudienceId != null) - 'firstAndThirdPartyAudienceId': firstAndThirdPartyAudienceId!, - }; -} - /// Used by: /// /// - displayvideo:v2 : EditGuaranteedOrderReadAccessorsRequest /// - displayvideo:v3 : EditGuaranteedOrderReadAccessorsRequest +/// - displayvideo:v4 : EditGuaranteedOrderReadAccessorsRequest class $EditGuaranteedOrderReadAccessorsRequest { /// The advertisers to add as read accessors to the guaranteed order. core.List? addedAdvertisers; @@ -6597,6 +7225,7 @@ class $EditGuaranteedOrderReadAccessorsRequest { /// /// - displayvideo:v2 : EditGuaranteedOrderReadAccessorsResponse /// - displayvideo:v3 : EditGuaranteedOrderReadAccessorsResponse +/// - displayvideo:v4 : EditGuaranteedOrderReadAccessorsResponse class $EditGuaranteedOrderReadAccessorsResponse { /// Whether all advertisers of read_write_partner_id have read access to the /// guaranteed order. @@ -6629,6 +7258,7 @@ class $EditGuaranteedOrderReadAccessorsResponse { /// /// - displayvideo:v2 : EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate /// - displayvideo:v3 : EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate +/// - displayvideo:v4 : EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate class $EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate { /// The advertisers to add. core.List? addedAdvertisers; @@ -6676,17 +7306,28 @@ class $EgressSource { /// allowed. core.String? accessLevel; + /// A Google Cloud resource from the service perimeter that you want to allow + /// to access data outside the perimeter. + /// + /// This field supports only projects. The project format is + /// `projects/{project_number}`. You can't use `*` in this field to allow all + /// Google Cloud resources. + core.String? resource; + $EgressSource({ this.accessLevel, + this.resource, }); $EgressSource.fromJson(core.Map json_) : this( accessLevel: json_['accessLevel'] as core.String?, + resource: json_['resource'] as core.String?, ); core.Map toJson() => { if (accessLevel != null) 'accessLevel': accessLevel!, + if (resource != null) 'resource': resource!, }; } @@ -6718,6 +7359,7 @@ class $EgressSource { /// - aiplatform:v1 : GoogleCloudAiplatformV1CancelTuningJobRequest /// - aiplatform:v1 : GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest /// - aiplatform:v1 : GoogleCloudAiplatformV1DirectUploadSource +/// - aiplatform:v1 : GoogleCloudAiplatformV1EnterpriseWebSearch /// - aiplatform:v1 : GoogleCloudAiplatformV1ExactMatchSpec /// - aiplatform:v1 : GoogleCloudAiplatformV1FeatureOnlineStoreOptimized /// - aiplatform:v1 : GoogleCloudAiplatformV1FeatureViewIndexConfigBruteForceConfig @@ -6735,6 +7377,7 @@ class $EgressSource { /// - aiplatform:v1 : GoogleCloudAiplatformV1StopTrialRequest /// - aiplatform:v1 : GoogleCloudAiplatformV1SyncFeatureViewRequest /// - aiplatform:v1 : GoogleCloudAiplatformV1ToolCallValidSpec +/// - aiplatform:v1 : GoogleCloudAiplatformV1ToolCodeExecution /// - aiplatform:v1 : GoogleCloudAiplatformV1ToolGoogleSearch /// - aiplatform:v1 : GoogleCloudAiplatformV1ToolNameMatchSpec /// - aiplatform:v1 : GoogleCloudAiplatformV1ToolParameterKeyMatchSpec @@ -6751,11 +7394,11 @@ class $EgressSource { /// - aiplatform:v1 : GoogleProtobufEmpty /// - alloydb:v1 : CancelOperationRequest /// - alloydb:v1 : Empty +/// - alloydb:v1 : SqlImportOptions /// - analyticshub:v1 : DefaultExchangeConfig /// - analyticshub:v1 : Empty /// - analyticshub:v1 : PubsubWrapper /// - analyticshub:v1 : RefreshSubscriptionRequest -/// - analyticshub:v1 : RevokeSubscriptionRequest /// - analyticshub:v1 : RevokeSubscriptionResponse /// - analyticshub:v1 : TextConfig /// - androiddeviceprovisioning:v1 : Empty @@ -6864,12 +7507,12 @@ class $EgressSource { /// - bigtableadmin:v2 : GoogleBigtableAdminV2TypeAggregateMin /// - bigtableadmin:v2 : GoogleBigtableAdminV2TypeAggregateSum /// - bigtableadmin:v2 : GoogleBigtableAdminV2TypeBool -/// - bigtableadmin:v2 : GoogleBigtableAdminV2TypeBytesEncodingRaw /// - bigtableadmin:v2 : GoogleBigtableAdminV2TypeDate /// - bigtableadmin:v2 : GoogleBigtableAdminV2TypeFloat32 /// - bigtableadmin:v2 : GoogleBigtableAdminV2TypeFloat64 -/// - bigtableadmin:v2 : GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes -/// - bigtableadmin:v2 : GoogleBigtableAdminV2TypeTimestamp +/// - bigtableadmin:v2 : GoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes +/// - bigtableadmin:v2 : GoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes +/// - bigtableadmin:v2 : GoogleBigtableAdminV2TypeStructEncodingSingleton /// - bigtableadmin:v2 : RowAffinity /// - bigtableadmin:v2 : StandardReadRemoteWrites /// - bigtableadmin:v2 : UndeleteTableRequest @@ -6928,6 +7571,7 @@ class $EgressSource { /// - cloudfunctions:v2 : AbortFunctionUpgradeRequest /// - cloudfunctions:v2 : AutomaticUpdatePolicy /// - cloudfunctions:v2 : CommitFunctionUpgradeRequest +/// - cloudfunctions:v2 : DetachFunctionRequest /// - cloudfunctions:v2 : GenerateDownloadUrlRequest /// - cloudfunctions:v2 : RedirectFunctionUpgradeTrafficRequest /// - cloudfunctions:v2 : RollbackFunctionUpgradeTrafficRequest @@ -7040,6 +7684,9 @@ class $EgressSource { /// - dataplex:v1 : GoogleCloudDataplexV1RunDataScanRequest /// - dataplex:v1 : GoogleCloudDataplexV1TriggerOnDemand /// - dataplex:v1 : GoogleLongrunningCancelOperationRequest +/// - dataportability:v1 : CancelPortabilityArchiveRequest +/// - dataportability:v1 : CancelPortabilityArchiveResponse +/// - dataportability:v1 : CheckAccessTypeRequest /// - dataportability:v1 : Empty /// - dataportability:v1 : ResetAuthorizationRequest /// - dataportability:v1 : RetryPortabilityArchiveRequest @@ -7091,6 +7738,7 @@ class $EgressSource { /// - displayvideo:v2 : DeactivateManualTriggerRequest /// - displayvideo:v2 : Empty /// - displayvideo:v3 : Empty +/// - displayvideo:v4 : Empty /// - dlp:v2 : GooglePrivacyDlpV2ActivateJobTriggerRequest /// - dlp:v2 : GooglePrivacyDlpV2AllInfoTypes /// - dlp:v2 : GooglePrivacyDlpV2AllOtherBigQueryTables @@ -7101,10 +7749,12 @@ class $EgressSource { /// - dlp:v2 : GooglePrivacyDlpV2CloudSqlIamCredential /// - dlp:v2 : GooglePrivacyDlpV2Disabled /// - dlp:v2 : GooglePrivacyDlpV2FinishDlpJobRequest +/// - dlp:v2 : GooglePrivacyDlpV2GlobalProcessing /// - dlp:v2 : GooglePrivacyDlpV2HybridInspectResponse /// - dlp:v2 : GooglePrivacyDlpV2JobNotificationEmails /// - dlp:v2 : GooglePrivacyDlpV2LeaveUntransformed /// - dlp:v2 : GooglePrivacyDlpV2Manual +/// - dlp:v2 : GooglePrivacyDlpV2MultiRegionProcessing /// - dlp:v2 : GooglePrivacyDlpV2PublishFindingsToCloudDataCatalog /// - dlp:v2 : GooglePrivacyDlpV2PublishSummaryToCscc /// - dlp:v2 : GooglePrivacyDlpV2PublishToChronicle @@ -7152,7 +7802,6 @@ class $EgressSource { /// - eventarc:v1 : GoogleLongrunningCancelOperationRequest /// - file:v1 : CancelOperationRequest /// - file:v1 : Empty -/// - file:v1 : PromoteReplicaRequest /// - firebaseappcheck:v1 : GoogleFirebaseAppcheckV1GenerateAppAttestChallengeRequest /// - firebaseappcheck:v1 : GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeRequest /// - firebaseappcheck:v1 : GoogleProtobufEmpty @@ -7223,6 +7872,7 @@ class $EgressSource { /// - ids:v1 : CancelOperationRequest /// - ids:v1 : Empty /// - integrations:v1 : GoogleCloudIntegrationsV1alphaDeprovisionClientRequest +/// - integrations:v1 : GoogleCloudIntegrationsV1alphaExecuteTestCasesRequest /// - integrations:v1 : GoogleCloudIntegrationsV1alphaPublishIntegrationVersionResponse /// - integrations:v1 : GoogleCloudIntegrationsV1alphaResolveSuspensionResponse /// - integrations:v1 : GoogleCloudIntegrationsV1alphaTakeoverEditLockRequest @@ -7260,6 +7910,7 @@ class $EgressSource { /// - migrationcenter:v1 : AggregationCount /// - migrationcenter:v1 : AggregationFrequency /// - migrationcenter:v1 : AggregationSum +/// - migrationcenter:v1 : AwsRds /// - migrationcenter:v1 : CancelOperationRequest /// - migrationcenter:v1 : Empty /// - migrationcenter:v1 : ReportAssetFramesResponse @@ -7390,6 +8041,7 @@ class $EgressSource { /// - serviceusage:v1 : Empty /// - serviceusage:v1 : EnableServiceRequest /// - sheets:v4 : ClearValuesRequest +/// - spanner:v1 : AddSplitPointsResponse /// - spanner:v1 : DualRegionQuorum /// - spanner:v1 : Empty /// - spanner:v1 : FullBackupSpec @@ -7445,6 +8097,7 @@ class $EgressSource { /// - vault:v1 : CancelOperationRequest /// - vault:v1 : CloseMatterRequest /// - vault:v1 : Empty +/// - vault:v1 : GeminiOptions /// - vault:v1 : HeldCalendarQuery /// - vault:v1 : ReopenMatterRequest /// - vault:v1 : UndeleteMatterRequest @@ -7477,6 +8130,7 @@ class $EgressSource { /// - vmmigration:v1 : SkipOsAdaptation /// - vmmigration:v1 : StartMigrationRequest /// - vmwareengine:v1 : Empty +/// - walletobjects:v1 : SetPassUpdateNoticeResponse /// - walletobjects:v1 : TransitObjectUploadRotatingBarcodeValuesResponse /// - webrisk:v1 : GoogleLongrunningCancelOperationRequest /// - webrisk:v1 : GoogleProtobufEmpty @@ -7622,6 +8276,30 @@ class $Endpoint { }; } +/// Used by: +/// +/// - connectors:v1 : EnrichmentConfig +/// - integrations:v1 : GoogleCloudConnectorsV1EnrichmentConfig +class $EnrichmentConfig { + /// Append ACL to the event. + /// + /// Optional. + core.bool? appendAcl; + + $EnrichmentConfig({ + this.appendAcl, + }); + + $EnrichmentConfig.fromJson(core.Map json_) + : this( + appendAcl: json_['appendAcl'] as core.bool?, + ); + + core.Map toJson() => { + if (appendAcl != null) 'appendAcl': appendAcl!, + }; +} + /// Used by: /// /// - datamigration:v1 : DatabaseInstanceEntity @@ -7684,6 +8362,7 @@ class $EnvelopeSignature { /// /// - displayvideo:v2 : EnvironmentAssignedTargetingOptionDetails /// - displayvideo:v3 : EnvironmentAssignedTargetingOptionDetails +/// - displayvideo:v4 : EnvironmentAssignedTargetingOptionDetails class $EnvironmentAssignedTargetingOptionDetails { /// The serving environment. /// @@ -7723,6 +8402,7 @@ class $EnvironmentAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : EnvironmentTargetingOptionDetails /// - displayvideo:v3 : EnvironmentTargetingOptionDetails +/// - displayvideo:v4 : EnvironmentTargetingOptionDetails class $EnvironmentTargetingOptionDetails { /// The serving environment. /// @@ -7783,8 +8463,8 @@ class $Error { /// Used by: /// +/// - compute:v1 : ErrorInfo /// - deploymentmanager:v2 : ErrorInfo -/// - networkconnectivity:v1 : GoogleRpcErrorInfo class $ErrorInfo { /// The logical grouping to which the "reason" belongs. /// @@ -7797,14 +8477,14 @@ class $ErrorInfo { /// Additional structured details about this error. /// - /// Keys must match /a-z+/ but should ideally be lowerCamelCase. Also they - /// must be limited to 64 characters in length. When identifying the current - /// value of an exceeded limit, the units should be contained in the key, not - /// the value. For example, rather than {"instanceLimit": "100/request"}, - /// should be returned as, {"instanceLimitPerRequest": "100"}, if the client - /// exceeds the number of instances that can be created in a single (batch) - /// request. - core.Map? metadata; + /// Keys must match a regular expression of `a-z+` but should ideally be + /// lowerCamelCase. Also, they must be limited to 64 characters in length. + /// When identifying the current value of an exceeded limit, the units should + /// be contained in the key, not the value. For example, rather than + /// `{"instanceLimit": "100/request"}`, should be returned as, + /// `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of + /// instances that can be created in a single (batch) request. + core.Map? metadatas; /// The reason of the error. /// @@ -7816,15 +8496,15 @@ class $ErrorInfo { $ErrorInfo({ this.domain, - this.metadata, + this.metadatas, this.reason, }); $ErrorInfo.fromJson(core.Map json_) : this( domain: json_['domain'] as core.String?, - metadata: - (json_['metadata'] as core.Map?)?.map( + metadatas: + (json_['metadatas'] as core.Map?)?.map( (key, value) => core.MapEntry( key, value as core.String, @@ -7835,7 +8515,7 @@ class $ErrorInfo { core.Map toJson() => { if (domain != null) 'domain': domain!, - if (metadata != null) 'metadata': metadata!, + if (metadatas != null) 'metadatas': metadatas!, if (reason != null) 'reason': reason!, }; } @@ -8028,6 +8708,7 @@ class $EventingStatus { /// /// - displayvideo:v2 : ExchangeAssignedTargetingOptionDetails /// - displayvideo:v3 : ExchangeAssignedTargetingOptionDetails +/// - displayvideo:v4 : ExchangeAssignedTargetingOptionDetails class $ExchangeAssignedTargetingOptionDetails { /// The enum value for the exchange. /// @@ -8140,6 +8821,7 @@ class $ExchangeAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : ExchangeConfigEnabledExchange /// - displayvideo:v3 : ExchangeConfigEnabledExchange +/// - displayvideo:v4 : ExchangeConfigEnabledExchange class $ExchangeConfigEnabledExchange { /// The enabled exchange. /// Possible string values are: @@ -8282,6 +8964,7 @@ class $ExchangeConfigEnabledExchange { /// /// - displayvideo:v2 : ExchangeReviewStatus /// - displayvideo:v3 : ExchangeReviewStatus +/// - displayvideo:v4 : ExchangeReviewStatus class $ExchangeReviewStatus { /// The exchange reviewing the creative. /// Possible string values are: @@ -8404,6 +9087,7 @@ class $ExchangeReviewStatus { /// /// - displayvideo:v2 : ExchangeTargetingOptionDetails /// - displayvideo:v3 : ExchangeTargetingOptionDetails +/// - displayvideo:v4 : ExchangeTargetingOptionDetails class $ExchangeTargetingOptionDetails { /// The type of exchange. /// @@ -8597,16 +9281,21 @@ class $ExecutionStats { /// /// - displayvideo:v2 : ExitEvent /// - displayvideo:v3 : ExitEvent +/// - displayvideo:v4 : ExitEvent class $ExitEvent { /// The name of the click tag of the exit event. /// /// The name must be unique within one creative. Leave it empty or unset for /// creatives containing image assets only. + /// + /// Optional. core.String? name; /// The name used to identify this event in reports. /// /// Leave it empty or unset for creatives containing image assets only. + /// + /// Optional. core.String? reportingName; /// The type of the exit event. @@ -8826,10 +9515,11 @@ class $ExportMetadataRequest { /// Used by: /// -/// - vault:v1 : CalendarExportOptions -/// - vault:v1 : VoiceExportOptions +/// - vault:v1 : GeminiExportOptions +/// - vault:v1 : GroupsExportOptions +/// - vault:v1 : HangoutsChatExportOptions class $ExportOptions00 { - /// The file format for exported text messages. + /// The file format for exported messages. /// Possible string values are: /// - "EXPORT_FORMAT_UNSPECIFIED" : No export format specified. /// - "MBOX" : Export as MBOX. Only available for Gmail, Groups, Hangouts and @@ -8837,6 +9527,7 @@ class $ExportOptions00 { /// - "PST" : Export as PST. Only available for Gmail, Groups, Hangouts, Voice /// and Calendar. /// - "ICS" : Export as ICS. Only available for Calendar. + /// - "XML" : Export as XML. Only available for Gemini. core.String? exportFormat; $ExportOptions00({ @@ -8855,10 +9546,10 @@ class $ExportOptions00 { /// Used by: /// -/// - vault:v1 : GroupsExportOptions -/// - vault:v1 : HangoutsChatExportOptions +/// - vault:v1 : CalendarExportOptions +/// - vault:v1 : VoiceExportOptions class $ExportOptions01 { - /// The file format for exported messages. + /// The file format for exported text messages. /// Possible string values are: /// - "EXPORT_FORMAT_UNSPECIFIED" : No export format specified. /// - "MBOX" : Export as MBOX. Only available for Gmail, Groups, Hangouts and @@ -8866,6 +9557,7 @@ class $ExportOptions01 { /// - "PST" : Export as PST. Only available for Gmail, Groups, Hangouts, Voice /// and Calendar. /// - "ICS" : Export as ICS. Only available for Calendar. + /// - "XML" : Export as XML. Only available for Gemini. core.String? exportFormat; $ExportOptions01({ @@ -8932,9 +9624,7 @@ class $ExportOptions01 { /// - iam:v2 : GoogleTypeExpr /// - iap:v1 : Expr /// - identitytoolkit:v2 : GoogleTypeExpr -/// - ids:v1 : Expr /// - logging:v2 : Expr -/// - looker:v1 : Expr /// - managedidentities:v1 : Expr /// - metastore:v1 : Expr /// - ml:v1 : GoogleType__Expr @@ -9131,30 +9821,6 @@ class $FetchGitRefsResponse { }; } -/// Used by: -/// -/// - containeranalysis:v1 : GrafeasV1FileLocation -/// - ondemandscanning:v1 : FileLocation -/// - ondemandscanning:v1 : GrafeasV1FileLocation -class $FileLocation { - /// For jars that are contained inside .war files, this filepath can indicate - /// the path to war file combined with the path to jar file. - core.String? filePath; - - $FileLocation({ - this.filePath, - }); - - $FileLocation.fromJson(core.Map json_) - : this( - filePath: json_['filePath'] as core.String?, - ); - - core.Map toJson() => { - if (filePath != null) 'filePath': filePath!, - }; -} - /// Used by: /// /// - aiplatform:v1 : GoogleCloudAiplatformV1ExportFilterSplit @@ -9257,81 +9923,11 @@ class $Fingerprint { }; } -/// Used by: -/// -/// - displayvideo:v2 : FirstAndThirdPartyAudienceTargetingSetting -/// - displayvideo:v3 : FirstAndThirdPartyAudienceTargetingSetting -class $FirstAndThirdPartyAudienceTargetingSetting { - /// First and third party audience id of the first and third party audience - /// targeting setting. - /// - /// This id is first_and_third_party_audience_id. - /// - /// Required. - core.String? firstAndThirdPartyAudienceId; - - /// 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. - /// Possible string values are: - /// - "RECENCY_NO_LIMIT" : No limit of recency. - /// - "RECENCY_1_MINUTE" : Recency is 1 minute. - /// - "RECENCY_5_MINUTES" : Recency is 5 minutes. - /// - "RECENCY_10_MINUTES" : Recency is 10 minutes. - /// - "RECENCY_15_MINUTES" : Recency is 15 minutes. - /// - "RECENCY_30_MINUTES" : Recency is 30 minutes. - /// - "RECENCY_1_HOUR" : Recency is 1 hour. - /// - "RECENCY_2_HOURS" : Recency is 2 hours. - /// - "RECENCY_3_HOURS" : Recency is 3 hours. - /// - "RECENCY_6_HOURS" : Recency is 6 hours. - /// - "RECENCY_12_HOURS" : Recency is 12 hours. - /// - "RECENCY_1_DAY" : Recency is 1 day. - /// - "RECENCY_2_DAYS" : Recency is 2 days. - /// - "RECENCY_3_DAYS" : Recency is 3 days. - /// - "RECENCY_5_DAYS" : Recency is 5 days. - /// - "RECENCY_7_DAYS" : Recency is 7 days. - /// - "RECENCY_10_DAYS" : Recency is 10 days. - /// - "RECENCY_14_DAYS" : Recency is 14 days. - /// - "RECENCY_15_DAYS" : Recency is 15 days. - /// - "RECENCY_21_DAYS" : Recency is 21 days. - /// - "RECENCY_28_DAYS" : Recency is 28 days. - /// - "RECENCY_30_DAYS" : Recency is 30 days. - /// - "RECENCY_40_DAYS" : Recency is 40 days. - /// - "RECENCY_45_DAYS" : Recency is 45 days. - /// - "RECENCY_60_DAYS" : Recency is 60 days. - /// - "RECENCY_90_DAYS" : Recency is 90 days. - /// - "RECENCY_120_DAYS" : Recency is 120 days. - /// - "RECENCY_180_DAYS" : Recency is 180 days. - /// - "RECENCY_270_DAYS" : Recency is 270 days. - /// - "RECENCY_365_DAYS" : Recency is 365 days. - core.String? recency; - - $FirstAndThirdPartyAudienceTargetingSetting({ - this.firstAndThirdPartyAudienceId, - this.recency, - }); - - $FirstAndThirdPartyAudienceTargetingSetting.fromJson(core.Map json_) - : this( - firstAndThirdPartyAudienceId: - json_['firstAndThirdPartyAudienceId'] as core.String?, - recency: json_['recency'] as core.String?, - ); - - core.Map toJson() => { - if (firstAndThirdPartyAudienceId != null) - 'firstAndThirdPartyAudienceId': firstAndThirdPartyAudienceId!, - if (recency != null) 'recency': recency!, - }; -} - /// Used by: /// /// - displayvideo:v2 : FixedBidStrategy /// - displayvideo:v3 : FixedBidStrategy +/// - displayvideo:v4 : FixedBidStrategy class $FixedBidStrategy { /// The fixed bid amount, in micros of the advertiser's currency. /// @@ -9475,6 +10071,7 @@ class $FractionSplit { /// /// - displayvideo:v2 : FrequencyCap /// - displayvideo:v3 : FrequencyCap +/// - displayvideo:v4 : FrequencyCap class $FrequencyCap { /// The maximum number of times a user may be shown the same ad during this /// period. @@ -9494,7 +10091,11 @@ class $FrequencyCap { /// The time unit in which the frequency cap will be applied. /// - /// Required when unlimited is `false`. + /// Required when unlimited is `false`. *Warning*: On **February 28, 2025**, + /// frequency cap time periods greater than 30 days will no longer be + /// accepted. This field will no longer accept the value `TIME_UNIT_LIFETIME`. + /// \[Read more about this announced + /// change\](/display-video/api/deprecations#features.lifetime_frequency_cap). /// Possible string values are: /// - "TIME_UNIT_UNSPECIFIED" : Time unit value is not specified or is unknown /// in this version. @@ -9519,7 +10120,11 @@ class $FrequencyCap { /// 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 + /// `TIME_UNIT_MINUTES` - must be between 1 and 59 *Warning*: On **February + /// 28, 2025**, frequency cap time periods greater than 30 days will no longer + /// be accepted. This field will no longer accept the value 2 if the value of + /// time_unit is `TIME_UNIT_MONTHS`. \[Read more about this announced + /// change\](/display-video/api/deprecations#features.lifetime_frequency_cap). core.int? timeUnitCount; /// Whether unlimited frequency capping is applied. @@ -9658,6 +10263,7 @@ class $GcsSource { /// /// - displayvideo:v2 : GenderAssignedTargetingOptionDetails /// - displayvideo:v3 : GenderAssignedTargetingOptionDetails +/// - displayvideo:v4 : GenderAssignedTargetingOptionDetails class $GenderAssignedTargetingOptionDetails { /// The gender of the audience. /// @@ -9689,6 +10295,7 @@ class $GenderAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : GenderTargetingOptionDetails /// - displayvideo:v3 : GenderTargetingOptionDetails +/// - displayvideo:v4 : GenderTargetingOptionDetails class $GenderTargetingOptionDetails { /// The gender of an audience. /// @@ -9739,10 +10346,35 @@ class $GenerateDownloadUrlResponse { }; } +/// Used by: +/// +/// - androidenterprise:v1 : GenerateEnterpriseUpgradeUrlResponse +/// - androidmanagement:v1 : GenerateEnterpriseUpgradeUrlResponse +class $GenerateEnterpriseUpgradeUrlResponse { + /// A URL for an enterprise admin to upgrade their enterprise. + /// + /// The page can't be rendered in an iframe. + core.String? url; + + $GenerateEnterpriseUpgradeUrlResponse({ + this.url, + }); + + $GenerateEnterpriseUpgradeUrlResponse.fromJson(core.Map json_) + : this( + url: json_['url'] as core.String?, + ); + + core.Map toJson() => { + if (url != null) 'url': url!, + }; +} + /// Used by: /// /// - displayvideo:v2 : GeoRegionAssignedTargetingOptionDetails /// - displayvideo:v3 : GeoRegionAssignedTargetingOptionDetails +/// - displayvideo:v4 : GeoRegionAssignedTargetingOptionDetails class $GeoRegionAssignedTargetingOptionDetails { /// The display name of the geographic region (e.g., "Ontario, Canada"). /// @@ -9791,6 +10423,19 @@ class $GeoRegionAssignedTargetingOptionDetails { /// neighborhood. /// - "GEO_REGION_TYPE_UNIVERSITY" : The geographic region is a university. /// - "GEO_REGION_TYPE_DISTRICT" : The geographic region is a district. + /// - "GEO_REGION_TYPE_NATIONAL_PARK" : The geographic region is a national + /// park. + /// - "GEO_REGION_TYPE_BARRIO" : The geographic region is a barrio. + /// - "GEO_REGION_TYPE_SUB_WARD" : The geographic region is a sub ward. + /// - "GEO_REGION_TYPE_MUNICIPALITY_DISTRICT" : The geographic region is a + /// municipality district. + /// - "GEO_REGION_TYPE_SUB_DISTRICT" : The geographic region is a sub + /// district. + /// - "GEO_REGION_TYPE_QUARTER" : The geographic region is a quarter. + /// - "GEO_REGION_TYPE_DIVISION" : The geographic region is a division. + /// - "GEO_REGION_TYPE_COMMUNE" : The geographic region is a commune. + /// - "GEO_REGION_TYPE_COLLOQUIAL_AREA" : The geographic region is a + /// colloquial area. core.String? geoRegionType; /// Indicates if this option is being negatively targeted. @@ -9829,6 +10474,7 @@ class $GeoRegionAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : GeoRegionSearchTerms /// - displayvideo:v3 : GeoRegionSearchTerms +/// - displayvideo:v4 : GeoRegionSearchTerms class $GeoRegionSearchTerms { /// The search query for the desired geo region. /// @@ -9853,6 +10499,7 @@ class $GeoRegionSearchTerms { /// /// - displayvideo:v2 : GeoRegionTargetingOptionDetails /// - displayvideo:v3 : GeoRegionTargetingOptionDetails +/// - displayvideo:v4 : GeoRegionTargetingOptionDetails class $GeoRegionTargetingOptionDetails { /// The display name of the geographic region (e.g., "Ontario, Canada"). /// @@ -9901,6 +10548,19 @@ class $GeoRegionTargetingOptionDetails { /// neighborhood. /// - "GEO_REGION_TYPE_UNIVERSITY" : The geographic region is a university. /// - "GEO_REGION_TYPE_DISTRICT" : The geographic region is a district. + /// - "GEO_REGION_TYPE_NATIONAL_PARK" : The geographic region is a national + /// park. + /// - "GEO_REGION_TYPE_BARRIO" : The geographic region is a barrio. + /// - "GEO_REGION_TYPE_SUB_WARD" : The geographic region is a sub ward. + /// - "GEO_REGION_TYPE_MUNICIPALITY_DISTRICT" : The geographic region is a + /// municipality district. + /// - "GEO_REGION_TYPE_SUB_DISTRICT" : The geographic region is a sub + /// district. + /// - "GEO_REGION_TYPE_QUARTER" : The geographic region is a quarter. + /// - "GEO_REGION_TYPE_DIVISION" : The geographic region is a division. + /// - "GEO_REGION_TYPE_COMMUNE" : The geographic region is a commune. + /// - "GEO_REGION_TYPE_COLLOQUIAL_AREA" : The geographic region is a + /// colloquial area. core.String? geoRegionType; $GeoRegionTargetingOptionDetails({ @@ -10088,6 +10748,7 @@ class $GlossaryConfig { /// /// - displayvideo:v2 : GoogleAudience /// - displayvideo:v3 : GoogleAudience +/// - displayvideo:v4 : GoogleAudience class $GoogleAudience { /// The display name of the Google audience. /// @@ -10155,6 +10816,7 @@ class $GoogleAudience { /// /// - displayvideo:v2 : GoogleAudienceTargetingSetting /// - displayvideo:v3 : GoogleAudienceTargetingSetting +/// - displayvideo:v4 : GoogleAudienceTargetingSetting class $GoogleAudienceTargetingSetting { /// Google audience id of the Google audience targeting setting. /// @@ -10869,6 +11531,7 @@ class $GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource { /// /// - displayvideo:v2 : GuaranteedOrderStatus /// - displayvideo:v3 : GuaranteedOrderStatus +/// - displayvideo:v4 : GuaranteedOrderStatus class $GuaranteedOrderStatus { /// The configuration status of the guaranteed order. /// @@ -11093,6 +11756,7 @@ class $Header { /// /// - displayvideo:v2 : HouseholdIncomeAssignedTargetingOptionDetails /// - displayvideo:v3 : HouseholdIncomeAssignedTargetingOptionDetails +/// - displayvideo:v4 : HouseholdIncomeAssignedTargetingOptionDetails class $HouseholdIncomeAssignedTargetingOptionDetails { /// The household income of the audience. /// @@ -11135,6 +11799,7 @@ class $HouseholdIncomeAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : HouseholdIncomeTargetingOptionDetails /// - displayvideo:v3 : HouseholdIncomeTargetingOptionDetails +/// - displayvideo:v4 : HouseholdIncomeTargetingOptionDetails class $HouseholdIncomeTargetingOptionDetails { /// The household income of an audience. /// @@ -11233,6 +11898,114 @@ class $HttpBody { }; } +/// Used by: +/// +/// - displayvideo:v3 : IdFilter +/// - displayvideo:v4 : IdFilter +class $IdFilter { + /// YouTube Ads to download by ID. + /// + /// All IDs must belong to the same Advertiser or Partner specified in + /// CreateSdfDownloadTaskRequest. + core.List? adGroupAdIds; + + /// YouTube Ad Groups to download by ID. + /// + /// All IDs must belong to the same Advertiser or Partner specified in + /// CreateSdfDownloadTaskRequest. + core.List? adGroupIds; + + /// YouTube Ad Groups, by ID, to download in QA format. + /// + /// All IDs must belong to the same Advertiser or Partner specified in + /// CreateSdfDownloadTaskRequest. + /// + /// Optional. + core.List? adGroupQaIds; + + /// Campaigns to download by ID. + /// + /// All IDs must belong to the same Advertiser or Partner specified in + /// CreateSdfDownloadTaskRequest. + core.List? campaignIds; + + /// Insertion Orders to download by ID. + /// + /// All IDs must belong to the same Advertiser or Partner specified in + /// CreateSdfDownloadTaskRequest. + core.List? insertionOrderIds; + + /// Line Items to download by ID. + /// + /// All IDs must belong to the same Advertiser or Partner specified in + /// CreateSdfDownloadTaskRequest. + core.List? lineItemIds; + + /// Line Items, by ID, to download in QA format. + /// + /// All IDs must belong to the same Advertiser or Partner specified in + /// CreateSdfDownloadTaskRequest. + /// + /// Optional. + core.List? lineItemQaIds; + + /// Media Products to download by ID. + /// + /// All IDs must belong to the same Advertiser or Partner specified in + /// CreateSdfDownloadTaskRequest. + core.List? mediaProductIds; + + $IdFilter({ + this.adGroupAdIds, + this.adGroupIds, + this.adGroupQaIds, + this.campaignIds, + this.insertionOrderIds, + this.lineItemIds, + this.lineItemQaIds, + this.mediaProductIds, + }); + + $IdFilter.fromJson(core.Map json_) + : this( + adGroupAdIds: (json_['adGroupAdIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + adGroupIds: (json_['adGroupIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + adGroupQaIds: (json_['adGroupQaIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + campaignIds: (json_['campaignIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + insertionOrderIds: (json_['insertionOrderIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + lineItemIds: (json_['lineItemIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + lineItemQaIds: (json_['lineItemQaIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + mediaProductIds: (json_['mediaProductIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (adGroupAdIds != null) 'adGroupAdIds': adGroupAdIds!, + if (adGroupIds != null) 'adGroupIds': adGroupIds!, + if (adGroupQaIds != null) 'adGroupQaIds': adGroupQaIds!, + if (campaignIds != null) 'campaignIds': campaignIds!, + if (insertionOrderIds != null) 'insertionOrderIds': insertionOrderIds!, + if (lineItemIds != null) 'lineItemIds': lineItemIds!, + if (lineItemQaIds != null) 'lineItemQaIds': lineItemQaIds!, + if (mediaProductIds != null) 'mediaProductIds': mediaProductIds!, + }; +} + /// Used by: /// /// - containeranalysis:v1 : Identity @@ -12434,12 +13207,13 @@ class $InstanceGroupManagersSuspendInstancesRequest { /// Used by: /// -/// - displayvideo:v2 : IntegralAdScience /// - displayvideo:v3 : IntegralAdScience +/// - displayvideo:v4 : IntegralAdScience class $IntegralAdScience { /// The custom segment ID provided by Integral Ad Science. /// - /// The ID must be between `1000001` and `1999999`, inclusive. + /// The ID must be between `1000001` and `1999999` or `3000001` and `3999999`, + /// inclusive. core.List? customSegmentId; /// Display Viewability section (applicable to display line items only). @@ -12529,6 +13303,13 @@ class $IntegralAdScience { /// - "VIOLENCE_HMR" : Violence - Exclude High and Moderate Risk. core.String? excludedViolenceRisk; + /// The quality sync custom segment ID provided by Integral Ad Science. + /// + /// The ID must be between `3000000` and `4999999`, inclusive. + /// + /// Optional. + core.List? qualitySyncCustomSegmentId; + /// True advertising quality (applicable to Display line items only). /// Possible string values are: /// - "TRAQ_UNSPECIFIED" : This enum is only a placeholder and it doesn't @@ -12565,6 +13346,7 @@ class $IntegralAdScience { this.excludedIllegalDownloadsRisk, this.excludedOffensiveLanguageRisk, this.excludedViolenceRisk, + this.qualitySyncCustomSegmentId, this.traqScoreOption, this.videoViewability, }); @@ -12588,6 +13370,10 @@ class $IntegralAdScience { excludedOffensiveLanguageRisk: json_['excludedOffensiveLanguageRisk'] as core.String?, excludedViolenceRisk: json_['excludedViolenceRisk'] as core.String?, + qualitySyncCustomSegmentId: + (json_['qualitySyncCustomSegmentId'] as core.List?) + ?.map((value) => value as core.String) + .toList(), traqScoreOption: json_['traqScoreOption'] as core.String?, videoViewability: json_['videoViewability'] as core.String?, ); @@ -12613,6 +13399,8 @@ class $IntegralAdScience { 'excludedOffensiveLanguageRisk': excludedOffensiveLanguageRisk!, if (excludedViolenceRisk != null) 'excludedViolenceRisk': excludedViolenceRisk!, + if (qualitySyncCustomSegmentId != null) + 'qualitySyncCustomSegmentId': qualitySyncCustomSegmentId!, if (traqScoreOption != null) 'traqScoreOption': traqScoreOption!, if (videoViewability != null) 'videoViewability': videoViewability!, }; @@ -12622,6 +13410,7 @@ class $IntegralAdScience { /// /// - displayvideo:v2 : IntegrationDetails /// - displayvideo:v3 : IntegrationDetails +/// - displayvideo:v4 : IntegrationDetails class $IntegrationDetails { /// Additional details of the entry in string format. /// @@ -12661,6 +13450,7 @@ class $IntegrationDetails { /// - sheets:v4 : Interval /// - tpu:v2 : Interval /// - versionhistory:v1 : Interval +/// - vmwareengine:v1 : Interval class $Interval { /// Exclusive end of the interval. /// @@ -12699,6 +13489,7 @@ class $Interval { /// /// - displayvideo:v2 : InventorySourceAccessorsAdvertiserAccessors /// - displayvideo:v3 : InventorySourceAccessorsAdvertiserAccessors +/// - displayvideo:v4 : InventorySourceAccessorsAdvertiserAccessors class $InventorySourceAccessorsAdvertiserAccessors { /// The IDs of the advertisers. core.List? advertiserIds; @@ -12723,6 +13514,7 @@ class $InventorySourceAccessorsAdvertiserAccessors { /// /// - displayvideo:v2 : InventorySourceAccessorsPartnerAccessor /// - displayvideo:v3 : InventorySourceAccessorsPartnerAccessor +/// - displayvideo:v4 : InventorySourceAccessorsPartnerAccessor class $InventorySourceAccessorsPartnerAccessor { /// The ID of the partner. core.String? partnerId; @@ -12745,6 +13537,7 @@ class $InventorySourceAccessorsPartnerAccessor { /// /// - displayvideo:v2 : InventorySourceAssignedTargetingOptionDetails /// - displayvideo:v3 : InventorySourceAssignedTargetingOptionDetails +/// - displayvideo:v4 : InventorySourceAssignedTargetingOptionDetails class $InventorySourceAssignedTargetingOptionDetails { /// ID of the inventory source. /// @@ -12772,6 +13565,7 @@ class $InventorySourceAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : InventorySourceFilter /// - displayvideo:v3 : InventorySourceFilter +/// - displayvideo:v4 : InventorySourceFilter class $InventorySourceFilter { /// Inventory Sources to download by ID. /// @@ -12801,6 +13595,7 @@ class $InventorySourceFilter { /// /// - displayvideo:v2 : InventorySourceGroup /// - displayvideo:v3 : InventorySourceGroup +/// - displayvideo:v4 : InventorySourceGroup class $InventorySourceGroup { /// The display name of the inventory source group. /// @@ -12847,6 +13642,7 @@ class $InventorySourceGroup { /// /// - displayvideo:v2 : InventorySourceGroupAssignedTargetingOptionDetails /// - displayvideo:v3 : InventorySourceGroupAssignedTargetingOptionDetails +/// - displayvideo:v4 : InventorySourceGroupAssignedTargetingOptionDetails class $InventorySourceGroupAssignedTargetingOptionDetails { /// ID of the inventory source group. /// @@ -12876,6 +13672,7 @@ class $InventorySourceGroupAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : InventorySourceStatus /// - displayvideo:v3 : InventorySourceStatus +/// - displayvideo:v4 : InventorySourceStatus class $InventorySourceStatus { /// The configuration status of the inventory source. /// @@ -12980,6 +13777,7 @@ class $InventorySourceStatus { /// /// - displayvideo:v2 : InventorySourceVideoCreativeConfig /// - displayvideo:v3 : InventorySourceVideoCreativeConfig +/// - displayvideo:v4 : InventorySourceVideoCreativeConfig class $InventorySourceVideoCreativeConfig { /// The duration requirements for the video creatives that can be assigned to /// the inventory source. @@ -13048,9 +13846,53 @@ class $IssuesRequestPayload { ); core.Map toJson() => { - if (contentOption != null) 'contentOption': contentOption!, - if (userInputActionOption != null) - 'userInputActionOption': userInputActionOption!, + if (contentOption != null) 'contentOption': contentOption!, + if (userInputActionOption != null) + 'userInputActionOption': userInputActionOption!, + }; +} + +/// Used by: +/// +/// - analyticshub:v1 : JavaScriptUDF +/// - pubsub:v1 : JavaScriptUDF +class $JavaScriptUDF { + /// JavaScript code that contains a function `function_name` with the below + /// signature: ``` / * * * Transforms a Pub/Sub message. + /// + /// * @return {(Object)>|null)} - To * filter a message, return `null`. To + /// transform a message return a map * with the following keys: * - (required) + /// 'data' : {string} * - (optional) 'attributes' : {Object} * Returning empty + /// `attributes` will remove all attributes from the * message. * * @param + /// {(Object)>} Pub/Sub * message. Keys: * - (required) 'data' : {string} * - + /// (required) 'attributes' : {Object} * * @param {Object} metadata - Pub/Sub + /// message metadata. * Keys: * - (required) 'message_id' : {string} * - + /// (optional) 'publish_time': {string} YYYY-MM-DDTHH:MM:SSZ format * - + /// (optional) 'ordering_key': {string} * / function (message, metadata) { } + /// ``` + /// + /// Required. + core.String? code; + + /// Name of the JavasScript function that should applied to Pub/Sub messages. + /// + /// Required. + core.String? functionName; + + $JavaScriptUDF({ + this.code, + this.functionName, + }); + + $JavaScriptUDF.fromJson(core.Map json_) + : this( + code: json_['code'] as core.String?, + functionName: json_['functionName'] as core.String?, + ); + + core.Map toJson() => { + if (code != null) 'code': code!, + if (functionName != null) 'functionName': functionName!, }; } @@ -13266,6 +14108,7 @@ class $KeyAccessJustificationsPolicy { /// /// - displayvideo:v2 : KeywordAssignedTargetingOptionDetails /// - displayvideo:v3 : KeywordAssignedTargetingOptionDetails +/// - displayvideo:v4 : KeywordAssignedTargetingOptionDetails class $KeywordAssignedTargetingOptionDetails { /// The keyword, for example `car insurance`. /// @@ -13318,6 +14161,108 @@ class $KindExpression { }; } +/// Used by: +/// +/// - displayvideo:v3 : Kpi +/// - displayvideo:v4 : Kpi +class $Kpi { + /// Custom Bidding Algorithm ID associated with + /// KPI_CUSTOM_IMPRESSION_VALUE_OVER_COST. + /// + /// This field is ignored if the proper KPI is not selected. + /// + /// Optional. + core.String? kpiAlgorithmId; + + /// The goal amount, in micros of the advertiser's currency. + /// + /// Applicable when kpi_type is one of: * `KPI_TYPE_CPM` * `KPI_TYPE_CPC` * + /// `KPI_TYPE_CPA` * `KPI_TYPE_CPIAVC` * `KPI_TYPE_VCPM` For example: 1500000 + /// represents 1.5 standard units of the currency. + core.String? kpiAmountMicros; + + /// The decimal representation of the goal percentage in micros. + /// + /// Applicable when kpi_type is one of: * `KPI_TYPE_CTR` * + /// `KPI_TYPE_VIEWABILITY` * `KPI_TYPE_CLICK_CVR` * `KPI_TYPE_IMPRESSION_CVR` + /// * `KPI_TYPE_VTR` * `KPI_TYPE_AUDIO_COMPLETION_RATE` * + /// `KPI_TYPE_VIDEO_COMPLETION_RATE` For example: 70000 represents 7% (decimal + /// 0.07). + core.String? kpiPercentageMicros; + + /// A KPI string, which can be empty. + /// + /// Must be UTF-8 encoded with a length of no more than 100 characters. + /// Applicable when kpi_type is `KPI_TYPE_OTHER`. + core.String? kpiString; + + /// The type of KPI. + /// + /// Required. + /// Possible string values are: + /// - "KPI_TYPE_UNSPECIFIED" : KPI type is not specified or is unknown in this + /// version. + /// - "KPI_TYPE_CPM" : The KPI is CPM (cost per mille). + /// - "KPI_TYPE_CPC" : The KPI is CPC (cost per click). + /// - "KPI_TYPE_CPA" : The KPI is CPA (cost per action). + /// - "KPI_TYPE_CTR" : The KPI is CTR (click-through rate) percentage. + /// - "KPI_TYPE_VIEWABILITY" : The KPI is Viewability percentage. + /// - "KPI_TYPE_CPIAVC" : The KPI is CPIAVC (cost per impression audible and + /// visible at completion). + /// - "KPI_TYPE_CPE" : The KPI is CPE (cost per engagement). + /// - "KPI_TYPE_CPV" : The KPI is set in CPV (cost per view). + /// - "KPI_TYPE_CLICK_CVR" : The KPI is click conversion rate (conversions per + /// click) percentage. + /// - "KPI_TYPE_IMPRESSION_CVR" : The KPI is impression conversion rate + /// (conversions per impression) percentage. + /// - "KPI_TYPE_VCPM" : The KPI is VCPM (cost per thousand viewable + /// impressions). + /// - "KPI_TYPE_VTR" : The KPI is YouTube view rate (YouTube views per + /// impression) percentage. + /// - "KPI_TYPE_AUDIO_COMPLETION_RATE" : The KPI is audio completion rate + /// (complete audio listens per impression) percentage. + /// - "KPI_TYPE_VIDEO_COMPLETION_RATE" : The KPI is video completion rate + /// (complete video views per impression) percentage. + /// - "KPI_TYPE_CPCL" : The KPI is set in CPCL (cost per complete audio + /// listen). + /// - "KPI_TYPE_CPCV" : The KPI is set in CPCV (cost per complete video view). + /// - "KPI_TYPE_TOS10" : The KPI is set in rate of time on screen 10+ seconds + /// (Percentage of measurable, non-skippable impressions that were on the + /// screen for at least 10 seconds). + /// - "KPI_TYPE_MAXIMIZE_PACING" : The KPI is set to maximize brand impact + /// while prioritizing spending the full budget. + /// - "KPI_TYPE_CUSTOM_IMPRESSION_VALUE_OVER_COST" : The KPI is set in custom + /// impression value divided by cost. + /// - "KPI_TYPE_OTHER" : The KPI is some other value. + core.String? kpiType; + + $Kpi({ + this.kpiAlgorithmId, + this.kpiAmountMicros, + this.kpiPercentageMicros, + this.kpiString, + this.kpiType, + }); + + $Kpi.fromJson(core.Map json_) + : this( + kpiAlgorithmId: json_['kpiAlgorithmId'] as core.String?, + kpiAmountMicros: json_['kpiAmountMicros'] as core.String?, + kpiPercentageMicros: json_['kpiPercentageMicros'] as core.String?, + kpiString: json_['kpiString'] as core.String?, + kpiType: json_['kpiType'] as core.String?, + ); + + core.Map toJson() => { + if (kpiAlgorithmId != null) 'kpiAlgorithmId': kpiAlgorithmId!, + if (kpiAmountMicros != null) 'kpiAmountMicros': kpiAmountMicros!, + if (kpiPercentageMicros != null) + 'kpiPercentageMicros': kpiPercentageMicros!, + if (kpiString != null) 'kpiString': kpiString!, + if (kpiType != null) 'kpiType': kpiType!, + }; +} + /// Used by: /// /// - logging:v2 : LabelDescriptor @@ -13417,6 +14362,7 @@ class $Labels { /// /// - displayvideo:v2 : LanguageAssignedTargetingOptionDetails /// - displayvideo:v3 : LanguageAssignedTargetingOptionDetails +/// - displayvideo:v4 : LanguageAssignedTargetingOptionDetails class $LanguageAssignedTargetingOptionDetails { /// The display name of the language (e.g., "French"). /// @@ -13459,6 +14405,7 @@ class $LanguageAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : LanguageTargetingOptionDetails /// - displayvideo:v3 : LanguageTargetingOptionDetails +/// - displayvideo:v4 : LanguageTargetingOptionDetails class $LanguageTargetingOptionDetails { /// The display name of the language (e.g., "French"). /// @@ -13482,6 +14429,7 @@ class $LanguageTargetingOptionDetails { /// Used by: /// /// - addressvalidation:v1 : GoogleTypeLatLng +/// - aiplatform:v1 : GoogleTypeLatLng /// - airquality:v1 : LatLng /// - areainsights:v1 : LatLng /// - datastore:v1 : LatLng @@ -13717,6 +14665,7 @@ class $Lien { /// /// - displayvideo:v2 : LineItemBudget /// - displayvideo:v3 : LineItemBudget +/// - displayvideo:v4 : LineItemBudget class $LineItemBudget { /// The type of the budget allocation. /// @@ -14249,6 +15198,7 @@ class $Location01 { /// /// - displayvideo:v2 : LocationList /// - displayvideo:v3 : LocationList +/// - displayvideo:v4 : LocationList class $LocationList { /// The unique ID of the advertiser the location list belongs to. /// @@ -14414,6 +15364,7 @@ class $LogFileDirectories { /// /// - displayvideo:v2 : LookbackWindow /// - displayvideo:v3 : LookbackWindow +/// - displayvideo:v4 : LookbackWindow class $LookbackWindow { /// Lookback window, in days, from the last time a given user clicked on one /// of your ads. @@ -14444,6 +15395,7 @@ class $LookbackWindow { /// /// - displayvideo:v2 : LookupInvoiceCurrencyResponse /// - displayvideo:v3 : LookupInvoiceCurrencyResponse +/// - displayvideo:v4 : LookupInvoiceCurrencyResponse class $LookupInvoiceCurrencyResponse { /// Currency used by the advertiser in ISO 4217 format. core.String? currencyCode; @@ -14575,11 +15527,16 @@ class $Material { /// /// - displayvideo:v2 : MaximizeSpendBidStrategy /// - displayvideo:v3 : MaximizeSpendBidStrategy +/// - displayvideo:v4 : MaximizeSpendBidStrategy class $MaximizeSpendBidStrategy { /// The ID of the Custom Bidding Algorithm used by this strategy. /// /// Only applicable when performance_goal_type is set to - /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`. + /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`. *Warning*: Starting + /// **April 1, 2025**, assigning a custom bidding algorithm that uses + /// floodlight activities not identified in floodlightActivityConfigs will + /// return an error. \[Read more about this announced + /// change\](/display-video/api/deprecations#features.custom_bidding_floodlight). core.String? customBiddingAlgorithmId; /// The maximum average CPM that may be bid, in micros of the advertiser's @@ -14647,6 +15604,7 @@ class $MaximizeSpendBidStrategy { /// /// - displayvideo:v2 : MeasurementConfig /// - displayvideo:v3 : MeasurementConfig +/// - displayvideo:v4 : MeasurementConfig class $MeasurementConfig { /// Whether or not to report DV360 cost to CM360. core.bool? dv360ToCmCostReportingEnabled; @@ -14681,6 +15639,7 @@ class $MeasurementConfig { /// - cloudsearch:v1 : Media /// - displayvideo:v2 : GoogleBytestreamMedia /// - displayvideo:v3 : GoogleBytestreamMedia +/// - displayvideo:v4 : GoogleBytestreamMedia class $Media { /// Name of the media resource. core.String? resourceName; @@ -14893,6 +15852,7 @@ class $Mixin { /// /// - displayvideo:v2 : MobileApp /// - displayvideo:v3 : MobileApp +/// - displayvideo:v4 : MobileApp class $MobileApp { /// The ID of the app provided by the platform store. /// @@ -15034,6 +15994,7 @@ class $ModelSourceInfo { /// - contentwarehouse:v1 : GoogleTypeMoney /// - displayvideo:v2 : Money /// - displayvideo:v3 : Money +/// - displayvideo:v4 : Money /// - documentai:v1 : GoogleTypeMoney /// - domains:v1 : Money /// - jobs:v3 : Money @@ -15210,6 +16171,7 @@ class $MoveTableToDatabaseRequest { /// /// - displayvideo:v2 : NativeContentPositionAssignedTargetingOptionDetails /// - displayvideo:v3 : NativeContentPositionAssignedTargetingOptionDetails +/// - displayvideo:v4 : NativeContentPositionAssignedTargetingOptionDetails class $NativeContentPositionAssignedTargetingOptionDetails { /// The content position. /// @@ -15251,6 +16213,7 @@ class $NativeContentPositionAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : NativeContentPositionTargetingOptionDetails /// - displayvideo:v3 : NativeContentPositionTargetingOptionDetails +/// - displayvideo:v4 : NativeContentPositionTargetingOptionDetails class $NativeContentPositionTargetingOptionDetails { /// The content position. /// @@ -15292,6 +16255,7 @@ class $NativeContentPositionTargetingOptionDetails { /// /// - displayvideo:v2 : NegativeKeyword /// - displayvideo:v3 : NegativeKeyword +/// - displayvideo:v4 : NegativeKeyword class $NegativeKeyword { /// The negatively targeted keyword, for example `car insurance`. /// @@ -15330,6 +16294,7 @@ class $NegativeKeyword { /// /// - displayvideo:v2 : NegativeKeywordList /// - displayvideo:v3 : NegativeKeywordList +/// - displayvideo:v4 : NegativeKeywordList class $NegativeKeywordList { /// The unique ID of the advertiser the negative keyword list belongs to. /// @@ -15393,6 +16358,7 @@ class $NegativeKeywordList { /// /// - displayvideo:v2 : NegativeKeywordListAssignedTargetingOptionDetails /// - displayvideo:v3 : NegativeKeywordListAssignedTargetingOptionDetails +/// - displayvideo:v4 : NegativeKeywordListAssignedTargetingOptionDetails class $NegativeKeywordListAssignedTargetingOptionDetails { /// ID of the negative keyword list. /// @@ -15723,6 +16689,7 @@ class $OidcToken { /// /// - displayvideo:v2 : OmidAssignedTargetingOptionDetails /// - displayvideo:v3 : OmidAssignedTargetingOptionDetails +/// - displayvideo:v4 : OmidAssignedTargetingOptionDetails class $OmidAssignedTargetingOptionDetails { /// The type of Open Measurement enabled inventory. /// @@ -15752,6 +16719,7 @@ class $OmidAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : OmidTargetingOptionDetails /// - displayvideo:v3 : OmidTargetingOptionDetails +/// - displayvideo:v4 : OmidTargetingOptionDetails class $OmidTargetingOptionDetails { /// The type of Open Measurement enabled inventory. /// @@ -15781,6 +16749,7 @@ class $OmidTargetingOptionDetails { /// /// - displayvideo:v2 : OnScreenPositionAssignedTargetingOptionDetails /// - displayvideo:v3 : OnScreenPositionAssignedTargetingOptionDetails +/// - displayvideo:v4 : OnScreenPositionAssignedTargetingOptionDetails class $OnScreenPositionAssignedTargetingOptionDetails { /// The ad type to target. /// @@ -15844,6 +16813,7 @@ class $OnScreenPositionAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : OnScreenPositionTargetingOptionDetails /// - displayvideo:v3 : OnScreenPositionTargetingOptionDetails +/// - displayvideo:v4 : OnScreenPositionTargetingOptionDetails class $OnScreenPositionTargetingOptionDetails { /// The on screen position. /// @@ -15875,6 +16845,7 @@ class $OnScreenPositionTargetingOptionDetails { /// /// - displayvideo:v2 : OperatingSystemAssignedTargetingOptionDetails /// - displayvideo:v3 : OperatingSystemAssignedTargetingOptionDetails +/// - displayvideo:v4 : OperatingSystemAssignedTargetingOptionDetails class $OperatingSystemAssignedTargetingOptionDetails { /// The display name of the operating system. /// @@ -15914,6 +16885,7 @@ class $OperatingSystemAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : OperatingSystemTargetingOptionDetails /// - displayvideo:v3 : OperatingSystemTargetingOptionDetails +/// - displayvideo:v4 : OperatingSystemTargetingOptionDetails class $OperatingSystemTargetingOptionDetails { /// The display name of the operating system. /// @@ -16129,6 +17101,7 @@ class $OutputMetrics { /// /// - displayvideo:v2 : Pacing /// - displayvideo:v3 : Pacing +/// - displayvideo:v4 : Pacing class $Pacing { /// Maximum number of impressions to serve every day. /// @@ -16271,10 +17244,83 @@ class $Parallelstore { }; } +/// Used by: +/// +/// - displayvideo:v3 : ParentEntityFilter +/// - displayvideo:v4 : ParentEntityFilter +class $ParentEntityFilter { + /// File types that will be returned. + /// + /// Required. + core.List? fileType; + + /// The IDs of the specified filter type. + /// + /// This is used to filter entities to fetch. If filter type is not + /// `FILTER_TYPE_NONE`, at least one ID must be specified. + core.List? filterIds; + + /// Filter type used to filter fetched entities. + /// + /// Required. + /// Possible string values are: + /// - "FILTER_TYPE_UNSPECIFIED" : Default value when type is unspecified or is + /// unknown in this version. + /// - "FILTER_TYPE_NONE" : If selected, no filter will be applied to the + /// download. Can only be used if an Advertiser is specified in + /// CreateSdfDownloadTaskRequest. + /// - "FILTER_TYPE_ADVERTISER_ID" : Advertiser ID. If selected, all filter IDs + /// must be Advertiser IDs that belong to the Partner specified in + /// CreateSdfDownloadTaskRequest. + /// - "FILTER_TYPE_CAMPAIGN_ID" : Campaign ID. If selected, all filter IDs + /// must be Campaign IDs that belong to the Advertiser or Partner specified in + /// CreateSdfDownloadTaskRequest. + /// - "FILTER_TYPE_MEDIA_PRODUCT_ID" : Media Product ID. If selected, all + /// filter IDs must be Media Product IDs that belong to the Advertiser or + /// Partner specified in CreateSdfDownloadTaskRequest. Can only be used for + /// downloading `FILE_TYPE_MEDIA_PRODUCT`. + /// - "FILTER_TYPE_INSERTION_ORDER_ID" : Insertion Order ID. If selected, all + /// filter IDs must be Insertion Order IDs that belong to the Advertiser or + /// Partner specified in CreateSdfDownloadTaskRequest. Can only be used for + /// downloading `FILE_TYPE_INSERTION_ORDER`, `FILE_TYPE_LINE_ITEM`, + /// `FILE_TYPE_LINE_ITEM_QA`, `FILE_TYPE_AD_GROUP`, `FILE_TYPE_AD_GROUP_QA`, + /// and `FILE_TYPE_AD`. + /// - "FILTER_TYPE_LINE_ITEM_ID" : Line Item ID. If selected, all filter IDs + /// must be Line Item IDs that belong to the Advertiser or Partner specified + /// in CreateSdfDownloadTaskRequest. Can only be used for downloading + /// `FILE_TYPE_LINE_ITEM`, `FILE_TYPE_LINE_ITEM_QA`,`FILE_TYPE_AD_GROUP`, + /// `FILE_TYPE_AD_GROUP_QA`, and `FILE_TYPE_AD`. + core.String? filterType; + + $ParentEntityFilter({ + this.fileType, + this.filterIds, + this.filterType, + }); + + $ParentEntityFilter.fromJson(core.Map json_) + : this( + fileType: (json_['fileType'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + filterIds: (json_['filterIds'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + filterType: json_['filterType'] as core.String?, + ); + + core.Map toJson() => { + if (fileType != null) 'fileType': fileType!, + if (filterIds != null) 'filterIds': filterIds!, + if (filterType != null) 'filterType': filterType!, + }; +} + /// Used by: /// /// - displayvideo:v2 : ParentalStatusAssignedTargetingOptionDetails /// - displayvideo:v3 : ParentalStatusAssignedTargetingOptionDetails +/// - displayvideo:v4 : ParentalStatusAssignedTargetingOptionDetails class $ParentalStatusAssignedTargetingOptionDetails { /// The parental status of the audience. /// @@ -16307,6 +17353,7 @@ class $ParentalStatusAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : ParentalStatusTargetingOptionDetails /// - displayvideo:v3 : ParentalStatusTargetingOptionDetails +/// - displayvideo:v4 : ParentalStatusTargetingOptionDetails class $ParentalStatusTargetingOptionDetails { /// The parental status of an audience. /// @@ -16335,10 +17382,33 @@ class $ParentalStatusTargetingOptionDetails { }; } +/// Used by: +/// +/// - displayvideo:v3 : PartnerBillingConfig +/// - displayvideo:v4 : PartnerBillingConfig +class $PartnerBillingConfig { + /// The ID of a partner default billing profile. + core.String? billingProfileId; + + $PartnerBillingConfig({ + this.billingProfileId, + }); + + $PartnerBillingConfig.fromJson(core.Map json_) + : this( + billingProfileId: json_['billingProfileId'] as core.String?, + ); + + core.Map toJson() => { + if (billingProfileId != null) 'billingProfileId': billingProfileId!, + }; +} + /// Used by: /// /// - displayvideo:v2 : PartnerCost /// - displayvideo:v3 : PartnerCost +/// - displayvideo:v4 : PartnerCost class $PartnerCost { /// The type of the partner cost. /// @@ -16485,6 +17555,7 @@ class $PartnerCost { /// /// - displayvideo:v2 : PartnerGeneralConfig /// - displayvideo:v3 : PartnerGeneralConfig +/// - displayvideo:v4 : PartnerGeneralConfig class $PartnerGeneralConfig { /// Partner's currency in ISO 4217 format. /// @@ -16520,6 +17591,7 @@ class $PartnerGeneralConfig { /// /// - displayvideo:v2 : PartnerRevenueModel /// - displayvideo:v3 : PartnerRevenueModel +/// - displayvideo:v4 : PartnerRevenueModel class $PartnerRevenueModel { /// The markup amount of the partner revenue model. /// @@ -16595,6 +17667,7 @@ class $PathSegment { /// /// - displayvideo:v2 : PerformanceGoal /// - displayvideo:v3 : PerformanceGoal +/// - displayvideo:v4 : PerformanceGoal class $PerformanceGoal { /// The goal amount, in micros of the advertiser's currency. /// @@ -16695,11 +17768,16 @@ class $PerformanceGoal { /// /// - displayvideo:v2 : PerformanceGoalBidStrategy /// - displayvideo:v3 : PerformanceGoalBidStrategy +/// - displayvideo:v4 : PerformanceGoalBidStrategy class $PerformanceGoalBidStrategy { /// The ID of the Custom Bidding Algorithm used by this strategy. /// /// Only applicable when performance_goal_type is set to - /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`. + /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`. *Warning*: Starting + /// **April 1, 2025**, assigning a custom bidding algorithm that uses + /// floodlight activities not identified in floodlightActivityConfigs will + /// return an error. \[Read more about this announced + /// change\](/display-video/api/deprecations#features.custom_bidding_floodlight). core.String? customBiddingAlgorithmId; /// The maximum average CPM that may be bid, in micros of the advertiser's @@ -16869,8 +17947,6 @@ class $Permissions { /// - iam:v1 : TestIamPermissionsResponse /// - iap:v1 : TestIamPermissionsResponse /// - identitytoolkit:v2 : GoogleIamV1TestIamPermissionsResponse -/// - ids:v1 : TestIamPermissionsResponse -/// - looker:v1 : TestIamPermissionsResponse /// - managedidentities:v1 : TestIamPermissionsResponse /// - ml:v1 : GoogleIamV1__TestIamPermissionsResponse /// - networkconnectivity:v1 : TestIamPermissionsResponse @@ -17011,6 +18087,7 @@ class $PlusCode { /// /// - displayvideo:v2 : PoiAssignedTargetingOptionDetails /// - displayvideo:v3 : PoiAssignedTargetingOptionDetails +/// - displayvideo:v4 : PoiAssignedTargetingOptionDetails class $PoiAssignedTargetingOptionDetails { /// The display name of a POI, e.g. "Times Square", "Space Needle", followed /// by its full address if available. @@ -17099,6 +18176,7 @@ class $PoiAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : PoiSearchTerms /// - displayvideo:v3 : PoiSearchTerms +/// - displayvideo:v4 : PoiSearchTerms class $PoiSearchTerms { /// The search query for the desired POI name, street address, or coordinate /// of the desired POI. @@ -17125,6 +18203,7 @@ class $PoiSearchTerms { /// /// - displayvideo:v2 : PoiTargetingOptionDetails /// - displayvideo:v3 : PoiTargetingOptionDetails +/// - displayvideo:v4 : PoiTargetingOptionDetails class $PoiTargetingOptionDetails { /// The display name of a POI(e.g. "Times Square", "Space Needle"), followed /// by its full address if available. @@ -17458,6 +18537,7 @@ class $PostalAddress { /// /// - displayvideo:v2 : PrismaCpeCode /// - displayvideo:v3 : PrismaCpeCode +/// - displayvideo:v4 : PrismaCpeCode class $PrismaCpeCode { /// The Prisma client code. core.String? prismaClientCode; @@ -17607,6 +18687,7 @@ class $ProxiesSetProxyHeaderRequest { /// /// - displayvideo:v2 : ProximityLocationListAssignedTargetingOptionDetails /// - displayvideo:v3 : ProximityLocationListAssignedTargetingOptionDetails +/// - displayvideo:v4 : ProximityLocationListAssignedTargetingOptionDetails class $ProximityLocationListAssignedTargetingOptionDetails { /// ID of the proximity location list. /// @@ -18137,6 +19218,7 @@ class $Recipe { /// /// - displayvideo:v2 : RegionalLocationListAssignedTargetingOptionDetails /// - displayvideo:v3 : RegionalLocationListAssignedTargetingOptionDetails +/// - displayvideo:v4 : RegionalLocationListAssignedTargetingOptionDetails class $RegionalLocationListAssignedTargetingOptionDetails { /// Indicates if this option is being negatively targeted. core.bool? negative; @@ -18200,6 +19282,7 @@ class $RelatedUrl { /// /// - displayvideo:v2 : RemarketingConfig /// - displayvideo:v3 : RemarketingConfig +/// - displayvideo:v4 : RemarketingConfig class $RemarketingConfig { /// The ID of the advertiser. /// @@ -18281,6 +19364,7 @@ class $Req { /// Used by: /// /// - backupdr:v1 : RemoveDataSourceRequest +/// - batch:v1 : CancelJobRequest /// - migrationcenter:v1 : RunImportJobRequest /// - migrationcenter:v1 : ValidateImportJobRequest /// - rapidmigrationassessment:v1 : PauseCollectorRequest @@ -19273,6 +20357,7 @@ class $SbomReferenceIntotoPredicate { /// /// - displayvideo:v2 : ScriptError /// - displayvideo:v3 : ScriptError +/// - displayvideo:v4 : ScriptError class $ScriptError { /// The column number in the script where the error was thrown. core.String? column; @@ -19320,6 +20405,7 @@ class $ScriptError { /// /// - displayvideo:v2 : SdfConfig /// - displayvideo:v3 : SdfConfig +/// - displayvideo:v4 : SdfConfig class $SdfConfig { /// An administrator email address to which the SDF processing status reports /// will be sent. @@ -19496,6 +20582,7 @@ class $SemanticVersion { /// /// - displayvideo:v2 : SensitiveCategoryAssignedTargetingOptionDetails /// - displayvideo:v3 : SensitiveCategoryAssignedTargetingOptionDetails +/// - displayvideo:v4 : SensitiveCategoryAssignedTargetingOptionDetails class $SensitiveCategoryAssignedTargetingOptionDetails { /// An enum for the DV360 Sensitive category content classified to be /// EXCLUDED. @@ -19578,6 +20665,7 @@ class $SensitiveCategoryAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : SensitiveCategoryTargetingOptionDetails /// - displayvideo:v3 : SensitiveCategoryTargetingOptionDetails +/// - displayvideo:v4 : SensitiveCategoryTargetingOptionDetails class $SensitiveCategoryTargetingOptionDetails { /// An enum for the DV360 Sensitive category content classifier. /// @@ -19699,6 +20787,7 @@ class $ServiceMeshCondition { /// - "CNI_INSTALLATION_FAILED" : CNI installation failed error code /// - "CNI_POD_UNSCHEDULABLE" : CNI pod unschedulable error code /// - "CLUSTER_HAS_ZERO_NODES" : Cluster has zero node code + /// - "CANONICAL_SERVICE_ERROR" : Failure to reconcile CanonicalServices /// - "UNSUPPORTED_MULTIPLE_CONTROL_PLANES" : Multiple control planes /// unsupported error code /// - "VPCSC_GA_SUPPORTED" : VPC-SC GA is supported for this control plane. @@ -19740,6 +20829,8 @@ class $ServiceMeshCondition { /// cluster. /// - "MODERNIZATION_COMPLETED" : Modernization is completed for a cluster. /// - "MODERNIZATION_ABORTED" : Modernization is aborted for a cluster. + /// - "MODERNIZATION_WILL_BE_SCHEDULED" : Modernization will be scheduled for + /// a fleet. core.String? code; /// A short summary about the issue. @@ -19813,6 +20904,7 @@ class $ServiceMeshStatusDetails { /// /// - displayvideo:v2 : SessionPositionAssignedTargetingOptionDetails /// - displayvideo:v3 : SessionPositionAssignedTargetingOptionDetails +/// - displayvideo:v4 : SessionPositionAssignedTargetingOptionDetails class $SessionPositionAssignedTargetingOptionDetails { /// The position where the ad will show in a session. /// Possible string values are: @@ -20043,20 +21135,57 @@ class $Shared04 { }; } +/// Used by: +/// +/// - aiplatform:v1 : GoogleCloudAiplatformV1SecretRef +/// - run:v2 : GoogleCloudRunV2SecretKeySelector +class $Shared05 { + /// The name of the secret in Cloud Secret Manager. + /// + /// Format: {secret_name} if the secret is in the same project. + /// projects/{project}/secrets/{secret_name} if the secret is in a different + /// project. + /// + /// Required. + core.String? secret; + + /// The Cloud Secret Manager secret version. + /// + /// Can be 'latest' for the latest version, an integer for a specific version, + /// or a version alias. + core.String? version; + + $Shared05({ + this.secret, + this.version, + }); + + $Shared05.fromJson(core.Map json_) + : this( + secret: json_['secret'] as core.String?, + version: json_['version'] as core.String?, + ); + + core.Map toJson() => { + if (secret != null) 'secret': secret!, + if (version != null) 'version': version!, + }; +} + /// Used by: /// /// - apigee:v1 : GoogleCloudApigeeV1AccessGet /// - integrations:v1 : EnterpriseCrmEventbusProtoToken -class $Shared05 { +class $Shared06 { core.String? name; core.String? value; - $Shared05({ + $Shared06({ this.name, this.value, }); - $Shared05.fromJson(core.Map json_) + $Shared06.fromJson(core.Map json_) : this( name: json_['name'] as core.String?, value: json_['value'] as core.String?, @@ -20072,14 +21201,14 @@ class $Shared05 { /// /// - cloudsearch:v1 : DoubleValues /// - integrations:v1 : EnterpriseCrmEventbusProtoDoubleArray -class $Shared06 { +class $Shared07 { core.List? values; - $Shared06({ + $Shared07({ this.values, }); - $Shared06.fromJson(core.Map json_) + $Shared07.fromJson(core.Map json_) : this( values: (json_['values'] as core.List?) ?.map((value) => (value as core.num).toDouble()) @@ -20095,14 +21224,14 @@ class $Shared06 { /// /// - cloudsearch:v1 : IntegerValues /// - integrations:v1 : EnterpriseCrmEventbusProtoIntArray -class $Shared07 { +class $Shared08 { core.List? values; - $Shared07({ + $Shared08({ this.values, }); - $Shared07.fromJson(core.Map json_) + $Shared08.fromJson(core.Map json_) : this( values: (json_['values'] as core.List?) ?.map((value) => value as core.String) @@ -20118,19 +21247,19 @@ class $Shared07 { /// /// - compute:v1 : InstancesSetServiceAccountRequest /// - compute:v1 : ServiceAccount -class $Shared08 { +class $Shared09 { /// Email address of the service account. core.String? email; /// The list of scopes to be made available for this service account. core.List? scopes; - $Shared08({ + $Shared09({ this.email, this.scopes, }); - $Shared08.fromJson(core.Map json_) + $Shared09.fromJson(core.Map json_) : this( email: json_['email'] as core.String?, scopes: (json_['scopes'] as core.List?) @@ -20148,17 +21277,17 @@ class $Shared08 { /// /// - contactcenterinsights:v1 : GoogleCloudContactcenterinsightsV1ExportIssueModelRequestGcsDestination /// - contactcenterinsights:v1 : GoogleCloudContactcenterinsightsV1ImportIssueModelRequestGcsSource -class $Shared09 { +class $Shared10 { /// Format: `gs:///` /// /// Required. core.String? objectUri; - $Shared09({ + $Shared10({ this.objectUri, }); - $Shared09.fromJson(core.Map json_) + $Shared10.fromJson(core.Map json_) : this( objectUri: json_['objectUri'] as core.String?, ); @@ -20172,19 +21301,19 @@ class $Shared09 { /// /// - content:v2.1 : Price /// - content:v2.1 : PriceAmount -class $Shared10 { +class $Shared11 { /// The currency of the price. core.String? currency; /// The price represented as a number. core.String? value; - $Shared10({ + $Shared11({ this.currency, this.value, }); - $Shared10.fromJson(core.Map json_) + $Shared11.fromJson(core.Map json_) : this( currency: json_['currency'] as core.String?, value: json_['value'] as core.String?, @@ -20200,7 +21329,7 @@ class $Shared10 { /// /// - datacatalog:v1 : GoogleCloudDatacatalogV1MigrationConfig /// - datacatalog:v1 : GoogleCloudDatacatalogV1SetConfigRequest -class $Shared11 { +class $Shared12 { /// Opt-in status for the UI switch to Dataplex. /// Possible string values are: /// - "CATALOG_UI_EXPERIENCE_UNSPECIFIED" : Default value. The default UI is @@ -20219,12 +21348,12 @@ class $Shared11 { /// Catalog to Dataplex is disabled. core.String? tagTemplateMigration; - $Shared11({ + $Shared12({ this.catalogUiExperience, this.tagTemplateMigration, }); - $Shared11.fromJson(core.Map json_) + $Shared12.fromJson(core.Map json_) : this( catalogUiExperience: json_['catalogUiExperience'] as core.String?, tagTemplateMigration: json_['tagTemplateMigration'] as core.String?, @@ -20242,7 +21371,7 @@ class $Shared11 { /// /// - dialogflow:v2 : GoogleCloudDialogflowV2Sentiment /// - dialogflow:v3 : GoogleCloudDialogflowCxV3SentimentAnalysisResult -class $Shared12 { +class $Shared13 { /// A non-negative number in the \[0, +inf) range, which represents the /// absolute magnitude of sentiment, regardless of score (positive or /// negative). @@ -20252,12 +21381,12 @@ class $Shared12 { /// sentiment). core.double? score; - $Shared12({ + $Shared13({ this.magnitude, this.score, }); - $Shared12.fromJson(core.Map json_) + $Shared13.fromJson(core.Map json_) : this( magnitude: (json_['magnitude'] as core.num?)?.toDouble(), score: (json_['score'] as core.num?)?.toDouble(), @@ -20273,7 +21402,7 @@ class $Shared12 { /// /// - osconfig:v1 : OSPolicyAssignmentInstanceFilterInventory /// - osconfig:v1 : OSPolicyInventoryFilter -class $Shared13 { +class $Shared14 { /// The OS short name /// /// Required. @@ -20287,12 +21416,12 @@ class $Shared13 { /// versions. core.String? osVersion; - $Shared13({ + $Shared14({ this.osShortName, this.osVersion, }); - $Shared13.fromJson(core.Map json_) + $Shared14.fromJson(core.Map json_) : this( osShortName: json_['osShortName'] as core.String?, osVersion: json_['osVersion'] as core.String?, @@ -20308,7 +21437,7 @@ class $Shared13 { /// /// - vmwareengine:v1 : Nsx /// - vmwareengine:v1 : Vcenter -class $Shared14 { +class $Shared15 { /// Fully qualified domain name of the appliance. core.String? fqdn; @@ -20328,14 +21457,14 @@ class $Shared14 { /// Version of the appliance. core.String? version; - $Shared14({ + $Shared15({ this.fqdn, this.internalIp, this.state, this.version, }); - $Shared14.fromJson(core.Map json_) + $Shared15.fromJson(core.Map json_) : this( fqdn: json_['fqdn'] as core.String?, internalIp: json_['internalIp'] as core.String?, @@ -20351,18 +21480,50 @@ class $Shared14 { }; } +/// Used by: +/// +/// - workloadmanager:v1 : Product +/// - workloadmanager:v1 : SapDiscoveryWorkloadPropertiesProductVersion +class $Shared16 { + /// Name of the product. + /// + /// Optional. + core.String? name; + + /// Version of the product. + /// + /// Optional. + core.String? version; + + $Shared16({ + this.name, + this.version, + }); + + $Shared16.fromJson(core.Map json_) + : this( + name: json_['name'] as core.String?, + version: json_['version'] as core.String?, + ); + + core.Map toJson() => { + if (name != null) 'name': name!, + if (version != null) 'version': version!, + }; +} + /// Used by: /// /// - youtube:v3 : CommentSnippetAuthorChannelId /// - youtube:v3 : LanguageTag -class $Shared15 { +class $Shared17 { core.String? value; - $Shared15({ + $Shared17({ this.value, }); - $Shared15.fromJson(core.Map json_) + $Shared17.fromJson(core.Map json_) : this( value: json_['value'] as core.String?, ); @@ -20573,6 +21734,7 @@ class $Signature { /// /// - displayvideo:v2 : Site /// - displayvideo:v3 : Site +/// - displayvideo:v4 : Site class $Site { /// The resource name of the site. /// @@ -21054,6 +22216,7 @@ class $StaticRouteConfig { /// - dialogflow:v3 : GoogleRpcStatus /// - displayvideo:v2 : Status /// - displayvideo:v3 : Status +/// - displayvideo:v4 : Status /// - dlp:v2 : GoogleRpcStatus /// - documentai:v1 : GoogleRpcStatus /// - domains:v1 : Status @@ -21246,6 +22409,7 @@ class $StringValues { /// /// - displayvideo:v2 : SubExchangeAssignedTargetingOptionDetails /// - displayvideo:v3 : SubExchangeAssignedTargetingOptionDetails +/// - displayvideo:v4 : SubExchangeAssignedTargetingOptionDetails class $SubExchangeAssignedTargetingOptionDetails { /// The targeting_option_id of a TargetingOption of type /// `TARGETING_TYPE_SUB_EXCHANGE`. @@ -21271,6 +22435,7 @@ class $SubExchangeAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : SubExchangeTargetingOptionDetails /// - displayvideo:v3 : SubExchangeTargetingOptionDetails +/// - displayvideo:v4 : SubExchangeTargetingOptionDetails class $SubExchangeTargetingOptionDetails { /// The display name of the sub-exchange. /// @@ -21378,6 +22543,7 @@ class $Symptom { /// /// - displayvideo:v2 : TargetFrequency /// - displayvideo:v3 : TargetFrequency +/// - displayvideo:v4 : TargetFrequency class $TargetFrequency { /// The target number of times, on average, the ads will be shown to the same /// person in the timespan dictated by time_unit and time_unit_count. @@ -21429,6 +22595,80 @@ class $TargetFrequency { }; } +/// Used by: +/// +/// - displayvideo:v3 : TargetingExpansionConfig +/// - displayvideo:v4 : TargetingExpansionConfig +class $TargetingExpansionConfig { + /// Magnitude of expansion for eligible first-party user lists under this ad + /// group. + /// + /// This field only applies to YouTube and Partners line item and ad group + /// resources. + /// + /// Output only. + /// Possible string values are: + /// - "UNKNOWN" : Audience expansion level is not specified or is unknown in + /// this version. + /// - "NO_REACH" : Audience expansion off. + /// - "LEAST_REACH" : Conservative audience expansion. + /// - "MID_REACH" : Moderate audience expansion. + /// - "MOST_REACH" : Aggressive audience expansion. + core.String? audienceExpansionLevel; + + /// Whether to exclude seed list for audience expansion. + /// + /// This field only applies to YouTube and Partners line item and ad group + /// resources. + /// + /// Output only. + core.bool? audienceExpansionSeedListExcluded; + + /// Whether to enable Optimized Targeting for the line item. + /// + /// Optimized targeting is not compatible with all bid strategies. Attempting + /// to set this field to `true` for a line item using one of the following + /// combinations of BiddingStrategy fields and + /// BiddingStrategyPerformanceGoalType will result in an error: + /// maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * + /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * + /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` + /// performance_goal_auto_bid: * + /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` *Warning*: Starting + /// **March 6, 2025**, this field will stop being compatible when using the + /// BiddingStrategy field fixed_bid. \[Read more about this announced + /// change\](/display-video/api/deprecations#features.ot_fixed_bid) + /// + /// Required. + core.bool? enableOptimizedTargeting; + + $TargetingExpansionConfig({ + this.audienceExpansionLevel, + this.audienceExpansionSeedListExcluded, + this.enableOptimizedTargeting, + }); + + $TargetingExpansionConfig.fromJson(core.Map json_) + : this( + audienceExpansionLevel: + json_['audienceExpansionLevel'] as core.String?, + audienceExpansionSeedListExcluded: + json_['audienceExpansionSeedListExcluded'] as core.bool?, + enableOptimizedTargeting: + json_['enableOptimizedTargeting'] as core.bool?, + ); + + core.Map toJson() => { + if (audienceExpansionLevel != null) + 'audienceExpansionLevel': audienceExpansionLevel!, + if (audienceExpansionSeedListExcluded != null) + 'audienceExpansionSeedListExcluded': + audienceExpansionSeedListExcluded!, + if (enableOptimizedTargeting != null) + 'enableOptimizedTargeting': enableOptimizedTargeting!, + }; +} + /// Used by: /// /// - tagmanager:v1 : TeardownTag @@ -21528,8 +22768,6 @@ class $TenantProjectRequest { /// - iam:v1 : TestIamPermissionsRequest /// - iap:v1 : TestIamPermissionsRequest /// - identitytoolkit:v2 : GoogleIamV1TestIamPermissionsRequest -/// - ids:v1 : TestIamPermissionsRequest -/// - looker:v1 : TestIamPermissionsRequest /// - managedidentities:v1 : TestIamPermissionsRequest /// - ml:v1 : GoogleIamV1__TestIamPermissionsRequest /// - networkconnectivity:v1 : TestIamPermissionsRequest @@ -21687,6 +22925,7 @@ class $TextSpan { /// /// - displayvideo:v2 : ThirdPartyOnlyConfig /// - displayvideo:v3 : ThirdPartyOnlyConfig +/// - displayvideo:v4 : ThirdPartyOnlyConfig class $ThirdPartyOnlyConfig { /// Whether or not order ID reporting for pixels is enabled. /// @@ -21713,8 +22952,11 @@ class $ThirdPartyOnlyConfig { /// /// - displayvideo:v2 : ThirdPartyUrl /// - displayvideo:v3 : ThirdPartyUrl +/// - displayvideo:v4 : ThirdPartyUrl class $ThirdPartyUrl { /// The type of interaction needs to be tracked by the tracking URL + /// + /// Optional. /// Possible string values are: /// - "THIRD_PARTY_URL_TYPE_UNSPECIFIED" : The type of third-party URL is /// unspecified or is unknown in this version. @@ -21755,7 +22997,9 @@ class $ThirdPartyUrl { /// Tracking URL used to track the interaction. /// /// Provide a URL with optional path or query string, beginning with `https:`. - /// For example, https://www.example.com/path + /// For example, `https://www.example.com/path` + /// + /// Optional. core.String? url; $ThirdPartyUrl({ @@ -21779,6 +23023,7 @@ class $ThirdPartyUrl { /// /// - displayvideo:v2 : ThirdPartyVendorConfig /// - displayvideo:v3 : ThirdPartyVendorConfig +/// - displayvideo:v4 : ThirdPartyVendorConfig class $ThirdPartyVendorConfig { /// The ID used by the platform of the third-party vendor to identify the line /// item. @@ -21837,6 +23082,7 @@ class $ThirdPartyVendorConfig { /// - redis:v1 : TimeOfDay /// - sheets:v4 : TimeOfDay /// - storagetransfer:v1 : TimeOfDay +/// - vmwareengine:v1 : TimeOfDay class $TimeOfDay { /// Hours of a day in 24 hour format. /// @@ -21888,6 +23134,7 @@ class $TimeOfDay { /// /// - displayvideo:v2 : TimeRange /// - displayvideo:v3 : TimeRange +/// - displayvideo:v4 : TimeRange class $TimeRange { /// The upper bound of a time range, inclusive. /// @@ -21928,6 +23175,7 @@ class $TimeRange { /// - localservices:v1 : GoogleTypeTimeZone /// - oracledatabase:v1 : TimeZone /// - osconfig:v1 : TimeZone +/// - places:v1 : GoogleTypeTimeZone class $TimeZone { /// IANA Time Zone Database time zone. /// @@ -21962,6 +23210,7 @@ class $TimeZone { /// /// - displayvideo:v2 : TimerEvent /// - displayvideo:v3 : TimerEvent +/// - displayvideo:v4 : TimerEvent class $TimerEvent { /// The name of the timer event. /// @@ -22130,6 +23379,7 @@ class $TraceSamplingConfig { /// /// - displayvideo:v2 : TrackingFloodlightActivityConfig /// - displayvideo:v3 : TrackingFloodlightActivityConfig +/// - displayvideo:v4 : TrackingFloodlightActivityConfig class $TrackingFloodlightActivityConfig { /// The ID of the Floodlight activity. /// @@ -22244,11 +23494,16 @@ class $TruncatableString { /// /// - displayvideo:v2 : UniversalAdId /// - displayvideo:v3 : UniversalAdId +/// - displayvideo:v4 : UniversalAdId class $UniversalAdId { /// The unique creative identifier. + /// + /// Optional. core.String? id; /// The registry provides unique creative identifiers. + /// + /// Optional. /// Possible string values are: /// - "UNIVERSAL_AD_REGISTRY_UNSPECIFIED" : The Universal Ad registry is /// unspecified or is unknown in this version. @@ -22333,6 +23588,7 @@ class $UpgradeDistribution { /// /// - displayvideo:v2 : UrlAssignedTargetingOptionDetails /// - displayvideo:v3 : UrlAssignedTargetingOptionDetails +/// - displayvideo:v4 : UrlAssignedTargetingOptionDetails class $UrlAssignedTargetingOptionDetails { /// Indicates if this option is being negatively targeted. core.bool? negative; @@ -22368,8 +23624,12 @@ class $UrlAssignedTargetingOptionDetails { /// - servicemanagement:v1 : UsageRule /// - serviceusage:v1 : UsageRule class $UsageRule { - /// If true, the selected method allows unregistered calls, e.g. calls that - /// don't identify any user or application. + /// Use this rule to configure unregistered calls for the service. + /// + /// Unregistered calls are calls that do not contain consumer project + /// identity. (Example: calls that do not contain an API key). WARNING: By + /// default, API methods do not allow unregistered calls, and each method call + /// must be identified by a consumer project identity. core.bool? allowUnregisteredCalls; /// Selects the methods to which this rule applies. @@ -22411,6 +23671,7 @@ class $UsageRule { /// /// - displayvideo:v2 : UserRewardedContentAssignedTargetingOptionDetails /// - displayvideo:v3 : UserRewardedContentAssignedTargetingOptionDetails +/// - displayvideo:v4 : UserRewardedContentAssignedTargetingOptionDetails class $UserRewardedContentAssignedTargetingOptionDetails { /// The targeting_option_id field when targeting_type is /// `TARGETING_TYPE_USER_REWARDED_CONTENT`. @@ -22452,6 +23713,7 @@ class $UserRewardedContentAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : UserRewardedContentTargetingOptionDetails /// - displayvideo:v3 : UserRewardedContentTargetingOptionDetails +/// - displayvideo:v4 : UserRewardedContentTargetingOptionDetails class $UserRewardedContentTargetingOptionDetails { /// User rewarded content status for video ads. /// @@ -22745,6 +24007,7 @@ class $VertexRagStoreRagResource { /// /// - displayvideo:v2 : VideoAdSequenceStep /// - displayvideo:v3 : VideoAdSequenceStep +/// - displayvideo:v4 : VideoAdSequenceStep class $VideoAdSequenceStep { /// The ID of the corresponding ad group of the step. core.String? adGroupId; @@ -22798,6 +24061,7 @@ class $VideoAdSequenceStep { /// /// - displayvideo:v2 : VideoPlayerSizeAssignedTargetingOptionDetails /// - displayvideo:v3 : VideoPlayerSizeAssignedTargetingOptionDetails +/// - displayvideo:v4 : VideoPlayerSizeAssignedTargetingOptionDetails class $VideoPlayerSizeAssignedTargetingOptionDetails { /// The video player size. /// @@ -22835,6 +24099,7 @@ class $VideoPlayerSizeAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : VideoPlayerSizeTargetingOptionDetails /// - displayvideo:v3 : VideoPlayerSizeTargetingOptionDetails +/// - displayvideo:v4 : VideoPlayerSizeTargetingOptionDetails class $VideoPlayerSizeTargetingOptionDetails { /// The video player size. /// @@ -22872,6 +24137,7 @@ class $VideoPlayerSizeTargetingOptionDetails { /// /// - displayvideo:v2 : ViewabilityAssignedTargetingOptionDetails /// - displayvideo:v3 : ViewabilityAssignedTargetingOptionDetails +/// - displayvideo:v4 : ViewabilityAssignedTargetingOptionDetails class $ViewabilityAssignedTargetingOptionDetails { /// The predicted viewability percentage. /// @@ -22918,6 +24184,7 @@ class $ViewabilityAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : ViewabilityTargetingOptionDetails /// - displayvideo:v3 : ViewabilityTargetingOptionDetails +/// - displayvideo:v4 : ViewabilityTargetingOptionDetails class $ViewabilityTargetingOptionDetails { /// The predicted viewability percentage. /// @@ -23192,44 +24459,11 @@ class $WindowsUpdateCategory { }; } -/// Used by: -/// -/// - workstations:v1 : StartWorkstationRequest -/// - workstations:v1 : StopWorkstationRequest -class $WorkstationRequest { - /// If set, the request will be rejected if the latest version of the - /// workstation on the server does not have this ETag. - /// - /// Optional. - core.String? etag; - - /// If set, validate the request and preview the review, but do not actually - /// apply it. - /// - /// Optional. - core.bool? validateOnly; - - $WorkstationRequest({ - this.etag, - this.validateOnly, - }); - - $WorkstationRequest.fromJson(core.Map json_) - : this( - etag: json_['etag'] as core.String?, - validateOnly: json_['validateOnly'] as core.bool?, - ); - - core.Map toJson() => { - if (etag != null) 'etag': etag!, - if (validateOnly != null) 'validateOnly': validateOnly!, - }; -} - /// Used by: /// /// - displayvideo:v2 : YoutubeAndPartnersBiddingStrategy /// - displayvideo:v3 : YoutubeAndPartnersBiddingStrategy +/// - displayvideo:v4 : YoutubeAndPartnersBiddingStrategy class $YoutubeAndPartnersBiddingStrategy { /// Source of the effective target CPA value for ad group. /// @@ -23321,10 +24555,54 @@ class $YoutubeAndPartnersBiddingStrategy { }; } +/// Used by: +/// +/// - displayvideo:v3 : YoutubeAndPartnersInventorySourceConfig +/// - displayvideo:v4 : YoutubeAndPartnersInventorySourceConfig +class $YoutubeAndPartnersInventorySourceConfig { + /// Whether to target inventory in video apps available with Google TV. + /// + /// Optional. + core.bool? includeGoogleTv; + + /// Whether to target inventory on YouTube. + /// + /// This includes both search, channels and videos. + /// + /// Optional. + core.bool? includeYoutube; + + /// Whether to target inventory on a collection of partner sites and apps that + /// follow the same brand safety standards as YouTube. + core.bool? includeYoutubeVideoPartners; + + $YoutubeAndPartnersInventorySourceConfig({ + this.includeGoogleTv, + this.includeYoutube, + this.includeYoutubeVideoPartners, + }); + + $YoutubeAndPartnersInventorySourceConfig.fromJson(core.Map json_) + : this( + includeGoogleTv: json_['includeGoogleTv'] as core.bool?, + includeYoutube: json_['includeYoutube'] as core.bool?, + includeYoutubeVideoPartners: + json_['includeYoutubeVideoPartners'] as core.bool?, + ); + + core.Map toJson() => { + if (includeGoogleTv != null) 'includeGoogleTv': includeGoogleTv!, + if (includeYoutube != null) 'includeYoutube': includeYoutube!, + if (includeYoutubeVideoPartners != null) + 'includeYoutubeVideoPartners': includeYoutubeVideoPartners!, + }; +} + /// Used by: /// /// - displayvideo:v2 : YoutubeChannelAssignedTargetingOptionDetails /// - displayvideo:v3 : YoutubeChannelAssignedTargetingOptionDetails +/// - displayvideo:v4 : YoutubeChannelAssignedTargetingOptionDetails class $YoutubeChannelAssignedTargetingOptionDetails { /// The YouTube uploader channel id or the channel code of a YouTube channel. core.String? channelId; @@ -23353,6 +24631,7 @@ class $YoutubeChannelAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : YoutubeVideoAssignedTargetingOptionDetails /// - displayvideo:v3 : YoutubeVideoAssignedTargetingOptionDetails +/// - displayvideo:v4 : YoutubeVideoAssignedTargetingOptionDetails class $YoutubeVideoAssignedTargetingOptionDetails { /// Indicates if this option is being negatively targeted. core.bool? negative; @@ -23381,6 +24660,7 @@ class $YoutubeVideoAssignedTargetingOptionDetails { /// /// - displayvideo:v2 : YoutubeVideoDetails /// - displayvideo:v3 : YoutubeVideoDetails +/// - displayvideo:v4 : YoutubeVideoDetails class $YoutubeVideoDetails { /// The YouTube video ID which can be searched on YouTube webpage. core.String? id; diff --git a/generated/googleapis/lib/sheets/v4.dart b/generated/googleapis/lib/sheets/v4.dart index f56da890c..d0dba193b 100644 --- a/generated/googleapis/lib/sheets/v4.dart +++ b/generated/googleapis/lib/sheets/v4.dart @@ -6615,7 +6615,7 @@ class DeleteDimensionGroupResponse { }; } -/// Deletes the dimensions from the sheet. +/// Deletes the dimensions from the sheet. class DeleteDimensionRequest { /// The dimensions to delete from the sheet. DimensionRange? range; @@ -8443,6 +8443,8 @@ class InsertDimensionRequest { /// Inserts cells into a range, shifting the existing cells over or down. class InsertRangeRequest { /// The range to insert new cells into. + /// + /// The range is constrained to the current sheet boundaries. GridRange? range; /// The dimension which will be shifted when inserting cells. diff --git a/generated/googleapis/lib/slides/v1.dart b/generated/googleapis/lib/slides/v1.dart index 266807ae8..679e207f5 100644 --- a/generated/googleapis/lib/slides/v1.dart +++ b/generated/googleapis/lib/slides/v1.dart @@ -440,13 +440,15 @@ class AutoText { } /// The autofit properties of a Shape. +/// +/// This property is only set for shapes that allow text. class Autofit { /// The autofit type of the shape. /// /// If the autofit type is AUTOFIT_TYPE_UNSPECIFIED, the autofit type is /// inherited from a parent placeholder if it exists. The field is /// automatically set to NONE if a request is made that might affect text - /// fitting within its bounding text box. In this case the font_scale is + /// fitting within its bounding text box. In this case, the font_scale is /// applied to the font_size and the line_spacing_reduction is applied to the /// line_spacing. Both properties are also reset to default values. /// Possible string values are: @@ -460,15 +462,15 @@ class Autofit { /// /// For shapes with autofit_type NONE or SHAPE_AUTOFIT, this value is the /// default value of 1. For TEXT_AUTOFIT, this value multiplied by the - /// font_size gives the font size that is rendered in the editor. This - /// property is read-only. + /// font_size gives the font size that's rendered in the editor. This property + /// is read-only. core.double? fontScale; /// The line spacing reduction applied to the shape. /// /// For shapes with autofit_type NONE or SHAPE_AUTOFIT, this value is the /// default value of 0. For TEXT_AUTOFIT, this value subtracted from the - /// line_spacing gives the line spacing that is rendered in the editor. This + /// line_spacing gives the line spacing that's rendered in the editor. This /// property is read-only. core.double? lineSpacingReduction; @@ -945,10 +947,10 @@ class CreateShapeRequest { /// The shape type. /// Possible string values are: - /// - "TYPE_UNSPECIFIED" : The shape type that is not predefined. + /// - "TYPE_UNSPECIFIED" : Default value. This value is unused. /// - "TEXT_BOX" : Text box shape. /// - "RECTANGLE" : Rectangle shape. Corresponds to ECMA-376 ST_ShapeType - /// 'rect'. + /// 'rect' /// - "ROUND_RECTANGLE" : Round corner rectangle shape. Corresponds to /// ECMA-376 ST_ShapeType 'roundRect' /// - "ELLIPSE" : Ellipse shape. Corresponds to ECMA-376 ST_ShapeType @@ -2527,11 +2529,11 @@ class LineConnection { /// /// In most cases, it corresponds to the predefined connection site index from /// the ECMA-376 standard. More information on those connection sites can be - /// found in the description of the "cnx" attribute in section 20.1.9.9 and - /// Annex H. "Predefined DrawingML Shape and Text Geometries" of "Office Open - /// XML File Formats-Fundamentals and Markup Language Reference", part 1 of - /// \[ECMA-376 5th - /// edition\](http://www.ecma-international.org/publications/standards/Ecma-376.htm). + /// found in both the description of the "cxn" attribute in section 20.1.9.9 + /// and "Annex H. Example Predefined DrawingML Shape and Text Geometries" of + /// "Office Open XML File Formats - Fundamentals and Markup Language + /// Reference", part 1 of \[ECMA-376 5th + /// edition\](https://ecma-international.org/publications-and-standards/standards/ecma-376/). /// The position of each connection site can also be viewed from Slides /// editor. core.int? connectionSiteIndex; @@ -3890,7 +3892,7 @@ class Recolor { /// - "LIGHT3" : A recolor effect that lightens the image using the page's /// third available color from its color scheme. /// - "LIGHT4" : A recolor effect that lightens the image using the page's - /// forth available color from its color scheme. + /// fourth available color from its color scheme. /// - "LIGHT5" : A recolor effect that lightens the image using the page's /// fifth available color from its color scheme. /// - "LIGHT6" : A recolor effect that lightens the image using the page's @@ -5016,8 +5018,11 @@ class Shadow { }; } -/// A PageElement kind representing a generic shape that does not have a more +/// A PageElement kind representing a generic shape that doesn't have a more /// specific classification. +/// +/// For more information, see +/// [Size and position page elements](https://developers.google.com/slides/api/guides/transform). class Shape { /// Placeholders are page elements that inherit from corresponding /// placeholders on layouts and masters. @@ -5032,10 +5037,10 @@ class Shape { /// The type of the shape. /// Possible string values are: - /// - "TYPE_UNSPECIFIED" : The shape type that is not predefined. + /// - "TYPE_UNSPECIFIED" : Default value. This value is unused. /// - "TEXT_BOX" : Text box shape. /// - "RECTANGLE" : Rectangle shape. Corresponds to ECMA-376 ST_ShapeType - /// 'rect'. + /// 'rect' /// - "ROUND_RECTANGLE" : Round corner rectangle shape. Corresponds to /// ECMA-376 ST_ShapeType 'roundRect' /// - "ELLIPSE" : Ellipse shape. Corresponds to ECMA-376 ST_ShapeType diff --git a/generated/googleapis/lib/solar/v1.dart b/generated/googleapis/lib/solar/v1.dart index 41d8a10de..5777ebcdc 100644 --- a/generated/googleapis/lib/solar/v1.dart +++ b/generated/googleapis/lib/solar/v1.dart @@ -64,7 +64,7 @@ class BuildingInsightsResource { BuildingInsightsResource(commons.ApiRequester client) : _requester = client; - /// Locates the closest building to a query point. + /// Locates the building whose centroid is closest to a query point. /// /// Returns an error with code `NOT_FOUND` if there are no buildings within /// approximately 50m of the query point. diff --git a/generated/googleapis/lib/spanner/v1.dart b/generated/googleapis/lib/spanner/v1.dart index 3d901a657..95cc54648 100644 --- a/generated/googleapis/lib/spanner/v1.dart +++ b/generated/googleapis/lib/spanner/v1.dart @@ -483,8 +483,8 @@ class ProjectsInstanceConfigsOperationsResource { /// or other methods to check whether the cancellation succeeded or whether /// the operation completed despite cancellation. On successful cancellation, /// the operation is not deleted; instead, it becomes an operation with an - /// Operation.error value with a google.rpc.Status.code of 1, corresponding to - /// `Code.CANCELLED`. + /// Operation.error value with a google.rpc.Status.code of `1`, corresponding + /// to `Code.CANCELLED`. /// /// Request parameters: /// @@ -676,8 +676,8 @@ class ProjectsInstanceConfigsSsdCachesOperationsResource { /// or other methods to check whether the cancellation succeeded or whether /// the operation completed despite cancellation. On successful cancellation, /// the operation is not deleted; instead, it becomes an operation with an - /// Operation.error value with a google.rpc.Status.code of 1, corresponding to - /// `Code.CANCELLED`. + /// Operation.error value with a google.rpc.Status.code of `1`, corresponding + /// to `Code.CANCELLED`. /// /// Request parameters: /// @@ -1996,8 +1996,8 @@ class ProjectsInstancesBackupsOperationsResource { /// or other methods to check whether the cancellation succeeded or whether /// the operation completed despite cancellation. On successful cancellation, /// the operation is not deleted; instead, it becomes an operation with an - /// Operation.error value with a google.rpc.Status.code of 1, corresponding to - /// `Code.CANCELLED`. + /// Operation.error value with a google.rpc.Status.code of `1`, corresponding + /// to `Code.CANCELLED`. /// /// Request parameters: /// @@ -2271,6 +2271,49 @@ class ProjectsInstancesDatabasesResource { ProjectsInstancesDatabasesResource(commons.ApiRequester client) : _requester = client; + /// Adds split points to specified tables, indexes of a database. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [database] - Required. The database on whose tables/indexes split points + /// are to be added. Values are of the form `projects//instances//databases/`. + /// Value must have pattern + /// `^projects/\[^/\]+/instances/\[^/\]+/databases/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [AddSplitPointsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future addSplitPoints( + AddSplitPointsRequest request, + core.String database, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$database') + ':addSplitPoints'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return AddSplitPointsResponse.fromJson( + response_ as core.Map); + } + /// `ChangeQuorum` is strictly restricted to databases that use dual-region /// instance configurations. /// @@ -3434,8 +3477,8 @@ class ProjectsInstancesDatabasesOperationsResource { /// or other methods to check whether the cancellation succeeded or whether /// the operation completed despite cancellation. On successful cancellation, /// the operation is not deleted; instead, it becomes an operation with an - /// Operation.error value with a google.rpc.Status.code of 1, corresponding to - /// `Code.CANCELLED`. + /// Operation.error value with a google.rpc.Status.code of `1`, corresponding + /// to `Code.CANCELLED`. /// /// Request parameters: /// @@ -3608,6 +3651,98 @@ class ProjectsInstancesDatabasesSessionsResource { ProjectsInstancesDatabasesSessionsResource(commons.ApiRequester client) : _requester = client; + /// Handles a single message from the client and returns the result as a + /// stream. + /// + /// The server will interpret the message frame and respond with message + /// frames to the client. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [name] - Required. The database session in which the adapter request is + /// processed. + /// Value must have pattern + /// `^projects/\[^/\]+/instances/\[^/\]+/databases/\[^/\]+/sessions/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [AdaptMessageResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future adaptMessage( + AdaptMessageRequest request, + core.String name, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':adaptMessage'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return AdaptMessageResponse.fromJson( + response_ as core.Map); + } + + /// Creates a new session to be used for requests made by the adapter. + /// + /// A session identifies a specific incarnation of a database resource and is + /// meant to be reused across many `AdaptMessage` calls. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [parent] - Required. The database in which the new session is created. + /// Value must have pattern + /// `^projects/\[^/\]+/instances/\[^/\]+/databases/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [AdapterSession]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future adapter( + AdapterSession request, + core.String parent, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/sessions:adapter'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return AdapterSession.fromJson( + response_ as core.Map); + } + /// Creates multiple new sessions. /// /// This API can be used to initialize a session cache on the clients. See @@ -3961,7 +4096,9 @@ class ProjectsInstancesDatabasesSessionsResource { /// might return `ABORTED`. If this occurs, the application should restart the /// transaction from the beginning. See Transaction for more details. Larger /// result sets can be fetched in streaming fashion by calling - /// ExecuteStreamingSql instead. + /// ExecuteStreamingSql instead. The query string can be SQL or \[Graph Query + /// Language + /// (GQL)\](https://cloud.google.com/spanner/docs/reference/standard-sql/graph-intro). /// /// [request] - The metadata request object. /// @@ -4007,7 +4144,9 @@ class ProjectsInstancesDatabasesSessionsResource { /// /// Unlike ExecuteSql, there is no limit on the size of the returned result /// set. However, no individual row in the result set can exceed 100 MiB, and - /// no column value can exceed 10 MiB. + /// no column value can exceed 10 MiB. The query string can be SQL or \[Graph + /// Query Language + /// (GQL)\](https://cloud.google.com/spanner/docs/reference/standard-sql/graph-intro). /// /// [request] - The metadata request object. /// @@ -4805,8 +4944,8 @@ class ProjectsInstancesInstancePartitionsOperationsResource { /// or other methods to check whether the cancellation succeeded or whether /// the operation completed despite cancellation. On successful cancellation, /// the operation is not deleted; instead, it becomes an operation with an - /// Operation.error value with a google.rpc.Status.code of 1, corresponding to - /// `Code.CANCELLED`. + /// Operation.error value with a google.rpc.Status.code of `1`, corresponding + /// to `Code.CANCELLED`. /// /// Request parameters: /// @@ -4987,8 +5126,8 @@ class ProjectsInstancesOperationsResource { /// or other methods to check whether the cancellation succeeded or whether /// the operation completed despite cancellation. On successful cancellation, /// the operation is not deleted; instead, it becomes an operation with an - /// Operation.error value with a google.rpc.Status.code of 1, corresponding to - /// `Code.CANCELLED`. + /// Operation.error value with a google.rpc.Status.code of `1`, corresponding + /// to `Code.CANCELLED`. /// /// Request parameters: /// @@ -5225,6 +5364,159 @@ class ScansResource { } } +/// Message sent by the client to the adapter. +class AdaptMessageRequest { + /// Opaque request state passed by the client to the server. + /// + /// Optional. + core.Map? attachments; + + /// Uninterpreted bytes from the underlying wire protocol. + /// + /// Optional. + core.String? payload; + core.List get payloadAsBytes => convert.base64.decode(payload!); + + set payloadAsBytes(core.List bytes_) { + payload = + convert.base64.encode(bytes_).replaceAll('/', '_').replaceAll('+', '-'); + } + + /// Identifier for the underlying wire protocol. + /// + /// Required. + core.String? protocol; + + AdaptMessageRequest({ + this.attachments, + this.payload, + this.protocol, + }); + + AdaptMessageRequest.fromJson(core.Map json_) + : this( + attachments: + (json_['attachments'] as core.Map?) + ?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + payload: json_['payload'] as core.String?, + protocol: json_['protocol'] as core.String?, + ); + + core.Map toJson() => { + if (attachments != null) 'attachments': attachments!, + if (payload != null) 'payload': payload!, + if (protocol != null) 'protocol': protocol!, + }; +} + +/// Message sent by the adapter to the client. +class AdaptMessageResponse { + /// Uninterpreted bytes from the underlying wire protocol. + /// + /// Optional. + core.String? payload; + core.List get payloadAsBytes => convert.base64.decode(payload!); + + set payloadAsBytes(core.List bytes_) { + payload = + convert.base64.encode(bytes_).replaceAll('/', '_').replaceAll('+', '-'); + } + + /// Opaque state updates to be applied by the client. + /// + /// Optional. + core.Map? stateUpdates; + + AdaptMessageResponse({ + this.payload, + this.stateUpdates, + }); + + AdaptMessageResponse.fromJson(core.Map json_) + : this( + payload: json_['payload'] as core.String?, + stateUpdates: + (json_['stateUpdates'] as core.Map?) + ?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + ); + + core.Map toJson() => { + if (payload != null) 'payload': payload!, + if (stateUpdates != null) 'stateUpdates': stateUpdates!, + }; +} + +/// A session in the Cloud Spanner Adapter API. +class AdapterSession { + /// Identifier. + /// + /// The name of the session. This is always system-assigned. + core.String? name; + + AdapterSession({ + this.name, + }); + + AdapterSession.fromJson(core.Map json_) + : this( + name: json_['name'] as core.String?, + ); + + core.Map toJson() => { + if (name != null) 'name': name!, + }; +} + +/// The request for AddSplitPoints. +class AddSplitPointsRequest { + /// A user-supplied tag associated with the split points. + /// + /// For example, "initial_data_load", "special_event_1". Defaults to + /// "CloudAddSplitPointsAPI" if not specified. The length of the tag must not + /// exceed 50 characters,else will be trimmed. Only valid UTF8 characters are + /// allowed. + /// + /// Optional. + core.String? initiator; + + /// The split points to add. + /// + /// Required. + core.List? splitPoints; + + AddSplitPointsRequest({ + this.initiator, + this.splitPoints, + }); + + AddSplitPointsRequest.fromJson(core.Map json_) + : this( + initiator: json_['initiator'] as core.String?, + splitPoints: (json_['splitPoints'] as core.List?) + ?.map((value) => SplitPoints.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (initiator != null) 'initiator': initiator!, + if (splitPoints != null) 'splitPoints': splitPoints!, + }; +} + +/// The response for AddSplitPoints. +typedef AddSplitPointsResponse = $Empty; + /// AsymmetricAutoscalingOption specifies the scaling of replicas identified by /// the given selection. class AsymmetricAutoscalingOption { @@ -5557,6 +5849,14 @@ class Backup { /// Output only. core.String? incrementalBackupChainId; + /// The instance partition(s) storing the backup. + /// + /// This is the same as the list of the instance partition(s) that the + /// database had footprint in at the backup's `version_time`. + /// + /// Output only. + core.List? instancePartitions; + /// The max allowed expiration time of the backup, with microseconds /// granularity. /// @@ -5649,6 +5949,7 @@ class Backup { this.expireTime, this.freeableSizeBytes, this.incrementalBackupChainId, + this.instancePartitions, this.maxExpireTime, this.name, this.oldestVersionTime, @@ -5680,6 +5981,10 @@ class Backup { freeableSizeBytes: json_['freeableSizeBytes'] as core.String?, incrementalBackupChainId: json_['incrementalBackupChainId'] as core.String?, + instancePartitions: (json_['instancePartitions'] as core.List?) + ?.map((value) => BackupInstancePartition.fromJson( + value as core.Map)) + .toList(), maxExpireTime: json_['maxExpireTime'] as core.String?, name: json_['name'] as core.String?, oldestVersionTime: json_['oldestVersionTime'] as core.String?, @@ -5708,6 +6013,8 @@ class Backup { if (freeableSizeBytes != null) 'freeableSizeBytes': freeableSizeBytes!, if (incrementalBackupChainId != null) 'incrementalBackupChainId': incrementalBackupChainId!, + if (instancePartitions != null) + 'instancePartitions': instancePartitions!, if (maxExpireTime != null) 'maxExpireTime': maxExpireTime!, if (name != null) 'name': name!, if (oldestVersionTime != null) 'oldestVersionTime': oldestVersionTime!, @@ -5762,12 +6069,33 @@ class BackupInfo { }; } +/// Instance partition information for the backup. +class BackupInstancePartition { + /// A unique identifier for the instance partition. + /// + /// Values are of the form `projects//instances//instancePartitions/` + core.String? instancePartition; + + BackupInstancePartition({ + this.instancePartition, + }); + + BackupInstancePartition.fromJson(core.Map json_) + : this( + instancePartition: json_['instancePartition'] as core.String?, + ); + + core.Map toJson() => { + if (instancePartition != null) 'instancePartition': instancePartition!, + }; +} + /// BackupSchedule expresses the automated backup creation specification for a /// Spanner database. class BackupSchedule { - /// The encryption configuration that will be used to encrypt the backup. + /// The encryption configuration that is used to encrypt the backup. /// - /// If this field is not specified, the backup will use the same encryption + /// If this field is not specified, the backup uses the same encryption /// configuration as the database. /// /// Optional. @@ -6940,13 +7268,13 @@ class CreateSessionRequest { } /// CrontabSpec can be used to specify the version time and frequency at which -/// the backup should be created. +/// the backup is created. class CrontabSpec { - /// Schedule backups will contain an externally consistent copy of the - /// database at the version time specified in `schedule_spec.cron_spec`. + /// Scheduled backups contain an externally consistent copy of the database at + /// the version time specified in `schedule_spec.cron_spec`. /// - /// However, Spanner may not initiate the creation of the scheduled backups at - /// that version time. Spanner will initiate the creation of scheduled backups + /// However, Spanner might not initiate the creation of the scheduled backups + /// at that version time. Spanner initiates the creation of scheduled backups /// within the time window bounded by the version_time specified in /// `schedule_spec.cron_spec` and version_time + `creation_window`. /// @@ -6956,22 +7284,24 @@ class CrontabSpec { /// Textual representation of the crontab. /// /// User can customize the backup frequency and the backup version time using - /// the cron expression. The version time must be in UTC timzeone. The backup + /// the cron expression. The version time must be in UTC timezone. The backup /// will contain an externally consistent copy of the database at the version - /// time. Allowed frequencies are 12 hour, 1 day, 1 week and 1 month. Examples - /// of valid cron specifications: * `0 2/12 * * * ` : every 12 hours at (2, - /// 14) hours past midnight in UTC. * `0 2,14 * * * ` : every 12 hours at - /// (2,14) hours past midnight in UTC. * `0 2 * * * ` : once a day at 2 past - /// midnight in UTC. * `0 2 * * 0 ` : once a week every Sunday at 2 past - /// midnight in UTC. * `0 2 8 * * ` : once a month on 8th day at 2 past - /// midnight in UTC. + /// time. Full backups must be scheduled a minimum of 12 hours apart and + /// incremental backups must be scheduled a minimum of 4 hours apart. Examples + /// of valid cron specifications: * `0 2/12 * * *` : every 12 hours at (2, 14) + /// hours past midnight in UTC. * `0 2,14 * * *` : every 12 hours at (2, 14) + /// hours past midnight in UTC. * `0 * / 4 * * *` : (incremental backups only) + /// every 4 hours at (0, 4, 8, 12, 16, 20) hours past midnight in UTC. * `0 2 + /// * * *` : once a day at 2 past midnight in UTC. * `0 2 * * 0` : once a week + /// every Sunday at 2 past midnight in UTC. * `0 2 8 * *` : once a month on + /// 8th day at 2 past midnight in UTC. /// /// Required. core.String? text; /// The time zone of the times in `CrontabSpec.text`. /// - /// Currently only UTC is supported. + /// Currently, only UTC is supported. /// /// Output only. core.String? timeZone; @@ -7522,6 +7852,19 @@ class ExcludeReplicas { /// The request for ExecuteBatchDml. class ExecuteBatchDmlRequest { + /// If set to true, this request marks the end of the transaction. + /// + /// The transaction should be committed or aborted after these statements + /// execute, and attempts to execute any other requests against this + /// transaction (including reads and queries) will be rejected. Setting this + /// option may cause some error reporting to be deferred until commit time + /// (e.g. validation of unique constraints). Given this, successful execution + /// of statements should not be assumed until a subsequent Commit call + /// completes successfully. + /// + /// Optional. + core.bool? lastStatements; + /// Common options for this request. RequestOptions? requestOptions; @@ -7557,6 +7900,7 @@ class ExecuteBatchDmlRequest { TransactionSelector? transaction; ExecuteBatchDmlRequest({ + this.lastStatements, this.requestOptions, this.seqno, this.statements, @@ -7565,6 +7909,7 @@ class ExecuteBatchDmlRequest { ExecuteBatchDmlRequest.fromJson(core.Map json_) : this( + lastStatements: json_['lastStatements'] as core.bool?, requestOptions: json_.containsKey('requestOptions') ? RequestOptions.fromJson(json_['requestOptions'] as core.Map) @@ -7581,6 +7926,7 @@ class ExecuteBatchDmlRequest { ); core.Map toJson() => { + if (lastStatements != null) 'lastStatements': lastStatements!, if (requestOptions != null) 'requestOptions': requestOptions!, if (seqno != null) 'seqno': seqno!, if (statements != null) 'statements': statements!, @@ -7670,6 +8016,19 @@ class ExecuteSqlRequest { /// Directed read options for this request. DirectedReadOptions? directedReadOptions; + /// If set to true, this statement marks the end of the transaction. + /// + /// The transaction should be committed or aborted after this statement + /// executes, and attempts to execute any other requests against this + /// transaction (including reads and queries) will be rejected. For DML + /// statements, setting this option may cause some error reporting to be + /// deferred until commit time (e.g. validation of unique constraints). Given + /// this, successful execution of a DML statement should not be assumed until + /// a subsequent Commit call completes successfully. + /// + /// Optional. + core.bool? lastStatement; + /// It is not always possible for Cloud Spanner to infer the right SQL type /// from a JSON value. /// @@ -7779,6 +8138,7 @@ class ExecuteSqlRequest { ExecuteSqlRequest({ this.dataBoostEnabled, this.directedReadOptions, + this.lastStatement, this.paramTypes, this.params, this.partitionToken, @@ -7798,6 +8158,7 @@ class ExecuteSqlRequest { ? DirectedReadOptions.fromJson(json_['directedReadOptions'] as core.Map) : null, + lastStatement: json_['lastStatement'] as core.bool?, paramTypes: (json_['paramTypes'] as core.Map?) ?.map( @@ -7832,6 +8193,7 @@ class ExecuteSqlRequest { if (dataBoostEnabled != null) 'dataBoostEnabled': dataBoostEnabled!, if (directedReadOptions != null) 'directedReadOptions': directedReadOptions!, + if (lastStatement != null) 'lastStatement': lastStatement!, if (paramTypes != null) 'paramTypes': paramTypes!, if (params != null) 'params': params!, if (partitionToken != null) 'partitionToken': partitionToken!, @@ -8186,25 +8548,27 @@ class Instance { /// Output only. core.String? createTime; - /// Controls the default backup behavior for new databases within the + /// Controls the default backup schedule behavior for new databases within the /// instance. /// - /// Note that `AUTOMATIC` is not permitted for free instances, as backups and - /// backup schedules are not allowed for free instances. In the `GetInstance` - /// or `ListInstances` response, if the value of default_backup_schedule_type - /// is unset or NONE, no default backup schedule will be created for new - /// databases within the instance. + /// By default, a backup schedule is created automatically when a new database + /// is created in a new instance. Note that the `AUTOMATIC` value isn't + /// permitted for free instances, as backups and backup schedules aren't + /// supported for free instances. In the `GetInstance` or `ListInstances` + /// response, if the value of `default_backup_schedule_type` isn't set, or set + /// to `NONE`, Spanner doesn't create a default backup schedule for new + /// databases in the instance. /// /// Optional. /// Possible string values are: /// - "DEFAULT_BACKUP_SCHEDULE_TYPE_UNSPECIFIED" : Not specified. - /// - "NONE" : No default backup schedule will be created automatically on - /// creation of a database within the instance. - /// - "AUTOMATIC" : A default backup schedule will be created automatically on - /// creation of a database within the instance. Once created, the default - /// backup schedule can be edited or deleted just like any other backup - /// schedule. Currently, the default backup schedule creates a full backup - /// every 24 hours and retains the backup for a period of 7 days. + /// - "NONE" : A default backup schedule isn't created automatically when a + /// new database is created in the instance. + /// - "AUTOMATIC" : A default backup schedule is created automatically when a + /// new database is created in the instance. The default backup schedule + /// creates a full backup every 24 hours. These full backups are retained for + /// 7 days. You can edit or delete the default backup schedule once it's + /// created. core.String? defaultBackupScheduleType; /// The descriptive name for this instance as it appears in UIs. @@ -8280,7 +8644,10 @@ class Instance { /// the target number of nodes allocated to the instance. If autoscaling is /// enabled, `node_count` is treated as an `OUTPUT_ONLY` field and reflects /// the current number of nodes allocated to the instance. This might be zero - /// in API responses for instances that are not yet in the `READY` state. For + /// in API responses for instances that are not yet in the `READY` state. If + /// the instance has varying node count across replicas (achieved by setting + /// `asymmetric_autoscaling_options` in the autoscaling configuration), the + /// `node_count` set here is the maximum node count across all replicas. For /// more information, see /// [Compute capacity, nodes, and processing units](https://cloud.google.com/spanner/docs/compute-capacity). core.int? nodeCount; @@ -8293,7 +8660,11 @@ class Instance { /// If autoscaling is enabled, `processing_units` is treated as an /// `OUTPUT_ONLY` field and reflects the current number of processing units /// allocated to the instance. This might be zero in API responses for - /// instances that are not yet in the `READY` state. For more information, see + /// instances that are not yet in the `READY` state. If the instance has + /// varying processing units per replica (achieved by setting + /// `asymmetric_autoscaling_options` in the autoscaling configuration), the + /// `processing_units` set here is the maximum processing units across all + /// replicas. For more information, see /// [Compute capacity, nodes and processing units](https://cloud.google.com/spanner/docs/compute-capacity). core.int? processingUnits; @@ -8793,6 +9164,32 @@ class InstanceReplicaSelection { }; } +/// A split key. +class Key { + /// The column values making up the split key. + /// + /// Required. + /// + /// The values for Object must be JSON objects. It can consist of `num`, + /// `String`, `bool` and `null` as well as `Map` and `List` values. + core.List? keyParts; + + Key({ + this.keyParts, + }); + + Key.fromJson(core.Map json_) + : this( + keyParts: json_.containsKey('keyParts') + ? json_['keyParts'] as core.List + : null, + ); + + core.Map toJson() => { + if (keyParts != null) 'keyParts': keyParts!, + }; +} + /// KeyRange represents a range of rows in a table or index. /// /// A range has a start key and an end key. These keys can be open or closed, @@ -10725,7 +11122,7 @@ class QueryPlan { /// PlanNode's `id` corresponds to its index in `plan_nodes`. core.List? planNodes; - /// The advices/recommendations for a query. + /// The advise/recommendations for a query. /// /// Currently this field will be serving index recommendations for a query. /// @@ -11855,7 +12252,7 @@ class Session { /// /// Use a multiplexed session for multiple, concurrent read-only operations. /// Don't use them for read-write transactions, partitioned reads, or - /// partitioned queries. Use CreateSession to create multiplexed sessions. + /// partitioned queries. Use `sessions.create` to create multiplexed sessions. /// Don't use BatchCreateSessions to create a multiplexed session. You can't /// delete or list multiplexed sessions. /// @@ -11997,6 +12394,56 @@ class SingleRegionQuorum { }; } +/// The split points of a table/index. +class SplitPoints { + /// The expiration timestamp of the split points. + /// + /// A timestamp in the past means immediate expiration. The maximum value can + /// be 30 days in the future. Defaults to 10 days in the future if not + /// specified. + /// + /// Optional. + core.String? expireTime; + + /// The index to split. + /// + /// If specified, the `table` field must refer to the index's base table. + core.String? index; + + /// The list of split keys, i.e., the split boundaries. + /// + /// Required. + core.List? keys; + + /// The table to split. + core.String? table; + + SplitPoints({ + this.expireTime, + this.index, + this.keys, + this.table, + }); + + SplitPoints.fromJson(core.Map json_) + : this( + expireTime: json_['expireTime'] as core.String?, + index: json_['index'] as core.String?, + keys: (json_['keys'] as core.List?) + ?.map((value) => + Key.fromJson(value as core.Map)) + .toList(), + table: json_['table'] as core.String?, + ); + + core.Map toJson() => { + if (expireTime != null) 'expireTime': expireTime!, + if (index != null) 'index': index!, + if (keys != null) 'keys': keys!, + if (table != null) 'table': table!, + }; +} + /// A single DML statement. class Statement { /// It is not always possible for Cloud Spanner to infer the right SQL type @@ -12580,6 +13027,10 @@ class Type { /// of this type should be treated as PostgreSQL JSONB values. Currently this /// annotation is always needed for JSON when a client interacts with /// PostgreSQL-enabled Spanner databases. + /// - "PG_OID" : PostgreSQL compatible OID type. This annotation can be used + /// by a client interacting with PostgreSQL-enabled Spanner database to + /// specify that a value should be treated using the semantics of the OID + /// type. core.String? typeAnnotation; Type({ diff --git a/generated/googleapis/lib/storage/v1.dart b/generated/googleapis/lib/storage/v1.dart index d333ac2ee..a7353a412 100644 --- a/generated/googleapis/lib/storage/v1.dart +++ b/generated/googleapis/lib/storage/v1.dart @@ -1977,7 +1977,7 @@ class FoldersResource { /// /// [bucket] - Name of the bucket in which the folder resides. /// - /// [recursive] - If true, any parent folder which doesn’t exist will be + /// [recursive] - If true, any parent folder which doesn't exist will be /// created automatically. /// /// [$fields] - Selector specifying which fields to include in a partial @@ -8595,24 +8595,24 @@ class PolicyBindings { /// A collection of identifiers for members who may assume the provided role. /// /// Recognized identifiers are as follows: - /// - allUsers — A special identifier that represents anyone on the internet; + /// - allUsers - A special identifier that represents anyone on the internet; /// with or without a Google account. - /// - allAuthenticatedUsers — A special identifier that represents anyone who + /// - allAuthenticatedUsers - A special identifier that represents anyone who /// is authenticated with a Google account or a service account. - /// - user:emailid — An email address that represents a specific account. For + /// - user:emailid - An email address that represents a specific account. For /// example, user:alice@gmail.com or user:joe@example.com. - /// - serviceAccount:emailid — An email address that represents a service + /// - serviceAccount:emailid - An email address that represents a service /// account. For example, /// serviceAccount:my-other-app@appspot.gserviceaccount.com . - /// - group:emailid — An email address that represents a Google group. For + /// - group:emailid - An email address that represents a Google group. For /// example, group:admins@example.com. - /// - domain:domain — A Google Apps domain name that represents all the users + /// - domain:domain - A Google Apps domain name that represents all the users /// of that domain. For example, domain:google.com or domain:example.com. - /// - projectOwner:projectid — Owners of the given project. For example, + /// - projectOwner:projectid - Owners of the given project. For example, /// projectOwner:my-example-project - /// - projectEditor:projectid — Editors of the given project. For example, + /// - projectEditor:projectid - Editors of the given project. For example, /// projectEditor:my-example-project - /// - projectViewer:projectid — Viewers of the given project. For example, + /// - projectViewer:projectid - Viewers of the given project. For example, /// projectViewer:my-example-project core.List? members; @@ -8623,24 +8623,24 @@ class PolicyBindings { /// which do map directly to ACL permissions. All roles are of the format /// roles/storage.specificRole. /// The new IAM roles are: - /// - roles/storage.admin — Full control of Google Cloud Storage resources. - /// - roles/storage.objectViewer — Read-Only access to Google Cloud Storage + /// - roles/storage.admin - Full control of Google Cloud Storage resources. + /// - roles/storage.objectViewer - Read-Only access to Google Cloud Storage /// objects. - /// - roles/storage.objectCreator — Access to create objects in Google Cloud + /// - roles/storage.objectCreator - Access to create objects in Google Cloud /// Storage. - /// - roles/storage.objectAdmin — Full control of Google Cloud Storage + /// - roles/storage.objectAdmin - Full control of Google Cloud Storage /// objects. The legacy IAM roles are: - /// - roles/storage.legacyObjectReader — Read-only access to objects without + /// - roles/storage.legacyObjectReader - Read-only access to objects without /// listing. Equivalent to an ACL entry on an object with the READER role. - /// - roles/storage.legacyObjectOwner — Read/write access to existing objects + /// - roles/storage.legacyObjectOwner - Read/write access to existing objects /// without listing. Equivalent to an ACL entry on an object with the OWNER /// role. - /// - roles/storage.legacyBucketReader — Read access to buckets with object + /// - roles/storage.legacyBucketReader - Read access to buckets with object /// listing. Equivalent to an ACL entry on a bucket with the READER role. - /// - roles/storage.legacyBucketWriter — Read access to buckets with object + /// - roles/storage.legacyBucketWriter - Read access to buckets with object /// listing/creation/deletion. Equivalent to an ACL entry on a bucket with the /// WRITER role. - /// - roles/storage.legacyBucketOwner — Read and write access to existing + /// - roles/storage.legacyBucketOwner - Read and write access to existing /// buckets with object listing/creation/deletion. Equivalent to an ACL entry /// on a bucket with the OWNER role. core.String? role; @@ -8898,26 +8898,26 @@ class TestIamPermissionsResponse { /// Permissions are always of the format storage.resource.capability, where /// resource is one of buckets, objects, or managedFolders. The supported /// permissions are as follows: - /// - storage.buckets.delete — Delete bucket. - /// - storage.buckets.get — Read bucket metadata. - /// - storage.buckets.getIamPolicy — Read bucket IAM policy. - /// - storage.buckets.create — Create bucket. - /// - storage.buckets.list — List buckets. - /// - storage.buckets.setIamPolicy — Update bucket IAM policy. - /// - storage.buckets.update — Update bucket metadata. - /// - storage.objects.delete — Delete object. - /// - storage.objects.get — Read object data and metadata. - /// - storage.objects.getIamPolicy — Read object IAM policy. - /// - storage.objects.create — Create object. - /// - storage.objects.list — List objects. - /// - storage.objects.setIamPolicy — Update object IAM policy. - /// - storage.objects.update — Update object metadata. - /// - storage.managedFolders.delete — Delete managed folder. - /// - storage.managedFolders.get — Read managed folder metadata. - /// - storage.managedFolders.getIamPolicy — Read managed folder IAM policy. - /// - storage.managedFolders.create — Create managed folder. - /// - storage.managedFolders.list — List managed folders. - /// - storage.managedFolders.setIamPolicy — Update managed folder IAM policy. + /// - storage.buckets.delete - Delete bucket. + /// - storage.buckets.get - Read bucket metadata. + /// - storage.buckets.getIamPolicy - Read bucket IAM policy. + /// - storage.buckets.create - Create bucket. + /// - storage.buckets.list - List buckets. + /// - storage.buckets.setIamPolicy - Update bucket IAM policy. + /// - storage.buckets.update - Update bucket metadata. + /// - storage.objects.delete - Delete object. + /// - storage.objects.get - Read object data and metadata. + /// - storage.objects.getIamPolicy - Read object IAM policy. + /// - storage.objects.create - Create object. + /// - storage.objects.list - List objects. + /// - storage.objects.setIamPolicy - Update object IAM policy. + /// - storage.objects.update - Update object metadata. + /// - storage.managedFolders.delete - Delete managed folder. + /// - storage.managedFolders.get - Read managed folder metadata. + /// - storage.managedFolders.getIamPolicy - Read managed folder IAM policy. + /// - storage.managedFolders.create - Create managed folder. + /// - storage.managedFolders.list - List managed folders. + /// - storage.managedFolders.setIamPolicy - Update managed folder IAM policy. core.List? permissions; TestIamPermissionsResponse({ diff --git a/generated/googleapis/lib/storagetransfer/v1.dart b/generated/googleapis/lib/storagetransfer/v1.dart index a6ac7c30b..0397fbbb0 100644 --- a/generated/googleapis/lib/storagetransfer/v1.dart +++ b/generated/googleapis/lib/storagetransfer/v1.dart @@ -2214,7 +2214,7 @@ class Schedule { /// /// Combined with schedule_end_date, `end_time_of_day` specifies the end date /// and time for starting new transfer operations. This field must be greater - /// than or equal to the timestamp corresponding to the combintation of + /// than or equal to the timestamp corresponding to the combination of /// schedule_start_date and start_time_of_day, and is subject to the /// following: * If `end_time_of_day` is not set and `schedule_end_date` is /// set, then a default value of `23:59:59` is used for `end_time_of_day`. * @@ -2528,7 +2528,7 @@ class TransferOptions { /// When to overwrite objects that already exist in the sink. /// /// The default is that only objects that are different from the source are - /// ovewritten. If true, all objects in the sink whose name matches an object + /// overwritten. If true, all objects in the sink whose name matches an object /// in the source are overwritten with the source object. core.bool? overwriteObjectsAlreadyExistingInSink; diff --git a/generated/googleapis/lib/tagmanager/v2.dart b/generated/googleapis/lib/tagmanager/v2.dart index 1a119f5ef..68cb0e807 100644 --- a/generated/googleapis/lib/tagmanager/v2.dart +++ b/generated/googleapis/lib/tagmanager/v2.dart @@ -6347,6 +6347,10 @@ class FolderEntities { /// Represents the link between a custom template and an entry on the Community /// Template Gallery site. class GalleryReference { + /// ID for the gallery template that is generated once during first sync and + /// travels with the template redirects. + core.String? galleryTemplateId; + /// The name of the host for the community gallery template. core.String? host; @@ -6375,6 +6379,7 @@ class GalleryReference { core.String? version; GalleryReference({ + this.galleryTemplateId, this.host, this.isModified, this.owner, @@ -6386,6 +6391,7 @@ class GalleryReference { GalleryReference.fromJson(core.Map json_) : this( + galleryTemplateId: json_['galleryTemplateId'] as core.String?, host: json_['host'] as core.String?, isModified: json_['isModified'] as core.bool?, owner: json_['owner'] as core.String?, @@ -6396,6 +6402,7 @@ class GalleryReference { ); core.Map toJson() => { + if (galleryTemplateId != null) 'galleryTemplateId': galleryTemplateId!, if (host != null) 'host': host!, if (isModified != null) 'isModified': isModified!, if (owner != null) 'owner': owner!, @@ -6408,19 +6415,25 @@ class GalleryReference { } class GetContainerSnippetResponse { + /// Server container config param for manually provisioning a tagging server. + core.String? containerConfig; + /// Tagging snippet for a Container. core.String? snippet; GetContainerSnippetResponse({ + this.containerConfig, this.snippet, }); GetContainerSnippetResponse.fromJson(core.Map json_) : this( + containerConfig: json_['containerConfig'] as core.String?, snippet: json_['snippet'] as core.String?, ); core.Map toJson() => { + if (containerConfig != null) 'containerConfig': containerConfig!, if (snippet != null) 'snippet': snippet!, }; } diff --git a/generated/googleapis/lib/tasks/v1.dart b/generated/googleapis/lib/tasks/v1.dart index f52387bda..37a2bef0e 100644 --- a/generated/googleapis/lib/tasks/v1.dart +++ b/generated/googleapis/lib/tasks/v1.dart @@ -179,7 +179,7 @@ class TasklistsResource { /// Request parameters: /// /// [maxResults] - Maximum number of task lists returned on one page. - /// Optional. The default is 20 (max allowed: 100). + /// Optional. The default is 1000 (max allowed: 1000). /// /// [pageToken] - Token specifying the result page to return. Optional. /// @@ -592,16 +592,20 @@ class TasksResource { /// [destinationTasklist] - Optional. Destination task list identifier. If /// set, the task is moved from tasklist to the destinationTasklist list. /// Otherwise the task is moved within its current list. Recurrent tasks - /// cannot currently be moved between lists. Optional. - /// - /// [parent] - New parent task identifier. If the task is moved to the top - /// level, this parameter is omitted. Assigned tasks can not be set as parent - /// task (have subtasks) or be moved under a parent task (become subtasks). - /// Optional. - /// - /// [previous] - New previous sibling task identifier. If the task is moved to - /// the first position among its siblings, this parameter is omitted. - /// Optional. + /// cannot currently be moved between lists. + /// + /// [parent] - Optional. New parent task identifier. If the task is moved to + /// the top level, this parameter is omitted. The task set as parent must + /// exist in the task list and can not be hidden. Exceptions: 1. Assigned + /// tasks can not be set as parent task (have subtasks) or be moved under a + /// parent task (become subtasks). 2. Tasks that are both completed and hidden + /// cannot be nested, so the parent field must be empty. + /// + /// [previous] - Optional. New previous sibling task identifier. If the task + /// is moved to the first position among its siblings, this parameter is + /// omitted. The task set as previous must exist in the task list and can not + /// be hidden. Exceptions: 1. Tasks that are both completed and hidden can + /// only be moved to position 0, so the previous field must be empty. /// /// [$fields] - Selector specifying which fields to include in a partial /// response. diff --git a/generated/googleapis/lib/testing/v1.dart b/generated/googleapis/lib/testing/v1.dart index 966c847ad..9001decbb 100644 --- a/generated/googleapis/lib/testing/v1.dart +++ b/generated/googleapis/lib/testing/v1.dart @@ -2467,7 +2467,8 @@ class IosRoboTest { /// /// See /// https://firebase.google.com/docs/test-lab/android/robo-scripts-reference - /// for more information about Roboscripts. + /// for more information about Roboscripts. The maximum allowed file size of + /// the roboscript is 10MiB. FileReference? roboScript; IosRoboTest({ @@ -2769,17 +2770,26 @@ class LabInfo { /// If empty, the device is hosted in a Google owned lab. core.String? name; + /// The Unicode country/region code (CLDR) of the lab where the device is + /// hosted. + /// + /// E.g. "US" for United States, "CH" for Switzerland. + core.String? regionCode; + LabInfo({ this.name, + this.regionCode, }); LabInfo.fromJson(core.Map json_) : this( name: json_['name'] as core.String?, + regionCode: json_['regionCode'] as core.String?, ); core.Map toJson() => { if (name != null) 'name': name!, + if (regionCode != null) 'regionCode': regionCode!, }; } diff --git a/generated/googleapis/lib/texttospeech/v1.dart b/generated/googleapis/lib/texttospeech/v1.dart index e30ea54cb..9c549337a 100644 --- a/generated/googleapis/lib/texttospeech/v1.dart +++ b/generated/googleapis/lib/texttospeech/v1.dart @@ -410,7 +410,7 @@ class VoicesResource { class AdvancedVoiceOptions { /// Only for Journey voices. /// - /// If false, the synthesis will be context aware and have higher latency. + /// If false, the synthesis is context aware and has a higher latency. core.bool? lowLatencyJourneySynthesis; AdvancedVoiceOptions({ @@ -441,16 +441,16 @@ class AudioConfig { /// PCM). Audio content returned as LINEAR16 also contains a WAV header. /// - "MP3" : MP3 audio at 32kbps. /// - "OGG_OPUS" : Opus encoded audio wrapped in an ogg container. The result - /// will be a file which can be played natively on Android, and in browsers - /// (at least Chrome and Firefox). The quality of the encoding is considerably + /// is a file which can be played natively on Android, and in browsers (at + /// least Chrome and Firefox). The quality of the encoding is considerably /// higher than MP3 while using approximately the same bitrate. /// - "MULAW" : 8-bit samples that compand 14-bit audio samples using G.711 /// PCMU/mu-law. Audio content returned as MULAW also contains a WAV header. /// - "ALAW" : 8-bit samples that compand 14-bit audio samples using G.711 /// PCMU/A-law. Audio content returned as ALAW also contains a WAV header. /// - "PCM" : Uncompressed 16-bit signed little-endian samples (Linear PCM). - /// Note that as opposed to LINEAR16, audio will not be wrapped in a WAV (or - /// any other) header. + /// Note that as opposed to LINEAR16, audio won't be wrapped in a WAV (or any + /// other) header. core.String? audioEncoding; /// Input only. @@ -548,16 +548,16 @@ class CustomPronunciationParams { /// The phonetic encoding of the phrase. /// Possible string values are: /// - "PHONETIC_ENCODING_UNSPECIFIED" : Not specified. - /// - "PHONETIC_ENCODING_IPA" : IPA. (e.g. apple -\> ˈæpəl ) + /// - "PHONETIC_ENCODING_IPA" : IPA, such as apple -\> ˈæpəl. /// https://en.wikipedia.org/wiki/International_Phonetic_Alphabet - /// - "PHONETIC_ENCODING_X_SAMPA" : X-SAMPA (e.g. apple -\> "{p@l" ) + /// - "PHONETIC_ENCODING_X_SAMPA" : X-SAMPA, such as apple -\> "{p@l". /// https://en.wikipedia.org/wiki/X-SAMPA core.String? phoneticEncoding; - /// The phrase to which the customization will be applied. + /// The phrase to which the customization is applied. /// - /// The phrase can be multiple words (in the case of proper nouns etc), but - /// should not span to a whole sentence. + /// The phrase can be multiple words, such as proper nouns, but shouldn't span + /// the length of the sentence. core.String? phrase; /// The pronunciation of the phrase. @@ -587,7 +587,7 @@ class CustomPronunciationParams { /// A collection of pronunciation customizations. class CustomPronunciations { - /// The pronunciation customizations to be applied. + /// The pronunciation customizations are applied. core.List? pronunciations; CustomPronunciations({ @@ -820,15 +820,15 @@ typedef Status = $Status00; /// Either `text` or `ssml` must be supplied. Supplying both or neither returns /// google.rpc.Code.INVALID_ARGUMENT. The input size is limited to 5000 bytes. class SynthesisInput { - /// The pronunciation customizations to be applied to the input. + /// The pronunciation customizations are applied to the input. /// - /// If this is set, the input will be synthesized using the given - /// pronunciation customizations. The initial support will be for EFIGS - /// (English, French, Italian, German, Spanish) languages, as provided in - /// VoiceSelectionParams. Journey and Instant Clone voices are not supported - /// yet. In order to customize the pronunciation of a phrase, there must be an + /// If this is set, the input is synthesized using the given pronunciation + /// customizations. The initial support is for English, French, Italian, + /// German, and Spanish (EFIGS) languages, as provided in + /// VoiceSelectionParams. Journey and Instant Clone voices aren't supported. + /// In order to customize the pronunciation of a phrase, there must be an /// exact match of the phrase in the input types. If using SSML, the phrase - /// must not be inside a phoneme tag (entirely or partially). + /// must not be inside a phoneme tag. /// /// Optional. CustomPronunciations? customPronunciations; @@ -1024,7 +1024,7 @@ class SynthesizeSpeechResponse { }; } -/// A Multi-speaker turn. +/// A multi-speaker turn. class Turn { /// The speaker of the turn, for example, 'O' or 'Q'. /// @@ -1179,8 +1179,8 @@ class VoiceSelectionParams { /// The configuration for a voice clone. /// - /// If \[VoiceCloneParams.voice_clone_key\] is set, the service will choose - /// the voice clone matching the specified configuration. + /// If \[VoiceCloneParams.voice_clone_key\] is set, the service chooses the + /// voice clone matching the specified configuration. /// /// Optional. VoiceCloneParams? voiceClone; diff --git a/generated/googleapis/lib/tpu/v2.dart b/generated/googleapis/lib/tpu/v2.dart index 4678cf895..4aaac9c58 100644 --- a/generated/googleapis/lib/tpu/v2.dart +++ b/generated/googleapis/lib/tpu/v2.dart @@ -1174,8 +1174,8 @@ class AcceleratorConfig { /// - "V3" : TPU v3. /// - "V4" : TPU v4. /// - "V5LITE_POD" : TPU v5lite pod. - /// - "V5P" : TPU v5p - /// - "V6E" : TPU v6e + /// - "V5P" : TPU v5p. + /// - "V6E" : TPU v6e. core.String? type; AcceleratorConfig({ @@ -1707,7 +1707,7 @@ typedef Location = $Location00; class MultisliceParams { /// Number of nodes with this spec. /// - /// The system will attempt to provison "node_count" nodes as part of the + /// The system will attempt to provision "node_count" nodes as part of the /// request. This needs to be \> 1. /// /// Required. @@ -1918,8 +1918,20 @@ class Node { core.String? name; /// Network configurations for the TPU node. + /// + /// network_config and network_configs are mutually exclusive, you can only + /// specify one of them. If both are specified, an error will be returned. NetworkConfig? networkConfig; + /// Repeated network configurations for the TPU node. + /// + /// This field is used to specify multiple networks configs for the TPU node. + /// network_config and network_configs are mutually exclusive, you can only + /// specify one of them. If both are specified, an error will be returned. + /// + /// Optional. + core.List? networkConfigs; + /// The network endpoints where TPU workers can be accessed and sent work. /// /// It is recommended that runtime clients of the node reach out to the 0th @@ -2000,6 +2012,7 @@ class Node { this.multisliceNode, this.name, this.networkConfig, + this.networkConfigs, this.networkEndpoints, this.queuedResource, this.runtimeVersion, @@ -2049,6 +2062,10 @@ class Node { ? NetworkConfig.fromJson( json_['networkConfig'] as core.Map) : null, + networkConfigs: (json_['networkConfigs'] as core.List?) + ?.map((value) => NetworkConfig.fromJson( + value as core.Map)) + .toList(), networkEndpoints: (json_['networkEndpoints'] as core.List?) ?.map((value) => NetworkEndpoint.fromJson( value as core.Map)) @@ -2093,6 +2110,7 @@ class Node { if (multisliceNode != null) 'multisliceNode': multisliceNode!, if (name != null) 'name': name!, if (networkConfig != null) 'networkConfig': networkConfig!, + if (networkConfigs != null) 'networkConfigs': networkConfigs!, if (networkEndpoints != null) 'networkEndpoints': networkEndpoints!, if (queuedResource != null) 'queuedResource': queuedResource!, if (runtimeVersion != null) 'runtimeVersion': runtimeVersion!, diff --git a/generated/googleapis/lib/trafficdirector/v3.dart b/generated/googleapis/lib/trafficdirector/v3.dart index fb6212b27..a4babd0bc 100644 --- a/generated/googleapis/lib/trafficdirector/v3.dart +++ b/generated/googleapis/lib/trafficdirector/v3.dart @@ -437,6 +437,11 @@ class DynamicCluster { /// Requested Resource Does Not Exist" ` section. /// - "ACKED" : Client received this resource and replied with ACK. /// - "NACKED" : Client received this resource and replied with NACK. + /// - "RECEIVED_ERROR" : Client received an error from the control plane. The + /// attached config dump is the most recent accepted one. If no config is + /// accepted yet, the attached config dump will be empty. + /// - "TIMEOUT" : Client timed out waiting for the resource from the control + /// plane. core.String? clientStatus; /// The cluster config. @@ -512,6 +517,11 @@ class DynamicEndpointConfig { /// Requested Resource Does Not Exist" ` section. /// - "ACKED" : Client received this resource and replied with ACK. /// - "NACKED" : Client received this resource and replied with NACK. + /// - "RECEIVED_ERROR" : Client received an error from the control plane. The + /// attached config dump is the most recent accepted one. If no config is + /// accepted yet, the attached config dump will be empty. + /// - "TIMEOUT" : Client timed out waiting for the resource from the control + /// plane. core.String? clientStatus; /// The endpoint config. @@ -594,6 +604,11 @@ class DynamicListener { /// Requested Resource Does Not Exist" ` section. /// - "ACKED" : Client received this resource and replied with ACK. /// - "NACKED" : Client received this resource and replied with NACK. + /// - "RECEIVED_ERROR" : Client received an error from the control plane. The + /// attached config dump is the most recent accepted one. If no config is + /// accepted yet, the attached config dump will be empty. + /// - "TIMEOUT" : Client timed out waiting for the resource from the control + /// plane. core.String? clientStatus; /// The listener state for any draining listener by this name. @@ -684,6 +699,11 @@ class DynamicRouteConfig { /// Requested Resource Does Not Exist" ` section. /// - "ACKED" : Client received this resource and replied with ACK. /// - "NACKED" : Client received this resource and replied with NACK. + /// - "RECEIVED_ERROR" : Client received an error from the control plane. The + /// attached config dump is the most recent accepted one. If no config is + /// accepted yet, the attached config dump will be empty. + /// - "TIMEOUT" : Client timed out waiting for the resource from the control + /// plane. core.String? clientStatus; /// Set if the last update failed, cleared after the next successful update. @@ -758,6 +778,11 @@ class DynamicScopedRouteConfigs { /// Requested Resource Does Not Exist" ` section. /// - "ACKED" : Client received this resource and replied with ACK. /// - "NACKED" : Client received this resource and replied with NACK. + /// - "RECEIVED_ERROR" : Client received an error from the control plane. The + /// attached config dump is the most recent accepted one. If no config is + /// accepted yet, the attached config dump will be empty. + /// - "TIMEOUT" : Client timed out waiting for the resource from the control + /// plane. core.String? clientStatus; /// Set if the last update failed, cleared after the next successful update. @@ -983,6 +1008,11 @@ class GenericXdsConfig { /// Requested Resource Does Not Exist" ` section. /// - "ACKED" : Client received this resource and replied with ACK. /// - "NACKED" : Client received this resource and replied with NACK. + /// - "RECEIVED_ERROR" : Client received an error from the control plane. The + /// attached config dump is the most recent accepted one. If no config is + /// accepted yet, the attached config dump will be empty. + /// - "TIMEOUT" : Client timed out waiting for the resource from the control + /// plane. core.String? clientStatus; /// Per xDS resource config status. @@ -1428,6 +1458,9 @@ class PerXdsConfig { /// Notably, the attached config dump is not the NACKed version, but the most /// recent accepted one. If no config is accepted yet, the attached config /// dump will be empty. + /// - "CLIENT_RECEIVED_ERROR" : Client received an error from the control + /// plane. The attached config dump is the most recent accepted one. If no + /// config is accepted yet, the attached config dump will be empty. @core.Deprecated( 'Not supported. Member documentation may have more information.', ) diff --git a/generated/googleapis/lib/transcoder/v1.dart b/generated/googleapis/lib/transcoder/v1.dart index 1dbb9ef41..f05d6c1d2 100644 --- a/generated/googleapis/lib/transcoder/v1.dart +++ b/generated/googleapis/lib/transcoder/v1.dart @@ -2486,8 +2486,9 @@ class MpegCommonEncryption { class MuxStream { /// The container format. /// - /// The default is `mp4` Supported container formats: - `ts` - `fmp4`- the - /// corresponding file extension is `.m4s` - `mp4` - `vtt` - `ogg` See also: + /// The default is `mp4` Supported streaming formats: - `ts` - `fmp4`- the + /// corresponding file extension is `.m4s` Supported standalone file formats: + /// - `mp4` - `mp3` - `ogg` - `vtt` See also: /// [Supported input and output formats](https://cloud.google.com/transcoder/docs/concepts/supported-input-and-output-formats) core.String? container; diff --git a/generated/googleapis/lib/travelimpactmodel/v1.dart b/generated/googleapis/lib/travelimpactmodel/v1.dart index 1c9d5e7ca..b43220def 100644 --- a/generated/googleapis/lib/travelimpactmodel/v1.dart +++ b/generated/googleapis/lib/travelimpactmodel/v1.dart @@ -63,9 +63,9 @@ class FlightsResource { /// are no estimates available for a certain flight leg, the response will /// return the flight leg object with empty emission fields. The request will /// still be considered successful. Reasons for missing emission estimates - /// include: - The flight is unknown to the server. - The input flight leg is - /// missing one or more identifiers. - The flight date is in the past. - The - /// aircraft type is not supported by the model. - Missing seat configuration. + /// include: * The flight is unknown to the server. * The input flight leg is + /// missing one or more identifiers. * The flight date is in the past. * The + /// aircraft type is not supported by the model. * Missing seat configuration. /// The request can contain up to 1000 flight legs. If the request has more /// than 1000 direct flights, if will fail with an INVALID_ARGUMENT error. /// diff --git a/generated/googleapis/lib/vault/v1.dart b/generated/googleapis/lib/vault/v1.dart index def2b9853..6b2dbdf04 100644 --- a/generated/googleapis/lib/vault/v1.dart +++ b/generated/googleapis/lib/vault/v1.dart @@ -1739,7 +1739,7 @@ class AddMatterPermissionsRequest { } /// The options for Calendar exports. -typedef CalendarExportOptions = $ExportOptions00; +typedef CalendarExportOptions = $ExportOptions01; /// Additional options for Calendar search class CalendarOptions { @@ -2025,6 +2025,51 @@ class CountArtifactsRequest { }; } +/// Specify Drive documents by document ID. +class DriveDocumentIds { + /// A list of Drive document IDs. + /// + /// Required. + core.List? ids; + + DriveDocumentIds({ + this.ids, + }); + + DriveDocumentIds.fromJson(core.Map json_) + : this( + ids: (json_['ids'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (ids != null) 'ids': ids!, + }; +} + +/// The Drive documents to search. +class DriveDocumentInfo { + /// Specify Drive documents by document ID. + DriveDocumentIds? documentIds; + + DriveDocumentInfo({ + this.documentIds, + }); + + DriveDocumentInfo.fromJson(core.Map json_) + : this( + documentIds: json_.containsKey('documentIds') + ? DriveDocumentIds.fromJson( + json_['documentIds'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (documentIds != null) 'documentIds': documentIds!, + }; +} + /// Options for Drive exports. class DriveExportOptions { /// To include access level information for users with @@ -2046,7 +2091,7 @@ class DriveExportOptions { }; } -/// Additional options for Drive search +/// Additional options for Drive search. class DriveOptions { /// Set whether the results include only content encrypted with \[Google /// Workspace Client-side encryption\](https://support.google.com/a?p=cse_ov) @@ -2066,6 +2111,9 @@ class DriveOptions { core.String? clientSideEncryptedOption; /// Set to **true** to include shared drives. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) core.bool? includeSharedDrives; /// Set to true to include Team Drive. @@ -2248,6 +2296,9 @@ class ExportOptions { /// Options for Drive exports. DriveExportOptions? driveOptions; + /// Option available for Gemini export. + GeminiExportOptions? geminiOptions; + /// Options for Groups exports. GroupsExportOptions? groupsOptions; @@ -2272,6 +2323,7 @@ class ExportOptions { ExportOptions({ this.calendarOptions, this.driveOptions, + this.geminiOptions, this.groupsOptions, this.hangoutsChatOptions, this.mailOptions, @@ -2289,6 +2341,10 @@ class ExportOptions { ? DriveExportOptions.fromJson( json_['driveOptions'] as core.Map) : null, + geminiOptions: json_.containsKey('geminiOptions') + ? GeminiExportOptions.fromJson( + json_['geminiOptions'] as core.Map) + : null, groupsOptions: json_.containsKey('groupsOptions') ? GroupsExportOptions.fromJson( json_['groupsOptions'] as core.Map) @@ -2311,6 +2367,7 @@ class ExportOptions { core.Map toJson() => { if (calendarOptions != null) 'calendarOptions': calendarOptions!, if (driveOptions != null) 'driveOptions': driveOptions!, + if (geminiOptions != null) 'geminiOptions': geminiOptions!, if (groupsOptions != null) 'groupsOptions': groupsOptions!, if (hangoutsChatOptions != null) 'hangoutsChatOptions': hangoutsChatOptions!, @@ -2353,11 +2410,17 @@ class ExportStats { }; } +/// The options for Gemini exports. +typedef GeminiExportOptions = $ExportOptions00; + +/// Additional options for Gemini search +typedef GeminiOptions = $Empty; + /// Options for Groups exports. -typedef GroupsExportOptions = $ExportOptions01; +typedef GroupsExportOptions = $ExportOptions00; /// Options for Chat exports. -typedef HangoutsChatExportOptions = $ExportOptions01; +typedef HangoutsChatExportOptions = $ExportOptions00; /// The Chat spaces to search class HangoutsChatInfo { @@ -2600,6 +2663,7 @@ class Hold { /// and classic Hangouts. /// - "VOICE" : Google Voice. /// - "CALENDAR" : Calendar. + /// - "GEMINI" : Gemini. core.String? corpus; /// The unique immutable ID of the hold. @@ -2841,6 +2905,7 @@ class MailExportOptions { /// - "PST" : Export as PST. Only available for Gmail, Groups, Hangouts, Voice /// and Calendar. /// - "ICS" : Export as ICS. Only available for Calendar. + /// - "XML" : Export as XML. Only available for Gemini. core.String? exportFormat; /// To enable exporting linked Drive files, set to **true**. @@ -3144,6 +3209,7 @@ class Query { /// and classic Hangouts. /// - "VOICE" : Google Voice. /// - "CALENDAR" : Calendar. + /// - "GEMINI" : Gemini. core.String? corpus; /// The data source to search. @@ -3155,6 +3221,9 @@ class Query { /// Groups only) core.String? dataScope; + /// Required when **SearchMethod** is **DRIVE_DOCUMENT**. + DriveDocumentInfo? driveDocumentInfo; + /// Set Drive search-specific options. DriveOptions? driveOptions; @@ -3163,6 +3232,9 @@ class Query { /// Specify in GMT. The value is rounded to 12 AM on the specified date. core.String? endTime; + /// Set Gemini search-specific options. + GeminiOptions? geminiOptions; + /// Required when **SearchMethod** is **ROOM**. /// /// (read-only) @@ -3200,6 +3272,8 @@ class Query { /// [SitesUrlInfo](https://developers.google.com/vault/reference/rest/v1/Query#sitesurlinfo). /// - "SHARED_DRIVE" : Search the files in the shared drives specified in /// [SharedDriveInfo](https://developers.google.com/vault/reference/rest/v1/Query#shareddriveinfo). + /// - "DRIVE_DOCUMENT" : Retrieve the documents specified in + /// DriveDocumentInfo. core.String? method; /// Required when **SearchMethod** is **ORG_UNIT**. @@ -3225,6 +3299,8 @@ class Query { /// [SitesUrlInfo](https://developers.google.com/vault/reference/rest/v1/Query#sitesurlinfo). /// - "SHARED_DRIVE" : Search the files in the shared drives specified in /// [SharedDriveInfo](https://developers.google.com/vault/reference/rest/v1/Query#shareddriveinfo). + /// - "DRIVE_DOCUMENT" : Retrieve the documents specified in + /// DriveDocumentInfo. @core.Deprecated( 'Not supported. Member documentation may have more information.', ) @@ -3269,8 +3345,10 @@ class Query { this.calendarOptions, this.corpus, this.dataScope, + this.driveDocumentInfo, this.driveOptions, this.endTime, + this.geminiOptions, this.hangoutsChatInfo, this.hangoutsChatOptions, this.mailOptions, @@ -3298,11 +3376,19 @@ class Query { : null, corpus: json_['corpus'] as core.String?, dataScope: json_['dataScope'] as core.String?, + driveDocumentInfo: json_.containsKey('driveDocumentInfo') + ? DriveDocumentInfo.fromJson(json_['driveDocumentInfo'] + as core.Map) + : null, driveOptions: json_.containsKey('driveOptions') ? DriveOptions.fromJson( json_['driveOptions'] as core.Map) : null, endTime: json_['endTime'] as core.String?, + geminiOptions: json_.containsKey('geminiOptions') + ? GeminiOptions.fromJson( + json_['geminiOptions'] as core.Map) + : null, hangoutsChatInfo: json_.containsKey('hangoutsChatInfo') ? HangoutsChatInfo.fromJson(json_['hangoutsChatInfo'] as core.Map) @@ -3347,8 +3433,10 @@ class Query { if (calendarOptions != null) 'calendarOptions': calendarOptions!, if (corpus != null) 'corpus': corpus!, if (dataScope != null) 'dataScope': dataScope!, + if (driveDocumentInfo != null) 'driveDocumentInfo': driveDocumentInfo!, if (driveOptions != null) 'driveOptions': driveOptions!, if (endTime != null) 'endTime': endTime!, + if (geminiOptions != null) 'geminiOptions': geminiOptions!, if (hangoutsChatInfo != null) 'hangoutsChatInfo': hangoutsChatInfo!, if (hangoutsChatOptions != null) 'hangoutsChatOptions': hangoutsChatOptions!, @@ -3620,7 +3708,7 @@ class UserInfo { } /// The options for Voice exports. -typedef VoiceExportOptions = $ExportOptions00; +typedef VoiceExportOptions = $ExportOptions01; /// Additional options for Voice search class VoiceOptions { diff --git a/generated/googleapis/lib/verifiedaccess/v2.dart b/generated/googleapis/lib/verifiedaccess/v2.dart index 1c42bad4b..273050413 100644 --- a/generated/googleapis/lib/verifiedaccess/v2.dart +++ b/generated/googleapis/lib/verifiedaccess/v2.dart @@ -135,6 +135,35 @@ class ChallengeResource { } } +/// Antivirus information on a device. +class Antivirus { + /// The state of the antivirus on the device. + /// + /// Introduced in Chrome M136. + /// + /// Output only. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : Unspecified. + /// - "MISSING" : No antivirus was detected on the device. + /// - "DISABLED" : At least one antivirus was installed on the device but none + /// was enabled. + /// - "ENABLED" : At least one antivirus was enabled on the device. + core.String? state; + + Antivirus({ + this.state, + }); + + Antivirus.fromJson(core.Map json_) + : this( + state: json_['state'] as core.String?, + ); + + core.Map toJson() => { + if (state != null) 'state': state!, + }; +} + /// Result message for VerifiedAccess.GenerateChallenge. class Challenge { /// Generated challenge, the bytes representation of SignedData. @@ -163,9 +192,13 @@ class Challenge { /// Properties of the CrowdStrike agent installed on a device. class CrowdStrikeAgent { /// The Agent ID of the Crowdstrike agent. + /// + /// Output only. core.String? agentId; /// The Customer ID to which the agent belongs to. + /// + /// Output only. core.String? customerId; CrowdStrikeAgent({ @@ -193,11 +226,22 @@ class DeviceSignals { /// /// See https://chromeenterprise.google/policies/?policy=AllowScreenLock for /// more details. Available on ChromeOS only. + /// + /// Output only. core.bool? allowScreenLock; + /// Information about Antivirus software on the device. + /// + /// Available on Windows only. + /// + /// Output only. + Antivirus? antivirus; + /// Current version of the Chrome browser which generated this set of signals. /// /// Example value: "107.0.5286.0". + /// + /// Output only. core.String? browserVersion; /// Whether Chrome's built-in DNS client is used. @@ -205,15 +249,21 @@ class DeviceSignals { /// The OS DNS client is otherwise used. This value may be controlled by an /// enterprise policy: /// https://chromeenterprise.google/policies/#BuiltInDnsClientEnabled. + /// + /// Output only. core.bool? builtInDnsClientEnabled; /// Whether access to the Chrome Remote Desktop application is blocked via a /// policy. + /// + /// Output only. core.bool? chromeRemoteDesktopAppBlocked; /// Crowdstrike agent properties installed on the device, if any. /// /// Available on Windows and MacOS only. + /// + /// Output only. CrowdStrikeAgent? crowdStrikeAgent; /// Affiliation IDs of the organizations that are affiliated with the @@ -223,20 +273,30 @@ class DeviceSignals { /// the organizations managing the device and user are affiliated. To learn /// more about user affiliation, visit /// https://support.google.com/chrome/a/answer/12801245?ref_topic=9027936. + /// + /// Output only. core.List? deviceAffiliationIds; /// Enrollment domain of the customer which is currently managing the device. + /// + /// Output only. core.String? deviceEnrollmentDomain; /// The name of the device's manufacturer. + /// + /// Output only. core.String? deviceManufacturer; /// The name of the device's model. + /// + /// Output only. core.String? deviceModel; /// The encryption state of the disk. /// /// On ChromeOS, the main disk is always ENCRYPTED. + /// + /// Output only. /// Possible string values are: /// - "DISK_ENCRYPTION_UNSPECIFIED" : Unspecified. /// - "DISK_ENCRYPTION_UNKNOWN" : Chrome could not evaluate the encryption @@ -246,6 +306,8 @@ class DeviceSignals { core.String? diskEncryption; /// The display name of the device, as defined by the user. + /// + /// Output only. core.String? displayName; /// Hostname of the device. @@ -254,17 +316,25 @@ class DeviceSignals { /// International Mobile Equipment Identity (IMEI) of the device. /// /// Available on ChromeOS only. + /// + /// Output only. core.List? imei; /// MAC addresses of the device. + /// + /// Output only. core.List? macAddresses; /// Mobile Equipment Identifier (MEID) of the device. /// /// Available on ChromeOS only. + /// + /// Output only. core.List? meid; /// The type of the Operating System currently running on the device. + /// + /// Output only. /// Possible string values are: /// - "OPERATING_SYSTEM_UNSPECIFIED" : UNSPECIFIED. /// - "CHROME_OS" : ChromeOS. @@ -279,6 +349,8 @@ class DeviceSignals { /// On ChromeOS, the value will always be ENABLED on regular devices and /// UNKNOWN on devices in developer mode. Support for MacOS 15 (Sequoia) and /// later has been introduced in Chrome M131. + /// + /// Output only. /// Possible string values are: /// - "OS_FIREWALL_UNSPECIFIED" : Unspecified. /// - "OS_FIREWALL_UNKNOWN" : Chrome could not evaluate the OS firewall state. @@ -290,6 +362,8 @@ class DeviceSignals { /// /// On Windows and linux, the value will also include the security patch /// information. + /// + /// Output only. core.String? osVersion; /// Whether the Password Protection Warning feature is enabled or not. @@ -300,6 +374,8 @@ class DeviceSignals { /// https://chromeenterprise.google/policies/#PasswordProtectionWarningTrigger. /// Note that the policy unset does not have the same effects as having the /// policy explicitly set to `PASSWORD_PROTECTION_OFF`. + /// + /// Output only. /// Possible string values are: /// - "PASSWORD_PROTECTION_WARNING_TRIGGER_UNSPECIFIED" : Unspecified. /// - "POLICY_UNSET" : The policy is not set. @@ -314,9 +390,13 @@ class DeviceSignals { /// Affiliation IDs of the organizations that are affiliated with the /// organization that is currently managing the Chrome Profile’s user or /// ChromeOS user. + /// + /// Output only. core.List? profileAffiliationIds; /// Enrollment domain of the customer which is currently managing the profile. + /// + /// Output only. core.String? profileEnrollmentDomain; /// Whether Enterprise-grade (i.e. custom) unsafe URL scanning is enabled or @@ -324,6 +404,8 @@ class DeviceSignals { /// /// This setting may be controlled by an enterprise policy: /// https://chromeenterprise.google/policies/#EnterpriseRealTimeUrlCheckMode + /// + /// Output only. /// Possible string values are: /// - "REALTIME_URL_CHECK_MODE_UNSPECIFIED" : Unspecified. /// - "REALTIME_URL_CHECK_MODE_DISABLED" : Disabled. Consumer Safe Browsing @@ -336,6 +418,8 @@ class DeviceSignals { /// /// That setting may be controlled by an enterprise policy: /// https://chromeenterprise.google/policies/#SafeBrowsingProtectionLevel. + /// + /// Output only. /// Possible string values are: /// - "SAFE_BROWSING_PROTECTION_LEVEL_UNSPECIFIED" : Unspecified. /// - "INACTIVE" : Safe Browsing is disabled. @@ -347,6 +431,8 @@ class DeviceSignals { /// /// On ChromeOS, this value will always be ENABLED as there is not way to /// disable requiring a password or pin when unlocking the device. + /// + /// Output only. /// Possible string values are: /// - "SCREEN_LOCK_SECURED_UNSPECIFIED" : Unspecified. /// - "SCREEN_LOCK_SECURED_UNKNOWN" : Chrome could not evaluate the state of @@ -359,6 +445,8 @@ class DeviceSignals { /// Whether the device's startup software has its Secure Boot feature enabled. /// /// Available on Windows only. + /// + /// Output only. /// Possible string values are: /// - "SECURE_BOOT_MODE_UNSPECIFIED" : Unspecified. /// - "SECURE_BOOT_MODE_UNKNOWN" : Chrome was unable to determine the Secure @@ -373,12 +461,16 @@ class DeviceSignals { /// /// On Windows, this represents the BIOS's serial number. Not available on /// most Linux distributions. + /// + /// Output only. core.String? serialNumber; /// Whether the Site Isolation (a.k.a Site Per Process) setting is enabled. /// /// That setting may be controlled by an enterprise policy: /// https://chromeenterprise.google/policies/#SitePerProcess + /// + /// Output only. core.bool? siteIsolationEnabled; /// List of the addesses of all OS level DNS servers configured in the @@ -390,9 +482,13 @@ class DeviceSignals { /// This setting may be controlled by an enterprise policy: /// https://chromeenterprise.google/policies/?policy=ThirdPartyBlockingEnabled. /// Available on Windows only. + /// + /// Output only. core.bool? thirdPartyBlockingEnabled; /// The trigger which generated this set of signals. + /// + /// Output only. /// Possible string values are: /// - "TRIGGER_UNSPECIFIED" : Unspecified. /// - "TRIGGER_BROWSER_NAVIGATION" : When navigating to an URL inside a @@ -404,15 +500,20 @@ class DeviceSignals { /// Windows domain that the current machine has joined. /// /// Available on Windows only. + /// + /// Output only. core.String? windowsMachineDomain; /// Windows domain for the current OS user. /// /// Available on Windows only. + /// + /// Output only. core.String? windowsUserDomain; DeviceSignals({ this.allowScreenLock, + this.antivirus, this.browserVersion, this.builtInDnsClientEnabled, this.chromeRemoteDesktopAppBlocked, @@ -449,6 +550,10 @@ class DeviceSignals { DeviceSignals.fromJson(core.Map json_) : this( allowScreenLock: json_['allowScreenLock'] as core.bool?, + antivirus: json_.containsKey('antivirus') + ? Antivirus.fromJson( + json_['antivirus'] as core.Map) + : null, browserVersion: json_['browserVersion'] as core.String?, builtInDnsClientEnabled: json_['builtInDnsClientEnabled'] as core.bool?, @@ -506,6 +611,7 @@ class DeviceSignals { core.Map toJson() => { if (allowScreenLock != null) 'allowScreenLock': allowScreenLock!, + if (antivirus != null) 'antivirus': antivirus!, if (browserVersion != null) 'browserVersion': browserVersion!, if (builtInDnsClientEnabled != null) 'builtInDnsClientEnabled': builtInDnsClientEnabled!, @@ -606,31 +712,43 @@ class VerifyChallengeResponseRequest { /// Result message for VerifiedAccess.VerifyChallengeResponse. class VerifyChallengeResponseResult { /// Attested device ID (ADID). + /// + /// Output only. core.String? attestedDeviceId; /// Unique customer id that this device belongs to, as defined by the Google /// Admin SDK at /// https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers + /// + /// Output only. core.String? customerId; /// Device enrollment id for ChromeOS devices. + /// + /// Output only. core.String? deviceEnrollmentId; /// Device permanent id is returned in this field (for the machine response /// only). + /// + /// Output only. core.String? devicePermanentId; /// Device signal in json string representation. /// /// Prefer using `device_signals` instead. /// - /// Deprecated. + /// Output only. Deprecated. core.String? deviceSignal; /// Device signals. + /// + /// Output only. DeviceSignals? deviceSignals; /// Device attested key trust level. + /// + /// Output only. /// Possible string values are: /// - "KEY_TRUST_LEVEL_UNSPECIFIED" : UNSPECIFIED. /// - "CHROME_OS_VERIFIED_MODE" : ChromeOS device in verified mode. @@ -645,9 +763,13 @@ class VerifyChallengeResponseResult { /// Unique customer id that this profile belongs to, as defined by the Google /// Admin SDK at /// https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers + /// + /// Output only. core.String? profileCustomerId; /// Profile attested key trust level. + /// + /// Output only. /// Possible string values are: /// - "KEY_TRUST_LEVEL_UNSPECIFIED" : UNSPECIFIED. /// - "CHROME_OS_VERIFIED_MODE" : ChromeOS device in verified mode. @@ -659,20 +781,31 @@ class VerifyChallengeResponseResult { /// - "CHROME_BROWSER_NO_KEY" : Chrome Browser without an attestation key. core.String? profileKeyTrustLevel; + /// The unique server-side ID of a profile on the device. + /// + /// Output only. + core.String? profilePermanentId; + /// Certificate Signing Request (in the SPKAC format, base64 encoded) is /// returned in this field. /// /// This field will be set only if device has included CSR in its challenge /// response. (the option to include CSR is now available for both user and /// machine responses) + /// + /// Output only. core.String? signedPublicKeyAndChallenge; /// Virtual device id of the device. /// /// The definition of virtual device id is platform-specific. + /// + /// Output only. core.String? virtualDeviceId; - /// The ID of a profile on the device. + /// The client-provided ID of a profile on the device. + /// + /// Output only. core.String? virtualProfileId; VerifyChallengeResponseResult({ @@ -685,6 +818,7 @@ class VerifyChallengeResponseResult { this.keyTrustLevel, this.profileCustomerId, this.profileKeyTrustLevel, + this.profilePermanentId, this.signedPublicKeyAndChallenge, this.virtualDeviceId, this.virtualProfileId, @@ -704,6 +838,7 @@ class VerifyChallengeResponseResult { keyTrustLevel: json_['keyTrustLevel'] as core.String?, profileCustomerId: json_['profileCustomerId'] as core.String?, profileKeyTrustLevel: json_['profileKeyTrustLevel'] as core.String?, + profilePermanentId: json_['profilePermanentId'] as core.String?, signedPublicKeyAndChallenge: json_['signedPublicKeyAndChallenge'] as core.String?, virtualDeviceId: json_['virtualDeviceId'] as core.String?, @@ -722,6 +857,8 @@ class VerifyChallengeResponseResult { if (profileCustomerId != null) 'profileCustomerId': profileCustomerId!, if (profileKeyTrustLevel != null) 'profileKeyTrustLevel': profileKeyTrustLevel!, + if (profilePermanentId != null) + 'profilePermanentId': profilePermanentId!, if (signedPublicKeyAndChallenge != null) 'signedPublicKeyAndChallenge': signedPublicKeyAndChallenge!, if (virtualDeviceId != null) 'virtualDeviceId': virtualDeviceId!, diff --git a/generated/googleapis/lib/videointelligence/v1.dart b/generated/googleapis/lib/videointelligence/v1.dart index 3c1d805f1..cce89f15d 100644 --- a/generated/googleapis/lib/videointelligence/v1.dart +++ b/generated/googleapis/lib/videointelligence/v1.dart @@ -111,8 +111,8 @@ class OperationsProjectsLocationsOperationsResource { /// or other methods to check whether the cancellation succeeded or whether /// the operation completed despite cancellation. On successful cancellation, /// the operation is not deleted; instead, it becomes an operation with an - /// Operation.error value with a google.rpc.Status.code of 1, corresponding to - /// `Code.CANCELLED`. + /// Operation.error value with a google.rpc.Status.code of `1`, corresponding + /// to `Code.CANCELLED`. /// /// Request parameters: /// @@ -263,8 +263,8 @@ class ProjectsLocationsOperationsResource { /// or other methods to check whether the cancellation succeeded or whether /// the operation completed despite cancellation. On successful cancellation, /// the operation is not deleted; instead, it becomes an operation with an - /// Operation.error value with a google.rpc.Status.code of 1, corresponding to - /// `Code.CANCELLED`. + /// Operation.error value with a google.rpc.Status.code of `1`, corresponding + /// to `Code.CANCELLED`. /// /// [request] - The metadata request object. /// diff --git a/generated/googleapis/lib/vmmigration/v1.dart b/generated/googleapis/lib/vmmigration/v1.dart index 1a758278e..51af2e789 100644 --- a/generated/googleapis/lib/vmmigration/v1.dart +++ b/generated/googleapis/lib/vmmigration/v1.dart @@ -3340,7 +3340,7 @@ class AppliedLicense { }; } -/// Holds informatiom about the available versions for upgrade. +/// Holds information about the available versions for upgrade. class AvailableUpdates { /// The latest version for in place update. /// @@ -5078,7 +5078,7 @@ class CutoverForecast { /// CutoverJob message describes a cutover of a migrating VM. /// /// The CutoverJob is the operation of shutting down the VM, creating a snapshot -/// and clonning the VM using the replicated snapshot. +/// and cloning the VM using the replicated snapshot. class CutoverJob { /// Details of the target Persistent Disks in Compute Engine. /// diff --git a/generated/googleapis/lib/vmwareengine/v1.dart b/generated/googleapis/lib/vmwareengine/v1.dart index 66f0bdf25..4925b0107 100644 --- a/generated/googleapis/lib/vmwareengine/v1.dart +++ b/generated/googleapis/lib/vmwareengine/v1.dart @@ -24,6 +24,7 @@ /// /// - [ProjectsResource] /// - [ProjectsLocationsResource] +/// - [ProjectsLocationsAnnouncementsResource] /// - [ProjectsLocationsDnsBindPermissionResource] /// - [ProjectsLocationsNetworkPeeringsResource] /// - [ProjectsLocationsNetworkPeeringsPeeringRoutesResource] @@ -39,6 +40,7 @@ /// - [ProjectsLocationsPrivateCloudsLoggingServersResource] /// - [ProjectsLocationsPrivateCloudsManagementDnsZoneBindingsResource] /// - [ProjectsLocationsPrivateCloudsSubnetsResource] +/// - [ProjectsLocationsPrivateCloudsUpgradesResource] /// - [ProjectsLocationsPrivateConnectionsResource] /// - [ProjectsLocationsPrivateConnectionsPeeringRoutesResource] /// - [ProjectsLocationsVmwareEngineNetworksResource] @@ -88,6 +90,8 @@ class ProjectsResource { class ProjectsLocationsResource { final commons.ApiRequester _requester; + ProjectsLocationsAnnouncementsResource get announcements => + ProjectsLocationsAnnouncementsResource(_requester); ProjectsLocationsDnsBindPermissionResource get dnsBindPermission => ProjectsLocationsDnsBindPermissionResource(_requester); ProjectsLocationsNetworkPeeringsResource get networkPeerings => @@ -240,6 +244,129 @@ class ProjectsLocationsResource { } } +class ProjectsLocationsAnnouncementsResource { + final commons.ApiRequester _requester; + + ProjectsLocationsAnnouncementsResource(commons.ApiRequester client) + : _requester = client; + + /// Retrieves a `Announcement` by its resource name. + /// + /// Request parameters: + /// + /// [name] - Required. The resource name of the announcement to retrieve. + /// Resource names are schemeless URIs that follow the conventions in + /// https://cloud.google.com/apis/design/resource_names. For example: + /// `projects/my-project/locations/us-west1-a/announcements/announcement-uuid` + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/announcements/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Announcement]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return Announcement.fromJson( + response_ as core.Map); + } + + /// Lists `Announcements` for a given region and project + /// + /// Request parameters: + /// + /// [parent] - Required. The resource name of the location to be queried for + /// announcements. Resource names are schemeless URIs that follow the + /// conventions in https://cloud.google.com/apis/design/resource_names. For + /// example: `projects/my-project/locations/us-west1-a` + /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. + /// + /// [filter] - A filter expression that matches resources returned in the + /// response. The expression must specify the field name, a comparison + /// operator, and the value that you want to use for filtering. The value must + /// be a string, a number, or a boolean. The comparison operator must be `=`, + /// `!=`, `>`, or `<`. For example, if you are filtering a list of + /// announcement runs, you can exclude the ones named `example-announcement` + /// by specifying `name != "example-announcement"`. You can also filter nested + /// fields. To filter on multiple expressions, provide each separate + /// expression within parentheses. For example: ``` (name = + /// "example-announcement") (createTime > "2021-04-12T08:15:10.40Z") ``` By + /// default, each expression is an `AND` expression. However, you can include + /// `AND` and `OR` expressions explicitly. For example: ``` (name = + /// "announcement-1") AND (createTime > "2021-04-12T08:15:10.40Z") OR (name = + /// "announcement-2") ``` + /// + /// [orderBy] - Sorts list results by a certain order. By default, returned + /// results are ordered by `name` in ascending order. You can also sort + /// results in descending order based on the `name` value using `orderBy="name + /// desc"`. Currently, only ordering by `name` is supported. + /// + /// [pageSize] - The maximum number of announcements to return in one page. + /// The service may return fewer than this value. The maximum value is coerced + /// to 1000. The default value of this field is 500. + /// + /// [pageToken] - A page token, received from a previous `ListAnnouncements` + /// call. Provide this to retrieve the subsequent page. When paginating, all + /// other parameters provided to `ListAnnouncements` must match the call that + /// provided the page token. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListAnnouncementsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String parent, { + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/announcements'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListAnnouncementsResponse.fromJson( + response_ as core.Map); + } +} + class ProjectsLocationsDnsBindPermissionResource { final commons.ApiRequester _requester; @@ -1739,6 +1866,8 @@ class ProjectsLocationsPrivateCloudsResource { _requester); ProjectsLocationsPrivateCloudsSubnetsResource get subnets => ProjectsLocationsPrivateCloudsSubnetsResource(_requester); + ProjectsLocationsPrivateCloudsUpgradesResource get upgrades => + ProjectsLocationsPrivateCloudsUpgradesResource(_requester); ProjectsLocationsPrivateCloudsResource(commons.ApiRequester client) : _requester = client; @@ -4647,6 +4776,199 @@ class ProjectsLocationsPrivateCloudsSubnetsResource { } } +class ProjectsLocationsPrivateCloudsUpgradesResource { + final commons.ApiRequester _requester; + + ProjectsLocationsPrivateCloudsUpgradesResource(commons.ApiRequester client) + : _requester = client; + + /// Retrieves a private cloud `Upgrade` resource by its resource name. + /// + /// Request parameters: + /// + /// [name] - Required. The name of the `Upgrade` resource to be retrieved. + /// Resource names are schemeless URIs that follow the conventions in + /// https://cloud.google.com/apis/design/resource_names. For example: + /// `projects/my-project/locations/us-west1-a/privateClouds/my-cloud/upgrades/my-upgrade` + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/privateClouds/\[^/\]+/upgrades/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Upgrade]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return Upgrade.fromJson(response_ as core.Map); + } + + /// Lists past, ongoing and upcoming `Upgrades` for the given private cloud. + /// + /// Request parameters: + /// + /// [parent] - Required. Query a list of `Upgrades` for the given private + /// cloud resource name. Resource names are schemeless URIs that follow the + /// conventions in https://cloud.google.com/apis/design/resource_names. For + /// example: `projects/my-project/locations/us-west1-a/privateClouds/my-cloud` + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/privateClouds/\[^/\]+$`. + /// + /// [filter] - A filter expression that matches resources returned in the + /// response. The expression must specify the field name, a comparison + /// operator, and the value that you want to use for filtering. The value must + /// be a string, a number, or a boolean. The comparison operator must be `=`, + /// `!=`, `>`, or `<`. For example, if you are filtering a list of upgrades, + /// you can exclude the ones named `example-upgrade1` by specifying `name != + /// "example-upgrade1"`. You can also filter nested fields. To filter on + /// multiple expressions, provide each separate expression within parentheses. + /// For example: ``` (name = "example-upgrade") (createTime > + /// "2021-04-12T08:15:10.40Z") ``` By default, each expression is an `AND` + /// expression. However, you can include `AND` and `OR` expressions + /// explicitly. For example: ``` (name = "upgrade-1") AND (createTime > + /// "2021-04-12T08:15:10.40Z") OR (name = "upgrade-2") ``` + /// + /// [orderBy] - Sorts list results by a certain order. By default, returned + /// results are ordered by `name` in ascending order. You can also sort + /// results in descending order based on the `name` value using `orderBy="name + /// desc"`. Currently, only ordering by `name` is supported. + /// + /// [pageSize] - The maximum number of `Upgrades` to return in one page. The + /// service may return fewer resources than this value. The maximum value is + /// coerced to 1000. The default value of this field is 500. + /// + /// [pageToken] - A page token, received from a previous `ListUpgrades` call. + /// Provide this to retrieve the subsequent page. When paginating, all other + /// parameters provided to `ListUpgrades` must match the call that provided + /// the page token. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListUpgradesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String parent, { + core.String? filter, + core.String? orderBy, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (orderBy != null) 'orderBy': [orderBy], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/upgrades'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListUpgradesResponse.fromJson( + response_ as core.Map); + } + + /// Update the private cloud `Upgrade` resource. + /// + /// Only `schedule` field can updated. The schedule can only be updated when + /// the upgrade has not started and schedule edit window is open. Only fields + /// specified in `update_mask` are considered. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [name] - Output only. Identifier. The resource name of the private cloud + /// `Upgrade`. Resource names are schemeless URIs that follow the conventions + /// in https://cloud.google.com/apis/design/resource_names. For example: + /// `projects/my-project/locations/us-west1-a/privateClouds/my-cloud/upgrades/my-upgrade` + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/privateClouds/\[^/\]+/upgrades/\[^/\]+$`. + /// + /// [requestId] - Optional. A request ID to identify requests. Specify a + /// unique request ID so that if you must retry your request, the server will + /// know to ignore the request if it has already been completed. The server + /// guarantees that a request doesn't result in creation of duplicate + /// commitments for at least 60 minutes. For example, consider a situation + /// where you make an initial request and the request times out. If you make + /// the request again with the same request ID, the server can check if + /// original operation with the same request ID was received, and if so, will + /// ignore the second request. This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with + /// the exception that zero UUID is not supported + /// (00000000-0000-0000-0000-000000000000). + /// + /// [updateMask] - Required. Field mask is used to specify the fields to be + /// overwritten in the `Upgrade` resource by the update. The fields specified + /// in the `update_mask` are relative to the resource, not the full request. A + /// field will be overwritten if it is in the mask. If the user does not + /// provide a mask then all fields will be overwritten. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future patch( + Upgrade request, + core.String name, { + core.String? requestId, + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (requestId != null) 'requestId': [requestId], + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } +} + class ProjectsLocationsPrivateConnectionsResource { final commons.ApiRequester _requester; @@ -5378,11 +5700,134 @@ class ProjectsLocationsVmwareEngineNetworksResource { } } -/// Specifies the audit configuration for a service. -/// -/// The configuration determines which permission types are logged, and what -/// identities, if any, are exempted from logging. An AuditConfig must have one -/// or more AuditLogConfigs. If there are AuditConfigs for both `allServices` +/// Announcement for the resources of Vmware Engine. +class Announcement { + /// Activity type of the announcement There can be only one active + /// announcement for a given activity type and target resource. + /// + /// Optional. + core.String? activityType; + + /// A Cluster resource name. + core.String? cluster; + + /// Code of the announcement. + /// + /// Indicates the presence of a VMware Engine related announcement and + /// corresponds to a related message in the `description` field. + /// + /// Required. + core.String? code; + + /// Creation time of this resource. + /// + /// It also serves as start time of notification. + /// + /// Output only. + core.String? createTime; + + /// Description of the announcement. + /// + /// Output only. + core.String? description; + + /// Additional structured details about this announcement. + /// + /// Output only. + core.Map? metadata; + + /// The resource name of the announcement. + /// + /// Resource names are schemeless URIs that follow the conventions in + /// https://cloud.google.com/apis/design/resource_names. For example: + /// `projects/my-project/locations/us-west1-a/announcements/my-announcement-id` + /// + /// Output only. + core.String? name; + + /// A Private Cloud resource name. + core.String? privateCloud; + + /// State of the resource. + /// + /// New values may be added to this enum when appropriate. + /// + /// Output only. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : The default value. This value should never be + /// used. + /// - "ACTIVE" : Active announcement which should be visible to user. + /// - "INACTIVE" : Inactive announcement which should not be visible to user. + /// - "DELETING" : Announcement which is being deleted + /// - "CREATING" : Announcement which being created + core.String? state; + + /// Target Resource Type defines the type of the target for the announcement + /// + /// Output only. + core.String? targetResourceType; + + /// Last update time of this resource. + /// + /// Output only. + core.String? updateTime; + + Announcement({ + this.activityType, + this.cluster, + this.code, + this.createTime, + this.description, + this.metadata, + this.name, + this.privateCloud, + this.state, + this.targetResourceType, + this.updateTime, + }); + + Announcement.fromJson(core.Map json_) + : this( + activityType: json_['activityType'] as core.String?, + cluster: json_['cluster'] as core.String?, + code: json_['code'] as core.String?, + createTime: json_['createTime'] as core.String?, + description: json_['description'] as core.String?, + metadata: + (json_['metadata'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + name: json_['name'] as core.String?, + privateCloud: json_['privateCloud'] as core.String?, + state: json_['state'] as core.String?, + targetResourceType: json_['targetResourceType'] as core.String?, + updateTime: json_['updateTime'] as core.String?, + ); + + core.Map toJson() => { + if (activityType != null) 'activityType': activityType!, + if (cluster != null) 'cluster': cluster!, + if (code != null) 'code': code!, + if (createTime != null) 'createTime': createTime!, + if (description != null) 'description': description!, + if (metadata != null) 'metadata': metadata!, + if (name != null) 'name': name!, + if (privateCloud != null) 'privateCloud': privateCloud!, + if (state != null) 'state': state!, + if (targetResourceType != null) + 'targetResourceType': targetResourceType!, + if (updateTime != null) 'updateTime': updateTime!, + }; +} + +/// Specifies the audit configuration for a service. +/// +/// The configuration determines which permission types are logged, and what +/// identities, if any, are exempted from logging. An AuditConfig must have one +/// or more AuditLogConfigs. If there are AuditConfigs for both `allServices` /// and a specific service, the union of the two AuditConfigs is used for that /// service: the log_types specified in each AuditConfig are enabled, and the /// exempted_members in each AuditLogConfig are exempted. Example Policy with @@ -5820,6 +6265,56 @@ class Cluster { }; } +/// Constraints to be applied while editing a schedule. +/// +/// These constraints ensure that `Upgrade` specific requirements are met. +class Constraints { + /// Minimum number of hours must be allotted for the upgrade activities for + /// each selected day. + /// + /// This is a minimum; the upgrade schedule can allot more hours for the given + /// day. + /// + /// Output only. + core.int? minHoursDay; + + /// The minimum number of weekly hours must be allotted for the upgrade + /// activities. + /// + /// This is just a minimum; the schedule can assign more weekly hours. + /// + /// Output only. + core.int? minHoursWeek; + + /// The user can only reschedule an upgrade that starts within this range. + /// + /// Output only. + Interval? rescheduleDateRange; + + Constraints({ + this.minHoursDay, + this.minHoursWeek, + this.rescheduleDateRange, + }); + + Constraints.fromJson(core.Map json_) + : this( + minHoursDay: json_['minHoursDay'] as core.int?, + minHoursWeek: json_['minHoursWeek'] as core.int?, + rescheduleDateRange: json_.containsKey('rescheduleDateRange') + ? Interval.fromJson(json_['rescheduleDateRange'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (minHoursDay != null) 'minHoursDay': minHoursDay!, + if (minHoursWeek != null) 'minHoursWeek': minHoursWeek!, + if (rescheduleDateRange != null) + 'rescheduleDateRange': rescheduleDateRange!, + }; +} + /// Credentials for a private cloud. class Credentials { /// Initial password. @@ -6442,6 +6937,14 @@ class HcxActivationKey { }; } +/// Represents a time interval, encoded as a Timestamp start (inclusive) and a +/// Timestamp end (exclusive). +/// +/// The start must be less than or equal to the end. When the start equals the +/// end, the interval is empty (matches no time). When both start and end are +/// unspecified, the interval matches any time. +typedef Interval = $Interval; + /// An IP range provided in any one of the supported formats. class IpRange { /// The name of an `ExternalAddress` resource. @@ -6484,6 +6987,44 @@ class IpRange { }; } +/// Response message for VmwareEngine.ListAnnouncements +class ListAnnouncementsResponse { + /// A list of announcement runs. + core.List? announcements; + + /// A token, which can be sent as `page_token` to retrieve the next page. + /// + /// If this field is omitted, there are no subsequent pages. + core.String? nextPageToken; + + /// list of unreachable locations + core.List? unreachable; + + ListAnnouncementsResponse({ + this.announcements, + this.nextPageToken, + this.unreachable, + }); + + ListAnnouncementsResponse.fromJson(core.Map json_) + : this( + announcements: (json_['announcements'] as core.List?) + ?.map((value) => Announcement.fromJson( + value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + unreachable: (json_['unreachable'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (announcements != null) 'announcements': announcements!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (unreachable != null) 'unreachable': unreachable!, + }; +} + /// Response message for VmwareEngine.ListClusters class ListClustersResponse { /// A list of private cloud clusters. @@ -7100,6 +7641,44 @@ class ListSubnetsResponse { }; } +/// Response message for VmwareEngine.ListUpgrades. +class ListUpgradesResponse { + /// A token, which can be sent as `page_token` to retrieve the next page. + /// + /// If this field is omitted, there are no subsequent pages. + core.String? nextPageToken; + + /// List of unreachable resources. + core.List? unreachable; + + /// A list of `Upgrades`. + core.List? upgrades; + + ListUpgradesResponse({ + this.nextPageToken, + this.unreachable, + this.upgrades, + }); + + ListUpgradesResponse.fromJson(core.Map json_) + : this( + nextPageToken: json_['nextPageToken'] as core.String?, + unreachable: (json_['unreachable'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + upgrades: (json_['upgrades'] as core.List?) + ?.map((value) => Upgrade.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (unreachable != null) 'unreachable': unreachable!, + if (upgrades != null) 'upgrades': upgrades!, + }; +} + /// Response message for VmwareEngine.ListVmwareEngineNetworks class ListVmwareEngineNetworksResponse { /// A token, which can be sent as `page_token` to retrieve the next page. @@ -8094,7 +8673,7 @@ class NodeTypeConfig { } /// Details about a NSX Manager appliance. -typedef Nsx = $Shared14; +typedef Nsx = $Shared15; /// This resource represents a long-running operation that is the result of a /// network API call. @@ -8911,6 +9490,80 @@ class RevokeDnsBindPermissionRequest { }; } +/// Schedule for the upgrade. +class Schedule { + /// Constraints applied to the schedule. + /// + /// These constraints should be applicable at the time of any rescheduling. + /// + /// Output only. + Constraints? constraints; + + /// The schedule is open for edits during this time interval or window. + /// + /// Output only. + Interval? editWindow; + + /// Indicates who most recently edited the upgrade schedule. + /// + /// The value is updated whenever the upgrade is rescheduled. + /// + /// Output only. + /// Possible string values are: + /// - "EDITOR_UNSPECIFIED" : The default value. This value should never be + /// used. + /// - "SYSTEM" : The upgrade is scheduled by the System or internal service. + /// - "USER" : The upgrade is scheduled by the end user. + core.String? lastEditor; + + /// The scheduled start time for the upgrade. + /// + /// Required. + core.String? startTime; + + /// Weekly time windows for upgrade activities. + /// + /// The server performs upgrade activities during these time windows to + /// minimize disruptions. + /// + /// Required. + core.List? weeklyWindows; + + Schedule({ + this.constraints, + this.editWindow, + this.lastEditor, + this.startTime, + this.weeklyWindows, + }); + + Schedule.fromJson(core.Map json_) + : this( + constraints: json_.containsKey('constraints') + ? Constraints.fromJson( + json_['constraints'] as core.Map) + : null, + editWindow: json_.containsKey('editWindow') + ? Interval.fromJson( + json_['editWindow'] as core.Map) + : null, + lastEditor: json_['lastEditor'] as core.String?, + startTime: json_['startTime'] as core.String?, + weeklyWindows: (json_['weeklyWindows'] as core.List?) + ?.map((value) => TimeWindow.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (constraints != null) 'constraints': constraints!, + if (editWindow != null) 'editWindow': editWindow!, + if (lastEditor != null) 'lastEditor': lastEditor!, + if (startTime != null) 'startTime': startTime!, + if (weeklyWindows != null) 'weeklyWindows': weeklyWindows!, + }; +} + /// Request message for `SetIamPolicy` method. class SetIamPolicyRequest { /// REQUIRED: The complete policy to be applied to the `resource`. @@ -9109,6 +9762,64 @@ class Thresholds { }; } +/// Represents a time of day. +/// +/// The date and time zone are either not significant or are specified +/// elsewhere. An API may choose to allow leap seconds. Related types are +/// google.type.Date and `google.protobuf.Timestamp`. +typedef TimeOfDay = $TimeOfDay; + +/// Represents the time window to perform upgrade activities. +class TimeWindow { + /// Day of the week for this window. + /// + /// Required. + /// Possible string values are: + /// - "DAY_OF_WEEK_UNSPECIFIED" : The day of the week is unspecified. + /// - "MONDAY" : Monday + /// - "TUESDAY" : Tuesday + /// - "WEDNESDAY" : Wednesday + /// - "THURSDAY" : Thursday + /// - "FRIDAY" : Friday + /// - "SATURDAY" : Saturday + /// - "SUNDAY" : Sunday + core.String? dayOfWeek; + + /// The duration of the window. + /// + /// The max allowed duration for any window is 24 hours. + /// + /// Required. + core.String? duration; + + /// Time in UTC when the window starts. + /// + /// Required. + TimeOfDay? startTime; + + TimeWindow({ + this.dayOfWeek, + this.duration, + this.startTime, + }); + + TimeWindow.fromJson(core.Map json_) + : this( + dayOfWeek: json_['dayOfWeek'] as core.String?, + duration: json_['duration'] as core.String?, + startTime: json_.containsKey('startTime') + ? TimeOfDay.fromJson( + json_['startTime'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (dayOfWeek != null) 'dayOfWeek': dayOfWeek!, + if (duration != null) 'duration': duration!, + if (startTime != null) 'startTime': startTime!, + }; +} + /// Request message for VmwareEngine.UndeletePrivateCloud class UndeletePrivateCloudRequest { /// The request ID must be a valid UUID with the exception that zero UUID is @@ -9131,8 +9842,185 @@ class UndeletePrivateCloudRequest { }; } +/// Describes Private cloud Upgrade. +class Upgrade { + /// The list of component upgrades. + /// + /// Output only. + core.List? componentUpgrades; + + /// Creation time of this resource. + /// + /// Output only. + core.String? createTime; + + /// The description of the upgrade. + /// + /// This is used to provide additional information about the private cloud + /// upgrade, such as the upgrade's purpose, the changes included in the + /// upgrade, or any other relevant information about the upgrade. + /// + /// Output only. + core.String? description; + + /// End time of the upgrade. + /// + /// Output only. + core.String? endTime; + + /// The estimated total duration of the upgrade. + /// + /// This information can be used to plan or schedule upgrades to minimize + /// disruptions. Please note that the estimated duration is only an estimate. + /// The actual upgrade duration may vary. + /// + /// Output only. + core.String? estimatedDuration; + + /// The etag for the upgrade resource. + /// + /// If this is provided on update, it must match the server's etag. + core.String? etag; + + /// Identifier. + /// + /// The resource name of the private cloud `Upgrade`. Resource names are + /// schemeless URIs that follow the conventions in + /// https://cloud.google.com/apis/design/resource_names. For example: + /// `projects/my-project/locations/us-west1-a/privateClouds/my-cloud/upgrades/my-upgrade` + /// + /// Output only. + core.String? name; + + /// Schedule details for the upgrade. + Schedule? schedule; + + /// The start version + /// + /// Output only. + core.String? startVersion; + + /// The current state of the upgrade. + /// + /// Output only. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : The default value. This value should never be + /// used. + /// - "SCHEDULED" : The upgrade is scheduled but not started yet. + /// - "ONGOING" : The upgrade is currently in progress and has not completed + /// yet. + /// - "SUCCEEDED" : The upgrade completed successfully. + /// - "PAUSED" : The upgrade is currently paused. + /// - "FAILED" : The upgrade failed. + /// - "CANCELLING" : The upgrade is in process of being canceled. + /// - "CANCELLED" : The upgrade is canceled. + /// - "RESCHEDULING" : The upgrade is in process of being rescheduled. + core.String? state; + + /// The target version + /// + /// Output only. + core.String? targetVersion; + + /// The type of upgrade. + /// + /// Output only. + /// Possible string values are: + /// - "TYPE_UNSPECIFIED" : The default value. This value should never be used. + /// - "VSPHERE_UPGRADE" : Upgrade of vmware components when a major version is + /// available. 7.0u2 -\> 7.0u3. + /// - "VSPHERE_PATCH" : Patching of vmware components when a minor version is + /// available. 7.0u2c -\> 7.0u2d. + /// - "WORKAROUND" : Workarounds are hotfixes for vulnerabilities or issues + /// applied to mitigate the known vulnerability or issue until a patch or + /// update is released. The description of the upgrade will have more details. + /// - "FIRMWARE_UPGRADE" : Firmware upgrade for VMware product used in the + /// private cloud. + /// - "SWITCH_UPGRADE" : Switch upgrade. + /// - "OTHER" : The upgrade type that doesn't fall into any other category. + /// - "INFRASTRUCTURE_UPGRADE" : Infrastructure upgrade in BM node + /// maintenance. + core.String? type; + + /// System-generated unique identifier for the resource. + /// + /// Output only. + core.String? uid; + + /// Last update time of this resource. + /// + /// Output only. + core.String? updateTime; + + /// + /// + /// Output only. + core.String? version; + + Upgrade({ + this.componentUpgrades, + this.createTime, + this.description, + this.endTime, + this.estimatedDuration, + this.etag, + this.name, + this.schedule, + this.startVersion, + this.state, + this.targetVersion, + this.type, + this.uid, + this.updateTime, + this.version, + }); + + Upgrade.fromJson(core.Map json_) + : this( + componentUpgrades: (json_['componentUpgrades'] as core.List?) + ?.map((value) => VmwareUpgradeComponent.fromJson( + value as core.Map)) + .toList(), + createTime: json_['createTime'] as core.String?, + description: json_['description'] as core.String?, + endTime: json_['endTime'] as core.String?, + estimatedDuration: json_['estimatedDuration'] as core.String?, + etag: json_['etag'] as core.String?, + name: json_['name'] as core.String?, + schedule: json_.containsKey('schedule') + ? Schedule.fromJson( + json_['schedule'] as core.Map) + : null, + startVersion: json_['startVersion'] as core.String?, + state: json_['state'] as core.String?, + targetVersion: json_['targetVersion'] as core.String?, + type: json_['type'] as core.String?, + uid: json_['uid'] as core.String?, + updateTime: json_['updateTime'] as core.String?, + version: json_['version'] as core.String?, + ); + + core.Map toJson() => { + if (componentUpgrades != null) 'componentUpgrades': componentUpgrades!, + if (createTime != null) 'createTime': createTime!, + if (description != null) 'description': description!, + if (endTime != null) 'endTime': endTime!, + if (estimatedDuration != null) 'estimatedDuration': estimatedDuration!, + if (etag != null) 'etag': etag!, + if (name != null) 'name': name!, + if (schedule != null) 'schedule': schedule!, + if (startVersion != null) 'startVersion': startVersion!, + if (state != null) 'state': state!, + if (targetVersion != null) 'targetVersion': targetVersion!, + if (type != null) 'type': type!, + if (uid != null) 'uid': uid!, + if (updateTime != null) 'updateTime': updateTime!, + if (version != null) 'version': version!, + }; +} + /// Details about a vCenter Server management appliance. -typedef Vcenter = $Shared14; +typedef Vcenter = $Shared15; /// VMware Engine network resource that provides connectivity for VMware Engine /// private clouds. @@ -9243,6 +10131,63 @@ class VmwareEngineNetwork { }; } +/// Per component upgrade resource +class VmwareUpgradeComponent { + /// Type of component + /// + /// Output only. + /// Possible string values are: + /// - "VMWARE_COMPONENT_TYPE_UNSPECIFIED" : The default value. This value + /// should never be used. + /// - "VCENTER" : vcenter + /// - "ESXI" : esxi nodes + transport nodes + /// - "NSXT_UC" : nsxt upgrade coordinator + /// - "NSXT_EDGE" : nsxt edges cluster + /// - "NSXT_MGR" : nsxt managers/management plane + /// - "HCX" : hcx + /// - "VSAN" : VSAN cluster + /// - "DVS" : DVS switch + /// - "NAMESERVER_VM" : Nameserver VMs + /// - "KMS_VM" : KMS VM used for vsan encryption + /// - "WITNESS_VM" : witness VM in case of stretch PC + /// - "NSXT" : nsxt + /// - "CLUSTER" : Cluster is used in case of BM + core.String? componentType; + + /// Component's upgrade state. + /// + /// Output only. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : The default value. This value should never be + /// used. + /// - "RUNNING" : Component's upgrade is in progress + /// - "PAUSED" : The component's upgrade is paused. Will be resumed when + /// upgrade job is resumed + /// - "SUCCEEDED" : The component's upgrade is successfully completed + /// - "FAILED" : The component's upgrade has failed. This will move to resume + /// if upgrade is resumed or stay as is + /// - "NOT_STARTED" : Component's upgrade has not started yet + /// - "NOT_APPLICABLE" : Component's upgrade is not applicable in this + /// upgrade. It will be skipped. + core.String? state; + + VmwareUpgradeComponent({ + this.componentType, + this.state, + }); + + VmwareUpgradeComponent.fromJson(core.Map json_) + : this( + componentType: json_['componentType'] as core.String?, + state: json_['state'] as core.String?, + ); + + core.Map toJson() => { + if (componentType != null) 'componentType': componentType!, + if (state != null) 'state': state!, + }; +} + /// Represents a VMware Engine VPC network that is managed by a VMware Engine /// network resource. class VpcNetwork { diff --git a/generated/googleapis/lib/walletobjects/v1.dart b/generated/googleapis/lib/walletobjects/v1.dart index 8264427ac..55accdfd9 100644 --- a/generated/googleapis/lib/walletobjects/v1.dart +++ b/generated/googleapis/lib/walletobjects/v1.dart @@ -39,6 +39,9 @@ /// - [SmarttapResource] /// - [TransitclassResource] /// - [TransitobjectResource] +/// - [WalletobjectsResource] +/// - [WalletobjectsV1Resource] +/// - [WalletobjectsV1PrivateContentResource] library; import 'dart:async' as async; @@ -92,6 +95,7 @@ class WalletobjectsApi { SmarttapResource get smarttap => SmarttapResource(_requester); TransitclassResource get transitclass => TransitclassResource(_requester); TransitobjectResource get transitobject => TransitobjectResource(_requester); + WalletobjectsResource get walletobjects => WalletobjectsResource(_requester); WalletobjectsApi(http.Client client, {core.String rootUrl = 'https://walletobjects.googleapis.com/', @@ -4473,6 +4477,70 @@ class TransitobjectResource { } } +class WalletobjectsResource { + final commons.ApiRequester _requester; + + WalletobjectsV1Resource get v1 => WalletobjectsV1Resource(_requester); + + WalletobjectsResource(commons.ApiRequester client) : _requester = client; +} + +class WalletobjectsV1Resource { + final commons.ApiRequester _requester; + + WalletobjectsV1PrivateContentResource get privateContent => + WalletobjectsV1PrivateContentResource(_requester); + + WalletobjectsV1Resource(commons.ApiRequester client) : _requester = client; +} + +class WalletobjectsV1PrivateContentResource { + final commons.ApiRequester _requester; + + WalletobjectsV1PrivateContentResource(commons.ApiRequester client) + : _requester = client; + + /// Provide Google with information about awaiting private pass update. + /// + /// This will allow Google to provide the update notification to the device + /// that currently holds this pass. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [SetPassUpdateNoticeResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future setPassUpdateNotice( + SetPassUpdateNoticeRequest request, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + const url_ = 'walletobjects/v1/privateContent/setPassUpdateNotice'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return SetPassUpdateNoticeResponse.fromJson( + response_ as core.Map); + } +} + /// ActivationOptions for the class class ActivationOptions { /// HTTPS URL that supports REST semantics. @@ -10683,7 +10751,7 @@ class GroupingInfo { /// Wrapping type for Google hosted images. /// -/// Next ID: 7 +/// Next ID: 8 class Image { /// Description of the image used for accessibility. LocalizedString? contentDescription; @@ -14998,6 +15066,62 @@ class SecurityAnimation { }; } +/// Request to send a private pass update notice information to Google, so that +/// devices can then fetch the notice prompting the user to update a pass. +class SetPassUpdateNoticeRequest { + /// A fully qualified identifier of the pass that the issuer wants to notify + /// the pass holder(s) about. + /// + /// Formatted as . + /// + /// Required. + core.String? externalPassId; + + /// The issuer endpoint URI the pass holder needs to follow in order to + /// receive an updated pass JWT. + /// + /// It can not contain any sensitive information. The endpoint needs to + /// authenticate the user before giving the user the updated JWT. Example + /// update URI https://someissuer.com/update/passId=someExternalPassId + /// + /// Required. + core.String? updateUri; + + /// The JWT signature of the updated pass that the issuer wants to notify + /// Google about. + /// + /// Only devices that report a different JWT signature than this JWT signature + /// will receive the update notification. + /// + /// Required. + core.String? updatedPassJwtSignature; + + SetPassUpdateNoticeRequest({ + this.externalPassId, + this.updateUri, + this.updatedPassJwtSignature, + }); + + SetPassUpdateNoticeRequest.fromJson(core.Map json_) + : this( + externalPassId: json_['externalPassId'] as core.String?, + updateUri: json_['updateUri'] as core.String?, + updatedPassJwtSignature: + json_['updatedPassJwtSignature'] as core.String?, + ); + + core.Map toJson() => { + if (externalPassId != null) 'externalPassId': externalPassId!, + if (updateUri != null) 'updateUri': updateUri!, + if (updatedPassJwtSignature != null) + 'updatedPassJwtSignature': updatedPassJwtSignature!, + }; +} + +/// A response to a request to notify Google of an awaiting update to a private +/// pass. +typedef SetPassUpdateNoticeResponse = $Empty; + class SignUpInfo { /// ID of the class the user can sign up for. core.String? classId; diff --git a/generated/googleapis/lib/webfonts/v1.dart b/generated/googleapis/lib/webfonts/v1.dart index 299da96b3..799d9210b 100644 --- a/generated/googleapis/lib/webfonts/v1.dart +++ b/generated/googleapis/lib/webfonts/v1.dart @@ -63,6 +63,9 @@ class WebfontsResource { /// [capability] - Controls the font urls in `Webfont.files`, by default, /// static ttf fonts are sent. /// + /// [category] - Filters by Webfont.category, if category is found in + /// Webfont.categories. If not set, returns all families. + /// /// [family] - Filters by Webfont.family, using literal match. If not set, /// returns all families /// @@ -90,6 +93,7 @@ class WebfontsResource { /// this method will complete with the same error. async.Future list({ core.List? capability, + core.String? category, core.List? family, core.String? sort, core.String? subset, @@ -97,6 +101,7 @@ class WebfontsResource { }) async { final queryParams_ = >{ if (capability != null) 'capability': capability, + if (category != null) 'category': [category], if (family != null) 'family': family, if (sort != null) 'sort': [sort], if (subset != null) 'subset': [subset], diff --git a/generated/googleapis/lib/websecurityscanner/v1.dart b/generated/googleapis/lib/websecurityscanner/v1.dart index 92792cd5e..094be4ef7 100644 --- a/generated/googleapis/lib/websecurityscanner/v1.dart +++ b/generated/googleapis/lib/websecurityscanner/v1.dart @@ -253,9 +253,9 @@ class ProjectsScanConfigsResource { /// /// Request parameters: /// - /// [name] - The resource name of the ScanConfig. The name follows the format - /// of 'projects/{projectId}/scanConfigs/{scanConfigId}'. The ScanConfig IDs - /// are generated by the system. + /// [name] - Identifier. The resource name of the ScanConfig. The name follows + /// the format of 'projects/{projectId}/scanConfigs/{scanConfigId}'. The + /// ScanConfig IDs are generated by the system. /// Value must have pattern `^projects/\[^/\]+/scanConfigs/\[^/\]+$`. /// /// [updateMask] - Required. The update mask applies to the resource. For the @@ -1369,6 +1369,7 @@ class ScanConfig { /// Whether to keep scanning even if most requests return HTTP error codes. core.bool? ignoreHttpStatusErrors; + ScanRun? latestRun; /// Whether the scan config is managed by Web Security Scanner, output only. core.bool? managedScan; @@ -1380,9 +1381,9 @@ class ScanConfig { /// \[5, 20\] range will be rejected with INVALID_ARGUMENT error. core.int? maxQps; - /// The resource name of the ScanConfig. + /// Identifier. /// - /// The name follows the format of + /// The resource name of the ScanConfig. The name follows the format of /// 'projects/{projectId}/scanConfigs/{scanConfigId}'. The ScanConfig IDs are /// generated by the system. core.String? name; @@ -1407,6 +1408,11 @@ class ScanConfig { /// If enabled, the scanner will access applications from static IP addresses. core.bool? staticIpScan; + /// Set of Google Cloud platforms targeted by the scan. + /// + /// If empty, APP_ENGINE will be used as a default. + core.List? targetPlatforms; + /// The user agent used during scanning. /// Possible string values are: /// - "USER_AGENT_UNSPECIFIED" : The user agent is unknown. Service will @@ -1423,6 +1429,7 @@ class ScanConfig { this.displayName, this.exportToSecurityCommandCenter, this.ignoreHttpStatusErrors, + this.latestRun, this.managedScan, this.maxQps, this.name, @@ -1430,6 +1437,7 @@ class ScanConfig { this.schedule, this.startingUrls, this.staticIpScan, + this.targetPlatforms, this.userAgent, }); @@ -1446,6 +1454,10 @@ class ScanConfig { exportToSecurityCommandCenter: json_['exportToSecurityCommandCenter'] as core.String?, ignoreHttpStatusErrors: json_['ignoreHttpStatusErrors'] as core.bool?, + latestRun: json_.containsKey('latestRun') + ? ScanRun.fromJson( + json_['latestRun'] as core.Map) + : null, managedScan: json_['managedScan'] as core.bool?, maxQps: json_['maxQps'] as core.int?, name: json_['name'] as core.String?, @@ -1458,6 +1470,9 @@ class ScanConfig { ?.map((value) => value as core.String) .toList(), staticIpScan: json_['staticIpScan'] as core.bool?, + targetPlatforms: (json_['targetPlatforms'] as core.List?) + ?.map((value) => value as core.String) + .toList(), userAgent: json_['userAgent'] as core.String?, ); @@ -1469,6 +1484,7 @@ class ScanConfig { 'exportToSecurityCommandCenter': exportToSecurityCommandCenter!, if (ignoreHttpStatusErrors != null) 'ignoreHttpStatusErrors': ignoreHttpStatusErrors!, + if (latestRun != null) 'latestRun': latestRun!, if (managedScan != null) 'managedScan': managedScan!, if (maxQps != null) 'maxQps': maxQps!, if (name != null) 'name': name!, @@ -1476,6 +1492,7 @@ class ScanConfig { if (schedule != null) 'schedule': schedule!, if (startingUrls != null) 'startingUrls': startingUrls!, if (staticIpScan != null) 'staticIpScan': staticIpScan!, + if (targetPlatforms != null) 'targetPlatforms': targetPlatforms!, if (userAgent != null) 'userAgent': userAgent!, }; } diff --git a/generated/googleapis/lib/workflowexecutions/v1.dart b/generated/googleapis/lib/workflowexecutions/v1.dart index 7d33d5eba..a1b0dba18 100644 --- a/generated/googleapis/lib/workflowexecutions/v1.dart +++ b/generated/googleapis/lib/workflowexecutions/v1.dart @@ -826,13 +826,12 @@ class Execution { /// Output only. Error? error; - /// Describes the level of the execution history feature to apply to this - /// execution. + /// Describes the execution history level to apply to this execution. /// - /// If not specified, the level of the execution history feature will be - /// determined by its workflow's execution history level. If the value is - /// different from its workflow's value, it will override the workflow's - /// execution history level for this exeuction. + /// If not specified, the execution history level is determined by its + /// workflow's execution history level. If the levels are different, the + /// executionHistoryLevel overrides the workflow's execution history level for + /// this execution. /// /// Optional. /// Possible string values are: @@ -1335,7 +1334,7 @@ class StepEntry { /// Output only. core.String? name; - /// The NavigationInfo associated to this step. + /// The NavigationInfo associated with this step. /// /// Output only. NavigationInfo? navigationInfo; @@ -1364,7 +1363,7 @@ class StepEntry { /// Output only. core.String? step; - /// The StepEntryMetadata associated to this step. + /// The StepEntryMetadata associated with this step. /// /// Output only. StepEntryMetadata? stepEntryMetadata; @@ -1407,7 +1406,7 @@ class StepEntry { /// Output only. core.String? updateTime; - /// The VariableData associated to this step. + /// The VariableData associated with this step. /// /// Output only. VariableData? variableData; diff --git a/generated/googleapis/lib/workflows/v1.dart b/generated/googleapis/lib/workflows/v1.dart index d00dc7032..d2b2c58a6 100644 --- a/generated/googleapis/lib/workflows/v1.dart +++ b/generated/googleapis/lib/workflows/v1.dart @@ -906,8 +906,7 @@ class Workflow { /// field and is not tied to a specific revision. core.String? description; - /// Describes the level of the execution history feature to apply to this - /// workflow. + /// Describes the execution history level to apply to this workflow. /// /// Optional. /// Possible string values are: diff --git a/generated/googleapis/lib/workloadmanager/v1.dart b/generated/googleapis/lib/workloadmanager/v1.dart index 81c226126..202898f82 100644 --- a/generated/googleapis/lib/workloadmanager/v1.dart +++ b/generated/googleapis/lib/workloadmanager/v1.dart @@ -24,6 +24,8 @@ /// /// - [ProjectsResource] /// - [ProjectsLocationsResource] +/// - [ProjectsLocationsDiscoveredprofilesResource] +/// - [ProjectsLocationsDiscoveredprofilesHealthesResource] /// - [ProjectsLocationsEvaluationsResource] /// - [ProjectsLocationsEvaluationsExecutionsResource] /// - [ProjectsLocationsEvaluationsExecutionsResultsResource] @@ -78,6 +80,8 @@ class ProjectsResource { class ProjectsLocationsResource { final commons.ApiRequester _requester; + ProjectsLocationsDiscoveredprofilesResource get discoveredprofiles => + ProjectsLocationsDiscoveredprofilesResource(_requester); ProjectsLocationsEvaluationsResource get evaluations => ProjectsLocationsEvaluationsResource(_requester); ProjectsLocationsInsightsResource get insights => @@ -177,6 +181,148 @@ class ProjectsLocationsResource { } } +class ProjectsLocationsDiscoveredprofilesResource { + final commons.ApiRequester _requester; + + ProjectsLocationsDiscoveredprofilesHealthesResource get healthes => + ProjectsLocationsDiscoveredprofilesHealthesResource(_requester); + + ProjectsLocationsDiscoveredprofilesResource(commons.ApiRequester client) + : _requester = client; + + /// Gets details of a discovered workload profile. + /// + /// Request parameters: + /// + /// [name] - Required. Name of the resource + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/discoveredprofiles/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [WorkloadProfile]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return WorkloadProfile.fromJson( + response_ as core.Map); + } + + /// List discovered workload profiles + /// + /// Request parameters: + /// + /// [parent] - Required. Parent value for ListDiscoveredProfilesRequest + /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. + /// + /// [filter] - Optional. Filtering results + /// + /// [pageSize] - Optional. Requested page size. Server may return fewer items + /// than requested. If unspecified, server will pick an appropriate default. + /// + /// [pageToken] - Optional. A token identifying a page of results the server + /// should return. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListDiscoveredProfilesResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future list( + core.String parent, { + core.String? filter, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/discoveredprofiles'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListDiscoveredProfilesResponse.fromJson( + response_ as core.Map); + } +} + +class ProjectsLocationsDiscoveredprofilesHealthesResource { + final commons.ApiRequester _requester; + + ProjectsLocationsDiscoveredprofilesHealthesResource( + commons.ApiRequester client) + : _requester = client; + + /// Get the health of a discovered workload profile. + /// + /// Request parameters: + /// + /// [name] - Required. The resource name + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/discoveredprofiles/\[^/\]+/healthes/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [WorkloadProfileHealth]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return WorkloadProfileHealth.fromJson( + response_ as core.Map); + } +} + class ProjectsLocationsEvaluationsResource { final commons.ApiRequester _requester; @@ -725,6 +871,58 @@ class ProjectsLocationsInsightsResource { ProjectsLocationsInsightsResource(commons.ApiRequester client) : _requester = client; + /// Delete the data insights from workload manager data warehouse. + /// + /// Request parameters: + /// + /// [name] - Required. The system id of the SAP system resource to delete. + /// Formatted as + /// projects/{project}/locations/{location}/sapSystems/{sap_system_id} + /// Value must have pattern + /// `^projects/\[^/\]+/locations/\[^/\]+/insights/\[^/\]+$`. + /// + /// [requestId] - Optional. An optional request ID to identify requests. + /// Specify a unique request ID so that if you must retry your request, the + /// server will know to ignore the request if it has already been completed. + /// The server will guarantee that for at least 60 minutes since the first + /// request. For example, consider a situation where you make an initial + /// request and the request times out. If you make the request again with the + /// same request ID, the server can check if original operation with the same + /// request ID was received, and if so, will ignore the second request. This + /// prevents clients from accidentally creating duplicate commitments. The + /// request ID must be a valid UUID with the exception that zero UUID is not + /// supported (00000000-0000-0000-0000-000000000000). + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Empty]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future delete( + core.String name, { + core.String? requestId, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (requestId != null) 'requestId': [requestId], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'v1/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return Empty.fromJson(response_ as core.Map); + } + /// Write the data insights to workload manager data warehouse. /// /// [request] - The metadata request object. @@ -1018,6 +1216,46 @@ class ProjectsLocationsRulesResource { } } +/// The API layer server +class APILayerServer { + /// The api layer name + /// + /// Output only. + core.String? name; + + /// OS information + /// + /// Output only. + core.String? osVersion; + + /// resources in the component + /// + /// Output only. + core.List? resources; + + APILayerServer({ + this.name, + this.osVersion, + this.resources, + }); + + APILayerServer.fromJson(core.Map json_) + : this( + name: json_['name'] as core.String?, + osVersion: json_['osVersion'] as core.String?, + resources: (json_['resources'] as core.List?) + ?.map((value) => CloudResource.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (name != null) 'name': name!, + if (osVersion != null) 'osVersion': osVersion!, + if (resources != null) 'resources': resources!, + }; +} + /// * An AgentCommand specifies a one-time executable program for the agent to /// run. class AgentCommand { @@ -1052,62 +1290,284 @@ class AgentCommand { }; } -/// Message describing big query destination -class BigQueryDestination { - /// determine if results will be saved in a new table +/// The availability groups for sqlserver +class AvailabilityGroup { + /// The databases /// - /// Optional. - core.bool? createNewResultsTable; + /// Output only. + core.List? databases; - /// destination dataset to save evaluation results + /// The availability group name /// - /// Optional. - core.String? destinationDataset; + /// Output only. + core.String? name; - BigQueryDestination({ - this.createNewResultsTable, - this.destinationDataset, + /// The primary server + /// + /// Output only. + core.String? primaryServer; + + /// The secondary servers + /// + /// Output only. + core.List? secondaryServers; + + AvailabilityGroup({ + this.databases, + this.name, + this.primaryServer, + this.secondaryServers, }); - BigQueryDestination.fromJson(core.Map json_) + AvailabilityGroup.fromJson(core.Map json_) : this( - createNewResultsTable: json_['createNewResultsTable'] as core.bool?, - destinationDataset: json_['destinationDataset'] as core.String?, + databases: (json_['databases'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + name: json_['name'] as core.String?, + primaryServer: json_['primaryServer'] as core.String?, + secondaryServers: (json_['secondaryServers'] as core.List?) + ?.map((value) => value as core.String) + .toList(), ); core.Map toJson() => { - if (createNewResultsTable != null) - 'createNewResultsTable': createNewResultsTable!, - if (destinationDataset != null) - 'destinationDataset': destinationDataset!, + if (databases != null) 'databases': databases!, + if (name != null) 'name': name!, + if (primaryServer != null) 'primaryServer': primaryServer!, + if (secondaryServers != null) 'secondaryServers': secondaryServers!, }; } -/// The request message for Operations.CancelOperation. -typedef CancelOperationRequest = $Empty; +/// The backend server +class BackendServer { + /// The backup file + /// + /// Output only. + core.String? backupFile; -/// * Command specifies the type of command to execute. -class Command { - /// AgentCommand specifies a one-time executable program for the agent to run. - AgentCommand? agentCommand; + /// The backup schedule + /// + /// Output only. + core.String? backupSchedule; - /// ShellCommand is invoked via the agent's command line executor. - ShellCommand? shellCommand; + /// The backend name + /// + /// Output only. + core.String? name; - Command({ - this.agentCommand, - this.shellCommand, + /// OS information + /// + /// Output only. + core.String? osVersion; + + /// resources in the component + /// + /// Output only. + core.List? resources; + + BackendServer({ + this.backupFile, + this.backupSchedule, + this.name, + this.osVersion, + this.resources, }); - Command.fromJson(core.Map json_) + BackendServer.fromJson(core.Map json_) : this( - agentCommand: json_.containsKey('agentCommand') - ? AgentCommand.fromJson( - json_['agentCommand'] as core.Map) - : null, - shellCommand: json_.containsKey('shellCommand') - ? ShellCommand.fromJson( - json_['shellCommand'] as core.Map) + backupFile: json_['backupFile'] as core.String?, + backupSchedule: json_['backupSchedule'] as core.String?, + name: json_['name'] as core.String?, + osVersion: json_['osVersion'] as core.String?, + resources: (json_['resources'] as core.List?) + ?.map((value) => CloudResource.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (backupFile != null) 'backupFile': backupFile!, + if (backupSchedule != null) 'backupSchedule': backupSchedule!, + if (name != null) 'name': name!, + if (osVersion != null) 'osVersion': osVersion!, + if (resources != null) 'resources': resources!, + }; +} + +/// Backup properties. +class BackupProperties { + /// The state of the latest backup. + /// + /// Output only. + /// Possible string values are: + /// - "BACKUP_STATE_UNSPECIFIED" : unspecified + /// - "BACKUP_STATE_SUCCESS" : SUCCESS state + /// - "BACKUP_STATE_FAILURE" : FAILURE state + core.String? latestBackupStatus; + + /// The time when the latest backup was performed. + core.String? latestBackupTime; + + BackupProperties({ + this.latestBackupStatus, + this.latestBackupTime, + }); + + BackupProperties.fromJson(core.Map json_) + : this( + latestBackupStatus: json_['latestBackupStatus'] as core.String?, + latestBackupTime: json_['latestBackupTime'] as core.String?, + ); + + core.Map toJson() => { + if (latestBackupStatus != null) + 'latestBackupStatus': latestBackupStatus!, + if (latestBackupTime != null) 'latestBackupTime': latestBackupTime!, + }; +} + +/// Message describing big query destination +class BigQueryDestination { + /// determine if results will be saved in a new table + /// + /// Optional. + core.bool? createNewResultsTable; + + /// destination dataset to save evaluation results + /// + /// Optional. + core.String? destinationDataset; + + BigQueryDestination({ + this.createNewResultsTable, + this.destinationDataset, + }); + + BigQueryDestination.fromJson(core.Map json_) + : this( + createNewResultsTable: json_['createNewResultsTable'] as core.bool?, + destinationDataset: json_['destinationDataset'] as core.String?, + ); + + core.Map toJson() => { + if (createNewResultsTable != null) + 'createNewResultsTable': createNewResultsTable!, + if (destinationDataset != null) + 'destinationDataset': destinationDataset!, + }; +} + +/// The request message for Operations.CancelOperation. +typedef CancelOperationRequest = $Empty; + +/// The resource on GCP +class CloudResource { + /// All instance properties. + /// + /// Output only. + InstanceProperties? instanceProperties; + + /// ComputeInstance, ComputeDisk, VPC, Bare Metal server, etc. + /// + /// Output only. + /// Possible string values are: + /// - "RESOURCE_KIND_UNSPECIFIED" : Unspecified resource kind. + /// - "RESOURCE_KIND_INSTANCE" : This is a compute instance. + /// - "RESOURCE_KIND_DISK" : This is a compute disk. + /// - "RESOURCE_KIND_ADDRESS" : This is a compute address. + /// - "RESOURCE_KIND_FILESTORE" : This is a filestore instance. + /// - "RESOURCE_KIND_HEALTH_CHECK" : This is a compute health check. + /// - "RESOURCE_KIND_FORWARDING_RULE" : This is a compute forwarding rule. + /// - "RESOURCE_KIND_BACKEND_SERVICE" : This is a compute backend service. + /// - "RESOURCE_KIND_SUBNETWORK" : This is a compute subnetwork. + /// - "RESOURCE_KIND_NETWORK" : This is a compute network. + /// - "RESOURCE_KIND_PUBLIC_ADDRESS" : This is a public accessible IP Address. + /// - "RESOURCE_KIND_INSTANCE_GROUP" : This is a compute instance group. + core.String? kind; + + /// resource name + /// + /// Output only. + core.String? name; + + CloudResource({ + this.instanceProperties, + this.kind, + this.name, + }); + + CloudResource.fromJson(core.Map json_) + : this( + instanceProperties: json_.containsKey('instanceProperties') + ? InstanceProperties.fromJson(json_['instanceProperties'] + as core.Map) + : null, + kind: json_['kind'] as core.String?, + name: json_['name'] as core.String?, + ); + + core.Map toJson() => { + if (instanceProperties != null) + 'instanceProperties': instanceProperties!, + if (kind != null) 'kind': kind!, + if (name != null) 'name': name!, + }; +} + +/// The cluster for sqlserver +class Cluster { + /// The nodes + /// + /// Output only. + core.List? nodes; + + /// The witness server + /// + /// Output only. + core.String? witnessServer; + + Cluster({ + this.nodes, + this.witnessServer, + }); + + Cluster.fromJson(core.Map json_) + : this( + nodes: (json_['nodes'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + witnessServer: json_['witnessServer'] as core.String?, + ); + + core.Map toJson() => { + if (nodes != null) 'nodes': nodes!, + if (witnessServer != null) 'witnessServer': witnessServer!, + }; +} + +/// * Command specifies the type of command to execute. +class Command { + /// AgentCommand specifies a one-time executable program for the agent to run. + AgentCommand? agentCommand; + + /// ShellCommand is invoked via the agent's command line executor. + ShellCommand? shellCommand; + + Command({ + this.agentCommand, + this.shellCommand, + }); + + Command.fromJson(core.Map json_) + : this( + agentCommand: json_.containsKey('agentCommand') + ? AgentCommand.fromJson( + json_['agentCommand'] as core.Map) + : null, + shellCommand: json_.containsKey('shellCommand') + ? ShellCommand.fromJson( + json_['shellCommand'] as core.Map) : null, ); @@ -1117,6 +1577,168 @@ class Command { }; } +/// HealthCondition contains the detailed health check of each component. +class ComponentHealth { + /// The component of a workload. + core.String? component; + + /// The detailed health checks of the component. + core.List? componentHealthChecks; + + /// The type of the component health. + /// + /// Output only. + /// Possible string values are: + /// - "TYPE_UNSPECIFIED" : Unspecified + /// - "TYPE_REQUIRED" : required + /// - "TYPE_OPTIONAL" : optional + /// - "TYPE_SPECIAL" : special + core.String? componentHealthType; + + /// The requirement of the component. + /// + /// Output only. + core.bool? isRequired; + + /// The health state of the component. + /// + /// Output only. + /// Possible string values are: + /// - "HEALTH_STATE_UNSPECIFIED" : Unspecified + /// - "HEALTHY" : healthy workload + /// - "UNHEALTHY" : unhealthy workload + /// - "CRITICAL" : has critical issues + /// - "UNSUPPORTED" : unsupported + core.String? state; + + /// Sub component health. + core.List? subComponentHealthes; + + ComponentHealth({ + this.component, + this.componentHealthChecks, + this.componentHealthType, + this.isRequired, + this.state, + this.subComponentHealthes, + }); + + ComponentHealth.fromJson(core.Map json_) + : this( + component: json_['component'] as core.String?, + componentHealthChecks: (json_['componentHealthChecks'] as core.List?) + ?.map((value) => HealthCheck.fromJson( + value as core.Map)) + .toList(), + componentHealthType: json_['componentHealthType'] as core.String?, + isRequired: json_['isRequired'] as core.bool?, + state: json_['state'] as core.String?, + subComponentHealthes: (json_['subComponentHealthes'] as core.List?) + ?.map((value) => ComponentHealth.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (component != null) 'component': component!, + if (componentHealthChecks != null) + 'componentHealthChecks': componentHealthChecks!, + if (componentHealthType != null) + 'componentHealthType': componentHealthType!, + if (isRequired != null) 'isRequired': isRequired!, + if (state != null) 'state': state!, + if (subComponentHealthes != null) + 'subComponentHealthes': subComponentHealthes!, + }; +} + +/// The database for sqlserver +class Database { + /// The backup file + /// + /// Output only. + core.String? backupFile; + + /// The backup schedule + /// + /// Output only. + core.String? backupSchedule; + + /// The host VM + /// + /// Output only. + core.String? hostVm; + + /// The database name + /// + /// Output only. + core.String? name; + + Database({ + this.backupFile, + this.backupSchedule, + this.hostVm, + this.name, + }); + + Database.fromJson(core.Map json_) + : this( + backupFile: json_['backupFile'] as core.String?, + backupSchedule: json_['backupSchedule'] as core.String?, + hostVm: json_['hostVm'] as core.String?, + name: json_['name'] as core.String?, + ); + + core.Map toJson() => { + if (backupFile != null) 'backupFile': backupFile!, + if (backupSchedule != null) 'backupSchedule': backupSchedule!, + if (hostVm != null) 'hostVm': hostVm!, + if (name != null) 'name': name!, + }; +} + +/// Database Properties. +class DatabaseProperties { + /// Backup properties. + /// + /// Output only. + BackupProperties? backupProperties; + + /// Type of the database. + /// + /// HANA, DB2, etc. + /// + /// Output only. + /// Possible string values are: + /// - "DATABASE_TYPE_UNSPECIFIED" : unspecified + /// - "HANA" : SAP HANA + /// - "MAX_DB" : SAP MAX_DB + /// - "DB2" : IBM DB2 + /// - "ORACLE" : Oracle Database + /// - "SQLSERVER" : Microsoft SQL Server + /// - "ASE" : SAP Sybase ASE + core.String? databaseType; + + DatabaseProperties({ + this.backupProperties, + this.databaseType, + }); + + DatabaseProperties.fromJson(core.Map json_) + : this( + backupProperties: json_.containsKey('backupProperties') + ? BackupProperties.fromJson(json_['backupProperties'] + as core.Map) + : null, + databaseType: json_['databaseType'] as core.String?, + ); + + core.Map toJson() => { + if (backupProperties != null) 'backupProperties': backupProperties!, + if (databaseType != null) 'databaseType': databaseType!, + }; +} + /// A generic empty message that you can re-use to avoid defining duplicated /// empty messages in your APIs. /// @@ -1291,7 +1913,7 @@ class Execution { /// Output only. core.List? notices; - /// Result summary + /// Result summary for the execution /// /// Output only. Summary? resultSummary; @@ -1512,100 +2134,433 @@ class ExternalDataSources { ); core.Map toJson() => { - if (assetType != null) 'assetType': assetType!, - if (name != null) 'name': name!, - if (type != null) 'type': type!, - if (uri != null) 'uri': uri!, + if (assetType != null) 'assetType': assetType!, + if (name != null) 'name': name!, + if (type != null) 'type': type!, + if (uri != null) 'uri': uri!, + }; +} + +/// The front end server +class FrontEndServer { + /// The frontend name + /// + /// Output only. + core.String? name; + + /// OS information + /// + /// Output only. + core.String? osVersion; + + /// resources in the component + /// + /// Output only. + core.List? resources; + + FrontEndServer({ + this.name, + this.osVersion, + this.resources, + }); + + FrontEndServer.fromJson(core.Map json_) + : this( + name: json_['name'] as core.String?, + osVersion: json_['osVersion'] as core.String?, + resources: (json_['resources'] as core.List?) + ?.map((value) => CloudResource.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (name != null) 'name': name!, + if (osVersion != null) 'osVersion': osVersion!, + if (resources != null) 'resources': resources!, + }; +} + +/// Message describing compute engine instance filter +class GceInstanceFilter { + /// Service account of compute engine + core.List? serviceAccounts; + + GceInstanceFilter({ + this.serviceAccounts, + }); + + GceInstanceFilter.fromJson(core.Map json_) + : this( + serviceAccounts: (json_['serviceAccounts'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (serviceAccounts != null) 'serviceAccounts': serviceAccounts!, + }; +} + +/// HealthCheck contains the detailed health check of a component based on +/// asource. +class HealthCheck { + /// The message of the health check. + /// + /// Output only. + core.String? message; + + /// The health check source metric name. + /// + /// Output only. + core.String? metric; + + /// The resource the check performs on. + /// + /// Output only. + CloudResource? resource; + + /// The source of the health check. + /// + /// Output only. + core.String? source; + + /// The state of the health check. + /// + /// Output only. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : Unspecified + /// - "PASSED" : passed + /// - "FAILED" : failed + /// - "DEGRADED" : degraded + /// - "SKIPPED" : skipped + /// - "UNSUPPORTED" : unsupported + core.String? state; + + HealthCheck({ + this.message, + this.metric, + this.resource, + this.source, + this.state, + }); + + HealthCheck.fromJson(core.Map json_) + : this( + message: json_['message'] as core.String?, + metric: json_['metric'] as core.String?, + resource: json_.containsKey('resource') + ? CloudResource.fromJson( + json_['resource'] as core.Map) + : null, + source: json_['source'] as core.String?, + state: json_['state'] as core.String?, + ); + + core.Map toJson() => { + if (message != null) 'message': message!, + if (metric != null) 'metric': metric!, + if (resource != null) 'resource': resource!, + if (source != null) 'source': source!, + if (state != null) 'state': state!, + }; +} + +/// A presentation of host resource usage where the workload runs. +class Insight { + /// The instance id where the insight is generated from + /// + /// Required. + core.String? instanceId; + + /// The insights data for SAP system discovery. + /// + /// This is a copy of SAP System proto and should get updated whenever that + /// one changes. + SapDiscovery? sapDiscovery; + + /// The insights data for the SAP workload validation. + SapValidation? sapValidation; + + /// Create time stamp + /// + /// Output only. + core.String? sentTime; + + /// The insights data for the sqlserver workload validation. + SqlserverValidation? sqlserverValidation; + + /// The insights data for workload validation of torso workloads. + TorsoValidation? torsoValidation; + + Insight({ + this.instanceId, + this.sapDiscovery, + this.sapValidation, + this.sentTime, + this.sqlserverValidation, + this.torsoValidation, + }); + + Insight.fromJson(core.Map json_) + : this( + instanceId: json_['instanceId'] as core.String?, + sapDiscovery: json_.containsKey('sapDiscovery') + ? SapDiscovery.fromJson( + json_['sapDiscovery'] as core.Map) + : null, + sapValidation: json_.containsKey('sapValidation') + ? SapValidation.fromJson( + json_['sapValidation'] as core.Map) + : null, + sentTime: json_['sentTime'] as core.String?, + sqlserverValidation: json_.containsKey('sqlserverValidation') + ? SqlserverValidation.fromJson(json_['sqlserverValidation'] + as core.Map) + : null, + torsoValidation: json_.containsKey('torsoValidation') + ? TorsoValidation.fromJson(json_['torsoValidation'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (instanceId != null) 'instanceId': instanceId!, + if (sapDiscovery != null) 'sapDiscovery': sapDiscovery!, + if (sapValidation != null) 'sapValidation': sapValidation!, + if (sentTime != null) 'sentTime': sentTime!, + if (sqlserverValidation != null) + 'sqlserverValidation': sqlserverValidation!, + if (torsoValidation != null) 'torsoValidation': torsoValidation!, + }; +} + +/// a vm instance +class Instance { + /// name of the VM + /// + /// Output only. + core.String? name; + + /// The location of the VM + /// + /// Output only. + core.String? region; + + /// The state of the VM + /// + /// Output only. + /// Possible string values are: + /// - "INSTANCESTATE_UNSPECIFIED" : The Status of the VM is unspecified + /// - "PROVISIONING" : Resources are being allocated for the instance. + /// - "STAGING" : All required resources have been allocated and the instance + /// is being started. + /// - "RUNNING" : The instance is running. + /// - "STOPPING" : The instance is currently stopping (either being deleted or + /// killed). + /// - "STOPPED" : The instance has stopped due to various reasons (user + /// request, VM preemption, project freezing, etc.). + /// - "TERMINATED" : The instance has failed in some way. + /// - "SUSPENDING" : The instance is suspending. + /// - "SUSPENDED" : The instance is suspended. + /// - "REPAIRING" : The instance is in repair. + /// - "DEPROVISIONING" : The instance is in de-provisioning state. + core.String? status; + + Instance({ + this.name, + this.region, + this.status, + }); + + Instance.fromJson(core.Map json_) + : this( + name: json_['name'] as core.String?, + region: json_['region'] as core.String?, + status: json_['status'] as core.String?, + ); + + core.Map toJson() => { + if (name != null) 'name': name!, + if (region != null) 'region': region!, + if (status != null) 'status': status!, + }; +} + +/// Instance Properties. +class InstanceProperties { + /// Instance number. + /// + /// Optional. + core.String? instanceNumber; + + /// Instance machine type. + /// + /// Optional. + core.String? machineType; + + /// Instance role. + /// + /// Optional. + /// Possible string values are: + /// - "INSTANCE_ROLE_UNSPECIFIED" : Unspecified role. + /// - "INSTANCE_ROLE_ASCS" : ASCS role. + /// - "INSTANCE_ROLE_ERS" : ERS role. + /// - "INSTANCE_ROLE_APP_SERVER" : APP server. + /// - "INSTANCE_ROLE_HANA_PRIMARY" : HANA primary role. + /// - "INSTANCE_ROLE_HANA_SECONDARY" : HANA secondary role. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) + core.String? role; + + /// Instance roles. + /// + /// Optional. + core.List? roles; + + /// SAP Instance properties. + /// + /// Optional. + SapInstanceProperties? sapInstanceProperties; + + /// Instance status. + /// + /// Optional. + core.String? status; + + /// the next maintenance event on VM + /// + /// Optional. + UpcomingMaintenanceEvent? upcomingMaintenanceEvent; + + InstanceProperties({ + this.instanceNumber, + this.machineType, + this.role, + this.roles, + this.sapInstanceProperties, + this.status, + this.upcomingMaintenanceEvent, + }); + + InstanceProperties.fromJson(core.Map json_) + : this( + instanceNumber: json_['instanceNumber'] as core.String?, + machineType: json_['machineType'] as core.String?, + role: json_['role'] as core.String?, + roles: (json_['roles'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + sapInstanceProperties: json_.containsKey('sapInstanceProperties') + ? SapInstanceProperties.fromJson(json_['sapInstanceProperties'] + as core.Map) + : null, + status: json_['status'] as core.String?, + upcomingMaintenanceEvent: + json_.containsKey('upcomingMaintenanceEvent') + ? UpcomingMaintenanceEvent.fromJson( + json_['upcomingMaintenanceEvent'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (instanceNumber != null) 'instanceNumber': instanceNumber!, + if (machineType != null) 'machineType': machineType!, + if (role != null) 'role': role!, + if (roles != null) 'roles': roles!, + if (sapInstanceProperties != null) + 'sapInstanceProperties': sapInstanceProperties!, + if (status != null) 'status': status!, + if (upcomingMaintenanceEvent != null) + 'upcomingMaintenanceEvent': upcomingMaintenanceEvent!, }; } -/// Message describing compute engine instance filter -class GceInstanceFilter { - /// Service account of compute engine - core.List? serviceAccounts; +/// The database layer +class Layer { + /// the application layer + core.String? applicationType; - GceInstanceFilter({ - this.serviceAccounts, + /// the database layer + /// + /// Optional. + core.String? databaseType; + + /// instances in a layer + /// + /// Optional. + core.List? instances; + + /// system identification of a layer + /// + /// Output only. + core.String? sid; + + Layer({ + this.applicationType, + this.databaseType, + this.instances, + this.sid, }); - GceInstanceFilter.fromJson(core.Map json_) + Layer.fromJson(core.Map json_) : this( - serviceAccounts: (json_['serviceAccounts'] as core.List?) - ?.map((value) => value as core.String) + applicationType: json_['applicationType'] as core.String?, + databaseType: json_['databaseType'] as core.String?, + instances: (json_['instances'] as core.List?) + ?.map((value) => Instance.fromJson( + value as core.Map)) .toList(), + sid: json_['sid'] as core.String?, ); core.Map toJson() => { - if (serviceAccounts != null) 'serviceAccounts': serviceAccounts!, + if (applicationType != null) 'applicationType': applicationType!, + if (databaseType != null) 'databaseType': databaseType!, + if (instances != null) 'instances': instances!, + if (sid != null) 'sid': sid!, }; } -/// A presentation of host resource usage where the workload runs. -class Insight { - /// The instance id where the insight is generated from - /// - /// Required. - core.String? instanceId; - - /// The insights data for SAP system discovery. +/// List discovered profile Response returns discovered profiles from agents +class ListDiscoveredProfilesResponse { + /// A token identifying a page of results the server should return /// - /// This is a copy of SAP System proto and should get updated whenever that - /// one changes. - SapDiscovery? sapDiscovery; + /// Output only. + core.String? nextPageToken; - /// The insights data for the SAP workload validation. - SapValidation? sapValidation; + /// Locations that could not be reached. + core.List? unreachable; - /// Create time stamp + /// The list of workload profiles /// /// Output only. - core.String? sentTime; - - /// The insights data for the sqlserver workload validation. - SqlserverValidation? sqlserverValidation; + core.List? workloadProfiles; - /// The insights data for workload validation of torso workloads. - TorsoValidation? torsoValidation; - - Insight({ - this.instanceId, - this.sapDiscovery, - this.sapValidation, - this.sentTime, - this.sqlserverValidation, - this.torsoValidation, + ListDiscoveredProfilesResponse({ + this.nextPageToken, + this.unreachable, + this.workloadProfiles, }); - Insight.fromJson(core.Map json_) + ListDiscoveredProfilesResponse.fromJson(core.Map json_) : this( - instanceId: json_['instanceId'] as core.String?, - sapDiscovery: json_.containsKey('sapDiscovery') - ? SapDiscovery.fromJson( - json_['sapDiscovery'] as core.Map) - : null, - sapValidation: json_.containsKey('sapValidation') - ? SapValidation.fromJson( - json_['sapValidation'] as core.Map) - : null, - sentTime: json_['sentTime'] as core.String?, - sqlserverValidation: json_.containsKey('sqlserverValidation') - ? SqlserverValidation.fromJson(json_['sqlserverValidation'] - as core.Map) - : null, - torsoValidation: json_.containsKey('torsoValidation') - ? TorsoValidation.fromJson(json_['torsoValidation'] - as core.Map) - : null, + nextPageToken: json_['nextPageToken'] as core.String?, + unreachable: (json_['unreachable'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + workloadProfiles: (json_['workloadProfiles'] as core.List?) + ?.map((value) => WorkloadProfile.fromJson( + value as core.Map)) + .toList(), ); core.Map toJson() => { - if (instanceId != null) 'instanceId': instanceId!, - if (sapDiscovery != null) 'sapDiscovery': sapDiscovery!, - if (sapValidation != null) 'sapValidation': sapValidation!, - if (sentTime != null) 'sentTime': sentTime!, - if (sqlserverValidation != null) - 'sqlserverValidation': sqlserverValidation!, - if (torsoValidation != null) 'torsoValidation': torsoValidation!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (unreachable != null) 'unreachable': unreachable!, + if (workloadProfiles != null) 'workloadProfiles': workloadProfiles!, }; } @@ -1825,6 +2780,35 @@ class ListScannedResourcesResponse { }; } +/// The load balancer for sqlserver +class LoadBalancerServer { + /// The IP address + /// + /// Output only. + core.String? ip; + + /// The VM name + /// + /// Output only. + core.String? vm; + + LoadBalancerServer({ + this.ip, + this.vm, + }); + + LoadBalancerServer.fromJson(core.Map json_) + : this( + ip: json_['ip'] as core.String?, + vm: json_['vm'] as core.String?, + ); + + core.Map toJson() => { + if (ip != null) 'ip': ip!, + if (vm != null) 'vm': vm!, + }; +} + /// A resource that represents a Google Cloud location. typedef Location = $Location00; @@ -1925,6 +2909,9 @@ class Operation { }; } +/// Product contains the details of a product. +typedef Product = $Shared16; + /// Message represent resource in execution result class Resource { /// The name of the resource. @@ -2231,6 +3218,70 @@ class RunEvaluationRequest { }; } +/// The component of sap workload +class SapComponent { + /// All instance properties. + /// + /// Output only. + DatabaseProperties? databaseProperties; + + /// A list of host URIs that are part of the HA configuration if present. + /// + /// An empty list indicates the component is not configured for HA. + core.List? haHosts; + + /// resources in the component + /// + /// Output only. + core.List? resources; + + /// sid is the sap component identificator + /// + /// Output only. + core.String? sid; + + /// The detected topology of the component. + /// Possible string values are: + /// - "TOPOLOGY_TYPE_UNSPECIFIED" : Unspecified topology. + /// - "TOPOLOGY_SCALE_UP" : A scale-up single node system. + /// - "TOPOLOGY_SCALE_OUT" : A scale-out multi-node system. + core.String? topologyType; + + SapComponent({ + this.databaseProperties, + this.haHosts, + this.resources, + this.sid, + this.topologyType, + }); + + SapComponent.fromJson(core.Map json_) + : this( + databaseProperties: json_.containsKey('databaseProperties') + ? DatabaseProperties.fromJson(json_['databaseProperties'] + as core.Map) + : null, + haHosts: (json_['haHosts'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + resources: (json_['resources'] as core.List?) + ?.map((value) => CloudResource.fromJson( + value as core.Map)) + .toList(), + sid: json_['sid'] as core.String?, + topologyType: json_['topologyType'] as core.String?, + ); + + core.Map toJson() => { + if (databaseProperties != null) + 'databaseProperties': databaseProperties!, + if (haHosts != null) 'haHosts': haHosts!, + if (resources != null) 'resources': resources!, + if (sid != null) 'sid': sid!, + if (topologyType != null) 'topologyType': topologyType!, + }; +} + /// The schema of SAP system discovery data. class SapDiscovery { /// An SAP system may run without an application layer. @@ -2264,6 +3315,11 @@ class SapDiscovery { /// Required. core.String? updateTime; + /// Whether to use DR reconciliation or not. + /// + /// Optional. + core.bool? useDrReconciliation; + /// The properties of the workload. /// /// Optional. @@ -2276,6 +3332,7 @@ class SapDiscovery { this.projectNumber, this.systemId, this.updateTime, + this.useDrReconciliation, this.workloadProperties, }); @@ -2296,6 +3353,7 @@ class SapDiscovery { projectNumber: json_['projectNumber'] as core.String?, systemId: json_['systemId'] as core.String?, updateTime: json_['updateTime'] as core.String?, + useDrReconciliation: json_['useDrReconciliation'] as core.bool?, workloadProperties: json_.containsKey('workloadProperties') ? SapDiscoveryWorkloadProperties.fromJson( json_['workloadProperties'] @@ -2310,6 +3368,8 @@ class SapDiscovery { if (projectNumber != null) 'projectNumber': projectNumber!, if (systemId != null) 'systemId': systemId!, if (updateTime != null) 'updateTime': updateTime!, + if (useDrReconciliation != null) + 'useDrReconciliation': useDrReconciliation!, if (workloadProperties != null) 'workloadProperties': workloadProperties!, }; @@ -2339,10 +3399,15 @@ class SapDiscoveryComponent { /// Required. core.String? hostProject; + /// The region this component's resources are primarily located in. + /// + /// Optional. + core.String? region; + /// A list of replication sites used in Disaster Recovery (DR) configurations. /// /// Optional. - core.List? replicationSites; + core.List? replicationSites; /// The resources in a component. /// @@ -2369,6 +3434,7 @@ class SapDiscoveryComponent { this.databaseProperties, this.haHosts, this.hostProject, + this.region, this.replicationSites, this.resources, this.sid, @@ -2391,8 +3457,9 @@ class SapDiscoveryComponent { ?.map((value) => value as core.String) .toList(), hostProject: json_['hostProject'] as core.String?, + region: json_['region'] as core.String?, replicationSites: (json_['replicationSites'] as core.List?) - ?.map((value) => SapDiscoveryComponent.fromJson( + ?.map((value) => SapDiscoveryComponentReplicationSite.fromJson( value as core.Map)) .toList(), resources: (json_['resources'] as core.List?) @@ -2410,6 +3477,7 @@ class SapDiscoveryComponent { 'databaseProperties': databaseProperties!, if (haHosts != null) 'haHosts': haHosts!, if (hostProject != null) 'hostProject': hostProject!, + if (region != null) 'region': region!, if (replicationSites != null) 'replicationSites': replicationSites!, if (resources != null) 'resources': resources!, if (sid != null) 'sid': sid!, @@ -2524,6 +3592,9 @@ class SapDiscoveryComponentDatabaseProperties { /// - "HANA" : SAP HANA /// - "MAX_DB" : SAP MAX_DB /// - "DB2" : IBM DB2 + /// - "ORACLE" : Oracle Database + /// - "SQLSERVER" : Microsoft SQL Server + /// - "ASE" : SAP Sybase ASE core.String? databaseType; /// The version of the database software running in the system. @@ -2536,6 +3607,11 @@ class SapDiscoveryComponentDatabaseProperties { /// Optional. core.String? instanceNumber; + /// Landscape ID from the HANA nameserver. + /// + /// Optional. + core.String? landscapeId; + /// URI of the recognized primary instance of the database. /// /// Required. @@ -2553,6 +3629,7 @@ class SapDiscoveryComponentDatabaseProperties { this.databaseType, this.databaseVersion, this.instanceNumber, + this.landscapeId, this.primaryInstanceUri, this.sharedNfsUri, }); @@ -2563,6 +3640,7 @@ class SapDiscoveryComponentDatabaseProperties { databaseType: json_['databaseType'] as core.String?, databaseVersion: json_['databaseVersion'] as core.String?, instanceNumber: json_['instanceNumber'] as core.String?, + landscapeId: json_['landscapeId'] as core.String?, primaryInstanceUri: json_['primaryInstanceUri'] as core.String?, sharedNfsUri: json_['sharedNfsUri'] as core.String?, ); @@ -2572,12 +3650,45 @@ class SapDiscoveryComponentDatabaseProperties { if (databaseType != null) 'databaseType': databaseType!, if (databaseVersion != null) 'databaseVersion': databaseVersion!, if (instanceNumber != null) 'instanceNumber': instanceNumber!, + if (landscapeId != null) 'landscapeId': landscapeId!, if (primaryInstanceUri != null) 'primaryInstanceUri': primaryInstanceUri!, if (sharedNfsUri != null) 'sharedNfsUri': sharedNfsUri!, }; } +/// A replication site used in Disaster Recovery (DR) configurations. +class SapDiscoveryComponentReplicationSite { + /// The system component for the site. + /// + /// Optional. + SapDiscoveryComponent? component; + + /// The name of the source site from which this one replicates. + /// + /// Optional. + core.String? sourceSite; + + SapDiscoveryComponentReplicationSite({ + this.component, + this.sourceSite, + }); + + SapDiscoveryComponentReplicationSite.fromJson(core.Map json_) + : this( + component: json_.containsKey('component') + ? SapDiscoveryComponent.fromJson( + json_['component'] as core.Map) + : null, + sourceSite: json_['sourceSite'] as core.String?, + ); + + core.Map toJson() => { + if (component != null) 'component': component!, + if (sourceSite != null) 'sourceSite': sourceSite!, + }; +} + /// Message describing SAP discovery system metadata class SapDiscoveryMetadata { /// Customer region string for customer's use. @@ -2723,6 +3834,11 @@ class SapDiscoveryResourceInstanceProperties { /// Optional. core.List? clusterInstances; + /// Disk mounts on the instance. + /// + /// Optional. + core.List? diskMounts; + /// The VM's instance number. /// /// Optional. @@ -2775,6 +3891,7 @@ class SapDiscoveryResourceInstanceProperties { SapDiscoveryResourceInstanceProperties({ this.appInstances, this.clusterInstances, + this.diskMounts, this.instanceNumber, this.instanceRole, this.isDrSite, @@ -2791,6 +3908,11 @@ class SapDiscoveryResourceInstanceProperties { clusterInstances: (json_['clusterInstances'] as core.List?) ?.map((value) => value as core.String) .toList(), + diskMounts: (json_['diskMounts'] as core.List?) + ?.map((value) => + SapDiscoveryResourceInstancePropertiesDiskMount.fromJson( + value as core.Map)) + .toList(), instanceNumber: json_['instanceNumber'] as core.String?, instanceRole: json_['instanceRole'] as core.String?, isDrSite: json_['isDrSite'] as core.bool?, @@ -2800,6 +3922,7 @@ class SapDiscoveryResourceInstanceProperties { core.Map toJson() => { if (appInstances != null) 'appInstances': appInstances!, if (clusterInstances != null) 'clusterInstances': clusterInstances!, + if (diskMounts != null) 'diskMounts': diskMounts!, if (instanceNumber != null) 'instanceNumber': instanceNumber!, if (instanceRole != null) 'instanceRole': instanceRole!, if (isDrSite != null) 'isDrSite': isDrSite!, @@ -2836,76 +3959,79 @@ class SapDiscoveryResourceInstancePropertiesAppInstance { }; } -/// A set of properties describing an SAP workload. -class SapDiscoveryWorkloadProperties { - /// List of SAP Products and their versions running on the system. +/// Disk mount on the instance. +class SapDiscoveryResourceInstancePropertiesDiskMount { + /// Filesystem mount point. /// /// Optional. - core.List? productVersions; + core.String? mountPoint; - /// A list of SAP software components and their versions running on the - /// system. + /// Name of the disk. /// /// Optional. - core.List? - softwareComponentVersions; + core.String? name; - SapDiscoveryWorkloadProperties({ - this.productVersions, - this.softwareComponentVersions, + SapDiscoveryResourceInstancePropertiesDiskMount({ + this.mountPoint, + this.name, }); - SapDiscoveryWorkloadProperties.fromJson(core.Map json_) + SapDiscoveryResourceInstancePropertiesDiskMount.fromJson(core.Map json_) : this( - productVersions: (json_['productVersions'] as core.List?) - ?.map((value) => - SapDiscoveryWorkloadPropertiesProductVersion.fromJson( - value as core.Map)) - .toList(), - softwareComponentVersions: (json_['softwareComponentVersions'] - as core.List?) - ?.map((value) => - SapDiscoveryWorkloadPropertiesSoftwareComponentProperties - .fromJson(value as core.Map)) - .toList(), + mountPoint: json_['mountPoint'] as core.String?, + name: json_['name'] as core.String?, ); core.Map toJson() => { - if (productVersions != null) 'productVersions': productVersions!, - if (softwareComponentVersions != null) - 'softwareComponentVersions': softwareComponentVersions!, + if (mountPoint != null) 'mountPoint': mountPoint!, + if (name != null) 'name': name!, }; } -/// A product name and version. -class SapDiscoveryWorkloadPropertiesProductVersion { - /// Name of the product. +/// A set of properties describing an SAP workload. +class SapDiscoveryWorkloadProperties { + /// List of SAP Products and their versions running on the system. /// /// Optional. - core.String? name; + core.List? productVersions; - /// Version of the product. + /// A list of SAP software components and their versions running on the + /// system. /// /// Optional. - core.String? version; + core.List? + softwareComponentVersions; - SapDiscoveryWorkloadPropertiesProductVersion({ - this.name, - this.version, + SapDiscoveryWorkloadProperties({ + this.productVersions, + this.softwareComponentVersions, }); - SapDiscoveryWorkloadPropertiesProductVersion.fromJson(core.Map json_) + SapDiscoveryWorkloadProperties.fromJson(core.Map json_) : this( - name: json_['name'] as core.String?, - version: json_['version'] as core.String?, + productVersions: (json_['productVersions'] as core.List?) + ?.map((value) => + SapDiscoveryWorkloadPropertiesProductVersion.fromJson( + value as core.Map)) + .toList(), + softwareComponentVersions: (json_['softwareComponentVersions'] + as core.List?) + ?.map((value) => + SapDiscoveryWorkloadPropertiesSoftwareComponentProperties + .fromJson(value as core.Map)) + .toList(), ); core.Map toJson() => { - if (name != null) 'name': name!, - if (version != null) 'version': version!, + if (productVersions != null) 'productVersions': productVersions!, + if (softwareComponentVersions != null) + 'softwareComponentVersions': softwareComponentVersions!, }; } +/// A product name and version. +typedef SapDiscoveryWorkloadPropertiesProductVersion = $Shared16; + /// A SAP software component name, version, and type. class SapDiscoveryWorkloadPropertiesSoftwareComponentProperties { /// The component's minor version. @@ -2952,6 +4078,31 @@ class SapDiscoveryWorkloadPropertiesSoftwareComponentProperties { }; } +/// SAP instance properties. +class SapInstanceProperties { + /// SAP Instance numbers. + /// + /// They are from '00' to '99'. + /// + /// Optional. + core.List? numbers; + + SapInstanceProperties({ + this.numbers, + }); + + SapInstanceProperties.fromJson(core.Map json_) + : this( + numbers: (json_['numbers'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (numbers != null) 'numbers': numbers!, + }; +} + /// A presentation of SAP workload insight. /// /// The schema of SAP workloads validation related data. @@ -3057,6 +4208,82 @@ class SapValidationValidationDetail { }; } +/// The body of sap workload +class SapWorkload { + /// the acsc componment + /// + /// Output only. + SapComponent? application; + + /// the architecture + /// + /// Output only. + /// Possible string values are: + /// - "ARCHITECTURE_UNSPECIFIED" : Unspecified architecture. + /// - "INVALID" : Invaliad architecture. + /// - "CENTRALIZED" : A centralized system. + /// - "DISTRIBUTED" : A distributed system. + /// - "DISTRIBUTED_HA" : A distributed with HA system. + /// - "STANDALONE_DATABASE" : A standalone database system. + /// - "STANDALONE_DATABASE_HA" : A standalone database with HA system. + core.String? architecture; + + /// the database componment + /// + /// Output only. + SapComponent? database; + + /// The metadata for SAP workload. + /// + /// Output only. + core.Map? metadata; + + /// the products on this workload. + /// + /// Output only. + core.List? products; + + SapWorkload({ + this.application, + this.architecture, + this.database, + this.metadata, + this.products, + }); + + SapWorkload.fromJson(core.Map json_) + : this( + application: json_.containsKey('application') + ? SapComponent.fromJson( + json_['application'] as core.Map) + : null, + architecture: json_['architecture'] as core.String?, + database: json_.containsKey('database') + ? SapComponent.fromJson( + json_['database'] as core.Map) + : null, + metadata: + (json_['metadata'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + products: (json_['products'] as core.List?) + ?.map((value) => Product.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (application != null) 'application': application!, + if (architecture != null) 'architecture': architecture!, + if (database != null) 'database': database!, + if (metadata != null) 'metadata': metadata!, + if (products != null) 'products': products!, + }; +} + /// Message of scanned resource class ScannedResource { /// resource name @@ -3241,6 +4468,64 @@ class SqlserverValidationValidationDetail { }; } +/// The body of sqlserver workload +class SqlserverWorkload { + /// The availability groups for sqlserver + /// + /// Output only. + core.List? ags; + + /// The cluster for sqlserver + /// + /// Output only. + Cluster? cluster; + + /// The databases for sqlserver + /// + /// Output only. + core.List? databases; + + /// The load balancer for sqlserver + /// + /// Output only. + LoadBalancerServer? loadBalancerServer; + + SqlserverWorkload({ + this.ags, + this.cluster, + this.databases, + this.loadBalancerServer, + }); + + SqlserverWorkload.fromJson(core.Map json_) + : this( + ags: (json_['ags'] as core.List?) + ?.map((value) => AvailabilityGroup.fromJson( + value as core.Map)) + .toList(), + cluster: json_.containsKey('cluster') + ? Cluster.fromJson( + json_['cluster'] as core.Map) + : null, + databases: (json_['databases'] as core.List?) + ?.map((value) => Database.fromJson( + value as core.Map)) + .toList(), + loadBalancerServer: json_.containsKey('loadBalancerServer') + ? LoadBalancerServer.fromJson(json_['loadBalancerServer'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (ags != null) 'ags': ags!, + if (cluster != null) 'cluster': cluster!, + if (databases != null) 'databases': databases!, + if (loadBalancerServer != null) + 'loadBalancerServer': loadBalancerServer!, + }; +} + /// The `Status` type defines a logical error model that is suitable for /// different programming environments, including REST APIs and RPC APIs. /// @@ -3287,6 +4572,60 @@ class Summary { }; } +/// The body of three tier workload +class ThreeTierWorkload { + /// The API layer for three tier workload + /// + /// Output only. + APILayerServer? apiLayer; + + /// The backend for three tier workload + /// + /// Output only. + BackendServer? backend; + + /// the workload endpoint + /// + /// Output only. + core.String? endpoint; + + /// The frontend for three tier workload + /// + /// Output only. + FrontEndServer? frontend; + + ThreeTierWorkload({ + this.apiLayer, + this.backend, + this.endpoint, + this.frontend, + }); + + ThreeTierWorkload.fromJson(core.Map json_) + : this( + apiLayer: json_.containsKey('apiLayer') + ? APILayerServer.fromJson( + json_['apiLayer'] as core.Map) + : null, + backend: json_.containsKey('backend') + ? BackendServer.fromJson( + json_['backend'] as core.Map) + : null, + endpoint: json_['endpoint'] as core.String?, + frontend: json_.containsKey('frontend') + ? FrontEndServer.fromJson( + json_['frontend'] as core.Map) + : null, + ); + + core.Map toJson() => { + if (apiLayer != null) 'apiLayer': apiLayer!, + if (backend != null) 'backend': backend!, + if (endpoint != null) 'endpoint': endpoint!, + if (frontend != null) 'frontend': frontend!, + }; +} + /// The schema of torso workload validation data. class TorsoValidation { /// agent_version lists the version of the agent that collected this data. @@ -3355,6 +4694,51 @@ class TorsoValidation { }; } +/// Maintenance Event +class UpcomingMaintenanceEvent { + /// End time + /// + /// Optional. + core.String? endTime; + + /// Maintenance status + /// + /// Optional. + core.String? maintenanceStatus; + + /// Start time + /// + /// Optional. + core.String? startTime; + + /// Type + /// + /// Optional. + core.String? type; + + UpcomingMaintenanceEvent({ + this.endTime, + this.maintenanceStatus, + this.startTime, + this.type, + }); + + UpcomingMaintenanceEvent.fromJson(core.Map json_) + : this( + endTime: json_['endTime'] as core.String?, + maintenanceStatus: json_['maintenanceStatus'] as core.String?, + startTime: json_['startTime'] as core.String?, + type: json_['type'] as core.String?, + ); + + core.Map toJson() => { + if (endTime != null) 'endTime': endTime!, + if (maintenanceStatus != null) 'maintenanceStatus': maintenanceStatus!, + if (startTime != null) 'startTime': startTime!, + if (type != null) 'type': type!, + }; +} + /// Message describing the violation in an evaluation result. class ViolationDetails { /// The name of the asset. @@ -3392,6 +4776,193 @@ class ViolationDetails { }; } +/// workload resource +class WorkloadProfile { + /// The application layer + /// + /// Optional. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) + Layer? application; + + /// The ascs layer + /// + /// Optional. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) + Layer? ascs; + + /// The database layer + /// + /// Optional. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) + Layer? database; + + /// such as name, description, version. + /// + /// More example can be found in deployment + /// + /// Optional. + core.Map? labels; + + /// Identifier. + /// + /// name of resource names have the form + /// 'projects/{project_id}/workloads/{workload_id}' + core.String? name; + + /// time when the workload data was refreshed + /// + /// Required. + core.String? refreshedTime; + + /// The sap workload content + SapWorkload? sapWorkload; + + /// The sqlserver workload content + SqlserverWorkload? sqlserverWorkload; + + /// the current state if a a workload + /// + /// Output only. + /// Possible string values are: + /// - "STATE_UNSPECIFIED" : unspecified + /// - "ACTIVE" : ACTIVE state + /// - "DEPLOYING" : workload is in Deploying state + /// - "DESTROYING" : The workload is in Destroying state + /// - "MAINTENANCE" : The Workload is undermaintance + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) + core.String? state; + + /// The 3 tier web app workload content + ThreeTierWorkload? threeTierWorkload; + + /// The type of the workload + /// + /// Required. + /// Possible string values are: + /// - "WORKLOAD_TYPE_UNSPECIFIED" : unspecified workload type + /// - "S4_HANA" : running sap workload s4/hana + /// - "SQL_SERVER" : running sqlserver workload + /// - "THREE_TIER_WEB_APP" : running 3 tier web app workload + core.String? workloadType; + + WorkloadProfile({ + this.application, + this.ascs, + this.database, + this.labels, + this.name, + this.refreshedTime, + this.sapWorkload, + this.sqlserverWorkload, + this.state, + this.threeTierWorkload, + this.workloadType, + }); + + WorkloadProfile.fromJson(core.Map json_) + : this( + application: json_.containsKey('application') + ? Layer.fromJson( + json_['application'] as core.Map) + : null, + ascs: json_.containsKey('ascs') + ? Layer.fromJson( + json_['ascs'] as core.Map) + : null, + database: json_.containsKey('database') + ? Layer.fromJson( + json_['database'] as core.Map) + : null, + labels: + (json_['labels'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + value as core.String, + ), + ), + name: json_['name'] as core.String?, + refreshedTime: json_['refreshedTime'] as core.String?, + sapWorkload: json_.containsKey('sapWorkload') + ? SapWorkload.fromJson( + json_['sapWorkload'] as core.Map) + : null, + sqlserverWorkload: json_.containsKey('sqlserverWorkload') + ? SqlserverWorkload.fromJson(json_['sqlserverWorkload'] + as core.Map) + : null, + state: json_['state'] as core.String?, + threeTierWorkload: json_.containsKey('threeTierWorkload') + ? ThreeTierWorkload.fromJson(json_['threeTierWorkload'] + as core.Map) + : null, + workloadType: json_['workloadType'] as core.String?, + ); + + core.Map toJson() => { + if (application != null) 'application': application!, + if (ascs != null) 'ascs': ascs!, + if (database != null) 'database': database!, + if (labels != null) 'labels': labels!, + if (name != null) 'name': name!, + if (refreshedTime != null) 'refreshedTime': refreshedTime!, + if (sapWorkload != null) 'sapWorkload': sapWorkload!, + if (sqlserverWorkload != null) 'sqlserverWorkload': sqlserverWorkload!, + if (state != null) 'state': state!, + if (threeTierWorkload != null) 'threeTierWorkload': threeTierWorkload!, + if (workloadType != null) 'workloadType': workloadType!, + }; +} + +/// WorkloadProfileHealth contains the detailed health check of workload. +class WorkloadProfileHealth { + /// The time when the health check was performed. + core.String? checkTime; + + /// The detailed condition reports of each component. + core.List? componentHealthes; + + /// The health state of the workload. + /// + /// Output only. + /// Possible string values are: + /// - "HEALTH_STATE_UNSPECIFIED" : Unspecified + /// - "HEALTHY" : healthy workload + /// - "UNHEALTHY" : unhealthy workload + /// - "CRITICAL" : has critical issues + /// - "UNSUPPORTED" : unsupported + core.String? state; + + WorkloadProfileHealth({ + this.checkTime, + this.componentHealthes, + this.state, + }); + + WorkloadProfileHealth.fromJson(core.Map json_) + : this( + checkTime: json_['checkTime'] as core.String?, + componentHealthes: (json_['componentHealthes'] as core.List?) + ?.map((value) => ComponentHealth.fromJson( + value as core.Map)) + .toList(), + state: json_['state'] as core.String?, + ); + + core.Map toJson() => { + if (checkTime != null) 'checkTime': checkTime!, + if (componentHealthes != null) 'componentHealthes': componentHealthes!, + if (state != null) 'state': state!, + }; +} + /// Request for sending the data insights. class WriteInsightRequest { /// The agent version collected this data point. diff --git a/generated/googleapis/lib/workspaceevents/v1.dart b/generated/googleapis/lib/workspaceevents/v1.dart index 48252883f..8545f37fb 100644 --- a/generated/googleapis/lib/workspaceevents/v1.dart +++ b/generated/googleapis/lib/workspaceevents/v1.dart @@ -53,20 +53,22 @@ class WorkspaceEventsApi { static const chatMembershipsReadonlyScope = 'https://www.googleapis.com/auth/chat.memberships.readonly'; - /// See, compose, send, update, and delete messages and their associated - /// attachments, and add, see, and delete reactions to messages. + /// See, compose, send, update, and delete messages as well as their message + /// content; add, see, and delete reactions to messages. static const chatMessagesScope = 'https://www.googleapis.com/auth/chat.messages'; - /// See, add, and delete reactions to messages in Google Chat + /// See, add, and delete reactions as well as their reaction content to + /// messages in Google Chat static const chatMessagesReactionsScope = 'https://www.googleapis.com/auth/chat.messages.reactions'; - /// View reactions to messages in Google Chat + /// View reactions as well as their reaction content to messages in Google + /// Chat static const chatMessagesReactionsReadonlyScope = 'https://www.googleapis.com/auth/chat.messages.reactions.readonly'; - /// See messages and their associated reactions and attachments in Google Chat + /// See messages as well as their reactions and message content in Google Chat static const chatMessagesReadonlyScope = 'https://www.googleapis.com/auth/chat.messages.readonly'; @@ -519,12 +521,12 @@ class ListSubscriptionsResponse { /// The endpoint where the subscription delivers events. class NotificationEndpoint { - /// The Cloud Pub/Sub topic that receives events for the subscription. + /// The Pub/Sub topic that receives events for the subscription. /// /// Format: `projects/{project}/topics/{topic}` You must create the topic in /// the same Google Cloud project where you create this subscription. When the - /// topic receives events, the events are encoded as Cloud Pub/Sub messages. - /// For details, see the + /// topic receives events, the events are encoded as Pub/Sub messages. For + /// details, see the /// [Google Cloud Pub/Sub Protocol Binding for CloudEvents](https://github.com/googleapis/google-cloudevents/blob/main/docs/spec/pubsub.md). /// /// Immutable. diff --git a/generated/googleapis/lib/workstations/v1.dart b/generated/googleapis/lib/workstations/v1.dart index 3b2e6e55b..55dbe3e57 100644 --- a/generated/googleapis/lib/workstations/v1.dart +++ b/generated/googleapis/lib/workstations/v1.dart @@ -1842,11 +1842,11 @@ class Binding { /// A boost configuration is a set of resources that a workstation can use to /// increase its performance. /// -/// If a boost configuration is specified, when starting a workstation, users -/// can choose to use a VM provisioned under the boost config by passing the -/// boost config id in the start request. If no boost config id is provided in -/// the start request, the system will choose a VM from the pool provisioned -/// under the default config. +/// If you specify a boost configuration, upon startup, workstation users can +/// choose to use a VM provisioned under the boost config by passing the boost +/// config ID in the start request. If the workstation user does not provide a +/// boost config ID in the start request, the system will choose a VM from the +/// pool provisioned under the default config. class BoostConfig { /// A list of the type and count of accelerator cards attached to the boost /// instance. @@ -1885,7 +1885,7 @@ class BoostConfig { /// Optional. core.bool? enableNestedVirtualization; - /// The id to be used for the boost configuration. + /// The ID to be used for the boost configuration. /// /// Required. core.String? id; @@ -2401,6 +2401,43 @@ class GceInstance { }; } +/// The Compute Engine instance host. +class GceInstanceHost { + /// The ID of the Compute Engine instance. + /// + /// Optional. Output only. + core.String? id; + + /// The name of the Compute Engine instance. + /// + /// Optional. Output only. + core.String? name; + + /// The zone of the Compute Engine instance. + /// + /// Optional. Output only. + core.String? zone; + + GceInstanceHost({ + this.id, + this.name, + this.zone, + }); + + GceInstanceHost.fromJson(core.Map json_) + : this( + id: json_['id'] as core.String?, + name: json_['name'] as core.String?, + zone: json_['zone'] as core.String?, + ); + + core.Map toJson() => { + if (id != null) 'id': id!, + if (name != null) 'name': name!, + if (zone != null) 'zone': zone!, + }; +} + /// An EphemeralDirectory is backed by a Compute Engine persistent disk. class GcePersistentDisk { /// Type of the disk to use. @@ -2422,6 +2459,9 @@ class GcePersistentDisk { /// /// Must be empty if source_snapshot is set. Updating source_image will update /// content in the ephemeral directory after the workstation is restarted. + /// Only file systems supported by Container-Optimized OS (COS) are explicitly + /// supported. For a list of supported file systems, please refer to the + /// [COS documentation](https://cloud.google.com/container-optimized-os/docs/concepts/supported-filesystems). /// This field is mutable. /// /// Optional. @@ -2431,7 +2471,11 @@ class GcePersistentDisk { /// /// Must be empty if source_image is set. Must be empty if read_only is false. /// Updating source_snapshot will update content in the ephemeral directory - /// after the workstation is restarted. This field is mutable. + /// after the workstation is restarted. Only file systems supported by + /// Container-Optimized OS (COS) are explicitly supported. For a list of + /// supported file systems, please refer to the + /// [COS documentation](https://cloud.google.com/container-optimized-os/docs/concepts/supported-filesystems). + /// This field is mutable. /// /// Optional. core.String? sourceSnapshot; @@ -3012,6 +3056,9 @@ class Operation { } /// A directory to persist across workstation sessions. +/// +/// Updates to this field will not update existing workstations and will only +/// take effect on new workstations. class PersistentDirectory { /// A PersistentDirectory backed by a Compute Engine persistent disk. GceRegionalPersistentDisk? gcePd; @@ -3220,7 +3267,7 @@ class PrivateClusterConfig { /// Service attachment URI for the workstation cluster. /// - /// The service attachemnt is created when private endpoint is enabled. To + /// The service attachment is created when private endpoint is enabled. To /// access workstations in the workstation cluster, configure access to the /// managed service using /// [Private Service Connect](https://cloud.google.com/vpc/docs/configure-private-service-connect-services). @@ -3284,6 +3331,28 @@ class ReadinessCheck { }; } +/// Runtime host for the workstation. +class RuntimeHost { + /// Specifies a Compute Engine instance as the host. + GceInstanceHost? gceInstanceHost; + + RuntimeHost({ + this.gceInstanceHost, + }); + + RuntimeHost.fromJson(core.Map json_) + : this( + gceInstanceHost: json_.containsKey('gceInstanceHost') + ? GceInstanceHost.fromJson(json_['gceInstanceHost'] + as core.Map) + : null, + ); + + core.Map toJson() => { + if (gceInstanceHost != null) 'gceInstanceHost': gceInstanceHost!, + }; +} + /// Request message for `SetIamPolicy` method. class SetIamPolicyRequest { /// REQUIRED: The complete policy to be applied to the `resource`. @@ -3320,7 +3389,44 @@ class SetIamPolicyRequest { } /// Request message for StartWorkstation. -typedef StartWorkstationRequest = $WorkstationRequest; +class StartWorkstationRequest { + /// If set, the workstation starts using the boost configuration with the + /// specified ID. + /// + /// Optional. + core.String? boostConfig; + + /// If set, the request will be rejected if the latest version of the + /// workstation on the server does not have this ETag. + /// + /// Optional. + core.String? etag; + + /// If set, validate the request and preview the review, but do not actually + /// apply it. + /// + /// Optional. + core.bool? validateOnly; + + StartWorkstationRequest({ + this.boostConfig, + this.etag, + this.validateOnly, + }); + + StartWorkstationRequest.fromJson(core.Map json_) + : this( + boostConfig: json_['boostConfig'] as core.String?, + etag: json_['etag'] as core.String?, + validateOnly: json_['validateOnly'] as core.bool?, + ); + + core.Map toJson() => { + if (boostConfig != null) 'boostConfig': boostConfig!, + if (etag != null) 'etag': etag!, + if (validateOnly != null) 'validateOnly': validateOnly!, + }; +} /// The `Status` type defines a logical error model that is suitable for /// different programming environments, including REST APIs and RPC APIs. @@ -3332,7 +3438,35 @@ typedef StartWorkstationRequest = $WorkstationRequest; typedef Status = $Status00; /// Request message for StopWorkstation. -typedef StopWorkstationRequest = $WorkstationRequest; +class StopWorkstationRequest { + /// If set, the request will be rejected if the latest version of the + /// workstation on the server does not have this ETag. + /// + /// Optional. + core.String? etag; + + /// If set, validate the request and preview the review, but do not actually + /// apply it. + /// + /// Optional. + core.bool? validateOnly; + + StopWorkstationRequest({ + this.etag, + this.validateOnly, + }); + + StopWorkstationRequest.fromJson(core.Map json_) + : this( + etag: json_['etag'] as core.String?, + validateOnly: json_['validateOnly'] as core.bool?, + ); + + core.Map toJson() => { + if (etag != null) 'etag': etag!, + if (validateOnly != null) 'validateOnly': validateOnly!, + }; +} /// Request message for `TestIamPermissions` method. typedef TestIamPermissionsRequest = $TestIamPermissionsRequest00; @@ -3413,6 +3547,17 @@ class Workstation { /// Output only. core.bool? reconciling; + /// Runtime host for the workstation when in STATE_RUNNING. + /// + /// Optional. Output only. + RuntimeHost? runtimeHost; + + /// The source workstation from which this workstation's persistent + /// directories were cloned on creation. + /// + /// Optional. + core.String? sourceWorkstation; + /// Time when this workstation was most recently successfully started, /// regardless of the workstation's initial state. /// @@ -3455,6 +3600,8 @@ class Workstation { this.labels, this.name, this.reconciling, + this.runtimeHost, + this.sourceWorkstation, this.startTime, this.state, this.uid, @@ -3492,6 +3639,11 @@ class Workstation { ), name: json_['name'] as core.String?, reconciling: json_['reconciling'] as core.bool?, + runtimeHost: json_.containsKey('runtimeHost') + ? RuntimeHost.fromJson( + json_['runtimeHost'] as core.Map) + : null, + sourceWorkstation: json_['sourceWorkstation'] as core.String?, startTime: json_['startTime'] as core.String?, state: json_['state'] as core.String?, uid: json_['uid'] as core.String?, @@ -3510,6 +3662,8 @@ class Workstation { if (labels != null) 'labels': labels!, if (name != null) 'name': name!, if (reconciling != null) 'reconciling': reconciling!, + if (runtimeHost != null) 'runtimeHost': runtimeHost!, + if (sourceWorkstation != null) 'sourceWorkstation': sourceWorkstation!, if (startTime != null) 'startTime': startTime!, if (state != null) 'state': state!, if (uid != null) 'uid': uid!, diff --git a/generated/googleapis/lib/youtube/v3.dart b/generated/googleapis/lib/youtube/v3.dart index 5bc5a0a19..7c45464bb 100644 --- a/generated/googleapis/lib/youtube/v3.dart +++ b/generated/googleapis/lib/youtube/v3.dart @@ -49,6 +49,7 @@ /// - [ThumbnailsResource] /// - [VideoAbuseReportReasonsResource] /// - [VideoCategoriesResource] +/// - [VideoTrainabilityResource] /// - [VideosResource] /// - [WatermarksResource] /// - [YoutubeResource] @@ -151,6 +152,8 @@ class YouTubeApi { VideoAbuseReportReasonsResource(_requester); VideoCategoriesResource get videoCategories => VideoCategoriesResource(_requester); + VideoTrainabilityResource get videoTrainability => + VideoTrainabilityResource(_requester); VideosResource get videos => VideosResource(_requester); WatermarksResource get watermarks => WatermarksResource(_requester); YoutubeResource get youtube => YoutubeResource(_requester); @@ -5153,6 +5156,48 @@ class VideoCategoriesResource { } } +class VideoTrainabilityResource { + final commons.ApiRequester _requester; + + VideoTrainabilityResource(commons.ApiRequester client) : _requester = client; + + /// Returns the trainability status of a video. + /// + /// Request parameters: + /// + /// [id] - The ID of the video to retrieve. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [VideoTrainability]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future get({ + core.String? id, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (id != null) 'id': [id], + if ($fields != null) 'fields': [$fields], + }; + + const url_ = 'youtube/v3/videoTrainability'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return VideoTrainability.fromJson( + response_ as core.Map); + } +} + class VideosResource { final commons.ApiRequester _requester; @@ -8161,6 +8206,11 @@ class ChannelStatistics { /// JSON template for the status part of a channel. class ChannelStatus { + /// Whether the channel is considered ypp monetization enabled. + /// + /// See go/yppornot for more details. + core.bool? isChannelMonetizationEnabled; + /// If true, then the user is linked to either a YouTube username or G+ /// account. /// @@ -8187,6 +8237,7 @@ class ChannelStatus { core.bool? selfDeclaredMadeForKids; ChannelStatus({ + this.isChannelMonetizationEnabled, this.isLinked, this.longUploadsStatus, this.madeForKids, @@ -8196,6 +8247,8 @@ class ChannelStatus { ChannelStatus.fromJson(core.Map json_) : this( + isChannelMonetizationEnabled: + json_['isChannelMonetizationEnabled'] as core.bool?, isLinked: json_['isLinked'] as core.bool?, longUploadsStatus: json_['longUploadsStatus'] as core.String?, madeForKids: json_['madeForKids'] as core.bool?, @@ -8205,6 +8258,8 @@ class ChannelStatus { ); core.Map toJson() => { + if (isChannelMonetizationEnabled != null) + 'isChannelMonetizationEnabled': isChannelMonetizationEnabled!, if (isLinked != null) 'isLinked': isLinked!, if (longUploadsStatus != null) 'longUploadsStatus': longUploadsStatus!, if (madeForKids != null) 'madeForKids': madeForKids!, @@ -8615,7 +8670,7 @@ class CommentSnippet { } /// The id of the author's YouTube channel, if any. -typedef CommentSnippetAuthorChannelId = $Shared15; +typedef CommentSnippetAuthorChannelId = $Shared17; /// A *comment thread* represents information that applies to a top level /// comment and all its replies. @@ -10895,7 +10950,7 @@ class InvideoTiming { }; } -typedef LanguageTag = $Shared15; +typedef LanguageTag = $Shared17; class LevelDetails { /// The name that should be used when referring to this level. @@ -17595,7 +17650,7 @@ class VideoSuggestions { }; } -/// A single tag suggestion with it's relevance information. +/// A single tag suggestion with its relevance information. class VideoSuggestionsTagSuggestion { /// A set of video categories for which the tag is relevant. /// @@ -17674,6 +17729,50 @@ class VideoTopicDetails { }; } +/// Specifies who is allowed to train on the video. +class VideoTrainability { + /// Etag of this resource. + core.String? etag; + + /// Identifies what kind of resource this is. + /// + /// Value: the fixed string "youtube#videoTrainability". + core.String? kind; + + /// Specifies who is allowed to train on the video. + /// + /// Valid values are: - a single string "all" - a single string "none" - a + /// list of allowed parties + core.List? permitted; + + /// The ID of the video. + core.String? videoId; + + VideoTrainability({ + this.etag, + this.kind, + this.permitted, + this.videoId, + }); + + VideoTrainability.fromJson(core.Map json_) + : this( + etag: json_['etag'] as core.String?, + kind: json_['kind'] as core.String?, + permitted: (json_['permitted'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + videoId: json_['videoId'] as core.String?, + ); + + core.Map toJson() => { + if (etag != null) 'etag': etag!, + if (kind != null) 'kind': kind!, + if (permitted != null) 'permitted': permitted!, + if (videoId != null) 'videoId': videoId!, + }; +} + /// Branding properties for the watch. /// /// All deprecated. diff --git a/generated/googleapis/test/accesscontextmanager/v1_test.dart b/generated/googleapis/test/accesscontextmanager/v1_test.dart index b38fabe5b..5a9b4737b 100644 --- a/generated/googleapis/test/accesscontextmanager/v1_test.dart +++ b/generated/googleapis/test/accesscontextmanager/v1_test.dart @@ -797,6 +797,7 @@ api.EgressSource buildEgressSource() { buildCounterEgressSource++; if (buildCounterEgressSource < 3) { o.accessLevel = 'foo'; + o.resource = 'foo'; } buildCounterEgressSource--; return o; @@ -809,6 +810,10 @@ void checkEgressSource(api.EgressSource o) { o.accessLevel!, unittest.equals('foo'), ); + unittest.expect( + o.resource!, + unittest.equals('foo'), + ); } buildCounterEgressSource--; } diff --git a/generated/googleapis/test/adsense/v2_test.dart b/generated/googleapis/test/adsense/v2_test.dart index 9116cf4c6..96b8b8f16 100644 --- a/generated/googleapis/test/adsense/v2_test.dart +++ b/generated/googleapis/test/adsense/v2_test.dart @@ -1099,6 +1099,7 @@ api.PolicyTopic buildPolicyTopic() { if (buildCounterPolicyTopic < 3) { o.mustFix = true; o.topic = 'foo'; + o.type = 'foo'; } buildCounterPolicyTopic--; return o; @@ -1112,6 +1113,10 @@ void checkPolicyTopic(api.PolicyTopic o) { o.topic!, unittest.equals('foo'), ); + unittest.expect( + o.type!, + unittest.equals('foo'), + ); } buildCounterPolicyTopic--; } diff --git a/generated/googleapis/test/aiplatform/v1_test.dart b/generated/googleapis/test/aiplatform/v1_test.dart index 6b40d6d98..4c7644545 100644 --- a/generated/googleapis/test/aiplatform/v1_test.dart +++ b/generated/googleapis/test/aiplatform/v1_test.dart @@ -909,6 +909,37 @@ void checkGoogleCloudAiplatformV1AutomaticResources( buildCounterGoogleCloudAiplatformV1AutomaticResources--; } +core.int buildCounterGoogleCloudAiplatformV1AutoraterConfig = 0; +api.GoogleCloudAiplatformV1AutoraterConfig + buildGoogleCloudAiplatformV1AutoraterConfig() { + final o = api.GoogleCloudAiplatformV1AutoraterConfig(); + buildCounterGoogleCloudAiplatformV1AutoraterConfig++; + if (buildCounterGoogleCloudAiplatformV1AutoraterConfig < 3) { + o.autoraterModel = 'foo'; + o.flipEnabled = true; + o.samplingCount = 42; + } + buildCounterGoogleCloudAiplatformV1AutoraterConfig--; + return o; +} + +void checkGoogleCloudAiplatformV1AutoraterConfig( + api.GoogleCloudAiplatformV1AutoraterConfig o) { + buildCounterGoogleCloudAiplatformV1AutoraterConfig++; + if (buildCounterGoogleCloudAiplatformV1AutoraterConfig < 3) { + unittest.expect( + o.autoraterModel!, + unittest.equals('foo'), + ); + unittest.expect(o.flipEnabled!, unittest.isTrue); + unittest.expect( + o.samplingCount!, + unittest.equals(42), + ); + } + buildCounterGoogleCloudAiplatformV1AutoraterConfig--; +} + core.int buildCounterGoogleCloudAiplatformV1AutoscalingMetricSpec = 0; api.GoogleCloudAiplatformV1AutoscalingMetricSpec buildGoogleCloudAiplatformV1AutoscalingMetricSpec() { @@ -2043,6 +2074,7 @@ api.GoogleCloudAiplatformV1Blob buildGoogleCloudAiplatformV1Blob() { buildCounterGoogleCloudAiplatformV1Blob++; if (buildCounterGoogleCloudAiplatformV1Blob < 3) { o.data = 'foo'; + o.displayName = 'foo'; o.mimeType = 'foo'; } buildCounterGoogleCloudAiplatformV1Blob--; @@ -2056,6 +2088,10 @@ void checkGoogleCloudAiplatformV1Blob(api.GoogleCloudAiplatformV1Blob o) { o.data!, unittest.equals('foo'), ); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); unittest.expect( o.mimeType!, unittest.equals('foo'), @@ -2645,6 +2681,35 @@ void checkGoogleCloudAiplatformV1ClientConnectionConfig( buildCounterGoogleCloudAiplatformV1ClientConnectionConfig--; } +core.int buildCounterGoogleCloudAiplatformV1CodeExecutionResult = 0; +api.GoogleCloudAiplatformV1CodeExecutionResult + buildGoogleCloudAiplatformV1CodeExecutionResult() { + final o = api.GoogleCloudAiplatformV1CodeExecutionResult(); + buildCounterGoogleCloudAiplatformV1CodeExecutionResult++; + if (buildCounterGoogleCloudAiplatformV1CodeExecutionResult < 3) { + o.outcome = 'foo'; + o.output = 'foo'; + } + buildCounterGoogleCloudAiplatformV1CodeExecutionResult--; + return o; +} + +void checkGoogleCloudAiplatformV1CodeExecutionResult( + api.GoogleCloudAiplatformV1CodeExecutionResult o) { + buildCounterGoogleCloudAiplatformV1CodeExecutionResult++; + if (buildCounterGoogleCloudAiplatformV1CodeExecutionResult < 3) { + unittest.expect( + o.outcome!, + unittest.equals('foo'), + ); + unittest.expect( + o.output!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudAiplatformV1CodeExecutionResult--; +} + core.int buildCounterGoogleCloudAiplatformV1CoherenceInput = 0; api.GoogleCloudAiplatformV1CoherenceInput buildGoogleCloudAiplatformV1CoherenceInput() { @@ -3590,12 +3655,25 @@ void checkGoogleCloudAiplatformV1CountTokensRequest( buildCounterGoogleCloudAiplatformV1CountTokensRequest--; } +core.List buildUnnamed53() => [ + buildGoogleCloudAiplatformV1ModalityTokenCount(), + buildGoogleCloudAiplatformV1ModalityTokenCount(), + ]; + +void checkUnnamed53( + core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudAiplatformV1ModalityTokenCount(o[0]); + checkGoogleCloudAiplatformV1ModalityTokenCount(o[1]); +} + core.int buildCounterGoogleCloudAiplatformV1CountTokensResponse = 0; api.GoogleCloudAiplatformV1CountTokensResponse buildGoogleCloudAiplatformV1CountTokensResponse() { final o = api.GoogleCloudAiplatformV1CountTokensResponse(); buildCounterGoogleCloudAiplatformV1CountTokensResponse++; if (buildCounterGoogleCloudAiplatformV1CountTokensResponse < 3) { + o.promptTokensDetails = buildUnnamed53(); o.totalBillableCharacters = 42; o.totalTokens = 42; } @@ -3607,6 +3685,7 @@ void checkGoogleCloudAiplatformV1CountTokensResponse( api.GoogleCloudAiplatformV1CountTokensResponse o) { buildCounterGoogleCloudAiplatformV1CountTokensResponse++; if (buildCounterGoogleCloudAiplatformV1CountTokensResponse < 3) { + checkUnnamed53(o.promptTokensDetails!); unittest.expect( o.totalBillableCharacters!, unittest.equals(42), @@ -3853,12 +3932,12 @@ void checkGoogleCloudAiplatformV1CsvSource( buildCounterGoogleCloudAiplatformV1CsvSource--; } -core.Map buildUnnamed53() => { +core.Map buildUnnamed54() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed53(core.Map o) { +void checkUnnamed54(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3870,12 +3949,12 @@ void checkUnnamed53(core.Map o) { ); } -core.Map buildUnnamed54() => { +core.Map buildUnnamed55() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed54(core.Map o) { +void checkUnnamed55(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3898,14 +3977,14 @@ api.GoogleCloudAiplatformV1CustomJob buildGoogleCloudAiplatformV1CustomJob() { o.endTime = 'foo'; o.error = buildGoogleRpcStatus(); o.jobSpec = buildGoogleCloudAiplatformV1CustomJobSpec(); - o.labels = buildUnnamed53(); + o.labels = buildUnnamed54(); o.name = 'foo'; o.satisfiesPzi = true; o.satisfiesPzs = true; o.startTime = 'foo'; o.state = 'foo'; o.updateTime = 'foo'; - o.webAccessUris = buildUnnamed54(); + o.webAccessUris = buildUnnamed55(); } buildCounterGoogleCloudAiplatformV1CustomJob--; return o; @@ -3930,7 +4009,7 @@ void checkGoogleCloudAiplatformV1CustomJob( ); checkGoogleRpcStatus(o.error!); checkGoogleCloudAiplatformV1CustomJobSpec(o.jobSpec!); - checkUnnamed53(o.labels!); + checkUnnamed54(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -3949,17 +4028,17 @@ void checkGoogleCloudAiplatformV1CustomJob( o.updateTime!, unittest.equals('foo'), ); - checkUnnamed54(o.webAccessUris!); + checkUnnamed55(o.webAccessUris!); } buildCounterGoogleCloudAiplatformV1CustomJob--; } -core.List buildUnnamed55() => [ +core.List buildUnnamed56() => [ 'foo', 'foo', ]; -void checkUnnamed55(core.List o) { +void checkUnnamed56(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3971,12 +4050,12 @@ void checkUnnamed55(core.List o) { ); } -core.List buildUnnamed56() => [ +core.List buildUnnamed57() => [ 'foo', 'foo', ]; -void checkUnnamed56(core.List o) { +void checkUnnamed57(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3988,12 +4067,12 @@ void checkUnnamed56(core.List o) { ); } -core.List buildUnnamed57() => [ +core.List buildUnnamed58() => [ buildGoogleCloudAiplatformV1WorkerPoolSpec(), buildGoogleCloudAiplatformV1WorkerPoolSpec(), ]; -void checkUnnamed57(core.List o) { +void checkUnnamed58(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1WorkerPoolSpec(o[0]); checkGoogleCloudAiplatformV1WorkerPoolSpec(o[1]); @@ -4010,15 +4089,15 @@ api.GoogleCloudAiplatformV1CustomJobSpec o.enableWebAccess = true; o.experiment = 'foo'; o.experimentRun = 'foo'; - o.models = buildUnnamed55(); + o.models = buildUnnamed56(); o.network = 'foo'; o.persistentResourceId = 'foo'; o.protectedArtifactLocationId = 'foo'; - o.reservedIpRanges = buildUnnamed56(); + o.reservedIpRanges = buildUnnamed57(); o.scheduling = buildGoogleCloudAiplatformV1Scheduling(); o.serviceAccount = 'foo'; o.tensorboard = 'foo'; - o.workerPoolSpecs = buildUnnamed57(); + o.workerPoolSpecs = buildUnnamed58(); } buildCounterGoogleCloudAiplatformV1CustomJobSpec--; return o; @@ -4039,7 +4118,7 @@ void checkGoogleCloudAiplatformV1CustomJobSpec( o.experimentRun!, unittest.equals('foo'), ); - checkUnnamed55(o.models!); + checkUnnamed56(o.models!); unittest.expect( o.network!, unittest.equals('foo'), @@ -4052,7 +4131,7 @@ void checkGoogleCloudAiplatformV1CustomJobSpec( o.protectedArtifactLocationId!, unittest.equals('foo'), ); - checkUnnamed56(o.reservedIpRanges!); + checkUnnamed57(o.reservedIpRanges!); checkGoogleCloudAiplatformV1Scheduling(o.scheduling!); unittest.expect( o.serviceAccount!, @@ -4062,17 +4141,17 @@ void checkGoogleCloudAiplatformV1CustomJobSpec( o.tensorboard!, unittest.equals('foo'), ); - checkUnnamed57(o.workerPoolSpecs!); + checkUnnamed58(o.workerPoolSpecs!); } buildCounterGoogleCloudAiplatformV1CustomJobSpec--; } -core.Map buildUnnamed58() => { +core.Map buildUnnamed59() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed58(core.Map o) { +void checkUnnamed59(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4091,7 +4170,7 @@ api.GoogleCloudAiplatformV1DataItem buildGoogleCloudAiplatformV1DataItem() { if (buildCounterGoogleCloudAiplatformV1DataItem < 3) { o.createTime = 'foo'; o.etag = 'foo'; - o.labels = buildUnnamed58(); + o.labels = buildUnnamed59(); o.name = 'foo'; o.payload = { 'list': [1, 2, 3], @@ -4118,7 +4197,7 @@ void checkGoogleCloudAiplatformV1DataItem( o.etag!, unittest.equals('foo'), ); - checkUnnamed58(o.labels!); + checkUnnamed59(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -4147,12 +4226,12 @@ void checkGoogleCloudAiplatformV1DataItem( buildCounterGoogleCloudAiplatformV1DataItem--; } -core.List buildUnnamed59() => [ +core.List buildUnnamed60() => [ buildGoogleCloudAiplatformV1Annotation(), buildGoogleCloudAiplatformV1Annotation(), ]; -void checkUnnamed59(core.List o) { +void checkUnnamed60(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Annotation(o[0]); checkGoogleCloudAiplatformV1Annotation(o[1]); @@ -4164,7 +4243,7 @@ api.GoogleCloudAiplatformV1DataItemView final o = api.GoogleCloudAiplatformV1DataItemView(); buildCounterGoogleCloudAiplatformV1DataItemView++; if (buildCounterGoogleCloudAiplatformV1DataItemView < 3) { - o.annotations = buildUnnamed59(); + o.annotations = buildUnnamed60(); o.dataItem = buildGoogleCloudAiplatformV1DataItem(); o.hasTruncatedAnnotations = true; } @@ -4176,19 +4255,19 @@ void checkGoogleCloudAiplatformV1DataItemView( api.GoogleCloudAiplatformV1DataItemView o) { buildCounterGoogleCloudAiplatformV1DataItemView++; if (buildCounterGoogleCloudAiplatformV1DataItemView < 3) { - checkUnnamed59(o.annotations!); + checkUnnamed60(o.annotations!); checkGoogleCloudAiplatformV1DataItem(o.dataItem!); unittest.expect(o.hasTruncatedAnnotations!, unittest.isTrue); } buildCounterGoogleCloudAiplatformV1DataItemView--; } -core.Map buildUnnamed60() => { +core.Map buildUnnamed61() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed60(core.Map o) { +void checkUnnamed61(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4200,12 +4279,12 @@ void checkUnnamed60(core.Map o) { ); } -core.List buildUnnamed61() => [ +core.List buildUnnamed62() => [ 'foo', 'foo', ]; -void checkUnnamed61(core.List o) { +void checkUnnamed62(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4217,12 +4296,12 @@ void checkUnnamed61(core.List o) { ); } -core.Map buildUnnamed62() => { +core.Map buildUnnamed63() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed62(core.Map o) { +void checkUnnamed63(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4234,12 +4313,12 @@ void checkUnnamed62(core.Map o) { ); } -core.List buildUnnamed63() => [ +core.List buildUnnamed64() => [ 'foo', 'foo', ]; -void checkUnnamed63(core.List o) { +void checkUnnamed64(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4258,10 +4337,10 @@ api.GoogleCloudAiplatformV1DataLabelingJob buildCounterGoogleCloudAiplatformV1DataLabelingJob++; if (buildCounterGoogleCloudAiplatformV1DataLabelingJob < 3) { o.activeLearningConfig = buildGoogleCloudAiplatformV1ActiveLearningConfig(); - o.annotationLabels = buildUnnamed60(); + o.annotationLabels = buildUnnamed61(); o.createTime = 'foo'; o.currentSpend = buildGoogleTypeMoney(); - o.datasets = buildUnnamed61(); + o.datasets = buildUnnamed62(); o.displayName = 'foo'; o.encryptionSpec = buildGoogleCloudAiplatformV1EncryptionSpec(); o.error = buildGoogleRpcStatus(); @@ -4274,9 +4353,9 @@ api.GoogleCloudAiplatformV1DataLabelingJob o.instructionUri = 'foo'; o.labelerCount = 42; o.labelingProgress = 42; - o.labels = buildUnnamed62(); + o.labels = buildUnnamed63(); o.name = 'foo'; - o.specialistPools = buildUnnamed63(); + o.specialistPools = buildUnnamed64(); o.state = 'foo'; o.updateTime = 'foo'; } @@ -4289,13 +4368,13 @@ void checkGoogleCloudAiplatformV1DataLabelingJob( buildCounterGoogleCloudAiplatformV1DataLabelingJob++; if (buildCounterGoogleCloudAiplatformV1DataLabelingJob < 3) { checkGoogleCloudAiplatformV1ActiveLearningConfig(o.activeLearningConfig!); - checkUnnamed60(o.annotationLabels!); + checkUnnamed61(o.annotationLabels!); unittest.expect( o.createTime!, unittest.equals('foo'), ); checkGoogleTypeMoney(o.currentSpend!); - checkUnnamed61(o.datasets!); + checkUnnamed62(o.datasets!); unittest.expect( o.displayName!, unittest.equals('foo'), @@ -4332,12 +4411,12 @@ void checkGoogleCloudAiplatformV1DataLabelingJob( o.labelingProgress!, unittest.equals(42), ); - checkUnnamed62(o.labels!); + checkUnnamed63(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed63(o.specialistPools!); + checkUnnamed64(o.specialistPools!); unittest.expect( o.state!, unittest.equals('foo'), @@ -4350,12 +4429,12 @@ void checkGoogleCloudAiplatformV1DataLabelingJob( buildCounterGoogleCloudAiplatformV1DataLabelingJob--; } -core.Map buildUnnamed64() => { +core.Map buildUnnamed65() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed64(core.Map o) { +void checkUnnamed65(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4367,12 +4446,12 @@ void checkUnnamed64(core.Map o) { ); } -core.List buildUnnamed65() => [ +core.List buildUnnamed66() => [ buildGoogleCloudAiplatformV1SavedQuery(), buildGoogleCloudAiplatformV1SavedQuery(), ]; -void checkUnnamed65(core.List o) { +void checkUnnamed66(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1SavedQuery(o[0]); checkGoogleCloudAiplatformV1SavedQuery(o[1]); @@ -4389,7 +4468,7 @@ api.GoogleCloudAiplatformV1Dataset buildGoogleCloudAiplatformV1Dataset() { o.displayName = 'foo'; o.encryptionSpec = buildGoogleCloudAiplatformV1EncryptionSpec(); o.etag = 'foo'; - o.labels = buildUnnamed64(); + o.labels = buildUnnamed65(); o.metadata = { 'list': [1, 2, 3], 'bool': true, @@ -4401,7 +4480,7 @@ api.GoogleCloudAiplatformV1Dataset buildGoogleCloudAiplatformV1Dataset() { o.name = 'foo'; o.satisfiesPzi = true; o.satisfiesPzs = true; - o.savedQueries = buildUnnamed65(); + o.savedQueries = buildUnnamed66(); o.updateTime = 'foo'; } buildCounterGoogleCloudAiplatformV1Dataset--; @@ -4432,7 +4511,7 @@ void checkGoogleCloudAiplatformV1Dataset(api.GoogleCloudAiplatformV1Dataset o) { o.etag!, unittest.equals('foo'), ); - checkUnnamed64(o.labels!); + checkUnnamed65(o.labels!); var casted16 = (o.metadata!) as core.Map; unittest.expect(casted16, unittest.hasLength(3)); unittest.expect( @@ -4465,7 +4544,7 @@ void checkGoogleCloudAiplatformV1Dataset(api.GoogleCloudAiplatformV1Dataset o) { ); unittest.expect(o.satisfiesPzi!, unittest.isTrue); unittest.expect(o.satisfiesPzs!, unittest.isTrue); - checkUnnamed65(o.savedQueries!); + checkUnnamed66(o.savedQueries!); unittest.expect( o.updateTime!, unittest.equals('foo'), @@ -4551,13 +4630,13 @@ void checkGoogleCloudAiplatformV1DatasetVersion( buildCounterGoogleCloudAiplatformV1DatasetVersion--; } -core.List buildUnnamed66() => +core.List buildUnnamed67() => [ buildGoogleCloudAiplatformV1AutoscalingMetricSpec(), buildGoogleCloudAiplatformV1AutoscalingMetricSpec(), ]; -void checkUnnamed66( +void checkUnnamed67( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1AutoscalingMetricSpec(o[0]); @@ -4570,7 +4649,7 @@ api.GoogleCloudAiplatformV1DedicatedResources final o = api.GoogleCloudAiplatformV1DedicatedResources(); buildCounterGoogleCloudAiplatformV1DedicatedResources++; if (buildCounterGoogleCloudAiplatformV1DedicatedResources < 3) { - o.autoscalingMetricSpecs = buildUnnamed66(); + o.autoscalingMetricSpecs = buildUnnamed67(); o.machineSpec = buildGoogleCloudAiplatformV1MachineSpec(); o.maxReplicaCount = 42; o.minReplicaCount = 42; @@ -4585,7 +4664,7 @@ void checkGoogleCloudAiplatformV1DedicatedResources( api.GoogleCloudAiplatformV1DedicatedResources o) { buildCounterGoogleCloudAiplatformV1DedicatedResources++; if (buildCounterGoogleCloudAiplatformV1DedicatedResources < 3) { - checkUnnamed66(o.autoscalingMetricSpecs!); + checkUnnamed67(o.autoscalingMetricSpecs!); checkGoogleCloudAiplatformV1MachineSpec(o.machineSpec!); unittest.expect( o.maxReplicaCount!, @@ -4708,12 +4787,12 @@ void checkGoogleCloudAiplatformV1DeployIndexRequest( buildCounterGoogleCloudAiplatformV1DeployIndexRequest--; } -core.Map buildUnnamed67() => { +core.Map buildUnnamed68() => { 'x': 42, 'y': 42, }; -void checkUnnamed67(core.Map o) { +void checkUnnamed68(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4732,7 +4811,7 @@ api.GoogleCloudAiplatformV1DeployModelRequest buildCounterGoogleCloudAiplatformV1DeployModelRequest++; if (buildCounterGoogleCloudAiplatformV1DeployModelRequest < 3) { o.deployedModel = buildGoogleCloudAiplatformV1DeployedModel(); - o.trafficSplit = buildUnnamed67(); + o.trafficSplit = buildUnnamed68(); } buildCounterGoogleCloudAiplatformV1DeployModelRequest--; return o; @@ -4743,29 +4822,29 @@ void checkGoogleCloudAiplatformV1DeployModelRequest( buildCounterGoogleCloudAiplatformV1DeployModelRequest++; if (buildCounterGoogleCloudAiplatformV1DeployModelRequest < 3) { checkGoogleCloudAiplatformV1DeployedModel(o.deployedModel!); - checkUnnamed67(o.trafficSplit!); + checkUnnamed68(o.trafficSplit!); } buildCounterGoogleCloudAiplatformV1DeployModelRequest--; } -core.List buildUnnamed68() => [ +core.List buildUnnamed69() => [ buildGoogleCloudAiplatformV1PSCAutomationConfig(), buildGoogleCloudAiplatformV1PSCAutomationConfig(), ]; -void checkUnnamed68( +void checkUnnamed69( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1PSCAutomationConfig(o[0]); checkGoogleCloudAiplatformV1PSCAutomationConfig(o[1]); } -core.List buildUnnamed69() => [ +core.List buildUnnamed70() => [ 'foo', 'foo', ]; -void checkUnnamed69(core.List o) { +void checkUnnamed70(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4795,8 +4874,8 @@ api.GoogleCloudAiplatformV1DeployedIndex o.index = 'foo'; o.indexSyncTime = 'foo'; o.privateEndpoints = buildGoogleCloudAiplatformV1IndexPrivateEndpoints(); - o.pscAutomationConfigs = buildUnnamed68(); - o.reservedIpRanges = buildUnnamed69(); + o.pscAutomationConfigs = buildUnnamed69(); + o.reservedIpRanges = buildUnnamed70(); } buildCounterGoogleCloudAiplatformV1DeployedIndex--; return o; @@ -4836,8 +4915,8 @@ void checkGoogleCloudAiplatformV1DeployedIndex( unittest.equals('foo'), ); checkGoogleCloudAiplatformV1IndexPrivateEndpoints(o.privateEndpoints!); - checkUnnamed68(o.pscAutomationConfigs!); - checkUnnamed69(o.reservedIpRanges!); + checkUnnamed69(o.pscAutomationConfigs!); + checkUnnamed70(o.reservedIpRanges!); } buildCounterGoogleCloudAiplatformV1DeployedIndex--; } @@ -4865,12 +4944,12 @@ void checkGoogleCloudAiplatformV1DeployedIndexAuthConfig( buildCounterGoogleCloudAiplatformV1DeployedIndexAuthConfig--; } -core.List buildUnnamed70() => [ +core.List buildUnnamed71() => [ 'foo', 'foo', ]; -void checkUnnamed70(core.List o) { +void checkUnnamed71(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4882,12 +4961,12 @@ void checkUnnamed70(core.List o) { ); } -core.List buildUnnamed71() => [ +core.List buildUnnamed72() => [ 'foo', 'foo', ]; -void checkUnnamed71(core.List o) { +void checkUnnamed72(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4907,8 +4986,8 @@ api.GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider buildCounterGoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider++; if (buildCounterGoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider < 3) { - o.allowedIssuers = buildUnnamed70(); - o.audiences = buildUnnamed71(); + o.allowedIssuers = buildUnnamed71(); + o.audiences = buildUnnamed72(); } buildCounterGoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider--; return o; @@ -4919,8 +4998,8 @@ void checkGoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider( buildCounterGoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider++; if (buildCounterGoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider < 3) { - checkUnnamed70(o.allowedIssuers!); - checkUnnamed71(o.audiences!); + checkUnnamed71(o.allowedIssuers!); + checkUnnamed72(o.audiences!); } buildCounterGoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider--; } @@ -4959,12 +5038,12 @@ void checkGoogleCloudAiplatformV1DeployedIndexRef( buildCounterGoogleCloudAiplatformV1DeployedIndexRef--; } -core.Map buildUnnamed72() => { +core.Map buildUnnamed73() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed72(core.Map o) { +void checkUnnamed73(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4998,8 +5077,10 @@ api.GoogleCloudAiplatformV1DeployedModel o.privateEndpoints = buildGoogleCloudAiplatformV1PrivateEndpoints(); o.serviceAccount = 'foo'; o.sharedResources = 'foo'; + o.speculativeDecodingSpec = + buildGoogleCloudAiplatformV1SpeculativeDecodingSpec(); o.status = buildGoogleCloudAiplatformV1DeployedModelStatus(); - o.systemLabels = buildUnnamed72(); + o.systemLabels = buildUnnamed73(); } buildCounterGoogleCloudAiplatformV1DeployedModel--; return o; @@ -5046,8 +5127,10 @@ void checkGoogleCloudAiplatformV1DeployedModel( o.sharedResources!, unittest.equals('foo'), ); + checkGoogleCloudAiplatformV1SpeculativeDecodingSpec( + o.speculativeDecodingSpec!); checkGoogleCloudAiplatformV1DeployedModelStatus(o.status!); - checkUnnamed72(o.systemLabels!); + checkUnnamed73(o.systemLabels!); } buildCounterGoogleCloudAiplatformV1DeployedModel--; } @@ -5188,12 +5271,12 @@ void checkGoogleCloudAiplatformV1DestinationFeatureSetting( buildCounterGoogleCloudAiplatformV1DestinationFeatureSetting--; } -core.List buildUnnamed73() => [ +core.List buildUnnamed74() => [ buildGoogleCloudAiplatformV1Tensor(), buildGoogleCloudAiplatformV1Tensor(), ]; -void checkUnnamed73(core.List o) { +void checkUnnamed74(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Tensor(o[0]); checkGoogleCloudAiplatformV1Tensor(o[1]); @@ -5205,7 +5288,7 @@ api.GoogleCloudAiplatformV1DirectPredictRequest final o = api.GoogleCloudAiplatformV1DirectPredictRequest(); buildCounterGoogleCloudAiplatformV1DirectPredictRequest++; if (buildCounterGoogleCloudAiplatformV1DirectPredictRequest < 3) { - o.inputs = buildUnnamed73(); + o.inputs = buildUnnamed74(); o.parameters = buildGoogleCloudAiplatformV1Tensor(); } buildCounterGoogleCloudAiplatformV1DirectPredictRequest--; @@ -5216,18 +5299,18 @@ void checkGoogleCloudAiplatformV1DirectPredictRequest( api.GoogleCloudAiplatformV1DirectPredictRequest o) { buildCounterGoogleCloudAiplatformV1DirectPredictRequest++; if (buildCounterGoogleCloudAiplatformV1DirectPredictRequest < 3) { - checkUnnamed73(o.inputs!); + checkUnnamed74(o.inputs!); checkGoogleCloudAiplatformV1Tensor(o.parameters!); } buildCounterGoogleCloudAiplatformV1DirectPredictRequest--; } -core.List buildUnnamed74() => [ +core.List buildUnnamed75() => [ buildGoogleCloudAiplatformV1Tensor(), buildGoogleCloudAiplatformV1Tensor(), ]; -void checkUnnamed74(core.List o) { +void checkUnnamed75(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Tensor(o[0]); checkGoogleCloudAiplatformV1Tensor(o[1]); @@ -5239,7 +5322,7 @@ api.GoogleCloudAiplatformV1DirectPredictResponse final o = api.GoogleCloudAiplatformV1DirectPredictResponse(); buildCounterGoogleCloudAiplatformV1DirectPredictResponse++; if (buildCounterGoogleCloudAiplatformV1DirectPredictResponse < 3) { - o.outputs = buildUnnamed74(); + o.outputs = buildUnnamed75(); o.parameters = buildGoogleCloudAiplatformV1Tensor(); } buildCounterGoogleCloudAiplatformV1DirectPredictResponse--; @@ -5250,7 +5333,7 @@ void checkGoogleCloudAiplatformV1DirectPredictResponse( api.GoogleCloudAiplatformV1DirectPredictResponse o) { buildCounterGoogleCloudAiplatformV1DirectPredictResponse++; if (buildCounterGoogleCloudAiplatformV1DirectPredictResponse < 3) { - checkUnnamed74(o.outputs!); + checkUnnamed75(o.outputs!); checkGoogleCloudAiplatformV1Tensor(o.parameters!); } buildCounterGoogleCloudAiplatformV1DirectPredictResponse--; @@ -5354,12 +5437,12 @@ void checkGoogleCloudAiplatformV1DiskSpec( buildCounterGoogleCloudAiplatformV1DiskSpec--; } -core.List buildUnnamed75() => [ +core.List buildUnnamed76() => [ 42.0, 42.0, ]; -void checkUnnamed75(core.List o) { +void checkUnnamed76(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5377,7 +5460,7 @@ api.GoogleCloudAiplatformV1DoubleArray final o = api.GoogleCloudAiplatformV1DoubleArray(); buildCounterGoogleCloudAiplatformV1DoubleArray++; if (buildCounterGoogleCloudAiplatformV1DoubleArray < 3) { - o.values = buildUnnamed75(); + o.values = buildUnnamed76(); } buildCounterGoogleCloudAiplatformV1DoubleArray--; return o; @@ -5387,7 +5470,7 @@ void checkGoogleCloudAiplatformV1DoubleArray( api.GoogleCloudAiplatformV1DoubleArray o) { buildCounterGoogleCloudAiplatformV1DoubleArray++; if (buildCounterGoogleCloudAiplatformV1DoubleArray < 3) { - checkUnnamed75(o.values!); + checkUnnamed76(o.values!); } buildCounterGoogleCloudAiplatformV1DoubleArray--; } @@ -5445,23 +5528,23 @@ void checkGoogleCloudAiplatformV1EncryptionSpec( buildCounterGoogleCloudAiplatformV1EncryptionSpec--; } -core.List buildUnnamed76() => [ +core.List buildUnnamed77() => [ buildGoogleCloudAiplatformV1DeployedModel(), buildGoogleCloudAiplatformV1DeployedModel(), ]; -void checkUnnamed76(core.List o) { +void checkUnnamed77(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1DeployedModel(o[0]); checkGoogleCloudAiplatformV1DeployedModel(o[1]); } -core.Map buildUnnamed77() => { +core.Map buildUnnamed78() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed77(core.Map o) { +void checkUnnamed78(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -5473,12 +5556,12 @@ void checkUnnamed77(core.Map o) { ); } -core.Map buildUnnamed78() => { +core.Map buildUnnamed79() => { 'x': 42, 'y': 42, }; -void checkUnnamed78(core.Map o) { +void checkUnnamed79(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -5500,13 +5583,15 @@ api.GoogleCloudAiplatformV1Endpoint buildGoogleCloudAiplatformV1Endpoint() { o.createTime = 'foo'; o.dedicatedEndpointDns = 'foo'; o.dedicatedEndpointEnabled = true; - o.deployedModels = buildUnnamed76(); + o.deployedModels = buildUnnamed77(); o.description = 'foo'; o.displayName = 'foo'; o.enablePrivateServiceConnect = true; o.encryptionSpec = buildGoogleCloudAiplatformV1EncryptionSpec(); o.etag = 'foo'; - o.labels = buildUnnamed77(); + o.genAiAdvancedFeaturesConfig = + buildGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig(); + o.labels = buildUnnamed78(); o.modelDeploymentMonitoringJob = 'foo'; o.name = 'foo'; o.network = 'foo'; @@ -5516,7 +5601,7 @@ api.GoogleCloudAiplatformV1Endpoint buildGoogleCloudAiplatformV1Endpoint() { buildGoogleCloudAiplatformV1PrivateServiceConnectConfig(); o.satisfiesPzi = true; o.satisfiesPzs = true; - o.trafficSplit = buildUnnamed78(); + o.trafficSplit = buildUnnamed79(); o.updateTime = 'foo'; } buildCounterGoogleCloudAiplatformV1Endpoint--; @@ -5538,7 +5623,7 @@ void checkGoogleCloudAiplatformV1Endpoint( unittest.equals('foo'), ); unittest.expect(o.dedicatedEndpointEnabled!, unittest.isTrue); - checkUnnamed76(o.deployedModels!); + checkUnnamed77(o.deployedModels!); unittest.expect( o.description!, unittest.equals('foo'), @@ -5553,7 +5638,9 @@ void checkGoogleCloudAiplatformV1Endpoint( o.etag!, unittest.equals('foo'), ); - checkUnnamed77(o.labels!); + checkGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig( + o.genAiAdvancedFeaturesConfig!); + checkUnnamed78(o.labels!); unittest.expect( o.modelDeploymentMonitoringJob!, unittest.equals('foo'), @@ -5572,7 +5659,7 @@ void checkGoogleCloudAiplatformV1Endpoint( o.privateServiceConnectConfig!); unittest.expect(o.satisfiesPzi!, unittest.isTrue); unittest.expect(o.satisfiesPzs!, unittest.isTrue); - checkUnnamed78(o.trafficSplit!); + checkUnnamed79(o.trafficSplit!); unittest.expect( o.updateTime!, unittest.equals('foo'), @@ -5581,6 +5668,23 @@ void checkGoogleCloudAiplatformV1Endpoint( buildCounterGoogleCloudAiplatformV1Endpoint--; } +core.int buildCounterGoogleCloudAiplatformV1EnterpriseWebSearch = 0; +api.GoogleCloudAiplatformV1EnterpriseWebSearch + buildGoogleCloudAiplatformV1EnterpriseWebSearch() { + final o = api.GoogleCloudAiplatformV1EnterpriseWebSearch(); + buildCounterGoogleCloudAiplatformV1EnterpriseWebSearch++; + if (buildCounterGoogleCloudAiplatformV1EnterpriseWebSearch < 3) {} + buildCounterGoogleCloudAiplatformV1EnterpriseWebSearch--; + return o; +} + +void checkGoogleCloudAiplatformV1EnterpriseWebSearch( + api.GoogleCloudAiplatformV1EnterpriseWebSearch o) { + buildCounterGoogleCloudAiplatformV1EnterpriseWebSearch++; + if (buildCounterGoogleCloudAiplatformV1EnterpriseWebSearch < 3) {} + buildCounterGoogleCloudAiplatformV1EnterpriseWebSearch--; +} + core.int buildCounterGoogleCloudAiplatformV1EntityIdSelector = 0; api.GoogleCloudAiplatformV1EntityIdSelector buildGoogleCloudAiplatformV1EntityIdSelector() { @@ -5607,12 +5711,12 @@ void checkGoogleCloudAiplatformV1EntityIdSelector( buildCounterGoogleCloudAiplatformV1EntityIdSelector--; } -core.Map buildUnnamed79() => { +core.Map buildUnnamed80() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed79(core.Map o) { +void checkUnnamed80(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -5632,7 +5736,7 @@ api.GoogleCloudAiplatformV1EntityType buildGoogleCloudAiplatformV1EntityType() { o.createTime = 'foo'; o.description = 'foo'; o.etag = 'foo'; - o.labels = buildUnnamed79(); + o.labels = buildUnnamed80(); o.monitoringConfig = buildGoogleCloudAiplatformV1FeaturestoreMonitoringConfig(); o.name = 'foo'; @@ -5661,7 +5765,7 @@ void checkGoogleCloudAiplatformV1EntityType( o.etag!, unittest.equals('foo'), ); - checkUnnamed79(o.labels!); + checkUnnamed80(o.labels!); checkGoogleCloudAiplatformV1FeaturestoreMonitoringConfig( o.monitoringConfig!); unittest.expect( @@ -5710,12 +5814,12 @@ void checkGoogleCloudAiplatformV1EnvVar(api.GoogleCloudAiplatformV1EnvVar o) { } core.List - buildUnnamed80() => [ + buildUnnamed81() => [ buildGoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem(), buildGoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem(), ]; -void checkUnnamed80( +void checkUnnamed81( core.List o) { unittest.expect(o, unittest.hasLength(2)); @@ -5729,7 +5833,7 @@ api.GoogleCloudAiplatformV1ErrorAnalysisAnnotation final o = api.GoogleCloudAiplatformV1ErrorAnalysisAnnotation(); buildCounterGoogleCloudAiplatformV1ErrorAnalysisAnnotation++; if (buildCounterGoogleCloudAiplatformV1ErrorAnalysisAnnotation < 3) { - o.attributedItems = buildUnnamed80(); + o.attributedItems = buildUnnamed81(); o.outlierScore = 42.0; o.outlierThreshold = 42.0; o.queryType = 'foo'; @@ -5742,7 +5846,7 @@ void checkGoogleCloudAiplatformV1ErrorAnalysisAnnotation( api.GoogleCloudAiplatformV1ErrorAnalysisAnnotation o) { buildCounterGoogleCloudAiplatformV1ErrorAnalysisAnnotation++; if (buildCounterGoogleCloudAiplatformV1ErrorAnalysisAnnotation < 3) { - checkUnnamed80(o.attributedItems!); + checkUnnamed81(o.attributedItems!); unittest.expect( o.outlierScore!, unittest.equals(42.0), @@ -5792,12 +5896,51 @@ void checkGoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem( buildCounterGoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem--; } +core.List buildUnnamed82() => [ + buildGoogleCloudAiplatformV1Metric(), + buildGoogleCloudAiplatformV1Metric(), + ]; + +void checkUnnamed82(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudAiplatformV1Metric(o[0]); + checkGoogleCloudAiplatformV1Metric(o[1]); +} + +core.int buildCounterGoogleCloudAiplatformV1EvaluateDatasetRequest = 0; +api.GoogleCloudAiplatformV1EvaluateDatasetRequest + buildGoogleCloudAiplatformV1EvaluateDatasetRequest() { + final o = api.GoogleCloudAiplatformV1EvaluateDatasetRequest(); + buildCounterGoogleCloudAiplatformV1EvaluateDatasetRequest++; + if (buildCounterGoogleCloudAiplatformV1EvaluateDatasetRequest < 3) { + o.autoraterConfig = buildGoogleCloudAiplatformV1AutoraterConfig(); + o.dataset = buildGoogleCloudAiplatformV1EvaluationDataset(); + o.metrics = buildUnnamed82(); + o.outputConfig = buildGoogleCloudAiplatformV1OutputConfig(); + } + buildCounterGoogleCloudAiplatformV1EvaluateDatasetRequest--; + return o; +} + +void checkGoogleCloudAiplatformV1EvaluateDatasetRequest( + api.GoogleCloudAiplatformV1EvaluateDatasetRequest o) { + buildCounterGoogleCloudAiplatformV1EvaluateDatasetRequest++; + if (buildCounterGoogleCloudAiplatformV1EvaluateDatasetRequest < 3) { + checkGoogleCloudAiplatformV1AutoraterConfig(o.autoraterConfig!); + checkGoogleCloudAiplatformV1EvaluationDataset(o.dataset!); + checkUnnamed82(o.metrics!); + checkGoogleCloudAiplatformV1OutputConfig(o.outputConfig!); + } + buildCounterGoogleCloudAiplatformV1EvaluateDatasetRequest--; +} + core.int buildCounterGoogleCloudAiplatformV1EvaluateInstancesRequest = 0; api.GoogleCloudAiplatformV1EvaluateInstancesRequest buildGoogleCloudAiplatformV1EvaluateInstancesRequest() { final o = api.GoogleCloudAiplatformV1EvaluateInstancesRequest(); buildCounterGoogleCloudAiplatformV1EvaluateInstancesRequest++; if (buildCounterGoogleCloudAiplatformV1EvaluateInstancesRequest < 3) { + o.autoraterConfig = buildGoogleCloudAiplatformV1AutoraterConfig(); o.bleuInput = buildGoogleCloudAiplatformV1BleuInput(); o.coherenceInput = buildGoogleCloudAiplatformV1CoherenceInput(); o.cometInput = buildGoogleCloudAiplatformV1CometInput(); @@ -5855,6 +5998,7 @@ void checkGoogleCloudAiplatformV1EvaluateInstancesRequest( api.GoogleCloudAiplatformV1EvaluateInstancesRequest o) { buildCounterGoogleCloudAiplatformV1EvaluateInstancesRequest++; if (buildCounterGoogleCloudAiplatformV1EvaluateInstancesRequest < 3) { + checkGoogleCloudAiplatformV1AutoraterConfig(o.autoraterConfig!); checkGoogleCloudAiplatformV1BleuInput(o.bleuInput!); checkGoogleCloudAiplatformV1CoherenceInput(o.coherenceInput!); checkGoogleCloudAiplatformV1CometInput(o.cometInput!); @@ -6023,12 +6167,12 @@ void checkGoogleCloudAiplatformV1EvaluateInstancesResponse( } core.List - buildUnnamed81() => [ + buildUnnamed83() => [ buildGoogleCloudAiplatformV1ErrorAnalysisAnnotation(), buildGoogleCloudAiplatformV1ErrorAnalysisAnnotation(), ]; -void checkUnnamed81( +void checkUnnamed83( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ErrorAnalysisAnnotation(o[0]); @@ -6036,19 +6180,19 @@ void checkUnnamed81( } core.List - buildUnnamed82() => [ + buildUnnamed84() => [ buildGoogleCloudAiplatformV1EvaluatedAnnotationExplanation(), buildGoogleCloudAiplatformV1EvaluatedAnnotationExplanation(), ]; -void checkUnnamed82( +void checkUnnamed84( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1EvaluatedAnnotationExplanation(o[0]); checkGoogleCloudAiplatformV1EvaluatedAnnotationExplanation(o[1]); } -core.List buildUnnamed83() => [ +core.List buildUnnamed85() => [ { 'list': [1, 2, 3], 'bool': true, @@ -6061,7 +6205,7 @@ core.List buildUnnamed83() => [ }, ]; -void checkUnnamed83(core.List o) { +void checkUnnamed85(core.List o) { unittest.expect(o, unittest.hasLength(2)); var casted18 = (o[0]) as core.Map; unittest.expect(casted18, unittest.hasLength(3)); @@ -6093,7 +6237,7 @@ void checkUnnamed83(core.List o) { ); } -core.List buildUnnamed84() => [ +core.List buildUnnamed86() => [ { 'list': [1, 2, 3], 'bool': true, @@ -6106,7 +6250,7 @@ core.List buildUnnamed84() => [ }, ]; -void checkUnnamed84(core.List o) { +void checkUnnamed86(core.List o) { unittest.expect(o, unittest.hasLength(2)); var casted20 = (o[0]) as core.Map; unittest.expect(casted20, unittest.hasLength(3)); @@ -6149,11 +6293,11 @@ api.GoogleCloudAiplatformV1EvaluatedAnnotation 'bool': true, 'string': 'foo' }; - o.errorAnalysisAnnotations = buildUnnamed81(); + o.errorAnalysisAnnotations = buildUnnamed83(); o.evaluatedDataItemViewId = 'foo'; - o.explanations = buildUnnamed82(); - o.groundTruths = buildUnnamed83(); - o.predictions = buildUnnamed84(); + o.explanations = buildUnnamed84(); + o.groundTruths = buildUnnamed85(); + o.predictions = buildUnnamed86(); o.type = 'foo'; } buildCounterGoogleCloudAiplatformV1EvaluatedAnnotation--; @@ -6178,14 +6322,14 @@ void checkGoogleCloudAiplatformV1EvaluatedAnnotation( casted22['string'], unittest.equals('foo'), ); - checkUnnamed81(o.errorAnalysisAnnotations!); + checkUnnamed83(o.errorAnalysisAnnotations!); unittest.expect( o.evaluatedDataItemViewId!, unittest.equals('foo'), ); - checkUnnamed82(o.explanations!); - checkUnnamed83(o.groundTruths!); - checkUnnamed84(o.predictions!); + checkUnnamed84(o.explanations!); + checkUnnamed85(o.groundTruths!); + checkUnnamed86(o.predictions!); unittest.expect( o.type!, unittest.equals('foo'), @@ -6220,12 +6364,35 @@ void checkGoogleCloudAiplatformV1EvaluatedAnnotationExplanation( buildCounterGoogleCloudAiplatformV1EvaluatedAnnotationExplanation--; } -core.Map buildUnnamed85() => { +core.int buildCounterGoogleCloudAiplatformV1EvaluationDataset = 0; +api.GoogleCloudAiplatformV1EvaluationDataset + buildGoogleCloudAiplatformV1EvaluationDataset() { + final o = api.GoogleCloudAiplatformV1EvaluationDataset(); + buildCounterGoogleCloudAiplatformV1EvaluationDataset++; + if (buildCounterGoogleCloudAiplatformV1EvaluationDataset < 3) { + o.bigquerySource = buildGoogleCloudAiplatformV1BigQuerySource(); + o.gcsSource = buildGoogleCloudAiplatformV1GcsSource(); + } + buildCounterGoogleCloudAiplatformV1EvaluationDataset--; + return o; +} + +void checkGoogleCloudAiplatformV1EvaluationDataset( + api.GoogleCloudAiplatformV1EvaluationDataset o) { + buildCounterGoogleCloudAiplatformV1EvaluationDataset++; + if (buildCounterGoogleCloudAiplatformV1EvaluationDataset < 3) { + checkGoogleCloudAiplatformV1BigQuerySource(o.bigquerySource!); + checkGoogleCloudAiplatformV1GcsSource(o.gcsSource!); + } + buildCounterGoogleCloudAiplatformV1EvaluationDataset--; +} + +core.Map buildUnnamed87() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed85(core.Map o) { +void checkUnnamed87(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -6245,7 +6412,7 @@ api.GoogleCloudAiplatformV1Event buildGoogleCloudAiplatformV1Event() { o.artifact = 'foo'; o.eventTime = 'foo'; o.execution = 'foo'; - o.labels = buildUnnamed85(); + o.labels = buildUnnamed87(); o.type = 'foo'; } buildCounterGoogleCloudAiplatformV1Event--; @@ -6267,7 +6434,7 @@ void checkGoogleCloudAiplatformV1Event(api.GoogleCloudAiplatformV1Event o) { o.execution!, unittest.equals('foo'), ); - checkUnnamed85(o.labels!); + checkUnnamed87(o.labels!); unittest.expect( o.type!, unittest.equals('foo'), @@ -6276,12 +6443,12 @@ void checkGoogleCloudAiplatformV1Event(api.GoogleCloudAiplatformV1Event o) { buildCounterGoogleCloudAiplatformV1Event--; } -core.List buildUnnamed86() => [ +core.List buildUnnamed88() => [ buildGoogleCloudAiplatformV1ExactMatchInstance(), buildGoogleCloudAiplatformV1ExactMatchInstance(), ]; -void checkUnnamed86( +void checkUnnamed88( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ExactMatchInstance(o[0]); @@ -6294,7 +6461,7 @@ api.GoogleCloudAiplatformV1ExactMatchInput final o = api.GoogleCloudAiplatformV1ExactMatchInput(); buildCounterGoogleCloudAiplatformV1ExactMatchInput++; if (buildCounterGoogleCloudAiplatformV1ExactMatchInput < 3) { - o.instances = buildUnnamed86(); + o.instances = buildUnnamed88(); o.metricSpec = buildGoogleCloudAiplatformV1ExactMatchSpec(); } buildCounterGoogleCloudAiplatformV1ExactMatchInput--; @@ -6305,7 +6472,7 @@ void checkGoogleCloudAiplatformV1ExactMatchInput( api.GoogleCloudAiplatformV1ExactMatchInput o) { buildCounterGoogleCloudAiplatformV1ExactMatchInput++; if (buildCounterGoogleCloudAiplatformV1ExactMatchInput < 3) { - checkUnnamed86(o.instances!); + checkUnnamed88(o.instances!); checkGoogleCloudAiplatformV1ExactMatchSpec(o.metricSpec!); } buildCounterGoogleCloudAiplatformV1ExactMatchInput--; @@ -6364,13 +6531,13 @@ void checkGoogleCloudAiplatformV1ExactMatchMetricValue( buildCounterGoogleCloudAiplatformV1ExactMatchMetricValue--; } -core.List buildUnnamed87() => +core.List buildUnnamed89() => [ buildGoogleCloudAiplatformV1ExactMatchMetricValue(), buildGoogleCloudAiplatformV1ExactMatchMetricValue(), ]; -void checkUnnamed87( +void checkUnnamed89( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ExactMatchMetricValue(o[0]); @@ -6383,7 +6550,7 @@ api.GoogleCloudAiplatformV1ExactMatchResults final o = api.GoogleCloudAiplatformV1ExactMatchResults(); buildCounterGoogleCloudAiplatformV1ExactMatchResults++; if (buildCounterGoogleCloudAiplatformV1ExactMatchResults < 3) { - o.exactMatchMetricValues = buildUnnamed87(); + o.exactMatchMetricValues = buildUnnamed89(); } buildCounterGoogleCloudAiplatformV1ExactMatchResults--; return o; @@ -6393,7 +6560,7 @@ void checkGoogleCloudAiplatformV1ExactMatchResults( api.GoogleCloudAiplatformV1ExactMatchResults o) { buildCounterGoogleCloudAiplatformV1ExactMatchResults++; if (buildCounterGoogleCloudAiplatformV1ExactMatchResults < 3) { - checkUnnamed87(o.exactMatchMetricValues!); + checkUnnamed89(o.exactMatchMetricValues!); } buildCounterGoogleCloudAiplatformV1ExactMatchResults--; } @@ -6488,12 +6655,12 @@ void checkGoogleCloudAiplatformV1ExamplesExampleGcsSource( } core.List - buildUnnamed88() => [ + buildUnnamed90() => [ buildGoogleCloudAiplatformV1ExamplesRestrictionsNamespace(), buildGoogleCloudAiplatformV1ExamplesRestrictionsNamespace(), ]; -void checkUnnamed88( +void checkUnnamed90( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ExamplesRestrictionsNamespace(o[0]); @@ -6509,7 +6676,7 @@ api.GoogleCloudAiplatformV1ExamplesOverride o.crowdingCount = 42; o.dataFormat = 'foo'; o.neighborCount = 42; - o.restrictions = buildUnnamed88(); + o.restrictions = buildUnnamed90(); o.returnEmbeddings = true; } buildCounterGoogleCloudAiplatformV1ExamplesOverride--; @@ -6532,18 +6699,18 @@ void checkGoogleCloudAiplatformV1ExamplesOverride( o.neighborCount!, unittest.equals(42), ); - checkUnnamed88(o.restrictions!); + checkUnnamed90(o.restrictions!); unittest.expect(o.returnEmbeddings!, unittest.isTrue); } buildCounterGoogleCloudAiplatformV1ExamplesOverride--; } -core.List buildUnnamed89() => [ +core.List buildUnnamed91() => [ 'foo', 'foo', ]; -void checkUnnamed89(core.List o) { +void checkUnnamed91(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6555,12 +6722,12 @@ void checkUnnamed89(core.List o) { ); } -core.List buildUnnamed90() => [ +core.List buildUnnamed92() => [ 'foo', 'foo', ]; -void checkUnnamed90(core.List o) { +void checkUnnamed92(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6578,8 +6745,8 @@ api.GoogleCloudAiplatformV1ExamplesRestrictionsNamespace final o = api.GoogleCloudAiplatformV1ExamplesRestrictionsNamespace(); buildCounterGoogleCloudAiplatformV1ExamplesRestrictionsNamespace++; if (buildCounterGoogleCloudAiplatformV1ExamplesRestrictionsNamespace < 3) { - o.allow = buildUnnamed89(); - o.deny = buildUnnamed90(); + o.allow = buildUnnamed91(); + o.deny = buildUnnamed92(); o.namespaceName = 'foo'; } buildCounterGoogleCloudAiplatformV1ExamplesRestrictionsNamespace--; @@ -6590,8 +6757,8 @@ void checkGoogleCloudAiplatformV1ExamplesRestrictionsNamespace( api.GoogleCloudAiplatformV1ExamplesRestrictionsNamespace o) { buildCounterGoogleCloudAiplatformV1ExamplesRestrictionsNamespace++; if (buildCounterGoogleCloudAiplatformV1ExamplesRestrictionsNamespace < 3) { - checkUnnamed89(o.allow!); - checkUnnamed90(o.deny!); + checkUnnamed91(o.allow!); + checkUnnamed92(o.deny!); unittest.expect( o.namespaceName!, unittest.equals('foo'), @@ -6600,12 +6767,41 @@ void checkGoogleCloudAiplatformV1ExamplesRestrictionsNamespace( buildCounterGoogleCloudAiplatformV1ExamplesRestrictionsNamespace--; } -core.Map buildUnnamed91() => { +core.int buildCounterGoogleCloudAiplatformV1ExecutableCode = 0; +api.GoogleCloudAiplatformV1ExecutableCode + buildGoogleCloudAiplatformV1ExecutableCode() { + final o = api.GoogleCloudAiplatformV1ExecutableCode(); + buildCounterGoogleCloudAiplatformV1ExecutableCode++; + if (buildCounterGoogleCloudAiplatformV1ExecutableCode < 3) { + o.code = 'foo'; + o.language = 'foo'; + } + buildCounterGoogleCloudAiplatformV1ExecutableCode--; + return o; +} + +void checkGoogleCloudAiplatformV1ExecutableCode( + api.GoogleCloudAiplatformV1ExecutableCode o) { + buildCounterGoogleCloudAiplatformV1ExecutableCode++; + if (buildCounterGoogleCloudAiplatformV1ExecutableCode < 3) { + unittest.expect( + o.code!, + unittest.equals('foo'), + ); + unittest.expect( + o.language!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudAiplatformV1ExecutableCode--; +} + +core.Map buildUnnamed93() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed91(core.Map o) { +void checkUnnamed93(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -6617,7 +6813,7 @@ void checkUnnamed91(core.Map o) { ); } -core.Map buildUnnamed92() => { +core.Map buildUnnamed94() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -6630,7 +6826,7 @@ core.Map buildUnnamed92() => { }, }; -void checkUnnamed92(core.Map o) { +void checkUnnamed94(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted24 = (o['x']!) as core.Map; unittest.expect(casted24, unittest.hasLength(3)); @@ -6671,8 +6867,8 @@ api.GoogleCloudAiplatformV1Execution buildGoogleCloudAiplatformV1Execution() { o.description = 'foo'; o.displayName = 'foo'; o.etag = 'foo'; - o.labels = buildUnnamed91(); - o.metadata = buildUnnamed92(); + o.labels = buildUnnamed93(); + o.metadata = buildUnnamed94(); o.name = 'foo'; o.schemaTitle = 'foo'; o.schemaVersion = 'foo'; @@ -6703,8 +6899,8 @@ void checkGoogleCloudAiplatformV1Execution( o.etag!, unittest.equals('foo'), ); - checkUnnamed91(o.labels!); - checkUnnamed92(o.metadata!); + checkUnnamed93(o.labels!); + checkUnnamed94(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), @@ -6729,7 +6925,7 @@ void checkGoogleCloudAiplatformV1Execution( buildCounterGoogleCloudAiplatformV1Execution--; } -core.List buildUnnamed93() => [ +core.List buildUnnamed95() => [ { 'list': [1, 2, 3], 'bool': true, @@ -6742,7 +6938,7 @@ core.List buildUnnamed93() => [ }, ]; -void checkUnnamed93(core.List o) { +void checkUnnamed95(core.List o) { unittest.expect(o, unittest.hasLength(2)); var casted26 = (o[0]) as core.Map; unittest.expect(casted26, unittest.hasLength(3)); @@ -6783,7 +6979,7 @@ api.GoogleCloudAiplatformV1ExplainRequest o.deployedModelId = 'foo'; o.explanationSpecOverride = buildGoogleCloudAiplatformV1ExplanationSpecOverride(); - o.instances = buildUnnamed93(); + o.instances = buildUnnamed95(); o.parameters = { 'list': [1, 2, 3], 'bool': true, @@ -6804,7 +7000,7 @@ void checkGoogleCloudAiplatformV1ExplainRequest( ); checkGoogleCloudAiplatformV1ExplanationSpecOverride( o.explanationSpecOverride!); - checkUnnamed93(o.instances!); + checkUnnamed95(o.instances!); var casted28 = (o.parameters!) as core.Map; unittest.expect(casted28, unittest.hasLength(3)); unittest.expect( @@ -6823,18 +7019,18 @@ void checkGoogleCloudAiplatformV1ExplainRequest( buildCounterGoogleCloudAiplatformV1ExplainRequest--; } -core.List buildUnnamed94() => [ +core.List buildUnnamed96() => [ buildGoogleCloudAiplatformV1Explanation(), buildGoogleCloudAiplatformV1Explanation(), ]; -void checkUnnamed94(core.List o) { +void checkUnnamed96(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Explanation(o[0]); checkGoogleCloudAiplatformV1Explanation(o[1]); } -core.List buildUnnamed95() => [ +core.List buildUnnamed97() => [ { 'list': [1, 2, 3], 'bool': true, @@ -6847,7 +7043,7 @@ core.List buildUnnamed95() => [ }, ]; -void checkUnnamed95(core.List o) { +void checkUnnamed97(core.List o) { unittest.expect(o, unittest.hasLength(2)); var casted29 = (o[0]) as core.Map; unittest.expect(casted29, unittest.hasLength(3)); @@ -6886,8 +7082,8 @@ api.GoogleCloudAiplatformV1ExplainResponse buildCounterGoogleCloudAiplatformV1ExplainResponse++; if (buildCounterGoogleCloudAiplatformV1ExplainResponse < 3) { o.deployedModelId = 'foo'; - o.explanations = buildUnnamed94(); - o.predictions = buildUnnamed95(); + o.explanations = buildUnnamed96(); + o.predictions = buildUnnamed97(); } buildCounterGoogleCloudAiplatformV1ExplainResponse--; return o; @@ -6901,29 +7097,29 @@ void checkGoogleCloudAiplatformV1ExplainResponse( o.deployedModelId!, unittest.equals('foo'), ); - checkUnnamed94(o.explanations!); - checkUnnamed95(o.predictions!); + checkUnnamed96(o.explanations!); + checkUnnamed97(o.predictions!); } buildCounterGoogleCloudAiplatformV1ExplainResponse--; } -core.List buildUnnamed96() => [ +core.List buildUnnamed98() => [ buildGoogleCloudAiplatformV1Attribution(), buildGoogleCloudAiplatformV1Attribution(), ]; -void checkUnnamed96(core.List o) { +void checkUnnamed98(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Attribution(o[0]); checkGoogleCloudAiplatformV1Attribution(o[1]); } -core.List buildUnnamed97() => [ +core.List buildUnnamed99() => [ buildGoogleCloudAiplatformV1Neighbor(), buildGoogleCloudAiplatformV1Neighbor(), ]; -void checkUnnamed97(core.List o) { +void checkUnnamed99(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Neighbor(o[0]); checkGoogleCloudAiplatformV1Neighbor(o[1]); @@ -6935,8 +7131,8 @@ api.GoogleCloudAiplatformV1Explanation final o = api.GoogleCloudAiplatformV1Explanation(); buildCounterGoogleCloudAiplatformV1Explanation++; if (buildCounterGoogleCloudAiplatformV1Explanation < 3) { - o.attributions = buildUnnamed96(); - o.neighbors = buildUnnamed97(); + o.attributions = buildUnnamed98(); + o.neighbors = buildUnnamed99(); } buildCounterGoogleCloudAiplatformV1Explanation--; return o; @@ -6946,20 +7142,20 @@ void checkGoogleCloudAiplatformV1Explanation( api.GoogleCloudAiplatformV1Explanation o) { buildCounterGoogleCloudAiplatformV1Explanation++; if (buildCounterGoogleCloudAiplatformV1Explanation < 3) { - checkUnnamed96(o.attributions!); - checkUnnamed97(o.neighbors!); + checkUnnamed98(o.attributions!); + checkUnnamed99(o.neighbors!); } buildCounterGoogleCloudAiplatformV1Explanation--; } core.Map - buildUnnamed98() => { + buildUnnamed100() => { 'x': buildGoogleCloudAiplatformV1ExplanationMetadataInputMetadata(), 'y': buildGoogleCloudAiplatformV1ExplanationMetadataInputMetadata(), }; -void checkUnnamed98( +void checkUnnamed100( core.Map o) { @@ -6970,12 +7166,12 @@ void checkUnnamed98( core.Map - buildUnnamed99() => { + buildUnnamed101() => { 'x': buildGoogleCloudAiplatformV1ExplanationMetadataOutputMetadata(), 'y': buildGoogleCloudAiplatformV1ExplanationMetadataOutputMetadata(), }; -void checkUnnamed99( +void checkUnnamed101( core.Map o) { @@ -6991,9 +7187,9 @@ api.GoogleCloudAiplatformV1ExplanationMetadata buildCounterGoogleCloudAiplatformV1ExplanationMetadata++; if (buildCounterGoogleCloudAiplatformV1ExplanationMetadata < 3) { o.featureAttributionsSchemaUri = 'foo'; - o.inputs = buildUnnamed98(); + o.inputs = buildUnnamed100(); o.latentSpaceSource = 'foo'; - o.outputs = buildUnnamed99(); + o.outputs = buildUnnamed101(); } buildCounterGoogleCloudAiplatformV1ExplanationMetadata--; return o; @@ -7007,17 +7203,17 @@ void checkGoogleCloudAiplatformV1ExplanationMetadata( o.featureAttributionsSchemaUri!, unittest.equals('foo'), ); - checkUnnamed98(o.inputs!); + checkUnnamed100(o.inputs!); unittest.expect( o.latentSpaceSource!, unittest.equals('foo'), ); - checkUnnamed99(o.outputs!); + checkUnnamed101(o.outputs!); } buildCounterGoogleCloudAiplatformV1ExplanationMetadata--; } -core.List buildUnnamed100() => [ +core.List buildUnnamed102() => [ { 'list': [1, 2, 3], 'bool': true, @@ -7030,7 +7226,7 @@ core.List buildUnnamed100() => [ }, ]; -void checkUnnamed100(core.List o) { +void checkUnnamed102(core.List o) { unittest.expect(o, unittest.hasLength(2)); var casted31 = (o[0]) as core.Map; unittest.expect(casted31, unittest.hasLength(3)); @@ -7062,12 +7258,12 @@ void checkUnnamed100(core.List o) { ); } -core.List buildUnnamed101() => [ +core.List buildUnnamed103() => [ 'foo', 'foo', ]; -void checkUnnamed101(core.List o) { +void checkUnnamed103(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7079,7 +7275,7 @@ void checkUnnamed101(core.List o) { ); } -core.List buildUnnamed102() => [ +core.List buildUnnamed104() => [ { 'list': [1, 2, 3], 'bool': true, @@ -7092,7 +7288,7 @@ core.List buildUnnamed102() => [ }, ]; -void checkUnnamed102(core.List o) { +void checkUnnamed104(core.List o) { unittest.expect(o, unittest.hasLength(2)); var casted33 = (o[0]) as core.Map; unittest.expect(casted33, unittest.hasLength(3)); @@ -7132,15 +7328,15 @@ api.GoogleCloudAiplatformV1ExplanationMetadataInputMetadata buildCounterGoogleCloudAiplatformV1ExplanationMetadataInputMetadata++; if (buildCounterGoogleCloudAiplatformV1ExplanationMetadataInputMetadata < 3) { o.denseShapeTensorName = 'foo'; - o.encodedBaselines = buildUnnamed100(); + o.encodedBaselines = buildUnnamed102(); o.encodedTensorName = 'foo'; o.encoding = 'foo'; o.featureValueDomain = buildGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain(); o.groupName = 'foo'; - o.indexFeatureMapping = buildUnnamed101(); + o.indexFeatureMapping = buildUnnamed103(); o.indicesTensorName = 'foo'; - o.inputBaselines = buildUnnamed102(); + o.inputBaselines = buildUnnamed104(); o.inputTensorName = 'foo'; o.modality = 'foo'; o.visualization = @@ -7158,7 +7354,7 @@ void checkGoogleCloudAiplatformV1ExplanationMetadataInputMetadata( o.denseShapeTensorName!, unittest.equals('foo'), ); - checkUnnamed100(o.encodedBaselines!); + checkUnnamed102(o.encodedBaselines!); unittest.expect( o.encodedTensorName!, unittest.equals('foo'), @@ -7173,12 +7369,12 @@ void checkGoogleCloudAiplatformV1ExplanationMetadataInputMetadata( o.groupName!, unittest.equals('foo'), ); - checkUnnamed101(o.indexFeatureMapping!); + checkUnnamed103(o.indexFeatureMapping!); unittest.expect( o.indicesTensorName!, unittest.equals('foo'), ); - checkUnnamed102(o.inputBaselines!); + checkUnnamed104(o.inputBaselines!); unittest.expect( o.inputTensorName!, unittest.equals('foo'), @@ -7348,14 +7544,14 @@ core.Map< core.String, api .GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride> - buildUnnamed103() => { + buildUnnamed105() => { 'x': buildGoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride(), 'y': buildGoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride(), }; -void checkUnnamed103( +void checkUnnamed105( core.Map< core.String, api @@ -7374,7 +7570,7 @@ api.GoogleCloudAiplatformV1ExplanationMetadataOverride final o = api.GoogleCloudAiplatformV1ExplanationMetadataOverride(); buildCounterGoogleCloudAiplatformV1ExplanationMetadataOverride++; if (buildCounterGoogleCloudAiplatformV1ExplanationMetadataOverride < 3) { - o.inputs = buildUnnamed103(); + o.inputs = buildUnnamed105(); } buildCounterGoogleCloudAiplatformV1ExplanationMetadataOverride--; return o; @@ -7384,12 +7580,12 @@ void checkGoogleCloudAiplatformV1ExplanationMetadataOverride( api.GoogleCloudAiplatformV1ExplanationMetadataOverride o) { buildCounterGoogleCloudAiplatformV1ExplanationMetadataOverride++; if (buildCounterGoogleCloudAiplatformV1ExplanationMetadataOverride < 3) { - checkUnnamed103(o.inputs!); + checkUnnamed105(o.inputs!); } buildCounterGoogleCloudAiplatformV1ExplanationMetadataOverride--; } -core.List buildUnnamed104() => [ +core.List buildUnnamed106() => [ { 'list': [1, 2, 3], 'bool': true, @@ -7402,7 +7598,7 @@ core.List buildUnnamed104() => [ }, ]; -void checkUnnamed104(core.List o) { +void checkUnnamed106(core.List o) { unittest.expect(o, unittest.hasLength(2)); var casted36 = (o[0]) as core.Map; unittest.expect(casted36, unittest.hasLength(3)); @@ -7444,7 +7640,7 @@ api.GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride buildCounterGoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride++; if (buildCounterGoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride < 3) { - o.inputBaselines = buildUnnamed104(); + o.inputBaselines = buildUnnamed106(); } buildCounterGoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride--; return o; @@ -7456,12 +7652,12 @@ void checkGoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverrid buildCounterGoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride++; if (buildCounterGoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride < 3) { - checkUnnamed104(o.inputBaselines!); + checkUnnamed106(o.inputBaselines!); } buildCounterGoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride--; } -core.List buildUnnamed105() => [ +core.List buildUnnamed107() => [ { 'list': [1, 2, 3], 'bool': true, @@ -7474,7 +7670,7 @@ core.List buildUnnamed105() => [ }, ]; -void checkUnnamed105(core.List o) { +void checkUnnamed107(core.List o) { unittest.expect(o, unittest.hasLength(2)); var casted38 = (o[0]) as core.Map; unittest.expect(casted38, unittest.hasLength(3)); @@ -7515,7 +7711,7 @@ api.GoogleCloudAiplatformV1ExplanationParameters o.examples = buildGoogleCloudAiplatformV1Examples(); o.integratedGradientsAttribution = buildGoogleCloudAiplatformV1IntegratedGradientsAttribution(); - o.outputIndices = buildUnnamed105(); + o.outputIndices = buildUnnamed107(); o.sampledShapleyAttribution = buildGoogleCloudAiplatformV1SampledShapleyAttribution(); o.topK = 42; @@ -7532,7 +7728,7 @@ void checkGoogleCloudAiplatformV1ExplanationParameters( checkGoogleCloudAiplatformV1Examples(o.examples!); checkGoogleCloudAiplatformV1IntegratedGradientsAttribution( o.integratedGradientsAttribution!); - checkUnnamed105(o.outputIndices!); + checkUnnamed107(o.outputIndices!); checkGoogleCloudAiplatformV1SampledShapleyAttribution( o.sampledShapleyAttribution!); unittest.expect( @@ -7659,12 +7855,12 @@ void checkGoogleCloudAiplatformV1ExportDataRequest( } core.List - buildUnnamed106() => [ + buildUnnamed108() => [ buildGoogleCloudAiplatformV1DestinationFeatureSetting(), buildGoogleCloudAiplatformV1DestinationFeatureSetting(), ]; -void checkUnnamed106( +void checkUnnamed108( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1DestinationFeatureSetting(o[0]); @@ -7681,7 +7877,7 @@ api.GoogleCloudAiplatformV1ExportFeatureValuesRequest o.featureSelector = buildGoogleCloudAiplatformV1FeatureSelector(); o.fullExport = buildGoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport(); - o.settings = buildUnnamed106(); + o.settings = buildUnnamed108(); o.snapshotExport = buildGoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport(); } @@ -7697,7 +7893,7 @@ void checkGoogleCloudAiplatformV1ExportFeatureValuesRequest( checkGoogleCloudAiplatformV1FeatureSelector(o.featureSelector!); checkGoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport( o.fullExport!); - checkUnnamed106(o.settings!); + checkUnnamed108(o.settings!); checkGoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport( o.snapshotExport!); } @@ -7933,12 +8129,12 @@ void checkGoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest( buildCounterGoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest--; } -core.List buildUnnamed107() => [ +core.List buildUnnamed109() => [ buildGoogleCloudAiplatformV1TimeSeriesDataPoint(), buildGoogleCloudAiplatformV1TimeSeriesDataPoint(), ]; -void checkUnnamed107( +void checkUnnamed109( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1TimeSeriesDataPoint(o[0]); @@ -7956,7 +8152,7 @@ api.GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse if (buildCounterGoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse < 3) { o.nextPageToken = 'foo'; - o.timeSeriesDataPoints = buildUnnamed107(); + o.timeSeriesDataPoints = buildUnnamed109(); } buildCounterGoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse--; return o; @@ -7971,7 +8167,7 @@ void checkGoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed107(o.timeSeriesDataPoints!); + checkUnnamed109(o.timeSeriesDataPoints!); } buildCounterGoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse--; } @@ -8044,12 +8240,12 @@ void checkGoogleCloudAiplatformV1FasterDeploymentConfig( buildCounterGoogleCloudAiplatformV1FasterDeploymentConfig--; } -core.Map buildUnnamed108() => { +core.Map buildUnnamed110() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed108(core.Map o) { +void checkUnnamed110(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -8062,12 +8258,12 @@ void checkUnnamed108(core.Map o) { } core.List - buildUnnamed109() => [ + buildUnnamed111() => [ buildGoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly(), buildGoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly(), ]; -void checkUnnamed109( +void checkUnnamed111( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly(o[0]); @@ -8083,8 +8279,8 @@ api.GoogleCloudAiplatformV1Feature buildGoogleCloudAiplatformV1Feature() { o.description = 'foo'; o.disableMonitoring = true; o.etag = 'foo'; - o.labels = buildUnnamed108(); - o.monitoringStatsAnomalies = buildUnnamed109(); + o.labels = buildUnnamed110(); + o.monitoringStatsAnomalies = buildUnnamed111(); o.name = 'foo'; o.pointOfContact = 'foo'; o.updateTime = 'foo'; @@ -8111,8 +8307,8 @@ void checkGoogleCloudAiplatformV1Feature(api.GoogleCloudAiplatformV1Feature o) { o.etag!, unittest.equals('foo'), ); - checkUnnamed108(o.labels!); - checkUnnamed109(o.monitoringStatsAnomalies!); + checkUnnamed110(o.labels!); + checkUnnamed111(o.monitoringStatsAnomalies!); unittest.expect( o.name!, unittest.equals('foo'), @@ -8137,12 +8333,12 @@ void checkGoogleCloudAiplatformV1Feature(api.GoogleCloudAiplatformV1Feature o) { buildCounterGoogleCloudAiplatformV1Feature--; } -core.Map buildUnnamed110() => { +core.Map buildUnnamed112() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed110(core.Map o) { +void checkUnnamed112(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -8164,7 +8360,7 @@ api.GoogleCloudAiplatformV1FeatureGroup o.createTime = 'foo'; o.description = 'foo'; o.etag = 'foo'; - o.labels = buildUnnamed110(); + o.labels = buildUnnamed112(); o.name = 'foo'; o.updateTime = 'foo'; } @@ -8189,7 +8385,7 @@ void checkGoogleCloudAiplatformV1FeatureGroup( o.etag!, unittest.equals('foo'), ); - checkUnnamed110(o.labels!); + checkUnnamed112(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -8202,12 +8398,12 @@ void checkGoogleCloudAiplatformV1FeatureGroup( buildCounterGoogleCloudAiplatformV1FeatureGroup--; } -core.List buildUnnamed111() => [ +core.List buildUnnamed113() => [ 'foo', 'foo', ]; -void checkUnnamed111(core.List o) { +void checkUnnamed113(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8227,7 +8423,7 @@ api.GoogleCloudAiplatformV1FeatureGroupBigQuery if (buildCounterGoogleCloudAiplatformV1FeatureGroupBigQuery < 3) { o.bigQuerySource = buildGoogleCloudAiplatformV1BigQuerySource(); o.dense = true; - o.entityIdColumns = buildUnnamed111(); + o.entityIdColumns = buildUnnamed113(); o.staticDataSource = true; o.timeSeries = buildGoogleCloudAiplatformV1FeatureGroupBigQueryTimeSeries(); } @@ -8241,7 +8437,7 @@ void checkGoogleCloudAiplatformV1FeatureGroupBigQuery( if (buildCounterGoogleCloudAiplatformV1FeatureGroupBigQuery < 3) { checkGoogleCloudAiplatformV1BigQuerySource(o.bigQuerySource!); unittest.expect(o.dense!, unittest.isTrue); - checkUnnamed111(o.entityIdColumns!); + checkUnnamed113(o.entityIdColumns!); unittest.expect(o.staticDataSource!, unittest.isTrue); checkGoogleCloudAiplatformV1FeatureGroupBigQueryTimeSeries(o.timeSeries!); } @@ -8299,12 +8495,12 @@ void checkGoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly( } core.List - buildUnnamed112() => [ + buildUnnamed114() => [ buildGoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature(), buildGoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature(), ]; -void checkUnnamed112( +void checkUnnamed114( core.List o) { unittest.expect(o, unittest.hasLength(2)); @@ -8318,7 +8514,7 @@ api.GoogleCloudAiplatformV1FeatureNoiseSigma final o = api.GoogleCloudAiplatformV1FeatureNoiseSigma(); buildCounterGoogleCloudAiplatformV1FeatureNoiseSigma++; if (buildCounterGoogleCloudAiplatformV1FeatureNoiseSigma < 3) { - o.noiseSigma = buildUnnamed112(); + o.noiseSigma = buildUnnamed114(); } buildCounterGoogleCloudAiplatformV1FeatureNoiseSigma--; return o; @@ -8328,7 +8524,7 @@ void checkGoogleCloudAiplatformV1FeatureNoiseSigma( api.GoogleCloudAiplatformV1FeatureNoiseSigma o) { buildCounterGoogleCloudAiplatformV1FeatureNoiseSigma++; if (buildCounterGoogleCloudAiplatformV1FeatureNoiseSigma < 3) { - checkUnnamed112(o.noiseSigma!); + checkUnnamed114(o.noiseSigma!); } buildCounterGoogleCloudAiplatformV1FeatureNoiseSigma--; } @@ -8366,12 +8562,12 @@ void checkGoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature( buildCounterGoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature--; } -core.Map buildUnnamed113() => { +core.Map buildUnnamed115() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed113(core.Map o) { +void checkUnnamed115(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -8395,7 +8591,7 @@ api.GoogleCloudAiplatformV1FeatureOnlineStore buildGoogleCloudAiplatformV1FeatureOnlineStoreDedicatedServingEndpoint(); o.encryptionSpec = buildGoogleCloudAiplatformV1EncryptionSpec(); o.etag = 'foo'; - o.labels = buildUnnamed113(); + o.labels = buildUnnamed115(); o.name = 'foo'; o.optimized = buildGoogleCloudAiplatformV1FeatureOnlineStoreOptimized(); o.satisfiesPzi = true; @@ -8423,7 +8619,7 @@ void checkGoogleCloudAiplatformV1FeatureOnlineStore( o.etag!, unittest.equals('foo'), ); - checkUnnamed113(o.labels!); + checkUnnamed115(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -8712,12 +8908,12 @@ void checkGoogleCloudAiplatformV1FeatureValueDestination( buildCounterGoogleCloudAiplatformV1FeatureValueDestination--; } -core.List buildUnnamed114() => [ +core.List buildUnnamed116() => [ buildGoogleCloudAiplatformV1FeatureValue(), buildGoogleCloudAiplatformV1FeatureValue(), ]; -void checkUnnamed114(core.List o) { +void checkUnnamed116(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1FeatureValue(o[0]); checkGoogleCloudAiplatformV1FeatureValue(o[1]); @@ -8729,7 +8925,7 @@ api.GoogleCloudAiplatformV1FeatureValueList final o = api.GoogleCloudAiplatformV1FeatureValueList(); buildCounterGoogleCloudAiplatformV1FeatureValueList++; if (buildCounterGoogleCloudAiplatformV1FeatureValueList < 3) { - o.values = buildUnnamed114(); + o.values = buildUnnamed116(); } buildCounterGoogleCloudAiplatformV1FeatureValueList--; return o; @@ -8739,7 +8935,7 @@ void checkGoogleCloudAiplatformV1FeatureValueList( api.GoogleCloudAiplatformV1FeatureValueList o) { buildCounterGoogleCloudAiplatformV1FeatureValueList++; if (buildCounterGoogleCloudAiplatformV1FeatureValueList < 3) { - checkUnnamed114(o.values!); + checkUnnamed116(o.values!); } buildCounterGoogleCloudAiplatformV1FeatureValueList--; } @@ -8768,12 +8964,12 @@ void checkGoogleCloudAiplatformV1FeatureValueMetadata( buildCounterGoogleCloudAiplatformV1FeatureValueMetadata--; } -core.Map buildUnnamed115() => { +core.Map buildUnnamed117() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed115(core.Map o) { +void checkUnnamed117(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -8797,12 +8993,14 @@ api.GoogleCloudAiplatformV1FeatureView o.featureRegistrySource = buildGoogleCloudAiplatformV1FeatureViewFeatureRegistrySource(); o.indexConfig = buildGoogleCloudAiplatformV1FeatureViewIndexConfig(); - o.labels = buildUnnamed115(); + o.labels = buildUnnamed117(); o.name = 'foo'; o.optimizedConfig = buildGoogleCloudAiplatformV1FeatureViewOptimizedConfig(); o.satisfiesPzi = true; o.satisfiesPzs = true; + o.serviceAccountEmail = 'foo'; + o.serviceAgentType = 'foo'; o.syncConfig = buildGoogleCloudAiplatformV1FeatureViewSyncConfig(); o.updateTime = 'foo'; o.vertexRagSource = @@ -8828,7 +9026,7 @@ void checkGoogleCloudAiplatformV1FeatureView( checkGoogleCloudAiplatformV1FeatureViewFeatureRegistrySource( o.featureRegistrySource!); checkGoogleCloudAiplatformV1FeatureViewIndexConfig(o.indexConfig!); - checkUnnamed115(o.labels!); + checkUnnamed117(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -8836,6 +9034,14 @@ void checkGoogleCloudAiplatformV1FeatureView( checkGoogleCloudAiplatformV1FeatureViewOptimizedConfig(o.optimizedConfig!); unittest.expect(o.satisfiesPzi!, unittest.isTrue); unittest.expect(o.satisfiesPzs!, unittest.isTrue); + unittest.expect( + o.serviceAccountEmail!, + unittest.equals('foo'), + ); + unittest.expect( + o.serviceAgentType!, + unittest.equals('foo'), + ); checkGoogleCloudAiplatformV1FeatureViewSyncConfig(o.syncConfig!); unittest.expect( o.updateTime!, @@ -8846,12 +9052,12 @@ void checkGoogleCloudAiplatformV1FeatureView( buildCounterGoogleCloudAiplatformV1FeatureView--; } -core.List buildUnnamed116() => [ +core.List buildUnnamed118() => [ 'foo', 'foo', ]; -void checkUnnamed116(core.List o) { +void checkUnnamed118(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8869,7 +9075,7 @@ api.GoogleCloudAiplatformV1FeatureViewBigQuerySource final o = api.GoogleCloudAiplatformV1FeatureViewBigQuerySource(); buildCounterGoogleCloudAiplatformV1FeatureViewBigQuerySource++; if (buildCounterGoogleCloudAiplatformV1FeatureViewBigQuerySource < 3) { - o.entityIdColumns = buildUnnamed116(); + o.entityIdColumns = buildUnnamed118(); o.uri = 'foo'; } buildCounterGoogleCloudAiplatformV1FeatureViewBigQuerySource--; @@ -8880,7 +9086,7 @@ void checkGoogleCloudAiplatformV1FeatureViewBigQuerySource( api.GoogleCloudAiplatformV1FeatureViewBigQuerySource o) { buildCounterGoogleCloudAiplatformV1FeatureViewBigQuerySource++; if (buildCounterGoogleCloudAiplatformV1FeatureViewBigQuerySource < 3) { - checkUnnamed116(o.entityIdColumns!); + checkUnnamed118(o.entityIdColumns!); unittest.expect( o.uri!, unittest.equals('foo'), @@ -8916,12 +9122,12 @@ void checkGoogleCloudAiplatformV1FeatureViewDataKey( buildCounterGoogleCloudAiplatformV1FeatureViewDataKey--; } -core.List buildUnnamed117() => [ +core.List buildUnnamed119() => [ 'foo', 'foo', ]; -void checkUnnamed117(core.List o) { +void checkUnnamed119(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8939,7 +9145,7 @@ api.GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey final o = api.GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey(); buildCounterGoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey++; if (buildCounterGoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey < 3) { - o.parts = buildUnnamed117(); + o.parts = buildUnnamed119(); } buildCounterGoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey--; return o; @@ -8949,19 +9155,19 @@ void checkGoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey( api.GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey o) { buildCounterGoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey++; if (buildCounterGoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey < 3) { - checkUnnamed117(o.parts!); + checkUnnamed119(o.parts!); } buildCounterGoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey--; } core.List< api.GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup> - buildUnnamed118() => [ + buildUnnamed120() => [ buildGoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup(), buildGoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup(), ]; -void checkUnnamed118( +void checkUnnamed120( core.List< api .GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup> @@ -8980,7 +9186,7 @@ api.GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource final o = api.GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource(); buildCounterGoogleCloudAiplatformV1FeatureViewFeatureRegistrySource++; if (buildCounterGoogleCloudAiplatformV1FeatureViewFeatureRegistrySource < 3) { - o.featureGroups = buildUnnamed118(); + o.featureGroups = buildUnnamed120(); o.projectNumber = 'foo'; } buildCounterGoogleCloudAiplatformV1FeatureViewFeatureRegistrySource--; @@ -8991,7 +9197,7 @@ void checkGoogleCloudAiplatformV1FeatureViewFeatureRegistrySource( api.GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource o) { buildCounterGoogleCloudAiplatformV1FeatureViewFeatureRegistrySource++; if (buildCounterGoogleCloudAiplatformV1FeatureViewFeatureRegistrySource < 3) { - checkUnnamed118(o.featureGroups!); + checkUnnamed120(o.featureGroups!); unittest.expect( o.projectNumber!, unittest.equals('foo'), @@ -9000,12 +9206,12 @@ void checkGoogleCloudAiplatformV1FeatureViewFeatureRegistrySource( buildCounterGoogleCloudAiplatformV1FeatureViewFeatureRegistrySource--; } -core.List buildUnnamed119() => [ +core.List buildUnnamed121() => [ 'foo', 'foo', ]; -void checkUnnamed119(core.List o) { +void checkUnnamed121(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9028,7 +9234,7 @@ api.GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup if (buildCounterGoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup < 3) { o.featureGroupId = 'foo'; - o.featureIds = buildUnnamed119(); + o.featureIds = buildUnnamed121(); } buildCounterGoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup--; return o; @@ -9043,17 +9249,17 @@ void checkGoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup( o.featureGroupId!, unittest.equals('foo'), ); - checkUnnamed119(o.featureIds!); + checkUnnamed121(o.featureIds!); } buildCounterGoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup--; } -core.List buildUnnamed120() => [ +core.List buildUnnamed122() => [ 'foo', 'foo', ]; -void checkUnnamed120(core.List o) { +void checkUnnamed122(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9077,7 +9283,7 @@ api.GoogleCloudAiplatformV1FeatureViewIndexConfig o.distanceMeasureType = 'foo'; o.embeddingColumn = 'foo'; o.embeddingDimension = 42; - o.filterColumns = buildUnnamed120(); + o.filterColumns = buildUnnamed122(); o.treeAhConfig = buildGoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig(); } @@ -9107,7 +9313,7 @@ void checkGoogleCloudAiplatformV1FeatureViewIndexConfig( o.embeddingDimension!, unittest.equals(42), ); - checkUnnamed120(o.filterColumns!); + checkUnnamed122(o.filterColumns!); checkGoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig( o.treeAhConfig!); } @@ -9311,12 +9517,12 @@ void checkGoogleCloudAiplatformV1FeatureViewVertexRagSource( buildCounterGoogleCloudAiplatformV1FeatureViewVertexRagSource--; } -core.Map buildUnnamed121() => { +core.Map buildUnnamed123() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed121(core.Map o) { +void checkUnnamed123(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -9337,7 +9543,7 @@ api.GoogleCloudAiplatformV1Featurestore o.createTime = 'foo'; o.encryptionSpec = buildGoogleCloudAiplatformV1EncryptionSpec(); o.etag = 'foo'; - o.labels = buildUnnamed121(); + o.labels = buildUnnamed123(); o.name = 'foo'; o.onlineServingConfig = buildGoogleCloudAiplatformV1FeaturestoreOnlineServingConfig(); @@ -9364,7 +9570,7 @@ void checkGoogleCloudAiplatformV1Featurestore( o.etag!, unittest.equals('foo'), ); - checkUnnamed121(o.labels!); + checkUnnamed123(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -9616,7 +9822,7 @@ void checkGoogleCloudAiplatformV1FetchFeatureValuesRequest( buildCounterGoogleCloudAiplatformV1FetchFeatureValuesRequest--; } -core.Map buildUnnamed122() => { +core.Map buildUnnamed124() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -9629,7 +9835,7 @@ core.Map buildUnnamed122() => { }, }; -void checkUnnamed122(core.Map o) { +void checkUnnamed124(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted40 = (o['x']!) as core.Map; unittest.expect(casted40, unittest.hasLength(3)); @@ -9670,7 +9876,7 @@ api.GoogleCloudAiplatformV1FetchFeatureValuesResponse o.dataKey = buildGoogleCloudAiplatformV1FeatureViewDataKey(); o.keyValues = buildGoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList(); - o.protoStruct = buildUnnamed122(); + o.protoStruct = buildUnnamed124(); } buildCounterGoogleCloudAiplatformV1FetchFeatureValuesResponse--; return o; @@ -9683,7 +9889,7 @@ void checkGoogleCloudAiplatformV1FetchFeatureValuesResponse( checkGoogleCloudAiplatformV1FeatureViewDataKey(o.dataKey!); checkGoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList( o.keyValues!); - checkUnnamed122(o.protoStruct!); + checkUnnamed124(o.protoStruct!); } buildCounterGoogleCloudAiplatformV1FetchFeatureValuesResponse--; } @@ -9691,12 +9897,12 @@ void checkGoogleCloudAiplatformV1FetchFeatureValuesResponse( core.List< api .GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair> - buildUnnamed123() => [ + buildUnnamed125() => [ buildGoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair(), buildGoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair(), ]; -void checkUnnamed123( +void checkUnnamed125( core.List< api .GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair> @@ -9718,7 +9924,7 @@ api.GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList buildCounterGoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList++; if (buildCounterGoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList < 3) { - o.features = buildUnnamed123(); + o.features = buildUnnamed125(); } buildCounterGoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList--; return o; @@ -9730,7 +9936,7 @@ void checkGoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairL buildCounterGoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList++; if (buildCounterGoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList < 3) { - checkUnnamed123(o.features!); + checkUnnamed125(o.features!); } buildCounterGoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList--; } @@ -9796,6 +10002,7 @@ api.GoogleCloudAiplatformV1FileData buildGoogleCloudAiplatformV1FileData() { final o = api.GoogleCloudAiplatformV1FileData(); buildCounterGoogleCloudAiplatformV1FileData++; if (buildCounterGoogleCloudAiplatformV1FileData < 3) { + o.displayName = 'foo'; o.fileUri = 'foo'; o.mimeType = 'foo'; } @@ -9807,6 +10014,10 @@ void checkGoogleCloudAiplatformV1FileData( api.GoogleCloudAiplatformV1FileData o) { buildCounterGoogleCloudAiplatformV1FileData++; if (buildCounterGoogleCloudAiplatformV1FileData < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); unittest.expect( o.fileUri!, unittest.equals('foo'), @@ -9882,12 +10093,12 @@ void checkGoogleCloudAiplatformV1FilterSplit( } core.List - buildUnnamed124() => [ + buildUnnamed126() => [ buildGoogleCloudAiplatformV1FindNeighborsRequestQuery(), buildGoogleCloudAiplatformV1FindNeighborsRequestQuery(), ]; -void checkUnnamed124( +void checkUnnamed126( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1FindNeighborsRequestQuery(o[0]); @@ -9901,7 +10112,7 @@ api.GoogleCloudAiplatformV1FindNeighborsRequest buildCounterGoogleCloudAiplatformV1FindNeighborsRequest++; if (buildCounterGoogleCloudAiplatformV1FindNeighborsRequest < 3) { o.deployedIndexId = 'foo'; - o.queries = buildUnnamed124(); + o.queries = buildUnnamed126(); o.returnFullDatapoint = true; } buildCounterGoogleCloudAiplatformV1FindNeighborsRequest--; @@ -9916,7 +10127,7 @@ void checkGoogleCloudAiplatformV1FindNeighborsRequest( o.deployedIndexId!, unittest.equals('foo'), ); - checkUnnamed124(o.queries!); + checkUnnamed126(o.queries!); unittest.expect(o.returnFullDatapoint!, unittest.isTrue); } buildCounterGoogleCloudAiplatformV1FindNeighborsRequest--; @@ -9990,12 +10201,12 @@ void checkGoogleCloudAiplatformV1FindNeighborsRequestQueryRRF( } core.List - buildUnnamed125() => [ + buildUnnamed127() => [ buildGoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors(), buildGoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors(), ]; -void checkUnnamed125( +void checkUnnamed127( core.List o) { unittest.expect(o, unittest.hasLength(2)); @@ -10009,7 +10220,7 @@ api.GoogleCloudAiplatformV1FindNeighborsResponse final o = api.GoogleCloudAiplatformV1FindNeighborsResponse(); buildCounterGoogleCloudAiplatformV1FindNeighborsResponse++; if (buildCounterGoogleCloudAiplatformV1FindNeighborsResponse < 3) { - o.nearestNeighbors = buildUnnamed125(); + o.nearestNeighbors = buildUnnamed127(); } buildCounterGoogleCloudAiplatformV1FindNeighborsResponse--; return o; @@ -10019,18 +10230,18 @@ void checkGoogleCloudAiplatformV1FindNeighborsResponse( api.GoogleCloudAiplatformV1FindNeighborsResponse o) { buildCounterGoogleCloudAiplatformV1FindNeighborsResponse++; if (buildCounterGoogleCloudAiplatformV1FindNeighborsResponse < 3) { - checkUnnamed125(o.nearestNeighbors!); + checkUnnamed127(o.nearestNeighbors!); } buildCounterGoogleCloudAiplatformV1FindNeighborsResponse--; } core.List - buildUnnamed126() => [ + buildUnnamed128() => [ buildGoogleCloudAiplatformV1FindNeighborsResponseNeighbor(), buildGoogleCloudAiplatformV1FindNeighborsResponseNeighbor(), ]; -void checkUnnamed126( +void checkUnnamed128( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1FindNeighborsResponseNeighbor(o[0]); @@ -10047,7 +10258,7 @@ api.GoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors if (buildCounterGoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors < 3) { o.id = 'foo'; - o.neighbors = buildUnnamed126(); + o.neighbors = buildUnnamed128(); } buildCounterGoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors--; return o; @@ -10062,7 +10273,7 @@ void checkGoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors( o.id!, unittest.equals('foo'), ); - checkUnnamed126(o.neighbors!); + checkUnnamed128(o.neighbors!); } buildCounterGoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors--; } @@ -10347,7 +10558,7 @@ void checkGoogleCloudAiplatformV1FulfillmentSpec( buildCounterGoogleCloudAiplatformV1FulfillmentSpec--; } -core.Map buildUnnamed127() => { +core.Map buildUnnamed129() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -10360,7 +10571,7 @@ core.Map buildUnnamed127() => { }, }; -void checkUnnamed127(core.Map o) { +void checkUnnamed129(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted42 = (o['x']!) as core.Map; unittest.expect(casted42, unittest.hasLength(3)); @@ -10398,7 +10609,7 @@ api.GoogleCloudAiplatformV1FunctionCall final o = api.GoogleCloudAiplatformV1FunctionCall(); buildCounterGoogleCloudAiplatformV1FunctionCall++; if (buildCounterGoogleCloudAiplatformV1FunctionCall < 3) { - o.args = buildUnnamed127(); + o.args = buildUnnamed129(); o.name = 'foo'; } buildCounterGoogleCloudAiplatformV1FunctionCall--; @@ -10409,7 +10620,7 @@ void checkGoogleCloudAiplatformV1FunctionCall( api.GoogleCloudAiplatformV1FunctionCall o) { buildCounterGoogleCloudAiplatformV1FunctionCall++; if (buildCounterGoogleCloudAiplatformV1FunctionCall < 3) { - checkUnnamed127(o.args!); + checkUnnamed129(o.args!); unittest.expect( o.name!, unittest.equals('foo'), @@ -10418,12 +10629,12 @@ void checkGoogleCloudAiplatformV1FunctionCall( buildCounterGoogleCloudAiplatformV1FunctionCall--; } -core.List buildUnnamed128() => [ +core.List buildUnnamed130() => [ 'foo', 'foo', ]; -void checkUnnamed128(core.List o) { +void checkUnnamed130(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10441,7 +10652,7 @@ api.GoogleCloudAiplatformV1FunctionCallingConfig final o = api.GoogleCloudAiplatformV1FunctionCallingConfig(); buildCounterGoogleCloudAiplatformV1FunctionCallingConfig++; if (buildCounterGoogleCloudAiplatformV1FunctionCallingConfig < 3) { - o.allowedFunctionNames = buildUnnamed128(); + o.allowedFunctionNames = buildUnnamed130(); o.mode = 'foo'; } buildCounterGoogleCloudAiplatformV1FunctionCallingConfig--; @@ -10452,7 +10663,7 @@ void checkGoogleCloudAiplatformV1FunctionCallingConfig( api.GoogleCloudAiplatformV1FunctionCallingConfig o) { buildCounterGoogleCloudAiplatformV1FunctionCallingConfig++; if (buildCounterGoogleCloudAiplatformV1FunctionCallingConfig < 3) { - checkUnnamed128(o.allowedFunctionNames!); + checkUnnamed130(o.allowedFunctionNames!); unittest.expect( o.mode!, unittest.equals('foo'), @@ -10494,7 +10705,7 @@ void checkGoogleCloudAiplatformV1FunctionDeclaration( buildCounterGoogleCloudAiplatformV1FunctionDeclaration--; } -core.Map buildUnnamed129() => { +core.Map buildUnnamed131() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -10507,7 +10718,7 @@ core.Map buildUnnamed129() => { }, }; -void checkUnnamed129(core.Map o) { +void checkUnnamed131(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted44 = (o['x']!) as core.Map; unittest.expect(casted44, unittest.hasLength(3)); @@ -10546,7 +10757,7 @@ api.GoogleCloudAiplatformV1FunctionResponse buildCounterGoogleCloudAiplatformV1FunctionResponse++; if (buildCounterGoogleCloudAiplatformV1FunctionResponse < 3) { o.name = 'foo'; - o.response = buildUnnamed129(); + o.response = buildUnnamed131(); } buildCounterGoogleCloudAiplatformV1FunctionResponse--; return o; @@ -10560,7 +10771,7 @@ void checkGoogleCloudAiplatformV1FunctionResponse( o.name!, unittest.equals('foo'), ); - checkUnnamed129(o.response!); + checkUnnamed131(o.response!); } buildCounterGoogleCloudAiplatformV1FunctionResponse--; } @@ -10589,12 +10800,12 @@ void checkGoogleCloudAiplatformV1GcsDestination( buildCounterGoogleCloudAiplatformV1GcsDestination--; } -core.List buildUnnamed130() => [ +core.List buildUnnamed132() => [ 'foo', 'foo', ]; -void checkUnnamed130(core.List o) { +void checkUnnamed132(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10611,7 +10822,7 @@ api.GoogleCloudAiplatformV1GcsSource buildGoogleCloudAiplatformV1GcsSource() { final o = api.GoogleCloudAiplatformV1GcsSource(); buildCounterGoogleCloudAiplatformV1GcsSource++; if (buildCounterGoogleCloudAiplatformV1GcsSource < 3) { - o.uris = buildUnnamed130(); + o.uris = buildUnnamed132(); } buildCounterGoogleCloudAiplatformV1GcsSource--; return o; @@ -10621,28 +10832,75 @@ void checkGoogleCloudAiplatformV1GcsSource( api.GoogleCloudAiplatformV1GcsSource o) { buildCounterGoogleCloudAiplatformV1GcsSource++; if (buildCounterGoogleCloudAiplatformV1GcsSource < 3) { - checkUnnamed130(o.uris!); + checkUnnamed132(o.uris!); } buildCounterGoogleCloudAiplatformV1GcsSource--; } -core.List buildUnnamed131() => [ +core.int buildCounterGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig = 0; +api.GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig + buildGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig() { + final o = api.GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig(); + buildCounterGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig++; + if (buildCounterGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig < 3) { + o.ragConfig = + buildGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig(); + } + buildCounterGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig--; + return o; +} + +void checkGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig( + api.GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig o) { + buildCounterGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig++; + if (buildCounterGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig < 3) { + checkGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig( + o.ragConfig!); + } + buildCounterGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig--; +} + +core.int + buildCounterGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig = 0; +api.GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig + buildGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig() { + final o = api.GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig(); + buildCounterGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig++; + if (buildCounterGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig < + 3) { + o.enableRag = true; + } + buildCounterGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig--; + return o; +} + +void checkGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig( + api.GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig o) { + buildCounterGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig++; + if (buildCounterGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig < + 3) { + unittest.expect(o.enableRag!, unittest.isTrue); + } + buildCounterGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig--; +} + +core.List buildUnnamed133() => [ buildGoogleCloudAiplatformV1Content(), buildGoogleCloudAiplatformV1Content(), ]; -void checkUnnamed131(core.List o) { +void checkUnnamed133(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Content(o[0]); checkGoogleCloudAiplatformV1Content(o[1]); } -core.Map buildUnnamed132() => { +core.Map buildUnnamed134() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed132(core.Map o) { +void checkUnnamed134(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -10654,23 +10912,23 @@ void checkUnnamed132(core.Map o) { ); } -core.List buildUnnamed133() => [ +core.List buildUnnamed135() => [ buildGoogleCloudAiplatformV1SafetySetting(), buildGoogleCloudAiplatformV1SafetySetting(), ]; -void checkUnnamed133(core.List o) { +void checkUnnamed135(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1SafetySetting(o[0]); checkGoogleCloudAiplatformV1SafetySetting(o[1]); } -core.List buildUnnamed134() => [ +core.List buildUnnamed136() => [ buildGoogleCloudAiplatformV1Tool(), buildGoogleCloudAiplatformV1Tool(), ]; -void checkUnnamed134(core.List o) { +void checkUnnamed136(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Tool(o[0]); checkGoogleCloudAiplatformV1Tool(o[1]); @@ -10683,13 +10941,13 @@ api.GoogleCloudAiplatformV1GenerateContentRequest buildCounterGoogleCloudAiplatformV1GenerateContentRequest++; if (buildCounterGoogleCloudAiplatformV1GenerateContentRequest < 3) { o.cachedContent = 'foo'; - o.contents = buildUnnamed131(); + o.contents = buildUnnamed133(); o.generationConfig = buildGoogleCloudAiplatformV1GenerationConfig(); - o.labels = buildUnnamed132(); - o.safetySettings = buildUnnamed133(); + o.labels = buildUnnamed134(); + o.safetySettings = buildUnnamed135(); o.systemInstruction = buildGoogleCloudAiplatformV1Content(); o.toolConfig = buildGoogleCloudAiplatformV1ToolConfig(); - o.tools = buildUnnamed134(); + o.tools = buildUnnamed136(); } buildCounterGoogleCloudAiplatformV1GenerateContentRequest--; return o; @@ -10703,23 +10961,23 @@ void checkGoogleCloudAiplatformV1GenerateContentRequest( o.cachedContent!, unittest.equals('foo'), ); - checkUnnamed131(o.contents!); + checkUnnamed133(o.contents!); checkGoogleCloudAiplatformV1GenerationConfig(o.generationConfig!); - checkUnnamed132(o.labels!); - checkUnnamed133(o.safetySettings!); + checkUnnamed134(o.labels!); + checkUnnamed135(o.safetySettings!); checkGoogleCloudAiplatformV1Content(o.systemInstruction!); checkGoogleCloudAiplatformV1ToolConfig(o.toolConfig!); - checkUnnamed134(o.tools!); + checkUnnamed136(o.tools!); } buildCounterGoogleCloudAiplatformV1GenerateContentRequest--; } -core.List buildUnnamed135() => [ +core.List buildUnnamed137() => [ buildGoogleCloudAiplatformV1Candidate(), buildGoogleCloudAiplatformV1Candidate(), ]; -void checkUnnamed135(core.List o) { +void checkUnnamed137(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Candidate(o[0]); checkGoogleCloudAiplatformV1Candidate(o[1]); @@ -10731,10 +10989,12 @@ api.GoogleCloudAiplatformV1GenerateContentResponse final o = api.GoogleCloudAiplatformV1GenerateContentResponse(); buildCounterGoogleCloudAiplatformV1GenerateContentResponse++; if (buildCounterGoogleCloudAiplatformV1GenerateContentResponse < 3) { - o.candidates = buildUnnamed135(); + o.candidates = buildUnnamed137(); + o.createTime = 'foo'; o.modelVersion = 'foo'; o.promptFeedback = buildGoogleCloudAiplatformV1GenerateContentResponsePromptFeedback(); + o.responseId = 'foo'; o.usageMetadata = buildGoogleCloudAiplatformV1GenerateContentResponseUsageMetadata(); } @@ -10746,25 +11006,33 @@ void checkGoogleCloudAiplatformV1GenerateContentResponse( api.GoogleCloudAiplatformV1GenerateContentResponse o) { buildCounterGoogleCloudAiplatformV1GenerateContentResponse++; if (buildCounterGoogleCloudAiplatformV1GenerateContentResponse < 3) { - checkUnnamed135(o.candidates!); + checkUnnamed137(o.candidates!); + unittest.expect( + o.createTime!, + unittest.equals('foo'), + ); unittest.expect( o.modelVersion!, unittest.equals('foo'), ); checkGoogleCloudAiplatformV1GenerateContentResponsePromptFeedback( o.promptFeedback!); + unittest.expect( + o.responseId!, + unittest.equals('foo'), + ); checkGoogleCloudAiplatformV1GenerateContentResponseUsageMetadata( o.usageMetadata!); } buildCounterGoogleCloudAiplatformV1GenerateContentResponse--; } -core.List buildUnnamed136() => [ +core.List buildUnnamed138() => [ buildGoogleCloudAiplatformV1SafetyRating(), buildGoogleCloudAiplatformV1SafetyRating(), ]; -void checkUnnamed136(core.List o) { +void checkUnnamed138(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1SafetyRating(o[0]); checkGoogleCloudAiplatformV1SafetyRating(o[1]); @@ -10781,7 +11049,7 @@ api.GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback 3) { o.blockReason = 'foo'; o.blockReasonMessage = 'foo'; - o.safetyRatings = buildUnnamed136(); + o.safetyRatings = buildUnnamed138(); } buildCounterGoogleCloudAiplatformV1GenerateContentResponsePromptFeedback--; return o; @@ -10800,11 +11068,59 @@ void checkGoogleCloudAiplatformV1GenerateContentResponsePromptFeedback( o.blockReasonMessage!, unittest.equals('foo'), ); - checkUnnamed136(o.safetyRatings!); + checkUnnamed138(o.safetyRatings!); } buildCounterGoogleCloudAiplatformV1GenerateContentResponsePromptFeedback--; } +core.List buildUnnamed139() => [ + buildGoogleCloudAiplatformV1ModalityTokenCount(), + buildGoogleCloudAiplatformV1ModalityTokenCount(), + ]; + +void checkUnnamed139( + core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudAiplatformV1ModalityTokenCount(o[0]); + checkGoogleCloudAiplatformV1ModalityTokenCount(o[1]); +} + +core.List buildUnnamed140() => [ + buildGoogleCloudAiplatformV1ModalityTokenCount(), + buildGoogleCloudAiplatformV1ModalityTokenCount(), + ]; + +void checkUnnamed140( + core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudAiplatformV1ModalityTokenCount(o[0]); + checkGoogleCloudAiplatformV1ModalityTokenCount(o[1]); +} + +core.List buildUnnamed141() => [ + buildGoogleCloudAiplatformV1ModalityTokenCount(), + buildGoogleCloudAiplatformV1ModalityTokenCount(), + ]; + +void checkUnnamed141( + core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudAiplatformV1ModalityTokenCount(o[0]); + checkGoogleCloudAiplatformV1ModalityTokenCount(o[1]); +} + +core.List buildUnnamed142() => [ + buildGoogleCloudAiplatformV1ModalityTokenCount(), + buildGoogleCloudAiplatformV1ModalityTokenCount(), + ]; + +void checkUnnamed142( + core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudAiplatformV1ModalityTokenCount(o[0]); + checkGoogleCloudAiplatformV1ModalityTokenCount(o[1]); +} + core.int buildCounterGoogleCloudAiplatformV1GenerateContentResponseUsageMetadata = 0; api.GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata @@ -10813,9 +11129,14 @@ api.GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata buildCounterGoogleCloudAiplatformV1GenerateContentResponseUsageMetadata++; if (buildCounterGoogleCloudAiplatformV1GenerateContentResponseUsageMetadata < 3) { + o.cacheTokensDetails = buildUnnamed139(); o.cachedContentTokenCount = 42; o.candidatesTokenCount = 42; + o.candidatesTokensDetails = buildUnnamed140(); o.promptTokenCount = 42; + o.promptTokensDetails = buildUnnamed141(); + o.toolUsePromptTokenCount = 42; + o.toolUsePromptTokensDetails = buildUnnamed142(); o.totalTokenCount = 42; } buildCounterGoogleCloudAiplatformV1GenerateContentResponseUsageMetadata--; @@ -10827,6 +11148,7 @@ void checkGoogleCloudAiplatformV1GenerateContentResponseUsageMetadata( buildCounterGoogleCloudAiplatformV1GenerateContentResponseUsageMetadata++; if (buildCounterGoogleCloudAiplatformV1GenerateContentResponseUsageMetadata < 3) { + checkUnnamed139(o.cacheTokensDetails!); unittest.expect( o.cachedContentTokenCount!, unittest.equals(42), @@ -10835,10 +11157,17 @@ void checkGoogleCloudAiplatformV1GenerateContentResponseUsageMetadata( o.candidatesTokenCount!, unittest.equals(42), ); + checkUnnamed140(o.candidatesTokensDetails!); unittest.expect( o.promptTokenCount!, unittest.equals(42), ); + checkUnnamed141(o.promptTokensDetails!); + unittest.expect( + o.toolUsePromptTokenCount!, + unittest.equals(42), + ); + checkUnnamed142(o.toolUsePromptTokensDetails!); unittest.expect( o.totalTokenCount!, unittest.equals(42), @@ -10847,12 +11176,12 @@ void checkGoogleCloudAiplatformV1GenerateContentResponseUsageMetadata( buildCounterGoogleCloudAiplatformV1GenerateContentResponseUsageMetadata--; } -core.List buildUnnamed137() => [ +core.List buildUnnamed143() => [ 'foo', 'foo', ]; -void checkUnnamed137(core.List o) { +void checkUnnamed143(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10864,12 +11193,12 @@ void checkUnnamed137(core.List o) { ); } -core.List buildUnnamed138() => [ +core.List buildUnnamed144() => [ 'foo', 'foo', ]; -void checkUnnamed138(core.List o) { +void checkUnnamed144(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10896,13 +11225,13 @@ api.GoogleCloudAiplatformV1GenerationConfig o.presencePenalty = 42.0; o.responseLogprobs = true; o.responseMimeType = 'foo'; - o.responseModalities = buildUnnamed137(); + o.responseModalities = buildUnnamed143(); o.responseSchema = buildGoogleCloudAiplatformV1Schema(); o.routingConfig = buildGoogleCloudAiplatformV1GenerationConfigRoutingConfig(); o.seed = 42; o.speechConfig = buildGoogleCloudAiplatformV1SpeechConfig(); - o.stopSequences = buildUnnamed138(); + o.stopSequences = buildUnnamed144(); o.temperature = 42.0; o.topK = 42.0; o.topP = 42.0; @@ -10945,7 +11274,7 @@ void checkGoogleCloudAiplatformV1GenerationConfig( o.responseMimeType!, unittest.equals('foo'), ); - checkUnnamed137(o.responseModalities!); + checkUnnamed143(o.responseModalities!); checkGoogleCloudAiplatformV1Schema(o.responseSchema!); checkGoogleCloudAiplatformV1GenerationConfigRoutingConfig(o.routingConfig!); unittest.expect( @@ -10953,7 +11282,7 @@ void checkGoogleCloudAiplatformV1GenerationConfig( unittest.equals(42), ); checkGoogleCloudAiplatformV1SpeechConfig(o.speechConfig!); - checkUnnamed138(o.stopSequences!); + checkUnnamed144(o.stopSequences!); unittest.expect( o.temperature!, unittest.equals(42.0), @@ -11081,12 +11410,12 @@ void checkGoogleCloudAiplatformV1GenieSource( } core.List - buildUnnamed139() => [ + buildUnnamed145() => [ buildGoogleCloudAiplatformV1GoogleDriveSourceResourceId(), buildGoogleCloudAiplatformV1GoogleDriveSourceResourceId(), ]; -void checkUnnamed139( +void checkUnnamed145( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1GoogleDriveSourceResourceId(o[0]); @@ -11099,7 +11428,7 @@ api.GoogleCloudAiplatformV1GoogleDriveSource final o = api.GoogleCloudAiplatformV1GoogleDriveSource(); buildCounterGoogleCloudAiplatformV1GoogleDriveSource++; if (buildCounterGoogleCloudAiplatformV1GoogleDriveSource < 3) { - o.resourceIds = buildUnnamed139(); + o.resourceIds = buildUnnamed145(); } buildCounterGoogleCloudAiplatformV1GoogleDriveSource--; return o; @@ -11109,7 +11438,7 @@ void checkGoogleCloudAiplatformV1GoogleDriveSource( api.GoogleCloudAiplatformV1GoogleDriveSource o) { buildCounterGoogleCloudAiplatformV1GoogleDriveSource++; if (buildCounterGoogleCloudAiplatformV1GoogleDriveSource < 3) { - checkUnnamed139(o.resourceIds!); + checkUnnamed145(o.resourceIds!); } buildCounterGoogleCloudAiplatformV1GoogleDriveSource--; } @@ -11364,34 +11693,34 @@ void checkGoogleCloudAiplatformV1GroundingChunkWeb( buildCounterGoogleCloudAiplatformV1GroundingChunkWeb--; } -core.List buildUnnamed140() => [ +core.List buildUnnamed146() => [ buildGoogleCloudAiplatformV1GroundingChunk(), buildGoogleCloudAiplatformV1GroundingChunk(), ]; -void checkUnnamed140(core.List o) { +void checkUnnamed146(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1GroundingChunk(o[0]); checkGoogleCloudAiplatformV1GroundingChunk(o[1]); } -core.List buildUnnamed141() => [ +core.List buildUnnamed147() => [ buildGoogleCloudAiplatformV1GroundingSupport(), buildGoogleCloudAiplatformV1GroundingSupport(), ]; -void checkUnnamed141(core.List o) { +void checkUnnamed147(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1GroundingSupport(o[0]); checkGoogleCloudAiplatformV1GroundingSupport(o[1]); } -core.List buildUnnamed142() => [ +core.List buildUnnamed148() => [ 'foo', 'foo', ]; -void checkUnnamed142(core.List o) { +void checkUnnamed148(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11409,11 +11738,11 @@ api.GoogleCloudAiplatformV1GroundingMetadata final o = api.GoogleCloudAiplatformV1GroundingMetadata(); buildCounterGoogleCloudAiplatformV1GroundingMetadata++; if (buildCounterGoogleCloudAiplatformV1GroundingMetadata < 3) { - o.groundingChunks = buildUnnamed140(); - o.groundingSupports = buildUnnamed141(); + o.groundingChunks = buildUnnamed146(); + o.groundingSupports = buildUnnamed147(); o.retrievalMetadata = buildGoogleCloudAiplatformV1RetrievalMetadata(); o.searchEntryPoint = buildGoogleCloudAiplatformV1SearchEntryPoint(); - o.webSearchQueries = buildUnnamed142(); + o.webSearchQueries = buildUnnamed148(); } buildCounterGoogleCloudAiplatformV1GroundingMetadata--; return o; @@ -11423,21 +11752,21 @@ void checkGoogleCloudAiplatformV1GroundingMetadata( api.GoogleCloudAiplatformV1GroundingMetadata o) { buildCounterGoogleCloudAiplatformV1GroundingMetadata++; if (buildCounterGoogleCloudAiplatformV1GroundingMetadata < 3) { - checkUnnamed140(o.groundingChunks!); - checkUnnamed141(o.groundingSupports!); + checkUnnamed146(o.groundingChunks!); + checkUnnamed147(o.groundingSupports!); checkGoogleCloudAiplatformV1RetrievalMetadata(o.retrievalMetadata!); checkGoogleCloudAiplatformV1SearchEntryPoint(o.searchEntryPoint!); - checkUnnamed142(o.webSearchQueries!); + checkUnnamed148(o.webSearchQueries!); } buildCounterGoogleCloudAiplatformV1GroundingMetadata--; } -core.List buildUnnamed143() => [ +core.List buildUnnamed149() => [ 42.0, 42.0, ]; -void checkUnnamed143(core.List o) { +void checkUnnamed149(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11449,12 +11778,12 @@ void checkUnnamed143(core.List o) { ); } -core.List buildUnnamed144() => [ +core.List buildUnnamed150() => [ 42, 42, ]; -void checkUnnamed144(core.List o) { +void checkUnnamed150(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11472,8 +11801,8 @@ api.GoogleCloudAiplatformV1GroundingSupport final o = api.GoogleCloudAiplatformV1GroundingSupport(); buildCounterGoogleCloudAiplatformV1GroundingSupport++; if (buildCounterGoogleCloudAiplatformV1GroundingSupport < 3) { - o.confidenceScores = buildUnnamed143(); - o.groundingChunkIndices = buildUnnamed144(); + o.confidenceScores = buildUnnamed149(); + o.groundingChunkIndices = buildUnnamed150(); o.segment = buildGoogleCloudAiplatformV1Segment(); } buildCounterGoogleCloudAiplatformV1GroundingSupport--; @@ -11484,19 +11813,19 @@ void checkGoogleCloudAiplatformV1GroundingSupport( api.GoogleCloudAiplatformV1GroundingSupport o) { buildCounterGoogleCloudAiplatformV1GroundingSupport++; if (buildCounterGoogleCloudAiplatformV1GroundingSupport < 3) { - checkUnnamed143(o.confidenceScores!); - checkUnnamed144(o.groundingChunkIndices!); + checkUnnamed149(o.confidenceScores!); + checkUnnamed150(o.groundingChunkIndices!); checkGoogleCloudAiplatformV1Segment(o.segment!); } buildCounterGoogleCloudAiplatformV1GroundingSupport--; } -core.Map buildUnnamed145() => { +core.Map buildUnnamed151() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed145(core.Map o) { +void checkUnnamed151(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -11508,12 +11837,12 @@ void checkUnnamed145(core.Map o) { ); } -core.List buildUnnamed146() => [ +core.List buildUnnamed152() => [ buildGoogleCloudAiplatformV1Trial(), buildGoogleCloudAiplatformV1Trial(), ]; -void checkUnnamed146(core.List o) { +void checkUnnamed152(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Trial(o[0]); checkGoogleCloudAiplatformV1Trial(o[1]); @@ -11530,7 +11859,7 @@ api.GoogleCloudAiplatformV1HyperparameterTuningJob o.encryptionSpec = buildGoogleCloudAiplatformV1EncryptionSpec(); o.endTime = 'foo'; o.error = buildGoogleRpcStatus(); - o.labels = buildUnnamed145(); + o.labels = buildUnnamed151(); o.maxFailedTrialCount = 42; o.maxTrialCount = 42; o.name = 'foo'; @@ -11541,7 +11870,7 @@ api.GoogleCloudAiplatformV1HyperparameterTuningJob o.state = 'foo'; o.studySpec = buildGoogleCloudAiplatformV1StudySpec(); o.trialJobSpec = buildGoogleCloudAiplatformV1CustomJobSpec(); - o.trials = buildUnnamed146(); + o.trials = buildUnnamed152(); o.updateTime = 'foo'; } buildCounterGoogleCloudAiplatformV1HyperparameterTuningJob--; @@ -11566,7 +11895,7 @@ void checkGoogleCloudAiplatformV1HyperparameterTuningJob( unittest.equals('foo'), ); checkGoogleRpcStatus(o.error!); - checkUnnamed145(o.labels!); + checkUnnamed151(o.labels!); unittest.expect( o.maxFailedTrialCount!, unittest.equals(42), @@ -11595,7 +11924,7 @@ void checkGoogleCloudAiplatformV1HyperparameterTuningJob( ); checkGoogleCloudAiplatformV1StudySpec(o.studySpec!); checkGoogleCloudAiplatformV1CustomJobSpec(o.trialJobSpec!); - checkUnnamed146(o.trials!); + checkUnnamed152(o.trials!); unittest.expect( o.updateTime!, unittest.equals('foo'), @@ -11604,12 +11933,12 @@ void checkGoogleCloudAiplatformV1HyperparameterTuningJob( buildCounterGoogleCloudAiplatformV1HyperparameterTuningJob--; } -core.List buildUnnamed147() => [ +core.List buildUnnamed153() => [ 'foo', 'foo', ]; -void checkUnnamed147(core.List o) { +void checkUnnamed153(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11626,7 +11955,7 @@ api.GoogleCloudAiplatformV1IdMatcher buildGoogleCloudAiplatformV1IdMatcher() { final o = api.GoogleCloudAiplatformV1IdMatcher(); buildCounterGoogleCloudAiplatformV1IdMatcher++; if (buildCounterGoogleCloudAiplatformV1IdMatcher < 3) { - o.ids = buildUnnamed147(); + o.ids = buildUnnamed153(); } buildCounterGoogleCloudAiplatformV1IdMatcher--; return o; @@ -11636,17 +11965,17 @@ void checkGoogleCloudAiplatformV1IdMatcher( api.GoogleCloudAiplatformV1IdMatcher o) { buildCounterGoogleCloudAiplatformV1IdMatcher++; if (buildCounterGoogleCloudAiplatformV1IdMatcher < 3) { - checkUnnamed147(o.ids!); + checkUnnamed153(o.ids!); } buildCounterGoogleCloudAiplatformV1IdMatcher--; } -core.Map buildUnnamed148() => { +core.Map buildUnnamed154() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed148(core.Map o) { +void checkUnnamed154(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -11658,12 +11987,12 @@ void checkUnnamed148(core.Map o) { ); } -core.Map buildUnnamed149() => { +core.Map buildUnnamed155() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed149(core.Map o) { +void checkUnnamed155(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -11681,8 +12010,8 @@ api.GoogleCloudAiplatformV1ImportDataConfig final o = api.GoogleCloudAiplatformV1ImportDataConfig(); buildCounterGoogleCloudAiplatformV1ImportDataConfig++; if (buildCounterGoogleCloudAiplatformV1ImportDataConfig < 3) { - o.annotationLabels = buildUnnamed148(); - o.dataItemLabels = buildUnnamed149(); + o.annotationLabels = buildUnnamed154(); + o.dataItemLabels = buildUnnamed155(); o.gcsSource = buildGoogleCloudAiplatformV1GcsSource(); o.importSchemaUri = 'foo'; } @@ -11694,8 +12023,8 @@ void checkGoogleCloudAiplatformV1ImportDataConfig( api.GoogleCloudAiplatformV1ImportDataConfig o) { buildCounterGoogleCloudAiplatformV1ImportDataConfig++; if (buildCounterGoogleCloudAiplatformV1ImportDataConfig < 3) { - checkUnnamed148(o.annotationLabels!); - checkUnnamed149(o.dataItemLabels!); + checkUnnamed154(o.annotationLabels!); + checkUnnamed155(o.dataItemLabels!); checkGoogleCloudAiplatformV1GcsSource(o.gcsSource!); unittest.expect( o.importSchemaUri!, @@ -11705,12 +12034,12 @@ void checkGoogleCloudAiplatformV1ImportDataConfig( buildCounterGoogleCloudAiplatformV1ImportDataConfig--; } -core.List buildUnnamed150() => [ +core.List buildUnnamed156() => [ buildGoogleCloudAiplatformV1ImportDataConfig(), buildGoogleCloudAiplatformV1ImportDataConfig(), ]; -void checkUnnamed150(core.List o) { +void checkUnnamed156(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ImportDataConfig(o[0]); checkGoogleCloudAiplatformV1ImportDataConfig(o[1]); @@ -11722,7 +12051,7 @@ api.GoogleCloudAiplatformV1ImportDataRequest final o = api.GoogleCloudAiplatformV1ImportDataRequest(); buildCounterGoogleCloudAiplatformV1ImportDataRequest++; if (buildCounterGoogleCloudAiplatformV1ImportDataRequest < 3) { - o.importConfigs = buildUnnamed150(); + o.importConfigs = buildUnnamed156(); } buildCounterGoogleCloudAiplatformV1ImportDataRequest--; return o; @@ -11732,18 +12061,18 @@ void checkGoogleCloudAiplatformV1ImportDataRequest( api.GoogleCloudAiplatformV1ImportDataRequest o) { buildCounterGoogleCloudAiplatformV1ImportDataRequest++; if (buildCounterGoogleCloudAiplatformV1ImportDataRequest < 3) { - checkUnnamed150(o.importConfigs!); + checkUnnamed156(o.importConfigs!); } buildCounterGoogleCloudAiplatformV1ImportDataRequest--; } core.List - buildUnnamed151() => [ + buildUnnamed157() => [ buildGoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec(), buildGoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec(), ]; -void checkUnnamed151( +void checkUnnamed157( core.List o) { unittest.expect(o, unittest.hasLength(2)); @@ -11763,7 +12092,7 @@ api.GoogleCloudAiplatformV1ImportFeatureValuesRequest o.disableIngestionAnalysis = true; o.disableOnlineServing = true; o.entityIdField = 'foo'; - o.featureSpecs = buildUnnamed151(); + o.featureSpecs = buildUnnamed157(); o.featureTime = 'foo'; o.featureTimeField = 'foo'; o.workerCount = 42; @@ -11785,7 +12114,7 @@ void checkGoogleCloudAiplatformV1ImportFeatureValuesRequest( o.entityIdField!, unittest.equals('foo'), ); - checkUnnamed151(o.featureSpecs!); + checkUnnamed157(o.featureSpecs!); unittest.expect( o.featureTime!, unittest.equals('foo'), @@ -11921,23 +12250,23 @@ void checkGoogleCloudAiplatformV1ImportRagFilesRequest( buildCounterGoogleCloudAiplatformV1ImportRagFilesRequest--; } -core.List buildUnnamed152() => [ +core.List buildUnnamed158() => [ buildGoogleCloudAiplatformV1DeployedIndexRef(), buildGoogleCloudAiplatformV1DeployedIndexRef(), ]; -void checkUnnamed152(core.List o) { +void checkUnnamed158(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1DeployedIndexRef(o[0]); checkGoogleCloudAiplatformV1DeployedIndexRef(o[1]); } -core.Map buildUnnamed153() => { +core.Map buildUnnamed159() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed153(core.Map o) { +void checkUnnamed159(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -11955,14 +12284,14 @@ api.GoogleCloudAiplatformV1Index buildGoogleCloudAiplatformV1Index() { buildCounterGoogleCloudAiplatformV1Index++; if (buildCounterGoogleCloudAiplatformV1Index < 3) { o.createTime = 'foo'; - o.deployedIndexes = buildUnnamed152(); + o.deployedIndexes = buildUnnamed158(); o.description = 'foo'; o.displayName = 'foo'; o.encryptionSpec = buildGoogleCloudAiplatformV1EncryptionSpec(); o.etag = 'foo'; o.indexStats = buildGoogleCloudAiplatformV1IndexStats(); o.indexUpdateMethod = 'foo'; - o.labels = buildUnnamed153(); + o.labels = buildUnnamed159(); o.metadata = { 'list': [1, 2, 3], 'bool': true, @@ -11985,7 +12314,7 @@ void checkGoogleCloudAiplatformV1Index(api.GoogleCloudAiplatformV1Index o) { o.createTime!, unittest.equals('foo'), ); - checkUnnamed152(o.deployedIndexes!); + checkUnnamed158(o.deployedIndexes!); unittest.expect( o.description!, unittest.equals('foo'), @@ -12004,7 +12333,7 @@ void checkGoogleCloudAiplatformV1Index(api.GoogleCloudAiplatformV1Index o) { o.indexUpdateMethod!, unittest.equals('foo'), ); - checkUnnamed153(o.labels!); + checkUnnamed159(o.labels!); var casted46 = (o.metadata!) as core.Map; unittest.expect(casted46, unittest.hasLength(3)); unittest.expect( @@ -12037,12 +12366,12 @@ void checkGoogleCloudAiplatformV1Index(api.GoogleCloudAiplatformV1Index o) { buildCounterGoogleCloudAiplatformV1Index--; } -core.List buildUnnamed154() => [ +core.List buildUnnamed160() => [ 42.0, 42.0, ]; -void checkUnnamed154(core.List o) { +void checkUnnamed160(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12055,12 +12384,12 @@ void checkUnnamed154(core.List o) { } core.List - buildUnnamed155() => [ + buildUnnamed161() => [ buildGoogleCloudAiplatformV1IndexDatapointNumericRestriction(), buildGoogleCloudAiplatformV1IndexDatapointNumericRestriction(), ]; -void checkUnnamed155( +void checkUnnamed161( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1IndexDatapointNumericRestriction(o[0]); @@ -12068,12 +12397,12 @@ void checkUnnamed155( } core.List - buildUnnamed156() => [ + buildUnnamed162() => [ buildGoogleCloudAiplatformV1IndexDatapointRestriction(), buildGoogleCloudAiplatformV1IndexDatapointRestriction(), ]; -void checkUnnamed156( +void checkUnnamed162( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1IndexDatapointRestriction(o[0]); @@ -12088,9 +12417,9 @@ api.GoogleCloudAiplatformV1IndexDatapoint if (buildCounterGoogleCloudAiplatformV1IndexDatapoint < 3) { o.crowdingTag = buildGoogleCloudAiplatformV1IndexDatapointCrowdingTag(); o.datapointId = 'foo'; - o.featureVector = buildUnnamed154(); - o.numericRestricts = buildUnnamed155(); - o.restricts = buildUnnamed156(); + o.featureVector = buildUnnamed160(); + o.numericRestricts = buildUnnamed161(); + o.restricts = buildUnnamed162(); o.sparseEmbedding = buildGoogleCloudAiplatformV1IndexDatapointSparseEmbedding(); } @@ -12107,9 +12436,9 @@ void checkGoogleCloudAiplatformV1IndexDatapoint( o.datapointId!, unittest.equals('foo'), ); - checkUnnamed154(o.featureVector!); - checkUnnamed155(o.numericRestricts!); - checkUnnamed156(o.restricts!); + checkUnnamed160(o.featureVector!); + checkUnnamed161(o.numericRestricts!); + checkUnnamed162(o.restricts!); checkGoogleCloudAiplatformV1IndexDatapointSparseEmbedding( o.sparseEmbedding!); } @@ -12185,12 +12514,12 @@ void checkGoogleCloudAiplatformV1IndexDatapointNumericRestriction( buildCounterGoogleCloudAiplatformV1IndexDatapointNumericRestriction--; } -core.List buildUnnamed157() => [ +core.List buildUnnamed163() => [ 'foo', 'foo', ]; -void checkUnnamed157(core.List o) { +void checkUnnamed163(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12202,12 +12531,12 @@ void checkUnnamed157(core.List o) { ); } -core.List buildUnnamed158() => [ +core.List buildUnnamed164() => [ 'foo', 'foo', ]; -void checkUnnamed158(core.List o) { +void checkUnnamed164(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12225,8 +12554,8 @@ api.GoogleCloudAiplatformV1IndexDatapointRestriction final o = api.GoogleCloudAiplatformV1IndexDatapointRestriction(); buildCounterGoogleCloudAiplatformV1IndexDatapointRestriction++; if (buildCounterGoogleCloudAiplatformV1IndexDatapointRestriction < 3) { - o.allowList = buildUnnamed157(); - o.denyList = buildUnnamed158(); + o.allowList = buildUnnamed163(); + o.denyList = buildUnnamed164(); o.namespace = 'foo'; } buildCounterGoogleCloudAiplatformV1IndexDatapointRestriction--; @@ -12237,8 +12566,8 @@ void checkGoogleCloudAiplatformV1IndexDatapointRestriction( api.GoogleCloudAiplatformV1IndexDatapointRestriction o) { buildCounterGoogleCloudAiplatformV1IndexDatapointRestriction++; if (buildCounterGoogleCloudAiplatformV1IndexDatapointRestriction < 3) { - checkUnnamed157(o.allowList!); - checkUnnamed158(o.denyList!); + checkUnnamed163(o.allowList!); + checkUnnamed164(o.denyList!); unittest.expect( o.namespace!, unittest.equals('foo'), @@ -12247,12 +12576,12 @@ void checkGoogleCloudAiplatformV1IndexDatapointRestriction( buildCounterGoogleCloudAiplatformV1IndexDatapointRestriction--; } -core.List buildUnnamed159() => [ +core.List buildUnnamed165() => [ 'foo', 'foo', ]; -void checkUnnamed159(core.List o) { +void checkUnnamed165(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12264,12 +12593,12 @@ void checkUnnamed159(core.List o) { ); } -core.List buildUnnamed160() => [ +core.List buildUnnamed166() => [ 42.0, 42.0, ]; -void checkUnnamed160(core.List o) { +void checkUnnamed166(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12287,8 +12616,8 @@ api.GoogleCloudAiplatformV1IndexDatapointSparseEmbedding final o = api.GoogleCloudAiplatformV1IndexDatapointSparseEmbedding(); buildCounterGoogleCloudAiplatformV1IndexDatapointSparseEmbedding++; if (buildCounterGoogleCloudAiplatformV1IndexDatapointSparseEmbedding < 3) { - o.dimensions = buildUnnamed159(); - o.values = buildUnnamed160(); + o.dimensions = buildUnnamed165(); + o.values = buildUnnamed166(); } buildCounterGoogleCloudAiplatformV1IndexDatapointSparseEmbedding--; return o; @@ -12298,29 +12627,29 @@ void checkGoogleCloudAiplatformV1IndexDatapointSparseEmbedding( api.GoogleCloudAiplatformV1IndexDatapointSparseEmbedding o) { buildCounterGoogleCloudAiplatformV1IndexDatapointSparseEmbedding++; if (buildCounterGoogleCloudAiplatformV1IndexDatapointSparseEmbedding < 3) { - checkUnnamed159(o.dimensions!); - checkUnnamed160(o.values!); + checkUnnamed165(o.dimensions!); + checkUnnamed166(o.values!); } buildCounterGoogleCloudAiplatformV1IndexDatapointSparseEmbedding--; } -core.List buildUnnamed161() => [ +core.List buildUnnamed167() => [ buildGoogleCloudAiplatformV1DeployedIndex(), buildGoogleCloudAiplatformV1DeployedIndex(), ]; -void checkUnnamed161(core.List o) { +void checkUnnamed167(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1DeployedIndex(o[0]); checkGoogleCloudAiplatformV1DeployedIndex(o[1]); } -core.Map buildUnnamed162() => { +core.Map buildUnnamed168() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed162(core.Map o) { +void checkUnnamed168(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -12339,13 +12668,13 @@ api.GoogleCloudAiplatformV1IndexEndpoint buildCounterGoogleCloudAiplatformV1IndexEndpoint++; if (buildCounterGoogleCloudAiplatformV1IndexEndpoint < 3) { o.createTime = 'foo'; - o.deployedIndexes = buildUnnamed161(); + o.deployedIndexes = buildUnnamed167(); o.description = 'foo'; o.displayName = 'foo'; o.enablePrivateServiceConnect = true; o.encryptionSpec = buildGoogleCloudAiplatformV1EncryptionSpec(); o.etag = 'foo'; - o.labels = buildUnnamed162(); + o.labels = buildUnnamed168(); o.name = 'foo'; o.network = 'foo'; o.privateServiceConnectConfig = @@ -12368,7 +12697,7 @@ void checkGoogleCloudAiplatformV1IndexEndpoint( o.createTime!, unittest.equals('foo'), ); - checkUnnamed161(o.deployedIndexes!); + checkUnnamed167(o.deployedIndexes!); unittest.expect( o.description!, unittest.equals('foo'), @@ -12383,7 +12712,7 @@ void checkGoogleCloudAiplatformV1IndexEndpoint( o.etag!, unittest.equals('foo'), ); - checkUnnamed162(o.labels!); + checkUnnamed168(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -12409,13 +12738,13 @@ void checkGoogleCloudAiplatformV1IndexEndpoint( buildCounterGoogleCloudAiplatformV1IndexEndpoint--; } -core.List buildUnnamed163() => +core.List buildUnnamed169() => [ buildGoogleCloudAiplatformV1PscAutomatedEndpoints(), buildGoogleCloudAiplatformV1PscAutomatedEndpoints(), ]; -void checkUnnamed163( +void checkUnnamed169( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1PscAutomatedEndpoints(o[0]); @@ -12429,7 +12758,7 @@ api.GoogleCloudAiplatformV1IndexPrivateEndpoints buildCounterGoogleCloudAiplatformV1IndexPrivateEndpoints++; if (buildCounterGoogleCloudAiplatformV1IndexPrivateEndpoints < 3) { o.matchGrpcAddress = 'foo'; - o.pscAutomatedEndpoints = buildUnnamed163(); + o.pscAutomatedEndpoints = buildUnnamed169(); o.serviceAttachment = 'foo'; } buildCounterGoogleCloudAiplatformV1IndexPrivateEndpoints--; @@ -12444,7 +12773,7 @@ void checkGoogleCloudAiplatformV1IndexPrivateEndpoints( o.matchGrpcAddress!, unittest.equals('foo'), ); - checkUnnamed163(o.pscAutomatedEndpoints!); + checkUnnamed169(o.pscAutomatedEndpoints!); unittest.expect( o.serviceAttachment!, unittest.equals('foo'), @@ -12541,12 +12870,12 @@ void checkGoogleCloudAiplatformV1InputDataConfig( buildCounterGoogleCloudAiplatformV1InputDataConfig--; } -core.List buildUnnamed164() => [ +core.List buildUnnamed170() => [ 'foo', 'foo', ]; -void checkUnnamed164(core.List o) { +void checkUnnamed170(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12563,7 +12892,7 @@ api.GoogleCloudAiplatformV1Int64Array buildGoogleCloudAiplatformV1Int64Array() { final o = api.GoogleCloudAiplatformV1Int64Array(); buildCounterGoogleCloudAiplatformV1Int64Array++; if (buildCounterGoogleCloudAiplatformV1Int64Array < 3) { - o.values = buildUnnamed164(); + o.values = buildUnnamed170(); } buildCounterGoogleCloudAiplatformV1Int64Array--; return o; @@ -12573,7 +12902,7 @@ void checkGoogleCloudAiplatformV1Int64Array( api.GoogleCloudAiplatformV1Int64Array o) { buildCounterGoogleCloudAiplatformV1Int64Array++; if (buildCounterGoogleCloudAiplatformV1Int64Array < 3) { - checkUnnamed164(o.values!); + checkUnnamed170(o.values!); } buildCounterGoogleCloudAiplatformV1Int64Array--; } @@ -12606,13 +12935,13 @@ void checkGoogleCloudAiplatformV1IntegratedGradientsAttribution( buildCounterGoogleCloudAiplatformV1IntegratedGradientsAttribution--; } -core.List buildUnnamed165() => +core.List buildUnnamed171() => [ buildGoogleCloudAiplatformV1JiraSourceJiraQueries(), buildGoogleCloudAiplatformV1JiraSourceJiraQueries(), ]; -void checkUnnamed165( +void checkUnnamed171( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1JiraSourceJiraQueries(o[0]); @@ -12624,7 +12953,7 @@ api.GoogleCloudAiplatformV1JiraSource buildGoogleCloudAiplatformV1JiraSource() { final o = api.GoogleCloudAiplatformV1JiraSource(); buildCounterGoogleCloudAiplatformV1JiraSource++; if (buildCounterGoogleCloudAiplatformV1JiraSource < 3) { - o.jiraQueries = buildUnnamed165(); + o.jiraQueries = buildUnnamed171(); } buildCounterGoogleCloudAiplatformV1JiraSource--; return o; @@ -12634,17 +12963,17 @@ void checkGoogleCloudAiplatformV1JiraSource( api.GoogleCloudAiplatformV1JiraSource o) { buildCounterGoogleCloudAiplatformV1JiraSource++; if (buildCounterGoogleCloudAiplatformV1JiraSource < 3) { - checkUnnamed165(o.jiraQueries!); + checkUnnamed171(o.jiraQueries!); } buildCounterGoogleCloudAiplatformV1JiraSource--; } -core.List buildUnnamed166() => [ +core.List buildUnnamed172() => [ 'foo', 'foo', ]; -void checkUnnamed166(core.List o) { +void checkUnnamed172(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12656,12 +12985,12 @@ void checkUnnamed166(core.List o) { ); } -core.List buildUnnamed167() => [ +core.List buildUnnamed173() => [ 'foo', 'foo', ]; -void checkUnnamed167(core.List o) { +void checkUnnamed173(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12680,9 +13009,9 @@ api.GoogleCloudAiplatformV1JiraSourceJiraQueries buildCounterGoogleCloudAiplatformV1JiraSourceJiraQueries++; if (buildCounterGoogleCloudAiplatformV1JiraSourceJiraQueries < 3) { o.apiKeyConfig = buildGoogleCloudAiplatformV1ApiAuthApiKeyConfig(); - o.customQueries = buildUnnamed166(); + o.customQueries = buildUnnamed172(); o.email = 'foo'; - o.projects = buildUnnamed167(); + o.projects = buildUnnamed173(); o.serverUri = 'foo'; } buildCounterGoogleCloudAiplatformV1JiraSourceJiraQueries--; @@ -12694,12 +13023,12 @@ void checkGoogleCloudAiplatformV1JiraSourceJiraQueries( buildCounterGoogleCloudAiplatformV1JiraSourceJiraQueries++; if (buildCounterGoogleCloudAiplatformV1JiraSourceJiraQueries < 3) { checkGoogleCloudAiplatformV1ApiAuthApiKeyConfig(o.apiKeyConfig!); - checkUnnamed166(o.customQueries!); + checkUnnamed172(o.customQueries!); unittest.expect( o.email!, unittest.equals('foo'), ); - checkUnnamed167(o.projects!); + checkUnnamed173(o.projects!); unittest.expect( o.serverUri!, unittest.equals('foo'), @@ -12732,34 +13061,34 @@ void checkGoogleCloudAiplatformV1LargeModelReference( buildCounterGoogleCloudAiplatformV1LargeModelReference--; } -core.List buildUnnamed168() => [ +core.List buildUnnamed174() => [ buildGoogleCloudAiplatformV1Artifact(), buildGoogleCloudAiplatformV1Artifact(), ]; -void checkUnnamed168(core.List o) { +void checkUnnamed174(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Artifact(o[0]); checkGoogleCloudAiplatformV1Artifact(o[1]); } -core.List buildUnnamed169() => [ +core.List buildUnnamed175() => [ buildGoogleCloudAiplatformV1Event(), buildGoogleCloudAiplatformV1Event(), ]; -void checkUnnamed169(core.List o) { +void checkUnnamed175(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Event(o[0]); checkGoogleCloudAiplatformV1Event(o[1]); } -core.List buildUnnamed170() => [ +core.List buildUnnamed176() => [ buildGoogleCloudAiplatformV1Execution(), buildGoogleCloudAiplatformV1Execution(), ]; -void checkUnnamed170(core.List o) { +void checkUnnamed176(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Execution(o[0]); checkGoogleCloudAiplatformV1Execution(o[1]); @@ -12771,9 +13100,9 @@ api.GoogleCloudAiplatformV1LineageSubgraph final o = api.GoogleCloudAiplatformV1LineageSubgraph(); buildCounterGoogleCloudAiplatformV1LineageSubgraph++; if (buildCounterGoogleCloudAiplatformV1LineageSubgraph < 3) { - o.artifacts = buildUnnamed168(); - o.events = buildUnnamed169(); - o.executions = buildUnnamed170(); + o.artifacts = buildUnnamed174(); + o.events = buildUnnamed175(); + o.executions = buildUnnamed176(); } buildCounterGoogleCloudAiplatformV1LineageSubgraph--; return o; @@ -12783,19 +13112,19 @@ void checkGoogleCloudAiplatformV1LineageSubgraph( api.GoogleCloudAiplatformV1LineageSubgraph o) { buildCounterGoogleCloudAiplatformV1LineageSubgraph++; if (buildCounterGoogleCloudAiplatformV1LineageSubgraph < 3) { - checkUnnamed168(o.artifacts!); - checkUnnamed169(o.events!); - checkUnnamed170(o.executions!); + checkUnnamed174(o.artifacts!); + checkUnnamed175(o.events!); + checkUnnamed176(o.executions!); } buildCounterGoogleCloudAiplatformV1LineageSubgraph--; } -core.List buildUnnamed171() => [ +core.List buildUnnamed177() => [ buildGoogleCloudAiplatformV1Annotation(), buildGoogleCloudAiplatformV1Annotation(), ]; -void checkUnnamed171(core.List o) { +void checkUnnamed177(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Annotation(o[0]); checkGoogleCloudAiplatformV1Annotation(o[1]); @@ -12807,7 +13136,7 @@ api.GoogleCloudAiplatformV1ListAnnotationsResponse final o = api.GoogleCloudAiplatformV1ListAnnotationsResponse(); buildCounterGoogleCloudAiplatformV1ListAnnotationsResponse++; if (buildCounterGoogleCloudAiplatformV1ListAnnotationsResponse < 3) { - o.annotations = buildUnnamed171(); + o.annotations = buildUnnamed177(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListAnnotationsResponse--; @@ -12818,7 +13147,7 @@ void checkGoogleCloudAiplatformV1ListAnnotationsResponse( api.GoogleCloudAiplatformV1ListAnnotationsResponse o) { buildCounterGoogleCloudAiplatformV1ListAnnotationsResponse++; if (buildCounterGoogleCloudAiplatformV1ListAnnotationsResponse < 3) { - checkUnnamed171(o.annotations!); + checkUnnamed177(o.annotations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -12827,12 +13156,12 @@ void checkGoogleCloudAiplatformV1ListAnnotationsResponse( buildCounterGoogleCloudAiplatformV1ListAnnotationsResponse--; } -core.List buildUnnamed172() => [ +core.List buildUnnamed178() => [ buildGoogleCloudAiplatformV1Artifact(), buildGoogleCloudAiplatformV1Artifact(), ]; -void checkUnnamed172(core.List o) { +void checkUnnamed178(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Artifact(o[0]); checkGoogleCloudAiplatformV1Artifact(o[1]); @@ -12844,7 +13173,7 @@ api.GoogleCloudAiplatformV1ListArtifactsResponse final o = api.GoogleCloudAiplatformV1ListArtifactsResponse(); buildCounterGoogleCloudAiplatformV1ListArtifactsResponse++; if (buildCounterGoogleCloudAiplatformV1ListArtifactsResponse < 3) { - o.artifacts = buildUnnamed172(); + o.artifacts = buildUnnamed178(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListArtifactsResponse--; @@ -12855,7 +13184,7 @@ void checkGoogleCloudAiplatformV1ListArtifactsResponse( api.GoogleCloudAiplatformV1ListArtifactsResponse o) { buildCounterGoogleCloudAiplatformV1ListArtifactsResponse++; if (buildCounterGoogleCloudAiplatformV1ListArtifactsResponse < 3) { - checkUnnamed172(o.artifacts!); + checkUnnamed178(o.artifacts!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -12864,12 +13193,12 @@ void checkGoogleCloudAiplatformV1ListArtifactsResponse( buildCounterGoogleCloudAiplatformV1ListArtifactsResponse--; } -core.List buildUnnamed173() => [ +core.List buildUnnamed179() => [ buildGoogleCloudAiplatformV1BatchPredictionJob(), buildGoogleCloudAiplatformV1BatchPredictionJob(), ]; -void checkUnnamed173( +void checkUnnamed179( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1BatchPredictionJob(o[0]); @@ -12882,7 +13211,7 @@ api.GoogleCloudAiplatformV1ListBatchPredictionJobsResponse final o = api.GoogleCloudAiplatformV1ListBatchPredictionJobsResponse(); buildCounterGoogleCloudAiplatformV1ListBatchPredictionJobsResponse++; if (buildCounterGoogleCloudAiplatformV1ListBatchPredictionJobsResponse < 3) { - o.batchPredictionJobs = buildUnnamed173(); + o.batchPredictionJobs = buildUnnamed179(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListBatchPredictionJobsResponse--; @@ -12893,7 +13222,7 @@ void checkGoogleCloudAiplatformV1ListBatchPredictionJobsResponse( api.GoogleCloudAiplatformV1ListBatchPredictionJobsResponse o) { buildCounterGoogleCloudAiplatformV1ListBatchPredictionJobsResponse++; if (buildCounterGoogleCloudAiplatformV1ListBatchPredictionJobsResponse < 3) { - checkUnnamed173(o.batchPredictionJobs!); + checkUnnamed179(o.batchPredictionJobs!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -12902,12 +13231,12 @@ void checkGoogleCloudAiplatformV1ListBatchPredictionJobsResponse( buildCounterGoogleCloudAiplatformV1ListBatchPredictionJobsResponse--; } -core.List buildUnnamed174() => [ +core.List buildUnnamed180() => [ buildGoogleCloudAiplatformV1CachedContent(), buildGoogleCloudAiplatformV1CachedContent(), ]; -void checkUnnamed174(core.List o) { +void checkUnnamed180(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1CachedContent(o[0]); checkGoogleCloudAiplatformV1CachedContent(o[1]); @@ -12919,7 +13248,7 @@ api.GoogleCloudAiplatformV1ListCachedContentsResponse final o = api.GoogleCloudAiplatformV1ListCachedContentsResponse(); buildCounterGoogleCloudAiplatformV1ListCachedContentsResponse++; if (buildCounterGoogleCloudAiplatformV1ListCachedContentsResponse < 3) { - o.cachedContents = buildUnnamed174(); + o.cachedContents = buildUnnamed180(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListCachedContentsResponse--; @@ -12930,7 +13259,7 @@ void checkGoogleCloudAiplatformV1ListCachedContentsResponse( api.GoogleCloudAiplatformV1ListCachedContentsResponse o) { buildCounterGoogleCloudAiplatformV1ListCachedContentsResponse++; if (buildCounterGoogleCloudAiplatformV1ListCachedContentsResponse < 3) { - checkUnnamed174(o.cachedContents!); + checkUnnamed180(o.cachedContents!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -12939,12 +13268,12 @@ void checkGoogleCloudAiplatformV1ListCachedContentsResponse( buildCounterGoogleCloudAiplatformV1ListCachedContentsResponse--; } -core.List buildUnnamed175() => [ +core.List buildUnnamed181() => [ buildGoogleCloudAiplatformV1Context(), buildGoogleCloudAiplatformV1Context(), ]; -void checkUnnamed175(core.List o) { +void checkUnnamed181(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Context(o[0]); checkGoogleCloudAiplatformV1Context(o[1]); @@ -12956,7 +13285,7 @@ api.GoogleCloudAiplatformV1ListContextsResponse final o = api.GoogleCloudAiplatformV1ListContextsResponse(); buildCounterGoogleCloudAiplatformV1ListContextsResponse++; if (buildCounterGoogleCloudAiplatformV1ListContextsResponse < 3) { - o.contexts = buildUnnamed175(); + o.contexts = buildUnnamed181(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListContextsResponse--; @@ -12967,7 +13296,7 @@ void checkGoogleCloudAiplatformV1ListContextsResponse( api.GoogleCloudAiplatformV1ListContextsResponse o) { buildCounterGoogleCloudAiplatformV1ListContextsResponse++; if (buildCounterGoogleCloudAiplatformV1ListContextsResponse < 3) { - checkUnnamed175(o.contexts!); + checkUnnamed181(o.contexts!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -12976,12 +13305,12 @@ void checkGoogleCloudAiplatformV1ListContextsResponse( buildCounterGoogleCloudAiplatformV1ListContextsResponse--; } -core.List buildUnnamed176() => [ +core.List buildUnnamed182() => [ buildGoogleCloudAiplatformV1CustomJob(), buildGoogleCloudAiplatformV1CustomJob(), ]; -void checkUnnamed176(core.List o) { +void checkUnnamed182(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1CustomJob(o[0]); checkGoogleCloudAiplatformV1CustomJob(o[1]); @@ -12993,7 +13322,7 @@ api.GoogleCloudAiplatformV1ListCustomJobsResponse final o = api.GoogleCloudAiplatformV1ListCustomJobsResponse(); buildCounterGoogleCloudAiplatformV1ListCustomJobsResponse++; if (buildCounterGoogleCloudAiplatformV1ListCustomJobsResponse < 3) { - o.customJobs = buildUnnamed176(); + o.customJobs = buildUnnamed182(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListCustomJobsResponse--; @@ -13004,7 +13333,7 @@ void checkGoogleCloudAiplatformV1ListCustomJobsResponse( api.GoogleCloudAiplatformV1ListCustomJobsResponse o) { buildCounterGoogleCloudAiplatformV1ListCustomJobsResponse++; if (buildCounterGoogleCloudAiplatformV1ListCustomJobsResponse < 3) { - checkUnnamed176(o.customJobs!); + checkUnnamed182(o.customJobs!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13013,12 +13342,12 @@ void checkGoogleCloudAiplatformV1ListCustomJobsResponse( buildCounterGoogleCloudAiplatformV1ListCustomJobsResponse--; } -core.List buildUnnamed177() => [ +core.List buildUnnamed183() => [ buildGoogleCloudAiplatformV1DataItem(), buildGoogleCloudAiplatformV1DataItem(), ]; -void checkUnnamed177(core.List o) { +void checkUnnamed183(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1DataItem(o[0]); checkGoogleCloudAiplatformV1DataItem(o[1]); @@ -13030,7 +13359,7 @@ api.GoogleCloudAiplatformV1ListDataItemsResponse final o = api.GoogleCloudAiplatformV1ListDataItemsResponse(); buildCounterGoogleCloudAiplatformV1ListDataItemsResponse++; if (buildCounterGoogleCloudAiplatformV1ListDataItemsResponse < 3) { - o.dataItems = buildUnnamed177(); + o.dataItems = buildUnnamed183(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListDataItemsResponse--; @@ -13041,7 +13370,7 @@ void checkGoogleCloudAiplatformV1ListDataItemsResponse( api.GoogleCloudAiplatformV1ListDataItemsResponse o) { buildCounterGoogleCloudAiplatformV1ListDataItemsResponse++; if (buildCounterGoogleCloudAiplatformV1ListDataItemsResponse < 3) { - checkUnnamed177(o.dataItems!); + checkUnnamed183(o.dataItems!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13050,12 +13379,12 @@ void checkGoogleCloudAiplatformV1ListDataItemsResponse( buildCounterGoogleCloudAiplatformV1ListDataItemsResponse--; } -core.List buildUnnamed178() => [ +core.List buildUnnamed184() => [ buildGoogleCloudAiplatformV1DataLabelingJob(), buildGoogleCloudAiplatformV1DataLabelingJob(), ]; -void checkUnnamed178(core.List o) { +void checkUnnamed184(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1DataLabelingJob(o[0]); checkGoogleCloudAiplatformV1DataLabelingJob(o[1]); @@ -13067,7 +13396,7 @@ api.GoogleCloudAiplatformV1ListDataLabelingJobsResponse final o = api.GoogleCloudAiplatformV1ListDataLabelingJobsResponse(); buildCounterGoogleCloudAiplatformV1ListDataLabelingJobsResponse++; if (buildCounterGoogleCloudAiplatformV1ListDataLabelingJobsResponse < 3) { - o.dataLabelingJobs = buildUnnamed178(); + o.dataLabelingJobs = buildUnnamed184(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListDataLabelingJobsResponse--; @@ -13078,7 +13407,7 @@ void checkGoogleCloudAiplatformV1ListDataLabelingJobsResponse( api.GoogleCloudAiplatformV1ListDataLabelingJobsResponse o) { buildCounterGoogleCloudAiplatformV1ListDataLabelingJobsResponse++; if (buildCounterGoogleCloudAiplatformV1ListDataLabelingJobsResponse < 3) { - checkUnnamed178(o.dataLabelingJobs!); + checkUnnamed184(o.dataLabelingJobs!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13087,12 +13416,12 @@ void checkGoogleCloudAiplatformV1ListDataLabelingJobsResponse( buildCounterGoogleCloudAiplatformV1ListDataLabelingJobsResponse--; } -core.List buildUnnamed179() => [ +core.List buildUnnamed185() => [ buildGoogleCloudAiplatformV1DatasetVersion(), buildGoogleCloudAiplatformV1DatasetVersion(), ]; -void checkUnnamed179(core.List o) { +void checkUnnamed185(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1DatasetVersion(o[0]); checkGoogleCloudAiplatformV1DatasetVersion(o[1]); @@ -13104,7 +13433,7 @@ api.GoogleCloudAiplatformV1ListDatasetVersionsResponse final o = api.GoogleCloudAiplatformV1ListDatasetVersionsResponse(); buildCounterGoogleCloudAiplatformV1ListDatasetVersionsResponse++; if (buildCounterGoogleCloudAiplatformV1ListDatasetVersionsResponse < 3) { - o.datasetVersions = buildUnnamed179(); + o.datasetVersions = buildUnnamed185(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListDatasetVersionsResponse--; @@ -13115,7 +13444,7 @@ void checkGoogleCloudAiplatformV1ListDatasetVersionsResponse( api.GoogleCloudAiplatformV1ListDatasetVersionsResponse o) { buildCounterGoogleCloudAiplatformV1ListDatasetVersionsResponse++; if (buildCounterGoogleCloudAiplatformV1ListDatasetVersionsResponse < 3) { - checkUnnamed179(o.datasetVersions!); + checkUnnamed185(o.datasetVersions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13124,12 +13453,12 @@ void checkGoogleCloudAiplatformV1ListDatasetVersionsResponse( buildCounterGoogleCloudAiplatformV1ListDatasetVersionsResponse--; } -core.List buildUnnamed180() => [ +core.List buildUnnamed186() => [ buildGoogleCloudAiplatformV1Dataset(), buildGoogleCloudAiplatformV1Dataset(), ]; -void checkUnnamed180(core.List o) { +void checkUnnamed186(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Dataset(o[0]); checkGoogleCloudAiplatformV1Dataset(o[1]); @@ -13141,7 +13470,7 @@ api.GoogleCloudAiplatformV1ListDatasetsResponse final o = api.GoogleCloudAiplatformV1ListDatasetsResponse(); buildCounterGoogleCloudAiplatformV1ListDatasetsResponse++; if (buildCounterGoogleCloudAiplatformV1ListDatasetsResponse < 3) { - o.datasets = buildUnnamed180(); + o.datasets = buildUnnamed186(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListDatasetsResponse--; @@ -13152,7 +13481,7 @@ void checkGoogleCloudAiplatformV1ListDatasetsResponse( api.GoogleCloudAiplatformV1ListDatasetsResponse o) { buildCounterGoogleCloudAiplatformV1ListDatasetsResponse++; if (buildCounterGoogleCloudAiplatformV1ListDatasetsResponse < 3) { - checkUnnamed180(o.datasets!); + checkUnnamed186(o.datasets!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13162,12 +13491,12 @@ void checkGoogleCloudAiplatformV1ListDatasetsResponse( } core.List - buildUnnamed181() => [ + buildUnnamed187() => [ buildGoogleCloudAiplatformV1DeploymentResourcePool(), buildGoogleCloudAiplatformV1DeploymentResourcePool(), ]; -void checkUnnamed181( +void checkUnnamed187( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1DeploymentResourcePool(o[0]); @@ -13182,7 +13511,7 @@ api.GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse buildCounterGoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse++; if (buildCounterGoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse < 3) { - o.deploymentResourcePools = buildUnnamed181(); + o.deploymentResourcePools = buildUnnamed187(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse--; @@ -13194,7 +13523,7 @@ void checkGoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse( buildCounterGoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse++; if (buildCounterGoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse < 3) { - checkUnnamed181(o.deploymentResourcePools!); + checkUnnamed187(o.deploymentResourcePools!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13203,12 +13532,12 @@ void checkGoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse( buildCounterGoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse--; } -core.List buildUnnamed182() => [ +core.List buildUnnamed188() => [ buildGoogleCloudAiplatformV1Endpoint(), buildGoogleCloudAiplatformV1Endpoint(), ]; -void checkUnnamed182(core.List o) { +void checkUnnamed188(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Endpoint(o[0]); checkGoogleCloudAiplatformV1Endpoint(o[1]); @@ -13220,7 +13549,7 @@ api.GoogleCloudAiplatformV1ListEndpointsResponse final o = api.GoogleCloudAiplatformV1ListEndpointsResponse(); buildCounterGoogleCloudAiplatformV1ListEndpointsResponse++; if (buildCounterGoogleCloudAiplatformV1ListEndpointsResponse < 3) { - o.endpoints = buildUnnamed182(); + o.endpoints = buildUnnamed188(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListEndpointsResponse--; @@ -13231,7 +13560,7 @@ void checkGoogleCloudAiplatformV1ListEndpointsResponse( api.GoogleCloudAiplatformV1ListEndpointsResponse o) { buildCounterGoogleCloudAiplatformV1ListEndpointsResponse++; if (buildCounterGoogleCloudAiplatformV1ListEndpointsResponse < 3) { - checkUnnamed182(o.endpoints!); + checkUnnamed188(o.endpoints!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13240,12 +13569,12 @@ void checkGoogleCloudAiplatformV1ListEndpointsResponse( buildCounterGoogleCloudAiplatformV1ListEndpointsResponse--; } -core.List buildUnnamed183() => [ +core.List buildUnnamed189() => [ buildGoogleCloudAiplatformV1EntityType(), buildGoogleCloudAiplatformV1EntityType(), ]; -void checkUnnamed183(core.List o) { +void checkUnnamed189(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1EntityType(o[0]); checkGoogleCloudAiplatformV1EntityType(o[1]); @@ -13257,7 +13586,7 @@ api.GoogleCloudAiplatformV1ListEntityTypesResponse final o = api.GoogleCloudAiplatformV1ListEntityTypesResponse(); buildCounterGoogleCloudAiplatformV1ListEntityTypesResponse++; if (buildCounterGoogleCloudAiplatformV1ListEntityTypesResponse < 3) { - o.entityTypes = buildUnnamed183(); + o.entityTypes = buildUnnamed189(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListEntityTypesResponse--; @@ -13268,7 +13597,7 @@ void checkGoogleCloudAiplatformV1ListEntityTypesResponse( api.GoogleCloudAiplatformV1ListEntityTypesResponse o) { buildCounterGoogleCloudAiplatformV1ListEntityTypesResponse++; if (buildCounterGoogleCloudAiplatformV1ListEntityTypesResponse < 3) { - checkUnnamed183(o.entityTypes!); + checkUnnamed189(o.entityTypes!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13277,12 +13606,12 @@ void checkGoogleCloudAiplatformV1ListEntityTypesResponse( buildCounterGoogleCloudAiplatformV1ListEntityTypesResponse--; } -core.List buildUnnamed184() => [ +core.List buildUnnamed190() => [ buildGoogleCloudAiplatformV1Execution(), buildGoogleCloudAiplatformV1Execution(), ]; -void checkUnnamed184(core.List o) { +void checkUnnamed190(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Execution(o[0]); checkGoogleCloudAiplatformV1Execution(o[1]); @@ -13294,7 +13623,7 @@ api.GoogleCloudAiplatformV1ListExecutionsResponse final o = api.GoogleCloudAiplatformV1ListExecutionsResponse(); buildCounterGoogleCloudAiplatformV1ListExecutionsResponse++; if (buildCounterGoogleCloudAiplatformV1ListExecutionsResponse < 3) { - o.executions = buildUnnamed184(); + o.executions = buildUnnamed190(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListExecutionsResponse--; @@ -13305,7 +13634,7 @@ void checkGoogleCloudAiplatformV1ListExecutionsResponse( api.GoogleCloudAiplatformV1ListExecutionsResponse o) { buildCounterGoogleCloudAiplatformV1ListExecutionsResponse++; if (buildCounterGoogleCloudAiplatformV1ListExecutionsResponse < 3) { - checkUnnamed184(o.executions!); + checkUnnamed190(o.executions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13314,12 +13643,12 @@ void checkGoogleCloudAiplatformV1ListExecutionsResponse( buildCounterGoogleCloudAiplatformV1ListExecutionsResponse--; } -core.List buildUnnamed185() => [ +core.List buildUnnamed191() => [ buildGoogleCloudAiplatformV1FeatureGroup(), buildGoogleCloudAiplatformV1FeatureGroup(), ]; -void checkUnnamed185(core.List o) { +void checkUnnamed191(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1FeatureGroup(o[0]); checkGoogleCloudAiplatformV1FeatureGroup(o[1]); @@ -13331,7 +13660,7 @@ api.GoogleCloudAiplatformV1ListFeatureGroupsResponse final o = api.GoogleCloudAiplatformV1ListFeatureGroupsResponse(); buildCounterGoogleCloudAiplatformV1ListFeatureGroupsResponse++; if (buildCounterGoogleCloudAiplatformV1ListFeatureGroupsResponse < 3) { - o.featureGroups = buildUnnamed185(); + o.featureGroups = buildUnnamed191(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListFeatureGroupsResponse--; @@ -13342,7 +13671,7 @@ void checkGoogleCloudAiplatformV1ListFeatureGroupsResponse( api.GoogleCloudAiplatformV1ListFeatureGroupsResponse o) { buildCounterGoogleCloudAiplatformV1ListFeatureGroupsResponse++; if (buildCounterGoogleCloudAiplatformV1ListFeatureGroupsResponse < 3) { - checkUnnamed185(o.featureGroups!); + checkUnnamed191(o.featureGroups!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13351,12 +13680,12 @@ void checkGoogleCloudAiplatformV1ListFeatureGroupsResponse( buildCounterGoogleCloudAiplatformV1ListFeatureGroupsResponse--; } -core.List buildUnnamed186() => [ +core.List buildUnnamed192() => [ buildGoogleCloudAiplatformV1FeatureOnlineStore(), buildGoogleCloudAiplatformV1FeatureOnlineStore(), ]; -void checkUnnamed186( +void checkUnnamed192( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1FeatureOnlineStore(o[0]); @@ -13369,7 +13698,7 @@ api.GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse final o = api.GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse(); buildCounterGoogleCloudAiplatformV1ListFeatureOnlineStoresResponse++; if (buildCounterGoogleCloudAiplatformV1ListFeatureOnlineStoresResponse < 3) { - o.featureOnlineStores = buildUnnamed186(); + o.featureOnlineStores = buildUnnamed192(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListFeatureOnlineStoresResponse--; @@ -13380,7 +13709,7 @@ void checkGoogleCloudAiplatformV1ListFeatureOnlineStoresResponse( api.GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse o) { buildCounterGoogleCloudAiplatformV1ListFeatureOnlineStoresResponse++; if (buildCounterGoogleCloudAiplatformV1ListFeatureOnlineStoresResponse < 3) { - checkUnnamed186(o.featureOnlineStores!); + checkUnnamed192(o.featureOnlineStores!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13389,12 +13718,12 @@ void checkGoogleCloudAiplatformV1ListFeatureOnlineStoresResponse( buildCounterGoogleCloudAiplatformV1ListFeatureOnlineStoresResponse--; } -core.List buildUnnamed187() => [ +core.List buildUnnamed193() => [ buildGoogleCloudAiplatformV1FeatureViewSync(), buildGoogleCloudAiplatformV1FeatureViewSync(), ]; -void checkUnnamed187(core.List o) { +void checkUnnamed193(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1FeatureViewSync(o[0]); checkGoogleCloudAiplatformV1FeatureViewSync(o[1]); @@ -13406,7 +13735,7 @@ api.GoogleCloudAiplatformV1ListFeatureViewSyncsResponse final o = api.GoogleCloudAiplatformV1ListFeatureViewSyncsResponse(); buildCounterGoogleCloudAiplatformV1ListFeatureViewSyncsResponse++; if (buildCounterGoogleCloudAiplatformV1ListFeatureViewSyncsResponse < 3) { - o.featureViewSyncs = buildUnnamed187(); + o.featureViewSyncs = buildUnnamed193(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListFeatureViewSyncsResponse--; @@ -13417,7 +13746,7 @@ void checkGoogleCloudAiplatformV1ListFeatureViewSyncsResponse( api.GoogleCloudAiplatformV1ListFeatureViewSyncsResponse o) { buildCounterGoogleCloudAiplatformV1ListFeatureViewSyncsResponse++; if (buildCounterGoogleCloudAiplatformV1ListFeatureViewSyncsResponse < 3) { - checkUnnamed187(o.featureViewSyncs!); + checkUnnamed193(o.featureViewSyncs!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13426,12 +13755,12 @@ void checkGoogleCloudAiplatformV1ListFeatureViewSyncsResponse( buildCounterGoogleCloudAiplatformV1ListFeatureViewSyncsResponse--; } -core.List buildUnnamed188() => [ +core.List buildUnnamed194() => [ buildGoogleCloudAiplatformV1FeatureView(), buildGoogleCloudAiplatformV1FeatureView(), ]; -void checkUnnamed188(core.List o) { +void checkUnnamed194(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1FeatureView(o[0]); checkGoogleCloudAiplatformV1FeatureView(o[1]); @@ -13443,7 +13772,7 @@ api.GoogleCloudAiplatformV1ListFeatureViewsResponse final o = api.GoogleCloudAiplatformV1ListFeatureViewsResponse(); buildCounterGoogleCloudAiplatformV1ListFeatureViewsResponse++; if (buildCounterGoogleCloudAiplatformV1ListFeatureViewsResponse < 3) { - o.featureViews = buildUnnamed188(); + o.featureViews = buildUnnamed194(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListFeatureViewsResponse--; @@ -13454,7 +13783,7 @@ void checkGoogleCloudAiplatformV1ListFeatureViewsResponse( api.GoogleCloudAiplatformV1ListFeatureViewsResponse o) { buildCounterGoogleCloudAiplatformV1ListFeatureViewsResponse++; if (buildCounterGoogleCloudAiplatformV1ListFeatureViewsResponse < 3) { - checkUnnamed188(o.featureViews!); + checkUnnamed194(o.featureViews!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13463,12 +13792,12 @@ void checkGoogleCloudAiplatformV1ListFeatureViewsResponse( buildCounterGoogleCloudAiplatformV1ListFeatureViewsResponse--; } -core.List buildUnnamed189() => [ +core.List buildUnnamed195() => [ buildGoogleCloudAiplatformV1Feature(), buildGoogleCloudAiplatformV1Feature(), ]; -void checkUnnamed189(core.List o) { +void checkUnnamed195(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Feature(o[0]); checkGoogleCloudAiplatformV1Feature(o[1]); @@ -13480,7 +13809,7 @@ api.GoogleCloudAiplatformV1ListFeaturesResponse final o = api.GoogleCloudAiplatformV1ListFeaturesResponse(); buildCounterGoogleCloudAiplatformV1ListFeaturesResponse++; if (buildCounterGoogleCloudAiplatformV1ListFeaturesResponse < 3) { - o.features = buildUnnamed189(); + o.features = buildUnnamed195(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListFeaturesResponse--; @@ -13491,7 +13820,7 @@ void checkGoogleCloudAiplatformV1ListFeaturesResponse( api.GoogleCloudAiplatformV1ListFeaturesResponse o) { buildCounterGoogleCloudAiplatformV1ListFeaturesResponse++; if (buildCounterGoogleCloudAiplatformV1ListFeaturesResponse < 3) { - checkUnnamed189(o.features!); + checkUnnamed195(o.features!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13500,12 +13829,12 @@ void checkGoogleCloudAiplatformV1ListFeaturesResponse( buildCounterGoogleCloudAiplatformV1ListFeaturesResponse--; } -core.List buildUnnamed190() => [ +core.List buildUnnamed196() => [ buildGoogleCloudAiplatformV1Featurestore(), buildGoogleCloudAiplatformV1Featurestore(), ]; -void checkUnnamed190(core.List o) { +void checkUnnamed196(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Featurestore(o[0]); checkGoogleCloudAiplatformV1Featurestore(o[1]); @@ -13517,7 +13846,7 @@ api.GoogleCloudAiplatformV1ListFeaturestoresResponse final o = api.GoogleCloudAiplatformV1ListFeaturestoresResponse(); buildCounterGoogleCloudAiplatformV1ListFeaturestoresResponse++; if (buildCounterGoogleCloudAiplatformV1ListFeaturestoresResponse < 3) { - o.featurestores = buildUnnamed190(); + o.featurestores = buildUnnamed196(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListFeaturestoresResponse--; @@ -13528,7 +13857,7 @@ void checkGoogleCloudAiplatformV1ListFeaturestoresResponse( api.GoogleCloudAiplatformV1ListFeaturestoresResponse o) { buildCounterGoogleCloudAiplatformV1ListFeaturestoresResponse++; if (buildCounterGoogleCloudAiplatformV1ListFeaturestoresResponse < 3) { - checkUnnamed190(o.featurestores!); + checkUnnamed196(o.featurestores!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13538,12 +13867,12 @@ void checkGoogleCloudAiplatformV1ListFeaturestoresResponse( } core.List - buildUnnamed191() => [ + buildUnnamed197() => [ buildGoogleCloudAiplatformV1HyperparameterTuningJob(), buildGoogleCloudAiplatformV1HyperparameterTuningJob(), ]; -void checkUnnamed191( +void checkUnnamed197( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1HyperparameterTuningJob(o[0]); @@ -13558,7 +13887,7 @@ api.GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse buildCounterGoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse++; if (buildCounterGoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse < 3) { - o.hyperparameterTuningJobs = buildUnnamed191(); + o.hyperparameterTuningJobs = buildUnnamed197(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse--; @@ -13570,7 +13899,7 @@ void checkGoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse( buildCounterGoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse++; if (buildCounterGoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse < 3) { - checkUnnamed191(o.hyperparameterTuningJobs!); + checkUnnamed197(o.hyperparameterTuningJobs!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13579,12 +13908,12 @@ void checkGoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse( buildCounterGoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse--; } -core.List buildUnnamed192() => [ +core.List buildUnnamed198() => [ buildGoogleCloudAiplatformV1IndexEndpoint(), buildGoogleCloudAiplatformV1IndexEndpoint(), ]; -void checkUnnamed192(core.List o) { +void checkUnnamed198(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1IndexEndpoint(o[0]); checkGoogleCloudAiplatformV1IndexEndpoint(o[1]); @@ -13596,7 +13925,7 @@ api.GoogleCloudAiplatformV1ListIndexEndpointsResponse final o = api.GoogleCloudAiplatformV1ListIndexEndpointsResponse(); buildCounterGoogleCloudAiplatformV1ListIndexEndpointsResponse++; if (buildCounterGoogleCloudAiplatformV1ListIndexEndpointsResponse < 3) { - o.indexEndpoints = buildUnnamed192(); + o.indexEndpoints = buildUnnamed198(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListIndexEndpointsResponse--; @@ -13607,7 +13936,7 @@ void checkGoogleCloudAiplatformV1ListIndexEndpointsResponse( api.GoogleCloudAiplatformV1ListIndexEndpointsResponse o) { buildCounterGoogleCloudAiplatformV1ListIndexEndpointsResponse++; if (buildCounterGoogleCloudAiplatformV1ListIndexEndpointsResponse < 3) { - checkUnnamed192(o.indexEndpoints!); + checkUnnamed198(o.indexEndpoints!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13616,12 +13945,12 @@ void checkGoogleCloudAiplatformV1ListIndexEndpointsResponse( buildCounterGoogleCloudAiplatformV1ListIndexEndpointsResponse--; } -core.List buildUnnamed193() => [ +core.List buildUnnamed199() => [ buildGoogleCloudAiplatformV1Index(), buildGoogleCloudAiplatformV1Index(), ]; -void checkUnnamed193(core.List o) { +void checkUnnamed199(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Index(o[0]); checkGoogleCloudAiplatformV1Index(o[1]); @@ -13633,7 +13962,7 @@ api.GoogleCloudAiplatformV1ListIndexesResponse final o = api.GoogleCloudAiplatformV1ListIndexesResponse(); buildCounterGoogleCloudAiplatformV1ListIndexesResponse++; if (buildCounterGoogleCloudAiplatformV1ListIndexesResponse < 3) { - o.indexes = buildUnnamed193(); + o.indexes = buildUnnamed199(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListIndexesResponse--; @@ -13644,7 +13973,7 @@ void checkGoogleCloudAiplatformV1ListIndexesResponse( api.GoogleCloudAiplatformV1ListIndexesResponse o) { buildCounterGoogleCloudAiplatformV1ListIndexesResponse++; if (buildCounterGoogleCloudAiplatformV1ListIndexesResponse < 3) { - checkUnnamed193(o.indexes!); + checkUnnamed199(o.indexes!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13653,12 +13982,12 @@ void checkGoogleCloudAiplatformV1ListIndexesResponse( buildCounterGoogleCloudAiplatformV1ListIndexesResponse--; } -core.List buildUnnamed194() => [ +core.List buildUnnamed200() => [ buildGoogleCloudAiplatformV1MetadataSchema(), buildGoogleCloudAiplatformV1MetadataSchema(), ]; -void checkUnnamed194(core.List o) { +void checkUnnamed200(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1MetadataSchema(o[0]); checkGoogleCloudAiplatformV1MetadataSchema(o[1]); @@ -13670,7 +13999,7 @@ api.GoogleCloudAiplatformV1ListMetadataSchemasResponse final o = api.GoogleCloudAiplatformV1ListMetadataSchemasResponse(); buildCounterGoogleCloudAiplatformV1ListMetadataSchemasResponse++; if (buildCounterGoogleCloudAiplatformV1ListMetadataSchemasResponse < 3) { - o.metadataSchemas = buildUnnamed194(); + o.metadataSchemas = buildUnnamed200(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListMetadataSchemasResponse--; @@ -13681,7 +14010,7 @@ void checkGoogleCloudAiplatformV1ListMetadataSchemasResponse( api.GoogleCloudAiplatformV1ListMetadataSchemasResponse o) { buildCounterGoogleCloudAiplatformV1ListMetadataSchemasResponse++; if (buildCounterGoogleCloudAiplatformV1ListMetadataSchemasResponse < 3) { - checkUnnamed194(o.metadataSchemas!); + checkUnnamed200(o.metadataSchemas!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13690,12 +14019,12 @@ void checkGoogleCloudAiplatformV1ListMetadataSchemasResponse( buildCounterGoogleCloudAiplatformV1ListMetadataSchemasResponse--; } -core.List buildUnnamed195() => [ +core.List buildUnnamed201() => [ buildGoogleCloudAiplatformV1MetadataStore(), buildGoogleCloudAiplatformV1MetadataStore(), ]; -void checkUnnamed195(core.List o) { +void checkUnnamed201(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1MetadataStore(o[0]); checkGoogleCloudAiplatformV1MetadataStore(o[1]); @@ -13707,7 +14036,7 @@ api.GoogleCloudAiplatformV1ListMetadataStoresResponse final o = api.GoogleCloudAiplatformV1ListMetadataStoresResponse(); buildCounterGoogleCloudAiplatformV1ListMetadataStoresResponse++; if (buildCounterGoogleCloudAiplatformV1ListMetadataStoresResponse < 3) { - o.metadataStores = buildUnnamed195(); + o.metadataStores = buildUnnamed201(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListMetadataStoresResponse--; @@ -13718,7 +14047,7 @@ void checkGoogleCloudAiplatformV1ListMetadataStoresResponse( api.GoogleCloudAiplatformV1ListMetadataStoresResponse o) { buildCounterGoogleCloudAiplatformV1ListMetadataStoresResponse++; if (buildCounterGoogleCloudAiplatformV1ListMetadataStoresResponse < 3) { - checkUnnamed195(o.metadataStores!); + checkUnnamed201(o.metadataStores!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13728,12 +14057,12 @@ void checkGoogleCloudAiplatformV1ListMetadataStoresResponse( } core.List - buildUnnamed196() => [ + buildUnnamed202() => [ buildGoogleCloudAiplatformV1ModelDeploymentMonitoringJob(), buildGoogleCloudAiplatformV1ModelDeploymentMonitoringJob(), ]; -void checkUnnamed196( +void checkUnnamed202( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ModelDeploymentMonitoringJob(o[0]); @@ -13750,7 +14079,7 @@ api.GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse buildCounterGoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse++; if (buildCounterGoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse < 3) { - o.modelDeploymentMonitoringJobs = buildUnnamed196(); + o.modelDeploymentMonitoringJobs = buildUnnamed202(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse--; @@ -13762,7 +14091,7 @@ void checkGoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse( buildCounterGoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse++; if (buildCounterGoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse < 3) { - checkUnnamed196(o.modelDeploymentMonitoringJobs!); + checkUnnamed202(o.modelDeploymentMonitoringJobs!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13771,13 +14100,13 @@ void checkGoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse( buildCounterGoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse--; } -core.List buildUnnamed197() => +core.List buildUnnamed203() => [ buildGoogleCloudAiplatformV1ModelEvaluationSlice(), buildGoogleCloudAiplatformV1ModelEvaluationSlice(), ]; -void checkUnnamed197( +void checkUnnamed203( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ModelEvaluationSlice(o[0]); @@ -13792,7 +14121,7 @@ api.GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse buildCounterGoogleCloudAiplatformV1ListModelEvaluationSlicesResponse++; if (buildCounterGoogleCloudAiplatformV1ListModelEvaluationSlicesResponse < 3) { - o.modelEvaluationSlices = buildUnnamed197(); + o.modelEvaluationSlices = buildUnnamed203(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListModelEvaluationSlicesResponse--; @@ -13804,7 +14133,7 @@ void checkGoogleCloudAiplatformV1ListModelEvaluationSlicesResponse( buildCounterGoogleCloudAiplatformV1ListModelEvaluationSlicesResponse++; if (buildCounterGoogleCloudAiplatformV1ListModelEvaluationSlicesResponse < 3) { - checkUnnamed197(o.modelEvaluationSlices!); + checkUnnamed203(o.modelEvaluationSlices!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13813,12 +14142,12 @@ void checkGoogleCloudAiplatformV1ListModelEvaluationSlicesResponse( buildCounterGoogleCloudAiplatformV1ListModelEvaluationSlicesResponse--; } -core.List buildUnnamed198() => [ +core.List buildUnnamed204() => [ buildGoogleCloudAiplatformV1ModelEvaluation(), buildGoogleCloudAiplatformV1ModelEvaluation(), ]; -void checkUnnamed198(core.List o) { +void checkUnnamed204(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ModelEvaluation(o[0]); checkGoogleCloudAiplatformV1ModelEvaluation(o[1]); @@ -13830,7 +14159,7 @@ api.GoogleCloudAiplatformV1ListModelEvaluationsResponse final o = api.GoogleCloudAiplatformV1ListModelEvaluationsResponse(); buildCounterGoogleCloudAiplatformV1ListModelEvaluationsResponse++; if (buildCounterGoogleCloudAiplatformV1ListModelEvaluationsResponse < 3) { - o.modelEvaluations = buildUnnamed198(); + o.modelEvaluations = buildUnnamed204(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListModelEvaluationsResponse--; @@ -13841,7 +14170,7 @@ void checkGoogleCloudAiplatformV1ListModelEvaluationsResponse( api.GoogleCloudAiplatformV1ListModelEvaluationsResponse o) { buildCounterGoogleCloudAiplatformV1ListModelEvaluationsResponse++; if (buildCounterGoogleCloudAiplatformV1ListModelEvaluationsResponse < 3) { - checkUnnamed198(o.modelEvaluations!); + checkUnnamed204(o.modelEvaluations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13850,12 +14179,54 @@ void checkGoogleCloudAiplatformV1ListModelEvaluationsResponse( buildCounterGoogleCloudAiplatformV1ListModelEvaluationsResponse--; } -core.List buildUnnamed199() => [ +core.List + buildUnnamed205() => [ + buildGoogleCloudAiplatformV1ModelVersionCheckpoint(), + buildGoogleCloudAiplatformV1ModelVersionCheckpoint(), + ]; + +void checkUnnamed205( + core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudAiplatformV1ModelVersionCheckpoint(o[0]); + checkGoogleCloudAiplatformV1ModelVersionCheckpoint(o[1]); +} + +core.int + buildCounterGoogleCloudAiplatformV1ListModelVersionCheckpointsResponse = 0; +api.GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse + buildGoogleCloudAiplatformV1ListModelVersionCheckpointsResponse() { + final o = api.GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse(); + buildCounterGoogleCloudAiplatformV1ListModelVersionCheckpointsResponse++; + if (buildCounterGoogleCloudAiplatformV1ListModelVersionCheckpointsResponse < + 3) { + o.checkpoints = buildUnnamed205(); + o.nextPageToken = 'foo'; + } + buildCounterGoogleCloudAiplatformV1ListModelVersionCheckpointsResponse--; + return o; +} + +void checkGoogleCloudAiplatformV1ListModelVersionCheckpointsResponse( + api.GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse o) { + buildCounterGoogleCloudAiplatformV1ListModelVersionCheckpointsResponse++; + if (buildCounterGoogleCloudAiplatformV1ListModelVersionCheckpointsResponse < + 3) { + checkUnnamed205(o.checkpoints!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudAiplatformV1ListModelVersionCheckpointsResponse--; +} + +core.List buildUnnamed206() => [ buildGoogleCloudAiplatformV1Model(), buildGoogleCloudAiplatformV1Model(), ]; -void checkUnnamed199(core.List o) { +void checkUnnamed206(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Model(o[0]); checkGoogleCloudAiplatformV1Model(o[1]); @@ -13867,7 +14238,7 @@ api.GoogleCloudAiplatformV1ListModelVersionsResponse final o = api.GoogleCloudAiplatformV1ListModelVersionsResponse(); buildCounterGoogleCloudAiplatformV1ListModelVersionsResponse++; if (buildCounterGoogleCloudAiplatformV1ListModelVersionsResponse < 3) { - o.models = buildUnnamed199(); + o.models = buildUnnamed206(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListModelVersionsResponse--; @@ -13878,7 +14249,7 @@ void checkGoogleCloudAiplatformV1ListModelVersionsResponse( api.GoogleCloudAiplatformV1ListModelVersionsResponse o) { buildCounterGoogleCloudAiplatformV1ListModelVersionsResponse++; if (buildCounterGoogleCloudAiplatformV1ListModelVersionsResponse < 3) { - checkUnnamed199(o.models!); + checkUnnamed206(o.models!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13887,12 +14258,12 @@ void checkGoogleCloudAiplatformV1ListModelVersionsResponse( buildCounterGoogleCloudAiplatformV1ListModelVersionsResponse--; } -core.List buildUnnamed200() => [ +core.List buildUnnamed207() => [ buildGoogleCloudAiplatformV1Model(), buildGoogleCloudAiplatformV1Model(), ]; -void checkUnnamed200(core.List o) { +void checkUnnamed207(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Model(o[0]); checkGoogleCloudAiplatformV1Model(o[1]); @@ -13904,7 +14275,7 @@ api.GoogleCloudAiplatformV1ListModelsResponse final o = api.GoogleCloudAiplatformV1ListModelsResponse(); buildCounterGoogleCloudAiplatformV1ListModelsResponse++; if (buildCounterGoogleCloudAiplatformV1ListModelsResponse < 3) { - o.models = buildUnnamed200(); + o.models = buildUnnamed207(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListModelsResponse--; @@ -13915,7 +14286,7 @@ void checkGoogleCloudAiplatformV1ListModelsResponse( api.GoogleCloudAiplatformV1ListModelsResponse o) { buildCounterGoogleCloudAiplatformV1ListModelsResponse++; if (buildCounterGoogleCloudAiplatformV1ListModelsResponse < 3) { - checkUnnamed200(o.models!); + checkUnnamed207(o.models!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13924,12 +14295,12 @@ void checkGoogleCloudAiplatformV1ListModelsResponse( buildCounterGoogleCloudAiplatformV1ListModelsResponse--; } -core.List buildUnnamed201() => [ +core.List buildUnnamed208() => [ buildGoogleCloudAiplatformV1NasJob(), buildGoogleCloudAiplatformV1NasJob(), ]; -void checkUnnamed201(core.List o) { +void checkUnnamed208(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1NasJob(o[0]); checkGoogleCloudAiplatformV1NasJob(o[1]); @@ -13941,7 +14312,7 @@ api.GoogleCloudAiplatformV1ListNasJobsResponse final o = api.GoogleCloudAiplatformV1ListNasJobsResponse(); buildCounterGoogleCloudAiplatformV1ListNasJobsResponse++; if (buildCounterGoogleCloudAiplatformV1ListNasJobsResponse < 3) { - o.nasJobs = buildUnnamed201(); + o.nasJobs = buildUnnamed208(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListNasJobsResponse--; @@ -13952,7 +14323,7 @@ void checkGoogleCloudAiplatformV1ListNasJobsResponse( api.GoogleCloudAiplatformV1ListNasJobsResponse o) { buildCounterGoogleCloudAiplatformV1ListNasJobsResponse++; if (buildCounterGoogleCloudAiplatformV1ListNasJobsResponse < 3) { - checkUnnamed201(o.nasJobs!); + checkUnnamed208(o.nasJobs!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13961,12 +14332,12 @@ void checkGoogleCloudAiplatformV1ListNasJobsResponse( buildCounterGoogleCloudAiplatformV1ListNasJobsResponse--; } -core.List buildUnnamed202() => [ +core.List buildUnnamed209() => [ buildGoogleCloudAiplatformV1NasTrialDetail(), buildGoogleCloudAiplatformV1NasTrialDetail(), ]; -void checkUnnamed202(core.List o) { +void checkUnnamed209(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1NasTrialDetail(o[0]); checkGoogleCloudAiplatformV1NasTrialDetail(o[1]); @@ -13978,7 +14349,7 @@ api.GoogleCloudAiplatformV1ListNasTrialDetailsResponse final o = api.GoogleCloudAiplatformV1ListNasTrialDetailsResponse(); buildCounterGoogleCloudAiplatformV1ListNasTrialDetailsResponse++; if (buildCounterGoogleCloudAiplatformV1ListNasTrialDetailsResponse < 3) { - o.nasTrialDetails = buildUnnamed202(); + o.nasTrialDetails = buildUnnamed209(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1ListNasTrialDetailsResponse--; @@ -13989,7 +14360,7 @@ void checkGoogleCloudAiplatformV1ListNasTrialDetailsResponse( api.GoogleCloudAiplatformV1ListNasTrialDetailsResponse o) { buildCounterGoogleCloudAiplatformV1ListNasTrialDetailsResponse++; if (buildCounterGoogleCloudAiplatformV1ListNasTrialDetailsResponse < 3) { - checkUnnamed202(o.nasTrialDetails!); + checkUnnamed209(o.nasTrialDetails!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -13998,13 +14369,13 @@ void checkGoogleCloudAiplatformV1ListNasTrialDetailsResponse( buildCounterGoogleCloudAiplatformV1ListNasTrialDetailsResponse--; } -core.List buildUnnamed203() => +core.List buildUnnamed210() => [ buildGoogleCloudAiplatformV1NotebookExecutionJob(), buildGoogleCloudAiplatformV1NotebookExecutionJob(), ]; -void checkUnnamed203( +void checkUnnamed210( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1NotebookExecutionJob(o[0]); @@ -14020,7 +14391,7 @@ api.GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse if (buildCounterGoogleCloudAiplatformV1ListNotebookExecutionJobsResponse < 3) { o.nextPageToken = 'foo'; - o.notebookExecutionJobs = buildUnnamed203(); + o.notebookExecutionJobs = buildUnnamed210(); } buildCounterGoogleCloudAiplatformV1ListNotebookExecutionJobsResponse--; return o; @@ -14035,18 +14406,18 @@ void checkGoogleCloudAiplatformV1ListNotebookExecutionJobsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed203(o.notebookExecutionJobs!); + checkUnnamed210(o.notebookExecutionJobs!); } buildCounterGoogleCloudAiplatformV1ListNotebookExecutionJobsResponse--; } core.List - buildUnnamed204() => [ + buildUnnamed211() => [ buildGoogleCloudAiplatformV1NotebookRuntimeTemplate(), buildGoogleCloudAiplatformV1NotebookRuntimeTemplate(), ]; -void checkUnnamed204( +void checkUnnamed211( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1NotebookRuntimeTemplate(o[0]); @@ -14062,7 +14433,7 @@ api.GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse if (buildCounterGoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse < 3) { o.nextPageToken = 'foo'; - o.notebookRuntimeTemplates = buildUnnamed204(); + o.notebookRuntimeTemplates = buildUnnamed211(); } buildCounterGoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse--; return o; @@ -14077,17 +14448,17 @@ void checkGoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed204(o.notebookRuntimeTemplates!); + checkUnnamed211(o.notebookRuntimeTemplates!); } buildCounterGoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse--; } -core.List buildUnnamed205() => [ +core.List buildUnnamed212() => [ buildGoogleCloudAiplatformV1NotebookRuntime(), buildGoogleCloudAiplatformV1NotebookRuntime(), ]; -void checkUnnamed205(core.List o) { +void checkUnnamed212(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1NotebookRuntime(o[0]); checkGoogleCloudAiplatformV1NotebookRuntime(o[1]); @@ -14100,7 +14471,7 @@ api.GoogleCloudAiplatformV1ListNotebookRuntimesResponse buildCounterGoogleCloudAiplatformV1ListNotebookRuntimesResponse++; if (buildCounterGoogleCloudAiplatformV1ListNotebookRuntimesResponse < 3) { o.nextPageToken = 'foo'; - o.notebookRuntimes = buildUnnamed205(); + o.notebookRuntimes = buildUnnamed212(); } buildCounterGoogleCloudAiplatformV1ListNotebookRuntimesResponse--; return o; @@ -14114,7 +14485,7 @@ void checkGoogleCloudAiplatformV1ListNotebookRuntimesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed205(o.notebookRuntimes!); + checkUnnamed212(o.notebookRuntimes!); } buildCounterGoogleCloudAiplatformV1ListNotebookRuntimesResponse--; } @@ -14136,12 +14507,12 @@ void checkGoogleCloudAiplatformV1ListOptimalTrialsRequest( buildCounterGoogleCloudAiplatformV1ListOptimalTrialsRequest--; } -core.List buildUnnamed206() => [ +core.List buildUnnamed213() => [ buildGoogleCloudAiplatformV1Trial(), buildGoogleCloudAiplatformV1Trial(), ]; -void checkUnnamed206(core.List o) { +void checkUnnamed213(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Trial(o[0]); checkGoogleCloudAiplatformV1Trial(o[1]); @@ -14153,7 +14524,7 @@ api.GoogleCloudAiplatformV1ListOptimalTrialsResponse final o = api.GoogleCloudAiplatformV1ListOptimalTrialsResponse(); buildCounterGoogleCloudAiplatformV1ListOptimalTrialsResponse++; if (buildCounterGoogleCloudAiplatformV1ListOptimalTrialsResponse < 3) { - o.optimalTrials = buildUnnamed206(); + o.optimalTrials = buildUnnamed213(); } buildCounterGoogleCloudAiplatformV1ListOptimalTrialsResponse--; return o; @@ -14163,17 +14534,17 @@ void checkGoogleCloudAiplatformV1ListOptimalTrialsResponse( api.GoogleCloudAiplatformV1ListOptimalTrialsResponse o) { buildCounterGoogleCloudAiplatformV1ListOptimalTrialsResponse++; if (buildCounterGoogleCloudAiplatformV1ListOptimalTrialsResponse < 3) { - checkUnnamed206(o.optimalTrials!); + checkUnnamed213(o.optimalTrials!); } buildCounterGoogleCloudAiplatformV1ListOptimalTrialsResponse--; } -core.List buildUnnamed207() => [ +core.List buildUnnamed214() => [ buildGoogleCloudAiplatformV1PersistentResource(), buildGoogleCloudAiplatformV1PersistentResource(), ]; -void checkUnnamed207( +void checkUnnamed214( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1PersistentResource(o[0]); @@ -14187,7 +14558,7 @@ api.GoogleCloudAiplatformV1ListPersistentResourcesResponse buildCounterGoogleCloudAiplatformV1ListPersistentResourcesResponse++; if (buildCounterGoogleCloudAiplatformV1ListPersistentResourcesResponse < 3) { o.nextPageToken = 'foo'; - o.persistentResources = buildUnnamed207(); + o.persistentResources = buildUnnamed214(); } buildCounterGoogleCloudAiplatformV1ListPersistentResourcesResponse--; return o; @@ -14201,17 +14572,17 @@ void checkGoogleCloudAiplatformV1ListPersistentResourcesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed207(o.persistentResources!); + checkUnnamed214(o.persistentResources!); } buildCounterGoogleCloudAiplatformV1ListPersistentResourcesResponse--; } -core.List buildUnnamed208() => [ +core.List buildUnnamed215() => [ buildGoogleCloudAiplatformV1PipelineJob(), buildGoogleCloudAiplatformV1PipelineJob(), ]; -void checkUnnamed208(core.List o) { +void checkUnnamed215(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1PipelineJob(o[0]); checkGoogleCloudAiplatformV1PipelineJob(o[1]); @@ -14224,7 +14595,7 @@ api.GoogleCloudAiplatformV1ListPipelineJobsResponse buildCounterGoogleCloudAiplatformV1ListPipelineJobsResponse++; if (buildCounterGoogleCloudAiplatformV1ListPipelineJobsResponse < 3) { o.nextPageToken = 'foo'; - o.pipelineJobs = buildUnnamed208(); + o.pipelineJobs = buildUnnamed215(); } buildCounterGoogleCloudAiplatformV1ListPipelineJobsResponse--; return o; @@ -14238,17 +14609,17 @@ void checkGoogleCloudAiplatformV1ListPipelineJobsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed208(o.pipelineJobs!); + checkUnnamed215(o.pipelineJobs!); } buildCounterGoogleCloudAiplatformV1ListPipelineJobsResponse--; } -core.List buildUnnamed209() => [ +core.List buildUnnamed216() => [ buildGoogleCloudAiplatformV1RagCorpus(), buildGoogleCloudAiplatformV1RagCorpus(), ]; -void checkUnnamed209(core.List o) { +void checkUnnamed216(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1RagCorpus(o[0]); checkGoogleCloudAiplatformV1RagCorpus(o[1]); @@ -14261,7 +14632,7 @@ api.GoogleCloudAiplatformV1ListRagCorporaResponse buildCounterGoogleCloudAiplatformV1ListRagCorporaResponse++; if (buildCounterGoogleCloudAiplatformV1ListRagCorporaResponse < 3) { o.nextPageToken = 'foo'; - o.ragCorpora = buildUnnamed209(); + o.ragCorpora = buildUnnamed216(); } buildCounterGoogleCloudAiplatformV1ListRagCorporaResponse--; return o; @@ -14275,17 +14646,17 @@ void checkGoogleCloudAiplatformV1ListRagCorporaResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed209(o.ragCorpora!); + checkUnnamed216(o.ragCorpora!); } buildCounterGoogleCloudAiplatformV1ListRagCorporaResponse--; } -core.List buildUnnamed210() => [ +core.List buildUnnamed217() => [ buildGoogleCloudAiplatformV1RagFile(), buildGoogleCloudAiplatformV1RagFile(), ]; -void checkUnnamed210(core.List o) { +void checkUnnamed217(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1RagFile(o[0]); checkGoogleCloudAiplatformV1RagFile(o[1]); @@ -14298,7 +14669,7 @@ api.GoogleCloudAiplatformV1ListRagFilesResponse buildCounterGoogleCloudAiplatformV1ListRagFilesResponse++; if (buildCounterGoogleCloudAiplatformV1ListRagFilesResponse < 3) { o.nextPageToken = 'foo'; - o.ragFiles = buildUnnamed210(); + o.ragFiles = buildUnnamed217(); } buildCounterGoogleCloudAiplatformV1ListRagFilesResponse--; return o; @@ -14312,17 +14683,17 @@ void checkGoogleCloudAiplatformV1ListRagFilesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed210(o.ragFiles!); + checkUnnamed217(o.ragFiles!); } buildCounterGoogleCloudAiplatformV1ListRagFilesResponse--; } -core.List buildUnnamed211() => [ +core.List buildUnnamed218() => [ buildGoogleCloudAiplatformV1ReasoningEngine(), buildGoogleCloudAiplatformV1ReasoningEngine(), ]; -void checkUnnamed211(core.List o) { +void checkUnnamed218(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ReasoningEngine(o[0]); checkGoogleCloudAiplatformV1ReasoningEngine(o[1]); @@ -14335,7 +14706,7 @@ api.GoogleCloudAiplatformV1ListReasoningEnginesResponse buildCounterGoogleCloudAiplatformV1ListReasoningEnginesResponse++; if (buildCounterGoogleCloudAiplatformV1ListReasoningEnginesResponse < 3) { o.nextPageToken = 'foo'; - o.reasoningEngines = buildUnnamed211(); + o.reasoningEngines = buildUnnamed218(); } buildCounterGoogleCloudAiplatformV1ListReasoningEnginesResponse--; return o; @@ -14349,17 +14720,17 @@ void checkGoogleCloudAiplatformV1ListReasoningEnginesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed211(o.reasoningEngines!); + checkUnnamed218(o.reasoningEngines!); } buildCounterGoogleCloudAiplatformV1ListReasoningEnginesResponse--; } -core.List buildUnnamed212() => [ +core.List buildUnnamed219() => [ buildGoogleCloudAiplatformV1SavedQuery(), buildGoogleCloudAiplatformV1SavedQuery(), ]; -void checkUnnamed212(core.List o) { +void checkUnnamed219(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1SavedQuery(o[0]); checkGoogleCloudAiplatformV1SavedQuery(o[1]); @@ -14372,7 +14743,7 @@ api.GoogleCloudAiplatformV1ListSavedQueriesResponse buildCounterGoogleCloudAiplatformV1ListSavedQueriesResponse++; if (buildCounterGoogleCloudAiplatformV1ListSavedQueriesResponse < 3) { o.nextPageToken = 'foo'; - o.savedQueries = buildUnnamed212(); + o.savedQueries = buildUnnamed219(); } buildCounterGoogleCloudAiplatformV1ListSavedQueriesResponse--; return o; @@ -14386,17 +14757,17 @@ void checkGoogleCloudAiplatformV1ListSavedQueriesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed212(o.savedQueries!); + checkUnnamed219(o.savedQueries!); } buildCounterGoogleCloudAiplatformV1ListSavedQueriesResponse--; } -core.List buildUnnamed213() => [ +core.List buildUnnamed220() => [ buildGoogleCloudAiplatformV1Schedule(), buildGoogleCloudAiplatformV1Schedule(), ]; -void checkUnnamed213(core.List o) { +void checkUnnamed220(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Schedule(o[0]); checkGoogleCloudAiplatformV1Schedule(o[1]); @@ -14409,7 +14780,7 @@ api.GoogleCloudAiplatformV1ListSchedulesResponse buildCounterGoogleCloudAiplatformV1ListSchedulesResponse++; if (buildCounterGoogleCloudAiplatformV1ListSchedulesResponse < 3) { o.nextPageToken = 'foo'; - o.schedules = buildUnnamed213(); + o.schedules = buildUnnamed220(); } buildCounterGoogleCloudAiplatformV1ListSchedulesResponse--; return o; @@ -14423,17 +14794,17 @@ void checkGoogleCloudAiplatformV1ListSchedulesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed213(o.schedules!); + checkUnnamed220(o.schedules!); } buildCounterGoogleCloudAiplatformV1ListSchedulesResponse--; } -core.List buildUnnamed214() => [ +core.List buildUnnamed221() => [ buildGoogleCloudAiplatformV1SpecialistPool(), buildGoogleCloudAiplatformV1SpecialistPool(), ]; -void checkUnnamed214(core.List o) { +void checkUnnamed221(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1SpecialistPool(o[0]); checkGoogleCloudAiplatformV1SpecialistPool(o[1]); @@ -14446,7 +14817,7 @@ api.GoogleCloudAiplatformV1ListSpecialistPoolsResponse buildCounterGoogleCloudAiplatformV1ListSpecialistPoolsResponse++; if (buildCounterGoogleCloudAiplatformV1ListSpecialistPoolsResponse < 3) { o.nextPageToken = 'foo'; - o.specialistPools = buildUnnamed214(); + o.specialistPools = buildUnnamed221(); } buildCounterGoogleCloudAiplatformV1ListSpecialistPoolsResponse--; return o; @@ -14460,17 +14831,17 @@ void checkGoogleCloudAiplatformV1ListSpecialistPoolsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed214(o.specialistPools!); + checkUnnamed221(o.specialistPools!); } buildCounterGoogleCloudAiplatformV1ListSpecialistPoolsResponse--; } -core.List buildUnnamed215() => [ +core.List buildUnnamed222() => [ buildGoogleCloudAiplatformV1Study(), buildGoogleCloudAiplatformV1Study(), ]; -void checkUnnamed215(core.List o) { +void checkUnnamed222(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Study(o[0]); checkGoogleCloudAiplatformV1Study(o[1]); @@ -14483,7 +14854,7 @@ api.GoogleCloudAiplatformV1ListStudiesResponse buildCounterGoogleCloudAiplatformV1ListStudiesResponse++; if (buildCounterGoogleCloudAiplatformV1ListStudiesResponse < 3) { o.nextPageToken = 'foo'; - o.studies = buildUnnamed215(); + o.studies = buildUnnamed222(); } buildCounterGoogleCloudAiplatformV1ListStudiesResponse--; return o; @@ -14497,18 +14868,18 @@ void checkGoogleCloudAiplatformV1ListStudiesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed215(o.studies!); + checkUnnamed222(o.studies!); } buildCounterGoogleCloudAiplatformV1ListStudiesResponse--; } -core.List buildUnnamed216() => +core.List buildUnnamed223() => [ buildGoogleCloudAiplatformV1TensorboardExperiment(), buildGoogleCloudAiplatformV1TensorboardExperiment(), ]; -void checkUnnamed216( +void checkUnnamed223( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1TensorboardExperiment(o[0]); @@ -14524,7 +14895,7 @@ api.GoogleCloudAiplatformV1ListTensorboardExperimentsResponse if (buildCounterGoogleCloudAiplatformV1ListTensorboardExperimentsResponse < 3) { o.nextPageToken = 'foo'; - o.tensorboardExperiments = buildUnnamed216(); + o.tensorboardExperiments = buildUnnamed223(); } buildCounterGoogleCloudAiplatformV1ListTensorboardExperimentsResponse--; return o; @@ -14539,17 +14910,17 @@ void checkGoogleCloudAiplatformV1ListTensorboardExperimentsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed216(o.tensorboardExperiments!); + checkUnnamed223(o.tensorboardExperiments!); } buildCounterGoogleCloudAiplatformV1ListTensorboardExperimentsResponse--; } -core.List buildUnnamed217() => [ +core.List buildUnnamed224() => [ buildGoogleCloudAiplatformV1TensorboardRun(), buildGoogleCloudAiplatformV1TensorboardRun(), ]; -void checkUnnamed217(core.List o) { +void checkUnnamed224(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1TensorboardRun(o[0]); checkGoogleCloudAiplatformV1TensorboardRun(o[1]); @@ -14562,7 +14933,7 @@ api.GoogleCloudAiplatformV1ListTensorboardRunsResponse buildCounterGoogleCloudAiplatformV1ListTensorboardRunsResponse++; if (buildCounterGoogleCloudAiplatformV1ListTensorboardRunsResponse < 3) { o.nextPageToken = 'foo'; - o.tensorboardRuns = buildUnnamed217(); + o.tensorboardRuns = buildUnnamed224(); } buildCounterGoogleCloudAiplatformV1ListTensorboardRunsResponse--; return o; @@ -14576,18 +14947,18 @@ void checkGoogleCloudAiplatformV1ListTensorboardRunsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed217(o.tensorboardRuns!); + checkUnnamed224(o.tensorboardRuns!); } buildCounterGoogleCloudAiplatformV1ListTensorboardRunsResponse--; } -core.List buildUnnamed218() => +core.List buildUnnamed225() => [ buildGoogleCloudAiplatformV1TensorboardTimeSeries(), buildGoogleCloudAiplatformV1TensorboardTimeSeries(), ]; -void checkUnnamed218( +void checkUnnamed225( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1TensorboardTimeSeries(o[0]); @@ -14603,7 +14974,7 @@ api.GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse if (buildCounterGoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse < 3) { o.nextPageToken = 'foo'; - o.tensorboardTimeSeries = buildUnnamed218(); + o.tensorboardTimeSeries = buildUnnamed225(); } buildCounterGoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse--; return o; @@ -14618,17 +14989,17 @@ void checkGoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed218(o.tensorboardTimeSeries!); + checkUnnamed225(o.tensorboardTimeSeries!); } buildCounterGoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse--; } -core.List buildUnnamed219() => [ +core.List buildUnnamed226() => [ buildGoogleCloudAiplatformV1Tensorboard(), buildGoogleCloudAiplatformV1Tensorboard(), ]; -void checkUnnamed219(core.List o) { +void checkUnnamed226(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Tensorboard(o[0]); checkGoogleCloudAiplatformV1Tensorboard(o[1]); @@ -14641,7 +15012,7 @@ api.GoogleCloudAiplatformV1ListTensorboardsResponse buildCounterGoogleCloudAiplatformV1ListTensorboardsResponse++; if (buildCounterGoogleCloudAiplatformV1ListTensorboardsResponse < 3) { o.nextPageToken = 'foo'; - o.tensorboards = buildUnnamed219(); + o.tensorboards = buildUnnamed226(); } buildCounterGoogleCloudAiplatformV1ListTensorboardsResponse--; return o; @@ -14655,17 +15026,17 @@ void checkGoogleCloudAiplatformV1ListTensorboardsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed219(o.tensorboards!); + checkUnnamed226(o.tensorboards!); } buildCounterGoogleCloudAiplatformV1ListTensorboardsResponse--; } -core.List buildUnnamed220() => [ +core.List buildUnnamed227() => [ buildGoogleCloudAiplatformV1TrainingPipeline(), buildGoogleCloudAiplatformV1TrainingPipeline(), ]; -void checkUnnamed220(core.List o) { +void checkUnnamed227(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1TrainingPipeline(o[0]); checkGoogleCloudAiplatformV1TrainingPipeline(o[1]); @@ -14678,7 +15049,7 @@ api.GoogleCloudAiplatformV1ListTrainingPipelinesResponse buildCounterGoogleCloudAiplatformV1ListTrainingPipelinesResponse++; if (buildCounterGoogleCloudAiplatformV1ListTrainingPipelinesResponse < 3) { o.nextPageToken = 'foo'; - o.trainingPipelines = buildUnnamed220(); + o.trainingPipelines = buildUnnamed227(); } buildCounterGoogleCloudAiplatformV1ListTrainingPipelinesResponse--; return o; @@ -14692,17 +15063,17 @@ void checkGoogleCloudAiplatformV1ListTrainingPipelinesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed220(o.trainingPipelines!); + checkUnnamed227(o.trainingPipelines!); } buildCounterGoogleCloudAiplatformV1ListTrainingPipelinesResponse--; } -core.List buildUnnamed221() => [ +core.List buildUnnamed228() => [ buildGoogleCloudAiplatformV1Trial(), buildGoogleCloudAiplatformV1Trial(), ]; -void checkUnnamed221(core.List o) { +void checkUnnamed228(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Trial(o[0]); checkGoogleCloudAiplatformV1Trial(o[1]); @@ -14715,7 +15086,7 @@ api.GoogleCloudAiplatformV1ListTrialsResponse buildCounterGoogleCloudAiplatformV1ListTrialsResponse++; if (buildCounterGoogleCloudAiplatformV1ListTrialsResponse < 3) { o.nextPageToken = 'foo'; - o.trials = buildUnnamed221(); + o.trials = buildUnnamed228(); } buildCounterGoogleCloudAiplatformV1ListTrialsResponse--; return o; @@ -14729,17 +15100,17 @@ void checkGoogleCloudAiplatformV1ListTrialsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed221(o.trials!); + checkUnnamed228(o.trials!); } buildCounterGoogleCloudAiplatformV1ListTrialsResponse--; } -core.List buildUnnamed222() => [ +core.List buildUnnamed229() => [ buildGoogleCloudAiplatformV1TuningJob(), buildGoogleCloudAiplatformV1TuningJob(), ]; -void checkUnnamed222(core.List o) { +void checkUnnamed229(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1TuningJob(o[0]); checkGoogleCloudAiplatformV1TuningJob(o[1]); @@ -14752,7 +15123,7 @@ api.GoogleCloudAiplatformV1ListTuningJobsResponse buildCounterGoogleCloudAiplatformV1ListTuningJobsResponse++; if (buildCounterGoogleCloudAiplatformV1ListTuningJobsResponse < 3) { o.nextPageToken = 'foo'; - o.tuningJobs = buildUnnamed222(); + o.tuningJobs = buildUnnamed229(); } buildCounterGoogleCloudAiplatformV1ListTuningJobsResponse--; return o; @@ -14766,18 +15137,18 @@ void checkGoogleCloudAiplatformV1ListTuningJobsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed222(o.tuningJobs!); + checkUnnamed229(o.tuningJobs!); } buildCounterGoogleCloudAiplatformV1ListTuningJobsResponse--; } core.List - buildUnnamed223() => [ + buildUnnamed230() => [ buildGoogleCloudAiplatformV1LogprobsResultCandidate(), buildGoogleCloudAiplatformV1LogprobsResultCandidate(), ]; -void checkUnnamed223( +void checkUnnamed230( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1LogprobsResultCandidate(o[0]); @@ -14785,12 +15156,12 @@ void checkUnnamed223( } core.List - buildUnnamed224() => [ + buildUnnamed231() => [ buildGoogleCloudAiplatformV1LogprobsResultTopCandidates(), buildGoogleCloudAiplatformV1LogprobsResultTopCandidates(), ]; -void checkUnnamed224( +void checkUnnamed231( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1LogprobsResultTopCandidates(o[0]); @@ -14803,8 +15174,8 @@ api.GoogleCloudAiplatformV1LogprobsResult final o = api.GoogleCloudAiplatformV1LogprobsResult(); buildCounterGoogleCloudAiplatformV1LogprobsResult++; if (buildCounterGoogleCloudAiplatformV1LogprobsResult < 3) { - o.chosenCandidates = buildUnnamed223(); - o.topCandidates = buildUnnamed224(); + o.chosenCandidates = buildUnnamed230(); + o.topCandidates = buildUnnamed231(); } buildCounterGoogleCloudAiplatformV1LogprobsResult--; return o; @@ -14814,8 +15185,8 @@ void checkGoogleCloudAiplatformV1LogprobsResult( api.GoogleCloudAiplatformV1LogprobsResult o) { buildCounterGoogleCloudAiplatformV1LogprobsResult++; if (buildCounterGoogleCloudAiplatformV1LogprobsResult < 3) { - checkUnnamed223(o.chosenCandidates!); - checkUnnamed224(o.topCandidates!); + checkUnnamed230(o.chosenCandidates!); + checkUnnamed231(o.topCandidates!); } buildCounterGoogleCloudAiplatformV1LogprobsResult--; } @@ -14855,12 +15226,12 @@ void checkGoogleCloudAiplatformV1LogprobsResultCandidate( } core.List - buildUnnamed225() => [ + buildUnnamed232() => [ buildGoogleCloudAiplatformV1LogprobsResultCandidate(), buildGoogleCloudAiplatformV1LogprobsResultCandidate(), ]; -void checkUnnamed225( +void checkUnnamed232( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1LogprobsResultCandidate(o[0]); @@ -14873,7 +15244,7 @@ api.GoogleCloudAiplatformV1LogprobsResultTopCandidates final o = api.GoogleCloudAiplatformV1LogprobsResultTopCandidates(); buildCounterGoogleCloudAiplatformV1LogprobsResultTopCandidates++; if (buildCounterGoogleCloudAiplatformV1LogprobsResultTopCandidates < 3) { - o.candidates = buildUnnamed225(); + o.candidates = buildUnnamed232(); } buildCounterGoogleCloudAiplatformV1LogprobsResultTopCandidates--; return o; @@ -14883,7 +15254,7 @@ void checkGoogleCloudAiplatformV1LogprobsResultTopCandidates( api.GoogleCloudAiplatformV1LogprobsResultTopCandidates o) { buildCounterGoogleCloudAiplatformV1LogprobsResultTopCandidates++; if (buildCounterGoogleCloudAiplatformV1LogprobsResultTopCandidates < 3) { - checkUnnamed225(o.candidates!); + checkUnnamed232(o.candidates!); } buildCounterGoogleCloudAiplatformV1LogprobsResultTopCandidates--; } @@ -14977,12 +15348,12 @@ void checkGoogleCloudAiplatformV1ManualBatchTuningParameters( buildCounterGoogleCloudAiplatformV1ManualBatchTuningParameters--; } -core.List buildUnnamed226() => [ +core.List buildUnnamed233() => [ buildGoogleCloudAiplatformV1MeasurementMetric(), buildGoogleCloudAiplatformV1MeasurementMetric(), ]; -void checkUnnamed226( +void checkUnnamed233( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1MeasurementMetric(o[0]); @@ -14996,7 +15367,7 @@ api.GoogleCloudAiplatformV1Measurement buildCounterGoogleCloudAiplatformV1Measurement++; if (buildCounterGoogleCloudAiplatformV1Measurement < 3) { o.elapsedDuration = 'foo'; - o.metrics = buildUnnamed226(); + o.metrics = buildUnnamed233(); o.stepCount = 'foo'; } buildCounterGoogleCloudAiplatformV1Measurement--; @@ -15011,7 +15382,7 @@ void checkGoogleCloudAiplatformV1Measurement( o.elapsedDuration!, unittest.equals('foo'), ); - checkUnnamed226(o.metrics!); + checkUnnamed233(o.metrics!); unittest.expect( o.stepCount!, unittest.equals('foo'), @@ -15049,12 +15420,12 @@ void checkGoogleCloudAiplatformV1MeasurementMetric( buildCounterGoogleCloudAiplatformV1MeasurementMetric--; } -core.List buildUnnamed227() => [ +core.List buildUnnamed234() => [ 'foo', 'foo', ]; -void checkUnnamed227(core.List o) { +void checkUnnamed234(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -15072,7 +15443,7 @@ api.GoogleCloudAiplatformV1MergeVersionAliasesRequest final o = api.GoogleCloudAiplatformV1MergeVersionAliasesRequest(); buildCounterGoogleCloudAiplatformV1MergeVersionAliasesRequest++; if (buildCounterGoogleCloudAiplatformV1MergeVersionAliasesRequest < 3) { - o.versionAliases = buildUnnamed227(); + o.versionAliases = buildUnnamed234(); } buildCounterGoogleCloudAiplatformV1MergeVersionAliasesRequest--; return o; @@ -15082,7 +15453,7 @@ void checkGoogleCloudAiplatformV1MergeVersionAliasesRequest( api.GoogleCloudAiplatformV1MergeVersionAliasesRequest o) { buildCounterGoogleCloudAiplatformV1MergeVersionAliasesRequest++; if (buildCounterGoogleCloudAiplatformV1MergeVersionAliasesRequest < 3) { - checkUnnamed227(o.versionAliases!); + checkUnnamed234(o.versionAliases!); } buildCounterGoogleCloudAiplatformV1MergeVersionAliasesRequest--; } @@ -15227,6 +15598,52 @@ void checkGoogleCloudAiplatformV1MetadataStoreMetadataStoreState( buildCounterGoogleCloudAiplatformV1MetadataStoreMetadataStoreState--; } +core.List buildUnnamed235() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed235(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterGoogleCloudAiplatformV1Metric = 0; +api.GoogleCloudAiplatformV1Metric buildGoogleCloudAiplatformV1Metric() { + final o = api.GoogleCloudAiplatformV1Metric(); + buildCounterGoogleCloudAiplatformV1Metric++; + if (buildCounterGoogleCloudAiplatformV1Metric < 3) { + o.aggregationMetrics = buildUnnamed235(); + o.bleuSpec = buildGoogleCloudAiplatformV1BleuSpec(); + o.exactMatchSpec = buildGoogleCloudAiplatformV1ExactMatchSpec(); + o.pairwiseMetricSpec = buildGoogleCloudAiplatformV1PairwiseMetricSpec(); + o.pointwiseMetricSpec = buildGoogleCloudAiplatformV1PointwiseMetricSpec(); + o.rougeSpec = buildGoogleCloudAiplatformV1RougeSpec(); + } + buildCounterGoogleCloudAiplatformV1Metric--; + return o; +} + +void checkGoogleCloudAiplatformV1Metric(api.GoogleCloudAiplatformV1Metric o) { + buildCounterGoogleCloudAiplatformV1Metric++; + if (buildCounterGoogleCloudAiplatformV1Metric < 3) { + checkUnnamed235(o.aggregationMetrics!); + checkGoogleCloudAiplatformV1BleuSpec(o.bleuSpec!); + checkGoogleCloudAiplatformV1ExactMatchSpec(o.exactMatchSpec!); + checkGoogleCloudAiplatformV1PairwiseMetricSpec(o.pairwiseMetricSpec!); + checkGoogleCloudAiplatformV1PointwiseMetricSpec(o.pointwiseMetricSpec!); + checkGoogleCloudAiplatformV1RougeSpec(o.rougeSpec!); + } + buildCounterGoogleCloudAiplatformV1Metric--; +} + core.int buildCounterGoogleCloudAiplatformV1MetricxInput = 0; api.GoogleCloudAiplatformV1MetricxInput buildGoogleCloudAiplatformV1MetricxInput() { @@ -15446,12 +15863,12 @@ void checkGoogleCloudAiplatformV1MigratableResourceAutomlModel( core.List< api .GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset> - buildUnnamed228() => [ + buildUnnamed236() => [ buildGoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset(), buildGoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset(), ]; -void checkUnnamed228( +void checkUnnamed236( core.List< api .GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset> @@ -15472,7 +15889,7 @@ api.GoogleCloudAiplatformV1MigratableResourceDataLabelingDataset buildCounterGoogleCloudAiplatformV1MigratableResourceDataLabelingDataset++; if (buildCounterGoogleCloudAiplatformV1MigratableResourceDataLabelingDataset < 3) { - o.dataLabelingAnnotatedDatasets = buildUnnamed228(); + o.dataLabelingAnnotatedDatasets = buildUnnamed236(); o.dataset = 'foo'; o.datasetDisplayName = 'foo'; } @@ -15485,7 +15902,7 @@ void checkGoogleCloudAiplatformV1MigratableResourceDataLabelingDataset( buildCounterGoogleCloudAiplatformV1MigratableResourceDataLabelingDataset++; if (buildCounterGoogleCloudAiplatformV1MigratableResourceDataLabelingDataset < 3) { - checkUnnamed228(o.dataLabelingAnnotatedDatasets!); + checkUnnamed236(o.dataLabelingAnnotatedDatasets!); unittest.expect( o.dataset!, unittest.equals('foo'), @@ -15674,12 +16091,12 @@ void checkGoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlModelConfig( core.List< api .GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig> - buildUnnamed229() => [ + buildUnnamed237() => [ buildGoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig(), buildGoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig(), ]; -void checkUnnamed229( +void checkUnnamed237( core.List< api .GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig> @@ -15703,7 +16120,7 @@ api.GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfi 3) { o.dataset = 'foo'; o.datasetDisplayName = 'foo'; - o.migrateDataLabelingAnnotatedDatasetConfigs = buildUnnamed229(); + o.migrateDataLabelingAnnotatedDatasetConfigs = buildUnnamed237(); } buildCounterGoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig--; return o; @@ -15723,7 +16140,7 @@ void checkGoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatase o.datasetDisplayName!, unittest.equals('foo'), ); - checkUnnamed229(o.migrateDataLabelingAnnotatedDatasetConfigs!); + checkUnnamed237(o.migrateDataLabelingAnnotatedDatasetConfigs!); } buildCounterGoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig--; } @@ -15798,23 +16215,52 @@ void checkGoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersi buildCounterGoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig--; } -core.List buildUnnamed230() => [ +core.int buildCounterGoogleCloudAiplatformV1ModalityTokenCount = 0; +api.GoogleCloudAiplatformV1ModalityTokenCount + buildGoogleCloudAiplatformV1ModalityTokenCount() { + final o = api.GoogleCloudAiplatformV1ModalityTokenCount(); + buildCounterGoogleCloudAiplatformV1ModalityTokenCount++; + if (buildCounterGoogleCloudAiplatformV1ModalityTokenCount < 3) { + o.modality = 'foo'; + o.tokenCount = 42; + } + buildCounterGoogleCloudAiplatformV1ModalityTokenCount--; + return o; +} + +void checkGoogleCloudAiplatformV1ModalityTokenCount( + api.GoogleCloudAiplatformV1ModalityTokenCount o) { + buildCounterGoogleCloudAiplatformV1ModalityTokenCount++; + if (buildCounterGoogleCloudAiplatformV1ModalityTokenCount < 3) { + unittest.expect( + o.modality!, + unittest.equals('foo'), + ); + unittest.expect( + o.tokenCount!, + unittest.equals(42), + ); + } + buildCounterGoogleCloudAiplatformV1ModalityTokenCount--; +} + +core.List buildUnnamed238() => [ buildGoogleCloudAiplatformV1DeployedModelRef(), buildGoogleCloudAiplatformV1DeployedModelRef(), ]; -void checkUnnamed230(core.List o) { +void checkUnnamed238(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1DeployedModelRef(o[0]); checkGoogleCloudAiplatformV1DeployedModelRef(o[1]); } -core.Map buildUnnamed231() => { +core.Map buildUnnamed239() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed231(core.Map o) { +void checkUnnamed239(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -15826,12 +16272,12 @@ void checkUnnamed231(core.Map o) { ); } -core.List buildUnnamed232() => [ +core.List buildUnnamed240() => [ 'foo', 'foo', ]; -void checkUnnamed232(core.List o) { +void checkUnnamed240(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -15843,24 +16289,24 @@ void checkUnnamed232(core.List o) { ); } -core.List buildUnnamed233() => [ +core.List buildUnnamed241() => [ buildGoogleCloudAiplatformV1ModelExportFormat(), buildGoogleCloudAiplatformV1ModelExportFormat(), ]; -void checkUnnamed233( +void checkUnnamed241( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ModelExportFormat(o[0]); checkGoogleCloudAiplatformV1ModelExportFormat(o[1]); } -core.List buildUnnamed234() => [ +core.List buildUnnamed242() => [ 'foo', 'foo', ]; -void checkUnnamed234(core.List o) { +void checkUnnamed242(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -15872,12 +16318,12 @@ void checkUnnamed234(core.List o) { ); } -core.List buildUnnamed235() => [ +core.List buildUnnamed243() => [ 'foo', 'foo', ]; -void checkUnnamed235(core.List o) { +void checkUnnamed243(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -15889,12 +16335,12 @@ void checkUnnamed235(core.List o) { ); } -core.List buildUnnamed236() => [ +core.List buildUnnamed244() => [ 'foo', 'foo', ]; -void checkUnnamed236(core.List o) { +void checkUnnamed244(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -15916,13 +16362,14 @@ api.GoogleCloudAiplatformV1Model buildGoogleCloudAiplatformV1Model() { o.containerSpec = buildGoogleCloudAiplatformV1ModelContainerSpec(); o.createTime = 'foo'; o.dataStats = buildGoogleCloudAiplatformV1ModelDataStats(); - o.deployedModels = buildUnnamed230(); + o.defaultCheckpointId = 'foo'; + o.deployedModels = buildUnnamed238(); o.description = 'foo'; o.displayName = 'foo'; o.encryptionSpec = buildGoogleCloudAiplatformV1EncryptionSpec(); o.etag = 'foo'; o.explanationSpec = buildGoogleCloudAiplatformV1ExplanationSpec(); - o.labels = buildUnnamed231(); + o.labels = buildUnnamed239(); o.metadata = { 'list': [1, 2, 3], 'bool': true, @@ -15937,13 +16384,13 @@ api.GoogleCloudAiplatformV1Model buildGoogleCloudAiplatformV1Model() { o.predictSchemata = buildGoogleCloudAiplatformV1PredictSchemata(); o.satisfiesPzi = true; o.satisfiesPzs = true; - o.supportedDeploymentResourcesTypes = buildUnnamed232(); - o.supportedExportFormats = buildUnnamed233(); - o.supportedInputStorageFormats = buildUnnamed234(); - o.supportedOutputStorageFormats = buildUnnamed235(); + o.supportedDeploymentResourcesTypes = buildUnnamed240(); + o.supportedExportFormats = buildUnnamed241(); + o.supportedInputStorageFormats = buildUnnamed242(); + o.supportedOutputStorageFormats = buildUnnamed243(); o.trainingPipeline = 'foo'; o.updateTime = 'foo'; - o.versionAliases = buildUnnamed236(); + o.versionAliases = buildUnnamed244(); o.versionCreateTime = 'foo'; o.versionDescription = 'foo'; o.versionId = 'foo'; @@ -15967,7 +16414,11 @@ void checkGoogleCloudAiplatformV1Model(api.GoogleCloudAiplatformV1Model o) { unittest.equals('foo'), ); checkGoogleCloudAiplatformV1ModelDataStats(o.dataStats!); - checkUnnamed230(o.deployedModels!); + unittest.expect( + o.defaultCheckpointId!, + unittest.equals('foo'), + ); + checkUnnamed238(o.deployedModels!); unittest.expect( o.description!, unittest.equals('foo'), @@ -15982,7 +16433,7 @@ void checkGoogleCloudAiplatformV1Model(api.GoogleCloudAiplatformV1Model o) { unittest.equals('foo'), ); checkGoogleCloudAiplatformV1ExplanationSpec(o.explanationSpec!); - checkUnnamed231(o.labels!); + checkUnnamed239(o.labels!); var casted47 = (o.metadata!) as core.Map; unittest.expect(casted47, unittest.hasLength(3)); unittest.expect( @@ -16018,10 +16469,10 @@ void checkGoogleCloudAiplatformV1Model(api.GoogleCloudAiplatformV1Model o) { checkGoogleCloudAiplatformV1PredictSchemata(o.predictSchemata!); unittest.expect(o.satisfiesPzi!, unittest.isTrue); unittest.expect(o.satisfiesPzs!, unittest.isTrue); - checkUnnamed232(o.supportedDeploymentResourcesTypes!); - checkUnnamed233(o.supportedExportFormats!); - checkUnnamed234(o.supportedInputStorageFormats!); - checkUnnamed235(o.supportedOutputStorageFormats!); + checkUnnamed240(o.supportedDeploymentResourcesTypes!); + checkUnnamed241(o.supportedExportFormats!); + checkUnnamed242(o.supportedInputStorageFormats!); + checkUnnamed243(o.supportedOutputStorageFormats!); unittest.expect( o.trainingPipeline!, unittest.equals('foo'), @@ -16030,7 +16481,7 @@ void checkGoogleCloudAiplatformV1Model(api.GoogleCloudAiplatformV1Model o) { o.updateTime!, unittest.equals('foo'), ); - checkUnnamed236(o.versionAliases!); + checkUnnamed244(o.versionAliases!); unittest.expect( o.versionCreateTime!, unittest.equals('foo'), @@ -16074,12 +16525,12 @@ void checkGoogleCloudAiplatformV1ModelBaseModelSource( buildCounterGoogleCloudAiplatformV1ModelBaseModelSource--; } -core.List buildUnnamed237() => [ +core.List buildUnnamed245() => [ 'foo', 'foo', ]; -void checkUnnamed237(core.List o) { +void checkUnnamed245(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -16091,12 +16542,12 @@ void checkUnnamed237(core.List o) { ); } -core.List buildUnnamed238() => [ +core.List buildUnnamed246() => [ 'foo', 'foo', ]; -void checkUnnamed238(core.List o) { +void checkUnnamed246(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -16108,34 +16559,34 @@ void checkUnnamed238(core.List o) { ); } -core.List buildUnnamed239() => [ +core.List buildUnnamed247() => [ buildGoogleCloudAiplatformV1EnvVar(), buildGoogleCloudAiplatformV1EnvVar(), ]; -void checkUnnamed239(core.List o) { +void checkUnnamed247(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1EnvVar(o[0]); checkGoogleCloudAiplatformV1EnvVar(o[1]); } -core.List buildUnnamed240() => [ +core.List buildUnnamed248() => [ buildGoogleCloudAiplatformV1Port(), buildGoogleCloudAiplatformV1Port(), ]; -void checkUnnamed240(core.List o) { +void checkUnnamed248(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Port(o[0]); checkGoogleCloudAiplatformV1Port(o[1]); } -core.List buildUnnamed241() => [ +core.List buildUnnamed249() => [ buildGoogleCloudAiplatformV1Port(), buildGoogleCloudAiplatformV1Port(), ]; -void checkUnnamed241(core.List o) { +void checkUnnamed249(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Port(o[0]); checkGoogleCloudAiplatformV1Port(o[1]); @@ -16147,16 +16598,16 @@ api.GoogleCloudAiplatformV1ModelContainerSpec final o = api.GoogleCloudAiplatformV1ModelContainerSpec(); buildCounterGoogleCloudAiplatformV1ModelContainerSpec++; if (buildCounterGoogleCloudAiplatformV1ModelContainerSpec < 3) { - o.args = buildUnnamed237(); - o.command = buildUnnamed238(); + o.args = buildUnnamed245(); + o.command = buildUnnamed246(); o.deploymentTimeout = 'foo'; - o.env = buildUnnamed239(); - o.grpcPorts = buildUnnamed240(); + o.env = buildUnnamed247(); + o.grpcPorts = buildUnnamed248(); o.healthProbe = buildGoogleCloudAiplatformV1Probe(); o.healthRoute = 'foo'; o.imageUri = 'foo'; o.livenessProbe = buildGoogleCloudAiplatformV1Probe(); - o.ports = buildUnnamed241(); + o.ports = buildUnnamed249(); o.predictRoute = 'foo'; o.sharedMemorySizeMb = 'foo'; o.startupProbe = buildGoogleCloudAiplatformV1Probe(); @@ -16169,14 +16620,14 @@ void checkGoogleCloudAiplatformV1ModelContainerSpec( api.GoogleCloudAiplatformV1ModelContainerSpec o) { buildCounterGoogleCloudAiplatformV1ModelContainerSpec++; if (buildCounterGoogleCloudAiplatformV1ModelContainerSpec < 3) { - checkUnnamed237(o.args!); - checkUnnamed238(o.command!); + checkUnnamed245(o.args!); + checkUnnamed246(o.command!); unittest.expect( o.deploymentTimeout!, unittest.equals('foo'), ); - checkUnnamed239(o.env!); - checkUnnamed240(o.grpcPorts!); + checkUnnamed247(o.env!); + checkUnnamed248(o.grpcPorts!); checkGoogleCloudAiplatformV1Probe(o.healthProbe!); unittest.expect( o.healthRoute!, @@ -16187,7 +16638,7 @@ void checkGoogleCloudAiplatformV1ModelContainerSpec( unittest.equals('foo'), ); checkGoogleCloudAiplatformV1Probe(o.livenessProbe!); - checkUnnamed241(o.ports!); + checkUnnamed249(o.ports!); unittest.expect( o.predictRoute!, unittest.equals('foo'), @@ -16294,12 +16745,12 @@ void checkGoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable( } core.List - buildUnnamed242() => [ + buildUnnamed250() => [ buildGoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable(), buildGoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable(), ]; -void checkUnnamed242( +void checkUnnamed250( core.List o) { unittest.expect(o, unittest.hasLength(2)); @@ -16307,12 +16758,12 @@ void checkUnnamed242( checkGoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable(o[1]); } -core.Map buildUnnamed243() => { +core.Map buildUnnamed251() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed243(core.Map o) { +void checkUnnamed251(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -16325,12 +16776,12 @@ void checkUnnamed243(core.Map o) { } core.List - buildUnnamed244() => [ + buildUnnamed252() => [ buildGoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig(), buildGoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig(), ]; -void checkUnnamed244( +void checkUnnamed252( core.List< api.GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig> o) { @@ -16346,19 +16797,19 @@ api.GoogleCloudAiplatformV1ModelDeploymentMonitoringJob buildCounterGoogleCloudAiplatformV1ModelDeploymentMonitoringJob++; if (buildCounterGoogleCloudAiplatformV1ModelDeploymentMonitoringJob < 3) { o.analysisInstanceSchemaUri = 'foo'; - o.bigqueryTables = buildUnnamed242(); + o.bigqueryTables = buildUnnamed250(); o.createTime = 'foo'; o.displayName = 'foo'; o.enableMonitoringPipelineLogs = true; o.encryptionSpec = buildGoogleCloudAiplatformV1EncryptionSpec(); o.endpoint = 'foo'; o.error = buildGoogleRpcStatus(); - o.labels = buildUnnamed243(); + o.labels = buildUnnamed251(); o.latestMonitoringPipelineMetadata = buildGoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata(); o.logTtl = 'foo'; o.loggingSamplingStrategy = buildGoogleCloudAiplatformV1SamplingStrategy(); - o.modelDeploymentMonitoringObjectiveConfigs = buildUnnamed244(); + o.modelDeploymentMonitoringObjectiveConfigs = buildUnnamed252(); o.modelDeploymentMonitoringScheduleConfig = buildGoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig(); o.modelMonitoringAlertConfig = @@ -16391,7 +16842,7 @@ void checkGoogleCloudAiplatformV1ModelDeploymentMonitoringJob( o.analysisInstanceSchemaUri!, unittest.equals('foo'), ); - checkUnnamed242(o.bigqueryTables!); + checkUnnamed250(o.bigqueryTables!); unittest.expect( o.createTime!, unittest.equals('foo'), @@ -16407,7 +16858,7 @@ void checkGoogleCloudAiplatformV1ModelDeploymentMonitoringJob( unittest.equals('foo'), ); checkGoogleRpcStatus(o.error!); - checkUnnamed243(o.labels!); + checkUnnamed251(o.labels!); checkGoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata( o.latestMonitoringPipelineMetadata!); unittest.expect( @@ -16415,7 +16866,7 @@ void checkGoogleCloudAiplatformV1ModelDeploymentMonitoringJob( unittest.equals('foo'), ); checkGoogleCloudAiplatformV1SamplingStrategy(o.loggingSamplingStrategy!); - checkUnnamed244(o.modelDeploymentMonitoringObjectiveConfigs!); + checkUnnamed252(o.modelDeploymentMonitoringObjectiveConfigs!); checkGoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig( o.modelDeploymentMonitoringScheduleConfig!); checkGoogleCloudAiplatformV1ModelMonitoringAlertConfig( @@ -16567,12 +17018,12 @@ void checkGoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig( core.List< api .GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec> - buildUnnamed245() => [ + buildUnnamed253() => [ buildGoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec(), buildGoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec(), ]; -void checkUnnamed245( +void checkUnnamed253( core.List< api .GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec> @@ -16584,12 +17035,12 @@ void checkUnnamed245( o[1]); } -core.List buildUnnamed246() => [ +core.List buildUnnamed254() => [ 'foo', 'foo', ]; -void checkUnnamed246(core.List o) { +void checkUnnamed254(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -16611,7 +17062,7 @@ api.GoogleCloudAiplatformV1ModelEvaluation o.createTime = 'foo'; o.dataItemSchemaUri = 'foo'; o.displayName = 'foo'; - o.explanationSpecs = buildUnnamed245(); + o.explanationSpecs = buildUnnamed253(); o.metadata = { 'list': [1, 2, 3], 'bool': true, @@ -16625,7 +17076,7 @@ api.GoogleCloudAiplatformV1ModelEvaluation o.metricsSchemaUri = 'foo'; o.modelExplanation = buildGoogleCloudAiplatformV1ModelExplanation(); o.name = 'foo'; - o.sliceDimensions = buildUnnamed246(); + o.sliceDimensions = buildUnnamed254(); } buildCounterGoogleCloudAiplatformV1ModelEvaluation--; return o; @@ -16651,7 +17102,7 @@ void checkGoogleCloudAiplatformV1ModelEvaluation( o.displayName!, unittest.equals('foo'), ); - checkUnnamed245(o.explanationSpecs!); + checkUnnamed253(o.explanationSpecs!); var casted49 = (o.metadata!) as core.Map; unittest.expect(casted49, unittest.hasLength(3)); unittest.expect( @@ -16689,7 +17140,7 @@ void checkGoogleCloudAiplatformV1ModelEvaluation( o.name!, unittest.equals('foo'), ); - checkUnnamed246(o.sliceDimensions!); + checkUnnamed254(o.sliceDimensions!); } buildCounterGoogleCloudAiplatformV1ModelEvaluation--; } @@ -16820,14 +17271,14 @@ core.Map< core.String, api .GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig> - buildUnnamed247() => { + buildUnnamed255() => { 'x': buildGoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig(), 'y': buildGoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig(), }; -void checkUnnamed247( +void checkUnnamed255( core.Map< core.String, api @@ -16848,7 +17299,7 @@ api.GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec buildCounterGoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec++; if (buildCounterGoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec < 3) { - o.configs = buildUnnamed247(); + o.configs = buildUnnamed255(); } buildCounterGoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec--; return o; @@ -16859,7 +17310,7 @@ void checkGoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec( buildCounterGoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec++; if (buildCounterGoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec < 3) { - checkUnnamed247(o.configs!); + checkUnnamed255(o.configs!); } buildCounterGoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec--; } @@ -16967,12 +17418,12 @@ void checkGoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue( buildCounterGoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue--; } -core.List buildUnnamed248() => [ +core.List buildUnnamed256() => [ buildGoogleCloudAiplatformV1Attribution(), buildGoogleCloudAiplatformV1Attribution(), ]; -void checkUnnamed248(core.List o) { +void checkUnnamed256(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Attribution(o[0]); checkGoogleCloudAiplatformV1Attribution(o[1]); @@ -16984,7 +17435,7 @@ api.GoogleCloudAiplatformV1ModelExplanation final o = api.GoogleCloudAiplatformV1ModelExplanation(); buildCounterGoogleCloudAiplatformV1ModelExplanation++; if (buildCounterGoogleCloudAiplatformV1ModelExplanation < 3) { - o.meanAttributions = buildUnnamed248(); + o.meanAttributions = buildUnnamed256(); } buildCounterGoogleCloudAiplatformV1ModelExplanation--; return o; @@ -16994,17 +17445,17 @@ void checkGoogleCloudAiplatformV1ModelExplanation( api.GoogleCloudAiplatformV1ModelExplanation o) { buildCounterGoogleCloudAiplatformV1ModelExplanation++; if (buildCounterGoogleCloudAiplatformV1ModelExplanation < 3) { - checkUnnamed248(o.meanAttributions!); + checkUnnamed256(o.meanAttributions!); } buildCounterGoogleCloudAiplatformV1ModelExplanation--; } -core.List buildUnnamed249() => [ +core.List buildUnnamed257() => [ 'foo', 'foo', ]; -void checkUnnamed249(core.List o) { +void checkUnnamed257(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -17022,7 +17473,7 @@ api.GoogleCloudAiplatformV1ModelExportFormat final o = api.GoogleCloudAiplatformV1ModelExportFormat(); buildCounterGoogleCloudAiplatformV1ModelExportFormat++; if (buildCounterGoogleCloudAiplatformV1ModelExportFormat < 3) { - o.exportableContents = buildUnnamed249(); + o.exportableContents = buildUnnamed257(); o.id = 'foo'; } buildCounterGoogleCloudAiplatformV1ModelExportFormat--; @@ -17033,7 +17484,7 @@ void checkGoogleCloudAiplatformV1ModelExportFormat( api.GoogleCloudAiplatformV1ModelExportFormat o) { buildCounterGoogleCloudAiplatformV1ModelExportFormat++; if (buildCounterGoogleCloudAiplatformV1ModelExportFormat < 3) { - checkUnnamed249(o.exportableContents!); + checkUnnamed257(o.exportableContents!); unittest.expect( o.id!, unittest.equals('foo'), @@ -17049,6 +17500,8 @@ api.GoogleCloudAiplatformV1ModelGardenSource buildCounterGoogleCloudAiplatformV1ModelGardenSource++; if (buildCounterGoogleCloudAiplatformV1ModelGardenSource < 3) { o.publicModelName = 'foo'; + o.skipHfModelCache = true; + o.versionId = 'foo'; } buildCounterGoogleCloudAiplatformV1ModelGardenSource--; return o; @@ -17062,16 +17515,21 @@ void checkGoogleCloudAiplatformV1ModelGardenSource( o.publicModelName!, unittest.equals('foo'), ); + unittest.expect(o.skipHfModelCache!, unittest.isTrue); + unittest.expect( + o.versionId!, + unittest.equals('foo'), + ); } buildCounterGoogleCloudAiplatformV1ModelGardenSource--; } -core.List buildUnnamed250() => [ +core.List buildUnnamed258() => [ 'foo', 'foo', ]; -void checkUnnamed250(core.List o) { +void checkUnnamed258(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -17092,7 +17550,7 @@ api.GoogleCloudAiplatformV1ModelMonitoringAlertConfig o.emailAlertConfig = buildGoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig(); o.enableLogging = true; - o.notificationChannels = buildUnnamed250(); + o.notificationChannels = buildUnnamed258(); } buildCounterGoogleCloudAiplatformV1ModelMonitoringAlertConfig--; return o; @@ -17105,17 +17563,17 @@ void checkGoogleCloudAiplatformV1ModelMonitoringAlertConfig( checkGoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig( o.emailAlertConfig!); unittest.expect(o.enableLogging!, unittest.isTrue); - checkUnnamed250(o.notificationChannels!); + checkUnnamed258(o.notificationChannels!); } buildCounterGoogleCloudAiplatformV1ModelMonitoringAlertConfig--; } -core.List buildUnnamed251() => [ +core.List buildUnnamed259() => [ 'foo', 'foo', ]; -void checkUnnamed251(core.List o) { +void checkUnnamed259(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -17137,7 +17595,7 @@ api.GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig buildCounterGoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig++; if (buildCounterGoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig < 3) { - o.userEmails = buildUnnamed251(); + o.userEmails = buildUnnamed259(); } buildCounterGoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig--; return o; @@ -17148,7 +17606,7 @@ void checkGoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig( buildCounterGoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig++; if (buildCounterGoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig < 3) { - checkUnnamed251(o.userEmails!); + checkUnnamed259(o.userEmails!); } buildCounterGoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig--; } @@ -17254,12 +17712,12 @@ void checkGoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig } core.Map - buildUnnamed252() => { + buildUnnamed260() => { 'x': buildGoogleCloudAiplatformV1ThresholdConfig(), 'y': buildGoogleCloudAiplatformV1ThresholdConfig(), }; -void checkUnnamed252( +void checkUnnamed260( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ThresholdConfig(o['x']!); @@ -17267,12 +17725,12 @@ void checkUnnamed252( } core.Map - buildUnnamed253() => { + buildUnnamed261() => { 'x': buildGoogleCloudAiplatformV1ThresholdConfig(), 'y': buildGoogleCloudAiplatformV1ThresholdConfig(), }; -void checkUnnamed253( +void checkUnnamed261( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ThresholdConfig(o['x']!); @@ -17289,9 +17747,9 @@ api.GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectio buildCounterGoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig++; if (buildCounterGoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig < 3) { - o.attributionScoreDriftThresholds = buildUnnamed252(); + o.attributionScoreDriftThresholds = buildUnnamed260(); o.defaultDriftThreshold = buildGoogleCloudAiplatformV1ThresholdConfig(); - o.driftThresholds = buildUnnamed253(); + o.driftThresholds = buildUnnamed261(); } buildCounterGoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig--; return o; @@ -17303,9 +17761,9 @@ void checkGoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDe buildCounterGoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig++; if (buildCounterGoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig < 3) { - checkUnnamed252(o.attributionScoreDriftThresholds!); + checkUnnamed260(o.attributionScoreDriftThresholds!); checkGoogleCloudAiplatformV1ThresholdConfig(o.defaultDriftThreshold!); - checkUnnamed253(o.driftThresholds!); + checkUnnamed261(o.driftThresholds!); } buildCounterGoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig--; } @@ -17357,12 +17815,12 @@ void checkGoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDataset( } core.Map - buildUnnamed254() => { + buildUnnamed262() => { 'x': buildGoogleCloudAiplatformV1ThresholdConfig(), 'y': buildGoogleCloudAiplatformV1ThresholdConfig(), }; -void checkUnnamed254( +void checkUnnamed262( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ThresholdConfig(o['x']!); @@ -17370,12 +17828,12 @@ void checkUnnamed254( } core.Map - buildUnnamed255() => { + buildUnnamed263() => { 'x': buildGoogleCloudAiplatformV1ThresholdConfig(), 'y': buildGoogleCloudAiplatformV1ThresholdConfig(), }; -void checkUnnamed255( +void checkUnnamed263( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ThresholdConfig(o['x']!); @@ -17392,9 +17850,9 @@ api.GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewD buildCounterGoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig++; if (buildCounterGoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig < 3) { - o.attributionScoreSkewThresholds = buildUnnamed254(); + o.attributionScoreSkewThresholds = buildUnnamed262(); o.defaultSkewThreshold = buildGoogleCloudAiplatformV1ThresholdConfig(); - o.skewThresholds = buildUnnamed255(); + o.skewThresholds = buildUnnamed263(); } buildCounterGoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig--; return o; @@ -17406,9 +17864,9 @@ void checkGoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictio buildCounterGoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig++; if (buildCounterGoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig < 3) { - checkUnnamed254(o.attributionScoreSkewThresholds!); + checkUnnamed262(o.attributionScoreSkewThresholds!); checkGoogleCloudAiplatformV1ThresholdConfig(o.defaultSkewThreshold!); - checkUnnamed255(o.skewThresholds!); + checkUnnamed263(o.skewThresholds!); } buildCounterGoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig--; } @@ -17416,12 +17874,12 @@ void checkGoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictio core.List< api .GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies> - buildUnnamed256() => [ + buildUnnamed264() => [ buildGoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies(), buildGoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies(), ]; -void checkUnnamed256( +void checkUnnamed264( core.List< api .GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies> @@ -17441,7 +17899,7 @@ api.GoogleCloudAiplatformV1ModelMonitoringStatsAnomalies if (buildCounterGoogleCloudAiplatformV1ModelMonitoringStatsAnomalies < 3) { o.anomalyCount = 42; o.deployedModelId = 'foo'; - o.featureStats = buildUnnamed256(); + o.featureStats = buildUnnamed264(); o.objective = 'foo'; } buildCounterGoogleCloudAiplatformV1ModelMonitoringStatsAnomalies--; @@ -17460,7 +17918,7 @@ void checkGoogleCloudAiplatformV1ModelMonitoringStatsAnomalies( o.deployedModelId!, unittest.equals('foo'), ); - checkUnnamed256(o.featureStats!); + checkUnnamed264(o.featureStats!); unittest.expect( o.objective!, unittest.equals('foo'), @@ -17469,12 +17927,12 @@ void checkGoogleCloudAiplatformV1ModelMonitoringStatsAnomalies( buildCounterGoogleCloudAiplatformV1ModelMonitoringStatsAnomalies--; } -core.List buildUnnamed257() => [ +core.List buildUnnamed265() => [ buildGoogleCloudAiplatformV1FeatureStatsAnomaly(), buildGoogleCloudAiplatformV1FeatureStatsAnomaly(), ]; -void checkUnnamed257( +void checkUnnamed265( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1FeatureStatsAnomaly(o[0]); @@ -17492,7 +17950,7 @@ api.GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnom if (buildCounterGoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies < 3) { o.featureDisplayName = 'foo'; - o.predictionStats = buildUnnamed257(); + o.predictionStats = buildUnnamed265(); o.threshold = buildGoogleCloudAiplatformV1ThresholdConfig(); o.trainingStats = buildGoogleCloudAiplatformV1FeatureStatsAnomaly(); } @@ -17510,7 +17968,7 @@ void checkGoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricSta o.featureDisplayName!, unittest.equals('foo'), ); - checkUnnamed257(o.predictionStats!); + checkUnnamed265(o.predictionStats!); checkGoogleCloudAiplatformV1ThresholdConfig(o.threshold!); checkGoogleCloudAiplatformV1FeatureStatsAnomaly(o.trainingStats!); } @@ -17567,6 +18025,45 @@ void checkGoogleCloudAiplatformV1ModelSourceInfo( buildCounterGoogleCloudAiplatformV1ModelSourceInfo--; } +core.int buildCounterGoogleCloudAiplatformV1ModelVersionCheckpoint = 0; +api.GoogleCloudAiplatformV1ModelVersionCheckpoint + buildGoogleCloudAiplatformV1ModelVersionCheckpoint() { + final o = api.GoogleCloudAiplatformV1ModelVersionCheckpoint(); + buildCounterGoogleCloudAiplatformV1ModelVersionCheckpoint++; + if (buildCounterGoogleCloudAiplatformV1ModelVersionCheckpoint < 3) { + o.checkpointId = 'foo'; + o.epoch = 'foo'; + o.name = 'foo'; + o.step = 'foo'; + } + buildCounterGoogleCloudAiplatformV1ModelVersionCheckpoint--; + return o; +} + +void checkGoogleCloudAiplatformV1ModelVersionCheckpoint( + api.GoogleCloudAiplatformV1ModelVersionCheckpoint o) { + buildCounterGoogleCloudAiplatformV1ModelVersionCheckpoint++; + if (buildCounterGoogleCloudAiplatformV1ModelVersionCheckpoint < 3) { + unittest.expect( + o.checkpointId!, + unittest.equals('foo'), + ); + unittest.expect( + o.epoch!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.step!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudAiplatformV1ModelVersionCheckpoint--; +} + core.int buildCounterGoogleCloudAiplatformV1MutateDeployedModelRequest = 0; api.GoogleCloudAiplatformV1MutateDeployedModelRequest buildGoogleCloudAiplatformV1MutateDeployedModelRequest() { @@ -17593,12 +18090,12 @@ void checkGoogleCloudAiplatformV1MutateDeployedModelRequest( buildCounterGoogleCloudAiplatformV1MutateDeployedModelRequest--; } -core.Map buildUnnamed258() => { +core.Map buildUnnamed266() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed258(core.Map o) { +void checkUnnamed266(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -17621,7 +18118,7 @@ api.GoogleCloudAiplatformV1NasJob buildGoogleCloudAiplatformV1NasJob() { o.encryptionSpec = buildGoogleCloudAiplatformV1EncryptionSpec(); o.endTime = 'foo'; o.error = buildGoogleRpcStatus(); - o.labels = buildUnnamed258(); + o.labels = buildUnnamed266(); o.name = 'foo'; o.nasJobOutput = buildGoogleCloudAiplatformV1NasJobOutput(); o.nasJobSpec = buildGoogleCloudAiplatformV1NasJobSpec(); @@ -17653,7 +18150,7 @@ void checkGoogleCloudAiplatformV1NasJob(api.GoogleCloudAiplatformV1NasJob o) { unittest.equals('foo'), ); checkGoogleRpcStatus(o.error!); - checkUnnamed258(o.labels!); + checkUnnamed266(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -17701,23 +18198,23 @@ void checkGoogleCloudAiplatformV1NasJobOutput( buildCounterGoogleCloudAiplatformV1NasJobOutput--; } -core.List buildUnnamed259() => [ +core.List buildUnnamed267() => [ buildGoogleCloudAiplatformV1NasTrial(), buildGoogleCloudAiplatformV1NasTrial(), ]; -void checkUnnamed259(core.List o) { +void checkUnnamed267(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1NasTrial(o[0]); checkGoogleCloudAiplatformV1NasTrial(o[1]); } -core.List buildUnnamed260() => [ +core.List buildUnnamed268() => [ buildGoogleCloudAiplatformV1NasTrial(), buildGoogleCloudAiplatformV1NasTrial(), ]; -void checkUnnamed260(core.List o) { +void checkUnnamed268(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1NasTrial(o[0]); checkGoogleCloudAiplatformV1NasTrial(o[1]); @@ -17729,8 +18226,8 @@ api.GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput final o = api.GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput(); buildCounterGoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput++; if (buildCounterGoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput < 3) { - o.searchTrials = buildUnnamed259(); - o.trainTrials = buildUnnamed260(); + o.searchTrials = buildUnnamed267(); + o.trainTrials = buildUnnamed268(); } buildCounterGoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput--; return o; @@ -17740,8 +18237,8 @@ void checkGoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput( api.GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput o) { buildCounterGoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput++; if (buildCounterGoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput < 3) { - checkUnnamed259(o.searchTrials!); - checkUnnamed260(o.trainTrials!); + checkUnnamed267(o.searchTrials!); + checkUnnamed268(o.trainTrials!); } buildCounterGoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput--; } @@ -18004,12 +18501,12 @@ void checkGoogleCloudAiplatformV1NasTrialDetail( } core.List - buildUnnamed261() => [ + buildUnnamed269() => [ buildGoogleCloudAiplatformV1NearestNeighborQueryNumericFilter(), buildGoogleCloudAiplatformV1NearestNeighborQueryNumericFilter(), ]; -void checkUnnamed261( +void checkUnnamed269( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1NearestNeighborQueryNumericFilter(o[0]); @@ -18017,12 +18514,12 @@ void checkUnnamed261( } core.List - buildUnnamed262() => [ + buildUnnamed270() => [ buildGoogleCloudAiplatformV1NearestNeighborQueryStringFilter(), buildGoogleCloudAiplatformV1NearestNeighborQueryStringFilter(), ]; -void checkUnnamed262( +void checkUnnamed270( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1NearestNeighborQueryStringFilter(o[0]); @@ -18038,10 +18535,10 @@ api.GoogleCloudAiplatformV1NearestNeighborQuery o.embedding = buildGoogleCloudAiplatformV1NearestNeighborQueryEmbedding(); o.entityId = 'foo'; o.neighborCount = 42; - o.numericFilters = buildUnnamed261(); + o.numericFilters = buildUnnamed269(); o.parameters = buildGoogleCloudAiplatformV1NearestNeighborQueryParameters(); o.perCrowdingAttributeNeighborCount = 42; - o.stringFilters = buildUnnamed262(); + o.stringFilters = buildUnnamed270(); } buildCounterGoogleCloudAiplatformV1NearestNeighborQuery--; return o; @@ -18060,23 +18557,23 @@ void checkGoogleCloudAiplatformV1NearestNeighborQuery( o.neighborCount!, unittest.equals(42), ); - checkUnnamed261(o.numericFilters!); + checkUnnamed269(o.numericFilters!); checkGoogleCloudAiplatformV1NearestNeighborQueryParameters(o.parameters!); unittest.expect( o.perCrowdingAttributeNeighborCount!, unittest.equals(42), ); - checkUnnamed262(o.stringFilters!); + checkUnnamed270(o.stringFilters!); } buildCounterGoogleCloudAiplatformV1NearestNeighborQuery--; } -core.List buildUnnamed263() => [ +core.List buildUnnamed271() => [ 42.0, 42.0, ]; -void checkUnnamed263(core.List o) { +void checkUnnamed271(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -18094,7 +18591,7 @@ api.GoogleCloudAiplatformV1NearestNeighborQueryEmbedding final o = api.GoogleCloudAiplatformV1NearestNeighborQueryEmbedding(); buildCounterGoogleCloudAiplatformV1NearestNeighborQueryEmbedding++; if (buildCounterGoogleCloudAiplatformV1NearestNeighborQueryEmbedding < 3) { - o.value = buildUnnamed263(); + o.value = buildUnnamed271(); } buildCounterGoogleCloudAiplatformV1NearestNeighborQueryEmbedding--; return o; @@ -18104,7 +18601,7 @@ void checkGoogleCloudAiplatformV1NearestNeighborQueryEmbedding( api.GoogleCloudAiplatformV1NearestNeighborQueryEmbedding o) { buildCounterGoogleCloudAiplatformV1NearestNeighborQueryEmbedding++; if (buildCounterGoogleCloudAiplatformV1NearestNeighborQueryEmbedding < 3) { - checkUnnamed263(o.value!); + checkUnnamed271(o.value!); } buildCounterGoogleCloudAiplatformV1NearestNeighborQueryEmbedding--; } @@ -18185,12 +18682,12 @@ void checkGoogleCloudAiplatformV1NearestNeighborQueryParameters( buildCounterGoogleCloudAiplatformV1NearestNeighborQueryParameters--; } -core.List buildUnnamed264() => [ +core.List buildUnnamed272() => [ 'foo', 'foo', ]; -void checkUnnamed264(core.List o) { +void checkUnnamed272(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -18202,12 +18699,12 @@ void checkUnnamed264(core.List o) { ); } -core.List buildUnnamed265() => [ +core.List buildUnnamed273() => [ 'foo', 'foo', ]; -void checkUnnamed265(core.List o) { +void checkUnnamed273(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -18226,8 +18723,8 @@ api.GoogleCloudAiplatformV1NearestNeighborQueryStringFilter final o = api.GoogleCloudAiplatformV1NearestNeighborQueryStringFilter(); buildCounterGoogleCloudAiplatformV1NearestNeighborQueryStringFilter++; if (buildCounterGoogleCloudAiplatformV1NearestNeighborQueryStringFilter < 3) { - o.allowTokens = buildUnnamed264(); - o.denyTokens = buildUnnamed265(); + o.allowTokens = buildUnnamed272(); + o.denyTokens = buildUnnamed273(); o.name = 'foo'; } buildCounterGoogleCloudAiplatformV1NearestNeighborQueryStringFilter--; @@ -18238,8 +18735,8 @@ void checkGoogleCloudAiplatformV1NearestNeighborQueryStringFilter( api.GoogleCloudAiplatformV1NearestNeighborQueryStringFilter o) { buildCounterGoogleCloudAiplatformV1NearestNeighborQueryStringFilter++; if (buildCounterGoogleCloudAiplatformV1NearestNeighborQueryStringFilter < 3) { - checkUnnamed264(o.allowTokens!); - checkUnnamed265(o.denyTokens!); + checkUnnamed272(o.allowTokens!); + checkUnnamed273(o.denyTokens!); unittest.expect( o.name!, unittest.equals('foo'), @@ -18249,12 +18746,12 @@ void checkGoogleCloudAiplatformV1NearestNeighborQueryStringFilter( } core.List - buildUnnamed266() => [ + buildUnnamed274() => [ buildGoogleCloudAiplatformV1NearestNeighborsNeighbor(), buildGoogleCloudAiplatformV1NearestNeighborsNeighbor(), ]; -void checkUnnamed266( +void checkUnnamed274( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1NearestNeighborsNeighbor(o[0]); @@ -18267,7 +18764,7 @@ api.GoogleCloudAiplatformV1NearestNeighbors final o = api.GoogleCloudAiplatformV1NearestNeighbors(); buildCounterGoogleCloudAiplatformV1NearestNeighbors++; if (buildCounterGoogleCloudAiplatformV1NearestNeighbors < 3) { - o.neighbors = buildUnnamed266(); + o.neighbors = buildUnnamed274(); } buildCounterGoogleCloudAiplatformV1NearestNeighbors--; return o; @@ -18277,7 +18774,7 @@ void checkGoogleCloudAiplatformV1NearestNeighbors( api.GoogleCloudAiplatformV1NearestNeighbors o) { buildCounterGoogleCloudAiplatformV1NearestNeighbors++; if (buildCounterGoogleCloudAiplatformV1NearestNeighbors < 3) { - checkUnnamed266(o.neighbors!); + checkUnnamed274(o.neighbors!); } buildCounterGoogleCloudAiplatformV1NearestNeighbors--; } @@ -18429,12 +18926,12 @@ void checkGoogleCloudAiplatformV1NotebookEucConfig( buildCounterGoogleCloudAiplatformV1NotebookEucConfig--; } -core.Map buildUnnamed267() => { +core.Map buildUnnamed275() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed267(core.Map o) { +void checkUnnamed275(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -18468,7 +18965,7 @@ api.GoogleCloudAiplatformV1NotebookExecutionJob o.gcsOutputUri = 'foo'; o.jobState = 'foo'; o.kernelName = 'foo'; - o.labels = buildUnnamed267(); + o.labels = buildUnnamed275(); o.name = 'foo'; o.notebookRuntimeTemplateResourceName = 'foo'; o.scheduleResourceName = 'foo'; @@ -18523,7 +19020,7 @@ void checkGoogleCloudAiplatformV1NotebookExecutionJob( o.kernelName!, unittest.equals('foo'), ); - checkUnnamed267(o.labels!); + checkUnnamed275(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -18723,12 +19220,12 @@ void checkGoogleCloudAiplatformV1NotebookIdleShutdownConfig( buildCounterGoogleCloudAiplatformV1NotebookIdleShutdownConfig--; } -core.Map buildUnnamed268() => { +core.Map buildUnnamed276() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed268(core.Map o) { +void checkUnnamed276(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -18740,12 +19237,12 @@ void checkUnnamed268(core.Map o) { ); } -core.List buildUnnamed269() => [ +core.List buildUnnamed277() => [ 'foo', 'foo', ]; -void checkUnnamed269(core.List o) { +void checkUnnamed277(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -18774,11 +19271,11 @@ api.GoogleCloudAiplatformV1NotebookRuntime o.idleShutdownConfig = buildGoogleCloudAiplatformV1NotebookIdleShutdownConfig(); o.isUpgradable = true; - o.labels = buildUnnamed268(); + o.labels = buildUnnamed276(); o.machineSpec = buildGoogleCloudAiplatformV1MachineSpec(); o.name = 'foo'; o.networkSpec = buildGoogleCloudAiplatformV1NetworkSpec(); - o.networkTags = buildUnnamed269(); + o.networkTags = buildUnnamed277(); o.notebookRuntimeTemplateRef = buildGoogleCloudAiplatformV1NotebookRuntimeTemplateRef(); o.notebookRuntimeType = 'foo'; @@ -18789,6 +19286,7 @@ api.GoogleCloudAiplatformV1NotebookRuntime o.satisfiesPzs = true; o.serviceAccount = 'foo'; o.shieldedVmConfig = buildGoogleCloudAiplatformV1ShieldedVmConfig(); + o.softwareConfig = buildGoogleCloudAiplatformV1NotebookSoftwareConfig(); o.updateTime = 'foo'; o.version = 'foo'; } @@ -18826,14 +19324,14 @@ void checkGoogleCloudAiplatformV1NotebookRuntime( checkGoogleCloudAiplatformV1NotebookIdleShutdownConfig( o.idleShutdownConfig!); unittest.expect(o.isUpgradable!, unittest.isTrue); - checkUnnamed268(o.labels!); + checkUnnamed276(o.labels!); checkGoogleCloudAiplatformV1MachineSpec(o.machineSpec!); unittest.expect( o.name!, unittest.equals('foo'), ); checkGoogleCloudAiplatformV1NetworkSpec(o.networkSpec!); - checkUnnamed269(o.networkTags!); + checkUnnamed277(o.networkTags!); checkGoogleCloudAiplatformV1NotebookRuntimeTemplateRef( o.notebookRuntimeTemplateRef!); unittest.expect( @@ -18859,6 +19357,7 @@ void checkGoogleCloudAiplatformV1NotebookRuntime( unittest.equals('foo'), ); checkGoogleCloudAiplatformV1ShieldedVmConfig(o.shieldedVmConfig!); + checkGoogleCloudAiplatformV1NotebookSoftwareConfig(o.softwareConfig!); unittest.expect( o.updateTime!, unittest.equals('foo'), @@ -18871,12 +19370,12 @@ void checkGoogleCloudAiplatformV1NotebookRuntime( buildCounterGoogleCloudAiplatformV1NotebookRuntime--; } -core.Map buildUnnamed270() => { +core.Map buildUnnamed278() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed270(core.Map o) { +void checkUnnamed278(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -18888,12 +19387,12 @@ void checkUnnamed270(core.Map o) { ); } -core.List buildUnnamed271() => [ +core.List buildUnnamed279() => [ 'foo', 'foo', ]; -void checkUnnamed271(core.List o) { +void checkUnnamed279(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -18921,14 +19420,15 @@ api.GoogleCloudAiplatformV1NotebookRuntimeTemplate o.idleShutdownConfig = buildGoogleCloudAiplatformV1NotebookIdleShutdownConfig(); o.isDefault = true; - o.labels = buildUnnamed270(); + o.labels = buildUnnamed278(); o.machineSpec = buildGoogleCloudAiplatformV1MachineSpec(); o.name = 'foo'; o.networkSpec = buildGoogleCloudAiplatformV1NetworkSpec(); - o.networkTags = buildUnnamed271(); + o.networkTags = buildUnnamed279(); o.notebookRuntimeType = 'foo'; o.serviceAccount = 'foo'; o.shieldedVmConfig = buildGoogleCloudAiplatformV1ShieldedVmConfig(); + o.softwareConfig = buildGoogleCloudAiplatformV1NotebookSoftwareConfig(); o.updateTime = 'foo'; } buildCounterGoogleCloudAiplatformV1NotebookRuntimeTemplate--; @@ -18961,14 +19461,14 @@ void checkGoogleCloudAiplatformV1NotebookRuntimeTemplate( checkGoogleCloudAiplatformV1NotebookIdleShutdownConfig( o.idleShutdownConfig!); unittest.expect(o.isDefault!, unittest.isTrue); - checkUnnamed270(o.labels!); + checkUnnamed278(o.labels!); checkGoogleCloudAiplatformV1MachineSpec(o.machineSpec!); unittest.expect( o.name!, unittest.equals('foo'), ); checkGoogleCloudAiplatformV1NetworkSpec(o.networkSpec!); - checkUnnamed271(o.networkTags!); + checkUnnamed279(o.networkTags!); unittest.expect( o.notebookRuntimeType!, unittest.equals('foo'), @@ -18978,6 +19478,7 @@ void checkGoogleCloudAiplatformV1NotebookRuntimeTemplate( unittest.equals('foo'), ); checkGoogleCloudAiplatformV1ShieldedVmConfig(o.shieldedVmConfig!); + checkGoogleCloudAiplatformV1NotebookSoftwareConfig(o.softwareConfig!); unittest.expect( o.updateTime!, unittest.equals('foo'), @@ -19010,6 +19511,63 @@ void checkGoogleCloudAiplatformV1NotebookRuntimeTemplateRef( buildCounterGoogleCloudAiplatformV1NotebookRuntimeTemplateRef--; } +core.List buildUnnamed280() => [ + buildGoogleCloudAiplatformV1EnvVar(), + buildGoogleCloudAiplatformV1EnvVar(), + ]; + +void checkUnnamed280(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudAiplatformV1EnvVar(o[0]); + checkGoogleCloudAiplatformV1EnvVar(o[1]); +} + +core.int buildCounterGoogleCloudAiplatformV1NotebookSoftwareConfig = 0; +api.GoogleCloudAiplatformV1NotebookSoftwareConfig + buildGoogleCloudAiplatformV1NotebookSoftwareConfig() { + final o = api.GoogleCloudAiplatformV1NotebookSoftwareConfig(); + buildCounterGoogleCloudAiplatformV1NotebookSoftwareConfig++; + if (buildCounterGoogleCloudAiplatformV1NotebookSoftwareConfig < 3) { + o.env = buildUnnamed280(); + o.postStartupScriptConfig = + buildGoogleCloudAiplatformV1PostStartupScriptConfig(); + } + buildCounterGoogleCloudAiplatformV1NotebookSoftwareConfig--; + return o; +} + +void checkGoogleCloudAiplatformV1NotebookSoftwareConfig( + api.GoogleCloudAiplatformV1NotebookSoftwareConfig o) { + buildCounterGoogleCloudAiplatformV1NotebookSoftwareConfig++; + if (buildCounterGoogleCloudAiplatformV1NotebookSoftwareConfig < 3) { + checkUnnamed280(o.env!); + checkGoogleCloudAiplatformV1PostStartupScriptConfig( + o.postStartupScriptConfig!); + } + buildCounterGoogleCloudAiplatformV1NotebookSoftwareConfig--; +} + +core.int buildCounterGoogleCloudAiplatformV1OutputConfig = 0; +api.GoogleCloudAiplatformV1OutputConfig + buildGoogleCloudAiplatformV1OutputConfig() { + final o = api.GoogleCloudAiplatformV1OutputConfig(); + buildCounterGoogleCloudAiplatformV1OutputConfig++; + if (buildCounterGoogleCloudAiplatformV1OutputConfig < 3) { + o.gcsDestination = buildGoogleCloudAiplatformV1GcsDestination(); + } + buildCounterGoogleCloudAiplatformV1OutputConfig--; + return o; +} + +void checkGoogleCloudAiplatformV1OutputConfig( + api.GoogleCloudAiplatformV1OutputConfig o) { + buildCounterGoogleCloudAiplatformV1OutputConfig++; + if (buildCounterGoogleCloudAiplatformV1OutputConfig < 3) { + checkGoogleCloudAiplatformV1GcsDestination(o.gcsDestination!); + } + buildCounterGoogleCloudAiplatformV1OutputConfig--; +} + core.int buildCounterGoogleCloudAiplatformV1PSCAutomationConfig = 0; api.GoogleCloudAiplatformV1PSCAutomationConfig buildGoogleCloudAiplatformV1PSCAutomationConfig() { @@ -19121,7 +19679,10 @@ api.GoogleCloudAiplatformV1PairwiseMetricSpec final o = api.GoogleCloudAiplatformV1PairwiseMetricSpec(); buildCounterGoogleCloudAiplatformV1PairwiseMetricSpec++; if (buildCounterGoogleCloudAiplatformV1PairwiseMetricSpec < 3) { + o.baselineResponseFieldName = 'foo'; + o.candidateResponseFieldName = 'foo'; o.metricPromptTemplate = 'foo'; + o.systemInstruction = 'foo'; } buildCounterGoogleCloudAiplatformV1PairwiseMetricSpec--; return o; @@ -19131,10 +19692,22 @@ void checkGoogleCloudAiplatformV1PairwiseMetricSpec( api.GoogleCloudAiplatformV1PairwiseMetricSpec o) { buildCounterGoogleCloudAiplatformV1PairwiseMetricSpec++; if (buildCounterGoogleCloudAiplatformV1PairwiseMetricSpec < 3) { + unittest.expect( + o.baselineResponseFieldName!, + unittest.equals('foo'), + ); + unittest.expect( + o.candidateResponseFieldName!, + unittest.equals('foo'), + ); unittest.expect( o.metricPromptTemplate!, unittest.equals('foo'), ); + unittest.expect( + o.systemInstruction!, + unittest.equals('foo'), + ); } buildCounterGoogleCloudAiplatformV1PairwiseMetricSpec--; } @@ -19431,6 +20004,8 @@ api.GoogleCloudAiplatformV1Part buildGoogleCloudAiplatformV1Part() { final o = api.GoogleCloudAiplatformV1Part(); buildCounterGoogleCloudAiplatformV1Part++; if (buildCounterGoogleCloudAiplatformV1Part < 3) { + o.codeExecutionResult = buildGoogleCloudAiplatformV1CodeExecutionResult(); + o.executableCode = buildGoogleCloudAiplatformV1ExecutableCode(); o.fileData = buildGoogleCloudAiplatformV1FileData(); o.functionCall = buildGoogleCloudAiplatformV1FunctionCall(); o.functionResponse = buildGoogleCloudAiplatformV1FunctionResponse(); @@ -19445,6 +20020,8 @@ api.GoogleCloudAiplatformV1Part buildGoogleCloudAiplatformV1Part() { void checkGoogleCloudAiplatformV1Part(api.GoogleCloudAiplatformV1Part o) { buildCounterGoogleCloudAiplatformV1Part++; if (buildCounterGoogleCloudAiplatformV1Part < 3) { + checkGoogleCloudAiplatformV1CodeExecutionResult(o.codeExecutionResult!); + checkGoogleCloudAiplatformV1ExecutableCode(o.executableCode!); checkGoogleCloudAiplatformV1FileData(o.fileData!); checkGoogleCloudAiplatformV1FunctionCall(o.functionCall!); checkGoogleCloudAiplatformV1FunctionResponse(o.functionResponse!); @@ -19526,12 +20103,12 @@ void checkGoogleCloudAiplatformV1PersistentDiskSpec( buildCounterGoogleCloudAiplatformV1PersistentDiskSpec--; } -core.Map buildUnnamed272() => { +core.Map buildUnnamed281() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed272(core.Map o) { +void checkUnnamed281(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -19543,12 +20120,12 @@ void checkUnnamed272(core.Map o) { ); } -core.List buildUnnamed273() => [ +core.List buildUnnamed282() => [ 'foo', 'foo', ]; -void checkUnnamed273(core.List o) { +void checkUnnamed282(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -19560,12 +20137,12 @@ void checkUnnamed273(core.List o) { ); } -core.List buildUnnamed274() => [ +core.List buildUnnamed283() => [ buildGoogleCloudAiplatformV1ResourcePool(), buildGoogleCloudAiplatformV1ResourcePool(), ]; -void checkUnnamed274(core.List o) { +void checkUnnamed283(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ResourcePool(o[0]); checkGoogleCloudAiplatformV1ResourcePool(o[1]); @@ -19581,11 +20158,11 @@ api.GoogleCloudAiplatformV1PersistentResource o.displayName = 'foo'; o.encryptionSpec = buildGoogleCloudAiplatformV1EncryptionSpec(); o.error = buildGoogleRpcStatus(); - o.labels = buildUnnamed272(); + o.labels = buildUnnamed281(); o.name = 'foo'; o.network = 'foo'; - o.reservedIpRanges = buildUnnamed273(); - o.resourcePools = buildUnnamed274(); + o.reservedIpRanges = buildUnnamed282(); + o.resourcePools = buildUnnamed283(); o.resourceRuntime = buildGoogleCloudAiplatformV1ResourceRuntime(); o.resourceRuntimeSpec = buildGoogleCloudAiplatformV1ResourceRuntimeSpec(); o.satisfiesPzi = true; @@ -19612,7 +20189,7 @@ void checkGoogleCloudAiplatformV1PersistentResource( ); checkGoogleCloudAiplatformV1EncryptionSpec(o.encryptionSpec!); checkGoogleRpcStatus(o.error!); - checkUnnamed272(o.labels!); + checkUnnamed281(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -19621,8 +20198,8 @@ void checkGoogleCloudAiplatformV1PersistentResource( o.network!, unittest.equals('foo'), ); - checkUnnamed273(o.reservedIpRanges!); - checkUnnamed274(o.resourcePools!); + checkUnnamed282(o.reservedIpRanges!); + checkUnnamed283(o.resourcePools!); checkGoogleCloudAiplatformV1ResourceRuntime(o.resourceRuntime!); checkGoogleCloudAiplatformV1ResourceRuntimeSpec(o.resourceRuntimeSpec!); unittest.expect(o.satisfiesPzi!, unittest.isTrue); @@ -19643,12 +20220,12 @@ void checkGoogleCloudAiplatformV1PersistentResource( buildCounterGoogleCloudAiplatformV1PersistentResource--; } -core.Map buildUnnamed275() => { +core.Map buildUnnamed284() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed275(core.Map o) { +void checkUnnamed284(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -19660,7 +20237,7 @@ void checkUnnamed275(core.Map o) { ); } -core.Map buildUnnamed276() => { +core.Map buildUnnamed285() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -19673,7 +20250,7 @@ core.Map buildUnnamed276() => { }, }; -void checkUnnamed276(core.Map o) { +void checkUnnamed285(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted52 = (o['x']!) as core.Map; unittest.expect(casted52, unittest.hasLength(3)); @@ -19705,12 +20282,12 @@ void checkUnnamed276(core.Map o) { ); } -core.List buildUnnamed277() => [ +core.List buildUnnamed286() => [ 'foo', 'foo', ]; -void checkUnnamed277(core.List o) { +void checkUnnamed286(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -19734,12 +20311,12 @@ api.GoogleCloudAiplatformV1PipelineJob o.endTime = 'foo'; o.error = buildGoogleRpcStatus(); o.jobDetail = buildGoogleCloudAiplatformV1PipelineJobDetail(); - o.labels = buildUnnamed275(); + o.labels = buildUnnamed284(); o.name = 'foo'; o.network = 'foo'; - o.pipelineSpec = buildUnnamed276(); + o.pipelineSpec = buildUnnamed285(); o.preflightValidations = true; - o.reservedIpRanges = buildUnnamed277(); + o.reservedIpRanges = buildUnnamed286(); o.runtimeConfig = buildGoogleCloudAiplatformV1PipelineJobRuntimeConfig(); o.scheduleName = 'foo'; o.serviceAccount = 'foo'; @@ -19772,7 +20349,7 @@ void checkGoogleCloudAiplatformV1PipelineJob( ); checkGoogleRpcStatus(o.error!); checkGoogleCloudAiplatformV1PipelineJobDetail(o.jobDetail!); - checkUnnamed275(o.labels!); + checkUnnamed284(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -19781,9 +20358,9 @@ void checkGoogleCloudAiplatformV1PipelineJob( o.network!, unittest.equals('foo'), ); - checkUnnamed276(o.pipelineSpec!); + checkUnnamed285(o.pipelineSpec!); unittest.expect(o.preflightValidations!, unittest.isTrue); - checkUnnamed277(o.reservedIpRanges!); + checkUnnamed286(o.reservedIpRanges!); checkGoogleCloudAiplatformV1PipelineJobRuntimeConfig(o.runtimeConfig!); unittest.expect( o.scheduleName!, @@ -19814,12 +20391,12 @@ void checkGoogleCloudAiplatformV1PipelineJob( buildCounterGoogleCloudAiplatformV1PipelineJob--; } -core.List buildUnnamed278() => [ +core.List buildUnnamed287() => [ buildGoogleCloudAiplatformV1PipelineTaskDetail(), buildGoogleCloudAiplatformV1PipelineTaskDetail(), ]; -void checkUnnamed278( +void checkUnnamed287( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1PipelineTaskDetail(o[0]); @@ -19834,7 +20411,7 @@ api.GoogleCloudAiplatformV1PipelineJobDetail if (buildCounterGoogleCloudAiplatformV1PipelineJobDetail < 3) { o.pipelineContext = buildGoogleCloudAiplatformV1Context(); o.pipelineRunContext = buildGoogleCloudAiplatformV1Context(); - o.taskDetails = buildUnnamed278(); + o.taskDetails = buildUnnamed287(); } buildCounterGoogleCloudAiplatformV1PipelineJobDetail--; return o; @@ -19846,21 +20423,21 @@ void checkGoogleCloudAiplatformV1PipelineJobDetail( if (buildCounterGoogleCloudAiplatformV1PipelineJobDetail < 3) { checkGoogleCloudAiplatformV1Context(o.pipelineContext!); checkGoogleCloudAiplatformV1Context(o.pipelineRunContext!); - checkUnnamed278(o.taskDetails!); + checkUnnamed287(o.taskDetails!); } buildCounterGoogleCloudAiplatformV1PipelineJobDetail--; } core.Map - buildUnnamed279() => { + buildUnnamed288() => { 'x': buildGoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact(), 'y': buildGoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact(), }; -void checkUnnamed279( +void checkUnnamed288( core.Map o) { @@ -19869,7 +20446,7 @@ void checkUnnamed279( checkGoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact(o['y']!); } -core.Map buildUnnamed280() => { +core.Map buildUnnamed289() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -19882,7 +20459,7 @@ core.Map buildUnnamed280() => { }, }; -void checkUnnamed280(core.Map o) { +void checkUnnamed289(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted54 = (o['x']!) as core.Map; unittest.expect(casted54, unittest.hasLength(3)); @@ -19914,12 +20491,12 @@ void checkUnnamed280(core.Map o) { ); } -core.Map buildUnnamed281() => { +core.Map buildUnnamed290() => { 'x': buildGoogleCloudAiplatformV1Value(), 'y': buildGoogleCloudAiplatformV1Value(), }; -void checkUnnamed281( +void checkUnnamed290( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Value(o['x']!); @@ -19934,9 +20511,9 @@ api.GoogleCloudAiplatformV1PipelineJobRuntimeConfig if (buildCounterGoogleCloudAiplatformV1PipelineJobRuntimeConfig < 3) { o.failurePolicy = 'foo'; o.gcsOutputDirectory = 'foo'; - o.inputArtifacts = buildUnnamed279(); - o.parameterValues = buildUnnamed280(); - o.parameters = buildUnnamed281(); + o.inputArtifacts = buildUnnamed288(); + o.parameterValues = buildUnnamed289(); + o.parameters = buildUnnamed290(); } buildCounterGoogleCloudAiplatformV1PipelineJobRuntimeConfig--; return o; @@ -19954,9 +20531,9 @@ void checkGoogleCloudAiplatformV1PipelineJobRuntimeConfig( o.gcsOutputDirectory!, unittest.equals('foo'), ); - checkUnnamed279(o.inputArtifacts!); - checkUnnamed280(o.parameterValues!); - checkUnnamed281(o.parameters!); + checkUnnamed288(o.inputArtifacts!); + checkUnnamed289(o.parameterValues!); + checkUnnamed290(o.parameters!); } buildCounterGoogleCloudAiplatformV1PipelineJobRuntimeConfig--; } @@ -19990,12 +20567,12 @@ void checkGoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact( } core.Map - buildUnnamed282() => { + buildUnnamed291() => { 'x': buildGoogleCloudAiplatformV1PipelineTaskDetailArtifactList(), 'y': buildGoogleCloudAiplatformV1PipelineTaskDetailArtifactList(), }; -void checkUnnamed282( +void checkUnnamed291( core.Map o) { @@ -20005,12 +20582,12 @@ void checkUnnamed282( } core.Map - buildUnnamed283() => { + buildUnnamed292() => { 'x': buildGoogleCloudAiplatformV1PipelineTaskDetailArtifactList(), 'y': buildGoogleCloudAiplatformV1PipelineTaskDetailArtifactList(), }; -void checkUnnamed283( +void checkUnnamed292( core.Map o) { @@ -20020,12 +20597,12 @@ void checkUnnamed283( } core.List - buildUnnamed284() => [ + buildUnnamed293() => [ buildGoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus(), buildGoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus(), ]; -void checkUnnamed284( +void checkUnnamed293( core.List o) { unittest.expect(o, unittest.hasLength(2)); @@ -20044,10 +20621,10 @@ api.GoogleCloudAiplatformV1PipelineTaskDetail o.error = buildGoogleRpcStatus(); o.execution = buildGoogleCloudAiplatformV1Execution(); o.executorDetail = buildGoogleCloudAiplatformV1PipelineTaskExecutorDetail(); - o.inputs = buildUnnamed282(); - o.outputs = buildUnnamed283(); + o.inputs = buildUnnamed291(); + o.outputs = buildUnnamed292(); o.parentTaskId = 'foo'; - o.pipelineTaskStatus = buildUnnamed284(); + o.pipelineTaskStatus = buildUnnamed293(); o.startTime = 'foo'; o.state = 'foo'; o.taskId = 'foo'; @@ -20072,13 +20649,13 @@ void checkGoogleCloudAiplatformV1PipelineTaskDetail( checkGoogleRpcStatus(o.error!); checkGoogleCloudAiplatformV1Execution(o.execution!); checkGoogleCloudAiplatformV1PipelineTaskExecutorDetail(o.executorDetail!); - checkUnnamed282(o.inputs!); - checkUnnamed283(o.outputs!); + checkUnnamed291(o.inputs!); + checkUnnamed292(o.outputs!); unittest.expect( o.parentTaskId!, unittest.equals('foo'), ); - checkUnnamed284(o.pipelineTaskStatus!); + checkUnnamed293(o.pipelineTaskStatus!); unittest.expect( o.startTime!, unittest.equals('foo'), @@ -20099,12 +20676,12 @@ void checkGoogleCloudAiplatformV1PipelineTaskDetail( buildCounterGoogleCloudAiplatformV1PipelineTaskDetail--; } -core.List buildUnnamed285() => [ +core.List buildUnnamed294() => [ buildGoogleCloudAiplatformV1Artifact(), buildGoogleCloudAiplatformV1Artifact(), ]; -void checkUnnamed285(core.List o) { +void checkUnnamed294(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Artifact(o[0]); checkGoogleCloudAiplatformV1Artifact(o[1]); @@ -20116,7 +20693,7 @@ api.GoogleCloudAiplatformV1PipelineTaskDetailArtifactList final o = api.GoogleCloudAiplatformV1PipelineTaskDetailArtifactList(); buildCounterGoogleCloudAiplatformV1PipelineTaskDetailArtifactList++; if (buildCounterGoogleCloudAiplatformV1PipelineTaskDetailArtifactList < 3) { - o.artifacts = buildUnnamed285(); + o.artifacts = buildUnnamed294(); } buildCounterGoogleCloudAiplatformV1PipelineTaskDetailArtifactList--; return o; @@ -20126,7 +20703,7 @@ void checkGoogleCloudAiplatformV1PipelineTaskDetailArtifactList( api.GoogleCloudAiplatformV1PipelineTaskDetailArtifactList o) { buildCounterGoogleCloudAiplatformV1PipelineTaskDetailArtifactList++; if (buildCounterGoogleCloudAiplatformV1PipelineTaskDetailArtifactList < 3) { - checkUnnamed285(o.artifacts!); + checkUnnamed294(o.artifacts!); } buildCounterGoogleCloudAiplatformV1PipelineTaskDetailArtifactList--; } @@ -20192,12 +20769,12 @@ void checkGoogleCloudAiplatformV1PipelineTaskExecutorDetail( buildCounterGoogleCloudAiplatformV1PipelineTaskExecutorDetail--; } -core.List buildUnnamed286() => [ +core.List buildUnnamed295() => [ 'foo', 'foo', ]; -void checkUnnamed286(core.List o) { +void checkUnnamed295(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -20209,12 +20786,12 @@ void checkUnnamed286(core.List o) { ); } -core.List buildUnnamed287() => [ +core.List buildUnnamed296() => [ 'foo', 'foo', ]; -void checkUnnamed287(core.List o) { +void checkUnnamed296(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -20236,8 +20813,8 @@ api.GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail buildCounterGoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail++; if (buildCounterGoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail < 3) { - o.failedMainJobs = buildUnnamed286(); - o.failedPreCachingCheckJobs = buildUnnamed287(); + o.failedMainJobs = buildUnnamed295(); + o.failedPreCachingCheckJobs = buildUnnamed296(); o.mainJob = 'foo'; o.preCachingCheckJob = 'foo'; } @@ -20250,8 +20827,8 @@ void checkGoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail( buildCounterGoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail++; if (buildCounterGoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail < 3) { - checkUnnamed286(o.failedMainJobs!); - checkUnnamed287(o.failedPreCachingCheckJobs!); + checkUnnamed295(o.failedMainJobs!); + checkUnnamed296(o.failedPreCachingCheckJobs!); unittest.expect( o.mainJob!, unittest.equals('foo'), @@ -20264,12 +20841,12 @@ void checkGoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail( buildCounterGoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail--; } -core.List buildUnnamed288() => [ +core.List buildUnnamed297() => [ 'foo', 'foo', ]; -void checkUnnamed288(core.List o) { +void checkUnnamed297(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -20291,7 +20868,7 @@ api.GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail buildCounterGoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail++; if (buildCounterGoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail < 3) { - o.failedJobs = buildUnnamed288(); + o.failedJobs = buildUnnamed297(); o.job = 'foo'; } buildCounterGoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail--; @@ -20303,7 +20880,7 @@ void checkGoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail( buildCounterGoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail++; if (buildCounterGoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail < 3) { - checkUnnamed288(o.failedJobs!); + checkUnnamed297(o.failedJobs!); unittest.expect( o.job!, unittest.equals('foo'), @@ -20419,6 +20996,7 @@ api.GoogleCloudAiplatformV1PointwiseMetricSpec buildCounterGoogleCloudAiplatformV1PointwiseMetricSpec++; if (buildCounterGoogleCloudAiplatformV1PointwiseMetricSpec < 3) { o.metricPromptTemplate = 'foo'; + o.systemInstruction = 'foo'; } buildCounterGoogleCloudAiplatformV1PointwiseMetricSpec--; return o; @@ -20432,6 +21010,10 @@ void checkGoogleCloudAiplatformV1PointwiseMetricSpec( o.metricPromptTemplate!, unittest.equals('foo'), ); + unittest.expect( + o.systemInstruction!, + unittest.equals('foo'), + ); } buildCounterGoogleCloudAiplatformV1PointwiseMetricSpec--; } @@ -20458,6 +21040,40 @@ void checkGoogleCloudAiplatformV1Port(api.GoogleCloudAiplatformV1Port o) { buildCounterGoogleCloudAiplatformV1Port--; } +core.int buildCounterGoogleCloudAiplatformV1PostStartupScriptConfig = 0; +api.GoogleCloudAiplatformV1PostStartupScriptConfig + buildGoogleCloudAiplatformV1PostStartupScriptConfig() { + final o = api.GoogleCloudAiplatformV1PostStartupScriptConfig(); + buildCounterGoogleCloudAiplatformV1PostStartupScriptConfig++; + if (buildCounterGoogleCloudAiplatformV1PostStartupScriptConfig < 3) { + o.postStartupScript = 'foo'; + o.postStartupScriptBehavior = 'foo'; + o.postStartupScriptUrl = 'foo'; + } + buildCounterGoogleCloudAiplatformV1PostStartupScriptConfig--; + return o; +} + +void checkGoogleCloudAiplatformV1PostStartupScriptConfig( + api.GoogleCloudAiplatformV1PostStartupScriptConfig o) { + buildCounterGoogleCloudAiplatformV1PostStartupScriptConfig++; + if (buildCounterGoogleCloudAiplatformV1PostStartupScriptConfig < 3) { + unittest.expect( + o.postStartupScript!, + unittest.equals('foo'), + ); + unittest.expect( + o.postStartupScriptBehavior!, + unittest.equals('foo'), + ); + unittest.expect( + o.postStartupScriptUrl!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudAiplatformV1PostStartupScriptConfig--; +} + core.int buildCounterGoogleCloudAiplatformV1PrebuiltVoiceConfig = 0; api.GoogleCloudAiplatformV1PrebuiltVoiceConfig buildGoogleCloudAiplatformV1PrebuiltVoiceConfig() { @@ -20506,7 +21122,7 @@ void checkGoogleCloudAiplatformV1PredefinedSplit( buildCounterGoogleCloudAiplatformV1PredefinedSplit--; } -core.List buildUnnamed289() => [ +core.List buildUnnamed298() => [ { 'list': [1, 2, 3], 'bool': true, @@ -20519,7 +21135,7 @@ core.List buildUnnamed289() => [ }, ]; -void checkUnnamed289(core.List o) { +void checkUnnamed298(core.List o) { unittest.expect(o, unittest.hasLength(2)); var casted56 = (o[0]) as core.Map; unittest.expect(casted56, unittest.hasLength(3)); @@ -20557,7 +21173,7 @@ api.GoogleCloudAiplatformV1PredictLongRunningRequest final o = api.GoogleCloudAiplatformV1PredictLongRunningRequest(); buildCounterGoogleCloudAiplatformV1PredictLongRunningRequest++; if (buildCounterGoogleCloudAiplatformV1PredictLongRunningRequest < 3) { - o.instances = buildUnnamed289(); + o.instances = buildUnnamed298(); o.parameters = { 'list': [1, 2, 3], 'bool': true, @@ -20572,7 +21188,7 @@ void checkGoogleCloudAiplatformV1PredictLongRunningRequest( api.GoogleCloudAiplatformV1PredictLongRunningRequest o) { buildCounterGoogleCloudAiplatformV1PredictLongRunningRequest++; if (buildCounterGoogleCloudAiplatformV1PredictLongRunningRequest < 3) { - checkUnnamed289(o.instances!); + checkUnnamed298(o.instances!); var casted58 = (o.parameters!) as core.Map; unittest.expect(casted58, unittest.hasLength(3)); unittest.expect( @@ -20591,7 +21207,7 @@ void checkGoogleCloudAiplatformV1PredictLongRunningRequest( buildCounterGoogleCloudAiplatformV1PredictLongRunningRequest--; } -core.List buildUnnamed290() => [ +core.List buildUnnamed299() => [ { 'list': [1, 2, 3], 'bool': true, @@ -20604,7 +21220,7 @@ core.List buildUnnamed290() => [ }, ]; -void checkUnnamed290(core.List o) { +void checkUnnamed299(core.List o) { unittest.expect(o, unittest.hasLength(2)); var casted59 = (o[0]) as core.Map; unittest.expect(casted59, unittest.hasLength(3)); @@ -20642,7 +21258,7 @@ api.GoogleCloudAiplatformV1PredictRequest final o = api.GoogleCloudAiplatformV1PredictRequest(); buildCounterGoogleCloudAiplatformV1PredictRequest++; if (buildCounterGoogleCloudAiplatformV1PredictRequest < 3) { - o.instances = buildUnnamed290(); + o.instances = buildUnnamed299(); o.parameters = { 'list': [1, 2, 3], 'bool': true, @@ -20657,7 +21273,7 @@ void checkGoogleCloudAiplatformV1PredictRequest( api.GoogleCloudAiplatformV1PredictRequest o) { buildCounterGoogleCloudAiplatformV1PredictRequest++; if (buildCounterGoogleCloudAiplatformV1PredictRequest < 3) { - checkUnnamed290(o.instances!); + checkUnnamed299(o.instances!); var casted61 = (o.parameters!) as core.Map; unittest.expect(casted61, unittest.hasLength(3)); unittest.expect( @@ -20707,7 +21323,7 @@ void checkGoogleCloudAiplatformV1PredictRequestResponseLoggingConfig( buildCounterGoogleCloudAiplatformV1PredictRequestResponseLoggingConfig--; } -core.List buildUnnamed291() => [ +core.List buildUnnamed300() => [ { 'list': [1, 2, 3], 'bool': true, @@ -20720,7 +21336,7 @@ core.List buildUnnamed291() => [ }, ]; -void checkUnnamed291(core.List o) { +void checkUnnamed300(core.List o) { unittest.expect(o, unittest.hasLength(2)); var casted62 = (o[0]) as core.Map; unittest.expect(casted62, unittest.hasLength(3)); @@ -20767,7 +21383,7 @@ api.GoogleCloudAiplatformV1PredictResponse o.model = 'foo'; o.modelDisplayName = 'foo'; o.modelVersionId = 'foo'; - o.predictions = buildUnnamed291(); + o.predictions = buildUnnamed300(); } buildCounterGoogleCloudAiplatformV1PredictResponse--; return o; @@ -20807,7 +21423,7 @@ void checkGoogleCloudAiplatformV1PredictResponse( o.modelVersionId!, unittest.equals('foo'), ); - checkUnnamed291(o.predictions!); + checkUnnamed300(o.predictions!); } buildCounterGoogleCloudAiplatformV1PredictResponse--; } @@ -20912,12 +21528,12 @@ void checkGoogleCloudAiplatformV1PrivateEndpoints( buildCounterGoogleCloudAiplatformV1PrivateEndpoints--; } -core.List buildUnnamed292() => [ +core.List buildUnnamed301() => [ 'foo', 'foo', ]; -void checkUnnamed292(core.List o) { +void checkUnnamed301(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -20936,7 +21552,7 @@ api.GoogleCloudAiplatformV1PrivateServiceConnectConfig buildCounterGoogleCloudAiplatformV1PrivateServiceConnectConfig++; if (buildCounterGoogleCloudAiplatformV1PrivateServiceConnectConfig < 3) { o.enablePrivateServiceConnect = true; - o.projectAllowlist = buildUnnamed292(); + o.projectAllowlist = buildUnnamed301(); o.serviceAttachment = 'foo'; } buildCounterGoogleCloudAiplatformV1PrivateServiceConnectConfig--; @@ -20948,7 +21564,7 @@ void checkGoogleCloudAiplatformV1PrivateServiceConnectConfig( buildCounterGoogleCloudAiplatformV1PrivateServiceConnectConfig++; if (buildCounterGoogleCloudAiplatformV1PrivateServiceConnectConfig < 3) { unittest.expect(o.enablePrivateServiceConnect!, unittest.isTrue); - checkUnnamed292(o.projectAllowlist!); + checkUnnamed301(o.projectAllowlist!); unittest.expect( o.serviceAttachment!, unittest.equals('foo'), @@ -20963,9 +21579,12 @@ api.GoogleCloudAiplatformV1Probe buildGoogleCloudAiplatformV1Probe() { buildCounterGoogleCloudAiplatformV1Probe++; if (buildCounterGoogleCloudAiplatformV1Probe < 3) { o.exec = buildGoogleCloudAiplatformV1ProbeExecAction(); + o.failureThreshold = 42; o.grpc = buildGoogleCloudAiplatformV1ProbeGrpcAction(); o.httpGet = buildGoogleCloudAiplatformV1ProbeHttpGetAction(); + o.initialDelaySeconds = 42; o.periodSeconds = 42; + o.successThreshold = 42; o.tcpSocket = buildGoogleCloudAiplatformV1ProbeTcpSocketAction(); o.timeoutSeconds = 42; } @@ -20977,12 +21596,24 @@ void checkGoogleCloudAiplatformV1Probe(api.GoogleCloudAiplatformV1Probe o) { buildCounterGoogleCloudAiplatformV1Probe++; if (buildCounterGoogleCloudAiplatformV1Probe < 3) { checkGoogleCloudAiplatformV1ProbeExecAction(o.exec!); + unittest.expect( + o.failureThreshold!, + unittest.equals(42), + ); checkGoogleCloudAiplatformV1ProbeGrpcAction(o.grpc!); checkGoogleCloudAiplatformV1ProbeHttpGetAction(o.httpGet!); + unittest.expect( + o.initialDelaySeconds!, + unittest.equals(42), + ); unittest.expect( o.periodSeconds!, unittest.equals(42), ); + unittest.expect( + o.successThreshold!, + unittest.equals(42), + ); checkGoogleCloudAiplatformV1ProbeTcpSocketAction(o.tcpSocket!); unittest.expect( o.timeoutSeconds!, @@ -20992,12 +21623,12 @@ void checkGoogleCloudAiplatformV1Probe(api.GoogleCloudAiplatformV1Probe o) { buildCounterGoogleCloudAiplatformV1Probe--; } -core.List buildUnnamed293() => [ +core.List buildUnnamed302() => [ 'foo', 'foo', ]; -void checkUnnamed293(core.List o) { +void checkUnnamed302(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -21015,7 +21646,7 @@ api.GoogleCloudAiplatformV1ProbeExecAction final o = api.GoogleCloudAiplatformV1ProbeExecAction(); buildCounterGoogleCloudAiplatformV1ProbeExecAction++; if (buildCounterGoogleCloudAiplatformV1ProbeExecAction < 3) { - o.command = buildUnnamed293(); + o.command = buildUnnamed302(); } buildCounterGoogleCloudAiplatformV1ProbeExecAction--; return o; @@ -21025,7 +21656,7 @@ void checkGoogleCloudAiplatformV1ProbeExecAction( api.GoogleCloudAiplatformV1ProbeExecAction o) { buildCounterGoogleCloudAiplatformV1ProbeExecAction++; if (buildCounterGoogleCloudAiplatformV1ProbeExecAction < 3) { - checkUnnamed293(o.command!); + checkUnnamed302(o.command!); } buildCounterGoogleCloudAiplatformV1ProbeExecAction--; } @@ -21059,12 +21690,12 @@ void checkGoogleCloudAiplatformV1ProbeGrpcAction( buildCounterGoogleCloudAiplatformV1ProbeGrpcAction--; } -core.List buildUnnamed294() => [ +core.List buildUnnamed303() => [ buildGoogleCloudAiplatformV1ProbeHttpHeader(), buildGoogleCloudAiplatformV1ProbeHttpHeader(), ]; -void checkUnnamed294(core.List o) { +void checkUnnamed303(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ProbeHttpHeader(o[0]); checkGoogleCloudAiplatformV1ProbeHttpHeader(o[1]); @@ -21077,7 +21708,7 @@ api.GoogleCloudAiplatformV1ProbeHttpGetAction buildCounterGoogleCloudAiplatformV1ProbeHttpGetAction++; if (buildCounterGoogleCloudAiplatformV1ProbeHttpGetAction < 3) { o.host = 'foo'; - o.httpHeaders = buildUnnamed294(); + o.httpHeaders = buildUnnamed303(); o.path = 'foo'; o.port = 42; o.scheme = 'foo'; @@ -21094,7 +21725,7 @@ void checkGoogleCloudAiplatformV1ProbeHttpGetAction( o.host!, unittest.equals('foo'), ); - checkUnnamed294(o.httpHeaders!); + checkUnnamed303(o.httpHeaders!); unittest.expect( o.path!, unittest.equals('foo'), @@ -21203,12 +21834,12 @@ void checkGoogleCloudAiplatformV1PscAutomatedEndpoints( buildCounterGoogleCloudAiplatformV1PscAutomatedEndpoints--; } -core.List buildUnnamed295() => [ +core.List buildUnnamed304() => [ 'foo', 'foo', ]; -void checkUnnamed295(core.List o) { +void checkUnnamed304(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -21226,7 +21857,7 @@ api.GoogleCloudAiplatformV1PublisherModel final o = api.GoogleCloudAiplatformV1PublisherModel(); buildCounterGoogleCloudAiplatformV1PublisherModel++; if (buildCounterGoogleCloudAiplatformV1PublisherModel < 3) { - o.frameworks = buildUnnamed295(); + o.frameworks = buildUnnamed304(); o.launchStage = 'foo'; o.name = 'foo'; o.openSourceCategory = 'foo'; @@ -21245,7 +21876,7 @@ void checkGoogleCloudAiplatformV1PublisherModel( api.GoogleCloudAiplatformV1PublisherModel o) { buildCounterGoogleCloudAiplatformV1PublisherModel++; if (buildCounterGoogleCloudAiplatformV1PublisherModel < 3) { - checkUnnamed295(o.frameworks!); + checkUnnamed304(o.frameworks!); unittest.expect( o.launchStage!, unittest.equals('foo'), @@ -21411,12 +22042,12 @@ void checkGoogleCloudAiplatformV1PublisherModelCallToActionDeploy( buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionDeploy--; } -core.Map buildUnnamed296() => { +core.Map buildUnnamed305() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed296(core.Map o) { +void checkUnnamed305(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -21438,7 +22069,7 @@ api.GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata++; if (buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata < 3) { - o.labels = buildUnnamed296(); + o.labels = buildUnnamed305(); o.sampleRequest = 'foo'; } buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata--; @@ -21451,7 +22082,7 @@ void checkGoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata( buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata++; if (buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata < 3) { - checkUnnamed296(o.labels!); + checkUnnamed305(o.labels!); unittest.expect( o.sampleRequest!, unittest.equals('foo'), @@ -21460,12 +22091,12 @@ void checkGoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata( buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata--; } -core.List buildUnnamed297() => [ +core.List buildUnnamed306() => [ 'foo', 'foo', ]; -void checkUnnamed297(core.List o) { +void checkUnnamed306(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -21485,7 +22116,7 @@ api.GoogleCloudAiplatformV1PublisherModelCallToActionDeployGke buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionDeployGke++; if (buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionDeployGke < 3) { - o.gkeYamlConfigs = buildUnnamed297(); + o.gkeYamlConfigs = buildUnnamed306(); } buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionDeployGke--; return o; @@ -21496,18 +22127,18 @@ void checkGoogleCloudAiplatformV1PublisherModelCallToActionDeployGke( buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionDeployGke++; if (buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionDeployGke < 3) { - checkUnnamed297(o.gkeYamlConfigs!); + checkUnnamed306(o.gkeYamlConfigs!); } buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionDeployGke--; } core.List - buildUnnamed298() => [ + buildUnnamed307() => [ buildGoogleCloudAiplatformV1PublisherModelCallToActionDeploy(), buildGoogleCloudAiplatformV1PublisherModelCallToActionDeploy(), ]; -void checkUnnamed298( +void checkUnnamed307( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1PublisherModelCallToActionDeploy(o[0]); @@ -21523,7 +22154,7 @@ api.GoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex++; if (buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex < 3) { - o.multiDeployVertex = buildUnnamed298(); + o.multiDeployVertex = buildUnnamed307(); } buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex--; return o; @@ -21534,7 +22165,7 @@ void checkGoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex( buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex++; if (buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex < 3) { - checkUnnamed298(o.multiDeployVertex!); + checkUnnamed307(o.multiDeployVertex!); } buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex--; } @@ -21542,12 +22173,12 @@ void checkGoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex( core.List< api .GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences> - buildUnnamed299() => [ + buildUnnamed308() => [ buildGoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences(), buildGoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences(), ]; -void checkUnnamed299( +void checkUnnamed308( core.List< api .GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences> @@ -21569,7 +22200,7 @@ api.GoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines++; if (buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines < 3) { - o.fineTuningPipelines = buildUnnamed299(); + o.fineTuningPipelines = buildUnnamed308(); } buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines--; return o; @@ -21581,7 +22212,7 @@ void checkGoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelin buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines++; if (buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines < 3) { - checkUnnamed299(o.fineTuningPipelines!); + checkUnnamed308(o.fineTuningPipelines!); } buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines--; } @@ -21589,12 +22220,12 @@ void checkGoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelin core.List< api .GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences> - buildUnnamed300() => [ + buildUnnamed309() => [ buildGoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences(), buildGoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences(), ]; -void checkUnnamed300( +void checkUnnamed309( core.List< api .GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences> @@ -21616,7 +22247,7 @@ api.GoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks++; if (buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks < 3) { - o.notebooks = buildUnnamed300(); + o.notebooks = buildUnnamed309(); } buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks--; return o; @@ -21627,19 +22258,19 @@ void checkGoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks( buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks++; if (buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks < 3) { - checkUnnamed300(o.notebooks!); + checkUnnamed309(o.notebooks!); } buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks--; } core.Map - buildUnnamed301() => { + buildUnnamed310() => { 'x': buildGoogleCloudAiplatformV1PublisherModelResourceReference(), 'y': buildGoogleCloudAiplatformV1PublisherModelResourceReference(), }; -void checkUnnamed301( +void checkUnnamed310( core.Map o) { @@ -21658,7 +22289,7 @@ api.GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences++; if (buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences < 3) { - o.references = buildUnnamed301(); + o.references = buildUnnamed310(); o.resourceDescription = 'foo'; o.resourceTitle = 'foo'; o.resourceUseCase = 'foo'; @@ -21674,7 +22305,7 @@ void checkGoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceRefer buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences++; if (buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences < 3) { - checkUnnamed301(o.references!); + checkUnnamed310(o.references!); unittest.expect( o.resourceDescription!, unittest.equals('foo'), @@ -21696,12 +22327,12 @@ void checkGoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceRefer } core.List - buildUnnamed302() => [ + buildUnnamed311() => [ buildGoogleCloudAiplatformV1PublisherModelDocumentation(), buildGoogleCloudAiplatformV1PublisherModelDocumentation(), ]; -void checkUnnamed302( +void checkUnnamed311( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1PublisherModelDocumentation(o[0]); @@ -21717,7 +22348,7 @@ api.GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi++; if (buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi < 3) { - o.documentations = buildUnnamed302(); + o.documentations = buildUnnamed311(); o.title = 'foo'; } buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi--; @@ -21729,7 +22360,7 @@ void checkGoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi( buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi++; if (buildCounterGoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi < 3) { - checkUnnamed302(o.documentations!); + checkUnnamed311(o.documentations!); unittest.expect( o.title!, unittest.equals('foo'), @@ -21884,12 +22515,12 @@ void checkGoogleCloudAiplatformV1PurgeExecutionsRequest( buildCounterGoogleCloudAiplatformV1PurgeExecutionsRequest--; } -core.List buildUnnamed303() => [ +core.List buildUnnamed312() => [ 'foo', 'foo', ]; -void checkUnnamed303(core.List o) { +void checkUnnamed312(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -21901,23 +22532,23 @@ void checkUnnamed303(core.List o) { ); } -core.List buildUnnamed304() => [ +core.List buildUnnamed313() => [ buildGoogleCloudAiplatformV1EnvVar(), buildGoogleCloudAiplatformV1EnvVar(), ]; -void checkUnnamed304(core.List o) { +void checkUnnamed313(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1EnvVar(o[0]); checkGoogleCloudAiplatformV1EnvVar(o[1]); } -core.List buildUnnamed305() => [ +core.List buildUnnamed314() => [ 'foo', 'foo', ]; -void checkUnnamed305(core.List o) { +void checkUnnamed314(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -21935,10 +22566,10 @@ api.GoogleCloudAiplatformV1PythonPackageSpec final o = api.GoogleCloudAiplatformV1PythonPackageSpec(); buildCounterGoogleCloudAiplatformV1PythonPackageSpec++; if (buildCounterGoogleCloudAiplatformV1PythonPackageSpec < 3) { - o.args = buildUnnamed303(); - o.env = buildUnnamed304(); + o.args = buildUnnamed312(); + o.env = buildUnnamed313(); o.executorImageUri = 'foo'; - o.packageUris = buildUnnamed305(); + o.packageUris = buildUnnamed314(); o.pythonModule = 'foo'; } buildCounterGoogleCloudAiplatformV1PythonPackageSpec--; @@ -21949,13 +22580,13 @@ void checkGoogleCloudAiplatformV1PythonPackageSpec( api.GoogleCloudAiplatformV1PythonPackageSpec o) { buildCounterGoogleCloudAiplatformV1PythonPackageSpec++; if (buildCounterGoogleCloudAiplatformV1PythonPackageSpec < 3) { - checkUnnamed303(o.args!); - checkUnnamed304(o.env!); + checkUnnamed312(o.args!); + checkUnnamed313(o.env!); unittest.expect( o.executorImageUri!, unittest.equals('foo'), ); - checkUnnamed305(o.packageUris!); + checkUnnamed314(o.packageUris!); unittest.expect( o.pythonModule!, unittest.equals('foo'), @@ -21964,23 +22595,23 @@ void checkGoogleCloudAiplatformV1PythonPackageSpec( buildCounterGoogleCloudAiplatformV1PythonPackageSpec--; } -core.List buildUnnamed306() => [ +core.List buildUnnamed315() => [ buildGoogleCloudAiplatformV1DeployedModelRef(), buildGoogleCloudAiplatformV1DeployedModelRef(), ]; -void checkUnnamed306(core.List o) { +void checkUnnamed315(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1DeployedModelRef(o[0]); checkGoogleCloudAiplatformV1DeployedModelRef(o[1]); } -core.List buildUnnamed307() => [ +core.List buildUnnamed316() => [ buildGoogleCloudAiplatformV1DeployedModel(), buildGoogleCloudAiplatformV1DeployedModel(), ]; -void checkUnnamed307(core.List o) { +void checkUnnamed316(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1DeployedModel(o[0]); checkGoogleCloudAiplatformV1DeployedModel(o[1]); @@ -21992,8 +22623,8 @@ api.GoogleCloudAiplatformV1QueryDeployedModelsResponse final o = api.GoogleCloudAiplatformV1QueryDeployedModelsResponse(); buildCounterGoogleCloudAiplatformV1QueryDeployedModelsResponse++; if (buildCounterGoogleCloudAiplatformV1QueryDeployedModelsResponse < 3) { - o.deployedModelRefs = buildUnnamed306(); - o.deployedModels = buildUnnamed307(); + o.deployedModelRefs = buildUnnamed315(); + o.deployedModels = buildUnnamed316(); o.nextPageToken = 'foo'; o.totalDeployedModelCount = 42; o.totalEndpointCount = 42; @@ -22006,8 +22637,8 @@ void checkGoogleCloudAiplatformV1QueryDeployedModelsResponse( api.GoogleCloudAiplatformV1QueryDeployedModelsResponse o) { buildCounterGoogleCloudAiplatformV1QueryDeployedModelsResponse++; if (buildCounterGoogleCloudAiplatformV1QueryDeployedModelsResponse < 3) { - checkUnnamed306(o.deployedModelRefs!); - checkUnnamed307(o.deployedModels!); + checkUnnamed315(o.deployedModelRefs!); + checkUnnamed316(o.deployedModels!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -22024,7 +22655,7 @@ void checkGoogleCloudAiplatformV1QueryDeployedModelsResponse( buildCounterGoogleCloudAiplatformV1QueryDeployedModelsResponse--; } -core.Map buildUnnamed308() => { +core.Map buildUnnamed317() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -22037,7 +22668,7 @@ core.Map buildUnnamed308() => { }, }; -void checkUnnamed308(core.Map o) { +void checkUnnamed317(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted65 = (o['x']!) as core.Map; unittest.expect(casted65, unittest.hasLength(3)); @@ -22076,7 +22707,7 @@ api.GoogleCloudAiplatformV1QueryReasoningEngineRequest buildCounterGoogleCloudAiplatformV1QueryReasoningEngineRequest++; if (buildCounterGoogleCloudAiplatformV1QueryReasoningEngineRequest < 3) { o.classMethod = 'foo'; - o.input = buildUnnamed308(); + o.input = buildUnnamed317(); } buildCounterGoogleCloudAiplatformV1QueryReasoningEngineRequest--; return o; @@ -22090,7 +22721,7 @@ void checkGoogleCloudAiplatformV1QueryReasoningEngineRequest( o.classMethod!, unittest.equals('foo'), ); - checkUnnamed308(o.input!); + checkUnnamed317(o.input!); } buildCounterGoogleCloudAiplatformV1QueryReasoningEngineRequest--; } @@ -22653,12 +23284,12 @@ void checkGoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec( buildCounterGoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec--; } -core.List buildUnnamed309() => [ +core.List buildUnnamed318() => [ buildGoogleCloudAiplatformV1RagContextsContext(), buildGoogleCloudAiplatformV1RagContextsContext(), ]; -void checkUnnamed309( +void checkUnnamed318( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1RagContextsContext(o[0]); @@ -22671,7 +23302,7 @@ api.GoogleCloudAiplatformV1RagContexts final o = api.GoogleCloudAiplatformV1RagContexts(); buildCounterGoogleCloudAiplatformV1RagContexts++; if (buildCounterGoogleCloudAiplatformV1RagContexts < 3) { - o.contexts = buildUnnamed309(); + o.contexts = buildUnnamed318(); } buildCounterGoogleCloudAiplatformV1RagContexts--; return o; @@ -22681,7 +23312,7 @@ void checkGoogleCloudAiplatformV1RagContexts( api.GoogleCloudAiplatformV1RagContexts o) { buildCounterGoogleCloudAiplatformV1RagContexts++; if (buildCounterGoogleCloudAiplatformV1RagContexts < 3) { - checkUnnamed309(o.contexts!); + checkUnnamed318(o.contexts!); } buildCounterGoogleCloudAiplatformV1RagContexts--; } @@ -23225,12 +23856,12 @@ void checkGoogleCloudAiplatformV1RayMetricSpec( buildCounterGoogleCloudAiplatformV1RayMetricSpec--; } -core.Map buildUnnamed310() => { +core.Map buildUnnamed319() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed310(core.Map o) { +void checkUnnamed319(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -23251,7 +23882,7 @@ api.GoogleCloudAiplatformV1RaySpec buildGoogleCloudAiplatformV1RaySpec() { o.imageUri = 'foo'; o.rayLogsSpec = buildGoogleCloudAiplatformV1RayLogsSpec(); o.rayMetricSpec = buildGoogleCloudAiplatformV1RayMetricSpec(); - o.resourcePoolImages = buildUnnamed310(); + o.resourcePoolImages = buildUnnamed319(); } buildCounterGoogleCloudAiplatformV1RaySpec--; return o; @@ -23270,7 +23901,7 @@ void checkGoogleCloudAiplatformV1RaySpec(api.GoogleCloudAiplatformV1RaySpec o) { ); checkGoogleCloudAiplatformV1RayLogsSpec(o.rayLogsSpec!); checkGoogleCloudAiplatformV1RayMetricSpec(o.rayMetricSpec!); - checkUnnamed310(o.resourcePoolImages!); + checkUnnamed319(o.resourcePoolImages!); } buildCounterGoogleCloudAiplatformV1RaySpec--; } @@ -23327,12 +23958,12 @@ void checkGoogleCloudAiplatformV1ReadFeatureValuesResponse( } core.List - buildUnnamed311() => [ + buildUnnamed320() => [ buildGoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData(), buildGoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData(), ]; -void checkUnnamed311( +void checkUnnamed320( core.List< api.GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData> o) { @@ -23349,7 +23980,7 @@ api.GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView buildCounterGoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView++; if (buildCounterGoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView < 3) { - o.data = buildUnnamed311(); + o.data = buildUnnamed320(); o.entityId = 'foo'; } buildCounterGoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView--; @@ -23361,7 +23992,7 @@ void checkGoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView( buildCounterGoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView++; if (buildCounterGoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView < 3) { - checkUnnamed311(o.data!); + checkUnnamed320(o.data!); unittest.expect( o.entityId!, unittest.equals('foo'), @@ -23428,12 +24059,12 @@ void checkGoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor( } core.List - buildUnnamed312() => [ + buildUnnamed321() => [ buildGoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor(), buildGoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor(), ]; -void checkUnnamed312( +void checkUnnamed321( core.List< api .GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor> @@ -23450,7 +24081,7 @@ api.GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader buildCounterGoogleCloudAiplatformV1ReadFeatureValuesResponseHeader++; if (buildCounterGoogleCloudAiplatformV1ReadFeatureValuesResponseHeader < 3) { o.entityType = 'foo'; - o.featureDescriptors = buildUnnamed312(); + o.featureDescriptors = buildUnnamed321(); } buildCounterGoogleCloudAiplatformV1ReadFeatureValuesResponseHeader--; return o; @@ -23464,17 +24095,17 @@ void checkGoogleCloudAiplatformV1ReadFeatureValuesResponseHeader( o.entityType!, unittest.equals('foo'), ); - checkUnnamed312(o.featureDescriptors!); + checkUnnamed321(o.featureDescriptors!); } buildCounterGoogleCloudAiplatformV1ReadFeatureValuesResponseHeader--; } -core.List buildUnnamed313() => [ +core.List buildUnnamed322() => [ 'foo', 'foo', ]; -void checkUnnamed313(core.List o) { +void checkUnnamed322(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -23493,7 +24124,7 @@ api.GoogleCloudAiplatformV1ReadIndexDatapointsRequest buildCounterGoogleCloudAiplatformV1ReadIndexDatapointsRequest++; if (buildCounterGoogleCloudAiplatformV1ReadIndexDatapointsRequest < 3) { o.deployedIndexId = 'foo'; - o.ids = buildUnnamed313(); + o.ids = buildUnnamed322(); } buildCounterGoogleCloudAiplatformV1ReadIndexDatapointsRequest--; return o; @@ -23507,17 +24138,17 @@ void checkGoogleCloudAiplatformV1ReadIndexDatapointsRequest( o.deployedIndexId!, unittest.equals('foo'), ); - checkUnnamed313(o.ids!); + checkUnnamed322(o.ids!); } buildCounterGoogleCloudAiplatformV1ReadIndexDatapointsRequest--; } -core.List buildUnnamed314() => [ +core.List buildUnnamed323() => [ buildGoogleCloudAiplatformV1IndexDatapoint(), buildGoogleCloudAiplatformV1IndexDatapoint(), ]; -void checkUnnamed314(core.List o) { +void checkUnnamed323(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1IndexDatapoint(o[0]); checkGoogleCloudAiplatformV1IndexDatapoint(o[1]); @@ -23529,7 +24160,7 @@ api.GoogleCloudAiplatformV1ReadIndexDatapointsResponse final o = api.GoogleCloudAiplatformV1ReadIndexDatapointsResponse(); buildCounterGoogleCloudAiplatformV1ReadIndexDatapointsResponse++; if (buildCounterGoogleCloudAiplatformV1ReadIndexDatapointsResponse < 3) { - o.datapoints = buildUnnamed314(); + o.datapoints = buildUnnamed323(); } buildCounterGoogleCloudAiplatformV1ReadIndexDatapointsResponse--; return o; @@ -23539,17 +24170,17 @@ void checkGoogleCloudAiplatformV1ReadIndexDatapointsResponse( api.GoogleCloudAiplatformV1ReadIndexDatapointsResponse o) { buildCounterGoogleCloudAiplatformV1ReadIndexDatapointsResponse++; if (buildCounterGoogleCloudAiplatformV1ReadIndexDatapointsResponse < 3) { - checkUnnamed314(o.datapoints!); + checkUnnamed323(o.datapoints!); } buildCounterGoogleCloudAiplatformV1ReadIndexDatapointsResponse--; } -core.List buildUnnamed315() => [ +core.List buildUnnamed324() => [ buildGoogleCloudAiplatformV1TensorboardBlob(), buildGoogleCloudAiplatformV1TensorboardBlob(), ]; -void checkUnnamed315(core.List o) { +void checkUnnamed324(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1TensorboardBlob(o[0]); checkGoogleCloudAiplatformV1TensorboardBlob(o[1]); @@ -23561,7 +24192,7 @@ api.GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse final o = api.GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse(); buildCounterGoogleCloudAiplatformV1ReadTensorboardBlobDataResponse++; if (buildCounterGoogleCloudAiplatformV1ReadTensorboardBlobDataResponse < 3) { - o.blobs = buildUnnamed315(); + o.blobs = buildUnnamed324(); } buildCounterGoogleCloudAiplatformV1ReadTensorboardBlobDataResponse--; return o; @@ -23571,7 +24202,7 @@ void checkGoogleCloudAiplatformV1ReadTensorboardBlobDataResponse( api.GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse o) { buildCounterGoogleCloudAiplatformV1ReadTensorboardBlobDataResponse++; if (buildCounterGoogleCloudAiplatformV1ReadTensorboardBlobDataResponse < 3) { - checkUnnamed315(o.blobs!); + checkUnnamed324(o.blobs!); } buildCounterGoogleCloudAiplatformV1ReadTensorboardBlobDataResponse--; } @@ -23629,14 +24260,14 @@ core.Map< core.String, api .GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData> - buildUnnamed316() => { + buildUnnamed325() => { 'x': buildGoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData(), 'y': buildGoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData(), }; -void checkUnnamed316( +void checkUnnamed325( core.Map< core.String, api @@ -23655,7 +24286,7 @@ api.GoogleCloudAiplatformV1ReadTensorboardUsageResponse final o = api.GoogleCloudAiplatformV1ReadTensorboardUsageResponse(); buildCounterGoogleCloudAiplatformV1ReadTensorboardUsageResponse++; if (buildCounterGoogleCloudAiplatformV1ReadTensorboardUsageResponse < 3) { - o.monthlyUsageData = buildUnnamed316(); + o.monthlyUsageData = buildUnnamed325(); } buildCounterGoogleCloudAiplatformV1ReadTensorboardUsageResponse--; return o; @@ -23665,19 +24296,19 @@ void checkGoogleCloudAiplatformV1ReadTensorboardUsageResponse( api.GoogleCloudAiplatformV1ReadTensorboardUsageResponse o) { buildCounterGoogleCloudAiplatformV1ReadTensorboardUsageResponse++; if (buildCounterGoogleCloudAiplatformV1ReadTensorboardUsageResponse < 3) { - checkUnnamed316(o.monthlyUsageData!); + checkUnnamed325(o.monthlyUsageData!); } buildCounterGoogleCloudAiplatformV1ReadTensorboardUsageResponse--; } core.List< api.GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData> - buildUnnamed317() => [ + buildUnnamed326() => [ buildGoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData(), buildGoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData(), ]; -void checkUnnamed317( +void checkUnnamed326( core.List< api .GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData> @@ -23699,7 +24330,7 @@ api.GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData buildCounterGoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData++; if (buildCounterGoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData < 3) { - o.userUsageData = buildUnnamed317(); + o.userUsageData = buildUnnamed326(); } buildCounterGoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData--; return o; @@ -23711,7 +24342,7 @@ void checkGoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData( buildCounterGoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData++; if (buildCounterGoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData < 3) { - checkUnnamed317(o.userUsageData!); + checkUnnamed326(o.userUsageData!); } buildCounterGoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData--; } @@ -23801,7 +24432,7 @@ void checkGoogleCloudAiplatformV1ReasoningEngine( buildCounterGoogleCloudAiplatformV1ReasoningEngine--; } -core.Map buildUnnamed318() => { +core.Map buildUnnamed327() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -23814,7 +24445,7 @@ core.Map buildUnnamed318() => { }, }; -void checkUnnamed318(core.Map o) { +void checkUnnamed327(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted68 = (o['x']!) as core.Map; unittest.expect(casted68, unittest.hasLength(3)); @@ -23846,15 +24477,15 @@ void checkUnnamed318(core.Map o) { ); } -core.List> buildUnnamed319() => [ - buildUnnamed318(), - buildUnnamed318(), +core.List> buildUnnamed328() => [ + buildUnnamed327(), + buildUnnamed327(), ]; -void checkUnnamed319(core.List> o) { +void checkUnnamed328(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed318(o[0]); - checkUnnamed318(o[1]); + checkUnnamed327(o[0]); + checkUnnamed327(o[1]); } core.int buildCounterGoogleCloudAiplatformV1ReasoningEngineSpec = 0; @@ -23863,7 +24494,9 @@ api.GoogleCloudAiplatformV1ReasoningEngineSpec final o = api.GoogleCloudAiplatformV1ReasoningEngineSpec(); buildCounterGoogleCloudAiplatformV1ReasoningEngineSpec++; if (buildCounterGoogleCloudAiplatformV1ReasoningEngineSpec < 3) { - o.classMethods = buildUnnamed319(); + o.classMethods = buildUnnamed328(); + o.deploymentSpec = + buildGoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec(); o.packageSpec = buildGoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec(); } @@ -23875,12 +24508,62 @@ void checkGoogleCloudAiplatformV1ReasoningEngineSpec( api.GoogleCloudAiplatformV1ReasoningEngineSpec o) { buildCounterGoogleCloudAiplatformV1ReasoningEngineSpec++; if (buildCounterGoogleCloudAiplatformV1ReasoningEngineSpec < 3) { - checkUnnamed319(o.classMethods!); + checkUnnamed328(o.classMethods!); + checkGoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec( + o.deploymentSpec!); checkGoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec(o.packageSpec!); } buildCounterGoogleCloudAiplatformV1ReasoningEngineSpec--; } +core.List buildUnnamed329() => [ + buildGoogleCloudAiplatformV1EnvVar(), + buildGoogleCloudAiplatformV1EnvVar(), + ]; + +void checkUnnamed329(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudAiplatformV1EnvVar(o[0]); + checkGoogleCloudAiplatformV1EnvVar(o[1]); +} + +core.List buildUnnamed330() => [ + buildGoogleCloudAiplatformV1SecretEnvVar(), + buildGoogleCloudAiplatformV1SecretEnvVar(), + ]; + +void checkUnnamed330(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudAiplatformV1SecretEnvVar(o[0]); + checkGoogleCloudAiplatformV1SecretEnvVar(o[1]); +} + +core.int buildCounterGoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec = + 0; +api.GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec + buildGoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec() { + final o = api.GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec(); + buildCounterGoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec++; + if (buildCounterGoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec < + 3) { + o.env = buildUnnamed329(); + o.secretEnv = buildUnnamed330(); + } + buildCounterGoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec--; + return o; +} + +void checkGoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec( + api.GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec o) { + buildCounterGoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec++; + if (buildCounterGoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec < + 3) { + checkUnnamed329(o.env!); + checkUnnamed330(o.secretEnv!); + } + buildCounterGoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec--; +} + core.int buildCounterGoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec = 0; api.GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec buildGoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec() { @@ -23964,12 +24647,12 @@ void checkGoogleCloudAiplatformV1RebootPersistentResourceRequest( buildCounterGoogleCloudAiplatformV1RebootPersistentResourceRequest--; } -core.List buildUnnamed320() => [ +core.List buildUnnamed331() => [ 'foo', 'foo', ]; -void checkUnnamed320(core.List o) { +void checkUnnamed331(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -23987,7 +24670,7 @@ api.GoogleCloudAiplatformV1RemoveContextChildrenRequest final o = api.GoogleCloudAiplatformV1RemoveContextChildrenRequest(); buildCounterGoogleCloudAiplatformV1RemoveContextChildrenRequest++; if (buildCounterGoogleCloudAiplatformV1RemoveContextChildrenRequest < 3) { - o.childContexts = buildUnnamed320(); + o.childContexts = buildUnnamed331(); } buildCounterGoogleCloudAiplatformV1RemoveContextChildrenRequest--; return o; @@ -23997,7 +24680,7 @@ void checkGoogleCloudAiplatformV1RemoveContextChildrenRequest( api.GoogleCloudAiplatformV1RemoveContextChildrenRequest o) { buildCounterGoogleCloudAiplatformV1RemoveContextChildrenRequest++; if (buildCounterGoogleCloudAiplatformV1RemoveContextChildrenRequest < 3) { - checkUnnamed320(o.childContexts!); + checkUnnamed331(o.childContexts!); } buildCounterGoogleCloudAiplatformV1RemoveContextChildrenRequest--; } @@ -24019,12 +24702,12 @@ void checkGoogleCloudAiplatformV1RemoveContextChildrenResponse( buildCounterGoogleCloudAiplatformV1RemoveContextChildrenResponse--; } -core.List buildUnnamed321() => [ +core.List buildUnnamed332() => [ 'foo', 'foo', ]; -void checkUnnamed321(core.List o) { +void checkUnnamed332(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -24042,7 +24725,7 @@ api.GoogleCloudAiplatformV1RemoveDatapointsRequest final o = api.GoogleCloudAiplatformV1RemoveDatapointsRequest(); buildCounterGoogleCloudAiplatformV1RemoveDatapointsRequest++; if (buildCounterGoogleCloudAiplatformV1RemoveDatapointsRequest < 3) { - o.datapointIds = buildUnnamed321(); + o.datapointIds = buildUnnamed332(); } buildCounterGoogleCloudAiplatformV1RemoveDatapointsRequest--; return o; @@ -24052,7 +24735,7 @@ void checkGoogleCloudAiplatformV1RemoveDatapointsRequest( api.GoogleCloudAiplatformV1RemoveDatapointsRequest o) { buildCounterGoogleCloudAiplatformV1RemoveDatapointsRequest++; if (buildCounterGoogleCloudAiplatformV1RemoveDatapointsRequest < 3) { - checkUnnamed321(o.datapointIds!); + checkUnnamed332(o.datapointIds!); } buildCounterGoogleCloudAiplatformV1RemoveDatapointsRequest--; } @@ -24074,12 +24757,12 @@ void checkGoogleCloudAiplatformV1RemoveDatapointsResponse( buildCounterGoogleCloudAiplatformV1RemoveDatapointsResponse--; } -core.List buildUnnamed322() => [ +core.List buildUnnamed333() => [ 'foo', 'foo', ]; -void checkUnnamed322(core.List o) { +void checkUnnamed333(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -24099,7 +24782,7 @@ api.GoogleCloudAiplatformV1ReservationAffinity if (buildCounterGoogleCloudAiplatformV1ReservationAffinity < 3) { o.key = 'foo'; o.reservationAffinityType = 'foo'; - o.values = buildUnnamed322(); + o.values = buildUnnamed333(); } buildCounterGoogleCloudAiplatformV1ReservationAffinity--; return o; @@ -24117,7 +24800,7 @@ void checkGoogleCloudAiplatformV1ReservationAffinity( o.reservationAffinityType!, unittest.equals('foo'), ); - checkUnnamed322(o.values!); + checkUnnamed333(o.values!); } buildCounterGoogleCloudAiplatformV1ReservationAffinity--; } @@ -24192,12 +24875,12 @@ void checkGoogleCloudAiplatformV1ResourcePoolAutoscalingSpec( buildCounterGoogleCloudAiplatformV1ResourcePoolAutoscalingSpec--; } -core.Map buildUnnamed323() => { +core.Map buildUnnamed334() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed323(core.Map o) { +void checkUnnamed334(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -24215,7 +24898,7 @@ api.GoogleCloudAiplatformV1ResourceRuntime final o = api.GoogleCloudAiplatformV1ResourceRuntime(); buildCounterGoogleCloudAiplatformV1ResourceRuntime++; if (buildCounterGoogleCloudAiplatformV1ResourceRuntime < 3) { - o.accessUris = buildUnnamed323(); + o.accessUris = buildUnnamed334(); } buildCounterGoogleCloudAiplatformV1ResourceRuntime--; return o; @@ -24225,7 +24908,7 @@ void checkGoogleCloudAiplatformV1ResourceRuntime( api.GoogleCloudAiplatformV1ResourceRuntime o) { buildCounterGoogleCloudAiplatformV1ResourceRuntime++; if (buildCounterGoogleCloudAiplatformV1ResourceRuntime < 3) { - checkUnnamed323(o.accessUris!); + checkUnnamed334(o.accessUris!); } buildCounterGoogleCloudAiplatformV1ResourceRuntime--; } @@ -24344,6 +25027,32 @@ void checkGoogleCloudAiplatformV1Retrieval( buildCounterGoogleCloudAiplatformV1Retrieval--; } +core.int buildCounterGoogleCloudAiplatformV1RetrievalConfig = 0; +api.GoogleCloudAiplatformV1RetrievalConfig + buildGoogleCloudAiplatformV1RetrievalConfig() { + final o = api.GoogleCloudAiplatformV1RetrievalConfig(); + buildCounterGoogleCloudAiplatformV1RetrievalConfig++; + if (buildCounterGoogleCloudAiplatformV1RetrievalConfig < 3) { + o.languageCode = 'foo'; + o.latLng = buildGoogleTypeLatLng(); + } + buildCounterGoogleCloudAiplatformV1RetrievalConfig--; + return o; +} + +void checkGoogleCloudAiplatformV1RetrievalConfig( + api.GoogleCloudAiplatformV1RetrievalConfig o) { + buildCounterGoogleCloudAiplatformV1RetrievalConfig++; + if (buildCounterGoogleCloudAiplatformV1RetrievalConfig < 3) { + unittest.expect( + o.languageCode!, + unittest.equals('foo'), + ); + checkGoogleTypeLatLng(o.latLng!); + } + buildCounterGoogleCloudAiplatformV1RetrievalConfig--; +} + core.int buildCounterGoogleCloudAiplatformV1RetrievalMetadata = 0; api.GoogleCloudAiplatformV1RetrievalMetadata buildGoogleCloudAiplatformV1RetrievalMetadata() { @@ -24396,12 +25105,12 @@ void checkGoogleCloudAiplatformV1RetrieveContextsRequest( core.List< api .GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource> - buildUnnamed324() => [ + buildUnnamed335() => [ buildGoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource(), buildGoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource(), ]; -void checkUnnamed324( +void checkUnnamed335( core.List< api .GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource> @@ -24422,7 +25131,7 @@ api.GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore buildCounterGoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore++; if (buildCounterGoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore < 3) { - o.ragResources = buildUnnamed324(); + o.ragResources = buildUnnamed335(); o.vectorDistanceThreshold = 42.0; } buildCounterGoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore--; @@ -24434,7 +25143,7 @@ void checkGoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore( buildCounterGoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore++; if (buildCounterGoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore < 3) { - checkUnnamed324(o.ragResources!); + checkUnnamed335(o.ragResources!); unittest.expect( o.vectorDistanceThreshold!, unittest.equals(42.0), @@ -24443,12 +25152,12 @@ void checkGoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore( buildCounterGoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore--; } -core.List buildUnnamed325() => [ +core.List buildUnnamed336() => [ 'foo', 'foo', ]; -void checkUnnamed325(core.List o) { +void checkUnnamed336(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -24471,7 +25180,7 @@ api.GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource if (buildCounterGoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource < 3) { o.ragCorpus = 'foo'; - o.ragFileIds = buildUnnamed325(); + o.ragFileIds = buildUnnamed336(); } buildCounterGoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource--; return o; @@ -24487,7 +25196,7 @@ void checkGoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResourc o.ragCorpus!, unittest.equals('foo'), ); - checkUnnamed325(o.ragFileIds!); + checkUnnamed336(o.ragFileIds!); } buildCounterGoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource--; } @@ -24513,12 +25222,12 @@ void checkGoogleCloudAiplatformV1RetrieveContextsResponse( buildCounterGoogleCloudAiplatformV1RetrieveContextsResponse--; } -core.List buildUnnamed326() => [ +core.List buildUnnamed337() => [ buildGoogleCloudAiplatformV1RougeInstance(), buildGoogleCloudAiplatformV1RougeInstance(), ]; -void checkUnnamed326(core.List o) { +void checkUnnamed337(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1RougeInstance(o[0]); checkGoogleCloudAiplatformV1RougeInstance(o[1]); @@ -24529,7 +25238,7 @@ api.GoogleCloudAiplatformV1RougeInput buildGoogleCloudAiplatformV1RougeInput() { final o = api.GoogleCloudAiplatformV1RougeInput(); buildCounterGoogleCloudAiplatformV1RougeInput++; if (buildCounterGoogleCloudAiplatformV1RougeInput < 3) { - o.instances = buildUnnamed326(); + o.instances = buildUnnamed337(); o.metricSpec = buildGoogleCloudAiplatformV1RougeSpec(); } buildCounterGoogleCloudAiplatformV1RougeInput--; @@ -24540,7 +25249,7 @@ void checkGoogleCloudAiplatformV1RougeInput( api.GoogleCloudAiplatformV1RougeInput o) { buildCounterGoogleCloudAiplatformV1RougeInput++; if (buildCounterGoogleCloudAiplatformV1RougeInput < 3) { - checkUnnamed326(o.instances!); + checkUnnamed337(o.instances!); checkGoogleCloudAiplatformV1RougeSpec(o.metricSpec!); } buildCounterGoogleCloudAiplatformV1RougeInput--; @@ -24599,12 +25308,12 @@ void checkGoogleCloudAiplatformV1RougeMetricValue( buildCounterGoogleCloudAiplatformV1RougeMetricValue--; } -core.List buildUnnamed327() => [ +core.List buildUnnamed338() => [ buildGoogleCloudAiplatformV1RougeMetricValue(), buildGoogleCloudAiplatformV1RougeMetricValue(), ]; -void checkUnnamed327(core.List o) { +void checkUnnamed338(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1RougeMetricValue(o[0]); checkGoogleCloudAiplatformV1RougeMetricValue(o[1]); @@ -24616,7 +25325,7 @@ api.GoogleCloudAiplatformV1RougeResults final o = api.GoogleCloudAiplatformV1RougeResults(); buildCounterGoogleCloudAiplatformV1RougeResults++; if (buildCounterGoogleCloudAiplatformV1RougeResults < 3) { - o.rougeMetricValues = buildUnnamed327(); + o.rougeMetricValues = buildUnnamed338(); } buildCounterGoogleCloudAiplatformV1RougeResults--; return o; @@ -24626,7 +25335,7 @@ void checkGoogleCloudAiplatformV1RougeResults( api.GoogleCloudAiplatformV1RougeResults o) { buildCounterGoogleCloudAiplatformV1RougeResults++; if (buildCounterGoogleCloudAiplatformV1RougeResults < 3) { - checkUnnamed327(o.rougeMetricValues!); + checkUnnamed338(o.rougeMetricValues!); } buildCounterGoogleCloudAiplatformV1RougeResults--; } @@ -25221,23 +25930,23 @@ void checkGoogleCloudAiplatformV1Scheduling( buildCounterGoogleCloudAiplatformV1Scheduling--; } -core.List buildUnnamed328() => [ +core.List buildUnnamed339() => [ buildGoogleCloudAiplatformV1Schema(), buildGoogleCloudAiplatformV1Schema(), ]; -void checkUnnamed328(core.List o) { +void checkUnnamed339(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Schema(o[0]); checkGoogleCloudAiplatformV1Schema(o[1]); } -core.List buildUnnamed329() => [ +core.List buildUnnamed340() => [ 'foo', 'foo', ]; -void checkUnnamed329(core.List o) { +void checkUnnamed340(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -25249,24 +25958,24 @@ void checkUnnamed329(core.List o) { ); } -core.Map buildUnnamed330() => { +core.Map buildUnnamed341() => { 'x': buildGoogleCloudAiplatformV1Schema(), 'y': buildGoogleCloudAiplatformV1Schema(), }; -void checkUnnamed330( +void checkUnnamed341( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Schema(o['x']!); checkGoogleCloudAiplatformV1Schema(o['y']!); } -core.List buildUnnamed331() => [ +core.List buildUnnamed342() => [ 'foo', 'foo', ]; -void checkUnnamed331(core.List o) { +void checkUnnamed342(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -25278,12 +25987,12 @@ void checkUnnamed331(core.List o) { ); } -core.List buildUnnamed332() => [ +core.List buildUnnamed343() => [ 'foo', 'foo', ]; -void checkUnnamed332(core.List o) { +void checkUnnamed343(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -25300,14 +26009,14 @@ api.GoogleCloudAiplatformV1Schema buildGoogleCloudAiplatformV1Schema() { final o = api.GoogleCloudAiplatformV1Schema(); buildCounterGoogleCloudAiplatformV1Schema++; if (buildCounterGoogleCloudAiplatformV1Schema < 3) { - o.anyOf = buildUnnamed328(); + o.anyOf = buildUnnamed339(); o.default_ = { 'list': [1, 2, 3], 'bool': true, 'string': 'foo' }; o.description = 'foo'; - o.enum_ = buildUnnamed329(); + o.enum_ = buildUnnamed340(); o.example = { 'list': [1, 2, 3], 'bool': true, @@ -25325,9 +26034,9 @@ api.GoogleCloudAiplatformV1Schema buildGoogleCloudAiplatformV1Schema() { o.minimum = 42.0; o.nullable = true; o.pattern = 'foo'; - o.properties = buildUnnamed330(); - o.propertyOrdering = buildUnnamed331(); - o.required = buildUnnamed332(); + o.properties = buildUnnamed341(); + o.propertyOrdering = buildUnnamed342(); + o.required = buildUnnamed343(); o.title = 'foo'; o.type = 'foo'; } @@ -25338,7 +26047,7 @@ api.GoogleCloudAiplatformV1Schema buildGoogleCloudAiplatformV1Schema() { void checkGoogleCloudAiplatformV1Schema(api.GoogleCloudAiplatformV1Schema o) { buildCounterGoogleCloudAiplatformV1Schema++; if (buildCounterGoogleCloudAiplatformV1Schema < 3) { - checkUnnamed328(o.anyOf!); + checkUnnamed339(o.anyOf!); var casted71 = (o.default_!) as core.Map; unittest.expect(casted71, unittest.hasLength(3)); unittest.expect( @@ -25357,7 +26066,7 @@ void checkGoogleCloudAiplatformV1Schema(api.GoogleCloudAiplatformV1Schema o) { o.description!, unittest.equals('foo'), ); - checkUnnamed329(o.enum_!); + checkUnnamed340(o.enum_!); var casted72 = (o.example!) as core.Map; unittest.expect(casted72, unittest.hasLength(3)); unittest.expect( @@ -25414,9 +26123,9 @@ void checkGoogleCloudAiplatformV1Schema(api.GoogleCloudAiplatformV1Schema o) { o.pattern!, unittest.equals('foo'), ); - checkUnnamed330(o.properties!); - checkUnnamed331(o.propertyOrdering!); - checkUnnamed332(o.required!); + checkUnnamed341(o.properties!); + checkUnnamed342(o.propertyOrdering!); + checkUnnamed343(o.required!); unittest.expect( o.title!, unittest.equals('foo'), @@ -25429,12 +26138,12 @@ void checkGoogleCloudAiplatformV1Schema(api.GoogleCloudAiplatformV1Schema o) { buildCounterGoogleCloudAiplatformV1Schema--; } -core.List buildUnnamed333() => [ +core.List buildUnnamed344() => [ buildGoogleCloudAiplatformV1DataItemView(), buildGoogleCloudAiplatformV1DataItemView(), ]; -void checkUnnamed333(core.List o) { +void checkUnnamed344(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1DataItemView(o[0]); checkGoogleCloudAiplatformV1DataItemView(o[1]); @@ -25446,7 +26155,7 @@ api.GoogleCloudAiplatformV1SearchDataItemsResponse final o = api.GoogleCloudAiplatformV1SearchDataItemsResponse(); buildCounterGoogleCloudAiplatformV1SearchDataItemsResponse++; if (buildCounterGoogleCloudAiplatformV1SearchDataItemsResponse < 3) { - o.dataItemViews = buildUnnamed333(); + o.dataItemViews = buildUnnamed344(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1SearchDataItemsResponse--; @@ -25457,7 +26166,7 @@ void checkGoogleCloudAiplatformV1SearchDataItemsResponse( api.GoogleCloudAiplatformV1SearchDataItemsResponse o) { buildCounterGoogleCloudAiplatformV1SearchDataItemsResponse++; if (buildCounterGoogleCloudAiplatformV1SearchDataItemsResponse < 3) { - checkUnnamed333(o.dataItemViews!); + checkUnnamed344(o.dataItemViews!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -25495,12 +26204,12 @@ void checkGoogleCloudAiplatformV1SearchEntryPoint( buildCounterGoogleCloudAiplatformV1SearchEntryPoint--; } -core.List buildUnnamed334() => [ +core.List buildUnnamed345() => [ buildGoogleCloudAiplatformV1Feature(), buildGoogleCloudAiplatformV1Feature(), ]; -void checkUnnamed334(core.List o) { +void checkUnnamed345(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Feature(o[0]); checkGoogleCloudAiplatformV1Feature(o[1]); @@ -25512,7 +26221,7 @@ api.GoogleCloudAiplatformV1SearchFeaturesResponse final o = api.GoogleCloudAiplatformV1SearchFeaturesResponse(); buildCounterGoogleCloudAiplatformV1SearchFeaturesResponse++; if (buildCounterGoogleCloudAiplatformV1SearchFeaturesResponse < 3) { - o.features = buildUnnamed334(); + o.features = buildUnnamed345(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1SearchFeaturesResponse--; @@ -25523,7 +26232,7 @@ void checkGoogleCloudAiplatformV1SearchFeaturesResponse( api.GoogleCloudAiplatformV1SearchFeaturesResponse o) { buildCounterGoogleCloudAiplatformV1SearchFeaturesResponse++; if (buildCounterGoogleCloudAiplatformV1SearchFeaturesResponse < 3) { - checkUnnamed334(o.features!); + checkUnnamed345(o.features!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -25567,12 +26276,12 @@ void checkGoogleCloudAiplatformV1SearchMigratableResourcesRequest( buildCounterGoogleCloudAiplatformV1SearchMigratableResourcesRequest--; } -core.List buildUnnamed335() => [ +core.List buildUnnamed346() => [ buildGoogleCloudAiplatformV1MigratableResource(), buildGoogleCloudAiplatformV1MigratableResource(), ]; -void checkUnnamed335( +void checkUnnamed346( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1MigratableResource(o[0]); @@ -25587,7 +26296,7 @@ api.GoogleCloudAiplatformV1SearchMigratableResourcesResponse buildCounterGoogleCloudAiplatformV1SearchMigratableResourcesResponse++; if (buildCounterGoogleCloudAiplatformV1SearchMigratableResourcesResponse < 3) { - o.migratableResources = buildUnnamed335(); + o.migratableResources = buildUnnamed346(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1SearchMigratableResourcesResponse--; @@ -25599,7 +26308,7 @@ void checkGoogleCloudAiplatformV1SearchMigratableResourcesResponse( buildCounterGoogleCloudAiplatformV1SearchMigratableResourcesResponse++; if (buildCounterGoogleCloudAiplatformV1SearchMigratableResourcesResponse < 3) { - checkUnnamed335(o.migratableResources!); + checkUnnamed346(o.migratableResources!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -25611,12 +26320,12 @@ void checkGoogleCloudAiplatformV1SearchMigratableResourcesResponse( core.List< api .GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective> - buildUnnamed336() => [ + buildUnnamed347() => [ buildGoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective(), buildGoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective(), ]; -void checkUnnamed336( +void checkUnnamed347( core.List< api .GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective> @@ -25641,7 +26350,7 @@ api.GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest o.deployedModelId = 'foo'; o.endTime = 'foo'; o.featureDisplayName = 'foo'; - o.objectives = buildUnnamed336(); + o.objectives = buildUnnamed347(); o.pageSize = 42; o.pageToken = 'foo'; o.startTime = 'foo'; @@ -25668,7 +26377,7 @@ void checkGoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRe o.featureDisplayName!, unittest.equals('foo'), ); - checkUnnamed336(o.objectives!); + checkUnnamed347(o.objectives!); unittest.expect( o.pageSize!, unittest.equals(42), @@ -25721,12 +26430,12 @@ void checkGoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRe } core.List - buildUnnamed337() => [ + buildUnnamed348() => [ buildGoogleCloudAiplatformV1ModelMonitoringStatsAnomalies(), buildGoogleCloudAiplatformV1ModelMonitoringStatsAnomalies(), ]; -void checkUnnamed337( +void checkUnnamed348( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ModelMonitoringStatsAnomalies(o[0]); @@ -25743,7 +26452,7 @@ api.GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse buildCounterGoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse++; if (buildCounterGoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse < 3) { - o.monitoringStats = buildUnnamed337(); + o.monitoringStats = buildUnnamed348(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse--; @@ -25756,7 +26465,7 @@ void checkGoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRe buildCounterGoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse++; if (buildCounterGoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse < 3) { - checkUnnamed337(o.monitoringStats!); + checkUnnamed348(o.monitoringStats!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -25809,6 +26518,60 @@ void checkGoogleCloudAiplatformV1SearchNearestEntitiesResponse( buildCounterGoogleCloudAiplatformV1SearchNearestEntitiesResponse--; } +core.int buildCounterGoogleCloudAiplatformV1SecretEnvVar = 0; +api.GoogleCloudAiplatformV1SecretEnvVar + buildGoogleCloudAiplatformV1SecretEnvVar() { + final o = api.GoogleCloudAiplatformV1SecretEnvVar(); + buildCounterGoogleCloudAiplatformV1SecretEnvVar++; + if (buildCounterGoogleCloudAiplatformV1SecretEnvVar < 3) { + o.name = 'foo'; + o.secretRef = buildGoogleCloudAiplatformV1SecretRef(); + } + buildCounterGoogleCloudAiplatformV1SecretEnvVar--; + return o; +} + +void checkGoogleCloudAiplatformV1SecretEnvVar( + api.GoogleCloudAiplatformV1SecretEnvVar o) { + buildCounterGoogleCloudAiplatformV1SecretEnvVar++; + if (buildCounterGoogleCloudAiplatformV1SecretEnvVar < 3) { + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + checkGoogleCloudAiplatformV1SecretRef(o.secretRef!); + } + buildCounterGoogleCloudAiplatformV1SecretEnvVar--; +} + +core.int buildCounterGoogleCloudAiplatformV1SecretRef = 0; +api.GoogleCloudAiplatformV1SecretRef buildGoogleCloudAiplatformV1SecretRef() { + final o = api.GoogleCloudAiplatformV1SecretRef(); + buildCounterGoogleCloudAiplatformV1SecretRef++; + if (buildCounterGoogleCloudAiplatformV1SecretRef < 3) { + o.secret = 'foo'; + o.version = 'foo'; + } + buildCounterGoogleCloudAiplatformV1SecretRef--; + return o; +} + +void checkGoogleCloudAiplatformV1SecretRef( + api.GoogleCloudAiplatformV1SecretRef o) { + buildCounterGoogleCloudAiplatformV1SecretRef++; + if (buildCounterGoogleCloudAiplatformV1SecretRef < 3) { + unittest.expect( + o.secret!, + unittest.equals('foo'), + ); + unittest.expect( + o.version!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudAiplatformV1SecretRef--; +} + core.int buildCounterGoogleCloudAiplatformV1Segment = 0; api.GoogleCloudAiplatformV1Segment buildGoogleCloudAiplatformV1Segment() { final o = api.GoogleCloudAiplatformV1Segment(); @@ -25873,12 +26636,12 @@ void checkGoogleCloudAiplatformV1ServiceAccountSpec( } core.List - buildUnnamed338() => [ + buildUnnamed349() => [ buildGoogleCloudAiplatformV1SharePointSourcesSharePointSource(), buildGoogleCloudAiplatformV1SharePointSourcesSharePointSource(), ]; -void checkUnnamed338( +void checkUnnamed349( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1SharePointSourcesSharePointSource(o[0]); @@ -25891,7 +26654,7 @@ api.GoogleCloudAiplatformV1SharePointSources final o = api.GoogleCloudAiplatformV1SharePointSources(); buildCounterGoogleCloudAiplatformV1SharePointSources++; if (buildCounterGoogleCloudAiplatformV1SharePointSources < 3) { - o.sharePointSources = buildUnnamed338(); + o.sharePointSources = buildUnnamed349(); } buildCounterGoogleCloudAiplatformV1SharePointSources--; return o; @@ -25901,7 +26664,7 @@ void checkGoogleCloudAiplatformV1SharePointSources( api.GoogleCloudAiplatformV1SharePointSources o) { buildCounterGoogleCloudAiplatformV1SharePointSources++; if (buildCounterGoogleCloudAiplatformV1SharePointSources < 3) { - checkUnnamed338(o.sharePointSources!); + checkUnnamed349(o.sharePointSources!); } buildCounterGoogleCloudAiplatformV1SharePointSources--; } @@ -25992,12 +26755,12 @@ void checkGoogleCloudAiplatformV1ShieldedVmConfig( } core.List - buildUnnamed339() => [ + buildUnnamed350() => [ buildGoogleCloudAiplatformV1SlackSourceSlackChannels(), buildGoogleCloudAiplatformV1SlackSourceSlackChannels(), ]; -void checkUnnamed339( +void checkUnnamed350( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1SlackSourceSlackChannels(o[0]); @@ -26010,7 +26773,7 @@ api.GoogleCloudAiplatformV1SlackSource final o = api.GoogleCloudAiplatformV1SlackSource(); buildCounterGoogleCloudAiplatformV1SlackSource++; if (buildCounterGoogleCloudAiplatformV1SlackSource < 3) { - o.channels = buildUnnamed339(); + o.channels = buildUnnamed350(); } buildCounterGoogleCloudAiplatformV1SlackSource--; return o; @@ -26020,18 +26783,18 @@ void checkGoogleCloudAiplatformV1SlackSource( api.GoogleCloudAiplatformV1SlackSource o) { buildCounterGoogleCloudAiplatformV1SlackSource++; if (buildCounterGoogleCloudAiplatformV1SlackSource < 3) { - checkUnnamed339(o.channels!); + checkUnnamed350(o.channels!); } buildCounterGoogleCloudAiplatformV1SlackSource--; } core.List - buildUnnamed340() => [ + buildUnnamed351() => [ buildGoogleCloudAiplatformV1SlackSourceSlackChannelsSlackChannel(), buildGoogleCloudAiplatformV1SlackSourceSlackChannelsSlackChannel(), ]; -void checkUnnamed340( +void checkUnnamed351( core.List o) { unittest.expect(o, unittest.hasLength(2)); @@ -26046,7 +26809,7 @@ api.GoogleCloudAiplatformV1SlackSourceSlackChannels buildCounterGoogleCloudAiplatformV1SlackSourceSlackChannels++; if (buildCounterGoogleCloudAiplatformV1SlackSourceSlackChannels < 3) { o.apiKeyConfig = buildGoogleCloudAiplatformV1ApiAuthApiKeyConfig(); - o.channels = buildUnnamed340(); + o.channels = buildUnnamed351(); } buildCounterGoogleCloudAiplatformV1SlackSourceSlackChannels--; return o; @@ -26057,7 +26820,7 @@ void checkGoogleCloudAiplatformV1SlackSourceSlackChannels( buildCounterGoogleCloudAiplatformV1SlackSourceSlackChannels++; if (buildCounterGoogleCloudAiplatformV1SlackSourceSlackChannels < 3) { checkGoogleCloudAiplatformV1ApiAuthApiKeyConfig(o.apiKeyConfig!); - checkUnnamed340(o.channels!); + checkUnnamed351(o.channels!); } buildCounterGoogleCloudAiplatformV1SlackSourceSlackChannels--; } @@ -26130,12 +26893,12 @@ void checkGoogleCloudAiplatformV1SmoothGradConfig( buildCounterGoogleCloudAiplatformV1SmoothGradConfig--; } -core.List buildUnnamed341() => [ +core.List buildUnnamed352() => [ 'foo', 'foo', ]; -void checkUnnamed341(core.List o) { +void checkUnnamed352(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -26147,12 +26910,12 @@ void checkUnnamed341(core.List o) { ); } -core.List buildUnnamed342() => [ +core.List buildUnnamed353() => [ 'foo', 'foo', ]; -void checkUnnamed342(core.List o) { +void checkUnnamed353(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -26164,12 +26927,12 @@ void checkUnnamed342(core.List o) { ); } -core.List buildUnnamed343() => [ +core.List buildUnnamed354() => [ 'foo', 'foo', ]; -void checkUnnamed343(core.List o) { +void checkUnnamed354(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -26189,10 +26952,10 @@ api.GoogleCloudAiplatformV1SpecialistPool if (buildCounterGoogleCloudAiplatformV1SpecialistPool < 3) { o.displayName = 'foo'; o.name = 'foo'; - o.pendingDataLabelingJobs = buildUnnamed341(); - o.specialistManagerEmails = buildUnnamed342(); + o.pendingDataLabelingJobs = buildUnnamed352(); + o.specialistManagerEmails = buildUnnamed353(); o.specialistManagersCount = 42; - o.specialistWorkerEmails = buildUnnamed343(); + o.specialistWorkerEmails = buildUnnamed354(); } buildCounterGoogleCloudAiplatformV1SpecialistPool--; return o; @@ -26210,17 +26973,107 @@ void checkGoogleCloudAiplatformV1SpecialistPool( o.name!, unittest.equals('foo'), ); - checkUnnamed341(o.pendingDataLabelingJobs!); - checkUnnamed342(o.specialistManagerEmails!); + checkUnnamed352(o.pendingDataLabelingJobs!); + checkUnnamed353(o.specialistManagerEmails!); unittest.expect( o.specialistManagersCount!, unittest.equals(42), ); - checkUnnamed343(o.specialistWorkerEmails!); + checkUnnamed354(o.specialistWorkerEmails!); } buildCounterGoogleCloudAiplatformV1SpecialistPool--; } +core.int buildCounterGoogleCloudAiplatformV1SpeculativeDecodingSpec = 0; +api.GoogleCloudAiplatformV1SpeculativeDecodingSpec + buildGoogleCloudAiplatformV1SpeculativeDecodingSpec() { + final o = api.GoogleCloudAiplatformV1SpeculativeDecodingSpec(); + buildCounterGoogleCloudAiplatformV1SpeculativeDecodingSpec++; + if (buildCounterGoogleCloudAiplatformV1SpeculativeDecodingSpec < 3) { + o.draftModelSpeculation = + buildGoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation(); + o.ngramSpeculation = + buildGoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation(); + o.speculativeTokenCount = 42; + } + buildCounterGoogleCloudAiplatformV1SpeculativeDecodingSpec--; + return o; +} + +void checkGoogleCloudAiplatformV1SpeculativeDecodingSpec( + api.GoogleCloudAiplatformV1SpeculativeDecodingSpec o) { + buildCounterGoogleCloudAiplatformV1SpeculativeDecodingSpec++; + if (buildCounterGoogleCloudAiplatformV1SpeculativeDecodingSpec < 3) { + checkGoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation( + o.draftModelSpeculation!); + checkGoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation( + o.ngramSpeculation!); + unittest.expect( + o.speculativeTokenCount!, + unittest.equals(42), + ); + } + buildCounterGoogleCloudAiplatformV1SpeculativeDecodingSpec--; +} + +core.int + buildCounterGoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation = + 0; +api.GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation + buildGoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation() { + final o = + api.GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation(); + buildCounterGoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation++; + if (buildCounterGoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation < + 3) { + o.draftModel = 'foo'; + } + buildCounterGoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation--; + return o; +} + +void checkGoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation( + api.GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation o) { + buildCounterGoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation++; + if (buildCounterGoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation < + 3) { + unittest.expect( + o.draftModel!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation--; +} + +core.int + buildCounterGoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation = + 0; +api.GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation + buildGoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation() { + final o = + api.GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation(); + buildCounterGoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation++; + if (buildCounterGoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation < + 3) { + o.ngramSize = 42; + } + buildCounterGoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation--; + return o; +} + +void checkGoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation( + api.GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation o) { + buildCounterGoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation++; + if (buildCounterGoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation < + 3) { + unittest.expect( + o.ngramSize!, + unittest.equals(42), + ); + } + buildCounterGoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation--; +} + core.int buildCounterGoogleCloudAiplatformV1SpeechConfig = 0; api.GoogleCloudAiplatformV1SpeechConfig buildGoogleCloudAiplatformV1SpeechConfig() { @@ -26332,7 +27185,7 @@ void checkGoogleCloudAiplatformV1StratifiedSplit( buildCounterGoogleCloudAiplatformV1StratifiedSplit--; } -core.Map buildUnnamed344() => { +core.Map buildUnnamed355() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -26345,7 +27198,7 @@ core.Map buildUnnamed344() => { }, }; -void checkUnnamed344(core.Map o) { +void checkUnnamed355(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted73 = (o['x']!) as core.Map; unittest.expect(casted73, unittest.hasLength(3)); @@ -26386,7 +27239,7 @@ api.GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest if (buildCounterGoogleCloudAiplatformV1StreamQueryReasoningEngineRequest < 3) { o.classMethod = 'foo'; - o.input = buildUnnamed344(); + o.input = buildUnnamed355(); } buildCounterGoogleCloudAiplatformV1StreamQueryReasoningEngineRequest--; return o; @@ -26401,7 +27254,7 @@ void checkGoogleCloudAiplatformV1StreamQueryReasoningEngineRequest( o.classMethod!, unittest.equals('foo'), ); - checkUnnamed344(o.input!); + checkUnnamed355(o.input!); } buildCounterGoogleCloudAiplatformV1StreamQueryReasoningEngineRequest--; } @@ -26427,12 +27280,12 @@ void checkGoogleCloudAiplatformV1StreamRawPredictRequest( buildCounterGoogleCloudAiplatformV1StreamRawPredictRequest--; } -core.List buildUnnamed345() => [ +core.List buildUnnamed356() => [ buildGoogleCloudAiplatformV1Tensor(), buildGoogleCloudAiplatformV1Tensor(), ]; -void checkUnnamed345(core.List o) { +void checkUnnamed356(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Tensor(o[0]); checkGoogleCloudAiplatformV1Tensor(o[1]); @@ -26444,7 +27297,7 @@ api.GoogleCloudAiplatformV1StreamingPredictRequest final o = api.GoogleCloudAiplatformV1StreamingPredictRequest(); buildCounterGoogleCloudAiplatformV1StreamingPredictRequest++; if (buildCounterGoogleCloudAiplatformV1StreamingPredictRequest < 3) { - o.inputs = buildUnnamed345(); + o.inputs = buildUnnamed356(); o.parameters = buildGoogleCloudAiplatformV1Tensor(); } buildCounterGoogleCloudAiplatformV1StreamingPredictRequest--; @@ -26455,18 +27308,18 @@ void checkGoogleCloudAiplatformV1StreamingPredictRequest( api.GoogleCloudAiplatformV1StreamingPredictRequest o) { buildCounterGoogleCloudAiplatformV1StreamingPredictRequest++; if (buildCounterGoogleCloudAiplatformV1StreamingPredictRequest < 3) { - checkUnnamed345(o.inputs!); + checkUnnamed356(o.inputs!); checkGoogleCloudAiplatformV1Tensor(o.parameters!); } buildCounterGoogleCloudAiplatformV1StreamingPredictRequest--; } -core.List buildUnnamed346() => [ +core.List buildUnnamed357() => [ buildGoogleCloudAiplatformV1Tensor(), buildGoogleCloudAiplatformV1Tensor(), ]; -void checkUnnamed346(core.List o) { +void checkUnnamed357(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Tensor(o[0]); checkGoogleCloudAiplatformV1Tensor(o[1]); @@ -26478,7 +27331,7 @@ api.GoogleCloudAiplatformV1StreamingPredictResponse final o = api.GoogleCloudAiplatformV1StreamingPredictResponse(); buildCounterGoogleCloudAiplatformV1StreamingPredictResponse++; if (buildCounterGoogleCloudAiplatformV1StreamingPredictResponse < 3) { - o.outputs = buildUnnamed346(); + o.outputs = buildUnnamed357(); o.parameters = buildGoogleCloudAiplatformV1Tensor(); } buildCounterGoogleCloudAiplatformV1StreamingPredictResponse--; @@ -26489,18 +27342,18 @@ void checkGoogleCloudAiplatformV1StreamingPredictResponse( api.GoogleCloudAiplatformV1StreamingPredictResponse o) { buildCounterGoogleCloudAiplatformV1StreamingPredictResponse++; if (buildCounterGoogleCloudAiplatformV1StreamingPredictResponse < 3) { - checkUnnamed346(o.outputs!); + checkUnnamed357(o.outputs!); checkGoogleCloudAiplatformV1Tensor(o.parameters!); } buildCounterGoogleCloudAiplatformV1StreamingPredictResponse--; } -core.List buildUnnamed347() => [ +core.List buildUnnamed358() => [ 'foo', 'foo', ]; -void checkUnnamed347(core.List o) { +void checkUnnamed358(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -26520,7 +27373,7 @@ api.GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest buildCounterGoogleCloudAiplatformV1StreamingReadFeatureValuesRequest++; if (buildCounterGoogleCloudAiplatformV1StreamingReadFeatureValuesRequest < 3) { - o.entityIds = buildUnnamed347(); + o.entityIds = buildUnnamed358(); o.featureSelector = buildGoogleCloudAiplatformV1FeatureSelector(); } buildCounterGoogleCloudAiplatformV1StreamingReadFeatureValuesRequest--; @@ -26532,18 +27385,18 @@ void checkGoogleCloudAiplatformV1StreamingReadFeatureValuesRequest( buildCounterGoogleCloudAiplatformV1StreamingReadFeatureValuesRequest++; if (buildCounterGoogleCloudAiplatformV1StreamingReadFeatureValuesRequest < 3) { - checkUnnamed347(o.entityIds!); + checkUnnamed358(o.entityIds!); checkGoogleCloudAiplatformV1FeatureSelector(o.featureSelector!); } buildCounterGoogleCloudAiplatformV1StreamingReadFeatureValuesRequest--; } -core.List buildUnnamed348() => [ +core.List buildUnnamed359() => [ 'foo', 'foo', ]; -void checkUnnamed348(core.List o) { +void checkUnnamed359(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -26561,7 +27414,7 @@ api.GoogleCloudAiplatformV1StringArray final o = api.GoogleCloudAiplatformV1StringArray(); buildCounterGoogleCloudAiplatformV1StringArray++; if (buildCounterGoogleCloudAiplatformV1StringArray < 3) { - o.values = buildUnnamed348(); + o.values = buildUnnamed359(); } buildCounterGoogleCloudAiplatformV1StringArray--; return o; @@ -26571,7 +27424,7 @@ void checkGoogleCloudAiplatformV1StringArray( api.GoogleCloudAiplatformV1StringArray o) { buildCounterGoogleCloudAiplatformV1StringArray++; if (buildCounterGoogleCloudAiplatformV1StringArray < 3) { - checkUnnamed348(o.values!); + checkUnnamed359(o.values!); } buildCounterGoogleCloudAiplatformV1StringArray--; } @@ -26602,12 +27455,12 @@ void checkGoogleCloudAiplatformV1StructFieldValue( buildCounterGoogleCloudAiplatformV1StructFieldValue--; } -core.List buildUnnamed349() => [ +core.List buildUnnamed360() => [ buildGoogleCloudAiplatformV1StructFieldValue(), buildGoogleCloudAiplatformV1StructFieldValue(), ]; -void checkUnnamed349(core.List o) { +void checkUnnamed360(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1StructFieldValue(o[0]); checkGoogleCloudAiplatformV1StructFieldValue(o[1]); @@ -26619,7 +27472,7 @@ api.GoogleCloudAiplatformV1StructValue final o = api.GoogleCloudAiplatformV1StructValue(); buildCounterGoogleCloudAiplatformV1StructValue++; if (buildCounterGoogleCloudAiplatformV1StructValue < 3) { - o.values = buildUnnamed349(); + o.values = buildUnnamed360(); } buildCounterGoogleCloudAiplatformV1StructValue--; return o; @@ -26629,7 +27482,7 @@ void checkGoogleCloudAiplatformV1StructValue( api.GoogleCloudAiplatformV1StructValue o) { buildCounterGoogleCloudAiplatformV1StructValue++; if (buildCounterGoogleCloudAiplatformV1StructValue < 3) { - checkUnnamed349(o.values!); + checkUnnamed360(o.values!); } buildCounterGoogleCloudAiplatformV1StructValue--; } @@ -26678,12 +27531,12 @@ void checkGoogleCloudAiplatformV1Study(api.GoogleCloudAiplatformV1Study o) { buildCounterGoogleCloudAiplatformV1Study--; } -core.List buildUnnamed350() => [ +core.List buildUnnamed361() => [ buildGoogleCloudAiplatformV1StudySpecMetricSpec(), buildGoogleCloudAiplatformV1StudySpecMetricSpec(), ]; -void checkUnnamed350( +void checkUnnamed361( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1StudySpecMetricSpec(o[0]); @@ -26691,12 +27544,12 @@ void checkUnnamed350( } core.List - buildUnnamed351() => [ + buildUnnamed362() => [ buildGoogleCloudAiplatformV1StudySpecParameterSpec(), buildGoogleCloudAiplatformV1StudySpecParameterSpec(), ]; -void checkUnnamed351( +void checkUnnamed362( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1StudySpecParameterSpec(o[0]); @@ -26716,9 +27569,9 @@ api.GoogleCloudAiplatformV1StudySpec buildGoogleCloudAiplatformV1StudySpec() { o.measurementSelectionType = 'foo'; o.medianAutomatedStoppingSpec = buildGoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec(); - o.metrics = buildUnnamed350(); + o.metrics = buildUnnamed361(); o.observationNoise = 'foo'; - o.parameters = buildUnnamed351(); + o.parameters = buildUnnamed362(); o.studyStoppingConfig = buildGoogleCloudAiplatformV1StudySpecStudyStoppingConfig(); } @@ -26744,12 +27597,12 @@ void checkGoogleCloudAiplatformV1StudySpec( ); checkGoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec( o.medianAutomatedStoppingSpec!); - checkUnnamed350(o.metrics!); + checkUnnamed361(o.metrics!); unittest.expect( o.observationNoise!, unittest.equals('foo'), ); - checkUnnamed351(o.parameters!); + checkUnnamed362(o.parameters!); checkGoogleCloudAiplatformV1StudySpecStudyStoppingConfig( o.studyStoppingConfig!); } @@ -26921,12 +27774,12 @@ void checkGoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig( core.List< api .GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec> - buildUnnamed352() => [ + buildUnnamed363() => [ buildGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec(), buildGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec(), ]; -void checkUnnamed352( +void checkUnnamed363( core.List< api .GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec> @@ -26946,7 +27799,7 @@ api.GoogleCloudAiplatformV1StudySpecParameterSpec if (buildCounterGoogleCloudAiplatformV1StudySpecParameterSpec < 3) { o.categoricalValueSpec = buildGoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec(); - o.conditionalParameterSpecs = buildUnnamed352(); + o.conditionalParameterSpecs = buildUnnamed363(); o.discreteValueSpec = buildGoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec(); o.doubleValueSpec = @@ -26966,7 +27819,7 @@ void checkGoogleCloudAiplatformV1StudySpecParameterSpec( if (buildCounterGoogleCloudAiplatformV1StudySpecParameterSpec < 3) { checkGoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec( o.categoricalValueSpec!); - checkUnnamed352(o.conditionalParameterSpecs!); + checkUnnamed363(o.conditionalParameterSpecs!); checkGoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec( o.discreteValueSpec!); checkGoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec( @@ -26985,12 +27838,12 @@ void checkGoogleCloudAiplatformV1StudySpecParameterSpec( buildCounterGoogleCloudAiplatformV1StudySpecParameterSpec--; } -core.List buildUnnamed353() => [ +core.List buildUnnamed364() => [ 'foo', 'foo', ]; -void checkUnnamed353(core.List o) { +void checkUnnamed364(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -27013,7 +27866,7 @@ api.GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec if (buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec < 3) { o.defaultValue = 'foo'; - o.values = buildUnnamed353(); + o.values = buildUnnamed364(); } buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec--; return o; @@ -27028,7 +27881,7 @@ void checkGoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec( o.defaultValue!, unittest.equals('foo'), ); - checkUnnamed353(o.values!); + checkUnnamed364(o.values!); } buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec--; } @@ -27072,12 +27925,12 @@ void checkGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec( buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec--; } -core.List buildUnnamed354() => [ +core.List buildUnnamed365() => [ 'foo', 'foo', ]; -void checkUnnamed354(core.List o) { +void checkUnnamed365(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -27099,7 +27952,7 @@ api.GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategor buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition++; if (buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition < 3) { - o.values = buildUnnamed354(); + o.values = buildUnnamed365(); } buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition--; return o; @@ -27111,17 +27964,17 @@ void checkGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecC buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition++; if (buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition < 3) { - checkUnnamed354(o.values!); + checkUnnamed365(o.values!); } buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition--; } -core.List buildUnnamed355() => [ +core.List buildUnnamed366() => [ 42.0, 42.0, ]; -void checkUnnamed355(core.List o) { +void checkUnnamed366(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -27143,7 +27996,7 @@ api.GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscret buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition++; if (buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition < 3) { - o.values = buildUnnamed355(); + o.values = buildUnnamed366(); } buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition--; return o; @@ -27155,17 +28008,17 @@ void checkGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecD buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition++; if (buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition < 3) { - checkUnnamed355(o.values!); + checkUnnamed366(o.values!); } buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition--; } -core.List buildUnnamed356() => [ +core.List buildUnnamed367() => [ 'foo', 'foo', ]; -void checkUnnamed356(core.List o) { +void checkUnnamed367(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -27187,7 +28040,7 @@ api.GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValu buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition++; if (buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition < 3) { - o.values = buildUnnamed356(); + o.values = buildUnnamed367(); } buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition--; return o; @@ -27199,17 +28052,17 @@ void checkGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecI buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition++; if (buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition < 3) { - checkUnnamed356(o.values!); + checkUnnamed367(o.values!); } buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition--; } -core.List buildUnnamed357() => [ +core.List buildUnnamed368() => [ 42.0, 42.0, ]; -void checkUnnamed357(core.List o) { +void checkUnnamed368(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -27232,7 +28085,7 @@ api.GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec if (buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec < 3) { o.defaultValue = 42.0; - o.values = buildUnnamed357(); + o.values = buildUnnamed368(); } buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec--; return o; @@ -27247,7 +28100,7 @@ void checkGoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec( o.defaultValue!, unittest.equals(42.0), ); - checkUnnamed357(o.values!); + checkUnnamed368(o.values!); } buildCounterGoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec--; } @@ -27406,12 +28259,12 @@ void checkGoogleCloudAiplatformV1StudyTimeConstraint( buildCounterGoogleCloudAiplatformV1StudyTimeConstraint--; } -core.List buildUnnamed358() => [ +core.List buildUnnamed369() => [ buildGoogleCloudAiplatformV1TrialContext(), buildGoogleCloudAiplatformV1TrialContext(), ]; -void checkUnnamed358(core.List o) { +void checkUnnamed369(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1TrialContext(o[0]); checkGoogleCloudAiplatformV1TrialContext(o[1]); @@ -27424,7 +28277,7 @@ api.GoogleCloudAiplatformV1SuggestTrialsRequest buildCounterGoogleCloudAiplatformV1SuggestTrialsRequest++; if (buildCounterGoogleCloudAiplatformV1SuggestTrialsRequest < 3) { o.clientId = 'foo'; - o.contexts = buildUnnamed358(); + o.contexts = buildUnnamed369(); o.suggestionCount = 42; } buildCounterGoogleCloudAiplatformV1SuggestTrialsRequest--; @@ -27439,7 +28292,7 @@ void checkGoogleCloudAiplatformV1SuggestTrialsRequest( o.clientId!, unittest.equals('foo'), ); - checkUnnamed358(o.contexts!); + checkUnnamed369(o.contexts!); unittest.expect( o.suggestionCount!, unittest.equals(42), @@ -27849,12 +28702,29 @@ void checkGoogleCloudAiplatformV1SupervisedHyperParameters( buildCounterGoogleCloudAiplatformV1SupervisedHyperParameters--; } -core.List buildUnnamed359() => [ +core.List buildUnnamed370() => [ 'foo', 'foo', ]; -void checkUnnamed359(core.List o) { +void checkUnnamed370(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed371() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed371(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -27866,12 +28736,12 @@ void checkUnnamed359(core.List o) { ); } -core.List buildUnnamed360() => [ +core.List buildUnnamed372() => [ buildGoogleCloudAiplatformV1Content(), buildGoogleCloudAiplatformV1Content(), ]; -void checkUnnamed360(core.List o) { +void checkUnnamed372(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Content(o[0]); checkGoogleCloudAiplatformV1Content(o[1]); @@ -27883,14 +28753,15 @@ api.GoogleCloudAiplatformV1SupervisedTuningDataStats final o = api.GoogleCloudAiplatformV1SupervisedTuningDataStats(); buildCounterGoogleCloudAiplatformV1SupervisedTuningDataStats++; if (buildCounterGoogleCloudAiplatformV1SupervisedTuningDataStats < 3) { + o.droppedExampleReasons = buildUnnamed370(); o.totalBillableCharacterCount = 'foo'; o.totalBillableTokenCount = 'foo'; o.totalTruncatedExampleCount = 'foo'; o.totalTuningCharacterCount = 'foo'; - o.truncatedExampleIndices = buildUnnamed359(); + o.truncatedExampleIndices = buildUnnamed371(); o.tuningDatasetExampleCount = 'foo'; o.tuningStepCount = 'foo'; - o.userDatasetExamples = buildUnnamed360(); + o.userDatasetExamples = buildUnnamed372(); o.userInputTokenDistribution = buildGoogleCloudAiplatformV1SupervisedTuningDatasetDistribution(); o.userMessagePerExampleDistribution = @@ -27906,6 +28777,7 @@ void checkGoogleCloudAiplatformV1SupervisedTuningDataStats( api.GoogleCloudAiplatformV1SupervisedTuningDataStats o) { buildCounterGoogleCloudAiplatformV1SupervisedTuningDataStats++; if (buildCounterGoogleCloudAiplatformV1SupervisedTuningDataStats < 3) { + checkUnnamed370(o.droppedExampleReasons!); unittest.expect( o.totalBillableCharacterCount!, unittest.equals('foo'), @@ -27922,7 +28794,7 @@ void checkGoogleCloudAiplatformV1SupervisedTuningDataStats( o.totalTuningCharacterCount!, unittest.equals('foo'), ); - checkUnnamed359(o.truncatedExampleIndices!); + checkUnnamed371(o.truncatedExampleIndices!); unittest.expect( o.tuningDatasetExampleCount!, unittest.equals('foo'), @@ -27931,7 +28803,7 @@ void checkGoogleCloudAiplatformV1SupervisedTuningDataStats( o.tuningStepCount!, unittest.equals('foo'), ); - checkUnnamed360(o.userDatasetExamples!); + checkUnnamed372(o.userDatasetExamples!); checkGoogleCloudAiplatformV1SupervisedTuningDatasetDistribution( o.userInputTokenDistribution!); checkGoogleCloudAiplatformV1SupervisedTuningDatasetDistribution( @@ -27945,12 +28817,12 @@ void checkGoogleCloudAiplatformV1SupervisedTuningDataStats( core.List< api .GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket> - buildUnnamed361() => [ + buildUnnamed373() => [ buildGoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket(), buildGoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket(), ]; -void checkUnnamed361( +void checkUnnamed373( core.List< api .GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket> @@ -27971,7 +28843,7 @@ api.GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution if (buildCounterGoogleCloudAiplatformV1SupervisedTuningDatasetDistribution < 3) { o.billableSum = 'foo'; - o.buckets = buildUnnamed361(); + o.buckets = buildUnnamed373(); o.max = 42.0; o.mean = 42.0; o.median = 42.0; @@ -27993,7 +28865,7 @@ void checkGoogleCloudAiplatformV1SupervisedTuningDatasetDistribution( o.billableSum!, unittest.equals('foo'), ); - checkUnnamed361(o.buckets!); + checkUnnamed373(o.buckets!); unittest.expect( o.max!, unittest.equals(42.0), @@ -28159,23 +29031,23 @@ void checkGoogleCloudAiplatformV1TFRecordDestination( buildCounterGoogleCloudAiplatformV1TFRecordDestination--; } -core.List buildUnnamed362() => [ +core.List buildUnnamed374() => [ true, true, ]; -void checkUnnamed362(core.List o) { +void checkUnnamed374(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect(o[0], unittest.isTrue); unittest.expect(o[1], unittest.isTrue); } -core.List buildUnnamed363() => [ +core.List buildUnnamed375() => [ 'foo', 'foo', ]; -void checkUnnamed363(core.List o) { +void checkUnnamed375(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -28187,12 +29059,12 @@ void checkUnnamed363(core.List o) { ); } -core.List buildUnnamed364() => [ +core.List buildUnnamed376() => [ 42.0, 42.0, ]; -void checkUnnamed364(core.List o) { +void checkUnnamed376(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -28204,12 +29076,12 @@ void checkUnnamed364(core.List o) { ); } -core.List buildUnnamed365() => [ +core.List buildUnnamed377() => [ 42.0, 42.0, ]; -void checkUnnamed365(core.List o) { +void checkUnnamed377(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -28221,12 +29093,12 @@ void checkUnnamed365(core.List o) { ); } -core.List buildUnnamed366() => [ +core.List buildUnnamed378() => [ 'foo', 'foo', ]; -void checkUnnamed366(core.List o) { +void checkUnnamed378(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -28238,12 +29110,12 @@ void checkUnnamed366(core.List o) { ); } -core.List buildUnnamed367() => [ +core.List buildUnnamed379() => [ 42, 42, ]; -void checkUnnamed367(core.List o) { +void checkUnnamed379(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -28255,23 +29127,23 @@ void checkUnnamed367(core.List o) { ); } -core.List buildUnnamed368() => [ +core.List buildUnnamed380() => [ buildGoogleCloudAiplatformV1Tensor(), buildGoogleCloudAiplatformV1Tensor(), ]; -void checkUnnamed368(core.List o) { +void checkUnnamed380(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Tensor(o[0]); checkGoogleCloudAiplatformV1Tensor(o[1]); } -core.List buildUnnamed369() => [ +core.List buildUnnamed381() => [ 'foo', 'foo', ]; -void checkUnnamed369(core.List o) { +void checkUnnamed381(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -28283,12 +29155,12 @@ void checkUnnamed369(core.List o) { ); } -core.List buildUnnamed370() => [ +core.List buildUnnamed382() => [ 'foo', 'foo', ]; -void checkUnnamed370(core.List o) { +void checkUnnamed382(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -28300,24 +29172,24 @@ void checkUnnamed370(core.List o) { ); } -core.Map buildUnnamed371() => { +core.Map buildUnnamed383() => { 'x': buildGoogleCloudAiplatformV1Tensor(), 'y': buildGoogleCloudAiplatformV1Tensor(), }; -void checkUnnamed371( +void checkUnnamed383( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Tensor(o['x']!); checkGoogleCloudAiplatformV1Tensor(o['y']!); } -core.List buildUnnamed372() => [ +core.List buildUnnamed384() => [ 'foo', 'foo', ]; -void checkUnnamed372(core.List o) { +void checkUnnamed384(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -28329,12 +29201,12 @@ void checkUnnamed372(core.List o) { ); } -core.List buildUnnamed373() => [ +core.List buildUnnamed385() => [ 42, 42, ]; -void checkUnnamed373(core.List o) { +void checkUnnamed385(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -28351,20 +29223,20 @@ api.GoogleCloudAiplatformV1Tensor buildGoogleCloudAiplatformV1Tensor() { final o = api.GoogleCloudAiplatformV1Tensor(); buildCounterGoogleCloudAiplatformV1Tensor++; if (buildCounterGoogleCloudAiplatformV1Tensor < 3) { - o.boolVal = buildUnnamed362(); - o.bytesVal = buildUnnamed363(); - o.doubleVal = buildUnnamed364(); + o.boolVal = buildUnnamed374(); + o.bytesVal = buildUnnamed375(); + o.doubleVal = buildUnnamed376(); o.dtype = 'foo'; - o.floatVal = buildUnnamed365(); - o.int64Val = buildUnnamed366(); - o.intVal = buildUnnamed367(); - o.listVal = buildUnnamed368(); - o.shape = buildUnnamed369(); - o.stringVal = buildUnnamed370(); - o.structVal = buildUnnamed371(); + o.floatVal = buildUnnamed377(); + o.int64Val = buildUnnamed378(); + o.intVal = buildUnnamed379(); + o.listVal = buildUnnamed380(); + o.shape = buildUnnamed381(); + o.stringVal = buildUnnamed382(); + o.structVal = buildUnnamed383(); o.tensorVal = 'foo'; - o.uint64Val = buildUnnamed372(); - o.uintVal = buildUnnamed373(); + o.uint64Val = buildUnnamed384(); + o.uintVal = buildUnnamed385(); } buildCounterGoogleCloudAiplatformV1Tensor--; return o; @@ -28373,36 +29245,36 @@ api.GoogleCloudAiplatformV1Tensor buildGoogleCloudAiplatformV1Tensor() { void checkGoogleCloudAiplatformV1Tensor(api.GoogleCloudAiplatformV1Tensor o) { buildCounterGoogleCloudAiplatformV1Tensor++; if (buildCounterGoogleCloudAiplatformV1Tensor < 3) { - checkUnnamed362(o.boolVal!); - checkUnnamed363(o.bytesVal!); - checkUnnamed364(o.doubleVal!); + checkUnnamed374(o.boolVal!); + checkUnnamed375(o.bytesVal!); + checkUnnamed376(o.doubleVal!); unittest.expect( o.dtype!, unittest.equals('foo'), ); - checkUnnamed365(o.floatVal!); - checkUnnamed366(o.int64Val!); - checkUnnamed367(o.intVal!); - checkUnnamed368(o.listVal!); - checkUnnamed369(o.shape!); - checkUnnamed370(o.stringVal!); - checkUnnamed371(o.structVal!); + checkUnnamed377(o.floatVal!); + checkUnnamed378(o.int64Val!); + checkUnnamed379(o.intVal!); + checkUnnamed380(o.listVal!); + checkUnnamed381(o.shape!); + checkUnnamed382(o.stringVal!); + checkUnnamed383(o.structVal!); unittest.expect( o.tensorVal!, unittest.equals('foo'), ); - checkUnnamed372(o.uint64Val!); - checkUnnamed373(o.uintVal!); + checkUnnamed384(o.uint64Val!); + checkUnnamed385(o.uintVal!); } buildCounterGoogleCloudAiplatformV1Tensor--; } -core.Map buildUnnamed374() => { +core.Map buildUnnamed386() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed374(core.Map o) { +void checkUnnamed386(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -28427,7 +29299,7 @@ api.GoogleCloudAiplatformV1Tensorboard o.encryptionSpec = buildGoogleCloudAiplatformV1EncryptionSpec(); o.etag = 'foo'; o.isDefault = true; - o.labels = buildUnnamed374(); + o.labels = buildUnnamed386(); o.name = 'foo'; o.runCount = 42; o.satisfiesPzi = true; @@ -28464,7 +29336,7 @@ void checkGoogleCloudAiplatformV1Tensorboard( unittest.equals('foo'), ); unittest.expect(o.isDefault!, unittest.isTrue); - checkUnnamed374(o.labels!); + checkUnnamed386(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -28512,12 +29384,12 @@ void checkGoogleCloudAiplatformV1TensorboardBlob( buildCounterGoogleCloudAiplatformV1TensorboardBlob--; } -core.List buildUnnamed375() => [ +core.List buildUnnamed387() => [ buildGoogleCloudAiplatformV1TensorboardBlob(), buildGoogleCloudAiplatformV1TensorboardBlob(), ]; -void checkUnnamed375(core.List o) { +void checkUnnamed387(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1TensorboardBlob(o[0]); checkGoogleCloudAiplatformV1TensorboardBlob(o[1]); @@ -28529,7 +29401,7 @@ api.GoogleCloudAiplatformV1TensorboardBlobSequence final o = api.GoogleCloudAiplatformV1TensorboardBlobSequence(); buildCounterGoogleCloudAiplatformV1TensorboardBlobSequence++; if (buildCounterGoogleCloudAiplatformV1TensorboardBlobSequence < 3) { - o.values = buildUnnamed375(); + o.values = buildUnnamed387(); } buildCounterGoogleCloudAiplatformV1TensorboardBlobSequence--; return o; @@ -28539,17 +29411,17 @@ void checkGoogleCloudAiplatformV1TensorboardBlobSequence( api.GoogleCloudAiplatformV1TensorboardBlobSequence o) { buildCounterGoogleCloudAiplatformV1TensorboardBlobSequence++; if (buildCounterGoogleCloudAiplatformV1TensorboardBlobSequence < 3) { - checkUnnamed375(o.values!); + checkUnnamed387(o.values!); } buildCounterGoogleCloudAiplatformV1TensorboardBlobSequence--; } -core.Map buildUnnamed376() => { +core.Map buildUnnamed388() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed376(core.Map o) { +void checkUnnamed388(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -28571,7 +29443,7 @@ api.GoogleCloudAiplatformV1TensorboardExperiment o.description = 'foo'; o.displayName = 'foo'; o.etag = 'foo'; - o.labels = buildUnnamed376(); + o.labels = buildUnnamed388(); o.name = 'foo'; o.source = 'foo'; o.updateTime = 'foo'; @@ -28600,7 +29472,7 @@ void checkGoogleCloudAiplatformV1TensorboardExperiment( o.etag!, unittest.equals('foo'), ); - checkUnnamed376(o.labels!); + checkUnnamed388(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -28617,12 +29489,12 @@ void checkGoogleCloudAiplatformV1TensorboardExperiment( buildCounterGoogleCloudAiplatformV1TensorboardExperiment--; } -core.Map buildUnnamed377() => { +core.Map buildUnnamed389() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed377(core.Map o) { +void checkUnnamed389(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -28644,7 +29516,7 @@ api.GoogleCloudAiplatformV1TensorboardRun o.description = 'foo'; o.displayName = 'foo'; o.etag = 'foo'; - o.labels = buildUnnamed377(); + o.labels = buildUnnamed389(); o.name = 'foo'; o.updateTime = 'foo'; } @@ -28672,7 +29544,7 @@ void checkGoogleCloudAiplatformV1TensorboardRun( o.etag!, unittest.equals('foo'), ); - checkUnnamed377(o.labels!); + checkUnnamed389(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -28838,12 +29710,12 @@ void checkGoogleCloudAiplatformV1ThresholdConfig( buildCounterGoogleCloudAiplatformV1ThresholdConfig--; } -core.List buildUnnamed378() => [ +core.List buildUnnamed390() => [ buildGoogleCloudAiplatformV1TimeSeriesDataPoint(), buildGoogleCloudAiplatformV1TimeSeriesDataPoint(), ]; -void checkUnnamed378( +void checkUnnamed390( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1TimeSeriesDataPoint(o[0]); @@ -28858,7 +29730,7 @@ api.GoogleCloudAiplatformV1TimeSeriesData if (buildCounterGoogleCloudAiplatformV1TimeSeriesData < 3) { o.tensorboardTimeSeriesId = 'foo'; o.valueType = 'foo'; - o.values = buildUnnamed378(); + o.values = buildUnnamed390(); } buildCounterGoogleCloudAiplatformV1TimeSeriesData--; return o; @@ -28876,7 +29748,7 @@ void checkGoogleCloudAiplatformV1TimeSeriesData( o.valueType!, unittest.equals('foo'), ); - checkUnnamed378(o.values!); + checkUnnamed390(o.values!); } buildCounterGoogleCloudAiplatformV1TimeSeriesData--; } @@ -28955,12 +29827,12 @@ void checkGoogleCloudAiplatformV1TimestampSplit( buildCounterGoogleCloudAiplatformV1TimestampSplit--; } -core.List buildUnnamed379() => [ +core.List buildUnnamed391() => [ 'foo', 'foo', ]; -void checkUnnamed379(core.List o) { +void checkUnnamed391(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -28972,12 +29844,12 @@ void checkUnnamed379(core.List o) { ); } -core.List buildUnnamed380() => [ +core.List buildUnnamed392() => [ 'foo', 'foo', ]; -void checkUnnamed380(core.List o) { +void checkUnnamed392(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -28995,8 +29867,8 @@ api.GoogleCloudAiplatformV1TokensInfo buildGoogleCloudAiplatformV1TokensInfo() { buildCounterGoogleCloudAiplatformV1TokensInfo++; if (buildCounterGoogleCloudAiplatformV1TokensInfo < 3) { o.role = 'foo'; - o.tokenIds = buildUnnamed379(); - o.tokens = buildUnnamed380(); + o.tokenIds = buildUnnamed391(); + o.tokens = buildUnnamed392(); } buildCounterGoogleCloudAiplatformV1TokensInfo--; return o; @@ -29010,18 +29882,18 @@ void checkGoogleCloudAiplatformV1TokensInfo( o.role!, unittest.equals('foo'), ); - checkUnnamed379(o.tokenIds!); - checkUnnamed380(o.tokens!); + checkUnnamed391(o.tokenIds!); + checkUnnamed392(o.tokens!); } buildCounterGoogleCloudAiplatformV1TokensInfo--; } -core.List buildUnnamed381() => [ +core.List buildUnnamed393() => [ buildGoogleCloudAiplatformV1FunctionDeclaration(), buildGoogleCloudAiplatformV1FunctionDeclaration(), ]; -void checkUnnamed381( +void checkUnnamed393( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1FunctionDeclaration(o[0]); @@ -29033,7 +29905,9 @@ api.GoogleCloudAiplatformV1Tool buildGoogleCloudAiplatformV1Tool() { final o = api.GoogleCloudAiplatformV1Tool(); buildCounterGoogleCloudAiplatformV1Tool++; if (buildCounterGoogleCloudAiplatformV1Tool < 3) { - o.functionDeclarations = buildUnnamed381(); + o.codeExecution = buildGoogleCloudAiplatformV1ToolCodeExecution(); + o.enterpriseWebSearch = buildGoogleCloudAiplatformV1EnterpriseWebSearch(); + o.functionDeclarations = buildUnnamed393(); o.googleSearch = buildGoogleCloudAiplatformV1ToolGoogleSearch(); o.googleSearchRetrieval = buildGoogleCloudAiplatformV1GoogleSearchRetrieval(); @@ -29046,7 +29920,9 @@ api.GoogleCloudAiplatformV1Tool buildGoogleCloudAiplatformV1Tool() { void checkGoogleCloudAiplatformV1Tool(api.GoogleCloudAiplatformV1Tool o) { buildCounterGoogleCloudAiplatformV1Tool++; if (buildCounterGoogleCloudAiplatformV1Tool < 3) { - checkUnnamed381(o.functionDeclarations!); + checkGoogleCloudAiplatformV1ToolCodeExecution(o.codeExecution!); + checkGoogleCloudAiplatformV1EnterpriseWebSearch(o.enterpriseWebSearch!); + checkUnnamed393(o.functionDeclarations!); checkGoogleCloudAiplatformV1ToolGoogleSearch(o.googleSearch!); checkGoogleCloudAiplatformV1GoogleSearchRetrieval(o.googleSearchRetrieval!); checkGoogleCloudAiplatformV1Retrieval(o.retrieval!); @@ -29082,13 +29958,13 @@ void checkGoogleCloudAiplatformV1ToolCall( buildCounterGoogleCloudAiplatformV1ToolCall--; } -core.List buildUnnamed382() => +core.List buildUnnamed394() => [ buildGoogleCloudAiplatformV1ToolCallValidInstance(), buildGoogleCloudAiplatformV1ToolCallValidInstance(), ]; -void checkUnnamed382( +void checkUnnamed394( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ToolCallValidInstance(o[0]); @@ -29101,7 +29977,7 @@ api.GoogleCloudAiplatformV1ToolCallValidInput final o = api.GoogleCloudAiplatformV1ToolCallValidInput(); buildCounterGoogleCloudAiplatformV1ToolCallValidInput++; if (buildCounterGoogleCloudAiplatformV1ToolCallValidInput < 3) { - o.instances = buildUnnamed382(); + o.instances = buildUnnamed394(); o.metricSpec = buildGoogleCloudAiplatformV1ToolCallValidSpec(); } buildCounterGoogleCloudAiplatformV1ToolCallValidInput--; @@ -29112,7 +29988,7 @@ void checkGoogleCloudAiplatformV1ToolCallValidInput( api.GoogleCloudAiplatformV1ToolCallValidInput o) { buildCounterGoogleCloudAiplatformV1ToolCallValidInput++; if (buildCounterGoogleCloudAiplatformV1ToolCallValidInput < 3) { - checkUnnamed382(o.instances!); + checkUnnamed394(o.instances!); checkGoogleCloudAiplatformV1ToolCallValidSpec(o.metricSpec!); } buildCounterGoogleCloudAiplatformV1ToolCallValidInput--; @@ -29172,12 +30048,12 @@ void checkGoogleCloudAiplatformV1ToolCallValidMetricValue( } core.List - buildUnnamed383() => [ + buildUnnamed395() => [ buildGoogleCloudAiplatformV1ToolCallValidMetricValue(), buildGoogleCloudAiplatformV1ToolCallValidMetricValue(), ]; -void checkUnnamed383( +void checkUnnamed395( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ToolCallValidMetricValue(o[0]); @@ -29190,7 +30066,7 @@ api.GoogleCloudAiplatformV1ToolCallValidResults final o = api.GoogleCloudAiplatformV1ToolCallValidResults(); buildCounterGoogleCloudAiplatformV1ToolCallValidResults++; if (buildCounterGoogleCloudAiplatformV1ToolCallValidResults < 3) { - o.toolCallValidMetricValues = buildUnnamed383(); + o.toolCallValidMetricValues = buildUnnamed395(); } buildCounterGoogleCloudAiplatformV1ToolCallValidResults--; return o; @@ -29200,7 +30076,7 @@ void checkGoogleCloudAiplatformV1ToolCallValidResults( api.GoogleCloudAiplatformV1ToolCallValidResults o) { buildCounterGoogleCloudAiplatformV1ToolCallValidResults++; if (buildCounterGoogleCloudAiplatformV1ToolCallValidResults < 3) { - checkUnnamed383(o.toolCallValidMetricValues!); + checkUnnamed395(o.toolCallValidMetricValues!); } buildCounterGoogleCloudAiplatformV1ToolCallValidResults--; } @@ -29222,6 +30098,23 @@ void checkGoogleCloudAiplatformV1ToolCallValidSpec( buildCounterGoogleCloudAiplatformV1ToolCallValidSpec--; } +core.int buildCounterGoogleCloudAiplatformV1ToolCodeExecution = 0; +api.GoogleCloudAiplatformV1ToolCodeExecution + buildGoogleCloudAiplatformV1ToolCodeExecution() { + final o = api.GoogleCloudAiplatformV1ToolCodeExecution(); + buildCounterGoogleCloudAiplatformV1ToolCodeExecution++; + if (buildCounterGoogleCloudAiplatformV1ToolCodeExecution < 3) {} + buildCounterGoogleCloudAiplatformV1ToolCodeExecution--; + return o; +} + +void checkGoogleCloudAiplatformV1ToolCodeExecution( + api.GoogleCloudAiplatformV1ToolCodeExecution o) { + buildCounterGoogleCloudAiplatformV1ToolCodeExecution++; + if (buildCounterGoogleCloudAiplatformV1ToolCodeExecution < 3) {} + buildCounterGoogleCloudAiplatformV1ToolCodeExecution--; +} + core.int buildCounterGoogleCloudAiplatformV1ToolConfig = 0; api.GoogleCloudAiplatformV1ToolConfig buildGoogleCloudAiplatformV1ToolConfig() { final o = api.GoogleCloudAiplatformV1ToolConfig(); @@ -29229,6 +30122,7 @@ api.GoogleCloudAiplatformV1ToolConfig buildGoogleCloudAiplatformV1ToolConfig() { if (buildCounterGoogleCloudAiplatformV1ToolConfig < 3) { o.functionCallingConfig = buildGoogleCloudAiplatformV1FunctionCallingConfig(); + o.retrievalConfig = buildGoogleCloudAiplatformV1RetrievalConfig(); } buildCounterGoogleCloudAiplatformV1ToolConfig--; return o; @@ -29239,6 +30133,7 @@ void checkGoogleCloudAiplatformV1ToolConfig( buildCounterGoogleCloudAiplatformV1ToolConfig++; if (buildCounterGoogleCloudAiplatformV1ToolConfig < 3) { checkGoogleCloudAiplatformV1FunctionCallingConfig(o.functionCallingConfig!); + checkGoogleCloudAiplatformV1RetrievalConfig(o.retrievalConfig!); } buildCounterGoogleCloudAiplatformV1ToolConfig--; } @@ -29260,13 +30155,13 @@ void checkGoogleCloudAiplatformV1ToolGoogleSearch( buildCounterGoogleCloudAiplatformV1ToolGoogleSearch--; } -core.List buildUnnamed384() => +core.List buildUnnamed396() => [ buildGoogleCloudAiplatformV1ToolNameMatchInstance(), buildGoogleCloudAiplatformV1ToolNameMatchInstance(), ]; -void checkUnnamed384( +void checkUnnamed396( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ToolNameMatchInstance(o[0]); @@ -29279,7 +30174,7 @@ api.GoogleCloudAiplatformV1ToolNameMatchInput final o = api.GoogleCloudAiplatformV1ToolNameMatchInput(); buildCounterGoogleCloudAiplatformV1ToolNameMatchInput++; if (buildCounterGoogleCloudAiplatformV1ToolNameMatchInput < 3) { - o.instances = buildUnnamed384(); + o.instances = buildUnnamed396(); o.metricSpec = buildGoogleCloudAiplatformV1ToolNameMatchSpec(); } buildCounterGoogleCloudAiplatformV1ToolNameMatchInput--; @@ -29290,7 +30185,7 @@ void checkGoogleCloudAiplatformV1ToolNameMatchInput( api.GoogleCloudAiplatformV1ToolNameMatchInput o) { buildCounterGoogleCloudAiplatformV1ToolNameMatchInput++; if (buildCounterGoogleCloudAiplatformV1ToolNameMatchInput < 3) { - checkUnnamed384(o.instances!); + checkUnnamed396(o.instances!); checkGoogleCloudAiplatformV1ToolNameMatchSpec(o.metricSpec!); } buildCounterGoogleCloudAiplatformV1ToolNameMatchInput--; @@ -29350,12 +30245,12 @@ void checkGoogleCloudAiplatformV1ToolNameMatchMetricValue( } core.List - buildUnnamed385() => [ + buildUnnamed397() => [ buildGoogleCloudAiplatformV1ToolNameMatchMetricValue(), buildGoogleCloudAiplatformV1ToolNameMatchMetricValue(), ]; -void checkUnnamed385( +void checkUnnamed397( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ToolNameMatchMetricValue(o[0]); @@ -29368,7 +30263,7 @@ api.GoogleCloudAiplatformV1ToolNameMatchResults final o = api.GoogleCloudAiplatformV1ToolNameMatchResults(); buildCounterGoogleCloudAiplatformV1ToolNameMatchResults++; if (buildCounterGoogleCloudAiplatformV1ToolNameMatchResults < 3) { - o.toolNameMatchMetricValues = buildUnnamed385(); + o.toolNameMatchMetricValues = buildUnnamed397(); } buildCounterGoogleCloudAiplatformV1ToolNameMatchResults--; return o; @@ -29378,7 +30273,7 @@ void checkGoogleCloudAiplatformV1ToolNameMatchResults( api.GoogleCloudAiplatformV1ToolNameMatchResults o) { buildCounterGoogleCloudAiplatformV1ToolNameMatchResults++; if (buildCounterGoogleCloudAiplatformV1ToolNameMatchResults < 3) { - checkUnnamed385(o.toolNameMatchMetricValues!); + checkUnnamed397(o.toolNameMatchMetricValues!); } buildCounterGoogleCloudAiplatformV1ToolNameMatchResults--; } @@ -29401,12 +30296,12 @@ void checkGoogleCloudAiplatformV1ToolNameMatchSpec( } core.List - buildUnnamed386() => [ + buildUnnamed398() => [ buildGoogleCloudAiplatformV1ToolParameterKVMatchInstance(), buildGoogleCloudAiplatformV1ToolParameterKVMatchInstance(), ]; -void checkUnnamed386( +void checkUnnamed398( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ToolParameterKVMatchInstance(o[0]); @@ -29419,7 +30314,7 @@ api.GoogleCloudAiplatformV1ToolParameterKVMatchInput final o = api.GoogleCloudAiplatformV1ToolParameterKVMatchInput(); buildCounterGoogleCloudAiplatformV1ToolParameterKVMatchInput++; if (buildCounterGoogleCloudAiplatformV1ToolParameterKVMatchInput < 3) { - o.instances = buildUnnamed386(); + o.instances = buildUnnamed398(); o.metricSpec = buildGoogleCloudAiplatformV1ToolParameterKVMatchSpec(); } buildCounterGoogleCloudAiplatformV1ToolParameterKVMatchInput--; @@ -29430,7 +30325,7 @@ void checkGoogleCloudAiplatformV1ToolParameterKVMatchInput( api.GoogleCloudAiplatformV1ToolParameterKVMatchInput o) { buildCounterGoogleCloudAiplatformV1ToolParameterKVMatchInput++; if (buildCounterGoogleCloudAiplatformV1ToolParameterKVMatchInput < 3) { - checkUnnamed386(o.instances!); + checkUnnamed398(o.instances!); checkGoogleCloudAiplatformV1ToolParameterKVMatchSpec(o.metricSpec!); } buildCounterGoogleCloudAiplatformV1ToolParameterKVMatchInput--; @@ -29490,12 +30385,12 @@ void checkGoogleCloudAiplatformV1ToolParameterKVMatchMetricValue( } core.List - buildUnnamed387() => [ + buildUnnamed399() => [ buildGoogleCloudAiplatformV1ToolParameterKVMatchMetricValue(), buildGoogleCloudAiplatformV1ToolParameterKVMatchMetricValue(), ]; -void checkUnnamed387( +void checkUnnamed399( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ToolParameterKVMatchMetricValue(o[0]); @@ -29508,7 +30403,7 @@ api.GoogleCloudAiplatformV1ToolParameterKVMatchResults final o = api.GoogleCloudAiplatformV1ToolParameterKVMatchResults(); buildCounterGoogleCloudAiplatformV1ToolParameterKVMatchResults++; if (buildCounterGoogleCloudAiplatformV1ToolParameterKVMatchResults < 3) { - o.toolParameterKvMatchMetricValues = buildUnnamed387(); + o.toolParameterKvMatchMetricValues = buildUnnamed399(); } buildCounterGoogleCloudAiplatformV1ToolParameterKVMatchResults--; return o; @@ -29518,7 +30413,7 @@ void checkGoogleCloudAiplatformV1ToolParameterKVMatchResults( api.GoogleCloudAiplatformV1ToolParameterKVMatchResults o) { buildCounterGoogleCloudAiplatformV1ToolParameterKVMatchResults++; if (buildCounterGoogleCloudAiplatformV1ToolParameterKVMatchResults < 3) { - checkUnnamed387(o.toolParameterKvMatchMetricValues!); + checkUnnamed399(o.toolParameterKvMatchMetricValues!); } buildCounterGoogleCloudAiplatformV1ToolParameterKVMatchResults--; } @@ -29545,12 +30440,12 @@ void checkGoogleCloudAiplatformV1ToolParameterKVMatchSpec( } core.List - buildUnnamed388() => [ + buildUnnamed400() => [ buildGoogleCloudAiplatformV1ToolParameterKeyMatchInstance(), buildGoogleCloudAiplatformV1ToolParameterKeyMatchInstance(), ]; -void checkUnnamed388( +void checkUnnamed400( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ToolParameterKeyMatchInstance(o[0]); @@ -29563,7 +30458,7 @@ api.GoogleCloudAiplatformV1ToolParameterKeyMatchInput final o = api.GoogleCloudAiplatformV1ToolParameterKeyMatchInput(); buildCounterGoogleCloudAiplatformV1ToolParameterKeyMatchInput++; if (buildCounterGoogleCloudAiplatformV1ToolParameterKeyMatchInput < 3) { - o.instances = buildUnnamed388(); + o.instances = buildUnnamed400(); o.metricSpec = buildGoogleCloudAiplatformV1ToolParameterKeyMatchSpec(); } buildCounterGoogleCloudAiplatformV1ToolParameterKeyMatchInput--; @@ -29574,7 +30469,7 @@ void checkGoogleCloudAiplatformV1ToolParameterKeyMatchInput( api.GoogleCloudAiplatformV1ToolParameterKeyMatchInput o) { buildCounterGoogleCloudAiplatformV1ToolParameterKeyMatchInput++; if (buildCounterGoogleCloudAiplatformV1ToolParameterKeyMatchInput < 3) { - checkUnnamed388(o.instances!); + checkUnnamed400(o.instances!); checkGoogleCloudAiplatformV1ToolParameterKeyMatchSpec(o.metricSpec!); } buildCounterGoogleCloudAiplatformV1ToolParameterKeyMatchInput--; @@ -29635,12 +30530,12 @@ void checkGoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue( } core.List - buildUnnamed389() => [ + buildUnnamed401() => [ buildGoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue(), buildGoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue(), ]; -void checkUnnamed389( +void checkUnnamed401( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue(o[0]); @@ -29653,7 +30548,7 @@ api.GoogleCloudAiplatformV1ToolParameterKeyMatchResults final o = api.GoogleCloudAiplatformV1ToolParameterKeyMatchResults(); buildCounterGoogleCloudAiplatformV1ToolParameterKeyMatchResults++; if (buildCounterGoogleCloudAiplatformV1ToolParameterKeyMatchResults < 3) { - o.toolParameterKeyMatchMetricValues = buildUnnamed389(); + o.toolParameterKeyMatchMetricValues = buildUnnamed401(); } buildCounterGoogleCloudAiplatformV1ToolParameterKeyMatchResults--; return o; @@ -29663,7 +30558,7 @@ void checkGoogleCloudAiplatformV1ToolParameterKeyMatchResults( api.GoogleCloudAiplatformV1ToolParameterKeyMatchResults o) { buildCounterGoogleCloudAiplatformV1ToolParameterKeyMatchResults++; if (buildCounterGoogleCloudAiplatformV1ToolParameterKeyMatchResults < 3) { - checkUnnamed389(o.toolParameterKeyMatchMetricValues!); + checkUnnamed401(o.toolParameterKeyMatchMetricValues!); } buildCounterGoogleCloudAiplatformV1ToolParameterKeyMatchResults--; } @@ -29709,12 +30604,12 @@ void checkGoogleCloudAiplatformV1TrainingConfig( buildCounterGoogleCloudAiplatformV1TrainingConfig--; } -core.Map buildUnnamed390() => { +core.Map buildUnnamed402() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed390(core.Map o) { +void checkUnnamed402(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -29738,7 +30633,7 @@ api.GoogleCloudAiplatformV1TrainingPipeline o.endTime = 'foo'; o.error = buildGoogleRpcStatus(); o.inputDataConfig = buildGoogleCloudAiplatformV1InputDataConfig(); - o.labels = buildUnnamed390(); + o.labels = buildUnnamed402(); o.modelId = 'foo'; o.modelToUpload = buildGoogleCloudAiplatformV1Model(); o.name = 'foo'; @@ -29781,7 +30676,7 @@ void checkGoogleCloudAiplatformV1TrainingPipeline( ); checkGoogleRpcStatus(o.error!); checkGoogleCloudAiplatformV1InputDataConfig(o.inputDataConfig!); - checkUnnamed390(o.labels!); + checkUnnamed402(o.labels!); unittest.expect( o.modelId!, unittest.equals('foo'), @@ -29843,12 +30738,12 @@ void checkGoogleCloudAiplatformV1TrainingPipeline( buildCounterGoogleCloudAiplatformV1TrainingPipeline--; } -core.List buildUnnamed391() => [ +core.List buildUnnamed403() => [ buildGoogleCloudAiplatformV1ToolCall(), buildGoogleCloudAiplatformV1ToolCall(), ]; -void checkUnnamed391(core.List o) { +void checkUnnamed403(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1ToolCall(o[0]); checkGoogleCloudAiplatformV1ToolCall(o[1]); @@ -29859,7 +30754,7 @@ api.GoogleCloudAiplatformV1Trajectory buildGoogleCloudAiplatformV1Trajectory() { final o = api.GoogleCloudAiplatformV1Trajectory(); buildCounterGoogleCloudAiplatformV1Trajectory++; if (buildCounterGoogleCloudAiplatformV1Trajectory < 3) { - o.toolCalls = buildUnnamed391(); + o.toolCalls = buildUnnamed403(); } buildCounterGoogleCloudAiplatformV1Trajectory--; return o; @@ -29869,18 +30764,18 @@ void checkGoogleCloudAiplatformV1Trajectory( api.GoogleCloudAiplatformV1Trajectory o) { buildCounterGoogleCloudAiplatformV1Trajectory++; if (buildCounterGoogleCloudAiplatformV1Trajectory < 3) { - checkUnnamed391(o.toolCalls!); + checkUnnamed403(o.toolCalls!); } buildCounterGoogleCloudAiplatformV1Trajectory--; } core.List - buildUnnamed392() => [ + buildUnnamed404() => [ buildGoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance(), buildGoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance(), ]; -void checkUnnamed392( +void checkUnnamed404( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance(o[0]); @@ -29893,7 +30788,7 @@ api.GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput final o = api.GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput(); buildCounterGoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput++; if (buildCounterGoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput < 3) { - o.instances = buildUnnamed392(); + o.instances = buildUnnamed404(); o.metricSpec = buildGoogleCloudAiplatformV1TrajectoryAnyOrderMatchSpec(); } buildCounterGoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput--; @@ -29904,7 +30799,7 @@ void checkGoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput( api.GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput o) { buildCounterGoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput++; if (buildCounterGoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput < 3) { - checkUnnamed392(o.instances!); + checkUnnamed404(o.instances!); checkGoogleCloudAiplatformV1TrajectoryAnyOrderMatchSpec(o.metricSpec!); } buildCounterGoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput--; @@ -29961,12 +30856,12 @@ void checkGoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue( } core.List - buildUnnamed393() => [ + buildUnnamed405() => [ buildGoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue(), buildGoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue(), ]; -void checkUnnamed393( +void checkUnnamed405( core.List o) { unittest.expect(o, unittest.hasLength(2)); @@ -29980,7 +30875,7 @@ api.GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults final o = api.GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults(); buildCounterGoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults++; if (buildCounterGoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults < 3) { - o.trajectoryAnyOrderMatchMetricValues = buildUnnamed393(); + o.trajectoryAnyOrderMatchMetricValues = buildUnnamed405(); } buildCounterGoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults--; return o; @@ -29990,7 +30885,7 @@ void checkGoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults( api.GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults o) { buildCounterGoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults++; if (buildCounterGoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults < 3) { - checkUnnamed393(o.trajectoryAnyOrderMatchMetricValues!); + checkUnnamed405(o.trajectoryAnyOrderMatchMetricValues!); } buildCounterGoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults--; } @@ -30013,12 +30908,12 @@ void checkGoogleCloudAiplatformV1TrajectoryAnyOrderMatchSpec( } core.List - buildUnnamed394() => [ + buildUnnamed406() => [ buildGoogleCloudAiplatformV1TrajectoryExactMatchInstance(), buildGoogleCloudAiplatformV1TrajectoryExactMatchInstance(), ]; -void checkUnnamed394( +void checkUnnamed406( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1TrajectoryExactMatchInstance(o[0]); @@ -30031,7 +30926,7 @@ api.GoogleCloudAiplatformV1TrajectoryExactMatchInput final o = api.GoogleCloudAiplatformV1TrajectoryExactMatchInput(); buildCounterGoogleCloudAiplatformV1TrajectoryExactMatchInput++; if (buildCounterGoogleCloudAiplatformV1TrajectoryExactMatchInput < 3) { - o.instances = buildUnnamed394(); + o.instances = buildUnnamed406(); o.metricSpec = buildGoogleCloudAiplatformV1TrajectoryExactMatchSpec(); } buildCounterGoogleCloudAiplatformV1TrajectoryExactMatchInput--; @@ -30042,7 +30937,7 @@ void checkGoogleCloudAiplatformV1TrajectoryExactMatchInput( api.GoogleCloudAiplatformV1TrajectoryExactMatchInput o) { buildCounterGoogleCloudAiplatformV1TrajectoryExactMatchInput++; if (buildCounterGoogleCloudAiplatformV1TrajectoryExactMatchInput < 3) { - checkUnnamed394(o.instances!); + checkUnnamed406(o.instances!); checkGoogleCloudAiplatformV1TrajectoryExactMatchSpec(o.metricSpec!); } buildCounterGoogleCloudAiplatformV1TrajectoryExactMatchInput--; @@ -30096,12 +30991,12 @@ void checkGoogleCloudAiplatformV1TrajectoryExactMatchMetricValue( } core.List - buildUnnamed395() => [ + buildUnnamed407() => [ buildGoogleCloudAiplatformV1TrajectoryExactMatchMetricValue(), buildGoogleCloudAiplatformV1TrajectoryExactMatchMetricValue(), ]; -void checkUnnamed395( +void checkUnnamed407( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1TrajectoryExactMatchMetricValue(o[0]); @@ -30114,7 +31009,7 @@ api.GoogleCloudAiplatformV1TrajectoryExactMatchResults final o = api.GoogleCloudAiplatformV1TrajectoryExactMatchResults(); buildCounterGoogleCloudAiplatformV1TrajectoryExactMatchResults++; if (buildCounterGoogleCloudAiplatformV1TrajectoryExactMatchResults < 3) { - o.trajectoryExactMatchMetricValues = buildUnnamed395(); + o.trajectoryExactMatchMetricValues = buildUnnamed407(); } buildCounterGoogleCloudAiplatformV1TrajectoryExactMatchResults--; return o; @@ -30124,7 +31019,7 @@ void checkGoogleCloudAiplatformV1TrajectoryExactMatchResults( api.GoogleCloudAiplatformV1TrajectoryExactMatchResults o) { buildCounterGoogleCloudAiplatformV1TrajectoryExactMatchResults++; if (buildCounterGoogleCloudAiplatformV1TrajectoryExactMatchResults < 3) { - checkUnnamed395(o.trajectoryExactMatchMetricValues!); + checkUnnamed407(o.trajectoryExactMatchMetricValues!); } buildCounterGoogleCloudAiplatformV1TrajectoryExactMatchResults--; } @@ -30147,12 +31042,12 @@ void checkGoogleCloudAiplatformV1TrajectoryExactMatchSpec( } core.List - buildUnnamed396() => [ + buildUnnamed408() => [ buildGoogleCloudAiplatformV1TrajectoryInOrderMatchInstance(), buildGoogleCloudAiplatformV1TrajectoryInOrderMatchInstance(), ]; -void checkUnnamed396( +void checkUnnamed408( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1TrajectoryInOrderMatchInstance(o[0]); @@ -30165,7 +31060,7 @@ api.GoogleCloudAiplatformV1TrajectoryInOrderMatchInput final o = api.GoogleCloudAiplatformV1TrajectoryInOrderMatchInput(); buildCounterGoogleCloudAiplatformV1TrajectoryInOrderMatchInput++; if (buildCounterGoogleCloudAiplatformV1TrajectoryInOrderMatchInput < 3) { - o.instances = buildUnnamed396(); + o.instances = buildUnnamed408(); o.metricSpec = buildGoogleCloudAiplatformV1TrajectoryInOrderMatchSpec(); } buildCounterGoogleCloudAiplatformV1TrajectoryInOrderMatchInput--; @@ -30176,7 +31071,7 @@ void checkGoogleCloudAiplatformV1TrajectoryInOrderMatchInput( api.GoogleCloudAiplatformV1TrajectoryInOrderMatchInput o) { buildCounterGoogleCloudAiplatformV1TrajectoryInOrderMatchInput++; if (buildCounterGoogleCloudAiplatformV1TrajectoryInOrderMatchInput < 3) { - checkUnnamed396(o.instances!); + checkUnnamed408(o.instances!); checkGoogleCloudAiplatformV1TrajectoryInOrderMatchSpec(o.metricSpec!); } buildCounterGoogleCloudAiplatformV1TrajectoryInOrderMatchInput--; @@ -30233,12 +31128,12 @@ void checkGoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue( } core.List - buildUnnamed397() => [ + buildUnnamed409() => [ buildGoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue(), buildGoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue(), ]; -void checkUnnamed397( +void checkUnnamed409( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue(o[0]); @@ -30251,7 +31146,7 @@ api.GoogleCloudAiplatformV1TrajectoryInOrderMatchResults final o = api.GoogleCloudAiplatformV1TrajectoryInOrderMatchResults(); buildCounterGoogleCloudAiplatformV1TrajectoryInOrderMatchResults++; if (buildCounterGoogleCloudAiplatformV1TrajectoryInOrderMatchResults < 3) { - o.trajectoryInOrderMatchMetricValues = buildUnnamed397(); + o.trajectoryInOrderMatchMetricValues = buildUnnamed409(); } buildCounterGoogleCloudAiplatformV1TrajectoryInOrderMatchResults--; return o; @@ -30261,7 +31156,7 @@ void checkGoogleCloudAiplatformV1TrajectoryInOrderMatchResults( api.GoogleCloudAiplatformV1TrajectoryInOrderMatchResults o) { buildCounterGoogleCloudAiplatformV1TrajectoryInOrderMatchResults++; if (buildCounterGoogleCloudAiplatformV1TrajectoryInOrderMatchResults < 3) { - checkUnnamed397(o.trajectoryInOrderMatchMetricValues!); + checkUnnamed409(o.trajectoryInOrderMatchMetricValues!); } buildCounterGoogleCloudAiplatformV1TrajectoryInOrderMatchResults--; } @@ -30284,12 +31179,12 @@ void checkGoogleCloudAiplatformV1TrajectoryInOrderMatchSpec( } core.List - buildUnnamed398() => [ + buildUnnamed410() => [ buildGoogleCloudAiplatformV1TrajectoryPrecisionInstance(), buildGoogleCloudAiplatformV1TrajectoryPrecisionInstance(), ]; -void checkUnnamed398( +void checkUnnamed410( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1TrajectoryPrecisionInstance(o[0]); @@ -30302,7 +31197,7 @@ api.GoogleCloudAiplatformV1TrajectoryPrecisionInput final o = api.GoogleCloudAiplatformV1TrajectoryPrecisionInput(); buildCounterGoogleCloudAiplatformV1TrajectoryPrecisionInput++; if (buildCounterGoogleCloudAiplatformV1TrajectoryPrecisionInput < 3) { - o.instances = buildUnnamed398(); + o.instances = buildUnnamed410(); o.metricSpec = buildGoogleCloudAiplatformV1TrajectoryPrecisionSpec(); } buildCounterGoogleCloudAiplatformV1TrajectoryPrecisionInput--; @@ -30313,7 +31208,7 @@ void checkGoogleCloudAiplatformV1TrajectoryPrecisionInput( api.GoogleCloudAiplatformV1TrajectoryPrecisionInput o) { buildCounterGoogleCloudAiplatformV1TrajectoryPrecisionInput++; if (buildCounterGoogleCloudAiplatformV1TrajectoryPrecisionInput < 3) { - checkUnnamed398(o.instances!); + checkUnnamed410(o.instances!); checkGoogleCloudAiplatformV1TrajectoryPrecisionSpec(o.metricSpec!); } buildCounterGoogleCloudAiplatformV1TrajectoryPrecisionInput--; @@ -30367,12 +31262,12 @@ void checkGoogleCloudAiplatformV1TrajectoryPrecisionMetricValue( } core.List - buildUnnamed399() => [ + buildUnnamed411() => [ buildGoogleCloudAiplatformV1TrajectoryPrecisionMetricValue(), buildGoogleCloudAiplatformV1TrajectoryPrecisionMetricValue(), ]; -void checkUnnamed399( +void checkUnnamed411( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1TrajectoryPrecisionMetricValue(o[0]); @@ -30385,7 +31280,7 @@ api.GoogleCloudAiplatformV1TrajectoryPrecisionResults final o = api.GoogleCloudAiplatformV1TrajectoryPrecisionResults(); buildCounterGoogleCloudAiplatformV1TrajectoryPrecisionResults++; if (buildCounterGoogleCloudAiplatformV1TrajectoryPrecisionResults < 3) { - o.trajectoryPrecisionMetricValues = buildUnnamed399(); + o.trajectoryPrecisionMetricValues = buildUnnamed411(); } buildCounterGoogleCloudAiplatformV1TrajectoryPrecisionResults--; return o; @@ -30395,7 +31290,7 @@ void checkGoogleCloudAiplatformV1TrajectoryPrecisionResults( api.GoogleCloudAiplatformV1TrajectoryPrecisionResults o) { buildCounterGoogleCloudAiplatformV1TrajectoryPrecisionResults++; if (buildCounterGoogleCloudAiplatformV1TrajectoryPrecisionResults < 3) { - checkUnnamed399(o.trajectoryPrecisionMetricValues!); + checkUnnamed411(o.trajectoryPrecisionMetricValues!); } buildCounterGoogleCloudAiplatformV1TrajectoryPrecisionResults--; } @@ -30418,12 +31313,12 @@ void checkGoogleCloudAiplatformV1TrajectoryPrecisionSpec( } core.List - buildUnnamed400() => [ + buildUnnamed412() => [ buildGoogleCloudAiplatformV1TrajectoryRecallInstance(), buildGoogleCloudAiplatformV1TrajectoryRecallInstance(), ]; -void checkUnnamed400( +void checkUnnamed412( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1TrajectoryRecallInstance(o[0]); @@ -30436,7 +31331,7 @@ api.GoogleCloudAiplatformV1TrajectoryRecallInput final o = api.GoogleCloudAiplatformV1TrajectoryRecallInput(); buildCounterGoogleCloudAiplatformV1TrajectoryRecallInput++; if (buildCounterGoogleCloudAiplatformV1TrajectoryRecallInput < 3) { - o.instances = buildUnnamed400(); + o.instances = buildUnnamed412(); o.metricSpec = buildGoogleCloudAiplatformV1TrajectoryRecallSpec(); } buildCounterGoogleCloudAiplatformV1TrajectoryRecallInput--; @@ -30447,7 +31342,7 @@ void checkGoogleCloudAiplatformV1TrajectoryRecallInput( api.GoogleCloudAiplatformV1TrajectoryRecallInput o) { buildCounterGoogleCloudAiplatformV1TrajectoryRecallInput++; if (buildCounterGoogleCloudAiplatformV1TrajectoryRecallInput < 3) { - checkUnnamed400(o.instances!); + checkUnnamed412(o.instances!); checkGoogleCloudAiplatformV1TrajectoryRecallSpec(o.metricSpec!); } buildCounterGoogleCloudAiplatformV1TrajectoryRecallInput--; @@ -30501,12 +31396,12 @@ void checkGoogleCloudAiplatformV1TrajectoryRecallMetricValue( } core.List - buildUnnamed401() => [ + buildUnnamed413() => [ buildGoogleCloudAiplatformV1TrajectoryRecallMetricValue(), buildGoogleCloudAiplatformV1TrajectoryRecallMetricValue(), ]; -void checkUnnamed401( +void checkUnnamed413( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1TrajectoryRecallMetricValue(o[0]); @@ -30519,7 +31414,7 @@ api.GoogleCloudAiplatformV1TrajectoryRecallResults final o = api.GoogleCloudAiplatformV1TrajectoryRecallResults(); buildCounterGoogleCloudAiplatformV1TrajectoryRecallResults++; if (buildCounterGoogleCloudAiplatformV1TrajectoryRecallResults < 3) { - o.trajectoryRecallMetricValues = buildUnnamed401(); + o.trajectoryRecallMetricValues = buildUnnamed413(); } buildCounterGoogleCloudAiplatformV1TrajectoryRecallResults--; return o; @@ -30529,7 +31424,7 @@ void checkGoogleCloudAiplatformV1TrajectoryRecallResults( api.GoogleCloudAiplatformV1TrajectoryRecallResults o) { buildCounterGoogleCloudAiplatformV1TrajectoryRecallResults++; if (buildCounterGoogleCloudAiplatformV1TrajectoryRecallResults < 3) { - checkUnnamed401(o.trajectoryRecallMetricValues!); + checkUnnamed413(o.trajectoryRecallMetricValues!); } buildCounterGoogleCloudAiplatformV1TrajectoryRecallResults--; } @@ -30552,12 +31447,12 @@ void checkGoogleCloudAiplatformV1TrajectoryRecallSpec( } core.List - buildUnnamed402() => [ + buildUnnamed414() => [ buildGoogleCloudAiplatformV1TrajectorySingleToolUseInstance(), buildGoogleCloudAiplatformV1TrajectorySingleToolUseInstance(), ]; -void checkUnnamed402( +void checkUnnamed414( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1TrajectorySingleToolUseInstance(o[0]); @@ -30570,7 +31465,7 @@ api.GoogleCloudAiplatformV1TrajectorySingleToolUseInput final o = api.GoogleCloudAiplatformV1TrajectorySingleToolUseInput(); buildCounterGoogleCloudAiplatformV1TrajectorySingleToolUseInput++; if (buildCounterGoogleCloudAiplatformV1TrajectorySingleToolUseInput < 3) { - o.instances = buildUnnamed402(); + o.instances = buildUnnamed414(); o.metricSpec = buildGoogleCloudAiplatformV1TrajectorySingleToolUseSpec(); } buildCounterGoogleCloudAiplatformV1TrajectorySingleToolUseInput--; @@ -30581,7 +31476,7 @@ void checkGoogleCloudAiplatformV1TrajectorySingleToolUseInput( api.GoogleCloudAiplatformV1TrajectorySingleToolUseInput o) { buildCounterGoogleCloudAiplatformV1TrajectorySingleToolUseInput++; if (buildCounterGoogleCloudAiplatformV1TrajectorySingleToolUseInput < 3) { - checkUnnamed402(o.instances!); + checkUnnamed414(o.instances!); checkGoogleCloudAiplatformV1TrajectorySingleToolUseSpec(o.metricSpec!); } buildCounterGoogleCloudAiplatformV1TrajectorySingleToolUseInput--; @@ -30636,12 +31531,12 @@ void checkGoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue( } core.List - buildUnnamed403() => [ + buildUnnamed415() => [ buildGoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue(), buildGoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue(), ]; -void checkUnnamed403( +void checkUnnamed415( core.List o) { unittest.expect(o, unittest.hasLength(2)); @@ -30655,7 +31550,7 @@ api.GoogleCloudAiplatformV1TrajectorySingleToolUseResults final o = api.GoogleCloudAiplatformV1TrajectorySingleToolUseResults(); buildCounterGoogleCloudAiplatformV1TrajectorySingleToolUseResults++; if (buildCounterGoogleCloudAiplatformV1TrajectorySingleToolUseResults < 3) { - o.trajectorySingleToolUseMetricValues = buildUnnamed403(); + o.trajectorySingleToolUseMetricValues = buildUnnamed415(); } buildCounterGoogleCloudAiplatformV1TrajectorySingleToolUseResults--; return o; @@ -30665,7 +31560,7 @@ void checkGoogleCloudAiplatformV1TrajectorySingleToolUseResults( api.GoogleCloudAiplatformV1TrajectorySingleToolUseResults o) { buildCounterGoogleCloudAiplatformV1TrajectorySingleToolUseResults++; if (buildCounterGoogleCloudAiplatformV1TrajectorySingleToolUseResults < 3) { - checkUnnamed403(o.trajectorySingleToolUseMetricValues!); + checkUnnamed415(o.trajectorySingleToolUseMetricValues!); } buildCounterGoogleCloudAiplatformV1TrajectorySingleToolUseResults--; } @@ -30694,34 +31589,34 @@ void checkGoogleCloudAiplatformV1TrajectorySingleToolUseSpec( buildCounterGoogleCloudAiplatformV1TrajectorySingleToolUseSpec--; } -core.List buildUnnamed404() => [ +core.List buildUnnamed416() => [ buildGoogleCloudAiplatformV1Measurement(), buildGoogleCloudAiplatformV1Measurement(), ]; -void checkUnnamed404(core.List o) { +void checkUnnamed416(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1Measurement(o[0]); checkGoogleCloudAiplatformV1Measurement(o[1]); } -core.List buildUnnamed405() => [ +core.List buildUnnamed417() => [ buildGoogleCloudAiplatformV1TrialParameter(), buildGoogleCloudAiplatformV1TrialParameter(), ]; -void checkUnnamed405(core.List o) { +void checkUnnamed417(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1TrialParameter(o[0]); checkGoogleCloudAiplatformV1TrialParameter(o[1]); } -core.Map buildUnnamed406() => { +core.Map buildUnnamed418() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed406(core.Map o) { +void checkUnnamed418(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -30744,12 +31639,12 @@ api.GoogleCloudAiplatformV1Trial buildGoogleCloudAiplatformV1Trial() { o.finalMeasurement = buildGoogleCloudAiplatformV1Measurement(); o.id = 'foo'; o.infeasibleReason = 'foo'; - o.measurements = buildUnnamed404(); + o.measurements = buildUnnamed416(); o.name = 'foo'; - o.parameters = buildUnnamed405(); + o.parameters = buildUnnamed417(); o.startTime = 'foo'; o.state = 'foo'; - o.webAccessUris = buildUnnamed406(); + o.webAccessUris = buildUnnamed418(); } buildCounterGoogleCloudAiplatformV1Trial--; return o; @@ -30779,12 +31674,12 @@ void checkGoogleCloudAiplatformV1Trial(api.GoogleCloudAiplatformV1Trial o) { o.infeasibleReason!, unittest.equals('foo'), ); - checkUnnamed404(o.measurements!); + checkUnnamed416(o.measurements!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed405(o.parameters!); + checkUnnamed417(o.parameters!); unittest.expect( o.startTime!, unittest.equals('foo'), @@ -30793,17 +31688,17 @@ void checkGoogleCloudAiplatformV1Trial(api.GoogleCloudAiplatformV1Trial o) { o.state!, unittest.equals('foo'), ); - checkUnnamed406(o.webAccessUris!); + checkUnnamed418(o.webAccessUris!); } buildCounterGoogleCloudAiplatformV1Trial--; } -core.List buildUnnamed407() => [ +core.List buildUnnamed419() => [ buildGoogleCloudAiplatformV1TrialParameter(), buildGoogleCloudAiplatformV1TrialParameter(), ]; -void checkUnnamed407(core.List o) { +void checkUnnamed419(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1TrialParameter(o[0]); checkGoogleCloudAiplatformV1TrialParameter(o[1]); @@ -30816,7 +31711,7 @@ api.GoogleCloudAiplatformV1TrialContext buildCounterGoogleCloudAiplatformV1TrialContext++; if (buildCounterGoogleCloudAiplatformV1TrialContext < 3) { o.description = 'foo'; - o.parameters = buildUnnamed407(); + o.parameters = buildUnnamed419(); } buildCounterGoogleCloudAiplatformV1TrialContext--; return o; @@ -30830,7 +31725,7 @@ void checkGoogleCloudAiplatformV1TrialContext( o.description!, unittest.equals('foo'), ); - checkUnnamed407(o.parameters!); + checkUnnamed419(o.parameters!); } buildCounterGoogleCloudAiplatformV1TrialContext--; } @@ -30963,12 +31858,12 @@ void checkGoogleCloudAiplatformV1TuningDataStats( buildCounterGoogleCloudAiplatformV1TuningDataStats--; } -core.Map buildUnnamed408() => { +core.Map buildUnnamed420() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed408(core.Map o) { +void checkUnnamed420(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -30992,7 +31887,7 @@ api.GoogleCloudAiplatformV1TuningJob buildGoogleCloudAiplatformV1TuningJob() { o.endTime = 'foo'; o.error = buildGoogleRpcStatus(); o.experiment = 'foo'; - o.labels = buildUnnamed408(); + o.labels = buildUnnamed420(); o.name = 'foo'; o.serviceAccount = 'foo'; o.startTime = 'foo'; @@ -31033,7 +31928,7 @@ void checkGoogleCloudAiplatformV1TuningJob( o.experiment!, unittest.equals('foo'), ); - checkUnnamed408(o.labels!); + checkUnnamed420(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -31089,12 +31984,12 @@ void checkGoogleCloudAiplatformV1UndeployIndexRequest( buildCounterGoogleCloudAiplatformV1UndeployIndexRequest--; } -core.Map buildUnnamed409() => { +core.Map buildUnnamed421() => { 'x': 42, 'y': 42, }; -void checkUnnamed409(core.Map o) { +void checkUnnamed421(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -31113,7 +32008,7 @@ api.GoogleCloudAiplatformV1UndeployModelRequest buildCounterGoogleCloudAiplatformV1UndeployModelRequest++; if (buildCounterGoogleCloudAiplatformV1UndeployModelRequest < 3) { o.deployedModelId = 'foo'; - o.trafficSplit = buildUnnamed409(); + o.trafficSplit = buildUnnamed421(); } buildCounterGoogleCloudAiplatformV1UndeployModelRequest--; return o; @@ -31127,7 +32022,7 @@ void checkGoogleCloudAiplatformV1UndeployModelRequest( o.deployedModelId!, unittest.equals('foo'), ); - checkUnnamed409(o.trafficSplit!); + checkUnnamed421(o.trafficSplit!); } buildCounterGoogleCloudAiplatformV1UndeployModelRequest--; } @@ -31325,12 +32220,12 @@ void checkGoogleCloudAiplatformV1UploadRagFileResponse( buildCounterGoogleCloudAiplatformV1UploadRagFileResponse--; } -core.List buildUnnamed410() => [ +core.List buildUnnamed422() => [ buildGoogleCloudAiplatformV1IndexDatapoint(), buildGoogleCloudAiplatformV1IndexDatapoint(), ]; -void checkUnnamed410(core.List o) { +void checkUnnamed422(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1IndexDatapoint(o[0]); checkGoogleCloudAiplatformV1IndexDatapoint(o[1]); @@ -31342,7 +32237,7 @@ api.GoogleCloudAiplatformV1UpsertDatapointsRequest final o = api.GoogleCloudAiplatformV1UpsertDatapointsRequest(); buildCounterGoogleCloudAiplatformV1UpsertDatapointsRequest++; if (buildCounterGoogleCloudAiplatformV1UpsertDatapointsRequest < 3) { - o.datapoints = buildUnnamed410(); + o.datapoints = buildUnnamed422(); o.updateMask = 'foo'; } buildCounterGoogleCloudAiplatformV1UpsertDatapointsRequest--; @@ -31353,7 +32248,7 @@ void checkGoogleCloudAiplatformV1UpsertDatapointsRequest( api.GoogleCloudAiplatformV1UpsertDatapointsRequest o) { buildCounterGoogleCloudAiplatformV1UpsertDatapointsRequest++; if (buildCounterGoogleCloudAiplatformV1UpsertDatapointsRequest < 3) { - checkUnnamed410(o.datapoints!); + checkUnnamed422(o.datapoints!); unittest.expect( o.updateMask!, unittest.equals('foo'), @@ -31470,12 +32365,12 @@ void checkGoogleCloudAiplatformV1VertexAISearch( } core.List - buildUnnamed411() => [ + buildUnnamed423() => [ buildGoogleCloudAiplatformV1VertexRagStoreRagResource(), buildGoogleCloudAiplatformV1VertexRagStoreRagResource(), ]; -void checkUnnamed411( +void checkUnnamed423( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1VertexRagStoreRagResource(o[0]); @@ -31488,7 +32383,7 @@ api.GoogleCloudAiplatformV1VertexRagStore final o = api.GoogleCloudAiplatformV1VertexRagStore(); buildCounterGoogleCloudAiplatformV1VertexRagStore++; if (buildCounterGoogleCloudAiplatformV1VertexRagStore < 3) { - o.ragResources = buildUnnamed411(); + o.ragResources = buildUnnamed423(); o.ragRetrievalConfig = buildGoogleCloudAiplatformV1RagRetrievalConfig(); o.similarityTopK = 42; o.vectorDistanceThreshold = 42.0; @@ -31501,7 +32396,7 @@ void checkGoogleCloudAiplatformV1VertexRagStore( api.GoogleCloudAiplatformV1VertexRagStore o) { buildCounterGoogleCloudAiplatformV1VertexRagStore++; if (buildCounterGoogleCloudAiplatformV1VertexRagStore < 3) { - checkUnnamed411(o.ragResources!); + checkUnnamed423(o.ragResources!); checkGoogleCloudAiplatformV1RagRetrievalConfig(o.ragRetrievalConfig!); unittest.expect( o.similarityTopK!, @@ -31515,12 +32410,12 @@ void checkGoogleCloudAiplatformV1VertexRagStore( buildCounterGoogleCloudAiplatformV1VertexRagStore--; } -core.List buildUnnamed412() => [ +core.List buildUnnamed424() => [ 'foo', 'foo', ]; -void checkUnnamed412(core.List o) { +void checkUnnamed424(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -31539,7 +32434,7 @@ api.GoogleCloudAiplatformV1VertexRagStoreRagResource buildCounterGoogleCloudAiplatformV1VertexRagStoreRagResource++; if (buildCounterGoogleCloudAiplatformV1VertexRagStoreRagResource < 3) { o.ragCorpus = 'foo'; - o.ragFileIds = buildUnnamed412(); + o.ragFileIds = buildUnnamed424(); } buildCounterGoogleCloudAiplatformV1VertexRagStoreRagResource--; return o; @@ -31553,7 +32448,7 @@ void checkGoogleCloudAiplatformV1VertexRagStoreRagResource( o.ragCorpus!, unittest.equals('foo'), ); - checkUnnamed412(o.ragFileIds!); + checkUnnamed424(o.ragFileIds!); } buildCounterGoogleCloudAiplatformV1VertexRagStoreRagResource--; } @@ -31608,12 +32503,12 @@ void checkGoogleCloudAiplatformV1VoiceConfig( buildCounterGoogleCloudAiplatformV1VoiceConfig--; } -core.List buildUnnamed413() => [ +core.List buildUnnamed425() => [ buildGoogleCloudAiplatformV1NfsMount(), buildGoogleCloudAiplatformV1NfsMount(), ]; -void checkUnnamed413(core.List o) { +void checkUnnamed425(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1NfsMount(o[0]); checkGoogleCloudAiplatformV1NfsMount(o[1]); @@ -31628,7 +32523,7 @@ api.GoogleCloudAiplatformV1WorkerPoolSpec o.containerSpec = buildGoogleCloudAiplatformV1ContainerSpec(); o.diskSpec = buildGoogleCloudAiplatformV1DiskSpec(); o.machineSpec = buildGoogleCloudAiplatformV1MachineSpec(); - o.nfsMounts = buildUnnamed413(); + o.nfsMounts = buildUnnamed425(); o.pythonPackageSpec = buildGoogleCloudAiplatformV1PythonPackageSpec(); o.replicaCount = 'foo'; } @@ -31643,7 +32538,7 @@ void checkGoogleCloudAiplatformV1WorkerPoolSpec( checkGoogleCloudAiplatformV1ContainerSpec(o.containerSpec!); checkGoogleCloudAiplatformV1DiskSpec(o.diskSpec!); checkGoogleCloudAiplatformV1MachineSpec(o.machineSpec!); - checkUnnamed413(o.nfsMounts!); + checkUnnamed425(o.nfsMounts!); checkGoogleCloudAiplatformV1PythonPackageSpec(o.pythonPackageSpec!); unittest.expect( o.replicaCount!, @@ -31654,12 +32549,12 @@ void checkGoogleCloudAiplatformV1WorkerPoolSpec( } core.Map - buildUnnamed414() => { + buildUnnamed426() => { 'x': buildGoogleCloudAiplatformV1FeatureValue(), 'y': buildGoogleCloudAiplatformV1FeatureValue(), }; -void checkUnnamed414( +void checkUnnamed426( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1FeatureValue(o['x']!); @@ -31673,7 +32568,7 @@ api.GoogleCloudAiplatformV1WriteFeatureValuesPayload buildCounterGoogleCloudAiplatformV1WriteFeatureValuesPayload++; if (buildCounterGoogleCloudAiplatformV1WriteFeatureValuesPayload < 3) { o.entityId = 'foo'; - o.featureValues = buildUnnamed414(); + o.featureValues = buildUnnamed426(); } buildCounterGoogleCloudAiplatformV1WriteFeatureValuesPayload--; return o; @@ -31687,18 +32582,18 @@ void checkGoogleCloudAiplatformV1WriteFeatureValuesPayload( o.entityId!, unittest.equals('foo'), ); - checkUnnamed414(o.featureValues!); + checkUnnamed426(o.featureValues!); } buildCounterGoogleCloudAiplatformV1WriteFeatureValuesPayload--; } core.List - buildUnnamed415() => [ + buildUnnamed427() => [ buildGoogleCloudAiplatformV1WriteFeatureValuesPayload(), buildGoogleCloudAiplatformV1WriteFeatureValuesPayload(), ]; -void checkUnnamed415( +void checkUnnamed427( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1WriteFeatureValuesPayload(o[0]); @@ -31711,7 +32606,7 @@ api.GoogleCloudAiplatformV1WriteFeatureValuesRequest final o = api.GoogleCloudAiplatformV1WriteFeatureValuesRequest(); buildCounterGoogleCloudAiplatformV1WriteFeatureValuesRequest++; if (buildCounterGoogleCloudAiplatformV1WriteFeatureValuesRequest < 3) { - o.payloads = buildUnnamed415(); + o.payloads = buildUnnamed427(); } buildCounterGoogleCloudAiplatformV1WriteFeatureValuesRequest--; return o; @@ -31721,7 +32616,7 @@ void checkGoogleCloudAiplatformV1WriteFeatureValuesRequest( api.GoogleCloudAiplatformV1WriteFeatureValuesRequest o) { buildCounterGoogleCloudAiplatformV1WriteFeatureValuesRequest++; if (buildCounterGoogleCloudAiplatformV1WriteFeatureValuesRequest < 3) { - checkUnnamed415(o.payloads!); + checkUnnamed427(o.payloads!); } buildCounterGoogleCloudAiplatformV1WriteFeatureValuesRequest--; } @@ -31744,12 +32639,12 @@ void checkGoogleCloudAiplatformV1WriteFeatureValuesResponse( } core.List - buildUnnamed416() => [ + buildUnnamed428() => [ buildGoogleCloudAiplatformV1WriteTensorboardRunDataRequest(), buildGoogleCloudAiplatformV1WriteTensorboardRunDataRequest(), ]; -void checkUnnamed416( +void checkUnnamed428( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1WriteTensorboardRunDataRequest(o[0]); @@ -31765,7 +32660,7 @@ api.GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest buildCounterGoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest++; if (buildCounterGoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest < 3) { - o.writeRunDataRequests = buildUnnamed416(); + o.writeRunDataRequests = buildUnnamed428(); } buildCounterGoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest--; return o; @@ -31776,7 +32671,7 @@ void checkGoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest( buildCounterGoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest++; if (buildCounterGoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest < 3) { - checkUnnamed416(o.writeRunDataRequests!); + checkUnnamed428(o.writeRunDataRequests!); } buildCounterGoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest--; } @@ -31802,12 +32697,12 @@ void checkGoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse( buildCounterGoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse--; } -core.List buildUnnamed417() => [ +core.List buildUnnamed429() => [ buildGoogleCloudAiplatformV1TimeSeriesData(), buildGoogleCloudAiplatformV1TimeSeriesData(), ]; -void checkUnnamed417(core.List o) { +void checkUnnamed429(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudAiplatformV1TimeSeriesData(o[0]); checkGoogleCloudAiplatformV1TimeSeriesData(o[1]); @@ -31820,7 +32715,7 @@ api.GoogleCloudAiplatformV1WriteTensorboardRunDataRequest buildCounterGoogleCloudAiplatformV1WriteTensorboardRunDataRequest++; if (buildCounterGoogleCloudAiplatformV1WriteTensorboardRunDataRequest < 3) { o.tensorboardRun = 'foo'; - o.timeSeriesData = buildUnnamed417(); + o.timeSeriesData = buildUnnamed429(); } buildCounterGoogleCloudAiplatformV1WriteTensorboardRunDataRequest--; return o; @@ -31834,7 +32729,7 @@ void checkGoogleCloudAiplatformV1WriteTensorboardRunDataRequest( o.tensorboardRun!, unittest.equals('foo'), ); - checkUnnamed417(o.timeSeriesData!); + checkUnnamed429(o.timeSeriesData!); } buildCounterGoogleCloudAiplatformV1WriteTensorboardRunDataRequest--; } @@ -31884,12 +32779,12 @@ void checkGoogleCloudAiplatformV1XraiAttribution( buildCounterGoogleCloudAiplatformV1XraiAttribution--; } -core.List buildUnnamed418() => [ +core.List buildUnnamed430() => [ buildGoogleCloudLocationLocation(), buildGoogleCloudLocationLocation(), ]; -void checkUnnamed418(core.List o) { +void checkUnnamed430(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudLocationLocation(o[0]); checkGoogleCloudLocationLocation(o[1]); @@ -31901,7 +32796,7 @@ api.GoogleCloudLocationListLocationsResponse final o = api.GoogleCloudLocationListLocationsResponse(); buildCounterGoogleCloudLocationListLocationsResponse++; if (buildCounterGoogleCloudLocationListLocationsResponse < 3) { - o.locations = buildUnnamed418(); + o.locations = buildUnnamed430(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudLocationListLocationsResponse--; @@ -31912,7 +32807,7 @@ void checkGoogleCloudLocationListLocationsResponse( api.GoogleCloudLocationListLocationsResponse o) { buildCounterGoogleCloudLocationListLocationsResponse++; if (buildCounterGoogleCloudLocationListLocationsResponse < 3) { - checkUnnamed418(o.locations!); + checkUnnamed430(o.locations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -31921,12 +32816,12 @@ void checkGoogleCloudLocationListLocationsResponse( buildCounterGoogleCloudLocationListLocationsResponse--; } -core.Map buildUnnamed419() => { +core.Map buildUnnamed431() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed419(core.Map o) { +void checkUnnamed431(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -31938,7 +32833,7 @@ void checkUnnamed419(core.Map o) { ); } -core.Map buildUnnamed420() => { +core.Map buildUnnamed432() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -31951,7 +32846,7 @@ core.Map buildUnnamed420() => { }, }; -void checkUnnamed420(core.Map o) { +void checkUnnamed432(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted78 = (o['x']!) as core.Map; unittest.expect(casted78, unittest.hasLength(3)); @@ -31989,9 +32884,9 @@ api.GoogleCloudLocationLocation buildGoogleCloudLocationLocation() { buildCounterGoogleCloudLocationLocation++; if (buildCounterGoogleCloudLocationLocation < 3) { o.displayName = 'foo'; - o.labels = buildUnnamed419(); + o.labels = buildUnnamed431(); o.locationId = 'foo'; - o.metadata = buildUnnamed420(); + o.metadata = buildUnnamed432(); o.name = 'foo'; } buildCounterGoogleCloudLocationLocation--; @@ -32005,12 +32900,12 @@ void checkGoogleCloudLocationLocation(api.GoogleCloudLocationLocation o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed419(o.labels!); + checkUnnamed431(o.labels!); unittest.expect( o.locationId!, unittest.equals('foo'), ); - checkUnnamed420(o.metadata!); + checkUnnamed432(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), @@ -32019,12 +32914,12 @@ void checkGoogleCloudLocationLocation(api.GoogleCloudLocationLocation o) { buildCounterGoogleCloudLocationLocation--; } -core.List buildUnnamed421() => [ +core.List buildUnnamed433() => [ 'foo', 'foo', ]; -void checkUnnamed421(core.List o) { +void checkUnnamed433(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -32042,7 +32937,7 @@ api.GoogleIamV1Binding buildGoogleIamV1Binding() { buildCounterGoogleIamV1Binding++; if (buildCounterGoogleIamV1Binding < 3) { o.condition = buildGoogleTypeExpr(); - o.members = buildUnnamed421(); + o.members = buildUnnamed433(); o.role = 'foo'; } buildCounterGoogleIamV1Binding--; @@ -32053,7 +32948,7 @@ void checkGoogleIamV1Binding(api.GoogleIamV1Binding o) { buildCounterGoogleIamV1Binding++; if (buildCounterGoogleIamV1Binding < 3) { checkGoogleTypeExpr(o.condition!); - checkUnnamed421(o.members!); + checkUnnamed433(o.members!); unittest.expect( o.role!, unittest.equals('foo'), @@ -32062,12 +32957,12 @@ void checkGoogleIamV1Binding(api.GoogleIamV1Binding o) { buildCounterGoogleIamV1Binding--; } -core.List buildUnnamed422() => [ +core.List buildUnnamed434() => [ buildGoogleIamV1Binding(), buildGoogleIamV1Binding(), ]; -void checkUnnamed422(core.List o) { +void checkUnnamed434(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleIamV1Binding(o[0]); checkGoogleIamV1Binding(o[1]); @@ -32078,7 +32973,7 @@ api.GoogleIamV1Policy buildGoogleIamV1Policy() { final o = api.GoogleIamV1Policy(); buildCounterGoogleIamV1Policy++; if (buildCounterGoogleIamV1Policy < 3) { - o.bindings = buildUnnamed422(); + o.bindings = buildUnnamed434(); o.etag = 'foo'; o.version = 42; } @@ -32089,7 +32984,7 @@ api.GoogleIamV1Policy buildGoogleIamV1Policy() { void checkGoogleIamV1Policy(api.GoogleIamV1Policy o) { buildCounterGoogleIamV1Policy++; if (buildCounterGoogleIamV1Policy < 3) { - checkUnnamed422(o.bindings!); + checkUnnamed434(o.bindings!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -32121,12 +33016,12 @@ void checkGoogleIamV1SetIamPolicyRequest(api.GoogleIamV1SetIamPolicyRequest o) { buildCounterGoogleIamV1SetIamPolicyRequest--; } -core.List buildUnnamed423() => [ +core.List buildUnnamed435() => [ 'foo', 'foo', ]; -void checkUnnamed423(core.List o) { +void checkUnnamed435(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -32144,7 +33039,7 @@ api.GoogleIamV1TestIamPermissionsResponse final o = api.GoogleIamV1TestIamPermissionsResponse(); buildCounterGoogleIamV1TestIamPermissionsResponse++; if (buildCounterGoogleIamV1TestIamPermissionsResponse < 3) { - o.permissions = buildUnnamed423(); + o.permissions = buildUnnamed435(); } buildCounterGoogleIamV1TestIamPermissionsResponse--; return o; @@ -32154,17 +33049,17 @@ void checkGoogleIamV1TestIamPermissionsResponse( api.GoogleIamV1TestIamPermissionsResponse o) { buildCounterGoogleIamV1TestIamPermissionsResponse++; if (buildCounterGoogleIamV1TestIamPermissionsResponse < 3) { - checkUnnamed423(o.permissions!); + checkUnnamed435(o.permissions!); } buildCounterGoogleIamV1TestIamPermissionsResponse--; } -core.List buildUnnamed424() => [ +core.List buildUnnamed436() => [ buildGoogleLongrunningOperation(), buildGoogleLongrunningOperation(), ]; -void checkUnnamed424(core.List o) { +void checkUnnamed436(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleLongrunningOperation(o[0]); checkGoogleLongrunningOperation(o[1]); @@ -32177,7 +33072,7 @@ api.GoogleLongrunningListOperationsResponse buildCounterGoogleLongrunningListOperationsResponse++; if (buildCounterGoogleLongrunningListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed424(); + o.operations = buildUnnamed436(); } buildCounterGoogleLongrunningListOperationsResponse--; return o; @@ -32191,12 +33086,12 @@ void checkGoogleLongrunningListOperationsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed424(o.operations!); + checkUnnamed436(o.operations!); } buildCounterGoogleLongrunningListOperationsResponse--; } -core.Map buildUnnamed425() => { +core.Map buildUnnamed437() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -32209,7 +33104,7 @@ core.Map buildUnnamed425() => { }, }; -void checkUnnamed425(core.Map o) { +void checkUnnamed437(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted80 = (o['x']!) as core.Map; unittest.expect(casted80, unittest.hasLength(3)); @@ -32241,7 +33136,7 @@ void checkUnnamed425(core.Map o) { ); } -core.Map buildUnnamed426() => { +core.Map buildUnnamed438() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -32254,7 +33149,7 @@ core.Map buildUnnamed426() => { }, }; -void checkUnnamed426(core.Map o) { +void checkUnnamed438(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted82 = (o['x']!) as core.Map; unittest.expect(casted82, unittest.hasLength(3)); @@ -32293,9 +33188,9 @@ api.GoogleLongrunningOperation buildGoogleLongrunningOperation() { if (buildCounterGoogleLongrunningOperation < 3) { o.done = true; o.error = buildGoogleRpcStatus(); - o.metadata = buildUnnamed425(); + o.metadata = buildUnnamed437(); o.name = 'foo'; - o.response = buildUnnamed426(); + o.response = buildUnnamed438(); } buildCounterGoogleLongrunningOperation--; return o; @@ -32306,12 +33201,12 @@ void checkGoogleLongrunningOperation(api.GoogleLongrunningOperation o) { if (buildCounterGoogleLongrunningOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkGoogleRpcStatus(o.error!); - checkUnnamed425(o.metadata!); + checkUnnamed437(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed426(o.response!); + checkUnnamed438(o.response!); } buildCounterGoogleLongrunningOperation--; } @@ -32331,7 +33226,7 @@ void checkGoogleProtobufEmpty(api.GoogleProtobufEmpty o) { buildCounterGoogleProtobufEmpty--; } -core.Map buildUnnamed427() => { +core.Map buildUnnamed439() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -32344,7 +33239,7 @@ core.Map buildUnnamed427() => { }, }; -void checkUnnamed427(core.Map o) { +void checkUnnamed439(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted84 = (o['x']!) as core.Map; unittest.expect(casted84, unittest.hasLength(3)); @@ -32376,15 +33271,15 @@ void checkUnnamed427(core.Map o) { ); } -core.List> buildUnnamed428() => [ - buildUnnamed427(), - buildUnnamed427(), +core.List> buildUnnamed440() => [ + buildUnnamed439(), + buildUnnamed439(), ]; -void checkUnnamed428(core.List> o) { +void checkUnnamed440(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed427(o[0]); - checkUnnamed427(o[1]); + checkUnnamed439(o[0]); + checkUnnamed439(o[1]); } core.int buildCounterGoogleRpcStatus = 0; @@ -32393,7 +33288,7 @@ api.GoogleRpcStatus buildGoogleRpcStatus() { buildCounterGoogleRpcStatus++; if (buildCounterGoogleRpcStatus < 3) { o.code = 42; - o.details = buildUnnamed428(); + o.details = buildUnnamed440(); o.message = 'foo'; } buildCounterGoogleRpcStatus--; @@ -32407,7 +33302,7 @@ void checkGoogleRpcStatus(api.GoogleRpcStatus o) { o.code!, unittest.equals(42), ); - checkUnnamed428(o.details!); + checkUnnamed440(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -32512,6 +33407,33 @@ void checkGoogleTypeInterval(api.GoogleTypeInterval o) { buildCounterGoogleTypeInterval--; } +core.int buildCounterGoogleTypeLatLng = 0; +api.GoogleTypeLatLng buildGoogleTypeLatLng() { + final o = api.GoogleTypeLatLng(); + buildCounterGoogleTypeLatLng++; + if (buildCounterGoogleTypeLatLng < 3) { + o.latitude = 42.0; + o.longitude = 42.0; + } + buildCounterGoogleTypeLatLng--; + return o; +} + +void checkGoogleTypeLatLng(api.GoogleTypeLatLng o) { + buildCounterGoogleTypeLatLng++; + if (buildCounterGoogleTypeLatLng < 3) { + unittest.expect( + o.latitude!, + unittest.equals(42.0), + ); + unittest.expect( + o.longitude!, + unittest.equals(42.0), + ); + } + buildCounterGoogleTypeLatLng--; +} + core.int buildCounterGoogleTypeMoney = 0; api.GoogleTypeMoney buildGoogleTypeMoney() { final o = api.GoogleTypeMoney(); @@ -32544,12 +33466,12 @@ void checkGoogleTypeMoney(api.GoogleTypeMoney o) { buildCounterGoogleTypeMoney--; } -core.List buildUnnamed429() => [ +core.List buildUnnamed441() => [ 'foo', 'foo', ]; -void checkUnnamed429(core.List o) { +void checkUnnamed441(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -32561,12 +33483,12 @@ void checkUnnamed429(core.List o) { ); } -core.List buildUnnamed430() => [ +core.List buildUnnamed442() => [ 'foo', 'foo', ]; -void checkUnnamed430(core.List o) { +void checkUnnamed442(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -32578,12 +33500,12 @@ void checkUnnamed430(core.List o) { ); } -core.List buildUnnamed431() => [ +core.List buildUnnamed443() => [ 'foo', 'foo', ]; -void checkUnnamed431(core.List o) { +void checkUnnamed443(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -32595,12 +33517,12 @@ void checkUnnamed431(core.List o) { ); } -core.List buildUnnamed432() => [ +core.List buildUnnamed444() => [ 'foo', 'foo', ]; -void checkUnnamed432(core.List o) { +void checkUnnamed444(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -32612,12 +33534,12 @@ void checkUnnamed432(core.List o) { ); } -core.List buildUnnamed433() => [ +core.List buildUnnamed445() => [ 'foo', 'foo', ]; -void checkUnnamed433(core.List o) { +void checkUnnamed445(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -32629,12 +33551,12 @@ void checkUnnamed433(core.List o) { ); } -core.List buildUnnamed434() => [ +core.List buildUnnamed446() => [ 'foo', 'foo', ]; -void checkUnnamed434(core.List o) { +void checkUnnamed446(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -32646,12 +33568,12 @@ void checkUnnamed434(core.List o) { ); } -core.List buildUnnamed435() => [ +core.List buildUnnamed447() => [ 'foo', 'foo', ]; -void checkUnnamed435(core.List o) { +void checkUnnamed447(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -32663,12 +33585,12 @@ void checkUnnamed435(core.List o) { ); } -core.List buildUnnamed436() => [ +core.List buildUnnamed448() => [ 'foo', 'foo', ]; -void checkUnnamed436(core.List o) { +void checkUnnamed448(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -32680,12 +33602,12 @@ void checkUnnamed436(core.List o) { ); } -core.List buildUnnamed437() => [ +core.List buildUnnamed449() => [ 'foo', 'foo', ]; -void checkUnnamed437(core.List o) { +void checkUnnamed449(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -32914,6 +33836,16 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudAiplatformV1AutoraterConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudAiplatformV1AutoraterConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudAiplatformV1AutoraterConfig.fromJson( + oJson as core.Map); + checkGoogleCloudAiplatformV1AutoraterConfig(od); + }); + }); + unittest.group('obj-schema-GoogleCloudAiplatformV1AutoscalingMetricSpec', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudAiplatformV1AutoscalingMetricSpec(); @@ -33476,6 +34408,16 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudAiplatformV1CodeExecutionResult', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudAiplatformV1CodeExecutionResult(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudAiplatformV1CodeExecutionResult.fromJson( + oJson as core.Map); + checkGoogleCloudAiplatformV1CodeExecutionResult(od); + }); + }); + unittest.group('obj-schema-GoogleCloudAiplatformV1CoherenceInput', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudAiplatformV1CoherenceInput(); @@ -34144,6 +35086,16 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudAiplatformV1EnterpriseWebSearch', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudAiplatformV1EnterpriseWebSearch(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudAiplatformV1EnterpriseWebSearch.fromJson( + oJson as core.Map); + checkGoogleCloudAiplatformV1EnterpriseWebSearch(od); + }); + }); + unittest.group('obj-schema-GoogleCloudAiplatformV1EntityIdSelector', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudAiplatformV1EntityIdSelector(); @@ -34199,6 +35151,17 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudAiplatformV1EvaluateDatasetRequest', + () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudAiplatformV1EvaluateDatasetRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudAiplatformV1EvaluateDatasetRequest.fromJson( + oJson as core.Map); + checkGoogleCloudAiplatformV1EvaluateDatasetRequest(od); + }); + }); + unittest.group('obj-schema-GoogleCloudAiplatformV1EvaluateInstancesRequest', () { unittest.test('to-json--from-json', () async { @@ -34243,6 +35206,16 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudAiplatformV1EvaluationDataset', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudAiplatformV1EvaluationDataset(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudAiplatformV1EvaluationDataset.fromJson( + oJson as core.Map); + checkGoogleCloudAiplatformV1EvaluationDataset(od); + }); + }); + unittest.group('obj-schema-GoogleCloudAiplatformV1Event', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudAiplatformV1Event(); @@ -34346,6 +35319,16 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudAiplatformV1ExecutableCode', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudAiplatformV1ExecutableCode(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudAiplatformV1ExecutableCode.fromJson( + oJson as core.Map); + checkGoogleCloudAiplatformV1ExecutableCode(od); + }); + }); + unittest.group('obj-schema-GoogleCloudAiplatformV1Execution', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudAiplatformV1Execution(); @@ -35426,6 +36409,31 @@ void main() { }); }); + unittest.group( + 'obj-schema-GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig.fromJson( + oJson as core.Map); + checkGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig(od); + }); + }); + + unittest.group( + 'obj-schema-GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig', + () { + unittest.test('to-json--from-json', () async { + final o = + buildGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig + .fromJson(oJson as core.Map); + checkGoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig(od); + }); + }); + unittest.group('obj-schema-GoogleCloudAiplatformV1GenerateContentRequest', () { unittest.test('to-json--from-json', () async { @@ -36244,6 +37252,19 @@ void main() { }); }); + unittest.group( + 'obj-schema-GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse', + () { + unittest.test('to-json--from-json', () async { + final o = + buildGoogleCloudAiplatformV1ListModelVersionCheckpointsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse + .fromJson(oJson as core.Map); + checkGoogleCloudAiplatformV1ListModelVersionCheckpointsResponse(od); + }); + }); + unittest.group('obj-schema-GoogleCloudAiplatformV1ListModelVersionsResponse', () { unittest.test('to-json--from-json', () async { @@ -36668,6 +37689,16 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudAiplatformV1Metric', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudAiplatformV1Metric(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudAiplatformV1Metric.fromJson( + oJson as core.Map); + checkGoogleCloudAiplatformV1Metric(od); + }); + }); + unittest.group('obj-schema-GoogleCloudAiplatformV1MetricxInput', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudAiplatformV1MetricxInput(); @@ -36871,6 +37902,16 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudAiplatformV1ModalityTokenCount', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudAiplatformV1ModalityTokenCount(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudAiplatformV1ModalityTokenCount.fromJson( + oJson as core.Map); + checkGoogleCloudAiplatformV1ModalityTokenCount(od); + }); + }); + unittest.group('obj-schema-GoogleCloudAiplatformV1Model', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudAiplatformV1Model(); @@ -37273,6 +38314,17 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudAiplatformV1ModelVersionCheckpoint', + () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudAiplatformV1ModelVersionCheckpoint(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudAiplatformV1ModelVersionCheckpoint.fromJson( + oJson as core.Map); + checkGoogleCloudAiplatformV1ModelVersionCheckpoint(od); + }); + }); + unittest.group('obj-schema-GoogleCloudAiplatformV1MutateDeployedModelRequest', () { unittest.test('to-json--from-json', () async { @@ -37647,6 +38699,27 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudAiplatformV1NotebookSoftwareConfig', + () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudAiplatformV1NotebookSoftwareConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudAiplatformV1NotebookSoftwareConfig.fromJson( + oJson as core.Map); + checkGoogleCloudAiplatformV1NotebookSoftwareConfig(od); + }); + }); + + unittest.group('obj-schema-GoogleCloudAiplatformV1OutputConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudAiplatformV1OutputConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudAiplatformV1OutputConfig.fromJson( + oJson as core.Map); + checkGoogleCloudAiplatformV1OutputConfig(od); + }); + }); + unittest.group('obj-schema-GoogleCloudAiplatformV1PSCAutomationConfig', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudAiplatformV1PSCAutomationConfig(); @@ -38039,6 +39112,17 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudAiplatformV1PostStartupScriptConfig', + () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudAiplatformV1PostStartupScriptConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudAiplatformV1PostStartupScriptConfig.fromJson( + oJson as core.Map); + checkGoogleCloudAiplatformV1PostStartupScriptConfig(od); + }); + }); + unittest.group('obj-schema-GoogleCloudAiplatformV1PrebuiltVoiceConfig', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudAiplatformV1PrebuiltVoiceConfig(); @@ -39066,6 +40150,19 @@ void main() { }); }); + unittest.group( + 'obj-schema-GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec', + () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec.fromJson( + oJson as core.Map); + checkGoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec(od); + }); + }); + unittest.group( 'obj-schema-GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec', () { unittest.test('to-json--from-json', () async { @@ -39243,6 +40340,16 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudAiplatformV1RetrievalConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudAiplatformV1RetrievalConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudAiplatformV1RetrievalConfig.fromJson( + oJson as core.Map); + checkGoogleCloudAiplatformV1RetrievalConfig(od); + }); + }); + unittest.group('obj-schema-GoogleCloudAiplatformV1RetrievalMetadata', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudAiplatformV1RetrievalMetadata(); @@ -39644,6 +40751,26 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudAiplatformV1SecretEnvVar', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudAiplatformV1SecretEnvVar(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudAiplatformV1SecretEnvVar.fromJson( + oJson as core.Map); + checkGoogleCloudAiplatformV1SecretEnvVar(od); + }); + }); + + unittest.group('obj-schema-GoogleCloudAiplatformV1SecretRef', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudAiplatformV1SecretRef(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudAiplatformV1SecretRef.fromJson( + oJson as core.Map); + checkGoogleCloudAiplatformV1SecretRef(od); + }); + }); + unittest.group('obj-schema-GoogleCloudAiplatformV1Segment', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudAiplatformV1Segment(); @@ -39751,6 +40878,46 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudAiplatformV1SpeculativeDecodingSpec', + () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudAiplatformV1SpeculativeDecodingSpec(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudAiplatformV1SpeculativeDecodingSpec.fromJson( + oJson as core.Map); + checkGoogleCloudAiplatformV1SpeculativeDecodingSpec(od); + }); + }); + + unittest.group( + 'obj-schema-GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation', + () { + unittest.test('to-json--from-json', () async { + final o = + buildGoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation + .fromJson(oJson as core.Map); + checkGoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation( + od); + }); + }); + + unittest.group( + 'obj-schema-GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation', + () { + unittest.test('to-json--from-json', () async { + final o = + buildGoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation + .fromJson(oJson as core.Map); + checkGoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation(od); + }); + }); + unittest.group('obj-schema-GoogleCloudAiplatformV1SpeechConfig', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudAiplatformV1SpeechConfig(); @@ -40583,6 +41750,16 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudAiplatformV1ToolCodeExecution', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudAiplatformV1ToolCodeExecution(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudAiplatformV1ToolCodeExecution.fromJson( + oJson as core.Map); + checkGoogleCloudAiplatformV1ToolCodeExecution(od); + }); + }); + unittest.group('obj-schema-GoogleCloudAiplatformV1ToolConfig', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudAiplatformV1ToolConfig(); @@ -41656,6 +42833,16 @@ void main() { }); }); + unittest.group('obj-schema-GoogleTypeLatLng', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleTypeLatLng(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleTypeLatLng.fromJson( + oJson as core.Map); + checkGoogleTypeLatLng(od); + }); + }); + unittest.group('obj-schema-GoogleTypeMoney', () { unittest.test('to-json--from-json', () async { final o = buildGoogleTypeMoney(); @@ -42553,6 +43740,66 @@ void main() { response as api.GoogleCloudAiplatformV1GenerateContentResponse); }); + unittest.test('method--predict', () async { + final mock = HttpServerMock(); + final res = api.AiplatformApi(mock).endpoints; + final arg_request = buildGoogleCloudAiplatformV1PredictRequest(); + final arg_endpoint = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleCloudAiplatformV1PredictRequest.fromJson( + json as core.Map); + checkGoogleCloudAiplatformV1PredictRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildGoogleCloudAiplatformV1PredictResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.predict(arg_request, arg_endpoint, $fields: arg_$fields); + checkGoogleCloudAiplatformV1PredictResponse( + response as api.GoogleCloudAiplatformV1PredictResponse); + }); + unittest.test('method--streamGenerateContent', () async { final mock = HttpServerMock(); final res = api.AiplatformApi(mock).endpoints; @@ -42668,24 +43915,83 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json - .encode(buildGoogleCloudAiplatformV1UploadRagFileResponse()); + final resp = convert.json + .encode(buildGoogleCloudAiplatformV1UploadRagFileResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.upload(arg_request, arg_parent, $fields: arg_$fields); + checkGoogleCloudAiplatformV1UploadRagFileResponse( + response as api.GoogleCloudAiplatformV1UploadRagFileResponse); + }); + }); + + unittest.group('resource-ProjectsResource', () { + unittest.test('method--getCacheConfig', () async { + final mock = HttpServerMock(); + final res = api.AiplatformApi(mock).projects; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildGoogleCloudAiplatformV1CacheConfig()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.upload(arg_request, arg_parent, $fields: arg_$fields); - checkGoogleCloudAiplatformV1UploadRagFileResponse( - response as api.GoogleCloudAiplatformV1UploadRagFileResponse); + final response = await res.getCacheConfig(arg_name, $fields: arg_$fields); + checkGoogleCloudAiplatformV1CacheConfig( + response as api.GoogleCloudAiplatformV1CacheConfig); }); - }); - unittest.group('resource-ProjectsResource', () { - unittest.test('method--getCacheConfig', () async { + unittest.test('method--updateCacheConfig', () async { final mock = HttpServerMock(); final res = api.AiplatformApi(mock).projects; + final arg_request = buildGoogleCloudAiplatformV1CacheConfig(); final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleCloudAiplatformV1CacheConfig.fromJson( + json as core.Map); + checkGoogleCloudAiplatformV1CacheConfig(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -42725,25 +44031,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildGoogleCloudAiplatformV1CacheConfig()); + final resp = convert.json.encode(buildGoogleLongrunningOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getCacheConfig(arg_name, $fields: arg_$fields); - checkGoogleCloudAiplatformV1CacheConfig( - response as api.GoogleCloudAiplatformV1CacheConfig); + final response = await res.updateCacheConfig(arg_request, arg_name, + $fields: arg_$fields); + checkGoogleLongrunningOperation( + response as api.GoogleLongrunningOperation); }); + }); - unittest.test('method--updateCacheConfig', () async { + unittest.group('resource-ProjectsLocationsResource', () { + unittest.test('method--augmentPrompt', () async { final mock = HttpServerMock(); - final res = api.AiplatformApi(mock).projects; - final arg_request = buildGoogleCloudAiplatformV1CacheConfig(); - final arg_name = 'foo'; + final res = api.AiplatformApi(mock).projects.locations; + final arg_request = buildGoogleCloudAiplatformV1AugmentPromptRequest(); + final arg_parent = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudAiplatformV1CacheConfig.fromJson( + final obj = api.GoogleCloudAiplatformV1AugmentPromptRequest.fromJson( json as core.Map); - checkGoogleCloudAiplatformV1CacheConfig(obj); + checkGoogleCloudAiplatformV1AugmentPromptRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -42784,27 +44092,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleLongrunningOperation()); + final resp = convert.json + .encode(buildGoogleCloudAiplatformV1AugmentPromptResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.updateCacheConfig(arg_request, arg_name, + final response = await res.augmentPrompt(arg_request, arg_parent, $fields: arg_$fields); - checkGoogleLongrunningOperation( - response as api.GoogleLongrunningOperation); + checkGoogleCloudAiplatformV1AugmentPromptResponse( + response as api.GoogleCloudAiplatformV1AugmentPromptResponse); }); - }); - unittest.group('resource-ProjectsLocationsResource', () { - unittest.test('method--augmentPrompt', () async { + unittest.test('method--corroborateContent', () async { final mock = HttpServerMock(); final res = api.AiplatformApi(mock).projects.locations; - final arg_request = buildGoogleCloudAiplatformV1AugmentPromptRequest(); + final arg_request = + buildGoogleCloudAiplatformV1CorroborateContentRequest(); final arg_parent = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudAiplatformV1AugmentPromptRequest.fromJson( - json as core.Map); - checkGoogleCloudAiplatformV1AugmentPromptRequest(obj); + final obj = + api.GoogleCloudAiplatformV1CorroborateContentRequest.fromJson( + json as core.Map); + checkGoogleCloudAiplatformV1CorroborateContentRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -42846,27 +44155,25 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = convert.json - .encode(buildGoogleCloudAiplatformV1AugmentPromptResponse()); + .encode(buildGoogleCloudAiplatformV1CorroborateContentResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.augmentPrompt(arg_request, arg_parent, + final response = await res.corroborateContent(arg_request, arg_parent, $fields: arg_$fields); - checkGoogleCloudAiplatformV1AugmentPromptResponse( - response as api.GoogleCloudAiplatformV1AugmentPromptResponse); + checkGoogleCloudAiplatformV1CorroborateContentResponse( + response as api.GoogleCloudAiplatformV1CorroborateContentResponse); }); - unittest.test('method--corroborateContent', () async { + unittest.test('method--evaluateDataset', () async { final mock = HttpServerMock(); final res = api.AiplatformApi(mock).projects.locations; - final arg_request = - buildGoogleCloudAiplatformV1CorroborateContentRequest(); - final arg_parent = 'foo'; + final arg_request = buildGoogleCloudAiplatformV1EvaluateDatasetRequest(); + final arg_location = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.GoogleCloudAiplatformV1CorroborateContentRequest.fromJson( - json as core.Map); - checkGoogleCloudAiplatformV1CorroborateContentRequest(obj); + final obj = api.GoogleCloudAiplatformV1EvaluateDatasetRequest.fromJson( + json as core.Map); + checkGoogleCloudAiplatformV1EvaluateDatasetRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -42907,14 +44214,13 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json - .encode(buildGoogleCloudAiplatformV1CorroborateContentResponse()); + final resp = convert.json.encode(buildGoogleLongrunningOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.corroborateContent(arg_request, arg_parent, + final response = await res.evaluateDataset(arg_request, arg_location, $fields: arg_$fields); - checkGoogleCloudAiplatformV1CorroborateContentResponse( - response as api.GoogleCloudAiplatformV1CorroborateContentResponse); + checkGoogleLongrunningOperation( + response as api.GoogleLongrunningOperation); }); unittest.test('method--evaluateInstances', () async { @@ -45450,7 +46756,7 @@ void main() { final mock = HttpServerMock(); final res = api.AiplatformApi(mock).projects.locations.datasets; final arg_dataset = 'foo'; - final arg_annotationFilters = buildUnnamed429(); + final arg_annotationFilters = buildUnnamed441(); final arg_annotationsFilter = 'foo'; final arg_annotationsLimit = 42; final arg_dataItemFilter = 'foo'; @@ -51977,7 +53283,7 @@ void main() { final res = api.AiplatformApi(mock).projects.locations.featureOnlineStores; final arg_resource = 'foo'; - final arg_permissions = buildUnnamed430(); + final arg_permissions = buildUnnamed442(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -52708,7 +54014,7 @@ void main() { .featureOnlineStores .featureViews; final arg_resource = 'foo'; - final arg_permissions = buildUnnamed431(); + final arg_permissions = buildUnnamed443(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -54012,7 +55318,7 @@ void main() { final mock = HttpServerMock(); final res = api.AiplatformApi(mock).projects.locations.featurestores; final arg_resource = 'foo'; - final arg_permissions = buildUnnamed432(); + final arg_permissions = buildUnnamed444(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -54842,7 +56148,7 @@ void main() { final res = api.AiplatformApi(mock).projects.locations.featurestores.entityTypes; final arg_resource = 'foo'; - final arg_permissions = buildUnnamed433(); + final arg_permissions = buildUnnamed445(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -63242,12 +64548,177 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); final response = - await res.copy(arg_request, arg_parent, $fields: arg_$fields); + await res.copy(arg_request, arg_parent, $fields: arg_$fields); + checkGoogleLongrunningOperation( + response as api.GoogleLongrunningOperation); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = api.AiplatformApi(mock).projects.locations.models; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGoogleLongrunningOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete(arg_name, $fields: arg_$fields); + checkGoogleLongrunningOperation( + response as api.GoogleLongrunningOperation); + }); + + unittest.test('method--deleteVersion', () async { + final mock = HttpServerMock(); + final res = api.AiplatformApi(mock).projects.locations.models; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGoogleLongrunningOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.deleteVersion(arg_name, $fields: arg_$fields); + checkGoogleLongrunningOperation( + response as api.GoogleLongrunningOperation); + }); + + unittest.test('method--export', () async { + final mock = HttpServerMock(); + final res = api.AiplatformApi(mock).projects.locations.models; + final arg_request = buildGoogleCloudAiplatformV1ExportModelRequest(); + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleCloudAiplatformV1ExportModelRequest.fromJson( + json as core.Map); + checkGoogleCloudAiplatformV1ExportModelRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGoogleLongrunningOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.export(arg_request, arg_name, $fields: arg_$fields); checkGoogleLongrunningOperation( response as api.GoogleLongrunningOperation); }); - unittest.test('method--delete', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); final res = api.AiplatformApi(mock).projects.locations.models; final arg_name = 'foo'; @@ -63292,18 +64763,19 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleLongrunningOperation()); + final resp = convert.json.encode(buildGoogleCloudAiplatformV1Model()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_name, $fields: arg_$fields); - checkGoogleLongrunningOperation( - response as api.GoogleLongrunningOperation); + final response = await res.get(arg_name, $fields: arg_$fields); + checkGoogleCloudAiplatformV1Model( + response as api.GoogleCloudAiplatformV1Model); }); - unittest.test('method--deleteVersion', () async { + unittest.test('method--getIamPolicy', () async { final mock = HttpServerMock(); final res = api.AiplatformApi(mock).projects.locations.models; - final arg_name = 'foo'; + final arg_resource = 'foo'; + final arg_options_requestedPolicyVersion = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -63338,63 +64810,9 @@ void main() { } } unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildGoogleLongrunningOperation()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.deleteVersion(arg_name, $fields: arg_$fields); - checkGoogleLongrunningOperation( - response as api.GoogleLongrunningOperation); - }); - - unittest.test('method--export', () async { - final mock = HttpServerMock(); - final res = api.AiplatformApi(mock).projects.locations.models; - final arg_request = buildGoogleCloudAiplatformV1ExportModelRequest(); - final arg_name = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudAiplatformV1ExportModelRequest.fromJson( - json as core.Map); - checkGoogleCloudAiplatformV1ExportModelRequest(obj); - - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), + core.int.parse(queryMap['options.requestedPolicyVersion']!.first), + unittest.equals(arg_options_requestedPolicyVersion), ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 3), - unittest.equals('v1/'), - ); - pathOffset += 3; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -63403,19 +64821,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleLongrunningOperation()); + final resp = convert.json.encode(buildGoogleIamV1Policy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.export(arg_request, arg_name, $fields: arg_$fields); - checkGoogleLongrunningOperation( - response as api.GoogleLongrunningOperation); + final response = await res.getIamPolicy(arg_resource, + options_requestedPolicyVersion: arg_options_requestedPolicyVersion, + $fields: arg_$fields); + checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); }); - unittest.test('method--get', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.AiplatformApi(mock).projects.locations.models; - final arg_name = 'foo'; + final arg_parent = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_readMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -63450,62 +64873,24 @@ void main() { } } unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), + queryMap['filter']!.first, + unittest.equals(arg_filter), ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildGoogleCloudAiplatformV1Model()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.get(arg_name, $fields: arg_$fields); - checkGoogleCloudAiplatformV1Model( - response as api.GoogleCloudAiplatformV1Model); - }); - - unittest.test('method--getIamPolicy', () async { - final mock = HttpServerMock(); - final res = api.AiplatformApi(mock).projects.locations.models; - final arg_resource = 'foo'; - final arg_options_requestedPolicyVersion = 42; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), ); - pathOffset += 1; unittest.expect( - path.substring(pathOffset, pathOffset + 3), - unittest.equals('v1/'), + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), ); - pathOffset += 3; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } unittest.expect( - core.int.parse(queryMap['options.requestedPolicyVersion']!.first), - unittest.equals(arg_options_requestedPolicyVersion), + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['readMask']!.first, + unittest.equals(arg_readMask), ); unittest.expect( queryMap['fields']!.first, @@ -63515,24 +64900,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleIamV1Policy()); + final resp = convert.json + .encode(buildGoogleCloudAiplatformV1ListModelsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getIamPolicy(arg_resource, - options_requestedPolicyVersion: arg_options_requestedPolicyVersion, + final response = await res.list(arg_parent, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + readMask: arg_readMask, $fields: arg_$fields); - checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); + checkGoogleCloudAiplatformV1ListModelsResponse( + response as api.GoogleCloudAiplatformV1ListModelsResponse); }); - unittest.test('method--list', () async { + unittest.test('method--listCheckpoints', () async { final mock = HttpServerMock(); final res = api.AiplatformApi(mock).projects.locations.models; - final arg_parent = 'foo'; - final arg_filter = 'foo'; - final arg_orderBy = 'foo'; + final arg_name = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; - final arg_readMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -63566,14 +64954,6 @@ void main() { ); } } - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); unittest.expect( core.int.parse(queryMap['pageSize']!.first), unittest.equals(arg_pageSize), @@ -63582,10 +64962,6 @@ void main() { queryMap['pageToken']!.first, unittest.equals(arg_pageToken), ); - unittest.expect( - queryMap['readMask']!.first, - unittest.equals(arg_readMask), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -63594,19 +64970,16 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json - .encode(buildGoogleCloudAiplatformV1ListModelsResponse()); + final resp = convert.json.encode( + buildGoogleCloudAiplatformV1ListModelVersionCheckpointsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_parent, - filter: arg_filter, - orderBy: arg_orderBy, + final response = await res.listCheckpoints(arg_name, pageSize: arg_pageSize, pageToken: arg_pageToken, - readMask: arg_readMask, $fields: arg_$fields); - checkGoogleCloudAiplatformV1ListModelsResponse( - response as api.GoogleCloudAiplatformV1ListModelsResponse); + checkGoogleCloudAiplatformV1ListModelVersionCheckpointsResponse(response + as api.GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse); }); unittest.test('method--listVersions', () async { @@ -63881,7 +65254,7 @@ void main() { final mock = HttpServerMock(); final res = api.AiplatformApi(mock).projects.locations.models; final arg_resource = 'foo'; - final arg_permissions = buildUnnamed434(); + final arg_permissions = buildUnnamed446(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -66530,7 +67903,7 @@ void main() { final res = api.AiplatformApi(mock).projects.locations.notebookRuntimeTemplates; final arg_resource = 'foo'; - final arg_permissions = buildUnnamed435(); + final arg_permissions = buildUnnamed447(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -74666,7 +76039,7 @@ void main() { final mock = HttpServerMock(); final res = api.AiplatformApi(mock).projects.locations.tensorboards; final arg_tensorboard = 'foo'; - final arg_timeSeries = buildUnnamed436(); + final arg_timeSeries = buildUnnamed448(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -77242,7 +78615,7 @@ void main() { .runs .timeSeries; final arg_timeSeries = 'foo'; - final arg_blobIds = buildUnnamed437(); + final arg_blobIds = buildUnnamed449(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -79346,6 +80719,66 @@ void main() { response as api.GoogleCloudAiplatformV1PublisherModel); }); + unittest.test('method--predict', () async { + final mock = HttpServerMock(); + final res = api.AiplatformApi(mock).publishers.models; + final arg_request = buildGoogleCloudAiplatformV1PredictRequest(); + final arg_endpoint = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleCloudAiplatformV1PredictRequest.fromJson( + json as core.Map); + checkGoogleCloudAiplatformV1PredictRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildGoogleCloudAiplatformV1PredictResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.predict(arg_request, arg_endpoint, $fields: arg_$fields); + checkGoogleCloudAiplatformV1PredictResponse( + response as api.GoogleCloudAiplatformV1PredictResponse); + }); + unittest.test('method--streamGenerateContent', () async { final mock = HttpServerMock(); final res = api.AiplatformApi(mock).publishers.models; diff --git a/generated/googleapis/test/alloydb/v1_test.dart b/generated/googleapis/test/alloydb/v1_test.dart index a4a91d4ac..22a468f3a 100644 --- a/generated/googleapis/test/alloydb/v1_test.dart +++ b/generated/googleapis/test/alloydb/v1_test.dart @@ -326,6 +326,38 @@ void checkClientConnectionConfig(api.ClientConnectionConfig o) { buildCounterClientConnectionConfig--; } +core.int buildCounterCloudSQLBackupRunSource = 0; +api.CloudSQLBackupRunSource buildCloudSQLBackupRunSource() { + final o = api.CloudSQLBackupRunSource(); + buildCounterCloudSQLBackupRunSource++; + if (buildCounterCloudSQLBackupRunSource < 3) { + o.backupRunId = 'foo'; + o.instanceId = 'foo'; + o.project = 'foo'; + } + buildCounterCloudSQLBackupRunSource--; + return o; +} + +void checkCloudSQLBackupRunSource(api.CloudSQLBackupRunSource o) { + buildCounterCloudSQLBackupRunSource++; + if (buildCounterCloudSQLBackupRunSource < 3) { + unittest.expect( + o.backupRunId!, + unittest.equals('foo'), + ); + unittest.expect( + o.instanceId!, + unittest.equals('foo'), + ); + unittest.expect( + o.project!, + unittest.equals('foo'), + ); + } + buildCounterCloudSQLBackupRunSource--; +} + core.Map buildUnnamed4() => { 'x': 'foo', 'y': 'foo', @@ -385,6 +417,7 @@ api.Cluster buildCluster() { o.annotations = buildUnnamed4(); o.automatedBackupPolicy = buildAutomatedBackupPolicy(); o.backupSource = buildBackupSource(); + o.cloudsqlBackupRunSource = buildCloudSQLBackupRunSource(); o.clusterType = 'foo'; o.continuousBackupConfig = buildContinuousBackupConfig(); o.continuousBackupInfo = buildContinuousBackupInfo(); @@ -426,6 +459,7 @@ void checkCluster(api.Cluster o) { checkUnnamed4(o.annotations!); checkAutomatedBackupPolicy(o.automatedBackupPolicy!); checkBackupSource(o.backupSource!); + checkCloudSQLBackupRunSource(o.cloudsqlBackupRunSource!); unittest.expect( o.clusterType!, unittest.equals('foo'), @@ -671,6 +705,62 @@ void checkCsvExportOptions(api.CsvExportOptions o) { buildCounterCsvExportOptions--; } +core.List buildUnnamed8() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed8(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterCsvImportOptions = 0; +api.CsvImportOptions buildCsvImportOptions() { + final o = api.CsvImportOptions(); + buildCounterCsvImportOptions++; + if (buildCounterCsvImportOptions < 3) { + o.columns = buildUnnamed8(); + o.escapeCharacter = 'foo'; + o.fieldDelimiter = 'foo'; + o.quoteCharacter = 'foo'; + o.table = 'foo'; + } + buildCounterCsvImportOptions--; + return o; +} + +void checkCsvImportOptions(api.CsvImportOptions o) { + buildCounterCsvImportOptions++; + if (buildCounterCsvImportOptions < 3) { + checkUnnamed8(o.columns!); + unittest.expect( + o.escapeCharacter!, + unittest.equals('foo'), + ); + unittest.expect( + o.fieldDelimiter!, + unittest.equals('foo'), + ); + unittest.expect( + o.quoteCharacter!, + unittest.equals('foo'), + ); + unittest.expect( + o.table!, + unittest.equals('foo'), + ); + } + buildCounterCsvImportOptions--; +} + core.int buildCounterEmpty = 0; api.Empty buildEmpty() { final o = api.Empty(); @@ -708,12 +798,12 @@ void checkEncryptionConfig(api.EncryptionConfig o) { buildCounterEncryptionConfig--; } -core.List buildUnnamed8() => [ +core.List buildUnnamed9() => [ 'foo', 'foo', ]; -void checkUnnamed8(core.List o) { +void checkUnnamed9(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -731,7 +821,7 @@ api.EncryptionInfo buildEncryptionInfo() { buildCounterEncryptionInfo++; if (buildCounterEncryptionInfo < 3) { o.encryptionType = 'foo'; - o.kmsKeyVersions = buildUnnamed8(); + o.kmsKeyVersions = buildUnnamed9(); } buildCounterEncryptionInfo--; return o; @@ -744,7 +834,7 @@ void checkEncryptionInfo(api.EncryptionInfo o) { o.encryptionType!, unittest.equals('foo'), ); - checkUnnamed8(o.kmsKeyVersions!); + checkUnnamed9(o.kmsKeyVersions!); } buildCounterEncryptionInfo--; } @@ -823,12 +913,12 @@ void checkGcsDestination(api.GcsDestination o) { buildCounterGcsDestination--; } -core.List buildUnnamed9() => [ +core.List buildUnnamed10() => [ buildGoogleCloudLocationLocation(), buildGoogleCloudLocationLocation(), ]; -void checkUnnamed9(core.List o) { +void checkUnnamed10(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudLocationLocation(o[0]); checkGoogleCloudLocationLocation(o[1]); @@ -840,7 +930,7 @@ api.GoogleCloudLocationListLocationsResponse final o = api.GoogleCloudLocationListLocationsResponse(); buildCounterGoogleCloudLocationListLocationsResponse++; if (buildCounterGoogleCloudLocationListLocationsResponse < 3) { - o.locations = buildUnnamed9(); + o.locations = buildUnnamed10(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudLocationListLocationsResponse--; @@ -851,7 +941,7 @@ void checkGoogleCloudLocationListLocationsResponse( api.GoogleCloudLocationListLocationsResponse o) { buildCounterGoogleCloudLocationListLocationsResponse++; if (buildCounterGoogleCloudLocationListLocationsResponse < 3) { - checkUnnamed9(o.locations!); + checkUnnamed10(o.locations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -860,12 +950,12 @@ void checkGoogleCloudLocationListLocationsResponse( buildCounterGoogleCloudLocationListLocationsResponse--; } -core.Map buildUnnamed10() => { +core.Map buildUnnamed11() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed10(core.Map o) { +void checkUnnamed11(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -877,7 +967,7 @@ void checkUnnamed10(core.Map o) { ); } -core.Map buildUnnamed11() => { +core.Map buildUnnamed12() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -890,7 +980,7 @@ core.Map buildUnnamed11() => { }, }; -void checkUnnamed11(core.Map o) { +void checkUnnamed12(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -928,9 +1018,9 @@ api.GoogleCloudLocationLocation buildGoogleCloudLocationLocation() { buildCounterGoogleCloudLocationLocation++; if (buildCounterGoogleCloudLocationLocation < 3) { o.displayName = 'foo'; - o.labels = buildUnnamed10(); + o.labels = buildUnnamed11(); o.locationId = 'foo'; - o.metadata = buildUnnamed11(); + o.metadata = buildUnnamed12(); o.name = 'foo'; } buildCounterGoogleCloudLocationLocation--; @@ -944,12 +1034,12 @@ void checkGoogleCloudLocationLocation(api.GoogleCloudLocationLocation o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed10(o.labels!); + checkUnnamed11(o.labels!); unittest.expect( o.locationId!, unittest.equals('foo'), ); - checkUnnamed11(o.metadata!); + checkUnnamed12(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), @@ -995,6 +1085,42 @@ void checkGoogleTypeTimeOfDay(api.GoogleTypeTimeOfDay o) { buildCounterGoogleTypeTimeOfDay--; } +core.int buildCounterImportClusterRequest = 0; +api.ImportClusterRequest buildImportClusterRequest() { + final o = api.ImportClusterRequest(); + buildCounterImportClusterRequest++; + if (buildCounterImportClusterRequest < 3) { + o.csvImportOptions = buildCsvImportOptions(); + o.database = 'foo'; + o.gcsUri = 'foo'; + o.sqlImportOptions = buildSqlImportOptions(); + o.user = 'foo'; + } + buildCounterImportClusterRequest--; + return o; +} + +void checkImportClusterRequest(api.ImportClusterRequest o) { + buildCounterImportClusterRequest++; + if (buildCounterImportClusterRequest < 3) { + checkCsvImportOptions(o.csvImportOptions!); + unittest.expect( + o.database!, + unittest.equals('foo'), + ); + unittest.expect( + o.gcsUri!, + unittest.equals('foo'), + ); + checkSqlImportOptions(o.sqlImportOptions!); + unittest.expect( + o.user!, + unittest.equals('foo'), + ); + } + buildCounterImportClusterRequest--; +} + core.int buildCounterInjectFaultRequest = 0; api.InjectFaultRequest buildInjectFaultRequest() { final o = api.InjectFaultRequest(); @@ -1024,12 +1150,12 @@ void checkInjectFaultRequest(api.InjectFaultRequest o) { buildCounterInjectFaultRequest--; } -core.Map buildUnnamed12() => { +core.Map buildUnnamed13() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed12(core.Map o) { +void checkUnnamed13(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1041,12 +1167,12 @@ void checkUnnamed12(core.Map o) { ); } -core.Map buildUnnamed13() => { +core.Map buildUnnamed14() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed13(core.Map o) { +void checkUnnamed14(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1058,12 +1184,12 @@ void checkUnnamed13(core.Map o) { ); } -core.Map buildUnnamed14() => { +core.Map buildUnnamed15() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed14(core.Map o) { +void checkUnnamed15(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1075,23 +1201,23 @@ void checkUnnamed14(core.Map o) { ); } -core.List buildUnnamed15() => [ +core.List buildUnnamed16() => [ buildNode(), buildNode(), ]; -void checkUnnamed15(core.List o) { +void checkUnnamed16(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNode(o[0]); checkNode(o[1]); } -core.List buildUnnamed16() => [ +core.List buildUnnamed17() => [ 'foo', 'foo', ]; -void checkUnnamed16(core.List o) { +void checkUnnamed17(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1108,23 +1234,24 @@ api.Instance buildInstance() { final o = api.Instance(); buildCounterInstance++; if (buildCounterInstance < 3) { - o.annotations = buildUnnamed12(); + o.annotations = buildUnnamed13(); o.availabilityType = 'foo'; o.clientConnectionConfig = buildClientConnectionConfig(); o.createTime = 'foo'; - o.databaseFlags = buildUnnamed13(); + o.databaseFlags = buildUnnamed14(); o.deleteTime = 'foo'; o.displayName = 'foo'; o.etag = 'foo'; o.gceZone = 'foo'; o.instanceType = 'foo'; o.ipAddress = 'foo'; - o.labels = buildUnnamed14(); + o.labels = buildUnnamed15(); o.machineConfig = buildMachineConfig(); o.name = 'foo'; o.networkConfig = buildInstanceNetworkConfig(); - o.nodes = buildUnnamed15(); - o.outboundPublicIpAddresses = buildUnnamed16(); + o.nodes = buildUnnamed16(); + o.observabilityConfig = buildObservabilityInstanceConfig(); + o.outboundPublicIpAddresses = buildUnnamed17(); o.pscInstanceConfig = buildPscInstanceConfig(); o.publicIpAddress = 'foo'; o.queryInsightsConfig = buildQueryInsightsInstanceConfig(); @@ -1143,7 +1270,7 @@ api.Instance buildInstance() { void checkInstance(api.Instance o) { buildCounterInstance++; if (buildCounterInstance < 3) { - checkUnnamed12(o.annotations!); + checkUnnamed13(o.annotations!); unittest.expect( o.availabilityType!, unittest.equals('foo'), @@ -1153,7 +1280,7 @@ void checkInstance(api.Instance o) { o.createTime!, unittest.equals('foo'), ); - checkUnnamed13(o.databaseFlags!); + checkUnnamed14(o.databaseFlags!); unittest.expect( o.deleteTime!, unittest.equals('foo'), @@ -1178,15 +1305,16 @@ void checkInstance(api.Instance o) { o.ipAddress!, unittest.equals('foo'), ); - checkUnnamed14(o.labels!); + checkUnnamed15(o.labels!); checkMachineConfig(o.machineConfig!); unittest.expect( o.name!, unittest.equals('foo'), ); checkInstanceNetworkConfig(o.networkConfig!); - checkUnnamed15(o.nodes!); - checkUnnamed16(o.outboundPublicIpAddresses!); + checkUnnamed16(o.nodes!); + checkObservabilityInstanceConfig(o.observabilityConfig!); + checkUnnamed17(o.outboundPublicIpAddresses!); checkPscInstanceConfig(o.pscInstanceConfig!); unittest.expect( o.publicIpAddress!, @@ -1213,12 +1341,12 @@ void checkInstance(api.Instance o) { buildCounterInstance--; } -core.List buildUnnamed17() => [ +core.List buildUnnamed18() => [ buildAuthorizedNetwork(), buildAuthorizedNetwork(), ]; -void checkUnnamed17(core.List o) { +void checkUnnamed18(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuthorizedNetwork(o[0]); checkAuthorizedNetwork(o[1]); @@ -1229,7 +1357,7 @@ api.InstanceNetworkConfig buildInstanceNetworkConfig() { final o = api.InstanceNetworkConfig(); buildCounterInstanceNetworkConfig++; if (buildCounterInstanceNetworkConfig < 3) { - o.authorizedExternalNetworks = buildUnnamed17(); + o.authorizedExternalNetworks = buildUnnamed18(); o.enableOutboundPublicIp = true; o.enablePublicIp = true; } @@ -1240,7 +1368,7 @@ api.InstanceNetworkConfig buildInstanceNetworkConfig() { void checkInstanceNetworkConfig(api.InstanceNetworkConfig o) { buildCounterInstanceNetworkConfig++; if (buildCounterInstanceNetworkConfig < 3) { - checkUnnamed17(o.authorizedExternalNetworks!); + checkUnnamed18(o.authorizedExternalNetworks!); unittest.expect(o.enableOutboundPublicIp!, unittest.isTrue); unittest.expect(o.enablePublicIp!, unittest.isTrue); } @@ -1274,23 +1402,23 @@ void checkIntegerRestrictions(api.IntegerRestrictions o) { buildCounterIntegerRestrictions--; } -core.List buildUnnamed18() => [ +core.List buildUnnamed19() => [ buildBackup(), buildBackup(), ]; -void checkUnnamed18(core.List o) { +void checkUnnamed19(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackup(o[0]); checkBackup(o[1]); } -core.List buildUnnamed19() => [ +core.List buildUnnamed20() => [ 'foo', 'foo', ]; -void checkUnnamed19(core.List o) { +void checkUnnamed20(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1307,9 +1435,9 @@ api.ListBackupsResponse buildListBackupsResponse() { final o = api.ListBackupsResponse(); buildCounterListBackupsResponse++; if (buildCounterListBackupsResponse < 3) { - o.backups = buildUnnamed18(); + o.backups = buildUnnamed19(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed19(); + o.unreachable = buildUnnamed20(); } buildCounterListBackupsResponse--; return o; @@ -1318,33 +1446,33 @@ api.ListBackupsResponse buildListBackupsResponse() { void checkListBackupsResponse(api.ListBackupsResponse o) { buildCounterListBackupsResponse++; if (buildCounterListBackupsResponse < 3) { - checkUnnamed18(o.backups!); + checkUnnamed19(o.backups!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed19(o.unreachable!); + checkUnnamed20(o.unreachable!); } buildCounterListBackupsResponse--; } -core.List buildUnnamed20() => [ +core.List buildUnnamed21() => [ buildCluster(), buildCluster(), ]; -void checkUnnamed20(core.List o) { +void checkUnnamed21(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCluster(o[0]); checkCluster(o[1]); } -core.List buildUnnamed21() => [ +core.List buildUnnamed22() => [ 'foo', 'foo', ]; -void checkUnnamed21(core.List o) { +void checkUnnamed22(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1361,9 +1489,9 @@ api.ListClustersResponse buildListClustersResponse() { final o = api.ListClustersResponse(); buildCounterListClustersResponse++; if (buildCounterListClustersResponse < 3) { - o.clusters = buildUnnamed20(); + o.clusters = buildUnnamed21(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed21(); + o.unreachable = buildUnnamed22(); } buildCounterListClustersResponse--; return o; @@ -1372,33 +1500,33 @@ api.ListClustersResponse buildListClustersResponse() { void checkListClustersResponse(api.ListClustersResponse o) { buildCounterListClustersResponse++; if (buildCounterListClustersResponse < 3) { - checkUnnamed20(o.clusters!); + checkUnnamed21(o.clusters!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed21(o.unreachable!); + checkUnnamed22(o.unreachable!); } buildCounterListClustersResponse--; } -core.List buildUnnamed22() => [ +core.List buildUnnamed23() => [ buildInstance(), buildInstance(), ]; -void checkUnnamed22(core.List o) { +void checkUnnamed23(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstance(o[0]); checkInstance(o[1]); } -core.List buildUnnamed23() => [ +core.List buildUnnamed24() => [ 'foo', 'foo', ]; -void checkUnnamed23(core.List o) { +void checkUnnamed24(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1415,9 +1543,9 @@ api.ListInstancesResponse buildListInstancesResponse() { final o = api.ListInstancesResponse(); buildCounterListInstancesResponse++; if (buildCounterListInstancesResponse < 3) { - o.instances = buildUnnamed22(); + o.instances = buildUnnamed23(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed23(); + o.unreachable = buildUnnamed24(); } buildCounterListInstancesResponse--; return o; @@ -1426,22 +1554,22 @@ api.ListInstancesResponse buildListInstancesResponse() { void checkListInstancesResponse(api.ListInstancesResponse o) { buildCounterListInstancesResponse++; if (buildCounterListInstancesResponse < 3) { - checkUnnamed22(o.instances!); + checkUnnamed23(o.instances!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed23(o.unreachable!); + checkUnnamed24(o.unreachable!); } buildCounterListInstancesResponse--; } -core.List buildUnnamed24() => [ +core.List buildUnnamed25() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed24(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -1453,7 +1581,7 @@ api.ListOperationsResponse buildListOperationsResponse() { buildCounterListOperationsResponse++; if (buildCounterListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed24(); + o.operations = buildUnnamed25(); } buildCounterListOperationsResponse--; return o; @@ -1466,17 +1594,17 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed24(o.operations!); + checkUnnamed25(o.operations!); } buildCounterListOperationsResponse--; } -core.List buildUnnamed25() => [ +core.List buildUnnamed26() => [ buildSupportedDatabaseFlag(), buildSupportedDatabaseFlag(), ]; -void checkUnnamed25(core.List o) { +void checkUnnamed26(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSupportedDatabaseFlag(o[0]); checkSupportedDatabaseFlag(o[1]); @@ -1489,7 +1617,7 @@ api.ListSupportedDatabaseFlagsResponse buildCounterListSupportedDatabaseFlagsResponse++; if (buildCounterListSupportedDatabaseFlagsResponse < 3) { o.nextPageToken = 'foo'; - o.supportedDatabaseFlags = buildUnnamed25(); + o.supportedDatabaseFlags = buildUnnamed26(); } buildCounterListSupportedDatabaseFlagsResponse--; return o; @@ -1503,17 +1631,17 @@ void checkListSupportedDatabaseFlagsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed25(o.supportedDatabaseFlags!); + checkUnnamed26(o.supportedDatabaseFlags!); } buildCounterListSupportedDatabaseFlagsResponse--; } -core.List buildUnnamed26() => [ +core.List buildUnnamed27() => [ 'foo', 'foo', ]; -void checkUnnamed26(core.List o) { +void checkUnnamed27(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1525,12 +1653,12 @@ void checkUnnamed26(core.List o) { ); } -core.List buildUnnamed27() => [ +core.List buildUnnamed28() => [ buildUser(), buildUser(), ]; -void checkUnnamed27(core.List o) { +void checkUnnamed28(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUser(o[0]); checkUser(o[1]); @@ -1542,8 +1670,8 @@ api.ListUsersResponse buildListUsersResponse() { buildCounterListUsersResponse++; if (buildCounterListUsersResponse < 3) { o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed26(); - o.users = buildUnnamed27(); + o.unreachable = buildUnnamed27(); + o.users = buildUnnamed28(); } buildCounterListUsersResponse--; return o; @@ -1556,8 +1684,8 @@ void checkListUsersResponse(api.ListUsersResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed26(o.unreachable!); - checkUnnamed27(o.users!); + checkUnnamed27(o.unreachable!); + checkUnnamed28(o.users!); } buildCounterListUsersResponse--; } @@ -1606,12 +1734,12 @@ void checkMaintenanceSchedule(api.MaintenanceSchedule o) { buildCounterMaintenanceSchedule--; } -core.List buildUnnamed28() => [ +core.List buildUnnamed29() => [ buildMaintenanceWindow(), buildMaintenanceWindow(), ]; -void checkUnnamed28(core.List o) { +void checkUnnamed29(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMaintenanceWindow(o[0]); checkMaintenanceWindow(o[1]); @@ -1622,7 +1750,7 @@ api.MaintenanceUpdatePolicy buildMaintenanceUpdatePolicy() { final o = api.MaintenanceUpdatePolicy(); buildCounterMaintenanceUpdatePolicy++; if (buildCounterMaintenanceUpdatePolicy < 3) { - o.maintenanceWindows = buildUnnamed28(); + o.maintenanceWindows = buildUnnamed29(); } buildCounterMaintenanceUpdatePolicy--; return o; @@ -1631,7 +1759,7 @@ api.MaintenanceUpdatePolicy buildMaintenanceUpdatePolicy() { void checkMaintenanceUpdatePolicy(api.MaintenanceUpdatePolicy o) { buildCounterMaintenanceUpdatePolicy++; if (buildCounterMaintenanceUpdatePolicy < 3) { - checkUnnamed28(o.maintenanceWindows!); + checkUnnamed29(o.maintenanceWindows!); } buildCounterMaintenanceUpdatePolicy--; } @@ -1756,7 +1884,46 @@ void checkNode(api.Node o) { buildCounterNode--; } -core.Map buildUnnamed29() => { +core.int buildCounterObservabilityInstanceConfig = 0; +api.ObservabilityInstanceConfig buildObservabilityInstanceConfig() { + final o = api.ObservabilityInstanceConfig(); + buildCounterObservabilityInstanceConfig++; + if (buildCounterObservabilityInstanceConfig < 3) { + o.enabled = true; + o.maxQueryStringLength = 42; + o.preserveComments = true; + o.queryPlansPerMinute = 42; + o.recordApplicationTags = true; + o.trackActiveQueries = true; + o.trackWaitEventTypes = true; + o.trackWaitEvents = true; + } + buildCounterObservabilityInstanceConfig--; + return o; +} + +void checkObservabilityInstanceConfig(api.ObservabilityInstanceConfig o) { + buildCounterObservabilityInstanceConfig++; + if (buildCounterObservabilityInstanceConfig < 3) { + unittest.expect(o.enabled!, unittest.isTrue); + unittest.expect( + o.maxQueryStringLength!, + unittest.equals(42), + ); + unittest.expect(o.preserveComments!, unittest.isTrue); + unittest.expect( + o.queryPlansPerMinute!, + unittest.equals(42), + ); + unittest.expect(o.recordApplicationTags!, unittest.isTrue); + unittest.expect(o.trackActiveQueries!, unittest.isTrue); + unittest.expect(o.trackWaitEventTypes!, unittest.isTrue); + unittest.expect(o.trackWaitEvents!, unittest.isTrue); + } + buildCounterObservabilityInstanceConfig--; +} + +core.Map buildUnnamed30() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1769,7 +1936,7 @@ core.Map buildUnnamed29() => { }, }; -void checkUnnamed29(core.Map o) { +void checkUnnamed30(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -1801,7 +1968,7 @@ void checkUnnamed29(core.Map o) { ); } -core.Map buildUnnamed30() => { +core.Map buildUnnamed31() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1814,7 +1981,7 @@ core.Map buildUnnamed30() => { }, }; -void checkUnnamed30(core.Map o) { +void checkUnnamed31(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -1853,9 +2020,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed29(); + o.metadata = buildUnnamed30(); o.name = 'foo'; - o.response = buildUnnamed30(); + o.response = buildUnnamed31(); } buildCounterOperation--; return o; @@ -1866,22 +2033,22 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed29(o.metadata!); + checkUnnamed30(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed30(o.response!); + checkUnnamed31(o.response!); } buildCounterOperation--; } -core.List buildUnnamed31() => [ +core.List buildUnnamed32() => [ 'foo', 'foo', ]; -void checkUnnamed31(core.List o) { +void checkUnnamed32(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1898,7 +2065,7 @@ api.PrimaryConfig buildPrimaryConfig() { final o = api.PrimaryConfig(); buildCounterPrimaryConfig++; if (buildCounterPrimaryConfig < 3) { - o.secondaryClusterNames = buildUnnamed31(); + o.secondaryClusterNames = buildUnnamed32(); } buildCounterPrimaryConfig--; return o; @@ -1907,7 +2074,7 @@ api.PrimaryConfig buildPrimaryConfig() { void checkPrimaryConfig(api.PrimaryConfig o) { buildCounterPrimaryConfig++; if (buildCounterPrimaryConfig < 3) { - checkUnnamed31(o.secondaryClusterNames!); + checkUnnamed32(o.secondaryClusterNames!); } buildCounterPrimaryConfig--; } @@ -1941,12 +2108,55 @@ void checkPromoteClusterRequest(api.PromoteClusterRequest o) { buildCounterPromoteClusterRequest--; } +core.int buildCounterPscAutoConnectionConfig = 0; +api.PscAutoConnectionConfig buildPscAutoConnectionConfig() { + final o = api.PscAutoConnectionConfig(); + buildCounterPscAutoConnectionConfig++; + if (buildCounterPscAutoConnectionConfig < 3) { + o.consumerNetwork = 'foo'; + o.consumerNetworkStatus = 'foo'; + o.consumerProject = 'foo'; + o.ipAddress = 'foo'; + o.status = 'foo'; + } + buildCounterPscAutoConnectionConfig--; + return o; +} + +void checkPscAutoConnectionConfig(api.PscAutoConnectionConfig o) { + buildCounterPscAutoConnectionConfig++; + if (buildCounterPscAutoConnectionConfig < 3) { + unittest.expect( + o.consumerNetwork!, + unittest.equals('foo'), + ); + unittest.expect( + o.consumerNetworkStatus!, + unittest.equals('foo'), + ); + unittest.expect( + o.consumerProject!, + unittest.equals('foo'), + ); + unittest.expect( + o.ipAddress!, + unittest.equals('foo'), + ); + unittest.expect( + o.status!, + unittest.equals('foo'), + ); + } + buildCounterPscAutoConnectionConfig--; +} + core.int buildCounterPscConfig = 0; api.PscConfig buildPscConfig() { final o = api.PscConfig(); buildCounterPscConfig++; if (buildCounterPscConfig < 3) { o.pscEnabled = true; + o.serviceOwnedProjectNumber = 'foo'; } buildCounterPscConfig--; return o; @@ -1956,16 +2166,20 @@ void checkPscConfig(api.PscConfig o) { buildCounterPscConfig++; if (buildCounterPscConfig < 3) { unittest.expect(o.pscEnabled!, unittest.isTrue); + unittest.expect( + o.serviceOwnedProjectNumber!, + unittest.equals('foo'), + ); } buildCounterPscConfig--; } -core.List buildUnnamed32() => [ +core.List buildUnnamed33() => [ 'foo', 'foo', ]; -void checkUnnamed32(core.List o) { +void checkUnnamed33(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1977,13 +2191,37 @@ void checkUnnamed32(core.List o) { ); } +core.List buildUnnamed34() => [ + buildPscAutoConnectionConfig(), + buildPscAutoConnectionConfig(), + ]; + +void checkUnnamed34(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkPscAutoConnectionConfig(o[0]); + checkPscAutoConnectionConfig(o[1]); +} + +core.List buildUnnamed35() => [ + buildPscInterfaceConfig(), + buildPscInterfaceConfig(), + ]; + +void checkUnnamed35(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkPscInterfaceConfig(o[0]); + checkPscInterfaceConfig(o[1]); +} + core.int buildCounterPscInstanceConfig = 0; api.PscInstanceConfig buildPscInstanceConfig() { final o = api.PscInstanceConfig(); buildCounterPscInstanceConfig++; if (buildCounterPscInstanceConfig < 3) { - o.allowedConsumerProjects = buildUnnamed32(); + o.allowedConsumerProjects = buildUnnamed33(); + o.pscAutoConnections = buildUnnamed34(); o.pscDnsName = 'foo'; + o.pscInterfaceConfigs = buildUnnamed35(); o.serviceAttachmentLink = 'foo'; } buildCounterPscInstanceConfig--; @@ -1993,11 +2231,13 @@ api.PscInstanceConfig buildPscInstanceConfig() { void checkPscInstanceConfig(api.PscInstanceConfig o) { buildCounterPscInstanceConfig++; if (buildCounterPscInstanceConfig < 3) { - checkUnnamed32(o.allowedConsumerProjects!); + checkUnnamed33(o.allowedConsumerProjects!); + checkUnnamed34(o.pscAutoConnections!); unittest.expect( o.pscDnsName!, unittest.equals('foo'), ); + checkUnnamed35(o.pscInterfaceConfigs!); unittest.expect( o.serviceAttachmentLink!, unittest.equals('foo'), @@ -2006,6 +2246,28 @@ void checkPscInstanceConfig(api.PscInstanceConfig o) { buildCounterPscInstanceConfig--; } +core.int buildCounterPscInterfaceConfig = 0; +api.PscInterfaceConfig buildPscInterfaceConfig() { + final o = api.PscInterfaceConfig(); + buildCounterPscInterfaceConfig++; + if (buildCounterPscInterfaceConfig < 3) { + o.networkAttachmentResource = 'foo'; + } + buildCounterPscInterfaceConfig--; + return o; +} + +void checkPscInterfaceConfig(api.PscInterfaceConfig o) { + buildCounterPscInterfaceConfig++; + if (buildCounterPscInterfaceConfig < 3) { + unittest.expect( + o.networkAttachmentResource!, + unittest.equals('foo'), + ); + } + buildCounterPscInterfaceConfig--; +} + core.int buildCounterQuantityBasedExpiry = 0; api.QuantityBasedExpiry buildQuantityBasedExpiry() { final o = api.QuantityBasedExpiry(); @@ -2108,12 +2370,12 @@ void checkReadPoolConfig(api.ReadPoolConfig o) { buildCounterReadPoolConfig--; } -core.List buildUnnamed33() => [ +core.List buildUnnamed36() => [ 'foo', 'foo', ]; -void checkUnnamed33(core.List o) { +void checkUnnamed36(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2130,7 +2392,7 @@ api.RestartInstanceRequest buildRestartInstanceRequest() { final o = api.RestartInstanceRequest(); buildCounterRestartInstanceRequest++; if (buildCounterRestartInstanceRequest < 3) { - o.nodeIds = buildUnnamed33(); + o.nodeIds = buildUnnamed36(); o.requestId = 'foo'; o.validateOnly = true; } @@ -2141,7 +2403,7 @@ api.RestartInstanceRequest buildRestartInstanceRequest() { void checkRestartInstanceRequest(api.RestartInstanceRequest o) { buildCounterRestartInstanceRequest++; if (buildCounterRestartInstanceRequest < 3) { - checkUnnamed33(o.nodeIds!); + checkUnnamed36(o.nodeIds!); unittest.expect( o.requestId!, unittest.equals('foo'), @@ -2186,6 +2448,32 @@ void checkRestoreClusterRequest(api.RestoreClusterRequest o) { buildCounterRestoreClusterRequest--; } +core.int buildCounterRestoreFromCloudSQLRequest = 0; +api.RestoreFromCloudSQLRequest buildRestoreFromCloudSQLRequest() { + final o = api.RestoreFromCloudSQLRequest(); + buildCounterRestoreFromCloudSQLRequest++; + if (buildCounterRestoreFromCloudSQLRequest < 3) { + o.cloudsqlBackupRunSource = buildCloudSQLBackupRunSource(); + o.cluster = buildCluster(); + o.clusterId = 'foo'; + } + buildCounterRestoreFromCloudSQLRequest--; + return o; +} + +void checkRestoreFromCloudSQLRequest(api.RestoreFromCloudSQLRequest o) { + buildCounterRestoreFromCloudSQLRequest++; + if (buildCounterRestoreFromCloudSQLRequest < 3) { + checkCloudSQLBackupRunSource(o.cloudsqlBackupRunSource!); + checkCluster(o.cluster!); + unittest.expect( + o.clusterId!, + unittest.equals('foo'), + ); + } + buildCounterRestoreFromCloudSQLRequest--; +} + core.int buildCounterSecondaryConfig = 0; api.SecondaryConfig buildSecondaryConfig() { final o = api.SecondaryConfig(); @@ -2208,12 +2496,12 @@ void checkSecondaryConfig(api.SecondaryConfig o) { buildCounterSecondaryConfig--; } -core.List buildUnnamed34() => [ +core.List buildUnnamed37() => [ 'foo', 'foo', ]; -void checkUnnamed34(core.List o) { +void checkUnnamed37(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2233,7 +2521,7 @@ api.SqlExportOptions buildSqlExportOptions() { o.cleanTargetObjects = true; o.ifExistTargetObjects = true; o.schemaOnly = true; - o.tables = buildUnnamed34(); + o.tables = buildUnnamed37(); } buildCounterSqlExportOptions--; return o; @@ -2245,11 +2533,26 @@ void checkSqlExportOptions(api.SqlExportOptions o) { unittest.expect(o.cleanTargetObjects!, unittest.isTrue); unittest.expect(o.ifExistTargetObjects!, unittest.isTrue); unittest.expect(o.schemaOnly!, unittest.isTrue); - checkUnnamed34(o.tables!); + checkUnnamed37(o.tables!); } buildCounterSqlExportOptions--; } +core.int buildCounterSqlImportOptions = 0; +api.SqlImportOptions buildSqlImportOptions() { + final o = api.SqlImportOptions(); + buildCounterSqlImportOptions++; + if (buildCounterSqlImportOptions < 3) {} + buildCounterSqlImportOptions--; + return o; +} + +void checkSqlImportOptions(api.SqlImportOptions o) { + buildCounterSqlImportOptions++; + if (buildCounterSqlImportOptions < 3) {} + buildCounterSqlImportOptions--; +} + core.int buildCounterSslConfig = 0; api.SslConfig buildSslConfig() { final o = api.SslConfig(); @@ -2277,7 +2580,7 @@ void checkSslConfig(api.SslConfig o) { buildCounterSslConfig--; } -core.Map buildUnnamed35() => { +core.Map buildUnnamed38() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2290,7 +2593,7 @@ core.Map buildUnnamed35() => { }, }; -void checkUnnamed35(core.Map o) { +void checkUnnamed38(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -2322,15 +2625,15 @@ void checkUnnamed35(core.Map o) { ); } -core.List> buildUnnamed36() => [ - buildUnnamed35(), - buildUnnamed35(), +core.List> buildUnnamed39() => [ + buildUnnamed38(), + buildUnnamed38(), ]; -void checkUnnamed36(core.List> o) { +void checkUnnamed39(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed35(o[0]); - checkUnnamed35(o[1]); + checkUnnamed38(o[0]); + checkUnnamed38(o[1]); } core.int buildCounterStatus = 0; @@ -2339,7 +2642,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed36(); + o.details = buildUnnamed39(); o.message = 'foo'; } buildCounterStatus--; @@ -2353,7 +2656,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed36(o.details!); + checkUnnamed39(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -2362,12 +2665,12 @@ void checkStatus(api.Status o) { buildCounterStatus--; } -core.List buildUnnamed37() => [ +core.List buildUnnamed40() => [ 'foo', 'foo', ]; -void checkUnnamed37(core.List o) { +void checkUnnamed40(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2384,7 +2687,7 @@ api.StringRestrictions buildStringRestrictions() { final o = api.StringRestrictions(); buildCounterStringRestrictions++; if (buildCounterStringRestrictions < 3) { - o.allowedValues = buildUnnamed37(); + o.allowedValues = buildUnnamed40(); } buildCounterStringRestrictions--; return o; @@ -2393,17 +2696,17 @@ api.StringRestrictions buildStringRestrictions() { void checkStringRestrictions(api.StringRestrictions o) { buildCounterStringRestrictions++; if (buildCounterStringRestrictions < 3) { - checkUnnamed37(o.allowedValues!); + checkUnnamed40(o.allowedValues!); } buildCounterStringRestrictions--; } -core.List buildUnnamed38() => [ +core.List buildUnnamed41() => [ 'foo', 'foo', ]; -void checkUnnamed38(core.List o) { +void checkUnnamed41(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2424,9 +2727,12 @@ api.SupportedDatabaseFlag buildSupportedDatabaseFlag() { o.flagName = 'foo'; o.integerRestrictions = buildIntegerRestrictions(); o.name = 'foo'; + o.recommendedIntegerValue = 'foo'; + o.recommendedStringValue = 'foo'; o.requiresDbRestart = true; + o.scope = 'foo'; o.stringRestrictions = buildStringRestrictions(); - o.supportedDbVersions = buildUnnamed38(); + o.supportedDbVersions = buildUnnamed41(); o.valueType = 'foo'; } buildCounterSupportedDatabaseFlag--; @@ -2446,9 +2752,21 @@ void checkSupportedDatabaseFlag(api.SupportedDatabaseFlag o) { o.name!, unittest.equals('foo'), ); + unittest.expect( + o.recommendedIntegerValue!, + unittest.equals('foo'), + ); + unittest.expect( + o.recommendedStringValue!, + unittest.equals('foo'), + ); unittest.expect(o.requiresDbRestart!, unittest.isTrue); + unittest.expect( + o.scope!, + unittest.equals('foo'), + ); checkStringRestrictions(o.stringRestrictions!); - checkUnnamed38(o.supportedDbVersions!); + checkUnnamed41(o.supportedDbVersions!); unittest.expect( o.valueType!, unittest.equals('foo'), @@ -2574,12 +2892,12 @@ void checkUpgradeClusterRequest(api.UpgradeClusterRequest o) { buildCounterUpgradeClusterRequest--; } -core.List buildUnnamed39() => [ +core.List buildUnnamed42() => [ 'foo', 'foo', ]; -void checkUnnamed39(core.List o) { +void checkUnnamed42(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2596,7 +2914,7 @@ api.User buildUser() { final o = api.User(); buildCounterUser++; if (buildCounterUser < 3) { - o.databaseRoles = buildUnnamed39(); + o.databaseRoles = buildUnnamed42(); o.keepExtraRoles = true; o.name = 'foo'; o.password = 'foo'; @@ -2609,7 +2927,7 @@ api.User buildUser() { void checkUser(api.User o) { buildCounterUser++; if (buildCounterUser < 3) { - checkUnnamed39(o.databaseRoles!); + checkUnnamed42(o.databaseRoles!); unittest.expect(o.keepExtraRoles!, unittest.isTrue); unittest.expect( o.name!, @@ -2654,12 +2972,12 @@ void checkUserPassword(api.UserPassword o) { buildCounterUserPassword--; } -core.List buildUnnamed40() => [ +core.List buildUnnamed43() => [ 'foo', 'foo', ]; -void checkUnnamed40(core.List o) { +void checkUnnamed43(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2671,12 +2989,12 @@ void checkUnnamed40(core.List o) { ); } -core.List buildUnnamed41() => [ +core.List buildUnnamed44() => [ buildGoogleTypeTimeOfDay(), buildGoogleTypeTimeOfDay(), ]; -void checkUnnamed41(core.List o) { +void checkUnnamed44(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleTypeTimeOfDay(o[0]); checkGoogleTypeTimeOfDay(o[1]); @@ -2687,8 +3005,8 @@ api.WeeklySchedule buildWeeklySchedule() { final o = api.WeeklySchedule(); buildCounterWeeklySchedule++; if (buildCounterWeeklySchedule < 3) { - o.daysOfWeek = buildUnnamed40(); - o.startTimes = buildUnnamed41(); + o.daysOfWeek = buildUnnamed43(); + o.startTimes = buildUnnamed44(); } buildCounterWeeklySchedule--; return o; @@ -2697,8 +3015,8 @@ api.WeeklySchedule buildWeeklySchedule() { void checkWeeklySchedule(api.WeeklySchedule o) { buildCounterWeeklySchedule++; if (buildCounterWeeklySchedule < 3) { - checkUnnamed40(o.daysOfWeek!); - checkUnnamed41(o.startTimes!); + checkUnnamed43(o.daysOfWeek!); + checkUnnamed44(o.startTimes!); } buildCounterWeeklySchedule--; } @@ -2764,6 +3082,16 @@ void main() { }); }); + unittest.group('obj-schema-CloudSQLBackupRunSource', () { + unittest.test('to-json--from-json', () async { + final o = buildCloudSQLBackupRunSource(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CloudSQLBackupRunSource.fromJson( + oJson as core.Map); + checkCloudSQLBackupRunSource(od); + }); + }); + unittest.group('obj-schema-Cluster', () { unittest.test('to-json--from-json', () async { final o = buildCluster(); @@ -2824,6 +3152,16 @@ void main() { }); }); + unittest.group('obj-schema-CsvImportOptions', () { + unittest.test('to-json--from-json', () async { + final o = buildCsvImportOptions(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CsvImportOptions.fromJson( + oJson as core.Map); + checkCsvImportOptions(od); + }); + }); + unittest.group('obj-schema-Empty', () { unittest.test('to-json--from-json', () async { final o = buildEmpty(); @@ -2914,6 +3252,16 @@ void main() { }); }); + unittest.group('obj-schema-ImportClusterRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildImportClusterRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ImportClusterRequest.fromJson( + oJson as core.Map); + checkImportClusterRequest(od); + }); + }); + unittest.group('obj-schema-InjectFaultRequest', () { unittest.test('to-json--from-json', () async { final o = buildInjectFaultRequest(); @@ -3084,6 +3432,16 @@ void main() { }); }); + unittest.group('obj-schema-ObservabilityInstanceConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildObservabilityInstanceConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ObservabilityInstanceConfig.fromJson( + oJson as core.Map); + checkObservabilityInstanceConfig(od); + }); + }); + unittest.group('obj-schema-Operation', () { unittest.test('to-json--from-json', () async { final o = buildOperation(); @@ -3114,6 +3472,16 @@ void main() { }); }); + unittest.group('obj-schema-PscAutoConnectionConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildPscAutoConnectionConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.PscAutoConnectionConfig.fromJson( + oJson as core.Map); + checkPscAutoConnectionConfig(od); + }); + }); + unittest.group('obj-schema-PscConfig', () { unittest.test('to-json--from-json', () async { final o = buildPscConfig(); @@ -3134,6 +3502,16 @@ void main() { }); }); + unittest.group('obj-schema-PscInterfaceConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildPscInterfaceConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.PscInterfaceConfig.fromJson( + oJson as core.Map); + checkPscInterfaceConfig(od); + }); + }); + unittest.group('obj-schema-QuantityBasedExpiry', () { unittest.test('to-json--from-json', () async { final o = buildQuantityBasedExpiry(); @@ -3194,6 +3572,16 @@ void main() { }); }); + unittest.group('obj-schema-RestoreFromCloudSQLRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildRestoreFromCloudSQLRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.RestoreFromCloudSQLRequest.fromJson( + oJson as core.Map); + checkRestoreFromCloudSQLRequest(od); + }); + }); + unittest.group('obj-schema-SecondaryConfig', () { unittest.test('to-json--from-json', () async { final o = buildSecondaryConfig(); @@ -3214,6 +3602,16 @@ void main() { }); }); + unittest.group('obj-schema-SqlImportOptions', () { + unittest.test('to-json--from-json', () async { + final o = buildSqlImportOptions(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SqlImportOptions.fromJson( + oJson as core.Map); + checkSqlImportOptions(od); + }); + }); + unittest.group('obj-schema-SslConfig', () { unittest.test('to-json--from-json', () async { final o = buildSslConfig(); @@ -4158,6 +4556,64 @@ void main() { checkCluster(response as api.Cluster); }); + unittest.test('method--import', () async { + final mock = HttpServerMock(); + final res = api.CloudAlloyDBAdminApi(mock).projects.locations.clusters; + final arg_request = buildImportClusterRequest(); + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.ImportClusterRequest.fromJson( + json as core.Map); + checkImportClusterRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.import(arg_request, arg_name, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.CloudAlloyDBAdminApi(mock).projects.locations.clusters; @@ -4433,6 +4889,64 @@ void main() { checkOperation(response as api.Operation); }); + unittest.test('method--restoreFromCloudSQL', () async { + final mock = HttpServerMock(); + final res = api.CloudAlloyDBAdminApi(mock).projects.locations.clusters; + final arg_request = buildRestoreFromCloudSQLRequest(); + final arg_parent = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.RestoreFromCloudSQLRequest.fromJson( + json as core.Map); + checkRestoreFromCloudSQLRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.restoreFromCloudSQL(arg_request, arg_parent, + $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + unittest.test('method--switchover', () async { final mock = HttpServerMock(); final res = api.CloudAlloyDBAdminApi(mock).projects.locations.clusters; @@ -5839,6 +6353,7 @@ void main() { final arg_parent = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; + final arg_scope = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -5880,6 +6395,10 @@ void main() { queryMap['pageToken']!.first, unittest.equals(arg_pageToken), ); + unittest.expect( + queryMap['scope']!.first, + unittest.equals(arg_scope), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -5895,6 +6414,7 @@ void main() { final response = await res.list(arg_parent, pageSize: arg_pageSize, pageToken: arg_pageToken, + scope: arg_scope, $fields: arg_$fields); checkListSupportedDatabaseFlagsResponse( response as api.ListSupportedDatabaseFlagsResponse); diff --git a/generated/googleapis/test/analyticshub/v1_test.dart b/generated/googleapis/test/analyticshub/v1_test.dart index e53e438fc..4e74eeb4a 100644 --- a/generated/googleapis/test/analyticshub/v1_test.dart +++ b/generated/googleapis/test/analyticshub/v1_test.dart @@ -347,6 +347,7 @@ api.DataExchange buildDataExchange() { o.documentation = 'foo'; o.icon = 'foo'; o.listingCount = 42; + o.logLinkedDatasetQueryUserEmail = true; o.name = 'foo'; o.primaryContact = 'foo'; o.sharingEnvironmentConfig = buildSharingEnvironmentConfig(); @@ -382,6 +383,7 @@ void checkDataExchange(api.DataExchange o) { o.listingCount!, unittest.equals(42), ); + unittest.expect(o.logLinkedDatasetQueryUserEmail!, unittest.isTrue); unittest.expect( o.name!, unittest.equals('foo'), @@ -700,6 +702,120 @@ void checkGetPolicyOptions(api.GetPolicyOptions o) { buildCounterGetPolicyOptions--; } +core.int buildCounterGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo = 0; +api.GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo + buildGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo() { + final o = api.GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo(); + buildCounterGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo++; + if (buildCounterGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo < 3) { + o.cloudMarketplace = + buildGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo(); + } + buildCounterGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo--; + return o; +} + +void checkGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo( + api.GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo o) { + buildCounterGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo++; + if (buildCounterGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo < 3) { + checkGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo( + o.cloudMarketplace!); + } + buildCounterGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo--; +} + +core.int + buildCounterGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo = + 0; +api.GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo + buildGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo() { + final o = api + .GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo(); + buildCounterGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo++; + if (buildCounterGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo < + 3) { + o.commercialState = 'foo'; + o.service = 'foo'; + } + buildCounterGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo--; + return o; +} + +void checkGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo( + api.GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo + o) { + buildCounterGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo++; + if (buildCounterGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo < + 3) { + unittest.expect( + o.commercialState!, + unittest.equals('foo'), + ); + unittest.expect( + o.service!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo--; +} + +core.int + buildCounterGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo = 0; +api.GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo + buildGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo() { + final o = api.GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo(); + buildCounterGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo++; + if (buildCounterGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo < + 3) { + o.cloudMarketplace = + buildGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo(); + } + buildCounterGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo--; + return o; +} + +void checkGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo( + api.GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo o) { + buildCounterGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo++; + if (buildCounterGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo < + 3) { + checkGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo( + o.cloudMarketplace!); + } + buildCounterGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo--; +} + +core.int + buildCounterGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo = + 0; +api.GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo + buildGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo() { + final o = api + .GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo(); + buildCounterGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo++; + if (buildCounterGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo < + 3) { + o.order = 'foo'; + } + buildCounterGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo--; + return o; +} + +void checkGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo( + api.GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo + o) { + buildCounterGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo++; + if (buildCounterGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo < + 3) { + unittest.expect( + o.order!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo--; +} + core.Map buildUnnamed5() => { 'x': 'foo', 'y': 'foo', @@ -717,6 +833,17 @@ void checkUnnamed5(core.Map o) { ); } +core.List buildUnnamed6() => [ + buildMessageTransform(), + buildMessageTransform(), + ]; + +void checkUnnamed6(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkMessageTransform(o[0]); + checkMessageTransform(o[1]); +} + core.int buildCounterGooglePubsubV1Subscription = 0; api.GooglePubsubV1Subscription buildGooglePubsubV1Subscription() { final o = api.GooglePubsubV1Subscription(); @@ -734,6 +861,7 @@ api.GooglePubsubV1Subscription buildGooglePubsubV1Subscription() { o.filter = 'foo'; o.labels = buildUnnamed5(); o.messageRetentionDuration = 'foo'; + o.messageTransforms = buildUnnamed6(); o.name = 'foo'; o.pushConfig = buildPushConfig(); o.retainAckedMessages = true; @@ -769,6 +897,7 @@ void checkGooglePubsubV1Subscription(api.GooglePubsubV1Subscription o) { o.messageRetentionDuration!, unittest.equals('foo'), ); + checkUnnamed6(o.messageTransforms!); unittest.expect( o.name!, unittest.equals('foo'), @@ -788,6 +917,33 @@ void checkGooglePubsubV1Subscription(api.GooglePubsubV1Subscription o) { buildCounterGooglePubsubV1Subscription--; } +core.int buildCounterJavaScriptUDF = 0; +api.JavaScriptUDF buildJavaScriptUDF() { + final o = api.JavaScriptUDF(); + buildCounterJavaScriptUDF++; + if (buildCounterJavaScriptUDF < 3) { + o.code = 'foo'; + o.functionName = 'foo'; + } + buildCounterJavaScriptUDF--; + return o; +} + +void checkJavaScriptUDF(api.JavaScriptUDF o) { + buildCounterJavaScriptUDF++; + if (buildCounterJavaScriptUDF < 3) { + unittest.expect( + o.code!, + unittest.equals('foo'), + ); + unittest.expect( + o.functionName!, + unittest.equals('foo'), + ); + } + buildCounterJavaScriptUDF--; +} + core.int buildCounterLinkedResource = 0; api.LinkedResource buildLinkedResource() { final o = api.LinkedResource(); @@ -820,12 +976,12 @@ void checkLinkedResource(api.LinkedResource o) { buildCounterLinkedResource--; } -core.List buildUnnamed6() => [ +core.List buildUnnamed7() => [ buildDataExchange(), buildDataExchange(), ]; -void checkUnnamed6(core.List o) { +void checkUnnamed7(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDataExchange(o[0]); checkDataExchange(o[1]); @@ -836,7 +992,7 @@ api.ListDataExchangesResponse buildListDataExchangesResponse() { final o = api.ListDataExchangesResponse(); buildCounterListDataExchangesResponse++; if (buildCounterListDataExchangesResponse < 3) { - o.dataExchanges = buildUnnamed6(); + o.dataExchanges = buildUnnamed7(); o.nextPageToken = 'foo'; } buildCounterListDataExchangesResponse--; @@ -846,7 +1002,7 @@ api.ListDataExchangesResponse buildListDataExchangesResponse() { void checkListDataExchangesResponse(api.ListDataExchangesResponse o) { buildCounterListDataExchangesResponse++; if (buildCounterListDataExchangesResponse < 3) { - checkUnnamed6(o.dataExchanges!); + checkUnnamed7(o.dataExchanges!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -855,12 +1011,12 @@ void checkListDataExchangesResponse(api.ListDataExchangesResponse o) { buildCounterListDataExchangesResponse--; } -core.List buildUnnamed7() => [ +core.List buildUnnamed8() => [ buildListing(), buildListing(), ]; -void checkUnnamed7(core.List o) { +void checkUnnamed8(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkListing(o[0]); checkListing(o[1]); @@ -871,7 +1027,7 @@ api.ListListingsResponse buildListListingsResponse() { final o = api.ListListingsResponse(); buildCounterListListingsResponse++; if (buildCounterListListingsResponse < 3) { - o.listings = buildUnnamed7(); + o.listings = buildUnnamed8(); o.nextPageToken = 'foo'; } buildCounterListListingsResponse--; @@ -881,7 +1037,7 @@ api.ListListingsResponse buildListListingsResponse() { void checkListListingsResponse(api.ListListingsResponse o) { buildCounterListListingsResponse++; if (buildCounterListListingsResponse < 3) { - checkUnnamed7(o.listings!); + checkUnnamed8(o.listings!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -890,12 +1046,12 @@ void checkListListingsResponse(api.ListListingsResponse o) { buildCounterListListingsResponse--; } -core.List buildUnnamed8() => [ +core.List buildUnnamed9() => [ buildDataExchange(), buildDataExchange(), ]; -void checkUnnamed8(core.List o) { +void checkUnnamed9(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDataExchange(o[0]); checkDataExchange(o[1]); @@ -906,7 +1062,7 @@ api.ListOrgDataExchangesResponse buildListOrgDataExchangesResponse() { final o = api.ListOrgDataExchangesResponse(); buildCounterListOrgDataExchangesResponse++; if (buildCounterListOrgDataExchangesResponse < 3) { - o.dataExchanges = buildUnnamed8(); + o.dataExchanges = buildUnnamed9(); o.nextPageToken = 'foo'; } buildCounterListOrgDataExchangesResponse--; @@ -916,7 +1072,7 @@ api.ListOrgDataExchangesResponse buildListOrgDataExchangesResponse() { void checkListOrgDataExchangesResponse(api.ListOrgDataExchangesResponse o) { buildCounterListOrgDataExchangesResponse++; if (buildCounterListOrgDataExchangesResponse < 3) { - checkUnnamed8(o.dataExchanges!); + checkUnnamed9(o.dataExchanges!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -925,12 +1081,12 @@ void checkListOrgDataExchangesResponse(api.ListOrgDataExchangesResponse o) { buildCounterListOrgDataExchangesResponse--; } -core.List buildUnnamed9() => [ +core.List buildUnnamed10() => [ buildSubscription(), buildSubscription(), ]; -void checkUnnamed9(core.List o) { +void checkUnnamed10(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSubscription(o[0]); checkSubscription(o[1]); @@ -943,7 +1099,7 @@ api.ListSharedResourceSubscriptionsResponse buildCounterListSharedResourceSubscriptionsResponse++; if (buildCounterListSharedResourceSubscriptionsResponse < 3) { o.nextPageToken = 'foo'; - o.sharedResourceSubscriptions = buildUnnamed9(); + o.sharedResourceSubscriptions = buildUnnamed10(); } buildCounterListSharedResourceSubscriptionsResponse--; return o; @@ -957,17 +1113,17 @@ void checkListSharedResourceSubscriptionsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed9(o.sharedResourceSubscriptions!); + checkUnnamed10(o.sharedResourceSubscriptions!); } buildCounterListSharedResourceSubscriptionsResponse--; } -core.List buildUnnamed10() => [ +core.List buildUnnamed11() => [ buildSubscription(), buildSubscription(), ]; -void checkUnnamed10(core.List o) { +void checkUnnamed11(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSubscription(o[0]); checkSubscription(o[1]); @@ -979,7 +1135,7 @@ api.ListSubscriptionsResponse buildListSubscriptionsResponse() { buildCounterListSubscriptionsResponse++; if (buildCounterListSubscriptionsResponse < 3) { o.nextPageToken = 'foo'; - o.subscriptions = buildUnnamed10(); + o.subscriptions = buildUnnamed11(); } buildCounterListSubscriptionsResponse--; return o; @@ -992,17 +1148,17 @@ void checkListSubscriptionsResponse(api.ListSubscriptionsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed10(o.subscriptions!); + checkUnnamed11(o.subscriptions!); } buildCounterListSubscriptionsResponse--; } -core.List buildUnnamed11() => [ +core.List buildUnnamed12() => [ 'foo', 'foo', ]; -void checkUnnamed11(core.List o) { +void checkUnnamed12(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1020,13 +1176,16 @@ api.Listing buildListing() { buildCounterListing++; if (buildCounterListing < 3) { o.bigqueryDataset = buildBigQueryDatasetSource(); - o.categories = buildUnnamed11(); + o.categories = buildUnnamed12(); + o.commercialInfo = + buildGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo(); o.dataProvider = buildDataProvider(); o.description = 'foo'; o.discoveryType = 'foo'; o.displayName = 'foo'; o.documentation = 'foo'; o.icon = 'foo'; + o.logLinkedDatasetQueryUserEmail = true; o.name = 'foo'; o.primaryContact = 'foo'; o.publisher = buildPublisher(); @@ -1044,7 +1203,9 @@ void checkListing(api.Listing o) { buildCounterListing++; if (buildCounterListing < 3) { checkBigQueryDatasetSource(o.bigqueryDataset!); - checkUnnamed11(o.categories!); + checkUnnamed12(o.categories!); + checkGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo( + o.commercialInfo!); checkDataProvider(o.dataProvider!); unittest.expect( o.description!, @@ -1066,6 +1227,7 @@ void checkListing(api.Listing o) { o.icon!, unittest.equals('foo'), ); + unittest.expect(o.logLinkedDatasetQueryUserEmail!, unittest.isTrue); unittest.expect( o.name!, unittest.equals('foo'), @@ -1093,6 +1255,27 @@ void checkListing(api.Listing o) { buildCounterListing--; } +core.int buildCounterMessageTransform = 0; +api.MessageTransform buildMessageTransform() { + final o = api.MessageTransform(); + buildCounterMessageTransform++; + if (buildCounterMessageTransform < 3) { + o.enabled = true; + o.javascriptUdf = buildJavaScriptUDF(); + } + buildCounterMessageTransform--; + return o; +} + +void checkMessageTransform(api.MessageTransform o) { + buildCounterMessageTransform++; + if (buildCounterMessageTransform < 3) { + unittest.expect(o.enabled!, unittest.isTrue); + checkJavaScriptUDF(o.javascriptUdf!); + } + buildCounterMessageTransform--; +} + core.int buildCounterNoWrapper = 0; api.NoWrapper buildNoWrapper() { final o = api.NoWrapper(); @@ -1139,7 +1322,7 @@ void checkOidcToken(api.OidcToken o) { buildCounterOidcToken--; } -core.Map buildUnnamed12() => { +core.Map buildUnnamed13() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1152,7 +1335,7 @@ core.Map buildUnnamed12() => { }, }; -void checkUnnamed12(core.Map o) { +void checkUnnamed13(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -1184,7 +1367,7 @@ void checkUnnamed12(core.Map o) { ); } -core.Map buildUnnamed13() => { +core.Map buildUnnamed14() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1197,7 +1380,7 @@ core.Map buildUnnamed13() => { }, }; -void checkUnnamed13(core.Map o) { +void checkUnnamed14(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -1236,9 +1419,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed12(); + o.metadata = buildUnnamed13(); o.name = 'foo'; - o.response = buildUnnamed13(); + o.response = buildUnnamed14(); } buildCounterOperation--; return o; @@ -1249,33 +1432,33 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed12(o.metadata!); + checkUnnamed13(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed13(o.response!); + checkUnnamed14(o.response!); } buildCounterOperation--; } -core.List buildUnnamed14() => [ +core.List buildUnnamed15() => [ buildAuditConfig(), buildAuditConfig(), ]; -void checkUnnamed14(core.List o) { +void checkUnnamed15(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuditConfig(o[0]); checkAuditConfig(o[1]); } -core.List buildUnnamed15() => [ +core.List buildUnnamed16() => [ buildBinding(), buildBinding(), ]; -void checkUnnamed15(core.List o) { +void checkUnnamed16(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBinding(o[0]); checkBinding(o[1]); @@ -1286,8 +1469,8 @@ api.Policy buildPolicy() { final o = api.Policy(); buildCounterPolicy++; if (buildCounterPolicy < 3) { - o.auditConfigs = buildUnnamed14(); - o.bindings = buildUnnamed15(); + o.auditConfigs = buildUnnamed15(); + o.bindings = buildUnnamed16(); o.etag = 'foo'; o.version = 42; } @@ -1298,8 +1481,8 @@ api.Policy buildPolicy() { void checkPolicy(api.Policy o) { buildCounterPolicy++; if (buildCounterPolicy < 3) { - checkUnnamed14(o.auditConfigs!); - checkUnnamed15(o.bindings!); + checkUnnamed15(o.auditConfigs!); + checkUnnamed16(o.bindings!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -1312,12 +1495,12 @@ void checkPolicy(api.Policy o) { buildCounterPolicy--; } -core.List buildUnnamed16() => [ +core.List buildUnnamed17() => [ 'foo', 'foo', ]; -void checkUnnamed16(core.List o) { +void checkUnnamed17(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1334,7 +1517,7 @@ api.PubSubTopicSource buildPubSubTopicSource() { final o = api.PubSubTopicSource(); buildCounterPubSubTopicSource++; if (buildCounterPubSubTopicSource < 3) { - o.dataAffinityRegions = buildUnnamed16(); + o.dataAffinityRegions = buildUnnamed17(); o.topic = 'foo'; } buildCounterPubSubTopicSource--; @@ -1344,7 +1527,7 @@ api.PubSubTopicSource buildPubSubTopicSource() { void checkPubSubTopicSource(api.PubSubTopicSource o) { buildCounterPubSubTopicSource++; if (buildCounterPubSubTopicSource < 3) { - checkUnnamed16(o.dataAffinityRegions!); + checkUnnamed17(o.dataAffinityRegions!); unittest.expect( o.topic!, unittest.equals('foo'), @@ -1395,12 +1578,12 @@ void checkPubsubWrapper(api.PubsubWrapper o) { buildCounterPubsubWrapper--; } -core.Map buildUnnamed17() => { +core.Map buildUnnamed18() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed17(core.Map o) { +void checkUnnamed18(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1417,7 +1600,7 @@ api.PushConfig buildPushConfig() { final o = api.PushConfig(); buildCounterPushConfig++; if (buildCounterPushConfig < 3) { - o.attributes = buildUnnamed17(); + o.attributes = buildUnnamed18(); o.noWrapper = buildNoWrapper(); o.oidcToken = buildOidcToken(); o.pubsubWrapper = buildPubsubWrapper(); @@ -1430,7 +1613,7 @@ api.PushConfig buildPushConfig() { void checkPushConfig(api.PushConfig o) { buildCounterPushConfig++; if (buildCounterPushConfig < 3) { - checkUnnamed17(o.attributes!); + checkUnnamed18(o.attributes!); checkNoWrapper(o.noWrapper!); checkOidcToken(o.oidcToken!); checkPubsubWrapper(o.pubsubWrapper!); @@ -1534,14 +1717,18 @@ core.int buildCounterRevokeSubscriptionRequest = 0; api.RevokeSubscriptionRequest buildRevokeSubscriptionRequest() { final o = api.RevokeSubscriptionRequest(); buildCounterRevokeSubscriptionRequest++; - if (buildCounterRevokeSubscriptionRequest < 3) {} + if (buildCounterRevokeSubscriptionRequest < 3) { + o.revokeCommercial = true; + } buildCounterRevokeSubscriptionRequest--; return o; } void checkRevokeSubscriptionRequest(api.RevokeSubscriptionRequest o) { buildCounterRevokeSubscriptionRequest++; - if (buildCounterRevokeSubscriptionRequest < 3) {} + if (buildCounterRevokeSubscriptionRequest < 3) { + unittest.expect(o.revokeCommercial!, unittest.isTrue); + } buildCounterRevokeSubscriptionRequest--; } @@ -1565,6 +1752,7 @@ api.SelectedResource buildSelectedResource() { final o = api.SelectedResource(); buildCounterSelectedResource++; if (buildCounterSelectedResource < 3) { + o.routine = 'foo'; o.table = 'foo'; } buildCounterSelectedResource--; @@ -1574,6 +1762,10 @@ api.SelectedResource buildSelectedResource() { void checkSelectedResource(api.SelectedResource o) { buildCounterSelectedResource++; if (buildCounterSelectedResource < 3) { + unittest.expect( + o.routine!, + unittest.equals('foo'), + ); unittest.expect( o.table!, unittest.equals('foo'), @@ -1627,7 +1819,7 @@ void checkSharingEnvironmentConfig(api.SharingEnvironmentConfig o) { buildCounterSharingEnvironmentConfig--; } -core.Map buildUnnamed18() => { +core.Map buildUnnamed19() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1640,7 +1832,7 @@ core.Map buildUnnamed18() => { }, }; -void checkUnnamed18(core.Map o) { +void checkUnnamed19(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -1672,15 +1864,15 @@ void checkUnnamed18(core.Map o) { ); } -core.List> buildUnnamed19() => [ - buildUnnamed18(), - buildUnnamed18(), +core.List> buildUnnamed20() => [ + buildUnnamed19(), + buildUnnamed19(), ]; -void checkUnnamed19(core.List> o) { +void checkUnnamed20(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed18(o[0]); - checkUnnamed18(o[1]); + checkUnnamed19(o[0]); + checkUnnamed19(o[1]); } core.int buildCounterStatus = 0; @@ -1689,7 +1881,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed19(); + o.details = buildUnnamed20(); o.message = 'foo'; } buildCounterStatus--; @@ -1703,7 +1895,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed19(o.details!); + checkUnnamed20(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -1786,23 +1978,23 @@ void checkSubscribeListingResponse(api.SubscribeListingResponse o) { buildCounterSubscribeListingResponse--; } -core.Map buildUnnamed20() => { +core.Map buildUnnamed21() => { 'x': buildLinkedResource(), 'y': buildLinkedResource(), }; -void checkUnnamed20(core.Map o) { +void checkUnnamed21(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkLinkedResource(o['x']!); checkLinkedResource(o['y']!); } -core.List buildUnnamed21() => [ +core.List buildUnnamed22() => [ buildLinkedResource(), buildLinkedResource(), ]; -void checkUnnamed21(core.List o) { +void checkUnnamed22(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLinkedResource(o[0]); checkLinkedResource(o[1]); @@ -1813,12 +2005,15 @@ api.Subscription buildSubscription() { final o = api.Subscription(); buildCounterSubscription++; if (buildCounterSubscription < 3) { + o.commercialInfo = + buildGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo(); o.creationTime = 'foo'; o.dataExchange = 'foo'; o.lastModifyTime = 'foo'; - o.linkedDatasetMap = buildUnnamed20(); - o.linkedResources = buildUnnamed21(); + o.linkedDatasetMap = buildUnnamed21(); + o.linkedResources = buildUnnamed22(); o.listing = 'foo'; + o.logLinkedDatasetQueryUserEmail = true; o.name = 'foo'; o.organizationDisplayName = 'foo'; o.organizationId = 'foo'; @@ -1833,6 +2028,8 @@ api.Subscription buildSubscription() { void checkSubscription(api.Subscription o) { buildCounterSubscription++; if (buildCounterSubscription < 3) { + checkGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo( + o.commercialInfo!); unittest.expect( o.creationTime!, unittest.equals('foo'), @@ -1845,12 +2042,13 @@ void checkSubscription(api.Subscription o) { o.lastModifyTime!, unittest.equals('foo'), ); - checkUnnamed20(o.linkedDatasetMap!); - checkUnnamed21(o.linkedResources!); + checkUnnamed21(o.linkedDatasetMap!); + checkUnnamed22(o.linkedResources!); unittest.expect( o.listing!, unittest.equals('foo'), ); + unittest.expect(o.logLinkedDatasetQueryUserEmail!, unittest.isTrue); unittest.expect( o.name!, unittest.equals('foo'), @@ -1879,12 +2077,12 @@ void checkSubscription(api.Subscription o) { buildCounterSubscription--; } -core.List buildUnnamed22() => [ +core.List buildUnnamed23() => [ 'foo', 'foo', ]; -void checkUnnamed22(core.List o) { +void checkUnnamed23(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1901,7 +2099,7 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { final o = api.TestIamPermissionsRequest(); buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - o.permissions = buildUnnamed22(); + o.permissions = buildUnnamed23(); } buildCounterTestIamPermissionsRequest--; return o; @@ -1910,17 +2108,17 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { void checkTestIamPermissionsRequest(api.TestIamPermissionsRequest o) { buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - checkUnnamed22(o.permissions!); + checkUnnamed23(o.permissions!); } buildCounterTestIamPermissionsRequest--; } -core.List buildUnnamed23() => [ +core.List buildUnnamed24() => [ 'foo', 'foo', ]; -void checkUnnamed23(core.List o) { +void checkUnnamed24(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1937,7 +2135,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { final o = api.TestIamPermissionsResponse(); buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - o.permissions = buildUnnamed23(); + o.permissions = buildUnnamed24(); } buildCounterTestIamPermissionsResponse--; return o; @@ -1946,7 +2144,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { void checkTestIamPermissionsResponse(api.TestIamPermissionsResponse o) { buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - checkUnnamed23(o.permissions!); + checkUnnamed24(o.permissions!); } buildCounterTestIamPermissionsResponse--; } @@ -2177,6 +2375,61 @@ void main() { }); }); + unittest.group( + 'obj-schema-GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo.fromJson( + oJson as core.Map); + checkGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo(od); + }); + }); + + unittest.group( + 'obj-schema-GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo', + () { + unittest.test('to-json--from-json', () async { + final o = + buildGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo + .fromJson(oJson as core.Map); + checkGoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo( + od); + }); + }); + + unittest.group( + 'obj-schema-GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo', + () { + unittest.test('to-json--from-json', () async { + final o = + buildGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo + .fromJson(oJson as core.Map); + checkGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo(od); + }); + }); + + unittest.group( + 'obj-schema-GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo', + () { + unittest.test('to-json--from-json', () async { + final o = + buildGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo + .fromJson(oJson as core.Map); + checkGoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo( + od); + }); + }); + unittest.group('obj-schema-GooglePubsubV1Subscription', () { unittest.test('to-json--from-json', () async { final o = buildGooglePubsubV1Subscription(); @@ -2187,6 +2440,16 @@ void main() { }); }); + unittest.group('obj-schema-JavaScriptUDF', () { + unittest.test('to-json--from-json', () async { + final o = buildJavaScriptUDF(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.JavaScriptUDF.fromJson( + oJson as core.Map); + checkJavaScriptUDF(od); + }); + }); + unittest.group('obj-schema-LinkedResource', () { unittest.test('to-json--from-json', () async { final o = buildLinkedResource(); @@ -2257,6 +2520,16 @@ void main() { }); }); + unittest.group('obj-schema-MessageTransform', () { + unittest.test('to-json--from-json', () async { + final o = buildMessageTransform(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.MessageTransform.fromJson( + oJson as core.Map); + checkMessageTransform(od); + }); + }); + unittest.group('obj-schema-NoWrapper', () { unittest.test('to-json--from-json', () async { final o = buildNoWrapper(); @@ -3249,6 +3522,7 @@ void main() { final res = api.AnalyticsHubApi(mock).projects.locations.dataExchanges.listings; final arg_name = 'foo'; + final arg_deleteCommercial = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -3282,6 +3556,10 @@ void main() { ); } } + unittest.expect( + queryMap['deleteCommercial']!.first, + unittest.equals('$arg_deleteCommercial'), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -3293,7 +3571,8 @@ void main() { final resp = convert.json.encode(buildEmpty()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_name, $fields: arg_$fields); + final response = await res.delete(arg_name, + deleteCommercial: arg_deleteCommercial, $fields: arg_$fields); checkEmpty(response as api.Empty); }); diff --git a/generated/googleapis/test/androidenterprise/v1_test.dart b/generated/googleapis/test/androidenterprise/v1_test.dart index 1776f972b..0d2819cdd 100644 --- a/generated/googleapis/test/androidenterprise/v1_test.dart +++ b/generated/googleapis/test/androidenterprise/v1_test.dart @@ -727,25 +727,6 @@ void checkConfigurationVariables(api.ConfigurationVariables o) { buildCounterConfigurationVariables--; } -core.int buildCounterCreateEnrollmentTokenResponse = 0; -api.CreateEnrollmentTokenResponse buildCreateEnrollmentTokenResponse() { - final o = api.CreateEnrollmentTokenResponse(); - buildCounterCreateEnrollmentTokenResponse++; - if (buildCounterCreateEnrollmentTokenResponse < 3) { - o.enrollmentToken = buildEnrollmentToken(); - } - buildCounterCreateEnrollmentTokenResponse--; - return o; -} - -void checkCreateEnrollmentTokenResponse(api.CreateEnrollmentTokenResponse o) { - buildCounterCreateEnrollmentTokenResponse++; - if (buildCounterCreateEnrollmentTokenResponse < 3) { - checkEnrollmentToken(o.enrollmentToken!); - } - buildCounterCreateEnrollmentTokenResponse--; -} - core.int buildCounterDevice = 0; api.Device buildDevice() { final o = api.Device(); @@ -977,8 +958,10 @@ api.Enterprise buildEnterprise() { buildCounterEnterprise++; if (buildCounterEnterprise < 3) { o.administrator = buildUnnamed12(); + o.enterpriseType = 'foo'; o.googleAuthenticationSettings = buildGoogleAuthenticationSettings(); o.id = 'foo'; + o.managedGoogleDomainType = 'foo'; o.name = 'foo'; o.primaryDomain = 'foo'; } @@ -990,11 +973,19 @@ void checkEnterprise(api.Enterprise o) { buildCounterEnterprise++; if (buildCounterEnterprise < 3) { checkUnnamed12(o.administrator!); + unittest.expect( + o.enterpriseType!, + unittest.equals('foo'), + ); checkGoogleAuthenticationSettings(o.googleAuthenticationSettings!); unittest.expect( o.id!, unittest.equals('foo'), ); + unittest.expect( + o.managedGoogleDomainType!, + unittest.equals('foo'), + ); unittest.expect( o.name!, unittest.equals('foo'), @@ -1053,6 +1044,28 @@ void checkEnterpriseAuthenticationAppLinkConfig( buildCounterEnterpriseAuthenticationAppLinkConfig--; } +core.int buildCounterEnterpriseUpgradeEvent = 0; +api.EnterpriseUpgradeEvent buildEnterpriseUpgradeEvent() { + final o = api.EnterpriseUpgradeEvent(); + buildCounterEnterpriseUpgradeEvent++; + if (buildCounterEnterpriseUpgradeEvent < 3) { + o.upgradeState = 'foo'; + } + buildCounterEnterpriseUpgradeEvent--; + return o; +} + +void checkEnterpriseUpgradeEvent(api.EnterpriseUpgradeEvent o) { + buildCounterEnterpriseUpgradeEvent++; + if (buildCounterEnterpriseUpgradeEvent < 3) { + unittest.expect( + o.upgradeState!, + unittest.equals('foo'), + ); + } + buildCounterEnterpriseUpgradeEvent--; +} + core.List buildUnnamed13() => [ buildEnterprise(), buildEnterprise(), @@ -1169,6 +1182,30 @@ void checkEntitlementsListResponse(api.EntitlementsListResponse o) { buildCounterEntitlementsListResponse--; } +core.int buildCounterGenerateEnterpriseUpgradeUrlResponse = 0; +api.GenerateEnterpriseUpgradeUrlResponse + buildGenerateEnterpriseUpgradeUrlResponse() { + final o = api.GenerateEnterpriseUpgradeUrlResponse(); + buildCounterGenerateEnterpriseUpgradeUrlResponse++; + if (buildCounterGenerateEnterpriseUpgradeUrlResponse < 3) { + o.url = 'foo'; + } + buildCounterGenerateEnterpriseUpgradeUrlResponse--; + return o; +} + +void checkGenerateEnterpriseUpgradeUrlResponse( + api.GenerateEnterpriseUpgradeUrlResponse o) { + buildCounterGenerateEnterpriseUpgradeUrlResponse++; + if (buildCounterGenerateEnterpriseUpgradeUrlResponse < 3) { + unittest.expect( + o.url!, + unittest.equals('foo'), + ); + } + buildCounterGenerateEnterpriseUpgradeUrlResponse--; +} + core.int buildCounterGoogleAuthenticationSettings = 0; api.GoogleAuthenticationSettings buildGoogleAuthenticationSettings() { final o = api.GoogleAuthenticationSettings(); @@ -1878,6 +1915,7 @@ api.Notification buildNotification() { o.appUpdateEvent = buildAppUpdateEvent(); o.deviceReportUpdateEvent = buildDeviceReportUpdateEvent(); o.enterpriseId = 'foo'; + o.enterpriseUpgradeEvent = buildEnterpriseUpgradeEvent(); o.installFailureEvent = buildInstallFailureEvent(); o.newDeviceEvent = buildNewDeviceEvent(); o.newPermissionsEvent = buildNewPermissionsEvent(); @@ -1900,6 +1938,7 @@ void checkNotification(api.Notification o) { o.enterpriseId!, unittest.equals('foo'), ); + checkEnterpriseUpgradeEvent(o.enterpriseUpgradeEvent!); checkInstallFailureEvent(o.installFailureEvent!); checkNewDeviceEvent(o.newDeviceEvent!); checkNewPermissionsEvent(o.newPermissionsEvent!); @@ -3298,6 +3337,40 @@ void checkWebAppsListResponse(api.WebAppsListResponse o) { buildCounterWebAppsListResponse--; } +core.List buildUnnamed55() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed55(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed56() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed56(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + void main() { unittest.group('obj-schema-Administrator', () { unittest.test('to-json--from-json', () async { @@ -3511,16 +3584,6 @@ void main() { }); }); - unittest.group('obj-schema-CreateEnrollmentTokenResponse', () { - unittest.test('to-json--from-json', () async { - final o = buildCreateEnrollmentTokenResponse(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.CreateEnrollmentTokenResponse.fromJson( - oJson as core.Map); - checkCreateEnrollmentTokenResponse(od); - }); - }); - unittest.group('obj-schema-Device', () { unittest.test('to-json--from-json', () async { final o = buildDevice(); @@ -3611,6 +3674,16 @@ void main() { }); }); + unittest.group('obj-schema-EnterpriseUpgradeEvent', () { + unittest.test('to-json--from-json', () async { + final o = buildEnterpriseUpgradeEvent(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.EnterpriseUpgradeEvent.fromJson( + oJson as core.Map); + checkEnterpriseUpgradeEvent(od); + }); + }); + unittest.group('obj-schema-EnterprisesListResponse', () { unittest.test('to-json--from-json', () async { final o = buildEnterprisesListResponse(); @@ -3651,6 +3724,16 @@ void main() { }); }); + unittest.group('obj-schema-GenerateEnterpriseUpgradeUrlResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildGenerateEnterpriseUpgradeUrlResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GenerateEnterpriseUpgradeUrlResponse.fromJson( + oJson as core.Map); + checkGenerateEnterpriseUpgradeUrlResponse(od); + }); + }); + unittest.group('obj-schema-GoogleAuthenticationSettings', () { unittest.test('to-json--from-json', () async { final o = buildGoogleAuthenticationSettings(); @@ -4745,6 +4828,79 @@ void main() { }); }); + unittest.group('resource-EnrollmentTokensResource', () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.AndroidEnterpriseApi(mock).enrollmentTokens; + final arg_request = buildEnrollmentToken(); + final arg_enterpriseId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.EnrollmentToken.fromJson( + json as core.Map); + checkEnrollmentToken(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 33), + unittest.equals('androidenterprise/v1/enterprises/'), + ); + pathOffset += 33; + index = path.indexOf('/enrollmentTokens', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_enterpriseId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/enrollmentTokens'), + ); + pathOffset += 17; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildEnrollmentToken()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.create(arg_request, arg_enterpriseId, $fields: arg_$fields); + checkEnrollmentToken(response as api.EnrollmentToken); + }); + }); + unittest.group('resource-EnterprisesResource', () { unittest.test('method--acknowledgeNotificationSet', () async { final mock = HttpServerMock(); @@ -4865,15 +5021,17 @@ void main() { checkEnterprise(response as api.Enterprise); }); - unittest.test('method--createEnrollmentToken', () async { + unittest.test('method--createWebToken', () async { final mock = HttpServerMock(); final res = api.AndroidEnterpriseApi(mock).enterprises; + final arg_request = buildAdministratorWebTokenSpec(); final arg_enterpriseId = 'foo'; - final arg_enrollmentToken_duration = 'foo'; - final arg_enrollmentToken_enrollmentTokenType = 'foo'; - final arg_enrollmentToken_token = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.AdministratorWebTokenSpec.fromJson( + json as core.Map); + checkAdministratorWebTokenSpec(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -4888,7 +5046,7 @@ void main() { unittest.equals('androidenterprise/v1/enterprises/'), ); pathOffset += 33; - index = path.indexOf('/createEnrollmentToken', pathOffset); + index = path.indexOf('/createWebToken', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -4898,10 +5056,10 @@ void main() { unittest.equals('$arg_enterpriseId'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 22), - unittest.equals('/createEnrollmentToken'), + path.substring(pathOffset, pathOffset + 15), + unittest.equals('/createWebToken'), ); - pathOffset += 22; + pathOffset += 15; final query = req.url.query; var queryOffset = 0; @@ -4918,18 +5076,6 @@ void main() { ); } } - unittest.expect( - queryMap['enrollmentToken.duration']!.first, - unittest.equals(arg_enrollmentToken_duration), - ); - unittest.expect( - queryMap['enrollmentToken.enrollmentTokenType']!.first, - unittest.equals(arg_enrollmentToken_enrollmentTokenType), - ); - unittest.expect( - queryMap['enrollmentToken.token']!.first, - unittest.equals(arg_enrollmentToken_token), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -4938,29 +5084,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildCreateEnrollmentTokenResponse()); + final resp = convert.json.encode(buildAdministratorWebToken()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.createEnrollmentToken(arg_enterpriseId, - enrollmentToken_duration: arg_enrollmentToken_duration, - enrollmentToken_enrollmentTokenType: - arg_enrollmentToken_enrollmentTokenType, - enrollmentToken_token: arg_enrollmentToken_token, + final response = await res.createWebToken(arg_request, arg_enterpriseId, $fields: arg_$fields); - checkCreateEnrollmentTokenResponse( - response as api.CreateEnrollmentTokenResponse); + checkAdministratorWebToken(response as api.AdministratorWebToken); }); - unittest.test('method--createWebToken', () async { + unittest.test('method--enroll', () async { final mock = HttpServerMock(); final res = api.AndroidEnterpriseApi(mock).enterprises; - final arg_request = buildAdministratorWebTokenSpec(); - final arg_enterpriseId = 'foo'; + final arg_request = buildEnterprise(); + final arg_token = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.AdministratorWebTokenSpec.fromJson( + final obj = api.Enterprise.fromJson( json as core.Map); - checkAdministratorWebTokenSpec(obj); + checkEnterprise(obj); final path = req.url.path; var pathOffset = 0; @@ -4972,24 +5113,10 @@ void main() { ); pathOffset += 1; unittest.expect( - path.substring(pathOffset, pathOffset + 33), - unittest.equals('androidenterprise/v1/enterprises/'), - ); - pathOffset += 33; - index = path.indexOf('/createWebToken', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_enterpriseId'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('/createWebToken'), + path.substring(pathOffset, pathOffset + 39), + unittest.equals('androidenterprise/v1/enterprises/enroll'), ); - pathOffset += 15; + pathOffset += 39; final query = req.url.query; var queryOffset = 0; @@ -5006,6 +5133,10 @@ void main() { ); } } + unittest.expect( + queryMap['token']!.first, + unittest.equals(arg_token), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -5014,25 +5145,22 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildAdministratorWebToken()); + final resp = convert.json.encode(buildEnterprise()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.createWebToken(arg_request, arg_enterpriseId, - $fields: arg_$fields); - checkAdministratorWebToken(response as api.AdministratorWebToken); + final response = + await res.enroll(arg_request, arg_token, $fields: arg_$fields); + checkEnterprise(response as api.Enterprise); }); - unittest.test('method--enroll', () async { + unittest.test('method--generateEnterpriseUpgradeUrl', () async { final mock = HttpServerMock(); final res = api.AndroidEnterpriseApi(mock).enterprises; - final arg_request = buildEnterprise(); - final arg_token = 'foo'; + final arg_enterpriseId = 'foo'; + final arg_adminEmail = 'foo'; + final arg_allowedDomains = buildUnnamed55(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.Enterprise.fromJson( - json as core.Map); - checkEnterprise(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -5043,10 +5171,24 @@ void main() { ); pathOffset += 1; unittest.expect( - path.substring(pathOffset, pathOffset + 39), - unittest.equals('androidenterprise/v1/enterprises/enroll'), + path.substring(pathOffset, pathOffset + 33), + unittest.equals('androidenterprise/v1/enterprises/'), ); - pathOffset += 39; + pathOffset += 33; + index = path.indexOf('/generateEnterpriseUpgradeUrl', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_enterpriseId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 29), + unittest.equals('/generateEnterpriseUpgradeUrl'), + ); + pathOffset += 29; final query = req.url.query; var queryOffset = 0; @@ -5064,8 +5206,12 @@ void main() { } } unittest.expect( - queryMap['token']!.first, - unittest.equals(arg_token), + queryMap['adminEmail']!.first, + unittest.equals(arg_adminEmail), + ); + unittest.expect( + queryMap['allowedDomains']!, + unittest.equals(arg_allowedDomains), ); unittest.expect( queryMap['fields']!.first, @@ -5075,18 +5221,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildEnterprise()); + final resp = + convert.json.encode(buildGenerateEnterpriseUpgradeUrlResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.enroll(arg_request, arg_token, $fields: arg_$fields); - checkEnterprise(response as api.Enterprise); + final response = await res.generateEnterpriseUpgradeUrl(arg_enterpriseId, + adminEmail: arg_adminEmail, + allowedDomains: arg_allowedDomains, + $fields: arg_$fields); + checkGenerateEnterpriseUpgradeUrlResponse( + response as api.GenerateEnterpriseUpgradeUrlResponse); }); unittest.test('method--generateSignupUrl', () async { final mock = HttpServerMock(); final res = api.AndroidEnterpriseApi(mock).enterprises; final arg_adminEmail = 'foo'; + final arg_allowedDomains = buildUnnamed56(); final arg_callbackUrl = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -5124,6 +5275,10 @@ void main() { queryMap['adminEmail']!.first, unittest.equals(arg_adminEmail), ); + unittest.expect( + queryMap['allowedDomains']!, + unittest.equals(arg_allowedDomains), + ); unittest.expect( queryMap['callbackUrl']!.first, unittest.equals(arg_callbackUrl), @@ -5141,6 +5296,7 @@ void main() { }), true); final response = await res.generateSignupUrl( adminEmail: arg_adminEmail, + allowedDomains: arg_allowedDomains, callbackUrl: arg_callbackUrl, $fields: arg_$fields); checkSignupInfo(response as api.SignupInfo); diff --git a/generated/googleapis/test/androidmanagement/v1_test.dart b/generated/googleapis/test/androidmanagement/v1_test.dart index c54c3a4a1..9920acd0f 100644 --- a/generated/googleapis/test/androidmanagement/v1_test.dart +++ b/generated/googleapis/test/androidmanagement/v1_test.dart @@ -1834,8 +1834,11 @@ api.Enterprise buildEnterprise() { o.contactInfo = buildContactInfo(); o.enabledNotificationTypes = buildUnnamed32(); o.enterpriseDisplayName = 'foo'; + o.enterpriseType = 'foo'; o.googleAuthenticationSettings = buildGoogleAuthenticationSettings(); o.logo = buildExternalData(); + o.managedGoogleDomainType = 'foo'; + o.managedGooglePlayAccountsEnterpriseType = 'foo'; o.name = 'foo'; o.primaryColor = 42; o.pubsubTopic = 'foo'; @@ -1856,8 +1859,20 @@ void checkEnterprise(api.Enterprise o) { o.enterpriseDisplayName!, unittest.equals('foo'), ); + unittest.expect( + o.enterpriseType!, + unittest.equals('foo'), + ); checkGoogleAuthenticationSettings(o.googleAuthenticationSettings!); checkExternalData(o.logo!); + unittest.expect( + o.managedGoogleDomainType!, + unittest.equals('foo'), + ); + unittest.expect( + o.managedGooglePlayAccountsEnterpriseType!, + unittest.equals('foo'), + ); unittest.expect( o.name!, unittest.equals('foo'), @@ -1965,6 +1980,73 @@ void checkFreezePeriod(api.FreezePeriod o) { buildCounterFreezePeriod--; } +core.List buildUnnamed36() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed36(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterGenerateEnterpriseUpgradeUrlRequest = 0; +api.GenerateEnterpriseUpgradeUrlRequest + buildGenerateEnterpriseUpgradeUrlRequest() { + final o = api.GenerateEnterpriseUpgradeUrlRequest(); + buildCounterGenerateEnterpriseUpgradeUrlRequest++; + if (buildCounterGenerateEnterpriseUpgradeUrlRequest < 3) { + o.adminEmail = 'foo'; + o.allowedDomains = buildUnnamed36(); + } + buildCounterGenerateEnterpriseUpgradeUrlRequest--; + return o; +} + +void checkGenerateEnterpriseUpgradeUrlRequest( + api.GenerateEnterpriseUpgradeUrlRequest o) { + buildCounterGenerateEnterpriseUpgradeUrlRequest++; + if (buildCounterGenerateEnterpriseUpgradeUrlRequest < 3) { + unittest.expect( + o.adminEmail!, + unittest.equals('foo'), + ); + checkUnnamed36(o.allowedDomains!); + } + buildCounterGenerateEnterpriseUpgradeUrlRequest--; +} + +core.int buildCounterGenerateEnterpriseUpgradeUrlResponse = 0; +api.GenerateEnterpriseUpgradeUrlResponse + buildGenerateEnterpriseUpgradeUrlResponse() { + final o = api.GenerateEnterpriseUpgradeUrlResponse(); + buildCounterGenerateEnterpriseUpgradeUrlResponse++; + if (buildCounterGenerateEnterpriseUpgradeUrlResponse < 3) { + o.url = 'foo'; + } + buildCounterGenerateEnterpriseUpgradeUrlResponse--; + return o; +} + +void checkGenerateEnterpriseUpgradeUrlResponse( + api.GenerateEnterpriseUpgradeUrlResponse o) { + buildCounterGenerateEnterpriseUpgradeUrlResponse++; + if (buildCounterGenerateEnterpriseUpgradeUrlResponse < 3) { + unittest.expect( + o.url!, + unittest.equals('foo'), + ); + } + buildCounterGenerateEnterpriseUpgradeUrlResponse--; +} + core.int buildCounterGoogleAuthenticationSettings = 0; api.GoogleAuthenticationSettings buildGoogleAuthenticationSettings() { final o = api.GoogleAuthenticationSettings(); @@ -1987,12 +2069,12 @@ void checkGoogleAuthenticationSettings(api.GoogleAuthenticationSettings o) { buildCounterGoogleAuthenticationSettings--; } -core.List buildUnnamed36() => [ +core.List buildUnnamed37() => [ 42.0, 42.0, ]; -void checkUnnamed36(core.List o) { +void checkUnnamed37(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2004,12 +2086,12 @@ void checkUnnamed36(core.List o) { ); } -core.List buildUnnamed37() => [ +core.List buildUnnamed38() => [ 42.0, 42.0, ]; -void checkUnnamed37(core.List o) { +void checkUnnamed38(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2021,12 +2103,12 @@ void checkUnnamed37(core.List o) { ); } -core.List buildUnnamed38() => [ +core.List buildUnnamed39() => [ 42.0, 42.0, ]; -void checkUnnamed38(core.List o) { +void checkUnnamed39(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2038,12 +2120,12 @@ void checkUnnamed38(core.List o) { ); } -core.List buildUnnamed39() => [ +core.List buildUnnamed40() => [ 42.0, 42.0, ]; -void checkUnnamed39(core.List o) { +void checkUnnamed40(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2055,12 +2137,12 @@ void checkUnnamed39(core.List o) { ); } -core.List buildUnnamed40() => [ +core.List buildUnnamed41() => [ 42.0, 42.0, ]; -void checkUnnamed40(core.List o) { +void checkUnnamed41(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2072,12 +2154,12 @@ void checkUnnamed40(core.List o) { ); } -core.List buildUnnamed41() => [ +core.List buildUnnamed42() => [ 42.0, 42.0, ]; -void checkUnnamed41(core.List o) { +void checkUnnamed42(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2089,12 +2171,12 @@ void checkUnnamed41(core.List o) { ); } -core.List buildUnnamed42() => [ +core.List buildUnnamed43() => [ 42.0, 42.0, ]; -void checkUnnamed42(core.List o) { +void checkUnnamed43(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2106,12 +2188,12 @@ void checkUnnamed42(core.List o) { ); } -core.List buildUnnamed43() => [ +core.List buildUnnamed44() => [ 42.0, 42.0, ]; -void checkUnnamed43(core.List o) { +void checkUnnamed44(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2128,21 +2210,21 @@ api.HardwareInfo buildHardwareInfo() { final o = api.HardwareInfo(); buildCounterHardwareInfo++; if (buildCounterHardwareInfo < 3) { - o.batteryShutdownTemperatures = buildUnnamed36(); - o.batteryThrottlingTemperatures = buildUnnamed37(); + o.batteryShutdownTemperatures = buildUnnamed37(); + o.batteryThrottlingTemperatures = buildUnnamed38(); o.brand = 'foo'; - o.cpuShutdownTemperatures = buildUnnamed38(); - o.cpuThrottlingTemperatures = buildUnnamed39(); + o.cpuShutdownTemperatures = buildUnnamed39(); + o.cpuThrottlingTemperatures = buildUnnamed40(); o.deviceBasebandVersion = 'foo'; o.enterpriseSpecificId = 'foo'; - o.gpuShutdownTemperatures = buildUnnamed40(); - o.gpuThrottlingTemperatures = buildUnnamed41(); + o.gpuShutdownTemperatures = buildUnnamed41(); + o.gpuThrottlingTemperatures = buildUnnamed42(); o.hardware = 'foo'; o.manufacturer = 'foo'; o.model = 'foo'; o.serialNumber = 'foo'; - o.skinShutdownTemperatures = buildUnnamed42(); - o.skinThrottlingTemperatures = buildUnnamed43(); + o.skinShutdownTemperatures = buildUnnamed43(); + o.skinThrottlingTemperatures = buildUnnamed44(); } buildCounterHardwareInfo--; return o; @@ -2151,14 +2233,14 @@ api.HardwareInfo buildHardwareInfo() { void checkHardwareInfo(api.HardwareInfo o) { buildCounterHardwareInfo++; if (buildCounterHardwareInfo < 3) { - checkUnnamed36(o.batteryShutdownTemperatures!); - checkUnnamed37(o.batteryThrottlingTemperatures!); + checkUnnamed37(o.batteryShutdownTemperatures!); + checkUnnamed38(o.batteryThrottlingTemperatures!); unittest.expect( o.brand!, unittest.equals('foo'), ); - checkUnnamed38(o.cpuShutdownTemperatures!); - checkUnnamed39(o.cpuThrottlingTemperatures!); + checkUnnamed39(o.cpuShutdownTemperatures!); + checkUnnamed40(o.cpuThrottlingTemperatures!); unittest.expect( o.deviceBasebandVersion!, unittest.equals('foo'), @@ -2167,8 +2249,8 @@ void checkHardwareInfo(api.HardwareInfo o) { o.enterpriseSpecificId!, unittest.equals('foo'), ); - checkUnnamed40(o.gpuShutdownTemperatures!); - checkUnnamed41(o.gpuThrottlingTemperatures!); + checkUnnamed41(o.gpuShutdownTemperatures!); + checkUnnamed42(o.gpuThrottlingTemperatures!); unittest.expect( o.hardware!, unittest.equals('foo'), @@ -2185,18 +2267,18 @@ void checkHardwareInfo(api.HardwareInfo o) { o.serialNumber!, unittest.equals('foo'), ); - checkUnnamed42(o.skinShutdownTemperatures!); - checkUnnamed43(o.skinThrottlingTemperatures!); + checkUnnamed43(o.skinShutdownTemperatures!); + checkUnnamed44(o.skinThrottlingTemperatures!); } buildCounterHardwareInfo--; } -core.List buildUnnamed44() => [ +core.List buildUnnamed45() => [ 42.0, 42.0, ]; -void checkUnnamed44(core.List o) { +void checkUnnamed45(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2208,12 +2290,12 @@ void checkUnnamed44(core.List o) { ); } -core.List buildUnnamed45() => [ +core.List buildUnnamed46() => [ 42.0, 42.0, ]; -void checkUnnamed45(core.List o) { +void checkUnnamed46(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2225,12 +2307,12 @@ void checkUnnamed45(core.List o) { ); } -core.List buildUnnamed46() => [ +core.List buildUnnamed47() => [ 42.0, 42.0, ]; -void checkUnnamed46(core.List o) { +void checkUnnamed47(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2242,12 +2324,12 @@ void checkUnnamed46(core.List o) { ); } -core.List buildUnnamed47() => [ +core.List buildUnnamed48() => [ 42.0, 42.0, ]; -void checkUnnamed47(core.List o) { +void checkUnnamed48(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2259,12 +2341,12 @@ void checkUnnamed47(core.List o) { ); } -core.List buildUnnamed48() => [ +core.List buildUnnamed49() => [ 42.0, 42.0, ]; -void checkUnnamed48(core.List o) { +void checkUnnamed49(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2276,12 +2358,12 @@ void checkUnnamed48(core.List o) { ); } -core.List buildUnnamed49() => [ +core.List buildUnnamed50() => [ 42.0, 42.0, ]; -void checkUnnamed49(core.List o) { +void checkUnnamed50(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2298,13 +2380,13 @@ api.HardwareStatus buildHardwareStatus() { final o = api.HardwareStatus(); buildCounterHardwareStatus++; if (buildCounterHardwareStatus < 3) { - o.batteryTemperatures = buildUnnamed44(); - o.cpuTemperatures = buildUnnamed45(); - o.cpuUsages = buildUnnamed46(); + o.batteryTemperatures = buildUnnamed45(); + o.cpuTemperatures = buildUnnamed46(); + o.cpuUsages = buildUnnamed47(); o.createTime = 'foo'; - o.fanSpeeds = buildUnnamed47(); - o.gpuTemperatures = buildUnnamed48(); - o.skinTemperatures = buildUnnamed49(); + o.fanSpeeds = buildUnnamed48(); + o.gpuTemperatures = buildUnnamed49(); + o.skinTemperatures = buildUnnamed50(); } buildCounterHardwareStatus--; return o; @@ -2313,16 +2395,16 @@ api.HardwareStatus buildHardwareStatus() { void checkHardwareStatus(api.HardwareStatus o) { buildCounterHardwareStatus++; if (buildCounterHardwareStatus < 3) { - checkUnnamed44(o.batteryTemperatures!); - checkUnnamed45(o.cpuTemperatures!); - checkUnnamed46(o.cpuUsages!); + checkUnnamed45(o.batteryTemperatures!); + checkUnnamed46(o.cpuTemperatures!); + checkUnnamed47(o.cpuUsages!); unittest.expect( o.createTime!, unittest.equals('foo'), ); - checkUnnamed47(o.fanSpeeds!); - checkUnnamed48(o.gpuTemperatures!); - checkUnnamed49(o.skinTemperatures!); + checkUnnamed48(o.fanSpeeds!); + checkUnnamed49(o.gpuTemperatures!); + checkUnnamed50(o.skinTemperatures!); } buildCounterHardwareStatus--; } @@ -2470,12 +2552,12 @@ void checkLaunchAppAction(api.LaunchAppAction o) { buildCounterLaunchAppAction--; } -core.List buildUnnamed50() => [ +core.List buildUnnamed51() => [ buildDevice(), buildDevice(), ]; -void checkUnnamed50(core.List o) { +void checkUnnamed51(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDevice(o[0]); checkDevice(o[1]); @@ -2486,7 +2568,7 @@ api.ListDevicesResponse buildListDevicesResponse() { final o = api.ListDevicesResponse(); buildCounterListDevicesResponse++; if (buildCounterListDevicesResponse < 3) { - o.devices = buildUnnamed50(); + o.devices = buildUnnamed51(); o.nextPageToken = 'foo'; } buildCounterListDevicesResponse--; @@ -2496,7 +2578,7 @@ api.ListDevicesResponse buildListDevicesResponse() { void checkListDevicesResponse(api.ListDevicesResponse o) { buildCounterListDevicesResponse++; if (buildCounterListDevicesResponse < 3) { - checkUnnamed50(o.devices!); + checkUnnamed51(o.devices!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2505,12 +2587,12 @@ void checkListDevicesResponse(api.ListDevicesResponse o) { buildCounterListDevicesResponse--; } -core.List buildUnnamed51() => [ +core.List buildUnnamed52() => [ buildEnrollmentToken(), buildEnrollmentToken(), ]; -void checkUnnamed51(core.List o) { +void checkUnnamed52(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEnrollmentToken(o[0]); checkEnrollmentToken(o[1]); @@ -2521,7 +2603,7 @@ api.ListEnrollmentTokensResponse buildListEnrollmentTokensResponse() { final o = api.ListEnrollmentTokensResponse(); buildCounterListEnrollmentTokensResponse++; if (buildCounterListEnrollmentTokensResponse < 3) { - o.enrollmentTokens = buildUnnamed51(); + o.enrollmentTokens = buildUnnamed52(); o.nextPageToken = 'foo'; } buildCounterListEnrollmentTokensResponse--; @@ -2531,7 +2613,7 @@ api.ListEnrollmentTokensResponse buildListEnrollmentTokensResponse() { void checkListEnrollmentTokensResponse(api.ListEnrollmentTokensResponse o) { buildCounterListEnrollmentTokensResponse++; if (buildCounterListEnrollmentTokensResponse < 3) { - checkUnnamed51(o.enrollmentTokens!); + checkUnnamed52(o.enrollmentTokens!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2540,12 +2622,12 @@ void checkListEnrollmentTokensResponse(api.ListEnrollmentTokensResponse o) { buildCounterListEnrollmentTokensResponse--; } -core.List buildUnnamed52() => [ +core.List buildUnnamed53() => [ buildEnterprise(), buildEnterprise(), ]; -void checkUnnamed52(core.List o) { +void checkUnnamed53(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEnterprise(o[0]); checkEnterprise(o[1]); @@ -2556,7 +2638,7 @@ api.ListEnterprisesResponse buildListEnterprisesResponse() { final o = api.ListEnterprisesResponse(); buildCounterListEnterprisesResponse++; if (buildCounterListEnterprisesResponse < 3) { - o.enterprises = buildUnnamed52(); + o.enterprises = buildUnnamed53(); o.nextPageToken = 'foo'; } buildCounterListEnterprisesResponse--; @@ -2566,7 +2648,7 @@ api.ListEnterprisesResponse buildListEnterprisesResponse() { void checkListEnterprisesResponse(api.ListEnterprisesResponse o) { buildCounterListEnterprisesResponse++; if (buildCounterListEnterprisesResponse < 3) { - checkUnnamed52(o.enterprises!); + checkUnnamed53(o.enterprises!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2575,12 +2657,12 @@ void checkListEnterprisesResponse(api.ListEnterprisesResponse o) { buildCounterListEnterprisesResponse--; } -core.List buildUnnamed53() => [ +core.List buildUnnamed54() => [ buildMigrationToken(), buildMigrationToken(), ]; -void checkUnnamed53(core.List o) { +void checkUnnamed54(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMigrationToken(o[0]); checkMigrationToken(o[1]); @@ -2591,7 +2673,7 @@ api.ListMigrationTokensResponse buildListMigrationTokensResponse() { final o = api.ListMigrationTokensResponse(); buildCounterListMigrationTokensResponse++; if (buildCounterListMigrationTokensResponse < 3) { - o.migrationTokens = buildUnnamed53(); + o.migrationTokens = buildUnnamed54(); o.nextPageToken = 'foo'; } buildCounterListMigrationTokensResponse--; @@ -2601,7 +2683,7 @@ api.ListMigrationTokensResponse buildListMigrationTokensResponse() { void checkListMigrationTokensResponse(api.ListMigrationTokensResponse o) { buildCounterListMigrationTokensResponse++; if (buildCounterListMigrationTokensResponse < 3) { - checkUnnamed53(o.migrationTokens!); + checkUnnamed54(o.migrationTokens!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2610,12 +2692,12 @@ void checkListMigrationTokensResponse(api.ListMigrationTokensResponse o) { buildCounterListMigrationTokensResponse--; } -core.List buildUnnamed54() => [ +core.List buildUnnamed55() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed54(core.List o) { +void checkUnnamed55(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -2627,7 +2709,7 @@ api.ListOperationsResponse buildListOperationsResponse() { buildCounterListOperationsResponse++; if (buildCounterListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed54(); + o.operations = buildUnnamed55(); } buildCounterListOperationsResponse--; return o; @@ -2640,17 +2722,17 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed54(o.operations!); + checkUnnamed55(o.operations!); } buildCounterListOperationsResponse--; } -core.List buildUnnamed55() => [ +core.List buildUnnamed56() => [ buildPolicy(), buildPolicy(), ]; -void checkUnnamed55(core.List o) { +void checkUnnamed56(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPolicy(o[0]); checkPolicy(o[1]); @@ -2662,7 +2744,7 @@ api.ListPoliciesResponse buildListPoliciesResponse() { buildCounterListPoliciesResponse++; if (buildCounterListPoliciesResponse < 3) { o.nextPageToken = 'foo'; - o.policies = buildUnnamed55(); + o.policies = buildUnnamed56(); } buildCounterListPoliciesResponse--; return o; @@ -2675,17 +2757,17 @@ void checkListPoliciesResponse(api.ListPoliciesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed55(o.policies!); + checkUnnamed56(o.policies!); } buildCounterListPoliciesResponse--; } -core.List buildUnnamed56() => [ +core.List buildUnnamed57() => [ buildWebApp(), buildWebApp(), ]; -void checkUnnamed56(core.List o) { +void checkUnnamed57(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWebApp(o[0]); checkWebApp(o[1]); @@ -2697,7 +2779,7 @@ api.ListWebAppsResponse buildListWebAppsResponse() { buildCounterListWebAppsResponse++; if (buildCounterListWebAppsResponse < 3) { o.nextPageToken = 'foo'; - o.webApps = buildUnnamed56(); + o.webApps = buildUnnamed57(); } buildCounterListWebAppsResponse--; return o; @@ -2710,17 +2792,17 @@ void checkListWebAppsResponse(api.ListWebAppsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed56(o.webApps!); + checkUnnamed57(o.webApps!); } buildCounterListWebAppsResponse--; } -core.Map buildUnnamed57() => { +core.Map buildUnnamed58() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed57(core.Map o) { +void checkUnnamed58(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2737,7 +2819,7 @@ api.ManagedConfigurationTemplate buildManagedConfigurationTemplate() { final o = api.ManagedConfigurationTemplate(); buildCounterManagedConfigurationTemplate++; if (buildCounterManagedConfigurationTemplate < 3) { - o.configurationVariables = buildUnnamed57(); + o.configurationVariables = buildUnnamed58(); o.templateId = 'foo'; } buildCounterManagedConfigurationTemplate--; @@ -2747,7 +2829,7 @@ api.ManagedConfigurationTemplate buildManagedConfigurationTemplate() { void checkManagedConfigurationTemplate(api.ManagedConfigurationTemplate o) { buildCounterManagedConfigurationTemplate++; if (buildCounterManagedConfigurationTemplate < 3) { - checkUnnamed57(o.configurationVariables!); + checkUnnamed58(o.configurationVariables!); unittest.expect( o.templateId!, unittest.equals('foo'), @@ -2756,23 +2838,23 @@ void checkManagedConfigurationTemplate(api.ManagedConfigurationTemplate o) { buildCounterManagedConfigurationTemplate--; } -core.List buildUnnamed58() => [ +core.List buildUnnamed59() => [ buildManagedPropertyEntry(), buildManagedPropertyEntry(), ]; -void checkUnnamed58(core.List o) { +void checkUnnamed59(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkManagedPropertyEntry(o[0]); checkManagedPropertyEntry(o[1]); } -core.List buildUnnamed59() => [ +core.List buildUnnamed60() => [ buildManagedProperty(), buildManagedProperty(), ]; -void checkUnnamed59(core.List o) { +void checkUnnamed60(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkManagedProperty(o[0]); checkManagedProperty(o[1]); @@ -2789,9 +2871,9 @@ api.ManagedProperty buildManagedProperty() { 'string': 'foo' }; o.description = 'foo'; - o.entries = buildUnnamed58(); + o.entries = buildUnnamed59(); o.key = 'foo'; - o.nestedProperties = buildUnnamed59(); + o.nestedProperties = buildUnnamed60(); o.title = 'foo'; o.type = 'foo'; } @@ -2820,12 +2902,12 @@ void checkManagedProperty(api.ManagedProperty o) { o.description!, unittest.equals('foo'), ); - checkUnnamed58(o.entries!); + checkUnnamed59(o.entries!); unittest.expect( o.key!, unittest.equals('foo'), ); - checkUnnamed59(o.nestedProperties!); + checkUnnamed60(o.nestedProperties!); unittest.expect( o.title!, unittest.equals('foo'), @@ -2996,12 +3078,12 @@ void checkMigrationToken(api.MigrationToken o) { buildCounterMigrationToken--; } -core.List buildUnnamed60() => [ +core.List buildUnnamed61() => [ buildTelephonyInfo(), buildTelephonyInfo(), ]; -void checkUnnamed60(core.List o) { +void checkUnnamed61(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTelephonyInfo(o[0]); checkTelephonyInfo(o[1]); @@ -3015,7 +3097,7 @@ api.NetworkInfo buildNetworkInfo() { o.imei = 'foo'; o.meid = 'foo'; o.networkOperatorName = 'foo'; - o.telephonyInfos = buildUnnamed60(); + o.telephonyInfos = buildUnnamed61(); o.wifiMacAddress = 'foo'; } buildCounterNetworkInfo--; @@ -3037,7 +3119,7 @@ void checkNetworkInfo(api.NetworkInfo o) { o.networkOperatorName!, unittest.equals('foo'), ); - checkUnnamed60(o.telephonyInfos!); + checkUnnamed61(o.telephonyInfos!); unittest.expect( o.wifiMacAddress!, unittest.equals('foo'), @@ -3146,12 +3228,12 @@ void checkNonComplianceDetailCondition(api.NonComplianceDetailCondition o) { buildCounterNonComplianceDetailCondition--; } -core.List buildUnnamed61() => [ +core.List buildUnnamed62() => [ 'foo', 'foo', ]; -void checkUnnamed61(core.List o) { +void checkUnnamed62(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3168,7 +3250,7 @@ api.OncCertificateProvider buildOncCertificateProvider() { final o = api.OncCertificateProvider(); buildCounterOncCertificateProvider++; if (buildCounterOncCertificateProvider < 3) { - o.certificateReferences = buildUnnamed61(); + o.certificateReferences = buildUnnamed62(); o.contentProviderEndpoint = buildContentProviderEndpoint(); } buildCounterOncCertificateProvider--; @@ -3178,7 +3260,7 @@ api.OncCertificateProvider buildOncCertificateProvider() { void checkOncCertificateProvider(api.OncCertificateProvider o) { buildCounterOncCertificateProvider++; if (buildCounterOncCertificateProvider < 3) { - checkUnnamed61(o.certificateReferences!); + checkUnnamed62(o.certificateReferences!); checkContentProviderEndpoint(o.contentProviderEndpoint!); } buildCounterOncCertificateProvider--; @@ -3206,7 +3288,7 @@ void checkOncWifiContext(api.OncWifiContext o) { buildCounterOncWifiContext--; } -core.Map buildUnnamed62() => { +core.Map buildUnnamed63() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3219,7 +3301,7 @@ core.Map buildUnnamed62() => { }, }; -void checkUnnamed62(core.Map o) { +void checkUnnamed63(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -3251,7 +3333,7 @@ void checkUnnamed62(core.Map o) { ); } -core.Map buildUnnamed63() => { +core.Map buildUnnamed64() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3264,7 +3346,7 @@ core.Map buildUnnamed63() => { }, }; -void checkUnnamed63(core.Map o) { +void checkUnnamed64(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -3303,9 +3385,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed62(); + o.metadata = buildUnnamed63(); o.name = 'foo'; - o.response = buildUnnamed63(); + o.response = buildUnnamed64(); } buildCounterOperation--; return o; @@ -3316,22 +3398,22 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed62(o.metadata!); + checkUnnamed63(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed63(o.response!); + checkUnnamed64(o.response!); } buildCounterOperation--; } -core.List buildUnnamed64() => [ +core.List buildUnnamed65() => [ 'foo', 'foo', ]; -void checkUnnamed64(core.List o) { +void checkUnnamed65(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3348,7 +3430,7 @@ api.PackageNameList buildPackageNameList() { final o = api.PackageNameList(); buildCounterPackageNameList++; if (buildCounterPackageNameList < 3) { - o.packageNames = buildUnnamed64(); + o.packageNames = buildUnnamed65(); } buildCounterPackageNameList--; return o; @@ -3357,7 +3439,7 @@ api.PackageNameList buildPackageNameList() { void checkPackageNameList(api.PackageNameList o) { buildCounterPackageNameList++; if (buildCounterPackageNameList < 3) { - checkUnnamed64(o.packageNames!); + checkUnnamed65(o.packageNames!); } buildCounterPackageNameList--; } @@ -3520,12 +3602,12 @@ void checkPermissionGrant(api.PermissionGrant o) { buildCounterPermissionGrant--; } -core.List buildUnnamed65() => [ +core.List buildUnnamed66() => [ 'foo', 'foo', ]; -void checkUnnamed65(core.List o) { +void checkUnnamed66(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3537,12 +3619,12 @@ void checkUnnamed65(core.List o) { ); } -core.List buildUnnamed66() => [ +core.List buildUnnamed67() => [ 'foo', 'foo', ]; -void checkUnnamed66(core.List o) { +void checkUnnamed67(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3559,8 +3641,8 @@ api.PersistentPreferredActivity buildPersistentPreferredActivity() { final o = api.PersistentPreferredActivity(); buildCounterPersistentPreferredActivity++; if (buildCounterPersistentPreferredActivity < 3) { - o.actions = buildUnnamed65(); - o.categories = buildUnnamed66(); + o.actions = buildUnnamed66(); + o.categories = buildUnnamed67(); o.receiverActivity = 'foo'; } buildCounterPersistentPreferredActivity--; @@ -3570,8 +3652,8 @@ api.PersistentPreferredActivity buildPersistentPreferredActivity() { void checkPersistentPreferredActivity(api.PersistentPreferredActivity o) { buildCounterPersistentPreferredActivity++; if (buildCounterPersistentPreferredActivity < 3) { - checkUnnamed65(o.actions!); - checkUnnamed66(o.categories!); + checkUnnamed66(o.actions!); + checkUnnamed67(o.categories!); unittest.expect( o.receiverActivity!, unittest.equals('foo'), @@ -3607,12 +3689,12 @@ void checkPersonalApplicationPolicy(api.PersonalApplicationPolicy o) { buildCounterPersonalApplicationPolicy--; } -core.List buildUnnamed67() => [ +core.List buildUnnamed68() => [ 'foo', 'foo', ]; -void checkUnnamed67(core.List o) { +void checkUnnamed68(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3624,12 +3706,12 @@ void checkUnnamed67(core.List o) { ); } -core.List buildUnnamed68() => [ +core.List buildUnnamed69() => [ buildPersonalApplicationPolicy(), buildPersonalApplicationPolicy(), ]; -void checkUnnamed68(core.List o) { +void checkUnnamed69(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPersonalApplicationPolicy(o[0]); checkPersonalApplicationPolicy(o[1]); @@ -3640,10 +3722,10 @@ api.PersonalUsagePolicies buildPersonalUsagePolicies() { final o = api.PersonalUsagePolicies(); buildCounterPersonalUsagePolicies++; if (buildCounterPersonalUsagePolicies < 3) { - o.accountTypesWithManagementDisabled = buildUnnamed67(); + o.accountTypesWithManagementDisabled = buildUnnamed68(); o.cameraDisabled = true; o.maxDaysWithWorkOff = 42; - o.personalApplications = buildUnnamed68(); + o.personalApplications = buildUnnamed69(); o.personalPlayStoreMode = 'foo'; o.privateSpacePolicy = 'foo'; o.screenCaptureDisabled = true; @@ -3655,13 +3737,13 @@ api.PersonalUsagePolicies buildPersonalUsagePolicies() { void checkPersonalUsagePolicies(api.PersonalUsagePolicies o) { buildCounterPersonalUsagePolicies++; if (buildCounterPersonalUsagePolicies < 3) { - checkUnnamed67(o.accountTypesWithManagementDisabled!); + checkUnnamed68(o.accountTypesWithManagementDisabled!); unittest.expect(o.cameraDisabled!, unittest.isTrue); unittest.expect( o.maxDaysWithWorkOff!, unittest.equals(42), ); - checkUnnamed68(o.personalApplications!); + checkUnnamed69(o.personalApplications!); unittest.expect( o.personalPlayStoreMode!, unittest.equals('foo'), @@ -3675,12 +3757,12 @@ void checkPersonalUsagePolicies(api.PersonalUsagePolicies o) { buildCounterPersonalUsagePolicies--; } -core.List buildUnnamed69() => [ +core.List buildUnnamed70() => [ 'foo', 'foo', ]; -void checkUnnamed69(core.List o) { +void checkUnnamed70(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3692,12 +3774,12 @@ void checkUnnamed69(core.List o) { ); } -core.List buildUnnamed70() => [ +core.List buildUnnamed71() => [ 'foo', 'foo', ]; -void checkUnnamed70(core.List o) { +void checkUnnamed71(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3709,45 +3791,45 @@ void checkUnnamed70(core.List o) { ); } -core.List buildUnnamed71() => [ +core.List buildUnnamed72() => [ buildApplicationPolicy(), buildApplicationPolicy(), ]; -void checkUnnamed71(core.List o) { +void checkUnnamed72(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkApplicationPolicy(o[0]); checkApplicationPolicy(o[1]); } -core.List buildUnnamed72() => [ +core.List buildUnnamed73() => [ buildChoosePrivateKeyRule(), buildChoosePrivateKeyRule(), ]; -void checkUnnamed72(core.List o) { +void checkUnnamed73(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkChoosePrivateKeyRule(o[0]); checkChoosePrivateKeyRule(o[1]); } -core.List buildUnnamed73() => [ +core.List buildUnnamed74() => [ buildComplianceRule(), buildComplianceRule(), ]; -void checkUnnamed73(core.List o) { +void checkUnnamed74(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkComplianceRule(o[0]); checkComplianceRule(o[1]); } -core.List buildUnnamed74() => [ +core.List buildUnnamed75() => [ 'foo', 'foo', ]; -void checkUnnamed74(core.List o) { +void checkUnnamed75(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3759,12 +3841,12 @@ void checkUnnamed74(core.List o) { ); } -core.List buildUnnamed75() => [ +core.List buildUnnamed76() => [ 'foo', 'foo', ]; -void checkUnnamed75(core.List o) { +void checkUnnamed76(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3776,18 +3858,18 @@ void checkUnnamed75(core.List o) { ); } -core.List buildUnnamed76() => [ +core.List buildUnnamed77() => [ buildOncCertificateProvider(), buildOncCertificateProvider(), ]; -void checkUnnamed76(core.List o) { +void checkUnnamed77(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOncCertificateProvider(o[0]); checkOncCertificateProvider(o[1]); } -core.Map buildUnnamed77() => { +core.Map buildUnnamed78() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3800,7 +3882,7 @@ core.Map buildUnnamed77() => { }, }; -void checkUnnamed77(core.Map o) { +void checkUnnamed78(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted9 = (o['x']!) as core.Map; unittest.expect(casted9, unittest.hasLength(3)); @@ -3832,67 +3914,67 @@ void checkUnnamed77(core.Map o) { ); } -core.List buildUnnamed78() => [ +core.List buildUnnamed79() => [ buildPasswordRequirements(), buildPasswordRequirements(), ]; -void checkUnnamed78(core.List o) { +void checkUnnamed79(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPasswordRequirements(o[0]); checkPasswordRequirements(o[1]); } -core.List buildUnnamed79() => [ +core.List buildUnnamed80() => [ buildPermissionGrant(), buildPermissionGrant(), ]; -void checkUnnamed79(core.List o) { +void checkUnnamed80(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPermissionGrant(o[0]); checkPermissionGrant(o[1]); } -core.List buildUnnamed80() => [ +core.List buildUnnamed81() => [ buildPersistentPreferredActivity(), buildPersistentPreferredActivity(), ]; -void checkUnnamed80(core.List o) { +void checkUnnamed81(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPersistentPreferredActivity(o[0]); checkPersistentPreferredActivity(o[1]); } -core.List buildUnnamed81() => [ +core.List buildUnnamed82() => [ buildPolicyEnforcementRule(), buildPolicyEnforcementRule(), ]; -void checkUnnamed81(core.List o) { +void checkUnnamed82(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPolicyEnforcementRule(o[0]); checkPolicyEnforcementRule(o[1]); } -core.List buildUnnamed82() => [ +core.List buildUnnamed83() => [ buildSetupAction(), buildSetupAction(), ]; -void checkUnnamed82(core.List o) { +void checkUnnamed83(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSetupAction(o[0]); checkSetupAction(o[1]); } -core.List buildUnnamed83() => [ +core.List buildUnnamed84() => [ 'foo', 'foo', ]; -void checkUnnamed83(core.List o) { +void checkUnnamed84(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3909,14 +3991,14 @@ api.Policy buildPolicy() { final o = api.Policy(); buildCounterPolicy++; if (buildCounterPolicy < 3) { - o.accountTypesWithManagementDisabled = buildUnnamed69(); + o.accountTypesWithManagementDisabled = buildUnnamed70(); o.addUserDisabled = true; o.adjustVolumeDisabled = true; o.advancedSecurityOverrides = buildAdvancedSecurityOverrides(); o.alwaysOnVpnPackage = buildAlwaysOnVpnPackage(); - o.androidDevicePolicyTracks = buildUnnamed70(); + o.androidDevicePolicyTracks = buildUnnamed71(); o.appAutoUpdatePolicy = 'foo'; - o.applications = buildUnnamed71(); + o.applications = buildUnnamed72(); o.assistContentPolicy = 'foo'; o.autoDateAndTimeZone = 'foo'; o.autoTimeRequired = true; @@ -3927,8 +4009,8 @@ api.Policy buildPolicy() { o.cameraAccess = 'foo'; o.cameraDisabled = true; o.cellBroadcastsConfigDisabled = true; - o.choosePrivateKeyRules = buildUnnamed72(); - o.complianceRules = buildUnnamed73(); + o.choosePrivateKeyRules = buildUnnamed73(); + o.complianceRules = buildUnnamed74(); o.createWindowsDisabled = true; o.credentialProviderPolicyDefault = 'foo'; o.credentialsConfigDisabled = true; @@ -3943,12 +4025,12 @@ api.Policy buildPolicy() { o.encryptionPolicy = 'foo'; o.ensureVerifyAppsEnabled = true; o.factoryResetDisabled = true; - o.frpAdminEmails = buildUnnamed74(); + o.frpAdminEmails = buildUnnamed75(); o.funDisabled = true; o.installAppsDisabled = true; o.installUnknownSourcesAllowed = true; o.keyguardDisabled = true; - o.keyguardDisabledFeatures = buildUnnamed75(); + o.keyguardDisabledFeatures = buildUnnamed76(); o.kioskCustomLauncherEnabled = true; o.kioskCustomization = buildKioskCustomization(); o.locationMode = 'foo'; @@ -3962,19 +4044,19 @@ api.Policy buildPolicy() { o.name = 'foo'; o.networkEscapeHatchEnabled = true; o.networkResetDisabled = true; - o.oncCertificateProviders = buildUnnamed76(); - o.openNetworkConfiguration = buildUnnamed77(); + o.oncCertificateProviders = buildUnnamed77(); + o.openNetworkConfiguration = buildUnnamed78(); o.outgoingBeamDisabled = true; o.outgoingCallsDisabled = true; - o.passwordPolicies = buildUnnamed78(); + o.passwordPolicies = buildUnnamed79(); o.passwordRequirements = buildPasswordRequirements(); - o.permissionGrants = buildUnnamed79(); + o.permissionGrants = buildUnnamed80(); o.permittedAccessibilityServices = buildPackageNameList(); o.permittedInputMethods = buildPackageNameList(); - o.persistentPreferredActivities = buildUnnamed80(); + o.persistentPreferredActivities = buildUnnamed81(); o.personalUsagePolicies = buildPersonalUsagePolicies(); o.playStoreMode = 'foo'; - o.policyEnforcementRules = buildUnnamed81(); + o.policyEnforcementRules = buildUnnamed82(); o.preferentialNetworkService = 'foo'; o.printingPolicy = 'foo'; o.privateKeySelectionEnabled = true; @@ -3984,14 +4066,14 @@ api.Policy buildPolicy() { o.screenCaptureDisabled = true; o.setUserIconDisabled = true; o.setWallpaperDisabled = true; - o.setupActions = buildUnnamed82(); + o.setupActions = buildUnnamed83(); o.shareLocationDisabled = true; o.shortSupportMessage = buildUserFacingMessage(); o.skipFirstUseHintsEnabled = true; o.smsDisabled = true; o.statusBarDisabled = true; o.statusReportingSettings = buildStatusReportingSettings(); - o.stayOnPluggedModes = buildUnnamed83(); + o.stayOnPluggedModes = buildUnnamed84(); o.systemUpdate = buildSystemUpdate(); o.tetheringConfigDisabled = true; o.uninstallAppsDisabled = true; @@ -4011,17 +4093,17 @@ api.Policy buildPolicy() { void checkPolicy(api.Policy o) { buildCounterPolicy++; if (buildCounterPolicy < 3) { - checkUnnamed69(o.accountTypesWithManagementDisabled!); + checkUnnamed70(o.accountTypesWithManagementDisabled!); unittest.expect(o.addUserDisabled!, unittest.isTrue); unittest.expect(o.adjustVolumeDisabled!, unittest.isTrue); checkAdvancedSecurityOverrides(o.advancedSecurityOverrides!); checkAlwaysOnVpnPackage(o.alwaysOnVpnPackage!); - checkUnnamed70(o.androidDevicePolicyTracks!); + checkUnnamed71(o.androidDevicePolicyTracks!); unittest.expect( o.appAutoUpdatePolicy!, unittest.equals('foo'), ); - checkUnnamed71(o.applications!); + checkUnnamed72(o.applications!); unittest.expect( o.assistContentPolicy!, unittest.equals('foo'), @@ -4041,8 +4123,8 @@ void checkPolicy(api.Policy o) { ); unittest.expect(o.cameraDisabled!, unittest.isTrue); unittest.expect(o.cellBroadcastsConfigDisabled!, unittest.isTrue); - checkUnnamed72(o.choosePrivateKeyRules!); - checkUnnamed73(o.complianceRules!); + checkUnnamed73(o.choosePrivateKeyRules!); + checkUnnamed74(o.complianceRules!); unittest.expect(o.createWindowsDisabled!, unittest.isTrue); unittest.expect( o.credentialProviderPolicyDefault!, @@ -4066,12 +4148,12 @@ void checkPolicy(api.Policy o) { ); unittest.expect(o.ensureVerifyAppsEnabled!, unittest.isTrue); unittest.expect(o.factoryResetDisabled!, unittest.isTrue); - checkUnnamed74(o.frpAdminEmails!); + checkUnnamed75(o.frpAdminEmails!); unittest.expect(o.funDisabled!, unittest.isTrue); unittest.expect(o.installAppsDisabled!, unittest.isTrue); unittest.expect(o.installUnknownSourcesAllowed!, unittest.isTrue); unittest.expect(o.keyguardDisabled!, unittest.isTrue); - checkUnnamed75(o.keyguardDisabledFeatures!); + checkUnnamed76(o.keyguardDisabledFeatures!); unittest.expect(o.kioskCustomLauncherEnabled!, unittest.isTrue); checkKioskCustomization(o.kioskCustomization!); unittest.expect( @@ -4100,22 +4182,22 @@ void checkPolicy(api.Policy o) { ); unittest.expect(o.networkEscapeHatchEnabled!, unittest.isTrue); unittest.expect(o.networkResetDisabled!, unittest.isTrue); - checkUnnamed76(o.oncCertificateProviders!); - checkUnnamed77(o.openNetworkConfiguration!); + checkUnnamed77(o.oncCertificateProviders!); + checkUnnamed78(o.openNetworkConfiguration!); unittest.expect(o.outgoingBeamDisabled!, unittest.isTrue); unittest.expect(o.outgoingCallsDisabled!, unittest.isTrue); - checkUnnamed78(o.passwordPolicies!); + checkUnnamed79(o.passwordPolicies!); checkPasswordRequirements(o.passwordRequirements!); - checkUnnamed79(o.permissionGrants!); + checkUnnamed80(o.permissionGrants!); checkPackageNameList(o.permittedAccessibilityServices!); checkPackageNameList(o.permittedInputMethods!); - checkUnnamed80(o.persistentPreferredActivities!); + checkUnnamed81(o.persistentPreferredActivities!); checkPersonalUsagePolicies(o.personalUsagePolicies!); unittest.expect( o.playStoreMode!, unittest.equals('foo'), ); - checkUnnamed81(o.policyEnforcementRules!); + checkUnnamed82(o.policyEnforcementRules!); unittest.expect( o.preferentialNetworkService!, unittest.equals('foo'), @@ -4131,14 +4213,14 @@ void checkPolicy(api.Policy o) { unittest.expect(o.screenCaptureDisabled!, unittest.isTrue); unittest.expect(o.setUserIconDisabled!, unittest.isTrue); unittest.expect(o.setWallpaperDisabled!, unittest.isTrue); - checkUnnamed82(o.setupActions!); + checkUnnamed83(o.setupActions!); unittest.expect(o.shareLocationDisabled!, unittest.isTrue); checkUserFacingMessage(o.shortSupportMessage!); unittest.expect(o.skipFirstUseHintsEnabled!, unittest.isTrue); unittest.expect(o.smsDisabled!, unittest.isTrue); unittest.expect(o.statusBarDisabled!, unittest.isTrue); checkStatusReportingSettings(o.statusReportingSettings!); - checkUnnamed83(o.stayOnPluggedModes!); + checkUnnamed84(o.stayOnPluggedModes!); checkSystemUpdate(o.systemUpdate!); unittest.expect(o.tetheringConfigDisabled!, unittest.isTrue); unittest.expect(o.uninstallAppsDisabled!, unittest.isTrue); @@ -4183,12 +4265,12 @@ void checkPolicyEnforcementRule(api.PolicyEnforcementRule o) { buildCounterPolicyEnforcementRule--; } -core.List buildUnnamed84() => [ +core.List buildUnnamed85() => [ buildUserFacingMessage(), buildUserFacingMessage(), ]; -void checkUnnamed84(core.List o) { +void checkUnnamed85(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUserFacingMessage(o[0]); checkUserFacingMessage(o[1]); @@ -4199,7 +4281,7 @@ api.PostureDetail buildPostureDetail() { final o = api.PostureDetail(); buildCounterPostureDetail++; if (buildCounterPostureDetail < 3) { - o.advice = buildUnnamed84(); + o.advice = buildUnnamed85(); o.securityRisk = 'foo'; } buildCounterPostureDetail--; @@ -4209,7 +4291,7 @@ api.PostureDetail buildPostureDetail() { void checkPostureDetail(api.PostureDetail o) { buildCounterPostureDetail++; if (buildCounterPostureDetail < 3) { - checkUnnamed84(o.advice!); + checkUnnamed85(o.advice!); unittest.expect( o.securityRisk!, unittest.equals('foo'), @@ -4322,12 +4404,12 @@ void checkProvisioningInfo(api.ProvisioningInfo o) { buildCounterProvisioningInfo--; } -core.List buildUnnamed85() => [ +core.List buildUnnamed86() => [ 'foo', 'foo', ]; -void checkUnnamed85(core.List o) { +void checkUnnamed86(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4344,7 +4426,7 @@ api.ProxyInfo buildProxyInfo() { final o = api.ProxyInfo(); buildCounterProxyInfo++; if (buildCounterProxyInfo < 3) { - o.excludedHosts = buildUnnamed85(); + o.excludedHosts = buildUnnamed86(); o.host = 'foo'; o.pacUri = 'foo'; o.port = 42; @@ -4356,7 +4438,7 @@ api.ProxyInfo buildProxyInfo() { void checkProxyInfo(api.ProxyInfo o) { buildCounterProxyInfo++; if (buildCounterProxyInfo < 3) { - checkUnnamed85(o.excludedHosts!); + checkUnnamed86(o.excludedHosts!); unittest.expect( o.host!, unittest.equals('foo'), @@ -4427,12 +4509,12 @@ void checkScreenTimeoutSettings(api.ScreenTimeoutSettings o) { buildCounterScreenTimeoutSettings--; } -core.List buildUnnamed86() => [ +core.List buildUnnamed87() => [ buildPostureDetail(), buildPostureDetail(), ]; -void checkUnnamed86(core.List o) { +void checkUnnamed87(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPostureDetail(o[0]); checkPostureDetail(o[1]); @@ -4444,7 +4526,7 @@ api.SecurityPosture buildSecurityPosture() { buildCounterSecurityPosture++; if (buildCounterSecurityPosture < 3) { o.devicePosture = 'foo'; - o.postureDetails = buildUnnamed86(); + o.postureDetails = buildUnnamed87(); } buildCounterSecurityPosture--; return o; @@ -4457,7 +4539,7 @@ void checkSecurityPosture(api.SecurityPosture o) { o.devicePosture!, unittest.equals('foo'), ); - checkUnnamed86(o.postureDetails!); + checkUnnamed87(o.postureDetails!); } buildCounterSecurityPosture--; } @@ -4701,7 +4783,7 @@ void checkStartLostModeStatus(api.StartLostModeStatus o) { buildCounterStartLostModeStatus--; } -core.Map buildUnnamed87() => { +core.Map buildUnnamed88() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -4714,7 +4796,7 @@ core.Map buildUnnamed87() => { }, }; -void checkUnnamed87(core.Map o) { +void checkUnnamed88(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted11 = (o['x']!) as core.Map; unittest.expect(casted11, unittest.hasLength(3)); @@ -4746,15 +4828,15 @@ void checkUnnamed87(core.Map o) { ); } -core.List> buildUnnamed88() => [ - buildUnnamed87(), - buildUnnamed87(), +core.List> buildUnnamed89() => [ + buildUnnamed88(), + buildUnnamed88(), ]; -void checkUnnamed88(core.List> o) { +void checkUnnamed89(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed87(o[0]); - checkUnnamed87(o[1]); + checkUnnamed88(o[0]); + checkUnnamed88(o[1]); } core.int buildCounterStatus = 0; @@ -4763,7 +4845,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed88(); + o.details = buildUnnamed89(); o.message = 'foo'; } buildCounterStatus--; @@ -4777,7 +4859,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed88(o.details!); + checkUnnamed89(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -4862,12 +4944,12 @@ void checkStopLostModeStatus(api.StopLostModeStatus o) { buildCounterStopLostModeStatus--; } -core.List buildUnnamed89() => [ +core.List buildUnnamed90() => [ buildFreezePeriod(), buildFreezePeriod(), ]; -void checkUnnamed89(core.List o) { +void checkUnnamed90(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFreezePeriod(o[0]); checkFreezePeriod(o[1]); @@ -4879,7 +4961,7 @@ api.SystemUpdate buildSystemUpdate() { buildCounterSystemUpdate++; if (buildCounterSystemUpdate < 3) { o.endMinutes = 42; - o.freezePeriods = buildUnnamed89(); + o.freezePeriods = buildUnnamed90(); o.startMinutes = 42; o.type = 'foo'; } @@ -4894,7 +4976,7 @@ void checkSystemUpdate(api.SystemUpdate o) { o.endMinutes!, unittest.equals(42), ); - checkUnnamed89(o.freezePeriods!); + checkUnnamed90(o.freezePeriods!); unittest.expect( o.startMinutes!, unittest.equals(42), @@ -4987,12 +5069,12 @@ void checkTermsAndConditions(api.TermsAndConditions o) { buildCounterTermsAndConditions--; } -core.List buildUnnamed90() => [ +core.List buildUnnamed91() => [ 'foo', 'foo', ]; -void checkUnnamed90(core.List o) { +void checkUnnamed91(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5004,12 +5086,12 @@ void checkUnnamed90(core.List o) { ); } -core.List buildUnnamed91() => [ +core.List buildUnnamed92() => [ 'foo', 'foo', ]; -void checkUnnamed91(core.List o) { +void checkUnnamed92(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5026,8 +5108,8 @@ api.UsageLog buildUsageLog() { final o = api.UsageLog(); buildCounterUsageLog++; if (buildCounterUsageLog < 3) { - o.enabledLogTypes = buildUnnamed90(); - o.uploadOnCellularAllowed = buildUnnamed91(); + o.enabledLogTypes = buildUnnamed91(); + o.uploadOnCellularAllowed = buildUnnamed92(); } buildCounterUsageLog--; return o; @@ -5036,8 +5118,8 @@ api.UsageLog buildUsageLog() { void checkUsageLog(api.UsageLog o) { buildCounterUsageLog++; if (buildCounterUsageLog < 3) { - checkUnnamed90(o.enabledLogTypes!); - checkUnnamed91(o.uploadOnCellularAllowed!); + checkUnnamed91(o.enabledLogTypes!); + checkUnnamed92(o.uploadOnCellularAllowed!); } buildCounterUsageLog--; } @@ -5064,12 +5146,12 @@ void checkUser(api.User o) { buildCounterUser--; } -core.Map buildUnnamed92() => { +core.Map buildUnnamed93() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed92(core.Map o) { +void checkUnnamed93(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -5087,7 +5169,7 @@ api.UserFacingMessage buildUserFacingMessage() { buildCounterUserFacingMessage++; if (buildCounterUserFacingMessage < 3) { o.defaultMessage = 'foo'; - o.localizedMessages = buildUnnamed92(); + o.localizedMessages = buildUnnamed93(); } buildCounterUserFacingMessage--; return o; @@ -5100,17 +5182,17 @@ void checkUserFacingMessage(api.UserFacingMessage o) { o.defaultMessage!, unittest.equals('foo'), ); - checkUnnamed92(o.localizedMessages!); + checkUnnamed93(o.localizedMessages!); } buildCounterUserFacingMessage--; } -core.List buildUnnamed93() => [ +core.List buildUnnamed94() => [ buildWebAppIcon(), buildWebAppIcon(), ]; -void checkUnnamed93(core.List o) { +void checkUnnamed94(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWebAppIcon(o[0]); checkWebAppIcon(o[1]); @@ -5122,7 +5204,7 @@ api.WebApp buildWebApp() { buildCounterWebApp++; if (buildCounterWebApp < 3) { o.displayMode = 'foo'; - o.icons = buildUnnamed93(); + o.icons = buildUnnamed94(); o.name = 'foo'; o.startUrl = 'foo'; o.title = 'foo'; @@ -5139,7 +5221,7 @@ void checkWebApp(api.WebApp o) { o.displayMode!, unittest.equals('foo'), ); - checkUnnamed93(o.icons!); + checkUnnamed94(o.icons!); unittest.expect( o.name!, unittest.equals('foo'), @@ -5182,12 +5264,12 @@ void checkWebAppIcon(api.WebAppIcon o) { buildCounterWebAppIcon--; } -core.List buildUnnamed94() => [ +core.List buildUnnamed95() => [ 'foo', 'foo', ]; -void checkUnnamed94(core.List o) { +void checkUnnamed95(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5199,12 +5281,12 @@ void checkUnnamed94(core.List o) { ); } -core.List buildUnnamed95() => [ +core.List buildUnnamed96() => [ 'foo', 'foo', ]; -void checkUnnamed95(core.List o) { +void checkUnnamed96(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5221,10 +5303,10 @@ api.WebToken buildWebToken() { final o = api.WebToken(); buildCounterWebToken++; if (buildCounterWebToken < 3) { - o.enabledFeatures = buildUnnamed94(); + o.enabledFeatures = buildUnnamed95(); o.name = 'foo'; o.parentFrameUrl = 'foo'; - o.permissions = buildUnnamed95(); + o.permissions = buildUnnamed96(); o.value = 'foo'; } buildCounterWebToken--; @@ -5234,7 +5316,7 @@ api.WebToken buildWebToken() { void checkWebToken(api.WebToken o) { buildCounterWebToken++; if (buildCounterWebToken < 3) { - checkUnnamed94(o.enabledFeatures!); + checkUnnamed95(o.enabledFeatures!); unittest.expect( o.name!, unittest.equals('foo'), @@ -5243,7 +5325,7 @@ void checkWebToken(api.WebToken o) { o.parentFrameUrl!, unittest.equals('foo'), ); - checkUnnamed95(o.permissions!); + checkUnnamed96(o.permissions!); unittest.expect( o.value!, unittest.equals('foo'), @@ -5252,12 +5334,12 @@ void checkWebToken(api.WebToken o) { buildCounterWebToken--; } -core.List buildUnnamed96() => [ +core.List buildUnnamed97() => [ buildWifiRoamingSetting(), buildWifiRoamingSetting(), ]; -void checkUnnamed96(core.List o) { +void checkUnnamed97(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWifiRoamingSetting(o[0]); checkWifiRoamingSetting(o[1]); @@ -5268,7 +5350,7 @@ api.WifiRoamingPolicy buildWifiRoamingPolicy() { final o = api.WifiRoamingPolicy(); buildCounterWifiRoamingPolicy++; if (buildCounterWifiRoamingPolicy < 3) { - o.wifiRoamingSettings = buildUnnamed96(); + o.wifiRoamingSettings = buildUnnamed97(); } buildCounterWifiRoamingPolicy--; return o; @@ -5277,7 +5359,7 @@ api.WifiRoamingPolicy buildWifiRoamingPolicy() { void checkWifiRoamingPolicy(api.WifiRoamingPolicy o) { buildCounterWifiRoamingPolicy++; if (buildCounterWifiRoamingPolicy < 3) { - checkUnnamed96(o.wifiRoamingSettings!); + checkUnnamed97(o.wifiRoamingSettings!); } buildCounterWifiRoamingPolicy--; } @@ -5331,12 +5413,12 @@ void checkWifiSsid(api.WifiSsid o) { buildCounterWifiSsid--; } -core.List buildUnnamed97() => [ +core.List buildUnnamed98() => [ buildWifiSsid(), buildWifiSsid(), ]; -void checkUnnamed97(core.List o) { +void checkUnnamed98(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWifiSsid(o[0]); checkWifiSsid(o[1]); @@ -5348,7 +5430,7 @@ api.WifiSsidPolicy buildWifiSsidPolicy() { buildCounterWifiSsidPolicy++; if (buildCounterWifiSsidPolicy < 3) { o.wifiSsidPolicyType = 'foo'; - o.wifiSsids = buildUnnamed97(); + o.wifiSsids = buildUnnamed98(); } buildCounterWifiSsidPolicy--; return o; @@ -5361,7 +5443,7 @@ void checkWifiSsidPolicy(api.WifiSsidPolicy o) { o.wifiSsidPolicyType!, unittest.equals('foo'), ); - checkUnnamed97(o.wifiSsids!); + checkUnnamed98(o.wifiSsids!); } buildCounterWifiSsidPolicy--; } @@ -5390,12 +5472,29 @@ void checkWipeAction(api.WipeAction o) { buildCounterWipeAction--; } -core.List buildUnnamed98() => [ +core.List buildUnnamed99() => [ 'foo', 'foo', ]; -void checkUnnamed98(core.List o) { +void checkUnnamed99(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed100() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed100(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5758,6 +5857,26 @@ void main() { }); }); + unittest.group('obj-schema-GenerateEnterpriseUpgradeUrlRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildGenerateEnterpriseUpgradeUrlRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GenerateEnterpriseUpgradeUrlRequest.fromJson( + oJson as core.Map); + checkGenerateEnterpriseUpgradeUrlRequest(od); + }); + }); + + unittest.group('obj-schema-GenerateEnterpriseUpgradeUrlResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildGenerateEnterpriseUpgradeUrlResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GenerateEnterpriseUpgradeUrlResponse.fromJson( + oJson as core.Map); + checkGenerateEnterpriseUpgradeUrlResponse(od); + }); + }); + unittest.group('obj-schema-GoogleAuthenticationSettings', () { unittest.test('to-json--from-json', () async { final o = buildGoogleAuthenticationSettings(); @@ -6581,6 +6700,67 @@ void main() { checkEmpty(response as api.Empty); }); + unittest.test('method--generateEnterpriseUpgradeUrl', () async { + final mock = HttpServerMock(); + final res = api.AndroidManagementApi(mock).enterprises; + final arg_request = buildGenerateEnterpriseUpgradeUrlRequest(); + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GenerateEnterpriseUpgradeUrlRequest.fromJson( + json as core.Map); + checkGenerateEnterpriseUpgradeUrlRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildGenerateEnterpriseUpgradeUrlResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.generateEnterpriseUpgradeUrl( + arg_request, arg_name, + $fields: arg_$fields); + checkGenerateEnterpriseUpgradeUrlResponse( + response as api.GenerateEnterpriseUpgradeUrlResponse); + }); + unittest.test('method--get', () async { final mock = HttpServerMock(); final res = api.AndroidManagementApi(mock).enterprises; @@ -6837,7 +7017,7 @@ void main() { final mock = HttpServerMock(); final res = api.AndroidManagementApi(mock).enterprises.devices; final arg_name = 'foo'; - final arg_wipeDataFlags = buildUnnamed98(); + final arg_wipeDataFlags = buildUnnamed99(); final arg_wipeReasonMessage = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -8367,6 +8547,7 @@ void main() { final mock = HttpServerMock(); final res = api.AndroidManagementApi(mock).signupUrls; final arg_adminEmail = 'foo'; + final arg_allowedDomains = buildUnnamed100(); final arg_callbackUrl = 'foo'; final arg_projectId = 'foo'; final arg_$fields = 'foo'; @@ -8405,6 +8586,10 @@ void main() { queryMap['adminEmail']!.first, unittest.equals(arg_adminEmail), ); + unittest.expect( + queryMap['allowedDomains']!, + unittest.equals(arg_allowedDomains), + ); unittest.expect( queryMap['callbackUrl']!.first, unittest.equals(arg_callbackUrl), @@ -8426,6 +8611,7 @@ void main() { }), true); final response = await res.create( adminEmail: arg_adminEmail, + allowedDomains: arg_allowedDomains, callbackUrl: arg_callbackUrl, projectId: arg_projectId, $fields: arg_$fields); diff --git a/generated/googleapis/test/androidpublisher/v3_test.dart b/generated/googleapis/test/androidpublisher/v3_test.dart index 01dd26419..302bfbb43 100644 --- a/generated/googleapis/test/androidpublisher/v3_test.dart +++ b/generated/googleapis/test/androidpublisher/v3_test.dart @@ -1501,6 +1501,7 @@ api.ConvertRegionPricesResponse buildConvertRegionPricesResponse() { if (buildCounterConvertRegionPricesResponse < 3) { o.convertedOtherRegionsPrice = buildConvertedOtherRegionsPrice(); o.convertedRegionPrices = buildUnnamed23(); + o.regionVersion = buildRegionsVersion(); } buildCounterConvertRegionPricesResponse--; return o; @@ -1511,6 +1512,7 @@ void checkConvertRegionPricesResponse(api.ConvertRegionPricesResponse o) { if (buildCounterConvertRegionPricesResponse < 3) { checkConvertedOtherRegionsPrice(o.convertedOtherRegionsPrice!); checkUnnamed23(o.convertedRegionPrices!); + checkRegionsVersion(o.regionVersion!); } buildCounterConvertRegionPricesResponse--; } diff --git a/generated/googleapis/test/apigee/v1_test.dart b/generated/googleapis/test/apigee/v1_test.dart index 031f2a2c1..96b276c7d 100644 --- a/generated/googleapis/test/apigee/v1_test.dart +++ b/generated/googleapis/test/apigee/v1_test.dart @@ -538,6 +538,45 @@ void checkGoogleCloudApigeeV1ApiCategoryResponse( buildCounterGoogleCloudApigeeV1ApiCategoryResponse--; } +core.int buildCounterGoogleCloudApigeeV1ApiDebugSession = 0; +api.GoogleCloudApigeeV1ApiDebugSession + buildGoogleCloudApigeeV1ApiDebugSession() { + final o = api.GoogleCloudApigeeV1ApiDebugSession(); + buildCounterGoogleCloudApigeeV1ApiDebugSession++; + if (buildCounterGoogleCloudApigeeV1ApiDebugSession < 3) { + o.apiProxyRevisionId = 'foo'; + o.createTime = 'foo'; + o.environmentId = 'foo'; + o.id = 'foo'; + } + buildCounterGoogleCloudApigeeV1ApiDebugSession--; + return o; +} + +void checkGoogleCloudApigeeV1ApiDebugSession( + api.GoogleCloudApigeeV1ApiDebugSession o) { + buildCounterGoogleCloudApigeeV1ApiDebugSession++; + if (buildCounterGoogleCloudApigeeV1ApiDebugSession < 3) { + unittest.expect( + o.apiProxyRevisionId!, + unittest.equals('foo'), + ); + unittest.expect( + o.createTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.environmentId!, + unittest.equals('foo'), + ); + unittest.expect( + o.id!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudApigeeV1ApiDebugSession--; +} + core.List buildUnnamed2() => [ 'foo', 'foo', @@ -848,6 +887,7 @@ api.GoogleCloudApigeeV1ApiProduct buildGoogleCloudApigeeV1ApiProduct() { o.quotaInterval = 'foo'; o.quotaTimeUnit = 'foo'; o.scopes = buildUnnamed7(); + o.space = 'foo'; } buildCounterGoogleCloudApigeeV1ApiProduct--; return o; @@ -904,6 +944,10 @@ void checkGoogleCloudApigeeV1ApiProduct(api.GoogleCloudApigeeV1ApiProduct o) { unittest.equals('foo'), ); checkUnnamed7(o.scopes!); + unittest.expect( + o.space!, + unittest.equals('foo'), + ); } buildCounterGoogleCloudApigeeV1ApiProduct--; } @@ -982,6 +1026,7 @@ api.GoogleCloudApigeeV1ApiProxy buildGoogleCloudApigeeV1ApiProxy() { o.name = 'foo'; o.readOnly = true; o.revision = buildUnnamed9(); + o.space = 'foo'; } buildCounterGoogleCloudApigeeV1ApiProxy--; return o; @@ -1006,6 +1051,10 @@ void checkGoogleCloudApigeeV1ApiProxy(api.GoogleCloudApigeeV1ApiProxy o) { ); unittest.expect(o.readOnly!, unittest.isTrue); checkUnnamed9(o.revision!); + unittest.expect( + o.space!, + unittest.equals('foo'), + ); } buildCounterGoogleCloudApigeeV1ApiProxy--; } @@ -6646,12 +6695,49 @@ void checkGoogleCloudApigeeV1ListApiCategoriesResponse( buildCounterGoogleCloudApigeeV1ListApiCategoriesResponse--; } -core.List buildUnnamed117() => [ +core.List buildUnnamed117() => [ + buildGoogleCloudApigeeV1ApiDebugSession(), + buildGoogleCloudApigeeV1ApiDebugSession(), + ]; + +void checkUnnamed117(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudApigeeV1ApiDebugSession(o[0]); + checkGoogleCloudApigeeV1ApiDebugSession(o[1]); +} + +core.int buildCounterGoogleCloudApigeeV1ListApiDebugSessionsResponse = 0; +api.GoogleCloudApigeeV1ListApiDebugSessionsResponse + buildGoogleCloudApigeeV1ListApiDebugSessionsResponse() { + final o = api.GoogleCloudApigeeV1ListApiDebugSessionsResponse(); + buildCounterGoogleCloudApigeeV1ListApiDebugSessionsResponse++; + if (buildCounterGoogleCloudApigeeV1ListApiDebugSessionsResponse < 3) { + o.nextPageToken = 'foo'; + o.sessions = buildUnnamed117(); + } + buildCounterGoogleCloudApigeeV1ListApiDebugSessionsResponse--; + return o; +} + +void checkGoogleCloudApigeeV1ListApiDebugSessionsResponse( + api.GoogleCloudApigeeV1ListApiDebugSessionsResponse o) { + buildCounterGoogleCloudApigeeV1ListApiDebugSessionsResponse++; + if (buildCounterGoogleCloudApigeeV1ListApiDebugSessionsResponse < 3) { + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + checkUnnamed117(o.sessions!); + } + buildCounterGoogleCloudApigeeV1ListApiDebugSessionsResponse--; +} + +core.List buildUnnamed118() => [ buildGoogleCloudApigeeV1ApiDoc(), buildGoogleCloudApigeeV1ApiDoc(), ]; -void checkUnnamed117(core.List o) { +void checkUnnamed118(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1ApiDoc(o[0]); checkGoogleCloudApigeeV1ApiDoc(o[1]); @@ -6663,7 +6749,7 @@ api.GoogleCloudApigeeV1ListApiDocsResponse final o = api.GoogleCloudApigeeV1ListApiDocsResponse(); buildCounterGoogleCloudApigeeV1ListApiDocsResponse++; if (buildCounterGoogleCloudApigeeV1ListApiDocsResponse < 3) { - o.data = buildUnnamed117(); + o.data = buildUnnamed118(); o.errorCode = 'foo'; o.message = 'foo'; o.nextPageToken = 'foo'; @@ -6678,7 +6764,7 @@ void checkGoogleCloudApigeeV1ListApiDocsResponse( api.GoogleCloudApigeeV1ListApiDocsResponse o) { buildCounterGoogleCloudApigeeV1ListApiDocsResponse++; if (buildCounterGoogleCloudApigeeV1ListApiDocsResponse < 3) { - checkUnnamed117(o.data!); + checkUnnamed118(o.data!); unittest.expect( o.errorCode!, unittest.equals('foo'), @@ -6703,12 +6789,12 @@ void checkGoogleCloudApigeeV1ListApiDocsResponse( buildCounterGoogleCloudApigeeV1ListApiDocsResponse--; } -core.List buildUnnamed118() => [ +core.List buildUnnamed119() => [ buildGoogleCloudApigeeV1ApiProduct(), buildGoogleCloudApigeeV1ApiProduct(), ]; -void checkUnnamed118(core.List o) { +void checkUnnamed119(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1ApiProduct(o[0]); checkGoogleCloudApigeeV1ApiProduct(o[1]); @@ -6720,7 +6806,7 @@ api.GoogleCloudApigeeV1ListApiProductsResponse final o = api.GoogleCloudApigeeV1ListApiProductsResponse(); buildCounterGoogleCloudApigeeV1ListApiProductsResponse++; if (buildCounterGoogleCloudApigeeV1ListApiProductsResponse < 3) { - o.apiProduct = buildUnnamed118(); + o.apiProduct = buildUnnamed119(); } buildCounterGoogleCloudApigeeV1ListApiProductsResponse--; return o; @@ -6730,17 +6816,17 @@ void checkGoogleCloudApigeeV1ListApiProductsResponse( api.GoogleCloudApigeeV1ListApiProductsResponse o) { buildCounterGoogleCloudApigeeV1ListApiProductsResponse++; if (buildCounterGoogleCloudApigeeV1ListApiProductsResponse < 3) { - checkUnnamed118(o.apiProduct!); + checkUnnamed119(o.apiProduct!); } buildCounterGoogleCloudApigeeV1ListApiProductsResponse--; } -core.List buildUnnamed119() => [ +core.List buildUnnamed120() => [ buildGoogleCloudApigeeV1ApiProxy(), buildGoogleCloudApigeeV1ApiProxy(), ]; -void checkUnnamed119(core.List o) { +void checkUnnamed120(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1ApiProxy(o[0]); checkGoogleCloudApigeeV1ApiProxy(o[1]); @@ -6752,7 +6838,7 @@ api.GoogleCloudApigeeV1ListApiProxiesResponse final o = api.GoogleCloudApigeeV1ListApiProxiesResponse(); buildCounterGoogleCloudApigeeV1ListApiProxiesResponse++; if (buildCounterGoogleCloudApigeeV1ListApiProxiesResponse < 3) { - o.proxies = buildUnnamed119(); + o.proxies = buildUnnamed120(); } buildCounterGoogleCloudApigeeV1ListApiProxiesResponse--; return o; @@ -6762,17 +6848,17 @@ void checkGoogleCloudApigeeV1ListApiProxiesResponse( api.GoogleCloudApigeeV1ListApiProxiesResponse o) { buildCounterGoogleCloudApigeeV1ListApiProxiesResponse++; if (buildCounterGoogleCloudApigeeV1ListApiProxiesResponse < 3) { - checkUnnamed119(o.proxies!); + checkUnnamed120(o.proxies!); } buildCounterGoogleCloudApigeeV1ListApiProxiesResponse--; } -core.List buildUnnamed120() => [ +core.List buildUnnamed121() => [ buildGoogleCloudApigeeV1AppGroupApp(), buildGoogleCloudApigeeV1AppGroupApp(), ]; -void checkUnnamed120(core.List o) { +void checkUnnamed121(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1AppGroupApp(o[0]); checkGoogleCloudApigeeV1AppGroupApp(o[1]); @@ -6784,7 +6870,7 @@ api.GoogleCloudApigeeV1ListAppGroupAppsResponse final o = api.GoogleCloudApigeeV1ListAppGroupAppsResponse(); buildCounterGoogleCloudApigeeV1ListAppGroupAppsResponse++; if (buildCounterGoogleCloudApigeeV1ListAppGroupAppsResponse < 3) { - o.appGroupApps = buildUnnamed120(); + o.appGroupApps = buildUnnamed121(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudApigeeV1ListAppGroupAppsResponse--; @@ -6795,7 +6881,7 @@ void checkGoogleCloudApigeeV1ListAppGroupAppsResponse( api.GoogleCloudApigeeV1ListAppGroupAppsResponse o) { buildCounterGoogleCloudApigeeV1ListAppGroupAppsResponse++; if (buildCounterGoogleCloudApigeeV1ListAppGroupAppsResponse < 3) { - checkUnnamed120(o.appGroupApps!); + checkUnnamed121(o.appGroupApps!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -6804,12 +6890,12 @@ void checkGoogleCloudApigeeV1ListAppGroupAppsResponse( buildCounterGoogleCloudApigeeV1ListAppGroupAppsResponse--; } -core.List buildUnnamed121() => [ +core.List buildUnnamed122() => [ buildGoogleCloudApigeeV1AppGroup(), buildGoogleCloudApigeeV1AppGroup(), ]; -void checkUnnamed121(core.List o) { +void checkUnnamed122(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1AppGroup(o[0]); checkGoogleCloudApigeeV1AppGroup(o[1]); @@ -6821,7 +6907,7 @@ api.GoogleCloudApigeeV1ListAppGroupsResponse final o = api.GoogleCloudApigeeV1ListAppGroupsResponse(); buildCounterGoogleCloudApigeeV1ListAppGroupsResponse++; if (buildCounterGoogleCloudApigeeV1ListAppGroupsResponse < 3) { - o.appGroups = buildUnnamed121(); + o.appGroups = buildUnnamed122(); o.nextPageToken = 'foo'; o.totalSize = 42; } @@ -6833,7 +6919,7 @@ void checkGoogleCloudApigeeV1ListAppGroupsResponse( api.GoogleCloudApigeeV1ListAppGroupsResponse o) { buildCounterGoogleCloudApigeeV1ListAppGroupsResponse++; if (buildCounterGoogleCloudApigeeV1ListAppGroupsResponse < 3) { - checkUnnamed121(o.appGroups!); + checkUnnamed122(o.appGroups!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -6846,12 +6932,12 @@ void checkGoogleCloudApigeeV1ListAppGroupsResponse( buildCounterGoogleCloudApigeeV1ListAppGroupsResponse--; } -core.List buildUnnamed122() => [ +core.List buildUnnamed123() => [ buildGoogleCloudApigeeV1App(), buildGoogleCloudApigeeV1App(), ]; -void checkUnnamed122(core.List o) { +void checkUnnamed123(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1App(o[0]); checkGoogleCloudApigeeV1App(o[1]); @@ -6863,7 +6949,7 @@ api.GoogleCloudApigeeV1ListAppsResponse final o = api.GoogleCloudApigeeV1ListAppsResponse(); buildCounterGoogleCloudApigeeV1ListAppsResponse++; if (buildCounterGoogleCloudApigeeV1ListAppsResponse < 3) { - o.app = buildUnnamed122(); + o.app = buildUnnamed123(); o.nextPageToken = 'foo'; o.totalSize = 42; } @@ -6875,7 +6961,7 @@ void checkGoogleCloudApigeeV1ListAppsResponse( api.GoogleCloudApigeeV1ListAppsResponse o) { buildCounterGoogleCloudApigeeV1ListAppsResponse++; if (buildCounterGoogleCloudApigeeV1ListAppsResponse < 3) { - checkUnnamed122(o.app!); + checkUnnamed123(o.app!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -6888,12 +6974,12 @@ void checkGoogleCloudApigeeV1ListAppsResponse( buildCounterGoogleCloudApigeeV1ListAppsResponse--; } -core.List buildUnnamed123() => [ +core.List buildUnnamed124() => [ buildGoogleCloudApigeeV1ArchiveDeployment(), buildGoogleCloudApigeeV1ArchiveDeployment(), ]; -void checkUnnamed123(core.List o) { +void checkUnnamed124(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1ArchiveDeployment(o[0]); checkGoogleCloudApigeeV1ArchiveDeployment(o[1]); @@ -6905,7 +6991,7 @@ api.GoogleCloudApigeeV1ListArchiveDeploymentsResponse final o = api.GoogleCloudApigeeV1ListArchiveDeploymentsResponse(); buildCounterGoogleCloudApigeeV1ListArchiveDeploymentsResponse++; if (buildCounterGoogleCloudApigeeV1ListArchiveDeploymentsResponse < 3) { - o.archiveDeployments = buildUnnamed123(); + o.archiveDeployments = buildUnnamed124(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudApigeeV1ListArchiveDeploymentsResponse--; @@ -6916,7 +7002,7 @@ void checkGoogleCloudApigeeV1ListArchiveDeploymentsResponse( api.GoogleCloudApigeeV1ListArchiveDeploymentsResponse o) { buildCounterGoogleCloudApigeeV1ListArchiveDeploymentsResponse++; if (buildCounterGoogleCloudApigeeV1ListArchiveDeploymentsResponse < 3) { - checkUnnamed123(o.archiveDeployments!); + checkUnnamed124(o.archiveDeployments!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -6925,12 +7011,12 @@ void checkGoogleCloudApigeeV1ListArchiveDeploymentsResponse( buildCounterGoogleCloudApigeeV1ListArchiveDeploymentsResponse--; } -core.List buildUnnamed124() => [ +core.List buildUnnamed125() => [ buildGoogleCloudApigeeV1AsyncQuery(), buildGoogleCloudApigeeV1AsyncQuery(), ]; -void checkUnnamed124(core.List o) { +void checkUnnamed125(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1AsyncQuery(o[0]); checkGoogleCloudApigeeV1AsyncQuery(o[1]); @@ -6942,7 +7028,7 @@ api.GoogleCloudApigeeV1ListAsyncQueriesResponse final o = api.GoogleCloudApigeeV1ListAsyncQueriesResponse(); buildCounterGoogleCloudApigeeV1ListAsyncQueriesResponse++; if (buildCounterGoogleCloudApigeeV1ListAsyncQueriesResponse < 3) { - o.queries = buildUnnamed124(); + o.queries = buildUnnamed125(); } buildCounterGoogleCloudApigeeV1ListAsyncQueriesResponse--; return o; @@ -6952,17 +7038,17 @@ void checkGoogleCloudApigeeV1ListAsyncQueriesResponse( api.GoogleCloudApigeeV1ListAsyncQueriesResponse o) { buildCounterGoogleCloudApigeeV1ListAsyncQueriesResponse++; if (buildCounterGoogleCloudApigeeV1ListAsyncQueriesResponse < 3) { - checkUnnamed124(o.queries!); + checkUnnamed125(o.queries!); } buildCounterGoogleCloudApigeeV1ListAsyncQueriesResponse--; } -core.List buildUnnamed125() => [ +core.List buildUnnamed126() => [ buildGoogleCloudApigeeV1CustomReport(), buildGoogleCloudApigeeV1CustomReport(), ]; -void checkUnnamed125(core.List o) { +void checkUnnamed126(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1CustomReport(o[0]); checkGoogleCloudApigeeV1CustomReport(o[1]); @@ -6974,7 +7060,7 @@ api.GoogleCloudApigeeV1ListCustomReportsResponse final o = api.GoogleCloudApigeeV1ListCustomReportsResponse(); buildCounterGoogleCloudApigeeV1ListCustomReportsResponse++; if (buildCounterGoogleCloudApigeeV1ListCustomReportsResponse < 3) { - o.qualifier = buildUnnamed125(); + o.qualifier = buildUnnamed126(); } buildCounterGoogleCloudApigeeV1ListCustomReportsResponse--; return o; @@ -6984,17 +7070,17 @@ void checkGoogleCloudApigeeV1ListCustomReportsResponse( api.GoogleCloudApigeeV1ListCustomReportsResponse o) { buildCounterGoogleCloudApigeeV1ListCustomReportsResponse++; if (buildCounterGoogleCloudApigeeV1ListCustomReportsResponse < 3) { - checkUnnamed125(o.qualifier!); + checkUnnamed126(o.qualifier!); } buildCounterGoogleCloudApigeeV1ListCustomReportsResponse--; } -core.List buildUnnamed126() => [ +core.List buildUnnamed127() => [ buildGoogleCloudApigeeV1DataCollector(), buildGoogleCloudApigeeV1DataCollector(), ]; -void checkUnnamed126(core.List o) { +void checkUnnamed127(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1DataCollector(o[0]); checkGoogleCloudApigeeV1DataCollector(o[1]); @@ -7006,7 +7092,7 @@ api.GoogleCloudApigeeV1ListDataCollectorsResponse final o = api.GoogleCloudApigeeV1ListDataCollectorsResponse(); buildCounterGoogleCloudApigeeV1ListDataCollectorsResponse++; if (buildCounterGoogleCloudApigeeV1ListDataCollectorsResponse < 3) { - o.dataCollectors = buildUnnamed126(); + o.dataCollectors = buildUnnamed127(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudApigeeV1ListDataCollectorsResponse--; @@ -7017,7 +7103,7 @@ void checkGoogleCloudApigeeV1ListDataCollectorsResponse( api.GoogleCloudApigeeV1ListDataCollectorsResponse o) { buildCounterGoogleCloudApigeeV1ListDataCollectorsResponse++; if (buildCounterGoogleCloudApigeeV1ListDataCollectorsResponse < 3) { - checkUnnamed126(o.dataCollectors!); + checkUnnamed127(o.dataCollectors!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7026,12 +7112,12 @@ void checkGoogleCloudApigeeV1ListDataCollectorsResponse( buildCounterGoogleCloudApigeeV1ListDataCollectorsResponse--; } -core.List buildUnnamed127() => [ +core.List buildUnnamed128() => [ buildGoogleCloudApigeeV1Datastore(), buildGoogleCloudApigeeV1Datastore(), ]; -void checkUnnamed127(core.List o) { +void checkUnnamed128(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1Datastore(o[0]); checkGoogleCloudApigeeV1Datastore(o[1]); @@ -7043,7 +7129,7 @@ api.GoogleCloudApigeeV1ListDatastoresResponse final o = api.GoogleCloudApigeeV1ListDatastoresResponse(); buildCounterGoogleCloudApigeeV1ListDatastoresResponse++; if (buildCounterGoogleCloudApigeeV1ListDatastoresResponse < 3) { - o.datastores = buildUnnamed127(); + o.datastores = buildUnnamed128(); } buildCounterGoogleCloudApigeeV1ListDatastoresResponse--; return o; @@ -7053,17 +7139,17 @@ void checkGoogleCloudApigeeV1ListDatastoresResponse( api.GoogleCloudApigeeV1ListDatastoresResponse o) { buildCounterGoogleCloudApigeeV1ListDatastoresResponse++; if (buildCounterGoogleCloudApigeeV1ListDatastoresResponse < 3) { - checkUnnamed127(o.datastores!); + checkUnnamed128(o.datastores!); } buildCounterGoogleCloudApigeeV1ListDatastoresResponse--; } -core.List buildUnnamed128() => [ +core.List buildUnnamed129() => [ buildGoogleCloudApigeeV1Session(), buildGoogleCloudApigeeV1Session(), ]; -void checkUnnamed128(core.List o) { +void checkUnnamed129(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1Session(o[0]); checkGoogleCloudApigeeV1Session(o[1]); @@ -7076,7 +7162,7 @@ api.GoogleCloudApigeeV1ListDebugSessionsResponse buildCounterGoogleCloudApigeeV1ListDebugSessionsResponse++; if (buildCounterGoogleCloudApigeeV1ListDebugSessionsResponse < 3) { o.nextPageToken = 'foo'; - o.sessions = buildUnnamed128(); + o.sessions = buildUnnamed129(); } buildCounterGoogleCloudApigeeV1ListDebugSessionsResponse--; return o; @@ -7090,17 +7176,17 @@ void checkGoogleCloudApigeeV1ListDebugSessionsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed128(o.sessions!); + checkUnnamed129(o.sessions!); } buildCounterGoogleCloudApigeeV1ListDebugSessionsResponse--; } -core.List buildUnnamed129() => [ +core.List buildUnnamed130() => [ buildGoogleCloudApigeeV1Deployment(), buildGoogleCloudApigeeV1Deployment(), ]; -void checkUnnamed129(core.List o) { +void checkUnnamed130(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1Deployment(o[0]); checkGoogleCloudApigeeV1Deployment(o[1]); @@ -7112,7 +7198,7 @@ api.GoogleCloudApigeeV1ListDeploymentsResponse final o = api.GoogleCloudApigeeV1ListDeploymentsResponse(); buildCounterGoogleCloudApigeeV1ListDeploymentsResponse++; if (buildCounterGoogleCloudApigeeV1ListDeploymentsResponse < 3) { - o.deployments = buildUnnamed129(); + o.deployments = buildUnnamed130(); } buildCounterGoogleCloudApigeeV1ListDeploymentsResponse--; return o; @@ -7122,17 +7208,17 @@ void checkGoogleCloudApigeeV1ListDeploymentsResponse( api.GoogleCloudApigeeV1ListDeploymentsResponse o) { buildCounterGoogleCloudApigeeV1ListDeploymentsResponse++; if (buildCounterGoogleCloudApigeeV1ListDeploymentsResponse < 3) { - checkUnnamed129(o.deployments!); + checkUnnamed130(o.deployments!); } buildCounterGoogleCloudApigeeV1ListDeploymentsResponse--; } -core.List buildUnnamed130() => [ +core.List buildUnnamed131() => [ buildGoogleCloudApigeeV1DeveloperApp(), buildGoogleCloudApigeeV1DeveloperApp(), ]; -void checkUnnamed130(core.List o) { +void checkUnnamed131(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1DeveloperApp(o[0]); checkGoogleCloudApigeeV1DeveloperApp(o[1]); @@ -7144,7 +7230,7 @@ api.GoogleCloudApigeeV1ListDeveloperAppsResponse final o = api.GoogleCloudApigeeV1ListDeveloperAppsResponse(); buildCounterGoogleCloudApigeeV1ListDeveloperAppsResponse++; if (buildCounterGoogleCloudApigeeV1ListDeveloperAppsResponse < 3) { - o.app = buildUnnamed130(); + o.app = buildUnnamed131(); } buildCounterGoogleCloudApigeeV1ListDeveloperAppsResponse--; return o; @@ -7154,17 +7240,17 @@ void checkGoogleCloudApigeeV1ListDeveloperAppsResponse( api.GoogleCloudApigeeV1ListDeveloperAppsResponse o) { buildCounterGoogleCloudApigeeV1ListDeveloperAppsResponse++; if (buildCounterGoogleCloudApigeeV1ListDeveloperAppsResponse < 3) { - checkUnnamed130(o.app!); + checkUnnamed131(o.app!); } buildCounterGoogleCloudApigeeV1ListDeveloperAppsResponse--; } -core.List buildUnnamed131() => [ +core.List buildUnnamed132() => [ buildGoogleCloudApigeeV1DeveloperSubscription(), buildGoogleCloudApigeeV1DeveloperSubscription(), ]; -void checkUnnamed131( +void checkUnnamed132( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1DeveloperSubscription(o[0]); @@ -7177,7 +7263,7 @@ api.GoogleCloudApigeeV1ListDeveloperSubscriptionsResponse final o = api.GoogleCloudApigeeV1ListDeveloperSubscriptionsResponse(); buildCounterGoogleCloudApigeeV1ListDeveloperSubscriptionsResponse++; if (buildCounterGoogleCloudApigeeV1ListDeveloperSubscriptionsResponse < 3) { - o.developerSubscriptions = buildUnnamed131(); + o.developerSubscriptions = buildUnnamed132(); o.nextStartKey = 'foo'; } buildCounterGoogleCloudApigeeV1ListDeveloperSubscriptionsResponse--; @@ -7188,7 +7274,7 @@ void checkGoogleCloudApigeeV1ListDeveloperSubscriptionsResponse( api.GoogleCloudApigeeV1ListDeveloperSubscriptionsResponse o) { buildCounterGoogleCloudApigeeV1ListDeveloperSubscriptionsResponse++; if (buildCounterGoogleCloudApigeeV1ListDeveloperSubscriptionsResponse < 3) { - checkUnnamed131(o.developerSubscriptions!); + checkUnnamed132(o.developerSubscriptions!); unittest.expect( o.nextStartKey!, unittest.equals('foo'), @@ -7197,12 +7283,12 @@ void checkGoogleCloudApigeeV1ListDeveloperSubscriptionsResponse( buildCounterGoogleCloudApigeeV1ListDeveloperSubscriptionsResponse--; } -core.List buildUnnamed132() => [ +core.List buildUnnamed133() => [ buildGoogleCloudApigeeV1EndpointAttachment(), buildGoogleCloudApigeeV1EndpointAttachment(), ]; -void checkUnnamed132(core.List o) { +void checkUnnamed133(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1EndpointAttachment(o[0]); checkGoogleCloudApigeeV1EndpointAttachment(o[1]); @@ -7214,7 +7300,7 @@ api.GoogleCloudApigeeV1ListEndpointAttachmentsResponse final o = api.GoogleCloudApigeeV1ListEndpointAttachmentsResponse(); buildCounterGoogleCloudApigeeV1ListEndpointAttachmentsResponse++; if (buildCounterGoogleCloudApigeeV1ListEndpointAttachmentsResponse < 3) { - o.endpointAttachments = buildUnnamed132(); + o.endpointAttachments = buildUnnamed133(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudApigeeV1ListEndpointAttachmentsResponse--; @@ -7225,7 +7311,7 @@ void checkGoogleCloudApigeeV1ListEndpointAttachmentsResponse( api.GoogleCloudApigeeV1ListEndpointAttachmentsResponse o) { buildCounterGoogleCloudApigeeV1ListEndpointAttachmentsResponse++; if (buildCounterGoogleCloudApigeeV1ListEndpointAttachmentsResponse < 3) { - checkUnnamed132(o.endpointAttachments!); + checkUnnamed133(o.endpointAttachments!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7235,12 +7321,12 @@ void checkGoogleCloudApigeeV1ListEndpointAttachmentsResponse( } core.List - buildUnnamed133() => [ + buildUnnamed134() => [ buildGoogleCloudApigeeV1EnvironmentGroupAttachment(), buildGoogleCloudApigeeV1EnvironmentGroupAttachment(), ]; -void checkUnnamed133( +void checkUnnamed134( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1EnvironmentGroupAttachment(o[0]); @@ -7255,7 +7341,7 @@ api.GoogleCloudApigeeV1ListEnvironmentGroupAttachmentsResponse buildCounterGoogleCloudApigeeV1ListEnvironmentGroupAttachmentsResponse++; if (buildCounterGoogleCloudApigeeV1ListEnvironmentGroupAttachmentsResponse < 3) { - o.environmentGroupAttachments = buildUnnamed133(); + o.environmentGroupAttachments = buildUnnamed134(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudApigeeV1ListEnvironmentGroupAttachmentsResponse--; @@ -7267,7 +7353,7 @@ void checkGoogleCloudApigeeV1ListEnvironmentGroupAttachmentsResponse( buildCounterGoogleCloudApigeeV1ListEnvironmentGroupAttachmentsResponse++; if (buildCounterGoogleCloudApigeeV1ListEnvironmentGroupAttachmentsResponse < 3) { - checkUnnamed133(o.environmentGroupAttachments!); + checkUnnamed134(o.environmentGroupAttachments!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7276,12 +7362,12 @@ void checkGoogleCloudApigeeV1ListEnvironmentGroupAttachmentsResponse( buildCounterGoogleCloudApigeeV1ListEnvironmentGroupAttachmentsResponse--; } -core.List buildUnnamed134() => [ +core.List buildUnnamed135() => [ buildGoogleCloudApigeeV1EnvironmentGroup(), buildGoogleCloudApigeeV1EnvironmentGroup(), ]; -void checkUnnamed134(core.List o) { +void checkUnnamed135(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1EnvironmentGroup(o[0]); checkGoogleCloudApigeeV1EnvironmentGroup(o[1]); @@ -7293,7 +7379,7 @@ api.GoogleCloudApigeeV1ListEnvironmentGroupsResponse final o = api.GoogleCloudApigeeV1ListEnvironmentGroupsResponse(); buildCounterGoogleCloudApigeeV1ListEnvironmentGroupsResponse++; if (buildCounterGoogleCloudApigeeV1ListEnvironmentGroupsResponse < 3) { - o.environmentGroups = buildUnnamed134(); + o.environmentGroups = buildUnnamed135(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudApigeeV1ListEnvironmentGroupsResponse--; @@ -7304,7 +7390,7 @@ void checkGoogleCloudApigeeV1ListEnvironmentGroupsResponse( api.GoogleCloudApigeeV1ListEnvironmentGroupsResponse o) { buildCounterGoogleCloudApigeeV1ListEnvironmentGroupsResponse++; if (buildCounterGoogleCloudApigeeV1ListEnvironmentGroupsResponse < 3) { - checkUnnamed134(o.environmentGroups!); + checkUnnamed135(o.environmentGroups!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7313,12 +7399,12 @@ void checkGoogleCloudApigeeV1ListEnvironmentGroupsResponse( buildCounterGoogleCloudApigeeV1ListEnvironmentGroupsResponse--; } -core.List buildUnnamed135() => [ +core.List buildUnnamed136() => [ buildGoogleCloudApigeeV1ResourceFile(), buildGoogleCloudApigeeV1ResourceFile(), ]; -void checkUnnamed135(core.List o) { +void checkUnnamed136(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1ResourceFile(o[0]); checkGoogleCloudApigeeV1ResourceFile(o[1]); @@ -7330,7 +7416,7 @@ api.GoogleCloudApigeeV1ListEnvironmentResourcesResponse final o = api.GoogleCloudApigeeV1ListEnvironmentResourcesResponse(); buildCounterGoogleCloudApigeeV1ListEnvironmentResourcesResponse++; if (buildCounterGoogleCloudApigeeV1ListEnvironmentResourcesResponse < 3) { - o.resourceFile = buildUnnamed135(); + o.resourceFile = buildUnnamed136(); } buildCounterGoogleCloudApigeeV1ListEnvironmentResourcesResponse--; return o; @@ -7340,17 +7426,17 @@ void checkGoogleCloudApigeeV1ListEnvironmentResourcesResponse( api.GoogleCloudApigeeV1ListEnvironmentResourcesResponse o) { buildCounterGoogleCloudApigeeV1ListEnvironmentResourcesResponse++; if (buildCounterGoogleCloudApigeeV1ListEnvironmentResourcesResponse < 3) { - checkUnnamed135(o.resourceFile!); + checkUnnamed136(o.resourceFile!); } buildCounterGoogleCloudApigeeV1ListEnvironmentResourcesResponse--; } -core.List buildUnnamed136() => [ +core.List buildUnnamed137() => [ buildGoogleCloudApigeeV1Export(), buildGoogleCloudApigeeV1Export(), ]; -void checkUnnamed136(core.List o) { +void checkUnnamed137(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1Export(o[0]); checkGoogleCloudApigeeV1Export(o[1]); @@ -7362,7 +7448,7 @@ api.GoogleCloudApigeeV1ListExportsResponse final o = api.GoogleCloudApigeeV1ListExportsResponse(); buildCounterGoogleCloudApigeeV1ListExportsResponse++; if (buildCounterGoogleCloudApigeeV1ListExportsResponse < 3) { - o.exports = buildUnnamed136(); + o.exports = buildUnnamed137(); } buildCounterGoogleCloudApigeeV1ListExportsResponse--; return o; @@ -7372,17 +7458,17 @@ void checkGoogleCloudApigeeV1ListExportsResponse( api.GoogleCloudApigeeV1ListExportsResponse o) { buildCounterGoogleCloudApigeeV1ListExportsResponse++; if (buildCounterGoogleCloudApigeeV1ListExportsResponse < 3) { - checkUnnamed136(o.exports!); + checkUnnamed137(o.exports!); } buildCounterGoogleCloudApigeeV1ListExportsResponse--; } -core.List buildUnnamed137() => [ +core.List buildUnnamed138() => [ buildGoogleCloudApigeeV1ServiceIssuersMapping(), buildGoogleCloudApigeeV1ServiceIssuersMapping(), ]; -void checkUnnamed137( +void checkUnnamed138( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1ServiceIssuersMapping(o[0]); @@ -7395,7 +7481,7 @@ api.GoogleCloudApigeeV1ListHybridIssuersResponse final o = api.GoogleCloudApigeeV1ListHybridIssuersResponse(); buildCounterGoogleCloudApigeeV1ListHybridIssuersResponse++; if (buildCounterGoogleCloudApigeeV1ListHybridIssuersResponse < 3) { - o.issuers = buildUnnamed137(); + o.issuers = buildUnnamed138(); } buildCounterGoogleCloudApigeeV1ListHybridIssuersResponse--; return o; @@ -7405,17 +7491,17 @@ void checkGoogleCloudApigeeV1ListHybridIssuersResponse( api.GoogleCloudApigeeV1ListHybridIssuersResponse o) { buildCounterGoogleCloudApigeeV1ListHybridIssuersResponse++; if (buildCounterGoogleCloudApigeeV1ListHybridIssuersResponse < 3) { - checkUnnamed137(o.issuers!); + checkUnnamed138(o.issuers!); } buildCounterGoogleCloudApigeeV1ListHybridIssuersResponse--; } -core.List buildUnnamed138() => [ +core.List buildUnnamed139() => [ buildGoogleCloudApigeeV1InstanceAttachment(), buildGoogleCloudApigeeV1InstanceAttachment(), ]; -void checkUnnamed138(core.List o) { +void checkUnnamed139(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1InstanceAttachment(o[0]); checkGoogleCloudApigeeV1InstanceAttachment(o[1]); @@ -7427,7 +7513,7 @@ api.GoogleCloudApigeeV1ListInstanceAttachmentsResponse final o = api.GoogleCloudApigeeV1ListInstanceAttachmentsResponse(); buildCounterGoogleCloudApigeeV1ListInstanceAttachmentsResponse++; if (buildCounterGoogleCloudApigeeV1ListInstanceAttachmentsResponse < 3) { - o.attachments = buildUnnamed138(); + o.attachments = buildUnnamed139(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudApigeeV1ListInstanceAttachmentsResponse--; @@ -7438,7 +7524,7 @@ void checkGoogleCloudApigeeV1ListInstanceAttachmentsResponse( api.GoogleCloudApigeeV1ListInstanceAttachmentsResponse o) { buildCounterGoogleCloudApigeeV1ListInstanceAttachmentsResponse++; if (buildCounterGoogleCloudApigeeV1ListInstanceAttachmentsResponse < 3) { - checkUnnamed138(o.attachments!); + checkUnnamed139(o.attachments!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7447,12 +7533,12 @@ void checkGoogleCloudApigeeV1ListInstanceAttachmentsResponse( buildCounterGoogleCloudApigeeV1ListInstanceAttachmentsResponse--; } -core.List buildUnnamed139() => [ +core.List buildUnnamed140() => [ buildGoogleCloudApigeeV1Instance(), buildGoogleCloudApigeeV1Instance(), ]; -void checkUnnamed139(core.List o) { +void checkUnnamed140(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1Instance(o[0]); checkGoogleCloudApigeeV1Instance(o[1]); @@ -7464,7 +7550,7 @@ api.GoogleCloudApigeeV1ListInstancesResponse final o = api.GoogleCloudApigeeV1ListInstancesResponse(); buildCounterGoogleCloudApigeeV1ListInstancesResponse++; if (buildCounterGoogleCloudApigeeV1ListInstancesResponse < 3) { - o.instances = buildUnnamed139(); + o.instances = buildUnnamed140(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudApigeeV1ListInstancesResponse--; @@ -7475,7 +7561,7 @@ void checkGoogleCloudApigeeV1ListInstancesResponse( api.GoogleCloudApigeeV1ListInstancesResponse o) { buildCounterGoogleCloudApigeeV1ListInstancesResponse++; if (buildCounterGoogleCloudApigeeV1ListInstancesResponse < 3) { - checkUnnamed139(o.instances!); + checkUnnamed140(o.instances!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7484,12 +7570,12 @@ void checkGoogleCloudApigeeV1ListInstancesResponse( buildCounterGoogleCloudApigeeV1ListInstancesResponse--; } -core.List buildUnnamed140() => [ +core.List buildUnnamed141() => [ buildGoogleCloudApigeeV1KeyValueEntry(), buildGoogleCloudApigeeV1KeyValueEntry(), ]; -void checkUnnamed140(core.List o) { +void checkUnnamed141(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1KeyValueEntry(o[0]); checkGoogleCloudApigeeV1KeyValueEntry(o[1]); @@ -7501,7 +7587,7 @@ api.GoogleCloudApigeeV1ListKeyValueEntriesResponse final o = api.GoogleCloudApigeeV1ListKeyValueEntriesResponse(); buildCounterGoogleCloudApigeeV1ListKeyValueEntriesResponse++; if (buildCounterGoogleCloudApigeeV1ListKeyValueEntriesResponse < 3) { - o.keyValueEntries = buildUnnamed140(); + o.keyValueEntries = buildUnnamed141(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudApigeeV1ListKeyValueEntriesResponse--; @@ -7512,7 +7598,7 @@ void checkGoogleCloudApigeeV1ListKeyValueEntriesResponse( api.GoogleCloudApigeeV1ListKeyValueEntriesResponse o) { buildCounterGoogleCloudApigeeV1ListKeyValueEntriesResponse++; if (buildCounterGoogleCloudApigeeV1ListKeyValueEntriesResponse < 3) { - checkUnnamed140(o.keyValueEntries!); + checkUnnamed141(o.keyValueEntries!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7521,12 +7607,12 @@ void checkGoogleCloudApigeeV1ListKeyValueEntriesResponse( buildCounterGoogleCloudApigeeV1ListKeyValueEntriesResponse--; } -core.List buildUnnamed141() => [ +core.List buildUnnamed142() => [ buildGoogleCloudApigeeV1NatAddress(), buildGoogleCloudApigeeV1NatAddress(), ]; -void checkUnnamed141(core.List o) { +void checkUnnamed142(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1NatAddress(o[0]); checkGoogleCloudApigeeV1NatAddress(o[1]); @@ -7538,7 +7624,7 @@ api.GoogleCloudApigeeV1ListNatAddressesResponse final o = api.GoogleCloudApigeeV1ListNatAddressesResponse(); buildCounterGoogleCloudApigeeV1ListNatAddressesResponse++; if (buildCounterGoogleCloudApigeeV1ListNatAddressesResponse < 3) { - o.natAddresses = buildUnnamed141(); + o.natAddresses = buildUnnamed142(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudApigeeV1ListNatAddressesResponse--; @@ -7549,7 +7635,7 @@ void checkGoogleCloudApigeeV1ListNatAddressesResponse( api.GoogleCloudApigeeV1ListNatAddressesResponse o) { buildCounterGoogleCloudApigeeV1ListNatAddressesResponse++; if (buildCounterGoogleCloudApigeeV1ListNatAddressesResponse < 3) { - checkUnnamed141(o.natAddresses!); + checkUnnamed142(o.natAddresses!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7558,12 +7644,12 @@ void checkGoogleCloudApigeeV1ListNatAddressesResponse( buildCounterGoogleCloudApigeeV1ListNatAddressesResponse--; } -core.List buildUnnamed142() => [ +core.List buildUnnamed143() => [ buildGoogleCloudApigeeV1Developer(), buildGoogleCloudApigeeV1Developer(), ]; -void checkUnnamed142(core.List o) { +void checkUnnamed143(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1Developer(o[0]); checkGoogleCloudApigeeV1Developer(o[1]); @@ -7575,7 +7661,7 @@ api.GoogleCloudApigeeV1ListOfDevelopersResponse final o = api.GoogleCloudApigeeV1ListOfDevelopersResponse(); buildCounterGoogleCloudApigeeV1ListOfDevelopersResponse++; if (buildCounterGoogleCloudApigeeV1ListOfDevelopersResponse < 3) { - o.developer = buildUnnamed142(); + o.developer = buildUnnamed143(); } buildCounterGoogleCloudApigeeV1ListOfDevelopersResponse--; return o; @@ -7585,18 +7671,18 @@ void checkGoogleCloudApigeeV1ListOfDevelopersResponse( api.GoogleCloudApigeeV1ListOfDevelopersResponse o) { buildCounterGoogleCloudApigeeV1ListOfDevelopersResponse++; if (buildCounterGoogleCloudApigeeV1ListOfDevelopersResponse < 3) { - checkUnnamed142(o.developer!); + checkUnnamed143(o.developer!); } buildCounterGoogleCloudApigeeV1ListOfDevelopersResponse--; } core.List - buildUnnamed143() => [ + buildUnnamed144() => [ buildGoogleCloudApigeeV1OrganizationProjectMapping(), buildGoogleCloudApigeeV1OrganizationProjectMapping(), ]; -void checkUnnamed143( +void checkUnnamed144( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1OrganizationProjectMapping(o[0]); @@ -7609,7 +7695,7 @@ api.GoogleCloudApigeeV1ListOrganizationsResponse final o = api.GoogleCloudApigeeV1ListOrganizationsResponse(); buildCounterGoogleCloudApigeeV1ListOrganizationsResponse++; if (buildCounterGoogleCloudApigeeV1ListOrganizationsResponse < 3) { - o.organizations = buildUnnamed143(); + o.organizations = buildUnnamed144(); } buildCounterGoogleCloudApigeeV1ListOrganizationsResponse--; return o; @@ -7619,17 +7705,17 @@ void checkGoogleCloudApigeeV1ListOrganizationsResponse( api.GoogleCloudApigeeV1ListOrganizationsResponse o) { buildCounterGoogleCloudApigeeV1ListOrganizationsResponse++; if (buildCounterGoogleCloudApigeeV1ListOrganizationsResponse < 3) { - checkUnnamed143(o.organizations!); + checkUnnamed144(o.organizations!); } buildCounterGoogleCloudApigeeV1ListOrganizationsResponse--; } -core.List buildUnnamed144() => [ +core.List buildUnnamed145() => [ buildGoogleCloudApigeeV1RatePlan(), buildGoogleCloudApigeeV1RatePlan(), ]; -void checkUnnamed144(core.List o) { +void checkUnnamed145(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1RatePlan(o[0]); checkGoogleCloudApigeeV1RatePlan(o[1]); @@ -7642,7 +7728,7 @@ api.GoogleCloudApigeeV1ListRatePlansResponse buildCounterGoogleCloudApigeeV1ListRatePlansResponse++; if (buildCounterGoogleCloudApigeeV1ListRatePlansResponse < 3) { o.nextStartKey = 'foo'; - o.ratePlans = buildUnnamed144(); + o.ratePlans = buildUnnamed145(); } buildCounterGoogleCloudApigeeV1ListRatePlansResponse--; return o; @@ -7656,17 +7742,17 @@ void checkGoogleCloudApigeeV1ListRatePlansResponse( o.nextStartKey!, unittest.equals('foo'), ); - checkUnnamed144(o.ratePlans!); + checkUnnamed145(o.ratePlans!); } buildCounterGoogleCloudApigeeV1ListRatePlansResponse--; } -core.List buildUnnamed145() => [ +core.List buildUnnamed146() => [ buildGoogleCloudApigeeV1SecurityAction(), buildGoogleCloudApigeeV1SecurityAction(), ]; -void checkUnnamed145(core.List o) { +void checkUnnamed146(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1SecurityAction(o[0]); checkGoogleCloudApigeeV1SecurityAction(o[1]); @@ -7679,7 +7765,7 @@ api.GoogleCloudApigeeV1ListSecurityActionsResponse buildCounterGoogleCloudApigeeV1ListSecurityActionsResponse++; if (buildCounterGoogleCloudApigeeV1ListSecurityActionsResponse < 3) { o.nextPageToken = 'foo'; - o.securityActions = buildUnnamed145(); + o.securityActions = buildUnnamed146(); } buildCounterGoogleCloudApigeeV1ListSecurityActionsResponse--; return o; @@ -7693,17 +7779,17 @@ void checkGoogleCloudApigeeV1ListSecurityActionsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed145(o.securityActions!); + checkUnnamed146(o.securityActions!); } buildCounterGoogleCloudApigeeV1ListSecurityActionsResponse--; } -core.List buildUnnamed146() => [ +core.List buildUnnamed147() => [ buildGoogleCloudApigeeV1SecurityIncident(), buildGoogleCloudApigeeV1SecurityIncident(), ]; -void checkUnnamed146(core.List o) { +void checkUnnamed147(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1SecurityIncident(o[0]); checkGoogleCloudApigeeV1SecurityIncident(o[1]); @@ -7716,7 +7802,7 @@ api.GoogleCloudApigeeV1ListSecurityIncidentsResponse buildCounterGoogleCloudApigeeV1ListSecurityIncidentsResponse++; if (buildCounterGoogleCloudApigeeV1ListSecurityIncidentsResponse < 3) { o.nextPageToken = 'foo'; - o.securityIncidents = buildUnnamed146(); + o.securityIncidents = buildUnnamed147(); } buildCounterGoogleCloudApigeeV1ListSecurityIncidentsResponse--; return o; @@ -7730,17 +7816,17 @@ void checkGoogleCloudApigeeV1ListSecurityIncidentsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed146(o.securityIncidents!); + checkUnnamed147(o.securityIncidents!); } buildCounterGoogleCloudApigeeV1ListSecurityIncidentsResponse--; } -core.List buildUnnamed147() => [ +core.List buildUnnamed148() => [ buildGoogleCloudApigeeV1SecurityProfile(), buildGoogleCloudApigeeV1SecurityProfile(), ]; -void checkUnnamed147(core.List o) { +void checkUnnamed148(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1SecurityProfile(o[0]); checkGoogleCloudApigeeV1SecurityProfile(o[1]); @@ -7754,7 +7840,7 @@ api.GoogleCloudApigeeV1ListSecurityProfileRevisionsResponse buildCounterGoogleCloudApigeeV1ListSecurityProfileRevisionsResponse++; if (buildCounterGoogleCloudApigeeV1ListSecurityProfileRevisionsResponse < 3) { o.nextPageToken = 'foo'; - o.securityProfiles = buildUnnamed147(); + o.securityProfiles = buildUnnamed148(); } buildCounterGoogleCloudApigeeV1ListSecurityProfileRevisionsResponse--; return o; @@ -7768,17 +7854,17 @@ void checkGoogleCloudApigeeV1ListSecurityProfileRevisionsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed147(o.securityProfiles!); + checkUnnamed148(o.securityProfiles!); } buildCounterGoogleCloudApigeeV1ListSecurityProfileRevisionsResponse--; } -core.List buildUnnamed148() => [ +core.List buildUnnamed149() => [ buildGoogleCloudApigeeV1SecurityProfile(), buildGoogleCloudApigeeV1SecurityProfile(), ]; -void checkUnnamed148(core.List o) { +void checkUnnamed149(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1SecurityProfile(o[0]); checkGoogleCloudApigeeV1SecurityProfile(o[1]); @@ -7791,7 +7877,7 @@ api.GoogleCloudApigeeV1ListSecurityProfilesResponse buildCounterGoogleCloudApigeeV1ListSecurityProfilesResponse++; if (buildCounterGoogleCloudApigeeV1ListSecurityProfilesResponse < 3) { o.nextPageToken = 'foo'; - o.securityProfiles = buildUnnamed148(); + o.securityProfiles = buildUnnamed149(); } buildCounterGoogleCloudApigeeV1ListSecurityProfilesResponse--; return o; @@ -7805,17 +7891,17 @@ void checkGoogleCloudApigeeV1ListSecurityProfilesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed148(o.securityProfiles!); + checkUnnamed149(o.securityProfiles!); } buildCounterGoogleCloudApigeeV1ListSecurityProfilesResponse--; } -core.List buildUnnamed149() => [ +core.List buildUnnamed150() => [ buildGoogleCloudApigeeV1SecurityProfileV2(), buildGoogleCloudApigeeV1SecurityProfileV2(), ]; -void checkUnnamed149(core.List o) { +void checkUnnamed150(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1SecurityProfileV2(o[0]); checkGoogleCloudApigeeV1SecurityProfileV2(o[1]); @@ -7828,7 +7914,7 @@ api.GoogleCloudApigeeV1ListSecurityProfilesV2Response buildCounterGoogleCloudApigeeV1ListSecurityProfilesV2Response++; if (buildCounterGoogleCloudApigeeV1ListSecurityProfilesV2Response < 3) { o.nextPageToken = 'foo'; - o.securityProfilesV2 = buildUnnamed149(); + o.securityProfilesV2 = buildUnnamed150(); } buildCounterGoogleCloudApigeeV1ListSecurityProfilesV2Response--; return o; @@ -7842,17 +7928,17 @@ void checkGoogleCloudApigeeV1ListSecurityProfilesV2Response( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed149(o.securityProfilesV2!); + checkUnnamed150(o.securityProfilesV2!); } buildCounterGoogleCloudApigeeV1ListSecurityProfilesV2Response--; } -core.List buildUnnamed150() => [ +core.List buildUnnamed151() => [ buildGoogleCloudApigeeV1SecurityReport(), buildGoogleCloudApigeeV1SecurityReport(), ]; -void checkUnnamed150(core.List o) { +void checkUnnamed151(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1SecurityReport(o[0]); checkGoogleCloudApigeeV1SecurityReport(o[1]); @@ -7865,7 +7951,7 @@ api.GoogleCloudApigeeV1ListSecurityReportsResponse buildCounterGoogleCloudApigeeV1ListSecurityReportsResponse++; if (buildCounterGoogleCloudApigeeV1ListSecurityReportsResponse < 3) { o.nextPageToken = 'foo'; - o.securityReports = buildUnnamed150(); + o.securityReports = buildUnnamed151(); } buildCounterGoogleCloudApigeeV1ListSecurityReportsResponse--; return o; @@ -7879,17 +7965,17 @@ void checkGoogleCloudApigeeV1ListSecurityReportsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed150(o.securityReports!); + checkUnnamed151(o.securityReports!); } buildCounterGoogleCloudApigeeV1ListSecurityReportsResponse--; } -core.List buildUnnamed151() => [ +core.List buildUnnamed152() => [ buildGoogleCloudApigeeV1SharedFlow(), buildGoogleCloudApigeeV1SharedFlow(), ]; -void checkUnnamed151(core.List o) { +void checkUnnamed152(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1SharedFlow(o[0]); checkGoogleCloudApigeeV1SharedFlow(o[1]); @@ -7901,7 +7987,7 @@ api.GoogleCloudApigeeV1ListSharedFlowsResponse final o = api.GoogleCloudApigeeV1ListSharedFlowsResponse(); buildCounterGoogleCloudApigeeV1ListSharedFlowsResponse++; if (buildCounterGoogleCloudApigeeV1ListSharedFlowsResponse < 3) { - o.sharedFlows = buildUnnamed151(); + o.sharedFlows = buildUnnamed152(); } buildCounterGoogleCloudApigeeV1ListSharedFlowsResponse--; return o; @@ -7911,17 +7997,54 @@ void checkGoogleCloudApigeeV1ListSharedFlowsResponse( api.GoogleCloudApigeeV1ListSharedFlowsResponse o) { buildCounterGoogleCloudApigeeV1ListSharedFlowsResponse++; if (buildCounterGoogleCloudApigeeV1ListSharedFlowsResponse < 3) { - checkUnnamed151(o.sharedFlows!); + checkUnnamed152(o.sharedFlows!); } buildCounterGoogleCloudApigeeV1ListSharedFlowsResponse--; } -core.List buildUnnamed152() => [ +core.List buildUnnamed153() => [ + buildGoogleCloudApigeeV1Space(), + buildGoogleCloudApigeeV1Space(), + ]; + +void checkUnnamed153(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudApigeeV1Space(o[0]); + checkGoogleCloudApigeeV1Space(o[1]); +} + +core.int buildCounterGoogleCloudApigeeV1ListSpacesResponse = 0; +api.GoogleCloudApigeeV1ListSpacesResponse + buildGoogleCloudApigeeV1ListSpacesResponse() { + final o = api.GoogleCloudApigeeV1ListSpacesResponse(); + buildCounterGoogleCloudApigeeV1ListSpacesResponse++; + if (buildCounterGoogleCloudApigeeV1ListSpacesResponse < 3) { + o.nextPageToken = 'foo'; + o.spaces = buildUnnamed153(); + } + buildCounterGoogleCloudApigeeV1ListSpacesResponse--; + return o; +} + +void checkGoogleCloudApigeeV1ListSpacesResponse( + api.GoogleCloudApigeeV1ListSpacesResponse o) { + buildCounterGoogleCloudApigeeV1ListSpacesResponse++; + if (buildCounterGoogleCloudApigeeV1ListSpacesResponse < 3) { + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + checkUnnamed153(o.spaces!); + } + buildCounterGoogleCloudApigeeV1ListSpacesResponse--; +} + +core.List buildUnnamed154() => [ buildGoogleCloudApigeeV1TraceConfigOverride(), buildGoogleCloudApigeeV1TraceConfigOverride(), ]; -void checkUnnamed152(core.List o) { +void checkUnnamed154(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1TraceConfigOverride(o[0]); checkGoogleCloudApigeeV1TraceConfigOverride(o[1]); @@ -7934,7 +8057,7 @@ api.GoogleCloudApigeeV1ListTraceConfigOverridesResponse buildCounterGoogleCloudApigeeV1ListTraceConfigOverridesResponse++; if (buildCounterGoogleCloudApigeeV1ListTraceConfigOverridesResponse < 3) { o.nextPageToken = 'foo'; - o.traceConfigOverrides = buildUnnamed152(); + o.traceConfigOverrides = buildUnnamed154(); } buildCounterGoogleCloudApigeeV1ListTraceConfigOverridesResponse--; return o; @@ -7948,17 +8071,17 @@ void checkGoogleCloudApigeeV1ListTraceConfigOverridesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed152(o.traceConfigOverrides!); + checkUnnamed154(o.traceConfigOverrides!); } buildCounterGoogleCloudApigeeV1ListTraceConfigOverridesResponse--; } -core.List buildUnnamed153() => [ +core.List buildUnnamed155() => [ 'foo', 'foo', ]; -void checkUnnamed153(core.List o) { +void checkUnnamed155(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7970,12 +8093,12 @@ void checkUnnamed153(core.List o) { ); } -core.List buildUnnamed154() => [ +core.List buildUnnamed156() => [ 'foo', 'foo', ]; -void checkUnnamed154(core.List o) { +void checkUnnamed156(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7992,8 +8115,8 @@ api.GoogleCloudApigeeV1Metadata buildGoogleCloudApigeeV1Metadata() { final o = api.GoogleCloudApigeeV1Metadata(); buildCounterGoogleCloudApigeeV1Metadata++; if (buildCounterGoogleCloudApigeeV1Metadata < 3) { - o.errors = buildUnnamed153(); - o.notices = buildUnnamed154(); + o.errors = buildUnnamed155(); + o.notices = buildUnnamed156(); } buildCounterGoogleCloudApigeeV1Metadata--; return o; @@ -8002,13 +8125,13 @@ api.GoogleCloudApigeeV1Metadata buildGoogleCloudApigeeV1Metadata() { void checkGoogleCloudApigeeV1Metadata(api.GoogleCloudApigeeV1Metadata o) { buildCounterGoogleCloudApigeeV1Metadata++; if (buildCounterGoogleCloudApigeeV1Metadata < 3) { - checkUnnamed153(o.errors!); - checkUnnamed154(o.notices!); + checkUnnamed155(o.errors!); + checkUnnamed156(o.notices!); } buildCounterGoogleCloudApigeeV1Metadata--; } -core.List buildUnnamed155() => [ +core.List buildUnnamed157() => [ { 'list': [1, 2, 3], 'bool': true, @@ -8021,7 +8144,7 @@ core.List buildUnnamed155() => [ }, ]; -void checkUnnamed155(core.List o) { +void checkUnnamed157(core.List o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o[0]) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -8059,7 +8182,7 @@ api.GoogleCloudApigeeV1Metric buildGoogleCloudApigeeV1Metric() { buildCounterGoogleCloudApigeeV1Metric++; if (buildCounterGoogleCloudApigeeV1Metric < 3) { o.name = 'foo'; - o.values = buildUnnamed155(); + o.values = buildUnnamed157(); } buildCounterGoogleCloudApigeeV1Metric--; return o; @@ -8072,7 +8195,7 @@ void checkGoogleCloudApigeeV1Metric(api.GoogleCloudApigeeV1Metric o) { o.name!, unittest.equals('foo'), ); - checkUnnamed155(o.values!); + checkUnnamed157(o.values!); } buildCounterGoogleCloudApigeeV1Metric--; } @@ -8132,6 +8255,78 @@ void checkGoogleCloudApigeeV1MonetizationConfig( buildCounterGoogleCloudApigeeV1MonetizationConfig--; } +core.int buildCounterGoogleCloudApigeeV1MoveApiProductRequest = 0; +api.GoogleCloudApigeeV1MoveApiProductRequest + buildGoogleCloudApigeeV1MoveApiProductRequest() { + final o = api.GoogleCloudApigeeV1MoveApiProductRequest(); + buildCounterGoogleCloudApigeeV1MoveApiProductRequest++; + if (buildCounterGoogleCloudApigeeV1MoveApiProductRequest < 3) { + o.space = 'foo'; + } + buildCounterGoogleCloudApigeeV1MoveApiProductRequest--; + return o; +} + +void checkGoogleCloudApigeeV1MoveApiProductRequest( + api.GoogleCloudApigeeV1MoveApiProductRequest o) { + buildCounterGoogleCloudApigeeV1MoveApiProductRequest++; + if (buildCounterGoogleCloudApigeeV1MoveApiProductRequest < 3) { + unittest.expect( + o.space!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudApigeeV1MoveApiProductRequest--; +} + +core.int buildCounterGoogleCloudApigeeV1MoveApiProxyRequest = 0; +api.GoogleCloudApigeeV1MoveApiProxyRequest + buildGoogleCloudApigeeV1MoveApiProxyRequest() { + final o = api.GoogleCloudApigeeV1MoveApiProxyRequest(); + buildCounterGoogleCloudApigeeV1MoveApiProxyRequest++; + if (buildCounterGoogleCloudApigeeV1MoveApiProxyRequest < 3) { + o.space = 'foo'; + } + buildCounterGoogleCloudApigeeV1MoveApiProxyRequest--; + return o; +} + +void checkGoogleCloudApigeeV1MoveApiProxyRequest( + api.GoogleCloudApigeeV1MoveApiProxyRequest o) { + buildCounterGoogleCloudApigeeV1MoveApiProxyRequest++; + if (buildCounterGoogleCloudApigeeV1MoveApiProxyRequest < 3) { + unittest.expect( + o.space!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudApigeeV1MoveApiProxyRequest--; +} + +core.int buildCounterGoogleCloudApigeeV1MoveSharedFlowRequest = 0; +api.GoogleCloudApigeeV1MoveSharedFlowRequest + buildGoogleCloudApigeeV1MoveSharedFlowRequest() { + final o = api.GoogleCloudApigeeV1MoveSharedFlowRequest(); + buildCounterGoogleCloudApigeeV1MoveSharedFlowRequest++; + if (buildCounterGoogleCloudApigeeV1MoveSharedFlowRequest < 3) { + o.space = 'foo'; + } + buildCounterGoogleCloudApigeeV1MoveSharedFlowRequest--; + return o; +} + +void checkGoogleCloudApigeeV1MoveSharedFlowRequest( + api.GoogleCloudApigeeV1MoveSharedFlowRequest o) { + buildCounterGoogleCloudApigeeV1MoveSharedFlowRequest++; + if (buildCounterGoogleCloudApigeeV1MoveSharedFlowRequest < 3) { + unittest.expect( + o.space!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudApigeeV1MoveSharedFlowRequest--; +} + core.int buildCounterGoogleCloudApigeeV1NatAddress = 0; api.GoogleCloudApigeeV1NatAddress buildGoogleCloudApigeeV1NatAddress() { final o = api.GoogleCloudApigeeV1NatAddress(); @@ -8222,12 +8417,12 @@ void checkGoogleCloudApigeeV1OASDocumentation( buildCounterGoogleCloudApigeeV1OASDocumentation--; } -core.List buildUnnamed156() => [ +core.List buildUnnamed158() => [ 'foo', 'foo', ]; -void checkUnnamed156(core.List o) { +void checkUnnamed158(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8244,7 +8439,7 @@ api.GoogleCloudApigeeV1Operation buildGoogleCloudApigeeV1Operation() { final o = api.GoogleCloudApigeeV1Operation(); buildCounterGoogleCloudApigeeV1Operation++; if (buildCounterGoogleCloudApigeeV1Operation < 3) { - o.methods = buildUnnamed156(); + o.methods = buildUnnamed158(); o.resource = 'foo'; } buildCounterGoogleCloudApigeeV1Operation--; @@ -8254,7 +8449,7 @@ api.GoogleCloudApigeeV1Operation buildGoogleCloudApigeeV1Operation() { void checkGoogleCloudApigeeV1Operation(api.GoogleCloudApigeeV1Operation o) { buildCounterGoogleCloudApigeeV1Operation++; if (buildCounterGoogleCloudApigeeV1Operation < 3) { - checkUnnamed156(o.methods!); + checkUnnamed158(o.methods!); unittest.expect( o.resource!, unittest.equals('foo'), @@ -8263,23 +8458,23 @@ void checkGoogleCloudApigeeV1Operation(api.GoogleCloudApigeeV1Operation o) { buildCounterGoogleCloudApigeeV1Operation--; } -core.List buildUnnamed157() => [ +core.List buildUnnamed159() => [ buildGoogleCloudApigeeV1Attribute(), buildGoogleCloudApigeeV1Attribute(), ]; -void checkUnnamed157(core.List o) { +void checkUnnamed159(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1Attribute(o[0]); checkGoogleCloudApigeeV1Attribute(o[1]); } -core.List buildUnnamed158() => [ +core.List buildUnnamed160() => [ buildGoogleCloudApigeeV1Operation(), buildGoogleCloudApigeeV1Operation(), ]; -void checkUnnamed158(core.List o) { +void checkUnnamed160(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1Operation(o[0]); checkGoogleCloudApigeeV1Operation(o[1]); @@ -8292,8 +8487,8 @@ api.GoogleCloudApigeeV1OperationConfig buildCounterGoogleCloudApigeeV1OperationConfig++; if (buildCounterGoogleCloudApigeeV1OperationConfig < 3) { o.apiSource = 'foo'; - o.attributes = buildUnnamed157(); - o.operations = buildUnnamed158(); + o.attributes = buildUnnamed159(); + o.operations = buildUnnamed160(); o.quota = buildGoogleCloudApigeeV1Quota(); } buildCounterGoogleCloudApigeeV1OperationConfig--; @@ -8308,19 +8503,19 @@ void checkGoogleCloudApigeeV1OperationConfig( o.apiSource!, unittest.equals('foo'), ); - checkUnnamed157(o.attributes!); - checkUnnamed158(o.operations!); + checkUnnamed159(o.attributes!); + checkUnnamed160(o.operations!); checkGoogleCloudApigeeV1Quota(o.quota!); } buildCounterGoogleCloudApigeeV1OperationConfig--; } -core.List buildUnnamed159() => [ +core.List buildUnnamed161() => [ buildGoogleCloudApigeeV1OperationConfig(), buildGoogleCloudApigeeV1OperationConfig(), ]; -void checkUnnamed159(core.List o) { +void checkUnnamed161(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1OperationConfig(o[0]); checkGoogleCloudApigeeV1OperationConfig(o[1]); @@ -8332,7 +8527,7 @@ api.GoogleCloudApigeeV1OperationGroup buildGoogleCloudApigeeV1OperationGroup() { buildCounterGoogleCloudApigeeV1OperationGroup++; if (buildCounterGoogleCloudApigeeV1OperationGroup < 3) { o.operationConfigType = 'foo'; - o.operationConfigs = buildUnnamed159(); + o.operationConfigs = buildUnnamed161(); } buildCounterGoogleCloudApigeeV1OperationGroup--; return o; @@ -8346,7 +8541,7 @@ void checkGoogleCloudApigeeV1OperationGroup( o.operationConfigType!, unittest.equals('foo'), ); - checkUnnamed159(o.operationConfigs!); + checkUnnamed161(o.operationConfigs!); } buildCounterGoogleCloudApigeeV1OperationGroup--; } @@ -8371,7 +8566,7 @@ void checkGoogleCloudApigeeV1OptimizedStats( buildCounterGoogleCloudApigeeV1OptimizedStats--; } -core.List buildUnnamed160() => [ +core.List buildUnnamed162() => [ { 'list': [1, 2, 3], 'bool': true, @@ -8384,7 +8579,7 @@ core.List buildUnnamed160() => [ }, ]; -void checkUnnamed160(core.List o) { +void checkUnnamed162(core.List o) { unittest.expect(o, unittest.hasLength(2)); var casted9 = (o[0]) as core.Map; unittest.expect(casted9, unittest.hasLength(3)); @@ -8422,7 +8617,7 @@ api.GoogleCloudApigeeV1OptimizedStatsNode final o = api.GoogleCloudApigeeV1OptimizedStatsNode(); buildCounterGoogleCloudApigeeV1OptimizedStatsNode++; if (buildCounterGoogleCloudApigeeV1OptimizedStatsNode < 3) { - o.data = buildUnnamed160(); + o.data = buildUnnamed162(); } buildCounterGoogleCloudApigeeV1OptimizedStatsNode--; return o; @@ -8432,17 +8627,17 @@ void checkGoogleCloudApigeeV1OptimizedStatsNode( api.GoogleCloudApigeeV1OptimizedStatsNode o) { buildCounterGoogleCloudApigeeV1OptimizedStatsNode++; if (buildCounterGoogleCloudApigeeV1OptimizedStatsNode < 3) { - checkUnnamed160(o.data!); + checkUnnamed162(o.data!); } buildCounterGoogleCloudApigeeV1OptimizedStatsNode--; } -core.List buildUnnamed161() => [ +core.List buildUnnamed163() => [ 'foo', 'foo', ]; -void checkUnnamed161(core.List o) { +void checkUnnamed163(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8460,7 +8655,7 @@ api.GoogleCloudApigeeV1OptimizedStatsResponse final o = api.GoogleCloudApigeeV1OptimizedStatsResponse(); buildCounterGoogleCloudApigeeV1OptimizedStatsResponse++; if (buildCounterGoogleCloudApigeeV1OptimizedStatsResponse < 3) { - o.TimeUnit = buildUnnamed161(); + o.TimeUnit = buildUnnamed163(); o.metaData = buildGoogleCloudApigeeV1Metadata(); o.resultTruncated = true; o.stats = buildGoogleCloudApigeeV1OptimizedStatsNode(); @@ -8473,7 +8668,7 @@ void checkGoogleCloudApigeeV1OptimizedStatsResponse( api.GoogleCloudApigeeV1OptimizedStatsResponse o) { buildCounterGoogleCloudApigeeV1OptimizedStatsResponse++; if (buildCounterGoogleCloudApigeeV1OptimizedStatsResponse < 3) { - checkUnnamed161(o.TimeUnit!); + checkUnnamed163(o.TimeUnit!); checkGoogleCloudApigeeV1Metadata(o.metaData!); unittest.expect(o.resultTruncated!, unittest.isTrue); checkGoogleCloudApigeeV1OptimizedStatsNode(o.stats!); @@ -8481,12 +8676,12 @@ void checkGoogleCloudApigeeV1OptimizedStatsResponse( buildCounterGoogleCloudApigeeV1OptimizedStatsResponse--; } -core.List buildUnnamed162() => [ +core.List buildUnnamed164() => [ 'foo', 'foo', ]; -void checkUnnamed162(core.List o) { +void checkUnnamed164(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8498,12 +8693,12 @@ void checkUnnamed162(core.List o) { ); } -core.List buildUnnamed163() => [ +core.List buildUnnamed165() => [ 'foo', 'foo', ]; -void checkUnnamed163(core.List o) { +void checkUnnamed165(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8525,7 +8720,7 @@ api.GoogleCloudApigeeV1Organization buildGoogleCloudApigeeV1Organization() { o.apiConsumerDataEncryptionKeyName = 'foo'; o.apiConsumerDataLocation = 'foo'; o.apigeeProjectId = 'foo'; - o.attributes = buildUnnamed162(); + o.attributes = buildUnnamed164(); o.authorizedNetwork = 'foo'; o.billingType = 'foo'; o.caCertificate = 'foo'; @@ -8535,7 +8730,7 @@ api.GoogleCloudApigeeV1Organization buildGoogleCloudApigeeV1Organization() { o.description = 'foo'; o.disableVpcPeering = true; o.displayName = 'foo'; - o.environments = buildUnnamed163(); + o.environments = buildUnnamed165(); o.expiresAt = 'foo'; o.lastModifiedAt = 'foo'; o.name = 'foo'; @@ -8574,7 +8769,7 @@ void checkGoogleCloudApigeeV1Organization( o.apigeeProjectId!, unittest.equals('foo'), ); - checkUnnamed162(o.attributes!); + checkUnnamed164(o.attributes!); unittest.expect( o.authorizedNetwork!, unittest.equals('foo'), @@ -8608,7 +8803,7 @@ void checkGoogleCloudApigeeV1Organization( o.displayName!, unittest.equals('foo'), ); - checkUnnamed163(o.environments!); + checkUnnamed165(o.environments!); unittest.expect( o.expiresAt!, unittest.equals('foo'), @@ -8655,12 +8850,12 @@ void checkGoogleCloudApigeeV1Organization( buildCounterGoogleCloudApigeeV1Organization--; } -core.List buildUnnamed164() => [ +core.List buildUnnamed166() => [ 'foo', 'foo', ]; -void checkUnnamed164(core.List o) { +void checkUnnamed166(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8681,7 +8876,7 @@ api.GoogleCloudApigeeV1OrganizationProjectMapping o.location = 'foo'; o.organization = 'foo'; o.projectId = 'foo'; - o.projectIds = buildUnnamed164(); + o.projectIds = buildUnnamed166(); } buildCounterGoogleCloudApigeeV1OrganizationProjectMapping--; return o; @@ -8703,7 +8898,7 @@ void checkGoogleCloudApigeeV1OrganizationProjectMapping( o.projectId!, unittest.equals('foo'), ); - checkUnnamed164(o.projectIds!); + checkUnnamed166(o.projectIds!); } buildCounterGoogleCloudApigeeV1OrganizationProjectMapping--; } @@ -8770,12 +8965,12 @@ void checkGoogleCloudApigeeV1PodStatus(api.GoogleCloudApigeeV1PodStatus o) { buildCounterGoogleCloudApigeeV1PodStatus--; } -core.List buildUnnamed165() => [ +core.List buildUnnamed167() => [ buildGoogleCloudApigeeV1Result(), buildGoogleCloudApigeeV1Result(), ]; -void checkUnnamed165(core.List o) { +void checkUnnamed167(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1Result(o[0]); checkGoogleCloudApigeeV1Result(o[1]); @@ -8787,7 +8982,7 @@ api.GoogleCloudApigeeV1Point buildGoogleCloudApigeeV1Point() { buildCounterGoogleCloudApigeeV1Point++; if (buildCounterGoogleCloudApigeeV1Point < 3) { o.id = 'foo'; - o.results = buildUnnamed165(); + o.results = buildUnnamed167(); } buildCounterGoogleCloudApigeeV1Point--; return o; @@ -8800,17 +8995,17 @@ void checkGoogleCloudApigeeV1Point(api.GoogleCloudApigeeV1Point o) { o.id!, unittest.equals('foo'), ); - checkUnnamed165(o.results!); + checkUnnamed167(o.results!); } buildCounterGoogleCloudApigeeV1Point--; } -core.List buildUnnamed166() => [ +core.List buildUnnamed168() => [ buildGoogleCloudApigeeV1ProfileConfigCategory(), buildGoogleCloudApigeeV1ProfileConfigCategory(), ]; -void checkUnnamed166( +void checkUnnamed168( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1ProfileConfigCategory(o[0]); @@ -8822,7 +9017,7 @@ api.GoogleCloudApigeeV1ProfileConfig buildGoogleCloudApigeeV1ProfileConfig() { final o = api.GoogleCloudApigeeV1ProfileConfig(); buildCounterGoogleCloudApigeeV1ProfileConfig++; if (buildCounterGoogleCloudApigeeV1ProfileConfig < 3) { - o.categories = buildUnnamed166(); + o.categories = buildUnnamed168(); } buildCounterGoogleCloudApigeeV1ProfileConfig--; return o; @@ -8832,7 +9027,7 @@ void checkGoogleCloudApigeeV1ProfileConfig( api.GoogleCloudApigeeV1ProfileConfig o) { buildCounterGoogleCloudApigeeV1ProfileConfig++; if (buildCounterGoogleCloudApigeeV1ProfileConfig < 3) { - checkUnnamed166(o.categories!); + checkUnnamed168(o.categories!); } buildCounterGoogleCloudApigeeV1ProfileConfig--; } @@ -8970,12 +9165,12 @@ void checkGoogleCloudApigeeV1ProfileConfigThreat( buildCounterGoogleCloudApigeeV1ProfileConfigThreat--; } -core.List buildUnnamed167() => [ +core.List buildUnnamed169() => [ buildGoogleCloudApigeeV1Property(), buildGoogleCloudApigeeV1Property(), ]; -void checkUnnamed167(core.List o) { +void checkUnnamed169(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1Property(o[0]); checkGoogleCloudApigeeV1Property(o[1]); @@ -8986,7 +9181,7 @@ api.GoogleCloudApigeeV1Properties buildGoogleCloudApigeeV1Properties() { final o = api.GoogleCloudApigeeV1Properties(); buildCounterGoogleCloudApigeeV1Properties++; if (buildCounterGoogleCloudApigeeV1Properties < 3) { - o.property = buildUnnamed167(); + o.property = buildUnnamed169(); } buildCounterGoogleCloudApigeeV1Properties--; return o; @@ -8995,7 +9190,7 @@ api.GoogleCloudApigeeV1Properties buildGoogleCloudApigeeV1Properties() { void checkGoogleCloudApigeeV1Properties(api.GoogleCloudApigeeV1Properties o) { buildCounterGoogleCloudApigeeV1Properties++; if (buildCounterGoogleCloudApigeeV1Properties < 3) { - checkUnnamed167(o.property!); + checkUnnamed169(o.property!); } buildCounterGoogleCloudApigeeV1Properties--; } @@ -9063,12 +9258,12 @@ void checkGoogleCloudApigeeV1ProvisionOrganizationRequest( buildCounterGoogleCloudApigeeV1ProvisionOrganizationRequest--; } -core.List buildUnnamed168() => [ +core.List buildUnnamed170() => [ 'foo', 'foo', ]; -void checkUnnamed168(core.List o) { +void checkUnnamed170(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9080,12 +9275,12 @@ void checkUnnamed168(core.List o) { ); } -core.List buildUnnamed169() => [ +core.List buildUnnamed171() => [ buildGoogleCloudApigeeV1QueryMetric(), buildGoogleCloudApigeeV1QueryMetric(), ]; -void checkUnnamed169(core.List o) { +void checkUnnamed171(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1QueryMetric(o[0]); checkGoogleCloudApigeeV1QueryMetric(o[1]); @@ -9097,12 +9292,12 @@ api.GoogleCloudApigeeV1Query buildGoogleCloudApigeeV1Query() { buildCounterGoogleCloudApigeeV1Query++; if (buildCounterGoogleCloudApigeeV1Query < 3) { o.csvDelimiter = 'foo'; - o.dimensions = buildUnnamed168(); + o.dimensions = buildUnnamed170(); o.envgroupHostname = 'foo'; o.filter = 'foo'; o.groupByTimeUnit = 'foo'; o.limit = 42; - o.metrics = buildUnnamed169(); + o.metrics = buildUnnamed171(); o.name = 'foo'; o.outputFormat = 'foo'; o.reportDefinitionId = 'foo'; @@ -9123,7 +9318,7 @@ void checkGoogleCloudApigeeV1Query(api.GoogleCloudApigeeV1Query o) { o.csvDelimiter!, unittest.equals('foo'), ); - checkUnnamed168(o.dimensions!); + checkUnnamed170(o.dimensions!); unittest.expect( o.envgroupHostname!, unittest.equals('foo'), @@ -9140,7 +9335,7 @@ void checkGoogleCloudApigeeV1Query(api.GoogleCloudApigeeV1Query o) { o.limit!, unittest.equals(42), ); - checkUnnamed169(o.metrics!); + checkUnnamed171(o.metrics!); unittest.expect( o.name!, unittest.equals('foo'), @@ -9171,12 +9366,12 @@ void checkGoogleCloudApigeeV1Query(api.GoogleCloudApigeeV1Query o) { buildCounterGoogleCloudApigeeV1Query--; } -core.List buildUnnamed170() => [ +core.List buildUnnamed172() => [ 'foo', 'foo', ]; -void checkUnnamed170(core.List o) { +void checkUnnamed172(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9188,12 +9383,12 @@ void checkUnnamed170(core.List o) { ); } -core.List buildUnnamed171() => [ +core.List buildUnnamed173() => [ 'foo', 'foo', ]; -void checkUnnamed171(core.List o) { +void checkUnnamed173(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9210,9 +9405,9 @@ api.GoogleCloudApigeeV1QueryMetadata buildGoogleCloudApigeeV1QueryMetadata() { final o = api.GoogleCloudApigeeV1QueryMetadata(); buildCounterGoogleCloudApigeeV1QueryMetadata++; if (buildCounterGoogleCloudApigeeV1QueryMetadata < 3) { - o.dimensions = buildUnnamed170(); + o.dimensions = buildUnnamed172(); o.endTimestamp = 'foo'; - o.metrics = buildUnnamed171(); + o.metrics = buildUnnamed173(); o.outputFormat = 'foo'; o.startTimestamp = 'foo'; o.timeUnit = 'foo'; @@ -9225,12 +9420,12 @@ void checkGoogleCloudApigeeV1QueryMetadata( api.GoogleCloudApigeeV1QueryMetadata o) { buildCounterGoogleCloudApigeeV1QueryMetadata++; if (buildCounterGoogleCloudApigeeV1QueryMetadata < 3) { - checkUnnamed170(o.dimensions!); + checkUnnamed172(o.dimensions!); unittest.expect( o.endTimestamp!, unittest.equals('foo'), ); - checkUnnamed171(o.metrics!); + checkUnnamed173(o.metrics!); unittest.expect( o.outputFormat!, unittest.equals('foo'), @@ -9289,12 +9484,12 @@ void checkGoogleCloudApigeeV1QueryMetric(api.GoogleCloudApigeeV1QueryMetric o) { buildCounterGoogleCloudApigeeV1QueryMetric--; } -core.List buildUnnamed172() => [ +core.List buildUnnamed174() => [ 'foo', 'foo', ]; -void checkUnnamed172(core.List o) { +void checkUnnamed174(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9306,12 +9501,12 @@ void checkUnnamed172(core.List o) { ); } -core.List buildUnnamed173() => [ +core.List buildUnnamed175() => [ buildGoogleCloudApigeeV1MetricAggregation(), buildGoogleCloudApigeeV1MetricAggregation(), ]; -void checkUnnamed173(core.List o) { +void checkUnnamed175(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1MetricAggregation(o[0]); checkGoogleCloudApigeeV1MetricAggregation(o[1]); @@ -9323,9 +9518,9 @@ api.GoogleCloudApigeeV1QueryTabularStatsRequest final o = api.GoogleCloudApigeeV1QueryTabularStatsRequest(); buildCounterGoogleCloudApigeeV1QueryTabularStatsRequest++; if (buildCounterGoogleCloudApigeeV1QueryTabularStatsRequest < 3) { - o.dimensions = buildUnnamed172(); + o.dimensions = buildUnnamed174(); o.filter = 'foo'; - o.metrics = buildUnnamed173(); + o.metrics = buildUnnamed175(); o.pageSize = 42; o.pageToken = 'foo'; o.timeRange = buildGoogleTypeInterval(); @@ -9338,12 +9533,12 @@ void checkGoogleCloudApigeeV1QueryTabularStatsRequest( api.GoogleCloudApigeeV1QueryTabularStatsRequest o) { buildCounterGoogleCloudApigeeV1QueryTabularStatsRequest++; if (buildCounterGoogleCloudApigeeV1QueryTabularStatsRequest < 3) { - checkUnnamed172(o.dimensions!); + checkUnnamed174(o.dimensions!); unittest.expect( o.filter!, unittest.equals('foo'), ); - checkUnnamed173(o.metrics!); + checkUnnamed175(o.metrics!); unittest.expect( o.pageSize!, unittest.equals(42), @@ -9357,12 +9552,12 @@ void checkGoogleCloudApigeeV1QueryTabularStatsRequest( buildCounterGoogleCloudApigeeV1QueryTabularStatsRequest--; } -core.List buildUnnamed174() => [ +core.List buildUnnamed176() => [ 'foo', 'foo', ]; -void checkUnnamed174(core.List o) { +void checkUnnamed176(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9374,7 +9569,7 @@ void checkUnnamed174(core.List o) { ); } -core.List buildUnnamed175() => [ +core.List buildUnnamed177() => [ { 'list': [1, 2, 3], 'bool': true, @@ -9387,7 +9582,7 @@ core.List buildUnnamed175() => [ }, ]; -void checkUnnamed175(core.List o) { +void checkUnnamed177(core.List o) { unittest.expect(o, unittest.hasLength(2)); var casted12 = (o[0]) as core.Map; unittest.expect(casted12, unittest.hasLength(3)); @@ -9419,15 +9614,15 @@ void checkUnnamed175(core.List o) { ); } -core.List> buildUnnamed176() => [ - buildUnnamed175(), - buildUnnamed175(), +core.List> buildUnnamed178() => [ + buildUnnamed177(), + buildUnnamed177(), ]; -void checkUnnamed176(core.List> o) { +void checkUnnamed178(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed175(o[0]); - checkUnnamed175(o[1]); + checkUnnamed177(o[0]); + checkUnnamed177(o[1]); } core.int buildCounterGoogleCloudApigeeV1QueryTabularStatsResponse = 0; @@ -9436,9 +9631,9 @@ api.GoogleCloudApigeeV1QueryTabularStatsResponse final o = api.GoogleCloudApigeeV1QueryTabularStatsResponse(); buildCounterGoogleCloudApigeeV1QueryTabularStatsResponse++; if (buildCounterGoogleCloudApigeeV1QueryTabularStatsResponse < 3) { - o.columns = buildUnnamed174(); + o.columns = buildUnnamed176(); o.nextPageToken = 'foo'; - o.values = buildUnnamed176(); + o.values = buildUnnamed178(); } buildCounterGoogleCloudApigeeV1QueryTabularStatsResponse--; return o; @@ -9448,22 +9643,22 @@ void checkGoogleCloudApigeeV1QueryTabularStatsResponse( api.GoogleCloudApigeeV1QueryTabularStatsResponse o) { buildCounterGoogleCloudApigeeV1QueryTabularStatsResponse++; if (buildCounterGoogleCloudApigeeV1QueryTabularStatsResponse < 3) { - checkUnnamed174(o.columns!); + checkUnnamed176(o.columns!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed176(o.values!); + checkUnnamed178(o.values!); } buildCounterGoogleCloudApigeeV1QueryTabularStatsResponse--; } -core.List buildUnnamed177() => [ +core.List buildUnnamed179() => [ 'foo', 'foo', ]; -void checkUnnamed177(core.List o) { +void checkUnnamed179(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9475,12 +9670,12 @@ void checkUnnamed177(core.List o) { ); } -core.List buildUnnamed178() => [ +core.List buildUnnamed180() => [ buildGoogleCloudApigeeV1MetricAggregation(), buildGoogleCloudApigeeV1MetricAggregation(), ]; -void checkUnnamed178(core.List o) { +void checkUnnamed180(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1MetricAggregation(o[0]); checkGoogleCloudApigeeV1MetricAggregation(o[1]); @@ -9492,9 +9687,9 @@ api.GoogleCloudApigeeV1QueryTimeSeriesStatsRequest final o = api.GoogleCloudApigeeV1QueryTimeSeriesStatsRequest(); buildCounterGoogleCloudApigeeV1QueryTimeSeriesStatsRequest++; if (buildCounterGoogleCloudApigeeV1QueryTimeSeriesStatsRequest < 3) { - o.dimensions = buildUnnamed177(); + o.dimensions = buildUnnamed179(); o.filter = 'foo'; - o.metrics = buildUnnamed178(); + o.metrics = buildUnnamed180(); o.pageSize = 42; o.pageToken = 'foo'; o.timeRange = buildGoogleTypeInterval(); @@ -9509,12 +9704,12 @@ void checkGoogleCloudApigeeV1QueryTimeSeriesStatsRequest( api.GoogleCloudApigeeV1QueryTimeSeriesStatsRequest o) { buildCounterGoogleCloudApigeeV1QueryTimeSeriesStatsRequest++; if (buildCounterGoogleCloudApigeeV1QueryTimeSeriesStatsRequest < 3) { - checkUnnamed177(o.dimensions!); + checkUnnamed179(o.dimensions!); unittest.expect( o.filter!, unittest.equals('foo'), ); - checkUnnamed178(o.metrics!); + checkUnnamed180(o.metrics!); unittest.expect( o.pageSize!, unittest.equals(42), @@ -9536,12 +9731,12 @@ void checkGoogleCloudApigeeV1QueryTimeSeriesStatsRequest( buildCounterGoogleCloudApigeeV1QueryTimeSeriesStatsRequest--; } -core.List buildUnnamed179() => [ +core.List buildUnnamed181() => [ 'foo', 'foo', ]; -void checkUnnamed179(core.List o) { +void checkUnnamed181(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9554,12 +9749,12 @@ void checkUnnamed179(core.List o) { } core.List - buildUnnamed180() => [ + buildUnnamed182() => [ buildGoogleCloudApigeeV1QueryTimeSeriesStatsResponseSequence(), buildGoogleCloudApigeeV1QueryTimeSeriesStatsResponseSequence(), ]; -void checkUnnamed180( +void checkUnnamed182( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1QueryTimeSeriesStatsResponseSequence(o[0]); @@ -9572,9 +9767,9 @@ api.GoogleCloudApigeeV1QueryTimeSeriesStatsResponse final o = api.GoogleCloudApigeeV1QueryTimeSeriesStatsResponse(); buildCounterGoogleCloudApigeeV1QueryTimeSeriesStatsResponse++; if (buildCounterGoogleCloudApigeeV1QueryTimeSeriesStatsResponse < 3) { - o.columns = buildUnnamed179(); + o.columns = buildUnnamed181(); o.nextPageToken = 'foo'; - o.values = buildUnnamed180(); + o.values = buildUnnamed182(); } buildCounterGoogleCloudApigeeV1QueryTimeSeriesStatsResponse--; return o; @@ -9584,22 +9779,22 @@ void checkGoogleCloudApigeeV1QueryTimeSeriesStatsResponse( api.GoogleCloudApigeeV1QueryTimeSeriesStatsResponse o) { buildCounterGoogleCloudApigeeV1QueryTimeSeriesStatsResponse++; if (buildCounterGoogleCloudApigeeV1QueryTimeSeriesStatsResponse < 3) { - checkUnnamed179(o.columns!); + checkUnnamed181(o.columns!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed180(o.values!); + checkUnnamed182(o.values!); } buildCounterGoogleCloudApigeeV1QueryTimeSeriesStatsResponse--; } -core.Map buildUnnamed181() => { +core.Map buildUnnamed183() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed181(core.Map o) { +void checkUnnamed183(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -9611,7 +9806,7 @@ void checkUnnamed181(core.Map o) { ); } -core.List buildUnnamed182() => [ +core.List buildUnnamed184() => [ { 'list': [1, 2, 3], 'bool': true, @@ -9624,7 +9819,7 @@ core.List buildUnnamed182() => [ }, ]; -void checkUnnamed182(core.List o) { +void checkUnnamed184(core.List o) { unittest.expect(o, unittest.hasLength(2)); var casted14 = (o[0]) as core.Map; unittest.expect(casted14, unittest.hasLength(3)); @@ -9656,15 +9851,15 @@ void checkUnnamed182(core.List o) { ); } -core.List> buildUnnamed183() => [ - buildUnnamed182(), - buildUnnamed182(), +core.List> buildUnnamed185() => [ + buildUnnamed184(), + buildUnnamed184(), ]; -void checkUnnamed183(core.List> o) { +void checkUnnamed185(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed182(o[0]); - checkUnnamed182(o[1]); + checkUnnamed184(o[0]); + checkUnnamed184(o[1]); } core.int buildCounterGoogleCloudApigeeV1QueryTimeSeriesStatsResponseSequence = @@ -9674,8 +9869,8 @@ api.GoogleCloudApigeeV1QueryTimeSeriesStatsResponseSequence final o = api.GoogleCloudApigeeV1QueryTimeSeriesStatsResponseSequence(); buildCounterGoogleCloudApigeeV1QueryTimeSeriesStatsResponseSequence++; if (buildCounterGoogleCloudApigeeV1QueryTimeSeriesStatsResponseSequence < 3) { - o.dimensions = buildUnnamed181(); - o.points = buildUnnamed183(); + o.dimensions = buildUnnamed183(); + o.points = buildUnnamed185(); } buildCounterGoogleCloudApigeeV1QueryTimeSeriesStatsResponseSequence--; return o; @@ -9685,8 +9880,8 @@ void checkGoogleCloudApigeeV1QueryTimeSeriesStatsResponseSequence( api.GoogleCloudApigeeV1QueryTimeSeriesStatsResponseSequence o) { buildCounterGoogleCloudApigeeV1QueryTimeSeriesStatsResponseSequence++; if (buildCounterGoogleCloudApigeeV1QueryTimeSeriesStatsResponseSequence < 3) { - checkUnnamed181(o.dimensions!); - checkUnnamed183(o.points!); + checkUnnamed183(o.dimensions!); + checkUnnamed185(o.points!); } buildCounterGoogleCloudApigeeV1QueryTimeSeriesStatsResponseSequence--; } @@ -9723,23 +9918,23 @@ void checkGoogleCloudApigeeV1Quota(api.GoogleCloudApigeeV1Quota o) { buildCounterGoogleCloudApigeeV1Quota--; } -core.List buildUnnamed184() => [ +core.List buildUnnamed186() => [ buildGoogleCloudApigeeV1RateRange(), buildGoogleCloudApigeeV1RateRange(), ]; -void checkUnnamed184(core.List o) { +void checkUnnamed186(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1RateRange(o[0]); checkGoogleCloudApigeeV1RateRange(o[1]); } -core.List buildUnnamed185() => [ +core.List buildUnnamed187() => [ buildGoogleCloudApigeeV1RevenueShareRange(), buildGoogleCloudApigeeV1RevenueShareRange(), ]; -void checkUnnamed185(core.List o) { +void checkUnnamed187(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1RevenueShareRange(o[0]); checkGoogleCloudApigeeV1RevenueShareRange(o[1]); @@ -9752,7 +9947,7 @@ api.GoogleCloudApigeeV1RatePlan buildGoogleCloudApigeeV1RatePlan() { if (buildCounterGoogleCloudApigeeV1RatePlan < 3) { o.apiproduct = 'foo'; o.billingPeriod = 'foo'; - o.consumptionPricingRates = buildUnnamed184(); + o.consumptionPricingRates = buildUnnamed186(); o.consumptionPricingType = 'foo'; o.createdAt = 'foo'; o.currencyCode = 'foo'; @@ -9764,7 +9959,7 @@ api.GoogleCloudApigeeV1RatePlan buildGoogleCloudApigeeV1RatePlan() { o.lastModifiedAt = 'foo'; o.name = 'foo'; o.paymentFundingModel = 'foo'; - o.revenueShareRates = buildUnnamed185(); + o.revenueShareRates = buildUnnamed187(); o.revenueShareType = 'foo'; o.setupFee = buildGoogleTypeMoney(); o.startTime = 'foo'; @@ -9785,7 +9980,7 @@ void checkGoogleCloudApigeeV1RatePlan(api.GoogleCloudApigeeV1RatePlan o) { o.billingPeriod!, unittest.equals('foo'), ); - checkUnnamed184(o.consumptionPricingRates!); + checkUnnamed186(o.consumptionPricingRates!); unittest.expect( o.consumptionPricingType!, unittest.equals('foo'), @@ -9827,7 +10022,7 @@ void checkGoogleCloudApigeeV1RatePlan(api.GoogleCloudApigeeV1RatePlan o) { o.paymentFundingModel!, unittest.equals('foo'), ); - checkUnnamed185(o.revenueShareRates!); + checkUnnamed187(o.revenueShareRates!); unittest.expect( o.revenueShareType!, unittest.equals('foo'), @@ -9940,12 +10135,12 @@ void checkGoogleCloudApigeeV1ReferenceConfig( buildCounterGoogleCloudApigeeV1ReferenceConfig--; } -core.List buildUnnamed186() => [ +core.List buildUnnamed188() => [ buildGoogleCloudApigeeV1ResourceStatus(), buildGoogleCloudApigeeV1ResourceStatus(), ]; -void checkUnnamed186(core.List o) { +void checkUnnamed188(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1ResourceStatus(o[0]); checkGoogleCloudApigeeV1ResourceStatus(o[1]); @@ -9959,7 +10154,7 @@ api.GoogleCloudApigeeV1ReportInstanceStatusRequest if (buildCounterGoogleCloudApigeeV1ReportInstanceStatusRequest < 3) { o.instanceUid = 'foo'; o.reportTime = 'foo'; - o.resources = buildUnnamed186(); + o.resources = buildUnnamed188(); } buildCounterGoogleCloudApigeeV1ReportInstanceStatusRequest--; return o; @@ -9977,7 +10172,7 @@ void checkGoogleCloudApigeeV1ReportInstanceStatusRequest( o.reportTime!, unittest.equals('foo'), ); - checkUnnamed186(o.resources!); + checkUnnamed188(o.resources!); } buildCounterGoogleCloudApigeeV1ReportInstanceStatusRequest--; } @@ -9999,12 +10194,12 @@ void checkGoogleCloudApigeeV1ReportInstanceStatusResponse( buildCounterGoogleCloudApigeeV1ReportInstanceStatusResponse--; } -core.List buildUnnamed187() => [ +core.List buildUnnamed189() => [ buildGoogleCloudApigeeV1Attribute(), buildGoogleCloudApigeeV1Attribute(), ]; -void checkUnnamed187(core.List o) { +void checkUnnamed189(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1Attribute(o[0]); checkGoogleCloudApigeeV1Attribute(o[1]); @@ -10016,7 +10211,7 @@ api.GoogleCloudApigeeV1ReportProperty buildGoogleCloudApigeeV1ReportProperty() { buildCounterGoogleCloudApigeeV1ReportProperty++; if (buildCounterGoogleCloudApigeeV1ReportProperty < 3) { o.property = 'foo'; - o.value = buildUnnamed187(); + o.value = buildUnnamed189(); } buildCounterGoogleCloudApigeeV1ReportProperty--; return o; @@ -10030,7 +10225,7 @@ void checkGoogleCloudApigeeV1ReportProperty( o.property!, unittest.equals('foo'), ); - checkUnnamed187(o.value!); + checkUnnamed189(o.value!); } buildCounterGoogleCloudApigeeV1ReportProperty--; } @@ -10091,12 +10286,12 @@ void checkGoogleCloudApigeeV1ResourceFile( buildCounterGoogleCloudApigeeV1ResourceFile--; } -core.List buildUnnamed188() => [ +core.List buildUnnamed190() => [ buildGoogleCloudApigeeV1ResourceFile(), buildGoogleCloudApigeeV1ResourceFile(), ]; -void checkUnnamed188(core.List o) { +void checkUnnamed190(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1ResourceFile(o[0]); checkGoogleCloudApigeeV1ResourceFile(o[1]); @@ -10107,7 +10302,7 @@ api.GoogleCloudApigeeV1ResourceFiles buildGoogleCloudApigeeV1ResourceFiles() { final o = api.GoogleCloudApigeeV1ResourceFiles(); buildCounterGoogleCloudApigeeV1ResourceFiles++; if (buildCounterGoogleCloudApigeeV1ResourceFiles < 3) { - o.resourceFile = buildUnnamed188(); + o.resourceFile = buildUnnamed190(); } buildCounterGoogleCloudApigeeV1ResourceFiles--; return o; @@ -10117,17 +10312,17 @@ void checkGoogleCloudApigeeV1ResourceFiles( api.GoogleCloudApigeeV1ResourceFiles o) { buildCounterGoogleCloudApigeeV1ResourceFiles++; if (buildCounterGoogleCloudApigeeV1ResourceFiles < 3) { - checkUnnamed188(o.resourceFile!); + checkUnnamed190(o.resourceFile!); } buildCounterGoogleCloudApigeeV1ResourceFiles--; } -core.List buildUnnamed189() => [ +core.List buildUnnamed191() => [ buildGoogleCloudApigeeV1RevisionStatus(), buildGoogleCloudApigeeV1RevisionStatus(), ]; -void checkUnnamed189(core.List o) { +void checkUnnamed191(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1RevisionStatus(o[0]); checkGoogleCloudApigeeV1RevisionStatus(o[1]); @@ -10139,7 +10334,7 @@ api.GoogleCloudApigeeV1ResourceStatus buildGoogleCloudApigeeV1ResourceStatus() { buildCounterGoogleCloudApigeeV1ResourceStatus++; if (buildCounterGoogleCloudApigeeV1ResourceStatus < 3) { o.resource = 'foo'; - o.revisions = buildUnnamed189(); + o.revisions = buildUnnamed191(); o.totalReplicas = 42; o.uid = 'foo'; } @@ -10155,7 +10350,7 @@ void checkGoogleCloudApigeeV1ResourceStatus( o.resource!, unittest.equals('foo'), ); - checkUnnamed189(o.revisions!); + checkUnnamed191(o.revisions!); unittest.expect( o.totalReplicas!, unittest.equals(42), @@ -10168,23 +10363,23 @@ void checkGoogleCloudApigeeV1ResourceStatus( buildCounterGoogleCloudApigeeV1ResourceStatus--; } -core.List buildUnnamed190() => [ +core.List buildUnnamed192() => [ buildGoogleCloudApigeeV1Access(), buildGoogleCloudApigeeV1Access(), ]; -void checkUnnamed190(core.List o) { +void checkUnnamed192(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1Access(o[0]); checkGoogleCloudApigeeV1Access(o[1]); } -core.List buildUnnamed191() => [ +core.List buildUnnamed193() => [ buildGoogleCloudApigeeV1Property(), buildGoogleCloudApigeeV1Property(), ]; -void checkUnnamed191(core.List o) { +void checkUnnamed193(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1Property(o[0]); checkGoogleCloudApigeeV1Property(o[1]); @@ -10196,9 +10391,9 @@ api.GoogleCloudApigeeV1Result buildGoogleCloudApigeeV1Result() { buildCounterGoogleCloudApigeeV1Result++; if (buildCounterGoogleCloudApigeeV1Result < 3) { o.ActionResult = 'foo'; - o.accessList = buildUnnamed190(); + o.accessList = buildUnnamed192(); o.content = 'foo'; - o.headers = buildUnnamed191(); + o.headers = buildUnnamed193(); o.properties = buildGoogleCloudApigeeV1Properties(); o.reasonPhrase = 'foo'; o.statusCode = 'foo'; @@ -10217,12 +10412,12 @@ void checkGoogleCloudApigeeV1Result(api.GoogleCloudApigeeV1Result o) { o.ActionResult!, unittest.equals('foo'), ); - checkUnnamed190(o.accessList!); + checkUnnamed192(o.accessList!); unittest.expect( o.content!, unittest.equals('foo'), ); - checkUnnamed191(o.headers!); + checkUnnamed193(o.headers!); checkGoogleCloudApigeeV1Properties(o.properties!); unittest.expect( o.reasonPhrase!, @@ -10282,12 +10477,12 @@ void checkGoogleCloudApigeeV1RevenueShareRange( buildCounterGoogleCloudApigeeV1RevenueShareRange--; } -core.List buildUnnamed192() => [ +core.List buildUnnamed194() => [ buildGoogleCloudApigeeV1UpdateError(), buildGoogleCloudApigeeV1UpdateError(), ]; -void checkUnnamed192(core.List o) { +void checkUnnamed194(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1UpdateError(o[0]); checkGoogleCloudApigeeV1UpdateError(o[1]); @@ -10298,7 +10493,7 @@ api.GoogleCloudApigeeV1RevisionStatus buildGoogleCloudApigeeV1RevisionStatus() { final o = api.GoogleCloudApigeeV1RevisionStatus(); buildCounterGoogleCloudApigeeV1RevisionStatus++; if (buildCounterGoogleCloudApigeeV1RevisionStatus < 3) { - o.errors = buildUnnamed192(); + o.errors = buildUnnamed194(); o.jsonSpec = 'foo'; o.replicas = 42; o.revisionId = 'foo'; @@ -10311,7 +10506,7 @@ void checkGoogleCloudApigeeV1RevisionStatus( api.GoogleCloudApigeeV1RevisionStatus o) { buildCounterGoogleCloudApigeeV1RevisionStatus++; if (buildCounterGoogleCloudApigeeV1RevisionStatus < 3) { - checkUnnamed192(o.errors!); + checkUnnamed194(o.errors!); unittest.expect( o.jsonSpec!, unittest.equals('foo'), @@ -10328,12 +10523,12 @@ void checkGoogleCloudApigeeV1RevisionStatus( buildCounterGoogleCloudApigeeV1RevisionStatus--; } -core.List buildUnnamed193() => [ +core.List buildUnnamed195() => [ 'foo', 'foo', ]; -void checkUnnamed193(core.List o) { +void checkUnnamed195(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10354,7 +10549,7 @@ api.GoogleCloudApigeeV1RoutingRule buildGoogleCloudApigeeV1RoutingRule() { o.deploymentGroup = 'foo'; o.envGroupRevision = 'foo'; o.environment = 'foo'; - o.otherTargets = buildUnnamed193(); + o.otherTargets = buildUnnamed195(); o.receiver = 'foo'; o.updateTime = 'foo'; } @@ -10381,7 +10576,7 @@ void checkGoogleCloudApigeeV1RoutingRule(api.GoogleCloudApigeeV1RoutingRule o) { o.environment!, unittest.equals('foo'), ); - checkUnnamed193(o.otherTargets!); + checkUnnamed195(o.otherTargets!); unittest.expect( o.receiver!, unittest.equals('foo'), @@ -10515,12 +10710,12 @@ void checkGoogleCloudApigeeV1RuntimeConfig( } core.List - buildUnnamed194() => [ + buildUnnamed196() => [ buildGoogleCloudApigeeV1RuntimeTraceConfigOverride(), buildGoogleCloudApigeeV1RuntimeTraceConfigOverride(), ]; -void checkUnnamed194( +void checkUnnamed196( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1RuntimeTraceConfigOverride(o[0]); @@ -10536,7 +10731,7 @@ api.GoogleCloudApigeeV1RuntimeTraceConfig o.endpoint = 'foo'; o.exporter = 'foo'; o.name = 'foo'; - o.overrides = buildUnnamed194(); + o.overrides = buildUnnamed196(); o.revisionCreateTime = 'foo'; o.revisionId = 'foo'; o.samplingConfig = buildGoogleCloudApigeeV1RuntimeTraceSamplingConfig(); @@ -10561,7 +10756,7 @@ void checkGoogleCloudApigeeV1RuntimeTraceConfig( o.name!, unittest.equals('foo'), ); - checkUnnamed194(o.overrides!); + checkUnnamed196(o.overrides!); unittest.expect( o.revisionCreateTime!, unittest.equals('foo'), @@ -10650,23 +10845,23 @@ void checkGoogleCloudApigeeV1RuntimeTraceSamplingConfig( buildCounterGoogleCloudApigeeV1RuntimeTraceSamplingConfig--; } -core.List buildUnnamed195() => [ +core.List buildUnnamed197() => [ buildGoogleCloudApigeeV1SchemaSchemaElement(), buildGoogleCloudApigeeV1SchemaSchemaElement(), ]; -void checkUnnamed195(core.List o) { +void checkUnnamed197(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1SchemaSchemaElement(o[0]); checkGoogleCloudApigeeV1SchemaSchemaElement(o[1]); } -core.List buildUnnamed196() => [ +core.List buildUnnamed198() => [ 'foo', 'foo', ]; -void checkUnnamed196(core.List o) { +void checkUnnamed198(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10678,12 +10873,12 @@ void checkUnnamed196(core.List o) { ); } -core.List buildUnnamed197() => [ +core.List buildUnnamed199() => [ buildGoogleCloudApigeeV1SchemaSchemaElement(), buildGoogleCloudApigeeV1SchemaSchemaElement(), ]; -void checkUnnamed197(core.List o) { +void checkUnnamed199(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1SchemaSchemaElement(o[0]); checkGoogleCloudApigeeV1SchemaSchemaElement(o[1]); @@ -10694,9 +10889,9 @@ api.GoogleCloudApigeeV1Schema buildGoogleCloudApigeeV1Schema() { final o = api.GoogleCloudApigeeV1Schema(); buildCounterGoogleCloudApigeeV1Schema++; if (buildCounterGoogleCloudApigeeV1Schema < 3) { - o.dimensions = buildUnnamed195(); - o.meta = buildUnnamed196(); - o.metrics = buildUnnamed197(); + o.dimensions = buildUnnamed197(); + o.meta = buildUnnamed198(); + o.metrics = buildUnnamed199(); } buildCounterGoogleCloudApigeeV1Schema--; return o; @@ -10705,9 +10900,9 @@ api.GoogleCloudApigeeV1Schema buildGoogleCloudApigeeV1Schema() { void checkGoogleCloudApigeeV1Schema(api.GoogleCloudApigeeV1Schema o) { buildCounterGoogleCloudApigeeV1Schema++; if (buildCounterGoogleCloudApigeeV1Schema < 3) { - checkUnnamed195(o.dimensions!); - checkUnnamed196(o.meta!); - checkUnnamed197(o.metrics!); + checkUnnamed197(o.dimensions!); + checkUnnamed198(o.meta!); + checkUnnamed199(o.metrics!); } buildCounterGoogleCloudApigeeV1Schema--; } @@ -10772,12 +10967,12 @@ void checkGoogleCloudApigeeV1SchemaSchemaProperty( buildCounterGoogleCloudApigeeV1SchemaSchemaProperty--; } -core.List buildUnnamed198() => [ +core.List buildUnnamed200() => [ buildGoogleCloudApigeeV1ScoreComponent(), buildGoogleCloudApigeeV1ScoreComponent(), ]; -void checkUnnamed198(core.List o) { +void checkUnnamed200(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1ScoreComponent(o[0]); checkGoogleCloudApigeeV1ScoreComponent(o[1]); @@ -10789,7 +10984,7 @@ api.GoogleCloudApigeeV1Score buildGoogleCloudApigeeV1Score() { buildCounterGoogleCloudApigeeV1Score++; if (buildCounterGoogleCloudApigeeV1Score < 3) { o.component = buildGoogleCloudApigeeV1ScoreComponent(); - o.subcomponents = buildUnnamed198(); + o.subcomponents = buildUnnamed200(); o.timeRange = buildGoogleTypeInterval(); } buildCounterGoogleCloudApigeeV1Score--; @@ -10800,18 +10995,18 @@ void checkGoogleCloudApigeeV1Score(api.GoogleCloudApigeeV1Score o) { buildCounterGoogleCloudApigeeV1Score++; if (buildCounterGoogleCloudApigeeV1Score < 3) { checkGoogleCloudApigeeV1ScoreComponent(o.component!); - checkUnnamed198(o.subcomponents!); + checkUnnamed200(o.subcomponents!); checkGoogleTypeInterval(o.timeRange!); } buildCounterGoogleCloudApigeeV1Score--; } -core.List buildUnnamed199() => [ +core.List buildUnnamed201() => [ 'foo', 'foo', ]; -void checkUnnamed199(core.List o) { +void checkUnnamed201(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10824,12 +11019,12 @@ void checkUnnamed199(core.List o) { } core.List - buildUnnamed200() => [ + buildUnnamed202() => [ buildGoogleCloudApigeeV1ScoreComponentRecommendation(), buildGoogleCloudApigeeV1ScoreComponentRecommendation(), ]; -void checkUnnamed200( +void checkUnnamed202( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1ScoreComponentRecommendation(o[0]); @@ -10843,8 +11038,8 @@ api.GoogleCloudApigeeV1ScoreComponent buildGoogleCloudApigeeV1ScoreComponent() { if (buildCounterGoogleCloudApigeeV1ScoreComponent < 3) { o.calculateTime = 'foo'; o.dataCaptureTime = 'foo'; - o.drilldownPaths = buildUnnamed199(); - o.recommendations = buildUnnamed200(); + o.drilldownPaths = buildUnnamed201(); + o.recommendations = buildUnnamed202(); o.score = 42; o.scorePath = 'foo'; } @@ -10864,8 +11059,8 @@ void checkGoogleCloudApigeeV1ScoreComponent( o.dataCaptureTime!, unittest.equals('foo'), ); - checkUnnamed199(o.drilldownPaths!); - checkUnnamed200(o.recommendations!); + checkUnnamed201(o.drilldownPaths!); + checkUnnamed202(o.recommendations!); unittest.expect( o.score!, unittest.equals(42), @@ -10879,12 +11074,12 @@ void checkGoogleCloudApigeeV1ScoreComponent( } core.List - buildUnnamed201() => [ + buildUnnamed203() => [ buildGoogleCloudApigeeV1ScoreComponentRecommendationAction(), buildGoogleCloudApigeeV1ScoreComponentRecommendationAction(), ]; -void checkUnnamed201( +void checkUnnamed203( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1ScoreComponentRecommendationAction(o[0]); @@ -10897,7 +11092,7 @@ api.GoogleCloudApigeeV1ScoreComponentRecommendation final o = api.GoogleCloudApigeeV1ScoreComponentRecommendation(); buildCounterGoogleCloudApigeeV1ScoreComponentRecommendation++; if (buildCounterGoogleCloudApigeeV1ScoreComponentRecommendation < 3) { - o.actions = buildUnnamed201(); + o.actions = buildUnnamed203(); o.description = 'foo'; o.impact = 42; o.title = 'foo'; @@ -10910,7 +11105,7 @@ void checkGoogleCloudApigeeV1ScoreComponentRecommendation( api.GoogleCloudApigeeV1ScoreComponentRecommendation o) { buildCounterGoogleCloudApigeeV1ScoreComponentRecommendation++; if (buildCounterGoogleCloudApigeeV1ScoreComponentRecommendation < 3) { - checkUnnamed201(o.actions!); + checkUnnamed203(o.actions!); unittest.expect( o.description!, unittest.equals('foo'), @@ -10984,12 +11179,12 @@ void checkGoogleCloudApigeeV1ScoreComponentRecommendationActionActionContext( buildCounterGoogleCloudApigeeV1ScoreComponentRecommendationActionActionContext--; } -core.List buildUnnamed202() => [ +core.List buildUnnamed204() => [ 'foo', 'foo', ]; -void checkUnnamed202(core.List o) { +void checkUnnamed204(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11007,7 +11202,7 @@ api.GoogleCloudApigeeV1SecurityAction buildGoogleCloudApigeeV1SecurityAction() { buildCounterGoogleCloudApigeeV1SecurityAction++; if (buildCounterGoogleCloudApigeeV1SecurityAction < 3) { o.allow = buildGoogleCloudApigeeV1SecurityActionAllow(); - o.apiProxies = buildUnnamed202(); + o.apiProxies = buildUnnamed204(); o.conditionConfig = buildGoogleCloudApigeeV1SecurityActionConditionConfig(); o.createTime = 'foo'; o.deny = buildGoogleCloudApigeeV1SecurityActionDeny(); @@ -11028,7 +11223,7 @@ void checkGoogleCloudApigeeV1SecurityAction( buildCounterGoogleCloudApigeeV1SecurityAction++; if (buildCounterGoogleCloudApigeeV1SecurityAction < 3) { checkGoogleCloudApigeeV1SecurityActionAllow(o.allow!); - checkUnnamed202(o.apiProxies!); + checkUnnamed204(o.apiProxies!); checkGoogleCloudApigeeV1SecurityActionConditionConfig(o.conditionConfig!); unittest.expect( o.createTime!, @@ -11081,12 +11276,12 @@ void checkGoogleCloudApigeeV1SecurityActionAllow( buildCounterGoogleCloudApigeeV1SecurityActionAllow--; } -core.List buildUnnamed203() => [ +core.List buildUnnamed205() => [ 'foo', 'foo', ]; -void checkUnnamed203(core.List o) { +void checkUnnamed205(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11098,12 +11293,12 @@ void checkUnnamed203(core.List o) { ); } -core.List buildUnnamed204() => [ +core.List buildUnnamed206() => [ 'foo', 'foo', ]; -void checkUnnamed204(core.List o) { +void checkUnnamed206(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11115,12 +11310,12 @@ void checkUnnamed204(core.List o) { ); } -core.List buildUnnamed205() => [ +core.List buildUnnamed207() => [ 'foo', 'foo', ]; -void checkUnnamed205(core.List o) { +void checkUnnamed207(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11132,12 +11327,12 @@ void checkUnnamed205(core.List o) { ); } -core.List buildUnnamed206() => [ +core.List buildUnnamed208() => [ 'foo', 'foo', ]; -void checkUnnamed206(core.List o) { +void checkUnnamed208(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11149,12 +11344,12 @@ void checkUnnamed206(core.List o) { ); } -core.List buildUnnamed207() => [ +core.List buildUnnamed209() => [ 'foo', 'foo', ]; -void checkUnnamed207(core.List o) { +void checkUnnamed209(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11166,12 +11361,12 @@ void checkUnnamed207(core.List o) { ); } -core.List buildUnnamed208() => [ +core.List buildUnnamed210() => [ 'foo', 'foo', ]; -void checkUnnamed208(core.List o) { +void checkUnnamed210(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11183,12 +11378,12 @@ void checkUnnamed208(core.List o) { ); } -core.List buildUnnamed209() => [ +core.List buildUnnamed211() => [ 'foo', 'foo', ]; -void checkUnnamed209(core.List o) { +void checkUnnamed211(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11200,12 +11395,12 @@ void checkUnnamed209(core.List o) { ); } -core.List buildUnnamed210() => [ +core.List buildUnnamed212() => [ 'foo', 'foo', ]; -void checkUnnamed210(core.List o) { +void checkUnnamed212(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11217,12 +11412,12 @@ void checkUnnamed210(core.List o) { ); } -core.List buildUnnamed211() => [ +core.List buildUnnamed213() => [ 'foo', 'foo', ]; -void checkUnnamed211(core.List o) { +void checkUnnamed213(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11234,12 +11429,12 @@ void checkUnnamed211(core.List o) { ); } -core.List buildUnnamed212() => [ +core.List buildUnnamed214() => [ 'foo', 'foo', ]; -void checkUnnamed212(core.List o) { +void checkUnnamed214(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11251,12 +11446,12 @@ void checkUnnamed212(core.List o) { ); } -core.List buildUnnamed213() => [ +core.List buildUnnamed215() => [ 'foo', 'foo', ]; -void checkUnnamed213(core.List o) { +void checkUnnamed215(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11274,17 +11469,17 @@ api.GoogleCloudApigeeV1SecurityActionConditionConfig final o = api.GoogleCloudApigeeV1SecurityActionConditionConfig(); buildCounterGoogleCloudApigeeV1SecurityActionConditionConfig++; if (buildCounterGoogleCloudApigeeV1SecurityActionConditionConfig < 3) { - o.accessTokens = buildUnnamed203(); - o.apiKeys = buildUnnamed204(); - o.apiProducts = buildUnnamed205(); - o.asns = buildUnnamed206(); - o.botReasons = buildUnnamed207(); - o.developerApps = buildUnnamed208(); - o.developers = buildUnnamed209(); - o.httpMethods = buildUnnamed210(); - o.ipAddressRanges = buildUnnamed211(); - o.regionCodes = buildUnnamed212(); - o.userAgents = buildUnnamed213(); + o.accessTokens = buildUnnamed205(); + o.apiKeys = buildUnnamed206(); + o.apiProducts = buildUnnamed207(); + o.asns = buildUnnamed208(); + o.botReasons = buildUnnamed209(); + o.developerApps = buildUnnamed210(); + o.developers = buildUnnamed211(); + o.httpMethods = buildUnnamed212(); + o.ipAddressRanges = buildUnnamed213(); + o.regionCodes = buildUnnamed214(); + o.userAgents = buildUnnamed215(); } buildCounterGoogleCloudApigeeV1SecurityActionConditionConfig--; return o; @@ -11294,17 +11489,17 @@ void checkGoogleCloudApigeeV1SecurityActionConditionConfig( api.GoogleCloudApigeeV1SecurityActionConditionConfig o) { buildCounterGoogleCloudApigeeV1SecurityActionConditionConfig++; if (buildCounterGoogleCloudApigeeV1SecurityActionConditionConfig < 3) { - checkUnnamed203(o.accessTokens!); - checkUnnamed204(o.apiKeys!); - checkUnnamed205(o.apiProducts!); - checkUnnamed206(o.asns!); - checkUnnamed207(o.botReasons!); - checkUnnamed208(o.developerApps!); - checkUnnamed209(o.developers!); - checkUnnamed210(o.httpMethods!); - checkUnnamed211(o.ipAddressRanges!); - checkUnnamed212(o.regionCodes!); - checkUnnamed213(o.userAgents!); + checkUnnamed205(o.accessTokens!); + checkUnnamed206(o.apiKeys!); + checkUnnamed207(o.apiProducts!); + checkUnnamed208(o.asns!); + checkUnnamed209(o.botReasons!); + checkUnnamed210(o.developerApps!); + checkUnnamed211(o.developers!); + checkUnnamed212(o.httpMethods!); + checkUnnamed213(o.ipAddressRanges!); + checkUnnamed214(o.regionCodes!); + checkUnnamed215(o.userAgents!); } buildCounterGoogleCloudApigeeV1SecurityActionConditionConfig--; } @@ -11333,13 +11528,13 @@ void checkGoogleCloudApigeeV1SecurityActionDeny( buildCounterGoogleCloudApigeeV1SecurityActionDeny--; } -core.List buildUnnamed214() => +core.List buildUnnamed216() => [ buildGoogleCloudApigeeV1SecurityActionHttpHeader(), buildGoogleCloudApigeeV1SecurityActionHttpHeader(), ]; -void checkUnnamed214( +void checkUnnamed216( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1SecurityActionHttpHeader(o[0]); @@ -11352,7 +11547,7 @@ api.GoogleCloudApigeeV1SecurityActionFlag final o = api.GoogleCloudApigeeV1SecurityActionFlag(); buildCounterGoogleCloudApigeeV1SecurityActionFlag++; if (buildCounterGoogleCloudApigeeV1SecurityActionFlag < 3) { - o.headers = buildUnnamed214(); + o.headers = buildUnnamed216(); } buildCounterGoogleCloudApigeeV1SecurityActionFlag--; return o; @@ -11362,7 +11557,7 @@ void checkGoogleCloudApigeeV1SecurityActionFlag( api.GoogleCloudApigeeV1SecurityActionFlag o) { buildCounterGoogleCloudApigeeV1SecurityActionFlag++; if (buildCounterGoogleCloudApigeeV1SecurityActionFlag < 3) { - checkUnnamed214(o.headers!); + checkUnnamed216(o.headers!); } buildCounterGoogleCloudApigeeV1SecurityActionFlag--; } @@ -11497,14 +11692,14 @@ core.Map< core.String, api .GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendation> - buildUnnamed215() => { + buildUnnamed217() => { 'x': buildGoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendation(), 'y': buildGoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendation(), }; -void checkUnnamed215( +void checkUnnamed217( core.Map< core.String, api @@ -11517,12 +11712,12 @@ void checkUnnamed215( o['y']!); } -core.Map buildUnnamed216() => { +core.Map buildUnnamed218() => { 'x': 42, 'y': 42, }; -void checkUnnamed216(core.Map o) { +void checkUnnamed218(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -11542,9 +11737,9 @@ api.GoogleCloudApigeeV1SecurityAssessmentResultScoringResult buildCounterGoogleCloudApigeeV1SecurityAssessmentResultScoringResult++; if (buildCounterGoogleCloudApigeeV1SecurityAssessmentResultScoringResult < 3) { - o.assessmentRecommendations = buildUnnamed215(); + o.assessmentRecommendations = buildUnnamed217(); o.dataUpdateTime = 'foo'; - o.failedAssessmentPerWeight = buildUnnamed216(); + o.failedAssessmentPerWeight = buildUnnamed218(); o.score = 42; o.severity = 'foo'; } @@ -11557,12 +11752,12 @@ void checkGoogleCloudApigeeV1SecurityAssessmentResultScoringResult( buildCounterGoogleCloudApigeeV1SecurityAssessmentResultScoringResult++; if (buildCounterGoogleCloudApigeeV1SecurityAssessmentResultScoringResult < 3) { - checkUnnamed215(o.assessmentRecommendations!); + checkUnnamed217(o.assessmentRecommendations!); unittest.expect( o.dataUpdateTime!, unittest.equals('foo'), ); - checkUnnamed216(o.failedAssessmentPerWeight!); + checkUnnamed218(o.failedAssessmentPerWeight!); unittest.expect( o.score!, unittest.equals(42), @@ -11578,12 +11773,12 @@ void checkGoogleCloudApigeeV1SecurityAssessmentResultScoringResult( core.List< api .GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendation> - buildUnnamed217() => [ + buildUnnamed219() => [ buildGoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendation(), buildGoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendation(), ]; -void checkUnnamed217( +void checkUnnamed219( core.List< api .GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendation> @@ -11606,7 +11801,7 @@ api.GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommenda if (buildCounterGoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendation < 3) { o.displayName = 'foo'; - o.recommendations = buildUnnamed217(); + o.recommendations = buildUnnamed219(); o.scoreImpact = 42; o.verdict = 'foo'; o.weight = 'foo'; @@ -11625,7 +11820,7 @@ void checkGoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentReco o.displayName!, unittest.equals('foo'), ); - checkUnnamed217(o.recommendations!); + checkUnnamed219(o.recommendations!); unittest.expect( o.scoreImpact!, unittest.equals(42), @@ -11711,12 +11906,12 @@ void checkGoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentReco buildCounterGoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendationLink--; } -core.List buildUnnamed218() => [ +core.List buildUnnamed220() => [ 'foo', 'foo', ]; -void checkUnnamed218(core.List o) { +void checkUnnamed220(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11734,7 +11929,7 @@ api.GoogleCloudApigeeV1SecurityIncident final o = api.GoogleCloudApigeeV1SecurityIncident(); buildCounterGoogleCloudApigeeV1SecurityIncident++; if (buildCounterGoogleCloudApigeeV1SecurityIncident < 3) { - o.detectionTypes = buildUnnamed218(); + o.detectionTypes = buildUnnamed220(); o.displayName = 'foo'; o.firstDetectedTime = 'foo'; o.lastDetectedTime = 'foo'; @@ -11752,7 +11947,7 @@ void checkGoogleCloudApigeeV1SecurityIncident( api.GoogleCloudApigeeV1SecurityIncident o) { buildCounterGoogleCloudApigeeV1SecurityIncident++; if (buildCounterGoogleCloudApigeeV1SecurityIncident < 3) { - checkUnnamed218(o.detectionTypes!); + checkUnnamed220(o.detectionTypes!); unittest.expect( o.displayName!, unittest.equals('foo'), @@ -11790,12 +11985,12 @@ void checkGoogleCloudApigeeV1SecurityIncident( } core.List - buildUnnamed219() => [ + buildUnnamed221() => [ buildGoogleCloudApigeeV1SecurityProfileEnvironment(), buildGoogleCloudApigeeV1SecurityProfileEnvironment(), ]; -void checkUnnamed219( +void checkUnnamed221( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1SecurityProfileEnvironment(o[0]); @@ -11803,12 +11998,12 @@ void checkUnnamed219( } core.List - buildUnnamed220() => [ + buildUnnamed222() => [ buildGoogleCloudApigeeV1SecurityProfileScoringConfig(), buildGoogleCloudApigeeV1SecurityProfileScoringConfig(), ]; -void checkUnnamed220( +void checkUnnamed222( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1SecurityProfileScoringConfig(o[0]); @@ -11823,7 +12018,7 @@ api.GoogleCloudApigeeV1SecurityProfile if (buildCounterGoogleCloudApigeeV1SecurityProfile < 3) { o.description = 'foo'; o.displayName = 'foo'; - o.environments = buildUnnamed219(); + o.environments = buildUnnamed221(); o.maxScore = 42; o.minScore = 42; o.name = 'foo'; @@ -11832,7 +12027,7 @@ api.GoogleCloudApigeeV1SecurityProfile o.revisionId = 'foo'; o.revisionPublishTime = 'foo'; o.revisionUpdateTime = 'foo'; - o.scoringConfigs = buildUnnamed220(); + o.scoringConfigs = buildUnnamed222(); } buildCounterGoogleCloudApigeeV1SecurityProfile--; return o; @@ -11850,7 +12045,7 @@ void checkGoogleCloudApigeeV1SecurityProfile( o.displayName!, unittest.equals('foo'), ); - checkUnnamed219(o.environments!); + checkUnnamed221(o.environments!); unittest.expect( o.maxScore!, unittest.equals(42), @@ -11880,7 +12075,7 @@ void checkGoogleCloudApigeeV1SecurityProfile( o.revisionUpdateTime!, unittest.equals('foo'), ); - checkUnnamed220(o.scoringConfigs!); + checkUnnamed222(o.scoringConfigs!); } buildCounterGoogleCloudApigeeV1SecurityProfile--; } @@ -11987,14 +12182,14 @@ void checkGoogleCloudApigeeV1SecurityProfileScoringConfig( core.Map - buildUnnamed221() => { + buildUnnamed223() => { 'x': buildGoogleCloudApigeeV1SecurityProfileV2ProfileAssessmentConfig(), 'y': buildGoogleCloudApigeeV1SecurityProfileV2ProfileAssessmentConfig(), }; -void checkUnnamed221( +void checkUnnamed223( core.Map o) { @@ -12013,7 +12208,7 @@ api.GoogleCloudApigeeV1SecurityProfileV2 o.description = 'foo'; o.googleDefined = true; o.name = 'foo'; - o.profileAssessmentConfigs = buildUnnamed221(); + o.profileAssessmentConfigs = buildUnnamed223(); o.updateTime = 'foo'; } buildCounterGoogleCloudApigeeV1SecurityProfileV2--; @@ -12037,7 +12232,7 @@ void checkGoogleCloudApigeeV1SecurityProfileV2( o.name!, unittest.equals('foo'), ); - checkUnnamed221(o.profileAssessmentConfigs!); + checkUnnamed223(o.profileAssessmentConfigs!); unittest.expect( o.updateTime!, unittest.equals('foo'), @@ -12150,12 +12345,12 @@ void checkGoogleCloudApigeeV1SecurityReport( buildCounterGoogleCloudApigeeV1SecurityReport--; } -core.List buildUnnamed222() => [ +core.List buildUnnamed224() => [ 'foo', 'foo', ]; -void checkUnnamed222(core.List o) { +void checkUnnamed224(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12167,12 +12362,12 @@ void checkUnnamed222(core.List o) { ); } -core.List buildUnnamed223() => [ +core.List buildUnnamed225() => [ 'foo', 'foo', ]; -void checkUnnamed223(core.List o) { +void checkUnnamed225(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12190,9 +12385,9 @@ api.GoogleCloudApigeeV1SecurityReportMetadata final o = api.GoogleCloudApigeeV1SecurityReportMetadata(); buildCounterGoogleCloudApigeeV1SecurityReportMetadata++; if (buildCounterGoogleCloudApigeeV1SecurityReportMetadata < 3) { - o.dimensions = buildUnnamed222(); + o.dimensions = buildUnnamed224(); o.endTimestamp = 'foo'; - o.metrics = buildUnnamed223(); + o.metrics = buildUnnamed225(); o.mimeType = 'foo'; o.startTimestamp = 'foo'; o.timeUnit = 'foo'; @@ -12205,12 +12400,12 @@ void checkGoogleCloudApigeeV1SecurityReportMetadata( api.GoogleCloudApigeeV1SecurityReportMetadata o) { buildCounterGoogleCloudApigeeV1SecurityReportMetadata++; if (buildCounterGoogleCloudApigeeV1SecurityReportMetadata < 3) { - checkUnnamed222(o.dimensions!); + checkUnnamed224(o.dimensions!); unittest.expect( o.endTimestamp!, unittest.equals('foo'), ); - checkUnnamed223(o.metrics!); + checkUnnamed225(o.metrics!); unittest.expect( o.mimeType!, unittest.equals('foo'), @@ -12227,12 +12422,12 @@ void checkGoogleCloudApigeeV1SecurityReportMetadata( buildCounterGoogleCloudApigeeV1SecurityReportMetadata--; } -core.List buildUnnamed224() => [ +core.List buildUnnamed226() => [ 'foo', 'foo', ]; -void checkUnnamed224(core.List o) { +void checkUnnamed226(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12244,13 +12439,13 @@ void checkUnnamed224(core.List o) { ); } -core.List buildUnnamed225() => +core.List buildUnnamed227() => [ buildGoogleCloudApigeeV1SecurityReportQueryMetric(), buildGoogleCloudApigeeV1SecurityReportQueryMetric(), ]; -void checkUnnamed225( +void checkUnnamed227( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1SecurityReportQueryMetric(o[0]); @@ -12264,13 +12459,13 @@ api.GoogleCloudApigeeV1SecurityReportQuery buildCounterGoogleCloudApigeeV1SecurityReportQuery++; if (buildCounterGoogleCloudApigeeV1SecurityReportQuery < 3) { o.csvDelimiter = 'foo'; - o.dimensions = buildUnnamed224(); + o.dimensions = buildUnnamed226(); o.displayName = 'foo'; o.envgroupHostname = 'foo'; o.filter = 'foo'; o.groupByTimeUnit = 'foo'; o.limit = 42; - o.metrics = buildUnnamed225(); + o.metrics = buildUnnamed227(); o.mimeType = 'foo'; o.reportDefinitionId = 'foo'; o.timeRange = { @@ -12291,7 +12486,7 @@ void checkGoogleCloudApigeeV1SecurityReportQuery( o.csvDelimiter!, unittest.equals('foo'), ); - checkUnnamed224(o.dimensions!); + checkUnnamed226(o.dimensions!); unittest.expect( o.displayName!, unittest.equals('foo'), @@ -12312,7 +12507,7 @@ void checkGoogleCloudApigeeV1SecurityReportQuery( o.limit!, unittest.equals(42), ); - checkUnnamed225(o.metrics!); + checkUnnamed227(o.metrics!); unittest.expect( o.mimeType!, unittest.equals('foo'), @@ -12412,7 +12607,7 @@ void checkGoogleCloudApigeeV1SecurityReportResultMetadata( buildCounterGoogleCloudApigeeV1SecurityReportResultMetadata--; } -core.List buildUnnamed226() => [ +core.List buildUnnamed228() => [ { 'list': [1, 2, 3], 'bool': true, @@ -12425,7 +12620,7 @@ core.List buildUnnamed226() => [ }, ]; -void checkUnnamed226(core.List o) { +void checkUnnamed228(core.List o) { unittest.expect(o, unittest.hasLength(2)); var casted17 = (o[0]) as core.Map; unittest.expect(casted17, unittest.hasLength(3)); @@ -12466,7 +12661,7 @@ api.GoogleCloudApigeeV1SecurityReportResultView o.code = 42; o.error = 'foo'; o.metadata = buildGoogleCloudApigeeV1SecurityReportMetadata(); - o.rows = buildUnnamed226(); + o.rows = buildUnnamed228(); o.state = 'foo'; } buildCounterGoogleCloudApigeeV1SecurityReportResultView--; @@ -12486,7 +12681,7 @@ void checkGoogleCloudApigeeV1SecurityReportResultView( unittest.equals('foo'), ); checkGoogleCloudApigeeV1SecurityReportMetadata(o.metadata!); - checkUnnamed226(o.rows!); + checkUnnamed228(o.rows!); unittest.expect( o.state!, unittest.equals('foo'), @@ -12521,12 +12716,12 @@ void checkGoogleCloudApigeeV1SecuritySettings( buildCounterGoogleCloudApigeeV1SecuritySettings--; } -core.List buildUnnamed227() => [ +core.List buildUnnamed229() => [ 'foo', 'foo', ]; -void checkUnnamed227(core.List o) { +void checkUnnamed229(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12544,7 +12739,7 @@ api.GoogleCloudApigeeV1ServiceIssuersMapping final o = api.GoogleCloudApigeeV1ServiceIssuersMapping(); buildCounterGoogleCloudApigeeV1ServiceIssuersMapping++; if (buildCounterGoogleCloudApigeeV1ServiceIssuersMapping < 3) { - o.emailIds = buildUnnamed227(); + o.emailIds = buildUnnamed229(); o.service = 'foo'; } buildCounterGoogleCloudApigeeV1ServiceIssuersMapping--; @@ -12555,7 +12750,7 @@ void checkGoogleCloudApigeeV1ServiceIssuersMapping( api.GoogleCloudApigeeV1ServiceIssuersMapping o) { buildCounterGoogleCloudApigeeV1ServiceIssuersMapping++; if (buildCounterGoogleCloudApigeeV1ServiceIssuersMapping < 3) { - checkUnnamed227(o.emailIds!); + checkUnnamed229(o.emailIds!); unittest.expect( o.service!, unittest.equals('foo'), @@ -12635,12 +12830,12 @@ void checkGoogleCloudApigeeV1SetAddonsRequest( buildCounterGoogleCloudApigeeV1SetAddonsRequest--; } -core.List buildUnnamed228() => [ +core.List buildUnnamed230() => [ 'foo', 'foo', ]; -void checkUnnamed228(core.List o) { +void checkUnnamed230(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12660,7 +12855,8 @@ api.GoogleCloudApigeeV1SharedFlow buildGoogleCloudApigeeV1SharedFlow() { o.latestRevisionId = 'foo'; o.metaData = buildGoogleCloudApigeeV1EntityMetadata(); o.name = 'foo'; - o.revision = buildUnnamed228(); + o.revision = buildUnnamed230(); + o.space = 'foo'; } buildCounterGoogleCloudApigeeV1SharedFlow--; return o; @@ -12678,17 +12874,21 @@ void checkGoogleCloudApigeeV1SharedFlow(api.GoogleCloudApigeeV1SharedFlow o) { o.name!, unittest.equals('foo'), ); - checkUnnamed228(o.revision!); + checkUnnamed230(o.revision!); + unittest.expect( + o.space!, + unittest.equals('foo'), + ); } buildCounterGoogleCloudApigeeV1SharedFlow--; } -core.Map buildUnnamed229() => { +core.Map buildUnnamed231() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed229(core.Map o) { +void checkUnnamed231(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -12700,12 +12900,12 @@ void checkUnnamed229(core.Map o) { ); } -core.List buildUnnamed230() => [ +core.List buildUnnamed232() => [ 'foo', 'foo', ]; -void checkUnnamed230(core.List o) { +void checkUnnamed232(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12717,12 +12917,12 @@ void checkUnnamed230(core.List o) { ); } -core.List buildUnnamed231() => [ +core.List buildUnnamed233() => [ 'foo', 'foo', ]; -void checkUnnamed231(core.List o) { +void checkUnnamed233(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12734,12 +12934,12 @@ void checkUnnamed231(core.List o) { ); } -core.List buildUnnamed232() => [ +core.List buildUnnamed234() => [ 'foo', 'foo', ]; -void checkUnnamed232(core.List o) { +void checkUnnamed234(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12762,14 +12962,14 @@ api.GoogleCloudApigeeV1SharedFlowRevision o.createdAt = 'foo'; o.description = 'foo'; o.displayName = 'foo'; - o.entityMetaDataAsProperties = buildUnnamed229(); + o.entityMetaDataAsProperties = buildUnnamed231(); o.lastModifiedAt = 'foo'; o.name = 'foo'; - o.policies = buildUnnamed230(); + o.policies = buildUnnamed232(); o.resourceFiles = buildGoogleCloudApigeeV1ResourceFiles(); - o.resources = buildUnnamed231(); + o.resources = buildUnnamed233(); o.revision = 'foo'; - o.sharedFlows = buildUnnamed232(); + o.sharedFlows = buildUnnamed234(); o.type = 'foo'; } buildCounterGoogleCloudApigeeV1SharedFlowRevision--; @@ -12797,7 +12997,7 @@ void checkGoogleCloudApigeeV1SharedFlowRevision( o.displayName!, unittest.equals('foo'), ); - checkUnnamed229(o.entityMetaDataAsProperties!); + checkUnnamed231(o.entityMetaDataAsProperties!); unittest.expect( o.lastModifiedAt!, unittest.equals('foo'), @@ -12806,14 +13006,14 @@ void checkGoogleCloudApigeeV1SharedFlowRevision( o.name!, unittest.equals('foo'), ); - checkUnnamed230(o.policies!); + checkUnnamed232(o.policies!); checkGoogleCloudApigeeV1ResourceFiles(o.resourceFiles!); - checkUnnamed231(o.resources!); + checkUnnamed233(o.resources!); unittest.expect( o.revision!, unittest.equals('foo'), ); - checkUnnamed232(o.sharedFlows!); + checkUnnamed234(o.sharedFlows!); unittest.expect( o.type!, unittest.equals('foo'), @@ -12822,24 +13022,61 @@ void checkGoogleCloudApigeeV1SharedFlowRevision( buildCounterGoogleCloudApigeeV1SharedFlowRevision--; } -core.List buildUnnamed233() => [ +core.int buildCounterGoogleCloudApigeeV1Space = 0; +api.GoogleCloudApigeeV1Space buildGoogleCloudApigeeV1Space() { + final o = api.GoogleCloudApigeeV1Space(); + buildCounterGoogleCloudApigeeV1Space++; + if (buildCounterGoogleCloudApigeeV1Space < 3) { + o.createTime = 'foo'; + o.displayName = 'foo'; + o.name = 'foo'; + o.updateTime = 'foo'; + } + buildCounterGoogleCloudApigeeV1Space--; + return o; +} + +void checkGoogleCloudApigeeV1Space(api.GoogleCloudApigeeV1Space o) { + buildCounterGoogleCloudApigeeV1Space++; + if (buildCounterGoogleCloudApigeeV1Space < 3) { + unittest.expect( + o.createTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.updateTime!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudApigeeV1Space--; +} + +core.List buildUnnamed235() => [ buildGoogleCloudApigeeV1StatsEnvironmentStats(), buildGoogleCloudApigeeV1StatsEnvironmentStats(), ]; -void checkUnnamed233( +void checkUnnamed235( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1StatsEnvironmentStats(o[0]); checkGoogleCloudApigeeV1StatsEnvironmentStats(o[1]); } -core.List buildUnnamed234() => [ +core.List buildUnnamed236() => [ buildGoogleCloudApigeeV1StatsHostStats(), buildGoogleCloudApigeeV1StatsHostStats(), ]; -void checkUnnamed234(core.List o) { +void checkUnnamed236(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1StatsHostStats(o[0]); checkGoogleCloudApigeeV1StatsHostStats(o[1]); @@ -12850,8 +13087,8 @@ api.GoogleCloudApigeeV1Stats buildGoogleCloudApigeeV1Stats() { final o = api.GoogleCloudApigeeV1Stats(); buildCounterGoogleCloudApigeeV1Stats++; if (buildCounterGoogleCloudApigeeV1Stats < 3) { - o.environments = buildUnnamed233(); - o.hosts = buildUnnamed234(); + o.environments = buildUnnamed235(); + o.hosts = buildUnnamed236(); o.metaData = buildGoogleCloudApigeeV1Metadata(); } buildCounterGoogleCloudApigeeV1Stats--; @@ -12861,30 +13098,30 @@ api.GoogleCloudApigeeV1Stats buildGoogleCloudApigeeV1Stats() { void checkGoogleCloudApigeeV1Stats(api.GoogleCloudApigeeV1Stats o) { buildCounterGoogleCloudApigeeV1Stats++; if (buildCounterGoogleCloudApigeeV1Stats < 3) { - checkUnnamed233(o.environments!); - checkUnnamed234(o.hosts!); + checkUnnamed235(o.environments!); + checkUnnamed236(o.hosts!); checkGoogleCloudApigeeV1Metadata(o.metaData!); } buildCounterGoogleCloudApigeeV1Stats--; } -core.List buildUnnamed235() => [ +core.List buildUnnamed237() => [ buildGoogleCloudApigeeV1DimensionMetric(), buildGoogleCloudApigeeV1DimensionMetric(), ]; -void checkUnnamed235(core.List o) { +void checkUnnamed237(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1DimensionMetric(o[0]); checkGoogleCloudApigeeV1DimensionMetric(o[1]); } -core.List buildUnnamed236() => [ +core.List buildUnnamed238() => [ buildGoogleCloudApigeeV1Metric(), buildGoogleCloudApigeeV1Metric(), ]; -void checkUnnamed236(core.List o) { +void checkUnnamed238(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1Metric(o[0]); checkGoogleCloudApigeeV1Metric(o[1]); @@ -12896,8 +13133,8 @@ api.GoogleCloudApigeeV1StatsEnvironmentStats final o = api.GoogleCloudApigeeV1StatsEnvironmentStats(); buildCounterGoogleCloudApigeeV1StatsEnvironmentStats++; if (buildCounterGoogleCloudApigeeV1StatsEnvironmentStats < 3) { - o.dimensions = buildUnnamed235(); - o.metrics = buildUnnamed236(); + o.dimensions = buildUnnamed237(); + o.metrics = buildUnnamed238(); o.name = 'foo'; } buildCounterGoogleCloudApigeeV1StatsEnvironmentStats--; @@ -12908,8 +13145,8 @@ void checkGoogleCloudApigeeV1StatsEnvironmentStats( api.GoogleCloudApigeeV1StatsEnvironmentStats o) { buildCounterGoogleCloudApigeeV1StatsEnvironmentStats++; if (buildCounterGoogleCloudApigeeV1StatsEnvironmentStats < 3) { - checkUnnamed235(o.dimensions!); - checkUnnamed236(o.metrics!); + checkUnnamed237(o.dimensions!); + checkUnnamed238(o.metrics!); unittest.expect( o.name!, unittest.equals('foo'), @@ -12918,23 +13155,23 @@ void checkGoogleCloudApigeeV1StatsEnvironmentStats( buildCounterGoogleCloudApigeeV1StatsEnvironmentStats--; } -core.List buildUnnamed237() => [ +core.List buildUnnamed239() => [ buildGoogleCloudApigeeV1DimensionMetric(), buildGoogleCloudApigeeV1DimensionMetric(), ]; -void checkUnnamed237(core.List o) { +void checkUnnamed239(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1DimensionMetric(o[0]); checkGoogleCloudApigeeV1DimensionMetric(o[1]); } -core.List buildUnnamed238() => [ +core.List buildUnnamed240() => [ buildGoogleCloudApigeeV1Metric(), buildGoogleCloudApigeeV1Metric(), ]; -void checkUnnamed238(core.List o) { +void checkUnnamed240(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudApigeeV1Metric(o[0]); checkGoogleCloudApigeeV1Metric(o[1]); @@ -12945,8 +13182,8 @@ api.GoogleCloudApigeeV1StatsHostStats buildGoogleCloudApigeeV1StatsHostStats() { final o = api.GoogleCloudApigeeV1StatsHostStats(); buildCounterGoogleCloudApigeeV1StatsHostStats++; if (buildCounterGoogleCloudApigeeV1StatsHostStats < 3) { - o.dimensions = buildUnnamed237(); - o.metrics = buildUnnamed238(); + o.dimensions = buildUnnamed239(); + o.metrics = buildUnnamed240(); o.name = 'foo'; } buildCounterGoogleCloudApigeeV1StatsHostStats--; @@ -12957,8 +13194,8 @@ void checkGoogleCloudApigeeV1StatsHostStats( api.GoogleCloudApigeeV1StatsHostStats o) { buildCounterGoogleCloudApigeeV1StatsHostStats++; if (buildCounterGoogleCloudApigeeV1StatsHostStats < 3) { - checkUnnamed237(o.dimensions!); - checkUnnamed238(o.metrics!); + checkUnnamed239(o.dimensions!); + checkUnnamed240(o.metrics!); unittest.expect( o.name!, unittest.equals('foo'), @@ -12990,12 +13227,12 @@ void checkGoogleCloudApigeeV1Subscription( buildCounterGoogleCloudApigeeV1Subscription--; } -core.List buildUnnamed239() => [ +core.List buildUnnamed241() => [ 'foo', 'foo', ]; -void checkUnnamed239(core.List o) { +void checkUnnamed241(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -13014,7 +13251,7 @@ api.GoogleCloudApigeeV1SyncAuthorization buildCounterGoogleCloudApigeeV1SyncAuthorization++; if (buildCounterGoogleCloudApigeeV1SyncAuthorization < 3) { o.etag = 'foo'; - o.identities = buildUnnamed239(); + o.identities = buildUnnamed241(); } buildCounterGoogleCloudApigeeV1SyncAuthorization--; return o; @@ -13028,7 +13265,7 @@ void checkGoogleCloudApigeeV1SyncAuthorization( o.etag!, unittest.equals('foo'), ); - checkUnnamed239(o.identities!); + checkUnnamed241(o.identities!); } buildCounterGoogleCloudApigeeV1SyncAuthorization--; } @@ -13152,12 +13389,12 @@ void checkGoogleCloudApigeeV1TestDatastoreResponse( buildCounterGoogleCloudApigeeV1TestDatastoreResponse--; } -core.List buildUnnamed240() => [ +core.List buildUnnamed242() => [ 'foo', 'foo', ]; -void checkUnnamed240(core.List o) { +void checkUnnamed242(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -13169,12 +13406,12 @@ void checkUnnamed240(core.List o) { ); } -core.List buildUnnamed241() => [ +core.List buildUnnamed243() => [ 'foo', 'foo', ]; -void checkUnnamed241(core.List o) { +void checkUnnamed243(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -13191,7 +13428,7 @@ api.GoogleCloudApigeeV1TlsInfo buildGoogleCloudApigeeV1TlsInfo() { final o = api.GoogleCloudApigeeV1TlsInfo(); buildCounterGoogleCloudApigeeV1TlsInfo++; if (buildCounterGoogleCloudApigeeV1TlsInfo < 3) { - o.ciphers = buildUnnamed240(); + o.ciphers = buildUnnamed242(); o.clientAuthEnabled = true; o.commonName = buildGoogleCloudApigeeV1TlsInfoCommonName(); o.enabled = true; @@ -13199,7 +13436,7 @@ api.GoogleCloudApigeeV1TlsInfo buildGoogleCloudApigeeV1TlsInfo() { o.ignoreValidationErrors = true; o.keyAlias = 'foo'; o.keyStore = 'foo'; - o.protocols = buildUnnamed241(); + o.protocols = buildUnnamed243(); o.trustStore = 'foo'; } buildCounterGoogleCloudApigeeV1TlsInfo--; @@ -13209,7 +13446,7 @@ api.GoogleCloudApigeeV1TlsInfo buildGoogleCloudApigeeV1TlsInfo() { void checkGoogleCloudApigeeV1TlsInfo(api.GoogleCloudApigeeV1TlsInfo o) { buildCounterGoogleCloudApigeeV1TlsInfo++; if (buildCounterGoogleCloudApigeeV1TlsInfo < 3) { - checkUnnamed240(o.ciphers!); + checkUnnamed242(o.ciphers!); unittest.expect(o.clientAuthEnabled!, unittest.isTrue); checkGoogleCloudApigeeV1TlsInfoCommonName(o.commonName!); unittest.expect(o.enabled!, unittest.isTrue); @@ -13223,7 +13460,7 @@ void checkGoogleCloudApigeeV1TlsInfo(api.GoogleCloudApigeeV1TlsInfo o) { o.keyStore!, unittest.equals('foo'), ); - checkUnnamed241(o.protocols!); + checkUnnamed243(o.protocols!); unittest.expect( o.trustStore!, unittest.equals('foo'), @@ -13258,12 +13495,12 @@ void checkGoogleCloudApigeeV1TlsInfoCommonName( buildCounterGoogleCloudApigeeV1TlsInfoCommonName--; } -core.List buildUnnamed242() => [ +core.List buildUnnamed244() => [ 'foo', 'foo', ]; -void checkUnnamed242(core.List o) { +void checkUnnamed244(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -13275,12 +13512,12 @@ void checkUnnamed242(core.List o) { ); } -core.List buildUnnamed243() => [ +core.List buildUnnamed245() => [ 'foo', 'foo', ]; -void checkUnnamed243(core.List o) { +void checkUnnamed245(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -13297,7 +13534,7 @@ api.GoogleCloudApigeeV1TlsInfoConfig buildGoogleCloudApigeeV1TlsInfoConfig() { final o = api.GoogleCloudApigeeV1TlsInfoConfig(); buildCounterGoogleCloudApigeeV1TlsInfoConfig++; if (buildCounterGoogleCloudApigeeV1TlsInfoConfig < 3) { - o.ciphers = buildUnnamed242(); + o.ciphers = buildUnnamed244(); o.clientAuthEnabled = true; o.commonName = buildGoogleCloudApigeeV1CommonNameConfig(); o.enabled = true; @@ -13305,7 +13542,7 @@ api.GoogleCloudApigeeV1TlsInfoConfig buildGoogleCloudApigeeV1TlsInfoConfig() { o.ignoreValidationErrors = true; o.keyAlias = 'foo'; o.keyAliasReference = buildGoogleCloudApigeeV1KeyAliasReference(); - o.protocols = buildUnnamed243(); + o.protocols = buildUnnamed245(); o.trustStore = 'foo'; } buildCounterGoogleCloudApigeeV1TlsInfoConfig--; @@ -13316,7 +13553,7 @@ void checkGoogleCloudApigeeV1TlsInfoConfig( api.GoogleCloudApigeeV1TlsInfoConfig o) { buildCounterGoogleCloudApigeeV1TlsInfoConfig++; if (buildCounterGoogleCloudApigeeV1TlsInfoConfig < 3) { - checkUnnamed242(o.ciphers!); + checkUnnamed244(o.ciphers!); unittest.expect(o.clientAuthEnabled!, unittest.isTrue); checkGoogleCloudApigeeV1CommonNameConfig(o.commonName!); unittest.expect(o.enabled!, unittest.isTrue); @@ -13327,7 +13564,7 @@ void checkGoogleCloudApigeeV1TlsInfoConfig( unittest.equals('foo'), ); checkGoogleCloudApigeeV1KeyAliasReference(o.keyAliasReference!); - checkUnnamed243(o.protocols!); + checkUnnamed245(o.protocols!); unittest.expect( o.trustStore!, unittest.equals('foo'), @@ -13425,12 +13662,12 @@ void checkGoogleCloudApigeeV1TraceSamplingConfig( buildCounterGoogleCloudApigeeV1TraceSamplingConfig--; } -core.List buildUnnamed244() => [ +core.List buildUnnamed246() => [ 'foo', 'foo', ]; -void checkUnnamed244(core.List o) { +void checkUnnamed246(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -13449,7 +13686,7 @@ api.GoogleCloudApigeeV1UpdateAppGroupAppKeyRequest buildCounterGoogleCloudApigeeV1UpdateAppGroupAppKeyRequest++; if (buildCounterGoogleCloudApigeeV1UpdateAppGroupAppKeyRequest < 3) { o.action = 'foo'; - o.apiProducts = buildUnnamed244(); + o.apiProducts = buildUnnamed246(); o.appGroupAppKey = buildGoogleCloudApigeeV1AppGroupAppKey(); } buildCounterGoogleCloudApigeeV1UpdateAppGroupAppKeyRequest--; @@ -13464,7 +13701,7 @@ void checkGoogleCloudApigeeV1UpdateAppGroupAppKeyRequest( o.action!, unittest.equals('foo'), ); - checkUnnamed244(o.apiProducts!); + checkUnnamed246(o.apiProducts!); checkGoogleCloudApigeeV1AppGroupAppKey(o.appGroupAppKey!); } buildCounterGoogleCloudApigeeV1UpdateAppGroupAppKeyRequest--; @@ -13533,12 +13770,12 @@ void checkGoogleCloudApigeeV1UpdateSecurityIncidentRequest( buildCounterGoogleCloudApigeeV1UpdateSecurityIncidentRequest--; } -core.List buildUnnamed245() => [ +core.List buildUnnamed247() => [ buildGoogleIamV1AuditLogConfig(), buildGoogleIamV1AuditLogConfig(), ]; -void checkUnnamed245(core.List o) { +void checkUnnamed247(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleIamV1AuditLogConfig(o[0]); checkGoogleIamV1AuditLogConfig(o[1]); @@ -13549,7 +13786,7 @@ api.GoogleIamV1AuditConfig buildGoogleIamV1AuditConfig() { final o = api.GoogleIamV1AuditConfig(); buildCounterGoogleIamV1AuditConfig++; if (buildCounterGoogleIamV1AuditConfig < 3) { - o.auditLogConfigs = buildUnnamed245(); + o.auditLogConfigs = buildUnnamed247(); o.service = 'foo'; } buildCounterGoogleIamV1AuditConfig--; @@ -13559,7 +13796,7 @@ api.GoogleIamV1AuditConfig buildGoogleIamV1AuditConfig() { void checkGoogleIamV1AuditConfig(api.GoogleIamV1AuditConfig o) { buildCounterGoogleIamV1AuditConfig++; if (buildCounterGoogleIamV1AuditConfig < 3) { - checkUnnamed245(o.auditLogConfigs!); + checkUnnamed247(o.auditLogConfigs!); unittest.expect( o.service!, unittest.equals('foo'), @@ -13568,12 +13805,12 @@ void checkGoogleIamV1AuditConfig(api.GoogleIamV1AuditConfig o) { buildCounterGoogleIamV1AuditConfig--; } -core.List buildUnnamed246() => [ +core.List buildUnnamed248() => [ 'foo', 'foo', ]; -void checkUnnamed246(core.List o) { +void checkUnnamed248(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -13590,7 +13827,7 @@ api.GoogleIamV1AuditLogConfig buildGoogleIamV1AuditLogConfig() { final o = api.GoogleIamV1AuditLogConfig(); buildCounterGoogleIamV1AuditLogConfig++; if (buildCounterGoogleIamV1AuditLogConfig < 3) { - o.exemptedMembers = buildUnnamed246(); + o.exemptedMembers = buildUnnamed248(); o.logType = 'foo'; } buildCounterGoogleIamV1AuditLogConfig--; @@ -13600,7 +13837,7 @@ api.GoogleIamV1AuditLogConfig buildGoogleIamV1AuditLogConfig() { void checkGoogleIamV1AuditLogConfig(api.GoogleIamV1AuditLogConfig o) { buildCounterGoogleIamV1AuditLogConfig++; if (buildCounterGoogleIamV1AuditLogConfig < 3) { - checkUnnamed246(o.exemptedMembers!); + checkUnnamed248(o.exemptedMembers!); unittest.expect( o.logType!, unittest.equals('foo'), @@ -13609,12 +13846,12 @@ void checkGoogleIamV1AuditLogConfig(api.GoogleIamV1AuditLogConfig o) { buildCounterGoogleIamV1AuditLogConfig--; } -core.List buildUnnamed247() => [ +core.List buildUnnamed249() => [ 'foo', 'foo', ]; -void checkUnnamed247(core.List o) { +void checkUnnamed249(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -13632,7 +13869,7 @@ api.GoogleIamV1Binding buildGoogleIamV1Binding() { buildCounterGoogleIamV1Binding++; if (buildCounterGoogleIamV1Binding < 3) { o.condition = buildGoogleTypeExpr(); - o.members = buildUnnamed247(); + o.members = buildUnnamed249(); o.role = 'foo'; } buildCounterGoogleIamV1Binding--; @@ -13643,7 +13880,7 @@ void checkGoogleIamV1Binding(api.GoogleIamV1Binding o) { buildCounterGoogleIamV1Binding++; if (buildCounterGoogleIamV1Binding < 3) { checkGoogleTypeExpr(o.condition!); - checkUnnamed247(o.members!); + checkUnnamed249(o.members!); unittest.expect( o.role!, unittest.equals('foo'), @@ -13652,23 +13889,23 @@ void checkGoogleIamV1Binding(api.GoogleIamV1Binding o) { buildCounterGoogleIamV1Binding--; } -core.List buildUnnamed248() => [ +core.List buildUnnamed250() => [ buildGoogleIamV1AuditConfig(), buildGoogleIamV1AuditConfig(), ]; -void checkUnnamed248(core.List o) { +void checkUnnamed250(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleIamV1AuditConfig(o[0]); checkGoogleIamV1AuditConfig(o[1]); } -core.List buildUnnamed249() => [ +core.List buildUnnamed251() => [ buildGoogleIamV1Binding(), buildGoogleIamV1Binding(), ]; -void checkUnnamed249(core.List o) { +void checkUnnamed251(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleIamV1Binding(o[0]); checkGoogleIamV1Binding(o[1]); @@ -13679,8 +13916,8 @@ api.GoogleIamV1Policy buildGoogleIamV1Policy() { final o = api.GoogleIamV1Policy(); buildCounterGoogleIamV1Policy++; if (buildCounterGoogleIamV1Policy < 3) { - o.auditConfigs = buildUnnamed248(); - o.bindings = buildUnnamed249(); + o.auditConfigs = buildUnnamed250(); + o.bindings = buildUnnamed251(); o.etag = 'foo'; o.version = 42; } @@ -13691,8 +13928,8 @@ api.GoogleIamV1Policy buildGoogleIamV1Policy() { void checkGoogleIamV1Policy(api.GoogleIamV1Policy o) { buildCounterGoogleIamV1Policy++; if (buildCounterGoogleIamV1Policy < 3) { - checkUnnamed248(o.auditConfigs!); - checkUnnamed249(o.bindings!); + checkUnnamed250(o.auditConfigs!); + checkUnnamed251(o.bindings!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -13729,12 +13966,12 @@ void checkGoogleIamV1SetIamPolicyRequest(api.GoogleIamV1SetIamPolicyRequest o) { buildCounterGoogleIamV1SetIamPolicyRequest--; } -core.List buildUnnamed250() => [ +core.List buildUnnamed252() => [ 'foo', 'foo', ]; -void checkUnnamed250(core.List o) { +void checkUnnamed252(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -13752,7 +13989,7 @@ api.GoogleIamV1TestIamPermissionsRequest final o = api.GoogleIamV1TestIamPermissionsRequest(); buildCounterGoogleIamV1TestIamPermissionsRequest++; if (buildCounterGoogleIamV1TestIamPermissionsRequest < 3) { - o.permissions = buildUnnamed250(); + o.permissions = buildUnnamed252(); } buildCounterGoogleIamV1TestIamPermissionsRequest--; return o; @@ -13762,17 +13999,17 @@ void checkGoogleIamV1TestIamPermissionsRequest( api.GoogleIamV1TestIamPermissionsRequest o) { buildCounterGoogleIamV1TestIamPermissionsRequest++; if (buildCounterGoogleIamV1TestIamPermissionsRequest < 3) { - checkUnnamed250(o.permissions!); + checkUnnamed252(o.permissions!); } buildCounterGoogleIamV1TestIamPermissionsRequest--; } -core.List buildUnnamed251() => [ +core.List buildUnnamed253() => [ 'foo', 'foo', ]; -void checkUnnamed251(core.List o) { +void checkUnnamed253(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -13790,7 +14027,7 @@ api.GoogleIamV1TestIamPermissionsResponse final o = api.GoogleIamV1TestIamPermissionsResponse(); buildCounterGoogleIamV1TestIamPermissionsResponse++; if (buildCounterGoogleIamV1TestIamPermissionsResponse < 3) { - o.permissions = buildUnnamed251(); + o.permissions = buildUnnamed253(); } buildCounterGoogleIamV1TestIamPermissionsResponse--; return o; @@ -13800,17 +14037,17 @@ void checkGoogleIamV1TestIamPermissionsResponse( api.GoogleIamV1TestIamPermissionsResponse o) { buildCounterGoogleIamV1TestIamPermissionsResponse++; if (buildCounterGoogleIamV1TestIamPermissionsResponse < 3) { - checkUnnamed251(o.permissions!); + checkUnnamed253(o.permissions!); } buildCounterGoogleIamV1TestIamPermissionsResponse--; } -core.List buildUnnamed252() => [ +core.List buildUnnamed254() => [ buildGoogleLongrunningOperation(), buildGoogleLongrunningOperation(), ]; -void checkUnnamed252(core.List o) { +void checkUnnamed254(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleLongrunningOperation(o[0]); checkGoogleLongrunningOperation(o[1]); @@ -13823,7 +14060,7 @@ api.GoogleLongrunningListOperationsResponse buildCounterGoogleLongrunningListOperationsResponse++; if (buildCounterGoogleLongrunningListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed252(); + o.operations = buildUnnamed254(); } buildCounterGoogleLongrunningListOperationsResponse--; return o; @@ -13837,12 +14074,12 @@ void checkGoogleLongrunningListOperationsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed252(o.operations!); + checkUnnamed254(o.operations!); } buildCounterGoogleLongrunningListOperationsResponse--; } -core.Map buildUnnamed253() => { +core.Map buildUnnamed255() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -13855,7 +14092,7 @@ core.Map buildUnnamed253() => { }, }; -void checkUnnamed253(core.Map o) { +void checkUnnamed255(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted19 = (o['x']!) as core.Map; unittest.expect(casted19, unittest.hasLength(3)); @@ -13887,7 +14124,7 @@ void checkUnnamed253(core.Map o) { ); } -core.Map buildUnnamed254() => { +core.Map buildUnnamed256() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -13900,7 +14137,7 @@ core.Map buildUnnamed254() => { }, }; -void checkUnnamed254(core.Map o) { +void checkUnnamed256(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted21 = (o['x']!) as core.Map; unittest.expect(casted21, unittest.hasLength(3)); @@ -13939,9 +14176,9 @@ api.GoogleLongrunningOperation buildGoogleLongrunningOperation() { if (buildCounterGoogleLongrunningOperation < 3) { o.done = true; o.error = buildGoogleRpcStatus(); - o.metadata = buildUnnamed253(); + o.metadata = buildUnnamed255(); o.name = 'foo'; - o.response = buildUnnamed254(); + o.response = buildUnnamed256(); } buildCounterGoogleLongrunningOperation--; return o; @@ -13952,12 +14189,12 @@ void checkGoogleLongrunningOperation(api.GoogleLongrunningOperation o) { if (buildCounterGoogleLongrunningOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkGoogleRpcStatus(o.error!); - checkUnnamed253(o.metadata!); + checkUnnamed255(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed254(o.response!); + checkUnnamed256(o.response!); } buildCounterGoogleLongrunningOperation--; } @@ -13977,12 +14214,12 @@ void checkGoogleProtobufEmpty(api.GoogleProtobufEmpty o) { buildCounterGoogleProtobufEmpty--; } -core.List buildUnnamed255() => [ +core.List buildUnnamed257() => [ buildGoogleRpcPreconditionFailureViolation(), buildGoogleRpcPreconditionFailureViolation(), ]; -void checkUnnamed255(core.List o) { +void checkUnnamed257(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleRpcPreconditionFailureViolation(o[0]); checkGoogleRpcPreconditionFailureViolation(o[1]); @@ -13993,7 +14230,7 @@ api.GoogleRpcPreconditionFailure buildGoogleRpcPreconditionFailure() { final o = api.GoogleRpcPreconditionFailure(); buildCounterGoogleRpcPreconditionFailure++; if (buildCounterGoogleRpcPreconditionFailure < 3) { - o.violations = buildUnnamed255(); + o.violations = buildUnnamed257(); } buildCounterGoogleRpcPreconditionFailure--; return o; @@ -14002,7 +14239,7 @@ api.GoogleRpcPreconditionFailure buildGoogleRpcPreconditionFailure() { void checkGoogleRpcPreconditionFailure(api.GoogleRpcPreconditionFailure o) { buildCounterGoogleRpcPreconditionFailure++; if (buildCounterGoogleRpcPreconditionFailure < 3) { - checkUnnamed255(o.violations!); + checkUnnamed257(o.violations!); } buildCounterGoogleRpcPreconditionFailure--; } @@ -14041,7 +14278,7 @@ void checkGoogleRpcPreconditionFailureViolation( buildCounterGoogleRpcPreconditionFailureViolation--; } -core.Map buildUnnamed256() => { +core.Map buildUnnamed258() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -14054,7 +14291,7 @@ core.Map buildUnnamed256() => { }, }; -void checkUnnamed256(core.Map o) { +void checkUnnamed258(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted23 = (o['x']!) as core.Map; unittest.expect(casted23, unittest.hasLength(3)); @@ -14086,15 +14323,15 @@ void checkUnnamed256(core.Map o) { ); } -core.List> buildUnnamed257() => [ - buildUnnamed256(), - buildUnnamed256(), +core.List> buildUnnamed259() => [ + buildUnnamed258(), + buildUnnamed258(), ]; -void checkUnnamed257(core.List> o) { +void checkUnnamed259(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed256(o[0]); - checkUnnamed256(o[1]); + checkUnnamed258(o[0]); + checkUnnamed258(o[1]); } core.int buildCounterGoogleRpcStatus = 0; @@ -14103,7 +14340,7 @@ api.GoogleRpcStatus buildGoogleRpcStatus() { buildCounterGoogleRpcStatus++; if (buildCounterGoogleRpcStatus < 3) { o.code = 42; - o.details = buildUnnamed257(); + o.details = buildUnnamed259(); o.message = 'foo'; } buildCounterGoogleRpcStatus--; @@ -14117,7 +14354,7 @@ void checkGoogleRpcStatus(api.GoogleRpcStatus o) { o.code!, unittest.equals(42), ); - checkUnnamed257(o.details!); + checkUnnamed259(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -14384,6 +14621,16 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudApigeeV1ApiDebugSession', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudApigeeV1ApiDebugSession(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudApigeeV1ApiDebugSession.fromJson( + oJson as core.Map); + checkGoogleCloudApigeeV1ApiDebugSession(od); + }); + }); + unittest.group('obj-schema-GoogleCloudApigeeV1ApiDoc', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudApigeeV1ApiDoc(); @@ -15595,6 +15842,17 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudApigeeV1ListApiDebugSessionsResponse', + () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudApigeeV1ListApiDebugSessionsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudApigeeV1ListApiDebugSessionsResponse.fromJson( + oJson as core.Map); + checkGoogleCloudApigeeV1ListApiDebugSessionsResponse(od); + }); + }); + unittest.group('obj-schema-GoogleCloudApigeeV1ListApiDocsResponse', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudApigeeV1ListApiDocsResponse(); @@ -15967,6 +16225,16 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudApigeeV1ListSpacesResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudApigeeV1ListSpacesResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudApigeeV1ListSpacesResponse.fromJson( + oJson as core.Map); + checkGoogleCloudApigeeV1ListSpacesResponse(od); + }); + }); + unittest.group( 'obj-schema-GoogleCloudApigeeV1ListTraceConfigOverridesResponse', () { unittest.test('to-json--from-json', () async { @@ -16019,6 +16287,36 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudApigeeV1MoveApiProductRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudApigeeV1MoveApiProductRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudApigeeV1MoveApiProductRequest.fromJson( + oJson as core.Map); + checkGoogleCloudApigeeV1MoveApiProductRequest(od); + }); + }); + + unittest.group('obj-schema-GoogleCloudApigeeV1MoveApiProxyRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudApigeeV1MoveApiProxyRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudApigeeV1MoveApiProxyRequest.fromJson( + oJson as core.Map); + checkGoogleCloudApigeeV1MoveApiProxyRequest(od); + }); + }); + + unittest.group('obj-schema-GoogleCloudApigeeV1MoveSharedFlowRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudApigeeV1MoveSharedFlowRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudApigeeV1MoveSharedFlowRequest.fromJson( + oJson as core.Map); + checkGoogleCloudApigeeV1MoveSharedFlowRequest(od); + }); + }); + unittest.group('obj-schema-GoogleCloudApigeeV1NatAddress', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudApigeeV1NatAddress(); @@ -17028,6 +17326,16 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudApigeeV1Space', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudApigeeV1Space(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudApigeeV1Space.fromJson( + oJson as core.Map); + checkGoogleCloudApigeeV1Space(od); + }); + }); + unittest.group('obj-schema-GoogleCloudApigeeV1Stats', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudApigeeV1Stats(); @@ -18873,6 +19181,7 @@ void main() { final arg_attributevalue = 'foo'; final arg_count = 'foo'; final arg_expand = true; + final arg_space = 'foo'; final arg_startKey = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -18923,6 +19232,10 @@ void main() { queryMap['expand']!.first, unittest.equals('$arg_expand'), ); + unittest.expect( + queryMap['space']!.first, + unittest.equals(arg_space), + ); unittest.expect( queryMap['startKey']!.first, unittest.equals(arg_startKey), @@ -18944,12 +19257,72 @@ void main() { attributevalue: arg_attributevalue, count: arg_count, expand: arg_expand, + space: arg_space, startKey: arg_startKey, $fields: arg_$fields); checkGoogleCloudApigeeV1ListApiProductsResponse( response as api.GoogleCloudApigeeV1ListApiProductsResponse); }); + unittest.test('method--move', () async { + final mock = HttpServerMock(); + final res = api.ApigeeApi(mock).organizations.apiproducts; + final arg_request = buildGoogleCloudApigeeV1MoveApiProductRequest(); + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleCloudApigeeV1MoveApiProductRequest.fromJson( + json as core.Map); + checkGoogleCloudApigeeV1MoveApiProductRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGoogleCloudApigeeV1ApiProduct()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.move(arg_request, arg_name, $fields: arg_$fields); + checkGoogleCloudApigeeV1ApiProduct( + response as api.GoogleCloudApigeeV1ApiProduct); + }); + unittest.test('method--update', () async { final mock = HttpServerMock(); final res = api.ApigeeApi(mock).organizations.apiproducts; @@ -19550,6 +19923,7 @@ void main() { final arg_parent = 'foo'; final arg_action = 'foo'; final arg_name = 'foo'; + final arg_space = 'foo'; final arg_validate = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -19596,6 +19970,10 @@ void main() { queryMap['name']!.first, unittest.equals(arg_name), ); + unittest.expect( + queryMap['space']!.first, + unittest.equals(arg_space), + ); unittest.expect( queryMap['validate']!.first, unittest.equals('$arg_validate'), @@ -19615,6 +19993,7 @@ void main() { final response = await res.create(arg_request, arg_parent, action: arg_action, name: arg_name, + space: arg_space, validate: arg_validate, $fields: arg_$fields); checkGoogleCloudApigeeV1ApiProxyRevision( @@ -19733,6 +20112,7 @@ void main() { final arg_parent = 'foo'; final arg_includeMetaData = true; final arg_includeRevisions = true; + final arg_space = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -19774,6 +20154,10 @@ void main() { queryMap['includeRevisions']!.first, unittest.equals('$arg_includeRevisions'), ); + unittest.expect( + queryMap['space']!.first, + unittest.equals(arg_space), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -19789,11 +20173,71 @@ void main() { final response = await res.list(arg_parent, includeMetaData: arg_includeMetaData, includeRevisions: arg_includeRevisions, + space: arg_space, $fields: arg_$fields); checkGoogleCloudApigeeV1ListApiProxiesResponse( response as api.GoogleCloudApigeeV1ListApiProxiesResponse); }); + unittest.test('method--move', () async { + final mock = HttpServerMock(); + final res = api.ApigeeApi(mock).organizations.apis; + final arg_request = buildGoogleCloudApigeeV1MoveApiProxyRequest(); + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleCloudApigeeV1MoveApiProxyRequest.fromJson( + json as core.Map); + checkGoogleCloudApigeeV1MoveApiProxyRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGoogleCloudApigeeV1ApiProxy()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.move(arg_request, arg_name, $fields: arg_$fields); + checkGoogleCloudApigeeV1ApiProxy( + response as api.GoogleCloudApigeeV1ApiProxy); + }); + unittest.test('method--patch', () async { final mock = HttpServerMock(); final res = api.ApigeeApi(mock).organizations.apis; @@ -19859,11 +20303,13 @@ void main() { }); }); - unittest.group('resource-OrganizationsApisDeploymentsResource', () { + unittest.group('resource-OrganizationsApisDebugsessionsResource', () { unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.apis.deployments; + final res = api.ApigeeApi(mock).organizations.apis.debugsessions; final arg_parent = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -19897,6 +20343,14 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -19906,27 +20360,25 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = convert.json - .encode(buildGoogleCloudApigeeV1ListDeploymentsResponse()); + .encode(buildGoogleCloudApigeeV1ListApiDebugSessionsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_parent, $fields: arg_$fields); - checkGoogleCloudApigeeV1ListDeploymentsResponse( - response as api.GoogleCloudApigeeV1ListDeploymentsResponse); + final response = await res.list(arg_parent, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkGoogleCloudApigeeV1ListApiDebugSessionsResponse( + response as api.GoogleCloudApigeeV1ListApiDebugSessionsResponse); }); }); - unittest.group('resource-OrganizationsApisKeyvaluemapsResource', () { - unittest.test('method--create', () async { + unittest.group('resource-OrganizationsApisDeploymentsResource', () { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.apis.keyvaluemaps; - final arg_request = buildGoogleCloudApigeeV1KeyValueMap(); + final res = api.ApigeeApi(mock).organizations.apis.deployments; final arg_parent = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudApigeeV1KeyValueMap.fromJson( - json as core.Map); - checkGoogleCloudApigeeV1KeyValueMap(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -19966,21 +20418,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleCloudApigeeV1KeyValueMap()); + final resp = convert.json + .encode(buildGoogleCloudApigeeV1ListDeploymentsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.create(arg_request, arg_parent, $fields: arg_$fields); - checkGoogleCloudApigeeV1KeyValueMap( - response as api.GoogleCloudApigeeV1KeyValueMap); + final response = await res.list(arg_parent, $fields: arg_$fields); + checkGoogleCloudApigeeV1ListDeploymentsResponse( + response as api.GoogleCloudApigeeV1ListDeploymentsResponse); }); + }); - unittest.test('method--delete', () async { + unittest.group('resource-OrganizationsApisKeyvaluemapsResource', () { + unittest.test('method--create', () async { final mock = HttpServerMock(); final res = api.ApigeeApi(mock).organizations.apis.keyvaluemaps; - final arg_name = 'foo'; + final arg_request = buildGoogleCloudApigeeV1KeyValueMap(); + final arg_parent = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleCloudApigeeV1KeyValueMap.fromJson( + json as core.Map); + checkGoogleCloudApigeeV1KeyValueMap(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -20023,24 +20482,78 @@ void main() { final resp = convert.json.encode(buildGoogleCloudApigeeV1KeyValueMap()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_name, $fields: arg_$fields); + final response = + await res.create(arg_request, arg_parent, $fields: arg_$fields); checkGoogleCloudApigeeV1KeyValueMap( response as api.GoogleCloudApigeeV1KeyValueMap); }); - }); - unittest.group('resource-OrganizationsApisKeyvaluemapsEntriesResource', () { - unittest.test('method--create', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.apis.keyvaluemaps.entries; - final arg_request = buildGoogleCloudApigeeV1KeyValueEntry(); - final arg_parent = 'foo'; + final res = api.ApigeeApi(mock).organizations.apis.keyvaluemaps; + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudApigeeV1KeyValueEntry.fromJson( - json as core.Map); - checkGoogleCloudApigeeV1KeyValueEntry(obj); - + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGoogleCloudApigeeV1KeyValueMap()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete(arg_name, $fields: arg_$fields); + checkGoogleCloudApigeeV1KeyValueMap( + response as api.GoogleCloudApigeeV1KeyValueMap); + }); + }); + + unittest.group('resource-OrganizationsApisKeyvaluemapsEntriesResource', () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.ApigeeApi(mock).organizations.apis.keyvaluemaps.entries; + final arg_request = buildGoogleCloudApigeeV1KeyValueEntry(); + final arg_parent = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleCloudApigeeV1KeyValueEntry.fromJson( + json as core.Map); + checkGoogleCloudApigeeV1KeyValueEntry(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -35062,32 +35575,590 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildGoogleCloudApigeeV1CustomReport()); + final resp = + convert.json.encode(buildGoogleCloudApigeeV1CustomReport()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.update(arg_request, arg_name, $fields: arg_$fields); + checkGoogleCloudApigeeV1CustomReport( + response as api.GoogleCloudApigeeV1CustomReport); + }); + }); + + unittest.group('resource-OrganizationsSecurityAssessmentResultsResource', () { + unittest.test('method--batchCompute', () async { + final mock = HttpServerMock(); + final res = api.ApigeeApi(mock).organizations.securityAssessmentResults; + final arg_request = + buildGoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequest(); + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequest + .fromJson(json as core.Map); + checkGoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequest( + obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode( + buildGoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.batchCompute(arg_request, arg_name, $fields: arg_$fields); + checkGoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse( + response as api + .GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse); + }); + }); + + unittest.group('resource-OrganizationsSecurityProfilesResource', () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.ApigeeApi(mock).organizations.securityProfiles; + final arg_request = buildGoogleCloudApigeeV1SecurityProfile(); + final arg_parent = 'foo'; + final arg_securityProfileId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleCloudApigeeV1SecurityProfile.fromJson( + json as core.Map); + checkGoogleCloudApigeeV1SecurityProfile(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['securityProfileId']!.first, + unittest.equals(arg_securityProfileId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildGoogleCloudApigeeV1SecurityProfile()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create(arg_request, arg_parent, + securityProfileId: arg_securityProfileId, $fields: arg_$fields); + checkGoogleCloudApigeeV1SecurityProfile( + response as api.GoogleCloudApigeeV1SecurityProfile); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = api.ApigeeApi(mock).organizations.securityProfiles; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGoogleProtobufEmpty()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete(arg_name, $fields: arg_$fields); + checkGoogleProtobufEmpty(response as api.GoogleProtobufEmpty); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.ApigeeApi(mock).organizations.securityProfiles; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildGoogleCloudApigeeV1SecurityProfile()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_name, $fields: arg_$fields); + checkGoogleCloudApigeeV1SecurityProfile( + response as api.GoogleCloudApigeeV1SecurityProfile); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.ApigeeApi(mock).organizations.securityProfiles; + final arg_parent = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json + .encode(buildGoogleCloudApigeeV1ListSecurityProfilesResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_parent, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkGoogleCloudApigeeV1ListSecurityProfilesResponse( + response as api.GoogleCloudApigeeV1ListSecurityProfilesResponse); + }); + + unittest.test('method--listRevisions', () async { + final mock = HttpServerMock(); + final res = api.ApigeeApi(mock).organizations.securityProfiles; + final arg_name = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode( + buildGoogleCloudApigeeV1ListSecurityProfileRevisionsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.listRevisions(arg_name, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkGoogleCloudApigeeV1ListSecurityProfileRevisionsResponse(response + as api.GoogleCloudApigeeV1ListSecurityProfileRevisionsResponse); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = api.ApigeeApi(mock).organizations.securityProfiles; + final arg_request = buildGoogleCloudApigeeV1SecurityProfile(); + final arg_name = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleCloudApigeeV1SecurityProfile.fromJson( + json as core.Map); + checkGoogleCloudApigeeV1SecurityProfile(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildGoogleCloudApigeeV1SecurityProfile()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch(arg_request, arg_name, + updateMask: arg_updateMask, $fields: arg_$fields); + checkGoogleCloudApigeeV1SecurityProfile( + response as api.GoogleCloudApigeeV1SecurityProfile); + }); + }); + + unittest.group('resource-OrganizationsSecurityProfilesEnvironmentsResource', + () { + unittest.test('method--computeEnvironmentScores', () async { + final mock = HttpServerMock(); + final res = + api.ApigeeApi(mock).organizations.securityProfiles.environments; + final arg_request = + buildGoogleCloudApigeeV1ComputeEnvironmentScoresRequest(); + final arg_profileEnvironment = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.GoogleCloudApigeeV1ComputeEnvironmentScoresRequest.fromJson( + json as core.Map); + checkGoogleCloudApigeeV1ComputeEnvironmentScoresRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json + .encode(buildGoogleCloudApigeeV1ComputeEnvironmentScoresResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.computeEnvironmentScores( + arg_request, arg_profileEnvironment, + $fields: arg_$fields); + checkGoogleCloudApigeeV1ComputeEnvironmentScoresResponse( + response as api.GoogleCloudApigeeV1ComputeEnvironmentScoresResponse); + }); + + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = + api.ApigeeApi(mock).organizations.securityProfiles.environments; + final arg_request = + buildGoogleCloudApigeeV1SecurityProfileEnvironmentAssociation(); + final arg_parent = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleCloudApigeeV1SecurityProfileEnvironmentAssociation + .fromJson(json as core.Map); + checkGoogleCloudApigeeV1SecurityProfileEnvironmentAssociation(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode( + buildGoogleCloudApigeeV1SecurityProfileEnvironmentAssociation()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = - await res.update(arg_request, arg_name, $fields: arg_$fields); - checkGoogleCloudApigeeV1CustomReport( - response as api.GoogleCloudApigeeV1CustomReport); + await res.create(arg_request, arg_parent, $fields: arg_$fields); + checkGoogleCloudApigeeV1SecurityProfileEnvironmentAssociation(response + as api.GoogleCloudApigeeV1SecurityProfileEnvironmentAssociation); }); - }); - unittest.group('resource-OrganizationsSecurityAssessmentResultsResource', () { - unittest.test('method--batchCompute', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.securityAssessmentResults; - final arg_request = - buildGoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequest(); + final res = + api.ApigeeApi(mock).organizations.securityProfiles.environments; final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequest - .fromJson(json as core.Map); - checkGoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequest( - obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -35127,30 +36198,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode( - buildGoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse()); + final resp = convert.json.encode(buildGoogleProtobufEmpty()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.batchCompute(arg_request, arg_name, $fields: arg_$fields); - checkGoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse( - response as api - .GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse); + final response = await res.delete(arg_name, $fields: arg_$fields); + checkGoogleProtobufEmpty(response as api.GoogleProtobufEmpty); }); }); - unittest.group('resource-OrganizationsSecurityProfilesResource', () { + unittest.group('resource-OrganizationsSecurityProfilesV2Resource', () { unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.securityProfiles; - final arg_request = buildGoogleCloudApigeeV1SecurityProfile(); + final res = api.ApigeeApi(mock).organizations.securityProfilesV2; + final arg_request = buildGoogleCloudApigeeV1SecurityProfileV2(); final arg_parent = 'foo'; - final arg_securityProfileId = 'foo'; + final arg_securityProfileV2Id = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudApigeeV1SecurityProfile.fromJson( + final obj = api.GoogleCloudApigeeV1SecurityProfileV2.fromJson( json as core.Map); - checkGoogleCloudApigeeV1SecurityProfile(obj); + checkGoogleCloudApigeeV1SecurityProfileV2(obj); final path = req.url.path; var pathOffset = 0; @@ -35184,8 +36251,8 @@ void main() { } } unittest.expect( - queryMap['securityProfileId']!.first, - unittest.equals(arg_securityProfileId), + queryMap['securityProfileV2Id']!.first, + unittest.equals(arg_securityProfileV2Id), ); unittest.expect( queryMap['fields']!.first, @@ -35196,18 +36263,18 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = - convert.json.encode(buildGoogleCloudApigeeV1SecurityProfile()); + convert.json.encode(buildGoogleCloudApigeeV1SecurityProfileV2()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.create(arg_request, arg_parent, - securityProfileId: arg_securityProfileId, $fields: arg_$fields); - checkGoogleCloudApigeeV1SecurityProfile( - response as api.GoogleCloudApigeeV1SecurityProfile); + securityProfileV2Id: arg_securityProfileV2Id, $fields: arg_$fields); + checkGoogleCloudApigeeV1SecurityProfileV2( + response as api.GoogleCloudApigeeV1SecurityProfileV2); }); unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.securityProfiles; + final res = api.ApigeeApi(mock).organizations.securityProfilesV2; final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -35259,7 +36326,7 @@ void main() { unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.securityProfiles; + final res = api.ApigeeApi(mock).organizations.securityProfilesV2; final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -35303,17 +36370,17 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = - convert.json.encode(buildGoogleCloudApigeeV1SecurityProfile()); + convert.json.encode(buildGoogleCloudApigeeV1SecurityProfileV2()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.get(arg_name, $fields: arg_$fields); - checkGoogleCloudApigeeV1SecurityProfile( - response as api.GoogleCloudApigeeV1SecurityProfile); + checkGoogleCloudApigeeV1SecurityProfileV2( + response as api.GoogleCloudApigeeV1SecurityProfileV2); }); unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.securityProfiles; + final res = api.ApigeeApi(mock).organizations.securityProfilesV2; final arg_parent = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; @@ -35367,25 +36434,29 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = convert.json - .encode(buildGoogleCloudApigeeV1ListSecurityProfilesResponse()); + .encode(buildGoogleCloudApigeeV1ListSecurityProfilesV2Response()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.list(arg_parent, pageSize: arg_pageSize, pageToken: arg_pageToken, $fields: arg_$fields); - checkGoogleCloudApigeeV1ListSecurityProfilesResponse( - response as api.GoogleCloudApigeeV1ListSecurityProfilesResponse); + checkGoogleCloudApigeeV1ListSecurityProfilesV2Response( + response as api.GoogleCloudApigeeV1ListSecurityProfilesV2Response); }); - unittest.test('method--listRevisions', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.securityProfiles; + final res = api.ApigeeApi(mock).organizations.securityProfilesV2; + final arg_request = buildGoogleCloudApigeeV1SecurityProfileV2(); final arg_name = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; + final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleCloudApigeeV1SecurityProfileV2.fromJson( + json as core.Map); + checkGoogleCloudApigeeV1SecurityProfileV2(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -35418,12 +36489,8 @@ void main() { } } unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), ); unittest.expect( queryMap['fields']!.first, @@ -35433,29 +36500,31 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode( - buildGoogleCloudApigeeV1ListSecurityProfileRevisionsResponse()); + final resp = + convert.json.encode(buildGoogleCloudApigeeV1SecurityProfileV2()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.listRevisions(arg_name, - pageSize: arg_pageSize, - pageToken: arg_pageToken, - $fields: arg_$fields); - checkGoogleCloudApigeeV1ListSecurityProfileRevisionsResponse(response - as api.GoogleCloudApigeeV1ListSecurityProfileRevisionsResponse); + final response = await res.patch(arg_request, arg_name, + updateMask: arg_updateMask, $fields: arg_$fields); + checkGoogleCloudApigeeV1SecurityProfileV2( + response as api.GoogleCloudApigeeV1SecurityProfileV2); }); + }); - unittest.test('method--patch', () async { + unittest.group('resource-OrganizationsSharedflowsResource', () { + unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.securityProfiles; - final arg_request = buildGoogleCloudApigeeV1SecurityProfile(); + final res = api.ApigeeApi(mock).organizations.sharedflows; + final arg_request = buildGoogleApiHttpBody(); + final arg_parent = 'foo'; + final arg_action = 'foo'; final arg_name = 'foo'; - final arg_updateMask = 'foo'; + final arg_space = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudApigeeV1SecurityProfile.fromJson( + final obj = api.GoogleApiHttpBody.fromJson( json as core.Map); - checkGoogleCloudApigeeV1SecurityProfile(obj); + checkGoogleApiHttpBody(obj); final path = req.url.path; var pathOffset = 0; @@ -35489,8 +36558,16 @@ void main() { } } unittest.expect( - queryMap['updateMask']!.first, - unittest.equals(arg_updateMask), + queryMap['action']!.first, + unittest.equals(arg_action), + ); + unittest.expect( + queryMap['name']!.first, + unittest.equals(arg_name), + ); + unittest.expect( + queryMap['space']!.first, + unittest.equals(arg_space), ); unittest.expect( queryMap['fields']!.first, @@ -35501,32 +36578,24 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = - convert.json.encode(buildGoogleCloudApigeeV1SecurityProfile()); + convert.json.encode(buildGoogleCloudApigeeV1SharedFlowRevision()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch(arg_request, arg_name, - updateMask: arg_updateMask, $fields: arg_$fields); - checkGoogleCloudApigeeV1SecurityProfile( - response as api.GoogleCloudApigeeV1SecurityProfile); + final response = await res.create(arg_request, arg_parent, + action: arg_action, + name: arg_name, + space: arg_space, + $fields: arg_$fields); + checkGoogleCloudApigeeV1SharedFlowRevision( + response as api.GoogleCloudApigeeV1SharedFlowRevision); }); - }); - unittest.group('resource-OrganizationsSecurityProfilesEnvironmentsResource', - () { - unittest.test('method--computeEnvironmentScores', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = - api.ApigeeApi(mock).organizations.securityProfiles.environments; - final arg_request = - buildGoogleCloudApigeeV1ComputeEnvironmentScoresRequest(); - final arg_profileEnvironment = 'foo'; + final res = api.ApigeeApi(mock).organizations.sharedflows; + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.GoogleCloudApigeeV1ComputeEnvironmentScoresRequest.fromJson( - json as core.Map); - checkGoogleCloudApigeeV1ComputeEnvironmentScoresRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -35566,30 +36635,20 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json - .encode(buildGoogleCloudApigeeV1ComputeEnvironmentScoresResponse()); + final resp = convert.json.encode(buildGoogleCloudApigeeV1SharedFlow()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.computeEnvironmentScores( - arg_request, arg_profileEnvironment, - $fields: arg_$fields); - checkGoogleCloudApigeeV1ComputeEnvironmentScoresResponse( - response as api.GoogleCloudApigeeV1ComputeEnvironmentScoresResponse); + final response = await res.delete(arg_name, $fields: arg_$fields); + checkGoogleCloudApigeeV1SharedFlow( + response as api.GoogleCloudApigeeV1SharedFlow); }); - unittest.test('method--create', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = - api.ApigeeApi(mock).organizations.securityProfiles.environments; - final arg_request = - buildGoogleCloudApigeeV1SecurityProfileEnvironmentAssociation(); - final arg_parent = 'foo'; + final res = api.ApigeeApi(mock).organizations.sharedflows; + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudApigeeV1SecurityProfileEnvironmentAssociation - .fromJson(json as core.Map); - checkGoogleCloudApigeeV1SecurityProfileEnvironmentAssociation(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -35629,21 +36688,21 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode( - buildGoogleCloudApigeeV1SecurityProfileEnvironmentAssociation()); + final resp = convert.json.encode(buildGoogleCloudApigeeV1SharedFlow()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.create(arg_request, arg_parent, $fields: arg_$fields); - checkGoogleCloudApigeeV1SecurityProfileEnvironmentAssociation(response - as api.GoogleCloudApigeeV1SecurityProfileEnvironmentAssociation); + final response = await res.get(arg_name, $fields: arg_$fields); + checkGoogleCloudApigeeV1SharedFlow( + response as api.GoogleCloudApigeeV1SharedFlow); }); - unittest.test('method--delete', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = - api.ApigeeApi(mock).organizations.securityProfiles.environments; - final arg_name = 'foo'; + final res = api.ApigeeApi(mock).organizations.sharedflows; + final arg_parent = 'foo'; + final arg_includeMetaData = true; + final arg_includeRevisions = true; + final arg_space = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -35677,6 +36736,18 @@ void main() { ); } } + unittest.expect( + queryMap['includeMetaData']!.first, + unittest.equals('$arg_includeMetaData'), + ); + unittest.expect( + queryMap['includeRevisions']!.first, + unittest.equals('$arg_includeRevisions'), + ); + unittest.expect( + queryMap['space']!.first, + unittest.equals(arg_space), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -35685,26 +36756,29 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleProtobufEmpty()); + final resp = convert.json + .encode(buildGoogleCloudApigeeV1ListSharedFlowsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_name, $fields: arg_$fields); - checkGoogleProtobufEmpty(response as api.GoogleProtobufEmpty); + final response = await res.list(arg_parent, + includeMetaData: arg_includeMetaData, + includeRevisions: arg_includeRevisions, + space: arg_space, + $fields: arg_$fields); + checkGoogleCloudApigeeV1ListSharedFlowsResponse( + response as api.GoogleCloudApigeeV1ListSharedFlowsResponse); }); - }); - unittest.group('resource-OrganizationsSecurityProfilesV2Resource', () { - unittest.test('method--create', () async { + unittest.test('method--move', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.securityProfilesV2; - final arg_request = buildGoogleCloudApigeeV1SecurityProfileV2(); - final arg_parent = 'foo'; - final arg_securityProfileV2Id = 'foo'; + final res = api.ApigeeApi(mock).organizations.sharedflows; + final arg_request = buildGoogleCloudApigeeV1MoveSharedFlowRequest(); + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudApigeeV1SecurityProfileV2.fromJson( + final obj = api.GoogleCloudApigeeV1MoveSharedFlowRequest.fromJson( json as core.Map); - checkGoogleCloudApigeeV1SecurityProfileV2(obj); + checkGoogleCloudApigeeV1MoveSharedFlowRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -35737,10 +36811,6 @@ void main() { ); } } - unittest.expect( - queryMap['securityProfileV2Id']!.first, - unittest.equals(arg_securityProfileV2Id), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -35749,20 +36819,21 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildGoogleCloudApigeeV1SecurityProfileV2()); + final resp = convert.json.encode(buildGoogleCloudApigeeV1SharedFlow()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.create(arg_request, arg_parent, - securityProfileV2Id: arg_securityProfileV2Id, $fields: arg_$fields); - checkGoogleCloudApigeeV1SecurityProfileV2( - response as api.GoogleCloudApigeeV1SecurityProfileV2); + final response = + await res.move(arg_request, arg_name, $fields: arg_$fields); + checkGoogleCloudApigeeV1SharedFlow( + response as api.GoogleCloudApigeeV1SharedFlow); }); + }); - unittest.test('method--delete', () async { + unittest.group('resource-OrganizationsSharedflowsDeploymentsResource', () { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.securityProfilesV2; - final arg_name = 'foo'; + final res = api.ApigeeApi(mock).organizations.sharedflows.deployments; + final arg_parent = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -35804,16 +36875,20 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleProtobufEmpty()); + final resp = convert.json + .encode(buildGoogleCloudApigeeV1ListDeploymentsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_name, $fields: arg_$fields); - checkGoogleProtobufEmpty(response as api.GoogleProtobufEmpty); + final response = await res.list(arg_parent, $fields: arg_$fields); + checkGoogleCloudApigeeV1ListDeploymentsResponse( + response as api.GoogleCloudApigeeV1ListDeploymentsResponse); }); + }); - unittest.test('method--get', () async { + unittest.group('resource-OrganizationsSharedflowsRevisionsResource', () { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.securityProfilesV2; + final res = api.ApigeeApi(mock).organizations.sharedflows.revisions; final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -35857,20 +36932,19 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = - convert.json.encode(buildGoogleCloudApigeeV1SecurityProfileV2()); + convert.json.encode(buildGoogleCloudApigeeV1SharedFlowRevision()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_name, $fields: arg_$fields); - checkGoogleCloudApigeeV1SecurityProfileV2( - response as api.GoogleCloudApigeeV1SecurityProfileV2); + final response = await res.delete(arg_name, $fields: arg_$fields); + checkGoogleCloudApigeeV1SharedFlowRevision( + response as api.GoogleCloudApigeeV1SharedFlowRevision); }); - unittest.test('method--list', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.securityProfilesV2; - final arg_parent = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; + final res = api.ApigeeApi(mock).organizations.sharedflows.revisions; + final arg_name = 'foo'; + final arg_format = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -35905,12 +36979,8 @@ void main() { } } unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), + queryMap['format']!.first, + unittest.equals(arg_format), ); unittest.expect( queryMap['fields']!.first, @@ -35920,29 +36990,25 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json - .encode(buildGoogleCloudApigeeV1ListSecurityProfilesV2Response()); + final resp = convert.json.encode(buildGoogleApiHttpBody()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_parent, - pageSize: arg_pageSize, - pageToken: arg_pageToken, - $fields: arg_$fields); - checkGoogleCloudApigeeV1ListSecurityProfilesV2Response( - response as api.GoogleCloudApigeeV1ListSecurityProfilesV2Response); + final response = + await res.get(arg_name, format: arg_format, $fields: arg_$fields); + checkGoogleApiHttpBody(response as api.GoogleApiHttpBody); }); - unittest.test('method--patch', () async { + unittest.test('method--updateSharedFlowRevision', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.securityProfilesV2; - final arg_request = buildGoogleCloudApigeeV1SecurityProfileV2(); + final res = api.ApigeeApi(mock).organizations.sharedflows.revisions; + final arg_request = buildGoogleApiHttpBody(); final arg_name = 'foo'; - final arg_updateMask = 'foo'; + final arg_validate = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudApigeeV1SecurityProfileV2.fromJson( + final obj = api.GoogleApiHttpBody.fromJson( json as core.Map); - checkGoogleCloudApigeeV1SecurityProfileV2(obj); + checkGoogleApiHttpBody(obj); final path = req.url.path; var pathOffset = 0; @@ -35976,8 +37042,8 @@ void main() { } } unittest.expect( - queryMap['updateMask']!.first, - unittest.equals(arg_updateMask), + queryMap['validate']!.first, + unittest.equals('$arg_validate'), ); unittest.expect( queryMap['fields']!.first, @@ -35988,30 +37054,25 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = - convert.json.encode(buildGoogleCloudApigeeV1SecurityProfileV2()); + convert.json.encode(buildGoogleCloudApigeeV1SharedFlowRevision()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch(arg_request, arg_name, - updateMask: arg_updateMask, $fields: arg_$fields); - checkGoogleCloudApigeeV1SecurityProfileV2( - response as api.GoogleCloudApigeeV1SecurityProfileV2); + final response = await res.updateSharedFlowRevision(arg_request, arg_name, + validate: arg_validate, $fields: arg_$fields); + checkGoogleCloudApigeeV1SharedFlowRevision( + response as api.GoogleCloudApigeeV1SharedFlowRevision); }); }); - unittest.group('resource-OrganizationsSharedflowsResource', () { - unittest.test('method--create', () async { + unittest.group( + 'resource-OrganizationsSharedflowsRevisionsDeploymentsResource', () { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.sharedflows; - final arg_request = buildGoogleApiHttpBody(); + final res = + api.ApigeeApi(mock).organizations.sharedflows.revisions.deployments; final arg_parent = 'foo'; - final arg_action = 'foo'; - final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleApiHttpBody.fromJson( - json as core.Map); - checkGoogleApiHttpBody(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -36043,14 +37104,6 @@ void main() { ); } } - unittest.expect( - queryMap['action']!.first, - unittest.equals(arg_action), - ); - unittest.expect( - queryMap['name']!.first, - unittest.equals(arg_name), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -36059,22 +37112,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildGoogleCloudApigeeV1SharedFlowRevision()); + final resp = convert.json + .encode(buildGoogleCloudApigeeV1ListDeploymentsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.create(arg_request, arg_parent, - action: arg_action, name: arg_name, $fields: arg_$fields); - checkGoogleCloudApigeeV1SharedFlowRevision( - response as api.GoogleCloudApigeeV1SharedFlowRevision); + final response = await res.list(arg_parent, $fields: arg_$fields); + checkGoogleCloudApigeeV1ListDeploymentsResponse( + response as api.GoogleCloudApigeeV1ListDeploymentsResponse); }); + }); - unittest.test('method--delete', () async { + unittest.group('resource-OrganizationsSitesApicategoriesResource', () { + unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.sharedflows; - final arg_name = 'foo'; + final res = api.ApigeeApi(mock).organizations.sites.apicategories; + final arg_request = buildGoogleCloudApigeeV1ApiCategory(); + final arg_parent = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleCloudApigeeV1ApiCategory.fromJson( + json as core.Map); + checkGoogleCloudApigeeV1ApiCategory(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -36114,17 +37173,19 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleCloudApigeeV1SharedFlow()); + final resp = + convert.json.encode(buildGoogleCloudApigeeV1ApiCategoryResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_name, $fields: arg_$fields); - checkGoogleCloudApigeeV1SharedFlow( - response as api.GoogleCloudApigeeV1SharedFlow); + final response = + await res.create(arg_request, arg_parent, $fields: arg_$fields); + checkGoogleCloudApigeeV1ApiCategoryResponse( + response as api.GoogleCloudApigeeV1ApiCategoryResponse); }); - unittest.test('method--get', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.sharedflows; + final res = api.ApigeeApi(mock).organizations.sites.apicategories; final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -36167,20 +37228,19 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleCloudApigeeV1SharedFlow()); + final resp = + convert.json.encode(buildGoogleCloudApigeeV1DeleteResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_name, $fields: arg_$fields); - checkGoogleCloudApigeeV1SharedFlow( - response as api.GoogleCloudApigeeV1SharedFlow); + final response = await res.delete(arg_name, $fields: arg_$fields); + checkGoogleCloudApigeeV1DeleteResponse( + response as api.GoogleCloudApigeeV1DeleteResponse); }); - unittest.test('method--list', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.sharedflows; - final arg_parent = 'foo'; - final arg_includeMetaData = true; - final arg_includeRevisions = true; + final res = api.ApigeeApi(mock).organizations.sites.apicategories; + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -36214,14 +37274,6 @@ void main() { ); } } - unittest.expect( - queryMap['includeMetaData']!.first, - unittest.equals('$arg_includeMetaData'), - ); - unittest.expect( - queryMap['includeRevisions']!.first, - unittest.equals('$arg_includeRevisions'), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -36230,23 +37282,18 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json - .encode(buildGoogleCloudApigeeV1ListSharedFlowsResponse()); + final resp = + convert.json.encode(buildGoogleCloudApigeeV1ApiCategoryResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_parent, - includeMetaData: arg_includeMetaData, - includeRevisions: arg_includeRevisions, - $fields: arg_$fields); - checkGoogleCloudApigeeV1ListSharedFlowsResponse( - response as api.GoogleCloudApigeeV1ListSharedFlowsResponse); + final response = await res.get(arg_name, $fields: arg_$fields); + checkGoogleCloudApigeeV1ApiCategoryResponse( + response as api.GoogleCloudApigeeV1ApiCategoryResponse); }); - }); - unittest.group('resource-OrganizationsSharedflowsDeploymentsResource', () { unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.sharedflows.deployments; + final res = api.ApigeeApi(mock).organizations.sites.apicategories; final arg_parent = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -36290,22 +37337,25 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = convert.json - .encode(buildGoogleCloudApigeeV1ListDeploymentsResponse()); + .encode(buildGoogleCloudApigeeV1ListApiCategoriesResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.list(arg_parent, $fields: arg_$fields); - checkGoogleCloudApigeeV1ListDeploymentsResponse( - response as api.GoogleCloudApigeeV1ListDeploymentsResponse); + checkGoogleCloudApigeeV1ListApiCategoriesResponse( + response as api.GoogleCloudApigeeV1ListApiCategoriesResponse); }); - }); - unittest.group('resource-OrganizationsSharedflowsRevisionsResource', () { - unittest.test('method--delete', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.sharedflows.revisions; + final res = api.ApigeeApi(mock).organizations.sites.apicategories; + final arg_request = buildGoogleCloudApigeeV1ApiCategory(); final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleCloudApigeeV1ApiCategory.fromJson( + json as core.Map); + checkGoogleCloudApigeeV1ApiCategory(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -36346,21 +37396,28 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = - convert.json.encode(buildGoogleCloudApigeeV1SharedFlowRevision()); + convert.json.encode(buildGoogleCloudApigeeV1ApiCategoryResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_name, $fields: arg_$fields); - checkGoogleCloudApigeeV1SharedFlowRevision( - response as api.GoogleCloudApigeeV1SharedFlowRevision); + final response = + await res.patch(arg_request, arg_name, $fields: arg_$fields); + checkGoogleCloudApigeeV1ApiCategoryResponse( + response as api.GoogleCloudApigeeV1ApiCategoryResponse); }); + }); - unittest.test('method--get', () async { + unittest.group('resource-OrganizationsSitesApidocsResource', () { + unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.sharedflows.revisions; - final arg_name = 'foo'; - final arg_format = 'foo'; + final res = api.ApigeeApi(mock).organizations.sites.apidocs; + final arg_request = buildGoogleCloudApigeeV1ApiDoc(); + final arg_parent = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleCloudApigeeV1ApiDoc.fromJson( + json as core.Map); + checkGoogleCloudApigeeV1ApiDoc(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -36392,10 +37449,6 @@ void main() { ); } } - unittest.expect( - queryMap['format']!.first, - unittest.equals(arg_format), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -36404,26 +37457,22 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleApiHttpBody()); + final resp = + convert.json.encode(buildGoogleCloudApigeeV1ApiDocResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = - await res.get(arg_name, format: arg_format, $fields: arg_$fields); - checkGoogleApiHttpBody(response as api.GoogleApiHttpBody); + await res.create(arg_request, arg_parent, $fields: arg_$fields); + checkGoogleCloudApigeeV1ApiDocResponse( + response as api.GoogleCloudApigeeV1ApiDocResponse); }); - unittest.test('method--updateSharedFlowRevision', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.sharedflows.revisions; - final arg_request = buildGoogleApiHttpBody(); + final res = api.ApigeeApi(mock).organizations.sites.apidocs; final arg_name = 'foo'; - final arg_validate = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleApiHttpBody.fromJson( - json as core.Map); - checkGoogleApiHttpBody(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -36455,10 +37504,6 @@ void main() { ); } } - unittest.expect( - queryMap['validate']!.first, - unittest.equals('$arg_validate'), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -36468,23 +37513,18 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = - convert.json.encode(buildGoogleCloudApigeeV1SharedFlowRevision()); + convert.json.encode(buildGoogleCloudApigeeV1DeleteResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.updateSharedFlowRevision(arg_request, arg_name, - validate: arg_validate, $fields: arg_$fields); - checkGoogleCloudApigeeV1SharedFlowRevision( - response as api.GoogleCloudApigeeV1SharedFlowRevision); + final response = await res.delete(arg_name, $fields: arg_$fields); + checkGoogleCloudApigeeV1DeleteResponse( + response as api.GoogleCloudApigeeV1DeleteResponse); }); - }); - unittest.group( - 'resource-OrganizationsSharedflowsRevisionsDeploymentsResource', () { - unittest.test('method--list', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = - api.ApigeeApi(mock).organizations.sharedflows.revisions.deployments; - final arg_parent = 'foo'; + final res = api.ApigeeApi(mock).organizations.sites.apidocs; + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -36526,28 +37566,21 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json - .encode(buildGoogleCloudApigeeV1ListDeploymentsResponse()); + final resp = + convert.json.encode(buildGoogleCloudApigeeV1ApiDocResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_parent, $fields: arg_$fields); - checkGoogleCloudApigeeV1ListDeploymentsResponse( - response as api.GoogleCloudApigeeV1ListDeploymentsResponse); + final response = await res.get(arg_name, $fields: arg_$fields); + checkGoogleCloudApigeeV1ApiDocResponse( + response as api.GoogleCloudApigeeV1ApiDocResponse); }); - }); - unittest.group('resource-OrganizationsSitesApicategoriesResource', () { - unittest.test('method--create', () async { + unittest.test('method--getDocumentation', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.sites.apicategories; - final arg_request = buildGoogleCloudApigeeV1ApiCategory(); - final arg_parent = 'foo'; + final res = api.ApigeeApi(mock).organizations.sites.apidocs; + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudApigeeV1ApiCategory.fromJson( - json as core.Map); - checkGoogleCloudApigeeV1ApiCategory(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -36587,20 +37620,22 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildGoogleCloudApigeeV1ApiCategoryResponse()); + final resp = convert.json + .encode(buildGoogleCloudApigeeV1ApiDocDocumentationResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = - await res.create(arg_request, arg_parent, $fields: arg_$fields); - checkGoogleCloudApigeeV1ApiCategoryResponse( - response as api.GoogleCloudApigeeV1ApiCategoryResponse); + await res.getDocumentation(arg_name, $fields: arg_$fields); + checkGoogleCloudApigeeV1ApiDocDocumentationResponse( + response as api.GoogleCloudApigeeV1ApiDocDocumentationResponse); }); - unittest.test('method--delete', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.sites.apicategories; - final arg_name = 'foo'; + final res = api.ApigeeApi(mock).organizations.sites.apidocs; + final arg_parent = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -36634,6 +37669,14 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -36643,20 +37686,28 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = - convert.json.encode(buildGoogleCloudApigeeV1DeleteResponse()); + convert.json.encode(buildGoogleCloudApigeeV1ListApiDocsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_name, $fields: arg_$fields); - checkGoogleCloudApigeeV1DeleteResponse( - response as api.GoogleCloudApigeeV1DeleteResponse); + final response = await res.list(arg_parent, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkGoogleCloudApigeeV1ListApiDocsResponse( + response as api.GoogleCloudApigeeV1ListApiDocsResponse); }); - unittest.test('method--get', () async { + unittest.test('method--update', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.sites.apicategories; + final res = api.ApigeeApi(mock).organizations.sites.apidocs; + final arg_request = buildGoogleCloudApigeeV1ApiDoc(); final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleCloudApigeeV1ApiDoc.fromJson( + json as core.Map); + checkGoogleCloudApigeeV1ApiDoc(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -36697,20 +37748,26 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = - convert.json.encode(buildGoogleCloudApigeeV1ApiCategoryResponse()); + convert.json.encode(buildGoogleCloudApigeeV1ApiDocResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_name, $fields: arg_$fields); - checkGoogleCloudApigeeV1ApiCategoryResponse( - response as api.GoogleCloudApigeeV1ApiCategoryResponse); + final response = + await res.update(arg_request, arg_name, $fields: arg_$fields); + checkGoogleCloudApigeeV1ApiDocResponse( + response as api.GoogleCloudApigeeV1ApiDocResponse); }); - unittest.test('method--list', () async { + unittest.test('method--updateDocumentation', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.sites.apicategories; - final arg_parent = 'foo'; + final res = api.ApigeeApi(mock).organizations.sites.apidocs; + final arg_request = buildGoogleCloudApigeeV1ApiDocDocumentation(); + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleCloudApigeeV1ApiDocDocumentation.fromJson( + json as core.Map); + checkGoogleCloudApigeeV1ApiDocDocumentation(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -36751,24 +37808,28 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = convert.json - .encode(buildGoogleCloudApigeeV1ListApiCategoriesResponse()); + .encode(buildGoogleCloudApigeeV1ApiDocDocumentationResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_parent, $fields: arg_$fields); - checkGoogleCloudApigeeV1ListApiCategoriesResponse( - response as api.GoogleCloudApigeeV1ListApiCategoriesResponse); + final response = await res.updateDocumentation(arg_request, arg_name, + $fields: arg_$fields); + checkGoogleCloudApigeeV1ApiDocDocumentationResponse( + response as api.GoogleCloudApigeeV1ApiDocDocumentationResponse); }); + }); - unittest.test('method--patch', () async { + unittest.group('resource-OrganizationsSpacesResource', () { + unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.sites.apicategories; - final arg_request = buildGoogleCloudApigeeV1ApiCategory(); - final arg_name = 'foo'; + final res = api.ApigeeApi(mock).organizations.spaces; + final arg_request = buildGoogleCloudApigeeV1Space(); + final arg_parent = 'foo'; + final arg_spaceId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudApigeeV1ApiCategory.fromJson( + final obj = api.GoogleCloudApigeeV1Space.fromJson( json as core.Map); - checkGoogleCloudApigeeV1ApiCategory(obj); + checkGoogleCloudApigeeV1Space(obj); final path = req.url.path; var pathOffset = 0; @@ -36801,6 +37862,10 @@ void main() { ); } } + unittest.expect( + queryMap['spaceId']!.first, + unittest.equals(arg_spaceId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -36809,29 +37874,20 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildGoogleCloudApigeeV1ApiCategoryResponse()); + final resp = convert.json.encode(buildGoogleCloudApigeeV1Space()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.patch(arg_request, arg_name, $fields: arg_$fields); - checkGoogleCloudApigeeV1ApiCategoryResponse( - response as api.GoogleCloudApigeeV1ApiCategoryResponse); + final response = await res.create(arg_request, arg_parent, + spaceId: arg_spaceId, $fields: arg_$fields); + checkGoogleCloudApigeeV1Space(response as api.GoogleCloudApigeeV1Space); }); - }); - unittest.group('resource-OrganizationsSitesApidocsResource', () { - unittest.test('method--create', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.sites.apidocs; - final arg_request = buildGoogleCloudApigeeV1ApiDoc(); - final arg_parent = 'foo'; + final res = api.ApigeeApi(mock).organizations.spaces; + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudApigeeV1ApiDoc.fromJson( - json as core.Map); - checkGoogleCloudApigeeV1ApiDoc(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -36871,19 +37927,16 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildGoogleCloudApigeeV1ApiDocResponse()); + final resp = convert.json.encode(buildGoogleProtobufEmpty()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.create(arg_request, arg_parent, $fields: arg_$fields); - checkGoogleCloudApigeeV1ApiDocResponse( - response as api.GoogleCloudApigeeV1ApiDocResponse); + final response = await res.delete(arg_name, $fields: arg_$fields); + checkGoogleProtobufEmpty(response as api.GoogleProtobufEmpty); }); - unittest.test('method--delete', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.sites.apidocs; + final res = api.ApigeeApi(mock).organizations.spaces; final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -36926,19 +37979,18 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildGoogleCloudApigeeV1DeleteResponse()); + final resp = convert.json.encode(buildGoogleCloudApigeeV1Space()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_name, $fields: arg_$fields); - checkGoogleCloudApigeeV1DeleteResponse( - response as api.GoogleCloudApigeeV1DeleteResponse); + final response = await res.get(arg_name, $fields: arg_$fields); + checkGoogleCloudApigeeV1Space(response as api.GoogleCloudApigeeV1Space); }); - unittest.test('method--get', () async { + unittest.test('method--getIamPolicy', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.sites.apidocs; - final arg_name = 'foo'; + final res = api.ApigeeApi(mock).organizations.spaces; + final arg_resource = 'foo'; + final arg_options_requestedPolicyVersion = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -36972,6 +38024,10 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['options.requestedPolicyVersion']!.first), + unittest.equals(arg_options_requestedPolicyVersion), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -36980,19 +38036,21 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildGoogleCloudApigeeV1ApiDocResponse()); + final resp = convert.json.encode(buildGoogleIamV1Policy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_name, $fields: arg_$fields); - checkGoogleCloudApigeeV1ApiDocResponse( - response as api.GoogleCloudApigeeV1ApiDocResponse); + final response = await res.getIamPolicy(arg_resource, + options_requestedPolicyVersion: arg_options_requestedPolicyVersion, + $fields: arg_$fields); + checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); }); - unittest.test('method--getDocumentation', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.sites.apidocs; - final arg_name = 'foo'; + final res = api.ApigeeApi(mock).organizations.spaces; + final arg_parent = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -37026,6 +38084,14 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -37034,24 +38100,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json - .encode(buildGoogleCloudApigeeV1ApiDocDocumentationResponse()); + final resp = + convert.json.encode(buildGoogleCloudApigeeV1ListSpacesResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.getDocumentation(arg_name, $fields: arg_$fields); - checkGoogleCloudApigeeV1ApiDocDocumentationResponse( - response as api.GoogleCloudApigeeV1ApiDocDocumentationResponse); + final response = await res.list(arg_parent, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkGoogleCloudApigeeV1ListSpacesResponse( + response as api.GoogleCloudApigeeV1ListSpacesResponse); }); - unittest.test('method--list', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.sites.apidocs; - final arg_parent = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; + final res = api.ApigeeApi(mock).organizations.spaces; + final arg_request = buildGoogleCloudApigeeV1Space(); + final arg_name = 'foo'; + final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleCloudApigeeV1Space.fromJson( + json as core.Map); + checkGoogleCloudApigeeV1Space(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -37084,12 +38156,8 @@ void main() { } } unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), ); unittest.expect( queryMap['fields']!.first, @@ -37099,28 +38167,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildGoogleCloudApigeeV1ListApiDocsResponse()); + final resp = convert.json.encode(buildGoogleCloudApigeeV1Space()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_parent, - pageSize: arg_pageSize, - pageToken: arg_pageToken, - $fields: arg_$fields); - checkGoogleCloudApigeeV1ListApiDocsResponse( - response as api.GoogleCloudApigeeV1ListApiDocsResponse); + final response = await res.patch(arg_request, arg_name, + updateMask: arg_updateMask, $fields: arg_$fields); + checkGoogleCloudApigeeV1Space(response as api.GoogleCloudApigeeV1Space); }); - unittest.test('method--update', () async { + unittest.test('method--setIamPolicy', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.sites.apidocs; - final arg_request = buildGoogleCloudApigeeV1ApiDoc(); - final arg_name = 'foo'; + final res = api.ApigeeApi(mock).organizations.spaces; + final arg_request = buildGoogleIamV1SetIamPolicyRequest(); + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudApigeeV1ApiDoc.fromJson( + final obj = api.GoogleIamV1SetIamPolicyRequest.fromJson( json as core.Map); - checkGoogleCloudApigeeV1ApiDoc(obj); + checkGoogleIamV1SetIamPolicyRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -37161,26 +38225,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildGoogleCloudApigeeV1ApiDocResponse()); + final resp = convert.json.encode(buildGoogleIamV1Policy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.update(arg_request, arg_name, $fields: arg_$fields); - checkGoogleCloudApigeeV1ApiDocResponse( - response as api.GoogleCloudApigeeV1ApiDocResponse); + final response = await res.setIamPolicy(arg_request, arg_resource, + $fields: arg_$fields); + checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); }); - unittest.test('method--updateDocumentation', () async { + unittest.test('method--testIamPermissions', () async { final mock = HttpServerMock(); - final res = api.ApigeeApi(mock).organizations.sites.apidocs; - final arg_request = buildGoogleCloudApigeeV1ApiDocDocumentation(); - final arg_name = 'foo'; + final res = api.ApigeeApi(mock).organizations.spaces; + final arg_request = buildGoogleIamV1TestIamPermissionsRequest(); + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudApigeeV1ApiDocDocumentation.fromJson( + final obj = api.GoogleIamV1TestIamPermissionsRequest.fromJson( json as core.Map); - checkGoogleCloudApigeeV1ApiDocDocumentation(obj); + checkGoogleIamV1TestIamPermissionsRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -37221,14 +38283,14 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json - .encode(buildGoogleCloudApigeeV1ApiDocDocumentationResponse()); + final resp = + convert.json.encode(buildGoogleIamV1TestIamPermissionsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.updateDocumentation(arg_request, arg_name, + final response = await res.testIamPermissions(arg_request, arg_resource, $fields: arg_$fields); - checkGoogleCloudApigeeV1ApiDocDocumentationResponse( - response as api.GoogleCloudApigeeV1ApiDocDocumentationResponse); + checkGoogleIamV1TestIamPermissionsResponse( + response as api.GoogleIamV1TestIamPermissionsResponse); }); }); diff --git a/generated/googleapis/test/appengine/v1_test.dart b/generated/googleapis/test/appengine/v1_test.dart index 499fc7d9c..0e9926cb4 100644 --- a/generated/googleapis/test/appengine/v1_test.dart +++ b/generated/googleapis/test/appengine/v1_test.dart @@ -167,6 +167,7 @@ api.Application buildApplication() { o.name = 'foo'; o.serviceAccount = 'foo'; o.servingStatus = 'foo'; + o.sslPolicy = 'foo'; } buildCounterApplication--; return o; @@ -227,6 +228,10 @@ void checkApplication(api.Application o) { o.servingStatus!, unittest.equals('foo'), ); + unittest.expect( + o.sslPolicy!, + unittest.equals('foo'), + ); } buildCounterApplication--; } diff --git a/generated/googleapis/test/authorizedbuyersmarketplace/v1_test.dart b/generated/googleapis/test/authorizedbuyersmarketplace/v1_test.dart index 48efd8398..dda977288 100644 --- a/generated/googleapis/test/authorizedbuyersmarketplace/v1_test.dart +++ b/generated/googleapis/test/authorizedbuyersmarketplace/v1_test.dart @@ -220,6 +220,7 @@ api.AuctionPackage buildAuctionPackage() { if (buildCounterAuctionPackage < 3) { o.createTime = 'foo'; o.creator = 'foo'; + o.dealOwnerSeatId = 'foo'; o.description = 'foo'; o.displayName = 'foo'; o.eligibleSeatIds = buildUnnamed0(); @@ -244,6 +245,10 @@ void checkAuctionPackage(api.AuctionPackage o) { o.creator!, unittest.equals('foo'), ); + unittest.expect( + o.dealOwnerSeatId!, + unittest.equals('foo'), + ); unittest.expect( o.description!, unittest.equals('foo'), @@ -663,6 +668,7 @@ api.Deal buildDeal() { if (buildCounterDeal < 3) { o.billedBuyer = 'foo'; o.buyer = 'foo'; + o.buyerPermissionType = 'foo'; o.client = 'foo'; o.createTime = 'foo'; o.creativeRequirements = buildCreativeRequirements(); @@ -700,6 +706,10 @@ void checkDeal(api.Deal o) { o.buyer!, unittest.equals('foo'), ); + unittest.expect( + o.buyerPermissionType!, + unittest.equals('foo'), + ); unittest.expect( o.client!, unittest.equals('foo'), diff --git a/generated/googleapis/test/backupdr/v1_test.dart b/generated/googleapis/test/backupdr/v1_test.dart index f906e8c55..fda9dd8dc 100644 --- a/generated/googleapis/test/backupdr/v1_test.dart +++ b/generated/googleapis/test/backupdr/v1_test.dart @@ -685,6 +685,77 @@ void checkBackupApplianceLockInfo(api.BackupApplianceLockInfo o) { buildCounterBackupApplianceLockInfo--; } +core.List buildUnnamed8() => [ + buildBackupLocation(), + buildBackupLocation(), + ]; + +void checkUnnamed8(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkBackupLocation(o[0]); + checkBackupLocation(o[1]); +} + +core.int buildCounterBackupConfigDetails = 0; +api.BackupConfigDetails buildBackupConfigDetails() { + final o = api.BackupConfigDetails(); + buildCounterBackupConfigDetails++; + if (buildCounterBackupConfigDetails < 3) { + o.applicableResource = 'foo'; + o.backupConfigSource = 'foo'; + o.backupConfigSourceDisplayName = 'foo'; + o.backupDrPlanConfig = buildBackupDrPlanConfig(); + o.backupDrTemplateConfig = buildBackupDrTemplateConfig(); + o.backupLocations = buildUnnamed8(); + o.backupVault = 'foo'; + o.latestSuccessfulBackupTime = 'foo'; + o.pitrSettings = buildPitrSettings(); + o.state = 'foo'; + o.type = 'foo'; + } + buildCounterBackupConfigDetails--; + return o; +} + +void checkBackupConfigDetails(api.BackupConfigDetails o) { + buildCounterBackupConfigDetails++; + if (buildCounterBackupConfigDetails < 3) { + unittest.expect( + o.applicableResource!, + unittest.equals('foo'), + ); + unittest.expect( + o.backupConfigSource!, + unittest.equals('foo'), + ); + unittest.expect( + o.backupConfigSourceDisplayName!, + unittest.equals('foo'), + ); + checkBackupDrPlanConfig(o.backupDrPlanConfig!); + checkBackupDrTemplateConfig(o.backupDrTemplateConfig!); + checkUnnamed8(o.backupLocations!); + unittest.expect( + o.backupVault!, + unittest.equals('foo'), + ); + unittest.expect( + o.latestSuccessfulBackupTime!, + unittest.equals('foo'), + ); + checkPitrSettings(o.pitrSettings!); + unittest.expect( + o.state!, + unittest.equals('foo'), + ); + unittest.expect( + o.type!, + unittest.equals('foo'), + ); + } + buildCounterBackupConfigDetails--; +} + core.int buildCounterBackupConfigInfo = 0; api.BackupConfigInfo buildBackupConfigInfo() { final o = api.BackupConfigInfo(); @@ -718,6 +789,117 @@ void checkBackupConfigInfo(api.BackupConfigInfo o) { buildCounterBackupConfigInfo--; } +core.List buildUnnamed9() => [ + buildBackupDrPlanRule(), + buildBackupDrPlanRule(), + ]; + +void checkUnnamed9(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkBackupDrPlanRule(o[0]); + checkBackupDrPlanRule(o[1]); +} + +core.int buildCounterBackupDrPlanConfig = 0; +api.BackupDrPlanConfig buildBackupDrPlanConfig() { + final o = api.BackupDrPlanConfig(); + buildCounterBackupDrPlanConfig++; + if (buildCounterBackupDrPlanConfig < 3) { + o.backupDrPlanRules = buildUnnamed9(); + } + buildCounterBackupDrPlanConfig--; + return o; +} + +void checkBackupDrPlanConfig(api.BackupDrPlanConfig o) { + buildCounterBackupDrPlanConfig++; + if (buildCounterBackupDrPlanConfig < 3) { + checkUnnamed9(o.backupDrPlanRules!); + } + buildCounterBackupDrPlanConfig--; +} + +core.int buildCounterBackupDrPlanRule = 0; +api.BackupDrPlanRule buildBackupDrPlanRule() { + final o = api.BackupDrPlanRule(); + buildCounterBackupDrPlanRule++; + if (buildCounterBackupDrPlanRule < 3) { + o.lastSuccessfulBackupTime = 'foo'; + o.ruleId = 'foo'; + } + buildCounterBackupDrPlanRule--; + return o; +} + +void checkBackupDrPlanRule(api.BackupDrPlanRule o) { + buildCounterBackupDrPlanRule++; + if (buildCounterBackupDrPlanRule < 3) { + unittest.expect( + o.lastSuccessfulBackupTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.ruleId!, + unittest.equals('foo'), + ); + } + buildCounterBackupDrPlanRule--; +} + +core.int buildCounterBackupDrTemplateConfig = 0; +api.BackupDrTemplateConfig buildBackupDrTemplateConfig() { + final o = api.BackupDrTemplateConfig(); + buildCounterBackupDrTemplateConfig++; + if (buildCounterBackupDrTemplateConfig < 3) { + o.firstPartyManagementUri = 'foo'; + o.thirdPartyManagementUri = 'foo'; + } + buildCounterBackupDrTemplateConfig--; + return o; +} + +void checkBackupDrTemplateConfig(api.BackupDrTemplateConfig o) { + buildCounterBackupDrTemplateConfig++; + if (buildCounterBackupDrTemplateConfig < 3) { + unittest.expect( + o.firstPartyManagementUri!, + unittest.equals('foo'), + ); + unittest.expect( + o.thirdPartyManagementUri!, + unittest.equals('foo'), + ); + } + buildCounterBackupDrTemplateConfig--; +} + +core.int buildCounterBackupLocation = 0; +api.BackupLocation buildBackupLocation() { + final o = api.BackupLocation(); + buildCounterBackupLocation++; + if (buildCounterBackupLocation < 3) { + o.locationId = 'foo'; + o.type = 'foo'; + } + buildCounterBackupLocation--; + return o; +} + +void checkBackupLocation(api.BackupLocation o) { + buildCounterBackupLocation++; + if (buildCounterBackupLocation < 3) { + unittest.expect( + o.locationId!, + unittest.equals('foo'), + ); + unittest.expect( + o.type!, + unittest.equals('foo'), + ); + } + buildCounterBackupLocation--; +} + core.int buildCounterBackupLock = 0; api.BackupLock buildBackupLock() { final o = api.BackupLock(); @@ -744,23 +926,23 @@ void checkBackupLock(api.BackupLock o) { buildCounterBackupLock--; } -core.List buildUnnamed8() => [ +core.List buildUnnamed10() => [ buildBackupRule(), buildBackupRule(), ]; -void checkUnnamed8(core.List o) { +void checkUnnamed10(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackupRule(o[0]); checkBackupRule(o[1]); } -core.Map buildUnnamed9() => { +core.Map buildUnnamed11() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed9(core.Map o) { +void checkUnnamed11(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -777,13 +959,13 @@ api.BackupPlan buildBackupPlan() { final o = api.BackupPlan(); buildCounterBackupPlan++; if (buildCounterBackupPlan < 3) { - o.backupRules = buildUnnamed8(); + o.backupRules = buildUnnamed10(); o.backupVault = 'foo'; o.backupVaultServiceAccount = 'foo'; o.createTime = 'foo'; o.description = 'foo'; o.etag = 'foo'; - o.labels = buildUnnamed9(); + o.labels = buildUnnamed11(); o.name = 'foo'; o.resourceType = 'foo'; o.state = 'foo'; @@ -796,7 +978,7 @@ api.BackupPlan buildBackupPlan() { void checkBackupPlan(api.BackupPlan o) { buildCounterBackupPlan++; if (buildCounterBackupPlan < 3) { - checkUnnamed8(o.backupRules!); + checkUnnamed10(o.backupRules!); unittest.expect( o.backupVault!, unittest.equals('foo'), @@ -817,7 +999,7 @@ void checkBackupPlan(api.BackupPlan o) { o.etag!, unittest.equals('foo'), ); - checkUnnamed9(o.labels!); + checkUnnamed11(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -838,12 +1020,12 @@ void checkBackupPlan(api.BackupPlan o) { buildCounterBackupPlan--; } -core.List buildUnnamed10() => [ +core.List buildUnnamed12() => [ buildRuleConfigInfo(), buildRuleConfigInfo(), ]; -void checkUnnamed10(core.List o) { +void checkUnnamed12(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRuleConfigInfo(o[0]); checkRuleConfigInfo(o[1]); @@ -860,7 +1042,7 @@ api.BackupPlanAssociation buildBackupPlanAssociation() { o.name = 'foo'; o.resource = 'foo'; o.resourceType = 'foo'; - o.rulesConfigInfo = buildUnnamed10(); + o.rulesConfigInfo = buildUnnamed12(); o.state = 'foo'; o.updateTime = 'foo'; } @@ -895,7 +1077,7 @@ void checkBackupPlanAssociation(api.BackupPlanAssociation o) { o.resourceType!, unittest.equals('foo'), ); - checkUnnamed10(o.rulesConfigInfo!); + checkUnnamed12(o.rulesConfigInfo!); unittest.expect( o.state!, unittest.equals('foo'), @@ -937,12 +1119,12 @@ void checkBackupRule(api.BackupRule o) { buildCounterBackupRule--; } -core.Map buildUnnamed11() => { +core.Map buildUnnamed13() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed11(core.Map o) { +void checkUnnamed13(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -954,12 +1136,12 @@ void checkUnnamed11(core.Map o) { ); } -core.Map buildUnnamed12() => { +core.Map buildUnnamed14() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed12(core.Map o) { +void checkUnnamed14(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -977,7 +1159,7 @@ api.BackupVault buildBackupVault() { buildCounterBackupVault++; if (buildCounterBackupVault < 3) { o.accessRestriction = 'foo'; - o.annotations = buildUnnamed11(); + o.annotations = buildUnnamed13(); o.backupCount = 'foo'; o.backupMinimumEnforcedRetentionDuration = 'foo'; o.createTime = 'foo'; @@ -985,7 +1167,7 @@ api.BackupVault buildBackupVault() { o.description = 'foo'; o.effectiveTime = 'foo'; o.etag = 'foo'; - o.labels = buildUnnamed12(); + o.labels = buildUnnamed14(); o.name = 'foo'; o.serviceAccount = 'foo'; o.state = 'foo'; @@ -1004,7 +1186,7 @@ void checkBackupVault(api.BackupVault o) { o.accessRestriction!, unittest.equals('foo'), ); - checkUnnamed11(o.annotations!); + checkUnnamed13(o.annotations!); unittest.expect( o.backupCount!, unittest.equals('foo'), @@ -1030,7 +1212,7 @@ void checkBackupVault(api.BackupVault o) { o.etag!, unittest.equals('foo'), ); - checkUnnamed12(o.labels!); + checkUnnamed14(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -1086,12 +1268,12 @@ void checkBackupWindow(api.BackupWindow o) { buildCounterBackupWindow--; } -core.List buildUnnamed13() => [ +core.List buildUnnamed15() => [ 'foo', 'foo', ]; -void checkUnnamed13(core.List o) { +void checkUnnamed15(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1109,7 +1291,7 @@ api.Binding buildBinding() { buildCounterBinding++; if (buildCounterBinding < 3) { o.condition = buildExpr(); - o.members = buildUnnamed13(); + o.members = buildUnnamed15(); o.role = 'foo'; } buildCounterBinding--; @@ -1120,7 +1302,7 @@ void checkBinding(api.Binding o) { buildCounterBinding++; if (buildCounterBinding < 3) { checkExpr(o.condition!); - checkUnnamed13(o.members!); + checkUnnamed15(o.members!); unittest.expect( o.role!, unittest.equals('foo'), @@ -1144,34 +1326,34 @@ void checkCancelOperationRequest(api.CancelOperationRequest o) { buildCounterCancelOperationRequest--; } -core.List buildUnnamed14() => [ +core.List buildUnnamed16() => [ buildAttachedDisk(), buildAttachedDisk(), ]; -void checkUnnamed14(core.List o) { +void checkUnnamed16(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAttachedDisk(o[0]); checkAttachedDisk(o[1]); } -core.List buildUnnamed15() => [ +core.List buildUnnamed17() => [ buildAcceleratorConfig(), buildAcceleratorConfig(), ]; -void checkUnnamed15(core.List o) { +void checkUnnamed17(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAcceleratorConfig(o[0]); checkAcceleratorConfig(o[1]); } -core.Map buildUnnamed16() => { +core.Map buildUnnamed18() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed16(core.Map o) { +void checkUnnamed18(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1183,23 +1365,23 @@ void checkUnnamed16(core.Map o) { ); } -core.List buildUnnamed17() => [ +core.List buildUnnamed19() => [ buildNetworkInterface(), buildNetworkInterface(), ]; -void checkUnnamed17(core.List o) { +void checkUnnamed19(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkInterface(o[0]); checkNetworkInterface(o[1]); } -core.List buildUnnamed18() => [ +core.List buildUnnamed20() => [ buildServiceAccount(), buildServiceAccount(), ]; -void checkUnnamed18(core.List o) { +void checkUnnamed20(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceAccount(o[0]); checkServiceAccount(o[1]); @@ -1212,16 +1394,16 @@ api.ComputeInstanceBackupProperties buildComputeInstanceBackupProperties() { if (buildCounterComputeInstanceBackupProperties < 3) { o.canIpForward = true; o.description = 'foo'; - o.disk = buildUnnamed14(); - o.guestAccelerator = buildUnnamed15(); + o.disk = buildUnnamed16(); + o.guestAccelerator = buildUnnamed17(); o.keyRevocationActionType = 'foo'; - o.labels = buildUnnamed16(); + o.labels = buildUnnamed18(); o.machineType = 'foo'; o.metadata = buildMetadata(); o.minCpuPlatform = 'foo'; - o.networkInterface = buildUnnamed17(); + o.networkInterface = buildUnnamed19(); o.scheduling = buildScheduling(); - o.serviceAccount = buildUnnamed18(); + o.serviceAccount = buildUnnamed20(); o.sourceInstance = 'foo'; o.tags = buildTags(); } @@ -1238,13 +1420,13 @@ void checkComputeInstanceBackupProperties( o.description!, unittest.equals('foo'), ); - checkUnnamed14(o.disk!); - checkUnnamed15(o.guestAccelerator!); + checkUnnamed16(o.disk!); + checkUnnamed17(o.guestAccelerator!); unittest.expect( o.keyRevocationActionType!, unittest.equals('foo'), ); - checkUnnamed16(o.labels!); + checkUnnamed18(o.labels!); unittest.expect( o.machineType!, unittest.equals('foo'), @@ -1254,9 +1436,9 @@ void checkComputeInstanceBackupProperties( o.minCpuPlatform!, unittest.equals('foo'), ); - checkUnnamed17(o.networkInterface!); + checkUnnamed19(o.networkInterface!); checkScheduling(o.scheduling!); - checkUnnamed18(o.serviceAccount!); + checkUnnamed20(o.serviceAccount!); unittest.expect( o.sourceInstance!, unittest.equals('foo'), @@ -1310,34 +1492,34 @@ void checkComputeInstanceDataSourceProperties( buildCounterComputeInstanceDataSourceProperties--; } -core.List buildUnnamed19() => [ +core.List buildUnnamed21() => [ buildAttachedDisk(), buildAttachedDisk(), ]; -void checkUnnamed19(core.List o) { +void checkUnnamed21(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAttachedDisk(o[0]); checkAttachedDisk(o[1]); } -core.List buildUnnamed20() => [ +core.List buildUnnamed22() => [ buildAcceleratorConfig(), buildAcceleratorConfig(), ]; -void checkUnnamed20(core.List o) { +void checkUnnamed22(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAcceleratorConfig(o[0]); checkAcceleratorConfig(o[1]); } -core.Map buildUnnamed21() => { +core.Map buildUnnamed23() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed21(core.Map o) { +void checkUnnamed23(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1349,23 +1531,23 @@ void checkUnnamed21(core.Map o) { ); } -core.List buildUnnamed22() => [ +core.List buildUnnamed24() => [ buildNetworkInterface(), buildNetworkInterface(), ]; -void checkUnnamed22(core.List o) { +void checkUnnamed24(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkInterface(o[0]); checkNetworkInterface(o[1]); } -core.List buildUnnamed23() => [ +core.List buildUnnamed25() => [ 'foo', 'foo', ]; -void checkUnnamed23(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1377,12 +1559,12 @@ void checkUnnamed23(core.List o) { ); } -core.List buildUnnamed24() => [ +core.List buildUnnamed26() => [ buildServiceAccount(), buildServiceAccount(), ]; -void checkUnnamed24(core.List o) { +void checkUnnamed26(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceAccount(o[0]); checkServiceAccount(o[1]); @@ -1398,25 +1580,25 @@ api.ComputeInstanceRestoreProperties buildComputeInstanceRestoreProperties() { o.confidentialInstanceConfig = buildConfidentialInstanceConfig(); o.deletionProtection = true; o.description = 'foo'; - o.disks = buildUnnamed19(); + o.disks = buildUnnamed21(); o.displayDevice = buildDisplayDevice(); - o.guestAccelerators = buildUnnamed20(); + o.guestAccelerators = buildUnnamed22(); o.hostname = 'foo'; o.instanceEncryptionKey = buildCustomerEncryptionKey(); o.keyRevocationActionType = 'foo'; - o.labels = buildUnnamed21(); + o.labels = buildUnnamed23(); o.machineType = 'foo'; o.metadata = buildMetadata(); o.minCpuPlatform = 'foo'; o.name = 'foo'; - o.networkInterfaces = buildUnnamed22(); + o.networkInterfaces = buildUnnamed24(); o.networkPerformanceConfig = buildNetworkPerformanceConfig(); o.params = buildInstanceParams(); o.privateIpv6GoogleAccess = 'foo'; o.reservationAffinity = buildAllocationAffinity(); - o.resourcePolicies = buildUnnamed23(); + o.resourcePolicies = buildUnnamed25(); o.scheduling = buildScheduling(); - o.serviceAccounts = buildUnnamed24(); + o.serviceAccounts = buildUnnamed26(); o.tags = buildTags(); } buildCounterComputeInstanceRestoreProperties--; @@ -1435,9 +1617,9 @@ void checkComputeInstanceRestoreProperties( o.description!, unittest.equals('foo'), ); - checkUnnamed19(o.disks!); + checkUnnamed21(o.disks!); checkDisplayDevice(o.displayDevice!); - checkUnnamed20(o.guestAccelerators!); + checkUnnamed22(o.guestAccelerators!); unittest.expect( o.hostname!, unittest.equals('foo'), @@ -1447,7 +1629,7 @@ void checkComputeInstanceRestoreProperties( o.keyRevocationActionType!, unittest.equals('foo'), ); - checkUnnamed21(o.labels!); + checkUnnamed23(o.labels!); unittest.expect( o.machineType!, unittest.equals('foo'), @@ -1461,7 +1643,7 @@ void checkComputeInstanceRestoreProperties( o.name!, unittest.equals('foo'), ); - checkUnnamed22(o.networkInterfaces!); + checkUnnamed24(o.networkInterfaces!); checkNetworkPerformanceConfig(o.networkPerformanceConfig!); checkInstanceParams(o.params!); unittest.expect( @@ -1469,9 +1651,9 @@ void checkComputeInstanceRestoreProperties( unittest.equals('foo'), ); checkAllocationAffinity(o.reservationAffinity!); - checkUnnamed23(o.resourcePolicies!); + checkUnnamed25(o.resourcePolicies!); checkScheduling(o.scheduling!); - checkUnnamed24(o.serviceAccounts!); + checkUnnamed26(o.serviceAccounts!); checkTags(o.tags!); } buildCounterComputeInstanceRestoreProperties--; @@ -1561,12 +1743,12 @@ void checkCustomerEncryptionKey(api.CustomerEncryptionKey o) { buildCounterCustomerEncryptionKey--; } -core.Map buildUnnamed25() => { +core.Map buildUnnamed27() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed25(core.Map o) { +void checkUnnamed27(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1591,7 +1773,7 @@ api.DataSource buildDataSource() { buildDataSourceBackupApplianceApplication(); o.dataSourceGcpResource = buildDataSourceGcpResource(); o.etag = 'foo'; - o.labels = buildUnnamed25(); + o.labels = buildUnnamed27(); o.name = 'foo'; o.state = 'foo'; o.totalStoredBytes = 'foo'; @@ -1624,7 +1806,7 @@ void checkDataSource(api.DataSource o) { o.etag!, unittest.equals('foo'), ); - checkUnnamed25(o.labels!); + checkUnnamed27(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -1892,23 +2074,23 @@ void checkFetchAccessTokenResponse(api.FetchAccessTokenResponse o) { buildCounterFetchAccessTokenResponse--; } -core.List buildUnnamed26() => [ +core.List buildUnnamed28() => [ buildBackupVault(), buildBackupVault(), ]; -void checkUnnamed26(core.List o) { +void checkUnnamed28(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackupVault(o[0]); checkBackupVault(o[1]); } -core.List buildUnnamed27() => [ +core.List buildUnnamed29() => [ 'foo', 'foo', ]; -void checkUnnamed27(core.List o) { +void checkUnnamed29(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1925,9 +2107,9 @@ api.FetchUsableBackupVaultsResponse buildFetchUsableBackupVaultsResponse() { final o = api.FetchUsableBackupVaultsResponse(); buildCounterFetchUsableBackupVaultsResponse++; if (buildCounterFetchUsableBackupVaultsResponse < 3) { - o.backupVaults = buildUnnamed26(); + o.backupVaults = buildUnnamed28(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed27(); + o.unreachable = buildUnnamed29(); } buildCounterFetchUsableBackupVaultsResponse--; return o; @@ -1937,12 +2119,12 @@ void checkFetchUsableBackupVaultsResponse( api.FetchUsableBackupVaultsResponse o) { buildCounterFetchUsableBackupVaultsResponse++; if (buildCounterFetchUsableBackupVaultsResponse < 3) { - checkUnnamed26(o.backupVaults!); + checkUnnamed28(o.backupVaults!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed27(o.unreachable!); + checkUnnamed29(o.unreachable!); } buildCounterFetchUsableBackupVaultsResponse--; } @@ -2026,12 +2208,12 @@ void checkGCPBackupPlanInfo(api.GCPBackupPlanInfo o) { buildCounterGCPBackupPlanInfo--; } -core.List buildUnnamed28() => [ +core.List buildUnnamed30() => [ 'foo', 'foo', ]; -void checkUnnamed28(core.List o) { +void checkUnnamed30(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2051,7 +2233,7 @@ api.GcpBackupConfig buildGcpBackupConfig() { o.backupPlan = 'foo'; o.backupPlanAssociation = 'foo'; o.backupPlanDescription = 'foo'; - o.backupPlanRules = buildUnnamed28(); + o.backupPlanRules = buildUnnamed30(); } buildCounterGcpBackupConfig--; return o; @@ -2072,7 +2254,7 @@ void checkGcpBackupConfig(api.GcpBackupConfig o) { o.backupPlanDescription!, unittest.equals('foo'), ); - checkUnnamed28(o.backupPlanRules!); + checkUnnamed30(o.backupPlanRules!); } buildCounterGcpBackupConfig--; } @@ -2099,12 +2281,12 @@ void checkGuestOsFeature(api.GuestOsFeature o) { buildCounterGuestOsFeature--; } -core.List buildUnnamed29() => [ +core.List buildUnnamed31() => [ 'foo', 'foo', ]; -void checkUnnamed29(core.List o) { +void checkUnnamed31(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2122,7 +2304,7 @@ api.InitializeParams buildInitializeParams() { buildCounterInitializeParams++; if (buildCounterInitializeParams < 3) { o.diskName = 'foo'; - o.replicaZones = buildUnnamed29(); + o.replicaZones = buildUnnamed31(); } buildCounterInitializeParams--; return o; @@ -2135,7 +2317,7 @@ void checkInitializeParams(api.InitializeParams o) { o.diskName!, unittest.equals('foo'), ); - checkUnnamed29(o.replicaZones!); + checkUnnamed31(o.replicaZones!); } buildCounterInitializeParams--; } @@ -2226,12 +2408,12 @@ void checkInitiateBackupResponse(api.InitiateBackupResponse o) { buildCounterInitiateBackupResponse--; } -core.Map buildUnnamed30() => { +core.Map buildUnnamed32() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed30(core.Map o) { +void checkUnnamed32(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2248,7 +2430,7 @@ api.InstanceParams buildInstanceParams() { final o = api.InstanceParams(); buildCounterInstanceParams++; if (buildCounterInstanceParams < 3) { - o.resourceManagerTags = buildUnnamed30(); + o.resourceManagerTags = buildUnnamed32(); } buildCounterInstanceParams--; return o; @@ -2257,28 +2439,28 @@ api.InstanceParams buildInstanceParams() { void checkInstanceParams(api.InstanceParams o) { buildCounterInstanceParams++; if (buildCounterInstanceParams < 3) { - checkUnnamed30(o.resourceManagerTags!); + checkUnnamed32(o.resourceManagerTags!); } buildCounterInstanceParams--; } -core.List buildUnnamed31() => [ +core.List buildUnnamed33() => [ buildBackupPlanAssociation(), buildBackupPlanAssociation(), ]; -void checkUnnamed31(core.List o) { +void checkUnnamed33(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackupPlanAssociation(o[0]); checkBackupPlanAssociation(o[1]); } -core.List buildUnnamed32() => [ +core.List buildUnnamed34() => [ 'foo', 'foo', ]; -void checkUnnamed32(core.List o) { +void checkUnnamed34(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2296,9 +2478,9 @@ api.ListBackupPlanAssociationsResponse final o = api.ListBackupPlanAssociationsResponse(); buildCounterListBackupPlanAssociationsResponse++; if (buildCounterListBackupPlanAssociationsResponse < 3) { - o.backupPlanAssociations = buildUnnamed31(); + o.backupPlanAssociations = buildUnnamed33(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed32(); + o.unreachable = buildUnnamed34(); } buildCounterListBackupPlanAssociationsResponse--; return o; @@ -2308,33 +2490,33 @@ void checkListBackupPlanAssociationsResponse( api.ListBackupPlanAssociationsResponse o) { buildCounterListBackupPlanAssociationsResponse++; if (buildCounterListBackupPlanAssociationsResponse < 3) { - checkUnnamed31(o.backupPlanAssociations!); + checkUnnamed33(o.backupPlanAssociations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed32(o.unreachable!); + checkUnnamed34(o.unreachable!); } buildCounterListBackupPlanAssociationsResponse--; } -core.List buildUnnamed33() => [ +core.List buildUnnamed35() => [ buildBackupPlan(), buildBackupPlan(), ]; -void checkUnnamed33(core.List o) { +void checkUnnamed35(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackupPlan(o[0]); checkBackupPlan(o[1]); } -core.List buildUnnamed34() => [ +core.List buildUnnamed36() => [ 'foo', 'foo', ]; -void checkUnnamed34(core.List o) { +void checkUnnamed36(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2351,9 +2533,9 @@ api.ListBackupPlansResponse buildListBackupPlansResponse() { final o = api.ListBackupPlansResponse(); buildCounterListBackupPlansResponse++; if (buildCounterListBackupPlansResponse < 3) { - o.backupPlans = buildUnnamed33(); + o.backupPlans = buildUnnamed35(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed34(); + o.unreachable = buildUnnamed36(); } buildCounterListBackupPlansResponse--; return o; @@ -2362,33 +2544,33 @@ api.ListBackupPlansResponse buildListBackupPlansResponse() { void checkListBackupPlansResponse(api.ListBackupPlansResponse o) { buildCounterListBackupPlansResponse++; if (buildCounterListBackupPlansResponse < 3) { - checkUnnamed33(o.backupPlans!); + checkUnnamed35(o.backupPlans!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed34(o.unreachable!); + checkUnnamed36(o.unreachable!); } buildCounterListBackupPlansResponse--; } -core.List buildUnnamed35() => [ +core.List buildUnnamed37() => [ buildBackupVault(), buildBackupVault(), ]; -void checkUnnamed35(core.List o) { +void checkUnnamed37(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackupVault(o[0]); checkBackupVault(o[1]); } -core.List buildUnnamed36() => [ +core.List buildUnnamed38() => [ 'foo', 'foo', ]; -void checkUnnamed36(core.List o) { +void checkUnnamed38(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2405,9 +2587,9 @@ api.ListBackupVaultsResponse buildListBackupVaultsResponse() { final o = api.ListBackupVaultsResponse(); buildCounterListBackupVaultsResponse++; if (buildCounterListBackupVaultsResponse < 3) { - o.backupVaults = buildUnnamed35(); + o.backupVaults = buildUnnamed37(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed36(); + o.unreachable = buildUnnamed38(); } buildCounterListBackupVaultsResponse--; return o; @@ -2416,33 +2598,33 @@ api.ListBackupVaultsResponse buildListBackupVaultsResponse() { void checkListBackupVaultsResponse(api.ListBackupVaultsResponse o) { buildCounterListBackupVaultsResponse++; if (buildCounterListBackupVaultsResponse < 3) { - checkUnnamed35(o.backupVaults!); + checkUnnamed37(o.backupVaults!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed36(o.unreachable!); + checkUnnamed38(o.unreachable!); } buildCounterListBackupVaultsResponse--; } -core.List buildUnnamed37() => [ +core.List buildUnnamed39() => [ buildBackup(), buildBackup(), ]; -void checkUnnamed37(core.List o) { +void checkUnnamed39(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackup(o[0]); checkBackup(o[1]); } -core.List buildUnnamed38() => [ +core.List buildUnnamed40() => [ 'foo', 'foo', ]; -void checkUnnamed38(core.List o) { +void checkUnnamed40(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2459,9 +2641,9 @@ api.ListBackupsResponse buildListBackupsResponse() { final o = api.ListBackupsResponse(); buildCounterListBackupsResponse++; if (buildCounterListBackupsResponse < 3) { - o.backups = buildUnnamed37(); + o.backups = buildUnnamed39(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed38(); + o.unreachable = buildUnnamed40(); } buildCounterListBackupsResponse--; return o; @@ -2470,33 +2652,33 @@ api.ListBackupsResponse buildListBackupsResponse() { void checkListBackupsResponse(api.ListBackupsResponse o) { buildCounterListBackupsResponse++; if (buildCounterListBackupsResponse < 3) { - checkUnnamed37(o.backups!); + checkUnnamed39(o.backups!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed38(o.unreachable!); + checkUnnamed40(o.unreachable!); } buildCounterListBackupsResponse--; } -core.List buildUnnamed39() => [ +core.List buildUnnamed41() => [ buildDataSource(), buildDataSource(), ]; -void checkUnnamed39(core.List o) { +void checkUnnamed41(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDataSource(o[0]); checkDataSource(o[1]); } -core.List buildUnnamed40() => [ +core.List buildUnnamed42() => [ 'foo', 'foo', ]; -void checkUnnamed40(core.List o) { +void checkUnnamed42(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2513,9 +2695,9 @@ api.ListDataSourcesResponse buildListDataSourcesResponse() { final o = api.ListDataSourcesResponse(); buildCounterListDataSourcesResponse++; if (buildCounterListDataSourcesResponse < 3) { - o.dataSources = buildUnnamed39(); + o.dataSources = buildUnnamed41(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed40(); + o.unreachable = buildUnnamed42(); } buildCounterListDataSourcesResponse--; return o; @@ -2524,22 +2706,22 @@ api.ListDataSourcesResponse buildListDataSourcesResponse() { void checkListDataSourcesResponse(api.ListDataSourcesResponse o) { buildCounterListDataSourcesResponse++; if (buildCounterListDataSourcesResponse < 3) { - checkUnnamed39(o.dataSources!); + checkUnnamed41(o.dataSources!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed40(o.unreachable!); + checkUnnamed42(o.unreachable!); } buildCounterListDataSourcesResponse--; } -core.List buildUnnamed41() => [ +core.List buildUnnamed43() => [ buildLocation(), buildLocation(), ]; -void checkUnnamed41(core.List o) { +void checkUnnamed43(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLocation(o[0]); checkLocation(o[1]); @@ -2550,7 +2732,7 @@ api.ListLocationsResponse buildListLocationsResponse() { final o = api.ListLocationsResponse(); buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - o.locations = buildUnnamed41(); + o.locations = buildUnnamed43(); o.nextPageToken = 'foo'; } buildCounterListLocationsResponse--; @@ -2560,7 +2742,7 @@ api.ListLocationsResponse buildListLocationsResponse() { void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - checkUnnamed41(o.locations!); + checkUnnamed43(o.locations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2569,23 +2751,23 @@ void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse--; } -core.List buildUnnamed42() => [ +core.List buildUnnamed44() => [ buildManagementServer(), buildManagementServer(), ]; -void checkUnnamed42(core.List o) { +void checkUnnamed44(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkManagementServer(o[0]); checkManagementServer(o[1]); } -core.List buildUnnamed43() => [ +core.List buildUnnamed45() => [ 'foo', 'foo', ]; -void checkUnnamed43(core.List o) { +void checkUnnamed45(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2602,9 +2784,9 @@ api.ListManagementServersResponse buildListManagementServersResponse() { final o = api.ListManagementServersResponse(); buildCounterListManagementServersResponse++; if (buildCounterListManagementServersResponse < 3) { - o.managementServers = buildUnnamed42(); + o.managementServers = buildUnnamed44(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed43(); + o.unreachable = buildUnnamed45(); } buildCounterListManagementServersResponse--; return o; @@ -2613,22 +2795,22 @@ api.ListManagementServersResponse buildListManagementServersResponse() { void checkListManagementServersResponse(api.ListManagementServersResponse o) { buildCounterListManagementServersResponse++; if (buildCounterListManagementServersResponse < 3) { - checkUnnamed42(o.managementServers!); + checkUnnamed44(o.managementServers!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed43(o.unreachable!); + checkUnnamed45(o.unreachable!); } buildCounterListManagementServersResponse--; } -core.List buildUnnamed44() => [ +core.List buildUnnamed46() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed44(core.List o) { +void checkUnnamed46(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -2640,7 +2822,7 @@ api.ListOperationsResponse buildListOperationsResponse() { buildCounterListOperationsResponse++; if (buildCounterListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed44(); + o.operations = buildUnnamed46(); } buildCounterListOperationsResponse--; return o; @@ -2653,17 +2835,53 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed44(o.operations!); + checkUnnamed46(o.operations!); } buildCounterListOperationsResponse--; } -core.Map buildUnnamed45() => { +core.List buildUnnamed47() => [ + buildResourceBackupConfig(), + buildResourceBackupConfig(), + ]; + +void checkUnnamed47(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkResourceBackupConfig(o[0]); + checkResourceBackupConfig(o[1]); +} + +core.int buildCounterListResourceBackupConfigsResponse = 0; +api.ListResourceBackupConfigsResponse buildListResourceBackupConfigsResponse() { + final o = api.ListResourceBackupConfigsResponse(); + buildCounterListResourceBackupConfigsResponse++; + if (buildCounterListResourceBackupConfigsResponse < 3) { + o.nextPageToken = 'foo'; + o.resourceBackupConfigs = buildUnnamed47(); + } + buildCounterListResourceBackupConfigsResponse--; + return o; +} + +void checkListResourceBackupConfigsResponse( + api.ListResourceBackupConfigsResponse o) { + buildCounterListResourceBackupConfigsResponse++; + if (buildCounterListResourceBackupConfigsResponse < 3) { + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + checkUnnamed47(o.resourceBackupConfigs!); + } + buildCounterListResourceBackupConfigsResponse--; +} + +core.Map buildUnnamed48() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed45(core.Map o) { +void checkUnnamed48(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2675,7 +2893,7 @@ void checkUnnamed45(core.Map o) { ); } -core.Map buildUnnamed46() => { +core.Map buildUnnamed49() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2688,7 +2906,7 @@ core.Map buildUnnamed46() => { }, }; -void checkUnnamed46(core.Map o) { +void checkUnnamed49(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -2726,9 +2944,9 @@ api.Location buildLocation() { buildCounterLocation++; if (buildCounterLocation < 3) { o.displayName = 'foo'; - o.labels = buildUnnamed45(); + o.labels = buildUnnamed48(); o.locationId = 'foo'; - o.metadata = buildUnnamed46(); + o.metadata = buildUnnamed49(); o.name = 'foo'; } buildCounterLocation--; @@ -2742,12 +2960,12 @@ void checkLocation(api.Location o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed45(o.labels!); + checkUnnamed48(o.labels!); unittest.expect( o.locationId!, unittest.equals('foo'), ); - checkUnnamed46(o.metadata!); + checkUnnamed49(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), @@ -2756,12 +2974,12 @@ void checkLocation(api.Location o) { buildCounterLocation--; } -core.List buildUnnamed47() => [ +core.List buildUnnamed50() => [ 'foo', 'foo', ]; -void checkUnnamed47(core.List o) { +void checkUnnamed50(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2773,12 +2991,12 @@ void checkUnnamed47(core.List o) { ); } -core.Map buildUnnamed48() => { +core.Map buildUnnamed51() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed48(core.Map o) { +void checkUnnamed51(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2790,12 +3008,12 @@ void checkUnnamed48(core.Map o) { ); } -core.List buildUnnamed49() => [ +core.List buildUnnamed52() => [ buildNetworkConfig(), buildNetworkConfig(), ]; -void checkUnnamed49(core.List o) { +void checkUnnamed52(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkConfig(o[0]); checkNetworkConfig(o[1]); @@ -2806,14 +3024,14 @@ api.ManagementServer buildManagementServer() { final o = api.ManagementServer(); buildCounterManagementServer++; if (buildCounterManagementServer < 3) { - o.baProxyUri = buildUnnamed47(); + o.baProxyUri = buildUnnamed50(); o.createTime = 'foo'; o.description = 'foo'; o.etag = 'foo'; - o.labels = buildUnnamed48(); + o.labels = buildUnnamed51(); o.managementUri = buildManagementURI(); o.name = 'foo'; - o.networks = buildUnnamed49(); + o.networks = buildUnnamed52(); o.oauth2ClientId = 'foo'; o.satisfiesPzi = true; o.satisfiesPzs = true; @@ -2832,7 +3050,7 @@ api.ManagementServer buildManagementServer() { void checkManagementServer(api.ManagementServer o) { buildCounterManagementServer++; if (buildCounterManagementServer < 3) { - checkUnnamed47(o.baProxyUri!); + checkUnnamed50(o.baProxyUri!); unittest.expect( o.createTime!, unittest.equals('foo'), @@ -2845,13 +3063,13 @@ void checkManagementServer(api.ManagementServer o) { o.etag!, unittest.equals('foo'), ); - checkUnnamed48(o.labels!); + checkUnnamed51(o.labels!); checkManagementURI(o.managementUri!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed49(o.networks!); + checkUnnamed52(o.networks!); unittest.expect( o.oauth2ClientId!, unittest.equals('foo'), @@ -2905,12 +3123,12 @@ void checkManagementURI(api.ManagementURI o) { buildCounterManagementURI--; } -core.List buildUnnamed50() => [ +core.List buildUnnamed53() => [ buildEntry(), buildEntry(), ]; -void checkUnnamed50(core.List o) { +void checkUnnamed53(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEntry(o[0]); checkEntry(o[1]); @@ -2921,7 +3139,7 @@ api.Metadata buildMetadata() { final o = api.Metadata(); buildCounterMetadata++; if (buildCounterMetadata < 3) { - o.items = buildUnnamed50(); + o.items = buildUnnamed53(); } buildCounterMetadata--; return o; @@ -2930,7 +3148,7 @@ api.Metadata buildMetadata() { void checkMetadata(api.Metadata o) { buildCounterMetadata++; if (buildCounterMetadata < 3) { - checkUnnamed50(o.items!); + checkUnnamed53(o.items!); } buildCounterMetadata--; } @@ -2962,34 +3180,34 @@ void checkNetworkConfig(api.NetworkConfig o) { buildCounterNetworkConfig--; } -core.List buildUnnamed51() => [ +core.List buildUnnamed54() => [ buildAccessConfig(), buildAccessConfig(), ]; -void checkUnnamed51(core.List o) { +void checkUnnamed54(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAccessConfig(o[0]); checkAccessConfig(o[1]); } -core.List buildUnnamed52() => [ +core.List buildUnnamed55() => [ buildAliasIpRange(), buildAliasIpRange(), ]; -void checkUnnamed52(core.List o) { +void checkUnnamed55(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAliasIpRange(o[0]); checkAliasIpRange(o[1]); } -core.List buildUnnamed53() => [ +core.List buildUnnamed56() => [ buildAccessConfig(), buildAccessConfig(), ]; -void checkUnnamed53(core.List o) { +void checkUnnamed56(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAccessConfig(o[0]); checkAccessConfig(o[1]); @@ -3000,10 +3218,10 @@ api.NetworkInterface buildNetworkInterface() { final o = api.NetworkInterface(); buildCounterNetworkInterface++; if (buildCounterNetworkInterface < 3) { - o.accessConfigs = buildUnnamed51(); - o.aliasIpRanges = buildUnnamed52(); + o.accessConfigs = buildUnnamed54(); + o.aliasIpRanges = buildUnnamed55(); o.internalIpv6PrefixLength = 42; - o.ipv6AccessConfigs = buildUnnamed53(); + o.ipv6AccessConfigs = buildUnnamed56(); o.ipv6AccessType = 'foo'; o.ipv6Address = 'foo'; o.name = 'foo'; @@ -3022,13 +3240,13 @@ api.NetworkInterface buildNetworkInterface() { void checkNetworkInterface(api.NetworkInterface o) { buildCounterNetworkInterface++; if (buildCounterNetworkInterface < 3) { - checkUnnamed51(o.accessConfigs!); - checkUnnamed52(o.aliasIpRanges!); + checkUnnamed54(o.accessConfigs!); + checkUnnamed55(o.aliasIpRanges!); unittest.expect( o.internalIpv6PrefixLength!, unittest.equals(42), ); - checkUnnamed53(o.ipv6AccessConfigs!); + checkUnnamed56(o.ipv6AccessConfigs!); unittest.expect( o.ipv6AccessType!, unittest.equals('foo'), @@ -3095,12 +3313,12 @@ void checkNetworkPerformanceConfig(api.NetworkPerformanceConfig o) { buildCounterNetworkPerformanceConfig--; } -core.List buildUnnamed54() => [ +core.List buildUnnamed57() => [ 'foo', 'foo', ]; -void checkUnnamed54(core.List o) { +void checkUnnamed57(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3119,7 +3337,7 @@ api.NodeAffinity buildNodeAffinity() { if (buildCounterNodeAffinity < 3) { o.key = 'foo'; o.operator = 'foo'; - o.values = buildUnnamed54(); + o.values = buildUnnamed57(); } buildCounterNodeAffinity--; return o; @@ -3136,12 +3354,12 @@ void checkNodeAffinity(api.NodeAffinity o) { o.operator!, unittest.equals('foo'), ); - checkUnnamed54(o.values!); + checkUnnamed57(o.values!); } buildCounterNodeAffinity--; } -core.Map buildUnnamed55() => { +core.Map buildUnnamed58() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3154,7 +3372,7 @@ core.Map buildUnnamed55() => { }, }; -void checkUnnamed55(core.Map o) { +void checkUnnamed58(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -3186,7 +3404,7 @@ void checkUnnamed55(core.Map o) { ); } -core.Map buildUnnamed56() => { +core.Map buildUnnamed59() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3199,7 +3417,7 @@ core.Map buildUnnamed56() => { }, }; -void checkUnnamed56(core.Map o) { +void checkUnnamed59(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -3238,9 +3456,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed55(); + o.metadata = buildUnnamed58(); o.name = 'foo'; - o.response = buildUnnamed56(); + o.response = buildUnnamed59(); } buildCounterOperation--; return o; @@ -3251,33 +3469,55 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed55(o.metadata!); + checkUnnamed58(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed56(o.response!); + checkUnnamed59(o.response!); } buildCounterOperation--; } -core.List buildUnnamed57() => [ +core.int buildCounterPitrSettings = 0; +api.PitrSettings buildPitrSettings() { + final o = api.PitrSettings(); + buildCounterPitrSettings++; + if (buildCounterPitrSettings < 3) { + o.retentionDays = 42; + } + buildCounterPitrSettings--; + return o; +} + +void checkPitrSettings(api.PitrSettings o) { + buildCounterPitrSettings++; + if (buildCounterPitrSettings < 3) { + unittest.expect( + o.retentionDays!, + unittest.equals(42), + ); + } + buildCounterPitrSettings--; +} + +core.List buildUnnamed60() => [ buildAuditConfig(), buildAuditConfig(), ]; -void checkUnnamed57(core.List o) { +void checkUnnamed60(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuditConfig(o[0]); checkAuditConfig(o[1]); } -core.List buildUnnamed58() => [ +core.List buildUnnamed61() => [ buildBinding(), buildBinding(), ]; -void checkUnnamed58(core.List o) { +void checkUnnamed61(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBinding(o[0]); checkBinding(o[1]); @@ -3288,8 +3528,8 @@ api.Policy buildPolicy() { final o = api.Policy(); buildCounterPolicy++; if (buildCounterPolicy < 3) { - o.auditConfigs = buildUnnamed57(); - o.bindings = buildUnnamed58(); + o.auditConfigs = buildUnnamed60(); + o.bindings = buildUnnamed61(); o.etag = 'foo'; o.version = 42; } @@ -3300,8 +3540,8 @@ api.Policy buildPolicy() { void checkPolicy(api.Policy o) { buildCounterPolicy++; if (buildCounterPolicy < 3) { - checkUnnamed57(o.auditConfigs!); - checkUnnamed58(o.bindings!); + checkUnnamed60(o.auditConfigs!); + checkUnnamed61(o.bindings!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -3336,6 +3576,84 @@ void checkRemoveDataSourceRequest(api.RemoveDataSourceRequest o) { buildCounterRemoveDataSourceRequest--; } +core.List buildUnnamed62() => [ + buildBackupConfigDetails(), + buildBackupConfigDetails(), + ]; + +void checkUnnamed62(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkBackupConfigDetails(o[0]); + checkBackupConfigDetails(o[1]); +} + +core.Map buildUnnamed63() => { + 'x': 'foo', + 'y': 'foo', + }; + +void checkUnnamed63(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o['x']!, + unittest.equals('foo'), + ); + unittest.expect( + o['y']!, + unittest.equals('foo'), + ); +} + +core.int buildCounterResourceBackupConfig = 0; +api.ResourceBackupConfig buildResourceBackupConfig() { + final o = api.ResourceBackupConfig(); + buildCounterResourceBackupConfig++; + if (buildCounterResourceBackupConfig < 3) { + o.backupConfigsDetails = buildUnnamed62(); + o.backupConfigured = true; + o.name = 'foo'; + o.targetResource = 'foo'; + o.targetResourceDisplayName = 'foo'; + o.targetResourceLabels = buildUnnamed63(); + o.targetResourceType = 'foo'; + o.uid = 'foo'; + o.vaulted = true; + } + buildCounterResourceBackupConfig--; + return o; +} + +void checkResourceBackupConfig(api.ResourceBackupConfig o) { + buildCounterResourceBackupConfig++; + if (buildCounterResourceBackupConfig < 3) { + checkUnnamed62(o.backupConfigsDetails!); + unittest.expect(o.backupConfigured!, unittest.isTrue); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.targetResource!, + unittest.equals('foo'), + ); + unittest.expect( + o.targetResourceDisplayName!, + unittest.equals('foo'), + ); + checkUnnamed63(o.targetResourceLabels!); + unittest.expect( + o.targetResourceType!, + unittest.equals('foo'), + ); + unittest.expect( + o.uid!, + unittest.equals('foo'), + ); + unittest.expect(o.vaulted!, unittest.isTrue); + } + buildCounterResourceBackupConfig--; +} + core.int buildCounterRestoreBackupRequest = 0; api.RestoreBackupRequest buildRestoreBackupRequest() { final o = api.RestoreBackupRequest(); @@ -3398,12 +3716,12 @@ void checkRuleConfigInfo(api.RuleConfigInfo o) { buildCounterRuleConfigInfo--; } -core.List buildUnnamed59() => [ +core.List buildUnnamed64() => [ buildNodeAffinity(), buildNodeAffinity(), ]; -void checkUnnamed59(core.List o) { +void checkUnnamed64(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodeAffinity(o[0]); checkNodeAffinity(o[1]); @@ -3418,7 +3736,7 @@ api.Scheduling buildScheduling() { o.instanceTerminationAction = 'foo'; o.localSsdRecoveryTimeout = buildSchedulingDuration(); o.minNodeCpus = 42; - o.nodeAffinities = buildUnnamed59(); + o.nodeAffinities = buildUnnamed64(); o.onHostMaintenance = 'foo'; o.preemptible = true; o.provisioningModel = 'foo'; @@ -3440,7 +3758,7 @@ void checkScheduling(api.Scheduling o) { o.minNodeCpus!, unittest.equals(42), ); - checkUnnamed59(o.nodeAffinities!); + checkUnnamed64(o.nodeAffinities!); unittest.expect( o.onHostMaintenance!, unittest.equals('foo'), @@ -3481,12 +3799,12 @@ void checkSchedulingDuration(api.SchedulingDuration o) { buildCounterSchedulingDuration--; } -core.List buildUnnamed60() => [ +core.List buildUnnamed65() => [ 'foo', 'foo', ]; -void checkUnnamed60(core.List o) { +void checkUnnamed65(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3504,7 +3822,7 @@ api.ServiceAccount buildServiceAccount() { buildCounterServiceAccount++; if (buildCounterServiceAccount < 3) { o.email = 'foo'; - o.scopes = buildUnnamed60(); + o.scopes = buildUnnamed65(); } buildCounterServiceAccount--; return o; @@ -3517,7 +3835,7 @@ void checkServiceAccount(api.ServiceAccount o) { o.email!, unittest.equals('foo'), ); - checkUnnamed60(o.scopes!); + checkUnnamed65(o.scopes!); } buildCounterServiceAccount--; } @@ -3600,12 +3918,12 @@ void checkSetInternalStatusRequest(api.SetInternalStatusRequest o) { buildCounterSetInternalStatusRequest--; } -core.List buildUnnamed61() => [ +core.List buildUnnamed66() => [ 42, 42, ]; -void checkUnnamed61(core.List o) { +void checkUnnamed66(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3617,12 +3935,12 @@ void checkUnnamed61(core.List o) { ); } -core.List buildUnnamed62() => [ +core.List buildUnnamed67() => [ 'foo', 'foo', ]; -void checkUnnamed62(core.List o) { +void checkUnnamed67(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3634,12 +3952,12 @@ void checkUnnamed62(core.List o) { ); } -core.List buildUnnamed63() => [ +core.List buildUnnamed68() => [ 'foo', 'foo', ]; -void checkUnnamed63(core.List o) { +void checkUnnamed68(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3657,10 +3975,10 @@ api.StandardSchedule buildStandardSchedule() { buildCounterStandardSchedule++; if (buildCounterStandardSchedule < 3) { o.backupWindow = buildBackupWindow(); - o.daysOfMonth = buildUnnamed61(); - o.daysOfWeek = buildUnnamed62(); + o.daysOfMonth = buildUnnamed66(); + o.daysOfWeek = buildUnnamed67(); o.hourlyFrequency = 42; - o.months = buildUnnamed63(); + o.months = buildUnnamed68(); o.recurrenceType = 'foo'; o.timeZone = 'foo'; o.weekDayOfMonth = buildWeekDayOfMonth(); @@ -3673,13 +3991,13 @@ void checkStandardSchedule(api.StandardSchedule o) { buildCounterStandardSchedule++; if (buildCounterStandardSchedule < 3) { checkBackupWindow(o.backupWindow!); - checkUnnamed61(o.daysOfMonth!); - checkUnnamed62(o.daysOfWeek!); + checkUnnamed66(o.daysOfMonth!); + checkUnnamed67(o.daysOfWeek!); unittest.expect( o.hourlyFrequency!, unittest.equals(42), ); - checkUnnamed63(o.months!); + checkUnnamed68(o.months!); unittest.expect( o.recurrenceType!, unittest.equals('foo'), @@ -3693,7 +4011,7 @@ void checkStandardSchedule(api.StandardSchedule o) { buildCounterStandardSchedule--; } -core.Map buildUnnamed64() => { +core.Map buildUnnamed69() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3706,7 +4024,7 @@ core.Map buildUnnamed64() => { }, }; -void checkUnnamed64(core.Map o) { +void checkUnnamed69(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -3738,15 +4056,15 @@ void checkUnnamed64(core.Map o) { ); } -core.List> buildUnnamed65() => [ - buildUnnamed64(), - buildUnnamed64(), +core.List> buildUnnamed70() => [ + buildUnnamed69(), + buildUnnamed69(), ]; -void checkUnnamed65(core.List> o) { +void checkUnnamed70(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed64(o[0]); - checkUnnamed64(o[1]); + checkUnnamed69(o[0]); + checkUnnamed69(o[1]); } core.int buildCounterStatus = 0; @@ -3755,7 +4073,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed65(); + o.details = buildUnnamed70(); o.message = 'foo'; } buildCounterStatus--; @@ -3769,7 +4087,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed65(o.details!); + checkUnnamed70(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -3778,12 +4096,12 @@ void checkStatus(api.Status o) { buildCounterStatus--; } -core.List buildUnnamed66() => [ +core.List buildUnnamed71() => [ 'foo', 'foo', ]; -void checkUnnamed66(core.List o) { +void checkUnnamed71(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3800,7 +4118,7 @@ api.Tags buildTags() { final o = api.Tags(); buildCounterTags++; if (buildCounterTags < 3) { - o.items = buildUnnamed66(); + o.items = buildUnnamed71(); } buildCounterTags--; return o; @@ -3809,17 +4127,17 @@ api.Tags buildTags() { void checkTags(api.Tags o) { buildCounterTags++; if (buildCounterTags < 3) { - checkUnnamed66(o.items!); + checkUnnamed71(o.items!); } buildCounterTags--; } -core.List buildUnnamed67() => [ +core.List buildUnnamed72() => [ 'foo', 'foo', ]; -void checkUnnamed67(core.List o) { +void checkUnnamed72(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3836,7 +4154,7 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { final o = api.TestIamPermissionsRequest(); buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - o.permissions = buildUnnamed67(); + o.permissions = buildUnnamed72(); } buildCounterTestIamPermissionsRequest--; return o; @@ -3845,17 +4163,17 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { void checkTestIamPermissionsRequest(api.TestIamPermissionsRequest o) { buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - checkUnnamed67(o.permissions!); + checkUnnamed72(o.permissions!); } buildCounterTestIamPermissionsRequest--; } -core.List buildUnnamed68() => [ +core.List buildUnnamed73() => [ 'foo', 'foo', ]; -void checkUnnamed68(core.List o) { +void checkUnnamed73(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3872,7 +4190,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { final o = api.TestIamPermissionsResponse(); buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - o.permissions = buildUnnamed68(); + o.permissions = buildUnnamed73(); } buildCounterTestIamPermissionsResponse--; return o; @@ -3881,7 +4199,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { void checkTestIamPermissionsResponse(api.TestIamPermissionsResponse o) { buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - checkUnnamed68(o.permissions!); + checkUnnamed73(o.permissions!); } buildCounterTestIamPermissionsResponse--; } @@ -4129,6 +4447,16 @@ void main() { }); }); + unittest.group('obj-schema-BackupConfigDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildBackupConfigDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BackupConfigDetails.fromJson( + oJson as core.Map); + checkBackupConfigDetails(od); + }); + }); + unittest.group('obj-schema-BackupConfigInfo', () { unittest.test('to-json--from-json', () async { final o = buildBackupConfigInfo(); @@ -4139,6 +4467,46 @@ void main() { }); }); + unittest.group('obj-schema-BackupDrPlanConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildBackupDrPlanConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BackupDrPlanConfig.fromJson( + oJson as core.Map); + checkBackupDrPlanConfig(od); + }); + }); + + unittest.group('obj-schema-BackupDrPlanRule', () { + unittest.test('to-json--from-json', () async { + final o = buildBackupDrPlanRule(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BackupDrPlanRule.fromJson( + oJson as core.Map); + checkBackupDrPlanRule(od); + }); + }); + + unittest.group('obj-schema-BackupDrTemplateConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildBackupDrTemplateConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BackupDrTemplateConfig.fromJson( + oJson as core.Map); + checkBackupDrTemplateConfig(od); + }); + }); + + unittest.group('obj-schema-BackupLocation', () { + unittest.test('to-json--from-json', () async { + final o = buildBackupLocation(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BackupLocation.fromJson( + oJson as core.Map); + checkBackupLocation(od); + }); + }); + unittest.group('obj-schema-BackupLock', () { unittest.test('to-json--from-json', () async { final o = buildBackupLock(); @@ -4549,6 +4917,16 @@ void main() { }); }); + unittest.group('obj-schema-ListResourceBackupConfigsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListResourceBackupConfigsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListResourceBackupConfigsResponse.fromJson( + oJson as core.Map); + checkListResourceBackupConfigsResponse(od); + }); + }); + unittest.group('obj-schema-Location', () { unittest.test('to-json--from-json', () async { final o = buildLocation(); @@ -4639,6 +5017,16 @@ void main() { }); }); + unittest.group('obj-schema-PitrSettings', () { + unittest.test('to-json--from-json', () async { + final o = buildPitrSettings(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.PitrSettings.fromJson( + oJson as core.Map); + checkPitrSettings(od); + }); + }); + unittest.group('obj-schema-Policy', () { unittest.test('to-json--from-json', () async { final o = buildPolicy(); @@ -4659,6 +5047,16 @@ void main() { }); }); + unittest.group('obj-schema-ResourceBackupConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildResourceBackupConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ResourceBackupConfig.fromJson( + oJson as core.Map); + checkResourceBackupConfig(od); + }); + }); + unittest.group('obj-schema-RestoreBackupRequest', () { unittest.test('to-json--from-json', () async { final o = buildRestoreBackupRequest(); @@ -7651,6 +8049,88 @@ void main() { }); }); + unittest.group('resource-ProjectsLocationsResourceBackupConfigsResource', () { + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = + api.BackupdrApi(mock).projects.locations.resourceBackupConfigs; + final arg_parent = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildListResourceBackupConfigsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_parent, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListResourceBackupConfigsResponse( + response as api.ListResourceBackupConfigsResponse); + }); + }); + unittest.group('resource-ProjectsLocationsServiceConfigResource', () { unittest.test('method--initialize', () async { final mock = HttpServerMock(); diff --git a/generated/googleapis/test/batch/v1_test.dart b/generated/googleapis/test/batch/v1_test.dart index e467b3445..498c6372b 100644 --- a/generated/googleapis/test/batch/v1_test.dart +++ b/generated/googleapis/test/batch/v1_test.dart @@ -774,6 +774,28 @@ void checkBarrier(api.Barrier o) { buildCounterBarrier--; } +core.int buildCounterCancelJobRequest = 0; +api.CancelJobRequest buildCancelJobRequest() { + final o = api.CancelJobRequest(); + buildCounterCancelJobRequest++; + if (buildCounterCancelJobRequest < 3) { + o.requestId = 'foo'; + } + buildCounterCancelJobRequest--; + return o; +} + +void checkCancelJobRequest(api.CancelJobRequest o) { + buildCounterCancelJobRequest++; + if (buildCounterCancelJobRequest < 3) { + unittest.expect( + o.requestId!, + unittest.equals('foo'), + ); + } + buildCounterCancelJobRequest--; +} + core.int buildCounterCancelOperationRequest = 0; api.CancelOperationRequest buildCancelOperationRequest() { final o = api.CancelOperationRequest(); @@ -2846,6 +2868,16 @@ void main() { }); }); + unittest.group('obj-schema-CancelJobRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildCancelJobRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CancelJobRequest.fromJson( + oJson as core.Map); + checkCancelJobRequest(od); + }); + }); + unittest.group('obj-schema-CancelOperationRequest', () { unittest.test('to-json--from-json', () async { final o = buildCancelOperationRequest(); @@ -3399,6 +3431,64 @@ void main() { }); unittest.group('resource-ProjectsLocationsJobsResource', () { + unittest.test('method--cancel', () async { + final mock = HttpServerMock(); + final res = api.BatchApi(mock).projects.locations.jobs; + final arg_request = buildCancelJobRequest(); + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.CancelJobRequest.fromJson( + json as core.Map); + checkCancelJobRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.cancel(arg_request, arg_name, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + unittest.test('method--create', () async { final mock = HttpServerMock(); final res = api.BatchApi(mock).projects.locations.jobs; diff --git a/generated/googleapis/test/bigquery/v2_test.dart b/generated/googleapis/test/bigquery/v2_test.dart index 6c4d59d18..ad25937d6 100644 --- a/generated/googleapis/test/bigquery/v2_test.dart +++ b/generated/googleapis/test/bigquery/v2_test.dart @@ -678,6 +678,46 @@ void checkAvroOptions(api.AvroOptions o) { buildCounterAvroOptions--; } +core.List buildUnnamed17() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed17(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterBatchDeleteRowAccessPoliciesRequest = 0; +api.BatchDeleteRowAccessPoliciesRequest + buildBatchDeleteRowAccessPoliciesRequest() { + final o = api.BatchDeleteRowAccessPoliciesRequest(); + buildCounterBatchDeleteRowAccessPoliciesRequest++; + if (buildCounterBatchDeleteRowAccessPoliciesRequest < 3) { + o.force = true; + o.policyIds = buildUnnamed17(); + } + buildCounterBatchDeleteRowAccessPoliciesRequest--; + return o; +} + +void checkBatchDeleteRowAccessPoliciesRequest( + api.BatchDeleteRowAccessPoliciesRequest o) { + buildCounterBatchDeleteRowAccessPoliciesRequest++; + if (buildCounterBatchDeleteRowAccessPoliciesRequest < 3) { + unittest.expect(o.force!, unittest.isTrue); + checkUnnamed17(o.policyIds!); + } + buildCounterBatchDeleteRowAccessPoliciesRequest--; +} + core.int buildCounterBiEngineReason = 0; api.BiEngineReason buildBiEngineReason() { final o = api.BiEngineReason(); @@ -705,12 +745,12 @@ void checkBiEngineReason(api.BiEngineReason o) { buildCounterBiEngineReason--; } -core.List buildUnnamed17() => [ +core.List buildUnnamed18() => [ buildBiEngineReason(), buildBiEngineReason(), ]; -void checkUnnamed17(core.List o) { +void checkUnnamed18(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBiEngineReason(o[0]); checkBiEngineReason(o[1]); @@ -723,7 +763,7 @@ api.BiEngineStatistics buildBiEngineStatistics() { if (buildCounterBiEngineStatistics < 3) { o.accelerationMode = 'foo'; o.biEngineMode = 'foo'; - o.biEngineReasons = buildUnnamed17(); + o.biEngineReasons = buildUnnamed18(); } buildCounterBiEngineStatistics--; return o; @@ -740,7 +780,7 @@ void checkBiEngineStatistics(api.BiEngineStatistics o) { o.biEngineMode!, unittest.equals('foo'), ); - checkUnnamed17(o.biEngineReasons!); + checkUnnamed18(o.biEngineReasons!); } buildCounterBiEngineStatistics--; } @@ -853,12 +893,12 @@ void checkBigtableColumn(api.BigtableColumn o) { buildCounterBigtableColumn--; } -core.List buildUnnamed18() => [ +core.List buildUnnamed19() => [ buildBigtableColumn(), buildBigtableColumn(), ]; -void checkUnnamed18(core.List o) { +void checkUnnamed19(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBigtableColumn(o[0]); checkBigtableColumn(o[1]); @@ -869,7 +909,7 @@ api.BigtableColumnFamily buildBigtableColumnFamily() { final o = api.BigtableColumnFamily(); buildCounterBigtableColumnFamily++; if (buildCounterBigtableColumnFamily < 3) { - o.columns = buildUnnamed18(); + o.columns = buildUnnamed19(); o.encoding = 'foo'; o.familyId = 'foo'; o.onlyReadLatest = true; @@ -882,7 +922,7 @@ api.BigtableColumnFamily buildBigtableColumnFamily() { void checkBigtableColumnFamily(api.BigtableColumnFamily o) { buildCounterBigtableColumnFamily++; if (buildCounterBigtableColumnFamily < 3) { - checkUnnamed18(o.columns!); + checkUnnamed19(o.columns!); unittest.expect( o.encoding!, unittest.equals('foo'), @@ -900,12 +940,12 @@ void checkBigtableColumnFamily(api.BigtableColumnFamily o) { buildCounterBigtableColumnFamily--; } -core.List buildUnnamed19() => [ +core.List buildUnnamed20() => [ buildBigtableColumnFamily(), buildBigtableColumnFamily(), ]; -void checkUnnamed19(core.List o) { +void checkUnnamed20(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBigtableColumnFamily(o[0]); checkBigtableColumnFamily(o[1]); @@ -916,7 +956,7 @@ api.BigtableOptions buildBigtableOptions() { final o = api.BigtableOptions(); buildCounterBigtableOptions++; if (buildCounterBigtableOptions < 3) { - o.columnFamilies = buildUnnamed19(); + o.columnFamilies = buildUnnamed20(); o.ignoreUnspecifiedColumnFamilies = true; o.outputColumnFamiliesAsJson = true; o.readRowkeyAsString = true; @@ -928,7 +968,7 @@ api.BigtableOptions buildBigtableOptions() { void checkBigtableOptions(api.BigtableOptions o) { buildCounterBigtableOptions++; if (buildCounterBigtableOptions < 3) { - checkUnnamed19(o.columnFamilies!); + checkUnnamed20(o.columnFamilies!); unittest.expect(o.ignoreUnspecifiedColumnFamilies!, unittest.isTrue); unittest.expect(o.outputColumnFamiliesAsJson!, unittest.isTrue); unittest.expect(o.readRowkeyAsString!, unittest.isTrue); @@ -936,12 +976,12 @@ void checkBigtableOptions(api.BigtableOptions o) { buildCounterBigtableOptions--; } -core.List buildUnnamed20() => [ +core.List buildUnnamed21() => [ buildBinaryConfusionMatrix(), buildBinaryConfusionMatrix(), ]; -void checkUnnamed20(core.List o) { +void checkUnnamed21(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBinaryConfusionMatrix(o[0]); checkBinaryConfusionMatrix(o[1]); @@ -953,7 +993,7 @@ api.BinaryClassificationMetrics buildBinaryClassificationMetrics() { buildCounterBinaryClassificationMetrics++; if (buildCounterBinaryClassificationMetrics < 3) { o.aggregateClassificationMetrics = buildAggregateClassificationMetrics(); - o.binaryConfusionMatrixList = buildUnnamed20(); + o.binaryConfusionMatrixList = buildUnnamed21(); o.negativeLabel = 'foo'; o.positiveLabel = 'foo'; } @@ -965,7 +1005,7 @@ void checkBinaryClassificationMetrics(api.BinaryClassificationMetrics o) { buildCounterBinaryClassificationMetrics++; if (buildCounterBinaryClassificationMetrics < 3) { checkAggregateClassificationMetrics(o.aggregateClassificationMetrics!); - checkUnnamed20(o.binaryConfusionMatrixList!); + checkUnnamed21(o.binaryConfusionMatrixList!); unittest.expect( o.negativeLabel!, unittest.equals('foo'), @@ -1040,12 +1080,12 @@ void checkBinaryConfusionMatrix(api.BinaryConfusionMatrix o) { buildCounterBinaryConfusionMatrix--; } -core.List buildUnnamed21() => [ +core.List buildUnnamed22() => [ 'foo', 'foo', ]; -void checkUnnamed21(core.List o) { +void checkUnnamed22(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1063,7 +1103,7 @@ api.Binding buildBinding() { buildCounterBinding++; if (buildCounterBinding < 3) { o.condition = buildExpr(); - o.members = buildUnnamed21(); + o.members = buildUnnamed22(); o.role = 'foo'; } buildCounterBinding--; @@ -1074,7 +1114,7 @@ void checkBinding(api.Binding o) { buildCounterBinding++; if (buildCounterBinding < 3) { checkExpr(o.condition!); - checkUnnamed21(o.members!); + checkUnnamed22(o.members!); unittest.expect( o.role!, unittest.equals('foo'), @@ -1125,12 +1165,12 @@ void checkBqmlIterationResult(api.BqmlIterationResult o) { buildCounterBqmlIterationResult--; } -core.List buildUnnamed22() => [ +core.List buildUnnamed23() => [ buildBqmlIterationResult(), buildBqmlIterationResult(), ]; -void checkUnnamed22(core.List o) { +void checkUnnamed23(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBqmlIterationResult(o[0]); checkBqmlIterationResult(o[1]); @@ -1197,7 +1237,7 @@ api.BqmlTrainingRun buildBqmlTrainingRun() { final o = api.BqmlTrainingRun(); buildCounterBqmlTrainingRun++; if (buildCounterBqmlTrainingRun < 3) { - o.iterationResults = buildUnnamed22(); + o.iterationResults = buildUnnamed23(); o.startTime = core.DateTime.parse('2002-02-27T14:01:02Z'); o.state = 'foo'; o.trainingOptions = buildBqmlTrainingRunTrainingOptions(); @@ -1209,7 +1249,7 @@ api.BqmlTrainingRun buildBqmlTrainingRun() { void checkBqmlTrainingRun(api.BqmlTrainingRun o) { buildCounterBqmlTrainingRun++; if (buildCounterBqmlTrainingRun < 3) { - checkUnnamed22(o.iterationResults!); + checkUnnamed23(o.iterationResults!); unittest.expect( o.startTime!, unittest.equals(core.DateTime.parse('2002-02-27T14:01:02Z')), @@ -1223,12 +1263,12 @@ void checkBqmlTrainingRun(api.BqmlTrainingRun o) { buildCounterBqmlTrainingRun--; } -core.List buildUnnamed23() => [ +core.List buildUnnamed24() => [ buildCategoryCount(), buildCategoryCount(), ]; -void checkUnnamed23(core.List o) { +void checkUnnamed24(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCategoryCount(o[0]); checkCategoryCount(o[1]); @@ -1239,7 +1279,7 @@ api.CategoricalValue buildCategoricalValue() { final o = api.CategoricalValue(); buildCounterCategoricalValue++; if (buildCounterCategoricalValue < 3) { - o.categoryCounts = buildUnnamed23(); + o.categoryCounts = buildUnnamed24(); } buildCounterCategoricalValue--; return o; @@ -1248,7 +1288,7 @@ api.CategoricalValue buildCategoricalValue() { void checkCategoricalValue(api.CategoricalValue o) { buildCounterCategoricalValue++; if (buildCounterCategoricalValue < 3) { - checkUnnamed23(o.categoryCounts!); + checkUnnamed24(o.categoryCounts!); } buildCounterCategoricalValue--; } @@ -1304,12 +1344,12 @@ void checkCloneDefinition(api.CloneDefinition o) { buildCounterCloneDefinition--; } -core.List buildUnnamed24() => [ +core.List buildUnnamed25() => [ buildFeatureValue(), buildFeatureValue(), ]; -void checkUnnamed24(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFeatureValue(o[0]); checkFeatureValue(o[1]); @@ -1322,7 +1362,7 @@ api.Cluster buildCluster() { if (buildCounterCluster < 3) { o.centroidId = 'foo'; o.count = 'foo'; - o.featureValues = buildUnnamed24(); + o.featureValues = buildUnnamed25(); } buildCounterCluster--; return o; @@ -1339,7 +1379,7 @@ void checkCluster(api.Cluster o) { o.count!, unittest.equals('foo'), ); - checkUnnamed24(o.featureValues!); + checkUnnamed25(o.featureValues!); } buildCounterCluster--; } @@ -1376,12 +1416,12 @@ void checkClusterInfo(api.ClusterInfo o) { buildCounterClusterInfo--; } -core.List buildUnnamed25() => [ +core.List buildUnnamed26() => [ 'foo', 'foo', ]; -void checkUnnamed25(core.List o) { +void checkUnnamed26(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1398,7 +1438,7 @@ api.Clustering buildClustering() { final o = api.Clustering(); buildCounterClustering++; if (buildCounterClustering < 3) { - o.fields = buildUnnamed25(); + o.fields = buildUnnamed26(); } buildCounterClustering--; return o; @@ -1407,17 +1447,17 @@ api.Clustering buildClustering() { void checkClustering(api.Clustering o) { buildCounterClustering++; if (buildCounterClustering < 3) { - checkUnnamed25(o.fields!); + checkUnnamed26(o.fields!); } buildCounterClustering--; } -core.List buildUnnamed26() => [ +core.List buildUnnamed27() => [ buildCluster(), buildCluster(), ]; -void checkUnnamed26(core.List o) { +void checkUnnamed27(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCluster(o[0]); checkCluster(o[1]); @@ -1428,7 +1468,7 @@ api.ClusteringMetrics buildClusteringMetrics() { final o = api.ClusteringMetrics(); buildCounterClusteringMetrics++; if (buildCounterClusteringMetrics < 3) { - o.clusters = buildUnnamed26(); + o.clusters = buildUnnamed27(); o.daviesBouldinIndex = 42.0; o.meanSquaredDistance = 42.0; } @@ -1439,7 +1479,7 @@ api.ClusteringMetrics buildClusteringMetrics() { void checkClusteringMetrics(api.ClusteringMetrics o) { buildCounterClusteringMetrics++; if (buildCounterClusteringMetrics < 3) { - checkUnnamed26(o.clusters!); + checkUnnamed27(o.clusters!); unittest.expect( o.daviesBouldinIndex!, unittest.equals(42.0), @@ -1452,12 +1492,12 @@ void checkClusteringMetrics(api.ClusteringMetrics o) { buildCounterClusteringMetrics--; } -core.List buildUnnamed27() => [ +core.List buildUnnamed28() => [ buildRow(), buildRow(), ]; -void checkUnnamed27(core.List o) { +void checkUnnamed28(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRow(o[0]); checkRow(o[1]); @@ -1469,7 +1509,7 @@ api.ConfusionMatrix buildConfusionMatrix() { buildCounterConfusionMatrix++; if (buildCounterConfusionMatrix < 3) { o.confidenceThreshold = 42.0; - o.rows = buildUnnamed27(); + o.rows = buildUnnamed28(); } buildCounterConfusionMatrix--; return o; @@ -1482,7 +1522,7 @@ void checkConfusionMatrix(api.ConfusionMatrix o) { o.confidenceThreshold!, unittest.equals(42.0), ); - checkUnnamed27(o.rows!); + checkUnnamed28(o.rows!); } buildCounterConfusionMatrix--; } @@ -1700,23 +1740,23 @@ void checkDatasetAccess(api.DatasetAccess o) { buildCounterDatasetAccess--; } -core.List buildUnnamed28() => [ +core.List buildUnnamed29() => [ buildDatasetAccess(), buildDatasetAccess(), ]; -void checkUnnamed28(core.List o) { +void checkUnnamed29(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDatasetAccess(o[0]); checkDatasetAccess(o[1]); } -core.Map buildUnnamed29() => { +core.Map buildUnnamed30() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed29(core.Map o) { +void checkUnnamed30(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1728,12 +1768,12 @@ void checkUnnamed29(core.Map o) { ); } -core.Map buildUnnamed30() => { +core.Map buildUnnamed31() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed30(core.Map o) { +void checkUnnamed31(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1772,12 +1812,12 @@ void checkDatasetTags(api.DatasetTags o) { buildCounterDatasetTags--; } -core.List buildUnnamed31() => [ +core.List buildUnnamed32() => [ buildDatasetTags(), buildDatasetTags(), ]; -void checkUnnamed31(core.List o) { +void checkUnnamed32(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDatasetTags(o[0]); checkDatasetTags(o[1]); @@ -1788,7 +1828,7 @@ api.Dataset buildDataset() { final o = api.Dataset(); buildCounterDataset++; if (buildCounterDataset < 3) { - o.access = buildUnnamed28(); + o.access = buildUnnamed29(); o.creationTime = 'foo'; o.datasetReference = buildDatasetReference(); o.defaultCollation = 'foo'; @@ -1804,19 +1844,19 @@ api.Dataset buildDataset() { o.id = 'foo'; o.isCaseInsensitive = true; o.kind = 'foo'; - o.labels = buildUnnamed29(); + o.labels = buildUnnamed30(); o.lastModifiedTime = 'foo'; o.linkedDatasetMetadata = buildLinkedDatasetMetadata(); o.linkedDatasetSource = buildLinkedDatasetSource(); o.location = 'foo'; o.maxTimeTravelHours = 'foo'; - o.resourceTags = buildUnnamed30(); + o.resourceTags = buildUnnamed31(); o.restrictions = buildRestrictionConfig(); o.satisfiesPzi = true; o.satisfiesPzs = true; o.selfLink = 'foo'; o.storageBillingModel = 'foo'; - o.tags = buildUnnamed31(); + o.tags = buildUnnamed32(); o.type = 'foo'; } buildCounterDataset--; @@ -1826,7 +1866,7 @@ api.Dataset buildDataset() { void checkDataset(api.Dataset o) { buildCounterDataset++; if (buildCounterDataset < 3) { - checkUnnamed28(o.access!); + checkUnnamed29(o.access!); unittest.expect( o.creationTime!, unittest.equals('foo'), @@ -1872,7 +1912,7 @@ void checkDataset(api.Dataset o) { o.kind!, unittest.equals('foo'), ); - checkUnnamed29(o.labels!); + checkUnnamed30(o.labels!); unittest.expect( o.lastModifiedTime!, unittest.equals('foo'), @@ -1887,7 +1927,7 @@ void checkDataset(api.Dataset o) { o.maxTimeTravelHours!, unittest.equals('foo'), ); - checkUnnamed30(o.resourceTags!); + checkUnnamed31(o.resourceTags!); checkRestrictionConfig(o.restrictions!); unittest.expect(o.satisfiesPzi!, unittest.isTrue); unittest.expect(o.satisfiesPzs!, unittest.isTrue); @@ -1899,7 +1939,7 @@ void checkDataset(api.Dataset o) { o.storageBillingModel!, unittest.equals('foo'), ); - checkUnnamed31(o.tags!); + checkUnnamed32(o.tags!); unittest.expect( o.type!, unittest.equals('foo'), @@ -1908,12 +1948,12 @@ void checkDataset(api.Dataset o) { buildCounterDataset--; } -core.List buildUnnamed32() => [ +core.List buildUnnamed33() => [ 'foo', 'foo', ]; -void checkUnnamed32(core.List o) { +void checkUnnamed33(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1931,7 +1971,7 @@ api.DatasetAccessEntry buildDatasetAccessEntry() { buildCounterDatasetAccessEntry++; if (buildCounterDatasetAccessEntry < 3) { o.dataset = buildDatasetReference(); - o.targetTypes = buildUnnamed32(); + o.targetTypes = buildUnnamed33(); } buildCounterDatasetAccessEntry--; return o; @@ -1941,17 +1981,17 @@ void checkDatasetAccessEntry(api.DatasetAccessEntry o) { buildCounterDatasetAccessEntry++; if (buildCounterDatasetAccessEntry < 3) { checkDatasetReference(o.dataset!); - checkUnnamed32(o.targetTypes!); + checkUnnamed33(o.targetTypes!); } buildCounterDatasetAccessEntry--; } -core.Map buildUnnamed33() => { +core.Map buildUnnamed34() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed33(core.Map o) { +void checkUnnamed34(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1972,7 +2012,7 @@ api.DatasetListDatasets buildDatasetListDatasets() { o.friendlyName = 'foo'; o.id = 'foo'; o.kind = 'foo'; - o.labels = buildUnnamed33(); + o.labels = buildUnnamed34(); o.location = 'foo'; } buildCounterDatasetListDatasets--; @@ -1995,7 +2035,7 @@ void checkDatasetListDatasets(api.DatasetListDatasets o) { o.kind!, unittest.equals('foo'), ); - checkUnnamed33(o.labels!); + checkUnnamed34(o.labels!); unittest.expect( o.location!, unittest.equals('foo'), @@ -2004,23 +2044,23 @@ void checkDatasetListDatasets(api.DatasetListDatasets o) { buildCounterDatasetListDatasets--; } -core.List buildUnnamed34() => [ +core.List buildUnnamed35() => [ buildDatasetListDatasets(), buildDatasetListDatasets(), ]; -void checkUnnamed34(core.List o) { +void checkUnnamed35(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDatasetListDatasets(o[0]); checkDatasetListDatasets(o[1]); } -core.List buildUnnamed35() => [ +core.List buildUnnamed36() => [ 'foo', 'foo', ]; -void checkUnnamed35(core.List o) { +void checkUnnamed36(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2037,11 +2077,11 @@ api.DatasetList buildDatasetList() { final o = api.DatasetList(); buildCounterDatasetList++; if (buildCounterDatasetList < 3) { - o.datasets = buildUnnamed34(); + o.datasets = buildUnnamed35(); o.etag = 'foo'; o.kind = 'foo'; o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed35(); + o.unreachable = buildUnnamed36(); } buildCounterDatasetList--; return o; @@ -2050,7 +2090,7 @@ api.DatasetList buildDatasetList() { void checkDatasetList(api.DatasetList o) { buildCounterDatasetList++; if (buildCounterDatasetList < 3) { - checkUnnamed34(o.datasets!); + checkUnnamed35(o.datasets!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -2063,7 +2103,7 @@ void checkDatasetList(api.DatasetList o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed35(o.unreachable!); + checkUnnamed36(o.unreachable!); } buildCounterDatasetList--; } @@ -2095,12 +2135,12 @@ void checkDatasetReference(api.DatasetReference o) { buildCounterDatasetReference--; } -core.Map buildUnnamed36() => { +core.Map buildUnnamed37() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed36(core.Map o) { +void checkUnnamed37(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2120,7 +2160,7 @@ api.DestinationTableProperties buildDestinationTableProperties() { o.description = 'foo'; o.expirationTime = core.DateTime.parse('2002-02-27T14:01:02Z'); o.friendlyName = 'foo'; - o.labels = buildUnnamed36(); + o.labels = buildUnnamed37(); } buildCounterDestinationTableProperties--; return o; @@ -2141,7 +2181,7 @@ void checkDestinationTableProperties(api.DestinationTableProperties o) { o.friendlyName!, unittest.equals('foo'), ); - checkUnnamed36(o.labels!); + checkUnnamed37(o.labels!); } buildCounterDestinationTableProperties--; } @@ -2257,12 +2297,12 @@ void checkDmlStatistics(api.DmlStatistics o) { buildCounterDmlStatistics--; } -core.List buildUnnamed37() => [ +core.List buildUnnamed38() => [ 42.0, 42.0, ]; -void checkUnnamed37(core.List o) { +void checkUnnamed38(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2279,7 +2319,7 @@ api.DoubleCandidates buildDoubleCandidates() { final o = api.DoubleCandidates(); buildCounterDoubleCandidates++; if (buildCounterDoubleCandidates < 3) { - o.candidates = buildUnnamed37(); + o.candidates = buildUnnamed38(); } buildCounterDoubleCandidates--; return o; @@ -2288,7 +2328,7 @@ api.DoubleCandidates buildDoubleCandidates() { void checkDoubleCandidates(api.DoubleCandidates o) { buildCounterDoubleCandidates++; if (buildCounterDoubleCandidates < 3) { - checkUnnamed37(o.candidates!); + checkUnnamed38(o.candidates!); } buildCounterDoubleCandidates--; } @@ -2458,12 +2498,12 @@ void checkEvaluationMetrics(api.EvaluationMetrics o) { buildCounterEvaluationMetrics--; } -core.List buildUnnamed38() => [ +core.List buildUnnamed39() => [ 'foo', 'foo', ]; -void checkUnnamed38(core.List o) { +void checkUnnamed39(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2475,12 +2515,12 @@ void checkUnnamed38(core.List o) { ); } -core.List buildUnnamed39() => [ +core.List buildUnnamed40() => [ buildExplainQueryStep(), buildExplainQueryStep(), ]; -void checkUnnamed39(core.List o) { +void checkUnnamed40(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExplainQueryStep(o[0]); checkExplainQueryStep(o[1]); @@ -2499,7 +2539,7 @@ api.ExplainQueryStage buildExplainQueryStage() { o.computeRatioMax = 42.0; o.endMs = 'foo'; o.id = 'foo'; - o.inputStages = buildUnnamed38(); + o.inputStages = buildUnnamed39(); o.name = 'foo'; o.parallelInputs = 'foo'; o.readMsAvg = 'foo'; @@ -2513,7 +2553,7 @@ api.ExplainQueryStage buildExplainQueryStage() { o.slotMs = 'foo'; o.startMs = 'foo'; o.status = 'foo'; - o.steps = buildUnnamed39(); + o.steps = buildUnnamed40(); o.waitMsAvg = 'foo'; o.waitMsMax = 'foo'; o.waitRatioAvg = 42.0; @@ -2562,7 +2602,7 @@ void checkExplainQueryStage(api.ExplainQueryStage o) { o.id!, unittest.equals('foo'), ); - checkUnnamed38(o.inputStages!); + checkUnnamed39(o.inputStages!); unittest.expect( o.name!, unittest.equals('foo'), @@ -2615,7 +2655,7 @@ void checkExplainQueryStage(api.ExplainQueryStage o) { o.status!, unittest.equals('foo'), ); - checkUnnamed39(o.steps!); + checkUnnamed40(o.steps!); unittest.expect( o.waitMsAvg!, unittest.equals('foo'), @@ -2652,12 +2692,12 @@ void checkExplainQueryStage(api.ExplainQueryStage o) { buildCounterExplainQueryStage--; } -core.List buildUnnamed40() => [ +core.List buildUnnamed41() => [ 'foo', 'foo', ]; -void checkUnnamed40(core.List o) { +void checkUnnamed41(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2675,7 +2715,7 @@ api.ExplainQueryStep buildExplainQueryStep() { buildCounterExplainQueryStep++; if (buildCounterExplainQueryStep < 3) { o.kind = 'foo'; - o.substeps = buildUnnamed40(); + o.substeps = buildUnnamed41(); } buildCounterExplainQueryStep--; return o; @@ -2688,7 +2728,7 @@ void checkExplainQueryStep(api.ExplainQueryStep o) { o.kind!, unittest.equals('foo'), ); - checkUnnamed40(o.substeps!); + checkUnnamed41(o.substeps!); } buildCounterExplainQueryStep--; } @@ -2784,12 +2824,12 @@ void checkExpr(api.Expr o) { buildCounterExpr--; } -core.Map buildUnnamed41() => { +core.Map buildUnnamed42() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed41(core.Map o) { +void checkUnnamed42(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2807,7 +2847,7 @@ api.ExternalCatalogDatasetOptions buildExternalCatalogDatasetOptions() { buildCounterExternalCatalogDatasetOptions++; if (buildCounterExternalCatalogDatasetOptions < 3) { o.defaultStorageLocationUri = 'foo'; - o.parameters = buildUnnamed41(); + o.parameters = buildUnnamed42(); } buildCounterExternalCatalogDatasetOptions--; return o; @@ -2820,17 +2860,17 @@ void checkExternalCatalogDatasetOptions(api.ExternalCatalogDatasetOptions o) { o.defaultStorageLocationUri!, unittest.equals('foo'), ); - checkUnnamed41(o.parameters!); + checkUnnamed42(o.parameters!); } buildCounterExternalCatalogDatasetOptions--; } -core.Map buildUnnamed42() => { +core.Map buildUnnamed43() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed42(core.Map o) { +void checkUnnamed43(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2848,7 +2888,7 @@ api.ExternalCatalogTableOptions buildExternalCatalogTableOptions() { buildCounterExternalCatalogTableOptions++; if (buildCounterExternalCatalogTableOptions < 3) { o.connectionId = 'foo'; - o.parameters = buildUnnamed42(); + o.parameters = buildUnnamed43(); o.storageDescriptor = buildStorageDescriptor(); } buildCounterExternalCatalogTableOptions--; @@ -2862,18 +2902,18 @@ void checkExternalCatalogTableOptions(api.ExternalCatalogTableOptions o) { o.connectionId!, unittest.equals('foo'), ); - checkUnnamed42(o.parameters!); + checkUnnamed43(o.parameters!); checkStorageDescriptor(o.storageDescriptor!); } buildCounterExternalCatalogTableOptions--; } -core.List buildUnnamed43() => [ +core.List buildUnnamed44() => [ 'foo', 'foo', ]; -void checkUnnamed43(core.List o) { +void checkUnnamed44(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2885,12 +2925,12 @@ void checkUnnamed43(core.List o) { ); } -core.List buildUnnamed44() => [ +core.List buildUnnamed45() => [ 'foo', 'foo', ]; -void checkUnnamed44(core.List o) { +void checkUnnamed45(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2913,7 +2953,9 @@ api.ExternalDataConfiguration buildExternalDataConfiguration() { o.compression = 'foo'; o.connectionId = 'foo'; o.csvOptions = buildCsvOptions(); - o.decimalTargetTypes = buildUnnamed43(); + o.dateFormat = 'foo'; + o.datetimeFormat = 'foo'; + o.decimalTargetTypes = buildUnnamed44(); o.fileSetSpecType = 'foo'; o.googleSheetsOptions = buildGoogleSheetsOptions(); o.hivePartitioningOptions = buildHivePartitioningOptions(); @@ -2927,7 +2969,10 @@ api.ExternalDataConfiguration buildExternalDataConfiguration() { o.referenceFileSchemaUri = 'foo'; o.schema = buildTableSchema(); o.sourceFormat = 'foo'; - o.sourceUris = buildUnnamed44(); + o.sourceUris = buildUnnamed45(); + o.timeFormat = 'foo'; + o.timeZone = 'foo'; + o.timestampFormat = 'foo'; } buildCounterExternalDataConfiguration--; return o; @@ -2948,7 +2993,15 @@ void checkExternalDataConfiguration(api.ExternalDataConfiguration o) { unittest.equals('foo'), ); checkCsvOptions(o.csvOptions!); - checkUnnamed43(o.decimalTargetTypes!); + unittest.expect( + o.dateFormat!, + unittest.equals('foo'), + ); + unittest.expect( + o.datetimeFormat!, + unittest.equals('foo'), + ); + checkUnnamed44(o.decimalTargetTypes!); unittest.expect( o.fileSetSpecType!, unittest.equals('foo'), @@ -2983,7 +3036,19 @@ void checkExternalDataConfiguration(api.ExternalDataConfiguration o) { o.sourceFormat!, unittest.equals('foo'), ); - checkUnnamed44(o.sourceUris!); + checkUnnamed45(o.sourceUris!); + unittest.expect( + o.timeFormat!, + unittest.equals('foo'), + ); + unittest.expect( + o.timeZone!, + unittest.equals('foo'), + ); + unittest.expect( + o.timestampFormat!, + unittest.equals('foo'), + ); } buildCounterExternalDataConfiguration--; } @@ -3176,23 +3241,23 @@ void checkGetPolicyOptions(api.GetPolicyOptions o) { buildCounterGetPolicyOptions--; } -core.List buildUnnamed45() => [ +core.List buildUnnamed46() => [ buildErrorProto(), buildErrorProto(), ]; -void checkUnnamed45(core.List o) { +void checkUnnamed46(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkErrorProto(o[0]); checkErrorProto(o[1]); } -core.List buildUnnamed46() => [ +core.List buildUnnamed47() => [ buildTableRow(), buildTableRow(), ]; -void checkUnnamed46(core.List o) { +void checkUnnamed47(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTableRow(o[0]); checkTableRow(o[1]); @@ -3204,14 +3269,14 @@ api.GetQueryResultsResponse buildGetQueryResultsResponse() { buildCounterGetQueryResultsResponse++; if (buildCounterGetQueryResultsResponse < 3) { o.cacheHit = true; - o.errors = buildUnnamed45(); + o.errors = buildUnnamed46(); o.etag = 'foo'; o.jobComplete = true; o.jobReference = buildJobReference(); o.kind = 'foo'; o.numDmlAffectedRows = 'foo'; o.pageToken = 'foo'; - o.rows = buildUnnamed46(); + o.rows = buildUnnamed47(); o.schema = buildTableSchema(); o.totalBytesProcessed = 'foo'; o.totalRows = 'foo'; @@ -3224,7 +3289,7 @@ void checkGetQueryResultsResponse(api.GetQueryResultsResponse o) { buildCounterGetQueryResultsResponse++; if (buildCounterGetQueryResultsResponse < 3) { unittest.expect(o.cacheHit!, unittest.isTrue); - checkUnnamed45(o.errors!); + checkUnnamed46(o.errors!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -3243,7 +3308,7 @@ void checkGetQueryResultsResponse(api.GetQueryResultsResponse o) { o.pageToken!, unittest.equals('foo'), ); - checkUnnamed46(o.rows!); + checkUnnamed47(o.rows!); checkTableSchema(o.schema!); unittest.expect( o.totalBytesProcessed!, @@ -3284,12 +3349,12 @@ void checkGetServiceAccountResponse(api.GetServiceAccountResponse o) { buildCounterGetServiceAccountResponse--; } -core.List buildUnnamed47() => [ +core.List buildUnnamed48() => [ buildExplanation(), buildExplanation(), ]; -void checkUnnamed47(core.List o) { +void checkUnnamed48(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExplanation(o[0]); checkExplanation(o[1]); @@ -3301,7 +3366,7 @@ api.GlobalExplanation buildGlobalExplanation() { buildCounterGlobalExplanation++; if (buildCounterGlobalExplanation < 3) { o.classLabel = 'foo'; - o.explanations = buildUnnamed47(); + o.explanations = buildUnnamed48(); } buildCounterGlobalExplanation--; return o; @@ -3314,7 +3379,7 @@ void checkGlobalExplanation(api.GlobalExplanation o) { o.classLabel!, unittest.equals('foo'), ); - checkUnnamed47(o.explanations!); + checkUnnamed48(o.explanations!); } buildCounterGlobalExplanation--; } @@ -3383,12 +3448,12 @@ void checkHighCardinalityJoin(api.HighCardinalityJoin o) { buildCounterHighCardinalityJoin--; } -core.List buildUnnamed48() => [ +core.List buildUnnamed49() => [ 'foo', 'foo', ]; -void checkUnnamed48(core.List o) { +void checkUnnamed49(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3405,7 +3470,7 @@ api.HivePartitioningOptions buildHivePartitioningOptions() { final o = api.HivePartitioningOptions(); buildCounterHivePartitioningOptions++; if (buildCounterHivePartitioningOptions < 3) { - o.fields = buildUnnamed48(); + o.fields = buildUnnamed49(); o.mode = 'foo'; o.requirePartitionFilter = true; o.sourceUriPrefix = 'foo'; @@ -3417,7 +3482,7 @@ api.HivePartitioningOptions buildHivePartitioningOptions() { void checkHivePartitioningOptions(api.HivePartitioningOptions o) { buildCounterHivePartitioningOptions++; if (buildCounterHivePartitioningOptions < 3) { - checkUnnamed48(o.fields!); + checkUnnamed49(o.fields!); unittest.expect( o.mode!, unittest.equals('foo'), @@ -3606,12 +3671,12 @@ void checkInputDataChange(api.InputDataChange o) { buildCounterInputDataChange--; } -core.List buildUnnamed49() => [ +core.List buildUnnamed50() => [ 'foo', 'foo', ]; -void checkUnnamed49(core.List o) { +void checkUnnamed50(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3628,7 +3693,7 @@ api.IntArray buildIntArray() { final o = api.IntArray(); buildCounterIntArray++; if (buildCounterIntArray < 3) { - o.elements = buildUnnamed49(); + o.elements = buildUnnamed50(); } buildCounterIntArray--; return o; @@ -3637,17 +3702,17 @@ api.IntArray buildIntArray() { void checkIntArray(api.IntArray o) { buildCounterIntArray++; if (buildCounterIntArray < 3) { - checkUnnamed49(o.elements!); + checkUnnamed50(o.elements!); } buildCounterIntArray--; } -core.List buildUnnamed50() => [ +core.List buildUnnamed51() => [ buildIntArray(), buildIntArray(), ]; -void checkUnnamed50(core.List o) { +void checkUnnamed51(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkIntArray(o[0]); checkIntArray(o[1]); @@ -3658,7 +3723,7 @@ api.IntArrayHparamSearchSpace buildIntArrayHparamSearchSpace() { final o = api.IntArrayHparamSearchSpace(); buildCounterIntArrayHparamSearchSpace++; if (buildCounterIntArrayHparamSearchSpace < 3) { - o.candidates = buildUnnamed50(); + o.candidates = buildUnnamed51(); } buildCounterIntArrayHparamSearchSpace--; return o; @@ -3667,17 +3732,17 @@ api.IntArrayHparamSearchSpace buildIntArrayHparamSearchSpace() { void checkIntArrayHparamSearchSpace(api.IntArrayHparamSearchSpace o) { buildCounterIntArrayHparamSearchSpace++; if (buildCounterIntArrayHparamSearchSpace < 3) { - checkUnnamed50(o.candidates!); + checkUnnamed51(o.candidates!); } buildCounterIntArrayHparamSearchSpace--; } -core.List buildUnnamed51() => [ +core.List buildUnnamed52() => [ 'foo', 'foo', ]; -void checkUnnamed51(core.List o) { +void checkUnnamed52(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3694,7 +3759,7 @@ api.IntCandidates buildIntCandidates() { final o = api.IntCandidates(); buildCounterIntCandidates++; if (buildCounterIntCandidates < 3) { - o.candidates = buildUnnamed51(); + o.candidates = buildUnnamed52(); } buildCounterIntCandidates--; return o; @@ -3703,7 +3768,7 @@ api.IntCandidates buildIntCandidates() { void checkIntCandidates(api.IntCandidates o) { buildCounterIntCandidates++; if (buildCounterIntCandidates < 3) { - checkUnnamed51(o.candidates!); + checkUnnamed52(o.candidates!); } buildCounterIntCandidates--; } @@ -3756,23 +3821,23 @@ void checkIntRange(api.IntRange o) { buildCounterIntRange--; } -core.List buildUnnamed52() => [ +core.List buildUnnamed53() => [ buildClusterInfo(), buildClusterInfo(), ]; -void checkUnnamed52(core.List o) { +void checkUnnamed53(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkClusterInfo(o[0]); checkClusterInfo(o[1]); } -core.List buildUnnamed53() => [ +core.List buildUnnamed54() => [ buildPrincipalComponentInfo(), buildPrincipalComponentInfo(), ]; -void checkUnnamed53(core.List o) { +void checkUnnamed54(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPrincipalComponentInfo(o[0]); checkPrincipalComponentInfo(o[1]); @@ -3784,12 +3849,12 @@ api.IterationResult buildIterationResult() { buildCounterIterationResult++; if (buildCounterIterationResult < 3) { o.arimaResult = buildArimaResult(); - o.clusterInfos = buildUnnamed52(); + o.clusterInfos = buildUnnamed53(); o.durationMs = 'foo'; o.evalLoss = 42.0; o.index = 42; o.learnRate = 42.0; - o.principalComponentInfos = buildUnnamed53(); + o.principalComponentInfos = buildUnnamed54(); o.trainingLoss = 42.0; } buildCounterIterationResult--; @@ -3800,7 +3865,7 @@ void checkIterationResult(api.IterationResult o) { buildCounterIterationResult++; if (buildCounterIterationResult < 3) { checkArimaResult(o.arimaResult!); - checkUnnamed52(o.clusterInfos!); + checkUnnamed53(o.clusterInfos!); unittest.expect( o.durationMs!, unittest.equals('foo'), @@ -3817,7 +3882,7 @@ void checkIterationResult(api.IterationResult o) { o.learnRate!, unittest.equals(42.0), ); - checkUnnamed53(o.principalComponentInfos!); + checkUnnamed54(o.principalComponentInfos!); unittest.expect( o.trainingLoss!, unittest.equals(42.0), @@ -3907,12 +3972,12 @@ void checkJobCancelResponse(api.JobCancelResponse o) { buildCounterJobCancelResponse--; } -core.Map buildUnnamed54() => { +core.Map buildUnnamed55() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed54(core.Map o) { +void checkUnnamed55(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3934,7 +3999,7 @@ api.JobConfiguration buildJobConfiguration() { o.extract = buildJobConfigurationExtract(); o.jobTimeoutMs = 'foo'; o.jobType = 'foo'; - o.labels = buildUnnamed54(); + o.labels = buildUnnamed55(); o.load = buildJobConfigurationLoad(); o.query = buildJobConfigurationQuery(); } @@ -3956,19 +4021,19 @@ void checkJobConfiguration(api.JobConfiguration o) { o.jobType!, unittest.equals('foo'), ); - checkUnnamed54(o.labels!); + checkUnnamed55(o.labels!); checkJobConfigurationLoad(o.load!); checkJobConfigurationQuery(o.query!); } buildCounterJobConfiguration--; } -core.List buildUnnamed55() => [ +core.List buildUnnamed56() => [ 'foo', 'foo', ]; -void checkUnnamed55(core.List o) { +void checkUnnamed56(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3988,7 +4053,7 @@ api.JobConfigurationExtract buildJobConfigurationExtract() { o.compression = 'foo'; o.destinationFormat = 'foo'; o.destinationUri = 'foo'; - o.destinationUris = buildUnnamed55(); + o.destinationUris = buildUnnamed56(); o.fieldDelimiter = 'foo'; o.modelExtractOptions = buildModelExtractOptions(); o.printHeader = true; @@ -4015,7 +4080,7 @@ void checkJobConfigurationExtract(api.JobConfigurationExtract o) { o.destinationUri!, unittest.equals('foo'), ); - checkUnnamed55(o.destinationUris!); + checkUnnamed56(o.destinationUris!); unittest.expect( o.fieldDelimiter!, unittest.equals('foo'), @@ -4029,23 +4094,23 @@ void checkJobConfigurationExtract(api.JobConfigurationExtract o) { buildCounterJobConfigurationExtract--; } -core.List buildUnnamed56() => [ +core.List buildUnnamed57() => [ buildConnectionProperty(), buildConnectionProperty(), ]; -void checkUnnamed56(core.List o) { +void checkUnnamed57(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConnectionProperty(o[0]); checkConnectionProperty(o[1]); } -core.List buildUnnamed57() => [ +core.List buildUnnamed58() => [ 'foo', 'foo', ]; -void checkUnnamed57(core.List o) { +void checkUnnamed58(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4057,12 +4122,12 @@ void checkUnnamed57(core.List o) { ); } -core.List buildUnnamed58() => [ +core.List buildUnnamed59() => [ 'foo', 'foo', ]; -void checkUnnamed58(core.List o) { +void checkUnnamed59(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4074,12 +4139,12 @@ void checkUnnamed58(core.List o) { ); } -core.List buildUnnamed59() => [ +core.List buildUnnamed60() => [ 'foo', 'foo', ]; -void checkUnnamed59(core.List o) { +void checkUnnamed60(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4091,12 +4156,12 @@ void checkUnnamed59(core.List o) { ); } -core.List buildUnnamed60() => [ +core.List buildUnnamed61() => [ 'foo', 'foo', ]; -void checkUnnamed60(core.List o) { +void checkUnnamed61(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4118,11 +4183,13 @@ api.JobConfigurationLoad buildJobConfigurationLoad() { o.autodetect = true; o.clustering = buildClustering(); o.columnNameCharacterMap = 'foo'; - o.connectionProperties = buildUnnamed56(); + o.connectionProperties = buildUnnamed57(); o.copyFilesOnly = true; o.createDisposition = 'foo'; o.createSession = true; - o.decimalTargetTypes = buildUnnamed57(); + o.dateFormat = 'foo'; + o.datetimeFormat = 'foo'; + o.decimalTargetTypes = buildUnnamed58(); o.destinationEncryptionConfiguration = buildEncryptionConfiguration(); o.destinationTable = buildTableReference(); o.destinationTableProperties = buildDestinationTableProperties(); @@ -4136,18 +4203,21 @@ api.JobConfigurationLoad buildJobConfigurationLoad() { o.nullMarker = 'foo'; o.parquetOptions = buildParquetOptions(); o.preserveAsciiControlCharacters = true; - o.projectionFields = buildUnnamed58(); + o.projectionFields = buildUnnamed59(); o.quote = 'foo'; o.rangePartitioning = buildRangePartitioning(); o.referenceFileSchemaUri = 'foo'; o.schema = buildTableSchema(); o.schemaInline = 'foo'; o.schemaInlineFormat = 'foo'; - o.schemaUpdateOptions = buildUnnamed59(); + o.schemaUpdateOptions = buildUnnamed60(); o.skipLeadingRows = 42; o.sourceFormat = 'foo'; - o.sourceUris = buildUnnamed60(); + o.sourceUris = buildUnnamed61(); + o.timeFormat = 'foo'; o.timePartitioning = buildTimePartitioning(); + o.timeZone = 'foo'; + o.timestampFormat = 'foo'; o.useAvroLogicalTypes = true; o.writeDisposition = 'foo'; } @@ -4166,14 +4236,22 @@ void checkJobConfigurationLoad(api.JobConfigurationLoad o) { o.columnNameCharacterMap!, unittest.equals('foo'), ); - checkUnnamed56(o.connectionProperties!); + checkUnnamed57(o.connectionProperties!); unittest.expect(o.copyFilesOnly!, unittest.isTrue); unittest.expect( o.createDisposition!, unittest.equals('foo'), ); unittest.expect(o.createSession!, unittest.isTrue); - checkUnnamed57(o.decimalTargetTypes!); + unittest.expect( + o.dateFormat!, + unittest.equals('foo'), + ); + unittest.expect( + o.datetimeFormat!, + unittest.equals('foo'), + ); + checkUnnamed58(o.decimalTargetTypes!); checkEncryptionConfiguration(o.destinationEncryptionConfiguration!); checkTableReference(o.destinationTable!); checkDestinationTableProperties(o.destinationTableProperties!); @@ -4205,7 +4283,7 @@ void checkJobConfigurationLoad(api.JobConfigurationLoad o) { ); checkParquetOptions(o.parquetOptions!); unittest.expect(o.preserveAsciiControlCharacters!, unittest.isTrue); - checkUnnamed58(o.projectionFields!); + checkUnnamed59(o.projectionFields!); unittest.expect( o.quote!, unittest.equals('foo'), @@ -4224,7 +4302,7 @@ void checkJobConfigurationLoad(api.JobConfigurationLoad o) { o.schemaInlineFormat!, unittest.equals('foo'), ); - checkUnnamed59(o.schemaUpdateOptions!); + checkUnnamed60(o.schemaUpdateOptions!); unittest.expect( o.skipLeadingRows!, unittest.equals(42), @@ -4233,8 +4311,20 @@ void checkJobConfigurationLoad(api.JobConfigurationLoad o) { o.sourceFormat!, unittest.equals('foo'), ); - checkUnnamed60(o.sourceUris!); + checkUnnamed61(o.sourceUris!); + unittest.expect( + o.timeFormat!, + unittest.equals('foo'), + ); checkTimePartitioning(o.timePartitioning!); + unittest.expect( + o.timeZone!, + unittest.equals('foo'), + ); + unittest.expect( + o.timestampFormat!, + unittest.equals('foo'), + ); unittest.expect(o.useAvroLogicalTypes!, unittest.isTrue); unittest.expect( o.writeDisposition!, @@ -4244,34 +4334,34 @@ void checkJobConfigurationLoad(api.JobConfigurationLoad o) { buildCounterJobConfigurationLoad--; } -core.List buildUnnamed61() => [ +core.List buildUnnamed62() => [ buildConnectionProperty(), buildConnectionProperty(), ]; -void checkUnnamed61(core.List o) { +void checkUnnamed62(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConnectionProperty(o[0]); checkConnectionProperty(o[1]); } -core.List buildUnnamed62() => [ +core.List buildUnnamed63() => [ buildQueryParameter(), buildQueryParameter(), ]; -void checkUnnamed62(core.List o) { +void checkUnnamed63(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkQueryParameter(o[0]); checkQueryParameter(o[1]); } -core.List buildUnnamed63() => [ +core.List buildUnnamed64() => [ 'foo', 'foo', ]; -void checkUnnamed63(core.List o) { +void checkUnnamed64(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4283,23 +4373,23 @@ void checkUnnamed63(core.List o) { ); } -core.Map buildUnnamed64() => { +core.Map buildUnnamed65() => { 'x': buildExternalDataConfiguration(), 'y': buildExternalDataConfiguration(), }; -void checkUnnamed64(core.Map o) { +void checkUnnamed65(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkExternalDataConfiguration(o['x']!); checkExternalDataConfiguration(o['y']!); } -core.List buildUnnamed65() => [ +core.List buildUnnamed66() => [ buildUserDefinedFunctionResource(), buildUserDefinedFunctionResource(), ]; -void checkUnnamed65(core.List o) { +void checkUnnamed66(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUserDefinedFunctionResource(o[0]); checkUserDefinedFunctionResource(o[1]); @@ -4312,7 +4402,7 @@ api.JobConfigurationQuery buildJobConfigurationQuery() { if (buildCounterJobConfigurationQuery < 3) { o.allowLargeResults = true; o.clustering = buildClustering(); - o.connectionProperties = buildUnnamed61(); + o.connectionProperties = buildUnnamed62(); o.continuous = true; o.createDisposition = 'foo'; o.createSession = true; @@ -4326,17 +4416,18 @@ api.JobConfigurationQuery buildJobConfigurationQuery() { o.preserveNulls = true; o.priority = 'foo'; o.query = 'foo'; - o.queryParameters = buildUnnamed62(); + o.queryParameters = buildUnnamed63(); o.rangePartitioning = buildRangePartitioning(); - o.schemaUpdateOptions = buildUnnamed63(); + o.schemaUpdateOptions = buildUnnamed64(); o.scriptOptions = buildScriptOptions(); o.systemVariables = buildSystemVariables(); - o.tableDefinitions = buildUnnamed64(); + o.tableDefinitions = buildUnnamed65(); o.timePartitioning = buildTimePartitioning(); o.useLegacySql = true; o.useQueryCache = true; - o.userDefinedFunctionResources = buildUnnamed65(); + o.userDefinedFunctionResources = buildUnnamed66(); o.writeDisposition = 'foo'; + o.writeIncrementalResults = true; } buildCounterJobConfigurationQuery--; return o; @@ -4347,7 +4438,7 @@ void checkJobConfigurationQuery(api.JobConfigurationQuery o) { if (buildCounterJobConfigurationQuery < 3) { unittest.expect(o.allowLargeResults!, unittest.isTrue); checkClustering(o.clustering!); - checkUnnamed61(o.connectionProperties!); + checkUnnamed62(o.connectionProperties!); unittest.expect(o.continuous!, unittest.isTrue); unittest.expect( o.createDisposition!, @@ -4379,30 +4470,31 @@ void checkJobConfigurationQuery(api.JobConfigurationQuery o) { o.query!, unittest.equals('foo'), ); - checkUnnamed62(o.queryParameters!); + checkUnnamed63(o.queryParameters!); checkRangePartitioning(o.rangePartitioning!); - checkUnnamed63(o.schemaUpdateOptions!); + checkUnnamed64(o.schemaUpdateOptions!); checkScriptOptions(o.scriptOptions!); checkSystemVariables(o.systemVariables!); - checkUnnamed64(o.tableDefinitions!); + checkUnnamed65(o.tableDefinitions!); checkTimePartitioning(o.timePartitioning!); unittest.expect(o.useLegacySql!, unittest.isTrue); unittest.expect(o.useQueryCache!, unittest.isTrue); - checkUnnamed65(o.userDefinedFunctionResources!); + checkUnnamed66(o.userDefinedFunctionResources!); unittest.expect( o.writeDisposition!, unittest.equals('foo'), ); + unittest.expect(o.writeIncrementalResults!, unittest.isTrue); } buildCounterJobConfigurationQuery--; } -core.List buildUnnamed66() => [ +core.List buildUnnamed67() => [ buildTableReference(), buildTableReference(), ]; -void checkUnnamed66(core.List o) { +void checkUnnamed67(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTableReference(o[0]); checkTableReference(o[1]); @@ -4419,7 +4511,7 @@ api.JobConfigurationTableCopy buildJobConfigurationTableCopy() { o.destinationTable = buildTableReference(); o.operationType = 'foo'; o.sourceTable = buildTableReference(); - o.sourceTables = buildUnnamed66(); + o.sourceTables = buildUnnamed67(); o.writeDisposition = 'foo'; } buildCounterJobConfigurationTableCopy--; @@ -4444,7 +4536,7 @@ void checkJobConfigurationTableCopy(api.JobConfigurationTableCopy o) { unittest.equals('foo'), ); checkTableReference(o.sourceTable!); - checkUnnamed66(o.sourceTables!); + checkUnnamed67(o.sourceTables!); unittest.expect( o.writeDisposition!, unittest.equals('foo'), @@ -4527,23 +4619,23 @@ void checkJobListJobs(api.JobListJobs o) { buildCounterJobListJobs--; } -core.List buildUnnamed67() => [ +core.List buildUnnamed68() => [ buildJobListJobs(), buildJobListJobs(), ]; -void checkUnnamed67(core.List o) { +void checkUnnamed68(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkJobListJobs(o[0]); checkJobListJobs(o[1]); } -core.List buildUnnamed68() => [ +core.List buildUnnamed69() => [ 'foo', 'foo', ]; -void checkUnnamed68(core.List o) { +void checkUnnamed69(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4561,10 +4653,10 @@ api.JobList buildJobList() { buildCounterJobList++; if (buildCounterJobList < 3) { o.etag = 'foo'; - o.jobs = buildUnnamed67(); + o.jobs = buildUnnamed68(); o.kind = 'foo'; o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed68(); + o.unreachable = buildUnnamed69(); } buildCounterJobList--; return o; @@ -4577,7 +4669,7 @@ void checkJobList(api.JobList o) { o.etag!, unittest.equals('foo'), ); - checkUnnamed67(o.jobs!); + checkUnnamed68(o.jobs!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -4586,7 +4678,7 @@ void checkJobList(api.JobList o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed68(o.unreachable!); + checkUnnamed69(o.unreachable!); } buildCounterJobList--; } @@ -4623,12 +4715,12 @@ void checkJobReference(api.JobReference o) { buildCounterJobReference--; } -core.List buildUnnamed69() => [ +core.List buildUnnamed70() => [ 'foo', 'foo', ]; -void checkUnnamed69(core.List o) { +void checkUnnamed70(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4667,12 +4759,12 @@ void checkJobStatisticsReservationUsage(api.JobStatisticsReservationUsage o) { buildCounterJobStatisticsReservationUsage--; } -core.List buildUnnamed70() => [ +core.List buildUnnamed71() => [ buildJobStatisticsReservationUsage(), buildJobStatisticsReservationUsage(), ]; -void checkUnnamed70(core.List o) { +void checkUnnamed71(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkJobStatisticsReservationUsage(o[0]); checkJobStatisticsReservationUsage(o[1]); @@ -4695,8 +4787,8 @@ api.JobStatistics buildJobStatistics() { o.numChildJobs = 'foo'; o.parentJobId = 'foo'; o.query = buildJobStatistics2(); - o.quotaDeferments = buildUnnamed69(); - o.reservationUsage = buildUnnamed70(); + o.quotaDeferments = buildUnnamed70(); + o.reservationUsage = buildUnnamed71(); o.reservationId = 'foo'; o.rowLevelSecurityStatistics = buildRowLevelSecurityStatistics(); o.scriptStatistics = buildScriptStatistics(); @@ -4746,8 +4838,8 @@ void checkJobStatistics(api.JobStatistics o) { unittest.equals('foo'), ); checkJobStatistics2(o.query!); - checkUnnamed69(o.quotaDeferments!); - checkUnnamed70(o.reservationUsage!); + checkUnnamed70(o.quotaDeferments!); + checkUnnamed71(o.reservationUsage!); unittest.expect( o.reservationId!, unittest.equals('foo'), @@ -4772,45 +4864,45 @@ void checkJobStatistics(api.JobStatistics o) { buildCounterJobStatistics--; } -core.List buildUnnamed71() => [ +core.List buildUnnamed72() => [ buildExternalServiceCost(), buildExternalServiceCost(), ]; -void checkUnnamed71(core.List o) { +void checkUnnamed72(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExternalServiceCost(o[0]); checkExternalServiceCost(o[1]); } -core.List buildUnnamed72() => [ +core.List buildUnnamed73() => [ buildExplainQueryStage(), buildExplainQueryStage(), ]; -void checkUnnamed72(core.List o) { +void checkUnnamed73(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExplainQueryStage(o[0]); checkExplainQueryStage(o[1]); } -core.List buildUnnamed73() => [ +core.List buildUnnamed74() => [ buildRoutineReference(), buildRoutineReference(), ]; -void checkUnnamed73(core.List o) { +void checkUnnamed74(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRoutineReference(o[0]); checkRoutineReference(o[1]); } -core.List buildUnnamed74() => [ +core.List buildUnnamed75() => [ buildTableReference(), buildTableReference(), ]; -void checkUnnamed74(core.List o) { +void checkUnnamed75(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTableReference(o[0]); checkTableReference(o[1]); @@ -4843,34 +4935,34 @@ void checkJobStatistics2ReservationUsage(api.JobStatistics2ReservationUsage o) { buildCounterJobStatistics2ReservationUsage--; } -core.List buildUnnamed75() => [ +core.List buildUnnamed76() => [ buildJobStatistics2ReservationUsage(), buildJobStatistics2ReservationUsage(), ]; -void checkUnnamed75(core.List o) { +void checkUnnamed76(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkJobStatistics2ReservationUsage(o[0]); checkJobStatistics2ReservationUsage(o[1]); } -core.List buildUnnamed76() => [ +core.List buildUnnamed77() => [ buildQueryTimelineSample(), buildQueryTimelineSample(), ]; -void checkUnnamed76(core.List o) { +void checkUnnamed77(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkQueryTimelineSample(o[0]); checkQueryTimelineSample(o[1]); } -core.List buildUnnamed77() => [ +core.List buildUnnamed78() => [ buildQueryParameter(), buildQueryParameter(), ]; -void checkUnnamed77(core.List o) { +void checkUnnamed78(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkQueryParameter(o[0]); checkQueryParameter(o[1]); @@ -4897,7 +4989,7 @@ api.JobStatistics2 buildJobStatistics2() { o.dmlStats = buildDmlStatistics(); o.estimatedBytesProcessed = 'foo'; o.exportDataStatistics = buildExportDataStatistics(); - o.externalServiceCosts = buildUnnamed71(); + o.externalServiceCosts = buildUnnamed72(); o.loadQueryStatistics = buildLoadQueryStatistics(); o.materializedViewStatistics = buildMaterializedViewStatistics(); o.metadataCacheStatistics = buildMetadataCacheStatistics(); @@ -4908,22 +5000,22 @@ api.JobStatistics2 buildJobStatistics2() { o.numDmlAffectedRows = 'foo'; o.performanceInsights = buildPerformanceInsights(); o.queryInfo = buildQueryInfo(); - o.queryPlan = buildUnnamed72(); - o.referencedRoutines = buildUnnamed73(); - o.referencedTables = buildUnnamed74(); - o.reservationUsage = buildUnnamed75(); + o.queryPlan = buildUnnamed73(); + o.referencedRoutines = buildUnnamed74(); + o.referencedTables = buildUnnamed75(); + o.reservationUsage = buildUnnamed76(); o.schema = buildTableSchema(); o.searchStatistics = buildSearchStatistics(); o.sparkStatistics = buildSparkStatistics(); o.statementType = 'foo'; - o.timeline = buildUnnamed76(); + o.timeline = buildUnnamed77(); o.totalBytesBilled = 'foo'; o.totalBytesProcessed = 'foo'; o.totalBytesProcessedAccuracy = 'foo'; o.totalPartitionsProcessed = 'foo'; o.totalSlotMs = 'foo'; o.transferredBytes = 'foo'; - o.undeclaredQueryParameters = buildUnnamed77(); + o.undeclaredQueryParameters = buildUnnamed78(); o.vectorSearchStatistics = buildVectorSearchStatistics(); } buildCounterJobStatistics2--; @@ -4961,7 +5053,7 @@ void checkJobStatistics2(api.JobStatistics2 o) { unittest.equals('foo'), ); checkExportDataStatistics(o.exportDataStatistics!); - checkUnnamed71(o.externalServiceCosts!); + checkUnnamed72(o.externalServiceCosts!); checkLoadQueryStatistics(o.loadQueryStatistics!); checkMaterializedViewStatistics(o.materializedViewStatistics!); checkMetadataCacheStatistics(o.metadataCacheStatistics!); @@ -4981,10 +5073,10 @@ void checkJobStatistics2(api.JobStatistics2 o) { ); checkPerformanceInsights(o.performanceInsights!); checkQueryInfo(o.queryInfo!); - checkUnnamed72(o.queryPlan!); - checkUnnamed73(o.referencedRoutines!); - checkUnnamed74(o.referencedTables!); - checkUnnamed75(o.reservationUsage!); + checkUnnamed73(o.queryPlan!); + checkUnnamed74(o.referencedRoutines!); + checkUnnamed75(o.referencedTables!); + checkUnnamed76(o.reservationUsage!); checkTableSchema(o.schema!); checkSearchStatistics(o.searchStatistics!); checkSparkStatistics(o.sparkStatistics!); @@ -4992,7 +5084,7 @@ void checkJobStatistics2(api.JobStatistics2 o) { o.statementType!, unittest.equals('foo'), ); - checkUnnamed76(o.timeline!); + checkUnnamed77(o.timeline!); unittest.expect( o.totalBytesBilled!, unittest.equals('foo'), @@ -5017,18 +5109,18 @@ void checkJobStatistics2(api.JobStatistics2 o) { o.transferredBytes!, unittest.equals('foo'), ); - checkUnnamed77(o.undeclaredQueryParameters!); + checkUnnamed78(o.undeclaredQueryParameters!); checkVectorSearchStatistics(o.vectorSearchStatistics!); } buildCounterJobStatistics2--; } -core.List buildUnnamed78() => [ +core.List buildUnnamed79() => [ buildQueryTimelineSample(), buildQueryTimelineSample(), ]; -void checkUnnamed78(core.List o) { +void checkUnnamed79(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkQueryTimelineSample(o[0]); checkQueryTimelineSample(o[1]); @@ -5044,7 +5136,7 @@ api.JobStatistics3 buildJobStatistics3() { o.inputFiles = 'foo'; o.outputBytes = 'foo'; o.outputRows = 'foo'; - o.timeline = buildUnnamed78(); + o.timeline = buildUnnamed79(); } buildCounterJobStatistics3--; return o; @@ -5073,17 +5165,17 @@ void checkJobStatistics3(api.JobStatistics3 o) { o.outputRows!, unittest.equals('foo'), ); - checkUnnamed78(o.timeline!); + checkUnnamed79(o.timeline!); } buildCounterJobStatistics3--; } -core.List buildUnnamed79() => [ +core.List buildUnnamed80() => [ 'foo', 'foo', ]; -void checkUnnamed79(core.List o) { +void checkUnnamed80(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5095,12 +5187,12 @@ void checkUnnamed79(core.List o) { ); } -core.List buildUnnamed80() => [ +core.List buildUnnamed81() => [ buildQueryTimelineSample(), buildQueryTimelineSample(), ]; -void checkUnnamed80(core.List o) { +void checkUnnamed81(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkQueryTimelineSample(o[0]); checkQueryTimelineSample(o[1]); @@ -5111,9 +5203,9 @@ api.JobStatistics4 buildJobStatistics4() { final o = api.JobStatistics4(); buildCounterJobStatistics4++; if (buildCounterJobStatistics4 < 3) { - o.destinationUriFileCounts = buildUnnamed79(); + o.destinationUriFileCounts = buildUnnamed80(); o.inputBytes = 'foo'; - o.timeline = buildUnnamed80(); + o.timeline = buildUnnamed81(); } buildCounterJobStatistics4--; return o; @@ -5122,12 +5214,12 @@ api.JobStatistics4 buildJobStatistics4() { void checkJobStatistics4(api.JobStatistics4 o) { buildCounterJobStatistics4++; if (buildCounterJobStatistics4 < 3) { - checkUnnamed79(o.destinationUriFileCounts!); + checkUnnamed80(o.destinationUriFileCounts!); unittest.expect( o.inputBytes!, unittest.equals('foo'), ); - checkUnnamed80(o.timeline!); + checkUnnamed81(o.timeline!); } buildCounterJobStatistics4--; } @@ -5159,12 +5251,12 @@ void checkJobStatistics5(api.JobStatistics5 o) { buildCounterJobStatistics5--; } -core.List buildUnnamed81() => [ +core.List buildUnnamed82() => [ buildErrorProto(), buildErrorProto(), ]; -void checkUnnamed81(core.List o) { +void checkUnnamed82(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkErrorProto(o[0]); checkErrorProto(o[1]); @@ -5176,7 +5268,7 @@ api.JobStatus buildJobStatus() { buildCounterJobStatus++; if (buildCounterJobStatus < 3) { o.errorResult = buildErrorProto(); - o.errors = buildUnnamed81(); + o.errors = buildUnnamed82(); o.state = 'foo'; } buildCounterJobStatus--; @@ -5187,7 +5279,7 @@ void checkJobStatus(api.JobStatus o) { buildCounterJobStatus++; if (buildCounterJobStatus < 3) { checkErrorProto(o.errorResult!); - checkUnnamed81(o.errors!); + checkUnnamed82(o.errors!); unittest.expect( o.state!, unittest.equals('foo'), @@ -5196,12 +5288,12 @@ void checkJobStatus(api.JobStatus o) { buildCounterJobStatus--; } -core.List buildUnnamed82() => [ +core.List buildUnnamed83() => [ 'foo', 'foo', ]; -void checkUnnamed82(core.List o) { +void checkUnnamed83(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5218,7 +5310,7 @@ api.JoinRestrictionPolicy buildJoinRestrictionPolicy() { final o = api.JoinRestrictionPolicy(); buildCounterJoinRestrictionPolicy++; if (buildCounterJoinRestrictionPolicy < 3) { - o.joinAllowedColumns = buildUnnamed82(); + o.joinAllowedColumns = buildUnnamed83(); o.joinCondition = 'foo'; } buildCounterJoinRestrictionPolicy--; @@ -5228,7 +5320,7 @@ api.JoinRestrictionPolicy buildJoinRestrictionPolicy() { void checkJoinRestrictionPolicy(api.JoinRestrictionPolicy o) { buildCounterJoinRestrictionPolicy++; if (buildCounterJoinRestrictionPolicy < 3) { - checkUnnamed82(o.joinAllowedColumns!); + checkUnnamed83(o.joinAllowedColumns!); unittest.expect( o.joinCondition!, unittest.equals('foo'), @@ -5347,12 +5439,12 @@ void checkLinkedDatasetSource(api.LinkedDatasetSource o) { buildCounterLinkedDatasetSource--; } -core.List buildUnnamed83() => [ +core.List buildUnnamed84() => [ buildModel(), buildModel(), ]; -void checkUnnamed83(core.List o) { +void checkUnnamed84(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkModel(o[0]); checkModel(o[1]); @@ -5363,7 +5455,7 @@ api.ListModelsResponse buildListModelsResponse() { final o = api.ListModelsResponse(); buildCounterListModelsResponse++; if (buildCounterListModelsResponse < 3) { - o.models = buildUnnamed83(); + o.models = buildUnnamed84(); o.nextPageToken = 'foo'; } buildCounterListModelsResponse--; @@ -5373,7 +5465,7 @@ api.ListModelsResponse buildListModelsResponse() { void checkListModelsResponse(api.ListModelsResponse o) { buildCounterListModelsResponse++; if (buildCounterListModelsResponse < 3) { - checkUnnamed83(o.models!); + checkUnnamed84(o.models!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -5382,12 +5474,12 @@ void checkListModelsResponse(api.ListModelsResponse o) { buildCounterListModelsResponse--; } -core.List buildUnnamed84() => [ +core.List buildUnnamed85() => [ buildRoutine(), buildRoutine(), ]; -void checkUnnamed84(core.List o) { +void checkUnnamed85(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRoutine(o[0]); checkRoutine(o[1]); @@ -5399,7 +5491,7 @@ api.ListRoutinesResponse buildListRoutinesResponse() { buildCounterListRoutinesResponse++; if (buildCounterListRoutinesResponse < 3) { o.nextPageToken = 'foo'; - o.routines = buildUnnamed84(); + o.routines = buildUnnamed85(); } buildCounterListRoutinesResponse--; return o; @@ -5412,17 +5504,17 @@ void checkListRoutinesResponse(api.ListRoutinesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed84(o.routines!); + checkUnnamed85(o.routines!); } buildCounterListRoutinesResponse--; } -core.List buildUnnamed85() => [ +core.List buildUnnamed86() => [ buildRowAccessPolicy(), buildRowAccessPolicy(), ]; -void checkUnnamed85(core.List o) { +void checkUnnamed86(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRowAccessPolicy(o[0]); checkRowAccessPolicy(o[1]); @@ -5434,7 +5526,7 @@ api.ListRowAccessPoliciesResponse buildListRowAccessPoliciesResponse() { buildCounterListRowAccessPoliciesResponse++; if (buildCounterListRowAccessPoliciesResponse < 3) { o.nextPageToken = 'foo'; - o.rowAccessPolicies = buildUnnamed85(); + o.rowAccessPolicies = buildUnnamed86(); } buildCounterListRowAccessPoliciesResponse--; return o; @@ -5447,7 +5539,7 @@ void checkListRowAccessPoliciesResponse(api.ListRowAccessPoliciesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed85(o.rowAccessPolicies!); + checkUnnamed86(o.rowAccessPolicies!); } buildCounterListRowAccessPoliciesResponse--; } @@ -5571,12 +5663,12 @@ void checkMaterializedViewDefinition(api.MaterializedViewDefinition o) { buildCounterMaterializedViewDefinition--; } -core.List buildUnnamed86() => [ +core.List buildUnnamed87() => [ buildMaterializedView(), buildMaterializedView(), ]; -void checkUnnamed86(core.List o) { +void checkUnnamed87(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMaterializedView(o[0]); checkMaterializedView(o[1]); @@ -5587,7 +5679,7 @@ api.MaterializedViewStatistics buildMaterializedViewStatistics() { final o = api.MaterializedViewStatistics(); buildCounterMaterializedViewStatistics++; if (buildCounterMaterializedViewStatistics < 3) { - o.materializedView = buildUnnamed86(); + o.materializedView = buildUnnamed87(); } buildCounterMaterializedViewStatistics--; return o; @@ -5596,7 +5688,7 @@ api.MaterializedViewStatistics buildMaterializedViewStatistics() { void checkMaterializedViewStatistics(api.MaterializedViewStatistics o) { buildCounterMaterializedViewStatistics++; if (buildCounterMaterializedViewStatistics < 3) { - checkUnnamed86(o.materializedView!); + checkUnnamed87(o.materializedView!); } buildCounterMaterializedViewStatistics--; } @@ -5625,12 +5717,12 @@ void checkMaterializedViewStatus(api.MaterializedViewStatus o) { buildCounterMaterializedViewStatus--; } -core.List buildUnnamed87() => [ +core.List buildUnnamed88() => [ buildTableMetadataCacheUsage(), buildTableMetadataCacheUsage(), ]; -void checkUnnamed87(core.List o) { +void checkUnnamed88(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTableMetadataCacheUsage(o[0]); checkTableMetadataCacheUsage(o[1]); @@ -5641,7 +5733,7 @@ api.MetadataCacheStatistics buildMetadataCacheStatistics() { final o = api.MetadataCacheStatistics(); buildCounterMetadataCacheStatistics++; if (buildCounterMetadataCacheStatistics < 3) { - o.tableMetadataCacheUsage = buildUnnamed87(); + o.tableMetadataCacheUsage = buildUnnamed88(); } buildCounterMetadataCacheStatistics--; return o; @@ -5650,28 +5742,28 @@ api.MetadataCacheStatistics buildMetadataCacheStatistics() { void checkMetadataCacheStatistics(api.MetadataCacheStatistics o) { buildCounterMetadataCacheStatistics++; if (buildCounterMetadataCacheStatistics < 3) { - checkUnnamed87(o.tableMetadataCacheUsage!); + checkUnnamed88(o.tableMetadataCacheUsage!); } buildCounterMetadataCacheStatistics--; } -core.List buildUnnamed88() => [ +core.List buildUnnamed89() => [ buildHparamTuningTrial(), buildHparamTuningTrial(), ]; -void checkUnnamed88(core.List o) { +void checkUnnamed89(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHparamTuningTrial(o[0]); checkHparamTuningTrial(o[1]); } -core.List buildUnnamed89() => [ +core.List buildUnnamed90() => [ buildIterationResult(), buildIterationResult(), ]; -void checkUnnamed89(core.List o) { +void checkUnnamed90(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkIterationResult(o[0]); checkIterationResult(o[1]); @@ -5682,8 +5774,8 @@ api.MlStatistics buildMlStatistics() { final o = api.MlStatistics(); buildCounterMlStatistics++; if (buildCounterMlStatistics < 3) { - o.hparamTrials = buildUnnamed88(); - o.iterationResults = buildUnnamed89(); + o.hparamTrials = buildUnnamed89(); + o.iterationResults = buildUnnamed90(); o.maxIterations = 'foo'; o.modelType = 'foo'; o.trainingType = 'foo'; @@ -5695,8 +5787,8 @@ api.MlStatistics buildMlStatistics() { void checkMlStatistics(api.MlStatistics o) { buildCounterMlStatistics++; if (buildCounterMlStatistics < 3) { - checkUnnamed88(o.hparamTrials!); - checkUnnamed89(o.iterationResults!); + checkUnnamed89(o.hparamTrials!); + checkUnnamed90(o.iterationResults!); unittest.expect( o.maxIterations!, unittest.equals('foo'), @@ -5713,45 +5805,45 @@ void checkMlStatistics(api.MlStatistics o) { buildCounterMlStatistics--; } -core.List buildUnnamed90() => [ +core.List buildUnnamed91() => [ buildStandardSqlField(), buildStandardSqlField(), ]; -void checkUnnamed90(core.List o) { +void checkUnnamed91(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStandardSqlField(o[0]); checkStandardSqlField(o[1]); } -core.List buildUnnamed91() => [ +core.List buildUnnamed92() => [ buildHparamTuningTrial(), buildHparamTuningTrial(), ]; -void checkUnnamed91(core.List o) { +void checkUnnamed92(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHparamTuningTrial(o[0]); checkHparamTuningTrial(o[1]); } -core.List buildUnnamed92() => [ +core.List buildUnnamed93() => [ buildStandardSqlField(), buildStandardSqlField(), ]; -void checkUnnamed92(core.List o) { +void checkUnnamed93(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStandardSqlField(o[0]); checkStandardSqlField(o[1]); } -core.Map buildUnnamed93() => { +core.Map buildUnnamed94() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed93(core.Map o) { +void checkUnnamed94(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -5763,12 +5855,12 @@ void checkUnnamed93(core.Map o) { ); } -core.List buildUnnamed94() => [ +core.List buildUnnamed95() => [ 'foo', 'foo', ]; -void checkUnnamed94(core.List o) { +void checkUnnamed95(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5780,23 +5872,23 @@ void checkUnnamed94(core.List o) { ); } -core.List buildUnnamed95() => [ +core.List buildUnnamed96() => [ buildTrainingRun(), buildTrainingRun(), ]; -void checkUnnamed95(core.List o) { +void checkUnnamed96(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTrainingRun(o[0]); checkTrainingRun(o[1]); } -core.List buildUnnamed96() => [ +core.List buildUnnamed97() => [ buildTransformColumn(), buildTransformColumn(), ]; -void checkUnnamed96(core.List o) { +void checkUnnamed97(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTransformColumn(o[0]); checkTransformColumn(o[1]); @@ -5814,20 +5906,20 @@ api.Model buildModel() { o.encryptionConfiguration = buildEncryptionConfiguration(); o.etag = 'foo'; o.expirationTime = 'foo'; - o.featureColumns = buildUnnamed90(); + o.featureColumns = buildUnnamed91(); o.friendlyName = 'foo'; o.hparamSearchSpaces = buildHparamSearchSpaces(); - o.hparamTrials = buildUnnamed91(); - o.labelColumns = buildUnnamed92(); - o.labels = buildUnnamed93(); + o.hparamTrials = buildUnnamed92(); + o.labelColumns = buildUnnamed93(); + o.labels = buildUnnamed94(); o.lastModifiedTime = 'foo'; o.location = 'foo'; o.modelReference = buildModelReference(); o.modelType = 'foo'; - o.optimalTrialIds = buildUnnamed94(); + o.optimalTrialIds = buildUnnamed95(); o.remoteModelInfo = buildRemoteModelInfo(); - o.trainingRuns = buildUnnamed95(); - o.transformColumns = buildUnnamed96(); + o.trainingRuns = buildUnnamed96(); + o.transformColumns = buildUnnamed97(); } buildCounterModel--; return o; @@ -5861,15 +5953,15 @@ void checkModel(api.Model o) { o.expirationTime!, unittest.equals('foo'), ); - checkUnnamed90(o.featureColumns!); + checkUnnamed91(o.featureColumns!); unittest.expect( o.friendlyName!, unittest.equals('foo'), ); checkHparamSearchSpaces(o.hparamSearchSpaces!); - checkUnnamed91(o.hparamTrials!); - checkUnnamed92(o.labelColumns!); - checkUnnamed93(o.labels!); + checkUnnamed92(o.hparamTrials!); + checkUnnamed93(o.labelColumns!); + checkUnnamed94(o.labels!); unittest.expect( o.lastModifiedTime!, unittest.equals('foo'), @@ -5883,20 +5975,20 @@ void checkModel(api.Model o) { o.modelType!, unittest.equals('foo'), ); - checkUnnamed94(o.optimalTrialIds!); + checkUnnamed95(o.optimalTrialIds!); checkRemoteModelInfo(o.remoteModelInfo!); - checkUnnamed95(o.trainingRuns!); - checkUnnamed96(o.transformColumns!); + checkUnnamed96(o.trainingRuns!); + checkUnnamed97(o.transformColumns!); } buildCounterModel--; } -core.List buildUnnamed97() => [ +core.List buildUnnamed98() => [ 'foo', 'foo', ]; -void checkUnnamed97(core.List o) { +void checkUnnamed98(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5913,7 +6005,7 @@ api.ModelDefinitionModelOptions buildModelDefinitionModelOptions() { final o = api.ModelDefinitionModelOptions(); buildCounterModelDefinitionModelOptions++; if (buildCounterModelDefinitionModelOptions < 3) { - o.labels = buildUnnamed97(); + o.labels = buildUnnamed98(); o.lossType = 'foo'; o.modelType = 'foo'; } @@ -5924,7 +6016,7 @@ api.ModelDefinitionModelOptions buildModelDefinitionModelOptions() { void checkModelDefinitionModelOptions(api.ModelDefinitionModelOptions o) { buildCounterModelDefinitionModelOptions++; if (buildCounterModelDefinitionModelOptions < 3) { - checkUnnamed97(o.labels!); + checkUnnamed98(o.labels!); unittest.expect( o.lossType!, unittest.equals('foo'), @@ -5937,12 +6029,12 @@ void checkModelDefinitionModelOptions(api.ModelDefinitionModelOptions o) { buildCounterModelDefinitionModelOptions--; } -core.List buildUnnamed98() => [ +core.List buildUnnamed99() => [ buildBqmlTrainingRun(), buildBqmlTrainingRun(), ]; -void checkUnnamed98(core.List o) { +void checkUnnamed99(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBqmlTrainingRun(o[0]); checkBqmlTrainingRun(o[1]); @@ -5954,7 +6046,7 @@ api.ModelDefinition buildModelDefinition() { buildCounterModelDefinition++; if (buildCounterModelDefinition < 3) { o.modelOptions = buildModelDefinitionModelOptions(); - o.trainingRuns = buildUnnamed98(); + o.trainingRuns = buildUnnamed99(); } buildCounterModelDefinition--; return o; @@ -5964,7 +6056,7 @@ void checkModelDefinition(api.ModelDefinition o) { buildCounterModelDefinition++; if (buildCounterModelDefinition < 3) { checkModelDefinitionModelOptions(o.modelOptions!); - checkUnnamed98(o.trainingRuns!); + checkUnnamed99(o.trainingRuns!); } buildCounterModelDefinition--; } @@ -6023,12 +6115,12 @@ void checkModelReference(api.ModelReference o) { buildCounterModelReference--; } -core.List buildUnnamed99() => [ +core.List buildUnnamed100() => [ buildConfusionMatrix(), buildConfusionMatrix(), ]; -void checkUnnamed99(core.List o) { +void checkUnnamed100(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfusionMatrix(o[0]); checkConfusionMatrix(o[1]); @@ -6040,7 +6132,7 @@ api.MultiClassClassificationMetrics buildMultiClassClassificationMetrics() { buildCounterMultiClassClassificationMetrics++; if (buildCounterMultiClassClassificationMetrics < 3) { o.aggregateClassificationMetrics = buildAggregateClassificationMetrics(); - o.confusionMatrixList = buildUnnamed99(); + o.confusionMatrixList = buildUnnamed100(); } buildCounterMultiClassClassificationMetrics--; return o; @@ -6051,7 +6143,7 @@ void checkMultiClassClassificationMetrics( buildCounterMultiClassClassificationMetrics++; if (buildCounterMultiClassClassificationMetrics < 3) { checkAggregateClassificationMetrics(o.aggregateClassificationMetrics!); - checkUnnamed99(o.confusionMatrixList!); + checkUnnamed100(o.confusionMatrixList!); } buildCounterMultiClassClassificationMetrics--; } @@ -6082,12 +6174,12 @@ void checkParquetOptions(api.ParquetOptions o) { buildCounterParquetOptions--; } -core.List buildUnnamed100() => [ +core.List buildUnnamed101() => [ buildSkewSource(), buildSkewSource(), ]; -void checkUnnamed100(core.List o) { +void checkUnnamed101(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSkewSource(o[0]); checkSkewSource(o[1]); @@ -6098,7 +6190,7 @@ api.PartitionSkew buildPartitionSkew() { final o = api.PartitionSkew(); buildCounterPartitionSkew++; if (buildCounterPartitionSkew < 3) { - o.skewSources = buildUnnamed100(); + o.skewSources = buildUnnamed101(); } buildCounterPartitionSkew--; return o; @@ -6107,7 +6199,7 @@ api.PartitionSkew buildPartitionSkew() { void checkPartitionSkew(api.PartitionSkew o) { buildCounterPartitionSkew++; if (buildCounterPartitionSkew < 3) { - checkUnnamed100(o.skewSources!); + checkUnnamed101(o.skewSources!); } buildCounterPartitionSkew--; } @@ -6134,12 +6226,12 @@ void checkPartitionedColumn(api.PartitionedColumn o) { buildCounterPartitionedColumn--; } -core.List buildUnnamed101() => [ +core.List buildUnnamed102() => [ buildPartitionedColumn(), buildPartitionedColumn(), ]; -void checkUnnamed101(core.List o) { +void checkUnnamed102(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPartitionedColumn(o[0]); checkPartitionedColumn(o[1]); @@ -6150,7 +6242,7 @@ api.PartitioningDefinition buildPartitioningDefinition() { final o = api.PartitioningDefinition(); buildCounterPartitioningDefinition++; if (buildCounterPartitioningDefinition < 3) { - o.partitionedColumn = buildUnnamed101(); + o.partitionedColumn = buildUnnamed102(); } buildCounterPartitioningDefinition--; return o; @@ -6159,28 +6251,28 @@ api.PartitioningDefinition buildPartitioningDefinition() { void checkPartitioningDefinition(api.PartitioningDefinition o) { buildCounterPartitioningDefinition++; if (buildCounterPartitioningDefinition < 3) { - checkUnnamed101(o.partitionedColumn!); + checkUnnamed102(o.partitionedColumn!); } buildCounterPartitioningDefinition--; } -core.List buildUnnamed102() => [ +core.List buildUnnamed103() => [ buildStagePerformanceChangeInsight(), buildStagePerformanceChangeInsight(), ]; -void checkUnnamed102(core.List o) { +void checkUnnamed103(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStagePerformanceChangeInsight(o[0]); checkStagePerformanceChangeInsight(o[1]); } -core.List buildUnnamed103() => [ +core.List buildUnnamed104() => [ buildStagePerformanceStandaloneInsight(), buildStagePerformanceStandaloneInsight(), ]; -void checkUnnamed103(core.List o) { +void checkUnnamed104(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStagePerformanceStandaloneInsight(o[0]); checkStagePerformanceStandaloneInsight(o[1]); @@ -6192,8 +6284,8 @@ api.PerformanceInsights buildPerformanceInsights() { buildCounterPerformanceInsights++; if (buildCounterPerformanceInsights < 3) { o.avgPreviousExecutionMs = 'foo'; - o.stagePerformanceChangeInsights = buildUnnamed102(); - o.stagePerformanceStandaloneInsights = buildUnnamed103(); + o.stagePerformanceChangeInsights = buildUnnamed103(); + o.stagePerformanceStandaloneInsights = buildUnnamed104(); } buildCounterPerformanceInsights--; return o; @@ -6206,29 +6298,29 @@ void checkPerformanceInsights(api.PerformanceInsights o) { o.avgPreviousExecutionMs!, unittest.equals('foo'), ); - checkUnnamed102(o.stagePerformanceChangeInsights!); - checkUnnamed103(o.stagePerformanceStandaloneInsights!); + checkUnnamed103(o.stagePerformanceChangeInsights!); + checkUnnamed104(o.stagePerformanceStandaloneInsights!); } buildCounterPerformanceInsights--; } -core.List buildUnnamed104() => [ +core.List buildUnnamed105() => [ buildAuditConfig(), buildAuditConfig(), ]; -void checkUnnamed104(core.List o) { +void checkUnnamed105(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuditConfig(o[0]); checkAuditConfig(o[1]); } -core.List buildUnnamed105() => [ +core.List buildUnnamed106() => [ buildBinding(), buildBinding(), ]; -void checkUnnamed105(core.List o) { +void checkUnnamed106(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBinding(o[0]); checkBinding(o[1]); @@ -6239,8 +6331,8 @@ api.Policy buildPolicy() { final o = api.Policy(); buildCounterPolicy++; if (buildCounterPolicy < 3) { - o.auditConfigs = buildUnnamed104(); - o.bindings = buildUnnamed105(); + o.auditConfigs = buildUnnamed105(); + o.bindings = buildUnnamed106(); o.etag = 'foo'; o.version = 42; } @@ -6251,8 +6343,8 @@ api.Policy buildPolicy() { void checkPolicy(api.Policy o) { buildCounterPolicy++; if (buildCounterPolicy < 3) { - checkUnnamed104(o.auditConfigs!); - checkUnnamed105(o.bindings!); + checkUnnamed105(o.auditConfigs!); + checkUnnamed106(o.bindings!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -6364,12 +6456,12 @@ void checkProjectListProjects(api.ProjectListProjects o) { buildCounterProjectListProjects--; } -core.List buildUnnamed106() => [ +core.List buildUnnamed107() => [ buildProjectListProjects(), buildProjectListProjects(), ]; -void checkUnnamed106(core.List o) { +void checkUnnamed107(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkProjectListProjects(o[0]); checkProjectListProjects(o[1]); @@ -6383,7 +6475,7 @@ api.ProjectList buildProjectList() { o.etag = 'foo'; o.kind = 'foo'; o.nextPageToken = 'foo'; - o.projects = buildUnnamed106(); + o.projects = buildUnnamed107(); o.totalItems = 42; } buildCounterProjectList--; @@ -6405,7 +6497,7 @@ void checkProjectList(api.ProjectList o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed106(o.projects!); + checkUnnamed107(o.projects!); unittest.expect( o.totalItems!, unittest.equals(42), @@ -6436,7 +6528,7 @@ void checkProjectReference(api.ProjectReference o) { buildCounterProjectReference--; } -core.Map buildUnnamed107() => { +core.Map buildUnnamed108() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -6449,7 +6541,7 @@ core.Map buildUnnamed107() => { }, }; -void checkUnnamed107(core.Map o) { +void checkUnnamed108(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -6486,7 +6578,7 @@ api.QueryInfo buildQueryInfo() { final o = api.QueryInfo(); buildCounterQueryInfo++; if (buildCounterQueryInfo < 3) { - o.optimizationDetails = buildUnnamed107(); + o.optimizationDetails = buildUnnamed108(); } buildCounterQueryInfo--; return o; @@ -6495,7 +6587,7 @@ api.QueryInfo buildQueryInfo() { void checkQueryInfo(api.QueryInfo o) { buildCounterQueryInfo++; if (buildCounterQueryInfo < 3) { - checkUnnamed107(o.optimizationDetails!); + checkUnnamed108(o.optimizationDetails!); } buildCounterQueryInfo--; } @@ -6555,12 +6647,12 @@ void checkQueryParameterTypeStructTypes(api.QueryParameterTypeStructTypes o) { buildCounterQueryParameterTypeStructTypes--; } -core.List buildUnnamed108() => [ +core.List buildUnnamed109() => [ buildQueryParameterTypeStructTypes(), buildQueryParameterTypeStructTypes(), ]; -void checkUnnamed108(core.List o) { +void checkUnnamed109(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkQueryParameterTypeStructTypes(o[0]); checkQueryParameterTypeStructTypes(o[1]); @@ -6573,7 +6665,7 @@ api.QueryParameterType buildQueryParameterType() { if (buildCounterQueryParameterType < 3) { o.arrayType = buildQueryParameterType(); o.rangeElementType = buildQueryParameterType(); - o.structTypes = buildUnnamed108(); + o.structTypes = buildUnnamed109(); o.type = 'foo'; } buildCounterQueryParameterType--; @@ -6585,7 +6677,7 @@ void checkQueryParameterType(api.QueryParameterType o) { if (buildCounterQueryParameterType < 3) { checkQueryParameterType(o.arrayType!); checkQueryParameterType(o.rangeElementType!); - checkUnnamed108(o.structTypes!); + checkUnnamed109(o.structTypes!); unittest.expect( o.type!, unittest.equals('foo'), @@ -6594,23 +6686,23 @@ void checkQueryParameterType(api.QueryParameterType o) { buildCounterQueryParameterType--; } -core.List buildUnnamed109() => [ +core.List buildUnnamed110() => [ buildQueryParameterValue(), buildQueryParameterValue(), ]; -void checkUnnamed109(core.List o) { +void checkUnnamed110(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkQueryParameterValue(o[0]); checkQueryParameterValue(o[1]); } -core.Map buildUnnamed110() => { +core.Map buildUnnamed111() => { 'x': buildQueryParameterValue(), 'y': buildQueryParameterValue(), }; -void checkUnnamed110(core.Map o) { +void checkUnnamed111(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkQueryParameterValue(o['x']!); checkQueryParameterValue(o['y']!); @@ -6621,9 +6713,9 @@ api.QueryParameterValue buildQueryParameterValue() { final o = api.QueryParameterValue(); buildCounterQueryParameterValue++; if (buildCounterQueryParameterValue < 3) { - o.arrayValues = buildUnnamed109(); + o.arrayValues = buildUnnamed110(); o.rangeValue = buildRangeValue(); - o.structValues = buildUnnamed110(); + o.structValues = buildUnnamed111(); o.value = 'foo'; } buildCounterQueryParameterValue--; @@ -6633,9 +6725,9 @@ api.QueryParameterValue buildQueryParameterValue() { void checkQueryParameterValue(api.QueryParameterValue o) { buildCounterQueryParameterValue++; if (buildCounterQueryParameterValue < 3) { - checkUnnamed109(o.arrayValues!); + checkUnnamed110(o.arrayValues!); checkRangeValue(o.rangeValue!); - checkUnnamed110(o.structValues!); + checkUnnamed111(o.structValues!); unittest.expect( o.value!, unittest.equals('foo'), @@ -6644,23 +6736,23 @@ void checkQueryParameterValue(api.QueryParameterValue o) { buildCounterQueryParameterValue--; } -core.List buildUnnamed111() => [ +core.List buildUnnamed112() => [ buildConnectionProperty(), buildConnectionProperty(), ]; -void checkUnnamed111(core.List o) { +void checkUnnamed112(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConnectionProperty(o[0]); checkConnectionProperty(o[1]); } -core.Map buildUnnamed112() => { +core.Map buildUnnamed113() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed112(core.Map o) { +void checkUnnamed113(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -6672,12 +6764,12 @@ void checkUnnamed112(core.Map o) { ); } -core.List buildUnnamed113() => [ +core.List buildUnnamed114() => [ buildQueryParameter(), buildQueryParameter(), ]; -void checkUnnamed113(core.List o) { +void checkUnnamed114(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkQueryParameter(o[0]); checkQueryParameter(o[1]); @@ -6688,26 +6780,29 @@ api.QueryRequest buildQueryRequest() { final o = api.QueryRequest(); buildCounterQueryRequest++; if (buildCounterQueryRequest < 3) { - o.connectionProperties = buildUnnamed111(); + o.connectionProperties = buildUnnamed112(); o.continuous = true; o.createSession = true; o.defaultDataset = buildDatasetReference(); + o.destinationEncryptionConfiguration = buildEncryptionConfiguration(); o.dryRun = true; o.formatOptions = buildDataFormatOptions(); o.jobCreationMode = 'foo'; + o.jobTimeoutMs = 'foo'; o.kind = 'foo'; - o.labels = buildUnnamed112(); + o.labels = buildUnnamed113(); o.location = 'foo'; o.maxResults = 42; o.maximumBytesBilled = 'foo'; o.parameterMode = 'foo'; o.preserveNulls = true; o.query = 'foo'; - o.queryParameters = buildUnnamed113(); + o.queryParameters = buildUnnamed114(); o.requestId = 'foo'; o.timeoutMs = 42; o.useLegacySql = true; o.useQueryCache = true; + o.writeIncrementalResults = true; } buildCounterQueryRequest--; return o; @@ -6716,21 +6811,26 @@ api.QueryRequest buildQueryRequest() { void checkQueryRequest(api.QueryRequest o) { buildCounterQueryRequest++; if (buildCounterQueryRequest < 3) { - checkUnnamed111(o.connectionProperties!); + checkUnnamed112(o.connectionProperties!); unittest.expect(o.continuous!, unittest.isTrue); unittest.expect(o.createSession!, unittest.isTrue); checkDatasetReference(o.defaultDataset!); + checkEncryptionConfiguration(o.destinationEncryptionConfiguration!); unittest.expect(o.dryRun!, unittest.isTrue); checkDataFormatOptions(o.formatOptions!); unittest.expect( o.jobCreationMode!, unittest.equals('foo'), ); + unittest.expect( + o.jobTimeoutMs!, + unittest.equals('foo'), + ); unittest.expect( o.kind!, unittest.equals('foo'), ); - checkUnnamed112(o.labels!); + checkUnnamed113(o.labels!); unittest.expect( o.location!, unittest.equals('foo'), @@ -6752,7 +6852,7 @@ void checkQueryRequest(api.QueryRequest o) { o.query!, unittest.equals('foo'), ); - checkUnnamed113(o.queryParameters!); + checkUnnamed114(o.queryParameters!); unittest.expect( o.requestId!, unittest.equals('foo'), @@ -6763,27 +6863,28 @@ void checkQueryRequest(api.QueryRequest o) { ); unittest.expect(o.useLegacySql!, unittest.isTrue); unittest.expect(o.useQueryCache!, unittest.isTrue); + unittest.expect(o.writeIncrementalResults!, unittest.isTrue); } buildCounterQueryRequest--; } -core.List buildUnnamed114() => [ +core.List buildUnnamed115() => [ buildErrorProto(), buildErrorProto(), ]; -void checkUnnamed114(core.List o) { +void checkUnnamed115(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkErrorProto(o[0]); checkErrorProto(o[1]); } -core.List buildUnnamed115() => [ +core.List buildUnnamed116() => [ buildTableRow(), buildTableRow(), ]; -void checkUnnamed115(core.List o) { +void checkUnnamed116(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTableRow(o[0]); checkTableRow(o[1]); @@ -6795,20 +6896,26 @@ api.QueryResponse buildQueryResponse() { buildCounterQueryResponse++; if (buildCounterQueryResponse < 3) { o.cacheHit = true; + o.creationTime = 'foo'; o.dmlStats = buildDmlStatistics(); - o.errors = buildUnnamed114(); + o.endTime = 'foo'; + o.errors = buildUnnamed115(); o.jobComplete = true; o.jobCreationReason = buildJobCreationReason(); o.jobReference = buildJobReference(); o.kind = 'foo'; + o.location = 'foo'; o.numDmlAffectedRows = 'foo'; o.pageToken = 'foo'; o.queryId = 'foo'; - o.rows = buildUnnamed115(); + o.rows = buildUnnamed116(); o.schema = buildTableSchema(); o.sessionInfo = buildSessionInfo(); + o.startTime = 'foo'; + o.totalBytesBilled = 'foo'; o.totalBytesProcessed = 'foo'; o.totalRows = 'foo'; + o.totalSlotMs = 'foo'; } buildCounterQueryResponse--; return o; @@ -6818,8 +6925,16 @@ void checkQueryResponse(api.QueryResponse o) { buildCounterQueryResponse++; if (buildCounterQueryResponse < 3) { unittest.expect(o.cacheHit!, unittest.isTrue); + unittest.expect( + o.creationTime!, + unittest.equals('foo'), + ); checkDmlStatistics(o.dmlStats!); - checkUnnamed114(o.errors!); + unittest.expect( + o.endTime!, + unittest.equals('foo'), + ); + checkUnnamed115(o.errors!); unittest.expect(o.jobComplete!, unittest.isTrue); checkJobCreationReason(o.jobCreationReason!); checkJobReference(o.jobReference!); @@ -6827,6 +6942,10 @@ void checkQueryResponse(api.QueryResponse o) { o.kind!, unittest.equals('foo'), ); + unittest.expect( + o.location!, + unittest.equals('foo'), + ); unittest.expect( o.numDmlAffectedRows!, unittest.equals('foo'), @@ -6839,9 +6958,17 @@ void checkQueryResponse(api.QueryResponse o) { o.queryId!, unittest.equals('foo'), ); - checkUnnamed115(o.rows!); + checkUnnamed116(o.rows!); checkTableSchema(o.schema!); checkSessionInfo(o.sessionInfo!); + unittest.expect( + o.startTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.totalBytesBilled!, + unittest.equals('foo'), + ); unittest.expect( o.totalBytesProcessed!, unittest.equals('foo'), @@ -6850,6 +6977,10 @@ void checkQueryResponse(api.QueryResponse o) { o.totalRows!, unittest.equals('foo'), ); + unittest.expect( + o.totalSlotMs!, + unittest.equals('foo'), + ); } buildCounterQueryResponse--; } @@ -7057,12 +7188,12 @@ void checkRegressionMetrics(api.RegressionMetrics o) { buildCounterRegressionMetrics--; } -core.Map buildUnnamed116() => { +core.Map buildUnnamed117() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed116(core.Map o) { +void checkUnnamed117(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -7082,7 +7213,7 @@ api.RemoteFunctionOptions buildRemoteFunctionOptions() { o.connection = 'foo'; o.endpoint = 'foo'; o.maxBatchingRows = 'foo'; - o.userDefinedContext = buildUnnamed116(); + o.userDefinedContext = buildUnnamed117(); } buildCounterRemoteFunctionOptions--; return o; @@ -7103,7 +7234,7 @@ void checkRemoteFunctionOptions(api.RemoteFunctionOptions o) { o.maxBatchingRows!, unittest.equals('foo'), ); - checkUnnamed116(o.userDefinedContext!); + checkUnnamed117(o.userDefinedContext!); } buildCounterRemoteFunctionOptions--; } @@ -7177,23 +7308,23 @@ void checkRestrictionConfig(api.RestrictionConfig o) { buildCounterRestrictionConfig--; } -core.List buildUnnamed117() => [ +core.List buildUnnamed118() => [ buildArgument(), buildArgument(), ]; -void checkUnnamed117(core.List o) { +void checkUnnamed118(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkArgument(o[0]); checkArgument(o[1]); } -core.List buildUnnamed118() => [ +core.List buildUnnamed119() => [ 'foo', 'foo', ]; -void checkUnnamed118(core.List o) { +void checkUnnamed119(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7210,14 +7341,14 @@ api.Routine buildRoutine() { final o = api.Routine(); buildCounterRoutine++; if (buildCounterRoutine < 3) { - o.arguments = buildUnnamed117(); + o.arguments = buildUnnamed118(); o.creationTime = 'foo'; o.dataGovernanceType = 'foo'; o.definitionBody = 'foo'; o.description = 'foo'; o.determinismLevel = 'foo'; o.etag = 'foo'; - o.importedLibraries = buildUnnamed118(); + o.importedLibraries = buildUnnamed119(); o.language = 'foo'; o.lastModifiedTime = 'foo'; o.remoteFunctionOptions = buildRemoteFunctionOptions(); @@ -7236,7 +7367,7 @@ api.Routine buildRoutine() { void checkRoutine(api.Routine o) { buildCounterRoutine++; if (buildCounterRoutine < 3) { - checkUnnamed117(o.arguments!); + checkUnnamed118(o.arguments!); unittest.expect( o.creationTime!, unittest.equals('foo'), @@ -7261,7 +7392,7 @@ void checkRoutine(api.Routine o) { o.etag!, unittest.equals('foo'), ); - checkUnnamed118(o.importedLibraries!); + checkUnnamed119(o.importedLibraries!); unittest.expect( o.language!, unittest.equals('foo'), @@ -7320,12 +7451,12 @@ void checkRoutineReference(api.RoutineReference o) { buildCounterRoutineReference--; } -core.List buildUnnamed119() => [ +core.List buildUnnamed120() => [ buildEntry(), buildEntry(), ]; -void checkUnnamed119(core.List o) { +void checkUnnamed120(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEntry(o[0]); checkEntry(o[1]); @@ -7337,7 +7468,7 @@ api.Row buildRow() { buildCounterRow++; if (buildCounterRow < 3) { o.actualLabel = 'foo'; - o.entries = buildUnnamed119(); + o.entries = buildUnnamed120(); } buildCounterRow--; return o; @@ -7350,11 +7481,28 @@ void checkRow(api.Row o) { o.actualLabel!, unittest.equals('foo'), ); - checkUnnamed119(o.entries!); + checkUnnamed120(o.entries!); } buildCounterRow--; } +core.List buildUnnamed121() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed121(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + core.int buildCounterRowAccessPolicy = 0; api.RowAccessPolicy buildRowAccessPolicy() { final o = api.RowAccessPolicy(); @@ -7363,6 +7511,7 @@ api.RowAccessPolicy buildRowAccessPolicy() { o.creationTime = 'foo'; o.etag = 'foo'; o.filterPredicate = 'foo'; + o.grantees = buildUnnamed121(); o.lastModifiedTime = 'foo'; o.rowAccessPolicyReference = buildRowAccessPolicyReference(); } @@ -7385,6 +7534,7 @@ void checkRowAccessPolicy(api.RowAccessPolicy o) { o.filterPredicate!, unittest.equals('foo'), ); + checkUnnamed121(o.grantees!); unittest.expect( o.lastModifiedTime!, unittest.equals('foo'), @@ -7529,12 +7679,12 @@ void checkScriptStackFrame(api.ScriptStackFrame o) { buildCounterScriptStackFrame--; } -core.List buildUnnamed120() => [ +core.List buildUnnamed122() => [ buildScriptStackFrame(), buildScriptStackFrame(), ]; -void checkUnnamed120(core.List o) { +void checkUnnamed122(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkScriptStackFrame(o[0]); checkScriptStackFrame(o[1]); @@ -7546,7 +7696,7 @@ api.ScriptStatistics buildScriptStatistics() { buildCounterScriptStatistics++; if (buildCounterScriptStatistics < 3) { o.evaluationKind = 'foo'; - o.stackFrames = buildUnnamed120(); + o.stackFrames = buildUnnamed122(); } buildCounterScriptStatistics--; return o; @@ -7559,17 +7709,17 @@ void checkScriptStatistics(api.ScriptStatistics o) { o.evaluationKind!, unittest.equals('foo'), ); - checkUnnamed120(o.stackFrames!); + checkUnnamed122(o.stackFrames!); } buildCounterScriptStatistics--; } -core.List buildUnnamed121() => [ +core.List buildUnnamed123() => [ buildIndexUnusedReason(), buildIndexUnusedReason(), ]; -void checkUnnamed121(core.List o) { +void checkUnnamed123(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkIndexUnusedReason(o[0]); checkIndexUnusedReason(o[1]); @@ -7580,7 +7730,7 @@ api.SearchStatistics buildSearchStatistics() { final o = api.SearchStatistics(); buildCounterSearchStatistics++; if (buildCounterSearchStatistics < 3) { - o.indexUnusedReasons = buildUnnamed121(); + o.indexUnusedReasons = buildUnnamed123(); o.indexUsageMode = 'foo'; } buildCounterSearchStatistics--; @@ -7590,7 +7740,7 @@ api.SearchStatistics buildSearchStatistics() { void checkSearchStatistics(api.SearchStatistics o) { buildCounterSearchStatistics++; if (buildCounterSearchStatistics < 3) { - checkUnnamed121(o.indexUnusedReasons!); + checkUnnamed123(o.indexUnusedReasons!); unittest.expect( o.indexUsageMode!, unittest.equals('foo'), @@ -7599,12 +7749,12 @@ void checkSearchStatistics(api.SearchStatistics o) { buildCounterSearchStatistics--; } -core.Map buildUnnamed122() => { +core.Map buildUnnamed124() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed122(core.Map o) { +void checkUnnamed124(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -7622,7 +7772,7 @@ api.SerDeInfo buildSerDeInfo() { buildCounterSerDeInfo++; if (buildCounterSerDeInfo < 3) { o.name = 'foo'; - o.parameters = buildUnnamed122(); + o.parameters = buildUnnamed124(); o.serializationLibrary = 'foo'; } buildCounterSerDeInfo--; @@ -7636,7 +7786,7 @@ void checkSerDeInfo(api.SerDeInfo o) { o.name!, unittest.equals('foo'), ); - checkUnnamed122(o.parameters!); + checkUnnamed124(o.parameters!); unittest.expect( o.serializationLibrary!, unittest.equals('foo'), @@ -7764,12 +7914,12 @@ void checkSparkLoggingInfo(api.SparkLoggingInfo o) { buildCounterSparkLoggingInfo--; } -core.List buildUnnamed123() => [ +core.List buildUnnamed125() => [ 'foo', 'foo', ]; -void checkUnnamed123(core.List o) { +void checkUnnamed125(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7781,12 +7931,12 @@ void checkUnnamed123(core.List o) { ); } -core.List buildUnnamed124() => [ +core.List buildUnnamed126() => [ 'foo', 'foo', ]; -void checkUnnamed124(core.List o) { +void checkUnnamed126(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7798,12 +7948,12 @@ void checkUnnamed124(core.List o) { ); } -core.List buildUnnamed125() => [ +core.List buildUnnamed127() => [ 'foo', 'foo', ]; -void checkUnnamed125(core.List o) { +void checkUnnamed127(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7815,12 +7965,12 @@ void checkUnnamed125(core.List o) { ); } -core.Map buildUnnamed126() => { +core.Map buildUnnamed128() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed126(core.Map o) { +void checkUnnamed128(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -7832,12 +7982,12 @@ void checkUnnamed126(core.Map o) { ); } -core.List buildUnnamed127() => [ +core.List buildUnnamed129() => [ 'foo', 'foo', ]; -void checkUnnamed127(core.List o) { +void checkUnnamed129(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7854,15 +8004,15 @@ api.SparkOptions buildSparkOptions() { final o = api.SparkOptions(); buildCounterSparkOptions++; if (buildCounterSparkOptions < 3) { - o.archiveUris = buildUnnamed123(); + o.archiveUris = buildUnnamed125(); o.connection = 'foo'; o.containerImage = 'foo'; - o.fileUris = buildUnnamed124(); - o.jarUris = buildUnnamed125(); + o.fileUris = buildUnnamed126(); + o.jarUris = buildUnnamed127(); o.mainClass = 'foo'; o.mainFileUri = 'foo'; - o.properties = buildUnnamed126(); - o.pyFileUris = buildUnnamed127(); + o.properties = buildUnnamed128(); + o.pyFileUris = buildUnnamed129(); o.runtimeVersion = 'foo'; } buildCounterSparkOptions--; @@ -7872,7 +8022,7 @@ api.SparkOptions buildSparkOptions() { void checkSparkOptions(api.SparkOptions o) { buildCounterSparkOptions++; if (buildCounterSparkOptions < 3) { - checkUnnamed123(o.archiveUris!); + checkUnnamed125(o.archiveUris!); unittest.expect( o.connection!, unittest.equals('foo'), @@ -7881,8 +8031,8 @@ void checkSparkOptions(api.SparkOptions o) { o.containerImage!, unittest.equals('foo'), ); - checkUnnamed124(o.fileUris!); - checkUnnamed125(o.jarUris!); + checkUnnamed126(o.fileUris!); + checkUnnamed127(o.jarUris!); unittest.expect( o.mainClass!, unittest.equals('foo'), @@ -7891,8 +8041,8 @@ void checkSparkOptions(api.SparkOptions o) { o.mainFileUri!, unittest.equals('foo'), ); - checkUnnamed126(o.properties!); - checkUnnamed127(o.pyFileUris!); + checkUnnamed128(o.properties!); + checkUnnamed129(o.pyFileUris!); unittest.expect( o.runtimeVersion!, unittest.equals('foo'), @@ -7901,12 +8051,12 @@ void checkSparkOptions(api.SparkOptions o) { buildCounterSparkOptions--; } -core.Map buildUnnamed128() => { +core.Map buildUnnamed130() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed128(core.Map o) { +void checkUnnamed130(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -7923,7 +8073,7 @@ api.SparkStatistics buildSparkStatistics() { final o = api.SparkStatistics(); buildCounterSparkStatistics++; if (buildCounterSparkStatistics < 3) { - o.endpoints = buildUnnamed128(); + o.endpoints = buildUnnamed130(); o.gcsStagingBucket = 'foo'; o.kmsKeyName = 'foo'; o.loggingInfo = buildSparkLoggingInfo(); @@ -7937,7 +8087,7 @@ api.SparkStatistics buildSparkStatistics() { void checkSparkStatistics(api.SparkStatistics o) { buildCounterSparkStatistics++; if (buildCounterSparkStatistics < 3) { - checkUnnamed128(o.endpoints!); + checkUnnamed130(o.endpoints!); unittest.expect( o.gcsStagingBucket!, unittest.equals('foo'), @@ -7983,23 +8133,23 @@ void checkStagePerformanceChangeInsight(api.StagePerformanceChangeInsight o) { buildCounterStagePerformanceChangeInsight--; } -core.List buildUnnamed129() => [ +core.List buildUnnamed131() => [ buildBiEngineReason(), buildBiEngineReason(), ]; -void checkUnnamed129(core.List o) { +void checkUnnamed131(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBiEngineReason(o[0]); checkBiEngineReason(o[1]); } -core.List buildUnnamed130() => [ +core.List buildUnnamed132() => [ buildHighCardinalityJoin(), buildHighCardinalityJoin(), ]; -void checkUnnamed130(core.List o) { +void checkUnnamed132(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHighCardinalityJoin(o[0]); checkHighCardinalityJoin(o[1]); @@ -8010,8 +8160,8 @@ api.StagePerformanceStandaloneInsight buildStagePerformanceStandaloneInsight() { final o = api.StagePerformanceStandaloneInsight(); buildCounterStagePerformanceStandaloneInsight++; if (buildCounterStagePerformanceStandaloneInsight < 3) { - o.biEngineReasons = buildUnnamed129(); - o.highCardinalityJoins = buildUnnamed130(); + o.biEngineReasons = buildUnnamed131(); + o.highCardinalityJoins = buildUnnamed132(); o.insufficientShuffleQuota = true; o.partitionSkew = buildPartitionSkew(); o.slotContention = true; @@ -8025,8 +8175,8 @@ void checkStagePerformanceStandaloneInsight( api.StagePerformanceStandaloneInsight o) { buildCounterStagePerformanceStandaloneInsight++; if (buildCounterStagePerformanceStandaloneInsight < 3) { - checkUnnamed129(o.biEngineReasons!); - checkUnnamed130(o.highCardinalityJoins!); + checkUnnamed131(o.biEngineReasons!); + checkUnnamed132(o.highCardinalityJoins!); unittest.expect(o.insufficientShuffleQuota!, unittest.isTrue); checkPartitionSkew(o.partitionSkew!); unittest.expect(o.slotContention!, unittest.isTrue); @@ -8090,12 +8240,12 @@ void checkStandardSqlField(api.StandardSqlField o) { buildCounterStandardSqlField--; } -core.List buildUnnamed131() => [ +core.List buildUnnamed133() => [ buildStandardSqlField(), buildStandardSqlField(), ]; -void checkUnnamed131(core.List o) { +void checkUnnamed133(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStandardSqlField(o[0]); checkStandardSqlField(o[1]); @@ -8106,7 +8256,7 @@ api.StandardSqlStructType buildStandardSqlStructType() { final o = api.StandardSqlStructType(); buildCounterStandardSqlStructType++; if (buildCounterStandardSqlStructType < 3) { - o.fields = buildUnnamed131(); + o.fields = buildUnnamed133(); } buildCounterStandardSqlStructType--; return o; @@ -8115,17 +8265,17 @@ api.StandardSqlStructType buildStandardSqlStructType() { void checkStandardSqlStructType(api.StandardSqlStructType o) { buildCounterStandardSqlStructType++; if (buildCounterStandardSqlStructType < 3) { - checkUnnamed131(o.fields!); + checkUnnamed133(o.fields!); } buildCounterStandardSqlStructType--; } -core.List buildUnnamed132() => [ +core.List buildUnnamed134() => [ buildStandardSqlField(), buildStandardSqlField(), ]; -void checkUnnamed132(core.List o) { +void checkUnnamed134(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStandardSqlField(o[0]); checkStandardSqlField(o[1]); @@ -8136,7 +8286,7 @@ api.StandardSqlTableType buildStandardSqlTableType() { final o = api.StandardSqlTableType(); buildCounterStandardSqlTableType++; if (buildCounterStandardSqlTableType < 3) { - o.columns = buildUnnamed132(); + o.columns = buildUnnamed134(); } buildCounterStandardSqlTableType--; return o; @@ -8145,7 +8295,7 @@ api.StandardSqlTableType buildStandardSqlTableType() { void checkStandardSqlTableType(api.StandardSqlTableType o) { buildCounterStandardSqlTableType++; if (buildCounterStandardSqlTableType < 3) { - checkUnnamed132(o.columns!); + checkUnnamed134(o.columns!); } buildCounterStandardSqlTableType--; } @@ -8184,6 +8334,86 @@ void checkStorageDescriptor(api.StorageDescriptor o) { buildCounterStorageDescriptor--; } +core.List buildUnnamed135() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed135(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterStoredColumnsUnusedReason = 0; +api.StoredColumnsUnusedReason buildStoredColumnsUnusedReason() { + final o = api.StoredColumnsUnusedReason(); + buildCounterStoredColumnsUnusedReason++; + if (buildCounterStoredColumnsUnusedReason < 3) { + o.code = 'foo'; + o.message = 'foo'; + o.uncoveredColumns = buildUnnamed135(); + } + buildCounterStoredColumnsUnusedReason--; + return o; +} + +void checkStoredColumnsUnusedReason(api.StoredColumnsUnusedReason o) { + buildCounterStoredColumnsUnusedReason++; + if (buildCounterStoredColumnsUnusedReason < 3) { + unittest.expect( + o.code!, + unittest.equals('foo'), + ); + unittest.expect( + o.message!, + unittest.equals('foo'), + ); + checkUnnamed135(o.uncoveredColumns!); + } + buildCounterStoredColumnsUnusedReason--; +} + +core.List buildUnnamed136() => [ + buildStoredColumnsUnusedReason(), + buildStoredColumnsUnusedReason(), + ]; + +void checkUnnamed136(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkStoredColumnsUnusedReason(o[0]); + checkStoredColumnsUnusedReason(o[1]); +} + +core.int buildCounterStoredColumnsUsage = 0; +api.StoredColumnsUsage buildStoredColumnsUsage() { + final o = api.StoredColumnsUsage(); + buildCounterStoredColumnsUsage++; + if (buildCounterStoredColumnsUsage < 3) { + o.baseTable = buildTableReference(); + o.isQueryAccelerated = true; + o.storedColumnsUnusedReasons = buildUnnamed136(); + } + buildCounterStoredColumnsUsage--; + return o; +} + +void checkStoredColumnsUsage(api.StoredColumnsUsage o) { + buildCounterStoredColumnsUsage++; + if (buildCounterStoredColumnsUsage < 3) { + checkTableReference(o.baseTable!); + unittest.expect(o.isQueryAccelerated!, unittest.isTrue); + checkUnnamed136(o.storedColumnsUnusedReasons!); + } + buildCounterStoredColumnsUsage--; +} + core.int buildCounterStreamingbuffer = 0; api.Streamingbuffer buildStreamingbuffer() { final o = api.Streamingbuffer(); @@ -8216,12 +8446,12 @@ void checkStreamingbuffer(api.Streamingbuffer o) { buildCounterStreamingbuffer--; } -core.List buildUnnamed133() => [ +core.List buildUnnamed137() => [ 'foo', 'foo', ]; -void checkUnnamed133(core.List o) { +void checkUnnamed137(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8238,7 +8468,7 @@ api.StringHparamSearchSpace buildStringHparamSearchSpace() { final o = api.StringHparamSearchSpace(); buildCounterStringHparamSearchSpace++; if (buildCounterStringHparamSearchSpace < 3) { - o.candidates = buildUnnamed133(); + o.candidates = buildUnnamed137(); } buildCounterStringHparamSearchSpace--; return o; @@ -8247,23 +8477,23 @@ api.StringHparamSearchSpace buildStringHparamSearchSpace() { void checkStringHparamSearchSpace(api.StringHparamSearchSpace o) { buildCounterStringHparamSearchSpace++; if (buildCounterStringHparamSearchSpace < 3) { - checkUnnamed133(o.candidates!); + checkUnnamed137(o.candidates!); } buildCounterStringHparamSearchSpace--; } -core.Map buildUnnamed134() => { +core.Map buildUnnamed138() => { 'x': buildStandardSqlDataType(), 'y': buildStandardSqlDataType(), }; -void checkUnnamed134(core.Map o) { +void checkUnnamed138(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkStandardSqlDataType(o['x']!); checkStandardSqlDataType(o['y']!); } -core.Map buildUnnamed135() => { +core.Map buildUnnamed139() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -8276,7 +8506,7 @@ core.Map buildUnnamed135() => { }, }; -void checkUnnamed135(core.Map o) { +void checkUnnamed139(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -8313,8 +8543,8 @@ api.SystemVariables buildSystemVariables() { final o = api.SystemVariables(); buildCounterSystemVariables++; if (buildCounterSystemVariables < 3) { - o.types = buildUnnamed134(); - o.values = buildUnnamed135(); + o.types = buildUnnamed138(); + o.values = buildUnnamed139(); } buildCounterSystemVariables--; return o; @@ -8323,18 +8553,18 @@ api.SystemVariables buildSystemVariables() { void checkSystemVariables(api.SystemVariables o) { buildCounterSystemVariables++; if (buildCounterSystemVariables < 3) { - checkUnnamed134(o.types!); - checkUnnamed135(o.values!); + checkUnnamed138(o.types!); + checkUnnamed139(o.values!); } buildCounterSystemVariables--; } -core.Map buildUnnamed136() => { +core.Map buildUnnamed140() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed136(core.Map o) { +void checkUnnamed140(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -8346,23 +8576,23 @@ void checkUnnamed136(core.Map o) { ); } -core.List buildUnnamed137() => [ +core.List buildUnnamed141() => [ buildTableReference(), buildTableReference(), ]; -void checkUnnamed137(core.List o) { +void checkUnnamed141(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTableReference(o[0]); checkTableReference(o[1]); } -core.Map buildUnnamed138() => { +core.Map buildUnnamed142() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed138(core.Map o) { +void checkUnnamed142(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -8394,7 +8624,7 @@ api.Table buildTable() { o.friendlyName = 'foo'; o.id = 'foo'; o.kind = 'foo'; - o.labels = buildUnnamed136(); + o.labels = buildUnnamed140(); o.lastModifiedTime = 'foo'; o.location = 'foo'; o.managedTableType = 'foo'; @@ -8417,9 +8647,9 @@ api.Table buildTable() { o.numTotalPhysicalBytes = 'foo'; o.partitionDefinition = buildPartitioningDefinition(); o.rangePartitioning = buildRangePartitioning(); - o.replicas = buildUnnamed137(); + o.replicas = buildUnnamed141(); o.requirePartitionFilter = true; - o.resourceTags = buildUnnamed138(); + o.resourceTags = buildUnnamed142(); o.restrictions = buildRestrictionConfig(); o.schema = buildTableSchema(); o.selfLink = 'foo'; @@ -8481,7 +8711,7 @@ void checkTable(api.Table o) { o.kind!, unittest.equals('foo'), ); - checkUnnamed136(o.labels!); + checkUnnamed140(o.labels!); unittest.expect( o.lastModifiedTime!, unittest.equals('foo'), @@ -8555,9 +8785,9 @@ void checkTable(api.Table o) { ); checkPartitioningDefinition(o.partitionDefinition!); checkRangePartitioning(o.rangePartitioning!); - checkUnnamed137(o.replicas!); + checkUnnamed141(o.replicas!); unittest.expect(o.requirePartitionFilter!, unittest.isTrue); - checkUnnamed138(o.resourceTags!); + checkUnnamed142(o.resourceTags!); checkRestrictionConfig(o.restrictions!); checkTableSchema(o.schema!); unittest.expect( @@ -8644,13 +8874,13 @@ void checkTableConstraintsForeignKeysColumnReferences( buildCounterTableConstraintsForeignKeysColumnReferences--; } -core.List buildUnnamed139() => +core.List buildUnnamed143() => [ buildTableConstraintsForeignKeysColumnReferences(), buildTableConstraintsForeignKeysColumnReferences(), ]; -void checkUnnamed139( +void checkUnnamed143( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTableConstraintsForeignKeysColumnReferences(o[0]); @@ -8696,7 +8926,7 @@ api.TableConstraintsForeignKeys buildTableConstraintsForeignKeys() { final o = api.TableConstraintsForeignKeys(); buildCounterTableConstraintsForeignKeys++; if (buildCounterTableConstraintsForeignKeys < 3) { - o.columnReferences = buildUnnamed139(); + o.columnReferences = buildUnnamed143(); o.name = 'foo'; o.referencedTable = buildTableConstraintsForeignKeysReferencedTable(); } @@ -8707,7 +8937,7 @@ api.TableConstraintsForeignKeys buildTableConstraintsForeignKeys() { void checkTableConstraintsForeignKeys(api.TableConstraintsForeignKeys o) { buildCounterTableConstraintsForeignKeys++; if (buildCounterTableConstraintsForeignKeys < 3) { - checkUnnamed139(o.columnReferences!); + checkUnnamed143(o.columnReferences!); unittest.expect( o.name!, unittest.equals('foo'), @@ -8717,23 +8947,23 @@ void checkTableConstraintsForeignKeys(api.TableConstraintsForeignKeys o) { buildCounterTableConstraintsForeignKeys--; } -core.List buildUnnamed140() => [ +core.List buildUnnamed144() => [ buildTableConstraintsForeignKeys(), buildTableConstraintsForeignKeys(), ]; -void checkUnnamed140(core.List o) { +void checkUnnamed144(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTableConstraintsForeignKeys(o[0]); checkTableConstraintsForeignKeys(o[1]); } -core.List buildUnnamed141() => [ +core.List buildUnnamed145() => [ 'foo', 'foo', ]; -void checkUnnamed141(core.List o) { +void checkUnnamed145(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8750,7 +8980,7 @@ api.TableConstraintsPrimaryKey buildTableConstraintsPrimaryKey() { final o = api.TableConstraintsPrimaryKey(); buildCounterTableConstraintsPrimaryKey++; if (buildCounterTableConstraintsPrimaryKey < 3) { - o.columns = buildUnnamed141(); + o.columns = buildUnnamed145(); } buildCounterTableConstraintsPrimaryKey--; return o; @@ -8759,7 +8989,7 @@ api.TableConstraintsPrimaryKey buildTableConstraintsPrimaryKey() { void checkTableConstraintsPrimaryKey(api.TableConstraintsPrimaryKey o) { buildCounterTableConstraintsPrimaryKey++; if (buildCounterTableConstraintsPrimaryKey < 3) { - checkUnnamed141(o.columns!); + checkUnnamed145(o.columns!); } buildCounterTableConstraintsPrimaryKey--; } @@ -8769,7 +8999,7 @@ api.TableConstraints buildTableConstraints() { final o = api.TableConstraints(); buildCounterTableConstraints++; if (buildCounterTableConstraints < 3) { - o.foreignKeys = buildUnnamed140(); + o.foreignKeys = buildUnnamed144(); o.primaryKey = buildTableConstraintsPrimaryKey(); } buildCounterTableConstraints--; @@ -8779,7 +9009,7 @@ api.TableConstraints buildTableConstraints() { void checkTableConstraints(api.TableConstraints o) { buildCounterTableConstraints++; if (buildCounterTableConstraints < 3) { - checkUnnamed140(o.foreignKeys!); + checkUnnamed144(o.foreignKeys!); checkTableConstraintsPrimaryKey(o.primaryKey!); } buildCounterTableConstraints--; @@ -8809,12 +9039,12 @@ void checkTableDataInsertAllRequestRows(api.TableDataInsertAllRequestRows o) { buildCounterTableDataInsertAllRequestRows--; } -core.List buildUnnamed142() => [ +core.List buildUnnamed146() => [ buildTableDataInsertAllRequestRows(), buildTableDataInsertAllRequestRows(), ]; -void checkUnnamed142(core.List o) { +void checkUnnamed146(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTableDataInsertAllRequestRows(o[0]); checkTableDataInsertAllRequestRows(o[1]); @@ -8827,7 +9057,7 @@ api.TableDataInsertAllRequest buildTableDataInsertAllRequest() { if (buildCounterTableDataInsertAllRequest < 3) { o.ignoreUnknownValues = true; o.kind = 'foo'; - o.rows = buildUnnamed142(); + o.rows = buildUnnamed146(); o.skipInvalidRows = true; o.templateSuffix = 'foo'; o.traceId = 'foo'; @@ -8844,7 +9074,7 @@ void checkTableDataInsertAllRequest(api.TableDataInsertAllRequest o) { o.kind!, unittest.equals('foo'), ); - checkUnnamed142(o.rows!); + checkUnnamed146(o.rows!); unittest.expect(o.skipInvalidRows!, unittest.isTrue); unittest.expect( o.templateSuffix!, @@ -8858,12 +9088,12 @@ void checkTableDataInsertAllRequest(api.TableDataInsertAllRequest o) { buildCounterTableDataInsertAllRequest--; } -core.List buildUnnamed143() => [ +core.List buildUnnamed147() => [ buildErrorProto(), buildErrorProto(), ]; -void checkUnnamed143(core.List o) { +void checkUnnamed147(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkErrorProto(o[0]); checkErrorProto(o[1]); @@ -8875,7 +9105,7 @@ api.TableDataInsertAllResponseInsertErrors final o = api.TableDataInsertAllResponseInsertErrors(); buildCounterTableDataInsertAllResponseInsertErrors++; if (buildCounterTableDataInsertAllResponseInsertErrors < 3) { - o.errors = buildUnnamed143(); + o.errors = buildUnnamed147(); o.index = 42; } buildCounterTableDataInsertAllResponseInsertErrors--; @@ -8886,7 +9116,7 @@ void checkTableDataInsertAllResponseInsertErrors( api.TableDataInsertAllResponseInsertErrors o) { buildCounterTableDataInsertAllResponseInsertErrors++; if (buildCounterTableDataInsertAllResponseInsertErrors < 3) { - checkUnnamed143(o.errors!); + checkUnnamed147(o.errors!); unittest.expect( o.index!, unittest.equals(42), @@ -8895,12 +9125,12 @@ void checkTableDataInsertAllResponseInsertErrors( buildCounterTableDataInsertAllResponseInsertErrors--; } -core.List buildUnnamed144() => [ +core.List buildUnnamed148() => [ buildTableDataInsertAllResponseInsertErrors(), buildTableDataInsertAllResponseInsertErrors(), ]; -void checkUnnamed144(core.List o) { +void checkUnnamed148(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTableDataInsertAllResponseInsertErrors(o[0]); checkTableDataInsertAllResponseInsertErrors(o[1]); @@ -8911,7 +9141,7 @@ api.TableDataInsertAllResponse buildTableDataInsertAllResponse() { final o = api.TableDataInsertAllResponse(); buildCounterTableDataInsertAllResponse++; if (buildCounterTableDataInsertAllResponse < 3) { - o.insertErrors = buildUnnamed144(); + o.insertErrors = buildUnnamed148(); o.kind = 'foo'; } buildCounterTableDataInsertAllResponse--; @@ -8921,7 +9151,7 @@ api.TableDataInsertAllResponse buildTableDataInsertAllResponse() { void checkTableDataInsertAllResponse(api.TableDataInsertAllResponse o) { buildCounterTableDataInsertAllResponse++; if (buildCounterTableDataInsertAllResponse < 3) { - checkUnnamed144(o.insertErrors!); + checkUnnamed148(o.insertErrors!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -8930,12 +9160,12 @@ void checkTableDataInsertAllResponse(api.TableDataInsertAllResponse o) { buildCounterTableDataInsertAllResponse--; } -core.List buildUnnamed145() => [ +core.List buildUnnamed149() => [ buildTableRow(), buildTableRow(), ]; -void checkUnnamed145(core.List o) { +void checkUnnamed149(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTableRow(o[0]); checkTableRow(o[1]); @@ -8949,7 +9179,7 @@ api.TableDataList buildTableDataList() { o.etag = 'foo'; o.kind = 'foo'; o.pageToken = 'foo'; - o.rows = buildUnnamed145(); + o.rows = buildUnnamed149(); o.totalRows = 'foo'; } buildCounterTableDataList--; @@ -8971,7 +9201,7 @@ void checkTableDataList(api.TableDataList o) { o.pageToken!, unittest.equals('foo'), ); - checkUnnamed145(o.rows!); + checkUnnamed149(o.rows!); unittest.expect( o.totalRows!, unittest.equals('foo'), @@ -8980,12 +9210,12 @@ void checkTableDataList(api.TableDataList o) { buildCounterTableDataList--; } -core.List buildUnnamed146() => [ +core.List buildUnnamed150() => [ 'foo', 'foo', ]; -void checkUnnamed146(core.List o) { +void checkUnnamed150(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9002,7 +9232,7 @@ api.TableFieldSchemaCategories buildTableFieldSchemaCategories() { final o = api.TableFieldSchemaCategories(); buildCounterTableFieldSchemaCategories++; if (buildCounterTableFieldSchemaCategories < 3) { - o.names = buildUnnamed146(); + o.names = buildUnnamed150(); } buildCounterTableFieldSchemaCategories--; return o; @@ -9011,39 +9241,39 @@ api.TableFieldSchemaCategories buildTableFieldSchemaCategories() { void checkTableFieldSchemaCategories(api.TableFieldSchemaCategories o) { buildCounterTableFieldSchemaCategories++; if (buildCounterTableFieldSchemaCategories < 3) { - checkUnnamed146(o.names!); + checkUnnamed150(o.names!); } buildCounterTableFieldSchemaCategories--; } -core.List buildUnnamed147() => [ +core.List buildUnnamed151() => [ buildDataPolicyOption(), buildDataPolicyOption(), ]; -void checkUnnamed147(core.List o) { +void checkUnnamed151(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDataPolicyOption(o[0]); checkDataPolicyOption(o[1]); } -core.List buildUnnamed148() => [ +core.List buildUnnamed152() => [ buildTableFieldSchema(), buildTableFieldSchema(), ]; -void checkUnnamed148(core.List o) { +void checkUnnamed152(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTableFieldSchema(o[0]); checkTableFieldSchema(o[1]); } -core.List buildUnnamed149() => [ +core.List buildUnnamed153() => [ 'foo', 'foo', ]; -void checkUnnamed149(core.List o) { +void checkUnnamed153(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9060,7 +9290,7 @@ api.TableFieldSchemaPolicyTags buildTableFieldSchemaPolicyTags() { final o = api.TableFieldSchemaPolicyTags(); buildCounterTableFieldSchemaPolicyTags++; if (buildCounterTableFieldSchemaPolicyTags < 3) { - o.names = buildUnnamed149(); + o.names = buildUnnamed153(); } buildCounterTableFieldSchemaPolicyTags--; return o; @@ -9069,7 +9299,7 @@ api.TableFieldSchemaPolicyTags buildTableFieldSchemaPolicyTags() { void checkTableFieldSchemaPolicyTags(api.TableFieldSchemaPolicyTags o) { buildCounterTableFieldSchemaPolicyTags++; if (buildCounterTableFieldSchemaPolicyTags < 3) { - checkUnnamed149(o.names!); + checkUnnamed153(o.names!); } buildCounterTableFieldSchemaPolicyTags--; } @@ -9104,10 +9334,10 @@ api.TableFieldSchema buildTableFieldSchema() { if (buildCounterTableFieldSchema < 3) { o.categories = buildTableFieldSchemaCategories(); o.collation = 'foo'; - o.dataPolicies = buildUnnamed147(); + o.dataPolicies = buildUnnamed151(); o.defaultValueExpression = 'foo'; o.description = 'foo'; - o.fields = buildUnnamed148(); + o.fields = buildUnnamed152(); o.foreignTypeDefinition = 'foo'; o.maxLength = 'foo'; o.mode = 'foo'; @@ -9131,7 +9361,7 @@ void checkTableFieldSchema(api.TableFieldSchema o) { o.collation!, unittest.equals('foo'), ); - checkUnnamed147(o.dataPolicies!); + checkUnnamed151(o.dataPolicies!); unittest.expect( o.defaultValueExpression!, unittest.equals('foo'), @@ -9140,7 +9370,7 @@ void checkTableFieldSchema(api.TableFieldSchema o) { o.description!, unittest.equals('foo'), ); - checkUnnamed148(o.fields!); + checkUnnamed152(o.fields!); unittest.expect( o.foreignTypeDefinition!, unittest.equals('foo'), @@ -9179,12 +9409,12 @@ void checkTableFieldSchema(api.TableFieldSchema o) { buildCounterTableFieldSchema--; } -core.Map buildUnnamed150() => { +core.Map buildUnnamed154() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed150(core.Map o) { +void checkUnnamed154(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -9228,7 +9458,7 @@ api.TableListTables buildTableListTables() { o.friendlyName = 'foo'; o.id = 'foo'; o.kind = 'foo'; - o.labels = buildUnnamed150(); + o.labels = buildUnnamed154(); o.rangePartitioning = buildRangePartitioning(); o.requirePartitionFilter = true; o.tableReference = buildTableReference(); @@ -9264,7 +9494,7 @@ void checkTableListTables(api.TableListTables o) { o.kind!, unittest.equals('foo'), ); - checkUnnamed150(o.labels!); + checkUnnamed154(o.labels!); checkRangePartitioning(o.rangePartitioning!); unittest.expect(o.requirePartitionFilter!, unittest.isTrue); checkTableReference(o.tableReference!); @@ -9278,12 +9508,12 @@ void checkTableListTables(api.TableListTables o) { buildCounterTableListTables--; } -core.List buildUnnamed151() => [ +core.List buildUnnamed155() => [ buildTableListTables(), buildTableListTables(), ]; -void checkUnnamed151(core.List o) { +void checkUnnamed155(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTableListTables(o[0]); checkTableListTables(o[1]); @@ -9297,7 +9527,7 @@ api.TableList buildTableList() { o.etag = 'foo'; o.kind = 'foo'; o.nextPageToken = 'foo'; - o.tables = buildUnnamed151(); + o.tables = buildUnnamed155(); o.totalItems = 42; } buildCounterTableList--; @@ -9319,7 +9549,7 @@ void checkTableList(api.TableList o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed151(o.tables!); + checkUnnamed155(o.tables!); unittest.expect( o.totalItems!, unittest.equals(42), @@ -9435,12 +9665,12 @@ void checkTableReplicationInfo(api.TableReplicationInfo o) { buildCounterTableReplicationInfo--; } -core.List buildUnnamed152() => [ +core.List buildUnnamed156() => [ buildTableCell(), buildTableCell(), ]; -void checkUnnamed152(core.List o) { +void checkUnnamed156(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTableCell(o[0]); checkTableCell(o[1]); @@ -9451,7 +9681,7 @@ api.TableRow buildTableRow() { final o = api.TableRow(); buildCounterTableRow++; if (buildCounterTableRow < 3) { - o.f = buildUnnamed152(); + o.f = buildUnnamed156(); } buildCounterTableRow--; return o; @@ -9460,17 +9690,17 @@ api.TableRow buildTableRow() { void checkTableRow(api.TableRow o) { buildCounterTableRow++; if (buildCounterTableRow < 3) { - checkUnnamed152(o.f!); + checkUnnamed156(o.f!); } buildCounterTableRow--; } -core.List buildUnnamed153() => [ +core.List buildUnnamed157() => [ buildTableFieldSchema(), buildTableFieldSchema(), ]; -void checkUnnamed153(core.List o) { +void checkUnnamed157(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTableFieldSchema(o[0]); checkTableFieldSchema(o[1]); @@ -9481,7 +9711,7 @@ api.TableSchema buildTableSchema() { final o = api.TableSchema(); buildCounterTableSchema++; if (buildCounterTableSchema < 3) { - o.fields = buildUnnamed153(); + o.fields = buildUnnamed157(); o.foreignTypeInfo = buildForeignTypeInfo(); } buildCounterTableSchema--; @@ -9491,18 +9721,18 @@ api.TableSchema buildTableSchema() { void checkTableSchema(api.TableSchema o) { buildCounterTableSchema++; if (buildCounterTableSchema < 3) { - checkUnnamed153(o.fields!); + checkUnnamed157(o.fields!); checkForeignTypeInfo(o.foreignTypeInfo!); } buildCounterTableSchema--; } -core.List buildUnnamed154() => [ +core.List buildUnnamed158() => [ 'foo', 'foo', ]; -void checkUnnamed154(core.List o) { +void checkUnnamed158(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9519,7 +9749,7 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { final o = api.TestIamPermissionsRequest(); buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - o.permissions = buildUnnamed154(); + o.permissions = buildUnnamed158(); } buildCounterTestIamPermissionsRequest--; return o; @@ -9528,17 +9758,17 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { void checkTestIamPermissionsRequest(api.TestIamPermissionsRequest o) { buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - checkUnnamed154(o.permissions!); + checkUnnamed158(o.permissions!); } buildCounterTestIamPermissionsRequest--; } -core.List buildUnnamed155() => [ +core.List buildUnnamed159() => [ 'foo', 'foo', ]; -void checkUnnamed155(core.List o) { +void checkUnnamed159(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9555,7 +9785,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { final o = api.TestIamPermissionsResponse(); buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - o.permissions = buildUnnamed155(); + o.permissions = buildUnnamed159(); } buildCounterTestIamPermissionsResponse--; return o; @@ -9564,7 +9794,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { void checkTestIamPermissionsResponse(api.TestIamPermissionsResponse o) { buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - checkUnnamed155(o.permissions!); + checkUnnamed159(o.permissions!); } buildCounterTestIamPermissionsResponse--; } @@ -9603,12 +9833,12 @@ void checkTimePartitioning(api.TimePartitioning o) { buildCounterTimePartitioning--; } -core.List buildUnnamed156() => [ +core.List buildUnnamed160() => [ 'foo', 'foo', ]; -void checkUnnamed156(core.List o) { +void checkUnnamed160(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9620,12 +9850,12 @@ void checkUnnamed156(core.List o) { ); } -core.List buildUnnamed157() => [ +core.List buildUnnamed161() => [ 'foo', 'foo', ]; -void checkUnnamed157(core.List o) { +void checkUnnamed161(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9637,12 +9867,12 @@ void checkUnnamed157(core.List o) { ); } -core.List buildUnnamed158() => [ +core.List buildUnnamed162() => [ 'foo', 'foo', ]; -void checkUnnamed158(core.List o) { +void checkUnnamed162(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9654,12 +9884,12 @@ void checkUnnamed158(core.List o) { ); } -core.List buildUnnamed159() => [ +core.List buildUnnamed163() => [ 'foo', 'foo', ]; -void checkUnnamed159(core.List o) { +void checkUnnamed163(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9671,12 +9901,12 @@ void checkUnnamed159(core.List o) { ); } -core.List buildUnnamed160() => [ +core.List buildUnnamed164() => [ 'foo', 'foo', ]; -void checkUnnamed160(core.List o) { +void checkUnnamed164(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9688,12 +9918,12 @@ void checkUnnamed160(core.List o) { ); } -core.Map buildUnnamed161() => { +core.Map buildUnnamed165() => { 'x': 42.0, 'y': 42.0, }; -void checkUnnamed161(core.Map o) { +void checkUnnamed165(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -9705,12 +9935,12 @@ void checkUnnamed161(core.Map o) { ); } -core.List buildUnnamed162() => [ +core.List buildUnnamed166() => [ 'foo', 'foo', ]; -void checkUnnamed162(core.List o) { +void checkUnnamed166(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9722,12 +9952,12 @@ void checkUnnamed162(core.List o) { ); } -core.List buildUnnamed163() => [ +core.List buildUnnamed167() => [ 'foo', 'foo', ]; -void checkUnnamed163(core.List o) { +void checkUnnamed167(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9768,21 +9998,23 @@ api.TrainingOptions buildTrainingOptions() { o.dataSplitEvalFraction = 42.0; o.dataSplitMethod = 'foo'; o.decomposeTimeSeries = true; - o.dimensionIdColumns = buildUnnamed156(); + o.dimensionIdColumns = buildUnnamed160(); o.distanceType = 'foo'; o.dropout = 42.0; o.earlyStop = true; o.enableGlobalExplain = true; o.feedbackType = 'foo'; o.fitIntercept = true; - o.hiddenUnits = buildUnnamed157(); + o.forecastLimitLowerBound = 42.0; + o.forecastLimitUpperBound = 42.0; + o.hiddenUnits = buildUnnamed161(); o.holidayRegion = 'foo'; - o.holidayRegions = buildUnnamed158(); + o.holidayRegions = buildUnnamed162(); o.horizon = 'foo'; - o.hparamTuningObjectives = buildUnnamed159(); + o.hparamTuningObjectives = buildUnnamed163(); o.includeDrift = true; o.initialLearnRate = 42.0; - o.inputLabelColumns = buildUnnamed160(); + o.inputLabelColumns = buildUnnamed164(); o.instanceWeightColumn = 'foo'; o.integratedGradientsNumSteps = 'foo'; o.isTestColumn = 'foo'; @@ -9792,7 +10024,7 @@ api.TrainingOptions buildTrainingOptions() { o.l1RegActivation = 42.0; o.l1Regularization = 42.0; o.l2Regularization = 42.0; - o.labelClassWeights = buildUnnamed161(); + o.labelClassWeights = buildUnnamed165(); o.learnRate = 42.0; o.learnRateStrategy = 'foo'; o.lossType = 'foo'; @@ -9824,13 +10056,13 @@ api.TrainingOptions buildTrainingOptions() { o.tfVersion = 'foo'; o.timeSeriesDataColumn = 'foo'; o.timeSeriesIdColumn = 'foo'; - o.timeSeriesIdColumns = buildUnnamed162(); + o.timeSeriesIdColumns = buildUnnamed166(); o.timeSeriesLengthFraction = 42.0; o.timeSeriesTimestampColumn = 'foo'; o.treeMethod = 'foo'; o.trendSmoothingWindowSize = 'foo'; o.userColumn = 'foo'; - o.vertexAiModelVersionAliases = buildUnnamed163(); + o.vertexAiModelVersionAliases = buildUnnamed167(); o.walsAlpha = 42.0; o.warmStart = true; o.xgboostVersion = 'foo'; @@ -9917,7 +10149,7 @@ void checkTrainingOptions(api.TrainingOptions o) { unittest.equals('foo'), ); unittest.expect(o.decomposeTimeSeries!, unittest.isTrue); - checkUnnamed156(o.dimensionIdColumns!); + checkUnnamed160(o.dimensionIdColumns!); unittest.expect( o.distanceType!, unittest.equals('foo'), @@ -9933,23 +10165,31 @@ void checkTrainingOptions(api.TrainingOptions o) { unittest.equals('foo'), ); unittest.expect(o.fitIntercept!, unittest.isTrue); - checkUnnamed157(o.hiddenUnits!); + unittest.expect( + o.forecastLimitLowerBound!, + unittest.equals(42.0), + ); + unittest.expect( + o.forecastLimitUpperBound!, + unittest.equals(42.0), + ); + checkUnnamed161(o.hiddenUnits!); unittest.expect( o.holidayRegion!, unittest.equals('foo'), ); - checkUnnamed158(o.holidayRegions!); + checkUnnamed162(o.holidayRegions!); unittest.expect( o.horizon!, unittest.equals('foo'), ); - checkUnnamed159(o.hparamTuningObjectives!); + checkUnnamed163(o.hparamTuningObjectives!); unittest.expect(o.includeDrift!, unittest.isTrue); unittest.expect( o.initialLearnRate!, unittest.equals(42.0), ); - checkUnnamed160(o.inputLabelColumns!); + checkUnnamed164(o.inputLabelColumns!); unittest.expect( o.instanceWeightColumn!, unittest.equals('foo'), @@ -9986,7 +10226,7 @@ void checkTrainingOptions(api.TrainingOptions o) { o.l2Regularization!, unittest.equals(42.0), ); - checkUnnamed161(o.labelClassWeights!); + checkUnnamed165(o.labelClassWeights!); unittest.expect( o.learnRate!, unittest.equals(42.0), @@ -10102,7 +10342,7 @@ void checkTrainingOptions(api.TrainingOptions o) { o.timeSeriesIdColumn!, unittest.equals('foo'), ); - checkUnnamed162(o.timeSeriesIdColumns!); + checkUnnamed166(o.timeSeriesIdColumns!); unittest.expect( o.timeSeriesLengthFraction!, unittest.equals(42.0), @@ -10123,7 +10363,7 @@ void checkTrainingOptions(api.TrainingOptions o) { o.userColumn!, unittest.equals('foo'), ); - checkUnnamed163(o.vertexAiModelVersionAliases!); + checkUnnamed167(o.vertexAiModelVersionAliases!); unittest.expect( o.walsAlpha!, unittest.equals(42.0), @@ -10137,23 +10377,23 @@ void checkTrainingOptions(api.TrainingOptions o) { buildCounterTrainingOptions--; } -core.List buildUnnamed164() => [ +core.List buildUnnamed168() => [ buildGlobalExplanation(), buildGlobalExplanation(), ]; -void checkUnnamed164(core.List o) { +void checkUnnamed168(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGlobalExplanation(o[0]); checkGlobalExplanation(o[1]); } -core.List buildUnnamed165() => [ +core.List buildUnnamed169() => [ buildIterationResult(), buildIterationResult(), ]; -void checkUnnamed165(core.List o) { +void checkUnnamed169(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkIterationResult(o[0]); checkIterationResult(o[1]); @@ -10164,11 +10404,11 @@ api.TrainingRun buildTrainingRun() { final o = api.TrainingRun(); buildCounterTrainingRun++; if (buildCounterTrainingRun < 3) { - o.classLevelGlobalExplanations = buildUnnamed164(); + o.classLevelGlobalExplanations = buildUnnamed168(); o.dataSplitResult = buildDataSplitResult(); o.evaluationMetrics = buildEvaluationMetrics(); o.modelLevelGlobalExplanation = buildGlobalExplanation(); - o.results = buildUnnamed165(); + o.results = buildUnnamed169(); o.startTime = 'foo'; o.trainingOptions = buildTrainingOptions(); o.trainingStartTime = 'foo'; @@ -10182,11 +10422,11 @@ api.TrainingRun buildTrainingRun() { void checkTrainingRun(api.TrainingRun o) { buildCounterTrainingRun++; if (buildCounterTrainingRun < 3) { - checkUnnamed164(o.classLevelGlobalExplanations!); + checkUnnamed168(o.classLevelGlobalExplanations!); checkDataSplitResult(o.dataSplitResult!); checkEvaluationMetrics(o.evaluationMetrics!); checkGlobalExplanation(o.modelLevelGlobalExplanation!); - checkUnnamed165(o.results!); + checkUnnamed169(o.results!); unittest.expect( o.startTime!, unittest.equals('foo'), @@ -10308,24 +10548,36 @@ void checkUserDefinedFunctionResource(api.UserDefinedFunctionResource o) { buildCounterUserDefinedFunctionResource--; } -core.List buildUnnamed166() => [ +core.List buildUnnamed170() => [ buildIndexUnusedReason(), buildIndexUnusedReason(), ]; -void checkUnnamed166(core.List o) { +void checkUnnamed170(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkIndexUnusedReason(o[0]); checkIndexUnusedReason(o[1]); } +core.List buildUnnamed171() => [ + buildStoredColumnsUsage(), + buildStoredColumnsUsage(), + ]; + +void checkUnnamed171(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkStoredColumnsUsage(o[0]); + checkStoredColumnsUsage(o[1]); +} + core.int buildCounterVectorSearchStatistics = 0; api.VectorSearchStatistics buildVectorSearchStatistics() { final o = api.VectorSearchStatistics(); buildCounterVectorSearchStatistics++; if (buildCounterVectorSearchStatistics < 3) { - o.indexUnusedReasons = buildUnnamed166(); + o.indexUnusedReasons = buildUnnamed170(); o.indexUsageMode = 'foo'; + o.storedColumnsUsages = buildUnnamed171(); } buildCounterVectorSearchStatistics--; return o; @@ -10334,32 +10586,33 @@ api.VectorSearchStatistics buildVectorSearchStatistics() { void checkVectorSearchStatistics(api.VectorSearchStatistics o) { buildCounterVectorSearchStatistics++; if (buildCounterVectorSearchStatistics < 3) { - checkUnnamed166(o.indexUnusedReasons!); + checkUnnamed170(o.indexUnusedReasons!); unittest.expect( o.indexUsageMode!, unittest.equals('foo'), ); + checkUnnamed171(o.storedColumnsUsages!); } buildCounterVectorSearchStatistics--; } -core.List buildUnnamed167() => [ +core.List buildUnnamed172() => [ buildForeignViewDefinition(), buildForeignViewDefinition(), ]; -void checkUnnamed167(core.List o) { +void checkUnnamed172(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkForeignViewDefinition(o[0]); checkForeignViewDefinition(o[1]); } -core.List buildUnnamed168() => [ +core.List buildUnnamed173() => [ buildUserDefinedFunctionResource(), buildUserDefinedFunctionResource(), ]; -void checkUnnamed168(core.List o) { +void checkUnnamed173(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUserDefinedFunctionResource(o[0]); checkUserDefinedFunctionResource(o[1]); @@ -10370,12 +10623,12 @@ api.ViewDefinition buildViewDefinition() { final o = api.ViewDefinition(); buildCounterViewDefinition++; if (buildCounterViewDefinition < 3) { - o.foreignDefinitions = buildUnnamed167(); + o.foreignDefinitions = buildUnnamed172(); o.privacyPolicy = buildPrivacyPolicy(); o.query = 'foo'; o.useExplicitColumnNames = true; o.useLegacySql = true; - o.userDefinedFunctionResources = buildUnnamed168(); + o.userDefinedFunctionResources = buildUnnamed173(); } buildCounterViewDefinition--; return o; @@ -10384,7 +10637,7 @@ api.ViewDefinition buildViewDefinition() { void checkViewDefinition(api.ViewDefinition o) { buildCounterViewDefinition++; if (buildCounterViewDefinition < 3) { - checkUnnamed167(o.foreignDefinitions!); + checkUnnamed172(o.foreignDefinitions!); checkPrivacyPolicy(o.privacyPolicy!); unittest.expect( o.query!, @@ -10392,17 +10645,17 @@ void checkViewDefinition(api.ViewDefinition o) { ); unittest.expect(o.useExplicitColumnNames!, unittest.isTrue); unittest.expect(o.useLegacySql!, unittest.isTrue); - checkUnnamed168(o.userDefinedFunctionResources!); + checkUnnamed173(o.userDefinedFunctionResources!); } buildCounterViewDefinition--; } -core.List buildUnnamed169() => [ +core.List buildUnnamed174() => [ 'foo', 'foo', ]; -void checkUnnamed169(core.List o) { +void checkUnnamed174(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10545,6 +10798,16 @@ void main() { }); }); + unittest.group('obj-schema-BatchDeleteRowAccessPoliciesRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildBatchDeleteRowAccessPoliciesRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BatchDeleteRowAccessPoliciesRequest.fromJson( + oJson as core.Map); + checkBatchDeleteRowAccessPoliciesRequest(od); + }); + }); + unittest.group('obj-schema-BiEngineReason', () { unittest.test('to-json--from-json', () async { final o = buildBiEngineReason(); @@ -12222,6 +12485,26 @@ void main() { }); }); + unittest.group('obj-schema-StoredColumnsUnusedReason', () { + unittest.test('to-json--from-json', () async { + final o = buildStoredColumnsUnusedReason(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.StoredColumnsUnusedReason.fromJson( + oJson as core.Map); + checkStoredColumnsUnusedReason(od); + }); + }); + + unittest.group('obj-schema-StoredColumnsUsage', () { + unittest.test('to-json--from-json', () async { + final o = buildStoredColumnsUsage(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.StoredColumnsUsage.fromJson( + oJson as core.Map); + checkStoredColumnsUsage(od); + }); + }); + unittest.group('obj-schema-Streamingbuffer', () { unittest.test('to-json--from-json', () async { final o = buildStreamingbuffer(); @@ -13457,7 +13740,7 @@ void main() { final arg_pageToken = 'foo'; final arg_parentJobId = 'foo'; final arg_projection = 'foo'; - final arg_stateFilter = buildUnnamed169(); + final arg_stateFilter = buildUnnamed174(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -14448,13 +14731,205 @@ void main() { }); unittest.group('resource-RowAccessPoliciesResource', () { - unittest.test('method--getIamPolicy', () async { + unittest.test('method--batchDelete', () async { final mock = HttpServerMock(); final res = api.BigqueryApi(mock).rowAccessPolicies; - final arg_request = buildGetIamPolicyRequest(); - final arg_resource = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final arg_request = buildBatchDeleteRowAccessPoliciesRequest(); + final arg_projectId = 'foo'; + final arg_datasetId = 'foo'; + final arg_tableId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.BatchDeleteRowAccessPoliciesRequest.fromJson( + json as core.Map); + checkBatchDeleteRowAccessPoliciesRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('bigquery/v2/'), + ); + pathOffset += 12; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = ''; + return async.Future.value(stringResponse(200, h, resp)); + }), true); + await res.batchDelete( + arg_request, arg_projectId, arg_datasetId, arg_tableId, + $fields: arg_$fields); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = api.BigqueryApi(mock).rowAccessPolicies; + final arg_projectId = 'foo'; + final arg_datasetId = 'foo'; + final arg_tableId = 'foo'; + final arg_policyId = 'foo'; + final arg_force = true; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('bigquery/v2/'), + ); + pathOffset += 12; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['force']!.first, + unittest.equals('$arg_force'), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = ''; + return async.Future.value(stringResponse(200, h, resp)); + }), true); + await res.delete(arg_projectId, arg_datasetId, arg_tableId, arg_policyId, + force: arg_force, $fields: arg_$fields); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.BigqueryApi(mock).rowAccessPolicies; + final arg_projectId = 'foo'; + final arg_datasetId = 'foo'; + final arg_tableId = 'foo'; + final arg_policyId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('bigquery/v2/'), + ); + pathOffset += 12; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildRowAccessPolicy()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get( + arg_projectId, arg_datasetId, arg_tableId, arg_policyId, + $fields: arg_$fields); + checkRowAccessPolicy(response as api.RowAccessPolicy); + }); + + unittest.test('method--getIamPolicy', () async { + final mock = HttpServerMock(); + final res = api.BigqueryApi(mock).rowAccessPolicies; + final arg_request = buildGetIamPolicyRequest(); + final arg_resource = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = api.GetIamPolicyRequest.fromJson( json as core.Map); checkGetIamPolicyRequest(obj); @@ -14500,6 +14975,72 @@ void main() { checkPolicy(response as api.Policy); }); + unittest.test('method--insert', () async { + final mock = HttpServerMock(); + final res = api.BigqueryApi(mock).rowAccessPolicies; + final arg_request = buildRowAccessPolicy(); + final arg_projectId = 'foo'; + final arg_datasetId = 'foo'; + final arg_tableId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.RowAccessPolicy.fromJson( + json as core.Map); + checkRowAccessPolicy(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('bigquery/v2/'), + ); + pathOffset += 12; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildRowAccessPolicy()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.insert( + arg_request, arg_projectId, arg_datasetId, arg_tableId, + $fields: arg_$fields); + checkRowAccessPolicy(response as api.RowAccessPolicy); + }); + unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.BigqueryApi(mock).rowAccessPolicies; @@ -14625,6 +15166,73 @@ void main() { checkTestIamPermissionsResponse( response as api.TestIamPermissionsResponse); }); + + unittest.test('method--update', () async { + final mock = HttpServerMock(); + final res = api.BigqueryApi(mock).rowAccessPolicies; + final arg_request = buildRowAccessPolicy(); + final arg_projectId = 'foo'; + final arg_datasetId = 'foo'; + final arg_tableId = 'foo'; + final arg_policyId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.RowAccessPolicy.fromJson( + json as core.Map); + checkRowAccessPolicy(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('bigquery/v2/'), + ); + pathOffset += 12; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildRowAccessPolicy()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.update( + arg_request, arg_projectId, arg_datasetId, arg_tableId, arg_policyId, + $fields: arg_$fields); + checkRowAccessPolicy(response as api.RowAccessPolicy); + }); }); unittest.group('resource-TabledataResource', () { diff --git a/generated/googleapis/test/bigqueryreservation/v1_test.dart b/generated/googleapis/test/bigqueryreservation/v1_test.dart index 932dc656e..e2026b571 100644 --- a/generated/googleapis/test/bigqueryreservation/v1_test.dart +++ b/generated/googleapis/test/bigqueryreservation/v1_test.dart @@ -400,6 +400,35 @@ void checkMoveAssignmentRequest(api.MoveAssignmentRequest o) { buildCounterMoveAssignmentRequest--; } +core.int buildCounterReplicationStatus = 0; +api.ReplicationStatus buildReplicationStatus() { + final o = api.ReplicationStatus(); + buildCounterReplicationStatus++; + if (buildCounterReplicationStatus < 3) { + o.error = buildStatus(); + o.lastErrorTime = 'foo'; + o.lastReplicationTime = 'foo'; + } + buildCounterReplicationStatus--; + return o; +} + +void checkReplicationStatus(api.ReplicationStatus o) { + buildCounterReplicationStatus++; + if (buildCounterReplicationStatus < 3) { + checkStatus(o.error!); + unittest.expect( + o.lastErrorTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.lastReplicationTime!, + unittest.equals('foo'), + ); + } + buildCounterReplicationStatus--; +} + core.Map buildUnnamed5() => { 'x': 'foo', 'y': 'foo', @@ -428,10 +457,13 @@ api.Reservation buildReservation() { o.edition = 'foo'; o.ignoreIdleSlots = true; o.labels = buildUnnamed5(); + o.maxSlots = 'foo'; o.multiRegionAuxiliary = true; o.name = 'foo'; o.originalPrimaryLocation = 'foo'; o.primaryLocation = 'foo'; + o.replicationStatus = buildReplicationStatus(); + o.scalingMode = 'foo'; o.secondaryLocation = 'foo'; o.slotCapacity = 'foo'; o.updateTime = 'foo'; @@ -458,6 +490,10 @@ void checkReservation(api.Reservation o) { ); unittest.expect(o.ignoreIdleSlots!, unittest.isTrue); checkUnnamed5(o.labels!); + unittest.expect( + o.maxSlots!, + unittest.equals('foo'), + ); unittest.expect(o.multiRegionAuxiliary!, unittest.isTrue); unittest.expect( o.name!, @@ -471,6 +507,11 @@ void checkReservation(api.Reservation o) { o.primaryLocation!, unittest.equals('foo'), ); + checkReplicationStatus(o.replicationStatus!); + unittest.expect( + o.scalingMode!, + unittest.equals('foo'), + ); unittest.expect( o.secondaryLocation!, unittest.equals('foo'), @@ -829,6 +870,16 @@ void main() { }); }); + unittest.group('obj-schema-ReplicationStatus', () { + unittest.test('to-json--from-json', () async { + final o = buildReplicationStatus(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ReplicationStatus.fromJson( + oJson as core.Map); + checkReplicationStatus(od); + }); + }); + unittest.group('obj-schema-Reservation', () { unittest.test('to-json--from-json', () async { final o = buildReservation(); diff --git a/generated/googleapis/test/bigtableadmin/v2_test.dart b/generated/googleapis/test/bigtableadmin/v2_test.dart index 78afbcc58..8143668a8 100644 --- a/generated/googleapis/test/bigtableadmin/v2_test.dart +++ b/generated/googleapis/test/bigtableadmin/v2_test.dart @@ -1343,7 +1343,9 @@ api.GoogleBigtableAdminV2TypeBytesEncodingRaw buildGoogleBigtableAdminV2TypeBytesEncodingRaw() { final o = api.GoogleBigtableAdminV2TypeBytesEncodingRaw(); buildCounterGoogleBigtableAdminV2TypeBytesEncodingRaw++; - if (buildCounterGoogleBigtableAdminV2TypeBytesEncodingRaw < 3) {} + if (buildCounterGoogleBigtableAdminV2TypeBytesEncodingRaw < 3) { + o.escapeNulls = true; + } buildCounterGoogleBigtableAdminV2TypeBytesEncodingRaw--; return o; } @@ -1351,7 +1353,9 @@ api.GoogleBigtableAdminV2TypeBytesEncodingRaw void checkGoogleBigtableAdminV2TypeBytesEncodingRaw( api.GoogleBigtableAdminV2TypeBytesEncodingRaw o) { buildCounterGoogleBigtableAdminV2TypeBytesEncodingRaw++; - if (buildCounterGoogleBigtableAdminV2TypeBytesEncodingRaw < 3) {} + if (buildCounterGoogleBigtableAdminV2TypeBytesEncodingRaw < 3) { + unittest.expect(o.escapeNulls!, unittest.isTrue); + } buildCounterGoogleBigtableAdminV2TypeBytesEncodingRaw--; } @@ -1429,6 +1433,8 @@ api.GoogleBigtableAdminV2TypeInt64Encoding if (buildCounterGoogleBigtableAdminV2TypeInt64Encoding < 3) { o.bigEndianBytes = buildGoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes(); + o.orderedCodeBytes = + buildGoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes(); } buildCounterGoogleBigtableAdminV2TypeInt64Encoding--; return o; @@ -1440,6 +1446,8 @@ void checkGoogleBigtableAdminV2TypeInt64Encoding( if (buildCounterGoogleBigtableAdminV2TypeInt64Encoding < 3) { checkGoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes( o.bigEndianBytes!); + checkGoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes( + o.orderedCodeBytes!); } buildCounterGoogleBigtableAdminV2TypeInt64Encoding--; } @@ -1465,6 +1473,23 @@ void checkGoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes( buildCounterGoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes--; } +core.int buildCounterGoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes = 0; +api.GoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes + buildGoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes() { + final o = api.GoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes(); + buildCounterGoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes++; + if (buildCounterGoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes < 3) {} + buildCounterGoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes--; + return o; +} + +void checkGoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes( + api.GoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes o) { + buildCounterGoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes++; + if (buildCounterGoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes < 3) {} + buildCounterGoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes--; +} + core.int buildCounterGoogleBigtableAdminV2TypeMap = 0; api.GoogleBigtableAdminV2TypeMap buildGoogleBigtableAdminV2TypeMap() { final o = api.GoogleBigtableAdminV2TypeMap(); @@ -1534,7 +1559,9 @@ api.GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes buildGoogleBigtableAdminV2TypeStringEncodingUtf8Bytes() { final o = api.GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes(); buildCounterGoogleBigtableAdminV2TypeStringEncodingUtf8Bytes++; - if (buildCounterGoogleBigtableAdminV2TypeStringEncodingUtf8Bytes < 3) {} + if (buildCounterGoogleBigtableAdminV2TypeStringEncodingUtf8Bytes < 3) { + o.nullEscapeChar = 'foo'; + } buildCounterGoogleBigtableAdminV2TypeStringEncodingUtf8Bytes--; return o; } @@ -1542,7 +1569,12 @@ api.GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes void checkGoogleBigtableAdminV2TypeStringEncodingUtf8Bytes( api.GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes o) { buildCounterGoogleBigtableAdminV2TypeStringEncodingUtf8Bytes++; - if (buildCounterGoogleBigtableAdminV2TypeStringEncodingUtf8Bytes < 3) {} + if (buildCounterGoogleBigtableAdminV2TypeStringEncodingUtf8Bytes < 3) { + unittest.expect( + o.nullEscapeChar!, + unittest.equals('foo'), + ); + } buildCounterGoogleBigtableAdminV2TypeStringEncodingUtf8Bytes--; } @@ -1579,6 +1611,7 @@ api.GoogleBigtableAdminV2TypeStruct buildGoogleBigtableAdminV2TypeStruct() { final o = api.GoogleBigtableAdminV2TypeStruct(); buildCounterGoogleBigtableAdminV2TypeStruct++; if (buildCounterGoogleBigtableAdminV2TypeStruct < 3) { + o.encoding = buildGoogleBigtableAdminV2TypeStructEncoding(); o.fields = buildUnnamed10(); } buildCounterGoogleBigtableAdminV2TypeStruct--; @@ -1589,11 +1622,102 @@ void checkGoogleBigtableAdminV2TypeStruct( api.GoogleBigtableAdminV2TypeStruct o) { buildCounterGoogleBigtableAdminV2TypeStruct++; if (buildCounterGoogleBigtableAdminV2TypeStruct < 3) { + checkGoogleBigtableAdminV2TypeStructEncoding(o.encoding!); checkUnnamed10(o.fields!); } buildCounterGoogleBigtableAdminV2TypeStruct--; } +core.int buildCounterGoogleBigtableAdminV2TypeStructEncoding = 0; +api.GoogleBigtableAdminV2TypeStructEncoding + buildGoogleBigtableAdminV2TypeStructEncoding() { + final o = api.GoogleBigtableAdminV2TypeStructEncoding(); + buildCounterGoogleBigtableAdminV2TypeStructEncoding++; + if (buildCounterGoogleBigtableAdminV2TypeStructEncoding < 3) { + o.delimitedBytes = + buildGoogleBigtableAdminV2TypeStructEncodingDelimitedBytes(); + o.orderedCodeBytes = + buildGoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes(); + o.singleton = buildGoogleBigtableAdminV2TypeStructEncodingSingleton(); + } + buildCounterGoogleBigtableAdminV2TypeStructEncoding--; + return o; +} + +void checkGoogleBigtableAdminV2TypeStructEncoding( + api.GoogleBigtableAdminV2TypeStructEncoding o) { + buildCounterGoogleBigtableAdminV2TypeStructEncoding++; + if (buildCounterGoogleBigtableAdminV2TypeStructEncoding < 3) { + checkGoogleBigtableAdminV2TypeStructEncodingDelimitedBytes( + o.delimitedBytes!); + checkGoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes( + o.orderedCodeBytes!); + checkGoogleBigtableAdminV2TypeStructEncodingSingleton(o.singleton!); + } + buildCounterGoogleBigtableAdminV2TypeStructEncoding--; +} + +core.int buildCounterGoogleBigtableAdminV2TypeStructEncodingDelimitedBytes = 0; +api.GoogleBigtableAdminV2TypeStructEncodingDelimitedBytes + buildGoogleBigtableAdminV2TypeStructEncodingDelimitedBytes() { + final o = api.GoogleBigtableAdminV2TypeStructEncodingDelimitedBytes(); + buildCounterGoogleBigtableAdminV2TypeStructEncodingDelimitedBytes++; + if (buildCounterGoogleBigtableAdminV2TypeStructEncodingDelimitedBytes < 3) { + o.delimiter = 'foo'; + } + buildCounterGoogleBigtableAdminV2TypeStructEncodingDelimitedBytes--; + return o; +} + +void checkGoogleBigtableAdminV2TypeStructEncodingDelimitedBytes( + api.GoogleBigtableAdminV2TypeStructEncodingDelimitedBytes o) { + buildCounterGoogleBigtableAdminV2TypeStructEncodingDelimitedBytes++; + if (buildCounterGoogleBigtableAdminV2TypeStructEncodingDelimitedBytes < 3) { + unittest.expect( + o.delimiter!, + unittest.equals('foo'), + ); + } + buildCounterGoogleBigtableAdminV2TypeStructEncodingDelimitedBytes--; +} + +core.int buildCounterGoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes = + 0; +api.GoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes + buildGoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes() { + final o = api.GoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes(); + buildCounterGoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes++; + if (buildCounterGoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes < + 3) {} + buildCounterGoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes--; + return o; +} + +void checkGoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes( + api.GoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes o) { + buildCounterGoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes++; + if (buildCounterGoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes < + 3) {} + buildCounterGoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes--; +} + +core.int buildCounterGoogleBigtableAdminV2TypeStructEncodingSingleton = 0; +api.GoogleBigtableAdminV2TypeStructEncodingSingleton + buildGoogleBigtableAdminV2TypeStructEncodingSingleton() { + final o = api.GoogleBigtableAdminV2TypeStructEncodingSingleton(); + buildCounterGoogleBigtableAdminV2TypeStructEncodingSingleton++; + if (buildCounterGoogleBigtableAdminV2TypeStructEncodingSingleton < 3) {} + buildCounterGoogleBigtableAdminV2TypeStructEncodingSingleton--; + return o; +} + +void checkGoogleBigtableAdminV2TypeStructEncodingSingleton( + api.GoogleBigtableAdminV2TypeStructEncodingSingleton o) { + buildCounterGoogleBigtableAdminV2TypeStructEncodingSingleton++; + if (buildCounterGoogleBigtableAdminV2TypeStructEncodingSingleton < 3) {} + buildCounterGoogleBigtableAdminV2TypeStructEncodingSingleton--; +} + core.int buildCounterGoogleBigtableAdminV2TypeStructField = 0; api.GoogleBigtableAdminV2TypeStructField buildGoogleBigtableAdminV2TypeStructField() { @@ -1625,7 +1749,9 @@ api.GoogleBigtableAdminV2TypeTimestamp buildGoogleBigtableAdminV2TypeTimestamp() { final o = api.GoogleBigtableAdminV2TypeTimestamp(); buildCounterGoogleBigtableAdminV2TypeTimestamp++; - if (buildCounterGoogleBigtableAdminV2TypeTimestamp < 3) {} + if (buildCounterGoogleBigtableAdminV2TypeTimestamp < 3) { + o.encoding = buildGoogleBigtableAdminV2TypeTimestampEncoding(); + } buildCounterGoogleBigtableAdminV2TypeTimestamp--; return o; } @@ -1633,10 +1759,33 @@ api.GoogleBigtableAdminV2TypeTimestamp void checkGoogleBigtableAdminV2TypeTimestamp( api.GoogleBigtableAdminV2TypeTimestamp o) { buildCounterGoogleBigtableAdminV2TypeTimestamp++; - if (buildCounterGoogleBigtableAdminV2TypeTimestamp < 3) {} + if (buildCounterGoogleBigtableAdminV2TypeTimestamp < 3) { + checkGoogleBigtableAdminV2TypeTimestampEncoding(o.encoding!); + } buildCounterGoogleBigtableAdminV2TypeTimestamp--; } +core.int buildCounterGoogleBigtableAdminV2TypeTimestampEncoding = 0; +api.GoogleBigtableAdminV2TypeTimestampEncoding + buildGoogleBigtableAdminV2TypeTimestampEncoding() { + final o = api.GoogleBigtableAdminV2TypeTimestampEncoding(); + buildCounterGoogleBigtableAdminV2TypeTimestampEncoding++; + if (buildCounterGoogleBigtableAdminV2TypeTimestampEncoding < 3) { + o.unixMicrosInt64 = buildGoogleBigtableAdminV2TypeInt64Encoding(); + } + buildCounterGoogleBigtableAdminV2TypeTimestampEncoding--; + return o; +} + +void checkGoogleBigtableAdminV2TypeTimestampEncoding( + api.GoogleBigtableAdminV2TypeTimestampEncoding o) { + buildCounterGoogleBigtableAdminV2TypeTimestampEncoding++; + if (buildCounterGoogleBigtableAdminV2TypeTimestampEncoding < 3) { + checkGoogleBigtableAdminV2TypeInt64Encoding(o.unixMicrosInt64!); + } + buildCounterGoogleBigtableAdminV2TypeTimestampEncoding--; +} + core.int buildCounterHotTablet = 0; api.HotTablet buildHotTablet() { final o = api.HotTablet(); @@ -3575,6 +3724,18 @@ void main() { }); }); + unittest.group( + 'obj-schema-GoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.GoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes.fromJson( + oJson as core.Map); + checkGoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes(od); + }); + }); + unittest.group('obj-schema-GoogleBigtableAdminV2TypeMap', () { unittest.test('to-json--from-json', () async { final o = buildGoogleBigtableAdminV2TypeMap(); @@ -3637,6 +3798,51 @@ void main() { }); }); + unittest.group('obj-schema-GoogleBigtableAdminV2TypeStructEncoding', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleBigtableAdminV2TypeStructEncoding(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleBigtableAdminV2TypeStructEncoding.fromJson( + oJson as core.Map); + checkGoogleBigtableAdminV2TypeStructEncoding(od); + }); + }); + + unittest.group( + 'obj-schema-GoogleBigtableAdminV2TypeStructEncodingDelimitedBytes', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleBigtableAdminV2TypeStructEncodingDelimitedBytes(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.GoogleBigtableAdminV2TypeStructEncodingDelimitedBytes.fromJson( + oJson as core.Map); + checkGoogleBigtableAdminV2TypeStructEncodingDelimitedBytes(od); + }); + }); + + unittest.group( + 'obj-schema-GoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.GoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes.fromJson( + oJson as core.Map); + checkGoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes(od); + }); + }); + + unittest.group('obj-schema-GoogleBigtableAdminV2TypeStructEncodingSingleton', + () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleBigtableAdminV2TypeStructEncodingSingleton(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleBigtableAdminV2TypeStructEncodingSingleton.fromJson( + oJson as core.Map); + checkGoogleBigtableAdminV2TypeStructEncodingSingleton(od); + }); + }); + unittest.group('obj-schema-GoogleBigtableAdminV2TypeStructField', () { unittest.test('to-json--from-json', () async { final o = buildGoogleBigtableAdminV2TypeStructField(); @@ -3657,6 +3863,16 @@ void main() { }); }); + unittest.group('obj-schema-GoogleBigtableAdminV2TypeTimestampEncoding', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleBigtableAdminV2TypeTimestampEncoding(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleBigtableAdminV2TypeTimestampEncoding.fromJson( + oJson as core.Map); + checkGoogleBigtableAdminV2TypeTimestampEncoding(od); + }); + }); + unittest.group('obj-schema-HotTablet', () { unittest.test('to-json--from-json', () async { final o = buildHotTablet(); @@ -5938,6 +6154,363 @@ void main() { }); }); + unittest.group('resource-ProjectsInstancesLogicalViewsResource', () { + unittest.test('method--getIamPolicy', () async { + final mock = HttpServerMock(); + final res = api.BigtableAdminApi(mock).projects.instances.logicalViews; + final arg_request = buildGetIamPolicyRequest(); + final arg_resource = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GetIamPolicyRequest.fromJson( + json as core.Map); + checkGetIamPolicyRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v2/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildPolicy()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.getIamPolicy(arg_request, arg_resource, + $fields: arg_$fields); + checkPolicy(response as api.Policy); + }); + + unittest.test('method--setIamPolicy', () async { + final mock = HttpServerMock(); + final res = api.BigtableAdminApi(mock).projects.instances.logicalViews; + final arg_request = buildSetIamPolicyRequest(); + final arg_resource = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.SetIamPolicyRequest.fromJson( + json as core.Map); + checkSetIamPolicyRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v2/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildPolicy()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.setIamPolicy(arg_request, arg_resource, + $fields: arg_$fields); + checkPolicy(response as api.Policy); + }); + + unittest.test('method--testIamPermissions', () async { + final mock = HttpServerMock(); + final res = api.BigtableAdminApi(mock).projects.instances.logicalViews; + final arg_request = buildTestIamPermissionsRequest(); + final arg_resource = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.TestIamPermissionsRequest.fromJson( + json as core.Map); + checkTestIamPermissionsRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v2/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildTestIamPermissionsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.testIamPermissions(arg_request, arg_resource, + $fields: arg_$fields); + checkTestIamPermissionsResponse( + response as api.TestIamPermissionsResponse); + }); + }); + + unittest.group('resource-ProjectsInstancesMaterializedViewsResource', () { + unittest.test('method--getIamPolicy', () async { + final mock = HttpServerMock(); + final res = + api.BigtableAdminApi(mock).projects.instances.materializedViews; + final arg_request = buildGetIamPolicyRequest(); + final arg_resource = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GetIamPolicyRequest.fromJson( + json as core.Map); + checkGetIamPolicyRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v2/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildPolicy()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.getIamPolicy(arg_request, arg_resource, + $fields: arg_$fields); + checkPolicy(response as api.Policy); + }); + + unittest.test('method--setIamPolicy', () async { + final mock = HttpServerMock(); + final res = + api.BigtableAdminApi(mock).projects.instances.materializedViews; + final arg_request = buildSetIamPolicyRequest(); + final arg_resource = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.SetIamPolicyRequest.fromJson( + json as core.Map); + checkSetIamPolicyRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v2/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildPolicy()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.setIamPolicy(arg_request, arg_resource, + $fields: arg_$fields); + checkPolicy(response as api.Policy); + }); + + unittest.test('method--testIamPermissions', () async { + final mock = HttpServerMock(); + final res = + api.BigtableAdminApi(mock).projects.instances.materializedViews; + final arg_request = buildTestIamPermissionsRequest(); + final arg_resource = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.TestIamPermissionsRequest.fromJson( + json as core.Map); + checkTestIamPermissionsRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v2/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildTestIamPermissionsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.testIamPermissions(arg_request, arg_resource, + $fields: arg_$fields); + checkTestIamPermissionsResponse( + response as api.TestIamPermissionsResponse); + }); + }); + unittest.group('resource-ProjectsInstancesTablesResource', () { unittest.test('method--checkConsistency', () async { final mock = HttpServerMock(); diff --git a/generated/googleapis/test/certificatemanager/v1_test.dart b/generated/googleapis/test/certificatemanager/v1_test.dart index fdbe1f72f..f29af61ab 100644 --- a/generated/googleapis/test/certificatemanager/v1_test.dart +++ b/generated/googleapis/test/certificatemanager/v1_test.dart @@ -134,6 +134,17 @@ void checkUnnamed1(core.List o) { ); } +core.List buildUnnamed2() => [ + buildUsedBy(), + buildUsedBy(), + ]; + +void checkUnnamed2(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkUsedBy(o[0]); + checkUsedBy(o[1]); +} + core.int buildCounterCertificate = 0; api.Certificate buildCertificate() { final o = api.Certificate(); @@ -150,6 +161,7 @@ api.Certificate buildCertificate() { o.scope = 'foo'; o.selfManaged = buildSelfManagedCertificate(); o.updateTime = 'foo'; + o.usedBy = buildUnnamed2(); } buildCounterCertificate--; return o; @@ -190,6 +202,7 @@ void checkCertificate(api.Certificate o) { o.updateTime!, unittest.equals('foo'), ); + checkUnnamed2(o.usedBy!); } buildCounterCertificate--; } @@ -238,12 +251,12 @@ void checkCertificateAuthorityServiceConfig( buildCounterCertificateAuthorityServiceConfig--; } -core.Map buildUnnamed2() => { +core.Map buildUnnamed3() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed2(core.Map o) { +void checkUnnamed3(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -264,7 +277,7 @@ api.CertificateIssuanceConfig buildCertificateIssuanceConfig() { o.createTime = 'foo'; o.description = 'foo'; o.keyAlgorithm = 'foo'; - o.labels = buildUnnamed2(); + o.labels = buildUnnamed3(); o.lifetime = 'foo'; o.name = 'foo'; o.rotationWindowPercentage = 42; @@ -290,7 +303,7 @@ void checkCertificateIssuanceConfig(api.CertificateIssuanceConfig o) { o.keyAlgorithm!, unittest.equals('foo'), ); - checkUnnamed2(o.labels!); + checkUnnamed3(o.labels!); unittest.expect( o.lifetime!, unittest.equals('foo'), @@ -311,23 +324,23 @@ void checkCertificateIssuanceConfig(api.CertificateIssuanceConfig o) { buildCounterCertificateIssuanceConfig--; } -core.List buildUnnamed3() => [ +core.List buildUnnamed4() => [ buildGclbTarget(), buildGclbTarget(), ]; -void checkUnnamed3(core.List o) { +void checkUnnamed4(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGclbTarget(o[0]); checkGclbTarget(o[1]); } -core.Map buildUnnamed4() => { +core.Map buildUnnamed5() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed4(core.Map o) { +void checkUnnamed5(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -346,8 +359,8 @@ api.CertificateMap buildCertificateMap() { if (buildCounterCertificateMap < 3) { o.createTime = 'foo'; o.description = 'foo'; - o.gclbTargets = buildUnnamed3(); - o.labels = buildUnnamed4(); + o.gclbTargets = buildUnnamed4(); + o.labels = buildUnnamed5(); o.name = 'foo'; o.updateTime = 'foo'; } @@ -366,8 +379,8 @@ void checkCertificateMap(api.CertificateMap o) { o.description!, unittest.equals('foo'), ); - checkUnnamed3(o.gclbTargets!); - checkUnnamed4(o.labels!); + checkUnnamed4(o.gclbTargets!); + checkUnnamed5(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -380,12 +393,12 @@ void checkCertificateMap(api.CertificateMap o) { buildCounterCertificateMap--; } -core.List buildUnnamed5() => [ +core.List buildUnnamed6() => [ 'foo', 'foo', ]; -void checkUnnamed5(core.List o) { +void checkUnnamed6(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -397,12 +410,12 @@ void checkUnnamed5(core.List o) { ); } -core.Map buildUnnamed6() => { +core.Map buildUnnamed7() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed6(core.Map o) { +void checkUnnamed7(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -419,11 +432,11 @@ api.CertificateMapEntry buildCertificateMapEntry() { final o = api.CertificateMapEntry(); buildCounterCertificateMapEntry++; if (buildCounterCertificateMapEntry < 3) { - o.certificates = buildUnnamed5(); + o.certificates = buildUnnamed6(); o.createTime = 'foo'; o.description = 'foo'; o.hostname = 'foo'; - o.labels = buildUnnamed6(); + o.labels = buildUnnamed7(); o.matcher = 'foo'; o.name = 'foo'; o.state = 'foo'; @@ -436,7 +449,7 @@ api.CertificateMapEntry buildCertificateMapEntry() { void checkCertificateMapEntry(api.CertificateMapEntry o) { buildCounterCertificateMapEntry++; if (buildCounterCertificateMapEntry < 3) { - checkUnnamed5(o.certificates!); + checkUnnamed6(o.certificates!); unittest.expect( o.createTime!, unittest.equals('foo'), @@ -449,7 +462,7 @@ void checkCertificateMapEntry(api.CertificateMapEntry o) { o.hostname!, unittest.equals('foo'), ); - checkUnnamed6(o.labels!); + checkUnnamed7(o.labels!); unittest.expect( o.matcher!, unittest.equals('foo'), @@ -470,12 +483,12 @@ void checkCertificateMapEntry(api.CertificateMapEntry o) { buildCounterCertificateMapEntry--; } -core.Map buildUnnamed7() => { +core.Map buildUnnamed8() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed7(core.Map o) { +void checkUnnamed8(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -496,7 +509,7 @@ api.DnsAuthorization buildDnsAuthorization() { o.description = 'foo'; o.dnsResourceRecord = buildDnsResourceRecord(); o.domain = 'foo'; - o.labels = buildUnnamed7(); + o.labels = buildUnnamed8(); o.name = 'foo'; o.type = 'foo'; o.updateTime = 'foo'; @@ -521,7 +534,7 @@ void checkDnsAuthorization(api.DnsAuthorization o) { o.domain!, unittest.equals('foo'), ); - checkUnnamed7(o.labels!); + checkUnnamed8(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -585,12 +598,12 @@ void checkEmpty(api.Empty o) { buildCounterEmpty--; } -core.List buildUnnamed8() => [ +core.List buildUnnamed9() => [ buildIpConfig(), buildIpConfig(), ]; -void checkUnnamed8(core.List o) { +void checkUnnamed9(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkIpConfig(o[0]); checkIpConfig(o[1]); @@ -601,7 +614,7 @@ api.GclbTarget buildGclbTarget() { final o = api.GclbTarget(); buildCounterGclbTarget++; if (buildCounterGclbTarget < 3) { - o.ipConfigs = buildUnnamed8(); + o.ipConfigs = buildUnnamed9(); o.targetHttpsProxy = 'foo'; o.targetSslProxy = 'foo'; } @@ -612,7 +625,7 @@ api.GclbTarget buildGclbTarget() { void checkGclbTarget(api.GclbTarget o) { buildCounterGclbTarget++; if (buildCounterGclbTarget < 3) { - checkUnnamed8(o.ipConfigs!); + checkUnnamed9(o.ipConfigs!); unittest.expect( o.targetHttpsProxy!, unittest.equals('foo'), @@ -647,12 +660,12 @@ void checkIntermediateCA(api.IntermediateCA o) { buildCounterIntermediateCA--; } -core.List buildUnnamed9() => [ +core.List buildUnnamed10() => [ 42, 42, ]; -void checkUnnamed9(core.List o) { +void checkUnnamed10(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -670,7 +683,7 @@ api.IpConfig buildIpConfig() { buildCounterIpConfig++; if (buildCounterIpConfig < 3) { o.ipAddress = 'foo'; - o.ports = buildUnnamed9(); + o.ports = buildUnnamed10(); } buildCounterIpConfig--; return o; @@ -683,28 +696,28 @@ void checkIpConfig(api.IpConfig o) { o.ipAddress!, unittest.equals('foo'), ); - checkUnnamed9(o.ports!); + checkUnnamed10(o.ports!); } buildCounterIpConfig--; } -core.List buildUnnamed10() => [ +core.List buildUnnamed11() => [ buildCertificateIssuanceConfig(), buildCertificateIssuanceConfig(), ]; -void checkUnnamed10(core.List o) { +void checkUnnamed11(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCertificateIssuanceConfig(o[0]); checkCertificateIssuanceConfig(o[1]); } -core.List buildUnnamed11() => [ +core.List buildUnnamed12() => [ 'foo', 'foo', ]; -void checkUnnamed11(core.List o) { +void checkUnnamed12(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -722,9 +735,9 @@ api.ListCertificateIssuanceConfigsResponse final o = api.ListCertificateIssuanceConfigsResponse(); buildCounterListCertificateIssuanceConfigsResponse++; if (buildCounterListCertificateIssuanceConfigsResponse < 3) { - o.certificateIssuanceConfigs = buildUnnamed10(); + o.certificateIssuanceConfigs = buildUnnamed11(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed11(); + o.unreachable = buildUnnamed12(); } buildCounterListCertificateIssuanceConfigsResponse--; return o; @@ -734,33 +747,33 @@ void checkListCertificateIssuanceConfigsResponse( api.ListCertificateIssuanceConfigsResponse o) { buildCounterListCertificateIssuanceConfigsResponse++; if (buildCounterListCertificateIssuanceConfigsResponse < 3) { - checkUnnamed10(o.certificateIssuanceConfigs!); + checkUnnamed11(o.certificateIssuanceConfigs!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed11(o.unreachable!); + checkUnnamed12(o.unreachable!); } buildCounterListCertificateIssuanceConfigsResponse--; } -core.List buildUnnamed12() => [ +core.List buildUnnamed13() => [ buildCertificateMapEntry(), buildCertificateMapEntry(), ]; -void checkUnnamed12(core.List o) { +void checkUnnamed13(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCertificateMapEntry(o[0]); checkCertificateMapEntry(o[1]); } -core.List buildUnnamed13() => [ +core.List buildUnnamed14() => [ 'foo', 'foo', ]; -void checkUnnamed13(core.List o) { +void checkUnnamed14(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -777,9 +790,9 @@ api.ListCertificateMapEntriesResponse buildListCertificateMapEntriesResponse() { final o = api.ListCertificateMapEntriesResponse(); buildCounterListCertificateMapEntriesResponse++; if (buildCounterListCertificateMapEntriesResponse < 3) { - o.certificateMapEntries = buildUnnamed12(); + o.certificateMapEntries = buildUnnamed13(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed13(); + o.unreachable = buildUnnamed14(); } buildCounterListCertificateMapEntriesResponse--; return o; @@ -789,33 +802,33 @@ void checkListCertificateMapEntriesResponse( api.ListCertificateMapEntriesResponse o) { buildCounterListCertificateMapEntriesResponse++; if (buildCounterListCertificateMapEntriesResponse < 3) { - checkUnnamed12(o.certificateMapEntries!); + checkUnnamed13(o.certificateMapEntries!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed13(o.unreachable!); + checkUnnamed14(o.unreachable!); } buildCounterListCertificateMapEntriesResponse--; } -core.List buildUnnamed14() => [ +core.List buildUnnamed15() => [ buildCertificateMap(), buildCertificateMap(), ]; -void checkUnnamed14(core.List o) { +void checkUnnamed15(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCertificateMap(o[0]); checkCertificateMap(o[1]); } -core.List buildUnnamed15() => [ +core.List buildUnnamed16() => [ 'foo', 'foo', ]; -void checkUnnamed15(core.List o) { +void checkUnnamed16(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -832,9 +845,9 @@ api.ListCertificateMapsResponse buildListCertificateMapsResponse() { final o = api.ListCertificateMapsResponse(); buildCounterListCertificateMapsResponse++; if (buildCounterListCertificateMapsResponse < 3) { - o.certificateMaps = buildUnnamed14(); + o.certificateMaps = buildUnnamed15(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed15(); + o.unreachable = buildUnnamed16(); } buildCounterListCertificateMapsResponse--; return o; @@ -843,33 +856,33 @@ api.ListCertificateMapsResponse buildListCertificateMapsResponse() { void checkListCertificateMapsResponse(api.ListCertificateMapsResponse o) { buildCounterListCertificateMapsResponse++; if (buildCounterListCertificateMapsResponse < 3) { - checkUnnamed14(o.certificateMaps!); + checkUnnamed15(o.certificateMaps!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed15(o.unreachable!); + checkUnnamed16(o.unreachable!); } buildCounterListCertificateMapsResponse--; } -core.List buildUnnamed16() => [ +core.List buildUnnamed17() => [ buildCertificate(), buildCertificate(), ]; -void checkUnnamed16(core.List o) { +void checkUnnamed17(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCertificate(o[0]); checkCertificate(o[1]); } -core.List buildUnnamed17() => [ +core.List buildUnnamed18() => [ 'foo', 'foo', ]; -void checkUnnamed17(core.List o) { +void checkUnnamed18(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -886,9 +899,9 @@ api.ListCertificatesResponse buildListCertificatesResponse() { final o = api.ListCertificatesResponse(); buildCounterListCertificatesResponse++; if (buildCounterListCertificatesResponse < 3) { - o.certificates = buildUnnamed16(); + o.certificates = buildUnnamed17(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed17(); + o.unreachable = buildUnnamed18(); } buildCounterListCertificatesResponse--; return o; @@ -897,33 +910,33 @@ api.ListCertificatesResponse buildListCertificatesResponse() { void checkListCertificatesResponse(api.ListCertificatesResponse o) { buildCounterListCertificatesResponse++; if (buildCounterListCertificatesResponse < 3) { - checkUnnamed16(o.certificates!); + checkUnnamed17(o.certificates!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed17(o.unreachable!); + checkUnnamed18(o.unreachable!); } buildCounterListCertificatesResponse--; } -core.List buildUnnamed18() => [ +core.List buildUnnamed19() => [ buildDnsAuthorization(), buildDnsAuthorization(), ]; -void checkUnnamed18(core.List o) { +void checkUnnamed19(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDnsAuthorization(o[0]); checkDnsAuthorization(o[1]); } -core.List buildUnnamed19() => [ +core.List buildUnnamed20() => [ 'foo', 'foo', ]; -void checkUnnamed19(core.List o) { +void checkUnnamed20(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -940,9 +953,9 @@ api.ListDnsAuthorizationsResponse buildListDnsAuthorizationsResponse() { final o = api.ListDnsAuthorizationsResponse(); buildCounterListDnsAuthorizationsResponse++; if (buildCounterListDnsAuthorizationsResponse < 3) { - o.dnsAuthorizations = buildUnnamed18(); + o.dnsAuthorizations = buildUnnamed19(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed19(); + o.unreachable = buildUnnamed20(); } buildCounterListDnsAuthorizationsResponse--; return o; @@ -951,22 +964,22 @@ api.ListDnsAuthorizationsResponse buildListDnsAuthorizationsResponse() { void checkListDnsAuthorizationsResponse(api.ListDnsAuthorizationsResponse o) { buildCounterListDnsAuthorizationsResponse++; if (buildCounterListDnsAuthorizationsResponse < 3) { - checkUnnamed18(o.dnsAuthorizations!); + checkUnnamed19(o.dnsAuthorizations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed19(o.unreachable!); + checkUnnamed20(o.unreachable!); } buildCounterListDnsAuthorizationsResponse--; } -core.List buildUnnamed20() => [ +core.List buildUnnamed21() => [ buildLocation(), buildLocation(), ]; -void checkUnnamed20(core.List o) { +void checkUnnamed21(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLocation(o[0]); checkLocation(o[1]); @@ -977,7 +990,7 @@ api.ListLocationsResponse buildListLocationsResponse() { final o = api.ListLocationsResponse(); buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - o.locations = buildUnnamed20(); + o.locations = buildUnnamed21(); o.nextPageToken = 'foo'; } buildCounterListLocationsResponse--; @@ -987,7 +1000,7 @@ api.ListLocationsResponse buildListLocationsResponse() { void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - checkUnnamed20(o.locations!); + checkUnnamed21(o.locations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -996,12 +1009,12 @@ void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse--; } -core.List buildUnnamed21() => [ +core.List buildUnnamed22() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed21(core.List o) { +void checkUnnamed22(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -1013,7 +1026,7 @@ api.ListOperationsResponse buildListOperationsResponse() { buildCounterListOperationsResponse++; if (buildCounterListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed21(); + o.operations = buildUnnamed22(); } buildCounterListOperationsResponse--; return o; @@ -1026,28 +1039,28 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed21(o.operations!); + checkUnnamed22(o.operations!); } buildCounterListOperationsResponse--; } -core.List buildUnnamed22() => [ +core.List buildUnnamed23() => [ buildTrustConfig(), buildTrustConfig(), ]; -void checkUnnamed22(core.List o) { +void checkUnnamed23(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTrustConfig(o[0]); checkTrustConfig(o[1]); } -core.List buildUnnamed23() => [ +core.List buildUnnamed24() => [ 'foo', 'foo', ]; -void checkUnnamed23(core.List o) { +void checkUnnamed24(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1065,8 +1078,8 @@ api.ListTrustConfigsResponse buildListTrustConfigsResponse() { buildCounterListTrustConfigsResponse++; if (buildCounterListTrustConfigsResponse < 3) { o.nextPageToken = 'foo'; - o.trustConfigs = buildUnnamed22(); - o.unreachable = buildUnnamed23(); + o.trustConfigs = buildUnnamed23(); + o.unreachable = buildUnnamed24(); } buildCounterListTrustConfigsResponse--; return o; @@ -1079,18 +1092,18 @@ void checkListTrustConfigsResponse(api.ListTrustConfigsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed22(o.trustConfigs!); - checkUnnamed23(o.unreachable!); + checkUnnamed23(o.trustConfigs!); + checkUnnamed24(o.unreachable!); } buildCounterListTrustConfigsResponse--; } -core.Map buildUnnamed24() => { +core.Map buildUnnamed25() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed24(core.Map o) { +void checkUnnamed25(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1102,7 +1115,7 @@ void checkUnnamed24(core.Map o) { ); } -core.Map buildUnnamed25() => { +core.Map buildUnnamed26() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1115,7 +1128,7 @@ core.Map buildUnnamed25() => { }, }; -void checkUnnamed25(core.Map o) { +void checkUnnamed26(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -1153,9 +1166,9 @@ api.Location buildLocation() { buildCounterLocation++; if (buildCounterLocation < 3) { o.displayName = 'foo'; - o.labels = buildUnnamed24(); + o.labels = buildUnnamed25(); o.locationId = 'foo'; - o.metadata = buildUnnamed25(); + o.metadata = buildUnnamed26(); o.name = 'foo'; } buildCounterLocation--; @@ -1169,12 +1182,12 @@ void checkLocation(api.Location o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed24(o.labels!); + checkUnnamed25(o.labels!); unittest.expect( o.locationId!, unittest.equals('foo'), ); - checkUnnamed25(o.metadata!); + checkUnnamed26(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), @@ -1183,23 +1196,23 @@ void checkLocation(api.Location o) { buildCounterLocation--; } -core.List buildUnnamed26() => [ +core.List buildUnnamed27() => [ buildAuthorizationAttemptInfo(), buildAuthorizationAttemptInfo(), ]; -void checkUnnamed26(core.List o) { +void checkUnnamed27(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuthorizationAttemptInfo(o[0]); checkAuthorizationAttemptInfo(o[1]); } -core.List buildUnnamed27() => [ +core.List buildUnnamed28() => [ 'foo', 'foo', ]; -void checkUnnamed27(core.List o) { +void checkUnnamed28(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1211,12 +1224,12 @@ void checkUnnamed27(core.List o) { ); } -core.List buildUnnamed28() => [ +core.List buildUnnamed29() => [ 'foo', 'foo', ]; -void checkUnnamed28(core.List o) { +void checkUnnamed29(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1233,9 +1246,9 @@ api.ManagedCertificate buildManagedCertificate() { final o = api.ManagedCertificate(); buildCounterManagedCertificate++; if (buildCounterManagedCertificate < 3) { - o.authorizationAttemptInfo = buildUnnamed26(); - o.dnsAuthorizations = buildUnnamed27(); - o.domains = buildUnnamed28(); + o.authorizationAttemptInfo = buildUnnamed27(); + o.dnsAuthorizations = buildUnnamed28(); + o.domains = buildUnnamed29(); o.issuanceConfig = 'foo'; o.provisioningIssue = buildProvisioningIssue(); o.state = 'foo'; @@ -1247,9 +1260,9 @@ api.ManagedCertificate buildManagedCertificate() { void checkManagedCertificate(api.ManagedCertificate o) { buildCounterManagedCertificate++; if (buildCounterManagedCertificate < 3) { - checkUnnamed26(o.authorizationAttemptInfo!); - checkUnnamed27(o.dnsAuthorizations!); - checkUnnamed28(o.domains!); + checkUnnamed27(o.authorizationAttemptInfo!); + checkUnnamed28(o.dnsAuthorizations!); + checkUnnamed29(o.domains!); unittest.expect( o.issuanceConfig!, unittest.equals('foo'), @@ -1263,7 +1276,7 @@ void checkManagedCertificate(api.ManagedCertificate o) { buildCounterManagedCertificate--; } -core.Map buildUnnamed29() => { +core.Map buildUnnamed30() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1276,7 +1289,7 @@ core.Map buildUnnamed29() => { }, }; -void checkUnnamed29(core.Map o) { +void checkUnnamed30(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -1308,7 +1321,7 @@ void checkUnnamed29(core.Map o) { ); } -core.Map buildUnnamed30() => { +core.Map buildUnnamed31() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1321,7 +1334,7 @@ core.Map buildUnnamed30() => { }, }; -void checkUnnamed30(core.Map o) { +void checkUnnamed31(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -1360,9 +1373,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed29(); + o.metadata = buildUnnamed30(); o.name = 'foo'; - o.response = buildUnnamed30(); + o.response = buildUnnamed31(); } buildCounterOperation--; return o; @@ -1373,12 +1386,12 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed29(o.metadata!); + checkUnnamed30(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed30(o.response!); + checkUnnamed31(o.response!); } buildCounterOperation--; } @@ -1437,7 +1450,7 @@ void checkSelfManagedCertificate(api.SelfManagedCertificate o) { buildCounterSelfManagedCertificate--; } -core.Map buildUnnamed31() => { +core.Map buildUnnamed32() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1450,7 +1463,7 @@ core.Map buildUnnamed31() => { }, }; -void checkUnnamed31(core.Map o) { +void checkUnnamed32(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -1482,15 +1495,15 @@ void checkUnnamed31(core.Map o) { ); } -core.List> buildUnnamed32() => [ - buildUnnamed31(), - buildUnnamed31(), +core.List> buildUnnamed33() => [ + buildUnnamed32(), + buildUnnamed32(), ]; -void checkUnnamed32(core.List> o) { +void checkUnnamed33(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed31(o[0]); - checkUnnamed31(o[1]); + checkUnnamed32(o[0]); + checkUnnamed32(o[1]); } core.int buildCounterStatus = 0; @@ -1499,7 +1512,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed32(); + o.details = buildUnnamed33(); o.message = 'foo'; } buildCounterStatus--; @@ -1513,7 +1526,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed32(o.details!); + checkUnnamed33(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -1544,23 +1557,23 @@ void checkTrustAnchor(api.TrustAnchor o) { buildCounterTrustAnchor--; } -core.List buildUnnamed33() => [ +core.List buildUnnamed34() => [ buildAllowlistedCertificate(), buildAllowlistedCertificate(), ]; -void checkUnnamed33(core.List o) { +void checkUnnamed34(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAllowlistedCertificate(o[0]); checkAllowlistedCertificate(o[1]); } -core.Map buildUnnamed34() => { +core.Map buildUnnamed35() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed34(core.Map o) { +void checkUnnamed35(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1572,12 +1585,12 @@ void checkUnnamed34(core.Map o) { ); } -core.List buildUnnamed35() => [ +core.List buildUnnamed36() => [ buildTrustStore(), buildTrustStore(), ]; -void checkUnnamed35(core.List o) { +void checkUnnamed36(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTrustStore(o[0]); checkTrustStore(o[1]); @@ -1588,13 +1601,13 @@ api.TrustConfig buildTrustConfig() { final o = api.TrustConfig(); buildCounterTrustConfig++; if (buildCounterTrustConfig < 3) { - o.allowlistedCertificates = buildUnnamed33(); + o.allowlistedCertificates = buildUnnamed34(); o.createTime = 'foo'; o.description = 'foo'; o.etag = 'foo'; - o.labels = buildUnnamed34(); + o.labels = buildUnnamed35(); o.name = 'foo'; - o.trustStores = buildUnnamed35(); + o.trustStores = buildUnnamed36(); o.updateTime = 'foo'; } buildCounterTrustConfig--; @@ -1604,7 +1617,7 @@ api.TrustConfig buildTrustConfig() { void checkTrustConfig(api.TrustConfig o) { buildCounterTrustConfig++; if (buildCounterTrustConfig < 3) { - checkUnnamed33(o.allowlistedCertificates!); + checkUnnamed34(o.allowlistedCertificates!); unittest.expect( o.createTime!, unittest.equals('foo'), @@ -1617,12 +1630,12 @@ void checkTrustConfig(api.TrustConfig o) { o.etag!, unittest.equals('foo'), ); - checkUnnamed34(o.labels!); + checkUnnamed35(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed35(o.trustStores!); + checkUnnamed36(o.trustStores!); unittest.expect( o.updateTime!, unittest.equals('foo'), @@ -1631,23 +1644,23 @@ void checkTrustConfig(api.TrustConfig o) { buildCounterTrustConfig--; } -core.List buildUnnamed36() => [ +core.List buildUnnamed37() => [ buildIntermediateCA(), buildIntermediateCA(), ]; -void checkUnnamed36(core.List o) { +void checkUnnamed37(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkIntermediateCA(o[0]); checkIntermediateCA(o[1]); } -core.List buildUnnamed37() => [ +core.List buildUnnamed38() => [ buildTrustAnchor(), buildTrustAnchor(), ]; -void checkUnnamed37(core.List o) { +void checkUnnamed38(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTrustAnchor(o[0]); checkTrustAnchor(o[1]); @@ -1658,8 +1671,8 @@ api.TrustStore buildTrustStore() { final o = api.TrustStore(); buildCounterTrustStore++; if (buildCounterTrustStore < 3) { - o.intermediateCas = buildUnnamed36(); - o.trustAnchors = buildUnnamed37(); + o.intermediateCas = buildUnnamed37(); + o.trustAnchors = buildUnnamed38(); } buildCounterTrustStore--; return o; @@ -1668,12 +1681,34 @@ api.TrustStore buildTrustStore() { void checkTrustStore(api.TrustStore o) { buildCounterTrustStore++; if (buildCounterTrustStore < 3) { - checkUnnamed36(o.intermediateCas!); - checkUnnamed37(o.trustAnchors!); + checkUnnamed37(o.intermediateCas!); + checkUnnamed38(o.trustAnchors!); } buildCounterTrustStore--; } +core.int buildCounterUsedBy = 0; +api.UsedBy buildUsedBy() { + final o = api.UsedBy(); + buildCounterUsedBy++; + if (buildCounterUsedBy < 3) { + o.name = 'foo'; + } + buildCounterUsedBy--; + return o; +} + +void checkUsedBy(api.UsedBy o) { + buildCounterUsedBy++; + if (buildCounterUsedBy < 3) { + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + } + buildCounterUsedBy--; +} + void main() { unittest.group('obj-schema-AllowlistedCertificate', () { unittest.test('to-json--from-json', () async { @@ -1995,6 +2030,16 @@ void main() { }); }); + unittest.group('obj-schema-UsedBy', () { + unittest.test('to-json--from-json', () async { + final o = buildUsedBy(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.UsedBy.fromJson(oJson as core.Map); + checkUsedBy(od); + }); + }); + unittest.group('resource-ProjectsLocationsResource', () { unittest.test('method--get', () async { final mock = HttpServerMock(); diff --git a/generated/googleapis/test/chat/v1_test.dart b/generated/googleapis/test/chat/v1_test.dart index 744d6621c..913a2459f 100644 --- a/generated/googleapis/test/chat/v1_test.dart +++ b/generated/googleapis/test/chat/v1_test.dart @@ -165,6 +165,7 @@ api.Annotation buildAnnotation() { final o = api.Annotation(); buildCounterAnnotation++; if (buildCounterAnnotation < 3) { + o.customEmojiMetadata = buildCustomEmojiMetadata(); o.length = 42; o.richLinkMetadata = buildRichLinkMetadata(); o.slashCommand = buildSlashCommandMetadata(); @@ -179,6 +180,7 @@ api.Annotation buildAnnotation() { void checkAnnotation(api.Annotation o) { buildCounterAnnotation++; if (buildCounterAnnotation < 3) { + checkCustomEmojiMetadata(o.customEmojiMetadata!); unittest.expect( o.length!, unittest.equals(42), @@ -598,6 +600,25 @@ void checkCustomEmoji(api.CustomEmoji o) { buildCounterCustomEmoji--; } +core.int buildCounterCustomEmojiMetadata = 0; +api.CustomEmojiMetadata buildCustomEmojiMetadata() { + final o = api.CustomEmojiMetadata(); + buildCounterCustomEmojiMetadata++; + if (buildCounterCustomEmojiMetadata < 3) { + o.customEmoji = buildCustomEmoji(); + } + buildCounterCustomEmojiMetadata--; + return o; +} + +void checkCustomEmojiMetadata(api.CustomEmojiMetadata o) { + buildCounterCustomEmojiMetadata++; + if (buildCounterCustomEmojiMetadata < 3) { + checkCustomEmoji(o.customEmoji!); + } + buildCounterCustomEmojiMetadata--; +} + core.int buildCounterDeletionMetadata = 0; api.DeletionMetadata buildDeletionMetadata() { final o = api.DeletionMetadata(); @@ -815,16 +836,35 @@ void checkUnnamed3(core.List o) { checkGoogleAppsCardV1ActionParameter(o[1]); } +core.List buildUnnamed4() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed4(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + core.int buildCounterGoogleAppsCardV1Action = 0; api.GoogleAppsCardV1Action buildGoogleAppsCardV1Action() { final o = api.GoogleAppsCardV1Action(); buildCounterGoogleAppsCardV1Action++; if (buildCounterGoogleAppsCardV1Action < 3) { + o.allWidgetsAreRequired = true; o.function = 'foo'; o.interaction = 'foo'; o.loadIndicator = 'foo'; o.parameters = buildUnnamed3(); o.persistValues = true; + o.requiredWidgets = buildUnnamed4(); } buildCounterGoogleAppsCardV1Action--; return o; @@ -833,6 +873,7 @@ api.GoogleAppsCardV1Action buildGoogleAppsCardV1Action() { void checkGoogleAppsCardV1Action(api.GoogleAppsCardV1Action o) { buildCounterGoogleAppsCardV1Action++; if (buildCounterGoogleAppsCardV1Action < 3) { + unittest.expect(o.allWidgetsAreRequired!, unittest.isTrue); unittest.expect( o.function!, unittest.equals('foo'), @@ -847,6 +888,7 @@ void checkGoogleAppsCardV1Action(api.GoogleAppsCardV1Action o) { ); checkUnnamed3(o.parameters!); unittest.expect(o.persistValues!, unittest.isTrue); + checkUnnamed4(o.requiredWidgets!); } buildCounterGoogleAppsCardV1Action--; } @@ -948,12 +990,12 @@ void checkGoogleAppsCardV1Button(api.GoogleAppsCardV1Button o) { buildCounterGoogleAppsCardV1Button--; } -core.List buildUnnamed4() => [ +core.List buildUnnamed5() => [ buildGoogleAppsCardV1Button(), buildGoogleAppsCardV1Button(), ]; -void checkUnnamed4(core.List o) { +void checkUnnamed5(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleAppsCardV1Button(o[0]); checkGoogleAppsCardV1Button(o[1]); @@ -964,7 +1006,7 @@ api.GoogleAppsCardV1ButtonList buildGoogleAppsCardV1ButtonList() { final o = api.GoogleAppsCardV1ButtonList(); buildCounterGoogleAppsCardV1ButtonList++; if (buildCounterGoogleAppsCardV1ButtonList < 3) { - o.buttons = buildUnnamed4(); + o.buttons = buildUnnamed5(); } buildCounterGoogleAppsCardV1ButtonList--; return o; @@ -973,28 +1015,28 @@ api.GoogleAppsCardV1ButtonList buildGoogleAppsCardV1ButtonList() { void checkGoogleAppsCardV1ButtonList(api.GoogleAppsCardV1ButtonList o) { buildCounterGoogleAppsCardV1ButtonList++; if (buildCounterGoogleAppsCardV1ButtonList < 3) { - checkUnnamed4(o.buttons!); + checkUnnamed5(o.buttons!); } buildCounterGoogleAppsCardV1ButtonList--; } -core.List buildUnnamed5() => [ +core.List buildUnnamed6() => [ buildGoogleAppsCardV1CardAction(), buildGoogleAppsCardV1CardAction(), ]; -void checkUnnamed5(core.List o) { +void checkUnnamed6(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleAppsCardV1CardAction(o[0]); checkGoogleAppsCardV1CardAction(o[1]); } -core.List buildUnnamed6() => [ +core.List buildUnnamed7() => [ buildGoogleAppsCardV1Section(), buildGoogleAppsCardV1Section(), ]; -void checkUnnamed6(core.List o) { +void checkUnnamed7(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleAppsCardV1Section(o[0]); checkGoogleAppsCardV1Section(o[1]); @@ -1005,14 +1047,14 @@ api.GoogleAppsCardV1Card buildGoogleAppsCardV1Card() { final o = api.GoogleAppsCardV1Card(); buildCounterGoogleAppsCardV1Card++; if (buildCounterGoogleAppsCardV1Card < 3) { - o.cardActions = buildUnnamed5(); + o.cardActions = buildUnnamed6(); o.displayStyle = 'foo'; o.fixedFooter = buildGoogleAppsCardV1CardFixedFooter(); o.header = buildGoogleAppsCardV1CardHeader(); o.name = 'foo'; o.peekCardHeader = buildGoogleAppsCardV1CardHeader(); o.sectionDividerStyle = 'foo'; - o.sections = buildUnnamed6(); + o.sections = buildUnnamed7(); } buildCounterGoogleAppsCardV1Card--; return o; @@ -1021,7 +1063,7 @@ api.GoogleAppsCardV1Card buildGoogleAppsCardV1Card() { void checkGoogleAppsCardV1Card(api.GoogleAppsCardV1Card o) { buildCounterGoogleAppsCardV1Card++; if (buildCounterGoogleAppsCardV1Card < 3) { - checkUnnamed5(o.cardActions!); + checkUnnamed6(o.cardActions!); unittest.expect( o.displayStyle!, unittest.equals('foo'), @@ -1037,7 +1079,7 @@ void checkGoogleAppsCardV1Card(api.GoogleAppsCardV1Card o) { o.sectionDividerStyle!, unittest.equals('foo'), ); - checkUnnamed6(o.sections!); + checkUnnamed7(o.sections!); } buildCounterGoogleAppsCardV1Card--; } @@ -1130,12 +1172,12 @@ void checkGoogleAppsCardV1CardHeader(api.GoogleAppsCardV1CardHeader o) { buildCounterGoogleAppsCardV1CardHeader--; } -core.List buildUnnamed7() => [ +core.List buildUnnamed8() => [ buildGoogleAppsCardV1CarouselCard(), buildGoogleAppsCardV1CarouselCard(), ]; -void checkUnnamed7(core.List o) { +void checkUnnamed8(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleAppsCardV1CarouselCard(o[0]); checkGoogleAppsCardV1CarouselCard(o[1]); @@ -1146,7 +1188,7 @@ api.GoogleAppsCardV1Carousel buildGoogleAppsCardV1Carousel() { final o = api.GoogleAppsCardV1Carousel(); buildCounterGoogleAppsCardV1Carousel++; if (buildCounterGoogleAppsCardV1Carousel < 3) { - o.carouselCards = buildUnnamed7(); + o.carouselCards = buildUnnamed8(); } buildCounterGoogleAppsCardV1Carousel--; return o; @@ -1155,28 +1197,28 @@ api.GoogleAppsCardV1Carousel buildGoogleAppsCardV1Carousel() { void checkGoogleAppsCardV1Carousel(api.GoogleAppsCardV1Carousel o) { buildCounterGoogleAppsCardV1Carousel++; if (buildCounterGoogleAppsCardV1Carousel < 3) { - checkUnnamed7(o.carouselCards!); + checkUnnamed8(o.carouselCards!); } buildCounterGoogleAppsCardV1Carousel--; } -core.List buildUnnamed8() => [ +core.List buildUnnamed9() => [ buildGoogleAppsCardV1NestedWidget(), buildGoogleAppsCardV1NestedWidget(), ]; -void checkUnnamed8(core.List o) { +void checkUnnamed9(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleAppsCardV1NestedWidget(o[0]); checkGoogleAppsCardV1NestedWidget(o[1]); } -core.List buildUnnamed9() => [ +core.List buildUnnamed10() => [ buildGoogleAppsCardV1NestedWidget(), buildGoogleAppsCardV1NestedWidget(), ]; -void checkUnnamed9(core.List o) { +void checkUnnamed10(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleAppsCardV1NestedWidget(o[0]); checkGoogleAppsCardV1NestedWidget(o[1]); @@ -1187,8 +1229,8 @@ api.GoogleAppsCardV1CarouselCard buildGoogleAppsCardV1CarouselCard() { final o = api.GoogleAppsCardV1CarouselCard(); buildCounterGoogleAppsCardV1CarouselCard++; if (buildCounterGoogleAppsCardV1CarouselCard < 3) { - o.footerWidgets = buildUnnamed8(); - o.widgets = buildUnnamed9(); + o.footerWidgets = buildUnnamed9(); + o.widgets = buildUnnamed10(); } buildCounterGoogleAppsCardV1CarouselCard--; return o; @@ -1197,8 +1239,8 @@ api.GoogleAppsCardV1CarouselCard buildGoogleAppsCardV1CarouselCard() { void checkGoogleAppsCardV1CarouselCard(api.GoogleAppsCardV1CarouselCard o) { buildCounterGoogleAppsCardV1CarouselCard++; if (buildCounterGoogleAppsCardV1CarouselCard < 3) { - checkUnnamed8(o.footerWidgets!); - checkUnnamed9(o.widgets!); + checkUnnamed9(o.footerWidgets!); + checkUnnamed10(o.widgets!); } buildCounterGoogleAppsCardV1CarouselCard--; } @@ -1238,12 +1280,12 @@ void checkGoogleAppsCardV1Chip(api.GoogleAppsCardV1Chip o) { buildCounterGoogleAppsCardV1Chip--; } -core.List buildUnnamed10() => [ +core.List buildUnnamed11() => [ buildGoogleAppsCardV1Chip(), buildGoogleAppsCardV1Chip(), ]; -void checkUnnamed10(core.List o) { +void checkUnnamed11(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleAppsCardV1Chip(o[0]); checkGoogleAppsCardV1Chip(o[1]); @@ -1254,7 +1296,7 @@ api.GoogleAppsCardV1ChipList buildGoogleAppsCardV1ChipList() { final o = api.GoogleAppsCardV1ChipList(); buildCounterGoogleAppsCardV1ChipList++; if (buildCounterGoogleAppsCardV1ChipList < 3) { - o.chips = buildUnnamed10(); + o.chips = buildUnnamed11(); o.layout = 'foo'; } buildCounterGoogleAppsCardV1ChipList--; @@ -1264,7 +1306,7 @@ api.GoogleAppsCardV1ChipList buildGoogleAppsCardV1ChipList() { void checkGoogleAppsCardV1ChipList(api.GoogleAppsCardV1ChipList o) { buildCounterGoogleAppsCardV1ChipList++; if (buildCounterGoogleAppsCardV1ChipList < 3) { - checkUnnamed10(o.chips!); + checkUnnamed11(o.chips!); unittest.expect( o.layout!, unittest.equals('foo'), @@ -1300,12 +1342,12 @@ void checkGoogleAppsCardV1CollapseControl( buildCounterGoogleAppsCardV1CollapseControl--; } -core.List buildUnnamed11() => [ +core.List buildUnnamed12() => [ buildGoogleAppsCardV1Widgets(), buildGoogleAppsCardV1Widgets(), ]; -void checkUnnamed11(core.List o) { +void checkUnnamed12(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleAppsCardV1Widgets(o[0]); checkGoogleAppsCardV1Widgets(o[1]); @@ -1319,7 +1361,7 @@ api.GoogleAppsCardV1Column buildGoogleAppsCardV1Column() { o.horizontalAlignment = 'foo'; o.horizontalSizeStyle = 'foo'; o.verticalAlignment = 'foo'; - o.widgets = buildUnnamed11(); + o.widgets = buildUnnamed12(); } buildCounterGoogleAppsCardV1Column--; return o; @@ -1340,17 +1382,17 @@ void checkGoogleAppsCardV1Column(api.GoogleAppsCardV1Column o) { o.verticalAlignment!, unittest.equals('foo'), ); - checkUnnamed11(o.widgets!); + checkUnnamed12(o.widgets!); } buildCounterGoogleAppsCardV1Column--; } -core.List buildUnnamed12() => [ +core.List buildUnnamed13() => [ buildGoogleAppsCardV1Column(), buildGoogleAppsCardV1Column(), ]; -void checkUnnamed12(core.List o) { +void checkUnnamed13(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleAppsCardV1Column(o[0]); checkGoogleAppsCardV1Column(o[1]); @@ -1361,7 +1403,7 @@ api.GoogleAppsCardV1Columns buildGoogleAppsCardV1Columns() { final o = api.GoogleAppsCardV1Columns(); buildCounterGoogleAppsCardV1Columns++; if (buildCounterGoogleAppsCardV1Columns < 3) { - o.columnItems = buildUnnamed12(); + o.columnItems = buildUnnamed13(); } buildCounterGoogleAppsCardV1Columns--; return o; @@ -1370,7 +1412,7 @@ api.GoogleAppsCardV1Columns buildGoogleAppsCardV1Columns() { void checkGoogleAppsCardV1Columns(api.GoogleAppsCardV1Columns o) { buildCounterGoogleAppsCardV1Columns++; if (buildCounterGoogleAppsCardV1Columns < 3) { - checkUnnamed12(o.columnItems!); + checkUnnamed13(o.columnItems!); } buildCounterGoogleAppsCardV1Columns--; } @@ -1480,12 +1522,12 @@ void checkGoogleAppsCardV1Divider(api.GoogleAppsCardV1Divider o) { buildCounterGoogleAppsCardV1Divider--; } -core.List buildUnnamed13() => [ +core.List buildUnnamed14() => [ buildGoogleAppsCardV1GridItem(), buildGoogleAppsCardV1GridItem(), ]; -void checkUnnamed13(core.List o) { +void checkUnnamed14(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleAppsCardV1GridItem(o[0]); checkGoogleAppsCardV1GridItem(o[1]); @@ -1498,7 +1540,7 @@ api.GoogleAppsCardV1Grid buildGoogleAppsCardV1Grid() { if (buildCounterGoogleAppsCardV1Grid < 3) { o.borderStyle = buildGoogleAppsCardV1BorderStyle(); o.columnCount = 42; - o.items = buildUnnamed13(); + o.items = buildUnnamed14(); o.onClick = buildGoogleAppsCardV1OnClick(); o.title = 'foo'; } @@ -1514,7 +1556,7 @@ void checkGoogleAppsCardV1Grid(api.GoogleAppsCardV1Grid o) { o.columnCount!, unittest.equals(42), ); - checkUnnamed13(o.items!); + checkUnnamed14(o.items!); checkGoogleAppsCardV1OnClick(o.onClick!); unittest.expect( o.title!, @@ -1805,12 +1847,12 @@ void checkGoogleAppsCardV1OpenLink(api.GoogleAppsCardV1OpenLink o) { buildCounterGoogleAppsCardV1OpenLink--; } -core.List buildUnnamed14() => [ +core.List buildUnnamed15() => [ buildGoogleAppsCardV1OverflowMenuItem(), buildGoogleAppsCardV1OverflowMenuItem(), ]; -void checkUnnamed14(core.List o) { +void checkUnnamed15(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleAppsCardV1OverflowMenuItem(o[0]); checkGoogleAppsCardV1OverflowMenuItem(o[1]); @@ -1821,7 +1863,7 @@ api.GoogleAppsCardV1OverflowMenu buildGoogleAppsCardV1OverflowMenu() { final o = api.GoogleAppsCardV1OverflowMenu(); buildCounterGoogleAppsCardV1OverflowMenu++; if (buildCounterGoogleAppsCardV1OverflowMenu < 3) { - o.items = buildUnnamed14(); + o.items = buildUnnamed15(); } buildCounterGoogleAppsCardV1OverflowMenu--; return o; @@ -1830,7 +1872,7 @@ api.GoogleAppsCardV1OverflowMenu buildGoogleAppsCardV1OverflowMenu() { void checkGoogleAppsCardV1OverflowMenu(api.GoogleAppsCardV1OverflowMenu o) { buildCounterGoogleAppsCardV1OverflowMenu++; if (buildCounterGoogleAppsCardV1OverflowMenu < 3) { - checkUnnamed14(o.items!); + checkUnnamed15(o.items!); } buildCounterGoogleAppsCardV1OverflowMenu--; } @@ -1890,12 +1932,12 @@ void checkGoogleAppsCardV1PlatformDataSource( buildCounterGoogleAppsCardV1PlatformDataSource--; } -core.List buildUnnamed15() => [ +core.List buildUnnamed16() => [ buildGoogleAppsCardV1Widget(), buildGoogleAppsCardV1Widget(), ]; -void checkUnnamed15(core.List o) { +void checkUnnamed16(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleAppsCardV1Widget(o[0]); checkGoogleAppsCardV1Widget(o[1]); @@ -1910,7 +1952,7 @@ api.GoogleAppsCardV1Section buildGoogleAppsCardV1Section() { o.collapsible = true; o.header = 'foo'; o.uncollapsibleWidgetsCount = 42; - o.widgets = buildUnnamed15(); + o.widgets = buildUnnamed16(); } buildCounterGoogleAppsCardV1Section--; return o; @@ -1929,17 +1971,17 @@ void checkGoogleAppsCardV1Section(api.GoogleAppsCardV1Section o) { o.uncollapsibleWidgetsCount!, unittest.equals(42), ); - checkUnnamed15(o.widgets!); + checkUnnamed16(o.widgets!); } buildCounterGoogleAppsCardV1Section--; } -core.List buildUnnamed16() => [ +core.List buildUnnamed17() => [ buildGoogleAppsCardV1SelectionItem(), buildGoogleAppsCardV1SelectionItem(), ]; -void checkUnnamed16(core.List o) { +void checkUnnamed17(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleAppsCardV1SelectionItem(o[0]); checkGoogleAppsCardV1SelectionItem(o[1]); @@ -1951,7 +1993,7 @@ api.GoogleAppsCardV1SelectionInput buildGoogleAppsCardV1SelectionInput() { buildCounterGoogleAppsCardV1SelectionInput++; if (buildCounterGoogleAppsCardV1SelectionInput < 3) { o.externalDataSource = buildGoogleAppsCardV1Action(); - o.items = buildUnnamed16(); + o.items = buildUnnamed17(); o.label = 'foo'; o.multiSelectMaxSelectedItems = 42; o.multiSelectMinQueryLength = 42; @@ -1968,7 +2010,7 @@ void checkGoogleAppsCardV1SelectionInput(api.GoogleAppsCardV1SelectionInput o) { buildCounterGoogleAppsCardV1SelectionInput++; if (buildCounterGoogleAppsCardV1SelectionInput < 3) { checkGoogleAppsCardV1Action(o.externalDataSource!); - checkUnnamed16(o.items!); + checkUnnamed17(o.items!); unittest.expect( o.label!, unittest.equals('foo'), @@ -2056,12 +2098,12 @@ void checkGoogleAppsCardV1SuggestionItem(api.GoogleAppsCardV1SuggestionItem o) { buildCounterGoogleAppsCardV1SuggestionItem--; } -core.List buildUnnamed17() => [ +core.List buildUnnamed18() => [ buildGoogleAppsCardV1SuggestionItem(), buildGoogleAppsCardV1SuggestionItem(), ]; -void checkUnnamed17(core.List o) { +void checkUnnamed18(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleAppsCardV1SuggestionItem(o[0]); checkGoogleAppsCardV1SuggestionItem(o[1]); @@ -2072,7 +2114,7 @@ api.GoogleAppsCardV1Suggestions buildGoogleAppsCardV1Suggestions() { final o = api.GoogleAppsCardV1Suggestions(); buildCounterGoogleAppsCardV1Suggestions++; if (buildCounterGoogleAppsCardV1Suggestions < 3) { - o.items = buildUnnamed17(); + o.items = buildUnnamed18(); } buildCounterGoogleAppsCardV1Suggestions--; return o; @@ -2081,7 +2123,7 @@ api.GoogleAppsCardV1Suggestions buildGoogleAppsCardV1Suggestions() { void checkGoogleAppsCardV1Suggestions(api.GoogleAppsCardV1Suggestions o) { buildCounterGoogleAppsCardV1Suggestions++; if (buildCounterGoogleAppsCardV1Suggestions < 3) { - checkUnnamed17(o.items!); + checkUnnamed18(o.items!); } buildCounterGoogleAppsCardV1Suggestions--; } @@ -2135,6 +2177,7 @@ api.GoogleAppsCardV1TextInput buildGoogleAppsCardV1TextInput() { o.onChangeAction = buildGoogleAppsCardV1Action(); o.placeholderText = 'foo'; o.type = 'foo'; + o.validation = buildGoogleAppsCardV1Validation(); o.value = 'foo'; } buildCounterGoogleAppsCardV1TextInput--; @@ -2167,6 +2210,7 @@ void checkGoogleAppsCardV1TextInput(api.GoogleAppsCardV1TextInput o) { o.type!, unittest.equals('foo'), ); + checkGoogleAppsCardV1Validation(o.validation!); unittest.expect( o.value!, unittest.equals('foo'), @@ -2202,6 +2246,33 @@ void checkGoogleAppsCardV1TextParagraph(api.GoogleAppsCardV1TextParagraph o) { buildCounterGoogleAppsCardV1TextParagraph--; } +core.int buildCounterGoogleAppsCardV1Validation = 0; +api.GoogleAppsCardV1Validation buildGoogleAppsCardV1Validation() { + final o = api.GoogleAppsCardV1Validation(); + buildCounterGoogleAppsCardV1Validation++; + if (buildCounterGoogleAppsCardV1Validation < 3) { + o.characterLimit = 42; + o.inputType = 'foo'; + } + buildCounterGoogleAppsCardV1Validation--; + return o; +} + +void checkGoogleAppsCardV1Validation(api.GoogleAppsCardV1Validation o) { + buildCounterGoogleAppsCardV1Validation++; + if (buildCounterGoogleAppsCardV1Validation < 3) { + unittest.expect( + o.characterLimit!, + unittest.equals(42), + ); + unittest.expect( + o.inputType!, + unittest.equals('foo'), + ); + } + buildCounterGoogleAppsCardV1Validation--; +} + core.int buildCounterGoogleAppsCardV1Widget = 0; api.GoogleAppsCardV1Widget buildGoogleAppsCardV1Widget() { final o = api.GoogleAppsCardV1Widget(); @@ -2433,12 +2504,12 @@ void checkKeyValue(api.KeyValue o) { buildCounterKeyValue--; } -core.List buildUnnamed18() => [ +core.List buildUnnamed19() => [ buildMembership(), buildMembership(), ]; -void checkUnnamed18(core.List o) { +void checkUnnamed19(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMembership(o[0]); checkMembership(o[1]); @@ -2449,7 +2520,7 @@ api.ListMembershipsResponse buildListMembershipsResponse() { final o = api.ListMembershipsResponse(); buildCounterListMembershipsResponse++; if (buildCounterListMembershipsResponse < 3) { - o.memberships = buildUnnamed18(); + o.memberships = buildUnnamed19(); o.nextPageToken = 'foo'; } buildCounterListMembershipsResponse--; @@ -2459,7 +2530,7 @@ api.ListMembershipsResponse buildListMembershipsResponse() { void checkListMembershipsResponse(api.ListMembershipsResponse o) { buildCounterListMembershipsResponse++; if (buildCounterListMembershipsResponse < 3) { - checkUnnamed18(o.memberships!); + checkUnnamed19(o.memberships!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2468,12 +2539,12 @@ void checkListMembershipsResponse(api.ListMembershipsResponse o) { buildCounterListMembershipsResponse--; } -core.List buildUnnamed19() => [ +core.List buildUnnamed20() => [ buildMessage(), buildMessage(), ]; -void checkUnnamed19(core.List o) { +void checkUnnamed20(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMessage(o[0]); checkMessage(o[1]); @@ -2484,7 +2555,7 @@ api.ListMessagesResponse buildListMessagesResponse() { final o = api.ListMessagesResponse(); buildCounterListMessagesResponse++; if (buildCounterListMessagesResponse < 3) { - o.messages = buildUnnamed19(); + o.messages = buildUnnamed20(); o.nextPageToken = 'foo'; } buildCounterListMessagesResponse--; @@ -2494,7 +2565,7 @@ api.ListMessagesResponse buildListMessagesResponse() { void checkListMessagesResponse(api.ListMessagesResponse o) { buildCounterListMessagesResponse++; if (buildCounterListMessagesResponse < 3) { - checkUnnamed19(o.messages!); + checkUnnamed20(o.messages!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2503,12 +2574,12 @@ void checkListMessagesResponse(api.ListMessagesResponse o) { buildCounterListMessagesResponse--; } -core.List buildUnnamed20() => [ +core.List buildUnnamed21() => [ buildReaction(), buildReaction(), ]; -void checkUnnamed20(core.List o) { +void checkUnnamed21(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReaction(o[0]); checkReaction(o[1]); @@ -2520,7 +2591,7 @@ api.ListReactionsResponse buildListReactionsResponse() { buildCounterListReactionsResponse++; if (buildCounterListReactionsResponse < 3) { o.nextPageToken = 'foo'; - o.reactions = buildUnnamed20(); + o.reactions = buildUnnamed21(); } buildCounterListReactionsResponse--; return o; @@ -2533,17 +2604,17 @@ void checkListReactionsResponse(api.ListReactionsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed20(o.reactions!); + checkUnnamed21(o.reactions!); } buildCounterListReactionsResponse--; } -core.List buildUnnamed21() => [ +core.List buildUnnamed22() => [ buildSpaceEvent(), buildSpaceEvent(), ]; -void checkUnnamed21(core.List o) { +void checkUnnamed22(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSpaceEvent(o[0]); checkSpaceEvent(o[1]); @@ -2555,7 +2626,7 @@ api.ListSpaceEventsResponse buildListSpaceEventsResponse() { buildCounterListSpaceEventsResponse++; if (buildCounterListSpaceEventsResponse < 3) { o.nextPageToken = 'foo'; - o.spaceEvents = buildUnnamed21(); + o.spaceEvents = buildUnnamed22(); } buildCounterListSpaceEventsResponse--; return o; @@ -2568,17 +2639,17 @@ void checkListSpaceEventsResponse(api.ListSpaceEventsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed21(o.spaceEvents!); + checkUnnamed22(o.spaceEvents!); } buildCounterListSpaceEventsResponse--; } -core.List buildUnnamed22() => [ +core.List buildUnnamed23() => [ buildSpace(), buildSpace(), ]; -void checkUnnamed22(core.List o) { +void checkUnnamed23(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSpace(o[0]); checkSpace(o[1]); @@ -2590,7 +2661,7 @@ api.ListSpacesResponse buildListSpacesResponse() { buildCounterListSpacesResponse++; if (buildCounterListSpacesResponse < 3) { o.nextPageToken = 'foo'; - o.spaces = buildUnnamed22(); + o.spaces = buildUnnamed23(); } buildCounterListSpacesResponse--; return o; @@ -2603,7 +2674,7 @@ void checkListSpacesResponse(api.ListSpacesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed22(o.spaces!); + checkUnnamed23(o.spaces!); } buildCounterListSpacesResponse--; } @@ -2698,12 +2769,12 @@ void checkMembership(api.Membership o) { buildCounterMembership--; } -core.List buildUnnamed23() => [ +core.List buildUnnamed24() => [ buildMembershipCreatedEventData(), buildMembershipCreatedEventData(), ]; -void checkUnnamed23(core.List o) { +void checkUnnamed24(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMembershipCreatedEventData(o[0]); checkMembershipCreatedEventData(o[1]); @@ -2714,7 +2785,7 @@ api.MembershipBatchCreatedEventData buildMembershipBatchCreatedEventData() { final o = api.MembershipBatchCreatedEventData(); buildCounterMembershipBatchCreatedEventData++; if (buildCounterMembershipBatchCreatedEventData < 3) { - o.memberships = buildUnnamed23(); + o.memberships = buildUnnamed24(); } buildCounterMembershipBatchCreatedEventData--; return o; @@ -2724,17 +2795,17 @@ void checkMembershipBatchCreatedEventData( api.MembershipBatchCreatedEventData o) { buildCounterMembershipBatchCreatedEventData++; if (buildCounterMembershipBatchCreatedEventData < 3) { - checkUnnamed23(o.memberships!); + checkUnnamed24(o.memberships!); } buildCounterMembershipBatchCreatedEventData--; } -core.List buildUnnamed24() => [ +core.List buildUnnamed25() => [ buildMembershipDeletedEventData(), buildMembershipDeletedEventData(), ]; -void checkUnnamed24(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMembershipDeletedEventData(o[0]); checkMembershipDeletedEventData(o[1]); @@ -2745,7 +2816,7 @@ api.MembershipBatchDeletedEventData buildMembershipBatchDeletedEventData() { final o = api.MembershipBatchDeletedEventData(); buildCounterMembershipBatchDeletedEventData++; if (buildCounterMembershipBatchDeletedEventData < 3) { - o.memberships = buildUnnamed24(); + o.memberships = buildUnnamed25(); } buildCounterMembershipBatchDeletedEventData--; return o; @@ -2755,17 +2826,17 @@ void checkMembershipBatchDeletedEventData( api.MembershipBatchDeletedEventData o) { buildCounterMembershipBatchDeletedEventData++; if (buildCounterMembershipBatchDeletedEventData < 3) { - checkUnnamed24(o.memberships!); + checkUnnamed25(o.memberships!); } buildCounterMembershipBatchDeletedEventData--; } -core.List buildUnnamed25() => [ +core.List buildUnnamed26() => [ buildMembershipUpdatedEventData(), buildMembershipUpdatedEventData(), ]; -void checkUnnamed25(core.List o) { +void checkUnnamed26(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMembershipUpdatedEventData(o[0]); checkMembershipUpdatedEventData(o[1]); @@ -2776,7 +2847,7 @@ api.MembershipBatchUpdatedEventData buildMembershipBatchUpdatedEventData() { final o = api.MembershipBatchUpdatedEventData(); buildCounterMembershipBatchUpdatedEventData++; if (buildCounterMembershipBatchUpdatedEventData < 3) { - o.memberships = buildUnnamed25(); + o.memberships = buildUnnamed26(); } buildCounterMembershipBatchUpdatedEventData--; return o; @@ -2786,7 +2857,7 @@ void checkMembershipBatchUpdatedEventData( api.MembershipBatchUpdatedEventData o) { buildCounterMembershipBatchUpdatedEventData++; if (buildCounterMembershipBatchUpdatedEventData < 3) { - checkUnnamed25(o.memberships!); + checkUnnamed26(o.memberships!); } buildCounterMembershipBatchUpdatedEventData--; } @@ -2875,78 +2946,78 @@ void checkMembershipUpdatedEventData(api.MembershipUpdatedEventData o) { buildCounterMembershipUpdatedEventData--; } -core.List buildUnnamed26() => [ +core.List buildUnnamed27() => [ buildAccessoryWidget(), buildAccessoryWidget(), ]; -void checkUnnamed26(core.List o) { +void checkUnnamed27(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAccessoryWidget(o[0]); checkAccessoryWidget(o[1]); } -core.List buildUnnamed27() => [ +core.List buildUnnamed28() => [ buildAnnotation(), buildAnnotation(), ]; -void checkUnnamed27(core.List o) { +void checkUnnamed28(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAnnotation(o[0]); checkAnnotation(o[1]); } -core.List buildUnnamed28() => [ +core.List buildUnnamed29() => [ buildAttachedGif(), buildAttachedGif(), ]; -void checkUnnamed28(core.List o) { +void checkUnnamed29(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAttachedGif(o[0]); checkAttachedGif(o[1]); } -core.List buildUnnamed29() => [ +core.List buildUnnamed30() => [ buildAttachment(), buildAttachment(), ]; -void checkUnnamed29(core.List o) { +void checkUnnamed30(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAttachment(o[0]); checkAttachment(o[1]); } -core.List buildUnnamed30() => [ +core.List buildUnnamed31() => [ buildCard(), buildCard(), ]; -void checkUnnamed30(core.List o) { +void checkUnnamed31(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCard(o[0]); checkCard(o[1]); } -core.List buildUnnamed31() => [ +core.List buildUnnamed32() => [ buildCardWithId(), buildCardWithId(), ]; -void checkUnnamed31(core.List o) { +void checkUnnamed32(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCardWithId(o[0]); checkCardWithId(o[1]); } -core.List buildUnnamed32() => [ +core.List buildUnnamed33() => [ buildEmojiReactionSummary(), buildEmojiReactionSummary(), ]; -void checkUnnamed32(core.List o) { +void checkUnnamed33(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEmojiReactionSummary(o[0]); checkEmojiReactionSummary(o[1]); @@ -2957,19 +3028,19 @@ api.Message buildMessage() { final o = api.Message(); buildCounterMessage++; if (buildCounterMessage < 3) { - o.accessoryWidgets = buildUnnamed26(); + o.accessoryWidgets = buildUnnamed27(); o.actionResponse = buildActionResponse(); - o.annotations = buildUnnamed27(); + o.annotations = buildUnnamed28(); o.argumentText = 'foo'; - o.attachedGifs = buildUnnamed28(); - o.attachment = buildUnnamed29(); - o.cards = buildUnnamed30(); - o.cardsV2 = buildUnnamed31(); + o.attachedGifs = buildUnnamed29(); + o.attachment = buildUnnamed30(); + o.cards = buildUnnamed31(); + o.cardsV2 = buildUnnamed32(); o.clientAssignedMessageId = 'foo'; o.createTime = 'foo'; o.deleteTime = 'foo'; o.deletionMetadata = buildDeletionMetadata(); - o.emojiReactionSummaries = buildUnnamed32(); + o.emojiReactionSummaries = buildUnnamed33(); o.fallbackText = 'foo'; o.formattedText = 'foo'; o.lastUpdateTime = 'foo'; @@ -2991,17 +3062,17 @@ api.Message buildMessage() { void checkMessage(api.Message o) { buildCounterMessage++; if (buildCounterMessage < 3) { - checkUnnamed26(o.accessoryWidgets!); + checkUnnamed27(o.accessoryWidgets!); checkActionResponse(o.actionResponse!); - checkUnnamed27(o.annotations!); + checkUnnamed28(o.annotations!); unittest.expect( o.argumentText!, unittest.equals('foo'), ); - checkUnnamed28(o.attachedGifs!); - checkUnnamed29(o.attachment!); - checkUnnamed30(o.cards!); - checkUnnamed31(o.cardsV2!); + checkUnnamed29(o.attachedGifs!); + checkUnnamed30(o.attachment!); + checkUnnamed31(o.cards!); + checkUnnamed32(o.cardsV2!); unittest.expect( o.clientAssignedMessageId!, unittest.equals('foo'), @@ -3015,7 +3086,7 @@ void checkMessage(api.Message o) { unittest.equals('foo'), ); checkDeletionMetadata(o.deletionMetadata!); - checkUnnamed32(o.emojiReactionSummaries!); + checkUnnamed33(o.emojiReactionSummaries!); unittest.expect( o.fallbackText!, unittest.equals('foo'), @@ -3048,12 +3119,12 @@ void checkMessage(api.Message o) { buildCounterMessage--; } -core.List buildUnnamed33() => [ +core.List buildUnnamed34() => [ buildMessageCreatedEventData(), buildMessageCreatedEventData(), ]; -void checkUnnamed33(core.List o) { +void checkUnnamed34(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMessageCreatedEventData(o[0]); checkMessageCreatedEventData(o[1]); @@ -3064,7 +3135,7 @@ api.MessageBatchCreatedEventData buildMessageBatchCreatedEventData() { final o = api.MessageBatchCreatedEventData(); buildCounterMessageBatchCreatedEventData++; if (buildCounterMessageBatchCreatedEventData < 3) { - o.messages = buildUnnamed33(); + o.messages = buildUnnamed34(); } buildCounterMessageBatchCreatedEventData--; return o; @@ -3073,17 +3144,17 @@ api.MessageBatchCreatedEventData buildMessageBatchCreatedEventData() { void checkMessageBatchCreatedEventData(api.MessageBatchCreatedEventData o) { buildCounterMessageBatchCreatedEventData++; if (buildCounterMessageBatchCreatedEventData < 3) { - checkUnnamed33(o.messages!); + checkUnnamed34(o.messages!); } buildCounterMessageBatchCreatedEventData--; } -core.List buildUnnamed34() => [ +core.List buildUnnamed35() => [ buildMessageDeletedEventData(), buildMessageDeletedEventData(), ]; -void checkUnnamed34(core.List o) { +void checkUnnamed35(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMessageDeletedEventData(o[0]); checkMessageDeletedEventData(o[1]); @@ -3094,7 +3165,7 @@ api.MessageBatchDeletedEventData buildMessageBatchDeletedEventData() { final o = api.MessageBatchDeletedEventData(); buildCounterMessageBatchDeletedEventData++; if (buildCounterMessageBatchDeletedEventData < 3) { - o.messages = buildUnnamed34(); + o.messages = buildUnnamed35(); } buildCounterMessageBatchDeletedEventData--; return o; @@ -3103,17 +3174,17 @@ api.MessageBatchDeletedEventData buildMessageBatchDeletedEventData() { void checkMessageBatchDeletedEventData(api.MessageBatchDeletedEventData o) { buildCounterMessageBatchDeletedEventData++; if (buildCounterMessageBatchDeletedEventData < 3) { - checkUnnamed34(o.messages!); + checkUnnamed35(o.messages!); } buildCounterMessageBatchDeletedEventData--; } -core.List buildUnnamed35() => [ +core.List buildUnnamed36() => [ buildMessageUpdatedEventData(), buildMessageUpdatedEventData(), ]; -void checkUnnamed35(core.List o) { +void checkUnnamed36(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMessageUpdatedEventData(o[0]); checkMessageUpdatedEventData(o[1]); @@ -3124,7 +3195,7 @@ api.MessageBatchUpdatedEventData buildMessageBatchUpdatedEventData() { final o = api.MessageBatchUpdatedEventData(); buildCounterMessageBatchUpdatedEventData++; if (buildCounterMessageBatchUpdatedEventData < 3) { - o.messages = buildUnnamed35(); + o.messages = buildUnnamed36(); } buildCounterMessageBatchUpdatedEventData--; return o; @@ -3133,7 +3204,7 @@ api.MessageBatchUpdatedEventData buildMessageBatchUpdatedEventData() { void checkMessageBatchUpdatedEventData(api.MessageBatchUpdatedEventData o) { buildCounterMessageBatchUpdatedEventData++; if (buildCounterMessageBatchUpdatedEventData < 3) { - checkUnnamed35(o.messages!); + checkUnnamed36(o.messages!); } buildCounterMessageBatchUpdatedEventData--; } @@ -3345,12 +3416,12 @@ void checkReaction(api.Reaction o) { buildCounterReaction--; } -core.List buildUnnamed36() => [ +core.List buildUnnamed37() => [ buildReactionCreatedEventData(), buildReactionCreatedEventData(), ]; -void checkUnnamed36(core.List o) { +void checkUnnamed37(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReactionCreatedEventData(o[0]); checkReactionCreatedEventData(o[1]); @@ -3361,7 +3432,7 @@ api.ReactionBatchCreatedEventData buildReactionBatchCreatedEventData() { final o = api.ReactionBatchCreatedEventData(); buildCounterReactionBatchCreatedEventData++; if (buildCounterReactionBatchCreatedEventData < 3) { - o.reactions = buildUnnamed36(); + o.reactions = buildUnnamed37(); } buildCounterReactionBatchCreatedEventData--; return o; @@ -3370,17 +3441,17 @@ api.ReactionBatchCreatedEventData buildReactionBatchCreatedEventData() { void checkReactionBatchCreatedEventData(api.ReactionBatchCreatedEventData o) { buildCounterReactionBatchCreatedEventData++; if (buildCounterReactionBatchCreatedEventData < 3) { - checkUnnamed36(o.reactions!); + checkUnnamed37(o.reactions!); } buildCounterReactionBatchCreatedEventData--; } -core.List buildUnnamed37() => [ +core.List buildUnnamed38() => [ buildReactionDeletedEventData(), buildReactionDeletedEventData(), ]; -void checkUnnamed37(core.List o) { +void checkUnnamed38(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReactionDeletedEventData(o[0]); checkReactionDeletedEventData(o[1]); @@ -3391,7 +3462,7 @@ api.ReactionBatchDeletedEventData buildReactionBatchDeletedEventData() { final o = api.ReactionBatchDeletedEventData(); buildCounterReactionBatchDeletedEventData++; if (buildCounterReactionBatchDeletedEventData < 3) { - o.reactions = buildUnnamed37(); + o.reactions = buildUnnamed38(); } buildCounterReactionBatchDeletedEventData--; return o; @@ -3400,7 +3471,7 @@ api.ReactionBatchDeletedEventData buildReactionBatchDeletedEventData() { void checkReactionBatchDeletedEventData(api.ReactionBatchDeletedEventData o) { buildCounterReactionBatchDeletedEventData++; if (buildCounterReactionBatchDeletedEventData < 3) { - checkUnnamed37(o.reactions!); + checkUnnamed38(o.reactions!); } buildCounterReactionBatchDeletedEventData--; } @@ -3474,12 +3545,12 @@ void checkRichLinkMetadata(api.RichLinkMetadata o) { buildCounterRichLinkMetadata--; } -core.List buildUnnamed38() => [ +core.List buildUnnamed39() => [ buildSpace(), buildSpace(), ]; -void checkUnnamed38(core.List o) { +void checkUnnamed39(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSpace(o[0]); checkSpace(o[1]); @@ -3491,7 +3562,7 @@ api.SearchSpacesResponse buildSearchSpacesResponse() { buildCounterSearchSpacesResponse++; if (buildCounterSearchSpacesResponse < 3) { o.nextPageToken = 'foo'; - o.spaces = buildUnnamed38(); + o.spaces = buildUnnamed39(); o.totalSize = 42; } buildCounterSearchSpacesResponse--; @@ -3505,7 +3576,7 @@ void checkSearchSpacesResponse(api.SearchSpacesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed38(o.spaces!); + checkUnnamed39(o.spaces!); unittest.expect( o.totalSize!, unittest.equals(42), @@ -3514,12 +3585,12 @@ void checkSearchSpacesResponse(api.SearchSpacesResponse o) { buildCounterSearchSpacesResponse--; } -core.List buildUnnamed39() => [ +core.List buildUnnamed40() => [ buildWidgetMarkup(), buildWidgetMarkup(), ]; -void checkUnnamed39(core.List o) { +void checkUnnamed40(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWidgetMarkup(o[0]); checkWidgetMarkup(o[1]); @@ -3531,7 +3602,7 @@ api.Section buildSection() { buildCounterSection++; if (buildCounterSection < 3) { o.header = 'foo'; - o.widgets = buildUnnamed39(); + o.widgets = buildUnnamed40(); } buildCounterSection--; return o; @@ -3544,17 +3615,17 @@ void checkSection(api.Section o) { o.header!, unittest.equals('foo'), ); - checkUnnamed39(o.widgets!); + checkUnnamed40(o.widgets!); } buildCounterSection--; } -core.List buildUnnamed40() => [ +core.List buildUnnamed41() => [ buildGoogleAppsCardV1SelectionItem(), buildGoogleAppsCardV1SelectionItem(), ]; -void checkUnnamed40(core.List o) { +void checkUnnamed41(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleAppsCardV1SelectionItem(o[0]); checkGoogleAppsCardV1SelectionItem(o[1]); @@ -3565,7 +3636,7 @@ api.SelectionItems buildSelectionItems() { final o = api.SelectionItems(); buildCounterSelectionItems++; if (buildCounterSelectionItems < 3) { - o.items = buildUnnamed40(); + o.items = buildUnnamed41(); } buildCounterSelectionItems--; return o; @@ -3574,17 +3645,17 @@ api.SelectionItems buildSelectionItems() { void checkSelectionItems(api.SelectionItems o) { buildCounterSelectionItems++; if (buildCounterSelectionItems < 3) { - checkUnnamed40(o.items!); + checkUnnamed41(o.items!); } buildCounterSelectionItems--; } -core.List buildUnnamed41() => [ +core.List buildUnnamed42() => [ buildMembership(), buildMembership(), ]; -void checkUnnamed41(core.List o) { +void checkUnnamed42(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMembership(o[0]); checkMembership(o[1]); @@ -3595,7 +3666,7 @@ api.SetUpSpaceRequest buildSetUpSpaceRequest() { final o = api.SetUpSpaceRequest(); buildCounterSetUpSpaceRequest++; if (buildCounterSetUpSpaceRequest < 3) { - o.memberships = buildUnnamed41(); + o.memberships = buildUnnamed42(); o.requestId = 'foo'; o.space = buildSpace(); } @@ -3606,7 +3677,7 @@ api.SetUpSpaceRequest buildSetUpSpaceRequest() { void checkSetUpSpaceRequest(api.SetUpSpaceRequest o) { buildCounterSetUpSpaceRequest++; if (buildCounterSetUpSpaceRequest < 3) { - checkUnnamed41(o.memberships!); + checkUnnamed42(o.memberships!); unittest.expect( o.requestId!, unittest.equals('foo'), @@ -3764,12 +3835,12 @@ void checkSpace(api.Space o) { buildCounterSpace--; } -core.List buildUnnamed42() => [ +core.List buildUnnamed43() => [ buildSpaceUpdatedEventData(), buildSpaceUpdatedEventData(), ]; -void checkUnnamed42(core.List o) { +void checkUnnamed43(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSpaceUpdatedEventData(o[0]); checkSpaceUpdatedEventData(o[1]); @@ -3780,7 +3851,7 @@ api.SpaceBatchUpdatedEventData buildSpaceBatchUpdatedEventData() { final o = api.SpaceBatchUpdatedEventData(); buildCounterSpaceBatchUpdatedEventData++; if (buildCounterSpaceBatchUpdatedEventData < 3) { - o.spaces = buildUnnamed42(); + o.spaces = buildUnnamed43(); } buildCounterSpaceBatchUpdatedEventData--; return o; @@ -3789,7 +3860,7 @@ api.SpaceBatchUpdatedEventData buildSpaceBatchUpdatedEventData() { void checkSpaceBatchUpdatedEventData(api.SpaceBatchUpdatedEventData o) { buildCounterSpaceBatchUpdatedEventData++; if (buildCounterSpaceBatchUpdatedEventData < 3) { - checkUnnamed42(o.spaces!); + checkUnnamed43(o.spaces!); } buildCounterSpaceBatchUpdatedEventData--; } @@ -3908,6 +3979,38 @@ void checkSpaceEvent(api.SpaceEvent o) { buildCounterSpaceEvent--; } +core.int buildCounterSpaceNotificationSetting = 0; +api.SpaceNotificationSetting buildSpaceNotificationSetting() { + final o = api.SpaceNotificationSetting(); + buildCounterSpaceNotificationSetting++; + if (buildCounterSpaceNotificationSetting < 3) { + o.muteSetting = 'foo'; + o.name = 'foo'; + o.notificationSetting = 'foo'; + } + buildCounterSpaceNotificationSetting--; + return o; +} + +void checkSpaceNotificationSetting(api.SpaceNotificationSetting o) { + buildCounterSpaceNotificationSetting++; + if (buildCounterSpaceNotificationSetting < 3) { + unittest.expect( + o.muteSetting!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.notificationSetting!, + unittest.equals('foo'), + ); + } + buildCounterSpaceNotificationSetting--; +} + core.int buildCounterSpaceReadState = 0; api.SpaceReadState buildSpaceReadState() { final o = api.SpaceReadState(); @@ -4182,12 +4285,12 @@ void checkUserMentionMetadata(api.UserMentionMetadata o) { buildCounterUserMentionMetadata--; } -core.List buildUnnamed43() => [ +core.List buildUnnamed44() => [ buildButton(), buildButton(), ]; -void checkUnnamed43(core.List o) { +void checkUnnamed44(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkButton(o[0]); checkButton(o[1]); @@ -4198,7 +4301,7 @@ api.WidgetMarkup buildWidgetMarkup() { final o = api.WidgetMarkup(); buildCounterWidgetMarkup++; if (buildCounterWidgetMarkup < 3) { - o.buttons = buildUnnamed43(); + o.buttons = buildUnnamed44(); o.image = buildImage(); o.keyValue = buildKeyValue(); o.textParagraph = buildTextParagraph(); @@ -4210,7 +4313,7 @@ api.WidgetMarkup buildWidgetMarkup() { void checkWidgetMarkup(api.WidgetMarkup o) { buildCounterWidgetMarkup++; if (buildCounterWidgetMarkup < 3) { - checkUnnamed43(o.buttons!); + checkUnnamed44(o.buttons!); checkImage(o.image!); checkKeyValue(o.keyValue!); checkTextParagraph(o.textParagraph!); @@ -4419,6 +4522,16 @@ void main() { }); }); + unittest.group('obj-schema-CustomEmojiMetadata', () { + unittest.test('to-json--from-json', () async { + final o = buildCustomEmojiMetadata(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CustomEmojiMetadata.fromJson( + oJson as core.Map); + checkCustomEmojiMetadata(od); + }); + }); + unittest.group('obj-schema-DeletionMetadata', () { unittest.test('to-json--from-json', () async { final o = buildDeletionMetadata(); @@ -4909,6 +5022,16 @@ void main() { }); }); + unittest.group('obj-schema-GoogleAppsCardV1Validation', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleAppsCardV1Validation(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleAppsCardV1Validation.fromJson( + oJson as core.Map); + checkGoogleAppsCardV1Validation(od); + }); + }); + unittest.group('obj-schema-GoogleAppsCardV1Widget', () { unittest.test('to-json--from-json', () async { final o = buildGoogleAppsCardV1Widget(); @@ -5419,6 +5542,16 @@ void main() { }); }); + unittest.group('obj-schema-SpaceNotificationSetting', () { + unittest.test('to-json--from-json', () async { + final o = buildSpaceNotificationSetting(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SpaceNotificationSetting.fromJson( + oJson as core.Map); + checkSpaceNotificationSetting(od); + }); + }); + unittest.group('obj-schema-SpaceReadState', () { unittest.test('to-json--from-json', () async { final o = buildSpaceReadState(); @@ -7464,6 +7597,125 @@ void main() { }); }); + unittest.group('resource-UsersSpacesSpaceNotificationSettingResource', () { + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = + api.HangoutsChatApi(mock).users.spaces.spaceNotificationSetting; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildSpaceNotificationSetting()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_name, $fields: arg_$fields); + checkSpaceNotificationSetting(response as api.SpaceNotificationSetting); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = + api.HangoutsChatApi(mock).users.spaces.spaceNotificationSetting; + final arg_request = buildSpaceNotificationSetting(); + final arg_name = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.SpaceNotificationSetting.fromJson( + json as core.Map); + checkSpaceNotificationSetting(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildSpaceNotificationSetting()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch(arg_request, arg_name, + updateMask: arg_updateMask, $fields: arg_$fields); + checkSpaceNotificationSetting(response as api.SpaceNotificationSetting); + }); + }); + unittest.group('resource-UsersSpacesThreadsResource', () { unittest.test('method--getThreadReadState', () async { final mock = HttpServerMock(); diff --git a/generated/googleapis/test/cloudasset/v1_test.dart b/generated/googleapis/test/cloudasset/v1_test.dart index 31e214a84..28f122347 100644 --- a/generated/googleapis/test/cloudasset/v1_test.dart +++ b/generated/googleapis/test/cloudasset/v1_test.dart @@ -2634,6 +2634,7 @@ api.GoogleIdentityAccesscontextmanagerV1EgressSource buildCounterGoogleIdentityAccesscontextmanagerV1EgressSource++; if (buildCounterGoogleIdentityAccesscontextmanagerV1EgressSource < 3) { o.accessLevel = 'foo'; + o.resource = 'foo'; } buildCounterGoogleIdentityAccesscontextmanagerV1EgressSource--; return o; @@ -2647,6 +2648,10 @@ void checkGoogleIdentityAccesscontextmanagerV1EgressSource( o.accessLevel!, unittest.equals('foo'), ); + unittest.expect( + o.resource!, + unittest.equals('foo'), + ); } buildCounterGoogleIdentityAccesscontextmanagerV1EgressSource--; } diff --git a/generated/googleapis/test/cloudbuild/v1_test.dart b/generated/googleapis/test/cloudbuild/v1_test.dart index f5e7a8b1a..26d6baaad 100644 --- a/generated/googleapis/test/cloudbuild/v1_test.dart +++ b/generated/googleapis/test/cloudbuild/v1_test.dart @@ -149,12 +149,23 @@ void checkArtifactObjects(api.ArtifactObjects o) { buildCounterArtifactObjects--; } -core.List buildUnnamed1() => [ +core.List buildUnnamed1() => [ + buildGoModule(), + buildGoModule(), + ]; + +void checkUnnamed1(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoModule(o[0]); + checkGoModule(o[1]); +} + +core.List buildUnnamed2() => [ 'foo', 'foo', ]; -void checkUnnamed1(core.List o) { +void checkUnnamed2(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -166,34 +177,34 @@ void checkUnnamed1(core.List o) { ); } -core.List buildUnnamed2() => [ +core.List buildUnnamed3() => [ buildMavenArtifact(), buildMavenArtifact(), ]; -void checkUnnamed2(core.List o) { +void checkUnnamed3(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMavenArtifact(o[0]); checkMavenArtifact(o[1]); } -core.List buildUnnamed3() => [ +core.List buildUnnamed4() => [ buildNpmPackage(), buildNpmPackage(), ]; -void checkUnnamed3(core.List o) { +void checkUnnamed4(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNpmPackage(o[0]); checkNpmPackage(o[1]); } -core.List buildUnnamed4() => [ +core.List buildUnnamed5() => [ buildPythonPackage(), buildPythonPackage(), ]; -void checkUnnamed4(core.List o) { +void checkUnnamed5(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPythonPackage(o[0]); checkPythonPackage(o[1]); @@ -204,11 +215,12 @@ api.Artifacts buildArtifacts() { final o = api.Artifacts(); buildCounterArtifacts++; if (buildCounterArtifacts < 3) { - o.images = buildUnnamed1(); - o.mavenArtifacts = buildUnnamed2(); - o.npmPackages = buildUnnamed3(); + o.goModules = buildUnnamed1(); + o.images = buildUnnamed2(); + o.mavenArtifacts = buildUnnamed3(); + o.npmPackages = buildUnnamed4(); o.objects = buildArtifactObjects(); - o.pythonPackages = buildUnnamed4(); + o.pythonPackages = buildUnnamed5(); } buildCounterArtifacts--; return o; @@ -217,22 +229,23 @@ api.Artifacts buildArtifacts() { void checkArtifacts(api.Artifacts o) { buildCounterArtifacts++; if (buildCounterArtifacts < 3) { - checkUnnamed1(o.images!); - checkUnnamed2(o.mavenArtifacts!); - checkUnnamed3(o.npmPackages!); + checkUnnamed1(o.goModules!); + checkUnnamed2(o.images!); + checkUnnamed3(o.mavenArtifacts!); + checkUnnamed4(o.npmPackages!); checkArtifactObjects(o.objects!); - checkUnnamed4(o.pythonPackages!); + checkUnnamed5(o.pythonPackages!); } buildCounterArtifacts--; } core.List - buildUnnamed5() => [ + buildUnnamed6() => [ buildCreateBitbucketServerConnectedRepositoryRequest(), buildCreateBitbucketServerConnectedRepositoryRequest(), ]; -void checkUnnamed5( +void checkUnnamed6( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCreateBitbucketServerConnectedRepositoryRequest(o[0]); @@ -245,7 +258,7 @@ api.BatchCreateBitbucketServerConnectedRepositoriesRequest final o = api.BatchCreateBitbucketServerConnectedRepositoriesRequest(); buildCounterBatchCreateBitbucketServerConnectedRepositoriesRequest++; if (buildCounterBatchCreateBitbucketServerConnectedRepositoriesRequest < 3) { - o.requests = buildUnnamed5(); + o.requests = buildUnnamed6(); } buildCounterBatchCreateBitbucketServerConnectedRepositoriesRequest--; return o; @@ -255,17 +268,17 @@ void checkBatchCreateBitbucketServerConnectedRepositoriesRequest( api.BatchCreateBitbucketServerConnectedRepositoriesRequest o) { buildCounterBatchCreateBitbucketServerConnectedRepositoriesRequest++; if (buildCounterBatchCreateBitbucketServerConnectedRepositoriesRequest < 3) { - checkUnnamed5(o.requests!); + checkUnnamed6(o.requests!); } buildCounterBatchCreateBitbucketServerConnectedRepositoriesRequest--; } -core.List buildUnnamed6() => [ +core.List buildUnnamed7() => [ buildCreateGitLabConnectedRepositoryRequest(), buildCreateGitLabConnectedRepositoryRequest(), ]; -void checkUnnamed6(core.List o) { +void checkUnnamed7(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCreateGitLabConnectedRepositoryRequest(o[0]); checkCreateGitLabConnectedRepositoryRequest(o[1]); @@ -277,7 +290,7 @@ api.BatchCreateGitLabConnectedRepositoriesRequest final o = api.BatchCreateGitLabConnectedRepositoriesRequest(); buildCounterBatchCreateGitLabConnectedRepositoriesRequest++; if (buildCounterBatchCreateGitLabConnectedRepositoriesRequest < 3) { - o.requests = buildUnnamed6(); + o.requests = buildUnnamed7(); } buildCounterBatchCreateGitLabConnectedRepositoriesRequest--; return o; @@ -287,17 +300,17 @@ void checkBatchCreateGitLabConnectedRepositoriesRequest( api.BatchCreateGitLabConnectedRepositoriesRequest o) { buildCounterBatchCreateGitLabConnectedRepositoriesRequest++; if (buildCounterBatchCreateGitLabConnectedRepositoriesRequest < 3) { - checkUnnamed6(o.requests!); + checkUnnamed7(o.requests!); } buildCounterBatchCreateGitLabConnectedRepositoriesRequest--; } -core.List buildUnnamed7() => [ +core.List buildUnnamed8() => [ buildBitbucketServerRepositoryId(), buildBitbucketServerRepositoryId(), ]; -void checkUnnamed7(core.List o) { +void checkUnnamed8(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBitbucketServerRepositoryId(o[0]); checkBitbucketServerRepositoryId(o[1]); @@ -309,7 +322,7 @@ api.BitbucketServerConfig buildBitbucketServerConfig() { buildCounterBitbucketServerConfig++; if (buildCounterBitbucketServerConfig < 3) { o.apiKey = 'foo'; - o.connectedRepositories = buildUnnamed7(); + o.connectedRepositories = buildUnnamed8(); o.createTime = 'foo'; o.hostUri = 'foo'; o.name = 'foo'; @@ -331,7 +344,7 @@ void checkBitbucketServerConfig(api.BitbucketServerConfig o) { o.apiKey!, unittest.equals('foo'), ); - checkUnnamed7(o.connectedRepositories!); + checkUnnamed8(o.connectedRepositories!); unittest.expect( o.createTime!, unittest.equals('foo'), @@ -538,12 +551,23 @@ void checkBitbucketServerTriggerConfig(api.BitbucketServerTriggerConfig o) { buildCounterBitbucketServerTriggerConfig--; } -core.List buildUnnamed8() => [ +core.List buildUnnamed9() => [ + buildDependency(), + buildDependency(), + ]; + +void checkUnnamed9(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkDependency(o[0]); + checkDependency(o[1]); +} + +core.List buildUnnamed10() => [ 'foo', 'foo', ]; -void checkUnnamed8(core.List o) { +void checkUnnamed10(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -555,34 +579,34 @@ void checkUnnamed8(core.List o) { ); } -core.List buildUnnamed9() => [ +core.List buildUnnamed11() => [ buildSecret(), buildSecret(), ]; -void checkUnnamed9(core.List o) { +void checkUnnamed11(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSecret(o[0]); checkSecret(o[1]); } -core.List buildUnnamed10() => [ +core.List buildUnnamed12() => [ buildBuildStep(), buildBuildStep(), ]; -void checkUnnamed10(core.List o) { +void checkUnnamed12(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBuildStep(o[0]); checkBuildStep(o[1]); } -core.Map buildUnnamed11() => { +core.Map buildUnnamed13() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed11(core.Map o) { +void checkUnnamed13(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -594,12 +618,12 @@ void checkUnnamed11(core.Map o) { ); } -core.List buildUnnamed12() => [ +core.List buildUnnamed14() => [ 'foo', 'foo', ]; -void checkUnnamed12(core.List o) { +void checkUnnamed14(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -611,23 +635,23 @@ void checkUnnamed12(core.List o) { ); } -core.Map buildUnnamed13() => { +core.Map buildUnnamed15() => { 'x': buildTimeSpan(), 'y': buildTimeSpan(), }; -void checkUnnamed13(core.Map o) { +void checkUnnamed15(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkTimeSpan(o['x']!); checkTimeSpan(o['y']!); } -core.List buildUnnamed14() => [ +core.List buildUnnamed16() => [ buildWarning(), buildWarning(), ]; -void checkUnnamed14(core.List o) { +void checkUnnamed16(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWarning(o[0]); checkWarning(o[1]); @@ -643,11 +667,12 @@ api.Build buildBuild() { o.availableSecrets = buildSecrets(); o.buildTriggerId = 'foo'; o.createTime = 'foo'; + o.dependencies = buildUnnamed9(); o.failureInfo = buildFailureInfo(); o.finishTime = 'foo'; o.gitConfig = buildGitConfig(); o.id = 'foo'; - o.images = buildUnnamed8(); + o.images = buildUnnamed10(); o.logUrl = 'foo'; o.logsBucket = 'foo'; o.name = 'foo'; @@ -655,19 +680,19 @@ api.Build buildBuild() { o.projectId = 'foo'; o.queueTtl = 'foo'; o.results = buildResults(); - o.secrets = buildUnnamed9(); + o.secrets = buildUnnamed11(); o.serviceAccount = 'foo'; o.source = buildSource(); o.sourceProvenance = buildSourceProvenance(); o.startTime = 'foo'; o.status = 'foo'; o.statusDetail = 'foo'; - o.steps = buildUnnamed10(); - o.substitutions = buildUnnamed11(); - o.tags = buildUnnamed12(); + o.steps = buildUnnamed12(); + o.substitutions = buildUnnamed13(); + o.tags = buildUnnamed14(); o.timeout = 'foo'; - o.timing = buildUnnamed13(); - o.warnings = buildUnnamed14(); + o.timing = buildUnnamed15(); + o.warnings = buildUnnamed16(); } buildCounterBuild--; return o; @@ -687,6 +712,7 @@ void checkBuild(api.Build o) { o.createTime!, unittest.equals('foo'), ); + checkUnnamed9(o.dependencies!); checkFailureInfo(o.failureInfo!); unittest.expect( o.finishTime!, @@ -697,7 +723,7 @@ void checkBuild(api.Build o) { o.id!, unittest.equals('foo'), ); - checkUnnamed8(o.images!); + checkUnnamed10(o.images!); unittest.expect( o.logUrl!, unittest.equals('foo'), @@ -720,7 +746,7 @@ void checkBuild(api.Build o) { unittest.equals('foo'), ); checkResults(o.results!); - checkUnnamed9(o.secrets!); + checkUnnamed11(o.secrets!); unittest.expect( o.serviceAccount!, unittest.equals('foo'), @@ -739,15 +765,15 @@ void checkBuild(api.Build o) { o.statusDetail!, unittest.equals('foo'), ); - checkUnnamed10(o.steps!); - checkUnnamed11(o.substitutions!); - checkUnnamed12(o.tags!); + checkUnnamed12(o.steps!); + checkUnnamed13(o.substitutions!); + checkUnnamed14(o.tags!); unittest.expect( o.timeout!, unittest.equals('foo'), ); - checkUnnamed13(o.timing!); - checkUnnamed14(o.warnings!); + checkUnnamed15(o.timing!); + checkUnnamed16(o.warnings!); } buildCounterBuild--; } @@ -778,12 +804,12 @@ void checkBuildApproval(api.BuildApproval o) { buildCounterBuildApproval--; } -core.List buildUnnamed15() => [ +core.List buildUnnamed17() => [ 'foo', 'foo', ]; -void checkUnnamed15(core.List o) { +void checkUnnamed17(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -795,12 +821,12 @@ void checkUnnamed15(core.List o) { ); } -core.List buildUnnamed16() => [ +core.List buildUnnamed18() => [ 'foo', 'foo', ]; -void checkUnnamed16(core.List o) { +void checkUnnamed18(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -812,12 +838,12 @@ void checkUnnamed16(core.List o) { ); } -core.List buildUnnamed17() => [ +core.List buildUnnamed19() => [ 'foo', 'foo', ]; -void checkUnnamed17(core.List o) { +void checkUnnamed19(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -829,12 +855,12 @@ void checkUnnamed17(core.List o) { ); } -core.List buildUnnamed18() => [ +core.List buildUnnamed20() => [ buildVolume(), buildVolume(), ]; -void checkUnnamed18(core.List o) { +void checkUnnamed20(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVolume(o[0]); checkVolume(o[1]); @@ -849,16 +875,18 @@ api.BuildOptions buildBuildOptions() { o.defaultLogsBucketBehavior = 'foo'; o.diskSizeGb = 'foo'; o.dynamicSubstitutions = true; - o.env = buildUnnamed15(); + o.enableStructuredLogging = true; + o.env = buildUnnamed17(); o.logStreamingOption = 'foo'; o.logging = 'foo'; o.machineType = 'foo'; o.pool = buildPoolOption(); + o.pubsubTopic = 'foo'; o.requestedVerifyOption = 'foo'; - o.secretEnv = buildUnnamed16(); - o.sourceProvenanceHash = buildUnnamed17(); + o.secretEnv = buildUnnamed18(); + o.sourceProvenanceHash = buildUnnamed19(); o.substitutionOption = 'foo'; - o.volumes = buildUnnamed18(); + o.volumes = buildUnnamed20(); o.workerPool = 'foo'; } buildCounterBuildOptions--; @@ -878,7 +906,8 @@ void checkBuildOptions(api.BuildOptions o) { unittest.equals('foo'), ); unittest.expect(o.dynamicSubstitutions!, unittest.isTrue); - checkUnnamed15(o.env!); + unittest.expect(o.enableStructuredLogging!, unittest.isTrue); + checkUnnamed17(o.env!); unittest.expect( o.logStreamingOption!, unittest.equals('foo'), @@ -892,17 +921,21 @@ void checkBuildOptions(api.BuildOptions o) { unittest.equals('foo'), ); checkPoolOption(o.pool!); + unittest.expect( + o.pubsubTopic!, + unittest.equals('foo'), + ); unittest.expect( o.requestedVerifyOption!, unittest.equals('foo'), ); - checkUnnamed16(o.secretEnv!); - checkUnnamed17(o.sourceProvenanceHash!); + checkUnnamed18(o.secretEnv!); + checkUnnamed19(o.sourceProvenanceHash!); unittest.expect( o.substitutionOption!, unittest.equals('foo'), ); - checkUnnamed18(o.volumes!); + checkUnnamed20(o.volumes!); unittest.expect( o.workerPool!, unittest.equals('foo'), @@ -911,12 +944,12 @@ void checkBuildOptions(api.BuildOptions o) { buildCounterBuildOptions--; } -core.List buildUnnamed19() => [ +core.List buildUnnamed21() => [ 42, 42, ]; -void checkUnnamed19(core.List o) { +void checkUnnamed21(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -928,12 +961,12 @@ void checkUnnamed19(core.List o) { ); } -core.List buildUnnamed20() => [ +core.List buildUnnamed22() => [ 'foo', 'foo', ]; -void checkUnnamed20(core.List o) { +void checkUnnamed22(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -945,12 +978,12 @@ void checkUnnamed20(core.List o) { ); } -core.List buildUnnamed21() => [ +core.List buildUnnamed23() => [ 'foo', 'foo', ]; -void checkUnnamed21(core.List o) { +void checkUnnamed23(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -962,12 +995,12 @@ void checkUnnamed21(core.List o) { ); } -core.List buildUnnamed22() => [ +core.List buildUnnamed24() => [ 'foo', 'foo', ]; -void checkUnnamed22(core.List o) { +void checkUnnamed24(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -979,23 +1012,23 @@ void checkUnnamed22(core.List o) { ); } -core.List buildUnnamed23() => [ +core.List buildUnnamed25() => [ buildVolume(), buildVolume(), ]; -void checkUnnamed23(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVolume(o[0]); checkVolume(o[1]); } -core.List buildUnnamed24() => [ +core.List buildUnnamed26() => [ 'foo', 'foo', ]; -void checkUnnamed24(core.List o) { +void checkUnnamed26(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1012,24 +1045,24 @@ api.BuildStep buildBuildStep() { final o = api.BuildStep(); buildCounterBuildStep++; if (buildCounterBuildStep < 3) { - o.allowExitCodes = buildUnnamed19(); + o.allowExitCodes = buildUnnamed21(); o.allowFailure = true; - o.args = buildUnnamed20(); + o.args = buildUnnamed22(); o.automapSubstitutions = true; o.dir = 'foo'; o.entrypoint = 'foo'; - o.env = buildUnnamed21(); + o.env = buildUnnamed23(); o.exitCode = 42; o.id = 'foo'; o.name = 'foo'; o.pullTiming = buildTimeSpan(); o.script = 'foo'; - o.secretEnv = buildUnnamed22(); + o.secretEnv = buildUnnamed24(); o.status = 'foo'; o.timeout = 'foo'; o.timing = buildTimeSpan(); - o.volumes = buildUnnamed23(); - o.waitFor = buildUnnamed24(); + o.volumes = buildUnnamed25(); + o.waitFor = buildUnnamed26(); } buildCounterBuildStep--; return o; @@ -1038,9 +1071,9 @@ api.BuildStep buildBuildStep() { void checkBuildStep(api.BuildStep o) { buildCounterBuildStep++; if (buildCounterBuildStep < 3) { - checkUnnamed19(o.allowExitCodes!); + checkUnnamed21(o.allowExitCodes!); unittest.expect(o.allowFailure!, unittest.isTrue); - checkUnnamed20(o.args!); + checkUnnamed22(o.args!); unittest.expect(o.automapSubstitutions!, unittest.isTrue); unittest.expect( o.dir!, @@ -1050,7 +1083,7 @@ void checkBuildStep(api.BuildStep o) { o.entrypoint!, unittest.equals('foo'), ); - checkUnnamed21(o.env!); + checkUnnamed23(o.env!); unittest.expect( o.exitCode!, unittest.equals(42), @@ -1068,7 +1101,7 @@ void checkBuildStep(api.BuildStep o) { o.script!, unittest.equals('foo'), ); - checkUnnamed22(o.secretEnv!); + checkUnnamed24(o.secretEnv!); unittest.expect( o.status!, unittest.equals('foo'), @@ -1078,18 +1111,18 @@ void checkBuildStep(api.BuildStep o) { unittest.equals('foo'), ); checkTimeSpan(o.timing!); - checkUnnamed23(o.volumes!); - checkUnnamed24(o.waitFor!); + checkUnnamed25(o.volumes!); + checkUnnamed26(o.waitFor!); } buildCounterBuildStep--; } -core.List buildUnnamed25() => [ +core.List buildUnnamed27() => [ 'foo', 'foo', ]; -void checkUnnamed25(core.List o) { +void checkUnnamed27(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1101,12 +1134,12 @@ void checkUnnamed25(core.List o) { ); } -core.List buildUnnamed26() => [ +core.List buildUnnamed28() => [ 'foo', 'foo', ]; -void checkUnnamed26(core.List o) { +void checkUnnamed28(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1118,12 +1151,12 @@ void checkUnnamed26(core.List o) { ); } -core.Map buildUnnamed27() => { +core.Map buildUnnamed29() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed27(core.Map o) { +void checkUnnamed29(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1135,12 +1168,12 @@ void checkUnnamed27(core.Map o) { ); } -core.List buildUnnamed28() => [ +core.List buildUnnamed30() => [ 'foo', 'foo', ]; -void checkUnnamed28(core.List o) { +void checkUnnamed30(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1171,17 +1204,17 @@ api.BuildTrigger buildBuildTrigger() { o.github = buildGitHubEventsConfig(); o.gitlabEnterpriseEventsConfig = buildGitLabEventsConfig(); o.id = 'foo'; - o.ignoredFiles = buildUnnamed25(); + o.ignoredFiles = buildUnnamed27(); o.includeBuildLogs = 'foo'; - o.includedFiles = buildUnnamed26(); + o.includedFiles = buildUnnamed28(); o.name = 'foo'; o.pubsubConfig = buildPubsubConfig(); o.repositoryEventConfig = buildRepositoryEventConfig(); o.resourceName = 'foo'; o.serviceAccount = 'foo'; o.sourceToBuild = buildGitRepoSource(); - o.substitutions = buildUnnamed27(); - o.tags = buildUnnamed28(); + o.substitutions = buildUnnamed29(); + o.tags = buildUnnamed30(); o.triggerTemplate = buildRepoSource(); o.webhookConfig = buildWebhookConfig(); } @@ -1224,12 +1257,12 @@ void checkBuildTrigger(api.BuildTrigger o) { o.id!, unittest.equals('foo'), ); - checkUnnamed25(o.ignoredFiles!); + checkUnnamed27(o.ignoredFiles!); unittest.expect( o.includeBuildLogs!, unittest.equals('foo'), ); - checkUnnamed26(o.includedFiles!); + checkUnnamed28(o.includedFiles!); unittest.expect( o.name!, unittest.equals('foo'), @@ -1245,8 +1278,8 @@ void checkBuildTrigger(api.BuildTrigger o) { unittest.equals('foo'), ); checkGitRepoSource(o.sourceToBuild!); - checkUnnamed27(o.substitutions!); - checkUnnamed28(o.tags!); + checkUnnamed29(o.substitutions!); + checkUnnamed30(o.tags!); checkRepoSource(o.triggerTemplate!); checkWebhookConfig(o.webhookConfig!); } @@ -1442,6 +1475,27 @@ void checkDefaultServiceAccount(api.DefaultServiceAccount o) { buildCounterDefaultServiceAccount--; } +core.int buildCounterDependency = 0; +api.Dependency buildDependency() { + final o = api.Dependency(); + buildCounterDependency++; + if (buildCounterDependency < 3) { + o.empty = true; + o.gitSource = buildGitSourceDependency(); + } + buildCounterDependency--; + return o; +} + +void checkDependency(api.Dependency o) { + buildCounterDependency++; + if (buildCounterDependency < 3) { + unittest.expect(o.empty!, unittest.isTrue); + checkGitSourceDependency(o.gitSource!); + } + buildCounterDependency--; +} + core.int buildCounterDeveloperConnectConfig = 0; api.DeveloperConnectConfig buildDeveloperConnectConfig() { final o = api.DeveloperConnectConfig(); @@ -1516,12 +1570,12 @@ void checkFailureInfo(api.FailureInfo o) { buildCounterFailureInfo--; } -core.List buildUnnamed29() => [ +core.List buildUnnamed31() => [ buildHash(), buildHash(), ]; -void checkUnnamed29(core.List o) { +void checkUnnamed31(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHash(o[0]); checkHash(o[1]); @@ -1532,7 +1586,7 @@ api.FileHashes buildFileHashes() { final o = api.FileHashes(); buildCounterFileHashes++; if (buildCounterFileHashes < 3) { - o.fileHash = buildUnnamed29(); + o.fileHash = buildUnnamed31(); } buildCounterFileHashes--; return o; @@ -1541,7 +1595,7 @@ api.FileHashes buildFileHashes() { void checkFileHashes(api.FileHashes o) { buildCounterFileHashes++; if (buildCounterFileHashes < 3) { - checkUnnamed29(o.fileHash!); + checkUnnamed31(o.fileHash!); } buildCounterFileHashes--; } @@ -1774,12 +1828,12 @@ void checkGitHubEventsConfig(api.GitHubEventsConfig o) { buildCounterGitHubEventsConfig--; } -core.List buildUnnamed30() => [ +core.List buildUnnamed32() => [ buildGitLabRepositoryId(), buildGitLabRepositoryId(), ]; -void checkUnnamed30(core.List o) { +void checkUnnamed32(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGitLabRepositoryId(o[0]); checkGitLabRepositoryId(o[1]); @@ -1790,7 +1844,7 @@ api.GitLabConfig buildGitLabConfig() { final o = api.GitLabConfig(); buildCounterGitLabConfig++; if (buildCounterGitLabConfig < 3) { - o.connectedRepositories = buildUnnamed30(); + o.connectedRepositories = buildUnnamed32(); o.createTime = 'foo'; o.enterpriseConfig = buildGitLabEnterpriseConfig(); o.name = 'foo'; @@ -1805,7 +1859,7 @@ api.GitLabConfig buildGitLabConfig() { void checkGitLabConfig(api.GitLabConfig o) { buildCounterGitLabConfig++; if (buildCounterGitLabConfig < 3) { - checkUnnamed30(o.connectedRepositories!); + checkUnnamed32(o.connectedRepositories!); unittest.expect( o.createTime!, unittest.equals('foo'), @@ -2098,6 +2152,116 @@ void checkGitSource(api.GitSource o) { buildCounterGitSource--; } +core.int buildCounterGitSourceDependency = 0; +api.GitSourceDependency buildGitSourceDependency() { + final o = api.GitSourceDependency(); + buildCounterGitSourceDependency++; + if (buildCounterGitSourceDependency < 3) { + o.depth = 'foo'; + o.destPath = 'foo'; + o.recurseSubmodules = true; + o.repository = buildGitSourceRepository(); + o.revision = 'foo'; + } + buildCounterGitSourceDependency--; + return o; +} + +void checkGitSourceDependency(api.GitSourceDependency o) { + buildCounterGitSourceDependency++; + if (buildCounterGitSourceDependency < 3) { + unittest.expect( + o.depth!, + unittest.equals('foo'), + ); + unittest.expect( + o.destPath!, + unittest.equals('foo'), + ); + unittest.expect(o.recurseSubmodules!, unittest.isTrue); + checkGitSourceRepository(o.repository!); + unittest.expect( + o.revision!, + unittest.equals('foo'), + ); + } + buildCounterGitSourceDependency--; +} + +core.int buildCounterGitSourceRepository = 0; +api.GitSourceRepository buildGitSourceRepository() { + final o = api.GitSourceRepository(); + buildCounterGitSourceRepository++; + if (buildCounterGitSourceRepository < 3) { + o.developerConnect = 'foo'; + o.url = 'foo'; + } + buildCounterGitSourceRepository--; + return o; +} + +void checkGitSourceRepository(api.GitSourceRepository o) { + buildCounterGitSourceRepository++; + if (buildCounterGitSourceRepository < 3) { + unittest.expect( + o.developerConnect!, + unittest.equals('foo'), + ); + unittest.expect( + o.url!, + unittest.equals('foo'), + ); + } + buildCounterGitSourceRepository--; +} + +core.int buildCounterGoModule = 0; +api.GoModule buildGoModule() { + final o = api.GoModule(); + buildCounterGoModule++; + if (buildCounterGoModule < 3) { + o.modulePath = 'foo'; + o.moduleVersion = 'foo'; + o.repositoryLocation = 'foo'; + o.repositoryName = 'foo'; + o.repositoryProjectId = 'foo'; + o.sourcePath = 'foo'; + } + buildCounterGoModule--; + return o; +} + +void checkGoModule(api.GoModule o) { + buildCounterGoModule++; + if (buildCounterGoModule < 3) { + unittest.expect( + o.modulePath!, + unittest.equals('foo'), + ); + unittest.expect( + o.moduleVersion!, + unittest.equals('foo'), + ); + unittest.expect( + o.repositoryLocation!, + unittest.equals('foo'), + ); + unittest.expect( + o.repositoryName!, + unittest.equals('foo'), + ); + unittest.expect( + o.repositoryProjectId!, + unittest.equals('foo'), + ); + unittest.expect( + o.sourcePath!, + unittest.equals('foo'), + ); + } + buildCounterGoModule--; +} + core.int buildCounterHash = 0; api.Hash buildHash() { final o = api.Hash(); @@ -2125,7 +2289,7 @@ void checkHash(api.Hash o) { buildCounterHash--; } -core.Map buildUnnamed31() => { +core.Map buildUnnamed33() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2138,7 +2302,7 @@ core.Map buildUnnamed31() => { }, }; -void checkUnnamed31(core.Map o) { +void checkUnnamed33(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -2170,15 +2334,15 @@ void checkUnnamed31(core.Map o) { ); } -core.List> buildUnnamed32() => [ - buildUnnamed31(), - buildUnnamed31(), +core.List> buildUnnamed34() => [ + buildUnnamed33(), + buildUnnamed33(), ]; -void checkUnnamed32(core.List> o) { +void checkUnnamed34(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed31(o[0]); - checkUnnamed31(o[1]); + checkUnnamed33(o[0]); + checkUnnamed33(o[1]); } core.int buildCounterHttpBody = 0; @@ -2188,7 +2352,7 @@ api.HttpBody buildHttpBody() { if (buildCounterHttpBody < 3) { o.contentType = 'foo'; o.data = 'foo'; - o.extensions = buildUnnamed32(); + o.extensions = buildUnnamed34(); } buildCounterHttpBody--; return o; @@ -2205,7 +2369,7 @@ void checkHttpBody(api.HttpBody o) { o.data!, unittest.equals('foo'), ); - checkUnnamed32(o.extensions!); + checkUnnamed34(o.extensions!); } buildCounterHttpBody--; } @@ -2232,12 +2396,12 @@ void checkHttpConfig(api.HttpConfig o) { buildCounterHttpConfig--; } -core.Map buildUnnamed33() => { +core.Map buildUnnamed35() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed33(core.Map o) { +void checkUnnamed35(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2254,7 +2418,7 @@ api.InlineSecret buildInlineSecret() { final o = api.InlineSecret(); buildCounterInlineSecret++; if (buildCounterInlineSecret < 3) { - o.envMap = buildUnnamed33(); + o.envMap = buildUnnamed35(); o.kmsKeyName = 'foo'; } buildCounterInlineSecret--; @@ -2264,7 +2428,7 @@ api.InlineSecret buildInlineSecret() { void checkInlineSecret(api.InlineSecret o) { buildCounterInlineSecret++; if (buildCounterInlineSecret < 3) { - checkUnnamed33(o.envMap!); + checkUnnamed35(o.envMap!); unittest.expect( o.kmsKeyName!, unittest.equals('foo'), @@ -2273,12 +2437,12 @@ void checkInlineSecret(api.InlineSecret o) { buildCounterInlineSecret--; } -core.List buildUnnamed34() => [ +core.List buildUnnamed36() => [ buildBitbucketServerConfig(), buildBitbucketServerConfig(), ]; -void checkUnnamed34(core.List o) { +void checkUnnamed36(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBitbucketServerConfig(o[0]); checkBitbucketServerConfig(o[1]); @@ -2290,7 +2454,7 @@ api.ListBitbucketServerConfigsResponse final o = api.ListBitbucketServerConfigsResponse(); buildCounterListBitbucketServerConfigsResponse++; if (buildCounterListBitbucketServerConfigsResponse < 3) { - o.bitbucketServerConfigs = buildUnnamed34(); + o.bitbucketServerConfigs = buildUnnamed36(); o.nextPageToken = 'foo'; } buildCounterListBitbucketServerConfigsResponse--; @@ -2301,7 +2465,7 @@ void checkListBitbucketServerConfigsResponse( api.ListBitbucketServerConfigsResponse o) { buildCounterListBitbucketServerConfigsResponse++; if (buildCounterListBitbucketServerConfigsResponse < 3) { - checkUnnamed34(o.bitbucketServerConfigs!); + checkUnnamed36(o.bitbucketServerConfigs!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2310,12 +2474,12 @@ void checkListBitbucketServerConfigsResponse( buildCounterListBitbucketServerConfigsResponse--; } -core.List buildUnnamed35() => [ +core.List buildUnnamed37() => [ buildBitbucketServerRepository(), buildBitbucketServerRepository(), ]; -void checkUnnamed35(core.List o) { +void checkUnnamed37(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBitbucketServerRepository(o[0]); checkBitbucketServerRepository(o[1]); @@ -2327,7 +2491,7 @@ api.ListBitbucketServerRepositoriesResponse final o = api.ListBitbucketServerRepositoriesResponse(); buildCounterListBitbucketServerRepositoriesResponse++; if (buildCounterListBitbucketServerRepositoriesResponse < 3) { - o.bitbucketServerRepositories = buildUnnamed35(); + o.bitbucketServerRepositories = buildUnnamed37(); o.nextPageToken = 'foo'; } buildCounterListBitbucketServerRepositoriesResponse--; @@ -2338,7 +2502,7 @@ void checkListBitbucketServerRepositoriesResponse( api.ListBitbucketServerRepositoriesResponse o) { buildCounterListBitbucketServerRepositoriesResponse++; if (buildCounterListBitbucketServerRepositoriesResponse < 3) { - checkUnnamed35(o.bitbucketServerRepositories!); + checkUnnamed37(o.bitbucketServerRepositories!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2347,12 +2511,12 @@ void checkListBitbucketServerRepositoriesResponse( buildCounterListBitbucketServerRepositoriesResponse--; } -core.List buildUnnamed36() => [ +core.List buildUnnamed38() => [ buildBuildTrigger(), buildBuildTrigger(), ]; -void checkUnnamed36(core.List o) { +void checkUnnamed38(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBuildTrigger(o[0]); checkBuildTrigger(o[1]); @@ -2364,7 +2528,7 @@ api.ListBuildTriggersResponse buildListBuildTriggersResponse() { buildCounterListBuildTriggersResponse++; if (buildCounterListBuildTriggersResponse < 3) { o.nextPageToken = 'foo'; - o.triggers = buildUnnamed36(); + o.triggers = buildUnnamed38(); } buildCounterListBuildTriggersResponse--; return o; @@ -2377,17 +2541,17 @@ void checkListBuildTriggersResponse(api.ListBuildTriggersResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed36(o.triggers!); + checkUnnamed38(o.triggers!); } buildCounterListBuildTriggersResponse--; } -core.List buildUnnamed37() => [ +core.List buildUnnamed39() => [ buildBuild(), buildBuild(), ]; -void checkUnnamed37(core.List o) { +void checkUnnamed39(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBuild(o[0]); checkBuild(o[1]); @@ -2398,7 +2562,7 @@ api.ListBuildsResponse buildListBuildsResponse() { final o = api.ListBuildsResponse(); buildCounterListBuildsResponse++; if (buildCounterListBuildsResponse < 3) { - o.builds = buildUnnamed37(); + o.builds = buildUnnamed39(); o.nextPageToken = 'foo'; } buildCounterListBuildsResponse--; @@ -2408,7 +2572,7 @@ api.ListBuildsResponse buildListBuildsResponse() { void checkListBuildsResponse(api.ListBuildsResponse o) { buildCounterListBuildsResponse++; if (buildCounterListBuildsResponse < 3) { - checkUnnamed37(o.builds!); + checkUnnamed39(o.builds!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2417,12 +2581,12 @@ void checkListBuildsResponse(api.ListBuildsResponse o) { buildCounterListBuildsResponse--; } -core.List buildUnnamed38() => [ +core.List buildUnnamed40() => [ buildGitLabConfig(), buildGitLabConfig(), ]; -void checkUnnamed38(core.List o) { +void checkUnnamed40(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGitLabConfig(o[0]); checkGitLabConfig(o[1]); @@ -2433,7 +2597,7 @@ api.ListGitLabConfigsResponse buildListGitLabConfigsResponse() { final o = api.ListGitLabConfigsResponse(); buildCounterListGitLabConfigsResponse++; if (buildCounterListGitLabConfigsResponse < 3) { - o.gitlabConfigs = buildUnnamed38(); + o.gitlabConfigs = buildUnnamed40(); o.nextPageToken = 'foo'; } buildCounterListGitLabConfigsResponse--; @@ -2443,7 +2607,7 @@ api.ListGitLabConfigsResponse buildListGitLabConfigsResponse() { void checkListGitLabConfigsResponse(api.ListGitLabConfigsResponse o) { buildCounterListGitLabConfigsResponse++; if (buildCounterListGitLabConfigsResponse < 3) { - checkUnnamed38(o.gitlabConfigs!); + checkUnnamed40(o.gitlabConfigs!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2452,12 +2616,12 @@ void checkListGitLabConfigsResponse(api.ListGitLabConfigsResponse o) { buildCounterListGitLabConfigsResponse--; } -core.List buildUnnamed39() => [ +core.List buildUnnamed41() => [ buildGitLabRepository(), buildGitLabRepository(), ]; -void checkUnnamed39(core.List o) { +void checkUnnamed41(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGitLabRepository(o[0]); checkGitLabRepository(o[1]); @@ -2468,7 +2632,7 @@ api.ListGitLabRepositoriesResponse buildListGitLabRepositoriesResponse() { final o = api.ListGitLabRepositoriesResponse(); buildCounterListGitLabRepositoriesResponse++; if (buildCounterListGitLabRepositoriesResponse < 3) { - o.gitlabRepositories = buildUnnamed39(); + o.gitlabRepositories = buildUnnamed41(); o.nextPageToken = 'foo'; } buildCounterListGitLabRepositoriesResponse--; @@ -2478,7 +2642,7 @@ api.ListGitLabRepositoriesResponse buildListGitLabRepositoriesResponse() { void checkListGitLabRepositoriesResponse(api.ListGitLabRepositoriesResponse o) { buildCounterListGitLabRepositoriesResponse++; if (buildCounterListGitLabRepositoriesResponse < 3) { - checkUnnamed39(o.gitlabRepositories!); + checkUnnamed41(o.gitlabRepositories!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2487,12 +2651,12 @@ void checkListGitLabRepositoriesResponse(api.ListGitLabRepositoriesResponse o) { buildCounterListGitLabRepositoriesResponse--; } -core.List buildUnnamed40() => [ +core.List buildUnnamed42() => [ buildGitHubEnterpriseConfig(), buildGitHubEnterpriseConfig(), ]; -void checkUnnamed40(core.List o) { +void checkUnnamed42(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGitHubEnterpriseConfig(o[0]); checkGitHubEnterpriseConfig(o[1]); @@ -2504,7 +2668,7 @@ api.ListGithubEnterpriseConfigsResponse final o = api.ListGithubEnterpriseConfigsResponse(); buildCounterListGithubEnterpriseConfigsResponse++; if (buildCounterListGithubEnterpriseConfigsResponse < 3) { - o.configs = buildUnnamed40(); + o.configs = buildUnnamed42(); } buildCounterListGithubEnterpriseConfigsResponse--; return o; @@ -2514,17 +2678,17 @@ void checkListGithubEnterpriseConfigsResponse( api.ListGithubEnterpriseConfigsResponse o) { buildCounterListGithubEnterpriseConfigsResponse++; if (buildCounterListGithubEnterpriseConfigsResponse < 3) { - checkUnnamed40(o.configs!); + checkUnnamed42(o.configs!); } buildCounterListGithubEnterpriseConfigsResponse--; } -core.List buildUnnamed41() => [ +core.List buildUnnamed43() => [ buildWorkerPool(), buildWorkerPool(), ]; -void checkUnnamed41(core.List o) { +void checkUnnamed43(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWorkerPool(o[0]); checkWorkerPool(o[1]); @@ -2536,7 +2700,7 @@ api.ListWorkerPoolsResponse buildListWorkerPoolsResponse() { buildCounterListWorkerPoolsResponse++; if (buildCounterListWorkerPoolsResponse < 3) { o.nextPageToken = 'foo'; - o.workerPools = buildUnnamed41(); + o.workerPools = buildUnnamed43(); } buildCounterListWorkerPoolsResponse--; return o; @@ -2549,7 +2713,7 @@ void checkListWorkerPoolsResponse(api.ListWorkerPoolsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed41(o.workerPools!); + checkUnnamed43(o.workerPools!); } buildCounterListWorkerPoolsResponse--; } @@ -2655,7 +2819,7 @@ void checkNpmPackage(api.NpmPackage o) { buildCounterNpmPackage--; } -core.Map buildUnnamed42() => { +core.Map buildUnnamed44() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2668,7 +2832,7 @@ core.Map buildUnnamed42() => { }, }; -void checkUnnamed42(core.Map o) { +void checkUnnamed44(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -2700,7 +2864,7 @@ void checkUnnamed42(core.Map o) { ); } -core.Map buildUnnamed43() => { +core.Map buildUnnamed45() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2713,7 +2877,7 @@ core.Map buildUnnamed43() => { }, }; -void checkUnnamed43(core.Map o) { +void checkUnnamed45(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -2752,9 +2916,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed42(); + o.metadata = buildUnnamed44(); o.name = 'foo'; - o.response = buildUnnamed43(); + o.response = buildUnnamed45(); } buildCounterOperation--; return o; @@ -2765,12 +2929,12 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed42(o.metadata!); + checkUnnamed44(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed43(o.response!); + checkUnnamed45(o.response!); } buildCounterOperation--; } @@ -2941,12 +3105,12 @@ void checkPushFilter(api.PushFilter o) { buildCounterPushFilter--; } -core.List buildUnnamed44() => [ +core.List buildUnnamed46() => [ 'foo', 'foo', ]; -void checkUnnamed44(core.List o) { +void checkUnnamed46(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2963,7 +3127,7 @@ api.PythonPackage buildPythonPackage() { final o = api.PythonPackage(); buildCounterPythonPackage++; if (buildCounterPythonPackage < 3) { - o.paths = buildUnnamed44(); + o.paths = buildUnnamed46(); o.repository = 'foo'; } buildCounterPythonPackage--; @@ -2973,7 +3137,7 @@ api.PythonPackage buildPythonPackage() { void checkPythonPackage(api.PythonPackage o) { buildCounterPythonPackage++; if (buildCounterPythonPackage < 3) { - checkUnnamed44(o.paths!); + checkUnnamed46(o.paths!); unittest.expect( o.repository!, unittest.equals('foo'), @@ -3039,12 +3203,12 @@ void checkRemoveGitLabConnectedRepositoryRequest( buildCounterRemoveGitLabConnectedRepositoryRequest--; } -core.Map buildUnnamed45() => { +core.Map buildUnnamed47() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed45(core.Map o) { +void checkUnnamed47(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3067,7 +3231,7 @@ api.RepoSource buildRepoSource() { o.invertRegex = true; o.projectId = 'foo'; o.repoName = 'foo'; - o.substitutions = buildUnnamed45(); + o.substitutions = buildUnnamed47(); o.tagName = 'foo'; } buildCounterRepoSource--; @@ -3098,7 +3262,7 @@ void checkRepoSource(api.RepoSource o) { o.repoName!, unittest.equals('foo'), ); - checkUnnamed45(o.substitutions!); + checkUnnamed47(o.substitutions!); unittest.expect( o.tagName!, unittest.equals('foo'), @@ -3138,12 +3302,12 @@ void checkRepositoryEventConfig(api.RepositoryEventConfig o) { buildCounterRepositoryEventConfig--; } -core.List buildUnnamed46() => [ +core.List buildUnnamed48() => [ 'foo', 'foo', ]; -void checkUnnamed46(core.List o) { +void checkUnnamed48(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3155,12 +3319,12 @@ void checkUnnamed46(core.List o) { ); } -core.List buildUnnamed47() => [ +core.List buildUnnamed49() => [ 'foo', 'foo', ]; -void checkUnnamed47(core.List o) { +void checkUnnamed49(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3172,45 +3336,56 @@ void checkUnnamed47(core.List o) { ); } -core.List buildUnnamed48() => [ +core.List buildUnnamed50() => [ + buildUploadedGoModule(), + buildUploadedGoModule(), + ]; + +void checkUnnamed50(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkUploadedGoModule(o[0]); + checkUploadedGoModule(o[1]); +} + +core.List buildUnnamed51() => [ buildBuiltImage(), buildBuiltImage(), ]; -void checkUnnamed48(core.List o) { +void checkUnnamed51(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBuiltImage(o[0]); checkBuiltImage(o[1]); } -core.List buildUnnamed49() => [ +core.List buildUnnamed52() => [ buildUploadedMavenArtifact(), buildUploadedMavenArtifact(), ]; -void checkUnnamed49(core.List o) { +void checkUnnamed52(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUploadedMavenArtifact(o[0]); checkUploadedMavenArtifact(o[1]); } -core.List buildUnnamed50() => [ +core.List buildUnnamed53() => [ buildUploadedNpmPackage(), buildUploadedNpmPackage(), ]; -void checkUnnamed50(core.List o) { +void checkUnnamed53(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUploadedNpmPackage(o[0]); checkUploadedNpmPackage(o[1]); } -core.List buildUnnamed51() => [ +core.List buildUnnamed54() => [ buildUploadedPythonPackage(), buildUploadedPythonPackage(), ]; -void checkUnnamed51(core.List o) { +void checkUnnamed54(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUploadedPythonPackage(o[0]); checkUploadedPythonPackage(o[1]); @@ -3223,13 +3398,14 @@ api.Results buildResults() { if (buildCounterResults < 3) { o.artifactManifest = 'foo'; o.artifactTiming = buildTimeSpan(); - o.buildStepImages = buildUnnamed46(); - o.buildStepOutputs = buildUnnamed47(); - o.images = buildUnnamed48(); - o.mavenArtifacts = buildUnnamed49(); - o.npmPackages = buildUnnamed50(); + o.buildStepImages = buildUnnamed48(); + o.buildStepOutputs = buildUnnamed49(); + o.goModules = buildUnnamed50(); + o.images = buildUnnamed51(); + o.mavenArtifacts = buildUnnamed52(); + o.npmPackages = buildUnnamed53(); o.numArtifacts = 'foo'; - o.pythonPackages = buildUnnamed51(); + o.pythonPackages = buildUnnamed54(); } buildCounterResults--; return o; @@ -3243,16 +3419,17 @@ void checkResults(api.Results o) { unittest.equals('foo'), ); checkTimeSpan(o.artifactTiming!); - checkUnnamed46(o.buildStepImages!); - checkUnnamed47(o.buildStepOutputs!); - checkUnnamed48(o.images!); - checkUnnamed49(o.mavenArtifacts!); - checkUnnamed50(o.npmPackages!); + checkUnnamed48(o.buildStepImages!); + checkUnnamed49(o.buildStepOutputs!); + checkUnnamed50(o.goModules!); + checkUnnamed51(o.images!); + checkUnnamed52(o.mavenArtifacts!); + checkUnnamed53(o.npmPackages!); unittest.expect( o.numArtifacts!, unittest.equals('foo'), ); - checkUnnamed51(o.pythonPackages!); + checkUnnamed54(o.pythonPackages!); } buildCounterResults--; } @@ -3318,12 +3495,12 @@ void checkRunBuildTriggerRequest(api.RunBuildTriggerRequest o) { buildCounterRunBuildTriggerRequest--; } -core.Map buildUnnamed52() => { +core.Map buildUnnamed55() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed52(core.Map o) { +void checkUnnamed55(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3341,7 +3518,7 @@ api.Secret buildSecret() { buildCounterSecret++; if (buildCounterSecret < 3) { o.kmsKeyName = 'foo'; - o.secretEnv = buildUnnamed52(); + o.secretEnv = buildUnnamed55(); } buildCounterSecret--; return o; @@ -3354,7 +3531,7 @@ void checkSecret(api.Secret o) { o.kmsKeyName!, unittest.equals('foo'), ); - checkUnnamed52(o.secretEnv!); + checkUnnamed55(o.secretEnv!); } buildCounterSecret--; } @@ -3386,23 +3563,23 @@ void checkSecretManagerSecret(api.SecretManagerSecret o) { buildCounterSecretManagerSecret--; } -core.List buildUnnamed53() => [ +core.List buildUnnamed56() => [ buildInlineSecret(), buildInlineSecret(), ]; -void checkUnnamed53(core.List o) { +void checkUnnamed56(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInlineSecret(o[0]); checkInlineSecret(o[1]); } -core.List buildUnnamed54() => [ +core.List buildUnnamed57() => [ buildSecretManagerSecret(), buildSecretManagerSecret(), ]; -void checkUnnamed54(core.List o) { +void checkUnnamed57(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSecretManagerSecret(o[0]); checkSecretManagerSecret(o[1]); @@ -3413,8 +3590,8 @@ api.Secrets buildSecrets() { final o = api.Secrets(); buildCounterSecrets++; if (buildCounterSecrets < 3) { - o.inline = buildUnnamed53(); - o.secretManager = buildUnnamed54(); + o.inline = buildUnnamed56(); + o.secretManager = buildUnnamed57(); } buildCounterSecrets--; return o; @@ -3423,8 +3600,8 @@ api.Secrets buildSecrets() { void checkSecrets(api.Secrets o) { buildCounterSecrets++; if (buildCounterSecrets < 3) { - checkUnnamed53(o.inline!); - checkUnnamed54(o.secretManager!); + checkUnnamed56(o.inline!); + checkUnnamed57(o.secretManager!); } buildCounterSecrets--; } @@ -3480,12 +3657,12 @@ void checkSource(api.Source o) { buildCounterSource--; } -core.Map buildUnnamed55() => { +core.Map buildUnnamed58() => { 'x': buildFileHashes(), 'y': buildFileHashes(), }; -void checkUnnamed55(core.Map o) { +void checkUnnamed58(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkFileHashes(o['x']!); checkFileHashes(o['y']!); @@ -3496,7 +3673,7 @@ api.SourceProvenance buildSourceProvenance() { final o = api.SourceProvenance(); buildCounterSourceProvenance++; if (buildCounterSourceProvenance < 3) { - o.fileHashes = buildUnnamed55(); + o.fileHashes = buildUnnamed58(); o.resolvedConnectedRepository = buildConnectedRepository(); o.resolvedGitSource = buildGitSource(); o.resolvedRepoSource = buildRepoSource(); @@ -3510,7 +3687,7 @@ api.SourceProvenance buildSourceProvenance() { void checkSourceProvenance(api.SourceProvenance o) { buildCounterSourceProvenance++; if (buildCounterSourceProvenance < 3) { - checkUnnamed55(o.fileHashes!); + checkUnnamed58(o.fileHashes!); checkConnectedRepository(o.resolvedConnectedRepository!); checkGitSource(o.resolvedGitSource!); checkRepoSource(o.resolvedRepoSource!); @@ -3520,7 +3697,7 @@ void checkSourceProvenance(api.SourceProvenance o) { buildCounterSourceProvenance--; } -core.Map buildUnnamed56() => { +core.Map buildUnnamed59() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3533,7 +3710,7 @@ core.Map buildUnnamed56() => { }, }; -void checkUnnamed56(core.Map o) { +void checkUnnamed59(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -3565,15 +3742,15 @@ void checkUnnamed56(core.Map o) { ); } -core.List> buildUnnamed57() => [ - buildUnnamed56(), - buildUnnamed56(), +core.List> buildUnnamed60() => [ + buildUnnamed59(), + buildUnnamed59(), ]; -void checkUnnamed57(core.List> o) { +void checkUnnamed60(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed56(o[0]); - checkUnnamed56(o[1]); + checkUnnamed59(o[0]); + checkUnnamed59(o[1]); } core.int buildCounterStatus = 0; @@ -3582,7 +3759,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed57(); + o.details = buildUnnamed60(); o.message = 'foo'; } buildCounterStatus--; @@ -3596,7 +3773,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed57(o.details!); + checkUnnamed60(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -3701,6 +3878,32 @@ void checkTimeSpan(api.TimeSpan o) { buildCounterTimeSpan--; } +core.int buildCounterUploadedGoModule = 0; +api.UploadedGoModule buildUploadedGoModule() { + final o = api.UploadedGoModule(); + buildCounterUploadedGoModule++; + if (buildCounterUploadedGoModule < 3) { + o.fileHashes = buildFileHashes(); + o.pushTiming = buildTimeSpan(); + o.uri = 'foo'; + } + buildCounterUploadedGoModule--; + return o; +} + +void checkUploadedGoModule(api.UploadedGoModule o) { + buildCounterUploadedGoModule++; + if (buildCounterUploadedGoModule < 3) { + checkFileHashes(o.fileHashes!); + checkTimeSpan(o.pushTiming!); + unittest.expect( + o.uri!, + unittest.equals('foo'), + ); + } + buildCounterUploadedGoModule--; +} + core.int buildCounterUploadedMavenArtifact = 0; api.UploadedMavenArtifact buildUploadedMavenArtifact() { final o = api.UploadedMavenArtifact(); @@ -3887,12 +4090,12 @@ void checkWorkerConfig(api.WorkerConfig o) { buildCounterWorkerConfig--; } -core.Map buildUnnamed58() => { +core.Map buildUnnamed61() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed58(core.Map o) { +void checkUnnamed61(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3909,7 +4112,7 @@ api.WorkerPool buildWorkerPool() { final o = api.WorkerPool(); buildCounterWorkerPool++; if (buildCounterWorkerPool < 3) { - o.annotations = buildUnnamed58(); + o.annotations = buildUnnamed61(); o.createTime = 'foo'; o.deleteTime = 'foo'; o.displayName = 'foo'; @@ -3927,7 +4130,7 @@ api.WorkerPool buildWorkerPool() { void checkWorkerPool(api.WorkerPool o) { buildCounterWorkerPool++; if (buildCounterWorkerPool < 3) { - checkUnnamed58(o.annotations!); + checkUnnamed61(o.annotations!); unittest.expect( o.createTime!, unittest.equals('foo'), @@ -4220,6 +4423,16 @@ void main() { }); }); + unittest.group('obj-schema-Dependency', () { + unittest.test('to-json--from-json', () async { + final o = buildDependency(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Dependency.fromJson(oJson as core.Map); + checkDependency(od); + }); + }); + unittest.group('obj-schema-DeveloperConnectConfig', () { unittest.test('to-json--from-json', () async { final o = buildDeveloperConnectConfig(); @@ -4400,6 +4613,36 @@ void main() { }); }); + unittest.group('obj-schema-GitSourceDependency', () { + unittest.test('to-json--from-json', () async { + final o = buildGitSourceDependency(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GitSourceDependency.fromJson( + oJson as core.Map); + checkGitSourceDependency(od); + }); + }); + + unittest.group('obj-schema-GitSourceRepository', () { + unittest.test('to-json--from-json', () async { + final o = buildGitSourceRepository(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GitSourceRepository.fromJson( + oJson as core.Map); + checkGitSourceRepository(od); + }); + }); + + unittest.group('obj-schema-GoModule', () { + unittest.test('to-json--from-json', () async { + final o = buildGoModule(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.GoModule.fromJson(oJson as core.Map); + checkGoModule(od); + }); + }); + unittest.group('obj-schema-Hash', () { unittest.test('to-json--from-json', () async { final o = buildHash(); @@ -4811,6 +5054,16 @@ void main() { }); }); + unittest.group('obj-schema-UploadedGoModule', () { + unittest.test('to-json--from-json', () async { + final o = buildUploadedGoModule(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.UploadedGoModule.fromJson( + oJson as core.Map); + checkUploadedGoModule(od); + }); + }); + unittest.group('obj-schema-UploadedMavenArtifact', () { unittest.test('to-json--from-json', () async { final o = buildUploadedMavenArtifact(); diff --git a/generated/googleapis/test/cloudbuild/v2_test.dart b/generated/googleapis/test/cloudbuild/v2_test.dart index 4749ef252..89327bb1d 100644 --- a/generated/googleapis/test/cloudbuild/v2_test.dart +++ b/generated/googleapis/test/cloudbuild/v2_test.dart @@ -873,6 +873,23 @@ void checkUnnamed9(core.List o) { checkConnection(o[1]); } +core.List buildUnnamed10() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed10(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + core.int buildCounterListConnectionsResponse = 0; api.ListConnectionsResponse buildListConnectionsResponse() { final o = api.ListConnectionsResponse(); @@ -880,6 +897,7 @@ api.ListConnectionsResponse buildListConnectionsResponse() { if (buildCounterListConnectionsResponse < 3) { o.connections = buildUnnamed9(); o.nextPageToken = 'foo'; + o.unreachable = buildUnnamed10(); } buildCounterListConnectionsResponse--; return o; @@ -893,16 +911,17 @@ void checkListConnectionsResponse(api.ListConnectionsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); + checkUnnamed10(o.unreachable!); } buildCounterListConnectionsResponse--; } -core.List buildUnnamed10() => [ +core.List buildUnnamed11() => [ buildLocation(), buildLocation(), ]; -void checkUnnamed10(core.List o) { +void checkUnnamed11(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLocation(o[0]); checkLocation(o[1]); @@ -913,7 +932,7 @@ api.ListLocationsResponse buildListLocationsResponse() { final o = api.ListLocationsResponse(); buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - o.locations = buildUnnamed10(); + o.locations = buildUnnamed11(); o.nextPageToken = 'foo'; } buildCounterListLocationsResponse--; @@ -923,7 +942,7 @@ api.ListLocationsResponse buildListLocationsResponse() { void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - checkUnnamed10(o.locations!); + checkUnnamed11(o.locations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -932,24 +951,42 @@ void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse--; } -core.List buildUnnamed11() => [ +core.List buildUnnamed12() => [ buildRepository(), buildRepository(), ]; -void checkUnnamed11(core.List o) { +void checkUnnamed12(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRepository(o[0]); checkRepository(o[1]); } +core.List buildUnnamed13() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed13(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + core.int buildCounterListRepositoriesResponse = 0; api.ListRepositoriesResponse buildListRepositoriesResponse() { final o = api.ListRepositoriesResponse(); buildCounterListRepositoriesResponse++; if (buildCounterListRepositoriesResponse < 3) { o.nextPageToken = 'foo'; - o.repositories = buildUnnamed11(); + o.repositories = buildUnnamed12(); + o.unreachable = buildUnnamed13(); } buildCounterListRepositoriesResponse--; return o; @@ -962,17 +999,18 @@ void checkListRepositoriesResponse(api.ListRepositoriesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed11(o.repositories!); + checkUnnamed12(o.repositories!); + checkUnnamed13(o.unreachable!); } buildCounterListRepositoriesResponse--; } -core.Map buildUnnamed12() => { +core.Map buildUnnamed14() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed12(core.Map o) { +void checkUnnamed14(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -984,7 +1022,7 @@ void checkUnnamed12(core.Map o) { ); } -core.Map buildUnnamed13() => { +core.Map buildUnnamed15() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -997,7 +1035,7 @@ core.Map buildUnnamed13() => { }, }; -void checkUnnamed13(core.Map o) { +void checkUnnamed15(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -1035,9 +1073,9 @@ api.Location buildLocation() { buildCounterLocation++; if (buildCounterLocation < 3) { o.displayName = 'foo'; - o.labels = buildUnnamed12(); + o.labels = buildUnnamed14(); o.locationId = 'foo'; - o.metadata = buildUnnamed13(); + o.metadata = buildUnnamed15(); o.name = 'foo'; } buildCounterLocation--; @@ -1051,12 +1089,12 @@ void checkLocation(api.Location o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed12(o.labels!); + checkUnnamed14(o.labels!); unittest.expect( o.locationId!, unittest.equals('foo'), ); - checkUnnamed13(o.metadata!); + checkUnnamed15(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), @@ -1092,7 +1130,7 @@ void checkOAuthCredential(api.OAuthCredential o) { buildCounterOAuthCredential--; } -core.Map buildUnnamed14() => { +core.Map buildUnnamed16() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1105,7 +1143,7 @@ core.Map buildUnnamed14() => { }, }; -void checkUnnamed14(core.Map o) { +void checkUnnamed16(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -1137,7 +1175,7 @@ void checkUnnamed14(core.Map o) { ); } -core.Map buildUnnamed15() => { +core.Map buildUnnamed17() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1150,7 +1188,7 @@ core.Map buildUnnamed15() => { }, }; -void checkUnnamed15(core.Map o) { +void checkUnnamed17(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -1189,9 +1227,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed14(); + o.metadata = buildUnnamed16(); o.name = 'foo'; - o.response = buildUnnamed15(); + o.response = buildUnnamed17(); } buildCounterOperation--; return o; @@ -1202,33 +1240,33 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed14(o.metadata!); + checkUnnamed16(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed15(o.response!); + checkUnnamed17(o.response!); } buildCounterOperation--; } -core.List buildUnnamed16() => [ +core.List buildUnnamed18() => [ buildAuditConfig(), buildAuditConfig(), ]; -void checkUnnamed16(core.List o) { +void checkUnnamed18(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuditConfig(o[0]); checkAuditConfig(o[1]); } -core.List buildUnnamed17() => [ +core.List buildUnnamed19() => [ buildBinding(), buildBinding(), ]; -void checkUnnamed17(core.List o) { +void checkUnnamed19(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBinding(o[0]); checkBinding(o[1]); @@ -1239,8 +1277,8 @@ api.Policy buildPolicy() { final o = api.Policy(); buildCounterPolicy++; if (buildCounterPolicy < 3) { - o.auditConfigs = buildUnnamed16(); - o.bindings = buildUnnamed17(); + o.auditConfigs = buildUnnamed18(); + o.bindings = buildUnnamed19(); o.etag = 'foo'; o.version = 42; } @@ -1251,8 +1289,8 @@ api.Policy buildPolicy() { void checkPolicy(api.Policy o) { buildCounterPolicy++; if (buildCounterPolicy < 3) { - checkUnnamed16(o.auditConfigs!); - checkUnnamed17(o.bindings!); + checkUnnamed18(o.auditConfigs!); + checkUnnamed19(o.bindings!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -1265,12 +1303,12 @@ void checkPolicy(api.Policy o) { buildCounterPolicy--; } -core.Map buildUnnamed18() => { +core.Map buildUnnamed20() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed18(core.Map o) { +void checkUnnamed20(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1287,7 +1325,7 @@ api.Repository buildRepository() { final o = api.Repository(); buildCounterRepository++; if (buildCounterRepository < 3) { - o.annotations = buildUnnamed18(); + o.annotations = buildUnnamed20(); o.createTime = 'foo'; o.etag = 'foo'; o.name = 'foo'; @@ -1302,7 +1340,7 @@ api.Repository buildRepository() { void checkRepository(api.Repository o) { buildCounterRepository++; if (buildCounterRepository < 3) { - checkUnnamed18(o.annotations!); + checkUnnamed20(o.annotations!); unittest.expect( o.createTime!, unittest.equals('foo'), @@ -1355,7 +1393,7 @@ void checkSetIamPolicyRequest(api.SetIamPolicyRequest o) { buildCounterSetIamPolicyRequest--; } -core.Map buildUnnamed19() => { +core.Map buildUnnamed21() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1368,7 +1406,7 @@ core.Map buildUnnamed19() => { }, }; -void checkUnnamed19(core.Map o) { +void checkUnnamed21(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted9 = (o['x']!) as core.Map; unittest.expect(casted9, unittest.hasLength(3)); @@ -1400,15 +1438,15 @@ void checkUnnamed19(core.Map o) { ); } -core.List> buildUnnamed20() => [ - buildUnnamed19(), - buildUnnamed19(), +core.List> buildUnnamed22() => [ + buildUnnamed21(), + buildUnnamed21(), ]; -void checkUnnamed20(core.List> o) { +void checkUnnamed22(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed19(o[0]); - checkUnnamed19(o[1]); + checkUnnamed21(o[0]); + checkUnnamed21(o[1]); } core.int buildCounterStatus = 0; @@ -1417,7 +1455,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed20(); + o.details = buildUnnamed22(); o.message = 'foo'; } buildCounterStatus--; @@ -1431,7 +1469,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed20(o.details!); + checkUnnamed22(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -1440,12 +1478,12 @@ void checkStatus(api.Status o) { buildCounterStatus--; } -core.List buildUnnamed21() => [ +core.List buildUnnamed23() => [ 'foo', 'foo', ]; -void checkUnnamed21(core.List o) { +void checkUnnamed23(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1462,7 +1500,7 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { final o = api.TestIamPermissionsRequest(); buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - o.permissions = buildUnnamed21(); + o.permissions = buildUnnamed23(); } buildCounterTestIamPermissionsRequest--; return o; @@ -1471,17 +1509,17 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { void checkTestIamPermissionsRequest(api.TestIamPermissionsRequest o) { buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - checkUnnamed21(o.permissions!); + checkUnnamed23(o.permissions!); } buildCounterTestIamPermissionsRequest--; } -core.List buildUnnamed22() => [ +core.List buildUnnamed24() => [ 'foo', 'foo', ]; -void checkUnnamed22(core.List o) { +void checkUnnamed24(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1498,7 +1536,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { final o = api.TestIamPermissionsResponse(); buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - o.permissions = buildUnnamed22(); + o.permissions = buildUnnamed24(); } buildCounterTestIamPermissionsResponse--; return o; @@ -1507,7 +1545,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { void checkTestIamPermissionsResponse(api.TestIamPermissionsResponse o) { buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - checkUnnamed22(o.permissions!); + checkUnnamed24(o.permissions!); } buildCounterTestIamPermissionsResponse--; } @@ -2338,6 +2376,7 @@ void main() { final arg_parent = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -2379,6 +2418,10 @@ void main() { queryMap['pageToken']!.first, unittest.equals(arg_pageToken), ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -2393,6 +2436,7 @@ void main() { final response = await res.list(arg_parent, pageSize: arg_pageSize, pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); checkListConnectionsResponse(response as api.ListConnectionsResponse); }); @@ -3096,6 +3140,7 @@ void main() { final arg_filter = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -3141,6 +3186,10 @@ void main() { queryMap['pageToken']!.first, unittest.equals(arg_pageToken), ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -3156,6 +3205,7 @@ void main() { filter: arg_filter, pageSize: arg_pageSize, pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); checkListRepositoriesResponse(response as api.ListRepositoriesResponse); }); diff --git a/generated/googleapis/test/clouddeploy/v1_test.dart b/generated/googleapis/test/clouddeploy/v1_test.dart index 1c6e3c866..66e604b2d 100644 --- a/generated/googleapis/test/clouddeploy/v1_test.dart +++ b/generated/googleapis/test/clouddeploy/v1_test.dart @@ -2223,6 +2223,7 @@ api.GkeCluster buildGkeCluster() { buildCounterGkeCluster++; if (buildCounterGkeCluster < 3) { o.cluster = 'foo'; + o.dnsEndpoint = true; o.internalIp = true; o.proxyUrl = 'foo'; } @@ -2237,6 +2238,7 @@ void checkGkeCluster(api.GkeCluster o) { o.cluster!, unittest.equals('foo'), ); + unittest.expect(o.dnsEndpoint!, unittest.isTrue); unittest.expect(o.internalIp!, unittest.isTrue); unittest.expect( o.proxyUrl!, @@ -10923,6 +10925,65 @@ void main() { checkDeployPolicy(response as api.DeployPolicy); }); + unittest.test('method--getIamPolicy', () async { + final mock = HttpServerMock(); + final res = api.CloudDeployApi(mock).projects.locations.deployPolicies; + final arg_resource = 'foo'; + final arg_options_requestedPolicyVersion = 42; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + core.int.parse(queryMap['options.requestedPolicyVersion']!.first), + unittest.equals(arg_options_requestedPolicyVersion), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildPolicy()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.getIamPolicy(arg_resource, + options_requestedPolicyVersion: arg_options_requestedPolicyVersion, + $fields: arg_$fields); + checkPolicy(response as api.Policy); + }); + unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.CloudDeployApi(mock).projects.locations.deployPolicies; @@ -11082,6 +11143,64 @@ void main() { $fields: arg_$fields); checkOperation(response as api.Operation); }); + + unittest.test('method--setIamPolicy', () async { + final mock = HttpServerMock(); + final res = api.CloudDeployApi(mock).projects.locations.deployPolicies; + final arg_request = buildSetIamPolicyRequest(); + final arg_resource = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.SetIamPolicyRequest.fromJson( + json as core.Map); + checkSetIamPolicyRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildPolicy()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.setIamPolicy(arg_request, arg_resource, + $fields: arg_$fields); + checkPolicy(response as api.Policy); + }); }); unittest.group('resource-ProjectsLocationsOperationsResource', () { diff --git a/generated/googleapis/test/cloudfunctions/v2_test.dart b/generated/googleapis/test/cloudfunctions/v2_test.dart index e6d6d561a..0e85fc404 100644 --- a/generated/googleapis/test/cloudfunctions/v2_test.dart +++ b/generated/googleapis/test/cloudfunctions/v2_test.dart @@ -306,6 +306,21 @@ void checkDate(api.Date o) { buildCounterDate--; } +core.int buildCounterDetachFunctionRequest = 0; +api.DetachFunctionRequest buildDetachFunctionRequest() { + final o = api.DetachFunctionRequest(); + buildCounterDetachFunctionRequest++; + if (buildCounterDetachFunctionRequest < 3) {} + buildCounterDetachFunctionRequest--; + return o; +} + +void checkDetachFunctionRequest(api.DetachFunctionRequest o) { + buildCounterDetachFunctionRequest++; + if (buildCounterDetachFunctionRequest < 3) {} + buildCounterDetachFunctionRequest--; +} + core.int buildCounterEventFilter = 0; api.EventFilter buildEventFilter() { final o = api.EventFilter(); @@ -486,6 +501,7 @@ api.Function_ buildFunction_() { o.kmsKeyName = 'foo'; o.labels = buildUnnamed5(); o.name = 'foo'; + o.satisfiesPzi = true; o.satisfiesPzs = true; o.serviceConfig = buildServiceConfig(); o.state = 'foo'; @@ -524,6 +540,7 @@ void checkFunction_(api.Function_ o) { o.name!, unittest.equals('foo'), ); + unittest.expect(o.satisfiesPzi!, unittest.isTrue); unittest.expect(o.satisfiesPzs!, unittest.isTrue); checkServiceConfig(o.serviceConfig!); unittest.expect( @@ -1897,6 +1914,16 @@ void main() { }); }); + unittest.group('obj-schema-DetachFunctionRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildDetachFunctionRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DetachFunctionRequest.fromJson( + oJson as core.Map); + checkDetachFunctionRequest(od); + }); + }); + unittest.group('obj-schema-EventFilter', () { unittest.test('to-json--from-json', () async { final o = buildEventFilter(); @@ -2542,6 +2569,64 @@ void main() { checkOperation(response as api.Operation); }); + unittest.test('method--detachFunction', () async { + final mock = HttpServerMock(); + final res = api.CloudFunctionsApi(mock).projects.locations.functions; + final arg_request = buildDetachFunctionRequest(); + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.DetachFunctionRequest.fromJson( + json as core.Map); + checkDetachFunctionRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v2/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.detachFunction(arg_request, arg_name, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + unittest.test('method--generateDownloadUrl', () async { final mock = HttpServerMock(); final res = api.CloudFunctionsApi(mock).projects.locations.functions; diff --git a/generated/googleapis/test/cloudkms/v1_test.dart b/generated/googleapis/test/cloudkms/v1_test.dart index 59283afb3..7c4cdb8cf 100644 --- a/generated/googleapis/test/cloudkms/v1_test.dart +++ b/generated/googleapis/test/cloudkms/v1_test.dart @@ -460,6 +460,33 @@ void checkCertificateChains(api.CertificateChains o) { buildCounterCertificateChains--; } +core.int buildCounterChecksummedData = 0; +api.ChecksummedData buildChecksummedData() { + final o = api.ChecksummedData(); + buildCounterChecksummedData++; + if (buildCounterChecksummedData < 3) { + o.crc32cChecksum = 'foo'; + o.data = 'foo'; + } + buildCounterChecksummedData--; + return o; +} + +void checkChecksummedData(api.ChecksummedData o) { + buildCounterChecksummedData++; + if (buildCounterChecksummedData < 3) { + unittest.expect( + o.crc32cChecksum!, + unittest.equals('foo'), + ); + unittest.expect( + o.data!, + unittest.equals('foo'), + ); + } + buildCounterChecksummedData--; +} + core.Map buildUnnamed7() => { 'x': 'foo', 'y': 'foo', @@ -1967,6 +1994,8 @@ api.PublicKey buildPublicKey() { o.pem = 'foo'; o.pemCrc32c = 'foo'; o.protectionLevel = 'foo'; + o.publicKey = buildChecksummedData(); + o.publicKeyFormat = 'foo'; } buildCounterPublicKey--; return o; @@ -1995,6 +2024,11 @@ void checkPublicKey(api.PublicKey o) { o.protectionLevel!, unittest.equals('foo'), ); + checkChecksummedData(o.publicKey!); + unittest.expect( + o.publicKeyFormat!, + unittest.equals('foo'), + ); } buildCounterPublicKey--; } @@ -2623,6 +2657,16 @@ void main() { }); }); + unittest.group('obj-schema-ChecksummedData', () { + unittest.test('to-json--from-json', () async { + final o = buildChecksummedData(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ChecksummedData.fromJson( + oJson as core.Map); + checkChecksummedData(od); + }); + }); + unittest.group('obj-schema-CryptoKey', () { unittest.test('to-json--from-json', () async { final o = buildCryptoKey(); @@ -5762,6 +5806,7 @@ void main() { .cryptoKeys .cryptoKeyVersions; final arg_name = 'foo'; + final arg_publicKeyFormat = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -5795,6 +5840,10 @@ void main() { ); } } + unittest.expect( + queryMap['publicKeyFormat']!.first, + unittest.equals(arg_publicKeyFormat), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -5806,7 +5855,8 @@ void main() { final resp = convert.json.encode(buildPublicKey()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getPublicKey(arg_name, $fields: arg_$fields); + final response = await res.getPublicKey(arg_name, + publicKeyFormat: arg_publicKeyFormat, $fields: arg_$fields); checkPublicKey(response as api.PublicKey); }); diff --git a/generated/googleapis/test/compute/v1_test.dart b/generated/googleapis/test/compute/v1_test.dart index 01fedc9b7..cbd178454 100644 --- a/generated/googleapis/test/compute/v1_test.dart +++ b/generated/googleapis/test/compute/v1_test.dart @@ -1259,6 +1259,30 @@ void checkAllocationAggregateReservationReservedResourceInfoAccelerator( buildCounterAllocationAggregateReservationReservedResourceInfoAccelerator--; } +core.int buildCounterAllocationReservationSharingPolicy = 0; +api.AllocationReservationSharingPolicy + buildAllocationReservationSharingPolicy() { + final o = api.AllocationReservationSharingPolicy(); + buildCounterAllocationReservationSharingPolicy++; + if (buildCounterAllocationReservationSharingPolicy < 3) { + o.serviceShareType = 'foo'; + } + buildCounterAllocationReservationSharingPolicy--; + return o; +} + +void checkAllocationReservationSharingPolicy( + api.AllocationReservationSharingPolicy o) { + buildCounterAllocationReservationSharingPolicy++; + if (buildCounterAllocationReservationSharingPolicy < 3) { + unittest.expect( + o.serviceShareType!, + unittest.equals('foo'), + ); + } + buildCounterAllocationReservationSharingPolicy--; +} + core.int buildCounterAllocationResourceStatus = 0; api.AllocationResourceStatus buildAllocationResourceStatus() { final o = api.AllocationResourceStatus(); @@ -1280,6 +1304,23 @@ void checkAllocationResourceStatus(api.AllocationResourceStatus o) { buildCounterAllocationResourceStatus--; } +core.Map buildUnnamed18() => { + 'x': 'foo', + 'y': 'foo', + }; + +void checkUnnamed18(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o['x']!, + unittest.equals('foo'), + ); + unittest.expect( + o['y']!, + unittest.equals('foo'), + ); +} + core.int buildCounterAllocationResourceStatusSpecificSKUAllocation = 0; api.AllocationResourceStatusSpecificSKUAllocation buildAllocationResourceStatusSpecificSKUAllocation() { @@ -1287,6 +1328,7 @@ api.AllocationResourceStatusSpecificSKUAllocation buildCounterAllocationResourceStatusSpecificSKUAllocation++; if (buildCounterAllocationResourceStatusSpecificSKUAllocation < 3) { o.sourceInstanceTemplateId = 'foo'; + o.utilizations = buildUnnamed18(); } buildCounterAllocationResourceStatusSpecificSKUAllocation--; return o; @@ -1300,6 +1342,7 @@ void checkAllocationResourceStatusSpecificSKUAllocation( o.sourceInstanceTemplateId!, unittest.equals('foo'), ); + checkUnnamed18(o.utilizations!); } buildCounterAllocationResourceStatusSpecificSKUAllocation--; } @@ -1339,12 +1382,12 @@ void checkAllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk buildCounterAllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk--; } -core.List buildUnnamed18() => [ +core.List buildUnnamed19() => [ buildAcceleratorConfig(), buildAcceleratorConfig(), ]; -void checkUnnamed18(core.List o) { +void checkUnnamed19(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAcceleratorConfig(o[0]); checkAcceleratorConfig(o[1]); @@ -1353,12 +1396,12 @@ void checkUnnamed18(core.List o) { core.List< api .AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk> - buildUnnamed19() => [ + buildUnnamed20() => [ buildAllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk(), buildAllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk(), ]; -void checkUnnamed19( +void checkUnnamed20( core.List< api .AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk> @@ -1378,8 +1421,8 @@ api.AllocationSpecificSKUAllocationReservedInstanceProperties buildCounterAllocationSpecificSKUAllocationReservedInstanceProperties++; if (buildCounterAllocationSpecificSKUAllocationReservedInstanceProperties < 3) { - o.guestAccelerators = buildUnnamed18(); - o.localSsds = buildUnnamed19(); + o.guestAccelerators = buildUnnamed19(); + o.localSsds = buildUnnamed20(); o.locationHint = 'foo'; o.machineType = 'foo'; o.minCpuPlatform = 'foo'; @@ -1393,8 +1436,8 @@ void checkAllocationSpecificSKUAllocationReservedInstanceProperties( buildCounterAllocationSpecificSKUAllocationReservedInstanceProperties++; if (buildCounterAllocationSpecificSKUAllocationReservedInstanceProperties < 3) { - checkUnnamed18(o.guestAccelerators!); - checkUnnamed19(o.localSsds!); + checkUnnamed19(o.guestAccelerators!); + checkUnnamed20(o.localSsds!); unittest.expect( o.locationHint!, unittest.equals('foo'), @@ -1453,23 +1496,23 @@ void checkAllocationSpecificSKUReservation( buildCounterAllocationSpecificSKUReservation--; } -core.List buildUnnamed20() => [ +core.List buildUnnamed21() => [ buildGuestOsFeature(), buildGuestOsFeature(), ]; -void checkUnnamed20(core.List o) { +void checkUnnamed21(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGuestOsFeature(o[0]); checkGuestOsFeature(o[1]); } -core.List buildUnnamed21() => [ +core.List buildUnnamed22() => [ 'foo', 'foo', ]; -void checkUnnamed21(core.List o) { +void checkUnnamed22(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1493,12 +1536,12 @@ api.AttachedDisk buildAttachedDisk() { o.diskEncryptionKey = buildCustomerEncryptionKey(); o.diskSizeGb = 'foo'; o.forceAttach = true; - o.guestOsFeatures = buildUnnamed20(); + o.guestOsFeatures = buildUnnamed21(); o.index = 42; o.initializeParams = buildAttachedDiskInitializeParams(); o.interface = 'foo'; o.kind = 'foo'; - o.licenses = buildUnnamed21(); + o.licenses = buildUnnamed22(); o.mode = 'foo'; o.savedState = 'foo'; o.shieldedInstanceInitialState = buildInitialStateConfig(); @@ -1528,7 +1571,7 @@ void checkAttachedDisk(api.AttachedDisk o) { unittest.equals('foo'), ); unittest.expect(o.forceAttach!, unittest.isTrue); - checkUnnamed20(o.guestOsFeatures!); + checkUnnamed21(o.guestOsFeatures!); unittest.expect( o.index!, unittest.equals(42), @@ -1542,7 +1585,7 @@ void checkAttachedDisk(api.AttachedDisk o) { o.kind!, unittest.equals('foo'), ); - checkUnnamed21(o.licenses!); + checkUnnamed22(o.licenses!); unittest.expect( o.mode!, unittest.equals('foo'), @@ -1564,12 +1607,12 @@ void checkAttachedDisk(api.AttachedDisk o) { buildCounterAttachedDisk--; } -core.Map buildUnnamed22() => { +core.Map buildUnnamed23() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed22(core.Map o) { +void checkUnnamed23(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1581,12 +1624,12 @@ void checkUnnamed22(core.Map o) { ); } -core.List buildUnnamed23() => [ +core.List buildUnnamed24() => [ 'foo', 'foo', ]; -void checkUnnamed23(core.List o) { +void checkUnnamed24(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1598,12 +1641,12 @@ void checkUnnamed23(core.List o) { ); } -core.List buildUnnamed24() => [ +core.List buildUnnamed25() => [ 'foo', 'foo', ]; -void checkUnnamed24(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1615,12 +1658,12 @@ void checkUnnamed24(core.List o) { ); } -core.Map buildUnnamed25() => { +core.Map buildUnnamed26() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed25(core.Map o) { +void checkUnnamed26(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1632,12 +1675,12 @@ void checkUnnamed25(core.Map o) { ); } -core.List buildUnnamed26() => [ +core.List buildUnnamed27() => [ 'foo', 'foo', ]; -void checkUnnamed26(core.List o) { +void checkUnnamed27(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1660,14 +1703,14 @@ api.AttachedDiskInitializeParams buildAttachedDiskInitializeParams() { o.diskSizeGb = 'foo'; o.diskType = 'foo'; o.enableConfidentialCompute = true; - o.labels = buildUnnamed22(); - o.licenses = buildUnnamed23(); + o.labels = buildUnnamed23(); + o.licenses = buildUnnamed24(); o.onUpdateAction = 'foo'; o.provisionedIops = 'foo'; o.provisionedThroughput = 'foo'; - o.replicaZones = buildUnnamed24(); - o.resourceManagerTags = buildUnnamed25(); - o.resourcePolicies = buildUnnamed26(); + o.replicaZones = buildUnnamed25(); + o.resourceManagerTags = buildUnnamed26(); + o.resourcePolicies = buildUnnamed27(); o.sourceImage = 'foo'; o.sourceImageEncryptionKey = buildCustomerEncryptionKey(); o.sourceSnapshot = 'foo'; @@ -1702,8 +1745,8 @@ void checkAttachedDiskInitializeParams(api.AttachedDiskInitializeParams o) { unittest.equals('foo'), ); unittest.expect(o.enableConfidentialCompute!, unittest.isTrue); - checkUnnamed22(o.labels!); - checkUnnamed23(o.licenses!); + checkUnnamed23(o.labels!); + checkUnnamed24(o.licenses!); unittest.expect( o.onUpdateAction!, unittest.equals('foo'), @@ -1716,9 +1759,9 @@ void checkAttachedDiskInitializeParams(api.AttachedDiskInitializeParams o) { o.provisionedThroughput!, unittest.equals('foo'), ); - checkUnnamed24(o.replicaZones!); - checkUnnamed25(o.resourceManagerTags!); - checkUnnamed26(o.resourcePolicies!); + checkUnnamed25(o.replicaZones!); + checkUnnamed26(o.resourceManagerTags!); + checkUnnamed27(o.resourcePolicies!); unittest.expect( o.sourceImage!, unittest.equals('foo'), @@ -1737,12 +1780,12 @@ void checkAttachedDiskInitializeParams(api.AttachedDiskInitializeParams o) { buildCounterAttachedDiskInitializeParams--; } -core.List buildUnnamed27() => [ +core.List buildUnnamed28() => [ buildAuditLogConfig(), buildAuditLogConfig(), ]; -void checkUnnamed27(core.List o) { +void checkUnnamed28(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuditLogConfig(o[0]); checkAuditLogConfig(o[1]); @@ -1753,7 +1796,7 @@ api.AuditConfig buildAuditConfig() { final o = api.AuditConfig(); buildCounterAuditConfig++; if (buildCounterAuditConfig < 3) { - o.auditLogConfigs = buildUnnamed27(); + o.auditLogConfigs = buildUnnamed28(); o.service = 'foo'; } buildCounterAuditConfig--; @@ -1763,7 +1806,7 @@ api.AuditConfig buildAuditConfig() { void checkAuditConfig(api.AuditConfig o) { buildCounterAuditConfig++; if (buildCounterAuditConfig < 3) { - checkUnnamed27(o.auditLogConfigs!); + checkUnnamed28(o.auditLogConfigs!); unittest.expect( o.service!, unittest.equals('foo'), @@ -1772,12 +1815,12 @@ void checkAuditConfig(api.AuditConfig o) { buildCounterAuditConfig--; } -core.List buildUnnamed28() => [ +core.List buildUnnamed29() => [ 'foo', 'foo', ]; -void checkUnnamed28(core.List o) { +void checkUnnamed29(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1794,7 +1837,7 @@ api.AuditLogConfig buildAuditLogConfig() { final o = api.AuditLogConfig(); buildCounterAuditLogConfig++; if (buildCounterAuditLogConfig < 3) { - o.exemptedMembers = buildUnnamed28(); + o.exemptedMembers = buildUnnamed29(); o.logType = 'foo'; } buildCounterAuditLogConfig--; @@ -1804,7 +1847,7 @@ api.AuditLogConfig buildAuditLogConfig() { void checkAuditLogConfig(api.AuditLogConfig o) { buildCounterAuditLogConfig++; if (buildCounterAuditLogConfig < 3) { - checkUnnamed28(o.exemptedMembers!); + checkUnnamed29(o.exemptedMembers!); unittest.expect( o.logType!, unittest.equals('foo'), @@ -1813,23 +1856,23 @@ void checkAuditLogConfig(api.AuditLogConfig o) { buildCounterAuditLogConfig--; } -core.Map buildUnnamed29() => { +core.Map buildUnnamed30() => { 'x': buildScalingScheduleStatus(), 'y': buildScalingScheduleStatus(), }; -void checkUnnamed29(core.Map o) { +void checkUnnamed30(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkScalingScheduleStatus(o['x']!); checkScalingScheduleStatus(o['y']!); } -core.List buildUnnamed30() => [ +core.List buildUnnamed31() => [ buildAutoscalerStatusDetails(), buildAutoscalerStatusDetails(), ]; -void checkUnnamed30(core.List o) { +void checkUnnamed31(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAutoscalerStatusDetails(o[0]); checkAutoscalerStatusDetails(o[1]); @@ -1848,10 +1891,10 @@ api.Autoscaler buildAutoscaler() { o.name = 'foo'; o.recommendedSize = 42; o.region = 'foo'; - o.scalingScheduleStatus = buildUnnamed29(); + o.scalingScheduleStatus = buildUnnamed30(); o.selfLink = 'foo'; o.status = 'foo'; - o.statusDetails = buildUnnamed30(); + o.statusDetails = buildUnnamed31(); o.target = 'foo'; o.zone = 'foo'; } @@ -1891,7 +1934,7 @@ void checkAutoscaler(api.Autoscaler o) { o.region!, unittest.equals('foo'), ); - checkUnnamed29(o.scalingScheduleStatus!); + checkUnnamed30(o.scalingScheduleStatus!); unittest.expect( o.selfLink!, unittest.equals('foo'), @@ -1900,7 +1943,7 @@ void checkAutoscaler(api.Autoscaler o) { o.status!, unittest.equals('foo'), ); - checkUnnamed30(o.statusDetails!); + checkUnnamed31(o.statusDetails!); unittest.expect( o.target!, unittest.equals('foo'), @@ -1913,23 +1956,23 @@ void checkAutoscaler(api.Autoscaler o) { buildCounterAutoscaler--; } -core.Map buildUnnamed31() => { +core.Map buildUnnamed32() => { 'x': buildAutoscalersScopedList(), 'y': buildAutoscalersScopedList(), }; -void checkUnnamed31(core.Map o) { +void checkUnnamed32(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkAutoscalersScopedList(o['x']!); checkAutoscalersScopedList(o['y']!); } -core.List buildUnnamed32() => [ +core.List buildUnnamed33() => [ 'foo', 'foo', ]; -void checkUnnamed32(core.List o) { +void checkUnnamed33(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1970,12 +2013,12 @@ void checkAutoscalerAggregatedListWarningData( buildCounterAutoscalerAggregatedListWarningData--; } -core.List buildUnnamed33() => [ +core.List buildUnnamed34() => [ buildAutoscalerAggregatedListWarningData(), buildAutoscalerAggregatedListWarningData(), ]; -void checkUnnamed33(core.List o) { +void checkUnnamed34(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAutoscalerAggregatedListWarningData(o[0]); checkAutoscalerAggregatedListWarningData(o[1]); @@ -1987,7 +2030,7 @@ api.AutoscalerAggregatedListWarning buildAutoscalerAggregatedListWarning() { buildCounterAutoscalerAggregatedListWarning++; if (buildCounterAutoscalerAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed33(); + o.data = buildUnnamed34(); o.message = 'foo'; } buildCounterAutoscalerAggregatedListWarning--; @@ -2002,7 +2045,7 @@ void checkAutoscalerAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed33(o.data!); + checkUnnamed34(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -2017,11 +2060,11 @@ api.AutoscalerAggregatedList buildAutoscalerAggregatedList() { buildCounterAutoscalerAggregatedList++; if (buildCounterAutoscalerAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed31(); + o.items = buildUnnamed32(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed32(); + o.unreachables = buildUnnamed33(); o.warning = buildAutoscalerAggregatedListWarning(); } buildCounterAutoscalerAggregatedList--; @@ -2035,7 +2078,7 @@ void checkAutoscalerAggregatedList(api.AutoscalerAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed31(o.items!); + checkUnnamed32(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -2048,18 +2091,18 @@ void checkAutoscalerAggregatedList(api.AutoscalerAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed32(o.unreachables!); + checkUnnamed33(o.unreachables!); checkAutoscalerAggregatedListWarning(o.warning!); } buildCounterAutoscalerAggregatedList--; } -core.List buildUnnamed34() => [ +core.List buildUnnamed35() => [ buildAutoscaler(), buildAutoscaler(), ]; -void checkUnnamed34(core.List o) { +void checkUnnamed35(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAutoscaler(o[0]); checkAutoscaler(o[1]); @@ -2092,12 +2135,12 @@ void checkAutoscalerListWarningData(api.AutoscalerListWarningData o) { buildCounterAutoscalerListWarningData--; } -core.List buildUnnamed35() => [ +core.List buildUnnamed36() => [ buildAutoscalerListWarningData(), buildAutoscalerListWarningData(), ]; -void checkUnnamed35(core.List o) { +void checkUnnamed36(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAutoscalerListWarningData(o[0]); checkAutoscalerListWarningData(o[1]); @@ -2109,7 +2152,7 @@ api.AutoscalerListWarning buildAutoscalerListWarning() { buildCounterAutoscalerListWarning++; if (buildCounterAutoscalerListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed35(); + o.data = buildUnnamed36(); o.message = 'foo'; } buildCounterAutoscalerListWarning--; @@ -2123,7 +2166,7 @@ void checkAutoscalerListWarning(api.AutoscalerListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed35(o.data!); + checkUnnamed36(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -2138,7 +2181,7 @@ api.AutoscalerList buildAutoscalerList() { buildCounterAutoscalerList++; if (buildCounterAutoscalerList < 3) { o.id = 'foo'; - o.items = buildUnnamed34(); + o.items = buildUnnamed35(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -2155,7 +2198,7 @@ void checkAutoscalerList(api.AutoscalerList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed34(o.items!); + checkUnnamed35(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -2200,12 +2243,12 @@ void checkAutoscalerStatusDetails(api.AutoscalerStatusDetails o) { buildCounterAutoscalerStatusDetails--; } -core.List buildUnnamed36() => [ +core.List buildUnnamed37() => [ buildAutoscaler(), buildAutoscaler(), ]; -void checkUnnamed36(core.List o) { +void checkUnnamed37(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAutoscaler(o[0]); checkAutoscaler(o[1]); @@ -2239,12 +2282,12 @@ void checkAutoscalersScopedListWarningData( buildCounterAutoscalersScopedListWarningData--; } -core.List buildUnnamed37() => [ +core.List buildUnnamed38() => [ buildAutoscalersScopedListWarningData(), buildAutoscalersScopedListWarningData(), ]; -void checkUnnamed37(core.List o) { +void checkUnnamed38(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAutoscalersScopedListWarningData(o[0]); checkAutoscalersScopedListWarningData(o[1]); @@ -2256,7 +2299,7 @@ api.AutoscalersScopedListWarning buildAutoscalersScopedListWarning() { buildCounterAutoscalersScopedListWarning++; if (buildCounterAutoscalersScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed37(); + o.data = buildUnnamed38(); o.message = 'foo'; } buildCounterAutoscalersScopedListWarning--; @@ -2270,7 +2313,7 @@ void checkAutoscalersScopedListWarning(api.AutoscalersScopedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed37(o.data!); + checkUnnamed38(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -2284,7 +2327,7 @@ api.AutoscalersScopedList buildAutoscalersScopedList() { final o = api.AutoscalersScopedList(); buildCounterAutoscalersScopedList++; if (buildCounterAutoscalersScopedList < 3) { - o.autoscalers = buildUnnamed36(); + o.autoscalers = buildUnnamed37(); o.warning = buildAutoscalersScopedListWarning(); } buildCounterAutoscalersScopedList--; @@ -2294,30 +2337,30 @@ api.AutoscalersScopedList buildAutoscalersScopedList() { void checkAutoscalersScopedList(api.AutoscalersScopedList o) { buildCounterAutoscalersScopedList++; if (buildCounterAutoscalersScopedList < 3) { - checkUnnamed36(o.autoscalers!); + checkUnnamed37(o.autoscalers!); checkAutoscalersScopedListWarning(o.warning!); } buildCounterAutoscalersScopedList--; } -core.List buildUnnamed38() => [ +core.List buildUnnamed39() => [ buildAutoscalingPolicyCustomMetricUtilization(), buildAutoscalingPolicyCustomMetricUtilization(), ]; -void checkUnnamed38(core.List o) { +void checkUnnamed39(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAutoscalingPolicyCustomMetricUtilization(o[0]); checkAutoscalingPolicyCustomMetricUtilization(o[1]); } -core.Map buildUnnamed39() => +core.Map buildUnnamed40() => { 'x': buildAutoscalingPolicyScalingSchedule(), 'y': buildAutoscalingPolicyScalingSchedule(), }; -void checkUnnamed39( +void checkUnnamed40( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkAutoscalingPolicyScalingSchedule(o['x']!); @@ -2331,14 +2374,14 @@ api.AutoscalingPolicy buildAutoscalingPolicy() { if (buildCounterAutoscalingPolicy < 3) { o.coolDownPeriodSec = 42; o.cpuUtilization = buildAutoscalingPolicyCpuUtilization(); - o.customMetricUtilizations = buildUnnamed38(); + o.customMetricUtilizations = buildUnnamed39(); o.loadBalancingUtilization = buildAutoscalingPolicyLoadBalancingUtilization(); o.maxNumReplicas = 42; o.minNumReplicas = 42; o.mode = 'foo'; o.scaleInControl = buildAutoscalingPolicyScaleInControl(); - o.scalingSchedules = buildUnnamed39(); + o.scalingSchedules = buildUnnamed40(); } buildCounterAutoscalingPolicy--; return o; @@ -2352,7 +2395,7 @@ void checkAutoscalingPolicy(api.AutoscalingPolicy o) { unittest.equals(42), ); checkAutoscalingPolicyCpuUtilization(o.cpuUtilization!); - checkUnnamed38(o.customMetricUtilizations!); + checkUnnamed39(o.customMetricUtilizations!); checkAutoscalingPolicyLoadBalancingUtilization(o.loadBalancingUtilization!); unittest.expect( o.maxNumReplicas!, @@ -2367,7 +2410,7 @@ void checkAutoscalingPolicy(api.AutoscalingPolicy o) { unittest.equals('foo'), ); checkAutoscalingPolicyScaleInControl(o.scaleInControl!); - checkUnnamed39(o.scalingSchedules!); + checkUnnamed40(o.scalingSchedules!); } buildCounterAutoscalingPolicy--; } @@ -2538,6 +2581,17 @@ void checkAutoscalingPolicyScalingSchedule( buildCounterAutoscalingPolicyScalingSchedule--; } +core.List buildUnnamed41() => [ + buildBackendCustomMetric(), + buildBackendCustomMetric(), + ]; + +void checkUnnamed41(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkBackendCustomMetric(o[0]); + checkBackendCustomMetric(o[1]); +} + core.int buildCounterBackend = 0; api.Backend buildBackend() { final o = api.Backend(); @@ -2545,6 +2599,7 @@ api.Backend buildBackend() { if (buildCounterBackend < 3) { o.balancingMode = 'foo'; o.capacityScaler = 42.0; + o.customMetrics = buildUnnamed41(); o.description = 'foo'; o.failover = true; o.group = 'foo'; @@ -2572,6 +2627,7 @@ void checkBackend(api.Backend o) { o.capacityScaler!, unittest.equals(42.0), ); + checkUnnamed41(o.customMetrics!); unittest.expect( o.description!, unittest.equals('foo'), @@ -2617,12 +2673,12 @@ void checkBackend(api.Backend o) { buildCounterBackend--; } -core.List buildUnnamed40() => [ +core.List buildUnnamed42() => [ 'foo', 'foo', ]; -void checkUnnamed40(core.List o) { +void checkUnnamed42(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2634,12 +2690,12 @@ void checkUnnamed40(core.List o) { ); } -core.List buildUnnamed41() => [ +core.List buildUnnamed43() => [ buildBackendBucketUsedBy(), buildBackendBucketUsedBy(), ]; -void checkUnnamed41(core.List o) { +void checkUnnamed43(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackendBucketUsedBy(o[0]); checkBackendBucketUsedBy(o[1]); @@ -2654,7 +2710,7 @@ api.BackendBucket buildBackendBucket() { o.cdnPolicy = buildBackendBucketCdnPolicy(); o.compressionMode = 'foo'; o.creationTimestamp = 'foo'; - o.customResponseHeaders = buildUnnamed40(); + o.customResponseHeaders = buildUnnamed42(); o.description = 'foo'; o.edgeSecurityPolicy = 'foo'; o.enableCdn = true; @@ -2662,7 +2718,7 @@ api.BackendBucket buildBackendBucket() { o.kind = 'foo'; o.name = 'foo'; o.selfLink = 'foo'; - o.usedBy = buildUnnamed41(); + o.usedBy = buildUnnamed43(); } buildCounterBackendBucket--; return o; @@ -2684,7 +2740,7 @@ void checkBackendBucket(api.BackendBucket o) { o.creationTimestamp!, unittest.equals('foo'), ); - checkUnnamed40(o.customResponseHeaders!); + checkUnnamed42(o.customResponseHeaders!); unittest.expect( o.description!, unittest.equals('foo'), @@ -2710,42 +2766,42 @@ void checkBackendBucket(api.BackendBucket o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed41(o.usedBy!); + checkUnnamed43(o.usedBy!); } buildCounterBackendBucket--; } core.List - buildUnnamed42() => [ + buildUnnamed44() => [ buildBackendBucketCdnPolicyBypassCacheOnRequestHeader(), buildBackendBucketCdnPolicyBypassCacheOnRequestHeader(), ]; -void checkUnnamed42( +void checkUnnamed44( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackendBucketCdnPolicyBypassCacheOnRequestHeader(o[0]); checkBackendBucketCdnPolicyBypassCacheOnRequestHeader(o[1]); } -core.List buildUnnamed43() => [ +core.List buildUnnamed45() => [ buildBackendBucketCdnPolicyNegativeCachingPolicy(), buildBackendBucketCdnPolicyNegativeCachingPolicy(), ]; -void checkUnnamed43( +void checkUnnamed45( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackendBucketCdnPolicyNegativeCachingPolicy(o[0]); checkBackendBucketCdnPolicyNegativeCachingPolicy(o[1]); } -core.List buildUnnamed44() => [ +core.List buildUnnamed46() => [ 'foo', 'foo', ]; -void checkUnnamed44(core.List o) { +void checkUnnamed46(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2762,18 +2818,18 @@ api.BackendBucketCdnPolicy buildBackendBucketCdnPolicy() { final o = api.BackendBucketCdnPolicy(); buildCounterBackendBucketCdnPolicy++; if (buildCounterBackendBucketCdnPolicy < 3) { - o.bypassCacheOnRequestHeaders = buildUnnamed42(); + o.bypassCacheOnRequestHeaders = buildUnnamed44(); o.cacheKeyPolicy = buildBackendBucketCdnPolicyCacheKeyPolicy(); o.cacheMode = 'foo'; o.clientTtl = 42; o.defaultTtl = 42; o.maxTtl = 42; o.negativeCaching = true; - o.negativeCachingPolicy = buildUnnamed43(); + o.negativeCachingPolicy = buildUnnamed45(); o.requestCoalescing = true; o.serveWhileStale = 42; o.signedUrlCacheMaxAgeSec = 'foo'; - o.signedUrlKeyNames = buildUnnamed44(); + o.signedUrlKeyNames = buildUnnamed46(); } buildCounterBackendBucketCdnPolicy--; return o; @@ -2782,7 +2838,7 @@ api.BackendBucketCdnPolicy buildBackendBucketCdnPolicy() { void checkBackendBucketCdnPolicy(api.BackendBucketCdnPolicy o) { buildCounterBackendBucketCdnPolicy++; if (buildCounterBackendBucketCdnPolicy < 3) { - checkUnnamed42(o.bypassCacheOnRequestHeaders!); + checkUnnamed44(o.bypassCacheOnRequestHeaders!); checkBackendBucketCdnPolicyCacheKeyPolicy(o.cacheKeyPolicy!); unittest.expect( o.cacheMode!, @@ -2801,7 +2857,7 @@ void checkBackendBucketCdnPolicy(api.BackendBucketCdnPolicy o) { unittest.equals(42), ); unittest.expect(o.negativeCaching!, unittest.isTrue); - checkUnnamed43(o.negativeCachingPolicy!); + checkUnnamed45(o.negativeCachingPolicy!); unittest.expect(o.requestCoalescing!, unittest.isTrue); unittest.expect( o.serveWhileStale!, @@ -2811,7 +2867,7 @@ void checkBackendBucketCdnPolicy(api.BackendBucketCdnPolicy o) { o.signedUrlCacheMaxAgeSec!, unittest.equals('foo'), ); - checkUnnamed44(o.signedUrlKeyNames!); + checkUnnamed46(o.signedUrlKeyNames!); } buildCounterBackendBucketCdnPolicy--; } @@ -2840,12 +2896,12 @@ void checkBackendBucketCdnPolicyBypassCacheOnRequestHeader( buildCounterBackendBucketCdnPolicyBypassCacheOnRequestHeader--; } -core.List buildUnnamed45() => [ +core.List buildUnnamed47() => [ 'foo', 'foo', ]; -void checkUnnamed45(core.List o) { +void checkUnnamed47(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2857,12 +2913,12 @@ void checkUnnamed45(core.List o) { ); } -core.List buildUnnamed46() => [ +core.List buildUnnamed48() => [ 'foo', 'foo', ]; -void checkUnnamed46(core.List o) { +void checkUnnamed48(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2880,8 +2936,8 @@ api.BackendBucketCdnPolicyCacheKeyPolicy final o = api.BackendBucketCdnPolicyCacheKeyPolicy(); buildCounterBackendBucketCdnPolicyCacheKeyPolicy++; if (buildCounterBackendBucketCdnPolicyCacheKeyPolicy < 3) { - o.includeHttpHeaders = buildUnnamed45(); - o.queryStringWhitelist = buildUnnamed46(); + o.includeHttpHeaders = buildUnnamed47(); + o.queryStringWhitelist = buildUnnamed48(); } buildCounterBackendBucketCdnPolicyCacheKeyPolicy--; return o; @@ -2891,8 +2947,8 @@ void checkBackendBucketCdnPolicyCacheKeyPolicy( api.BackendBucketCdnPolicyCacheKeyPolicy o) { buildCounterBackendBucketCdnPolicyCacheKeyPolicy++; if (buildCounterBackendBucketCdnPolicyCacheKeyPolicy < 3) { - checkUnnamed45(o.includeHttpHeaders!); - checkUnnamed46(o.queryStringWhitelist!); + checkUnnamed47(o.includeHttpHeaders!); + checkUnnamed48(o.queryStringWhitelist!); } buildCounterBackendBucketCdnPolicyCacheKeyPolicy--; } @@ -2926,12 +2982,12 @@ void checkBackendBucketCdnPolicyNegativeCachingPolicy( buildCounterBackendBucketCdnPolicyNegativeCachingPolicy--; } -core.List buildUnnamed47() => [ +core.List buildUnnamed49() => [ buildBackendBucket(), buildBackendBucket(), ]; -void checkUnnamed47(core.List o) { +void checkUnnamed49(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackendBucket(o[0]); checkBackendBucket(o[1]); @@ -2964,12 +3020,12 @@ void checkBackendBucketListWarningData(api.BackendBucketListWarningData o) { buildCounterBackendBucketListWarningData--; } -core.List buildUnnamed48() => [ +core.List buildUnnamed50() => [ buildBackendBucketListWarningData(), buildBackendBucketListWarningData(), ]; -void checkUnnamed48(core.List o) { +void checkUnnamed50(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackendBucketListWarningData(o[0]); checkBackendBucketListWarningData(o[1]); @@ -2981,7 +3037,7 @@ api.BackendBucketListWarning buildBackendBucketListWarning() { buildCounterBackendBucketListWarning++; if (buildCounterBackendBucketListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed48(); + o.data = buildUnnamed50(); o.message = 'foo'; } buildCounterBackendBucketListWarning--; @@ -2995,7 +3051,7 @@ void checkBackendBucketListWarning(api.BackendBucketListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed48(o.data!); + checkUnnamed50(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -3010,7 +3066,7 @@ api.BackendBucketList buildBackendBucketList() { buildCounterBackendBucketList++; if (buildCounterBackendBucketList < 3) { o.id = 'foo'; - o.items = buildUnnamed47(); + o.items = buildUnnamed49(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -3027,7 +3083,7 @@ void checkBackendBucketList(api.BackendBucketList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed47(o.items!); + checkUnnamed49(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -3067,23 +3123,63 @@ void checkBackendBucketUsedBy(api.BackendBucketUsedBy o) { buildCounterBackendBucketUsedBy--; } -core.List buildUnnamed49() => [ +core.int buildCounterBackendCustomMetric = 0; +api.BackendCustomMetric buildBackendCustomMetric() { + final o = api.BackendCustomMetric(); + buildCounterBackendCustomMetric++; + if (buildCounterBackendCustomMetric < 3) { + o.dryRun = true; + o.maxUtilization = 42.0; + o.name = 'foo'; + } + buildCounterBackendCustomMetric--; + return o; +} + +void checkBackendCustomMetric(api.BackendCustomMetric o) { + buildCounterBackendCustomMetric++; + if (buildCounterBackendCustomMetric < 3) { + unittest.expect(o.dryRun!, unittest.isTrue); + unittest.expect( + o.maxUtilization!, + unittest.equals(42.0), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + } + buildCounterBackendCustomMetric--; +} + +core.List buildUnnamed51() => [ buildBackend(), buildBackend(), ]; -void checkUnnamed49(core.List o) { +void checkUnnamed51(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackend(o[0]); checkBackend(o[1]); } -core.List buildUnnamed50() => [ +core.List buildUnnamed52() => [ + buildBackendServiceCustomMetric(), + buildBackendServiceCustomMetric(), + ]; + +void checkUnnamed52(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkBackendServiceCustomMetric(o[0]); + checkBackendServiceCustomMetric(o[1]); +} + +core.List buildUnnamed53() => [ 'foo', 'foo', ]; -void checkUnnamed50(core.List o) { +void checkUnnamed53(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3095,12 +3191,12 @@ void checkUnnamed50(core.List o) { ); } -core.List buildUnnamed51() => [ +core.List buildUnnamed54() => [ 'foo', 'foo', ]; -void checkUnnamed51(core.List o) { +void checkUnnamed54(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3112,12 +3208,12 @@ void checkUnnamed51(core.List o) { ); } -core.List buildUnnamed52() => [ +core.List buildUnnamed55() => [ 'foo', 'foo', ]; -void checkUnnamed52(core.List o) { +void checkUnnamed55(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3130,24 +3226,24 @@ void checkUnnamed52(core.List o) { } core.List - buildUnnamed53() => [ + buildUnnamed56() => [ buildBackendServiceLocalityLoadBalancingPolicyConfig(), buildBackendServiceLocalityLoadBalancingPolicyConfig(), ]; -void checkUnnamed53( +void checkUnnamed56( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackendServiceLocalityLoadBalancingPolicyConfig(o[0]); checkBackendServiceLocalityLoadBalancingPolicyConfig(o[1]); } -core.Map buildUnnamed54() => { +core.Map buildUnnamed57() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed54(core.Map o) { +void checkUnnamed57(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3159,12 +3255,12 @@ void checkUnnamed54(core.Map o) { ); } -core.List buildUnnamed55() => [ +core.List buildUnnamed58() => [ 'foo', 'foo', ]; -void checkUnnamed55(core.List o) { +void checkUnnamed58(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3176,12 +3272,12 @@ void checkUnnamed55(core.List o) { ); } -core.List buildUnnamed56() => [ +core.List buildUnnamed59() => [ buildBackendServiceUsedBy(), buildBackendServiceUsedBy(), ]; -void checkUnnamed56(core.List o) { +void checkUnnamed59(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackendServiceUsedBy(o[0]); checkBackendServiceUsedBy(o[1]); @@ -3193,7 +3289,7 @@ api.BackendService buildBackendService() { buildCounterBackendService++; if (buildCounterBackendService < 3) { o.affinityCookieTtlSec = 42; - o.backends = buildUnnamed49(); + o.backends = buildUnnamed51(); o.cdnPolicy = buildBackendServiceCdnPolicy(); o.circuitBreakers = buildCircuitBreakers(); o.compressionMode = 'foo'; @@ -3201,24 +3297,25 @@ api.BackendService buildBackendService() { o.connectionTrackingPolicy = buildBackendServiceConnectionTrackingPolicy(); o.consistentHash = buildConsistentHashLoadBalancerSettings(); o.creationTimestamp = 'foo'; - o.customRequestHeaders = buildUnnamed50(); - o.customResponseHeaders = buildUnnamed51(); + o.customMetrics = buildUnnamed52(); + o.customRequestHeaders = buildUnnamed53(); + o.customResponseHeaders = buildUnnamed54(); o.description = 'foo'; o.edgeSecurityPolicy = 'foo'; o.enableCDN = true; o.failoverPolicy = buildBackendServiceFailoverPolicy(); o.fingerprint = 'foo'; - o.healthChecks = buildUnnamed52(); + o.healthChecks = buildUnnamed55(); o.iap = buildBackendServiceIAP(); o.id = 'foo'; o.ipAddressSelectionPolicy = 'foo'; o.kind = 'foo'; o.loadBalancingScheme = 'foo'; - o.localityLbPolicies = buildUnnamed53(); + o.localityLbPolicies = buildUnnamed56(); o.localityLbPolicy = 'foo'; o.logConfig = buildBackendServiceLogConfig(); o.maxStreamDuration = buildDuration(); - o.metadatas = buildUnnamed54(); + o.metadatas = buildUnnamed57(); o.name = 'foo'; o.network = 'foo'; o.outlierDetection = buildOutlierDetection(); @@ -3229,13 +3326,13 @@ api.BackendService buildBackendService() { o.securityPolicy = 'foo'; o.securitySettings = buildSecuritySettings(); o.selfLink = 'foo'; - o.serviceBindings = buildUnnamed55(); + o.serviceBindings = buildUnnamed58(); o.serviceLbPolicy = 'foo'; o.sessionAffinity = 'foo'; o.strongSessionAffinityCookie = buildBackendServiceHttpCookie(); o.subsetting = buildSubsetting(); o.timeoutSec = 42; - o.usedBy = buildUnnamed56(); + o.usedBy = buildUnnamed59(); } buildCounterBackendService--; return o; @@ -3248,7 +3345,7 @@ void checkBackendService(api.BackendService o) { o.affinityCookieTtlSec!, unittest.equals(42), ); - checkUnnamed49(o.backends!); + checkUnnamed51(o.backends!); checkBackendServiceCdnPolicy(o.cdnPolicy!); checkCircuitBreakers(o.circuitBreakers!); unittest.expect( @@ -3262,8 +3359,9 @@ void checkBackendService(api.BackendService o) { o.creationTimestamp!, unittest.equals('foo'), ); - checkUnnamed50(o.customRequestHeaders!); - checkUnnamed51(o.customResponseHeaders!); + checkUnnamed52(o.customMetrics!); + checkUnnamed53(o.customRequestHeaders!); + checkUnnamed54(o.customResponseHeaders!); unittest.expect( o.description!, unittest.equals('foo'), @@ -3278,7 +3376,7 @@ void checkBackendService(api.BackendService o) { o.fingerprint!, unittest.equals('foo'), ); - checkUnnamed52(o.healthChecks!); + checkUnnamed55(o.healthChecks!); checkBackendServiceIAP(o.iap!); unittest.expect( o.id!, @@ -3296,14 +3394,14 @@ void checkBackendService(api.BackendService o) { o.loadBalancingScheme!, unittest.equals('foo'), ); - checkUnnamed53(o.localityLbPolicies!); + checkUnnamed56(o.localityLbPolicies!); unittest.expect( o.localityLbPolicy!, unittest.equals('foo'), ); checkBackendServiceLogConfig(o.logConfig!); checkDuration(o.maxStreamDuration!); - checkUnnamed54(o.metadatas!); + checkUnnamed57(o.metadatas!); unittest.expect( o.name!, unittest.equals('foo'), @@ -3338,7 +3436,7 @@ void checkBackendService(api.BackendService o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed55(o.serviceBindings!); + checkUnnamed58(o.serviceBindings!); unittest.expect( o.serviceLbPolicy!, unittest.equals('foo'), @@ -3353,28 +3451,28 @@ void checkBackendService(api.BackendService o) { o.timeoutSec!, unittest.equals(42), ); - checkUnnamed56(o.usedBy!); + checkUnnamed59(o.usedBy!); } buildCounterBackendService--; } -core.Map buildUnnamed57() => { +core.Map buildUnnamed60() => { 'x': buildBackendServicesScopedList(), 'y': buildBackendServicesScopedList(), }; -void checkUnnamed57(core.Map o) { +void checkUnnamed60(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkBackendServicesScopedList(o['x']!); checkBackendServicesScopedList(o['y']!); } -core.List buildUnnamed58() => [ +core.List buildUnnamed61() => [ 'foo', 'foo', ]; -void checkUnnamed58(core.List o) { +void checkUnnamed61(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3415,12 +3513,12 @@ void checkBackendServiceAggregatedListWarningData( buildCounterBackendServiceAggregatedListWarningData--; } -core.List buildUnnamed59() => [ +core.List buildUnnamed62() => [ buildBackendServiceAggregatedListWarningData(), buildBackendServiceAggregatedListWarningData(), ]; -void checkUnnamed59(core.List o) { +void checkUnnamed62(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackendServiceAggregatedListWarningData(o[0]); checkBackendServiceAggregatedListWarningData(o[1]); @@ -3433,7 +3531,7 @@ api.BackendServiceAggregatedListWarning buildCounterBackendServiceAggregatedListWarning++; if (buildCounterBackendServiceAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed59(); + o.data = buildUnnamed62(); o.message = 'foo'; } buildCounterBackendServiceAggregatedListWarning--; @@ -3448,7 +3546,7 @@ void checkBackendServiceAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed59(o.data!); + checkUnnamed62(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -3463,11 +3561,11 @@ api.BackendServiceAggregatedList buildBackendServiceAggregatedList() { buildCounterBackendServiceAggregatedList++; if (buildCounterBackendServiceAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed57(); + o.items = buildUnnamed60(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed58(); + o.unreachables = buildUnnamed61(); o.warning = buildBackendServiceAggregatedListWarning(); } buildCounterBackendServiceAggregatedList--; @@ -3481,7 +3579,7 @@ void checkBackendServiceAggregatedList(api.BackendServiceAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed57(o.items!); + checkUnnamed60(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -3494,44 +3592,44 @@ void checkBackendServiceAggregatedList(api.BackendServiceAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed58(o.unreachables!); + checkUnnamed61(o.unreachables!); checkBackendServiceAggregatedListWarning(o.warning!); } buildCounterBackendServiceAggregatedList--; } core.List - buildUnnamed60() => [ + buildUnnamed63() => [ buildBackendServiceCdnPolicyBypassCacheOnRequestHeader(), buildBackendServiceCdnPolicyBypassCacheOnRequestHeader(), ]; -void checkUnnamed60( +void checkUnnamed63( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackendServiceCdnPolicyBypassCacheOnRequestHeader(o[0]); checkBackendServiceCdnPolicyBypassCacheOnRequestHeader(o[1]); } -core.List buildUnnamed61() => +core.List buildUnnamed64() => [ buildBackendServiceCdnPolicyNegativeCachingPolicy(), buildBackendServiceCdnPolicyNegativeCachingPolicy(), ]; -void checkUnnamed61( +void checkUnnamed64( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackendServiceCdnPolicyNegativeCachingPolicy(o[0]); checkBackendServiceCdnPolicyNegativeCachingPolicy(o[1]); } -core.List buildUnnamed62() => [ +core.List buildUnnamed65() => [ 'foo', 'foo', ]; -void checkUnnamed62(core.List o) { +void checkUnnamed65(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3548,18 +3646,18 @@ api.BackendServiceCdnPolicy buildBackendServiceCdnPolicy() { final o = api.BackendServiceCdnPolicy(); buildCounterBackendServiceCdnPolicy++; if (buildCounterBackendServiceCdnPolicy < 3) { - o.bypassCacheOnRequestHeaders = buildUnnamed60(); + o.bypassCacheOnRequestHeaders = buildUnnamed63(); o.cacheKeyPolicy = buildCacheKeyPolicy(); o.cacheMode = 'foo'; o.clientTtl = 42; o.defaultTtl = 42; o.maxTtl = 42; o.negativeCaching = true; - o.negativeCachingPolicy = buildUnnamed61(); + o.negativeCachingPolicy = buildUnnamed64(); o.requestCoalescing = true; o.serveWhileStale = 42; o.signedUrlCacheMaxAgeSec = 'foo'; - o.signedUrlKeyNames = buildUnnamed62(); + o.signedUrlKeyNames = buildUnnamed65(); } buildCounterBackendServiceCdnPolicy--; return o; @@ -3568,7 +3666,7 @@ api.BackendServiceCdnPolicy buildBackendServiceCdnPolicy() { void checkBackendServiceCdnPolicy(api.BackendServiceCdnPolicy o) { buildCounterBackendServiceCdnPolicy++; if (buildCounterBackendServiceCdnPolicy < 3) { - checkUnnamed60(o.bypassCacheOnRequestHeaders!); + checkUnnamed63(o.bypassCacheOnRequestHeaders!); checkCacheKeyPolicy(o.cacheKeyPolicy!); unittest.expect( o.cacheMode!, @@ -3587,7 +3685,7 @@ void checkBackendServiceCdnPolicy(api.BackendServiceCdnPolicy o) { unittest.equals(42), ); unittest.expect(o.negativeCaching!, unittest.isTrue); - checkUnnamed61(o.negativeCachingPolicy!); + checkUnnamed64(o.negativeCachingPolicy!); unittest.expect(o.requestCoalescing!, unittest.isTrue); unittest.expect( o.serveWhileStale!, @@ -3597,7 +3695,7 @@ void checkBackendServiceCdnPolicy(api.BackendServiceCdnPolicy o) { o.signedUrlCacheMaxAgeSec!, unittest.equals('foo'), ); - checkUnnamed62(o.signedUrlKeyNames!); + checkUnnamed65(o.signedUrlKeyNames!); } buildCounterBackendServiceCdnPolicy--; } @@ -3691,6 +3789,30 @@ void checkBackendServiceConnectionTrackingPolicy( buildCounterBackendServiceConnectionTrackingPolicy--; } +core.int buildCounterBackendServiceCustomMetric = 0; +api.BackendServiceCustomMetric buildBackendServiceCustomMetric() { + final o = api.BackendServiceCustomMetric(); + buildCounterBackendServiceCustomMetric++; + if (buildCounterBackendServiceCustomMetric < 3) { + o.dryRun = true; + o.name = 'foo'; + } + buildCounterBackendServiceCustomMetric--; + return o; +} + +void checkBackendServiceCustomMetric(api.BackendServiceCustomMetric o) { + buildCounterBackendServiceCustomMetric++; + if (buildCounterBackendServiceCustomMetric < 3) { + unittest.expect(o.dryRun!, unittest.isTrue); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + } + buildCounterBackendServiceCustomMetric--; +} + core.int buildCounterBackendServiceFailoverPolicy = 0; api.BackendServiceFailoverPolicy buildBackendServiceFailoverPolicy() { final o = api.BackendServiceFailoverPolicy(); @@ -3717,12 +3839,12 @@ void checkBackendServiceFailoverPolicy(api.BackendServiceFailoverPolicy o) { buildCounterBackendServiceFailoverPolicy--; } -core.Map buildUnnamed63() => { +core.Map buildUnnamed66() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed63(core.Map o) { +void checkUnnamed66(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3734,12 +3856,12 @@ void checkUnnamed63(core.Map o) { ); } -core.List buildUnnamed64() => [ +core.List buildUnnamed67() => [ buildHealthStatus(), buildHealthStatus(), ]; -void checkUnnamed64(core.List o) { +void checkUnnamed67(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHealthStatus(o[0]); checkHealthStatus(o[1]); @@ -3750,8 +3872,8 @@ api.BackendServiceGroupHealth buildBackendServiceGroupHealth() { final o = api.BackendServiceGroupHealth(); buildCounterBackendServiceGroupHealth++; if (buildCounterBackendServiceGroupHealth < 3) { - o.annotations = buildUnnamed63(); - o.healthStatus = buildUnnamed64(); + o.annotations = buildUnnamed66(); + o.healthStatus = buildUnnamed67(); o.kind = 'foo'; } buildCounterBackendServiceGroupHealth--; @@ -3761,8 +3883,8 @@ api.BackendServiceGroupHealth buildBackendServiceGroupHealth() { void checkBackendServiceGroupHealth(api.BackendServiceGroupHealth o) { buildCounterBackendServiceGroupHealth++; if (buildCounterBackendServiceGroupHealth < 3) { - checkUnnamed63(o.annotations!); - checkUnnamed64(o.healthStatus!); + checkUnnamed66(o.annotations!); + checkUnnamed67(o.healthStatus!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -3834,12 +3956,12 @@ void checkBackendServiceIAP(api.BackendServiceIAP o) { buildCounterBackendServiceIAP--; } -core.List buildUnnamed65() => [ +core.List buildUnnamed68() => [ buildBackendService(), buildBackendService(), ]; -void checkUnnamed65(core.List o) { +void checkUnnamed68(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackendService(o[0]); checkBackendService(o[1]); @@ -3872,12 +3994,12 @@ void checkBackendServiceListWarningData(api.BackendServiceListWarningData o) { buildCounterBackendServiceListWarningData--; } -core.List buildUnnamed66() => [ +core.List buildUnnamed69() => [ buildBackendServiceListWarningData(), buildBackendServiceListWarningData(), ]; -void checkUnnamed66(core.List o) { +void checkUnnamed69(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackendServiceListWarningData(o[0]); checkBackendServiceListWarningData(o[1]); @@ -3889,7 +4011,7 @@ api.BackendServiceListWarning buildBackendServiceListWarning() { buildCounterBackendServiceListWarning++; if (buildCounterBackendServiceListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed66(); + o.data = buildUnnamed69(); o.message = 'foo'; } buildCounterBackendServiceListWarning--; @@ -3903,7 +4025,7 @@ void checkBackendServiceListWarning(api.BackendServiceListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed66(o.data!); + checkUnnamed69(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -3918,7 +4040,7 @@ api.BackendServiceList buildBackendServiceList() { buildCounterBackendServiceList++; if (buildCounterBackendServiceList < 3) { o.id = 'foo'; - o.items = buildUnnamed65(); + o.items = buildUnnamed68(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -3935,7 +4057,7 @@ void checkBackendServiceList(api.BackendServiceList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed65(o.items!); + checkUnnamed68(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -3953,12 +4075,12 @@ void checkBackendServiceList(api.BackendServiceList o) { buildCounterBackendServiceList--; } -core.List buildUnnamed67() => [ +core.List buildUnnamed70() => [ buildBackendService(), buildBackendService(), ]; -void checkUnnamed67(core.List o) { +void checkUnnamed70(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackendService(o[0]); checkBackendService(o[1]); @@ -3993,12 +4115,12 @@ void checkBackendServiceListUsableWarningData( buildCounterBackendServiceListUsableWarningData--; } -core.List buildUnnamed68() => [ +core.List buildUnnamed71() => [ buildBackendServiceListUsableWarningData(), buildBackendServiceListUsableWarningData(), ]; -void checkUnnamed68(core.List o) { +void checkUnnamed71(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackendServiceListUsableWarningData(o[0]); checkBackendServiceListUsableWarningData(o[1]); @@ -4010,7 +4132,7 @@ api.BackendServiceListUsableWarning buildBackendServiceListUsableWarning() { buildCounterBackendServiceListUsableWarning++; if (buildCounterBackendServiceListUsableWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed68(); + o.data = buildUnnamed71(); o.message = 'foo'; } buildCounterBackendServiceListUsableWarning--; @@ -4025,7 +4147,7 @@ void checkBackendServiceListUsableWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed68(o.data!); + checkUnnamed71(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -4040,7 +4162,7 @@ api.BackendServiceListUsable buildBackendServiceListUsable() { buildCounterBackendServiceListUsable++; if (buildCounterBackendServiceListUsable < 3) { o.id = 'foo'; - o.items = buildUnnamed67(); + o.items = buildUnnamed70(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -4057,7 +4179,7 @@ void checkBackendServiceListUsable(api.BackendServiceListUsable o) { o.id!, unittest.equals('foo'), ); - checkUnnamed67(o.items!); + checkUnnamed70(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -4156,12 +4278,12 @@ void checkBackendServiceLocalityLoadBalancingPolicyConfigPolicy( buildCounterBackendServiceLocalityLoadBalancingPolicyConfigPolicy--; } -core.List buildUnnamed69() => [ +core.List buildUnnamed72() => [ 'foo', 'foo', ]; -void checkUnnamed69(core.List o) { +void checkUnnamed72(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4179,7 +4301,7 @@ api.BackendServiceLogConfig buildBackendServiceLogConfig() { buildCounterBackendServiceLogConfig++; if (buildCounterBackendServiceLogConfig < 3) { o.enable = true; - o.optionalFields = buildUnnamed69(); + o.optionalFields = buildUnnamed72(); o.optionalMode = 'foo'; o.sampleRate = 42.0; } @@ -4191,7 +4313,7 @@ void checkBackendServiceLogConfig(api.BackendServiceLogConfig o) { buildCounterBackendServiceLogConfig++; if (buildCounterBackendServiceLogConfig < 3) { unittest.expect(o.enable!, unittest.isTrue); - checkUnnamed69(o.optionalFields!); + checkUnnamed72(o.optionalFields!); unittest.expect( o.optionalMode!, unittest.equals('foo'), @@ -4248,12 +4370,12 @@ void checkBackendServiceUsedBy(api.BackendServiceUsedBy o) { buildCounterBackendServiceUsedBy--; } -core.List buildUnnamed70() => [ +core.List buildUnnamed73() => [ buildBackendService(), buildBackendService(), ]; -void checkUnnamed70(core.List o) { +void checkUnnamed73(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackendService(o[0]); checkBackendService(o[1]); @@ -4288,12 +4410,12 @@ void checkBackendServicesScopedListWarningData( buildCounterBackendServicesScopedListWarningData--; } -core.List buildUnnamed71() => [ +core.List buildUnnamed74() => [ buildBackendServicesScopedListWarningData(), buildBackendServicesScopedListWarningData(), ]; -void checkUnnamed71(core.List o) { +void checkUnnamed74(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackendServicesScopedListWarningData(o[0]); checkBackendServicesScopedListWarningData(o[1]); @@ -4305,7 +4427,7 @@ api.BackendServicesScopedListWarning buildBackendServicesScopedListWarning() { buildCounterBackendServicesScopedListWarning++; if (buildCounterBackendServicesScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed71(); + o.data = buildUnnamed74(); o.message = 'foo'; } buildCounterBackendServicesScopedListWarning--; @@ -4320,7 +4442,7 @@ void checkBackendServicesScopedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed71(o.data!); + checkUnnamed74(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -4334,7 +4456,7 @@ api.BackendServicesScopedList buildBackendServicesScopedList() { final o = api.BackendServicesScopedList(); buildCounterBackendServicesScopedList++; if (buildCounterBackendServicesScopedList < 3) { - o.backendServices = buildUnnamed70(); + o.backendServices = buildUnnamed73(); o.warning = buildBackendServicesScopedListWarning(); } buildCounterBackendServicesScopedList--; @@ -4344,7 +4466,7 @@ api.BackendServicesScopedList buildBackendServicesScopedList() { void checkBackendServicesScopedList(api.BackendServicesScopedList o) { buildCounterBackendServicesScopedList++; if (buildCounterBackendServicesScopedList < 3) { - checkUnnamed70(o.backendServices!); + checkUnnamed73(o.backendServices!); checkBackendServicesScopedListWarning(o.warning!); } buildCounterBackendServicesScopedList--; @@ -4429,12 +4551,12 @@ void checkBfdPacket(api.BfdPacket o) { buildCounterBfdPacket--; } -core.List buildUnnamed72() => [ +core.List buildUnnamed75() => [ buildPacketIntervals(), buildPacketIntervals(), ]; -void checkUnnamed72(core.List o) { +void checkUnnamed75(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPacketIntervals(o[0]); checkPacketIntervals(o[1]); @@ -4448,7 +4570,7 @@ api.BfdStatus buildBfdStatus() { o.bfdSessionInitializationMode = 'foo'; o.configUpdateTimestampMicros = 'foo'; o.controlPacketCounts = buildBfdStatusPacketCounts(); - o.controlPacketIntervals = buildUnnamed72(); + o.controlPacketIntervals = buildUnnamed75(); o.localDiagnostic = 'foo'; o.localState = 'foo'; o.negotiatedLocalControlTxIntervalMs = 42; @@ -4472,7 +4594,7 @@ void checkBfdStatus(api.BfdStatus o) { unittest.equals('foo'), ); checkBfdStatusPacketCounts(o.controlPacketCounts!); - checkUnnamed72(o.controlPacketIntervals!); + checkUnnamed75(o.controlPacketIntervals!); unittest.expect( o.localDiagnostic!, unittest.equals('foo'), @@ -4532,12 +4654,143 @@ void checkBfdStatusPacketCounts(api.BfdStatusPacketCounts o) { buildCounterBfdStatusPacketCounts--; } -core.List buildUnnamed73() => [ +core.List buildUnnamed76() => [ + buildBgpRouteAsPath(), + buildBgpRouteAsPath(), + ]; + +void checkUnnamed76(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkBgpRouteAsPath(o[0]); + checkBgpRouteAsPath(o[1]); +} + +core.List buildUnnamed77() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed77(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterBgpRoute = 0; +api.BgpRoute buildBgpRoute() { + final o = api.BgpRoute(); + buildCounterBgpRoute++; + if (buildCounterBgpRoute < 3) { + o.asPaths = buildUnnamed76(); + o.communities = buildUnnamed77(); + o.destination = buildBgpRouteNetworkLayerReachabilityInformation(); + o.med = 42; + o.origin = 'foo'; + } + buildCounterBgpRoute--; + return o; +} + +void checkBgpRoute(api.BgpRoute o) { + buildCounterBgpRoute++; + if (buildCounterBgpRoute < 3) { + checkUnnamed76(o.asPaths!); + checkUnnamed77(o.communities!); + checkBgpRouteNetworkLayerReachabilityInformation(o.destination!); + unittest.expect( + o.med!, + unittest.equals(42), + ); + unittest.expect( + o.origin!, + unittest.equals('foo'), + ); + } + buildCounterBgpRoute--; +} + +core.List buildUnnamed78() => [ + 42, + 42, + ]; + +void checkUnnamed78(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals(42), + ); + unittest.expect( + o[1], + unittest.equals(42), + ); +} + +core.int buildCounterBgpRouteAsPath = 0; +api.BgpRouteAsPath buildBgpRouteAsPath() { + final o = api.BgpRouteAsPath(); + buildCounterBgpRouteAsPath++; + if (buildCounterBgpRouteAsPath < 3) { + o.asns = buildUnnamed78(); + o.type = 'foo'; + } + buildCounterBgpRouteAsPath--; + return o; +} + +void checkBgpRouteAsPath(api.BgpRouteAsPath o) { + buildCounterBgpRouteAsPath++; + if (buildCounterBgpRouteAsPath < 3) { + checkUnnamed78(o.asns!); + unittest.expect( + o.type!, + unittest.equals('foo'), + ); + } + buildCounterBgpRouteAsPath--; +} + +core.int buildCounterBgpRouteNetworkLayerReachabilityInformation = 0; +api.BgpRouteNetworkLayerReachabilityInformation + buildBgpRouteNetworkLayerReachabilityInformation() { + final o = api.BgpRouteNetworkLayerReachabilityInformation(); + buildCounterBgpRouteNetworkLayerReachabilityInformation++; + if (buildCounterBgpRouteNetworkLayerReachabilityInformation < 3) { + o.pathId = 42; + o.prefix = 'foo'; + } + buildCounterBgpRouteNetworkLayerReachabilityInformation--; + return o; +} + +void checkBgpRouteNetworkLayerReachabilityInformation( + api.BgpRouteNetworkLayerReachabilityInformation o) { + buildCounterBgpRouteNetworkLayerReachabilityInformation++; + if (buildCounterBgpRouteNetworkLayerReachabilityInformation < 3) { + unittest.expect( + o.pathId!, + unittest.equals(42), + ); + unittest.expect( + o.prefix!, + unittest.equals('foo'), + ); + } + buildCounterBgpRouteNetworkLayerReachabilityInformation--; +} + +core.List buildUnnamed79() => [ 'foo', 'foo', ]; -void checkUnnamed73(core.List o) { +void checkUnnamed79(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4555,7 +4808,7 @@ api.Binding buildBinding() { buildCounterBinding++; if (buildCounterBinding < 3) { o.condition = buildExpr(); - o.members = buildUnnamed73(); + o.members = buildUnnamed79(); o.role = 'foo'; } buildCounterBinding--; @@ -4566,7 +4819,7 @@ void checkBinding(api.Binding o) { buildCounterBinding++; if (buildCounterBinding < 3) { checkExpr(o.condition!); - checkUnnamed73(o.members!); + checkUnnamed79(o.members!); unittest.expect( o.role!, unittest.equals('foo'), @@ -4598,12 +4851,12 @@ void checkBulkInsertDiskResource(api.BulkInsertDiskResource o) { } core.Map - buildUnnamed74() => { + buildUnnamed80() => { 'x': buildBulkInsertInstanceResourcePerInstanceProperties(), 'y': buildBulkInsertInstanceResourcePerInstanceProperties(), }; -void checkUnnamed74( +void checkUnnamed80( core.Map o) { unittest.expect(o, unittest.hasLength(2)); @@ -4621,7 +4874,7 @@ api.BulkInsertInstanceResource buildBulkInsertInstanceResource() { o.locationPolicy = buildLocationPolicy(); o.minCount = 'foo'; o.namePattern = 'foo'; - o.perInstanceProperties = buildUnnamed74(); + o.perInstanceProperties = buildUnnamed80(); o.sourceInstanceTemplate = 'foo'; } buildCounterBulkInsertInstanceResource--; @@ -4645,7 +4898,7 @@ void checkBulkInsertInstanceResource(api.BulkInsertInstanceResource o) { o.namePattern!, unittest.equals('foo'), ); - checkUnnamed74(o.perInstanceProperties!); + checkUnnamed80(o.perInstanceProperties!); unittest.expect( o.sourceInstanceTemplate!, unittest.equals('foo'), @@ -4752,12 +5005,12 @@ void checkCacheInvalidationRule(api.CacheInvalidationRule o) { buildCounterCacheInvalidationRule--; } -core.List buildUnnamed75() => [ +core.List buildUnnamed81() => [ 'foo', 'foo', ]; -void checkUnnamed75(core.List o) { +void checkUnnamed81(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4769,12 +5022,12 @@ void checkUnnamed75(core.List o) { ); } -core.List buildUnnamed76() => [ +core.List buildUnnamed82() => [ 'foo', 'foo', ]; -void checkUnnamed76(core.List o) { +void checkUnnamed82(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4786,12 +5039,12 @@ void checkUnnamed76(core.List o) { ); } -core.List buildUnnamed77() => [ +core.List buildUnnamed83() => [ 'foo', 'foo', ]; -void checkUnnamed77(core.List o) { +void checkUnnamed83(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4803,12 +5056,12 @@ void checkUnnamed77(core.List o) { ); } -core.List buildUnnamed78() => [ +core.List buildUnnamed84() => [ 'foo', 'foo', ]; -void checkUnnamed78(core.List o) { +void checkUnnamed84(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4826,12 +5079,12 @@ api.CacheKeyPolicy buildCacheKeyPolicy() { buildCounterCacheKeyPolicy++; if (buildCounterCacheKeyPolicy < 3) { o.includeHost = true; - o.includeHttpHeaders = buildUnnamed75(); - o.includeNamedCookies = buildUnnamed76(); + o.includeHttpHeaders = buildUnnamed81(); + o.includeNamedCookies = buildUnnamed82(); o.includeProtocol = true; o.includeQueryString = true; - o.queryStringBlacklist = buildUnnamed77(); - o.queryStringWhitelist = buildUnnamed78(); + o.queryStringBlacklist = buildUnnamed83(); + o.queryStringWhitelist = buildUnnamed84(); } buildCounterCacheKeyPolicy--; return o; @@ -4841,12 +5094,12 @@ void checkCacheKeyPolicy(api.CacheKeyPolicy o) { buildCounterCacheKeyPolicy++; if (buildCounterCacheKeyPolicy < 3) { unittest.expect(o.includeHost!, unittest.isTrue); - checkUnnamed75(o.includeHttpHeaders!); - checkUnnamed76(o.includeNamedCookies!); + checkUnnamed81(o.includeHttpHeaders!); + checkUnnamed82(o.includeNamedCookies!); unittest.expect(o.includeProtocol!, unittest.isTrue); unittest.expect(o.includeQueryString!, unittest.isTrue); - checkUnnamed77(o.queryStringBlacklist!); - checkUnnamed78(o.queryStringWhitelist!); + checkUnnamed83(o.queryStringBlacklist!); + checkUnnamed84(o.queryStringWhitelist!); } buildCounterCacheKeyPolicy--; } @@ -4893,12 +5146,12 @@ void checkCircuitBreakers(api.CircuitBreakers o) { buildCounterCircuitBreakers--; } -core.List buildUnnamed79() => [ +core.List buildUnnamed85() => [ 'foo', 'foo', ]; -void checkUnnamed79(core.List o) { +void checkUnnamed85(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4910,12 +5163,12 @@ void checkUnnamed79(core.List o) { ); } -core.List buildUnnamed80() => [ +core.List buildUnnamed86() => [ 'foo', 'foo', ]; -void checkUnnamed80(core.List o) { +void checkUnnamed86(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4927,23 +5180,23 @@ void checkUnnamed80(core.List o) { ); } -core.List buildUnnamed81() => [ +core.List buildUnnamed87() => [ buildReservation(), buildReservation(), ]; -void checkUnnamed81(core.List o) { +void checkUnnamed87(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReservation(o[0]); checkReservation(o[1]); } -core.List buildUnnamed82() => [ +core.List buildUnnamed88() => [ buildResourceCommitment(), buildResourceCommitment(), ]; -void checkUnnamed82(core.List o) { +void checkUnnamed88(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkResourceCommitment(o[0]); checkResourceCommitment(o[1]); @@ -4960,17 +5213,17 @@ api.Commitment buildCommitment() { o.customEndTimestamp = 'foo'; o.description = 'foo'; o.endTimestamp = 'foo'; - o.existingReservations = buildUnnamed79(); + o.existingReservations = buildUnnamed85(); o.id = 'foo'; o.kind = 'foo'; o.licenseResource = buildLicenseResourceCommitment(); - o.mergeSourceCommitments = buildUnnamed80(); + o.mergeSourceCommitments = buildUnnamed86(); o.name = 'foo'; o.plan = 'foo'; o.region = 'foo'; - o.reservations = buildUnnamed81(); + o.reservations = buildUnnamed87(); o.resourceStatus = buildCommitmentResourceStatus(); - o.resources = buildUnnamed82(); + o.resources = buildUnnamed88(); o.selfLink = 'foo'; o.splitSourceCommitment = 'foo'; o.startTimestamp = 'foo'; @@ -5006,7 +5259,7 @@ void checkCommitment(api.Commitment o) { o.endTimestamp!, unittest.equals('foo'), ); - checkUnnamed79(o.existingReservations!); + checkUnnamed85(o.existingReservations!); unittest.expect( o.id!, unittest.equals('foo'), @@ -5016,7 +5269,7 @@ void checkCommitment(api.Commitment o) { unittest.equals('foo'), ); checkLicenseResourceCommitment(o.licenseResource!); - checkUnnamed80(o.mergeSourceCommitments!); + checkUnnamed86(o.mergeSourceCommitments!); unittest.expect( o.name!, unittest.equals('foo'), @@ -5029,9 +5282,9 @@ void checkCommitment(api.Commitment o) { o.region!, unittest.equals('foo'), ); - checkUnnamed81(o.reservations!); + checkUnnamed87(o.reservations!); checkCommitmentResourceStatus(o.resourceStatus!); - checkUnnamed82(o.resources!); + checkUnnamed88(o.resources!); unittest.expect( o.selfLink!, unittest.equals('foo'), @@ -5060,23 +5313,23 @@ void checkCommitment(api.Commitment o) { buildCounterCommitment--; } -core.Map buildUnnamed83() => { +core.Map buildUnnamed89() => { 'x': buildCommitmentsScopedList(), 'y': buildCommitmentsScopedList(), }; -void checkUnnamed83(core.Map o) { +void checkUnnamed89(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkCommitmentsScopedList(o['x']!); checkCommitmentsScopedList(o['y']!); } -core.List buildUnnamed84() => [ +core.List buildUnnamed90() => [ 'foo', 'foo', ]; -void checkUnnamed84(core.List o) { +void checkUnnamed90(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5117,12 +5370,12 @@ void checkCommitmentAggregatedListWarningData( buildCounterCommitmentAggregatedListWarningData--; } -core.List buildUnnamed85() => [ +core.List buildUnnamed91() => [ buildCommitmentAggregatedListWarningData(), buildCommitmentAggregatedListWarningData(), ]; -void checkUnnamed85(core.List o) { +void checkUnnamed91(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCommitmentAggregatedListWarningData(o[0]); checkCommitmentAggregatedListWarningData(o[1]); @@ -5134,7 +5387,7 @@ api.CommitmentAggregatedListWarning buildCommitmentAggregatedListWarning() { buildCounterCommitmentAggregatedListWarning++; if (buildCounterCommitmentAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed85(); + o.data = buildUnnamed91(); o.message = 'foo'; } buildCounterCommitmentAggregatedListWarning--; @@ -5149,7 +5402,7 @@ void checkCommitmentAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed85(o.data!); + checkUnnamed91(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -5164,11 +5417,11 @@ api.CommitmentAggregatedList buildCommitmentAggregatedList() { buildCounterCommitmentAggregatedList++; if (buildCounterCommitmentAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed83(); + o.items = buildUnnamed89(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed84(); + o.unreachables = buildUnnamed90(); o.warning = buildCommitmentAggregatedListWarning(); } buildCounterCommitmentAggregatedList--; @@ -5182,7 +5435,7 @@ void checkCommitmentAggregatedList(api.CommitmentAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed83(o.items!); + checkUnnamed89(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -5195,18 +5448,18 @@ void checkCommitmentAggregatedList(api.CommitmentAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed84(o.unreachables!); + checkUnnamed90(o.unreachables!); checkCommitmentAggregatedListWarning(o.warning!); } buildCounterCommitmentAggregatedList--; } -core.List buildUnnamed86() => [ +core.List buildUnnamed92() => [ buildCommitment(), buildCommitment(), ]; -void checkUnnamed86(core.List o) { +void checkUnnamed92(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCommitment(o[0]); checkCommitment(o[1]); @@ -5239,12 +5492,12 @@ void checkCommitmentListWarningData(api.CommitmentListWarningData o) { buildCounterCommitmentListWarningData--; } -core.List buildUnnamed87() => [ +core.List buildUnnamed93() => [ buildCommitmentListWarningData(), buildCommitmentListWarningData(), ]; -void checkUnnamed87(core.List o) { +void checkUnnamed93(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCommitmentListWarningData(o[0]); checkCommitmentListWarningData(o[1]); @@ -5256,7 +5509,7 @@ api.CommitmentListWarning buildCommitmentListWarning() { buildCounterCommitmentListWarning++; if (buildCounterCommitmentListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed87(); + o.data = buildUnnamed93(); o.message = 'foo'; } buildCounterCommitmentListWarning--; @@ -5270,7 +5523,7 @@ void checkCommitmentListWarning(api.CommitmentListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed87(o.data!); + checkUnnamed93(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -5285,7 +5538,7 @@ api.CommitmentList buildCommitmentList() { buildCounterCommitmentList++; if (buildCounterCommitmentList < 3) { o.id = 'foo'; - o.items = buildUnnamed86(); + o.items = buildUnnamed92(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -5302,7 +5555,7 @@ void checkCommitmentList(api.CommitmentList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed86(o.items!); + checkUnnamed92(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -5342,12 +5595,12 @@ void checkCommitmentResourceStatus(api.CommitmentResourceStatus o) { buildCounterCommitmentResourceStatus--; } -core.List buildUnnamed88() => [ +core.List buildUnnamed94() => [ buildCommitment(), buildCommitment(), ]; -void checkUnnamed88(core.List o) { +void checkUnnamed94(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCommitment(o[0]); checkCommitment(o[1]); @@ -5381,12 +5634,12 @@ void checkCommitmentsScopedListWarningData( buildCounterCommitmentsScopedListWarningData--; } -core.List buildUnnamed89() => [ +core.List buildUnnamed95() => [ buildCommitmentsScopedListWarningData(), buildCommitmentsScopedListWarningData(), ]; -void checkUnnamed89(core.List o) { +void checkUnnamed95(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCommitmentsScopedListWarningData(o[0]); checkCommitmentsScopedListWarningData(o[1]); @@ -5398,7 +5651,7 @@ api.CommitmentsScopedListWarning buildCommitmentsScopedListWarning() { buildCounterCommitmentsScopedListWarning++; if (buildCounterCommitmentsScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed89(); + o.data = buildUnnamed95(); o.message = 'foo'; } buildCounterCommitmentsScopedListWarning--; @@ -5412,7 +5665,7 @@ void checkCommitmentsScopedListWarning(api.CommitmentsScopedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed89(o.data!); + checkUnnamed95(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -5426,7 +5679,7 @@ api.CommitmentsScopedList buildCommitmentsScopedList() { final o = api.CommitmentsScopedList(); buildCounterCommitmentsScopedList++; if (buildCounterCommitmentsScopedList < 3) { - o.commitments = buildUnnamed88(); + o.commitments = buildUnnamed94(); o.warning = buildCommitmentsScopedListWarning(); } buildCounterCommitmentsScopedList--; @@ -5436,7 +5689,7 @@ api.CommitmentsScopedList buildCommitmentsScopedList() { void checkCommitmentsScopedList(api.CommitmentsScopedList o) { buildCounterCommitmentsScopedList++; if (buildCounterCommitmentsScopedList < 3) { - checkUnnamed88(o.commitments!); + checkUnnamed94(o.commitments!); checkCommitmentsScopedListWarning(o.warning!); } buildCounterCommitmentsScopedList--; @@ -5550,12 +5803,12 @@ void checkConsistentHashLoadBalancerSettingsHttpCookie( buildCounterConsistentHashLoadBalancerSettingsHttpCookie--; } -core.List buildUnnamed90() => [ +core.List buildUnnamed96() => [ 'foo', 'foo', ]; -void checkUnnamed90(core.List o) { +void checkUnnamed96(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5567,12 +5820,12 @@ void checkUnnamed90(core.List o) { ); } -core.List buildUnnamed91() => [ +core.List buildUnnamed97() => [ 'foo', 'foo', ]; -void checkUnnamed91(core.List o) { +void checkUnnamed97(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5584,12 +5837,12 @@ void checkUnnamed91(core.List o) { ); } -core.List buildUnnamed92() => [ +core.List buildUnnamed98() => [ 'foo', 'foo', ]; -void checkUnnamed92(core.List o) { +void checkUnnamed98(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5601,12 +5854,12 @@ void checkUnnamed92(core.List o) { ); } -core.List buildUnnamed93() => [ +core.List buildUnnamed99() => [ 'foo', 'foo', ]; -void checkUnnamed93(core.List o) { +void checkUnnamed99(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5618,12 +5871,12 @@ void checkUnnamed93(core.List o) { ); } -core.List buildUnnamed94() => [ +core.List buildUnnamed100() => [ 'foo', 'foo', ]; -void checkUnnamed94(core.List o) { +void checkUnnamed100(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5641,12 +5894,12 @@ api.CorsPolicy buildCorsPolicy() { buildCounterCorsPolicy++; if (buildCounterCorsPolicy < 3) { o.allowCredentials = true; - o.allowHeaders = buildUnnamed90(); - o.allowMethods = buildUnnamed91(); - o.allowOriginRegexes = buildUnnamed92(); - o.allowOrigins = buildUnnamed93(); + o.allowHeaders = buildUnnamed96(); + o.allowMethods = buildUnnamed97(); + o.allowOriginRegexes = buildUnnamed98(); + o.allowOrigins = buildUnnamed99(); o.disabled = true; - o.exposeHeaders = buildUnnamed94(); + o.exposeHeaders = buildUnnamed100(); o.maxAge = 42; } buildCounterCorsPolicy--; @@ -5657,12 +5910,12 @@ void checkCorsPolicy(api.CorsPolicy o) { buildCounterCorsPolicy++; if (buildCounterCorsPolicy < 3) { unittest.expect(o.allowCredentials!, unittest.isTrue); - checkUnnamed90(o.allowHeaders!); - checkUnnamed91(o.allowMethods!); - checkUnnamed92(o.allowOriginRegexes!); - checkUnnamed93(o.allowOrigins!); + checkUnnamed96(o.allowHeaders!); + checkUnnamed97(o.allowMethods!); + checkUnnamed98(o.allowOriginRegexes!); + checkUnnamed99(o.allowOrigins!); unittest.expect(o.disabled!, unittest.isTrue); - checkUnnamed94(o.exposeHeaders!); + checkUnnamed100(o.exposeHeaders!); unittest.expect( o.maxAge!, unittest.equals(42), @@ -5672,12 +5925,12 @@ void checkCorsPolicy(api.CorsPolicy o) { } core.List - buildUnnamed95() => [ + buildUnnamed101() => [ buildCustomErrorResponsePolicyCustomErrorResponseRule(), buildCustomErrorResponsePolicyCustomErrorResponseRule(), ]; -void checkUnnamed95( +void checkUnnamed101( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCustomErrorResponsePolicyCustomErrorResponseRule(o[0]); @@ -5689,7 +5942,7 @@ api.CustomErrorResponsePolicy buildCustomErrorResponsePolicy() { final o = api.CustomErrorResponsePolicy(); buildCounterCustomErrorResponsePolicy++; if (buildCounterCustomErrorResponsePolicy < 3) { - o.errorResponseRules = buildUnnamed95(); + o.errorResponseRules = buildUnnamed101(); o.errorService = 'foo'; } buildCounterCustomErrorResponsePolicy--; @@ -5699,7 +5952,7 @@ api.CustomErrorResponsePolicy buildCustomErrorResponsePolicy() { void checkCustomErrorResponsePolicy(api.CustomErrorResponsePolicy o) { buildCounterCustomErrorResponsePolicy++; if (buildCounterCustomErrorResponsePolicy < 3) { - checkUnnamed95(o.errorResponseRules!); + checkUnnamed101(o.errorResponseRules!); unittest.expect( o.errorService!, unittest.equals('foo'), @@ -5708,12 +5961,12 @@ void checkCustomErrorResponsePolicy(api.CustomErrorResponsePolicy o) { buildCounterCustomErrorResponsePolicy--; } -core.List buildUnnamed96() => [ +core.List buildUnnamed102() => [ 'foo', 'foo', ]; -void checkUnnamed96(core.List o) { +void checkUnnamed102(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5731,7 +5984,7 @@ api.CustomErrorResponsePolicyCustomErrorResponseRule final o = api.CustomErrorResponsePolicyCustomErrorResponseRule(); buildCounterCustomErrorResponsePolicyCustomErrorResponseRule++; if (buildCounterCustomErrorResponsePolicyCustomErrorResponseRule < 3) { - o.matchResponseCodes = buildUnnamed96(); + o.matchResponseCodes = buildUnnamed102(); o.overrideResponseCode = 42; o.path = 'foo'; } @@ -5743,7 +5996,7 @@ void checkCustomErrorResponsePolicyCustomErrorResponseRule( api.CustomErrorResponsePolicyCustomErrorResponseRule o) { buildCounterCustomErrorResponsePolicyCustomErrorResponseRule++; if (buildCounterCustomErrorResponsePolicyCustomErrorResponseRule < 3) { - checkUnnamed96(o.matchResponseCodes!); + checkUnnamed102(o.matchResponseCodes!); unittest.expect( o.overrideResponseCode!, unittest.equals(42), @@ -5866,34 +6119,34 @@ void checkDeprecationStatus(api.DeprecationStatus o) { buildCounterDeprecationStatus--; } -core.Map buildUnnamed97() => { +core.Map buildUnnamed103() => { 'x': buildDiskAsyncReplicationList(), 'y': buildDiskAsyncReplicationList(), }; -void checkUnnamed97(core.Map o) { +void checkUnnamed103(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkDiskAsyncReplicationList(o['x']!); checkDiskAsyncReplicationList(o['y']!); } -core.List buildUnnamed98() => [ +core.List buildUnnamed104() => [ buildGuestOsFeature(), buildGuestOsFeature(), ]; -void checkUnnamed98(core.List o) { +void checkUnnamed104(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGuestOsFeature(o[0]); checkGuestOsFeature(o[1]); } -core.Map buildUnnamed99() => { +core.Map buildUnnamed105() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed99(core.Map o) { +void checkUnnamed105(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -5905,12 +6158,12 @@ void checkUnnamed99(core.Map o) { ); } -core.List buildUnnamed100() => [ +core.List buildUnnamed106() => [ 'foo', 'foo', ]; -void checkUnnamed100(core.List o) { +void checkUnnamed106(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5922,12 +6175,12 @@ void checkUnnamed100(core.List o) { ); } -core.List buildUnnamed101() => [ +core.List buildUnnamed107() => [ 'foo', 'foo', ]; -void checkUnnamed101(core.List o) { +void checkUnnamed107(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5939,12 +6192,12 @@ void checkUnnamed101(core.List o) { ); } -core.List buildUnnamed102() => [ +core.List buildUnnamed108() => [ 'foo', 'foo', ]; -void checkUnnamed102(core.List o) { +void checkUnnamed108(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5956,12 +6209,12 @@ void checkUnnamed102(core.List o) { ); } -core.List buildUnnamed103() => [ +core.List buildUnnamed109() => [ 'foo', 'foo', ]; -void checkUnnamed103(core.List o) { +void checkUnnamed109(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5973,12 +6226,12 @@ void checkUnnamed103(core.List o) { ); } -core.List buildUnnamed104() => [ +core.List buildUnnamed110() => [ 'foo', 'foo', ]; -void checkUnnamed104(core.List o) { +void checkUnnamed110(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5998,20 +6251,20 @@ api.Disk buildDisk() { o.accessMode = 'foo'; o.architecture = 'foo'; o.asyncPrimaryDisk = buildDiskAsyncReplication(); - o.asyncSecondaryDisks = buildUnnamed97(); + o.asyncSecondaryDisks = buildUnnamed103(); o.creationTimestamp = 'foo'; o.description = 'foo'; o.diskEncryptionKey = buildCustomerEncryptionKey(); o.enableConfidentialCompute = true; - o.guestOsFeatures = buildUnnamed98(); + o.guestOsFeatures = buildUnnamed104(); o.id = 'foo'; o.kind = 'foo'; o.labelFingerprint = 'foo'; - o.labels = buildUnnamed99(); + o.labels = buildUnnamed105(); o.lastAttachTimestamp = 'foo'; o.lastDetachTimestamp = 'foo'; - o.licenseCodes = buildUnnamed100(); - o.licenses = buildUnnamed101(); + o.licenseCodes = buildUnnamed106(); + o.licenses = buildUnnamed107(); o.locationHint = 'foo'; o.name = 'foo'; o.options = 'foo'; @@ -6020,8 +6273,8 @@ api.Disk buildDisk() { o.provisionedIops = 'foo'; o.provisionedThroughput = 'foo'; o.region = 'foo'; - o.replicaZones = buildUnnamed102(); - o.resourcePolicies = buildUnnamed103(); + o.replicaZones = buildUnnamed108(); + o.resourcePolicies = buildUnnamed109(); o.resourceStatus = buildDiskResourceStatus(); o.satisfiesPzi = true; o.satisfiesPzs = true; @@ -6043,7 +6296,7 @@ api.Disk buildDisk() { o.status = 'foo'; o.storagePool = 'foo'; o.type = 'foo'; - o.users = buildUnnamed104(); + o.users = buildUnnamed110(); o.zone = 'foo'; } buildCounterDisk--; @@ -6062,7 +6315,7 @@ void checkDisk(api.Disk o) { unittest.equals('foo'), ); checkDiskAsyncReplication(o.asyncPrimaryDisk!); - checkUnnamed97(o.asyncSecondaryDisks!); + checkUnnamed103(o.asyncSecondaryDisks!); unittest.expect( o.creationTimestamp!, unittest.equals('foo'), @@ -6073,7 +6326,7 @@ void checkDisk(api.Disk o) { ); checkCustomerEncryptionKey(o.diskEncryptionKey!); unittest.expect(o.enableConfidentialCompute!, unittest.isTrue); - checkUnnamed98(o.guestOsFeatures!); + checkUnnamed104(o.guestOsFeatures!); unittest.expect( o.id!, unittest.equals('foo'), @@ -6086,7 +6339,7 @@ void checkDisk(api.Disk o) { o.labelFingerprint!, unittest.equals('foo'), ); - checkUnnamed99(o.labels!); + checkUnnamed105(o.labels!); unittest.expect( o.lastAttachTimestamp!, unittest.equals('foo'), @@ -6095,8 +6348,8 @@ void checkDisk(api.Disk o) { o.lastDetachTimestamp!, unittest.equals('foo'), ); - checkUnnamed100(o.licenseCodes!); - checkUnnamed101(o.licenses!); + checkUnnamed106(o.licenseCodes!); + checkUnnamed107(o.licenses!); unittest.expect( o.locationHint!, unittest.equals('foo'), @@ -6126,8 +6379,8 @@ void checkDisk(api.Disk o) { o.region!, unittest.equals('foo'), ); - checkUnnamed102(o.replicaZones!); - checkUnnamed103(o.resourcePolicies!); + checkUnnamed108(o.replicaZones!); + checkUnnamed109(o.resourcePolicies!); checkDiskResourceStatus(o.resourceStatus!); unittest.expect(o.satisfiesPzi!, unittest.isTrue); unittest.expect(o.satisfiesPzs!, unittest.isTrue); @@ -6197,7 +6450,7 @@ void checkDisk(api.Disk o) { o.type!, unittest.equals('foo'), ); - checkUnnamed104(o.users!); + checkUnnamed110(o.users!); unittest.expect( o.zone!, unittest.equals('foo'), @@ -6206,23 +6459,23 @@ void checkDisk(api.Disk o) { buildCounterDisk--; } -core.Map buildUnnamed105() => { +core.Map buildUnnamed111() => { 'x': buildDisksScopedList(), 'y': buildDisksScopedList(), }; -void checkUnnamed105(core.Map o) { +void checkUnnamed111(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkDisksScopedList(o['x']!); checkDisksScopedList(o['y']!); } -core.List buildUnnamed106() => [ +core.List buildUnnamed112() => [ 'foo', 'foo', ]; -void checkUnnamed106(core.List o) { +void checkUnnamed112(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6261,12 +6514,12 @@ void checkDiskAggregatedListWarningData(api.DiskAggregatedListWarningData o) { buildCounterDiskAggregatedListWarningData--; } -core.List buildUnnamed107() => [ +core.List buildUnnamed113() => [ buildDiskAggregatedListWarningData(), buildDiskAggregatedListWarningData(), ]; -void checkUnnamed107(core.List o) { +void checkUnnamed113(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDiskAggregatedListWarningData(o[0]); checkDiskAggregatedListWarningData(o[1]); @@ -6278,7 +6531,7 @@ api.DiskAggregatedListWarning buildDiskAggregatedListWarning() { buildCounterDiskAggregatedListWarning++; if (buildCounterDiskAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed107(); + o.data = buildUnnamed113(); o.message = 'foo'; } buildCounterDiskAggregatedListWarning--; @@ -6292,7 +6545,7 @@ void checkDiskAggregatedListWarning(api.DiskAggregatedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed107(o.data!); + checkUnnamed113(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -6307,11 +6560,11 @@ api.DiskAggregatedList buildDiskAggregatedList() { buildCounterDiskAggregatedList++; if (buildCounterDiskAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed105(); + o.items = buildUnnamed111(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed106(); + o.unreachables = buildUnnamed112(); o.warning = buildDiskAggregatedListWarning(); } buildCounterDiskAggregatedList--; @@ -6325,7 +6578,7 @@ void checkDiskAggregatedList(api.DiskAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed105(o.items!); + checkUnnamed111(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -6338,7 +6591,7 @@ void checkDiskAggregatedList(api.DiskAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed106(o.unreachables!); + checkUnnamed112(o.unreachables!); checkDiskAggregatedListWarning(o.warning!); } buildCounterDiskAggregatedList--; @@ -6434,12 +6687,12 @@ void checkDiskInstantiationConfig(api.DiskInstantiationConfig o) { buildCounterDiskInstantiationConfig--; } -core.List buildUnnamed108() => [ +core.List buildUnnamed114() => [ buildDisk(), buildDisk(), ]; -void checkUnnamed108(core.List o) { +void checkUnnamed114(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDisk(o[0]); checkDisk(o[1]); @@ -6472,12 +6725,12 @@ void checkDiskListWarningData(api.DiskListWarningData o) { buildCounterDiskListWarningData--; } -core.List buildUnnamed109() => [ +core.List buildUnnamed115() => [ buildDiskListWarningData(), buildDiskListWarningData(), ]; -void checkUnnamed109(core.List o) { +void checkUnnamed115(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDiskListWarningData(o[0]); checkDiskListWarningData(o[1]); @@ -6489,7 +6742,7 @@ api.DiskListWarning buildDiskListWarning() { buildCounterDiskListWarning++; if (buildCounterDiskListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed109(); + o.data = buildUnnamed115(); o.message = 'foo'; } buildCounterDiskListWarning--; @@ -6503,7 +6756,7 @@ void checkDiskListWarning(api.DiskListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed109(o.data!); + checkUnnamed115(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -6518,7 +6771,7 @@ api.DiskList buildDiskList() { buildCounterDiskList++; if (buildCounterDiskList < 3) { o.id = 'foo'; - o.items = buildUnnamed108(); + o.items = buildUnnamed114(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -6535,7 +6788,7 @@ void checkDiskList(api.DiskList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed108(o.items!); + checkUnnamed114(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -6580,12 +6833,12 @@ void checkDiskMoveRequest(api.DiskMoveRequest o) { buildCounterDiskMoveRequest--; } -core.Map buildUnnamed110() => { +core.Map buildUnnamed116() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed110(core.Map o) { +void checkUnnamed116(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -6602,7 +6855,7 @@ api.DiskParams buildDiskParams() { final o = api.DiskParams(); buildCounterDiskParams++; if (buildCounterDiskParams < 3) { - o.resourceManagerTags = buildUnnamed110(); + o.resourceManagerTags = buildUnnamed116(); } buildCounterDiskParams--; return o; @@ -6611,18 +6864,18 @@ api.DiskParams buildDiskParams() { void checkDiskParams(api.DiskParams o) { buildCounterDiskParams++; if (buildCounterDiskParams < 3) { - checkUnnamed110(o.resourceManagerTags!); + checkUnnamed116(o.resourceManagerTags!); } buildCounterDiskParams--; } core.Map - buildUnnamed111() => { + buildUnnamed117() => { 'x': buildDiskResourceStatusAsyncReplicationStatus(), 'y': buildDiskResourceStatusAsyncReplicationStatus(), }; -void checkUnnamed111( +void checkUnnamed117( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkDiskResourceStatusAsyncReplicationStatus(o['x']!); @@ -6635,7 +6888,7 @@ api.DiskResourceStatus buildDiskResourceStatus() { buildCounterDiskResourceStatus++; if (buildCounterDiskResourceStatus < 3) { o.asyncPrimaryDisk = buildDiskResourceStatusAsyncReplicationStatus(); - o.asyncSecondaryDisks = buildUnnamed111(); + o.asyncSecondaryDisks = buildUnnamed117(); } buildCounterDiskResourceStatus--; return o; @@ -6645,7 +6898,7 @@ void checkDiskResourceStatus(api.DiskResourceStatus o) { buildCounterDiskResourceStatus++; if (buildCounterDiskResourceStatus < 3) { checkDiskResourceStatusAsyncReplicationStatus(o.asyncPrimaryDisk!); - checkUnnamed111(o.asyncSecondaryDisks!); + checkUnnamed117(o.asyncSecondaryDisks!); } buildCounterDiskResourceStatus--; } @@ -6743,23 +6996,23 @@ void checkDiskType(api.DiskType o) { buildCounterDiskType--; } -core.Map buildUnnamed112() => { +core.Map buildUnnamed118() => { 'x': buildDiskTypesScopedList(), 'y': buildDiskTypesScopedList(), }; -void checkUnnamed112(core.Map o) { +void checkUnnamed118(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkDiskTypesScopedList(o['x']!); checkDiskTypesScopedList(o['y']!); } -core.List buildUnnamed113() => [ +core.List buildUnnamed119() => [ 'foo', 'foo', ]; -void checkUnnamed113(core.List o) { +void checkUnnamed119(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6799,12 +7052,12 @@ void checkDiskTypeAggregatedListWarningData( buildCounterDiskTypeAggregatedListWarningData--; } -core.List buildUnnamed114() => [ +core.List buildUnnamed120() => [ buildDiskTypeAggregatedListWarningData(), buildDiskTypeAggregatedListWarningData(), ]; -void checkUnnamed114(core.List o) { +void checkUnnamed120(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDiskTypeAggregatedListWarningData(o[0]); checkDiskTypeAggregatedListWarningData(o[1]); @@ -6816,7 +7069,7 @@ api.DiskTypeAggregatedListWarning buildDiskTypeAggregatedListWarning() { buildCounterDiskTypeAggregatedListWarning++; if (buildCounterDiskTypeAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed114(); + o.data = buildUnnamed120(); o.message = 'foo'; } buildCounterDiskTypeAggregatedListWarning--; @@ -6830,7 +7083,7 @@ void checkDiskTypeAggregatedListWarning(api.DiskTypeAggregatedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed114(o.data!); + checkUnnamed120(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -6845,11 +7098,11 @@ api.DiskTypeAggregatedList buildDiskTypeAggregatedList() { buildCounterDiskTypeAggregatedList++; if (buildCounterDiskTypeAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed112(); + o.items = buildUnnamed118(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed113(); + o.unreachables = buildUnnamed119(); o.warning = buildDiskTypeAggregatedListWarning(); } buildCounterDiskTypeAggregatedList--; @@ -6863,7 +7116,7 @@ void checkDiskTypeAggregatedList(api.DiskTypeAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed112(o.items!); + checkUnnamed118(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -6876,18 +7129,18 @@ void checkDiskTypeAggregatedList(api.DiskTypeAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed113(o.unreachables!); + checkUnnamed119(o.unreachables!); checkDiskTypeAggregatedListWarning(o.warning!); } buildCounterDiskTypeAggregatedList--; } -core.List buildUnnamed115() => [ +core.List buildUnnamed121() => [ buildDiskType(), buildDiskType(), ]; -void checkUnnamed115(core.List o) { +void checkUnnamed121(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDiskType(o[0]); checkDiskType(o[1]); @@ -6920,12 +7173,12 @@ void checkDiskTypeListWarningData(api.DiskTypeListWarningData o) { buildCounterDiskTypeListWarningData--; } -core.List buildUnnamed116() => [ +core.List buildUnnamed122() => [ buildDiskTypeListWarningData(), buildDiskTypeListWarningData(), ]; -void checkUnnamed116(core.List o) { +void checkUnnamed122(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDiskTypeListWarningData(o[0]); checkDiskTypeListWarningData(o[1]); @@ -6937,7 +7190,7 @@ api.DiskTypeListWarning buildDiskTypeListWarning() { buildCounterDiskTypeListWarning++; if (buildCounterDiskTypeListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed116(); + o.data = buildUnnamed122(); o.message = 'foo'; } buildCounterDiskTypeListWarning--; @@ -6951,7 +7204,7 @@ void checkDiskTypeListWarning(api.DiskTypeListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed116(o.data!); + checkUnnamed122(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -6966,7 +7219,7 @@ api.DiskTypeList buildDiskTypeList() { buildCounterDiskTypeList++; if (buildCounterDiskTypeList < 3) { o.id = 'foo'; - o.items = buildUnnamed115(); + o.items = buildUnnamed121(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -6983,7 +7236,7 @@ void checkDiskTypeList(api.DiskTypeList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed115(o.items!); + checkUnnamed121(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -7001,12 +7254,12 @@ void checkDiskTypeList(api.DiskTypeList o) { buildCounterDiskTypeList--; } -core.List buildUnnamed117() => [ +core.List buildUnnamed123() => [ buildDiskType(), buildDiskType(), ]; -void checkUnnamed117(core.List o) { +void checkUnnamed123(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDiskType(o[0]); checkDiskType(o[1]); @@ -7039,12 +7292,12 @@ void checkDiskTypesScopedListWarningData(api.DiskTypesScopedListWarningData o) { buildCounterDiskTypesScopedListWarningData--; } -core.List buildUnnamed118() => [ +core.List buildUnnamed124() => [ buildDiskTypesScopedListWarningData(), buildDiskTypesScopedListWarningData(), ]; -void checkUnnamed118(core.List o) { +void checkUnnamed124(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDiskTypesScopedListWarningData(o[0]); checkDiskTypesScopedListWarningData(o[1]); @@ -7056,7 +7309,7 @@ api.DiskTypesScopedListWarning buildDiskTypesScopedListWarning() { buildCounterDiskTypesScopedListWarning++; if (buildCounterDiskTypesScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed118(); + o.data = buildUnnamed124(); o.message = 'foo'; } buildCounterDiskTypesScopedListWarning--; @@ -7070,7 +7323,7 @@ void checkDiskTypesScopedListWarning(api.DiskTypesScopedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed118(o.data!); + checkUnnamed124(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -7084,7 +7337,7 @@ api.DiskTypesScopedList buildDiskTypesScopedList() { final o = api.DiskTypesScopedList(); buildCounterDiskTypesScopedList++; if (buildCounterDiskTypesScopedList < 3) { - o.diskTypes = buildUnnamed117(); + o.diskTypes = buildUnnamed123(); o.warning = buildDiskTypesScopedListWarning(); } buildCounterDiskTypesScopedList--; @@ -7094,18 +7347,18 @@ api.DiskTypesScopedList buildDiskTypesScopedList() { void checkDiskTypesScopedList(api.DiskTypesScopedList o) { buildCounterDiskTypesScopedList++; if (buildCounterDiskTypesScopedList < 3) { - checkUnnamed117(o.diskTypes!); + checkUnnamed123(o.diskTypes!); checkDiskTypesScopedListWarning(o.warning!); } buildCounterDiskTypesScopedList--; } -core.List buildUnnamed119() => [ +core.List buildUnnamed125() => [ 'foo', 'foo', ]; -void checkUnnamed119(core.List o) { +void checkUnnamed125(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7122,7 +7375,7 @@ api.DisksAddResourcePoliciesRequest buildDisksAddResourcePoliciesRequest() { final o = api.DisksAddResourcePoliciesRequest(); buildCounterDisksAddResourcePoliciesRequest++; if (buildCounterDisksAddResourcePoliciesRequest < 3) { - o.resourcePolicies = buildUnnamed119(); + o.resourcePolicies = buildUnnamed125(); } buildCounterDisksAddResourcePoliciesRequest--; return o; @@ -7132,17 +7385,17 @@ void checkDisksAddResourcePoliciesRequest( api.DisksAddResourcePoliciesRequest o) { buildCounterDisksAddResourcePoliciesRequest++; if (buildCounterDisksAddResourcePoliciesRequest < 3) { - checkUnnamed119(o.resourcePolicies!); + checkUnnamed125(o.resourcePolicies!); } buildCounterDisksAddResourcePoliciesRequest--; } -core.List buildUnnamed120() => [ +core.List buildUnnamed126() => [ 'foo', 'foo', ]; -void checkUnnamed120(core.List o) { +void checkUnnamed126(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7160,7 +7413,7 @@ api.DisksRemoveResourcePoliciesRequest final o = api.DisksRemoveResourcePoliciesRequest(); buildCounterDisksRemoveResourcePoliciesRequest++; if (buildCounterDisksRemoveResourcePoliciesRequest < 3) { - o.resourcePolicies = buildUnnamed120(); + o.resourcePolicies = buildUnnamed126(); } buildCounterDisksRemoveResourcePoliciesRequest--; return o; @@ -7170,7 +7423,7 @@ void checkDisksRemoveResourcePoliciesRequest( api.DisksRemoveResourcePoliciesRequest o) { buildCounterDisksRemoveResourcePoliciesRequest++; if (buildCounterDisksRemoveResourcePoliciesRequest < 3) { - checkUnnamed120(o.resourcePolicies!); + checkUnnamed126(o.resourcePolicies!); } buildCounterDisksRemoveResourcePoliciesRequest--; } @@ -7197,12 +7450,12 @@ void checkDisksResizeRequest(api.DisksResizeRequest o) { buildCounterDisksResizeRequest--; } -core.List buildUnnamed121() => [ +core.List buildUnnamed127() => [ buildDisk(), buildDisk(), ]; -void checkUnnamed121(core.List o) { +void checkUnnamed127(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDisk(o[0]); checkDisk(o[1]); @@ -7235,12 +7488,12 @@ void checkDisksScopedListWarningData(api.DisksScopedListWarningData o) { buildCounterDisksScopedListWarningData--; } -core.List buildUnnamed122() => [ +core.List buildUnnamed128() => [ buildDisksScopedListWarningData(), buildDisksScopedListWarningData(), ]; -void checkUnnamed122(core.List o) { +void checkUnnamed128(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDisksScopedListWarningData(o[0]); checkDisksScopedListWarningData(o[1]); @@ -7252,7 +7505,7 @@ api.DisksScopedListWarning buildDisksScopedListWarning() { buildCounterDisksScopedListWarning++; if (buildCounterDisksScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed122(); + o.data = buildUnnamed128(); o.message = 'foo'; } buildCounterDisksScopedListWarning--; @@ -7266,7 +7519,7 @@ void checkDisksScopedListWarning(api.DisksScopedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed122(o.data!); + checkUnnamed128(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -7280,7 +7533,7 @@ api.DisksScopedList buildDisksScopedList() { final o = api.DisksScopedList(); buildCounterDisksScopedList++; if (buildCounterDisksScopedList < 3) { - o.disks = buildUnnamed121(); + o.disks = buildUnnamed127(); o.warning = buildDisksScopedListWarning(); } buildCounterDisksScopedList--; @@ -7290,7 +7543,7 @@ api.DisksScopedList buildDisksScopedList() { void checkDisksScopedList(api.DisksScopedList o) { buildCounterDisksScopedList++; if (buildCounterDisksScopedList < 3) { - checkUnnamed121(o.disks!); + checkUnnamed127(o.disks!); checkDisksScopedListWarning(o.warning!); } buildCounterDisksScopedList--; @@ -7362,12 +7615,12 @@ void checkDisplayDevice(api.DisplayDevice o) { buildCounterDisplayDevice--; } -core.List buildUnnamed123() => [ +core.List buildUnnamed129() => [ buildDistributionPolicyZoneConfiguration(), buildDistributionPolicyZoneConfiguration(), ]; -void checkUnnamed123(core.List o) { +void checkUnnamed129(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDistributionPolicyZoneConfiguration(o[0]); checkDistributionPolicyZoneConfiguration(o[1]); @@ -7379,7 +7632,7 @@ api.DistributionPolicy buildDistributionPolicy() { buildCounterDistributionPolicy++; if (buildCounterDistributionPolicy < 3) { o.targetShape = 'foo'; - o.zones = buildUnnamed123(); + o.zones = buildUnnamed129(); } buildCounterDistributionPolicy--; return o; @@ -7392,7 +7645,7 @@ void checkDistributionPolicy(api.DistributionPolicy o) { o.targetShape!, unittest.equals('foo'), ); - checkUnnamed123(o.zones!); + checkUnnamed129(o.zones!); } buildCounterDistributionPolicy--; } @@ -7448,12 +7701,12 @@ void checkDuration(api.Duration o) { buildCounterDuration--; } -core.Map buildUnnamed124() => { +core.Map buildUnnamed130() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed124(core.Map o) { +void checkUnnamed130(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -7471,7 +7724,7 @@ api.ErrorInfo buildErrorInfo() { buildCounterErrorInfo++; if (buildCounterErrorInfo < 3) { o.domain = 'foo'; - o.metadatas = buildUnnamed124(); + o.metadatas = buildUnnamed130(); o.reason = 'foo'; } buildCounterErrorInfo--; @@ -7485,7 +7738,7 @@ void checkErrorInfo(api.ErrorInfo o) { o.domain!, unittest.equals('foo'), ); - checkUnnamed124(o.metadatas!); + checkUnnamed130(o.metadatas!); unittest.expect( o.reason!, unittest.equals('foo'), @@ -7533,12 +7786,12 @@ void checkExchangedPeeringRoute(api.ExchangedPeeringRoute o) { buildCounterExchangedPeeringRoute--; } -core.List buildUnnamed125() => [ +core.List buildUnnamed131() => [ buildExchangedPeeringRoute(), buildExchangedPeeringRoute(), ]; -void checkUnnamed125(core.List o) { +void checkUnnamed131(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExchangedPeeringRoute(o[0]); checkExchangedPeeringRoute(o[1]); @@ -7573,12 +7826,12 @@ void checkExchangedPeeringRoutesListWarningData( buildCounterExchangedPeeringRoutesListWarningData--; } -core.List buildUnnamed126() => [ +core.List buildUnnamed132() => [ buildExchangedPeeringRoutesListWarningData(), buildExchangedPeeringRoutesListWarningData(), ]; -void checkUnnamed126(core.List o) { +void checkUnnamed132(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExchangedPeeringRoutesListWarningData(o[0]); checkExchangedPeeringRoutesListWarningData(o[1]); @@ -7590,7 +7843,7 @@ api.ExchangedPeeringRoutesListWarning buildExchangedPeeringRoutesListWarning() { buildCounterExchangedPeeringRoutesListWarning++; if (buildCounterExchangedPeeringRoutesListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed126(); + o.data = buildUnnamed132(); o.message = 'foo'; } buildCounterExchangedPeeringRoutesListWarning--; @@ -7605,7 +7858,7 @@ void checkExchangedPeeringRoutesListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed126(o.data!); + checkUnnamed132(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -7620,7 +7873,7 @@ api.ExchangedPeeringRoutesList buildExchangedPeeringRoutesList() { buildCounterExchangedPeeringRoutesList++; if (buildCounterExchangedPeeringRoutesList < 3) { o.id = 'foo'; - o.items = buildUnnamed125(); + o.items = buildUnnamed131(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -7637,7 +7890,7 @@ void checkExchangedPeeringRoutesList(api.ExchangedPeeringRoutesList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed125(o.items!); + checkUnnamed131(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -7692,23 +7945,23 @@ void checkExpr(api.Expr o) { buildCounterExpr--; } -core.List buildUnnamed127() => [ +core.List buildUnnamed133() => [ buildExternalVpnGatewayInterface(), buildExternalVpnGatewayInterface(), ]; -void checkUnnamed127(core.List o) { +void checkUnnamed133(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExternalVpnGatewayInterface(o[0]); checkExternalVpnGatewayInterface(o[1]); } -core.Map buildUnnamed128() => { +core.Map buildUnnamed134() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed128(core.Map o) { +void checkUnnamed134(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -7728,10 +7981,10 @@ api.ExternalVpnGateway buildExternalVpnGateway() { o.creationTimestamp = 'foo'; o.description = 'foo'; o.id = 'foo'; - o.interfaces = buildUnnamed127(); + o.interfaces = buildUnnamed133(); o.kind = 'foo'; o.labelFingerprint = 'foo'; - o.labels = buildUnnamed128(); + o.labels = buildUnnamed134(); o.name = 'foo'; o.redundancyType = 'foo'; o.selfLink = 'foo'; @@ -7755,7 +8008,7 @@ void checkExternalVpnGateway(api.ExternalVpnGateway o) { o.id!, unittest.equals('foo'), ); - checkUnnamed127(o.interfaces!); + checkUnnamed133(o.interfaces!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -7764,7 +8017,7 @@ void checkExternalVpnGateway(api.ExternalVpnGateway o) { o.labelFingerprint!, unittest.equals('foo'), ); - checkUnnamed128(o.labels!); + checkUnnamed134(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -7813,12 +8066,12 @@ void checkExternalVpnGatewayInterface(api.ExternalVpnGatewayInterface o) { buildCounterExternalVpnGatewayInterface--; } -core.List buildUnnamed129() => [ +core.List buildUnnamed135() => [ buildExternalVpnGateway(), buildExternalVpnGateway(), ]; -void checkUnnamed129(core.List o) { +void checkUnnamed135(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExternalVpnGateway(o[0]); checkExternalVpnGateway(o[1]); @@ -7852,12 +8105,12 @@ void checkExternalVpnGatewayListWarningData( buildCounterExternalVpnGatewayListWarningData--; } -core.List buildUnnamed130() => [ +core.List buildUnnamed136() => [ buildExternalVpnGatewayListWarningData(), buildExternalVpnGatewayListWarningData(), ]; -void checkUnnamed130(core.List o) { +void checkUnnamed136(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExternalVpnGatewayListWarningData(o[0]); checkExternalVpnGatewayListWarningData(o[1]); @@ -7869,7 +8122,7 @@ api.ExternalVpnGatewayListWarning buildExternalVpnGatewayListWarning() { buildCounterExternalVpnGatewayListWarning++; if (buildCounterExternalVpnGatewayListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed130(); + o.data = buildUnnamed136(); o.message = 'foo'; } buildCounterExternalVpnGatewayListWarning--; @@ -7883,7 +8136,7 @@ void checkExternalVpnGatewayListWarning(api.ExternalVpnGatewayListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed130(o.data!); + checkUnnamed136(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -7899,7 +8152,7 @@ api.ExternalVpnGatewayList buildExternalVpnGatewayList() { if (buildCounterExternalVpnGatewayList < 3) { o.etag = 'foo'; o.id = 'foo'; - o.items = buildUnnamed129(); + o.items = buildUnnamed135(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -7920,7 +8173,7 @@ void checkExternalVpnGatewayList(api.ExternalVpnGatewayList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed129(o.items!); + checkUnnamed135(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -7965,12 +8218,12 @@ void checkFileContentBuffer(api.FileContentBuffer o) { buildCounterFileContentBuffer--; } -core.List buildUnnamed131() => [ +core.List buildUnnamed137() => [ 'foo', 'foo', ]; -void checkUnnamed131(core.List o) { +void checkUnnamed137(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7988,7 +8241,7 @@ api.FirewallAllowed buildFirewallAllowed() { buildCounterFirewallAllowed++; if (buildCounterFirewallAllowed < 3) { o.IPProtocol = 'foo'; - o.ports = buildUnnamed131(); + o.ports = buildUnnamed137(); } buildCounterFirewallAllowed--; return o; @@ -8001,28 +8254,28 @@ void checkFirewallAllowed(api.FirewallAllowed o) { o.IPProtocol!, unittest.equals('foo'), ); - checkUnnamed131(o.ports!); + checkUnnamed137(o.ports!); } buildCounterFirewallAllowed--; } -core.List buildUnnamed132() => [ +core.List buildUnnamed138() => [ buildFirewallAllowed(), buildFirewallAllowed(), ]; -void checkUnnamed132(core.List o) { +void checkUnnamed138(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFirewallAllowed(o[0]); checkFirewallAllowed(o[1]); } -core.List buildUnnamed133() => [ +core.List buildUnnamed139() => [ 'foo', 'foo', ]; -void checkUnnamed133(core.List o) { +void checkUnnamed139(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8040,7 +8293,7 @@ api.FirewallDenied buildFirewallDenied() { buildCounterFirewallDenied++; if (buildCounterFirewallDenied < 3) { o.IPProtocol = 'foo'; - o.ports = buildUnnamed133(); + o.ports = buildUnnamed139(); } buildCounterFirewallDenied--; return o; @@ -8053,28 +8306,28 @@ void checkFirewallDenied(api.FirewallDenied o) { o.IPProtocol!, unittest.equals('foo'), ); - checkUnnamed133(o.ports!); + checkUnnamed139(o.ports!); } buildCounterFirewallDenied--; } -core.List buildUnnamed134() => [ +core.List buildUnnamed140() => [ buildFirewallDenied(), buildFirewallDenied(), ]; -void checkUnnamed134(core.List o) { +void checkUnnamed140(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFirewallDenied(o[0]); checkFirewallDenied(o[1]); } -core.List buildUnnamed135() => [ +core.List buildUnnamed141() => [ 'foo', 'foo', ]; -void checkUnnamed135(core.List o) { +void checkUnnamed141(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8086,12 +8339,12 @@ void checkUnnamed135(core.List o) { ); } -core.List buildUnnamed136() => [ +core.List buildUnnamed142() => [ 'foo', 'foo', ]; -void checkUnnamed136(core.List o) { +void checkUnnamed142(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8103,12 +8356,12 @@ void checkUnnamed136(core.List o) { ); } -core.List buildUnnamed137() => [ +core.List buildUnnamed143() => [ 'foo', 'foo', ]; -void checkUnnamed137(core.List o) { +void checkUnnamed143(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8120,12 +8373,12 @@ void checkUnnamed137(core.List o) { ); } -core.List buildUnnamed138() => [ +core.List buildUnnamed144() => [ 'foo', 'foo', ]; -void checkUnnamed138(core.List o) { +void checkUnnamed144(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8137,12 +8390,12 @@ void checkUnnamed138(core.List o) { ); } -core.List buildUnnamed139() => [ +core.List buildUnnamed145() => [ 'foo', 'foo', ]; -void checkUnnamed139(core.List o) { +void checkUnnamed145(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8154,12 +8407,12 @@ void checkUnnamed139(core.List o) { ); } -core.List buildUnnamed140() => [ +core.List buildUnnamed146() => [ 'foo', 'foo', ]; -void checkUnnamed140(core.List o) { +void checkUnnamed146(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8176,11 +8429,11 @@ api.Firewall buildFirewall() { final o = api.Firewall(); buildCounterFirewall++; if (buildCounterFirewall < 3) { - o.allowed = buildUnnamed132(); + o.allowed = buildUnnamed138(); o.creationTimestamp = 'foo'; - o.denied = buildUnnamed134(); + o.denied = buildUnnamed140(); o.description = 'foo'; - o.destinationRanges = buildUnnamed135(); + o.destinationRanges = buildUnnamed141(); o.direction = 'foo'; o.disabled = true; o.id = 'foo'; @@ -8190,11 +8443,11 @@ api.Firewall buildFirewall() { o.network = 'foo'; o.priority = 42; o.selfLink = 'foo'; - o.sourceRanges = buildUnnamed136(); - o.sourceServiceAccounts = buildUnnamed137(); - o.sourceTags = buildUnnamed138(); - o.targetServiceAccounts = buildUnnamed139(); - o.targetTags = buildUnnamed140(); + o.sourceRanges = buildUnnamed142(); + o.sourceServiceAccounts = buildUnnamed143(); + o.sourceTags = buildUnnamed144(); + o.targetServiceAccounts = buildUnnamed145(); + o.targetTags = buildUnnamed146(); } buildCounterFirewall--; return o; @@ -8203,17 +8456,17 @@ api.Firewall buildFirewall() { void checkFirewall(api.Firewall o) { buildCounterFirewall++; if (buildCounterFirewall < 3) { - checkUnnamed132(o.allowed!); + checkUnnamed138(o.allowed!); unittest.expect( o.creationTimestamp!, unittest.equals('foo'), ); - checkUnnamed134(o.denied!); + checkUnnamed140(o.denied!); unittest.expect( o.description!, unittest.equals('foo'), ); - checkUnnamed135(o.destinationRanges!); + checkUnnamed141(o.destinationRanges!); unittest.expect( o.direction!, unittest.equals('foo'), @@ -8244,21 +8497,21 @@ void checkFirewall(api.Firewall o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed136(o.sourceRanges!); - checkUnnamed137(o.sourceServiceAccounts!); - checkUnnamed138(o.sourceTags!); - checkUnnamed139(o.targetServiceAccounts!); - checkUnnamed140(o.targetTags!); + checkUnnamed142(o.sourceRanges!); + checkUnnamed143(o.sourceServiceAccounts!); + checkUnnamed144(o.sourceTags!); + checkUnnamed145(o.targetServiceAccounts!); + checkUnnamed146(o.targetTags!); } buildCounterFirewall--; } -core.List buildUnnamed141() => [ +core.List buildUnnamed147() => [ buildFirewall(), buildFirewall(), ]; -void checkUnnamed141(core.List o) { +void checkUnnamed147(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFirewall(o[0]); checkFirewall(o[1]); @@ -8291,12 +8544,12 @@ void checkFirewallListWarningData(api.FirewallListWarningData o) { buildCounterFirewallListWarningData--; } -core.List buildUnnamed142() => [ +core.List buildUnnamed148() => [ buildFirewallListWarningData(), buildFirewallListWarningData(), ]; -void checkUnnamed142(core.List o) { +void checkUnnamed148(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFirewallListWarningData(o[0]); checkFirewallListWarningData(o[1]); @@ -8308,7 +8561,7 @@ api.FirewallListWarning buildFirewallListWarning() { buildCounterFirewallListWarning++; if (buildCounterFirewallListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed142(); + o.data = buildUnnamed148(); o.message = 'foo'; } buildCounterFirewallListWarning--; @@ -8322,7 +8575,7 @@ void checkFirewallListWarning(api.FirewallListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed142(o.data!); + checkUnnamed148(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -8337,7 +8590,7 @@ api.FirewallList buildFirewallList() { buildCounterFirewallList++; if (buildCounterFirewallList < 3) { o.id = 'foo'; - o.items = buildUnnamed141(); + o.items = buildUnnamed147(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -8354,7 +8607,7 @@ void checkFirewallList(api.FirewallList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed141(o.items!); + checkUnnamed147(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -8396,12 +8649,12 @@ void checkFirewallLogConfig(api.FirewallLogConfig o) { buildCounterFirewallLogConfig--; } -core.List buildUnnamed143() => [ +core.List buildUnnamed149() => [ buildFirewallPolicyAssociation(), buildFirewallPolicyAssociation(), ]; -void checkUnnamed143(core.List o) { +void checkUnnamed149(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFirewallPolicyAssociation(o[0]); checkFirewallPolicyAssociation(o[1]); @@ -8413,7 +8666,7 @@ api.FirewallPoliciesListAssociationsResponse final o = api.FirewallPoliciesListAssociationsResponse(); buildCounterFirewallPoliciesListAssociationsResponse++; if (buildCounterFirewallPoliciesListAssociationsResponse < 3) { - o.associations = buildUnnamed143(); + o.associations = buildUnnamed149(); o.kind = 'foo'; } buildCounterFirewallPoliciesListAssociationsResponse--; @@ -8424,7 +8677,7 @@ void checkFirewallPoliciesListAssociationsResponse( api.FirewallPoliciesListAssociationsResponse o) { buildCounterFirewallPoliciesListAssociationsResponse++; if (buildCounterFirewallPoliciesListAssociationsResponse < 3) { - checkUnnamed143(o.associations!); + checkUnnamed149(o.associations!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -8433,23 +8686,136 @@ void checkFirewallPoliciesListAssociationsResponse( buildCounterFirewallPoliciesListAssociationsResponse--; } -core.List buildUnnamed144() => [ +core.List buildUnnamed150() => [ + buildFirewallPolicy(), + buildFirewallPolicy(), + ]; + +void checkUnnamed150(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkFirewallPolicy(o[0]); + checkFirewallPolicy(o[1]); +} + +core.int buildCounterFirewallPoliciesScopedListWarningData = 0; +api.FirewallPoliciesScopedListWarningData + buildFirewallPoliciesScopedListWarningData() { + final o = api.FirewallPoliciesScopedListWarningData(); + buildCounterFirewallPoliciesScopedListWarningData++; + if (buildCounterFirewallPoliciesScopedListWarningData < 3) { + o.key = 'foo'; + o.value = 'foo'; + } + buildCounterFirewallPoliciesScopedListWarningData--; + return o; +} + +void checkFirewallPoliciesScopedListWarningData( + api.FirewallPoliciesScopedListWarningData o) { + buildCounterFirewallPoliciesScopedListWarningData++; + if (buildCounterFirewallPoliciesScopedListWarningData < 3) { + unittest.expect( + o.key!, + unittest.equals('foo'), + ); + unittest.expect( + o.value!, + unittest.equals('foo'), + ); + } + buildCounterFirewallPoliciesScopedListWarningData--; +} + +core.List buildUnnamed151() => [ + buildFirewallPoliciesScopedListWarningData(), + buildFirewallPoliciesScopedListWarningData(), + ]; + +void checkUnnamed151(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkFirewallPoliciesScopedListWarningData(o[0]); + checkFirewallPoliciesScopedListWarningData(o[1]); +} + +core.int buildCounterFirewallPoliciesScopedListWarning = 0; +api.FirewallPoliciesScopedListWarning buildFirewallPoliciesScopedListWarning() { + final o = api.FirewallPoliciesScopedListWarning(); + buildCounterFirewallPoliciesScopedListWarning++; + if (buildCounterFirewallPoliciesScopedListWarning < 3) { + o.code = 'foo'; + o.data = buildUnnamed151(); + o.message = 'foo'; + } + buildCounterFirewallPoliciesScopedListWarning--; + return o; +} + +void checkFirewallPoliciesScopedListWarning( + api.FirewallPoliciesScopedListWarning o) { + buildCounterFirewallPoliciesScopedListWarning++; + if (buildCounterFirewallPoliciesScopedListWarning < 3) { + unittest.expect( + o.code!, + unittest.equals('foo'), + ); + checkUnnamed151(o.data!); + unittest.expect( + o.message!, + unittest.equals('foo'), + ); + } + buildCounterFirewallPoliciesScopedListWarning--; +} + +core.int buildCounterFirewallPoliciesScopedList = 0; +api.FirewallPoliciesScopedList buildFirewallPoliciesScopedList() { + final o = api.FirewallPoliciesScopedList(); + buildCounterFirewallPoliciesScopedList++; + if (buildCounterFirewallPoliciesScopedList < 3) { + o.firewallPolicies = buildUnnamed150(); + o.warning = buildFirewallPoliciesScopedListWarning(); + } + buildCounterFirewallPoliciesScopedList--; + return o; +} + +void checkFirewallPoliciesScopedList(api.FirewallPoliciesScopedList o) { + buildCounterFirewallPoliciesScopedList++; + if (buildCounterFirewallPoliciesScopedList < 3) { + checkUnnamed150(o.firewallPolicies!); + checkFirewallPoliciesScopedListWarning(o.warning!); + } + buildCounterFirewallPoliciesScopedList--; +} + +core.List buildUnnamed152() => [ buildFirewallPolicyAssociation(), buildFirewallPolicyAssociation(), ]; -void checkUnnamed144(core.List o) { +void checkUnnamed152(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFirewallPolicyAssociation(o[0]); checkFirewallPolicyAssociation(o[1]); } -core.List buildUnnamed145() => [ +core.List buildUnnamed153() => [ buildFirewallPolicyRule(), buildFirewallPolicyRule(), ]; -void checkUnnamed145(core.List o) { +void checkUnnamed153(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkFirewallPolicyRule(o[0]); + checkFirewallPolicyRule(o[1]); +} + +core.List buildUnnamed154() => [ + buildFirewallPolicyRule(), + buildFirewallPolicyRule(), + ]; + +void checkUnnamed154(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFirewallPolicyRule(o[0]); checkFirewallPolicyRule(o[1]); @@ -8460,7 +8826,7 @@ api.FirewallPolicy buildFirewallPolicy() { final o = api.FirewallPolicy(); buildCounterFirewallPolicy++; if (buildCounterFirewallPolicy < 3) { - o.associations = buildUnnamed144(); + o.associations = buildUnnamed152(); o.creationTimestamp = 'foo'; o.description = 'foo'; o.displayName = 'foo'; @@ -8468,10 +8834,11 @@ api.FirewallPolicy buildFirewallPolicy() { o.id = 'foo'; o.kind = 'foo'; o.name = 'foo'; + o.packetMirroringRules = buildUnnamed153(); o.parent = 'foo'; o.region = 'foo'; o.ruleTupleCount = 42; - o.rules = buildUnnamed145(); + o.rules = buildUnnamed154(); o.selfLink = 'foo'; o.selfLinkWithId = 'foo'; o.shortName = 'foo'; @@ -8483,7 +8850,7 @@ api.FirewallPolicy buildFirewallPolicy() { void checkFirewallPolicy(api.FirewallPolicy o) { buildCounterFirewallPolicy++; if (buildCounterFirewallPolicy < 3) { - checkUnnamed144(o.associations!); + checkUnnamed152(o.associations!); unittest.expect( o.creationTimestamp!, unittest.equals('foo'), @@ -8512,6 +8879,7 @@ void checkFirewallPolicy(api.FirewallPolicy o) { o.name!, unittest.equals('foo'), ); + checkUnnamed153(o.packetMirroringRules!); unittest.expect( o.parent!, unittest.equals('foo'), @@ -8524,7 +8892,7 @@ void checkFirewallPolicy(api.FirewallPolicy o) { o.ruleTupleCount!, unittest.equals(42), ); - checkUnnamed145(o.rules!); + checkUnnamed154(o.rules!); unittest.expect( o.selfLink!, unittest.equals('foo'), @@ -8583,12 +8951,12 @@ void checkFirewallPolicyAssociation(api.FirewallPolicyAssociation o) { buildCounterFirewallPolicyAssociation--; } -core.List buildUnnamed146() => [ +core.List buildUnnamed155() => [ buildFirewallPolicy(), buildFirewallPolicy(), ]; -void checkUnnamed146(core.List o) { +void checkUnnamed155(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFirewallPolicy(o[0]); checkFirewallPolicy(o[1]); @@ -8621,12 +8989,12 @@ void checkFirewallPolicyListWarningData(api.FirewallPolicyListWarningData o) { buildCounterFirewallPolicyListWarningData--; } -core.List buildUnnamed147() => [ +core.List buildUnnamed156() => [ buildFirewallPolicyListWarningData(), buildFirewallPolicyListWarningData(), ]; -void checkUnnamed147(core.List o) { +void checkUnnamed156(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFirewallPolicyListWarningData(o[0]); checkFirewallPolicyListWarningData(o[1]); @@ -8638,7 +9006,7 @@ api.FirewallPolicyListWarning buildFirewallPolicyListWarning() { buildCounterFirewallPolicyListWarning++; if (buildCounterFirewallPolicyListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed147(); + o.data = buildUnnamed156(); o.message = 'foo'; } buildCounterFirewallPolicyListWarning--; @@ -8652,7 +9020,7 @@ void checkFirewallPolicyListWarning(api.FirewallPolicyListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed147(o.data!); + checkUnnamed156(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -8667,7 +9035,7 @@ api.FirewallPolicyList buildFirewallPolicyList() { buildCounterFirewallPolicyList++; if (buildCounterFirewallPolicyList < 3) { o.id = 'foo'; - o.items = buildUnnamed146(); + o.items = buildUnnamed155(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.warning = buildFirewallPolicyListWarning(); @@ -8683,7 +9051,7 @@ void checkFirewallPolicyList(api.FirewallPolicyList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed146(o.items!); + checkUnnamed155(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -8697,12 +9065,12 @@ void checkFirewallPolicyList(api.FirewallPolicyList o) { buildCounterFirewallPolicyList--; } -core.List buildUnnamed148() => [ +core.List buildUnnamed157() => [ 'foo', 'foo', ]; -void checkUnnamed148(core.List o) { +void checkUnnamed157(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8714,23 +9082,23 @@ void checkUnnamed148(core.List o) { ); } -core.List buildUnnamed149() => [ +core.List buildUnnamed158() => [ buildFirewallPolicyRuleSecureTag(), buildFirewallPolicyRuleSecureTag(), ]; -void checkUnnamed149(core.List o) { +void checkUnnamed158(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFirewallPolicyRuleSecureTag(o[0]); checkFirewallPolicyRuleSecureTag(o[1]); } -core.List buildUnnamed150() => [ +core.List buildUnnamed159() => [ 'foo', 'foo', ]; -void checkUnnamed150(core.List o) { +void checkUnnamed159(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8758,9 +9126,9 @@ api.FirewallPolicyRule buildFirewallPolicyRule() { o.ruleName = 'foo'; o.ruleTupleCount = 42; o.securityProfileGroup = 'foo'; - o.targetResources = buildUnnamed148(); - o.targetSecureTags = buildUnnamed149(); - o.targetServiceAccounts = buildUnnamed150(); + o.targetResources = buildUnnamed157(); + o.targetSecureTags = buildUnnamed158(); + o.targetServiceAccounts = buildUnnamed159(); o.tlsInspect = true; } buildCounterFirewallPolicyRule--; @@ -8805,20 +9173,20 @@ void checkFirewallPolicyRule(api.FirewallPolicyRule o) { o.securityProfileGroup!, unittest.equals('foo'), ); - checkUnnamed148(o.targetResources!); - checkUnnamed149(o.targetSecureTags!); - checkUnnamed150(o.targetServiceAccounts!); + checkUnnamed157(o.targetResources!); + checkUnnamed158(o.targetSecureTags!); + checkUnnamed159(o.targetServiceAccounts!); unittest.expect(o.tlsInspect!, unittest.isTrue); } buildCounterFirewallPolicyRule--; } -core.List buildUnnamed151() => [ +core.List buildUnnamed160() => [ 'foo', 'foo', ]; -void checkUnnamed151(core.List o) { +void checkUnnamed160(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8830,12 +9198,12 @@ void checkUnnamed151(core.List o) { ); } -core.List buildUnnamed152() => [ +core.List buildUnnamed161() => [ 'foo', 'foo', ]; -void checkUnnamed152(core.List o) { +void checkUnnamed161(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8847,12 +9215,12 @@ void checkUnnamed152(core.List o) { ); } -core.List buildUnnamed153() => [ +core.List buildUnnamed162() => [ 'foo', 'foo', ]; -void checkUnnamed153(core.List o) { +void checkUnnamed162(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8864,12 +9232,12 @@ void checkUnnamed153(core.List o) { ); } -core.List buildUnnamed154() => [ +core.List buildUnnamed163() => [ 'foo', 'foo', ]; -void checkUnnamed154(core.List o) { +void checkUnnamed163(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8881,12 +9249,12 @@ void checkUnnamed154(core.List o) { ); } -core.List buildUnnamed155() => [ +core.List buildUnnamed164() => [ 'foo', 'foo', ]; -void checkUnnamed155(core.List o) { +void checkUnnamed164(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8898,23 +9266,23 @@ void checkUnnamed155(core.List o) { ); } -core.List buildUnnamed156() => [ +core.List buildUnnamed165() => [ buildFirewallPolicyRuleMatcherLayer4Config(), buildFirewallPolicyRuleMatcherLayer4Config(), ]; -void checkUnnamed156(core.List o) { +void checkUnnamed165(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFirewallPolicyRuleMatcherLayer4Config(o[0]); checkFirewallPolicyRuleMatcherLayer4Config(o[1]); } -core.List buildUnnamed157() => [ +core.List buildUnnamed166() => [ 'foo', 'foo', ]; -void checkUnnamed157(core.List o) { +void checkUnnamed166(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8926,12 +9294,12 @@ void checkUnnamed157(core.List o) { ); } -core.List buildUnnamed158() => [ +core.List buildUnnamed167() => [ 'foo', 'foo', ]; -void checkUnnamed158(core.List o) { +void checkUnnamed167(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8943,12 +9311,12 @@ void checkUnnamed158(core.List o) { ); } -core.List buildUnnamed159() => [ +core.List buildUnnamed168() => [ 'foo', 'foo', ]; -void checkUnnamed159(core.List o) { +void checkUnnamed168(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8960,12 +9328,12 @@ void checkUnnamed159(core.List o) { ); } -core.List buildUnnamed160() => [ +core.List buildUnnamed169() => [ 'foo', 'foo', ]; -void checkUnnamed160(core.List o) { +void checkUnnamed169(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8977,23 +9345,23 @@ void checkUnnamed160(core.List o) { ); } -core.List buildUnnamed161() => [ +core.List buildUnnamed170() => [ buildFirewallPolicyRuleSecureTag(), buildFirewallPolicyRuleSecureTag(), ]; -void checkUnnamed161(core.List o) { +void checkUnnamed170(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFirewallPolicyRuleSecureTag(o[0]); checkFirewallPolicyRuleSecureTag(o[1]); } -core.List buildUnnamed162() => [ +core.List buildUnnamed171() => [ 'foo', 'foo', ]; -void checkUnnamed162(core.List o) { +void checkUnnamed171(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9010,18 +9378,18 @@ api.FirewallPolicyRuleMatcher buildFirewallPolicyRuleMatcher() { final o = api.FirewallPolicyRuleMatcher(); buildCounterFirewallPolicyRuleMatcher++; if (buildCounterFirewallPolicyRuleMatcher < 3) { - o.destAddressGroups = buildUnnamed151(); - o.destFqdns = buildUnnamed152(); - o.destIpRanges = buildUnnamed153(); - o.destRegionCodes = buildUnnamed154(); - o.destThreatIntelligences = buildUnnamed155(); - o.layer4Configs = buildUnnamed156(); - o.srcAddressGroups = buildUnnamed157(); - o.srcFqdns = buildUnnamed158(); - o.srcIpRanges = buildUnnamed159(); - o.srcRegionCodes = buildUnnamed160(); - o.srcSecureTags = buildUnnamed161(); - o.srcThreatIntelligences = buildUnnamed162(); + o.destAddressGroups = buildUnnamed160(); + o.destFqdns = buildUnnamed161(); + o.destIpRanges = buildUnnamed162(); + o.destRegionCodes = buildUnnamed163(); + o.destThreatIntelligences = buildUnnamed164(); + o.layer4Configs = buildUnnamed165(); + o.srcAddressGroups = buildUnnamed166(); + o.srcFqdns = buildUnnamed167(); + o.srcIpRanges = buildUnnamed168(); + o.srcRegionCodes = buildUnnamed169(); + o.srcSecureTags = buildUnnamed170(); + o.srcThreatIntelligences = buildUnnamed171(); } buildCounterFirewallPolicyRuleMatcher--; return o; @@ -9030,28 +9398,28 @@ api.FirewallPolicyRuleMatcher buildFirewallPolicyRuleMatcher() { void checkFirewallPolicyRuleMatcher(api.FirewallPolicyRuleMatcher o) { buildCounterFirewallPolicyRuleMatcher++; if (buildCounterFirewallPolicyRuleMatcher < 3) { - checkUnnamed151(o.destAddressGroups!); - checkUnnamed152(o.destFqdns!); - checkUnnamed153(o.destIpRanges!); - checkUnnamed154(o.destRegionCodes!); - checkUnnamed155(o.destThreatIntelligences!); - checkUnnamed156(o.layer4Configs!); - checkUnnamed157(o.srcAddressGroups!); - checkUnnamed158(o.srcFqdns!); - checkUnnamed159(o.srcIpRanges!); - checkUnnamed160(o.srcRegionCodes!); - checkUnnamed161(o.srcSecureTags!); - checkUnnamed162(o.srcThreatIntelligences!); + checkUnnamed160(o.destAddressGroups!); + checkUnnamed161(o.destFqdns!); + checkUnnamed162(o.destIpRanges!); + checkUnnamed163(o.destRegionCodes!); + checkUnnamed164(o.destThreatIntelligences!); + checkUnnamed165(o.layer4Configs!); + checkUnnamed166(o.srcAddressGroups!); + checkUnnamed167(o.srcFqdns!); + checkUnnamed168(o.srcIpRanges!); + checkUnnamed169(o.srcRegionCodes!); + checkUnnamed170(o.srcSecureTags!); + checkUnnamed171(o.srcThreatIntelligences!); } buildCounterFirewallPolicyRuleMatcher--; } -core.List buildUnnamed163() => [ +core.List buildUnnamed172() => [ 'foo', 'foo', ]; -void checkUnnamed163(core.List o) { +void checkUnnamed172(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9070,7 +9438,7 @@ api.FirewallPolicyRuleMatcherLayer4Config buildCounterFirewallPolicyRuleMatcherLayer4Config++; if (buildCounterFirewallPolicyRuleMatcherLayer4Config < 3) { o.ipProtocol = 'foo'; - o.ports = buildUnnamed163(); + o.ports = buildUnnamed172(); } buildCounterFirewallPolicyRuleMatcherLayer4Config--; return o; @@ -9084,7 +9452,7 @@ void checkFirewallPolicyRuleMatcherLayer4Config( o.ipProtocol!, unittest.equals('foo'), ); - checkUnnamed163(o.ports!); + checkUnnamed172(o.ports!); } buildCounterFirewallPolicyRuleMatcherLayer4Config--; } @@ -9148,12 +9516,12 @@ void checkFixedOrPercent(api.FixedOrPercent o) { buildCounterFixedOrPercent--; } -core.Map buildUnnamed164() => { +core.Map buildUnnamed173() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed164(core.Map o) { +void checkUnnamed173(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -9165,23 +9533,23 @@ void checkUnnamed164(core.Map o) { ); } -core.List buildUnnamed165() => [ +core.List buildUnnamed174() => [ buildMetadataFilter(), buildMetadataFilter(), ]; -void checkUnnamed165(core.List o) { +void checkUnnamed174(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMetadataFilter(o[0]); checkMetadataFilter(o[1]); } -core.List buildUnnamed166() => [ +core.List buildUnnamed175() => [ 'foo', 'foo', ]; -void checkUnnamed166(core.List o) { +void checkUnnamed175(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9193,24 +9561,24 @@ void checkUnnamed166(core.List o) { ); } -core.List buildUnnamed167() => [ +core.List buildUnnamed176() => [ buildForwardingRuleServiceDirectoryRegistration(), buildForwardingRuleServiceDirectoryRegistration(), ]; -void checkUnnamed167( +void checkUnnamed176( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkForwardingRuleServiceDirectoryRegistration(o[0]); checkForwardingRuleServiceDirectoryRegistration(o[1]); } -core.List buildUnnamed168() => [ +core.List buildUnnamed177() => [ 'foo', 'foo', ]; -void checkUnnamed168(core.List o) { +void checkUnnamed177(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9243,23 +9611,23 @@ api.ForwardingRule buildForwardingRule() { o.isMirroringCollector = true; o.kind = 'foo'; o.labelFingerprint = 'foo'; - o.labels = buildUnnamed164(); + o.labels = buildUnnamed173(); o.loadBalancingScheme = 'foo'; - o.metadataFilters = buildUnnamed165(); + o.metadataFilters = buildUnnamed174(); o.name = 'foo'; o.network = 'foo'; o.networkTier = 'foo'; o.noAutomateDnsZone = true; o.portRange = 'foo'; - o.ports = buildUnnamed166(); + o.ports = buildUnnamed175(); o.pscConnectionId = 'foo'; o.pscConnectionStatus = 'foo'; o.region = 'foo'; o.selfLink = 'foo'; - o.serviceDirectoryRegistrations = buildUnnamed167(); + o.serviceDirectoryRegistrations = buildUnnamed176(); o.serviceLabel = 'foo'; o.serviceName = 'foo'; - o.sourceIpRanges = buildUnnamed168(); + o.sourceIpRanges = buildUnnamed177(); o.subnetwork = 'foo'; o.target = 'foo'; } @@ -9322,12 +9690,12 @@ void checkForwardingRule(api.ForwardingRule o) { o.labelFingerprint!, unittest.equals('foo'), ); - checkUnnamed164(o.labels!); + checkUnnamed173(o.labels!); unittest.expect( o.loadBalancingScheme!, unittest.equals('foo'), ); - checkUnnamed165(o.metadataFilters!); + checkUnnamed174(o.metadataFilters!); unittest.expect( o.name!, unittest.equals('foo'), @@ -9345,7 +9713,7 @@ void checkForwardingRule(api.ForwardingRule o) { o.portRange!, unittest.equals('foo'), ); - checkUnnamed166(o.ports!); + checkUnnamed175(o.ports!); unittest.expect( o.pscConnectionId!, unittest.equals('foo'), @@ -9362,7 +9730,7 @@ void checkForwardingRule(api.ForwardingRule o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed167(o.serviceDirectoryRegistrations!); + checkUnnamed176(o.serviceDirectoryRegistrations!); unittest.expect( o.serviceLabel!, unittest.equals('foo'), @@ -9371,7 +9739,7 @@ void checkForwardingRule(api.ForwardingRule o) { o.serviceName!, unittest.equals('foo'), ); - checkUnnamed168(o.sourceIpRanges!); + checkUnnamed177(o.sourceIpRanges!); unittest.expect( o.subnetwork!, unittest.equals('foo'), @@ -9384,23 +9752,23 @@ void checkForwardingRule(api.ForwardingRule o) { buildCounterForwardingRule--; } -core.Map buildUnnamed169() => { +core.Map buildUnnamed178() => { 'x': buildForwardingRulesScopedList(), 'y': buildForwardingRulesScopedList(), }; -void checkUnnamed169(core.Map o) { +void checkUnnamed178(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkForwardingRulesScopedList(o['x']!); checkForwardingRulesScopedList(o['y']!); } -core.List buildUnnamed170() => [ +core.List buildUnnamed179() => [ 'foo', 'foo', ]; -void checkUnnamed170(core.List o) { +void checkUnnamed179(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9441,12 +9809,12 @@ void checkForwardingRuleAggregatedListWarningData( buildCounterForwardingRuleAggregatedListWarningData--; } -core.List buildUnnamed171() => [ +core.List buildUnnamed180() => [ buildForwardingRuleAggregatedListWarningData(), buildForwardingRuleAggregatedListWarningData(), ]; -void checkUnnamed171(core.List o) { +void checkUnnamed180(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkForwardingRuleAggregatedListWarningData(o[0]); checkForwardingRuleAggregatedListWarningData(o[1]); @@ -9459,7 +9827,7 @@ api.ForwardingRuleAggregatedListWarning buildCounterForwardingRuleAggregatedListWarning++; if (buildCounterForwardingRuleAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed171(); + o.data = buildUnnamed180(); o.message = 'foo'; } buildCounterForwardingRuleAggregatedListWarning--; @@ -9474,7 +9842,7 @@ void checkForwardingRuleAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed171(o.data!); + checkUnnamed180(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -9489,11 +9857,11 @@ api.ForwardingRuleAggregatedList buildForwardingRuleAggregatedList() { buildCounterForwardingRuleAggregatedList++; if (buildCounterForwardingRuleAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed169(); + o.items = buildUnnamed178(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed170(); + o.unreachables = buildUnnamed179(); o.warning = buildForwardingRuleAggregatedListWarning(); } buildCounterForwardingRuleAggregatedList--; @@ -9507,7 +9875,7 @@ void checkForwardingRuleAggregatedList(api.ForwardingRuleAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed169(o.items!); + checkUnnamed178(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -9520,18 +9888,18 @@ void checkForwardingRuleAggregatedList(api.ForwardingRuleAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed170(o.unreachables!); + checkUnnamed179(o.unreachables!); checkForwardingRuleAggregatedListWarning(o.warning!); } buildCounterForwardingRuleAggregatedList--; } -core.List buildUnnamed172() => [ +core.List buildUnnamed181() => [ buildForwardingRule(), buildForwardingRule(), ]; -void checkUnnamed172(core.List o) { +void checkUnnamed181(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkForwardingRule(o[0]); checkForwardingRule(o[1]); @@ -9564,12 +9932,12 @@ void checkForwardingRuleListWarningData(api.ForwardingRuleListWarningData o) { buildCounterForwardingRuleListWarningData--; } -core.List buildUnnamed173() => [ +core.List buildUnnamed182() => [ buildForwardingRuleListWarningData(), buildForwardingRuleListWarningData(), ]; -void checkUnnamed173(core.List o) { +void checkUnnamed182(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkForwardingRuleListWarningData(o[0]); checkForwardingRuleListWarningData(o[1]); @@ -9581,7 +9949,7 @@ api.ForwardingRuleListWarning buildForwardingRuleListWarning() { buildCounterForwardingRuleListWarning++; if (buildCounterForwardingRuleListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed173(); + o.data = buildUnnamed182(); o.message = 'foo'; } buildCounterForwardingRuleListWarning--; @@ -9595,7 +9963,7 @@ void checkForwardingRuleListWarning(api.ForwardingRuleListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed173(o.data!); + checkUnnamed182(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -9610,7 +9978,7 @@ api.ForwardingRuleList buildForwardingRuleList() { buildCounterForwardingRuleList++; if (buildCounterForwardingRuleList < 3) { o.id = 'foo'; - o.items = buildUnnamed172(); + o.items = buildUnnamed181(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -9627,7 +9995,7 @@ void checkForwardingRuleList(api.ForwardingRuleList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed172(o.items!); + checkUnnamed181(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -9701,12 +10069,12 @@ void checkForwardingRuleServiceDirectoryRegistration( buildCounterForwardingRuleServiceDirectoryRegistration--; } -core.List buildUnnamed174() => [ +core.List buildUnnamed183() => [ buildForwardingRule(), buildForwardingRule(), ]; -void checkUnnamed174(core.List o) { +void checkUnnamed183(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkForwardingRule(o[0]); checkForwardingRule(o[1]); @@ -9741,12 +10109,12 @@ void checkForwardingRulesScopedListWarningData( buildCounterForwardingRulesScopedListWarningData--; } -core.List buildUnnamed175() => [ +core.List buildUnnamed184() => [ buildForwardingRulesScopedListWarningData(), buildForwardingRulesScopedListWarningData(), ]; -void checkUnnamed175(core.List o) { +void checkUnnamed184(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkForwardingRulesScopedListWarningData(o[0]); checkForwardingRulesScopedListWarningData(o[1]); @@ -9758,7 +10126,7 @@ api.ForwardingRulesScopedListWarning buildForwardingRulesScopedListWarning() { buildCounterForwardingRulesScopedListWarning++; if (buildCounterForwardingRulesScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed175(); + o.data = buildUnnamed184(); o.message = 'foo'; } buildCounterForwardingRulesScopedListWarning--; @@ -9773,7 +10141,7 @@ void checkForwardingRulesScopedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed175(o.data!); + checkUnnamed184(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -9787,7 +10155,7 @@ api.ForwardingRulesScopedList buildForwardingRulesScopedList() { final o = api.ForwardingRulesScopedList(); buildCounterForwardingRulesScopedList++; if (buildCounterForwardingRulesScopedList < 3) { - o.forwardingRules = buildUnnamed174(); + o.forwardingRules = buildUnnamed183(); o.warning = buildForwardingRulesScopedListWarning(); } buildCounterForwardingRulesScopedList--; @@ -9797,7 +10165,7 @@ api.ForwardingRulesScopedList buildForwardingRulesScopedList() { void checkForwardingRulesScopedList(api.ForwardingRulesScopedList o) { buildCounterForwardingRulesScopedList++; if (buildCounterForwardingRulesScopedList < 3) { - checkUnnamed174(o.forwardingRules!); + checkUnnamed183(o.forwardingRules!); checkForwardingRulesScopedListWarning(o.warning!); } buildCounterForwardingRulesScopedList--; @@ -9867,12 +10235,12 @@ void checkGlobalAddressesMoveRequest(api.GlobalAddressesMoveRequest o) { buildCounterGlobalAddressesMoveRequest--; } -core.List buildUnnamed176() => [ +core.List buildUnnamed185() => [ buildNetworkEndpoint(), buildNetworkEndpoint(), ]; -void checkUnnamed176(core.List o) { +void checkUnnamed185(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkEndpoint(o[0]); checkNetworkEndpoint(o[1]); @@ -9884,7 +10252,7 @@ api.GlobalNetworkEndpointGroupsAttachEndpointsRequest final o = api.GlobalNetworkEndpointGroupsAttachEndpointsRequest(); buildCounterGlobalNetworkEndpointGroupsAttachEndpointsRequest++; if (buildCounterGlobalNetworkEndpointGroupsAttachEndpointsRequest < 3) { - o.networkEndpoints = buildUnnamed176(); + o.networkEndpoints = buildUnnamed185(); } buildCounterGlobalNetworkEndpointGroupsAttachEndpointsRequest--; return o; @@ -9894,17 +10262,17 @@ void checkGlobalNetworkEndpointGroupsAttachEndpointsRequest( api.GlobalNetworkEndpointGroupsAttachEndpointsRequest o) { buildCounterGlobalNetworkEndpointGroupsAttachEndpointsRequest++; if (buildCounterGlobalNetworkEndpointGroupsAttachEndpointsRequest < 3) { - checkUnnamed176(o.networkEndpoints!); + checkUnnamed185(o.networkEndpoints!); } buildCounterGlobalNetworkEndpointGroupsAttachEndpointsRequest--; } -core.List buildUnnamed177() => [ +core.List buildUnnamed186() => [ buildNetworkEndpoint(), buildNetworkEndpoint(), ]; -void checkUnnamed177(core.List o) { +void checkUnnamed186(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkEndpoint(o[0]); checkNetworkEndpoint(o[1]); @@ -9916,7 +10284,7 @@ api.GlobalNetworkEndpointGroupsDetachEndpointsRequest final o = api.GlobalNetworkEndpointGroupsDetachEndpointsRequest(); buildCounterGlobalNetworkEndpointGroupsDetachEndpointsRequest++; if (buildCounterGlobalNetworkEndpointGroupsDetachEndpointsRequest < 3) { - o.networkEndpoints = buildUnnamed177(); + o.networkEndpoints = buildUnnamed186(); } buildCounterGlobalNetworkEndpointGroupsDetachEndpointsRequest--; return o; @@ -9926,17 +10294,17 @@ void checkGlobalNetworkEndpointGroupsDetachEndpointsRequest( api.GlobalNetworkEndpointGroupsDetachEndpointsRequest o) { buildCounterGlobalNetworkEndpointGroupsDetachEndpointsRequest++; if (buildCounterGlobalNetworkEndpointGroupsDetachEndpointsRequest < 3) { - checkUnnamed177(o.networkEndpoints!); + checkUnnamed186(o.networkEndpoints!); } buildCounterGlobalNetworkEndpointGroupsDetachEndpointsRequest--; } -core.List buildUnnamed178() => [ +core.List buildUnnamed187() => [ buildBinding(), buildBinding(), ]; -void checkUnnamed178(core.List o) { +void checkUnnamed187(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBinding(o[0]); checkBinding(o[1]); @@ -9948,7 +10316,7 @@ api.GlobalOrganizationSetPolicyRequest final o = api.GlobalOrganizationSetPolicyRequest(); buildCounterGlobalOrganizationSetPolicyRequest++; if (buildCounterGlobalOrganizationSetPolicyRequest < 3) { - o.bindings = buildUnnamed178(); + o.bindings = buildUnnamed187(); o.etag = 'foo'; o.policy = buildPolicy(); } @@ -9960,7 +10328,7 @@ void checkGlobalOrganizationSetPolicyRequest( api.GlobalOrganizationSetPolicyRequest o) { buildCounterGlobalOrganizationSetPolicyRequest++; if (buildCounterGlobalOrganizationSetPolicyRequest < 3) { - checkUnnamed178(o.bindings!); + checkUnnamed187(o.bindings!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -9970,12 +10338,12 @@ void checkGlobalOrganizationSetPolicyRequest( buildCounterGlobalOrganizationSetPolicyRequest--; } -core.Map buildUnnamed179() => { +core.Map buildUnnamed188() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed179(core.Map o) { +void checkUnnamed188(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -9993,7 +10361,7 @@ api.GlobalSetLabelsRequest buildGlobalSetLabelsRequest() { buildCounterGlobalSetLabelsRequest++; if (buildCounterGlobalSetLabelsRequest < 3) { o.labelFingerprint = 'foo'; - o.labels = buildUnnamed179(); + o.labels = buildUnnamed188(); } buildCounterGlobalSetLabelsRequest--; return o; @@ -10006,17 +10374,17 @@ void checkGlobalSetLabelsRequest(api.GlobalSetLabelsRequest o) { o.labelFingerprint!, unittest.equals('foo'), ); - checkUnnamed179(o.labels!); + checkUnnamed188(o.labels!); } buildCounterGlobalSetLabelsRequest--; } -core.List buildUnnamed180() => [ +core.List buildUnnamed189() => [ buildBinding(), buildBinding(), ]; -void checkUnnamed180(core.List o) { +void checkUnnamed189(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBinding(o[0]); checkBinding(o[1]); @@ -10027,7 +10395,7 @@ api.GlobalSetPolicyRequest buildGlobalSetPolicyRequest() { final o = api.GlobalSetPolicyRequest(); buildCounterGlobalSetPolicyRequest++; if (buildCounterGlobalSetPolicyRequest < 3) { - o.bindings = buildUnnamed180(); + o.bindings = buildUnnamed189(); o.etag = 'foo'; o.policy = buildPolicy(); } @@ -10038,7 +10406,7 @@ api.GlobalSetPolicyRequest buildGlobalSetPolicyRequest() { void checkGlobalSetPolicyRequest(api.GlobalSetPolicyRequest o) { buildCounterGlobalSetPolicyRequest++; if (buildCounterGlobalSetPolicyRequest < 3) { - checkUnnamed180(o.bindings!); + checkUnnamed189(o.bindings!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -10124,12 +10492,12 @@ void checkGuestAttributesEntry(api.GuestAttributesEntry o) { buildCounterGuestAttributesEntry--; } -core.List buildUnnamed181() => [ +core.List buildUnnamed190() => [ buildGuestAttributesEntry(), buildGuestAttributesEntry(), ]; -void checkUnnamed181(core.List o) { +void checkUnnamed190(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGuestAttributesEntry(o[0]); checkGuestAttributesEntry(o[1]); @@ -10140,7 +10508,7 @@ api.GuestAttributesValue buildGuestAttributesValue() { final o = api.GuestAttributesValue(); buildCounterGuestAttributesValue++; if (buildCounterGuestAttributesValue < 3) { - o.items = buildUnnamed181(); + o.items = buildUnnamed190(); } buildCounterGuestAttributesValue--; return o; @@ -10149,7 +10517,7 @@ api.GuestAttributesValue buildGuestAttributesValue() { void checkGuestAttributesValue(api.GuestAttributesValue o) { buildCounterGuestAttributesValue++; if (buildCounterGuestAttributesValue < 3) { - checkUnnamed181(o.items!); + checkUnnamed190(o.items!); } buildCounterGuestAttributesValue--; } @@ -10332,12 +10700,12 @@ void checkHTTPSHealthCheck(api.HTTPSHealthCheck o) { buildCounterHTTPSHealthCheck--; } -core.List buildUnnamed182() => [ +core.List buildUnnamed191() => [ 'foo', 'foo', ]; -void checkUnnamed182(core.List o) { +void checkUnnamed191(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10368,7 +10736,7 @@ api.HealthCheck buildHealthCheck() { o.name = 'foo'; o.region = 'foo'; o.selfLink = 'foo'; - o.sourceRegions = buildUnnamed182(); + o.sourceRegions = buildUnnamed191(); o.sslHealthCheck = buildSSLHealthCheck(); o.tcpHealthCheck = buildTCPHealthCheck(); o.timeoutSec = 42; @@ -10423,7 +10791,7 @@ void checkHealthCheck(api.HealthCheck o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed182(o.sourceRegions!); + checkUnnamed191(o.sourceRegions!); checkSSLHealthCheck(o.sslHealthCheck!); checkTCPHealthCheck(o.tcpHealthCheck!); unittest.expect( @@ -10442,12 +10810,12 @@ void checkHealthCheck(api.HealthCheck o) { buildCounterHealthCheck--; } -core.List buildUnnamed183() => [ +core.List buildUnnamed192() => [ buildHealthCheck(), buildHealthCheck(), ]; -void checkUnnamed183(core.List o) { +void checkUnnamed192(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHealthCheck(o[0]); checkHealthCheck(o[1]); @@ -10480,12 +10848,12 @@ void checkHealthCheckListWarningData(api.HealthCheckListWarningData o) { buildCounterHealthCheckListWarningData--; } -core.List buildUnnamed184() => [ +core.List buildUnnamed193() => [ buildHealthCheckListWarningData(), buildHealthCheckListWarningData(), ]; -void checkUnnamed184(core.List o) { +void checkUnnamed193(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHealthCheckListWarningData(o[0]); checkHealthCheckListWarningData(o[1]); @@ -10497,7 +10865,7 @@ api.HealthCheckListWarning buildHealthCheckListWarning() { buildCounterHealthCheckListWarning++; if (buildCounterHealthCheckListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed184(); + o.data = buildUnnamed193(); o.message = 'foo'; } buildCounterHealthCheckListWarning--; @@ -10511,7 +10879,7 @@ void checkHealthCheckListWarning(api.HealthCheckListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed184(o.data!); + checkUnnamed193(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -10526,7 +10894,7 @@ api.HealthCheckList buildHealthCheckList() { buildCounterHealthCheckList++; if (buildCounterHealthCheckList < 3) { o.id = 'foo'; - o.items = buildUnnamed183(); + o.items = buildUnnamed192(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -10543,7 +10911,7 @@ void checkHealthCheckList(api.HealthCheckList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed183(o.items!); + checkUnnamed192(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -10602,12 +10970,12 @@ void checkHealthCheckReference(api.HealthCheckReference o) { buildCounterHealthCheckReference--; } -core.List buildUnnamed185() => [ +core.List buildUnnamed194() => [ 'foo', 'foo', ]; -void checkUnnamed185(core.List o) { +void checkUnnamed194(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10619,12 +10987,12 @@ void checkUnnamed185(core.List o) { ); } -core.List buildUnnamed186() => [ +core.List buildUnnamed195() => [ 'foo', 'foo', ]; -void checkUnnamed186(core.List o) { +void checkUnnamed195(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10636,12 +11004,12 @@ void checkUnnamed186(core.List o) { ); } -core.List buildUnnamed187() => [ +core.List buildUnnamed196() => [ 'foo', 'foo', ]; -void checkUnnamed187(core.List o) { +void checkUnnamed196(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10661,13 +11029,13 @@ api.HealthCheckService buildHealthCheckService() { o.creationTimestamp = 'foo'; o.description = 'foo'; o.fingerprint = 'foo'; - o.healthChecks = buildUnnamed185(); + o.healthChecks = buildUnnamed194(); o.healthStatusAggregationPolicy = 'foo'; o.id = 'foo'; o.kind = 'foo'; o.name = 'foo'; - o.networkEndpointGroups = buildUnnamed186(); - o.notificationEndpoints = buildUnnamed187(); + o.networkEndpointGroups = buildUnnamed195(); + o.notificationEndpoints = buildUnnamed196(); o.region = 'foo'; o.selfLink = 'foo'; } @@ -10690,7 +11058,7 @@ void checkHealthCheckService(api.HealthCheckService o) { o.fingerprint!, unittest.equals('foo'), ); - checkUnnamed185(o.healthChecks!); + checkUnnamed194(o.healthChecks!); unittest.expect( o.healthStatusAggregationPolicy!, unittest.equals('foo'), @@ -10707,8 +11075,8 @@ void checkHealthCheckService(api.HealthCheckService o) { o.name!, unittest.equals('foo'), ); - checkUnnamed186(o.networkEndpointGroups!); - checkUnnamed187(o.notificationEndpoints!); + checkUnnamed195(o.networkEndpointGroups!); + checkUnnamed196(o.notificationEndpoints!); unittest.expect( o.region!, unittest.equals('foo'), @@ -10743,12 +11111,12 @@ void checkHealthCheckServiceReference(api.HealthCheckServiceReference o) { buildCounterHealthCheckServiceReference--; } -core.List buildUnnamed188() => [ +core.List buildUnnamed197() => [ buildHealthCheckService(), buildHealthCheckService(), ]; -void checkUnnamed188(core.List o) { +void checkUnnamed197(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHealthCheckService(o[0]); checkHealthCheckService(o[1]); @@ -10783,12 +11151,12 @@ void checkHealthCheckServicesListWarningData( buildCounterHealthCheckServicesListWarningData--; } -core.List buildUnnamed189() => [ +core.List buildUnnamed198() => [ buildHealthCheckServicesListWarningData(), buildHealthCheckServicesListWarningData(), ]; -void checkUnnamed189(core.List o) { +void checkUnnamed198(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHealthCheckServicesListWarningData(o[0]); checkHealthCheckServicesListWarningData(o[1]); @@ -10800,7 +11168,7 @@ api.HealthCheckServicesListWarning buildHealthCheckServicesListWarning() { buildCounterHealthCheckServicesListWarning++; if (buildCounterHealthCheckServicesListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed189(); + o.data = buildUnnamed198(); o.message = 'foo'; } buildCounterHealthCheckServicesListWarning--; @@ -10814,7 +11182,7 @@ void checkHealthCheckServicesListWarning(api.HealthCheckServicesListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed189(o.data!); + checkUnnamed198(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -10829,7 +11197,7 @@ api.HealthCheckServicesList buildHealthCheckServicesList() { buildCounterHealthCheckServicesList++; if (buildCounterHealthCheckServicesList < 3) { o.id = 'foo'; - o.items = buildUnnamed188(); + o.items = buildUnnamed197(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -10846,7 +11214,7 @@ void checkHealthCheckServicesList(api.HealthCheckServicesList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed188(o.items!); + checkUnnamed197(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -10864,23 +11232,23 @@ void checkHealthCheckServicesList(api.HealthCheckServicesList o) { buildCounterHealthCheckServicesList--; } -core.Map buildUnnamed190() => { +core.Map buildUnnamed199() => { 'x': buildHealthChecksScopedList(), 'y': buildHealthChecksScopedList(), }; -void checkUnnamed190(core.Map o) { +void checkUnnamed199(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkHealthChecksScopedList(o['x']!); checkHealthChecksScopedList(o['y']!); } -core.List buildUnnamed191() => [ +core.List buildUnnamed200() => [ 'foo', 'foo', ]; -void checkUnnamed191(core.List o) { +void checkUnnamed200(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10921,12 +11289,12 @@ void checkHealthChecksAggregatedListWarningData( buildCounterHealthChecksAggregatedListWarningData--; } -core.List buildUnnamed192() => [ +core.List buildUnnamed201() => [ buildHealthChecksAggregatedListWarningData(), buildHealthChecksAggregatedListWarningData(), ]; -void checkUnnamed192(core.List o) { +void checkUnnamed201(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHealthChecksAggregatedListWarningData(o[0]); checkHealthChecksAggregatedListWarningData(o[1]); @@ -10938,7 +11306,7 @@ api.HealthChecksAggregatedListWarning buildHealthChecksAggregatedListWarning() { buildCounterHealthChecksAggregatedListWarning++; if (buildCounterHealthChecksAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed192(); + o.data = buildUnnamed201(); o.message = 'foo'; } buildCounterHealthChecksAggregatedListWarning--; @@ -10953,7 +11321,7 @@ void checkHealthChecksAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed192(o.data!); + checkUnnamed201(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -10968,11 +11336,11 @@ api.HealthChecksAggregatedList buildHealthChecksAggregatedList() { buildCounterHealthChecksAggregatedList++; if (buildCounterHealthChecksAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed190(); + o.items = buildUnnamed199(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed191(); + o.unreachables = buildUnnamed200(); o.warning = buildHealthChecksAggregatedListWarning(); } buildCounterHealthChecksAggregatedList--; @@ -10986,7 +11354,7 @@ void checkHealthChecksAggregatedList(api.HealthChecksAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed190(o.items!); + checkUnnamed199(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -10999,18 +11367,18 @@ void checkHealthChecksAggregatedList(api.HealthChecksAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed191(o.unreachables!); + checkUnnamed200(o.unreachables!); checkHealthChecksAggregatedListWarning(o.warning!); } buildCounterHealthChecksAggregatedList--; } -core.List buildUnnamed193() => [ +core.List buildUnnamed202() => [ buildHealthCheck(), buildHealthCheck(), ]; -void checkUnnamed193(core.List o) { +void checkUnnamed202(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHealthCheck(o[0]); checkHealthCheck(o[1]); @@ -11044,12 +11412,12 @@ void checkHealthChecksScopedListWarningData( buildCounterHealthChecksScopedListWarningData--; } -core.List buildUnnamed194() => [ +core.List buildUnnamed203() => [ buildHealthChecksScopedListWarningData(), buildHealthChecksScopedListWarningData(), ]; -void checkUnnamed194(core.List o) { +void checkUnnamed203(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHealthChecksScopedListWarningData(o[0]); checkHealthChecksScopedListWarningData(o[1]); @@ -11061,7 +11429,7 @@ api.HealthChecksScopedListWarning buildHealthChecksScopedListWarning() { buildCounterHealthChecksScopedListWarning++; if (buildCounterHealthChecksScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed194(); + o.data = buildUnnamed203(); o.message = 'foo'; } buildCounterHealthChecksScopedListWarning--; @@ -11075,7 +11443,7 @@ void checkHealthChecksScopedListWarning(api.HealthChecksScopedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed194(o.data!); + checkUnnamed203(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -11089,7 +11457,7 @@ api.HealthChecksScopedList buildHealthChecksScopedList() { final o = api.HealthChecksScopedList(); buildCounterHealthChecksScopedList++; if (buildCounterHealthChecksScopedList < 3) { - o.healthChecks = buildUnnamed193(); + o.healthChecks = buildUnnamed202(); o.warning = buildHealthChecksScopedListWarning(); } buildCounterHealthChecksScopedList--; @@ -11099,18 +11467,18 @@ api.HealthChecksScopedList buildHealthChecksScopedList() { void checkHealthChecksScopedList(api.HealthChecksScopedList o) { buildCounterHealthChecksScopedList++; if (buildCounterHealthChecksScopedList < 3) { - checkUnnamed193(o.healthChecks!); + checkUnnamed202(o.healthChecks!); checkHealthChecksScopedListWarning(o.warning!); } buildCounterHealthChecksScopedList--; } -core.Map buildUnnamed195() => { +core.Map buildUnnamed204() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed195(core.Map o) { +void checkUnnamed204(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -11127,7 +11495,7 @@ api.HealthStatus buildHealthStatus() { final o = api.HealthStatus(); buildCounterHealthStatus++; if (buildCounterHealthStatus < 3) { - o.annotations = buildUnnamed195(); + o.annotations = buildUnnamed204(); o.forwardingRule = 'foo'; o.forwardingRuleIp = 'foo'; o.healthState = 'foo'; @@ -11146,7 +11514,7 @@ api.HealthStatus buildHealthStatus() { void checkHealthStatus(api.HealthStatus o) { buildCounterHealthStatus++; if (buildCounterHealthStatus < 3) { - checkUnnamed195(o.annotations!); + checkUnnamed204(o.annotations!); unittest.expect( o.forwardingRule!, unittest.equals('foo'), @@ -11226,12 +11594,12 @@ void checkHealthStatusForNetworkEndpoint(api.HealthStatusForNetworkEndpoint o) { buildCounterHealthStatusForNetworkEndpoint--; } -core.List buildUnnamed196() => [ +core.List buildUnnamed205() => [ buildHelpLink(), buildHelpLink(), ]; -void checkUnnamed196(core.List o) { +void checkUnnamed205(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHelpLink(o[0]); checkHelpLink(o[1]); @@ -11242,7 +11610,7 @@ api.Help buildHelp() { final o = api.Help(); buildCounterHelp++; if (buildCounterHelp < 3) { - o.links = buildUnnamed196(); + o.links = buildUnnamed205(); } buildCounterHelp--; return o; @@ -11251,7 +11619,7 @@ api.Help buildHelp() { void checkHelp(api.Help o) { buildCounterHelp++; if (buildCounterHelp < 3) { - checkUnnamed196(o.links!); + checkUnnamed205(o.links!); } buildCounterHelp--; } @@ -11283,12 +11651,12 @@ void checkHelpLink(api.HelpLink o) { buildCounterHelpLink--; } -core.List buildUnnamed197() => [ +core.List buildUnnamed206() => [ 'foo', 'foo', ]; -void checkUnnamed197(core.List o) { +void checkUnnamed206(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11306,7 +11674,7 @@ api.HostRule buildHostRule() { buildCounterHostRule++; if (buildCounterHostRule < 3) { o.description = 'foo'; - o.hosts = buildUnnamed197(); + o.hosts = buildUnnamed206(); o.pathMatcher = 'foo'; } buildCounterHostRule--; @@ -11320,7 +11688,7 @@ void checkHostRule(api.HostRule o) { o.description!, unittest.equals('foo'), ); - checkUnnamed197(o.hosts!); + checkUnnamed206(o.hosts!); unittest.expect( o.pathMatcher!, unittest.equals('foo'), @@ -11401,23 +11769,23 @@ void checkHttpFaultInjection(api.HttpFaultInjection o) { buildCounterHttpFaultInjection--; } -core.List buildUnnamed198() => [ +core.List buildUnnamed207() => [ buildHttpHeaderOption(), buildHttpHeaderOption(), ]; -void checkUnnamed198(core.List o) { +void checkUnnamed207(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHttpHeaderOption(o[0]); checkHttpHeaderOption(o[1]); } -core.List buildUnnamed199() => [ +core.List buildUnnamed208() => [ 'foo', 'foo', ]; -void checkUnnamed199(core.List o) { +void checkUnnamed208(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11429,23 +11797,23 @@ void checkUnnamed199(core.List o) { ); } -core.List buildUnnamed200() => [ +core.List buildUnnamed209() => [ buildHttpHeaderOption(), buildHttpHeaderOption(), ]; -void checkUnnamed200(core.List o) { +void checkUnnamed209(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHttpHeaderOption(o[0]); checkHttpHeaderOption(o[1]); } -core.List buildUnnamed201() => [ +core.List buildUnnamed210() => [ 'foo', 'foo', ]; -void checkUnnamed201(core.List o) { +void checkUnnamed210(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11462,10 +11830,10 @@ api.HttpHeaderAction buildHttpHeaderAction() { final o = api.HttpHeaderAction(); buildCounterHttpHeaderAction++; if (buildCounterHttpHeaderAction < 3) { - o.requestHeadersToAdd = buildUnnamed198(); - o.requestHeadersToRemove = buildUnnamed199(); - o.responseHeadersToAdd = buildUnnamed200(); - o.responseHeadersToRemove = buildUnnamed201(); + o.requestHeadersToAdd = buildUnnamed207(); + o.requestHeadersToRemove = buildUnnamed208(); + o.responseHeadersToAdd = buildUnnamed209(); + o.responseHeadersToRemove = buildUnnamed210(); } buildCounterHttpHeaderAction--; return o; @@ -11474,10 +11842,10 @@ api.HttpHeaderAction buildHttpHeaderAction() { void checkHttpHeaderAction(api.HttpHeaderAction o) { buildCounterHttpHeaderAction++; if (buildCounterHttpHeaderAction < 3) { - checkUnnamed198(o.requestHeadersToAdd!); - checkUnnamed199(o.requestHeadersToRemove!); - checkUnnamed200(o.responseHeadersToAdd!); - checkUnnamed201(o.responseHeadersToRemove!); + checkUnnamed207(o.requestHeadersToAdd!); + checkUnnamed208(o.requestHeadersToRemove!); + checkUnnamed209(o.responseHeadersToAdd!); + checkUnnamed210(o.responseHeadersToRemove!); } buildCounterHttpHeaderAction--; } @@ -11641,12 +12009,12 @@ void checkHttpHealthCheck(api.HttpHealthCheck o) { buildCounterHttpHealthCheck--; } -core.List buildUnnamed202() => [ +core.List buildUnnamed211() => [ buildHttpHealthCheck(), buildHttpHealthCheck(), ]; -void checkUnnamed202(core.List o) { +void checkUnnamed211(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHttpHealthCheck(o[0]); checkHttpHealthCheck(o[1]); @@ -11679,12 +12047,12 @@ void checkHttpHealthCheckListWarningData(api.HttpHealthCheckListWarningData o) { buildCounterHttpHealthCheckListWarningData--; } -core.List buildUnnamed203() => [ +core.List buildUnnamed212() => [ buildHttpHealthCheckListWarningData(), buildHttpHealthCheckListWarningData(), ]; -void checkUnnamed203(core.List o) { +void checkUnnamed212(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHttpHealthCheckListWarningData(o[0]); checkHttpHealthCheckListWarningData(o[1]); @@ -11696,7 +12064,7 @@ api.HttpHealthCheckListWarning buildHttpHealthCheckListWarning() { buildCounterHttpHealthCheckListWarning++; if (buildCounterHttpHealthCheckListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed203(); + o.data = buildUnnamed212(); o.message = 'foo'; } buildCounterHttpHealthCheckListWarning--; @@ -11710,7 +12078,7 @@ void checkHttpHealthCheckListWarning(api.HttpHealthCheckListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed203(o.data!); + checkUnnamed212(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -11725,7 +12093,7 @@ api.HttpHealthCheckList buildHttpHealthCheckList() { buildCounterHttpHealthCheckList++; if (buildCounterHttpHealthCheckList < 3) { o.id = 'foo'; - o.items = buildUnnamed202(); + o.items = buildUnnamed211(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -11742,7 +12110,7 @@ void checkHttpHealthCheckList(api.HttpHealthCheckList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed202(o.items!); + checkUnnamed211(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -11835,12 +12203,12 @@ void checkHttpRedirectAction(api.HttpRedirectAction o) { buildCounterHttpRedirectAction--; } -core.List buildUnnamed204() => [ +core.List buildUnnamed213() => [ 'foo', 'foo', ]; -void checkUnnamed204(core.List o) { +void checkUnnamed213(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11859,7 +12227,7 @@ api.HttpRetryPolicy buildHttpRetryPolicy() { if (buildCounterHttpRetryPolicy < 3) { o.numRetries = 42; o.perTryTimeout = buildDuration(); - o.retryConditions = buildUnnamed204(); + o.retryConditions = buildUnnamed213(); } buildCounterHttpRetryPolicy--; return o; @@ -11873,17 +12241,17 @@ void checkHttpRetryPolicy(api.HttpRetryPolicy o) { unittest.equals(42), ); checkDuration(o.perTryTimeout!); - checkUnnamed204(o.retryConditions!); + checkUnnamed213(o.retryConditions!); } buildCounterHttpRetryPolicy--; } -core.List buildUnnamed205() => [ +core.List buildUnnamed214() => [ buildWeightedBackendService(), buildWeightedBackendService(), ]; -void checkUnnamed205(core.List o) { +void checkUnnamed214(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWeightedBackendService(o[0]); checkWeightedBackendService(o[1]); @@ -11901,7 +12269,7 @@ api.HttpRouteAction buildHttpRouteAction() { o.retryPolicy = buildHttpRetryPolicy(); o.timeout = buildDuration(); o.urlRewrite = buildUrlRewrite(); - o.weightedBackendServices = buildUnnamed205(); + o.weightedBackendServices = buildUnnamed214(); } buildCounterHttpRouteAction--; return o; @@ -11917,17 +12285,17 @@ void checkHttpRouteAction(api.HttpRouteAction o) { checkHttpRetryPolicy(o.retryPolicy!); checkDuration(o.timeout!); checkUrlRewrite(o.urlRewrite!); - checkUnnamed205(o.weightedBackendServices!); + checkUnnamed214(o.weightedBackendServices!); } buildCounterHttpRouteAction--; } -core.List buildUnnamed206() => [ +core.List buildUnnamed215() => [ buildHttpRouteRuleMatch(), buildHttpRouteRuleMatch(), ]; -void checkUnnamed206(core.List o) { +void checkUnnamed215(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHttpRouteRuleMatch(o[0]); checkHttpRouteRuleMatch(o[1]); @@ -11941,7 +12309,7 @@ api.HttpRouteRule buildHttpRouteRule() { o.customErrorResponsePolicy = buildCustomErrorResponsePolicy(); o.description = 'foo'; o.headerAction = buildHttpHeaderAction(); - o.matchRules = buildUnnamed206(); + o.matchRules = buildUnnamed215(); o.priority = 42; o.routeAction = buildHttpRouteAction(); o.service = 'foo'; @@ -11960,7 +12328,7 @@ void checkHttpRouteRule(api.HttpRouteRule o) { unittest.equals('foo'), ); checkHttpHeaderAction(o.headerAction!); - checkUnnamed206(o.matchRules!); + checkUnnamed215(o.matchRules!); unittest.expect( o.priority!, unittest.equals(42), @@ -11975,34 +12343,34 @@ void checkHttpRouteRule(api.HttpRouteRule o) { buildCounterHttpRouteRule--; } -core.List buildUnnamed207() => [ +core.List buildUnnamed216() => [ buildHttpHeaderMatch(), buildHttpHeaderMatch(), ]; -void checkUnnamed207(core.List o) { +void checkUnnamed216(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHttpHeaderMatch(o[0]); checkHttpHeaderMatch(o[1]); } -core.List buildUnnamed208() => [ +core.List buildUnnamed217() => [ buildMetadataFilter(), buildMetadataFilter(), ]; -void checkUnnamed208(core.List o) { +void checkUnnamed217(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMetadataFilter(o[0]); checkMetadataFilter(o[1]); } -core.List buildUnnamed209() => [ +core.List buildUnnamed218() => [ buildHttpQueryParameterMatch(), buildHttpQueryParameterMatch(), ]; -void checkUnnamed209(core.List o) { +void checkUnnamed218(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHttpQueryParameterMatch(o[0]); checkHttpQueryParameterMatch(o[1]); @@ -12014,12 +12382,12 @@ api.HttpRouteRuleMatch buildHttpRouteRuleMatch() { buildCounterHttpRouteRuleMatch++; if (buildCounterHttpRouteRuleMatch < 3) { o.fullPathMatch = 'foo'; - o.headerMatches = buildUnnamed207(); + o.headerMatches = buildUnnamed216(); o.ignoreCase = true; - o.metadataFilters = buildUnnamed208(); + o.metadataFilters = buildUnnamed217(); o.pathTemplateMatch = 'foo'; o.prefixMatch = 'foo'; - o.queryParameterMatches = buildUnnamed209(); + o.queryParameterMatches = buildUnnamed218(); o.regexMatch = 'foo'; } buildCounterHttpRouteRuleMatch--; @@ -12033,9 +12401,9 @@ void checkHttpRouteRuleMatch(api.HttpRouteRuleMatch o) { o.fullPathMatch!, unittest.equals('foo'), ); - checkUnnamed207(o.headerMatches!); + checkUnnamed216(o.headerMatches!); unittest.expect(o.ignoreCase!, unittest.isTrue); - checkUnnamed208(o.metadataFilters!); + checkUnnamed217(o.metadataFilters!); unittest.expect( o.pathTemplateMatch!, unittest.equals('foo'), @@ -12044,7 +12412,7 @@ void checkHttpRouteRuleMatch(api.HttpRouteRuleMatch o) { o.prefixMatch!, unittest.equals('foo'), ); - checkUnnamed209(o.queryParameterMatches!); + checkUnnamed218(o.queryParameterMatches!); unittest.expect( o.regexMatch!, unittest.equals('foo'), @@ -12135,12 +12503,12 @@ void checkHttpsHealthCheck(api.HttpsHealthCheck o) { buildCounterHttpsHealthCheck--; } -core.List buildUnnamed210() => [ +core.List buildUnnamed219() => [ buildHttpsHealthCheck(), buildHttpsHealthCheck(), ]; -void checkUnnamed210(core.List o) { +void checkUnnamed219(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHttpsHealthCheck(o[0]); checkHttpsHealthCheck(o[1]); @@ -12174,12 +12542,12 @@ void checkHttpsHealthCheckListWarningData( buildCounterHttpsHealthCheckListWarningData--; } -core.List buildUnnamed211() => [ +core.List buildUnnamed220() => [ buildHttpsHealthCheckListWarningData(), buildHttpsHealthCheckListWarningData(), ]; -void checkUnnamed211(core.List o) { +void checkUnnamed220(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHttpsHealthCheckListWarningData(o[0]); checkHttpsHealthCheckListWarningData(o[1]); @@ -12191,7 +12559,7 @@ api.HttpsHealthCheckListWarning buildHttpsHealthCheckListWarning() { buildCounterHttpsHealthCheckListWarning++; if (buildCounterHttpsHealthCheckListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed211(); + o.data = buildUnnamed220(); o.message = 'foo'; } buildCounterHttpsHealthCheckListWarning--; @@ -12205,7 +12573,7 @@ void checkHttpsHealthCheckListWarning(api.HttpsHealthCheckListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed211(o.data!); + checkUnnamed220(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -12220,7 +12588,7 @@ api.HttpsHealthCheckList buildHttpsHealthCheckList() { buildCounterHttpsHealthCheckList++; if (buildCounterHttpsHealthCheckList < 3) { o.id = 'foo'; - o.items = buildUnnamed210(); + o.items = buildUnnamed219(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -12237,7 +12605,7 @@ void checkHttpsHealthCheckList(api.HttpsHealthCheckList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed210(o.items!); + checkUnnamed219(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -12255,23 +12623,23 @@ void checkHttpsHealthCheckList(api.HttpsHealthCheckList o) { buildCounterHttpsHealthCheckList--; } -core.List buildUnnamed212() => [ +core.List buildUnnamed221() => [ buildGuestOsFeature(), buildGuestOsFeature(), ]; -void checkUnnamed212(core.List o) { +void checkUnnamed221(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGuestOsFeature(o[0]); checkGuestOsFeature(o[1]); } -core.Map buildUnnamed213() => { +core.Map buildUnnamed222() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed213(core.Map o) { +void checkUnnamed222(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -12283,12 +12651,12 @@ void checkUnnamed213(core.Map o) { ); } -core.List buildUnnamed214() => [ +core.List buildUnnamed223() => [ 'foo', 'foo', ]; -void checkUnnamed214(core.List o) { +void checkUnnamed223(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12300,12 +12668,12 @@ void checkUnnamed214(core.List o) { ); } -core.List buildUnnamed215() => [ +core.List buildUnnamed224() => [ 'foo', 'foo', ]; -void checkUnnamed215(core.List o) { +void checkUnnamed224(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12349,12 +12717,12 @@ void checkImageRawDisk(api.ImageRawDisk o) { buildCounterImageRawDisk--; } -core.List buildUnnamed216() => [ +core.List buildUnnamed225() => [ 'foo', 'foo', ]; -void checkUnnamed216(core.List o) { +void checkUnnamed225(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12379,14 +12747,14 @@ api.Image buildImage() { o.diskSizeGb = 'foo'; o.enableConfidentialCompute = true; o.family = 'foo'; - o.guestOsFeatures = buildUnnamed212(); + o.guestOsFeatures = buildUnnamed221(); o.id = 'foo'; o.imageEncryptionKey = buildCustomerEncryptionKey(); o.kind = 'foo'; o.labelFingerprint = 'foo'; - o.labels = buildUnnamed213(); - o.licenseCodes = buildUnnamed214(); - o.licenses = buildUnnamed215(); + o.labels = buildUnnamed222(); + o.licenseCodes = buildUnnamed223(); + o.licenses = buildUnnamed224(); o.name = 'foo'; o.rawDisk = buildImageRawDisk(); o.satisfiesPzi = true; @@ -12404,7 +12772,7 @@ api.Image buildImage() { o.sourceSnapshotId = 'foo'; o.sourceType = 'foo'; o.status = 'foo'; - o.storageLocations = buildUnnamed216(); + o.storageLocations = buildUnnamed225(); } buildCounterImage--; return o; @@ -12439,7 +12807,7 @@ void checkImage(api.Image o) { o.family!, unittest.equals('foo'), ); - checkUnnamed212(o.guestOsFeatures!); + checkUnnamed221(o.guestOsFeatures!); unittest.expect( o.id!, unittest.equals('foo'), @@ -12453,9 +12821,9 @@ void checkImage(api.Image o) { o.labelFingerprint!, unittest.equals('foo'), ); - checkUnnamed213(o.labels!); - checkUnnamed214(o.licenseCodes!); - checkUnnamed215(o.licenses!); + checkUnnamed222(o.labels!); + checkUnnamed223(o.licenseCodes!); + checkUnnamed224(o.licenses!); unittest.expect( o.name!, unittest.equals('foo'), @@ -12503,7 +12871,7 @@ void checkImage(api.Image o) { o.status!, unittest.equals('foo'), ); - checkUnnamed216(o.storageLocations!); + checkUnnamed225(o.storageLocations!); } buildCounterImage--; } @@ -12527,12 +12895,12 @@ void checkImageFamilyView(api.ImageFamilyView o) { buildCounterImageFamilyView--; } -core.List buildUnnamed217() => [ +core.List buildUnnamed226() => [ buildImage(), buildImage(), ]; -void checkUnnamed217(core.List o) { +void checkUnnamed226(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkImage(o[0]); checkImage(o[1]); @@ -12565,12 +12933,12 @@ void checkImageListWarningData(api.ImageListWarningData o) { buildCounterImageListWarningData--; } -core.List buildUnnamed218() => [ +core.List buildUnnamed227() => [ buildImageListWarningData(), buildImageListWarningData(), ]; -void checkUnnamed218(core.List o) { +void checkUnnamed227(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkImageListWarningData(o[0]); checkImageListWarningData(o[1]); @@ -12582,7 +12950,7 @@ api.ImageListWarning buildImageListWarning() { buildCounterImageListWarning++; if (buildCounterImageListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed218(); + o.data = buildUnnamed227(); o.message = 'foo'; } buildCounterImageListWarning--; @@ -12596,7 +12964,7 @@ void checkImageListWarning(api.ImageListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed218(o.data!); + checkUnnamed227(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -12611,7 +12979,7 @@ api.ImageList buildImageList() { buildCounterImageList++; if (buildCounterImageList < 3) { o.id = 'foo'; - o.items = buildUnnamed217(); + o.items = buildUnnamed226(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -12628,7 +12996,7 @@ void checkImageList(api.ImageList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed217(o.items!); + checkUnnamed226(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -12646,34 +13014,34 @@ void checkImageList(api.ImageList o) { buildCounterImageList--; } -core.List buildUnnamed219() => [ +core.List buildUnnamed228() => [ buildFileContentBuffer(), buildFileContentBuffer(), ]; -void checkUnnamed219(core.List o) { +void checkUnnamed228(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFileContentBuffer(o[0]); checkFileContentBuffer(o[1]); } -core.List buildUnnamed220() => [ +core.List buildUnnamed229() => [ buildFileContentBuffer(), buildFileContentBuffer(), ]; -void checkUnnamed220(core.List o) { +void checkUnnamed229(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFileContentBuffer(o[0]); checkFileContentBuffer(o[1]); } -core.List buildUnnamed221() => [ +core.List buildUnnamed230() => [ buildFileContentBuffer(), buildFileContentBuffer(), ]; -void checkUnnamed221(core.List o) { +void checkUnnamed230(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFileContentBuffer(o[0]); checkFileContentBuffer(o[1]); @@ -12684,9 +13052,9 @@ api.InitialStateConfig buildInitialStateConfig() { final o = api.InitialStateConfig(); buildCounterInitialStateConfig++; if (buildCounterInitialStateConfig < 3) { - o.dbs = buildUnnamed219(); - o.dbxs = buildUnnamed220(); - o.keks = buildUnnamed221(); + o.dbs = buildUnnamed228(); + o.dbxs = buildUnnamed229(); + o.keks = buildUnnamed230(); o.pk = buildFileContentBuffer(); } buildCounterInitialStateConfig--; @@ -12696,42 +13064,42 @@ api.InitialStateConfig buildInitialStateConfig() { void checkInitialStateConfig(api.InitialStateConfig o) { buildCounterInitialStateConfig++; if (buildCounterInitialStateConfig < 3) { - checkUnnamed219(o.dbs!); - checkUnnamed220(o.dbxs!); - checkUnnamed221(o.keks!); + checkUnnamed228(o.dbs!); + checkUnnamed229(o.dbxs!); + checkUnnamed230(o.keks!); checkFileContentBuffer(o.pk!); } buildCounterInitialStateConfig--; } -core.List buildUnnamed222() => [ +core.List buildUnnamed231() => [ buildAttachedDisk(), buildAttachedDisk(), ]; -void checkUnnamed222(core.List o) { +void checkUnnamed231(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAttachedDisk(o[0]); checkAttachedDisk(o[1]); } -core.List buildUnnamed223() => [ +core.List buildUnnamed232() => [ buildAcceleratorConfig(), buildAcceleratorConfig(), ]; -void checkUnnamed223(core.List o) { +void checkUnnamed232(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAcceleratorConfig(o[0]); checkAcceleratorConfig(o[1]); } -core.Map buildUnnamed224() => { +core.Map buildUnnamed233() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed224(core.Map o) { +void checkUnnamed233(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -12743,23 +13111,23 @@ void checkUnnamed224(core.Map o) { ); } -core.List buildUnnamed225() => [ +core.List buildUnnamed234() => [ buildNetworkInterface(), buildNetworkInterface(), ]; -void checkUnnamed225(core.List o) { +void checkUnnamed234(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkInterface(o[0]); checkNetworkInterface(o[1]); } -core.List buildUnnamed226() => [ +core.List buildUnnamed235() => [ 'foo', 'foo', ]; -void checkUnnamed226(core.List o) { +void checkUnnamed235(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12771,12 +13139,12 @@ void checkUnnamed226(core.List o) { ); } -core.List buildUnnamed227() => [ +core.List buildUnnamed236() => [ buildServiceAccount(), buildServiceAccount(), ]; -void checkUnnamed227(core.List o) { +void checkUnnamed236(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceAccount(o[0]); checkServiceAccount(o[1]); @@ -12794,17 +13162,17 @@ api.Instance buildInstance() { o.creationTimestamp = 'foo'; o.deletionProtection = true; o.description = 'foo'; - o.disks = buildUnnamed222(); + o.disks = buildUnnamed231(); o.displayDevice = buildDisplayDevice(); o.fingerprint = 'foo'; - o.guestAccelerators = buildUnnamed223(); + o.guestAccelerators = buildUnnamed232(); o.hostname = 'foo'; o.id = 'foo'; o.instanceEncryptionKey = buildCustomerEncryptionKey(); o.keyRevocationActionType = 'foo'; o.kind = 'foo'; o.labelFingerprint = 'foo'; - o.labels = buildUnnamed224(); + o.labels = buildUnnamed233(); o.lastStartTimestamp = 'foo'; o.lastStopTimestamp = 'foo'; o.lastSuspendedTimestamp = 'foo'; @@ -12812,18 +13180,18 @@ api.Instance buildInstance() { o.metadata = buildMetadata(); o.minCpuPlatform = 'foo'; o.name = 'foo'; - o.networkInterfaces = buildUnnamed225(); + o.networkInterfaces = buildUnnamed234(); o.networkPerformanceConfig = buildNetworkPerformanceConfig(); o.params = buildInstanceParams(); o.privateIpv6GoogleAccess = 'foo'; o.reservationAffinity = buildReservationAffinity(); - o.resourcePolicies = buildUnnamed226(); + o.resourcePolicies = buildUnnamed235(); o.resourceStatus = buildResourceStatus(); o.satisfiesPzi = true; o.satisfiesPzs = true; o.scheduling = buildScheduling(); o.selfLink = 'foo'; - o.serviceAccounts = buildUnnamed227(); + o.serviceAccounts = buildUnnamed236(); o.shieldedInstanceConfig = buildShieldedInstanceConfig(); o.shieldedInstanceIntegrityPolicy = buildShieldedInstanceIntegrityPolicy(); o.sourceMachineImage = 'foo'; @@ -12857,13 +13225,13 @@ void checkInstance(api.Instance o) { o.description!, unittest.equals('foo'), ); - checkUnnamed222(o.disks!); + checkUnnamed231(o.disks!); checkDisplayDevice(o.displayDevice!); unittest.expect( o.fingerprint!, unittest.equals('foo'), ); - checkUnnamed223(o.guestAccelerators!); + checkUnnamed232(o.guestAccelerators!); unittest.expect( o.hostname!, unittest.equals('foo'), @@ -12885,7 +13253,7 @@ void checkInstance(api.Instance o) { o.labelFingerprint!, unittest.equals('foo'), ); - checkUnnamed224(o.labels!); + checkUnnamed233(o.labels!); unittest.expect( o.lastStartTimestamp!, unittest.equals('foo'), @@ -12911,7 +13279,7 @@ void checkInstance(api.Instance o) { o.name!, unittest.equals('foo'), ); - checkUnnamed225(o.networkInterfaces!); + checkUnnamed234(o.networkInterfaces!); checkNetworkPerformanceConfig(o.networkPerformanceConfig!); checkInstanceParams(o.params!); unittest.expect( @@ -12919,7 +13287,7 @@ void checkInstance(api.Instance o) { unittest.equals('foo'), ); checkReservationAffinity(o.reservationAffinity!); - checkUnnamed226(o.resourcePolicies!); + checkUnnamed235(o.resourcePolicies!); checkResourceStatus(o.resourceStatus!); unittest.expect(o.satisfiesPzi!, unittest.isTrue); unittest.expect(o.satisfiesPzs!, unittest.isTrue); @@ -12928,7 +13296,7 @@ void checkInstance(api.Instance o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed227(o.serviceAccounts!); + checkUnnamed236(o.serviceAccounts!); checkShieldedInstanceConfig(o.shieldedInstanceConfig!); checkShieldedInstanceIntegrityPolicy(o.shieldedInstanceIntegrityPolicy!); unittest.expect( @@ -12954,23 +13322,23 @@ void checkInstance(api.Instance o) { buildCounterInstance--; } -core.Map buildUnnamed228() => { +core.Map buildUnnamed237() => { 'x': buildInstancesScopedList(), 'y': buildInstancesScopedList(), }; -void checkUnnamed228(core.Map o) { +void checkUnnamed237(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkInstancesScopedList(o['x']!); checkInstancesScopedList(o['y']!); } -core.List buildUnnamed229() => [ +core.List buildUnnamed238() => [ 'foo', 'foo', ]; -void checkUnnamed229(core.List o) { +void checkUnnamed238(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -13010,12 +13378,12 @@ void checkInstanceAggregatedListWarningData( buildCounterInstanceAggregatedListWarningData--; } -core.List buildUnnamed230() => [ +core.List buildUnnamed239() => [ buildInstanceAggregatedListWarningData(), buildInstanceAggregatedListWarningData(), ]; -void checkUnnamed230(core.List o) { +void checkUnnamed239(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceAggregatedListWarningData(o[0]); checkInstanceAggregatedListWarningData(o[1]); @@ -13027,7 +13395,7 @@ api.InstanceAggregatedListWarning buildInstanceAggregatedListWarning() { buildCounterInstanceAggregatedListWarning++; if (buildCounterInstanceAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed230(); + o.data = buildUnnamed239(); o.message = 'foo'; } buildCounterInstanceAggregatedListWarning--; @@ -13041,7 +13409,7 @@ void checkInstanceAggregatedListWarning(api.InstanceAggregatedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed230(o.data!); + checkUnnamed239(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -13056,11 +13424,11 @@ api.InstanceAggregatedList buildInstanceAggregatedList() { buildCounterInstanceAggregatedList++; if (buildCounterInstanceAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed228(); + o.items = buildUnnamed237(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed229(); + o.unreachables = buildUnnamed238(); o.warning = buildInstanceAggregatedListWarning(); } buildCounterInstanceAggregatedList--; @@ -13074,7 +13442,7 @@ void checkInstanceAggregatedList(api.InstanceAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed228(o.items!); + checkUnnamed237(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -13087,7 +13455,7 @@ void checkInstanceAggregatedList(api.InstanceAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed229(o.unreachables!); + checkUnnamed238(o.unreachables!); checkInstanceAggregatedListWarning(o.warning!); } buildCounterInstanceAggregatedList--; @@ -13154,12 +13522,12 @@ void checkInstanceConsumptionInfo(api.InstanceConsumptionInfo o) { buildCounterInstanceConsumptionInfo--; } -core.List buildUnnamed231() => [ +core.List buildUnnamed240() => [ buildNamedPort(), buildNamedPort(), ]; -void checkUnnamed231(core.List o) { +void checkUnnamed240(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNamedPort(o[0]); checkNamedPort(o[1]); @@ -13176,7 +13544,7 @@ api.InstanceGroup buildInstanceGroup() { o.id = 'foo'; o.kind = 'foo'; o.name = 'foo'; - o.namedPorts = buildUnnamed231(); + o.namedPorts = buildUnnamed240(); o.network = 'foo'; o.region = 'foo'; o.selfLink = 'foo'; @@ -13215,7 +13583,7 @@ void checkInstanceGroup(api.InstanceGroup o) { o.name!, unittest.equals('foo'), ); - checkUnnamed231(o.namedPorts!); + checkUnnamed240(o.namedPorts!); unittest.expect( o.network!, unittest.equals('foo'), @@ -13244,23 +13612,23 @@ void checkInstanceGroup(api.InstanceGroup o) { buildCounterInstanceGroup--; } -core.Map buildUnnamed232() => { +core.Map buildUnnamed241() => { 'x': buildInstanceGroupsScopedList(), 'y': buildInstanceGroupsScopedList(), }; -void checkUnnamed232(core.Map o) { +void checkUnnamed241(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceGroupsScopedList(o['x']!); checkInstanceGroupsScopedList(o['y']!); } -core.List buildUnnamed233() => [ +core.List buildUnnamed242() => [ 'foo', 'foo', ]; -void checkUnnamed233(core.List o) { +void checkUnnamed242(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -13301,12 +13669,12 @@ void checkInstanceGroupAggregatedListWarningData( buildCounterInstanceGroupAggregatedListWarningData--; } -core.List buildUnnamed234() => [ +core.List buildUnnamed243() => [ buildInstanceGroupAggregatedListWarningData(), buildInstanceGroupAggregatedListWarningData(), ]; -void checkUnnamed234(core.List o) { +void checkUnnamed243(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceGroupAggregatedListWarningData(o[0]); checkInstanceGroupAggregatedListWarningData(o[1]); @@ -13319,7 +13687,7 @@ api.InstanceGroupAggregatedListWarning buildCounterInstanceGroupAggregatedListWarning++; if (buildCounterInstanceGroupAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed234(); + o.data = buildUnnamed243(); o.message = 'foo'; } buildCounterInstanceGroupAggregatedListWarning--; @@ -13334,7 +13702,7 @@ void checkInstanceGroupAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed234(o.data!); + checkUnnamed243(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -13349,11 +13717,11 @@ api.InstanceGroupAggregatedList buildInstanceGroupAggregatedList() { buildCounterInstanceGroupAggregatedList++; if (buildCounterInstanceGroupAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed232(); + o.items = buildUnnamed241(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed233(); + o.unreachables = buildUnnamed242(); o.warning = buildInstanceGroupAggregatedListWarning(); } buildCounterInstanceGroupAggregatedList--; @@ -13367,7 +13735,7 @@ void checkInstanceGroupAggregatedList(api.InstanceGroupAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed232(o.items!); + checkUnnamed241(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -13380,18 +13748,18 @@ void checkInstanceGroupAggregatedList(api.InstanceGroupAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed233(o.unreachables!); + checkUnnamed242(o.unreachables!); checkInstanceGroupAggregatedListWarning(o.warning!); } buildCounterInstanceGroupAggregatedList--; } -core.List buildUnnamed235() => [ +core.List buildUnnamed244() => [ buildInstanceGroup(), buildInstanceGroup(), ]; -void checkUnnamed235(core.List o) { +void checkUnnamed244(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceGroup(o[0]); checkInstanceGroup(o[1]); @@ -13424,12 +13792,12 @@ void checkInstanceGroupListWarningData(api.InstanceGroupListWarningData o) { buildCounterInstanceGroupListWarningData--; } -core.List buildUnnamed236() => [ +core.List buildUnnamed245() => [ buildInstanceGroupListWarningData(), buildInstanceGroupListWarningData(), ]; -void checkUnnamed236(core.List o) { +void checkUnnamed245(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceGroupListWarningData(o[0]); checkInstanceGroupListWarningData(o[1]); @@ -13441,7 +13809,7 @@ api.InstanceGroupListWarning buildInstanceGroupListWarning() { buildCounterInstanceGroupListWarning++; if (buildCounterInstanceGroupListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed236(); + o.data = buildUnnamed245(); o.message = 'foo'; } buildCounterInstanceGroupListWarning--; @@ -13455,7 +13823,7 @@ void checkInstanceGroupListWarning(api.InstanceGroupListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed236(o.data!); + checkUnnamed245(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -13470,7 +13838,7 @@ api.InstanceGroupList buildInstanceGroupList() { buildCounterInstanceGroupList++; if (buildCounterInstanceGroupList < 3) { o.id = 'foo'; - o.items = buildUnnamed235(); + o.items = buildUnnamed244(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -13487,7 +13855,7 @@ void checkInstanceGroupList(api.InstanceGroupList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed235(o.items!); + checkUnnamed244(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -13505,34 +13873,34 @@ void checkInstanceGroupList(api.InstanceGroupList o) { buildCounterInstanceGroupList--; } -core.List buildUnnamed237() => [ +core.List buildUnnamed246() => [ buildInstanceGroupManagerAutoHealingPolicy(), buildInstanceGroupManagerAutoHealingPolicy(), ]; -void checkUnnamed237(core.List o) { +void checkUnnamed246(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceGroupManagerAutoHealingPolicy(o[0]); checkInstanceGroupManagerAutoHealingPolicy(o[1]); } -core.List buildUnnamed238() => [ +core.List buildUnnamed247() => [ buildNamedPort(), buildNamedPort(), ]; -void checkUnnamed238(core.List o) { +void checkUnnamed247(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNamedPort(o[0]); checkNamedPort(o[1]); } -core.List buildUnnamed239() => [ +core.List buildUnnamed248() => [ 'foo', 'foo', ]; -void checkUnnamed239(core.List o) { +void checkUnnamed248(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -13544,12 +13912,12 @@ void checkUnnamed239(core.List o) { ); } -core.List buildUnnamed240() => [ +core.List buildUnnamed249() => [ buildInstanceGroupManagerVersion(), buildInstanceGroupManagerVersion(), ]; -void checkUnnamed240(core.List o) { +void checkUnnamed249(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceGroupManagerVersion(o[0]); checkInstanceGroupManagerVersion(o[1]); @@ -13561,7 +13929,7 @@ api.InstanceGroupManager buildInstanceGroupManager() { buildCounterInstanceGroupManager++; if (buildCounterInstanceGroupManager < 3) { o.allInstancesConfig = buildInstanceGroupManagerAllInstancesConfig(); - o.autoHealingPolicies = buildUnnamed237(); + o.autoHealingPolicies = buildUnnamed246(); o.baseInstanceName = 'foo'; o.creationTimestamp = 'foo'; o.currentActions = buildInstanceGroupManagerActionsSummary(); @@ -13578,20 +13946,21 @@ api.InstanceGroupManager buildInstanceGroupManager() { o.kind = 'foo'; o.listManagedInstancesResults = 'foo'; o.name = 'foo'; - o.namedPorts = buildUnnamed238(); + o.namedPorts = buildUnnamed247(); o.region = 'foo'; + o.resourcePolicies = buildInstanceGroupManagerResourcePolicies(); o.satisfiesPzi = true; o.satisfiesPzs = true; o.selfLink = 'foo'; o.standbyPolicy = buildInstanceGroupManagerStandbyPolicy(); o.statefulPolicy = buildStatefulPolicy(); o.status = buildInstanceGroupManagerStatus(); - o.targetPools = buildUnnamed239(); + o.targetPools = buildUnnamed248(); o.targetSize = 42; o.targetStoppedSize = 42; o.targetSuspendedSize = 42; o.updatePolicy = buildInstanceGroupManagerUpdatePolicy(); - o.versions = buildUnnamed240(); + o.versions = buildUnnamed249(); o.zone = 'foo'; } buildCounterInstanceGroupManager--; @@ -13602,7 +13971,7 @@ void checkInstanceGroupManager(api.InstanceGroupManager o) { buildCounterInstanceGroupManager++; if (buildCounterInstanceGroupManager < 3) { checkInstanceGroupManagerAllInstancesConfig(o.allInstancesConfig!); - checkUnnamed237(o.autoHealingPolicies!); + checkUnnamed246(o.autoHealingPolicies!); unittest.expect( o.baseInstanceName!, unittest.equals('foo'), @@ -13649,11 +14018,12 @@ void checkInstanceGroupManager(api.InstanceGroupManager o) { o.name!, unittest.equals('foo'), ); - checkUnnamed238(o.namedPorts!); + checkUnnamed247(o.namedPorts!); unittest.expect( o.region!, unittest.equals('foo'), ); + checkInstanceGroupManagerResourcePolicies(o.resourcePolicies!); unittest.expect(o.satisfiesPzi!, unittest.isTrue); unittest.expect(o.satisfiesPzs!, unittest.isTrue); unittest.expect( @@ -13663,7 +14033,7 @@ void checkInstanceGroupManager(api.InstanceGroupManager o) { checkInstanceGroupManagerStandbyPolicy(o.standbyPolicy!); checkStatefulPolicy(o.statefulPolicy!); checkInstanceGroupManagerStatus(o.status!); - checkUnnamed239(o.targetPools!); + checkUnnamed248(o.targetPools!); unittest.expect( o.targetSize!, unittest.equals(42), @@ -13677,7 +14047,7 @@ void checkInstanceGroupManager(api.InstanceGroupManager o) { unittest.equals(42), ); checkInstanceGroupManagerUpdatePolicy(o.updatePolicy!); - checkUnnamed240(o.versions!); + checkUnnamed249(o.versions!); unittest.expect( o.zone!, unittest.equals('foo'), @@ -13770,25 +14140,25 @@ void checkInstanceGroupManagerActionsSummary( buildCounterInstanceGroupManagerActionsSummary--; } -core.Map buildUnnamed241() => +core.Map buildUnnamed250() => { 'x': buildInstanceGroupManagersScopedList(), 'y': buildInstanceGroupManagersScopedList(), }; -void checkUnnamed241( +void checkUnnamed250( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceGroupManagersScopedList(o['x']!); checkInstanceGroupManagersScopedList(o['y']!); } -core.List buildUnnamed242() => [ +core.List buildUnnamed251() => [ 'foo', 'foo', ]; -void checkUnnamed242(core.List o) { +void checkUnnamed251(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -13830,12 +14200,12 @@ void checkInstanceGroupManagerAggregatedListWarningData( } core.List - buildUnnamed243() => [ + buildUnnamed252() => [ buildInstanceGroupManagerAggregatedListWarningData(), buildInstanceGroupManagerAggregatedListWarningData(), ]; -void checkUnnamed243( +void checkUnnamed252( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceGroupManagerAggregatedListWarningData(o[0]); @@ -13849,7 +14219,7 @@ api.InstanceGroupManagerAggregatedListWarning buildCounterInstanceGroupManagerAggregatedListWarning++; if (buildCounterInstanceGroupManagerAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed243(); + o.data = buildUnnamed252(); o.message = 'foo'; } buildCounterInstanceGroupManagerAggregatedListWarning--; @@ -13864,7 +14234,7 @@ void checkInstanceGroupManagerAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed243(o.data!); + checkUnnamed252(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -13880,11 +14250,11 @@ api.InstanceGroupManagerAggregatedList buildCounterInstanceGroupManagerAggregatedList++; if (buildCounterInstanceGroupManagerAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed241(); + o.items = buildUnnamed250(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed242(); + o.unreachables = buildUnnamed251(); o.warning = buildInstanceGroupManagerAggregatedListWarning(); } buildCounterInstanceGroupManagerAggregatedList--; @@ -13899,7 +14269,7 @@ void checkInstanceGroupManagerAggregatedList( o.id!, unittest.equals('foo'), ); - checkUnnamed241(o.items!); + checkUnnamed250(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -13912,7 +14282,7 @@ void checkInstanceGroupManagerAggregatedList( o.selfLink!, unittest.equals('foo'), ); - checkUnnamed242(o.unreachables!); + checkUnnamed251(o.unreachables!); checkInstanceGroupManagerAggregatedListWarning(o.warning!); } buildCounterInstanceGroupManagerAggregatedList--; @@ -13970,14 +14340,14 @@ void checkInstanceGroupManagerAutoHealingPolicy( core.Map - buildUnnamed244() => { + buildUnnamed253() => { 'x': buildInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection(), 'y': buildInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection(), }; -void checkUnnamed244( +void checkUnnamed253( core.Map o) { @@ -13992,7 +14362,7 @@ api.InstanceGroupManagerInstanceFlexibilityPolicy final o = api.InstanceGroupManagerInstanceFlexibilityPolicy(); buildCounterInstanceGroupManagerInstanceFlexibilityPolicy++; if (buildCounterInstanceGroupManagerInstanceFlexibilityPolicy < 3) { - o.instanceSelections = buildUnnamed244(); + o.instanceSelections = buildUnnamed253(); } buildCounterInstanceGroupManagerInstanceFlexibilityPolicy--; return o; @@ -14002,17 +14372,17 @@ void checkInstanceGroupManagerInstanceFlexibilityPolicy( api.InstanceGroupManagerInstanceFlexibilityPolicy o) { buildCounterInstanceGroupManagerInstanceFlexibilityPolicy++; if (buildCounterInstanceGroupManagerInstanceFlexibilityPolicy < 3) { - checkUnnamed244(o.instanceSelections!); + checkUnnamed253(o.instanceSelections!); } buildCounterInstanceGroupManagerInstanceFlexibilityPolicy--; } -core.List buildUnnamed245() => [ +core.List buildUnnamed254() => [ 'foo', 'foo', ]; -void checkUnnamed245(core.List o) { +void checkUnnamed254(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -14034,7 +14404,7 @@ api.InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection buildCounterInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection++; if (buildCounterInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection < 3) { - o.machineTypes = buildUnnamed245(); + o.machineTypes = buildUnnamed254(); o.rank = 42; } buildCounterInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection--; @@ -14046,7 +14416,7 @@ void checkInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection( buildCounterInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection++; if (buildCounterInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection < 3) { - checkUnnamed245(o.machineTypes!); + checkUnnamed254(o.machineTypes!); unittest.expect( o.rank!, unittest.equals(42), @@ -14084,12 +14454,12 @@ void checkInstanceGroupManagerInstanceLifecyclePolicy( buildCounterInstanceGroupManagerInstanceLifecyclePolicy--; } -core.List buildUnnamed246() => [ +core.List buildUnnamed255() => [ buildInstanceGroupManager(), buildInstanceGroupManager(), ]; -void checkUnnamed246(core.List o) { +void checkUnnamed255(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceGroupManager(o[0]); checkInstanceGroupManager(o[1]); @@ -14124,12 +14494,12 @@ void checkInstanceGroupManagerListWarningData( buildCounterInstanceGroupManagerListWarningData--; } -core.List buildUnnamed247() => [ +core.List buildUnnamed256() => [ buildInstanceGroupManagerListWarningData(), buildInstanceGroupManagerListWarningData(), ]; -void checkUnnamed247(core.List o) { +void checkUnnamed256(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceGroupManagerListWarningData(o[0]); checkInstanceGroupManagerListWarningData(o[1]); @@ -14141,7 +14511,7 @@ api.InstanceGroupManagerListWarning buildInstanceGroupManagerListWarning() { buildCounterInstanceGroupManagerListWarning++; if (buildCounterInstanceGroupManagerListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed247(); + o.data = buildUnnamed256(); o.message = 'foo'; } buildCounterInstanceGroupManagerListWarning--; @@ -14156,7 +14526,7 @@ void checkInstanceGroupManagerListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed247(o.data!); + checkUnnamed256(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -14171,7 +14541,7 @@ api.InstanceGroupManagerList buildInstanceGroupManagerList() { buildCounterInstanceGroupManagerList++; if (buildCounterInstanceGroupManagerList < 3) { o.id = 'foo'; - o.items = buildUnnamed246(); + o.items = buildUnnamed255(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -14188,7 +14558,7 @@ void checkInstanceGroupManagerList(api.InstanceGroupManagerList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed246(o.items!); + checkUnnamed255(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -14311,12 +14681,12 @@ void checkInstanceGroupManagerResizeRequestStatusErrorErrorsErrorDetails( } core.List - buildUnnamed248() => [ + buildUnnamed257() => [ buildInstanceGroupManagerResizeRequestStatusErrorErrorsErrorDetails(), buildInstanceGroupManagerResizeRequestStatusErrorErrorsErrorDetails(), ]; -void checkUnnamed248( +void checkUnnamed257( core.List< api.InstanceGroupManagerResizeRequestStatusErrorErrorsErrorDetails> o) { @@ -14332,7 +14702,7 @@ api.InstanceGroupManagerResizeRequestStatusErrorErrors buildCounterInstanceGroupManagerResizeRequestStatusErrorErrors++; if (buildCounterInstanceGroupManagerResizeRequestStatusErrorErrors < 3) { o.code = 'foo'; - o.errorDetails = buildUnnamed248(); + o.errorDetails = buildUnnamed257(); o.location = 'foo'; o.message = 'foo'; } @@ -14348,7 +14718,7 @@ void checkInstanceGroupManagerResizeRequestStatusErrorErrors( o.code!, unittest.equals('foo'), ); - checkUnnamed248(o.errorDetails!); + checkUnnamed257(o.errorDetails!); unittest.expect( o.location!, unittest.equals('foo'), @@ -14362,12 +14732,12 @@ void checkInstanceGroupManagerResizeRequestStatusErrorErrors( } core.List - buildUnnamed249() => [ + buildUnnamed258() => [ buildInstanceGroupManagerResizeRequestStatusErrorErrors(), buildInstanceGroupManagerResizeRequestStatusErrorErrors(), ]; -void checkUnnamed249( +void checkUnnamed258( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceGroupManagerResizeRequestStatusErrorErrors(o[0]); @@ -14380,7 +14750,7 @@ api.InstanceGroupManagerResizeRequestStatusError final o = api.InstanceGroupManagerResizeRequestStatusError(); buildCounterInstanceGroupManagerResizeRequestStatusError++; if (buildCounterInstanceGroupManagerResizeRequestStatusError < 3) { - o.errors = buildUnnamed249(); + o.errors = buildUnnamed258(); } buildCounterInstanceGroupManagerResizeRequestStatusError--; return o; @@ -14390,7 +14760,7 @@ void checkInstanceGroupManagerResizeRequestStatusError( api.InstanceGroupManagerResizeRequestStatusError o) { buildCounterInstanceGroupManagerResizeRequestStatusError++; if (buildCounterInstanceGroupManagerResizeRequestStatusError < 3) { - checkUnnamed249(o.errors!); + checkUnnamed258(o.errors!); } buildCounterInstanceGroupManagerResizeRequestStatusError--; } @@ -14454,12 +14824,12 @@ void checkInstanceGroupManagerResizeRequestStatusLastAttemptErrorErrorsErrorDeta core.List< api .InstanceGroupManagerResizeRequestStatusLastAttemptErrorErrorsErrorDetails> - buildUnnamed250() => [ + buildUnnamed259() => [ buildInstanceGroupManagerResizeRequestStatusLastAttemptErrorErrorsErrorDetails(), buildInstanceGroupManagerResizeRequestStatusLastAttemptErrorErrorsErrorDetails(), ]; -void checkUnnamed250( +void checkUnnamed259( core.List< api .InstanceGroupManagerResizeRequestStatusLastAttemptErrorErrorsErrorDetails> @@ -14481,7 +14851,7 @@ api.InstanceGroupManagerResizeRequestStatusLastAttemptErrorErrors if (buildCounterInstanceGroupManagerResizeRequestStatusLastAttemptErrorErrors < 3) { o.code = 'foo'; - o.errorDetails = buildUnnamed250(); + o.errorDetails = buildUnnamed259(); o.location = 'foo'; o.message = 'foo'; } @@ -14498,7 +14868,7 @@ void checkInstanceGroupManagerResizeRequestStatusLastAttemptErrorErrors( o.code!, unittest.equals('foo'), ); - checkUnnamed250(o.errorDetails!); + checkUnnamed259(o.errorDetails!); unittest.expect( o.location!, unittest.equals('foo'), @@ -14512,12 +14882,12 @@ void checkInstanceGroupManagerResizeRequestStatusLastAttemptErrorErrors( } core.List - buildUnnamed251() => [ + buildUnnamed260() => [ buildInstanceGroupManagerResizeRequestStatusLastAttemptErrorErrors(), buildInstanceGroupManagerResizeRequestStatusLastAttemptErrorErrors(), ]; -void checkUnnamed251( +void checkUnnamed260( core.List o) { unittest.expect(o, unittest.hasLength(2)); @@ -14532,7 +14902,7 @@ api.InstanceGroupManagerResizeRequestStatusLastAttemptError final o = api.InstanceGroupManagerResizeRequestStatusLastAttemptError(); buildCounterInstanceGroupManagerResizeRequestStatusLastAttemptError++; if (buildCounterInstanceGroupManagerResizeRequestStatusLastAttemptError < 3) { - o.errors = buildUnnamed251(); + o.errors = buildUnnamed260(); } buildCounterInstanceGroupManagerResizeRequestStatusLastAttemptError--; return o; @@ -14542,7 +14912,7 @@ void checkInstanceGroupManagerResizeRequestStatusLastAttemptError( api.InstanceGroupManagerResizeRequestStatusLastAttemptError o) { buildCounterInstanceGroupManagerResizeRequestStatusLastAttemptError++; if (buildCounterInstanceGroupManagerResizeRequestStatusLastAttemptError < 3) { - checkUnnamed251(o.errors!); + checkUnnamed260(o.errors!); } buildCounterInstanceGroupManagerResizeRequestStatusLastAttemptError--; } @@ -14568,12 +14938,12 @@ void checkInstanceGroupManagerResizeRequestStatusLastAttempt( buildCounterInstanceGroupManagerResizeRequestStatusLastAttempt--; } -core.List buildUnnamed252() => [ +core.List buildUnnamed261() => [ buildInstanceGroupManagerResizeRequest(), buildInstanceGroupManagerResizeRequest(), ]; -void checkUnnamed252(core.List o) { +void checkUnnamed261(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceGroupManagerResizeRequest(o[0]); checkInstanceGroupManagerResizeRequest(o[1]); @@ -14612,12 +14982,12 @@ void checkInstanceGroupManagerResizeRequestsListResponseWarningData( } core.List - buildUnnamed253() => [ + buildUnnamed262() => [ buildInstanceGroupManagerResizeRequestsListResponseWarningData(), buildInstanceGroupManagerResizeRequestsListResponseWarningData(), ]; -void checkUnnamed253( +void checkUnnamed262( core.List o) { unittest.expect(o, unittest.hasLength(2)); @@ -14632,7 +15002,7 @@ api.InstanceGroupManagerResizeRequestsListResponseWarning buildCounterInstanceGroupManagerResizeRequestsListResponseWarning++; if (buildCounterInstanceGroupManagerResizeRequestsListResponseWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed253(); + o.data = buildUnnamed262(); o.message = 'foo'; } buildCounterInstanceGroupManagerResizeRequestsListResponseWarning--; @@ -14647,7 +15017,7 @@ void checkInstanceGroupManagerResizeRequestsListResponseWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed253(o.data!); + checkUnnamed262(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -14663,7 +15033,7 @@ api.InstanceGroupManagerResizeRequestsListResponse buildCounterInstanceGroupManagerResizeRequestsListResponse++; if (buildCounterInstanceGroupManagerResizeRequestsListResponse < 3) { o.id = 'foo'; - o.items = buildUnnamed252(); + o.items = buildUnnamed261(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -14681,7 +15051,7 @@ void checkInstanceGroupManagerResizeRequestsListResponse( o.id!, unittest.equals('foo'), ); - checkUnnamed252(o.items!); + checkUnnamed261(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -14699,6 +15069,30 @@ void checkInstanceGroupManagerResizeRequestsListResponse( buildCounterInstanceGroupManagerResizeRequestsListResponse--; } +core.int buildCounterInstanceGroupManagerResourcePolicies = 0; +api.InstanceGroupManagerResourcePolicies + buildInstanceGroupManagerResourcePolicies() { + final o = api.InstanceGroupManagerResourcePolicies(); + buildCounterInstanceGroupManagerResourcePolicies++; + if (buildCounterInstanceGroupManagerResourcePolicies < 3) { + o.workloadPolicy = 'foo'; + } + buildCounterInstanceGroupManagerResourcePolicies--; + return o; +} + +void checkInstanceGroupManagerResourcePolicies( + api.InstanceGroupManagerResourcePolicies o) { + buildCounterInstanceGroupManagerResourcePolicies++; + if (buildCounterInstanceGroupManagerResourcePolicies < 3) { + unittest.expect( + o.workloadPolicy!, + unittest.equals('foo'), + ); + } + buildCounterInstanceGroupManagerResourcePolicies--; +} + core.int buildCounterInstanceGroupManagerStandbyPolicy = 0; api.InstanceGroupManagerStandbyPolicy buildInstanceGroupManagerStandbyPolicy() { final o = api.InstanceGroupManagerStandbyPolicy(); @@ -14926,12 +15320,12 @@ void checkInstanceGroupManagerVersion(api.InstanceGroupManagerVersion o) { buildCounterInstanceGroupManagerVersion--; } -core.List buildUnnamed254() => [ +core.List buildUnnamed263() => [ 'foo', 'foo', ]; -void checkUnnamed254(core.List o) { +void checkUnnamed263(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -14949,7 +15343,7 @@ api.InstanceGroupManagersAbandonInstancesRequest final o = api.InstanceGroupManagersAbandonInstancesRequest(); buildCounterInstanceGroupManagersAbandonInstancesRequest++; if (buildCounterInstanceGroupManagersAbandonInstancesRequest < 3) { - o.instances = buildUnnamed254(); + o.instances = buildUnnamed263(); } buildCounterInstanceGroupManagersAbandonInstancesRequest--; return o; @@ -14959,17 +15353,17 @@ void checkInstanceGroupManagersAbandonInstancesRequest( api.InstanceGroupManagersAbandonInstancesRequest o) { buildCounterInstanceGroupManagersAbandonInstancesRequest++; if (buildCounterInstanceGroupManagersAbandonInstancesRequest < 3) { - checkUnnamed254(o.instances!); + checkUnnamed263(o.instances!); } buildCounterInstanceGroupManagersAbandonInstancesRequest--; } -core.List buildUnnamed255() => [ +core.List buildUnnamed264() => [ 'foo', 'foo', ]; -void checkUnnamed255(core.List o) { +void checkUnnamed264(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -14988,7 +15382,7 @@ api.InstanceGroupManagersApplyUpdatesRequest buildCounterInstanceGroupManagersApplyUpdatesRequest++; if (buildCounterInstanceGroupManagersApplyUpdatesRequest < 3) { o.allInstances = true; - o.instances = buildUnnamed255(); + o.instances = buildUnnamed264(); o.minimalAction = 'foo'; o.mostDisruptiveAllowedAction = 'foo'; } @@ -15001,7 +15395,7 @@ void checkInstanceGroupManagersApplyUpdatesRequest( buildCounterInstanceGroupManagersApplyUpdatesRequest++; if (buildCounterInstanceGroupManagersApplyUpdatesRequest < 3) { unittest.expect(o.allInstances!, unittest.isTrue); - checkUnnamed255(o.instances!); + checkUnnamed264(o.instances!); unittest.expect( o.minimalAction!, unittest.equals('foo'), @@ -15014,12 +15408,12 @@ void checkInstanceGroupManagersApplyUpdatesRequest( buildCounterInstanceGroupManagersApplyUpdatesRequest--; } -core.List buildUnnamed256() => [ +core.List buildUnnamed265() => [ buildPerInstanceConfig(), buildPerInstanceConfig(), ]; -void checkUnnamed256(core.List o) { +void checkUnnamed265(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPerInstanceConfig(o[0]); checkPerInstanceConfig(o[1]); @@ -15031,7 +15425,7 @@ api.InstanceGroupManagersCreateInstancesRequest final o = api.InstanceGroupManagersCreateInstancesRequest(); buildCounterInstanceGroupManagersCreateInstancesRequest++; if (buildCounterInstanceGroupManagersCreateInstancesRequest < 3) { - o.instances = buildUnnamed256(); + o.instances = buildUnnamed265(); } buildCounterInstanceGroupManagersCreateInstancesRequest--; return o; @@ -15041,17 +15435,17 @@ void checkInstanceGroupManagersCreateInstancesRequest( api.InstanceGroupManagersCreateInstancesRequest o) { buildCounterInstanceGroupManagersCreateInstancesRequest++; if (buildCounterInstanceGroupManagersCreateInstancesRequest < 3) { - checkUnnamed256(o.instances!); + checkUnnamed265(o.instances!); } buildCounterInstanceGroupManagersCreateInstancesRequest--; } -core.List buildUnnamed257() => [ +core.List buildUnnamed266() => [ 'foo', 'foo', ]; -void checkUnnamed257(core.List o) { +void checkUnnamed266(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -15069,7 +15463,7 @@ api.InstanceGroupManagersDeleteInstancesRequest final o = api.InstanceGroupManagersDeleteInstancesRequest(); buildCounterInstanceGroupManagersDeleteInstancesRequest++; if (buildCounterInstanceGroupManagersDeleteInstancesRequest < 3) { - o.instances = buildUnnamed257(); + o.instances = buildUnnamed266(); o.skipInstancesOnValidationError = true; } buildCounterInstanceGroupManagersDeleteInstancesRequest--; @@ -15080,18 +15474,18 @@ void checkInstanceGroupManagersDeleteInstancesRequest( api.InstanceGroupManagersDeleteInstancesRequest o) { buildCounterInstanceGroupManagersDeleteInstancesRequest++; if (buildCounterInstanceGroupManagersDeleteInstancesRequest < 3) { - checkUnnamed257(o.instances!); + checkUnnamed266(o.instances!); unittest.expect(o.skipInstancesOnValidationError!, unittest.isTrue); } buildCounterInstanceGroupManagersDeleteInstancesRequest--; } -core.List buildUnnamed258() => [ +core.List buildUnnamed267() => [ 'foo', 'foo', ]; -void checkUnnamed258(core.List o) { +void checkUnnamed267(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -15109,7 +15503,7 @@ api.InstanceGroupManagersDeletePerInstanceConfigsReq final o = api.InstanceGroupManagersDeletePerInstanceConfigsReq(); buildCounterInstanceGroupManagersDeletePerInstanceConfigsReq++; if (buildCounterInstanceGroupManagersDeletePerInstanceConfigsReq < 3) { - o.names = buildUnnamed258(); + o.names = buildUnnamed267(); } buildCounterInstanceGroupManagersDeletePerInstanceConfigsReq--; return o; @@ -15119,17 +15513,17 @@ void checkInstanceGroupManagersDeletePerInstanceConfigsReq( api.InstanceGroupManagersDeletePerInstanceConfigsReq o) { buildCounterInstanceGroupManagersDeletePerInstanceConfigsReq++; if (buildCounterInstanceGroupManagersDeletePerInstanceConfigsReq < 3) { - checkUnnamed258(o.names!); + checkUnnamed267(o.names!); } buildCounterInstanceGroupManagersDeletePerInstanceConfigsReq--; } -core.List buildUnnamed259() => [ +core.List buildUnnamed268() => [ buildInstanceManagedByIgmError(), buildInstanceManagedByIgmError(), ]; -void checkUnnamed259(core.List o) { +void checkUnnamed268(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceManagedByIgmError(o[0]); checkInstanceManagedByIgmError(o[1]); @@ -15141,7 +15535,7 @@ api.InstanceGroupManagersListErrorsResponse final o = api.InstanceGroupManagersListErrorsResponse(); buildCounterInstanceGroupManagersListErrorsResponse++; if (buildCounterInstanceGroupManagersListErrorsResponse < 3) { - o.items = buildUnnamed259(); + o.items = buildUnnamed268(); o.nextPageToken = 'foo'; } buildCounterInstanceGroupManagersListErrorsResponse--; @@ -15152,7 +15546,7 @@ void checkInstanceGroupManagersListErrorsResponse( api.InstanceGroupManagersListErrorsResponse o) { buildCounterInstanceGroupManagersListErrorsResponse++; if (buildCounterInstanceGroupManagersListErrorsResponse < 3) { - checkUnnamed259(o.items!); + checkUnnamed268(o.items!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -15161,12 +15555,12 @@ void checkInstanceGroupManagersListErrorsResponse( buildCounterInstanceGroupManagersListErrorsResponse--; } -core.List buildUnnamed260() => [ +core.List buildUnnamed269() => [ buildManagedInstance(), buildManagedInstance(), ]; -void checkUnnamed260(core.List o) { +void checkUnnamed269(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkManagedInstance(o[0]); checkManagedInstance(o[1]); @@ -15178,7 +15572,7 @@ api.InstanceGroupManagersListManagedInstancesResponse final o = api.InstanceGroupManagersListManagedInstancesResponse(); buildCounterInstanceGroupManagersListManagedInstancesResponse++; if (buildCounterInstanceGroupManagersListManagedInstancesResponse < 3) { - o.managedInstances = buildUnnamed260(); + o.managedInstances = buildUnnamed269(); o.nextPageToken = 'foo'; } buildCounterInstanceGroupManagersListManagedInstancesResponse--; @@ -15189,7 +15583,7 @@ void checkInstanceGroupManagersListManagedInstancesResponse( api.InstanceGroupManagersListManagedInstancesResponse o) { buildCounterInstanceGroupManagersListManagedInstancesResponse++; if (buildCounterInstanceGroupManagersListManagedInstancesResponse < 3) { - checkUnnamed260(o.managedInstances!); + checkUnnamed269(o.managedInstances!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -15198,12 +15592,12 @@ void checkInstanceGroupManagersListManagedInstancesResponse( buildCounterInstanceGroupManagersListManagedInstancesResponse--; } -core.List buildUnnamed261() => [ +core.List buildUnnamed270() => [ buildPerInstanceConfig(), buildPerInstanceConfig(), ]; -void checkUnnamed261(core.List o) { +void checkUnnamed270(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPerInstanceConfig(o[0]); checkPerInstanceConfig(o[1]); @@ -15242,12 +15636,12 @@ void checkInstanceGroupManagersListPerInstanceConfigsRespWarningData( } core.List - buildUnnamed262() => [ + buildUnnamed271() => [ buildInstanceGroupManagersListPerInstanceConfigsRespWarningData(), buildInstanceGroupManagersListPerInstanceConfigsRespWarningData(), ]; -void checkUnnamed262( +void checkUnnamed271( core.List o) { unittest.expect(o, unittest.hasLength(2)); @@ -15262,7 +15656,7 @@ api.InstanceGroupManagersListPerInstanceConfigsRespWarning buildCounterInstanceGroupManagersListPerInstanceConfigsRespWarning++; if (buildCounterInstanceGroupManagersListPerInstanceConfigsRespWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed262(); + o.data = buildUnnamed271(); o.message = 'foo'; } buildCounterInstanceGroupManagersListPerInstanceConfigsRespWarning--; @@ -15277,7 +15671,7 @@ void checkInstanceGroupManagersListPerInstanceConfigsRespWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed262(o.data!); + checkUnnamed271(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -15292,7 +15686,7 @@ api.InstanceGroupManagersListPerInstanceConfigsResp final o = api.InstanceGroupManagersListPerInstanceConfigsResp(); buildCounterInstanceGroupManagersListPerInstanceConfigsResp++; if (buildCounterInstanceGroupManagersListPerInstanceConfigsResp < 3) { - o.items = buildUnnamed261(); + o.items = buildUnnamed270(); o.nextPageToken = 'foo'; o.warning = buildInstanceGroupManagersListPerInstanceConfigsRespWarning(); } @@ -15304,7 +15698,7 @@ void checkInstanceGroupManagersListPerInstanceConfigsResp( api.InstanceGroupManagersListPerInstanceConfigsResp o) { buildCounterInstanceGroupManagersListPerInstanceConfigsResp++; if (buildCounterInstanceGroupManagersListPerInstanceConfigsResp < 3) { - checkUnnamed261(o.items!); + checkUnnamed270(o.items!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -15314,12 +15708,12 @@ void checkInstanceGroupManagersListPerInstanceConfigsResp( buildCounterInstanceGroupManagersListPerInstanceConfigsResp--; } -core.List buildUnnamed263() => [ +core.List buildUnnamed272() => [ buildPerInstanceConfig(), buildPerInstanceConfig(), ]; -void checkUnnamed263(core.List o) { +void checkUnnamed272(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPerInstanceConfig(o[0]); checkPerInstanceConfig(o[1]); @@ -15331,7 +15725,7 @@ api.InstanceGroupManagersPatchPerInstanceConfigsReq final o = api.InstanceGroupManagersPatchPerInstanceConfigsReq(); buildCounterInstanceGroupManagersPatchPerInstanceConfigsReq++; if (buildCounterInstanceGroupManagersPatchPerInstanceConfigsReq < 3) { - o.perInstanceConfigs = buildUnnamed263(); + o.perInstanceConfigs = buildUnnamed272(); } buildCounterInstanceGroupManagersPatchPerInstanceConfigsReq--; return o; @@ -15341,17 +15735,17 @@ void checkInstanceGroupManagersPatchPerInstanceConfigsReq( api.InstanceGroupManagersPatchPerInstanceConfigsReq o) { buildCounterInstanceGroupManagersPatchPerInstanceConfigsReq++; if (buildCounterInstanceGroupManagersPatchPerInstanceConfigsReq < 3) { - checkUnnamed263(o.perInstanceConfigs!); + checkUnnamed272(o.perInstanceConfigs!); } buildCounterInstanceGroupManagersPatchPerInstanceConfigsReq--; } -core.List buildUnnamed264() => [ +core.List buildUnnamed273() => [ 'foo', 'foo', ]; -void checkUnnamed264(core.List o) { +void checkUnnamed273(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -15369,7 +15763,7 @@ api.InstanceGroupManagersRecreateInstancesRequest final o = api.InstanceGroupManagersRecreateInstancesRequest(); buildCounterInstanceGroupManagersRecreateInstancesRequest++; if (buildCounterInstanceGroupManagersRecreateInstancesRequest < 3) { - o.instances = buildUnnamed264(); + o.instances = buildUnnamed273(); } buildCounterInstanceGroupManagersRecreateInstancesRequest--; return o; @@ -15379,17 +15773,17 @@ void checkInstanceGroupManagersRecreateInstancesRequest( api.InstanceGroupManagersRecreateInstancesRequest o) { buildCounterInstanceGroupManagersRecreateInstancesRequest++; if (buildCounterInstanceGroupManagersRecreateInstancesRequest < 3) { - checkUnnamed264(o.instances!); + checkUnnamed273(o.instances!); } buildCounterInstanceGroupManagersRecreateInstancesRequest--; } -core.List buildUnnamed265() => [ +core.List buildUnnamed274() => [ 'foo', 'foo', ]; -void checkUnnamed265(core.List o) { +void checkUnnamed274(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -15407,7 +15801,7 @@ api.InstanceGroupManagersResumeInstancesRequest final o = api.InstanceGroupManagersResumeInstancesRequest(); buildCounterInstanceGroupManagersResumeInstancesRequest++; if (buildCounterInstanceGroupManagersResumeInstancesRequest < 3) { - o.instances = buildUnnamed265(); + o.instances = buildUnnamed274(); } buildCounterInstanceGroupManagersResumeInstancesRequest--; return o; @@ -15417,17 +15811,17 @@ void checkInstanceGroupManagersResumeInstancesRequest( api.InstanceGroupManagersResumeInstancesRequest o) { buildCounterInstanceGroupManagersResumeInstancesRequest++; if (buildCounterInstanceGroupManagersResumeInstancesRequest < 3) { - checkUnnamed265(o.instances!); + checkUnnamed274(o.instances!); } buildCounterInstanceGroupManagersResumeInstancesRequest--; } -core.List buildUnnamed266() => [ +core.List buildUnnamed275() => [ buildInstanceGroupManager(), buildInstanceGroupManager(), ]; -void checkUnnamed266(core.List o) { +void checkUnnamed275(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceGroupManager(o[0]); checkInstanceGroupManager(o[1]); @@ -15462,12 +15856,12 @@ void checkInstanceGroupManagersScopedListWarningData( buildCounterInstanceGroupManagersScopedListWarningData--; } -core.List buildUnnamed267() => [ +core.List buildUnnamed276() => [ buildInstanceGroupManagersScopedListWarningData(), buildInstanceGroupManagersScopedListWarningData(), ]; -void checkUnnamed267( +void checkUnnamed276( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceGroupManagersScopedListWarningData(o[0]); @@ -15481,7 +15875,7 @@ api.InstanceGroupManagersScopedListWarning buildCounterInstanceGroupManagersScopedListWarning++; if (buildCounterInstanceGroupManagersScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed267(); + o.data = buildUnnamed276(); o.message = 'foo'; } buildCounterInstanceGroupManagersScopedListWarning--; @@ -15496,7 +15890,7 @@ void checkInstanceGroupManagersScopedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed267(o.data!); + checkUnnamed276(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -15510,7 +15904,7 @@ api.InstanceGroupManagersScopedList buildInstanceGroupManagersScopedList() { final o = api.InstanceGroupManagersScopedList(); buildCounterInstanceGroupManagersScopedList++; if (buildCounterInstanceGroupManagersScopedList < 3) { - o.instanceGroupManagers = buildUnnamed266(); + o.instanceGroupManagers = buildUnnamed275(); o.warning = buildInstanceGroupManagersScopedListWarning(); } buildCounterInstanceGroupManagersScopedList--; @@ -15521,7 +15915,7 @@ void checkInstanceGroupManagersScopedList( api.InstanceGroupManagersScopedList o) { buildCounterInstanceGroupManagersScopedList++; if (buildCounterInstanceGroupManagersScopedList < 3) { - checkUnnamed266(o.instanceGroupManagers!); + checkUnnamed275(o.instanceGroupManagers!); checkInstanceGroupManagersScopedListWarning(o.warning!); } buildCounterInstanceGroupManagersScopedList--; @@ -15551,12 +15945,12 @@ void checkInstanceGroupManagersSetInstanceTemplateRequest( buildCounterInstanceGroupManagersSetInstanceTemplateRequest--; } -core.List buildUnnamed268() => [ +core.List buildUnnamed277() => [ 'foo', 'foo', ]; -void checkUnnamed268(core.List o) { +void checkUnnamed277(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -15575,7 +15969,7 @@ api.InstanceGroupManagersSetTargetPoolsRequest buildCounterInstanceGroupManagersSetTargetPoolsRequest++; if (buildCounterInstanceGroupManagersSetTargetPoolsRequest < 3) { o.fingerprint = 'foo'; - o.targetPools = buildUnnamed268(); + o.targetPools = buildUnnamed277(); } buildCounterInstanceGroupManagersSetTargetPoolsRequest--; return o; @@ -15589,17 +15983,17 @@ void checkInstanceGroupManagersSetTargetPoolsRequest( o.fingerprint!, unittest.equals('foo'), ); - checkUnnamed268(o.targetPools!); + checkUnnamed277(o.targetPools!); } buildCounterInstanceGroupManagersSetTargetPoolsRequest--; } -core.List buildUnnamed269() => [ +core.List buildUnnamed278() => [ 'foo', 'foo', ]; -void checkUnnamed269(core.List o) { +void checkUnnamed278(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -15617,7 +16011,7 @@ api.InstanceGroupManagersStartInstancesRequest final o = api.InstanceGroupManagersStartInstancesRequest(); buildCounterInstanceGroupManagersStartInstancesRequest++; if (buildCounterInstanceGroupManagersStartInstancesRequest < 3) { - o.instances = buildUnnamed269(); + o.instances = buildUnnamed278(); } buildCounterInstanceGroupManagersStartInstancesRequest--; return o; @@ -15627,17 +16021,17 @@ void checkInstanceGroupManagersStartInstancesRequest( api.InstanceGroupManagersStartInstancesRequest o) { buildCounterInstanceGroupManagersStartInstancesRequest++; if (buildCounterInstanceGroupManagersStartInstancesRequest < 3) { - checkUnnamed269(o.instances!); + checkUnnamed278(o.instances!); } buildCounterInstanceGroupManagersStartInstancesRequest--; } -core.List buildUnnamed270() => [ +core.List buildUnnamed279() => [ 'foo', 'foo', ]; -void checkUnnamed270(core.List o) { +void checkUnnamed279(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -15656,7 +16050,7 @@ api.InstanceGroupManagersStopInstancesRequest buildCounterInstanceGroupManagersStopInstancesRequest++; if (buildCounterInstanceGroupManagersStopInstancesRequest < 3) { o.forceStop = true; - o.instances = buildUnnamed270(); + o.instances = buildUnnamed279(); } buildCounterInstanceGroupManagersStopInstancesRequest--; return o; @@ -15667,17 +16061,17 @@ void checkInstanceGroupManagersStopInstancesRequest( buildCounterInstanceGroupManagersStopInstancesRequest++; if (buildCounterInstanceGroupManagersStopInstancesRequest < 3) { unittest.expect(o.forceStop!, unittest.isTrue); - checkUnnamed270(o.instances!); + checkUnnamed279(o.instances!); } buildCounterInstanceGroupManagersStopInstancesRequest--; } -core.List buildUnnamed271() => [ +core.List buildUnnamed280() => [ 'foo', 'foo', ]; -void checkUnnamed271(core.List o) { +void checkUnnamed280(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -15696,7 +16090,7 @@ api.InstanceGroupManagersSuspendInstancesRequest buildCounterInstanceGroupManagersSuspendInstancesRequest++; if (buildCounterInstanceGroupManagersSuspendInstancesRequest < 3) { o.forceSuspend = true; - o.instances = buildUnnamed271(); + o.instances = buildUnnamed280(); } buildCounterInstanceGroupManagersSuspendInstancesRequest--; return o; @@ -15707,17 +16101,17 @@ void checkInstanceGroupManagersSuspendInstancesRequest( buildCounterInstanceGroupManagersSuspendInstancesRequest++; if (buildCounterInstanceGroupManagersSuspendInstancesRequest < 3) { unittest.expect(o.forceSuspend!, unittest.isTrue); - checkUnnamed271(o.instances!); + checkUnnamed280(o.instances!); } buildCounterInstanceGroupManagersSuspendInstancesRequest--; } -core.List buildUnnamed272() => [ +core.List buildUnnamed281() => [ buildPerInstanceConfig(), buildPerInstanceConfig(), ]; -void checkUnnamed272(core.List o) { +void checkUnnamed281(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPerInstanceConfig(o[0]); checkPerInstanceConfig(o[1]); @@ -15729,7 +16123,7 @@ api.InstanceGroupManagersUpdatePerInstanceConfigsReq final o = api.InstanceGroupManagersUpdatePerInstanceConfigsReq(); buildCounterInstanceGroupManagersUpdatePerInstanceConfigsReq++; if (buildCounterInstanceGroupManagersUpdatePerInstanceConfigsReq < 3) { - o.perInstanceConfigs = buildUnnamed272(); + o.perInstanceConfigs = buildUnnamed281(); } buildCounterInstanceGroupManagersUpdatePerInstanceConfigsReq--; return o; @@ -15739,17 +16133,17 @@ void checkInstanceGroupManagersUpdatePerInstanceConfigsReq( api.InstanceGroupManagersUpdatePerInstanceConfigsReq o) { buildCounterInstanceGroupManagersUpdatePerInstanceConfigsReq++; if (buildCounterInstanceGroupManagersUpdatePerInstanceConfigsReq < 3) { - checkUnnamed272(o.perInstanceConfigs!); + checkUnnamed281(o.perInstanceConfigs!); } buildCounterInstanceGroupManagersUpdatePerInstanceConfigsReq--; } -core.List buildUnnamed273() => [ +core.List buildUnnamed282() => [ buildInstanceReference(), buildInstanceReference(), ]; -void checkUnnamed273(core.List o) { +void checkUnnamed282(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceReference(o[0]); checkInstanceReference(o[1]); @@ -15760,7 +16154,7 @@ api.InstanceGroupsAddInstancesRequest buildInstanceGroupsAddInstancesRequest() { final o = api.InstanceGroupsAddInstancesRequest(); buildCounterInstanceGroupsAddInstancesRequest++; if (buildCounterInstanceGroupsAddInstancesRequest < 3) { - o.instances = buildUnnamed273(); + o.instances = buildUnnamed282(); } buildCounterInstanceGroupsAddInstancesRequest--; return o; @@ -15770,17 +16164,17 @@ void checkInstanceGroupsAddInstancesRequest( api.InstanceGroupsAddInstancesRequest o) { buildCounterInstanceGroupsAddInstancesRequest++; if (buildCounterInstanceGroupsAddInstancesRequest < 3) { - checkUnnamed273(o.instances!); + checkUnnamed282(o.instances!); } buildCounterInstanceGroupsAddInstancesRequest--; } -core.List buildUnnamed274() => [ +core.List buildUnnamed283() => [ buildInstanceWithNamedPorts(), buildInstanceWithNamedPorts(), ]; -void checkUnnamed274(core.List o) { +void checkUnnamed283(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceWithNamedPorts(o[0]); checkInstanceWithNamedPorts(o[1]); @@ -15815,12 +16209,12 @@ void checkInstanceGroupsListInstancesWarningData( buildCounterInstanceGroupsListInstancesWarningData--; } -core.List buildUnnamed275() => [ +core.List buildUnnamed284() => [ buildInstanceGroupsListInstancesWarningData(), buildInstanceGroupsListInstancesWarningData(), ]; -void checkUnnamed275(core.List o) { +void checkUnnamed284(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceGroupsListInstancesWarningData(o[0]); checkInstanceGroupsListInstancesWarningData(o[1]); @@ -15833,7 +16227,7 @@ api.InstanceGroupsListInstancesWarning buildCounterInstanceGroupsListInstancesWarning++; if (buildCounterInstanceGroupsListInstancesWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed275(); + o.data = buildUnnamed284(); o.message = 'foo'; } buildCounterInstanceGroupsListInstancesWarning--; @@ -15848,7 +16242,7 @@ void checkInstanceGroupsListInstancesWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed275(o.data!); + checkUnnamed284(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -15863,7 +16257,7 @@ api.InstanceGroupsListInstances buildInstanceGroupsListInstances() { buildCounterInstanceGroupsListInstances++; if (buildCounterInstanceGroupsListInstances < 3) { o.id = 'foo'; - o.items = buildUnnamed274(); + o.items = buildUnnamed283(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -15880,7 +16274,7 @@ void checkInstanceGroupsListInstances(api.InstanceGroupsListInstances o) { o.id!, unittest.equals('foo'), ); - checkUnnamed274(o.items!); + checkUnnamed283(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -15922,12 +16316,12 @@ void checkInstanceGroupsListInstancesRequest( buildCounterInstanceGroupsListInstancesRequest--; } -core.List buildUnnamed276() => [ +core.List buildUnnamed285() => [ buildInstanceReference(), buildInstanceReference(), ]; -void checkUnnamed276(core.List o) { +void checkUnnamed285(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceReference(o[0]); checkInstanceReference(o[1]); @@ -15939,7 +16333,7 @@ api.InstanceGroupsRemoveInstancesRequest final o = api.InstanceGroupsRemoveInstancesRequest(); buildCounterInstanceGroupsRemoveInstancesRequest++; if (buildCounterInstanceGroupsRemoveInstancesRequest < 3) { - o.instances = buildUnnamed276(); + o.instances = buildUnnamed285(); } buildCounterInstanceGroupsRemoveInstancesRequest--; return o; @@ -15949,17 +16343,17 @@ void checkInstanceGroupsRemoveInstancesRequest( api.InstanceGroupsRemoveInstancesRequest o) { buildCounterInstanceGroupsRemoveInstancesRequest++; if (buildCounterInstanceGroupsRemoveInstancesRequest < 3) { - checkUnnamed276(o.instances!); + checkUnnamed285(o.instances!); } buildCounterInstanceGroupsRemoveInstancesRequest--; } -core.List buildUnnamed277() => [ +core.List buildUnnamed286() => [ buildInstanceGroup(), buildInstanceGroup(), ]; -void checkUnnamed277(core.List o) { +void checkUnnamed286(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceGroup(o[0]); checkInstanceGroup(o[1]); @@ -15994,12 +16388,12 @@ void checkInstanceGroupsScopedListWarningData( buildCounterInstanceGroupsScopedListWarningData--; } -core.List buildUnnamed278() => [ +core.List buildUnnamed287() => [ buildInstanceGroupsScopedListWarningData(), buildInstanceGroupsScopedListWarningData(), ]; -void checkUnnamed278(core.List o) { +void checkUnnamed287(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceGroupsScopedListWarningData(o[0]); checkInstanceGroupsScopedListWarningData(o[1]); @@ -16011,7 +16405,7 @@ api.InstanceGroupsScopedListWarning buildInstanceGroupsScopedListWarning() { buildCounterInstanceGroupsScopedListWarning++; if (buildCounterInstanceGroupsScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed278(); + o.data = buildUnnamed287(); o.message = 'foo'; } buildCounterInstanceGroupsScopedListWarning--; @@ -16026,7 +16420,7 @@ void checkInstanceGroupsScopedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed278(o.data!); + checkUnnamed287(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -16040,7 +16434,7 @@ api.InstanceGroupsScopedList buildInstanceGroupsScopedList() { final o = api.InstanceGroupsScopedList(); buildCounterInstanceGroupsScopedList++; if (buildCounterInstanceGroupsScopedList < 3) { - o.instanceGroups = buildUnnamed277(); + o.instanceGroups = buildUnnamed286(); o.warning = buildInstanceGroupsScopedListWarning(); } buildCounterInstanceGroupsScopedList--; @@ -16050,18 +16444,18 @@ api.InstanceGroupsScopedList buildInstanceGroupsScopedList() { void checkInstanceGroupsScopedList(api.InstanceGroupsScopedList o) { buildCounterInstanceGroupsScopedList++; if (buildCounterInstanceGroupsScopedList < 3) { - checkUnnamed277(o.instanceGroups!); + checkUnnamed286(o.instanceGroups!); checkInstanceGroupsScopedListWarning(o.warning!); } buildCounterInstanceGroupsScopedList--; } -core.List buildUnnamed279() => [ +core.List buildUnnamed288() => [ buildNamedPort(), buildNamedPort(), ]; -void checkUnnamed279(core.List o) { +void checkUnnamed288(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNamedPort(o[0]); checkNamedPort(o[1]); @@ -16074,7 +16468,7 @@ api.InstanceGroupsSetNamedPortsRequest buildCounterInstanceGroupsSetNamedPortsRequest++; if (buildCounterInstanceGroupsSetNamedPortsRequest < 3) { o.fingerprint = 'foo'; - o.namedPorts = buildUnnamed279(); + o.namedPorts = buildUnnamed288(); } buildCounterInstanceGroupsSetNamedPortsRequest--; return o; @@ -16088,17 +16482,17 @@ void checkInstanceGroupsSetNamedPortsRequest( o.fingerprint!, unittest.equals('foo'), ); - checkUnnamed279(o.namedPorts!); + checkUnnamed288(o.namedPorts!); } buildCounterInstanceGroupsSetNamedPortsRequest--; } -core.List buildUnnamed280() => [ +core.List buildUnnamed289() => [ buildInstance(), buildInstance(), ]; -void checkUnnamed280(core.List o) { +void checkUnnamed289(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstance(o[0]); checkInstance(o[1]); @@ -16131,12 +16525,12 @@ void checkInstanceListWarningData(api.InstanceListWarningData o) { buildCounterInstanceListWarningData--; } -core.List buildUnnamed281() => [ +core.List buildUnnamed290() => [ buildInstanceListWarningData(), buildInstanceListWarningData(), ]; -void checkUnnamed281(core.List o) { +void checkUnnamed290(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceListWarningData(o[0]); checkInstanceListWarningData(o[1]); @@ -16148,7 +16542,7 @@ api.InstanceListWarning buildInstanceListWarning() { buildCounterInstanceListWarning++; if (buildCounterInstanceListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed281(); + o.data = buildUnnamed290(); o.message = 'foo'; } buildCounterInstanceListWarning--; @@ -16162,7 +16556,7 @@ void checkInstanceListWarning(api.InstanceListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed281(o.data!); + checkUnnamed290(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -16177,7 +16571,7 @@ api.InstanceList buildInstanceList() { buildCounterInstanceList++; if (buildCounterInstanceList < 3) { o.id = 'foo'; - o.items = buildUnnamed280(); + o.items = buildUnnamed289(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -16194,7 +16588,7 @@ void checkInstanceList(api.InstanceList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed280(o.items!); + checkUnnamed289(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -16212,12 +16606,12 @@ void checkInstanceList(api.InstanceList o) { buildCounterInstanceList--; } -core.List buildUnnamed282() => [ +core.List buildUnnamed291() => [ buildReference(), buildReference(), ]; -void checkUnnamed282(core.List o) { +void checkUnnamed291(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReference(o[0]); checkReference(o[1]); @@ -16251,12 +16645,12 @@ void checkInstanceListReferrersWarningData( buildCounterInstanceListReferrersWarningData--; } -core.List buildUnnamed283() => [ +core.List buildUnnamed292() => [ buildInstanceListReferrersWarningData(), buildInstanceListReferrersWarningData(), ]; -void checkUnnamed283(core.List o) { +void checkUnnamed292(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceListReferrersWarningData(o[0]); checkInstanceListReferrersWarningData(o[1]); @@ -16268,7 +16662,7 @@ api.InstanceListReferrersWarning buildInstanceListReferrersWarning() { buildCounterInstanceListReferrersWarning++; if (buildCounterInstanceListReferrersWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed283(); + o.data = buildUnnamed292(); o.message = 'foo'; } buildCounterInstanceListReferrersWarning--; @@ -16282,7 +16676,7 @@ void checkInstanceListReferrersWarning(api.InstanceListReferrersWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed283(o.data!); + checkUnnamed292(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -16297,7 +16691,7 @@ api.InstanceListReferrers buildInstanceListReferrers() { buildCounterInstanceListReferrers++; if (buildCounterInstanceListReferrers < 3) { o.id = 'foo'; - o.items = buildUnnamed282(); + o.items = buildUnnamed291(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -16314,7 +16708,7 @@ void checkInstanceListReferrers(api.InstanceListReferrers o) { o.id!, unittest.equals('foo'), ); - checkUnnamed282(o.items!); + checkUnnamed291(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -16447,12 +16841,12 @@ void checkInstanceMoveRequest(api.InstanceMoveRequest o) { buildCounterInstanceMoveRequest--; } -core.Map buildUnnamed284() => { +core.Map buildUnnamed293() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed284(core.Map o) { +void checkUnnamed293(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -16469,7 +16863,7 @@ api.InstanceParams buildInstanceParams() { final o = api.InstanceParams(); buildCounterInstanceParams++; if (buildCounterInstanceParams < 3) { - o.resourceManagerTags = buildUnnamed284(); + o.resourceManagerTags = buildUnnamed293(); } buildCounterInstanceParams--; return o; @@ -16478,39 +16872,39 @@ api.InstanceParams buildInstanceParams() { void checkInstanceParams(api.InstanceParams o) { buildCounterInstanceParams++; if (buildCounterInstanceParams < 3) { - checkUnnamed284(o.resourceManagerTags!); + checkUnnamed293(o.resourceManagerTags!); } buildCounterInstanceParams--; } -core.List buildUnnamed285() => [ +core.List buildUnnamed294() => [ buildAttachedDisk(), buildAttachedDisk(), ]; -void checkUnnamed285(core.List o) { +void checkUnnamed294(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAttachedDisk(o[0]); checkAttachedDisk(o[1]); } -core.List buildUnnamed286() => [ +core.List buildUnnamed295() => [ buildAcceleratorConfig(), buildAcceleratorConfig(), ]; -void checkUnnamed286(core.List o) { +void checkUnnamed295(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAcceleratorConfig(o[0]); checkAcceleratorConfig(o[1]); } -core.Map buildUnnamed287() => { +core.Map buildUnnamed296() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed287(core.Map o) { +void checkUnnamed296(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -16522,23 +16916,23 @@ void checkUnnamed287(core.Map o) { ); } -core.List buildUnnamed288() => [ +core.List buildUnnamed297() => [ buildNetworkInterface(), buildNetworkInterface(), ]; -void checkUnnamed288(core.List o) { +void checkUnnamed297(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkInterface(o[0]); checkNetworkInterface(o[1]); } -core.Map buildUnnamed289() => { +core.Map buildUnnamed298() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed289(core.Map o) { +void checkUnnamed298(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -16550,12 +16944,12 @@ void checkUnnamed289(core.Map o) { ); } -core.List buildUnnamed290() => [ +core.List buildUnnamed299() => [ 'foo', 'foo', ]; -void checkUnnamed290(core.List o) { +void checkUnnamed299(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -16567,12 +16961,12 @@ void checkUnnamed290(core.List o) { ); } -core.List buildUnnamed291() => [ +core.List buildUnnamed300() => [ buildServiceAccount(), buildServiceAccount(), ]; -void checkUnnamed291(core.List o) { +void checkUnnamed300(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceAccount(o[0]); checkServiceAccount(o[1]); @@ -16587,21 +16981,21 @@ api.InstanceProperties buildInstanceProperties() { o.canIpForward = true; o.confidentialInstanceConfig = buildConfidentialInstanceConfig(); o.description = 'foo'; - o.disks = buildUnnamed285(); - o.guestAccelerators = buildUnnamed286(); + o.disks = buildUnnamed294(); + o.guestAccelerators = buildUnnamed295(); o.keyRevocationActionType = 'foo'; - o.labels = buildUnnamed287(); + o.labels = buildUnnamed296(); o.machineType = 'foo'; o.metadata = buildMetadata(); o.minCpuPlatform = 'foo'; - o.networkInterfaces = buildUnnamed288(); + o.networkInterfaces = buildUnnamed297(); o.networkPerformanceConfig = buildNetworkPerformanceConfig(); o.privateIpv6GoogleAccess = 'foo'; o.reservationAffinity = buildReservationAffinity(); - o.resourceManagerTags = buildUnnamed289(); - o.resourcePolicies = buildUnnamed290(); + o.resourceManagerTags = buildUnnamed298(); + o.resourcePolicies = buildUnnamed299(); o.scheduling = buildScheduling(); - o.serviceAccounts = buildUnnamed291(); + o.serviceAccounts = buildUnnamed300(); o.shieldedInstanceConfig = buildShieldedInstanceConfig(); o.tags = buildTags(); } @@ -16619,13 +17013,13 @@ void checkInstanceProperties(api.InstanceProperties o) { o.description!, unittest.equals('foo'), ); - checkUnnamed285(o.disks!); - checkUnnamed286(o.guestAccelerators!); + checkUnnamed294(o.disks!); + checkUnnamed295(o.guestAccelerators!); unittest.expect( o.keyRevocationActionType!, unittest.equals('foo'), ); - checkUnnamed287(o.labels!); + checkUnnamed296(o.labels!); unittest.expect( o.machineType!, unittest.equals('foo'), @@ -16635,29 +17029,29 @@ void checkInstanceProperties(api.InstanceProperties o) { o.minCpuPlatform!, unittest.equals('foo'), ); - checkUnnamed288(o.networkInterfaces!); + checkUnnamed297(o.networkInterfaces!); checkNetworkPerformanceConfig(o.networkPerformanceConfig!); unittest.expect( o.privateIpv6GoogleAccess!, unittest.equals('foo'), ); checkReservationAffinity(o.reservationAffinity!); - checkUnnamed289(o.resourceManagerTags!); - checkUnnamed290(o.resourcePolicies!); + checkUnnamed298(o.resourceManagerTags!); + checkUnnamed299(o.resourcePolicies!); checkScheduling(o.scheduling!); - checkUnnamed291(o.serviceAccounts!); + checkUnnamed300(o.serviceAccounts!); checkShieldedInstanceConfig(o.shieldedInstanceConfig!); checkTags(o.tags!); } buildCounterInstanceProperties--; } -core.Map buildUnnamed292() => { +core.Map buildUnnamed301() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed292(core.Map o) { +void checkUnnamed301(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -16669,12 +17063,12 @@ void checkUnnamed292(core.Map o) { ); } -core.Map buildUnnamed293() => { +core.Map buildUnnamed302() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed293(core.Map o) { +void checkUnnamed302(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -16691,8 +17085,8 @@ api.InstancePropertiesPatch buildInstancePropertiesPatch() { final o = api.InstancePropertiesPatch(); buildCounterInstancePropertiesPatch++; if (buildCounterInstancePropertiesPatch < 3) { - o.labels = buildUnnamed292(); - o.metadata = buildUnnamed293(); + o.labels = buildUnnamed301(); + o.metadata = buildUnnamed302(); } buildCounterInstancePropertiesPatch--; return o; @@ -16701,8 +17095,8 @@ api.InstancePropertiesPatch buildInstancePropertiesPatch() { void checkInstancePropertiesPatch(api.InstancePropertiesPatch o) { buildCounterInstancePropertiesPatch++; if (buildCounterInstancePropertiesPatch < 3) { - checkUnnamed292(o.labels!); - checkUnnamed293(o.metadata!); + checkUnnamed301(o.labels!); + checkUnnamed302(o.metadata!); } buildCounterInstancePropertiesPatch--; } @@ -16763,12 +17157,12 @@ void checkInstanceSettings(api.InstanceSettings o) { buildCounterInstanceSettings--; } -core.Map buildUnnamed294() => { +core.Map buildUnnamed303() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed294(core.Map o) { +void checkUnnamed303(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -16785,7 +17179,7 @@ api.InstanceSettingsMetadata buildInstanceSettingsMetadata() { final o = api.InstanceSettingsMetadata(); buildCounterInstanceSettingsMetadata++; if (buildCounterInstanceSettingsMetadata < 3) { - o.items = buildUnnamed294(); + o.items = buildUnnamed303(); o.kind = 'foo'; } buildCounterInstanceSettingsMetadata--; @@ -16795,7 +17189,7 @@ api.InstanceSettingsMetadata buildInstanceSettingsMetadata() { void checkInstanceSettingsMetadata(api.InstanceSettingsMetadata o) { buildCounterInstanceSettingsMetadata++; if (buildCounterInstanceSettingsMetadata < 3) { - checkUnnamed294(o.items!); + checkUnnamed303(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -16865,12 +17259,12 @@ void checkInstanceTemplate(api.InstanceTemplate o) { buildCounterInstanceTemplate--; } -core.Map buildUnnamed295() => { +core.Map buildUnnamed304() => { 'x': buildInstanceTemplatesScopedList(), 'y': buildInstanceTemplatesScopedList(), }; -void checkUnnamed295(core.Map o) { +void checkUnnamed304(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceTemplatesScopedList(o['x']!); checkInstanceTemplatesScopedList(o['y']!); @@ -16905,12 +17299,12 @@ void checkInstanceTemplateAggregatedListWarningData( buildCounterInstanceTemplateAggregatedListWarningData--; } -core.List buildUnnamed296() => [ +core.List buildUnnamed305() => [ buildInstanceTemplateAggregatedListWarningData(), buildInstanceTemplateAggregatedListWarningData(), ]; -void checkUnnamed296( +void checkUnnamed305( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceTemplateAggregatedListWarningData(o[0]); @@ -16924,7 +17318,7 @@ api.InstanceTemplateAggregatedListWarning buildCounterInstanceTemplateAggregatedListWarning++; if (buildCounterInstanceTemplateAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed296(); + o.data = buildUnnamed305(); o.message = 'foo'; } buildCounterInstanceTemplateAggregatedListWarning--; @@ -16939,7 +17333,7 @@ void checkInstanceTemplateAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed296(o.data!); + checkUnnamed305(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -16954,7 +17348,7 @@ api.InstanceTemplateAggregatedList buildInstanceTemplateAggregatedList() { buildCounterInstanceTemplateAggregatedList++; if (buildCounterInstanceTemplateAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed295(); + o.items = buildUnnamed304(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -16971,7 +17365,7 @@ void checkInstanceTemplateAggregatedList(api.InstanceTemplateAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed295(o.items!); + checkUnnamed304(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -16989,12 +17383,12 @@ void checkInstanceTemplateAggregatedList(api.InstanceTemplateAggregatedList o) { buildCounterInstanceTemplateAggregatedList--; } -core.List buildUnnamed297() => [ +core.List buildUnnamed306() => [ buildInstanceTemplate(), buildInstanceTemplate(), ]; -void checkUnnamed297(core.List o) { +void checkUnnamed306(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceTemplate(o[0]); checkInstanceTemplate(o[1]); @@ -17028,12 +17422,12 @@ void checkInstanceTemplateListWarningData( buildCounterInstanceTemplateListWarningData--; } -core.List buildUnnamed298() => [ +core.List buildUnnamed307() => [ buildInstanceTemplateListWarningData(), buildInstanceTemplateListWarningData(), ]; -void checkUnnamed298(core.List o) { +void checkUnnamed307(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceTemplateListWarningData(o[0]); checkInstanceTemplateListWarningData(o[1]); @@ -17045,7 +17439,7 @@ api.InstanceTemplateListWarning buildInstanceTemplateListWarning() { buildCounterInstanceTemplateListWarning++; if (buildCounterInstanceTemplateListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed298(); + o.data = buildUnnamed307(); o.message = 'foo'; } buildCounterInstanceTemplateListWarning--; @@ -17059,7 +17453,7 @@ void checkInstanceTemplateListWarning(api.InstanceTemplateListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed298(o.data!); + checkUnnamed307(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -17074,7 +17468,7 @@ api.InstanceTemplateList buildInstanceTemplateList() { buildCounterInstanceTemplateList++; if (buildCounterInstanceTemplateList < 3) { o.id = 'foo'; - o.items = buildUnnamed297(); + o.items = buildUnnamed306(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -17091,7 +17485,7 @@ void checkInstanceTemplateList(api.InstanceTemplateList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed297(o.items!); + checkUnnamed306(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -17109,12 +17503,12 @@ void checkInstanceTemplateList(api.InstanceTemplateList o) { buildCounterInstanceTemplateList--; } -core.List buildUnnamed299() => [ +core.List buildUnnamed308() => [ buildInstanceTemplate(), buildInstanceTemplate(), ]; -void checkUnnamed299(core.List o) { +void checkUnnamed308(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceTemplate(o[0]); checkInstanceTemplate(o[1]); @@ -17149,12 +17543,12 @@ void checkInstanceTemplatesScopedListWarningData( buildCounterInstanceTemplatesScopedListWarningData--; } -core.List buildUnnamed300() => [ +core.List buildUnnamed309() => [ buildInstanceTemplatesScopedListWarningData(), buildInstanceTemplatesScopedListWarningData(), ]; -void checkUnnamed300(core.List o) { +void checkUnnamed309(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceTemplatesScopedListWarningData(o[0]); checkInstanceTemplatesScopedListWarningData(o[1]); @@ -17167,7 +17561,7 @@ api.InstanceTemplatesScopedListWarning buildCounterInstanceTemplatesScopedListWarning++; if (buildCounterInstanceTemplatesScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed300(); + o.data = buildUnnamed309(); o.message = 'foo'; } buildCounterInstanceTemplatesScopedListWarning--; @@ -17182,7 +17576,7 @@ void checkInstanceTemplatesScopedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed300(o.data!); + checkUnnamed309(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -17196,7 +17590,7 @@ api.InstanceTemplatesScopedList buildInstanceTemplatesScopedList() { final o = api.InstanceTemplatesScopedList(); buildCounterInstanceTemplatesScopedList++; if (buildCounterInstanceTemplatesScopedList < 3) { - o.instanceTemplates = buildUnnamed299(); + o.instanceTemplates = buildUnnamed308(); o.warning = buildInstanceTemplatesScopedListWarning(); } buildCounterInstanceTemplatesScopedList--; @@ -17206,18 +17600,18 @@ api.InstanceTemplatesScopedList buildInstanceTemplatesScopedList() { void checkInstanceTemplatesScopedList(api.InstanceTemplatesScopedList o) { buildCounterInstanceTemplatesScopedList++; if (buildCounterInstanceTemplatesScopedList < 3) { - checkUnnamed299(o.instanceTemplates!); + checkUnnamed308(o.instanceTemplates!); checkInstanceTemplatesScopedListWarning(o.warning!); } buildCounterInstanceTemplatesScopedList--; } -core.List buildUnnamed301() => [ +core.List buildUnnamed310() => [ buildNamedPort(), buildNamedPort(), ]; -void checkUnnamed301(core.List o) { +void checkUnnamed310(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNamedPort(o[0]); checkNamedPort(o[1]); @@ -17229,7 +17623,7 @@ api.InstanceWithNamedPorts buildInstanceWithNamedPorts() { buildCounterInstanceWithNamedPorts++; if (buildCounterInstanceWithNamedPorts < 3) { o.instance = 'foo'; - o.namedPorts = buildUnnamed301(); + o.namedPorts = buildUnnamed310(); o.status = 'foo'; } buildCounterInstanceWithNamedPorts--; @@ -17243,7 +17637,7 @@ void checkInstanceWithNamedPorts(api.InstanceWithNamedPorts o) { o.instance!, unittest.equals('foo'), ); - checkUnnamed301(o.namedPorts!); + checkUnnamed310(o.namedPorts!); unittest.expect( o.status!, unittest.equals('foo'), @@ -17252,12 +17646,12 @@ void checkInstanceWithNamedPorts(api.InstanceWithNamedPorts o) { buildCounterInstanceWithNamedPorts--; } -core.List buildUnnamed302() => [ +core.List buildUnnamed311() => [ 'foo', 'foo', ]; -void checkUnnamed302(core.List o) { +void checkUnnamed311(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -17275,7 +17669,7 @@ api.InstancesAddResourcePoliciesRequest final o = api.InstancesAddResourcePoliciesRequest(); buildCounterInstancesAddResourcePoliciesRequest++; if (buildCounterInstancesAddResourcePoliciesRequest < 3) { - o.resourcePolicies = buildUnnamed302(); + o.resourcePolicies = buildUnnamed311(); } buildCounterInstancesAddResourcePoliciesRequest--; return o; @@ -17285,17 +17679,17 @@ void checkInstancesAddResourcePoliciesRequest( api.InstancesAddResourcePoliciesRequest o) { buildCounterInstancesAddResourcePoliciesRequest++; if (buildCounterInstancesAddResourcePoliciesRequest < 3) { - checkUnnamed302(o.resourcePolicies!); + checkUnnamed311(o.resourcePolicies!); } buildCounterInstancesAddResourcePoliciesRequest--; } -core.Map buildUnnamed303() => { +core.Map buildUnnamed312() => { 'x': buildBulkInsertOperationStatus(), 'y': buildBulkInsertOperationStatus(), }; -void checkUnnamed303(core.Map o) { +void checkUnnamed312(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkBulkInsertOperationStatus(o['x']!); checkBulkInsertOperationStatus(o['y']!); @@ -17307,7 +17701,7 @@ api.InstancesBulkInsertOperationMetadata final o = api.InstancesBulkInsertOperationMetadata(); buildCounterInstancesBulkInsertOperationMetadata++; if (buildCounterInstancesBulkInsertOperationMetadata < 3) { - o.perLocationStatus = buildUnnamed303(); + o.perLocationStatus = buildUnnamed312(); } buildCounterInstancesBulkInsertOperationMetadata--; return o; @@ -17317,18 +17711,18 @@ void checkInstancesBulkInsertOperationMetadata( api.InstancesBulkInsertOperationMetadata o) { buildCounterInstancesBulkInsertOperationMetadata++; if (buildCounterInstancesBulkInsertOperationMetadata < 3) { - checkUnnamed303(o.perLocationStatus!); + checkUnnamed312(o.perLocationStatus!); } buildCounterInstancesBulkInsertOperationMetadata--; } core.List - buildUnnamed304() => [ + buildUnnamed313() => [ buildInstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy(), buildInstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy(), ]; -void checkUnnamed304( +void checkUnnamed313( core.List o) { unittest.expect(o, unittest.hasLength(2)); @@ -17336,12 +17730,12 @@ void checkUnnamed304( checkInstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy(o[1]); } -core.List buildUnnamed305() => [ +core.List buildUnnamed314() => [ buildFirewall(), buildFirewall(), ]; -void checkUnnamed305(core.List o) { +void checkUnnamed314(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFirewall(o[0]); checkFirewall(o[1]); @@ -17353,8 +17747,8 @@ api.InstancesGetEffectiveFirewallsResponse final o = api.InstancesGetEffectiveFirewallsResponse(); buildCounterInstancesGetEffectiveFirewallsResponse++; if (buildCounterInstancesGetEffectiveFirewallsResponse < 3) { - o.firewallPolicys = buildUnnamed304(); - o.firewalls = buildUnnamed305(); + o.firewallPolicys = buildUnnamed313(); + o.firewalls = buildUnnamed314(); } buildCounterInstancesGetEffectiveFirewallsResponse--; return o; @@ -17364,18 +17758,29 @@ void checkInstancesGetEffectiveFirewallsResponse( api.InstancesGetEffectiveFirewallsResponse o) { buildCounterInstancesGetEffectiveFirewallsResponse++; if (buildCounterInstancesGetEffectiveFirewallsResponse < 3) { - checkUnnamed304(o.firewallPolicys!); - checkUnnamed305(o.firewalls!); + checkUnnamed313(o.firewallPolicys!); + checkUnnamed314(o.firewalls!); } buildCounterInstancesGetEffectiveFirewallsResponse--; } -core.List buildUnnamed306() => [ +core.List buildUnnamed315() => [ buildFirewallPolicyRule(), buildFirewallPolicyRule(), ]; -void checkUnnamed306(core.List o) { +void checkUnnamed315(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkFirewallPolicyRule(o[0]); + checkFirewallPolicyRule(o[1]); +} + +core.List buildUnnamed316() => [ + buildFirewallPolicyRule(), + buildFirewallPolicyRule(), + ]; + +void checkUnnamed316(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFirewallPolicyRule(o[0]); checkFirewallPolicyRule(o[1]); @@ -17392,8 +17797,9 @@ api.InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy 3) { o.displayName = 'foo'; o.name = 'foo'; + o.packetMirroringRules = buildUnnamed315(); o.priority = 42; - o.rules = buildUnnamed306(); + o.rules = buildUnnamed316(); o.shortName = 'foo'; o.type = 'foo'; } @@ -17414,11 +17820,12 @@ void checkInstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy( o.name!, unittest.equals('foo'), ); + checkUnnamed315(o.packetMirroringRules!); unittest.expect( o.priority!, unittest.equals(42), ); - checkUnnamed306(o.rules!); + checkUnnamed316(o.rules!); unittest.expect( o.shortName!, unittest.equals('foo'), @@ -17431,12 +17838,12 @@ void checkInstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy( buildCounterInstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy--; } -core.List buildUnnamed307() => [ +core.List buildUnnamed317() => [ 'foo', 'foo', ]; -void checkUnnamed307(core.List o) { +void checkUnnamed317(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -17454,7 +17861,7 @@ api.InstancesRemoveResourcePoliciesRequest final o = api.InstancesRemoveResourcePoliciesRequest(); buildCounterInstancesRemoveResourcePoliciesRequest++; if (buildCounterInstancesRemoveResourcePoliciesRequest < 3) { - o.resourcePolicies = buildUnnamed307(); + o.resourcePolicies = buildUnnamed317(); } buildCounterInstancesRemoveResourcePoliciesRequest--; return o; @@ -17464,17 +17871,85 @@ void checkInstancesRemoveResourcePoliciesRequest( api.InstancesRemoveResourcePoliciesRequest o) { buildCounterInstancesRemoveResourcePoliciesRequest++; if (buildCounterInstancesRemoveResourcePoliciesRequest < 3) { - checkUnnamed307(o.resourcePolicies!); + checkUnnamed317(o.resourcePolicies!); } buildCounterInstancesRemoveResourcePoliciesRequest--; } -core.List buildUnnamed308() => [ +core.List + buildUnnamed318() => [ + buildInstancesReportHostAsFaultyRequestFaultReason(), + buildInstancesReportHostAsFaultyRequestFaultReason(), + ]; + +void checkUnnamed318( + core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkInstancesReportHostAsFaultyRequestFaultReason(o[0]); + checkInstancesReportHostAsFaultyRequestFaultReason(o[1]); +} + +core.int buildCounterInstancesReportHostAsFaultyRequest = 0; +api.InstancesReportHostAsFaultyRequest + buildInstancesReportHostAsFaultyRequest() { + final o = api.InstancesReportHostAsFaultyRequest(); + buildCounterInstancesReportHostAsFaultyRequest++; + if (buildCounterInstancesReportHostAsFaultyRequest < 3) { + o.disruptionSchedule = 'foo'; + o.faultReasons = buildUnnamed318(); + } + buildCounterInstancesReportHostAsFaultyRequest--; + return o; +} + +void checkInstancesReportHostAsFaultyRequest( + api.InstancesReportHostAsFaultyRequest o) { + buildCounterInstancesReportHostAsFaultyRequest++; + if (buildCounterInstancesReportHostAsFaultyRequest < 3) { + unittest.expect( + o.disruptionSchedule!, + unittest.equals('foo'), + ); + checkUnnamed318(o.faultReasons!); + } + buildCounterInstancesReportHostAsFaultyRequest--; +} + +core.int buildCounterInstancesReportHostAsFaultyRequestFaultReason = 0; +api.InstancesReportHostAsFaultyRequestFaultReason + buildInstancesReportHostAsFaultyRequestFaultReason() { + final o = api.InstancesReportHostAsFaultyRequestFaultReason(); + buildCounterInstancesReportHostAsFaultyRequestFaultReason++; + if (buildCounterInstancesReportHostAsFaultyRequestFaultReason < 3) { + o.behavior = 'foo'; + o.description = 'foo'; + } + buildCounterInstancesReportHostAsFaultyRequestFaultReason--; + return o; +} + +void checkInstancesReportHostAsFaultyRequestFaultReason( + api.InstancesReportHostAsFaultyRequestFaultReason o) { + buildCounterInstancesReportHostAsFaultyRequestFaultReason++; + if (buildCounterInstancesReportHostAsFaultyRequestFaultReason < 3) { + unittest.expect( + o.behavior!, + unittest.equals('foo'), + ); + unittest.expect( + o.description!, + unittest.equals('foo'), + ); + } + buildCounterInstancesReportHostAsFaultyRequestFaultReason--; +} + +core.List buildUnnamed319() => [ buildInstance(), buildInstance(), ]; -void checkUnnamed308(core.List o) { +void checkUnnamed319(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstance(o[0]); checkInstance(o[1]); @@ -17507,12 +17982,12 @@ void checkInstancesScopedListWarningData(api.InstancesScopedListWarningData o) { buildCounterInstancesScopedListWarningData--; } -core.List buildUnnamed309() => [ +core.List buildUnnamed320() => [ buildInstancesScopedListWarningData(), buildInstancesScopedListWarningData(), ]; -void checkUnnamed309(core.List o) { +void checkUnnamed320(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstancesScopedListWarningData(o[0]); checkInstancesScopedListWarningData(o[1]); @@ -17524,7 +17999,7 @@ api.InstancesScopedListWarning buildInstancesScopedListWarning() { buildCounterInstancesScopedListWarning++; if (buildCounterInstancesScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed309(); + o.data = buildUnnamed320(); o.message = 'foo'; } buildCounterInstancesScopedListWarning--; @@ -17538,7 +18013,7 @@ void checkInstancesScopedListWarning(api.InstancesScopedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed309(o.data!); + checkUnnamed320(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -17552,7 +18027,7 @@ api.InstancesScopedList buildInstancesScopedList() { final o = api.InstancesScopedList(); buildCounterInstancesScopedList++; if (buildCounterInstancesScopedList < 3) { - o.instances = buildUnnamed308(); + o.instances = buildUnnamed319(); o.warning = buildInstancesScopedListWarning(); } buildCounterInstancesScopedList--; @@ -17562,18 +18037,18 @@ api.InstancesScopedList buildInstancesScopedList() { void checkInstancesScopedList(api.InstancesScopedList o) { buildCounterInstancesScopedList++; if (buildCounterInstancesScopedList < 3) { - checkUnnamed308(o.instances!); + checkUnnamed319(o.instances!); checkInstancesScopedListWarning(o.warning!); } buildCounterInstancesScopedList--; } -core.Map buildUnnamed310() => { +core.Map buildUnnamed321() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed310(core.Map o) { +void checkUnnamed321(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -17591,7 +18066,7 @@ api.InstancesSetLabelsRequest buildInstancesSetLabelsRequest() { buildCounterInstancesSetLabelsRequest++; if (buildCounterInstancesSetLabelsRequest < 3) { o.labelFingerprint = 'foo'; - o.labels = buildUnnamed310(); + o.labels = buildUnnamed321(); } buildCounterInstancesSetLabelsRequest--; return o; @@ -17604,17 +18079,17 @@ void checkInstancesSetLabelsRequest(api.InstancesSetLabelsRequest o) { o.labelFingerprint!, unittest.equals('foo'), ); - checkUnnamed310(o.labels!); + checkUnnamed321(o.labels!); } buildCounterInstancesSetLabelsRequest--; } -core.List buildUnnamed311() => [ +core.List buildUnnamed322() => [ buildAcceleratorConfig(), buildAcceleratorConfig(), ]; -void checkUnnamed311(core.List o) { +void checkUnnamed322(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAcceleratorConfig(o[0]); checkAcceleratorConfig(o[1]); @@ -17626,7 +18101,7 @@ api.InstancesSetMachineResourcesRequest final o = api.InstancesSetMachineResourcesRequest(); buildCounterInstancesSetMachineResourcesRequest++; if (buildCounterInstancesSetMachineResourcesRequest < 3) { - o.guestAccelerators = buildUnnamed311(); + o.guestAccelerators = buildUnnamed322(); } buildCounterInstancesSetMachineResourcesRequest--; return o; @@ -17636,7 +18111,7 @@ void checkInstancesSetMachineResourcesRequest( api.InstancesSetMachineResourcesRequest o) { buildCounterInstancesSetMachineResourcesRequest++; if (buildCounterInstancesSetMachineResourcesRequest < 3) { - checkUnnamed311(o.guestAccelerators!); + checkUnnamed322(o.guestAccelerators!); } buildCounterInstancesSetMachineResourcesRequest--; } @@ -17713,12 +18188,12 @@ void checkInstancesSetNameRequest(api.InstancesSetNameRequest o) { buildCounterInstancesSetNameRequest--; } -core.List buildUnnamed312() => [ +core.List buildUnnamed323() => [ 'foo', 'foo', ]; -void checkUnnamed312(core.List o) { +void checkUnnamed323(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -17735,7 +18210,7 @@ api.InstancesSetSecurityPolicyRequest buildInstancesSetSecurityPolicyRequest() { final o = api.InstancesSetSecurityPolicyRequest(); buildCounterInstancesSetSecurityPolicyRequest++; if (buildCounterInstancesSetSecurityPolicyRequest < 3) { - o.networkInterfaces = buildUnnamed312(); + o.networkInterfaces = buildUnnamed323(); o.securityPolicy = 'foo'; } buildCounterInstancesSetSecurityPolicyRequest--; @@ -17746,7 +18221,7 @@ void checkInstancesSetSecurityPolicyRequest( api.InstancesSetSecurityPolicyRequest o) { buildCounterInstancesSetSecurityPolicyRequest++; if (buildCounterInstancesSetSecurityPolicyRequest < 3) { - checkUnnamed312(o.networkInterfaces!); + checkUnnamed323(o.networkInterfaces!); unittest.expect( o.securityPolicy!, unittest.equals('foo'), @@ -17755,12 +18230,12 @@ void checkInstancesSetSecurityPolicyRequest( buildCounterInstancesSetSecurityPolicyRequest--; } -core.List buildUnnamed313() => [ +core.List buildUnnamed324() => [ 'foo', 'foo', ]; -void checkUnnamed313(core.List o) { +void checkUnnamed324(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -17778,7 +18253,7 @@ api.InstancesSetServiceAccountRequest buildInstancesSetServiceAccountRequest() { buildCounterInstancesSetServiceAccountRequest++; if (buildCounterInstancesSetServiceAccountRequest < 3) { o.email = 'foo'; - o.scopes = buildUnnamed313(); + o.scopes = buildUnnamed324(); } buildCounterInstancesSetServiceAccountRequest--; return o; @@ -17792,17 +18267,17 @@ void checkInstancesSetServiceAccountRequest( o.email!, unittest.equals('foo'), ); - checkUnnamed313(o.scopes!); + checkUnnamed324(o.scopes!); } buildCounterInstancesSetServiceAccountRequest--; } -core.List buildUnnamed314() => [ +core.List buildUnnamed325() => [ buildCustomerEncryptionKeyProtectedDisk(), buildCustomerEncryptionKeyProtectedDisk(), ]; -void checkUnnamed314(core.List o) { +void checkUnnamed325(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCustomerEncryptionKeyProtectedDisk(o[0]); checkCustomerEncryptionKeyProtectedDisk(o[1]); @@ -17814,7 +18289,7 @@ api.InstancesStartWithEncryptionKeyRequest final o = api.InstancesStartWithEncryptionKeyRequest(); buildCounterInstancesStartWithEncryptionKeyRequest++; if (buildCounterInstancesStartWithEncryptionKeyRequest < 3) { - o.disks = buildUnnamed314(); + o.disks = buildUnnamed325(); } buildCounterInstancesStartWithEncryptionKeyRequest--; return o; @@ -17824,17 +18299,17 @@ void checkInstancesStartWithEncryptionKeyRequest( api.InstancesStartWithEncryptionKeyRequest o) { buildCounterInstancesStartWithEncryptionKeyRequest++; if (buildCounterInstancesStartWithEncryptionKeyRequest < 3) { - checkUnnamed314(o.disks!); + checkUnnamed325(o.disks!); } buildCounterInstancesStartWithEncryptionKeyRequest--; } -core.Map buildUnnamed315() => { +core.Map buildUnnamed326() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed315(core.Map o) { +void checkUnnamed326(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -17858,7 +18333,7 @@ api.InstantSnapshot buildInstantSnapshot() { o.id = 'foo'; o.kind = 'foo'; o.labelFingerprint = 'foo'; - o.labels = buildUnnamed315(); + o.labels = buildUnnamed326(); o.name = 'foo'; o.region = 'foo'; o.resourceStatus = buildInstantSnapshotResourceStatus(); @@ -17906,7 +18381,7 @@ void checkInstantSnapshot(api.InstantSnapshot o) { o.labelFingerprint!, unittest.equals('foo'), ); - checkUnnamed315(o.labels!); + checkUnnamed326(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -17946,23 +18421,23 @@ void checkInstantSnapshot(api.InstantSnapshot o) { buildCounterInstantSnapshot--; } -core.Map buildUnnamed316() => { +core.Map buildUnnamed327() => { 'x': buildInstantSnapshotsScopedList(), 'y': buildInstantSnapshotsScopedList(), }; -void checkUnnamed316(core.Map o) { +void checkUnnamed327(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkInstantSnapshotsScopedList(o['x']!); checkInstantSnapshotsScopedList(o['y']!); } -core.List buildUnnamed317() => [ +core.List buildUnnamed328() => [ 'foo', 'foo', ]; -void checkUnnamed317(core.List o) { +void checkUnnamed328(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -18003,12 +18478,12 @@ void checkInstantSnapshotAggregatedListWarningData( buildCounterInstantSnapshotAggregatedListWarningData--; } -core.List buildUnnamed318() => [ +core.List buildUnnamed329() => [ buildInstantSnapshotAggregatedListWarningData(), buildInstantSnapshotAggregatedListWarningData(), ]; -void checkUnnamed318( +void checkUnnamed329( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstantSnapshotAggregatedListWarningData(o[0]); @@ -18022,7 +18497,7 @@ api.InstantSnapshotAggregatedListWarning buildCounterInstantSnapshotAggregatedListWarning++; if (buildCounterInstantSnapshotAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed318(); + o.data = buildUnnamed329(); o.message = 'foo'; } buildCounterInstantSnapshotAggregatedListWarning--; @@ -18037,7 +18512,7 @@ void checkInstantSnapshotAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed318(o.data!); + checkUnnamed329(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -18052,11 +18527,11 @@ api.InstantSnapshotAggregatedList buildInstantSnapshotAggregatedList() { buildCounterInstantSnapshotAggregatedList++; if (buildCounterInstantSnapshotAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed316(); + o.items = buildUnnamed327(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed317(); + o.unreachables = buildUnnamed328(); o.warning = buildInstantSnapshotAggregatedListWarning(); } buildCounterInstantSnapshotAggregatedList--; @@ -18070,7 +18545,7 @@ void checkInstantSnapshotAggregatedList(api.InstantSnapshotAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed316(o.items!); + checkUnnamed327(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -18083,18 +18558,18 @@ void checkInstantSnapshotAggregatedList(api.InstantSnapshotAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed317(o.unreachables!); + checkUnnamed328(o.unreachables!); checkInstantSnapshotAggregatedListWarning(o.warning!); } buildCounterInstantSnapshotAggregatedList--; } -core.List buildUnnamed319() => [ +core.List buildUnnamed330() => [ buildInstantSnapshot(), buildInstantSnapshot(), ]; -void checkUnnamed319(core.List o) { +void checkUnnamed330(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstantSnapshot(o[0]); checkInstantSnapshot(o[1]); @@ -18127,12 +18602,12 @@ void checkInstantSnapshotListWarningData(api.InstantSnapshotListWarningData o) { buildCounterInstantSnapshotListWarningData--; } -core.List buildUnnamed320() => [ +core.List buildUnnamed331() => [ buildInstantSnapshotListWarningData(), buildInstantSnapshotListWarningData(), ]; -void checkUnnamed320(core.List o) { +void checkUnnamed331(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstantSnapshotListWarningData(o[0]); checkInstantSnapshotListWarningData(o[1]); @@ -18144,7 +18619,7 @@ api.InstantSnapshotListWarning buildInstantSnapshotListWarning() { buildCounterInstantSnapshotListWarning++; if (buildCounterInstantSnapshotListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed320(); + o.data = buildUnnamed331(); o.message = 'foo'; } buildCounterInstantSnapshotListWarning--; @@ -18158,7 +18633,7 @@ void checkInstantSnapshotListWarning(api.InstantSnapshotListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed320(o.data!); + checkUnnamed331(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -18173,7 +18648,7 @@ api.InstantSnapshotList buildInstantSnapshotList() { buildCounterInstantSnapshotList++; if (buildCounterInstantSnapshotList < 3) { o.id = 'foo'; - o.items = buildUnnamed319(); + o.items = buildUnnamed330(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -18190,7 +18665,7 @@ void checkInstantSnapshotList(api.InstantSnapshotList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed319(o.items!); + checkUnnamed330(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -18230,12 +18705,12 @@ void checkInstantSnapshotResourceStatus(api.InstantSnapshotResourceStatus o) { buildCounterInstantSnapshotResourceStatus--; } -core.List buildUnnamed321() => [ +core.List buildUnnamed332() => [ buildInstantSnapshot(), buildInstantSnapshot(), ]; -void checkUnnamed321(core.List o) { +void checkUnnamed332(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstantSnapshot(o[0]); checkInstantSnapshot(o[1]); @@ -18270,12 +18745,12 @@ void checkInstantSnapshotsScopedListWarningData( buildCounterInstantSnapshotsScopedListWarningData--; } -core.List buildUnnamed322() => [ +core.List buildUnnamed333() => [ buildInstantSnapshotsScopedListWarningData(), buildInstantSnapshotsScopedListWarningData(), ]; -void checkUnnamed322(core.List o) { +void checkUnnamed333(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstantSnapshotsScopedListWarningData(o[0]); checkInstantSnapshotsScopedListWarningData(o[1]); @@ -18287,7 +18762,7 @@ api.InstantSnapshotsScopedListWarning buildInstantSnapshotsScopedListWarning() { buildCounterInstantSnapshotsScopedListWarning++; if (buildCounterInstantSnapshotsScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed322(); + o.data = buildUnnamed333(); o.message = 'foo'; } buildCounterInstantSnapshotsScopedListWarning--; @@ -18302,7 +18777,7 @@ void checkInstantSnapshotsScopedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed322(o.data!); + checkUnnamed333(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -18316,7 +18791,7 @@ api.InstantSnapshotsScopedList buildInstantSnapshotsScopedList() { final o = api.InstantSnapshotsScopedList(); buildCounterInstantSnapshotsScopedList++; if (buildCounterInstantSnapshotsScopedList < 3) { - o.instantSnapshots = buildUnnamed321(); + o.instantSnapshots = buildUnnamed332(); o.warning = buildInstantSnapshotsScopedListWarning(); } buildCounterInstantSnapshotsScopedList--; @@ -18326,7 +18801,7 @@ api.InstantSnapshotsScopedList buildInstantSnapshotsScopedList() { void checkInstantSnapshotsScopedList(api.InstantSnapshotsScopedList o) { buildCounterInstantSnapshotsScopedList++; if (buildCounterInstantSnapshotsScopedList < 3) { - checkUnnamed321(o.instantSnapshots!); + checkUnnamed332(o.instantSnapshots!); checkInstantSnapshotsScopedListWarning(o.warning!); } buildCounterInstantSnapshotsScopedList--; @@ -18359,12 +18834,12 @@ void checkInt64RangeMatch(api.Int64RangeMatch o) { buildCounterInt64RangeMatch--; } -core.List buildUnnamed323() => [ +core.List buildUnnamed334() => [ 'foo', 'foo', ]; -void checkUnnamed323(core.List o) { +void checkUnnamed334(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -18376,34 +18851,34 @@ void checkUnnamed323(core.List o) { ); } -core.List buildUnnamed324() => [ +core.List buildUnnamed335() => [ buildInterconnectCircuitInfo(), buildInterconnectCircuitInfo(), ]; -void checkUnnamed324(core.List o) { +void checkUnnamed335(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInterconnectCircuitInfo(o[0]); checkInterconnectCircuitInfo(o[1]); } -core.List buildUnnamed325() => [ +core.List buildUnnamed336() => [ buildInterconnectOutageNotification(), buildInterconnectOutageNotification(), ]; -void checkUnnamed325(core.List o) { +void checkUnnamed336(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInterconnectOutageNotification(o[0]); checkInterconnectOutageNotification(o[1]); } -core.List buildUnnamed326() => [ +core.List buildUnnamed337() => [ 'foo', 'foo', ]; -void checkUnnamed326(core.List o) { +void checkUnnamed337(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -18415,12 +18890,12 @@ void checkUnnamed326(core.List o) { ); } -core.Map buildUnnamed327() => { +core.Map buildUnnamed338() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed327(core.Map o) { +void checkUnnamed338(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -18432,12 +18907,12 @@ void checkUnnamed327(core.Map o) { ); } -core.List buildUnnamed328() => [ +core.List buildUnnamed339() => [ 'foo', 'foo', ]; -void checkUnnamed328(core.List o) { +void checkUnnamed339(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -18455,20 +18930,20 @@ api.Interconnect buildInterconnect() { buildCounterInterconnect++; if (buildCounterInterconnect < 3) { o.adminEnabled = true; - o.availableFeatures = buildUnnamed323(); - o.circuitInfos = buildUnnamed324(); + o.availableFeatures = buildUnnamed334(); + o.circuitInfos = buildUnnamed335(); o.creationTimestamp = 'foo'; o.customerName = 'foo'; o.description = 'foo'; - o.expectedOutages = buildUnnamed325(); + o.expectedOutages = buildUnnamed336(); o.googleIpAddress = 'foo'; o.googleReferenceId = 'foo'; o.id = 'foo'; - o.interconnectAttachments = buildUnnamed326(); + o.interconnectAttachments = buildUnnamed337(); o.interconnectType = 'foo'; o.kind = 'foo'; o.labelFingerprint = 'foo'; - o.labels = buildUnnamed327(); + o.labels = buildUnnamed338(); o.linkType = 'foo'; o.location = 'foo'; o.macsec = buildInterconnectMacsec(); @@ -18479,7 +18954,7 @@ api.Interconnect buildInterconnect() { o.peerIpAddress = 'foo'; o.provisionedLinkCount = 42; o.remoteLocation = 'foo'; - o.requestedFeatures = buildUnnamed328(); + o.requestedFeatures = buildUnnamed339(); o.requestedLinkCount = 42; o.satisfiesPzs = true; o.selfLink = 'foo'; @@ -18493,8 +18968,8 @@ void checkInterconnect(api.Interconnect o) { buildCounterInterconnect++; if (buildCounterInterconnect < 3) { unittest.expect(o.adminEnabled!, unittest.isTrue); - checkUnnamed323(o.availableFeatures!); - checkUnnamed324(o.circuitInfos!); + checkUnnamed334(o.availableFeatures!); + checkUnnamed335(o.circuitInfos!); unittest.expect( o.creationTimestamp!, unittest.equals('foo'), @@ -18507,7 +18982,7 @@ void checkInterconnect(api.Interconnect o) { o.description!, unittest.equals('foo'), ); - checkUnnamed325(o.expectedOutages!); + checkUnnamed336(o.expectedOutages!); unittest.expect( o.googleIpAddress!, unittest.equals('foo'), @@ -18520,7 +18995,7 @@ void checkInterconnect(api.Interconnect o) { o.id!, unittest.equals('foo'), ); - checkUnnamed326(o.interconnectAttachments!); + checkUnnamed337(o.interconnectAttachments!); unittest.expect( o.interconnectType!, unittest.equals('foo'), @@ -18533,7 +19008,7 @@ void checkInterconnect(api.Interconnect o) { o.labelFingerprint!, unittest.equals('foo'), ); - checkUnnamed327(o.labels!); + checkUnnamed338(o.labels!); unittest.expect( o.linkType!, unittest.equals('foo'), @@ -18568,7 +19043,7 @@ void checkInterconnect(api.Interconnect o) { o.remoteLocation!, unittest.equals('foo'), ); - checkUnnamed328(o.requestedFeatures!); + checkUnnamed339(o.requestedFeatures!); unittest.expect( o.requestedLinkCount!, unittest.equals(42), @@ -18586,12 +19061,12 @@ void checkInterconnect(api.Interconnect o) { buildCounterInterconnect--; } -core.List buildUnnamed329() => [ +core.List buildUnnamed340() => [ 'foo', 'foo', ]; -void checkUnnamed329(core.List o) { +void checkUnnamed340(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -18603,12 +19078,12 @@ void checkUnnamed329(core.List o) { ); } -core.List buildUnnamed330() => [ +core.List buildUnnamed341() => [ 'foo', 'foo', ]; -void checkUnnamed330(core.List o) { +void checkUnnamed341(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -18620,12 +19095,12 @@ void checkUnnamed330(core.List o) { ); } -core.List buildUnnamed331() => [ +core.List buildUnnamed342() => [ 'foo', 'foo', ]; -void checkUnnamed331(core.List o) { +void checkUnnamed342(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -18637,12 +19112,12 @@ void checkUnnamed331(core.List o) { ); } -core.Map buildUnnamed332() => { +core.Map buildUnnamed343() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed332(core.Map o) { +void checkUnnamed343(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -18661,8 +19136,8 @@ api.InterconnectAttachment buildInterconnectAttachment() { if (buildCounterInterconnectAttachment < 3) { o.adminEnabled = true; o.bandwidth = 'foo'; - o.candidateIpv6Subnets = buildUnnamed329(); - o.candidateSubnets = buildUnnamed330(); + o.candidateIpv6Subnets = buildUnnamed340(); + o.candidateSubnets = buildUnnamed341(); o.cloudRouterIpAddress = 'foo'; o.cloudRouterIpv6Address = 'foo'; o.cloudRouterIpv6InterfaceId = 'foo'; @@ -18679,10 +19154,10 @@ api.InterconnectAttachment buildInterconnectAttachment() { o.googleReferenceId = 'foo'; o.id = 'foo'; o.interconnect = 'foo'; - o.ipsecInternalAddresses = buildUnnamed331(); + o.ipsecInternalAddresses = buildUnnamed342(); o.kind = 'foo'; o.labelFingerprint = 'foo'; - o.labels = buildUnnamed332(); + o.labels = buildUnnamed343(); o.mtu = 42; o.name = 'foo'; o.operationalStatus = 'foo'; @@ -18713,8 +19188,8 @@ void checkInterconnectAttachment(api.InterconnectAttachment o) { o.bandwidth!, unittest.equals('foo'), ); - checkUnnamed329(o.candidateIpv6Subnets!); - checkUnnamed330(o.candidateSubnets!); + checkUnnamed340(o.candidateIpv6Subnets!); + checkUnnamed341(o.candidateSubnets!); unittest.expect( o.cloudRouterIpAddress!, unittest.equals('foo'), @@ -18773,7 +19248,7 @@ void checkInterconnectAttachment(api.InterconnectAttachment o) { o.interconnect!, unittest.equals('foo'), ); - checkUnnamed331(o.ipsecInternalAddresses!); + checkUnnamed342(o.ipsecInternalAddresses!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -18782,7 +19257,7 @@ void checkInterconnectAttachment(api.InterconnectAttachment o) { o.labelFingerprint!, unittest.equals('foo'), ); - checkUnnamed332(o.labels!); + checkUnnamed343(o.labels!); unittest.expect( o.mtu!, unittest.equals(42), @@ -18847,24 +19322,24 @@ void checkInterconnectAttachment(api.InterconnectAttachment o) { } core.Map - buildUnnamed333() => { + buildUnnamed344() => { 'x': buildInterconnectAttachmentsScopedList(), 'y': buildInterconnectAttachmentsScopedList(), }; -void checkUnnamed333( +void checkUnnamed344( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkInterconnectAttachmentsScopedList(o['x']!); checkInterconnectAttachmentsScopedList(o['y']!); } -core.List buildUnnamed334() => [ +core.List buildUnnamed345() => [ 'foo', 'foo', ]; -void checkUnnamed334(core.List o) { +void checkUnnamed345(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -18906,12 +19381,12 @@ void checkInterconnectAttachmentAggregatedListWarningData( } core.List - buildUnnamed335() => [ + buildUnnamed346() => [ buildInterconnectAttachmentAggregatedListWarningData(), buildInterconnectAttachmentAggregatedListWarningData(), ]; -void checkUnnamed335( +void checkUnnamed346( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInterconnectAttachmentAggregatedListWarningData(o[0]); @@ -18925,7 +19400,7 @@ api.InterconnectAttachmentAggregatedListWarning buildCounterInterconnectAttachmentAggregatedListWarning++; if (buildCounterInterconnectAttachmentAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed335(); + o.data = buildUnnamed346(); o.message = 'foo'; } buildCounterInterconnectAttachmentAggregatedListWarning--; @@ -18940,7 +19415,7 @@ void checkInterconnectAttachmentAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed335(o.data!); + checkUnnamed346(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -18956,11 +19431,11 @@ api.InterconnectAttachmentAggregatedList buildCounterInterconnectAttachmentAggregatedList++; if (buildCounterInterconnectAttachmentAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed333(); + o.items = buildUnnamed344(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed334(); + o.unreachables = buildUnnamed345(); o.warning = buildInterconnectAttachmentAggregatedListWarning(); } buildCounterInterconnectAttachmentAggregatedList--; @@ -18975,7 +19450,7 @@ void checkInterconnectAttachmentAggregatedList( o.id!, unittest.equals('foo'), ); - checkUnnamed333(o.items!); + checkUnnamed344(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -18988,19 +19463,19 @@ void checkInterconnectAttachmentAggregatedList( o.selfLink!, unittest.equals('foo'), ); - checkUnnamed334(o.unreachables!); + checkUnnamed345(o.unreachables!); checkInterconnectAttachmentAggregatedListWarning(o.warning!); } buildCounterInterconnectAttachmentAggregatedList--; } core.List - buildUnnamed336() => [ + buildUnnamed347() => [ buildInterconnectAttachmentConfigurationConstraintsBgpPeerASNRange(), buildInterconnectAttachmentConfigurationConstraintsBgpPeerASNRange(), ]; -void checkUnnamed336( +void checkUnnamed347( core.List o) { unittest.expect(o, unittest.hasLength(2)); @@ -19015,7 +19490,7 @@ api.InterconnectAttachmentConfigurationConstraints buildCounterInterconnectAttachmentConfigurationConstraints++; if (buildCounterInterconnectAttachmentConfigurationConstraints < 3) { o.bgpMd5 = 'foo'; - o.bgpPeerAsnRanges = buildUnnamed336(); + o.bgpPeerAsnRanges = buildUnnamed347(); } buildCounterInterconnectAttachmentConfigurationConstraints--; return o; @@ -19029,7 +19504,7 @@ void checkInterconnectAttachmentConfigurationConstraints( o.bgpMd5!, unittest.equals('foo'), ); - checkUnnamed336(o.bgpPeerAsnRanges!); + checkUnnamed347(o.bgpPeerAsnRanges!); } buildCounterInterconnectAttachmentConfigurationConstraints--; } @@ -19067,12 +19542,12 @@ void checkInterconnectAttachmentConfigurationConstraintsBgpPeerASNRange( buildCounterInterconnectAttachmentConfigurationConstraintsBgpPeerASNRange--; } -core.List buildUnnamed337() => [ +core.List buildUnnamed348() => [ buildInterconnectAttachment(), buildInterconnectAttachment(), ]; -void checkUnnamed337(core.List o) { +void checkUnnamed348(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInterconnectAttachment(o[0]); checkInterconnectAttachment(o[1]); @@ -19107,12 +19582,12 @@ void checkInterconnectAttachmentListWarningData( buildCounterInterconnectAttachmentListWarningData--; } -core.List buildUnnamed338() => [ +core.List buildUnnamed349() => [ buildInterconnectAttachmentListWarningData(), buildInterconnectAttachmentListWarningData(), ]; -void checkUnnamed338(core.List o) { +void checkUnnamed349(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInterconnectAttachmentListWarningData(o[0]); checkInterconnectAttachmentListWarningData(o[1]); @@ -19124,7 +19599,7 @@ api.InterconnectAttachmentListWarning buildInterconnectAttachmentListWarning() { buildCounterInterconnectAttachmentListWarning++; if (buildCounterInterconnectAttachmentListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed338(); + o.data = buildUnnamed349(); o.message = 'foo'; } buildCounterInterconnectAttachmentListWarning--; @@ -19139,7 +19614,7 @@ void checkInterconnectAttachmentListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed338(o.data!); + checkUnnamed349(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -19154,7 +19629,7 @@ api.InterconnectAttachmentList buildInterconnectAttachmentList() { buildCounterInterconnectAttachmentList++; if (buildCounterInterconnectAttachmentList < 3) { o.id = 'foo'; - o.items = buildUnnamed337(); + o.items = buildUnnamed348(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -19171,7 +19646,7 @@ void checkInterconnectAttachmentList(api.InterconnectAttachmentList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed337(o.items!); + checkUnnamed348(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -19246,12 +19721,12 @@ void checkInterconnectAttachmentPrivateInfo( buildCounterInterconnectAttachmentPrivateInfo--; } -core.List buildUnnamed339() => [ +core.List buildUnnamed350() => [ buildInterconnectAttachment(), buildInterconnectAttachment(), ]; -void checkUnnamed339(core.List o) { +void checkUnnamed350(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInterconnectAttachment(o[0]); checkInterconnectAttachment(o[1]); @@ -19286,13 +19761,13 @@ void checkInterconnectAttachmentsScopedListWarningData( buildCounterInterconnectAttachmentsScopedListWarningData--; } -core.List buildUnnamed340() => +core.List buildUnnamed351() => [ buildInterconnectAttachmentsScopedListWarningData(), buildInterconnectAttachmentsScopedListWarningData(), ]; -void checkUnnamed340( +void checkUnnamed351( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInterconnectAttachmentsScopedListWarningData(o[0]); @@ -19306,7 +19781,7 @@ api.InterconnectAttachmentsScopedListWarning buildCounterInterconnectAttachmentsScopedListWarning++; if (buildCounterInterconnectAttachmentsScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed340(); + o.data = buildUnnamed351(); o.message = 'foo'; } buildCounterInterconnectAttachmentsScopedListWarning--; @@ -19321,7 +19796,7 @@ void checkInterconnectAttachmentsScopedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed340(o.data!); + checkUnnamed351(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -19335,7 +19810,7 @@ api.InterconnectAttachmentsScopedList buildInterconnectAttachmentsScopedList() { final o = api.InterconnectAttachmentsScopedList(); buildCounterInterconnectAttachmentsScopedList++; if (buildCounterInterconnectAttachmentsScopedList < 3) { - o.interconnectAttachments = buildUnnamed339(); + o.interconnectAttachments = buildUnnamed350(); o.warning = buildInterconnectAttachmentsScopedListWarning(); } buildCounterInterconnectAttachmentsScopedList--; @@ -19346,7 +19821,7 @@ void checkInterconnectAttachmentsScopedList( api.InterconnectAttachmentsScopedList o) { buildCounterInterconnectAttachmentsScopedList++; if (buildCounterInterconnectAttachmentsScopedList < 3) { - checkUnnamed339(o.interconnectAttachments!); + checkUnnamed350(o.interconnectAttachments!); checkInterconnectAttachmentsScopedListWarning(o.warning!); } buildCounterInterconnectAttachmentsScopedList--; @@ -19384,23 +19859,23 @@ void checkInterconnectCircuitInfo(api.InterconnectCircuitInfo o) { buildCounterInterconnectCircuitInfo--; } -core.List buildUnnamed341() => [ +core.List buildUnnamed352() => [ buildInterconnectDiagnosticsARPEntry(), buildInterconnectDiagnosticsARPEntry(), ]; -void checkUnnamed341(core.List o) { +void checkUnnamed352(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInterconnectDiagnosticsARPEntry(o[0]); checkInterconnectDiagnosticsARPEntry(o[1]); } -core.List buildUnnamed342() => [ +core.List buildUnnamed353() => [ buildInterconnectDiagnosticsLinkStatus(), buildInterconnectDiagnosticsLinkStatus(), ]; -void checkUnnamed342(core.List o) { +void checkUnnamed353(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInterconnectDiagnosticsLinkStatus(o[0]); checkInterconnectDiagnosticsLinkStatus(o[1]); @@ -19411,10 +19886,10 @@ api.InterconnectDiagnostics buildInterconnectDiagnostics() { final o = api.InterconnectDiagnostics(); buildCounterInterconnectDiagnostics++; if (buildCounterInterconnectDiagnostics < 3) { - o.arpCaches = buildUnnamed341(); + o.arpCaches = buildUnnamed352(); o.bundleAggregationType = 'foo'; o.bundleOperationalStatus = 'foo'; - o.links = buildUnnamed342(); + o.links = buildUnnamed353(); o.macAddress = 'foo'; } buildCounterInterconnectDiagnostics--; @@ -19424,7 +19899,7 @@ api.InterconnectDiagnostics buildInterconnectDiagnostics() { void checkInterconnectDiagnostics(api.InterconnectDiagnostics o) { buildCounterInterconnectDiagnostics++; if (buildCounterInterconnectDiagnostics < 3) { - checkUnnamed341(o.arpCaches!); + checkUnnamed352(o.arpCaches!); unittest.expect( o.bundleAggregationType!, unittest.equals('foo'), @@ -19433,7 +19908,7 @@ void checkInterconnectDiagnostics(api.InterconnectDiagnostics o) { o.bundleOperationalStatus!, unittest.equals('foo'), ); - checkUnnamed342(o.links!); + checkUnnamed353(o.links!); unittest.expect( o.macAddress!, unittest.equals('foo'), @@ -19533,12 +20008,12 @@ void checkInterconnectDiagnosticsLinkOpticalPower( buildCounterInterconnectDiagnosticsLinkOpticalPower--; } -core.List buildUnnamed343() => [ +core.List buildUnnamed354() => [ buildInterconnectDiagnosticsARPEntry(), buildInterconnectDiagnosticsARPEntry(), ]; -void checkUnnamed343(core.List o) { +void checkUnnamed354(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInterconnectDiagnosticsARPEntry(o[0]); checkInterconnectDiagnosticsARPEntry(o[1]); @@ -19549,7 +20024,7 @@ api.InterconnectDiagnosticsLinkStatus buildInterconnectDiagnosticsLinkStatus() { final o = api.InterconnectDiagnosticsLinkStatus(); buildCounterInterconnectDiagnosticsLinkStatus++; if (buildCounterInterconnectDiagnosticsLinkStatus < 3) { - o.arpCaches = buildUnnamed343(); + o.arpCaches = buildUnnamed354(); o.circuitId = 'foo'; o.googleDemarc = 'foo'; o.lacpStatus = buildInterconnectDiagnosticsLinkLACPStatus(); @@ -19566,7 +20041,7 @@ void checkInterconnectDiagnosticsLinkStatus( api.InterconnectDiagnosticsLinkStatus o) { buildCounterInterconnectDiagnosticsLinkStatus++; if (buildCounterInterconnectDiagnosticsLinkStatus < 3) { - checkUnnamed343(o.arpCaches!); + checkUnnamed354(o.arpCaches!); unittest.expect( o.circuitId!, unittest.equals('foo'), @@ -19613,12 +20088,12 @@ void checkInterconnectDiagnosticsMacsecStatus( buildCounterInterconnectDiagnosticsMacsecStatus--; } -core.List buildUnnamed344() => [ +core.List buildUnnamed355() => [ buildInterconnect(), buildInterconnect(), ]; -void checkUnnamed344(core.List o) { +void checkUnnamed355(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInterconnect(o[0]); checkInterconnect(o[1]); @@ -19651,12 +20126,12 @@ void checkInterconnectListWarningData(api.InterconnectListWarningData o) { buildCounterInterconnectListWarningData--; } -core.List buildUnnamed345() => [ +core.List buildUnnamed356() => [ buildInterconnectListWarningData(), buildInterconnectListWarningData(), ]; -void checkUnnamed345(core.List o) { +void checkUnnamed356(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInterconnectListWarningData(o[0]); checkInterconnectListWarningData(o[1]); @@ -19668,7 +20143,7 @@ api.InterconnectListWarning buildInterconnectListWarning() { buildCounterInterconnectListWarning++; if (buildCounterInterconnectListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed345(); + o.data = buildUnnamed356(); o.message = 'foo'; } buildCounterInterconnectListWarning--; @@ -19682,7 +20157,7 @@ void checkInterconnectListWarning(api.InterconnectListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed345(o.data!); + checkUnnamed356(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -19697,7 +20172,7 @@ api.InterconnectList buildInterconnectList() { buildCounterInterconnectList++; if (buildCounterInterconnectList < 3) { o.id = 'foo'; - o.items = buildUnnamed344(); + o.items = buildUnnamed355(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -19714,7 +20189,7 @@ void checkInterconnectList(api.InterconnectList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed344(o.items!); + checkUnnamed355(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -19732,12 +20207,12 @@ void checkInterconnectList(api.InterconnectList o) { buildCounterInterconnectList--; } -core.List buildUnnamed346() => [ +core.List buildUnnamed357() => [ 'foo', 'foo', ]; -void checkUnnamed346(core.List o) { +void checkUnnamed357(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -19749,12 +20224,12 @@ void checkUnnamed346(core.List o) { ); } -core.List buildUnnamed347() => [ +core.List buildUnnamed358() => [ 'foo', 'foo', ]; -void checkUnnamed347(core.List o) { +void checkUnnamed358(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -19766,12 +20241,12 @@ void checkUnnamed347(core.List o) { ); } -core.List buildUnnamed348() => [ +core.List buildUnnamed359() => [ buildInterconnectLocationRegionInfo(), buildInterconnectLocationRegionInfo(), ]; -void checkUnnamed348(core.List o) { +void checkUnnamed359(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInterconnectLocationRegionInfo(o[0]); checkInterconnectLocationRegionInfo(o[1]); @@ -19784,8 +20259,8 @@ api.InterconnectLocation buildInterconnectLocation() { if (buildCounterInterconnectLocation < 3) { o.address = 'foo'; o.availabilityZone = 'foo'; - o.availableFeatures = buildUnnamed346(); - o.availableLinkTypes = buildUnnamed347(); + o.availableFeatures = buildUnnamed357(); + o.availableLinkTypes = buildUnnamed358(); o.city = 'foo'; o.continent = 'foo'; o.creationTimestamp = 'foo'; @@ -19796,7 +20271,7 @@ api.InterconnectLocation buildInterconnectLocation() { o.kind = 'foo'; o.name = 'foo'; o.peeringdbFacilityId = 'foo'; - o.regionInfos = buildUnnamed348(); + o.regionInfos = buildUnnamed359(); o.selfLink = 'foo'; o.status = 'foo'; o.supportsPzs = true; @@ -19816,8 +20291,8 @@ void checkInterconnectLocation(api.InterconnectLocation o) { o.availabilityZone!, unittest.equals('foo'), ); - checkUnnamed346(o.availableFeatures!); - checkUnnamed347(o.availableLinkTypes!); + checkUnnamed357(o.availableFeatures!); + checkUnnamed358(o.availableLinkTypes!); unittest.expect( o.city!, unittest.equals('foo'), @@ -19858,7 +20333,7 @@ void checkInterconnectLocation(api.InterconnectLocation o) { o.peeringdbFacilityId!, unittest.equals('foo'), ); - checkUnnamed348(o.regionInfos!); + checkUnnamed359(o.regionInfos!); unittest.expect( o.selfLink!, unittest.equals('foo'), @@ -19872,12 +20347,12 @@ void checkInterconnectLocation(api.InterconnectLocation o) { buildCounterInterconnectLocation--; } -core.List buildUnnamed349() => [ +core.List buildUnnamed360() => [ buildInterconnectLocation(), buildInterconnectLocation(), ]; -void checkUnnamed349(core.List o) { +void checkUnnamed360(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInterconnectLocation(o[0]); checkInterconnectLocation(o[1]); @@ -19912,12 +20387,12 @@ void checkInterconnectLocationListWarningData( buildCounterInterconnectLocationListWarningData--; } -core.List buildUnnamed350() => [ +core.List buildUnnamed361() => [ buildInterconnectLocationListWarningData(), buildInterconnectLocationListWarningData(), ]; -void checkUnnamed350(core.List o) { +void checkUnnamed361(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInterconnectLocationListWarningData(o[0]); checkInterconnectLocationListWarningData(o[1]); @@ -19929,7 +20404,7 @@ api.InterconnectLocationListWarning buildInterconnectLocationListWarning() { buildCounterInterconnectLocationListWarning++; if (buildCounterInterconnectLocationListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed350(); + o.data = buildUnnamed361(); o.message = 'foo'; } buildCounterInterconnectLocationListWarning--; @@ -19944,7 +20419,7 @@ void checkInterconnectLocationListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed350(o.data!); + checkUnnamed361(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -19959,7 +20434,7 @@ api.InterconnectLocationList buildInterconnectLocationList() { buildCounterInterconnectLocationList++; if (buildCounterInterconnectLocationList < 3) { o.id = 'foo'; - o.items = buildUnnamed349(); + o.items = buildUnnamed360(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -19976,7 +20451,7 @@ void checkInterconnectLocationList(api.InterconnectLocationList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed349(o.items!); + checkUnnamed360(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -20026,12 +20501,12 @@ void checkInterconnectLocationRegionInfo(api.InterconnectLocationRegionInfo o) { buildCounterInterconnectLocationRegionInfo--; } -core.List buildUnnamed351() => [ +core.List buildUnnamed362() => [ buildInterconnectMacsecPreSharedKey(), buildInterconnectMacsecPreSharedKey(), ]; -void checkUnnamed351(core.List o) { +void checkUnnamed362(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInterconnectMacsecPreSharedKey(o[0]); checkInterconnectMacsecPreSharedKey(o[1]); @@ -20043,7 +20518,7 @@ api.InterconnectMacsec buildInterconnectMacsec() { buildCounterInterconnectMacsec++; if (buildCounterInterconnectMacsec < 3) { o.failOpen = true; - o.preSharedKeys = buildUnnamed351(); + o.preSharedKeys = buildUnnamed362(); } buildCounterInterconnectMacsec--; return o; @@ -20053,17 +20528,17 @@ void checkInterconnectMacsec(api.InterconnectMacsec o) { buildCounterInterconnectMacsec++; if (buildCounterInterconnectMacsec < 3) { unittest.expect(o.failOpen!, unittest.isTrue); - checkUnnamed351(o.preSharedKeys!); + checkUnnamed362(o.preSharedKeys!); } buildCounterInterconnectMacsec--; } -core.List buildUnnamed352() => [ +core.List buildUnnamed363() => [ buildInterconnectMacsecConfigPreSharedKey(), buildInterconnectMacsecConfigPreSharedKey(), ]; -void checkUnnamed352(core.List o) { +void checkUnnamed363(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInterconnectMacsecConfigPreSharedKey(o[0]); checkInterconnectMacsecConfigPreSharedKey(o[1]); @@ -20074,7 +20549,7 @@ api.InterconnectMacsecConfig buildInterconnectMacsecConfig() { final o = api.InterconnectMacsecConfig(); buildCounterInterconnectMacsecConfig++; if (buildCounterInterconnectMacsecConfig < 3) { - o.preSharedKeys = buildUnnamed352(); + o.preSharedKeys = buildUnnamed363(); } buildCounterInterconnectMacsecConfig--; return o; @@ -20083,7 +20558,7 @@ api.InterconnectMacsecConfig buildInterconnectMacsecConfig() { void checkInterconnectMacsecConfig(api.InterconnectMacsecConfig o) { buildCounterInterconnectMacsecConfig++; if (buildCounterInterconnectMacsecConfig < 3) { - checkUnnamed352(o.preSharedKeys!); + checkUnnamed363(o.preSharedKeys!); } buildCounterInterconnectMacsecConfig--; } @@ -20154,12 +20629,12 @@ void checkInterconnectMacsecPreSharedKey(api.InterconnectMacsecPreSharedKey o) { buildCounterInterconnectMacsecPreSharedKey--; } -core.List buildUnnamed353() => [ +core.List buildUnnamed364() => [ 'foo', 'foo', ]; -void checkUnnamed353(core.List o) { +void checkUnnamed364(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -20176,7 +20651,7 @@ api.InterconnectOutageNotification buildInterconnectOutageNotification() { final o = api.InterconnectOutageNotification(); buildCounterInterconnectOutageNotification++; if (buildCounterInterconnectOutageNotification < 3) { - o.affectedCircuits = buildUnnamed353(); + o.affectedCircuits = buildUnnamed364(); o.description = 'foo'; o.endTime = 'foo'; o.issueType = 'foo'; @@ -20192,7 +20667,7 @@ api.InterconnectOutageNotification buildInterconnectOutageNotification() { void checkInterconnectOutageNotification(api.InterconnectOutageNotification o) { buildCounterInterconnectOutageNotification++; if (buildCounterInterconnectOutageNotification < 3) { - checkUnnamed353(o.affectedCircuits!); + checkUnnamed364(o.affectedCircuits!); unittest.expect( o.description!, unittest.equals('foo'), @@ -20226,12 +20701,12 @@ void checkInterconnectOutageNotification(api.InterconnectOutageNotification o) { } core.List - buildUnnamed354() => [ + buildUnnamed365() => [ buildInterconnectRemoteLocationPermittedConnections(), buildInterconnectRemoteLocationPermittedConnections(), ]; -void checkUnnamed354( +void checkUnnamed365( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInterconnectRemoteLocationPermittedConnections(o[0]); @@ -20260,7 +20735,7 @@ api.InterconnectRemoteLocation buildInterconnectRemoteLocation() { o.maxLagSize10Gbps = 42; o.name = 'foo'; o.peeringdbFacilityId = 'foo'; - o.permittedConnections = buildUnnamed354(); + o.permittedConnections = buildUnnamed365(); o.remoteService = 'foo'; o.selfLink = 'foo'; o.status = 'foo'; @@ -20331,7 +20806,7 @@ void checkInterconnectRemoteLocation(api.InterconnectRemoteLocation o) { o.peeringdbFacilityId!, unittest.equals('foo'), ); - checkUnnamed354(o.permittedConnections!); + checkUnnamed365(o.permittedConnections!); unittest.expect( o.remoteService!, unittest.equals('foo'), @@ -20410,12 +20885,12 @@ void checkInterconnectRemoteLocationConstraintsSubnetLengthRange( buildCounterInterconnectRemoteLocationConstraintsSubnetLengthRange--; } -core.List buildUnnamed355() => [ +core.List buildUnnamed366() => [ buildInterconnectRemoteLocation(), buildInterconnectRemoteLocation(), ]; -void checkUnnamed355(core.List o) { +void checkUnnamed366(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInterconnectRemoteLocation(o[0]); checkInterconnectRemoteLocation(o[1]); @@ -20450,12 +20925,12 @@ void checkInterconnectRemoteLocationListWarningData( buildCounterInterconnectRemoteLocationListWarningData--; } -core.List buildUnnamed356() => [ +core.List buildUnnamed367() => [ buildInterconnectRemoteLocationListWarningData(), buildInterconnectRemoteLocationListWarningData(), ]; -void checkUnnamed356( +void checkUnnamed367( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInterconnectRemoteLocationListWarningData(o[0]); @@ -20469,7 +20944,7 @@ api.InterconnectRemoteLocationListWarning buildCounterInterconnectRemoteLocationListWarning++; if (buildCounterInterconnectRemoteLocationListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed356(); + o.data = buildUnnamed367(); o.message = 'foo'; } buildCounterInterconnectRemoteLocationListWarning--; @@ -20484,7 +20959,7 @@ void checkInterconnectRemoteLocationListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed356(o.data!); + checkUnnamed367(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -20499,7 +20974,7 @@ api.InterconnectRemoteLocationList buildInterconnectRemoteLocationList() { buildCounterInterconnectRemoteLocationList++; if (buildCounterInterconnectRemoteLocationList < 3) { o.id = 'foo'; - o.items = buildUnnamed355(); + o.items = buildUnnamed366(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -20516,7 +20991,7 @@ void checkInterconnectRemoteLocationList(api.InterconnectRemoteLocationList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed355(o.items!); + checkUnnamed366(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -20663,12 +21138,12 @@ void checkLicense(api.License o) { buildCounterLicense--; } -core.List buildUnnamed357() => [ +core.List buildUnnamed368() => [ buildLicenseCodeLicenseAlias(), buildLicenseCodeLicenseAlias(), ]; -void checkUnnamed357(core.List o) { +void checkUnnamed368(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLicenseCodeLicenseAlias(o[0]); checkLicenseCodeLicenseAlias(o[1]); @@ -20683,7 +21158,7 @@ api.LicenseCode buildLicenseCode() { o.description = 'foo'; o.id = 'foo'; o.kind = 'foo'; - o.licenseAlias = buildUnnamed357(); + o.licenseAlias = buildUnnamed368(); o.name = 'foo'; o.selfLink = 'foo'; o.state = 'foo'; @@ -20712,7 +21187,7 @@ void checkLicenseCode(api.LicenseCode o) { o.kind!, unittest.equals('foo'), ); - checkUnnamed357(o.licenseAlias!); + checkUnnamed368(o.licenseAlias!); unittest.expect( o.name!, unittest.equals('foo'), @@ -20816,12 +21291,12 @@ void checkLicenseResourceRequirements(api.LicenseResourceRequirements o) { buildCounterLicenseResourceRequirements--; } -core.List buildUnnamed358() => [ +core.List buildUnnamed369() => [ buildLicense(), buildLicense(), ]; -void checkUnnamed358(core.List o) { +void checkUnnamed369(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLicense(o[0]); checkLicense(o[1]); @@ -20855,12 +21330,12 @@ void checkLicensesListResponseWarningData( buildCounterLicensesListResponseWarningData--; } -core.List buildUnnamed359() => [ +core.List buildUnnamed370() => [ buildLicensesListResponseWarningData(), buildLicensesListResponseWarningData(), ]; -void checkUnnamed359(core.List o) { +void checkUnnamed370(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLicensesListResponseWarningData(o[0]); checkLicensesListResponseWarningData(o[1]); @@ -20872,7 +21347,7 @@ api.LicensesListResponseWarning buildLicensesListResponseWarning() { buildCounterLicensesListResponseWarning++; if (buildCounterLicensesListResponseWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed359(); + o.data = buildUnnamed370(); o.message = 'foo'; } buildCounterLicensesListResponseWarning--; @@ -20886,7 +21361,7 @@ void checkLicensesListResponseWarning(api.LicensesListResponseWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed359(o.data!); + checkUnnamed370(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -20901,7 +21376,7 @@ api.LicensesListResponse buildLicensesListResponse() { buildCounterLicensesListResponse++; if (buildCounterLicensesListResponse < 3) { o.id = 'foo'; - o.items = buildUnnamed358(); + o.items = buildUnnamed369(); o.nextPageToken = 'foo'; o.selfLink = 'foo'; o.warning = buildLicensesListResponseWarning(); @@ -20917,7 +21392,7 @@ void checkLicensesListResponse(api.LicensesListResponse o) { o.id!, unittest.equals('foo'), ); - checkUnnamed358(o.items!); + checkUnnamed369(o.items!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -20990,12 +21465,12 @@ void checkLocalizedMessage(api.LocalizedMessage o) { buildCounterLocalizedMessage--; } -core.Map buildUnnamed360() => { +core.Map buildUnnamed371() => { 'x': buildLocationPolicyLocation(), 'y': buildLocationPolicyLocation(), }; -void checkUnnamed360(core.Map o) { +void checkUnnamed371(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkLocationPolicyLocation(o['x']!); checkLocationPolicyLocation(o['y']!); @@ -21006,7 +21481,7 @@ api.LocationPolicy buildLocationPolicy() { final o = api.LocationPolicy(); buildCounterLocationPolicy++; if (buildCounterLocationPolicy < 3) { - o.locations = buildUnnamed360(); + o.locations = buildUnnamed371(); o.targetShape = 'foo'; } buildCounterLocationPolicy--; @@ -21016,7 +21491,7 @@ api.LocationPolicy buildLocationPolicy() { void checkLocationPolicy(api.LocationPolicy o) { buildCounterLocationPolicy++; if (buildCounterLocationPolicy < 3) { - checkUnnamed360(o.locations!); + checkUnnamed371(o.locations!); unittest.expect( o.targetShape!, unittest.equals('foo'), @@ -21072,34 +21547,34 @@ void checkLocationPolicyLocationConstraints( buildCounterLocationPolicyLocationConstraints--; } -core.List buildUnnamed361() => [ +core.List buildUnnamed372() => [ buildSavedDisk(), buildSavedDisk(), ]; -void checkUnnamed361(core.List o) { +void checkUnnamed372(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSavedDisk(o[0]); checkSavedDisk(o[1]); } -core.List buildUnnamed362() => [ +core.List buildUnnamed373() => [ buildSourceDiskEncryptionKey(), buildSourceDiskEncryptionKey(), ]; -void checkUnnamed362(core.List o) { +void checkUnnamed373(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSourceDiskEncryptionKey(o[0]); checkSourceDiskEncryptionKey(o[1]); } -core.List buildUnnamed363() => [ +core.List buildUnnamed374() => [ 'foo', 'foo', ]; -void checkUnnamed363(core.List o) { +void checkUnnamed374(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -21126,13 +21601,13 @@ api.MachineImage buildMachineImage() { o.name = 'foo'; o.satisfiesPzi = true; o.satisfiesPzs = true; - o.savedDisks = buildUnnamed361(); + o.savedDisks = buildUnnamed372(); o.selfLink = 'foo'; - o.sourceDiskEncryptionKeys = buildUnnamed362(); + o.sourceDiskEncryptionKeys = buildUnnamed373(); o.sourceInstance = 'foo'; o.sourceInstanceProperties = buildSourceInstanceProperties(); o.status = 'foo'; - o.storageLocations = buildUnnamed363(); + o.storageLocations = buildUnnamed374(); o.totalStorageBytes = 'foo'; } buildCounterMachineImage--; @@ -21167,12 +21642,12 @@ void checkMachineImage(api.MachineImage o) { ); unittest.expect(o.satisfiesPzi!, unittest.isTrue); unittest.expect(o.satisfiesPzs!, unittest.isTrue); - checkUnnamed361(o.savedDisks!); + checkUnnamed372(o.savedDisks!); unittest.expect( o.selfLink!, unittest.equals('foo'), ); - checkUnnamed362(o.sourceDiskEncryptionKeys!); + checkUnnamed373(o.sourceDiskEncryptionKeys!); unittest.expect( o.sourceInstance!, unittest.equals('foo'), @@ -21182,7 +21657,7 @@ void checkMachineImage(api.MachineImage o) { o.status!, unittest.equals('foo'), ); - checkUnnamed363(o.storageLocations!); + checkUnnamed374(o.storageLocations!); unittest.expect( o.totalStorageBytes!, unittest.equals('foo'), @@ -21191,12 +21666,12 @@ void checkMachineImage(api.MachineImage o) { buildCounterMachineImage--; } -core.List buildUnnamed364() => [ +core.List buildUnnamed375() => [ buildMachineImage(), buildMachineImage(), ]; -void checkUnnamed364(core.List o) { +void checkUnnamed375(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMachineImage(o[0]); checkMachineImage(o[1]); @@ -21229,12 +21704,12 @@ void checkMachineImageListWarningData(api.MachineImageListWarningData o) { buildCounterMachineImageListWarningData--; } -core.List buildUnnamed365() => [ +core.List buildUnnamed376() => [ buildMachineImageListWarningData(), buildMachineImageListWarningData(), ]; -void checkUnnamed365(core.List o) { +void checkUnnamed376(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMachineImageListWarningData(o[0]); checkMachineImageListWarningData(o[1]); @@ -21246,7 +21721,7 @@ api.MachineImageListWarning buildMachineImageListWarning() { buildCounterMachineImageListWarning++; if (buildCounterMachineImageListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed365(); + o.data = buildUnnamed376(); o.message = 'foo'; } buildCounterMachineImageListWarning--; @@ -21260,7 +21735,7 @@ void checkMachineImageListWarning(api.MachineImageListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed365(o.data!); + checkUnnamed376(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -21275,7 +21750,7 @@ api.MachineImageList buildMachineImageList() { buildCounterMachineImageList++; if (buildCounterMachineImageList < 3) { o.id = 'foo'; - o.items = buildUnnamed364(); + o.items = buildUnnamed375(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -21292,7 +21767,7 @@ void checkMachineImageList(api.MachineImageList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed364(o.items!); + checkUnnamed375(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -21337,12 +21812,12 @@ void checkMachineTypeAccelerators(api.MachineTypeAccelerators o) { buildCounterMachineTypeAccelerators--; } -core.List buildUnnamed366() => [ +core.List buildUnnamed377() => [ buildMachineTypeAccelerators(), buildMachineTypeAccelerators(), ]; -void checkUnnamed366(core.List o) { +void checkUnnamed377(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMachineTypeAccelerators(o[0]); checkMachineTypeAccelerators(o[1]); @@ -21370,12 +21845,12 @@ void checkMachineTypeScratchDisks(api.MachineTypeScratchDisks o) { buildCounterMachineTypeScratchDisks--; } -core.List buildUnnamed367() => [ +core.List buildUnnamed378() => [ buildMachineTypeScratchDisks(), buildMachineTypeScratchDisks(), ]; -void checkUnnamed367(core.List o) { +void checkUnnamed378(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMachineTypeScratchDisks(o[0]); checkMachineTypeScratchDisks(o[1]); @@ -21386,7 +21861,7 @@ api.MachineType buildMachineType() { final o = api.MachineType(); buildCounterMachineType++; if (buildCounterMachineType < 3) { - o.accelerators = buildUnnamed366(); + o.accelerators = buildUnnamed377(); o.architecture = 'foo'; o.creationTimestamp = 'foo'; o.deprecated = buildDeprecationStatus(); @@ -21400,7 +21875,7 @@ api.MachineType buildMachineType() { o.maximumPersistentDisksSizeGb = 'foo'; o.memoryMb = 42; o.name = 'foo'; - o.scratchDisks = buildUnnamed367(); + o.scratchDisks = buildUnnamed378(); o.selfLink = 'foo'; o.zone = 'foo'; } @@ -21411,7 +21886,7 @@ api.MachineType buildMachineType() { void checkMachineType(api.MachineType o) { buildCounterMachineType++; if (buildCounterMachineType < 3) { - checkUnnamed366(o.accelerators!); + checkUnnamed377(o.accelerators!); unittest.expect( o.architecture!, unittest.equals('foo'), @@ -21458,7 +21933,7 @@ void checkMachineType(api.MachineType o) { o.name!, unittest.equals('foo'), ); - checkUnnamed367(o.scratchDisks!); + checkUnnamed378(o.scratchDisks!); unittest.expect( o.selfLink!, unittest.equals('foo'), @@ -21471,23 +21946,23 @@ void checkMachineType(api.MachineType o) { buildCounterMachineType--; } -core.Map buildUnnamed368() => { +core.Map buildUnnamed379() => { 'x': buildMachineTypesScopedList(), 'y': buildMachineTypesScopedList(), }; -void checkUnnamed368(core.Map o) { +void checkUnnamed379(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkMachineTypesScopedList(o['x']!); checkMachineTypesScopedList(o['y']!); } -core.List buildUnnamed369() => [ +core.List buildUnnamed380() => [ 'foo', 'foo', ]; -void checkUnnamed369(core.List o) { +void checkUnnamed380(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -21528,12 +22003,12 @@ void checkMachineTypeAggregatedListWarningData( buildCounterMachineTypeAggregatedListWarningData--; } -core.List buildUnnamed370() => [ +core.List buildUnnamed381() => [ buildMachineTypeAggregatedListWarningData(), buildMachineTypeAggregatedListWarningData(), ]; -void checkUnnamed370(core.List o) { +void checkUnnamed381(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMachineTypeAggregatedListWarningData(o[0]); checkMachineTypeAggregatedListWarningData(o[1]); @@ -21545,7 +22020,7 @@ api.MachineTypeAggregatedListWarning buildMachineTypeAggregatedListWarning() { buildCounterMachineTypeAggregatedListWarning++; if (buildCounterMachineTypeAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed370(); + o.data = buildUnnamed381(); o.message = 'foo'; } buildCounterMachineTypeAggregatedListWarning--; @@ -21560,7 +22035,7 @@ void checkMachineTypeAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed370(o.data!); + checkUnnamed381(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -21575,11 +22050,11 @@ api.MachineTypeAggregatedList buildMachineTypeAggregatedList() { buildCounterMachineTypeAggregatedList++; if (buildCounterMachineTypeAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed368(); + o.items = buildUnnamed379(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed369(); + o.unreachables = buildUnnamed380(); o.warning = buildMachineTypeAggregatedListWarning(); } buildCounterMachineTypeAggregatedList--; @@ -21593,7 +22068,7 @@ void checkMachineTypeAggregatedList(api.MachineTypeAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed368(o.items!); + checkUnnamed379(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -21606,18 +22081,18 @@ void checkMachineTypeAggregatedList(api.MachineTypeAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed369(o.unreachables!); + checkUnnamed380(o.unreachables!); checkMachineTypeAggregatedListWarning(o.warning!); } buildCounterMachineTypeAggregatedList--; } -core.List buildUnnamed371() => [ +core.List buildUnnamed382() => [ buildMachineType(), buildMachineType(), ]; -void checkUnnamed371(core.List o) { +void checkUnnamed382(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMachineType(o[0]); checkMachineType(o[1]); @@ -21650,12 +22125,12 @@ void checkMachineTypeListWarningData(api.MachineTypeListWarningData o) { buildCounterMachineTypeListWarningData--; } -core.List buildUnnamed372() => [ +core.List buildUnnamed383() => [ buildMachineTypeListWarningData(), buildMachineTypeListWarningData(), ]; -void checkUnnamed372(core.List o) { +void checkUnnamed383(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMachineTypeListWarningData(o[0]); checkMachineTypeListWarningData(o[1]); @@ -21667,7 +22142,7 @@ api.MachineTypeListWarning buildMachineTypeListWarning() { buildCounterMachineTypeListWarning++; if (buildCounterMachineTypeListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed372(); + o.data = buildUnnamed383(); o.message = 'foo'; } buildCounterMachineTypeListWarning--; @@ -21681,7 +22156,7 @@ void checkMachineTypeListWarning(api.MachineTypeListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed372(o.data!); + checkUnnamed383(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -21696,7 +22171,7 @@ api.MachineTypeList buildMachineTypeList() { buildCounterMachineTypeList++; if (buildCounterMachineTypeList < 3) { o.id = 'foo'; - o.items = buildUnnamed371(); + o.items = buildUnnamed382(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -21713,7 +22188,7 @@ void checkMachineTypeList(api.MachineTypeList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed371(o.items!); + checkUnnamed382(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -21731,12 +22206,12 @@ void checkMachineTypeList(api.MachineTypeList o) { buildCounterMachineTypeList--; } -core.List buildUnnamed373() => [ +core.List buildUnnamed384() => [ buildMachineType(), buildMachineType(), ]; -void checkUnnamed373(core.List o) { +void checkUnnamed384(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMachineType(o[0]); checkMachineType(o[1]); @@ -21770,12 +22245,12 @@ void checkMachineTypesScopedListWarningData( buildCounterMachineTypesScopedListWarningData--; } -core.List buildUnnamed374() => [ +core.List buildUnnamed385() => [ buildMachineTypesScopedListWarningData(), buildMachineTypesScopedListWarningData(), ]; -void checkUnnamed374(core.List o) { +void checkUnnamed385(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMachineTypesScopedListWarningData(o[0]); checkMachineTypesScopedListWarningData(o[1]); @@ -21787,7 +22262,7 @@ api.MachineTypesScopedListWarning buildMachineTypesScopedListWarning() { buildCounterMachineTypesScopedListWarning++; if (buildCounterMachineTypesScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed374(); + o.data = buildUnnamed385(); o.message = 'foo'; } buildCounterMachineTypesScopedListWarning--; @@ -21801,7 +22276,7 @@ void checkMachineTypesScopedListWarning(api.MachineTypesScopedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed374(o.data!); + checkUnnamed385(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -21815,7 +22290,7 @@ api.MachineTypesScopedList buildMachineTypesScopedList() { final o = api.MachineTypesScopedList(); buildCounterMachineTypesScopedList++; if (buildCounterMachineTypesScopedList < 3) { - o.machineTypes = buildUnnamed373(); + o.machineTypes = buildUnnamed384(); o.warning = buildMachineTypesScopedListWarning(); } buildCounterMachineTypesScopedList--; @@ -21825,18 +22300,18 @@ api.MachineTypesScopedList buildMachineTypesScopedList() { void checkMachineTypesScopedList(api.MachineTypesScopedList o) { buildCounterMachineTypesScopedList++; if (buildCounterMachineTypesScopedList < 3) { - checkUnnamed373(o.machineTypes!); + checkUnnamed384(o.machineTypes!); checkMachineTypesScopedListWarning(o.warning!); } buildCounterMachineTypesScopedList--; } -core.List buildUnnamed375() => [ +core.List buildUnnamed386() => [ buildManagedInstanceInstanceHealth(), buildManagedInstanceInstanceHealth(), ]; -void checkUnnamed375(core.List o) { +void checkUnnamed386(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkManagedInstanceInstanceHealth(o[0]); checkManagedInstanceInstanceHealth(o[1]); @@ -21850,7 +22325,7 @@ api.ManagedInstance buildManagedInstance() { o.currentAction = 'foo'; o.id = 'foo'; o.instance = 'foo'; - o.instanceHealth = buildUnnamed375(); + o.instanceHealth = buildUnnamed386(); o.instanceStatus = 'foo'; o.lastAttempt = buildManagedInstanceLastAttempt(); o.name = 'foo'; @@ -21879,7 +22354,7 @@ void checkManagedInstance(api.ManagedInstance o) { o.instance!, unittest.equals('foo'), ); - checkUnnamed375(o.instanceHealth!); + checkUnnamed386(o.instanceHealth!); unittest.expect( o.instanceStatus!, unittest.equals('foo'), @@ -21953,12 +22428,12 @@ void checkManagedInstanceLastAttemptErrorsErrorsErrorDetails( } core.List - buildUnnamed376() => [ + buildUnnamed387() => [ buildManagedInstanceLastAttemptErrorsErrorsErrorDetails(), buildManagedInstanceLastAttemptErrorsErrorsErrorDetails(), ]; -void checkUnnamed376( +void checkUnnamed387( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkManagedInstanceLastAttemptErrorsErrorsErrorDetails(o[0]); @@ -21972,7 +22447,7 @@ api.ManagedInstanceLastAttemptErrorsErrors buildCounterManagedInstanceLastAttemptErrorsErrors++; if (buildCounterManagedInstanceLastAttemptErrorsErrors < 3) { o.code = 'foo'; - o.errorDetails = buildUnnamed376(); + o.errorDetails = buildUnnamed387(); o.location = 'foo'; o.message = 'foo'; } @@ -21988,7 +22463,7 @@ void checkManagedInstanceLastAttemptErrorsErrors( o.code!, unittest.equals('foo'), ); - checkUnnamed376(o.errorDetails!); + checkUnnamed387(o.errorDetails!); unittest.expect( o.location!, unittest.equals('foo'), @@ -22001,12 +22476,12 @@ void checkManagedInstanceLastAttemptErrorsErrors( buildCounterManagedInstanceLastAttemptErrorsErrors--; } -core.List buildUnnamed377() => [ +core.List buildUnnamed388() => [ buildManagedInstanceLastAttemptErrorsErrors(), buildManagedInstanceLastAttemptErrorsErrors(), ]; -void checkUnnamed377(core.List o) { +void checkUnnamed388(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkManagedInstanceLastAttemptErrorsErrors(o[0]); checkManagedInstanceLastAttemptErrorsErrors(o[1]); @@ -22017,7 +22492,7 @@ api.ManagedInstanceLastAttemptErrors buildManagedInstanceLastAttemptErrors() { final o = api.ManagedInstanceLastAttemptErrors(); buildCounterManagedInstanceLastAttemptErrors++; if (buildCounterManagedInstanceLastAttemptErrors < 3) { - o.errors = buildUnnamed377(); + o.errors = buildUnnamed388(); } buildCounterManagedInstanceLastAttemptErrors--; return o; @@ -22027,7 +22502,7 @@ void checkManagedInstanceLastAttemptErrors( api.ManagedInstanceLastAttemptErrors o) { buildCounterManagedInstanceLastAttemptErrors++; if (buildCounterManagedInstanceLastAttemptErrors < 3) { - checkUnnamed377(o.errors!); + checkUnnamed388(o.errors!); } buildCounterManagedInstanceLastAttemptErrors--; } @@ -22129,12 +22604,12 @@ void checkMetadataItems(api.MetadataItems o) { buildCounterMetadataItems--; } -core.List buildUnnamed378() => [ +core.List buildUnnamed389() => [ buildMetadataItems(), buildMetadataItems(), ]; -void checkUnnamed378(core.List o) { +void checkUnnamed389(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMetadataItems(o[0]); checkMetadataItems(o[1]); @@ -22146,7 +22621,7 @@ api.Metadata buildMetadata() { buildCounterMetadata++; if (buildCounterMetadata < 3) { o.fingerprint = 'foo'; - o.items = buildUnnamed378(); + o.items = buildUnnamed389(); o.kind = 'foo'; } buildCounterMetadata--; @@ -22160,7 +22635,7 @@ void checkMetadata(api.Metadata o) { o.fingerprint!, unittest.equals('foo'), ); - checkUnnamed378(o.items!); + checkUnnamed389(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -22169,12 +22644,12 @@ void checkMetadata(api.Metadata o) { buildCounterMetadata--; } -core.List buildUnnamed379() => [ +core.List buildUnnamed390() => [ buildMetadataFilterLabelMatch(), buildMetadataFilterLabelMatch(), ]; -void checkUnnamed379(core.List o) { +void checkUnnamed390(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMetadataFilterLabelMatch(o[0]); checkMetadataFilterLabelMatch(o[1]); @@ -22185,7 +22660,7 @@ api.MetadataFilter buildMetadataFilter() { final o = api.MetadataFilter(); buildCounterMetadataFilter++; if (buildCounterMetadataFilter < 3) { - o.filterLabels = buildUnnamed379(); + o.filterLabels = buildUnnamed390(); o.filterMatchCriteria = 'foo'; } buildCounterMetadataFilter--; @@ -22195,7 +22670,7 @@ api.MetadataFilter buildMetadataFilter() { void checkMetadataFilter(api.MetadataFilter o) { buildCounterMetadataFilter++; if (buildCounterMetadataFilter < 3) { - checkUnnamed379(o.filterLabels!); + checkUnnamed390(o.filterLabels!); unittest.expect( o.filterMatchCriteria!, unittest.equals('foo'), @@ -22258,12 +22733,12 @@ void checkNamedPort(api.NamedPort o) { buildCounterNamedPort--; } -core.List buildUnnamed380() => [ +core.List buildUnnamed391() => [ buildNatIpInfoNatIpInfoMapping(), buildNatIpInfoNatIpInfoMapping(), ]; -void checkUnnamed380(core.List o) { +void checkUnnamed391(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNatIpInfoNatIpInfoMapping(o[0]); checkNatIpInfoNatIpInfoMapping(o[1]); @@ -22274,7 +22749,7 @@ api.NatIpInfo buildNatIpInfo() { final o = api.NatIpInfo(); buildCounterNatIpInfo++; if (buildCounterNatIpInfo < 3) { - o.natIpInfoMappings = buildUnnamed380(); + o.natIpInfoMappings = buildUnnamed391(); o.natName = 'foo'; } buildCounterNatIpInfo--; @@ -22284,7 +22759,7 @@ api.NatIpInfo buildNatIpInfo() { void checkNatIpInfo(api.NatIpInfo o) { buildCounterNatIpInfo++; if (buildCounterNatIpInfo < 3) { - checkUnnamed380(o.natIpInfoMappings!); + checkUnnamed391(o.natIpInfoMappings!); unittest.expect( o.natName!, unittest.equals('foo'), @@ -22325,12 +22800,12 @@ void checkNatIpInfoNatIpInfoMapping(api.NatIpInfoNatIpInfoMapping o) { buildCounterNatIpInfoNatIpInfoMapping--; } -core.List buildUnnamed381() => [ +core.List buildUnnamed392() => [ buildNatIpInfo(), buildNatIpInfo(), ]; -void checkUnnamed381(core.List o) { +void checkUnnamed392(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNatIpInfo(o[0]); checkNatIpInfo(o[1]); @@ -22341,7 +22816,7 @@ api.NatIpInfoResponse buildNatIpInfoResponse() { final o = api.NatIpInfoResponse(); buildCounterNatIpInfoResponse++; if (buildCounterNatIpInfoResponse < 3) { - o.result = buildUnnamed381(); + o.result = buildUnnamed392(); } buildCounterNatIpInfoResponse--; return o; @@ -22350,28 +22825,28 @@ api.NatIpInfoResponse buildNatIpInfoResponse() { void checkNatIpInfoResponse(api.NatIpInfoResponse o) { buildCounterNatIpInfoResponse++; if (buildCounterNatIpInfoResponse < 3) { - checkUnnamed381(o.result!); + checkUnnamed392(o.result!); } buildCounterNatIpInfoResponse--; } -core.List buildUnnamed382() => [ +core.List buildUnnamed393() => [ buildNetworkPeering(), buildNetworkPeering(), ]; -void checkUnnamed382(core.List o) { +void checkUnnamed393(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkPeering(o[0]); checkNetworkPeering(o[1]); } -core.List buildUnnamed383() => [ +core.List buildUnnamed394() => [ 'foo', 'foo', ]; -void checkUnnamed383(core.List o) { +void checkUnnamed394(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -22402,11 +22877,11 @@ api.Network buildNetwork() { o.name = 'foo'; o.networkFirewallPolicyEnforcementOrder = 'foo'; o.networkProfile = 'foo'; - o.peerings = buildUnnamed382(); + o.peerings = buildUnnamed393(); o.routingConfig = buildNetworkRoutingConfig(); o.selfLink = 'foo'; o.selfLinkWithId = 'foo'; - o.subnetworks = buildUnnamed383(); + o.subnetworks = buildUnnamed394(); } buildCounterNetwork--; return o; @@ -22465,7 +22940,7 @@ void checkNetwork(api.Network o) { o.networkProfile!, unittest.equals('foo'), ); - checkUnnamed382(o.peerings!); + checkUnnamed393(o.peerings!); checkNetworkRoutingConfig(o.routingConfig!); unittest.expect( o.selfLink!, @@ -22475,28 +22950,28 @@ void checkNetwork(api.Network o) { o.selfLinkWithId!, unittest.equals('foo'), ); - checkUnnamed383(o.subnetworks!); + checkUnnamed394(o.subnetworks!); } buildCounterNetwork--; } -core.List buildUnnamed384() => [ +core.List buildUnnamed395() => [ buildNetworkAttachmentConnectedEndpoint(), buildNetworkAttachmentConnectedEndpoint(), ]; -void checkUnnamed384(core.List o) { +void checkUnnamed395(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkAttachmentConnectedEndpoint(o[0]); checkNetworkAttachmentConnectedEndpoint(o[1]); } -core.List buildUnnamed385() => [ +core.List buildUnnamed396() => [ 'foo', 'foo', ]; -void checkUnnamed385(core.List o) { +void checkUnnamed396(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -22508,12 +22983,12 @@ void checkUnnamed385(core.List o) { ); } -core.List buildUnnamed386() => [ +core.List buildUnnamed397() => [ 'foo', 'foo', ]; -void checkUnnamed386(core.List o) { +void checkUnnamed397(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -22525,12 +23000,12 @@ void checkUnnamed386(core.List o) { ); } -core.List buildUnnamed387() => [ +core.List buildUnnamed398() => [ 'foo', 'foo', ]; -void checkUnnamed387(core.List o) { +void checkUnnamed398(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -22547,7 +23022,7 @@ api.NetworkAttachment buildNetworkAttachment() { final o = api.NetworkAttachment(); buildCounterNetworkAttachment++; if (buildCounterNetworkAttachment < 3) { - o.connectionEndpoints = buildUnnamed384(); + o.connectionEndpoints = buildUnnamed395(); o.connectionPreference = 'foo'; o.creationTimestamp = 'foo'; o.description = 'foo'; @@ -22556,12 +23031,12 @@ api.NetworkAttachment buildNetworkAttachment() { o.kind = 'foo'; o.name = 'foo'; o.network = 'foo'; - o.producerAcceptLists = buildUnnamed385(); - o.producerRejectLists = buildUnnamed386(); + o.producerAcceptLists = buildUnnamed396(); + o.producerRejectLists = buildUnnamed397(); o.region = 'foo'; o.selfLink = 'foo'; o.selfLinkWithId = 'foo'; - o.subnetworks = buildUnnamed387(); + o.subnetworks = buildUnnamed398(); } buildCounterNetworkAttachment--; return o; @@ -22570,7 +23045,7 @@ api.NetworkAttachment buildNetworkAttachment() { void checkNetworkAttachment(api.NetworkAttachment o) { buildCounterNetworkAttachment++; if (buildCounterNetworkAttachment < 3) { - checkUnnamed384(o.connectionEndpoints!); + checkUnnamed395(o.connectionEndpoints!); unittest.expect( o.connectionPreference!, unittest.equals('foo'), @@ -22603,8 +23078,8 @@ void checkNetworkAttachment(api.NetworkAttachment o) { o.network!, unittest.equals('foo'), ); - checkUnnamed385(o.producerAcceptLists!); - checkUnnamed386(o.producerRejectLists!); + checkUnnamed396(o.producerAcceptLists!); + checkUnnamed397(o.producerRejectLists!); unittest.expect( o.region!, unittest.equals('foo'), @@ -22617,17 +23092,17 @@ void checkNetworkAttachment(api.NetworkAttachment o) { o.selfLinkWithId!, unittest.equals('foo'), ); - checkUnnamed387(o.subnetworks!); + checkUnnamed398(o.subnetworks!); } buildCounterNetworkAttachment--; } -core.Map buildUnnamed388() => { +core.Map buildUnnamed399() => { 'x': buildNetworkAttachmentsScopedList(), 'y': buildNetworkAttachmentsScopedList(), }; -void checkUnnamed388( +void checkUnnamed399( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkAttachmentsScopedList(o['x']!); @@ -22663,12 +23138,12 @@ void checkNetworkAttachmentAggregatedListWarningData( buildCounterNetworkAttachmentAggregatedListWarningData--; } -core.List buildUnnamed389() => [ +core.List buildUnnamed400() => [ buildNetworkAttachmentAggregatedListWarningData(), buildNetworkAttachmentAggregatedListWarningData(), ]; -void checkUnnamed389( +void checkUnnamed400( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkAttachmentAggregatedListWarningData(o[0]); @@ -22682,7 +23157,7 @@ api.NetworkAttachmentAggregatedListWarning buildCounterNetworkAttachmentAggregatedListWarning++; if (buildCounterNetworkAttachmentAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed389(); + o.data = buildUnnamed400(); o.message = 'foo'; } buildCounterNetworkAttachmentAggregatedListWarning--; @@ -22697,7 +23172,7 @@ void checkNetworkAttachmentAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed389(o.data!); + checkUnnamed400(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -22712,7 +23187,7 @@ api.NetworkAttachmentAggregatedList buildNetworkAttachmentAggregatedList() { buildCounterNetworkAttachmentAggregatedList++; if (buildCounterNetworkAttachmentAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed388(); + o.items = buildUnnamed399(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -22730,7 +23205,7 @@ void checkNetworkAttachmentAggregatedList( o.id!, unittest.equals('foo'), ); - checkUnnamed388(o.items!); + checkUnnamed399(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -22748,12 +23223,12 @@ void checkNetworkAttachmentAggregatedList( buildCounterNetworkAttachmentAggregatedList--; } -core.List buildUnnamed390() => [ +core.List buildUnnamed401() => [ 'foo', 'foo', ]; -void checkUnnamed390(core.List o) { +void checkUnnamed401(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -22774,7 +23249,7 @@ api.NetworkAttachmentConnectedEndpoint o.ipAddress = 'foo'; o.ipv6Address = 'foo'; o.projectIdOrNum = 'foo'; - o.secondaryIpCidrRanges = buildUnnamed390(); + o.secondaryIpCidrRanges = buildUnnamed401(); o.status = 'foo'; o.subnetwork = 'foo'; o.subnetworkCidrRange = 'foo'; @@ -22799,7 +23274,7 @@ void checkNetworkAttachmentConnectedEndpoint( o.projectIdOrNum!, unittest.equals('foo'), ); - checkUnnamed390(o.secondaryIpCidrRanges!); + checkUnnamed401(o.secondaryIpCidrRanges!); unittest.expect( o.status!, unittest.equals('foo'), @@ -22816,12 +23291,12 @@ void checkNetworkAttachmentConnectedEndpoint( buildCounterNetworkAttachmentConnectedEndpoint--; } -core.List buildUnnamed391() => [ +core.List buildUnnamed402() => [ buildNetworkAttachment(), buildNetworkAttachment(), ]; -void checkUnnamed391(core.List o) { +void checkUnnamed402(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkAttachment(o[0]); checkNetworkAttachment(o[1]); @@ -22855,12 +23330,12 @@ void checkNetworkAttachmentListWarningData( buildCounterNetworkAttachmentListWarningData--; } -core.List buildUnnamed392() => [ +core.List buildUnnamed403() => [ buildNetworkAttachmentListWarningData(), buildNetworkAttachmentListWarningData(), ]; -void checkUnnamed392(core.List o) { +void checkUnnamed403(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkAttachmentListWarningData(o[0]); checkNetworkAttachmentListWarningData(o[1]); @@ -22872,7 +23347,7 @@ api.NetworkAttachmentListWarning buildNetworkAttachmentListWarning() { buildCounterNetworkAttachmentListWarning++; if (buildCounterNetworkAttachmentListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed392(); + o.data = buildUnnamed403(); o.message = 'foo'; } buildCounterNetworkAttachmentListWarning--; @@ -22886,7 +23361,7 @@ void checkNetworkAttachmentListWarning(api.NetworkAttachmentListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed392(o.data!); + checkUnnamed403(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -22901,7 +23376,7 @@ api.NetworkAttachmentList buildNetworkAttachmentList() { buildCounterNetworkAttachmentList++; if (buildCounterNetworkAttachmentList < 3) { o.id = 'foo'; - o.items = buildUnnamed391(); + o.items = buildUnnamed402(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -22918,7 +23393,7 @@ void checkNetworkAttachmentList(api.NetworkAttachmentList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed391(o.items!); + checkUnnamed402(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -22936,12 +23411,12 @@ void checkNetworkAttachmentList(api.NetworkAttachmentList o) { buildCounterNetworkAttachmentList--; } -core.List buildUnnamed393() => [ +core.List buildUnnamed404() => [ buildNetworkAttachment(), buildNetworkAttachment(), ]; -void checkUnnamed393(core.List o) { +void checkUnnamed404(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkAttachment(o[0]); checkNetworkAttachment(o[1]); @@ -22976,12 +23451,12 @@ void checkNetworkAttachmentsScopedListWarningData( buildCounterNetworkAttachmentsScopedListWarningData--; } -core.List buildUnnamed394() => [ +core.List buildUnnamed405() => [ buildNetworkAttachmentsScopedListWarningData(), buildNetworkAttachmentsScopedListWarningData(), ]; -void checkUnnamed394(core.List o) { +void checkUnnamed405(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkAttachmentsScopedListWarningData(o[0]); checkNetworkAttachmentsScopedListWarningData(o[1]); @@ -22994,7 +23469,7 @@ api.NetworkAttachmentsScopedListWarning buildCounterNetworkAttachmentsScopedListWarning++; if (buildCounterNetworkAttachmentsScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed394(); + o.data = buildUnnamed405(); o.message = 'foo'; } buildCounterNetworkAttachmentsScopedListWarning--; @@ -23009,7 +23484,7 @@ void checkNetworkAttachmentsScopedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed394(o.data!); + checkUnnamed405(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -23023,7 +23498,7 @@ api.NetworkAttachmentsScopedList buildNetworkAttachmentsScopedList() { final o = api.NetworkAttachmentsScopedList(); buildCounterNetworkAttachmentsScopedList++; if (buildCounterNetworkAttachmentsScopedList < 3) { - o.networkAttachments = buildUnnamed393(); + o.networkAttachments = buildUnnamed404(); o.warning = buildNetworkAttachmentsScopedListWarning(); } buildCounterNetworkAttachmentsScopedList--; @@ -23033,7 +23508,7 @@ api.NetworkAttachmentsScopedList buildNetworkAttachmentsScopedList() { void checkNetworkAttachmentsScopedList(api.NetworkAttachmentsScopedList o) { buildCounterNetworkAttachmentsScopedList++; if (buildCounterNetworkAttachmentsScopedList < 3) { - checkUnnamed393(o.networkAttachments!); + checkUnnamed404(o.networkAttachments!); checkNetworkAttachmentsScopedListWarning(o.warning!); } buildCounterNetworkAttachmentsScopedList--; @@ -23107,24 +23582,24 @@ void checkNetworkEdgeSecurityService(api.NetworkEdgeSecurityService o) { } core.Map - buildUnnamed395() => { + buildUnnamed406() => { 'x': buildNetworkEdgeSecurityServicesScopedList(), 'y': buildNetworkEdgeSecurityServicesScopedList(), }; -void checkUnnamed395( +void checkUnnamed406( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkEdgeSecurityServicesScopedList(o['x']!); checkNetworkEdgeSecurityServicesScopedList(o['y']!); } -core.List buildUnnamed396() => [ +core.List buildUnnamed407() => [ 'foo', 'foo', ]; -void checkUnnamed396(core.List o) { +void checkUnnamed407(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -23166,12 +23641,12 @@ void checkNetworkEdgeSecurityServiceAggregatedListWarningData( } core.List - buildUnnamed397() => [ + buildUnnamed408() => [ buildNetworkEdgeSecurityServiceAggregatedListWarningData(), buildNetworkEdgeSecurityServiceAggregatedListWarningData(), ]; -void checkUnnamed397( +void checkUnnamed408( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkEdgeSecurityServiceAggregatedListWarningData(o[0]); @@ -23185,7 +23660,7 @@ api.NetworkEdgeSecurityServiceAggregatedListWarning buildCounterNetworkEdgeSecurityServiceAggregatedListWarning++; if (buildCounterNetworkEdgeSecurityServiceAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed397(); + o.data = buildUnnamed408(); o.message = 'foo'; } buildCounterNetworkEdgeSecurityServiceAggregatedListWarning--; @@ -23200,7 +23675,7 @@ void checkNetworkEdgeSecurityServiceAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed397(o.data!); + checkUnnamed408(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -23217,11 +23692,11 @@ api.NetworkEdgeSecurityServiceAggregatedList if (buildCounterNetworkEdgeSecurityServiceAggregatedList < 3) { o.etag = 'foo'; o.id = 'foo'; - o.items = buildUnnamed395(); + o.items = buildUnnamed406(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed396(); + o.unreachables = buildUnnamed407(); o.warning = buildNetworkEdgeSecurityServiceAggregatedListWarning(); } buildCounterNetworkEdgeSecurityServiceAggregatedList--; @@ -23240,7 +23715,7 @@ void checkNetworkEdgeSecurityServiceAggregatedList( o.id!, unittest.equals('foo'), ); - checkUnnamed395(o.items!); + checkUnnamed406(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -23253,18 +23728,18 @@ void checkNetworkEdgeSecurityServiceAggregatedList( o.selfLink!, unittest.equals('foo'), ); - checkUnnamed396(o.unreachables!); + checkUnnamed407(o.unreachables!); checkNetworkEdgeSecurityServiceAggregatedListWarning(o.warning!); } buildCounterNetworkEdgeSecurityServiceAggregatedList--; } -core.List buildUnnamed398() => [ +core.List buildUnnamed409() => [ buildNetworkEdgeSecurityService(), buildNetworkEdgeSecurityService(), ]; -void checkUnnamed398(core.List o) { +void checkUnnamed409(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkEdgeSecurityService(o[0]); checkNetworkEdgeSecurityService(o[1]); @@ -23300,12 +23775,12 @@ void checkNetworkEdgeSecurityServicesScopedListWarningData( } core.List - buildUnnamed399() => [ + buildUnnamed410() => [ buildNetworkEdgeSecurityServicesScopedListWarningData(), buildNetworkEdgeSecurityServicesScopedListWarningData(), ]; -void checkUnnamed399( +void checkUnnamed410( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkEdgeSecurityServicesScopedListWarningData(o[0]); @@ -23319,7 +23794,7 @@ api.NetworkEdgeSecurityServicesScopedListWarning buildCounterNetworkEdgeSecurityServicesScopedListWarning++; if (buildCounterNetworkEdgeSecurityServicesScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed399(); + o.data = buildUnnamed410(); o.message = 'foo'; } buildCounterNetworkEdgeSecurityServicesScopedListWarning--; @@ -23334,7 +23809,7 @@ void checkNetworkEdgeSecurityServicesScopedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed399(o.data!); + checkUnnamed410(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -23349,7 +23824,7 @@ api.NetworkEdgeSecurityServicesScopedList final o = api.NetworkEdgeSecurityServicesScopedList(); buildCounterNetworkEdgeSecurityServicesScopedList++; if (buildCounterNetworkEdgeSecurityServicesScopedList < 3) { - o.networkEdgeSecurityServices = buildUnnamed398(); + o.networkEdgeSecurityServices = buildUnnamed409(); o.warning = buildNetworkEdgeSecurityServicesScopedListWarning(); } buildCounterNetworkEdgeSecurityServicesScopedList--; @@ -23360,18 +23835,18 @@ void checkNetworkEdgeSecurityServicesScopedList( api.NetworkEdgeSecurityServicesScopedList o) { buildCounterNetworkEdgeSecurityServicesScopedList++; if (buildCounterNetworkEdgeSecurityServicesScopedList < 3) { - checkUnnamed398(o.networkEdgeSecurityServices!); + checkUnnamed409(o.networkEdgeSecurityServices!); checkNetworkEdgeSecurityServicesScopedListWarning(o.warning!); } buildCounterNetworkEdgeSecurityServicesScopedList--; } -core.Map buildUnnamed400() => { +core.Map buildUnnamed411() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed400(core.Map o) { +void checkUnnamed411(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -23388,7 +23863,7 @@ api.NetworkEndpoint buildNetworkEndpoint() { final o = api.NetworkEndpoint(); buildCounterNetworkEndpoint++; if (buildCounterNetworkEndpoint < 3) { - o.annotations = buildUnnamed400(); + o.annotations = buildUnnamed411(); o.clientDestinationPort = 42; o.fqdn = 'foo'; o.instance = 'foo'; @@ -23403,7 +23878,7 @@ api.NetworkEndpoint buildNetworkEndpoint() { void checkNetworkEndpoint(api.NetworkEndpoint o) { buildCounterNetworkEndpoint++; if (buildCounterNetworkEndpoint < 3) { - checkUnnamed400(o.annotations!); + checkUnnamed411(o.annotations!); unittest.expect( o.clientDestinationPort!, unittest.equals(42), @@ -23432,12 +23907,12 @@ void checkNetworkEndpoint(api.NetworkEndpoint o) { buildCounterNetworkEndpoint--; } -core.Map buildUnnamed401() => { +core.Map buildUnnamed412() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed401(core.Map o) { +void checkUnnamed412(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -23454,7 +23929,7 @@ api.NetworkEndpointGroup buildNetworkEndpointGroup() { final o = api.NetworkEndpointGroup(); buildCounterNetworkEndpointGroup++; if (buildCounterNetworkEndpointGroup < 3) { - o.annotations = buildUnnamed401(); + o.annotations = buildUnnamed412(); o.appEngine = buildNetworkEndpointGroupAppEngine(); o.cloudFunction = buildNetworkEndpointGroupCloudFunction(); o.cloudRun = buildNetworkEndpointGroupCloudRun(); @@ -23481,7 +23956,7 @@ api.NetworkEndpointGroup buildNetworkEndpointGroup() { void checkNetworkEndpointGroup(api.NetworkEndpointGroup o) { buildCounterNetworkEndpointGroup++; if (buildCounterNetworkEndpointGroup < 3) { - checkUnnamed401(o.annotations!); + checkUnnamed412(o.annotations!); checkNetworkEndpointGroupAppEngine(o.appEngine!); checkNetworkEndpointGroupCloudFunction(o.cloudFunction!); checkNetworkEndpointGroupCloudRun(o.cloudRun!); @@ -23546,25 +24021,25 @@ void checkNetworkEndpointGroup(api.NetworkEndpointGroup o) { buildCounterNetworkEndpointGroup--; } -core.Map buildUnnamed402() => +core.Map buildUnnamed413() => { 'x': buildNetworkEndpointGroupsScopedList(), 'y': buildNetworkEndpointGroupsScopedList(), }; -void checkUnnamed402( +void checkUnnamed413( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkEndpointGroupsScopedList(o['x']!); checkNetworkEndpointGroupsScopedList(o['y']!); } -core.List buildUnnamed403() => [ +core.List buildUnnamed414() => [ 'foo', 'foo', ]; -void checkUnnamed403(core.List o) { +void checkUnnamed414(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -23606,12 +24081,12 @@ void checkNetworkEndpointGroupAggregatedListWarningData( } core.List - buildUnnamed404() => [ + buildUnnamed415() => [ buildNetworkEndpointGroupAggregatedListWarningData(), buildNetworkEndpointGroupAggregatedListWarningData(), ]; -void checkUnnamed404( +void checkUnnamed415( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkEndpointGroupAggregatedListWarningData(o[0]); @@ -23625,7 +24100,7 @@ api.NetworkEndpointGroupAggregatedListWarning buildCounterNetworkEndpointGroupAggregatedListWarning++; if (buildCounterNetworkEndpointGroupAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed404(); + o.data = buildUnnamed415(); o.message = 'foo'; } buildCounterNetworkEndpointGroupAggregatedListWarning--; @@ -23640,7 +24115,7 @@ void checkNetworkEndpointGroupAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed404(o.data!); + checkUnnamed415(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -23656,11 +24131,11 @@ api.NetworkEndpointGroupAggregatedList buildCounterNetworkEndpointGroupAggregatedList++; if (buildCounterNetworkEndpointGroupAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed402(); + o.items = buildUnnamed413(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed403(); + o.unreachables = buildUnnamed414(); o.warning = buildNetworkEndpointGroupAggregatedListWarning(); } buildCounterNetworkEndpointGroupAggregatedList--; @@ -23675,7 +24150,7 @@ void checkNetworkEndpointGroupAggregatedList( o.id!, unittest.equals('foo'), ); - checkUnnamed402(o.items!); + checkUnnamed413(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -23688,7 +24163,7 @@ void checkNetworkEndpointGroupAggregatedList( o.selfLink!, unittest.equals('foo'), ); - checkUnnamed403(o.unreachables!); + checkUnnamed414(o.unreachables!); checkNetworkEndpointGroupAggregatedListWarning(o.warning!); } buildCounterNetworkEndpointGroupAggregatedList--; @@ -23786,12 +24261,12 @@ void checkNetworkEndpointGroupCloudRun(api.NetworkEndpointGroupCloudRun o) { buildCounterNetworkEndpointGroupCloudRun--; } -core.List buildUnnamed405() => [ +core.List buildUnnamed416() => [ buildNetworkEndpointGroup(), buildNetworkEndpointGroup(), ]; -void checkUnnamed405(core.List o) { +void checkUnnamed416(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkEndpointGroup(o[0]); checkNetworkEndpointGroup(o[1]); @@ -23826,12 +24301,12 @@ void checkNetworkEndpointGroupListWarningData( buildCounterNetworkEndpointGroupListWarningData--; } -core.List buildUnnamed406() => [ +core.List buildUnnamed417() => [ buildNetworkEndpointGroupListWarningData(), buildNetworkEndpointGroupListWarningData(), ]; -void checkUnnamed406(core.List o) { +void checkUnnamed417(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkEndpointGroupListWarningData(o[0]); checkNetworkEndpointGroupListWarningData(o[1]); @@ -23843,7 +24318,7 @@ api.NetworkEndpointGroupListWarning buildNetworkEndpointGroupListWarning() { buildCounterNetworkEndpointGroupListWarning++; if (buildCounterNetworkEndpointGroupListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed406(); + o.data = buildUnnamed417(); o.message = 'foo'; } buildCounterNetworkEndpointGroupListWarning--; @@ -23858,7 +24333,7 @@ void checkNetworkEndpointGroupListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed406(o.data!); + checkUnnamed417(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -23873,7 +24348,7 @@ api.NetworkEndpointGroupList buildNetworkEndpointGroupList() { buildCounterNetworkEndpointGroupList++; if (buildCounterNetworkEndpointGroupList < 3) { o.id = 'foo'; - o.items = buildUnnamed405(); + o.items = buildUnnamed416(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -23890,7 +24365,7 @@ void checkNetworkEndpointGroupList(api.NetworkEndpointGroupList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed405(o.items!); + checkUnnamed416(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -23945,12 +24420,12 @@ void checkNetworkEndpointGroupPscData(api.NetworkEndpointGroupPscData o) { buildCounterNetworkEndpointGroupPscData--; } -core.List buildUnnamed407() => [ +core.List buildUnnamed418() => [ buildNetworkEndpoint(), buildNetworkEndpoint(), ]; -void checkUnnamed407(core.List o) { +void checkUnnamed418(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkEndpoint(o[0]); checkNetworkEndpoint(o[1]); @@ -23962,7 +24437,7 @@ api.NetworkEndpointGroupsAttachEndpointsRequest final o = api.NetworkEndpointGroupsAttachEndpointsRequest(); buildCounterNetworkEndpointGroupsAttachEndpointsRequest++; if (buildCounterNetworkEndpointGroupsAttachEndpointsRequest < 3) { - o.networkEndpoints = buildUnnamed407(); + o.networkEndpoints = buildUnnamed418(); } buildCounterNetworkEndpointGroupsAttachEndpointsRequest--; return o; @@ -23972,17 +24447,17 @@ void checkNetworkEndpointGroupsAttachEndpointsRequest( api.NetworkEndpointGroupsAttachEndpointsRequest o) { buildCounterNetworkEndpointGroupsAttachEndpointsRequest++; if (buildCounterNetworkEndpointGroupsAttachEndpointsRequest < 3) { - checkUnnamed407(o.networkEndpoints!); + checkUnnamed418(o.networkEndpoints!); } buildCounterNetworkEndpointGroupsAttachEndpointsRequest--; } -core.List buildUnnamed408() => [ +core.List buildUnnamed419() => [ buildNetworkEndpoint(), buildNetworkEndpoint(), ]; -void checkUnnamed408(core.List o) { +void checkUnnamed419(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkEndpoint(o[0]); checkNetworkEndpoint(o[1]); @@ -23994,7 +24469,7 @@ api.NetworkEndpointGroupsDetachEndpointsRequest final o = api.NetworkEndpointGroupsDetachEndpointsRequest(); buildCounterNetworkEndpointGroupsDetachEndpointsRequest++; if (buildCounterNetworkEndpointGroupsDetachEndpointsRequest < 3) { - o.networkEndpoints = buildUnnamed408(); + o.networkEndpoints = buildUnnamed419(); } buildCounterNetworkEndpointGroupsDetachEndpointsRequest--; return o; @@ -24004,7 +24479,7 @@ void checkNetworkEndpointGroupsDetachEndpointsRequest( api.NetworkEndpointGroupsDetachEndpointsRequest o) { buildCounterNetworkEndpointGroupsDetachEndpointsRequest++; if (buildCounterNetworkEndpointGroupsDetachEndpointsRequest < 3) { - checkUnnamed408(o.networkEndpoints!); + checkUnnamed419(o.networkEndpoints!); } buildCounterNetworkEndpointGroupsDetachEndpointsRequest--; } @@ -24033,12 +24508,12 @@ void checkNetworkEndpointGroupsListEndpointsRequest( buildCounterNetworkEndpointGroupsListEndpointsRequest--; } -core.List buildUnnamed409() => [ +core.List buildUnnamed420() => [ buildNetworkEndpointWithHealthStatus(), buildNetworkEndpointWithHealthStatus(), ]; -void checkUnnamed409(core.List o) { +void checkUnnamed420(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkEndpointWithHealthStatus(o[0]); checkNetworkEndpointWithHealthStatus(o[1]); @@ -24074,12 +24549,12 @@ void checkNetworkEndpointGroupsListNetworkEndpointsWarningData( } core.List - buildUnnamed410() => [ + buildUnnamed421() => [ buildNetworkEndpointGroupsListNetworkEndpointsWarningData(), buildNetworkEndpointGroupsListNetworkEndpointsWarningData(), ]; -void checkUnnamed410( +void checkUnnamed421( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkEndpointGroupsListNetworkEndpointsWarningData(o[0]); @@ -24093,7 +24568,7 @@ api.NetworkEndpointGroupsListNetworkEndpointsWarning buildCounterNetworkEndpointGroupsListNetworkEndpointsWarning++; if (buildCounterNetworkEndpointGroupsListNetworkEndpointsWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed410(); + o.data = buildUnnamed421(); o.message = 'foo'; } buildCounterNetworkEndpointGroupsListNetworkEndpointsWarning--; @@ -24108,7 +24583,7 @@ void checkNetworkEndpointGroupsListNetworkEndpointsWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed410(o.data!); + checkUnnamed421(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -24124,7 +24599,7 @@ api.NetworkEndpointGroupsListNetworkEndpoints buildCounterNetworkEndpointGroupsListNetworkEndpoints++; if (buildCounterNetworkEndpointGroupsListNetworkEndpoints < 3) { o.id = 'foo'; - o.items = buildUnnamed409(); + o.items = buildUnnamed420(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.warning = buildNetworkEndpointGroupsListNetworkEndpointsWarning(); @@ -24141,7 +24616,7 @@ void checkNetworkEndpointGroupsListNetworkEndpoints( o.id!, unittest.equals('foo'), ); - checkUnnamed409(o.items!); + checkUnnamed420(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -24155,12 +24630,12 @@ void checkNetworkEndpointGroupsListNetworkEndpoints( buildCounterNetworkEndpointGroupsListNetworkEndpoints--; } -core.List buildUnnamed411() => [ +core.List buildUnnamed422() => [ buildNetworkEndpointGroup(), buildNetworkEndpointGroup(), ]; -void checkUnnamed411(core.List o) { +void checkUnnamed422(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkEndpointGroup(o[0]); checkNetworkEndpointGroup(o[1]); @@ -24195,12 +24670,12 @@ void checkNetworkEndpointGroupsScopedListWarningData( buildCounterNetworkEndpointGroupsScopedListWarningData--; } -core.List buildUnnamed412() => [ +core.List buildUnnamed423() => [ buildNetworkEndpointGroupsScopedListWarningData(), buildNetworkEndpointGroupsScopedListWarningData(), ]; -void checkUnnamed412( +void checkUnnamed423( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkEndpointGroupsScopedListWarningData(o[0]); @@ -24214,7 +24689,7 @@ api.NetworkEndpointGroupsScopedListWarning buildCounterNetworkEndpointGroupsScopedListWarning++; if (buildCounterNetworkEndpointGroupsScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed412(); + o.data = buildUnnamed423(); o.message = 'foo'; } buildCounterNetworkEndpointGroupsScopedListWarning--; @@ -24229,7 +24704,7 @@ void checkNetworkEndpointGroupsScopedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed412(o.data!); + checkUnnamed423(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -24243,7 +24718,7 @@ api.NetworkEndpointGroupsScopedList buildNetworkEndpointGroupsScopedList() { final o = api.NetworkEndpointGroupsScopedList(); buildCounterNetworkEndpointGroupsScopedList++; if (buildCounterNetworkEndpointGroupsScopedList < 3) { - o.networkEndpointGroups = buildUnnamed411(); + o.networkEndpointGroups = buildUnnamed422(); o.warning = buildNetworkEndpointGroupsScopedListWarning(); } buildCounterNetworkEndpointGroupsScopedList--; @@ -24254,18 +24729,18 @@ void checkNetworkEndpointGroupsScopedList( api.NetworkEndpointGroupsScopedList o) { buildCounterNetworkEndpointGroupsScopedList++; if (buildCounterNetworkEndpointGroupsScopedList < 3) { - checkUnnamed411(o.networkEndpointGroups!); + checkUnnamed422(o.networkEndpointGroups!); checkNetworkEndpointGroupsScopedListWarning(o.warning!); } buildCounterNetworkEndpointGroupsScopedList--; } -core.List buildUnnamed413() => [ +core.List buildUnnamed424() => [ buildHealthStatusForNetworkEndpoint(), buildHealthStatusForNetworkEndpoint(), ]; -void checkUnnamed413(core.List o) { +void checkUnnamed424(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHealthStatusForNetworkEndpoint(o[0]); checkHealthStatusForNetworkEndpoint(o[1]); @@ -24276,7 +24751,7 @@ api.NetworkEndpointWithHealthStatus buildNetworkEndpointWithHealthStatus() { final o = api.NetworkEndpointWithHealthStatus(); buildCounterNetworkEndpointWithHealthStatus++; if (buildCounterNetworkEndpointWithHealthStatus < 3) { - o.healths = buildUnnamed413(); + o.healths = buildUnnamed424(); o.networkEndpoint = buildNetworkEndpoint(); } buildCounterNetworkEndpointWithHealthStatus--; @@ -24287,40 +24762,186 @@ void checkNetworkEndpointWithHealthStatus( api.NetworkEndpointWithHealthStatus o) { buildCounterNetworkEndpointWithHealthStatus++; if (buildCounterNetworkEndpointWithHealthStatus < 3) { - checkUnnamed413(o.healths!); + checkUnnamed424(o.healths!); checkNetworkEndpoint(o.networkEndpoint!); } buildCounterNetworkEndpointWithHealthStatus--; } -core.List buildUnnamed414() => [ +core.Map buildUnnamed425() => { + 'x': buildFirewallPoliciesScopedList(), + 'y': buildFirewallPoliciesScopedList(), + }; + +void checkUnnamed425(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + checkFirewallPoliciesScopedList(o['x']!); + checkFirewallPoliciesScopedList(o['y']!); +} + +core.List buildUnnamed426() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed426(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterNetworkFirewallPolicyAggregatedListWarningData = 0; +api.NetworkFirewallPolicyAggregatedListWarningData + buildNetworkFirewallPolicyAggregatedListWarningData() { + final o = api.NetworkFirewallPolicyAggregatedListWarningData(); + buildCounterNetworkFirewallPolicyAggregatedListWarningData++; + if (buildCounterNetworkFirewallPolicyAggregatedListWarningData < 3) { + o.key = 'foo'; + o.value = 'foo'; + } + buildCounterNetworkFirewallPolicyAggregatedListWarningData--; + return o; +} + +void checkNetworkFirewallPolicyAggregatedListWarningData( + api.NetworkFirewallPolicyAggregatedListWarningData o) { + buildCounterNetworkFirewallPolicyAggregatedListWarningData++; + if (buildCounterNetworkFirewallPolicyAggregatedListWarningData < 3) { + unittest.expect( + o.key!, + unittest.equals('foo'), + ); + unittest.expect( + o.value!, + unittest.equals('foo'), + ); + } + buildCounterNetworkFirewallPolicyAggregatedListWarningData--; +} + +core.List + buildUnnamed427() => [ + buildNetworkFirewallPolicyAggregatedListWarningData(), + buildNetworkFirewallPolicyAggregatedListWarningData(), + ]; + +void checkUnnamed427( + core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkNetworkFirewallPolicyAggregatedListWarningData(o[0]); + checkNetworkFirewallPolicyAggregatedListWarningData(o[1]); +} + +core.int buildCounterNetworkFirewallPolicyAggregatedListWarning = 0; +api.NetworkFirewallPolicyAggregatedListWarning + buildNetworkFirewallPolicyAggregatedListWarning() { + final o = api.NetworkFirewallPolicyAggregatedListWarning(); + buildCounterNetworkFirewallPolicyAggregatedListWarning++; + if (buildCounterNetworkFirewallPolicyAggregatedListWarning < 3) { + o.code = 'foo'; + o.data = buildUnnamed427(); + o.message = 'foo'; + } + buildCounterNetworkFirewallPolicyAggregatedListWarning--; + return o; +} + +void checkNetworkFirewallPolicyAggregatedListWarning( + api.NetworkFirewallPolicyAggregatedListWarning o) { + buildCounterNetworkFirewallPolicyAggregatedListWarning++; + if (buildCounterNetworkFirewallPolicyAggregatedListWarning < 3) { + unittest.expect( + o.code!, + unittest.equals('foo'), + ); + checkUnnamed427(o.data!); + unittest.expect( + o.message!, + unittest.equals('foo'), + ); + } + buildCounterNetworkFirewallPolicyAggregatedListWarning--; +} + +core.int buildCounterNetworkFirewallPolicyAggregatedList = 0; +api.NetworkFirewallPolicyAggregatedList + buildNetworkFirewallPolicyAggregatedList() { + final o = api.NetworkFirewallPolicyAggregatedList(); + buildCounterNetworkFirewallPolicyAggregatedList++; + if (buildCounterNetworkFirewallPolicyAggregatedList < 3) { + o.id = 'foo'; + o.items = buildUnnamed425(); + o.kind = 'foo'; + o.nextPageToken = 'foo'; + o.selfLink = 'foo'; + o.unreachables = buildUnnamed426(); + o.warning = buildNetworkFirewallPolicyAggregatedListWarning(); + } + buildCounterNetworkFirewallPolicyAggregatedList--; + return o; +} + +void checkNetworkFirewallPolicyAggregatedList( + api.NetworkFirewallPolicyAggregatedList o) { + buildCounterNetworkFirewallPolicyAggregatedList++; + if (buildCounterNetworkFirewallPolicyAggregatedList < 3) { + unittest.expect( + o.id!, + unittest.equals('foo'), + ); + checkUnnamed425(o.items!); + unittest.expect( + o.kind!, + unittest.equals('foo'), + ); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + unittest.expect( + o.selfLink!, + unittest.equals('foo'), + ); + checkUnnamed426(o.unreachables!); + checkNetworkFirewallPolicyAggregatedListWarning(o.warning!); + } + buildCounterNetworkFirewallPolicyAggregatedList--; +} + +core.List buildUnnamed428() => [ buildAccessConfig(), buildAccessConfig(), ]; -void checkUnnamed414(core.List o) { +void checkUnnamed428(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAccessConfig(o[0]); checkAccessConfig(o[1]); } -core.List buildUnnamed415() => [ +core.List buildUnnamed429() => [ buildAliasIpRange(), buildAliasIpRange(), ]; -void checkUnnamed415(core.List o) { +void checkUnnamed429(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAliasIpRange(o[0]); checkAliasIpRange(o[1]); } -core.List buildUnnamed416() => [ +core.List buildUnnamed430() => [ buildAccessConfig(), buildAccessConfig(), ]; -void checkUnnamed416(core.List o) { +void checkUnnamed430(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAccessConfig(o[0]); checkAccessConfig(o[1]); @@ -24331,11 +24952,11 @@ api.NetworkInterface buildNetworkInterface() { final o = api.NetworkInterface(); buildCounterNetworkInterface++; if (buildCounterNetworkInterface < 3) { - o.accessConfigs = buildUnnamed414(); - o.aliasIpRanges = buildUnnamed415(); + o.accessConfigs = buildUnnamed428(); + o.aliasIpRanges = buildUnnamed429(); o.fingerprint = 'foo'; o.internalIpv6PrefixLength = 42; - o.ipv6AccessConfigs = buildUnnamed416(); + o.ipv6AccessConfigs = buildUnnamed430(); o.ipv6AccessType = 'foo'; o.ipv6Address = 'foo'; o.kind = 'foo'; @@ -24355,8 +24976,8 @@ api.NetworkInterface buildNetworkInterface() { void checkNetworkInterface(api.NetworkInterface o) { buildCounterNetworkInterface++; if (buildCounterNetworkInterface < 3) { - checkUnnamed414(o.accessConfigs!); - checkUnnamed415(o.aliasIpRanges!); + checkUnnamed428(o.accessConfigs!); + checkUnnamed429(o.aliasIpRanges!); unittest.expect( o.fingerprint!, unittest.equals('foo'), @@ -24365,7 +24986,7 @@ void checkNetworkInterface(api.NetworkInterface o) { o.internalIpv6PrefixLength!, unittest.equals(42), ); - checkUnnamed416(o.ipv6AccessConfigs!); + checkUnnamed430(o.ipv6AccessConfigs!); unittest.expect( o.ipv6AccessType!, unittest.equals('foo'), @@ -24414,12 +25035,12 @@ void checkNetworkInterface(api.NetworkInterface o) { buildCounterNetworkInterface--; } -core.List buildUnnamed417() => [ +core.List buildUnnamed431() => [ buildNetwork(), buildNetwork(), ]; -void checkUnnamed417(core.List o) { +void checkUnnamed431(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetwork(o[0]); checkNetwork(o[1]); @@ -24452,12 +25073,12 @@ void checkNetworkListWarningData(api.NetworkListWarningData o) { buildCounterNetworkListWarningData--; } -core.List buildUnnamed418() => [ +core.List buildUnnamed432() => [ buildNetworkListWarningData(), buildNetworkListWarningData(), ]; -void checkUnnamed418(core.List o) { +void checkUnnamed432(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkListWarningData(o[0]); checkNetworkListWarningData(o[1]); @@ -24469,7 +25090,7 @@ api.NetworkListWarning buildNetworkListWarning() { buildCounterNetworkListWarning++; if (buildCounterNetworkListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed418(); + o.data = buildUnnamed432(); o.message = 'foo'; } buildCounterNetworkListWarning--; @@ -24483,7 +25104,7 @@ void checkNetworkListWarning(api.NetworkListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed418(o.data!); + checkUnnamed432(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -24498,7 +25119,7 @@ api.NetworkList buildNetworkList() { buildCounterNetworkList++; if (buildCounterNetworkList < 3) { o.id = 'foo'; - o.items = buildUnnamed417(); + o.items = buildUnnamed431(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -24515,7 +25136,7 @@ void checkNetworkList(api.NetworkList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed417(o.items!); + checkUnnamed431(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -24628,7 +25249,6 @@ api.NetworkProfile buildNetworkProfile() { o.name = 'foo'; o.selfLink = 'foo'; o.selfLinkWithId = 'foo'; - o.zone = 'foo'; } buildCounterNetworkProfile--; return o; @@ -24667,10 +25287,6 @@ void checkNetworkProfile(api.NetworkProfile o) { o.selfLinkWithId!, unittest.equals('foo'), ); - unittest.expect( - o.zone!, - unittest.equals('foo'), - ); } buildCounterNetworkProfile--; } @@ -24702,12 +25318,12 @@ void checkNetworkProfileLocation(api.NetworkProfileLocation o) { buildCounterNetworkProfileLocation--; } -core.List buildUnnamed419() => [ +core.List buildUnnamed433() => [ 'foo', 'foo', ]; -void checkUnnamed419(core.List o) { +void checkUnnamed433(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -24719,12 +25335,12 @@ void checkUnnamed419(core.List o) { ); } -core.List buildUnnamed420() => [ +core.List buildUnnamed434() => [ 'foo', 'foo', ]; -void checkUnnamed420(core.List o) { +void checkUnnamed434(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -24736,12 +25352,12 @@ void checkUnnamed420(core.List o) { ); } -core.List buildUnnamed421() => [ +core.List buildUnnamed435() => [ 'foo', 'foo', ]; -void checkUnnamed421(core.List o) { +void checkUnnamed435(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -24753,12 +25369,12 @@ void checkUnnamed421(core.List o) { ); } -core.List buildUnnamed422() => [ +core.List buildUnnamed436() => [ 'foo', 'foo', ]; -void checkUnnamed422(core.List o) { +void checkUnnamed436(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -24775,7 +25391,7 @@ api.NetworkProfileNetworkFeatures buildNetworkProfileNetworkFeatures() { final o = api.NetworkProfileNetworkFeatures(); buildCounterNetworkProfileNetworkFeatures++; if (buildCounterNetworkProfileNetworkFeatures < 3) { - o.addressPurposes = buildUnnamed419(); + o.addressPurposes = buildUnnamed433(); o.allowAliasIpRanges = 'foo'; o.allowAutoModeSubnet = 'foo'; o.allowClassDFirewalls = 'foo'; @@ -24793,9 +25409,9 @@ api.NetworkProfileNetworkFeatures buildNetworkProfileNetworkFeatures() { o.allowSubInterfaces = 'foo'; o.allowVpcPeering = 'foo'; o.allowVpn = 'foo'; - o.interfaceTypes = buildUnnamed420(); - o.subnetPurposes = buildUnnamed421(); - o.subnetStackTypes = buildUnnamed422(); + o.interfaceTypes = buildUnnamed434(); + o.subnetPurposes = buildUnnamed435(); + o.subnetStackTypes = buildUnnamed436(); o.unicast = 'foo'; } buildCounterNetworkProfileNetworkFeatures--; @@ -24805,7 +25421,7 @@ api.NetworkProfileNetworkFeatures buildNetworkProfileNetworkFeatures() { void checkNetworkProfileNetworkFeatures(api.NetworkProfileNetworkFeatures o) { buildCounterNetworkProfileNetworkFeatures++; if (buildCounterNetworkProfileNetworkFeatures < 3) { - checkUnnamed419(o.addressPurposes!); + checkUnnamed433(o.addressPurposes!); unittest.expect( o.allowAliasIpRanges!, unittest.equals('foo'), @@ -24874,9 +25490,9 @@ void checkNetworkProfileNetworkFeatures(api.NetworkProfileNetworkFeatures o) { o.allowVpn!, unittest.equals('foo'), ); - checkUnnamed420(o.interfaceTypes!); - checkUnnamed421(o.subnetPurposes!); - checkUnnamed422(o.subnetStackTypes!); + checkUnnamed434(o.interfaceTypes!); + checkUnnamed435(o.subnetPurposes!); + checkUnnamed436(o.subnetStackTypes!); unittest.expect( o.unicast!, unittest.equals('foo'), @@ -24885,23 +25501,23 @@ void checkNetworkProfileNetworkFeatures(api.NetworkProfileNetworkFeatures o) { buildCounterNetworkProfileNetworkFeatures--; } -core.List buildUnnamed423() => [ +core.List buildUnnamed437() => [ buildNetworkProfile(), buildNetworkProfile(), ]; -void checkUnnamed423(core.List o) { +void checkUnnamed437(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkProfile(o[0]); checkNetworkProfile(o[1]); } -core.List buildUnnamed424() => [ +core.List buildUnnamed438() => [ 'foo', 'foo', ]; -void checkUnnamed424(core.List o) { +void checkUnnamed438(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -24942,12 +25558,12 @@ void checkNetworkProfilesListResponseWarningData( buildCounterNetworkProfilesListResponseWarningData--; } -core.List buildUnnamed425() => [ +core.List buildUnnamed439() => [ buildNetworkProfilesListResponseWarningData(), buildNetworkProfilesListResponseWarningData(), ]; -void checkUnnamed425(core.List o) { +void checkUnnamed439(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkProfilesListResponseWarningData(o[0]); checkNetworkProfilesListResponseWarningData(o[1]); @@ -24960,7 +25576,7 @@ api.NetworkProfilesListResponseWarning buildCounterNetworkProfilesListResponseWarning++; if (buildCounterNetworkProfilesListResponseWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed425(); + o.data = buildUnnamed439(); o.message = 'foo'; } buildCounterNetworkProfilesListResponseWarning--; @@ -24975,7 +25591,7 @@ void checkNetworkProfilesListResponseWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed425(o.data!); + checkUnnamed439(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -24991,11 +25607,11 @@ api.NetworkProfilesListResponse buildNetworkProfilesListResponse() { if (buildCounterNetworkProfilesListResponse < 3) { o.etag = 'foo'; o.id = 'foo'; - o.items = buildUnnamed423(); + o.items = buildUnnamed437(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed424(); + o.unreachables = buildUnnamed438(); o.warning = buildNetworkProfilesListResponseWarning(); } buildCounterNetworkProfilesListResponse--; @@ -25013,7 +25629,7 @@ void checkNetworkProfilesListResponse(api.NetworkProfilesListResponse o) { o.id!, unittest.equals('foo'), ); - checkUnnamed423(o.items!); + checkUnnamed437(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -25026,7 +25642,7 @@ void checkNetworkProfilesListResponse(api.NetworkProfilesListResponse o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed424(o.unreachables!); + checkUnnamed438(o.unreachables!); checkNetworkProfilesListResponseWarning(o.warning!); } buildCounterNetworkProfilesListResponse--; @@ -25040,6 +25656,8 @@ api.NetworkRoutingConfig buildNetworkRoutingConfig() { o.bgpAlwaysCompareMed = true; o.bgpBestPathSelectionMode = 'foo'; o.bgpInterRegionCost = 'foo'; + o.effectiveBgpAlwaysCompareMed = true; + o.effectiveBgpInterRegionCost = 'foo'; o.routingMode = 'foo'; } buildCounterNetworkRoutingConfig--; @@ -25058,6 +25676,11 @@ void checkNetworkRoutingConfig(api.NetworkRoutingConfig o) { o.bgpInterRegionCost!, unittest.equals('foo'), ); + unittest.expect(o.effectiveBgpAlwaysCompareMed!, unittest.isTrue); + unittest.expect( + o.effectiveBgpInterRegionCost!, + unittest.equals('foo'), + ); unittest.expect( o.routingMode!, unittest.equals('foo'), @@ -25098,12 +25721,12 @@ void checkNetworksAddPeeringRequest(api.NetworksAddPeeringRequest o) { } core.List - buildUnnamed426() => [ + buildUnnamed440() => [ buildNetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy(), buildNetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy(), ]; -void checkUnnamed426( +void checkUnnamed440( core.List o) { unittest.expect(o, unittest.hasLength(2)); @@ -25111,12 +25734,12 @@ void checkUnnamed426( checkNetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy(o[1]); } -core.List buildUnnamed427() => [ +core.List buildUnnamed441() => [ buildFirewall(), buildFirewall(), ]; -void checkUnnamed427(core.List o) { +void checkUnnamed441(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFirewall(o[0]); checkFirewall(o[1]); @@ -25128,8 +25751,8 @@ api.NetworksGetEffectiveFirewallsResponse final o = api.NetworksGetEffectiveFirewallsResponse(); buildCounterNetworksGetEffectiveFirewallsResponse++; if (buildCounterNetworksGetEffectiveFirewallsResponse < 3) { - o.firewallPolicys = buildUnnamed426(); - o.firewalls = buildUnnamed427(); + o.firewallPolicys = buildUnnamed440(); + o.firewalls = buildUnnamed441(); } buildCounterNetworksGetEffectiveFirewallsResponse--; return o; @@ -25139,18 +25762,29 @@ void checkNetworksGetEffectiveFirewallsResponse( api.NetworksGetEffectiveFirewallsResponse o) { buildCounterNetworksGetEffectiveFirewallsResponse++; if (buildCounterNetworksGetEffectiveFirewallsResponse < 3) { - checkUnnamed426(o.firewallPolicys!); - checkUnnamed427(o.firewalls!); + checkUnnamed440(o.firewallPolicys!); + checkUnnamed441(o.firewalls!); } buildCounterNetworksGetEffectiveFirewallsResponse--; } -core.List buildUnnamed428() => [ +core.List buildUnnamed442() => [ buildFirewallPolicyRule(), buildFirewallPolicyRule(), ]; -void checkUnnamed428(core.List o) { +void checkUnnamed442(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkFirewallPolicyRule(o[0]); + checkFirewallPolicyRule(o[1]); +} + +core.List buildUnnamed443() => [ + buildFirewallPolicyRule(), + buildFirewallPolicyRule(), + ]; + +void checkUnnamed443(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFirewallPolicyRule(o[0]); checkFirewallPolicyRule(o[1]); @@ -25167,8 +25801,9 @@ api.NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy 3) { o.displayName = 'foo'; o.name = 'foo'; + o.packetMirroringRules = buildUnnamed442(); o.priority = 42; - o.rules = buildUnnamed428(); + o.rules = buildUnnamed443(); o.shortName = 'foo'; o.type = 'foo'; } @@ -25189,11 +25824,12 @@ void checkNetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy( o.name!, unittest.equals('foo'), ); + checkUnnamed442(o.packetMirroringRules!); unittest.expect( o.priority!, unittest.equals(42), ); - checkUnnamed428(o.rules!); + checkUnnamed443(o.rules!); unittest.expect( o.shortName!, unittest.equals('foo'), @@ -25340,23 +25976,23 @@ void checkNodeGroup(api.NodeGroup o) { buildCounterNodeGroup--; } -core.Map buildUnnamed429() => { +core.Map buildUnnamed444() => { 'x': buildNodeGroupsScopedList(), 'y': buildNodeGroupsScopedList(), }; -void checkUnnamed429(core.Map o) { +void checkUnnamed444(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkNodeGroupsScopedList(o['x']!); checkNodeGroupsScopedList(o['y']!); } -core.List buildUnnamed430() => [ +core.List buildUnnamed445() => [ 'foo', 'foo', ]; -void checkUnnamed430(core.List o) { +void checkUnnamed445(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -25397,12 +26033,12 @@ void checkNodeGroupAggregatedListWarningData( buildCounterNodeGroupAggregatedListWarningData--; } -core.List buildUnnamed431() => [ +core.List buildUnnamed446() => [ buildNodeGroupAggregatedListWarningData(), buildNodeGroupAggregatedListWarningData(), ]; -void checkUnnamed431(core.List o) { +void checkUnnamed446(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodeGroupAggregatedListWarningData(o[0]); checkNodeGroupAggregatedListWarningData(o[1]); @@ -25414,7 +26050,7 @@ api.NodeGroupAggregatedListWarning buildNodeGroupAggregatedListWarning() { buildCounterNodeGroupAggregatedListWarning++; if (buildCounterNodeGroupAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed431(); + o.data = buildUnnamed446(); o.message = 'foo'; } buildCounterNodeGroupAggregatedListWarning--; @@ -25428,7 +26064,7 @@ void checkNodeGroupAggregatedListWarning(api.NodeGroupAggregatedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed431(o.data!); + checkUnnamed446(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -25443,11 +26079,11 @@ api.NodeGroupAggregatedList buildNodeGroupAggregatedList() { buildCounterNodeGroupAggregatedList++; if (buildCounterNodeGroupAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed429(); + o.items = buildUnnamed444(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed430(); + o.unreachables = buildUnnamed445(); o.warning = buildNodeGroupAggregatedListWarning(); } buildCounterNodeGroupAggregatedList--; @@ -25461,7 +26097,7 @@ void checkNodeGroupAggregatedList(api.NodeGroupAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed429(o.items!); + checkUnnamed444(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -25474,7 +26110,7 @@ void checkNodeGroupAggregatedList(api.NodeGroupAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed430(o.unreachables!); + checkUnnamed445(o.unreachables!); checkNodeGroupAggregatedListWarning(o.warning!); } buildCounterNodeGroupAggregatedList--; @@ -25512,12 +26148,12 @@ void checkNodeGroupAutoscalingPolicy(api.NodeGroupAutoscalingPolicy o) { buildCounterNodeGroupAutoscalingPolicy--; } -core.List buildUnnamed432() => [ +core.List buildUnnamed447() => [ buildNodeGroup(), buildNodeGroup(), ]; -void checkUnnamed432(core.List o) { +void checkUnnamed447(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodeGroup(o[0]); checkNodeGroup(o[1]); @@ -25550,12 +26186,12 @@ void checkNodeGroupListWarningData(api.NodeGroupListWarningData o) { buildCounterNodeGroupListWarningData--; } -core.List buildUnnamed433() => [ +core.List buildUnnamed448() => [ buildNodeGroupListWarningData(), buildNodeGroupListWarningData(), ]; -void checkUnnamed433(core.List o) { +void checkUnnamed448(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodeGroupListWarningData(o[0]); checkNodeGroupListWarningData(o[1]); @@ -25567,7 +26203,7 @@ api.NodeGroupListWarning buildNodeGroupListWarning() { buildCounterNodeGroupListWarning++; if (buildCounterNodeGroupListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed433(); + o.data = buildUnnamed448(); o.message = 'foo'; } buildCounterNodeGroupListWarning--; @@ -25581,7 +26217,7 @@ void checkNodeGroupListWarning(api.NodeGroupListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed433(o.data!); + checkUnnamed448(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -25596,7 +26232,7 @@ api.NodeGroupList buildNodeGroupList() { buildCounterNodeGroupList++; if (buildCounterNodeGroupList < 3) { o.id = 'foo'; - o.items = buildUnnamed432(); + o.items = buildUnnamed447(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -25613,7 +26249,7 @@ void checkNodeGroupList(api.NodeGroupList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed432(o.items!); + checkUnnamed447(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -25655,45 +26291,45 @@ void checkNodeGroupMaintenanceWindow(api.NodeGroupMaintenanceWindow o) { buildCounterNodeGroupMaintenanceWindow--; } -core.List buildUnnamed434() => [ +core.List buildUnnamed449() => [ buildAcceleratorConfig(), buildAcceleratorConfig(), ]; -void checkUnnamed434(core.List o) { +void checkUnnamed449(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAcceleratorConfig(o[0]); checkAcceleratorConfig(o[1]); } -core.List buildUnnamed435() => [ +core.List buildUnnamed450() => [ buildLocalDisk(), buildLocalDisk(), ]; -void checkUnnamed435(core.List o) { +void checkUnnamed450(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLocalDisk(o[0]); checkLocalDisk(o[1]); } -core.List buildUnnamed436() => [ +core.List buildUnnamed451() => [ buildInstanceConsumptionData(), buildInstanceConsumptionData(), ]; -void checkUnnamed436(core.List o) { +void checkUnnamed451(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceConsumptionData(o[0]); checkInstanceConsumptionData(o[1]); } -core.List buildUnnamed437() => [ +core.List buildUnnamed452() => [ 'foo', 'foo', ]; -void checkUnnamed437(core.List o) { +void checkUnnamed452(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -25710,12 +26346,12 @@ api.NodeGroupNode buildNodeGroupNode() { final o = api.NodeGroupNode(); buildCounterNodeGroupNode++; if (buildCounterNodeGroupNode < 3) { - o.accelerators = buildUnnamed434(); + o.accelerators = buildUnnamed449(); o.consumedResources = buildInstanceConsumptionInfo(); o.cpuOvercommitType = 'foo'; - o.disks = buildUnnamed435(); - o.instanceConsumptionData = buildUnnamed436(); - o.instances = buildUnnamed437(); + o.disks = buildUnnamed450(); + o.instanceConsumptionData = buildUnnamed451(); + o.instances = buildUnnamed452(); o.name = 'foo'; o.nodeType = 'foo'; o.satisfiesPzs = true; @@ -25732,15 +26368,15 @@ api.NodeGroupNode buildNodeGroupNode() { void checkNodeGroupNode(api.NodeGroupNode o) { buildCounterNodeGroupNode++; if (buildCounterNodeGroupNode < 3) { - checkUnnamed434(o.accelerators!); + checkUnnamed449(o.accelerators!); checkInstanceConsumptionInfo(o.consumedResources!); unittest.expect( o.cpuOvercommitType!, unittest.equals('foo'), ); - checkUnnamed435(o.disks!); - checkUnnamed436(o.instanceConsumptionData!); - checkUnnamed437(o.instances!); + checkUnnamed450(o.disks!); + checkUnnamed451(o.instanceConsumptionData!); + checkUnnamed452(o.instances!); unittest.expect( o.name!, unittest.equals('foo'), @@ -25787,12 +26423,12 @@ void checkNodeGroupsAddNodesRequest(api.NodeGroupsAddNodesRequest o) { buildCounterNodeGroupsAddNodesRequest--; } -core.List buildUnnamed438() => [ +core.List buildUnnamed453() => [ 'foo', 'foo', ]; -void checkUnnamed438(core.List o) { +void checkUnnamed453(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -25809,7 +26445,7 @@ api.NodeGroupsDeleteNodesRequest buildNodeGroupsDeleteNodesRequest() { final o = api.NodeGroupsDeleteNodesRequest(); buildCounterNodeGroupsDeleteNodesRequest++; if (buildCounterNodeGroupsDeleteNodesRequest < 3) { - o.nodes = buildUnnamed438(); + o.nodes = buildUnnamed453(); } buildCounterNodeGroupsDeleteNodesRequest--; return o; @@ -25818,17 +26454,17 @@ api.NodeGroupsDeleteNodesRequest buildNodeGroupsDeleteNodesRequest() { void checkNodeGroupsDeleteNodesRequest(api.NodeGroupsDeleteNodesRequest o) { buildCounterNodeGroupsDeleteNodesRequest++; if (buildCounterNodeGroupsDeleteNodesRequest < 3) { - checkUnnamed438(o.nodes!); + checkUnnamed453(o.nodes!); } buildCounterNodeGroupsDeleteNodesRequest--; } -core.List buildUnnamed439() => [ +core.List buildUnnamed454() => [ buildNodeGroupNode(), buildNodeGroupNode(), ]; -void checkUnnamed439(core.List o) { +void checkUnnamed454(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodeGroupNode(o[0]); checkNodeGroupNode(o[1]); @@ -25861,12 +26497,12 @@ void checkNodeGroupsListNodesWarningData(api.NodeGroupsListNodesWarningData o) { buildCounterNodeGroupsListNodesWarningData--; } -core.List buildUnnamed440() => [ +core.List buildUnnamed455() => [ buildNodeGroupsListNodesWarningData(), buildNodeGroupsListNodesWarningData(), ]; -void checkUnnamed440(core.List o) { +void checkUnnamed455(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodeGroupsListNodesWarningData(o[0]); checkNodeGroupsListNodesWarningData(o[1]); @@ -25878,7 +26514,7 @@ api.NodeGroupsListNodesWarning buildNodeGroupsListNodesWarning() { buildCounterNodeGroupsListNodesWarning++; if (buildCounterNodeGroupsListNodesWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed440(); + o.data = buildUnnamed455(); o.message = 'foo'; } buildCounterNodeGroupsListNodesWarning--; @@ -25892,7 +26528,7 @@ void checkNodeGroupsListNodesWarning(api.NodeGroupsListNodesWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed440(o.data!); + checkUnnamed455(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -25907,7 +26543,7 @@ api.NodeGroupsListNodes buildNodeGroupsListNodes() { buildCounterNodeGroupsListNodes++; if (buildCounterNodeGroupsListNodes < 3) { o.id = 'foo'; - o.items = buildUnnamed439(); + o.items = buildUnnamed454(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -25924,7 +26560,7 @@ void checkNodeGroupsListNodes(api.NodeGroupsListNodes o) { o.id!, unittest.equals('foo'), ); - checkUnnamed439(o.items!); + checkUnnamed454(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -25942,12 +26578,12 @@ void checkNodeGroupsListNodes(api.NodeGroupsListNodes o) { buildCounterNodeGroupsListNodes--; } -core.List buildUnnamed441() => [ +core.List buildUnnamed456() => [ 'foo', 'foo', ]; -void checkUnnamed441(core.List o) { +void checkUnnamed456(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -25965,7 +26601,7 @@ api.NodeGroupsPerformMaintenanceRequest final o = api.NodeGroupsPerformMaintenanceRequest(); buildCounterNodeGroupsPerformMaintenanceRequest++; if (buildCounterNodeGroupsPerformMaintenanceRequest < 3) { - o.nodes = buildUnnamed441(); + o.nodes = buildUnnamed456(); o.startTime = 'foo'; } buildCounterNodeGroupsPerformMaintenanceRequest--; @@ -25976,7 +26612,7 @@ void checkNodeGroupsPerformMaintenanceRequest( api.NodeGroupsPerformMaintenanceRequest o) { buildCounterNodeGroupsPerformMaintenanceRequest++; if (buildCounterNodeGroupsPerformMaintenanceRequest < 3) { - checkUnnamed441(o.nodes!); + checkUnnamed456(o.nodes!); unittest.expect( o.startTime!, unittest.equals('foo'), @@ -25985,12 +26621,12 @@ void checkNodeGroupsPerformMaintenanceRequest( buildCounterNodeGroupsPerformMaintenanceRequest--; } -core.List buildUnnamed442() => [ +core.List buildUnnamed457() => [ buildNodeGroup(), buildNodeGroup(), ]; -void checkUnnamed442(core.List o) { +void checkUnnamed457(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodeGroup(o[0]); checkNodeGroup(o[1]); @@ -26024,12 +26660,12 @@ void checkNodeGroupsScopedListWarningData( buildCounterNodeGroupsScopedListWarningData--; } -core.List buildUnnamed443() => [ +core.List buildUnnamed458() => [ buildNodeGroupsScopedListWarningData(), buildNodeGroupsScopedListWarningData(), ]; -void checkUnnamed443(core.List o) { +void checkUnnamed458(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodeGroupsScopedListWarningData(o[0]); checkNodeGroupsScopedListWarningData(o[1]); @@ -26041,7 +26677,7 @@ api.NodeGroupsScopedListWarning buildNodeGroupsScopedListWarning() { buildCounterNodeGroupsScopedListWarning++; if (buildCounterNodeGroupsScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed443(); + o.data = buildUnnamed458(); o.message = 'foo'; } buildCounterNodeGroupsScopedListWarning--; @@ -26055,7 +26691,7 @@ void checkNodeGroupsScopedListWarning(api.NodeGroupsScopedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed443(o.data!); + checkUnnamed458(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -26069,7 +26705,7 @@ api.NodeGroupsScopedList buildNodeGroupsScopedList() { final o = api.NodeGroupsScopedList(); buildCounterNodeGroupsScopedList++; if (buildCounterNodeGroupsScopedList < 3) { - o.nodeGroups = buildUnnamed442(); + o.nodeGroups = buildUnnamed457(); o.warning = buildNodeGroupsScopedListWarning(); } buildCounterNodeGroupsScopedList--; @@ -26079,7 +26715,7 @@ api.NodeGroupsScopedList buildNodeGroupsScopedList() { void checkNodeGroupsScopedList(api.NodeGroupsScopedList o) { buildCounterNodeGroupsScopedList++; if (buildCounterNodeGroupsScopedList < 3) { - checkUnnamed442(o.nodeGroups!); + checkUnnamed457(o.nodeGroups!); checkNodeGroupsScopedListWarning(o.warning!); } buildCounterNodeGroupsScopedList--; @@ -26108,12 +26744,12 @@ void checkNodeGroupsSetNodeTemplateRequest( buildCounterNodeGroupsSetNodeTemplateRequest--; } -core.List buildUnnamed444() => [ +core.List buildUnnamed459() => [ 'foo', 'foo', ]; -void checkUnnamed444(core.List o) { +void checkUnnamed459(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -26131,7 +26767,7 @@ api.NodeGroupsSimulateMaintenanceEventRequest final o = api.NodeGroupsSimulateMaintenanceEventRequest(); buildCounterNodeGroupsSimulateMaintenanceEventRequest++; if (buildCounterNodeGroupsSimulateMaintenanceEventRequest < 3) { - o.nodes = buildUnnamed444(); + o.nodes = buildUnnamed459(); } buildCounterNodeGroupsSimulateMaintenanceEventRequest--; return o; @@ -26141,39 +26777,39 @@ void checkNodeGroupsSimulateMaintenanceEventRequest( api.NodeGroupsSimulateMaintenanceEventRequest o) { buildCounterNodeGroupsSimulateMaintenanceEventRequest++; if (buildCounterNodeGroupsSimulateMaintenanceEventRequest < 3) { - checkUnnamed444(o.nodes!); + checkUnnamed459(o.nodes!); } buildCounterNodeGroupsSimulateMaintenanceEventRequest--; } -core.List buildUnnamed445() => [ +core.List buildUnnamed460() => [ buildAcceleratorConfig(), buildAcceleratorConfig(), ]; -void checkUnnamed445(core.List o) { +void checkUnnamed460(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAcceleratorConfig(o[0]); checkAcceleratorConfig(o[1]); } -core.List buildUnnamed446() => [ +core.List buildUnnamed461() => [ buildLocalDisk(), buildLocalDisk(), ]; -void checkUnnamed446(core.List o) { +void checkUnnamed461(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLocalDisk(o[0]); checkLocalDisk(o[1]); } -core.Map buildUnnamed447() => { +core.Map buildUnnamed462() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed447(core.Map o) { +void checkUnnamed462(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -26190,15 +26826,15 @@ api.NodeTemplate buildNodeTemplate() { final o = api.NodeTemplate(); buildCounterNodeTemplate++; if (buildCounterNodeTemplate < 3) { - o.accelerators = buildUnnamed445(); + o.accelerators = buildUnnamed460(); o.cpuOvercommitType = 'foo'; o.creationTimestamp = 'foo'; o.description = 'foo'; - o.disks = buildUnnamed446(); + o.disks = buildUnnamed461(); o.id = 'foo'; o.kind = 'foo'; o.name = 'foo'; - o.nodeAffinityLabels = buildUnnamed447(); + o.nodeAffinityLabels = buildUnnamed462(); o.nodeType = 'foo'; o.nodeTypeFlexibility = buildNodeTemplateNodeTypeFlexibility(); o.region = 'foo'; @@ -26214,7 +26850,7 @@ api.NodeTemplate buildNodeTemplate() { void checkNodeTemplate(api.NodeTemplate o) { buildCounterNodeTemplate++; if (buildCounterNodeTemplate < 3) { - checkUnnamed445(o.accelerators!); + checkUnnamed460(o.accelerators!); unittest.expect( o.cpuOvercommitType!, unittest.equals('foo'), @@ -26227,7 +26863,7 @@ void checkNodeTemplate(api.NodeTemplate o) { o.description!, unittest.equals('foo'), ); - checkUnnamed446(o.disks!); + checkUnnamed461(o.disks!); unittest.expect( o.id!, unittest.equals('foo'), @@ -26240,7 +26876,7 @@ void checkNodeTemplate(api.NodeTemplate o) { o.name!, unittest.equals('foo'), ); - checkUnnamed447(o.nodeAffinityLabels!); + checkUnnamed462(o.nodeAffinityLabels!); unittest.expect( o.nodeType!, unittest.equals('foo'), @@ -26267,23 +26903,23 @@ void checkNodeTemplate(api.NodeTemplate o) { buildCounterNodeTemplate--; } -core.Map buildUnnamed448() => { +core.Map buildUnnamed463() => { 'x': buildNodeTemplatesScopedList(), 'y': buildNodeTemplatesScopedList(), }; -void checkUnnamed448(core.Map o) { +void checkUnnamed463(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkNodeTemplatesScopedList(o['x']!); checkNodeTemplatesScopedList(o['y']!); } -core.List buildUnnamed449() => [ +core.List buildUnnamed464() => [ 'foo', 'foo', ]; -void checkUnnamed449(core.List o) { +void checkUnnamed464(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -26324,12 +26960,12 @@ void checkNodeTemplateAggregatedListWarningData( buildCounterNodeTemplateAggregatedListWarningData--; } -core.List buildUnnamed450() => [ +core.List buildUnnamed465() => [ buildNodeTemplateAggregatedListWarningData(), buildNodeTemplateAggregatedListWarningData(), ]; -void checkUnnamed450(core.List o) { +void checkUnnamed465(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodeTemplateAggregatedListWarningData(o[0]); checkNodeTemplateAggregatedListWarningData(o[1]); @@ -26341,7 +26977,7 @@ api.NodeTemplateAggregatedListWarning buildNodeTemplateAggregatedListWarning() { buildCounterNodeTemplateAggregatedListWarning++; if (buildCounterNodeTemplateAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed450(); + o.data = buildUnnamed465(); o.message = 'foo'; } buildCounterNodeTemplateAggregatedListWarning--; @@ -26356,7 +26992,7 @@ void checkNodeTemplateAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed450(o.data!); + checkUnnamed465(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -26371,11 +27007,11 @@ api.NodeTemplateAggregatedList buildNodeTemplateAggregatedList() { buildCounterNodeTemplateAggregatedList++; if (buildCounterNodeTemplateAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed448(); + o.items = buildUnnamed463(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed449(); + o.unreachables = buildUnnamed464(); o.warning = buildNodeTemplateAggregatedListWarning(); } buildCounterNodeTemplateAggregatedList--; @@ -26389,7 +27025,7 @@ void checkNodeTemplateAggregatedList(api.NodeTemplateAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed448(o.items!); + checkUnnamed463(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -26402,18 +27038,18 @@ void checkNodeTemplateAggregatedList(api.NodeTemplateAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed449(o.unreachables!); + checkUnnamed464(o.unreachables!); checkNodeTemplateAggregatedListWarning(o.warning!); } buildCounterNodeTemplateAggregatedList--; } -core.List buildUnnamed451() => [ +core.List buildUnnamed466() => [ buildNodeTemplate(), buildNodeTemplate(), ]; -void checkUnnamed451(core.List o) { +void checkUnnamed466(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodeTemplate(o[0]); checkNodeTemplate(o[1]); @@ -26446,12 +27082,12 @@ void checkNodeTemplateListWarningData(api.NodeTemplateListWarningData o) { buildCounterNodeTemplateListWarningData--; } -core.List buildUnnamed452() => [ +core.List buildUnnamed467() => [ buildNodeTemplateListWarningData(), buildNodeTemplateListWarningData(), ]; -void checkUnnamed452(core.List o) { +void checkUnnamed467(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodeTemplateListWarningData(o[0]); checkNodeTemplateListWarningData(o[1]); @@ -26463,7 +27099,7 @@ api.NodeTemplateListWarning buildNodeTemplateListWarning() { buildCounterNodeTemplateListWarning++; if (buildCounterNodeTemplateListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed452(); + o.data = buildUnnamed467(); o.message = 'foo'; } buildCounterNodeTemplateListWarning--; @@ -26477,7 +27113,7 @@ void checkNodeTemplateListWarning(api.NodeTemplateListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed452(o.data!); + checkUnnamed467(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -26492,7 +27128,7 @@ api.NodeTemplateList buildNodeTemplateList() { buildCounterNodeTemplateList++; if (buildCounterNodeTemplateList < 3) { o.id = 'foo'; - o.items = buildUnnamed451(); + o.items = buildUnnamed466(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -26509,7 +27145,7 @@ void checkNodeTemplateList(api.NodeTemplateList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed451(o.items!); + checkUnnamed466(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -26560,12 +27196,12 @@ void checkNodeTemplateNodeTypeFlexibility( buildCounterNodeTemplateNodeTypeFlexibility--; } -core.List buildUnnamed453() => [ +core.List buildUnnamed468() => [ buildNodeTemplate(), buildNodeTemplate(), ]; -void checkUnnamed453(core.List o) { +void checkUnnamed468(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodeTemplate(o[0]); checkNodeTemplate(o[1]); @@ -26600,12 +27236,12 @@ void checkNodeTemplatesScopedListWarningData( buildCounterNodeTemplatesScopedListWarningData--; } -core.List buildUnnamed454() => [ +core.List buildUnnamed469() => [ buildNodeTemplatesScopedListWarningData(), buildNodeTemplatesScopedListWarningData(), ]; -void checkUnnamed454(core.List o) { +void checkUnnamed469(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodeTemplatesScopedListWarningData(o[0]); checkNodeTemplatesScopedListWarningData(o[1]); @@ -26617,7 +27253,7 @@ api.NodeTemplatesScopedListWarning buildNodeTemplatesScopedListWarning() { buildCounterNodeTemplatesScopedListWarning++; if (buildCounterNodeTemplatesScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed454(); + o.data = buildUnnamed469(); o.message = 'foo'; } buildCounterNodeTemplatesScopedListWarning--; @@ -26631,7 +27267,7 @@ void checkNodeTemplatesScopedListWarning(api.NodeTemplatesScopedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed454(o.data!); + checkUnnamed469(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -26645,7 +27281,7 @@ api.NodeTemplatesScopedList buildNodeTemplatesScopedList() { final o = api.NodeTemplatesScopedList(); buildCounterNodeTemplatesScopedList++; if (buildCounterNodeTemplatesScopedList < 3) { - o.nodeTemplates = buildUnnamed453(); + o.nodeTemplates = buildUnnamed468(); o.warning = buildNodeTemplatesScopedListWarning(); } buildCounterNodeTemplatesScopedList--; @@ -26655,7 +27291,7 @@ api.NodeTemplatesScopedList buildNodeTemplatesScopedList() { void checkNodeTemplatesScopedList(api.NodeTemplatesScopedList o) { buildCounterNodeTemplatesScopedList++; if (buildCounterNodeTemplatesScopedList < 3) { - checkUnnamed453(o.nodeTemplates!); + checkUnnamed468(o.nodeTemplates!); checkNodeTemplatesScopedListWarning(o.warning!); } buildCounterNodeTemplatesScopedList--; @@ -26674,6 +27310,7 @@ api.NodeType buildNodeType() { o.id = 'foo'; o.kind = 'foo'; o.localSsdGb = 42; + o.maxVms = 42; o.memoryMb = 42; o.name = 'foo'; o.selfLink = 'foo'; @@ -26715,6 +27352,10 @@ void checkNodeType(api.NodeType o) { o.localSsdGb!, unittest.equals(42), ); + unittest.expect( + o.maxVms!, + unittest.equals(42), + ); unittest.expect( o.memoryMb!, unittest.equals(42), @@ -26735,23 +27376,23 @@ void checkNodeType(api.NodeType o) { buildCounterNodeType--; } -core.Map buildUnnamed455() => { +core.Map buildUnnamed470() => { 'x': buildNodeTypesScopedList(), 'y': buildNodeTypesScopedList(), }; -void checkUnnamed455(core.Map o) { +void checkUnnamed470(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkNodeTypesScopedList(o['x']!); checkNodeTypesScopedList(o['y']!); } -core.List buildUnnamed456() => [ +core.List buildUnnamed471() => [ 'foo', 'foo', ]; -void checkUnnamed456(core.List o) { +void checkUnnamed471(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -26791,12 +27432,12 @@ void checkNodeTypeAggregatedListWarningData( buildCounterNodeTypeAggregatedListWarningData--; } -core.List buildUnnamed457() => [ +core.List buildUnnamed472() => [ buildNodeTypeAggregatedListWarningData(), buildNodeTypeAggregatedListWarningData(), ]; -void checkUnnamed457(core.List o) { +void checkUnnamed472(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodeTypeAggregatedListWarningData(o[0]); checkNodeTypeAggregatedListWarningData(o[1]); @@ -26808,7 +27449,7 @@ api.NodeTypeAggregatedListWarning buildNodeTypeAggregatedListWarning() { buildCounterNodeTypeAggregatedListWarning++; if (buildCounterNodeTypeAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed457(); + o.data = buildUnnamed472(); o.message = 'foo'; } buildCounterNodeTypeAggregatedListWarning--; @@ -26822,7 +27463,7 @@ void checkNodeTypeAggregatedListWarning(api.NodeTypeAggregatedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed457(o.data!); + checkUnnamed472(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -26837,11 +27478,11 @@ api.NodeTypeAggregatedList buildNodeTypeAggregatedList() { buildCounterNodeTypeAggregatedList++; if (buildCounterNodeTypeAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed455(); + o.items = buildUnnamed470(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed456(); + o.unreachables = buildUnnamed471(); o.warning = buildNodeTypeAggregatedListWarning(); } buildCounterNodeTypeAggregatedList--; @@ -26855,7 +27496,7 @@ void checkNodeTypeAggregatedList(api.NodeTypeAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed455(o.items!); + checkUnnamed470(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -26868,18 +27509,18 @@ void checkNodeTypeAggregatedList(api.NodeTypeAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed456(o.unreachables!); + checkUnnamed471(o.unreachables!); checkNodeTypeAggregatedListWarning(o.warning!); } buildCounterNodeTypeAggregatedList--; } -core.List buildUnnamed458() => [ +core.List buildUnnamed473() => [ buildNodeType(), buildNodeType(), ]; -void checkUnnamed458(core.List o) { +void checkUnnamed473(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodeType(o[0]); checkNodeType(o[1]); @@ -26912,12 +27553,12 @@ void checkNodeTypeListWarningData(api.NodeTypeListWarningData o) { buildCounterNodeTypeListWarningData--; } -core.List buildUnnamed459() => [ +core.List buildUnnamed474() => [ buildNodeTypeListWarningData(), buildNodeTypeListWarningData(), ]; -void checkUnnamed459(core.List o) { +void checkUnnamed474(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodeTypeListWarningData(o[0]); checkNodeTypeListWarningData(o[1]); @@ -26929,7 +27570,7 @@ api.NodeTypeListWarning buildNodeTypeListWarning() { buildCounterNodeTypeListWarning++; if (buildCounterNodeTypeListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed459(); + o.data = buildUnnamed474(); o.message = 'foo'; } buildCounterNodeTypeListWarning--; @@ -26943,7 +27584,7 @@ void checkNodeTypeListWarning(api.NodeTypeListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed459(o.data!); + checkUnnamed474(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -26958,7 +27599,7 @@ api.NodeTypeList buildNodeTypeList() { buildCounterNodeTypeList++; if (buildCounterNodeTypeList < 3) { o.id = 'foo'; - o.items = buildUnnamed458(); + o.items = buildUnnamed473(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -26975,7 +27616,7 @@ void checkNodeTypeList(api.NodeTypeList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed458(o.items!); + checkUnnamed473(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -26993,12 +27634,12 @@ void checkNodeTypeList(api.NodeTypeList o) { buildCounterNodeTypeList--; } -core.List buildUnnamed460() => [ +core.List buildUnnamed475() => [ buildNodeType(), buildNodeType(), ]; -void checkUnnamed460(core.List o) { +void checkUnnamed475(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodeType(o[0]); checkNodeType(o[1]); @@ -27031,12 +27672,12 @@ void checkNodeTypesScopedListWarningData(api.NodeTypesScopedListWarningData o) { buildCounterNodeTypesScopedListWarningData--; } -core.List buildUnnamed461() => [ +core.List buildUnnamed476() => [ buildNodeTypesScopedListWarningData(), buildNodeTypesScopedListWarningData(), ]; -void checkUnnamed461(core.List o) { +void checkUnnamed476(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodeTypesScopedListWarningData(o[0]); checkNodeTypesScopedListWarningData(o[1]); @@ -27048,7 +27689,7 @@ api.NodeTypesScopedListWarning buildNodeTypesScopedListWarning() { buildCounterNodeTypesScopedListWarning++; if (buildCounterNodeTypesScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed461(); + o.data = buildUnnamed476(); o.message = 'foo'; } buildCounterNodeTypesScopedListWarning--; @@ -27062,7 +27703,7 @@ void checkNodeTypesScopedListWarning(api.NodeTypesScopedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed461(o.data!); + checkUnnamed476(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -27076,7 +27717,7 @@ api.NodeTypesScopedList buildNodeTypesScopedList() { final o = api.NodeTypesScopedList(); buildCounterNodeTypesScopedList++; if (buildCounterNodeTypesScopedList < 3) { - o.nodeTypes = buildUnnamed460(); + o.nodeTypes = buildUnnamed475(); o.warning = buildNodeTypesScopedListWarning(); } buildCounterNodeTypesScopedList--; @@ -27086,7 +27727,7 @@ api.NodeTypesScopedList buildNodeTypesScopedList() { void checkNodeTypesScopedList(api.NodeTypesScopedList o) { buildCounterNodeTypesScopedList++; if (buildCounterNodeTypesScopedList < 3) { - checkUnnamed460(o.nodeTypes!); + checkUnnamed475(o.nodeTypes!); checkNodeTypesScopedListWarning(o.warning!); } buildCounterNodeTypesScopedList--; @@ -27186,12 +27827,12 @@ void checkNotificationEndpointGrpcSettings( buildCounterNotificationEndpointGrpcSettings--; } -core.List buildUnnamed462() => [ +core.List buildUnnamed477() => [ buildNotificationEndpoint(), buildNotificationEndpoint(), ]; -void checkUnnamed462(core.List o) { +void checkUnnamed477(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNotificationEndpoint(o[0]); checkNotificationEndpoint(o[1]); @@ -27226,12 +27867,12 @@ void checkNotificationEndpointListWarningData( buildCounterNotificationEndpointListWarningData--; } -core.List buildUnnamed463() => [ +core.List buildUnnamed478() => [ buildNotificationEndpointListWarningData(), buildNotificationEndpointListWarningData(), ]; -void checkUnnamed463(core.List o) { +void checkUnnamed478(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNotificationEndpointListWarningData(o[0]); checkNotificationEndpointListWarningData(o[1]); @@ -27243,7 +27884,7 @@ api.NotificationEndpointListWarning buildNotificationEndpointListWarning() { buildCounterNotificationEndpointListWarning++; if (buildCounterNotificationEndpointListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed463(); + o.data = buildUnnamed478(); o.message = 'foo'; } buildCounterNotificationEndpointListWarning--; @@ -27258,7 +27899,7 @@ void checkNotificationEndpointListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed463(o.data!); + checkUnnamed478(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -27273,7 +27914,7 @@ api.NotificationEndpointList buildNotificationEndpointList() { buildCounterNotificationEndpointList++; if (buildCounterNotificationEndpointList < 3) { o.id = 'foo'; - o.items = buildUnnamed462(); + o.items = buildUnnamed477(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -27290,7 +27931,7 @@ void checkNotificationEndpointList(api.NotificationEndpointList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed462(o.items!); + checkUnnamed477(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -27334,12 +27975,12 @@ void checkOperationErrorErrorsErrorDetails( buildCounterOperationErrorErrorsErrorDetails--; } -core.List buildUnnamed464() => [ +core.List buildUnnamed479() => [ buildOperationErrorErrorsErrorDetails(), buildOperationErrorErrorsErrorDetails(), ]; -void checkUnnamed464(core.List o) { +void checkUnnamed479(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperationErrorErrorsErrorDetails(o[0]); checkOperationErrorErrorsErrorDetails(o[1]); @@ -27351,7 +27992,7 @@ api.OperationErrorErrors buildOperationErrorErrors() { buildCounterOperationErrorErrors++; if (buildCounterOperationErrorErrors < 3) { o.code = 'foo'; - o.errorDetails = buildUnnamed464(); + o.errorDetails = buildUnnamed479(); o.location = 'foo'; o.message = 'foo'; } @@ -27366,7 +28007,7 @@ void checkOperationErrorErrors(api.OperationErrorErrors o) { o.code!, unittest.equals('foo'), ); - checkUnnamed464(o.errorDetails!); + checkUnnamed479(o.errorDetails!); unittest.expect( o.location!, unittest.equals('foo'), @@ -27379,12 +28020,12 @@ void checkOperationErrorErrors(api.OperationErrorErrors o) { buildCounterOperationErrorErrors--; } -core.List buildUnnamed465() => [ +core.List buildUnnamed480() => [ buildOperationErrorErrors(), buildOperationErrorErrors(), ]; -void checkUnnamed465(core.List o) { +void checkUnnamed480(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperationErrorErrors(o[0]); checkOperationErrorErrors(o[1]); @@ -27395,7 +28036,7 @@ api.OperationError buildOperationError() { final o = api.OperationError(); buildCounterOperationError++; if (buildCounterOperationError < 3) { - o.errors = buildUnnamed465(); + o.errors = buildUnnamed480(); } buildCounterOperationError--; return o; @@ -27404,7 +28045,7 @@ api.OperationError buildOperationError() { void checkOperationError(api.OperationError o) { buildCounterOperationError++; if (buildCounterOperationError < 3) { - checkUnnamed465(o.errors!); + checkUnnamed480(o.errors!); } buildCounterOperationError--; } @@ -27436,12 +28077,12 @@ void checkOperationWarningsData(api.OperationWarningsData o) { buildCounterOperationWarningsData--; } -core.List buildUnnamed466() => [ +core.List buildUnnamed481() => [ buildOperationWarningsData(), buildOperationWarningsData(), ]; -void checkUnnamed466(core.List o) { +void checkUnnamed481(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperationWarningsData(o[0]); checkOperationWarningsData(o[1]); @@ -27453,7 +28094,7 @@ api.OperationWarnings buildOperationWarnings() { buildCounterOperationWarnings++; if (buildCounterOperationWarnings < 3) { o.code = 'foo'; - o.data = buildUnnamed466(); + o.data = buildUnnamed481(); o.message = 'foo'; } buildCounterOperationWarnings--; @@ -27467,7 +28108,7 @@ void checkOperationWarnings(api.OperationWarnings o) { o.code!, unittest.equals('foo'), ); - checkUnnamed466(o.data!); + checkUnnamed481(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -27476,12 +28117,12 @@ void checkOperationWarnings(api.OperationWarnings o) { buildCounterOperationWarnings--; } -core.List buildUnnamed467() => [ +core.List buildUnnamed482() => [ buildOperationWarnings(), buildOperationWarnings(), ]; -void checkUnnamed467(core.List o) { +void checkUnnamed482(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperationWarnings(o[0]); checkOperationWarnings(o[1]); @@ -27518,7 +28159,7 @@ api.Operation buildOperation() { o.targetId = 'foo'; o.targetLink = 'foo'; o.user = 'foo'; - o.warnings = buildUnnamed467(); + o.warnings = buildUnnamed482(); o.zone = 'foo'; } buildCounterOperation--; @@ -27617,7 +28258,7 @@ void checkOperation(api.Operation o) { o.user!, unittest.equals('foo'), ); - checkUnnamed467(o.warnings!); + checkUnnamed482(o.warnings!); unittest.expect( o.zone!, unittest.equals('foo'), @@ -27626,23 +28267,23 @@ void checkOperation(api.Operation o) { buildCounterOperation--; } -core.Map buildUnnamed468() => { +core.Map buildUnnamed483() => { 'x': buildOperationsScopedList(), 'y': buildOperationsScopedList(), }; -void checkUnnamed468(core.Map o) { +void checkUnnamed483(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkOperationsScopedList(o['x']!); checkOperationsScopedList(o['y']!); } -core.List buildUnnamed469() => [ +core.List buildUnnamed484() => [ 'foo', 'foo', ]; -void checkUnnamed469(core.List o) { +void checkUnnamed484(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -27683,12 +28324,12 @@ void checkOperationAggregatedListWarningData( buildCounterOperationAggregatedListWarningData--; } -core.List buildUnnamed470() => [ +core.List buildUnnamed485() => [ buildOperationAggregatedListWarningData(), buildOperationAggregatedListWarningData(), ]; -void checkUnnamed470(core.List o) { +void checkUnnamed485(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperationAggregatedListWarningData(o[0]); checkOperationAggregatedListWarningData(o[1]); @@ -27700,7 +28341,7 @@ api.OperationAggregatedListWarning buildOperationAggregatedListWarning() { buildCounterOperationAggregatedListWarning++; if (buildCounterOperationAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed470(); + o.data = buildUnnamed485(); o.message = 'foo'; } buildCounterOperationAggregatedListWarning--; @@ -27714,7 +28355,7 @@ void checkOperationAggregatedListWarning(api.OperationAggregatedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed470(o.data!); + checkUnnamed485(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -27729,11 +28370,11 @@ api.OperationAggregatedList buildOperationAggregatedList() { buildCounterOperationAggregatedList++; if (buildCounterOperationAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed468(); + o.items = buildUnnamed483(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed469(); + o.unreachables = buildUnnamed484(); o.warning = buildOperationAggregatedListWarning(); } buildCounterOperationAggregatedList--; @@ -27747,7 +28388,7 @@ void checkOperationAggregatedList(api.OperationAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed468(o.items!); + checkUnnamed483(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -27760,18 +28401,18 @@ void checkOperationAggregatedList(api.OperationAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed469(o.unreachables!); + checkUnnamed484(o.unreachables!); checkOperationAggregatedListWarning(o.warning!); } buildCounterOperationAggregatedList--; } -core.List buildUnnamed471() => [ +core.List buildUnnamed486() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed471(core.List o) { +void checkUnnamed486(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -27804,12 +28445,12 @@ void checkOperationListWarningData(api.OperationListWarningData o) { buildCounterOperationListWarningData--; } -core.List buildUnnamed472() => [ +core.List buildUnnamed487() => [ buildOperationListWarningData(), buildOperationListWarningData(), ]; -void checkUnnamed472(core.List o) { +void checkUnnamed487(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperationListWarningData(o[0]); checkOperationListWarningData(o[1]); @@ -27821,7 +28462,7 @@ api.OperationListWarning buildOperationListWarning() { buildCounterOperationListWarning++; if (buildCounterOperationListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed472(); + o.data = buildUnnamed487(); o.message = 'foo'; } buildCounterOperationListWarning--; @@ -27835,7 +28476,7 @@ void checkOperationListWarning(api.OperationListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed472(o.data!); + checkUnnamed487(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -27850,7 +28491,7 @@ api.OperationList buildOperationList() { buildCounterOperationList++; if (buildCounterOperationList < 3) { o.id = 'foo'; - o.items = buildUnnamed471(); + o.items = buildUnnamed486(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -27867,7 +28508,7 @@ void checkOperationList(api.OperationList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed471(o.items!); + checkUnnamed486(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -27885,12 +28526,12 @@ void checkOperationList(api.OperationList o) { buildCounterOperationList--; } -core.List buildUnnamed473() => [ +core.List buildUnnamed488() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed473(core.List o) { +void checkUnnamed488(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -27924,12 +28565,12 @@ void checkOperationsScopedListWarningData( buildCounterOperationsScopedListWarningData--; } -core.List buildUnnamed474() => [ +core.List buildUnnamed489() => [ buildOperationsScopedListWarningData(), buildOperationsScopedListWarningData(), ]; -void checkUnnamed474(core.List o) { +void checkUnnamed489(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperationsScopedListWarningData(o[0]); checkOperationsScopedListWarningData(o[1]); @@ -27941,7 +28582,7 @@ api.OperationsScopedListWarning buildOperationsScopedListWarning() { buildCounterOperationsScopedListWarning++; if (buildCounterOperationsScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed474(); + o.data = buildUnnamed489(); o.message = 'foo'; } buildCounterOperationsScopedListWarning--; @@ -27955,7 +28596,7 @@ void checkOperationsScopedListWarning(api.OperationsScopedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed474(o.data!); + checkUnnamed489(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -27969,7 +28610,7 @@ api.OperationsScopedList buildOperationsScopedList() { final o = api.OperationsScopedList(); buildCounterOperationsScopedList++; if (buildCounterOperationsScopedList < 3) { - o.operations = buildUnnamed473(); + o.operations = buildUnnamed488(); o.warning = buildOperationsScopedListWarning(); } buildCounterOperationsScopedList--; @@ -27979,7 +28620,7 @@ api.OperationsScopedList buildOperationsScopedList() { void checkOperationsScopedList(api.OperationsScopedList o) { buildCounterOperationsScopedList++; if (buildCounterOperationsScopedList < 3) { - checkUnnamed473(o.operations!); + checkUnnamed488(o.operations!); checkOperationsScopedListWarning(o.warning!); } buildCounterOperationsScopedList--; @@ -28168,23 +28809,23 @@ void checkPacketMirroring(api.PacketMirroring o) { buildCounterPacketMirroring--; } -core.Map buildUnnamed475() => { +core.Map buildUnnamed490() => { 'x': buildPacketMirroringsScopedList(), 'y': buildPacketMirroringsScopedList(), }; -void checkUnnamed475(core.Map o) { +void checkUnnamed490(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkPacketMirroringsScopedList(o['x']!); checkPacketMirroringsScopedList(o['y']!); } -core.List buildUnnamed476() => [ +core.List buildUnnamed491() => [ 'foo', 'foo', ]; -void checkUnnamed476(core.List o) { +void checkUnnamed491(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -28225,12 +28866,12 @@ void checkPacketMirroringAggregatedListWarningData( buildCounterPacketMirroringAggregatedListWarningData--; } -core.List buildUnnamed477() => [ +core.List buildUnnamed492() => [ buildPacketMirroringAggregatedListWarningData(), buildPacketMirroringAggregatedListWarningData(), ]; -void checkUnnamed477( +void checkUnnamed492( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPacketMirroringAggregatedListWarningData(o[0]); @@ -28244,7 +28885,7 @@ api.PacketMirroringAggregatedListWarning buildCounterPacketMirroringAggregatedListWarning++; if (buildCounterPacketMirroringAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed477(); + o.data = buildUnnamed492(); o.message = 'foo'; } buildCounterPacketMirroringAggregatedListWarning--; @@ -28259,7 +28900,7 @@ void checkPacketMirroringAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed477(o.data!); + checkUnnamed492(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -28274,11 +28915,11 @@ api.PacketMirroringAggregatedList buildPacketMirroringAggregatedList() { buildCounterPacketMirroringAggregatedList++; if (buildCounterPacketMirroringAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed475(); + o.items = buildUnnamed490(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed476(); + o.unreachables = buildUnnamed491(); o.warning = buildPacketMirroringAggregatedListWarning(); } buildCounterPacketMirroringAggregatedList--; @@ -28292,7 +28933,7 @@ void checkPacketMirroringAggregatedList(api.PacketMirroringAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed475(o.items!); + checkUnnamed490(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -28305,18 +28946,18 @@ void checkPacketMirroringAggregatedList(api.PacketMirroringAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed476(o.unreachables!); + checkUnnamed491(o.unreachables!); checkPacketMirroringAggregatedListWarning(o.warning!); } buildCounterPacketMirroringAggregatedList--; } -core.List buildUnnamed478() => [ +core.List buildUnnamed493() => [ 'foo', 'foo', ]; -void checkUnnamed478(core.List o) { +void checkUnnamed493(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -28328,12 +28969,12 @@ void checkUnnamed478(core.List o) { ); } -core.List buildUnnamed479() => [ +core.List buildUnnamed494() => [ 'foo', 'foo', ]; -void checkUnnamed479(core.List o) { +void checkUnnamed494(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -28350,8 +28991,8 @@ api.PacketMirroringFilter buildPacketMirroringFilter() { final o = api.PacketMirroringFilter(); buildCounterPacketMirroringFilter++; if (buildCounterPacketMirroringFilter < 3) { - o.IPProtocols = buildUnnamed478(); - o.cidrRanges = buildUnnamed479(); + o.IPProtocols = buildUnnamed493(); + o.cidrRanges = buildUnnamed494(); o.direction = 'foo'; } buildCounterPacketMirroringFilter--; @@ -28361,8 +29002,8 @@ api.PacketMirroringFilter buildPacketMirroringFilter() { void checkPacketMirroringFilter(api.PacketMirroringFilter o) { buildCounterPacketMirroringFilter++; if (buildCounterPacketMirroringFilter < 3) { - checkUnnamed478(o.IPProtocols!); - checkUnnamed479(o.cidrRanges!); + checkUnnamed493(o.IPProtocols!); + checkUnnamed494(o.cidrRanges!); unittest.expect( o.direction!, unittest.equals('foo'), @@ -28399,12 +29040,12 @@ void checkPacketMirroringForwardingRuleInfo( buildCounterPacketMirroringForwardingRuleInfo--; } -core.List buildUnnamed480() => [ +core.List buildUnnamed495() => [ buildPacketMirroring(), buildPacketMirroring(), ]; -void checkUnnamed480(core.List o) { +void checkUnnamed495(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPacketMirroring(o[0]); checkPacketMirroring(o[1]); @@ -28437,12 +29078,12 @@ void checkPacketMirroringListWarningData(api.PacketMirroringListWarningData o) { buildCounterPacketMirroringListWarningData--; } -core.List buildUnnamed481() => [ +core.List buildUnnamed496() => [ buildPacketMirroringListWarningData(), buildPacketMirroringListWarningData(), ]; -void checkUnnamed481(core.List o) { +void checkUnnamed496(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPacketMirroringListWarningData(o[0]); checkPacketMirroringListWarningData(o[1]); @@ -28454,7 +29095,7 @@ api.PacketMirroringListWarning buildPacketMirroringListWarning() { buildCounterPacketMirroringListWarning++; if (buildCounterPacketMirroringListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed481(); + o.data = buildUnnamed496(); o.message = 'foo'; } buildCounterPacketMirroringListWarning--; @@ -28468,7 +29109,7 @@ void checkPacketMirroringListWarning(api.PacketMirroringListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed481(o.data!); + checkUnnamed496(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -28483,7 +29124,7 @@ api.PacketMirroringList buildPacketMirroringList() { buildCounterPacketMirroringList++; if (buildCounterPacketMirroringList < 3) { o.id = 'foo'; - o.items = buildUnnamed480(); + o.items = buildUnnamed495(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -28500,7 +29141,7 @@ void checkPacketMirroringList(api.PacketMirroringList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed480(o.items!); + checkUnnamed495(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -28519,12 +29160,12 @@ void checkPacketMirroringList(api.PacketMirroringList o) { } core.List - buildUnnamed482() => [ + buildUnnamed497() => [ buildPacketMirroringMirroredResourceInfoInstanceInfo(), buildPacketMirroringMirroredResourceInfoInstanceInfo(), ]; -void checkUnnamed482( +void checkUnnamed497( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPacketMirroringMirroredResourceInfoInstanceInfo(o[0]); @@ -28532,24 +29173,24 @@ void checkUnnamed482( } core.List - buildUnnamed483() => [ + buildUnnamed498() => [ buildPacketMirroringMirroredResourceInfoSubnetInfo(), buildPacketMirroringMirroredResourceInfoSubnetInfo(), ]; -void checkUnnamed483( +void checkUnnamed498( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPacketMirroringMirroredResourceInfoSubnetInfo(o[0]); checkPacketMirroringMirroredResourceInfoSubnetInfo(o[1]); } -core.List buildUnnamed484() => [ +core.List buildUnnamed499() => [ 'foo', 'foo', ]; -void checkUnnamed484(core.List o) { +void checkUnnamed499(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -28567,9 +29208,9 @@ api.PacketMirroringMirroredResourceInfo final o = api.PacketMirroringMirroredResourceInfo(); buildCounterPacketMirroringMirroredResourceInfo++; if (buildCounterPacketMirroringMirroredResourceInfo < 3) { - o.instances = buildUnnamed482(); - o.subnetworks = buildUnnamed483(); - o.tags = buildUnnamed484(); + o.instances = buildUnnamed497(); + o.subnetworks = buildUnnamed498(); + o.tags = buildUnnamed499(); } buildCounterPacketMirroringMirroredResourceInfo--; return o; @@ -28579,9 +29220,9 @@ void checkPacketMirroringMirroredResourceInfo( api.PacketMirroringMirroredResourceInfo o) { buildCounterPacketMirroringMirroredResourceInfo++; if (buildCounterPacketMirroringMirroredResourceInfo < 3) { - checkUnnamed482(o.instances!); - checkUnnamed483(o.subnetworks!); - checkUnnamed484(o.tags!); + checkUnnamed497(o.instances!); + checkUnnamed498(o.subnetworks!); + checkUnnamed499(o.tags!); } buildCounterPacketMirroringMirroredResourceInfo--; } @@ -28671,12 +29312,12 @@ void checkPacketMirroringNetworkInfo(api.PacketMirroringNetworkInfo o) { buildCounterPacketMirroringNetworkInfo--; } -core.List buildUnnamed485() => [ +core.List buildUnnamed500() => [ buildPacketMirroring(), buildPacketMirroring(), ]; -void checkUnnamed485(core.List o) { +void checkUnnamed500(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPacketMirroring(o[0]); checkPacketMirroring(o[1]); @@ -28711,12 +29352,12 @@ void checkPacketMirroringsScopedListWarningData( buildCounterPacketMirroringsScopedListWarningData--; } -core.List buildUnnamed486() => [ +core.List buildUnnamed501() => [ buildPacketMirroringsScopedListWarningData(), buildPacketMirroringsScopedListWarningData(), ]; -void checkUnnamed486(core.List o) { +void checkUnnamed501(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPacketMirroringsScopedListWarningData(o[0]); checkPacketMirroringsScopedListWarningData(o[1]); @@ -28728,7 +29369,7 @@ api.PacketMirroringsScopedListWarning buildPacketMirroringsScopedListWarning() { buildCounterPacketMirroringsScopedListWarning++; if (buildCounterPacketMirroringsScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed486(); + o.data = buildUnnamed501(); o.message = 'foo'; } buildCounterPacketMirroringsScopedListWarning--; @@ -28743,7 +29384,7 @@ void checkPacketMirroringsScopedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed486(o.data!); + checkUnnamed501(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -28757,7 +29398,7 @@ api.PacketMirroringsScopedList buildPacketMirroringsScopedList() { final o = api.PacketMirroringsScopedList(); buildCounterPacketMirroringsScopedList++; if (buildCounterPacketMirroringsScopedList < 3) { - o.packetMirrorings = buildUnnamed485(); + o.packetMirrorings = buildUnnamed500(); o.warning = buildPacketMirroringsScopedListWarning(); } buildCounterPacketMirroringsScopedList--; @@ -28767,29 +29408,29 @@ api.PacketMirroringsScopedList buildPacketMirroringsScopedList() { void checkPacketMirroringsScopedList(api.PacketMirroringsScopedList o) { buildCounterPacketMirroringsScopedList++; if (buildCounterPacketMirroringsScopedList < 3) { - checkUnnamed485(o.packetMirrorings!); + checkUnnamed500(o.packetMirrorings!); checkPacketMirroringsScopedListWarning(o.warning!); } buildCounterPacketMirroringsScopedList--; } -core.List buildUnnamed487() => [ +core.List buildUnnamed502() => [ buildPathRule(), buildPathRule(), ]; -void checkUnnamed487(core.List o) { +void checkUnnamed502(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPathRule(o[0]); checkPathRule(o[1]); } -core.List buildUnnamed488() => [ +core.List buildUnnamed503() => [ buildHttpRouteRule(), buildHttpRouteRule(), ]; -void checkUnnamed488(core.List o) { +void checkUnnamed503(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHttpRouteRule(o[0]); checkHttpRouteRule(o[1]); @@ -28807,8 +29448,8 @@ api.PathMatcher buildPathMatcher() { o.description = 'foo'; o.headerAction = buildHttpHeaderAction(); o.name = 'foo'; - o.pathRules = buildUnnamed487(); - o.routeRules = buildUnnamed488(); + o.pathRules = buildUnnamed502(); + o.routeRules = buildUnnamed503(); } buildCounterPathMatcher--; return o; @@ -28833,18 +29474,18 @@ void checkPathMatcher(api.PathMatcher o) { o.name!, unittest.equals('foo'), ); - checkUnnamed487(o.pathRules!); - checkUnnamed488(o.routeRules!); + checkUnnamed502(o.pathRules!); + checkUnnamed503(o.routeRules!); } buildCounterPathMatcher--; } -core.List buildUnnamed489() => [ +core.List buildUnnamed504() => [ 'foo', 'foo', ]; -void checkUnnamed489(core.List o) { +void checkUnnamed504(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -28862,7 +29503,7 @@ api.PathRule buildPathRule() { buildCounterPathRule++; if (buildCounterPathRule < 3) { o.customErrorResponsePolicy = buildCustomErrorResponsePolicy(); - o.paths = buildUnnamed489(); + o.paths = buildUnnamed504(); o.routeAction = buildHttpRouteAction(); o.service = 'foo'; o.urlRedirect = buildHttpRedirectAction(); @@ -28875,7 +29516,7 @@ void checkPathRule(api.PathRule o) { buildCounterPathRule++; if (buildCounterPathRule < 3) { checkCustomErrorResponsePolicy(o.customErrorResponsePolicy!); - checkUnnamed489(o.paths!); + checkUnnamed504(o.paths!); checkHttpRouteAction(o.routeAction!); unittest.expect( o.service!, @@ -28920,23 +29561,23 @@ void checkPerInstanceConfig(api.PerInstanceConfig o) { buildCounterPerInstanceConfig--; } -core.List buildUnnamed490() => [ +core.List buildUnnamed505() => [ buildAuditConfig(), buildAuditConfig(), ]; -void checkUnnamed490(core.List o) { +void checkUnnamed505(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuditConfig(o[0]); checkAuditConfig(o[1]); } -core.List buildUnnamed491() => [ +core.List buildUnnamed506() => [ buildBinding(), buildBinding(), ]; -void checkUnnamed491(core.List o) { +void checkUnnamed506(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBinding(o[0]); checkBinding(o[1]); @@ -28947,8 +29588,8 @@ api.Policy buildPolicy() { final o = api.Policy(); buildCounterPolicy++; if (buildCounterPolicy < 3) { - o.auditConfigs = buildUnnamed490(); - o.bindings = buildUnnamed491(); + o.auditConfigs = buildUnnamed505(); + o.bindings = buildUnnamed506(); o.etag = 'foo'; o.version = 42; } @@ -28959,8 +29600,8 @@ api.Policy buildPolicy() { void checkPolicy(api.Policy o) { buildCounterPolicy++; if (buildCounterPolicy < 3) { - checkUnnamed490(o.auditConfigs!); - checkUnnamed491(o.bindings!); + checkUnnamed505(o.auditConfigs!); + checkUnnamed506(o.bindings!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -28973,12 +29614,12 @@ void checkPolicy(api.Policy o) { buildCounterPolicy--; } -core.List buildUnnamed492() => [ +core.List buildUnnamed507() => [ buildWafExpressionSet(), buildWafExpressionSet(), ]; -void checkUnnamed492(core.List o) { +void checkUnnamed507(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWafExpressionSet(o[0]); checkWafExpressionSet(o[1]); @@ -28989,7 +29630,7 @@ api.PreconfiguredWafSet buildPreconfiguredWafSet() { final o = api.PreconfiguredWafSet(); buildCounterPreconfiguredWafSet++; if (buildCounterPreconfiguredWafSet < 3) { - o.expressionSets = buildUnnamed492(); + o.expressionSets = buildUnnamed507(); } buildCounterPreconfiguredWafSet--; return o; @@ -28998,54 +29639,54 @@ api.PreconfiguredWafSet buildPreconfiguredWafSet() { void checkPreconfiguredWafSet(api.PreconfiguredWafSet o) { buildCounterPreconfiguredWafSet++; if (buildCounterPreconfiguredWafSet < 3) { - checkUnnamed492(o.expressionSets!); + checkUnnamed507(o.expressionSets!); } buildCounterPreconfiguredWafSet--; } -core.Map buildUnnamed493() => { +core.Map buildUnnamed508() => { 'x': buildPreservedStatePreservedDisk(), 'y': buildPreservedStatePreservedDisk(), }; -void checkUnnamed493(core.Map o) { +void checkUnnamed508(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkPreservedStatePreservedDisk(o['x']!); checkPreservedStatePreservedDisk(o['y']!); } -core.Map buildUnnamed494() => +core.Map buildUnnamed509() => { 'x': buildPreservedStatePreservedNetworkIp(), 'y': buildPreservedStatePreservedNetworkIp(), }; -void checkUnnamed494( +void checkUnnamed509( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkPreservedStatePreservedNetworkIp(o['x']!); checkPreservedStatePreservedNetworkIp(o['y']!); } -core.Map buildUnnamed495() => +core.Map buildUnnamed510() => { 'x': buildPreservedStatePreservedNetworkIp(), 'y': buildPreservedStatePreservedNetworkIp(), }; -void checkUnnamed495( +void checkUnnamed510( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkPreservedStatePreservedNetworkIp(o['x']!); checkPreservedStatePreservedNetworkIp(o['y']!); } -core.Map buildUnnamed496() => { +core.Map buildUnnamed511() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed496(core.Map o) { +void checkUnnamed511(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -29062,10 +29703,10 @@ api.PreservedState buildPreservedState() { final o = api.PreservedState(); buildCounterPreservedState++; if (buildCounterPreservedState < 3) { - o.disks = buildUnnamed493(); - o.externalIPs = buildUnnamed494(); - o.internalIPs = buildUnnamed495(); - o.metadata = buildUnnamed496(); + o.disks = buildUnnamed508(); + o.externalIPs = buildUnnamed509(); + o.internalIPs = buildUnnamed510(); + o.metadata = buildUnnamed511(); } buildCounterPreservedState--; return o; @@ -29074,10 +29715,10 @@ api.PreservedState buildPreservedState() { void checkPreservedState(api.PreservedState o) { buildCounterPreservedState++; if (buildCounterPreservedState < 3) { - checkUnnamed493(o.disks!); - checkUnnamed494(o.externalIPs!); - checkUnnamed495(o.internalIPs!); - checkUnnamed496(o.metadata!); + checkUnnamed508(o.disks!); + checkUnnamed509(o.externalIPs!); + checkUnnamed510(o.internalIPs!); + checkUnnamed511(o.metadata!); } buildCounterPreservedState--; } @@ -29168,12 +29809,12 @@ void checkPreservedStatePreservedNetworkIpIpAddress( buildCounterPreservedStatePreservedNetworkIpIpAddress--; } -core.List buildUnnamed497() => [ +core.List buildUnnamed512() => [ 'foo', 'foo', ]; -void checkUnnamed497(core.List o) { +void checkUnnamed512(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -29185,12 +29826,12 @@ void checkUnnamed497(core.List o) { ); } -core.List buildUnnamed498() => [ +core.List buildUnnamed513() => [ buildQuota(), buildQuota(), ]; -void checkUnnamed498(core.List o) { +void checkUnnamed513(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkQuota(o[0]); checkQuota(o[1]); @@ -29207,11 +29848,11 @@ api.Project buildProject() { o.defaultNetworkTier = 'foo'; o.defaultServiceAccount = 'foo'; o.description = 'foo'; - o.enabledFeatures = buildUnnamed497(); + o.enabledFeatures = buildUnnamed512(); o.id = 'foo'; o.kind = 'foo'; o.name = 'foo'; - o.quotas = buildUnnamed498(); + o.quotas = buildUnnamed513(); o.selfLink = 'foo'; o.usageExportLocation = buildUsageExportLocation(); o.vmDnsSetting = 'foo'; @@ -29245,7 +29886,7 @@ void checkProject(api.Project o) { o.description!, unittest.equals('foo'), ); - checkUnnamed497(o.enabledFeatures!); + checkUnnamed512(o.enabledFeatures!); unittest.expect( o.id!, unittest.equals('foo'), @@ -29258,7 +29899,7 @@ void checkProject(api.Project o) { o.name!, unittest.equals('foo'), ); - checkUnnamed498(o.quotas!); + checkUnnamed513(o.quotas!); unittest.expect( o.selfLink!, unittest.equals('foo'), @@ -29316,12 +29957,12 @@ void checkProjectsEnableXpnResourceRequest( buildCounterProjectsEnableXpnResourceRequest--; } -core.List buildUnnamed499() => [ +core.List buildUnnamed514() => [ buildXpnResourceId(), buildXpnResourceId(), ]; -void checkUnnamed499(core.List o) { +void checkUnnamed514(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkXpnResourceId(o[0]); checkXpnResourceId(o[1]); @@ -29334,7 +29975,7 @@ api.ProjectsGetXpnResources buildProjectsGetXpnResources() { if (buildCounterProjectsGetXpnResources < 3) { o.kind = 'foo'; o.nextPageToken = 'foo'; - o.resources = buildUnnamed499(); + o.resources = buildUnnamed514(); } buildCounterProjectsGetXpnResources--; return o; @@ -29351,7 +29992,7 @@ void checkProjectsGetXpnResources(api.ProjectsGetXpnResources o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed499(o.resources!); + checkUnnamed514(o.resources!); } buildCounterProjectsGetXpnResources--; } @@ -29425,13 +30066,13 @@ void checkProjectsSetDefaultNetworkTierRequest( buildCounterProjectsSetDefaultNetworkTierRequest--; } -core.List buildUnnamed500() => +core.List buildUnnamed515() => [ buildPublicAdvertisedPrefixPublicDelegatedPrefix(), buildPublicAdvertisedPrefixPublicDelegatedPrefix(), ]; -void checkUnnamed500( +void checkUnnamed515( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPublicAdvertisedPrefixPublicDelegatedPrefix(o[0]); @@ -29453,7 +30094,7 @@ api.PublicAdvertisedPrefix buildPublicAdvertisedPrefix() { o.kind = 'foo'; o.name = 'foo'; o.pdpScope = 'foo'; - o.publicDelegatedPrefixs = buildUnnamed500(); + o.publicDelegatedPrefixs = buildUnnamed515(); o.selfLink = 'foo'; o.sharedSecret = 'foo'; o.status = 'foo'; @@ -29505,7 +30146,7 @@ void checkPublicAdvertisedPrefix(api.PublicAdvertisedPrefix o) { o.pdpScope!, unittest.equals('foo'), ); - checkUnnamed500(o.publicDelegatedPrefixs!); + checkUnnamed515(o.publicDelegatedPrefixs!); unittest.expect( o.selfLink!, unittest.equals('foo'), @@ -29522,12 +30163,12 @@ void checkPublicAdvertisedPrefix(api.PublicAdvertisedPrefix o) { buildCounterPublicAdvertisedPrefix--; } -core.List buildUnnamed501() => [ +core.List buildUnnamed516() => [ buildPublicAdvertisedPrefix(), buildPublicAdvertisedPrefix(), ]; -void checkUnnamed501(core.List o) { +void checkUnnamed516(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPublicAdvertisedPrefix(o[0]); checkPublicAdvertisedPrefix(o[1]); @@ -29562,12 +30203,12 @@ void checkPublicAdvertisedPrefixListWarningData( buildCounterPublicAdvertisedPrefixListWarningData--; } -core.List buildUnnamed502() => [ +core.List buildUnnamed517() => [ buildPublicAdvertisedPrefixListWarningData(), buildPublicAdvertisedPrefixListWarningData(), ]; -void checkUnnamed502(core.List o) { +void checkUnnamed517(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPublicAdvertisedPrefixListWarningData(o[0]); checkPublicAdvertisedPrefixListWarningData(o[1]); @@ -29579,7 +30220,7 @@ api.PublicAdvertisedPrefixListWarning buildPublicAdvertisedPrefixListWarning() { buildCounterPublicAdvertisedPrefixListWarning++; if (buildCounterPublicAdvertisedPrefixListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed502(); + o.data = buildUnnamed517(); o.message = 'foo'; } buildCounterPublicAdvertisedPrefixListWarning--; @@ -29594,7 +30235,7 @@ void checkPublicAdvertisedPrefixListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed502(o.data!); + checkUnnamed517(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -29609,7 +30250,7 @@ api.PublicAdvertisedPrefixList buildPublicAdvertisedPrefixList() { buildCounterPublicAdvertisedPrefixList++; if (buildCounterPublicAdvertisedPrefixList < 3) { o.id = 'foo'; - o.items = buildUnnamed501(); + o.items = buildUnnamed516(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -29626,7 +30267,7 @@ void checkPublicAdvertisedPrefixList(api.PublicAdvertisedPrefixList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed501(o.items!); + checkUnnamed516(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -29689,12 +30330,12 @@ void checkPublicAdvertisedPrefixPublicDelegatedPrefix( } core.List - buildUnnamed503() => [ + buildUnnamed518() => [ buildPublicDelegatedPrefixPublicDelegatedSubPrefix(), buildPublicDelegatedPrefixPublicDelegatedSubPrefix(), ]; -void checkUnnamed503( +void checkUnnamed518( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPublicDelegatedPrefixPublicDelegatedSubPrefix(o[0]); @@ -29718,7 +30359,7 @@ api.PublicDelegatedPrefix buildPublicDelegatedPrefix() { o.mode = 'foo'; o.name = 'foo'; o.parentPrefix = 'foo'; - o.publicDelegatedSubPrefixs = buildUnnamed503(); + o.publicDelegatedSubPrefixs = buildUnnamed518(); o.region = 'foo'; o.selfLink = 'foo'; o.status = 'foo'; @@ -29775,7 +30416,7 @@ void checkPublicDelegatedPrefix(api.PublicDelegatedPrefix o) { o.parentPrefix!, unittest.equals('foo'), ); - checkUnnamed503(o.publicDelegatedSubPrefixs!); + checkUnnamed518(o.publicDelegatedSubPrefixs!); unittest.expect( o.region!, unittest.equals('foo'), @@ -29793,24 +30434,24 @@ void checkPublicDelegatedPrefix(api.PublicDelegatedPrefix o) { } core.Map - buildUnnamed504() => { + buildUnnamed519() => { 'x': buildPublicDelegatedPrefixesScopedList(), 'y': buildPublicDelegatedPrefixesScopedList(), }; -void checkUnnamed504( +void checkUnnamed519( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkPublicDelegatedPrefixesScopedList(o['x']!); checkPublicDelegatedPrefixesScopedList(o['y']!); } -core.List buildUnnamed505() => [ +core.List buildUnnamed520() => [ 'foo', 'foo', ]; -void checkUnnamed505(core.List o) { +void checkUnnamed520(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -29852,12 +30493,12 @@ void checkPublicDelegatedPrefixAggregatedListWarningData( } core.List - buildUnnamed506() => [ + buildUnnamed521() => [ buildPublicDelegatedPrefixAggregatedListWarningData(), buildPublicDelegatedPrefixAggregatedListWarningData(), ]; -void checkUnnamed506( +void checkUnnamed521( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPublicDelegatedPrefixAggregatedListWarningData(o[0]); @@ -29871,7 +30512,7 @@ api.PublicDelegatedPrefixAggregatedListWarning buildCounterPublicDelegatedPrefixAggregatedListWarning++; if (buildCounterPublicDelegatedPrefixAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed506(); + o.data = buildUnnamed521(); o.message = 'foo'; } buildCounterPublicDelegatedPrefixAggregatedListWarning--; @@ -29886,7 +30527,7 @@ void checkPublicDelegatedPrefixAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed506(o.data!); + checkUnnamed521(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -29902,11 +30543,11 @@ api.PublicDelegatedPrefixAggregatedList buildCounterPublicDelegatedPrefixAggregatedList++; if (buildCounterPublicDelegatedPrefixAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed504(); + o.items = buildUnnamed519(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed505(); + o.unreachables = buildUnnamed520(); o.warning = buildPublicDelegatedPrefixAggregatedListWarning(); } buildCounterPublicDelegatedPrefixAggregatedList--; @@ -29921,7 +30562,7 @@ void checkPublicDelegatedPrefixAggregatedList( o.id!, unittest.equals('foo'), ); - checkUnnamed504(o.items!); + checkUnnamed519(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -29934,18 +30575,18 @@ void checkPublicDelegatedPrefixAggregatedList( o.selfLink!, unittest.equals('foo'), ); - checkUnnamed505(o.unreachables!); + checkUnnamed520(o.unreachables!); checkPublicDelegatedPrefixAggregatedListWarning(o.warning!); } buildCounterPublicDelegatedPrefixAggregatedList--; } -core.List buildUnnamed507() => [ +core.List buildUnnamed522() => [ buildPublicDelegatedPrefix(), buildPublicDelegatedPrefix(), ]; -void checkUnnamed507(core.List o) { +void checkUnnamed522(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPublicDelegatedPrefix(o[0]); checkPublicDelegatedPrefix(o[1]); @@ -29980,12 +30621,12 @@ void checkPublicDelegatedPrefixListWarningData( buildCounterPublicDelegatedPrefixListWarningData--; } -core.List buildUnnamed508() => [ +core.List buildUnnamed523() => [ buildPublicDelegatedPrefixListWarningData(), buildPublicDelegatedPrefixListWarningData(), ]; -void checkUnnamed508(core.List o) { +void checkUnnamed523(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPublicDelegatedPrefixListWarningData(o[0]); checkPublicDelegatedPrefixListWarningData(o[1]); @@ -29997,7 +30638,7 @@ api.PublicDelegatedPrefixListWarning buildPublicDelegatedPrefixListWarning() { buildCounterPublicDelegatedPrefixListWarning++; if (buildCounterPublicDelegatedPrefixListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed508(); + o.data = buildUnnamed523(); o.message = 'foo'; } buildCounterPublicDelegatedPrefixListWarning--; @@ -30012,7 +30653,7 @@ void checkPublicDelegatedPrefixListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed508(o.data!); + checkUnnamed523(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -30027,7 +30668,7 @@ api.PublicDelegatedPrefixList buildPublicDelegatedPrefixList() { buildCounterPublicDelegatedPrefixList++; if (buildCounterPublicDelegatedPrefixList < 3) { o.id = 'foo'; - o.items = buildUnnamed507(); + o.items = buildUnnamed522(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -30044,7 +30685,7 @@ void checkPublicDelegatedPrefixList(api.PublicDelegatedPrefixList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed507(o.items!); + checkUnnamed522(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -30123,12 +30764,12 @@ void checkPublicDelegatedPrefixPublicDelegatedSubPrefix( buildCounterPublicDelegatedPrefixPublicDelegatedSubPrefix--; } -core.List buildUnnamed509() => [ +core.List buildUnnamed524() => [ buildPublicDelegatedPrefix(), buildPublicDelegatedPrefix(), ]; -void checkUnnamed509(core.List o) { +void checkUnnamed524(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPublicDelegatedPrefix(o[0]); checkPublicDelegatedPrefix(o[1]); @@ -30163,13 +30804,13 @@ void checkPublicDelegatedPrefixesScopedListWarningData( buildCounterPublicDelegatedPrefixesScopedListWarningData--; } -core.List buildUnnamed510() => +core.List buildUnnamed525() => [ buildPublicDelegatedPrefixesScopedListWarningData(), buildPublicDelegatedPrefixesScopedListWarningData(), ]; -void checkUnnamed510( +void checkUnnamed525( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPublicDelegatedPrefixesScopedListWarningData(o[0]); @@ -30183,7 +30824,7 @@ api.PublicDelegatedPrefixesScopedListWarning buildCounterPublicDelegatedPrefixesScopedListWarning++; if (buildCounterPublicDelegatedPrefixesScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed510(); + o.data = buildUnnamed525(); o.message = 'foo'; } buildCounterPublicDelegatedPrefixesScopedListWarning--; @@ -30198,7 +30839,7 @@ void checkPublicDelegatedPrefixesScopedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed510(o.data!); + checkUnnamed525(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -30212,7 +30853,7 @@ api.PublicDelegatedPrefixesScopedList buildPublicDelegatedPrefixesScopedList() { final o = api.PublicDelegatedPrefixesScopedList(); buildCounterPublicDelegatedPrefixesScopedList++; if (buildCounterPublicDelegatedPrefixesScopedList < 3) { - o.publicDelegatedPrefixes = buildUnnamed509(); + o.publicDelegatedPrefixes = buildUnnamed524(); o.warning = buildPublicDelegatedPrefixesScopedListWarning(); } buildCounterPublicDelegatedPrefixesScopedList--; @@ -30223,7 +30864,7 @@ void checkPublicDelegatedPrefixesScopedList( api.PublicDelegatedPrefixesScopedList o) { buildCounterPublicDelegatedPrefixesScopedList++; if (buildCounterPublicDelegatedPrefixesScopedList < 3) { - checkUnnamed509(o.publicDelegatedPrefixes!); + checkUnnamed524(o.publicDelegatedPrefixes!); checkPublicDelegatedPrefixesScopedListWarning(o.warning!); } buildCounterPublicDelegatedPrefixesScopedList--; @@ -30266,12 +30907,12 @@ void checkQuota(api.Quota o) { buildCounterQuota--; } -core.Map buildUnnamed511() => { +core.Map buildUnnamed526() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed511(core.Map o) { +void checkUnnamed526(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -30288,7 +30929,7 @@ api.QuotaExceededInfo buildQuotaExceededInfo() { final o = api.QuotaExceededInfo(); buildCounterQuotaExceededInfo++; if (buildCounterQuotaExceededInfo < 3) { - o.dimensions = buildUnnamed511(); + o.dimensions = buildUnnamed526(); o.futureLimit = 42.0; o.limit = 42.0; o.limitName = 'foo'; @@ -30302,7 +30943,7 @@ api.QuotaExceededInfo buildQuotaExceededInfo() { void checkQuotaExceededInfo(api.QuotaExceededInfo o) { buildCounterQuotaExceededInfo++; if (buildCounterQuotaExceededInfo < 3) { - checkUnnamed511(o.dimensions!); + checkUnnamed526(o.dimensions!); unittest.expect( o.futureLimit!, unittest.equals(42.0), @@ -30391,12 +31032,12 @@ void checkRegionQuotaStatusWarningData(api.RegionQuotaStatusWarningData o) { buildCounterRegionQuotaStatusWarningData--; } -core.List buildUnnamed512() => [ +core.List buildUnnamed527() => [ buildRegionQuotaStatusWarningData(), buildRegionQuotaStatusWarningData(), ]; -void checkUnnamed512(core.List o) { +void checkUnnamed527(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRegionQuotaStatusWarningData(o[0]); checkRegionQuotaStatusWarningData(o[1]); @@ -30408,7 +31049,7 @@ api.RegionQuotaStatusWarning buildRegionQuotaStatusWarning() { buildCounterRegionQuotaStatusWarning++; if (buildCounterRegionQuotaStatusWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed512(); + o.data = buildUnnamed527(); o.message = 'foo'; } buildCounterRegionQuotaStatusWarning--; @@ -30422,7 +31063,7 @@ void checkRegionQuotaStatusWarning(api.RegionQuotaStatusWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed512(o.data!); + checkUnnamed527(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -30431,23 +31072,23 @@ void checkRegionQuotaStatusWarning(api.RegionQuotaStatusWarning o) { buildCounterRegionQuotaStatusWarning--; } -core.List buildUnnamed513() => [ +core.List buildUnnamed528() => [ buildQuota(), buildQuota(), ]; -void checkUnnamed513(core.List o) { +void checkUnnamed528(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkQuota(o[0]); checkQuota(o[1]); } -core.List buildUnnamed514() => [ +core.List buildUnnamed529() => [ 'foo', 'foo', ]; -void checkUnnamed514(core.List o) { +void checkUnnamed529(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -30471,11 +31112,11 @@ api.Region buildRegion() { o.kind = 'foo'; o.name = 'foo'; o.quotaStatusWarning = buildRegionQuotaStatusWarning(); - o.quotas = buildUnnamed513(); + o.quotas = buildUnnamed528(); o.selfLink = 'foo'; o.status = 'foo'; o.supportsPzs = true; - o.zones = buildUnnamed514(); + o.zones = buildUnnamed529(); } buildCounterRegion--; return o; @@ -30506,7 +31147,7 @@ void checkRegion(api.Region o) { unittest.equals('foo'), ); checkRegionQuotaStatusWarning(o.quotaStatusWarning!); - checkUnnamed513(o.quotas!); + checkUnnamed528(o.quotas!); unittest.expect( o.selfLink!, unittest.equals('foo'), @@ -30516,7 +31157,7 @@ void checkRegion(api.Region o) { unittest.equals('foo'), ); unittest.expect(o.supportsPzs!, unittest.isTrue); - checkUnnamed514(o.zones!); + checkUnnamed529(o.zones!); } buildCounterRegion--; } @@ -30548,12 +31189,12 @@ void checkRegionAddressesMoveRequest(api.RegionAddressesMoveRequest o) { buildCounterRegionAddressesMoveRequest--; } -core.List buildUnnamed515() => [ +core.List buildUnnamed530() => [ buildAutoscaler(), buildAutoscaler(), ]; -void checkUnnamed515(core.List o) { +void checkUnnamed530(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAutoscaler(o[0]); checkAutoscaler(o[1]); @@ -30587,12 +31228,12 @@ void checkRegionAutoscalerListWarningData( buildCounterRegionAutoscalerListWarningData--; } -core.List buildUnnamed516() => [ +core.List buildUnnamed531() => [ buildRegionAutoscalerListWarningData(), buildRegionAutoscalerListWarningData(), ]; -void checkUnnamed516(core.List o) { +void checkUnnamed531(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRegionAutoscalerListWarningData(o[0]); checkRegionAutoscalerListWarningData(o[1]); @@ -30604,7 +31245,7 @@ api.RegionAutoscalerListWarning buildRegionAutoscalerListWarning() { buildCounterRegionAutoscalerListWarning++; if (buildCounterRegionAutoscalerListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed516(); + o.data = buildUnnamed531(); o.message = 'foo'; } buildCounterRegionAutoscalerListWarning--; @@ -30618,7 +31259,7 @@ void checkRegionAutoscalerListWarning(api.RegionAutoscalerListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed516(o.data!); + checkUnnamed531(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -30633,7 +31274,7 @@ api.RegionAutoscalerList buildRegionAutoscalerList() { buildCounterRegionAutoscalerList++; if (buildCounterRegionAutoscalerList < 3) { o.id = 'foo'; - o.items = buildUnnamed515(); + o.items = buildUnnamed530(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -30650,7 +31291,7 @@ void checkRegionAutoscalerList(api.RegionAutoscalerList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed515(o.items!); + checkUnnamed530(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -30668,12 +31309,12 @@ void checkRegionAutoscalerList(api.RegionAutoscalerList o) { buildCounterRegionAutoscalerList--; } -core.List buildUnnamed517() => [ +core.List buildUnnamed532() => [ buildDiskType(), buildDiskType(), ]; -void checkUnnamed517(core.List o) { +void checkUnnamed532(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDiskType(o[0]); checkDiskType(o[1]); @@ -30706,12 +31347,12 @@ void checkRegionDiskTypeListWarningData(api.RegionDiskTypeListWarningData o) { buildCounterRegionDiskTypeListWarningData--; } -core.List buildUnnamed518() => [ +core.List buildUnnamed533() => [ buildRegionDiskTypeListWarningData(), buildRegionDiskTypeListWarningData(), ]; -void checkUnnamed518(core.List o) { +void checkUnnamed533(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRegionDiskTypeListWarningData(o[0]); checkRegionDiskTypeListWarningData(o[1]); @@ -30723,7 +31364,7 @@ api.RegionDiskTypeListWarning buildRegionDiskTypeListWarning() { buildCounterRegionDiskTypeListWarning++; if (buildCounterRegionDiskTypeListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed518(); + o.data = buildUnnamed533(); o.message = 'foo'; } buildCounterRegionDiskTypeListWarning--; @@ -30737,7 +31378,7 @@ void checkRegionDiskTypeListWarning(api.RegionDiskTypeListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed518(o.data!); + checkUnnamed533(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -30752,7 +31393,7 @@ api.RegionDiskTypeList buildRegionDiskTypeList() { buildCounterRegionDiskTypeList++; if (buildCounterRegionDiskTypeList < 3) { o.id = 'foo'; - o.items = buildUnnamed517(); + o.items = buildUnnamed532(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -30769,7 +31410,7 @@ void checkRegionDiskTypeList(api.RegionDiskTypeList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed517(o.items!); + checkUnnamed532(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -30787,12 +31428,12 @@ void checkRegionDiskTypeList(api.RegionDiskTypeList o) { buildCounterRegionDiskTypeList--; } -core.List buildUnnamed519() => [ +core.List buildUnnamed534() => [ 'foo', 'foo', ]; -void checkUnnamed519(core.List o) { +void checkUnnamed534(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -30810,7 +31451,7 @@ api.RegionDisksAddResourcePoliciesRequest final o = api.RegionDisksAddResourcePoliciesRequest(); buildCounterRegionDisksAddResourcePoliciesRequest++; if (buildCounterRegionDisksAddResourcePoliciesRequest < 3) { - o.resourcePolicies = buildUnnamed519(); + o.resourcePolicies = buildUnnamed534(); } buildCounterRegionDisksAddResourcePoliciesRequest--; return o; @@ -30820,17 +31461,17 @@ void checkRegionDisksAddResourcePoliciesRequest( api.RegionDisksAddResourcePoliciesRequest o) { buildCounterRegionDisksAddResourcePoliciesRequest++; if (buildCounterRegionDisksAddResourcePoliciesRequest < 3) { - checkUnnamed519(o.resourcePolicies!); + checkUnnamed534(o.resourcePolicies!); } buildCounterRegionDisksAddResourcePoliciesRequest--; } -core.List buildUnnamed520() => [ +core.List buildUnnamed535() => [ 'foo', 'foo', ]; -void checkUnnamed520(core.List o) { +void checkUnnamed535(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -30848,7 +31489,7 @@ api.RegionDisksRemoveResourcePoliciesRequest final o = api.RegionDisksRemoveResourcePoliciesRequest(); buildCounterRegionDisksRemoveResourcePoliciesRequest++; if (buildCounterRegionDisksRemoveResourcePoliciesRequest < 3) { - o.resourcePolicies = buildUnnamed520(); + o.resourcePolicies = buildUnnamed535(); } buildCounterRegionDisksRemoveResourcePoliciesRequest--; return o; @@ -30858,7 +31499,7 @@ void checkRegionDisksRemoveResourcePoliciesRequest( api.RegionDisksRemoveResourcePoliciesRequest o) { buildCounterRegionDisksRemoveResourcePoliciesRequest++; if (buildCounterRegionDisksRemoveResourcePoliciesRequest < 3) { - checkUnnamed520(o.resourcePolicies!); + checkUnnamed535(o.resourcePolicies!); } buildCounterRegionDisksRemoveResourcePoliciesRequest--; } @@ -30909,12 +31550,12 @@ void checkRegionDisksStartAsyncReplicationRequest( buildCounterRegionDisksStartAsyncReplicationRequest--; } -core.List buildUnnamed521() => [ +core.List buildUnnamed536() => [ buildInstanceGroup(), buildInstanceGroup(), ]; -void checkUnnamed521(core.List o) { +void checkUnnamed536(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceGroup(o[0]); checkInstanceGroup(o[1]); @@ -30949,12 +31590,12 @@ void checkRegionInstanceGroupListWarningData( buildCounterRegionInstanceGroupListWarningData--; } -core.List buildUnnamed522() => [ +core.List buildUnnamed537() => [ buildRegionInstanceGroupListWarningData(), buildRegionInstanceGroupListWarningData(), ]; -void checkUnnamed522(core.List o) { +void checkUnnamed537(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRegionInstanceGroupListWarningData(o[0]); checkRegionInstanceGroupListWarningData(o[1]); @@ -30966,7 +31607,7 @@ api.RegionInstanceGroupListWarning buildRegionInstanceGroupListWarning() { buildCounterRegionInstanceGroupListWarning++; if (buildCounterRegionInstanceGroupListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed522(); + o.data = buildUnnamed537(); o.message = 'foo'; } buildCounterRegionInstanceGroupListWarning--; @@ -30980,7 +31621,7 @@ void checkRegionInstanceGroupListWarning(api.RegionInstanceGroupListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed522(o.data!); + checkUnnamed537(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -30995,7 +31636,7 @@ api.RegionInstanceGroupList buildRegionInstanceGroupList() { buildCounterRegionInstanceGroupList++; if (buildCounterRegionInstanceGroupList < 3) { o.id = 'foo'; - o.items = buildUnnamed521(); + o.items = buildUnnamed536(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -31012,7 +31653,7 @@ void checkRegionInstanceGroupList(api.RegionInstanceGroupList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed521(o.items!); + checkUnnamed536(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -31030,12 +31671,12 @@ void checkRegionInstanceGroupList(api.RegionInstanceGroupList o) { buildCounterRegionInstanceGroupList--; } -core.List buildUnnamed523() => [ +core.List buildUnnamed538() => [ 'foo', 'foo', ]; -void checkUnnamed523(core.List o) { +void checkUnnamed538(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -31053,7 +31694,7 @@ api.RegionInstanceGroupManagerDeleteInstanceConfigReq final o = api.RegionInstanceGroupManagerDeleteInstanceConfigReq(); buildCounterRegionInstanceGroupManagerDeleteInstanceConfigReq++; if (buildCounterRegionInstanceGroupManagerDeleteInstanceConfigReq < 3) { - o.names = buildUnnamed523(); + o.names = buildUnnamed538(); } buildCounterRegionInstanceGroupManagerDeleteInstanceConfigReq--; return o; @@ -31063,17 +31704,17 @@ void checkRegionInstanceGroupManagerDeleteInstanceConfigReq( api.RegionInstanceGroupManagerDeleteInstanceConfigReq o) { buildCounterRegionInstanceGroupManagerDeleteInstanceConfigReq++; if (buildCounterRegionInstanceGroupManagerDeleteInstanceConfigReq < 3) { - checkUnnamed523(o.names!); + checkUnnamed538(o.names!); } buildCounterRegionInstanceGroupManagerDeleteInstanceConfigReq--; } -core.List buildUnnamed524() => [ +core.List buildUnnamed539() => [ buildInstanceGroupManager(), buildInstanceGroupManager(), ]; -void checkUnnamed524(core.List o) { +void checkUnnamed539(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceGroupManager(o[0]); checkInstanceGroupManager(o[1]); @@ -31108,12 +31749,12 @@ void checkRegionInstanceGroupManagerListWarningData( buildCounterRegionInstanceGroupManagerListWarningData--; } -core.List buildUnnamed525() => [ +core.List buildUnnamed540() => [ buildRegionInstanceGroupManagerListWarningData(), buildRegionInstanceGroupManagerListWarningData(), ]; -void checkUnnamed525( +void checkUnnamed540( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRegionInstanceGroupManagerListWarningData(o[0]); @@ -31127,7 +31768,7 @@ api.RegionInstanceGroupManagerListWarning buildCounterRegionInstanceGroupManagerListWarning++; if (buildCounterRegionInstanceGroupManagerListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed525(); + o.data = buildUnnamed540(); o.message = 'foo'; } buildCounterRegionInstanceGroupManagerListWarning--; @@ -31142,7 +31783,7 @@ void checkRegionInstanceGroupManagerListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed525(o.data!); + checkUnnamed540(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -31157,7 +31798,7 @@ api.RegionInstanceGroupManagerList buildRegionInstanceGroupManagerList() { buildCounterRegionInstanceGroupManagerList++; if (buildCounterRegionInstanceGroupManagerList < 3) { o.id = 'foo'; - o.items = buildUnnamed524(); + o.items = buildUnnamed539(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -31174,7 +31815,7 @@ void checkRegionInstanceGroupManagerList(api.RegionInstanceGroupManagerList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed524(o.items!); + checkUnnamed539(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -31192,12 +31833,12 @@ void checkRegionInstanceGroupManagerList(api.RegionInstanceGroupManagerList o) { buildCounterRegionInstanceGroupManagerList--; } -core.List buildUnnamed526() => [ +core.List buildUnnamed541() => [ buildPerInstanceConfig(), buildPerInstanceConfig(), ]; -void checkUnnamed526(core.List o) { +void checkUnnamed541(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPerInstanceConfig(o[0]); checkPerInstanceConfig(o[1]); @@ -31209,7 +31850,7 @@ api.RegionInstanceGroupManagerPatchInstanceConfigReq final o = api.RegionInstanceGroupManagerPatchInstanceConfigReq(); buildCounterRegionInstanceGroupManagerPatchInstanceConfigReq++; if (buildCounterRegionInstanceGroupManagerPatchInstanceConfigReq < 3) { - o.perInstanceConfigs = buildUnnamed526(); + o.perInstanceConfigs = buildUnnamed541(); } buildCounterRegionInstanceGroupManagerPatchInstanceConfigReq--; return o; @@ -31219,17 +31860,17 @@ void checkRegionInstanceGroupManagerPatchInstanceConfigReq( api.RegionInstanceGroupManagerPatchInstanceConfigReq o) { buildCounterRegionInstanceGroupManagerPatchInstanceConfigReq++; if (buildCounterRegionInstanceGroupManagerPatchInstanceConfigReq < 3) { - checkUnnamed526(o.perInstanceConfigs!); + checkUnnamed541(o.perInstanceConfigs!); } buildCounterRegionInstanceGroupManagerPatchInstanceConfigReq--; } -core.List buildUnnamed527() => [ +core.List buildUnnamed542() => [ buildPerInstanceConfig(), buildPerInstanceConfig(), ]; -void checkUnnamed527(core.List o) { +void checkUnnamed542(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPerInstanceConfig(o[0]); checkPerInstanceConfig(o[1]); @@ -31241,7 +31882,7 @@ api.RegionInstanceGroupManagerUpdateInstanceConfigReq final o = api.RegionInstanceGroupManagerUpdateInstanceConfigReq(); buildCounterRegionInstanceGroupManagerUpdateInstanceConfigReq++; if (buildCounterRegionInstanceGroupManagerUpdateInstanceConfigReq < 3) { - o.perInstanceConfigs = buildUnnamed527(); + o.perInstanceConfigs = buildUnnamed542(); } buildCounterRegionInstanceGroupManagerUpdateInstanceConfigReq--; return o; @@ -31251,17 +31892,17 @@ void checkRegionInstanceGroupManagerUpdateInstanceConfigReq( api.RegionInstanceGroupManagerUpdateInstanceConfigReq o) { buildCounterRegionInstanceGroupManagerUpdateInstanceConfigReq++; if (buildCounterRegionInstanceGroupManagerUpdateInstanceConfigReq < 3) { - checkUnnamed527(o.perInstanceConfigs!); + checkUnnamed542(o.perInstanceConfigs!); } buildCounterRegionInstanceGroupManagerUpdateInstanceConfigReq--; } -core.List buildUnnamed528() => [ +core.List buildUnnamed543() => [ 'foo', 'foo', ]; -void checkUnnamed528(core.List o) { +void checkUnnamed543(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -31279,7 +31920,7 @@ api.RegionInstanceGroupManagersAbandonInstancesRequest final o = api.RegionInstanceGroupManagersAbandonInstancesRequest(); buildCounterRegionInstanceGroupManagersAbandonInstancesRequest++; if (buildCounterRegionInstanceGroupManagersAbandonInstancesRequest < 3) { - o.instances = buildUnnamed528(); + o.instances = buildUnnamed543(); } buildCounterRegionInstanceGroupManagersAbandonInstancesRequest--; return o; @@ -31289,17 +31930,17 @@ void checkRegionInstanceGroupManagersAbandonInstancesRequest( api.RegionInstanceGroupManagersAbandonInstancesRequest o) { buildCounterRegionInstanceGroupManagersAbandonInstancesRequest++; if (buildCounterRegionInstanceGroupManagersAbandonInstancesRequest < 3) { - checkUnnamed528(o.instances!); + checkUnnamed543(o.instances!); } buildCounterRegionInstanceGroupManagersAbandonInstancesRequest--; } -core.List buildUnnamed529() => [ +core.List buildUnnamed544() => [ 'foo', 'foo', ]; -void checkUnnamed529(core.List o) { +void checkUnnamed544(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -31318,7 +31959,7 @@ api.RegionInstanceGroupManagersApplyUpdatesRequest buildCounterRegionInstanceGroupManagersApplyUpdatesRequest++; if (buildCounterRegionInstanceGroupManagersApplyUpdatesRequest < 3) { o.allInstances = true; - o.instances = buildUnnamed529(); + o.instances = buildUnnamed544(); o.minimalAction = 'foo'; o.mostDisruptiveAllowedAction = 'foo'; } @@ -31331,7 +31972,7 @@ void checkRegionInstanceGroupManagersApplyUpdatesRequest( buildCounterRegionInstanceGroupManagersApplyUpdatesRequest++; if (buildCounterRegionInstanceGroupManagersApplyUpdatesRequest < 3) { unittest.expect(o.allInstances!, unittest.isTrue); - checkUnnamed529(o.instances!); + checkUnnamed544(o.instances!); unittest.expect( o.minimalAction!, unittest.equals('foo'), @@ -31344,12 +31985,12 @@ void checkRegionInstanceGroupManagersApplyUpdatesRequest( buildCounterRegionInstanceGroupManagersApplyUpdatesRequest--; } -core.List buildUnnamed530() => [ +core.List buildUnnamed545() => [ buildPerInstanceConfig(), buildPerInstanceConfig(), ]; -void checkUnnamed530(core.List o) { +void checkUnnamed545(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPerInstanceConfig(o[0]); checkPerInstanceConfig(o[1]); @@ -31361,7 +32002,7 @@ api.RegionInstanceGroupManagersCreateInstancesRequest final o = api.RegionInstanceGroupManagersCreateInstancesRequest(); buildCounterRegionInstanceGroupManagersCreateInstancesRequest++; if (buildCounterRegionInstanceGroupManagersCreateInstancesRequest < 3) { - o.instances = buildUnnamed530(); + o.instances = buildUnnamed545(); } buildCounterRegionInstanceGroupManagersCreateInstancesRequest--; return o; @@ -31371,17 +32012,17 @@ void checkRegionInstanceGroupManagersCreateInstancesRequest( api.RegionInstanceGroupManagersCreateInstancesRequest o) { buildCounterRegionInstanceGroupManagersCreateInstancesRequest++; if (buildCounterRegionInstanceGroupManagersCreateInstancesRequest < 3) { - checkUnnamed530(o.instances!); + checkUnnamed545(o.instances!); } buildCounterRegionInstanceGroupManagersCreateInstancesRequest--; } -core.List buildUnnamed531() => [ +core.List buildUnnamed546() => [ 'foo', 'foo', ]; -void checkUnnamed531(core.List o) { +void checkUnnamed546(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -31399,7 +32040,7 @@ api.RegionInstanceGroupManagersDeleteInstancesRequest final o = api.RegionInstanceGroupManagersDeleteInstancesRequest(); buildCounterRegionInstanceGroupManagersDeleteInstancesRequest++; if (buildCounterRegionInstanceGroupManagersDeleteInstancesRequest < 3) { - o.instances = buildUnnamed531(); + o.instances = buildUnnamed546(); o.skipInstancesOnValidationError = true; } buildCounterRegionInstanceGroupManagersDeleteInstancesRequest--; @@ -31410,18 +32051,18 @@ void checkRegionInstanceGroupManagersDeleteInstancesRequest( api.RegionInstanceGroupManagersDeleteInstancesRequest o) { buildCounterRegionInstanceGroupManagersDeleteInstancesRequest++; if (buildCounterRegionInstanceGroupManagersDeleteInstancesRequest < 3) { - checkUnnamed531(o.instances!); + checkUnnamed546(o.instances!); unittest.expect(o.skipInstancesOnValidationError!, unittest.isTrue); } buildCounterRegionInstanceGroupManagersDeleteInstancesRequest--; } -core.List buildUnnamed532() => [ +core.List buildUnnamed547() => [ buildInstanceManagedByIgmError(), buildInstanceManagedByIgmError(), ]; -void checkUnnamed532(core.List o) { +void checkUnnamed547(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceManagedByIgmError(o[0]); checkInstanceManagedByIgmError(o[1]); @@ -31433,7 +32074,7 @@ api.RegionInstanceGroupManagersListErrorsResponse final o = api.RegionInstanceGroupManagersListErrorsResponse(); buildCounterRegionInstanceGroupManagersListErrorsResponse++; if (buildCounterRegionInstanceGroupManagersListErrorsResponse < 3) { - o.items = buildUnnamed532(); + o.items = buildUnnamed547(); o.nextPageToken = 'foo'; } buildCounterRegionInstanceGroupManagersListErrorsResponse--; @@ -31444,7 +32085,7 @@ void checkRegionInstanceGroupManagersListErrorsResponse( api.RegionInstanceGroupManagersListErrorsResponse o) { buildCounterRegionInstanceGroupManagersListErrorsResponse++; if (buildCounterRegionInstanceGroupManagersListErrorsResponse < 3) { - checkUnnamed532(o.items!); + checkUnnamed547(o.items!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -31453,12 +32094,12 @@ void checkRegionInstanceGroupManagersListErrorsResponse( buildCounterRegionInstanceGroupManagersListErrorsResponse--; } -core.List buildUnnamed533() => [ +core.List buildUnnamed548() => [ buildPerInstanceConfig(), buildPerInstanceConfig(), ]; -void checkUnnamed533(core.List o) { +void checkUnnamed548(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPerInstanceConfig(o[0]); checkPerInstanceConfig(o[1]); @@ -31498,12 +32139,12 @@ void checkRegionInstanceGroupManagersListInstanceConfigsRespWarningData( } core.List - buildUnnamed534() => [ + buildUnnamed549() => [ buildRegionInstanceGroupManagersListInstanceConfigsRespWarningData(), buildRegionInstanceGroupManagersListInstanceConfigsRespWarningData(), ]; -void checkUnnamed534( +void checkUnnamed549( core.List o) { unittest.expect(o, unittest.hasLength(2)); @@ -31520,7 +32161,7 @@ api.RegionInstanceGroupManagersListInstanceConfigsRespWarning if (buildCounterRegionInstanceGroupManagersListInstanceConfigsRespWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed534(); + o.data = buildUnnamed549(); o.message = 'foo'; } buildCounterRegionInstanceGroupManagersListInstanceConfigsRespWarning--; @@ -31536,7 +32177,7 @@ void checkRegionInstanceGroupManagersListInstanceConfigsRespWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed534(o.data!); + checkUnnamed549(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -31551,7 +32192,7 @@ api.RegionInstanceGroupManagersListInstanceConfigsResp final o = api.RegionInstanceGroupManagersListInstanceConfigsResp(); buildCounterRegionInstanceGroupManagersListInstanceConfigsResp++; if (buildCounterRegionInstanceGroupManagersListInstanceConfigsResp < 3) { - o.items = buildUnnamed533(); + o.items = buildUnnamed548(); o.nextPageToken = 'foo'; o.warning = buildRegionInstanceGroupManagersListInstanceConfigsRespWarning(); @@ -31564,7 +32205,7 @@ void checkRegionInstanceGroupManagersListInstanceConfigsResp( api.RegionInstanceGroupManagersListInstanceConfigsResp o) { buildCounterRegionInstanceGroupManagersListInstanceConfigsResp++; if (buildCounterRegionInstanceGroupManagersListInstanceConfigsResp < 3) { - checkUnnamed533(o.items!); + checkUnnamed548(o.items!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -31574,12 +32215,12 @@ void checkRegionInstanceGroupManagersListInstanceConfigsResp( buildCounterRegionInstanceGroupManagersListInstanceConfigsResp--; } -core.List buildUnnamed535() => [ +core.List buildUnnamed550() => [ buildManagedInstance(), buildManagedInstance(), ]; -void checkUnnamed535(core.List o) { +void checkUnnamed550(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkManagedInstance(o[0]); checkManagedInstance(o[1]); @@ -31591,7 +32232,7 @@ api.RegionInstanceGroupManagersListInstancesResponse final o = api.RegionInstanceGroupManagersListInstancesResponse(); buildCounterRegionInstanceGroupManagersListInstancesResponse++; if (buildCounterRegionInstanceGroupManagersListInstancesResponse < 3) { - o.managedInstances = buildUnnamed535(); + o.managedInstances = buildUnnamed550(); o.nextPageToken = 'foo'; } buildCounterRegionInstanceGroupManagersListInstancesResponse--; @@ -31602,7 +32243,7 @@ void checkRegionInstanceGroupManagersListInstancesResponse( api.RegionInstanceGroupManagersListInstancesResponse o) { buildCounterRegionInstanceGroupManagersListInstancesResponse++; if (buildCounterRegionInstanceGroupManagersListInstancesResponse < 3) { - checkUnnamed535(o.managedInstances!); + checkUnnamed550(o.managedInstances!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -31611,12 +32252,12 @@ void checkRegionInstanceGroupManagersListInstancesResponse( buildCounterRegionInstanceGroupManagersListInstancesResponse--; } -core.List buildUnnamed536() => [ +core.List buildUnnamed551() => [ 'foo', 'foo', ]; -void checkUnnamed536(core.List o) { +void checkUnnamed551(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -31634,7 +32275,7 @@ api.RegionInstanceGroupManagersRecreateRequest final o = api.RegionInstanceGroupManagersRecreateRequest(); buildCounterRegionInstanceGroupManagersRecreateRequest++; if (buildCounterRegionInstanceGroupManagersRecreateRequest < 3) { - o.instances = buildUnnamed536(); + o.instances = buildUnnamed551(); } buildCounterRegionInstanceGroupManagersRecreateRequest--; return o; @@ -31644,17 +32285,17 @@ void checkRegionInstanceGroupManagersRecreateRequest( api.RegionInstanceGroupManagersRecreateRequest o) { buildCounterRegionInstanceGroupManagersRecreateRequest++; if (buildCounterRegionInstanceGroupManagersRecreateRequest < 3) { - checkUnnamed536(o.instances!); + checkUnnamed551(o.instances!); } buildCounterRegionInstanceGroupManagersRecreateRequest--; } -core.List buildUnnamed537() => [ +core.List buildUnnamed552() => [ 'foo', 'foo', ]; -void checkUnnamed537(core.List o) { +void checkUnnamed552(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -31672,7 +32313,7 @@ api.RegionInstanceGroupManagersResumeInstancesRequest final o = api.RegionInstanceGroupManagersResumeInstancesRequest(); buildCounterRegionInstanceGroupManagersResumeInstancesRequest++; if (buildCounterRegionInstanceGroupManagersResumeInstancesRequest < 3) { - o.instances = buildUnnamed537(); + o.instances = buildUnnamed552(); } buildCounterRegionInstanceGroupManagersResumeInstancesRequest--; return o; @@ -31682,17 +32323,17 @@ void checkRegionInstanceGroupManagersResumeInstancesRequest( api.RegionInstanceGroupManagersResumeInstancesRequest o) { buildCounterRegionInstanceGroupManagersResumeInstancesRequest++; if (buildCounterRegionInstanceGroupManagersResumeInstancesRequest < 3) { - checkUnnamed537(o.instances!); + checkUnnamed552(o.instances!); } buildCounterRegionInstanceGroupManagersResumeInstancesRequest--; } -core.List buildUnnamed538() => [ +core.List buildUnnamed553() => [ 'foo', 'foo', ]; -void checkUnnamed538(core.List o) { +void checkUnnamed553(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -31711,7 +32352,7 @@ api.RegionInstanceGroupManagersSetTargetPoolsRequest buildCounterRegionInstanceGroupManagersSetTargetPoolsRequest++; if (buildCounterRegionInstanceGroupManagersSetTargetPoolsRequest < 3) { o.fingerprint = 'foo'; - o.targetPools = buildUnnamed538(); + o.targetPools = buildUnnamed553(); } buildCounterRegionInstanceGroupManagersSetTargetPoolsRequest--; return o; @@ -31725,7 +32366,7 @@ void checkRegionInstanceGroupManagersSetTargetPoolsRequest( o.fingerprint!, unittest.equals('foo'), ); - checkUnnamed538(o.targetPools!); + checkUnnamed553(o.targetPools!); } buildCounterRegionInstanceGroupManagersSetTargetPoolsRequest--; } @@ -31754,12 +32395,12 @@ void checkRegionInstanceGroupManagersSetTemplateRequest( buildCounterRegionInstanceGroupManagersSetTemplateRequest--; } -core.List buildUnnamed539() => [ +core.List buildUnnamed554() => [ 'foo', 'foo', ]; -void checkUnnamed539(core.List o) { +void checkUnnamed554(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -31777,7 +32418,7 @@ api.RegionInstanceGroupManagersStartInstancesRequest final o = api.RegionInstanceGroupManagersStartInstancesRequest(); buildCounterRegionInstanceGroupManagersStartInstancesRequest++; if (buildCounterRegionInstanceGroupManagersStartInstancesRequest < 3) { - o.instances = buildUnnamed539(); + o.instances = buildUnnamed554(); } buildCounterRegionInstanceGroupManagersStartInstancesRequest--; return o; @@ -31787,17 +32428,17 @@ void checkRegionInstanceGroupManagersStartInstancesRequest( api.RegionInstanceGroupManagersStartInstancesRequest o) { buildCounterRegionInstanceGroupManagersStartInstancesRequest++; if (buildCounterRegionInstanceGroupManagersStartInstancesRequest < 3) { - checkUnnamed539(o.instances!); + checkUnnamed554(o.instances!); } buildCounterRegionInstanceGroupManagersStartInstancesRequest--; } -core.List buildUnnamed540() => [ +core.List buildUnnamed555() => [ 'foo', 'foo', ]; -void checkUnnamed540(core.List o) { +void checkUnnamed555(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -31816,7 +32457,7 @@ api.RegionInstanceGroupManagersStopInstancesRequest buildCounterRegionInstanceGroupManagersStopInstancesRequest++; if (buildCounterRegionInstanceGroupManagersStopInstancesRequest < 3) { o.forceStop = true; - o.instances = buildUnnamed540(); + o.instances = buildUnnamed555(); } buildCounterRegionInstanceGroupManagersStopInstancesRequest--; return o; @@ -31827,17 +32468,17 @@ void checkRegionInstanceGroupManagersStopInstancesRequest( buildCounterRegionInstanceGroupManagersStopInstancesRequest++; if (buildCounterRegionInstanceGroupManagersStopInstancesRequest < 3) { unittest.expect(o.forceStop!, unittest.isTrue); - checkUnnamed540(o.instances!); + checkUnnamed555(o.instances!); } buildCounterRegionInstanceGroupManagersStopInstancesRequest--; } -core.List buildUnnamed541() => [ +core.List buildUnnamed556() => [ 'foo', 'foo', ]; -void checkUnnamed541(core.List o) { +void checkUnnamed556(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -31856,7 +32497,7 @@ api.RegionInstanceGroupManagersSuspendInstancesRequest buildCounterRegionInstanceGroupManagersSuspendInstancesRequest++; if (buildCounterRegionInstanceGroupManagersSuspendInstancesRequest < 3) { o.forceSuspend = true; - o.instances = buildUnnamed541(); + o.instances = buildUnnamed556(); } buildCounterRegionInstanceGroupManagersSuspendInstancesRequest--; return o; @@ -31867,17 +32508,17 @@ void checkRegionInstanceGroupManagersSuspendInstancesRequest( buildCounterRegionInstanceGroupManagersSuspendInstancesRequest++; if (buildCounterRegionInstanceGroupManagersSuspendInstancesRequest < 3) { unittest.expect(o.forceSuspend!, unittest.isTrue); - checkUnnamed541(o.instances!); + checkUnnamed556(o.instances!); } buildCounterRegionInstanceGroupManagersSuspendInstancesRequest--; } -core.List buildUnnamed542() => [ +core.List buildUnnamed557() => [ buildInstanceWithNamedPorts(), buildInstanceWithNamedPorts(), ]; -void checkUnnamed542(core.List o) { +void checkUnnamed557(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceWithNamedPorts(o[0]); checkInstanceWithNamedPorts(o[1]); @@ -31912,13 +32553,13 @@ void checkRegionInstanceGroupsListInstancesWarningData( buildCounterRegionInstanceGroupsListInstancesWarningData--; } -core.List buildUnnamed543() => +core.List buildUnnamed558() => [ buildRegionInstanceGroupsListInstancesWarningData(), buildRegionInstanceGroupsListInstancesWarningData(), ]; -void checkUnnamed543( +void checkUnnamed558( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRegionInstanceGroupsListInstancesWarningData(o[0]); @@ -31932,7 +32573,7 @@ api.RegionInstanceGroupsListInstancesWarning buildCounterRegionInstanceGroupsListInstancesWarning++; if (buildCounterRegionInstanceGroupsListInstancesWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed543(); + o.data = buildUnnamed558(); o.message = 'foo'; } buildCounterRegionInstanceGroupsListInstancesWarning--; @@ -31947,7 +32588,7 @@ void checkRegionInstanceGroupsListInstancesWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed543(o.data!); + checkUnnamed558(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -31962,7 +32603,7 @@ api.RegionInstanceGroupsListInstances buildRegionInstanceGroupsListInstances() { buildCounterRegionInstanceGroupsListInstances++; if (buildCounterRegionInstanceGroupsListInstances < 3) { o.id = 'foo'; - o.items = buildUnnamed542(); + o.items = buildUnnamed557(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -31980,7 +32621,7 @@ void checkRegionInstanceGroupsListInstances( o.id!, unittest.equals('foo'), ); - checkUnnamed542(o.items!); + checkUnnamed557(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -32027,12 +32668,12 @@ void checkRegionInstanceGroupsListInstancesRequest( buildCounterRegionInstanceGroupsListInstancesRequest--; } -core.List buildUnnamed544() => [ +core.List buildUnnamed559() => [ buildNamedPort(), buildNamedPort(), ]; -void checkUnnamed544(core.List o) { +void checkUnnamed559(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNamedPort(o[0]); checkNamedPort(o[1]); @@ -32045,7 +32686,7 @@ api.RegionInstanceGroupsSetNamedPortsRequest buildCounterRegionInstanceGroupsSetNamedPortsRequest++; if (buildCounterRegionInstanceGroupsSetNamedPortsRequest < 3) { o.fingerprint = 'foo'; - o.namedPorts = buildUnnamed544(); + o.namedPorts = buildUnnamed559(); } buildCounterRegionInstanceGroupsSetNamedPortsRequest--; return o; @@ -32059,17 +32700,17 @@ void checkRegionInstanceGroupsSetNamedPortsRequest( o.fingerprint!, unittest.equals('foo'), ); - checkUnnamed544(o.namedPorts!); + checkUnnamed559(o.namedPorts!); } buildCounterRegionInstanceGroupsSetNamedPortsRequest--; } -core.List buildUnnamed545() => [ +core.List buildUnnamed560() => [ buildRegion(), buildRegion(), ]; -void checkUnnamed545(core.List o) { +void checkUnnamed560(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRegion(o[0]); checkRegion(o[1]); @@ -32102,12 +32743,12 @@ void checkRegionListWarningData(api.RegionListWarningData o) { buildCounterRegionListWarningData--; } -core.List buildUnnamed546() => [ +core.List buildUnnamed561() => [ buildRegionListWarningData(), buildRegionListWarningData(), ]; -void checkUnnamed546(core.List o) { +void checkUnnamed561(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRegionListWarningData(o[0]); checkRegionListWarningData(o[1]); @@ -32119,7 +32760,7 @@ api.RegionListWarning buildRegionListWarning() { buildCounterRegionListWarning++; if (buildCounterRegionListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed546(); + o.data = buildUnnamed561(); o.message = 'foo'; } buildCounterRegionListWarning--; @@ -32133,7 +32774,7 @@ void checkRegionListWarning(api.RegionListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed546(o.data!); + checkUnnamed561(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -32148,7 +32789,7 @@ api.RegionList buildRegionList() { buildCounterRegionList++; if (buildCounterRegionList < 3) { o.id = 'foo'; - o.items = buildUnnamed545(); + o.items = buildUnnamed560(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -32165,7 +32806,7 @@ void checkRegionList(api.RegionList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed545(o.items!); + checkUnnamed560(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -32183,12 +32824,12 @@ void checkRegionList(api.RegionList o) { buildCounterRegionList--; } -core.List buildUnnamed547() => [ +core.List buildUnnamed562() => [ buildNetworkEndpoint(), buildNetworkEndpoint(), ]; -void checkUnnamed547(core.List o) { +void checkUnnamed562(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkEndpoint(o[0]); checkNetworkEndpoint(o[1]); @@ -32200,7 +32841,7 @@ api.RegionNetworkEndpointGroupsAttachEndpointsRequest final o = api.RegionNetworkEndpointGroupsAttachEndpointsRequest(); buildCounterRegionNetworkEndpointGroupsAttachEndpointsRequest++; if (buildCounterRegionNetworkEndpointGroupsAttachEndpointsRequest < 3) { - o.networkEndpoints = buildUnnamed547(); + o.networkEndpoints = buildUnnamed562(); } buildCounterRegionNetworkEndpointGroupsAttachEndpointsRequest--; return o; @@ -32210,17 +32851,17 @@ void checkRegionNetworkEndpointGroupsAttachEndpointsRequest( api.RegionNetworkEndpointGroupsAttachEndpointsRequest o) { buildCounterRegionNetworkEndpointGroupsAttachEndpointsRequest++; if (buildCounterRegionNetworkEndpointGroupsAttachEndpointsRequest < 3) { - checkUnnamed547(o.networkEndpoints!); + checkUnnamed562(o.networkEndpoints!); } buildCounterRegionNetworkEndpointGroupsAttachEndpointsRequest--; } -core.List buildUnnamed548() => [ +core.List buildUnnamed563() => [ buildNetworkEndpoint(), buildNetworkEndpoint(), ]; -void checkUnnamed548(core.List o) { +void checkUnnamed563(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkEndpoint(o[0]); checkNetworkEndpoint(o[1]); @@ -32232,7 +32873,7 @@ api.RegionNetworkEndpointGroupsDetachEndpointsRequest final o = api.RegionNetworkEndpointGroupsDetachEndpointsRequest(); buildCounterRegionNetworkEndpointGroupsDetachEndpointsRequest++; if (buildCounterRegionNetworkEndpointGroupsDetachEndpointsRequest < 3) { - o.networkEndpoints = buildUnnamed548(); + o.networkEndpoints = buildUnnamed563(); } buildCounterRegionNetworkEndpointGroupsDetachEndpointsRequest--; return o; @@ -32242,7 +32883,7 @@ void checkRegionNetworkEndpointGroupsDetachEndpointsRequest( api.RegionNetworkEndpointGroupsDetachEndpointsRequest o) { buildCounterRegionNetworkEndpointGroupsDetachEndpointsRequest++; if (buildCounterRegionNetworkEndpointGroupsDetachEndpointsRequest < 3) { - checkUnnamed548(o.networkEndpoints!); + checkUnnamed563(o.networkEndpoints!); } buildCounterRegionNetworkEndpointGroupsDetachEndpointsRequest--; } @@ -32250,12 +32891,12 @@ void checkRegionNetworkEndpointGroupsDetachEndpointsRequest( core.List< api .RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy> - buildUnnamed549() => [ + buildUnnamed564() => [ buildRegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy(), buildRegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy(), ]; -void checkUnnamed549( +void checkUnnamed564( core.List< api .RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy> @@ -32267,12 +32908,12 @@ void checkUnnamed549( o[1]); } -core.List buildUnnamed550() => [ +core.List buildUnnamed565() => [ buildFirewall(), buildFirewall(), ]; -void checkUnnamed550(core.List o) { +void checkUnnamed565(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFirewall(o[0]); checkFirewall(o[1]); @@ -32286,8 +32927,8 @@ api.RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse buildCounterRegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse++; if (buildCounterRegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse < 3) { - o.firewallPolicys = buildUnnamed549(); - o.firewalls = buildUnnamed550(); + o.firewallPolicys = buildUnnamed564(); + o.firewalls = buildUnnamed565(); } buildCounterRegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse--; return o; @@ -32298,18 +32939,29 @@ void checkRegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse( buildCounterRegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse++; if (buildCounterRegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse < 3) { - checkUnnamed549(o.firewallPolicys!); - checkUnnamed550(o.firewalls!); + checkUnnamed564(o.firewallPolicys!); + checkUnnamed565(o.firewalls!); } buildCounterRegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse--; } -core.List buildUnnamed551() => [ +core.List buildUnnamed566() => [ buildFirewallPolicyRule(), buildFirewallPolicyRule(), ]; -void checkUnnamed551(core.List o) { +void checkUnnamed566(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkFirewallPolicyRule(o[0]); + checkFirewallPolicyRule(o[1]); +} + +core.List buildUnnamed567() => [ + buildFirewallPolicyRule(), + buildFirewallPolicyRule(), + ]; + +void checkUnnamed567(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFirewallPolicyRule(o[0]); checkFirewallPolicyRule(o[1]); @@ -32327,7 +32979,9 @@ api.RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallP 3) { o.displayName = 'foo'; o.name = 'foo'; - o.rules = buildUnnamed551(); + o.packetMirroringRules = buildUnnamed566(); + o.priority = 42; + o.rules = buildUnnamed567(); o.type = 'foo'; } buildCounterRegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy--; @@ -32348,7 +33002,12 @@ void checkRegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFir o.name!, unittest.equals('foo'), ); - checkUnnamed551(o.rules!); + checkUnnamed566(o.packetMirroringRules!); + unittest.expect( + o.priority!, + unittest.equals(42), + ); + checkUnnamed567(o.rules!); unittest.expect( o.type!, unittest.equals('foo'), @@ -32357,12 +33016,12 @@ void checkRegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFir buildCounterRegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy--; } -core.Map buildUnnamed552() => { +core.Map buildUnnamed568() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed552(core.Map o) { +void checkUnnamed568(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -32380,7 +33039,7 @@ api.RegionSetLabelsRequest buildRegionSetLabelsRequest() { buildCounterRegionSetLabelsRequest++; if (buildCounterRegionSetLabelsRequest < 3) { o.labelFingerprint = 'foo'; - o.labels = buildUnnamed552(); + o.labels = buildUnnamed568(); } buildCounterRegionSetLabelsRequest--; return o; @@ -32393,17 +33052,17 @@ void checkRegionSetLabelsRequest(api.RegionSetLabelsRequest o) { o.labelFingerprint!, unittest.equals('foo'), ); - checkUnnamed552(o.labels!); + checkUnnamed568(o.labels!); } buildCounterRegionSetLabelsRequest--; } -core.List buildUnnamed553() => [ +core.List buildUnnamed569() => [ buildBinding(), buildBinding(), ]; -void checkUnnamed553(core.List o) { +void checkUnnamed569(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBinding(o[0]); checkBinding(o[1]); @@ -32414,7 +33073,7 @@ api.RegionSetPolicyRequest buildRegionSetPolicyRequest() { final o = api.RegionSetPolicyRequest(); buildCounterRegionSetPolicyRequest++; if (buildCounterRegionSetPolicyRequest < 3) { - o.bindings = buildUnnamed553(); + o.bindings = buildUnnamed569(); o.etag = 'foo'; o.policy = buildPolicy(); } @@ -32425,7 +33084,7 @@ api.RegionSetPolicyRequest buildRegionSetPolicyRequest() { void checkRegionSetPolicyRequest(api.RegionSetPolicyRequest o) { buildCounterRegionSetPolicyRequest++; if (buildCounterRegionSetPolicyRequest < 3) { - checkUnnamed553(o.bindings!); + checkUnnamed569(o.bindings!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -32435,12 +33094,12 @@ void checkRegionSetPolicyRequest(api.RegionSetPolicyRequest o) { buildCounterRegionSetPolicyRequest--; } -core.List buildUnnamed554() => [ +core.List buildUnnamed570() => [ 'foo', 'foo', ]; -void checkUnnamed554(core.List o) { +void checkUnnamed570(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -32458,7 +33117,7 @@ api.RegionTargetHttpsProxiesSetSslCertificatesRequest final o = api.RegionTargetHttpsProxiesSetSslCertificatesRequest(); buildCounterRegionTargetHttpsProxiesSetSslCertificatesRequest++; if (buildCounterRegionTargetHttpsProxiesSetSslCertificatesRequest < 3) { - o.sslCertificates = buildUnnamed554(); + o.sslCertificates = buildUnnamed570(); } buildCounterRegionTargetHttpsProxiesSetSslCertificatesRequest--; return o; @@ -32468,7 +33127,7 @@ void checkRegionTargetHttpsProxiesSetSslCertificatesRequest( api.RegionTargetHttpsProxiesSetSslCertificatesRequest o) { buildCounterRegionTargetHttpsProxiesSetSslCertificatesRequest++; if (buildCounterRegionTargetHttpsProxiesSetSslCertificatesRequest < 3) { - checkUnnamed554(o.sslCertificates!); + checkUnnamed570(o.sslCertificates!); } buildCounterRegionTargetHttpsProxiesSetSslCertificatesRequest--; } @@ -32514,12 +33173,12 @@ void checkRequestMirrorPolicy(api.RequestMirrorPolicy o) { buildCounterRequestMirrorPolicy--; } -core.Map buildUnnamed555() => { +core.Map buildUnnamed571() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed555(core.Map o) { +void checkUnnamed571(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -32543,7 +33202,8 @@ api.Reservation buildReservation() { o.id = 'foo'; o.kind = 'foo'; o.name = 'foo'; - o.resourcePolicies = buildUnnamed555(); + o.reservationSharingPolicy = buildAllocationReservationSharingPolicy(); + o.resourcePolicies = buildUnnamed571(); o.resourceStatus = buildAllocationResourceStatus(); o.satisfiesPzs = true; o.selfLink = 'foo'; @@ -32585,7 +33245,8 @@ void checkReservation(api.Reservation o) { o.name!, unittest.equals('foo'), ); - checkUnnamed555(o.resourcePolicies!); + checkAllocationReservationSharingPolicy(o.reservationSharingPolicy!); + checkUnnamed571(o.resourcePolicies!); checkAllocationResourceStatus(o.resourceStatus!); unittest.expect(o.satisfiesPzs!, unittest.isTrue); unittest.expect( @@ -32607,12 +33268,12 @@ void checkReservation(api.Reservation o) { buildCounterReservation--; } -core.List buildUnnamed556() => [ +core.List buildUnnamed572() => [ 'foo', 'foo', ]; -void checkUnnamed556(core.List o) { +void checkUnnamed572(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -32631,7 +33292,7 @@ api.ReservationAffinity buildReservationAffinity() { if (buildCounterReservationAffinity < 3) { o.consumeReservationType = 'foo'; o.key = 'foo'; - o.values = buildUnnamed556(); + o.values = buildUnnamed572(); } buildCounterReservationAffinity--; return o; @@ -32648,28 +33309,28 @@ void checkReservationAffinity(api.ReservationAffinity o) { o.key!, unittest.equals('foo'), ); - checkUnnamed556(o.values!); + checkUnnamed572(o.values!); } buildCounterReservationAffinity--; } -core.Map buildUnnamed557() => { +core.Map buildUnnamed573() => { 'x': buildReservationsScopedList(), 'y': buildReservationsScopedList(), }; -void checkUnnamed557(core.Map o) { +void checkUnnamed573(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkReservationsScopedList(o['x']!); checkReservationsScopedList(o['y']!); } -core.List buildUnnamed558() => [ +core.List buildUnnamed574() => [ 'foo', 'foo', ]; -void checkUnnamed558(core.List o) { +void checkUnnamed574(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -32710,12 +33371,12 @@ void checkReservationAggregatedListWarningData( buildCounterReservationAggregatedListWarningData--; } -core.List buildUnnamed559() => [ +core.List buildUnnamed575() => [ buildReservationAggregatedListWarningData(), buildReservationAggregatedListWarningData(), ]; -void checkUnnamed559(core.List o) { +void checkUnnamed575(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReservationAggregatedListWarningData(o[0]); checkReservationAggregatedListWarningData(o[1]); @@ -32727,7 +33388,7 @@ api.ReservationAggregatedListWarning buildReservationAggregatedListWarning() { buildCounterReservationAggregatedListWarning++; if (buildCounterReservationAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed559(); + o.data = buildUnnamed575(); o.message = 'foo'; } buildCounterReservationAggregatedListWarning--; @@ -32742,7 +33403,7 @@ void checkReservationAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed559(o.data!); + checkUnnamed575(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -32757,11 +33418,11 @@ api.ReservationAggregatedList buildReservationAggregatedList() { buildCounterReservationAggregatedList++; if (buildCounterReservationAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed557(); + o.items = buildUnnamed573(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed558(); + o.unreachables = buildUnnamed574(); o.warning = buildReservationAggregatedListWarning(); } buildCounterReservationAggregatedList--; @@ -32775,7 +33436,7 @@ void checkReservationAggregatedList(api.ReservationAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed557(o.items!); + checkUnnamed573(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -32788,18 +33449,18 @@ void checkReservationAggregatedList(api.ReservationAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed558(o.unreachables!); + checkUnnamed574(o.unreachables!); checkReservationAggregatedListWarning(o.warning!); } buildCounterReservationAggregatedList--; } -core.List buildUnnamed560() => [ +core.List buildUnnamed576() => [ buildReservation(), buildReservation(), ]; -void checkUnnamed560(core.List o) { +void checkUnnamed576(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReservation(o[0]); checkReservation(o[1]); @@ -32832,12 +33493,12 @@ void checkReservationListWarningData(api.ReservationListWarningData o) { buildCounterReservationListWarningData--; } -core.List buildUnnamed561() => [ +core.List buildUnnamed577() => [ buildReservationListWarningData(), buildReservationListWarningData(), ]; -void checkUnnamed561(core.List o) { +void checkUnnamed577(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReservationListWarningData(o[0]); checkReservationListWarningData(o[1]); @@ -32849,7 +33510,7 @@ api.ReservationListWarning buildReservationListWarning() { buildCounterReservationListWarning++; if (buildCounterReservationListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed561(); + o.data = buildUnnamed577(); o.message = 'foo'; } buildCounterReservationListWarning--; @@ -32863,7 +33524,7 @@ void checkReservationListWarning(api.ReservationListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed561(o.data!); + checkUnnamed577(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -32878,7 +33539,7 @@ api.ReservationList buildReservationList() { buildCounterReservationList++; if (buildCounterReservationList < 3) { o.id = 'foo'; - o.items = buildUnnamed560(); + o.items = buildUnnamed576(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -32895,7 +33556,7 @@ void checkReservationList(api.ReservationList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed560(o.items!); + checkUnnamed576(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -32935,12 +33596,12 @@ void checkReservationsResizeRequest(api.ReservationsResizeRequest o) { buildCounterReservationsResizeRequest--; } -core.List buildUnnamed562() => [ +core.List buildUnnamed578() => [ buildReservation(), buildReservation(), ]; -void checkUnnamed562(core.List o) { +void checkUnnamed578(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReservation(o[0]); checkReservation(o[1]); @@ -32974,12 +33635,12 @@ void checkReservationsScopedListWarningData( buildCounterReservationsScopedListWarningData--; } -core.List buildUnnamed563() => [ +core.List buildUnnamed579() => [ buildReservationsScopedListWarningData(), buildReservationsScopedListWarningData(), ]; -void checkUnnamed563(core.List o) { +void checkUnnamed579(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReservationsScopedListWarningData(o[0]); checkReservationsScopedListWarningData(o[1]); @@ -32991,7 +33652,7 @@ api.ReservationsScopedListWarning buildReservationsScopedListWarning() { buildCounterReservationsScopedListWarning++; if (buildCounterReservationsScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed563(); + o.data = buildUnnamed579(); o.message = 'foo'; } buildCounterReservationsScopedListWarning--; @@ -33005,7 +33666,7 @@ void checkReservationsScopedListWarning(api.ReservationsScopedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed563(o.data!); + checkUnnamed579(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -33019,7 +33680,7 @@ api.ReservationsScopedList buildReservationsScopedList() { final o = api.ReservationsScopedList(); buildCounterReservationsScopedList++; if (buildCounterReservationsScopedList < 3) { - o.reservations = buildUnnamed562(); + o.reservations = buildUnnamed578(); o.warning = buildReservationsScopedListWarning(); } buildCounterReservationsScopedList--; @@ -33029,7 +33690,7 @@ api.ReservationsScopedList buildReservationsScopedList() { void checkReservationsScopedList(api.ReservationsScopedList o) { buildCounterReservationsScopedList++; if (buildCounterReservationsScopedList < 3) { - checkUnnamed562(o.reservations!); + checkUnnamed578(o.reservations!); checkReservationsScopedListWarning(o.warning!); } buildCounterReservationsScopedList--; @@ -33089,12 +33750,12 @@ void checkResourceGroupReference(api.ResourceGroupReference o) { buildCounterResourceGroupReference--; } -core.List buildUnnamed564() => [ +core.List buildUnnamed580() => [ buildResourcePolicy(), buildResourcePolicy(), ]; -void checkUnnamed564(core.List o) { +void checkUnnamed580(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkResourcePolicy(o[0]); checkResourcePolicy(o[1]); @@ -33129,12 +33790,12 @@ void checkResourcePoliciesScopedListWarningData( buildCounterResourcePoliciesScopedListWarningData--; } -core.List buildUnnamed565() => [ +core.List buildUnnamed581() => [ buildResourcePoliciesScopedListWarningData(), buildResourcePoliciesScopedListWarningData(), ]; -void checkUnnamed565(core.List o) { +void checkUnnamed581(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkResourcePoliciesScopedListWarningData(o[0]); checkResourcePoliciesScopedListWarningData(o[1]); @@ -33146,7 +33807,7 @@ api.ResourcePoliciesScopedListWarning buildResourcePoliciesScopedListWarning() { buildCounterResourcePoliciesScopedListWarning++; if (buildCounterResourcePoliciesScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed565(); + o.data = buildUnnamed581(); o.message = 'foo'; } buildCounterResourcePoliciesScopedListWarning--; @@ -33161,7 +33822,7 @@ void checkResourcePoliciesScopedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed565(o.data!); + checkUnnamed581(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -33175,7 +33836,7 @@ api.ResourcePoliciesScopedList buildResourcePoliciesScopedList() { final o = api.ResourcePoliciesScopedList(); buildCounterResourcePoliciesScopedList++; if (buildCounterResourcePoliciesScopedList < 3) { - o.resourcePolicies = buildUnnamed564(); + o.resourcePolicies = buildUnnamed580(); o.warning = buildResourcePoliciesScopedListWarning(); } buildCounterResourcePoliciesScopedList--; @@ -33185,7 +33846,7 @@ api.ResourcePoliciesScopedList buildResourcePoliciesScopedList() { void checkResourcePoliciesScopedList(api.ResourcePoliciesScopedList o) { buildCounterResourcePoliciesScopedList++; if (buildCounterResourcePoliciesScopedList < 3) { - checkUnnamed564(o.resourcePolicies!); + checkUnnamed580(o.resourcePolicies!); checkResourcePoliciesScopedListWarning(o.warning!); } buildCounterResourcePoliciesScopedList--; @@ -33260,23 +33921,23 @@ void checkResourcePolicy(api.ResourcePolicy o) { buildCounterResourcePolicy--; } -core.Map buildUnnamed566() => { +core.Map buildUnnamed582() => { 'x': buildResourcePoliciesScopedList(), 'y': buildResourcePoliciesScopedList(), }; -void checkUnnamed566(core.Map o) { +void checkUnnamed582(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkResourcePoliciesScopedList(o['x']!); checkResourcePoliciesScopedList(o['y']!); } -core.List buildUnnamed567() => [ +core.List buildUnnamed583() => [ 'foo', 'foo', ]; -void checkUnnamed567(core.List o) { +void checkUnnamed583(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -33317,12 +33978,12 @@ void checkResourcePolicyAggregatedListWarningData( buildCounterResourcePolicyAggregatedListWarningData--; } -core.List buildUnnamed568() => [ +core.List buildUnnamed584() => [ buildResourcePolicyAggregatedListWarningData(), buildResourcePolicyAggregatedListWarningData(), ]; -void checkUnnamed568(core.List o) { +void checkUnnamed584(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkResourcePolicyAggregatedListWarningData(o[0]); checkResourcePolicyAggregatedListWarningData(o[1]); @@ -33335,7 +33996,7 @@ api.ResourcePolicyAggregatedListWarning buildCounterResourcePolicyAggregatedListWarning++; if (buildCounterResourcePolicyAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed568(); + o.data = buildUnnamed584(); o.message = 'foo'; } buildCounterResourcePolicyAggregatedListWarning--; @@ -33350,7 +34011,7 @@ void checkResourcePolicyAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed568(o.data!); + checkUnnamed584(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -33366,11 +34027,11 @@ api.ResourcePolicyAggregatedList buildResourcePolicyAggregatedList() { if (buildCounterResourcePolicyAggregatedList < 3) { o.etag = 'foo'; o.id = 'foo'; - o.items = buildUnnamed566(); + o.items = buildUnnamed582(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed567(); + o.unreachables = buildUnnamed583(); o.warning = buildResourcePolicyAggregatedListWarning(); } buildCounterResourcePolicyAggregatedList--; @@ -33388,7 +34049,7 @@ void checkResourcePolicyAggregatedList(api.ResourcePolicyAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed566(o.items!); + checkUnnamed582(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -33401,7 +34062,7 @@ void checkResourcePolicyAggregatedList(api.ResourcePolicyAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed567(o.unreachables!); + checkUnnamed583(o.unreachables!); checkResourcePolicyAggregatedListWarning(o.warning!); } buildCounterResourcePolicyAggregatedList--; @@ -33584,12 +34245,12 @@ void checkResourcePolicyInstanceSchedulePolicySchedule( buildCounterResourcePolicyInstanceSchedulePolicySchedule--; } -core.List buildUnnamed569() => [ +core.List buildUnnamed585() => [ buildResourcePolicy(), buildResourcePolicy(), ]; -void checkUnnamed569(core.List o) { +void checkUnnamed585(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkResourcePolicy(o[0]); checkResourcePolicy(o[1]); @@ -33622,12 +34283,12 @@ void checkResourcePolicyListWarningData(api.ResourcePolicyListWarningData o) { buildCounterResourcePolicyListWarningData--; } -core.List buildUnnamed570() => [ +core.List buildUnnamed586() => [ buildResourcePolicyListWarningData(), buildResourcePolicyListWarningData(), ]; -void checkUnnamed570(core.List o) { +void checkUnnamed586(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkResourcePolicyListWarningData(o[0]); checkResourcePolicyListWarningData(o[1]); @@ -33639,7 +34300,7 @@ api.ResourcePolicyListWarning buildResourcePolicyListWarning() { buildCounterResourcePolicyListWarning++; if (buildCounterResourcePolicyListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed570(); + o.data = buildUnnamed586(); o.message = 'foo'; } buildCounterResourcePolicyListWarning--; @@ -33653,7 +34314,7 @@ void checkResourcePolicyListWarning(api.ResourcePolicyListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed570(o.data!); + checkUnnamed586(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -33669,7 +34330,7 @@ api.ResourcePolicyList buildResourcePolicyList() { if (buildCounterResourcePolicyList < 3) { o.etag = 'foo'; o.id = 'foo'; - o.items = buildUnnamed569(); + o.items = buildUnnamed585(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -33690,7 +34351,7 @@ void checkResourcePolicyList(api.ResourcePolicyList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed569(o.items!); + checkUnnamed585(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -33844,12 +34505,12 @@ void checkResourcePolicySnapshotSchedulePolicySchedule( buildCounterResourcePolicySnapshotSchedulePolicySchedule--; } -core.Map buildUnnamed571() => { +core.Map buildUnnamed587() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed571(core.Map o) { +void checkUnnamed587(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -33861,12 +34522,12 @@ void checkUnnamed571(core.Map o) { ); } -core.List buildUnnamed572() => [ +core.List buildUnnamed588() => [ 'foo', 'foo', ]; -void checkUnnamed572(core.List o) { +void checkUnnamed588(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -33886,8 +34547,8 @@ api.ResourcePolicySnapshotSchedulePolicySnapshotProperties if (buildCounterResourcePolicySnapshotSchedulePolicySnapshotProperties < 3) { o.chainName = 'foo'; o.guestFlush = true; - o.labels = buildUnnamed571(); - o.storageLocations = buildUnnamed572(); + o.labels = buildUnnamed587(); + o.storageLocations = buildUnnamed588(); } buildCounterResourcePolicySnapshotSchedulePolicySnapshotProperties--; return o; @@ -33902,18 +34563,18 @@ void checkResourcePolicySnapshotSchedulePolicySnapshotProperties( unittest.equals('foo'), ); unittest.expect(o.guestFlush!, unittest.isTrue); - checkUnnamed571(o.labels!); - checkUnnamed572(o.storageLocations!); + checkUnnamed587(o.labels!); + checkUnnamed588(o.storageLocations!); } buildCounterResourcePolicySnapshotSchedulePolicySnapshotProperties--; } -core.List buildUnnamed573() => [ +core.List buildUnnamed589() => [ buildResourcePolicyWeeklyCycleDayOfWeek(), buildResourcePolicyWeeklyCycleDayOfWeek(), ]; -void checkUnnamed573(core.List o) { +void checkUnnamed589(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkResourcePolicyWeeklyCycleDayOfWeek(o[0]); checkResourcePolicyWeeklyCycleDayOfWeek(o[1]); @@ -33924,7 +34585,7 @@ api.ResourcePolicyWeeklyCycle buildResourcePolicyWeeklyCycle() { final o = api.ResourcePolicyWeeklyCycle(); buildCounterResourcePolicyWeeklyCycle++; if (buildCounterResourcePolicyWeeklyCycle < 3) { - o.dayOfWeeks = buildUnnamed573(); + o.dayOfWeeks = buildUnnamed589(); } buildCounterResourcePolicyWeeklyCycle--; return o; @@ -33933,7 +34594,7 @@ api.ResourcePolicyWeeklyCycle buildResourcePolicyWeeklyCycle() { void checkResourcePolicyWeeklyCycle(api.ResourcePolicyWeeklyCycle o) { buildCounterResourcePolicyWeeklyCycle++; if (buildCounterResourcePolicyWeeklyCycle < 3) { - checkUnnamed573(o.dayOfWeeks!); + checkUnnamed589(o.dayOfWeeks!); } buildCounterResourcePolicyWeeklyCycle--; } @@ -34020,23 +34681,23 @@ void checkResourceStatusScheduling(api.ResourceStatusScheduling o) { buildCounterResourceStatusScheduling--; } -core.List buildUnnamed574() => [ +core.List buildUnnamed590() => [ buildRouteAsPath(), buildRouteAsPath(), ]; -void checkUnnamed574(core.List o) { +void checkUnnamed590(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRouteAsPath(o[0]); checkRouteAsPath(o[1]); } -core.List buildUnnamed575() => [ +core.List buildUnnamed591() => [ 'foo', 'foo', ]; -void checkUnnamed575(core.List o) { +void checkUnnamed591(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -34075,12 +34736,12 @@ void checkRouteWarningsData(api.RouteWarningsData o) { buildCounterRouteWarningsData--; } -core.List buildUnnamed576() => [ +core.List buildUnnamed592() => [ buildRouteWarningsData(), buildRouteWarningsData(), ]; -void checkUnnamed576(core.List o) { +void checkUnnamed592(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRouteWarningsData(o[0]); checkRouteWarningsData(o[1]); @@ -34092,7 +34753,7 @@ api.RouteWarnings buildRouteWarnings() { buildCounterRouteWarnings++; if (buildCounterRouteWarnings < 3) { o.code = 'foo'; - o.data = buildUnnamed576(); + o.data = buildUnnamed592(); o.message = 'foo'; } buildCounterRouteWarnings--; @@ -34106,7 +34767,7 @@ void checkRouteWarnings(api.RouteWarnings o) { o.code!, unittest.equals('foo'), ); - checkUnnamed576(o.data!); + checkUnnamed592(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -34115,12 +34776,12 @@ void checkRouteWarnings(api.RouteWarnings o) { buildCounterRouteWarnings--; } -core.List buildUnnamed577() => [ +core.List buildUnnamed593() => [ buildRouteWarnings(), buildRouteWarnings(), ]; -void checkUnnamed577(core.List o) { +void checkUnnamed593(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRouteWarnings(o[0]); checkRouteWarnings(o[1]); @@ -34131,7 +34792,7 @@ api.Route buildRoute() { final o = api.Route(); buildCounterRoute++; if (buildCounterRoute < 3) { - o.asPaths = buildUnnamed574(); + o.asPaths = buildUnnamed590(); o.creationTimestamp = 'foo'; o.description = 'foo'; o.destRange = 'foo'; @@ -34154,8 +34815,8 @@ api.Route buildRoute() { o.routeStatus = 'foo'; o.routeType = 'foo'; o.selfLink = 'foo'; - o.tags = buildUnnamed575(); - o.warnings = buildUnnamed577(); + o.tags = buildUnnamed591(); + o.warnings = buildUnnamed593(); } buildCounterRoute--; return o; @@ -34164,7 +34825,7 @@ api.Route buildRoute() { void checkRoute(api.Route o) { buildCounterRoute++; if (buildCounterRoute < 3) { - checkUnnamed574(o.asPaths!); + checkUnnamed590(o.asPaths!); unittest.expect( o.creationTimestamp!, unittest.equals('foo'), @@ -34253,18 +34914,18 @@ void checkRoute(api.Route o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed575(o.tags!); - checkUnnamed577(o.warnings!); + checkUnnamed591(o.tags!); + checkUnnamed593(o.warnings!); } buildCounterRoute--; } -core.List buildUnnamed578() => [ +core.List buildUnnamed594() => [ 42, 42, ]; -void checkUnnamed578(core.List o) { +void checkUnnamed594(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -34281,7 +34942,7 @@ api.RouteAsPath buildRouteAsPath() { final o = api.RouteAsPath(); buildCounterRouteAsPath++; if (buildCounterRouteAsPath < 3) { - o.asLists = buildUnnamed578(); + o.asLists = buildUnnamed594(); o.pathSegmentType = 'foo'; } buildCounterRouteAsPath--; @@ -34291,7 +34952,7 @@ api.RouteAsPath buildRouteAsPath() { void checkRouteAsPath(api.RouteAsPath o) { buildCounterRouteAsPath++; if (buildCounterRouteAsPath < 3) { - checkUnnamed578(o.asLists!); + checkUnnamed594(o.asLists!); unittest.expect( o.pathSegmentType!, unittest.equals('foo'), @@ -34300,12 +34961,12 @@ void checkRouteAsPath(api.RouteAsPath o) { buildCounterRouteAsPath--; } -core.List buildUnnamed579() => [ +core.List buildUnnamed595() => [ buildRoute(), buildRoute(), ]; -void checkUnnamed579(core.List o) { +void checkUnnamed595(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRoute(o[0]); checkRoute(o[1]); @@ -34338,12 +34999,12 @@ void checkRouteListWarningData(api.RouteListWarningData o) { buildCounterRouteListWarningData--; } -core.List buildUnnamed580() => [ +core.List buildUnnamed596() => [ buildRouteListWarningData(), buildRouteListWarningData(), ]; -void checkUnnamed580(core.List o) { +void checkUnnamed596(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRouteListWarningData(o[0]); checkRouteListWarningData(o[1]); @@ -34355,7 +35016,7 @@ api.RouteListWarning buildRouteListWarning() { buildCounterRouteListWarning++; if (buildCounterRouteListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed580(); + o.data = buildUnnamed596(); o.message = 'foo'; } buildCounterRouteListWarning--; @@ -34369,7 +35030,7 @@ void checkRouteListWarning(api.RouteListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed580(o.data!); + checkUnnamed596(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -34384,7 +35045,7 @@ api.RouteList buildRouteList() { buildCounterRouteList++; if (buildCounterRouteList < 3) { o.id = 'foo'; - o.items = buildUnnamed579(); + o.items = buildUnnamed595(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -34401,7 +35062,7 @@ void checkRouteList(api.RouteList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed579(o.items!); + checkUnnamed595(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -34419,45 +35080,132 @@ void checkRouteList(api.RouteList o) { buildCounterRouteList--; } -core.List buildUnnamed581() => [ +core.List buildUnnamed597() => [ + buildRoutePolicyPolicyTerm(), + buildRoutePolicyPolicyTerm(), + ]; + +void checkUnnamed597(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkRoutePolicyPolicyTerm(o[0]); + checkRoutePolicyPolicyTerm(o[1]); +} + +core.int buildCounterRoutePolicy = 0; +api.RoutePolicy buildRoutePolicy() { + final o = api.RoutePolicy(); + buildCounterRoutePolicy++; + if (buildCounterRoutePolicy < 3) { + o.description = 'foo'; + o.fingerprint = 'foo'; + o.name = 'foo'; + o.terms = buildUnnamed597(); + o.type = 'foo'; + } + buildCounterRoutePolicy--; + return o; +} + +void checkRoutePolicy(api.RoutePolicy o) { + buildCounterRoutePolicy++; + if (buildCounterRoutePolicy < 3) { + unittest.expect( + o.description!, + unittest.equals('foo'), + ); + unittest.expect( + o.fingerprint!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + checkUnnamed597(o.terms!); + unittest.expect( + o.type!, + unittest.equals('foo'), + ); + } + buildCounterRoutePolicy--; +} + +core.List buildUnnamed598() => [ + buildExpr(), + buildExpr(), + ]; + +void checkUnnamed598(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkExpr(o[0]); + checkExpr(o[1]); +} + +core.int buildCounterRoutePolicyPolicyTerm = 0; +api.RoutePolicyPolicyTerm buildRoutePolicyPolicyTerm() { + final o = api.RoutePolicyPolicyTerm(); + buildCounterRoutePolicyPolicyTerm++; + if (buildCounterRoutePolicyPolicyTerm < 3) { + o.actions = buildUnnamed598(); + o.match = buildExpr(); + o.priority = 42; + } + buildCounterRoutePolicyPolicyTerm--; + return o; +} + +void checkRoutePolicyPolicyTerm(api.RoutePolicyPolicyTerm o) { + buildCounterRoutePolicyPolicyTerm++; + if (buildCounterRoutePolicyPolicyTerm < 3) { + checkUnnamed598(o.actions!); + checkExpr(o.match!); + unittest.expect( + o.priority!, + unittest.equals(42), + ); + } + buildCounterRoutePolicyPolicyTerm--; +} + +core.List buildUnnamed599() => [ buildRouterBgpPeer(), buildRouterBgpPeer(), ]; -void checkUnnamed581(core.List o) { +void checkUnnamed599(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRouterBgpPeer(o[0]); checkRouterBgpPeer(o[1]); } -core.List buildUnnamed582() => [ +core.List buildUnnamed600() => [ buildRouterInterface(), buildRouterInterface(), ]; -void checkUnnamed582(core.List o) { +void checkUnnamed600(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRouterInterface(o[0]); checkRouterInterface(o[1]); } -core.List buildUnnamed583() => [ +core.List buildUnnamed601() => [ buildRouterMd5AuthenticationKey(), buildRouterMd5AuthenticationKey(), ]; -void checkUnnamed583(core.List o) { +void checkUnnamed601(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRouterMd5AuthenticationKey(o[0]); checkRouterMd5AuthenticationKey(o[1]); } -core.List buildUnnamed584() => [ +core.List buildUnnamed602() => [ buildRouterNat(), buildRouterNat(), ]; -void checkUnnamed584(core.List o) { +void checkUnnamed602(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRouterNat(o[0]); checkRouterNat(o[1]); @@ -34469,16 +35217,16 @@ api.Router buildRouter() { buildCounterRouter++; if (buildCounterRouter < 3) { o.bgp = buildRouterBgp(); - o.bgpPeers = buildUnnamed581(); + o.bgpPeers = buildUnnamed599(); o.creationTimestamp = 'foo'; o.description = 'foo'; o.encryptedInterconnectRouter = true; o.id = 'foo'; - o.interfaces = buildUnnamed582(); + o.interfaces = buildUnnamed600(); o.kind = 'foo'; - o.md5AuthenticationKeys = buildUnnamed583(); + o.md5AuthenticationKeys = buildUnnamed601(); o.name = 'foo'; - o.nats = buildUnnamed584(); + o.nats = buildUnnamed602(); o.network = 'foo'; o.region = 'foo'; o.selfLink = 'foo'; @@ -34491,7 +35239,7 @@ void checkRouter(api.Router o) { buildCounterRouter++; if (buildCounterRouter < 3) { checkRouterBgp(o.bgp!); - checkUnnamed581(o.bgpPeers!); + checkUnnamed599(o.bgpPeers!); unittest.expect( o.creationTimestamp!, unittest.equals('foo'), @@ -34505,17 +35253,17 @@ void checkRouter(api.Router o) { o.id!, unittest.equals('foo'), ); - checkUnnamed582(o.interfaces!); + checkUnnamed600(o.interfaces!); unittest.expect( o.kind!, unittest.equals('foo'), ); - checkUnnamed583(o.md5AuthenticationKeys!); + checkUnnamed601(o.md5AuthenticationKeys!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed584(o.nats!); + checkUnnamed602(o.nats!); unittest.expect( o.network!, unittest.equals('foo'), @@ -34559,23 +35307,23 @@ void checkRouterAdvertisedIpRange(api.RouterAdvertisedIpRange o) { buildCounterRouterAdvertisedIpRange--; } -core.Map buildUnnamed585() => { +core.Map buildUnnamed603() => { 'x': buildRoutersScopedList(), 'y': buildRoutersScopedList(), }; -void checkUnnamed585(core.Map o) { +void checkUnnamed603(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkRoutersScopedList(o['x']!); checkRoutersScopedList(o['y']!); } -core.List buildUnnamed586() => [ +core.List buildUnnamed604() => [ 'foo', 'foo', ]; -void checkUnnamed586(core.List o) { +void checkUnnamed604(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -34615,12 +35363,12 @@ void checkRouterAggregatedListWarningData( buildCounterRouterAggregatedListWarningData--; } -core.List buildUnnamed587() => [ +core.List buildUnnamed605() => [ buildRouterAggregatedListWarningData(), buildRouterAggregatedListWarningData(), ]; -void checkUnnamed587(core.List o) { +void checkUnnamed605(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRouterAggregatedListWarningData(o[0]); checkRouterAggregatedListWarningData(o[1]); @@ -34632,7 +35380,7 @@ api.RouterAggregatedListWarning buildRouterAggregatedListWarning() { buildCounterRouterAggregatedListWarning++; if (buildCounterRouterAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed587(); + o.data = buildUnnamed605(); o.message = 'foo'; } buildCounterRouterAggregatedListWarning--; @@ -34646,7 +35394,7 @@ void checkRouterAggregatedListWarning(api.RouterAggregatedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed587(o.data!); + checkUnnamed605(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -34661,11 +35409,11 @@ api.RouterAggregatedList buildRouterAggregatedList() { buildCounterRouterAggregatedList++; if (buildCounterRouterAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed585(); + o.items = buildUnnamed603(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed586(); + o.unreachables = buildUnnamed604(); o.warning = buildRouterAggregatedListWarning(); } buildCounterRouterAggregatedList--; @@ -34679,7 +35427,7 @@ void checkRouterAggregatedList(api.RouterAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed585(o.items!); + checkUnnamed603(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -34692,18 +35440,18 @@ void checkRouterAggregatedList(api.RouterAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed586(o.unreachables!); + checkUnnamed604(o.unreachables!); checkRouterAggregatedListWarning(o.warning!); } buildCounterRouterAggregatedList--; } -core.List buildUnnamed588() => [ +core.List buildUnnamed606() => [ 'foo', 'foo', ]; -void checkUnnamed588(core.List o) { +void checkUnnamed606(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -34715,12 +35463,12 @@ void checkUnnamed588(core.List o) { ); } -core.List buildUnnamed589() => [ +core.List buildUnnamed607() => [ buildRouterAdvertisedIpRange(), buildRouterAdvertisedIpRange(), ]; -void checkUnnamed589(core.List o) { +void checkUnnamed607(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRouterAdvertisedIpRange(o[0]); checkRouterAdvertisedIpRange(o[1]); @@ -34732,8 +35480,8 @@ api.RouterBgp buildRouterBgp() { buildCounterRouterBgp++; if (buildCounterRouterBgp < 3) { o.advertiseMode = 'foo'; - o.advertisedGroups = buildUnnamed588(); - o.advertisedIpRanges = buildUnnamed589(); + o.advertisedGroups = buildUnnamed606(); + o.advertisedIpRanges = buildUnnamed607(); o.asn = 42; o.identifierRange = 'foo'; o.keepaliveInterval = 42; @@ -34749,8 +35497,8 @@ void checkRouterBgp(api.RouterBgp o) { o.advertiseMode!, unittest.equals('foo'), ); - checkUnnamed588(o.advertisedGroups!); - checkUnnamed589(o.advertisedIpRanges!); + checkUnnamed606(o.advertisedGroups!); + checkUnnamed607(o.advertisedIpRanges!); unittest.expect( o.asn!, unittest.equals(42), @@ -34767,12 +35515,12 @@ void checkRouterBgp(api.RouterBgp o) { buildCounterRouterBgp--; } -core.List buildUnnamed590() => [ +core.List buildUnnamed608() => [ 'foo', 'foo', ]; -void checkUnnamed590(core.List o) { +void checkUnnamed608(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -34784,34 +35532,34 @@ void checkUnnamed590(core.List o) { ); } -core.List buildUnnamed591() => [ +core.List buildUnnamed609() => [ buildRouterAdvertisedIpRange(), buildRouterAdvertisedIpRange(), ]; -void checkUnnamed591(core.List o) { +void checkUnnamed609(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRouterAdvertisedIpRange(o[0]); checkRouterAdvertisedIpRange(o[1]); } -core.List buildUnnamed592() => [ +core.List buildUnnamed610() => [ buildRouterBgpPeerCustomLearnedIpRange(), buildRouterBgpPeerCustomLearnedIpRange(), ]; -void checkUnnamed592(core.List o) { +void checkUnnamed610(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRouterBgpPeerCustomLearnedIpRange(o[0]); checkRouterBgpPeerCustomLearnedIpRange(o[1]); } -core.List buildUnnamed593() => [ +core.List buildUnnamed611() => [ 'foo', 'foo', ]; -void checkUnnamed593(core.List o) { +void checkUnnamed611(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -34823,12 +35571,12 @@ void checkUnnamed593(core.List o) { ); } -core.List buildUnnamed594() => [ +core.List buildUnnamed612() => [ 'foo', 'foo', ]; -void checkUnnamed594(core.List o) { +void checkUnnamed612(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -34846,17 +35594,17 @@ api.RouterBgpPeer buildRouterBgpPeer() { buildCounterRouterBgpPeer++; if (buildCounterRouterBgpPeer < 3) { o.advertiseMode = 'foo'; - o.advertisedGroups = buildUnnamed590(); - o.advertisedIpRanges = buildUnnamed591(); + o.advertisedGroups = buildUnnamed608(); + o.advertisedIpRanges = buildUnnamed609(); o.advertisedRoutePriority = 42; o.bfd = buildRouterBgpPeerBfd(); - o.customLearnedIpRanges = buildUnnamed592(); + o.customLearnedIpRanges = buildUnnamed610(); o.customLearnedRoutePriority = 42; o.enable = 'foo'; o.enableIpv4 = true; o.enableIpv6 = true; - o.exportPolicies = buildUnnamed593(); - o.importPolicies = buildUnnamed594(); + o.exportPolicies = buildUnnamed611(); + o.importPolicies = buildUnnamed612(); o.interfaceName = 'foo'; o.ipAddress = 'foo'; o.ipv4NexthopAddress = 'foo'; @@ -34881,14 +35629,14 @@ void checkRouterBgpPeer(api.RouterBgpPeer o) { o.advertiseMode!, unittest.equals('foo'), ); - checkUnnamed590(o.advertisedGroups!); - checkUnnamed591(o.advertisedIpRanges!); + checkUnnamed608(o.advertisedGroups!); + checkUnnamed609(o.advertisedIpRanges!); unittest.expect( o.advertisedRoutePriority!, unittest.equals(42), ); checkRouterBgpPeerBfd(o.bfd!); - checkUnnamed592(o.customLearnedIpRanges!); + checkUnnamed610(o.customLearnedIpRanges!); unittest.expect( o.customLearnedRoutePriority!, unittest.equals(42), @@ -34899,8 +35647,8 @@ void checkRouterBgpPeer(api.RouterBgpPeer o) { ); unittest.expect(o.enableIpv4!, unittest.isTrue); unittest.expect(o.enableIpv6!, unittest.isTrue); - checkUnnamed593(o.exportPolicies!); - checkUnnamed594(o.importPolicies!); + checkUnnamed611(o.exportPolicies!); + checkUnnamed612(o.importPolicies!); unittest.expect( o.interfaceName!, unittest.equals('foo'), @@ -35075,12 +35823,12 @@ void checkRouterInterface(api.RouterInterface o) { buildCounterRouterInterface--; } -core.List buildUnnamed595() => [ +core.List buildUnnamed613() => [ buildRouter(), buildRouter(), ]; -void checkUnnamed595(core.List o) { +void checkUnnamed613(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRouter(o[0]); checkRouter(o[1]); @@ -35113,12 +35861,12 @@ void checkRouterListWarningData(api.RouterListWarningData o) { buildCounterRouterListWarningData--; } -core.List buildUnnamed596() => [ +core.List buildUnnamed614() => [ buildRouterListWarningData(), buildRouterListWarningData(), ]; -void checkUnnamed596(core.List o) { +void checkUnnamed614(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRouterListWarningData(o[0]); checkRouterListWarningData(o[1]); @@ -35130,7 +35878,7 @@ api.RouterListWarning buildRouterListWarning() { buildCounterRouterListWarning++; if (buildCounterRouterListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed596(); + o.data = buildUnnamed614(); o.message = 'foo'; } buildCounterRouterListWarning--; @@ -35144,7 +35892,7 @@ void checkRouterListWarning(api.RouterListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed596(o.data!); + checkUnnamed614(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -35159,7 +35907,7 @@ api.RouterList buildRouterList() { buildCounterRouterList++; if (buildCounterRouterList < 3) { o.id = 'foo'; - o.items = buildUnnamed595(); + o.items = buildUnnamed613(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -35176,7 +35924,7 @@ void checkRouterList(api.RouterList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed595(o.items!); + checkUnnamed613(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -35221,12 +35969,12 @@ void checkRouterMd5AuthenticationKey(api.RouterMd5AuthenticationKey o) { buildCounterRouterMd5AuthenticationKey--; } -core.List buildUnnamed597() => [ +core.List buildUnnamed615() => [ 'foo', 'foo', ]; -void checkUnnamed597(core.List o) { +void checkUnnamed615(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -35238,12 +35986,12 @@ void checkUnnamed597(core.List o) { ); } -core.List buildUnnamed598() => [ +core.List buildUnnamed616() => [ 'foo', 'foo', ]; -void checkUnnamed598(core.List o) { +void checkUnnamed616(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -35255,12 +36003,12 @@ void checkUnnamed598(core.List o) { ); } -core.List buildUnnamed599() => [ +core.List buildUnnamed617() => [ 'foo', 'foo', ]; -void checkUnnamed599(core.List o) { +void checkUnnamed617(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -35272,23 +36020,23 @@ void checkUnnamed599(core.List o) { ); } -core.List buildUnnamed600() => [ +core.List buildUnnamed618() => [ buildRouterNatRule(), buildRouterNatRule(), ]; -void checkUnnamed600(core.List o) { +void checkUnnamed618(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRouterNatRule(o[0]); checkRouterNatRule(o[1]); } -core.List buildUnnamed601() => [ +core.List buildUnnamed619() => [ buildRouterNatSubnetworkToNat(), buildRouterNatSubnetworkToNat(), ]; -void checkUnnamed601(core.List o) { +void checkUnnamed619(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRouterNatSubnetworkToNat(o[0]); checkRouterNatSubnetworkToNat(o[1]); @@ -35300,20 +36048,20 @@ api.RouterNat buildRouterNat() { buildCounterRouterNat++; if (buildCounterRouterNat < 3) { o.autoNetworkTier = 'foo'; - o.drainNatIps = buildUnnamed597(); + o.drainNatIps = buildUnnamed615(); o.enableDynamicPortAllocation = true; o.enableEndpointIndependentMapping = true; - o.endpointTypes = buildUnnamed598(); + o.endpointTypes = buildUnnamed616(); o.icmpIdleTimeoutSec = 42; o.logConfig = buildRouterNatLogConfig(); o.maxPortsPerVm = 42; o.minPortsPerVm = 42; o.name = 'foo'; o.natIpAllocateOption = 'foo'; - o.natIps = buildUnnamed599(); - o.rules = buildUnnamed600(); + o.natIps = buildUnnamed617(); + o.rules = buildUnnamed618(); o.sourceSubnetworkIpRangesToNat = 'foo'; - o.subnetworks = buildUnnamed601(); + o.subnetworks = buildUnnamed619(); o.tcpEstablishedIdleTimeoutSec = 42; o.tcpTimeWaitTimeoutSec = 42; o.tcpTransitoryIdleTimeoutSec = 42; @@ -35331,10 +36079,10 @@ void checkRouterNat(api.RouterNat o) { o.autoNetworkTier!, unittest.equals('foo'), ); - checkUnnamed597(o.drainNatIps!); + checkUnnamed615(o.drainNatIps!); unittest.expect(o.enableDynamicPortAllocation!, unittest.isTrue); unittest.expect(o.enableEndpointIndependentMapping!, unittest.isTrue); - checkUnnamed598(o.endpointTypes!); + checkUnnamed616(o.endpointTypes!); unittest.expect( o.icmpIdleTimeoutSec!, unittest.equals(42), @@ -35356,13 +36104,13 @@ void checkRouterNat(api.RouterNat o) { o.natIpAllocateOption!, unittest.equals('foo'), ); - checkUnnamed599(o.natIps!); - checkUnnamed600(o.rules!); + checkUnnamed617(o.natIps!); + checkUnnamed618(o.rules!); unittest.expect( o.sourceSubnetworkIpRangesToNat!, unittest.equals('foo'), ); - checkUnnamed601(o.subnetworks!); + checkUnnamed619(o.subnetworks!); unittest.expect( o.tcpEstablishedIdleTimeoutSec!, unittest.equals(42), @@ -35445,12 +36193,12 @@ void checkRouterNatRule(api.RouterNatRule o) { buildCounterRouterNatRule--; } -core.List buildUnnamed602() => [ +core.List buildUnnamed620() => [ 'foo', 'foo', ]; -void checkUnnamed602(core.List o) { +void checkUnnamed620(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -35462,12 +36210,12 @@ void checkUnnamed602(core.List o) { ); } -core.List buildUnnamed603() => [ +core.List buildUnnamed621() => [ 'foo', 'foo', ]; -void checkUnnamed603(core.List o) { +void checkUnnamed621(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -35479,12 +36227,12 @@ void checkUnnamed603(core.List o) { ); } -core.List buildUnnamed604() => [ +core.List buildUnnamed622() => [ 'foo', 'foo', ]; -void checkUnnamed604(core.List o) { +void checkUnnamed622(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -35496,12 +36244,12 @@ void checkUnnamed604(core.List o) { ); } -core.List buildUnnamed605() => [ +core.List buildUnnamed623() => [ 'foo', 'foo', ]; -void checkUnnamed605(core.List o) { +void checkUnnamed623(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -35518,10 +36266,10 @@ api.RouterNatRuleAction buildRouterNatRuleAction() { final o = api.RouterNatRuleAction(); buildCounterRouterNatRuleAction++; if (buildCounterRouterNatRuleAction < 3) { - o.sourceNatActiveIps = buildUnnamed602(); - o.sourceNatActiveRanges = buildUnnamed603(); - o.sourceNatDrainIps = buildUnnamed604(); - o.sourceNatDrainRanges = buildUnnamed605(); + o.sourceNatActiveIps = buildUnnamed620(); + o.sourceNatActiveRanges = buildUnnamed621(); + o.sourceNatDrainIps = buildUnnamed622(); + o.sourceNatDrainRanges = buildUnnamed623(); } buildCounterRouterNatRuleAction--; return o; @@ -35530,20 +36278,20 @@ api.RouterNatRuleAction buildRouterNatRuleAction() { void checkRouterNatRuleAction(api.RouterNatRuleAction o) { buildCounterRouterNatRuleAction++; if (buildCounterRouterNatRuleAction < 3) { - checkUnnamed602(o.sourceNatActiveIps!); - checkUnnamed603(o.sourceNatActiveRanges!); - checkUnnamed604(o.sourceNatDrainIps!); - checkUnnamed605(o.sourceNatDrainRanges!); + checkUnnamed620(o.sourceNatActiveIps!); + checkUnnamed621(o.sourceNatActiveRanges!); + checkUnnamed622(o.sourceNatDrainIps!); + checkUnnamed623(o.sourceNatDrainRanges!); } buildCounterRouterNatRuleAction--; } -core.List buildUnnamed606() => [ +core.List buildUnnamed624() => [ 'foo', 'foo', ]; -void checkUnnamed606(core.List o) { +void checkUnnamed624(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -35555,12 +36303,12 @@ void checkUnnamed606(core.List o) { ); } -core.List buildUnnamed607() => [ +core.List buildUnnamed625() => [ 'foo', 'foo', ]; -void checkUnnamed607(core.List o) { +void checkUnnamed625(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -35578,8 +36326,8 @@ api.RouterNatSubnetworkToNat buildRouterNatSubnetworkToNat() { buildCounterRouterNatSubnetworkToNat++; if (buildCounterRouterNatSubnetworkToNat < 3) { o.name = 'foo'; - o.secondaryIpRangeNames = buildUnnamed606(); - o.sourceIpRangesToNat = buildUnnamed607(); + o.secondaryIpRangeNames = buildUnnamed624(); + o.sourceIpRangesToNat = buildUnnamed625(); } buildCounterRouterNatSubnetworkToNat--; return o; @@ -35592,51 +36340,51 @@ void checkRouterNatSubnetworkToNat(api.RouterNatSubnetworkToNat o) { o.name!, unittest.equals('foo'), ); - checkUnnamed606(o.secondaryIpRangeNames!); - checkUnnamed607(o.sourceIpRangesToNat!); + checkUnnamed624(o.secondaryIpRangeNames!); + checkUnnamed625(o.sourceIpRangesToNat!); } buildCounterRouterNatSubnetworkToNat--; } -core.List buildUnnamed608() => [ +core.List buildUnnamed626() => [ buildRoute(), buildRoute(), ]; -void checkUnnamed608(core.List o) { +void checkUnnamed626(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRoute(o[0]); checkRoute(o[1]); } -core.List buildUnnamed609() => [ +core.List buildUnnamed627() => [ buildRoute(), buildRoute(), ]; -void checkUnnamed609(core.List o) { +void checkUnnamed627(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRoute(o[0]); checkRoute(o[1]); } -core.List buildUnnamed610() => [ +core.List buildUnnamed628() => [ buildRouterStatusBgpPeerStatus(), buildRouterStatusBgpPeerStatus(), ]; -void checkUnnamed610(core.List o) { +void checkUnnamed628(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRouterStatusBgpPeerStatus(o[0]); checkRouterStatusBgpPeerStatus(o[1]); } -core.List buildUnnamed611() => [ +core.List buildUnnamed629() => [ buildRouterStatusNatStatus(), buildRouterStatusNatStatus(), ]; -void checkUnnamed611(core.List o) { +void checkUnnamed629(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRouterStatusNatStatus(o[0]); checkRouterStatusNatStatus(o[1]); @@ -35647,10 +36395,10 @@ api.RouterStatus buildRouterStatus() { final o = api.RouterStatus(); buildCounterRouterStatus++; if (buildCounterRouterStatus < 3) { - o.bestRoutes = buildUnnamed608(); - o.bestRoutesForRouter = buildUnnamed609(); - o.bgpPeerStatus = buildUnnamed610(); - o.natStatus = buildUnnamed611(); + o.bestRoutes = buildUnnamed626(); + o.bestRoutesForRouter = buildUnnamed627(); + o.bgpPeerStatus = buildUnnamed628(); + o.natStatus = buildUnnamed629(); o.network = 'foo'; } buildCounterRouterStatus--; @@ -35660,10 +36408,10 @@ api.RouterStatus buildRouterStatus() { void checkRouterStatus(api.RouterStatus o) { buildCounterRouterStatus++; if (buildCounterRouterStatus < 3) { - checkUnnamed608(o.bestRoutes!); - checkUnnamed609(o.bestRoutesForRouter!); - checkUnnamed610(o.bgpPeerStatus!); - checkUnnamed611(o.natStatus!); + checkUnnamed626(o.bestRoutes!); + checkUnnamed627(o.bestRoutesForRouter!); + checkUnnamed628(o.bgpPeerStatus!); + checkUnnamed629(o.natStatus!); unittest.expect( o.network!, unittest.equals('foo'), @@ -35672,12 +36420,12 @@ void checkRouterStatus(api.RouterStatus o) { buildCounterRouterStatus--; } -core.List buildUnnamed612() => [ +core.List buildUnnamed630() => [ buildRoute(), buildRoute(), ]; -void checkUnnamed612(core.List o) { +void checkUnnamed630(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRoute(o[0]); checkRoute(o[1]); @@ -35688,7 +36436,7 @@ api.RouterStatusBgpPeerStatus buildRouterStatusBgpPeerStatus() { final o = api.RouterStatusBgpPeerStatus(); buildCounterRouterStatusBgpPeerStatus++; if (buildCounterRouterStatusBgpPeerStatus < 3) { - o.advertisedRoutes = buildUnnamed612(); + o.advertisedRoutes = buildUnnamed630(); o.bfdStatus = buildBfdStatus(); o.enableIpv4 = true; o.enableIpv6 = true; @@ -35716,7 +36464,7 @@ api.RouterStatusBgpPeerStatus buildRouterStatusBgpPeerStatus() { void checkRouterStatusBgpPeerStatus(api.RouterStatusBgpPeerStatus o) { buildCounterRouterStatusBgpPeerStatus++; if (buildCounterRouterStatusBgpPeerStatus < 3) { - checkUnnamed612(o.advertisedRoutes!); + checkUnnamed630(o.advertisedRoutes!); checkBfdStatus(o.bfdStatus!); unittest.expect(o.enableIpv4!, unittest.isTrue); unittest.expect(o.enableIpv6!, unittest.isTrue); @@ -35785,12 +36533,74 @@ void checkRouterStatusBgpPeerStatus(api.RouterStatusBgpPeerStatus o) { buildCounterRouterStatusBgpPeerStatus--; } -core.List buildUnnamed613() => [ +core.List buildUnnamed631() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed631(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed632() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed632(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed633() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed633(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed634() => [ + buildRouterStatusNatStatusNatRuleStatus(), + buildRouterStatusNatStatusNatRuleStatus(), + ]; + +void checkUnnamed634(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkRouterStatusNatStatusNatRuleStatus(o[0]); + checkRouterStatusNatStatusNatRuleStatus(o[1]); +} + +core.List buildUnnamed635() => [ 'foo', 'foo', ]; -void checkUnnamed613(core.List o) { +void checkUnnamed635(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -35802,74 +36612,12 @@ void checkUnnamed613(core.List o) { ); } -core.List buildUnnamed614() => [ +core.List buildUnnamed636() => [ 'foo', 'foo', ]; -void checkUnnamed614(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - unittest.expect( - o[0], - unittest.equals('foo'), - ); - unittest.expect( - o[1], - unittest.equals('foo'), - ); -} - -core.List buildUnnamed615() => [ - 'foo', - 'foo', - ]; - -void checkUnnamed615(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - unittest.expect( - o[0], - unittest.equals('foo'), - ); - unittest.expect( - o[1], - unittest.equals('foo'), - ); -} - -core.List buildUnnamed616() => [ - buildRouterStatusNatStatusNatRuleStatus(), - buildRouterStatusNatStatusNatRuleStatus(), - ]; - -void checkUnnamed616(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - checkRouterStatusNatStatusNatRuleStatus(o[0]); - checkRouterStatusNatStatusNatRuleStatus(o[1]); -} - -core.List buildUnnamed617() => [ - 'foo', - 'foo', - ]; - -void checkUnnamed617(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - unittest.expect( - o[0], - unittest.equals('foo'), - ); - unittest.expect( - o[1], - unittest.equals('foo'), - ); -} - -core.List buildUnnamed618() => [ - 'foo', - 'foo', - ]; - -void checkUnnamed618(core.List o) { +void checkUnnamed636(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -35886,15 +36634,15 @@ api.RouterStatusNatStatus buildRouterStatusNatStatus() { final o = api.RouterStatusNatStatus(); buildCounterRouterStatusNatStatus++; if (buildCounterRouterStatusNatStatus < 3) { - o.autoAllocatedNatIps = buildUnnamed613(); - o.drainAutoAllocatedNatIps = buildUnnamed614(); - o.drainUserAllocatedNatIps = buildUnnamed615(); + o.autoAllocatedNatIps = buildUnnamed631(); + o.drainAutoAllocatedNatIps = buildUnnamed632(); + o.drainUserAllocatedNatIps = buildUnnamed633(); o.minExtraNatIpsNeeded = 42; o.name = 'foo'; o.numVmEndpointsWithNatMappings = 42; - o.ruleStatus = buildUnnamed616(); - o.userAllocatedNatIpResources = buildUnnamed617(); - o.userAllocatedNatIps = buildUnnamed618(); + o.ruleStatus = buildUnnamed634(); + o.userAllocatedNatIpResources = buildUnnamed635(); + o.userAllocatedNatIps = buildUnnamed636(); } buildCounterRouterStatusNatStatus--; return o; @@ -35903,9 +36651,9 @@ api.RouterStatusNatStatus buildRouterStatusNatStatus() { void checkRouterStatusNatStatus(api.RouterStatusNatStatus o) { buildCounterRouterStatusNatStatus++; if (buildCounterRouterStatusNatStatus < 3) { - checkUnnamed613(o.autoAllocatedNatIps!); - checkUnnamed614(o.drainAutoAllocatedNatIps!); - checkUnnamed615(o.drainUserAllocatedNatIps!); + checkUnnamed631(o.autoAllocatedNatIps!); + checkUnnamed632(o.drainAutoAllocatedNatIps!); + checkUnnamed633(o.drainUserAllocatedNatIps!); unittest.expect( o.minExtraNatIpsNeeded!, unittest.equals(42), @@ -35918,19 +36666,19 @@ void checkRouterStatusNatStatus(api.RouterStatusNatStatus o) { o.numVmEndpointsWithNatMappings!, unittest.equals(42), ); - checkUnnamed616(o.ruleStatus!); - checkUnnamed617(o.userAllocatedNatIpResources!); - checkUnnamed618(o.userAllocatedNatIps!); + checkUnnamed634(o.ruleStatus!); + checkUnnamed635(o.userAllocatedNatIpResources!); + checkUnnamed636(o.userAllocatedNatIps!); } buildCounterRouterStatusNatStatus--; } -core.List buildUnnamed619() => [ +core.List buildUnnamed637() => [ 'foo', 'foo', ]; -void checkUnnamed619(core.List o) { +void checkUnnamed637(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -35942,12 +36690,12 @@ void checkUnnamed619(core.List o) { ); } -core.List buildUnnamed620() => [ +core.List buildUnnamed638() => [ 'foo', 'foo', ]; -void checkUnnamed620(core.List o) { +void checkUnnamed638(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -35965,8 +36713,8 @@ api.RouterStatusNatStatusNatRuleStatus final o = api.RouterStatusNatStatusNatRuleStatus(); buildCounterRouterStatusNatStatusNatRuleStatus++; if (buildCounterRouterStatusNatStatusNatRuleStatus < 3) { - o.activeNatIps = buildUnnamed619(); - o.drainNatIps = buildUnnamed620(); + o.activeNatIps = buildUnnamed637(); + o.drainNatIps = buildUnnamed638(); o.minExtraIpsNeeded = 42; o.numVmEndpointsWithNatMappings = 42; o.ruleNumber = 42; @@ -35979,8 +36727,8 @@ void checkRouterStatusNatStatusNatRuleStatus( api.RouterStatusNatStatusNatRuleStatus o) { buildCounterRouterStatusNatStatusNatRuleStatus++; if (buildCounterRouterStatusNatStatusNatRuleStatus < 3) { - checkUnnamed619(o.activeNatIps!); - checkUnnamed620(o.drainNatIps!); + checkUnnamed637(o.activeNatIps!); + checkUnnamed638(o.drainNatIps!); unittest.expect( o.minExtraIpsNeeded!, unittest.equals(42), @@ -36021,6 +36769,315 @@ void checkRouterStatusResponse(api.RouterStatusResponse o) { buildCounterRouterStatusResponse--; } +core.int buildCounterRoutersGetRoutePolicyResponse = 0; +api.RoutersGetRoutePolicyResponse buildRoutersGetRoutePolicyResponse() { + final o = api.RoutersGetRoutePolicyResponse(); + buildCounterRoutersGetRoutePolicyResponse++; + if (buildCounterRoutersGetRoutePolicyResponse < 3) { + o.resource = buildRoutePolicy(); + } + buildCounterRoutersGetRoutePolicyResponse--; + return o; +} + +void checkRoutersGetRoutePolicyResponse(api.RoutersGetRoutePolicyResponse o) { + buildCounterRoutersGetRoutePolicyResponse++; + if (buildCounterRoutersGetRoutePolicyResponse < 3) { + checkRoutePolicy(o.resource!); + } + buildCounterRoutersGetRoutePolicyResponse--; +} + +core.List buildUnnamed639() => [ + buildBgpRoute(), + buildBgpRoute(), + ]; + +void checkUnnamed639(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkBgpRoute(o[0]); + checkBgpRoute(o[1]); +} + +core.List buildUnnamed640() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed640(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterRoutersListBgpRoutesWarningData = 0; +api.RoutersListBgpRoutesWarningData buildRoutersListBgpRoutesWarningData() { + final o = api.RoutersListBgpRoutesWarningData(); + buildCounterRoutersListBgpRoutesWarningData++; + if (buildCounterRoutersListBgpRoutesWarningData < 3) { + o.key = 'foo'; + o.value = 'foo'; + } + buildCounterRoutersListBgpRoutesWarningData--; + return o; +} + +void checkRoutersListBgpRoutesWarningData( + api.RoutersListBgpRoutesWarningData o) { + buildCounterRoutersListBgpRoutesWarningData++; + if (buildCounterRoutersListBgpRoutesWarningData < 3) { + unittest.expect( + o.key!, + unittest.equals('foo'), + ); + unittest.expect( + o.value!, + unittest.equals('foo'), + ); + } + buildCounterRoutersListBgpRoutesWarningData--; +} + +core.List buildUnnamed641() => [ + buildRoutersListBgpRoutesWarningData(), + buildRoutersListBgpRoutesWarningData(), + ]; + +void checkUnnamed641(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkRoutersListBgpRoutesWarningData(o[0]); + checkRoutersListBgpRoutesWarningData(o[1]); +} + +core.int buildCounterRoutersListBgpRoutesWarning = 0; +api.RoutersListBgpRoutesWarning buildRoutersListBgpRoutesWarning() { + final o = api.RoutersListBgpRoutesWarning(); + buildCounterRoutersListBgpRoutesWarning++; + if (buildCounterRoutersListBgpRoutesWarning < 3) { + o.code = 'foo'; + o.data = buildUnnamed641(); + o.message = 'foo'; + } + buildCounterRoutersListBgpRoutesWarning--; + return o; +} + +void checkRoutersListBgpRoutesWarning(api.RoutersListBgpRoutesWarning o) { + buildCounterRoutersListBgpRoutesWarning++; + if (buildCounterRoutersListBgpRoutesWarning < 3) { + unittest.expect( + o.code!, + unittest.equals('foo'), + ); + checkUnnamed641(o.data!); + unittest.expect( + o.message!, + unittest.equals('foo'), + ); + } + buildCounterRoutersListBgpRoutesWarning--; +} + +core.int buildCounterRoutersListBgpRoutes = 0; +api.RoutersListBgpRoutes buildRoutersListBgpRoutes() { + final o = api.RoutersListBgpRoutes(); + buildCounterRoutersListBgpRoutes++; + if (buildCounterRoutersListBgpRoutes < 3) { + o.etag = 'foo'; + o.id = 'foo'; + o.kind = 'foo'; + o.nextPageToken = 'foo'; + o.result = buildUnnamed639(); + o.selfLink = 'foo'; + o.unreachables = buildUnnamed640(); + o.warning = buildRoutersListBgpRoutesWarning(); + } + buildCounterRoutersListBgpRoutes--; + return o; +} + +void checkRoutersListBgpRoutes(api.RoutersListBgpRoutes o) { + buildCounterRoutersListBgpRoutes++; + if (buildCounterRoutersListBgpRoutes < 3) { + unittest.expect( + o.etag!, + unittest.equals('foo'), + ); + unittest.expect( + o.id!, + unittest.equals('foo'), + ); + unittest.expect( + o.kind!, + unittest.equals('foo'), + ); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + checkUnnamed639(o.result!); + unittest.expect( + o.selfLink!, + unittest.equals('foo'), + ); + checkUnnamed640(o.unreachables!); + checkRoutersListBgpRoutesWarning(o.warning!); + } + buildCounterRoutersListBgpRoutes--; +} + +core.List buildUnnamed642() => [ + buildRoutePolicy(), + buildRoutePolicy(), + ]; + +void checkUnnamed642(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkRoutePolicy(o[0]); + checkRoutePolicy(o[1]); +} + +core.List buildUnnamed643() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed643(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterRoutersListRoutePoliciesWarningData = 0; +api.RoutersListRoutePoliciesWarningData + buildRoutersListRoutePoliciesWarningData() { + final o = api.RoutersListRoutePoliciesWarningData(); + buildCounterRoutersListRoutePoliciesWarningData++; + if (buildCounterRoutersListRoutePoliciesWarningData < 3) { + o.key = 'foo'; + o.value = 'foo'; + } + buildCounterRoutersListRoutePoliciesWarningData--; + return o; +} + +void checkRoutersListRoutePoliciesWarningData( + api.RoutersListRoutePoliciesWarningData o) { + buildCounterRoutersListRoutePoliciesWarningData++; + if (buildCounterRoutersListRoutePoliciesWarningData < 3) { + unittest.expect( + o.key!, + unittest.equals('foo'), + ); + unittest.expect( + o.value!, + unittest.equals('foo'), + ); + } + buildCounterRoutersListRoutePoliciesWarningData--; +} + +core.List buildUnnamed644() => [ + buildRoutersListRoutePoliciesWarningData(), + buildRoutersListRoutePoliciesWarningData(), + ]; + +void checkUnnamed644(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkRoutersListRoutePoliciesWarningData(o[0]); + checkRoutersListRoutePoliciesWarningData(o[1]); +} + +core.int buildCounterRoutersListRoutePoliciesWarning = 0; +api.RoutersListRoutePoliciesWarning buildRoutersListRoutePoliciesWarning() { + final o = api.RoutersListRoutePoliciesWarning(); + buildCounterRoutersListRoutePoliciesWarning++; + if (buildCounterRoutersListRoutePoliciesWarning < 3) { + o.code = 'foo'; + o.data = buildUnnamed644(); + o.message = 'foo'; + } + buildCounterRoutersListRoutePoliciesWarning--; + return o; +} + +void checkRoutersListRoutePoliciesWarning( + api.RoutersListRoutePoliciesWarning o) { + buildCounterRoutersListRoutePoliciesWarning++; + if (buildCounterRoutersListRoutePoliciesWarning < 3) { + unittest.expect( + o.code!, + unittest.equals('foo'), + ); + checkUnnamed644(o.data!); + unittest.expect( + o.message!, + unittest.equals('foo'), + ); + } + buildCounterRoutersListRoutePoliciesWarning--; +} + +core.int buildCounterRoutersListRoutePolicies = 0; +api.RoutersListRoutePolicies buildRoutersListRoutePolicies() { + final o = api.RoutersListRoutePolicies(); + buildCounterRoutersListRoutePolicies++; + if (buildCounterRoutersListRoutePolicies < 3) { + o.etag = 'foo'; + o.id = 'foo'; + o.kind = 'foo'; + o.nextPageToken = 'foo'; + o.result = buildUnnamed642(); + o.selfLink = 'foo'; + o.unreachables = buildUnnamed643(); + o.warning = buildRoutersListRoutePoliciesWarning(); + } + buildCounterRoutersListRoutePolicies--; + return o; +} + +void checkRoutersListRoutePolicies(api.RoutersListRoutePolicies o) { + buildCounterRoutersListRoutePolicies++; + if (buildCounterRoutersListRoutePolicies < 3) { + unittest.expect( + o.etag!, + unittest.equals('foo'), + ); + unittest.expect( + o.id!, + unittest.equals('foo'), + ); + unittest.expect( + o.kind!, + unittest.equals('foo'), + ); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + checkUnnamed642(o.result!); + unittest.expect( + o.selfLink!, + unittest.equals('foo'), + ); + checkUnnamed643(o.unreachables!); + checkRoutersListRoutePoliciesWarning(o.warning!); + } + buildCounterRoutersListRoutePolicies--; +} + core.int buildCounterRoutersPreviewResponse = 0; api.RoutersPreviewResponse buildRoutersPreviewResponse() { final o = api.RoutersPreviewResponse(); @@ -36040,12 +37097,12 @@ void checkRoutersPreviewResponse(api.RoutersPreviewResponse o) { buildCounterRoutersPreviewResponse--; } -core.List buildUnnamed621() => [ +core.List buildUnnamed645() => [ buildRouter(), buildRouter(), ]; -void checkUnnamed621(core.List o) { +void checkUnnamed645(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRouter(o[0]); checkRouter(o[1]); @@ -36078,12 +37135,12 @@ void checkRoutersScopedListWarningData(api.RoutersScopedListWarningData o) { buildCounterRoutersScopedListWarningData--; } -core.List buildUnnamed622() => [ +core.List buildUnnamed646() => [ buildRoutersScopedListWarningData(), buildRoutersScopedListWarningData(), ]; -void checkUnnamed622(core.List o) { +void checkUnnamed646(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRoutersScopedListWarningData(o[0]); checkRoutersScopedListWarningData(o[1]); @@ -36095,7 +37152,7 @@ api.RoutersScopedListWarning buildRoutersScopedListWarning() { buildCounterRoutersScopedListWarning++; if (buildCounterRoutersScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed622(); + o.data = buildUnnamed646(); o.message = 'foo'; } buildCounterRoutersScopedListWarning--; @@ -36109,7 +37166,7 @@ void checkRoutersScopedListWarning(api.RoutersScopedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed622(o.data!); + checkUnnamed646(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -36123,7 +37180,7 @@ api.RoutersScopedList buildRoutersScopedList() { final o = api.RoutersScopedList(); buildCounterRoutersScopedList++; if (buildCounterRoutersScopedList < 3) { - o.routers = buildUnnamed621(); + o.routers = buildUnnamed645(); o.warning = buildRoutersScopedListWarning(); } buildCounterRoutersScopedList--; @@ -36133,7 +37190,7 @@ api.RoutersScopedList buildRoutersScopedList() { void checkRoutersScopedList(api.RoutersScopedList o) { buildCounterRoutersScopedList++; if (buildCounterRoutersScopedList < 3) { - checkUnnamed621(o.routers!); + checkUnnamed645(o.routers!); checkRoutersScopedListWarning(o.warning!); } buildCounterRoutersScopedList--; @@ -36186,23 +37243,23 @@ void checkSSLHealthCheck(api.SSLHealthCheck o) { buildCounterSSLHealthCheck--; } -core.List buildUnnamed623() => [ +core.List buildUnnamed647() => [ buildGuestOsFeature(), buildGuestOsFeature(), ]; -void checkUnnamed623(core.List o) { +void checkUnnamed647(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGuestOsFeature(o[0]); checkGuestOsFeature(o[1]); } -core.List buildUnnamed624() => [ +core.List buildUnnamed648() => [ 'foo', 'foo', ]; -void checkUnnamed624(core.List o) { +void checkUnnamed648(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -36225,11 +37282,11 @@ api.SavedAttachedDisk buildSavedAttachedDisk() { o.diskEncryptionKey = buildCustomerEncryptionKey(); o.diskSizeGb = 'foo'; o.diskType = 'foo'; - o.guestOsFeatures = buildUnnamed623(); + o.guestOsFeatures = buildUnnamed647(); o.index = 42; o.interface = 'foo'; o.kind = 'foo'; - o.licenses = buildUnnamed624(); + o.licenses = buildUnnamed648(); o.mode = 'foo'; o.source = 'foo'; o.storageBytes = 'foo'; @@ -36258,7 +37315,7 @@ void checkSavedAttachedDisk(api.SavedAttachedDisk o) { o.diskType!, unittest.equals('foo'), ); - checkUnnamed623(o.guestOsFeatures!); + checkUnnamed647(o.guestOsFeatures!); unittest.expect( o.index!, unittest.equals(42), @@ -36271,7 +37328,7 @@ void checkSavedAttachedDisk(api.SavedAttachedDisk o) { o.kind!, unittest.equals('foo'), ); - checkUnnamed624(o.licenses!); + checkUnnamed648(o.licenses!); unittest.expect( o.mode!, unittest.equals('foo'), @@ -36370,12 +37427,12 @@ void checkScalingScheduleStatus(api.ScalingScheduleStatus o) { buildCounterScalingScheduleStatus--; } -core.List buildUnnamed625() => [ +core.List buildUnnamed649() => [ buildSchedulingNodeAffinity(), buildSchedulingNodeAffinity(), ]; -void checkUnnamed625(core.List o) { +void checkUnnamed649(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSchedulingNodeAffinity(o[0]); checkSchedulingNodeAffinity(o[1]); @@ -36388,12 +37445,13 @@ api.Scheduling buildScheduling() { if (buildCounterScheduling < 3) { o.automaticRestart = true; o.availabilityDomain = 42; + o.hostErrorTimeoutSeconds = 42; o.instanceTerminationAction = 'foo'; o.localSsdRecoveryTimeout = buildDuration(); o.locationHint = 'foo'; o.maxRunDuration = buildDuration(); o.minNodeCpus = 42; - o.nodeAffinities = buildUnnamed625(); + o.nodeAffinities = buildUnnamed649(); o.onHostMaintenance = 'foo'; o.onInstanceStopAction = buildSchedulingOnInstanceStopAction(); o.preemptible = true; @@ -36412,6 +37470,10 @@ void checkScheduling(api.Scheduling o) { o.availabilityDomain!, unittest.equals(42), ); + unittest.expect( + o.hostErrorTimeoutSeconds!, + unittest.equals(42), + ); unittest.expect( o.instanceTerminationAction!, unittest.equals('foo'), @@ -36426,7 +37488,7 @@ void checkScheduling(api.Scheduling o) { o.minNodeCpus!, unittest.equals(42), ); - checkUnnamed625(o.nodeAffinities!); + checkUnnamed649(o.nodeAffinities!); unittest.expect( o.onHostMaintenance!, unittest.equals('foo'), @@ -36445,12 +37507,12 @@ void checkScheduling(api.Scheduling o) { buildCounterScheduling--; } -core.List buildUnnamed626() => [ +core.List buildUnnamed650() => [ 'foo', 'foo', ]; -void checkUnnamed626(core.List o) { +void checkUnnamed650(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -36469,7 +37531,7 @@ api.SchedulingNodeAffinity buildSchedulingNodeAffinity() { if (buildCounterSchedulingNodeAffinity < 3) { o.key = 'foo'; o.operator = 'foo'; - o.values = buildUnnamed626(); + o.values = buildUnnamed650(); } buildCounterSchedulingNodeAffinity--; return o; @@ -36486,7 +37548,7 @@ void checkSchedulingNodeAffinity(api.SchedulingNodeAffinity o) { o.operator!, unittest.equals('foo'), ); - checkUnnamed626(o.values!); + checkUnnamed650(o.values!); } buildCounterSchedulingNodeAffinity--; } @@ -36537,23 +37599,23 @@ void checkScreenshot(api.Screenshot o) { buildCounterScreenshot--; } -core.Map buildUnnamed627() => { +core.Map buildUnnamed651() => { 'x': buildSecurityPoliciesScopedList(), 'y': buildSecurityPoliciesScopedList(), }; -void checkUnnamed627(core.Map o) { +void checkUnnamed651(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkSecurityPoliciesScopedList(o['x']!); checkSecurityPoliciesScopedList(o['y']!); } -core.List buildUnnamed628() => [ +core.List buildUnnamed652() => [ 'foo', 'foo', ]; -void checkUnnamed628(core.List o) { +void checkUnnamed652(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -36594,12 +37656,12 @@ void checkSecurityPoliciesAggregatedListWarningData( buildCounterSecurityPoliciesAggregatedListWarningData--; } -core.List buildUnnamed629() => [ +core.List buildUnnamed653() => [ buildSecurityPoliciesAggregatedListWarningData(), buildSecurityPoliciesAggregatedListWarningData(), ]; -void checkUnnamed629( +void checkUnnamed653( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSecurityPoliciesAggregatedListWarningData(o[0]); @@ -36613,7 +37675,7 @@ api.SecurityPoliciesAggregatedListWarning buildCounterSecurityPoliciesAggregatedListWarning++; if (buildCounterSecurityPoliciesAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed629(); + o.data = buildUnnamed653(); o.message = 'foo'; } buildCounterSecurityPoliciesAggregatedListWarning--; @@ -36628,7 +37690,7 @@ void checkSecurityPoliciesAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed629(o.data!); + checkUnnamed653(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -36644,11 +37706,11 @@ api.SecurityPoliciesAggregatedList buildSecurityPoliciesAggregatedList() { if (buildCounterSecurityPoliciesAggregatedList < 3) { o.etag = 'foo'; o.id = 'foo'; - o.items = buildUnnamed627(); + o.items = buildUnnamed651(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed628(); + o.unreachables = buildUnnamed652(); o.warning = buildSecurityPoliciesAggregatedListWarning(); } buildCounterSecurityPoliciesAggregatedList--; @@ -36666,7 +37728,7 @@ void checkSecurityPoliciesAggregatedList(api.SecurityPoliciesAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed627(o.items!); + checkUnnamed651(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -36679,7 +37741,7 @@ void checkSecurityPoliciesAggregatedList(api.SecurityPoliciesAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed628(o.unreachables!); + checkUnnamed652(o.unreachables!); checkSecurityPoliciesAggregatedListWarning(o.warning!); } buildCounterSecurityPoliciesAggregatedList--; @@ -36707,12 +37769,12 @@ void checkSecurityPoliciesListPreconfiguredExpressionSetsResponse( buildCounterSecurityPoliciesListPreconfiguredExpressionSetsResponse--; } -core.List buildUnnamed630() => [ +core.List buildUnnamed654() => [ buildSecurityPolicy(), buildSecurityPolicy(), ]; -void checkUnnamed630(core.List o) { +void checkUnnamed654(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSecurityPolicy(o[0]); checkSecurityPolicy(o[1]); @@ -36747,12 +37809,12 @@ void checkSecurityPoliciesScopedListWarningData( buildCounterSecurityPoliciesScopedListWarningData--; } -core.List buildUnnamed631() => [ +core.List buildUnnamed655() => [ buildSecurityPoliciesScopedListWarningData(), buildSecurityPoliciesScopedListWarningData(), ]; -void checkUnnamed631(core.List o) { +void checkUnnamed655(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSecurityPoliciesScopedListWarningData(o[0]); checkSecurityPoliciesScopedListWarningData(o[1]); @@ -36764,7 +37826,7 @@ api.SecurityPoliciesScopedListWarning buildSecurityPoliciesScopedListWarning() { buildCounterSecurityPoliciesScopedListWarning++; if (buildCounterSecurityPoliciesScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed631(); + o.data = buildUnnamed655(); o.message = 'foo'; } buildCounterSecurityPoliciesScopedListWarning--; @@ -36779,7 +37841,7 @@ void checkSecurityPoliciesScopedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed631(o.data!); + checkUnnamed655(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -36793,7 +37855,7 @@ api.SecurityPoliciesScopedList buildSecurityPoliciesScopedList() { final o = api.SecurityPoliciesScopedList(); buildCounterSecurityPoliciesScopedList++; if (buildCounterSecurityPoliciesScopedList < 3) { - o.securityPolicies = buildUnnamed630(); + o.securityPolicies = buildUnnamed654(); o.warning = buildSecurityPoliciesScopedListWarning(); } buildCounterSecurityPoliciesScopedList--; @@ -36803,7 +37865,7 @@ api.SecurityPoliciesScopedList buildSecurityPoliciesScopedList() { void checkSecurityPoliciesScopedList(api.SecurityPoliciesScopedList o) { buildCounterSecurityPoliciesScopedList++; if (buildCounterSecurityPoliciesScopedList < 3) { - checkUnnamed630(o.securityPolicies!); + checkUnnamed654(o.securityPolicies!); checkSecurityPoliciesScopedListWarning(o.warning!); } buildCounterSecurityPoliciesScopedList--; @@ -36828,12 +37890,12 @@ void checkSecurityPoliciesWafConfig(api.SecurityPoliciesWafConfig o) { buildCounterSecurityPoliciesWafConfig--; } -core.Map buildUnnamed632() => { +core.Map buildUnnamed656() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed632(core.Map o) { +void checkUnnamed656(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -36845,23 +37907,23 @@ void checkUnnamed632(core.Map o) { ); } -core.List buildUnnamed633() => [ +core.List buildUnnamed657() => [ buildSecurityPolicyRule(), buildSecurityPolicyRule(), ]; -void checkUnnamed633(core.List o) { +void checkUnnamed657(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSecurityPolicyRule(o[0]); checkSecurityPolicyRule(o[1]); } -core.List buildUnnamed634() => [ +core.List buildUnnamed658() => [ buildSecurityPolicyUserDefinedField(), buildSecurityPolicyUserDefinedField(), ]; -void checkUnnamed634(core.List o) { +void checkUnnamed658(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSecurityPolicyUserDefinedField(o[0]); checkSecurityPolicyUserDefinedField(o[1]); @@ -36881,14 +37943,14 @@ api.SecurityPolicy buildSecurityPolicy() { o.id = 'foo'; o.kind = 'foo'; o.labelFingerprint = 'foo'; - o.labels = buildUnnamed632(); + o.labels = buildUnnamed656(); o.name = 'foo'; o.recaptchaOptionsConfig = buildSecurityPolicyRecaptchaOptionsConfig(); o.region = 'foo'; - o.rules = buildUnnamed633(); + o.rules = buildUnnamed657(); o.selfLink = 'foo'; o.type = 'foo'; - o.userDefinedFields = buildUnnamed634(); + o.userDefinedFields = buildUnnamed658(); } buildCounterSecurityPolicy--; return o; @@ -36924,7 +37986,7 @@ void checkSecurityPolicy(api.SecurityPolicy o) { o.labelFingerprint!, unittest.equals('foo'), ); - checkUnnamed632(o.labels!); + checkUnnamed656(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -36934,7 +37996,7 @@ void checkSecurityPolicy(api.SecurityPolicy o) { o.region!, unittest.equals('foo'), ); - checkUnnamed633(o.rules!); + checkUnnamed657(o.rules!); unittest.expect( o.selfLink!, unittest.equals('foo'), @@ -36943,7 +38005,7 @@ void checkSecurityPolicy(api.SecurityPolicy o) { o.type!, unittest.equals('foo'), ); - checkUnnamed634(o.userDefinedFields!); + checkUnnamed658(o.userDefinedFields!); } buildCounterSecurityPolicy--; } @@ -36974,12 +38036,12 @@ void checkSecurityPolicyAdaptiveProtectionConfig( core.List< api .SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig> - buildUnnamed635() => [ + buildUnnamed659() => [ buildSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig(), buildSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig(), ]; -void checkUnnamed635( +void checkUnnamed659( core.List< api .SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig> @@ -37002,7 +38064,7 @@ api.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig 3) { o.enable = true; o.ruleVisibility = 'foo'; - o.thresholdConfigs = buildUnnamed635(); + o.thresholdConfigs = buildUnnamed659(); } buildCounterSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig--; return o; @@ -37018,7 +38080,7 @@ void checkSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig( o.ruleVisibility!, unittest.equals('foo'), ); - checkUnnamed635(o.thresholdConfigs!); + checkUnnamed659(o.thresholdConfigs!); } buildCounterSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig--; } @@ -37026,12 +38088,12 @@ void checkSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig( core.List< api .SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig> - buildUnnamed636() => [ + buildUnnamed660() => [ buildSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig(), buildSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig(), ]; -void checkUnnamed636( +void checkUnnamed660( core.List< api .SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig> @@ -37061,7 +38123,7 @@ api.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig o.detectionLoadThreshold = 42.0; o.detectionRelativeToBaselineQps = 42.0; o.name = 'foo'; - o.trafficGranularityConfigs = buildUnnamed636(); + o.trafficGranularityConfigs = buildUnnamed660(); } buildCounterSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig--; return o; @@ -37105,7 +38167,7 @@ void checkSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThreshold o.name!, unittest.equals('foo'), ); - checkUnnamed636(o.trafficGranularityConfigs!); + checkUnnamed660(o.trafficGranularityConfigs!); } buildCounterSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig--; } @@ -37147,12 +38209,12 @@ void checkSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThreshold buildCounterSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig--; } -core.List buildUnnamed637() => [ +core.List buildUnnamed661() => [ 'foo', 'foo', ]; -void checkUnnamed637(core.List o) { +void checkUnnamed661(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -37174,7 +38236,7 @@ api.SecurityPolicyAdvancedOptionsConfig buildSecurityPolicyAdvancedOptionsConfigJsonCustomConfig(); o.jsonParsing = 'foo'; o.logLevel = 'foo'; - o.userIpRequestHeaders = buildUnnamed637(); + o.userIpRequestHeaders = buildUnnamed661(); } buildCounterSecurityPolicyAdvancedOptionsConfig--; return o; @@ -37194,17 +38256,17 @@ void checkSecurityPolicyAdvancedOptionsConfig( o.logLevel!, unittest.equals('foo'), ); - checkUnnamed637(o.userIpRequestHeaders!); + checkUnnamed661(o.userIpRequestHeaders!); } buildCounterSecurityPolicyAdvancedOptionsConfig--; } -core.List buildUnnamed638() => [ +core.List buildUnnamed662() => [ 'foo', 'foo', ]; -void checkUnnamed638(core.List o) { +void checkUnnamed662(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -37222,7 +38284,7 @@ api.SecurityPolicyAdvancedOptionsConfigJsonCustomConfig final o = api.SecurityPolicyAdvancedOptionsConfigJsonCustomConfig(); buildCounterSecurityPolicyAdvancedOptionsConfigJsonCustomConfig++; if (buildCounterSecurityPolicyAdvancedOptionsConfigJsonCustomConfig < 3) { - o.contentTypes = buildUnnamed638(); + o.contentTypes = buildUnnamed662(); } buildCounterSecurityPolicyAdvancedOptionsConfigJsonCustomConfig--; return o; @@ -37232,7 +38294,7 @@ void checkSecurityPolicyAdvancedOptionsConfigJsonCustomConfig( api.SecurityPolicyAdvancedOptionsConfigJsonCustomConfig o) { buildCounterSecurityPolicyAdvancedOptionsConfigJsonCustomConfig++; if (buildCounterSecurityPolicyAdvancedOptionsConfigJsonCustomConfig < 3) { - checkUnnamed638(o.contentTypes!); + checkUnnamed662(o.contentTypes!); } buildCounterSecurityPolicyAdvancedOptionsConfigJsonCustomConfig--; } @@ -37261,12 +38323,12 @@ void checkSecurityPolicyDdosProtectionConfig( buildCounterSecurityPolicyDdosProtectionConfig--; } -core.List buildUnnamed639() => [ +core.List buildUnnamed663() => [ buildSecurityPolicy(), buildSecurityPolicy(), ]; -void checkUnnamed639(core.List o) { +void checkUnnamed663(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSecurityPolicy(o[0]); checkSecurityPolicy(o[1]); @@ -37299,12 +38361,12 @@ void checkSecurityPolicyListWarningData(api.SecurityPolicyListWarningData o) { buildCounterSecurityPolicyListWarningData--; } -core.List buildUnnamed640() => [ +core.List buildUnnamed664() => [ buildSecurityPolicyListWarningData(), buildSecurityPolicyListWarningData(), ]; -void checkUnnamed640(core.List o) { +void checkUnnamed664(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSecurityPolicyListWarningData(o[0]); checkSecurityPolicyListWarningData(o[1]); @@ -37316,7 +38378,7 @@ api.SecurityPolicyListWarning buildSecurityPolicyListWarning() { buildCounterSecurityPolicyListWarning++; if (buildCounterSecurityPolicyListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed640(); + o.data = buildUnnamed664(); o.message = 'foo'; } buildCounterSecurityPolicyListWarning--; @@ -37330,7 +38392,7 @@ void checkSecurityPolicyListWarning(api.SecurityPolicyListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed640(o.data!); + checkUnnamed664(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -37345,7 +38407,7 @@ api.SecurityPolicyList buildSecurityPolicyList() { buildCounterSecurityPolicyList++; if (buildCounterSecurityPolicyList < 3) { o.id = 'foo'; - o.items = buildUnnamed639(); + o.items = buildUnnamed663(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.warning = buildSecurityPolicyListWarning(); @@ -37361,7 +38423,7 @@ void checkSecurityPolicyList(api.SecurityPolicyList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed639(o.items!); + checkUnnamed663(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -37473,12 +38535,12 @@ void checkSecurityPolicyRule(api.SecurityPolicyRule o) { } core.List - buildUnnamed641() => [ + buildUnnamed665() => [ buildSecurityPolicyRuleHttpHeaderActionHttpHeaderOption(), buildSecurityPolicyRuleHttpHeaderActionHttpHeaderOption(), ]; -void checkUnnamed641( +void checkUnnamed665( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSecurityPolicyRuleHttpHeaderActionHttpHeaderOption(o[0]); @@ -37491,7 +38553,7 @@ api.SecurityPolicyRuleHttpHeaderAction final o = api.SecurityPolicyRuleHttpHeaderAction(); buildCounterSecurityPolicyRuleHttpHeaderAction++; if (buildCounterSecurityPolicyRuleHttpHeaderAction < 3) { - o.requestHeadersToAdds = buildUnnamed641(); + o.requestHeadersToAdds = buildUnnamed665(); } buildCounterSecurityPolicyRuleHttpHeaderAction--; return o; @@ -37501,7 +38563,7 @@ void checkSecurityPolicyRuleHttpHeaderAction( api.SecurityPolicyRuleHttpHeaderAction o) { buildCounterSecurityPolicyRuleHttpHeaderAction++; if (buildCounterSecurityPolicyRuleHttpHeaderAction < 3) { - checkUnnamed641(o.requestHeadersToAdds!); + checkUnnamed665(o.requestHeadersToAdds!); } buildCounterSecurityPolicyRuleHttpHeaderAction--; } @@ -37563,12 +38625,12 @@ void checkSecurityPolicyRuleMatcher(api.SecurityPolicyRuleMatcher o) { buildCounterSecurityPolicyRuleMatcher--; } -core.List buildUnnamed642() => [ +core.List buildUnnamed666() => [ 'foo', 'foo', ]; -void checkUnnamed642(core.List o) { +void checkUnnamed666(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -37585,7 +38647,7 @@ api.SecurityPolicyRuleMatcherConfig buildSecurityPolicyRuleMatcherConfig() { final o = api.SecurityPolicyRuleMatcherConfig(); buildCounterSecurityPolicyRuleMatcherConfig++; if (buildCounterSecurityPolicyRuleMatcherConfig < 3) { - o.srcIpRanges = buildUnnamed642(); + o.srcIpRanges = buildUnnamed666(); } buildCounterSecurityPolicyRuleMatcherConfig--; return o; @@ -37595,7 +38657,7 @@ void checkSecurityPolicyRuleMatcherConfig( api.SecurityPolicyRuleMatcherConfig o) { buildCounterSecurityPolicyRuleMatcherConfig++; if (buildCounterSecurityPolicyRuleMatcherConfig < 3) { - checkUnnamed642(o.srcIpRanges!); + checkUnnamed666(o.srcIpRanges!); } buildCounterSecurityPolicyRuleMatcherConfig--; } @@ -37623,12 +38685,12 @@ void checkSecurityPolicyRuleMatcherExprOptions( buildCounterSecurityPolicyRuleMatcherExprOptions--; } -core.List buildUnnamed643() => [ +core.List buildUnnamed667() => [ 'foo', 'foo', ]; -void checkUnnamed643(core.List o) { +void checkUnnamed667(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -37640,12 +38702,12 @@ void checkUnnamed643(core.List o) { ); } -core.List buildUnnamed644() => [ +core.List buildUnnamed668() => [ 'foo', 'foo', ]; -void checkUnnamed644(core.List o) { +void checkUnnamed668(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -37663,8 +38725,8 @@ api.SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions final o = api.SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions(); buildCounterSecurityPolicyRuleMatcherExprOptionsRecaptchaOptions++; if (buildCounterSecurityPolicyRuleMatcherExprOptionsRecaptchaOptions < 3) { - o.actionTokenSiteKeys = buildUnnamed643(); - o.sessionTokenSiteKeys = buildUnnamed644(); + o.actionTokenSiteKeys = buildUnnamed667(); + o.sessionTokenSiteKeys = buildUnnamed668(); } buildCounterSecurityPolicyRuleMatcherExprOptionsRecaptchaOptions--; return o; @@ -37674,18 +38736,18 @@ void checkSecurityPolicyRuleMatcherExprOptionsRecaptchaOptions( api.SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions o) { buildCounterSecurityPolicyRuleMatcherExprOptionsRecaptchaOptions++; if (buildCounterSecurityPolicyRuleMatcherExprOptionsRecaptchaOptions < 3) { - checkUnnamed643(o.actionTokenSiteKeys!); - checkUnnamed644(o.sessionTokenSiteKeys!); + checkUnnamed667(o.actionTokenSiteKeys!); + checkUnnamed668(o.sessionTokenSiteKeys!); } buildCounterSecurityPolicyRuleMatcherExprOptionsRecaptchaOptions--; } -core.List buildUnnamed645() => [ +core.List buildUnnamed669() => [ 'foo', 'foo', ]; -void checkUnnamed645(core.List o) { +void checkUnnamed669(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -37697,12 +38759,12 @@ void checkUnnamed645(core.List o) { ); } -core.List buildUnnamed646() => [ +core.List buildUnnamed670() => [ 'foo', 'foo', ]; -void checkUnnamed646(core.List o) { +void checkUnnamed670(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -37714,12 +38776,12 @@ void checkUnnamed646(core.List o) { ); } -core.List buildUnnamed647() => [ +core.List buildUnnamed671() => [ 'foo', 'foo', ]; -void checkUnnamed647(core.List o) { +void checkUnnamed671(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -37731,12 +38793,12 @@ void checkUnnamed647(core.List o) { ); } -core.List buildUnnamed648() => [ +core.List buildUnnamed672() => [ 42, 42, ]; -void checkUnnamed648(core.List o) { +void checkUnnamed672(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -37748,12 +38810,12 @@ void checkUnnamed648(core.List o) { ); } -core.List buildUnnamed649() => [ +core.List buildUnnamed673() => [ 'foo', 'foo', ]; -void checkUnnamed649(core.List o) { +void checkUnnamed673(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -37765,12 +38827,12 @@ void checkUnnamed649(core.List o) { ); } -core.List buildUnnamed650() => [ +core.List buildUnnamed674() => [ 'foo', 'foo', ]; -void checkUnnamed650(core.List o) { +void checkUnnamed674(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -37782,12 +38844,12 @@ void checkUnnamed650(core.List o) { ); } -core.List buildUnnamed651() => [ +core.List buildUnnamed675() => [ 'foo', 'foo', ]; -void checkUnnamed651(core.List o) { +void checkUnnamed675(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -37800,12 +38862,12 @@ void checkUnnamed651(core.List o) { } core.List - buildUnnamed652() => [ + buildUnnamed676() => [ buildSecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch(), buildSecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch(), ]; -void checkUnnamed652( +void checkUnnamed676( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch(o[0]); @@ -37817,14 +38879,14 @@ api.SecurityPolicyRuleNetworkMatcher buildSecurityPolicyRuleNetworkMatcher() { final o = api.SecurityPolicyRuleNetworkMatcher(); buildCounterSecurityPolicyRuleNetworkMatcher++; if (buildCounterSecurityPolicyRuleNetworkMatcher < 3) { - o.destIpRanges = buildUnnamed645(); - o.destPorts = buildUnnamed646(); - o.ipProtocols = buildUnnamed647(); - o.srcAsns = buildUnnamed648(); - o.srcIpRanges = buildUnnamed649(); - o.srcPorts = buildUnnamed650(); - o.srcRegionCodes = buildUnnamed651(); - o.userDefinedFields = buildUnnamed652(); + o.destIpRanges = buildUnnamed669(); + o.destPorts = buildUnnamed670(); + o.ipProtocols = buildUnnamed671(); + o.srcAsns = buildUnnamed672(); + o.srcIpRanges = buildUnnamed673(); + o.srcPorts = buildUnnamed674(); + o.srcRegionCodes = buildUnnamed675(); + o.userDefinedFields = buildUnnamed676(); } buildCounterSecurityPolicyRuleNetworkMatcher--; return o; @@ -37834,24 +38896,24 @@ void checkSecurityPolicyRuleNetworkMatcher( api.SecurityPolicyRuleNetworkMatcher o) { buildCounterSecurityPolicyRuleNetworkMatcher++; if (buildCounterSecurityPolicyRuleNetworkMatcher < 3) { - checkUnnamed645(o.destIpRanges!); - checkUnnamed646(o.destPorts!); - checkUnnamed647(o.ipProtocols!); - checkUnnamed648(o.srcAsns!); - checkUnnamed649(o.srcIpRanges!); - checkUnnamed650(o.srcPorts!); - checkUnnamed651(o.srcRegionCodes!); - checkUnnamed652(o.userDefinedFields!); + checkUnnamed669(o.destIpRanges!); + checkUnnamed670(o.destPorts!); + checkUnnamed671(o.ipProtocols!); + checkUnnamed672(o.srcAsns!); + checkUnnamed673(o.srcIpRanges!); + checkUnnamed674(o.srcPorts!); + checkUnnamed675(o.srcRegionCodes!); + checkUnnamed676(o.userDefinedFields!); } buildCounterSecurityPolicyRuleNetworkMatcher--; } -core.List buildUnnamed653() => [ +core.List buildUnnamed677() => [ 'foo', 'foo', ]; -void checkUnnamed653(core.List o) { +void checkUnnamed677(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -37870,7 +38932,7 @@ api.SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch buildCounterSecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch++; if (buildCounterSecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch < 3) { o.name = 'foo'; - o.values = buildUnnamed653(); + o.values = buildUnnamed677(); } buildCounterSecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch--; return o; @@ -37884,18 +38946,18 @@ void checkSecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch( o.name!, unittest.equals('foo'), ); - checkUnnamed653(o.values!); + checkUnnamed677(o.values!); } buildCounterSecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch--; } core.List - buildUnnamed654() => [ + buildUnnamed678() => [ buildSecurityPolicyRulePreconfiguredWafConfigExclusion(), buildSecurityPolicyRulePreconfiguredWafConfigExclusion(), ]; -void checkUnnamed654( +void checkUnnamed678( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSecurityPolicyRulePreconfiguredWafConfigExclusion(o[0]); @@ -37908,7 +38970,7 @@ api.SecurityPolicyRulePreconfiguredWafConfig final o = api.SecurityPolicyRulePreconfiguredWafConfig(); buildCounterSecurityPolicyRulePreconfiguredWafConfig++; if (buildCounterSecurityPolicyRulePreconfiguredWafConfig < 3) { - o.exclusions = buildUnnamed654(); + o.exclusions = buildUnnamed678(); } buildCounterSecurityPolicyRulePreconfiguredWafConfig--; return o; @@ -37918,18 +38980,18 @@ void checkSecurityPolicyRulePreconfiguredWafConfig( api.SecurityPolicyRulePreconfiguredWafConfig o) { buildCounterSecurityPolicyRulePreconfiguredWafConfig++; if (buildCounterSecurityPolicyRulePreconfiguredWafConfig < 3) { - checkUnnamed654(o.exclusions!); + checkUnnamed678(o.exclusions!); } buildCounterSecurityPolicyRulePreconfiguredWafConfig--; } core.List - buildUnnamed655() => [ + buildUnnamed679() => [ buildSecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams(), buildSecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams(), ]; -void checkUnnamed655( +void checkUnnamed679( core.List o) { unittest.expect(o, unittest.hasLength(2)); @@ -37938,12 +39000,12 @@ void checkUnnamed655( } core.List - buildUnnamed656() => [ + buildUnnamed680() => [ buildSecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams(), buildSecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams(), ]; -void checkUnnamed656( +void checkUnnamed680( core.List o) { unittest.expect(o, unittest.hasLength(2)); @@ -37952,12 +39014,12 @@ void checkUnnamed656( } core.List - buildUnnamed657() => [ + buildUnnamed681() => [ buildSecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams(), buildSecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams(), ]; -void checkUnnamed657( +void checkUnnamed681( core.List o) { unittest.expect(o, unittest.hasLength(2)); @@ -37966,12 +39028,12 @@ void checkUnnamed657( } core.List - buildUnnamed658() => [ + buildUnnamed682() => [ buildSecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams(), buildSecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams(), ]; -void checkUnnamed658( +void checkUnnamed682( core.List o) { unittest.expect(o, unittest.hasLength(2)); @@ -37979,12 +39041,12 @@ void checkUnnamed658( checkSecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams(o[1]); } -core.List buildUnnamed659() => [ +core.List buildUnnamed683() => [ 'foo', 'foo', ]; -void checkUnnamed659(core.List o) { +void checkUnnamed683(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -38002,11 +39064,11 @@ api.SecurityPolicyRulePreconfiguredWafConfigExclusion final o = api.SecurityPolicyRulePreconfiguredWafConfigExclusion(); buildCounterSecurityPolicyRulePreconfiguredWafConfigExclusion++; if (buildCounterSecurityPolicyRulePreconfiguredWafConfigExclusion < 3) { - o.requestCookiesToExclude = buildUnnamed655(); - o.requestHeadersToExclude = buildUnnamed656(); - o.requestQueryParamsToExclude = buildUnnamed657(); - o.requestUrisToExclude = buildUnnamed658(); - o.targetRuleIds = buildUnnamed659(); + o.requestCookiesToExclude = buildUnnamed679(); + o.requestHeadersToExclude = buildUnnamed680(); + o.requestQueryParamsToExclude = buildUnnamed681(); + o.requestUrisToExclude = buildUnnamed682(); + o.targetRuleIds = buildUnnamed683(); o.targetRuleSet = 'foo'; } buildCounterSecurityPolicyRulePreconfiguredWafConfigExclusion--; @@ -38017,11 +39079,11 @@ void checkSecurityPolicyRulePreconfiguredWafConfigExclusion( api.SecurityPolicyRulePreconfiguredWafConfigExclusion o) { buildCounterSecurityPolicyRulePreconfiguredWafConfigExclusion++; if (buildCounterSecurityPolicyRulePreconfiguredWafConfigExclusion < 3) { - checkUnnamed655(o.requestCookiesToExclude!); - checkUnnamed656(o.requestHeadersToExclude!); - checkUnnamed657(o.requestQueryParamsToExclude!); - checkUnnamed658(o.requestUrisToExclude!); - checkUnnamed659(o.targetRuleIds!); + checkUnnamed679(o.requestCookiesToExclude!); + checkUnnamed680(o.requestHeadersToExclude!); + checkUnnamed681(o.requestQueryParamsToExclude!); + checkUnnamed682(o.requestUrisToExclude!); + checkUnnamed683(o.targetRuleIds!); unittest.expect( o.targetRuleSet!, unittest.equals('foo'), @@ -38064,12 +39126,12 @@ void checkSecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams( } core.List - buildUnnamed660() => [ + buildUnnamed684() => [ buildSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(), buildSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(), ]; -void checkUnnamed660( +void checkUnnamed684( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(o[0]); @@ -38086,7 +39148,7 @@ api.SecurityPolicyRuleRateLimitOptions o.banThreshold = buildSecurityPolicyRuleRateLimitOptionsThreshold(); o.conformAction = 'foo'; o.enforceOnKey = 'foo'; - o.enforceOnKeyConfigs = buildUnnamed660(); + o.enforceOnKeyConfigs = buildUnnamed684(); o.enforceOnKeyName = 'foo'; o.exceedAction = 'foo'; o.exceedRedirectOptions = buildSecurityPolicyRuleRedirectOptions(); @@ -38113,7 +39175,7 @@ void checkSecurityPolicyRuleRateLimitOptions( o.enforceOnKey!, unittest.equals('foo'), ); - checkUnnamed660(o.enforceOnKeyConfigs!); + checkUnnamed684(o.enforceOnKeyConfigs!); unittest.expect( o.enforceOnKeyName!, unittest.equals('foo'), @@ -38256,12 +39318,12 @@ void checkSecurityPolicyUserDefinedField(api.SecurityPolicyUserDefinedField o) { buildCounterSecurityPolicyUserDefinedField--; } -core.List buildUnnamed661() => [ +core.List buildUnnamed685() => [ 'foo', 'foo', ]; -void checkUnnamed661(core.List o) { +void checkUnnamed685(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -38280,7 +39342,7 @@ api.SecuritySettings buildSecuritySettings() { if (buildCounterSecuritySettings < 3) { o.awsV4Authentication = buildAWSV4Signature(); o.clientTlsPolicy = 'foo'; - o.subjectAltNames = buildUnnamed661(); + o.subjectAltNames = buildUnnamed685(); } buildCounterSecuritySettings--; return o; @@ -38294,7 +39356,7 @@ void checkSecuritySettings(api.SecuritySettings o) { o.clientTlsPolicy!, unittest.equals('foo'), ); - checkUnnamed661(o.subjectAltNames!); + checkUnnamed685(o.subjectAltNames!); } buildCounterSecuritySettings--; } @@ -38363,12 +39425,12 @@ void checkServerBinding(api.ServerBinding o) { buildCounterServerBinding--; } -core.List buildUnnamed662() => [ +core.List buildUnnamed686() => [ 'foo', 'foo', ]; -void checkUnnamed662(core.List o) { +void checkUnnamed686(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -38386,7 +39448,7 @@ api.ServiceAccount buildServiceAccount() { buildCounterServiceAccount++; if (buildCounterServiceAccount < 3) { o.email = 'foo'; - o.scopes = buildUnnamed662(); + o.scopes = buildUnnamed686(); } buildCounterServiceAccount--; return o; @@ -38399,39 +39461,39 @@ void checkServiceAccount(api.ServiceAccount o) { o.email!, unittest.equals('foo'), ); - checkUnnamed662(o.scopes!); + checkUnnamed686(o.scopes!); } buildCounterServiceAccount--; } -core.List buildUnnamed663() => [ +core.List buildUnnamed687() => [ buildServiceAttachmentConnectedEndpoint(), buildServiceAttachmentConnectedEndpoint(), ]; -void checkUnnamed663(core.List o) { +void checkUnnamed687(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceAttachmentConnectedEndpoint(o[0]); checkServiceAttachmentConnectedEndpoint(o[1]); } -core.List buildUnnamed664() => [ +core.List buildUnnamed688() => [ buildServiceAttachmentConsumerProjectLimit(), buildServiceAttachmentConsumerProjectLimit(), ]; -void checkUnnamed664(core.List o) { +void checkUnnamed688(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceAttachmentConsumerProjectLimit(o[0]); checkServiceAttachmentConsumerProjectLimit(o[1]); } -core.List buildUnnamed665() => [ +core.List buildUnnamed689() => [ 'foo', 'foo', ]; -void checkUnnamed665(core.List o) { +void checkUnnamed689(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -38443,12 +39505,12 @@ void checkUnnamed665(core.List o) { ); } -core.List buildUnnamed666() => [ +core.List buildUnnamed690() => [ 'foo', 'foo', ]; -void checkUnnamed666(core.List o) { +void checkUnnamed690(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -38460,12 +39522,12 @@ void checkUnnamed666(core.List o) { ); } -core.List buildUnnamed667() => [ +core.List buildUnnamed691() => [ 'foo', 'foo', ]; -void checkUnnamed667(core.List o) { +void checkUnnamed691(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -38482,19 +39544,19 @@ api.ServiceAttachment buildServiceAttachment() { final o = api.ServiceAttachment(); buildCounterServiceAttachment++; if (buildCounterServiceAttachment < 3) { - o.connectedEndpoints = buildUnnamed663(); + o.connectedEndpoints = buildUnnamed687(); o.connectionPreference = 'foo'; - o.consumerAcceptLists = buildUnnamed664(); - o.consumerRejectLists = buildUnnamed665(); + o.consumerAcceptLists = buildUnnamed688(); + o.consumerRejectLists = buildUnnamed689(); o.creationTimestamp = 'foo'; o.description = 'foo'; - o.domainNames = buildUnnamed666(); + o.domainNames = buildUnnamed690(); o.enableProxyProtocol = true; o.fingerprint = 'foo'; o.id = 'foo'; o.kind = 'foo'; o.name = 'foo'; - o.natSubnets = buildUnnamed667(); + o.natSubnets = buildUnnamed691(); o.producerForwardingRule = 'foo'; o.propagatedConnectionLimit = 42; o.pscServiceAttachmentId = buildUint128(); @@ -38510,13 +39572,13 @@ api.ServiceAttachment buildServiceAttachment() { void checkServiceAttachment(api.ServiceAttachment o) { buildCounterServiceAttachment++; if (buildCounterServiceAttachment < 3) { - checkUnnamed663(o.connectedEndpoints!); + checkUnnamed687(o.connectedEndpoints!); unittest.expect( o.connectionPreference!, unittest.equals('foo'), ); - checkUnnamed664(o.consumerAcceptLists!); - checkUnnamed665(o.consumerRejectLists!); + checkUnnamed688(o.consumerAcceptLists!); + checkUnnamed689(o.consumerRejectLists!); unittest.expect( o.creationTimestamp!, unittest.equals('foo'), @@ -38525,7 +39587,7 @@ void checkServiceAttachment(api.ServiceAttachment o) { o.description!, unittest.equals('foo'), ); - checkUnnamed666(o.domainNames!); + checkUnnamed690(o.domainNames!); unittest.expect(o.enableProxyProtocol!, unittest.isTrue); unittest.expect( o.fingerprint!, @@ -38543,7 +39605,7 @@ void checkServiceAttachment(api.ServiceAttachment o) { o.name!, unittest.equals('foo'), ); - checkUnnamed667(o.natSubnets!); + checkUnnamed691(o.natSubnets!); unittest.expect( o.producerForwardingRule!, unittest.equals('foo'), @@ -38570,24 +39632,24 @@ void checkServiceAttachment(api.ServiceAttachment o) { buildCounterServiceAttachment--; } -core.Map buildUnnamed668() => { +core.Map buildUnnamed692() => { 'x': buildServiceAttachmentsScopedList(), 'y': buildServiceAttachmentsScopedList(), }; -void checkUnnamed668( +void checkUnnamed692( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkServiceAttachmentsScopedList(o['x']!); checkServiceAttachmentsScopedList(o['y']!); } -core.List buildUnnamed669() => [ +core.List buildUnnamed693() => [ 'foo', 'foo', ]; -void checkUnnamed669(core.List o) { +void checkUnnamed693(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -38628,12 +39690,12 @@ void checkServiceAttachmentAggregatedListWarningData( buildCounterServiceAttachmentAggregatedListWarningData--; } -core.List buildUnnamed670() => [ +core.List buildUnnamed694() => [ buildServiceAttachmentAggregatedListWarningData(), buildServiceAttachmentAggregatedListWarningData(), ]; -void checkUnnamed670( +void checkUnnamed694( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceAttachmentAggregatedListWarningData(o[0]); @@ -38647,7 +39709,7 @@ api.ServiceAttachmentAggregatedListWarning buildCounterServiceAttachmentAggregatedListWarning++; if (buildCounterServiceAttachmentAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed670(); + o.data = buildUnnamed694(); o.message = 'foo'; } buildCounterServiceAttachmentAggregatedListWarning--; @@ -38662,7 +39724,7 @@ void checkServiceAttachmentAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed670(o.data!); + checkUnnamed694(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -38677,11 +39739,11 @@ api.ServiceAttachmentAggregatedList buildServiceAttachmentAggregatedList() { buildCounterServiceAttachmentAggregatedList++; if (buildCounterServiceAttachmentAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed668(); + o.items = buildUnnamed692(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed669(); + o.unreachables = buildUnnamed693(); o.warning = buildServiceAttachmentAggregatedListWarning(); } buildCounterServiceAttachmentAggregatedList--; @@ -38696,7 +39758,7 @@ void checkServiceAttachmentAggregatedList( o.id!, unittest.equals('foo'), ); - checkUnnamed668(o.items!); + checkUnnamed692(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -38709,7 +39771,7 @@ void checkServiceAttachmentAggregatedList( o.selfLink!, unittest.equals('foo'), ); - checkUnnamed669(o.unreachables!); + checkUnnamed693(o.unreachables!); checkServiceAttachmentAggregatedListWarning(o.warning!); } buildCounterServiceAttachmentAggregatedList--; @@ -38793,12 +39855,12 @@ void checkServiceAttachmentConsumerProjectLimit( buildCounterServiceAttachmentConsumerProjectLimit--; } -core.List buildUnnamed671() => [ +core.List buildUnnamed695() => [ buildServiceAttachment(), buildServiceAttachment(), ]; -void checkUnnamed671(core.List o) { +void checkUnnamed695(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceAttachment(o[0]); checkServiceAttachment(o[1]); @@ -38832,12 +39894,12 @@ void checkServiceAttachmentListWarningData( buildCounterServiceAttachmentListWarningData--; } -core.List buildUnnamed672() => [ +core.List buildUnnamed696() => [ buildServiceAttachmentListWarningData(), buildServiceAttachmentListWarningData(), ]; -void checkUnnamed672(core.List o) { +void checkUnnamed696(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceAttachmentListWarningData(o[0]); checkServiceAttachmentListWarningData(o[1]); @@ -38849,7 +39911,7 @@ api.ServiceAttachmentListWarning buildServiceAttachmentListWarning() { buildCounterServiceAttachmentListWarning++; if (buildCounterServiceAttachmentListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed672(); + o.data = buildUnnamed696(); o.message = 'foo'; } buildCounterServiceAttachmentListWarning--; @@ -38863,7 +39925,7 @@ void checkServiceAttachmentListWarning(api.ServiceAttachmentListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed672(o.data!); + checkUnnamed696(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -38878,7 +39940,7 @@ api.ServiceAttachmentList buildServiceAttachmentList() { buildCounterServiceAttachmentList++; if (buildCounterServiceAttachmentList < 3) { o.id = 'foo'; - o.items = buildUnnamed671(); + o.items = buildUnnamed695(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -38895,7 +39957,7 @@ void checkServiceAttachmentList(api.ServiceAttachmentList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed671(o.items!); + checkUnnamed695(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -38913,12 +39975,12 @@ void checkServiceAttachmentList(api.ServiceAttachmentList o) { buildCounterServiceAttachmentList--; } -core.List buildUnnamed673() => [ +core.List buildUnnamed697() => [ buildServiceAttachment(), buildServiceAttachment(), ]; -void checkUnnamed673(core.List o) { +void checkUnnamed697(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceAttachment(o[0]); checkServiceAttachment(o[1]); @@ -38953,12 +40015,12 @@ void checkServiceAttachmentsScopedListWarningData( buildCounterServiceAttachmentsScopedListWarningData--; } -core.List buildUnnamed674() => [ +core.List buildUnnamed698() => [ buildServiceAttachmentsScopedListWarningData(), buildServiceAttachmentsScopedListWarningData(), ]; -void checkUnnamed674(core.List o) { +void checkUnnamed698(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceAttachmentsScopedListWarningData(o[0]); checkServiceAttachmentsScopedListWarningData(o[1]); @@ -38971,7 +40033,7 @@ api.ServiceAttachmentsScopedListWarning buildCounterServiceAttachmentsScopedListWarning++; if (buildCounterServiceAttachmentsScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed674(); + o.data = buildUnnamed698(); o.message = 'foo'; } buildCounterServiceAttachmentsScopedListWarning--; @@ -38986,7 +40048,7 @@ void checkServiceAttachmentsScopedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed674(o.data!); + checkUnnamed698(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -39000,7 +40062,7 @@ api.ServiceAttachmentsScopedList buildServiceAttachmentsScopedList() { final o = api.ServiceAttachmentsScopedList(); buildCounterServiceAttachmentsScopedList++; if (buildCounterServiceAttachmentsScopedList < 3) { - o.serviceAttachments = buildUnnamed673(); + o.serviceAttachments = buildUnnamed697(); o.warning = buildServiceAttachmentsScopedListWarning(); } buildCounterServiceAttachmentsScopedList--; @@ -39010,7 +40072,7 @@ api.ServiceAttachmentsScopedList buildServiceAttachmentsScopedList() { void checkServiceAttachmentsScopedList(api.ServiceAttachmentsScopedList o) { buildCounterServiceAttachmentsScopedList++; if (buildCounterServiceAttachmentsScopedList < 3) { - checkUnnamed673(o.serviceAttachments!); + checkUnnamed697(o.serviceAttachments!); checkServiceAttachmentsScopedListWarning(o.warning!); } buildCounterServiceAttachmentsScopedList--; @@ -39018,14 +40080,14 @@ void checkServiceAttachmentsScopedList(api.ServiceAttachmentsScopedList o) { core.Map - buildUnnamed675() => { + buildUnnamed699() => { 'x': buildSetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo(), 'y': buildSetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo(), }; -void checkUnnamed675( +void checkUnnamed699( core.Map< core.String, api @@ -39045,7 +40107,7 @@ api.SetCommonInstanceMetadataOperationMetadata buildCounterSetCommonInstanceMetadataOperationMetadata++; if (buildCounterSetCommonInstanceMetadataOperationMetadata < 3) { o.clientOperationId = 'foo'; - o.perLocationOperations = buildUnnamed675(); + o.perLocationOperations = buildUnnamed699(); } buildCounterSetCommonInstanceMetadataOperationMetadata--; return o; @@ -39059,7 +40121,7 @@ void checkSetCommonInstanceMetadataOperationMetadata( o.clientOperationId!, unittest.equals('foo'), ); - checkUnnamed675(o.perLocationOperations!); + checkUnnamed699(o.perLocationOperations!); } buildCounterSetCommonInstanceMetadataOperationMetadata--; } @@ -39095,12 +40157,12 @@ void checkSetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo( buildCounterSetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo--; } -core.Map buildUnnamed676() => { +core.Map buildUnnamed700() => { 'x': buildShareSettingsProjectConfig(), 'y': buildShareSettingsProjectConfig(), }; -void checkUnnamed676(core.Map o) { +void checkUnnamed700(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkShareSettingsProjectConfig(o['x']!); checkShareSettingsProjectConfig(o['y']!); @@ -39111,7 +40173,7 @@ api.ShareSettings buildShareSettings() { final o = api.ShareSettings(); buildCounterShareSettings++; if (buildCounterShareSettings < 3) { - o.projectMap = buildUnnamed676(); + o.projectMap = buildUnnamed700(); o.shareType = 'foo'; } buildCounterShareSettings--; @@ -39121,7 +40183,7 @@ api.ShareSettings buildShareSettings() { void checkShareSettings(api.ShareSettings o) { buildCounterShareSettings++; if (buildCounterShareSettings < 3) { - checkUnnamed676(o.projectMap!); + checkUnnamed700(o.projectMap!); unittest.expect( o.shareType!, unittest.equals('foo'), @@ -39275,23 +40337,23 @@ void checkSignedUrlKey(api.SignedUrlKey o) { buildCounterSignedUrlKey--; } -core.List buildUnnamed677() => [ +core.List buildUnnamed701() => [ buildGuestOsFeature(), buildGuestOsFeature(), ]; -void checkUnnamed677(core.List o) { +void checkUnnamed701(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGuestOsFeature(o[0]); checkGuestOsFeature(o[1]); } -core.Map buildUnnamed678() => { +core.Map buildUnnamed702() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed678(core.Map o) { +void checkUnnamed702(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -39303,12 +40365,12 @@ void checkUnnamed678(core.Map o) { ); } -core.List buildUnnamed679() => [ +core.List buildUnnamed703() => [ 'foo', 'foo', ]; -void checkUnnamed679(core.List o) { +void checkUnnamed703(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -39320,12 +40382,12 @@ void checkUnnamed679(core.List o) { ); } -core.List buildUnnamed680() => [ +core.List buildUnnamed704() => [ 'foo', 'foo', ]; -void checkUnnamed680(core.List o) { +void checkUnnamed704(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -39337,12 +40399,12 @@ void checkUnnamed680(core.List o) { ); } -core.List buildUnnamed681() => [ +core.List buildUnnamed705() => [ 'foo', 'foo', ]; -void checkUnnamed681(core.List o) { +void checkUnnamed705(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -39368,13 +40430,13 @@ api.Snapshot buildSnapshot() { o.diskSizeGb = 'foo'; o.downloadBytes = 'foo'; o.enableConfidentialCompute = true; - o.guestOsFeatures = buildUnnamed677(); + o.guestOsFeatures = buildUnnamed701(); o.id = 'foo'; o.kind = 'foo'; o.labelFingerprint = 'foo'; - o.labels = buildUnnamed678(); - o.licenseCodes = buildUnnamed679(); - o.licenses = buildUnnamed680(); + o.labels = buildUnnamed702(); + o.licenseCodes = buildUnnamed703(); + o.licenses = buildUnnamed704(); o.locationHint = 'foo'; o.name = 'foo'; o.satisfiesPzi = true; @@ -39394,7 +40456,7 @@ api.Snapshot buildSnapshot() { o.status = 'foo'; o.storageBytes = 'foo'; o.storageBytesStatus = 'foo'; - o.storageLocations = buildUnnamed681(); + o.storageLocations = buildUnnamed705(); } buildCounterSnapshot--; return o; @@ -39433,7 +40495,7 @@ void checkSnapshot(api.Snapshot o) { unittest.equals('foo'), ); unittest.expect(o.enableConfidentialCompute!, unittest.isTrue); - checkUnnamed677(o.guestOsFeatures!); + checkUnnamed701(o.guestOsFeatures!); unittest.expect( o.id!, unittest.equals('foo'), @@ -39446,9 +40508,9 @@ void checkSnapshot(api.Snapshot o) { o.labelFingerprint!, unittest.equals('foo'), ); - checkUnnamed678(o.labels!); - checkUnnamed679(o.licenseCodes!); - checkUnnamed680(o.licenses!); + checkUnnamed702(o.labels!); + checkUnnamed703(o.licenseCodes!); + checkUnnamed704(o.licenses!); unittest.expect( o.locationHint!, unittest.equals('foo'), @@ -39510,17 +40572,17 @@ void checkSnapshot(api.Snapshot o) { o.storageBytesStatus!, unittest.equals('foo'), ); - checkUnnamed681(o.storageLocations!); + checkUnnamed705(o.storageLocations!); } buildCounterSnapshot--; } -core.List buildUnnamed682() => [ +core.List buildUnnamed706() => [ buildSnapshot(), buildSnapshot(), ]; -void checkUnnamed682(core.List o) { +void checkUnnamed706(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSnapshot(o[0]); checkSnapshot(o[1]); @@ -39553,12 +40615,12 @@ void checkSnapshotListWarningData(api.SnapshotListWarningData o) { buildCounterSnapshotListWarningData--; } -core.List buildUnnamed683() => [ +core.List buildUnnamed707() => [ buildSnapshotListWarningData(), buildSnapshotListWarningData(), ]; -void checkUnnamed683(core.List o) { +void checkUnnamed707(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSnapshotListWarningData(o[0]); checkSnapshotListWarningData(o[1]); @@ -39570,7 +40632,7 @@ api.SnapshotListWarning buildSnapshotListWarning() { buildCounterSnapshotListWarning++; if (buildCounterSnapshotListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed683(); + o.data = buildUnnamed707(); o.message = 'foo'; } buildCounterSnapshotListWarning--; @@ -39584,7 +40646,7 @@ void checkSnapshotListWarning(api.SnapshotListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed683(o.data!); + checkUnnamed707(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -39599,7 +40661,7 @@ api.SnapshotList buildSnapshotList() { buildCounterSnapshotList++; if (buildCounterSnapshotList < 3) { o.id = 'foo'; - o.items = buildUnnamed682(); + o.items = buildUnnamed706(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -39616,7 +40678,7 @@ void checkSnapshotList(api.SnapshotList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed682(o.items!); + checkUnnamed706(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -39655,14 +40717,14 @@ void checkSnapshotSettings(api.SnapshotSettings o) { core.Map - buildUnnamed684() => { + buildUnnamed708() => { 'x': buildSnapshotSettingsStorageLocationSettingsStorageLocationPreference(), 'y': buildSnapshotSettingsStorageLocationSettingsStorageLocationPreference(), }; -void checkUnnamed684( +void checkUnnamed708( core.Map< core.String, api @@ -39681,7 +40743,7 @@ api.SnapshotSettingsStorageLocationSettings final o = api.SnapshotSettingsStorageLocationSettings(); buildCounterSnapshotSettingsStorageLocationSettings++; if (buildCounterSnapshotSettingsStorageLocationSettings < 3) { - o.locations = buildUnnamed684(); + o.locations = buildUnnamed708(); o.policy = 'foo'; } buildCounterSnapshotSettingsStorageLocationSettings--; @@ -39692,7 +40754,7 @@ void checkSnapshotSettingsStorageLocationSettings( api.SnapshotSettingsStorageLocationSettings o) { buildCounterSnapshotSettingsStorageLocationSettings++; if (buildCounterSnapshotSettingsStorageLocationSettings < 3) { - checkUnnamed684(o.locations!); + checkUnnamed708(o.locations!); unittest.expect( o.policy!, unittest.equals('foo'), @@ -39754,12 +40816,12 @@ void checkSourceDiskEncryptionKey(api.SourceDiskEncryptionKey o) { buildCounterSourceDiskEncryptionKey--; } -core.List buildUnnamed685() => [ +core.List buildUnnamed709() => [ buildDiskInstantiationConfig(), buildDiskInstantiationConfig(), ]; -void checkUnnamed685(core.List o) { +void checkUnnamed709(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDiskInstantiationConfig(o[0]); checkDiskInstantiationConfig(o[1]); @@ -39770,7 +40832,7 @@ api.SourceInstanceParams buildSourceInstanceParams() { final o = api.SourceInstanceParams(); buildCounterSourceInstanceParams++; if (buildCounterSourceInstanceParams < 3) { - o.diskConfigs = buildUnnamed685(); + o.diskConfigs = buildUnnamed709(); } buildCounterSourceInstanceParams--; return o; @@ -39779,39 +40841,39 @@ api.SourceInstanceParams buildSourceInstanceParams() { void checkSourceInstanceParams(api.SourceInstanceParams o) { buildCounterSourceInstanceParams++; if (buildCounterSourceInstanceParams < 3) { - checkUnnamed685(o.diskConfigs!); + checkUnnamed709(o.diskConfigs!); } buildCounterSourceInstanceParams--; } -core.List buildUnnamed686() => [ +core.List buildUnnamed710() => [ buildSavedAttachedDisk(), buildSavedAttachedDisk(), ]; -void checkUnnamed686(core.List o) { +void checkUnnamed710(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSavedAttachedDisk(o[0]); checkSavedAttachedDisk(o[1]); } -core.List buildUnnamed687() => [ +core.List buildUnnamed711() => [ buildAcceleratorConfig(), buildAcceleratorConfig(), ]; -void checkUnnamed687(core.List o) { +void checkUnnamed711(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAcceleratorConfig(o[0]); checkAcceleratorConfig(o[1]); } -core.Map buildUnnamed688() => { +core.Map buildUnnamed712() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed688(core.Map o) { +void checkUnnamed712(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -39823,23 +40885,23 @@ void checkUnnamed688(core.Map o) { ); } -core.List buildUnnamed689() => [ +core.List buildUnnamed713() => [ buildNetworkInterface(), buildNetworkInterface(), ]; -void checkUnnamed689(core.List o) { +void checkUnnamed713(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkInterface(o[0]); checkNetworkInterface(o[1]); } -core.List buildUnnamed690() => [ +core.List buildUnnamed714() => [ buildServiceAccount(), buildServiceAccount(), ]; -void checkUnnamed690(core.List o) { +void checkUnnamed714(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceAccount(o[0]); checkServiceAccount(o[1]); @@ -39853,16 +40915,16 @@ api.SourceInstanceProperties buildSourceInstanceProperties() { o.canIpForward = true; o.deletionProtection = true; o.description = 'foo'; - o.disks = buildUnnamed686(); - o.guestAccelerators = buildUnnamed687(); + o.disks = buildUnnamed710(); + o.guestAccelerators = buildUnnamed711(); o.keyRevocationActionType = 'foo'; - o.labels = buildUnnamed688(); + o.labels = buildUnnamed712(); o.machineType = 'foo'; o.metadata = buildMetadata(); o.minCpuPlatform = 'foo'; - o.networkInterfaces = buildUnnamed689(); + o.networkInterfaces = buildUnnamed713(); o.scheduling = buildScheduling(); - o.serviceAccounts = buildUnnamed690(); + o.serviceAccounts = buildUnnamed714(); o.tags = buildTags(); } buildCounterSourceInstanceProperties--; @@ -39878,13 +40940,13 @@ void checkSourceInstanceProperties(api.SourceInstanceProperties o) { o.description!, unittest.equals('foo'), ); - checkUnnamed686(o.disks!); - checkUnnamed687(o.guestAccelerators!); + checkUnnamed710(o.disks!); + checkUnnamed711(o.guestAccelerators!); unittest.expect( o.keyRevocationActionType!, unittest.equals('foo'), ); - checkUnnamed688(o.labels!); + checkUnnamed712(o.labels!); unittest.expect( o.machineType!, unittest.equals('foo'), @@ -39894,20 +40956,20 @@ void checkSourceInstanceProperties(api.SourceInstanceProperties o) { o.minCpuPlatform!, unittest.equals('foo'), ); - checkUnnamed689(o.networkInterfaces!); + checkUnnamed713(o.networkInterfaces!); checkScheduling(o.scheduling!); - checkUnnamed690(o.serviceAccounts!); + checkUnnamed714(o.serviceAccounts!); checkTags(o.tags!); } buildCounterSourceInstanceProperties--; } -core.List buildUnnamed691() => [ +core.List buildUnnamed715() => [ 'foo', 'foo', ]; -void checkUnnamed691(core.List o) { +void checkUnnamed715(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -39936,7 +40998,7 @@ api.SslCertificate buildSslCertificate() { o.region = 'foo'; o.selfLink = 'foo'; o.selfManaged = buildSslCertificateSelfManagedSslCertificate(); - o.subjectAlternativeNames = buildUnnamed691(); + o.subjectAlternativeNames = buildUnnamed715(); o.type = 'foo'; } buildCounterSslCertificate--; @@ -39988,7 +41050,7 @@ void checkSslCertificate(api.SslCertificate o) { unittest.equals('foo'), ); checkSslCertificateSelfManagedSslCertificate(o.selfManaged!); - checkUnnamed691(o.subjectAlternativeNames!); + checkUnnamed715(o.subjectAlternativeNames!); unittest.expect( o.type!, unittest.equals('foo'), @@ -39997,23 +41059,23 @@ void checkSslCertificate(api.SslCertificate o) { buildCounterSslCertificate--; } -core.Map buildUnnamed692() => { +core.Map buildUnnamed716() => { 'x': buildSslCertificatesScopedList(), 'y': buildSslCertificatesScopedList(), }; -void checkUnnamed692(core.Map o) { +void checkUnnamed716(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkSslCertificatesScopedList(o['x']!); checkSslCertificatesScopedList(o['y']!); } -core.List buildUnnamed693() => [ +core.List buildUnnamed717() => [ 'foo', 'foo', ]; -void checkUnnamed693(core.List o) { +void checkUnnamed717(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -40054,12 +41116,12 @@ void checkSslCertificateAggregatedListWarningData( buildCounterSslCertificateAggregatedListWarningData--; } -core.List buildUnnamed694() => [ +core.List buildUnnamed718() => [ buildSslCertificateAggregatedListWarningData(), buildSslCertificateAggregatedListWarningData(), ]; -void checkUnnamed694(core.List o) { +void checkUnnamed718(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSslCertificateAggregatedListWarningData(o[0]); checkSslCertificateAggregatedListWarningData(o[1]); @@ -40072,7 +41134,7 @@ api.SslCertificateAggregatedListWarning buildCounterSslCertificateAggregatedListWarning++; if (buildCounterSslCertificateAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed694(); + o.data = buildUnnamed718(); o.message = 'foo'; } buildCounterSslCertificateAggregatedListWarning--; @@ -40087,7 +41149,7 @@ void checkSslCertificateAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed694(o.data!); + checkUnnamed718(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -40102,11 +41164,11 @@ api.SslCertificateAggregatedList buildSslCertificateAggregatedList() { buildCounterSslCertificateAggregatedList++; if (buildCounterSslCertificateAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed692(); + o.items = buildUnnamed716(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed693(); + o.unreachables = buildUnnamed717(); o.warning = buildSslCertificateAggregatedListWarning(); } buildCounterSslCertificateAggregatedList--; @@ -40120,7 +41182,7 @@ void checkSslCertificateAggregatedList(api.SslCertificateAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed692(o.items!); + checkUnnamed716(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -40133,18 +41195,18 @@ void checkSslCertificateAggregatedList(api.SslCertificateAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed693(o.unreachables!); + checkUnnamed717(o.unreachables!); checkSslCertificateAggregatedListWarning(o.warning!); } buildCounterSslCertificateAggregatedList--; } -core.List buildUnnamed695() => [ +core.List buildUnnamed719() => [ buildSslCertificate(), buildSslCertificate(), ]; -void checkUnnamed695(core.List o) { +void checkUnnamed719(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSslCertificate(o[0]); checkSslCertificate(o[1]); @@ -40177,12 +41239,12 @@ void checkSslCertificateListWarningData(api.SslCertificateListWarningData o) { buildCounterSslCertificateListWarningData--; } -core.List buildUnnamed696() => [ +core.List buildUnnamed720() => [ buildSslCertificateListWarningData(), buildSslCertificateListWarningData(), ]; -void checkUnnamed696(core.List o) { +void checkUnnamed720(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSslCertificateListWarningData(o[0]); checkSslCertificateListWarningData(o[1]); @@ -40194,7 +41256,7 @@ api.SslCertificateListWarning buildSslCertificateListWarning() { buildCounterSslCertificateListWarning++; if (buildCounterSslCertificateListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed696(); + o.data = buildUnnamed720(); o.message = 'foo'; } buildCounterSslCertificateListWarning--; @@ -40208,7 +41270,7 @@ void checkSslCertificateListWarning(api.SslCertificateListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed696(o.data!); + checkUnnamed720(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -40223,7 +41285,7 @@ api.SslCertificateList buildSslCertificateList() { buildCounterSslCertificateList++; if (buildCounterSslCertificateList < 3) { o.id = 'foo'; - o.items = buildUnnamed695(); + o.items = buildUnnamed719(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -40240,7 +41302,7 @@ void checkSslCertificateList(api.SslCertificateList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed695(o.items!); + checkUnnamed719(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -40258,12 +41320,12 @@ void checkSslCertificateList(api.SslCertificateList o) { buildCounterSslCertificateList--; } -core.Map buildUnnamed697() => { +core.Map buildUnnamed721() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed697(core.Map o) { +void checkUnnamed721(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -40275,12 +41337,12 @@ void checkUnnamed697(core.Map o) { ); } -core.List buildUnnamed698() => [ +core.List buildUnnamed722() => [ 'foo', 'foo', ]; -void checkUnnamed698(core.List o) { +void checkUnnamed722(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -40298,8 +41360,8 @@ api.SslCertificateManagedSslCertificate final o = api.SslCertificateManagedSslCertificate(); buildCounterSslCertificateManagedSslCertificate++; if (buildCounterSslCertificateManagedSslCertificate < 3) { - o.domainStatus = buildUnnamed697(); - o.domains = buildUnnamed698(); + o.domainStatus = buildUnnamed721(); + o.domains = buildUnnamed722(); o.status = 'foo'; } buildCounterSslCertificateManagedSslCertificate--; @@ -40310,8 +41372,8 @@ void checkSslCertificateManagedSslCertificate( api.SslCertificateManagedSslCertificate o) { buildCounterSslCertificateManagedSslCertificate++; if (buildCounterSslCertificateManagedSslCertificate < 3) { - checkUnnamed697(o.domainStatus!); - checkUnnamed698(o.domains!); + checkUnnamed721(o.domainStatus!); + checkUnnamed722(o.domains!); unittest.expect( o.status!, unittest.equals('foo'), @@ -40349,12 +41411,12 @@ void checkSslCertificateSelfManagedSslCertificate( buildCounterSslCertificateSelfManagedSslCertificate--; } -core.List buildUnnamed699() => [ +core.List buildUnnamed723() => [ buildSslCertificate(), buildSslCertificate(), ]; -void checkUnnamed699(core.List o) { +void checkUnnamed723(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSslCertificate(o[0]); checkSslCertificate(o[1]); @@ -40389,12 +41451,12 @@ void checkSslCertificatesScopedListWarningData( buildCounterSslCertificatesScopedListWarningData--; } -core.List buildUnnamed700() => [ +core.List buildUnnamed724() => [ buildSslCertificatesScopedListWarningData(), buildSslCertificatesScopedListWarningData(), ]; -void checkUnnamed700(core.List o) { +void checkUnnamed724(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSslCertificatesScopedListWarningData(o[0]); checkSslCertificatesScopedListWarningData(o[1]); @@ -40406,7 +41468,7 @@ api.SslCertificatesScopedListWarning buildSslCertificatesScopedListWarning() { buildCounterSslCertificatesScopedListWarning++; if (buildCounterSslCertificatesScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed700(); + o.data = buildUnnamed724(); o.message = 'foo'; } buildCounterSslCertificatesScopedListWarning--; @@ -40421,7 +41483,7 @@ void checkSslCertificatesScopedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed700(o.data!); + checkUnnamed724(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -40435,7 +41497,7 @@ api.SslCertificatesScopedList buildSslCertificatesScopedList() { final o = api.SslCertificatesScopedList(); buildCounterSslCertificatesScopedList++; if (buildCounterSslCertificatesScopedList < 3) { - o.sslCertificates = buildUnnamed699(); + o.sslCertificates = buildUnnamed723(); o.warning = buildSslCertificatesScopedListWarning(); } buildCounterSslCertificatesScopedList--; @@ -40445,29 +41507,29 @@ api.SslCertificatesScopedList buildSslCertificatesScopedList() { void checkSslCertificatesScopedList(api.SslCertificatesScopedList o) { buildCounterSslCertificatesScopedList++; if (buildCounterSslCertificatesScopedList < 3) { - checkUnnamed699(o.sslCertificates!); + checkUnnamed723(o.sslCertificates!); checkSslCertificatesScopedListWarning(o.warning!); } buildCounterSslCertificatesScopedList--; } -core.Map buildUnnamed701() => { +core.Map buildUnnamed725() => { 'x': buildSslPoliciesScopedList(), 'y': buildSslPoliciesScopedList(), }; -void checkUnnamed701(core.Map o) { +void checkUnnamed725(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkSslPoliciesScopedList(o['x']!); checkSslPoliciesScopedList(o['y']!); } -core.List buildUnnamed702() => [ +core.List buildUnnamed726() => [ 'foo', 'foo', ]; -void checkUnnamed702(core.List o) { +void checkUnnamed726(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -40508,12 +41570,12 @@ void checkSslPoliciesAggregatedListWarningData( buildCounterSslPoliciesAggregatedListWarningData--; } -core.List buildUnnamed703() => [ +core.List buildUnnamed727() => [ buildSslPoliciesAggregatedListWarningData(), buildSslPoliciesAggregatedListWarningData(), ]; -void checkUnnamed703(core.List o) { +void checkUnnamed727(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSslPoliciesAggregatedListWarningData(o[0]); checkSslPoliciesAggregatedListWarningData(o[1]); @@ -40525,7 +41587,7 @@ api.SslPoliciesAggregatedListWarning buildSslPoliciesAggregatedListWarning() { buildCounterSslPoliciesAggregatedListWarning++; if (buildCounterSslPoliciesAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed703(); + o.data = buildUnnamed727(); o.message = 'foo'; } buildCounterSslPoliciesAggregatedListWarning--; @@ -40540,7 +41602,7 @@ void checkSslPoliciesAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed703(o.data!); + checkUnnamed727(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -40556,11 +41618,11 @@ api.SslPoliciesAggregatedList buildSslPoliciesAggregatedList() { if (buildCounterSslPoliciesAggregatedList < 3) { o.etag = 'foo'; o.id = 'foo'; - o.items = buildUnnamed701(); + o.items = buildUnnamed725(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed702(); + o.unreachables = buildUnnamed726(); o.warning = buildSslPoliciesAggregatedListWarning(); } buildCounterSslPoliciesAggregatedList--; @@ -40578,7 +41640,7 @@ void checkSslPoliciesAggregatedList(api.SslPoliciesAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed701(o.items!); + checkUnnamed725(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -40591,18 +41653,18 @@ void checkSslPoliciesAggregatedList(api.SslPoliciesAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed702(o.unreachables!); + checkUnnamed726(o.unreachables!); checkSslPoliciesAggregatedListWarning(o.warning!); } buildCounterSslPoliciesAggregatedList--; } -core.List buildUnnamed704() => [ +core.List buildUnnamed728() => [ buildSslPolicy(), buildSslPolicy(), ]; -void checkUnnamed704(core.List o) { +void checkUnnamed728(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSslPolicy(o[0]); checkSslPolicy(o[1]); @@ -40635,12 +41697,12 @@ void checkSslPoliciesListWarningData(api.SslPoliciesListWarningData o) { buildCounterSslPoliciesListWarningData--; } -core.List buildUnnamed705() => [ +core.List buildUnnamed729() => [ buildSslPoliciesListWarningData(), buildSslPoliciesListWarningData(), ]; -void checkUnnamed705(core.List o) { +void checkUnnamed729(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSslPoliciesListWarningData(o[0]); checkSslPoliciesListWarningData(o[1]); @@ -40652,7 +41714,7 @@ api.SslPoliciesListWarning buildSslPoliciesListWarning() { buildCounterSslPoliciesListWarning++; if (buildCounterSslPoliciesListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed705(); + o.data = buildUnnamed729(); o.message = 'foo'; } buildCounterSslPoliciesListWarning--; @@ -40666,7 +41728,7 @@ void checkSslPoliciesListWarning(api.SslPoliciesListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed705(o.data!); + checkUnnamed729(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -40681,7 +41743,7 @@ api.SslPoliciesList buildSslPoliciesList() { buildCounterSslPoliciesList++; if (buildCounterSslPoliciesList < 3) { o.id = 'foo'; - o.items = buildUnnamed704(); + o.items = buildUnnamed728(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -40698,7 +41760,7 @@ void checkSslPoliciesList(api.SslPoliciesList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed704(o.items!); + checkUnnamed728(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -40716,12 +41778,12 @@ void checkSslPoliciesList(api.SslPoliciesList o) { buildCounterSslPoliciesList--; } -core.List buildUnnamed706() => [ +core.List buildUnnamed730() => [ 'foo', 'foo', ]; -void checkUnnamed706(core.List o) { +void checkUnnamed730(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -40739,7 +41801,7 @@ api.SslPoliciesListAvailableFeaturesResponse final o = api.SslPoliciesListAvailableFeaturesResponse(); buildCounterSslPoliciesListAvailableFeaturesResponse++; if (buildCounterSslPoliciesListAvailableFeaturesResponse < 3) { - o.features = buildUnnamed706(); + o.features = buildUnnamed730(); } buildCounterSslPoliciesListAvailableFeaturesResponse--; return o; @@ -40749,17 +41811,17 @@ void checkSslPoliciesListAvailableFeaturesResponse( api.SslPoliciesListAvailableFeaturesResponse o) { buildCounterSslPoliciesListAvailableFeaturesResponse++; if (buildCounterSslPoliciesListAvailableFeaturesResponse < 3) { - checkUnnamed706(o.features!); + checkUnnamed730(o.features!); } buildCounterSslPoliciesListAvailableFeaturesResponse--; } -core.List buildUnnamed707() => [ +core.List buildUnnamed731() => [ buildSslPolicy(), buildSslPolicy(), ]; -void checkUnnamed707(core.List o) { +void checkUnnamed731(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSslPolicy(o[0]); checkSslPolicy(o[1]); @@ -40793,12 +41855,12 @@ void checkSslPoliciesScopedListWarningData( buildCounterSslPoliciesScopedListWarningData--; } -core.List buildUnnamed708() => [ +core.List buildUnnamed732() => [ buildSslPoliciesScopedListWarningData(), buildSslPoliciesScopedListWarningData(), ]; -void checkUnnamed708(core.List o) { +void checkUnnamed732(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSslPoliciesScopedListWarningData(o[0]); checkSslPoliciesScopedListWarningData(o[1]); @@ -40810,7 +41872,7 @@ api.SslPoliciesScopedListWarning buildSslPoliciesScopedListWarning() { buildCounterSslPoliciesScopedListWarning++; if (buildCounterSslPoliciesScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed708(); + o.data = buildUnnamed732(); o.message = 'foo'; } buildCounterSslPoliciesScopedListWarning--; @@ -40824,7 +41886,7 @@ void checkSslPoliciesScopedListWarning(api.SslPoliciesScopedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed708(o.data!); + checkUnnamed732(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -40838,7 +41900,7 @@ api.SslPoliciesScopedList buildSslPoliciesScopedList() { final o = api.SslPoliciesScopedList(); buildCounterSslPoliciesScopedList++; if (buildCounterSslPoliciesScopedList < 3) { - o.sslPolicies = buildUnnamed707(); + o.sslPolicies = buildUnnamed731(); o.warning = buildSslPoliciesScopedListWarning(); } buildCounterSslPoliciesScopedList--; @@ -40848,18 +41910,18 @@ api.SslPoliciesScopedList buildSslPoliciesScopedList() { void checkSslPoliciesScopedList(api.SslPoliciesScopedList o) { buildCounterSslPoliciesScopedList++; if (buildCounterSslPoliciesScopedList < 3) { - checkUnnamed707(o.sslPolicies!); + checkUnnamed731(o.sslPolicies!); checkSslPoliciesScopedListWarning(o.warning!); } buildCounterSslPoliciesScopedList--; } -core.List buildUnnamed709() => [ +core.List buildUnnamed733() => [ 'foo', 'foo', ]; -void checkUnnamed709(core.List o) { +void checkUnnamed733(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -40871,12 +41933,12 @@ void checkUnnamed709(core.List o) { ); } -core.List buildUnnamed710() => [ +core.List buildUnnamed734() => [ 'foo', 'foo', ]; -void checkUnnamed710(core.List o) { +void checkUnnamed734(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -40915,12 +41977,12 @@ void checkSslPolicyWarningsData(api.SslPolicyWarningsData o) { buildCounterSslPolicyWarningsData--; } -core.List buildUnnamed711() => [ +core.List buildUnnamed735() => [ buildSslPolicyWarningsData(), buildSslPolicyWarningsData(), ]; -void checkUnnamed711(core.List o) { +void checkUnnamed735(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSslPolicyWarningsData(o[0]); checkSslPolicyWarningsData(o[1]); @@ -40932,7 +41994,7 @@ api.SslPolicyWarnings buildSslPolicyWarnings() { buildCounterSslPolicyWarnings++; if (buildCounterSslPolicyWarnings < 3) { o.code = 'foo'; - o.data = buildUnnamed711(); + o.data = buildUnnamed735(); o.message = 'foo'; } buildCounterSslPolicyWarnings--; @@ -40946,7 +42008,7 @@ void checkSslPolicyWarnings(api.SslPolicyWarnings o) { o.code!, unittest.equals('foo'), ); - checkUnnamed711(o.data!); + checkUnnamed735(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -40955,12 +42017,12 @@ void checkSslPolicyWarnings(api.SslPolicyWarnings o) { buildCounterSslPolicyWarnings--; } -core.List buildUnnamed712() => [ +core.List buildUnnamed736() => [ buildSslPolicyWarnings(), buildSslPolicyWarnings(), ]; -void checkUnnamed712(core.List o) { +void checkUnnamed736(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSslPolicyWarnings(o[0]); checkSslPolicyWarnings(o[1]); @@ -40972,9 +42034,9 @@ api.SslPolicy buildSslPolicy() { buildCounterSslPolicy++; if (buildCounterSslPolicy < 3) { o.creationTimestamp = 'foo'; - o.customFeatures = buildUnnamed709(); + o.customFeatures = buildUnnamed733(); o.description = 'foo'; - o.enabledFeatures = buildUnnamed710(); + o.enabledFeatures = buildUnnamed734(); o.fingerprint = 'foo'; o.id = 'foo'; o.kind = 'foo'; @@ -40983,7 +42045,7 @@ api.SslPolicy buildSslPolicy() { o.profile = 'foo'; o.region = 'foo'; o.selfLink = 'foo'; - o.warnings = buildUnnamed712(); + o.warnings = buildUnnamed736(); } buildCounterSslPolicy--; return o; @@ -40996,12 +42058,12 @@ void checkSslPolicy(api.SslPolicy o) { o.creationTimestamp!, unittest.equals('foo'), ); - checkUnnamed709(o.customFeatures!); + checkUnnamed733(o.customFeatures!); unittest.expect( o.description!, unittest.equals('foo'), ); - checkUnnamed710(o.enabledFeatures!); + checkUnnamed734(o.enabledFeatures!); unittest.expect( o.fingerprint!, unittest.equals('foo'), @@ -41034,7 +42096,7 @@ void checkSslPolicy(api.SslPolicy o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed712(o.warnings!); + checkUnnamed736(o.warnings!); } buildCounterSslPolicy--; } @@ -41081,12 +42143,12 @@ void checkStatefulPolicy(api.StatefulPolicy o) { } core.Map - buildUnnamed713() => { + buildUnnamed737() => { 'x': buildStatefulPolicyPreservedStateDiskDevice(), 'y': buildStatefulPolicyPreservedStateDiskDevice(), }; -void checkUnnamed713( +void checkUnnamed737( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkStatefulPolicyPreservedStateDiskDevice(o['x']!); @@ -41094,12 +42156,12 @@ void checkUnnamed713( } core.Map - buildUnnamed714() => { + buildUnnamed738() => { 'x': buildStatefulPolicyPreservedStateNetworkIp(), 'y': buildStatefulPolicyPreservedStateNetworkIp(), }; -void checkUnnamed714( +void checkUnnamed738( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkStatefulPolicyPreservedStateNetworkIp(o['x']!); @@ -41107,12 +42169,12 @@ void checkUnnamed714( } core.Map - buildUnnamed715() => { + buildUnnamed739() => { 'x': buildStatefulPolicyPreservedStateNetworkIp(), 'y': buildStatefulPolicyPreservedStateNetworkIp(), }; -void checkUnnamed715( +void checkUnnamed739( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkStatefulPolicyPreservedStateNetworkIp(o['x']!); @@ -41124,9 +42186,9 @@ api.StatefulPolicyPreservedState buildStatefulPolicyPreservedState() { final o = api.StatefulPolicyPreservedState(); buildCounterStatefulPolicyPreservedState++; if (buildCounterStatefulPolicyPreservedState < 3) { - o.disks = buildUnnamed713(); - o.externalIPs = buildUnnamed714(); - o.internalIPs = buildUnnamed715(); + o.disks = buildUnnamed737(); + o.externalIPs = buildUnnamed738(); + o.internalIPs = buildUnnamed739(); } buildCounterStatefulPolicyPreservedState--; return o; @@ -41135,9 +42197,9 @@ api.StatefulPolicyPreservedState buildStatefulPolicyPreservedState() { void checkStatefulPolicyPreservedState(api.StatefulPolicyPreservedState o) { buildCounterStatefulPolicyPreservedState++; if (buildCounterStatefulPolicyPreservedState < 3) { - checkUnnamed713(o.disks!); - checkUnnamed714(o.externalIPs!); - checkUnnamed715(o.internalIPs!); + checkUnnamed737(o.disks!); + checkUnnamed738(o.externalIPs!); + checkUnnamed739(o.internalIPs!); } buildCounterStatefulPolicyPreservedState--; } @@ -41190,7 +42252,7 @@ void checkStatefulPolicyPreservedStateNetworkIp( buildCounterStatefulPolicyPreservedStateNetworkIp--; } -core.Map buildUnnamed716() => { +core.Map buildUnnamed740() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -41203,7 +42265,7 @@ core.Map buildUnnamed716() => { }, }; -void checkUnnamed716(core.Map o) { +void checkUnnamed740(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -41235,15 +42297,15 @@ void checkUnnamed716(core.Map o) { ); } -core.List> buildUnnamed717() => [ - buildUnnamed716(), - buildUnnamed716(), +core.List> buildUnnamed741() => [ + buildUnnamed740(), + buildUnnamed740(), ]; -void checkUnnamed717(core.List> o) { +void checkUnnamed741(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed716(o[0]); - checkUnnamed716(o[1]); + checkUnnamed740(o[0]); + checkUnnamed740(o[1]); } core.int buildCounterStatus = 0; @@ -41252,7 +42314,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed717(); + o.details = buildUnnamed741(); o.message = 'foo'; } buildCounterStatus--; @@ -41266,7 +42328,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed717(o.details!); + checkUnnamed741(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -41275,12 +42337,12 @@ void checkStatus(api.Status o) { buildCounterStatus--; } -core.Map buildUnnamed718() => { +core.Map buildUnnamed742() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed718(core.Map o) { +void checkUnnamed742(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -41303,7 +42365,7 @@ api.StoragePool buildStoragePool() { o.id = 'foo'; o.kind = 'foo'; o.labelFingerprint = 'foo'; - o.labels = buildUnnamed718(); + o.labels = buildUnnamed742(); o.name = 'foo'; o.performanceProvisioningType = 'foo'; o.poolProvisionedCapacityGb = 'foo'; @@ -41348,7 +42410,7 @@ void checkStoragePool(api.StoragePool o) { o.labelFingerprint!, unittest.equals('foo'), ); - checkUnnamed718(o.labels!); + checkUnnamed742(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -41395,23 +42457,23 @@ void checkStoragePool(api.StoragePool o) { buildCounterStoragePool--; } -core.Map buildUnnamed719() => { +core.Map buildUnnamed743() => { 'x': buildStoragePoolsScopedList(), 'y': buildStoragePoolsScopedList(), }; -void checkUnnamed719(core.Map o) { +void checkUnnamed743(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkStoragePoolsScopedList(o['x']!); checkStoragePoolsScopedList(o['y']!); } -core.List buildUnnamed720() => [ +core.List buildUnnamed744() => [ 'foo', 'foo', ]; -void checkUnnamed720(core.List o) { +void checkUnnamed744(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -41452,12 +42514,12 @@ void checkStoragePoolAggregatedListWarningData( buildCounterStoragePoolAggregatedListWarningData--; } -core.List buildUnnamed721() => [ +core.List buildUnnamed745() => [ buildStoragePoolAggregatedListWarningData(), buildStoragePoolAggregatedListWarningData(), ]; -void checkUnnamed721(core.List o) { +void checkUnnamed745(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStoragePoolAggregatedListWarningData(o[0]); checkStoragePoolAggregatedListWarningData(o[1]); @@ -41469,7 +42531,7 @@ api.StoragePoolAggregatedListWarning buildStoragePoolAggregatedListWarning() { buildCounterStoragePoolAggregatedListWarning++; if (buildCounterStoragePoolAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed721(); + o.data = buildUnnamed745(); o.message = 'foo'; } buildCounterStoragePoolAggregatedListWarning--; @@ -41484,7 +42546,7 @@ void checkStoragePoolAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed721(o.data!); + checkUnnamed745(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -41500,11 +42562,11 @@ api.StoragePoolAggregatedList buildStoragePoolAggregatedList() { if (buildCounterStoragePoolAggregatedList < 3) { o.etag = 'foo'; o.id = 'foo'; - o.items = buildUnnamed719(); + o.items = buildUnnamed743(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed720(); + o.unreachables = buildUnnamed744(); o.warning = buildStoragePoolAggregatedListWarning(); } buildCounterStoragePoolAggregatedList--; @@ -41522,7 +42584,7 @@ void checkStoragePoolAggregatedList(api.StoragePoolAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed719(o.items!); + checkUnnamed743(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -41535,18 +42597,18 @@ void checkStoragePoolAggregatedList(api.StoragePoolAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed720(o.unreachables!); + checkUnnamed744(o.unreachables!); checkStoragePoolAggregatedListWarning(o.warning!); } buildCounterStoragePoolAggregatedList--; } -core.List buildUnnamed722() => [ +core.List buildUnnamed746() => [ 'foo', 'foo', ]; -void checkUnnamed722(core.List o) { +void checkUnnamed746(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -41558,12 +42620,12 @@ void checkUnnamed722(core.List o) { ); } -core.List buildUnnamed723() => [ +core.List buildUnnamed747() => [ 'foo', 'foo', ]; -void checkUnnamed723(core.List o) { +void checkUnnamed747(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -41580,13 +42642,13 @@ api.StoragePoolDisk buildStoragePoolDisk() { final o = api.StoragePoolDisk(); buildCounterStoragePoolDisk++; if (buildCounterStoragePoolDisk < 3) { - o.attachedInstances = buildUnnamed722(); + o.attachedInstances = buildUnnamed746(); o.creationTimestamp = 'foo'; o.disk = 'foo'; o.name = 'foo'; o.provisionedIops = 'foo'; o.provisionedThroughput = 'foo'; - o.resourcePolicies = buildUnnamed723(); + o.resourcePolicies = buildUnnamed747(); o.sizeGb = 'foo'; o.status = 'foo'; o.type = 'foo'; @@ -41599,7 +42661,7 @@ api.StoragePoolDisk buildStoragePoolDisk() { void checkStoragePoolDisk(api.StoragePoolDisk o) { buildCounterStoragePoolDisk++; if (buildCounterStoragePoolDisk < 3) { - checkUnnamed722(o.attachedInstances!); + checkUnnamed746(o.attachedInstances!); unittest.expect( o.creationTimestamp!, unittest.equals('foo'), @@ -41620,7 +42682,7 @@ void checkStoragePoolDisk(api.StoragePoolDisk o) { o.provisionedThroughput!, unittest.equals('foo'), ); - checkUnnamed723(o.resourcePolicies!); + checkUnnamed747(o.resourcePolicies!); unittest.expect( o.sizeGb!, unittest.equals('foo'), @@ -41641,23 +42703,23 @@ void checkStoragePoolDisk(api.StoragePoolDisk o) { buildCounterStoragePoolDisk--; } -core.List buildUnnamed724() => [ +core.List buildUnnamed748() => [ buildStoragePool(), buildStoragePool(), ]; -void checkUnnamed724(core.List o) { +void checkUnnamed748(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStoragePool(o[0]); checkStoragePool(o[1]); } -core.List buildUnnamed725() => [ +core.List buildUnnamed749() => [ 'foo', 'foo', ]; -void checkUnnamed725(core.List o) { +void checkUnnamed749(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -41696,12 +42758,12 @@ void checkStoragePoolListWarningData(api.StoragePoolListWarningData o) { buildCounterStoragePoolListWarningData--; } -core.List buildUnnamed726() => [ +core.List buildUnnamed750() => [ buildStoragePoolListWarningData(), buildStoragePoolListWarningData(), ]; -void checkUnnamed726(core.List o) { +void checkUnnamed750(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStoragePoolListWarningData(o[0]); checkStoragePoolListWarningData(o[1]); @@ -41713,7 +42775,7 @@ api.StoragePoolListWarning buildStoragePoolListWarning() { buildCounterStoragePoolListWarning++; if (buildCounterStoragePoolListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed726(); + o.data = buildUnnamed750(); o.message = 'foo'; } buildCounterStoragePoolListWarning--; @@ -41727,7 +42789,7 @@ void checkStoragePoolListWarning(api.StoragePoolListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed726(o.data!); + checkUnnamed750(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -41743,11 +42805,11 @@ api.StoragePoolList buildStoragePoolList() { if (buildCounterStoragePoolList < 3) { o.etag = 'foo'; o.id = 'foo'; - o.items = buildUnnamed724(); + o.items = buildUnnamed748(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed725(); + o.unreachables = buildUnnamed749(); o.warning = buildStoragePoolListWarning(); } buildCounterStoragePoolList--; @@ -41765,7 +42827,7 @@ void checkStoragePoolList(api.StoragePoolList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed724(o.items!); + checkUnnamed748(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -41778,29 +42840,29 @@ void checkStoragePoolList(api.StoragePoolList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed725(o.unreachables!); + checkUnnamed749(o.unreachables!); checkStoragePoolListWarning(o.warning!); } buildCounterStoragePoolList--; } -core.List buildUnnamed727() => [ +core.List buildUnnamed751() => [ buildStoragePoolDisk(), buildStoragePoolDisk(), ]; -void checkUnnamed727(core.List o) { +void checkUnnamed751(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStoragePoolDisk(o[0]); checkStoragePoolDisk(o[1]); } -core.List buildUnnamed728() => [ +core.List buildUnnamed752() => [ 'foo', 'foo', ]; -void checkUnnamed728(core.List o) { +void checkUnnamed752(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -41840,12 +42902,12 @@ void checkStoragePoolListDisksWarningData( buildCounterStoragePoolListDisksWarningData--; } -core.List buildUnnamed729() => [ +core.List buildUnnamed753() => [ buildStoragePoolListDisksWarningData(), buildStoragePoolListDisksWarningData(), ]; -void checkUnnamed729(core.List o) { +void checkUnnamed753(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStoragePoolListDisksWarningData(o[0]); checkStoragePoolListDisksWarningData(o[1]); @@ -41857,7 +42919,7 @@ api.StoragePoolListDisksWarning buildStoragePoolListDisksWarning() { buildCounterStoragePoolListDisksWarning++; if (buildCounterStoragePoolListDisksWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed729(); + o.data = buildUnnamed753(); o.message = 'foo'; } buildCounterStoragePoolListDisksWarning--; @@ -41871,7 +42933,7 @@ void checkStoragePoolListDisksWarning(api.StoragePoolListDisksWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed729(o.data!); + checkUnnamed753(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -41887,11 +42949,11 @@ api.StoragePoolListDisks buildStoragePoolListDisks() { if (buildCounterStoragePoolListDisks < 3) { o.etag = 'foo'; o.id = 'foo'; - o.items = buildUnnamed727(); + o.items = buildUnnamed751(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed728(); + o.unreachables = buildUnnamed752(); o.warning = buildStoragePoolListDisksWarning(); } buildCounterStoragePoolListDisks--; @@ -41909,7 +42971,7 @@ void checkStoragePoolListDisks(api.StoragePoolListDisks o) { o.id!, unittest.equals('foo'), ); - checkUnnamed727(o.items!); + checkUnnamed751(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -41922,7 +42984,7 @@ void checkStoragePoolListDisks(api.StoragePoolListDisks o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed728(o.unreachables!); + checkUnnamed752(o.unreachables!); checkStoragePoolListDisksWarning(o.warning!); } buildCounterStoragePoolListDisks--; @@ -41995,12 +43057,12 @@ void checkStoragePoolResourceStatus(api.StoragePoolResourceStatus o) { buildCounterStoragePoolResourceStatus--; } -core.List buildUnnamed730() => [ +core.List buildUnnamed754() => [ 'foo', 'foo', ]; -void checkUnnamed730(core.List o) { +void checkUnnamed754(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -42032,7 +43094,7 @@ api.StoragePoolType buildStoragePoolType() { o.name = 'foo'; o.selfLink = 'foo'; o.selfLinkWithId = 'foo'; - o.supportedDiskTypes = buildUnnamed730(); + o.supportedDiskTypes = buildUnnamed754(); o.zone = 'foo'; } buildCounterStoragePoolType--; @@ -42099,7 +43161,7 @@ void checkStoragePoolType(api.StoragePoolType o) { o.selfLinkWithId!, unittest.equals('foo'), ); - checkUnnamed730(o.supportedDiskTypes!); + checkUnnamed754(o.supportedDiskTypes!); unittest.expect( o.zone!, unittest.equals('foo'), @@ -42108,12 +43170,12 @@ void checkStoragePoolType(api.StoragePoolType o) { buildCounterStoragePoolType--; } -core.Map buildUnnamed731() => { +core.Map buildUnnamed755() => { 'x': buildStoragePoolTypesScopedList(), 'y': buildStoragePoolTypesScopedList(), }; -void checkUnnamed731(core.Map o) { +void checkUnnamed755(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkStoragePoolTypesScopedList(o['x']!); checkStoragePoolTypesScopedList(o['y']!); @@ -42148,12 +43210,12 @@ void checkStoragePoolTypeAggregatedListWarningData( buildCounterStoragePoolTypeAggregatedListWarningData--; } -core.List buildUnnamed732() => [ +core.List buildUnnamed756() => [ buildStoragePoolTypeAggregatedListWarningData(), buildStoragePoolTypeAggregatedListWarningData(), ]; -void checkUnnamed732( +void checkUnnamed756( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStoragePoolTypeAggregatedListWarningData(o[0]); @@ -42167,7 +43229,7 @@ api.StoragePoolTypeAggregatedListWarning buildCounterStoragePoolTypeAggregatedListWarning++; if (buildCounterStoragePoolTypeAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed732(); + o.data = buildUnnamed756(); o.message = 'foo'; } buildCounterStoragePoolTypeAggregatedListWarning--; @@ -42182,7 +43244,7 @@ void checkStoragePoolTypeAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed732(o.data!); + checkUnnamed756(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -42197,7 +43259,7 @@ api.StoragePoolTypeAggregatedList buildStoragePoolTypeAggregatedList() { buildCounterStoragePoolTypeAggregatedList++; if (buildCounterStoragePoolTypeAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed731(); + o.items = buildUnnamed755(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -42214,7 +43276,7 @@ void checkStoragePoolTypeAggregatedList(api.StoragePoolTypeAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed731(o.items!); + checkUnnamed755(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -42232,12 +43294,12 @@ void checkStoragePoolTypeAggregatedList(api.StoragePoolTypeAggregatedList o) { buildCounterStoragePoolTypeAggregatedList--; } -core.List buildUnnamed733() => [ +core.List buildUnnamed757() => [ buildStoragePoolType(), buildStoragePoolType(), ]; -void checkUnnamed733(core.List o) { +void checkUnnamed757(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStoragePoolType(o[0]); checkStoragePoolType(o[1]); @@ -42270,12 +43332,12 @@ void checkStoragePoolTypeListWarningData(api.StoragePoolTypeListWarningData o) { buildCounterStoragePoolTypeListWarningData--; } -core.List buildUnnamed734() => [ +core.List buildUnnamed758() => [ buildStoragePoolTypeListWarningData(), buildStoragePoolTypeListWarningData(), ]; -void checkUnnamed734(core.List o) { +void checkUnnamed758(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStoragePoolTypeListWarningData(o[0]); checkStoragePoolTypeListWarningData(o[1]); @@ -42287,7 +43349,7 @@ api.StoragePoolTypeListWarning buildStoragePoolTypeListWarning() { buildCounterStoragePoolTypeListWarning++; if (buildCounterStoragePoolTypeListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed734(); + o.data = buildUnnamed758(); o.message = 'foo'; } buildCounterStoragePoolTypeListWarning--; @@ -42301,7 +43363,7 @@ void checkStoragePoolTypeListWarning(api.StoragePoolTypeListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed734(o.data!); + checkUnnamed758(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -42316,7 +43378,7 @@ api.StoragePoolTypeList buildStoragePoolTypeList() { buildCounterStoragePoolTypeList++; if (buildCounterStoragePoolTypeList < 3) { o.id = 'foo'; - o.items = buildUnnamed733(); + o.items = buildUnnamed757(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -42333,7 +43395,7 @@ void checkStoragePoolTypeList(api.StoragePoolTypeList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed733(o.items!); + checkUnnamed757(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -42351,12 +43413,12 @@ void checkStoragePoolTypeList(api.StoragePoolTypeList o) { buildCounterStoragePoolTypeList--; } -core.List buildUnnamed735() => [ +core.List buildUnnamed759() => [ buildStoragePoolType(), buildStoragePoolType(), ]; -void checkUnnamed735(core.List o) { +void checkUnnamed759(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStoragePoolType(o[0]); checkStoragePoolType(o[1]); @@ -42391,12 +43453,12 @@ void checkStoragePoolTypesScopedListWarningData( buildCounterStoragePoolTypesScopedListWarningData--; } -core.List buildUnnamed736() => [ +core.List buildUnnamed760() => [ buildStoragePoolTypesScopedListWarningData(), buildStoragePoolTypesScopedListWarningData(), ]; -void checkUnnamed736(core.List o) { +void checkUnnamed760(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStoragePoolTypesScopedListWarningData(o[0]); checkStoragePoolTypesScopedListWarningData(o[1]); @@ -42408,7 +43470,7 @@ api.StoragePoolTypesScopedListWarning buildStoragePoolTypesScopedListWarning() { buildCounterStoragePoolTypesScopedListWarning++; if (buildCounterStoragePoolTypesScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed736(); + o.data = buildUnnamed760(); o.message = 'foo'; } buildCounterStoragePoolTypesScopedListWarning--; @@ -42423,7 +43485,7 @@ void checkStoragePoolTypesScopedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed736(o.data!); + checkUnnamed760(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -42437,7 +43499,7 @@ api.StoragePoolTypesScopedList buildStoragePoolTypesScopedList() { final o = api.StoragePoolTypesScopedList(); buildCounterStoragePoolTypesScopedList++; if (buildCounterStoragePoolTypesScopedList < 3) { - o.storagePoolTypes = buildUnnamed735(); + o.storagePoolTypes = buildUnnamed759(); o.warning = buildStoragePoolTypesScopedListWarning(); } buildCounterStoragePoolTypesScopedList--; @@ -42447,18 +43509,18 @@ api.StoragePoolTypesScopedList buildStoragePoolTypesScopedList() { void checkStoragePoolTypesScopedList(api.StoragePoolTypesScopedList o) { buildCounterStoragePoolTypesScopedList++; if (buildCounterStoragePoolTypesScopedList < 3) { - checkUnnamed735(o.storagePoolTypes!); + checkUnnamed759(o.storagePoolTypes!); checkStoragePoolTypesScopedListWarning(o.warning!); } buildCounterStoragePoolTypesScopedList--; } -core.List buildUnnamed737() => [ +core.List buildUnnamed761() => [ buildStoragePool(), buildStoragePool(), ]; -void checkUnnamed737(core.List o) { +void checkUnnamed761(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStoragePool(o[0]); checkStoragePool(o[1]); @@ -42492,12 +43554,12 @@ void checkStoragePoolsScopedListWarningData( buildCounterStoragePoolsScopedListWarningData--; } -core.List buildUnnamed738() => [ +core.List buildUnnamed762() => [ buildStoragePoolsScopedListWarningData(), buildStoragePoolsScopedListWarningData(), ]; -void checkUnnamed738(core.List o) { +void checkUnnamed762(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStoragePoolsScopedListWarningData(o[0]); checkStoragePoolsScopedListWarningData(o[1]); @@ -42509,7 +43571,7 @@ api.StoragePoolsScopedListWarning buildStoragePoolsScopedListWarning() { buildCounterStoragePoolsScopedListWarning++; if (buildCounterStoragePoolsScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed738(); + o.data = buildUnnamed762(); o.message = 'foo'; } buildCounterStoragePoolsScopedListWarning--; @@ -42523,7 +43585,7 @@ void checkStoragePoolsScopedListWarning(api.StoragePoolsScopedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed738(o.data!); + checkUnnamed762(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -42537,7 +43599,7 @@ api.StoragePoolsScopedList buildStoragePoolsScopedList() { final o = api.StoragePoolsScopedList(); buildCounterStoragePoolsScopedList++; if (buildCounterStoragePoolsScopedList < 3) { - o.storagePools = buildUnnamed737(); + o.storagePools = buildUnnamed761(); o.warning = buildStoragePoolsScopedListWarning(); } buildCounterStoragePoolsScopedList--; @@ -42547,18 +43609,18 @@ api.StoragePoolsScopedList buildStoragePoolsScopedList() { void checkStoragePoolsScopedList(api.StoragePoolsScopedList o) { buildCounterStoragePoolsScopedList++; if (buildCounterStoragePoolsScopedList < 3) { - checkUnnamed737(o.storagePools!); + checkUnnamed761(o.storagePools!); checkStoragePoolsScopedListWarning(o.warning!); } buildCounterStoragePoolsScopedList--; } -core.List buildUnnamed739() => [ +core.List buildUnnamed763() => [ buildSubnetworkSecondaryRange(), buildSubnetworkSecondaryRange(), ]; -void checkUnnamed739(core.List o) { +void checkUnnamed763(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSubnetworkSecondaryRange(o[0]); checkSubnetworkSecondaryRange(o[1]); @@ -42590,7 +43652,7 @@ api.Subnetwork buildSubnetwork() { o.region = 'foo'; o.reservedInternalRange = 'foo'; o.role = 'foo'; - o.secondaryIpRanges = buildUnnamed739(); + o.secondaryIpRanges = buildUnnamed763(); o.selfLink = 'foo'; o.stackType = 'foo'; o.state = 'foo'; @@ -42677,7 +43739,7 @@ void checkSubnetwork(api.Subnetwork o) { o.role!, unittest.equals('foo'), ); - checkUnnamed739(o.secondaryIpRanges!); + checkUnnamed763(o.secondaryIpRanges!); unittest.expect( o.selfLink!, unittest.equals('foo'), @@ -42694,23 +43756,23 @@ void checkSubnetwork(api.Subnetwork o) { buildCounterSubnetwork--; } -core.Map buildUnnamed740() => { +core.Map buildUnnamed764() => { 'x': buildSubnetworksScopedList(), 'y': buildSubnetworksScopedList(), }; -void checkUnnamed740(core.Map o) { +void checkUnnamed764(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkSubnetworksScopedList(o['x']!); checkSubnetworksScopedList(o['y']!); } -core.List buildUnnamed741() => [ +core.List buildUnnamed765() => [ 'foo', 'foo', ]; -void checkUnnamed741(core.List o) { +void checkUnnamed765(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -42751,12 +43813,12 @@ void checkSubnetworkAggregatedListWarningData( buildCounterSubnetworkAggregatedListWarningData--; } -core.List buildUnnamed742() => [ +core.List buildUnnamed766() => [ buildSubnetworkAggregatedListWarningData(), buildSubnetworkAggregatedListWarningData(), ]; -void checkUnnamed742(core.List o) { +void checkUnnamed766(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSubnetworkAggregatedListWarningData(o[0]); checkSubnetworkAggregatedListWarningData(o[1]); @@ -42768,7 +43830,7 @@ api.SubnetworkAggregatedListWarning buildSubnetworkAggregatedListWarning() { buildCounterSubnetworkAggregatedListWarning++; if (buildCounterSubnetworkAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed742(); + o.data = buildUnnamed766(); o.message = 'foo'; } buildCounterSubnetworkAggregatedListWarning--; @@ -42783,7 +43845,7 @@ void checkSubnetworkAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed742(o.data!); + checkUnnamed766(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -42798,11 +43860,11 @@ api.SubnetworkAggregatedList buildSubnetworkAggregatedList() { buildCounterSubnetworkAggregatedList++; if (buildCounterSubnetworkAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed740(); + o.items = buildUnnamed764(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed741(); + o.unreachables = buildUnnamed765(); o.warning = buildSubnetworkAggregatedListWarning(); } buildCounterSubnetworkAggregatedList--; @@ -42816,7 +43878,7 @@ void checkSubnetworkAggregatedList(api.SubnetworkAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed740(o.items!); + checkUnnamed764(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -42829,18 +43891,18 @@ void checkSubnetworkAggregatedList(api.SubnetworkAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed741(o.unreachables!); + checkUnnamed765(o.unreachables!); checkSubnetworkAggregatedListWarning(o.warning!); } buildCounterSubnetworkAggregatedList--; } -core.List buildUnnamed743() => [ +core.List buildUnnamed767() => [ buildSubnetwork(), buildSubnetwork(), ]; -void checkUnnamed743(core.List o) { +void checkUnnamed767(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSubnetwork(o[0]); checkSubnetwork(o[1]); @@ -42873,12 +43935,12 @@ void checkSubnetworkListWarningData(api.SubnetworkListWarningData o) { buildCounterSubnetworkListWarningData--; } -core.List buildUnnamed744() => [ +core.List buildUnnamed768() => [ buildSubnetworkListWarningData(), buildSubnetworkListWarningData(), ]; -void checkUnnamed744(core.List o) { +void checkUnnamed768(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSubnetworkListWarningData(o[0]); checkSubnetworkListWarningData(o[1]); @@ -42890,7 +43952,7 @@ api.SubnetworkListWarning buildSubnetworkListWarning() { buildCounterSubnetworkListWarning++; if (buildCounterSubnetworkListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed744(); + o.data = buildUnnamed768(); o.message = 'foo'; } buildCounterSubnetworkListWarning--; @@ -42904,7 +43966,7 @@ void checkSubnetworkListWarning(api.SubnetworkListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed744(o.data!); + checkUnnamed768(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -42919,7 +43981,7 @@ api.SubnetworkList buildSubnetworkList() { buildCounterSubnetworkList++; if (buildCounterSubnetworkList < 3) { o.id = 'foo'; - o.items = buildUnnamed743(); + o.items = buildUnnamed767(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -42936,7 +43998,7 @@ void checkSubnetworkList(api.SubnetworkList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed743(o.items!); + checkUnnamed767(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -42954,12 +44016,12 @@ void checkSubnetworkList(api.SubnetworkList o) { buildCounterSubnetworkList--; } -core.List buildUnnamed745() => [ +core.List buildUnnamed769() => [ 'foo', 'foo', ]; -void checkUnnamed745(core.List o) { +void checkUnnamed769(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -42981,7 +44043,7 @@ api.SubnetworkLogConfig buildSubnetworkLogConfig() { o.filterExpr = 'foo'; o.flowSampling = 42.0; o.metadata = 'foo'; - o.metadataFields = buildUnnamed745(); + o.metadataFields = buildUnnamed769(); } buildCounterSubnetworkLogConfig--; return o; @@ -43007,7 +44069,7 @@ void checkSubnetworkLogConfig(api.SubnetworkLogConfig o) { o.metadata!, unittest.equals('foo'), ); - checkUnnamed745(o.metadataFields!); + checkUnnamed769(o.metadataFields!); } buildCounterSubnetworkLogConfig--; } @@ -43068,12 +44130,12 @@ void checkSubnetworksExpandIpCidrRangeRequest( buildCounterSubnetworksExpandIpCidrRangeRequest--; } -core.List buildUnnamed746() => [ +core.List buildUnnamed770() => [ buildSubnetwork(), buildSubnetwork(), ]; -void checkUnnamed746(core.List o) { +void checkUnnamed770(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSubnetwork(o[0]); checkSubnetwork(o[1]); @@ -43107,12 +44169,12 @@ void checkSubnetworksScopedListWarningData( buildCounterSubnetworksScopedListWarningData--; } -core.List buildUnnamed747() => [ +core.List buildUnnamed771() => [ buildSubnetworksScopedListWarningData(), buildSubnetworksScopedListWarningData(), ]; -void checkUnnamed747(core.List o) { +void checkUnnamed771(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSubnetworksScopedListWarningData(o[0]); checkSubnetworksScopedListWarningData(o[1]); @@ -43124,7 +44186,7 @@ api.SubnetworksScopedListWarning buildSubnetworksScopedListWarning() { buildCounterSubnetworksScopedListWarning++; if (buildCounterSubnetworksScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed747(); + o.data = buildUnnamed771(); o.message = 'foo'; } buildCounterSubnetworksScopedListWarning--; @@ -43138,7 +44200,7 @@ void checkSubnetworksScopedListWarning(api.SubnetworksScopedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed747(o.data!); + checkUnnamed771(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -43152,7 +44214,7 @@ api.SubnetworksScopedList buildSubnetworksScopedList() { final o = api.SubnetworksScopedList(); buildCounterSubnetworksScopedList++; if (buildCounterSubnetworksScopedList < 3) { - o.subnetworks = buildUnnamed746(); + o.subnetworks = buildUnnamed770(); o.warning = buildSubnetworksScopedListWarning(); } buildCounterSubnetworksScopedList--; @@ -43162,7 +44224,7 @@ api.SubnetworksScopedList buildSubnetworksScopedList() { void checkSubnetworksScopedList(api.SubnetworksScopedList o) { buildCounterSubnetworksScopedList++; if (buildCounterSubnetworksScopedList < 3) { - checkUnnamed746(o.subnetworks!); + checkUnnamed770(o.subnetworks!); checkSubnetworksScopedListWarning(o.warning!); } buildCounterSubnetworksScopedList--; @@ -43258,12 +44320,12 @@ void checkTCPHealthCheck(api.TCPHealthCheck o) { buildCounterTCPHealthCheck--; } -core.List buildUnnamed748() => [ +core.List buildUnnamed772() => [ 'foo', 'foo', ]; -void checkUnnamed748(core.List o) { +void checkUnnamed772(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -43281,7 +44343,7 @@ api.Tags buildTags() { buildCounterTags++; if (buildCounterTags < 3) { o.fingerprint = 'foo'; - o.items = buildUnnamed748(); + o.items = buildUnnamed772(); } buildCounterTags--; return o; @@ -43294,7 +44356,7 @@ void checkTags(api.Tags o) { o.fingerprint!, unittest.equals('foo'), ); - checkUnnamed748(o.items!); + checkUnnamed772(o.items!); } buildCounterTags--; } @@ -43363,12 +44425,12 @@ void checkTargetGrpcProxy(api.TargetGrpcProxy o) { buildCounterTargetGrpcProxy--; } -core.List buildUnnamed749() => [ +core.List buildUnnamed773() => [ buildTargetGrpcProxy(), buildTargetGrpcProxy(), ]; -void checkUnnamed749(core.List o) { +void checkUnnamed773(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetGrpcProxy(o[0]); checkTargetGrpcProxy(o[1]); @@ -43401,12 +44463,12 @@ void checkTargetGrpcProxyListWarningData(api.TargetGrpcProxyListWarningData o) { buildCounterTargetGrpcProxyListWarningData--; } -core.List buildUnnamed750() => [ +core.List buildUnnamed774() => [ buildTargetGrpcProxyListWarningData(), buildTargetGrpcProxyListWarningData(), ]; -void checkUnnamed750(core.List o) { +void checkUnnamed774(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetGrpcProxyListWarningData(o[0]); checkTargetGrpcProxyListWarningData(o[1]); @@ -43418,7 +44480,7 @@ api.TargetGrpcProxyListWarning buildTargetGrpcProxyListWarning() { buildCounterTargetGrpcProxyListWarning++; if (buildCounterTargetGrpcProxyListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed750(); + o.data = buildUnnamed774(); o.message = 'foo'; } buildCounterTargetGrpcProxyListWarning--; @@ -43432,7 +44494,7 @@ void checkTargetGrpcProxyListWarning(api.TargetGrpcProxyListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed750(o.data!); + checkUnnamed774(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -43447,7 +44509,7 @@ api.TargetGrpcProxyList buildTargetGrpcProxyList() { buildCounterTargetGrpcProxyList++; if (buildCounterTargetGrpcProxyList < 3) { o.id = 'foo'; - o.items = buildUnnamed749(); + o.items = buildUnnamed773(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -43464,7 +44526,7 @@ void checkTargetGrpcProxyList(api.TargetGrpcProxyList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed749(o.items!); + checkUnnamed773(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -43482,12 +44544,12 @@ void checkTargetGrpcProxyList(api.TargetGrpcProxyList o) { buildCounterTargetGrpcProxyList--; } -core.List buildUnnamed751() => [ +core.List buildUnnamed775() => [ buildTargetHttpProxy(), buildTargetHttpProxy(), ]; -void checkUnnamed751(core.List o) { +void checkUnnamed775(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetHttpProxy(o[0]); checkTargetHttpProxy(o[1]); @@ -43522,12 +44584,12 @@ void checkTargetHttpProxiesScopedListWarningData( buildCounterTargetHttpProxiesScopedListWarningData--; } -core.List buildUnnamed752() => [ +core.List buildUnnamed776() => [ buildTargetHttpProxiesScopedListWarningData(), buildTargetHttpProxiesScopedListWarningData(), ]; -void checkUnnamed752(core.List o) { +void checkUnnamed776(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetHttpProxiesScopedListWarningData(o[0]); checkTargetHttpProxiesScopedListWarningData(o[1]); @@ -43540,7 +44602,7 @@ api.TargetHttpProxiesScopedListWarning buildCounterTargetHttpProxiesScopedListWarning++; if (buildCounterTargetHttpProxiesScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed752(); + o.data = buildUnnamed776(); o.message = 'foo'; } buildCounterTargetHttpProxiesScopedListWarning--; @@ -43555,7 +44617,7 @@ void checkTargetHttpProxiesScopedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed752(o.data!); + checkUnnamed776(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -43569,7 +44631,7 @@ api.TargetHttpProxiesScopedList buildTargetHttpProxiesScopedList() { final o = api.TargetHttpProxiesScopedList(); buildCounterTargetHttpProxiesScopedList++; if (buildCounterTargetHttpProxiesScopedList < 3) { - o.targetHttpProxies = buildUnnamed751(); + o.targetHttpProxies = buildUnnamed775(); o.warning = buildTargetHttpProxiesScopedListWarning(); } buildCounterTargetHttpProxiesScopedList--; @@ -43579,7 +44641,7 @@ api.TargetHttpProxiesScopedList buildTargetHttpProxiesScopedList() { void checkTargetHttpProxiesScopedList(api.TargetHttpProxiesScopedList o) { buildCounterTargetHttpProxiesScopedList++; if (buildCounterTargetHttpProxiesScopedList < 3) { - checkUnnamed751(o.targetHttpProxies!); + checkUnnamed775(o.targetHttpProxies!); checkTargetHttpProxiesScopedListWarning(o.warning!); } buildCounterTargetHttpProxiesScopedList--; @@ -43654,23 +44716,23 @@ void checkTargetHttpProxy(api.TargetHttpProxy o) { buildCounterTargetHttpProxy--; } -core.Map buildUnnamed753() => { +core.Map buildUnnamed777() => { 'x': buildTargetHttpProxiesScopedList(), 'y': buildTargetHttpProxiesScopedList(), }; -void checkUnnamed753(core.Map o) { +void checkUnnamed777(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkTargetHttpProxiesScopedList(o['x']!); checkTargetHttpProxiesScopedList(o['y']!); } -core.List buildUnnamed754() => [ +core.List buildUnnamed778() => [ 'foo', 'foo', ]; -void checkUnnamed754(core.List o) { +void checkUnnamed778(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -43688,11 +44750,11 @@ api.TargetHttpProxyAggregatedList buildTargetHttpProxyAggregatedList() { buildCounterTargetHttpProxyAggregatedList++; if (buildCounterTargetHttpProxyAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed753(); + o.items = buildUnnamed777(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed754(); + o.unreachables = buildUnnamed778(); } buildCounterTargetHttpProxyAggregatedList--; return o; @@ -43705,7 +44767,7 @@ void checkTargetHttpProxyAggregatedList(api.TargetHttpProxyAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed753(o.items!); + checkUnnamed777(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -43718,17 +44780,17 @@ void checkTargetHttpProxyAggregatedList(api.TargetHttpProxyAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed754(o.unreachables!); + checkUnnamed778(o.unreachables!); } buildCounterTargetHttpProxyAggregatedList--; } -core.List buildUnnamed755() => [ +core.List buildUnnamed779() => [ buildTargetHttpProxy(), buildTargetHttpProxy(), ]; -void checkUnnamed755(core.List o) { +void checkUnnamed779(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetHttpProxy(o[0]); checkTargetHttpProxy(o[1]); @@ -43761,12 +44823,12 @@ void checkTargetHttpProxyListWarningData(api.TargetHttpProxyListWarningData o) { buildCounterTargetHttpProxyListWarningData--; } -core.List buildUnnamed756() => [ +core.List buildUnnamed780() => [ buildTargetHttpProxyListWarningData(), buildTargetHttpProxyListWarningData(), ]; -void checkUnnamed756(core.List o) { +void checkUnnamed780(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetHttpProxyListWarningData(o[0]); checkTargetHttpProxyListWarningData(o[1]); @@ -43778,7 +44840,7 @@ api.TargetHttpProxyListWarning buildTargetHttpProxyListWarning() { buildCounterTargetHttpProxyListWarning++; if (buildCounterTargetHttpProxyListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed756(); + o.data = buildUnnamed780(); o.message = 'foo'; } buildCounterTargetHttpProxyListWarning--; @@ -43792,7 +44854,7 @@ void checkTargetHttpProxyListWarning(api.TargetHttpProxyListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed756(o.data!); + checkUnnamed780(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -43807,7 +44869,7 @@ api.TargetHttpProxyList buildTargetHttpProxyList() { buildCounterTargetHttpProxyList++; if (buildCounterTargetHttpProxyList < 3) { o.id = 'foo'; - o.items = buildUnnamed755(); + o.items = buildUnnamed779(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -43824,7 +44886,7 @@ void checkTargetHttpProxyList(api.TargetHttpProxyList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed755(o.items!); + checkUnnamed779(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -43842,12 +44904,12 @@ void checkTargetHttpProxyList(api.TargetHttpProxyList o) { buildCounterTargetHttpProxyList--; } -core.List buildUnnamed757() => [ +core.List buildUnnamed781() => [ buildTargetHttpsProxy(), buildTargetHttpsProxy(), ]; -void checkUnnamed757(core.List o) { +void checkUnnamed781(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetHttpsProxy(o[0]); checkTargetHttpsProxy(o[1]); @@ -43882,12 +44944,12 @@ void checkTargetHttpsProxiesScopedListWarningData( buildCounterTargetHttpsProxiesScopedListWarningData--; } -core.List buildUnnamed758() => [ +core.List buildUnnamed782() => [ buildTargetHttpsProxiesScopedListWarningData(), buildTargetHttpsProxiesScopedListWarningData(), ]; -void checkUnnamed758(core.List o) { +void checkUnnamed782(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetHttpsProxiesScopedListWarningData(o[0]); checkTargetHttpsProxiesScopedListWarningData(o[1]); @@ -43900,7 +44962,7 @@ api.TargetHttpsProxiesScopedListWarning buildCounterTargetHttpsProxiesScopedListWarning++; if (buildCounterTargetHttpsProxiesScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed758(); + o.data = buildUnnamed782(); o.message = 'foo'; } buildCounterTargetHttpsProxiesScopedListWarning--; @@ -43915,7 +44977,7 @@ void checkTargetHttpsProxiesScopedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed758(o.data!); + checkUnnamed782(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -43929,7 +44991,7 @@ api.TargetHttpsProxiesScopedList buildTargetHttpsProxiesScopedList() { final o = api.TargetHttpsProxiesScopedList(); buildCounterTargetHttpsProxiesScopedList++; if (buildCounterTargetHttpsProxiesScopedList < 3) { - o.targetHttpsProxies = buildUnnamed757(); + o.targetHttpsProxies = buildUnnamed781(); o.warning = buildTargetHttpsProxiesScopedListWarning(); } buildCounterTargetHttpsProxiesScopedList--; @@ -43939,7 +45001,7 @@ api.TargetHttpsProxiesScopedList buildTargetHttpsProxiesScopedList() { void checkTargetHttpsProxiesScopedList(api.TargetHttpsProxiesScopedList o) { buildCounterTargetHttpsProxiesScopedList++; if (buildCounterTargetHttpsProxiesScopedList < 3) { - checkUnnamed757(o.targetHttpsProxies!); + checkUnnamed781(o.targetHttpsProxies!); checkTargetHttpsProxiesScopedListWarning(o.warning!); } buildCounterTargetHttpsProxiesScopedList--; @@ -43993,12 +45055,12 @@ void checkTargetHttpsProxiesSetQuicOverrideRequest( buildCounterTargetHttpsProxiesSetQuicOverrideRequest--; } -core.List buildUnnamed759() => [ +core.List buildUnnamed783() => [ 'foo', 'foo', ]; -void checkUnnamed759(core.List o) { +void checkUnnamed783(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -44016,7 +45078,7 @@ api.TargetHttpsProxiesSetSslCertificatesRequest final o = api.TargetHttpsProxiesSetSslCertificatesRequest(); buildCounterTargetHttpsProxiesSetSslCertificatesRequest++; if (buildCounterTargetHttpsProxiesSetSslCertificatesRequest < 3) { - o.sslCertificates = buildUnnamed759(); + o.sslCertificates = buildUnnamed783(); } buildCounterTargetHttpsProxiesSetSslCertificatesRequest--; return o; @@ -44026,17 +45088,17 @@ void checkTargetHttpsProxiesSetSslCertificatesRequest( api.TargetHttpsProxiesSetSslCertificatesRequest o) { buildCounterTargetHttpsProxiesSetSslCertificatesRequest++; if (buildCounterTargetHttpsProxiesSetSslCertificatesRequest < 3) { - checkUnnamed759(o.sslCertificates!); + checkUnnamed783(o.sslCertificates!); } buildCounterTargetHttpsProxiesSetSslCertificatesRequest--; } -core.List buildUnnamed760() => [ +core.List buildUnnamed784() => [ 'foo', 'foo', ]; -void checkUnnamed760(core.List o) { +void checkUnnamed784(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -44067,7 +45129,7 @@ api.TargetHttpsProxy buildTargetHttpsProxy() { o.region = 'foo'; o.selfLink = 'foo'; o.serverTlsPolicy = 'foo'; - o.sslCertificates = buildUnnamed760(); + o.sslCertificates = buildUnnamed784(); o.sslPolicy = 'foo'; o.tlsEarlyData = 'foo'; o.urlMap = 'foo'; @@ -44132,7 +45194,7 @@ void checkTargetHttpsProxy(api.TargetHttpsProxy o) { o.serverTlsPolicy!, unittest.equals('foo'), ); - checkUnnamed760(o.sslCertificates!); + checkUnnamed784(o.sslCertificates!); unittest.expect( o.sslPolicy!, unittest.equals('foo'), @@ -44149,24 +45211,24 @@ void checkTargetHttpsProxy(api.TargetHttpsProxy o) { buildCounterTargetHttpsProxy--; } -core.Map buildUnnamed761() => { +core.Map buildUnnamed785() => { 'x': buildTargetHttpsProxiesScopedList(), 'y': buildTargetHttpsProxiesScopedList(), }; -void checkUnnamed761( +void checkUnnamed785( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkTargetHttpsProxiesScopedList(o['x']!); checkTargetHttpsProxiesScopedList(o['y']!); } -core.List buildUnnamed762() => [ +core.List buildUnnamed786() => [ 'foo', 'foo', ]; -void checkUnnamed762(core.List o) { +void checkUnnamed786(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -44207,12 +45269,12 @@ void checkTargetHttpsProxyAggregatedListWarningData( buildCounterTargetHttpsProxyAggregatedListWarningData--; } -core.List buildUnnamed763() => [ +core.List buildUnnamed787() => [ buildTargetHttpsProxyAggregatedListWarningData(), buildTargetHttpsProxyAggregatedListWarningData(), ]; -void checkUnnamed763( +void checkUnnamed787( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetHttpsProxyAggregatedListWarningData(o[0]); @@ -44226,7 +45288,7 @@ api.TargetHttpsProxyAggregatedListWarning buildCounterTargetHttpsProxyAggregatedListWarning++; if (buildCounterTargetHttpsProxyAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed763(); + o.data = buildUnnamed787(); o.message = 'foo'; } buildCounterTargetHttpsProxyAggregatedListWarning--; @@ -44241,7 +45303,7 @@ void checkTargetHttpsProxyAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed763(o.data!); + checkUnnamed787(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -44256,11 +45318,11 @@ api.TargetHttpsProxyAggregatedList buildTargetHttpsProxyAggregatedList() { buildCounterTargetHttpsProxyAggregatedList++; if (buildCounterTargetHttpsProxyAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed761(); + o.items = buildUnnamed785(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed762(); + o.unreachables = buildUnnamed786(); o.warning = buildTargetHttpsProxyAggregatedListWarning(); } buildCounterTargetHttpsProxyAggregatedList--; @@ -44274,7 +45336,7 @@ void checkTargetHttpsProxyAggregatedList(api.TargetHttpsProxyAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed761(o.items!); + checkUnnamed785(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -44287,18 +45349,18 @@ void checkTargetHttpsProxyAggregatedList(api.TargetHttpsProxyAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed762(o.unreachables!); + checkUnnamed786(o.unreachables!); checkTargetHttpsProxyAggregatedListWarning(o.warning!); } buildCounterTargetHttpsProxyAggregatedList--; } -core.List buildUnnamed764() => [ +core.List buildUnnamed788() => [ buildTargetHttpsProxy(), buildTargetHttpsProxy(), ]; -void checkUnnamed764(core.List o) { +void checkUnnamed788(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetHttpsProxy(o[0]); checkTargetHttpsProxy(o[1]); @@ -44332,12 +45394,12 @@ void checkTargetHttpsProxyListWarningData( buildCounterTargetHttpsProxyListWarningData--; } -core.List buildUnnamed765() => [ +core.List buildUnnamed789() => [ buildTargetHttpsProxyListWarningData(), buildTargetHttpsProxyListWarningData(), ]; -void checkUnnamed765(core.List o) { +void checkUnnamed789(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetHttpsProxyListWarningData(o[0]); checkTargetHttpsProxyListWarningData(o[1]); @@ -44349,7 +45411,7 @@ api.TargetHttpsProxyListWarning buildTargetHttpsProxyListWarning() { buildCounterTargetHttpsProxyListWarning++; if (buildCounterTargetHttpsProxyListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed765(); + o.data = buildUnnamed789(); o.message = 'foo'; } buildCounterTargetHttpsProxyListWarning--; @@ -44363,7 +45425,7 @@ void checkTargetHttpsProxyListWarning(api.TargetHttpsProxyListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed765(o.data!); + checkUnnamed789(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -44378,7 +45440,7 @@ api.TargetHttpsProxyList buildTargetHttpsProxyList() { buildCounterTargetHttpsProxyList++; if (buildCounterTargetHttpsProxyList < 3) { o.id = 'foo'; - o.items = buildUnnamed764(); + o.items = buildUnnamed788(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -44395,7 +45457,7 @@ void checkTargetHttpsProxyList(api.TargetHttpsProxyList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed764(o.items!); + checkUnnamed788(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -44485,23 +45547,23 @@ void checkTargetInstance(api.TargetInstance o) { buildCounterTargetInstance--; } -core.Map buildUnnamed766() => { +core.Map buildUnnamed790() => { 'x': buildTargetInstancesScopedList(), 'y': buildTargetInstancesScopedList(), }; -void checkUnnamed766(core.Map o) { +void checkUnnamed790(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkTargetInstancesScopedList(o['x']!); checkTargetInstancesScopedList(o['y']!); } -core.List buildUnnamed767() => [ +core.List buildUnnamed791() => [ 'foo', 'foo', ]; -void checkUnnamed767(core.List o) { +void checkUnnamed791(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -44542,12 +45604,12 @@ void checkTargetInstanceAggregatedListWarningData( buildCounterTargetInstanceAggregatedListWarningData--; } -core.List buildUnnamed768() => [ +core.List buildUnnamed792() => [ buildTargetInstanceAggregatedListWarningData(), buildTargetInstanceAggregatedListWarningData(), ]; -void checkUnnamed768(core.List o) { +void checkUnnamed792(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetInstanceAggregatedListWarningData(o[0]); checkTargetInstanceAggregatedListWarningData(o[1]); @@ -44560,7 +45622,7 @@ api.TargetInstanceAggregatedListWarning buildCounterTargetInstanceAggregatedListWarning++; if (buildCounterTargetInstanceAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed768(); + o.data = buildUnnamed792(); o.message = 'foo'; } buildCounterTargetInstanceAggregatedListWarning--; @@ -44575,7 +45637,7 @@ void checkTargetInstanceAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed768(o.data!); + checkUnnamed792(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -44590,11 +45652,11 @@ api.TargetInstanceAggregatedList buildTargetInstanceAggregatedList() { buildCounterTargetInstanceAggregatedList++; if (buildCounterTargetInstanceAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed766(); + o.items = buildUnnamed790(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed767(); + o.unreachables = buildUnnamed791(); o.warning = buildTargetInstanceAggregatedListWarning(); } buildCounterTargetInstanceAggregatedList--; @@ -44608,7 +45670,7 @@ void checkTargetInstanceAggregatedList(api.TargetInstanceAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed766(o.items!); + checkUnnamed790(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -44621,18 +45683,18 @@ void checkTargetInstanceAggregatedList(api.TargetInstanceAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed767(o.unreachables!); + checkUnnamed791(o.unreachables!); checkTargetInstanceAggregatedListWarning(o.warning!); } buildCounterTargetInstanceAggregatedList--; } -core.List buildUnnamed769() => [ +core.List buildUnnamed793() => [ buildTargetInstance(), buildTargetInstance(), ]; -void checkUnnamed769(core.List o) { +void checkUnnamed793(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetInstance(o[0]); checkTargetInstance(o[1]); @@ -44665,12 +45727,12 @@ void checkTargetInstanceListWarningData(api.TargetInstanceListWarningData o) { buildCounterTargetInstanceListWarningData--; } -core.List buildUnnamed770() => [ +core.List buildUnnamed794() => [ buildTargetInstanceListWarningData(), buildTargetInstanceListWarningData(), ]; -void checkUnnamed770(core.List o) { +void checkUnnamed794(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetInstanceListWarningData(o[0]); checkTargetInstanceListWarningData(o[1]); @@ -44682,7 +45744,7 @@ api.TargetInstanceListWarning buildTargetInstanceListWarning() { buildCounterTargetInstanceListWarning++; if (buildCounterTargetInstanceListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed770(); + o.data = buildUnnamed794(); o.message = 'foo'; } buildCounterTargetInstanceListWarning--; @@ -44696,7 +45758,7 @@ void checkTargetInstanceListWarning(api.TargetInstanceListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed770(o.data!); + checkUnnamed794(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -44711,7 +45773,7 @@ api.TargetInstanceList buildTargetInstanceList() { buildCounterTargetInstanceList++; if (buildCounterTargetInstanceList < 3) { o.id = 'foo'; - o.items = buildUnnamed769(); + o.items = buildUnnamed793(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -44728,7 +45790,7 @@ void checkTargetInstanceList(api.TargetInstanceList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed769(o.items!); + checkUnnamed793(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -44746,12 +45808,12 @@ void checkTargetInstanceList(api.TargetInstanceList o) { buildCounterTargetInstanceList--; } -core.List buildUnnamed771() => [ +core.List buildUnnamed795() => [ buildTargetInstance(), buildTargetInstance(), ]; -void checkUnnamed771(core.List o) { +void checkUnnamed795(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetInstance(o[0]); checkTargetInstance(o[1]); @@ -44786,12 +45848,12 @@ void checkTargetInstancesScopedListWarningData( buildCounterTargetInstancesScopedListWarningData--; } -core.List buildUnnamed772() => [ +core.List buildUnnamed796() => [ buildTargetInstancesScopedListWarningData(), buildTargetInstancesScopedListWarningData(), ]; -void checkUnnamed772(core.List o) { +void checkUnnamed796(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetInstancesScopedListWarningData(o[0]); checkTargetInstancesScopedListWarningData(o[1]); @@ -44803,7 +45865,7 @@ api.TargetInstancesScopedListWarning buildTargetInstancesScopedListWarning() { buildCounterTargetInstancesScopedListWarning++; if (buildCounterTargetInstancesScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed772(); + o.data = buildUnnamed796(); o.message = 'foo'; } buildCounterTargetInstancesScopedListWarning--; @@ -44818,7 +45880,7 @@ void checkTargetInstancesScopedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed772(o.data!); + checkUnnamed796(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -44832,7 +45894,7 @@ api.TargetInstancesScopedList buildTargetInstancesScopedList() { final o = api.TargetInstancesScopedList(); buildCounterTargetInstancesScopedList++; if (buildCounterTargetInstancesScopedList < 3) { - o.targetInstances = buildUnnamed771(); + o.targetInstances = buildUnnamed795(); o.warning = buildTargetInstancesScopedListWarning(); } buildCounterTargetInstancesScopedList--; @@ -44842,18 +45904,18 @@ api.TargetInstancesScopedList buildTargetInstancesScopedList() { void checkTargetInstancesScopedList(api.TargetInstancesScopedList o) { buildCounterTargetInstancesScopedList++; if (buildCounterTargetInstancesScopedList < 3) { - checkUnnamed771(o.targetInstances!); + checkUnnamed795(o.targetInstances!); checkTargetInstancesScopedListWarning(o.warning!); } buildCounterTargetInstancesScopedList--; } -core.List buildUnnamed773() => [ +core.List buildUnnamed797() => [ 'foo', 'foo', ]; -void checkUnnamed773(core.List o) { +void checkUnnamed797(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -44865,12 +45927,12 @@ void checkUnnamed773(core.List o) { ); } -core.List buildUnnamed774() => [ +core.List buildUnnamed798() => [ 'foo', 'foo', ]; -void checkUnnamed774(core.List o) { +void checkUnnamed798(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -44891,9 +45953,9 @@ api.TargetPool buildTargetPool() { o.creationTimestamp = 'foo'; o.description = 'foo'; o.failoverRatio = 42.0; - o.healthChecks = buildUnnamed773(); + o.healthChecks = buildUnnamed797(); o.id = 'foo'; - o.instances = buildUnnamed774(); + o.instances = buildUnnamed798(); o.kind = 'foo'; o.name = 'foo'; o.region = 'foo'; @@ -44924,12 +45986,12 @@ void checkTargetPool(api.TargetPool o) { o.failoverRatio!, unittest.equals(42.0), ); - checkUnnamed773(o.healthChecks!); + checkUnnamed797(o.healthChecks!); unittest.expect( o.id!, unittest.equals('foo'), ); - checkUnnamed774(o.instances!); + checkUnnamed798(o.instances!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -44958,23 +46020,23 @@ void checkTargetPool(api.TargetPool o) { buildCounterTargetPool--; } -core.Map buildUnnamed775() => { +core.Map buildUnnamed799() => { 'x': buildTargetPoolsScopedList(), 'y': buildTargetPoolsScopedList(), }; -void checkUnnamed775(core.Map o) { +void checkUnnamed799(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkTargetPoolsScopedList(o['x']!); checkTargetPoolsScopedList(o['y']!); } -core.List buildUnnamed776() => [ +core.List buildUnnamed800() => [ 'foo', 'foo', ]; -void checkUnnamed776(core.List o) { +void checkUnnamed800(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -45015,12 +46077,12 @@ void checkTargetPoolAggregatedListWarningData( buildCounterTargetPoolAggregatedListWarningData--; } -core.List buildUnnamed777() => [ +core.List buildUnnamed801() => [ buildTargetPoolAggregatedListWarningData(), buildTargetPoolAggregatedListWarningData(), ]; -void checkUnnamed777(core.List o) { +void checkUnnamed801(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetPoolAggregatedListWarningData(o[0]); checkTargetPoolAggregatedListWarningData(o[1]); @@ -45032,7 +46094,7 @@ api.TargetPoolAggregatedListWarning buildTargetPoolAggregatedListWarning() { buildCounterTargetPoolAggregatedListWarning++; if (buildCounterTargetPoolAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed777(); + o.data = buildUnnamed801(); o.message = 'foo'; } buildCounterTargetPoolAggregatedListWarning--; @@ -45047,7 +46109,7 @@ void checkTargetPoolAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed777(o.data!); + checkUnnamed801(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -45062,11 +46124,11 @@ api.TargetPoolAggregatedList buildTargetPoolAggregatedList() { buildCounterTargetPoolAggregatedList++; if (buildCounterTargetPoolAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed775(); + o.items = buildUnnamed799(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed776(); + o.unreachables = buildUnnamed800(); o.warning = buildTargetPoolAggregatedListWarning(); } buildCounterTargetPoolAggregatedList--; @@ -45080,7 +46142,7 @@ void checkTargetPoolAggregatedList(api.TargetPoolAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed775(o.items!); + checkUnnamed799(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -45093,18 +46155,18 @@ void checkTargetPoolAggregatedList(api.TargetPoolAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed776(o.unreachables!); + checkUnnamed800(o.unreachables!); checkTargetPoolAggregatedListWarning(o.warning!); } buildCounterTargetPoolAggregatedList--; } -core.List buildUnnamed778() => [ +core.List buildUnnamed802() => [ buildHealthStatus(), buildHealthStatus(), ]; -void checkUnnamed778(core.List o) { +void checkUnnamed802(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHealthStatus(o[0]); checkHealthStatus(o[1]); @@ -45115,7 +46177,7 @@ api.TargetPoolInstanceHealth buildTargetPoolInstanceHealth() { final o = api.TargetPoolInstanceHealth(); buildCounterTargetPoolInstanceHealth++; if (buildCounterTargetPoolInstanceHealth < 3) { - o.healthStatus = buildUnnamed778(); + o.healthStatus = buildUnnamed802(); o.kind = 'foo'; } buildCounterTargetPoolInstanceHealth--; @@ -45125,7 +46187,7 @@ api.TargetPoolInstanceHealth buildTargetPoolInstanceHealth() { void checkTargetPoolInstanceHealth(api.TargetPoolInstanceHealth o) { buildCounterTargetPoolInstanceHealth++; if (buildCounterTargetPoolInstanceHealth < 3) { - checkUnnamed778(o.healthStatus!); + checkUnnamed802(o.healthStatus!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -45134,12 +46196,12 @@ void checkTargetPoolInstanceHealth(api.TargetPoolInstanceHealth o) { buildCounterTargetPoolInstanceHealth--; } -core.List buildUnnamed779() => [ +core.List buildUnnamed803() => [ buildTargetPool(), buildTargetPool(), ]; -void checkUnnamed779(core.List o) { +void checkUnnamed803(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetPool(o[0]); checkTargetPool(o[1]); @@ -45172,12 +46234,12 @@ void checkTargetPoolListWarningData(api.TargetPoolListWarningData o) { buildCounterTargetPoolListWarningData--; } -core.List buildUnnamed780() => [ +core.List buildUnnamed804() => [ buildTargetPoolListWarningData(), buildTargetPoolListWarningData(), ]; -void checkUnnamed780(core.List o) { +void checkUnnamed804(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetPoolListWarningData(o[0]); checkTargetPoolListWarningData(o[1]); @@ -45189,7 +46251,7 @@ api.TargetPoolListWarning buildTargetPoolListWarning() { buildCounterTargetPoolListWarning++; if (buildCounterTargetPoolListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed780(); + o.data = buildUnnamed804(); o.message = 'foo'; } buildCounterTargetPoolListWarning--; @@ -45203,7 +46265,7 @@ void checkTargetPoolListWarning(api.TargetPoolListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed780(o.data!); + checkUnnamed804(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -45218,7 +46280,7 @@ api.TargetPoolList buildTargetPoolList() { buildCounterTargetPoolList++; if (buildCounterTargetPoolList < 3) { o.id = 'foo'; - o.items = buildUnnamed779(); + o.items = buildUnnamed803(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -45235,7 +46297,7 @@ void checkTargetPoolList(api.TargetPoolList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed779(o.items!); + checkUnnamed803(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -45253,12 +46315,12 @@ void checkTargetPoolList(api.TargetPoolList o) { buildCounterTargetPoolList--; } -core.List buildUnnamed781() => [ +core.List buildUnnamed805() => [ buildHealthCheckReference(), buildHealthCheckReference(), ]; -void checkUnnamed781(core.List o) { +void checkUnnamed805(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHealthCheckReference(o[0]); checkHealthCheckReference(o[1]); @@ -45269,7 +46331,7 @@ api.TargetPoolsAddHealthCheckRequest buildTargetPoolsAddHealthCheckRequest() { final o = api.TargetPoolsAddHealthCheckRequest(); buildCounterTargetPoolsAddHealthCheckRequest++; if (buildCounterTargetPoolsAddHealthCheckRequest < 3) { - o.healthChecks = buildUnnamed781(); + o.healthChecks = buildUnnamed805(); } buildCounterTargetPoolsAddHealthCheckRequest--; return o; @@ -45279,17 +46341,17 @@ void checkTargetPoolsAddHealthCheckRequest( api.TargetPoolsAddHealthCheckRequest o) { buildCounterTargetPoolsAddHealthCheckRequest++; if (buildCounterTargetPoolsAddHealthCheckRequest < 3) { - checkUnnamed781(o.healthChecks!); + checkUnnamed805(o.healthChecks!); } buildCounterTargetPoolsAddHealthCheckRequest--; } -core.List buildUnnamed782() => [ +core.List buildUnnamed806() => [ buildInstanceReference(), buildInstanceReference(), ]; -void checkUnnamed782(core.List o) { +void checkUnnamed806(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceReference(o[0]); checkInstanceReference(o[1]); @@ -45300,7 +46362,7 @@ api.TargetPoolsAddInstanceRequest buildTargetPoolsAddInstanceRequest() { final o = api.TargetPoolsAddInstanceRequest(); buildCounterTargetPoolsAddInstanceRequest++; if (buildCounterTargetPoolsAddInstanceRequest < 3) { - o.instances = buildUnnamed782(); + o.instances = buildUnnamed806(); } buildCounterTargetPoolsAddInstanceRequest--; return o; @@ -45309,17 +46371,17 @@ api.TargetPoolsAddInstanceRequest buildTargetPoolsAddInstanceRequest() { void checkTargetPoolsAddInstanceRequest(api.TargetPoolsAddInstanceRequest o) { buildCounterTargetPoolsAddInstanceRequest++; if (buildCounterTargetPoolsAddInstanceRequest < 3) { - checkUnnamed782(o.instances!); + checkUnnamed806(o.instances!); } buildCounterTargetPoolsAddInstanceRequest--; } -core.List buildUnnamed783() => [ +core.List buildUnnamed807() => [ buildHealthCheckReference(), buildHealthCheckReference(), ]; -void checkUnnamed783(core.List o) { +void checkUnnamed807(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHealthCheckReference(o[0]); checkHealthCheckReference(o[1]); @@ -45331,7 +46393,7 @@ api.TargetPoolsRemoveHealthCheckRequest final o = api.TargetPoolsRemoveHealthCheckRequest(); buildCounterTargetPoolsRemoveHealthCheckRequest++; if (buildCounterTargetPoolsRemoveHealthCheckRequest < 3) { - o.healthChecks = buildUnnamed783(); + o.healthChecks = buildUnnamed807(); } buildCounterTargetPoolsRemoveHealthCheckRequest--; return o; @@ -45341,17 +46403,17 @@ void checkTargetPoolsRemoveHealthCheckRequest( api.TargetPoolsRemoveHealthCheckRequest o) { buildCounterTargetPoolsRemoveHealthCheckRequest++; if (buildCounterTargetPoolsRemoveHealthCheckRequest < 3) { - checkUnnamed783(o.healthChecks!); + checkUnnamed807(o.healthChecks!); } buildCounterTargetPoolsRemoveHealthCheckRequest--; } -core.List buildUnnamed784() => [ +core.List buildUnnamed808() => [ buildInstanceReference(), buildInstanceReference(), ]; -void checkUnnamed784(core.List o) { +void checkUnnamed808(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceReference(o[0]); checkInstanceReference(o[1]); @@ -45362,7 +46424,7 @@ api.TargetPoolsRemoveInstanceRequest buildTargetPoolsRemoveInstanceRequest() { final o = api.TargetPoolsRemoveInstanceRequest(); buildCounterTargetPoolsRemoveInstanceRequest++; if (buildCounterTargetPoolsRemoveInstanceRequest < 3) { - o.instances = buildUnnamed784(); + o.instances = buildUnnamed808(); } buildCounterTargetPoolsRemoveInstanceRequest--; return o; @@ -45372,17 +46434,17 @@ void checkTargetPoolsRemoveInstanceRequest( api.TargetPoolsRemoveInstanceRequest o) { buildCounterTargetPoolsRemoveInstanceRequest++; if (buildCounterTargetPoolsRemoveInstanceRequest < 3) { - checkUnnamed784(o.instances!); + checkUnnamed808(o.instances!); } buildCounterTargetPoolsRemoveInstanceRequest--; } -core.List buildUnnamed785() => [ +core.List buildUnnamed809() => [ buildTargetPool(), buildTargetPool(), ]; -void checkUnnamed785(core.List o) { +void checkUnnamed809(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetPool(o[0]); checkTargetPool(o[1]); @@ -45416,12 +46478,12 @@ void checkTargetPoolsScopedListWarningData( buildCounterTargetPoolsScopedListWarningData--; } -core.List buildUnnamed786() => [ +core.List buildUnnamed810() => [ buildTargetPoolsScopedListWarningData(), buildTargetPoolsScopedListWarningData(), ]; -void checkUnnamed786(core.List o) { +void checkUnnamed810(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetPoolsScopedListWarningData(o[0]); checkTargetPoolsScopedListWarningData(o[1]); @@ -45433,7 +46495,7 @@ api.TargetPoolsScopedListWarning buildTargetPoolsScopedListWarning() { buildCounterTargetPoolsScopedListWarning++; if (buildCounterTargetPoolsScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed786(); + o.data = buildUnnamed810(); o.message = 'foo'; } buildCounterTargetPoolsScopedListWarning--; @@ -45447,7 +46509,7 @@ void checkTargetPoolsScopedListWarning(api.TargetPoolsScopedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed786(o.data!); + checkUnnamed810(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -45461,7 +46523,7 @@ api.TargetPoolsScopedList buildTargetPoolsScopedList() { final o = api.TargetPoolsScopedList(); buildCounterTargetPoolsScopedList++; if (buildCounterTargetPoolsScopedList < 3) { - o.targetPools = buildUnnamed785(); + o.targetPools = buildUnnamed809(); o.warning = buildTargetPoolsScopedListWarning(); } buildCounterTargetPoolsScopedList--; @@ -45471,7 +46533,7 @@ api.TargetPoolsScopedList buildTargetPoolsScopedList() { void checkTargetPoolsScopedList(api.TargetPoolsScopedList o) { buildCounterTargetPoolsScopedList++; if (buildCounterTargetPoolsScopedList < 3) { - checkUnnamed785(o.targetPools!); + checkUnnamed809(o.targetPools!); checkTargetPoolsScopedListWarning(o.warning!); } buildCounterTargetPoolsScopedList--; @@ -45571,12 +46633,12 @@ void checkTargetSslProxiesSetProxyHeaderRequest( buildCounterTargetSslProxiesSetProxyHeaderRequest--; } -core.List buildUnnamed787() => [ +core.List buildUnnamed811() => [ 'foo', 'foo', ]; -void checkUnnamed787(core.List o) { +void checkUnnamed811(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -45594,7 +46656,7 @@ api.TargetSslProxiesSetSslCertificatesRequest final o = api.TargetSslProxiesSetSslCertificatesRequest(); buildCounterTargetSslProxiesSetSslCertificatesRequest++; if (buildCounterTargetSslProxiesSetSslCertificatesRequest < 3) { - o.sslCertificates = buildUnnamed787(); + o.sslCertificates = buildUnnamed811(); } buildCounterTargetSslProxiesSetSslCertificatesRequest--; return o; @@ -45604,17 +46666,17 @@ void checkTargetSslProxiesSetSslCertificatesRequest( api.TargetSslProxiesSetSslCertificatesRequest o) { buildCounterTargetSslProxiesSetSslCertificatesRequest++; if (buildCounterTargetSslProxiesSetSslCertificatesRequest < 3) { - checkUnnamed787(o.sslCertificates!); + checkUnnamed811(o.sslCertificates!); } buildCounterTargetSslProxiesSetSslCertificatesRequest--; } -core.List buildUnnamed788() => [ +core.List buildUnnamed812() => [ 'foo', 'foo', ]; -void checkUnnamed788(core.List o) { +void checkUnnamed812(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -45640,7 +46702,7 @@ api.TargetSslProxy buildTargetSslProxy() { o.proxyHeader = 'foo'; o.selfLink = 'foo'; o.service = 'foo'; - o.sslCertificates = buildUnnamed788(); + o.sslCertificates = buildUnnamed812(); o.sslPolicy = 'foo'; } buildCounterTargetSslProxy--; @@ -45686,7 +46748,7 @@ void checkTargetSslProxy(api.TargetSslProxy o) { o.service!, unittest.equals('foo'), ); - checkUnnamed788(o.sslCertificates!); + checkUnnamed812(o.sslCertificates!); unittest.expect( o.sslPolicy!, unittest.equals('foo'), @@ -45695,12 +46757,12 @@ void checkTargetSslProxy(api.TargetSslProxy o) { buildCounterTargetSslProxy--; } -core.List buildUnnamed789() => [ +core.List buildUnnamed813() => [ buildTargetSslProxy(), buildTargetSslProxy(), ]; -void checkUnnamed789(core.List o) { +void checkUnnamed813(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetSslProxy(o[0]); checkTargetSslProxy(o[1]); @@ -45733,12 +46795,12 @@ void checkTargetSslProxyListWarningData(api.TargetSslProxyListWarningData o) { buildCounterTargetSslProxyListWarningData--; } -core.List buildUnnamed790() => [ +core.List buildUnnamed814() => [ buildTargetSslProxyListWarningData(), buildTargetSslProxyListWarningData(), ]; -void checkUnnamed790(core.List o) { +void checkUnnamed814(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetSslProxyListWarningData(o[0]); checkTargetSslProxyListWarningData(o[1]); @@ -45750,7 +46812,7 @@ api.TargetSslProxyListWarning buildTargetSslProxyListWarning() { buildCounterTargetSslProxyListWarning++; if (buildCounterTargetSslProxyListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed790(); + o.data = buildUnnamed814(); o.message = 'foo'; } buildCounterTargetSslProxyListWarning--; @@ -45764,7 +46826,7 @@ void checkTargetSslProxyListWarning(api.TargetSslProxyListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed790(o.data!); + checkUnnamed814(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -45779,7 +46841,7 @@ api.TargetSslProxyList buildTargetSslProxyList() { buildCounterTargetSslProxyList++; if (buildCounterTargetSslProxyList < 3) { o.id = 'foo'; - o.items = buildUnnamed789(); + o.items = buildUnnamed813(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -45796,7 +46858,7 @@ void checkTargetSslProxyList(api.TargetSslProxyList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed789(o.items!); + checkUnnamed813(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -45814,12 +46876,12 @@ void checkTargetSslProxyList(api.TargetSslProxyList o) { buildCounterTargetSslProxyList--; } -core.List buildUnnamed791() => [ +core.List buildUnnamed815() => [ buildTargetTcpProxy(), buildTargetTcpProxy(), ]; -void checkUnnamed791(core.List o) { +void checkUnnamed815(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetTcpProxy(o[0]); checkTargetTcpProxy(o[1]); @@ -45854,12 +46916,12 @@ void checkTargetTcpProxiesScopedListWarningData( buildCounterTargetTcpProxiesScopedListWarningData--; } -core.List buildUnnamed792() => [ +core.List buildUnnamed816() => [ buildTargetTcpProxiesScopedListWarningData(), buildTargetTcpProxiesScopedListWarningData(), ]; -void checkUnnamed792(core.List o) { +void checkUnnamed816(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetTcpProxiesScopedListWarningData(o[0]); checkTargetTcpProxiesScopedListWarningData(o[1]); @@ -45871,7 +46933,7 @@ api.TargetTcpProxiesScopedListWarning buildTargetTcpProxiesScopedListWarning() { buildCounterTargetTcpProxiesScopedListWarning++; if (buildCounterTargetTcpProxiesScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed792(); + o.data = buildUnnamed816(); o.message = 'foo'; } buildCounterTargetTcpProxiesScopedListWarning--; @@ -45886,7 +46948,7 @@ void checkTargetTcpProxiesScopedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed792(o.data!); + checkUnnamed816(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -45900,7 +46962,7 @@ api.TargetTcpProxiesScopedList buildTargetTcpProxiesScopedList() { final o = api.TargetTcpProxiesScopedList(); buildCounterTargetTcpProxiesScopedList++; if (buildCounterTargetTcpProxiesScopedList < 3) { - o.targetTcpProxies = buildUnnamed791(); + o.targetTcpProxies = buildUnnamed815(); o.warning = buildTargetTcpProxiesScopedListWarning(); } buildCounterTargetTcpProxiesScopedList--; @@ -45910,7 +46972,7 @@ api.TargetTcpProxiesScopedList buildTargetTcpProxiesScopedList() { void checkTargetTcpProxiesScopedList(api.TargetTcpProxiesScopedList o) { buildCounterTargetTcpProxiesScopedList++; if (buildCounterTargetTcpProxiesScopedList < 3) { - checkUnnamed791(o.targetTcpProxies!); + checkUnnamed815(o.targetTcpProxies!); checkTargetTcpProxiesScopedListWarning(o.warning!); } buildCounterTargetTcpProxiesScopedList--; @@ -46028,23 +47090,23 @@ void checkTargetTcpProxy(api.TargetTcpProxy o) { buildCounterTargetTcpProxy--; } -core.Map buildUnnamed793() => { +core.Map buildUnnamed817() => { 'x': buildTargetTcpProxiesScopedList(), 'y': buildTargetTcpProxiesScopedList(), }; -void checkUnnamed793(core.Map o) { +void checkUnnamed817(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkTargetTcpProxiesScopedList(o['x']!); checkTargetTcpProxiesScopedList(o['y']!); } -core.List buildUnnamed794() => [ +core.List buildUnnamed818() => [ 'foo', 'foo', ]; -void checkUnnamed794(core.List o) { +void checkUnnamed818(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -46085,12 +47147,12 @@ void checkTargetTcpProxyAggregatedListWarningData( buildCounterTargetTcpProxyAggregatedListWarningData--; } -core.List buildUnnamed795() => [ +core.List buildUnnamed819() => [ buildTargetTcpProxyAggregatedListWarningData(), buildTargetTcpProxyAggregatedListWarningData(), ]; -void checkUnnamed795(core.List o) { +void checkUnnamed819(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetTcpProxyAggregatedListWarningData(o[0]); checkTargetTcpProxyAggregatedListWarningData(o[1]); @@ -46103,7 +47165,7 @@ api.TargetTcpProxyAggregatedListWarning buildCounterTargetTcpProxyAggregatedListWarning++; if (buildCounterTargetTcpProxyAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed795(); + o.data = buildUnnamed819(); o.message = 'foo'; } buildCounterTargetTcpProxyAggregatedListWarning--; @@ -46118,7 +47180,7 @@ void checkTargetTcpProxyAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed795(o.data!); + checkUnnamed819(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -46133,11 +47195,11 @@ api.TargetTcpProxyAggregatedList buildTargetTcpProxyAggregatedList() { buildCounterTargetTcpProxyAggregatedList++; if (buildCounterTargetTcpProxyAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed793(); + o.items = buildUnnamed817(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed794(); + o.unreachables = buildUnnamed818(); o.warning = buildTargetTcpProxyAggregatedListWarning(); } buildCounterTargetTcpProxyAggregatedList--; @@ -46151,7 +47213,7 @@ void checkTargetTcpProxyAggregatedList(api.TargetTcpProxyAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed793(o.items!); + checkUnnamed817(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -46164,18 +47226,18 @@ void checkTargetTcpProxyAggregatedList(api.TargetTcpProxyAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed794(o.unreachables!); + checkUnnamed818(o.unreachables!); checkTargetTcpProxyAggregatedListWarning(o.warning!); } buildCounterTargetTcpProxyAggregatedList--; } -core.List buildUnnamed796() => [ +core.List buildUnnamed820() => [ buildTargetTcpProxy(), buildTargetTcpProxy(), ]; -void checkUnnamed796(core.List o) { +void checkUnnamed820(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetTcpProxy(o[0]); checkTargetTcpProxy(o[1]); @@ -46208,12 +47270,12 @@ void checkTargetTcpProxyListWarningData(api.TargetTcpProxyListWarningData o) { buildCounterTargetTcpProxyListWarningData--; } -core.List buildUnnamed797() => [ +core.List buildUnnamed821() => [ buildTargetTcpProxyListWarningData(), buildTargetTcpProxyListWarningData(), ]; -void checkUnnamed797(core.List o) { +void checkUnnamed821(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetTcpProxyListWarningData(o[0]); checkTargetTcpProxyListWarningData(o[1]); @@ -46225,7 +47287,7 @@ api.TargetTcpProxyListWarning buildTargetTcpProxyListWarning() { buildCounterTargetTcpProxyListWarning++; if (buildCounterTargetTcpProxyListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed797(); + o.data = buildUnnamed821(); o.message = 'foo'; } buildCounterTargetTcpProxyListWarning--; @@ -46239,7 +47301,7 @@ void checkTargetTcpProxyListWarning(api.TargetTcpProxyListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed797(o.data!); + checkUnnamed821(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -46254,7 +47316,7 @@ api.TargetTcpProxyList buildTargetTcpProxyList() { buildCounterTargetTcpProxyList++; if (buildCounterTargetTcpProxyList < 3) { o.id = 'foo'; - o.items = buildUnnamed796(); + o.items = buildUnnamed820(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -46271,7 +47333,7 @@ void checkTargetTcpProxyList(api.TargetTcpProxyList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed796(o.items!); + checkUnnamed820(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -46289,12 +47351,12 @@ void checkTargetTcpProxyList(api.TargetTcpProxyList o) { buildCounterTargetTcpProxyList--; } -core.List buildUnnamed798() => [ +core.List buildUnnamed822() => [ 'foo', 'foo', ]; -void checkUnnamed798(core.List o) { +void checkUnnamed822(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -46306,12 +47368,12 @@ void checkUnnamed798(core.List o) { ); } -core.Map buildUnnamed799() => { +core.Map buildUnnamed823() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed799(core.Map o) { +void checkUnnamed823(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -46323,12 +47385,12 @@ void checkUnnamed799(core.Map o) { ); } -core.List buildUnnamed800() => [ +core.List buildUnnamed824() => [ 'foo', 'foo', ]; -void checkUnnamed800(core.List o) { +void checkUnnamed824(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -46347,17 +47409,17 @@ api.TargetVpnGateway buildTargetVpnGateway() { if (buildCounterTargetVpnGateway < 3) { o.creationTimestamp = 'foo'; o.description = 'foo'; - o.forwardingRules = buildUnnamed798(); + o.forwardingRules = buildUnnamed822(); o.id = 'foo'; o.kind = 'foo'; o.labelFingerprint = 'foo'; - o.labels = buildUnnamed799(); + o.labels = buildUnnamed823(); o.name = 'foo'; o.network = 'foo'; o.region = 'foo'; o.selfLink = 'foo'; o.status = 'foo'; - o.tunnels = buildUnnamed800(); + o.tunnels = buildUnnamed824(); } buildCounterTargetVpnGateway--; return o; @@ -46374,7 +47436,7 @@ void checkTargetVpnGateway(api.TargetVpnGateway o) { o.description!, unittest.equals('foo'), ); - checkUnnamed798(o.forwardingRules!); + checkUnnamed822(o.forwardingRules!); unittest.expect( o.id!, unittest.equals('foo'), @@ -46387,7 +47449,7 @@ void checkTargetVpnGateway(api.TargetVpnGateway o) { o.labelFingerprint!, unittest.equals('foo'), ); - checkUnnamed799(o.labels!); + checkUnnamed823(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -46408,28 +47470,28 @@ void checkTargetVpnGateway(api.TargetVpnGateway o) { o.status!, unittest.equals('foo'), ); - checkUnnamed800(o.tunnels!); + checkUnnamed824(o.tunnels!); } buildCounterTargetVpnGateway--; } -core.Map buildUnnamed801() => { +core.Map buildUnnamed825() => { 'x': buildTargetVpnGatewaysScopedList(), 'y': buildTargetVpnGatewaysScopedList(), }; -void checkUnnamed801(core.Map o) { +void checkUnnamed825(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkTargetVpnGatewaysScopedList(o['x']!); checkTargetVpnGatewaysScopedList(o['y']!); } -core.List buildUnnamed802() => [ +core.List buildUnnamed826() => [ 'foo', 'foo', ]; -void checkUnnamed802(core.List o) { +void checkUnnamed826(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -46470,12 +47532,12 @@ void checkTargetVpnGatewayAggregatedListWarningData( buildCounterTargetVpnGatewayAggregatedListWarningData--; } -core.List buildUnnamed803() => [ +core.List buildUnnamed827() => [ buildTargetVpnGatewayAggregatedListWarningData(), buildTargetVpnGatewayAggregatedListWarningData(), ]; -void checkUnnamed803( +void checkUnnamed827( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetVpnGatewayAggregatedListWarningData(o[0]); @@ -46489,7 +47551,7 @@ api.TargetVpnGatewayAggregatedListWarning buildCounterTargetVpnGatewayAggregatedListWarning++; if (buildCounterTargetVpnGatewayAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed803(); + o.data = buildUnnamed827(); o.message = 'foo'; } buildCounterTargetVpnGatewayAggregatedListWarning--; @@ -46504,7 +47566,7 @@ void checkTargetVpnGatewayAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed803(o.data!); + checkUnnamed827(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -46519,11 +47581,11 @@ api.TargetVpnGatewayAggregatedList buildTargetVpnGatewayAggregatedList() { buildCounterTargetVpnGatewayAggregatedList++; if (buildCounterTargetVpnGatewayAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed801(); + o.items = buildUnnamed825(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed802(); + o.unreachables = buildUnnamed826(); o.warning = buildTargetVpnGatewayAggregatedListWarning(); } buildCounterTargetVpnGatewayAggregatedList--; @@ -46537,7 +47599,7 @@ void checkTargetVpnGatewayAggregatedList(api.TargetVpnGatewayAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed801(o.items!); + checkUnnamed825(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -46550,18 +47612,18 @@ void checkTargetVpnGatewayAggregatedList(api.TargetVpnGatewayAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed802(o.unreachables!); + checkUnnamed826(o.unreachables!); checkTargetVpnGatewayAggregatedListWarning(o.warning!); } buildCounterTargetVpnGatewayAggregatedList--; } -core.List buildUnnamed804() => [ +core.List buildUnnamed828() => [ buildTargetVpnGateway(), buildTargetVpnGateway(), ]; -void checkUnnamed804(core.List o) { +void checkUnnamed828(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetVpnGateway(o[0]); checkTargetVpnGateway(o[1]); @@ -46595,12 +47657,12 @@ void checkTargetVpnGatewayListWarningData( buildCounterTargetVpnGatewayListWarningData--; } -core.List buildUnnamed805() => [ +core.List buildUnnamed829() => [ buildTargetVpnGatewayListWarningData(), buildTargetVpnGatewayListWarningData(), ]; -void checkUnnamed805(core.List o) { +void checkUnnamed829(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetVpnGatewayListWarningData(o[0]); checkTargetVpnGatewayListWarningData(o[1]); @@ -46612,7 +47674,7 @@ api.TargetVpnGatewayListWarning buildTargetVpnGatewayListWarning() { buildCounterTargetVpnGatewayListWarning++; if (buildCounterTargetVpnGatewayListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed805(); + o.data = buildUnnamed829(); o.message = 'foo'; } buildCounterTargetVpnGatewayListWarning--; @@ -46626,7 +47688,7 @@ void checkTargetVpnGatewayListWarning(api.TargetVpnGatewayListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed805(o.data!); + checkUnnamed829(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -46641,7 +47703,7 @@ api.TargetVpnGatewayList buildTargetVpnGatewayList() { buildCounterTargetVpnGatewayList++; if (buildCounterTargetVpnGatewayList < 3) { o.id = 'foo'; - o.items = buildUnnamed804(); + o.items = buildUnnamed828(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -46658,7 +47720,7 @@ void checkTargetVpnGatewayList(api.TargetVpnGatewayList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed804(o.items!); + checkUnnamed828(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -46676,12 +47738,12 @@ void checkTargetVpnGatewayList(api.TargetVpnGatewayList o) { buildCounterTargetVpnGatewayList--; } -core.List buildUnnamed806() => [ +core.List buildUnnamed830() => [ buildTargetVpnGateway(), buildTargetVpnGateway(), ]; -void checkUnnamed806(core.List o) { +void checkUnnamed830(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetVpnGateway(o[0]); checkTargetVpnGateway(o[1]); @@ -46716,12 +47778,12 @@ void checkTargetVpnGatewaysScopedListWarningData( buildCounterTargetVpnGatewaysScopedListWarningData--; } -core.List buildUnnamed807() => [ +core.List buildUnnamed831() => [ buildTargetVpnGatewaysScopedListWarningData(), buildTargetVpnGatewaysScopedListWarningData(), ]; -void checkUnnamed807(core.List o) { +void checkUnnamed831(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetVpnGatewaysScopedListWarningData(o[0]); checkTargetVpnGatewaysScopedListWarningData(o[1]); @@ -46734,7 +47796,7 @@ api.TargetVpnGatewaysScopedListWarning buildCounterTargetVpnGatewaysScopedListWarning++; if (buildCounterTargetVpnGatewaysScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed807(); + o.data = buildUnnamed831(); o.message = 'foo'; } buildCounterTargetVpnGatewaysScopedListWarning--; @@ -46749,7 +47811,7 @@ void checkTargetVpnGatewaysScopedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed807(o.data!); + checkUnnamed831(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -46763,7 +47825,7 @@ api.TargetVpnGatewaysScopedList buildTargetVpnGatewaysScopedList() { final o = api.TargetVpnGatewaysScopedList(); buildCounterTargetVpnGatewaysScopedList++; if (buildCounterTargetVpnGatewaysScopedList < 3) { - o.targetVpnGateways = buildUnnamed806(); + o.targetVpnGateways = buildUnnamed830(); o.warning = buildTargetVpnGatewaysScopedListWarning(); } buildCounterTargetVpnGatewaysScopedList--; @@ -46773,18 +47835,18 @@ api.TargetVpnGatewaysScopedList buildTargetVpnGatewaysScopedList() { void checkTargetVpnGatewaysScopedList(api.TargetVpnGatewaysScopedList o) { buildCounterTargetVpnGatewaysScopedList++; if (buildCounterTargetVpnGatewaysScopedList < 3) { - checkUnnamed806(o.targetVpnGateways!); + checkUnnamed830(o.targetVpnGateways!); checkTargetVpnGatewaysScopedListWarning(o.warning!); } buildCounterTargetVpnGatewaysScopedList--; } -core.List buildUnnamed808() => [ +core.List buildUnnamed832() => [ buildUrlMapTestHeader(), buildUrlMapTestHeader(), ]; -void checkUnnamed808(core.List o) { +void checkUnnamed832(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUrlMapTestHeader(o[0]); checkUrlMapTestHeader(o[1]); @@ -46801,7 +47863,7 @@ api.TestFailure buildTestFailure() { o.expectedOutputUrl = 'foo'; o.expectedRedirectResponseCode = 42; o.expectedService = 'foo'; - o.headers = buildUnnamed808(); + o.headers = buildUnnamed832(); o.host = 'foo'; o.path = 'foo'; } @@ -46836,7 +47898,7 @@ void checkTestFailure(api.TestFailure o) { o.expectedService!, unittest.equals('foo'), ); - checkUnnamed808(o.headers!); + checkUnnamed832(o.headers!); unittest.expect( o.host!, unittest.equals('foo'), @@ -46849,12 +47911,12 @@ void checkTestFailure(api.TestFailure o) { buildCounterTestFailure--; } -core.List buildUnnamed809() => [ +core.List buildUnnamed833() => [ 'foo', 'foo', ]; -void checkUnnamed809(core.List o) { +void checkUnnamed833(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -46871,7 +47933,7 @@ api.TestPermissionsRequest buildTestPermissionsRequest() { final o = api.TestPermissionsRequest(); buildCounterTestPermissionsRequest++; if (buildCounterTestPermissionsRequest < 3) { - o.permissions = buildUnnamed809(); + o.permissions = buildUnnamed833(); } buildCounterTestPermissionsRequest--; return o; @@ -46880,17 +47942,17 @@ api.TestPermissionsRequest buildTestPermissionsRequest() { void checkTestPermissionsRequest(api.TestPermissionsRequest o) { buildCounterTestPermissionsRequest++; if (buildCounterTestPermissionsRequest < 3) { - checkUnnamed809(o.permissions!); + checkUnnamed833(o.permissions!); } buildCounterTestPermissionsRequest--; } -core.List buildUnnamed810() => [ +core.List buildUnnamed834() => [ 'foo', 'foo', ]; -void checkUnnamed810(core.List o) { +void checkUnnamed834(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -46907,7 +47969,7 @@ api.TestPermissionsResponse buildTestPermissionsResponse() { final o = api.TestPermissionsResponse(); buildCounterTestPermissionsResponse++; if (buildCounterTestPermissionsResponse < 3) { - o.permissions = buildUnnamed810(); + o.permissions = buildUnnamed834(); } buildCounterTestPermissionsResponse--; return o; @@ -46916,7 +47978,7 @@ api.TestPermissionsResponse buildTestPermissionsResponse() { void checkTestPermissionsResponse(api.TestPermissionsResponse o) { buildCounterTestPermissionsResponse++; if (buildCounterTestPermissionsResponse < 3) { - checkUnnamed810(o.permissions!); + checkUnnamed834(o.permissions!); } buildCounterTestPermissionsResponse--; } @@ -46992,34 +48054,34 @@ void checkUpcomingMaintenance(api.UpcomingMaintenance o) { buildCounterUpcomingMaintenance--; } -core.List buildUnnamed811() => [ +core.List buildUnnamed835() => [ buildHostRule(), buildHostRule(), ]; -void checkUnnamed811(core.List o) { +void checkUnnamed835(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHostRule(o[0]); checkHostRule(o[1]); } -core.List buildUnnamed812() => [ +core.List buildUnnamed836() => [ buildPathMatcher(), buildPathMatcher(), ]; -void checkUnnamed812(core.List o) { +void checkUnnamed836(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPathMatcher(o[0]); checkPathMatcher(o[1]); } -core.List buildUnnamed813() => [ +core.List buildUnnamed837() => [ buildUrlMapTest(), buildUrlMapTest(), ]; -void checkUnnamed813(core.List o) { +void checkUnnamed837(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUrlMapTest(o[0]); checkUrlMapTest(o[1]); @@ -47038,14 +48100,14 @@ api.UrlMap buildUrlMap() { o.description = 'foo'; o.fingerprint = 'foo'; o.headerAction = buildHttpHeaderAction(); - o.hostRules = buildUnnamed811(); + o.hostRules = buildUnnamed835(); o.id = 'foo'; o.kind = 'foo'; o.name = 'foo'; - o.pathMatchers = buildUnnamed812(); + o.pathMatchers = buildUnnamed836(); o.region = 'foo'; o.selfLink = 'foo'; - o.tests = buildUnnamed813(); + o.tests = buildUnnamed837(); } buildCounterUrlMap--; return o; @@ -47074,7 +48136,7 @@ void checkUrlMap(api.UrlMap o) { unittest.equals('foo'), ); checkHttpHeaderAction(o.headerAction!); - checkUnnamed811(o.hostRules!); + checkUnnamed835(o.hostRules!); unittest.expect( o.id!, unittest.equals('foo'), @@ -47087,7 +48149,7 @@ void checkUrlMap(api.UrlMap o) { o.name!, unittest.equals('foo'), ); - checkUnnamed812(o.pathMatchers!); + checkUnnamed836(o.pathMatchers!); unittest.expect( o.region!, unittest.equals('foo'), @@ -47096,17 +48158,17 @@ void checkUrlMap(api.UrlMap o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed813(o.tests!); + checkUnnamed837(o.tests!); } buildCounterUrlMap--; } -core.List buildUnnamed814() => [ +core.List buildUnnamed838() => [ buildUrlMap(), buildUrlMap(), ]; -void checkUnnamed814(core.List o) { +void checkUnnamed838(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUrlMap(o[0]); checkUrlMap(o[1]); @@ -47139,12 +48201,12 @@ void checkUrlMapListWarningData(api.UrlMapListWarningData o) { buildCounterUrlMapListWarningData--; } -core.List buildUnnamed815() => [ +core.List buildUnnamed839() => [ buildUrlMapListWarningData(), buildUrlMapListWarningData(), ]; -void checkUnnamed815(core.List o) { +void checkUnnamed839(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUrlMapListWarningData(o[0]); checkUrlMapListWarningData(o[1]); @@ -47156,7 +48218,7 @@ api.UrlMapListWarning buildUrlMapListWarning() { buildCounterUrlMapListWarning++; if (buildCounterUrlMapListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed815(); + o.data = buildUnnamed839(); o.message = 'foo'; } buildCounterUrlMapListWarning--; @@ -47170,7 +48232,7 @@ void checkUrlMapListWarning(api.UrlMapListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed815(o.data!); + checkUnnamed839(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -47185,7 +48247,7 @@ api.UrlMapList buildUrlMapList() { buildCounterUrlMapList++; if (buildCounterUrlMapList < 3) { o.id = 'foo'; - o.items = buildUnnamed814(); + o.items = buildUnnamed838(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -47202,7 +48264,7 @@ void checkUrlMapList(api.UrlMapList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed814(o.items!); + checkUnnamed838(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -47242,12 +48304,12 @@ void checkUrlMapReference(api.UrlMapReference o) { buildCounterUrlMapReference--; } -core.List buildUnnamed816() => [ +core.List buildUnnamed840() => [ buildUrlMapTestHeader(), buildUrlMapTestHeader(), ]; -void checkUnnamed816(core.List o) { +void checkUnnamed840(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUrlMapTestHeader(o[0]); checkUrlMapTestHeader(o[1]); @@ -47261,7 +48323,7 @@ api.UrlMapTest buildUrlMapTest() { o.description = 'foo'; o.expectedOutputUrl = 'foo'; o.expectedRedirectResponseCode = 42; - o.headers = buildUnnamed816(); + o.headers = buildUnnamed840(); o.host = 'foo'; o.path = 'foo'; o.service = 'foo'; @@ -47285,7 +48347,7 @@ void checkUrlMapTest(api.UrlMapTest o) { o.expectedRedirectResponseCode!, unittest.equals(42), ); - checkUnnamed816(o.headers!); + checkUnnamed840(o.headers!); unittest.expect( o.host!, unittest.equals('foo'), @@ -47329,12 +48391,12 @@ void checkUrlMapTestHeader(api.UrlMapTestHeader o) { buildCounterUrlMapTestHeader--; } -core.List buildUnnamed817() => [ +core.List buildUnnamed841() => [ 'foo', 'foo', ]; -void checkUnnamed817(core.List o) { +void checkUnnamed841(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -47346,12 +48408,12 @@ void checkUnnamed817(core.List o) { ); } -core.List buildUnnamed818() => [ +core.List buildUnnamed842() => [ buildTestFailure(), buildTestFailure(), ]; -void checkUnnamed818(core.List o) { +void checkUnnamed842(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTestFailure(o[0]); checkTestFailure(o[1]); @@ -47362,9 +48424,9 @@ api.UrlMapValidationResult buildUrlMapValidationResult() { final o = api.UrlMapValidationResult(); buildCounterUrlMapValidationResult++; if (buildCounterUrlMapValidationResult < 3) { - o.loadErrors = buildUnnamed817(); + o.loadErrors = buildUnnamed841(); o.loadSucceeded = true; - o.testFailures = buildUnnamed818(); + o.testFailures = buildUnnamed842(); o.testPassed = true; } buildCounterUrlMapValidationResult--; @@ -47374,31 +48436,31 @@ api.UrlMapValidationResult buildUrlMapValidationResult() { void checkUrlMapValidationResult(api.UrlMapValidationResult o) { buildCounterUrlMapValidationResult++; if (buildCounterUrlMapValidationResult < 3) { - checkUnnamed817(o.loadErrors!); + checkUnnamed841(o.loadErrors!); unittest.expect(o.loadSucceeded!, unittest.isTrue); - checkUnnamed818(o.testFailures!); + checkUnnamed842(o.testFailures!); unittest.expect(o.testPassed!, unittest.isTrue); } buildCounterUrlMapValidationResult--; } -core.Map buildUnnamed819() => { +core.Map buildUnnamed843() => { 'x': buildUrlMapsScopedList(), 'y': buildUrlMapsScopedList(), }; -void checkUnnamed819(core.Map o) { +void checkUnnamed843(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkUrlMapsScopedList(o['x']!); checkUrlMapsScopedList(o['y']!); } -core.List buildUnnamed820() => [ +core.List buildUnnamed844() => [ 'foo', 'foo', ]; -void checkUnnamed820(core.List o) { +void checkUnnamed844(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -47438,12 +48500,12 @@ void checkUrlMapsAggregatedListWarningData( buildCounterUrlMapsAggregatedListWarningData--; } -core.List buildUnnamed821() => [ +core.List buildUnnamed845() => [ buildUrlMapsAggregatedListWarningData(), buildUrlMapsAggregatedListWarningData(), ]; -void checkUnnamed821(core.List o) { +void checkUnnamed845(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUrlMapsAggregatedListWarningData(o[0]); checkUrlMapsAggregatedListWarningData(o[1]); @@ -47455,7 +48517,7 @@ api.UrlMapsAggregatedListWarning buildUrlMapsAggregatedListWarning() { buildCounterUrlMapsAggregatedListWarning++; if (buildCounterUrlMapsAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed821(); + o.data = buildUnnamed845(); o.message = 'foo'; } buildCounterUrlMapsAggregatedListWarning--; @@ -47469,7 +48531,7 @@ void checkUrlMapsAggregatedListWarning(api.UrlMapsAggregatedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed821(o.data!); + checkUnnamed845(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -47484,11 +48546,11 @@ api.UrlMapsAggregatedList buildUrlMapsAggregatedList() { buildCounterUrlMapsAggregatedList++; if (buildCounterUrlMapsAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed819(); + o.items = buildUnnamed843(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed820(); + o.unreachables = buildUnnamed844(); o.warning = buildUrlMapsAggregatedListWarning(); } buildCounterUrlMapsAggregatedList--; @@ -47502,7 +48564,7 @@ void checkUrlMapsAggregatedList(api.UrlMapsAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed819(o.items!); + checkUnnamed843(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -47515,18 +48577,18 @@ void checkUrlMapsAggregatedList(api.UrlMapsAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed820(o.unreachables!); + checkUnnamed844(o.unreachables!); checkUrlMapsAggregatedListWarning(o.warning!); } buildCounterUrlMapsAggregatedList--; } -core.List buildUnnamed822() => [ +core.List buildUnnamed846() => [ buildUrlMap(), buildUrlMap(), ]; -void checkUnnamed822(core.List o) { +void checkUnnamed846(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUrlMap(o[0]); checkUrlMap(o[1]); @@ -47559,12 +48621,12 @@ void checkUrlMapsScopedListWarningData(api.UrlMapsScopedListWarningData o) { buildCounterUrlMapsScopedListWarningData--; } -core.List buildUnnamed823() => [ +core.List buildUnnamed847() => [ buildUrlMapsScopedListWarningData(), buildUrlMapsScopedListWarningData(), ]; -void checkUnnamed823(core.List o) { +void checkUnnamed847(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUrlMapsScopedListWarningData(o[0]); checkUrlMapsScopedListWarningData(o[1]); @@ -47576,7 +48638,7 @@ api.UrlMapsScopedListWarning buildUrlMapsScopedListWarning() { buildCounterUrlMapsScopedListWarning++; if (buildCounterUrlMapsScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed823(); + o.data = buildUnnamed847(); o.message = 'foo'; } buildCounterUrlMapsScopedListWarning--; @@ -47590,7 +48652,7 @@ void checkUrlMapsScopedListWarning(api.UrlMapsScopedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed823(o.data!); + checkUnnamed847(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -47604,7 +48666,7 @@ api.UrlMapsScopedList buildUrlMapsScopedList() { final o = api.UrlMapsScopedList(); buildCounterUrlMapsScopedList++; if (buildCounterUrlMapsScopedList < 3) { - o.urlMaps = buildUnnamed822(); + o.urlMaps = buildUnnamed846(); o.warning = buildUrlMapsScopedListWarning(); } buildCounterUrlMapsScopedList--; @@ -47614,18 +48676,18 @@ api.UrlMapsScopedList buildUrlMapsScopedList() { void checkUrlMapsScopedList(api.UrlMapsScopedList o) { buildCounterUrlMapsScopedList++; if (buildCounterUrlMapsScopedList < 3) { - checkUnnamed822(o.urlMaps!); + checkUnnamed846(o.urlMaps!); checkUrlMapsScopedListWarning(o.warning!); } buildCounterUrlMapsScopedList--; } -core.List buildUnnamed824() => [ +core.List buildUnnamed848() => [ 'foo', 'foo', ]; -void checkUnnamed824(core.List o) { +void checkUnnamed848(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -47642,7 +48704,7 @@ api.UrlMapsValidateRequest buildUrlMapsValidateRequest() { final o = api.UrlMapsValidateRequest(); buildCounterUrlMapsValidateRequest++; if (buildCounterUrlMapsValidateRequest < 3) { - o.loadBalancingSchemes = buildUnnamed824(); + o.loadBalancingSchemes = buildUnnamed848(); o.resource = buildUrlMap(); } buildCounterUrlMapsValidateRequest--; @@ -47652,7 +48714,7 @@ api.UrlMapsValidateRequest buildUrlMapsValidateRequest() { void checkUrlMapsValidateRequest(api.UrlMapsValidateRequest o) { buildCounterUrlMapsValidateRequest++; if (buildCounterUrlMapsValidateRequest < 3) { - checkUnnamed824(o.loadBalancingSchemes!); + checkUnnamed848(o.loadBalancingSchemes!); checkUrlMap(o.resource!); } buildCounterUrlMapsValidateRequest--; @@ -47709,12 +48771,12 @@ void checkUrlRewrite(api.UrlRewrite o) { buildCounterUrlRewrite--; } -core.List buildUnnamed825() => [ +core.List buildUnnamed849() => [ buildUsableSubnetworkSecondaryRange(), buildUsableSubnetworkSecondaryRange(), ]; -void checkUnnamed825(core.List o) { +void checkUnnamed849(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUsableSubnetworkSecondaryRange(o[0]); checkUsableSubnetworkSecondaryRange(o[1]); @@ -47732,7 +48794,7 @@ api.UsableSubnetwork buildUsableSubnetwork() { o.network = 'foo'; o.purpose = 'foo'; o.role = 'foo'; - o.secondaryIpRanges = buildUnnamed825(); + o.secondaryIpRanges = buildUnnamed849(); o.stackType = 'foo'; o.subnetwork = 'foo'; } @@ -47771,7 +48833,7 @@ void checkUsableSubnetwork(api.UsableSubnetwork o) { o.role!, unittest.equals('foo'), ); - checkUnnamed825(o.secondaryIpRanges!); + checkUnnamed849(o.secondaryIpRanges!); unittest.expect( o.stackType!, unittest.equals('foo'), @@ -47811,12 +48873,12 @@ void checkUsableSubnetworkSecondaryRange(api.UsableSubnetworkSecondaryRange o) { buildCounterUsableSubnetworkSecondaryRange--; } -core.List buildUnnamed826() => [ +core.List buildUnnamed850() => [ buildUsableSubnetwork(), buildUsableSubnetwork(), ]; -void checkUnnamed826(core.List o) { +void checkUnnamed850(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUsableSubnetwork(o[0]); checkUsableSubnetwork(o[1]); @@ -47851,12 +48913,12 @@ void checkUsableSubnetworksAggregatedListWarningData( buildCounterUsableSubnetworksAggregatedListWarningData--; } -core.List buildUnnamed827() => [ +core.List buildUnnamed851() => [ buildUsableSubnetworksAggregatedListWarningData(), buildUsableSubnetworksAggregatedListWarningData(), ]; -void checkUnnamed827( +void checkUnnamed851( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUsableSubnetworksAggregatedListWarningData(o[0]); @@ -47870,7 +48932,7 @@ api.UsableSubnetworksAggregatedListWarning buildCounterUsableSubnetworksAggregatedListWarning++; if (buildCounterUsableSubnetworksAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed827(); + o.data = buildUnnamed851(); o.message = 'foo'; } buildCounterUsableSubnetworksAggregatedListWarning--; @@ -47885,7 +48947,7 @@ void checkUsableSubnetworksAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed827(o.data!); + checkUnnamed851(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -47900,7 +48962,7 @@ api.UsableSubnetworksAggregatedList buildUsableSubnetworksAggregatedList() { buildCounterUsableSubnetworksAggregatedList++; if (buildCounterUsableSubnetworksAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed826(); + o.items = buildUnnamed850(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -47918,7 +48980,7 @@ void checkUsableSubnetworksAggregatedList( o.id!, unittest.equals('foo'), ); - checkUnnamed826(o.items!); + checkUnnamed850(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -47963,12 +49025,12 @@ void checkUsageExportLocation(api.UsageExportLocation o) { buildCounterUsageExportLocation--; } -core.List buildUnnamed828() => [ +core.List buildUnnamed852() => [ buildVmEndpointNatMappingsInterfaceNatMappings(), buildVmEndpointNatMappingsInterfaceNatMappings(), ]; -void checkUnnamed828( +void checkUnnamed852( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVmEndpointNatMappingsInterfaceNatMappings(o[0]); @@ -47981,7 +49043,7 @@ api.VmEndpointNatMappings buildVmEndpointNatMappings() { buildCounterVmEndpointNatMappings++; if (buildCounterVmEndpointNatMappings < 3) { o.instanceName = 'foo'; - o.interfaceNatMappings = buildUnnamed828(); + o.interfaceNatMappings = buildUnnamed852(); } buildCounterVmEndpointNatMappings--; return o; @@ -47994,17 +49056,17 @@ void checkVmEndpointNatMappings(api.VmEndpointNatMappings o) { o.instanceName!, unittest.equals('foo'), ); - checkUnnamed828(o.interfaceNatMappings!); + checkUnnamed852(o.interfaceNatMappings!); } buildCounterVmEndpointNatMappings--; } -core.List buildUnnamed829() => [ +core.List buildUnnamed853() => [ 'foo', 'foo', ]; -void checkUnnamed829(core.List o) { +void checkUnnamed853(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -48016,12 +49078,12 @@ void checkUnnamed829(core.List o) { ); } -core.List buildUnnamed830() => [ +core.List buildUnnamed854() => [ 'foo', 'foo', ]; -void checkUnnamed830(core.List o) { +void checkUnnamed854(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -48034,12 +49096,12 @@ void checkUnnamed830(core.List o) { } core.List - buildUnnamed831() => [ + buildUnnamed855() => [ buildVmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings(), buildVmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings(), ]; -void checkUnnamed831( +void checkUnnamed855( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings(o[0]); @@ -48052,11 +49114,11 @@ api.VmEndpointNatMappingsInterfaceNatMappings final o = api.VmEndpointNatMappingsInterfaceNatMappings(); buildCounterVmEndpointNatMappingsInterfaceNatMappings++; if (buildCounterVmEndpointNatMappingsInterfaceNatMappings < 3) { - o.drainNatIpPortRanges = buildUnnamed829(); - o.natIpPortRanges = buildUnnamed830(); + o.drainNatIpPortRanges = buildUnnamed853(); + o.natIpPortRanges = buildUnnamed854(); o.numTotalDrainNatPorts = 42; o.numTotalNatPorts = 42; - o.ruleMappings = buildUnnamed831(); + o.ruleMappings = buildUnnamed855(); o.sourceAliasIpRange = 'foo'; o.sourceVirtualIp = 'foo'; } @@ -48068,8 +49130,8 @@ void checkVmEndpointNatMappingsInterfaceNatMappings( api.VmEndpointNatMappingsInterfaceNatMappings o) { buildCounterVmEndpointNatMappingsInterfaceNatMappings++; if (buildCounterVmEndpointNatMappingsInterfaceNatMappings < 3) { - checkUnnamed829(o.drainNatIpPortRanges!); - checkUnnamed830(o.natIpPortRanges!); + checkUnnamed853(o.drainNatIpPortRanges!); + checkUnnamed854(o.natIpPortRanges!); unittest.expect( o.numTotalDrainNatPorts!, unittest.equals(42), @@ -48078,7 +49140,7 @@ void checkVmEndpointNatMappingsInterfaceNatMappings( o.numTotalNatPorts!, unittest.equals(42), ); - checkUnnamed831(o.ruleMappings!); + checkUnnamed855(o.ruleMappings!); unittest.expect( o.sourceAliasIpRange!, unittest.equals('foo'), @@ -48091,12 +49153,12 @@ void checkVmEndpointNatMappingsInterfaceNatMappings( buildCounterVmEndpointNatMappingsInterfaceNatMappings--; } -core.List buildUnnamed832() => [ +core.List buildUnnamed856() => [ 'foo', 'foo', ]; -void checkUnnamed832(core.List o) { +void checkUnnamed856(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -48108,12 +49170,12 @@ void checkUnnamed832(core.List o) { ); } -core.List buildUnnamed833() => [ +core.List buildUnnamed857() => [ 'foo', 'foo', ]; -void checkUnnamed833(core.List o) { +void checkUnnamed857(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -48133,8 +49195,8 @@ api.VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings buildCounterVmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings++; if (buildCounterVmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings < 3) { - o.drainNatIpPortRanges = buildUnnamed832(); - o.natIpPortRanges = buildUnnamed833(); + o.drainNatIpPortRanges = buildUnnamed856(); + o.natIpPortRanges = buildUnnamed857(); o.numTotalDrainNatPorts = 42; o.numTotalNatPorts = 42; o.ruleNumber = 42; @@ -48148,8 +49210,8 @@ void checkVmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings( buildCounterVmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings++; if (buildCounterVmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings < 3) { - checkUnnamed832(o.drainNatIpPortRanges!); - checkUnnamed833(o.natIpPortRanges!); + checkUnnamed856(o.drainNatIpPortRanges!); + checkUnnamed857(o.natIpPortRanges!); unittest.expect( o.numTotalDrainNatPorts!, unittest.equals(42), @@ -48166,12 +49228,12 @@ void checkVmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings( buildCounterVmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings--; } -core.List buildUnnamed834() => [ +core.List buildUnnamed858() => [ buildVmEndpointNatMappings(), buildVmEndpointNatMappings(), ]; -void checkUnnamed834(core.List o) { +void checkUnnamed858(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVmEndpointNatMappings(o[0]); checkVmEndpointNatMappings(o[1]); @@ -48206,12 +49268,12 @@ void checkVmEndpointNatMappingsListWarningData( buildCounterVmEndpointNatMappingsListWarningData--; } -core.List buildUnnamed835() => [ +core.List buildUnnamed859() => [ buildVmEndpointNatMappingsListWarningData(), buildVmEndpointNatMappingsListWarningData(), ]; -void checkUnnamed835(core.List o) { +void checkUnnamed859(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVmEndpointNatMappingsListWarningData(o[0]); checkVmEndpointNatMappingsListWarningData(o[1]); @@ -48223,7 +49285,7 @@ api.VmEndpointNatMappingsListWarning buildVmEndpointNatMappingsListWarning() { buildCounterVmEndpointNatMappingsListWarning++; if (buildCounterVmEndpointNatMappingsListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed835(); + o.data = buildUnnamed859(); o.message = 'foo'; } buildCounterVmEndpointNatMappingsListWarning--; @@ -48238,7 +49300,7 @@ void checkVmEndpointNatMappingsListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed835(o.data!); + checkUnnamed859(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -48255,7 +49317,7 @@ api.VmEndpointNatMappingsList buildVmEndpointNatMappingsList() { o.id = 'foo'; o.kind = 'foo'; o.nextPageToken = 'foo'; - o.result = buildUnnamed834(); + o.result = buildUnnamed858(); o.selfLink = 'foo'; o.warning = buildVmEndpointNatMappingsListWarning(); } @@ -48278,7 +49340,7 @@ void checkVmEndpointNatMappingsList(api.VmEndpointNatMappingsList o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed834(o.result!); + checkUnnamed858(o.result!); unittest.expect( o.selfLink!, unittest.equals('foo'), @@ -48288,12 +49350,12 @@ void checkVmEndpointNatMappingsList(api.VmEndpointNatMappingsList o) { buildCounterVmEndpointNatMappingsList--; } -core.Map buildUnnamed836() => { +core.Map buildUnnamed860() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed836(core.Map o) { +void checkUnnamed860(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -48305,12 +49367,12 @@ void checkUnnamed836(core.Map o) { ); } -core.List buildUnnamed837() => [ +core.List buildUnnamed861() => [ buildVpnGatewayVpnGatewayInterface(), buildVpnGatewayVpnGatewayInterface(), ]; -void checkUnnamed837(core.List o) { +void checkUnnamed861(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVpnGatewayVpnGatewayInterface(o[0]); checkVpnGatewayVpnGatewayInterface(o[1]); @@ -48327,13 +49389,13 @@ api.VpnGateway buildVpnGateway() { o.id = 'foo'; o.kind = 'foo'; o.labelFingerprint = 'foo'; - o.labels = buildUnnamed836(); + o.labels = buildUnnamed860(); o.name = 'foo'; o.network = 'foo'; o.region = 'foo'; o.selfLink = 'foo'; o.stackType = 'foo'; - o.vpnInterfaces = buildUnnamed837(); + o.vpnInterfaces = buildUnnamed861(); } buildCounterVpnGateway--; return o; @@ -48366,7 +49428,7 @@ void checkVpnGateway(api.VpnGateway o) { o.labelFingerprint!, unittest.equals('foo'), ); - checkUnnamed836(o.labels!); + checkUnnamed860(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -48387,28 +49449,28 @@ void checkVpnGateway(api.VpnGateway o) { o.stackType!, unittest.equals('foo'), ); - checkUnnamed837(o.vpnInterfaces!); + checkUnnamed861(o.vpnInterfaces!); } buildCounterVpnGateway--; } -core.Map buildUnnamed838() => { +core.Map buildUnnamed862() => { 'x': buildVpnGatewaysScopedList(), 'y': buildVpnGatewaysScopedList(), }; -void checkUnnamed838(core.Map o) { +void checkUnnamed862(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkVpnGatewaysScopedList(o['x']!); checkVpnGatewaysScopedList(o['y']!); } -core.List buildUnnamed839() => [ +core.List buildUnnamed863() => [ 'foo', 'foo', ]; -void checkUnnamed839(core.List o) { +void checkUnnamed863(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -48449,12 +49511,12 @@ void checkVpnGatewayAggregatedListWarningData( buildCounterVpnGatewayAggregatedListWarningData--; } -core.List buildUnnamed840() => [ +core.List buildUnnamed864() => [ buildVpnGatewayAggregatedListWarningData(), buildVpnGatewayAggregatedListWarningData(), ]; -void checkUnnamed840(core.List o) { +void checkUnnamed864(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVpnGatewayAggregatedListWarningData(o[0]); checkVpnGatewayAggregatedListWarningData(o[1]); @@ -48466,7 +49528,7 @@ api.VpnGatewayAggregatedListWarning buildVpnGatewayAggregatedListWarning() { buildCounterVpnGatewayAggregatedListWarning++; if (buildCounterVpnGatewayAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed840(); + o.data = buildUnnamed864(); o.message = 'foo'; } buildCounterVpnGatewayAggregatedListWarning--; @@ -48481,7 +49543,7 @@ void checkVpnGatewayAggregatedListWarning( o.code!, unittest.equals('foo'), ); - checkUnnamed840(o.data!); + checkUnnamed864(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -48496,11 +49558,11 @@ api.VpnGatewayAggregatedList buildVpnGatewayAggregatedList() { buildCounterVpnGatewayAggregatedList++; if (buildCounterVpnGatewayAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed838(); + o.items = buildUnnamed862(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed839(); + o.unreachables = buildUnnamed863(); o.warning = buildVpnGatewayAggregatedListWarning(); } buildCounterVpnGatewayAggregatedList--; @@ -48514,7 +49576,7 @@ void checkVpnGatewayAggregatedList(api.VpnGatewayAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed838(o.items!); + checkUnnamed862(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -48527,18 +49589,18 @@ void checkVpnGatewayAggregatedList(api.VpnGatewayAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed839(o.unreachables!); + checkUnnamed863(o.unreachables!); checkVpnGatewayAggregatedListWarning(o.warning!); } buildCounterVpnGatewayAggregatedList--; } -core.List buildUnnamed841() => [ +core.List buildUnnamed865() => [ buildVpnGateway(), buildVpnGateway(), ]; -void checkUnnamed841(core.List o) { +void checkUnnamed865(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVpnGateway(o[0]); checkVpnGateway(o[1]); @@ -48571,12 +49633,12 @@ void checkVpnGatewayListWarningData(api.VpnGatewayListWarningData o) { buildCounterVpnGatewayListWarningData--; } -core.List buildUnnamed842() => [ +core.List buildUnnamed866() => [ buildVpnGatewayListWarningData(), buildVpnGatewayListWarningData(), ]; -void checkUnnamed842(core.List o) { +void checkUnnamed866(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVpnGatewayListWarningData(o[0]); checkVpnGatewayListWarningData(o[1]); @@ -48588,7 +49650,7 @@ api.VpnGatewayListWarning buildVpnGatewayListWarning() { buildCounterVpnGatewayListWarning++; if (buildCounterVpnGatewayListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed842(); + o.data = buildUnnamed866(); o.message = 'foo'; } buildCounterVpnGatewayListWarning--; @@ -48602,7 +49664,7 @@ void checkVpnGatewayListWarning(api.VpnGatewayListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed842(o.data!); + checkUnnamed866(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -48617,7 +49679,7 @@ api.VpnGatewayList buildVpnGatewayList() { buildCounterVpnGatewayList++; if (buildCounterVpnGatewayList < 3) { o.id = 'foo'; - o.items = buildUnnamed841(); + o.items = buildUnnamed865(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -48634,7 +49696,7 @@ void checkVpnGatewayList(api.VpnGatewayList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed841(o.items!); + checkUnnamed865(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -48652,12 +49714,12 @@ void checkVpnGatewayList(api.VpnGatewayList o) { buildCounterVpnGatewayList--; } -core.List buildUnnamed843() => [ +core.List buildUnnamed867() => [ buildVpnGatewayStatusVpnConnection(), buildVpnGatewayStatusVpnConnection(), ]; -void checkUnnamed843(core.List o) { +void checkUnnamed867(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVpnGatewayStatusVpnConnection(o[0]); checkVpnGatewayStatusVpnConnection(o[1]); @@ -48668,7 +49730,7 @@ api.VpnGatewayStatus buildVpnGatewayStatus() { final o = api.VpnGatewayStatus(); buildCounterVpnGatewayStatus++; if (buildCounterVpnGatewayStatus < 3) { - o.vpnConnections = buildUnnamed843(); + o.vpnConnections = buildUnnamed867(); } buildCounterVpnGatewayStatus--; return o; @@ -48677,7 +49739,7 @@ api.VpnGatewayStatus buildVpnGatewayStatus() { void checkVpnGatewayStatus(api.VpnGatewayStatus o) { buildCounterVpnGatewayStatus++; if (buildCounterVpnGatewayStatus < 3) { - checkUnnamed843(o.vpnConnections!); + checkUnnamed867(o.vpnConnections!); } buildCounterVpnGatewayStatus--; } @@ -48743,12 +49805,12 @@ void checkVpnGatewayStatusTunnel(api.VpnGatewayStatusTunnel o) { buildCounterVpnGatewayStatusTunnel--; } -core.List buildUnnamed844() => [ +core.List buildUnnamed868() => [ buildVpnGatewayStatusTunnel(), buildVpnGatewayStatusTunnel(), ]; -void checkUnnamed844(core.List o) { +void checkUnnamed868(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVpnGatewayStatusTunnel(o[0]); checkVpnGatewayStatusTunnel(o[1]); @@ -48762,7 +49824,7 @@ api.VpnGatewayStatusVpnConnection buildVpnGatewayStatusVpnConnection() { o.peerExternalGateway = 'foo'; o.peerGcpGateway = 'foo'; o.state = buildVpnGatewayStatusHighAvailabilityRequirementState(); - o.tunnels = buildUnnamed844(); + o.tunnels = buildUnnamed868(); } buildCounterVpnGatewayStatusVpnConnection--; return o; @@ -48780,7 +49842,7 @@ void checkVpnGatewayStatusVpnConnection(api.VpnGatewayStatusVpnConnection o) { unittest.equals('foo'), ); checkVpnGatewayStatusHighAvailabilityRequirementState(o.state!); - checkUnnamed844(o.tunnels!); + checkUnnamed868(o.tunnels!); } buildCounterVpnGatewayStatusVpnConnection--; } @@ -48841,12 +49903,12 @@ void checkVpnGatewaysGetStatusResponse(api.VpnGatewaysGetStatusResponse o) { buildCounterVpnGatewaysGetStatusResponse--; } -core.List buildUnnamed845() => [ +core.List buildUnnamed869() => [ buildVpnGateway(), buildVpnGateway(), ]; -void checkUnnamed845(core.List o) { +void checkUnnamed869(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVpnGateway(o[0]); checkVpnGateway(o[1]); @@ -48880,12 +49942,12 @@ void checkVpnGatewaysScopedListWarningData( buildCounterVpnGatewaysScopedListWarningData--; } -core.List buildUnnamed846() => [ +core.List buildUnnamed870() => [ buildVpnGatewaysScopedListWarningData(), buildVpnGatewaysScopedListWarningData(), ]; -void checkUnnamed846(core.List o) { +void checkUnnamed870(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVpnGatewaysScopedListWarningData(o[0]); checkVpnGatewaysScopedListWarningData(o[1]); @@ -48897,7 +49959,7 @@ api.VpnGatewaysScopedListWarning buildVpnGatewaysScopedListWarning() { buildCounterVpnGatewaysScopedListWarning++; if (buildCounterVpnGatewaysScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed846(); + o.data = buildUnnamed870(); o.message = 'foo'; } buildCounterVpnGatewaysScopedListWarning--; @@ -48911,7 +49973,7 @@ void checkVpnGatewaysScopedListWarning(api.VpnGatewaysScopedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed846(o.data!); + checkUnnamed870(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -48925,7 +49987,7 @@ api.VpnGatewaysScopedList buildVpnGatewaysScopedList() { final o = api.VpnGatewaysScopedList(); buildCounterVpnGatewaysScopedList++; if (buildCounterVpnGatewaysScopedList < 3) { - o.vpnGateways = buildUnnamed845(); + o.vpnGateways = buildUnnamed869(); o.warning = buildVpnGatewaysScopedListWarning(); } buildCounterVpnGatewaysScopedList--; @@ -48935,18 +49997,18 @@ api.VpnGatewaysScopedList buildVpnGatewaysScopedList() { void checkVpnGatewaysScopedList(api.VpnGatewaysScopedList o) { buildCounterVpnGatewaysScopedList++; if (buildCounterVpnGatewaysScopedList < 3) { - checkUnnamed845(o.vpnGateways!); + checkUnnamed869(o.vpnGateways!); checkVpnGatewaysScopedListWarning(o.warning!); } buildCounterVpnGatewaysScopedList--; } -core.Map buildUnnamed847() => { +core.Map buildUnnamed871() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed847(core.Map o) { +void checkUnnamed871(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -48958,12 +50020,12 @@ void checkUnnamed847(core.Map o) { ); } -core.List buildUnnamed848() => [ +core.List buildUnnamed872() => [ 'foo', 'foo', ]; -void checkUnnamed848(core.List o) { +void checkUnnamed872(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -48975,12 +50037,12 @@ void checkUnnamed848(core.List o) { ); } -core.List buildUnnamed849() => [ +core.List buildUnnamed873() => [ 'foo', 'foo', ]; -void checkUnnamed849(core.List o) { +void checkUnnamed873(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -49004,15 +50066,15 @@ api.VpnTunnel buildVpnTunnel() { o.ikeVersion = 42; o.kind = 'foo'; o.labelFingerprint = 'foo'; - o.labels = buildUnnamed847(); - o.localTrafficSelector = buildUnnamed848(); + o.labels = buildUnnamed871(); + o.localTrafficSelector = buildUnnamed872(); o.name = 'foo'; o.peerExternalGateway = 'foo'; o.peerExternalGatewayInterface = 42; o.peerGcpGateway = 'foo'; o.peerIp = 'foo'; o.region = 'foo'; - o.remoteTrafficSelector = buildUnnamed849(); + o.remoteTrafficSelector = buildUnnamed873(); o.router = 'foo'; o.selfLink = 'foo'; o.sharedSecret = 'foo'; @@ -49057,8 +50119,8 @@ void checkVpnTunnel(api.VpnTunnel o) { o.labelFingerprint!, unittest.equals('foo'), ); - checkUnnamed847(o.labels!); - checkUnnamed848(o.localTrafficSelector!); + checkUnnamed871(o.labels!); + checkUnnamed872(o.localTrafficSelector!); unittest.expect( o.name!, unittest.equals('foo'), @@ -49083,7 +50145,7 @@ void checkVpnTunnel(api.VpnTunnel o) { o.region!, unittest.equals('foo'), ); - checkUnnamed849(o.remoteTrafficSelector!); + checkUnnamed873(o.remoteTrafficSelector!); unittest.expect( o.router!, unittest.equals('foo'), @@ -49120,23 +50182,23 @@ void checkVpnTunnel(api.VpnTunnel o) { buildCounterVpnTunnel--; } -core.Map buildUnnamed850() => { +core.Map buildUnnamed874() => { 'x': buildVpnTunnelsScopedList(), 'y': buildVpnTunnelsScopedList(), }; -void checkUnnamed850(core.Map o) { +void checkUnnamed874(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkVpnTunnelsScopedList(o['x']!); checkVpnTunnelsScopedList(o['y']!); } -core.List buildUnnamed851() => [ +core.List buildUnnamed875() => [ 'foo', 'foo', ]; -void checkUnnamed851(core.List o) { +void checkUnnamed875(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -49177,12 +50239,12 @@ void checkVpnTunnelAggregatedListWarningData( buildCounterVpnTunnelAggregatedListWarningData--; } -core.List buildUnnamed852() => [ +core.List buildUnnamed876() => [ buildVpnTunnelAggregatedListWarningData(), buildVpnTunnelAggregatedListWarningData(), ]; -void checkUnnamed852(core.List o) { +void checkUnnamed876(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVpnTunnelAggregatedListWarningData(o[0]); checkVpnTunnelAggregatedListWarningData(o[1]); @@ -49194,7 +50256,7 @@ api.VpnTunnelAggregatedListWarning buildVpnTunnelAggregatedListWarning() { buildCounterVpnTunnelAggregatedListWarning++; if (buildCounterVpnTunnelAggregatedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed852(); + o.data = buildUnnamed876(); o.message = 'foo'; } buildCounterVpnTunnelAggregatedListWarning--; @@ -49208,7 +50270,7 @@ void checkVpnTunnelAggregatedListWarning(api.VpnTunnelAggregatedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed852(o.data!); + checkUnnamed876(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -49223,11 +50285,11 @@ api.VpnTunnelAggregatedList buildVpnTunnelAggregatedList() { buildCounterVpnTunnelAggregatedList++; if (buildCounterVpnTunnelAggregatedList < 3) { o.id = 'foo'; - o.items = buildUnnamed850(); + o.items = buildUnnamed874(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; - o.unreachables = buildUnnamed851(); + o.unreachables = buildUnnamed875(); o.warning = buildVpnTunnelAggregatedListWarning(); } buildCounterVpnTunnelAggregatedList--; @@ -49241,7 +50303,7 @@ void checkVpnTunnelAggregatedList(api.VpnTunnelAggregatedList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed850(o.items!); + checkUnnamed874(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -49254,18 +50316,18 @@ void checkVpnTunnelAggregatedList(api.VpnTunnelAggregatedList o) { o.selfLink!, unittest.equals('foo'), ); - checkUnnamed851(o.unreachables!); + checkUnnamed875(o.unreachables!); checkVpnTunnelAggregatedListWarning(o.warning!); } buildCounterVpnTunnelAggregatedList--; } -core.List buildUnnamed853() => [ +core.List buildUnnamed877() => [ buildVpnTunnel(), buildVpnTunnel(), ]; -void checkUnnamed853(core.List o) { +void checkUnnamed877(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVpnTunnel(o[0]); checkVpnTunnel(o[1]); @@ -49298,12 +50360,12 @@ void checkVpnTunnelListWarningData(api.VpnTunnelListWarningData o) { buildCounterVpnTunnelListWarningData--; } -core.List buildUnnamed854() => [ +core.List buildUnnamed878() => [ buildVpnTunnelListWarningData(), buildVpnTunnelListWarningData(), ]; -void checkUnnamed854(core.List o) { +void checkUnnamed878(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVpnTunnelListWarningData(o[0]); checkVpnTunnelListWarningData(o[1]); @@ -49315,7 +50377,7 @@ api.VpnTunnelListWarning buildVpnTunnelListWarning() { buildCounterVpnTunnelListWarning++; if (buildCounterVpnTunnelListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed854(); + o.data = buildUnnamed878(); o.message = 'foo'; } buildCounterVpnTunnelListWarning--; @@ -49329,7 +50391,7 @@ void checkVpnTunnelListWarning(api.VpnTunnelListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed854(o.data!); + checkUnnamed878(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -49344,7 +50406,7 @@ api.VpnTunnelList buildVpnTunnelList() { buildCounterVpnTunnelList++; if (buildCounterVpnTunnelList < 3) { o.id = 'foo'; - o.items = buildUnnamed853(); + o.items = buildUnnamed877(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -49361,7 +50423,7 @@ void checkVpnTunnelList(api.VpnTunnelList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed853(o.items!); + checkUnnamed877(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -49379,12 +50441,12 @@ void checkVpnTunnelList(api.VpnTunnelList o) { buildCounterVpnTunnelList--; } -core.List buildUnnamed855() => [ +core.List buildUnnamed879() => [ buildVpnTunnel(), buildVpnTunnel(), ]; -void checkUnnamed855(core.List o) { +void checkUnnamed879(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVpnTunnel(o[0]); checkVpnTunnel(o[1]); @@ -49418,12 +50480,12 @@ void checkVpnTunnelsScopedListWarningData( buildCounterVpnTunnelsScopedListWarningData--; } -core.List buildUnnamed856() => [ +core.List buildUnnamed880() => [ buildVpnTunnelsScopedListWarningData(), buildVpnTunnelsScopedListWarningData(), ]; -void checkUnnamed856(core.List o) { +void checkUnnamed880(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVpnTunnelsScopedListWarningData(o[0]); checkVpnTunnelsScopedListWarningData(o[1]); @@ -49435,7 +50497,7 @@ api.VpnTunnelsScopedListWarning buildVpnTunnelsScopedListWarning() { buildCounterVpnTunnelsScopedListWarning++; if (buildCounterVpnTunnelsScopedListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed856(); + o.data = buildUnnamed880(); o.message = 'foo'; } buildCounterVpnTunnelsScopedListWarning--; @@ -49449,7 +50511,7 @@ void checkVpnTunnelsScopedListWarning(api.VpnTunnelsScopedListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed856(o.data!); + checkUnnamed880(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -49463,7 +50525,7 @@ api.VpnTunnelsScopedList buildVpnTunnelsScopedList() { final o = api.VpnTunnelsScopedList(); buildCounterVpnTunnelsScopedList++; if (buildCounterVpnTunnelsScopedList < 3) { - o.vpnTunnels = buildUnnamed855(); + o.vpnTunnels = buildUnnamed879(); o.warning = buildVpnTunnelsScopedListWarning(); } buildCounterVpnTunnelsScopedList--; @@ -49473,18 +50535,18 @@ api.VpnTunnelsScopedList buildVpnTunnelsScopedList() { void checkVpnTunnelsScopedList(api.VpnTunnelsScopedList o) { buildCounterVpnTunnelsScopedList++; if (buildCounterVpnTunnelsScopedList < 3) { - checkUnnamed855(o.vpnTunnels!); + checkUnnamed879(o.vpnTunnels!); checkVpnTunnelsScopedListWarning(o.warning!); } buildCounterVpnTunnelsScopedList--; } -core.List buildUnnamed857() => [ +core.List buildUnnamed881() => [ 'foo', 'foo', ]; -void checkUnnamed857(core.List o) { +void checkUnnamed881(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -49496,12 +50558,12 @@ void checkUnnamed857(core.List o) { ); } -core.List buildUnnamed858() => [ +core.List buildUnnamed882() => [ buildWafExpressionSetExpression(), buildWafExpressionSetExpression(), ]; -void checkUnnamed858(core.List o) { +void checkUnnamed882(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWafExpressionSetExpression(o[0]); checkWafExpressionSetExpression(o[1]); @@ -49512,8 +50574,8 @@ api.WafExpressionSet buildWafExpressionSet() { final o = api.WafExpressionSet(); buildCounterWafExpressionSet++; if (buildCounterWafExpressionSet < 3) { - o.aliases = buildUnnamed857(); - o.expressions = buildUnnamed858(); + o.aliases = buildUnnamed881(); + o.expressions = buildUnnamed882(); o.id = 'foo'; } buildCounterWafExpressionSet--; @@ -49523,8 +50585,8 @@ api.WafExpressionSet buildWafExpressionSet() { void checkWafExpressionSet(api.WafExpressionSet o) { buildCounterWafExpressionSet++; if (buildCounterWafExpressionSet < 3) { - checkUnnamed857(o.aliases!); - checkUnnamed858(o.expressions!); + checkUnnamed881(o.aliases!); + checkUnnamed882(o.expressions!); unittest.expect( o.id!, unittest.equals('foo'), @@ -49589,12 +50651,12 @@ void checkWeightedBackendService(api.WeightedBackendService o) { buildCounterWeightedBackendService--; } -core.List buildUnnamed859() => [ +core.List buildUnnamed883() => [ buildProject(), buildProject(), ]; -void checkUnnamed859(core.List o) { +void checkUnnamed883(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkProject(o[0]); checkProject(o[1]); @@ -49627,12 +50689,12 @@ void checkXpnHostListWarningData(api.XpnHostListWarningData o) { buildCounterXpnHostListWarningData--; } -core.List buildUnnamed860() => [ +core.List buildUnnamed884() => [ buildXpnHostListWarningData(), buildXpnHostListWarningData(), ]; -void checkUnnamed860(core.List o) { +void checkUnnamed884(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkXpnHostListWarningData(o[0]); checkXpnHostListWarningData(o[1]); @@ -49644,7 +50706,7 @@ api.XpnHostListWarning buildXpnHostListWarning() { buildCounterXpnHostListWarning++; if (buildCounterXpnHostListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed860(); + o.data = buildUnnamed884(); o.message = 'foo'; } buildCounterXpnHostListWarning--; @@ -49658,7 +50720,7 @@ void checkXpnHostListWarning(api.XpnHostListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed860(o.data!); + checkUnnamed884(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -49673,7 +50735,7 @@ api.XpnHostList buildXpnHostList() { buildCounterXpnHostList++; if (buildCounterXpnHostList < 3) { o.id = 'foo'; - o.items = buildUnnamed859(); + o.items = buildUnnamed883(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -49690,7 +50752,7 @@ void checkXpnHostList(api.XpnHostList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed859(o.items!); + checkUnnamed883(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -49735,12 +50797,12 @@ void checkXpnResourceId(api.XpnResourceId o) { buildCounterXpnResourceId--; } -core.List buildUnnamed861() => [ +core.List buildUnnamed885() => [ 'foo', 'foo', ]; -void checkUnnamed861(core.List o) { +void checkUnnamed885(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -49757,7 +50819,7 @@ api.Zone buildZone() { final o = api.Zone(); buildCounterZone++; if (buildCounterZone < 3) { - o.availableCpuPlatforms = buildUnnamed861(); + o.availableCpuPlatforms = buildUnnamed885(); o.creationTimestamp = 'foo'; o.deprecated = buildDeprecationStatus(); o.description = 'foo'; @@ -49776,7 +50838,7 @@ api.Zone buildZone() { void checkZone(api.Zone o) { buildCounterZone++; if (buildCounterZone < 3) { - checkUnnamed861(o.availableCpuPlatforms!); + checkUnnamed885(o.availableCpuPlatforms!); unittest.expect( o.creationTimestamp!, unittest.equals('foo'), @@ -49815,12 +50877,12 @@ void checkZone(api.Zone o) { buildCounterZone--; } -core.List buildUnnamed862() => [ +core.List buildUnnamed886() => [ buildZone(), buildZone(), ]; -void checkUnnamed862(core.List o) { +void checkUnnamed886(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkZone(o[0]); checkZone(o[1]); @@ -49853,12 +50915,12 @@ void checkZoneListWarningData(api.ZoneListWarningData o) { buildCounterZoneListWarningData--; } -core.List buildUnnamed863() => [ +core.List buildUnnamed887() => [ buildZoneListWarningData(), buildZoneListWarningData(), ]; -void checkUnnamed863(core.List o) { +void checkUnnamed887(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkZoneListWarningData(o[0]); checkZoneListWarningData(o[1]); @@ -49870,7 +50932,7 @@ api.ZoneListWarning buildZoneListWarning() { buildCounterZoneListWarning++; if (buildCounterZoneListWarning < 3) { o.code = 'foo'; - o.data = buildUnnamed863(); + o.data = buildUnnamed887(); o.message = 'foo'; } buildCounterZoneListWarning--; @@ -49884,7 +50946,7 @@ void checkZoneListWarning(api.ZoneListWarning o) { o.code!, unittest.equals('foo'), ); - checkUnnamed863(o.data!); + checkUnnamed887(o.data!); unittest.expect( o.message!, unittest.equals('foo'), @@ -49899,7 +50961,7 @@ api.ZoneList buildZoneList() { buildCounterZoneList++; if (buildCounterZoneList < 3) { o.id = 'foo'; - o.items = buildUnnamed862(); + o.items = buildUnnamed886(); o.kind = 'foo'; o.nextPageToken = 'foo'; o.selfLink = 'foo'; @@ -49916,7 +50978,7 @@ void checkZoneList(api.ZoneList o) { o.id!, unittest.equals('foo'), ); - checkUnnamed862(o.items!); + checkUnnamed886(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -49934,12 +50996,12 @@ void checkZoneList(api.ZoneList o) { buildCounterZoneList--; } -core.Map buildUnnamed864() => { +core.Map buildUnnamed888() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed864(core.Map o) { +void checkUnnamed888(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -49957,7 +51019,7 @@ api.ZoneSetLabelsRequest buildZoneSetLabelsRequest() { buildCounterZoneSetLabelsRequest++; if (buildCounterZoneSetLabelsRequest < 3) { o.labelFingerprint = 'foo'; - o.labels = buildUnnamed864(); + o.labels = buildUnnamed888(); } buildCounterZoneSetLabelsRequest--; return o; @@ -49970,17 +51032,17 @@ void checkZoneSetLabelsRequest(api.ZoneSetLabelsRequest o) { o.labelFingerprint!, unittest.equals('foo'), ); - checkUnnamed864(o.labels!); + checkUnnamed888(o.labels!); } buildCounterZoneSetLabelsRequest--; } -core.List buildUnnamed865() => [ +core.List buildUnnamed889() => [ buildBinding(), buildBinding(), ]; -void checkUnnamed865(core.List o) { +void checkUnnamed889(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBinding(o[0]); checkBinding(o[1]); @@ -49991,7 +51053,7 @@ api.ZoneSetPolicyRequest buildZoneSetPolicyRequest() { final o = api.ZoneSetPolicyRequest(); buildCounterZoneSetPolicyRequest++; if (buildCounterZoneSetPolicyRequest < 3) { - o.bindings = buildUnnamed865(); + o.bindings = buildUnnamed889(); o.etag = 'foo'; o.policy = buildPolicy(); } @@ -50002,7 +51064,7 @@ api.ZoneSetPolicyRequest buildZoneSetPolicyRequest() { void checkZoneSetPolicyRequest(api.ZoneSetPolicyRequest o) { buildCounterZoneSetPolicyRequest++; if (buildCounterZoneSetPolicyRequest < 3) { - checkUnnamed865(o.bindings!); + checkUnnamed889(o.bindings!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -50012,12 +51074,12 @@ void checkZoneSetPolicyRequest(api.ZoneSetPolicyRequest o) { buildCounterZoneSetPolicyRequest--; } -core.List buildUnnamed866() => [ +core.List buildUnnamed890() => [ 'foo', 'foo', ]; -void checkUnnamed866(core.List o) { +void checkUnnamed890(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -50029,12 +51091,12 @@ void checkUnnamed866(core.List o) { ); } -core.List buildUnnamed867() => [ +core.List buildUnnamed891() => [ 'foo', 'foo', ]; -void checkUnnamed867(core.List o) { +void checkUnnamed891(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -50046,12 +51108,12 @@ void checkUnnamed867(core.List o) { ); } -core.List buildUnnamed868() => [ +core.List buildUnnamed892() => [ 'foo', 'foo', ]; -void checkUnnamed868(core.List o) { +void checkUnnamed892(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -50063,12 +51125,12 @@ void checkUnnamed868(core.List o) { ); } -core.List buildUnnamed869() => [ +core.List buildUnnamed893() => [ 'foo', 'foo', ]; -void checkUnnamed869(core.List o) { +void checkUnnamed893(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -50080,12 +51142,12 @@ void checkUnnamed869(core.List o) { ); } -core.List buildUnnamed870() => [ +core.List buildUnnamed894() => [ 'foo', 'foo', ]; -void checkUnnamed870(core.List o) { +void checkUnnamed894(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -50384,6 +51446,16 @@ void main() { }); }); + unittest.group('obj-schema-AllocationReservationSharingPolicy', () { + unittest.test('to-json--from-json', () async { + final o = buildAllocationReservationSharingPolicy(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AllocationReservationSharingPolicy.fromJson( + oJson as core.Map); + checkAllocationReservationSharingPolicy(od); + }); + }); + unittest.group('obj-schema-AllocationResourceStatus', () { unittest.test('to-json--from-json', () async { final o = buildAllocationResourceStatus(); @@ -50754,6 +51826,16 @@ void main() { }); }); + unittest.group('obj-schema-BackendCustomMetric', () { + unittest.test('to-json--from-json', () async { + final o = buildBackendCustomMetric(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BackendCustomMetric.fromJson( + oJson as core.Map); + checkBackendCustomMetric(od); + }); + }); + unittest.group('obj-schema-BackendService', () { unittest.test('to-json--from-json', () async { final o = buildBackendService(); @@ -50835,6 +51917,16 @@ void main() { }); }); + unittest.group('obj-schema-BackendServiceCustomMetric', () { + unittest.test('to-json--from-json', () async { + final o = buildBackendServiceCustomMetric(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BackendServiceCustomMetric.fromJson( + oJson as core.Map); + checkBackendServiceCustomMetric(od); + }); + }); + unittest.group('obj-schema-BackendServiceFailoverPolicy', () { unittest.test('to-json--from-json', () async { final o = buildBackendServiceFailoverPolicy(); @@ -51061,6 +52153,36 @@ void main() { }); }); + unittest.group('obj-schema-BgpRoute', () { + unittest.test('to-json--from-json', () async { + final o = buildBgpRoute(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.BgpRoute.fromJson(oJson as core.Map); + checkBgpRoute(od); + }); + }); + + unittest.group('obj-schema-BgpRouteAsPath', () { + unittest.test('to-json--from-json', () async { + final o = buildBgpRouteAsPath(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BgpRouteAsPath.fromJson( + oJson as core.Map); + checkBgpRouteAsPath(od); + }); + }); + + unittest.group('obj-schema-BgpRouteNetworkLayerReachabilityInformation', () { + unittest.test('to-json--from-json', () async { + final o = buildBgpRouteNetworkLayerReachabilityInformation(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BgpRouteNetworkLayerReachabilityInformation.fromJson( + oJson as core.Map); + checkBgpRouteNetworkLayerReachabilityInformation(od); + }); + }); + unittest.group('obj-schema-Binding', () { unittest.test('to-json--from-json', () async { final o = buildBinding(); @@ -51913,6 +53035,36 @@ void main() { }); }); + unittest.group('obj-schema-FirewallPoliciesScopedListWarningData', () { + unittest.test('to-json--from-json', () async { + final o = buildFirewallPoliciesScopedListWarningData(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.FirewallPoliciesScopedListWarningData.fromJson( + oJson as core.Map); + checkFirewallPoliciesScopedListWarningData(od); + }); + }); + + unittest.group('obj-schema-FirewallPoliciesScopedListWarning', () { + unittest.test('to-json--from-json', () async { + final o = buildFirewallPoliciesScopedListWarning(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.FirewallPoliciesScopedListWarning.fromJson( + oJson as core.Map); + checkFirewallPoliciesScopedListWarning(od); + }); + }); + + unittest.group('obj-schema-FirewallPoliciesScopedList', () { + unittest.test('to-json--from-json', () async { + final o = buildFirewallPoliciesScopedList(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.FirewallPoliciesScopedList.fromJson( + oJson as core.Map); + checkFirewallPoliciesScopedList(od); + }); + }); + unittest.group('obj-schema-FirewallPolicy', () { unittest.test('to-json--from-json', () async { final o = buildFirewallPolicy(); @@ -53176,6 +54328,16 @@ void main() { }); }); + unittest.group('obj-schema-InstanceGroupManagerResourcePolicies', () { + unittest.test('to-json--from-json', () async { + final o = buildInstanceGroupManagerResourcePolicies(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.InstanceGroupManagerResourcePolicies.fromJson( + oJson as core.Map); + checkInstanceGroupManagerResourcePolicies(od); + }); + }); + unittest.group('obj-schema-InstanceGroupManagerStandbyPolicy', () { unittest.test('to-json--from-json', () async { final o = buildInstanceGroupManagerStandbyPolicy(); @@ -53916,6 +55078,27 @@ void main() { }); }); + unittest.group('obj-schema-InstancesReportHostAsFaultyRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildInstancesReportHostAsFaultyRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.InstancesReportHostAsFaultyRequest.fromJson( + oJson as core.Map); + checkInstancesReportHostAsFaultyRequest(od); + }); + }); + + unittest.group('obj-schema-InstancesReportHostAsFaultyRequestFaultReason', + () { + unittest.test('to-json--from-json', () async { + final o = buildInstancesReportHostAsFaultyRequestFaultReason(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.InstancesReportHostAsFaultyRequestFaultReason.fromJson( + oJson as core.Map); + checkInstancesReportHostAsFaultyRequestFaultReason(od); + }); + }); + unittest.group('obj-schema-InstancesScopedListWarningData', () { unittest.test('to-json--from-json', () async { final o = buildInstancesScopedListWarningData(); @@ -55466,6 +56649,37 @@ void main() { }); }); + unittest.group('obj-schema-NetworkFirewallPolicyAggregatedListWarningData', + () { + unittest.test('to-json--from-json', () async { + final o = buildNetworkFirewallPolicyAggregatedListWarningData(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.NetworkFirewallPolicyAggregatedListWarningData.fromJson( + oJson as core.Map); + checkNetworkFirewallPolicyAggregatedListWarningData(od); + }); + }); + + unittest.group('obj-schema-NetworkFirewallPolicyAggregatedListWarning', () { + unittest.test('to-json--from-json', () async { + final o = buildNetworkFirewallPolicyAggregatedListWarning(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.NetworkFirewallPolicyAggregatedListWarning.fromJson( + oJson as core.Map); + checkNetworkFirewallPolicyAggregatedListWarning(od); + }); + }); + + unittest.group('obj-schema-NetworkFirewallPolicyAggregatedList', () { + unittest.test('to-json--from-json', () async { + final o = buildNetworkFirewallPolicyAggregatedList(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.NetworkFirewallPolicyAggregatedList.fromJson( + oJson as core.Map); + checkNetworkFirewallPolicyAggregatedList(od); + }); + }); + unittest.group('obj-schema-NetworkInterface', () { unittest.test('to-json--from-json', () async { final o = buildNetworkInterface(); @@ -57878,6 +59092,26 @@ void main() { }); }); + unittest.group('obj-schema-RoutePolicy', () { + unittest.test('to-json--from-json', () async { + final o = buildRoutePolicy(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.RoutePolicy.fromJson( + oJson as core.Map); + checkRoutePolicy(od); + }); + }); + + unittest.group('obj-schema-RoutePolicyPolicyTerm', () { + unittest.test('to-json--from-json', () async { + final o = buildRoutePolicyPolicyTerm(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.RoutePolicyPolicyTerm.fromJson( + oJson as core.Map); + checkRoutePolicyPolicyTerm(od); + }); + }); + unittest.group('obj-schema-Router', () { unittest.test('to-json--from-json', () async { final o = buildRouter(); @@ -58118,6 +59352,76 @@ void main() { }); }); + unittest.group('obj-schema-RoutersGetRoutePolicyResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildRoutersGetRoutePolicyResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.RoutersGetRoutePolicyResponse.fromJson( + oJson as core.Map); + checkRoutersGetRoutePolicyResponse(od); + }); + }); + + unittest.group('obj-schema-RoutersListBgpRoutesWarningData', () { + unittest.test('to-json--from-json', () async { + final o = buildRoutersListBgpRoutesWarningData(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.RoutersListBgpRoutesWarningData.fromJson( + oJson as core.Map); + checkRoutersListBgpRoutesWarningData(od); + }); + }); + + unittest.group('obj-schema-RoutersListBgpRoutesWarning', () { + unittest.test('to-json--from-json', () async { + final o = buildRoutersListBgpRoutesWarning(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.RoutersListBgpRoutesWarning.fromJson( + oJson as core.Map); + checkRoutersListBgpRoutesWarning(od); + }); + }); + + unittest.group('obj-schema-RoutersListBgpRoutes', () { + unittest.test('to-json--from-json', () async { + final o = buildRoutersListBgpRoutes(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.RoutersListBgpRoutes.fromJson( + oJson as core.Map); + checkRoutersListBgpRoutes(od); + }); + }); + + unittest.group('obj-schema-RoutersListRoutePoliciesWarningData', () { + unittest.test('to-json--from-json', () async { + final o = buildRoutersListRoutePoliciesWarningData(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.RoutersListRoutePoliciesWarningData.fromJson( + oJson as core.Map); + checkRoutersListRoutePoliciesWarningData(od); + }); + }); + + unittest.group('obj-schema-RoutersListRoutePoliciesWarning', () { + unittest.test('to-json--from-json', () async { + final o = buildRoutersListRoutePoliciesWarning(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.RoutersListRoutePoliciesWarning.fromJson( + oJson as core.Map); + checkRoutersListRoutePoliciesWarning(od); + }); + }); + + unittest.group('obj-schema-RoutersListRoutePolicies', () { + unittest.test('to-json--from-json', () async { + final o = buildRoutersListRoutePolicies(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.RoutersListRoutePolicies.fromJson( + oJson as core.Map); + checkRoutersListRoutePolicies(od); + }); + }); + unittest.group('obj-schema-RoutersPreviewResponse', () { unittest.test('to-json--from-json', () async { final o = buildRoutersPreviewResponse(); @@ -67813,7 +69117,7 @@ void main() { final arg_project = 'foo'; final arg_zone = 'foo'; final arg_disk = 'foo'; - final arg_paths = buildUnnamed866(); + final arg_paths = buildUnnamed890(); final arg_requestId = 'foo'; final arg_updateMask = 'foo'; final arg_$fields = 'foo'; @@ -84343,15 +85647,20 @@ void main() { checkOperation(response as api.Operation); }); - unittest.test('method--reset', () async { + unittest.test('method--reportHostAsFaulty', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; + final arg_request = buildInstancesReportHostAsFaultyRequest(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_instance = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.InstancesReportHostAsFaultyRequest.fromJson( + json as core.Map); + checkInstancesReportHostAsFaultyRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -84399,7 +85708,7 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/reset', pathOffset); + index = path.indexOf('/reportHostAsFaulty', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -84409,10 +85718,10 @@ void main() { unittest.equals('$arg_instance'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 6), - unittest.equals('/reset'), + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/reportHostAsFaulty'), ); - pathOffset += 6; + pathOffset += 19; final query = req.url.query; var queryOffset = 0; @@ -84444,12 +85753,13 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.reset(arg_project, arg_zone, arg_instance, + final response = await res.reportHostAsFaulty( + arg_request, arg_project, arg_zone, arg_instance, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--resume', () async { + unittest.test('method--reset', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; final arg_project = 'foo'; @@ -84505,7 +85815,7 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/resume', pathOffset); + index = path.indexOf('/reset', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -84515,10 +85825,10 @@ void main() { unittest.equals('$arg_instance'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/resume'), + path.substring(pathOffset, pathOffset + 6), + unittest.equals('/reset'), ); - pathOffset += 7; + pathOffset += 6; final query = req.url.query; var queryOffset = 0; @@ -84550,17 +85860,18 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.resume(arg_project, arg_zone, arg_instance, + final response = await res.reset(arg_project, arg_zone, arg_instance, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--sendDiagnosticInterrupt', () async { + unittest.test('method--resume', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; final arg_project = 'foo'; final arg_zone = 'foo'; final arg_instance = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -84610,7 +85921,7 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/sendDiagnosticInterrupt', pathOffset); + index = path.indexOf('/resume', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -84619,113 +85930,11 @@ void main() { subPart, unittest.equals('$arg_instance'), ); - unittest.expect( - path.substring(pathOffset, pathOffset + 24), - unittest.equals('/sendDiagnosticInterrupt'), - ); - pathOffset += 24; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = ''; - return async.Future.value(stringResponse(200, h, resp)); - }), true); - await res.sendDiagnosticInterrupt(arg_project, arg_zone, arg_instance, - $fields: arg_$fields); - }); - - unittest.test('method--setDeletionProtection', () async { - final mock = HttpServerMock(); - final res = api.ComputeApi(mock).instances; - final arg_project = 'foo'; - final arg_zone = 'foo'; - final arg_resource = 'foo'; - final arg_deletionProtection = true; - final arg_requestId = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('compute/v1/'), - ); - pathOffset += 11; - unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('projects/'), - ); - pathOffset += 9; - index = path.indexOf('/zones/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_project'), - ); unittest.expect( path.substring(pathOffset, pathOffset + 7), - unittest.equals('/zones/'), + unittest.equals('/resume'), ); pathOffset += 7; - index = path.indexOf('/instances/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_zone'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('/instances/'), - ); - pathOffset += 11; - index = path.indexOf('/setDeletionProtection', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_resource'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 22), - unittest.equals('/setDeletionProtection'), - ); - pathOffset += 22; final query = req.url.query; var queryOffset = 0; @@ -84742,10 +85951,6 @@ void main() { ); } } - unittest.expect( - queryMap['deletionProtection']!.first, - unittest.equals('$arg_deletionProtection'), - ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), @@ -84761,23 +85966,17 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setDeletionProtection( - arg_project, arg_zone, arg_resource, - deletionProtection: arg_deletionProtection, - requestId: arg_requestId, - $fields: arg_$fields); + final response = await res.resume(arg_project, arg_zone, arg_instance, + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--setDiskAutoDelete', () async { + unittest.test('method--sendDiagnosticInterrupt', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; final arg_project = 'foo'; final arg_zone = 'foo'; final arg_instance = 'foo'; - final arg_autoDelete = true; - final arg_deviceName = 'foo'; - final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -84827,7 +86026,7 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/setDiskAutoDelete', pathOffset); + index = path.indexOf('/sendDiagnosticInterrupt', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -84837,10 +86036,10 @@ void main() { unittest.equals('$arg_instance'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/setDiskAutoDelete'), + path.substring(pathOffset, pathOffset + 24), + unittest.equals('/sendDiagnosticInterrupt'), ); - pathOffset += 18; + pathOffset += 24; final query = req.url.query; var queryOffset = 0; @@ -84857,18 +86056,6 @@ void main() { ); } } - unittest.expect( - queryMap['autoDelete']!.first, - unittest.equals('$arg_autoDelete'), - ); - unittest.expect( - queryMap['deviceName']!.first, - unittest.equals(arg_deviceName), - ); - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -84877,28 +86064,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = ''; return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setDiskAutoDelete( - arg_project, arg_zone, arg_instance, arg_autoDelete, arg_deviceName, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + await res.sendDiagnosticInterrupt(arg_project, arg_zone, arg_instance, + $fields: arg_$fields); }); - unittest.test('method--setIamPolicy', () async { + unittest.test('method--setDeletionProtection', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; - final arg_request = buildZoneSetPolicyRequest(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_resource = 'foo'; + final arg_deletionProtection = true; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.ZoneSetPolicyRequest.fromJson( - json as core.Map); - checkZoneSetPolicyRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -84946,7 +86128,7 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/setIamPolicy', pathOffset); + index = path.indexOf('/setDeletionProtection', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -84956,10 +86138,10 @@ void main() { unittest.equals('$arg_resource'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/setIamPolicy'), + path.substring(pathOffset, pathOffset + 22), + unittest.equals('/setDeletionProtection'), ); - pathOffset += 13; + pathOffset += 22; final query = req.url.query; var queryOffset = 0; @@ -84977,113 +86159,9 @@ void main() { } } unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildPolicy()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.setIamPolicy( - arg_request, arg_project, arg_zone, arg_resource, - $fields: arg_$fields); - checkPolicy(response as api.Policy); - }); - - unittest.test('method--setLabels', () async { - final mock = HttpServerMock(); - final res = api.ComputeApi(mock).instances; - final arg_request = buildInstancesSetLabelsRequest(); - final arg_project = 'foo'; - final arg_zone = 'foo'; - final arg_instance = 'foo'; - final arg_requestId = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.InstancesSetLabelsRequest.fromJson( - json as core.Map); - checkInstancesSetLabelsRequest(obj); - - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('compute/v1/'), - ); - pathOffset += 11; - unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('projects/'), - ); - pathOffset += 9; - index = path.indexOf('/zones/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_project'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/zones/'), - ); - pathOffset += 7; - index = path.indexOf('/instances/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_zone'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('/instances/'), - ); - pathOffset += 11; - index = path.indexOf('/setLabels', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_instance'), + queryMap['deletionProtection']!.first, + unittest.equals('$arg_deletionProtection'), ); - unittest.expect( - path.substring(pathOffset, pathOffset + 10), - unittest.equals('/setLabels'), - ); - pathOffset += 10; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), @@ -85099,26 +86177,25 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setLabels( - arg_request, arg_project, arg_zone, arg_instance, - requestId: arg_requestId, $fields: arg_$fields); + final response = await res.setDeletionProtection( + arg_project, arg_zone, arg_resource, + deletionProtection: arg_deletionProtection, + requestId: arg_requestId, + $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--setMachineResources', () async { + unittest.test('method--setDiskAutoDelete', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; - final arg_request = buildInstancesSetMachineResourcesRequest(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_instance = 'foo'; + final arg_autoDelete = true; + final arg_deviceName = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.InstancesSetMachineResourcesRequest.fromJson( - json as core.Map); - checkInstancesSetMachineResourcesRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -85166,7 +86243,7 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/setMachineResources', pathOffset); + index = path.indexOf('/setDiskAutoDelete', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -85176,10 +86253,10 @@ void main() { unittest.equals('$arg_instance'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 20), - unittest.equals('/setMachineResources'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/setDiskAutoDelete'), ); - pathOffset += 20; + pathOffset += 18; final query = req.url.query; var queryOffset = 0; @@ -85196,6 +86273,14 @@ void main() { ); } } + unittest.expect( + queryMap['autoDelete']!.first, + unittest.equals('$arg_autoDelete'), + ); + unittest.expect( + queryMap['deviceName']!.first, + unittest.equals(arg_deviceName), + ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), @@ -85211,25 +86296,24 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setMachineResources( - arg_request, arg_project, arg_zone, arg_instance, + final response = await res.setDiskAutoDelete( + arg_project, arg_zone, arg_instance, arg_autoDelete, arg_deviceName, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--setMachineType', () async { + unittest.test('method--setIamPolicy', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; - final arg_request = buildInstancesSetMachineTypeRequest(); + final arg_request = buildZoneSetPolicyRequest(); final arg_project = 'foo'; final arg_zone = 'foo'; - final arg_instance = 'foo'; - final arg_requestId = 'foo'; + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.InstancesSetMachineTypeRequest.fromJson( + final obj = api.ZoneSetPolicyRequest.fromJson( json as core.Map); - checkInstancesSetMachineTypeRequest(obj); + checkZoneSetPolicyRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -85278,20 +86362,20 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/setMachineType', pathOffset); + index = path.indexOf('/setIamPolicy', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_instance'), + unittest.equals('$arg_resource'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('/setMachineType'), + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/setIamPolicy'), ); - pathOffset += 15; + pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -85308,10 +86392,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -85320,28 +86400,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setMachineType( - arg_request, arg_project, arg_zone, arg_instance, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.setIamPolicy( + arg_request, arg_project, arg_zone, arg_resource, + $fields: arg_$fields); + checkPolicy(response as api.Policy); }); - unittest.test('method--setMetadata', () async { + unittest.test('method--setLabels', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; - final arg_request = buildMetadata(); + final arg_request = buildInstancesSetLabelsRequest(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_instance = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.Metadata.fromJson(json as core.Map); - checkMetadata(obj); + final obj = api.InstancesSetLabelsRequest.fromJson( + json as core.Map); + checkInstancesSetLabelsRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -85390,7 +86470,7 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/setMetadata', pathOffset); + index = path.indexOf('/setLabels', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -85400,10 +86480,10 @@ void main() { unittest.equals('$arg_instance'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 12), - unittest.equals('/setMetadata'), + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/setLabels'), ); - pathOffset += 12; + pathOffset += 10; final query = req.url.query; var queryOffset = 0; @@ -85435,25 +86515,25 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setMetadata( + final response = await res.setLabels( arg_request, arg_project, arg_zone, arg_instance, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--setMinCpuPlatform', () async { + unittest.test('method--setMachineResources', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; - final arg_request = buildInstancesSetMinCpuPlatformRequest(); + final arg_request = buildInstancesSetMachineResourcesRequest(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_instance = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.InstancesSetMinCpuPlatformRequest.fromJson( + final obj = api.InstancesSetMachineResourcesRequest.fromJson( json as core.Map); - checkInstancesSetMinCpuPlatformRequest(obj); + checkInstancesSetMachineResourcesRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -85502,7 +86582,7 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/setMinCpuPlatform', pathOffset); + index = path.indexOf('/setMachineResources', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -85512,10 +86592,10 @@ void main() { unittest.equals('$arg_instance'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/setMinCpuPlatform'), + path.substring(pathOffset, pathOffset + 20), + unittest.equals('/setMachineResources'), ); - pathOffset += 18; + pathOffset += 20; final query = req.url.query; var queryOffset = 0; @@ -85547,25 +86627,25 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setMinCpuPlatform( + final response = await res.setMachineResources( arg_request, arg_project, arg_zone, arg_instance, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--setName', () async { + unittest.test('method--setMachineType', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; - final arg_request = buildInstancesSetNameRequest(); + final arg_request = buildInstancesSetMachineTypeRequest(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_instance = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.InstancesSetNameRequest.fromJson( + final obj = api.InstancesSetMachineTypeRequest.fromJson( json as core.Map); - checkInstancesSetNameRequest(obj); + checkInstancesSetMachineTypeRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -85614,7 +86694,7 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/setName', pathOffset); + index = path.indexOf('/setMachineType', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -85624,10 +86704,10 @@ void main() { unittest.equals('$arg_instance'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 8), - unittest.equals('/setName'), + path.substring(pathOffset, pathOffset + 15), + unittest.equals('/setMachineType'), ); - pathOffset += 8; + pathOffset += 15; final query = req.url.query; var queryOffset = 0; @@ -85659,25 +86739,25 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setName( + final response = await res.setMachineType( arg_request, arg_project, arg_zone, arg_instance, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--setScheduling', () async { + unittest.test('method--setMetadata', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; - final arg_request = buildScheduling(); + final arg_request = buildMetadata(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_instance = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.Scheduling.fromJson( - json as core.Map); - checkScheduling(obj); + final obj = + api.Metadata.fromJson(json as core.Map); + checkMetadata(obj); final path = req.url.path; var pathOffset = 0; @@ -85726,7 +86806,7 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/setScheduling', pathOffset); + index = path.indexOf('/setMetadata', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -85736,10 +86816,10 @@ void main() { unittest.equals('$arg_instance'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 14), - unittest.equals('/setScheduling'), + path.substring(pathOffset, pathOffset + 12), + unittest.equals('/setMetadata'), ); - pathOffset += 14; + pathOffset += 12; final query = req.url.query; var queryOffset = 0; @@ -85771,25 +86851,25 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setScheduling( + final response = await res.setMetadata( arg_request, arg_project, arg_zone, arg_instance, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--setSecurityPolicy', () async { + unittest.test('method--setMinCpuPlatform', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; - final arg_request = buildInstancesSetSecurityPolicyRequest(); + final arg_request = buildInstancesSetMinCpuPlatformRequest(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_instance = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.InstancesSetSecurityPolicyRequest.fromJson( + final obj = api.InstancesSetMinCpuPlatformRequest.fromJson( json as core.Map); - checkInstancesSetSecurityPolicyRequest(obj); + checkInstancesSetMinCpuPlatformRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -85838,7 +86918,7 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/setSecurityPolicy', pathOffset); + index = path.indexOf('/setMinCpuPlatform', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -85849,7 +86929,7 @@ void main() { ); unittest.expect( path.substring(pathOffset, pathOffset + 18), - unittest.equals('/setSecurityPolicy'), + unittest.equals('/setMinCpuPlatform'), ); pathOffset += 18; @@ -85883,25 +86963,25 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setSecurityPolicy( + final response = await res.setMinCpuPlatform( arg_request, arg_project, arg_zone, arg_instance, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--setServiceAccount', () async { + unittest.test('method--setName', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; - final arg_request = buildInstancesSetServiceAccountRequest(); + final arg_request = buildInstancesSetNameRequest(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_instance = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.InstancesSetServiceAccountRequest.fromJson( + final obj = api.InstancesSetNameRequest.fromJson( json as core.Map); - checkInstancesSetServiceAccountRequest(obj); + checkInstancesSetNameRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -85950,7 +87030,7 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/setServiceAccount', pathOffset); + index = path.indexOf('/setName', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -85960,10 +87040,10 @@ void main() { unittest.equals('$arg_instance'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/setServiceAccount'), + path.substring(pathOffset, pathOffset + 8), + unittest.equals('/setName'), ); - pathOffset += 18; + pathOffset += 8; final query = req.url.query; var queryOffset = 0; @@ -85995,25 +87075,25 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setServiceAccount( + final response = await res.setName( arg_request, arg_project, arg_zone, arg_instance, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--setShieldedInstanceIntegrityPolicy', () async { + unittest.test('method--setScheduling', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; - final arg_request = buildShieldedInstanceIntegrityPolicy(); + final arg_request = buildScheduling(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_instance = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.ShieldedInstanceIntegrityPolicy.fromJson( + final obj = api.Scheduling.fromJson( json as core.Map); - checkShieldedInstanceIntegrityPolicy(obj); + checkScheduling(obj); final path = req.url.path; var pathOffset = 0; @@ -86062,7 +87142,7 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/setShieldedInstanceIntegrityPolicy', pathOffset); + index = path.indexOf('/setScheduling', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -86072,10 +87152,10 @@ void main() { unittest.equals('$arg_instance'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 35), - unittest.equals('/setShieldedInstanceIntegrityPolicy'), + path.substring(pathOffset, pathOffset + 14), + unittest.equals('/setScheduling'), ); - pathOffset += 35; + pathOffset += 14; final query = req.url.query; var queryOffset = 0; @@ -86107,25 +87187,25 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setShieldedInstanceIntegrityPolicy( + final response = await res.setScheduling( arg_request, arg_project, arg_zone, arg_instance, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--setTags', () async { + unittest.test('method--setSecurityPolicy', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; - final arg_request = buildTags(); + final arg_request = buildInstancesSetSecurityPolicyRequest(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_instance = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.Tags.fromJson(json as core.Map); - checkTags(obj); + final obj = api.InstancesSetSecurityPolicyRequest.fromJson( + json as core.Map); + checkInstancesSetSecurityPolicyRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -86174,7 +87254,7 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/setTags', pathOffset); + index = path.indexOf('/setSecurityPolicy', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -86184,10 +87264,10 @@ void main() { unittest.equals('$arg_instance'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 8), - unittest.equals('/setTags'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/setSecurityPolicy'), ); - pathOffset += 8; + pathOffset += 18; final query = req.url.query; var queryOffset = 0; @@ -86219,22 +87299,26 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setTags( + final response = await res.setSecurityPolicy( arg_request, arg_project, arg_zone, arg_instance, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--simulateMaintenanceEvent', () async { + unittest.test('method--setServiceAccount', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; + final arg_request = buildInstancesSetServiceAccountRequest(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_instance = 'foo'; final arg_requestId = 'foo'; - final arg_withExtendedNotifications = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.InstancesSetServiceAccountRequest.fromJson( + json as core.Map); + checkInstancesSetServiceAccountRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -86282,7 +87366,7 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/simulateMaintenanceEvent', pathOffset); + index = path.indexOf('/setServiceAccount', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -86292,10 +87376,10 @@ void main() { unittest.equals('$arg_instance'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 25), - unittest.equals('/simulateMaintenanceEvent'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/setServiceAccount'), ); - pathOffset += 25; + pathOffset += 18; final query = req.url.query; var queryOffset = 0; @@ -86316,10 +87400,6 @@ void main() { queryMap['requestId']!.first, unittest.equals(arg_requestId), ); - unittest.expect( - queryMap['withExtendedNotifications']!.first, - unittest.equals('$arg_withExtendedNotifications'), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -86331,23 +87411,26 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.simulateMaintenanceEvent( - arg_project, arg_zone, arg_instance, - requestId: arg_requestId, - withExtendedNotifications: arg_withExtendedNotifications, - $fields: arg_$fields); + final response = await res.setServiceAccount( + arg_request, arg_project, arg_zone, arg_instance, + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--start', () async { + unittest.test('method--setShieldedInstanceIntegrityPolicy', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; + final arg_request = buildShieldedInstanceIntegrityPolicy(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_instance = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.ShieldedInstanceIntegrityPolicy.fromJson( + json as core.Map); + checkShieldedInstanceIntegrityPolicy(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -86395,7 +87478,7 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/start', pathOffset); + index = path.indexOf('/setShieldedInstanceIntegrityPolicy', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -86405,10 +87488,10 @@ void main() { unittest.equals('$arg_instance'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 6), - unittest.equals('/start'), + path.substring(pathOffset, pathOffset + 35), + unittest.equals('/setShieldedInstanceIntegrityPolicy'), ); - pathOffset += 6; + pathOffset += 35; final query = req.url.query; var queryOffset = 0; @@ -86440,24 +87523,25 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.start(arg_project, arg_zone, arg_instance, + final response = await res.setShieldedInstanceIntegrityPolicy( + arg_request, arg_project, arg_zone, arg_instance, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--startWithEncryptionKey', () async { + unittest.test('method--setTags', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; - final arg_request = buildInstancesStartWithEncryptionKeyRequest(); + final arg_request = buildTags(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_instance = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.InstancesStartWithEncryptionKeyRequest.fromJson( - json as core.Map); - checkInstancesStartWithEncryptionKeyRequest(obj); + final obj = + api.Tags.fromJson(json as core.Map); + checkTags(obj); final path = req.url.path; var pathOffset = 0; @@ -86506,7 +87590,7 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/startWithEncryptionKey', pathOffset); + index = path.indexOf('/setTags', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -86516,10 +87600,10 @@ void main() { unittest.equals('$arg_instance'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/startWithEncryptionKey'), + path.substring(pathOffset, pathOffset + 8), + unittest.equals('/setTags'), ); - pathOffset += 23; + pathOffset += 8; final query = req.url.query; var queryOffset = 0; @@ -86551,20 +87635,20 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.startWithEncryptionKey( + final response = await res.setTags( arg_request, arg_project, arg_zone, arg_instance, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--stop', () async { + unittest.test('method--simulateMaintenanceEvent', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; final arg_project = 'foo'; final arg_zone = 'foo'; final arg_instance = 'foo'; - final arg_discardLocalSsd = true; final arg_requestId = 'foo'; + final arg_withExtendedNotifications = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -86614,7 +87698,7 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/stop', pathOffset); + index = path.indexOf('/simulateMaintenanceEvent', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -86624,10 +87708,10 @@ void main() { unittest.equals('$arg_instance'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 5), - unittest.equals('/stop'), + path.substring(pathOffset, pathOffset + 25), + unittest.equals('/simulateMaintenanceEvent'), ); - pathOffset += 5; + pathOffset += 25; final query = req.url.query; var queryOffset = 0; @@ -86644,14 +87728,14 @@ void main() { ); } } - unittest.expect( - queryMap['discardLocalSsd']!.first, - unittest.equals('$arg_discardLocalSsd'), - ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), ); + unittest.expect( + queryMap['withExtendedNotifications']!.first, + unittest.equals('$arg_withExtendedNotifications'), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -86663,20 +87747,20 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.stop(arg_project, arg_zone, arg_instance, - discardLocalSsd: arg_discardLocalSsd, + final response = await res.simulateMaintenanceEvent( + arg_project, arg_zone, arg_instance, requestId: arg_requestId, + withExtendedNotifications: arg_withExtendedNotifications, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--suspend', () async { + unittest.test('method--start', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; final arg_project = 'foo'; final arg_zone = 'foo'; final arg_instance = 'foo'; - final arg_discardLocalSsd = true; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -86727,7 +87811,7 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/suspend', pathOffset); + index = path.indexOf('/start', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -86737,10 +87821,10 @@ void main() { unittest.equals('$arg_instance'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 8), - unittest.equals('/suspend'), + path.substring(pathOffset, pathOffset + 6), + unittest.equals('/start'), ); - pathOffset += 8; + pathOffset += 6; final query = req.url.query; var queryOffset = 0; @@ -86757,10 +87841,6 @@ void main() { ); } } - unittest.expect( - queryMap['discardLocalSsd']!.first, - unittest.equals('$arg_discardLocalSsd'), - ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), @@ -86776,25 +87856,24 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.suspend(arg_project, arg_zone, arg_instance, - discardLocalSsd: arg_discardLocalSsd, - requestId: arg_requestId, - $fields: arg_$fields); + final response = await res.start(arg_project, arg_zone, arg_instance, + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--testIamPermissions', () async { + unittest.test('method--startWithEncryptionKey', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; - final arg_request = buildTestPermissionsRequest(); + final arg_request = buildInstancesStartWithEncryptionKeyRequest(); final arg_project = 'foo'; final arg_zone = 'foo'; - final arg_resource = 'foo'; + final arg_instance = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.TestPermissionsRequest.fromJson( + final obj = api.InstancesStartWithEncryptionKeyRequest.fromJson( json as core.Map); - checkTestPermissionsRequest(obj); + checkInstancesStartWithEncryptionKeyRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -86843,20 +87922,20 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/testIamPermissions', pathOffset); + index = path.indexOf('/startWithEncryptionKey', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_resource'), + unittest.equals('$arg_instance'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 19), - unittest.equals('/testIamPermissions'), + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/startWithEncryptionKey'), ); - pathOffset += 19; + pathOffset += 23; final query = req.url.query; var queryOffset = 0; @@ -86873,6 +87952,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -86881,31 +87964,25 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildTestPermissionsResponse()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.testIamPermissions( - arg_request, arg_project, arg_zone, arg_resource, - $fields: arg_$fields); - checkTestPermissionsResponse(response as api.TestPermissionsResponse); + final response = await res.startWithEncryptionKey( + arg_request, arg_project, arg_zone, arg_instance, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--update', () async { + unittest.test('method--stop', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; - final arg_request = buildInstance(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_instance = 'foo'; - final arg_minimalAction = 'foo'; - final arg_mostDisruptiveAllowedAction = 'foo'; + final arg_discardLocalSsd = true; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.Instance.fromJson(json as core.Map); - checkInstance(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -86953,12 +88030,20 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + index = path.indexOf('/stop', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, unittest.equals('$arg_instance'), ); + unittest.expect( + path.substring(pathOffset, pathOffset + 5), + unittest.equals('/stop'), + ); + pathOffset += 5; final query = req.url.query; var queryOffset = 0; @@ -86976,12 +88061,8 @@ void main() { } } unittest.expect( - queryMap['minimalAction']!.first, - unittest.equals(arg_minimalAction), - ); - unittest.expect( - queryMap['mostDisruptiveAllowedAction']!.first, - unittest.equals(arg_mostDisruptiveAllowedAction), + queryMap['discardLocalSsd']!.first, + unittest.equals('$arg_discardLocalSsd'), ); unittest.expect( queryMap['requestId']!.first, @@ -86998,30 +88079,23 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.update( - arg_request, arg_project, arg_zone, arg_instance, - minimalAction: arg_minimalAction, - mostDisruptiveAllowedAction: arg_mostDisruptiveAllowedAction, + final response = await res.stop(arg_project, arg_zone, arg_instance, + discardLocalSsd: arg_discardLocalSsd, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--updateAccessConfig', () async { + unittest.test('method--suspend', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; - final arg_request = buildAccessConfig(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_instance = 'foo'; - final arg_networkInterface = 'foo'; + final arg_discardLocalSsd = true; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.AccessConfig.fromJson( - json as core.Map); - checkAccessConfig(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -87069,7 +88143,7 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/updateAccessConfig', pathOffset); + index = path.indexOf('/suspend', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -87079,10 +88153,10 @@ void main() { unittest.equals('$arg_instance'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 19), - unittest.equals('/updateAccessConfig'), + path.substring(pathOffset, pathOffset + 8), + unittest.equals('/suspend'), ); - pathOffset += 19; + pathOffset += 8; final query = req.url.query; var queryOffset = 0; @@ -87100,8 +88174,8 @@ void main() { } } unittest.expect( - queryMap['networkInterface']!.first, - unittest.equals(arg_networkInterface), + queryMap['discardLocalSsd']!.first, + unittest.equals('$arg_discardLocalSsd'), ); unittest.expect( queryMap['requestId']!.first, @@ -87118,25 +88192,25 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.updateAccessConfig(arg_request, arg_project, - arg_zone, arg_instance, arg_networkInterface, - requestId: arg_requestId, $fields: arg_$fields); + final response = await res.suspend(arg_project, arg_zone, arg_instance, + discardLocalSsd: arg_discardLocalSsd, + requestId: arg_requestId, + $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--updateDisplayDevice', () async { + unittest.test('method--testIamPermissions', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; - final arg_request = buildDisplayDevice(); + final arg_request = buildTestPermissionsRequest(); final arg_project = 'foo'; final arg_zone = 'foo'; - final arg_instance = 'foo'; - final arg_requestId = 'foo'; + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.DisplayDevice.fromJson( + final obj = api.TestPermissionsRequest.fromJson( json as core.Map); - checkDisplayDevice(obj); + checkTestPermissionsRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -87185,20 +88259,20 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/updateDisplayDevice', pathOffset); + index = path.indexOf('/testIamPermissions', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_instance'), + unittest.equals('$arg_resource'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 20), - unittest.equals('/updateDisplayDevice'), + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/testIamPermissions'), ); - pathOffset += 20; + pathOffset += 19; final query = req.url.query; var queryOffset = 0; @@ -87215,10 +88289,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -87227,29 +88297,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildTestPermissionsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.updateDisplayDevice( - arg_request, arg_project, arg_zone, arg_instance, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.testIamPermissions( + arg_request, arg_project, arg_zone, arg_resource, + $fields: arg_$fields); + checkTestPermissionsResponse(response as api.TestPermissionsResponse); }); - unittest.test('method--updateNetworkInterface', () async { + unittest.test('method--update', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; - final arg_request = buildNetworkInterface(); + final arg_request = buildInstance(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_instance = 'foo'; - final arg_networkInterface = 'foo'; + final arg_minimalAction = 'foo'; + final arg_mostDisruptiveAllowedAction = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.NetworkInterface.fromJson( - json as core.Map); - checkNetworkInterface(obj); + final obj = + api.Instance.fromJson(json as core.Map); + checkInstance(obj); final path = req.url.path; var pathOffset = 0; @@ -87298,20 +88369,12 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/updateNetworkInterface', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, unittest.equals('$arg_instance'), ); - unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/updateNetworkInterface'), - ); - pathOffset += 23; final query = req.url.query; var queryOffset = 0; @@ -87329,8 +88392,12 @@ void main() { } } unittest.expect( - queryMap['networkInterface']!.first, - unittest.equals(arg_networkInterface), + queryMap['minimalAction']!.first, + unittest.equals(arg_minimalAction), + ); + unittest.expect( + queryMap['mostDisruptiveAllowedAction']!.first, + unittest.equals(arg_mostDisruptiveAllowedAction), ); unittest.expect( queryMap['requestId']!.first, @@ -87347,25 +88414,29 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.updateNetworkInterface(arg_request, - arg_project, arg_zone, arg_instance, arg_networkInterface, - requestId: arg_requestId, $fields: arg_$fields); + final response = await res.update( + arg_request, arg_project, arg_zone, arg_instance, + minimalAction: arg_minimalAction, + mostDisruptiveAllowedAction: arg_mostDisruptiveAllowedAction, + requestId: arg_requestId, + $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--updateShieldedInstanceConfig', () async { + unittest.test('method--updateAccessConfig', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instances; - final arg_request = buildShieldedInstanceConfig(); + final arg_request = buildAccessConfig(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_instance = 'foo'; + final arg_networkInterface = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.ShieldedInstanceConfig.fromJson( + final obj = api.AccessConfig.fromJson( json as core.Map); - checkShieldedInstanceConfig(obj); + checkAccessConfig(obj); final path = req.url.path; var pathOffset = 0; @@ -87414,7 +88485,7 @@ void main() { unittest.equals('/instances/'), ); pathOffset += 11; - index = path.indexOf('/updateShieldedInstanceConfig', pathOffset); + index = path.indexOf('/updateAccessConfig', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -87424,10 +88495,10 @@ void main() { unittest.equals('$arg_instance'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 29), - unittest.equals('/updateShieldedInstanceConfig'), + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/updateAccessConfig'), ); - pathOffset += 29; + pathOffset += 19; final query = req.url.query; var queryOffset = 0; @@ -87444,6 +88515,10 @@ void main() { ); } } + unittest.expect( + queryMap['networkInterface']!.first, + unittest.equals(arg_networkInterface), + ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), @@ -87459,27 +88534,26 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.updateShieldedInstanceConfig( - arg_request, arg_project, arg_zone, arg_instance, + final response = await res.updateAccessConfig(arg_request, arg_project, + arg_zone, arg_instance, arg_networkInterface, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - }); - unittest.group('resource-InstantSnapshotsResource', () { - unittest.test('method--aggregatedList', () async { + unittest.test('method--updateDisplayDevice', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).instantSnapshots; + final res = api.ComputeApi(mock).instances; + final arg_request = buildDisplayDevice(); final arg_project = 'foo'; - final arg_filter = 'foo'; - final arg_includeAllScopes = true; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; - final arg_serviceProjectNumber = 'foo'; + final arg_zone = 'foo'; + final arg_instance = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.DisplayDevice.fromJson( + json as core.Map); + checkDisplayDevice(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -87499,7 +88573,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/aggregated/instantSnapshots', pathOffset); + index = path.indexOf('/zones/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -87509,10 +88583,38 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 28), - unittest.equals('/aggregated/instantSnapshots'), + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/zones/'), ); - pathOffset += 28; + pathOffset += 7; + index = path.indexOf('/instances/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_zone'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('/instances/'), + ); + pathOffset += 11; + index = path.indexOf('/updateDisplayDevice', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_instance'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 20), + unittest.equals('/updateDisplayDevice'), + ); + pathOffset += 20; final query = req.url.query; var queryOffset = 0; @@ -87530,32 +88632,8 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - queryMap['includeAllScopes']!.first, - unittest.equals('$arg_includeAllScopes'), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), - ); - unittest.expect( - queryMap['serviceProjectNumber']!.first, - unittest.equals(arg_serviceProjectNumber), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -87565,31 +88643,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildInstantSnapshotAggregatedList()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.aggregatedList(arg_project, - filter: arg_filter, - includeAllScopes: arg_includeAllScopes, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - serviceProjectNumber: arg_serviceProjectNumber, - $fields: arg_$fields); - checkInstantSnapshotAggregatedList( - response as api.InstantSnapshotAggregatedList); + final response = await res.updateDisplayDevice( + arg_request, arg_project, arg_zone, arg_instance, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--delete', () async { + unittest.test('method--updateNetworkInterface', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).instantSnapshots; + final res = api.ComputeApi(mock).instances; + final arg_request = buildNetworkInterface(); final arg_project = 'foo'; final arg_zone = 'foo'; - final arg_instantSnapshot = 'foo'; + final arg_instance = 'foo'; + final arg_networkInterface = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.NetworkInterface.fromJson( + json as core.Map); + checkNetworkInterface(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -87623,7 +88700,7 @@ void main() { unittest.equals('/zones/'), ); pathOffset += 7; - index = path.indexOf('/instantSnapshots/', pathOffset); + index = path.indexOf('/instances/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -87633,16 +88710,24 @@ void main() { unittest.equals('$arg_zone'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/instantSnapshots/'), + path.substring(pathOffset, pathOffset + 11), + unittest.equals('/instances/'), ); - pathOffset += 18; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + pathOffset += 11; + index = path.indexOf('/updateNetworkInterface', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_instantSnapshot'), + unittest.equals('$arg_instance'), ); + unittest.expect( + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/updateNetworkInterface'), + ); + pathOffset += 23; final query = req.url.query; var queryOffset = 0; @@ -87659,6 +88744,10 @@ void main() { ); } } + unittest.expect( + queryMap['networkInterface']!.first, + unittest.equals(arg_networkInterface), + ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), @@ -87674,20 +88763,26 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete( - arg_project, arg_zone, arg_instantSnapshot, + final response = await res.updateNetworkInterface(arg_request, + arg_project, arg_zone, arg_instance, arg_networkInterface, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--get', () async { + unittest.test('method--updateShieldedInstanceConfig', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).instantSnapshots; + final res = api.ComputeApi(mock).instances; + final arg_request = buildShieldedInstanceConfig(); final arg_project = 'foo'; final arg_zone = 'foo'; - final arg_instantSnapshot = 'foo'; + final arg_instance = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.ShieldedInstanceConfig.fromJson( + json as core.Map); + checkShieldedInstanceConfig(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -87721,7 +88816,7 @@ void main() { unittest.equals('/zones/'), ); pathOffset += 7; - index = path.indexOf('/instantSnapshots/', pathOffset); + index = path.indexOf('/instances/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -87731,16 +88826,24 @@ void main() { unittest.equals('$arg_zone'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/instantSnapshots/'), + path.substring(pathOffset, pathOffset + 11), + unittest.equals('/instances/'), ); - pathOffset += 18; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + pathOffset += 11; + index = path.indexOf('/updateShieldedInstanceConfig', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_instantSnapshot'), + unittest.equals('$arg_instance'), ); + unittest.expect( + path.substring(pathOffset, pathOffset + 29), + unittest.equals('/updateShieldedInstanceConfig'), + ); + pathOffset += 29; final query = req.url.query; var queryOffset = 0; @@ -87757,6 +88860,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -87765,21 +88872,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildInstantSnapshot()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_project, arg_zone, arg_instantSnapshot, - $fields: arg_$fields); - checkInstantSnapshot(response as api.InstantSnapshot); + final response = await res.updateShieldedInstanceConfig( + arg_request, arg_project, arg_zone, arg_instance, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); + }); - unittest.test('method--getIamPolicy', () async { + unittest.group('resource-InstantSnapshotsResource', () { + unittest.test('method--aggregatedList', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instantSnapshots; final arg_project = 'foo'; - final arg_zone = 'foo'; - final arg_resource = 'foo'; - final arg_optionsRequestedPolicyVersion = 42; + final arg_filter = 'foo'; + final arg_includeAllScopes = true; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; + final arg_serviceProjectNumber = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -87801,7 +88915,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/zones/', pathOffset); + index = path.indexOf('/aggregated/instantSnapshots', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -87811,38 +88925,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/zones/'), - ); - pathOffset += 7; - index = path.indexOf('/instantSnapshots/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_zone'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/instantSnapshots/'), - ); - pathOffset += 18; - index = path.indexOf('/getIamPolicy', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_resource'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/getIamPolicy'), + path.substring(pathOffset, pathOffset + 28), + unittest.equals('/aggregated/instantSnapshots'), ); - pathOffset += 13; + pathOffset += 28; final query = req.url.query; var queryOffset = 0; @@ -87860,8 +88946,32 @@ void main() { } } unittest.expect( - core.int.parse(queryMap['optionsRequestedPolicyVersion']!.first), - unittest.equals(arg_optionsRequestedPolicyVersion), + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['includeAllScopes']!.first, + unittest.equals('$arg_includeAllScopes'), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); + unittest.expect( + queryMap['serviceProjectNumber']!.first, + unittest.equals(arg_serviceProjectNumber), ); unittest.expect( queryMap['fields']!.first, @@ -87871,29 +88981,31 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPolicy()); + final resp = convert.json.encode(buildInstantSnapshotAggregatedList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getIamPolicy( - arg_project, arg_zone, arg_resource, - optionsRequestedPolicyVersion: arg_optionsRequestedPolicyVersion, + final response = await res.aggregatedList(arg_project, + filter: arg_filter, + includeAllScopes: arg_includeAllScopes, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + serviceProjectNumber: arg_serviceProjectNumber, $fields: arg_$fields); - checkPolicy(response as api.Policy); + checkInstantSnapshotAggregatedList( + response as api.InstantSnapshotAggregatedList); }); - unittest.test('method--insert', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instantSnapshots; - final arg_request = buildInstantSnapshot(); final arg_project = 'foo'; final arg_zone = 'foo'; + final arg_instantSnapshot = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.InstantSnapshot.fromJson( - json as core.Map); - checkInstantSnapshot(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -87927,7 +89039,7 @@ void main() { unittest.equals('/zones/'), ); pathOffset += 7; - index = path.indexOf('/instantSnapshots', pathOffset); + index = path.indexOf('/instantSnapshots/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -87937,10 +89049,16 @@ void main() { unittest.equals('$arg_zone'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/instantSnapshots'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/instantSnapshots/'), + ); + pathOffset += 18; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_instantSnapshot'), ); - pathOffset += 17; final query = req.url.query; var queryOffset = 0; @@ -87972,21 +89090,18 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.insert(arg_request, arg_project, arg_zone, + final response = await res.delete( + arg_project, arg_zone, arg_instantSnapshot, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--list', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instantSnapshots; final arg_project = 'foo'; final arg_zone = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_instantSnapshot = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -88022,7 +89137,7 @@ void main() { unittest.equals('/zones/'), ); pathOffset += 7; - index = path.indexOf('/instantSnapshots', pathOffset); + index = path.indexOf('/instantSnapshots/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -88032,10 +89147,16 @@ void main() { unittest.equals('$arg_zone'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/instantSnapshots'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/instantSnapshots/'), + ); + pathOffset += 18; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_instantSnapshot'), ); - pathOffset += 17; final query = req.url.query; var queryOffset = 0; @@ -88052,26 +89173,6 @@ void main() { ); } } - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -88080,32 +89181,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildInstantSnapshotList()); + final resp = convert.json.encode(buildInstantSnapshot()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_zone, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, + final response = await res.get(arg_project, arg_zone, arg_instantSnapshot, $fields: arg_$fields); - checkInstantSnapshotList(response as api.InstantSnapshotList); + checkInstantSnapshot(response as api.InstantSnapshot); }); - unittest.test('method--setIamPolicy', () async { + unittest.test('method--getIamPolicy', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instantSnapshots; - final arg_request = buildZoneSetPolicyRequest(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_resource = 'foo'; + final arg_optionsRequestedPolicyVersion = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.ZoneSetPolicyRequest.fromJson( - json as core.Map); - checkZoneSetPolicyRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -88153,7 +89245,7 @@ void main() { unittest.equals('/instantSnapshots/'), ); pathOffset += 18; - index = path.indexOf('/setIamPolicy', pathOffset); + index = path.indexOf('/getIamPolicy', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -88164,7 +89256,7 @@ void main() { ); unittest.expect( path.substring(pathOffset, pathOffset + 13), - unittest.equals('/setIamPolicy'), + unittest.equals('/getIamPolicy'), ); pathOffset += 13; @@ -88183,6 +89275,10 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['optionsRequestedPolicyVersion']!.first), + unittest.equals(arg_optionsRequestedPolicyVersion), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -88194,25 +89290,25 @@ void main() { final resp = convert.json.encode(buildPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setIamPolicy( - arg_request, arg_project, arg_zone, arg_resource, + final response = await res.getIamPolicy( + arg_project, arg_zone, arg_resource, + optionsRequestedPolicyVersion: arg_optionsRequestedPolicyVersion, $fields: arg_$fields); checkPolicy(response as api.Policy); }); - unittest.test('method--setLabels', () async { + unittest.test('method--insert', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).instantSnapshots; - final arg_request = buildZoneSetLabelsRequest(); + final arg_request = buildInstantSnapshot(); final arg_project = 'foo'; final arg_zone = 'foo'; - final arg_resource = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.ZoneSetLabelsRequest.fromJson( + final obj = api.InstantSnapshot.fromJson( json as core.Map); - checkZoneSetLabelsRequest(obj); + checkInstantSnapshot(obj); final path = req.url.path; var pathOffset = 0; @@ -88247,7 +89343,7 @@ void main() { unittest.equals('/zones/'), ); pathOffset += 7; - index = path.indexOf('/instantSnapshots/', pathOffset); + index = path.indexOf('/instantSnapshots', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -88257,24 +89353,344 @@ void main() { unittest.equals('$arg_zone'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/instantSnapshots/'), - ); - pathOffset += 18; - index = path.indexOf('/setLabels', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_resource'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 10), - unittest.equals('/setLabels'), + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/instantSnapshots'), ); - pathOffset += 10; + pathOffset += 17; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.insert(arg_request, arg_project, arg_zone, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.ComputeApi(mock).instantSnapshots; + final arg_project = 'foo'; + final arg_zone = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('compute/v1/'), + ); + pathOffset += 11; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + index = path.indexOf('/zones/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_project'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/zones/'), + ); + pathOffset += 7; + index = path.indexOf('/instantSnapshots', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_zone'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/instantSnapshots'), + ); + pathOffset += 17; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildInstantSnapshotList()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_project, arg_zone, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkInstantSnapshotList(response as api.InstantSnapshotList); + }); + + unittest.test('method--setIamPolicy', () async { + final mock = HttpServerMock(); + final res = api.ComputeApi(mock).instantSnapshots; + final arg_request = buildZoneSetPolicyRequest(); + final arg_project = 'foo'; + final arg_zone = 'foo'; + final arg_resource = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.ZoneSetPolicyRequest.fromJson( + json as core.Map); + checkZoneSetPolicyRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('compute/v1/'), + ); + pathOffset += 11; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + index = path.indexOf('/zones/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_project'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/zones/'), + ); + pathOffset += 7; + index = path.indexOf('/instantSnapshots/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_zone'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/instantSnapshots/'), + ); + pathOffset += 18; + index = path.indexOf('/setIamPolicy', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_resource'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/setIamPolicy'), + ); + pathOffset += 13; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildPolicy()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.setIamPolicy( + arg_request, arg_project, arg_zone, arg_resource, + $fields: arg_$fields); + checkPolicy(response as api.Policy); + }); + + unittest.test('method--setLabels', () async { + final mock = HttpServerMock(); + final res = api.ComputeApi(mock).instantSnapshots; + final arg_request = buildZoneSetLabelsRequest(); + final arg_project = 'foo'; + final arg_zone = 'foo'; + final arg_resource = 'foo'; + final arg_requestId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.ZoneSetLabelsRequest.fromJson( + json as core.Map); + checkZoneSetLabelsRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('compute/v1/'), + ); + pathOffset += 11; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + index = path.indexOf('/zones/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_project'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/zones/'), + ); + pathOffset += 7; + index = path.indexOf('/instantSnapshots/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_zone'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/instantSnapshots/'), + ); + pathOffset += 18; + index = path.indexOf('/setLabels', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_resource'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/setLabels'), + ); + pathOffset += 10; final query = req.url.query; var queryOffset = 0; @@ -93348,7 +94764,7 @@ void main() { final arg_project = 'foo'; final arg_region = 'foo'; final arg_networkEdgeSecurityService = 'foo'; - final arg_paths = buildUnnamed867(); + final arg_paths = buildUnnamed891(); final arg_requestId = 'foo'; final arg_updateMask = 'foo'; final arg_$fields = 'foo'; @@ -94556,7 +95972,7 @@ void main() { checkOperation(response as api.Operation); }); - unittest.test('method--addRule', () async { + unittest.test('method--addPacketMirroringRule', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).networkFirewallPolicies; final arg_request = buildFirewallPolicyRule(); @@ -94604,7 +96020,7 @@ void main() { unittest.equals('/global/firewallPolicies/'), ); pathOffset += 25; - index = path.indexOf('/addRule', pathOffset); + index = path.indexOf('/addPacketMirroringRule', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -94614,10 +96030,10 @@ void main() { unittest.equals('$arg_firewallPolicy'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 8), - unittest.equals('/addRule'), + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/addPacketMirroringRule'), ); - pathOffset += 8; + pathOffset += 23; final query = req.url.query; var queryOffset = 0; @@ -94657,7 +96073,7 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.addRule( + final response = await res.addPacketMirroringRule( arg_request, arg_project, arg_firewallPolicy, maxPriority: arg_maxPriority, minPriority: arg_minPriority, @@ -94666,15 +96082,21 @@ void main() { checkOperation(response as api.Operation); }); - unittest.test('method--cloneRules', () async { + unittest.test('method--addRule', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).networkFirewallPolicies; + final arg_request = buildFirewallPolicyRule(); final arg_project = 'foo'; final arg_firewallPolicy = 'foo'; + final arg_maxPriority = 42; + final arg_minPriority = 42; final arg_requestId = 'foo'; - final arg_sourceFirewallPolicy = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.FirewallPolicyRule.fromJson( + json as core.Map); + checkFirewallPolicyRule(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -94708,7 +96130,7 @@ void main() { unittest.equals('/global/firewallPolicies/'), ); pathOffset += 25; - index = path.indexOf('/cloneRules', pathOffset); + index = path.indexOf('/addRule', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -94718,10 +96140,10 @@ void main() { unittest.equals('$arg_firewallPolicy'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('/cloneRules'), + path.substring(pathOffset, pathOffset + 8), + unittest.equals('/addRule'), ); - pathOffset += 11; + pathOffset += 8; final query = req.url.query; var queryOffset = 0; @@ -94739,12 +96161,16 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + core.int.parse(queryMap['maxPriority']!.first), + unittest.equals(arg_maxPriority), ); unittest.expect( - queryMap['sourceFirewallPolicy']!.first, - unittest.equals(arg_sourceFirewallPolicy), + core.int.parse(queryMap['minPriority']!.first), + unittest.equals(arg_minPriority), + ); + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -94757,19 +96183,26 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.cloneRules(arg_project, arg_firewallPolicy, + final response = await res.addRule( + arg_request, arg_project, arg_firewallPolicy, + maxPriority: arg_maxPriority, + minPriority: arg_minPriority, requestId: arg_requestId, - sourceFirewallPolicy: arg_sourceFirewallPolicy, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--delete', () async { + unittest.test('method--aggregatedList', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).networkFirewallPolicies; final arg_project = 'foo'; - final arg_firewallPolicy = 'foo'; - final arg_requestId = 'foo'; + final arg_filter = 'foo'; + final arg_includeAllScopes = true; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; + final arg_serviceProjectNumber = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -94791,7 +96224,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/global/firewallPolicies/', pathOffset); + index = path.indexOf('/aggregated/firewallPolicies', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -94801,16 +96234,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 25), - unittest.equals('/global/firewallPolicies/'), - ); - pathOffset += 25; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_firewallPolicy'), + path.substring(pathOffset, pathOffset + 28), + unittest.equals('/aggregated/firewallPolicies'), ); + pathOffset += 28; final query = req.url.query; var queryOffset = 0; @@ -94828,8 +96255,32 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['includeAllScopes']!.first, + unittest.equals('$arg_includeAllScopes'), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); + unittest.expect( + queryMap['serviceProjectNumber']!.first, + unittest.equals(arg_serviceProjectNumber), ); unittest.expect( queryMap['fields']!.first, @@ -94839,19 +96290,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = + convert.json.encode(buildNetworkFirewallPolicyAggregatedList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_project, arg_firewallPolicy, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.aggregatedList(arg_project, + filter: arg_filter, + includeAllScopes: arg_includeAllScopes, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + serviceProjectNumber: arg_serviceProjectNumber, + $fields: arg_$fields); + checkNetworkFirewallPolicyAggregatedList( + response as api.NetworkFirewallPolicyAggregatedList); }); - unittest.test('method--get', () async { + unittest.test('method--cloneRules', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).networkFirewallPolicies; final arg_project = 'foo'; final arg_firewallPolicy = 'foo'; + final arg_requestId = 'foo'; + final arg_sourceFirewallPolicy = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -94887,12 +96349,20 @@ void main() { unittest.equals('/global/firewallPolicies/'), ); pathOffset += 25; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + index = path.indexOf('/cloneRules', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, unittest.equals('$arg_firewallPolicy'), ); + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('/cloneRules'), + ); + pathOffset += 11; final query = req.url.query; var queryOffset = 0; @@ -94909,6 +96379,14 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); + unittest.expect( + queryMap['sourceFirewallPolicy']!.first, + unittest.equals(arg_sourceFirewallPolicy), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -94917,20 +96395,22 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildFirewallPolicy()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.get(arg_project, arg_firewallPolicy, $fields: arg_$fields); - checkFirewallPolicy(response as api.FirewallPolicy); + final response = await res.cloneRules(arg_project, arg_firewallPolicy, + requestId: arg_requestId, + sourceFirewallPolicy: arg_sourceFirewallPolicy, + $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--getAssociation', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).networkFirewallPolicies; final arg_project = 'foo'; final arg_firewallPolicy = 'foo'; - final arg_name = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -94966,20 +96446,12 @@ void main() { unittest.equals('/global/firewallPolicies/'), ); pathOffset += 25; - index = path.indexOf('/getAssociation', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, unittest.equals('$arg_firewallPolicy'), ); - unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('/getAssociation'), - ); - pathOffset += 15; final query = req.url.query; var queryOffset = 0; @@ -94997,8 +96469,8 @@ void main() { } } unittest.expect( - queryMap['name']!.first, - unittest.equals(arg_name), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -95008,20 +96480,19 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildFirewallPolicyAssociation()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getAssociation(arg_project, arg_firewallPolicy, - name: arg_name, $fields: arg_$fields); - checkFirewallPolicyAssociation(response as api.FirewallPolicyAssociation); + final response = await res.delete(arg_project, arg_firewallPolicy, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--getIamPolicy', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).networkFirewallPolicies; final arg_project = 'foo'; - final arg_resource = 'foo'; - final arg_optionsRequestedPolicyVersion = 42; + final arg_firewallPolicy = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -95057,20 +96528,12 @@ void main() { unittest.equals('/global/firewallPolicies/'), ); pathOffset += 25; - index = path.indexOf('/getIamPolicy', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_resource'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/getIamPolicy'), + unittest.equals('$arg_firewallPolicy'), ); - pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -95087,10 +96550,6 @@ void main() { ); } } - unittest.expect( - core.int.parse(queryMap['optionsRequestedPolicyVersion']!.first), - unittest.equals(arg_optionsRequestedPolicyVersion), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -95099,21 +96558,20 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPolicy()); + final resp = convert.json.encode(buildFirewallPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getIamPolicy(arg_project, arg_resource, - optionsRequestedPolicyVersion: arg_optionsRequestedPolicyVersion, - $fields: arg_$fields); - checkPolicy(response as api.Policy); + final response = + await res.get(arg_project, arg_firewallPolicy, $fields: arg_$fields); + checkFirewallPolicy(response as api.FirewallPolicy); }); - unittest.test('method--getRule', () async { + unittest.test('method--getAssociation', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).networkFirewallPolicies; final arg_project = 'foo'; final arg_firewallPolicy = 'foo'; - final arg_priority = 42; + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -95149,7 +96607,7 @@ void main() { unittest.equals('/global/firewallPolicies/'), ); pathOffset += 25; - index = path.indexOf('/getRule', pathOffset); + index = path.indexOf('/getAssociation', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -95159,10 +96617,10 @@ void main() { unittest.equals('$arg_firewallPolicy'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 8), - unittest.equals('/getRule'), + path.substring(pathOffset, pathOffset + 15), + unittest.equals('/getAssociation'), ); - pathOffset += 8; + pathOffset += 15; final query = req.url.query; var queryOffset = 0; @@ -95180,8 +96638,8 @@ void main() { } } unittest.expect( - core.int.parse(queryMap['priority']!.first), - unittest.equals(arg_priority), + queryMap['name']!.first, + unittest.equals(arg_name), ); unittest.expect( queryMap['fields']!.first, @@ -95191,26 +96649,22 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildFirewallPolicyRule()); + final resp = convert.json.encode(buildFirewallPolicyAssociation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getRule(arg_project, arg_firewallPolicy, - priority: arg_priority, $fields: arg_$fields); - checkFirewallPolicyRule(response as api.FirewallPolicyRule); + final response = await res.getAssociation(arg_project, arg_firewallPolicy, + name: arg_name, $fields: arg_$fields); + checkFirewallPolicyAssociation(response as api.FirewallPolicyAssociation); }); - unittest.test('method--insert', () async { + unittest.test('method--getIamPolicy', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).networkFirewallPolicies; - final arg_request = buildFirewallPolicy(); final arg_project = 'foo'; - final arg_requestId = 'foo'; + final arg_resource = 'foo'; + final arg_optionsRequestedPolicyVersion = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.FirewallPolicy.fromJson( - json as core.Map); - checkFirewallPolicy(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -95230,7 +96684,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/global/firewallPolicies', pathOffset); + index = path.indexOf('/global/firewallPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -95240,10 +96694,24 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 24), - unittest.equals('/global/firewallPolicies'), + path.substring(pathOffset, pathOffset + 25), + unittest.equals('/global/firewallPolicies/'), ); - pathOffset += 24; + pathOffset += 25; + index = path.indexOf('/getIamPolicy', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_resource'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/getIamPolicy'), + ); + pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -95261,8 +96729,8 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + core.int.parse(queryMap['optionsRequestedPolicyVersion']!.first), + unittest.equals(arg_optionsRequestedPolicyVersion), ); unittest.expect( queryMap['fields']!.first, @@ -95272,23 +96740,21 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.insert(arg_request, arg_project, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.getIamPolicy(arg_project, arg_resource, + optionsRequestedPolicyVersion: arg_optionsRequestedPolicyVersion, + $fields: arg_$fields); + checkPolicy(response as api.Policy); }); - unittest.test('method--list', () async { + unittest.test('method--getPacketMirroringRule', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).networkFirewallPolicies; final arg_project = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_firewallPolicy = 'foo'; + final arg_priority = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -95310,7 +96776,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/global/firewallPolicies', pathOffset); + index = path.indexOf('/global/firewallPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -95320,10 +96786,24 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 24), - unittest.equals('/global/firewallPolicies'), + path.substring(pathOffset, pathOffset + 25), + unittest.equals('/global/firewallPolicies/'), ); - pathOffset += 24; + pathOffset += 25; + index = path.indexOf('/getPacketMirroringRule', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_firewallPolicy'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/getPacketMirroringRule'), + ); + pathOffset += 23; final query = req.url.query; var queryOffset = 0; @@ -95341,24 +96821,8 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + core.int.parse(queryMap['priority']!.first), + unittest.equals(arg_priority), ); unittest.expect( queryMap['fields']!.first, @@ -95368,32 +96832,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildFirewallPolicyList()); + final resp = convert.json.encode(buildFirewallPolicyRule()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkFirewallPolicyList(response as api.FirewallPolicyList); + final response = await res.getPacketMirroringRule( + arg_project, arg_firewallPolicy, + priority: arg_priority, $fields: arg_$fields); + checkFirewallPolicyRule(response as api.FirewallPolicyRule); }); - unittest.test('method--patch', () async { + unittest.test('method--getRule', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).networkFirewallPolicies; - final arg_request = buildFirewallPolicy(); final arg_project = 'foo'; final arg_firewallPolicy = 'foo'; - final arg_requestId = 'foo'; + final arg_priority = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.FirewallPolicy.fromJson( - json as core.Map); - checkFirewallPolicy(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -95427,12 +96882,20 @@ void main() { unittest.equals('/global/firewallPolicies/'), ); pathOffset += 25; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + index = path.indexOf('/getRule', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, unittest.equals('$arg_firewallPolicy'), ); + unittest.expect( + path.substring(pathOffset, pathOffset + 8), + unittest.equals('/getRule'), + ); + pathOffset += 8; final query = req.url.query; var queryOffset = 0; @@ -95450,8 +96913,8 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + core.int.parse(queryMap['priority']!.first), + unittest.equals(arg_priority), ); unittest.expect( queryMap['fields']!.first, @@ -95461,28 +96924,25 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildFirewallPolicyRule()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch( - arg_request, arg_project, arg_firewallPolicy, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.getRule(arg_project, arg_firewallPolicy, + priority: arg_priority, $fields: arg_$fields); + checkFirewallPolicyRule(response as api.FirewallPolicyRule); }); - unittest.test('method--patchRule', () async { + unittest.test('method--insert', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).networkFirewallPolicies; - final arg_request = buildFirewallPolicyRule(); + final arg_request = buildFirewallPolicy(); final arg_project = 'foo'; - final arg_firewallPolicy = 'foo'; - final arg_priority = 42; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.FirewallPolicyRule.fromJson( + final obj = api.FirewallPolicy.fromJson( json as core.Map); - checkFirewallPolicyRule(obj); + checkFirewallPolicy(obj); final path = req.url.path; var pathOffset = 0; @@ -95503,7 +96963,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/global/firewallPolicies/', pathOffset); + index = path.indexOf('/global/firewallPolicies', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -95513,24 +96973,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 25), - unittest.equals('/global/firewallPolicies/'), - ); - pathOffset += 25; - index = path.indexOf('/patchRule', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_firewallPolicy'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 10), - unittest.equals('/patchRule'), + path.substring(pathOffset, pathOffset + 24), + unittest.equals('/global/firewallPolicies'), ); - pathOffset += 10; + pathOffset += 24; final query = req.url.query; var queryOffset = 0; @@ -95547,10 +96993,6 @@ void main() { ); } } - unittest.expect( - core.int.parse(queryMap['priority']!.first), - unittest.equals(arg_priority), - ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), @@ -95566,21 +97008,20 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patchRule( - arg_request, arg_project, arg_firewallPolicy, - priority: arg_priority, - requestId: arg_requestId, - $fields: arg_$fields); + final response = await res.insert(arg_request, arg_project, + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--removeAssociation', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).networkFirewallPolicies; final arg_project = 'foo'; - final arg_firewallPolicy = 'foo'; - final arg_name = 'foo'; - final arg_requestId = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -95602,7 +97043,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/global/firewallPolicies/', pathOffset); + index = path.indexOf('/global/firewallPolicies', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -95612,24 +97053,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 25), - unittest.equals('/global/firewallPolicies/'), - ); - pathOffset += 25; - index = path.indexOf('/removeAssociation', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_firewallPolicy'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/removeAssociation'), + path.substring(pathOffset, pathOffset + 24), + unittest.equals('/global/firewallPolicies'), ); - pathOffset += 18; + pathOffset += 24; final query = req.url.query; var queryOffset = 0; @@ -95647,12 +97074,24 @@ void main() { } } unittest.expect( - queryMap['name']!.first, - unittest.equals(arg_name), + queryMap['filter']!.first, + unittest.equals(arg_filter), ); unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), ); unittest.expect( queryMap['fields']!.first, @@ -95662,24 +97101,32 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildFirewallPolicyList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.removeAssociation( - arg_project, arg_firewallPolicy, - name: arg_name, requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.list(arg_project, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkFirewallPolicyList(response as api.FirewallPolicyList); }); - unittest.test('method--removeRule', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).networkFirewallPolicies; + final arg_request = buildFirewallPolicy(); final arg_project = 'foo'; final arg_firewallPolicy = 'foo'; - final arg_priority = 42; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.FirewallPolicy.fromJson( + json as core.Map); + checkFirewallPolicy(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -95713,20 +97160,12 @@ void main() { unittest.equals('/global/firewallPolicies/'), ); pathOffset += 25; - index = path.indexOf('/removeRule', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, unittest.equals('$arg_firewallPolicy'), ); - unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('/removeRule'), - ); - pathOffset += 11; final query = req.url.query; var queryOffset = 0; @@ -95743,10 +97182,6 @@ void main() { ); } } - unittest.expect( - core.int.parse(queryMap['priority']!.first), - unittest.equals(arg_priority), - ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), @@ -95762,24 +97197,25 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.removeRule(arg_project, arg_firewallPolicy, - priority: arg_priority, - requestId: arg_requestId, - $fields: arg_$fields); + final response = await res.patch( + arg_request, arg_project, arg_firewallPolicy, + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--setIamPolicy', () async { + unittest.test('method--patchPacketMirroringRule', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).networkFirewallPolicies; - final arg_request = buildGlobalSetPolicyRequest(); + final arg_request = buildFirewallPolicyRule(); final arg_project = 'foo'; - final arg_resource = 'foo'; + final arg_firewallPolicy = 'foo'; + final arg_priority = 42; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GlobalSetPolicyRequest.fromJson( + final obj = api.FirewallPolicyRule.fromJson( json as core.Map); - checkGlobalSetPolicyRequest(obj); + checkFirewallPolicyRule(obj); final path = req.url.path; var pathOffset = 0; @@ -95814,20 +97250,20 @@ void main() { unittest.equals('/global/firewallPolicies/'), ); pathOffset += 25; - index = path.indexOf('/setIamPolicy', pathOffset); + index = path.indexOf('/patchPacketMirroringRule', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_resource'), + unittest.equals('$arg_firewallPolicy'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/setIamPolicy'), + path.substring(pathOffset, pathOffset + 25), + unittest.equals('/patchPacketMirroringRule'), ); - pathOffset += 13; + pathOffset += 25; final query = req.url.query; var queryOffset = 0; @@ -95844,6 +97280,14 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['priority']!.first), + unittest.equals(arg_priority), + ); + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -95852,26 +97296,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPolicy()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setIamPolicy( - arg_request, arg_project, arg_resource, + final response = await res.patchPacketMirroringRule( + arg_request, arg_project, arg_firewallPolicy, + priority: arg_priority, + requestId: arg_requestId, $fields: arg_$fields); - checkPolicy(response as api.Policy); + checkOperation(response as api.Operation); }); - unittest.test('method--testIamPermissions', () async { + unittest.test('method--patchRule', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).networkFirewallPolicies; - final arg_request = buildTestPermissionsRequest(); + final arg_request = buildFirewallPolicyRule(); final arg_project = 'foo'; - final arg_resource = 'foo'; + final arg_firewallPolicy = 'foo'; + final arg_priority = 42; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.TestPermissionsRequest.fromJson( + final obj = api.FirewallPolicyRule.fromJson( json as core.Map); - checkTestPermissionsRequest(obj); + checkFirewallPolicyRule(obj); final path = req.url.path; var pathOffset = 0; @@ -95906,20 +97354,20 @@ void main() { unittest.equals('/global/firewallPolicies/'), ); pathOffset += 25; - index = path.indexOf('/testIamPermissions', pathOffset); + index = path.indexOf('/patchRule', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_resource'), + unittest.equals('$arg_firewallPolicy'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 19), - unittest.equals('/testIamPermissions'), + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/patchRule'), ); - pathOffset += 19; + pathOffset += 10; final query = req.url.query; var queryOffset = 0; @@ -95936,6 +97384,14 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['priority']!.first), + unittest.equals(arg_priority), + ); + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -95944,22 +97400,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildTestPermissionsResponse()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.testIamPermissions( - arg_request, arg_project, arg_resource, + final response = await res.patchRule( + arg_request, arg_project, arg_firewallPolicy, + priority: arg_priority, + requestId: arg_requestId, $fields: arg_$fields); - checkTestPermissionsResponse(response as api.TestPermissionsResponse); + checkOperation(response as api.Operation); }); - }); - unittest.group('resource-NetworkProfilesResource', () { - unittest.test('method--get', () async { + unittest.test('method--removeAssociation', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).networkProfiles; + final res = api.ComputeApi(mock).networkFirewallPolicies; final arg_project = 'foo'; - final arg_networkProfile = 'foo'; + final arg_firewallPolicy = 'foo'; + final arg_name = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -95981,7 +97439,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/global/networkProfiles/', pathOffset); + index = path.indexOf('/global/firewallPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -95991,92 +97449,24 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 24), - unittest.equals('/global/networkProfiles/'), - ); - pathOffset += 24; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_networkProfile'), - ); - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildNetworkProfile()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = - await res.get(arg_project, arg_networkProfile, $fields: arg_$fields); - checkNetworkProfile(response as api.NetworkProfile); - }); - - unittest.test('method--list', () async { - final mock = HttpServerMock(); - final res = api.ComputeApi(mock).networkProfiles; - final arg_project = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('compute/v1/'), - ); - pathOffset += 11; - unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('projects/'), + path.substring(pathOffset, pathOffset + 25), + unittest.equals('/global/firewallPolicies/'), ); - pathOffset += 9; - index = path.indexOf('/global/networkProfiles', pathOffset); + pathOffset += 25; + index = path.indexOf('/removeAssociation', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_project'), + unittest.equals('$arg_firewallPolicy'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/global/networkProfiles'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/removeAssociation'), ); - pathOffset += 23; + pathOffset += 18; final query = req.url.query; var queryOffset = 0; @@ -96094,24 +97484,12 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), + queryMap['name']!.first, + unittest.equals(arg_name), ); unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -96121,35 +97499,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildNetworkProfilesListResponse()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkNetworkProfilesListResponse( - response as api.NetworkProfilesListResponse); + final response = await res.removeAssociation( + arg_project, arg_firewallPolicy, + name: arg_name, requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - }); - unittest.group('resource-NetworksResource', () { - unittest.test('method--addPeering', () async { + unittest.test('method--removePacketMirroringRule', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).networks; - final arg_request = buildNetworksAddPeeringRequest(); + final res = api.ComputeApi(mock).networkFirewallPolicies; final arg_project = 'foo'; - final arg_network = 'foo'; + final arg_firewallPolicy = 'foo'; + final arg_priority = 42; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.NetworksAddPeeringRequest.fromJson( - json as core.Map); - checkNetworksAddPeeringRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -96169,7 +97536,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/global/networks/', pathOffset); + index = path.indexOf('/global/firewallPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -96179,24 +97546,24 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/global/networks/'), + path.substring(pathOffset, pathOffset + 25), + unittest.equals('/global/firewallPolicies/'), ); - pathOffset += 17; - index = path.indexOf('/addPeering', pathOffset); + pathOffset += 25; + index = path.indexOf('/removePacketMirroringRule', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_network'), + unittest.equals('$arg_firewallPolicy'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('/addPeering'), + path.substring(pathOffset, pathOffset + 26), + unittest.equals('/removePacketMirroringRule'), ); - pathOffset += 11; + pathOffset += 26; final query = req.url.query; var queryOffset = 0; @@ -96213,6 +97580,10 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['priority']!.first), + unittest.equals(arg_priority), + ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), @@ -96228,17 +97599,20 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.addPeering( - arg_request, arg_project, arg_network, - requestId: arg_requestId, $fields: arg_$fields); + final response = await res.removePacketMirroringRule( + arg_project, arg_firewallPolicy, + priority: arg_priority, + requestId: arg_requestId, + $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--delete', () async { + unittest.test('method--removeRule', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).networks; + final res = api.ComputeApi(mock).networkFirewallPolicies; final arg_project = 'foo'; - final arg_network = 'foo'; + final arg_firewallPolicy = 'foo'; + final arg_priority = 42; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -96261,7 +97635,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/global/networks/', pathOffset); + index = path.indexOf('/global/firewallPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -96271,16 +97645,24 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/global/networks/'), + path.substring(pathOffset, pathOffset + 25), + unittest.equals('/global/firewallPolicies/'), ); - pathOffset += 17; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + pathOffset += 25; + index = path.indexOf('/removeRule', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_network'), + unittest.equals('$arg_firewallPolicy'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('/removeRule'), ); + pathOffset += 11; final query = req.url.query; var queryOffset = 0; @@ -96297,6 +97679,10 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['priority']!.first), + unittest.equals(arg_priority), + ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), @@ -96312,18 +97698,25 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_project, arg_network, - requestId: arg_requestId, $fields: arg_$fields); + final response = await res.removeRule(arg_project, arg_firewallPolicy, + priority: arg_priority, + requestId: arg_requestId, + $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--get', () async { + unittest.test('method--setIamPolicy', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).networks; + final res = api.ComputeApi(mock).networkFirewallPolicies; + final arg_request = buildGlobalSetPolicyRequest(); final arg_project = 'foo'; - final arg_network = 'foo'; + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GlobalSetPolicyRequest.fromJson( + json as core.Map); + checkGlobalSetPolicyRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -96343,7 +97736,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/global/networks/', pathOffset); + index = path.indexOf('/global/firewallPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -96353,16 +97746,24 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/global/networks/'), + path.substring(pathOffset, pathOffset + 25), + unittest.equals('/global/firewallPolicies/'), ); - pathOffset += 17; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + pathOffset += 25; + index = path.indexOf('/setIamPolicy', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_network'), + unittest.equals('$arg_resource'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/setIamPolicy'), ); + pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -96387,21 +97788,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildNetwork()); + final resp = convert.json.encode(buildPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.get(arg_project, arg_network, $fields: arg_$fields); - checkNetwork(response as api.Network); + final response = await res.setIamPolicy( + arg_request, arg_project, arg_resource, + $fields: arg_$fields); + checkPolicy(response as api.Policy); }); - unittest.test('method--getEffectiveFirewalls', () async { + unittest.test('method--testIamPermissions', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).networks; + final res = api.ComputeApi(mock).networkFirewallPolicies; + final arg_request = buildTestPermissionsRequest(); final arg_project = 'foo'; - final arg_network = 'foo'; + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.TestPermissionsRequest.fromJson( + json as core.Map); + checkTestPermissionsRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -96421,7 +97828,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/global/networks/', pathOffset); + index = path.indexOf('/global/firewallPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -96431,24 +97838,24 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/global/networks/'), + path.substring(pathOffset, pathOffset + 25), + unittest.equals('/global/firewallPolicies/'), ); - pathOffset += 17; - index = path.indexOf('/getEffectiveFirewalls', pathOffset); + pathOffset += 25; + index = path.indexOf('/testIamPermissions', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_network'), + unittest.equals('$arg_resource'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 22), - unittest.equals('/getEffectiveFirewalls'), + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/testIamPermissions'), ); - pathOffset += 22; + pathOffset += 19; final query = req.url.query; var queryOffset = 0; @@ -96473,28 +97880,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildNetworksGetEffectiveFirewallsResponse()); + final resp = convert.json.encode(buildTestPermissionsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getEffectiveFirewalls(arg_project, arg_network, + final response = await res.testIamPermissions( + arg_request, arg_project, arg_resource, $fields: arg_$fields); - checkNetworksGetEffectiveFirewallsResponse( - response as api.NetworksGetEffectiveFirewallsResponse); + checkTestPermissionsResponse(response as api.TestPermissionsResponse); }); + }); - unittest.test('method--insert', () async { + unittest.group('resource-NetworkProfilesResource', () { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).networks; - final arg_request = buildNetwork(); + final res = api.ComputeApi(mock).networkProfiles; final arg_project = 'foo'; - final arg_requestId = 'foo'; + final arg_networkProfile = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.Network.fromJson(json as core.Map); - checkNetwork(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -96514,7 +97917,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/global/networks', pathOffset); + index = path.indexOf('/global/networkProfiles/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -96524,10 +97927,16 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 16), - unittest.equals('/global/networks'), + path.substring(pathOffset, pathOffset + 24), + unittest.equals('/global/networkProfiles/'), + ); + pathOffset += 24; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_networkProfile'), ); - pathOffset += 16; final query = req.url.query; var queryOffset = 0; @@ -96544,10 +97953,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -96556,17 +97961,17 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildNetworkProfile()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.insert(arg_request, arg_project, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = + await res.get(arg_project, arg_networkProfile, $fields: arg_$fields); + checkNetworkProfile(response as api.NetworkProfile); }); unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).networks; + final res = api.ComputeApi(mock).networkProfiles; final arg_project = 'foo'; final arg_filter = 'foo'; final arg_maxResults = 42; @@ -96594,7 +97999,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/global/networks', pathOffset); + index = path.indexOf('/global/networkProfiles', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -96604,10 +98009,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 16), - unittest.equals('/global/networks'), + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/global/networkProfiles'), ); - pathOffset += 16; + pathOffset += 23; final query = req.url.query; var queryOffset = 0; @@ -96652,7 +98057,7 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildNetworkList()); + final resp = convert.json.encode(buildNetworkProfilesListResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.list(arg_project, @@ -96662,24 +98067,25 @@ void main() { pageToken: arg_pageToken, returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkNetworkList(response as api.NetworkList); + checkNetworkProfilesListResponse( + response as api.NetworkProfilesListResponse); }); + }); - unittest.test('method--listPeeringRoutes', () async { + unittest.group('resource-NetworksResource', () { + unittest.test('method--addPeering', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).networks; + final arg_request = buildNetworksAddPeeringRequest(); final arg_project = 'foo'; final arg_network = 'foo'; - final arg_direction = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_peeringName = 'foo'; - final arg_region = 'foo'; - final arg_returnPartialSuccess = true; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.NetworksAddPeeringRequest.fromJson( + json as core.Map); + checkNetworksAddPeeringRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -96713,7 +98119,7 @@ void main() { unittest.equals('/global/networks/'), ); pathOffset += 17; - index = path.indexOf('/listPeeringRoutes', pathOffset); + index = path.indexOf('/addPeering', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -96723,10 +98129,10 @@ void main() { unittest.equals('$arg_network'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/listPeeringRoutes'), + path.substring(pathOffset, pathOffset + 11), + unittest.equals('/addPeering'), ); - pathOffset += 18; + pathOffset += 11; final query = req.url.query; var queryOffset = 0; @@ -96744,36 +98150,8 @@ void main() { } } unittest.expect( - queryMap['direction']!.first, - unittest.equals(arg_direction), - ); - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['peeringName']!.first, - unittest.equals(arg_peeringName), - ); - unittest.expect( - queryMap['region']!.first, - unittest.equals(arg_region), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -96783,36 +98161,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildExchangedPeeringRoutesList()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.listPeeringRoutes(arg_project, arg_network, - direction: arg_direction, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - peeringName: arg_peeringName, - region: arg_region, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkExchangedPeeringRoutesList( - response as api.ExchangedPeeringRoutesList); + final response = await res.addPeering( + arg_request, arg_project, arg_network, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--patch', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).networks; - final arg_request = buildNetwork(); final arg_project = 'foo'; final arg_network = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.Network.fromJson(json as core.Map); - checkNetwork(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -96883,24 +98248,18 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch(arg_request, arg_project, arg_network, + final response = await res.delete(arg_project, arg_network, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--removePeering', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).networks; - final arg_request = buildNetworksRemovePeeringRequest(); final arg_project = 'foo'; final arg_network = 'foo'; - final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.NetworksRemovePeeringRequest.fromJson( - json as core.Map); - checkNetworksRemovePeeringRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -96934,20 +98293,12 @@ void main() { unittest.equals('/global/networks/'), ); pathOffset += 17; - index = path.indexOf('/removePeering', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, unittest.equals('$arg_network'), ); - unittest.expect( - path.substring(pathOffset, pathOffset + 14), - unittest.equals('/removePeering'), - ); - pathOffset += 14; final query = req.url.query; var queryOffset = 0; @@ -96964,10 +98315,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -96976,21 +98323,19 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildNetwork()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.removePeering( - arg_request, arg_project, arg_network, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = + await res.get(arg_project, arg_network, $fields: arg_$fields); + checkNetwork(response as api.Network); }); - unittest.test('method--switchToCustomMode', () async { + unittest.test('method--getEffectiveFirewalls', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).networks; final arg_project = 'foo'; final arg_network = 'foo'; - final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -97026,7 +98371,7 @@ void main() { unittest.equals('/global/networks/'), ); pathOffset += 17; - index = path.indexOf('/switchToCustomMode', pathOffset); + index = path.indexOf('/getEffectiveFirewalls', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -97036,10 +98381,10 @@ void main() { unittest.equals('$arg_network'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 19), - unittest.equals('/switchToCustomMode'), + path.substring(pathOffset, pathOffset + 22), + unittest.equals('/getEffectiveFirewalls'), ); - pathOffset += 19; + pathOffset += 22; final query = req.url.query; var queryOffset = 0; @@ -97056,10 +98401,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -97068,26 +98409,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = + convert.json.encode(buildNetworksGetEffectiveFirewallsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.switchToCustomMode(arg_project, arg_network, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.getEffectiveFirewalls(arg_project, arg_network, + $fields: arg_$fields); + checkNetworksGetEffectiveFirewallsResponse( + response as api.NetworksGetEffectiveFirewallsResponse); }); - unittest.test('method--updatePeering', () async { + unittest.test('method--insert', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).networks; - final arg_request = buildNetworksUpdatePeeringRequest(); + final arg_request = buildNetwork(); final arg_project = 'foo'; - final arg_network = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.NetworksUpdatePeeringRequest.fromJson( - json as core.Map); - checkNetworksUpdatePeeringRequest(obj); + final obj = + api.Network.fromJson(json as core.Map); + checkNetwork(obj); final path = req.url.path; var pathOffset = 0; @@ -97108,7 +98450,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/global/networks/', pathOffset); + index = path.indexOf('/global/networks', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -97118,24 +98460,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/global/networks/'), - ); - pathOffset += 17; - index = path.indexOf('/updatePeering', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_network'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 14), - unittest.equals('/updatePeering'), + path.substring(pathOffset, pathOffset + 16), + unittest.equals('/global/networks'), ); - pathOffset += 14; + pathOffset += 16; final query = req.url.query; var queryOffset = 0; @@ -97167,28 +98495,22 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.updatePeering( - arg_request, arg_project, arg_network, + final response = await res.insert(arg_request, arg_project, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - }); - unittest.group('resource-NodeGroupsResource', () { - unittest.test('method--addNodes', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).nodeGroups; - final arg_request = buildNodeGroupsAddNodesRequest(); + final res = api.ComputeApi(mock).networks; final arg_project = 'foo'; - final arg_zone = 'foo'; - final arg_nodeGroup = 'foo'; - final arg_requestId = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.NodeGroupsAddNodesRequest.fromJson( - json as core.Map); - checkNodeGroupsAddNodesRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -97208,7 +98530,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/zones/', pathOffset); + index = path.indexOf('/global/networks', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -97218,38 +98540,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/zones/'), - ); - pathOffset += 7; - index = path.indexOf('/nodeGroups/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_zone'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 12), - unittest.equals('/nodeGroups/'), - ); - pathOffset += 12; - index = path.indexOf('/addNodes', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_nodeGroup'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/addNodes'), + path.substring(pathOffset, pathOffset + 16), + unittest.equals('/global/networks'), ); - pathOffset += 9; + pathOffset += 16; final query = req.url.query; var queryOffset = 0; @@ -97267,8 +98561,24 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), ); unittest.expect( queryMap['fields']!.first, @@ -97278,26 +98588,32 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildNetworkList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.addNodes( - arg_request, arg_project, arg_zone, arg_nodeGroup, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.list(arg_project, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkNetworkList(response as api.NetworkList); }); - unittest.test('method--aggregatedList', () async { + unittest.test('method--listPeeringRoutes', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).nodeGroups; + final res = api.ComputeApi(mock).networks; final arg_project = 'foo'; + final arg_network = 'foo'; + final arg_direction = 'foo'; final arg_filter = 'foo'; - final arg_includeAllScopes = true; final arg_maxResults = 42; final arg_orderBy = 'foo'; final arg_pageToken = 'foo'; + final arg_peeringName = 'foo'; + final arg_region = 'foo'; final arg_returnPartialSuccess = true; - final arg_serviceProjectNumber = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -97319,7 +98635,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/aggregated/nodeGroups', pathOffset); + index = path.indexOf('/global/networks/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -97329,10 +98645,24 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 22), - unittest.equals('/aggregated/nodeGroups'), + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/global/networks/'), ); - pathOffset += 22; + pathOffset += 17; + index = path.indexOf('/listPeeringRoutes', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_network'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/listPeeringRoutes'), + ); + pathOffset += 18; final query = req.url.query; var queryOffset = 0; @@ -97350,12 +98680,12 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), + queryMap['direction']!.first, + unittest.equals(arg_direction), ); unittest.expect( - queryMap['includeAllScopes']!.first, - unittest.equals('$arg_includeAllScopes'), + queryMap['filter']!.first, + unittest.equals(arg_filter), ); unittest.expect( core.int.parse(queryMap['maxResults']!.first), @@ -97370,12 +98700,16 @@ void main() { unittest.equals(arg_pageToken), ); unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['peeringName']!.first, + unittest.equals(arg_peeringName), ); unittest.expect( - queryMap['serviceProjectNumber']!.first, - unittest.equals(arg_serviceProjectNumber), + queryMap['region']!.first, + unittest.equals(arg_region), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), ); unittest.expect( queryMap['fields']!.first, @@ -97385,30 +98719,36 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildNodeGroupAggregatedList()); + final resp = convert.json.encode(buildExchangedPeeringRoutesList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.aggregatedList(arg_project, + final response = await res.listPeeringRoutes(arg_project, arg_network, + direction: arg_direction, filter: arg_filter, - includeAllScopes: arg_includeAllScopes, maxResults: arg_maxResults, orderBy: arg_orderBy, pageToken: arg_pageToken, + peeringName: arg_peeringName, + region: arg_region, returnPartialSuccess: arg_returnPartialSuccess, - serviceProjectNumber: arg_serviceProjectNumber, $fields: arg_$fields); - checkNodeGroupAggregatedList(response as api.NodeGroupAggregatedList); + checkExchangedPeeringRoutesList( + response as api.ExchangedPeeringRoutesList); }); - unittest.test('method--delete', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).nodeGroups; + final res = api.ComputeApi(mock).networks; + final arg_request = buildNetwork(); final arg_project = 'foo'; - final arg_zone = 'foo'; - final arg_nodeGroup = 'foo'; + final arg_network = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.Network.fromJson(json as core.Map); + checkNetwork(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -97428,7 +98768,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/zones/', pathOffset); + index = path.indexOf('/global/networks/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -97438,29 +98778,15 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/zones/'), - ); - pathOffset += 7; - index = path.indexOf('/nodeGroups/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_zone'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 12), - unittest.equals('/nodeGroups/'), + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/global/networks/'), ); - pathOffset += 12; + pathOffset += 17; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_nodeGroup'), + unittest.equals('$arg_network'), ); final query = req.url.query; @@ -97493,24 +98819,23 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_project, arg_zone, arg_nodeGroup, + final response = await res.patch(arg_request, arg_project, arg_network, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--deleteNodes', () async { + unittest.test('method--removePeering', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).nodeGroups; - final arg_request = buildNodeGroupsDeleteNodesRequest(); + final res = api.ComputeApi(mock).networks; + final arg_request = buildNetworksRemovePeeringRequest(); final arg_project = 'foo'; - final arg_zone = 'foo'; - final arg_nodeGroup = 'foo'; + final arg_network = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.NodeGroupsDeleteNodesRequest.fromJson( + final obj = api.NetworksRemovePeeringRequest.fromJson( json as core.Map); - checkNodeGroupsDeleteNodesRequest(obj); + checkNetworksRemovePeeringRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -97531,7 +98856,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/zones/', pathOffset); + index = path.indexOf('/global/networks/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -97541,38 +98866,24 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/zones/'), - ); - pathOffset += 7; - index = path.indexOf('/nodeGroups/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_zone'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 12), - unittest.equals('/nodeGroups/'), + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/global/networks/'), ); - pathOffset += 12; - index = path.indexOf('/deleteNodes', pathOffset); + pathOffset += 17; + index = path.indexOf('/removePeering', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_nodeGroup'), + unittest.equals('$arg_network'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 12), - unittest.equals('/deleteNodes'), + path.substring(pathOffset, pathOffset + 14), + unittest.equals('/removePeering'), ); - pathOffset += 12; + pathOffset += 14; final query = req.url.query; var queryOffset = 0; @@ -97604,18 +98915,18 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.deleteNodes( - arg_request, arg_project, arg_zone, arg_nodeGroup, + final response = await res.removePeering( + arg_request, arg_project, arg_network, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--get', () async { + unittest.test('method--switchToCustomMode', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).nodeGroups; + final res = api.ComputeApi(mock).networks; final arg_project = 'foo'; - final arg_zone = 'foo'; - final arg_nodeGroup = 'foo'; + final arg_network = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -97637,7 +98948,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/zones/', pathOffset); + index = path.indexOf('/global/networks/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -97647,30 +98958,24 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/zones/'), + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/global/networks/'), ); - pathOffset += 7; - index = path.indexOf('/nodeGroups/', pathOffset); + pathOffset += 17; + index = path.indexOf('/switchToCustomMode', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_zone'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 12), - unittest.equals('/nodeGroups/'), + unittest.equals('$arg_network'), ); - pathOffset += 12; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; unittest.expect( - subPart, - unittest.equals('$arg_nodeGroup'), + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/switchToCustomMode'), ); + pathOffset += 19; final query = req.url.query; var queryOffset = 0; @@ -97687,6 +98992,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -97695,23 +99004,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildNodeGroup()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_project, arg_zone, arg_nodeGroup, - $fields: arg_$fields); - checkNodeGroup(response as api.NodeGroup); + final response = await res.switchToCustomMode(arg_project, arg_network, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--getIamPolicy', () async { + unittest.test('method--updatePeering', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).nodeGroups; + final res = api.ComputeApi(mock).networks; + final arg_request = buildNetworksUpdatePeeringRequest(); final arg_project = 'foo'; - final arg_zone = 'foo'; - final arg_resource = 'foo'; - final arg_optionsRequestedPolicyVersion = 42; + final arg_network = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.NetworksUpdatePeeringRequest.fromJson( + json as core.Map); + checkNetworksUpdatePeeringRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -97731,7 +99044,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/zones/', pathOffset); + index = path.indexOf('/global/networks/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -97741,38 +99054,24 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/zones/'), - ); - pathOffset += 7; - index = path.indexOf('/nodeGroups/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_zone'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 12), - unittest.equals('/nodeGroups/'), + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/global/networks/'), ); - pathOffset += 12; - index = path.indexOf('/getIamPolicy', pathOffset); + pathOffset += 17; + index = path.indexOf('/updatePeering', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_resource'), + unittest.equals('$arg_network'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/getIamPolicy'), + path.substring(pathOffset, pathOffset + 14), + unittest.equals('/updatePeering'), ); - pathOffset += 13; + pathOffset += 14; final query = req.url.query; var queryOffset = 0; @@ -97790,8 +99089,8 @@ void main() { } } unittest.expect( - core.int.parse(queryMap['optionsRequestedPolicyVersion']!.first), - unittest.equals(arg_optionsRequestedPolicyVersion), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -97801,29 +99100,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPolicy()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getIamPolicy( - arg_project, arg_zone, arg_resource, - optionsRequestedPolicyVersion: arg_optionsRequestedPolicyVersion, - $fields: arg_$fields); - checkPolicy(response as api.Policy); + final response = await res.updatePeering( + arg_request, arg_project, arg_network, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); + }); - unittest.test('method--insert', () async { + unittest.group('resource-NodeGroupsResource', () { + unittest.test('method--addNodes', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).nodeGroups; - final arg_request = buildNodeGroup(); + final arg_request = buildNodeGroupsAddNodesRequest(); final arg_project = 'foo'; final arg_zone = 'foo'; - final arg_initialNodeCount = 42; + final arg_nodeGroup = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.NodeGroup.fromJson(json as core.Map); - checkNodeGroup(obj); + final obj = api.NodeGroupsAddNodesRequest.fromJson( + json as core.Map); + checkNodeGroupsAddNodesRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -97858,7 +99158,7 @@ void main() { unittest.equals('/zones/'), ); pathOffset += 7; - index = path.indexOf('/nodeGroups', pathOffset); + index = path.indexOf('/nodeGroups/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -97868,10 +99168,24 @@ void main() { unittest.equals('$arg_zone'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('/nodeGroups'), + path.substring(pathOffset, pathOffset + 12), + unittest.equals('/nodeGroups/'), ); - pathOffset += 11; + pathOffset += 12; + index = path.indexOf('/addNodes', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_nodeGroup'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/addNodes'), + ); + pathOffset += 9; final query = req.url.query; var queryOffset = 0; @@ -97888,10 +99202,6 @@ void main() { ); } } - unittest.expect( - core.int.parse(queryMap['initialNodeCount']!.first), - unittest.equals(arg_initialNodeCount), - ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), @@ -97907,22 +99217,23 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.insert( - arg_request, arg_project, arg_zone, arg_initialNodeCount, + final response = await res.addNodes( + arg_request, arg_project, arg_zone, arg_nodeGroup, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--list', () async { + unittest.test('method--aggregatedList', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).nodeGroups; final arg_project = 'foo'; - final arg_zone = 'foo'; final arg_filter = 'foo'; + final arg_includeAllScopes = true; final arg_maxResults = 42; final arg_orderBy = 'foo'; final arg_pageToken = 'foo'; final arg_returnPartialSuccess = true; + final arg_serviceProjectNumber = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -97944,7 +99255,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/zones/', pathOffset); + index = path.indexOf('/aggregated/nodeGroups', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -97954,24 +99265,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/zones/'), - ); - pathOffset += 7; - index = path.indexOf('/nodeGroups', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_zone'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('/nodeGroups'), + path.substring(pathOffset, pathOffset + 22), + unittest.equals('/aggregated/nodeGroups'), ); - pathOffset += 11; + pathOffset += 22; final query = req.url.query; var queryOffset = 0; @@ -97992,6 +99289,10 @@ void main() { queryMap['filter']!.first, unittest.equals(arg_filter), ); + unittest.expect( + queryMap['includeAllScopes']!.first, + unittest.equals('$arg_includeAllScopes'), + ); unittest.expect( core.int.parse(queryMap['maxResults']!.first), unittest.equals(arg_maxResults), @@ -98008,6 +99309,10 @@ void main() { queryMap['returnPartialSuccess']!.first, unittest.equals('$arg_returnPartialSuccess'), ); + unittest.expect( + queryMap['serviceProjectNumber']!.first, + unittest.equals(arg_serviceProjectNumber), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -98016,30 +99321,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildNodeGroupList()); + final resp = convert.json.encode(buildNodeGroupAggregatedList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_zone, + final response = await res.aggregatedList(arg_project, filter: arg_filter, + includeAllScopes: arg_includeAllScopes, maxResults: arg_maxResults, orderBy: arg_orderBy, pageToken: arg_pageToken, returnPartialSuccess: arg_returnPartialSuccess, + serviceProjectNumber: arg_serviceProjectNumber, $fields: arg_$fields); - checkNodeGroupList(response as api.NodeGroupList); + checkNodeGroupAggregatedList(response as api.NodeGroupAggregatedList); }); - unittest.test('method--listNodes', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).nodeGroups; final arg_project = 'foo'; final arg_zone = 'foo'; final arg_nodeGroup = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -98089,20 +99392,12 @@ void main() { unittest.equals('/nodeGroups/'), ); pathOffset += 12; - index = path.indexOf('/listNodes', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, unittest.equals('$arg_nodeGroup'), ); - unittest.expect( - path.substring(pathOffset, pathOffset + 10), - unittest.equals('/listNodes'), - ); - pathOffset += 10; final query = req.url.query; var queryOffset = 0; @@ -98120,24 +99415,8 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -98147,32 +99426,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildNodeGroupsListNodes()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.listNodes(arg_project, arg_zone, arg_nodeGroup, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkNodeGroupsListNodes(response as api.NodeGroupsListNodes); + final response = await res.delete(arg_project, arg_zone, arg_nodeGroup, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--patch', () async { + unittest.test('method--deleteNodes', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).nodeGroups; - final arg_request = buildNodeGroup(); + final arg_request = buildNodeGroupsDeleteNodesRequest(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_nodeGroup = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.NodeGroup.fromJson(json as core.Map); - checkNodeGroup(obj); + final obj = api.NodeGroupsDeleteNodesRequest.fromJson( + json as core.Map); + checkNodeGroupsDeleteNodesRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -98221,12 +99495,20 @@ void main() { unittest.equals('/nodeGroups/'), ); pathOffset += 12; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + index = path.indexOf('/deleteNodes', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, unittest.equals('$arg_nodeGroup'), ); + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('/deleteNodes'), + ); + pathOffset += 12; final query = req.url.query; var queryOffset = 0; @@ -98258,26 +99540,20 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch( + final response = await res.deleteNodes( arg_request, arg_project, arg_zone, arg_nodeGroup, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--performMaintenance', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).nodeGroups; - final arg_request = buildNodeGroupsPerformMaintenanceRequest(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_nodeGroup = 'foo'; - final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.NodeGroupsPerformMaintenanceRequest.fromJson( - json as core.Map); - checkNodeGroupsPerformMaintenanceRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -98325,20 +99601,12 @@ void main() { unittest.equals('/nodeGroups/'), ); pathOffset += 12; - index = path.indexOf('/performMaintenance', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, unittest.equals('$arg_nodeGroup'), ); - unittest.expect( - path.substring(pathOffset, pathOffset + 19), - unittest.equals('/performMaintenance'), - ); - pathOffset += 19; final query = req.url.query; var queryOffset = 0; @@ -98355,10 +99623,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -98367,28 +99631,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildNodeGroup()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.performMaintenance( - arg_request, arg_project, arg_zone, arg_nodeGroup, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.get(arg_project, arg_zone, arg_nodeGroup, + $fields: arg_$fields); + checkNodeGroup(response as api.NodeGroup); }); - unittest.test('method--setIamPolicy', () async { + unittest.test('method--getIamPolicy', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).nodeGroups; - final arg_request = buildZoneSetPolicyRequest(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_resource = 'foo'; + final arg_optionsRequestedPolicyVersion = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.ZoneSetPolicyRequest.fromJson( - json as core.Map); - checkZoneSetPolicyRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -98436,7 +99695,7 @@ void main() { unittest.equals('/nodeGroups/'), ); pathOffset += 12; - index = path.indexOf('/setIamPolicy', pathOffset); + index = path.indexOf('/getIamPolicy', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -98447,7 +99706,7 @@ void main() { ); unittest.expect( path.substring(pathOffset, pathOffset + 13), - unittest.equals('/setIamPolicy'), + unittest.equals('/getIamPolicy'), ); pathOffset += 13; @@ -98466,6 +99725,10 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['optionsRequestedPolicyVersion']!.first), + unittest.equals(arg_optionsRequestedPolicyVersion), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -98477,25 +99740,26 @@ void main() { final resp = convert.json.encode(buildPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setIamPolicy( - arg_request, arg_project, arg_zone, arg_resource, + final response = await res.getIamPolicy( + arg_project, arg_zone, arg_resource, + optionsRequestedPolicyVersion: arg_optionsRequestedPolicyVersion, $fields: arg_$fields); checkPolicy(response as api.Policy); }); - unittest.test('method--setNodeTemplate', () async { + unittest.test('method--insert', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).nodeGroups; - final arg_request = buildNodeGroupsSetNodeTemplateRequest(); + final arg_request = buildNodeGroup(); final arg_project = 'foo'; final arg_zone = 'foo'; - final arg_nodeGroup = 'foo'; + final arg_initialNodeCount = 42; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.NodeGroupsSetNodeTemplateRequest.fromJson( - json as core.Map); - checkNodeGroupsSetNodeTemplateRequest(obj); + final obj = + api.NodeGroup.fromJson(json as core.Map); + checkNodeGroup(obj); final path = req.url.path; var pathOffset = 0; @@ -98530,7 +99794,7 @@ void main() { unittest.equals('/zones/'), ); pathOffset += 7; - index = path.indexOf('/nodeGroups/', pathOffset); + index = path.indexOf('/nodeGroups', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -98540,24 +99804,10 @@ void main() { unittest.equals('$arg_zone'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 12), - unittest.equals('/nodeGroups/'), - ); - pathOffset += 12; - index = path.indexOf('/setNodeTemplate', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_nodeGroup'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 16), - unittest.equals('/setNodeTemplate'), + path.substring(pathOffset, pathOffset + 11), + unittest.equals('/nodeGroups'), ); - pathOffset += 16; + pathOffset += 11; final query = req.url.query; var queryOffset = 0; @@ -98574,6 +99824,10 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['initialNodeCount']!.first), + unittest.equals(arg_initialNodeCount), + ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), @@ -98589,26 +99843,24 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setNodeTemplate( - arg_request, arg_project, arg_zone, arg_nodeGroup, + final response = await res.insert( + arg_request, arg_project, arg_zone, arg_initialNodeCount, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--simulateMaintenanceEvent', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).nodeGroups; - final arg_request = buildNodeGroupsSimulateMaintenanceEventRequest(); final arg_project = 'foo'; final arg_zone = 'foo'; - final arg_nodeGroup = 'foo'; - final arg_requestId = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.NodeGroupsSimulateMaintenanceEventRequest.fromJson( - json as core.Map); - checkNodeGroupsSimulateMaintenanceEventRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -98642,7 +99894,7 @@ void main() { unittest.equals('/zones/'), ); pathOffset += 7; - index = path.indexOf('/nodeGroups/', pathOffset); + index = path.indexOf('/nodeGroups', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -98652,24 +99904,10 @@ void main() { unittest.equals('$arg_zone'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 12), - unittest.equals('/nodeGroups/'), - ); - pathOffset += 12; - index = path.indexOf('/simulateMaintenanceEvent', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_nodeGroup'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 25), - unittest.equals('/simulateMaintenanceEvent'), + path.substring(pathOffset, pathOffset + 11), + unittest.equals('/nodeGroups'), ); - pathOffset += 25; + pathOffset += 11; final query = req.url.query; var queryOffset = 0; @@ -98687,8 +99925,24 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), ); unittest.expect( queryMap['fields']!.first, @@ -98698,28 +99952,32 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildNodeGroupList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.simulateMaintenanceEvent( - arg_request, arg_project, arg_zone, arg_nodeGroup, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.list(arg_project, arg_zone, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkNodeGroupList(response as api.NodeGroupList); }); - unittest.test('method--testIamPermissions', () async { + unittest.test('method--listNodes', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).nodeGroups; - final arg_request = buildTestPermissionsRequest(); final arg_project = 'foo'; final arg_zone = 'foo'; - final arg_resource = 'foo'; + final arg_nodeGroup = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.TestPermissionsRequest.fromJson( - json as core.Map); - checkTestPermissionsRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -98767,101 +100025,20 @@ void main() { unittest.equals('/nodeGroups/'), ); pathOffset += 12; - index = path.indexOf('/testIamPermissions', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_resource'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 19), - unittest.equals('/testIamPermissions'), - ); - pathOffset += 19; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildTestPermissionsResponse()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.testIamPermissions( - arg_request, arg_project, arg_zone, arg_resource, - $fields: arg_$fields); - checkTestPermissionsResponse(response as api.TestPermissionsResponse); - }); - }); - - unittest.group('resource-NodeTemplatesResource', () { - unittest.test('method--aggregatedList', () async { - final mock = HttpServerMock(); - final res = api.ComputeApi(mock).nodeTemplates; - final arg_project = 'foo'; - final arg_filter = 'foo'; - final arg_includeAllScopes = true; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; - final arg_serviceProjectNumber = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('compute/v1/'), - ); - pathOffset += 11; - unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('projects/'), - ); - pathOffset += 9; - index = path.indexOf('/aggregated/nodeTemplates', pathOffset); + index = path.indexOf('/listNodes', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_project'), + unittest.equals('$arg_nodeGroup'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 25), - unittest.equals('/aggregated/nodeTemplates'), + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/listNodes'), ); - pathOffset += 25; + pathOffset += 10; final query = req.url.query; var queryOffset = 0; @@ -98882,10 +100059,6 @@ void main() { queryMap['filter']!.first, unittest.equals(arg_filter), ); - unittest.expect( - queryMap['includeAllScopes']!.first, - unittest.equals('$arg_includeAllScopes'), - ); unittest.expect( core.int.parse(queryMap['maxResults']!.first), unittest.equals(arg_maxResults), @@ -98902,10 +100075,6 @@ void main() { queryMap['returnPartialSuccess']!.first, unittest.equals('$arg_returnPartialSuccess'), ); - unittest.expect( - queryMap['serviceProjectNumber']!.first, - unittest.equals(arg_serviceProjectNumber), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -98914,31 +100083,33 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildNodeTemplateAggregatedList()); + final resp = convert.json.encode(buildNodeGroupsListNodes()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.aggregatedList(arg_project, + final response = await res.listNodes(arg_project, arg_zone, arg_nodeGroup, filter: arg_filter, - includeAllScopes: arg_includeAllScopes, maxResults: arg_maxResults, orderBy: arg_orderBy, pageToken: arg_pageToken, returnPartialSuccess: arg_returnPartialSuccess, - serviceProjectNumber: arg_serviceProjectNumber, $fields: arg_$fields); - checkNodeTemplateAggregatedList( - response as api.NodeTemplateAggregatedList); + checkNodeGroupsListNodes(response as api.NodeGroupsListNodes); }); - unittest.test('method--delete', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).nodeTemplates; + final res = api.ComputeApi(mock).nodeGroups; + final arg_request = buildNodeGroup(); final arg_project = 'foo'; - final arg_region = 'foo'; - final arg_nodeTemplate = 'foo'; + final arg_zone = 'foo'; + final arg_nodeGroup = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.NodeGroup.fromJson(json as core.Map); + checkNodeGroup(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -98958,7 +100129,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/regions/', pathOffset); + index = path.indexOf('/zones/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -98968,29 +100139,29 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/regions/'), + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/zones/'), ); - pathOffset += 9; - index = path.indexOf('/nodeTemplates/', pathOffset); + pathOffset += 7; + index = path.indexOf('/nodeGroups/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_region'), + unittest.equals('$arg_zone'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('/nodeTemplates/'), + path.substring(pathOffset, pathOffset + 12), + unittest.equals('/nodeGroups/'), ); - pathOffset += 15; + pathOffset += 12; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_nodeTemplate'), + unittest.equals('$arg_nodeGroup'), ); final query = req.url.query; @@ -99023,20 +100194,26 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete( - arg_project, arg_region, arg_nodeTemplate, + final response = await res.patch( + arg_request, arg_project, arg_zone, arg_nodeGroup, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--get', () async { + unittest.test('method--performMaintenance', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).nodeTemplates; + final res = api.ComputeApi(mock).nodeGroups; + final arg_request = buildNodeGroupsPerformMaintenanceRequest(); final arg_project = 'foo'; - final arg_region = 'foo'; - final arg_nodeTemplate = 'foo'; + final arg_zone = 'foo'; + final arg_nodeGroup = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.NodeGroupsPerformMaintenanceRequest.fromJson( + json as core.Map); + checkNodeGroupsPerformMaintenanceRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -99056,7 +100233,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/regions/', pathOffset); + index = path.indexOf('/zones/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -99066,30 +100243,38 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/regions/'), + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/zones/'), ); - pathOffset += 9; - index = path.indexOf('/nodeTemplates/', pathOffset); + pathOffset += 7; + index = path.indexOf('/nodeGroups/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_region'), + unittest.equals('$arg_zone'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('/nodeTemplates/'), + path.substring(pathOffset, pathOffset + 12), + unittest.equals('/nodeGroups/'), ); - pathOffset += 15; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + pathOffset += 12; + index = path.indexOf('/performMaintenance', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_nodeTemplate'), + unittest.equals('$arg_nodeGroup'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/performMaintenance'), ); + pathOffset += 19; final query = req.url.query; var queryOffset = 0; @@ -99106,6 +100291,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -99114,23 +100303,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildNodeTemplate()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_project, arg_region, arg_nodeTemplate, - $fields: arg_$fields); - checkNodeTemplate(response as api.NodeTemplate); + final response = await res.performMaintenance( + arg_request, arg_project, arg_zone, arg_nodeGroup, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--getIamPolicy', () async { + unittest.test('method--setIamPolicy', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).nodeTemplates; + final res = api.ComputeApi(mock).nodeGroups; + final arg_request = buildZoneSetPolicyRequest(); final arg_project = 'foo'; - final arg_region = 'foo'; + final arg_zone = 'foo'; final arg_resource = 'foo'; - final arg_optionsRequestedPolicyVersion = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.ZoneSetPolicyRequest.fromJson( + json as core.Map); + checkZoneSetPolicyRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -99150,7 +100344,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/regions/', pathOffset); + index = path.indexOf('/zones/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -99160,25 +100354,25 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/regions/'), + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/zones/'), ); - pathOffset += 9; - index = path.indexOf('/nodeTemplates/', pathOffset); + pathOffset += 7; + index = path.indexOf('/nodeGroups/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_region'), + unittest.equals('$arg_zone'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('/nodeTemplates/'), + path.substring(pathOffset, pathOffset + 12), + unittest.equals('/nodeGroups/'), ); - pathOffset += 15; - index = path.indexOf('/getIamPolicy', pathOffset); + pathOffset += 12; + index = path.indexOf('/setIamPolicy', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -99189,7 +100383,7 @@ void main() { ); unittest.expect( path.substring(pathOffset, pathOffset + 13), - unittest.equals('/getIamPolicy'), + unittest.equals('/setIamPolicy'), ); pathOffset += 13; @@ -99208,10 +100402,6 @@ void main() { ); } } - unittest.expect( - core.int.parse(queryMap['optionsRequestedPolicyVersion']!.first), - unittest.equals(arg_optionsRequestedPolicyVersion), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -99223,25 +100413,25 @@ void main() { final resp = convert.json.encode(buildPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getIamPolicy( - arg_project, arg_region, arg_resource, - optionsRequestedPolicyVersion: arg_optionsRequestedPolicyVersion, + final response = await res.setIamPolicy( + arg_request, arg_project, arg_zone, arg_resource, $fields: arg_$fields); checkPolicy(response as api.Policy); }); - unittest.test('method--insert', () async { + unittest.test('method--setNodeTemplate', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).nodeTemplates; - final arg_request = buildNodeTemplate(); + final res = api.ComputeApi(mock).nodeGroups; + final arg_request = buildNodeGroupsSetNodeTemplateRequest(); final arg_project = 'foo'; - final arg_region = 'foo'; + final arg_zone = 'foo'; + final arg_nodeGroup = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.NodeTemplate.fromJson( + final obj = api.NodeGroupsSetNodeTemplateRequest.fromJson( json as core.Map); - checkNodeTemplate(obj); + checkNodeGroupsSetNodeTemplateRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -99262,7 +100452,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/regions/', pathOffset); + index = path.indexOf('/zones/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -99272,119 +100462,38 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/regions/'), - ); - pathOffset += 9; - index = path.indexOf('/nodeTemplates', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_region'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 14), - unittest.equals('/nodeTemplates'), - ); - pathOffset += 14; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildOperation()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.insert(arg_request, arg_project, arg_region, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); - }); - - unittest.test('method--list', () async { - final mock = HttpServerMock(); - final res = api.ComputeApi(mock).nodeTemplates; - final arg_project = 'foo'; - final arg_region = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('compute/v1/'), - ); - pathOffset += 11; - unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('projects/'), + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/zones/'), ); - pathOffset += 9; - index = path.indexOf('/regions/', pathOffset); + pathOffset += 7; + index = path.indexOf('/nodeGroups/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_project'), + unittest.equals('$arg_zone'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/regions/'), + path.substring(pathOffset, pathOffset + 12), + unittest.equals('/nodeGroups/'), ); - pathOffset += 9; - index = path.indexOf('/nodeTemplates', pathOffset); + pathOffset += 12; + index = path.indexOf('/setNodeTemplate', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_region'), + unittest.equals('$arg_nodeGroup'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 14), - unittest.equals('/nodeTemplates'), + path.substring(pathOffset, pathOffset + 16), + unittest.equals('/setNodeTemplate'), ); - pathOffset += 14; + pathOffset += 16; final query = req.url.query; var queryOffset = 0; @@ -99402,24 +100511,8 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -99429,31 +100522,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildNodeTemplateList()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_region, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkNodeTemplateList(response as api.NodeTemplateList); + final response = await res.setNodeTemplate( + arg_request, arg_project, arg_zone, arg_nodeGroup, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--setIamPolicy', () async { + unittest.test('method--simulateMaintenanceEvent', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).nodeTemplates; - final arg_request = buildRegionSetPolicyRequest(); + final res = api.ComputeApi(mock).nodeGroups; + final arg_request = buildNodeGroupsSimulateMaintenanceEventRequest(); final arg_project = 'foo'; - final arg_region = 'foo'; - final arg_resource = 'foo'; + final arg_zone = 'foo'; + final arg_nodeGroup = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.RegionSetPolicyRequest.fromJson( + final obj = api.NodeGroupsSimulateMaintenanceEventRequest.fromJson( json as core.Map); - checkRegionSetPolicyRequest(obj); + checkNodeGroupsSimulateMaintenanceEventRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -99474,7 +100564,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/regions/', pathOffset); + index = path.indexOf('/zones/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -99484,38 +100574,38 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/regions/'), + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/zones/'), ); - pathOffset += 9; - index = path.indexOf('/nodeTemplates/', pathOffset); + pathOffset += 7; + index = path.indexOf('/nodeGroups/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_region'), + unittest.equals('$arg_zone'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('/nodeTemplates/'), + path.substring(pathOffset, pathOffset + 12), + unittest.equals('/nodeGroups/'), ); - pathOffset += 15; - index = path.indexOf('/setIamPolicy', pathOffset); + pathOffset += 12; + index = path.indexOf('/simulateMaintenanceEvent', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_resource'), + unittest.equals('$arg_nodeGroup'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/setIamPolicy'), + path.substring(pathOffset, pathOffset + 25), + unittest.equals('/simulateMaintenanceEvent'), ); - pathOffset += 13; + pathOffset += 25; final query = req.url.query; var queryOffset = 0; @@ -99532,6 +100622,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -99540,21 +100634,21 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPolicy()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setIamPolicy( - arg_request, arg_project, arg_region, arg_resource, - $fields: arg_$fields); - checkPolicy(response as api.Policy); + final response = await res.simulateMaintenanceEvent( + arg_request, arg_project, arg_zone, arg_nodeGroup, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); unittest.test('method--testIamPermissions', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).nodeTemplates; + final res = api.ComputeApi(mock).nodeGroups; final arg_request = buildTestPermissionsRequest(); final arg_project = 'foo'; - final arg_region = 'foo'; + final arg_zone = 'foo'; final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -99581,7 +100675,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/regions/', pathOffset); + index = path.indexOf('/zones/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -99591,24 +100685,24 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/regions/'), + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/zones/'), ); - pathOffset += 9; - index = path.indexOf('/nodeTemplates/', pathOffset); + pathOffset += 7; + index = path.indexOf('/nodeGroups/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_region'), + unittest.equals('$arg_zone'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('/nodeTemplates/'), + path.substring(pathOffset, pathOffset + 12), + unittest.equals('/nodeGroups/'), ); - pathOffset += 15; + pathOffset += 12; index = path.indexOf('/testIamPermissions', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = @@ -99651,16 +100745,16 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.testIamPermissions( - arg_request, arg_project, arg_region, arg_resource, + arg_request, arg_project, arg_zone, arg_resource, $fields: arg_$fields); checkTestPermissionsResponse(response as api.TestPermissionsResponse); }); }); - unittest.group('resource-NodeTypesResource', () { + unittest.group('resource-NodeTemplatesResource', () { unittest.test('method--aggregatedList', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).nodeTypes; + final res = api.ComputeApi(mock).nodeTemplates; final arg_project = 'foo'; final arg_filter = 'foo'; final arg_includeAllScopes = true; @@ -99690,7 +100784,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/aggregated/nodeTypes', pathOffset); + index = path.indexOf('/aggregated/nodeTemplates', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -99700,10 +100794,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 21), - unittest.equals('/aggregated/nodeTypes'), + path.substring(pathOffset, pathOffset + 25), + unittest.equals('/aggregated/nodeTemplates'), ); - pathOffset += 21; + pathOffset += 25; final query = req.url.query; var queryOffset = 0; @@ -99756,7 +100850,7 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildNodeTypeAggregatedList()); + final resp = convert.json.encode(buildNodeTemplateAggregatedList()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.aggregatedList(arg_project, @@ -99768,15 +100862,17 @@ void main() { returnPartialSuccess: arg_returnPartialSuccess, serviceProjectNumber: arg_serviceProjectNumber, $fields: arg_$fields); - checkNodeTypeAggregatedList(response as api.NodeTypeAggregatedList); + checkNodeTemplateAggregatedList( + response as api.NodeTemplateAggregatedList); }); - unittest.test('method--get', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).nodeTypes; + final res = api.ComputeApi(mock).nodeTemplates; final arg_project = 'foo'; - final arg_zone = 'foo'; - final arg_nodeType = 'foo'; + final arg_region = 'foo'; + final arg_nodeTemplate = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -99798,7 +100894,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/zones/', pathOffset); + index = path.indexOf('/regions/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -99807,227 +100903,31 @@ void main() { subPart, unittest.equals('$arg_project'), ); - unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/zones/'), - ); - pathOffset += 7; - index = path.indexOf('/nodeTypes/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_zone'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('/nodeTypes/'), - ); - pathOffset += 11; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_nodeType'), - ); - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildNodeType()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.get(arg_project, arg_zone, arg_nodeType, - $fields: arg_$fields); - checkNodeType(response as api.NodeType); - }); - - unittest.test('method--list', () async { - final mock = HttpServerMock(); - final res = api.ComputeApi(mock).nodeTypes; - final arg_project = 'foo'; - final arg_zone = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('compute/v1/'), - ); - pathOffset += 11; unittest.expect( path.substring(pathOffset, pathOffset + 9), - unittest.equals('projects/'), + unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/zones/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_project'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/zones/'), - ); - pathOffset += 7; - index = path.indexOf('/nodeTypes', pathOffset); + index = path.indexOf('/nodeTemplates/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_zone'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 10), - unittest.equals('/nodeTypes'), - ); - pathOffset += 10; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), - ); - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildNodeTypeList()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.list(arg_project, arg_zone, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkNodeTypeList(response as api.NodeTypeList); - }); - }); - - unittest.group('resource-PacketMirroringsResource', () { - unittest.test('method--aggregatedList', () async { - final mock = HttpServerMock(); - final res = api.ComputeApi(mock).packetMirrorings; - final arg_project = 'foo'; - final arg_filter = 'foo'; - final arg_includeAllScopes = true; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; - final arg_serviceProjectNumber = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('compute/v1/'), + unittest.equals('$arg_region'), ); - pathOffset += 11; unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('projects/'), + path.substring(pathOffset, pathOffset + 15), + unittest.equals('/nodeTemplates/'), ); - pathOffset += 9; - index = path.indexOf('/aggregated/packetMirrorings', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + pathOffset += 15; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_project'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 28), - unittest.equals('/aggregated/packetMirrorings'), + unittest.equals('$arg_nodeTemplate'), ); - pathOffset += 28; final query = req.url.query; var queryOffset = 0; @@ -100045,32 +100945,8 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - queryMap['includeAllScopes']!.first, - unittest.equals('$arg_includeAllScopes'), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), - ); - unittest.expect( - queryMap['serviceProjectNumber']!.first, - unittest.equals(arg_serviceProjectNumber), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -100080,29 +100956,21 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPacketMirroringAggregatedList()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.aggregatedList(arg_project, - filter: arg_filter, - includeAllScopes: arg_includeAllScopes, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - serviceProjectNumber: arg_serviceProjectNumber, - $fields: arg_$fields); - checkPacketMirroringAggregatedList( - response as api.PacketMirroringAggregatedList); + final response = await res.delete( + arg_project, arg_region, arg_nodeTemplate, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--delete', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).packetMirrorings; + final res = api.ComputeApi(mock).nodeTemplates; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_packetMirroring = 'foo'; - final arg_requestId = 'foo'; + final arg_nodeTemplate = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -100138,7 +101006,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/packetMirrorings/', pathOffset); + index = path.indexOf('/nodeTemplates/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -100148,15 +101016,15 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/packetMirrorings/'), + path.substring(pathOffset, pathOffset + 15), + unittest.equals('/nodeTemplates/'), ); - pathOffset += 18; + pathOffset += 15; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_packetMirroring'), + unittest.equals('$arg_nodeTemplate'), ); final query = req.url.query; @@ -100174,10 +101042,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -100186,21 +101050,21 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildNodeTemplate()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete( - arg_project, arg_region, arg_packetMirroring, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.get(arg_project, arg_region, arg_nodeTemplate, + $fields: arg_$fields); + checkNodeTemplate(response as api.NodeTemplate); }); - unittest.test('method--get', () async { + unittest.test('method--getIamPolicy', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).packetMirrorings; + final res = api.ComputeApi(mock).nodeTemplates; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_packetMirroring = 'foo'; + final arg_resource = 'foo'; + final arg_optionsRequestedPolicyVersion = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -100236,7 +101100,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/packetMirrorings/', pathOffset); + index = path.indexOf('/nodeTemplates/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -100246,16 +101110,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/packetMirrorings/'), + path.substring(pathOffset, pathOffset + 15), + unittest.equals('/nodeTemplates/'), ); - pathOffset += 18; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + pathOffset += 15; + index = path.indexOf('/getIamPolicy', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_packetMirroring'), + unittest.equals('$arg_resource'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/getIamPolicy'), ); + pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -100272,6 +101144,10 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['optionsRequestedPolicyVersion']!.first), + unittest.equals(arg_optionsRequestedPolicyVersion), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -100280,27 +101156,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPacketMirroring()); + final resp = convert.json.encode(buildPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get( - arg_project, arg_region, arg_packetMirroring, + final response = await res.getIamPolicy( + arg_project, arg_region, arg_resource, + optionsRequestedPolicyVersion: arg_optionsRequestedPolicyVersion, $fields: arg_$fields); - checkPacketMirroring(response as api.PacketMirroring); + checkPolicy(response as api.Policy); }); unittest.test('method--insert', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).packetMirrorings; - final arg_request = buildPacketMirroring(); + final res = api.ComputeApi(mock).nodeTemplates; + final arg_request = buildNodeTemplate(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.PacketMirroring.fromJson( + final obj = api.NodeTemplate.fromJson( json as core.Map); - checkPacketMirroring(obj); + checkNodeTemplate(obj); final path = req.url.path; var pathOffset = 0; @@ -100335,7 +101212,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/packetMirrorings', pathOffset); + index = path.indexOf('/nodeTemplates', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -100345,10 +101222,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/packetMirrorings'), + path.substring(pathOffset, pathOffset + 14), + unittest.equals('/nodeTemplates'), ); - pathOffset += 17; + pathOffset += 14; final query = req.url.query; var queryOffset = 0; @@ -100387,7 +101264,7 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).packetMirrorings; + final res = api.ComputeApi(mock).nodeTemplates; final arg_project = 'foo'; final arg_region = 'foo'; final arg_filter = 'foo'; @@ -100430,7 +101307,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/packetMirrorings', pathOffset); + index = path.indexOf('/nodeTemplates', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -100440,10 +101317,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/packetMirrorings'), + path.substring(pathOffset, pathOffset + 14), + unittest.equals('/nodeTemplates'), ); - pathOffset += 17; + pathOffset += 14; final query = req.url.query; var queryOffset = 0; @@ -100488,7 +101365,7 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPacketMirroringList()); + final resp = convert.json.encode(buildNodeTemplateList()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.list(arg_project, arg_region, @@ -100498,22 +101375,21 @@ void main() { pageToken: arg_pageToken, returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkPacketMirroringList(response as api.PacketMirroringList); + checkNodeTemplateList(response as api.NodeTemplateList); }); - unittest.test('method--patch', () async { + unittest.test('method--setIamPolicy', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).packetMirrorings; - final arg_request = buildPacketMirroring(); + final res = api.ComputeApi(mock).nodeTemplates; + final arg_request = buildRegionSetPolicyRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_packetMirroring = 'foo'; - final arg_requestId = 'foo'; + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.PacketMirroring.fromJson( + final obj = api.RegionSetPolicyRequest.fromJson( json as core.Map); - checkPacketMirroring(obj); + checkRegionSetPolicyRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -100548,7 +101424,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/packetMirrorings/', pathOffset); + index = path.indexOf('/nodeTemplates/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -100558,16 +101434,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/packetMirrorings/'), + path.substring(pathOffset, pathOffset + 15), + unittest.equals('/nodeTemplates/'), ); - pathOffset += 18; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + pathOffset += 15; + index = path.indexOf('/setIamPolicy', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_packetMirroring'), + unittest.equals('$arg_resource'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/setIamPolicy'), ); + pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -100584,10 +101468,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -100596,18 +101476,18 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch( - arg_request, arg_project, arg_region, arg_packetMirroring, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.setIamPolicy( + arg_request, arg_project, arg_region, arg_resource, + $fields: arg_$fields); + checkPolicy(response as api.Policy); }); unittest.test('method--testIamPermissions', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).packetMirrorings; + final res = api.ComputeApi(mock).nodeTemplates; final arg_request = buildTestPermissionsRequest(); final arg_project = 'foo'; final arg_region = 'foo'; @@ -100651,7 +101531,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/packetMirrorings/', pathOffset); + index = path.indexOf('/nodeTemplates/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -100661,10 +101541,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/packetMirrorings/'), + path.substring(pathOffset, pathOffset + 15), + unittest.equals('/nodeTemplates/'), ); - pathOffset += 18; + pathOffset += 15; index = path.indexOf('/testIamPermissions', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = @@ -100713,12 +101593,18 @@ void main() { }); }); - unittest.group('resource-ProjectsResource', () { - unittest.test('method--disableXpnHost', () async { + unittest.group('resource-NodeTypesResource', () { + unittest.test('method--aggregatedList', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).projects; + final res = api.ComputeApi(mock).nodeTypes; final arg_project = 'foo'; - final arg_requestId = 'foo'; + final arg_filter = 'foo'; + final arg_includeAllScopes = true; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; + final arg_serviceProjectNumber = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -100740,7 +101626,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/disableXpnHost', pathOffset); + index = path.indexOf('/aggregated/nodeTypes', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -100750,10 +101636,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('/disableXpnHost'), + path.substring(pathOffset, pathOffset + 21), + unittest.equals('/aggregated/nodeTypes'), ); - pathOffset += 15; + pathOffset += 21; final query = req.url.query; var queryOffset = 0; @@ -100771,8 +101657,32 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['includeAllScopes']!.first, + unittest.equals('$arg_includeAllScopes'), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); + unittest.expect( + queryMap['serviceProjectNumber']!.first, + unittest.equals(arg_serviceProjectNumber), ); unittest.expect( queryMap['fields']!.first, @@ -100782,26 +101692,29 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildNodeTypeAggregatedList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.disableXpnHost(arg_project, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.aggregatedList(arg_project, + filter: arg_filter, + includeAllScopes: arg_includeAllScopes, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + serviceProjectNumber: arg_serviceProjectNumber, + $fields: arg_$fields); + checkNodeTypeAggregatedList(response as api.NodeTypeAggregatedList); }); - unittest.test('method--disableXpnResource', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).projects; - final arg_request = buildProjectsDisableXpnResourceRequest(); + final res = api.ComputeApi(mock).nodeTypes; final arg_project = 'foo'; - final arg_requestId = 'foo'; + final arg_zone = 'foo'; + final arg_nodeType = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.ProjectsDisableXpnResourceRequest.fromJson( - json as core.Map); - checkProjectsDisableXpnResourceRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -100821,7 +101734,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/disableXpnResource', pathOffset); + index = path.indexOf('/zones/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -100831,18 +101744,38 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 19), - unittest.equals('/disableXpnResource'), + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/zones/'), ); - pathOffset += 19; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { + pathOffset += 7; + index = path.indexOf('/nodeTypes/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_zone'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('/nodeTypes/'), + ); + pathOffset += 11; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_nodeType'), + ); + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { for (var part in query.split('&')) { final keyValue = part.split('='); addQueryParam( @@ -100851,10 +101784,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -100863,19 +101792,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildNodeType()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.disableXpnResource(arg_request, arg_project, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.get(arg_project, arg_zone, arg_nodeType, + $fields: arg_$fields); + checkNodeType(response as api.NodeType); }); - unittest.test('method--enableXpnHost', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).projects; + final res = api.ComputeApi(mock).nodeTypes; final arg_project = 'foo'; - final arg_requestId = 'foo'; + final arg_zone = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -100897,7 +101831,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/enableXpnHost', pathOffset); + index = path.indexOf('/zones/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -100907,10 +101841,24 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 14), - unittest.equals('/enableXpnHost'), + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/zones/'), ); - pathOffset += 14; + pathOffset += 7; + index = path.indexOf('/nodeTypes', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_zone'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/nodeTypes'), + ); + pathOffset += 10; final query = req.url.query; var queryOffset = 0; @@ -100928,8 +101876,24 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), ); unittest.expect( queryMap['fields']!.first, @@ -100939,26 +101903,34 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildNodeTypeList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.enableXpnHost(arg_project, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.list(arg_project, arg_zone, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkNodeTypeList(response as api.NodeTypeList); }); + }); - unittest.test('method--enableXpnResource', () async { + unittest.group('resource-PacketMirroringsResource', () { + unittest.test('method--aggregatedList', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).projects; - final arg_request = buildProjectsEnableXpnResourceRequest(); + final res = api.ComputeApi(mock).packetMirrorings; final arg_project = 'foo'; - final arg_requestId = 'foo'; + final arg_filter = 'foo'; + final arg_includeAllScopes = true; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; + final arg_serviceProjectNumber = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.ProjectsEnableXpnResourceRequest.fromJson( - json as core.Map); - checkProjectsEnableXpnResourceRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -100978,7 +101950,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/enableXpnResource', pathOffset); + index = path.indexOf('/aggregated/packetMirrorings', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -100988,10 +101960,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/enableXpnResource'), + path.substring(pathOffset, pathOffset + 28), + unittest.equals('/aggregated/packetMirrorings'), ); - pathOffset += 18; + pathOffset += 28; final query = req.url.query; var queryOffset = 0; @@ -101009,8 +101981,32 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['includeAllScopes']!.first, + unittest.equals('$arg_includeAllScopes'), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); + unittest.expect( + queryMap['serviceProjectNumber']!.first, + unittest.equals(arg_serviceProjectNumber), ); unittest.expect( queryMap['fields']!.first, @@ -101020,18 +102016,29 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildPacketMirroringAggregatedList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.enableXpnResource(arg_request, arg_project, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.aggregatedList(arg_project, + filter: arg_filter, + includeAllScopes: arg_includeAllScopes, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + serviceProjectNumber: arg_serviceProjectNumber, + $fields: arg_$fields); + checkPacketMirroringAggregatedList( + response as api.PacketMirroringAggregatedList); }); - unittest.test('method--get', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).projects; + final res = api.ComputeApi(mock).packetMirrorings; final arg_project = 'foo'; + final arg_region = 'foo'; + final arg_packetMirroring = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -101053,11 +102060,39 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; + index = path.indexOf('/regions/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_project'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), + ); + pathOffset += 9; + index = path.indexOf('/packetMirrorings/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_region'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/packetMirrorings/'), + ); + pathOffset += 18; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_project'), + unittest.equals('$arg_packetMirroring'), ); final query = req.url.query; @@ -101075,6 +102110,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -101083,17 +102122,21 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildProject()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_project, $fields: arg_$fields); - checkProject(response as api.Project); + final response = await res.delete( + arg_project, arg_region, arg_packetMirroring, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--getXpnHost', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).projects; + final res = api.ComputeApi(mock).packetMirrorings; final arg_project = 'foo'; + final arg_region = 'foo'; + final arg_packetMirroring = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -101115,7 +102158,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/getXpnHost', pathOffset); + index = path.indexOf('/regions/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -101125,10 +102168,30 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('/getXpnHost'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), + ); + pathOffset += 9; + index = path.indexOf('/packetMirrorings/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_region'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/packetMirrorings/'), + ); + pathOffset += 18; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_packetMirroring'), ); - pathOffset += 11; final query = req.url.query; var queryOffset = 0; @@ -101153,24 +102216,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildProject()); + final resp = convert.json.encode(buildPacketMirroring()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getXpnHost(arg_project, $fields: arg_$fields); - checkProject(response as api.Project); + final response = await res.get( + arg_project, arg_region, arg_packetMirroring, + $fields: arg_$fields); + checkPacketMirroring(response as api.PacketMirroring); }); - unittest.test('method--getXpnResources', () async { + unittest.test('method--insert', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).projects; + final res = api.ComputeApi(mock).packetMirrorings; + final arg_request = buildPacketMirroring(); final arg_project = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_region = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.PacketMirroring.fromJson( + json as core.Map); + checkPacketMirroring(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -101190,7 +102257,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/getXpnResources', pathOffset); + index = path.indexOf('/regions/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -101200,10 +102267,24 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 16), - unittest.equals('/getXpnResources'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), ); - pathOffset += 16; + pathOffset += 9; + index = path.indexOf('/packetMirrorings', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_region'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/packetMirrorings'), + ); + pathOffset += 17; final query = req.url.query; var queryOffset = 0; @@ -101221,24 +102302,8 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -101248,24 +102313,19 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildProjectsGetXpnResources()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getXpnResources(arg_project, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkProjectsGetXpnResources(response as api.ProjectsGetXpnResources); + final response = await res.insert(arg_request, arg_project, arg_region, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--listXpnHosts', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).projects; - final arg_request = buildProjectsListXpnHostsRequest(); + final res = api.ComputeApi(mock).packetMirrorings; final arg_project = 'foo'; + final arg_region = 'foo'; final arg_filter = 'foo'; final arg_maxResults = 42; final arg_orderBy = 'foo'; @@ -101273,10 +102333,6 @@ void main() { final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.ProjectsListXpnHostsRequest.fromJson( - json as core.Map); - checkProjectsListXpnHostsRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -101296,7 +102352,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/listXpnHosts', pathOffset); + index = path.indexOf('/regions/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -101306,10 +102362,24 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/listXpnHosts'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), ); - pathOffset += 13; + pathOffset += 9; + index = path.indexOf('/packetMirrorings', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_region'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/packetMirrorings'), + ); + pathOffset += 17; final query = req.url.query; var queryOffset = 0; @@ -101354,30 +102424,32 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildXpnHostList()); + final resp = convert.json.encode(buildPacketMirroringList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.listXpnHosts(arg_request, arg_project, + final response = await res.list(arg_project, arg_region, filter: arg_filter, maxResults: arg_maxResults, orderBy: arg_orderBy, pageToken: arg_pageToken, returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkXpnHostList(response as api.XpnHostList); + checkPacketMirroringList(response as api.PacketMirroringList); }); - unittest.test('method--moveDisk', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).projects; - final arg_request = buildDiskMoveRequest(); + final res = api.ComputeApi(mock).packetMirrorings; + final arg_request = buildPacketMirroring(); final arg_project = 'foo'; + final arg_region = 'foo'; + final arg_packetMirroring = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.DiskMoveRequest.fromJson( + final obj = api.PacketMirroring.fromJson( json as core.Map); - checkDiskMoveRequest(obj); + checkPacketMirroring(obj); final path = req.url.path; var pathOffset = 0; @@ -101398,7 +102470,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/moveDisk', pathOffset); + index = path.indexOf('/regions/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -101409,9 +102481,29 @@ void main() { ); unittest.expect( path.substring(pathOffset, pathOffset + 9), - unittest.equals('/moveDisk'), + unittest.equals('/regions/'), ); pathOffset += 9; + index = path.indexOf('/packetMirrorings/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_region'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/packetMirrorings/'), + ); + pathOffset += 18; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_packetMirroring'), + ); final query = req.url.query; var queryOffset = 0; @@ -101443,22 +102535,24 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.moveDisk(arg_request, arg_project, + final response = await res.patch( + arg_request, arg_project, arg_region, arg_packetMirroring, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--moveInstance', () async { + unittest.test('method--testIamPermissions', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).projects; - final arg_request = buildInstanceMoveRequest(); + final res = api.ComputeApi(mock).packetMirrorings; + final arg_request = buildTestPermissionsRequest(); final arg_project = 'foo'; - final arg_requestId = 'foo'; + final arg_region = 'foo'; + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.InstanceMoveRequest.fromJson( + final obj = api.TestPermissionsRequest.fromJson( json as core.Map); - checkInstanceMoveRequest(obj); + checkTestPermissionsRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -101479,7 +102573,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/moveInstance', pathOffset); + index = path.indexOf('/regions/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -101489,10 +102583,38 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/moveInstance'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), ); - pathOffset += 13; + pathOffset += 9; + index = path.indexOf('/packetMirrorings/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_region'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/packetMirrorings/'), + ); + pathOffset += 18; + index = path.indexOf('/testIamPermissions', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_resource'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/testIamPermissions'), + ); + pathOffset += 19; final query = req.url.query; var queryOffset = 0; @@ -101509,10 +102631,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -101521,26 +102639,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildTestPermissionsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.moveInstance(arg_request, arg_project, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.testIamPermissions( + arg_request, arg_project, arg_region, arg_resource, + $fields: arg_$fields); + checkTestPermissionsResponse(response as api.TestPermissionsResponse); }); + }); - unittest.test('method--setCloudArmorTier', () async { + unittest.group('resource-ProjectsResource', () { + unittest.test('method--disableXpnHost', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).projects; - final arg_request = buildProjectsSetCloudArmorTierRequest(); final arg_project = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.ProjectsSetCloudArmorTierRequest.fromJson( - json as core.Map); - checkProjectsSetCloudArmorTierRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -101560,7 +102676,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/setCloudArmorTier', pathOffset); + index = path.indexOf('/disableXpnHost', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -101570,10 +102686,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/setCloudArmorTier'), + path.substring(pathOffset, pathOffset + 15), + unittest.equals('/disableXpnHost'), ); - pathOffset += 18; + pathOffset += 15; final query = req.url.query; var queryOffset = 0; @@ -101605,22 +102721,22 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setCloudArmorTier(arg_request, arg_project, + final response = await res.disableXpnHost(arg_project, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--setCommonInstanceMetadata', () async { + unittest.test('method--disableXpnResource', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).projects; - final arg_request = buildMetadata(); + final arg_request = buildProjectsDisableXpnResourceRequest(); final arg_project = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.Metadata.fromJson(json as core.Map); - checkMetadata(obj); + final obj = api.ProjectsDisableXpnResourceRequest.fromJson( + json as core.Map); + checkProjectsDisableXpnResourceRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -101641,7 +102757,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/setCommonInstanceMetadata', pathOffset); + index = path.indexOf('/disableXpnResource', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -101651,10 +102767,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 26), - unittest.equals('/setCommonInstanceMetadata'), + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/disableXpnResource'), ); - pathOffset += 26; + pathOffset += 19; final query = req.url.query; var queryOffset = 0; @@ -101686,24 +102802,18 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setCommonInstanceMetadata( - arg_request, arg_project, + final response = await res.disableXpnResource(arg_request, arg_project, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--setDefaultNetworkTier', () async { + unittest.test('method--enableXpnHost', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).projects; - final arg_request = buildProjectsSetDefaultNetworkTierRequest(); final arg_project = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.ProjectsSetDefaultNetworkTierRequest.fromJson( - json as core.Map); - checkProjectsSetDefaultNetworkTierRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -101723,7 +102833,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/setDefaultNetworkTier', pathOffset); + index = path.indexOf('/enableXpnHost', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -101733,10 +102843,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 22), - unittest.equals('/setDefaultNetworkTier'), + path.substring(pathOffset, pathOffset + 14), + unittest.equals('/enableXpnHost'), ); - pathOffset += 22; + pathOffset += 14; final query = req.url.query; var queryOffset = 0; @@ -101768,22 +102878,22 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setDefaultNetworkTier(arg_request, arg_project, + final response = await res.enableXpnHost(arg_project, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--setUsageExportBucket', () async { + unittest.test('method--enableXpnResource', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).projects; - final arg_request = buildUsageExportLocation(); + final arg_request = buildProjectsEnableXpnResourceRequest(); final arg_project = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.UsageExportLocation.fromJson( + final obj = api.ProjectsEnableXpnResourceRequest.fromJson( json as core.Map); - checkUsageExportLocation(obj); + checkProjectsEnableXpnResourceRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -101804,7 +102914,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/setUsageExportBucket', pathOffset); + index = path.indexOf('/enableXpnResource', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -101814,10 +102924,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 21), - unittest.equals('/setUsageExportBucket'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/enableXpnResource'), ); - pathOffset += 21; + pathOffset += 18; final query = req.url.query; var queryOffset = 0; @@ -101849,19 +102959,15 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setUsageExportBucket(arg_request, arg_project, + final response = await res.enableXpnResource(arg_request, arg_project, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - }); - unittest.group('resource-PublicAdvertisedPrefixesResource', () { - unittest.test('method--announce', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).publicAdvertisedPrefixes; + final res = api.ComputeApi(mock).projects; final arg_project = 'foo'; - final arg_publicAdvertisedPrefix = 'foo'; - final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -101883,34 +102989,12 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/global/publicAdvertisedPrefixes/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, unittest.equals('$arg_project'), ); - unittest.expect( - path.substring(pathOffset, pathOffset + 33), - unittest.equals('/global/publicAdvertisedPrefixes/'), - ); - pathOffset += 33; - index = path.indexOf('/announce', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_publicAdvertisedPrefix'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/announce'), - ); - pathOffset += 9; final query = req.url.query; var queryOffset = 0; @@ -101927,10 +103011,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -101939,21 +103019,17 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildProject()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.announce( - arg_project, arg_publicAdvertisedPrefix, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.get(arg_project, $fields: arg_$fields); + checkProject(response as api.Project); }); - unittest.test('method--delete', () async { + unittest.test('method--getXpnHost', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).publicAdvertisedPrefixes; + final res = api.ComputeApi(mock).projects; final arg_project = 'foo'; - final arg_publicAdvertisedPrefix = 'foo'; - final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -101975,7 +103051,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/global/publicAdvertisedPrefixes/', pathOffset); + index = path.indexOf('/getXpnHost', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -101985,16 +103061,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 33), - unittest.equals('/global/publicAdvertisedPrefixes/'), - ); - pathOffset += 33; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_publicAdvertisedPrefix'), + path.substring(pathOffset, pathOffset + 11), + unittest.equals('/getXpnHost'), ); + pathOffset += 11; final query = req.url.query; var queryOffset = 0; @@ -102011,10 +103081,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -102023,19 +103089,22 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildProject()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_project, arg_publicAdvertisedPrefix, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.getXpnHost(arg_project, $fields: arg_$fields); + checkProject(response as api.Project); }); - unittest.test('method--get', () async { + unittest.test('method--getXpnResources', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).publicAdvertisedPrefixes; + final res = api.ComputeApi(mock).projects; final arg_project = 'foo'; - final arg_publicAdvertisedPrefix = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -102057,7 +103126,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/global/publicAdvertisedPrefixes/', pathOffset); + index = path.indexOf('/getXpnResources', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -102067,16 +103136,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 33), - unittest.equals('/global/publicAdvertisedPrefixes/'), - ); - pathOffset += 33; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_publicAdvertisedPrefix'), + path.substring(pathOffset, pathOffset + 16), + unittest.equals('/getXpnResources'), ); + pathOffset += 16; final query = req.url.query; var queryOffset = 0; @@ -102094,85 +103157,24 @@ void main() { } } unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildPublicAdvertisedPrefix()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.get(arg_project, arg_publicAdvertisedPrefix, - $fields: arg_$fields); - checkPublicAdvertisedPrefix(response as api.PublicAdvertisedPrefix); - }); - - unittest.test('method--insert', () async { - final mock = HttpServerMock(); - final res = api.ComputeApi(mock).publicAdvertisedPrefixes; - final arg_request = buildPublicAdvertisedPrefix(); - final arg_project = 'foo'; - final arg_requestId = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.PublicAdvertisedPrefix.fromJson( - json as core.Map); - checkPublicAdvertisedPrefix(obj); - - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('compute/v1/'), + queryMap['filter']!.first, + unittest.equals(arg_filter), ); - pathOffset += 11; unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('projects/'), + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), ); - pathOffset += 9; - index = path.indexOf('/global/publicAdvertisedPrefixes', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; unittest.expect( - subPart, - unittest.equals('$arg_project'), + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), ); unittest.expect( - path.substring(pathOffset, pathOffset + 32), - unittest.equals('/global/publicAdvertisedPrefixes'), + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), ); - pathOffset += 32; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), ); unittest.expect( queryMap['fields']!.first, @@ -102182,17 +103184,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildProjectsGetXpnResources()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.insert(arg_request, arg_project, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.getXpnResources(arg_project, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkProjectsGetXpnResources(response as api.ProjectsGetXpnResources); }); - unittest.test('method--list', () async { + unittest.test('method--listXpnHosts', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).publicAdvertisedPrefixes; + final res = api.ComputeApi(mock).projects; + final arg_request = buildProjectsListXpnHostsRequest(); final arg_project = 'foo'; final arg_filter = 'foo'; final arg_maxResults = 42; @@ -102201,6 +103209,10 @@ void main() { final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.ProjectsListXpnHostsRequest.fromJson( + json as core.Map); + checkProjectsListXpnHostsRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -102220,7 +103232,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/global/publicAdvertisedPrefixes', pathOffset); + index = path.indexOf('/listXpnHosts', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -102230,10 +103242,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 32), - unittest.equals('/global/publicAdvertisedPrefixes'), + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/listXpnHosts'), ); - pathOffset += 32; + pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -102278,32 +103290,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPublicAdvertisedPrefixList()); + final resp = convert.json.encode(buildXpnHostList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, + final response = await res.listXpnHosts(arg_request, arg_project, filter: arg_filter, maxResults: arg_maxResults, orderBy: arg_orderBy, pageToken: arg_pageToken, returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkPublicAdvertisedPrefixList( - response as api.PublicAdvertisedPrefixList); + checkXpnHostList(response as api.XpnHostList); }); - unittest.test('method--patch', () async { + unittest.test('method--moveDisk', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).publicAdvertisedPrefixes; - final arg_request = buildPublicAdvertisedPrefix(); + final res = api.ComputeApi(mock).projects; + final arg_request = buildDiskMoveRequest(); final arg_project = 'foo'; - final arg_publicAdvertisedPrefix = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.PublicAdvertisedPrefix.fromJson( + final obj = api.DiskMoveRequest.fromJson( json as core.Map); - checkPublicAdvertisedPrefix(obj); + checkDiskMoveRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -102324,7 +103334,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/global/publicAdvertisedPrefixes/', pathOffset); + index = path.indexOf('/moveDisk', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -102334,16 +103344,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 33), - unittest.equals('/global/publicAdvertisedPrefixes/'), - ); - pathOffset += 33; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_publicAdvertisedPrefix'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/moveDisk'), ); + pathOffset += 9; final query = req.url.query; var queryOffset = 0; @@ -102375,20 +103379,23 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch( - arg_request, arg_project, arg_publicAdvertisedPrefix, + final response = await res.moveDisk(arg_request, arg_project, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--withdraw', () async { + unittest.test('method--moveInstance', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).publicAdvertisedPrefixes; + final res = api.ComputeApi(mock).projects; + final arg_request = buildInstanceMoveRequest(); final arg_project = 'foo'; - final arg_publicAdvertisedPrefix = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.InstanceMoveRequest.fromJson( + json as core.Map); + checkInstanceMoveRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -102408,7 +103415,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/global/publicAdvertisedPrefixes/', pathOffset); + index = path.indexOf('/moveInstance', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -102418,24 +103425,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 33), - unittest.equals('/global/publicAdvertisedPrefixes/'), - ); - pathOffset += 33; - index = path.indexOf('/withdraw', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_publicAdvertisedPrefix'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/withdraw'), + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/moveInstance'), ); - pathOffset += 9; + pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -102467,27 +103460,23 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.withdraw( - arg_project, arg_publicAdvertisedPrefix, + final response = await res.moveInstance(arg_request, arg_project, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - }); - unittest.group('resource-PublicDelegatedPrefixesResource', () { - unittest.test('method--aggregatedList', () async { + unittest.test('method--setCloudArmorTier', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).publicDelegatedPrefixes; + final res = api.ComputeApi(mock).projects; + final arg_request = buildProjectsSetCloudArmorTierRequest(); final arg_project = 'foo'; - final arg_filter = 'foo'; - final arg_includeAllScopes = true; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; - final arg_serviceProjectNumber = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.ProjectsSetCloudArmorTierRequest.fromJson( + json as core.Map); + checkProjectsSetCloudArmorTierRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -102507,7 +103496,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/aggregated/publicDelegatedPrefixes', pathOffset); + index = path.indexOf('/setCloudArmorTier', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -102517,10 +103506,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 35), - unittest.equals('/aggregated/publicDelegatedPrefixes'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/setCloudArmorTier'), ); - pathOffset += 35; + pathOffset += 18; final query = req.url.query; var queryOffset = 0; @@ -102538,32 +103527,8 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - queryMap['includeAllScopes']!.first, - unittest.equals('$arg_includeAllScopes'), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), - ); - unittest.expect( - queryMap['serviceProjectNumber']!.first, - unittest.equals(arg_serviceProjectNumber), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -102573,32 +103538,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildPublicDelegatedPrefixAggregatedList()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.aggregatedList(arg_project, - filter: arg_filter, - includeAllScopes: arg_includeAllScopes, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - serviceProjectNumber: arg_serviceProjectNumber, - $fields: arg_$fields); - checkPublicDelegatedPrefixAggregatedList( - response as api.PublicDelegatedPrefixAggregatedList); + final response = await res.setCloudArmorTier(arg_request, arg_project, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--announce', () async { + unittest.test('method--setCommonInstanceMetadata', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).publicDelegatedPrefixes; + final res = api.ComputeApi(mock).projects; + final arg_request = buildMetadata(); final arg_project = 'foo'; - final arg_region = 'foo'; - final arg_publicDelegatedPrefix = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.Metadata.fromJson(json as core.Map); + checkMetadata(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -102618,7 +103577,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/regions/', pathOffset); + index = path.indexOf('/setCommonInstanceMetadata', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -102628,38 +103587,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/regions/'), - ); - pathOffset += 9; - index = path.indexOf('/publicDelegatedPrefixes/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_region'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 25), - unittest.equals('/publicDelegatedPrefixes/'), - ); - pathOffset += 25; - index = path.indexOf('/announce', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_publicDelegatedPrefix'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/announce'), + path.substring(pathOffset, pathOffset + 26), + unittest.equals('/setCommonInstanceMetadata'), ); - pathOffset += 9; + pathOffset += 26; final query = req.url.query; var queryOffset = 0; @@ -102691,21 +103622,24 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.announce( - arg_project, arg_region, arg_publicDelegatedPrefix, + final response = await res.setCommonInstanceMetadata( + arg_request, arg_project, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--delete', () async { + unittest.test('method--setDefaultNetworkTier', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).publicDelegatedPrefixes; + final res = api.ComputeApi(mock).projects; + final arg_request = buildProjectsSetDefaultNetworkTierRequest(); final arg_project = 'foo'; - final arg_region = 'foo'; - final arg_publicDelegatedPrefix = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.ProjectsSetDefaultNetworkTierRequest.fromJson( + json as core.Map); + checkProjectsSetDefaultNetworkTierRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -102725,7 +103659,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/regions/', pathOffset); + index = path.indexOf('/setDefaultNetworkTier', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -102735,30 +103669,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/regions/'), - ); - pathOffset += 9; - index = path.indexOf('/publicDelegatedPrefixes/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_region'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 25), - unittest.equals('/publicDelegatedPrefixes/'), - ); - pathOffset += 25; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_publicDelegatedPrefix'), + path.substring(pathOffset, pathOffset + 22), + unittest.equals('/setDefaultNetworkTier'), ); + pathOffset += 22; final query = req.url.query; var queryOffset = 0; @@ -102790,20 +103704,23 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete( - arg_project, arg_region, arg_publicDelegatedPrefix, + final response = await res.setDefaultNetworkTier(arg_request, arg_project, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--get', () async { + unittest.test('method--setUsageExportBucket', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).publicDelegatedPrefixes; + final res = api.ComputeApi(mock).projects; + final arg_request = buildUsageExportLocation(); final arg_project = 'foo'; - final arg_region = 'foo'; - final arg_publicDelegatedPrefix = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.UsageExportLocation.fromJson( + json as core.Map); + checkUsageExportLocation(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -102823,7 +103740,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/regions/', pathOffset); + index = path.indexOf('/setUsageExportBucket', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -102833,30 +103750,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/regions/'), - ); - pathOffset += 9; - index = path.indexOf('/publicDelegatedPrefixes/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_region'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 25), - unittest.equals('/publicDelegatedPrefixes/'), - ); - pathOffset += 25; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_publicDelegatedPrefix'), + path.substring(pathOffset, pathOffset + 21), + unittest.equals('/setUsageExportBucket'), ); + pathOffset += 21; final query = req.url.query; var queryOffset = 0; @@ -102873,6 +103770,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -102881,28 +103782,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPublicDelegatedPrefix()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get( - arg_project, arg_region, arg_publicDelegatedPrefix, - $fields: arg_$fields); - checkPublicDelegatedPrefix(response as api.PublicDelegatedPrefix); + final response = await res.setUsageExportBucket(arg_request, arg_project, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); + }); - unittest.test('method--insert', () async { + unittest.group('resource-PublicAdvertisedPrefixesResource', () { + unittest.test('method--announce', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).publicDelegatedPrefixes; - final arg_request = buildPublicDelegatedPrefix(); + final res = api.ComputeApi(mock).publicAdvertisedPrefixes; final arg_project = 'foo'; - final arg_region = 'foo'; + final arg_publicAdvertisedPrefix = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.PublicDelegatedPrefix.fromJson( - json as core.Map); - checkPublicDelegatedPrefix(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -102922,7 +103819,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/regions/', pathOffset); + index = path.indexOf('/global/publicAdvertisedPrefixes/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -102932,24 +103829,24 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/regions/'), + path.substring(pathOffset, pathOffset + 33), + unittest.equals('/global/publicAdvertisedPrefixes/'), ); - pathOffset += 9; - index = path.indexOf('/publicDelegatedPrefixes', pathOffset); + pathOffset += 33; + index = path.indexOf('/announce', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_region'), + unittest.equals('$arg_publicAdvertisedPrefix'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 24), - unittest.equals('/publicDelegatedPrefixes'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/announce'), ); - pathOffset += 24; + pathOffset += 9; final query = req.url.query; var queryOffset = 0; @@ -102981,21 +103878,18 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.insert(arg_request, arg_project, arg_region, + final response = await res.announce( + arg_project, arg_publicAdvertisedPrefix, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--list', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).publicDelegatedPrefixes; + final res = api.ComputeApi(mock).publicAdvertisedPrefixes; final arg_project = 'foo'; - final arg_region = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_publicAdvertisedPrefix = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -103017,7 +103911,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/regions/', pathOffset); + index = path.indexOf('/global/publicAdvertisedPrefixes/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -103027,24 +103921,16 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/regions/'), + path.substring(pathOffset, pathOffset + 33), + unittest.equals('/global/publicAdvertisedPrefixes/'), ); - pathOffset += 9; - index = path.indexOf('/publicDelegatedPrefixes', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + pathOffset += 33; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_region'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 24), - unittest.equals('/publicDelegatedPrefixes'), + unittest.equals('$arg_publicAdvertisedPrefix'), ); - pathOffset += 24; final query = req.url.query; var queryOffset = 0; @@ -103062,24 +103948,8 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -103089,33 +103959,21 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPublicDelegatedPrefixList()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_region, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkPublicDelegatedPrefixList(response as api.PublicDelegatedPrefixList); + final response = await res.delete(arg_project, arg_publicAdvertisedPrefix, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--patch', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).publicDelegatedPrefixes; - final arg_request = buildPublicDelegatedPrefix(); + final res = api.ComputeApi(mock).publicAdvertisedPrefixes; final arg_project = 'foo'; - final arg_region = 'foo'; - final arg_publicDelegatedPrefix = 'foo'; - final arg_requestId = 'foo'; + final arg_publicAdvertisedPrefix = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.PublicDelegatedPrefix.fromJson( - json as core.Map); - checkPublicDelegatedPrefix(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -103135,7 +103993,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/regions/', pathOffset); + index = path.indexOf('/global/publicAdvertisedPrefixes/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -103145,29 +104003,15 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/regions/'), - ); - pathOffset += 9; - index = path.indexOf('/publicDelegatedPrefixes/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_region'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 25), - unittest.equals('/publicDelegatedPrefixes/'), + path.substring(pathOffset, pathOffset + 33), + unittest.equals('/global/publicAdvertisedPrefixes/'), ); - pathOffset += 25; + pathOffset += 33; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_publicDelegatedPrefix'), + unittest.equals('$arg_publicAdvertisedPrefix'), ); final query = req.url.query; @@ -103185,10 +104029,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -103197,24 +104037,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildPublicAdvertisedPrefix()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch( - arg_request, arg_project, arg_region, arg_publicDelegatedPrefix, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.get(arg_project, arg_publicAdvertisedPrefix, + $fields: arg_$fields); + checkPublicAdvertisedPrefix(response as api.PublicAdvertisedPrefix); }); - unittest.test('method--withdraw', () async { + unittest.test('method--insert', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).publicDelegatedPrefixes; + final res = api.ComputeApi(mock).publicAdvertisedPrefixes; + final arg_request = buildPublicAdvertisedPrefix(); final arg_project = 'foo'; - final arg_region = 'foo'; - final arg_publicDelegatedPrefix = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.PublicAdvertisedPrefix.fromJson( + json as core.Map); + checkPublicAdvertisedPrefix(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -103234,7 +104076,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/regions/', pathOffset); + index = path.indexOf('/global/publicAdvertisedPrefixes', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -103244,38 +104086,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/regions/'), - ); - pathOffset += 9; - index = path.indexOf('/publicDelegatedPrefixes/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_region'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 25), - unittest.equals('/publicDelegatedPrefixes/'), - ); - pathOffset += 25; - index = path.indexOf('/withdraw', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_publicDelegatedPrefix'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/withdraw'), + path.substring(pathOffset, pathOffset + 32), + unittest.equals('/global/publicAdvertisedPrefixes'), ); - pathOffset += 9; + pathOffset += 32; final query = req.url.query; var queryOffset = 0; @@ -103307,21 +104121,20 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.withdraw( - arg_project, arg_region, arg_publicDelegatedPrefix, + final response = await res.insert(arg_request, arg_project, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - }); - unittest.group('resource-RegionAutoscalersResource', () { - unittest.test('method--delete', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionAutoscalers; + final res = api.ComputeApi(mock).publicAdvertisedPrefixes; final arg_project = 'foo'; - final arg_region = 'foo'; - final arg_autoscaler = 'foo'; - final arg_requestId = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -103343,7 +104156,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/regions/', pathOffset); + index = path.indexOf('/global/publicAdvertisedPrefixes', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -103353,30 +104166,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/regions/'), - ); - pathOffset += 9; - index = path.indexOf('/autoscalers/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_region'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/autoscalers/'), - ); - pathOffset += 13; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_autoscaler'), + path.substring(pathOffset, pathOffset + 32), + unittest.equals('/global/publicAdvertisedPrefixes'), ); + pathOffset += 32; final query = req.url.query; var queryOffset = 0; @@ -103394,8 +104187,24 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), ); unittest.expect( queryMap['fields']!.first, @@ -103405,22 +104214,33 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildPublicAdvertisedPrefixList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_project, arg_region, arg_autoscaler, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.list(arg_project, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkPublicAdvertisedPrefixList( + response as api.PublicAdvertisedPrefixList); }); - unittest.test('method--get', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionAutoscalers; + final res = api.ComputeApi(mock).publicAdvertisedPrefixes; + final arg_request = buildPublicAdvertisedPrefix(); final arg_project = 'foo'; - final arg_region = 'foo'; - final arg_autoscaler = 'foo'; + final arg_publicAdvertisedPrefix = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.PublicAdvertisedPrefix.fromJson( + json as core.Map); + checkPublicAdvertisedPrefix(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -103440,7 +104260,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/regions/', pathOffset); + index = path.indexOf('/global/publicAdvertisedPrefixes/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -103450,29 +104270,15 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/regions/'), - ); - pathOffset += 9; - index = path.indexOf('/autoscalers/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_region'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/autoscalers/'), + path.substring(pathOffset, pathOffset + 33), + unittest.equals('/global/publicAdvertisedPrefixes/'), ); - pathOffset += 13; + pathOffset += 33; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_autoscaler'), + unittest.equals('$arg_publicAdvertisedPrefix'), ); final query = req.url.query; @@ -103490,6 +104296,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -103498,27 +104308,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildAutoscaler()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_project, arg_region, arg_autoscaler, - $fields: arg_$fields); - checkAutoscaler(response as api.Autoscaler); + final response = await res.patch( + arg_request, arg_project, arg_publicAdvertisedPrefix, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--insert', () async { + unittest.test('method--withdraw', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionAutoscalers; - final arg_request = buildAutoscaler(); + final res = api.ComputeApi(mock).publicAdvertisedPrefixes; final arg_project = 'foo'; - final arg_region = 'foo'; + final arg_publicAdvertisedPrefix = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.Autoscaler.fromJson( - json as core.Map); - checkAutoscaler(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -103538,7 +104344,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/regions/', pathOffset); + index = path.indexOf('/global/publicAdvertisedPrefixes/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -103548,24 +104354,24 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/regions/'), + path.substring(pathOffset, pathOffset + 33), + unittest.equals('/global/publicAdvertisedPrefixes/'), ); - pathOffset += 9; - index = path.indexOf('/autoscalers', pathOffset); + pathOffset += 33; + index = path.indexOf('/withdraw', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_region'), + unittest.equals('$arg_publicAdvertisedPrefix'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 12), - unittest.equals('/autoscalers'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/withdraw'), ); - pathOffset += 12; + pathOffset += 9; final query = req.url.query; var queryOffset = 0; @@ -103597,21 +104403,25 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.insert(arg_request, arg_project, arg_region, + final response = await res.withdraw( + arg_project, arg_publicAdvertisedPrefix, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); + }); - unittest.test('method--list', () async { + unittest.group('resource-PublicDelegatedPrefixesResource', () { + unittest.test('method--aggregatedList', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionAutoscalers; + final res = api.ComputeApi(mock).publicDelegatedPrefixes; final arg_project = 'foo'; - final arg_region = 'foo'; final arg_filter = 'foo'; + final arg_includeAllScopes = true; final arg_maxResults = 42; final arg_orderBy = 'foo'; final arg_pageToken = 'foo'; final arg_returnPartialSuccess = true; + final arg_serviceProjectNumber = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -103633,7 +104443,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/regions/', pathOffset); + index = path.indexOf('/aggregated/publicDelegatedPrefixes', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -103643,24 +104453,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/regions/'), - ); - pathOffset += 9; - index = path.indexOf('/autoscalers', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_region'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 12), - unittest.equals('/autoscalers'), + path.substring(pathOffset, pathOffset + 35), + unittest.equals('/aggregated/publicDelegatedPrefixes'), ); - pathOffset += 12; + pathOffset += 35; final query = req.url.query; var queryOffset = 0; @@ -103681,6 +104477,10 @@ void main() { queryMap['filter']!.first, unittest.equals(arg_filter), ); + unittest.expect( + queryMap['includeAllScopes']!.first, + unittest.equals('$arg_includeAllScopes'), + ); unittest.expect( core.int.parse(queryMap['maxResults']!.first), unittest.equals(arg_maxResults), @@ -103697,6 +104497,10 @@ void main() { queryMap['returnPartialSuccess']!.first, unittest.equals('$arg_returnPartialSuccess'), ); + unittest.expect( + queryMap['serviceProjectNumber']!.first, + unittest.equals(arg_serviceProjectNumber), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -103705,33 +104509,32 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildRegionAutoscalerList()); + final resp = + convert.json.encode(buildPublicDelegatedPrefixAggregatedList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_region, + final response = await res.aggregatedList(arg_project, filter: arg_filter, + includeAllScopes: arg_includeAllScopes, maxResults: arg_maxResults, orderBy: arg_orderBy, pageToken: arg_pageToken, returnPartialSuccess: arg_returnPartialSuccess, + serviceProjectNumber: arg_serviceProjectNumber, $fields: arg_$fields); - checkRegionAutoscalerList(response as api.RegionAutoscalerList); + checkPublicDelegatedPrefixAggregatedList( + response as api.PublicDelegatedPrefixAggregatedList); }); - unittest.test('method--patch', () async { + unittest.test('method--announce', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionAutoscalers; - final arg_request = buildAutoscaler(); + final res = api.ComputeApi(mock).publicDelegatedPrefixes; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_autoscaler = 'foo'; + final arg_publicDelegatedPrefix = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.Autoscaler.fromJson( - json as core.Map); - checkAutoscaler(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -103765,7 +104568,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/autoscalers', pathOffset); + index = path.indexOf('/publicDelegatedPrefixes/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -103775,10 +104578,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 12), - unittest.equals('/autoscalers'), + path.substring(pathOffset, pathOffset + 25), + unittest.equals('/publicDelegatedPrefixes/'), ); - pathOffset += 12; + pathOffset += 25; + index = path.indexOf('/announce', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_publicDelegatedPrefix'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/announce'), + ); + pathOffset += 9; final query = req.url.query; var queryOffset = 0; @@ -103795,10 +104612,6 @@ void main() { ); } } - unittest.expect( - queryMap['autoscaler']!.first, - unittest.equals(arg_autoscaler), - ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), @@ -103814,27 +104627,21 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch(arg_request, arg_project, arg_region, - autoscaler: arg_autoscaler, - requestId: arg_requestId, - $fields: arg_$fields); + final response = await res.announce( + arg_project, arg_region, arg_publicDelegatedPrefix, + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--update', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionAutoscalers; - final arg_request = buildAutoscaler(); + final res = api.ComputeApi(mock).publicDelegatedPrefixes; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_autoscaler = 'foo'; + final arg_publicDelegatedPrefix = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.Autoscaler.fromJson( - json as core.Map); - checkAutoscaler(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -103868,7 +104675,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/autoscalers', pathOffset); + index = path.indexOf('/publicDelegatedPrefixes/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -103878,10 +104685,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 12), - unittest.equals('/autoscalers'), + path.substring(pathOffset, pathOffset + 25), + unittest.equals('/publicDelegatedPrefixes/'), + ); + pathOffset += 25; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_publicDelegatedPrefix'), ); - pathOffset += 12; final query = req.url.query; var queryOffset = 0; @@ -103898,10 +104711,6 @@ void main() { ); } } - unittest.expect( - queryMap['autoscaler']!.first, - unittest.equals(arg_autoscaler), - ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), @@ -103917,22 +104726,18 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.update(arg_request, arg_project, arg_region, - autoscaler: arg_autoscaler, - requestId: arg_requestId, - $fields: arg_$fields); + final response = await res.delete( + arg_project, arg_region, arg_publicDelegatedPrefix, + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - }); - unittest.group('resource-RegionBackendServicesResource', () { - unittest.test('method--delete', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionBackendServices; + final res = api.ComputeApi(mock).publicDelegatedPrefixes; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_backendService = 'foo'; - final arg_requestId = 'foo'; + final arg_publicDelegatedPrefix = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -103968,7 +104773,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/backendServices/', pathOffset); + index = path.indexOf('/publicDelegatedPrefixes/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -103978,15 +104783,15 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/backendServices/'), + path.substring(pathOffset, pathOffset + 25), + unittest.equals('/publicDelegatedPrefixes/'), ); - pathOffset += 17; + pathOffset += 25; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_backendService'), + unittest.equals('$arg_publicDelegatedPrefix'), ); final query = req.url.query; @@ -104004,10 +104809,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -104016,23 +104817,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildPublicDelegatedPrefix()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete( - arg_project, arg_region, arg_backendService, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.get( + arg_project, arg_region, arg_publicDelegatedPrefix, + $fields: arg_$fields); + checkPublicDelegatedPrefix(response as api.PublicDelegatedPrefix); }); - unittest.test('method--get', () async { + unittest.test('method--insert', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionBackendServices; + final res = api.ComputeApi(mock).publicDelegatedPrefixes; + final arg_request = buildPublicDelegatedPrefix(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_backendService = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.PublicDelegatedPrefix.fromJson( + json as core.Map); + checkPublicDelegatedPrefix(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -104066,7 +104872,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/backendServices/', pathOffset); + index = path.indexOf('/publicDelegatedPrefixes', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -104076,16 +104882,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/backendServices/'), - ); - pathOffset += 17; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_backendService'), + path.substring(pathOffset, pathOffset + 24), + unittest.equals('/publicDelegatedPrefixes'), ); + pathOffset += 24; final query = req.url.query; var queryOffset = 0; @@ -104102,6 +104902,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -104110,28 +104914,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildBackendService()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get( - arg_project, arg_region, arg_backendService, - $fields: arg_$fields); - checkBackendService(response as api.BackendService); + final response = await res.insert(arg_request, arg_project, arg_region, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--getHealth', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionBackendServices; - final arg_request = buildResourceGroupReference(); + final res = api.ComputeApi(mock).publicDelegatedPrefixes; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_backendService = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.ResourceGroupReference.fromJson( - json as core.Map); - checkResourceGroupReference(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -104165,7 +104967,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/backendServices/', pathOffset); + index = path.indexOf('/publicDelegatedPrefixes', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -104175,24 +104977,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/backendServices/'), - ); - pathOffset += 17; - index = path.indexOf('/getHealth', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_backendService'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 10), - unittest.equals('/getHealth'), + path.substring(pathOffset, pathOffset + 24), + unittest.equals('/publicDelegatedPrefixes'), ); - pathOffset += 10; + pathOffset += 24; final query = req.url.query; var queryOffset = 0; @@ -104209,6 +104997,26 @@ void main() { ); } } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -104217,24 +105025,33 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildBackendServiceGroupHealth()); + final resp = convert.json.encode(buildPublicDelegatedPrefixList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getHealth( - arg_request, arg_project, arg_region, arg_backendService, + final response = await res.list(arg_project, arg_region, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkBackendServiceGroupHealth(response as api.BackendServiceGroupHealth); + checkPublicDelegatedPrefixList(response as api.PublicDelegatedPrefixList); }); - unittest.test('method--getIamPolicy', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionBackendServices; + final res = api.ComputeApi(mock).publicDelegatedPrefixes; + final arg_request = buildPublicDelegatedPrefix(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_resource = 'foo'; - final arg_optionsRequestedPolicyVersion = 42; + final arg_publicDelegatedPrefix = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.PublicDelegatedPrefix.fromJson( + json as core.Map); + checkPublicDelegatedPrefix(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -104268,7 +105085,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/backendServices/', pathOffset); + index = path.indexOf('/publicDelegatedPrefixes/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -104278,24 +105095,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/backendServices/'), + path.substring(pathOffset, pathOffset + 25), + unittest.equals('/publicDelegatedPrefixes/'), ); - pathOffset += 17; - index = path.indexOf('/getIamPolicy', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + pathOffset += 25; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_resource'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/getIamPolicy'), + unittest.equals('$arg_publicDelegatedPrefix'), ); - pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -104313,8 +105122,8 @@ void main() { } } unittest.expect( - core.int.parse(queryMap['optionsRequestedPolicyVersion']!.first), - unittest.equals(arg_optionsRequestedPolicyVersion), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -104324,29 +105133,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPolicy()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getIamPolicy( - arg_project, arg_region, arg_resource, - optionsRequestedPolicyVersion: arg_optionsRequestedPolicyVersion, - $fields: arg_$fields); - checkPolicy(response as api.Policy); + final response = await res.patch( + arg_request, arg_project, arg_region, arg_publicDelegatedPrefix, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--insert', () async { + unittest.test('method--withdraw', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionBackendServices; - final arg_request = buildBackendService(); + final res = api.ComputeApi(mock).publicDelegatedPrefixes; final arg_project = 'foo'; final arg_region = 'foo'; + final arg_publicDelegatedPrefix = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.BackendService.fromJson( - json as core.Map); - checkBackendService(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -104380,7 +105184,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/backendServices', pathOffset); + index = path.indexOf('/publicDelegatedPrefixes/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -104390,10 +105194,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 16), - unittest.equals('/backendServices'), + path.substring(pathOffset, pathOffset + 25), + unittest.equals('/publicDelegatedPrefixes/'), ); - pathOffset += 16; + pathOffset += 25; + index = path.indexOf('/withdraw', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_publicDelegatedPrefix'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/withdraw'), + ); + pathOffset += 9; final query = req.url.query; var queryOffset = 0; @@ -104425,21 +105243,21 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.insert(arg_request, arg_project, arg_region, + final response = await res.withdraw( + arg_project, arg_region, arg_publicDelegatedPrefix, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); + }); - unittest.test('method--list', () async { + unittest.group('resource-RegionAutoscalersResource', () { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionBackendServices; + final res = api.ComputeApi(mock).regionAutoscalers; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_autoscaler = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -104475,7 +105293,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/backendServices', pathOffset); + index = path.indexOf('/autoscalers/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -104485,10 +105303,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 16), - unittest.equals('/backendServices'), + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/autoscalers/'), + ); + pathOffset += 13; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_autoscaler'), ); - pathOffset += 16; final query = req.url.query; var queryOffset = 0; @@ -104506,24 +105330,8 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -104533,29 +105341,20 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildBackendServiceList()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_region, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkBackendServiceList(response as api.BackendServiceList); + final response = await res.delete(arg_project, arg_region, arg_autoscaler, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--listUsable', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionBackendServices; + final res = api.ComputeApi(mock).regionAutoscalers; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_autoscaler = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -104591,7 +105390,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/backendServices/listUsable', pathOffset); + index = path.indexOf('/autoscalers/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -104601,10 +105400,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 27), - unittest.equals('/backendServices/listUsable'), + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/autoscalers/'), + ); + pathOffset += 13; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_autoscaler'), ); - pathOffset += 27; final query = req.url.query; var queryOffset = 0; @@ -104621,26 +105426,6 @@ void main() { ); } } - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -104649,32 +105434,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildBackendServiceListUsable()); + final resp = convert.json.encode(buildAutoscaler()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.listUsable(arg_project, arg_region, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, + final response = await res.get(arg_project, arg_region, arg_autoscaler, $fields: arg_$fields); - checkBackendServiceListUsable(response as api.BackendServiceListUsable); + checkAutoscaler(response as api.Autoscaler); }); - unittest.test('method--patch', () async { + unittest.test('method--insert', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionBackendServices; - final arg_request = buildBackendService(); + final res = api.ComputeApi(mock).regionAutoscalers; + final arg_request = buildAutoscaler(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_backendService = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.BackendService.fromJson( + final obj = api.Autoscaler.fromJson( json as core.Map); - checkBackendService(obj); + checkAutoscaler(obj); final path = req.url.path; var pathOffset = 0; @@ -104709,7 +105488,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/backendServices/', pathOffset); + index = path.indexOf('/autoscalers', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -104719,16 +105498,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/backendServices/'), - ); - pathOffset += 17; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_backendService'), + path.substring(pathOffset, pathOffset + 12), + unittest.equals('/autoscalers'), ); + pathOffset += 12; final query = req.url.query; var queryOffset = 0; @@ -104760,25 +105533,23 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch( - arg_request, arg_project, arg_region, arg_backendService, + final response = await res.insert(arg_request, arg_project, arg_region, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--setIamPolicy', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionBackendServices; - final arg_request = buildRegionSetPolicyRequest(); + final res = api.ComputeApi(mock).regionAutoscalers; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_resource = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.RegionSetPolicyRequest.fromJson( - json as core.Map); - checkRegionSetPolicyRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -104812,7 +105583,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/backendServices/', pathOffset); + index = path.indexOf('/autoscalers', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -104822,24 +105593,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/backendServices/'), - ); - pathOffset += 17; - index = path.indexOf('/setIamPolicy', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_resource'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/setIamPolicy'), + path.substring(pathOffset, pathOffset + 12), + unittest.equals('/autoscalers'), ); - pathOffset += 13; + pathOffset += 12; final query = req.url.query; var queryOffset = 0; @@ -104856,6 +105613,26 @@ void main() { ); } } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -104864,28 +105641,32 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPolicy()); + final resp = convert.json.encode(buildRegionAutoscalerList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setIamPolicy( - arg_request, arg_project, arg_region, arg_resource, + final response = await res.list(arg_project, arg_region, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkPolicy(response as api.Policy); + checkRegionAutoscalerList(response as api.RegionAutoscalerList); }); - unittest.test('method--setSecurityPolicy', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionBackendServices; - final arg_request = buildSecurityPolicyReference(); + final res = api.ComputeApi(mock).regionAutoscalers; + final arg_request = buildAutoscaler(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_backendService = 'foo'; + final arg_autoscaler = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.SecurityPolicyReference.fromJson( + final obj = api.Autoscaler.fromJson( json as core.Map); - checkSecurityPolicyReference(obj); + checkAutoscaler(obj); final path = req.url.path; var pathOffset = 0; @@ -104920,7 +105701,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/backendServices/', pathOffset); + index = path.indexOf('/autoscalers', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -104930,24 +105711,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/backendServices/'), - ); - pathOffset += 17; - index = path.indexOf('/setSecurityPolicy', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_backendService'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/setSecurityPolicy'), + path.substring(pathOffset, pathOffset + 12), + unittest.equals('/autoscalers'), ); - pathOffset += 18; + pathOffset += 12; final query = req.url.query; var queryOffset = 0; @@ -104964,6 +105731,10 @@ void main() { ); } } + unittest.expect( + queryMap['autoscaler']!.first, + unittest.equals(arg_autoscaler), + ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), @@ -104979,24 +105750,26 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setSecurityPolicy( - arg_request, arg_project, arg_region, arg_backendService, - requestId: arg_requestId, $fields: arg_$fields); + final response = await res.patch(arg_request, arg_project, arg_region, + autoscaler: arg_autoscaler, + requestId: arg_requestId, + $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--testIamPermissions', () async { + unittest.test('method--update', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionBackendServices; - final arg_request = buildTestPermissionsRequest(); + final res = api.ComputeApi(mock).regionAutoscalers; + final arg_request = buildAutoscaler(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_resource = 'foo'; + final arg_autoscaler = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.TestPermissionsRequest.fromJson( + final obj = api.Autoscaler.fromJson( json as core.Map); - checkTestPermissionsRequest(obj); + checkAutoscaler(obj); final path = req.url.path; var pathOffset = 0; @@ -105031,7 +105804,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/backendServices/', pathOffset); + index = path.indexOf('/autoscalers', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -105041,24 +105814,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/backendServices/'), - ); - pathOffset += 17; - index = path.indexOf('/testIamPermissions', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_resource'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 19), - unittest.equals('/testIamPermissions'), + path.substring(pathOffset, pathOffset + 12), + unittest.equals('/autoscalers'), ); - pathOffset += 19; + pathOffset += 12; final query = req.url.query; var queryOffset = 0; @@ -105075,6 +105834,14 @@ void main() { ); } } + unittest.expect( + queryMap['autoscaler']!.first, + unittest.equals(arg_autoscaler), + ); + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -105083,29 +105850,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildTestPermissionsResponse()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.testIamPermissions( - arg_request, arg_project, arg_region, arg_resource, + final response = await res.update(arg_request, arg_project, arg_region, + autoscaler: arg_autoscaler, + requestId: arg_requestId, $fields: arg_$fields); - checkTestPermissionsResponse(response as api.TestPermissionsResponse); + checkOperation(response as api.Operation); }); + }); - unittest.test('method--update', () async { + unittest.group('resource-RegionBackendServicesResource', () { + unittest.test('method--delete', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionBackendServices; - final arg_request = buildBackendService(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_backendService = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.BackendService.fromJson( - json as core.Map); - checkBackendService(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -105190,25 +105955,18 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.update( - arg_request, arg_project, arg_region, arg_backendService, + final response = await res.delete( + arg_project, arg_region, arg_backendService, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - }); - unittest.group('resource-RegionCommitmentsResource', () { - unittest.test('method--aggregatedList', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionCommitments; + final res = api.ComputeApi(mock).regionBackendServices; final arg_project = 'foo'; - final arg_filter = 'foo'; - final arg_includeAllScopes = true; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; - final arg_serviceProjectNumber = 'foo'; + final arg_region = 'foo'; + final arg_backendService = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -105230,7 +105988,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/aggregated/commitments', pathOffset); + index = path.indexOf('/regions/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -105240,10 +105998,30 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/aggregated/commitments'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), + ); + pathOffset += 9; + index = path.indexOf('/backendServices/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_region'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/backendServices/'), + ); + pathOffset += 17; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_backendService'), ); - pathOffset += 23; final query = req.url.query; var queryOffset = 0; @@ -105260,34 +106038,6 @@ void main() { ); } } - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - queryMap['includeAllScopes']!.first, - unittest.equals('$arg_includeAllScopes'), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), - ); - unittest.expect( - queryMap['serviceProjectNumber']!.first, - unittest.equals(arg_serviceProjectNumber), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -105296,29 +106046,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildCommitmentAggregatedList()); + final resp = convert.json.encode(buildBackendService()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.aggregatedList(arg_project, - filter: arg_filter, - includeAllScopes: arg_includeAllScopes, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - serviceProjectNumber: arg_serviceProjectNumber, + final response = await res.get( + arg_project, arg_region, arg_backendService, $fields: arg_$fields); - checkCommitmentAggregatedList(response as api.CommitmentAggregatedList); + checkBackendService(response as api.BackendService); }); - unittest.test('method--get', () async { + unittest.test('method--getHealth', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionCommitments; + final res = api.ComputeApi(mock).regionBackendServices; + final arg_request = buildResourceGroupReference(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_commitment = 'foo'; + final arg_backendService = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.ResourceGroupReference.fromJson( + json as core.Map); + checkResourceGroupReference(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -105352,7 +106101,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/commitments/', pathOffset); + index = path.indexOf('/backendServices/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -105362,16 +106111,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/commitments/'), + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/backendServices/'), ); - pathOffset += 13; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + pathOffset += 17; + index = path.indexOf('/getHealth', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_commitment'), + unittest.equals('$arg_backendService'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/getHealth'), ); + pathOffset += 10; final query = req.url.query; var queryOffset = 0; @@ -105396,27 +106153,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildCommitment()); + final resp = convert.json.encode(buildBackendServiceGroupHealth()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_project, arg_region, arg_commitment, + final response = await res.getHealth( + arg_request, arg_project, arg_region, arg_backendService, $fields: arg_$fields); - checkCommitment(response as api.Commitment); + checkBackendServiceGroupHealth(response as api.BackendServiceGroupHealth); }); - unittest.test('method--insert', () async { + unittest.test('method--getIamPolicy', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionCommitments; - final arg_request = buildCommitment(); + final res = api.ComputeApi(mock).regionBackendServices; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_requestId = 'foo'; + final arg_resource = 'foo'; + final arg_optionsRequestedPolicyVersion = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.Commitment.fromJson( - json as core.Map); - checkCommitment(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -105450,7 +106204,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/commitments', pathOffset); + index = path.indexOf('/backendServices/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -105460,10 +106214,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 12), - unittest.equals('/commitments'), + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/backendServices/'), ); - pathOffset += 12; + pathOffset += 17; + index = path.indexOf('/getIamPolicy', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_resource'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/getIamPolicy'), + ); + pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -105481,8 +106249,8 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + core.int.parse(queryMap['optionsRequestedPolicyVersion']!.first), + unittest.equals(arg_optionsRequestedPolicyVersion), ); unittest.expect( queryMap['fields']!.first, @@ -105492,26 +106260,29 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.insert(arg_request, arg_project, arg_region, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.getIamPolicy( + arg_project, arg_region, arg_resource, + optionsRequestedPolicyVersion: arg_optionsRequestedPolicyVersion, + $fields: arg_$fields); + checkPolicy(response as api.Policy); }); - unittest.test('method--list', () async { + unittest.test('method--insert', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionCommitments; + final res = api.ComputeApi(mock).regionBackendServices; + final arg_request = buildBackendService(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.BackendService.fromJson( + json as core.Map); + checkBackendService(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -105545,7 +106316,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/commitments', pathOffset); + index = path.indexOf('/backendServices', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -105555,10 +106326,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 12), - unittest.equals('/commitments'), + path.substring(pathOffset, pathOffset + 16), + unittest.equals('/backendServices'), ); - pathOffset += 12; + pathOffset += 16; final query = req.url.query; var queryOffset = 0; @@ -105576,24 +106347,8 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -105603,35 +106358,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildCommitmentList()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_region, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkCommitmentList(response as api.CommitmentList); + final response = await res.insert(arg_request, arg_project, arg_region, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--update', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionCommitments; - final arg_request = buildCommitment(); + final res = api.ComputeApi(mock).regionBackendServices; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_commitment = 'foo'; - final arg_paths = buildUnnamed868(); - final arg_requestId = 'foo'; - final arg_updateMask = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.Commitment.fromJson( - json as core.Map); - checkCommitment(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -105665,7 +106411,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/commitments/', pathOffset); + index = path.indexOf('/backendServices', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -105675,16 +106421,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/commitments/'), - ); - pathOffset += 13; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_commitment'), + path.substring(pathOffset, pathOffset + 16), + unittest.equals('/backendServices'), ); + pathOffset += 16; final query = req.url.query; var queryOffset = 0; @@ -105702,16 +106442,24 @@ void main() { } } unittest.expect( - queryMap['paths']!, - unittest.equals(arg_paths), + queryMap['filter']!.first, + unittest.equals(arg_filter), ); unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), ); unittest.expect( - queryMap['updateMask']!.first, - unittest.equals(arg_updateMask), + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), ); unittest.expect( queryMap['fields']!.first, @@ -105721,26 +106469,29 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildBackendServiceList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.update( - arg_request, arg_project, arg_region, arg_commitment, - paths: arg_paths, - requestId: arg_requestId, - updateMask: arg_updateMask, + final response = await res.list(arg_project, arg_region, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkOperation(response as api.Operation); + checkBackendServiceList(response as api.BackendServiceList); }); - }); - unittest.group('resource-RegionDiskTypesResource', () { - unittest.test('method--get', () async { + unittest.test('method--listUsable', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionDiskTypes; + final res = api.ComputeApi(mock).regionBackendServices; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_diskType = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -105776,7 +106527,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/diskTypes/', pathOffset); + index = path.indexOf('/backendServices/listUsable', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -105786,16 +106537,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('/diskTypes/'), - ); - pathOffset += 11; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_diskType'), + path.substring(pathOffset, pathOffset + 27), + unittest.equals('/backendServices/listUsable'), ); + pathOffset += 27; final query = req.url.query; var queryOffset = 0; @@ -105812,6 +106557,26 @@ void main() { ); } } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -105820,26 +106585,33 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildDiskType()); + final resp = convert.json.encode(buildBackendServiceListUsable()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_project, arg_region, arg_diskType, + final response = await res.listUsable(arg_project, arg_region, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkDiskType(response as api.DiskType); + checkBackendServiceListUsable(response as api.BackendServiceListUsable); }); - unittest.test('method--list', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionDiskTypes; + final res = api.ComputeApi(mock).regionBackendServices; + final arg_request = buildBackendService(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_backendService = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.BackendService.fromJson( + json as core.Map); + checkBackendService(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -105873,7 +106645,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/diskTypes', pathOffset); + index = path.indexOf('/backendServices/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -105883,10 +106655,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 10), - unittest.equals('/diskTypes'), + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/backendServices/'), + ); + pathOffset += 17; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_backendService'), ); - pathOffset += 10; final query = req.url.query; var queryOffset = 0; @@ -105904,24 +106682,8 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -105931,34 +106693,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildRegionDiskTypeList()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_region, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkRegionDiskTypeList(response as api.RegionDiskTypeList); + final response = await res.patch( + arg_request, arg_project, arg_region, arg_backendService, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - }); - unittest.group('resource-RegionDisksResource', () { - unittest.test('method--addResourcePolicies', () async { + unittest.test('method--setIamPolicy', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionDisks; - final arg_request = buildRegionDisksAddResourcePoliciesRequest(); + final res = api.ComputeApi(mock).regionBackendServices; + final arg_request = buildRegionSetPolicyRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_disk = 'foo'; - final arg_requestId = 'foo'; + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.RegionDisksAddResourcePoliciesRequest.fromJson( + final obj = api.RegionSetPolicyRequest.fromJson( json as core.Map); - checkRegionDisksAddResourcePoliciesRequest(obj); + checkRegionSetPolicyRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -105993,7 +106748,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/disks/', pathOffset); + index = path.indexOf('/backendServices/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -106003,24 +106758,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/disks/'), + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/backendServices/'), ); - pathOffset += 7; - index = path.indexOf('/addResourcePolicies', pathOffset); + pathOffset += 17; + index = path.indexOf('/setIamPolicy', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_disk'), + unittest.equals('$arg_resource'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 20), - unittest.equals('/addResourcePolicies'), + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/setIamPolicy'), ); - pathOffset += 20; + pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -106037,10 +106792,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -106049,27 +106800,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.addResourcePolicies( - arg_request, arg_project, arg_region, arg_disk, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.setIamPolicy( + arg_request, arg_project, arg_region, arg_resource, + $fields: arg_$fields); + checkPolicy(response as api.Policy); }); - unittest.test('method--bulkInsert', () async { + unittest.test('method--setSecurityPolicy', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionDisks; - final arg_request = buildBulkInsertDiskResource(); + final res = api.ComputeApi(mock).regionBackendServices; + final arg_request = buildSecurityPolicyReference(); final arg_project = 'foo'; final arg_region = 'foo'; + final arg_backendService = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.BulkInsertDiskResource.fromJson( + final obj = api.SecurityPolicyReference.fromJson( json as core.Map); - checkBulkInsertDiskResource(obj); + checkSecurityPolicyReference(obj); final path = req.url.path; var pathOffset = 0; @@ -106104,7 +106856,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/disks/bulkInsert', pathOffset); + index = path.indexOf('/backendServices/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -106115,9 +106867,23 @@ void main() { ); unittest.expect( path.substring(pathOffset, pathOffset + 17), - unittest.equals('/disks/bulkInsert'), + unittest.equals('/backendServices/'), ); pathOffset += 17; + index = path.indexOf('/setSecurityPolicy', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_backendService'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/setSecurityPolicy'), + ); + pathOffset += 18; final query = req.url.query; var queryOffset = 0; @@ -106149,25 +106915,24 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.bulkInsert( - arg_request, arg_project, arg_region, + final response = await res.setSecurityPolicy( + arg_request, arg_project, arg_region, arg_backendService, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--createSnapshot', () async { + unittest.test('method--testIamPermissions', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionDisks; - final arg_request = buildSnapshot(); + final res = api.ComputeApi(mock).regionBackendServices; + final arg_request = buildTestPermissionsRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_disk = 'foo'; - final arg_requestId = 'foo'; + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.Snapshot.fromJson(json as core.Map); - checkSnapshot(obj); + final obj = api.TestPermissionsRequest.fromJson( + json as core.Map); + checkTestPermissionsRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -106202,7 +106967,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/disks/', pathOffset); + index = path.indexOf('/backendServices/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -106212,24 +106977,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/disks/'), + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/backendServices/'), ); - pathOffset += 7; - index = path.indexOf('/createSnapshot', pathOffset); + pathOffset += 17; + index = path.indexOf('/testIamPermissions', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_disk'), + unittest.equals('$arg_resource'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('/createSnapshot'), + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/testIamPermissions'), ); - pathOffset += 15; + pathOffset += 19; final query = req.url.query; var queryOffset = 0; @@ -106246,10 +107011,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -106258,24 +107019,29 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildTestPermissionsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.createSnapshot( - arg_request, arg_project, arg_region, arg_disk, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.testIamPermissions( + arg_request, arg_project, arg_region, arg_resource, + $fields: arg_$fields); + checkTestPermissionsResponse(response as api.TestPermissionsResponse); }); - unittest.test('method--delete', () async { + unittest.test('method--update', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionDisks; + final res = api.ComputeApi(mock).regionBackendServices; + final arg_request = buildBackendService(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_disk = 'foo'; + final arg_backendService = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.BackendService.fromJson( + json as core.Map); + checkBackendService(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -106309,7 +107075,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/disks/', pathOffset); + index = path.indexOf('/backendServices/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -106319,15 +107085,15 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/disks/'), + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/backendServices/'), ); - pathOffset += 7; + pathOffset += 17; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_disk'), + unittest.equals('$arg_backendService'), ); final query = req.url.query; @@ -106360,17 +107126,25 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_project, arg_region, arg_disk, + final response = await res.update( + arg_request, arg_project, arg_region, arg_backendService, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); + }); - unittest.test('method--get', () async { + unittest.group('resource-RegionCommitmentsResource', () { + unittest.test('method--aggregatedList', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionDisks; + final res = api.ComputeApi(mock).regionCommitments; final arg_project = 'foo'; - final arg_region = 'foo'; - final arg_disk = 'foo'; + final arg_filter = 'foo'; + final arg_includeAllScopes = true; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; + final arg_serviceProjectNumber = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -106392,7 +107166,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/regions/', pathOffset); + index = path.indexOf('/aggregated/commitments', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -106402,30 +107176,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/regions/'), - ); - pathOffset += 9; - index = path.indexOf('/disks/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_region'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/disks/'), - ); - pathOffset += 7; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_disk'), + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/aggregated/commitments'), ); + pathOffset += 23; final query = req.url.query; var queryOffset = 0; @@ -106442,6 +107196,34 @@ void main() { ); } } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['includeAllScopes']!.first, + unittest.equals('$arg_includeAllScopes'), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); + unittest.expect( + queryMap['serviceProjectNumber']!.first, + unittest.equals(arg_serviceProjectNumber), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -106450,21 +107232,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildDisk()); + final resp = convert.json.encode(buildCommitmentAggregatedList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_project, arg_region, arg_disk, + final response = await res.aggregatedList(arg_project, + filter: arg_filter, + includeAllScopes: arg_includeAllScopes, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + serviceProjectNumber: arg_serviceProjectNumber, $fields: arg_$fields); - checkDisk(response as api.Disk); + checkCommitmentAggregatedList(response as api.CommitmentAggregatedList); }); - unittest.test('method--getIamPolicy', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionDisks; + final res = api.ComputeApi(mock).regionCommitments; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_resource = 'foo'; - final arg_optionsRequestedPolicyVersion = 42; + final arg_commitment = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -106500,7 +107288,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/disks/', pathOffset); + index = path.indexOf('/commitments/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -106510,24 +107298,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/disks/'), + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/commitments/'), ); - pathOffset += 7; - index = path.indexOf('/getIamPolicy', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + pathOffset += 13; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_resource'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/getIamPolicy'), + unittest.equals('$arg_commitment'), ); - pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -106544,10 +107324,6 @@ void main() { ); } } - unittest.expect( - core.int.parse(queryMap['optionsRequestedPolicyVersion']!.first), - unittest.equals(arg_optionsRequestedPolicyVersion), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -106556,29 +107332,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPolicy()); + final resp = convert.json.encode(buildCommitment()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getIamPolicy( - arg_project, arg_region, arg_resource, - optionsRequestedPolicyVersion: arg_optionsRequestedPolicyVersion, + final response = await res.get(arg_project, arg_region, arg_commitment, $fields: arg_$fields); - checkPolicy(response as api.Policy); + checkCommitment(response as api.Commitment); }); unittest.test('method--insert', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionDisks; - final arg_request = buildDisk(); + final res = api.ComputeApi(mock).regionCommitments; + final arg_request = buildCommitment(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_requestId = 'foo'; - final arg_sourceImage = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.Disk.fromJson(json as core.Map); - checkDisk(obj); + final obj = api.Commitment.fromJson( + json as core.Map); + checkCommitment(obj); final path = req.url.path; var pathOffset = 0; @@ -106613,7 +107386,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/disks', pathOffset); + index = path.indexOf('/commitments', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -106623,10 +107396,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 6), - unittest.equals('/disks'), + path.substring(pathOffset, pathOffset + 12), + unittest.equals('/commitments'), ); - pathOffset += 6; + pathOffset += 12; final query = req.url.query; var queryOffset = 0; @@ -106647,10 +107420,6 @@ void main() { queryMap['requestId']!.first, unittest.equals(arg_requestId), ); - unittest.expect( - queryMap['sourceImage']!.first, - unittest.equals(arg_sourceImage), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -106663,15 +107432,13 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.insert(arg_request, arg_project, arg_region, - requestId: arg_requestId, - sourceImage: arg_sourceImage, - $fields: arg_$fields); + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionDisks; + final res = api.ComputeApi(mock).regionCommitments; final arg_project = 'foo'; final arg_region = 'foo'; final arg_filter = 'foo'; @@ -106714,7 +107481,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/disks', pathOffset); + index = path.indexOf('/commitments', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -106724,10 +107491,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 6), - unittest.equals('/disks'), + path.substring(pathOffset, pathOffset + 12), + unittest.equals('/commitments'), ); - pathOffset += 6; + pathOffset += 12; final query = req.url.query; var queryOffset = 0; @@ -106772,7 +107539,7 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildDiskList()); + final resp = convert.json.encode(buildCommitmentList()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.list(arg_project, arg_region, @@ -106782,22 +107549,24 @@ void main() { pageToken: arg_pageToken, returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkDiskList(response as api.DiskList); + checkCommitmentList(response as api.CommitmentList); }); - unittest.test('method--removeResourcePolicies', () async { + unittest.test('method--update', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionDisks; - final arg_request = buildRegionDisksRemoveResourcePoliciesRequest(); + final res = api.ComputeApi(mock).regionCommitments; + final arg_request = buildCommitment(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_disk = 'foo'; + final arg_commitment = 'foo'; + final arg_paths = buildUnnamed892(); final arg_requestId = 'foo'; + final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.RegionDisksRemoveResourcePoliciesRequest.fromJson( + final obj = api.Commitment.fromJson( json as core.Map); - checkRegionDisksRemoveResourcePoliciesRequest(obj); + checkCommitment(obj); final path = req.url.path; var pathOffset = 0; @@ -106832,7 +107601,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/disks/', pathOffset); + index = path.indexOf('/commitments/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -106842,24 +107611,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/disks/'), + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/commitments/'), ); - pathOffset += 7; - index = path.indexOf('/removeResourcePolicies', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + pathOffset += 13; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_disk'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/removeResourcePolicies'), + unittest.equals('$arg_commitment'), ); - pathOffset += 23; final query = req.url.query; var queryOffset = 0; @@ -106876,10 +107637,18 @@ void main() { ); } } + unittest.expect( + queryMap['paths']!, + unittest.equals(arg_paths), + ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), ); + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -106891,26 +107660,25 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.removeResourcePolicies( - arg_request, arg_project, arg_region, arg_disk, - requestId: arg_requestId, $fields: arg_$fields); + final response = await res.update( + arg_request, arg_project, arg_region, arg_commitment, + paths: arg_paths, + requestId: arg_requestId, + updateMask: arg_updateMask, + $fields: arg_$fields); checkOperation(response as api.Operation); }); + }); - unittest.test('method--resize', () async { + unittest.group('resource-RegionDiskTypesResource', () { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionDisks; - final arg_request = buildRegionDisksResizeRequest(); + final res = api.ComputeApi(mock).regionDiskTypes; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_disk = 'foo'; - final arg_requestId = 'foo'; + final arg_diskType = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.RegionDisksResizeRequest.fromJson( - json as core.Map); - checkRegionDisksResizeRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -106944,7 +107712,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/disks/', pathOffset); + index = path.indexOf('/diskTypes/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -106954,24 +107722,107 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/disks/'), + path.substring(pathOffset, pathOffset + 11), + unittest.equals('/diskTypes/'), ); - pathOffset += 7; - index = path.indexOf('/resize', pathOffset); + pathOffset += 11; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_diskType'), + ); + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildDiskType()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_project, arg_region, arg_diskType, + $fields: arg_$fields); + checkDiskType(response as api.DiskType); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.ComputeApi(mock).regionDiskTypes; + final arg_project = 'foo'; + final arg_region = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('compute/v1/'), + ); + pathOffset += 11; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + index = path.indexOf('/regions/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_disk'), + unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/resize'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), ); - pathOffset += 7; + pathOffset += 9; + index = path.indexOf('/diskTypes', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_region'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/diskTypes'), + ); + pathOffset += 10; final query = req.url.query; var queryOffset = 0; @@ -106989,8 +107840,24 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), ); unittest.expect( queryMap['fields']!.first, @@ -107000,27 +107867,34 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildRegionDiskTypeList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.resize( - arg_request, arg_project, arg_region, arg_disk, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.list(arg_project, arg_region, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkRegionDiskTypeList(response as api.RegionDiskTypeList); }); + }); - unittest.test('method--setIamPolicy', () async { + unittest.group('resource-RegionDisksResource', () { + unittest.test('method--addResourcePolicies', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionDisks; - final arg_request = buildRegionSetPolicyRequest(); + final arg_request = buildRegionDisksAddResourcePoliciesRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_resource = 'foo'; + final arg_disk = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.RegionSetPolicyRequest.fromJson( + final obj = api.RegionDisksAddResourcePoliciesRequest.fromJson( json as core.Map); - checkRegionSetPolicyRequest(obj); + checkRegionDisksAddResourcePoliciesRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -107069,20 +107943,20 @@ void main() { unittest.equals('/disks/'), ); pathOffset += 7; - index = path.indexOf('/setIamPolicy', pathOffset); + index = path.indexOf('/addResourcePolicies', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_resource'), + unittest.equals('$arg_disk'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/setIamPolicy'), + path.substring(pathOffset, pathOffset + 20), + unittest.equals('/addResourcePolicies'), ); - pathOffset += 13; + pathOffset += 20; final query = req.url.query; var queryOffset = 0; @@ -107099,6 +107973,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -107107,28 +107985,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPolicy()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setIamPolicy( - arg_request, arg_project, arg_region, arg_resource, - $fields: arg_$fields); - checkPolicy(response as api.Policy); + final response = await res.addResourcePolicies( + arg_request, arg_project, arg_region, arg_disk, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--setLabels', () async { + unittest.test('method--bulkInsert', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionDisks; - final arg_request = buildRegionSetLabelsRequest(); + final arg_request = buildBulkInsertDiskResource(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_resource = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.RegionSetLabelsRequest.fromJson( + final obj = api.BulkInsertDiskResource.fromJson( json as core.Map); - checkRegionSetLabelsRequest(obj); + checkBulkInsertDiskResource(obj); final path = req.url.path; var pathOffset = 0; @@ -107163,7 +108040,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/disks/', pathOffset); + index = path.indexOf('/disks/bulkInsert', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -107173,24 +108050,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/disks/'), - ); - pathOffset += 7; - index = path.indexOf('/setLabels', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_resource'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 10), - unittest.equals('/setLabels'), + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/disks/bulkInsert'), ); - pathOffset += 10; + pathOffset += 17; final query = req.url.query; var queryOffset = 0; @@ -107222,25 +108085,25 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setLabels( - arg_request, arg_project, arg_region, arg_resource, + final response = await res.bulkInsert( + arg_request, arg_project, arg_region, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--startAsyncReplication', () async { + unittest.test('method--createSnapshot', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionDisks; - final arg_request = buildRegionDisksStartAsyncReplicationRequest(); + final arg_request = buildSnapshot(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_disk = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.RegionDisksStartAsyncReplicationRequest.fromJson( - json as core.Map); - checkRegionDisksStartAsyncReplicationRequest(obj); + final obj = + api.Snapshot.fromJson(json as core.Map); + checkSnapshot(obj); final path = req.url.path; var pathOffset = 0; @@ -107289,7 +108152,7 @@ void main() { unittest.equals('/disks/'), ); pathOffset += 7; - index = path.indexOf('/startAsyncReplication', pathOffset); + index = path.indexOf('/createSnapshot', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -107299,10 +108162,10 @@ void main() { unittest.equals('$arg_disk'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 22), - unittest.equals('/startAsyncReplication'), + path.substring(pathOffset, pathOffset + 15), + unittest.equals('/createSnapshot'), ); - pathOffset += 22; + pathOffset += 15; final query = req.url.query; var queryOffset = 0; @@ -107334,13 +108197,13 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.startAsyncReplication( + final response = await res.createSnapshot( arg_request, arg_project, arg_region, arg_disk, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--stopAsyncReplication', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionDisks; final arg_project = 'foo'; @@ -107396,20 +108259,12 @@ void main() { unittest.equals('/disks/'), ); pathOffset += 7; - index = path.indexOf('/stopAsyncReplication', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, unittest.equals('$arg_disk'), ); - unittest.expect( - path.substring(pathOffset, pathOffset + 21), - unittest.equals('/stopAsyncReplication'), - ); - pathOffset += 21; final query = req.url.query; var queryOffset = 0; @@ -107441,25 +108296,19 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.stopAsyncReplication( - arg_project, arg_region, arg_disk, + final response = await res.delete(arg_project, arg_region, arg_disk, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--stopGroupAsyncReplication', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionDisks; - final arg_request = buildDisksStopGroupAsyncReplicationResource(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_requestId = 'foo'; + final arg_disk = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.DisksStopGroupAsyncReplicationResource.fromJson( - json as core.Map); - checkDisksStopGroupAsyncReplicationResource(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -107493,7 +108342,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/disks/stopGroupAsyncReplication', pathOffset); + index = path.indexOf('/disks/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -107503,10 +108352,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 32), - unittest.equals('/disks/stopGroupAsyncReplication'), + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/disks/'), + ); + pathOffset += 7; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_disk'), ); - pathOffset += 32; final query = req.url.query; var queryOffset = 0; @@ -107523,10 +108378,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -107535,28 +108386,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildDisk()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.stopGroupAsyncReplication( - arg_request, arg_project, arg_region, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.get(arg_project, arg_region, arg_disk, + $fields: arg_$fields); + checkDisk(response as api.Disk); }); - unittest.test('method--testIamPermissions', () async { + unittest.test('method--getIamPolicy', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionDisks; - final arg_request = buildTestPermissionsRequest(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_resource = 'foo'; + final arg_optionsRequestedPolicyVersion = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.TestPermissionsRequest.fromJson( - json as core.Map); - checkTestPermissionsRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -107604,7 +108450,7 @@ void main() { unittest.equals('/disks/'), ); pathOffset += 7; - index = path.indexOf('/testIamPermissions', pathOffset); + index = path.indexOf('/getIamPolicy', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -107614,10 +108460,10 @@ void main() { unittest.equals('$arg_resource'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 19), - unittest.equals('/testIamPermissions'), + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/getIamPolicy'), ); - pathOffset += 19; + pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -107634,6 +108480,10 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['optionsRequestedPolicyVersion']!.first), + unittest.equals(arg_optionsRequestedPolicyVersion), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -107642,25 +108492,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildTestPermissionsResponse()); + final resp = convert.json.encode(buildPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.testIamPermissions( - arg_request, arg_project, arg_region, arg_resource, + final response = await res.getIamPolicy( + arg_project, arg_region, arg_resource, + optionsRequestedPolicyVersion: arg_optionsRequestedPolicyVersion, $fields: arg_$fields); - checkTestPermissionsResponse(response as api.TestPermissionsResponse); + checkPolicy(response as api.Policy); }); - unittest.test('method--update', () async { + unittest.test('method--insert', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionDisks; final arg_request = buildDisk(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_disk = 'foo'; - final arg_paths = buildUnnamed869(); final arg_requestId = 'foo'; - final arg_updateMask = 'foo'; + final arg_sourceImage = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = @@ -107700,7 +108549,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/disks/', pathOffset); + index = path.indexOf('/disks', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -107710,16 +108559,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/disks/'), - ); - pathOffset += 7; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_disk'), + path.substring(pathOffset, pathOffset + 6), + unittest.equals('/disks'), ); + pathOffset += 6; final query = req.url.query; var queryOffset = 0; @@ -107736,17 +108579,13 @@ void main() { ); } } - unittest.expect( - queryMap['paths']!, - unittest.equals(arg_paths), - ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), ); unittest.expect( - queryMap['updateMask']!.first, - unittest.equals(arg_updateMask), + queryMap['sourceImage']!.first, + unittest.equals(arg_sourceImage), ); unittest.expect( queryMap['fields']!.first, @@ -107759,24 +108598,23 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.update( - arg_request, arg_project, arg_region, arg_disk, - paths: arg_paths, + final response = await res.insert(arg_request, arg_project, arg_region, requestId: arg_requestId, - updateMask: arg_updateMask, + sourceImage: arg_sourceImage, $fields: arg_$fields); checkOperation(response as api.Operation); }); - }); - unittest.group('resource-RegionHealthCheckServicesResource', () { - unittest.test('method--delete', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionHealthCheckServices; + final res = api.ComputeApi(mock).regionDisks; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_healthCheckService = 'foo'; - final arg_requestId = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -107812,7 +108650,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/healthCheckServices/', pathOffset); + index = path.indexOf('/disks', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -107822,16 +108660,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 21), - unittest.equals('/healthCheckServices/'), - ); - pathOffset += 21; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_healthCheckService'), + path.substring(pathOffset, pathOffset + 6), + unittest.equals('/disks'), ); + pathOffset += 6; final query = req.url.query; var queryOffset = 0; @@ -107849,8 +108681,24 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), ); unittest.expect( queryMap['fields']!.first, @@ -107860,23 +108708,33 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildDiskList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete( - arg_project, arg_region, arg_healthCheckService, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.list(arg_project, arg_region, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkDiskList(response as api.DiskList); }); - unittest.test('method--get', () async { + unittest.test('method--removeResourcePolicies', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionHealthCheckServices; + final res = api.ComputeApi(mock).regionDisks; + final arg_request = buildRegionDisksRemoveResourcePoliciesRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_healthCheckService = 'foo'; + final arg_disk = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.RegionDisksRemoveResourcePoliciesRequest.fromJson( + json as core.Map); + checkRegionDisksRemoveResourcePoliciesRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -107910,7 +108768,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/healthCheckServices/', pathOffset); + index = path.indexOf('/disks/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -107920,16 +108778,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 21), - unittest.equals('/healthCheckServices/'), + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/disks/'), ); - pathOffset += 21; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + pathOffset += 7; + index = path.indexOf('/removeResourcePolicies', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_healthCheckService'), + unittest.equals('$arg_disk'), ); + unittest.expect( + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/removeResourcePolicies'), + ); + pathOffset += 23; final query = req.url.query; var queryOffset = 0; @@ -107946,6 +108812,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -107954,27 +108824,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildHealthCheckService()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get( - arg_project, arg_region, arg_healthCheckService, - $fields: arg_$fields); - checkHealthCheckService(response as api.HealthCheckService); + final response = await res.removeResourcePolicies( + arg_request, arg_project, arg_region, arg_disk, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--insert', () async { + unittest.test('method--resize', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionHealthCheckServices; - final arg_request = buildHealthCheckService(); + final res = api.ComputeApi(mock).regionDisks; + final arg_request = buildRegionDisksResizeRequest(); final arg_project = 'foo'; final arg_region = 'foo'; + final arg_disk = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.HealthCheckService.fromJson( + final obj = api.RegionDisksResizeRequest.fromJson( json as core.Map); - checkHealthCheckService(obj); + checkRegionDisksResizeRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -108009,7 +108880,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/healthCheckServices', pathOffset); + index = path.indexOf('/disks/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -108019,10 +108890,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 20), - unittest.equals('/healthCheckServices'), + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/disks/'), ); - pathOffset += 20; + pathOffset += 7; + index = path.indexOf('/resize', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_disk'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/resize'), + ); + pathOffset += 7; final query = req.url.query; var queryOffset = 0; @@ -108054,23 +108939,25 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.insert(arg_request, arg_project, arg_region, + final response = await res.resize( + arg_request, arg_project, arg_region, arg_disk, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--list', () async { + unittest.test('method--setIamPolicy', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionHealthCheckServices; + final res = api.ComputeApi(mock).regionDisks; + final arg_request = buildRegionSetPolicyRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.RegionSetPolicyRequest.fromJson( + json as core.Map); + checkRegionSetPolicyRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -108104,7 +108991,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/healthCheckServices', pathOffset); + index = path.indexOf('/disks/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -108114,10 +109001,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 20), - unittest.equals('/healthCheckServices'), + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/disks/'), ); - pathOffset += 20; + pathOffset += 7; + index = path.indexOf('/setIamPolicy', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_resource'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/setIamPolicy'), + ); + pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -108134,26 +109035,6 @@ void main() { ); } } - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -108162,32 +109043,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildHealthCheckServicesList()); + final resp = convert.json.encode(buildPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_region, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, + final response = await res.setIamPolicy( + arg_request, arg_project, arg_region, arg_resource, $fields: arg_$fields); - checkHealthCheckServicesList(response as api.HealthCheckServicesList); + checkPolicy(response as api.Policy); }); - unittest.test('method--patch', () async { + unittest.test('method--setLabels', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionHealthCheckServices; - final arg_request = buildHealthCheckService(); + final res = api.ComputeApi(mock).regionDisks; + final arg_request = buildRegionSetLabelsRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_healthCheckService = 'foo'; + final arg_resource = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.HealthCheckService.fromJson( + final obj = api.RegionSetLabelsRequest.fromJson( json as core.Map); - checkHealthCheckService(obj); + checkRegionSetLabelsRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -108222,7 +109099,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/healthCheckServices/', pathOffset); + index = path.indexOf('/disks/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -108232,16 +109109,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 21), - unittest.equals('/healthCheckServices/'), + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/disks/'), ); - pathOffset += 21; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + pathOffset += 7; + index = path.indexOf('/setLabels', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_healthCheckService'), + unittest.equals('$arg_resource'), ); + unittest.expect( + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/setLabels'), + ); + pathOffset += 10; final query = req.url.query; var queryOffset = 0; @@ -108273,23 +109158,26 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch( - arg_request, arg_project, arg_region, arg_healthCheckService, + final response = await res.setLabels( + arg_request, arg_project, arg_region, arg_resource, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - }); - unittest.group('resource-RegionHealthChecksResource', () { - unittest.test('method--delete', () async { + unittest.test('method--startAsyncReplication', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionHealthChecks; + final res = api.ComputeApi(mock).regionDisks; + final arg_request = buildRegionDisksStartAsyncReplicationRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_healthCheck = 'foo'; + final arg_disk = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.RegionDisksStartAsyncReplicationRequest.fromJson( + json as core.Map); + checkRegionDisksStartAsyncReplicationRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -108323,7 +109211,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/healthChecks/', pathOffset); + index = path.indexOf('/disks/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -108333,16 +109221,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 14), - unittest.equals('/healthChecks/'), + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/disks/'), ); - pathOffset += 14; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + pathOffset += 7; + index = path.indexOf('/startAsyncReplication', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_healthCheck'), + unittest.equals('$arg_disk'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 22), + unittest.equals('/startAsyncReplication'), ); + pathOffset += 22; final query = req.url.query; var queryOffset = 0; @@ -108374,18 +109270,19 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete( - arg_project, arg_region, arg_healthCheck, + final response = await res.startAsyncReplication( + arg_request, arg_project, arg_region, arg_disk, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--get', () async { + unittest.test('method--stopAsyncReplication', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionHealthChecks; + final res = api.ComputeApi(mock).regionDisks; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_healthCheck = 'foo'; + final arg_disk = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -108421,7 +109318,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/healthChecks/', pathOffset); + index = path.indexOf('/disks/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -108431,16 +109328,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 14), - unittest.equals('/healthChecks/'), + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/disks/'), ); - pathOffset += 14; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + pathOffset += 7; + index = path.indexOf('/stopAsyncReplication', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_healthCheck'), + unittest.equals('$arg_disk'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 21), + unittest.equals('/stopAsyncReplication'), ); + pathOffset += 21; final query = req.url.query; var queryOffset = 0; @@ -108457,6 +109362,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -108465,26 +109374,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildHealthCheck()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_project, arg_region, arg_healthCheck, - $fields: arg_$fields); - checkHealthCheck(response as api.HealthCheck); + final response = await res.stopAsyncReplication( + arg_project, arg_region, arg_disk, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--insert', () async { + unittest.test('method--stopGroupAsyncReplication', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionHealthChecks; - final arg_request = buildHealthCheck(); + final res = api.ComputeApi(mock).regionDisks; + final arg_request = buildDisksStopGroupAsyncReplicationResource(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.HealthCheck.fromJson( + final obj = api.DisksStopGroupAsyncReplicationResource.fromJson( json as core.Map); - checkHealthCheck(obj); + checkDisksStopGroupAsyncReplicationResource(obj); final path = req.url.path; var pathOffset = 0; @@ -108519,7 +109429,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/healthChecks', pathOffset); + index = path.indexOf('/disks/stopGroupAsyncReplication', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -108529,10 +109439,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/healthChecks'), + path.substring(pathOffset, pathOffset + 32), + unittest.equals('/disks/stopGroupAsyncReplication'), ); - pathOffset += 13; + pathOffset += 32; final query = req.url.query; var queryOffset = 0; @@ -108564,23 +109474,25 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.insert(arg_request, arg_project, arg_region, + final response = await res.stopGroupAsyncReplication( + arg_request, arg_project, arg_region, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--list', () async { + unittest.test('method--testIamPermissions', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionHealthChecks; + final res = api.ComputeApi(mock).regionDisks; + final arg_request = buildTestPermissionsRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.TestPermissionsRequest.fromJson( + json as core.Map); + checkTestPermissionsRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -108614,7 +109526,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/healthChecks', pathOffset); + index = path.indexOf('/disks/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -108624,10 +109536,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/healthChecks'), + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/disks/'), ); - pathOffset += 13; + pathOffset += 7; + index = path.indexOf('/testIamPermissions', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_resource'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/testIamPermissions'), + ); + pathOffset += 19; final query = req.url.query; var queryOffset = 0; @@ -108644,26 +109570,6 @@ void main() { ); } } - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -108672,32 +109578,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildHealthCheckList()); + final resp = convert.json.encode(buildTestPermissionsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_region, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, + final response = await res.testIamPermissions( + arg_request, arg_project, arg_region, arg_resource, $fields: arg_$fields); - checkHealthCheckList(response as api.HealthCheckList); + checkTestPermissionsResponse(response as api.TestPermissionsResponse); }); - unittest.test('method--patch', () async { + unittest.test('method--update', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionHealthChecks; - final arg_request = buildHealthCheck(); + final res = api.ComputeApi(mock).regionDisks; + final arg_request = buildDisk(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_healthCheck = 'foo'; + final arg_disk = 'foo'; + final arg_paths = buildUnnamed893(); final arg_requestId = 'foo'; + final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.HealthCheck.fromJson( - json as core.Map); - checkHealthCheck(obj); + final obj = + api.Disk.fromJson(json as core.Map); + checkDisk(obj); final path = req.url.path; var pathOffset = 0; @@ -108732,7 +109636,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/healthChecks/', pathOffset); + index = path.indexOf('/disks/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -108742,15 +109646,15 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 14), - unittest.equals('/healthChecks/'), + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/disks/'), ); - pathOffset += 14; + pathOffset += 7; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_healthCheck'), + unittest.equals('$arg_disk'), ); final query = req.url.query; @@ -108768,10 +109672,18 @@ void main() { ); } } + unittest.expect( + queryMap['paths']!, + unittest.equals(arg_paths), + ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), ); + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -108783,26 +109695,26 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch( - arg_request, arg_project, arg_region, arg_healthCheck, - requestId: arg_requestId, $fields: arg_$fields); + final response = await res.update( + arg_request, arg_project, arg_region, arg_disk, + paths: arg_paths, + requestId: arg_requestId, + updateMask: arg_updateMask, + $fields: arg_$fields); checkOperation(response as api.Operation); }); + }); - unittest.test('method--update', () async { + unittest.group('resource-RegionHealthCheckServicesResource', () { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionHealthChecks; - final arg_request = buildHealthCheck(); + final res = api.ComputeApi(mock).regionHealthCheckServices; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_healthCheck = 'foo'; + final arg_healthCheckService = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.HealthCheck.fromJson( - json as core.Map); - checkHealthCheck(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -108836,7 +109748,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/healthChecks/', pathOffset); + index = path.indexOf('/healthCheckServices/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -108846,15 +109758,15 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 14), - unittest.equals('/healthChecks/'), + path.substring(pathOffset, pathOffset + 21), + unittest.equals('/healthCheckServices/'), ); - pathOffset += 14; + pathOffset += 21; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_healthCheck'), + unittest.equals('$arg_healthCheckService'), ); final query = req.url.query; @@ -108887,30 +109799,20 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.update( - arg_request, arg_project, arg_region, arg_healthCheck, + final response = await res.delete( + arg_project, arg_region, arg_healthCheckService, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - }); - unittest.group('resource-RegionInstanceGroupManagersResource', () { - unittest.test('method--abandonInstances', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstanceGroupManagers; - final arg_request = - buildRegionInstanceGroupManagersAbandonInstancesRequest(); + final res = api.ComputeApi(mock).regionHealthCheckServices; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_instanceGroupManager = 'foo'; - final arg_requestId = 'foo'; + final arg_healthCheckService = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.RegionInstanceGroupManagersAbandonInstancesRequest.fromJson( - json as core.Map); - checkRegionInstanceGroupManagersAbandonInstancesRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -108944,7 +109846,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instanceGroupManagers/', pathOffset); + index = path.indexOf('/healthCheckServices/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -108954,24 +109856,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/instanceGroupManagers/'), + path.substring(pathOffset, pathOffset + 21), + unittest.equals('/healthCheckServices/'), ); - pathOffset += 23; - index = path.indexOf('/abandonInstances', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + pathOffset += 21; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_instanceGroupManager'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/abandonInstances'), + unittest.equals('$arg_healthCheckService'), ); - pathOffset += 17; final query = req.url.query; var queryOffset = 0; @@ -108988,10 +109882,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -109000,27 +109890,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildHealthCheckService()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.abandonInstances( - arg_request, arg_project, arg_region, arg_instanceGroupManager, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.get( + arg_project, arg_region, arg_healthCheckService, + $fields: arg_$fields); + checkHealthCheckService(response as api.HealthCheckService); }); - unittest.test('method--applyUpdatesToInstances', () async { + unittest.test('method--insert', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstanceGroupManagers; - final arg_request = buildRegionInstanceGroupManagersApplyUpdatesRequest(); + final res = api.ComputeApi(mock).regionHealthCheckServices; + final arg_request = buildHealthCheckService(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_instanceGroupManager = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.RegionInstanceGroupManagersApplyUpdatesRequest.fromJson( + final obj = api.HealthCheckService.fromJson( json as core.Map); - checkRegionInstanceGroupManagersApplyUpdatesRequest(obj); + checkHealthCheckService(obj); final path = req.url.path; var pathOffset = 0; @@ -109055,7 +109945,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instanceGroupManagers/', pathOffset); + index = path.indexOf('/healthCheckServices', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -109065,24 +109955,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/instanceGroupManagers/'), - ); - pathOffset += 23; - index = path.indexOf('/applyUpdatesToInstances', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_instanceGroupManager'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 24), - unittest.equals('/applyUpdatesToInstances'), + path.substring(pathOffset, pathOffset + 20), + unittest.equals('/healthCheckServices'), ); - pathOffset += 24; + pathOffset += 20; final query = req.url.query; var queryOffset = 0; @@ -109099,6 +109975,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -109110,28 +109990,23 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.applyUpdatesToInstances( - arg_request, arg_project, arg_region, arg_instanceGroupManager, - $fields: arg_$fields); + final response = await res.insert(arg_request, arg_project, arg_region, + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--createInstances', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstanceGroupManagers; - final arg_request = - buildRegionInstanceGroupManagersCreateInstancesRequest(); + final res = api.ComputeApi(mock).regionHealthCheckServices; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_instanceGroupManager = 'foo'; - final arg_requestId = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.RegionInstanceGroupManagersCreateInstancesRequest.fromJson( - json as core.Map); - checkRegionInstanceGroupManagersCreateInstancesRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -109165,7 +110040,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instanceGroupManagers/', pathOffset); + index = path.indexOf('/healthCheckServices', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -109175,24 +110050,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/instanceGroupManagers/'), - ); - pathOffset += 23; - index = path.indexOf('/createInstances', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_instanceGroupManager'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 16), - unittest.equals('/createInstances'), + path.substring(pathOffset, pathOffset + 20), + unittest.equals('/healthCheckServices'), ); - pathOffset += 16; + pathOffset += 20; final query = req.url.query; var queryOffset = 0; @@ -109210,8 +110071,24 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), ); unittest.expect( queryMap['fields']!.first, @@ -109221,24 +110098,33 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildHealthCheckServicesList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.createInstances( - arg_request, arg_project, arg_region, arg_instanceGroupManager, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.list(arg_project, arg_region, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkHealthCheckServicesList(response as api.HealthCheckServicesList); }); - unittest.test('method--delete', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstanceGroupManagers; + final res = api.ComputeApi(mock).regionHealthCheckServices; + final arg_request = buildHealthCheckService(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_instanceGroupManager = 'foo'; + final arg_healthCheckService = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.HealthCheckService.fromJson( + json as core.Map); + checkHealthCheckService(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -109272,7 +110158,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instanceGroupManagers/', pathOffset); + index = path.indexOf('/healthCheckServices/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -109282,15 +110168,15 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/instanceGroupManagers/'), + path.substring(pathOffset, pathOffset + 21), + unittest.equals('/healthCheckServices/'), ); - pathOffset += 23; + pathOffset += 21; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_instanceGroupManager'), + unittest.equals('$arg_healthCheckService'), ); final query = req.url.query; @@ -109323,28 +110209,23 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete( - arg_project, arg_region, arg_instanceGroupManager, + final response = await res.patch( + arg_request, arg_project, arg_region, arg_healthCheckService, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); + }); - unittest.test('method--deleteInstances', () async { + unittest.group('resource-RegionHealthChecksResource', () { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstanceGroupManagers; - final arg_request = - buildRegionInstanceGroupManagersDeleteInstancesRequest(); + final res = api.ComputeApi(mock).regionHealthChecks; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_instanceGroupManager = 'foo'; + final arg_healthCheck = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.RegionInstanceGroupManagersDeleteInstancesRequest.fromJson( - json as core.Map); - checkRegionInstanceGroupManagersDeleteInstancesRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -109378,7 +110259,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instanceGroupManagers/', pathOffset); + index = path.indexOf('/healthChecks/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -109388,24 +110269,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/instanceGroupManagers/'), + path.substring(pathOffset, pathOffset + 14), + unittest.equals('/healthChecks/'), ); - pathOffset += 23; - index = path.indexOf('/deleteInstances', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + pathOffset += 14; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_instanceGroupManager'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 16), - unittest.equals('/deleteInstances'), + unittest.equals('$arg_healthCheck'), ); - pathOffset += 16; final query = req.url.query; var queryOffset = 0; @@ -109437,27 +110310,20 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.deleteInstances( - arg_request, arg_project, arg_region, arg_instanceGroupManager, + final response = await res.delete( + arg_project, arg_region, arg_healthCheck, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--deletePerInstanceConfigs', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstanceGroupManagers; - final arg_request = - buildRegionInstanceGroupManagerDeleteInstanceConfigReq(); + final res = api.ComputeApi(mock).regionHealthChecks; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_instanceGroupManager = 'foo'; + final arg_healthCheck = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.RegionInstanceGroupManagerDeleteInstanceConfigReq.fromJson( - json as core.Map); - checkRegionInstanceGroupManagerDeleteInstanceConfigReq(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -109491,7 +110357,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instanceGroupManagers/', pathOffset); + index = path.indexOf('/healthChecks/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -109501,24 +110367,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/instanceGroupManagers/'), + path.substring(pathOffset, pathOffset + 14), + unittest.equals('/healthChecks/'), ); - pathOffset += 23; - index = path.indexOf('/deletePerInstanceConfigs', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + pathOffset += 14; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_instanceGroupManager'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 25), - unittest.equals('/deletePerInstanceConfigs'), + unittest.equals('$arg_healthCheck'), ); - pathOffset += 25; final query = req.url.query; var queryOffset = 0; @@ -109543,23 +110401,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildHealthCheck()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.deletePerInstanceConfigs( - arg_request, arg_project, arg_region, arg_instanceGroupManager, + final response = await res.get(arg_project, arg_region, arg_healthCheck, $fields: arg_$fields); - checkOperation(response as api.Operation); + checkHealthCheck(response as api.HealthCheck); }); - unittest.test('method--get', () async { + unittest.test('method--insert', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstanceGroupManagers; + final res = api.ComputeApi(mock).regionHealthChecks; + final arg_request = buildHealthCheck(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_instanceGroupManager = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.HealthCheck.fromJson( + json as core.Map); + checkHealthCheck(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -109593,7 +110455,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instanceGroupManagers/', pathOffset); + index = path.indexOf('/healthChecks', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -109603,16 +110465,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/instanceGroupManagers/'), - ); - pathOffset += 23; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_instanceGroupManager'), + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/healthChecks'), ); + pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -109629,6 +110485,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -109637,28 +110497,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildInstanceGroupManager()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get( - arg_project, arg_region, arg_instanceGroupManager, - $fields: arg_$fields); - checkInstanceGroupManager(response as api.InstanceGroupManager); + final response = await res.insert(arg_request, arg_project, arg_region, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--insert', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstanceGroupManagers; - final arg_request = buildInstanceGroupManager(); + final res = api.ComputeApi(mock).regionHealthChecks; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_requestId = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.InstanceGroupManager.fromJson( - json as core.Map); - checkInstanceGroupManager(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -109692,7 +110550,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instanceGroupManagers', pathOffset); + index = path.indexOf('/healthChecks', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -109702,10 +110560,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 22), - unittest.equals('/instanceGroupManagers'), + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/healthChecks'), ); - pathOffset += 22; + pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -109723,8 +110581,24 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), ); unittest.expect( queryMap['fields']!.first, @@ -109734,26 +110608,33 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildHealthCheckList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.insert(arg_request, arg_project, arg_region, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.list(arg_project, arg_region, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkHealthCheckList(response as api.HealthCheckList); }); - unittest.test('method--list', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstanceGroupManagers; + final res = api.ComputeApi(mock).regionHealthChecks; + final arg_request = buildHealthCheck(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_healthCheck = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.HealthCheck.fromJson( + json as core.Map); + checkHealthCheck(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -109787,7 +110668,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instanceGroupManagers', pathOffset); + index = path.indexOf('/healthChecks/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -109797,10 +110678,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 22), - unittest.equals('/instanceGroupManagers'), + path.substring(pathOffset, pathOffset + 14), + unittest.equals('/healthChecks/'), + ); + pathOffset += 14; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_healthCheck'), ); - pathOffset += 22; final query = req.url.query; var queryOffset = 0; @@ -109818,24 +110705,8 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -109845,33 +110716,29 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildRegionInstanceGroupManagerList()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_region, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkRegionInstanceGroupManagerList( - response as api.RegionInstanceGroupManagerList); + final response = await res.patch( + arg_request, arg_project, arg_region, arg_healthCheck, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--listErrors', () async { + unittest.test('method--update', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstanceGroupManagers; + final res = api.ComputeApi(mock).regionHealthChecks; + final arg_request = buildHealthCheck(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_instanceGroupManager = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_healthCheck = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.HealthCheck.fromJson( + json as core.Map); + checkHealthCheck(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -109905,7 +110772,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instanceGroupManagers/', pathOffset); + index = path.indexOf('/healthChecks/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -109915,24 +110782,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/instanceGroupManagers/'), + path.substring(pathOffset, pathOffset + 14), + unittest.equals('/healthChecks/'), ); - pathOffset += 23; - index = path.indexOf('/listErrors', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + pathOffset += 14; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_instanceGroupManager'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('/listErrors'), + unittest.equals('$arg_healthCheck'), ); - pathOffset += 11; final query = req.url.query; var queryOffset = 0; @@ -109950,24 +110809,8 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -109977,35 +110820,33 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json - .encode(buildRegionInstanceGroupManagersListErrorsResponse()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.listErrors( - arg_project, arg_region, arg_instanceGroupManager, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkRegionInstanceGroupManagersListErrorsResponse( - response as api.RegionInstanceGroupManagersListErrorsResponse); + final response = await res.update( + arg_request, arg_project, arg_region, arg_healthCheck, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); + }); - unittest.test('method--listManagedInstances', () async { + unittest.group('resource-RegionInstanceGroupManagersResource', () { + unittest.test('method--abandonInstances', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionInstanceGroupManagers; + final arg_request = + buildRegionInstanceGroupManagersAbandonInstancesRequest(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_instanceGroupManager = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.RegionInstanceGroupManagersAbandonInstancesRequest.fromJson( + json as core.Map); + checkRegionInstanceGroupManagersAbandonInstancesRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -110053,7 +110894,7 @@ void main() { unittest.equals('/instanceGroupManagers/'), ); pathOffset += 23; - index = path.indexOf('/listManagedInstances', pathOffset); + index = path.indexOf('/abandonInstances', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -110063,10 +110904,10 @@ void main() { unittest.equals('$arg_instanceGroupManager'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 21), - unittest.equals('/listManagedInstances'), + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/abandonInstances'), ); - pathOffset += 21; + pathOffset += 17; final query = req.url.query; var queryOffset = 0; @@ -110084,24 +110925,8 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -110111,35 +110936,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json - .encode(buildRegionInstanceGroupManagersListInstancesResponse()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.listManagedInstances( - arg_project, arg_region, arg_instanceGroupManager, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkRegionInstanceGroupManagersListInstancesResponse( - response as api.RegionInstanceGroupManagersListInstancesResponse); + final response = await res.abandonInstances( + arg_request, arg_project, arg_region, arg_instanceGroupManager, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--listPerInstanceConfigs', () async { + unittest.test('method--applyUpdatesToInstances', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionInstanceGroupManagers; + final arg_request = buildRegionInstanceGroupManagersApplyUpdatesRequest(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_instanceGroupManager = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.RegionInstanceGroupManagersApplyUpdatesRequest.fromJson( + json as core.Map); + checkRegionInstanceGroupManagersApplyUpdatesRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -110187,7 +111005,7 @@ void main() { unittest.equals('/instanceGroupManagers/'), ); pathOffset += 23; - index = path.indexOf('/listPerInstanceConfigs', pathOffset); + index = path.indexOf('/applyUpdatesToInstances', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -110197,10 +111015,10 @@ void main() { unittest.equals('$arg_instanceGroupManager'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/listPerInstanceConfigs'), + path.substring(pathOffset, pathOffset + 24), + unittest.equals('/applyUpdatesToInstances'), ); - pathOffset += 23; + pathOffset += 24; final query = req.url.query; var queryOffset = 0; @@ -110217,26 +111035,6 @@ void main() { ); } } - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -110245,35 +111043,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json - .encode(buildRegionInstanceGroupManagersListInstanceConfigsResp()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.listPerInstanceConfigs( - arg_project, arg_region, arg_instanceGroupManager, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, + final response = await res.applyUpdatesToInstances( + arg_request, arg_project, arg_region, arg_instanceGroupManager, $fields: arg_$fields); - checkRegionInstanceGroupManagersListInstanceConfigsResp( - response as api.RegionInstanceGroupManagersListInstanceConfigsResp); + checkOperation(response as api.Operation); }); - unittest.test('method--patch', () async { + unittest.test('method--createInstances', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionInstanceGroupManagers; - final arg_request = buildInstanceGroupManager(); + final arg_request = + buildRegionInstanceGroupManagersCreateInstancesRequest(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_instanceGroupManager = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.InstanceGroupManager.fromJson( - json as core.Map); - checkInstanceGroupManager(obj); + final obj = + api.RegionInstanceGroupManagersCreateInstancesRequest.fromJson( + json as core.Map); + checkRegionInstanceGroupManagersCreateInstancesRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -110322,12 +111115,20 @@ void main() { unittest.equals('/instanceGroupManagers/'), ); pathOffset += 23; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + index = path.indexOf('/createInstances', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, unittest.equals('$arg_instanceGroupManager'), ); + unittest.expect( + path.substring(pathOffset, pathOffset + 16), + unittest.equals('/createInstances'), + ); + pathOffset += 16; final query = req.url.query; var queryOffset = 0; @@ -110359,28 +111160,21 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch( + final response = await res.createInstances( arg_request, arg_project, arg_region, arg_instanceGroupManager, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--patchPerInstanceConfigs', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionInstanceGroupManagers; - final arg_request = - buildRegionInstanceGroupManagerPatchInstanceConfigReq(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_instanceGroupManager = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.RegionInstanceGroupManagerPatchInstanceConfigReq.fromJson( - json as core.Map); - checkRegionInstanceGroupManagerPatchInstanceConfigReq(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -110428,20 +111222,12 @@ void main() { unittest.equals('/instanceGroupManagers/'), ); pathOffset += 23; - index = path.indexOf('/patchPerInstanceConfigs', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, unittest.equals('$arg_instanceGroupManager'), ); - unittest.expect( - path.substring(pathOffset, pathOffset + 24), - unittest.equals('/patchPerInstanceConfigs'), - ); - pathOffset += 24; final query = req.url.query; var queryOffset = 0; @@ -110473,25 +111259,27 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patchPerInstanceConfigs( - arg_request, arg_project, arg_region, arg_instanceGroupManager, + final response = await res.delete( + arg_project, arg_region, arg_instanceGroupManager, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--recreateInstances', () async { + unittest.test('method--deleteInstances', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionInstanceGroupManagers; - final arg_request = buildRegionInstanceGroupManagersRecreateRequest(); + final arg_request = + buildRegionInstanceGroupManagersDeleteInstancesRequest(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_instanceGroupManager = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.RegionInstanceGroupManagersRecreateRequest.fromJson( - json as core.Map); - checkRegionInstanceGroupManagersRecreateRequest(obj); + final obj = + api.RegionInstanceGroupManagersDeleteInstancesRequest.fromJson( + json as core.Map); + checkRegionInstanceGroupManagersDeleteInstancesRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -110540,7 +111328,7 @@ void main() { unittest.equals('/instanceGroupManagers/'), ); pathOffset += 23; - index = path.indexOf('/recreateInstances', pathOffset); + index = path.indexOf('/deleteInstances', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -110550,10 +111338,10 @@ void main() { unittest.equals('$arg_instanceGroupManager'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/recreateInstances'), + path.substring(pathOffset, pathOffset + 16), + unittest.equals('/deleteInstances'), ); - pathOffset += 18; + pathOffset += 16; final query = req.url.query; var queryOffset = 0; @@ -110585,22 +111373,27 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.recreateInstances( + final response = await res.deleteInstances( arg_request, arg_project, arg_region, arg_instanceGroupManager, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--resize', () async { + unittest.test('method--deletePerInstanceConfigs', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionInstanceGroupManagers; + final arg_request = + buildRegionInstanceGroupManagerDeleteInstanceConfigReq(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_instanceGroupManager = 'foo'; - final arg_size = 42; - final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.RegionInstanceGroupManagerDeleteInstanceConfigReq.fromJson( + json as core.Map); + checkRegionInstanceGroupManagerDeleteInstanceConfigReq(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -110648,7 +111441,7 @@ void main() { unittest.equals('/instanceGroupManagers/'), ); pathOffset += 23; - index = path.indexOf('/resize', pathOffset); + index = path.indexOf('/deletePerInstanceConfigs', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -110658,10 +111451,10 @@ void main() { unittest.equals('$arg_instanceGroupManager'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/resize'), + path.substring(pathOffset, pathOffset + 25), + unittest.equals('/deletePerInstanceConfigs'), ); - pathOffset += 7; + pathOffset += 25; final query = req.url.query; var queryOffset = 0; @@ -110678,14 +111471,6 @@ void main() { ); } } - unittest.expect( - core.int.parse(queryMap['size']!.first), - unittest.equals(arg_size), - ); - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -110697,28 +111482,20 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.resize( - arg_project, arg_region, arg_instanceGroupManager, arg_size, - requestId: arg_requestId, $fields: arg_$fields); + final response = await res.deletePerInstanceConfigs( + arg_request, arg_project, arg_region, arg_instanceGroupManager, + $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--resumeInstances', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionInstanceGroupManagers; - final arg_request = - buildRegionInstanceGroupManagersResumeInstancesRequest(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_instanceGroupManager = 'foo'; - final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.RegionInstanceGroupManagersResumeInstancesRequest.fromJson( - json as core.Map); - checkRegionInstanceGroupManagersResumeInstancesRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -110766,20 +111543,12 @@ void main() { unittest.equals('/instanceGroupManagers/'), ); pathOffset += 23; - index = path.indexOf('/resumeInstances', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, unittest.equals('$arg_instanceGroupManager'), ); - unittest.expect( - path.substring(pathOffset, pathOffset + 16), - unittest.equals('/resumeInstances'), - ); - pathOffset += 16; final query = req.url.query; var queryOffset = 0; @@ -110796,10 +111565,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -110808,28 +111573,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildInstanceGroupManager()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.resumeInstances( - arg_request, arg_project, arg_region, arg_instanceGroupManager, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.get( + arg_project, arg_region, arg_instanceGroupManager, + $fields: arg_$fields); + checkInstanceGroupManager(response as api.InstanceGroupManager); }); - unittest.test('method--setInstanceTemplate', () async { + unittest.test('method--insert', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionInstanceGroupManagers; - final arg_request = buildRegionInstanceGroupManagersSetTemplateRequest(); + final arg_request = buildInstanceGroupManager(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_instanceGroupManager = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.RegionInstanceGroupManagersSetTemplateRequest.fromJson( + final obj = api.InstanceGroupManager.fromJson( json as core.Map); - checkRegionInstanceGroupManagersSetTemplateRequest(obj); + checkInstanceGroupManager(obj); final path = req.url.path; var pathOffset = 0; @@ -110864,7 +111628,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instanceGroupManagers/', pathOffset); + index = path.indexOf('/instanceGroupManagers', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -110874,24 +111638,105 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/instanceGroupManagers/'), + path.substring(pathOffset, pathOffset + 22), + unittest.equals('/instanceGroupManagers'), ); - pathOffset += 23; - index = path.indexOf('/setInstanceTemplate', pathOffset); + pathOffset += 22; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.insert(arg_request, arg_project, arg_region, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.ComputeApi(mock).regionInstanceGroupManagers; + final arg_project = 'foo'; + final arg_region = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('compute/v1/'), + ); + pathOffset += 11; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + index = path.indexOf('/regions/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_instanceGroupManager'), + unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 20), - unittest.equals('/setInstanceTemplate'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), ); - pathOffset += 20; + pathOffset += 9; + index = path.indexOf('/instanceGroupManagers', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_region'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 22), + unittest.equals('/instanceGroupManagers'), + ); + pathOffset += 22; final query = req.url.query; var queryOffset = 0; @@ -110909,8 +111754,24 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), ); unittest.expect( queryMap['fields']!.first, @@ -110920,31 +111781,33 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildRegionInstanceGroupManagerList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setInstanceTemplate( - arg_request, arg_project, arg_region, arg_instanceGroupManager, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.list(arg_project, arg_region, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkRegionInstanceGroupManagerList( + response as api.RegionInstanceGroupManagerList); }); - unittest.test('method--setTargetPools', () async { + unittest.test('method--listErrors', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionInstanceGroupManagers; - final arg_request = - buildRegionInstanceGroupManagersSetTargetPoolsRequest(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_instanceGroupManager = 'foo'; - final arg_requestId = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.RegionInstanceGroupManagersSetTargetPoolsRequest.fromJson( - json as core.Map); - checkRegionInstanceGroupManagersSetTargetPoolsRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -110992,7 +111855,7 @@ void main() { unittest.equals('/instanceGroupManagers/'), ); pathOffset += 23; - index = path.indexOf('/setTargetPools', pathOffset); + index = path.indexOf('/listErrors', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -111002,10 +111865,10 @@ void main() { unittest.equals('$arg_instanceGroupManager'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('/setTargetPools'), + path.substring(pathOffset, pathOffset + 11), + unittest.equals('/listErrors'), ); - pathOffset += 15; + pathOffset += 11; final query = req.url.query; var queryOffset = 0; @@ -111023,8 +111886,24 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), ); unittest.expect( queryMap['fields']!.first, @@ -111034,31 +111913,35 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json + .encode(buildRegionInstanceGroupManagersListErrorsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setTargetPools( - arg_request, arg_project, arg_region, arg_instanceGroupManager, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.listErrors( + arg_project, arg_region, arg_instanceGroupManager, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkRegionInstanceGroupManagersListErrorsResponse( + response as api.RegionInstanceGroupManagersListErrorsResponse); }); - unittest.test('method--startInstances', () async { + unittest.test('method--listManagedInstances', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionInstanceGroupManagers; - final arg_request = - buildRegionInstanceGroupManagersStartInstancesRequest(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_instanceGroupManager = 'foo'; - final arg_requestId = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.RegionInstanceGroupManagersStartInstancesRequest.fromJson( - json as core.Map); - checkRegionInstanceGroupManagersStartInstancesRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -111106,7 +111989,7 @@ void main() { unittest.equals('/instanceGroupManagers/'), ); pathOffset += 23; - index = path.indexOf('/startInstances', pathOffset); + index = path.indexOf('/listManagedInstances', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -111116,10 +111999,10 @@ void main() { unittest.equals('$arg_instanceGroupManager'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('/startInstances'), + path.substring(pathOffset, pathOffset + 21), + unittest.equals('/listManagedInstances'), ); - pathOffset += 15; + pathOffset += 21; final query = req.url.query; var queryOffset = 0; @@ -111137,8 +112020,24 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), ); unittest.expect( queryMap['fields']!.first, @@ -111148,31 +112047,35 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json + .encode(buildRegionInstanceGroupManagersListInstancesResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.startInstances( - arg_request, arg_project, arg_region, arg_instanceGroupManager, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.listManagedInstances( + arg_project, arg_region, arg_instanceGroupManager, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkRegionInstanceGroupManagersListInstancesResponse( + response as api.RegionInstanceGroupManagersListInstancesResponse); }); - unittest.test('method--stopInstances', () async { + unittest.test('method--listPerInstanceConfigs', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionInstanceGroupManagers; - final arg_request = - buildRegionInstanceGroupManagersStopInstancesRequest(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_instanceGroupManager = 'foo'; - final arg_requestId = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.RegionInstanceGroupManagersStopInstancesRequest.fromJson( - json as core.Map); - checkRegionInstanceGroupManagersStopInstancesRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -111220,7 +112123,7 @@ void main() { unittest.equals('/instanceGroupManagers/'), ); pathOffset += 23; - index = path.indexOf('/stopInstances', pathOffset); + index = path.indexOf('/listPerInstanceConfigs', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -111230,10 +112133,10 @@ void main() { unittest.equals('$arg_instanceGroupManager'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 14), - unittest.equals('/stopInstances'), + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/listPerInstanceConfigs'), ); - pathOffset += 14; + pathOffset += 23; final query = req.url.query; var queryOffset = 0; @@ -111251,8 +112154,24 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), ); unittest.expect( queryMap['fields']!.first, @@ -111262,30 +112181,35 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json + .encode(buildRegionInstanceGroupManagersListInstanceConfigsResp()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.stopInstances( - arg_request, arg_project, arg_region, arg_instanceGroupManager, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.listPerInstanceConfigs( + arg_project, arg_region, arg_instanceGroupManager, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkRegionInstanceGroupManagersListInstanceConfigsResp( + response as api.RegionInstanceGroupManagersListInstanceConfigsResp); }); - unittest.test('method--suspendInstances', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionInstanceGroupManagers; - final arg_request = - buildRegionInstanceGroupManagersSuspendInstancesRequest(); + final arg_request = buildInstanceGroupManager(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_instanceGroupManager = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.RegionInstanceGroupManagersSuspendInstancesRequest.fromJson( - json as core.Map); - checkRegionInstanceGroupManagersSuspendInstancesRequest(obj); + final obj = api.InstanceGroupManager.fromJson( + json as core.Map); + checkInstanceGroupManager(obj); final path = req.url.path; var pathOffset = 0; @@ -111334,20 +112258,12 @@ void main() { unittest.equals('/instanceGroupManagers/'), ); pathOffset += 23; - index = path.indexOf('/suspendInstances', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, unittest.equals('$arg_instanceGroupManager'), ); - unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/suspendInstances'), - ); - pathOffset += 17; final query = req.url.query; var queryOffset = 0; @@ -111379,17 +112295,17 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.suspendInstances( + final response = await res.patch( arg_request, arg_project, arg_region, arg_instanceGroupManager, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--updatePerInstanceConfigs', () async { + unittest.test('method--patchPerInstanceConfigs', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionInstanceGroupManagers; final arg_request = - buildRegionInstanceGroupManagerUpdateInstanceConfigReq(); + buildRegionInstanceGroupManagerPatchInstanceConfigReq(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_instanceGroupManager = 'foo'; @@ -111397,9 +112313,9 @@ void main() { final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = - api.RegionInstanceGroupManagerUpdateInstanceConfigReq.fromJson( + api.RegionInstanceGroupManagerPatchInstanceConfigReq.fromJson( json as core.Map); - checkRegionInstanceGroupManagerUpdateInstanceConfigReq(obj); + checkRegionInstanceGroupManagerPatchInstanceConfigReq(obj); final path = req.url.path; var pathOffset = 0; @@ -111448,7 +112364,7 @@ void main() { unittest.equals('/instanceGroupManagers/'), ); pathOffset += 23; - index = path.indexOf('/updatePerInstanceConfigs', pathOffset); + index = path.indexOf('/patchPerInstanceConfigs', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -111458,10 +112374,10 @@ void main() { unittest.equals('$arg_instanceGroupManager'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 25), - unittest.equals('/updatePerInstanceConfigs'), + path.substring(pathOffset, pathOffset + 24), + unittest.equals('/patchPerInstanceConfigs'), ); - pathOffset += 25; + pathOffset += 24; final query = req.url.query; var queryOffset = 0; @@ -111493,22 +112409,26 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.updatePerInstanceConfigs( + final response = await res.patchPerInstanceConfigs( arg_request, arg_project, arg_region, arg_instanceGroupManager, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - }); - unittest.group('resource-RegionInstanceGroupsResource', () { - unittest.test('method--get', () async { + unittest.test('method--recreateInstances', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstanceGroups; + final res = api.ComputeApi(mock).regionInstanceGroupManagers; + final arg_request = buildRegionInstanceGroupManagersRecreateRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_instanceGroup = 'foo'; + final arg_instanceGroupManager = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.RegionInstanceGroupManagersRecreateRequest.fromJson( + json as core.Map); + checkRegionInstanceGroupManagersRecreateRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -111542,7 +112462,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instanceGroups/', pathOffset); + index = path.indexOf('/instanceGroupManagers/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -111552,16 +112472,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 16), - unittest.equals('/instanceGroups/'), + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/instanceGroupManagers/'), ); - pathOffset += 16; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + pathOffset += 23; + index = path.indexOf('/recreateInstances', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_instanceGroup'), + unittest.equals('$arg_instanceGroupManager'), ); + unittest.expect( + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/recreateInstances'), + ); + pathOffset += 18; final query = req.url.query; var queryOffset = 0; @@ -111578,6 +112506,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -111586,24 +112518,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildInstanceGroup()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_project, arg_region, arg_instanceGroup, - $fields: arg_$fields); - checkInstanceGroup(response as api.InstanceGroup); + final response = await res.recreateInstances( + arg_request, arg_project, arg_region, arg_instanceGroupManager, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--list', () async { + unittest.test('method--resize', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstanceGroups; + final res = api.ComputeApi(mock).regionInstanceGroupManagers; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_instanceGroupManager = 'foo'; + final arg_size = 42; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -111639,7 +112570,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instanceGroups', pathOffset); + index = path.indexOf('/instanceGroupManagers/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -111649,10 +112580,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('/instanceGroups'), + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/instanceGroupManagers/'), ); - pathOffset += 15; + pathOffset += 23; + index = path.indexOf('/resize', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_instanceGroupManager'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/resize'), + ); + pathOffset += 7; final query = req.url.query; var queryOffset = 0; @@ -111670,24 +112615,12 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), + core.int.parse(queryMap['size']!.first), + unittest.equals(arg_size), ); unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -111697,36 +112630,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildRegionInstanceGroupList()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_region, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkRegionInstanceGroupList(response as api.RegionInstanceGroupList); + final response = await res.resize( + arg_project, arg_region, arg_instanceGroupManager, arg_size, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--listInstances', () async { + unittest.test('method--resumeInstances', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstanceGroups; - final arg_request = buildRegionInstanceGroupsListInstancesRequest(); + final res = api.ComputeApi(mock).regionInstanceGroupManagers; + final arg_request = + buildRegionInstanceGroupManagersResumeInstancesRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_instanceGroup = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_instanceGroupManager = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.RegionInstanceGroupsListInstancesRequest.fromJson( - json as core.Map); - checkRegionInstanceGroupsListInstancesRequest(obj); + final obj = + api.RegionInstanceGroupManagersResumeInstancesRequest.fromJson( + json as core.Map); + checkRegionInstanceGroupManagersResumeInstancesRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -111761,7 +112688,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instanceGroups/', pathOffset); + index = path.indexOf('/instanceGroupManagers/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -111771,24 +112698,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 16), - unittest.equals('/instanceGroups/'), + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/instanceGroupManagers/'), ); - pathOffset += 16; - index = path.indexOf('/listInstances', pathOffset); + pathOffset += 23; + index = path.indexOf('/resumeInstances', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_instanceGroup'), + unittest.equals('$arg_instanceGroupManager'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 14), - unittest.equals('/listInstances'), + path.substring(pathOffset, pathOffset + 16), + unittest.equals('/resumeInstances'), ); - pathOffset += 14; + pathOffset += 16; final query = req.url.query; var queryOffset = 0; @@ -111806,24 +112733,8 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -111833,35 +112744,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildRegionInstanceGroupsListInstances()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.listInstances( - arg_request, arg_project, arg_region, arg_instanceGroup, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkRegionInstanceGroupsListInstances( - response as api.RegionInstanceGroupsListInstances); + final response = await res.resumeInstances( + arg_request, arg_project, arg_region, arg_instanceGroupManager, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--setNamedPorts', () async { + unittest.test('method--setInstanceTemplate', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstanceGroups; - final arg_request = buildRegionInstanceGroupsSetNamedPortsRequest(); + final res = api.ComputeApi(mock).regionInstanceGroupManagers; + final arg_request = buildRegionInstanceGroupManagersSetTemplateRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_instanceGroup = 'foo'; + final arg_instanceGroupManager = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.RegionInstanceGroupsSetNamedPortsRequest.fromJson( + final obj = api.RegionInstanceGroupManagersSetTemplateRequest.fromJson( json as core.Map); - checkRegionInstanceGroupsSetNamedPortsRequest(obj); + checkRegionInstanceGroupManagersSetTemplateRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -111896,7 +112800,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instanceGroups/', pathOffset); + index = path.indexOf('/instanceGroupManagers/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -111906,24 +112810,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 16), - unittest.equals('/instanceGroups/'), + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/instanceGroupManagers/'), ); - pathOffset += 16; - index = path.indexOf('/setNamedPorts', pathOffset); + pathOffset += 23; + index = path.indexOf('/setInstanceTemplate', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_instanceGroup'), + unittest.equals('$arg_instanceGroupManager'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 14), - unittest.equals('/setNamedPorts'), + path.substring(pathOffset, pathOffset + 20), + unittest.equals('/setInstanceTemplate'), ); - pathOffset += 14; + pathOffset += 20; final query = req.url.query; var queryOffset = 0; @@ -111955,23 +112859,28 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setNamedPorts( - arg_request, arg_project, arg_region, arg_instanceGroup, + final response = await res.setInstanceTemplate( + arg_request, arg_project, arg_region, arg_instanceGroupManager, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - }); - unittest.group('resource-RegionInstanceTemplatesResource', () { - unittest.test('method--delete', () async { + unittest.test('method--setTargetPools', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstanceTemplates; + final res = api.ComputeApi(mock).regionInstanceGroupManagers; + final arg_request = + buildRegionInstanceGroupManagersSetTargetPoolsRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_instanceTemplate = 'foo'; + final arg_instanceGroupManager = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.RegionInstanceGroupManagersSetTargetPoolsRequest.fromJson( + json as core.Map); + checkRegionInstanceGroupManagersSetTargetPoolsRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -112005,7 +112914,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instanceTemplates/', pathOffset); + index = path.indexOf('/instanceGroupManagers/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -112015,16 +112924,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 19), - unittest.equals('/instanceTemplates/'), + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/instanceGroupManagers/'), ); - pathOffset += 19; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + pathOffset += 23; + index = path.indexOf('/setTargetPools', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_instanceTemplate'), + unittest.equals('$arg_instanceGroupManager'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('/setTargetPools'), ); + pathOffset += 15; final query = req.url.query; var queryOffset = 0; @@ -112056,20 +112973,28 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete( - arg_project, arg_region, arg_instanceTemplate, + final response = await res.setTargetPools( + arg_request, arg_project, arg_region, arg_instanceGroupManager, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--get', () async { + unittest.test('method--startInstances', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstanceTemplates; + final res = api.ComputeApi(mock).regionInstanceGroupManagers; + final arg_request = + buildRegionInstanceGroupManagersStartInstancesRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_instanceTemplate = 'foo'; + final arg_instanceGroupManager = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.RegionInstanceGroupManagersStartInstancesRequest.fromJson( + json as core.Map); + checkRegionInstanceGroupManagersStartInstancesRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -112103,7 +113028,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instanceTemplates/', pathOffset); + index = path.indexOf('/instanceGroupManagers/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -112113,16 +113038,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 19), - unittest.equals('/instanceTemplates/'), + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/instanceGroupManagers/'), ); - pathOffset += 19; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + pathOffset += 23; + index = path.indexOf('/startInstances', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_instanceTemplate'), + unittest.equals('$arg_instanceGroupManager'), ); + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('/startInstances'), + ); + pathOffset += 15; final query = req.url.query; var queryOffset = 0; @@ -112139,6 +113072,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -112147,27 +113084,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildInstanceTemplate()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get( - arg_project, arg_region, arg_instanceTemplate, - $fields: arg_$fields); - checkInstanceTemplate(response as api.InstanceTemplate); + final response = await res.startInstances( + arg_request, arg_project, arg_region, arg_instanceGroupManager, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--insert', () async { + unittest.test('method--stopInstances', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstanceTemplates; - final arg_request = buildInstanceTemplate(); + final res = api.ComputeApi(mock).regionInstanceGroupManagers; + final arg_request = + buildRegionInstanceGroupManagersStopInstancesRequest(); final arg_project = 'foo'; final arg_region = 'foo'; + final arg_instanceGroupManager = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.InstanceTemplate.fromJson( - json as core.Map); - checkInstanceTemplate(obj); + final obj = + api.RegionInstanceGroupManagersStopInstancesRequest.fromJson( + json as core.Map); + checkRegionInstanceGroupManagersStopInstancesRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -112202,7 +113142,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instanceTemplates', pathOffset); + index = path.indexOf('/instanceGroupManagers/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -112212,10 +113152,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/instanceTemplates'), + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/instanceGroupManagers/'), ); - pathOffset += 18; + pathOffset += 23; + index = path.indexOf('/stopInstances', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_instanceGroupManager'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 14), + unittest.equals('/stopInstances'), + ); + pathOffset += 14; final query = req.url.query; var queryOffset = 0; @@ -112247,23 +113201,28 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.insert(arg_request, arg_project, arg_region, + final response = await res.stopInstances( + arg_request, arg_project, arg_region, arg_instanceGroupManager, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--list', () async { + unittest.test('method--suspendInstances', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstanceTemplates; + final res = api.ComputeApi(mock).regionInstanceGroupManagers; + final arg_request = + buildRegionInstanceGroupManagersSuspendInstancesRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_instanceGroupManager = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.RegionInstanceGroupManagersSuspendInstancesRequest.fromJson( + json as core.Map); + checkRegionInstanceGroupManagersSuspendInstancesRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -112297,7 +113256,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instanceTemplates', pathOffset); + index = path.indexOf('/instanceGroupManagers/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -112307,10 +113266,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/instanceTemplates'), + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/instanceGroupManagers/'), ); - pathOffset += 18; + pathOffset += 23; + index = path.indexOf('/suspendInstances', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_instanceGroupManager'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/suspendInstances'), + ); + pathOffset += 17; final query = req.url.query; var queryOffset = 0; @@ -112328,24 +113301,8 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -112355,33 +113312,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildInstanceTemplateList()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_region, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkInstanceTemplateList(response as api.InstanceTemplateList); + final response = await res.suspendInstances( + arg_request, arg_project, arg_region, arg_instanceGroupManager, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - }); - unittest.group('resource-RegionInstancesResource', () { - unittest.test('method--bulkInsert', () async { + unittest.test('method--updatePerInstanceConfigs', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstances; - final arg_request = buildBulkInsertInstanceResource(); + final res = api.ComputeApi(mock).regionInstanceGroupManagers; + final arg_request = + buildRegionInstanceGroupManagerUpdateInstanceConfigReq(); final arg_project = 'foo'; final arg_region = 'foo'; + final arg_instanceGroupManager = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.BulkInsertInstanceResource.fromJson( - json as core.Map); - checkBulkInsertInstanceResource(obj); + final obj = + api.RegionInstanceGroupManagerUpdateInstanceConfigReq.fromJson( + json as core.Map); + checkRegionInstanceGroupManagerUpdateInstanceConfigReq(obj); final path = req.url.path; var pathOffset = 0; @@ -112416,7 +113370,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instances/bulkInsert', pathOffset); + index = path.indexOf('/instanceGroupManagers/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -112426,10 +113380,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 21), - unittest.equals('/instances/bulkInsert'), + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/instanceGroupManagers/'), ); - pathOffset += 21; + pathOffset += 23; + index = path.indexOf('/updatePerInstanceConfigs', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_instanceGroupManager'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 25), + unittest.equals('/updatePerInstanceConfigs'), + ); + pathOffset += 25; final query = req.url.query; var queryOffset = 0; @@ -112461,21 +113429,20 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.bulkInsert( - arg_request, arg_project, arg_region, + final response = await res.updatePerInstanceConfigs( + arg_request, arg_project, arg_region, arg_instanceGroupManager, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); }); - unittest.group('resource-RegionInstantSnapshotsResource', () { - unittest.test('method--delete', () async { + unittest.group('resource-RegionInstanceGroupsResource', () { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstantSnapshots; + final res = api.ComputeApi(mock).regionInstanceGroups; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_instantSnapshot = 'foo'; - final arg_requestId = 'foo'; + final arg_instanceGroup = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -112511,7 +113478,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instantSnapshots/', pathOffset); + index = path.indexOf('/instanceGroups/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -112521,15 +113488,15 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/instantSnapshots/'), + path.substring(pathOffset, pathOffset + 16), + unittest.equals('/instanceGroups/'), ); - pathOffset += 18; + pathOffset += 16; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_instantSnapshot'), + unittest.equals('$arg_instanceGroup'), ); final query = req.url.query; @@ -112547,10 +113514,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -112559,21 +113522,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildInstanceGroup()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete( - arg_project, arg_region, arg_instantSnapshot, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.get(arg_project, arg_region, arg_instanceGroup, + $fields: arg_$fields); + checkInstanceGroup(response as api.InstanceGroup); }); - unittest.test('method--get', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstantSnapshots; + final res = api.ComputeApi(mock).regionInstanceGroups; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_instantSnapshot = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -112609,7 +113575,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instantSnapshots/', pathOffset); + index = path.indexOf('/instanceGroups', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -112619,16 +113585,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/instantSnapshots/'), - ); - pathOffset += 18; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_instantSnapshot'), + path.substring(pathOffset, pathOffset + 15), + unittest.equals('/instanceGroups'), ); + pathOffset += 15; final query = req.url.query; var queryOffset = 0; @@ -112645,6 +113605,26 @@ void main() { ); } } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -112653,24 +113633,37 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildInstantSnapshot()); + final resp = convert.json.encode(buildRegionInstanceGroupList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get( - arg_project, arg_region, arg_instantSnapshot, + final response = await res.list(arg_project, arg_region, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkInstantSnapshot(response as api.InstantSnapshot); + checkRegionInstanceGroupList(response as api.RegionInstanceGroupList); }); - unittest.test('method--getIamPolicy', () async { + unittest.test('method--listInstances', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstantSnapshots; + final res = api.ComputeApi(mock).regionInstanceGroups; + final arg_request = buildRegionInstanceGroupsListInstancesRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_resource = 'foo'; - final arg_optionsRequestedPolicyVersion = 42; + final arg_instanceGroup = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.RegionInstanceGroupsListInstancesRequest.fromJson( + json as core.Map); + checkRegionInstanceGroupsListInstancesRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -112704,7 +113697,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instantSnapshots/', pathOffset); + index = path.indexOf('/instanceGroups/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -112714,24 +113707,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/instantSnapshots/'), + path.substring(pathOffset, pathOffset + 16), + unittest.equals('/instanceGroups/'), ); - pathOffset += 18; - index = path.indexOf('/getIamPolicy', pathOffset); + pathOffset += 16; + index = path.indexOf('/listInstances', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_resource'), + unittest.equals('$arg_instanceGroup'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/getIamPolicy'), + path.substring(pathOffset, pathOffset + 14), + unittest.equals('/listInstances'), ); - pathOffset += 13; + pathOffset += 14; final query = req.url.query; var queryOffset = 0; @@ -112749,8 +113742,24 @@ void main() { } } unittest.expect( - core.int.parse(queryMap['optionsRequestedPolicyVersion']!.first), - unittest.equals(arg_optionsRequestedPolicyVersion), + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), ); unittest.expect( queryMap['fields']!.first, @@ -112760,28 +113769,35 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPolicy()); + final resp = + convert.json.encode(buildRegionInstanceGroupsListInstances()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getIamPolicy( - arg_project, arg_region, arg_resource, - optionsRequestedPolicyVersion: arg_optionsRequestedPolicyVersion, + final response = await res.listInstances( + arg_request, arg_project, arg_region, arg_instanceGroup, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkPolicy(response as api.Policy); + checkRegionInstanceGroupsListInstances( + response as api.RegionInstanceGroupsListInstances); }); - unittest.test('method--insert', () async { + unittest.test('method--setNamedPorts', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstantSnapshots; - final arg_request = buildInstantSnapshot(); + final res = api.ComputeApi(mock).regionInstanceGroups; + final arg_request = buildRegionInstanceGroupsSetNamedPortsRequest(); final arg_project = 'foo'; final arg_region = 'foo'; + final arg_instanceGroup = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.InstantSnapshot.fromJson( + final obj = api.RegionInstanceGroupsSetNamedPortsRequest.fromJson( json as core.Map); - checkInstantSnapshot(obj); + checkRegionInstanceGroupsSetNamedPortsRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -112816,7 +113832,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instantSnapshots', pathOffset); + index = path.indexOf('/instanceGroups/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -112826,10 +113842,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/instantSnapshots'), + path.substring(pathOffset, pathOffset + 16), + unittest.equals('/instanceGroups/'), ); - pathOffset += 17; + pathOffset += 16; + index = path.indexOf('/setNamedPorts', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_instanceGroup'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 14), + unittest.equals('/setNamedPorts'), + ); + pathOffset += 14; final query = req.url.query; var queryOffset = 0; @@ -112861,21 +113891,21 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.insert(arg_request, arg_project, arg_region, + final response = await res.setNamedPorts( + arg_request, arg_project, arg_region, arg_instanceGroup, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); + }); - unittest.test('method--list', () async { + unittest.group('resource-RegionInstanceTemplatesResource', () { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstantSnapshots; + final res = api.ComputeApi(mock).regionInstanceTemplates; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_instanceTemplate = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -112911,7 +113941,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instantSnapshots', pathOffset); + index = path.indexOf('/instanceTemplates/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -112921,10 +113951,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/instantSnapshots'), + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/instanceTemplates/'), + ); + pathOffset += 19; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_instanceTemplate'), ); - pathOffset += 17; final query = req.url.query; var queryOffset = 0; @@ -112942,24 +113978,8 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -112969,32 +113989,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildInstantSnapshotList()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_region, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkInstantSnapshotList(response as api.InstantSnapshotList); + final response = await res.delete( + arg_project, arg_region, arg_instanceTemplate, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--setIamPolicy', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstantSnapshots; - final arg_request = buildRegionSetPolicyRequest(); + final res = api.ComputeApi(mock).regionInstanceTemplates; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_resource = 'foo'; + final arg_instanceTemplate = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.RegionSetPolicyRequest.fromJson( - json as core.Map); - checkRegionSetPolicyRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -113028,7 +114039,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instantSnapshots/', pathOffset); + index = path.indexOf('/instanceTemplates/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -113038,24 +114049,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/instantSnapshots/'), + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/instanceTemplates/'), ); - pathOffset += 18; - index = path.indexOf('/setIamPolicy', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + pathOffset += 19; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_resource'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/setIamPolicy'), + unittest.equals('$arg_instanceTemplate'), ); - pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -113080,28 +114083,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPolicy()); + final resp = convert.json.encode(buildInstanceTemplate()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setIamPolicy( - arg_request, arg_project, arg_region, arg_resource, + final response = await res.get( + arg_project, arg_region, arg_instanceTemplate, $fields: arg_$fields); - checkPolicy(response as api.Policy); + checkInstanceTemplate(response as api.InstanceTemplate); }); - unittest.test('method--setLabels', () async { + unittest.test('method--insert', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstantSnapshots; - final arg_request = buildRegionSetLabelsRequest(); + final res = api.ComputeApi(mock).regionInstanceTemplates; + final arg_request = buildInstanceTemplate(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_resource = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.RegionSetLabelsRequest.fromJson( + final obj = api.InstanceTemplate.fromJson( json as core.Map); - checkRegionSetLabelsRequest(obj); + checkInstanceTemplate(obj); final path = req.url.path; var pathOffset = 0; @@ -113136,7 +114138,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instantSnapshots/', pathOffset); + index = path.indexOf('/instanceTemplates', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -113147,23 +114149,9 @@ void main() { ); unittest.expect( path.substring(pathOffset, pathOffset + 18), - unittest.equals('/instantSnapshots/'), + unittest.equals('/instanceTemplates'), ); pathOffset += 18; - index = path.indexOf('/setLabels', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_resource'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 10), - unittest.equals('/setLabels'), - ); - pathOffset += 10; final query = req.url.query; var queryOffset = 0; @@ -113195,25 +114183,23 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setLabels( - arg_request, arg_project, arg_region, arg_resource, + final response = await res.insert(arg_request, arg_project, arg_region, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--testIamPermissions', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionInstantSnapshots; - final arg_request = buildTestPermissionsRequest(); + final res = api.ComputeApi(mock).regionInstanceTemplates; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_resource = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.TestPermissionsRequest.fromJson( - json as core.Map); - checkTestPermissionsRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -113247,7 +114233,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/instantSnapshots/', pathOffset); + index = path.indexOf('/instanceTemplates', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -113258,23 +114244,9 @@ void main() { ); unittest.expect( path.substring(pathOffset, pathOffset + 18), - unittest.equals('/instantSnapshots/'), + unittest.equals('/instanceTemplates'), ); pathOffset += 18; - index = path.indexOf('/testIamPermissions', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_resource'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 19), - unittest.equals('/testIamPermissions'), - ); - pathOffset += 19; final query = req.url.query; var queryOffset = 0; @@ -113291,6 +114263,26 @@ void main() { ); } } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -113299,32 +114291,33 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildTestPermissionsResponse()); + final resp = convert.json.encode(buildInstanceTemplateList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.testIamPermissions( - arg_request, arg_project, arg_region, arg_resource, + final response = await res.list(arg_project, arg_region, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkTestPermissionsResponse(response as api.TestPermissionsResponse); + checkInstanceTemplateList(response as api.InstanceTemplateList); }); }); - unittest.group('resource-RegionNetworkEndpointGroupsResource', () { - unittest.test('method--attachNetworkEndpoints', () async { + unittest.group('resource-RegionInstancesResource', () { + unittest.test('method--bulkInsert', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionNetworkEndpointGroups; - final arg_request = - buildRegionNetworkEndpointGroupsAttachEndpointsRequest(); + final res = api.ComputeApi(mock).regionInstances; + final arg_request = buildBulkInsertInstanceResource(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_networkEndpointGroup = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.RegionNetworkEndpointGroupsAttachEndpointsRequest.fromJson( - json as core.Map); - checkRegionNetworkEndpointGroupsAttachEndpointsRequest(obj); + final obj = api.BulkInsertInstanceResource.fromJson( + json as core.Map); + checkBulkInsertInstanceResource(obj); final path = req.url.path; var pathOffset = 0; @@ -113359,7 +114352,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/networkEndpointGroups/', pathOffset); + index = path.indexOf('/instances/bulkInsert', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -113369,24 +114362,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/networkEndpointGroups/'), - ); - pathOffset += 23; - index = path.indexOf('/attachNetworkEndpoints', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_networkEndpointGroup'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/attachNetworkEndpoints'), + path.substring(pathOffset, pathOffset + 21), + unittest.equals('/instances/bulkInsert'), ); - pathOffset += 23; + pathOffset += 21; final query = req.url.query; var queryOffset = 0; @@ -113418,18 +114397,20 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.attachNetworkEndpoints( - arg_request, arg_project, arg_region, arg_networkEndpointGroup, + final response = await res.bulkInsert( + arg_request, arg_project, arg_region, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); + }); + unittest.group('resource-RegionInstantSnapshotsResource', () { unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionNetworkEndpointGroups; + final res = api.ComputeApi(mock).regionInstantSnapshots; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_networkEndpointGroup = 'foo'; + final arg_instantSnapshot = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -113466,7 +114447,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/networkEndpointGroups/', pathOffset); + index = path.indexOf('/instantSnapshots/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -113476,15 +114457,15 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/networkEndpointGroups/'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/instantSnapshots/'), ); - pathOffset += 23; + pathOffset += 18; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_networkEndpointGroup'), + unittest.equals('$arg_instantSnapshot'), ); final query = req.url.query; @@ -113518,27 +114499,19 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.delete( - arg_project, arg_region, arg_networkEndpointGroup, + arg_project, arg_region, arg_instantSnapshot, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--detachNetworkEndpoints', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionNetworkEndpointGroups; - final arg_request = - buildRegionNetworkEndpointGroupsDetachEndpointsRequest(); + final res = api.ComputeApi(mock).regionInstantSnapshots; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_networkEndpointGroup = 'foo'; - final arg_requestId = 'foo'; + final arg_instantSnapshot = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.RegionNetworkEndpointGroupsDetachEndpointsRequest.fromJson( - json as core.Map); - checkRegionNetworkEndpointGroupsDetachEndpointsRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -113572,7 +114545,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/networkEndpointGroups/', pathOffset); + index = path.indexOf('/instantSnapshots/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -113582,24 +114555,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/networkEndpointGroups/'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/instantSnapshots/'), ); - pathOffset += 23; - index = path.indexOf('/detachNetworkEndpoints', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + pathOffset += 18; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_networkEndpointGroup'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/detachNetworkEndpoints'), + unittest.equals('$arg_instantSnapshot'), ); - pathOffset += 23; final query = req.url.query; var queryOffset = 0; @@ -113616,10 +114581,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -113628,21 +114589,22 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildInstantSnapshot()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.detachNetworkEndpoints( - arg_request, arg_project, arg_region, arg_networkEndpointGroup, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.get( + arg_project, arg_region, arg_instantSnapshot, + $fields: arg_$fields); + checkInstantSnapshot(response as api.InstantSnapshot); }); - unittest.test('method--get', () async { + unittest.test('method--getIamPolicy', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionNetworkEndpointGroups; + final res = api.ComputeApi(mock).regionInstantSnapshots; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_networkEndpointGroup = 'foo'; + final arg_resource = 'foo'; + final arg_optionsRequestedPolicyVersion = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -113678,7 +114640,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/networkEndpointGroups/', pathOffset); + index = path.indexOf('/instantSnapshots/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -113688,16 +114650,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/networkEndpointGroups/'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/instantSnapshots/'), ); - pathOffset += 23; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + pathOffset += 18; + index = path.indexOf('/getIamPolicy', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_networkEndpointGroup'), + unittest.equals('$arg_resource'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/getIamPolicy'), ); + pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -113714,6 +114684,10 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['optionsRequestedPolicyVersion']!.first), + unittest.equals(arg_optionsRequestedPolicyVersion), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -113722,27 +114696,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildNetworkEndpointGroup()); + final resp = convert.json.encode(buildPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get( - arg_project, arg_region, arg_networkEndpointGroup, + final response = await res.getIamPolicy( + arg_project, arg_region, arg_resource, + optionsRequestedPolicyVersion: arg_optionsRequestedPolicyVersion, $fields: arg_$fields); - checkNetworkEndpointGroup(response as api.NetworkEndpointGroup); + checkPolicy(response as api.Policy); }); unittest.test('method--insert', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionNetworkEndpointGroups; - final arg_request = buildNetworkEndpointGroup(); + final res = api.ComputeApi(mock).regionInstantSnapshots; + final arg_request = buildInstantSnapshot(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.NetworkEndpointGroup.fromJson( + final obj = api.InstantSnapshot.fromJson( json as core.Map); - checkNetworkEndpointGroup(obj); + checkInstantSnapshot(obj); final path = req.url.path; var pathOffset = 0; @@ -113777,7 +114752,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/networkEndpointGroups', pathOffset); + index = path.indexOf('/instantSnapshots', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -113787,10 +114762,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 22), - unittest.equals('/networkEndpointGroups'), + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/instantSnapshots'), ); - pathOffset += 22; + pathOffset += 17; final query = req.url.query; var queryOffset = 0; @@ -113829,7 +114804,7 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionNetworkEndpointGroups; + final res = api.ComputeApi(mock).regionInstantSnapshots; final arg_project = 'foo'; final arg_region = 'foo'; final arg_filter = 'foo'; @@ -113872,7 +114847,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/networkEndpointGroups', pathOffset); + index = path.indexOf('/instantSnapshots', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -113882,10 +114857,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 22), - unittest.equals('/networkEndpointGroups'), + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/instantSnapshots'), ); - pathOffset += 22; + pathOffset += 17; final query = req.url.query; var queryOffset = 0; @@ -113930,7 +114905,7 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildNetworkEndpointGroupList()); + final resp = convert.json.encode(buildInstantSnapshotList()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.list(arg_project, arg_region, @@ -113940,22 +114915,22 @@ void main() { pageToken: arg_pageToken, returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkNetworkEndpointGroupList(response as api.NetworkEndpointGroupList); + checkInstantSnapshotList(response as api.InstantSnapshotList); }); - unittest.test('method--listNetworkEndpoints', () async { + unittest.test('method--setIamPolicy', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionNetworkEndpointGroups; + final res = api.ComputeApi(mock).regionInstantSnapshots; + final arg_request = buildRegionSetPolicyRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_networkEndpointGroup = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.RegionSetPolicyRequest.fromJson( + json as core.Map); + checkRegionSetPolicyRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -113989,7 +114964,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/networkEndpointGroups/', pathOffset); + index = path.indexOf('/instantSnapshots/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -113999,24 +114974,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/networkEndpointGroups/'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/instantSnapshots/'), ); - pathOffset += 23; - index = path.indexOf('/listNetworkEndpoints', pathOffset); + pathOffset += 18; + index = path.indexOf('/setIamPolicy', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_networkEndpointGroup'), + unittest.equals('$arg_resource'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 21), - unittest.equals('/listNetworkEndpoints'), + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/setIamPolicy'), ); - pathOffset += 21; + pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -114033,26 +115008,6 @@ void main() { ); } } - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -114061,38 +115016,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json - .encode(buildNetworkEndpointGroupsListNetworkEndpoints()); + final resp = convert.json.encode(buildPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.listNetworkEndpoints( - arg_project, arg_region, arg_networkEndpointGroup, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, + final response = await res.setIamPolicy( + arg_request, arg_project, arg_region, arg_resource, $fields: arg_$fields); - checkNetworkEndpointGroupsListNetworkEndpoints( - response as api.NetworkEndpointGroupsListNetworkEndpoints); + checkPolicy(response as api.Policy); }); - }); - unittest.group('resource-RegionNetworkFirewallPoliciesResource', () { - unittest.test('method--addAssociation', () async { + unittest.test('method--setLabels', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; - final arg_request = buildFirewallPolicyAssociation(); + final res = api.ComputeApi(mock).regionInstantSnapshots; + final arg_request = buildRegionSetLabelsRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_firewallPolicy = 'foo'; - final arg_replaceExistingAssociation = true; + final arg_resource = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.FirewallPolicyAssociation.fromJson( + final obj = api.RegionSetLabelsRequest.fromJson( json as core.Map); - checkFirewallPolicyAssociation(obj); + checkRegionSetLabelsRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -114127,7 +115072,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/firewallPolicies/', pathOffset); + index = path.indexOf('/instantSnapshots/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -114138,23 +115083,23 @@ void main() { ); unittest.expect( path.substring(pathOffset, pathOffset + 18), - unittest.equals('/firewallPolicies/'), + unittest.equals('/instantSnapshots/'), ); pathOffset += 18; - index = path.indexOf('/addAssociation', pathOffset); + index = path.indexOf('/setLabels', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_firewallPolicy'), + unittest.equals('$arg_resource'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('/addAssociation'), + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/setLabels'), ); - pathOffset += 15; + pathOffset += 10; final query = req.url.query; var queryOffset = 0; @@ -114171,10 +115116,6 @@ void main() { ); } } - unittest.expect( - queryMap['replaceExistingAssociation']!.first, - unittest.equals('$arg_replaceExistingAssociation'), - ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), @@ -114190,29 +115131,24 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.addAssociation( - arg_request, arg_project, arg_region, arg_firewallPolicy, - replaceExistingAssociation: arg_replaceExistingAssociation, - requestId: arg_requestId, - $fields: arg_$fields); + final response = await res.setLabels( + arg_request, arg_project, arg_region, arg_resource, + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--addRule', () async { + unittest.test('method--testIamPermissions', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; - final arg_request = buildFirewallPolicyRule(); + final res = api.ComputeApi(mock).regionInstantSnapshots; + final arg_request = buildTestPermissionsRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_firewallPolicy = 'foo'; - final arg_maxPriority = 42; - final arg_minPriority = 42; - final arg_requestId = 'foo'; + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.FirewallPolicyRule.fromJson( + final obj = api.TestPermissionsRequest.fromJson( json as core.Map); - checkFirewallPolicyRule(obj); + checkTestPermissionsRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -114247,7 +115183,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/firewallPolicies/', pathOffset); + index = path.indexOf('/instantSnapshots/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -114258,23 +115194,23 @@ void main() { ); unittest.expect( path.substring(pathOffset, pathOffset + 18), - unittest.equals('/firewallPolicies/'), + unittest.equals('/instantSnapshots/'), ); pathOffset += 18; - index = path.indexOf('/addRule', pathOffset); + index = path.indexOf('/testIamPermissions', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_firewallPolicy'), + unittest.equals('$arg_resource'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 8), - unittest.equals('/addRule'), + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/testIamPermissions'), ); - pathOffset += 8; + pathOffset += 19; final query = req.url.query; var queryOffset = 0; @@ -114291,18 +115227,6 @@ void main() { ); } } - unittest.expect( - core.int.parse(queryMap['maxPriority']!.first), - unittest.equals(arg_maxPriority), - ); - unittest.expect( - core.int.parse(queryMap['minPriority']!.first), - unittest.equals(arg_minPriority), - ); - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -114311,28 +115235,33 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildTestPermissionsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.addRule( - arg_request, arg_project, arg_region, arg_firewallPolicy, - maxPriority: arg_maxPriority, - minPriority: arg_minPriority, - requestId: arg_requestId, + final response = await res.testIamPermissions( + arg_request, arg_project, arg_region, arg_resource, $fields: arg_$fields); - checkOperation(response as api.Operation); + checkTestPermissionsResponse(response as api.TestPermissionsResponse); }); + }); - unittest.test('method--cloneRules', () async { + unittest.group('resource-RegionNetworkEndpointGroupsResource', () { + unittest.test('method--attachNetworkEndpoints', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; + final res = api.ComputeApi(mock).regionNetworkEndpointGroups; + final arg_request = + buildRegionNetworkEndpointGroupsAttachEndpointsRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_firewallPolicy = 'foo'; + final arg_networkEndpointGroup = 'foo'; final arg_requestId = 'foo'; - final arg_sourceFirewallPolicy = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.RegionNetworkEndpointGroupsAttachEndpointsRequest.fromJson( + json as core.Map); + checkRegionNetworkEndpointGroupsAttachEndpointsRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -114366,7 +115295,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/firewallPolicies/', pathOffset); + index = path.indexOf('/networkEndpointGroups/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -114376,24 +115305,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/firewallPolicies/'), + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/networkEndpointGroups/'), ); - pathOffset += 18; - index = path.indexOf('/cloneRules', pathOffset); + pathOffset += 23; + index = path.indexOf('/attachNetworkEndpoints', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_firewallPolicy'), + unittest.equals('$arg_networkEndpointGroup'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('/cloneRules'), + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/attachNetworkEndpoints'), ); - pathOffset += 11; + pathOffset += 23; final query = req.url.query; var queryOffset = 0; @@ -114414,10 +115343,6 @@ void main() { queryMap['requestId']!.first, unittest.equals(arg_requestId), ); - unittest.expect( - queryMap['sourceFirewallPolicy']!.first, - unittest.equals(arg_sourceFirewallPolicy), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -114429,20 +115354,18 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.cloneRules( - arg_project, arg_region, arg_firewallPolicy, - requestId: arg_requestId, - sourceFirewallPolicy: arg_sourceFirewallPolicy, - $fields: arg_$fields); + final response = await res.attachNetworkEndpoints( + arg_request, arg_project, arg_region, arg_networkEndpointGroup, + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; + final res = api.ComputeApi(mock).regionNetworkEndpointGroups; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_firewallPolicy = 'foo'; + final arg_networkEndpointGroup = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -114479,7 +115402,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/firewallPolicies/', pathOffset); + index = path.indexOf('/networkEndpointGroups/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -114489,15 +115412,15 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/firewallPolicies/'), + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/networkEndpointGroups/'), ); - pathOffset += 18; + pathOffset += 23; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_firewallPolicy'), + unittest.equals('$arg_networkEndpointGroup'), ); final query = req.url.query; @@ -114531,19 +115454,27 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.delete( - arg_project, arg_region, arg_firewallPolicy, + arg_project, arg_region, arg_networkEndpointGroup, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--get', () async { + unittest.test('method--detachNetworkEndpoints', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; + final res = api.ComputeApi(mock).regionNetworkEndpointGroups; + final arg_request = + buildRegionNetworkEndpointGroupsDetachEndpointsRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_firewallPolicy = 'foo'; + final arg_networkEndpointGroup = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.RegionNetworkEndpointGroupsDetachEndpointsRequest.fromJson( + json as core.Map); + checkRegionNetworkEndpointGroupsDetachEndpointsRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -114577,7 +115508,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/firewallPolicies/', pathOffset); + index = path.indexOf('/networkEndpointGroups/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -114587,16 +115518,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/firewallPolicies/'), + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/networkEndpointGroups/'), ); - pathOffset += 18; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + pathOffset += 23; + index = path.indexOf('/detachNetworkEndpoints', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_firewallPolicy'), + unittest.equals('$arg_networkEndpointGroup'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/detachNetworkEndpoints'), ); + pathOffset += 23; final query = req.url.query; var queryOffset = 0; @@ -114613,6 +115552,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -114621,22 +115564,21 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildFirewallPolicy()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get( - arg_project, arg_region, arg_firewallPolicy, - $fields: arg_$fields); - checkFirewallPolicy(response as api.FirewallPolicy); + final response = await res.detachNetworkEndpoints( + arg_request, arg_project, arg_region, arg_networkEndpointGroup, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--getAssociation', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; + final res = api.ComputeApi(mock).regionNetworkEndpointGroups; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_firewallPolicy = 'foo'; - final arg_name = 'foo'; + final arg_networkEndpointGroup = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -114672,7 +115614,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/firewallPolicies/', pathOffset); + index = path.indexOf('/networkEndpointGroups/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -114682,24 +115624,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/firewallPolicies/'), + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/networkEndpointGroups/'), ); - pathOffset += 18; - index = path.indexOf('/getAssociation', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + pathOffset += 23; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_firewallPolicy'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('/getAssociation'), + unittest.equals('$arg_networkEndpointGroup'), ); - pathOffset += 15; final query = req.url.query; var queryOffset = 0; @@ -114716,10 +115650,6 @@ void main() { ); } } - unittest.expect( - queryMap['name']!.first, - unittest.equals(arg_name), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -114728,23 +115658,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildFirewallPolicyAssociation()); + final resp = convert.json.encode(buildNetworkEndpointGroup()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getAssociation( - arg_project, arg_region, arg_firewallPolicy, - name: arg_name, $fields: arg_$fields); - checkFirewallPolicyAssociation(response as api.FirewallPolicyAssociation); + final response = await res.get( + arg_project, arg_region, arg_networkEndpointGroup, + $fields: arg_$fields); + checkNetworkEndpointGroup(response as api.NetworkEndpointGroup); }); - unittest.test('method--getEffectiveFirewalls', () async { + unittest.test('method--insert', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; + final res = api.ComputeApi(mock).regionNetworkEndpointGroups; + final arg_request = buildNetworkEndpointGroup(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_network = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.NetworkEndpointGroup.fromJson( + json as core.Map); + checkNetworkEndpointGroup(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -114778,8 +115713,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = - path.indexOf('/firewallPolicies/getEffectiveFirewalls', pathOffset); + index = path.indexOf('/networkEndpointGroups', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -114789,10 +115723,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 39), - unittest.equals('/firewallPolicies/getEffectiveFirewalls'), + path.substring(pathOffset, pathOffset + 22), + unittest.equals('/networkEndpointGroups'), ); - pathOffset += 39; + pathOffset += 22; final query = req.url.query; var queryOffset = 0; @@ -114810,8 +115744,8 @@ void main() { } } unittest.expect( - queryMap['network']!.first, - unittest.equals(arg_network), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -114821,24 +115755,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode( - buildRegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getEffectiveFirewalls( - arg_project, arg_region, arg_network, - $fields: arg_$fields); - checkRegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse(response - as api.RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse); + final response = await res.insert(arg_request, arg_project, arg_region, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--getIamPolicy', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; + final res = api.ComputeApi(mock).regionNetworkEndpointGroups; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_resource = 'foo'; - final arg_optionsRequestedPolicyVersion = 42; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -114874,7 +115808,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/firewallPolicies/', pathOffset); + index = path.indexOf('/networkEndpointGroups', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -114884,24 +115818,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/firewallPolicies/'), - ); - pathOffset += 18; - index = path.indexOf('/getIamPolicy', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_resource'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/getIamPolicy'), + path.substring(pathOffset, pathOffset + 22), + unittest.equals('/networkEndpointGroups'), ); - pathOffset += 13; + pathOffset += 22; final query = req.url.query; var queryOffset = 0; @@ -114919,8 +115839,24 @@ void main() { } } unittest.expect( - core.int.parse(queryMap['optionsRequestedPolicyVersion']!.first), - unittest.equals(arg_optionsRequestedPolicyVersion), + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), ); unittest.expect( queryMap['fields']!.first, @@ -114930,23 +115866,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPolicy()); + final resp = convert.json.encode(buildNetworkEndpointGroupList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getIamPolicy( - arg_project, arg_region, arg_resource, - optionsRequestedPolicyVersion: arg_optionsRequestedPolicyVersion, + final response = await res.list(arg_project, arg_region, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkPolicy(response as api.Policy); + checkNetworkEndpointGroupList(response as api.NetworkEndpointGroupList); }); - unittest.test('method--getRule', () async { + unittest.test('method--listNetworkEndpoints', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; + final res = api.ComputeApi(mock).regionNetworkEndpointGroups; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_firewallPolicy = 'foo'; - final arg_priority = 42; + final arg_networkEndpointGroup = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -114982,7 +115925,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/firewallPolicies/', pathOffset); + index = path.indexOf('/networkEndpointGroups/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -114992,24 +115935,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/firewallPolicies/'), + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/networkEndpointGroups/'), ); - pathOffset += 18; - index = path.indexOf('/getRule', pathOffset); + pathOffset += 23; + index = path.indexOf('/listNetworkEndpoints', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_firewallPolicy'), + unittest.equals('$arg_networkEndpointGroup'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 8), - unittest.equals('/getRule'), + path.substring(pathOffset, pathOffset + 21), + unittest.equals('/listNetworkEndpoints'), ); - pathOffset += 8; + pathOffset += 21; final query = req.url.query; var queryOffset = 0; @@ -115027,8 +115970,24 @@ void main() { } } unittest.expect( - core.int.parse(queryMap['priority']!.first), - unittest.equals(arg_priority), + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), ); unittest.expect( queryMap['fields']!.first, @@ -115038,27 +115997,38 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildFirewallPolicyRule()); + final resp = convert.json + .encode(buildNetworkEndpointGroupsListNetworkEndpoints()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getRule( - arg_project, arg_region, arg_firewallPolicy, - priority: arg_priority, $fields: arg_$fields); - checkFirewallPolicyRule(response as api.FirewallPolicyRule); + final response = await res.listNetworkEndpoints( + arg_project, arg_region, arg_networkEndpointGroup, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkNetworkEndpointGroupsListNetworkEndpoints( + response as api.NetworkEndpointGroupsListNetworkEndpoints); }); + }); - unittest.test('method--insert', () async { + unittest.group('resource-RegionNetworkFirewallPoliciesResource', () { + unittest.test('method--addAssociation', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; - final arg_request = buildFirewallPolicy(); + final arg_request = buildFirewallPolicyAssociation(); final arg_project = 'foo'; final arg_region = 'foo'; + final arg_firewallPolicy = 'foo'; + final arg_replaceExistingAssociation = true; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.FirewallPolicy.fromJson( + final obj = api.FirewallPolicyAssociation.fromJson( json as core.Map); - checkFirewallPolicy(obj); + checkFirewallPolicyAssociation(obj); final path = req.url.path; var pathOffset = 0; @@ -115093,7 +116063,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/firewallPolicies', pathOffset); + index = path.indexOf('/firewallPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -115103,105 +116073,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/firewallPolicies'), - ); - pathOffset += 17; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildOperation()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.insert(arg_request, arg_project, arg_region, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); - }); - - unittest.test('method--list', () async { - final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; - final arg_project = 'foo'; - final arg_region = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('compute/v1/'), - ); - pathOffset += 11; - unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('projects/'), - ); - pathOffset += 9; - index = path.indexOf('/regions/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_project'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/regions/'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/firewallPolicies/'), ); - pathOffset += 9; - index = path.indexOf('/firewallPolicies', pathOffset); + pathOffset += 18; + index = path.indexOf('/addAssociation', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_region'), + unittest.equals('$arg_firewallPolicy'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/firewallPolicies'), + path.substring(pathOffset, pathOffset + 15), + unittest.equals('/addAssociation'), ); - pathOffset += 17; + pathOffset += 15; final query = req.url.query; var queryOffset = 0; @@ -115219,24 +116108,12 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), + queryMap['replaceExistingAssociation']!.first, + unittest.equals('$arg_replaceExistingAssociation'), ); unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -115246,32 +116123,32 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildFirewallPolicyList()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_region, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, + final response = await res.addAssociation( + arg_request, arg_project, arg_region, arg_firewallPolicy, + replaceExistingAssociation: arg_replaceExistingAssociation, + requestId: arg_requestId, $fields: arg_$fields); - checkFirewallPolicyList(response as api.FirewallPolicyList); + checkOperation(response as api.Operation); }); - unittest.test('method--patch', () async { + unittest.test('method--addRule', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; - final arg_request = buildFirewallPolicy(); + final arg_request = buildFirewallPolicyRule(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_firewallPolicy = 'foo'; + final arg_maxPriority = 42; + final arg_minPriority = 42; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.FirewallPolicy.fromJson( + final obj = api.FirewallPolicyRule.fromJson( json as core.Map); - checkFirewallPolicy(obj); + checkFirewallPolicyRule(obj); final path = req.url.path; var pathOffset = 0; @@ -115320,12 +116197,20 @@ void main() { unittest.equals('/firewallPolicies/'), ); pathOffset += 18; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + index = path.indexOf('/addRule', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, unittest.equals('$arg_firewallPolicy'), ); + unittest.expect( + path.substring(pathOffset, pathOffset + 8), + unittest.equals('/addRule'), + ); + pathOffset += 8; final query = req.url.query; var queryOffset = 0; @@ -115342,6 +116227,14 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['maxPriority']!.first), + unittest.equals(arg_maxPriority), + ); + unittest.expect( + core.int.parse(queryMap['minPriority']!.first), + unittest.equals(arg_minPriority), + ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), @@ -115357,27 +116250,25 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch( + final response = await res.addRule( arg_request, arg_project, arg_region, arg_firewallPolicy, - requestId: arg_requestId, $fields: arg_$fields); + maxPriority: arg_maxPriority, + minPriority: arg_minPriority, + requestId: arg_requestId, + $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--patchRule', () async { + unittest.test('method--cloneRules', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; - final arg_request = buildFirewallPolicyRule(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_firewallPolicy = 'foo'; - final arg_priority = 42; final arg_requestId = 'foo'; + final arg_sourceFirewallPolicy = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.FirewallPolicyRule.fromJson( - json as core.Map); - checkFirewallPolicyRule(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -115425,7 +116316,7 @@ void main() { unittest.equals('/firewallPolicies/'), ); pathOffset += 18; - index = path.indexOf('/patchRule', pathOffset); + index = path.indexOf('/cloneRules', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -115435,10 +116326,10 @@ void main() { unittest.equals('$arg_firewallPolicy'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 10), - unittest.equals('/patchRule'), + path.substring(pathOffset, pathOffset + 11), + unittest.equals('/cloneRules'), ); - pathOffset += 10; + pathOffset += 11; final query = req.url.query; var queryOffset = 0; @@ -115455,14 +116346,14 @@ void main() { ); } } - unittest.expect( - core.int.parse(queryMap['priority']!.first), - unittest.equals(arg_priority), - ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), ); + unittest.expect( + queryMap['sourceFirewallPolicy']!.first, + unittest.equals(arg_sourceFirewallPolicy), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -115474,21 +116365,20 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patchRule( - arg_request, arg_project, arg_region, arg_firewallPolicy, - priority: arg_priority, + final response = await res.cloneRules( + arg_project, arg_region, arg_firewallPolicy, requestId: arg_requestId, + sourceFirewallPolicy: arg_sourceFirewallPolicy, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--removeAssociation', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; final arg_project = 'foo'; final arg_region = 'foo'; final arg_firewallPolicy = 'foo'; - final arg_name = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -115539,20 +116429,12 @@ void main() { unittest.equals('/firewallPolicies/'), ); pathOffset += 18; - index = path.indexOf('/removeAssociation', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, unittest.equals('$arg_firewallPolicy'), ); - unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/removeAssociation'), - ); - pathOffset += 18; final query = req.url.query; var queryOffset = 0; @@ -115569,10 +116451,6 @@ void main() { ); } } - unittest.expect( - queryMap['name']!.first, - unittest.equals(arg_name), - ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), @@ -115588,20 +116466,18 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.removeAssociation( + final response = await res.delete( arg_project, arg_region, arg_firewallPolicy, - name: arg_name, requestId: arg_requestId, $fields: arg_$fields); + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--removeRule', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; final arg_project = 'foo'; final arg_region = 'foo'; final arg_firewallPolicy = 'foo'; - final arg_priority = 42; - final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -115651,20 +116527,12 @@ void main() { unittest.equals('/firewallPolicies/'), ); pathOffset += 18; - index = path.indexOf('/removeRule', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, unittest.equals('$arg_firewallPolicy'), ); - unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('/removeRule'), - ); - pathOffset += 11; final query = req.url.query; var queryOffset = 0; @@ -115681,14 +116549,6 @@ void main() { ); } } - unittest.expect( - core.int.parse(queryMap['priority']!.first), - unittest.equals(arg_priority), - ); - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -115697,30 +116557,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildFirewallPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.removeRule( + final response = await res.get( arg_project, arg_region, arg_firewallPolicy, - priority: arg_priority, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + checkFirewallPolicy(response as api.FirewallPolicy); }); - unittest.test('method--setIamPolicy', () async { + unittest.test('method--getAssociation', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; - final arg_request = buildRegionSetPolicyRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_resource = 'foo'; + final arg_firewallPolicy = 'foo'; + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.RegionSetPolicyRequest.fromJson( - json as core.Map); - checkRegionSetPolicyRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -115768,20 +116622,20 @@ void main() { unittest.equals('/firewallPolicies/'), ); pathOffset += 18; - index = path.indexOf('/setIamPolicy', pathOffset); + index = path.indexOf('/getAssociation', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_resource'), + unittest.equals('$arg_firewallPolicy'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/setIamPolicy'), + path.substring(pathOffset, pathOffset + 15), + unittest.equals('/getAssociation'), ); - pathOffset += 13; + pathOffset += 15; final query = req.url.query; var queryOffset = 0; @@ -115798,6 +116652,10 @@ void main() { ); } } + unittest.expect( + queryMap['name']!.first, + unittest.equals(arg_name), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -115806,28 +116664,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPolicy()); + final resp = convert.json.encode(buildFirewallPolicyAssociation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setIamPolicy( - arg_request, arg_project, arg_region, arg_resource, - $fields: arg_$fields); - checkPolicy(response as api.Policy); + final response = await res.getAssociation( + arg_project, arg_region, arg_firewallPolicy, + name: arg_name, $fields: arg_$fields); + checkFirewallPolicyAssociation(response as api.FirewallPolicyAssociation); }); - unittest.test('method--testIamPermissions', () async { + unittest.test('method--getEffectiveFirewalls', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; - final arg_request = buildTestPermissionsRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_resource = 'foo'; + final arg_network = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.TestPermissionsRequest.fromJson( - json as core.Map); - checkTestPermissionsRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -115861,7 +116714,8 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/firewallPolicies/', pathOffset); + index = + path.indexOf('/firewallPolicies/getEffectiveFirewalls', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -115871,24 +116725,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/firewallPolicies/'), - ); - pathOffset += 18; - index = path.indexOf('/testIamPermissions', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_resource'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 19), - unittest.equals('/testIamPermissions'), + path.substring(pathOffset, pathOffset + 39), + unittest.equals('/firewallPolicies/getEffectiveFirewalls'), ); - pathOffset += 19; + pathOffset += 39; final query = req.url.query; var queryOffset = 0; @@ -115905,6 +116745,10 @@ void main() { ); } } + unittest.expect( + queryMap['network']!.first, + unittest.equals(arg_network), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -115913,24 +116757,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildTestPermissionsResponse()); + final resp = convert.json.encode( + buildRegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.testIamPermissions( - arg_request, arg_project, arg_region, arg_resource, + final response = await res.getEffectiveFirewalls( + arg_project, arg_region, arg_network, $fields: arg_$fields); - checkTestPermissionsResponse(response as api.TestPermissionsResponse); + checkRegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse(response + as api.RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse); }); - }); - unittest.group('resource-RegionNotificationEndpointsResource', () { - unittest.test('method--delete', () async { + unittest.test('method--getIamPolicy', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionNotificationEndpoints; + final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_notificationEndpoint = 'foo'; - final arg_requestId = 'foo'; + final arg_resource = 'foo'; + final arg_optionsRequestedPolicyVersion = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -115966,7 +116810,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/notificationEndpoints/', pathOffset); + index = path.indexOf('/firewallPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -115976,16 +116820,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/notificationEndpoints/'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/firewallPolicies/'), ); - pathOffset += 23; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + pathOffset += 18; + index = path.indexOf('/getIamPolicy', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_notificationEndpoint'), + unittest.equals('$arg_resource'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/getIamPolicy'), ); + pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -116003,8 +116855,8 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + core.int.parse(queryMap['optionsRequestedPolicyVersion']!.first), + unittest.equals(arg_optionsRequestedPolicyVersion), ); unittest.expect( queryMap['fields']!.first, @@ -116014,21 +116866,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete( - arg_project, arg_region, arg_notificationEndpoint, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.getIamPolicy( + arg_project, arg_region, arg_resource, + optionsRequestedPolicyVersion: arg_optionsRequestedPolicyVersion, + $fields: arg_$fields); + checkPolicy(response as api.Policy); }); - unittest.test('method--get', () async { + unittest.test('method--getRule', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionNotificationEndpoints; + final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_notificationEndpoint = 'foo'; + final arg_firewallPolicy = 'foo'; + final arg_priority = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -116064,7 +116918,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/notificationEndpoints/', pathOffset); + index = path.indexOf('/firewallPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -116074,16 +116928,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 23), - unittest.equals('/notificationEndpoints/'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/firewallPolicies/'), ); - pathOffset += 23; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + pathOffset += 18; + index = path.indexOf('/getRule', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_notificationEndpoint'), + unittest.equals('$arg_firewallPolicy'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 8), + unittest.equals('/getRule'), ); + pathOffset += 8; final query = req.url.query; var queryOffset = 0; @@ -116100,6 +116962,10 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['priority']!.first), + unittest.equals(arg_priority), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -116108,27 +116974,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildNotificationEndpoint()); + final resp = convert.json.encode(buildFirewallPolicyRule()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get( - arg_project, arg_region, arg_notificationEndpoint, - $fields: arg_$fields); - checkNotificationEndpoint(response as api.NotificationEndpoint); + final response = await res.getRule( + arg_project, arg_region, arg_firewallPolicy, + priority: arg_priority, $fields: arg_$fields); + checkFirewallPolicyRule(response as api.FirewallPolicyRule); }); unittest.test('method--insert', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionNotificationEndpoints; - final arg_request = buildNotificationEndpoint(); + final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; + final arg_request = buildFirewallPolicy(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.NotificationEndpoint.fromJson( + final obj = api.FirewallPolicy.fromJson( json as core.Map); - checkNotificationEndpoint(obj); + checkFirewallPolicy(obj); final path = req.url.path; var pathOffset = 0; @@ -116163,7 +117029,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/notificationEndpoints', pathOffset); + index = path.indexOf('/firewallPolicies', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -116173,10 +117039,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 22), - unittest.equals('/notificationEndpoints'), + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/firewallPolicies'), ); - pathOffset += 22; + pathOffset += 17; final query = req.url.query; var queryOffset = 0; @@ -116215,7 +117081,7 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionNotificationEndpoints; + final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; final arg_project = 'foo'; final arg_region = 'foo'; final arg_filter = 'foo'; @@ -116258,7 +117124,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/notificationEndpoints', pathOffset); + index = path.indexOf('/firewallPolicies', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -116268,10 +117134,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 22), - unittest.equals('/notificationEndpoints'), + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/firewallPolicies'), ); - pathOffset += 22; + pathOffset += 17; final query = req.url.query; var queryOffset = 0; @@ -116316,7 +117182,7 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildNotificationEndpointList()); + final resp = convert.json.encode(buildFirewallPolicyList()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.list(arg_project, arg_region, @@ -116326,19 +117192,23 @@ void main() { pageToken: arg_pageToken, returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkNotificationEndpointList(response as api.NotificationEndpointList); + checkFirewallPolicyList(response as api.FirewallPolicyList); }); - }); - unittest.group('resource-RegionOperationsResource', () { - unittest.test('method--delete', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionOperations; + final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; + final arg_request = buildFirewallPolicy(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_operation = 'foo'; + final arg_firewallPolicy = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.FirewallPolicy.fromJson( + json as core.Map); + checkFirewallPolicy(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -116372,7 +117242,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/operations/', pathOffset); + index = path.indexOf('/firewallPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -116382,15 +117252,15 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 12), - unittest.equals('/operations/'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/firewallPolicies/'), ); - pathOffset += 12; + pathOffset += 18; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_operation'), + unittest.equals('$arg_firewallPolicy'), ); final query = req.url.query; @@ -116408,6 +117278,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -116416,21 +117290,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = ''; + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - await res.delete(arg_project, arg_region, arg_operation, - $fields: arg_$fields); + final response = await res.patch( + arg_request, arg_project, arg_region, arg_firewallPolicy, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--get', () async { + unittest.test('method--patchRule', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionOperations; + final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; + final arg_request = buildFirewallPolicyRule(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_operation = 'foo'; + final arg_firewallPolicy = 'foo'; + final arg_priority = 42; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.FirewallPolicyRule.fromJson( + json as core.Map); + checkFirewallPolicyRule(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -116464,7 +117347,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/operations/', pathOffset); + index = path.indexOf('/firewallPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -116474,16 +117357,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 12), - unittest.equals('/operations/'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/firewallPolicies/'), ); - pathOffset += 12; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + pathOffset += 18; + index = path.indexOf('/patchRule', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_operation'), + unittest.equals('$arg_firewallPolicy'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/patchRule'), ); + pathOffset += 10; final query = req.url.query; var queryOffset = 0; @@ -116500,6 +117391,14 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['priority']!.first), + unittest.equals(arg_priority), + ); + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -116511,21 +117410,22 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_project, arg_region, arg_operation, + final response = await res.patchRule( + arg_request, arg_project, arg_region, arg_firewallPolicy, + priority: arg_priority, + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--list', () async { + unittest.test('method--removeAssociation', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionOperations; + final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_firewallPolicy = 'foo'; + final arg_name = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -116561,7 +117461,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/operations', pathOffset); + index = path.indexOf('/firewallPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -116571,10 +117471,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('/operations'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/firewallPolicies/'), ); - pathOffset += 11; + pathOffset += 18; + index = path.indexOf('/removeAssociation', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_firewallPolicy'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/removeAssociation'), + ); + pathOffset += 18; final query = req.url.query; var queryOffset = 0; @@ -116592,24 +117506,12 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), + queryMap['name']!.first, + unittest.equals(arg_name), ); unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -116619,25 +117521,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperationList()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_region, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkOperationList(response as api.OperationList); + final response = await res.removeAssociation( + arg_project, arg_region, arg_firewallPolicy, + name: arg_name, requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--wait', () async { + unittest.test('method--removeRule', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionOperations; + final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_operation = 'foo'; + final arg_firewallPolicy = 'foo'; + final arg_priority = 42; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -116673,7 +117573,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/operations/', pathOffset); + index = path.indexOf('/firewallPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -116683,24 +117583,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 12), - unittest.equals('/operations/'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/firewallPolicies/'), ); - pathOffset += 12; - index = path.indexOf('/wait', pathOffset); + pathOffset += 18; + index = path.indexOf('/removeRule', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_operation'), + unittest.equals('$arg_firewallPolicy'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 5), - unittest.equals('/wait'), + path.substring(pathOffset, pathOffset + 11), + unittest.equals('/removeRule'), ); - pathOffset += 5; + pathOffset += 11; final query = req.url.query; var queryOffset = 0; @@ -116717,6 +117617,14 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['priority']!.first), + unittest.equals(arg_priority), + ); + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -116728,26 +117636,26 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.wait(arg_project, arg_region, arg_operation, + final response = await res.removeRule( + arg_project, arg_region, arg_firewallPolicy, + priority: arg_priority, + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - }); - unittest.group('resource-RegionSecurityPoliciesResource', () { - unittest.test('method--addRule', () async { + unittest.test('method--setIamPolicy', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionSecurityPolicies; - final arg_request = buildSecurityPolicyRule(); + final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; + final arg_request = buildRegionSetPolicyRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_securityPolicy = 'foo'; - final arg_validateOnly = true; + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.SecurityPolicyRule.fromJson( + final obj = api.RegionSetPolicyRequest.fromJson( json as core.Map); - checkSecurityPolicyRule(obj); + checkRegionSetPolicyRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -116782,7 +117690,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/securityPolicies/', pathOffset); + index = path.indexOf('/firewallPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -116793,23 +117701,23 @@ void main() { ); unittest.expect( path.substring(pathOffset, pathOffset + 18), - unittest.equals('/securityPolicies/'), + unittest.equals('/firewallPolicies/'), ); pathOffset += 18; - index = path.indexOf('/addRule', pathOffset); + index = path.indexOf('/setIamPolicy', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_securityPolicy'), + unittest.equals('$arg_resource'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 8), - unittest.equals('/addRule'), + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/setIamPolicy'), ); - pathOffset += 8; + pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -116826,10 +117734,6 @@ void main() { ); } } - unittest.expect( - queryMap['validateOnly']!.first, - unittest.equals('$arg_validateOnly'), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -116838,24 +117742,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.addRule( - arg_request, arg_project, arg_region, arg_securityPolicy, - validateOnly: arg_validateOnly, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.setIamPolicy( + arg_request, arg_project, arg_region, arg_resource, + $fields: arg_$fields); + checkPolicy(response as api.Policy); }); - unittest.test('method--delete', () async { + unittest.test('method--testIamPermissions', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionSecurityPolicies; + final res = api.ComputeApi(mock).regionNetworkFirewallPolicies; + final arg_request = buildTestPermissionsRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_securityPolicy = 'foo'; - final arg_requestId = 'foo'; + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.TestPermissionsRequest.fromJson( + json as core.Map); + checkTestPermissionsRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -116889,7 +117797,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/securityPolicies/', pathOffset); + index = path.indexOf('/firewallPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -116900,15 +117808,23 @@ void main() { ); unittest.expect( path.substring(pathOffset, pathOffset + 18), - unittest.equals('/securityPolicies/'), + unittest.equals('/firewallPolicies/'), ); pathOffset += 18; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + index = path.indexOf('/testIamPermissions', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_securityPolicy'), + unittest.equals('$arg_resource'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/testIamPermissions'), ); + pathOffset += 19; final query = req.url.query; var queryOffset = 0; @@ -116925,10 +117841,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -116937,21 +117849,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildTestPermissionsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete( - arg_project, arg_region, arg_securityPolicy, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.testIamPermissions( + arg_request, arg_project, arg_region, arg_resource, + $fields: arg_$fields); + checkTestPermissionsResponse(response as api.TestPermissionsResponse); }); + }); - unittest.test('method--get', () async { + unittest.group('resource-RegionNotificationEndpointsResource', () { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionSecurityPolicies; + final res = api.ComputeApi(mock).regionNotificationEndpoints; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_securityPolicy = 'foo'; + final arg_notificationEndpoint = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -116987,7 +117902,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/securityPolicies/', pathOffset); + index = path.indexOf('/notificationEndpoints/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -116997,15 +117912,15 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/securityPolicies/'), + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/notificationEndpoints/'), ); - pathOffset += 18; + pathOffset += 23; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_securityPolicy'), + unittest.equals('$arg_notificationEndpoint'), ); final query = req.url.query; @@ -117023,6 +117938,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -117031,22 +117950,21 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildSecurityPolicy()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get( - arg_project, arg_region, arg_securityPolicy, - $fields: arg_$fields); - checkSecurityPolicy(response as api.SecurityPolicy); + final response = await res.delete( + arg_project, arg_region, arg_notificationEndpoint, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--getRule', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionSecurityPolicies; + final res = api.ComputeApi(mock).regionNotificationEndpoints; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_securityPolicy = 'foo'; - final arg_priority = 42; + final arg_notificationEndpoint = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -117082,7 +118000,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/securityPolicies/', pathOffset); + index = path.indexOf('/notificationEndpoints/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -117092,24 +118010,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/securityPolicies/'), + path.substring(pathOffset, pathOffset + 23), + unittest.equals('/notificationEndpoints/'), ); - pathOffset += 18; - index = path.indexOf('/getRule', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + pathOffset += 23; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_securityPolicy'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 8), - unittest.equals('/getRule'), + unittest.equals('$arg_notificationEndpoint'), ); - pathOffset += 8; final query = req.url.query; var queryOffset = 0; @@ -117126,10 +118036,6 @@ void main() { ); } } - unittest.expect( - core.int.parse(queryMap['priority']!.first), - unittest.equals(arg_priority), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -117138,28 +118044,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildSecurityPolicyRule()); + final resp = convert.json.encode(buildNotificationEndpoint()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getRule( - arg_project, arg_region, arg_securityPolicy, - priority: arg_priority, $fields: arg_$fields); - checkSecurityPolicyRule(response as api.SecurityPolicyRule); + final response = await res.get( + arg_project, arg_region, arg_notificationEndpoint, + $fields: arg_$fields); + checkNotificationEndpoint(response as api.NotificationEndpoint); }); unittest.test('method--insert', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionSecurityPolicies; - final arg_request = buildSecurityPolicy(); + final res = api.ComputeApi(mock).regionNotificationEndpoints; + final arg_request = buildNotificationEndpoint(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_requestId = 'foo'; - final arg_validateOnly = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.SecurityPolicy.fromJson( + final obj = api.NotificationEndpoint.fromJson( json as core.Map); - checkSecurityPolicy(obj); + checkNotificationEndpoint(obj); final path = req.url.path; var pathOffset = 0; @@ -117194,7 +118099,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/securityPolicies', pathOffset); + index = path.indexOf('/notificationEndpoints', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -117204,10 +118109,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/securityPolicies'), + path.substring(pathOffset, pathOffset + 22), + unittest.equals('/notificationEndpoints'), ); - pathOffset += 17; + pathOffset += 22; final query = req.url.query; var queryOffset = 0; @@ -117228,10 +118133,6 @@ void main() { queryMap['requestId']!.first, unittest.equals(arg_requestId), ); - unittest.expect( - queryMap['validateOnly']!.first, - unittest.equals('$arg_validateOnly'), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -117244,15 +118145,13 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.insert(arg_request, arg_project, arg_region, - requestId: arg_requestId, - validateOnly: arg_validateOnly, - $fields: arg_$fields); + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionSecurityPolicies; + final res = api.ComputeApi(mock).regionNotificationEndpoints; final arg_project = 'foo'; final arg_region = 'foo'; final arg_filter = 'foo'; @@ -117295,7 +118194,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/securityPolicies', pathOffset); + index = path.indexOf('/notificationEndpoints', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -117305,10 +118204,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/securityPolicies'), + path.substring(pathOffset, pathOffset + 22), + unittest.equals('/notificationEndpoints'), ); - pathOffset += 17; + pathOffset += 22; final query = req.url.query; var queryOffset = 0; @@ -117353,7 +118252,7 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildSecurityPolicyList()); + final resp = convert.json.encode(buildNotificationEndpointList()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.list(arg_project, arg_region, @@ -117363,24 +118262,19 @@ void main() { pageToken: arg_pageToken, returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkSecurityPolicyList(response as api.SecurityPolicyList); + checkNotificationEndpointList(response as api.NotificationEndpointList); }); + }); - unittest.test('method--patch', () async { + unittest.group('resource-RegionOperationsResource', () { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionSecurityPolicies; - final arg_request = buildSecurityPolicy(); + final res = api.ComputeApi(mock).regionOperations; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_securityPolicy = 'foo'; - final arg_requestId = 'foo'; - final arg_updateMask = 'foo'; + final arg_operation = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.SecurityPolicy.fromJson( - json as core.Map); - checkSecurityPolicy(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -117414,7 +118308,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/securityPolicies/', pathOffset); + index = path.indexOf('/operations/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -117424,15 +118318,15 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/securityPolicies/'), + path.substring(pathOffset, pathOffset + 12), + unittest.equals('/operations/'), ); - pathOffset += 18; + pathOffset += 12; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_securityPolicy'), + unittest.equals('$arg_operation'), ); final query = req.url.query; @@ -117450,14 +118344,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); - unittest.expect( - queryMap['updateMask']!.first, - unittest.equals(arg_updateMask), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -117466,33 +118352,21 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = ''; return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch( - arg_request, arg_project, arg_region, arg_securityPolicy, - requestId: arg_requestId, - updateMask: arg_updateMask, + await res.delete(arg_project, arg_region, arg_operation, $fields: arg_$fields); - checkOperation(response as api.Operation); }); - unittest.test('method--patchRule', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionSecurityPolicies; - final arg_request = buildSecurityPolicyRule(); + final res = api.ComputeApi(mock).regionOperations; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_securityPolicy = 'foo'; - final arg_priority = 42; - final arg_updateMask = 'foo'; - final arg_validateOnly = true; + final arg_operation = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.SecurityPolicyRule.fromJson( - json as core.Map); - checkSecurityPolicyRule(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -117526,7 +118400,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/securityPolicies/', pathOffset); + index = path.indexOf('/operations/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -117536,24 +118410,107 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/securityPolicies/'), + path.substring(pathOffset, pathOffset + 12), + unittest.equals('/operations/'), ); - pathOffset += 18; - index = path.indexOf('/patchRule', pathOffset); + pathOffset += 12; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_operation'), + ); + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_project, arg_region, arg_operation, + $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.ComputeApi(mock).regionOperations; + final arg_project = 'foo'; + final arg_region = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('compute/v1/'), + ); + pathOffset += 11; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + index = path.indexOf('/regions/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_securityPolicy'), + unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 10), - unittest.equals('/patchRule'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), ); - pathOffset += 10; + pathOffset += 9; + index = path.indexOf('/operations', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_region'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('/operations'), + ); + pathOffset += 11; final query = req.url.query; var queryOffset = 0; @@ -117571,16 +118528,24 @@ void main() { } } unittest.expect( - core.int.parse(queryMap['priority']!.first), - unittest.equals(arg_priority), + queryMap['filter']!.first, + unittest.equals(arg_filter), ); unittest.expect( - queryMap['updateMask']!.first, - unittest.equals(arg_updateMask), + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), ); unittest.expect( - queryMap['validateOnly']!.first, - unittest.equals('$arg_validateOnly'), + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), ); unittest.expect( queryMap['fields']!.first, @@ -117590,25 +118555,25 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildOperationList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patchRule( - arg_request, arg_project, arg_region, arg_securityPolicy, - priority: arg_priority, - updateMask: arg_updateMask, - validateOnly: arg_validateOnly, + final response = await res.list(arg_project, arg_region, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkOperation(response as api.Operation); + checkOperationList(response as api.OperationList); }); - unittest.test('method--removeRule', () async { + unittest.test('method--wait', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionSecurityPolicies; + final res = api.ComputeApi(mock).regionOperations; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_securityPolicy = 'foo'; - final arg_priority = 42; + final arg_operation = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -117644,7 +118609,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/securityPolicies/', pathOffset); + index = path.indexOf('/operations/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -117654,24 +118619,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/securityPolicies/'), + path.substring(pathOffset, pathOffset + 12), + unittest.equals('/operations/'), ); - pathOffset += 18; - index = path.indexOf('/removeRule', pathOffset); + pathOffset += 12; + index = path.indexOf('/wait', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_securityPolicy'), + unittest.equals('$arg_operation'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('/removeRule'), + path.substring(pathOffset, pathOffset + 5), + unittest.equals('/wait'), ); - pathOffset += 11; + pathOffset += 5; final query = req.url.query; var queryOffset = 0; @@ -117688,10 +118653,6 @@ void main() { ); } } - unittest.expect( - core.int.parse(queryMap['priority']!.first), - unittest.equals(arg_priority), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -117703,25 +118664,26 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.removeRule( - arg_project, arg_region, arg_securityPolicy, - priority: arg_priority, $fields: arg_$fields); + final response = await res.wait(arg_project, arg_region, arg_operation, + $fields: arg_$fields); checkOperation(response as api.Operation); }); + }); - unittest.test('method--setLabels', () async { + unittest.group('resource-RegionSecurityPoliciesResource', () { + unittest.test('method--addRule', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).regionSecurityPolicies; - final arg_request = buildRegionSetLabelsRequest(); + final arg_request = buildSecurityPolicyRule(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_resource = 'foo'; - final arg_requestId = 'foo'; + final arg_securityPolicy = 'foo'; + final arg_validateOnly = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.RegionSetLabelsRequest.fromJson( + final obj = api.SecurityPolicyRule.fromJson( json as core.Map); - checkRegionSetLabelsRequest(obj); + checkSecurityPolicyRule(obj); final path = req.url.path; var pathOffset = 0; @@ -117770,20 +118732,20 @@ void main() { unittest.equals('/securityPolicies/'), ); pathOffset += 18; - index = path.indexOf('/setLabels', pathOffset); + index = path.indexOf('/addRule', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_resource'), + unittest.equals('$arg_securityPolicy'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 10), - unittest.equals('/setLabels'), + path.substring(pathOffset, pathOffset + 8), + unittest.equals('/addRule'), ); - pathOffset += 10; + pathOffset += 8; final query = req.url.query; var queryOffset = 0; @@ -117801,8 +118763,8 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + queryMap['validateOnly']!.first, + unittest.equals('$arg_validateOnly'), ); unittest.expect( queryMap['fields']!.first, @@ -117815,20 +118777,18 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setLabels( - arg_request, arg_project, arg_region, arg_resource, - requestId: arg_requestId, $fields: arg_$fields); + final response = await res.addRule( + arg_request, arg_project, arg_region, arg_securityPolicy, + validateOnly: arg_validateOnly, $fields: arg_$fields); checkOperation(response as api.Operation); }); - }); - unittest.group('resource-RegionSslCertificatesResource', () { unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionSslCertificates; + final res = api.ComputeApi(mock).regionSecurityPolicies; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_sslCertificate = 'foo'; + final arg_securityPolicy = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -117865,7 +118825,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/sslCertificates/', pathOffset); + index = path.indexOf('/securityPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -117875,15 +118835,15 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/sslCertificates/'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/securityPolicies/'), ); - pathOffset += 17; + pathOffset += 18; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_sslCertificate'), + unittest.equals('$arg_securityPolicy'), ); final query = req.url.query; @@ -117917,17 +118877,17 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.delete( - arg_project, arg_region, arg_sslCertificate, + arg_project, arg_region, arg_securityPolicy, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionSslCertificates; + final res = api.ComputeApi(mock).regionSecurityPolicies; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_sslCertificate = 'foo'; + final arg_securityPolicy = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -117963,7 +118923,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/sslCertificates/', pathOffset); + index = path.indexOf('/securityPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -117973,15 +118933,15 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/sslCertificates/'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/securityPolicies/'), ); - pathOffset += 17; + pathOffset += 18; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_sslCertificate'), + unittest.equals('$arg_securityPolicy'), ); final query = req.url.query; @@ -118007,28 +118967,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildSslCertificate()); + final resp = convert.json.encode(buildSecurityPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.get( - arg_project, arg_region, arg_sslCertificate, + arg_project, arg_region, arg_securityPolicy, $fields: arg_$fields); - checkSslCertificate(response as api.SslCertificate); + checkSecurityPolicy(response as api.SecurityPolicy); }); - unittest.test('method--insert', () async { + unittest.test('method--getRule', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionSslCertificates; - final arg_request = buildSslCertificate(); + final res = api.ComputeApi(mock).regionSecurityPolicies; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_requestId = 'foo'; + final arg_securityPolicy = 'foo'; + final arg_priority = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.SslCertificate.fromJson( - json as core.Map); - checkSslCertificate(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -118062,7 +119018,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/sslCertificates', pathOffset); + index = path.indexOf('/securityPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -118072,10 +119028,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 16), - unittest.equals('/sslCertificates'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/securityPolicies/'), ); - pathOffset += 16; + pathOffset += 18; + index = path.indexOf('/getRule', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_securityPolicy'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 8), + unittest.equals('/getRule'), + ); + pathOffset += 8; final query = req.url.query; var queryOffset = 0; @@ -118093,8 +119063,8 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + core.int.parse(queryMap['priority']!.first), + unittest.equals(arg_priority), ); unittest.expect( queryMap['fields']!.first, @@ -118104,26 +119074,29 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildSecurityPolicyRule()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.insert(arg_request, arg_project, arg_region, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.getRule( + arg_project, arg_region, arg_securityPolicy, + priority: arg_priority, $fields: arg_$fields); + checkSecurityPolicyRule(response as api.SecurityPolicyRule); }); - unittest.test('method--list', () async { + unittest.test('method--insert', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionSslCertificates; + final res = api.ComputeApi(mock).regionSecurityPolicies; + final arg_request = buildSecurityPolicy(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_requestId = 'foo'; + final arg_validateOnly = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.SecurityPolicy.fromJson( + json as core.Map); + checkSecurityPolicy(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -118157,7 +119130,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/sslCertificates', pathOffset); + index = path.indexOf('/securityPolicies', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -118167,10 +119140,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 16), - unittest.equals('/sslCertificates'), + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/securityPolicies'), ); - pathOffset += 16; + pathOffset += 17; final query = req.url.query; var queryOffset = 0; @@ -118188,24 +119161,12 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['validateOnly']!.first, + unittest.equals('$arg_validateOnly'), ); unittest.expect( queryMap['fields']!.first, @@ -118215,28 +119176,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildSslCertificateList()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_region, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, + final response = await res.insert(arg_request, arg_project, arg_region, + requestId: arg_requestId, + validateOnly: arg_validateOnly, $fields: arg_$fields); - checkSslCertificateList(response as api.SslCertificateList); + checkOperation(response as api.Operation); }); - }); - unittest.group('resource-RegionSslPoliciesResource', () { - unittest.test('method--delete', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionSslPolicies; + final res = api.ComputeApi(mock).regionSecurityPolicies; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_sslPolicy = 'foo'; - final arg_requestId = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -118272,7 +119231,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/sslPolicies/', pathOffset); + index = path.indexOf('/securityPolicies', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -118282,16 +119241,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/sslPolicies/'), - ); - pathOffset += 13; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_sslPolicy'), + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/securityPolicies'), ); + pathOffset += 17; final query = req.url.query; var queryOffset = 0; @@ -118309,8 +119262,24 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), ); unittest.expect( queryMap['fields']!.first, @@ -118320,22 +119289,34 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildSecurityPolicyList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_project, arg_region, arg_sslPolicy, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.list(arg_project, arg_region, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkSecurityPolicyList(response as api.SecurityPolicyList); }); - unittest.test('method--get', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionSslPolicies; + final res = api.ComputeApi(mock).regionSecurityPolicies; + final arg_request = buildSecurityPolicy(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_sslPolicy = 'foo'; + final arg_securityPolicy = 'foo'; + final arg_requestId = 'foo'; + final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.SecurityPolicy.fromJson( + json as core.Map); + checkSecurityPolicy(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -118369,7 +119350,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/sslPolicies/', pathOffset); + index = path.indexOf('/securityPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -118379,15 +119360,15 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/sslPolicies/'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/securityPolicies/'), ); - pathOffset += 13; + pathOffset += 18; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_sslPolicy'), + unittest.equals('$arg_securityPolicy'), ); final query = req.url.query; @@ -118405,6 +119386,14 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -118413,26 +119402,32 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildSslPolicy()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_project, arg_region, arg_sslPolicy, + final response = await res.patch( + arg_request, arg_project, arg_region, arg_securityPolicy, + requestId: arg_requestId, + updateMask: arg_updateMask, $fields: arg_$fields); - checkSslPolicy(response as api.SslPolicy); + checkOperation(response as api.Operation); }); - unittest.test('method--insert', () async { + unittest.test('method--patchRule', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionSslPolicies; - final arg_request = buildSslPolicy(); + final res = api.ComputeApi(mock).regionSecurityPolicies; + final arg_request = buildSecurityPolicyRule(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_requestId = 'foo'; + final arg_securityPolicy = 'foo'; + final arg_priority = 42; + final arg_updateMask = 'foo'; + final arg_validateOnly = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.SslPolicy.fromJson(json as core.Map); - checkSslPolicy(obj); + final obj = api.SecurityPolicyRule.fromJson( + json as core.Map); + checkSecurityPolicyRule(obj); final path = req.url.path; var pathOffset = 0; @@ -118467,7 +119462,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/sslPolicies', pathOffset); + index = path.indexOf('/securityPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -118477,10 +119472,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 12), - unittest.equals('/sslPolicies'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/securityPolicies/'), ); - pathOffset += 12; + pathOffset += 18; + index = path.indexOf('/patchRule', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_securityPolicy'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/patchRule'), + ); + pathOffset += 10; final query = req.url.query; var queryOffset = 0; @@ -118498,8 +119507,16 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + core.int.parse(queryMap['priority']!.first), + unittest.equals(arg_priority), + ); + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['validateOnly']!.first, + unittest.equals('$arg_validateOnly'), ); unittest.expect( queryMap['fields']!.first, @@ -118512,21 +119529,22 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.insert(arg_request, arg_project, arg_region, - requestId: arg_requestId, $fields: arg_$fields); + final response = await res.patchRule( + arg_request, arg_project, arg_region, arg_securityPolicy, + priority: arg_priority, + updateMask: arg_updateMask, + validateOnly: arg_validateOnly, + $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--list', () async { + unittest.test('method--removeRule', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionSslPolicies; + final res = api.ComputeApi(mock).regionSecurityPolicies; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_securityPolicy = 'foo'; + final arg_priority = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -118562,7 +119580,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/sslPolicies', pathOffset); + index = path.indexOf('/securityPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -118572,10 +119590,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 12), - unittest.equals('/sslPolicies'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/securityPolicies/'), ); - pathOffset += 12; + pathOffset += 18; + index = path.indexOf('/removeRule', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_securityPolicy'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('/removeRule'), + ); + pathOffset += 11; final query = req.url.query; var queryOffset = 0; @@ -118593,24 +119625,8 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + core.int.parse(queryMap['priority']!.first), + unittest.equals(arg_priority), ); unittest.expect( queryMap['fields']!.first, @@ -118620,31 +119636,29 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildSslPoliciesList()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_region, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkSslPoliciesList(response as api.SslPoliciesList); + final response = await res.removeRule( + arg_project, arg_region, arg_securityPolicy, + priority: arg_priority, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--listAvailableFeatures', () async { + unittest.test('method--setLabels', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionSslPolicies; + final res = api.ComputeApi(mock).regionSecurityPolicies; + final arg_request = buildRegionSetLabelsRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_resource = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.RegionSetLabelsRequest.fromJson( + json as core.Map); + checkRegionSetLabelsRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -118678,7 +119692,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/sslPolicies/listAvailableFeatures', pathOffset); + index = path.indexOf('/securityPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -118688,10 +119702,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 34), - unittest.equals('/sslPolicies/listAvailableFeatures'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/securityPolicies/'), ); - pathOffset += 34; + pathOffset += 18; + index = path.indexOf('/setLabels', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_resource'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/setLabels'), + ); + pathOffset += 10; final query = req.url.query; var queryOffset = 0; @@ -118709,24 +119737,8 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -118736,35 +119748,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json - .encode(buildSslPoliciesListAvailableFeaturesResponse()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.listAvailableFeatures(arg_project, arg_region, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkSslPoliciesListAvailableFeaturesResponse( - response as api.SslPoliciesListAvailableFeaturesResponse); + final response = await res.setLabels( + arg_request, arg_project, arg_region, arg_resource, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); + }); - unittest.test('method--patch', () async { + unittest.group('resource-RegionSslCertificatesResource', () { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionSslPolicies; - final arg_request = buildSslPolicy(); + final res = api.ComputeApi(mock).regionSslCertificates; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_sslPolicy = 'foo'; + final arg_sslCertificate = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.SslPolicy.fromJson(json as core.Map); - checkSslPolicy(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -118798,7 +119801,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/sslPolicies/', pathOffset); + index = path.indexOf('/sslCertificates/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -118808,15 +119811,15 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/sslPolicies/'), + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/sslCertificates/'), ); - pathOffset += 13; + pathOffset += 17; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_sslPolicy'), + unittest.equals('$arg_sslCertificate'), ); final query = req.url.query; @@ -118849,21 +119852,18 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch( - arg_request, arg_project, arg_region, arg_sslPolicy, + final response = await res.delete( + arg_project, arg_region, arg_sslCertificate, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - }); - unittest.group('resource-RegionTargetHttpProxiesResource', () { - unittest.test('method--delete', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionTargetHttpProxies; + final res = api.ComputeApi(mock).regionSslCertificates; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_targetHttpProxy = 'foo'; - final arg_requestId = 'foo'; + final arg_sslCertificate = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -118899,7 +119899,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/targetHttpProxies/', pathOffset); + index = path.indexOf('/sslCertificates/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -118909,15 +119909,15 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 19), - unittest.equals('/targetHttpProxies/'), + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/sslCertificates/'), ); - pathOffset += 19; + pathOffset += 17; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_targetHttpProxy'), + unittest.equals('$arg_sslCertificate'), ); final query = req.url.query; @@ -118935,10 +119935,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -118947,23 +119943,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildSslCertificate()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete( - arg_project, arg_region, arg_targetHttpProxy, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.get( + arg_project, arg_region, arg_sslCertificate, + $fields: arg_$fields); + checkSslCertificate(response as api.SslCertificate); }); - unittest.test('method--get', () async { + unittest.test('method--insert', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionTargetHttpProxies; + final res = api.ComputeApi(mock).regionSslCertificates; + final arg_request = buildSslCertificate(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_targetHttpProxy = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.SslCertificate.fromJson( + json as core.Map); + checkSslCertificate(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -118997,7 +119998,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/targetHttpProxies/', pathOffset); + index = path.indexOf('/sslCertificates', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -119007,16 +120008,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 19), - unittest.equals('/targetHttpProxies/'), - ); - pathOffset += 19; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_targetHttpProxy'), + path.substring(pathOffset, pathOffset + 16), + unittest.equals('/sslCertificates'), ); + pathOffset += 16; final query = req.url.query; var queryOffset = 0; @@ -119033,6 +120028,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -119041,28 +120040,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildTargetHttpProxy()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get( - arg_project, arg_region, arg_targetHttpProxy, - $fields: arg_$fields); - checkTargetHttpProxy(response as api.TargetHttpProxy); + final response = await res.insert(arg_request, arg_project, arg_region, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--insert', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionTargetHttpProxies; - final arg_request = buildTargetHttpProxy(); + final res = api.ComputeApi(mock).regionSslCertificates; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_requestId = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.TargetHttpProxy.fromJson( - json as core.Map); - checkTargetHttpProxy(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -119096,102 +120093,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/targetHttpProxies', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_region'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/targetHttpProxies'), - ); - pathOffset += 18; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildOperation()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.insert(arg_request, arg_project, arg_region, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); - }); - - unittest.test('method--list', () async { - final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionTargetHttpProxies; - final arg_project = 'foo'; - final arg_region = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('compute/v1/'), - ); - pathOffset += 11; - unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('projects/'), - ); - pathOffset += 9; - index = path.indexOf('/regions/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_project'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/regions/'), - ); - pathOffset += 9; - index = path.indexOf('/targetHttpProxies', pathOffset); + index = path.indexOf('/sslCertificates', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -119201,10 +120103,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/targetHttpProxies'), + path.substring(pathOffset, pathOffset + 16), + unittest.equals('/sslCertificates'), ); - pathOffset += 18; + pathOffset += 16; final query = req.url.query; var queryOffset = 0; @@ -119249,7 +120151,7 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildTargetHttpProxyList()); + final resp = convert.json.encode(buildSslCertificateList()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.list(arg_project, arg_region, @@ -119259,23 +120161,20 @@ void main() { pageToken: arg_pageToken, returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkTargetHttpProxyList(response as api.TargetHttpProxyList); + checkSslCertificateList(response as api.SslCertificateList); }); + }); - unittest.test('method--setUrlMap', () async { + unittest.group('resource-RegionSslPoliciesResource', () { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionTargetHttpProxies; - final arg_request = buildUrlMapReference(); + final res = api.ComputeApi(mock).regionSslPolicies; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_targetHttpProxy = 'foo'; + final arg_sslPolicy = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.UrlMapReference.fromJson( - json as core.Map); - checkUrlMapReference(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -119309,7 +120208,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/targetHttpProxies/', pathOffset); + index = path.indexOf('/sslPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -119319,24 +120218,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 19), - unittest.equals('/targetHttpProxies/'), + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/sslPolicies/'), ); - pathOffset += 19; - index = path.indexOf('/setUrlMap', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + pathOffset += 13; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_targetHttpProxy'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 10), - unittest.equals('/setUrlMap'), + unittest.equals('$arg_sslPolicy'), ); - pathOffset += 10; final query = req.url.query; var queryOffset = 0; @@ -119368,21 +120259,17 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setUrlMap( - arg_request, arg_project, arg_region, arg_targetHttpProxy, + final response = await res.delete(arg_project, arg_region, arg_sslPolicy, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - }); - unittest.group('resource-RegionTargetHttpsProxiesResource', () { - unittest.test('method--delete', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionTargetHttpsProxies; + final res = api.ComputeApi(mock).regionSslPolicies; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_targetHttpsProxy = 'foo'; - final arg_requestId = 'foo'; + final arg_sslPolicy = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -119418,7 +120305,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/targetHttpsProxies/', pathOffset); + index = path.indexOf('/sslPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -119428,15 +120315,15 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 20), - unittest.equals('/targetHttpsProxies/'), + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/sslPolicies/'), ); - pathOffset += 20; + pathOffset += 13; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_targetHttpsProxy'), + unittest.equals('$arg_sslPolicy'), ); final query = req.url.query; @@ -119454,10 +120341,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -119466,23 +120349,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildSslPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete( - arg_project, arg_region, arg_targetHttpsProxy, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.get(arg_project, arg_region, arg_sslPolicy, + $fields: arg_$fields); + checkSslPolicy(response as api.SslPolicy); }); - unittest.test('method--get', () async { + unittest.test('method--insert', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionTargetHttpsProxies; + final res = api.ComputeApi(mock).regionSslPolicies; + final arg_request = buildSslPolicy(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_targetHttpsProxy = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.SslPolicy.fromJson(json as core.Map); + checkSslPolicy(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -119516,7 +120403,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/targetHttpsProxies/', pathOffset); + index = path.indexOf('/sslPolicies', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -119526,16 +120413,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 20), - unittest.equals('/targetHttpsProxies/'), - ); - pathOffset += 20; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_targetHttpsProxy'), + path.substring(pathOffset, pathOffset + 12), + unittest.equals('/sslPolicies'), ); + pathOffset += 12; final query = req.url.query; var queryOffset = 0; @@ -119552,6 +120433,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -119560,28 +120445,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildTargetHttpsProxy()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get( - arg_project, arg_region, arg_targetHttpsProxy, - $fields: arg_$fields); - checkTargetHttpsProxy(response as api.TargetHttpsProxy); + final response = await res.insert(arg_request, arg_project, arg_region, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--insert', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionTargetHttpsProxies; - final arg_request = buildTargetHttpsProxy(); + final res = api.ComputeApi(mock).regionSslPolicies; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_requestId = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.TargetHttpsProxy.fromJson( - json as core.Map); - checkTargetHttpsProxy(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -119615,7 +120498,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/targetHttpsProxies', pathOffset); + index = path.indexOf('/sslPolicies', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -119625,10 +120508,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 19), - unittest.equals('/targetHttpsProxies'), + path.substring(pathOffset, pathOffset + 12), + unittest.equals('/sslPolicies'), ); - pathOffset += 19; + pathOffset += 12; final query = req.url.query; var queryOffset = 0; @@ -119646,8 +120529,24 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), ); unittest.expect( queryMap['fields']!.first, @@ -119657,17 +120556,22 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildSslPoliciesList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.insert(arg_request, arg_project, arg_region, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.list(arg_project, arg_region, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkSslPoliciesList(response as api.SslPoliciesList); }); - unittest.test('method--list', () async { + unittest.test('method--listAvailableFeatures', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionTargetHttpsProxies; + final res = api.ComputeApi(mock).regionSslPolicies; final arg_project = 'foo'; final arg_region = 'foo'; final arg_filter = 'foo'; @@ -119710,7 +120614,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/targetHttpsProxies', pathOffset); + index = path.indexOf('/sslPolicies/listAvailableFeatures', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -119720,10 +120624,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 19), - unittest.equals('/targetHttpsProxies'), + path.substring(pathOffset, pathOffset + 34), + unittest.equals('/sslPolicies/listAvailableFeatures'), ); - pathOffset += 19; + pathOffset += 34; final query = req.url.query; var queryOffset = 0; @@ -119768,32 +120672,34 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildTargetHttpsProxyList()); + final resp = convert.json + .encode(buildSslPoliciesListAvailableFeaturesResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_region, + final response = await res.listAvailableFeatures(arg_project, arg_region, filter: arg_filter, maxResults: arg_maxResults, orderBy: arg_orderBy, pageToken: arg_pageToken, returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkTargetHttpsProxyList(response as api.TargetHttpsProxyList); + checkSslPoliciesListAvailableFeaturesResponse( + response as api.SslPoliciesListAvailableFeaturesResponse); }); unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionTargetHttpsProxies; - final arg_request = buildTargetHttpsProxy(); + final res = api.ComputeApi(mock).regionSslPolicies; + final arg_request = buildSslPolicy(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_targetHttpsProxy = 'foo'; + final arg_sslPolicy = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.TargetHttpsProxy.fromJson( - json as core.Map); - checkTargetHttpsProxy(obj); + final obj = + api.SslPolicy.fromJson(json as core.Map); + checkSslPolicy(obj); final path = req.url.path; var pathOffset = 0; @@ -119828,7 +120734,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/targetHttpsProxies/', pathOffset); + index = path.indexOf('/sslPolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -119838,15 +120744,15 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 20), - unittest.equals('/targetHttpsProxies/'), + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/sslPolicies/'), ); - pathOffset += 20; + pathOffset += 13; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_targetHttpsProxy'), + unittest.equals('$arg_sslPolicy'), ); final query = req.url.query; @@ -119880,27 +120786,22 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.patch( - arg_request, arg_project, arg_region, arg_targetHttpsProxy, + arg_request, arg_project, arg_region, arg_sslPolicy, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); + }); - unittest.test('method--setSslCertificates', () async { + unittest.group('resource-RegionTargetHttpProxiesResource', () { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionTargetHttpsProxies; - final arg_request = - buildRegionTargetHttpsProxiesSetSslCertificatesRequest(); + final res = api.ComputeApi(mock).regionTargetHttpProxies; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_targetHttpsProxy = 'foo'; + final arg_targetHttpProxy = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.RegionTargetHttpsProxiesSetSslCertificatesRequest.fromJson( - json as core.Map); - checkRegionTargetHttpsProxiesSetSslCertificatesRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -119934,7 +120835,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/targetHttpsProxies/', pathOffset); + index = path.indexOf('/targetHttpProxies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -119944,24 +120845,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 20), - unittest.equals('/targetHttpsProxies/'), + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/targetHttpProxies/'), ); - pathOffset += 20; - index = path.indexOf('/setSslCertificates', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + pathOffset += 19; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_targetHttpsProxy'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 19), - unittest.equals('/setSslCertificates'), + unittest.equals('$arg_targetHttpProxy'), ); - pathOffset += 19; final query = req.url.query; var queryOffset = 0; @@ -119993,26 +120886,20 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setSslCertificates( - arg_request, arg_project, arg_region, arg_targetHttpsProxy, + final response = await res.delete( + arg_project, arg_region, arg_targetHttpProxy, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--setUrlMap', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionTargetHttpsProxies; - final arg_request = buildUrlMapReference(); + final res = api.ComputeApi(mock).regionTargetHttpProxies; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_targetHttpsProxy = 'foo'; - final arg_requestId = 'foo'; + final arg_targetHttpProxy = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.UrlMapReference.fromJson( - json as core.Map); - checkUrlMapReference(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -120046,7 +120933,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/targetHttpsProxies/', pathOffset); + index = path.indexOf('/targetHttpProxies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -120056,24 +120943,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 20), - unittest.equals('/targetHttpsProxies/'), + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/targetHttpProxies/'), ); - pathOffset += 20; - index = path.indexOf('/setUrlMap', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + pathOffset += 19; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_targetHttpsProxy'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 10), - unittest.equals('/setUrlMap'), + unittest.equals('$arg_targetHttpProxy'), ); - pathOffset += 10; final query = req.url.query; var queryOffset = 0; @@ -120090,10 +120969,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -120102,26 +120977,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildTargetHttpProxy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setUrlMap( - arg_request, arg_project, arg_region, arg_targetHttpsProxy, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.get( + arg_project, arg_region, arg_targetHttpProxy, + $fields: arg_$fields); + checkTargetHttpProxy(response as api.TargetHttpProxy); }); - }); - unittest.group('resource-RegionTargetTcpProxiesResource', () { - unittest.test('method--delete', () async { + unittest.test('method--insert', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionTargetTcpProxies; + final res = api.ComputeApi(mock).regionTargetHttpProxies; + final arg_request = buildTargetHttpProxy(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_targetTcpProxy = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.TargetHttpProxy.fromJson( + json as core.Map); + checkTargetHttpProxy(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -120155,7 +121032,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/targetTcpProxies/', pathOffset); + index = path.indexOf('/targetHttpProxies', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -120166,15 +121043,9 @@ void main() { ); unittest.expect( path.substring(pathOffset, pathOffset + 18), - unittest.equals('/targetTcpProxies/'), + unittest.equals('/targetHttpProxies'), ); pathOffset += 18; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_targetTcpProxy'), - ); final query = req.url.query; var queryOffset = 0; @@ -120206,18 +121077,21 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete( - arg_project, arg_region, arg_targetTcpProxy, + final response = await res.insert(arg_request, arg_project, arg_region, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--get', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionTargetTcpProxies; + final res = api.ComputeApi(mock).regionTargetHttpProxies; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_targetTcpProxy = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -120253,7 +121127,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/targetTcpProxies/', pathOffset); + index = path.indexOf('/targetHttpProxies', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -120264,15 +121138,9 @@ void main() { ); unittest.expect( path.substring(pathOffset, pathOffset + 18), - unittest.equals('/targetTcpProxies/'), + unittest.equals('/targetHttpProxies'), ); pathOffset += 18; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_targetTcpProxy'), - ); final query = req.url.query; var queryOffset = 0; @@ -120289,6 +121157,26 @@ void main() { ); } } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -120297,27 +121185,32 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildTargetTcpProxy()); + final resp = convert.json.encode(buildTargetHttpProxyList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get( - arg_project, arg_region, arg_targetTcpProxy, + final response = await res.list(arg_project, arg_region, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkTargetTcpProxy(response as api.TargetTcpProxy); + checkTargetHttpProxyList(response as api.TargetHttpProxyList); }); - unittest.test('method--insert', () async { + unittest.test('method--setUrlMap', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionTargetTcpProxies; - final arg_request = buildTargetTcpProxy(); + final res = api.ComputeApi(mock).regionTargetHttpProxies; + final arg_request = buildUrlMapReference(); final arg_project = 'foo'; final arg_region = 'foo'; + final arg_targetHttpProxy = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.TargetTcpProxy.fromJson( + final obj = api.UrlMapReference.fromJson( json as core.Map); - checkTargetTcpProxy(obj); + checkUrlMapReference(obj); final path = req.url.path; var pathOffset = 0; @@ -120352,7 +121245,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/targetTcpProxies', pathOffset); + index = path.indexOf('/targetHttpProxies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -120362,10 +121255,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/targetTcpProxies'), + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/targetHttpProxies/'), ); - pathOffset += 17; + pathOffset += 19; + index = path.indexOf('/setUrlMap', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_targetHttpProxy'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/setUrlMap'), + ); + pathOffset += 10; final query = req.url.query; var queryOffset = 0; @@ -120397,21 +121304,21 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.insert(arg_request, arg_project, arg_region, + final response = await res.setUrlMap( + arg_request, arg_project, arg_region, arg_targetHttpProxy, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); + }); - unittest.test('method--list', () async { + unittest.group('resource-RegionTargetHttpsProxiesResource', () { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionTargetTcpProxies; + final res = api.ComputeApi(mock).regionTargetHttpsProxies; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_targetHttpsProxy = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -120447,7 +121354,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/targetTcpProxies', pathOffset); + index = path.indexOf('/targetHttpsProxies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -120457,10 +121364,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/targetTcpProxies'), + path.substring(pathOffset, pathOffset + 20), + unittest.equals('/targetHttpsProxies/'), + ); + pathOffset += 20; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_targetHttpsProxy'), ); - pathOffset += 17; final query = req.url.query; var queryOffset = 0; @@ -120478,24 +121391,8 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -120505,28 +121402,21 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildTargetTcpProxyList()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_region, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkTargetTcpProxyList(response as api.TargetTcpProxyList); + final response = await res.delete( + arg_project, arg_region, arg_targetHttpsProxy, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - }); - unittest.group('resource-RegionUrlMapsResource', () { - unittest.test('method--delete', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionUrlMaps; + final res = api.ComputeApi(mock).regionTargetHttpsProxies; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_urlMap = 'foo'; - final arg_requestId = 'foo'; + final arg_targetHttpsProxy = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -120562,104 +121452,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/urlMaps/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_region'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/urlMaps/'), - ); - pathOffset += 9; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_urlMap'), - ); - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildOperation()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.delete(arg_project, arg_region, arg_urlMap, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); - }); - - unittest.test('method--get', () async { - final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionUrlMaps; - final arg_project = 'foo'; - final arg_region = 'foo'; - final arg_urlMap = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 11), - unittest.equals('compute/v1/'), - ); - pathOffset += 11; - unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('projects/'), - ); - pathOffset += 9; - index = path.indexOf('/regions/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_project'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/regions/'), - ); - pathOffset += 9; - index = path.indexOf('/urlMaps/', pathOffset); + index = path.indexOf('/targetHttpsProxies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -120669,15 +121462,15 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/urlMaps/'), + path.substring(pathOffset, pathOffset + 20), + unittest.equals('/targetHttpsProxies/'), ); - pathOffset += 9; + pathOffset += 20; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_urlMap'), + unittest.equals('$arg_targetHttpsProxy'), ); final query = req.url.query; @@ -120703,26 +121496,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildUrlMap()); + final resp = convert.json.encode(buildTargetHttpsProxy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_project, arg_region, arg_urlMap, + final response = await res.get( + arg_project, arg_region, arg_targetHttpsProxy, $fields: arg_$fields); - checkUrlMap(response as api.UrlMap); + checkTargetHttpsProxy(response as api.TargetHttpsProxy); }); unittest.test('method--insert', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionUrlMaps; - final arg_request = buildUrlMap(); + final res = api.ComputeApi(mock).regionTargetHttpsProxies; + final arg_request = buildTargetHttpsProxy(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.UrlMap.fromJson(json as core.Map); - checkUrlMap(obj); + final obj = api.TargetHttpsProxy.fromJson( + json as core.Map); + checkTargetHttpsProxy(obj); final path = req.url.path; var pathOffset = 0; @@ -120757,7 +121551,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/urlMaps', pathOffset); + index = path.indexOf('/targetHttpsProxies', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -120767,10 +121561,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 8), - unittest.equals('/urlMaps'), + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/targetHttpsProxies'), ); - pathOffset += 8; + pathOffset += 19; final query = req.url.query; var queryOffset = 0; @@ -120809,7 +121603,7 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionUrlMaps; + final res = api.ComputeApi(mock).regionTargetHttpsProxies; final arg_project = 'foo'; final arg_region = 'foo'; final arg_filter = 'foo'; @@ -120852,7 +121646,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/urlMaps', pathOffset); + index = path.indexOf('/targetHttpsProxies', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -120862,10 +121656,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 8), - unittest.equals('/urlMaps'), + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/targetHttpsProxies'), ); - pathOffset += 8; + pathOffset += 19; final query = req.url.query; var queryOffset = 0; @@ -120910,7 +121704,7 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildUrlMapList()); + final resp = convert.json.encode(buildTargetHttpsProxyList()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.list(arg_project, arg_region, @@ -120920,22 +121714,22 @@ void main() { pageToken: arg_pageToken, returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkUrlMapList(response as api.UrlMapList); + checkTargetHttpsProxyList(response as api.TargetHttpsProxyList); }); unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionUrlMaps; - final arg_request = buildUrlMap(); + final res = api.ComputeApi(mock).regionTargetHttpsProxies; + final arg_request = buildTargetHttpsProxy(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_urlMap = 'foo'; + final arg_targetHttpsProxy = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.UrlMap.fromJson(json as core.Map); - checkUrlMap(obj); + final obj = api.TargetHttpsProxy.fromJson( + json as core.Map); + checkTargetHttpsProxy(obj); final path = req.url.path; var pathOffset = 0; @@ -120970,7 +121764,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/urlMaps/', pathOffset); + index = path.indexOf('/targetHttpsProxies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -120980,15 +121774,15 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/urlMaps/'), + path.substring(pathOffset, pathOffset + 20), + unittest.equals('/targetHttpsProxies/'), ); - pathOffset += 9; + pathOffset += 20; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_urlMap'), + unittest.equals('$arg_targetHttpsProxy'), ); final query = req.url.query; @@ -121022,24 +121816,26 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.patch( - arg_request, arg_project, arg_region, arg_urlMap, + arg_request, arg_project, arg_region, arg_targetHttpsProxy, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--update', () async { + unittest.test('method--setSslCertificates', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionUrlMaps; - final arg_request = buildUrlMap(); + final res = api.ComputeApi(mock).regionTargetHttpsProxies; + final arg_request = + buildRegionTargetHttpsProxiesSetSslCertificatesRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_urlMap = 'foo'; + final arg_targetHttpsProxy = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = - api.UrlMap.fromJson(json as core.Map); - checkUrlMap(obj); + api.RegionTargetHttpsProxiesSetSslCertificatesRequest.fromJson( + json as core.Map); + checkRegionTargetHttpsProxiesSetSslCertificatesRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -121074,7 +121870,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/urlMaps/', pathOffset); + index = path.indexOf('/targetHttpsProxies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -121084,16 +121880,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/urlMaps/'), + path.substring(pathOffset, pathOffset + 20), + unittest.equals('/targetHttpsProxies/'), ); - pathOffset += 9; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + pathOffset += 20; + index = path.indexOf('/setSslCertificates', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_urlMap'), + unittest.equals('$arg_targetHttpsProxy'), ); + unittest.expect( + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/setSslCertificates'), + ); + pathOffset += 19; final query = req.url.query; var queryOffset = 0; @@ -121125,24 +121929,25 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.update( - arg_request, arg_project, arg_region, arg_urlMap, + final response = await res.setSslCertificates( + arg_request, arg_project, arg_region, arg_targetHttpsProxy, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--validate', () async { + unittest.test('method--setUrlMap', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionUrlMaps; - final arg_request = buildRegionUrlMapsValidateRequest(); + final res = api.ComputeApi(mock).regionTargetHttpsProxies; + final arg_request = buildUrlMapReference(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_urlMap = 'foo'; + final arg_targetHttpsProxy = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.RegionUrlMapsValidateRequest.fromJson( + final obj = api.UrlMapReference.fromJson( json as core.Map); - checkRegionUrlMapsValidateRequest(obj); + checkUrlMapReference(obj); final path = req.url.path; var pathOffset = 0; @@ -121177,7 +121982,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/urlMaps/', pathOffset); + index = path.indexOf('/targetHttpsProxies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -121187,24 +121992,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/urlMaps/'), + path.substring(pathOffset, pathOffset + 20), + unittest.equals('/targetHttpsProxies/'), ); - pathOffset += 9; - index = path.indexOf('/validate', pathOffset); + pathOffset += 20; + index = path.indexOf('/setUrlMap', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_urlMap'), + unittest.equals('$arg_targetHttpsProxy'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/validate'), + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/setUrlMap'), ); - pathOffset += 9; + pathOffset += 10; final query = req.url.query; var queryOffset = 0; @@ -121221,6 +122026,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -121229,27 +122038,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildUrlMapsValidateResponse()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.validate( - arg_request, arg_project, arg_region, arg_urlMap, - $fields: arg_$fields); - checkUrlMapsValidateResponse(response as api.UrlMapsValidateResponse); + final response = await res.setUrlMap( + arg_request, arg_project, arg_region, arg_targetHttpsProxy, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); }); - unittest.group('resource-RegionZonesResource', () { - unittest.test('method--list', () async { + unittest.group('resource-RegionTargetTcpProxiesResource', () { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regionZones; + final res = api.ComputeApi(mock).regionTargetTcpProxies; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_targetTcpProxy = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -121285,7 +122091,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/zones', pathOffset); + index = path.indexOf('/targetTcpProxies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -121295,10 +122101,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 6), - unittest.equals('/zones'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/targetTcpProxies/'), + ); + pathOffset += 18; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_targetTcpProxy'), ); - pathOffset += 6; final query = req.url.query; var queryOffset = 0; @@ -121316,25 +122128,103 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), + queryMap['fields']!.first, + unittest.equals(arg_$fields), ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete( + arg_project, arg_region, arg_targetTcpProxy, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.ComputeApi(mock).regionTargetTcpProxies; + final arg_project = 'foo'; + final arg_region = 'foo'; + final arg_targetTcpProxy = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), ); + pathOffset += 1; unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), + path.substring(pathOffset, pathOffset + 11), + unittest.equals('compute/v1/'), ); + pathOffset += 11; unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + index = path.indexOf('/regions/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_project'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), + ); + pathOffset += 9; + index = path.indexOf('/targetTcpProxies/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_region'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/targetTcpProxies/'), + ); + pathOffset += 18; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_targetTcpProxy'), ); + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -121343,28 +122233,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildZoneList()); + final resp = convert.json.encode(buildTargetTcpProxy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_region, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, + final response = await res.get( + arg_project, arg_region, arg_targetTcpProxy, $fields: arg_$fields); - checkZoneList(response as api.ZoneList); + checkTargetTcpProxy(response as api.TargetTcpProxy); }); - }); - unittest.group('resource-RegionsResource', () { - unittest.test('method--get', () async { + unittest.test('method--insert', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regions; + final res = api.ComputeApi(mock).regionTargetTcpProxies; + final arg_request = buildTargetTcpProxy(); final arg_project = 'foo'; final arg_region = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.TargetTcpProxy.fromJson( + json as core.Map); + checkTargetTcpProxy(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -121398,12 +122288,20 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + index = path.indexOf('/targetTcpProxies', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, unittest.equals('$arg_region'), ); + unittest.expect( + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/targetTcpProxies'), + ); + pathOffset += 17; final query = req.url.query; var queryOffset = 0; @@ -121420,6 +122318,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -121428,18 +122330,19 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildRegion()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.get(arg_project, arg_region, $fields: arg_$fields); - checkRegion(response as api.Region); + final response = await res.insert(arg_request, arg_project, arg_region, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).regions; + final res = api.ComputeApi(mock).regionTargetTcpProxies; final arg_project = 'foo'; + final arg_region = 'foo'; final arg_filter = 'foo'; final arg_maxResults = 42; final arg_orderBy = 'foo'; @@ -121466,7 +122369,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/regions', pathOffset); + index = path.indexOf('/regions/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -121476,10 +122379,24 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 8), - unittest.equals('/regions'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), ); - pathOffset += 8; + pathOffset += 9; + index = path.indexOf('/targetTcpProxies', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_region'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/targetTcpProxies'), + ); + pathOffset += 17; final query = req.url.query; var queryOffset = 0; @@ -121524,32 +122441,318 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildRegionList()); + final resp = convert.json.encode(buildTargetTcpProxyList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, + final response = await res.list(arg_project, arg_region, filter: arg_filter, maxResults: arg_maxResults, orderBy: arg_orderBy, pageToken: arg_pageToken, returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkRegionList(response as api.RegionList); + checkTargetTcpProxyList(response as api.TargetTcpProxyList); }); }); - unittest.group('resource-ReservationsResource', () { - unittest.test('method--aggregatedList', () async { + unittest.group('resource-RegionUrlMapsResource', () { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).reservations; + final res = api.ComputeApi(mock).regionUrlMaps; + final arg_project = 'foo'; + final arg_region = 'foo'; + final arg_urlMap = 'foo'; + final arg_requestId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('compute/v1/'), + ); + pathOffset += 11; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + index = path.indexOf('/regions/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_project'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), + ); + pathOffset += 9; + index = path.indexOf('/urlMaps/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_region'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/urlMaps/'), + ); + pathOffset += 9; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_urlMap'), + ); + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete(arg_project, arg_region, arg_urlMap, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.ComputeApi(mock).regionUrlMaps; + final arg_project = 'foo'; + final arg_region = 'foo'; + final arg_urlMap = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('compute/v1/'), + ); + pathOffset += 11; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + index = path.indexOf('/regions/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_project'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), + ); + pathOffset += 9; + index = path.indexOf('/urlMaps/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_region'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/urlMaps/'), + ); + pathOffset += 9; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_urlMap'), + ); + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildUrlMap()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_project, arg_region, arg_urlMap, + $fields: arg_$fields); + checkUrlMap(response as api.UrlMap); + }); + + unittest.test('method--insert', () async { + final mock = HttpServerMock(); + final res = api.ComputeApi(mock).regionUrlMaps; + final arg_request = buildUrlMap(); + final arg_project = 'foo'; + final arg_region = 'foo'; + final arg_requestId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.UrlMap.fromJson(json as core.Map); + checkUrlMap(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('compute/v1/'), + ); + pathOffset += 11; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + index = path.indexOf('/regions/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_project'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), + ); + pathOffset += 9; + index = path.indexOf('/urlMaps', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_region'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 8), + unittest.equals('/urlMaps'), + ); + pathOffset += 8; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.insert(arg_request, arg_project, arg_region, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.ComputeApi(mock).regionUrlMaps; final arg_project = 'foo'; + final arg_region = 'foo'; final arg_filter = 'foo'; - final arg_includeAllScopes = true; final arg_maxResults = 42; final arg_orderBy = 'foo'; final arg_pageToken = 'foo'; final arg_returnPartialSuccess = true; - final arg_serviceProjectNumber = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -121571,7 +122774,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/aggregated/reservations', pathOffset); + index = path.indexOf('/regions/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -121581,10 +122784,1264 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 24), - unittest.equals('/aggregated/reservations'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), ); - pathOffset += 24; + pathOffset += 9; + index = path.indexOf('/urlMaps', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_region'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 8), + unittest.equals('/urlMaps'), + ); + pathOffset += 8; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildUrlMapList()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_project, arg_region, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkUrlMapList(response as api.UrlMapList); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = api.ComputeApi(mock).regionUrlMaps; + final arg_request = buildUrlMap(); + final arg_project = 'foo'; + final arg_region = 'foo'; + final arg_urlMap = 'foo'; + final arg_requestId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.UrlMap.fromJson(json as core.Map); + checkUrlMap(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('compute/v1/'), + ); + pathOffset += 11; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + index = path.indexOf('/regions/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_project'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), + ); + pathOffset += 9; + index = path.indexOf('/urlMaps/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_region'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/urlMaps/'), + ); + pathOffset += 9; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_urlMap'), + ); + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch( + arg_request, arg_project, arg_region, arg_urlMap, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + + unittest.test('method--update', () async { + final mock = HttpServerMock(); + final res = api.ComputeApi(mock).regionUrlMaps; + final arg_request = buildUrlMap(); + final arg_project = 'foo'; + final arg_region = 'foo'; + final arg_urlMap = 'foo'; + final arg_requestId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.UrlMap.fromJson(json as core.Map); + checkUrlMap(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('compute/v1/'), + ); + pathOffset += 11; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + index = path.indexOf('/regions/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_project'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), + ); + pathOffset += 9; + index = path.indexOf('/urlMaps/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_region'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/urlMaps/'), + ); + pathOffset += 9; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_urlMap'), + ); + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.update( + arg_request, arg_project, arg_region, arg_urlMap, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + + unittest.test('method--validate', () async { + final mock = HttpServerMock(); + final res = api.ComputeApi(mock).regionUrlMaps; + final arg_request = buildRegionUrlMapsValidateRequest(); + final arg_project = 'foo'; + final arg_region = 'foo'; + final arg_urlMap = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.RegionUrlMapsValidateRequest.fromJson( + json as core.Map); + checkRegionUrlMapsValidateRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('compute/v1/'), + ); + pathOffset += 11; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + index = path.indexOf('/regions/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_project'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), + ); + pathOffset += 9; + index = path.indexOf('/urlMaps/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_region'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/urlMaps/'), + ); + pathOffset += 9; + index = path.indexOf('/validate', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_urlMap'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/validate'), + ); + pathOffset += 9; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildUrlMapsValidateResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.validate( + arg_request, arg_project, arg_region, arg_urlMap, + $fields: arg_$fields); + checkUrlMapsValidateResponse(response as api.UrlMapsValidateResponse); + }); + }); + + unittest.group('resource-RegionZonesResource', () { + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.ComputeApi(mock).regionZones; + final arg_project = 'foo'; + final arg_region = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('compute/v1/'), + ); + pathOffset += 11; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + index = path.indexOf('/regions/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_project'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), + ); + pathOffset += 9; + index = path.indexOf('/zones', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_region'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 6), + unittest.equals('/zones'), + ); + pathOffset += 6; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildZoneList()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_project, arg_region, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkZoneList(response as api.ZoneList); + }); + }); + + unittest.group('resource-RegionsResource', () { + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.ComputeApi(mock).regions; + final arg_project = 'foo'; + final arg_region = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('compute/v1/'), + ); + pathOffset += 11; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + index = path.indexOf('/regions/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_project'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), + ); + pathOffset += 9; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_region'), + ); + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildRegion()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.get(arg_project, arg_region, $fields: arg_$fields); + checkRegion(response as api.Region); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.ComputeApi(mock).regions; + final arg_project = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('compute/v1/'), + ); + pathOffset += 11; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + index = path.indexOf('/regions', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_project'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 8), + unittest.equals('/regions'), + ); + pathOffset += 8; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildRegionList()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_project, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkRegionList(response as api.RegionList); + }); + }); + + unittest.group('resource-ReservationsResource', () { + unittest.test('method--aggregatedList', () async { + final mock = HttpServerMock(); + final res = api.ComputeApi(mock).reservations; + final arg_project = 'foo'; + final arg_filter = 'foo'; + final arg_includeAllScopes = true; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; + final arg_serviceProjectNumber = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('compute/v1/'), + ); + pathOffset += 11; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + index = path.indexOf('/aggregated/reservations', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_project'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 24), + unittest.equals('/aggregated/reservations'), + ); + pathOffset += 24; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['includeAllScopes']!.first, + unittest.equals('$arg_includeAllScopes'), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); + unittest.expect( + queryMap['serviceProjectNumber']!.first, + unittest.equals(arg_serviceProjectNumber), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildReservationAggregatedList()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.aggregatedList(arg_project, + filter: arg_filter, + includeAllScopes: arg_includeAllScopes, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + serviceProjectNumber: arg_serviceProjectNumber, + $fields: arg_$fields); + checkReservationAggregatedList(response as api.ReservationAggregatedList); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = api.ComputeApi(mock).reservations; + final arg_project = 'foo'; + final arg_zone = 'foo'; + final arg_reservation = 'foo'; + final arg_requestId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('compute/v1/'), + ); + pathOffset += 11; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + index = path.indexOf('/zones/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_project'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/zones/'), + ); + pathOffset += 7; + index = path.indexOf('/reservations/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_zone'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 14), + unittest.equals('/reservations/'), + ); + pathOffset += 14; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_reservation'), + ); + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete(arg_project, arg_zone, arg_reservation, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.ComputeApi(mock).reservations; + final arg_project = 'foo'; + final arg_zone = 'foo'; + final arg_reservation = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('compute/v1/'), + ); + pathOffset += 11; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + index = path.indexOf('/zones/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_project'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/zones/'), + ); + pathOffset += 7; + index = path.indexOf('/reservations/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_zone'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 14), + unittest.equals('/reservations/'), + ); + pathOffset += 14; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_reservation'), + ); + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildReservation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_project, arg_zone, arg_reservation, + $fields: arg_$fields); + checkReservation(response as api.Reservation); + }); + + unittest.test('method--getIamPolicy', () async { + final mock = HttpServerMock(); + final res = api.ComputeApi(mock).reservations; + final arg_project = 'foo'; + final arg_zone = 'foo'; + final arg_resource = 'foo'; + final arg_optionsRequestedPolicyVersion = 42; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('compute/v1/'), + ); + pathOffset += 11; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + index = path.indexOf('/zones/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_project'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/zones/'), + ); + pathOffset += 7; + index = path.indexOf('/reservations/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_zone'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 14), + unittest.equals('/reservations/'), + ); + pathOffset += 14; + index = path.indexOf('/getIamPolicy', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_resource'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/getIamPolicy'), + ); + pathOffset += 13; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + core.int.parse(queryMap['optionsRequestedPolicyVersion']!.first), + unittest.equals(arg_optionsRequestedPolicyVersion), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildPolicy()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.getIamPolicy( + arg_project, arg_zone, arg_resource, + optionsRequestedPolicyVersion: arg_optionsRequestedPolicyVersion, + $fields: arg_$fields); + checkPolicy(response as api.Policy); + }); + + unittest.test('method--insert', () async { + final mock = HttpServerMock(); + final res = api.ComputeApi(mock).reservations; + final arg_request = buildReservation(); + final arg_project = 'foo'; + final arg_zone = 'foo'; + final arg_requestId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.Reservation.fromJson( + json as core.Map); + checkReservation(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('compute/v1/'), + ); + pathOffset += 11; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + index = path.indexOf('/zones/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_project'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/zones/'), + ); + pathOffset += 7; + index = path.indexOf('/reservations', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_zone'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/reservations'), + ); + pathOffset += 13; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.insert(arg_request, arg_project, arg_zone, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.ComputeApi(mock).reservations; + final arg_project = 'foo'; + final arg_zone = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('compute/v1/'), + ); + pathOffset += 11; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + index = path.indexOf('/zones/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_project'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/zones/'), + ); + pathOffset += 7; + index = path.indexOf('/reservations', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_zone'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/reservations'), + ); + pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -121605,10 +124062,6 @@ void main() { queryMap['filter']!.first, unittest.equals(arg_filter), ); - unittest.expect( - queryMap['includeAllScopes']!.first, - unittest.equals('$arg_includeAllScopes'), - ); unittest.expect( core.int.parse(queryMap['maxResults']!.first), unittest.equals(arg_maxResults), @@ -121625,10 +124078,6 @@ void main() { queryMap['returnPartialSuccess']!.first, unittest.equals('$arg_returnPartialSuccess'), ); - unittest.expect( - queryMap['serviceProjectNumber']!.first, - unittest.equals(arg_serviceProjectNumber), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -121637,30 +124086,33 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildReservationAggregatedList()); + final resp = convert.json.encode(buildReservationList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.aggregatedList(arg_project, + final response = await res.list(arg_project, arg_zone, filter: arg_filter, - includeAllScopes: arg_includeAllScopes, maxResults: arg_maxResults, orderBy: arg_orderBy, pageToken: arg_pageToken, returnPartialSuccess: arg_returnPartialSuccess, - serviceProjectNumber: arg_serviceProjectNumber, $fields: arg_$fields); - checkReservationAggregatedList(response as api.ReservationAggregatedList); + checkReservationList(response as api.ReservationList); }); - unittest.test('method--delete', () async { + unittest.test('method--resize', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).reservations; + final arg_request = buildReservationsResizeRequest(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_reservation = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.ReservationsResizeRequest.fromJson( + json as core.Map); + checkReservationsResizeRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -121708,12 +124160,20 @@ void main() { unittest.equals('/reservations/'), ); pathOffset += 14; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + index = path.indexOf('/resize', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, unittest.equals('$arg_reservation'), ); + unittest.expect( + path.substring(pathOffset, pathOffset + 7), + unittest.equals('/resize'), + ); + pathOffset += 7; final query = req.url.query; var queryOffset = 0; @@ -121745,19 +124205,25 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_project, arg_zone, arg_reservation, + final response = await res.resize( + arg_request, arg_project, arg_zone, arg_reservation, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--get', () async { + unittest.test('method--setIamPolicy', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).reservations; + final arg_request = buildZoneSetPolicyRequest(); final arg_project = 'foo'; final arg_zone = 'foo'; - final arg_reservation = 'foo'; + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.ZoneSetPolicyRequest.fromJson( + json as core.Map); + checkZoneSetPolicyRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -121805,12 +124271,20 @@ void main() { unittest.equals('/reservations/'), ); pathOffset += 14; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + index = path.indexOf('/setIamPolicy', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_reservation'), + unittest.equals('$arg_resource'), ); + unittest.expect( + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/setIamPolicy'), + ); + pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -121835,23 +124309,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildReservation()); + final resp = convert.json.encode(buildPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_project, arg_zone, arg_reservation, + final response = await res.setIamPolicy( + arg_request, arg_project, arg_zone, arg_resource, $fields: arg_$fields); - checkReservation(response as api.Reservation); + checkPolicy(response as api.Policy); }); - unittest.test('method--getIamPolicy', () async { + unittest.test('method--testIamPermissions', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).reservations; + final arg_request = buildTestPermissionsRequest(); final arg_project = 'foo'; final arg_zone = 'foo'; final arg_resource = 'foo'; - final arg_optionsRequestedPolicyVersion = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.TestPermissionsRequest.fromJson( + json as core.Map); + checkTestPermissionsRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -121899,7 +124378,7 @@ void main() { unittest.equals('/reservations/'), ); pathOffset += 14; - index = path.indexOf('/getIamPolicy', pathOffset); + index = path.indexOf('/testIamPermissions', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -121909,10 +124388,10 @@ void main() { unittest.equals('$arg_resource'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/getIamPolicy'), + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/testIamPermissions'), ); - pathOffset += 13; + pathOffset += 19; final query = req.url.query; var queryOffset = 0; @@ -121929,10 +124408,6 @@ void main() { ); } } - unittest.expect( - core.int.parse(queryMap['optionsRequestedPolicyVersion']!.first), - unittest.equals(arg_optionsRequestedPolicyVersion), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -121941,23 +124416,25 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPolicy()); + final resp = convert.json.encode(buildTestPermissionsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getIamPolicy( - arg_project, arg_zone, arg_resource, - optionsRequestedPolicyVersion: arg_optionsRequestedPolicyVersion, + final response = await res.testIamPermissions( + arg_request, arg_project, arg_zone, arg_resource, $fields: arg_$fields); - checkPolicy(response as api.Policy); + checkTestPermissionsResponse(response as api.TestPermissionsResponse); }); - unittest.test('method--insert', () async { + unittest.test('method--update', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).reservations; final arg_request = buildReservation(); final arg_project = 'foo'; final arg_zone = 'foo'; + final arg_reservation = 'foo'; + final arg_paths = buildUnnamed894(); final arg_requestId = 'foo'; + final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = api.Reservation.fromJson( @@ -121997,7 +124474,7 @@ void main() { unittest.equals('/zones/'), ); pathOffset += 7; - index = path.indexOf('/reservations', pathOffset); + index = path.indexOf('/reservations/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -122007,10 +124484,16 @@ void main() { unittest.equals('$arg_zone'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/reservations'), + path.substring(pathOffset, pathOffset + 14), + unittest.equals('/reservations/'), + ); + pathOffset += 14; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_reservation'), ); - pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -122027,10 +124510,18 @@ void main() { ); } } + unittest.expect( + queryMap['paths']!, + unittest.equals(arg_paths), + ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), ); + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -122042,21 +124533,28 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.insert(arg_request, arg_project, arg_zone, - requestId: arg_requestId, $fields: arg_$fields); + final response = await res.update( + arg_request, arg_project, arg_zone, arg_reservation, + paths: arg_paths, + requestId: arg_requestId, + updateMask: arg_updateMask, + $fields: arg_$fields); checkOperation(response as api.Operation); }); + }); - unittest.test('method--list', () async { + unittest.group('resource-ResourcePoliciesResource', () { + unittest.test('method--aggregatedList', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).reservations; + final res = api.ComputeApi(mock).resourcePolicies; final arg_project = 'foo'; - final arg_zone = 'foo'; final arg_filter = 'foo'; + final arg_includeAllScopes = true; final arg_maxResults = 42; final arg_orderBy = 'foo'; final arg_pageToken = 'foo'; final arg_returnPartialSuccess = true; + final arg_serviceProjectNumber = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -122078,7 +124576,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/zones/', pathOffset); + index = path.indexOf('/aggregated/resourcePolicies', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -122088,24 +124586,10 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/zones/'), - ); - pathOffset += 7; - index = path.indexOf('/reservations', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_zone'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/reservations'), + path.substring(pathOffset, pathOffset + 28), + unittest.equals('/aggregated/resourcePolicies'), ); - pathOffset += 13; + pathOffset += 28; final query = req.url.query; var queryOffset = 0; @@ -122126,6 +124610,10 @@ void main() { queryMap['filter']!.first, unittest.equals(arg_filter), ); + unittest.expect( + queryMap['includeAllScopes']!.first, + unittest.equals('$arg_includeAllScopes'), + ); unittest.expect( core.int.parse(queryMap['maxResults']!.first), unittest.equals(arg_maxResults), @@ -122142,6 +124630,10 @@ void main() { queryMap['returnPartialSuccess']!.first, unittest.equals('$arg_returnPartialSuccess'), ); + unittest.expect( + queryMap['serviceProjectNumber']!.first, + unittest.equals(arg_serviceProjectNumber), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -122150,33 +124642,31 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildReservationList()); + final resp = convert.json.encode(buildResourcePolicyAggregatedList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_zone, + final response = await res.aggregatedList(arg_project, filter: arg_filter, + includeAllScopes: arg_includeAllScopes, maxResults: arg_maxResults, orderBy: arg_orderBy, pageToken: arg_pageToken, returnPartialSuccess: arg_returnPartialSuccess, + serviceProjectNumber: arg_serviceProjectNumber, $fields: arg_$fields); - checkReservationList(response as api.ReservationList); + checkResourcePolicyAggregatedList( + response as api.ResourcePolicyAggregatedList); }); - unittest.test('method--resize', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).reservations; - final arg_request = buildReservationsResizeRequest(); + final res = api.ComputeApi(mock).resourcePolicies; final arg_project = 'foo'; - final arg_zone = 'foo'; - final arg_reservation = 'foo'; + final arg_region = 'foo'; + final arg_resourcePolicy = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.ReservationsResizeRequest.fromJson( - json as core.Map); - checkReservationsResizeRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -122196,7 +124686,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/zones/', pathOffset); + index = path.indexOf('/regions/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -122206,38 +124696,30 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/zones/'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), ); - pathOffset += 7; - index = path.indexOf('/reservations/', pathOffset); + pathOffset += 9; + index = path.indexOf('/resourcePolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_zone'), + unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 14), - unittest.equals('/reservations/'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/resourcePolicies/'), ); - pathOffset += 14; - index = path.indexOf('/resize', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + pathOffset += 18; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_reservation'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/resize'), + unittest.equals('$arg_resourcePolicy'), ); - pathOffset += 7; final query = req.url.query; var queryOffset = 0; @@ -122269,25 +124751,20 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.resize( - arg_request, arg_project, arg_zone, arg_reservation, + final response = await res.delete( + arg_project, arg_region, arg_resourcePolicy, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--setIamPolicy', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).reservations; - final arg_request = buildZoneSetPolicyRequest(); + final res = api.ComputeApi(mock).resourcePolicies; final arg_project = 'foo'; - final arg_zone = 'foo'; - final arg_resource = 'foo'; + final arg_region = 'foo'; + final arg_resourcePolicy = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.ZoneSetPolicyRequest.fromJson( - json as core.Map); - checkZoneSetPolicyRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -122307,7 +124784,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/zones/', pathOffset); + index = path.indexOf('/regions/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -122317,38 +124794,30 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/zones/'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), ); - pathOffset += 7; - index = path.indexOf('/reservations/', pathOffset); + pathOffset += 9; + index = path.indexOf('/resourcePolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_zone'), + unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 14), - unittest.equals('/reservations/'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/resourcePolicies/'), ); - pathOffset += 14; - index = path.indexOf('/setIamPolicy', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + pathOffset += 18; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_resource'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/setIamPolicy'), + unittest.equals('$arg_resourcePolicy'), ); - pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -122373,28 +124842,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPolicy()); + final resp = convert.json.encode(buildResourcePolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setIamPolicy( - arg_request, arg_project, arg_zone, arg_resource, + final response = await res.get( + arg_project, arg_region, arg_resourcePolicy, $fields: arg_$fields); - checkPolicy(response as api.Policy); + checkResourcePolicy(response as api.ResourcePolicy); }); - unittest.test('method--testIamPermissions', () async { + unittest.test('method--getIamPolicy', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).reservations; - final arg_request = buildTestPermissionsRequest(); + final res = api.ComputeApi(mock).resourcePolicies; final arg_project = 'foo'; - final arg_zone = 'foo'; + final arg_region = 'foo'; final arg_resource = 'foo'; + final arg_optionsRequestedPolicyVersion = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.TestPermissionsRequest.fromJson( - json as core.Map); - checkTestPermissionsRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -122414,7 +124879,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/zones/', pathOffset); + index = path.indexOf('/regions/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -122424,25 +124889,25 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/zones/'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), ); - pathOffset += 7; - index = path.indexOf('/reservations/', pathOffset); + pathOffset += 9; + index = path.indexOf('/resourcePolicies/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_zone'), + unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 14), - unittest.equals('/reservations/'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/resourcePolicies/'), ); - pathOffset += 14; - index = path.indexOf('/testIamPermissions', pathOffset); + pathOffset += 18; + index = path.indexOf('/getIamPolicy', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -122452,10 +124917,10 @@ void main() { unittest.equals('$arg_resource'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 19), - unittest.equals('/testIamPermissions'), + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/getIamPolicy'), ); - pathOffset += 19; + pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -122472,6 +124937,10 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['optionsRequestedPolicyVersion']!.first), + unittest.equals(arg_optionsRequestedPolicyVersion), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -122480,30 +124949,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildTestPermissionsResponse()); + final resp = convert.json.encode(buildPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.testIamPermissions( - arg_request, arg_project, arg_zone, arg_resource, + final response = await res.getIamPolicy( + arg_project, arg_region, arg_resource, + optionsRequestedPolicyVersion: arg_optionsRequestedPolicyVersion, $fields: arg_$fields); - checkTestPermissionsResponse(response as api.TestPermissionsResponse); + checkPolicy(response as api.Policy); }); - unittest.test('method--update', () async { + unittest.test('method--insert', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).reservations; - final arg_request = buildReservation(); + final res = api.ComputeApi(mock).resourcePolicies; + final arg_request = buildResourcePolicy(); final arg_project = 'foo'; - final arg_zone = 'foo'; - final arg_reservation = 'foo'; - final arg_paths = buildUnnamed870(); + final arg_region = 'foo'; final arg_requestId = 'foo'; - final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.Reservation.fromJson( + final obj = api.ResourcePolicy.fromJson( json as core.Map); - checkReservation(obj); + checkResourcePolicy(obj); final path = req.url.path; var pathOffset = 0; @@ -122524,7 +124991,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/zones/', pathOffset); + index = path.indexOf('/regions/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -122534,30 +125001,24 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 7), - unittest.equals('/zones/'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), ); - pathOffset += 7; - index = path.indexOf('/reservations/', pathOffset); + pathOffset += 9; + index = path.indexOf('/resourcePolicies', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_zone'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 14), - unittest.equals('/reservations/'), + unittest.equals('$arg_region'), ); - pathOffset += 14; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; unittest.expect( - subPart, - unittest.equals('$arg_reservation'), + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/resourcePolicies'), ); + pathOffset += 17; final query = req.url.query; var queryOffset = 0; @@ -122574,18 +125035,10 @@ void main() { ); } } - unittest.expect( - queryMap['paths']!, - unittest.equals(arg_paths), - ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), ); - unittest.expect( - queryMap['updateMask']!.first, - unittest.equals(arg_updateMask), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -122597,28 +125050,21 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.update( - arg_request, arg_project, arg_zone, arg_reservation, - paths: arg_paths, - requestId: arg_requestId, - updateMask: arg_updateMask, - $fields: arg_$fields); + final response = await res.insert(arg_request, arg_project, arg_region, + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - }); - unittest.group('resource-ResourcePoliciesResource', () { - unittest.test('method--aggregatedList', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).resourcePolicies; final arg_project = 'foo'; + final arg_region = 'foo'; final arg_filter = 'foo'; - final arg_includeAllScopes = true; final arg_maxResults = 42; final arg_orderBy = 'foo'; final arg_pageToken = 'foo'; final arg_returnPartialSuccess = true; - final arg_serviceProjectNumber = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -122640,7 +125086,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/aggregated/resourcePolicies', pathOffset); + index = path.indexOf('/regions/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -122650,10 +125096,24 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 28), - unittest.equals('/aggregated/resourcePolicies'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), ); - pathOffset += 28; + pathOffset += 9; + index = path.indexOf('/resourcePolicies', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_region'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/resourcePolicies'), + ); + pathOffset += 17; final query = req.url.query; var queryOffset = 0; @@ -122674,10 +125134,6 @@ void main() { queryMap['filter']!.first, unittest.equals(arg_filter), ); - unittest.expect( - queryMap['includeAllScopes']!.first, - unittest.equals('$arg_includeAllScopes'), - ); unittest.expect( core.int.parse(queryMap['maxResults']!.first), unittest.equals(arg_maxResults), @@ -122694,10 +125150,6 @@ void main() { queryMap['returnPartialSuccess']!.first, unittest.equals('$arg_returnPartialSuccess'), ); - unittest.expect( - queryMap['serviceProjectNumber']!.first, - unittest.equals(arg_serviceProjectNumber), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -122706,31 +125158,34 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildResourcePolicyAggregatedList()); + final resp = convert.json.encode(buildResourcePolicyList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.aggregatedList(arg_project, + final response = await res.list(arg_project, arg_region, filter: arg_filter, - includeAllScopes: arg_includeAllScopes, maxResults: arg_maxResults, orderBy: arg_orderBy, pageToken: arg_pageToken, returnPartialSuccess: arg_returnPartialSuccess, - serviceProjectNumber: arg_serviceProjectNumber, $fields: arg_$fields); - checkResourcePolicyAggregatedList( - response as api.ResourcePolicyAggregatedList); + checkResourcePolicyList(response as api.ResourcePolicyList); }); - unittest.test('method--delete', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).resourcePolicies; + final arg_request = buildResourcePolicy(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_resourcePolicy = 'foo'; final arg_requestId = 'foo'; + final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.ResourcePolicy.fromJson( + json as core.Map); + checkResourcePolicy(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -122804,6 +125259,10 @@ void main() { queryMap['requestId']!.first, unittest.equals(arg_requestId), ); + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -122815,20 +125274,27 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete( - arg_project, arg_region, arg_resourcePolicy, - requestId: arg_requestId, $fields: arg_$fields); + final response = await res.patch( + arg_request, arg_project, arg_region, arg_resourcePolicy, + requestId: arg_requestId, + updateMask: arg_updateMask, + $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--get', () async { + unittest.test('method--setIamPolicy', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).resourcePolicies; + final arg_request = buildRegionSetPolicyRequest(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_resourcePolicy = 'foo'; + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.RegionSetPolicyRequest.fromJson( + json as core.Map); + checkRegionSetPolicyRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -122876,12 +125342,20 @@ void main() { unittest.equals('/resourcePolicies/'), ); pathOffset += 18; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + index = path.indexOf('/setIamPolicy', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_resourcePolicy'), + unittest.equals('$arg_resource'), ); + unittest.expect( + path.substring(pathOffset, pathOffset + 13), + unittest.equals('/setIamPolicy'), + ); + pathOffset += 13; final query = req.url.query; var queryOffset = 0; @@ -122906,24 +125380,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildResourcePolicy()); + final resp = convert.json.encode(buildPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get( - arg_project, arg_region, arg_resourcePolicy, + final response = await res.setIamPolicy( + arg_request, arg_project, arg_region, arg_resource, $fields: arg_$fields); - checkResourcePolicy(response as api.ResourcePolicy); + checkPolicy(response as api.Policy); }); - unittest.test('method--getIamPolicy', () async { + unittest.test('method--testIamPermissions', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).resourcePolicies; + final arg_request = buildTestPermissionsRequest(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_resource = 'foo'; - final arg_optionsRequestedPolicyVersion = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.TestPermissionsRequest.fromJson( + json as core.Map); + checkTestPermissionsRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -122971,7 +125449,7 @@ void main() { unittest.equals('/resourcePolicies/'), ); pathOffset += 18; - index = path.indexOf('/getIamPolicy', pathOffset); + index = path.indexOf('/testIamPermissions', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -122981,10 +125459,10 @@ void main() { unittest.equals('$arg_resource'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/getIamPolicy'), + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/testIamPermissions'), ); - pathOffset += 13; + pathOffset += 19; final query = req.url.query; var queryOffset = 0; @@ -123002,8 +125480,113 @@ void main() { } } unittest.expect( - core.int.parse(queryMap['optionsRequestedPolicyVersion']!.first), - unittest.equals(arg_optionsRequestedPolicyVersion), + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildTestPermissionsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.testIamPermissions( + arg_request, arg_project, arg_region, arg_resource, + $fields: arg_$fields); + checkTestPermissionsResponse(response as api.TestPermissionsResponse); + }); + }); + + unittest.group('resource-RoutersResource', () { + unittest.test('method--aggregatedList', () async { + final mock = HttpServerMock(); + final res = api.ComputeApi(mock).routers; + final arg_project = 'foo'; + final arg_filter = 'foo'; + final arg_includeAllScopes = true; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; + final arg_serviceProjectNumber = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('compute/v1/'), + ); + pathOffset += 11; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('projects/'), + ); + pathOffset += 9; + index = path.indexOf('/aggregated/routers', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_project'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/aggregated/routers'), + ); + pathOffset += 19; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['includeAllScopes']!.first, + unittest.equals('$arg_includeAllScopes'), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); + unittest.expect( + queryMap['serviceProjectNumber']!.first, + unittest.equals(arg_serviceProjectNumber), ); unittest.expect( queryMap['fields']!.first, @@ -123013,29 +125596,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPolicy()); + final resp = convert.json.encode(buildRouterAggregatedList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getIamPolicy( - arg_project, arg_region, arg_resource, - optionsRequestedPolicyVersion: arg_optionsRequestedPolicyVersion, + final response = await res.aggregatedList(arg_project, + filter: arg_filter, + includeAllScopes: arg_includeAllScopes, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + serviceProjectNumber: arg_serviceProjectNumber, $fields: arg_$fields); - checkPolicy(response as api.Policy); + checkRouterAggregatedList(response as api.RouterAggregatedList); }); - unittest.test('method--insert', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).resourcePolicies; - final arg_request = buildResourcePolicy(); + final res = api.ComputeApi(mock).routers; final arg_project = 'foo'; final arg_region = 'foo'; + final arg_router = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.ResourcePolicy.fromJson( - json as core.Map); - checkResourcePolicy(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -123069,7 +125653,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/resourcePolicies', pathOffset); + index = path.indexOf('/routers/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -123079,10 +125663,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/resourcePolicies'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/routers/'), + ); + pathOffset += 9; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_router'), ); - pathOffset += 17; final query = req.url.query; var queryOffset = 0; @@ -123114,21 +125704,19 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.insert(arg_request, arg_project, arg_region, + final response = await res.delete(arg_project, arg_region, arg_router, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--list', () async { + unittest.test('method--deleteRoutePolicy', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).resourcePolicies; + final res = api.ComputeApi(mock).routers; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_router = 'foo'; + final arg_policy = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -123164,7 +125752,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/resourcePolicies', pathOffset); + index = path.indexOf('/routers/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -123174,10 +125762,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 17), - unittest.equals('/resourcePolicies'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/routers/'), ); - pathOffset += 17; + pathOffset += 9; + index = path.indexOf('/deleteRoutePolicy', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_router'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/deleteRoutePolicy'), + ); + pathOffset += 18; final query = req.url.query; var queryOffset = 0; @@ -123195,24 +125797,12 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), + queryMap['policy']!.first, + unittest.equals(arg_policy), ); unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -123222,34 +125812,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildResourcePolicyList()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_region, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkResourcePolicyList(response as api.ResourcePolicyList); + final response = await res.deleteRoutePolicy( + arg_project, arg_region, arg_router, + policy: arg_policy, requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--patch', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).resourcePolicies; - final arg_request = buildResourcePolicy(); + final res = api.ComputeApi(mock).routers; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_resourcePolicy = 'foo'; - final arg_requestId = 'foo'; - final arg_updateMask = 'foo'; + final arg_router = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.ResourcePolicy.fromJson( - json as core.Map); - checkResourcePolicy(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -123283,7 +125862,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/resourcePolicies/', pathOffset); + index = path.indexOf('/routers/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -123293,15 +125872,15 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/resourcePolicies/'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/routers/'), ); - pathOffset += 18; + pathOffset += 9; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( subPart, - unittest.equals('$arg_resourcePolicy'), + unittest.equals('$arg_router'), ); final query = req.url.query; @@ -123319,14 +125898,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); - unittest.expect( - queryMap['updateMask']!.first, - unittest.equals(arg_updateMask), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -123335,30 +125906,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildRouter()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch( - arg_request, arg_project, arg_region, arg_resourcePolicy, - requestId: arg_requestId, - updateMask: arg_updateMask, + final response = await res.get(arg_project, arg_region, arg_router, $fields: arg_$fields); - checkOperation(response as api.Operation); + checkRouter(response as api.Router); }); - unittest.test('method--setIamPolicy', () async { + unittest.test('method--getNatIpInfo', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).resourcePolicies; - final arg_request = buildRegionSetPolicyRequest(); + final res = api.ComputeApi(mock).routers; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_resource = 'foo'; + final arg_router = 'foo'; + final arg_natName = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.RegionSetPolicyRequest.fromJson( - json as core.Map); - checkRegionSetPolicyRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -123392,7 +125956,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/resourcePolicies/', pathOffset); + index = path.indexOf('/routers/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -123402,22 +125966,22 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/resourcePolicies/'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/routers/'), ); - pathOffset += 18; - index = path.indexOf('/setIamPolicy', pathOffset); + pathOffset += 9; + index = path.indexOf('/getNatIpInfo', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_resource'), + unittest.equals('$arg_router'), ); unittest.expect( path.substring(pathOffset, pathOffset + 13), - unittest.equals('/setIamPolicy'), + unittest.equals('/getNatIpInfo'), ); pathOffset += 13; @@ -123436,6 +126000,10 @@ void main() { ); } } + unittest.expect( + queryMap['natName']!.first, + unittest.equals(arg_natName), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -123444,28 +126012,29 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPolicy()); + final resp = convert.json.encode(buildNatIpInfoResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setIamPolicy( - arg_request, arg_project, arg_region, arg_resource, - $fields: arg_$fields); - checkPolicy(response as api.Policy); + final response = await res.getNatIpInfo( + arg_project, arg_region, arg_router, + natName: arg_natName, $fields: arg_$fields); + checkNatIpInfoResponse(response as api.NatIpInfoResponse); }); - unittest.test('method--testIamPermissions', () async { + unittest.test('method--getNatMappingInfo', () async { final mock = HttpServerMock(); - final res = api.ComputeApi(mock).resourcePolicies; - final arg_request = buildTestPermissionsRequest(); + final res = api.ComputeApi(mock).routers; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_resource = 'foo'; + final arg_router = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_natName = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.TestPermissionsRequest.fromJson( - json as core.Map); - checkTestPermissionsRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -123499,7 +126068,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/resourcePolicies/', pathOffset); + index = path.indexOf('/routers/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -123509,24 +126078,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/resourcePolicies/'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/routers/'), ); - pathOffset += 18; - index = path.indexOf('/testIamPermissions', pathOffset); + pathOffset += 9; + index = path.indexOf('/getNatMappingInfo', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; unittest.expect( subPart, - unittest.equals('$arg_resource'), + unittest.equals('$arg_router'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 19), - unittest.equals('/testIamPermissions'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/getNatMappingInfo'), ); - pathOffset += 19; + pathOffset += 18; final query = req.url.query; var queryOffset = 0; @@ -123543,6 +126112,30 @@ void main() { ); } } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['natName']!.first, + unittest.equals(arg_natName), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -123551,28 +126144,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildTestPermissionsResponse()); + final resp = convert.json.encode(buildVmEndpointNatMappingsList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.testIamPermissions( - arg_request, arg_project, arg_region, arg_resource, + final response = await res.getNatMappingInfo( + arg_project, arg_region, arg_router, + filter: arg_filter, + maxResults: arg_maxResults, + natName: arg_natName, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkTestPermissionsResponse(response as api.TestPermissionsResponse); + checkVmEndpointNatMappingsList(response as api.VmEndpointNatMappingsList); }); - }); - unittest.group('resource-RoutersResource', () { - unittest.test('method--aggregatedList', () async { + unittest.test('method--getRoutePolicy', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).routers; final arg_project = 'foo'; - final arg_filter = 'foo'; - final arg_includeAllScopes = true; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; - final arg_serviceProjectNumber = 'foo'; + final arg_region = 'foo'; + final arg_router = 'foo'; + final arg_policy = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -123594,7 +126187,7 @@ void main() { unittest.equals('projects/'), ); pathOffset += 9; - index = path.indexOf('/aggregated/routers', pathOffset); + index = path.indexOf('/regions/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -123604,10 +126197,38 @@ void main() { unittest.equals('$arg_project'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 19), - unittest.equals('/aggregated/routers'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/regions/'), ); - pathOffset += 19; + pathOffset += 9; + index = path.indexOf('/routers/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_region'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/routers/'), + ); + pathOffset += 9; + index = path.indexOf('/getRoutePolicy', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_router'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('/getRoutePolicy'), + ); + pathOffset += 15; final query = req.url.query; var queryOffset = 0; @@ -123625,32 +126246,8 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - queryMap['includeAllScopes']!.first, - unittest.equals('$arg_includeAllScopes'), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), - ); - unittest.expect( - queryMap['serviceProjectNumber']!.first, - unittest.equals(arg_serviceProjectNumber), + queryMap['policy']!.first, + unittest.equals(arg_policy), ); unittest.expect( queryMap['fields']!.first, @@ -123660,28 +126257,22 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildRouterAggregatedList()); + final resp = convert.json.encode(buildRoutersGetRoutePolicyResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.aggregatedList(arg_project, - filter: arg_filter, - includeAllScopes: arg_includeAllScopes, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - serviceProjectNumber: arg_serviceProjectNumber, - $fields: arg_$fields); - checkRouterAggregatedList(response as api.RouterAggregatedList); + final response = await res.getRoutePolicy( + arg_project, arg_region, arg_router, + policy: arg_policy, $fields: arg_$fields); + checkRoutersGetRoutePolicyResponse( + response as api.RoutersGetRoutePolicyResponse); }); - unittest.test('method--delete', () async { + unittest.test('method--getRouterStatus', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).routers; final arg_project = 'foo'; final arg_region = 'foo'; final arg_router = 'foo'; - final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -123731,12 +126322,20 @@ void main() { unittest.equals('/routers/'), ); pathOffset += 9; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + index = path.indexOf('/getRouterStatus', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, unittest.equals('$arg_router'), ); + unittest.expect( + path.substring(pathOffset, pathOffset + 16), + unittest.equals('/getRouterStatus'), + ); + pathOffset += 16; final query = req.url.query; var queryOffset = 0; @@ -123753,10 +126352,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -123765,22 +126360,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildRouterStatusResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_project, arg_region, arg_router, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.getRouterStatus( + arg_project, arg_region, arg_router, + $fields: arg_$fields); + checkRouterStatusResponse(response as api.RouterStatusResponse); }); - unittest.test('method--get', () async { + unittest.test('method--insert', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).routers; + final arg_request = buildRouter(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_router = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.Router.fromJson(json as core.Map); + checkRouter(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -123814,7 +126415,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/routers/', pathOffset); + index = path.indexOf('/routers', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -123824,16 +126425,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/routers/'), - ); - pathOffset += 9; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; - unittest.expect( - subPart, - unittest.equals('$arg_router'), + path.substring(pathOffset, pathOffset + 8), + unittest.equals('/routers'), ); + pathOffset += 8; final query = req.url.query; var queryOffset = 0; @@ -123850,6 +126445,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -123858,21 +126457,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildRouter()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_project, arg_region, arg_router, - $fields: arg_$fields); - checkRouter(response as api.Router); + final response = await res.insert(arg_request, arg_project, arg_region, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--getNatIpInfo', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).routers; final arg_project = 'foo'; final arg_region = 'foo'; - final arg_router = 'foo'; - final arg_natName = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -123908,7 +126510,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/routers/', pathOffset); + index = path.indexOf('/routers', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -123918,24 +126520,10 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 9), - unittest.equals('/routers/'), - ); - pathOffset += 9; - index = path.indexOf('/getNatIpInfo', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_router'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 13), - unittest.equals('/getNatIpInfo'), + path.substring(pathOffset, pathOffset + 8), + unittest.equals('/routers'), ); - pathOffset += 13; + pathOffset += 8; final query = req.url.query; var queryOffset = 0; @@ -123953,8 +126541,24 @@ void main() { } } unittest.expect( - queryMap['natName']!.first, - unittest.equals(arg_natName), + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), ); unittest.expect( queryMap['fields']!.first, @@ -123964,27 +126568,35 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildNatIpInfoResponse()); + final resp = convert.json.encode(buildRouterList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getNatIpInfo( - arg_project, arg_region, arg_router, - natName: arg_natName, $fields: arg_$fields); - checkNatIpInfoResponse(response as api.NatIpInfoResponse); + final response = await res.list(arg_project, arg_region, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkRouterList(response as api.RouterList); }); - unittest.test('method--getNatMappingInfo', () async { + unittest.test('method--listBgpRoutes', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).routers; final arg_project = 'foo'; final arg_region = 'foo'; final arg_router = 'foo'; + final arg_addressFamily = 'foo'; + final arg_destinationPrefix = 'foo'; final arg_filter = 'foo'; final arg_maxResults = 42; - final arg_natName = 'foo'; final arg_orderBy = 'foo'; final arg_pageToken = 'foo'; + final arg_peer = 'foo'; + final arg_policyApplied = true; final arg_returnPartialSuccess = true; + final arg_routeType = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -124034,7 +126646,7 @@ void main() { unittest.equals('/routers/'), ); pathOffset += 9; - index = path.indexOf('/getNatMappingInfo', pathOffset); + index = path.indexOf('/listBgpRoutes', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -124044,10 +126656,10 @@ void main() { unittest.equals('$arg_router'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/getNatMappingInfo'), + path.substring(pathOffset, pathOffset + 14), + unittest.equals('/listBgpRoutes'), ); - pathOffset += 18; + pathOffset += 14; final query = req.url.query; var queryOffset = 0; @@ -124064,6 +126676,14 @@ void main() { ); } } + unittest.expect( + queryMap['addressFamily']!.first, + unittest.equals(arg_addressFamily), + ); + unittest.expect( + queryMap['destinationPrefix']!.first, + unittest.equals(arg_destinationPrefix), + ); unittest.expect( queryMap['filter']!.first, unittest.equals(arg_filter), @@ -124072,10 +126692,6 @@ void main() { core.int.parse(queryMap['maxResults']!.first), unittest.equals(arg_maxResults), ); - unittest.expect( - queryMap['natName']!.first, - unittest.equals(arg_natName), - ); unittest.expect( queryMap['orderBy']!.first, unittest.equals(arg_orderBy), @@ -124084,10 +126700,22 @@ void main() { queryMap['pageToken']!.first, unittest.equals(arg_pageToken), ); + unittest.expect( + queryMap['peer']!.first, + unittest.equals(arg_peer), + ); + unittest.expect( + queryMap['policyApplied']!.first, + unittest.equals('$arg_policyApplied'), + ); unittest.expect( queryMap['returnPartialSuccess']!.first, unittest.equals('$arg_returnPartialSuccess'), ); + unittest.expect( + queryMap['routeType']!.first, + unittest.equals(arg_routeType), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -124096,27 +126724,36 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildVmEndpointNatMappingsList()); + final resp = convert.json.encode(buildRoutersListBgpRoutes()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getNatMappingInfo( + final response = await res.listBgpRoutes( arg_project, arg_region, arg_router, + addressFamily: arg_addressFamily, + destinationPrefix: arg_destinationPrefix, filter: arg_filter, maxResults: arg_maxResults, - natName: arg_natName, orderBy: arg_orderBy, pageToken: arg_pageToken, + peer: arg_peer, + policyApplied: arg_policyApplied, returnPartialSuccess: arg_returnPartialSuccess, + routeType: arg_routeType, $fields: arg_$fields); - checkVmEndpointNatMappingsList(response as api.VmEndpointNatMappingsList); + checkRoutersListBgpRoutes(response as api.RoutersListBgpRoutes); }); - unittest.test('method--getRouterStatus', () async { + unittest.test('method--listRoutePolicies', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).routers; final arg_project = 'foo'; final arg_region = 'foo'; final arg_router = 'foo'; + final arg_filter = 'foo'; + final arg_maxResults = 42; + final arg_orderBy = 'foo'; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -124166,7 +126803,7 @@ void main() { unittest.equals('/routers/'), ); pathOffset += 9; - index = path.indexOf('/getRouterStatus', pathOffset); + index = path.indexOf('/listRoutePolicies', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -124176,10 +126813,10 @@ void main() { unittest.equals('$arg_router'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 16), - unittest.equals('/getRouterStatus'), + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/listRoutePolicies'), ); - pathOffset += 16; + pathOffset += 18; final query = req.url.query; var queryOffset = 0; @@ -124196,6 +126833,26 @@ void main() { ); } } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['maxResults']!.first), + unittest.equals(arg_maxResults), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -124204,21 +126861,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildRouterStatusResponse()); + final resp = convert.json.encode(buildRoutersListRoutePolicies()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getRouterStatus( + final response = await res.listRoutePolicies( arg_project, arg_region, arg_router, + filter: arg_filter, + maxResults: arg_maxResults, + orderBy: arg_orderBy, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); - checkRouterStatusResponse(response as api.RouterStatusResponse); + checkRoutersListRoutePolicies(response as api.RoutersListRoutePolicies); }); - unittest.test('method--insert', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).routers; final arg_request = buildRouter(); final arg_project = 'foo'; final arg_region = 'foo'; + final arg_router = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -124259,7 +126922,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/routers', pathOffset); + index = path.indexOf('/routers/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -124269,10 +126932,16 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 8), - unittest.equals('/routers'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/routers/'), + ); + pathOffset += 9; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_router'), ); - pathOffset += 8; final query = req.url.query; var queryOffset = 0; @@ -124304,23 +126973,26 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.insert(arg_request, arg_project, arg_region, + final response = await res.patch( + arg_request, arg_project, arg_region, arg_router, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--list', () async { + unittest.test('method--patchRoutePolicy', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).routers; + final arg_request = buildRoutePolicy(); final arg_project = 'foo'; final arg_region = 'foo'; - final arg_filter = 'foo'; - final arg_maxResults = 42; - final arg_orderBy = 'foo'; - final arg_pageToken = 'foo'; - final arg_returnPartialSuccess = true; + final arg_router = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.RoutePolicy.fromJson( + json as core.Map); + checkRoutePolicy(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -124354,7 +127026,7 @@ void main() { unittest.equals('/regions/'), ); pathOffset += 9; - index = path.indexOf('/routers', pathOffset); + index = path.indexOf('/routers/', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); @@ -124364,10 +127036,24 @@ void main() { unittest.equals('$arg_region'), ); unittest.expect( - path.substring(pathOffset, pathOffset + 8), - unittest.equals('/routers'), + path.substring(pathOffset, pathOffset + 9), + unittest.equals('/routers/'), ); - pathOffset += 8; + pathOffset += 9; + index = path.indexOf('/patchRoutePolicy', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_router'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 17), + unittest.equals('/patchRoutePolicy'), + ); + pathOffset += 17; final query = req.url.query; var queryOffset = 0; @@ -124385,24 +127071,8 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['maxResults']!.first), - unittest.equals(arg_maxResults), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['returnPartialSuccess']!.first, - unittest.equals('$arg_returnPartialSuccess'), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -124412,27 +127082,22 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildRouterList()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_project, arg_region, - filter: arg_filter, - maxResults: arg_maxResults, - orderBy: arg_orderBy, - pageToken: arg_pageToken, - returnPartialSuccess: arg_returnPartialSuccess, - $fields: arg_$fields); - checkRouterList(response as api.RouterList); + final response = await res.patchRoutePolicy( + arg_request, arg_project, arg_region, arg_router, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--patch', () async { + unittest.test('method--preview', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).routers; final arg_request = buildRouter(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_router = 'foo'; - final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = @@ -124486,12 +127151,20 @@ void main() { unittest.equals('/routers/'), ); pathOffset += 9; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + index = path.indexOf('/preview', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, unittest.equals('$arg_router'), ); + unittest.expect( + path.substring(pathOffset, pathOffset + 8), + unittest.equals('/preview'), + ); + pathOffset += 8; final query = req.url.query; var queryOffset = 0; @@ -124508,10 +127181,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -124520,22 +127189,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildRoutersPreviewResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch( + final response = await res.preview( arg_request, arg_project, arg_region, arg_router, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + $fields: arg_$fields); + checkRoutersPreviewResponse(response as api.RoutersPreviewResponse); }); - unittest.test('method--preview', () async { + unittest.test('method--update', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).routers; final arg_request = buildRouter(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_router = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = @@ -124589,20 +127259,12 @@ void main() { unittest.equals('/routers/'), ); pathOffset += 9; - index = path.indexOf('/preview', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; unittest.expect( subPart, unittest.equals('$arg_router'), ); - unittest.expect( - path.substring(pathOffset, pathOffset + 8), - unittest.equals('/preview'), - ); - pathOffset += 8; final query = req.url.query; var queryOffset = 0; @@ -124619,6 +127281,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -124627,28 +127293,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildRoutersPreviewResponse()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.preview( + final response = await res.update( arg_request, arg_project, arg_region, arg_router, - $fields: arg_$fields); - checkRoutersPreviewResponse(response as api.RoutersPreviewResponse); + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--update', () async { + unittest.test('method--updateRoutePolicy', () async { final mock = HttpServerMock(); final res = api.ComputeApi(mock).routers; - final arg_request = buildRouter(); + final arg_request = buildRoutePolicy(); final arg_project = 'foo'; final arg_region = 'foo'; final arg_router = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.Router.fromJson(json as core.Map); - checkRouter(obj); + final obj = api.RoutePolicy.fromJson( + json as core.Map); + checkRoutePolicy(obj); final path = req.url.path; var pathOffset = 0; @@ -124697,12 +127363,20 @@ void main() { unittest.equals('/routers/'), ); pathOffset += 9; - subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); - pathOffset = path.length; + index = path.indexOf('/updateRoutePolicy', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; unittest.expect( subPart, unittest.equals('$arg_router'), ); + unittest.expect( + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/updateRoutePolicy'), + ); + pathOffset += 18; final query = req.url.query; var queryOffset = 0; @@ -124734,7 +127408,7 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.update( + final response = await res.updateRoutePolicy( arg_request, arg_project, arg_region, arg_router, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); diff --git a/generated/googleapis/test/connectors/v1_test.dart b/generated/googleapis/test/connectors/v1_test.dart index d206af679..bad3ff66a 100644 --- a/generated/googleapis/test/connectors/v1_test.dart +++ b/generated/googleapis/test/connectors/v1_test.dart @@ -662,6 +662,17 @@ void checkUnnamed11(core.Map o) { ); } +core.List buildUnnamed12() => [ + buildTrafficShapingConfig(), + buildTrafficShapingConfig(), + ]; + +void checkUnnamed12(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkTrafficShapingConfig(o[0]); + checkTrafficShapingConfig(o[1]); +} + core.int buildCounterConnection = 0; api.Connection buildConnection() { final o = api.Connection(); @@ -698,6 +709,7 @@ api.Connection buildConnection() { o.subscriptionType = 'foo'; o.suspended = true; o.tlsServiceDirectory = 'foo'; + o.trafficShapingConfigs = buildUnnamed12(); o.updateTime = 'foo'; } buildCounterConnection--; @@ -780,6 +792,7 @@ void checkConnection(api.Connection o) { o.tlsServiceDirectory!, unittest.equals('foo'), ); + checkUnnamed12(o.trafficShapingConfigs!); unittest.expect( o.updateTime!, unittest.equals('foo'), @@ -788,12 +801,12 @@ void checkConnection(api.Connection o) { buildCounterConnection--; } -core.List buildUnnamed12() => [ +core.List buildUnnamed13() => [ 'foo', 'foo', ]; -void checkUnnamed12(core.List o) { +void checkUnnamed13(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -805,12 +818,12 @@ void checkUnnamed12(core.List o) { ); } -core.List buildUnnamed13() => [ +core.List buildUnnamed14() => [ 'foo', 'foo', ]; -void checkUnnamed13(core.List o) { +void checkUnnamed14(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -827,8 +840,8 @@ api.ConnectionSchemaMetadata buildConnectionSchemaMetadata() { final o = api.ConnectionSchemaMetadata(); buildCounterConnectionSchemaMetadata++; if (buildCounterConnectionSchemaMetadata < 3) { - o.actions = buildUnnamed12(); - o.entities = buildUnnamed13(); + o.actions = buildUnnamed13(); + o.entities = buildUnnamed14(); o.errorMessage = 'foo'; o.name = 'foo'; o.refreshTime = 'foo'; @@ -842,8 +855,8 @@ api.ConnectionSchemaMetadata buildConnectionSchemaMetadata() { void checkConnectionSchemaMetadata(api.ConnectionSchemaMetadata o) { buildCounterConnectionSchemaMetadata++; if (buildCounterConnectionSchemaMetadata < 3) { - checkUnnamed12(o.actions!); - checkUnnamed13(o.entities!); + checkUnnamed13(o.actions!); + checkUnnamed14(o.entities!); unittest.expect( o.errorMessage!, unittest.equals('foo'), @@ -900,12 +913,12 @@ void checkConnectionStatus(api.ConnectionStatus o) { buildCounterConnectionStatus--; } -core.Map buildUnnamed14() => { +core.Map buildUnnamed15() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed14(core.Map o) { +void checkUnnamed15(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -917,12 +930,12 @@ void checkUnnamed14(core.Map o) { ); } -core.List buildUnnamed15() => [ +core.List buildUnnamed16() => [ 'foo', 'foo', ]; -void checkUnnamed15(core.List o) { +void checkUnnamed16(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -947,11 +960,11 @@ api.Connector buildConnector() { o.documentationUri = 'foo'; o.eventingDetails = buildEventingDetails(); o.externalUri = 'foo'; - o.labels = buildUnnamed14(); + o.labels = buildUnnamed15(); o.launchStage = 'foo'; o.marketplaceConnectorDetails = buildMarketplaceConnectorDetails(); o.name = 'foo'; - o.tags = buildUnnamed15(); + o.tags = buildUnnamed16(); o.updateTime = 'foo'; o.webAssetsLocation = 'foo'; } @@ -991,7 +1004,7 @@ void checkConnector(api.Connector o) { o.externalUri!, unittest.equals('foo'), ); - checkUnnamed14(o.labels!); + checkUnnamed15(o.labels!); unittest.expect( o.launchStage!, unittest.equals('foo'), @@ -1001,7 +1014,7 @@ void checkConnector(api.Connector o) { o.name!, unittest.equals('foo'), ); - checkUnnamed15(o.tags!); + checkUnnamed16(o.tags!); unittest.expect( o.updateTime!, unittest.equals('foo'), @@ -1077,45 +1090,45 @@ void checkConnectorInfraConfig(api.ConnectorInfraConfig o) { buildCounterConnectorInfraConfig--; } -core.List buildUnnamed16() => [ +core.List buildUnnamed17() => [ buildAuthConfigTemplate(), buildAuthConfigTemplate(), ]; -void checkUnnamed16(core.List o) { +void checkUnnamed17(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuthConfigTemplate(o[0]); checkAuthConfigTemplate(o[1]); } -core.List buildUnnamed17() => [ +core.List buildUnnamed18() => [ buildConfigVariableTemplate(), buildConfigVariableTemplate(), ]; -void checkUnnamed17(core.List o) { +void checkUnnamed18(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfigVariableTemplate(o[0]); checkConfigVariableTemplate(o[1]); } -core.List buildUnnamed18() => [ +core.List buildUnnamed19() => [ buildDestinationConfigTemplate(), buildDestinationConfigTemplate(), ]; -void checkUnnamed18(core.List o) { +void checkUnnamed19(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDestinationConfigTemplate(o[0]); checkDestinationConfigTemplate(o[1]); } -core.Map buildUnnamed19() => { +core.Map buildUnnamed20() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed19(core.Map o) { +void checkUnnamed20(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1127,45 +1140,45 @@ void checkUnnamed19(core.Map o) { ); } -core.List buildUnnamed20() => [ +core.List buildUnnamed21() => [ buildRoleGrant(), buildRoleGrant(), ]; -void checkUnnamed20(core.List o) { +void checkUnnamed21(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRoleGrant(o[0]); checkRoleGrant(o[1]); } -core.List buildUnnamed21() => [ +core.List buildUnnamed22() => [ buildStandardAction(), buildStandardAction(), ]; -void checkUnnamed21(core.List o) { +void checkUnnamed22(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStandardAction(o[0]); checkStandardAction(o[1]); } -core.List buildUnnamed22() => [ +core.List buildUnnamed23() => [ buildStandardEntity(), buildStandardEntity(), ]; -void checkUnnamed22(core.List o) { +void checkUnnamed23(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStandardEntity(o[0]); checkStandardEntity(o[1]); } -core.List buildUnnamed23() => [ +core.List buildUnnamed24() => [ 'foo', 'foo', ]; -void checkUnnamed23(core.List o) { +void checkUnnamed24(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1182,30 +1195,30 @@ api.ConnectorVersion buildConnectorVersion() { final o = api.ConnectorVersion(); buildCounterConnectorVersion++; if (buildCounterConnectorVersion < 3) { - o.authConfigTemplates = buildUnnamed16(); + o.authConfigTemplates = buildUnnamed17(); o.authOverrideEnabled = true; - o.configVariableTemplates = buildUnnamed17(); + o.configVariableTemplates = buildUnnamed18(); o.connectorInfraConfig = buildConnectorInfraConfig(); o.createTime = 'foo'; - o.destinationConfigTemplates = buildUnnamed18(); + o.destinationConfigTemplates = buildUnnamed19(); o.displayName = 'foo'; o.egressControlConfig = buildEgressControlConfig(); o.eventingConfigTemplate = buildEventingConfigTemplate(); o.isAsyncOperationsSupported = true; o.isCustomActionsSupported = true; o.isCustomEntitiesSupported = true; - o.labels = buildUnnamed19(); + o.labels = buildUnnamed20(); o.launchStage = 'foo'; o.name = 'foo'; o.releaseVersion = 'foo'; o.roleGrant = buildRoleGrant(); - o.roleGrants = buildUnnamed20(); + o.roleGrants = buildUnnamed21(); o.schemaRefreshConfig = buildSchemaRefreshConfig(); o.sslConfigTemplate = buildSslConfigTemplate(); o.supportedRuntimeFeatures = buildSupportedRuntimeFeatures(); - o.supportedStandardActions = buildUnnamed21(); - o.supportedStandardEntities = buildUnnamed22(); - o.unsupportedConnectionTypes = buildUnnamed23(); + o.supportedStandardActions = buildUnnamed22(); + o.supportedStandardEntities = buildUnnamed23(); + o.unsupportedConnectionTypes = buildUnnamed24(); o.updateTime = 'foo'; } buildCounterConnectorVersion--; @@ -1215,15 +1228,15 @@ api.ConnectorVersion buildConnectorVersion() { void checkConnectorVersion(api.ConnectorVersion o) { buildCounterConnectorVersion++; if (buildCounterConnectorVersion < 3) { - checkUnnamed16(o.authConfigTemplates!); + checkUnnamed17(o.authConfigTemplates!); unittest.expect(o.authOverrideEnabled!, unittest.isTrue); - checkUnnamed17(o.configVariableTemplates!); + checkUnnamed18(o.configVariableTemplates!); checkConnectorInfraConfig(o.connectorInfraConfig!); unittest.expect( o.createTime!, unittest.equals('foo'), ); - checkUnnamed18(o.destinationConfigTemplates!); + checkUnnamed19(o.destinationConfigTemplates!); unittest.expect( o.displayName!, unittest.equals('foo'), @@ -1233,7 +1246,7 @@ void checkConnectorVersion(api.ConnectorVersion o) { unittest.expect(o.isAsyncOperationsSupported!, unittest.isTrue); unittest.expect(o.isCustomActionsSupported!, unittest.isTrue); unittest.expect(o.isCustomEntitiesSupported!, unittest.isTrue); - checkUnnamed19(o.labels!); + checkUnnamed20(o.labels!); unittest.expect( o.launchStage!, unittest.equals('foo'), @@ -1247,13 +1260,13 @@ void checkConnectorVersion(api.ConnectorVersion o) { unittest.equals('foo'), ); checkRoleGrant(o.roleGrant!); - checkUnnamed20(o.roleGrants!); + checkUnnamed21(o.roleGrants!); checkSchemaRefreshConfig(o.schemaRefreshConfig!); checkSslConfigTemplate(o.sslConfigTemplate!); checkSupportedRuntimeFeatures(o.supportedRuntimeFeatures!); - checkUnnamed21(o.supportedStandardActions!); - checkUnnamed22(o.supportedStandardEntities!); - checkUnnamed23(o.unsupportedConnectionTypes!); + checkUnnamed22(o.supportedStandardActions!); + checkUnnamed23(o.supportedStandardEntities!); + checkUnnamed24(o.unsupportedConnectionTypes!); unittest.expect( o.updateTime!, unittest.equals('foo'), @@ -1349,12 +1362,12 @@ void checkConnectorsLogConfig(api.ConnectorsLogConfig o) { buildCounterConnectorsLogConfig--; } -core.List buildUnnamed24() => [ +core.List buildUnnamed25() => [ 'foo', 'foo', ]; -void checkUnnamed24(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1366,12 +1379,12 @@ void checkUnnamed24(core.List o) { ); } -core.List buildUnnamed25() => [ +core.List buildUnnamed26() => [ 'foo', 'foo', ]; -void checkUnnamed25(core.List o) { +void checkUnnamed26(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1383,12 +1396,12 @@ void checkUnnamed25(core.List o) { ); } -core.List buildUnnamed26() => [ +core.List buildUnnamed27() => [ 'foo', 'foo', ]; -void checkUnnamed26(core.List o) { +void checkUnnamed27(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1400,12 +1413,12 @@ void checkUnnamed26(core.List o) { ); } -core.Map buildUnnamed27() => { +core.Map buildUnnamed28() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed27(core.Map o) { +void checkUnnamed28(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1417,12 +1430,12 @@ void checkUnnamed27(core.Map o) { ); } -core.List buildUnnamed28() => [ +core.List buildUnnamed29() => [ 'foo', 'foo', ]; -void checkUnnamed28(core.List o) { +void checkUnnamed29(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1439,17 +1452,17 @@ api.CustomConnector buildCustomConnector() { final o = api.CustomConnector(); buildCounterCustomConnector++; if (buildCounterCustomConnector < 3) { - o.activeConnectorVersions = buildUnnamed24(); - o.allConnectorVersions = buildUnnamed25(); - o.allMarketplaceVersions = buildUnnamed26(); + o.activeConnectorVersions = buildUnnamed25(); + o.allConnectorVersions = buildUnnamed26(); + o.allMarketplaceVersions = buildUnnamed27(); o.createTime = 'foo'; o.customConnectorType = 'foo'; o.description = 'foo'; o.displayName = 'foo'; - o.labels = buildUnnamed27(); + o.labels = buildUnnamed28(); o.logo = 'foo'; o.name = 'foo'; - o.publishedMarketplaceVersions = buildUnnamed28(); + o.publishedMarketplaceVersions = buildUnnamed29(); o.updateTime = 'foo'; } buildCounterCustomConnector--; @@ -1459,9 +1472,9 @@ api.CustomConnector buildCustomConnector() { void checkCustomConnector(api.CustomConnector o) { buildCounterCustomConnector++; if (buildCounterCustomConnector < 3) { - checkUnnamed24(o.activeConnectorVersions!); - checkUnnamed25(o.allConnectorVersions!); - checkUnnamed26(o.allMarketplaceVersions!); + checkUnnamed25(o.activeConnectorVersions!); + checkUnnamed26(o.allConnectorVersions!); + checkUnnamed27(o.allMarketplaceVersions!); unittest.expect( o.createTime!, unittest.equals('foo'), @@ -1478,7 +1491,7 @@ void checkCustomConnector(api.CustomConnector o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed27(o.labels!); + checkUnnamed28(o.labels!); unittest.expect( o.logo!, unittest.equals('foo'), @@ -1487,7 +1500,7 @@ void checkCustomConnector(api.CustomConnector o) { o.name!, unittest.equals('foo'), ); - checkUnnamed28(o.publishedMarketplaceVersions!); + checkUnnamed29(o.publishedMarketplaceVersions!); unittest.expect( o.updateTime!, unittest.equals('foo'), @@ -1496,34 +1509,34 @@ void checkCustomConnector(api.CustomConnector o) { buildCounterCustomConnector--; } -core.List buildUnnamed29() => [ +core.List buildUnnamed30() => [ buildConfigVariableTemplate(), buildConfigVariableTemplate(), ]; -void checkUnnamed29(core.List o) { +void checkUnnamed30(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfigVariableTemplate(o[0]); checkConfigVariableTemplate(o[1]); } -core.List buildUnnamed30() => [ +core.List buildUnnamed31() => [ buildDestinationConfig(), buildDestinationConfig(), ]; -void checkUnnamed30(core.List o) { +void checkUnnamed31(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDestinationConfig(o[0]); checkDestinationConfig(o[1]); } -core.Map buildUnnamed31() => { +core.Map buildUnnamed32() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed31(core.Map o) { +void checkUnnamed32(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1535,12 +1548,12 @@ void checkUnnamed31(core.Map o) { ); } -core.List buildUnnamed32() => [ +core.List buildUnnamed33() => [ 'foo', 'foo', ]; -void checkUnnamed32(core.List o) { +void checkUnnamed33(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1558,17 +1571,17 @@ api.CustomConnectorVersion buildCustomConnectorVersion() { buildCounterCustomConnectorVersion++; if (buildCounterCustomConnectorVersion < 3) { o.authConfig = buildAuthConfig(); - o.backendVariableTemplates = buildUnnamed29(); + o.backendVariableTemplates = buildUnnamed30(); o.createTime = 'foo'; - o.destinationConfigs = buildUnnamed30(); + o.destinationConfigs = buildUnnamed31(); o.enableBackendDestinationConfig = true; - o.labels = buildUnnamed31(); + o.labels = buildUnnamed32(); o.name = 'foo'; o.partnerMetadata = buildPartnerMetadata(); o.publishStatus = buildPublishStatus(); o.serviceAccount = 'foo'; o.specLocation = 'foo'; - o.specServerUrls = buildUnnamed32(); + o.specServerUrls = buildUnnamed33(); o.state = 'foo'; o.updateTime = 'foo'; } @@ -1580,14 +1593,14 @@ void checkCustomConnectorVersion(api.CustomConnectorVersion o) { buildCounterCustomConnectorVersion++; if (buildCounterCustomConnectorVersion < 3) { checkAuthConfig(o.authConfig!); - checkUnnamed29(o.backendVariableTemplates!); + checkUnnamed30(o.backendVariableTemplates!); unittest.expect( o.createTime!, unittest.equals('foo'), ); - checkUnnamed30(o.destinationConfigs!); + checkUnnamed31(o.destinationConfigs!); unittest.expect(o.enableBackendDestinationConfig!, unittest.isTrue); - checkUnnamed31(o.labels!); + checkUnnamed32(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -1602,7 +1615,7 @@ void checkCustomConnectorVersion(api.CustomConnectorVersion o) { o.specLocation!, unittest.equals('foo'), ); - checkUnnamed32(o.specServerUrls!); + checkUnnamed33(o.specServerUrls!); unittest.expect( o.state!, unittest.equals('foo'), @@ -1691,12 +1704,12 @@ void checkDestination(api.Destination o) { buildCounterDestination--; } -core.List buildUnnamed33() => [ +core.List buildUnnamed34() => [ buildDestination(), buildDestination(), ]; -void checkUnnamed33(core.List o) { +void checkUnnamed34(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDestination(o[0]); checkDestination(o[1]); @@ -1707,7 +1720,7 @@ api.DestinationConfig buildDestinationConfig() { final o = api.DestinationConfig(); buildCounterDestinationConfig++; if (buildCounterDestinationConfig < 3) { - o.destinations = buildUnnamed33(); + o.destinations = buildUnnamed34(); o.key = 'foo'; } buildCounterDestinationConfig--; @@ -1717,7 +1730,7 @@ api.DestinationConfig buildDestinationConfig() { void checkDestinationConfig(api.DestinationConfig o) { buildCounterDestinationConfig++; if (buildCounterDestinationConfig < 3) { - checkUnnamed33(o.destinations!); + checkUnnamed34(o.destinations!); unittest.expect( o.key!, unittest.equals('foo'), @@ -1726,12 +1739,12 @@ void checkDestinationConfig(api.DestinationConfig o) { buildCounterDestinationConfig--; } -core.List buildUnnamed34() => [ +core.List buildUnnamed35() => [ 'foo', 'foo', ]; -void checkUnnamed34(core.List o) { +void checkUnnamed35(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1748,7 +1761,7 @@ api.DestinationConfigTemplate buildDestinationConfigTemplate() { final o = api.DestinationConfigTemplate(); buildCounterDestinationConfigTemplate++; if (buildCounterDestinationConfigTemplate < 3) { - o.autocompleteSuggestions = buildUnnamed34(); + o.autocompleteSuggestions = buildUnnamed35(); o.defaultPort = 42; o.description = 'foo'; o.displayName = 'foo'; @@ -1766,7 +1779,7 @@ api.DestinationConfigTemplate buildDestinationConfigTemplate() { void checkDestinationConfigTemplate(api.DestinationConfigTemplate o) { buildCounterDestinationConfigTemplate++; if (buildCounterDestinationConfigTemplate < 3) { - checkUnnamed34(o.autocompleteSuggestions!); + checkUnnamed35(o.autocompleteSuggestions!); unittest.expect( o.defaultPort!, unittest.equals(42), @@ -1897,12 +1910,12 @@ void checkEncryptionKey(api.EncryptionKey o) { buildCounterEncryptionKey--; } -core.List buildUnnamed35() => [ +core.List buildUnnamed36() => [ buildHeader(), buildHeader(), ]; -void checkUnnamed35(core.List o) { +void checkUnnamed36(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHeader(o[0]); checkHeader(o[1]); @@ -1914,7 +1927,7 @@ api.EndPoint buildEndPoint() { buildCounterEndPoint++; if (buildCounterEndPoint < 3) { o.endpointUri = 'foo'; - o.headers = buildUnnamed35(); + o.headers = buildUnnamed36(); } buildCounterEndPoint--; return o; @@ -1927,17 +1940,17 @@ void checkEndPoint(api.EndPoint o) { o.endpointUri!, unittest.equals('foo'), ); - checkUnnamed35(o.headers!); + checkUnnamed36(o.headers!); } buildCounterEndPoint--; } -core.Map buildUnnamed36() => { +core.Map buildUnnamed37() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed36(core.Map o) { +void checkUnnamed37(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1958,7 +1971,7 @@ api.EndpointAttachment buildEndpointAttachment() { o.description = 'foo'; o.endpointGlobalAccess = true; o.endpointIp = 'foo'; - o.labels = buildUnnamed36(); + o.labels = buildUnnamed37(); o.name = 'foo'; o.serviceAttachment = 'foo'; o.state = 'foo'; @@ -1984,7 +1997,7 @@ void checkEndpointAttachment(api.EndpointAttachment o) { o.endpointIp!, unittest.equals('foo'), ); - checkUnnamed36(o.labels!); + checkUnnamed37(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -2005,6 +2018,25 @@ void checkEndpointAttachment(api.EndpointAttachment o) { buildCounterEndpointAttachment--; } +core.int buildCounterEnrichmentConfig = 0; +api.EnrichmentConfig buildEnrichmentConfig() { + final o = api.EnrichmentConfig(); + buildCounterEnrichmentConfig++; + if (buildCounterEnrichmentConfig < 3) { + o.appendAcl = true; + } + buildCounterEnrichmentConfig--; + return o; +} + +void checkEnrichmentConfig(api.EnrichmentConfig o) { + buildCounterEnrichmentConfig++; + if (buildCounterEnrichmentConfig < 3) { + unittest.expect(o.appendAcl!, unittest.isTrue); + } + buildCounterEnrichmentConfig--; +} + core.int buildCounterEnumOption = 0; api.EnumOption buildEnumOption() { final o = api.EnumOption(); @@ -2032,12 +2064,12 @@ void checkEnumOption(api.EnumOption o) { buildCounterEnumOption--; } -core.List buildUnnamed37() => [ +core.List buildUnnamed38() => [ buildConfigVariable(), buildConfigVariable(), ]; -void checkUnnamed37(core.List o) { +void checkUnnamed38(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfigVariable(o[0]); checkConfigVariable(o[1]); @@ -2056,7 +2088,7 @@ api.EventSubscription buildEventSubscription() { o.status = buildEventSubscriptionStatus(); o.subscriber = 'foo'; o.subscriberLink = 'foo'; - o.triggerConfigVariables = buildUnnamed37(); + o.triggerConfigVariables = buildUnnamed38(); o.updateTime = 'foo'; } buildCounterEventSubscription--; @@ -2089,7 +2121,7 @@ void checkEventSubscription(api.EventSubscription o) { o.subscriberLink!, unittest.equals('foo'), ); - checkUnnamed37(o.triggerConfigVariables!); + checkUnnamed38(o.triggerConfigVariables!); unittest.expect( o.updateTime!, unittest.equals('foo'), @@ -2104,7 +2136,7 @@ api.EventSubscriptionDestination buildEventSubscriptionDestination() { buildCounterEventSubscriptionDestination++; if (buildCounterEventSubscriptionDestination < 3) { o.endpoint = buildEndPoint(); - o.gsutil = buildGSUtil(); + o.pubsub = buildPubSub(); o.serviceAccount = 'foo'; o.type = 'foo'; } @@ -2116,7 +2148,7 @@ void checkEventSubscriptionDestination(api.EventSubscriptionDestination o) { buildCounterEventSubscriptionDestination++; if (buildCounterEventSubscriptionDestination < 3) { checkEndPoint(o.endpoint!); - checkGSUtil(o.gsutil!); + checkPubSub(o.pubsub!); unittest.expect( o.serviceAccount!, unittest.equals('foo'), @@ -2213,12 +2245,12 @@ void checkEventType(api.EventType o) { buildCounterEventType--; } -core.List buildUnnamed38() => [ +core.List buildUnnamed39() => [ buildConfigVariable(), buildConfigVariable(), ]; -void checkUnnamed38(core.List o) { +void checkUnnamed39(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfigVariable(o[0]); checkConfigVariable(o[1]); @@ -2229,9 +2261,10 @@ api.EventingConfig buildEventingConfig() { final o = api.EventingConfig(); buildCounterEventingConfig++; if (buildCounterEventingConfig < 3) { - o.additionalVariables = buildUnnamed38(); + o.additionalVariables = buildUnnamed39(); o.authConfig = buildAuthConfig(); o.deadLetterConfig = buildDeadLetterConfig(); + o.enrichmentConfig = buildEnrichmentConfig(); o.enrichmentEnabled = true; o.eventsListenerIngressEndpoint = 'foo'; o.listenerAuthConfig = buildAuthConfig(); @@ -2246,9 +2279,10 @@ api.EventingConfig buildEventingConfig() { void checkEventingConfig(api.EventingConfig o) { buildCounterEventingConfig++; if (buildCounterEventingConfig < 3) { - checkUnnamed38(o.additionalVariables!); + checkUnnamed39(o.additionalVariables!); checkAuthConfig(o.authConfig!); checkDeadLetterConfig(o.deadLetterConfig!); + checkEnrichmentConfig(o.enrichmentConfig!); unittest.expect(o.enrichmentEnabled!, unittest.isTrue); unittest.expect( o.eventsListenerIngressEndpoint!, @@ -2262,45 +2296,45 @@ void checkEventingConfig(api.EventingConfig o) { buildCounterEventingConfig--; } -core.List buildUnnamed39() => [ +core.List buildUnnamed40() => [ buildConfigVariableTemplate(), buildConfigVariableTemplate(), ]; -void checkUnnamed39(core.List o) { +void checkUnnamed40(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfigVariableTemplate(o[0]); checkConfigVariableTemplate(o[1]); } -core.List buildUnnamed40() => [ +core.List buildUnnamed41() => [ buildAuthConfigTemplate(), buildAuthConfigTemplate(), ]; -void checkUnnamed40(core.List o) { +void checkUnnamed41(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuthConfigTemplate(o[0]); checkAuthConfigTemplate(o[1]); } -core.List buildUnnamed41() => [ +core.List buildUnnamed42() => [ buildAuthConfigTemplate(), buildAuthConfigTemplate(), ]; -void checkUnnamed41(core.List o) { +void checkUnnamed42(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuthConfigTemplate(o[0]); checkAuthConfigTemplate(o[1]); } -core.List buildUnnamed42() => [ +core.List buildUnnamed43() => [ buildConfigVariableTemplate(), buildConfigVariableTemplate(), ]; -void checkUnnamed42(core.List o) { +void checkUnnamed43(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfigVariableTemplate(o[0]); checkConfigVariableTemplate(o[1]); @@ -2311,18 +2345,18 @@ api.EventingConfigTemplate buildEventingConfigTemplate() { final o = api.EventingConfigTemplate(); buildCounterEventingConfigTemplate++; if (buildCounterEventingConfigTemplate < 3) { - o.additionalVariables = buildUnnamed39(); - o.authConfigTemplates = buildUnnamed40(); + o.additionalVariables = buildUnnamed40(); + o.authConfigTemplates = buildUnnamed41(); o.autoRefresh = true; o.autoRegistrationSupported = true; o.encryptionKeyTemplate = buildConfigVariableTemplate(); o.enrichmentSupported = true; o.eventListenerType = 'foo'; o.isEventingSupported = true; - o.listenerAuthConfigTemplates = buildUnnamed41(); + o.listenerAuthConfigTemplates = buildUnnamed42(); o.proxyDestinationConfig = buildDestinationConfigTemplate(); o.registrationDestinationConfig = buildDestinationConfigTemplate(); - o.triggerConfigVariables = buildUnnamed42(); + o.triggerConfigVariables = buildUnnamed43(); } buildCounterEventingConfigTemplate--; return o; @@ -2331,8 +2365,8 @@ api.EventingConfigTemplate buildEventingConfigTemplate() { void checkEventingConfigTemplate(api.EventingConfigTemplate o) { buildCounterEventingConfigTemplate++; if (buildCounterEventingConfigTemplate < 3) { - checkUnnamed39(o.additionalVariables!); - checkUnnamed40(o.authConfigTemplates!); + checkUnnamed40(o.additionalVariables!); + checkUnnamed41(o.authConfigTemplates!); unittest.expect(o.autoRefresh!, unittest.isTrue); unittest.expect(o.autoRegistrationSupported!, unittest.isTrue); checkConfigVariableTemplate(o.encryptionKeyTemplate!); @@ -2342,20 +2376,20 @@ void checkEventingConfigTemplate(api.EventingConfigTemplate o) { unittest.equals('foo'), ); unittest.expect(o.isEventingSupported!, unittest.isTrue); - checkUnnamed41(o.listenerAuthConfigTemplates!); + checkUnnamed42(o.listenerAuthConfigTemplates!); checkDestinationConfigTemplate(o.proxyDestinationConfig!); checkDestinationConfigTemplate(o.registrationDestinationConfig!); - checkUnnamed42(o.triggerConfigVariables!); + checkUnnamed43(o.triggerConfigVariables!); } buildCounterEventingConfigTemplate--; } -core.List buildUnnamed43() => [ +core.List buildUnnamed44() => [ 'foo', 'foo', ]; -void checkUnnamed43(core.List o) { +void checkUnnamed44(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2378,7 +2412,7 @@ api.EventingDetails buildEventingDetails() { o.iconLocation = 'foo'; o.launchStage = 'foo'; o.name = 'foo'; - o.searchTags = buildUnnamed43(); + o.searchTags = buildUnnamed44(); o.type = 'foo'; } buildCounterEventingDetails--; @@ -2409,7 +2443,7 @@ void checkEventingDetails(api.EventingDetails o) { o.name!, unittest.equals('foo'), ); - checkUnnamed43(o.searchTags!); + checkUnnamed44(o.searchTags!); unittest.expect( o.type!, unittest.equals('foo'), @@ -2539,12 +2573,12 @@ void checkExtractionRule(api.ExtractionRule o) { buildCounterExtractionRule--; } -core.List buildUnnamed44() => [ +core.List buildUnnamed45() => [ buildExtractionRule(), buildExtractionRule(), ]; -void checkUnnamed44(core.List o) { +void checkUnnamed45(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExtractionRule(o[0]); checkExtractionRule(o[1]); @@ -2555,7 +2589,7 @@ api.ExtractionRules buildExtractionRules() { final o = api.ExtractionRules(); buildCounterExtractionRules++; if (buildCounterExtractionRules < 3) { - o.extractionRule = buildUnnamed44(); + o.extractionRule = buildUnnamed45(); } buildCounterExtractionRules--; return o; @@ -2564,17 +2598,17 @@ api.ExtractionRules buildExtractionRules() { void checkExtractionRules(api.ExtractionRules o) { buildCounterExtractionRules++; if (buildCounterExtractionRules < 3) { - checkUnnamed44(o.extractionRule!); + checkUnnamed45(o.extractionRule!); } buildCounterExtractionRules--; } -core.List buildUnnamed45() => [ +core.List buildUnnamed46() => [ buildAuthSchema(), buildAuthSchema(), ]; -void checkUnnamed45(core.List o) { +void checkUnnamed46(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuthSchema(o[0]); checkAuthSchema(o[1]); @@ -2585,7 +2619,7 @@ api.FetchAuthSchemaResponse buildFetchAuthSchemaResponse() { final o = api.FetchAuthSchemaResponse(); buildCounterFetchAuthSchemaResponse++; if (buildCounterFetchAuthSchemaResponse < 3) { - o.authSchemas = buildUnnamed45(); + o.authSchemas = buildUnnamed46(); o.jsonSchema = buildJsonAuthSchema(); } buildCounterFetchAuthSchemaResponse--; @@ -2595,13 +2629,13 @@ api.FetchAuthSchemaResponse buildFetchAuthSchemaResponse() { void checkFetchAuthSchemaResponse(api.FetchAuthSchemaResponse o) { buildCounterFetchAuthSchemaResponse++; if (buildCounterFetchAuthSchemaResponse < 3) { - checkUnnamed45(o.authSchemas!); + checkUnnamed46(o.authSchemas!); checkJsonAuthSchema(o.jsonSchema!); } buildCounterFetchAuthSchemaResponse--; } -core.Map buildUnnamed46() => { +core.Map buildUnnamed47() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2614,7 +2648,7 @@ core.Map buildUnnamed46() => { }, }; -void checkUnnamed46(core.Map o) { +void checkUnnamed47(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -2651,7 +2685,7 @@ api.Field buildField() { final o = api.Field(); buildCounterField++; if (buildCounterField < 3) { - o.additionalDetails = buildUnnamed46(); + o.additionalDetails = buildUnnamed47(); o.dataType = 'foo'; o.defaultValue = { 'list': [1, 2, 3], @@ -2672,7 +2706,7 @@ api.Field buildField() { void checkField(api.Field o) { buildCounterField++; if (buildCounterField < 3) { - checkUnnamed46(o.additionalDetails!); + checkUnnamed47(o.additionalDetails!); unittest.expect( o.dataType!, unittest.equals('foo'), @@ -2746,28 +2780,6 @@ void checkFieldComparison(api.FieldComparison o) { buildCounterFieldComparison--; } -core.int buildCounterGSUtil = 0; -api.GSUtil buildGSUtil() { - final o = api.GSUtil(); - buildCounterGSUtil++; - if (buildCounterGSUtil < 3) { - o.gsutilUri = 'foo'; - } - buildCounterGSUtil--; - return o; -} - -void checkGSUtil(api.GSUtil o) { - buildCounterGSUtil++; - if (buildCounterGSUtil < 3) { - unittest.expect( - o.gsutilUri!, - unittest.equals('foo'), - ); - } - buildCounterGSUtil--; -} - core.int buildCounterHPAConfig = 0; api.HPAConfig buildHPAConfig() { final o = api.HPAConfig(); @@ -2904,12 +2916,12 @@ void checkJMS(api.JMS o) { buildCounterJMS--; } -core.List buildUnnamed47() => [ +core.List buildUnnamed48() => [ buildAuthObject(), buildAuthObject(), ]; -void checkUnnamed47(core.List o) { +void checkUnnamed48(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuthObject(o[0]); checkAuthObject(o[1]); @@ -2921,7 +2933,7 @@ api.JsonAuthSchema buildJsonAuthSchema() { buildCounterJsonAuthSchema++; if (buildCounterJsonAuthSchema < 3) { o.P_schema = 'foo'; - o.oneOf = buildUnnamed47(); + o.oneOf = buildUnnamed48(); } buildCounterJsonAuthSchema--; return o; @@ -2934,27 +2946,27 @@ void checkJsonAuthSchema(api.JsonAuthSchema o) { o.P_schema!, unittest.equals('foo'), ); - checkUnnamed47(o.oneOf!); + checkUnnamed48(o.oneOf!); } buildCounterJsonAuthSchema--; } -core.List buildUnnamed48() => [ - { +core.Map buildUnnamed49() => { + 'x': { 'list': [1, 2, 3], 'bool': true, 'string': 'foo' }, - { + 'y': { 'list': [1, 2, 3], 'bool': true, 'string': 'foo' }, - ]; + }; -void checkUnnamed48(core.List o) { +void checkUnnamed49(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted5 = (o[0]) as core.Map; + var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); unittest.expect( casted5['list'], @@ -2968,7 +2980,7 @@ void checkUnnamed48(core.List o) { casted5['string'], unittest.equals('foo'), ); - var casted6 = (o[1]) as core.Map; + var casted6 = (o['y']!) as core.Map; unittest.expect(casted6, unittest.hasLength(3)); unittest.expect( casted6['list'], @@ -2984,23 +2996,68 @@ void checkUnnamed48(core.List o) { ); } -core.Map buildUnnamed49() => { +core.List buildUnnamed50() => [ + { + 'list': [1, 2, 3], + 'bool': true, + 'string': 'foo' + }, + { + 'list': [1, 2, 3], + 'bool': true, + 'string': 'foo' + }, + ]; + +void checkUnnamed50(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + var casted7 = (o[0]) as core.Map; + unittest.expect(casted7, unittest.hasLength(3)); + unittest.expect( + casted7['list'], + unittest.equals([1, 2, 3]), + ); + unittest.expect( + casted7['bool'], + unittest.equals(true), + ); + unittest.expect( + casted7['string'], + unittest.equals('foo'), + ); + var casted8 = (o[1]) as core.Map; + unittest.expect(casted8, unittest.hasLength(3)); + unittest.expect( + casted8['list'], + unittest.equals([1, 2, 3]), + ); + unittest.expect( + casted8['bool'], + unittest.equals(true), + ); + unittest.expect( + casted8['string'], + unittest.equals('foo'), + ); +} + +core.Map buildUnnamed51() => { 'x': buildJsonSchema(), 'y': buildJsonSchema(), }; -void checkUnnamed49(core.Map o) { +void checkUnnamed51(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkJsonSchema(o['x']!); checkJsonSchema(o['y']!); } -core.List buildUnnamed50() => [ +core.List buildUnnamed52() => [ 'foo', 'foo', ]; -void checkUnnamed50(core.List o) { +void checkUnnamed52(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3012,12 +3069,12 @@ void checkUnnamed50(core.List o) { ); } -core.List buildUnnamed51() => [ +core.List buildUnnamed53() => [ 'foo', 'foo', ]; -void checkUnnamed51(core.List o) { +void checkUnnamed53(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3034,19 +3091,20 @@ api.JsonSchema buildJsonSchema() { final o = api.JsonSchema(); buildCounterJsonSchema++; if (buildCounterJsonSchema < 3) { + o.additionalDetails = buildUnnamed49(); o.default_ = { 'list': [1, 2, 3], 'bool': true, 'string': 'foo' }; o.description = 'foo'; - o.enum_ = buildUnnamed48(); + o.enum_ = buildUnnamed50(); o.format = 'foo'; o.items = buildJsonSchema(); o.jdbcType = 'foo'; - o.properties = buildUnnamed49(); - o.required = buildUnnamed50(); - o.type = buildUnnamed51(); + o.properties = buildUnnamed51(); + o.required = buildUnnamed52(); + o.type = buildUnnamed53(); } buildCounterJsonSchema--; return o; @@ -3055,25 +3113,26 @@ api.JsonSchema buildJsonSchema() { void checkJsonSchema(api.JsonSchema o) { buildCounterJsonSchema++; if (buildCounterJsonSchema < 3) { - var casted7 = (o.default_!) as core.Map; - unittest.expect(casted7, unittest.hasLength(3)); + checkUnnamed49(o.additionalDetails!); + var casted9 = (o.default_!) as core.Map; + unittest.expect(casted9, unittest.hasLength(3)); unittest.expect( - casted7['list'], + casted9['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted7['bool'], + casted9['bool'], unittest.equals(true), ); unittest.expect( - casted7['string'], + casted9['string'], unittest.equals('foo'), ); unittest.expect( o.description!, unittest.equals('foo'), ); - checkUnnamed48(o.enum_!); + checkUnnamed50(o.enum_!); unittest.expect( o.format!, unittest.equals('foo'), @@ -3083,9 +3142,9 @@ void checkJsonSchema(api.JsonSchema o) { o.jdbcType!, unittest.equals('foo'), ); - checkUnnamed49(o.properties!); - checkUnnamed50(o.required!); - checkUnnamed51(o.type!); + checkUnnamed51(o.properties!); + checkUnnamed52(o.required!); + checkUnnamed53(o.type!); } buildCounterJsonSchema--; } @@ -3122,12 +3181,12 @@ void checkJwtClaims(api.JwtClaims o) { buildCounterJwtClaims--; } -core.List buildUnnamed52() => [ +core.List buildUnnamed54() => [ buildRuntimeActionSchema(), buildRuntimeActionSchema(), ]; -void checkUnnamed52(core.List o) { +void checkUnnamed54(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRuntimeActionSchema(o[0]); checkRuntimeActionSchema(o[1]); @@ -3138,7 +3197,7 @@ api.ListActionsResponse buildListActionsResponse() { final o = api.ListActionsResponse(); buildCounterListActionsResponse++; if (buildCounterListActionsResponse < 3) { - o.actions = buildUnnamed52(); + o.actions = buildUnnamed54(); o.nextPageToken = 'foo'; } buildCounterListActionsResponse--; @@ -3148,7 +3207,7 @@ api.ListActionsResponse buildListActionsResponse() { void checkListActionsResponse(api.ListActionsResponse o) { buildCounterListActionsResponse++; if (buildCounterListActionsResponse < 3) { - checkUnnamed52(o.actions!); + checkUnnamed54(o.actions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -3157,23 +3216,23 @@ void checkListActionsResponse(api.ListActionsResponse o) { buildCounterListActionsResponse--; } -core.List buildUnnamed53() => [ +core.List buildUnnamed55() => [ buildConnection(), buildConnection(), ]; -void checkUnnamed53(core.List o) { +void checkUnnamed55(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConnection(o[0]); checkConnection(o[1]); } -core.List buildUnnamed54() => [ +core.List buildUnnamed56() => [ 'foo', 'foo', ]; -void checkUnnamed54(core.List o) { +void checkUnnamed56(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3190,9 +3249,9 @@ api.ListConnectionsResponse buildListConnectionsResponse() { final o = api.ListConnectionsResponse(); buildCounterListConnectionsResponse++; if (buildCounterListConnectionsResponse < 3) { - o.connections = buildUnnamed53(); + o.connections = buildUnnamed55(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed54(); + o.unreachable = buildUnnamed56(); } buildCounterListConnectionsResponse--; return o; @@ -3201,33 +3260,33 @@ api.ListConnectionsResponse buildListConnectionsResponse() { void checkListConnectionsResponse(api.ListConnectionsResponse o) { buildCounterListConnectionsResponse++; if (buildCounterListConnectionsResponse < 3) { - checkUnnamed53(o.connections!); + checkUnnamed55(o.connections!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed54(o.unreachable!); + checkUnnamed56(o.unreachable!); } buildCounterListConnectionsResponse--; } -core.List buildUnnamed55() => [ +core.List buildUnnamed57() => [ buildConnectorVersion(), buildConnectorVersion(), ]; -void checkUnnamed55(core.List o) { +void checkUnnamed57(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConnectorVersion(o[0]); checkConnectorVersion(o[1]); } -core.List buildUnnamed56() => [ +core.List buildUnnamed58() => [ 'foo', 'foo', ]; -void checkUnnamed56(core.List o) { +void checkUnnamed58(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3244,9 +3303,9 @@ api.ListConnectorVersionsResponse buildListConnectorVersionsResponse() { final o = api.ListConnectorVersionsResponse(); buildCounterListConnectorVersionsResponse++; if (buildCounterListConnectorVersionsResponse < 3) { - o.connectorVersions = buildUnnamed55(); + o.connectorVersions = buildUnnamed57(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed56(); + o.unreachable = buildUnnamed58(); } buildCounterListConnectorVersionsResponse--; return o; @@ -3255,33 +3314,33 @@ api.ListConnectorVersionsResponse buildListConnectorVersionsResponse() { void checkListConnectorVersionsResponse(api.ListConnectorVersionsResponse o) { buildCounterListConnectorVersionsResponse++; if (buildCounterListConnectorVersionsResponse < 3) { - checkUnnamed55(o.connectorVersions!); + checkUnnamed57(o.connectorVersions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed56(o.unreachable!); + checkUnnamed58(o.unreachable!); } buildCounterListConnectorVersionsResponse--; } -core.List buildUnnamed57() => [ +core.List buildUnnamed59() => [ buildConnector(), buildConnector(), ]; -void checkUnnamed57(core.List o) { +void checkUnnamed59(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConnector(o[0]); checkConnector(o[1]); } -core.List buildUnnamed58() => [ +core.List buildUnnamed60() => [ 'foo', 'foo', ]; -void checkUnnamed58(core.List o) { +void checkUnnamed60(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3298,9 +3357,9 @@ api.ListConnectorsResponse buildListConnectorsResponse() { final o = api.ListConnectorsResponse(); buildCounterListConnectorsResponse++; if (buildCounterListConnectorsResponse < 3) { - o.connectors = buildUnnamed57(); + o.connectors = buildUnnamed59(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed58(); + o.unreachable = buildUnnamed60(); } buildCounterListConnectorsResponse--; return o; @@ -3309,33 +3368,33 @@ api.ListConnectorsResponse buildListConnectorsResponse() { void checkListConnectorsResponse(api.ListConnectorsResponse o) { buildCounterListConnectorsResponse++; if (buildCounterListConnectorsResponse < 3) { - checkUnnamed57(o.connectors!); + checkUnnamed59(o.connectors!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed58(o.unreachable!); + checkUnnamed60(o.unreachable!); } buildCounterListConnectorsResponse--; } -core.List buildUnnamed59() => [ +core.List buildUnnamed61() => [ buildCustomConnectorVersion(), buildCustomConnectorVersion(), ]; -void checkUnnamed59(core.List o) { +void checkUnnamed61(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCustomConnectorVersion(o[0]); checkCustomConnectorVersion(o[1]); } -core.List buildUnnamed60() => [ +core.List buildUnnamed62() => [ 'foo', 'foo', ]; -void checkUnnamed60(core.List o) { +void checkUnnamed62(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3353,9 +3412,9 @@ api.ListCustomConnectorVersionsResponse final o = api.ListCustomConnectorVersionsResponse(); buildCounterListCustomConnectorVersionsResponse++; if (buildCounterListCustomConnectorVersionsResponse < 3) { - o.customConnectorVersions = buildUnnamed59(); + o.customConnectorVersions = buildUnnamed61(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed60(); + o.unreachable = buildUnnamed62(); } buildCounterListCustomConnectorVersionsResponse--; return o; @@ -3365,33 +3424,33 @@ void checkListCustomConnectorVersionsResponse( api.ListCustomConnectorVersionsResponse o) { buildCounterListCustomConnectorVersionsResponse++; if (buildCounterListCustomConnectorVersionsResponse < 3) { - checkUnnamed59(o.customConnectorVersions!); + checkUnnamed61(o.customConnectorVersions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed60(o.unreachable!); + checkUnnamed62(o.unreachable!); } buildCounterListCustomConnectorVersionsResponse--; } -core.List buildUnnamed61() => [ +core.List buildUnnamed63() => [ buildCustomConnector(), buildCustomConnector(), ]; -void checkUnnamed61(core.List o) { +void checkUnnamed63(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCustomConnector(o[0]); checkCustomConnector(o[1]); } -core.List buildUnnamed62() => [ +core.List buildUnnamed64() => [ 'foo', 'foo', ]; -void checkUnnamed62(core.List o) { +void checkUnnamed64(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3408,9 +3467,9 @@ api.ListCustomConnectorsResponse buildListCustomConnectorsResponse() { final o = api.ListCustomConnectorsResponse(); buildCounterListCustomConnectorsResponse++; if (buildCounterListCustomConnectorsResponse < 3) { - o.customConnectors = buildUnnamed61(); + o.customConnectors = buildUnnamed63(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed62(); + o.unreachable = buildUnnamed64(); } buildCounterListCustomConnectorsResponse--; return o; @@ -3419,33 +3478,33 @@ api.ListCustomConnectorsResponse buildListCustomConnectorsResponse() { void checkListCustomConnectorsResponse(api.ListCustomConnectorsResponse o) { buildCounterListCustomConnectorsResponse++; if (buildCounterListCustomConnectorsResponse < 3) { - checkUnnamed61(o.customConnectors!); + checkUnnamed63(o.customConnectors!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed62(o.unreachable!); + checkUnnamed64(o.unreachable!); } buildCounterListCustomConnectorsResponse--; } -core.List buildUnnamed63() => [ +core.List buildUnnamed65() => [ buildEndpointAttachment(), buildEndpointAttachment(), ]; -void checkUnnamed63(core.List o) { +void checkUnnamed65(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEndpointAttachment(o[0]); checkEndpointAttachment(o[1]); } -core.List buildUnnamed64() => [ +core.List buildUnnamed66() => [ 'foo', 'foo', ]; -void checkUnnamed64(core.List o) { +void checkUnnamed66(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3462,9 +3521,9 @@ api.ListEndpointAttachmentsResponse buildListEndpointAttachmentsResponse() { final o = api.ListEndpointAttachmentsResponse(); buildCounterListEndpointAttachmentsResponse++; if (buildCounterListEndpointAttachmentsResponse < 3) { - o.endpointAttachments = buildUnnamed63(); + o.endpointAttachments = buildUnnamed65(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed64(); + o.unreachable = buildUnnamed66(); } buildCounterListEndpointAttachmentsResponse--; return o; @@ -3474,22 +3533,22 @@ void checkListEndpointAttachmentsResponse( api.ListEndpointAttachmentsResponse o) { buildCounterListEndpointAttachmentsResponse++; if (buildCounterListEndpointAttachmentsResponse < 3) { - checkUnnamed63(o.endpointAttachments!); + checkUnnamed65(o.endpointAttachments!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed64(o.unreachable!); + checkUnnamed66(o.unreachable!); } buildCounterListEndpointAttachmentsResponse--; } -core.List buildUnnamed65() => [ +core.List buildUnnamed67() => [ buildRuntimeEntitySchema(), buildRuntimeEntitySchema(), ]; -void checkUnnamed65(core.List o) { +void checkUnnamed67(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRuntimeEntitySchema(o[0]); checkRuntimeEntitySchema(o[1]); @@ -3500,7 +3559,7 @@ api.ListEntityTypesResponse buildListEntityTypesResponse() { final o = api.ListEntityTypesResponse(); buildCounterListEntityTypesResponse++; if (buildCounterListEntityTypesResponse < 3) { - o.entityTypes = buildUnnamed65(); + o.entityTypes = buildUnnamed67(); o.nextPageToken = 'foo'; } buildCounterListEntityTypesResponse--; @@ -3510,7 +3569,7 @@ api.ListEntityTypesResponse buildListEntityTypesResponse() { void checkListEntityTypesResponse(api.ListEntityTypesResponse o) { buildCounterListEntityTypesResponse++; if (buildCounterListEntityTypesResponse < 3) { - checkUnnamed65(o.entityTypes!); + checkUnnamed67(o.entityTypes!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -3519,23 +3578,23 @@ void checkListEntityTypesResponse(api.ListEntityTypesResponse o) { buildCounterListEntityTypesResponse--; } -core.List buildUnnamed66() => [ +core.List buildUnnamed68() => [ buildEventSubscription(), buildEventSubscription(), ]; -void checkUnnamed66(core.List o) { +void checkUnnamed68(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEventSubscription(o[0]); checkEventSubscription(o[1]); } -core.List buildUnnamed67() => [ +core.List buildUnnamed69() => [ 'foo', 'foo', ]; -void checkUnnamed67(core.List o) { +void checkUnnamed69(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3552,9 +3611,9 @@ api.ListEventSubscriptionsResponse buildListEventSubscriptionsResponse() { final o = api.ListEventSubscriptionsResponse(); buildCounterListEventSubscriptionsResponse++; if (buildCounterListEventSubscriptionsResponse < 3) { - o.eventSubscriptions = buildUnnamed66(); + o.eventSubscriptions = buildUnnamed68(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed67(); + o.unreachable = buildUnnamed69(); } buildCounterListEventSubscriptionsResponse--; return o; @@ -3563,22 +3622,22 @@ api.ListEventSubscriptionsResponse buildListEventSubscriptionsResponse() { void checkListEventSubscriptionsResponse(api.ListEventSubscriptionsResponse o) { buildCounterListEventSubscriptionsResponse++; if (buildCounterListEventSubscriptionsResponse < 3) { - checkUnnamed66(o.eventSubscriptions!); + checkUnnamed68(o.eventSubscriptions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed67(o.unreachable!); + checkUnnamed69(o.unreachable!); } buildCounterListEventSubscriptionsResponse--; } -core.List buildUnnamed68() => [ +core.List buildUnnamed70() => [ buildEventType(), buildEventType(), ]; -void checkUnnamed68(core.List o) { +void checkUnnamed70(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEventType(o[0]); checkEventType(o[1]); @@ -3589,7 +3648,7 @@ api.ListEventTypesResponse buildListEventTypesResponse() { final o = api.ListEventTypesResponse(); buildCounterListEventTypesResponse++; if (buildCounterListEventTypesResponse < 3) { - o.eventTypes = buildUnnamed68(); + o.eventTypes = buildUnnamed70(); o.nextPageToken = 'foo'; } buildCounterListEventTypesResponse--; @@ -3599,7 +3658,7 @@ api.ListEventTypesResponse buildListEventTypesResponse() { void checkListEventTypesResponse(api.ListEventTypesResponse o) { buildCounterListEventTypesResponse++; if (buildCounterListEventTypesResponse < 3) { - checkUnnamed68(o.eventTypes!); + checkUnnamed70(o.eventTypes!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -3608,12 +3667,12 @@ void checkListEventTypesResponse(api.ListEventTypesResponse o) { buildCounterListEventTypesResponse--; } -core.List buildUnnamed69() => [ +core.List buildUnnamed71() => [ buildLocation(), buildLocation(), ]; -void checkUnnamed69(core.List o) { +void checkUnnamed71(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLocation(o[0]); checkLocation(o[1]); @@ -3624,7 +3683,7 @@ api.ListLocationsResponse buildListLocationsResponse() { final o = api.ListLocationsResponse(); buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - o.locations = buildUnnamed69(); + o.locations = buildUnnamed71(); o.nextPageToken = 'foo'; } buildCounterListLocationsResponse--; @@ -3634,7 +3693,7 @@ api.ListLocationsResponse buildListLocationsResponse() { void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - checkUnnamed69(o.locations!); + checkUnnamed71(o.locations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -3643,12 +3702,12 @@ void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse--; } -core.List buildUnnamed70() => [ +core.List buildUnnamed72() => [ buildManagedZone(), buildManagedZone(), ]; -void checkUnnamed70(core.List o) { +void checkUnnamed72(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkManagedZone(o[0]); checkManagedZone(o[1]); @@ -3659,7 +3718,7 @@ api.ListManagedZonesResponse buildListManagedZonesResponse() { final o = api.ListManagedZonesResponse(); buildCounterListManagedZonesResponse++; if (buildCounterListManagedZonesResponse < 3) { - o.managedZones = buildUnnamed70(); + o.managedZones = buildUnnamed72(); o.nextPageToken = 'foo'; } buildCounterListManagedZonesResponse--; @@ -3669,7 +3728,7 @@ api.ListManagedZonesResponse buildListManagedZonesResponse() { void checkListManagedZonesResponse(api.ListManagedZonesResponse o) { buildCounterListManagedZonesResponse++; if (buildCounterListManagedZonesResponse < 3) { - checkUnnamed70(o.managedZones!); + checkUnnamed72(o.managedZones!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -3678,12 +3737,12 @@ void checkListManagedZonesResponse(api.ListManagedZonesResponse o) { buildCounterListManagedZonesResponse--; } -core.List buildUnnamed71() => [ +core.List buildUnnamed73() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed71(core.List o) { +void checkUnnamed73(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -3695,7 +3754,7 @@ api.ListOperationsResponse buildListOperationsResponse() { buildCounterListOperationsResponse++; if (buildCounterListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed71(); + o.operations = buildUnnamed73(); } buildCounterListOperationsResponse--; return o; @@ -3708,28 +3767,28 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed71(o.operations!); + checkUnnamed73(o.operations!); } buildCounterListOperationsResponse--; } -core.List buildUnnamed72() => [ +core.List buildUnnamed74() => [ buildProvider(), buildProvider(), ]; -void checkUnnamed72(core.List o) { +void checkUnnamed74(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkProvider(o[0]); checkProvider(o[1]); } -core.List buildUnnamed73() => [ +core.List buildUnnamed75() => [ 'foo', 'foo', ]; -void checkUnnamed73(core.List o) { +void checkUnnamed75(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3747,8 +3806,8 @@ api.ListProvidersResponse buildListProvidersResponse() { buildCounterListProvidersResponse++; if (buildCounterListProvidersResponse < 3) { o.nextPageToken = 'foo'; - o.providers = buildUnnamed72(); - o.unreachable = buildUnnamed73(); + o.providers = buildUnnamed74(); + o.unreachable = buildUnnamed75(); } buildCounterListProvidersResponse--; return o; @@ -3761,18 +3820,18 @@ void checkListProvidersResponse(api.ListProvidersResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed72(o.providers!); - checkUnnamed73(o.unreachable!); + checkUnnamed74(o.providers!); + checkUnnamed75(o.unreachable!); } buildCounterListProvidersResponse--; } -core.List buildUnnamed74() => [ +core.List buildUnnamed76() => [ buildRuntimeActionSchema(), buildRuntimeActionSchema(), ]; -void checkUnnamed74(core.List o) { +void checkUnnamed76(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRuntimeActionSchema(o[0]); checkRuntimeActionSchema(o[1]); @@ -3784,7 +3843,7 @@ api.ListRuntimeActionSchemasResponse buildListRuntimeActionSchemasResponse() { buildCounterListRuntimeActionSchemasResponse++; if (buildCounterListRuntimeActionSchemasResponse < 3) { o.nextPageToken = 'foo'; - o.runtimeActionSchemas = buildUnnamed74(); + o.runtimeActionSchemas = buildUnnamed76(); } buildCounterListRuntimeActionSchemasResponse--; return o; @@ -3798,17 +3857,17 @@ void checkListRuntimeActionSchemasResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed74(o.runtimeActionSchemas!); + checkUnnamed76(o.runtimeActionSchemas!); } buildCounterListRuntimeActionSchemasResponse--; } -core.List buildUnnamed75() => [ +core.List buildUnnamed77() => [ buildRuntimeEntitySchema(), buildRuntimeEntitySchema(), ]; -void checkUnnamed75(core.List o) { +void checkUnnamed77(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRuntimeEntitySchema(o[0]); checkRuntimeEntitySchema(o[1]); @@ -3820,7 +3879,7 @@ api.ListRuntimeEntitySchemasResponse buildListRuntimeEntitySchemasResponse() { buildCounterListRuntimeEntitySchemasResponse++; if (buildCounterListRuntimeEntitySchemasResponse < 3) { o.nextPageToken = 'foo'; - o.runtimeEntitySchemas = buildUnnamed75(); + o.runtimeEntitySchemas = buildUnnamed77(); } buildCounterListRuntimeEntitySchemasResponse--; return o; @@ -3834,12 +3893,12 @@ void checkListRuntimeEntitySchemasResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed75(o.runtimeEntitySchemas!); + checkUnnamed77(o.runtimeEntitySchemas!); } buildCounterListRuntimeEntitySchemasResponse--; } -core.Map buildUnnamed76() => { +core.Map buildUnnamed78() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3852,34 +3911,34 @@ core.Map buildUnnamed76() => { }, }; -void checkUnnamed76(core.Map o) { +void checkUnnamed78(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted8 = (o['x']!) as core.Map; - unittest.expect(casted8, unittest.hasLength(3)); + var casted10 = (o['x']!) as core.Map; + unittest.expect(casted10, unittest.hasLength(3)); unittest.expect( - casted8['list'], + casted10['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted8['bool'], + casted10['bool'], unittest.equals(true), ); unittest.expect( - casted8['string'], + casted10['string'], unittest.equals('foo'), ); - var casted9 = (o['y']!) as core.Map; - unittest.expect(casted9, unittest.hasLength(3)); + var casted11 = (o['y']!) as core.Map; + unittest.expect(casted11, unittest.hasLength(3)); unittest.expect( - casted9['list'], + casted11['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted9['bool'], + casted11['bool'], unittest.equals(true), ); unittest.expect( - casted9['string'], + casted11['string'], unittest.equals('foo'), ); } @@ -3889,7 +3948,7 @@ api.ListenEventRequest buildListenEventRequest() { final o = api.ListenEventRequest(); buildCounterListenEventRequest++; if (buildCounterListenEventRequest < 3) { - o.payload = buildUnnamed76(); + o.payload = buildUnnamed78(); } buildCounterListenEventRequest--; return o; @@ -3898,7 +3957,7 @@ api.ListenEventRequest buildListenEventRequest() { void checkListenEventRequest(api.ListenEventRequest o) { buildCounterListenEventRequest++; if (buildCounterListenEventRequest < 3) { - checkUnnamed76(o.payload!); + checkUnnamed78(o.payload!); } buildCounterListenEventRequest--; } @@ -3918,12 +3977,12 @@ void checkListenEventResponse(api.ListenEventResponse o) { buildCounterListenEventResponse--; } -core.Map buildUnnamed77() => { +core.Map buildUnnamed79() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed77(core.Map o) { +void checkUnnamed79(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3935,7 +3994,7 @@ void checkUnnamed77(core.Map o) { ); } -core.Map buildUnnamed78() => { +core.Map buildUnnamed80() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3948,34 +4007,34 @@ core.Map buildUnnamed78() => { }, }; -void checkUnnamed78(core.Map o) { +void checkUnnamed80(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted10 = (o['x']!) as core.Map; - unittest.expect(casted10, unittest.hasLength(3)); + var casted12 = (o['x']!) as core.Map; + unittest.expect(casted12, unittest.hasLength(3)); unittest.expect( - casted10['list'], + casted12['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted10['bool'], + casted12['bool'], unittest.equals(true), ); unittest.expect( - casted10['string'], + casted12['string'], unittest.equals('foo'), ); - var casted11 = (o['y']!) as core.Map; - unittest.expect(casted11, unittest.hasLength(3)); + var casted13 = (o['y']!) as core.Map; + unittest.expect(casted13, unittest.hasLength(3)); unittest.expect( - casted11['list'], + casted13['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted11['bool'], + casted13['bool'], unittest.equals(true), ); unittest.expect( - casted11['string'], + casted13['string'], unittest.equals('foo'), ); } @@ -3986,9 +4045,9 @@ api.Location buildLocation() { buildCounterLocation++; if (buildCounterLocation < 3) { o.displayName = 'foo'; - o.labels = buildUnnamed77(); + o.labels = buildUnnamed79(); o.locationId = 'foo'; - o.metadata = buildUnnamed78(); + o.metadata = buildUnnamed80(); o.name = 'foo'; } buildCounterLocation--; @@ -4002,12 +4061,12 @@ void checkLocation(api.Location o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed77(o.labels!); + checkUnnamed79(o.labels!); unittest.expect( o.locationId!, unittest.equals('foo'), ); - checkUnnamed78(o.metadata!); + checkUnnamed80(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), @@ -4040,23 +4099,23 @@ void checkLockConfig(api.LockConfig o) { buildCounterLockConfig--; } -core.List buildUnnamed79() => [ +core.List buildUnnamed81() => [ buildFieldComparison(), buildFieldComparison(), ]; -void checkUnnamed79(core.List o) { +void checkUnnamed81(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFieldComparison(o[0]); checkFieldComparison(o[1]); } -core.List buildUnnamed80() => [ +core.List buildUnnamed82() => [ buildLogicalExpression(), buildLogicalExpression(), ]; -void checkUnnamed80(core.List o) { +void checkUnnamed82(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLogicalExpression(o[0]); checkLogicalExpression(o[1]); @@ -4067,8 +4126,8 @@ api.LogicalExpression buildLogicalExpression() { final o = api.LogicalExpression(); buildCounterLogicalExpression++; if (buildCounterLogicalExpression < 3) { - o.fieldComparisons = buildUnnamed79(); - o.logicalExpressions = buildUnnamed80(); + o.fieldComparisons = buildUnnamed81(); + o.logicalExpressions = buildUnnamed82(); o.logicalOperator = 'foo'; } buildCounterLogicalExpression--; @@ -4078,8 +4137,8 @@ api.LogicalExpression buildLogicalExpression() { void checkLogicalExpression(api.LogicalExpression o) { buildCounterLogicalExpression++; if (buildCounterLogicalExpression < 3) { - checkUnnamed79(o.fieldComparisons!); - checkUnnamed80(o.logicalExpressions!); + checkUnnamed81(o.fieldComparisons!); + checkUnnamed82(o.logicalExpressions!); unittest.expect( o.logicalOperator!, unittest.equals('foo'), @@ -4088,12 +4147,12 @@ void checkLogicalExpression(api.LogicalExpression o) { buildCounterLogicalExpression--; } -core.Map buildUnnamed81() => { +core.Map buildUnnamed83() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed81(core.Map o) { +void checkUnnamed83(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4113,7 +4172,7 @@ api.ManagedZone buildManagedZone() { o.createTime = 'foo'; o.description = 'foo'; o.dns = 'foo'; - o.labels = buildUnnamed81(); + o.labels = buildUnnamed83(); o.name = 'foo'; o.targetProject = 'foo'; o.targetVpc = 'foo'; @@ -4138,7 +4197,7 @@ void checkManagedZone(api.ManagedZone o) { o.dns!, unittest.equals('foo'), ); - checkUnnamed81(o.labels!); + checkUnnamed83(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -4196,12 +4255,12 @@ void checkMarketplaceConnectorDetails(api.MarketplaceConnectorDetails o) { buildCounterMarketplaceConnectorDetails--; } -core.List buildUnnamed82() => [ +core.List buildUnnamed84() => [ buildMultipleSelectOption(), buildMultipleSelectOption(), ]; -void checkUnnamed82(core.List o) { +void checkUnnamed84(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMultipleSelectOption(o[0]); checkMultipleSelectOption(o[1]); @@ -4213,7 +4272,7 @@ api.MultipleSelectConfig buildMultipleSelectConfig() { buildCounterMultipleSelectConfig++; if (buildCounterMultipleSelectConfig < 3) { o.allowCustomValues = true; - o.multipleSelectOptions = buildUnnamed82(); + o.multipleSelectOptions = buildUnnamed84(); o.valueSeparator = 'foo'; } buildCounterMultipleSelectConfig--; @@ -4224,7 +4283,7 @@ void checkMultipleSelectConfig(api.MultipleSelectConfig o) { buildCounterMultipleSelectConfig++; if (buildCounterMultipleSelectConfig < 3) { unittest.expect(o.allowCustomValues!, unittest.isTrue); - checkUnnamed82(o.multipleSelectOptions!); + checkUnnamed84(o.multipleSelectOptions!); unittest.expect( o.valueSeparator!, unittest.equals('foo'), @@ -4267,12 +4326,12 @@ void checkMultipleSelectOption(api.MultipleSelectOption o) { buildCounterMultipleSelectOption--; } -core.List buildUnnamed83() => [ +core.List buildUnnamed85() => [ 'foo', 'foo', ]; -void checkUnnamed83(core.List o) { +void checkUnnamed85(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4289,7 +4348,7 @@ api.NetworkConfig buildNetworkConfig() { final o = api.NetworkConfig(); buildCounterNetworkConfig++; if (buildCounterNetworkConfig < 3) { - o.egressIps = buildUnnamed83(); + o.egressIps = buildUnnamed85(); o.egressMode = 'foo'; } buildCounterNetworkConfig--; @@ -4299,7 +4358,7 @@ api.NetworkConfig buildNetworkConfig() { void checkNetworkConfig(api.NetworkConfig o) { buildCounterNetworkConfig++; if (buildCounterNetworkConfig < 3) { - checkUnnamed83(o.egressIps!); + checkUnnamed85(o.egressIps!); unittest.expect( o.egressMode!, unittest.equals('foo'), @@ -4335,12 +4394,12 @@ void checkNodeConfig(api.NodeConfig o) { buildCounterNodeConfig--; } -core.List buildUnnamed84() => [ +core.List buildUnnamed86() => [ 'foo', 'foo', ]; -void checkUnnamed84(core.List o) { +void checkUnnamed86(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4364,7 +4423,7 @@ api.Oauth2AuthCodeFlow buildOauth2AuthCodeFlow() { o.enablePkce = true; o.pkceVerifier = 'foo'; o.redirectUri = 'foo'; - o.scopes = buildUnnamed84(); + o.scopes = buildUnnamed86(); } buildCounterOauth2AuthCodeFlow--; return o; @@ -4395,17 +4454,17 @@ void checkOauth2AuthCodeFlow(api.Oauth2AuthCodeFlow o) { o.redirectUri!, unittest.equals('foo'), ); - checkUnnamed84(o.scopes!); + checkUnnamed86(o.scopes!); } buildCounterOauth2AuthCodeFlow--; } -core.List buildUnnamed85() => [ +core.List buildUnnamed87() => [ 'foo', 'foo', ]; -void checkUnnamed85(core.List o) { +void checkUnnamed87(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4424,7 +4483,7 @@ api.Oauth2AuthCodeFlowGoogleManaged buildOauth2AuthCodeFlowGoogleManaged() { if (buildCounterOauth2AuthCodeFlowGoogleManaged < 3) { o.authCode = 'foo'; o.redirectUri = 'foo'; - o.scopes = buildUnnamed85(); + o.scopes = buildUnnamed87(); } buildCounterOauth2AuthCodeFlowGoogleManaged--; return o; @@ -4442,7 +4501,7 @@ void checkOauth2AuthCodeFlowGoogleManaged( o.redirectUri!, unittest.equals('foo'), ); - checkUnnamed85(o.scopes!); + checkUnnamed87(o.scopes!); } buildCounterOauth2AuthCodeFlowGoogleManaged--; } @@ -4492,7 +4551,7 @@ void checkOauth2JwtBearer(api.Oauth2JwtBearer o) { buildCounterOauth2JwtBearer--; } -core.Map buildUnnamed86() => { +core.Map buildUnnamed88() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -4505,39 +4564,39 @@ core.Map buildUnnamed86() => { }, }; -void checkUnnamed86(core.Map o) { +void checkUnnamed88(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted12 = (o['x']!) as core.Map; - unittest.expect(casted12, unittest.hasLength(3)); + var casted14 = (o['x']!) as core.Map; + unittest.expect(casted14, unittest.hasLength(3)); unittest.expect( - casted12['list'], + casted14['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted12['bool'], + casted14['bool'], unittest.equals(true), ); unittest.expect( - casted12['string'], + casted14['string'], unittest.equals('foo'), ); - var casted13 = (o['y']!) as core.Map; - unittest.expect(casted13, unittest.hasLength(3)); + var casted15 = (o['y']!) as core.Map; + unittest.expect(casted15, unittest.hasLength(3)); unittest.expect( - casted13['list'], + casted15['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted13['bool'], + casted15['bool'], unittest.equals(true), ); unittest.expect( - casted13['string'], + casted15['string'], unittest.equals('foo'), ); } -core.Map buildUnnamed87() => { +core.Map buildUnnamed89() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -4550,34 +4609,34 @@ core.Map buildUnnamed87() => { }, }; -void checkUnnamed87(core.Map o) { +void checkUnnamed89(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted14 = (o['x']!) as core.Map; - unittest.expect(casted14, unittest.hasLength(3)); + var casted16 = (o['x']!) as core.Map; + unittest.expect(casted16, unittest.hasLength(3)); unittest.expect( - casted14['list'], + casted16['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted14['bool'], + casted16['bool'], unittest.equals(true), ); unittest.expect( - casted14['string'], + casted16['string'], unittest.equals('foo'), ); - var casted15 = (o['y']!) as core.Map; - unittest.expect(casted15, unittest.hasLength(3)); + var casted17 = (o['y']!) as core.Map; + unittest.expect(casted17, unittest.hasLength(3)); unittest.expect( - casted15['list'], + casted17['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted15['bool'], + casted17['bool'], unittest.equals(true), ); unittest.expect( - casted15['string'], + casted17['string'], unittest.equals('foo'), ); } @@ -4589,9 +4648,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed86(); + o.metadata = buildUnnamed88(); o.name = 'foo'; - o.response = buildUnnamed87(); + o.response = buildUnnamed89(); } buildCounterOperation--; return o; @@ -4602,12 +4661,12 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed86(o.metadata!); + checkUnnamed88(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed87(o.response!); + checkUnnamed89(o.response!); } buildCounterOperation--; } @@ -4621,7 +4680,9 @@ api.PartnerMetadata buildPartnerMetadata() { o.additionalComments = 'foo'; o.confirmPartnerRequirements = true; o.demoUri = 'foo'; + o.hasDynamicSpecUri = true; o.integrationTemplates = 'foo'; + o.localSpecPath = 'foo'; o.marketplaceProduct = 'foo'; o.marketplaceProductId = 'foo'; o.marketplaceProductProjectId = 'foo'; @@ -4650,10 +4711,15 @@ void checkPartnerMetadata(api.PartnerMetadata o) { o.demoUri!, unittest.equals('foo'), ); + unittest.expect(o.hasDynamicSpecUri!, unittest.isTrue); unittest.expect( o.integrationTemplates!, unittest.equals('foo'), ); + unittest.expect( + o.localSpecPath!, + unittest.equals('foo'), + ); unittest.expect( o.marketplaceProduct!, unittest.equals('foo'), @@ -4698,23 +4764,23 @@ void checkPartnerMetadata(api.PartnerMetadata o) { buildCounterPartnerMetadata--; } -core.List buildUnnamed88() => [ +core.List buildUnnamed90() => [ buildAuditConfig(), buildAuditConfig(), ]; -void checkUnnamed88(core.List o) { +void checkUnnamed90(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuditConfig(o[0]); checkAuditConfig(o[1]); } -core.List buildUnnamed89() => [ +core.List buildUnnamed91() => [ buildBinding(), buildBinding(), ]; -void checkUnnamed89(core.List o) { +void checkUnnamed91(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBinding(o[0]); checkBinding(o[1]); @@ -4725,8 +4791,8 @@ api.Policy buildPolicy() { final o = api.Policy(); buildCounterPolicy++; if (buildCounterPolicy < 3) { - o.auditConfigs = buildUnnamed88(); - o.bindings = buildUnnamed89(); + o.auditConfigs = buildUnnamed90(); + o.bindings = buildUnnamed91(); o.etag = 'foo'; o.version = 42; } @@ -4737,8 +4803,8 @@ api.Policy buildPolicy() { void checkPolicy(api.Policy o) { buildCounterPolicy++; if (buildCounterPolicy < 3) { - checkUnnamed88(o.auditConfigs!); - checkUnnamed89(o.bindings!); + checkUnnamed90(o.auditConfigs!); + checkUnnamed91(o.bindings!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -4751,12 +4817,12 @@ void checkPolicy(api.Policy o) { buildCounterPolicy--; } -core.Map buildUnnamed90() => { +core.Map buildUnnamed92() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed90(core.Map o) { +void checkUnnamed92(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4778,7 +4844,7 @@ api.Provider buildProvider() { o.displayName = 'foo'; o.documentationUri = 'foo'; o.externalUri = 'foo'; - o.labels = buildUnnamed90(); + o.labels = buildUnnamed92(); o.launchStage = 'foo'; o.name = 'foo'; o.updateTime = 'foo'; @@ -4811,7 +4877,7 @@ void checkProvider(api.Provider o) { o.externalUri!, unittest.equals('foo'), ); - checkUnnamed90(o.labels!); + checkUnnamed92(o.labels!); unittest.expect( o.launchStage!, unittest.equals('foo'), @@ -4832,6 +4898,65 @@ void checkProvider(api.Provider o) { buildCounterProvider--; } +core.Map buildUnnamed93() => { + 'x': 'foo', + 'y': 'foo', + }; + +void checkUnnamed93(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o['x']!, + unittest.equals('foo'), + ); + unittest.expect( + o['y']!, + unittest.equals('foo'), + ); +} + +core.List buildUnnamed94() => [ + buildConfigVariable(), + buildConfigVariable(), + ]; + +void checkUnnamed94(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkConfigVariable(o[0]); + checkConfigVariable(o[1]); +} + +core.int buildCounterPubSub = 0; +api.PubSub buildPubSub() { + final o = api.PubSub(); + buildCounterPubSub++; + if (buildCounterPubSub < 3) { + o.attributes = buildUnnamed93(); + o.configVariables = buildUnnamed94(); + o.projectId = 'foo'; + o.topicId = 'foo'; + } + buildCounterPubSub--; + return o; +} + +void checkPubSub(api.PubSub o) { + buildCounterPubSub++; + if (buildCounterPubSub < 3) { + checkUnnamed93(o.attributes!); + checkUnnamed94(o.configVariables!); + unittest.expect( + o.projectId!, + unittest.equals('foo'), + ); + unittest.expect( + o.topicId!, + unittest.equals('foo'), + ); + } + buildCounterPubSub--; +} + core.int buildCounterPublishCustomConnectorVersionRequest = 0; api.PublishCustomConnectorVersionRequest buildPublishCustomConnectorVersionRequest() { @@ -5058,18 +5183,18 @@ void checkResultMetadata(api.ResultMetadata o) { o.dataType!, unittest.equals('foo'), ); - var casted16 = (o.defaultValue!) as core.Map; - unittest.expect(casted16, unittest.hasLength(3)); + var casted18 = (o.defaultValue!) as core.Map; + unittest.expect(casted18, unittest.hasLength(3)); unittest.expect( - casted16['list'], + casted18['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted16['bool'], + casted18['bool'], unittest.equals(true), ); unittest.expect( - casted16['string'], + casted18['string'], unittest.equals('foo'), ); unittest.expect( @@ -5101,12 +5226,12 @@ void checkRetryEventSubscriptionRequest(api.RetryEventSubscriptionRequest o) { buildCounterRetryEventSubscriptionRequest--; } -core.List buildUnnamed91() => [ +core.List buildUnnamed95() => [ 'foo', 'foo', ]; -void checkUnnamed91(core.List o) { +void checkUnnamed95(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5126,7 +5251,7 @@ api.RoleGrant buildRoleGrant() { o.helperTextTemplate = 'foo'; o.principal = 'foo'; o.resource = buildResource(); - o.roles = buildUnnamed91(); + o.roles = buildUnnamed95(); } buildCounterRoleGrant--; return o; @@ -5144,28 +5269,28 @@ void checkRoleGrant(api.RoleGrant o) { unittest.equals('foo'), ); checkResource(o.resource!); - checkUnnamed91(o.roles!); + checkUnnamed95(o.roles!); } buildCounterRoleGrant--; } -core.List buildUnnamed92() => [ +core.List buildUnnamed96() => [ buildInputParameter(), buildInputParameter(), ]; -void checkUnnamed92(core.List o) { +void checkUnnamed96(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInputParameter(o[0]); checkInputParameter(o[1]); } -core.List buildUnnamed93() => [ +core.List buildUnnamed97() => [ buildResultMetadata(), buildResultMetadata(), ]; -void checkUnnamed93(core.List o) { +void checkUnnamed97(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkResultMetadata(o[0]); checkResultMetadata(o[1]); @@ -5180,10 +5305,10 @@ api.RuntimeActionSchema buildRuntimeActionSchema() { o.description = 'foo'; o.displayName = 'foo'; o.inputJsonSchema = buildJsonSchema(); - o.inputParameters = buildUnnamed92(); + o.inputParameters = buildUnnamed96(); o.inputSchemaAsString = 'foo'; o.resultJsonSchema = buildJsonSchema(); - o.resultMetadata = buildUnnamed93(); + o.resultMetadata = buildUnnamed97(); o.resultSchemaAsString = 'foo'; } buildCounterRuntimeActionSchema--; @@ -5206,13 +5331,13 @@ void checkRuntimeActionSchema(api.RuntimeActionSchema o) { unittest.equals('foo'), ); checkJsonSchema(o.inputJsonSchema!); - checkUnnamed92(o.inputParameters!); + checkUnnamed96(o.inputParameters!); unittest.expect( o.inputSchemaAsString!, unittest.equals('foo'), ); checkJsonSchema(o.resultJsonSchema!); - checkUnnamed93(o.resultMetadata!); + checkUnnamed97(o.resultMetadata!); unittest.expect( o.resultSchemaAsString!, unittest.equals('foo'), @@ -5288,23 +5413,23 @@ void checkRuntimeConfig(api.RuntimeConfig o) { buildCounterRuntimeConfig--; } -core.List buildUnnamed94() => [ +core.List buildUnnamed98() => [ buildField(), buildField(), ]; -void checkUnnamed94(core.List o) { +void checkUnnamed98(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkField(o[0]); checkField(o[1]); } -core.List buildUnnamed95() => [ +core.List buildUnnamed99() => [ 'foo', 'foo', ]; -void checkUnnamed95(core.List o) { +void checkUnnamed99(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5322,9 +5447,9 @@ api.RuntimeEntitySchema buildRuntimeEntitySchema() { buildCounterRuntimeEntitySchema++; if (buildCounterRuntimeEntitySchema < 3) { o.entity = 'foo'; - o.fields = buildUnnamed94(); + o.fields = buildUnnamed98(); o.jsonSchema = buildJsonSchema(); - o.operations = buildUnnamed95(); + o.operations = buildUnnamed99(); } buildCounterRuntimeEntitySchema--; return o; @@ -5337,9 +5462,9 @@ void checkRuntimeEntitySchema(api.RuntimeEntitySchema o) { o.entity!, unittest.equals('foo'), ); - checkUnnamed94(o.fields!); + checkUnnamed98(o.fields!); checkJsonSchema(o.jsonSchema!); - checkUnnamed95(o.operations!); + checkUnnamed99(o.operations!); } buildCounterRuntimeEntitySchema--; } @@ -5388,23 +5513,23 @@ void checkSearchConnectionInstance(api.SearchConnectionInstance o) { buildCounterSearchConnectionInstance--; } -core.List buildUnnamed96() => [ +core.List buildUnnamed100() => [ buildSearchConnectionInstance(), buildSearchConnectionInstance(), ]; -void checkUnnamed96(core.List o) { +void checkUnnamed100(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSearchConnectionInstance(o[0]); checkSearchConnectionInstance(o[1]); } -core.List buildUnnamed97() => [ +core.List buildUnnamed101() => [ 'foo', 'foo', ]; -void checkUnnamed97(core.List o) { +void checkUnnamed101(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5421,9 +5546,9 @@ api.SearchConnectionsResponse buildSearchConnectionsResponse() { final o = api.SearchConnectionsResponse(); buildCounterSearchConnectionsResponse++; if (buildCounterSearchConnectionsResponse < 3) { - o.connections = buildUnnamed96(); + o.connections = buildUnnamed100(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed97(); + o.unreachable = buildUnnamed101(); } buildCounterSearchConnectionsResponse--; return o; @@ -5432,12 +5557,12 @@ api.SearchConnectionsResponse buildSearchConnectionsResponse() { void checkSearchConnectionsResponse(api.SearchConnectionsResponse o) { buildCounterSearchConnectionsResponse++; if (buildCounterSearchConnectionsResponse < 3) { - checkUnnamed96(o.connections!); + checkUnnamed100(o.connections!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed97(o.unreachable!); + checkUnnamed101(o.unreachable!); } buildCounterSearchConnectionsResponse--; } @@ -5577,12 +5702,12 @@ void checkSshPublicKey(api.SshPublicKey o) { buildCounterSshPublicKey--; } -core.List buildUnnamed98() => [ +core.List buildUnnamed102() => [ buildConfigVariable(), buildConfigVariable(), ]; -void checkUnnamed98(core.List o) { +void checkUnnamed102(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfigVariable(o[0]); checkConfigVariable(o[1]); @@ -5593,7 +5718,7 @@ api.SslConfig buildSslConfig() { final o = api.SslConfig(); buildCounterSslConfig++; if (buildCounterSslConfig < 3) { - o.additionalVariables = buildUnnamed98(); + o.additionalVariables = buildUnnamed102(); o.clientCertType = 'foo'; o.clientCertificate = buildSecret(); o.clientPrivateKey = buildSecret(); @@ -5611,7 +5736,7 @@ api.SslConfig buildSslConfig() { void checkSslConfig(api.SslConfig o) { buildCounterSslConfig++; if (buildCounterSslConfig < 3) { - checkUnnamed98(o.additionalVariables!); + checkUnnamed102(o.additionalVariables!); unittest.expect( o.clientCertType!, unittest.equals('foo'), @@ -5637,23 +5762,23 @@ void checkSslConfig(api.SslConfig o) { buildCounterSslConfig--; } -core.List buildUnnamed99() => [ +core.List buildUnnamed103() => [ buildConfigVariableTemplate(), buildConfigVariableTemplate(), ]; -void checkUnnamed99(core.List o) { +void checkUnnamed103(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfigVariableTemplate(o[0]); checkConfigVariableTemplate(o[1]); } -core.List buildUnnamed100() => [ +core.List buildUnnamed104() => [ 'foo', 'foo', ]; -void checkUnnamed100(core.List o) { +void checkUnnamed104(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5665,12 +5790,12 @@ void checkUnnamed100(core.List o) { ); } -core.List buildUnnamed101() => [ +core.List buildUnnamed105() => [ 'foo', 'foo', ]; -void checkUnnamed101(core.List o) { +void checkUnnamed105(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5687,10 +5812,10 @@ api.SslConfigTemplate buildSslConfigTemplate() { final o = api.SslConfigTemplate(); buildCounterSslConfigTemplate++; if (buildCounterSslConfigTemplate < 3) { - o.additionalVariables = buildUnnamed99(); - o.clientCertType = buildUnnamed100(); + o.additionalVariables = buildUnnamed103(); + o.clientCertType = buildUnnamed104(); o.isTlsMandatory = true; - o.serverCertType = buildUnnamed101(); + o.serverCertType = buildUnnamed105(); o.sslType = 'foo'; } buildCounterSslConfigTemplate--; @@ -5700,10 +5825,10 @@ api.SslConfigTemplate buildSslConfigTemplate() { void checkSslConfigTemplate(api.SslConfigTemplate o) { buildCounterSslConfigTemplate++; if (buildCounterSslConfigTemplate < 3) { - checkUnnamed99(o.additionalVariables!); - checkUnnamed100(o.clientCertType!); + checkUnnamed103(o.additionalVariables!); + checkUnnamed104(o.clientCertType!); unittest.expect(o.isTlsMandatory!, unittest.isTrue); - checkUnnamed101(o.serverCertType!); + checkUnnamed105(o.serverCertType!); unittest.expect( o.sslType!, unittest.equals('foo'), @@ -5756,7 +5881,7 @@ void checkStandardEntity(api.StandardEntity o) { buildCounterStandardEntity--; } -core.Map buildUnnamed102() => { +core.Map buildUnnamed106() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -5769,47 +5894,47 @@ core.Map buildUnnamed102() => { }, }; -void checkUnnamed102(core.Map o) { +void checkUnnamed106(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted17 = (o['x']!) as core.Map; - unittest.expect(casted17, unittest.hasLength(3)); + var casted19 = (o['x']!) as core.Map; + unittest.expect(casted19, unittest.hasLength(3)); unittest.expect( - casted17['list'], + casted19['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted17['bool'], + casted19['bool'], unittest.equals(true), ); unittest.expect( - casted17['string'], + casted19['string'], unittest.equals('foo'), ); - var casted18 = (o['y']!) as core.Map; - unittest.expect(casted18, unittest.hasLength(3)); + var casted20 = (o['y']!) as core.Map; + unittest.expect(casted20, unittest.hasLength(3)); unittest.expect( - casted18['list'], + casted20['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted18['bool'], + casted20['bool'], unittest.equals(true), ); unittest.expect( - casted18['string'], + casted20['string'], unittest.equals('foo'), ); } -core.List> buildUnnamed103() => [ - buildUnnamed102(), - buildUnnamed102(), +core.List> buildUnnamed107() => [ + buildUnnamed106(), + buildUnnamed106(), ]; -void checkUnnamed103(core.List> o) { +void checkUnnamed107(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed102(o[0]); - checkUnnamed102(o[1]); + checkUnnamed106(o[0]); + checkUnnamed106(o[1]); } core.int buildCounterStatus = 0; @@ -5818,7 +5943,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed103(); + o.details = buildUnnamed107(); o.message = 'foo'; } buildCounterStatus--; @@ -5832,7 +5957,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed103(o.details!); + checkUnnamed107(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -5864,12 +5989,12 @@ void checkSupportedRuntimeFeatures(api.SupportedRuntimeFeatures o) { buildCounterSupportedRuntimeFeatures--; } -core.List buildUnnamed104() => [ +core.List buildUnnamed108() => [ 'foo', 'foo', ]; -void checkUnnamed104(core.List o) { +void checkUnnamed108(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5886,7 +6011,7 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { final o = api.TestIamPermissionsRequest(); buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - o.permissions = buildUnnamed104(); + o.permissions = buildUnnamed108(); } buildCounterTestIamPermissionsRequest--; return o; @@ -5895,17 +6020,17 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { void checkTestIamPermissionsRequest(api.TestIamPermissionsRequest o) { buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - checkUnnamed104(o.permissions!); + checkUnnamed108(o.permissions!); } buildCounterTestIamPermissionsRequest--; } -core.List buildUnnamed105() => [ +core.List buildUnnamed109() => [ 'foo', 'foo', ]; -void checkUnnamed105(core.List o) { +void checkUnnamed109(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5922,7 +6047,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { final o = api.TestIamPermissionsResponse(); buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - o.permissions = buildUnnamed105(); + o.permissions = buildUnnamed109(); } buildCounterTestIamPermissionsResponse--; return o; @@ -5931,11 +6056,38 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { void checkTestIamPermissionsResponse(api.TestIamPermissionsResponse o) { buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - checkUnnamed105(o.permissions!); + checkUnnamed109(o.permissions!); } buildCounterTestIamPermissionsResponse--; } +core.int buildCounterTrafficShapingConfig = 0; +api.TrafficShapingConfig buildTrafficShapingConfig() { + final o = api.TrafficShapingConfig(); + buildCounterTrafficShapingConfig++; + if (buildCounterTrafficShapingConfig < 3) { + o.duration = 'foo'; + o.quotaLimit = 'foo'; + } + buildCounterTrafficShapingConfig--; + return o; +} + +void checkTrafficShapingConfig(api.TrafficShapingConfig o) { + buildCounterTrafficShapingConfig++; + if (buildCounterTrafficShapingConfig < 3) { + unittest.expect( + o.duration!, + unittest.equals('foo'), + ); + unittest.expect( + o.quotaLimit!, + unittest.equals('foo'), + ); + } + buildCounterTrafficShapingConfig--; +} + core.int buildCounterUserPassword = 0; api.UserPassword buildUserPassword() { final o = api.UserPassword(); @@ -6018,12 +6170,12 @@ void checkValidateCustomConnectorSpecResponse( buildCounterValidateCustomConnectorSpecResponse--; } -core.List buildUnnamed106() => [ +core.List buildUnnamed110() => [ buildConfigVariable(), buildConfigVariable(), ]; -void checkUnnamed106(core.List o) { +void checkUnnamed110(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfigVariable(o[0]); checkConfigVariable(o[1]); @@ -6034,7 +6186,7 @@ api.WebhookData buildWebhookData() { final o = api.WebhookData(); buildCounterWebhookData++; if (buildCounterWebhookData < 3) { - o.additionalVariables = buildUnnamed106(); + o.additionalVariables = buildUnnamed110(); o.createTime = 'foo'; o.id = 'foo'; o.name = 'foo'; @@ -6048,7 +6200,7 @@ api.WebhookData buildWebhookData() { void checkWebhookData(api.WebhookData o) { buildCounterWebhookData++; if (buildCounterWebhookData < 3) { - checkUnnamed106(o.additionalVariables!); + checkUnnamed110(o.additionalVariables!); unittest.expect( o.createTime!, unittest.equals('foo'), @@ -6073,12 +6225,12 @@ void checkWebhookData(api.WebhookData o) { buildCounterWebhookData--; } -core.List buildUnnamed107() => [ +core.List buildUnnamed111() => [ buildWebhookData(), buildWebhookData(), ]; -void checkUnnamed107(core.List o) { +void checkUnnamed111(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWebhookData(o[0]); checkWebhookData(o[1]); @@ -6089,7 +6241,7 @@ api.WebhookSubscriptions buildWebhookSubscriptions() { final o = api.WebhookSubscriptions(); buildCounterWebhookSubscriptions++; if (buildCounterWebhookSubscriptions < 3) { - o.webhookData = buildUnnamed107(); + o.webhookData = buildUnnamed111(); } buildCounterWebhookSubscriptions--; return o; @@ -6098,7 +6250,7 @@ api.WebhookSubscriptions buildWebhookSubscriptions() { void checkWebhookSubscriptions(api.WebhookSubscriptions o) { buildCounterWebhookSubscriptions++; if (buildCounterWebhookSubscriptions < 3) { - checkUnnamed107(o.webhookData!); + checkUnnamed111(o.webhookData!); } buildCounterWebhookSubscriptions--; } @@ -6471,6 +6623,16 @@ void main() { }); }); + unittest.group('obj-schema-EnrichmentConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildEnrichmentConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.EnrichmentConfig.fromJson( + oJson as core.Map); + checkEnrichmentConfig(od); + }); + }); + unittest.group('obj-schema-EnumOption', () { unittest.test('to-json--from-json', () async { final o = buildEnumOption(); @@ -6631,16 +6793,6 @@ void main() { }); }); - unittest.group('obj-schema-GSUtil', () { - unittest.test('to-json--from-json', () async { - final o = buildGSUtil(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = - api.GSUtil.fromJson(oJson as core.Map); - checkGSUtil(od); - }); - }); - unittest.group('obj-schema-HPAConfig', () { unittest.test('to-json--from-json', () async { final o = buildHPAConfig(); @@ -7060,6 +7212,16 @@ void main() { }); }); + unittest.group('obj-schema-PubSub', () { + unittest.test('to-json--from-json', () async { + final o = buildPubSub(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.PubSub.fromJson(oJson as core.Map); + checkPubSub(od); + }); + }); + unittest.group('obj-schema-PublishCustomConnectorVersionRequest', () { unittest.test('to-json--from-json', () async { final o = buildPublishCustomConnectorVersionRequest(); @@ -7360,6 +7522,16 @@ void main() { }); }); + unittest.group('obj-schema-TrafficShapingConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildTrafficShapingConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.TrafficShapingConfig.fromJson( + oJson as core.Map); + checkTrafficShapingConfig(od); + }); + }); + unittest.group('obj-schema-UserPassword', () { unittest.test('to-json--from-json', () async { final o = buildUserPassword(); diff --git a/generated/googleapis/test/connectors/v2_test.dart b/generated/googleapis/test/connectors/v2_test.dart index 29e70e610..66b35b4d8 100644 --- a/generated/googleapis/test/connectors/v2_test.dart +++ b/generated/googleapis/test/connectors/v2_test.dart @@ -2198,6 +2198,7 @@ void main() { final res = api.ConnectorsApi(mock).projects.locations.connections.entityTypes; final arg_name = 'foo'; + final arg_view = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -2231,6 +2232,10 @@ void main() { ); } } + unittest.expect( + queryMap['view']!.first, + unittest.equals(arg_view), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -2242,7 +2247,8 @@ void main() { final resp = convert.json.encode(buildEntityType()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_name, $fields: arg_$fields); + final response = + await res.get(arg_name, view: arg_view, $fields: arg_$fields); checkEntityType(response as api.EntityType); }); diff --git a/generated/googleapis/test/contactcenterinsights/v1_test.dart b/generated/googleapis/test/contactcenterinsights/v1_test.dart index 3a33b3bc7..a4f156faf 100644 --- a/generated/googleapis/test/contactcenterinsights/v1_test.dart +++ b/generated/googleapis/test/contactcenterinsights/v1_test.dart @@ -466,6 +466,7 @@ api.GoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig if (buildCounterGoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig < 3) { o.conversationProfile = 'foo'; + o.generator = 'foo'; o.summarizationModel = 'foo'; } buildCounterGoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig--; @@ -482,6 +483,10 @@ void checkGoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig o.conversationProfile!, unittest.equals('foo'), ); + unittest.expect( + o.generator!, + unittest.equals('foo'), + ); unittest.expect( o.summarizationModel!, unittest.equals('foo'), @@ -2361,6 +2366,7 @@ api.GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest 3) { o.bigQueryDestination = buildGoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination(); + o.exportSchemaVersion = 'foo'; o.filter = 'foo'; o.kmsKey = 'foo'; o.parent = 'foo'; @@ -2377,6 +2383,10 @@ void checkGoogleCloudContactcenterinsightsV1ExportInsightsDataRequest( 3) { checkGoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination( o.bigQueryDestination!); + unittest.expect( + o.exportSchemaVersion!, + unittest.equals('foo'), + ); unittest.expect( o.filter!, unittest.equals('foo'), diff --git a/generated/googleapis/test/container/v1_test.dart b/generated/googleapis/test/container/v1_test.dart index 104125085..45f50b69f 100644 --- a/generated/googleapis/test/container/v1_test.dart +++ b/generated/googleapis/test/container/v1_test.dart @@ -294,6 +294,28 @@ void checkAuthenticatorGroupsConfig(api.AuthenticatorGroupsConfig o) { buildCounterAuthenticatorGroupsConfig--; } +core.int buildCounterAutoMonitoringConfig = 0; +api.AutoMonitoringConfig buildAutoMonitoringConfig() { + final o = api.AutoMonitoringConfig(); + buildCounterAutoMonitoringConfig++; + if (buildCounterAutoMonitoringConfig < 3) { + o.scope = 'foo'; + } + buildCounterAutoMonitoringConfig--; + return o; +} + +void checkAutoMonitoringConfig(api.AutoMonitoringConfig o) { + buildCounterAutoMonitoringConfig++; + if (buildCounterAutoMonitoringConfig < 3) { + unittest.expect( + o.scope!, + unittest.equals('foo'), + ); + } + buildCounterAutoMonitoringConfig--; +} + core.int buildCounterAutoUpgradeOptions = 0; api.AutoUpgradeOptions buildAutoUpgradeOptions() { final o = api.AutoUpgradeOptions(); @@ -403,6 +425,25 @@ void checkAutopilotCompatibilityIssue(api.AutopilotCompatibilityIssue o) { buildCounterAutopilotCompatibilityIssue--; } +core.int buildCounterAutopilotConfig = 0; +api.AutopilotConfig buildAutopilotConfig() { + final o = api.AutopilotConfig(); + buildCounterAutopilotConfig++; + if (buildCounterAutopilotConfig < 3) { + o.enabled = true; + } + buildCounterAutopilotConfig--; + return o; +} + +void checkAutopilotConfig(api.AutopilotConfig o) { + buildCounterAutopilotConfig++; + if (buildCounterAutopilotConfig < 3) { + unittest.expect(o.enabled!, unittest.isTrue); + } + buildCounterAutopilotConfig--; +} + core.List buildUnnamed3() => [ 'foo', 'foo', @@ -1263,6 +1304,7 @@ api.ClusterUpdate buildClusterUpdate() { o.desiredDatapathProvider = 'foo'; o.desiredDefaultEnablePrivateNodes = true; o.desiredDefaultSnatStatus = buildDefaultSnatStatus(); + o.desiredDisableL4LbFirewallReconciliation = true; o.desiredDnsConfig = buildDNSConfig(); o.desiredEnableCiliumClusterwideNetworkPolicy = true; o.desiredEnableFqdnNetworkPolicy = true; @@ -1340,6 +1382,8 @@ void checkClusterUpdate(api.ClusterUpdate o) { ); unittest.expect(o.desiredDefaultEnablePrivateNodes!, unittest.isTrue); checkDefaultSnatStatus(o.desiredDefaultSnatStatus!); + unittest.expect( + o.desiredDisableL4LbFirewallReconciliation!, unittest.isTrue); checkDNSConfig(o.desiredDnsConfig!); unittest.expect( o.desiredEnableCiliumClusterwideNetworkPolicy!, unittest.isTrue); @@ -3253,6 +3297,7 @@ api.ManagedPrometheusConfig buildManagedPrometheusConfig() { final o = api.ManagedPrometheusConfig(); buildCounterManagedPrometheusConfig++; if (buildCounterManagedPrometheusConfig < 3) { + o.autoMonitoringConfig = buildAutoMonitoringConfig(); o.enabled = true; } buildCounterManagedPrometheusConfig--; @@ -3262,6 +3307,7 @@ api.ManagedPrometheusConfig buildManagedPrometheusConfig() { void checkManagedPrometheusConfig(api.ManagedPrometheusConfig o) { buildCounterManagedPrometheusConfig++; if (buildCounterManagedPrometheusConfig < 3) { + checkAutoMonitoringConfig(o.autoMonitoringConfig!); unittest.expect(o.enabled!, unittest.isTrue); } buildCounterManagedPrometheusConfig--; @@ -3494,6 +3540,7 @@ api.NetworkConfig buildNetworkConfig() { o.datapathProvider = 'foo'; o.defaultEnablePrivateNodes = true; o.defaultSnatStatus = buildDefaultSnatStatus(); + o.disableL4LbFirewallReconciliation = true; o.dnsConfig = buildDNSConfig(); o.enableCiliumClusterwideNetworkPolicy = true; o.enableFqdnNetworkPolicy = true; @@ -3521,6 +3568,7 @@ void checkNetworkConfig(api.NetworkConfig o) { ); unittest.expect(o.defaultEnablePrivateNodes!, unittest.isTrue); checkDefaultSnatStatus(o.defaultSnatStatus!); + unittest.expect(o.disableL4LbFirewallReconciliation!, unittest.isTrue); checkDNSConfig(o.dnsConfig!); unittest.expect(o.enableCiliumClusterwideNetworkPolicy!, unittest.isTrue); unittest.expect(o.enableFqdnNetworkPolicy!, unittest.isTrue); @@ -3996,14 +4044,38 @@ void checkNodeConfigDefaults(api.NodeConfigDefaults o) { buildCounterNodeConfigDefaults--; } +core.List buildUnnamed49() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed49(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + core.int buildCounterNodeKubeletConfig = 0; api.NodeKubeletConfig buildNodeKubeletConfig() { final o = api.NodeKubeletConfig(); buildCounterNodeKubeletConfig++; if (buildCounterNodeKubeletConfig < 3) { + o.allowedUnsafeSysctls = buildUnnamed49(); + o.containerLogMaxFiles = 42; + o.containerLogMaxSize = 'foo'; o.cpuCfsQuota = true; o.cpuCfsQuotaPeriod = 'foo'; o.cpuManagerPolicy = 'foo'; + o.imageGcHighThresholdPercent = 42; + o.imageGcLowThresholdPercent = 42; + o.imageMaximumGcAge = 'foo'; + o.imageMinimumGcAge = 'foo'; o.insecureKubeletReadonlyPortEnabled = true; o.podPidsLimit = 'foo'; } @@ -4014,6 +4086,15 @@ api.NodeKubeletConfig buildNodeKubeletConfig() { void checkNodeKubeletConfig(api.NodeKubeletConfig o) { buildCounterNodeKubeletConfig++; if (buildCounterNodeKubeletConfig < 3) { + checkUnnamed49(o.allowedUnsafeSysctls!); + unittest.expect( + o.containerLogMaxFiles!, + unittest.equals(42), + ); + unittest.expect( + o.containerLogMaxSize!, + unittest.equals('foo'), + ); unittest.expect(o.cpuCfsQuota!, unittest.isTrue); unittest.expect( o.cpuCfsQuotaPeriod!, @@ -4023,6 +4104,22 @@ void checkNodeKubeletConfig(api.NodeKubeletConfig o) { o.cpuManagerPolicy!, unittest.equals('foo'), ); + unittest.expect( + o.imageGcHighThresholdPercent!, + unittest.equals(42), + ); + unittest.expect( + o.imageGcLowThresholdPercent!, + unittest.equals(42), + ); + unittest.expect( + o.imageMaximumGcAge!, + unittest.equals('foo'), + ); + unittest.expect( + o.imageMinimumGcAge!, + unittest.equals('foo'), + ); unittest.expect(o.insecureKubeletReadonlyPortEnabled!, unittest.isTrue); unittest.expect( o.podPidsLimit!, @@ -4032,12 +4129,12 @@ void checkNodeKubeletConfig(api.NodeKubeletConfig o) { buildCounterNodeKubeletConfig--; } -core.Map buildUnnamed49() => { +core.Map buildUnnamed50() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed49(core.Map o) { +void checkUnnamed50(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4054,7 +4151,7 @@ api.NodeLabels buildNodeLabels() { final o = api.NodeLabels(); buildCounterNodeLabels++; if (buildCounterNodeLabels < 3) { - o.labels = buildUnnamed49(); + o.labels = buildUnnamed50(); } buildCounterNodeLabels--; return o; @@ -4063,7 +4160,7 @@ api.NodeLabels buildNodeLabels() { void checkNodeLabels(api.NodeLabels o) { buildCounterNodeLabels++; if (buildCounterNodeLabels < 3) { - checkUnnamed49(o.labels!); + checkUnnamed50(o.labels!); } buildCounterNodeLabels--; } @@ -4091,23 +4188,23 @@ void checkNodeManagement(api.NodeManagement o) { buildCounterNodeManagement--; } -core.List buildUnnamed50() => [ +core.List buildUnnamed51() => [ buildAdditionalNodeNetworkConfig(), buildAdditionalNodeNetworkConfig(), ]; -void checkUnnamed50(core.List o) { +void checkUnnamed51(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAdditionalNodeNetworkConfig(o[0]); checkAdditionalNodeNetworkConfig(o[1]); } -core.List buildUnnamed51() => [ +core.List buildUnnamed52() => [ buildAdditionalPodNetworkConfig(), buildAdditionalPodNetworkConfig(), ]; -void checkUnnamed51(core.List o) { +void checkUnnamed52(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAdditionalPodNetworkConfig(o[0]); checkAdditionalPodNetworkConfig(o[1]); @@ -4118,8 +4215,8 @@ api.NodeNetworkConfig buildNodeNetworkConfig() { final o = api.NodeNetworkConfig(); buildCounterNodeNetworkConfig++; if (buildCounterNodeNetworkConfig < 3) { - o.additionalNodeNetworkConfigs = buildUnnamed50(); - o.additionalPodNetworkConfigs = buildUnnamed51(); + o.additionalNodeNetworkConfigs = buildUnnamed51(); + o.additionalPodNetworkConfigs = buildUnnamed52(); o.createPodRange = true; o.enablePrivateNodes = true; o.networkPerformanceConfig = buildNetworkPerformanceConfig(); @@ -4135,8 +4232,8 @@ api.NodeNetworkConfig buildNodeNetworkConfig() { void checkNodeNetworkConfig(api.NodeNetworkConfig o) { buildCounterNodeNetworkConfig++; if (buildCounterNodeNetworkConfig < 3) { - checkUnnamed50(o.additionalNodeNetworkConfigs!); - checkUnnamed51(o.additionalPodNetworkConfigs!); + checkUnnamed51(o.additionalNodeNetworkConfigs!); + checkUnnamed52(o.additionalPodNetworkConfigs!); unittest.expect(o.createPodRange!, unittest.isTrue); unittest.expect(o.enablePrivateNodes!, unittest.isTrue); checkNetworkPerformanceConfig(o.networkPerformanceConfig!); @@ -4157,23 +4254,23 @@ void checkNodeNetworkConfig(api.NodeNetworkConfig o) { buildCounterNodeNetworkConfig--; } -core.List buildUnnamed52() => [ +core.List buildUnnamed53() => [ buildStatusCondition(), buildStatusCondition(), ]; -void checkUnnamed52(core.List o) { +void checkUnnamed53(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStatusCondition(o[0]); checkStatusCondition(o[1]); } -core.List buildUnnamed53() => [ +core.List buildUnnamed54() => [ 'foo', 'foo', ]; -void checkUnnamed53(core.List o) { +void checkUnnamed54(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4185,12 +4282,12 @@ void checkUnnamed53(core.List o) { ); } -core.List buildUnnamed54() => [ +core.List buildUnnamed55() => [ 'foo', 'foo', ]; -void checkUnnamed54(core.List o) { +void checkUnnamed55(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4207,14 +4304,15 @@ api.NodePool buildNodePool() { final o = api.NodePool(); buildCounterNodePool++; if (buildCounterNodePool < 3) { + o.autopilotConfig = buildAutopilotConfig(); o.autoscaling = buildNodePoolAutoscaling(); o.bestEffortProvisioning = buildBestEffortProvisioning(); - o.conditions = buildUnnamed52(); + o.conditions = buildUnnamed53(); o.config = buildNodeConfig(); o.etag = 'foo'; o.initialNodeCount = 42; - o.instanceGroupUrls = buildUnnamed53(); - o.locations = buildUnnamed54(); + o.instanceGroupUrls = buildUnnamed54(); + o.locations = buildUnnamed55(); o.management = buildNodeManagement(); o.maxPodsConstraint = buildMaxPodsConstraint(); o.name = 'foo'; @@ -4236,9 +4334,10 @@ api.NodePool buildNodePool() { void checkNodePool(api.NodePool o) { buildCounterNodePool++; if (buildCounterNodePool < 3) { + checkAutopilotConfig(o.autopilotConfig!); checkNodePoolAutoscaling(o.autoscaling!); checkBestEffortProvisioning(o.bestEffortProvisioning!); - checkUnnamed52(o.conditions!); + checkUnnamed53(o.conditions!); checkNodeConfig(o.config!); unittest.expect( o.etag!, @@ -4248,8 +4347,8 @@ void checkNodePool(api.NodePool o) { o.initialNodeCount!, unittest.equals(42), ); - checkUnnamed53(o.instanceGroupUrls!); - checkUnnamed54(o.locations!); + checkUnnamed54(o.instanceGroupUrls!); + checkUnnamed55(o.locations!); checkNodeManagement(o.management!); checkMaxPodsConstraint(o.maxPodsConstraint!); unittest.expect( @@ -4426,12 +4525,12 @@ void checkNodeTaint(api.NodeTaint o) { buildCounterNodeTaint--; } -core.List buildUnnamed55() => [ +core.List buildUnnamed56() => [ buildNodeTaint(), buildNodeTaint(), ]; -void checkUnnamed55(core.List o) { +void checkUnnamed56(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodeTaint(o[0]); checkNodeTaint(o[1]); @@ -4442,7 +4541,7 @@ api.NodeTaints buildNodeTaints() { final o = api.NodeTaints(); buildCounterNodeTaints++; if (buildCounterNodeTaints < 3) { - o.taints = buildUnnamed55(); + o.taints = buildUnnamed56(); } buildCounterNodeTaints--; return o; @@ -4451,7 +4550,7 @@ api.NodeTaints buildNodeTaints() { void checkNodeTaints(api.NodeTaints o) { buildCounterNodeTaints++; if (buildCounterNodeTaints < 3) { - checkUnnamed55(o.taints!); + checkUnnamed56(o.taints!); } buildCounterNodeTaints--; } @@ -4475,23 +4574,23 @@ void checkNotificationConfig(api.NotificationConfig o) { buildCounterNotificationConfig--; } -core.List buildUnnamed56() => [ +core.List buildUnnamed57() => [ buildStatusCondition(), buildStatusCondition(), ]; -void checkUnnamed56(core.List o) { +void checkUnnamed57(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStatusCondition(o[0]); checkStatusCondition(o[1]); } -core.List buildUnnamed57() => [ +core.List buildUnnamed58() => [ buildStatusCondition(), buildStatusCondition(), ]; -void checkUnnamed57(core.List o) { +void checkUnnamed58(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStatusCondition(o[0]); checkStatusCondition(o[1]); @@ -4502,13 +4601,13 @@ api.Operation buildOperation() { final o = api.Operation(); buildCounterOperation++; if (buildCounterOperation < 3) { - o.clusterConditions = buildUnnamed56(); + o.clusterConditions = buildUnnamed57(); o.detail = 'foo'; o.endTime = 'foo'; o.error = buildStatus(); o.location = 'foo'; o.name = 'foo'; - o.nodepoolConditions = buildUnnamed57(); + o.nodepoolConditions = buildUnnamed58(); o.operationType = 'foo'; o.progress = buildOperationProgress(); o.selfLink = 'foo'; @@ -4525,7 +4624,7 @@ api.Operation buildOperation() { void checkOperation(api.Operation o) { buildCounterOperation++; if (buildCounterOperation < 3) { - checkUnnamed56(o.clusterConditions!); + checkUnnamed57(o.clusterConditions!); unittest.expect( o.detail!, unittest.equals('foo'), @@ -4543,7 +4642,7 @@ void checkOperation(api.Operation o) { o.name!, unittest.equals('foo'), ); - checkUnnamed57(o.nodepoolConditions!); + checkUnnamed58(o.nodepoolConditions!); unittest.expect( o.operationType!, unittest.equals('foo'), @@ -4609,23 +4708,23 @@ void checkOperationError(api.OperationError o) { buildCounterOperationError--; } -core.List buildUnnamed58() => [ +core.List buildUnnamed59() => [ buildMetric(), buildMetric(), ]; -void checkUnnamed58(core.List o) { +void checkUnnamed59(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMetric(o[0]); checkMetric(o[1]); } -core.List buildUnnamed59() => [ +core.List buildUnnamed60() => [ buildOperationProgress(), buildOperationProgress(), ]; -void checkUnnamed59(core.List o) { +void checkUnnamed60(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperationProgress(o[0]); checkOperationProgress(o[1]); @@ -4636,9 +4735,9 @@ api.OperationProgress buildOperationProgress() { final o = api.OperationProgress(); buildCounterOperationProgress++; if (buildCounterOperationProgress < 3) { - o.metrics = buildUnnamed58(); + o.metrics = buildUnnamed59(); o.name = 'foo'; - o.stages = buildUnnamed59(); + o.stages = buildUnnamed60(); o.status = 'foo'; } buildCounterOperationProgress--; @@ -4648,12 +4747,12 @@ api.OperationProgress buildOperationProgress() { void checkOperationProgress(api.OperationProgress o) { buildCounterOperationProgress++; if (buildCounterOperationProgress < 3) { - checkUnnamed58(o.metrics!); + checkUnnamed59(o.metrics!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed59(o.stages!); + checkUnnamed60(o.stages!); unittest.expect( o.status!, unittest.equals('foo'), @@ -4681,12 +4780,12 @@ void checkParallelstoreCsiDriverConfig(api.ParallelstoreCsiDriverConfig o) { buildCounterParallelstoreCsiDriverConfig--; } -core.Map buildUnnamed60() => { +core.Map buildUnnamed61() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed60(core.Map o) { +void checkUnnamed61(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4703,7 +4802,7 @@ api.ParentProductConfig buildParentProductConfig() { final o = api.ParentProductConfig(); buildCounterParentProductConfig++; if (buildCounterParentProductConfig < 3) { - o.labels = buildUnnamed60(); + o.labels = buildUnnamed61(); o.productName = 'foo'; } buildCounterParentProductConfig--; @@ -4713,7 +4812,7 @@ api.ParentProductConfig buildParentProductConfig() { void checkParentProductConfig(api.ParentProductConfig o) { buildCounterParentProductConfig++; if (buildCounterParentProductConfig < 3) { - checkUnnamed60(o.labels!); + checkUnnamed61(o.labels!); unittest.expect( o.productName!, unittest.equals('foo'), @@ -4842,12 +4941,12 @@ void checkPrivateClusterMasterGlobalAccessConfig( buildCounterPrivateClusterMasterGlobalAccessConfig--; } -core.List buildUnnamed61() => [ +core.List buildUnnamed62() => [ buildCertificateAuthorityDomainConfig(), buildCertificateAuthorityDomainConfig(), ]; -void checkUnnamed61(core.List o) { +void checkUnnamed62(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCertificateAuthorityDomainConfig(o[0]); checkCertificateAuthorityDomainConfig(o[1]); @@ -4858,7 +4957,7 @@ api.PrivateRegistryAccessConfig buildPrivateRegistryAccessConfig() { final o = api.PrivateRegistryAccessConfig(); buildCounterPrivateRegistryAccessConfig++; if (buildCounterPrivateRegistryAccessConfig < 3) { - o.certificateAuthorityDomainConfig = buildUnnamed61(); + o.certificateAuthorityDomainConfig = buildUnnamed62(); o.enabled = true; } buildCounterPrivateRegistryAccessConfig--; @@ -4868,7 +4967,7 @@ api.PrivateRegistryAccessConfig buildPrivateRegistryAccessConfig() { void checkPrivateRegistryAccessConfig(api.PrivateRegistryAccessConfig o) { buildCounterPrivateRegistryAccessConfig++; if (buildCounterPrivateRegistryAccessConfig < 3) { - checkUnnamed61(o.certificateAuthorityDomainConfig!); + checkUnnamed62(o.certificateAuthorityDomainConfig!); unittest.expect(o.enabled!, unittest.isTrue); } buildCounterPrivateRegistryAccessConfig--; @@ -5076,12 +5175,12 @@ void checkReleaseChannel(api.ReleaseChannel o) { buildCounterReleaseChannel--; } -core.List buildUnnamed62() => [ +core.List buildUnnamed63() => [ 'foo', 'foo', ]; -void checkUnnamed62(core.List o) { +void checkUnnamed63(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5101,7 +5200,7 @@ api.ReleaseChannelConfig buildReleaseChannelConfig() { o.channel = 'foo'; o.defaultVersion = 'foo'; o.upgradeTargetVersion = 'foo'; - o.validVersions = buildUnnamed62(); + o.validVersions = buildUnnamed63(); } buildCounterReleaseChannelConfig--; return o; @@ -5122,17 +5221,17 @@ void checkReleaseChannelConfig(api.ReleaseChannelConfig o) { o.upgradeTargetVersion!, unittest.equals('foo'), ); - checkUnnamed62(o.validVersions!); + checkUnnamed63(o.validVersions!); } buildCounterReleaseChannelConfig--; } -core.List buildUnnamed63() => [ +core.List buildUnnamed64() => [ 'foo', 'foo', ]; -void checkUnnamed63(core.List o) { +void checkUnnamed64(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5151,7 +5250,7 @@ api.ReservationAffinity buildReservationAffinity() { if (buildCounterReservationAffinity < 3) { o.consumeReservationType = 'foo'; o.key = 'foo'; - o.values = buildUnnamed63(); + o.values = buildUnnamed64(); } buildCounterReservationAffinity--; return o; @@ -5168,17 +5267,17 @@ void checkReservationAffinity(api.ReservationAffinity o) { o.key!, unittest.equals('foo'), ); - checkUnnamed63(o.values!); + checkUnnamed64(o.values!); } buildCounterReservationAffinity--; } -core.Map buildUnnamed64() => { +core.Map buildUnnamed65() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed64(core.Map o) { +void checkUnnamed65(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -5195,7 +5294,7 @@ api.ResourceLabels buildResourceLabels() { final o = api.ResourceLabels(); buildCounterResourceLabels++; if (buildCounterResourceLabels < 3) { - o.labels = buildUnnamed64(); + o.labels = buildUnnamed65(); } buildCounterResourceLabels--; return o; @@ -5204,7 +5303,7 @@ api.ResourceLabels buildResourceLabels() { void checkResourceLabels(api.ResourceLabels o) { buildCounterResourceLabels++; if (buildCounterResourceLabels < 3) { - checkUnnamed64(o.labels!); + checkUnnamed65(o.labels!); } buildCounterResourceLabels--; } @@ -5241,12 +5340,12 @@ void checkResourceLimit(api.ResourceLimit o) { buildCounterResourceLimit--; } -core.Map buildUnnamed65() => { +core.Map buildUnnamed66() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed65(core.Map o) { +void checkUnnamed66(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -5263,7 +5362,7 @@ api.ResourceManagerTags buildResourceManagerTags() { final o = api.ResourceManagerTags(); buildCounterResourceManagerTags++; if (buildCounterResourceManagerTags < 3) { - o.tags = buildUnnamed65(); + o.tags = buildUnnamed66(); } buildCounterResourceManagerTags--; return o; @@ -5272,7 +5371,7 @@ api.ResourceManagerTags buildResourceManagerTags() { void checkResourceManagerTags(api.ResourceManagerTags o) { buildCounterResourceManagerTags++; if (buildCounterResourceManagerTags < 3) { - checkUnnamed65(o.tags!); + checkUnnamed66(o.tags!); } buildCounterResourceManagerTags--; } @@ -5455,23 +5554,23 @@ void checkSecurityPostureConfig(api.SecurityPostureConfig o) { buildCounterSecurityPostureConfig--; } -core.List buildUnnamed66() => [ +core.List buildUnnamed67() => [ buildReleaseChannelConfig(), buildReleaseChannelConfig(), ]; -void checkUnnamed66(core.List o) { +void checkUnnamed67(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReleaseChannelConfig(o[0]); checkReleaseChannelConfig(o[1]); } -core.List buildUnnamed67() => [ +core.List buildUnnamed68() => [ 'foo', 'foo', ]; -void checkUnnamed67(core.List o) { +void checkUnnamed68(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5483,12 +5582,12 @@ void checkUnnamed67(core.List o) { ); } -core.List buildUnnamed68() => [ +core.List buildUnnamed69() => [ 'foo', 'foo', ]; -void checkUnnamed68(core.List o) { +void checkUnnamed69(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5500,12 +5599,12 @@ void checkUnnamed68(core.List o) { ); } -core.List buildUnnamed69() => [ +core.List buildUnnamed70() => [ 'foo', 'foo', ]; -void checkUnnamed69(core.List o) { +void checkUnnamed70(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5522,12 +5621,12 @@ api.ServerConfig buildServerConfig() { final o = api.ServerConfig(); buildCounterServerConfig++; if (buildCounterServerConfig < 3) { - o.channels = buildUnnamed66(); + o.channels = buildUnnamed67(); o.defaultClusterVersion = 'foo'; o.defaultImageType = 'foo'; - o.validImageTypes = buildUnnamed67(); - o.validMasterVersions = buildUnnamed68(); - o.validNodeVersions = buildUnnamed69(); + o.validImageTypes = buildUnnamed68(); + o.validMasterVersions = buildUnnamed69(); + o.validNodeVersions = buildUnnamed70(); } buildCounterServerConfig--; return o; @@ -5536,7 +5635,7 @@ api.ServerConfig buildServerConfig() { void checkServerConfig(api.ServerConfig o) { buildCounterServerConfig++; if (buildCounterServerConfig < 3) { - checkUnnamed66(o.channels!); + checkUnnamed67(o.channels!); unittest.expect( o.defaultClusterVersion!, unittest.equals('foo'), @@ -5545,9 +5644,9 @@ void checkServerConfig(api.ServerConfig o) { o.defaultImageType!, unittest.equals('foo'), ); - checkUnnamed67(o.validImageTypes!); - checkUnnamed68(o.validMasterVersions!); - checkUnnamed69(o.validNodeVersions!); + checkUnnamed68(o.validImageTypes!); + checkUnnamed69(o.validMasterVersions!); + checkUnnamed70(o.validNodeVersions!); } buildCounterServerConfig--; } @@ -5610,12 +5709,12 @@ void checkSetAddonsConfigRequest(api.SetAddonsConfigRequest o) { buildCounterSetAddonsConfigRequest--; } -core.Map buildUnnamed70() => { +core.Map buildUnnamed71() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed70(core.Map o) { +void checkUnnamed71(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -5636,7 +5735,7 @@ api.SetLabelsRequest buildSetLabelsRequest() { o.labelFingerprint = 'foo'; o.name = 'foo'; o.projectId = 'foo'; - o.resourceLabels = buildUnnamed70(); + o.resourceLabels = buildUnnamed71(); o.zone = 'foo'; } buildCounterSetLabelsRequest--; @@ -5662,7 +5761,7 @@ void checkSetLabelsRequest(api.SetLabelsRequest o) { o.projectId!, unittest.equals('foo'), ); - checkUnnamed70(o.resourceLabels!); + checkUnnamed71(o.resourceLabels!); unittest.expect( o.zone!, unittest.equals('foo'), @@ -5710,12 +5809,12 @@ void checkSetLegacyAbacRequest(api.SetLegacyAbacRequest o) { buildCounterSetLegacyAbacRequest--; } -core.List buildUnnamed71() => [ +core.List buildUnnamed72() => [ 'foo', 'foo', ]; -void checkUnnamed71(core.List o) { +void checkUnnamed72(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5733,7 +5832,7 @@ api.SetLocationsRequest buildSetLocationsRequest() { buildCounterSetLocationsRequest++; if (buildCounterSetLocationsRequest < 3) { o.clusterId = 'foo'; - o.locations = buildUnnamed71(); + o.locations = buildUnnamed72(); o.name = 'foo'; o.projectId = 'foo'; o.zone = 'foo'; @@ -5749,7 +5848,7 @@ void checkSetLocationsRequest(api.SetLocationsRequest o) { o.clusterId!, unittest.equals('foo'), ); - checkUnnamed71(o.locations!); + checkUnnamed72(o.locations!); unittest.expect( o.name!, unittest.equals('foo'), @@ -6147,12 +6246,12 @@ void checkShieldedNodes(api.ShieldedNodes o) { buildCounterShieldedNodes--; } -core.List buildUnnamed72() => [ +core.List buildUnnamed73() => [ buildNodeAffinity(), buildNodeAffinity(), ]; -void checkUnnamed72(core.List o) { +void checkUnnamed73(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodeAffinity(o[0]); checkNodeAffinity(o[1]); @@ -6163,7 +6262,7 @@ api.SoleTenantConfig buildSoleTenantConfig() { final o = api.SoleTenantConfig(); buildCounterSoleTenantConfig++; if (buildCounterSoleTenantConfig < 3) { - o.nodeAffinities = buildUnnamed72(); + o.nodeAffinities = buildUnnamed73(); } buildCounterSoleTenantConfig--; return o; @@ -6172,7 +6271,7 @@ api.SoleTenantConfig buildSoleTenantConfig() { void checkSoleTenantConfig(api.SoleTenantConfig o) { buildCounterSoleTenantConfig++; if (buildCounterSoleTenantConfig < 3) { - checkUnnamed72(o.nodeAffinities!); + checkUnnamed73(o.nodeAffinities!); } buildCounterSoleTenantConfig--; } @@ -6267,7 +6366,7 @@ void checkStatefulHAConfig(api.StatefulHAConfig o) { buildCounterStatefulHAConfig--; } -core.Map buildUnnamed73() => { +core.Map buildUnnamed74() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -6280,7 +6379,7 @@ core.Map buildUnnamed73() => { }, }; -void checkUnnamed73(core.Map o) { +void checkUnnamed74(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -6312,15 +6411,15 @@ void checkUnnamed73(core.Map o) { ); } -core.List> buildUnnamed74() => [ - buildUnnamed73(), - buildUnnamed73(), +core.List> buildUnnamed75() => [ + buildUnnamed74(), + buildUnnamed74(), ]; -void checkUnnamed74(core.List> o) { +void checkUnnamed75(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed73(o[0]); - checkUnnamed73(o[1]); + checkUnnamed74(o[0]); + checkUnnamed74(o[1]); } core.int buildCounterStatus = 0; @@ -6329,7 +6428,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed74(); + o.details = buildUnnamed75(); o.message = 'foo'; } buildCounterStatus--; @@ -6343,7 +6442,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed74(o.details!); + checkUnnamed75(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -6513,23 +6612,23 @@ void checkUpdateMasterRequest(api.UpdateMasterRequest o) { buildCounterUpdateMasterRequest--; } -core.List buildUnnamed75() => [ +core.List buildUnnamed76() => [ buildAcceleratorConfig(), buildAcceleratorConfig(), ]; -void checkUnnamed75(core.List o) { +void checkUnnamed76(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAcceleratorConfig(o[0]); checkAcceleratorConfig(o[1]); } -core.List buildUnnamed76() => [ +core.List buildUnnamed77() => [ 'foo', 'foo', ]; -void checkUnnamed76(core.List o) { +void checkUnnamed77(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6541,12 +6640,12 @@ void checkUnnamed76(core.List o) { ); } -core.List buildUnnamed77() => [ +core.List buildUnnamed78() => [ 'foo', 'foo', ]; -void checkUnnamed77(core.List o) { +void checkUnnamed78(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6563,7 +6662,7 @@ api.UpdateNodePoolRequest buildUpdateNodePoolRequest() { final o = api.UpdateNodePoolRequest(); buildCounterUpdateNodePoolRequest++; if (buildCounterUpdateNodePoolRequest < 3) { - o.accelerators = buildUnnamed75(); + o.accelerators = buildUnnamed76(); o.clusterId = 'foo'; o.confidentialNodes = buildConfidentialNodes(); o.containerdConfig = buildContainerdConfig(); @@ -6577,7 +6676,7 @@ api.UpdateNodePoolRequest buildUpdateNodePoolRequest() { o.kubeletConfig = buildNodeKubeletConfig(); o.labels = buildNodeLabels(); o.linuxNodeConfig = buildLinuxNodeConfig(); - o.locations = buildUnnamed76(); + o.locations = buildUnnamed77(); o.loggingConfig = buildNodePoolLoggingConfig(); o.machineType = 'foo'; o.maxRunDuration = 'foo'; @@ -6589,7 +6688,7 @@ api.UpdateNodePoolRequest buildUpdateNodePoolRequest() { o.queuedProvisioning = buildQueuedProvisioning(); o.resourceLabels = buildResourceLabels(); o.resourceManagerTags = buildResourceManagerTags(); - o.storagePools = buildUnnamed77(); + o.storagePools = buildUnnamed78(); o.tags = buildNetworkTags(); o.taints = buildNodeTaints(); o.upgradeSettings = buildUpgradeSettings(); @@ -6604,7 +6703,7 @@ api.UpdateNodePoolRequest buildUpdateNodePoolRequest() { void checkUpdateNodePoolRequest(api.UpdateNodePoolRequest o) { buildCounterUpdateNodePoolRequest++; if (buildCounterUpdateNodePoolRequest < 3) { - checkUnnamed75(o.accelerators!); + checkUnnamed76(o.accelerators!); unittest.expect( o.clusterId!, unittest.equals('foo'), @@ -6633,7 +6732,7 @@ void checkUpdateNodePoolRequest(api.UpdateNodePoolRequest o) { checkNodeKubeletConfig(o.kubeletConfig!); checkNodeLabels(o.labels!); checkLinuxNodeConfig(o.linuxNodeConfig!); - checkUnnamed76(o.locations!); + checkUnnamed77(o.locations!); checkNodePoolLoggingConfig(o.loggingConfig!); unittest.expect( o.machineType!, @@ -6663,7 +6762,7 @@ void checkUpdateNodePoolRequest(api.UpdateNodePoolRequest o) { checkQueuedProvisioning(o.queuedProvisioning!); checkResourceLabels(o.resourceLabels!); checkResourceManagerTags(o.resourceManagerTags!); - checkUnnamed77(o.storagePools!); + checkUnnamed78(o.storagePools!); checkNetworkTags(o.tags!); checkNodeTaints(o.taints!); checkUpgradeSettings(o.upgradeSettings!); @@ -6711,12 +6810,12 @@ void checkUpgradeSettings(api.UpgradeSettings o) { buildCounterUpgradeSettings--; } -core.List buildUnnamed78() => [ +core.List buildUnnamed79() => [ buildUsableSubnetworkSecondaryRange(), buildUsableSubnetworkSecondaryRange(), ]; -void checkUnnamed78(core.List o) { +void checkUnnamed79(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUsableSubnetworkSecondaryRange(o[0]); checkUsableSubnetworkSecondaryRange(o[1]); @@ -6729,7 +6828,7 @@ api.UsableSubnetwork buildUsableSubnetwork() { if (buildCounterUsableSubnetwork < 3) { o.ipCidrRange = 'foo'; o.network = 'foo'; - o.secondaryIpRanges = buildUnnamed78(); + o.secondaryIpRanges = buildUnnamed79(); o.statusMessage = 'foo'; o.subnetwork = 'foo'; } @@ -6748,7 +6847,7 @@ void checkUsableSubnetwork(api.UsableSubnetwork o) { o.network!, unittest.equals('foo'), ); - checkUnnamed78(o.secondaryIpRanges!); + checkUnnamed79(o.secondaryIpRanges!); unittest.expect( o.statusMessage!, unittest.equals('foo'), @@ -6793,12 +6892,12 @@ void checkUsableSubnetworkSecondaryRange(api.UsableSubnetworkSecondaryRange o) { buildCounterUsableSubnetworkSecondaryRange--; } -core.List buildUnnamed79() => [ +core.List buildUnnamed80() => [ 'foo', 'foo', ]; -void checkUnnamed79(core.List o) { +void checkUnnamed80(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6810,12 +6909,12 @@ void checkUnnamed79(core.List o) { ); } -core.List buildUnnamed80() => [ +core.List buildUnnamed81() => [ 'foo', 'foo', ]; -void checkUnnamed80(core.List o) { +void checkUnnamed81(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6838,8 +6937,8 @@ api.UserManagedKeysConfig buildUserManagedKeysConfig() { o.etcdApiCa = 'foo'; o.etcdPeerCa = 'foo'; o.gkeopsEtcdBackupEncryptionKey = 'foo'; - o.serviceAccountSigningKeys = buildUnnamed79(); - o.serviceAccountVerificationKeys = buildUnnamed80(); + o.serviceAccountSigningKeys = buildUnnamed80(); + o.serviceAccountVerificationKeys = buildUnnamed81(); } buildCounterUserManagedKeysConfig--; return o; @@ -6872,8 +6971,8 @@ void checkUserManagedKeysConfig(api.UserManagedKeysConfig o) { o.gkeopsEtcdBackupEncryptionKey!, unittest.equals('foo'), ); - checkUnnamed79(o.serviceAccountSigningKeys!); - checkUnnamed80(o.serviceAccountVerificationKeys!); + checkUnnamed80(o.serviceAccountSigningKeys!); + checkUnnamed81(o.serviceAccountVerificationKeys!); } buildCounterUserManagedKeysConfig--; } @@ -6988,6 +7087,7 @@ api.WorkloadPolicyConfig buildWorkloadPolicyConfig() { buildCounterWorkloadPolicyConfig++; if (buildCounterWorkloadPolicyConfig < 3) { o.allowNetAdmin = true; + o.autopilotCompatibilityAuditingEnabled = true; } buildCounterWorkloadPolicyConfig--; return o; @@ -6997,6 +7097,7 @@ void checkWorkloadPolicyConfig(api.WorkloadPolicyConfig o) { buildCounterWorkloadPolicyConfig++; if (buildCounterWorkloadPolicyConfig < 3) { unittest.expect(o.allowNetAdmin!, unittest.isTrue); + unittest.expect(o.autopilotCompatibilityAuditingEnabled!, unittest.isTrue); } buildCounterWorkloadPolicyConfig--; } @@ -7082,6 +7183,16 @@ void main() { }); }); + unittest.group('obj-schema-AutoMonitoringConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildAutoMonitoringConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AutoMonitoringConfig.fromJson( + oJson as core.Map); + checkAutoMonitoringConfig(od); + }); + }); + unittest.group('obj-schema-AutoUpgradeOptions', () { unittest.test('to-json--from-json', () async { final o = buildAutoUpgradeOptions(); @@ -7112,6 +7223,16 @@ void main() { }); }); + unittest.group('obj-schema-AutopilotConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildAutopilotConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AutopilotConfig.fromJson( + oJson as core.Map); + checkAutopilotConfig(od); + }); + }); + unittest.group('obj-schema-AutoprovisioningNodePoolDefaults', () { unittest.test('to-json--from-json', () async { final o = buildAutoprovisioningNodePoolDefaults(); diff --git a/generated/googleapis/test/content/v2_1_test.dart b/generated/googleapis/test/content/v2_1_test.dart index 089140287..09f852e0a 100644 --- a/generated/googleapis/test/content/v2_1_test.dart +++ b/generated/googleapis/test/content/v2_1_test.dart @@ -547,6 +547,7 @@ api.AccountIssue buildAccountIssue() { o.actions = buildUnnamed5(); o.impact = buildAccountIssueImpact(); o.prerenderedContent = 'foo'; + o.prerenderedOutOfCourtDisputeSettlement = 'foo'; o.title = 'foo'; } buildCounterAccountIssue--; @@ -562,6 +563,10 @@ void checkAccountIssue(api.AccountIssue o) { o.prerenderedContent!, unittest.equals('foo'), ); + unittest.expect( + o.prerenderedOutOfCourtDisputeSettlement!, + unittest.equals('foo'), + ); unittest.expect( o.title!, unittest.equals('foo'), @@ -9344,6 +9349,7 @@ api.ProductIssue buildProductIssue() { o.actions = buildUnnamed137(); o.impact = buildProductIssueImpact(); o.prerenderedContent = 'foo'; + o.prerenderedOutOfCourtDisputeSettlement = 'foo'; o.title = 'foo'; } buildCounterProductIssue--; @@ -9359,6 +9365,10 @@ void checkProductIssue(api.ProductIssue o) { o.prerenderedContent!, unittest.equals('foo'), ); + unittest.expect( + o.prerenderedOutOfCourtDisputeSettlement!, + unittest.equals('foo'), + ); unittest.expect( o.title!, unittest.equals('foo'), diff --git a/generated/googleapis/test/datafusion/v1_test.dart b/generated/googleapis/test/datafusion/v1_test.dart index 8cd9113af..41f63d534 100644 --- a/generated/googleapis/test/datafusion/v1_test.dart +++ b/generated/googleapis/test/datafusion/v1_test.dart @@ -383,12 +383,23 @@ void checkUnnamed6(core.Map o) { ); } -core.Map buildUnnamed7() => { +core.List buildUnnamed7() => [ + buildMaintenanceEvent(), + buildMaintenanceEvent(), + ]; + +void checkUnnamed7(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkMaintenanceEvent(o[0]); + checkMaintenanceEvent(o[1]); +} + +core.Map buildUnnamed8() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed7(core.Map o) { +void checkUnnamed8(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -422,13 +433,16 @@ api.Instance buildInstance() { o.eventPublishConfig = buildEventPublishConfig(); o.gcsBucket = 'foo'; o.labels = buildUnnamed6(); + o.loggingConfig = buildLoggingConfig(); + o.maintenanceEvents = buildUnnamed7(); o.maintenancePolicy = buildMaintenancePolicy(); o.name = 'foo'; o.networkConfig = buildNetworkConfig(); - o.options = buildUnnamed7(); + o.options = buildUnnamed8(); o.p4ServiceAccount = 'foo'; o.patchRevision = 'foo'; o.privateInstance = true; + o.satisfiesPzi = true; o.satisfiesPzs = true; o.serviceAccount = 'foo'; o.serviceEndpoint = 'foo'; @@ -483,13 +497,15 @@ void checkInstance(api.Instance o) { unittest.equals('foo'), ); checkUnnamed6(o.labels!); + checkLoggingConfig(o.loggingConfig!); + checkUnnamed7(o.maintenanceEvents!); checkMaintenancePolicy(o.maintenancePolicy!); unittest.expect( o.name!, unittest.equals('foo'), ); checkNetworkConfig(o.networkConfig!); - checkUnnamed7(o.options!); + checkUnnamed8(o.options!); unittest.expect( o.p4ServiceAccount!, unittest.equals('foo'), @@ -499,6 +515,7 @@ void checkInstance(api.Instance o) { unittest.equals('foo'), ); unittest.expect(o.privateInstance!, unittest.isTrue); + unittest.expect(o.satisfiesPzi!, unittest.isTrue); unittest.expect(o.satisfiesPzs!, unittest.isTrue); unittest.expect( o.serviceAccount!, @@ -544,23 +561,23 @@ void checkInstance(api.Instance o) { buildCounterInstance--; } -core.List buildUnnamed8() => [ +core.List buildUnnamed9() => [ buildVersion(), buildVersion(), ]; -void checkUnnamed8(core.List o) { +void checkUnnamed9(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVersion(o[0]); checkVersion(o[1]); } -core.List buildUnnamed9() => [ +core.List buildUnnamed10() => [ buildVersion(), buildVersion(), ]; -void checkUnnamed9(core.List o) { +void checkUnnamed10(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVersion(o[0]); checkVersion(o[1]); @@ -571,9 +588,9 @@ api.ListAvailableVersionsResponse buildListAvailableVersionsResponse() { final o = api.ListAvailableVersionsResponse(); buildCounterListAvailableVersionsResponse++; if (buildCounterListAvailableVersionsResponse < 3) { - o.availableVersions = buildUnnamed8(); + o.availableVersions = buildUnnamed9(); o.nextPageToken = 'foo'; - o.versions = buildUnnamed9(); + o.versions = buildUnnamed10(); } buildCounterListAvailableVersionsResponse--; return o; @@ -582,22 +599,22 @@ api.ListAvailableVersionsResponse buildListAvailableVersionsResponse() { void checkListAvailableVersionsResponse(api.ListAvailableVersionsResponse o) { buildCounterListAvailableVersionsResponse++; if (buildCounterListAvailableVersionsResponse < 3) { - checkUnnamed8(o.availableVersions!); + checkUnnamed9(o.availableVersions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed9(o.versions!); + checkUnnamed10(o.versions!); } buildCounterListAvailableVersionsResponse--; } -core.List buildUnnamed10() => [ +core.List buildUnnamed11() => [ buildDnsPeering(), buildDnsPeering(), ]; -void checkUnnamed10(core.List o) { +void checkUnnamed11(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDnsPeering(o[0]); checkDnsPeering(o[1]); @@ -608,7 +625,7 @@ api.ListDnsPeeringsResponse buildListDnsPeeringsResponse() { final o = api.ListDnsPeeringsResponse(); buildCounterListDnsPeeringsResponse++; if (buildCounterListDnsPeeringsResponse < 3) { - o.dnsPeerings = buildUnnamed10(); + o.dnsPeerings = buildUnnamed11(); o.nextPageToken = 'foo'; } buildCounterListDnsPeeringsResponse--; @@ -618,7 +635,7 @@ api.ListDnsPeeringsResponse buildListDnsPeeringsResponse() { void checkListDnsPeeringsResponse(api.ListDnsPeeringsResponse o) { buildCounterListDnsPeeringsResponse++; if (buildCounterListDnsPeeringsResponse < 3) { - checkUnnamed10(o.dnsPeerings!); + checkUnnamed11(o.dnsPeerings!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -627,23 +644,23 @@ void checkListDnsPeeringsResponse(api.ListDnsPeeringsResponse o) { buildCounterListDnsPeeringsResponse--; } -core.List buildUnnamed11() => [ +core.List buildUnnamed12() => [ buildInstance(), buildInstance(), ]; -void checkUnnamed11(core.List o) { +void checkUnnamed12(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstance(o[0]); checkInstance(o[1]); } -core.List buildUnnamed12() => [ +core.List buildUnnamed13() => [ 'foo', 'foo', ]; -void checkUnnamed12(core.List o) { +void checkUnnamed13(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -660,9 +677,9 @@ api.ListInstancesResponse buildListInstancesResponse() { final o = api.ListInstancesResponse(); buildCounterListInstancesResponse++; if (buildCounterListInstancesResponse < 3) { - o.instances = buildUnnamed11(); + o.instances = buildUnnamed12(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed12(); + o.unreachable = buildUnnamed13(); } buildCounterListInstancesResponse--; return o; @@ -671,22 +688,22 @@ api.ListInstancesResponse buildListInstancesResponse() { void checkListInstancesResponse(api.ListInstancesResponse o) { buildCounterListInstancesResponse++; if (buildCounterListInstancesResponse < 3) { - checkUnnamed11(o.instances!); + checkUnnamed12(o.instances!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed12(o.unreachable!); + checkUnnamed13(o.unreachable!); } buildCounterListInstancesResponse--; } -core.List buildUnnamed13() => [ +core.List buildUnnamed14() => [ buildLocation(), buildLocation(), ]; -void checkUnnamed13(core.List o) { +void checkUnnamed14(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLocation(o[0]); checkLocation(o[1]); @@ -697,7 +714,7 @@ api.ListLocationsResponse buildListLocationsResponse() { final o = api.ListLocationsResponse(); buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - o.locations = buildUnnamed13(); + o.locations = buildUnnamed14(); o.nextPageToken = 'foo'; } buildCounterListLocationsResponse--; @@ -707,7 +724,7 @@ api.ListLocationsResponse buildListLocationsResponse() { void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - checkUnnamed13(o.locations!); + checkUnnamed14(o.locations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -716,12 +733,12 @@ void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse--; } -core.List buildUnnamed14() => [ +core.List buildUnnamed15() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed14(core.List o) { +void checkUnnamed15(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -733,7 +750,7 @@ api.ListOperationsResponse buildListOperationsResponse() { buildCounterListOperationsResponse++; if (buildCounterListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed14(); + o.operations = buildUnnamed15(); } buildCounterListOperationsResponse--; return o; @@ -746,17 +763,17 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed14(o.operations!); + checkUnnamed15(o.operations!); } buildCounterListOperationsResponse--; } -core.Map buildUnnamed15() => { +core.Map buildUnnamed16() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed15(core.Map o) { +void checkUnnamed16(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -768,7 +785,7 @@ void checkUnnamed15(core.Map o) { ); } -core.Map buildUnnamed16() => { +core.Map buildUnnamed17() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -781,7 +798,7 @@ core.Map buildUnnamed16() => { }, }; -void checkUnnamed16(core.Map o) { +void checkUnnamed17(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -819,9 +836,9 @@ api.Location buildLocation() { buildCounterLocation++; if (buildCounterLocation < 3) { o.displayName = 'foo'; - o.labels = buildUnnamed15(); + o.labels = buildUnnamed16(); o.locationId = 'foo'; - o.metadata = buildUnnamed16(); + o.metadata = buildUnnamed17(); o.name = 'foo'; } buildCounterLocation--; @@ -835,12 +852,12 @@ void checkLocation(api.Location o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed15(o.labels!); + checkUnnamed16(o.labels!); unittest.expect( o.locationId!, unittest.equals('foo'), ); - checkUnnamed16(o.metadata!); + checkUnnamed17(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), @@ -849,6 +866,57 @@ void checkLocation(api.Location o) { buildCounterLocation--; } +core.int buildCounterLoggingConfig = 0; +api.LoggingConfig buildLoggingConfig() { + final o = api.LoggingConfig(); + buildCounterLoggingConfig++; + if (buildCounterLoggingConfig < 3) { + o.instanceCloudLoggingDisabled = true; + } + buildCounterLoggingConfig--; + return o; +} + +void checkLoggingConfig(api.LoggingConfig o) { + buildCounterLoggingConfig++; + if (buildCounterLoggingConfig < 3) { + unittest.expect(o.instanceCloudLoggingDisabled!, unittest.isTrue); + } + buildCounterLoggingConfig--; +} + +core.int buildCounterMaintenanceEvent = 0; +api.MaintenanceEvent buildMaintenanceEvent() { + final o = api.MaintenanceEvent(); + buildCounterMaintenanceEvent++; + if (buildCounterMaintenanceEvent < 3) { + o.endTime = 'foo'; + o.startTime = 'foo'; + o.state = 'foo'; + } + buildCounterMaintenanceEvent--; + return o; +} + +void checkMaintenanceEvent(api.MaintenanceEvent o) { + buildCounterMaintenanceEvent++; + if (buildCounterMaintenanceEvent < 3) { + unittest.expect( + o.endTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.startTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.state!, + unittest.equals('foo'), + ); + } + buildCounterMaintenanceEvent--; +} + core.int buildCounterMaintenancePolicy = 0; api.MaintenancePolicy buildMaintenancePolicy() { final o = api.MaintenancePolicy(); @@ -923,7 +991,7 @@ void checkNetworkConfig(api.NetworkConfig o) { buildCounterNetworkConfig--; } -core.Map buildUnnamed17() => { +core.Map buildUnnamed18() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -936,7 +1004,7 @@ core.Map buildUnnamed17() => { }, }; -void checkUnnamed17(core.Map o) { +void checkUnnamed18(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -968,7 +1036,7 @@ void checkUnnamed17(core.Map o) { ); } -core.Map buildUnnamed18() => { +core.Map buildUnnamed19() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -981,7 +1049,7 @@ core.Map buildUnnamed18() => { }, }; -void checkUnnamed18(core.Map o) { +void checkUnnamed19(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -1020,9 +1088,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed17(); + o.metadata = buildUnnamed18(); o.name = 'foo'; - o.response = buildUnnamed18(); + o.response = buildUnnamed19(); } buildCounterOperation--; return o; @@ -1033,33 +1101,33 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed17(o.metadata!); + checkUnnamed18(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed18(o.response!); + checkUnnamed19(o.response!); } buildCounterOperation--; } -core.List buildUnnamed19() => [ +core.List buildUnnamed20() => [ buildAuditConfig(), buildAuditConfig(), ]; -void checkUnnamed19(core.List o) { +void checkUnnamed20(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuditConfig(o[0]); checkAuditConfig(o[1]); } -core.List buildUnnamed20() => [ +core.List buildUnnamed21() => [ buildBinding(), buildBinding(), ]; -void checkUnnamed20(core.List o) { +void checkUnnamed21(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBinding(o[0]); checkBinding(o[1]); @@ -1070,8 +1138,8 @@ api.Policy buildPolicy() { final o = api.Policy(); buildCounterPolicy++; if (buildCounterPolicy < 3) { - o.auditConfigs = buildUnnamed19(); - o.bindings = buildUnnamed20(); + o.auditConfigs = buildUnnamed20(); + o.bindings = buildUnnamed21(); o.etag = 'foo'; o.version = 42; } @@ -1082,8 +1150,8 @@ api.Policy buildPolicy() { void checkPolicy(api.Policy o) { buildCounterPolicy++; if (buildCounterPolicy < 3) { - checkUnnamed19(o.auditConfigs!); - checkUnnamed20(o.bindings!); + checkUnnamed20(o.auditConfigs!); + checkUnnamed21(o.bindings!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -1191,7 +1259,7 @@ void checkSetIamPolicyRequest(api.SetIamPolicyRequest o) { buildCounterSetIamPolicyRequest--; } -core.Map buildUnnamed21() => { +core.Map buildUnnamed22() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1204,7 +1272,7 @@ core.Map buildUnnamed21() => { }, }; -void checkUnnamed21(core.Map o) { +void checkUnnamed22(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -1236,15 +1304,15 @@ void checkUnnamed21(core.Map o) { ); } -core.List> buildUnnamed22() => [ - buildUnnamed21(), - buildUnnamed21(), +core.List> buildUnnamed23() => [ + buildUnnamed22(), + buildUnnamed22(), ]; -void checkUnnamed22(core.List> o) { +void checkUnnamed23(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed21(o[0]); - checkUnnamed21(o[1]); + checkUnnamed22(o[0]); + checkUnnamed22(o[1]); } core.int buildCounterStatus = 0; @@ -1253,7 +1321,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed22(); + o.details = buildUnnamed23(); o.message = 'foo'; } buildCounterStatus--; @@ -1267,7 +1335,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed22(o.details!); + checkUnnamed23(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -1276,12 +1344,12 @@ void checkStatus(api.Status o) { buildCounterStatus--; } -core.List buildUnnamed23() => [ +core.List buildUnnamed24() => [ 'foo', 'foo', ]; -void checkUnnamed23(core.List o) { +void checkUnnamed24(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1298,7 +1366,7 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { final o = api.TestIamPermissionsRequest(); buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - o.permissions = buildUnnamed23(); + o.permissions = buildUnnamed24(); } buildCounterTestIamPermissionsRequest--; return o; @@ -1307,17 +1375,17 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { void checkTestIamPermissionsRequest(api.TestIamPermissionsRequest o) { buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - checkUnnamed23(o.permissions!); + checkUnnamed24(o.permissions!); } buildCounterTestIamPermissionsRequest--; } -core.List buildUnnamed24() => [ +core.List buildUnnamed25() => [ 'foo', 'foo', ]; -void checkUnnamed24(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1334,7 +1402,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { final o = api.TestIamPermissionsResponse(); buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - o.permissions = buildUnnamed24(); + o.permissions = buildUnnamed25(); } buildCounterTestIamPermissionsResponse--; return o; @@ -1343,7 +1411,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { void checkTestIamPermissionsResponse(api.TestIamPermissionsResponse o) { buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - checkUnnamed24(o.permissions!); + checkUnnamed25(o.permissions!); } buildCounterTestIamPermissionsResponse--; } @@ -1375,12 +1443,12 @@ void checkTimeWindow(api.TimeWindow o) { buildCounterTimeWindow--; } -core.List buildUnnamed25() => [ +core.List buildUnnamed26() => [ 'foo', 'foo', ]; -void checkUnnamed25(core.List o) { +void checkUnnamed26(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1397,7 +1465,7 @@ api.Version buildVersion() { final o = api.Version(); buildCounterVersion++; if (buildCounterVersion < 3) { - o.availableFeatures = buildUnnamed25(); + o.availableFeatures = buildUnnamed26(); o.defaultVersion = true; o.type = 'foo'; o.versionNumber = 'foo'; @@ -1409,7 +1477,7 @@ api.Version buildVersion() { void checkVersion(api.Version o) { buildCounterVersion++; if (buildCounterVersion < 3) { - checkUnnamed25(o.availableFeatures!); + checkUnnamed26(o.availableFeatures!); unittest.expect(o.defaultVersion!, unittest.isTrue); unittest.expect( o.type!, @@ -1594,6 +1662,26 @@ void main() { }); }); + unittest.group('obj-schema-LoggingConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildLoggingConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.LoggingConfig.fromJson( + oJson as core.Map); + checkLoggingConfig(od); + }); + }); + + unittest.group('obj-schema-MaintenanceEvent', () { + unittest.test('to-json--from-json', () async { + final o = buildMaintenanceEvent(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.MaintenanceEvent.fromJson( + oJson as core.Map); + checkMaintenanceEvent(od); + }); + }); + unittest.group('obj-schema-MaintenancePolicy', () { unittest.test('to-json--from-json', () async { final o = buildMaintenancePolicy(); diff --git a/generated/googleapis/test/datamigration/v1_test.dart b/generated/googleapis/test/datamigration/v1_test.dart index da2e5ac26..c1f8e97c5 100644 --- a/generated/googleapis/test/datamigration/v1_test.dart +++ b/generated/googleapis/test/datamigration/v1_test.dart @@ -520,6 +520,8 @@ api.CloudSqlSettings buildCloudSqlSettings() { o.cmekKeyName = 'foo'; o.collation = 'foo'; o.dataCacheConfig = buildDataCacheConfig(); + o.dataDiskProvisionedIops = 'foo'; + o.dataDiskProvisionedThroughput = 'foo'; o.dataDiskSizeGb = 'foo'; o.dataDiskType = 'foo'; o.databaseFlags = buildUnnamed4(); @@ -561,6 +563,14 @@ void checkCloudSqlSettings(api.CloudSqlSettings o) { unittest.equals('foo'), ); checkDataCacheConfig(o.dataCacheConfig!); + unittest.expect( + o.dataDiskProvisionedIops!, + unittest.equals('foo'), + ); + unittest.expect( + o.dataDiskProvisionedThroughput!, + unittest.equals('foo'), + ); unittest.expect( o.dataDiskSizeGb!, unittest.equals('foo'), @@ -686,6 +696,7 @@ api.ColumnEntity buildColumnEntity() { o.charset = 'foo'; o.collation = 'foo'; o.comment = 'foo'; + o.computed = true; o.customFeatures = buildUnnamed6(); o.dataType = 'foo'; o.defaultValue = 'foo'; @@ -724,6 +735,7 @@ void checkColumnEntity(api.ColumnEntity o) { o.comment!, unittest.equals('foo'), ); + unittest.expect(o.computed!, unittest.isTrue); checkUnnamed6(o.customFeatures!); unittest.expect( o.dataType!, @@ -891,6 +903,8 @@ api.ConnectionProfile buildConnectionProfile() { o.postgresql = buildPostgreSqlConnectionProfile(); o.provider = 'foo'; o.role = 'foo'; + o.satisfiesPzi = true; + o.satisfiesPzs = true; o.sqlserver = buildSqlServerConnectionProfile(); o.state = 'foo'; o.updateTime = 'foo'; @@ -929,6 +943,8 @@ void checkConnectionProfile(api.ConnectionProfile o) { o.role!, unittest.equals('foo'), ); + unittest.expect(o.satisfiesPzi!, unittest.isTrue); + unittest.expect(o.satisfiesPzs!, unittest.isTrue); checkSqlServerConnectionProfile(o.sqlserver!); unittest.expect( o.state!, @@ -1693,7 +1709,9 @@ api.EntityDdl buildEntityDdl() { buildCounterEntityDdl++; if (buildCounterEntityDdl < 3) { o.ddl = 'foo'; + o.ddlKind = 'foo'; o.ddlType = 'foo'; + o.editedDdlKind = 'foo'; o.entity = 'foo'; o.entityType = 'foo'; o.issueId = buildUnnamed21(); @@ -1709,10 +1727,18 @@ void checkEntityDdl(api.EntityDdl o) { o.ddl!, unittest.equals('foo'), ); + unittest.expect( + o.ddlKind!, + unittest.equals('foo'), + ); unittest.expect( o.ddlType!, unittest.equals('foo'), ); + unittest.expect( + o.editedDdlKind!, + unittest.equals('foo'), + ); unittest.expect( o.entity!, unittest.equals('foo'), @@ -3239,6 +3265,8 @@ api.MigrationJob buildMigrationJob() { o.performanceConfig = buildPerformanceConfig(); o.phase = 'foo'; o.reverseSshConnectivity = buildReverseSshConnectivity(); + o.satisfiesPzi = true; + o.satisfiesPzs = true; o.source = 'foo'; o.sourceDatabase = buildDatabaseType(); o.sqlserverHomogeneousMigrationJobConfig = @@ -3309,6 +3337,8 @@ void checkMigrationJob(api.MigrationJob o) { unittest.equals('foo'), ); checkReverseSshConnectivity(o.reverseSshConnectivity!); + unittest.expect(o.satisfiesPzi!, unittest.isTrue); + unittest.expect(o.satisfiesPzs!, unittest.isTrue); unittest.expect( o.source!, unittest.equals('foo'), @@ -4259,6 +4289,8 @@ api.PrivateConnection buildPrivateConnection() { o.error = buildStatus(); o.labels = buildUnnamed60(); o.name = 'foo'; + o.satisfiesPzi = true; + o.satisfiesPzs = true; o.state = 'foo'; o.updateTime = 'foo'; o.vpcPeeringConfig = buildVpcPeeringConfig(); @@ -4284,6 +4316,8 @@ void checkPrivateConnection(api.PrivateConnection o) { o.name!, unittest.equals('foo'), ); + unittest.expect(o.satisfiesPzi!, unittest.isTrue); + unittest.expect(o.satisfiesPzs!, unittest.isTrue); unittest.expect( o.state!, unittest.equals('foo'), diff --git a/generated/googleapis/test/dataplex/v1_test.dart b/generated/googleapis/test/dataplex/v1_test.dart index 1767072af..08b3da430 100644 --- a/generated/googleapis/test/dataplex/v1_test.dart +++ b/generated/googleapis/test/dataplex/v1_test.dart @@ -1757,6 +1757,7 @@ api.GoogleCloudDataplexV1DataDiscoverySpecBigQueryPublishingConfig if (buildCounterGoogleCloudDataplexV1DataDiscoverySpecBigQueryPublishingConfig < 3) { o.connection = 'foo'; + o.location = 'foo'; o.tableType = 'foo'; } buildCounterGoogleCloudDataplexV1DataDiscoverySpecBigQueryPublishingConfig--; @@ -1772,6 +1773,10 @@ void checkGoogleCloudDataplexV1DataDiscoverySpecBigQueryPublishingConfig( o.connection!, unittest.equals('foo'), ); + unittest.expect( + o.location!, + unittest.equals('foo'), + ); unittest.expect( o.tableType!, unittest.equals('foo'), diff --git a/generated/googleapis/test/dataportability/v1_test.dart b/generated/googleapis/test/dataportability/v1_test.dart index c15b2196e..497768c57 100644 --- a/generated/googleapis/test/dataportability/v1_test.dart +++ b/generated/googleapis/test/dataportability/v1_test.dart @@ -26,6 +26,108 @@ import 'package:test/test.dart' as unittest; import '../test_shared.dart'; +core.int buildCounterCancelPortabilityArchiveRequest = 0; +api.CancelPortabilityArchiveRequest buildCancelPortabilityArchiveRequest() { + final o = api.CancelPortabilityArchiveRequest(); + buildCounterCancelPortabilityArchiveRequest++; + if (buildCounterCancelPortabilityArchiveRequest < 3) {} + buildCounterCancelPortabilityArchiveRequest--; + return o; +} + +void checkCancelPortabilityArchiveRequest( + api.CancelPortabilityArchiveRequest o) { + buildCounterCancelPortabilityArchiveRequest++; + if (buildCounterCancelPortabilityArchiveRequest < 3) {} + buildCounterCancelPortabilityArchiveRequest--; +} + +core.int buildCounterCancelPortabilityArchiveResponse = 0; +api.CancelPortabilityArchiveResponse buildCancelPortabilityArchiveResponse() { + final o = api.CancelPortabilityArchiveResponse(); + buildCounterCancelPortabilityArchiveResponse++; + if (buildCounterCancelPortabilityArchiveResponse < 3) {} + buildCounterCancelPortabilityArchiveResponse--; + return o; +} + +void checkCancelPortabilityArchiveResponse( + api.CancelPortabilityArchiveResponse o) { + buildCounterCancelPortabilityArchiveResponse++; + if (buildCounterCancelPortabilityArchiveResponse < 3) {} + buildCounterCancelPortabilityArchiveResponse--; +} + +core.int buildCounterCheckAccessTypeRequest = 0; +api.CheckAccessTypeRequest buildCheckAccessTypeRequest() { + final o = api.CheckAccessTypeRequest(); + buildCounterCheckAccessTypeRequest++; + if (buildCounterCheckAccessTypeRequest < 3) {} + buildCounterCheckAccessTypeRequest--; + return o; +} + +void checkCheckAccessTypeRequest(api.CheckAccessTypeRequest o) { + buildCounterCheckAccessTypeRequest++; + if (buildCounterCheckAccessTypeRequest < 3) {} + buildCounterCheckAccessTypeRequest--; +} + +core.List buildUnnamed0() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed0(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed1() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed1(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterCheckAccessTypeResponse = 0; +api.CheckAccessTypeResponse buildCheckAccessTypeResponse() { + final o = api.CheckAccessTypeResponse(); + buildCounterCheckAccessTypeResponse++; + if (buildCounterCheckAccessTypeResponse < 3) { + o.oneTimeResources = buildUnnamed0(); + o.timeBasedResources = buildUnnamed1(); + } + buildCounterCheckAccessTypeResponse--; + return o; +} + +void checkCheckAccessTypeResponse(api.CheckAccessTypeResponse o) { + buildCounterCheckAccessTypeResponse++; + if (buildCounterCheckAccessTypeResponse < 3) { + checkUnnamed0(o.oneTimeResources!); + checkUnnamed1(o.timeBasedResources!); + } + buildCounterCheckAccessTypeResponse--; +} + core.int buildCounterEmpty = 0; api.Empty buildEmpty() { final o = api.Empty(); @@ -41,12 +143,12 @@ void checkEmpty(api.Empty o) { buildCounterEmpty--; } -core.List buildUnnamed0() => [ +core.List buildUnnamed2() => [ 'foo', 'foo', ]; -void checkUnnamed0(core.List o) { +void checkUnnamed2(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -63,7 +165,9 @@ api.InitiatePortabilityArchiveRequest buildInitiatePortabilityArchiveRequest() { final o = api.InitiatePortabilityArchiveRequest(); buildCounterInitiatePortabilityArchiveRequest++; if (buildCounterInitiatePortabilityArchiveRequest < 3) { - o.resources = buildUnnamed0(); + o.endTime = 'foo'; + o.resources = buildUnnamed2(); + o.startTime = 'foo'; } buildCounterInitiatePortabilityArchiveRequest--; return o; @@ -73,7 +177,15 @@ void checkInitiatePortabilityArchiveRequest( api.InitiatePortabilityArchiveRequest o) { buildCounterInitiatePortabilityArchiveRequest++; if (buildCounterInitiatePortabilityArchiveRequest < 3) { - checkUnnamed0(o.resources!); + unittest.expect( + o.endTime!, + unittest.equals('foo'), + ); + checkUnnamed2(o.resources!); + unittest.expect( + o.startTime!, + unittest.equals('foo'), + ); } buildCounterInitiatePortabilityArchiveRequest--; } @@ -84,6 +196,7 @@ api.InitiatePortabilityArchiveResponse final o = api.InitiatePortabilityArchiveResponse(); buildCounterInitiatePortabilityArchiveResponse++; if (buildCounterInitiatePortabilityArchiveResponse < 3) { + o.accessType = 'foo'; o.archiveJobId = 'foo'; } buildCounterInitiatePortabilityArchiveResponse--; @@ -94,6 +207,10 @@ void checkInitiatePortabilityArchiveResponse( api.InitiatePortabilityArchiveResponse o) { buildCounterInitiatePortabilityArchiveResponse++; if (buildCounterInitiatePortabilityArchiveResponse < 3) { + unittest.expect( + o.accessType!, + unittest.equals('foo'), + ); unittest.expect( o.archiveJobId!, unittest.equals('foo'), @@ -102,12 +219,12 @@ void checkInitiatePortabilityArchiveResponse( buildCounterInitiatePortabilityArchiveResponse--; } -core.List buildUnnamed1() => [ +core.List buildUnnamed3() => [ 'foo', 'foo', ]; -void checkUnnamed1(core.List o) { +void checkUnnamed3(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -124,9 +241,11 @@ api.PortabilityArchiveState buildPortabilityArchiveState() { final o = api.PortabilityArchiveState(); buildCounterPortabilityArchiveState++; if (buildCounterPortabilityArchiveState < 3) { + o.exportTime = 'foo'; o.name = 'foo'; + o.startTime = 'foo'; o.state = 'foo'; - o.urls = buildUnnamed1(); + o.urls = buildUnnamed3(); } buildCounterPortabilityArchiveState--; return o; @@ -135,15 +254,23 @@ api.PortabilityArchiveState buildPortabilityArchiveState() { void checkPortabilityArchiveState(api.PortabilityArchiveState o) { buildCounterPortabilityArchiveState++; if (buildCounterPortabilityArchiveState < 3) { + unittest.expect( + o.exportTime!, + unittest.equals('foo'), + ); unittest.expect( o.name!, unittest.equals('foo'), ); + unittest.expect( + o.startTime!, + unittest.equals('foo'), + ); unittest.expect( o.state!, unittest.equals('foo'), ); - checkUnnamed1(o.urls!); + checkUnnamed3(o.urls!); } buildCounterPortabilityArchiveState--; } @@ -202,6 +329,46 @@ void checkRetryPortabilityArchiveResponse( } void main() { + unittest.group('obj-schema-CancelPortabilityArchiveRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildCancelPortabilityArchiveRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CancelPortabilityArchiveRequest.fromJson( + oJson as core.Map); + checkCancelPortabilityArchiveRequest(od); + }); + }); + + unittest.group('obj-schema-CancelPortabilityArchiveResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildCancelPortabilityArchiveResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CancelPortabilityArchiveResponse.fromJson( + oJson as core.Map); + checkCancelPortabilityArchiveResponse(od); + }); + }); + + unittest.group('obj-schema-CheckAccessTypeRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildCheckAccessTypeRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CheckAccessTypeRequest.fromJson( + oJson as core.Map); + checkCheckAccessTypeRequest(od); + }); + }); + + unittest.group('obj-schema-CheckAccessTypeResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildCheckAccessTypeResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CheckAccessTypeResponse.fromJson( + oJson as core.Map); + checkCheckAccessTypeResponse(od); + }); + }); + unittest.group('obj-schema-Empty', () { unittest.test('to-json--from-json', () async { final o = buildEmpty(); @@ -272,7 +439,124 @@ void main() { }); }); + unittest.group('resource-AccessTypeResource', () { + unittest.test('method--check', () async { + final mock = HttpServerMock(); + final res = api.DataPortabilityApi(mock).accessType; + final arg_request = buildCheckAccessTypeRequest(); + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.CheckAccessTypeRequest.fromJson( + json as core.Map); + checkCheckAccessTypeRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 19), + unittest.equals('v1/accessType:check'), + ); + pathOffset += 19; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildCheckAccessTypeResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.check(arg_request, $fields: arg_$fields); + checkCheckAccessTypeResponse(response as api.CheckAccessTypeResponse); + }); + }); + unittest.group('resource-ArchiveJobsResource', () { + unittest.test('method--cancel', () async { + final mock = HttpServerMock(); + final res = api.DataPortabilityApi(mock).archiveJobs; + final arg_request = buildCancelPortabilityArchiveRequest(); + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.CancelPortabilityArchiveRequest.fromJson( + json as core.Map); + checkCancelPortabilityArchiveRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildCancelPortabilityArchiveResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.cancel(arg_request, arg_name, $fields: arg_$fields); + checkCancelPortabilityArchiveResponse( + response as api.CancelPortabilityArchiveResponse); + }); + unittest.test('method--getPortabilityArchiveState', () async { final mock = HttpServerMock(); final res = api.DataPortabilityApi(mock).archiveJobs; diff --git a/generated/googleapis/test/dataproc/v1_test.dart b/generated/googleapis/test/dataproc/v1_test.dart index 30e1e51d6..630fccfe7 100644 --- a/generated/googleapis/test/dataproc/v1_test.dart +++ b/generated/googleapis/test/dataproc/v1_test.dart @@ -1053,6 +1053,33 @@ void checkBinding(api.Binding o) { buildCounterBinding--; } +core.int buildCounterBuildInfo = 0; +api.BuildInfo buildBuildInfo() { + final o = api.BuildInfo(); + buildCounterBuildInfo++; + if (buildCounterBuildInfo < 3) { + o.buildKey = 'foo'; + o.buildValue = 'foo'; + } + buildCounterBuildInfo--; + return o; +} + +void checkBuildInfo(api.BuildInfo o) { + buildCounterBuildInfo++; + if (buildCounterBuildInfo < 3) { + unittest.expect( + o.buildKey!, + unittest.equals('foo'), + ); + unittest.expect( + o.buildValue!, + unittest.equals('foo'), + ); + } + buildCounterBuildInfo--; +} + core.int buildCounterCancelJobRequest = 0; api.CancelJobRequest buildCancelJobRequest() { final o = api.CancelJobRequest(); @@ -2615,6 +2642,33 @@ void checkExpr(api.Expr o) { buildCounterExpr--; } +core.int buildCounterFallbackReason = 0; +api.FallbackReason buildFallbackReason() { + final o = api.FallbackReason(); + buildCounterFallbackReason++; + if (buildCounterFallbackReason < 3) { + o.fallbackNode = 'foo'; + o.fallbackReason = 'foo'; + } + buildCounterFallbackReason--; + return o; +} + +void checkFallbackReason(api.FallbackReason o) { + buildCounterFallbackReason++; + if (buildCounterFallbackReason < 3) { + unittest.expect( + o.fallbackNode!, + unittest.equals('foo'), + ); + unittest.expect( + o.fallbackReason!, + unittest.equals('foo'), + ); + } + buildCounterFallbackReason--; +} + core.List buildUnnamed46() => [ 'foo', 'foo', @@ -2723,12 +2777,29 @@ void checkUnnamed49(core.Map o) { ); } -core.List buildUnnamed50() => [ +core.Map buildUnnamed50() => { + 'x': 'foo', + 'y': 'foo', + }; + +void checkUnnamed50(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o['x']!, + unittest.equals('foo'), + ); + unittest.expect( + o['y']!, + unittest.equals('foo'), + ); +} + +core.List buildUnnamed51() => [ 'foo', 'foo', ]; -void checkUnnamed50(core.List o) { +void checkUnnamed51(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2740,12 +2811,12 @@ void checkUnnamed50(core.List o) { ); } -core.List buildUnnamed51() => [ +core.List buildUnnamed52() => [ 'foo', 'foo', ]; -void checkUnnamed51(core.List o) { +void checkUnnamed52(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2769,11 +2840,12 @@ api.GceClusterConfig buildGceClusterConfig() { o.nodeGroupAffinity = buildNodeGroupAffinity(); o.privateIpv6GoogleAccess = 'foo'; o.reservationAffinity = buildReservationAffinity(); + o.resourceManagerTags = buildUnnamed50(); o.serviceAccount = 'foo'; - o.serviceAccountScopes = buildUnnamed50(); + o.serviceAccountScopes = buildUnnamed51(); o.shieldedInstanceConfig = buildShieldedInstanceConfig(); o.subnetworkUri = 'foo'; - o.tags = buildUnnamed51(); + o.tags = buildUnnamed52(); o.zoneUri = 'foo'; } buildCounterGceClusterConfig--; @@ -2796,17 +2868,18 @@ void checkGceClusterConfig(api.GceClusterConfig o) { unittest.equals('foo'), ); checkReservationAffinity(o.reservationAffinity!); + checkUnnamed50(o.resourceManagerTags!); unittest.expect( o.serviceAccount!, unittest.equals('foo'), ); - checkUnnamed50(o.serviceAccountScopes!); + checkUnnamed51(o.serviceAccountScopes!); checkShieldedInstanceConfig(o.shieldedInstanceConfig!); unittest.expect( o.subnetworkUri!, unittest.equals('foo'), ); - checkUnnamed51(o.tags!); + checkUnnamed52(o.tags!); unittest.expect( o.zoneUri!, unittest.equals('foo'), @@ -2856,12 +2929,12 @@ void checkGetPolicyOptions(api.GetPolicyOptions o) { buildCounterGetPolicyOptions--; } -core.List buildUnnamed52() => [ +core.List buildUnnamed53() => [ buildGkeNodePoolTarget(), buildGkeNodePoolTarget(), ]; -void checkUnnamed52(core.List o) { +void checkUnnamed53(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGkeNodePoolTarget(o[0]); checkGkeNodePoolTarget(o[1]); @@ -2874,7 +2947,7 @@ api.GkeClusterConfig buildGkeClusterConfig() { if (buildCounterGkeClusterConfig < 3) { o.gkeClusterTarget = 'foo'; o.namespacedGkeDeploymentTarget = buildNamespacedGkeDeploymentTarget(); - o.nodePoolTarget = buildUnnamed52(); + o.nodePoolTarget = buildUnnamed53(); } buildCounterGkeClusterConfig--; return o; @@ -2888,17 +2961,17 @@ void checkGkeClusterConfig(api.GkeClusterConfig o) { unittest.equals('foo'), ); checkNamespacedGkeDeploymentTarget(o.namespacedGkeDeploymentTarget!); - checkUnnamed52(o.nodePoolTarget!); + checkUnnamed53(o.nodePoolTarget!); } buildCounterGkeClusterConfig--; } -core.List buildUnnamed53() => [ +core.List buildUnnamed54() => [ buildGkeNodePoolAcceleratorConfig(), buildGkeNodePoolAcceleratorConfig(), ]; -void checkUnnamed53(core.List o) { +void checkUnnamed54(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGkeNodePoolAcceleratorConfig(o[0]); checkGkeNodePoolAcceleratorConfig(o[1]); @@ -2909,7 +2982,7 @@ api.GkeNodeConfig buildGkeNodeConfig() { final o = api.GkeNodeConfig(); buildCounterGkeNodeConfig++; if (buildCounterGkeNodeConfig < 3) { - o.accelerators = buildUnnamed53(); + o.accelerators = buildUnnamed54(); o.bootDiskKmsKey = 'foo'; o.localSsdCount = 42; o.machineType = 'foo'; @@ -2924,7 +2997,7 @@ api.GkeNodeConfig buildGkeNodeConfig() { void checkGkeNodeConfig(api.GkeNodeConfig o) { buildCounterGkeNodeConfig++; if (buildCounterGkeNodeConfig < 3) { - checkUnnamed53(o.accelerators!); + checkUnnamed54(o.accelerators!); unittest.expect( o.bootDiskKmsKey!, unittest.equals('foo'), @@ -3006,12 +3079,12 @@ void checkGkeNodePoolAutoscalingConfig(api.GkeNodePoolAutoscalingConfig o) { buildCounterGkeNodePoolAutoscalingConfig--; } -core.List buildUnnamed54() => [ +core.List buildUnnamed55() => [ 'foo', 'foo', ]; -void checkUnnamed54(core.List o) { +void checkUnnamed55(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3030,7 +3103,7 @@ api.GkeNodePoolConfig buildGkeNodePoolConfig() { if (buildCounterGkeNodePoolConfig < 3) { o.autoscaling = buildGkeNodePoolAutoscalingConfig(); o.config = buildGkeNodeConfig(); - o.locations = buildUnnamed54(); + o.locations = buildUnnamed55(); } buildCounterGkeNodePoolConfig--; return o; @@ -3041,17 +3114,17 @@ void checkGkeNodePoolConfig(api.GkeNodePoolConfig o) { if (buildCounterGkeNodePoolConfig < 3) { checkGkeNodePoolAutoscalingConfig(o.autoscaling!); checkGkeNodeConfig(o.config!); - checkUnnamed54(o.locations!); + checkUnnamed55(o.locations!); } buildCounterGkeNodePoolConfig--; } -core.List buildUnnamed55() => [ +core.List buildUnnamed56() => [ 'foo', 'foo', ]; -void checkUnnamed55(core.List o) { +void checkUnnamed56(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3070,7 +3143,7 @@ api.GkeNodePoolTarget buildGkeNodePoolTarget() { if (buildCounterGkeNodePoolTarget < 3) { o.nodePool = 'foo'; o.nodePoolConfig = buildGkeNodePoolConfig(); - o.roles = buildUnnamed55(); + o.roles = buildUnnamed56(); } buildCounterGkeNodePoolTarget--; return o; @@ -3084,7 +3157,7 @@ void checkGkeNodePoolTarget(api.GkeNodePoolTarget o) { unittest.equals('foo'), ); checkGkeNodePoolConfig(o.nodePoolConfig!); - checkUnnamed55(o.roles!); + checkUnnamed56(o.roles!); } buildCounterGkeNodePoolTarget--; } @@ -3113,12 +3186,12 @@ void checkGoogleCloudDataprocV1WorkflowTemplateEncryptionConfig( buildCounterGoogleCloudDataprocV1WorkflowTemplateEncryptionConfig--; } -core.List buildUnnamed56() => [ +core.List buildUnnamed57() => [ 'foo', 'foo', ]; -void checkUnnamed56(core.List o) { +void checkUnnamed57(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3130,12 +3203,12 @@ void checkUnnamed56(core.List o) { ); } -core.List buildUnnamed57() => [ +core.List buildUnnamed58() => [ 'foo', 'foo', ]; -void checkUnnamed57(core.List o) { +void checkUnnamed58(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3147,12 +3220,12 @@ void checkUnnamed57(core.List o) { ); } -core.List buildUnnamed58() => [ +core.List buildUnnamed59() => [ 'foo', 'foo', ]; -void checkUnnamed58(core.List o) { +void checkUnnamed59(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3164,12 +3237,12 @@ void checkUnnamed58(core.List o) { ); } -core.List buildUnnamed59() => [ +core.List buildUnnamed60() => [ 'foo', 'foo', ]; -void checkUnnamed59(core.List o) { +void checkUnnamed60(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3181,12 +3254,12 @@ void checkUnnamed59(core.List o) { ); } -core.Map buildUnnamed60() => { +core.Map buildUnnamed61() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed60(core.Map o) { +void checkUnnamed61(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3203,14 +3276,14 @@ api.HadoopJob buildHadoopJob() { final o = api.HadoopJob(); buildCounterHadoopJob++; if (buildCounterHadoopJob < 3) { - o.archiveUris = buildUnnamed56(); - o.args = buildUnnamed57(); - o.fileUris = buildUnnamed58(); - o.jarFileUris = buildUnnamed59(); + o.archiveUris = buildUnnamed57(); + o.args = buildUnnamed58(); + o.fileUris = buildUnnamed59(); + o.jarFileUris = buildUnnamed60(); o.loggingConfig = buildLoggingConfig(); o.mainClass = 'foo'; o.mainJarFileUri = 'foo'; - o.properties = buildUnnamed60(); + o.properties = buildUnnamed61(); } buildCounterHadoopJob--; return o; @@ -3219,10 +3292,10 @@ api.HadoopJob buildHadoopJob() { void checkHadoopJob(api.HadoopJob o) { buildCounterHadoopJob++; if (buildCounterHadoopJob < 3) { - checkUnnamed56(o.archiveUris!); - checkUnnamed57(o.args!); - checkUnnamed58(o.fileUris!); - checkUnnamed59(o.jarFileUris!); + checkUnnamed57(o.archiveUris!); + checkUnnamed58(o.args!); + checkUnnamed59(o.fileUris!); + checkUnnamed60(o.jarFileUris!); checkLoggingConfig(o.loggingConfig!); unittest.expect( o.mainClass!, @@ -3232,17 +3305,17 @@ void checkHadoopJob(api.HadoopJob o) { o.mainJarFileUri!, unittest.equals('foo'), ); - checkUnnamed60(o.properties!); + checkUnnamed61(o.properties!); } buildCounterHadoopJob--; } -core.List buildUnnamed61() => [ +core.List buildUnnamed62() => [ 'foo', 'foo', ]; -void checkUnnamed61(core.List o) { +void checkUnnamed62(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3254,12 +3327,12 @@ void checkUnnamed61(core.List o) { ); } -core.Map buildUnnamed62() => { +core.Map buildUnnamed63() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed62(core.Map o) { +void checkUnnamed63(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3271,12 +3344,12 @@ void checkUnnamed62(core.Map o) { ); } -core.Map buildUnnamed63() => { +core.Map buildUnnamed64() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed63(core.Map o) { +void checkUnnamed64(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3294,11 +3367,11 @@ api.HiveJob buildHiveJob() { buildCounterHiveJob++; if (buildCounterHiveJob < 3) { o.continueOnFailure = true; - o.jarFileUris = buildUnnamed61(); - o.properties = buildUnnamed62(); + o.jarFileUris = buildUnnamed62(); + o.properties = buildUnnamed63(); o.queryFileUri = 'foo'; o.queryList = buildQueryList(); - o.scriptVariables = buildUnnamed63(); + o.scriptVariables = buildUnnamed64(); } buildCounterHiveJob--; return o; @@ -3308,24 +3381,24 @@ void checkHiveJob(api.HiveJob o) { buildCounterHiveJob++; if (buildCounterHiveJob < 3) { unittest.expect(o.continueOnFailure!, unittest.isTrue); - checkUnnamed61(o.jarFileUris!); - checkUnnamed62(o.properties!); + checkUnnamed62(o.jarFileUris!); + checkUnnamed63(o.properties!); unittest.expect( o.queryFileUri!, unittest.equals('foo'), ); checkQueryList(o.queryList!); - checkUnnamed63(o.scriptVariables!); + checkUnnamed64(o.scriptVariables!); } buildCounterHiveJob--; } -core.Map buildUnnamed64() => { +core.Map buildUnnamed65() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed64(core.Map o) { +void checkUnnamed65(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3342,7 +3415,7 @@ api.IdentityConfig buildIdentityConfig() { final o = api.IdentityConfig(); buildCounterIdentityConfig++; if (buildCounterIdentityConfig < 3) { - o.userServiceAccountMapping = buildUnnamed64(); + o.userServiceAccountMapping = buildUnnamed65(); } buildCounterIdentityConfig--; return o; @@ -3351,7 +3424,7 @@ api.IdentityConfig buildIdentityConfig() { void checkIdentityConfig(api.IdentityConfig o) { buildCounterIdentityConfig++; if (buildCounterIdentityConfig < 3) { - checkUnnamed64(o.userServiceAccountMapping!); + checkUnnamed65(o.userServiceAccountMapping!); } buildCounterIdentityConfig--; } @@ -3431,23 +3504,23 @@ void checkInputQuantileMetrics(api.InputQuantileMetrics o) { buildCounterInputQuantileMetrics--; } -core.List buildUnnamed65() => [ +core.List buildUnnamed66() => [ buildInstanceSelection(), buildInstanceSelection(), ]; -void checkUnnamed65(core.List o) { +void checkUnnamed66(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceSelection(o[0]); checkInstanceSelection(o[1]); } -core.List buildUnnamed66() => [ +core.List buildUnnamed67() => [ buildInstanceSelectionResult(), buildInstanceSelectionResult(), ]; -void checkUnnamed66(core.List o) { +void checkUnnamed67(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceSelectionResult(o[0]); checkInstanceSelectionResult(o[1]); @@ -3458,8 +3531,8 @@ api.InstanceFlexibilityPolicy buildInstanceFlexibilityPolicy() { final o = api.InstanceFlexibilityPolicy(); buildCounterInstanceFlexibilityPolicy++; if (buildCounterInstanceFlexibilityPolicy < 3) { - o.instanceSelectionList = buildUnnamed65(); - o.instanceSelectionResults = buildUnnamed66(); + o.instanceSelectionList = buildUnnamed66(); + o.instanceSelectionResults = buildUnnamed67(); o.provisioningModelMix = buildProvisioningModelMix(); } buildCounterInstanceFlexibilityPolicy--; @@ -3469,8 +3542,8 @@ api.InstanceFlexibilityPolicy buildInstanceFlexibilityPolicy() { void checkInstanceFlexibilityPolicy(api.InstanceFlexibilityPolicy o) { buildCounterInstanceFlexibilityPolicy++; if (buildCounterInstanceFlexibilityPolicy < 3) { - checkUnnamed65(o.instanceSelectionList!); - checkUnnamed66(o.instanceSelectionResults!); + checkUnnamed66(o.instanceSelectionList!); + checkUnnamed67(o.instanceSelectionResults!); checkProvisioningModelMix(o.provisioningModelMix!); } buildCounterInstanceFlexibilityPolicy--; @@ -3510,23 +3583,23 @@ void checkInstanceGroupAutoscalingPolicyConfig( buildCounterInstanceGroupAutoscalingPolicyConfig--; } -core.List buildUnnamed67() => [ +core.List buildUnnamed68() => [ buildAcceleratorConfig(), buildAcceleratorConfig(), ]; -void checkUnnamed67(core.List o) { +void checkUnnamed68(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAcceleratorConfig(o[0]); checkAcceleratorConfig(o[1]); } -core.List buildUnnamed68() => [ +core.List buildUnnamed69() => [ 'foo', 'foo', ]; -void checkUnnamed68(core.List o) { +void checkUnnamed69(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3538,12 +3611,12 @@ void checkUnnamed68(core.List o) { ); } -core.List buildUnnamed69() => [ +core.List buildUnnamed70() => [ buildInstanceReference(), buildInstanceReference(), ]; -void checkUnnamed69(core.List o) { +void checkUnnamed70(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceReference(o[0]); checkInstanceReference(o[1]); @@ -3554,12 +3627,12 @@ api.InstanceGroupConfig buildInstanceGroupConfig() { final o = api.InstanceGroupConfig(); buildCounterInstanceGroupConfig++; if (buildCounterInstanceGroupConfig < 3) { - o.accelerators = buildUnnamed67(); + o.accelerators = buildUnnamed68(); o.diskConfig = buildDiskConfig(); o.imageUri = 'foo'; o.instanceFlexibilityPolicy = buildInstanceFlexibilityPolicy(); - o.instanceNames = buildUnnamed68(); - o.instanceReferences = buildUnnamed69(); + o.instanceNames = buildUnnamed69(); + o.instanceReferences = buildUnnamed70(); o.isPreemptible = true; o.machineTypeUri = 'foo'; o.managedGroupConfig = buildManagedGroupConfig(); @@ -3576,15 +3649,15 @@ api.InstanceGroupConfig buildInstanceGroupConfig() { void checkInstanceGroupConfig(api.InstanceGroupConfig o) { buildCounterInstanceGroupConfig++; if (buildCounterInstanceGroupConfig < 3) { - checkUnnamed67(o.accelerators!); + checkUnnamed68(o.accelerators!); checkDiskConfig(o.diskConfig!); unittest.expect( o.imageUri!, unittest.equals('foo'), ); checkInstanceFlexibilityPolicy(o.instanceFlexibilityPolicy!); - checkUnnamed68(o.instanceNames!); - checkUnnamed69(o.instanceReferences!); + checkUnnamed69(o.instanceNames!); + checkUnnamed70(o.instanceReferences!); unittest.expect(o.isPreemptible!, unittest.isTrue); unittest.expect( o.machineTypeUri!, @@ -3649,12 +3722,12 @@ void checkInstanceReference(api.InstanceReference o) { buildCounterInstanceReference--; } -core.List buildUnnamed70() => [ +core.List buildUnnamed71() => [ 'foo', 'foo', ]; -void checkUnnamed70(core.List o) { +void checkUnnamed71(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3671,7 +3744,7 @@ api.InstanceSelection buildInstanceSelection() { final o = api.InstanceSelection(); buildCounterInstanceSelection++; if (buildCounterInstanceSelection < 3) { - o.machineTypes = buildUnnamed70(); + o.machineTypes = buildUnnamed71(); o.rank = 42; } buildCounterInstanceSelection--; @@ -3681,7 +3754,7 @@ api.InstanceSelection buildInstanceSelection() { void checkInstanceSelection(api.InstanceSelection o) { buildCounterInstanceSelection++; if (buildCounterInstanceSelection < 3) { - checkUnnamed70(o.machineTypes!); + checkUnnamed71(o.machineTypes!); unittest.expect( o.rank!, unittest.equals(42), @@ -3717,12 +3790,12 @@ void checkInstanceSelectionResult(api.InstanceSelectionResult o) { buildCounterInstanceSelectionResult--; } -core.Map buildUnnamed71() => { +core.Map buildUnnamed72() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed71(core.Map o) { +void checkUnnamed72(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3740,7 +3813,7 @@ api.InstantiateWorkflowTemplateRequest final o = api.InstantiateWorkflowTemplateRequest(); buildCounterInstantiateWorkflowTemplateRequest++; if (buildCounterInstantiateWorkflowTemplateRequest < 3) { - o.parameters = buildUnnamed71(); + o.parameters = buildUnnamed72(); o.requestId = 'foo'; o.version = 42; } @@ -3752,7 +3825,7 @@ void checkInstantiateWorkflowTemplateRequest( api.InstantiateWorkflowTemplateRequest o) { buildCounterInstantiateWorkflowTemplateRequest++; if (buildCounterInstantiateWorkflowTemplateRequest < 3) { - checkUnnamed71(o.parameters!); + checkUnnamed72(o.parameters!); unittest.expect( o.requestId!, unittest.equals('foo'), @@ -3792,12 +3865,12 @@ void checkInterval(api.Interval o) { buildCounterInterval--; } -core.Map buildUnnamed72() => { +core.Map buildUnnamed73() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed72(core.Map o) { +void checkUnnamed73(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3809,23 +3882,23 @@ void checkUnnamed72(core.Map o) { ); } -core.List buildUnnamed73() => [ +core.List buildUnnamed74() => [ buildJobStatus(), buildJobStatus(), ]; -void checkUnnamed73(core.List o) { +void checkUnnamed74(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkJobStatus(o[0]); checkJobStatus(o[1]); } -core.List buildUnnamed74() => [ +core.List buildUnnamed75() => [ buildYarnApplication(), buildYarnApplication(), ]; -void checkUnnamed74(core.List o) { +void checkUnnamed75(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkYarnApplication(o[0]); checkYarnApplication(o[1]); @@ -3844,7 +3917,7 @@ api.Job buildJob() { o.hadoopJob = buildHadoopJob(); o.hiveJob = buildHiveJob(); o.jobUuid = 'foo'; - o.labels = buildUnnamed72(); + o.labels = buildUnnamed73(); o.pigJob = buildPigJob(); o.placement = buildJobPlacement(); o.prestoJob = buildPrestoJob(); @@ -3855,9 +3928,9 @@ api.Job buildJob() { o.sparkRJob = buildSparkRJob(); o.sparkSqlJob = buildSparkSqlJob(); o.status = buildJobStatus(); - o.statusHistory = buildUnnamed73(); + o.statusHistory = buildUnnamed74(); o.trinoJob = buildTrinoJob(); - o.yarnApplications = buildUnnamed74(); + o.yarnApplications = buildUnnamed75(); } buildCounterJob--; return o; @@ -3883,7 +3956,7 @@ void checkJob(api.Job o) { o.jobUuid!, unittest.equals('foo'), ); - checkUnnamed72(o.labels!); + checkUnnamed73(o.labels!); checkPigJob(o.pigJob!); checkJobPlacement(o.placement!); checkPrestoJob(o.prestoJob!); @@ -3894,19 +3967,19 @@ void checkJob(api.Job o) { checkSparkRJob(o.sparkRJob!); checkSparkSqlJob(o.sparkSqlJob!); checkJobStatus(o.status!); - checkUnnamed73(o.statusHistory!); + checkUnnamed74(o.statusHistory!); checkTrinoJob(o.trinoJob!); - checkUnnamed74(o.yarnApplications!); + checkUnnamed75(o.yarnApplications!); } buildCounterJob--; } -core.Map buildUnnamed75() => { +core.Map buildUnnamed76() => { 'x': 42, 'y': 42, }; -void checkUnnamed75(core.Map o) { +void checkUnnamed76(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3918,12 +3991,12 @@ void checkUnnamed75(core.Map o) { ); } -core.List buildUnnamed76() => [ +core.List buildUnnamed77() => [ 42, 42, ]; -void checkUnnamed76(core.List o) { +void checkUnnamed77(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3935,12 +4008,12 @@ void checkUnnamed76(core.List o) { ); } -core.List buildUnnamed77() => [ +core.List buildUnnamed78() => [ 'foo', 'foo', ]; -void checkUnnamed77(core.List o) { +void checkUnnamed78(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3961,7 +4034,7 @@ api.JobData buildJobData() { o.description = 'foo'; o.jobGroup = 'foo'; o.jobId = 'foo'; - o.killTasksSummary = buildUnnamed75(); + o.killTasksSummary = buildUnnamed76(); o.name = 'foo'; o.numActiveStages = 42; o.numActiveTasks = 42; @@ -3974,9 +4047,9 @@ api.JobData buildJobData() { o.numSkippedStages = 42; o.numSkippedTasks = 42; o.numTasks = 42; - o.skippedStages = buildUnnamed76(); + o.skippedStages = buildUnnamed77(); o.sqlExecutionId = 'foo'; - o.stageIds = buildUnnamed77(); + o.stageIds = buildUnnamed78(); o.status = 'foo'; o.submissionTime = 'foo'; } @@ -4003,7 +4076,7 @@ void checkJobData(api.JobData o) { o.jobId!, unittest.equals('foo'), ); - checkUnnamed75(o.killTasksSummary!); + checkUnnamed76(o.killTasksSummary!); unittest.expect( o.name!, unittest.equals('foo'), @@ -4052,12 +4125,12 @@ void checkJobData(api.JobData o) { o.numTasks!, unittest.equals(42), ); - checkUnnamed76(o.skippedStages!); + checkUnnamed77(o.skippedStages!); unittest.expect( o.sqlExecutionId!, unittest.equals('foo'), ); - checkUnnamed77(o.stageIds!); + checkUnnamed78(o.stageIds!); unittest.expect( o.status!, unittest.equals('foo'), @@ -4070,12 +4143,12 @@ void checkJobData(api.JobData o) { buildCounterJobData--; } -core.Map buildUnnamed78() => { +core.Map buildUnnamed79() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed78(core.Map o) { +void checkUnnamed79(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4092,7 +4165,7 @@ api.JobPlacement buildJobPlacement() { final o = api.JobPlacement(); buildCounterJobPlacement++; if (buildCounterJobPlacement < 3) { - o.clusterLabels = buildUnnamed78(); + o.clusterLabels = buildUnnamed79(); o.clusterName = 'foo'; o.clusterUuid = 'foo'; } @@ -4103,7 +4176,7 @@ api.JobPlacement buildJobPlacement() { void checkJobPlacement(api.JobPlacement o) { buildCounterJobPlacement++; if (buildCounterJobPlacement < 3) { - checkUnnamed78(o.clusterLabels!); + checkUnnamed79(o.clusterLabels!); unittest.expect( o.clusterName!, unittest.equals('foo'), @@ -4207,12 +4280,12 @@ void checkJobStatus(api.JobStatus o) { buildCounterJobStatus--; } -core.List buildUnnamed79() => [ +core.List buildUnnamed80() => [ buildApplicationAttemptInfo(), buildApplicationAttemptInfo(), ]; -void checkUnnamed79(core.List o) { +void checkUnnamed80(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkApplicationAttemptInfo(o[0]); checkApplicationAttemptInfo(o[1]); @@ -4225,7 +4298,7 @@ api.JobsSummary buildJobsSummary() { if (buildCounterJobsSummary < 3) { o.activeJobs = 42; o.applicationId = 'foo'; - o.attempts = buildUnnamed79(); + o.attempts = buildUnnamed80(); o.completedJobs = 42; o.failedJobs = 42; o.schedulingMode = 'foo'; @@ -4245,7 +4318,7 @@ void checkJobsSummary(api.JobsSummary o) { o.applicationId!, unittest.equals('foo'), ); - checkUnnamed79(o.attempts!); + checkUnnamed80(o.attempts!); unittest.expect( o.completedJobs!, unittest.equals(42), @@ -4404,12 +4477,12 @@ void checkKubernetesClusterConfig(api.KubernetesClusterConfig o) { buildCounterKubernetesClusterConfig--; } -core.Map buildUnnamed80() => { +core.Map buildUnnamed81() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed80(core.Map o) { +void checkUnnamed81(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4421,12 +4494,12 @@ void checkUnnamed80(core.Map o) { ); } -core.Map buildUnnamed81() => { +core.Map buildUnnamed82() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed81(core.Map o) { +void checkUnnamed82(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4443,8 +4516,8 @@ api.KubernetesSoftwareConfig buildKubernetesSoftwareConfig() { final o = api.KubernetesSoftwareConfig(); buildCounterKubernetesSoftwareConfig++; if (buildCounterKubernetesSoftwareConfig < 3) { - o.componentVersion = buildUnnamed80(); - o.properties = buildUnnamed81(); + o.componentVersion = buildUnnamed81(); + o.properties = buildUnnamed82(); } buildCounterKubernetesSoftwareConfig--; return o; @@ -4453,8 +4526,8 @@ api.KubernetesSoftwareConfig buildKubernetesSoftwareConfig() { void checkKubernetesSoftwareConfig(api.KubernetesSoftwareConfig o) { buildCounterKubernetesSoftwareConfig++; if (buildCounterKubernetesSoftwareConfig < 3) { - checkUnnamed80(o.componentVersion!); - checkUnnamed81(o.properties!); + checkUnnamed81(o.componentVersion!); + checkUnnamed82(o.properties!); } buildCounterKubernetesSoftwareConfig--; } @@ -4496,12 +4569,12 @@ void checkLifecycleConfig(api.LifecycleConfig o) { buildCounterLifecycleConfig--; } -core.List buildUnnamed82() => [ +core.List buildUnnamed83() => [ buildAutoscalingPolicy(), buildAutoscalingPolicy(), ]; -void checkUnnamed82(core.List o) { +void checkUnnamed83(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAutoscalingPolicy(o[0]); checkAutoscalingPolicy(o[1]); @@ -4513,7 +4586,7 @@ api.ListAutoscalingPoliciesResponse buildListAutoscalingPoliciesResponse() { buildCounterListAutoscalingPoliciesResponse++; if (buildCounterListAutoscalingPoliciesResponse < 3) { o.nextPageToken = 'foo'; - o.policies = buildUnnamed82(); + o.policies = buildUnnamed83(); } buildCounterListAutoscalingPoliciesResponse--; return o; @@ -4527,28 +4600,28 @@ void checkListAutoscalingPoliciesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed82(o.policies!); + checkUnnamed83(o.policies!); } buildCounterListAutoscalingPoliciesResponse--; } -core.List buildUnnamed83() => [ +core.List buildUnnamed84() => [ buildBatch(), buildBatch(), ]; -void checkUnnamed83(core.List o) { +void checkUnnamed84(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBatch(o[0]); checkBatch(o[1]); } -core.List buildUnnamed84() => [ +core.List buildUnnamed85() => [ 'foo', 'foo', ]; -void checkUnnamed84(core.List o) { +void checkUnnamed85(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4565,9 +4638,9 @@ api.ListBatchesResponse buildListBatchesResponse() { final o = api.ListBatchesResponse(); buildCounterListBatchesResponse++; if (buildCounterListBatchesResponse < 3) { - o.batches = buildUnnamed83(); + o.batches = buildUnnamed84(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed84(); + o.unreachable = buildUnnamed85(); } buildCounterListBatchesResponse--; return o; @@ -4576,22 +4649,22 @@ api.ListBatchesResponse buildListBatchesResponse() { void checkListBatchesResponse(api.ListBatchesResponse o) { buildCounterListBatchesResponse++; if (buildCounterListBatchesResponse < 3) { - checkUnnamed83(o.batches!); + checkUnnamed84(o.batches!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed84(o.unreachable!); + checkUnnamed85(o.unreachable!); } buildCounterListBatchesResponse--; } -core.List buildUnnamed85() => [ +core.List buildUnnamed86() => [ buildCluster(), buildCluster(), ]; -void checkUnnamed85(core.List o) { +void checkUnnamed86(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCluster(o[0]); checkCluster(o[1]); @@ -4602,7 +4675,7 @@ api.ListClustersResponse buildListClustersResponse() { final o = api.ListClustersResponse(); buildCounterListClustersResponse++; if (buildCounterListClustersResponse < 3) { - o.clusters = buildUnnamed85(); + o.clusters = buildUnnamed86(); o.nextPageToken = 'foo'; } buildCounterListClustersResponse--; @@ -4612,7 +4685,7 @@ api.ListClustersResponse buildListClustersResponse() { void checkListClustersResponse(api.ListClustersResponse o) { buildCounterListClustersResponse++; if (buildCounterListClustersResponse < 3) { - checkUnnamed85(o.clusters!); + checkUnnamed86(o.clusters!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -4621,23 +4694,23 @@ void checkListClustersResponse(api.ListClustersResponse o) { buildCounterListClustersResponse--; } -core.List buildUnnamed86() => [ +core.List buildUnnamed87() => [ buildJob(), buildJob(), ]; -void checkUnnamed86(core.List o) { +void checkUnnamed87(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkJob(o[0]); checkJob(o[1]); } -core.List buildUnnamed87() => [ +core.List buildUnnamed88() => [ 'foo', 'foo', ]; -void checkUnnamed87(core.List o) { +void checkUnnamed88(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4654,9 +4727,9 @@ api.ListJobsResponse buildListJobsResponse() { final o = api.ListJobsResponse(); buildCounterListJobsResponse++; if (buildCounterListJobsResponse < 3) { - o.jobs = buildUnnamed86(); + o.jobs = buildUnnamed87(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed87(); + o.unreachable = buildUnnamed88(); } buildCounterListJobsResponse--; return o; @@ -4665,22 +4738,22 @@ api.ListJobsResponse buildListJobsResponse() { void checkListJobsResponse(api.ListJobsResponse o) { buildCounterListJobsResponse++; if (buildCounterListJobsResponse < 3) { - checkUnnamed86(o.jobs!); + checkUnnamed87(o.jobs!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed87(o.unreachable!); + checkUnnamed88(o.unreachable!); } buildCounterListJobsResponse--; } -core.List buildUnnamed88() => [ +core.List buildUnnamed89() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed88(core.List o) { +void checkUnnamed89(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -4692,7 +4765,7 @@ api.ListOperationsResponse buildListOperationsResponse() { buildCounterListOperationsResponse++; if (buildCounterListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed88(); + o.operations = buildUnnamed89(); } buildCounterListOperationsResponse--; return o; @@ -4705,17 +4778,17 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed88(o.operations!); + checkUnnamed89(o.operations!); } buildCounterListOperationsResponse--; } -core.List buildUnnamed89() => [ +core.List buildUnnamed90() => [ buildSessionTemplate(), buildSessionTemplate(), ]; -void checkUnnamed89(core.List o) { +void checkUnnamed90(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSessionTemplate(o[0]); checkSessionTemplate(o[1]); @@ -4727,7 +4800,7 @@ api.ListSessionTemplatesResponse buildListSessionTemplatesResponse() { buildCounterListSessionTemplatesResponse++; if (buildCounterListSessionTemplatesResponse < 3) { o.nextPageToken = 'foo'; - o.sessionTemplates = buildUnnamed89(); + o.sessionTemplates = buildUnnamed90(); } buildCounterListSessionTemplatesResponse--; return o; @@ -4740,17 +4813,17 @@ void checkListSessionTemplatesResponse(api.ListSessionTemplatesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed89(o.sessionTemplates!); + checkUnnamed90(o.sessionTemplates!); } buildCounterListSessionTemplatesResponse--; } -core.List buildUnnamed90() => [ +core.List buildUnnamed91() => [ buildSession(), buildSession(), ]; -void checkUnnamed90(core.List o) { +void checkUnnamed91(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSession(o[0]); checkSession(o[1]); @@ -4762,7 +4835,7 @@ api.ListSessionsResponse buildListSessionsResponse() { buildCounterListSessionsResponse++; if (buildCounterListSessionsResponse < 3) { o.nextPageToken = 'foo'; - o.sessions = buildUnnamed90(); + o.sessions = buildUnnamed91(); } buildCounterListSessionsResponse--; return o; @@ -4775,28 +4848,28 @@ void checkListSessionsResponse(api.ListSessionsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed90(o.sessions!); + checkUnnamed91(o.sessions!); } buildCounterListSessionsResponse--; } -core.List buildUnnamed91() => [ +core.List buildUnnamed92() => [ buildWorkflowTemplate(), buildWorkflowTemplate(), ]; -void checkUnnamed91(core.List o) { +void checkUnnamed92(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWorkflowTemplate(o[0]); checkWorkflowTemplate(o[1]); } -core.List buildUnnamed92() => [ +core.List buildUnnamed93() => [ 'foo', 'foo', ]; -void checkUnnamed92(core.List o) { +void checkUnnamed93(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4814,8 +4887,8 @@ api.ListWorkflowTemplatesResponse buildListWorkflowTemplatesResponse() { buildCounterListWorkflowTemplatesResponse++; if (buildCounterListWorkflowTemplatesResponse < 3) { o.nextPageToken = 'foo'; - o.templates = buildUnnamed91(); - o.unreachable = buildUnnamed92(); + o.templates = buildUnnamed92(); + o.unreachable = buildUnnamed93(); } buildCounterListWorkflowTemplatesResponse--; return o; @@ -4828,18 +4901,18 @@ void checkListWorkflowTemplatesResponse(api.ListWorkflowTemplatesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed91(o.templates!); - checkUnnamed92(o.unreachable!); + checkUnnamed92(o.templates!); + checkUnnamed93(o.unreachable!); } buildCounterListWorkflowTemplatesResponse--; } -core.Map buildUnnamed93() => { +core.Map buildUnnamed94() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed93(core.Map o) { +void checkUnnamed94(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4856,7 +4929,7 @@ api.LoggingConfig buildLoggingConfig() { final o = api.LoggingConfig(); buildCounterLoggingConfig++; if (buildCounterLoggingConfig < 3) { - o.driverLogLevels = buildUnnamed93(); + o.driverLogLevels = buildUnnamed94(); } buildCounterLoggingConfig--; return o; @@ -4865,17 +4938,17 @@ api.LoggingConfig buildLoggingConfig() { void checkLoggingConfig(api.LoggingConfig o) { buildCounterLoggingConfig++; if (buildCounterLoggingConfig < 3) { - checkUnnamed93(o.driverLogLevels!); + checkUnnamed94(o.driverLogLevels!); } buildCounterLoggingConfig--; } -core.Map buildUnnamed94() => { +core.Map buildUnnamed95() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed94(core.Map o) { +void checkUnnamed95(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4894,7 +4967,7 @@ api.ManagedCluster buildManagedCluster() { if (buildCounterManagedCluster < 3) { o.clusterName = 'foo'; o.config = buildClusterConfig(); - o.labels = buildUnnamed94(); + o.labels = buildUnnamed95(); } buildCounterManagedCluster--; return o; @@ -4908,7 +4981,7 @@ void checkManagedCluster(api.ManagedCluster o) { unittest.equals('foo'), ); checkClusterConfig(o.config!); - checkUnnamed94(o.labels!); + checkUnnamed95(o.labels!); } buildCounterManagedCluster--; } @@ -5004,12 +5077,12 @@ void checkMetastoreConfig(api.MetastoreConfig o) { buildCounterMetastoreConfig--; } -core.List buildUnnamed95() => [ +core.List buildUnnamed96() => [ 'foo', 'foo', ]; -void checkUnnamed95(core.List o) { +void checkUnnamed96(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5026,7 +5099,7 @@ api.Metric buildMetric() { final o = api.Metric(); buildCounterMetric++; if (buildCounterMetric < 3) { - o.metricOverrides = buildUnnamed95(); + o.metricOverrides = buildUnnamed96(); o.metricSource = 'foo'; } buildCounterMetric--; @@ -5036,7 +5109,7 @@ api.Metric buildMetric() { void checkMetric(api.Metric o) { buildCounterMetric++; if (buildCounterMetric < 3) { - checkUnnamed95(o.metricOverrides!); + checkUnnamed96(o.metricOverrides!); unittest.expect( o.metricSource!, unittest.equals('foo'), @@ -5072,12 +5145,102 @@ void checkNamespacedGkeDeploymentTarget(api.NamespacedGkeDeploymentTarget o) { buildCounterNamespacedGkeDeploymentTarget--; } -core.Map buildUnnamed96() => { +core.List buildUnnamed97() => [ + buildBuildInfo(), + buildBuildInfo(), + ]; + +void checkUnnamed97(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkBuildInfo(o[0]); + checkBuildInfo(o[1]); +} + +core.int buildCounterNativeBuildInfoUiData = 0; +api.NativeBuildInfoUiData buildNativeBuildInfoUiData() { + final o = api.NativeBuildInfoUiData(); + buildCounterNativeBuildInfoUiData++; + if (buildCounterNativeBuildInfoUiData < 3) { + o.buildClass = 'foo'; + o.buildInfo = buildUnnamed97(); + } + buildCounterNativeBuildInfoUiData--; + return o; +} + +void checkNativeBuildInfoUiData(api.NativeBuildInfoUiData o) { + buildCounterNativeBuildInfoUiData++; + if (buildCounterNativeBuildInfoUiData < 3) { + unittest.expect( + o.buildClass!, + unittest.equals('foo'), + ); + checkUnnamed97(o.buildInfo!); + } + buildCounterNativeBuildInfoUiData--; +} + +core.List buildUnnamed98() => [ + buildFallbackReason(), + buildFallbackReason(), + ]; + +void checkUnnamed98(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkFallbackReason(o[0]); + checkFallbackReason(o[1]); +} + +core.int buildCounterNativeSqlExecutionUiData = 0; +api.NativeSqlExecutionUiData buildNativeSqlExecutionUiData() { + final o = api.NativeSqlExecutionUiData(); + buildCounterNativeSqlExecutionUiData++; + if (buildCounterNativeSqlExecutionUiData < 3) { + o.description = 'foo'; + o.executionId = 'foo'; + o.fallbackDescription = 'foo'; + o.fallbackNodeToReason = buildUnnamed98(); + o.numFallbackNodes = 42; + o.numNativeNodes = 42; + } + buildCounterNativeSqlExecutionUiData--; + return o; +} + +void checkNativeSqlExecutionUiData(api.NativeSqlExecutionUiData o) { + buildCounterNativeSqlExecutionUiData++; + if (buildCounterNativeSqlExecutionUiData < 3) { + unittest.expect( + o.description!, + unittest.equals('foo'), + ); + unittest.expect( + o.executionId!, + unittest.equals('foo'), + ); + unittest.expect( + o.fallbackDescription!, + unittest.equals('foo'), + ); + checkUnnamed98(o.fallbackNodeToReason!); + unittest.expect( + o.numFallbackNodes!, + unittest.equals(42), + ); + unittest.expect( + o.numNativeNodes!, + unittest.equals(42), + ); + } + buildCounterNativeSqlExecutionUiData--; +} + +core.Map buildUnnamed99() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed96(core.Map o) { +void checkUnnamed99(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -5089,12 +5252,12 @@ void checkUnnamed96(core.Map o) { ); } -core.List buildUnnamed97() => [ +core.List buildUnnamed100() => [ 'foo', 'foo', ]; -void checkUnnamed97(core.List o) { +void checkUnnamed100(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5111,10 +5274,10 @@ api.NodeGroup buildNodeGroup() { final o = api.NodeGroup(); buildCounterNodeGroup++; if (buildCounterNodeGroup < 3) { - o.labels = buildUnnamed96(); + o.labels = buildUnnamed99(); o.name = 'foo'; o.nodeGroupConfig = buildInstanceGroupConfig(); - o.roles = buildUnnamed97(); + o.roles = buildUnnamed100(); } buildCounterNodeGroup--; return o; @@ -5123,13 +5286,13 @@ api.NodeGroup buildNodeGroup() { void checkNodeGroup(api.NodeGroup o) { buildCounterNodeGroup++; if (buildCounterNodeGroup < 3) { - checkUnnamed96(o.labels!); + checkUnnamed99(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), ); checkInstanceGroupConfig(o.nodeGroupConfig!); - checkUnnamed97(o.roles!); + checkUnnamed100(o.roles!); } buildCounterNodeGroup--; } @@ -5183,12 +5346,12 @@ void checkNodeInitializationAction(api.NodeInitializationAction o) { buildCounterNodeInitializationAction--; } -core.List buildUnnamed98() => [ +core.List buildUnnamed101() => [ 'foo', 'foo', ]; -void checkUnnamed98(core.List o) { +void checkUnnamed101(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5206,7 +5369,7 @@ api.NodePool buildNodePool() { buildCounterNodePool++; if (buildCounterNodePool < 3) { o.id = 'foo'; - o.instanceNames = buildUnnamed98(); + o.instanceNames = buildUnnamed101(); o.repairAction = 'foo'; } buildCounterNodePool--; @@ -5220,7 +5383,7 @@ void checkNodePool(api.NodePool o) { o.id!, unittest.equals('foo'), ); - checkUnnamed98(o.instanceNames!); + checkUnnamed101(o.instanceNames!); unittest.expect( o.repairAction!, unittest.equals('foo'), @@ -5229,7 +5392,7 @@ void checkNodePool(api.NodePool o) { buildCounterNodePool--; } -core.Map buildUnnamed99() => { +core.Map buildUnnamed102() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -5242,7 +5405,7 @@ core.Map buildUnnamed99() => { }, }; -void checkUnnamed99(core.Map o) { +void checkUnnamed102(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -5274,7 +5437,7 @@ void checkUnnamed99(core.Map o) { ); } -core.Map buildUnnamed100() => { +core.Map buildUnnamed103() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -5287,7 +5450,7 @@ core.Map buildUnnamed100() => { }, }; -void checkUnnamed100(core.Map o) { +void checkUnnamed103(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -5326,9 +5489,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed99(); + o.metadata = buildUnnamed102(); o.name = 'foo'; - o.response = buildUnnamed100(); + o.response = buildUnnamed103(); } buildCounterOperation--; return o; @@ -5339,22 +5502,22 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed99(o.metadata!); + checkUnnamed102(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed100(o.response!); + checkUnnamed103(o.response!); } buildCounterOperation--; } -core.Map buildUnnamed101() => { +core.Map buildUnnamed104() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed101(core.Map o) { +void checkUnnamed104(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -5366,12 +5529,12 @@ void checkUnnamed101(core.Map o) { ); } -core.List buildUnnamed102() => [ +core.List buildUnnamed105() => [ 'foo', 'foo', ]; -void checkUnnamed102(core.List o) { +void checkUnnamed105(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5391,9 +5554,9 @@ api.OrderedJob buildOrderedJob() { o.flinkJob = buildFlinkJob(); o.hadoopJob = buildHadoopJob(); o.hiveJob = buildHiveJob(); - o.labels = buildUnnamed101(); + o.labels = buildUnnamed104(); o.pigJob = buildPigJob(); - o.prerequisiteStepIds = buildUnnamed102(); + o.prerequisiteStepIds = buildUnnamed105(); o.prestoJob = buildPrestoJob(); o.pysparkJob = buildPySparkJob(); o.scheduling = buildJobScheduling(); @@ -5413,9 +5576,9 @@ void checkOrderedJob(api.OrderedJob o) { checkFlinkJob(o.flinkJob!); checkHadoopJob(o.hadoopJob!); checkHiveJob(o.hiveJob!); - checkUnnamed101(o.labels!); + checkUnnamed104(o.labels!); checkPigJob(o.pigJob!); - checkUnnamed102(o.prerequisiteStepIds!); + checkUnnamed105(o.prerequisiteStepIds!); checkPrestoJob(o.prestoJob!); checkPySparkJob(o.pysparkJob!); checkJobScheduling(o.scheduling!); @@ -5524,12 +5687,12 @@ void checkPeripheralsConfig(api.PeripheralsConfig o) { buildCounterPeripheralsConfig--; } -core.List buildUnnamed103() => [ +core.List buildUnnamed106() => [ 'foo', 'foo', ]; -void checkUnnamed103(core.List o) { +void checkUnnamed106(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5541,12 +5704,12 @@ void checkUnnamed103(core.List o) { ); } -core.Map buildUnnamed104() => { +core.Map buildUnnamed107() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed104(core.Map o) { +void checkUnnamed107(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -5558,12 +5721,12 @@ void checkUnnamed104(core.Map o) { ); } -core.Map buildUnnamed105() => { +core.Map buildUnnamed108() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed105(core.Map o) { +void checkUnnamed108(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -5581,12 +5744,12 @@ api.PigJob buildPigJob() { buildCounterPigJob++; if (buildCounterPigJob < 3) { o.continueOnFailure = true; - o.jarFileUris = buildUnnamed103(); + o.jarFileUris = buildUnnamed106(); o.loggingConfig = buildLoggingConfig(); - o.properties = buildUnnamed104(); + o.properties = buildUnnamed107(); o.queryFileUri = 'foo'; o.queryList = buildQueryList(); - o.scriptVariables = buildUnnamed105(); + o.scriptVariables = buildUnnamed108(); } buildCounterPigJob--; return o; @@ -5596,25 +5759,25 @@ void checkPigJob(api.PigJob o) { buildCounterPigJob++; if (buildCounterPigJob < 3) { unittest.expect(o.continueOnFailure!, unittest.isTrue); - checkUnnamed103(o.jarFileUris!); + checkUnnamed106(o.jarFileUris!); checkLoggingConfig(o.loggingConfig!); - checkUnnamed104(o.properties!); + checkUnnamed107(o.properties!); unittest.expect( o.queryFileUri!, unittest.equals('foo'), ); checkQueryList(o.queryList!); - checkUnnamed105(o.scriptVariables!); + checkUnnamed108(o.scriptVariables!); } buildCounterPigJob--; } -core.List buildUnnamed106() => [ +core.List buildUnnamed109() => [ buildBinding(), buildBinding(), ]; -void checkUnnamed106(core.List o) { +void checkUnnamed109(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBinding(o[0]); checkBinding(o[1]); @@ -5625,7 +5788,7 @@ api.Policy buildPolicy() { final o = api.Policy(); buildCounterPolicy++; if (buildCounterPolicy < 3) { - o.bindings = buildUnnamed106(); + o.bindings = buildUnnamed109(); o.etag = 'foo'; o.version = 42; } @@ -5636,7 +5799,7 @@ api.Policy buildPolicy() { void checkPolicy(api.Policy o) { buildCounterPolicy++; if (buildCounterPolicy < 3) { - checkUnnamed106(o.bindings!); + checkUnnamed109(o.bindings!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -5649,12 +5812,12 @@ void checkPolicy(api.Policy o) { buildCounterPolicy--; } -core.List buildUnnamed107() => [ +core.List buildUnnamed110() => [ 'foo', 'foo', ]; -void checkUnnamed107(core.List o) { +void checkUnnamed110(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5672,7 +5835,7 @@ api.PoolData buildPoolData() { buildCounterPoolData++; if (buildCounterPoolData < 3) { o.name = 'foo'; - o.stageIds = buildUnnamed107(); + o.stageIds = buildUnnamed110(); } buildCounterPoolData--; return o; @@ -5685,17 +5848,17 @@ void checkPoolData(api.PoolData o) { o.name!, unittest.equals('foo'), ); - checkUnnamed107(o.stageIds!); + checkUnnamed110(o.stageIds!); } buildCounterPoolData--; } -core.List buildUnnamed108() => [ +core.List buildUnnamed111() => [ 'foo', 'foo', ]; -void checkUnnamed108(core.List o) { +void checkUnnamed111(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5707,12 +5870,12 @@ void checkUnnamed108(core.List o) { ); } -core.Map buildUnnamed109() => { +core.Map buildUnnamed112() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed109(core.Map o) { +void checkUnnamed112(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -5729,11 +5892,11 @@ api.PrestoJob buildPrestoJob() { final o = api.PrestoJob(); buildCounterPrestoJob++; if (buildCounterPrestoJob < 3) { - o.clientTags = buildUnnamed108(); + o.clientTags = buildUnnamed111(); o.continueOnFailure = true; o.loggingConfig = buildLoggingConfig(); o.outputFormat = 'foo'; - o.properties = buildUnnamed109(); + o.properties = buildUnnamed112(); o.queryFileUri = 'foo'; o.queryList = buildQueryList(); } @@ -5744,14 +5907,14 @@ api.PrestoJob buildPrestoJob() { void checkPrestoJob(api.PrestoJob o) { buildCounterPrestoJob++; if (buildCounterPrestoJob < 3) { - checkUnnamed108(o.clientTags!); + checkUnnamed111(o.clientTags!); unittest.expect(o.continueOnFailure!, unittest.isTrue); checkLoggingConfig(o.loggingConfig!); unittest.expect( o.outputFormat!, unittest.equals('foo'), ); - checkUnnamed109(o.properties!); + checkUnnamed112(o.properties!); unittest.expect( o.queryFileUri!, unittest.equals('foo'), @@ -5761,12 +5924,12 @@ void checkPrestoJob(api.PrestoJob o) { buildCounterPrestoJob--; } -core.Map buildUnnamed110() => { +core.Map buildUnnamed113() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed110(core.Map o) { +void checkUnnamed113(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -5787,7 +5950,7 @@ api.ProcessSummary buildProcessSummary() { o.hostPort = 'foo'; o.isActive = true; o.processId = 'foo'; - o.processLogs = buildUnnamed110(); + o.processLogs = buildUnnamed113(); o.removeTime = 'foo'; o.totalCores = 42; } @@ -5811,7 +5974,7 @@ void checkProcessSummary(api.ProcessSummary o) { o.processId!, unittest.equals('foo'), ); - checkUnnamed110(o.processLogs!); + checkUnnamed113(o.processLogs!); unittest.expect( o.removeTime!, unittest.equals('foo'), @@ -5873,12 +6036,12 @@ void checkPyPiRepositoryConfig(api.PyPiRepositoryConfig o) { buildCounterPyPiRepositoryConfig--; } -core.List buildUnnamed111() => [ +core.List buildUnnamed114() => [ 'foo', 'foo', ]; -void checkUnnamed111(core.List o) { +void checkUnnamed114(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5890,12 +6053,12 @@ void checkUnnamed111(core.List o) { ); } -core.List buildUnnamed112() => [ +core.List buildUnnamed115() => [ 'foo', 'foo', ]; -void checkUnnamed112(core.List o) { +void checkUnnamed115(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5907,12 +6070,12 @@ void checkUnnamed112(core.List o) { ); } -core.List buildUnnamed113() => [ +core.List buildUnnamed116() => [ 'foo', 'foo', ]; -void checkUnnamed113(core.List o) { +void checkUnnamed116(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5924,12 +6087,12 @@ void checkUnnamed113(core.List o) { ); } -core.List buildUnnamed114() => [ +core.List buildUnnamed117() => [ 'foo', 'foo', ]; -void checkUnnamed114(core.List o) { +void checkUnnamed117(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5941,12 +6104,12 @@ void checkUnnamed114(core.List o) { ); } -core.List buildUnnamed115() => [ +core.List buildUnnamed118() => [ 'foo', 'foo', ]; -void checkUnnamed115(core.List o) { +void checkUnnamed118(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5963,12 +6126,12 @@ api.PySparkBatch buildPySparkBatch() { final o = api.PySparkBatch(); buildCounterPySparkBatch++; if (buildCounterPySparkBatch < 3) { - o.archiveUris = buildUnnamed111(); - o.args = buildUnnamed112(); - o.fileUris = buildUnnamed113(); - o.jarFileUris = buildUnnamed114(); + o.archiveUris = buildUnnamed114(); + o.args = buildUnnamed115(); + o.fileUris = buildUnnamed116(); + o.jarFileUris = buildUnnamed117(); o.mainPythonFileUri = 'foo'; - o.pythonFileUris = buildUnnamed115(); + o.pythonFileUris = buildUnnamed118(); } buildCounterPySparkBatch--; return o; @@ -5977,25 +6140,25 @@ api.PySparkBatch buildPySparkBatch() { void checkPySparkBatch(api.PySparkBatch o) { buildCounterPySparkBatch++; if (buildCounterPySparkBatch < 3) { - checkUnnamed111(o.archiveUris!); - checkUnnamed112(o.args!); - checkUnnamed113(o.fileUris!); - checkUnnamed114(o.jarFileUris!); + checkUnnamed114(o.archiveUris!); + checkUnnamed115(o.args!); + checkUnnamed116(o.fileUris!); + checkUnnamed117(o.jarFileUris!); unittest.expect( o.mainPythonFileUri!, unittest.equals('foo'), ); - checkUnnamed115(o.pythonFileUris!); + checkUnnamed118(o.pythonFileUris!); } buildCounterPySparkBatch--; } -core.List buildUnnamed116() => [ +core.List buildUnnamed119() => [ 'foo', 'foo', ]; -void checkUnnamed116(core.List o) { +void checkUnnamed119(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6007,12 +6170,12 @@ void checkUnnamed116(core.List o) { ); } -core.List buildUnnamed117() => [ +core.List buildUnnamed120() => [ 'foo', 'foo', ]; -void checkUnnamed117(core.List o) { +void checkUnnamed120(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6024,12 +6187,12 @@ void checkUnnamed117(core.List o) { ); } -core.List buildUnnamed118() => [ +core.List buildUnnamed121() => [ 'foo', 'foo', ]; -void checkUnnamed118(core.List o) { +void checkUnnamed121(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6041,12 +6204,12 @@ void checkUnnamed118(core.List o) { ); } -core.List buildUnnamed119() => [ +core.List buildUnnamed122() => [ 'foo', 'foo', ]; -void checkUnnamed119(core.List o) { +void checkUnnamed122(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6058,12 +6221,12 @@ void checkUnnamed119(core.List o) { ); } -core.Map buildUnnamed120() => { +core.Map buildUnnamed123() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed120(core.Map o) { +void checkUnnamed123(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -6075,12 +6238,12 @@ void checkUnnamed120(core.Map o) { ); } -core.List buildUnnamed121() => [ +core.List buildUnnamed124() => [ 'foo', 'foo', ]; -void checkUnnamed121(core.List o) { +void checkUnnamed124(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6097,14 +6260,14 @@ api.PySparkJob buildPySparkJob() { final o = api.PySparkJob(); buildCounterPySparkJob++; if (buildCounterPySparkJob < 3) { - o.archiveUris = buildUnnamed116(); - o.args = buildUnnamed117(); - o.fileUris = buildUnnamed118(); - o.jarFileUris = buildUnnamed119(); + o.archiveUris = buildUnnamed119(); + o.args = buildUnnamed120(); + o.fileUris = buildUnnamed121(); + o.jarFileUris = buildUnnamed122(); o.loggingConfig = buildLoggingConfig(); o.mainPythonFileUri = 'foo'; - o.properties = buildUnnamed120(); - o.pythonFileUris = buildUnnamed121(); + o.properties = buildUnnamed123(); + o.pythonFileUris = buildUnnamed124(); } buildCounterPySparkJob--; return o; @@ -6113,17 +6276,17 @@ api.PySparkJob buildPySparkJob() { void checkPySparkJob(api.PySparkJob o) { buildCounterPySparkJob++; if (buildCounterPySparkJob < 3) { - checkUnnamed116(o.archiveUris!); - checkUnnamed117(o.args!); - checkUnnamed118(o.fileUris!); - checkUnnamed119(o.jarFileUris!); + checkUnnamed119(o.archiveUris!); + checkUnnamed120(o.args!); + checkUnnamed121(o.fileUris!); + checkUnnamed122(o.jarFileUris!); checkLoggingConfig(o.loggingConfig!); unittest.expect( o.mainPythonFileUri!, unittest.equals('foo'), ); - checkUnnamed120(o.properties!); - checkUnnamed121(o.pythonFileUris!); + checkUnnamed123(o.properties!); + checkUnnamed124(o.pythonFileUris!); } buildCounterPySparkJob--; } @@ -6180,12 +6343,12 @@ void checkQuantiles(api.Quantiles o) { buildCounterQuantiles--; } -core.List buildUnnamed122() => [ +core.List buildUnnamed125() => [ 'foo', 'foo', ]; -void checkUnnamed122(core.List o) { +void checkUnnamed125(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6202,7 +6365,7 @@ api.QueryList buildQueryList() { final o = api.QueryList(); buildCounterQueryList++; if (buildCounterQueryList < 3) { - o.queries = buildUnnamed122(); + o.queries = buildUnnamed125(); } buildCounterQueryList--; return o; @@ -6211,7 +6374,7 @@ api.QueryList buildQueryList() { void checkQueryList(api.QueryList o) { buildCounterQueryList++; if (buildCounterQueryList < 3) { - checkUnnamed122(o.queries!); + checkUnnamed125(o.queries!); } buildCounterQueryList--; } @@ -6273,23 +6436,23 @@ void checkRddDataDistribution(api.RddDataDistribution o) { buildCounterRddDataDistribution--; } -core.List buildUnnamed123() => [ +core.List buildUnnamed126() => [ buildRddOperationCluster(), buildRddOperationCluster(), ]; -void checkUnnamed123(core.List o) { +void checkUnnamed126(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRddOperationCluster(o[0]); checkRddOperationCluster(o[1]); } -core.List buildUnnamed124() => [ +core.List buildUnnamed127() => [ buildRddOperationNode(), buildRddOperationNode(), ]; -void checkUnnamed124(core.List o) { +void checkUnnamed127(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRddOperationNode(o[0]); checkRddOperationNode(o[1]); @@ -6300,8 +6463,8 @@ api.RddOperationCluster buildRddOperationCluster() { final o = api.RddOperationCluster(); buildCounterRddOperationCluster++; if (buildCounterRddOperationCluster < 3) { - o.childClusters = buildUnnamed123(); - o.childNodes = buildUnnamed124(); + o.childClusters = buildUnnamed126(); + o.childNodes = buildUnnamed127(); o.name = 'foo'; o.rddClusterId = 'foo'; } @@ -6312,8 +6475,8 @@ api.RddOperationCluster buildRddOperationCluster() { void checkRddOperationCluster(api.RddOperationCluster o) { buildCounterRddOperationCluster++; if (buildCounterRddOperationCluster < 3) { - checkUnnamed123(o.childClusters!); - checkUnnamed124(o.childNodes!); + checkUnnamed126(o.childClusters!); + checkUnnamed127(o.childNodes!); unittest.expect( o.name!, unittest.equals('foo'), @@ -6353,34 +6516,34 @@ void checkRddOperationEdge(api.RddOperationEdge o) { buildCounterRddOperationEdge--; } -core.List buildUnnamed125() => [ +core.List buildUnnamed128() => [ buildRddOperationEdge(), buildRddOperationEdge(), ]; -void checkUnnamed125(core.List o) { +void checkUnnamed128(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRddOperationEdge(o[0]); checkRddOperationEdge(o[1]); } -core.List buildUnnamed126() => [ +core.List buildUnnamed129() => [ buildRddOperationEdge(), buildRddOperationEdge(), ]; -void checkUnnamed126(core.List o) { +void checkUnnamed129(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRddOperationEdge(o[0]); checkRddOperationEdge(o[1]); } -core.List buildUnnamed127() => [ +core.List buildUnnamed130() => [ buildRddOperationEdge(), buildRddOperationEdge(), ]; -void checkUnnamed127(core.List o) { +void checkUnnamed130(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRddOperationEdge(o[0]); checkRddOperationEdge(o[1]); @@ -6391,9 +6554,9 @@ api.RddOperationGraph buildRddOperationGraph() { final o = api.RddOperationGraph(); buildCounterRddOperationGraph++; if (buildCounterRddOperationGraph < 3) { - o.edges = buildUnnamed125(); - o.incomingEdges = buildUnnamed126(); - o.outgoingEdges = buildUnnamed127(); + o.edges = buildUnnamed128(); + o.incomingEdges = buildUnnamed129(); + o.outgoingEdges = buildUnnamed130(); o.rootCluster = buildRddOperationCluster(); o.stageId = 'foo'; } @@ -6404,9 +6567,9 @@ api.RddOperationGraph buildRddOperationGraph() { void checkRddOperationGraph(api.RddOperationGraph o) { buildCounterRddOperationGraph++; if (buildCounterRddOperationGraph < 3) { - checkUnnamed125(o.edges!); - checkUnnamed126(o.incomingEdges!); - checkUnnamed127(o.outgoingEdges!); + checkUnnamed128(o.edges!); + checkUnnamed129(o.incomingEdges!); + checkUnnamed130(o.outgoingEdges!); checkRddOperationCluster(o.rootCluster!); unittest.expect( o.stageId!, @@ -6457,12 +6620,12 @@ void checkRddOperationNode(api.RddOperationNode o) { buildCounterRddOperationNode--; } -core.List buildUnnamed128() => [ +core.List buildUnnamed131() => [ 'foo', 'foo', ]; -void checkUnnamed128(core.List o) { +void checkUnnamed131(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6481,7 +6644,7 @@ api.RddPartitionInfo buildRddPartitionInfo() { if (buildCounterRddPartitionInfo < 3) { o.blockName = 'foo'; o.diskUsed = 'foo'; - o.executors = buildUnnamed128(); + o.executors = buildUnnamed131(); o.memoryUsed = 'foo'; o.storageLevel = 'foo'; } @@ -6500,7 +6663,7 @@ void checkRddPartitionInfo(api.RddPartitionInfo o) { o.diskUsed!, unittest.equals('foo'), ); - checkUnnamed128(o.executors!); + checkUnnamed131(o.executors!); unittest.expect( o.memoryUsed!, unittest.equals('foo'), @@ -6513,23 +6676,23 @@ void checkRddPartitionInfo(api.RddPartitionInfo o) { buildCounterRddPartitionInfo--; } -core.List buildUnnamed129() => [ +core.List buildUnnamed132() => [ buildRddDataDistribution(), buildRddDataDistribution(), ]; -void checkUnnamed129(core.List o) { +void checkUnnamed132(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRddDataDistribution(o[0]); checkRddDataDistribution(o[1]); } -core.List buildUnnamed130() => [ +core.List buildUnnamed133() => [ buildRddPartitionInfo(), buildRddPartitionInfo(), ]; -void checkUnnamed130(core.List o) { +void checkUnnamed133(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRddPartitionInfo(o[0]); checkRddPartitionInfo(o[1]); @@ -6540,13 +6703,13 @@ api.RddStorageInfo buildRddStorageInfo() { final o = api.RddStorageInfo(); buildCounterRddStorageInfo++; if (buildCounterRddStorageInfo < 3) { - o.dataDistribution = buildUnnamed129(); + o.dataDistribution = buildUnnamed132(); o.diskUsed = 'foo'; o.memoryUsed = 'foo'; o.name = 'foo'; o.numCachedPartitions = 42; o.numPartitions = 42; - o.partitions = buildUnnamed130(); + o.partitions = buildUnnamed133(); o.rddStorageId = 42; o.storageLevel = 'foo'; } @@ -6557,7 +6720,7 @@ api.RddStorageInfo buildRddStorageInfo() { void checkRddStorageInfo(api.RddStorageInfo o) { buildCounterRddStorageInfo++; if (buildCounterRddStorageInfo < 3) { - checkUnnamed129(o.dataDistribution!); + checkUnnamed132(o.dataDistribution!); unittest.expect( o.diskUsed!, unittest.equals('foo'), @@ -6578,7 +6741,7 @@ void checkRddStorageInfo(api.RddStorageInfo o) { o.numPartitions!, unittest.equals(42), ); - checkUnnamed130(o.partitions!); + checkUnnamed133(o.partitions!); unittest.expect( o.rddStorageId!, unittest.equals(42), @@ -6591,12 +6754,12 @@ void checkRddStorageInfo(api.RddStorageInfo o) { buildCounterRddStorageInfo--; } -core.List buildUnnamed131() => [ +core.List buildUnnamed134() => [ 'foo', 'foo', ]; -void checkUnnamed131(core.List o) { +void checkUnnamed134(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6613,7 +6776,7 @@ api.RegexValidation buildRegexValidation() { final o = api.RegexValidation(); buildCounterRegexValidation++; if (buildCounterRegexValidation < 3) { - o.regexes = buildUnnamed131(); + o.regexes = buildUnnamed134(); } buildCounterRegexValidation--; return o; @@ -6622,17 +6785,17 @@ api.RegexValidation buildRegexValidation() { void checkRegexValidation(api.RegexValidation o) { buildCounterRegexValidation++; if (buildCounterRegexValidation < 3) { - checkUnnamed131(o.regexes!); + checkUnnamed134(o.regexes!); } buildCounterRegexValidation--; } -core.List buildUnnamed132() => [ +core.List buildUnnamed135() => [ buildNodePool(), buildNodePool(), ]; -void checkUnnamed132(core.List o) { +void checkUnnamed135(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodePool(o[0]); checkNodePool(o[1]); @@ -6646,7 +6809,7 @@ api.RepairClusterRequest buildRepairClusterRequest() { o.cluster = buildClusterToRepair(); o.clusterUuid = 'foo'; o.gracefulDecommissionTimeout = 'foo'; - o.nodePools = buildUnnamed132(); + o.nodePools = buildUnnamed135(); o.parentOperationId = 'foo'; o.requestId = 'foo'; } @@ -6666,7 +6829,7 @@ void checkRepairClusterRequest(api.RepairClusterRequest o) { o.gracefulDecommissionTimeout!, unittest.equals('foo'), ); - checkUnnamed132(o.nodePools!); + checkUnnamed135(o.nodePools!); unittest.expect( o.parentOperationId!, unittest.equals('foo'), @@ -6679,12 +6842,12 @@ void checkRepairClusterRequest(api.RepairClusterRequest o) { buildCounterRepairClusterRequest--; } -core.List buildUnnamed133() => [ +core.List buildUnnamed136() => [ 'foo', 'foo', ]; -void checkUnnamed133(core.List o) { +void checkUnnamed136(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6701,7 +6864,7 @@ api.RepairNodeGroupRequest buildRepairNodeGroupRequest() { final o = api.RepairNodeGroupRequest(); buildCounterRepairNodeGroupRequest++; if (buildCounterRepairNodeGroupRequest < 3) { - o.instanceNames = buildUnnamed133(); + o.instanceNames = buildUnnamed136(); o.repairAction = 'foo'; o.requestId = 'foo'; } @@ -6712,7 +6875,7 @@ api.RepairNodeGroupRequest buildRepairNodeGroupRequest() { void checkRepairNodeGroupRequest(api.RepairNodeGroupRequest o) { buildCounterRepairNodeGroupRequest++; if (buildCounterRepairNodeGroupRequest < 3) { - checkUnnamed133(o.instanceNames!); + checkUnnamed136(o.instanceNames!); unittest.expect( o.repairAction!, unittest.equals('foo'), @@ -6744,12 +6907,12 @@ void checkRepositoryConfig(api.RepositoryConfig o) { buildCounterRepositoryConfig--; } -core.List buildUnnamed134() => [ +core.List buildUnnamed137() => [ 'foo', 'foo', ]; -void checkUnnamed134(core.List o) { +void checkUnnamed137(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6768,7 +6931,7 @@ api.ReservationAffinity buildReservationAffinity() { if (buildCounterReservationAffinity < 3) { o.consumeReservationType = 'foo'; o.key = 'foo'; - o.values = buildUnnamed134(); + o.values = buildUnnamed137(); } buildCounterReservationAffinity--; return o; @@ -6785,7 +6948,7 @@ void checkReservationAffinity(api.ReservationAffinity o) { o.key!, unittest.equals('foo'), ); - checkUnnamed134(o.values!); + checkUnnamed137(o.values!); } buildCounterReservationAffinity--; } @@ -6827,12 +6990,12 @@ void checkResizeNodeGroupRequest(api.ResizeNodeGroupRequest o) { buildCounterResizeNodeGroupRequest--; } -core.List buildUnnamed135() => [ +core.List buildUnnamed138() => [ 'foo', 'foo', ]; -void checkUnnamed135(core.List o) { +void checkUnnamed138(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6849,7 +7012,7 @@ api.ResourceInformation buildResourceInformation() { final o = api.ResourceInformation(); buildCounterResourceInformation++; if (buildCounterResourceInformation < 3) { - o.addresses = buildUnnamed135(); + o.addresses = buildUnnamed138(); o.name = 'foo'; } buildCounterResourceInformation--; @@ -6859,7 +7022,7 @@ api.ResourceInformation buildResourceInformation() { void checkResourceInformation(api.ResourceInformation o) { buildCounterResourceInformation++; if (buildCounterResourceInformation < 3) { - checkUnnamed135(o.addresses!); + checkUnnamed138(o.addresses!); unittest.expect( o.name!, unittest.equals('foo'), @@ -6868,23 +7031,23 @@ void checkResourceInformation(api.ResourceInformation o) { buildCounterResourceInformation--; } -core.Map buildUnnamed136() => { +core.Map buildUnnamed139() => { 'x': buildExecutorResourceRequest(), 'y': buildExecutorResourceRequest(), }; -void checkUnnamed136(core.Map o) { +void checkUnnamed139(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkExecutorResourceRequest(o['x']!); checkExecutorResourceRequest(o['y']!); } -core.Map buildUnnamed137() => { +core.Map buildUnnamed140() => { 'x': buildTaskResourceRequest(), 'y': buildTaskResourceRequest(), }; -void checkUnnamed137(core.Map o) { +void checkUnnamed140(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkTaskResourceRequest(o['x']!); checkTaskResourceRequest(o['y']!); @@ -6895,9 +7058,9 @@ api.ResourceProfileInfo buildResourceProfileInfo() { final o = api.ResourceProfileInfo(); buildCounterResourceProfileInfo++; if (buildCounterResourceProfileInfo < 3) { - o.executorResources = buildUnnamed136(); + o.executorResources = buildUnnamed139(); o.resourceProfileId = 42; - o.taskResources = buildUnnamed137(); + o.taskResources = buildUnnamed140(); } buildCounterResourceProfileInfo--; return o; @@ -6906,22 +7069,22 @@ api.ResourceProfileInfo buildResourceProfileInfo() { void checkResourceProfileInfo(api.ResourceProfileInfo o) { buildCounterResourceProfileInfo++; if (buildCounterResourceProfileInfo < 3) { - checkUnnamed136(o.executorResources!); + checkUnnamed139(o.executorResources!); unittest.expect( o.resourceProfileId!, unittest.equals(42), ); - checkUnnamed137(o.taskResources!); + checkUnnamed140(o.taskResources!); } buildCounterResourceProfileInfo--; } -core.Map buildUnnamed138() => { +core.Map buildUnnamed141() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed138(core.Map o) { +void checkUnnamed141(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -6941,7 +7104,7 @@ api.RuntimeConfig buildRuntimeConfig() { o.autotuningConfig = buildAutotuningConfig(); o.cohort = 'foo'; o.containerImage = 'foo'; - o.properties = buildUnnamed138(); + o.properties = buildUnnamed141(); o.repositoryConfig = buildRepositoryConfig(); o.version = 'foo'; } @@ -6961,7 +7124,7 @@ void checkRuntimeConfig(api.RuntimeConfig o) { o.containerImage!, unittest.equals('foo'), ); - checkUnnamed138(o.properties!); + checkUnnamed141(o.properties!); checkRepositoryConfig(o.repositoryConfig!); unittest.expect( o.version!, @@ -6971,12 +7134,12 @@ void checkRuntimeConfig(api.RuntimeConfig o) { buildCounterRuntimeConfig--; } -core.Map buildUnnamed139() => { +core.Map buildUnnamed142() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed139(core.Map o) { +void checkUnnamed142(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -6996,7 +7159,7 @@ api.RuntimeInfo buildRuntimeInfo() { o.approximateUsage = buildUsageMetrics(); o.currentUsage = buildUsageSnapshot(); o.diagnosticOutputUri = 'foo'; - o.endpoints = buildUnnamed139(); + o.endpoints = buildUnnamed142(); o.outputUri = 'foo'; } buildCounterRuntimeInfo--; @@ -7012,7 +7175,7 @@ void checkRuntimeInfo(api.RuntimeInfo o) { o.diagnosticOutputUri!, unittest.equals('foo'), ); - checkUnnamed139(o.endpoints!); + checkUnnamed142(o.endpoints!); unittest.expect( o.outputUri!, unittest.equals('foo'), @@ -7021,12 +7184,12 @@ void checkRuntimeInfo(api.RuntimeInfo o) { buildCounterRuntimeInfo--; } -core.List buildUnnamed140() => [ +core.List buildUnnamed143() => [ buildExecutorStageSummary(), buildExecutorStageSummary(), ]; -void checkUnnamed140(core.List o) { +void checkUnnamed143(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExecutorStageSummary(o[0]); checkExecutorStageSummary(o[1]); @@ -7041,7 +7204,7 @@ api.SearchSessionSparkApplicationExecutorStageSummaryResponse if (buildCounterSearchSessionSparkApplicationExecutorStageSummaryResponse < 3) { o.nextPageToken = 'foo'; - o.sparkApplicationStageExecutors = buildUnnamed140(); + o.sparkApplicationStageExecutors = buildUnnamed143(); } buildCounterSearchSessionSparkApplicationExecutorStageSummaryResponse--; return o; @@ -7056,17 +7219,17 @@ void checkSearchSessionSparkApplicationExecutorStageSummaryResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed140(o.sparkApplicationStageExecutors!); + checkUnnamed143(o.sparkApplicationStageExecutors!); } buildCounterSearchSessionSparkApplicationExecutorStageSummaryResponse--; } -core.List buildUnnamed141() => [ +core.List buildUnnamed144() => [ buildExecutorSummary(), buildExecutorSummary(), ]; -void checkUnnamed141(core.List o) { +void checkUnnamed144(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExecutorSummary(o[0]); checkExecutorSummary(o[1]); @@ -7079,7 +7242,7 @@ api.SearchSessionSparkApplicationExecutorsResponse buildCounterSearchSessionSparkApplicationExecutorsResponse++; if (buildCounterSearchSessionSparkApplicationExecutorsResponse < 3) { o.nextPageToken = 'foo'; - o.sparkApplicationExecutors = buildUnnamed141(); + o.sparkApplicationExecutors = buildUnnamed144(); } buildCounterSearchSessionSparkApplicationExecutorsResponse--; return o; @@ -7093,17 +7256,17 @@ void checkSearchSessionSparkApplicationExecutorsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed141(o.sparkApplicationExecutors!); + checkUnnamed144(o.sparkApplicationExecutors!); } buildCounterSearchSessionSparkApplicationExecutorsResponse--; } -core.List buildUnnamed142() => [ +core.List buildUnnamed145() => [ buildJobData(), buildJobData(), ]; -void checkUnnamed142(core.List o) { +void checkUnnamed145(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkJobData(o[0]); checkJobData(o[1]); @@ -7116,7 +7279,7 @@ api.SearchSessionSparkApplicationJobsResponse buildCounterSearchSessionSparkApplicationJobsResponse++; if (buildCounterSearchSessionSparkApplicationJobsResponse < 3) { o.nextPageToken = 'foo'; - o.sparkApplicationJobs = buildUnnamed142(); + o.sparkApplicationJobs = buildUnnamed145(); } buildCounterSearchSessionSparkApplicationJobsResponse--; return o; @@ -7130,17 +7293,17 @@ void checkSearchSessionSparkApplicationJobsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed142(o.sparkApplicationJobs!); + checkUnnamed145(o.sparkApplicationJobs!); } buildCounterSearchSessionSparkApplicationJobsResponse--; } -core.List buildUnnamed143() => [ +core.List buildUnnamed146() => [ buildSqlExecutionUiData(), buildSqlExecutionUiData(), ]; -void checkUnnamed143(core.List o) { +void checkUnnamed146(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSqlExecutionUiData(o[0]); checkSqlExecutionUiData(o[1]); @@ -7153,7 +7316,7 @@ api.SearchSessionSparkApplicationSqlQueriesResponse buildCounterSearchSessionSparkApplicationSqlQueriesResponse++; if (buildCounterSearchSessionSparkApplicationSqlQueriesResponse < 3) { o.nextPageToken = 'foo'; - o.sparkApplicationSqlQueries = buildUnnamed143(); + o.sparkApplicationSqlQueries = buildUnnamed146(); } buildCounterSearchSessionSparkApplicationSqlQueriesResponse--; return o; @@ -7167,17 +7330,17 @@ void checkSearchSessionSparkApplicationSqlQueriesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed143(o.sparkApplicationSqlQueries!); + checkUnnamed146(o.sparkApplicationSqlQueries!); } buildCounterSearchSessionSparkApplicationSqlQueriesResponse--; } -core.List buildUnnamed144() => [ +core.List buildUnnamed147() => [ buildTaskData(), buildTaskData(), ]; -void checkUnnamed144(core.List o) { +void checkUnnamed147(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTaskData(o[0]); checkTaskData(o[1]); @@ -7190,7 +7353,7 @@ api.SearchSessionSparkApplicationStageAttemptTasksResponse buildCounterSearchSessionSparkApplicationStageAttemptTasksResponse++; if (buildCounterSearchSessionSparkApplicationStageAttemptTasksResponse < 3) { o.nextPageToken = 'foo'; - o.sparkApplicationStageAttemptTasks = buildUnnamed144(); + o.sparkApplicationStageAttemptTasks = buildUnnamed147(); } buildCounterSearchSessionSparkApplicationStageAttemptTasksResponse--; return o; @@ -7204,17 +7367,17 @@ void checkSearchSessionSparkApplicationStageAttemptTasksResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed144(o.sparkApplicationStageAttemptTasks!); + checkUnnamed147(o.sparkApplicationStageAttemptTasks!); } buildCounterSearchSessionSparkApplicationStageAttemptTasksResponse--; } -core.List buildUnnamed145() => [ +core.List buildUnnamed148() => [ buildStageData(), buildStageData(), ]; -void checkUnnamed145(core.List o) { +void checkUnnamed148(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStageData(o[0]); checkStageData(o[1]); @@ -7227,7 +7390,7 @@ api.SearchSessionSparkApplicationStageAttemptsResponse buildCounterSearchSessionSparkApplicationStageAttemptsResponse++; if (buildCounterSearchSessionSparkApplicationStageAttemptsResponse < 3) { o.nextPageToken = 'foo'; - o.sparkApplicationStageAttempts = buildUnnamed145(); + o.sparkApplicationStageAttempts = buildUnnamed148(); } buildCounterSearchSessionSparkApplicationStageAttemptsResponse--; return o; @@ -7241,17 +7404,17 @@ void checkSearchSessionSparkApplicationStageAttemptsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed145(o.sparkApplicationStageAttempts!); + checkUnnamed148(o.sparkApplicationStageAttempts!); } buildCounterSearchSessionSparkApplicationStageAttemptsResponse--; } -core.List buildUnnamed146() => [ +core.List buildUnnamed149() => [ buildStageData(), buildStageData(), ]; -void checkUnnamed146(core.List o) { +void checkUnnamed149(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStageData(o[0]); checkStageData(o[1]); @@ -7264,7 +7427,7 @@ api.SearchSessionSparkApplicationStagesResponse buildCounterSearchSessionSparkApplicationStagesResponse++; if (buildCounterSearchSessionSparkApplicationStagesResponse < 3) { o.nextPageToken = 'foo'; - o.sparkApplicationStages = buildUnnamed146(); + o.sparkApplicationStages = buildUnnamed149(); } buildCounterSearchSessionSparkApplicationStagesResponse--; return o; @@ -7278,17 +7441,17 @@ void checkSearchSessionSparkApplicationStagesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed146(o.sparkApplicationStages!); + checkUnnamed149(o.sparkApplicationStages!); } buildCounterSearchSessionSparkApplicationStagesResponse--; } -core.List buildUnnamed147() => [ +core.List buildUnnamed150() => [ buildSparkApplication(), buildSparkApplication(), ]; -void checkUnnamed147(core.List o) { +void checkUnnamed150(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSparkApplication(o[0]); checkSparkApplication(o[1]); @@ -7301,7 +7464,7 @@ api.SearchSessionSparkApplicationsResponse buildCounterSearchSessionSparkApplicationsResponse++; if (buildCounterSearchSessionSparkApplicationsResponse < 3) { o.nextPageToken = 'foo'; - o.sparkApplications = buildUnnamed147(); + o.sparkApplications = buildUnnamed150(); } buildCounterSearchSessionSparkApplicationsResponse--; return o; @@ -7315,17 +7478,17 @@ void checkSearchSessionSparkApplicationsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed147(o.sparkApplications!); + checkUnnamed150(o.sparkApplications!); } buildCounterSearchSessionSparkApplicationsResponse--; } -core.List buildUnnamed148() => [ +core.List buildUnnamed151() => [ buildExecutorStageSummary(), buildExecutorStageSummary(), ]; -void checkUnnamed148(core.List o) { +void checkUnnamed151(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExecutorStageSummary(o[0]); checkExecutorStageSummary(o[1]); @@ -7338,7 +7501,7 @@ api.SearchSparkApplicationExecutorStageSummaryResponse buildCounterSearchSparkApplicationExecutorStageSummaryResponse++; if (buildCounterSearchSparkApplicationExecutorStageSummaryResponse < 3) { o.nextPageToken = 'foo'; - o.sparkApplicationStageExecutors = buildUnnamed148(); + o.sparkApplicationStageExecutors = buildUnnamed151(); } buildCounterSearchSparkApplicationExecutorStageSummaryResponse--; return o; @@ -7352,17 +7515,17 @@ void checkSearchSparkApplicationExecutorStageSummaryResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed148(o.sparkApplicationStageExecutors!); + checkUnnamed151(o.sparkApplicationStageExecutors!); } buildCounterSearchSparkApplicationExecutorStageSummaryResponse--; } -core.List buildUnnamed149() => [ +core.List buildUnnamed152() => [ buildExecutorSummary(), buildExecutorSummary(), ]; -void checkUnnamed149(core.List o) { +void checkUnnamed152(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExecutorSummary(o[0]); checkExecutorSummary(o[1]); @@ -7375,7 +7538,7 @@ api.SearchSparkApplicationExecutorsResponse buildCounterSearchSparkApplicationExecutorsResponse++; if (buildCounterSearchSparkApplicationExecutorsResponse < 3) { o.nextPageToken = 'foo'; - o.sparkApplicationExecutors = buildUnnamed149(); + o.sparkApplicationExecutors = buildUnnamed152(); } buildCounterSearchSparkApplicationExecutorsResponse--; return o; @@ -7389,17 +7552,17 @@ void checkSearchSparkApplicationExecutorsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed149(o.sparkApplicationExecutors!); + checkUnnamed152(o.sparkApplicationExecutors!); } buildCounterSearchSparkApplicationExecutorsResponse--; } -core.List buildUnnamed150() => [ +core.List buildUnnamed153() => [ buildJobData(), buildJobData(), ]; -void checkUnnamed150(core.List o) { +void checkUnnamed153(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkJobData(o[0]); checkJobData(o[1]); @@ -7412,7 +7575,7 @@ api.SearchSparkApplicationJobsResponse buildCounterSearchSparkApplicationJobsResponse++; if (buildCounterSearchSparkApplicationJobsResponse < 3) { o.nextPageToken = 'foo'; - o.sparkApplicationJobs = buildUnnamed150(); + o.sparkApplicationJobs = buildUnnamed153(); } buildCounterSearchSparkApplicationJobsResponse--; return o; @@ -7426,17 +7589,17 @@ void checkSearchSparkApplicationJobsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed150(o.sparkApplicationJobs!); + checkUnnamed153(o.sparkApplicationJobs!); } buildCounterSearchSparkApplicationJobsResponse--; } -core.List buildUnnamed151() => [ +core.List buildUnnamed154() => [ buildSqlExecutionUiData(), buildSqlExecutionUiData(), ]; -void checkUnnamed151(core.List o) { +void checkUnnamed154(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSqlExecutionUiData(o[0]); checkSqlExecutionUiData(o[1]); @@ -7449,7 +7612,7 @@ api.SearchSparkApplicationSqlQueriesResponse buildCounterSearchSparkApplicationSqlQueriesResponse++; if (buildCounterSearchSparkApplicationSqlQueriesResponse < 3) { o.nextPageToken = 'foo'; - o.sparkApplicationSqlQueries = buildUnnamed151(); + o.sparkApplicationSqlQueries = buildUnnamed154(); } buildCounterSearchSparkApplicationSqlQueriesResponse--; return o; @@ -7463,17 +7626,17 @@ void checkSearchSparkApplicationSqlQueriesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed151(o.sparkApplicationSqlQueries!); + checkUnnamed154(o.sparkApplicationSqlQueries!); } buildCounterSearchSparkApplicationSqlQueriesResponse--; } -core.List buildUnnamed152() => [ +core.List buildUnnamed155() => [ buildTaskData(), buildTaskData(), ]; -void checkUnnamed152(core.List o) { +void checkUnnamed155(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTaskData(o[0]); checkTaskData(o[1]); @@ -7486,7 +7649,7 @@ api.SearchSparkApplicationStageAttemptTasksResponse buildCounterSearchSparkApplicationStageAttemptTasksResponse++; if (buildCounterSearchSparkApplicationStageAttemptTasksResponse < 3) { o.nextPageToken = 'foo'; - o.sparkApplicationStageAttemptTasks = buildUnnamed152(); + o.sparkApplicationStageAttemptTasks = buildUnnamed155(); } buildCounterSearchSparkApplicationStageAttemptTasksResponse--; return o; @@ -7500,17 +7663,17 @@ void checkSearchSparkApplicationStageAttemptTasksResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed152(o.sparkApplicationStageAttemptTasks!); + checkUnnamed155(o.sparkApplicationStageAttemptTasks!); } buildCounterSearchSparkApplicationStageAttemptTasksResponse--; } -core.List buildUnnamed153() => [ +core.List buildUnnamed156() => [ buildStageData(), buildStageData(), ]; -void checkUnnamed153(core.List o) { +void checkUnnamed156(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStageData(o[0]); checkStageData(o[1]); @@ -7523,7 +7686,7 @@ api.SearchSparkApplicationStageAttemptsResponse buildCounterSearchSparkApplicationStageAttemptsResponse++; if (buildCounterSearchSparkApplicationStageAttemptsResponse < 3) { o.nextPageToken = 'foo'; - o.sparkApplicationStageAttempts = buildUnnamed153(); + o.sparkApplicationStageAttempts = buildUnnamed156(); } buildCounterSearchSparkApplicationStageAttemptsResponse--; return o; @@ -7537,17 +7700,17 @@ void checkSearchSparkApplicationStageAttemptsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed153(o.sparkApplicationStageAttempts!); + checkUnnamed156(o.sparkApplicationStageAttempts!); } buildCounterSearchSparkApplicationStageAttemptsResponse--; } -core.List buildUnnamed154() => [ +core.List buildUnnamed157() => [ buildStageData(), buildStageData(), ]; -void checkUnnamed154(core.List o) { +void checkUnnamed157(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStageData(o[0]); checkStageData(o[1]); @@ -7560,7 +7723,7 @@ api.SearchSparkApplicationStagesResponse buildCounterSearchSparkApplicationStagesResponse++; if (buildCounterSearchSparkApplicationStagesResponse < 3) { o.nextPageToken = 'foo'; - o.sparkApplicationStages = buildUnnamed154(); + o.sparkApplicationStages = buildUnnamed157(); } buildCounterSearchSparkApplicationStagesResponse--; return o; @@ -7574,17 +7737,17 @@ void checkSearchSparkApplicationStagesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed154(o.sparkApplicationStages!); + checkUnnamed157(o.sparkApplicationStages!); } buildCounterSearchSparkApplicationStagesResponse--; } -core.List buildUnnamed155() => [ +core.List buildUnnamed158() => [ buildSparkApplication(), buildSparkApplication(), ]; -void checkUnnamed155(core.List o) { +void checkUnnamed158(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSparkApplication(o[0]); checkSparkApplication(o[1]); @@ -7596,7 +7759,7 @@ api.SearchSparkApplicationsResponse buildSearchSparkApplicationsResponse() { buildCounterSearchSparkApplicationsResponse++; if (buildCounterSearchSparkApplicationsResponse < 3) { o.nextPageToken = 'foo'; - o.sparkApplications = buildUnnamed155(); + o.sparkApplications = buildUnnamed158(); } buildCounterSearchSparkApplicationsResponse--; return o; @@ -7610,7 +7773,7 @@ void checkSearchSparkApplicationsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed155(o.sparkApplications!); + checkUnnamed158(o.sparkApplications!); } buildCounterSearchSparkApplicationsResponse--; } @@ -7636,12 +7799,12 @@ void checkSecurityConfig(api.SecurityConfig o) { buildCounterSecurityConfig--; } -core.Map buildUnnamed156() => { +core.Map buildUnnamed159() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed156(core.Map o) { +void checkUnnamed159(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -7653,12 +7816,12 @@ void checkUnnamed156(core.Map o) { ); } -core.List buildUnnamed157() => [ +core.List buildUnnamed160() => [ buildSessionStateHistory(), buildSessionStateHistory(), ]; -void checkUnnamed157(core.List o) { +void checkUnnamed160(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSessionStateHistory(o[0]); checkSessionStateHistory(o[1]); @@ -7673,14 +7836,14 @@ api.Session buildSession() { o.creator = 'foo'; o.environmentConfig = buildEnvironmentConfig(); o.jupyterSession = buildJupyterConfig(); - o.labels = buildUnnamed156(); + o.labels = buildUnnamed159(); o.name = 'foo'; o.runtimeConfig = buildRuntimeConfig(); o.runtimeInfo = buildRuntimeInfo(); o.sessionTemplate = 'foo'; o.sparkConnectSession = buildSparkConnectConfig(); o.state = 'foo'; - o.stateHistory = buildUnnamed157(); + o.stateHistory = buildUnnamed160(); o.stateMessage = 'foo'; o.stateTime = 'foo'; o.user = 'foo'; @@ -7703,7 +7866,7 @@ void checkSession(api.Session o) { ); checkEnvironmentConfig(o.environmentConfig!); checkJupyterConfig(o.jupyterSession!); - checkUnnamed156(o.labels!); + checkUnnamed159(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -7719,7 +7882,7 @@ void checkSession(api.Session o) { o.state!, unittest.equals('foo'), ); - checkUnnamed157(o.stateHistory!); + checkUnnamed160(o.stateHistory!); unittest.expect( o.stateMessage!, unittest.equals('foo'), @@ -7772,12 +7935,12 @@ void checkSessionStateHistory(api.SessionStateHistory o) { buildCounterSessionStateHistory--; } -core.Map buildUnnamed158() => { +core.Map buildUnnamed161() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed158(core.Map o) { +void checkUnnamed161(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -7799,7 +7962,7 @@ api.SessionTemplate buildSessionTemplate() { o.description = 'foo'; o.environmentConfig = buildEnvironmentConfig(); o.jupyterSession = buildJupyterConfig(); - o.labels = buildUnnamed158(); + o.labels = buildUnnamed161(); o.name = 'foo'; o.runtimeConfig = buildRuntimeConfig(); o.sparkConnectSession = buildSparkConnectConfig(); @@ -7827,7 +7990,7 @@ void checkSessionTemplate(api.SessionTemplate o) { ); checkEnvironmentConfig(o.environmentConfig!); checkJupyterConfig(o.jupyterSession!); - checkUnnamed158(o.labels!); + checkUnnamed161(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -8136,12 +8299,12 @@ void checkShuffleWriteQuantileMetrics(api.ShuffleWriteQuantileMetrics o) { buildCounterShuffleWriteQuantileMetrics--; } -core.Map buildUnnamed159() => { +core.Map buildUnnamed162() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed159(core.Map o) { +void checkUnnamed162(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -8159,7 +8322,7 @@ api.SinkProgress buildSinkProgress() { buildCounterSinkProgress++; if (buildCounterSinkProgress < 3) { o.description = 'foo'; - o.metrics = buildUnnamed159(); + o.metrics = buildUnnamed162(); o.numOutputRows = 'foo'; } buildCounterSinkProgress--; @@ -8173,7 +8336,7 @@ void checkSinkProgress(api.SinkProgress o) { o.description!, unittest.equals('foo'), ); - checkUnnamed159(o.metrics!); + checkUnnamed162(o.metrics!); unittest.expect( o.numOutputRows!, unittest.equals('foo'), @@ -8182,12 +8345,12 @@ void checkSinkProgress(api.SinkProgress o) { buildCounterSinkProgress--; } -core.List buildUnnamed160() => [ +core.List buildUnnamed163() => [ 'foo', 'foo', ]; -void checkUnnamed160(core.List o) { +void checkUnnamed163(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8199,12 +8362,12 @@ void checkUnnamed160(core.List o) { ); } -core.Map buildUnnamed161() => { +core.Map buildUnnamed164() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed161(core.Map o) { +void checkUnnamed164(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -8222,8 +8385,8 @@ api.SoftwareConfig buildSoftwareConfig() { buildCounterSoftwareConfig++; if (buildCounterSoftwareConfig < 3) { o.imageVersion = 'foo'; - o.optionalComponents = buildUnnamed160(); - o.properties = buildUnnamed161(); + o.optionalComponents = buildUnnamed163(); + o.properties = buildUnnamed164(); } buildCounterSoftwareConfig--; return o; @@ -8236,18 +8399,18 @@ void checkSoftwareConfig(api.SoftwareConfig o) { o.imageVersion!, unittest.equals('foo'), ); - checkUnnamed160(o.optionalComponents!); - checkUnnamed161(o.properties!); + checkUnnamed163(o.optionalComponents!); + checkUnnamed164(o.properties!); } buildCounterSoftwareConfig--; } -core.Map buildUnnamed162() => { +core.Map buildUnnamed165() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed162(core.Map o) { +void checkUnnamed165(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -8268,7 +8431,7 @@ api.SourceProgress buildSourceProgress() { o.endOffset = 'foo'; o.inputRowsPerSecond = 42.0; o.latestOffset = 'foo'; - o.metrics = buildUnnamed162(); + o.metrics = buildUnnamed165(); o.numInputRows = 'foo'; o.processedRowsPerSecond = 42.0; o.startOffset = 'foo'; @@ -8296,7 +8459,7 @@ void checkSourceProgress(api.SourceProgress o) { o.latestOffset!, unittest.equals('foo'), ); - checkUnnamed162(o.metrics!); + checkUnnamed165(o.metrics!); unittest.expect( o.numInputRows!, unittest.equals('foo'), @@ -8337,12 +8500,12 @@ void checkSparkApplication(api.SparkApplication o) { buildCounterSparkApplication--; } -core.List buildUnnamed163() => [ +core.List buildUnnamed166() => [ 'foo', 'foo', ]; -void checkUnnamed163(core.List o) { +void checkUnnamed166(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8354,12 +8517,12 @@ void checkUnnamed163(core.List o) { ); } -core.List buildUnnamed164() => [ +core.List buildUnnamed167() => [ 'foo', 'foo', ]; -void checkUnnamed164(core.List o) { +void checkUnnamed167(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8371,12 +8534,12 @@ void checkUnnamed164(core.List o) { ); } -core.List buildUnnamed165() => [ +core.List buildUnnamed168() => [ 'foo', 'foo', ]; -void checkUnnamed165(core.List o) { +void checkUnnamed168(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8388,12 +8551,12 @@ void checkUnnamed165(core.List o) { ); } -core.List buildUnnamed166() => [ +core.List buildUnnamed169() => [ 'foo', 'foo', ]; -void checkUnnamed166(core.List o) { +void checkUnnamed169(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8410,10 +8573,10 @@ api.SparkBatch buildSparkBatch() { final o = api.SparkBatch(); buildCounterSparkBatch++; if (buildCounterSparkBatch < 3) { - o.archiveUris = buildUnnamed163(); - o.args = buildUnnamed164(); - o.fileUris = buildUnnamed165(); - o.jarFileUris = buildUnnamed166(); + o.archiveUris = buildUnnamed166(); + o.args = buildUnnamed167(); + o.fileUris = buildUnnamed168(); + o.jarFileUris = buildUnnamed169(); o.mainClass = 'foo'; o.mainJarFileUri = 'foo'; } @@ -8424,10 +8587,10 @@ api.SparkBatch buildSparkBatch() { void checkSparkBatch(api.SparkBatch o) { buildCounterSparkBatch++; if (buildCounterSparkBatch < 3) { - checkUnnamed163(o.archiveUris!); - checkUnnamed164(o.args!); - checkUnnamed165(o.fileUris!); - checkUnnamed166(o.jarFileUris!); + checkUnnamed166(o.archiveUris!); + checkUnnamed167(o.args!); + checkUnnamed168(o.fileUris!); + checkUnnamed169(o.jarFileUris!); unittest.expect( o.mainClass!, unittest.equals('foo'), @@ -8477,12 +8640,12 @@ void checkSparkHistoryServerConfig(api.SparkHistoryServerConfig o) { buildCounterSparkHistoryServerConfig--; } -core.List buildUnnamed167() => [ +core.List buildUnnamed170() => [ 'foo', 'foo', ]; -void checkUnnamed167(core.List o) { +void checkUnnamed170(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8494,12 +8657,12 @@ void checkUnnamed167(core.List o) { ); } -core.List buildUnnamed168() => [ +core.List buildUnnamed171() => [ 'foo', 'foo', ]; -void checkUnnamed168(core.List o) { +void checkUnnamed171(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8511,12 +8674,12 @@ void checkUnnamed168(core.List o) { ); } -core.List buildUnnamed169() => [ +core.List buildUnnamed172() => [ 'foo', 'foo', ]; -void checkUnnamed169(core.List o) { +void checkUnnamed172(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8528,12 +8691,12 @@ void checkUnnamed169(core.List o) { ); } -core.List buildUnnamed170() => [ +core.List buildUnnamed173() => [ 'foo', 'foo', ]; -void checkUnnamed170(core.List o) { +void checkUnnamed173(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8545,12 +8708,12 @@ void checkUnnamed170(core.List o) { ); } -core.Map buildUnnamed171() => { +core.Map buildUnnamed174() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed171(core.Map o) { +void checkUnnamed174(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -8567,14 +8730,14 @@ api.SparkJob buildSparkJob() { final o = api.SparkJob(); buildCounterSparkJob++; if (buildCounterSparkJob < 3) { - o.archiveUris = buildUnnamed167(); - o.args = buildUnnamed168(); - o.fileUris = buildUnnamed169(); - o.jarFileUris = buildUnnamed170(); + o.archiveUris = buildUnnamed170(); + o.args = buildUnnamed171(); + o.fileUris = buildUnnamed172(); + o.jarFileUris = buildUnnamed173(); o.loggingConfig = buildLoggingConfig(); o.mainClass = 'foo'; o.mainJarFileUri = 'foo'; - o.properties = buildUnnamed171(); + o.properties = buildUnnamed174(); } buildCounterSparkJob--; return o; @@ -8583,10 +8746,10 @@ api.SparkJob buildSparkJob() { void checkSparkJob(api.SparkJob o) { buildCounterSparkJob++; if (buildCounterSparkJob < 3) { - checkUnnamed167(o.archiveUris!); - checkUnnamed168(o.args!); - checkUnnamed169(o.fileUris!); - checkUnnamed170(o.jarFileUris!); + checkUnnamed170(o.archiveUris!); + checkUnnamed171(o.args!); + checkUnnamed172(o.fileUris!); + checkUnnamed173(o.jarFileUris!); checkLoggingConfig(o.loggingConfig!); unittest.expect( o.mainClass!, @@ -8596,28 +8759,28 @@ void checkSparkJob(api.SparkJob o) { o.mainJarFileUri!, unittest.equals('foo'), ); - checkUnnamed171(o.properties!); + checkUnnamed174(o.properties!); } buildCounterSparkJob--; } -core.List buildUnnamed172() => [ +core.List buildUnnamed175() => [ buildSparkPlanGraphEdge(), buildSparkPlanGraphEdge(), ]; -void checkUnnamed172(core.List o) { +void checkUnnamed175(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSparkPlanGraphEdge(o[0]); checkSparkPlanGraphEdge(o[1]); } -core.List buildUnnamed173() => [ +core.List buildUnnamed176() => [ buildSparkPlanGraphNodeWrapper(), buildSparkPlanGraphNodeWrapper(), ]; -void checkUnnamed173(core.List o) { +void checkUnnamed176(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSparkPlanGraphNodeWrapper(o[0]); checkSparkPlanGraphNodeWrapper(o[1]); @@ -8628,9 +8791,9 @@ api.SparkPlanGraph buildSparkPlanGraph() { final o = api.SparkPlanGraph(); buildCounterSparkPlanGraph++; if (buildCounterSparkPlanGraph < 3) { - o.edges = buildUnnamed172(); + o.edges = buildUnnamed175(); o.executionId = 'foo'; - o.nodes = buildUnnamed173(); + o.nodes = buildUnnamed176(); } buildCounterSparkPlanGraph--; return o; @@ -8639,33 +8802,33 @@ api.SparkPlanGraph buildSparkPlanGraph() { void checkSparkPlanGraph(api.SparkPlanGraph o) { buildCounterSparkPlanGraph++; if (buildCounterSparkPlanGraph < 3) { - checkUnnamed172(o.edges!); + checkUnnamed175(o.edges!); unittest.expect( o.executionId!, unittest.equals('foo'), ); - checkUnnamed173(o.nodes!); + checkUnnamed176(o.nodes!); } buildCounterSparkPlanGraph--; } -core.List buildUnnamed174() => [ +core.List buildUnnamed177() => [ buildSqlPlanMetric(), buildSqlPlanMetric(), ]; -void checkUnnamed174(core.List o) { +void checkUnnamed177(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSqlPlanMetric(o[0]); checkSqlPlanMetric(o[1]); } -core.List buildUnnamed175() => [ +core.List buildUnnamed178() => [ buildSparkPlanGraphNodeWrapper(), buildSparkPlanGraphNodeWrapper(), ]; -void checkUnnamed175(core.List o) { +void checkUnnamed178(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSparkPlanGraphNodeWrapper(o[0]); checkSparkPlanGraphNodeWrapper(o[1]); @@ -8677,9 +8840,9 @@ api.SparkPlanGraphCluster buildSparkPlanGraphCluster() { buildCounterSparkPlanGraphCluster++; if (buildCounterSparkPlanGraphCluster < 3) { o.desc = 'foo'; - o.metrics = buildUnnamed174(); + o.metrics = buildUnnamed177(); o.name = 'foo'; - o.nodes = buildUnnamed175(); + o.nodes = buildUnnamed178(); o.sparkPlanGraphClusterId = 'foo'; } buildCounterSparkPlanGraphCluster--; @@ -8693,12 +8856,12 @@ void checkSparkPlanGraphCluster(api.SparkPlanGraphCluster o) { o.desc!, unittest.equals('foo'), ); - checkUnnamed174(o.metrics!); + checkUnnamed177(o.metrics!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed175(o.nodes!); + checkUnnamed178(o.nodes!); unittest.expect( o.sparkPlanGraphClusterId!, unittest.equals('foo'), @@ -8734,12 +8897,12 @@ void checkSparkPlanGraphEdge(api.SparkPlanGraphEdge o) { buildCounterSparkPlanGraphEdge--; } -core.List buildUnnamed176() => [ +core.List buildUnnamed179() => [ buildSqlPlanMetric(), buildSqlPlanMetric(), ]; -void checkUnnamed176(core.List o) { +void checkUnnamed179(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSqlPlanMetric(o[0]); checkSqlPlanMetric(o[1]); @@ -8751,7 +8914,7 @@ api.SparkPlanGraphNode buildSparkPlanGraphNode() { buildCounterSparkPlanGraphNode++; if (buildCounterSparkPlanGraphNode < 3) { o.desc = 'foo'; - o.metrics = buildUnnamed176(); + o.metrics = buildUnnamed179(); o.name = 'foo'; o.sparkPlanGraphNodeId = 'foo'; } @@ -8766,7 +8929,7 @@ void checkSparkPlanGraphNode(api.SparkPlanGraphNode o) { o.desc!, unittest.equals('foo'), ); - checkUnnamed176(o.metrics!); + checkUnnamed179(o.metrics!); unittest.expect( o.name!, unittest.equals('foo'), @@ -8800,12 +8963,12 @@ void checkSparkPlanGraphNodeWrapper(api.SparkPlanGraphNodeWrapper o) { buildCounterSparkPlanGraphNodeWrapper--; } -core.List buildUnnamed177() => [ +core.List buildUnnamed180() => [ 'foo', 'foo', ]; -void checkUnnamed177(core.List o) { +void checkUnnamed180(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8817,12 +8980,12 @@ void checkUnnamed177(core.List o) { ); } -core.List buildUnnamed178() => [ +core.List buildUnnamed181() => [ 'foo', 'foo', ]; -void checkUnnamed178(core.List o) { +void checkUnnamed181(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8834,12 +8997,12 @@ void checkUnnamed178(core.List o) { ); } -core.List buildUnnamed179() => [ +core.List buildUnnamed182() => [ 'foo', 'foo', ]; -void checkUnnamed179(core.List o) { +void checkUnnamed182(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8856,9 +9019,9 @@ api.SparkRBatch buildSparkRBatch() { final o = api.SparkRBatch(); buildCounterSparkRBatch++; if (buildCounterSparkRBatch < 3) { - o.archiveUris = buildUnnamed177(); - o.args = buildUnnamed178(); - o.fileUris = buildUnnamed179(); + o.archiveUris = buildUnnamed180(); + o.args = buildUnnamed181(); + o.fileUris = buildUnnamed182(); o.mainRFileUri = 'foo'; } buildCounterSparkRBatch--; @@ -8868,9 +9031,9 @@ api.SparkRBatch buildSparkRBatch() { void checkSparkRBatch(api.SparkRBatch o) { buildCounterSparkRBatch++; if (buildCounterSparkRBatch < 3) { - checkUnnamed177(o.archiveUris!); - checkUnnamed178(o.args!); - checkUnnamed179(o.fileUris!); + checkUnnamed180(o.archiveUris!); + checkUnnamed181(o.args!); + checkUnnamed182(o.fileUris!); unittest.expect( o.mainRFileUri!, unittest.equals('foo'), @@ -8879,12 +9042,12 @@ void checkSparkRBatch(api.SparkRBatch o) { buildCounterSparkRBatch--; } -core.List buildUnnamed180() => [ +core.List buildUnnamed183() => [ 'foo', 'foo', ]; -void checkUnnamed180(core.List o) { +void checkUnnamed183(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8896,12 +9059,12 @@ void checkUnnamed180(core.List o) { ); } -core.List buildUnnamed181() => [ +core.List buildUnnamed184() => [ 'foo', 'foo', ]; -void checkUnnamed181(core.List o) { +void checkUnnamed184(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8913,12 +9076,12 @@ void checkUnnamed181(core.List o) { ); } -core.List buildUnnamed182() => [ +core.List buildUnnamed185() => [ 'foo', 'foo', ]; -void checkUnnamed182(core.List o) { +void checkUnnamed185(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8930,12 +9093,12 @@ void checkUnnamed182(core.List o) { ); } -core.Map buildUnnamed183() => { +core.Map buildUnnamed186() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed183(core.Map o) { +void checkUnnamed186(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -8952,12 +9115,12 @@ api.SparkRJob buildSparkRJob() { final o = api.SparkRJob(); buildCounterSparkRJob++; if (buildCounterSparkRJob < 3) { - o.archiveUris = buildUnnamed180(); - o.args = buildUnnamed181(); - o.fileUris = buildUnnamed182(); + o.archiveUris = buildUnnamed183(); + o.args = buildUnnamed184(); + o.fileUris = buildUnnamed185(); o.loggingConfig = buildLoggingConfig(); o.mainRFileUri = 'foo'; - o.properties = buildUnnamed183(); + o.properties = buildUnnamed186(); } buildCounterSparkRJob--; return o; @@ -8966,15 +9129,15 @@ api.SparkRJob buildSparkRJob() { void checkSparkRJob(api.SparkRJob o) { buildCounterSparkRJob++; if (buildCounterSparkRJob < 3) { - checkUnnamed180(o.archiveUris!); - checkUnnamed181(o.args!); - checkUnnamed182(o.fileUris!); + checkUnnamed183(o.archiveUris!); + checkUnnamed184(o.args!); + checkUnnamed185(o.fileUris!); checkLoggingConfig(o.loggingConfig!); unittest.expect( o.mainRFileUri!, unittest.equals('foo'), ); - checkUnnamed183(o.properties!); + checkUnnamed186(o.properties!); } buildCounterSparkRJob--; } @@ -9011,12 +9174,12 @@ void checkSparkRuntimeInfo(api.SparkRuntimeInfo o) { buildCounterSparkRuntimeInfo--; } -core.List buildUnnamed184() => [ +core.List buildUnnamed187() => [ 'foo', 'foo', ]; -void checkUnnamed184(core.List o) { +void checkUnnamed187(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9028,12 +9191,12 @@ void checkUnnamed184(core.List o) { ); } -core.Map buildUnnamed185() => { +core.Map buildUnnamed188() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed185(core.Map o) { +void checkUnnamed188(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -9050,9 +9213,9 @@ api.SparkSqlBatch buildSparkSqlBatch() { final o = api.SparkSqlBatch(); buildCounterSparkSqlBatch++; if (buildCounterSparkSqlBatch < 3) { - o.jarFileUris = buildUnnamed184(); + o.jarFileUris = buildUnnamed187(); o.queryFileUri = 'foo'; - o.queryVariables = buildUnnamed185(); + o.queryVariables = buildUnnamed188(); } buildCounterSparkSqlBatch--; return o; @@ -9061,22 +9224,22 @@ api.SparkSqlBatch buildSparkSqlBatch() { void checkSparkSqlBatch(api.SparkSqlBatch o) { buildCounterSparkSqlBatch++; if (buildCounterSparkSqlBatch < 3) { - checkUnnamed184(o.jarFileUris!); + checkUnnamed187(o.jarFileUris!); unittest.expect( o.queryFileUri!, unittest.equals('foo'), ); - checkUnnamed185(o.queryVariables!); + checkUnnamed188(o.queryVariables!); } buildCounterSparkSqlBatch--; } -core.List buildUnnamed186() => [ +core.List buildUnnamed189() => [ 'foo', 'foo', ]; -void checkUnnamed186(core.List o) { +void checkUnnamed189(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9088,12 +9251,12 @@ void checkUnnamed186(core.List o) { ); } -core.Map buildUnnamed187() => { +core.Map buildUnnamed190() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed187(core.Map o) { +void checkUnnamed190(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -9105,12 +9268,12 @@ void checkUnnamed187(core.Map o) { ); } -core.Map buildUnnamed188() => { +core.Map buildUnnamed191() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed188(core.Map o) { +void checkUnnamed191(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -9127,12 +9290,12 @@ api.SparkSqlJob buildSparkSqlJob() { final o = api.SparkSqlJob(); buildCounterSparkSqlJob++; if (buildCounterSparkSqlJob < 3) { - o.jarFileUris = buildUnnamed186(); + o.jarFileUris = buildUnnamed189(); o.loggingConfig = buildLoggingConfig(); - o.properties = buildUnnamed187(); + o.properties = buildUnnamed190(); o.queryFileUri = 'foo'; o.queryList = buildQueryList(); - o.scriptVariables = buildUnnamed188(); + o.scriptVariables = buildUnnamed191(); } buildCounterSparkSqlJob--; return o; @@ -9141,15 +9304,15 @@ api.SparkSqlJob buildSparkSqlJob() { void checkSparkSqlJob(api.SparkSqlJob o) { buildCounterSparkSqlJob++; if (buildCounterSparkSqlJob < 3) { - checkUnnamed186(o.jarFileUris!); + checkUnnamed189(o.jarFileUris!); checkLoggingConfig(o.loggingConfig!); - checkUnnamed187(o.properties!); + checkUnnamed190(o.properties!); unittest.expect( o.queryFileUri!, unittest.equals('foo'), ); checkQueryList(o.queryList!); - checkUnnamed188(o.scriptVariables!); + checkUnnamed191(o.scriptVariables!); } buildCounterSparkSqlJob--; } @@ -9212,6 +9375,8 @@ api.SparkWrapperObject buildSparkWrapperObject() { o.executorStageSummary = buildExecutorStageSummary(); o.executorSummary = buildExecutorSummary(); o.jobData = buildJobData(); + o.nativeBuildInfoUiData = buildNativeBuildInfoUiData(); + o.nativeSqlExecutionUiData = buildNativeSqlExecutionUiData(); o.poolData = buildPoolData(); o.processSummary = buildProcessSummary(); o.rddOperationGraph = buildRddOperationGraph(); @@ -9247,6 +9412,8 @@ void checkSparkWrapperObject(api.SparkWrapperObject o) { checkExecutorStageSummary(o.executorStageSummary!); checkExecutorSummary(o.executorSummary!); checkJobData(o.jobData!); + checkNativeBuildInfoUiData(o.nativeBuildInfoUiData!); + checkNativeSqlExecutionUiData(o.nativeSqlExecutionUiData!); checkPoolData(o.poolData!); checkProcessSummary(o.processSummary!); checkRddOperationGraph(o.rddOperationGraph!); @@ -9316,12 +9483,12 @@ void checkSpeculationStageSummary(api.SpeculationStageSummary o) { buildCounterSpeculationStageSummary--; } -core.Map buildUnnamed189() => { +core.Map buildUnnamed192() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed189(core.Map o) { +void checkUnnamed192(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -9333,12 +9500,12 @@ void checkUnnamed189(core.Map o) { ); } -core.Map buildUnnamed190() => { +core.Map buildUnnamed193() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed190(core.Map o) { +void checkUnnamed193(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -9350,23 +9517,23 @@ void checkUnnamed190(core.Map o) { ); } -core.List buildUnnamed191() => [ +core.List buildUnnamed194() => [ buildSqlPlanMetric(), buildSqlPlanMetric(), ]; -void checkUnnamed191(core.List o) { +void checkUnnamed194(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSqlPlanMetric(o[0]); checkSqlPlanMetric(o[1]); } -core.Map buildUnnamed192() => { +core.Map buildUnnamed195() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed192(core.Map o) { +void checkUnnamed195(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -9378,12 +9545,12 @@ void checkUnnamed192(core.Map o) { ); } -core.List buildUnnamed193() => [ +core.List buildUnnamed196() => [ 'foo', 'foo', ]; -void checkUnnamed193(core.List o) { +void checkUnnamed196(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9405,14 +9572,14 @@ api.SqlExecutionUiData buildSqlExecutionUiData() { o.details = 'foo'; o.errorMessage = 'foo'; o.executionId = 'foo'; - o.jobs = buildUnnamed189(); - o.metricValues = buildUnnamed190(); + o.jobs = buildUnnamed192(); + o.metricValues = buildUnnamed193(); o.metricValuesIsNull = true; - o.metrics = buildUnnamed191(); - o.modifiedConfigs = buildUnnamed192(); + o.metrics = buildUnnamed194(); + o.modifiedConfigs = buildUnnamed195(); o.physicalPlanDescription = 'foo'; o.rootExecutionId = 'foo'; - o.stages = buildUnnamed193(); + o.stages = buildUnnamed196(); o.submissionTime = 'foo'; } buildCounterSqlExecutionUiData--; @@ -9442,11 +9609,11 @@ void checkSqlExecutionUiData(api.SqlExecutionUiData o) { o.executionId!, unittest.equals('foo'), ); - checkUnnamed189(o.jobs!); - checkUnnamed190(o.metricValues!); + checkUnnamed192(o.jobs!); + checkUnnamed193(o.metricValues!); unittest.expect(o.metricValuesIsNull!, unittest.isTrue); - checkUnnamed191(o.metrics!); - checkUnnamed192(o.modifiedConfigs!); + checkUnnamed194(o.metrics!); + checkUnnamed195(o.modifiedConfigs!); unittest.expect( o.physicalPlanDescription!, unittest.equals('foo'), @@ -9455,7 +9622,7 @@ void checkSqlExecutionUiData(api.SqlExecutionUiData o) { o.rootExecutionId!, unittest.equals('foo'), ); - checkUnnamed193(o.stages!); + checkUnnamed196(o.stages!); unittest.expect( o.submissionTime!, unittest.equals('foo'), @@ -9558,34 +9725,34 @@ void checkStageAttemptTasksSummary(api.StageAttemptTasksSummary o) { buildCounterStageAttemptTasksSummary--; } -core.List buildUnnamed194() => [ +core.List buildUnnamed197() => [ buildAccumulableInfo(), buildAccumulableInfo(), ]; -void checkUnnamed194(core.List o) { +void checkUnnamed197(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAccumulableInfo(o[0]); checkAccumulableInfo(o[1]); } -core.Map buildUnnamed195() => { +core.Map buildUnnamed198() => { 'x': buildExecutorStageSummary(), 'y': buildExecutorStageSummary(), }; -void checkUnnamed195(core.Map o) { +void checkUnnamed198(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkExecutorStageSummary(o['x']!); checkExecutorStageSummary(o['y']!); } -core.List buildUnnamed196() => [ +core.List buildUnnamed199() => [ 'foo', 'foo', ]; -void checkUnnamed196(core.List o) { +void checkUnnamed199(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9597,12 +9764,12 @@ void checkUnnamed196(core.List o) { ); } -core.Map buildUnnamed197() => { +core.Map buildUnnamed200() => { 'x': 42, 'y': 42, }; -void checkUnnamed197(core.Map o) { +void checkUnnamed200(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -9614,12 +9781,12 @@ void checkUnnamed197(core.Map o) { ); } -core.Map buildUnnamed198() => { +core.Map buildUnnamed201() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed198(core.Map o) { +void checkUnnamed201(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -9631,12 +9798,12 @@ void checkUnnamed198(core.Map o) { ); } -core.List buildUnnamed199() => [ +core.List buildUnnamed202() => [ 'foo', 'foo', ]; -void checkUnnamed199(core.List o) { +void checkUnnamed202(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9648,12 +9815,12 @@ void checkUnnamed199(core.List o) { ); } -core.List buildUnnamed200() => [ +core.List buildUnnamed203() => [ 'foo', 'foo', ]; -void checkUnnamed200(core.List o) { +void checkUnnamed203(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9665,12 +9832,12 @@ void checkUnnamed200(core.List o) { ); } -core.Map buildUnnamed201() => { +core.Map buildUnnamed204() => { 'x': buildTaskData(), 'y': buildTaskData(), }; -void checkUnnamed201(core.Map o) { +void checkUnnamed204(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkTaskData(o['x']!); checkTaskData(o['y']!); @@ -9681,18 +9848,18 @@ api.StageData buildStageData() { final o = api.StageData(); buildCounterStageData++; if (buildCounterStageData < 3) { - o.accumulatorUpdates = buildUnnamed194(); + o.accumulatorUpdates = buildUnnamed197(); o.completionTime = 'foo'; o.description = 'foo'; o.details = 'foo'; o.executorMetricsDistributions = buildExecutorMetricsDistributions(); - o.executorSummary = buildUnnamed195(); + o.executorSummary = buildUnnamed198(); o.failureReason = 'foo'; o.firstTaskLaunchedTime = 'foo'; o.isShufflePushEnabled = true; - o.jobIds = buildUnnamed196(); - o.killedTasksSummary = buildUnnamed197(); - o.locality = buildUnnamed198(); + o.jobIds = buildUnnamed199(); + o.killedTasksSummary = buildUnnamed200(); + o.locality = buildUnnamed201(); o.name = 'foo'; o.numActiveTasks = 42; o.numCompleteTasks = 42; @@ -9700,9 +9867,9 @@ api.StageData buildStageData() { o.numFailedTasks = 42; o.numKilledTasks = 42; o.numTasks = 42; - o.parentStageIds = buildUnnamed199(); + o.parentStageIds = buildUnnamed202(); o.peakExecutorMetrics = buildExecutorMetrics(); - o.rddIds = buildUnnamed200(); + o.rddIds = buildUnnamed203(); o.resourceProfileId = 42; o.schedulingPool = 'foo'; o.shuffleMergersCount = 42; @@ -9713,7 +9880,7 @@ api.StageData buildStageData() { o.status = 'foo'; o.submissionTime = 'foo'; o.taskQuantileMetrics = buildTaskQuantileMetrics(); - o.tasks = buildUnnamed201(); + o.tasks = buildUnnamed204(); } buildCounterStageData--; return o; @@ -9722,7 +9889,7 @@ api.StageData buildStageData() { void checkStageData(api.StageData o) { buildCounterStageData++; if (buildCounterStageData < 3) { - checkUnnamed194(o.accumulatorUpdates!); + checkUnnamed197(o.accumulatorUpdates!); unittest.expect( o.completionTime!, unittest.equals('foo'), @@ -9736,7 +9903,7 @@ void checkStageData(api.StageData o) { unittest.equals('foo'), ); checkExecutorMetricsDistributions(o.executorMetricsDistributions!); - checkUnnamed195(o.executorSummary!); + checkUnnamed198(o.executorSummary!); unittest.expect( o.failureReason!, unittest.equals('foo'), @@ -9746,9 +9913,9 @@ void checkStageData(api.StageData o) { unittest.equals('foo'), ); unittest.expect(o.isShufflePushEnabled!, unittest.isTrue); - checkUnnamed196(o.jobIds!); - checkUnnamed197(o.killedTasksSummary!); - checkUnnamed198(o.locality!); + checkUnnamed199(o.jobIds!); + checkUnnamed200(o.killedTasksSummary!); + checkUnnamed201(o.locality!); unittest.expect( o.name!, unittest.equals('foo'), @@ -9777,9 +9944,9 @@ void checkStageData(api.StageData o) { o.numTasks!, unittest.equals(42), ); - checkUnnamed199(o.parentStageIds!); + checkUnnamed202(o.parentStageIds!); checkExecutorMetrics(o.peakExecutorMetrics!); - checkUnnamed200(o.rddIds!); + checkUnnamed203(o.rddIds!); unittest.expect( o.resourceProfileId!, unittest.equals(42), @@ -9811,7 +9978,7 @@ void checkStageData(api.StageData o) { unittest.equals('foo'), ); checkTaskQuantileMetrics(o.taskQuantileMetrics!); - checkUnnamed201(o.tasks!); + checkUnnamed204(o.tasks!); } buildCounterStageData--; } @@ -10231,12 +10398,12 @@ void checkStateHistory(api.StateHistory o) { buildCounterStateHistory--; } -core.Map buildUnnamed202() => { +core.Map buildUnnamed205() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed202(core.Map o) { +void checkUnnamed205(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -10256,7 +10423,7 @@ api.StateOperatorProgress buildStateOperatorProgress() { o.allRemovalsTimeMs = 'foo'; o.allUpdatesTimeMs = 'foo'; o.commitTimeMs = 'foo'; - o.customMetrics = buildUnnamed202(); + o.customMetrics = buildUnnamed205(); o.memoryUsedBytes = 'foo'; o.numRowsDroppedByWatermark = 'foo'; o.numRowsRemoved = 'foo'; @@ -10285,7 +10452,7 @@ void checkStateOperatorProgress(api.StateOperatorProgress o) { o.commitTimeMs!, unittest.equals('foo'), ); - checkUnnamed202(o.customMetrics!); + checkUnnamed205(o.customMetrics!); unittest.expect( o.memoryUsedBytes!, unittest.equals('foo'), @@ -10322,7 +10489,7 @@ void checkStateOperatorProgress(api.StateOperatorProgress o) { buildCounterStateOperatorProgress--; } -core.Map buildUnnamed203() => { +core.Map buildUnnamed206() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -10335,7 +10502,7 @@ core.Map buildUnnamed203() => { }, }; -void checkUnnamed203(core.Map o) { +void checkUnnamed206(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -10367,15 +10534,15 @@ void checkUnnamed203(core.Map o) { ); } -core.List> buildUnnamed204() => [ - buildUnnamed203(), - buildUnnamed203(), +core.List> buildUnnamed207() => [ + buildUnnamed206(), + buildUnnamed206(), ]; -void checkUnnamed204(core.List> o) { +void checkUnnamed207(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed203(o[0]); - checkUnnamed203(o[1]); + checkUnnamed206(o[0]); + checkUnnamed206(o[1]); } core.int buildCounterStatus = 0; @@ -10384,7 +10551,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed204(); + o.details = buildUnnamed207(); o.message = 'foo'; } buildCounterStatus--; @@ -10398,7 +10565,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed204(o.details!); + checkUnnamed207(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -10536,12 +10703,12 @@ void checkStreamingQueryData(api.StreamingQueryData o) { buildCounterStreamingQueryData--; } -core.Map buildUnnamed205() => { +core.Map buildUnnamed208() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed205(core.Map o) { +void checkUnnamed208(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -10553,12 +10720,12 @@ void checkUnnamed205(core.Map o) { ); } -core.Map buildUnnamed206() => { +core.Map buildUnnamed209() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed206(core.Map o) { +void checkUnnamed209(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -10570,12 +10737,12 @@ void checkUnnamed206(core.Map o) { ); } -core.Map buildUnnamed207() => { +core.Map buildUnnamed210() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed207(core.Map o) { +void checkUnnamed210(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -10587,23 +10754,23 @@ void checkUnnamed207(core.Map o) { ); } -core.List buildUnnamed208() => [ +core.List buildUnnamed211() => [ buildSourceProgress(), buildSourceProgress(), ]; -void checkUnnamed208(core.List o) { +void checkUnnamed211(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSourceProgress(o[0]); checkSourceProgress(o[1]); } -core.List buildUnnamed209() => [ +core.List buildUnnamed212() => [ buildStateOperatorProgress(), buildStateOperatorProgress(), ]; -void checkUnnamed209(core.List o) { +void checkUnnamed212(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStateOperatorProgress(o[0]); checkStateOperatorProgress(o[1]); @@ -10616,14 +10783,14 @@ api.StreamingQueryProgress buildStreamingQueryProgress() { if (buildCounterStreamingQueryProgress < 3) { o.batchDuration = 'foo'; o.batchId = 'foo'; - o.durationMillis = buildUnnamed205(); - o.eventTime = buildUnnamed206(); + o.durationMillis = buildUnnamed208(); + o.eventTime = buildUnnamed209(); o.name = 'foo'; - o.observedMetrics = buildUnnamed207(); + o.observedMetrics = buildUnnamed210(); o.runId = 'foo'; o.sink = buildSinkProgress(); - o.sources = buildUnnamed208(); - o.stateOperators = buildUnnamed209(); + o.sources = buildUnnamed211(); + o.stateOperators = buildUnnamed212(); o.streamingQueryProgressId = 'foo'; o.timestamp = 'foo'; } @@ -10642,20 +10809,20 @@ void checkStreamingQueryProgress(api.StreamingQueryProgress o) { o.batchId!, unittest.equals('foo'), ); - checkUnnamed205(o.durationMillis!); - checkUnnamed206(o.eventTime!); + checkUnnamed208(o.durationMillis!); + checkUnnamed209(o.eventTime!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed207(o.observedMetrics!); + checkUnnamed210(o.observedMetrics!); unittest.expect( o.runId!, unittest.equals('foo'), ); checkSinkProgress(o.sink!); - checkUnnamed208(o.sources!); - checkUnnamed209(o.stateOperators!); + checkUnnamed211(o.sources!); + checkUnnamed212(o.stateOperators!); unittest.expect( o.streamingQueryProgressId!, unittest.equals('foo'), @@ -10881,23 +11048,23 @@ void checkSummarizeSparkApplicationStagesResponse( buildCounterSummarizeSparkApplicationStagesResponse--; } -core.List buildUnnamed210() => [ +core.List buildUnnamed213() => [ buildAccumulableInfo(), buildAccumulableInfo(), ]; -void checkUnnamed210(core.List o) { +void checkUnnamed213(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAccumulableInfo(o[0]); checkAccumulableInfo(o[1]); } -core.Map buildUnnamed211() => { +core.Map buildUnnamed214() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed211(core.Map o) { +void checkUnnamed214(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -10914,12 +11081,12 @@ api.TaskData buildTaskData() { final o = api.TaskData(); buildCounterTaskData++; if (buildCounterTaskData < 3) { - o.accumulatorUpdates = buildUnnamed210(); + o.accumulatorUpdates = buildUnnamed213(); o.attempt = 42; o.durationMillis = 'foo'; o.errorMessage = 'foo'; o.executorId = 'foo'; - o.executorLogs = buildUnnamed211(); + o.executorLogs = buildUnnamed214(); o.gettingResultTimeMillis = 'foo'; o.hasMetrics = true; o.host = 'foo'; @@ -10943,7 +11110,7 @@ api.TaskData buildTaskData() { void checkTaskData(api.TaskData o) { buildCounterTaskData++; if (buildCounterTaskData < 3) { - checkUnnamed210(o.accumulatorUpdates!); + checkUnnamed213(o.accumulatorUpdates!); unittest.expect( o.attempt!, unittest.equals(42), @@ -10960,7 +11127,7 @@ void checkTaskData(api.TaskData o) { o.executorId!, unittest.equals('foo'), ); - checkUnnamed211(o.executorLogs!); + checkUnnamed214(o.executorLogs!); unittest.expect( o.gettingResultTimeMillis!, unittest.equals('foo'), @@ -11169,12 +11336,12 @@ void checkTaskResourceRequest(api.TaskResourceRequest o) { buildCounterTaskResourceRequest--; } -core.List buildUnnamed212() => [ +core.List buildUnnamed215() => [ 'foo', 'foo', ]; -void checkUnnamed212(core.List o) { +void checkUnnamed215(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11192,7 +11359,7 @@ api.TemplateParameter buildTemplateParameter() { buildCounterTemplateParameter++; if (buildCounterTemplateParameter < 3) { o.description = 'foo'; - o.fields = buildUnnamed212(); + o.fields = buildUnnamed215(); o.name = 'foo'; o.validation = buildParameterValidation(); } @@ -11207,7 +11374,7 @@ void checkTemplateParameter(api.TemplateParameter o) { o.description!, unittest.equals('foo'), ); - checkUnnamed212(o.fields!); + checkUnnamed215(o.fields!); unittest.expect( o.name!, unittest.equals('foo'), @@ -11239,12 +11406,12 @@ void checkTerminateSessionRequest(api.TerminateSessionRequest o) { buildCounterTerminateSessionRequest--; } -core.List buildUnnamed213() => [ +core.List buildUnnamed216() => [ 'foo', 'foo', ]; -void checkUnnamed213(core.List o) { +void checkUnnamed216(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11261,7 +11428,7 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { final o = api.TestIamPermissionsRequest(); buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - o.permissions = buildUnnamed213(); + o.permissions = buildUnnamed216(); } buildCounterTestIamPermissionsRequest--; return o; @@ -11270,17 +11437,17 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { void checkTestIamPermissionsRequest(api.TestIamPermissionsRequest o) { buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - checkUnnamed213(o.permissions!); + checkUnnamed216(o.permissions!); } buildCounterTestIamPermissionsRequest--; } -core.List buildUnnamed214() => [ +core.List buildUnnamed217() => [ 'foo', 'foo', ]; -void checkUnnamed214(core.List o) { +void checkUnnamed217(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11297,7 +11464,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { final o = api.TestIamPermissionsResponse(); buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - o.permissions = buildUnnamed214(); + o.permissions = buildUnnamed217(); } buildCounterTestIamPermissionsResponse--; return o; @@ -11306,17 +11473,17 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { void checkTestIamPermissionsResponse(api.TestIamPermissionsResponse o) { buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - checkUnnamed214(o.permissions!); + checkUnnamed217(o.permissions!); } buildCounterTestIamPermissionsResponse--; } -core.List buildUnnamed215() => [ +core.List buildUnnamed218() => [ 'foo', 'foo', ]; -void checkUnnamed215(core.List o) { +void checkUnnamed218(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11328,12 +11495,12 @@ void checkUnnamed215(core.List o) { ); } -core.Map buildUnnamed216() => { +core.Map buildUnnamed219() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed216(core.Map o) { +void checkUnnamed219(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -11350,11 +11517,11 @@ api.TrinoJob buildTrinoJob() { final o = api.TrinoJob(); buildCounterTrinoJob++; if (buildCounterTrinoJob < 3) { - o.clientTags = buildUnnamed215(); + o.clientTags = buildUnnamed218(); o.continueOnFailure = true; o.loggingConfig = buildLoggingConfig(); o.outputFormat = 'foo'; - o.properties = buildUnnamed216(); + o.properties = buildUnnamed219(); o.queryFileUri = 'foo'; o.queryList = buildQueryList(); } @@ -11365,14 +11532,14 @@ api.TrinoJob buildTrinoJob() { void checkTrinoJob(api.TrinoJob o) { buildCounterTrinoJob++; if (buildCounterTrinoJob < 3) { - checkUnnamed215(o.clientTags!); + checkUnnamed218(o.clientTags!); unittest.expect(o.continueOnFailure!, unittest.isTrue); checkLoggingConfig(o.loggingConfig!); unittest.expect( o.outputFormat!, unittest.equals('foo'), ); - checkUnnamed216(o.properties!); + checkUnnamed219(o.properties!); unittest.expect( o.queryFileUri!, unittest.equals('foo'), @@ -11471,12 +11638,12 @@ void checkUsageSnapshot(api.UsageSnapshot o) { buildCounterUsageSnapshot--; } -core.List buildUnnamed217() => [ +core.List buildUnnamed220() => [ 'foo', 'foo', ]; -void checkUnnamed217(core.List o) { +void checkUnnamed220(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11493,7 +11660,7 @@ api.ValueValidation buildValueValidation() { final o = api.ValueValidation(); buildCounterValueValidation++; if (buildCounterValueValidation < 3) { - o.values = buildUnnamed217(); + o.values = buildUnnamed220(); } buildCounterValueValidation--; return o; @@ -11502,7 +11669,7 @@ api.ValueValidation buildValueValidation() { void checkValueValidation(api.ValueValidation o) { buildCounterValueValidation++; if (buildCounterValueValidation < 3) { - checkUnnamed217(o.values!); + checkUnnamed220(o.values!); } buildCounterValueValidation--; } @@ -11533,23 +11700,23 @@ void checkVirtualClusterConfig(api.VirtualClusterConfig o) { buildCounterVirtualClusterConfig--; } -core.List buildUnnamed218() => [ +core.List buildUnnamed221() => [ buildOrderedJob(), buildOrderedJob(), ]; -void checkUnnamed218(core.List o) { +void checkUnnamed221(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOrderedJob(o[0]); checkOrderedJob(o[1]); } -core.Map buildUnnamed219() => { +core.Map buildUnnamed222() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed219(core.Map o) { +void checkUnnamed222(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -11561,12 +11728,12 @@ void checkUnnamed219(core.Map o) { ); } -core.List buildUnnamed220() => [ +core.List buildUnnamed223() => [ buildTemplateParameter(), buildTemplateParameter(), ]; -void checkUnnamed220(core.List o) { +void checkUnnamed223(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTemplateParameter(o[0]); checkTemplateParameter(o[1]); @@ -11582,10 +11749,10 @@ api.WorkflowTemplate buildWorkflowTemplate() { o.encryptionConfig = buildGoogleCloudDataprocV1WorkflowTemplateEncryptionConfig(); o.id = 'foo'; - o.jobs = buildUnnamed218(); - o.labels = buildUnnamed219(); + o.jobs = buildUnnamed221(); + o.labels = buildUnnamed222(); o.name = 'foo'; - o.parameters = buildUnnamed220(); + o.parameters = buildUnnamed223(); o.placement = buildWorkflowTemplatePlacement(); o.updateTime = 'foo'; o.version = 42; @@ -11611,13 +11778,13 @@ void checkWorkflowTemplate(api.WorkflowTemplate o) { o.id!, unittest.equals('foo'), ); - checkUnnamed218(o.jobs!); - checkUnnamed219(o.labels!); + checkUnnamed221(o.jobs!); + checkUnnamed222(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed220(o.parameters!); + checkUnnamed223(o.parameters!); checkWorkflowTemplatePlacement(o.placement!); unittest.expect( o.updateTime!, @@ -11652,12 +11819,12 @@ void checkWorkflowTemplatePlacement(api.WorkflowTemplatePlacement o) { buildCounterWorkflowTemplatePlacement--; } -core.List buildUnnamed221() => [ +core.List buildUnnamed224() => [ buildSparkWrapperObject(), buildSparkWrapperObject(), ]; -void checkUnnamed221(core.List o) { +void checkUnnamed224(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSparkWrapperObject(o[0]); checkSparkWrapperObject(o[1]); @@ -11670,7 +11837,7 @@ api.WriteSessionSparkApplicationContextRequest buildCounterWriteSessionSparkApplicationContextRequest++; if (buildCounterWriteSessionSparkApplicationContextRequest < 3) { o.parent = 'foo'; - o.sparkWrapperObjects = buildUnnamed221(); + o.sparkWrapperObjects = buildUnnamed224(); } buildCounterWriteSessionSparkApplicationContextRequest--; return o; @@ -11684,7 +11851,7 @@ void checkWriteSessionSparkApplicationContextRequest( o.parent!, unittest.equals('foo'), ); - checkUnnamed221(o.sparkWrapperObjects!); + checkUnnamed224(o.sparkWrapperObjects!); } buildCounterWriteSessionSparkApplicationContextRequest--; } @@ -11706,12 +11873,12 @@ void checkWriteSessionSparkApplicationContextResponse( buildCounterWriteSessionSparkApplicationContextResponse--; } -core.List buildUnnamed222() => [ +core.List buildUnnamed225() => [ buildSparkWrapperObject(), buildSparkWrapperObject(), ]; -void checkUnnamed222(core.List o) { +void checkUnnamed225(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSparkWrapperObject(o[0]); checkSparkWrapperObject(o[1]); @@ -11724,7 +11891,7 @@ api.WriteSparkApplicationContextRequest buildCounterWriteSparkApplicationContextRequest++; if (buildCounterWriteSparkApplicationContextRequest < 3) { o.parent = 'foo'; - o.sparkWrapperObjects = buildUnnamed222(); + o.sparkWrapperObjects = buildUnnamed225(); } buildCounterWriteSparkApplicationContextRequest--; return o; @@ -11738,7 +11905,7 @@ void checkWriteSparkApplicationContextRequest( o.parent!, unittest.equals('foo'), ); - checkUnnamed222(o.sparkWrapperObjects!); + checkUnnamed225(o.sparkWrapperObjects!); } buildCounterWriteSparkApplicationContextRequest--; } @@ -12111,6 +12278,16 @@ void main() { }); }); + unittest.group('obj-schema-BuildInfo', () { + unittest.test('to-json--from-json', () async { + final o = buildBuildInfo(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.BuildInfo.fromJson(oJson as core.Map); + checkBuildInfo(od); + }); + }); + unittest.group('obj-schema-CancelJobRequest', () { unittest.test('to-json--from-json', () async { final o = buildCancelJobRequest(); @@ -12361,6 +12538,16 @@ void main() { }); }); + unittest.group('obj-schema-FallbackReason', () { + unittest.test('to-json--from-json', () async { + final o = buildFallbackReason(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.FallbackReason.fromJson( + oJson as core.Map); + checkFallbackReason(od); + }); + }); + unittest.group('obj-schema-FlinkJob', () { unittest.test('to-json--from-json', () async { final o = buildFlinkJob(); @@ -12882,6 +13069,26 @@ void main() { }); }); + unittest.group('obj-schema-NativeBuildInfoUiData', () { + unittest.test('to-json--from-json', () async { + final o = buildNativeBuildInfoUiData(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.NativeBuildInfoUiData.fromJson( + oJson as core.Map); + checkNativeBuildInfoUiData(od); + }); + }); + + unittest.group('obj-schema-NativeSqlExecutionUiData', () { + unittest.test('to-json--from-json', () async { + final o = buildNativeSqlExecutionUiData(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.NativeSqlExecutionUiData.fromJson( + oJson as core.Map); + checkNativeSqlExecutionUiData(od); + }); + }); + unittest.group('obj-schema-NodeGroup', () { unittest.test('to-json--from-json', () async { final o = buildNodeGroup(); diff --git a/generated/googleapis/test/datastream/v1_test.dart b/generated/googleapis/test/datastream/v1_test.dart index edaeb5714..77a9dbadb 100644 --- a/generated/googleapis/test/datastream/v1_test.dart +++ b/generated/googleapis/test/datastream/v1_test.dart @@ -64,6 +64,7 @@ api.BackfillAllStrategy buildBackfillAllStrategy() { o.mysqlExcludedObjects = buildMysqlRdbms(); o.oracleExcludedObjects = buildOracleRdbms(); o.postgresqlExcludedObjects = buildPostgresqlRdbms(); + o.salesforceExcludedObjects = buildSalesforceOrg(); o.sqlServerExcludedObjects = buildSqlServerRdbms(); } buildCounterBackfillAllStrategy--; @@ -76,6 +77,7 @@ void checkBackfillAllStrategy(api.BackfillAllStrategy o) { checkMysqlRdbms(o.mysqlExcludedObjects!); checkOracleRdbms(o.oracleExcludedObjects!); checkPostgresqlRdbms(o.postgresqlExcludedObjects!); + checkSalesforceOrg(o.salesforceExcludedObjects!); checkSqlServerRdbms(o.sqlServerExcludedObjects!); } buildCounterBackfillAllStrategy--; @@ -152,6 +154,7 @@ api.BigQueryDestinationConfig buildBigQueryDestinationConfig() { buildCounterBigQueryDestinationConfig++; if (buildCounterBigQueryDestinationConfig < 3) { o.appendOnly = buildAppendOnly(); + o.blmtConfig = buildBlmtConfig(); o.dataFreshness = 'foo'; o.merge = buildMerge(); o.singleTargetDataset = buildSingleTargetDataset(); @@ -165,6 +168,7 @@ void checkBigQueryDestinationConfig(api.BigQueryDestinationConfig o) { buildCounterBigQueryDestinationConfig++; if (buildCounterBigQueryDestinationConfig < 3) { checkAppendOnly(o.appendOnly!); + checkBlmtConfig(o.blmtConfig!); unittest.expect( o.dataFreshness!, unittest.equals('foo'), @@ -227,6 +231,48 @@ void checkBinaryLogPosition(api.BinaryLogPosition o) { buildCounterBinaryLogPosition--; } +core.int buildCounterBlmtConfig = 0; +api.BlmtConfig buildBlmtConfig() { + final o = api.BlmtConfig(); + buildCounterBlmtConfig++; + if (buildCounterBlmtConfig < 3) { + o.bucket = 'foo'; + o.connectionName = 'foo'; + o.fileFormat = 'foo'; + o.rootPath = 'foo'; + o.tableFormat = 'foo'; + } + buildCounterBlmtConfig--; + return o; +} + +void checkBlmtConfig(api.BlmtConfig o) { + buildCounterBlmtConfig++; + if (buildCounterBlmtConfig < 3) { + unittest.expect( + o.bucket!, + unittest.equals('foo'), + ); + unittest.expect( + o.connectionName!, + unittest.equals('foo'), + ); + unittest.expect( + o.fileFormat!, + unittest.equals('foo'), + ); + unittest.expect( + o.rootPath!, + unittest.equals('foo'), + ); + unittest.expect( + o.tableFormat!, + unittest.equals('foo'), + ); + } + buildCounterBlmtConfig--; +} + core.int buildCounterCancelOperationRequest = 0; api.CancelOperationRequest buildCancelOperationRequest() { final o = api.CancelOperationRequest(); @@ -298,6 +344,9 @@ api.ConnectionProfile buildConnectionProfile() { o.oracleProfile = buildOracleProfile(); o.postgresqlProfile = buildPostgresqlProfile(); o.privateConnectivity = buildPrivateConnectivity(); + o.salesforceProfile = buildSalesforceProfile(); + o.satisfiesPzi = true; + o.satisfiesPzs = true; o.sqlServerProfile = buildSqlServerProfile(); o.staticServiceIpConnectivity = buildStaticServiceIpConnectivity(); o.updateTime = 'foo'; @@ -329,6 +378,9 @@ void checkConnectionProfile(api.ConnectionProfile o) { checkOracleProfile(o.oracleProfile!); checkPostgresqlProfile(o.postgresqlProfile!); checkPrivateConnectivity(o.privateConnectivity!); + checkSalesforceProfile(o.salesforceProfile!); + unittest.expect(o.satisfiesPzi!, unittest.isTrue); + unittest.expect(o.satisfiesPzs!, unittest.isTrue); checkSqlServerProfile(o.sqlServerProfile!); checkStaticServiceIpConnectivity(o.staticServiceIpConnectivity!); unittest.expect( @@ -1338,6 +1390,28 @@ void checkMysqlDatabase(api.MysqlDatabase o) { buildCounterMysqlDatabase--; } +core.int buildCounterMysqlGtidPosition = 0; +api.MysqlGtidPosition buildMysqlGtidPosition() { + final o = api.MysqlGtidPosition(); + buildCounterMysqlGtidPosition++; + if (buildCounterMysqlGtidPosition < 3) { + o.gtidSet = 'foo'; + } + buildCounterMysqlGtidPosition--; + return o; +} + +void checkMysqlGtidPosition(api.MysqlGtidPosition o) { + buildCounterMysqlGtidPosition++; + if (buildCounterMysqlGtidPosition < 3) { + unittest.expect( + o.gtidSet!, + unittest.equals('foo'), + ); + } + buildCounterMysqlGtidPosition--; +} + core.int buildCounterMysqlLogPosition = 0; api.MysqlLogPosition buildMysqlLogPosition() { final o = api.MysqlLogPosition(); @@ -1584,6 +1658,38 @@ void checkNextAvailableStartPosition(api.NextAvailableStartPosition o) { buildCounterNextAvailableStartPosition--; } +core.int buildCounterOauth2ClientCredentials = 0; +api.Oauth2ClientCredentials buildOauth2ClientCredentials() { + final o = api.Oauth2ClientCredentials(); + buildCounterOauth2ClientCredentials++; + if (buildCounterOauth2ClientCredentials < 3) { + o.clientId = 'foo'; + o.clientSecret = 'foo'; + o.secretManagerStoredClientSecret = 'foo'; + } + buildCounterOauth2ClientCredentials--; + return o; +} + +void checkOauth2ClientCredentials(api.Oauth2ClientCredentials o) { + buildCounterOauth2ClientCredentials++; + if (buildCounterOauth2ClientCredentials < 3) { + unittest.expect( + o.clientId!, + unittest.equals('foo'), + ); + unittest.expect( + o.clientSecret!, + unittest.equals('foo'), + ); + unittest.expect( + o.secretManagerStoredClientSecret!, + unittest.equals('foo'), + ); + } + buildCounterOauth2ClientCredentials--; +} + core.Map buildUnnamed20() => { 'x': { 'list': [1, 2, 3], @@ -2207,6 +2313,7 @@ api.PostgresqlProfile buildPostgresqlProfile() { o.hostname = 'foo'; o.password = 'foo'; o.port = 42; + o.sslConfig = buildPostgresqlSslConfig(); o.username = 'foo'; } buildCounterPostgresqlProfile--; @@ -2232,6 +2339,7 @@ void checkPostgresqlProfile(api.PostgresqlProfile o) { o.port!, unittest.equals(42), ); + checkPostgresqlSslConfig(o.sslConfig!); unittest.expect( o.username!, unittest.equals('foo'), @@ -2341,6 +2449,27 @@ void checkPostgresqlSourceConfig(api.PostgresqlSourceConfig o) { buildCounterPostgresqlSourceConfig--; } +core.int buildCounterPostgresqlSslConfig = 0; +api.PostgresqlSslConfig buildPostgresqlSslConfig() { + final o = api.PostgresqlSslConfig(); + buildCounterPostgresqlSslConfig++; + if (buildCounterPostgresqlSslConfig < 3) { + o.serverAndClientVerification = buildServerAndClientVerification(); + o.serverVerification = buildServerVerification(); + } + buildCounterPostgresqlSslConfig--; + return o; +} + +void checkPostgresqlSslConfig(api.PostgresqlSslConfig o) { + buildCounterPostgresqlSslConfig++; + if (buildCounterPostgresqlSslConfig < 3) { + checkServerAndClientVerification(o.serverAndClientVerification!); + checkServerVerification(o.serverVerification!); + } + buildCounterPostgresqlSslConfig--; +} + core.List buildUnnamed29() => [ buildPostgresqlColumn(), buildPostgresqlColumn(), @@ -2403,6 +2532,8 @@ api.PrivateConnection buildPrivateConnection() { o.error = buildError(); o.labels = buildUnnamed30(); o.name = 'foo'; + o.satisfiesPzi = true; + o.satisfiesPzs = true; o.state = 'foo'; o.updateTime = 'foo'; o.vpcPeeringConfig = buildVpcPeeringConfig(); @@ -2428,6 +2559,8 @@ void checkPrivateConnection(api.PrivateConnection o) { o.name!, unittest.equals('foo'), ); + unittest.expect(o.satisfiesPzi!, unittest.isTrue); + unittest.expect(o.satisfiesPzs!, unittest.isTrue); unittest.expect( o.state!, unittest.equals('foo'), @@ -2550,6 +2683,228 @@ void checkRunStreamRequest(api.RunStreamRequest o) { buildCounterRunStreamRequest--; } +core.int buildCounterSalesforceField = 0; +api.SalesforceField buildSalesforceField() { + final o = api.SalesforceField(); + buildCounterSalesforceField++; + if (buildCounterSalesforceField < 3) { + o.dataType = 'foo'; + o.name = 'foo'; + o.nillable = true; + } + buildCounterSalesforceField--; + return o; +} + +void checkSalesforceField(api.SalesforceField o) { + buildCounterSalesforceField++; + if (buildCounterSalesforceField < 3) { + unittest.expect( + o.dataType!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect(o.nillable!, unittest.isTrue); + } + buildCounterSalesforceField--; +} + +core.List buildUnnamed32() => [ + buildSalesforceField(), + buildSalesforceField(), + ]; + +void checkUnnamed32(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkSalesforceField(o[0]); + checkSalesforceField(o[1]); +} + +core.int buildCounterSalesforceObject = 0; +api.SalesforceObject buildSalesforceObject() { + final o = api.SalesforceObject(); + buildCounterSalesforceObject++; + if (buildCounterSalesforceObject < 3) { + o.fields = buildUnnamed32(); + o.objectName = 'foo'; + } + buildCounterSalesforceObject--; + return o; +} + +void checkSalesforceObject(api.SalesforceObject o) { + buildCounterSalesforceObject++; + if (buildCounterSalesforceObject < 3) { + checkUnnamed32(o.fields!); + unittest.expect( + o.objectName!, + unittest.equals('foo'), + ); + } + buildCounterSalesforceObject--; +} + +core.int buildCounterSalesforceObjectIdentifier = 0; +api.SalesforceObjectIdentifier buildSalesforceObjectIdentifier() { + final o = api.SalesforceObjectIdentifier(); + buildCounterSalesforceObjectIdentifier++; + if (buildCounterSalesforceObjectIdentifier < 3) { + o.objectName = 'foo'; + } + buildCounterSalesforceObjectIdentifier--; + return o; +} + +void checkSalesforceObjectIdentifier(api.SalesforceObjectIdentifier o) { + buildCounterSalesforceObjectIdentifier++; + if (buildCounterSalesforceObjectIdentifier < 3) { + unittest.expect( + o.objectName!, + unittest.equals('foo'), + ); + } + buildCounterSalesforceObjectIdentifier--; +} + +core.List buildUnnamed33() => [ + buildSalesforceObject(), + buildSalesforceObject(), + ]; + +void checkUnnamed33(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkSalesforceObject(o[0]); + checkSalesforceObject(o[1]); +} + +core.int buildCounterSalesforceOrg = 0; +api.SalesforceOrg buildSalesforceOrg() { + final o = api.SalesforceOrg(); + buildCounterSalesforceOrg++; + if (buildCounterSalesforceOrg < 3) { + o.objects = buildUnnamed33(); + } + buildCounterSalesforceOrg--; + return o; +} + +void checkSalesforceOrg(api.SalesforceOrg o) { + buildCounterSalesforceOrg++; + if (buildCounterSalesforceOrg < 3) { + checkUnnamed33(o.objects!); + } + buildCounterSalesforceOrg--; +} + +core.int buildCounterSalesforceProfile = 0; +api.SalesforceProfile buildSalesforceProfile() { + final o = api.SalesforceProfile(); + buildCounterSalesforceProfile++; + if (buildCounterSalesforceProfile < 3) { + o.domain = 'foo'; + o.oauth2ClientCredentials = buildOauth2ClientCredentials(); + o.userCredentials = buildUserCredentials(); + } + buildCounterSalesforceProfile--; + return o; +} + +void checkSalesforceProfile(api.SalesforceProfile o) { + buildCounterSalesforceProfile++; + if (buildCounterSalesforceProfile < 3) { + unittest.expect( + o.domain!, + unittest.equals('foo'), + ); + checkOauth2ClientCredentials(o.oauth2ClientCredentials!); + checkUserCredentials(o.userCredentials!); + } + buildCounterSalesforceProfile--; +} + +core.int buildCounterSalesforceSourceConfig = 0; +api.SalesforceSourceConfig buildSalesforceSourceConfig() { + final o = api.SalesforceSourceConfig(); + buildCounterSalesforceSourceConfig++; + if (buildCounterSalesforceSourceConfig < 3) { + o.excludeObjects = buildSalesforceOrg(); + o.includeObjects = buildSalesforceOrg(); + o.pollingInterval = 'foo'; + } + buildCounterSalesforceSourceConfig--; + return o; +} + +void checkSalesforceSourceConfig(api.SalesforceSourceConfig o) { + buildCounterSalesforceSourceConfig++; + if (buildCounterSalesforceSourceConfig < 3) { + checkSalesforceOrg(o.excludeObjects!); + checkSalesforceOrg(o.includeObjects!); + unittest.expect( + o.pollingInterval!, + unittest.equals('foo'), + ); + } + buildCounterSalesforceSourceConfig--; +} + +core.int buildCounterServerAndClientVerification = 0; +api.ServerAndClientVerification buildServerAndClientVerification() { + final o = api.ServerAndClientVerification(); + buildCounterServerAndClientVerification++; + if (buildCounterServerAndClientVerification < 3) { + o.caCertificate = 'foo'; + o.clientCertificate = 'foo'; + o.clientKey = 'foo'; + } + buildCounterServerAndClientVerification--; + return o; +} + +void checkServerAndClientVerification(api.ServerAndClientVerification o) { + buildCounterServerAndClientVerification++; + if (buildCounterServerAndClientVerification < 3) { + unittest.expect( + o.caCertificate!, + unittest.equals('foo'), + ); + unittest.expect( + o.clientCertificate!, + unittest.equals('foo'), + ); + unittest.expect( + o.clientKey!, + unittest.equals('foo'), + ); + } + buildCounterServerAndClientVerification--; +} + +core.int buildCounterServerVerification = 0; +api.ServerVerification buildServerVerification() { + final o = api.ServerVerification(); + buildCounterServerVerification++; + if (buildCounterServerVerification < 3) { + o.caCertificate = 'foo'; + } + buildCounterServerVerification--; + return o; +} + +void checkServerVerification(api.ServerVerification o) { + buildCounterServerVerification++; + if (buildCounterServerVerification < 3) { + unittest.expect( + o.caCertificate!, + unittest.equals('foo'), + ); + } + buildCounterServerVerification--; +} + core.int buildCounterSingleTargetDataset = 0; api.SingleTargetDataset buildSingleTargetDataset() { final o = api.SingleTargetDataset(); @@ -2580,6 +2935,7 @@ api.SourceConfig buildSourceConfig() { o.mysqlSourceConfig = buildMysqlSourceConfig(); o.oracleSourceConfig = buildOracleSourceConfig(); o.postgresqlSourceConfig = buildPostgresqlSourceConfig(); + o.salesforceSourceConfig = buildSalesforceSourceConfig(); o.sourceConnectionProfile = 'foo'; o.sqlServerSourceConfig = buildSqlServerSourceConfig(); } @@ -2593,6 +2949,7 @@ void checkSourceConfig(api.SourceConfig o) { checkMysqlSourceConfig(o.mysqlSourceConfig!); checkOracleSourceConfig(o.oracleSourceConfig!); checkPostgresqlSourceConfig(o.postgresqlSourceConfig!); + checkSalesforceSourceConfig(o.salesforceSourceConfig!); unittest.expect( o.sourceConnectionProfile!, unittest.equals('foo'), @@ -2629,6 +2986,7 @@ api.SourceObjectIdentifier buildSourceObjectIdentifier() { o.mysqlIdentifier = buildMysqlObjectIdentifier(); o.oracleIdentifier = buildOracleObjectIdentifier(); o.postgresqlIdentifier = buildPostgresqlObjectIdentifier(); + o.salesforceIdentifier = buildSalesforceObjectIdentifier(); o.sqlServerIdentifier = buildSqlServerObjectIdentifier(); } buildCounterSourceObjectIdentifier--; @@ -2641,6 +2999,7 @@ void checkSourceObjectIdentifier(api.SourceObjectIdentifier o) { checkMysqlObjectIdentifier(o.mysqlIdentifier!); checkOracleObjectIdentifier(o.oracleIdentifier!); checkPostgresqlObjectIdentifier(o.postgresqlIdentifier!); + checkSalesforceObjectIdentifier(o.salesforceIdentifier!); checkSqlServerObjectIdentifier(o.sqlServerIdentifier!); } buildCounterSourceObjectIdentifier--; @@ -2651,6 +3010,7 @@ api.SpecificStartPosition buildSpecificStartPosition() { final o = api.SpecificStartPosition(); buildCounterSpecificStartPosition++; if (buildCounterSpecificStartPosition < 3) { + o.mysqlGtidPosition = buildMysqlGtidPosition(); o.mysqlLogPosition = buildMysqlLogPosition(); o.oracleScnPosition = buildOracleScnPosition(); o.sqlServerLsnPosition = buildSqlServerLsnPosition(); @@ -2662,6 +3022,7 @@ api.SpecificStartPosition buildSpecificStartPosition() { void checkSpecificStartPosition(api.SpecificStartPosition o) { buildCounterSpecificStartPosition++; if (buildCounterSpecificStartPosition < 3) { + checkMysqlGtidPosition(o.mysqlGtidPosition!); checkMysqlLogPosition(o.mysqlLogPosition!); checkOracleScnPosition(o.oracleScnPosition!); checkSqlServerLsnPosition(o.sqlServerLsnPosition!); @@ -2826,12 +3187,12 @@ void checkSqlServerProfile(api.SqlServerProfile o) { buildCounterSqlServerProfile--; } -core.List buildUnnamed32() => [ +core.List buildUnnamed34() => [ buildSqlServerSchema(), buildSqlServerSchema(), ]; -void checkUnnamed32(core.List o) { +void checkUnnamed34(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSqlServerSchema(o[0]); checkSqlServerSchema(o[1]); @@ -2842,7 +3203,7 @@ api.SqlServerRdbms buildSqlServerRdbms() { final o = api.SqlServerRdbms(); buildCounterSqlServerRdbms++; if (buildCounterSqlServerRdbms < 3) { - o.schemas = buildUnnamed32(); + o.schemas = buildUnnamed34(); } buildCounterSqlServerRdbms--; return o; @@ -2851,17 +3212,17 @@ api.SqlServerRdbms buildSqlServerRdbms() { void checkSqlServerRdbms(api.SqlServerRdbms o) { buildCounterSqlServerRdbms++; if (buildCounterSqlServerRdbms < 3) { - checkUnnamed32(o.schemas!); + checkUnnamed34(o.schemas!); } buildCounterSqlServerRdbms--; } -core.List buildUnnamed33() => [ +core.List buildUnnamed35() => [ buildSqlServerTable(), buildSqlServerTable(), ]; -void checkUnnamed33(core.List o) { +void checkUnnamed35(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSqlServerTable(o[0]); checkSqlServerTable(o[1]); @@ -2873,7 +3234,7 @@ api.SqlServerSchema buildSqlServerSchema() { buildCounterSqlServerSchema++; if (buildCounterSqlServerSchema < 3) { o.schema = 'foo'; - o.tables = buildUnnamed33(); + o.tables = buildUnnamed35(); } buildCounterSqlServerSchema--; return o; @@ -2886,7 +3247,7 @@ void checkSqlServerSchema(api.SqlServerSchema o) { o.schema!, unittest.equals('foo'), ); - checkUnnamed33(o.tables!); + checkUnnamed35(o.tables!); } buildCounterSqlServerSchema--; } @@ -2926,12 +3287,12 @@ void checkSqlServerSourceConfig(api.SqlServerSourceConfig o) { buildCounterSqlServerSourceConfig--; } -core.List buildUnnamed34() => [ +core.List buildUnnamed36() => [ buildSqlServerColumn(), buildSqlServerColumn(), ]; -void checkUnnamed34(core.List o) { +void checkUnnamed36(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSqlServerColumn(o[0]); checkSqlServerColumn(o[1]); @@ -2942,7 +3303,7 @@ api.SqlServerTable buildSqlServerTable() { final o = api.SqlServerTable(); buildCounterSqlServerTable++; if (buildCounterSqlServerTable < 3) { - o.columns = buildUnnamed34(); + o.columns = buildUnnamed36(); o.table = 'foo'; } buildCounterSqlServerTable--; @@ -2952,7 +3313,7 @@ api.SqlServerTable buildSqlServerTable() { void checkSqlServerTable(api.SqlServerTable o) { buildCounterSqlServerTable++; if (buildCounterSqlServerTable < 3) { - checkUnnamed34(o.columns!); + checkUnnamed36(o.columns!); unittest.expect( o.table!, unittest.equals('foo'), @@ -3025,7 +3386,7 @@ void checkStaticServiceIpConnectivity(api.StaticServiceIpConnectivity o) { buildCounterStaticServiceIpConnectivity--; } -core.Map buildUnnamed35() => { +core.Map buildUnnamed37() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3038,7 +3399,7 @@ core.Map buildUnnamed35() => { }, }; -void checkUnnamed35(core.Map o) { +void checkUnnamed37(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -3070,15 +3431,15 @@ void checkUnnamed35(core.Map o) { ); } -core.List> buildUnnamed36() => [ - buildUnnamed35(), - buildUnnamed35(), +core.List> buildUnnamed38() => [ + buildUnnamed37(), + buildUnnamed37(), ]; -void checkUnnamed36(core.List> o) { +void checkUnnamed38(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed35(o[0]); - checkUnnamed35(o[1]); + checkUnnamed37(o[0]); + checkUnnamed37(o[1]); } core.int buildCounterStatus = 0; @@ -3087,7 +3448,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed36(); + o.details = buildUnnamed38(); o.message = 'foo'; } buildCounterStatus--; @@ -3101,7 +3462,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed36(o.details!); + checkUnnamed38(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -3144,23 +3505,23 @@ void checkStopBackfillJobResponse(api.StopBackfillJobResponse o) { buildCounterStopBackfillJobResponse--; } -core.List buildUnnamed37() => [ +core.List buildUnnamed39() => [ buildError(), buildError(), ]; -void checkUnnamed37(core.List o) { +void checkUnnamed39(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkError(o[0]); checkError(o[1]); } -core.Map buildUnnamed38() => { +core.Map buildUnnamed40() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed38(core.Map o) { +void checkUnnamed40(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3183,10 +3544,12 @@ api.Stream buildStream() { o.customerManagedEncryptionKey = 'foo'; o.destinationConfig = buildDestinationConfig(); o.displayName = 'foo'; - o.errors = buildUnnamed37(); - o.labels = buildUnnamed38(); + o.errors = buildUnnamed39(); + o.labels = buildUnnamed40(); o.lastRecoveryTime = 'foo'; o.name = 'foo'; + o.satisfiesPzi = true; + o.satisfiesPzs = true; o.sourceConfig = buildSourceConfig(); o.state = 'foo'; o.updateTime = 'foo'; @@ -3213,8 +3576,8 @@ void checkStream(api.Stream o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed37(o.errors!); - checkUnnamed38(o.labels!); + checkUnnamed39(o.errors!); + checkUnnamed40(o.labels!); unittest.expect( o.lastRecoveryTime!, unittest.equals('foo'), @@ -3223,6 +3586,8 @@ void checkStream(api.Stream o) { o.name!, unittest.equals('foo'), ); + unittest.expect(o.satisfiesPzi!, unittest.isTrue); + unittest.expect(o.satisfiesPzs!, unittest.isTrue); checkSourceConfig(o.sourceConfig!); unittest.expect( o.state!, @@ -3251,12 +3616,12 @@ void checkStreamLargeObjects(api.StreamLargeObjects o) { buildCounterStreamLargeObjects--; } -core.List buildUnnamed39() => [ +core.List buildUnnamed41() => [ buildError(), buildError(), ]; -void checkUnnamed39(core.List o) { +void checkUnnamed41(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkError(o[0]); checkError(o[1]); @@ -3270,7 +3635,7 @@ api.StreamObject buildStreamObject() { o.backfillJob = buildBackfillJob(); o.createTime = 'foo'; o.displayName = 'foo'; - o.errors = buildUnnamed39(); + o.errors = buildUnnamed41(); o.name = 'foo'; o.sourceObject = buildSourceObjectIdentifier(); o.updateTime = 'foo'; @@ -3291,7 +3656,7 @@ void checkStreamObject(api.StreamObject o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed39(o.errors!); + checkUnnamed41(o.errors!); unittest.expect( o.name!, unittest.equals('foo'), @@ -3305,6 +3670,48 @@ void checkStreamObject(api.StreamObject o) { buildCounterStreamObject--; } +core.int buildCounterUserCredentials = 0; +api.UserCredentials buildUserCredentials() { + final o = api.UserCredentials(); + buildCounterUserCredentials++; + if (buildCounterUserCredentials < 3) { + o.password = 'foo'; + o.secretManagerStoredPassword = 'foo'; + o.secretManagerStoredSecurityToken = 'foo'; + o.securityToken = 'foo'; + o.username = 'foo'; + } + buildCounterUserCredentials--; + return o; +} + +void checkUserCredentials(api.UserCredentials o) { + buildCounterUserCredentials++; + if (buildCounterUserCredentials < 3) { + unittest.expect( + o.password!, + unittest.equals('foo'), + ); + unittest.expect( + o.secretManagerStoredPassword!, + unittest.equals('foo'), + ); + unittest.expect( + o.secretManagerStoredSecurityToken!, + unittest.equals('foo'), + ); + unittest.expect( + o.securityToken!, + unittest.equals('foo'), + ); + unittest.expect( + o.username!, + unittest.equals('foo'), + ); + } + buildCounterUserCredentials--; +} + core.int buildCounterVpcPeeringConfig = 0; api.VpcPeeringConfig buildVpcPeeringConfig() { final o = api.VpcPeeringConfig(); @@ -3423,6 +3830,16 @@ void main() { }); }); + unittest.group('obj-schema-BlmtConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildBlmtConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.BlmtConfig.fromJson(oJson as core.Map); + checkBlmtConfig(od); + }); + }); + unittest.group('obj-schema-CancelOperationRequest', () { unittest.test('to-json--from-json', () async { final o = buildCancelOperationRequest(); @@ -3733,6 +4150,16 @@ void main() { }); }); + unittest.group('obj-schema-MysqlGtidPosition', () { + unittest.test('to-json--from-json', () async { + final o = buildMysqlGtidPosition(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.MysqlGtidPosition.fromJson( + oJson as core.Map); + checkMysqlGtidPosition(od); + }); + }); + unittest.group('obj-schema-MysqlLogPosition', () { unittest.test('to-json--from-json', () async { final o = buildMysqlLogPosition(); @@ -3813,6 +4240,16 @@ void main() { }); }); + unittest.group('obj-schema-Oauth2ClientCredentials', () { + unittest.test('to-json--from-json', () async { + final o = buildOauth2ClientCredentials(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.Oauth2ClientCredentials.fromJson( + oJson as core.Map); + checkOauth2ClientCredentials(od); + }); + }); + unittest.group('obj-schema-Operation', () { unittest.test('to-json--from-json', () async { final o = buildOperation(); @@ -3993,6 +4430,16 @@ void main() { }); }); + unittest.group('obj-schema-PostgresqlSslConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildPostgresqlSslConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.PostgresqlSslConfig.fromJson( + oJson as core.Map); + checkPostgresqlSslConfig(od); + }); + }); + unittest.group('obj-schema-PostgresqlTable', () { unittest.test('to-json--from-json', () async { final o = buildPostgresqlTable(); @@ -4043,6 +4490,86 @@ void main() { }); }); + unittest.group('obj-schema-SalesforceField', () { + unittest.test('to-json--from-json', () async { + final o = buildSalesforceField(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SalesforceField.fromJson( + oJson as core.Map); + checkSalesforceField(od); + }); + }); + + unittest.group('obj-schema-SalesforceObject', () { + unittest.test('to-json--from-json', () async { + final o = buildSalesforceObject(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SalesforceObject.fromJson( + oJson as core.Map); + checkSalesforceObject(od); + }); + }); + + unittest.group('obj-schema-SalesforceObjectIdentifier', () { + unittest.test('to-json--from-json', () async { + final o = buildSalesforceObjectIdentifier(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SalesforceObjectIdentifier.fromJson( + oJson as core.Map); + checkSalesforceObjectIdentifier(od); + }); + }); + + unittest.group('obj-schema-SalesforceOrg', () { + unittest.test('to-json--from-json', () async { + final o = buildSalesforceOrg(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SalesforceOrg.fromJson( + oJson as core.Map); + checkSalesforceOrg(od); + }); + }); + + unittest.group('obj-schema-SalesforceProfile', () { + unittest.test('to-json--from-json', () async { + final o = buildSalesforceProfile(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SalesforceProfile.fromJson( + oJson as core.Map); + checkSalesforceProfile(od); + }); + }); + + unittest.group('obj-schema-SalesforceSourceConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildSalesforceSourceConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SalesforceSourceConfig.fromJson( + oJson as core.Map); + checkSalesforceSourceConfig(od); + }); + }); + + unittest.group('obj-schema-ServerAndClientVerification', () { + unittest.test('to-json--from-json', () async { + final o = buildServerAndClientVerification(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ServerAndClientVerification.fromJson( + oJson as core.Map); + checkServerAndClientVerification(od); + }); + }); + + unittest.group('obj-schema-ServerVerification', () { + unittest.test('to-json--from-json', () async { + final o = buildServerVerification(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ServerVerification.fromJson( + oJson as core.Map); + checkServerVerification(od); + }); + }); + unittest.group('obj-schema-SingleTargetDataset', () { unittest.test('to-json--from-json', () async { final o = buildSingleTargetDataset(); @@ -4283,6 +4810,16 @@ void main() { }); }); + unittest.group('obj-schema-UserCredentials', () { + unittest.test('to-json--from-json', () async { + final o = buildUserCredentials(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.UserCredentials.fromJson( + oJson as core.Map); + checkUserCredentials(od); + }); + }); + unittest.group('obj-schema-VpcPeeringConfig', () { unittest.test('to-json--from-json', () async { final o = buildVpcPeeringConfig(); diff --git a/generated/googleapis/test/deploymentmanager/v2_test.dart b/generated/googleapis/test/deploymentmanager/v2_test.dart index c22c1c5d2..580756f04 100644 --- a/generated/googleapis/test/deploymentmanager/v2_test.dart +++ b/generated/googleapis/test/deploymentmanager/v2_test.dart @@ -523,7 +523,7 @@ api.ErrorInfo buildErrorInfo() { buildCounterErrorInfo++; if (buildCounterErrorInfo < 3) { o.domain = 'foo'; - o.metadata = buildUnnamed7(); + o.metadatas = buildUnnamed7(); o.reason = 'foo'; } buildCounterErrorInfo--; @@ -537,7 +537,7 @@ void checkErrorInfo(api.ErrorInfo o) { o.domain!, unittest.equals('foo'), ); - checkUnnamed7(o.metadata!); + checkUnnamed7(o.metadatas!); unittest.expect( o.reason!, unittest.equals('foo'), diff --git a/generated/googleapis/test/developerconnect/v1_test.dart b/generated/googleapis/test/developerconnect/v1_test.dart index 127b2ad7d..e43329d55 100644 --- a/generated/googleapis/test/developerconnect/v1_test.dart +++ b/generated/googleapis/test/developerconnect/v1_test.dart @@ -26,6 +26,80 @@ import 'package:test/test.dart' as unittest; import '../test_shared.dart'; +core.int buildCounterBitbucketCloudConfig = 0; +api.BitbucketCloudConfig buildBitbucketCloudConfig() { + final o = api.BitbucketCloudConfig(); + buildCounterBitbucketCloudConfig++; + if (buildCounterBitbucketCloudConfig < 3) { + o.authorizerCredential = buildUserCredential(); + o.readAuthorizerCredential = buildUserCredential(); + o.webhookSecretSecretVersion = 'foo'; + o.workspace = 'foo'; + } + buildCounterBitbucketCloudConfig--; + return o; +} + +void checkBitbucketCloudConfig(api.BitbucketCloudConfig o) { + buildCounterBitbucketCloudConfig++; + if (buildCounterBitbucketCloudConfig < 3) { + checkUserCredential(o.authorizerCredential!); + checkUserCredential(o.readAuthorizerCredential!); + unittest.expect( + o.webhookSecretSecretVersion!, + unittest.equals('foo'), + ); + unittest.expect( + o.workspace!, + unittest.equals('foo'), + ); + } + buildCounterBitbucketCloudConfig--; +} + +core.int buildCounterBitbucketDataCenterConfig = 0; +api.BitbucketDataCenterConfig buildBitbucketDataCenterConfig() { + final o = api.BitbucketDataCenterConfig(); + buildCounterBitbucketDataCenterConfig++; + if (buildCounterBitbucketDataCenterConfig < 3) { + o.authorizerCredential = buildUserCredential(); + o.hostUri = 'foo'; + o.readAuthorizerCredential = buildUserCredential(); + o.serverVersion = 'foo'; + o.serviceDirectoryConfig = buildServiceDirectoryConfig(); + o.sslCaCertificate = 'foo'; + o.webhookSecretSecretVersion = 'foo'; + } + buildCounterBitbucketDataCenterConfig--; + return o; +} + +void checkBitbucketDataCenterConfig(api.BitbucketDataCenterConfig o) { + buildCounterBitbucketDataCenterConfig++; + if (buildCounterBitbucketDataCenterConfig < 3) { + checkUserCredential(o.authorizerCredential!); + unittest.expect( + o.hostUri!, + unittest.equals('foo'), + ); + checkUserCredential(o.readAuthorizerCredential!); + unittest.expect( + o.serverVersion!, + unittest.equals('foo'), + ); + checkServiceDirectoryConfig(o.serviceDirectoryConfig!); + unittest.expect( + o.sslCaCertificate!, + unittest.equals('foo'), + ); + unittest.expect( + o.webhookSecretSecretVersion!, + unittest.equals('foo'), + ); + } + buildCounterBitbucketDataCenterConfig--; +} + core.int buildCounterCancelOperationRequest = 0; api.CancelOperationRequest buildCancelOperationRequest() { final o = api.CancelOperationRequest(); @@ -81,11 +155,14 @@ api.Connection buildConnection() { buildCounterConnection++; if (buildCounterConnection < 3) { o.annotations = buildUnnamed0(); + o.bitbucketCloudConfig = buildBitbucketCloudConfig(); + o.bitbucketDataCenterConfig = buildBitbucketDataCenterConfig(); o.createTime = 'foo'; o.cryptoKeyConfig = buildCryptoKeyConfig(); o.deleteTime = 'foo'; o.disabled = true; o.etag = 'foo'; + o.gitProxyConfig = buildGitProxyConfig(); o.githubConfig = buildGitHubConfig(); o.githubEnterpriseConfig = buildGitHubEnterpriseConfig(); o.gitlabConfig = buildGitLabConfig(); @@ -105,6 +182,8 @@ void checkConnection(api.Connection o) { buildCounterConnection++; if (buildCounterConnection < 3) { checkUnnamed0(o.annotations!); + checkBitbucketCloudConfig(o.bitbucketCloudConfig!); + checkBitbucketDataCenterConfig(o.bitbucketDataCenterConfig!); unittest.expect( o.createTime!, unittest.equals('foo'), @@ -119,6 +198,7 @@ void checkConnection(api.Connection o) { o.etag!, unittest.equals('foo'), ); + checkGitProxyConfig(o.gitProxyConfig!); checkGitHubConfig(o.githubConfig!); checkGitHubEnterpriseConfig(o.githubEnterpriseConfig!); checkGitLabConfig(o.gitlabConfig!); @@ -549,6 +629,25 @@ void checkGitLabEnterpriseConfig(api.GitLabEnterpriseConfig o) { buildCounterGitLabEnterpriseConfig--; } +core.int buildCounterGitProxyConfig = 0; +api.GitProxyConfig buildGitProxyConfig() { + final o = api.GitProxyConfig(); + buildCounterGitProxyConfig++; + if (buildCounterGitProxyConfig < 3) { + o.enabled = true; + } + buildCounterGitProxyConfig--; + return o; +} + +void checkGitProxyConfig(api.GitProxyConfig o) { + buildCounterGitProxyConfig++; + if (buildCounterGitProxyConfig < 3) { + unittest.expect(o.enabled!, unittest.isTrue); + } + buildCounterGitProxyConfig--; +} + core.Map buildUnnamed5() => { 'x': 'foo', 'y': 'foo', @@ -593,6 +692,7 @@ api.GitRepositoryLink buildGitRepositoryLink() { o.createTime = 'foo'; o.deleteTime = 'foo'; o.etag = 'foo'; + o.gitProxyUri = 'foo'; o.labels = buildUnnamed6(); o.name = 'foo'; o.reconciling = true; @@ -624,6 +724,10 @@ void checkGitRepositoryLink(api.GitRepositoryLink o) { o.etag!, unittest.equals('foo'), ); + unittest.expect( + o.gitProxyUri!, + unittest.equals('foo'), + ); checkUnnamed6(o.labels!); unittest.expect( o.name!, @@ -1240,6 +1344,48 @@ void checkOperation(api.Operation o) { buildCounterOperation--; } +core.int buildCounterProcessBitbucketCloudWebhookRequest = 0; +api.ProcessBitbucketCloudWebhookRequest + buildProcessBitbucketCloudWebhookRequest() { + final o = api.ProcessBitbucketCloudWebhookRequest(); + buildCounterProcessBitbucketCloudWebhookRequest++; + if (buildCounterProcessBitbucketCloudWebhookRequest < 3) { + o.body = buildHttpBody(); + } + buildCounterProcessBitbucketCloudWebhookRequest--; + return o; +} + +void checkProcessBitbucketCloudWebhookRequest( + api.ProcessBitbucketCloudWebhookRequest o) { + buildCounterProcessBitbucketCloudWebhookRequest++; + if (buildCounterProcessBitbucketCloudWebhookRequest < 3) { + checkHttpBody(o.body!); + } + buildCounterProcessBitbucketCloudWebhookRequest--; +} + +core.int buildCounterProcessBitbucketDataCenterWebhookRequest = 0; +api.ProcessBitbucketDataCenterWebhookRequest + buildProcessBitbucketDataCenterWebhookRequest() { + final o = api.ProcessBitbucketDataCenterWebhookRequest(); + buildCounterProcessBitbucketDataCenterWebhookRequest++; + if (buildCounterProcessBitbucketDataCenterWebhookRequest < 3) { + o.body = buildHttpBody(); + } + buildCounterProcessBitbucketDataCenterWebhookRequest--; + return o; +} + +void checkProcessBitbucketDataCenterWebhookRequest( + api.ProcessBitbucketDataCenterWebhookRequest o) { + buildCounterProcessBitbucketDataCenterWebhookRequest++; + if (buildCounterProcessBitbucketDataCenterWebhookRequest < 3) { + checkHttpBody(o.body!); + } + buildCounterProcessBitbucketDataCenterWebhookRequest--; +} + core.int buildCounterProcessGitHubEnterpriseWebhookRequest = 0; api.ProcessGitHubEnterpriseWebhookRequest buildProcessGitHubEnterpriseWebhookRequest() { @@ -1436,6 +1582,26 @@ void checkUserCredential(api.UserCredential o) { } void main() { + unittest.group('obj-schema-BitbucketCloudConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildBitbucketCloudConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BitbucketCloudConfig.fromJson( + oJson as core.Map); + checkBitbucketCloudConfig(od); + }); + }); + + unittest.group('obj-schema-BitbucketDataCenterConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildBitbucketDataCenterConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BitbucketDataCenterConfig.fromJson( + oJson as core.Map); + checkBitbucketDataCenterConfig(od); + }); + }); + unittest.group('obj-schema-CancelOperationRequest', () { unittest.test('to-json--from-json', () async { final o = buildCancelOperationRequest(); @@ -1586,6 +1752,16 @@ void main() { }); }); + unittest.group('obj-schema-GitProxyConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildGitProxyConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GitProxyConfig.fromJson( + oJson as core.Map); + checkGitProxyConfig(od); + }); + }); + unittest.group('obj-schema-GitRepositoryLink', () { unittest.test('to-json--from-json', () async { final o = buildGitRepositoryLink(); @@ -1706,6 +1882,26 @@ void main() { }); }); + unittest.group('obj-schema-ProcessBitbucketCloudWebhookRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildProcessBitbucketCloudWebhookRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ProcessBitbucketCloudWebhookRequest.fromJson( + oJson as core.Map); + checkProcessBitbucketCloudWebhookRequest(od); + }); + }); + + unittest.group('obj-schema-ProcessBitbucketDataCenterWebhookRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildProcessBitbucketDataCenterWebhookRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ProcessBitbucketDataCenterWebhookRequest.fromJson( + oJson as core.Map); + checkProcessBitbucketDataCenterWebhookRequest(od); + }); + }); + unittest.group('obj-schema-ProcessGitHubEnterpriseWebhookRequest', () { unittest.test('to-json--from-json', () async { final o = buildProcessGitHubEnterpriseWebhookRequest(); @@ -2929,6 +3125,132 @@ void main() { response as api.ListGitRepositoryLinksResponse); }); + unittest.test('method--processBitbucketCloudWebhook', () async { + final mock = HttpServerMock(); + final res = api.DeveloperConnectApi(mock) + .projects + .locations + .connections + .gitRepositoryLinks; + final arg_request = buildProcessBitbucketCloudWebhookRequest(); + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.ProcessBitbucketCloudWebhookRequest.fromJson( + json as core.Map); + checkProcessBitbucketCloudWebhookRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildEmpty()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.processBitbucketCloudWebhook( + arg_request, arg_name, + $fields: arg_$fields); + checkEmpty(response as api.Empty); + }); + + unittest.test('method--processBitbucketDataCenterWebhook', () async { + final mock = HttpServerMock(); + final res = api.DeveloperConnectApi(mock) + .projects + .locations + .connections + .gitRepositoryLinks; + final arg_request = buildProcessBitbucketDataCenterWebhookRequest(); + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.ProcessBitbucketDataCenterWebhookRequest.fromJson( + json as core.Map); + checkProcessBitbucketDataCenterWebhookRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildEmpty()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.processBitbucketDataCenterWebhook( + arg_request, arg_name, + $fields: arg_$fields); + checkEmpty(response as api.Empty); + }); + unittest.test('method--processGitLabEnterpriseWebhook', () async { final mock = HttpServerMock(); final res = api.DeveloperConnectApi(mock) diff --git a/generated/googleapis/test/dfareporting/v4_test.dart b/generated/googleapis/test/dfareporting/v4_test.dart index aca16da18..a60c96669 100644 --- a/generated/googleapis/test/dfareporting/v4_test.dart +++ b/generated/googleapis/test/dfareporting/v4_test.dart @@ -11449,6 +11449,7 @@ api.TagSetting buildTagSetting() { o.additionalKeyValues = 'foo'; o.includeClickThroughUrls = true; o.includeClickTracking = true; + o.includeUnescapedlpurlMacro = true; o.keywordOption = 'foo'; } buildCounterTagSetting--; @@ -11464,6 +11465,7 @@ void checkTagSetting(api.TagSetting o) { ); unittest.expect(o.includeClickThroughUrls!, unittest.isTrue); unittest.expect(o.includeClickTracking!, unittest.isTrue); + unittest.expect(o.includeUnescapedlpurlMacro!, unittest.isTrue); unittest.expect( o.keywordOption!, unittest.equals('foo'), diff --git a/generated/googleapis/test/dialogflow/v2_test.dart b/generated/googleapis/test/dialogflow/v2_test.dart index ca7b9bda4..055fea3e0 100644 --- a/generated/googleapis/test/dialogflow/v2_test.dart +++ b/generated/googleapis/test/dialogflow/v2_test.dart @@ -389,6 +389,7 @@ api.GoogleCloudDialogflowV2AnalyzeContentRequest buildCounterGoogleCloudDialogflowV2AnalyzeContentRequest++; if (buildCounterGoogleCloudDialogflowV2AnalyzeContentRequest < 3) { o.assistQueryParams = buildGoogleCloudDialogflowV2AssistQueryParameters(); + o.audioInput = buildGoogleCloudDialogflowV2AudioInput(); o.cxParameters = buildUnnamed4(); o.eventInput = buildGoogleCloudDialogflowV2EventInput(); o.queryParams = buildGoogleCloudDialogflowV2QueryParameters(); @@ -406,6 +407,7 @@ void checkGoogleCloudDialogflowV2AnalyzeContentRequest( buildCounterGoogleCloudDialogflowV2AnalyzeContentRequest++; if (buildCounterGoogleCloudDialogflowV2AnalyzeContentRequest < 3) { checkGoogleCloudDialogflowV2AssistQueryParameters(o.assistQueryParams!); + checkGoogleCloudDialogflowV2AudioInput(o.audioInput!); checkUnnamed4(o.cxParameters!); checkGoogleCloudDialogflowV2EventInput(o.eventInput!); checkGoogleCloudDialogflowV2QueryParameters(o.queryParams!); @@ -735,6 +737,31 @@ void checkGoogleCloudDialogflowV2AssistQueryParameters( buildCounterGoogleCloudDialogflowV2AssistQueryParameters--; } +core.int buildCounterGoogleCloudDialogflowV2AudioInput = 0; +api.GoogleCloudDialogflowV2AudioInput buildGoogleCloudDialogflowV2AudioInput() { + final o = api.GoogleCloudDialogflowV2AudioInput(); + buildCounterGoogleCloudDialogflowV2AudioInput++; + if (buildCounterGoogleCloudDialogflowV2AudioInput < 3) { + o.audio = 'foo'; + o.config = buildGoogleCloudDialogflowV2InputAudioConfig(); + } + buildCounterGoogleCloudDialogflowV2AudioInput--; + return o; +} + +void checkGoogleCloudDialogflowV2AudioInput( + api.GoogleCloudDialogflowV2AudioInput o) { + buildCounterGoogleCloudDialogflowV2AudioInput++; + if (buildCounterGoogleCloudDialogflowV2AudioInput < 3) { + unittest.expect( + o.audio!, + unittest.equals('foo'), + ); + checkGoogleCloudDialogflowV2InputAudioConfig(o.config!); + } + buildCounterGoogleCloudDialogflowV2AudioInput--; +} + core.int buildCounterGoogleCloudDialogflowV2AutomatedAgentConfig = 0; api.GoogleCloudDialogflowV2AutomatedAgentConfig buildGoogleCloudDialogflowV2AutomatedAgentConfig() { @@ -1189,6 +1216,21 @@ void checkGoogleCloudDialogflowV2Context(api.GoogleCloudDialogflowV2Context o) { buildCounterGoogleCloudDialogflowV2Context--; } +core.Map + buildUnnamed16() => { + 'x': buildGoogleCloudDialogflowV2ConversationContextReference(), + 'y': buildGoogleCloudDialogflowV2ConversationContextReference(), + }; + +void checkUnnamed16( + core.Map + o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudDialogflowV2ConversationContextReference(o['x']!); + checkGoogleCloudDialogflowV2ConversationContextReference(o['y']!); +} + core.int buildCounterGoogleCloudDialogflowV2Conversation = 0; api.GoogleCloudDialogflowV2Conversation buildGoogleCloudDialogflowV2Conversation() { @@ -1198,10 +1240,13 @@ api.GoogleCloudDialogflowV2Conversation o.conversationProfile = 'foo'; o.conversationStage = 'foo'; o.endTime = 'foo'; + o.ingestedContextReferences = buildUnnamed16(); o.lifecycleState = 'foo'; o.name = 'foo'; o.phoneNumber = buildGoogleCloudDialogflowV2ConversationPhoneNumber(); o.startTime = 'foo'; + o.telephonyConnectionInfo = + buildGoogleCloudDialogflowV2ConversationTelephonyConnectionInfo(); } buildCounterGoogleCloudDialogflowV2Conversation--; return o; @@ -1223,6 +1268,7 @@ void checkGoogleCloudDialogflowV2Conversation( o.endTime!, unittest.equals('foo'), ); + checkUnnamed16(o.ingestedContextReferences!); unittest.expect( o.lifecycleState!, unittest.equals('foo'), @@ -1236,16 +1282,18 @@ void checkGoogleCloudDialogflowV2Conversation( o.startTime!, unittest.equals('foo'), ); + checkGoogleCloudDialogflowV2ConversationTelephonyConnectionInfo( + o.telephonyConnectionInfo!); } buildCounterGoogleCloudDialogflowV2Conversation--; } -core.List buildUnnamed16() => [ +core.List buildUnnamed17() => [ buildGoogleCloudDialogflowV2MessageEntry(), buildGoogleCloudDialogflowV2MessageEntry(), ]; -void checkUnnamed16(core.List o) { +void checkUnnamed17(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2MessageEntry(o[0]); checkGoogleCloudDialogflowV2MessageEntry(o[1]); @@ -1257,7 +1305,7 @@ api.GoogleCloudDialogflowV2ConversationContext final o = api.GoogleCloudDialogflowV2ConversationContext(); buildCounterGoogleCloudDialogflowV2ConversationContext++; if (buildCounterGoogleCloudDialogflowV2ConversationContext < 3) { - o.messageEntries = buildUnnamed16(); + o.messageEntries = buildUnnamed17(); } buildCounterGoogleCloudDialogflowV2ConversationContext--; return o; @@ -1267,11 +1315,102 @@ void checkGoogleCloudDialogflowV2ConversationContext( api.GoogleCloudDialogflowV2ConversationContext o) { buildCounterGoogleCloudDialogflowV2ConversationContext++; if (buildCounterGoogleCloudDialogflowV2ConversationContext < 3) { - checkUnnamed16(o.messageEntries!); + checkUnnamed17(o.messageEntries!); } buildCounterGoogleCloudDialogflowV2ConversationContext--; } +core.List + buildUnnamed18() => [ + buildGoogleCloudDialogflowV2ConversationContextReferenceContextContent(), + buildGoogleCloudDialogflowV2ConversationContextReferenceContextContent(), + ]; + +void checkUnnamed18( + core.List< + api + .GoogleCloudDialogflowV2ConversationContextReferenceContextContent> + o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudDialogflowV2ConversationContextReferenceContextContent(o[0]); + checkGoogleCloudDialogflowV2ConversationContextReferenceContextContent(o[1]); +} + +core.int buildCounterGoogleCloudDialogflowV2ConversationContextReference = 0; +api.GoogleCloudDialogflowV2ConversationContextReference + buildGoogleCloudDialogflowV2ConversationContextReference() { + final o = api.GoogleCloudDialogflowV2ConversationContextReference(); + buildCounterGoogleCloudDialogflowV2ConversationContextReference++; + if (buildCounterGoogleCloudDialogflowV2ConversationContextReference < 3) { + o.contextContents = buildUnnamed18(); + o.createTime = 'foo'; + o.languageCode = 'foo'; + o.updateMode = 'foo'; + } + buildCounterGoogleCloudDialogflowV2ConversationContextReference--; + return o; +} + +void checkGoogleCloudDialogflowV2ConversationContextReference( + api.GoogleCloudDialogflowV2ConversationContextReference o) { + buildCounterGoogleCloudDialogflowV2ConversationContextReference++; + if (buildCounterGoogleCloudDialogflowV2ConversationContextReference < 3) { + checkUnnamed18(o.contextContents!); + unittest.expect( + o.createTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.languageCode!, + unittest.equals('foo'), + ); + unittest.expect( + o.updateMode!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudDialogflowV2ConversationContextReference--; +} + +core.int + buildCounterGoogleCloudDialogflowV2ConversationContextReferenceContextContent = + 0; +api.GoogleCloudDialogflowV2ConversationContextReferenceContextContent + buildGoogleCloudDialogflowV2ConversationContextReferenceContextContent() { + final o = + api.GoogleCloudDialogflowV2ConversationContextReferenceContextContent(); + buildCounterGoogleCloudDialogflowV2ConversationContextReferenceContextContent++; + if (buildCounterGoogleCloudDialogflowV2ConversationContextReferenceContextContent < + 3) { + o.content = 'foo'; + o.contentFormat = 'foo'; + o.ingestionTime = 'foo'; + } + buildCounterGoogleCloudDialogflowV2ConversationContextReferenceContextContent--; + return o; +} + +void checkGoogleCloudDialogflowV2ConversationContextReferenceContextContent( + api.GoogleCloudDialogflowV2ConversationContextReferenceContextContent o) { + buildCounterGoogleCloudDialogflowV2ConversationContextReferenceContextContent++; + if (buildCounterGoogleCloudDialogflowV2ConversationContextReferenceContextContent < + 3) { + unittest.expect( + o.content!, + unittest.equals('foo'), + ); + unittest.expect( + o.contentFormat!, + unittest.equals('foo'), + ); + unittest.expect( + o.ingestionTime!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudDialogflowV2ConversationContextReferenceContextContent--; +} + core.int buildCounterGoogleCloudDialogflowV2ConversationDataset = 0; api.GoogleCloudDialogflowV2ConversationDataset buildGoogleCloudDialogflowV2ConversationDataset() { @@ -1348,12 +1487,12 @@ void checkGoogleCloudDialogflowV2ConversationInfo( buildCounterGoogleCloudDialogflowV2ConversationInfo--; } -core.List buildUnnamed17() => [ +core.List buildUnnamed19() => [ buildGoogleCloudDialogflowV2InputDataset(), buildGoogleCloudDialogflowV2InputDataset(), ]; -void checkUnnamed17(core.List o) { +void checkUnnamed19(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2InputDataset(o[0]); checkGoogleCloudDialogflowV2InputDataset(o[1]); @@ -1368,7 +1507,7 @@ api.GoogleCloudDialogflowV2ConversationModel o.articleSuggestionModelMetadata = buildGoogleCloudDialogflowV2ArticleSuggestionModelMetadata(); o.createTime = 'foo'; - o.datasets = buildUnnamed17(); + o.datasets = buildUnnamed19(); o.displayName = 'foo'; o.languageCode = 'foo'; o.name = 'foo'; @@ -1392,7 +1531,7 @@ void checkGoogleCloudDialogflowV2ConversationModel( o.createTime!, unittest.equals('foo'), ); - checkUnnamed17(o.datasets!); + checkUnnamed19(o.datasets!); unittest.expect( o.displayName!, unittest.equals('foo'), @@ -1466,6 +1605,7 @@ api.GoogleCloudDialogflowV2ConversationPhoneNumber final o = api.GoogleCloudDialogflowV2ConversationPhoneNumber(); buildCounterGoogleCloudDialogflowV2ConversationPhoneNumber++; if (buildCounterGoogleCloudDialogflowV2ConversationPhoneNumber < 3) { + o.countryCode = 42; o.phoneNumber = 'foo'; } buildCounterGoogleCloudDialogflowV2ConversationPhoneNumber--; @@ -1476,6 +1616,10 @@ void checkGoogleCloudDialogflowV2ConversationPhoneNumber( api.GoogleCloudDialogflowV2ConversationPhoneNumber o) { buildCounterGoogleCloudDialogflowV2ConversationPhoneNumber++; if (buildCounterGoogleCloudDialogflowV2ConversationPhoneNumber < 3) { + unittest.expect( + o.countryCode!, + unittest.equals(42), + ); unittest.expect( o.phoneNumber!, unittest.equals('foo'), @@ -1564,6 +1708,150 @@ void checkGoogleCloudDialogflowV2ConversationProfile( buildCounterGoogleCloudDialogflowV2ConversationProfile--; } +core.List< + api + .GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent> + buildUnnamed20() => [ + buildGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent(), + buildGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent(), + ]; + +void checkUnnamed20( + core.List< + api + .GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent> + o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent( + o[0]); + checkGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent( + o[1]); +} + +core.List< + api.GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader> + buildUnnamed21() => [ + buildGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader(), + buildGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader(), + ]; + +void checkUnnamed21( + core.List< + api + .GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader> + o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader( + o[0]); + checkGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader( + o[1]); +} + +core.int + buildCounterGoogleCloudDialogflowV2ConversationTelephonyConnectionInfo = 0; +api.GoogleCloudDialogflowV2ConversationTelephonyConnectionInfo + buildGoogleCloudDialogflowV2ConversationTelephonyConnectionInfo() { + final o = api.GoogleCloudDialogflowV2ConversationTelephonyConnectionInfo(); + buildCounterGoogleCloudDialogflowV2ConversationTelephonyConnectionInfo++; + if (buildCounterGoogleCloudDialogflowV2ConversationTelephonyConnectionInfo < + 3) { + o.dialedNumber = 'foo'; + o.extraMimeContents = buildUnnamed20(); + o.sdp = 'foo'; + o.sipHeaders = buildUnnamed21(); + } + buildCounterGoogleCloudDialogflowV2ConversationTelephonyConnectionInfo--; + return o; +} + +void checkGoogleCloudDialogflowV2ConversationTelephonyConnectionInfo( + api.GoogleCloudDialogflowV2ConversationTelephonyConnectionInfo o) { + buildCounterGoogleCloudDialogflowV2ConversationTelephonyConnectionInfo++; + if (buildCounterGoogleCloudDialogflowV2ConversationTelephonyConnectionInfo < + 3) { + unittest.expect( + o.dialedNumber!, + unittest.equals('foo'), + ); + checkUnnamed20(o.extraMimeContents!); + unittest.expect( + o.sdp!, + unittest.equals('foo'), + ); + checkUnnamed21(o.sipHeaders!); + } + buildCounterGoogleCloudDialogflowV2ConversationTelephonyConnectionInfo--; +} + +core.int + buildCounterGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent = + 0; +api.GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent + buildGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent() { + final o = api + .GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent(); + buildCounterGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent++; + if (buildCounterGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent < + 3) { + o.content = 'foo'; + o.mimeType = 'foo'; + } + buildCounterGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent--; + return o; +} + +void checkGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent( + api.GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent + o) { + buildCounterGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent++; + if (buildCounterGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent < + 3) { + unittest.expect( + o.content!, + unittest.equals('foo'), + ); + unittest.expect( + o.mimeType!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent--; +} + +core.int + buildCounterGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader = + 0; +api.GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader + buildGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader() { + final o = + api.GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader(); + buildCounterGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader++; + if (buildCounterGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader < + 3) { + o.name = 'foo'; + o.value = 'foo'; + } + buildCounterGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader--; + return o; +} + +void checkGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader( + api.GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader o) { + buildCounterGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader++; + if (buildCounterGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader < + 3) { + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.value!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader--; +} + core.int buildCounterGoogleCloudDialogflowV2CreateConversationModelEvaluationRequest = 0; @@ -1707,12 +1995,12 @@ void checkGoogleCloudDialogflowV2DialogflowAssistAnswer( buildCounterGoogleCloudDialogflowV2DialogflowAssistAnswer--; } -core.List buildUnnamed18() => [ +core.List buildUnnamed22() => [ 'foo', 'foo', ]; -void checkUnnamed18(core.List o) { +void checkUnnamed22(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1724,12 +2012,12 @@ void checkUnnamed18(core.List o) { ); } -core.Map buildUnnamed19() => { +core.Map buildUnnamed23() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed19(core.Map o) { +void checkUnnamed23(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1749,9 +2037,9 @@ api.GoogleCloudDialogflowV2Document buildGoogleCloudDialogflowV2Document() { o.contentUri = 'foo'; o.displayName = 'foo'; o.enableAutoReload = true; - o.knowledgeTypes = buildUnnamed18(); + o.knowledgeTypes = buildUnnamed22(); o.latestReloadStatus = buildGoogleCloudDialogflowV2DocumentReloadStatus(); - o.metadata = buildUnnamed19(); + o.metadata = buildUnnamed23(); o.mimeType = 'foo'; o.name = 'foo'; o.rawContent = 'foo'; @@ -1774,9 +2062,9 @@ void checkGoogleCloudDialogflowV2Document( unittest.equals('foo'), ); unittest.expect(o.enableAutoReload!, unittest.isTrue); - checkUnnamed18(o.knowledgeTypes!); + checkUnnamed22(o.knowledgeTypes!); checkGoogleCloudDialogflowV2DocumentReloadStatus(o.latestReloadStatus!); - checkUnnamed19(o.metadata!); + checkUnnamed23(o.metadata!); unittest.expect( o.mimeType!, unittest.equals('foo'), @@ -1873,12 +2161,12 @@ void checkGoogleCloudDialogflowV2EncryptionSpec( buildCounterGoogleCloudDialogflowV2EncryptionSpec--; } -core.List buildUnnamed20() => [ +core.List buildUnnamed24() => [ buildGoogleCloudDialogflowV2EntityTypeEntity(), buildGoogleCloudDialogflowV2EntityTypeEntity(), ]; -void checkUnnamed20(core.List o) { +void checkUnnamed24(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2EntityTypeEntity(o[0]); checkGoogleCloudDialogflowV2EntityTypeEntity(o[1]); @@ -1892,7 +2180,7 @@ api.GoogleCloudDialogflowV2EntityType buildGoogleCloudDialogflowV2EntityType() { o.autoExpansionMode = 'foo'; o.displayName = 'foo'; o.enableFuzzyExtraction = true; - o.entities = buildUnnamed20(); + o.entities = buildUnnamed24(); o.kind = 'foo'; o.name = 'foo'; } @@ -1913,7 +2201,7 @@ void checkGoogleCloudDialogflowV2EntityType( unittest.equals('foo'), ); unittest.expect(o.enableFuzzyExtraction!, unittest.isTrue); - checkUnnamed20(o.entities!); + checkUnnamed24(o.entities!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -1926,12 +2214,12 @@ void checkGoogleCloudDialogflowV2EntityType( buildCounterGoogleCloudDialogflowV2EntityType--; } -core.List buildUnnamed21() => [ +core.List buildUnnamed25() => [ buildGoogleCloudDialogflowV2EntityType(), buildGoogleCloudDialogflowV2EntityType(), ]; -void checkUnnamed21(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2EntityType(o[0]); checkGoogleCloudDialogflowV2EntityType(o[1]); @@ -1943,7 +2231,7 @@ api.GoogleCloudDialogflowV2EntityTypeBatch final o = api.GoogleCloudDialogflowV2EntityTypeBatch(); buildCounterGoogleCloudDialogflowV2EntityTypeBatch++; if (buildCounterGoogleCloudDialogflowV2EntityTypeBatch < 3) { - o.entityTypes = buildUnnamed21(); + o.entityTypes = buildUnnamed25(); } buildCounterGoogleCloudDialogflowV2EntityTypeBatch--; return o; @@ -1953,17 +2241,17 @@ void checkGoogleCloudDialogflowV2EntityTypeBatch( api.GoogleCloudDialogflowV2EntityTypeBatch o) { buildCounterGoogleCloudDialogflowV2EntityTypeBatch++; if (buildCounterGoogleCloudDialogflowV2EntityTypeBatch < 3) { - checkUnnamed21(o.entityTypes!); + checkUnnamed25(o.entityTypes!); } buildCounterGoogleCloudDialogflowV2EntityTypeBatch--; } -core.List buildUnnamed22() => [ +core.List buildUnnamed26() => [ 'foo', 'foo', ]; -void checkUnnamed22(core.List o) { +void checkUnnamed26(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1981,7 +2269,7 @@ api.GoogleCloudDialogflowV2EntityTypeEntity final o = api.GoogleCloudDialogflowV2EntityTypeEntity(); buildCounterGoogleCloudDialogflowV2EntityTypeEntity++; if (buildCounterGoogleCloudDialogflowV2EntityTypeEntity < 3) { - o.synonyms = buildUnnamed22(); + o.synonyms = buildUnnamed26(); o.value = 'foo'; } buildCounterGoogleCloudDialogflowV2EntityTypeEntity--; @@ -1992,7 +2280,7 @@ void checkGoogleCloudDialogflowV2EntityTypeEntity( api.GoogleCloudDialogflowV2EntityTypeEntity o) { buildCounterGoogleCloudDialogflowV2EntityTypeEntity++; if (buildCounterGoogleCloudDialogflowV2EntityTypeEntity < 3) { - checkUnnamed22(o.synonyms!); + checkUnnamed26(o.synonyms!); unittest.expect( o.value!, unittest.equals('foo'), @@ -2050,12 +2338,12 @@ void checkGoogleCloudDialogflowV2Environment( } core.List - buildUnnamed23() => [ + buildUnnamed27() => [ buildGoogleCloudDialogflowV2EnvironmentHistoryEntry(), buildGoogleCloudDialogflowV2EnvironmentHistoryEntry(), ]; -void checkUnnamed23( +void checkUnnamed27( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2EnvironmentHistoryEntry(o[0]); @@ -2068,7 +2356,7 @@ api.GoogleCloudDialogflowV2EnvironmentHistory final o = api.GoogleCloudDialogflowV2EnvironmentHistory(); buildCounterGoogleCloudDialogflowV2EnvironmentHistory++; if (buildCounterGoogleCloudDialogflowV2EnvironmentHistory < 3) { - o.entries = buildUnnamed23(); + o.entries = buildUnnamed27(); o.nextPageToken = 'foo'; o.parent = 'foo'; } @@ -2080,7 +2368,7 @@ void checkGoogleCloudDialogflowV2EnvironmentHistory( api.GoogleCloudDialogflowV2EnvironmentHistory o) { buildCounterGoogleCloudDialogflowV2EnvironmentHistory++; if (buildCounterGoogleCloudDialogflowV2EnvironmentHistory < 3) { - checkUnnamed23(o.entries!); + checkUnnamed27(o.entries!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2127,12 +2415,12 @@ void checkGoogleCloudDialogflowV2EnvironmentHistoryEntry( buildCounterGoogleCloudDialogflowV2EnvironmentHistoryEntry--; } -core.List buildUnnamed24() => [ +core.List buildUnnamed28() => [ buildGoogleCloudDialogflowV2InputDataset(), buildGoogleCloudDialogflowV2InputDataset(), ]; -void checkUnnamed24(core.List o) { +void checkUnnamed28(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2InputDataset(o[0]); checkGoogleCloudDialogflowV2InputDataset(o[1]); @@ -2144,7 +2432,7 @@ api.GoogleCloudDialogflowV2EvaluationConfig final o = api.GoogleCloudDialogflowV2EvaluationConfig(); buildCounterGoogleCloudDialogflowV2EvaluationConfig++; if (buildCounterGoogleCloudDialogflowV2EvaluationConfig < 3) { - o.datasets = buildUnnamed24(); + o.datasets = buildUnnamed28(); o.smartComposeConfig = buildGoogleCloudDialogflowV2EvaluationConfigSmartComposeConfig(); o.smartReplyConfig = @@ -2158,7 +2446,7 @@ void checkGoogleCloudDialogflowV2EvaluationConfig( api.GoogleCloudDialogflowV2EvaluationConfig o) { buildCounterGoogleCloudDialogflowV2EvaluationConfig++; if (buildCounterGoogleCloudDialogflowV2EvaluationConfig < 3) { - checkUnnamed24(o.datasets!); + checkUnnamed28(o.datasets!); checkGoogleCloudDialogflowV2EvaluationConfigSmartComposeConfig( o.smartComposeConfig!); checkGoogleCloudDialogflowV2EvaluationConfigSmartReplyConfig( @@ -2229,7 +2517,7 @@ void checkGoogleCloudDialogflowV2EvaluationConfigSmartReplyConfig( buildCounterGoogleCloudDialogflowV2EvaluationConfigSmartReplyConfig--; } -core.Map buildUnnamed25() => { +core.Map buildUnnamed29() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2242,7 +2530,7 @@ core.Map buildUnnamed25() => { }, }; -void checkUnnamed25(core.Map o) { +void checkUnnamed29(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted6 = (o['x']!) as core.Map; unittest.expect(casted6, unittest.hasLength(3)); @@ -2281,7 +2569,7 @@ api.GoogleCloudDialogflowV2EventInput buildGoogleCloudDialogflowV2EventInput() { if (buildCounterGoogleCloudDialogflowV2EventInput < 3) { o.languageCode = 'foo'; o.name = 'foo'; - o.parameters = buildUnnamed25(); + o.parameters = buildUnnamed29(); } buildCounterGoogleCloudDialogflowV2EventInput--; return o; @@ -2299,7 +2587,7 @@ void checkGoogleCloudDialogflowV2EventInput( o.name!, unittest.equals('foo'), ); - checkUnnamed25(o.parameters!); + checkUnnamed29(o.parameters!); } buildCounterGoogleCloudDialogflowV2EventInput--; } @@ -2353,12 +2641,12 @@ void checkGoogleCloudDialogflowV2ExportDocumentRequest( buildCounterGoogleCloudDialogflowV2ExportDocumentRequest--; } -core.Map buildUnnamed26() => { +core.Map buildUnnamed30() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed26(core.Map o) { +void checkUnnamed30(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2378,7 +2666,7 @@ api.GoogleCloudDialogflowV2FaqAnswer buildGoogleCloudDialogflowV2FaqAnswer() { o.answer = 'foo'; o.answerRecord = 'foo'; o.confidence = 42.0; - o.metadata = buildUnnamed26(); + o.metadata = buildUnnamed30(); o.question = 'foo'; o.source = 'foo'; } @@ -2402,7 +2690,7 @@ void checkGoogleCloudDialogflowV2FaqAnswer( o.confidence!, unittest.equals(42.0), ); - checkUnnamed26(o.metadata!); + checkUnnamed30(o.metadata!); unittest.expect( o.question!, unittest.equals('foo'), @@ -2415,12 +2703,12 @@ void checkGoogleCloudDialogflowV2FaqAnswer( buildCounterGoogleCloudDialogflowV2FaqAnswer--; } -core.Map buildUnnamed27() => { +core.Map buildUnnamed31() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed27(core.Map o) { +void checkUnnamed31(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2439,7 +2727,7 @@ api.GoogleCloudDialogflowV2FewShotExample buildCounterGoogleCloudDialogflowV2FewShotExample++; if (buildCounterGoogleCloudDialogflowV2FewShotExample < 3) { o.conversationContext = buildGoogleCloudDialogflowV2ConversationContext(); - o.extraInfo = buildUnnamed27(); + o.extraInfo = buildUnnamed31(); o.output = buildGoogleCloudDialogflowV2GeneratorSuggestion(); o.summarizationSectionList = buildGoogleCloudDialogflowV2SummarizationSectionList(); @@ -2453,7 +2741,7 @@ void checkGoogleCloudDialogflowV2FewShotExample( buildCounterGoogleCloudDialogflowV2FewShotExample++; if (buildCounterGoogleCloudDialogflowV2FewShotExample < 3) { checkGoogleCloudDialogflowV2ConversationContext(o.conversationContext!); - checkUnnamed27(o.extraInfo!); + checkUnnamed31(o.extraInfo!); checkGoogleCloudDialogflowV2GeneratorSuggestion(o.output!); checkGoogleCloudDialogflowV2SummarizationSectionList( o.summarizationSectionList!); @@ -2461,12 +2749,60 @@ void checkGoogleCloudDialogflowV2FewShotExample( buildCounterGoogleCloudDialogflowV2FewShotExample--; } -core.List buildUnnamed28() => [ +core.int buildCounterGoogleCloudDialogflowV2FreeFormContext = 0; +api.GoogleCloudDialogflowV2FreeFormContext + buildGoogleCloudDialogflowV2FreeFormContext() { + final o = api.GoogleCloudDialogflowV2FreeFormContext(); + buildCounterGoogleCloudDialogflowV2FreeFormContext++; + if (buildCounterGoogleCloudDialogflowV2FreeFormContext < 3) { + o.text = 'foo'; + } + buildCounterGoogleCloudDialogflowV2FreeFormContext--; + return o; +} + +void checkGoogleCloudDialogflowV2FreeFormContext( + api.GoogleCloudDialogflowV2FreeFormContext o) { + buildCounterGoogleCloudDialogflowV2FreeFormContext++; + if (buildCounterGoogleCloudDialogflowV2FreeFormContext < 3) { + unittest.expect( + o.text!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudDialogflowV2FreeFormContext--; +} + +core.int buildCounterGoogleCloudDialogflowV2FreeFormSuggestion = 0; +api.GoogleCloudDialogflowV2FreeFormSuggestion + buildGoogleCloudDialogflowV2FreeFormSuggestion() { + final o = api.GoogleCloudDialogflowV2FreeFormSuggestion(); + buildCounterGoogleCloudDialogflowV2FreeFormSuggestion++; + if (buildCounterGoogleCloudDialogflowV2FreeFormSuggestion < 3) { + o.response = 'foo'; + } + buildCounterGoogleCloudDialogflowV2FreeFormSuggestion--; + return o; +} + +void checkGoogleCloudDialogflowV2FreeFormSuggestion( + api.GoogleCloudDialogflowV2FreeFormSuggestion o) { + buildCounterGoogleCloudDialogflowV2FreeFormSuggestion++; + if (buildCounterGoogleCloudDialogflowV2FreeFormSuggestion < 3) { + unittest.expect( + o.response!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudDialogflowV2FreeFormSuggestion--; +} + +core.List buildUnnamed32() => [ buildGoogleCloudDialogflowV2FulfillmentFeature(), buildGoogleCloudDialogflowV2FulfillmentFeature(), ]; -void checkUnnamed28( +void checkUnnamed32( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2FulfillmentFeature(o[0]); @@ -2481,7 +2817,7 @@ api.GoogleCloudDialogflowV2Fulfillment if (buildCounterGoogleCloudDialogflowV2Fulfillment < 3) { o.displayName = 'foo'; o.enabled = true; - o.features = buildUnnamed28(); + o.features = buildUnnamed32(); o.genericWebService = buildGoogleCloudDialogflowV2FulfillmentGenericWebService(); o.name = 'foo'; @@ -2499,7 +2835,7 @@ void checkGoogleCloudDialogflowV2Fulfillment( unittest.equals('foo'), ); unittest.expect(o.enabled!, unittest.isTrue); - checkUnnamed28(o.features!); + checkUnnamed32(o.features!); checkGoogleCloudDialogflowV2FulfillmentGenericWebService( o.genericWebService!); unittest.expect( @@ -2534,12 +2870,12 @@ void checkGoogleCloudDialogflowV2FulfillmentFeature( buildCounterGoogleCloudDialogflowV2FulfillmentFeature--; } -core.Map buildUnnamed29() => { +core.Map buildUnnamed33() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed29(core.Map o) { +void checkUnnamed33(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2559,7 +2895,7 @@ api.GoogleCloudDialogflowV2FulfillmentGenericWebService if (buildCounterGoogleCloudDialogflowV2FulfillmentGenericWebService < 3) { o.isCloudFunction = true; o.password = 'foo'; - o.requestHeaders = buildUnnamed29(); + o.requestHeaders = buildUnnamed33(); o.uri = 'foo'; o.username = 'foo'; } @@ -2576,7 +2912,7 @@ void checkGoogleCloudDialogflowV2FulfillmentGenericWebService( o.password!, unittest.equals('foo'), ); - checkUnnamed29(o.requestHeaders!); + checkUnnamed33(o.requestHeaders!); unittest.expect( o.uri!, unittest.equals('foo'), @@ -2613,12 +2949,12 @@ void checkGoogleCloudDialogflowV2GcsDestination( buildCounterGoogleCloudDialogflowV2GcsDestination--; } -core.List buildUnnamed30() => [ +core.List buildUnnamed34() => [ 'foo', 'foo', ]; -void checkUnnamed30(core.List o) { +void checkUnnamed34(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2635,7 +2971,7 @@ api.GoogleCloudDialogflowV2GcsSources buildGoogleCloudDialogflowV2GcsSources() { final o = api.GoogleCloudDialogflowV2GcsSources(); buildCounterGoogleCloudDialogflowV2GcsSources++; if (buildCounterGoogleCloudDialogflowV2GcsSources < 3) { - o.uris = buildUnnamed30(); + o.uris = buildUnnamed34(); } buildCounterGoogleCloudDialogflowV2GcsSources--; return o; @@ -2645,17 +2981,32 @@ void checkGoogleCloudDialogflowV2GcsSources( api.GoogleCloudDialogflowV2GcsSources o) { buildCounterGoogleCloudDialogflowV2GcsSources++; if (buildCounterGoogleCloudDialogflowV2GcsSources < 3) { - checkUnnamed30(o.uris!); + checkUnnamed34(o.uris!); } buildCounterGoogleCloudDialogflowV2GcsSources--; } -core.List buildUnnamed31() => [ +core.Map + buildUnnamed35() => { + 'x': buildGoogleCloudDialogflowV2ConversationContextReference(), + 'y': buildGoogleCloudDialogflowV2ConversationContextReference(), + }; + +void checkUnnamed35( + core.Map + o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudDialogflowV2ConversationContextReference(o['x']!); + checkGoogleCloudDialogflowV2ConversationContextReference(o['y']!); +} + +core.List buildUnnamed36() => [ 'foo', 'foo', ]; -void checkUnnamed31(core.List o) { +void checkUnnamed36(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2675,10 +3026,11 @@ api.GoogleCloudDialogflowV2GenerateStatelessSuggestionRequest buildCounterGoogleCloudDialogflowV2GenerateStatelessSuggestionRequest++; if (buildCounterGoogleCloudDialogflowV2GenerateStatelessSuggestionRequest < 3) { + o.contextReferences = buildUnnamed35(); o.conversationContext = buildGoogleCloudDialogflowV2ConversationContext(); o.generator = buildGoogleCloudDialogflowV2Generator(); o.generatorName = 'foo'; - o.triggerEvents = buildUnnamed31(); + o.triggerEvents = buildUnnamed36(); } buildCounterGoogleCloudDialogflowV2GenerateStatelessSuggestionRequest--; return o; @@ -2689,13 +3041,14 @@ void checkGoogleCloudDialogflowV2GenerateStatelessSuggestionRequest( buildCounterGoogleCloudDialogflowV2GenerateStatelessSuggestionRequest++; if (buildCounterGoogleCloudDialogflowV2GenerateStatelessSuggestionRequest < 3) { + checkUnnamed35(o.contextReferences!); checkGoogleCloudDialogflowV2ConversationContext(o.conversationContext!); checkGoogleCloudDialogflowV2Generator(o.generator!); unittest.expect( o.generatorName!, unittest.equals('foo'), ); - checkUnnamed31(o.triggerEvents!); + checkUnnamed36(o.triggerEvents!); } buildCounterGoogleCloudDialogflowV2GenerateStatelessSuggestionRequest--; } @@ -2759,12 +3112,12 @@ void checkGoogleCloudDialogflowV2GenerateStatelessSummaryRequest( buildCounterGoogleCloudDialogflowV2GenerateStatelessSummaryRequest--; } -core.List buildUnnamed32() => [ +core.List buildUnnamed37() => [ buildGoogleCloudDialogflowV2Message(), buildGoogleCloudDialogflowV2Message(), ]; -void checkUnnamed32(core.List o) { +void checkUnnamed37(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2Message(o[0]); checkGoogleCloudDialogflowV2Message(o[1]); @@ -2780,7 +3133,7 @@ api.GoogleCloudDialogflowV2GenerateStatelessSummaryRequestMinimalConversation buildCounterGoogleCloudDialogflowV2GenerateStatelessSummaryRequestMinimalConversation++; if (buildCounterGoogleCloudDialogflowV2GenerateStatelessSummaryRequestMinimalConversation < 3) { - o.messages = buildUnnamed32(); + o.messages = buildUnnamed37(); } buildCounterGoogleCloudDialogflowV2GenerateStatelessSummaryRequestMinimalConversation--; return o; @@ -2792,7 +3145,7 @@ void checkGoogleCloudDialogflowV2GenerateStatelessSummaryRequestMinimalConversat buildCounterGoogleCloudDialogflowV2GenerateStatelessSummaryRequestMinimalConversation++; if (buildCounterGoogleCloudDialogflowV2GenerateStatelessSummaryRequestMinimalConversation < 3) { - checkUnnamed32(o.messages!); + checkUnnamed37(o.messages!); } buildCounterGoogleCloudDialogflowV2GenerateStatelessSummaryRequestMinimalConversation--; } @@ -2831,12 +3184,12 @@ void checkGoogleCloudDialogflowV2GenerateStatelessSummaryResponse( buildCounterGoogleCloudDialogflowV2GenerateStatelessSummaryResponse--; } -core.Map buildUnnamed33() => { +core.Map buildUnnamed38() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed33(core.Map o) { +void checkUnnamed38(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2860,7 +3213,7 @@ api.GoogleCloudDialogflowV2GenerateStatelessSummaryResponseSummary 3) { o.baselineModelVersion = 'foo'; o.text = 'foo'; - o.textSections = buildUnnamed33(); + o.textSections = buildUnnamed38(); } buildCounterGoogleCloudDialogflowV2GenerateStatelessSummaryResponseSummary--; return o; @@ -2879,11 +3232,137 @@ void checkGoogleCloudDialogflowV2GenerateStatelessSummaryResponseSummary( o.text!, unittest.equals('foo'), ); - checkUnnamed33(o.textSections!); + checkUnnamed38(o.textSections!); } buildCounterGoogleCloudDialogflowV2GenerateStatelessSummaryResponseSummary--; } +core.List buildUnnamed39() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed39(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterGoogleCloudDialogflowV2GenerateSuggestionsRequest = 0; +api.GoogleCloudDialogflowV2GenerateSuggestionsRequest + buildGoogleCloudDialogflowV2GenerateSuggestionsRequest() { + final o = api.GoogleCloudDialogflowV2GenerateSuggestionsRequest(); + buildCounterGoogleCloudDialogflowV2GenerateSuggestionsRequest++; + if (buildCounterGoogleCloudDialogflowV2GenerateSuggestionsRequest < 3) { + o.latestMessage = 'foo'; + o.triggerEvents = buildUnnamed39(); + } + buildCounterGoogleCloudDialogflowV2GenerateSuggestionsRequest--; + return o; +} + +void checkGoogleCloudDialogflowV2GenerateSuggestionsRequest( + api.GoogleCloudDialogflowV2GenerateSuggestionsRequest o) { + buildCounterGoogleCloudDialogflowV2GenerateSuggestionsRequest++; + if (buildCounterGoogleCloudDialogflowV2GenerateSuggestionsRequest < 3) { + unittest.expect( + o.latestMessage!, + unittest.equals('foo'), + ); + checkUnnamed39(o.triggerEvents!); + } + buildCounterGoogleCloudDialogflowV2GenerateSuggestionsRequest--; +} + +core.List< + api + .GoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer> + buildUnnamed40() => [ + buildGoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer(), + buildGoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer(), + ]; + +void checkUnnamed40( + core.List< + api + .GoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer> + o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer( + o[0]); + checkGoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer( + o[1]); +} + +core.int buildCounterGoogleCloudDialogflowV2GenerateSuggestionsResponse = 0; +api.GoogleCloudDialogflowV2GenerateSuggestionsResponse + buildGoogleCloudDialogflowV2GenerateSuggestionsResponse() { + final o = api.GoogleCloudDialogflowV2GenerateSuggestionsResponse(); + buildCounterGoogleCloudDialogflowV2GenerateSuggestionsResponse++; + if (buildCounterGoogleCloudDialogflowV2GenerateSuggestionsResponse < 3) { + o.generatorSuggestionAnswers = buildUnnamed40(); + o.latestMessage = 'foo'; + } + buildCounterGoogleCloudDialogflowV2GenerateSuggestionsResponse--; + return o; +} + +void checkGoogleCloudDialogflowV2GenerateSuggestionsResponse( + api.GoogleCloudDialogflowV2GenerateSuggestionsResponse o) { + buildCounterGoogleCloudDialogflowV2GenerateSuggestionsResponse++; + if (buildCounterGoogleCloudDialogflowV2GenerateSuggestionsResponse < 3) { + checkUnnamed40(o.generatorSuggestionAnswers!); + unittest.expect( + o.latestMessage!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudDialogflowV2GenerateSuggestionsResponse--; +} + +core.int + buildCounterGoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer = + 0; +api.GoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer + buildGoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer() { + final o = api + .GoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer(); + buildCounterGoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer++; + if (buildCounterGoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer < + 3) { + o.answerRecord = 'foo'; + o.generatorSuggestion = buildGoogleCloudDialogflowV2GeneratorSuggestion(); + o.sourceGenerator = 'foo'; + } + buildCounterGoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer--; + return o; +} + +void checkGoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer( + api.GoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer + o) { + buildCounterGoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer++; + if (buildCounterGoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer < + 3) { + unittest.expect( + o.answerRecord!, + unittest.equals('foo'), + ); + checkGoogleCloudDialogflowV2GeneratorSuggestion(o.generatorSuggestion!); + unittest.expect( + o.sourceGenerator!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer--; +} + core.int buildCounterGoogleCloudDialogflowV2Generator = 0; api.GoogleCloudDialogflowV2Generator buildGoogleCloudDialogflowV2Generator() { final o = api.GoogleCloudDialogflowV2Generator(); @@ -2891,8 +3370,10 @@ api.GoogleCloudDialogflowV2Generator buildGoogleCloudDialogflowV2Generator() { if (buildCounterGoogleCloudDialogflowV2Generator < 3) { o.createTime = 'foo'; o.description = 'foo'; + o.freeFormContext = buildGoogleCloudDialogflowV2FreeFormContext(); o.inferenceParameter = buildGoogleCloudDialogflowV2InferenceParameter(); o.name = 'foo'; + o.publishedModel = 'foo'; o.summarizationContext = buildGoogleCloudDialogflowV2SummarizationContext(); o.triggerEvent = 'foo'; o.updateTime = 'foo'; @@ -2913,11 +3394,16 @@ void checkGoogleCloudDialogflowV2Generator( o.description!, unittest.equals('foo'), ); + checkGoogleCloudDialogflowV2FreeFormContext(o.freeFormContext!); checkGoogleCloudDialogflowV2InferenceParameter(o.inferenceParameter!); unittest.expect( o.name!, unittest.equals('foo'), ); + unittest.expect( + o.publishedModel!, + unittest.equals('foo'), + ); checkGoogleCloudDialogflowV2SummarizationContext(o.summarizationContext!); unittest.expect( o.triggerEvent!, @@ -2937,6 +3423,7 @@ api.GoogleCloudDialogflowV2GeneratorSuggestion final o = api.GoogleCloudDialogflowV2GeneratorSuggestion(); buildCounterGoogleCloudDialogflowV2GeneratorSuggestion++; if (buildCounterGoogleCloudDialogflowV2GeneratorSuggestion < 3) { + o.freeFormSuggestion = buildGoogleCloudDialogflowV2FreeFormSuggestion(); o.summarySuggestion = buildGoogleCloudDialogflowV2SummarySuggestion(); } buildCounterGoogleCloudDialogflowV2GeneratorSuggestion--; @@ -2947,6 +3434,7 @@ void checkGoogleCloudDialogflowV2GeneratorSuggestion( api.GoogleCloudDialogflowV2GeneratorSuggestion o) { buildCounterGoogleCloudDialogflowV2GeneratorSuggestion++; if (buildCounterGoogleCloudDialogflowV2GeneratorSuggestion < 3) { + checkGoogleCloudDialogflowV2FreeFormSuggestion(o.freeFormSuggestion!); checkGoogleCloudDialogflowV2SummarySuggestion(o.summarySuggestion!); } buildCounterGoogleCloudDialogflowV2GeneratorSuggestion--; @@ -3082,12 +3570,12 @@ void checkGoogleCloudDialogflowV2HumanAgentAssistantConfigMessageAnalysisConfig( core.List< api .GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionFeatureConfig> - buildUnnamed34() => [ + buildUnnamed41() => [ buildGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionFeatureConfig(), buildGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionFeatureConfig(), ]; -void checkUnnamed34( +void checkUnnamed41( core.List< api .GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionFeatureConfig> @@ -3099,12 +3587,12 @@ void checkUnnamed34( o[1]); } -core.List buildUnnamed35() => [ +core.List buildUnnamed42() => [ 'foo', 'foo', ]; -void checkUnnamed35(core.List o) { +void checkUnnamed42(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3127,8 +3615,8 @@ api.GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionConfig if (buildCounterGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionConfig < 3) { o.disableHighLatencyFeaturesSyncDelivery = true; - o.featureConfigs = buildUnnamed34(); - o.generators = buildUnnamed35(); + o.featureConfigs = buildUnnamed41(); + o.generators = buildUnnamed42(); o.groupSuggestionResponses = true; } buildCounterGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionConfig--; @@ -3141,8 +3629,8 @@ void checkGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionConfig( if (buildCounterGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionConfig < 3) { unittest.expect(o.disableHighLatencyFeaturesSyncDelivery!, unittest.isTrue); - checkUnnamed34(o.featureConfigs!); - checkUnnamed35(o.generators!); + checkUnnamed41(o.featureConfigs!); + checkUnnamed42(o.generators!); unittest.expect(o.groupSuggestionResponses!, unittest.isTrue); } buildCounterGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionConfig--; @@ -3356,12 +3844,12 @@ void checkGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigD buildCounterGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigDialogflowQuerySourceHumanAgentSideConfig--; } -core.List buildUnnamed36() => [ +core.List buildUnnamed43() => [ 'foo', 'foo', ]; -void checkUnnamed36(core.List o) { +void checkUnnamed43(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3383,7 +3871,7 @@ api.GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigDocumen buildCounterGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigDocumentQuerySource++; if (buildCounterGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigDocumentQuerySource < 3) { - o.documents = buildUnnamed36(); + o.documents = buildUnnamed43(); } buildCounterGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigDocumentQuerySource--; return o; @@ -3395,17 +3883,17 @@ void checkGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigD buildCounterGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigDocumentQuerySource++; if (buildCounterGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigDocumentQuerySource < 3) { - checkUnnamed36(o.documents!); + checkUnnamed43(o.documents!); } buildCounterGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigDocumentQuerySource--; } -core.List buildUnnamed37() => [ +core.List buildUnnamed44() => [ 'foo', 'foo', ]; -void checkUnnamed37(core.List o) { +void checkUnnamed44(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3427,7 +3915,7 @@ api.GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigKnowled buildCounterGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigKnowledgeBaseQuerySource++; if (buildCounterGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigKnowledgeBaseQuerySource < 3) { - o.knowledgeBases = buildUnnamed37(); + o.knowledgeBases = buildUnnamed44(); } buildCounterGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigKnowledgeBaseQuerySource--; return o; @@ -3439,17 +3927,17 @@ void checkGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigK buildCounterGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigKnowledgeBaseQuerySource++; if (buildCounterGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigKnowledgeBaseQuerySource < 3) { - checkUnnamed37(o.knowledgeBases!); + checkUnnamed44(o.knowledgeBases!); } buildCounterGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigKnowledgeBaseQuerySource--; } -core.List buildUnnamed38() => [ +core.List buildUnnamed45() => [ 'foo', 'foo', ]; -void checkUnnamed38(core.List o) { +void checkUnnamed45(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3471,7 +3959,7 @@ api.GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigSection buildCounterGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigSections++; if (buildCounterGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigSections < 3) { - o.sectionTypes = buildUnnamed38(); + o.sectionTypes = buildUnnamed45(); } buildCounterGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigSections--; return o; @@ -3483,7 +3971,7 @@ void checkGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigS buildCounterGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigSections++; if (buildCounterGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigSections < 3) { - checkUnnamed38(o.sectionTypes!); + checkUnnamed45(o.sectionTypes!); } buildCounterGoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigSections--; } @@ -3668,12 +4156,12 @@ void checkGoogleCloudDialogflowV2ImportConversationDataRequest( buildCounterGoogleCloudDialogflowV2ImportConversationDataRequest--; } -core.List buildUnnamed39() => [ +core.List buildUnnamed46() => [ 'foo', 'foo', ]; -void checkUnnamed39(core.List o) { +void checkUnnamed46(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3685,12 +4173,12 @@ void checkUnnamed39(core.List o) { ); } -core.Map buildUnnamed40() => { +core.Map buildUnnamed47() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed40(core.Map o) { +void checkUnnamed47(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3708,8 +4196,8 @@ api.GoogleCloudDialogflowV2ImportDocumentTemplate final o = api.GoogleCloudDialogflowV2ImportDocumentTemplate(); buildCounterGoogleCloudDialogflowV2ImportDocumentTemplate++; if (buildCounterGoogleCloudDialogflowV2ImportDocumentTemplate < 3) { - o.knowledgeTypes = buildUnnamed39(); - o.metadata = buildUnnamed40(); + o.knowledgeTypes = buildUnnamed46(); + o.metadata = buildUnnamed47(); o.mimeType = 'foo'; } buildCounterGoogleCloudDialogflowV2ImportDocumentTemplate--; @@ -3720,8 +4208,8 @@ void checkGoogleCloudDialogflowV2ImportDocumentTemplate( api.GoogleCloudDialogflowV2ImportDocumentTemplate o) { buildCounterGoogleCloudDialogflowV2ImportDocumentTemplate++; if (buildCounterGoogleCloudDialogflowV2ImportDocumentTemplate < 3) { - checkUnnamed39(o.knowledgeTypes!); - checkUnnamed40(o.metadata!); + checkUnnamed46(o.knowledgeTypes!); + checkUnnamed47(o.metadata!); unittest.expect( o.mimeType!, unittest.equals('foo'), @@ -3794,6 +4282,78 @@ void checkGoogleCloudDialogflowV2InferenceParameter( buildCounterGoogleCloudDialogflowV2InferenceParameter--; } +core.Map + buildUnnamed48() => { + 'x': buildGoogleCloudDialogflowV2ConversationContextReference(), + 'y': buildGoogleCloudDialogflowV2ConversationContextReference(), + }; + +void checkUnnamed48( + core.Map + o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudDialogflowV2ConversationContextReference(o['x']!); + checkGoogleCloudDialogflowV2ConversationContextReference(o['y']!); +} + +core.int buildCounterGoogleCloudDialogflowV2IngestContextReferencesRequest = 0; +api.GoogleCloudDialogflowV2IngestContextReferencesRequest + buildGoogleCloudDialogflowV2IngestContextReferencesRequest() { + final o = api.GoogleCloudDialogflowV2IngestContextReferencesRequest(); + buildCounterGoogleCloudDialogflowV2IngestContextReferencesRequest++; + if (buildCounterGoogleCloudDialogflowV2IngestContextReferencesRequest < 3) { + o.contextReferences = buildUnnamed48(); + } + buildCounterGoogleCloudDialogflowV2IngestContextReferencesRequest--; + return o; +} + +void checkGoogleCloudDialogflowV2IngestContextReferencesRequest( + api.GoogleCloudDialogflowV2IngestContextReferencesRequest o) { + buildCounterGoogleCloudDialogflowV2IngestContextReferencesRequest++; + if (buildCounterGoogleCloudDialogflowV2IngestContextReferencesRequest < 3) { + checkUnnamed48(o.contextReferences!); + } + buildCounterGoogleCloudDialogflowV2IngestContextReferencesRequest--; +} + +core.Map + buildUnnamed49() => { + 'x': buildGoogleCloudDialogflowV2ConversationContextReference(), + 'y': buildGoogleCloudDialogflowV2ConversationContextReference(), + }; + +void checkUnnamed49( + core.Map + o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudDialogflowV2ConversationContextReference(o['x']!); + checkGoogleCloudDialogflowV2ConversationContextReference(o['y']!); +} + +core.int buildCounterGoogleCloudDialogflowV2IngestContextReferencesResponse = 0; +api.GoogleCloudDialogflowV2IngestContextReferencesResponse + buildGoogleCloudDialogflowV2IngestContextReferencesResponse() { + final o = api.GoogleCloudDialogflowV2IngestContextReferencesResponse(); + buildCounterGoogleCloudDialogflowV2IngestContextReferencesResponse++; + if (buildCounterGoogleCloudDialogflowV2IngestContextReferencesResponse < 3) { + o.ingestedContextReferences = buildUnnamed49(); + } + buildCounterGoogleCloudDialogflowV2IngestContextReferencesResponse--; + return o; +} + +void checkGoogleCloudDialogflowV2IngestContextReferencesResponse( + api.GoogleCloudDialogflowV2IngestContextReferencesResponse o) { + buildCounterGoogleCloudDialogflowV2IngestContextReferencesResponse++; + if (buildCounterGoogleCloudDialogflowV2IngestContextReferencesResponse < 3) { + checkUnnamed49(o.ingestedContextReferences!); + } + buildCounterGoogleCloudDialogflowV2IngestContextReferencesResponse--; +} + core.int buildCounterGoogleCloudDialogflowV2InitializeEncryptionSpecRequest = 0; api.GoogleCloudDialogflowV2InitializeEncryptionSpecRequest buildGoogleCloudDialogflowV2InitializeEncryptionSpecRequest() { @@ -3815,12 +4375,12 @@ void checkGoogleCloudDialogflowV2InitializeEncryptionSpecRequest( buildCounterGoogleCloudDialogflowV2InitializeEncryptionSpecRequest--; } -core.List buildUnnamed41() => [ +core.List buildUnnamed50() => [ 'foo', 'foo', ]; -void checkUnnamed41(core.List o) { +void checkUnnamed50(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3832,12 +4392,12 @@ void checkUnnamed41(core.List o) { ); } -core.List buildUnnamed42() => [ +core.List buildUnnamed51() => [ 'foo', 'foo', ]; -void checkUnnamed42(core.List o) { +void checkUnnamed51(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3849,12 +4409,12 @@ void checkUnnamed42(core.List o) { ); } -core.List buildUnnamed43() => [ +core.List buildUnnamed52() => [ buildGoogleCloudDialogflowV2SpeechContext(), buildGoogleCloudDialogflowV2SpeechContext(), ]; -void checkUnnamed43(core.List o) { +void checkUnnamed52(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2SpeechContext(o[0]); checkGoogleCloudDialogflowV2SpeechContext(o[1]); @@ -3874,11 +4434,11 @@ api.GoogleCloudDialogflowV2InputAudioConfig o.model = 'foo'; o.modelVariant = 'foo'; o.optOutConformerModelMigration = true; - o.phraseHints = buildUnnamed41(); - o.phraseSets = buildUnnamed42(); + o.phraseHints = buildUnnamed50(); + o.phraseSets = buildUnnamed51(); o.sampleRateHertz = 42; o.singleUtterance = true; - o.speechContexts = buildUnnamed43(); + o.speechContexts = buildUnnamed52(); } buildCounterGoogleCloudDialogflowV2InputAudioConfig--; return o; @@ -3908,14 +4468,14 @@ void checkGoogleCloudDialogflowV2InputAudioConfig( unittest.equals('foo'), ); unittest.expect(o.optOutConformerModelMigration!, unittest.isTrue); - checkUnnamed41(o.phraseHints!); - checkUnnamed42(o.phraseSets!); + checkUnnamed50(o.phraseHints!); + checkUnnamed51(o.phraseSets!); unittest.expect( o.sampleRateHertz!, unittest.equals(42), ); unittest.expect(o.singleUtterance!, unittest.isTrue); - checkUnnamed43(o.speechContexts!); + checkUnnamed52(o.speechContexts!); } buildCounterGoogleCloudDialogflowV2InputAudioConfig--; } @@ -3965,12 +4525,12 @@ void checkGoogleCloudDialogflowV2InputDataset( buildCounterGoogleCloudDialogflowV2InputDataset--; } -core.List buildUnnamed44() => [ +core.List buildUnnamed53() => [ 'foo', 'foo', ]; -void checkUnnamed44(core.List o) { +void checkUnnamed53(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3982,12 +4542,12 @@ void checkUnnamed44(core.List o) { ); } -core.List buildUnnamed45() => [ +core.List buildUnnamed54() => [ 'foo', 'foo', ]; -void checkUnnamed45(core.List o) { +void checkUnnamed54(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4000,24 +4560,24 @@ void checkUnnamed45(core.List o) { } core.List - buildUnnamed46() => [ + buildUnnamed55() => [ buildGoogleCloudDialogflowV2IntentFollowupIntentInfo(), buildGoogleCloudDialogflowV2IntentFollowupIntentInfo(), ]; -void checkUnnamed46( +void checkUnnamed55( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2IntentFollowupIntentInfo(o[0]); checkGoogleCloudDialogflowV2IntentFollowupIntentInfo(o[1]); } -core.List buildUnnamed47() => [ +core.List buildUnnamed56() => [ 'foo', 'foo', ]; -void checkUnnamed47(core.List o) { +void checkUnnamed56(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4029,45 +4589,45 @@ void checkUnnamed47(core.List o) { ); } -core.List buildUnnamed48() => [ +core.List buildUnnamed57() => [ buildGoogleCloudDialogflowV2IntentMessage(), buildGoogleCloudDialogflowV2IntentMessage(), ]; -void checkUnnamed48(core.List o) { +void checkUnnamed57(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2IntentMessage(o[0]); checkGoogleCloudDialogflowV2IntentMessage(o[1]); } -core.List buildUnnamed49() => [ +core.List buildUnnamed58() => [ buildGoogleCloudDialogflowV2Context(), buildGoogleCloudDialogflowV2Context(), ]; -void checkUnnamed49(core.List o) { +void checkUnnamed58(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2Context(o[0]); checkGoogleCloudDialogflowV2Context(o[1]); } -core.List buildUnnamed50() => [ +core.List buildUnnamed59() => [ buildGoogleCloudDialogflowV2IntentParameter(), buildGoogleCloudDialogflowV2IntentParameter(), ]; -void checkUnnamed50(core.List o) { +void checkUnnamed59(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2IntentParameter(o[0]); checkGoogleCloudDialogflowV2IntentParameter(o[1]); } -core.List buildUnnamed51() => [ +core.List buildUnnamed60() => [ buildGoogleCloudDialogflowV2IntentTrainingPhrase(), buildGoogleCloudDialogflowV2IntentTrainingPhrase(), ]; -void checkUnnamed51( +void checkUnnamed60( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2IntentTrainingPhrase(o[0]); @@ -4080,24 +4640,24 @@ api.GoogleCloudDialogflowV2Intent buildGoogleCloudDialogflowV2Intent() { buildCounterGoogleCloudDialogflowV2Intent++; if (buildCounterGoogleCloudDialogflowV2Intent < 3) { o.action = 'foo'; - o.defaultResponsePlatforms = buildUnnamed44(); + o.defaultResponsePlatforms = buildUnnamed53(); o.displayName = 'foo'; o.endInteraction = true; - o.events = buildUnnamed45(); - o.followupIntentInfo = buildUnnamed46(); - o.inputContextNames = buildUnnamed47(); + o.events = buildUnnamed54(); + o.followupIntentInfo = buildUnnamed55(); + o.inputContextNames = buildUnnamed56(); o.isFallback = true; o.liveAgentHandoff = true; - o.messages = buildUnnamed48(); + o.messages = buildUnnamed57(); o.mlDisabled = true; o.name = 'foo'; - o.outputContexts = buildUnnamed49(); - o.parameters = buildUnnamed50(); + o.outputContexts = buildUnnamed58(); + o.parameters = buildUnnamed59(); o.parentFollowupIntentName = 'foo'; o.priority = 42; o.resetContexts = true; o.rootFollowupIntentName = 'foo'; - o.trainingPhrases = buildUnnamed51(); + o.trainingPhrases = buildUnnamed60(); o.webhookState = 'foo'; } buildCounterGoogleCloudDialogflowV2Intent--; @@ -4111,25 +4671,25 @@ void checkGoogleCloudDialogflowV2Intent(api.GoogleCloudDialogflowV2Intent o) { o.action!, unittest.equals('foo'), ); - checkUnnamed44(o.defaultResponsePlatforms!); + checkUnnamed53(o.defaultResponsePlatforms!); unittest.expect( o.displayName!, unittest.equals('foo'), ); unittest.expect(o.endInteraction!, unittest.isTrue); - checkUnnamed45(o.events!); - checkUnnamed46(o.followupIntentInfo!); - checkUnnamed47(o.inputContextNames!); + checkUnnamed54(o.events!); + checkUnnamed55(o.followupIntentInfo!); + checkUnnamed56(o.inputContextNames!); unittest.expect(o.isFallback!, unittest.isTrue); unittest.expect(o.liveAgentHandoff!, unittest.isTrue); - checkUnnamed48(o.messages!); + checkUnnamed57(o.messages!); unittest.expect(o.mlDisabled!, unittest.isTrue); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed49(o.outputContexts!); - checkUnnamed50(o.parameters!); + checkUnnamed58(o.outputContexts!); + checkUnnamed59(o.parameters!); unittest.expect( o.parentFollowupIntentName!, unittest.equals('foo'), @@ -4143,7 +4703,7 @@ void checkGoogleCloudDialogflowV2Intent(api.GoogleCloudDialogflowV2Intent o) { o.rootFollowupIntentName!, unittest.equals('foo'), ); - checkUnnamed51(o.trainingPhrases!); + checkUnnamed60(o.trainingPhrases!); unittest.expect( o.webhookState!, unittest.equals('foo'), @@ -4152,12 +4712,12 @@ void checkGoogleCloudDialogflowV2Intent(api.GoogleCloudDialogflowV2Intent o) { buildCounterGoogleCloudDialogflowV2Intent--; } -core.List buildUnnamed52() => [ +core.List buildUnnamed61() => [ buildGoogleCloudDialogflowV2Intent(), buildGoogleCloudDialogflowV2Intent(), ]; -void checkUnnamed52(core.List o) { +void checkUnnamed61(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2Intent(o[0]); checkGoogleCloudDialogflowV2Intent(o[1]); @@ -4169,7 +4729,7 @@ api.GoogleCloudDialogflowV2IntentBatch final o = api.GoogleCloudDialogflowV2IntentBatch(); buildCounterGoogleCloudDialogflowV2IntentBatch++; if (buildCounterGoogleCloudDialogflowV2IntentBatch < 3) { - o.intents = buildUnnamed52(); + o.intents = buildUnnamed61(); } buildCounterGoogleCloudDialogflowV2IntentBatch--; return o; @@ -4179,7 +4739,7 @@ void checkGoogleCloudDialogflowV2IntentBatch( api.GoogleCloudDialogflowV2IntentBatch o) { buildCounterGoogleCloudDialogflowV2IntentBatch++; if (buildCounterGoogleCloudDialogflowV2IntentBatch < 3) { - checkUnnamed52(o.intents!); + checkUnnamed61(o.intents!); } buildCounterGoogleCloudDialogflowV2IntentBatch--; } @@ -4213,7 +4773,7 @@ void checkGoogleCloudDialogflowV2IntentFollowupIntentInfo( buildCounterGoogleCloudDialogflowV2IntentFollowupIntentInfo--; } -core.Map buildUnnamed53() => { +core.Map buildUnnamed62() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -4226,7 +4786,7 @@ core.Map buildUnnamed53() => { }, }; -void checkUnnamed53(core.Map o) { +void checkUnnamed62(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted8 = (o['x']!) as core.Map; unittest.expect(casted8, unittest.hasLength(3)); @@ -4275,7 +4835,7 @@ api.GoogleCloudDialogflowV2IntentMessage buildGoogleCloudDialogflowV2IntentMessageLinkOutSuggestion(); o.listSelect = buildGoogleCloudDialogflowV2IntentMessageListSelect(); o.mediaContent = buildGoogleCloudDialogflowV2IntentMessageMediaContent(); - o.payload = buildUnnamed53(); + o.payload = buildUnnamed62(); o.platform = 'foo'; o.quickReplies = buildGoogleCloudDialogflowV2IntentMessageQuickReplies(); o.simpleResponses = @@ -4302,7 +4862,7 @@ void checkGoogleCloudDialogflowV2IntentMessage( o.linkOutSuggestion!); checkGoogleCloudDialogflowV2IntentMessageListSelect(o.listSelect!); checkGoogleCloudDialogflowV2IntentMessageMediaContent(o.mediaContent!); - checkUnnamed53(o.payload!); + checkUnnamed62(o.payload!); unittest.expect( o.platform!, unittest.equals('foo'), @@ -4318,12 +4878,12 @@ void checkGoogleCloudDialogflowV2IntentMessage( } core.List - buildUnnamed54() => [ + buildUnnamed63() => [ buildGoogleCloudDialogflowV2IntentMessageBasicCardButton(), buildGoogleCloudDialogflowV2IntentMessageBasicCardButton(), ]; -void checkUnnamed54( +void checkUnnamed63( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2IntentMessageBasicCardButton(o[0]); @@ -4336,7 +4896,7 @@ api.GoogleCloudDialogflowV2IntentMessageBasicCard final o = api.GoogleCloudDialogflowV2IntentMessageBasicCard(); buildCounterGoogleCloudDialogflowV2IntentMessageBasicCard++; if (buildCounterGoogleCloudDialogflowV2IntentMessageBasicCard < 3) { - o.buttons = buildUnnamed54(); + o.buttons = buildUnnamed63(); o.formattedText = 'foo'; o.image = buildGoogleCloudDialogflowV2IntentMessageImage(); o.subtitle = 'foo'; @@ -4350,7 +4910,7 @@ void checkGoogleCloudDialogflowV2IntentMessageBasicCard( api.GoogleCloudDialogflowV2IntentMessageBasicCard o) { buildCounterGoogleCloudDialogflowV2IntentMessageBasicCard++; if (buildCounterGoogleCloudDialogflowV2IntentMessageBasicCard < 3) { - checkUnnamed54(o.buttons!); + checkUnnamed63(o.buttons!); unittest.expect( o.formattedText!, unittest.equals('foo'), @@ -4428,12 +4988,12 @@ void checkGoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction( core.List< api .GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem> - buildUnnamed55() => [ + buildUnnamed64() => [ buildGoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem(), buildGoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem(), ]; -void checkUnnamed55( +void checkUnnamed64( core.List< api .GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem> @@ -4452,7 +5012,7 @@ api.GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard buildCounterGoogleCloudDialogflowV2IntentMessageBrowseCarouselCard++; if (buildCounterGoogleCloudDialogflowV2IntentMessageBrowseCarouselCard < 3) { o.imageDisplayOptions = 'foo'; - o.items = buildUnnamed55(); + o.items = buildUnnamed64(); } buildCounterGoogleCloudDialogflowV2IntentMessageBrowseCarouselCard--; return o; @@ -4466,7 +5026,7 @@ void checkGoogleCloudDialogflowV2IntentMessageBrowseCarouselCard( o.imageDisplayOptions!, unittest.equals('foo'), ); - checkUnnamed55(o.items!); + checkUnnamed64(o.items!); } buildCounterGoogleCloudDialogflowV2IntentMessageBrowseCarouselCard--; } @@ -4553,12 +5113,12 @@ void checkGoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCa } core.List - buildUnnamed56() => [ + buildUnnamed65() => [ buildGoogleCloudDialogflowV2IntentMessageCardButton(), buildGoogleCloudDialogflowV2IntentMessageCardButton(), ]; -void checkUnnamed56( +void checkUnnamed65( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2IntentMessageCardButton(o[0]); @@ -4571,7 +5131,7 @@ api.GoogleCloudDialogflowV2IntentMessageCard final o = api.GoogleCloudDialogflowV2IntentMessageCard(); buildCounterGoogleCloudDialogflowV2IntentMessageCard++; if (buildCounterGoogleCloudDialogflowV2IntentMessageCard < 3) { - o.buttons = buildUnnamed56(); + o.buttons = buildUnnamed65(); o.imageUri = 'foo'; o.subtitle = 'foo'; o.title = 'foo'; @@ -4584,7 +5144,7 @@ void checkGoogleCloudDialogflowV2IntentMessageCard( api.GoogleCloudDialogflowV2IntentMessageCard o) { buildCounterGoogleCloudDialogflowV2IntentMessageCard++; if (buildCounterGoogleCloudDialogflowV2IntentMessageCard < 3) { - checkUnnamed56(o.buttons!); + checkUnnamed65(o.buttons!); unittest.expect( o.imageUri!, unittest.equals('foo'), @@ -4631,12 +5191,12 @@ void checkGoogleCloudDialogflowV2IntentMessageCardButton( } core.List - buildUnnamed57() => [ + buildUnnamed66() => [ buildGoogleCloudDialogflowV2IntentMessageCarouselSelectItem(), buildGoogleCloudDialogflowV2IntentMessageCarouselSelectItem(), ]; -void checkUnnamed57( +void checkUnnamed66( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2IntentMessageCarouselSelectItem(o[0]); @@ -4649,7 +5209,7 @@ api.GoogleCloudDialogflowV2IntentMessageCarouselSelect final o = api.GoogleCloudDialogflowV2IntentMessageCarouselSelect(); buildCounterGoogleCloudDialogflowV2IntentMessageCarouselSelect++; if (buildCounterGoogleCloudDialogflowV2IntentMessageCarouselSelect < 3) { - o.items = buildUnnamed57(); + o.items = buildUnnamed66(); } buildCounterGoogleCloudDialogflowV2IntentMessageCarouselSelect--; return o; @@ -4659,7 +5219,7 @@ void checkGoogleCloudDialogflowV2IntentMessageCarouselSelect( api.GoogleCloudDialogflowV2IntentMessageCarouselSelect o) { buildCounterGoogleCloudDialogflowV2IntentMessageCarouselSelect++; if (buildCounterGoogleCloudDialogflowV2IntentMessageCarouselSelect < 3) { - checkUnnamed57(o.items!); + checkUnnamed66(o.items!); } buildCounterGoogleCloudDialogflowV2IntentMessageCarouselSelect--; } @@ -4785,12 +5345,12 @@ void checkGoogleCloudDialogflowV2IntentMessageLinkOutSuggestion( } core.List - buildUnnamed58() => [ + buildUnnamed67() => [ buildGoogleCloudDialogflowV2IntentMessageListSelectItem(), buildGoogleCloudDialogflowV2IntentMessageListSelectItem(), ]; -void checkUnnamed58( +void checkUnnamed67( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2IntentMessageListSelectItem(o[0]); @@ -4803,7 +5363,7 @@ api.GoogleCloudDialogflowV2IntentMessageListSelect final o = api.GoogleCloudDialogflowV2IntentMessageListSelect(); buildCounterGoogleCloudDialogflowV2IntentMessageListSelect++; if (buildCounterGoogleCloudDialogflowV2IntentMessageListSelect < 3) { - o.items = buildUnnamed58(); + o.items = buildUnnamed67(); o.subtitle = 'foo'; o.title = 'foo'; } @@ -4815,7 +5375,7 @@ void checkGoogleCloudDialogflowV2IntentMessageListSelect( api.GoogleCloudDialogflowV2IntentMessageListSelect o) { buildCounterGoogleCloudDialogflowV2IntentMessageListSelect++; if (buildCounterGoogleCloudDialogflowV2IntentMessageListSelect < 3) { - checkUnnamed58(o.items!); + checkUnnamed67(o.items!); unittest.expect( o.subtitle!, unittest.equals('foo'), @@ -4863,12 +5423,12 @@ void checkGoogleCloudDialogflowV2IntentMessageListSelectItem( core.List< api.GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject> - buildUnnamed59() => [ + buildUnnamed68() => [ buildGoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject(), buildGoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject(), ]; -void checkUnnamed59( +void checkUnnamed68( core.List< api .GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject> @@ -4886,7 +5446,7 @@ api.GoogleCloudDialogflowV2IntentMessageMediaContent final o = api.GoogleCloudDialogflowV2IntentMessageMediaContent(); buildCounterGoogleCloudDialogflowV2IntentMessageMediaContent++; if (buildCounterGoogleCloudDialogflowV2IntentMessageMediaContent < 3) { - o.mediaObjects = buildUnnamed59(); + o.mediaObjects = buildUnnamed68(); o.mediaType = 'foo'; } buildCounterGoogleCloudDialogflowV2IntentMessageMediaContent--; @@ -4897,7 +5457,7 @@ void checkGoogleCloudDialogflowV2IntentMessageMediaContent( api.GoogleCloudDialogflowV2IntentMessageMediaContent o) { buildCounterGoogleCloudDialogflowV2IntentMessageMediaContent++; if (buildCounterGoogleCloudDialogflowV2IntentMessageMediaContent < 3) { - checkUnnamed59(o.mediaObjects!); + checkUnnamed68(o.mediaObjects!); unittest.expect( o.mediaType!, unittest.equals('foo'), @@ -4949,12 +5509,12 @@ void checkGoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject( buildCounterGoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject--; } -core.List buildUnnamed60() => [ +core.List buildUnnamed69() => [ 'foo', 'foo', ]; -void checkUnnamed60(core.List o) { +void checkUnnamed69(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4972,7 +5532,7 @@ api.GoogleCloudDialogflowV2IntentMessageQuickReplies final o = api.GoogleCloudDialogflowV2IntentMessageQuickReplies(); buildCounterGoogleCloudDialogflowV2IntentMessageQuickReplies++; if (buildCounterGoogleCloudDialogflowV2IntentMessageQuickReplies < 3) { - o.quickReplies = buildUnnamed60(); + o.quickReplies = buildUnnamed69(); o.title = 'foo'; } buildCounterGoogleCloudDialogflowV2IntentMessageQuickReplies--; @@ -4983,7 +5543,7 @@ void checkGoogleCloudDialogflowV2IntentMessageQuickReplies( api.GoogleCloudDialogflowV2IntentMessageQuickReplies o) { buildCounterGoogleCloudDialogflowV2IntentMessageQuickReplies++; if (buildCounterGoogleCloudDialogflowV2IntentMessageQuickReplies < 3) { - checkUnnamed60(o.quickReplies!); + checkUnnamed69(o.quickReplies!); unittest.expect( o.title!, unittest.equals('foo'), @@ -4992,12 +5552,12 @@ void checkGoogleCloudDialogflowV2IntentMessageQuickReplies( buildCounterGoogleCloudDialogflowV2IntentMessageQuickReplies--; } -core.List buildUnnamed61() => [ +core.List buildUnnamed70() => [ 'foo', 'foo', ]; -void checkUnnamed61(core.List o) { +void checkUnnamed70(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5016,7 +5576,7 @@ api.GoogleCloudDialogflowV2IntentMessageSelectItemInfo buildCounterGoogleCloudDialogflowV2IntentMessageSelectItemInfo++; if (buildCounterGoogleCloudDialogflowV2IntentMessageSelectItemInfo < 3) { o.key = 'foo'; - o.synonyms = buildUnnamed61(); + o.synonyms = buildUnnamed70(); } buildCounterGoogleCloudDialogflowV2IntentMessageSelectItemInfo--; return o; @@ -5030,7 +5590,7 @@ void checkGoogleCloudDialogflowV2IntentMessageSelectItemInfo( o.key!, unittest.equals('foo'), ); - checkUnnamed61(o.synonyms!); + checkUnnamed70(o.synonyms!); } buildCounterGoogleCloudDialogflowV2IntentMessageSelectItemInfo--; } @@ -5070,12 +5630,12 @@ void checkGoogleCloudDialogflowV2IntentMessageSimpleResponse( } core.List - buildUnnamed62() => [ + buildUnnamed71() => [ buildGoogleCloudDialogflowV2IntentMessageSimpleResponse(), buildGoogleCloudDialogflowV2IntentMessageSimpleResponse(), ]; -void checkUnnamed62( +void checkUnnamed71( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2IntentMessageSimpleResponse(o[0]); @@ -5088,7 +5648,7 @@ api.GoogleCloudDialogflowV2IntentMessageSimpleResponses final o = api.GoogleCloudDialogflowV2IntentMessageSimpleResponses(); buildCounterGoogleCloudDialogflowV2IntentMessageSimpleResponses++; if (buildCounterGoogleCloudDialogflowV2IntentMessageSimpleResponses < 3) { - o.simpleResponses = buildUnnamed62(); + o.simpleResponses = buildUnnamed71(); } buildCounterGoogleCloudDialogflowV2IntentMessageSimpleResponses--; return o; @@ -5098,7 +5658,7 @@ void checkGoogleCloudDialogflowV2IntentMessageSimpleResponses( api.GoogleCloudDialogflowV2IntentMessageSimpleResponses o) { buildCounterGoogleCloudDialogflowV2IntentMessageSimpleResponses++; if (buildCounterGoogleCloudDialogflowV2IntentMessageSimpleResponses < 3) { - checkUnnamed62(o.simpleResponses!); + checkUnnamed71(o.simpleResponses!); } buildCounterGoogleCloudDialogflowV2IntentMessageSimpleResponses--; } @@ -5128,12 +5688,12 @@ void checkGoogleCloudDialogflowV2IntentMessageSuggestion( } core.List - buildUnnamed63() => [ + buildUnnamed72() => [ buildGoogleCloudDialogflowV2IntentMessageSuggestion(), buildGoogleCloudDialogflowV2IntentMessageSuggestion(), ]; -void checkUnnamed63( +void checkUnnamed72( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2IntentMessageSuggestion(o[0]); @@ -5146,7 +5706,7 @@ api.GoogleCloudDialogflowV2IntentMessageSuggestions final o = api.GoogleCloudDialogflowV2IntentMessageSuggestions(); buildCounterGoogleCloudDialogflowV2IntentMessageSuggestions++; if (buildCounterGoogleCloudDialogflowV2IntentMessageSuggestions < 3) { - o.suggestions = buildUnnamed63(); + o.suggestions = buildUnnamed72(); } buildCounterGoogleCloudDialogflowV2IntentMessageSuggestions--; return o; @@ -5156,18 +5716,18 @@ void checkGoogleCloudDialogflowV2IntentMessageSuggestions( api.GoogleCloudDialogflowV2IntentMessageSuggestions o) { buildCounterGoogleCloudDialogflowV2IntentMessageSuggestions++; if (buildCounterGoogleCloudDialogflowV2IntentMessageSuggestions < 3) { - checkUnnamed63(o.suggestions!); + checkUnnamed72(o.suggestions!); } buildCounterGoogleCloudDialogflowV2IntentMessageSuggestions--; } core.List - buildUnnamed64() => [ + buildUnnamed73() => [ buildGoogleCloudDialogflowV2IntentMessageBasicCardButton(), buildGoogleCloudDialogflowV2IntentMessageBasicCardButton(), ]; -void checkUnnamed64( +void checkUnnamed73( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2IntentMessageBasicCardButton(o[0]); @@ -5175,12 +5735,12 @@ void checkUnnamed64( } core.List - buildUnnamed65() => [ + buildUnnamed74() => [ buildGoogleCloudDialogflowV2IntentMessageColumnProperties(), buildGoogleCloudDialogflowV2IntentMessageColumnProperties(), ]; -void checkUnnamed65( +void checkUnnamed74( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2IntentMessageColumnProperties(o[0]); @@ -5188,12 +5748,12 @@ void checkUnnamed65( } core.List - buildUnnamed66() => [ + buildUnnamed75() => [ buildGoogleCloudDialogflowV2IntentMessageTableCardRow(), buildGoogleCloudDialogflowV2IntentMessageTableCardRow(), ]; -void checkUnnamed66( +void checkUnnamed75( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2IntentMessageTableCardRow(o[0]); @@ -5206,10 +5766,10 @@ api.GoogleCloudDialogflowV2IntentMessageTableCard final o = api.GoogleCloudDialogflowV2IntentMessageTableCard(); buildCounterGoogleCloudDialogflowV2IntentMessageTableCard++; if (buildCounterGoogleCloudDialogflowV2IntentMessageTableCard < 3) { - o.buttons = buildUnnamed64(); - o.columnProperties = buildUnnamed65(); + o.buttons = buildUnnamed73(); + o.columnProperties = buildUnnamed74(); o.image = buildGoogleCloudDialogflowV2IntentMessageImage(); - o.rows = buildUnnamed66(); + o.rows = buildUnnamed75(); o.subtitle = 'foo'; o.title = 'foo'; } @@ -5221,10 +5781,10 @@ void checkGoogleCloudDialogflowV2IntentMessageTableCard( api.GoogleCloudDialogflowV2IntentMessageTableCard o) { buildCounterGoogleCloudDialogflowV2IntentMessageTableCard++; if (buildCounterGoogleCloudDialogflowV2IntentMessageTableCard < 3) { - checkUnnamed64(o.buttons!); - checkUnnamed65(o.columnProperties!); + checkUnnamed73(o.buttons!); + checkUnnamed74(o.columnProperties!); checkGoogleCloudDialogflowV2IntentMessageImage(o.image!); - checkUnnamed66(o.rows!); + checkUnnamed75(o.rows!); unittest.expect( o.subtitle!, unittest.equals('foo'), @@ -5262,12 +5822,12 @@ void checkGoogleCloudDialogflowV2IntentMessageTableCardCell( } core.List - buildUnnamed67() => [ + buildUnnamed76() => [ buildGoogleCloudDialogflowV2IntentMessageTableCardCell(), buildGoogleCloudDialogflowV2IntentMessageTableCardCell(), ]; -void checkUnnamed67( +void checkUnnamed76( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2IntentMessageTableCardCell(o[0]); @@ -5280,7 +5840,7 @@ api.GoogleCloudDialogflowV2IntentMessageTableCardRow final o = api.GoogleCloudDialogflowV2IntentMessageTableCardRow(); buildCounterGoogleCloudDialogflowV2IntentMessageTableCardRow++; if (buildCounterGoogleCloudDialogflowV2IntentMessageTableCardRow < 3) { - o.cells = buildUnnamed67(); + o.cells = buildUnnamed76(); o.dividerAfter = true; } buildCounterGoogleCloudDialogflowV2IntentMessageTableCardRow--; @@ -5291,18 +5851,18 @@ void checkGoogleCloudDialogflowV2IntentMessageTableCardRow( api.GoogleCloudDialogflowV2IntentMessageTableCardRow o) { buildCounterGoogleCloudDialogflowV2IntentMessageTableCardRow++; if (buildCounterGoogleCloudDialogflowV2IntentMessageTableCardRow < 3) { - checkUnnamed67(o.cells!); + checkUnnamed76(o.cells!); unittest.expect(o.dividerAfter!, unittest.isTrue); } buildCounterGoogleCloudDialogflowV2IntentMessageTableCardRow--; } -core.List buildUnnamed68() => [ +core.List buildUnnamed77() => [ 'foo', 'foo', ]; -void checkUnnamed68(core.List o) { +void checkUnnamed77(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5320,7 +5880,7 @@ api.GoogleCloudDialogflowV2IntentMessageText final o = api.GoogleCloudDialogflowV2IntentMessageText(); buildCounterGoogleCloudDialogflowV2IntentMessageText++; if (buildCounterGoogleCloudDialogflowV2IntentMessageText < 3) { - o.text = buildUnnamed68(); + o.text = buildUnnamed77(); } buildCounterGoogleCloudDialogflowV2IntentMessageText--; return o; @@ -5330,17 +5890,17 @@ void checkGoogleCloudDialogflowV2IntentMessageText( api.GoogleCloudDialogflowV2IntentMessageText o) { buildCounterGoogleCloudDialogflowV2IntentMessageText++; if (buildCounterGoogleCloudDialogflowV2IntentMessageText < 3) { - checkUnnamed68(o.text!); + checkUnnamed77(o.text!); } buildCounterGoogleCloudDialogflowV2IntentMessageText--; } -core.List buildUnnamed69() => [ +core.List buildUnnamed78() => [ 'foo', 'foo', ]; -void checkUnnamed69(core.List o) { +void checkUnnamed78(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5364,7 +5924,7 @@ api.GoogleCloudDialogflowV2IntentParameter o.isList = true; o.mandatory = true; o.name = 'foo'; - o.prompts = buildUnnamed69(); + o.prompts = buildUnnamed78(); o.value = 'foo'; } buildCounterGoogleCloudDialogflowV2IntentParameter--; @@ -5393,7 +5953,7 @@ void checkGoogleCloudDialogflowV2IntentParameter( o.name!, unittest.equals('foo'), ); - checkUnnamed69(o.prompts!); + checkUnnamed78(o.prompts!); unittest.expect( o.value!, unittest.equals('foo'), @@ -5437,12 +5997,12 @@ void checkGoogleCloudDialogflowV2IntentSuggestion( } core.List - buildUnnamed70() => [ + buildUnnamed79() => [ buildGoogleCloudDialogflowV2IntentTrainingPhrasePart(), buildGoogleCloudDialogflowV2IntentTrainingPhrasePart(), ]; -void checkUnnamed70( +void checkUnnamed79( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2IntentTrainingPhrasePart(o[0]); @@ -5456,7 +6016,7 @@ api.GoogleCloudDialogflowV2IntentTrainingPhrase buildCounterGoogleCloudDialogflowV2IntentTrainingPhrase++; if (buildCounterGoogleCloudDialogflowV2IntentTrainingPhrase < 3) { o.name = 'foo'; - o.parts = buildUnnamed70(); + o.parts = buildUnnamed79(); o.timesAddedCount = 42; o.type = 'foo'; } @@ -5472,7 +6032,7 @@ void checkGoogleCloudDialogflowV2IntentTrainingPhrase( o.name!, unittest.equals('foo'), ); - checkUnnamed70(o.parts!); + checkUnnamed79(o.parts!); unittest.expect( o.timesAddedCount!, unittest.equals(42), @@ -5621,12 +6181,12 @@ void checkGoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerFaqSource( core.List< api .GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet> - buildUnnamed71() => [ + buildUnnamed80() => [ buildGoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet(), buildGoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet(), ]; -void checkUnnamed71( +void checkUnnamed80( core.List< api .GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet> @@ -5648,7 +6208,7 @@ api.GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSource buildCounterGoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSource++; if (buildCounterGoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSource < 3) { - o.snippets = buildUnnamed71(); + o.snippets = buildUnnamed80(); } buildCounterGoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSource--; return o; @@ -5660,12 +6220,12 @@ void checkGoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeS buildCounterGoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSource++; if (buildCounterGoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSource < 3) { - checkUnnamed71(o.snippets!); + checkUnnamed80(o.snippets!); } buildCounterGoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSource--; } -core.Map buildUnnamed72() => { +core.Map buildUnnamed81() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -5678,7 +6238,7 @@ core.Map buildUnnamed72() => { }, }; -void checkUnnamed72(core.Map o) { +void checkUnnamed81(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted10 = (o['x']!) as core.Map; unittest.expect(casted10, unittest.hasLength(3)); @@ -5720,7 +6280,7 @@ api.GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceS buildCounterGoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet++; if (buildCounterGoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet < 3) { - o.metadata = buildUnnamed72(); + o.metadata = buildUnnamed81(); o.text = 'foo'; o.title = 'foo'; o.uri = 'foo'; @@ -5735,7 +6295,7 @@ void checkGoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeS buildCounterGoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet++; if (buildCounterGoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet < 3) { - checkUnnamed72(o.metadata!); + checkUnnamed81(o.metadata!); unittest.expect( o.text!, unittest.equals('foo'), @@ -5813,12 +6373,12 @@ void checkGoogleCloudDialogflowV2KnowledgeBase( buildCounterGoogleCloudDialogflowV2KnowledgeBase--; } -core.List buildUnnamed73() => [ +core.List buildUnnamed82() => [ buildGoogleCloudDialogflowV2AnswerRecord(), buildGoogleCloudDialogflowV2AnswerRecord(), ]; -void checkUnnamed73(core.List o) { +void checkUnnamed82(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2AnswerRecord(o[0]); checkGoogleCloudDialogflowV2AnswerRecord(o[1]); @@ -5830,7 +6390,7 @@ api.GoogleCloudDialogflowV2ListAnswerRecordsResponse final o = api.GoogleCloudDialogflowV2ListAnswerRecordsResponse(); buildCounterGoogleCloudDialogflowV2ListAnswerRecordsResponse++; if (buildCounterGoogleCloudDialogflowV2ListAnswerRecordsResponse < 3) { - o.answerRecords = buildUnnamed73(); + o.answerRecords = buildUnnamed82(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudDialogflowV2ListAnswerRecordsResponse--; @@ -5841,7 +6401,7 @@ void checkGoogleCloudDialogflowV2ListAnswerRecordsResponse( api.GoogleCloudDialogflowV2ListAnswerRecordsResponse o) { buildCounterGoogleCloudDialogflowV2ListAnswerRecordsResponse++; if (buildCounterGoogleCloudDialogflowV2ListAnswerRecordsResponse < 3) { - checkUnnamed73(o.answerRecords!); + checkUnnamed82(o.answerRecords!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -5850,12 +6410,12 @@ void checkGoogleCloudDialogflowV2ListAnswerRecordsResponse( buildCounterGoogleCloudDialogflowV2ListAnswerRecordsResponse--; } -core.List buildUnnamed74() => [ +core.List buildUnnamed83() => [ buildGoogleCloudDialogflowV2Context(), buildGoogleCloudDialogflowV2Context(), ]; -void checkUnnamed74(core.List o) { +void checkUnnamed83(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2Context(o[0]); checkGoogleCloudDialogflowV2Context(o[1]); @@ -5867,7 +6427,7 @@ api.GoogleCloudDialogflowV2ListContextsResponse final o = api.GoogleCloudDialogflowV2ListContextsResponse(); buildCounterGoogleCloudDialogflowV2ListContextsResponse++; if (buildCounterGoogleCloudDialogflowV2ListContextsResponse < 3) { - o.contexts = buildUnnamed74(); + o.contexts = buildUnnamed83(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudDialogflowV2ListContextsResponse--; @@ -5878,7 +6438,7 @@ void checkGoogleCloudDialogflowV2ListContextsResponse( api.GoogleCloudDialogflowV2ListContextsResponse o) { buildCounterGoogleCloudDialogflowV2ListContextsResponse++; if (buildCounterGoogleCloudDialogflowV2ListContextsResponse < 3) { - checkUnnamed74(o.contexts!); + checkUnnamed83(o.contexts!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -5887,12 +6447,12 @@ void checkGoogleCloudDialogflowV2ListContextsResponse( buildCounterGoogleCloudDialogflowV2ListContextsResponse--; } -core.List buildUnnamed75() => [ +core.List buildUnnamed84() => [ buildGoogleCloudDialogflowV2ConversationDataset(), buildGoogleCloudDialogflowV2ConversationDataset(), ]; -void checkUnnamed75( +void checkUnnamed84( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2ConversationDataset(o[0]); @@ -5906,7 +6466,7 @@ api.GoogleCloudDialogflowV2ListConversationDatasetsResponse final o = api.GoogleCloudDialogflowV2ListConversationDatasetsResponse(); buildCounterGoogleCloudDialogflowV2ListConversationDatasetsResponse++; if (buildCounterGoogleCloudDialogflowV2ListConversationDatasetsResponse < 3) { - o.conversationDatasets = buildUnnamed75(); + o.conversationDatasets = buildUnnamed84(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudDialogflowV2ListConversationDatasetsResponse--; @@ -5917,7 +6477,7 @@ void checkGoogleCloudDialogflowV2ListConversationDatasetsResponse( api.GoogleCloudDialogflowV2ListConversationDatasetsResponse o) { buildCounterGoogleCloudDialogflowV2ListConversationDatasetsResponse++; if (buildCounterGoogleCloudDialogflowV2ListConversationDatasetsResponse < 3) { - checkUnnamed75(o.conversationDatasets!); + checkUnnamed84(o.conversationDatasets!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -5927,12 +6487,12 @@ void checkGoogleCloudDialogflowV2ListConversationDatasetsResponse( } core.List - buildUnnamed76() => [ + buildUnnamed85() => [ buildGoogleCloudDialogflowV2ConversationModelEvaluation(), buildGoogleCloudDialogflowV2ConversationModelEvaluation(), ]; -void checkUnnamed76( +void checkUnnamed85( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2ConversationModelEvaluation(o[0]); @@ -5949,7 +6509,7 @@ api.GoogleCloudDialogflowV2ListConversationModelEvaluationsResponse buildCounterGoogleCloudDialogflowV2ListConversationModelEvaluationsResponse++; if (buildCounterGoogleCloudDialogflowV2ListConversationModelEvaluationsResponse < 3) { - o.conversationModelEvaluations = buildUnnamed76(); + o.conversationModelEvaluations = buildUnnamed85(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudDialogflowV2ListConversationModelEvaluationsResponse--; @@ -5961,7 +6521,7 @@ void checkGoogleCloudDialogflowV2ListConversationModelEvaluationsResponse( buildCounterGoogleCloudDialogflowV2ListConversationModelEvaluationsResponse++; if (buildCounterGoogleCloudDialogflowV2ListConversationModelEvaluationsResponse < 3) { - checkUnnamed76(o.conversationModelEvaluations!); + checkUnnamed85(o.conversationModelEvaluations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -5970,12 +6530,12 @@ void checkGoogleCloudDialogflowV2ListConversationModelEvaluationsResponse( buildCounterGoogleCloudDialogflowV2ListConversationModelEvaluationsResponse--; } -core.List buildUnnamed77() => [ +core.List buildUnnamed86() => [ buildGoogleCloudDialogflowV2ConversationModel(), buildGoogleCloudDialogflowV2ConversationModel(), ]; -void checkUnnamed77(core.List o) { +void checkUnnamed86(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2ConversationModel(o[0]); checkGoogleCloudDialogflowV2ConversationModel(o[1]); @@ -5987,7 +6547,7 @@ api.GoogleCloudDialogflowV2ListConversationModelsResponse final o = api.GoogleCloudDialogflowV2ListConversationModelsResponse(); buildCounterGoogleCloudDialogflowV2ListConversationModelsResponse++; if (buildCounterGoogleCloudDialogflowV2ListConversationModelsResponse < 3) { - o.conversationModels = buildUnnamed77(); + o.conversationModels = buildUnnamed86(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudDialogflowV2ListConversationModelsResponse--; @@ -5998,7 +6558,7 @@ void checkGoogleCloudDialogflowV2ListConversationModelsResponse( api.GoogleCloudDialogflowV2ListConversationModelsResponse o) { buildCounterGoogleCloudDialogflowV2ListConversationModelsResponse++; if (buildCounterGoogleCloudDialogflowV2ListConversationModelsResponse < 3) { - checkUnnamed77(o.conversationModels!); + checkUnnamed86(o.conversationModels!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -6007,12 +6567,12 @@ void checkGoogleCloudDialogflowV2ListConversationModelsResponse( buildCounterGoogleCloudDialogflowV2ListConversationModelsResponse--; } -core.List buildUnnamed78() => [ +core.List buildUnnamed87() => [ buildGoogleCloudDialogflowV2ConversationProfile(), buildGoogleCloudDialogflowV2ConversationProfile(), ]; -void checkUnnamed78( +void checkUnnamed87( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2ConversationProfile(o[0]); @@ -6026,7 +6586,7 @@ api.GoogleCloudDialogflowV2ListConversationProfilesResponse final o = api.GoogleCloudDialogflowV2ListConversationProfilesResponse(); buildCounterGoogleCloudDialogflowV2ListConversationProfilesResponse++; if (buildCounterGoogleCloudDialogflowV2ListConversationProfilesResponse < 3) { - o.conversationProfiles = buildUnnamed78(); + o.conversationProfiles = buildUnnamed87(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudDialogflowV2ListConversationProfilesResponse--; @@ -6037,7 +6597,7 @@ void checkGoogleCloudDialogflowV2ListConversationProfilesResponse( api.GoogleCloudDialogflowV2ListConversationProfilesResponse o) { buildCounterGoogleCloudDialogflowV2ListConversationProfilesResponse++; if (buildCounterGoogleCloudDialogflowV2ListConversationProfilesResponse < 3) { - checkUnnamed78(o.conversationProfiles!); + checkUnnamed87(o.conversationProfiles!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -6046,12 +6606,12 @@ void checkGoogleCloudDialogflowV2ListConversationProfilesResponse( buildCounterGoogleCloudDialogflowV2ListConversationProfilesResponse--; } -core.List buildUnnamed79() => [ +core.List buildUnnamed88() => [ buildGoogleCloudDialogflowV2Conversation(), buildGoogleCloudDialogflowV2Conversation(), ]; -void checkUnnamed79(core.List o) { +void checkUnnamed88(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2Conversation(o[0]); checkGoogleCloudDialogflowV2Conversation(o[1]); @@ -6063,7 +6623,7 @@ api.GoogleCloudDialogflowV2ListConversationsResponse final o = api.GoogleCloudDialogflowV2ListConversationsResponse(); buildCounterGoogleCloudDialogflowV2ListConversationsResponse++; if (buildCounterGoogleCloudDialogflowV2ListConversationsResponse < 3) { - o.conversations = buildUnnamed79(); + o.conversations = buildUnnamed88(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudDialogflowV2ListConversationsResponse--; @@ -6074,7 +6634,7 @@ void checkGoogleCloudDialogflowV2ListConversationsResponse( api.GoogleCloudDialogflowV2ListConversationsResponse o) { buildCounterGoogleCloudDialogflowV2ListConversationsResponse++; if (buildCounterGoogleCloudDialogflowV2ListConversationsResponse < 3) { - checkUnnamed79(o.conversations!); + checkUnnamed88(o.conversations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -6083,12 +6643,12 @@ void checkGoogleCloudDialogflowV2ListConversationsResponse( buildCounterGoogleCloudDialogflowV2ListConversationsResponse--; } -core.List buildUnnamed80() => [ +core.List buildUnnamed89() => [ buildGoogleCloudDialogflowV2Document(), buildGoogleCloudDialogflowV2Document(), ]; -void checkUnnamed80(core.List o) { +void checkUnnamed89(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2Document(o[0]); checkGoogleCloudDialogflowV2Document(o[1]); @@ -6100,7 +6660,7 @@ api.GoogleCloudDialogflowV2ListDocumentsResponse final o = api.GoogleCloudDialogflowV2ListDocumentsResponse(); buildCounterGoogleCloudDialogflowV2ListDocumentsResponse++; if (buildCounterGoogleCloudDialogflowV2ListDocumentsResponse < 3) { - o.documents = buildUnnamed80(); + o.documents = buildUnnamed89(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudDialogflowV2ListDocumentsResponse--; @@ -6111,7 +6671,7 @@ void checkGoogleCloudDialogflowV2ListDocumentsResponse( api.GoogleCloudDialogflowV2ListDocumentsResponse o) { buildCounterGoogleCloudDialogflowV2ListDocumentsResponse++; if (buildCounterGoogleCloudDialogflowV2ListDocumentsResponse < 3) { - checkUnnamed80(o.documents!); + checkUnnamed89(o.documents!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -6120,12 +6680,12 @@ void checkGoogleCloudDialogflowV2ListDocumentsResponse( buildCounterGoogleCloudDialogflowV2ListDocumentsResponse--; } -core.List buildUnnamed81() => [ +core.List buildUnnamed90() => [ buildGoogleCloudDialogflowV2EntityType(), buildGoogleCloudDialogflowV2EntityType(), ]; -void checkUnnamed81(core.List o) { +void checkUnnamed90(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2EntityType(o[0]); checkGoogleCloudDialogflowV2EntityType(o[1]); @@ -6137,7 +6697,7 @@ api.GoogleCloudDialogflowV2ListEntityTypesResponse final o = api.GoogleCloudDialogflowV2ListEntityTypesResponse(); buildCounterGoogleCloudDialogflowV2ListEntityTypesResponse++; if (buildCounterGoogleCloudDialogflowV2ListEntityTypesResponse < 3) { - o.entityTypes = buildUnnamed81(); + o.entityTypes = buildUnnamed90(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudDialogflowV2ListEntityTypesResponse--; @@ -6148,7 +6708,7 @@ void checkGoogleCloudDialogflowV2ListEntityTypesResponse( api.GoogleCloudDialogflowV2ListEntityTypesResponse o) { buildCounterGoogleCloudDialogflowV2ListEntityTypesResponse++; if (buildCounterGoogleCloudDialogflowV2ListEntityTypesResponse < 3) { - checkUnnamed81(o.entityTypes!); + checkUnnamed90(o.entityTypes!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -6157,12 +6717,12 @@ void checkGoogleCloudDialogflowV2ListEntityTypesResponse( buildCounterGoogleCloudDialogflowV2ListEntityTypesResponse--; } -core.List buildUnnamed82() => [ +core.List buildUnnamed91() => [ buildGoogleCloudDialogflowV2Environment(), buildGoogleCloudDialogflowV2Environment(), ]; -void checkUnnamed82(core.List o) { +void checkUnnamed91(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2Environment(o[0]); checkGoogleCloudDialogflowV2Environment(o[1]); @@ -6174,7 +6734,7 @@ api.GoogleCloudDialogflowV2ListEnvironmentsResponse final o = api.GoogleCloudDialogflowV2ListEnvironmentsResponse(); buildCounterGoogleCloudDialogflowV2ListEnvironmentsResponse++; if (buildCounterGoogleCloudDialogflowV2ListEnvironmentsResponse < 3) { - o.environments = buildUnnamed82(); + o.environments = buildUnnamed91(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudDialogflowV2ListEnvironmentsResponse--; @@ -6185,7 +6745,7 @@ void checkGoogleCloudDialogflowV2ListEnvironmentsResponse( api.GoogleCloudDialogflowV2ListEnvironmentsResponse o) { buildCounterGoogleCloudDialogflowV2ListEnvironmentsResponse++; if (buildCounterGoogleCloudDialogflowV2ListEnvironmentsResponse < 3) { - checkUnnamed82(o.environments!); + checkUnnamed91(o.environments!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -6194,12 +6754,12 @@ void checkGoogleCloudDialogflowV2ListEnvironmentsResponse( buildCounterGoogleCloudDialogflowV2ListEnvironmentsResponse--; } -core.List buildUnnamed83() => [ +core.List buildUnnamed92() => [ buildGoogleCloudDialogflowV2Generator(), buildGoogleCloudDialogflowV2Generator(), ]; -void checkUnnamed83(core.List o) { +void checkUnnamed92(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2Generator(o[0]); checkGoogleCloudDialogflowV2Generator(o[1]); @@ -6211,7 +6771,7 @@ api.GoogleCloudDialogflowV2ListGeneratorsResponse final o = api.GoogleCloudDialogflowV2ListGeneratorsResponse(); buildCounterGoogleCloudDialogflowV2ListGeneratorsResponse++; if (buildCounterGoogleCloudDialogflowV2ListGeneratorsResponse < 3) { - o.generators = buildUnnamed83(); + o.generators = buildUnnamed92(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudDialogflowV2ListGeneratorsResponse--; @@ -6222,7 +6782,7 @@ void checkGoogleCloudDialogflowV2ListGeneratorsResponse( api.GoogleCloudDialogflowV2ListGeneratorsResponse o) { buildCounterGoogleCloudDialogflowV2ListGeneratorsResponse++; if (buildCounterGoogleCloudDialogflowV2ListGeneratorsResponse < 3) { - checkUnnamed83(o.generators!); + checkUnnamed92(o.generators!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -6231,12 +6791,12 @@ void checkGoogleCloudDialogflowV2ListGeneratorsResponse( buildCounterGoogleCloudDialogflowV2ListGeneratorsResponse--; } -core.List buildUnnamed84() => [ +core.List buildUnnamed93() => [ buildGoogleCloudDialogflowV2Intent(), buildGoogleCloudDialogflowV2Intent(), ]; -void checkUnnamed84(core.List o) { +void checkUnnamed93(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2Intent(o[0]); checkGoogleCloudDialogflowV2Intent(o[1]); @@ -6248,7 +6808,7 @@ api.GoogleCloudDialogflowV2ListIntentsResponse final o = api.GoogleCloudDialogflowV2ListIntentsResponse(); buildCounterGoogleCloudDialogflowV2ListIntentsResponse++; if (buildCounterGoogleCloudDialogflowV2ListIntentsResponse < 3) { - o.intents = buildUnnamed84(); + o.intents = buildUnnamed93(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudDialogflowV2ListIntentsResponse--; @@ -6259,7 +6819,7 @@ void checkGoogleCloudDialogflowV2ListIntentsResponse( api.GoogleCloudDialogflowV2ListIntentsResponse o) { buildCounterGoogleCloudDialogflowV2ListIntentsResponse++; if (buildCounterGoogleCloudDialogflowV2ListIntentsResponse < 3) { - checkUnnamed84(o.intents!); + checkUnnamed93(o.intents!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -6268,12 +6828,12 @@ void checkGoogleCloudDialogflowV2ListIntentsResponse( buildCounterGoogleCloudDialogflowV2ListIntentsResponse--; } -core.List buildUnnamed85() => [ +core.List buildUnnamed94() => [ buildGoogleCloudDialogflowV2KnowledgeBase(), buildGoogleCloudDialogflowV2KnowledgeBase(), ]; -void checkUnnamed85(core.List o) { +void checkUnnamed94(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2KnowledgeBase(o[0]); checkGoogleCloudDialogflowV2KnowledgeBase(o[1]); @@ -6285,7 +6845,7 @@ api.GoogleCloudDialogflowV2ListKnowledgeBasesResponse final o = api.GoogleCloudDialogflowV2ListKnowledgeBasesResponse(); buildCounterGoogleCloudDialogflowV2ListKnowledgeBasesResponse++; if (buildCounterGoogleCloudDialogflowV2ListKnowledgeBasesResponse < 3) { - o.knowledgeBases = buildUnnamed85(); + o.knowledgeBases = buildUnnamed94(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudDialogflowV2ListKnowledgeBasesResponse--; @@ -6296,7 +6856,7 @@ void checkGoogleCloudDialogflowV2ListKnowledgeBasesResponse( api.GoogleCloudDialogflowV2ListKnowledgeBasesResponse o) { buildCounterGoogleCloudDialogflowV2ListKnowledgeBasesResponse++; if (buildCounterGoogleCloudDialogflowV2ListKnowledgeBasesResponse < 3) { - checkUnnamed85(o.knowledgeBases!); + checkUnnamed94(o.knowledgeBases!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -6305,12 +6865,12 @@ void checkGoogleCloudDialogflowV2ListKnowledgeBasesResponse( buildCounterGoogleCloudDialogflowV2ListKnowledgeBasesResponse--; } -core.List buildUnnamed86() => [ +core.List buildUnnamed95() => [ buildGoogleCloudDialogflowV2Message(), buildGoogleCloudDialogflowV2Message(), ]; -void checkUnnamed86(core.List o) { +void checkUnnamed95(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2Message(o[0]); checkGoogleCloudDialogflowV2Message(o[1]); @@ -6322,7 +6882,7 @@ api.GoogleCloudDialogflowV2ListMessagesResponse final o = api.GoogleCloudDialogflowV2ListMessagesResponse(); buildCounterGoogleCloudDialogflowV2ListMessagesResponse++; if (buildCounterGoogleCloudDialogflowV2ListMessagesResponse < 3) { - o.messages = buildUnnamed86(); + o.messages = buildUnnamed95(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudDialogflowV2ListMessagesResponse--; @@ -6333,7 +6893,7 @@ void checkGoogleCloudDialogflowV2ListMessagesResponse( api.GoogleCloudDialogflowV2ListMessagesResponse o) { buildCounterGoogleCloudDialogflowV2ListMessagesResponse++; if (buildCounterGoogleCloudDialogflowV2ListMessagesResponse < 3) { - checkUnnamed86(o.messages!); + checkUnnamed95(o.messages!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -6342,12 +6902,12 @@ void checkGoogleCloudDialogflowV2ListMessagesResponse( buildCounterGoogleCloudDialogflowV2ListMessagesResponse--; } -core.List buildUnnamed87() => [ +core.List buildUnnamed96() => [ buildGoogleCloudDialogflowV2Participant(), buildGoogleCloudDialogflowV2Participant(), ]; -void checkUnnamed87(core.List o) { +void checkUnnamed96(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2Participant(o[0]); checkGoogleCloudDialogflowV2Participant(o[1]); @@ -6360,7 +6920,7 @@ api.GoogleCloudDialogflowV2ListParticipantsResponse buildCounterGoogleCloudDialogflowV2ListParticipantsResponse++; if (buildCounterGoogleCloudDialogflowV2ListParticipantsResponse < 3) { o.nextPageToken = 'foo'; - o.participants = buildUnnamed87(); + o.participants = buildUnnamed96(); } buildCounterGoogleCloudDialogflowV2ListParticipantsResponse--; return o; @@ -6374,17 +6934,17 @@ void checkGoogleCloudDialogflowV2ListParticipantsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed87(o.participants!); + checkUnnamed96(o.participants!); } buildCounterGoogleCloudDialogflowV2ListParticipantsResponse--; } -core.List buildUnnamed88() => [ +core.List buildUnnamed97() => [ buildGoogleCloudDialogflowV2SessionEntityType(), buildGoogleCloudDialogflowV2SessionEntityType(), ]; -void checkUnnamed88(core.List o) { +void checkUnnamed97(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2SessionEntityType(o[0]); checkGoogleCloudDialogflowV2SessionEntityType(o[1]); @@ -6397,7 +6957,7 @@ api.GoogleCloudDialogflowV2ListSessionEntityTypesResponse buildCounterGoogleCloudDialogflowV2ListSessionEntityTypesResponse++; if (buildCounterGoogleCloudDialogflowV2ListSessionEntityTypesResponse < 3) { o.nextPageToken = 'foo'; - o.sessionEntityTypes = buildUnnamed88(); + o.sessionEntityTypes = buildUnnamed97(); } buildCounterGoogleCloudDialogflowV2ListSessionEntityTypesResponse--; return o; @@ -6411,17 +6971,17 @@ void checkGoogleCloudDialogflowV2ListSessionEntityTypesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed88(o.sessionEntityTypes!); + checkUnnamed97(o.sessionEntityTypes!); } buildCounterGoogleCloudDialogflowV2ListSessionEntityTypesResponse--; } -core.List buildUnnamed89() => [ +core.List buildUnnamed98() => [ buildGoogleCloudDialogflowV2Version(), buildGoogleCloudDialogflowV2Version(), ]; -void checkUnnamed89(core.List o) { +void checkUnnamed98(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2Version(o[0]); checkGoogleCloudDialogflowV2Version(o[1]); @@ -6434,7 +6994,7 @@ api.GoogleCloudDialogflowV2ListVersionsResponse buildCounterGoogleCloudDialogflowV2ListVersionsResponse++; if (buildCounterGoogleCloudDialogflowV2ListVersionsResponse < 3) { o.nextPageToken = 'foo'; - o.versions = buildUnnamed89(); + o.versions = buildUnnamed98(); } buildCounterGoogleCloudDialogflowV2ListVersionsResponse--; return o; @@ -6448,7 +7008,7 @@ void checkGoogleCloudDialogflowV2ListVersionsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed89(o.versions!); + checkUnnamed98(o.versions!); } buildCounterGoogleCloudDialogflowV2ListVersionsResponse--; } @@ -6530,12 +7090,12 @@ void checkGoogleCloudDialogflowV2Message(api.GoogleCloudDialogflowV2Message o) { buildCounterGoogleCloudDialogflowV2Message--; } -core.List buildUnnamed90() => [ +core.List buildUnnamed99() => [ buildGoogleCloudDialogflowV2AnnotatedMessagePart(), buildGoogleCloudDialogflowV2AnnotatedMessagePart(), ]; -void checkUnnamed90( +void checkUnnamed99( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2AnnotatedMessagePart(o[0]); @@ -6549,7 +7109,7 @@ api.GoogleCloudDialogflowV2MessageAnnotation buildCounterGoogleCloudDialogflowV2MessageAnnotation++; if (buildCounterGoogleCloudDialogflowV2MessageAnnotation < 3) { o.containEntities = true; - o.parts = buildUnnamed90(); + o.parts = buildUnnamed99(); } buildCounterGoogleCloudDialogflowV2MessageAnnotation--; return o; @@ -6560,7 +7120,7 @@ void checkGoogleCloudDialogflowV2MessageAnnotation( buildCounterGoogleCloudDialogflowV2MessageAnnotation++; if (buildCounterGoogleCloudDialogflowV2MessageAnnotation < 3) { unittest.expect(o.containEntities!, unittest.isTrue); - checkUnnamed90(o.parts!); + checkUnnamed99(o.parts!); } buildCounterGoogleCloudDialogflowV2MessageAnnotation--; } @@ -6692,12 +7252,12 @@ void checkGoogleCloudDialogflowV2OutputAudioConfig( buildCounterGoogleCloudDialogflowV2OutputAudioConfig--; } -core.Map buildUnnamed91() => { +core.Map buildUnnamed100() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed91(core.Map o) { +void checkUnnamed100(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -6715,7 +7275,7 @@ api.GoogleCloudDialogflowV2Participant final o = api.GoogleCloudDialogflowV2Participant(); buildCounterGoogleCloudDialogflowV2Participant++; if (buildCounterGoogleCloudDialogflowV2Participant < 3) { - o.documentsMetadataFilters = buildUnnamed91(); + o.documentsMetadataFilters = buildUnnamed100(); o.name = 'foo'; o.obfuscatedExternalUserId = 'foo'; o.role = 'foo'; @@ -6729,7 +7289,7 @@ void checkGoogleCloudDialogflowV2Participant( api.GoogleCloudDialogflowV2Participant o) { buildCounterGoogleCloudDialogflowV2Participant++; if (buildCounterGoogleCloudDialogflowV2Participant < 3) { - checkUnnamed91(o.documentsMetadataFilters!); + checkUnnamed100(o.documentsMetadataFilters!); unittest.expect( o.name!, unittest.equals('foo'), @@ -6774,18 +7334,18 @@ void checkGoogleCloudDialogflowV2QueryInput( buildCounterGoogleCloudDialogflowV2QueryInput--; } -core.List buildUnnamed92() => [ +core.List buildUnnamed101() => [ buildGoogleCloudDialogflowV2Context(), buildGoogleCloudDialogflowV2Context(), ]; -void checkUnnamed92(core.List o) { +void checkUnnamed101(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2Context(o[0]); checkGoogleCloudDialogflowV2Context(o[1]); } -core.Map buildUnnamed93() => { +core.Map buildUnnamed102() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -6798,7 +7358,7 @@ core.Map buildUnnamed93() => { }, }; -void checkUnnamed93(core.Map o) { +void checkUnnamed102(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted12 = (o['x']!) as core.Map; unittest.expect(casted12, unittest.hasLength(3)); @@ -6830,23 +7390,24 @@ void checkUnnamed93(core.Map o) { ); } -core.List buildUnnamed94() => [ +core.List buildUnnamed103() => [ buildGoogleCloudDialogflowV2SessionEntityType(), buildGoogleCloudDialogflowV2SessionEntityType(), ]; -void checkUnnamed94(core.List o) { +void checkUnnamed103( + core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2SessionEntityType(o[0]); checkGoogleCloudDialogflowV2SessionEntityType(o[1]); } -core.Map buildUnnamed95() => { +core.Map buildUnnamed104() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed95(core.Map o) { +void checkUnnamed104(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -6864,16 +7425,16 @@ api.GoogleCloudDialogflowV2QueryParameters final o = api.GoogleCloudDialogflowV2QueryParameters(); buildCounterGoogleCloudDialogflowV2QueryParameters++; if (buildCounterGoogleCloudDialogflowV2QueryParameters < 3) { - o.contexts = buildUnnamed92(); + o.contexts = buildUnnamed101(); o.geoLocation = buildGoogleTypeLatLng(); - o.payload = buildUnnamed93(); + o.payload = buildUnnamed102(); o.platform = 'foo'; o.resetContexts = true; o.sentimentAnalysisRequestConfig = buildGoogleCloudDialogflowV2SentimentAnalysisRequestConfig(); - o.sessionEntityTypes = buildUnnamed94(); + o.sessionEntityTypes = buildUnnamed103(); o.timeZone = 'foo'; - o.webhookHeaders = buildUnnamed95(); + o.webhookHeaders = buildUnnamed104(); } buildCounterGoogleCloudDialogflowV2QueryParameters--; return o; @@ -6883,9 +7444,9 @@ void checkGoogleCloudDialogflowV2QueryParameters( api.GoogleCloudDialogflowV2QueryParameters o) { buildCounterGoogleCloudDialogflowV2QueryParameters++; if (buildCounterGoogleCloudDialogflowV2QueryParameters < 3) { - checkUnnamed92(o.contexts!); + checkUnnamed101(o.contexts!); checkGoogleTypeLatLng(o.geoLocation!); - checkUnnamed93(o.payload!); + checkUnnamed102(o.payload!); unittest.expect( o.platform!, unittest.equals('foo'), @@ -6893,17 +7454,17 @@ void checkGoogleCloudDialogflowV2QueryParameters( unittest.expect(o.resetContexts!, unittest.isTrue); checkGoogleCloudDialogflowV2SentimentAnalysisRequestConfig( o.sentimentAnalysisRequestConfig!); - checkUnnamed94(o.sessionEntityTypes!); + checkUnnamed103(o.sessionEntityTypes!); unittest.expect( o.timeZone!, unittest.equals('foo'), ); - checkUnnamed95(o.webhookHeaders!); + checkUnnamed104(o.webhookHeaders!); } buildCounterGoogleCloudDialogflowV2QueryParameters--; } -core.Map buildUnnamed96() => { +core.Map buildUnnamed105() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -6916,7 +7477,7 @@ core.Map buildUnnamed96() => { }, }; -void checkUnnamed96(core.Map o) { +void checkUnnamed105(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted14 = (o['x']!) as core.Map; unittest.expect(casted14, unittest.hasLength(3)); @@ -6948,29 +7509,29 @@ void checkUnnamed96(core.Map o) { ); } -core.List buildUnnamed97() => [ +core.List buildUnnamed106() => [ buildGoogleCloudDialogflowV2IntentMessage(), buildGoogleCloudDialogflowV2IntentMessage(), ]; -void checkUnnamed97(core.List o) { +void checkUnnamed106(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2IntentMessage(o[0]); checkGoogleCloudDialogflowV2IntentMessage(o[1]); } -core.List buildUnnamed98() => [ +core.List buildUnnamed107() => [ buildGoogleCloudDialogflowV2Context(), buildGoogleCloudDialogflowV2Context(), ]; -void checkUnnamed98(core.List o) { +void checkUnnamed107(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2Context(o[0]); checkGoogleCloudDialogflowV2Context(o[1]); } -core.Map buildUnnamed99() => { +core.Map buildUnnamed108() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -6983,7 +7544,7 @@ core.Map buildUnnamed99() => { }, }; -void checkUnnamed99(core.Map o) { +void checkUnnamed108(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted16 = (o['x']!) as core.Map; unittest.expect(casted16, unittest.hasLength(3)); @@ -7015,7 +7576,7 @@ void checkUnnamed99(core.Map o) { ); } -core.Map buildUnnamed100() => { +core.Map buildUnnamed109() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -7028,7 +7589,7 @@ core.Map buildUnnamed100() => { }, }; -void checkUnnamed100(core.Map o) { +void checkUnnamed109(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted18 = (o['x']!) as core.Map; unittest.expect(casted18, unittest.hasLength(3)); @@ -7069,19 +7630,19 @@ api.GoogleCloudDialogflowV2QueryResult o.action = 'foo'; o.allRequiredParamsPresent = true; o.cancelsSlotFilling = true; - o.diagnosticInfo = buildUnnamed96(); - o.fulfillmentMessages = buildUnnamed97(); + o.diagnosticInfo = buildUnnamed105(); + o.fulfillmentMessages = buildUnnamed106(); o.fulfillmentText = 'foo'; o.intent = buildGoogleCloudDialogflowV2Intent(); o.intentDetectionConfidence = 42.0; o.languageCode = 'foo'; - o.outputContexts = buildUnnamed98(); - o.parameters = buildUnnamed99(); + o.outputContexts = buildUnnamed107(); + o.parameters = buildUnnamed108(); o.queryText = 'foo'; o.sentimentAnalysisResult = buildGoogleCloudDialogflowV2SentimentAnalysisResult(); o.speechRecognitionConfidence = 42.0; - o.webhookPayload = buildUnnamed100(); + o.webhookPayload = buildUnnamed109(); o.webhookSource = 'foo'; } buildCounterGoogleCloudDialogflowV2QueryResult--; @@ -7098,8 +7659,8 @@ void checkGoogleCloudDialogflowV2QueryResult( ); unittest.expect(o.allRequiredParamsPresent!, unittest.isTrue); unittest.expect(o.cancelsSlotFilling!, unittest.isTrue); - checkUnnamed96(o.diagnosticInfo!); - checkUnnamed97(o.fulfillmentMessages!); + checkUnnamed105(o.diagnosticInfo!); + checkUnnamed106(o.fulfillmentMessages!); unittest.expect( o.fulfillmentText!, unittest.equals('foo'), @@ -7113,8 +7674,8 @@ void checkGoogleCloudDialogflowV2QueryResult( o.languageCode!, unittest.equals('foo'), ); - checkUnnamed98(o.outputContexts!); - checkUnnamed99(o.parameters!); + checkUnnamed107(o.outputContexts!); + checkUnnamed108(o.parameters!); unittest.expect( o.queryText!, unittest.equals('foo'), @@ -7125,7 +7686,7 @@ void checkGoogleCloudDialogflowV2QueryResult( o.speechRecognitionConfidence!, unittest.equals(42.0), ); - checkUnnamed100(o.webhookPayload!); + checkUnnamed109(o.webhookPayload!); unittest.expect( o.webhookSource!, unittest.equals('foo'), @@ -7191,12 +7752,12 @@ void checkGoogleCloudDialogflowV2RestoreAgentRequest( buildCounterGoogleCloudDialogflowV2RestoreAgentRequest--; } -core.List buildUnnamed101() => [ +core.List buildUnnamed110() => [ buildGoogleCloudDialogflowV2Agent(), buildGoogleCloudDialogflowV2Agent(), ]; -void checkUnnamed101(core.List o) { +void checkUnnamed110(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2Agent(o[0]); checkGoogleCloudDialogflowV2Agent(o[1]); @@ -7208,7 +7769,7 @@ api.GoogleCloudDialogflowV2SearchAgentsResponse final o = api.GoogleCloudDialogflowV2SearchAgentsResponse(); buildCounterGoogleCloudDialogflowV2SearchAgentsResponse++; if (buildCounterGoogleCloudDialogflowV2SearchAgentsResponse < 3) { - o.agents = buildUnnamed101(); + o.agents = buildUnnamed110(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudDialogflowV2SearchAgentsResponse--; @@ -7219,7 +7780,7 @@ void checkGoogleCloudDialogflowV2SearchAgentsResponse( api.GoogleCloudDialogflowV2SearchAgentsResponse o) { buildCounterGoogleCloudDialogflowV2SearchAgentsResponse++; if (buildCounterGoogleCloudDialogflowV2SearchAgentsResponse < 3) { - checkUnnamed101(o.agents!); + checkUnnamed110(o.agents!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7229,12 +7790,12 @@ void checkGoogleCloudDialogflowV2SearchAgentsResponse( } core.List - buildUnnamed102() => [ + buildUnnamed111() => [ buildGoogleCloudDialogflowV2SearchKnowledgeAnswerAnswerSource(), buildGoogleCloudDialogflowV2SearchKnowledgeAnswerAnswerSource(), ]; -void checkUnnamed102( +void checkUnnamed111( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2SearchKnowledgeAnswerAnswerSource(o[0]); @@ -7249,7 +7810,7 @@ api.GoogleCloudDialogflowV2SearchKnowledgeAnswer if (buildCounterGoogleCloudDialogflowV2SearchKnowledgeAnswer < 3) { o.answer = 'foo'; o.answerRecord = 'foo'; - o.answerSources = buildUnnamed102(); + o.answerSources = buildUnnamed111(); o.answerType = 'foo'; } buildCounterGoogleCloudDialogflowV2SearchKnowledgeAnswer--; @@ -7268,7 +7829,7 @@ void checkGoogleCloudDialogflowV2SearchKnowledgeAnswer( o.answerRecord!, unittest.equals('foo'), ); - checkUnnamed102(o.answerSources!); + checkUnnamed111(o.answerSources!); unittest.expect( o.answerType!, unittest.equals('foo'), @@ -7277,7 +7838,7 @@ void checkGoogleCloudDialogflowV2SearchKnowledgeAnswer( buildCounterGoogleCloudDialogflowV2SearchKnowledgeAnswer--; } -core.Map buildUnnamed103() => { +core.Map buildUnnamed112() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -7290,7 +7851,7 @@ core.Map buildUnnamed103() => { }, }; -void checkUnnamed103(core.Map o) { +void checkUnnamed112(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted20 = (o['x']!) as core.Map; unittest.expect(casted20, unittest.hasLength(3)); @@ -7330,7 +7891,7 @@ api.GoogleCloudDialogflowV2SearchKnowledgeAnswerAnswerSource buildCounterGoogleCloudDialogflowV2SearchKnowledgeAnswerAnswerSource++; if (buildCounterGoogleCloudDialogflowV2SearchKnowledgeAnswerAnswerSource < 3) { - o.metadata = buildUnnamed103(); + o.metadata = buildUnnamed112(); o.snippet = 'foo'; o.title = 'foo'; o.uri = 'foo'; @@ -7344,7 +7905,7 @@ void checkGoogleCloudDialogflowV2SearchKnowledgeAnswerAnswerSource( buildCounterGoogleCloudDialogflowV2SearchKnowledgeAnswerAnswerSource++; if (buildCounterGoogleCloudDialogflowV2SearchKnowledgeAnswerAnswerSource < 3) { - checkUnnamed103(o.metadata!); + checkUnnamed112(o.metadata!); unittest.expect( o.snippet!, unittest.equals('foo'), @@ -7361,7 +7922,7 @@ void checkGoogleCloudDialogflowV2SearchKnowledgeAnswerAnswerSource( buildCounterGoogleCloudDialogflowV2SearchKnowledgeAnswerAnswerSource--; } -core.Map buildUnnamed104() => { +core.Map buildUnnamed113() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -7374,7 +7935,7 @@ core.Map buildUnnamed104() => { }, }; -void checkUnnamed104(core.Map o) { +void checkUnnamed113(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted22 = (o['x']!) as core.Map; unittest.expect(casted22, unittest.hasLength(3)); @@ -7414,7 +7975,7 @@ api.GoogleCloudDialogflowV2SearchKnowledgeRequest if (buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequest < 3) { o.conversation = 'foo'; o.conversationProfile = 'foo'; - o.endUserMetadata = buildUnnamed104(); + o.endUserMetadata = buildUnnamed113(); o.exactSearch = true; o.latestMessage = 'foo'; o.parent = 'foo'; @@ -7440,7 +8001,7 @@ void checkGoogleCloudDialogflowV2SearchKnowledgeRequest( o.conversationProfile!, unittest.equals('foo'), ); - checkUnnamed104(o.endUserMetadata!); + checkUnnamed113(o.endUserMetadata!); unittest.expect(o.exactSearch!, unittest.isTrue); unittest.expect( o.latestMessage!, @@ -7467,12 +8028,12 @@ void checkGoogleCloudDialogflowV2SearchKnowledgeRequest( core.List< api.GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecs> - buildUnnamed105() => [ + buildUnnamed114() => [ buildGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecs(), buildGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecs(), ]; -void checkUnnamed105( +void checkUnnamed114( core.List< api .GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecs> @@ -7487,12 +8048,12 @@ void checkUnnamed105( core.List< api .GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigFilterSpecs> - buildUnnamed106() => [ + buildUnnamed115() => [ buildGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigFilterSpecs(), buildGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigFilterSpecs(), ]; -void checkUnnamed106( +void checkUnnamed115( core.List< api .GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigFilterSpecs> @@ -7512,8 +8073,8 @@ api.GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfig buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfig++; if (buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfig < 3) { - o.boostSpecs = buildUnnamed105(); - o.filterSpecs = buildUnnamed106(); + o.boostSpecs = buildUnnamed114(); + o.filterSpecs = buildUnnamed115(); } buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfig--; return o; @@ -7524,18 +8085,18 @@ void checkGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfig( buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfig++; if (buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfig < 3) { - checkUnnamed105(o.boostSpecs!); - checkUnnamed106(o.filterSpecs!); + checkUnnamed114(o.boostSpecs!); + checkUnnamed115(o.filterSpecs!); } buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfig--; } -core.List buildUnnamed107() => [ +core.List buildUnnamed116() => [ 'foo', 'foo', ]; -void checkUnnamed107(core.List o) { +void checkUnnamed116(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7550,12 +8111,12 @@ void checkUnnamed107(core.List o) { core.List< api .GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec> - buildUnnamed108() => [ + buildUnnamed117() => [ buildGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec(), buildGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec(), ]; -void checkUnnamed108( +void checkUnnamed117( core.List< api .GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec> @@ -7577,8 +8138,8 @@ api.GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecs buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecs++; if (buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecs < 3) { - o.dataStores = buildUnnamed107(); - o.spec = buildUnnamed108(); + o.dataStores = buildUnnamed116(); + o.spec = buildUnnamed117(); } buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecs--; return o; @@ -7589,8 +8150,8 @@ void checkGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecs( buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecs++; if (buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecs < 3) { - checkUnnamed107(o.dataStores!); - checkUnnamed108(o.spec!); + checkUnnamed116(o.dataStores!); + checkUnnamed117(o.spec!); } buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecs--; } @@ -7598,12 +8159,12 @@ void checkGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecs( core.List< api .GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec> - buildUnnamed109() => [ + buildUnnamed118() => [ buildGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec(), buildGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec(), ]; -void checkUnnamed109( +void checkUnnamed118( core.List< api .GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec> @@ -7625,7 +8186,7 @@ api.GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec++; if (buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec < 3) { - o.conditionBoostSpecs = buildUnnamed109(); + o.conditionBoostSpecs = buildUnnamed118(); } buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec--; return o; @@ -7637,7 +8198,7 @@ void checkGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoo buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec++; if (buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec < 3) { - checkUnnamed109(o.conditionBoostSpecs!); + checkUnnamed118(o.conditionBoostSpecs!); } buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec--; } @@ -7684,12 +8245,12 @@ void checkGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoo core.List< api .GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint> - buildUnnamed110() => [ + buildUnnamed119() => [ buildGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint(), buildGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint(), ]; -void checkUnnamed110( +void checkUnnamed119( core.List< api .GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint> @@ -7712,7 +8273,7 @@ api.GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec if (buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpec < 3) { o.attributeType = 'foo'; - o.controlPoints = buildUnnamed110(); + o.controlPoints = buildUnnamed119(); o.fieldName = 'foo'; o.interpolationType = 'foo'; } @@ -7730,7 +8291,7 @@ void checkGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoo o.attributeType!, unittest.equals('foo'), ); - checkUnnamed110(o.controlPoints!); + checkUnnamed119(o.controlPoints!); unittest.expect( o.fieldName!, unittest.equals('foo'), @@ -7778,12 +8339,12 @@ void checkGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoo buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint--; } -core.List buildUnnamed111() => [ +core.List buildUnnamed120() => [ 'foo', 'foo', ]; -void checkUnnamed111(core.List o) { +void checkUnnamed120(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7805,7 +8366,7 @@ api.GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigFilterSpecs buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigFilterSpecs++; if (buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigFilterSpecs < 3) { - o.dataStores = buildUnnamed111(); + o.dataStores = buildUnnamed120(); o.filter = 'foo'; } buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigFilterSpecs--; @@ -7818,7 +8379,7 @@ void checkGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigFilterSpecs( buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigFilterSpecs++; if (buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigFilterSpecs < 3) { - checkUnnamed111(o.dataStores!); + checkUnnamed120(o.dataStores!); unittest.expect( o.filter!, unittest.equals('foo'), @@ -7827,13 +8388,13 @@ void checkGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigFilterSpecs( buildCounterGoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigFilterSpecs--; } -core.List buildUnnamed112() => +core.List buildUnnamed121() => [ buildGoogleCloudDialogflowV2SearchKnowledgeAnswer(), buildGoogleCloudDialogflowV2SearchKnowledgeAnswer(), ]; -void checkUnnamed112( +void checkUnnamed121( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2SearchKnowledgeAnswer(o[0]); @@ -7846,7 +8407,7 @@ api.GoogleCloudDialogflowV2SearchKnowledgeResponse final o = api.GoogleCloudDialogflowV2SearchKnowledgeResponse(); buildCounterGoogleCloudDialogflowV2SearchKnowledgeResponse++; if (buildCounterGoogleCloudDialogflowV2SearchKnowledgeResponse < 3) { - o.answers = buildUnnamed112(); + o.answers = buildUnnamed121(); o.rewrittenQuery = 'foo'; } buildCounterGoogleCloudDialogflowV2SearchKnowledgeResponse--; @@ -7857,7 +8418,7 @@ void checkGoogleCloudDialogflowV2SearchKnowledgeResponse( api.GoogleCloudDialogflowV2SearchKnowledgeResponse o) { buildCounterGoogleCloudDialogflowV2SearchKnowledgeResponse++; if (buildCounterGoogleCloudDialogflowV2SearchKnowledgeResponse < 3) { - checkUnnamed112(o.answers!); + checkUnnamed121(o.answers!); unittest.expect( o.rewrittenQuery!, unittest.equals('foo'), @@ -7936,12 +8497,12 @@ void checkGoogleCloudDialogflowV2SentimentAnalysisResult( buildCounterGoogleCloudDialogflowV2SentimentAnalysisResult--; } -core.List buildUnnamed113() => [ +core.List buildUnnamed122() => [ buildGoogleCloudDialogflowV2EntityTypeEntity(), buildGoogleCloudDialogflowV2EntityTypeEntity(), ]; -void checkUnnamed113(core.List o) { +void checkUnnamed122(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2EntityTypeEntity(o[0]); checkGoogleCloudDialogflowV2EntityTypeEntity(o[1]); @@ -7953,7 +8514,7 @@ api.GoogleCloudDialogflowV2SessionEntityType final o = api.GoogleCloudDialogflowV2SessionEntityType(); buildCounterGoogleCloudDialogflowV2SessionEntityType++; if (buildCounterGoogleCloudDialogflowV2SessionEntityType < 3) { - o.entities = buildUnnamed113(); + o.entities = buildUnnamed122(); o.entityOverrideMode = 'foo'; o.name = 'foo'; } @@ -7965,7 +8526,7 @@ void checkGoogleCloudDialogflowV2SessionEntityType( api.GoogleCloudDialogflowV2SessionEntityType o) { buildCounterGoogleCloudDialogflowV2SessionEntityType++; if (buildCounterGoogleCloudDialogflowV2SessionEntityType < 3) { - checkUnnamed113(o.entities!); + checkUnnamed122(o.entities!); unittest.expect( o.entityOverrideMode!, unittest.equals('foo'), @@ -8044,12 +8605,12 @@ void checkGoogleCloudDialogflowV2SmartReplyAnswer( } core.List - buildUnnamed114() => [ + buildUnnamed123() => [ buildGoogleCloudDialogflowV2SmartReplyMetricsTopNMetrics(), buildGoogleCloudDialogflowV2SmartReplyMetricsTopNMetrics(), ]; -void checkUnnamed114( +void checkUnnamed123( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2SmartReplyMetricsTopNMetrics(o[0]); @@ -8064,7 +8625,7 @@ api.GoogleCloudDialogflowV2SmartReplyMetrics if (buildCounterGoogleCloudDialogflowV2SmartReplyMetrics < 3) { o.allowlistCoverage = 42.0; o.conversationCount = 'foo'; - o.topNMetrics = buildUnnamed114(); + o.topNMetrics = buildUnnamed123(); } buildCounterGoogleCloudDialogflowV2SmartReplyMetrics--; return o; @@ -8082,7 +8643,7 @@ void checkGoogleCloudDialogflowV2SmartReplyMetrics( o.conversationCount!, unittest.equals('foo'), ); - checkUnnamed114(o.topNMetrics!); + checkUnnamed123(o.topNMetrics!); } buildCounterGoogleCloudDialogflowV2SmartReplyMetrics--; } @@ -8140,12 +8701,12 @@ void checkGoogleCloudDialogflowV2SmartReplyModelMetadata( buildCounterGoogleCloudDialogflowV2SmartReplyModelMetadata--; } -core.List buildUnnamed115() => [ +core.List buildUnnamed124() => [ 'foo', 'foo', ]; -void checkUnnamed115(core.List o) { +void checkUnnamed124(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8164,7 +8725,7 @@ api.GoogleCloudDialogflowV2SpeechContext buildCounterGoogleCloudDialogflowV2SpeechContext++; if (buildCounterGoogleCloudDialogflowV2SpeechContext < 3) { o.boost = 42.0; - o.phrases = buildUnnamed115(); + o.phrases = buildUnnamed124(); } buildCounterGoogleCloudDialogflowV2SpeechContext--; return o; @@ -8178,17 +8739,17 @@ void checkGoogleCloudDialogflowV2SpeechContext( o.boost!, unittest.equals(42.0), ); - checkUnnamed115(o.phrases!); + checkUnnamed124(o.phrases!); } buildCounterGoogleCloudDialogflowV2SpeechContext--; } -core.List buildUnnamed116() => [ +core.List buildUnnamed125() => [ 'foo', 'foo', ]; -void checkUnnamed116(core.List o) { +void checkUnnamed125(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8210,7 +8771,7 @@ api.GoogleCloudDialogflowV2SpeechToTextConfig o.enableWordInfo = true; o.languageCode = 'foo'; o.model = 'foo'; - o.phraseSets = buildUnnamed116(); + o.phraseSets = buildUnnamed125(); o.sampleRateHertz = 42; o.speechModelVariant = 'foo'; o.useTimeoutBasedEndpointing = true; @@ -8236,7 +8797,7 @@ void checkGoogleCloudDialogflowV2SpeechToTextConfig( o.model!, unittest.equals('foo'), ); - checkUnnamed116(o.phraseSets!); + checkUnnamed125(o.phraseSets!); unittest.expect( o.sampleRateHertz!, unittest.equals(42), @@ -8281,12 +8842,12 @@ void checkGoogleCloudDialogflowV2SuggestArticlesRequest( buildCounterGoogleCloudDialogflowV2SuggestArticlesRequest--; } -core.List buildUnnamed117() => [ +core.List buildUnnamed126() => [ buildGoogleCloudDialogflowV2ArticleAnswer(), buildGoogleCloudDialogflowV2ArticleAnswer(), ]; -void checkUnnamed117(core.List o) { +void checkUnnamed126(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2ArticleAnswer(o[0]); checkGoogleCloudDialogflowV2ArticleAnswer(o[1]); @@ -8298,7 +8859,7 @@ api.GoogleCloudDialogflowV2SuggestArticlesResponse final o = api.GoogleCloudDialogflowV2SuggestArticlesResponse(); buildCounterGoogleCloudDialogflowV2SuggestArticlesResponse++; if (buildCounterGoogleCloudDialogflowV2SuggestArticlesResponse < 3) { - o.articleAnswers = buildUnnamed117(); + o.articleAnswers = buildUnnamed126(); o.contextSize = 42; o.latestMessage = 'foo'; } @@ -8310,7 +8871,7 @@ void checkGoogleCloudDialogflowV2SuggestArticlesResponse( api.GoogleCloudDialogflowV2SuggestArticlesResponse o) { buildCounterGoogleCloudDialogflowV2SuggestArticlesResponse++; if (buildCounterGoogleCloudDialogflowV2SuggestArticlesResponse < 3) { - checkUnnamed117(o.articleAnswers!); + checkUnnamed126(o.articleAnswers!); unittest.expect( o.contextSize!, unittest.equals(42), @@ -8393,12 +8954,12 @@ void checkGoogleCloudDialogflowV2SuggestConversationSummaryResponse( buildCounterGoogleCloudDialogflowV2SuggestConversationSummaryResponse--; } -core.Map buildUnnamed118() => { +core.Map buildUnnamed127() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed118(core.Map o) { +void checkUnnamed127(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -8423,7 +8984,7 @@ api.GoogleCloudDialogflowV2SuggestConversationSummaryResponseSummary o.answerRecord = 'foo'; o.baselineModelVersion = 'foo'; o.text = 'foo'; - o.textSections = buildUnnamed118(); + o.textSections = buildUnnamed127(); } buildCounterGoogleCloudDialogflowV2SuggestConversationSummaryResponseSummary--; return o; @@ -8446,7 +9007,7 @@ void checkGoogleCloudDialogflowV2SuggestConversationSummaryResponseSummary( o.text!, unittest.equals('foo'), ); - checkUnnamed118(o.textSections!); + checkUnnamed127(o.textSections!); } buildCounterGoogleCloudDialogflowV2SuggestConversationSummaryResponseSummary--; } @@ -8482,12 +9043,12 @@ void checkGoogleCloudDialogflowV2SuggestFaqAnswersRequest( buildCounterGoogleCloudDialogflowV2SuggestFaqAnswersRequest--; } -core.List buildUnnamed119() => [ +core.List buildUnnamed128() => [ buildGoogleCloudDialogflowV2FaqAnswer(), buildGoogleCloudDialogflowV2FaqAnswer(), ]; -void checkUnnamed119(core.List o) { +void checkUnnamed128(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2FaqAnswer(o[0]); checkGoogleCloudDialogflowV2FaqAnswer(o[1]); @@ -8500,7 +9061,7 @@ api.GoogleCloudDialogflowV2SuggestFaqAnswersResponse buildCounterGoogleCloudDialogflowV2SuggestFaqAnswersResponse++; if (buildCounterGoogleCloudDialogflowV2SuggestFaqAnswersResponse < 3) { o.contextSize = 42; - o.faqAnswers = buildUnnamed119(); + o.faqAnswers = buildUnnamed128(); o.latestMessage = 'foo'; } buildCounterGoogleCloudDialogflowV2SuggestFaqAnswersResponse--; @@ -8515,7 +9076,7 @@ void checkGoogleCloudDialogflowV2SuggestFaqAnswersResponse( o.contextSize!, unittest.equals(42), ); - checkUnnamed119(o.faqAnswers!); + checkUnnamed128(o.faqAnswers!); unittest.expect( o.latestMessage!, unittest.equals('foo'), @@ -8621,12 +9182,12 @@ void checkGoogleCloudDialogflowV2SuggestSmartRepliesRequest( buildCounterGoogleCloudDialogflowV2SuggestSmartRepliesRequest--; } -core.List buildUnnamed120() => [ +core.List buildUnnamed129() => [ buildGoogleCloudDialogflowV2SmartReplyAnswer(), buildGoogleCloudDialogflowV2SmartReplyAnswer(), ]; -void checkUnnamed120(core.List o) { +void checkUnnamed129(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2SmartReplyAnswer(o[0]); checkGoogleCloudDialogflowV2SmartReplyAnswer(o[1]); @@ -8640,7 +9201,7 @@ api.GoogleCloudDialogflowV2SuggestSmartRepliesResponse if (buildCounterGoogleCloudDialogflowV2SuggestSmartRepliesResponse < 3) { o.contextSize = 42; o.latestMessage = 'foo'; - o.smartReplyAnswers = buildUnnamed120(); + o.smartReplyAnswers = buildUnnamed129(); } buildCounterGoogleCloudDialogflowV2SuggestSmartRepliesResponse--; return o; @@ -8658,7 +9219,7 @@ void checkGoogleCloudDialogflowV2SuggestSmartRepliesResponse( o.latestMessage!, unittest.equals('foo'), ); - checkUnnamed120(o.smartReplyAnswers!); + checkUnnamed129(o.smartReplyAnswers!); } buildCounterGoogleCloudDialogflowV2SuggestSmartRepliesResponse--; } @@ -8718,6 +9279,8 @@ api.GoogleCloudDialogflowV2SuggestionResult buildCounterGoogleCloudDialogflowV2SuggestionResult++; if (buildCounterGoogleCloudDialogflowV2SuggestionResult < 3) { o.error = buildGoogleRpcStatus(); + o.generateSuggestionsResponse = + buildGoogleCloudDialogflowV2GenerateSuggestionsResponse(); o.suggestArticlesResponse = buildGoogleCloudDialogflowV2SuggestArticlesResponse(); o.suggestFaqAnswersResponse = @@ -8736,6 +9299,8 @@ void checkGoogleCloudDialogflowV2SuggestionResult( buildCounterGoogleCloudDialogflowV2SuggestionResult++; if (buildCounterGoogleCloudDialogflowV2SuggestionResult < 3) { checkGoogleRpcStatus(o.error!); + checkGoogleCloudDialogflowV2GenerateSuggestionsResponse( + o.generateSuggestionsResponse!); checkGoogleCloudDialogflowV2SuggestArticlesResponse( o.suggestArticlesResponse!); checkGoogleCloudDialogflowV2SuggestFaqAnswersResponse( @@ -8748,24 +9313,24 @@ void checkGoogleCloudDialogflowV2SuggestionResult( buildCounterGoogleCloudDialogflowV2SuggestionResult--; } -core.List buildUnnamed121() => [ +core.List buildUnnamed130() => [ buildGoogleCloudDialogflowV2FewShotExample(), buildGoogleCloudDialogflowV2FewShotExample(), ]; -void checkUnnamed121(core.List o) { +void checkUnnamed130(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2FewShotExample(o[0]); checkGoogleCloudDialogflowV2FewShotExample(o[1]); } -core.List buildUnnamed122() => +core.List buildUnnamed131() => [ buildGoogleCloudDialogflowV2SummarizationSection(), buildGoogleCloudDialogflowV2SummarizationSection(), ]; -void checkUnnamed122( +void checkUnnamed131( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2SummarizationSection(o[0]); @@ -8778,9 +9343,9 @@ api.GoogleCloudDialogflowV2SummarizationContext final o = api.GoogleCloudDialogflowV2SummarizationContext(); buildCounterGoogleCloudDialogflowV2SummarizationContext++; if (buildCounterGoogleCloudDialogflowV2SummarizationContext < 3) { - o.fewShotExamples = buildUnnamed121(); + o.fewShotExamples = buildUnnamed130(); o.outputLanguageCode = 'foo'; - o.summarizationSections = buildUnnamed122(); + o.summarizationSections = buildUnnamed131(); o.version = 'foo'; } buildCounterGoogleCloudDialogflowV2SummarizationContext--; @@ -8791,12 +9356,12 @@ void checkGoogleCloudDialogflowV2SummarizationContext( api.GoogleCloudDialogflowV2SummarizationContext o) { buildCounterGoogleCloudDialogflowV2SummarizationContext++; if (buildCounterGoogleCloudDialogflowV2SummarizationContext < 3) { - checkUnnamed121(o.fewShotExamples!); + checkUnnamed130(o.fewShotExamples!); unittest.expect( o.outputLanguageCode!, unittest.equals('foo'), ); - checkUnnamed122(o.summarizationSections!); + checkUnnamed131(o.summarizationSections!); unittest.expect( o.version!, unittest.equals('foo'), @@ -8839,13 +9404,13 @@ void checkGoogleCloudDialogflowV2SummarizationSection( buildCounterGoogleCloudDialogflowV2SummarizationSection--; } -core.List buildUnnamed123() => +core.List buildUnnamed132() => [ buildGoogleCloudDialogflowV2SummarizationSection(), buildGoogleCloudDialogflowV2SummarizationSection(), ]; -void checkUnnamed123( +void checkUnnamed132( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2SummarizationSection(o[0]); @@ -8858,7 +9423,7 @@ api.GoogleCloudDialogflowV2SummarizationSectionList final o = api.GoogleCloudDialogflowV2SummarizationSectionList(); buildCounterGoogleCloudDialogflowV2SummarizationSectionList++; if (buildCounterGoogleCloudDialogflowV2SummarizationSectionList < 3) { - o.summarizationSections = buildUnnamed123(); + o.summarizationSections = buildUnnamed132(); } buildCounterGoogleCloudDialogflowV2SummarizationSectionList--; return o; @@ -8868,18 +9433,18 @@ void checkGoogleCloudDialogflowV2SummarizationSectionList( api.GoogleCloudDialogflowV2SummarizationSectionList o) { buildCounterGoogleCloudDialogflowV2SummarizationSectionList++; if (buildCounterGoogleCloudDialogflowV2SummarizationSectionList < 3) { - checkUnnamed123(o.summarizationSections!); + checkUnnamed132(o.summarizationSections!); } buildCounterGoogleCloudDialogflowV2SummarizationSectionList--; } core.List - buildUnnamed124() => [ + buildUnnamed133() => [ buildGoogleCloudDialogflowV2SummarySuggestionSummarySection(), buildGoogleCloudDialogflowV2SummarySuggestionSummarySection(), ]; -void checkUnnamed124( +void checkUnnamed133( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2SummarySuggestionSummarySection(o[0]); @@ -8892,7 +9457,7 @@ api.GoogleCloudDialogflowV2SummarySuggestion final o = api.GoogleCloudDialogflowV2SummarySuggestion(); buildCounterGoogleCloudDialogflowV2SummarySuggestion++; if (buildCounterGoogleCloudDialogflowV2SummarySuggestion < 3) { - o.summarySections = buildUnnamed124(); + o.summarySections = buildUnnamed133(); } buildCounterGoogleCloudDialogflowV2SummarySuggestion--; return o; @@ -8902,7 +9467,7 @@ void checkGoogleCloudDialogflowV2SummarySuggestion( api.GoogleCloudDialogflowV2SummarySuggestion o) { buildCounterGoogleCloudDialogflowV2SummarySuggestion++; if (buildCounterGoogleCloudDialogflowV2SummarySuggestion < 3) { - checkUnnamed124(o.summarySections!); + checkUnnamed133(o.summarySections!); } buildCounterGoogleCloudDialogflowV2SummarySuggestion--; } @@ -8936,12 +9501,12 @@ void checkGoogleCloudDialogflowV2SummarySuggestionSummarySection( buildCounterGoogleCloudDialogflowV2SummarySuggestionSummarySection--; } -core.List buildUnnamed125() => [ +core.List buildUnnamed134() => [ 'foo', 'foo', ]; -void checkUnnamed125(core.List o) { +void checkUnnamed134(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8959,7 +9524,7 @@ api.GoogleCloudDialogflowV2SynthesizeSpeechConfig final o = api.GoogleCloudDialogflowV2SynthesizeSpeechConfig(); buildCounterGoogleCloudDialogflowV2SynthesizeSpeechConfig++; if (buildCounterGoogleCloudDialogflowV2SynthesizeSpeechConfig < 3) { - o.effectsProfileId = buildUnnamed125(); + o.effectsProfileId = buildUnnamed134(); o.pitch = 42.0; o.speakingRate = 42.0; o.voice = buildGoogleCloudDialogflowV2VoiceSelectionParams(); @@ -8973,7 +9538,7 @@ void checkGoogleCloudDialogflowV2SynthesizeSpeechConfig( api.GoogleCloudDialogflowV2SynthesizeSpeechConfig o) { buildCounterGoogleCloudDialogflowV2SynthesizeSpeechConfig++; if (buildCounterGoogleCloudDialogflowV2SynthesizeSpeechConfig < 3) { - checkUnnamed125(o.effectsProfileId!); + checkUnnamed134(o.effectsProfileId!); unittest.expect( o.pitch!, unittest.equals(42.0), @@ -9020,12 +9585,12 @@ void checkGoogleCloudDialogflowV2TextInput( } core.Map - buildUnnamed126() => { + buildUnnamed135() => { 'x': buildGoogleCloudDialogflowV2SynthesizeSpeechConfig(), 'y': buildGoogleCloudDialogflowV2SynthesizeSpeechConfig(), }; -void checkUnnamed126( +void checkUnnamed135( core.Map o) { unittest.expect(o, unittest.hasLength(2)); @@ -9042,7 +9607,7 @@ api.GoogleCloudDialogflowV2TextToSpeechSettings o.enableTextToSpeech = true; o.outputAudioEncoding = 'foo'; o.sampleRateHertz = 42; - o.synthesizeSpeechConfigs = buildUnnamed126(); + o.synthesizeSpeechConfigs = buildUnnamed135(); } buildCounterGoogleCloudDialogflowV2TextToSpeechSettings--; return o; @@ -9061,7 +9626,7 @@ void checkGoogleCloudDialogflowV2TextToSpeechSettings( o.sampleRateHertz!, unittest.equals(42), ); - checkUnnamed126(o.synthesizeSpeechConfigs!); + checkUnnamed135(o.synthesizeSpeechConfigs!); } buildCounterGoogleCloudDialogflowV2TextToSpeechSettings--; } @@ -9103,12 +9668,12 @@ void checkGoogleCloudDialogflowV2UndeployConversationModelRequest( buildCounterGoogleCloudDialogflowV2UndeployConversationModelRequest--; } -core.List buildUnnamed127() => [ +core.List buildUnnamed136() => [ 'foo', 'foo', ]; -void checkUnnamed127(core.List o) { +void checkUnnamed136(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9126,7 +9691,7 @@ api.GoogleCloudDialogflowV2ValidationError final o = api.GoogleCloudDialogflowV2ValidationError(); buildCounterGoogleCloudDialogflowV2ValidationError++; if (buildCounterGoogleCloudDialogflowV2ValidationError < 3) { - o.entries = buildUnnamed127(); + o.entries = buildUnnamed136(); o.errorMessage = 'foo'; o.severity = 'foo'; } @@ -9138,7 +9703,7 @@ void checkGoogleCloudDialogflowV2ValidationError( api.GoogleCloudDialogflowV2ValidationError o) { buildCounterGoogleCloudDialogflowV2ValidationError++; if (buildCounterGoogleCloudDialogflowV2ValidationError < 3) { - checkUnnamed127(o.entries!); + checkUnnamed136(o.entries!); unittest.expect( o.errorMessage!, unittest.equals('foo'), @@ -9151,12 +9716,12 @@ void checkGoogleCloudDialogflowV2ValidationError( buildCounterGoogleCloudDialogflowV2ValidationError--; } -core.List buildUnnamed128() => [ +core.List buildUnnamed137() => [ buildGoogleCloudDialogflowV2ValidationError(), buildGoogleCloudDialogflowV2ValidationError(), ]; -void checkUnnamed128(core.List o) { +void checkUnnamed137(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudDialogflowV2ValidationError(o[0]); checkGoogleCloudDialogflowV2ValidationError(o[1]); @@ -9168,7 +9733,7 @@ api.GoogleCloudDialogflowV2ValidationResult final o = api.GoogleCloudDialogflowV2ValidationResult(); buildCounterGoogleCloudDialogflowV2ValidationResult++; if (buildCounterGoogleCloudDialogflowV2ValidationResult < 3) { - o.validationErrors = buildUnnamed128(); + o.validationErrors = buildUnnamed137(); } buildCounterGoogleCloudDialogflowV2ValidationResult--; return o; @@ -9178,7 +9743,7 @@ void checkGoogleCloudDialogflowV2ValidationResult( api.GoogleCloudDialogflowV2ValidationResult o) { buildCounterGoogleCloudDialogflowV2ValidationResult++; if (buildCounterGoogleCloudDialogflowV2ValidationResult < 3) { - checkUnnamed128(o.validationErrors!); + checkUnnamed137(o.validationErrors!); } buildCounterGoogleCloudDialogflowV2ValidationResult--; } @@ -9254,12 +9819,12 @@ void checkGoogleCloudDialogflowV2VoiceSelectionParams( buildCounterGoogleCloudDialogflowV2VoiceSelectionParams--; } -core.List buildUnnamed129() => [ +core.List buildUnnamed138() => [ buildGoogleCloudLocationLocation(), buildGoogleCloudLocationLocation(), ]; -void checkUnnamed129(core.List o) { +void checkUnnamed138(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudLocationLocation(o[0]); checkGoogleCloudLocationLocation(o[1]); @@ -9271,7 +9836,7 @@ api.GoogleCloudLocationListLocationsResponse final o = api.GoogleCloudLocationListLocationsResponse(); buildCounterGoogleCloudLocationListLocationsResponse++; if (buildCounterGoogleCloudLocationListLocationsResponse < 3) { - o.locations = buildUnnamed129(); + o.locations = buildUnnamed138(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudLocationListLocationsResponse--; @@ -9282,7 +9847,7 @@ void checkGoogleCloudLocationListLocationsResponse( api.GoogleCloudLocationListLocationsResponse o) { buildCounterGoogleCloudLocationListLocationsResponse++; if (buildCounterGoogleCloudLocationListLocationsResponse < 3) { - checkUnnamed129(o.locations!); + checkUnnamed138(o.locations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -9291,12 +9856,12 @@ void checkGoogleCloudLocationListLocationsResponse( buildCounterGoogleCloudLocationListLocationsResponse--; } -core.Map buildUnnamed130() => { +core.Map buildUnnamed139() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed130(core.Map o) { +void checkUnnamed139(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -9308,7 +9873,7 @@ void checkUnnamed130(core.Map o) { ); } -core.Map buildUnnamed131() => { +core.Map buildUnnamed140() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -9321,7 +9886,7 @@ core.Map buildUnnamed131() => { }, }; -void checkUnnamed131(core.Map o) { +void checkUnnamed140(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted24 = (o['x']!) as core.Map; unittest.expect(casted24, unittest.hasLength(3)); @@ -9359,9 +9924,9 @@ api.GoogleCloudLocationLocation buildGoogleCloudLocationLocation() { buildCounterGoogleCloudLocationLocation++; if (buildCounterGoogleCloudLocationLocation < 3) { o.displayName = 'foo'; - o.labels = buildUnnamed130(); + o.labels = buildUnnamed139(); o.locationId = 'foo'; - o.metadata = buildUnnamed131(); + o.metadata = buildUnnamed140(); o.name = 'foo'; } buildCounterGoogleCloudLocationLocation--; @@ -9375,12 +9940,12 @@ void checkGoogleCloudLocationLocation(api.GoogleCloudLocationLocation o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed130(o.labels!); + checkUnnamed139(o.labels!); unittest.expect( o.locationId!, unittest.equals('foo'), ); - checkUnnamed131(o.metadata!); + checkUnnamed140(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), @@ -9389,12 +9954,12 @@ void checkGoogleCloudLocationLocation(api.GoogleCloudLocationLocation o) { buildCounterGoogleCloudLocationLocation--; } -core.List buildUnnamed132() => [ +core.List buildUnnamed141() => [ buildGoogleLongrunningOperation(), buildGoogleLongrunningOperation(), ]; -void checkUnnamed132(core.List o) { +void checkUnnamed141(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleLongrunningOperation(o[0]); checkGoogleLongrunningOperation(o[1]); @@ -9407,7 +9972,7 @@ api.GoogleLongrunningListOperationsResponse buildCounterGoogleLongrunningListOperationsResponse++; if (buildCounterGoogleLongrunningListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed132(); + o.operations = buildUnnamed141(); } buildCounterGoogleLongrunningListOperationsResponse--; return o; @@ -9421,12 +9986,12 @@ void checkGoogleLongrunningListOperationsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed132(o.operations!); + checkUnnamed141(o.operations!); } buildCounterGoogleLongrunningListOperationsResponse--; } -core.Map buildUnnamed133() => { +core.Map buildUnnamed142() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -9439,7 +10004,7 @@ core.Map buildUnnamed133() => { }, }; -void checkUnnamed133(core.Map o) { +void checkUnnamed142(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted26 = (o['x']!) as core.Map; unittest.expect(casted26, unittest.hasLength(3)); @@ -9471,7 +10036,7 @@ void checkUnnamed133(core.Map o) { ); } -core.Map buildUnnamed134() => { +core.Map buildUnnamed143() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -9484,7 +10049,7 @@ core.Map buildUnnamed134() => { }, }; -void checkUnnamed134(core.Map o) { +void checkUnnamed143(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted28 = (o['x']!) as core.Map; unittest.expect(casted28, unittest.hasLength(3)); @@ -9523,9 +10088,9 @@ api.GoogleLongrunningOperation buildGoogleLongrunningOperation() { if (buildCounterGoogleLongrunningOperation < 3) { o.done = true; o.error = buildGoogleRpcStatus(); - o.metadata = buildUnnamed133(); + o.metadata = buildUnnamed142(); o.name = 'foo'; - o.response = buildUnnamed134(); + o.response = buildUnnamed143(); } buildCounterGoogleLongrunningOperation--; return o; @@ -9536,12 +10101,12 @@ void checkGoogleLongrunningOperation(api.GoogleLongrunningOperation o) { if (buildCounterGoogleLongrunningOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkGoogleRpcStatus(o.error!); - checkUnnamed133(o.metadata!); + checkUnnamed142(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed134(o.response!); + checkUnnamed143(o.response!); } buildCounterGoogleLongrunningOperation--; } @@ -9561,7 +10126,7 @@ void checkGoogleProtobufEmpty(api.GoogleProtobufEmpty o) { buildCounterGoogleProtobufEmpty--; } -core.Map buildUnnamed135() => { +core.Map buildUnnamed144() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -9574,7 +10139,7 @@ core.Map buildUnnamed135() => { }, }; -void checkUnnamed135(core.Map o) { +void checkUnnamed144(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted30 = (o['x']!) as core.Map; unittest.expect(casted30, unittest.hasLength(3)); @@ -9606,15 +10171,15 @@ void checkUnnamed135(core.Map o) { ); } -core.List> buildUnnamed136() => [ - buildUnnamed135(), - buildUnnamed135(), +core.List> buildUnnamed145() => [ + buildUnnamed144(), + buildUnnamed144(), ]; -void checkUnnamed136(core.List> o) { +void checkUnnamed145(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed135(o[0]); - checkUnnamed135(o[1]); + checkUnnamed144(o[0]); + checkUnnamed144(o[1]); } core.int buildCounterGoogleRpcStatus = 0; @@ -9623,7 +10188,7 @@ api.GoogleRpcStatus buildGoogleRpcStatus() { buildCounterGoogleRpcStatus++; if (buildCounterGoogleRpcStatus < 3) { o.code = 42; - o.details = buildUnnamed136(); + o.details = buildUnnamed145(); o.message = 'foo'; } buildCounterGoogleRpcStatus--; @@ -9637,7 +10202,7 @@ void checkGoogleRpcStatus(api.GoogleRpcStatus o) { o.code!, unittest.equals(42), ); - checkUnnamed136(o.details!); + checkUnnamed145(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -9833,6 +10398,16 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudDialogflowV2AudioInput', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudDialogflowV2AudioInput(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudDialogflowV2AudioInput.fromJson( + oJson as core.Map); + checkGoogleCloudDialogflowV2AudioInput(od); + }); + }); + unittest.group('obj-schema-GoogleCloudDialogflowV2AutomatedAgentConfig', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudDialogflowV2AutomatedAgentConfig(); @@ -9987,6 +10562,33 @@ void main() { }); }); + unittest.group( + 'obj-schema-GoogleCloudDialogflowV2ConversationContextReference', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudDialogflowV2ConversationContextReference(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.GoogleCloudDialogflowV2ConversationContextReference.fromJson( + oJson as core.Map); + checkGoogleCloudDialogflowV2ConversationContextReference(od); + }); + }); + + unittest.group( + 'obj-schema-GoogleCloudDialogflowV2ConversationContextReferenceContextContent', + () { + unittest.test('to-json--from-json', () async { + final o = + buildGoogleCloudDialogflowV2ConversationContextReferenceContextContent(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.GoogleCloudDialogflowV2ConversationContextReferenceContextContent + .fromJson(oJson as core.Map); + checkGoogleCloudDialogflowV2ConversationContextReferenceContextContent( + od); + }); + }); + unittest.group('obj-schema-GoogleCloudDialogflowV2ConversationDataset', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudDialogflowV2ConversationDataset(); @@ -10050,6 +10652,49 @@ void main() { }); }); + unittest.group( + 'obj-schema-GoogleCloudDialogflowV2ConversationTelephonyConnectionInfo', + () { + unittest.test('to-json--from-json', () async { + final o = + buildGoogleCloudDialogflowV2ConversationTelephonyConnectionInfo(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudDialogflowV2ConversationTelephonyConnectionInfo + .fromJson(oJson as core.Map); + checkGoogleCloudDialogflowV2ConversationTelephonyConnectionInfo(od); + }); + }); + + unittest.group( + 'obj-schema-GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent', + () { + unittest.test('to-json--from-json', () async { + final o = + buildGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent + .fromJson(oJson as core.Map); + checkGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoMimeContent( + od); + }); + }); + + unittest.group( + 'obj-schema-GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader', + () { + unittest.test('to-json--from-json', () async { + final o = + buildGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.GoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader + .fromJson(oJson as core.Map); + checkGoogleCloudDialogflowV2ConversationTelephonyConnectionInfoSipHeader( + od); + }); + }); + unittest.group( 'obj-schema-GoogleCloudDialogflowV2CreateConversationModelEvaluationRequest', () { @@ -10293,6 +10938,26 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudDialogflowV2FreeFormContext', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudDialogflowV2FreeFormContext(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudDialogflowV2FreeFormContext.fromJson( + oJson as core.Map); + checkGoogleCloudDialogflowV2FreeFormContext(od); + }); + }); + + unittest.group('obj-schema-GoogleCloudDialogflowV2FreeFormSuggestion', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudDialogflowV2FreeFormSuggestion(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudDialogflowV2FreeFormSuggestion.fromJson( + oJson as core.Map); + checkGoogleCloudDialogflowV2FreeFormSuggestion(od); + }); + }); + unittest.group('obj-schema-GoogleCloudDialogflowV2Fulfillment', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudDialogflowV2Fulfillment(); @@ -10424,6 +11089,44 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudDialogflowV2GenerateSuggestionsRequest', + () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudDialogflowV2GenerateSuggestionsRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudDialogflowV2GenerateSuggestionsRequest.fromJson( + oJson as core.Map); + checkGoogleCloudDialogflowV2GenerateSuggestionsRequest(od); + }); + }); + + unittest.group( + 'obj-schema-GoogleCloudDialogflowV2GenerateSuggestionsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudDialogflowV2GenerateSuggestionsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.GoogleCloudDialogflowV2GenerateSuggestionsResponse.fromJson( + oJson as core.Map); + checkGoogleCloudDialogflowV2GenerateSuggestionsResponse(od); + }); + }); + + unittest.group( + 'obj-schema-GoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer', + () { + unittest.test('to-json--from-json', () async { + final o = + buildGoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.GoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer + .fromJson(oJson as core.Map); + checkGoogleCloudDialogflowV2GenerateSuggestionsResponseGeneratorSuggestionAnswer( + od); + }); + }); + unittest.group('obj-schema-GoogleCloudDialogflowV2Generator', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudDialogflowV2Generator(); @@ -10743,6 +11446,30 @@ void main() { }); }); + unittest.group( + 'obj-schema-GoogleCloudDialogflowV2IngestContextReferencesRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudDialogflowV2IngestContextReferencesRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.GoogleCloudDialogflowV2IngestContextReferencesRequest.fromJson( + oJson as core.Map); + checkGoogleCloudDialogflowV2IngestContextReferencesRequest(od); + }); + }); + + unittest.group( + 'obj-schema-GoogleCloudDialogflowV2IngestContextReferencesResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudDialogflowV2IngestContextReferencesResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.GoogleCloudDialogflowV2IngestContextReferencesResponse.fromJson( + oJson as core.Map); + checkGoogleCloudDialogflowV2IngestContextReferencesResponse(od); + }); + }); + unittest.group( 'obj-schema-GoogleCloudDialogflowV2InitializeEncryptionSpecRequest', () { unittest.test('to-json--from-json', () async { @@ -19067,6 +19794,68 @@ void main() { }); unittest.group('resource-ProjectsConversationsSuggestionsResource', () { + unittest.test('method--generate', () async { + final mock = HttpServerMock(); + final res = api.DialogflowApi(mock).projects.conversations.suggestions; + final arg_request = + buildGoogleCloudDialogflowV2GenerateSuggestionsRequest(); + final arg_conversation = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.GoogleCloudDialogflowV2GenerateSuggestionsRequest.fromJson( + json as core.Map); + checkGoogleCloudDialogflowV2GenerateSuggestionsRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v2/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json + .encode(buildGoogleCloudDialogflowV2GenerateSuggestionsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.generate(arg_request, arg_conversation, + $fields: arg_$fields); + checkGoogleCloudDialogflowV2GenerateSuggestionsResponse( + response as api.GoogleCloudDialogflowV2GenerateSuggestionsResponse); + }); + unittest.test('method--searchKnowledge', () async { final mock = HttpServerMock(); final res = api.DialogflowApi(mock).projects.conversations.suggestions; @@ -25948,6 +26737,69 @@ void main() { response as api.GoogleCloudDialogflowV2Conversation); }); + unittest.test('method--ingestContextReferences', () async { + final mock = HttpServerMock(); + final res = api.DialogflowApi(mock).projects.locations.conversations; + final arg_request = + buildGoogleCloudDialogflowV2IngestContextReferencesRequest(); + final arg_conversation = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.GoogleCloudDialogflowV2IngestContextReferencesRequest.fromJson( + json as core.Map); + checkGoogleCloudDialogflowV2IngestContextReferencesRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v2/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode( + buildGoogleCloudDialogflowV2IngestContextReferencesResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.ingestContextReferences( + arg_request, arg_conversation, + $fields: arg_$fields); + checkGoogleCloudDialogflowV2IngestContextReferencesResponse(response + as api.GoogleCloudDialogflowV2IngestContextReferencesResponse); + }); + unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.DialogflowApi(mock).projects.locations.conversations; @@ -26684,6 +27536,69 @@ void main() { unittest.group('resource-ProjectsLocationsConversationsSuggestionsResource', () { + unittest.test('method--generate', () async { + final mock = HttpServerMock(); + final res = + api.DialogflowApi(mock).projects.locations.conversations.suggestions; + final arg_request = + buildGoogleCloudDialogflowV2GenerateSuggestionsRequest(); + final arg_conversation = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.GoogleCloudDialogflowV2GenerateSuggestionsRequest.fromJson( + json as core.Map); + checkGoogleCloudDialogflowV2GenerateSuggestionsRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v2/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json + .encode(buildGoogleCloudDialogflowV2GenerateSuggestionsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.generate(arg_request, arg_conversation, + $fields: arg_$fields); + checkGoogleCloudDialogflowV2GenerateSuggestionsResponse( + response as api.GoogleCloudDialogflowV2GenerateSuggestionsResponse); + }); + unittest.test('method--searchKnowledge', () async { final mock = HttpServerMock(); final res = diff --git a/generated/googleapis/test/dialogflow/v3_test.dart b/generated/googleapis/test/dialogflow/v3_test.dart index 2826a379e..6acadb026 100644 --- a/generated/googleapis/test/dialogflow/v3_test.dart +++ b/generated/googleapis/test/dialogflow/v3_test.dart @@ -221,6 +221,8 @@ api.GoogleCloudDialogflowCxV3Agent buildGoogleCloudDialogflowCxV3Agent() { o.name = 'foo'; o.personalizationSettings = buildGoogleCloudDialogflowCxV3AgentPersonalizationSettings(); + o.satisfiesPzi = true; + o.satisfiesPzs = true; o.securitySettings = 'foo'; o.speechToTextSettings = buildGoogleCloudDialogflowCxV3SpeechToTextSettings(); @@ -272,6 +274,8 @@ void checkGoogleCloudDialogflowCxV3Agent(api.GoogleCloudDialogflowCxV3Agent o) { ); checkGoogleCloudDialogflowCxV3AgentPersonalizationSettings( o.personalizationSettings!); + unittest.expect(o.satisfiesPzi!, unittest.isTrue); + unittest.expect(o.satisfiesPzs!, unittest.isTrue); unittest.expect( o.securitySettings!, unittest.equals('foo'), @@ -1450,6 +1454,7 @@ api.GoogleCloudDialogflowCxV3DataStoreConnection if (buildCounterGoogleCloudDialogflowCxV3DataStoreConnection < 3) { o.dataStore = 'foo'; o.dataStoreType = 'foo'; + o.documentProcessingMode = 'foo'; } buildCounterGoogleCloudDialogflowCxV3DataStoreConnection--; return o; @@ -1467,6 +1472,10 @@ void checkGoogleCloudDialogflowCxV3DataStoreConnection( o.dataStoreType!, unittest.equals('foo'), ); + unittest.expect( + o.documentProcessingMode!, + unittest.equals('foo'), + ); } buildCounterGoogleCloudDialogflowCxV3DataStoreConnection--; } diff --git a/generated/googleapis/test/digitalassetlinks/v1_test.dart b/generated/googleapis/test/digitalassetlinks/v1_test.dart index d4fd3b0a6..7f06c4c83 100644 --- a/generated/googleapis/test/digitalassetlinks/v1_test.dart +++ b/generated/googleapis/test/digitalassetlinks/v1_test.dart @@ -71,6 +71,80 @@ void checkAsset(api.Asset o) { buildCounterAsset--; } +core.List buildUnnamed0() => [ + buildStatementTemplate(), + buildStatementTemplate(), + ]; + +void checkUnnamed0(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkStatementTemplate(o[0]); + checkStatementTemplate(o[1]); +} + +core.int buildCounterBulkCheckRequest = 0; +api.BulkCheckRequest buildBulkCheckRequest() { + final o = api.BulkCheckRequest(); + buildCounterBulkCheckRequest++; + if (buildCounterBulkCheckRequest < 3) { + o.defaultRelation = 'foo'; + o.defaultSource = buildAsset(); + o.defaultTarget = buildAsset(); + o.statements = buildUnnamed0(); + } + buildCounterBulkCheckRequest--; + return o; +} + +void checkBulkCheckRequest(api.BulkCheckRequest o) { + buildCounterBulkCheckRequest++; + if (buildCounterBulkCheckRequest < 3) { + unittest.expect( + o.defaultRelation!, + unittest.equals('foo'), + ); + checkAsset(o.defaultSource!); + checkAsset(o.defaultTarget!); + checkUnnamed0(o.statements!); + } + buildCounterBulkCheckRequest--; +} + +core.List buildUnnamed1() => [ + buildCheckResponse(), + buildCheckResponse(), + ]; + +void checkUnnamed1(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkCheckResponse(o[0]); + checkCheckResponse(o[1]); +} + +core.int buildCounterBulkCheckResponse = 0; +api.BulkCheckResponse buildBulkCheckResponse() { + final o = api.BulkCheckResponse(); + buildCounterBulkCheckResponse++; + if (buildCounterBulkCheckResponse < 3) { + o.bulkErrorCode = 'foo'; + o.checkResults = buildUnnamed1(); + } + buildCounterBulkCheckResponse--; + return o; +} + +void checkBulkCheckResponse(api.BulkCheckResponse o) { + buildCounterBulkCheckResponse++; + if (buildCounterBulkCheckResponse < 3) { + unittest.expect( + o.bulkErrorCode!, + unittest.equals('foo'), + ); + checkUnnamed1(o.checkResults!); + } + buildCounterBulkCheckResponse--; +} + core.int buildCounterCertificateInfo = 0; api.CertificateInfo buildCertificateInfo() { final o = api.CertificateInfo(); @@ -93,12 +167,12 @@ void checkCertificateInfo(api.CertificateInfo o) { buildCounterCertificateInfo--; } -core.List buildUnnamed0() => [ +core.List buildUnnamed2() => [ 'foo', 'foo', ]; -void checkUnnamed0(core.List o) { +void checkUnnamed2(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -116,7 +190,7 @@ api.CheckResponse buildCheckResponse() { buildCounterCheckResponse++; if (buildCounterCheckResponse < 3) { o.debugString = 'foo'; - o.errorCode = buildUnnamed0(); + o.errorCode = buildUnnamed2(); o.linked = true; o.maxAge = 'foo'; } @@ -131,7 +205,7 @@ void checkCheckResponse(api.CheckResponse o) { o.debugString!, unittest.equals('foo'), ); - checkUnnamed0(o.errorCode!); + checkUnnamed2(o.errorCode!); unittest.expect(o.linked!, unittest.isTrue); unittest.expect( o.maxAge!, @@ -141,12 +215,12 @@ void checkCheckResponse(api.CheckResponse o) { buildCounterCheckResponse--; } -core.List buildUnnamed1() => [ +core.List buildUnnamed3() => [ 'foo', 'foo', ]; -void checkUnnamed1(core.List o) { +void checkUnnamed3(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -158,12 +232,12 @@ void checkUnnamed1(core.List o) { ); } -core.List buildUnnamed2() => [ +core.List buildUnnamed4() => [ buildStatement(), buildStatement(), ]; -void checkUnnamed2(core.List o) { +void checkUnnamed4(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStatement(o[0]); checkStatement(o[1]); @@ -175,9 +249,9 @@ api.ListResponse buildListResponse() { buildCounterListResponse++; if (buildCounterListResponse < 3) { o.debugString = 'foo'; - o.errorCode = buildUnnamed1(); + o.errorCode = buildUnnamed3(); o.maxAge = 'foo'; - o.statements = buildUnnamed2(); + o.statements = buildUnnamed4(); } buildCounterListResponse--; return o; @@ -190,12 +264,12 @@ void checkListResponse(api.ListResponse o) { o.debugString!, unittest.equals('foo'), ); - checkUnnamed1(o.errorCode!); + checkUnnamed3(o.errorCode!); unittest.expect( o.maxAge!, unittest.equals('foo'), ); - checkUnnamed2(o.statements!); + checkUnnamed4(o.statements!); } buildCounterListResponse--; } @@ -226,6 +300,32 @@ void checkStatement(api.Statement o) { buildCounterStatement--; } +core.int buildCounterStatementTemplate = 0; +api.StatementTemplate buildStatementTemplate() { + final o = api.StatementTemplate(); + buildCounterStatementTemplate++; + if (buildCounterStatementTemplate < 3) { + o.relation = 'foo'; + o.source = buildAsset(); + o.target = buildAsset(); + } + buildCounterStatementTemplate--; + return o; +} + +void checkStatementTemplate(api.StatementTemplate o) { + buildCounterStatementTemplate++; + if (buildCounterStatementTemplate < 3) { + unittest.expect( + o.relation!, + unittest.equals('foo'), + ); + checkAsset(o.source!); + checkAsset(o.target!); + } + buildCounterStatementTemplate--; +} + core.int buildCounterWebAsset = 0; api.WebAsset buildWebAsset() { final o = api.WebAsset(); @@ -269,6 +369,26 @@ void main() { }); }); + unittest.group('obj-schema-BulkCheckRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildBulkCheckRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BulkCheckRequest.fromJson( + oJson as core.Map); + checkBulkCheckRequest(od); + }); + }); + + unittest.group('obj-schema-BulkCheckResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildBulkCheckResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BulkCheckResponse.fromJson( + oJson as core.Map); + checkBulkCheckResponse(od); + }); + }); + unittest.group('obj-schema-CertificateInfo', () { unittest.test('to-json--from-json', () async { final o = buildCertificateInfo(); @@ -309,6 +429,16 @@ void main() { }); }); + unittest.group('obj-schema-StatementTemplate', () { + unittest.test('to-json--from-json', () async { + final o = buildStatementTemplate(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.StatementTemplate.fromJson( + oJson as core.Map); + checkStatementTemplate(od); + }); + }); + unittest.group('obj-schema-WebAsset', () { unittest.test('to-json--from-json', () async { final o = buildWebAsset(); @@ -320,6 +450,61 @@ void main() { }); unittest.group('resource-AssetlinksResource', () { + unittest.test('method--bulkCheck', () async { + final mock = HttpServerMock(); + final res = api.DigitalassetlinksApi(mock).assetlinks; + final arg_request = buildBulkCheckRequest(); + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.BulkCheckRequest.fromJson( + json as core.Map); + checkBulkCheckRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 23), + unittest.equals('v1/assetlinks:bulkCheck'), + ); + pathOffset += 23; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildBulkCheckResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.bulkCheck(arg_request, $fields: arg_$fields); + checkBulkCheckResponse(response as api.BulkCheckResponse); + }); + unittest.test('method--check', () async { final mock = HttpServerMock(); final res = api.DigitalassetlinksApi(mock).assetlinks; diff --git a/generated/googleapis/test/displayvideo/v2_test.dart b/generated/googleapis/test/displayvideo/v2_test.dart index d64ce602e..93301ae8b 100644 --- a/generated/googleapis/test/displayvideo/v2_test.dart +++ b/generated/googleapis/test/displayvideo/v2_test.dart @@ -155,7 +155,6 @@ api.Advertiser buildAdvertiser() { if (buildCounterAdvertiser < 3) { o.adServerConfig = buildAdvertiserAdServerConfig(); o.advertiserId = 'foo'; - o.billingConfig = buildAdvertiserBillingConfig(); o.creativeConfig = buildAdvertiserCreativeConfig(); o.dataAccessConfig = buildAdvertiserDataAccessConfig(); o.displayName = 'foo'; @@ -180,7 +179,6 @@ void checkAdvertiser(api.Advertiser o) { o.advertiserId!, unittest.equals('foo'), ); - checkAdvertiserBillingConfig(o.billingConfig!); checkAdvertiserCreativeConfig(o.creativeConfig!); checkAdvertiserDataAccessConfig(o.dataAccessConfig!); unittest.expect( @@ -232,28 +230,6 @@ void checkAdvertiserAdServerConfig(api.AdvertiserAdServerConfig o) { buildCounterAdvertiserAdServerConfig--; } -core.int buildCounterAdvertiserBillingConfig = 0; -api.AdvertiserBillingConfig buildAdvertiserBillingConfig() { - final o = api.AdvertiserBillingConfig(); - buildCounterAdvertiserBillingConfig++; - if (buildCounterAdvertiserBillingConfig < 3) { - o.billingProfileId = 'foo'; - } - buildCounterAdvertiserBillingConfig--; - return o; -} - -void checkAdvertiserBillingConfig(api.AdvertiserBillingConfig o) { - buildCounterAdvertiserBillingConfig++; - if (buildCounterAdvertiserBillingConfig < 3) { - unittest.expect( - o.billingProfileId!, - unittest.equals('foo'), - ); - } - buildCounterAdvertiserBillingConfig--; -} - core.int buildCounterAdvertiserCreativeConfig = 0; api.AdvertiserCreativeConfig buildAdvertiserCreativeConfig() { final o = api.AdvertiserCreativeConfig(); @@ -844,29 +820,15 @@ void checkAssignedUserRole(api.AssignedUserRole o) { buildCounterAssignedUserRole--; } -core.List buildUnnamed1() => [ - buildFirstAndThirdPartyAudienceGroup(), - buildFirstAndThirdPartyAudienceGroup(), - ]; - -void checkUnnamed1(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - checkFirstAndThirdPartyAudienceGroup(o[0]); - checkFirstAndThirdPartyAudienceGroup(o[1]); -} - core.int buildCounterAudienceGroupAssignedTargetingOptionDetails = 0; api.AudienceGroupAssignedTargetingOptionDetails buildAudienceGroupAssignedTargetingOptionDetails() { final o = api.AudienceGroupAssignedTargetingOptionDetails(); buildCounterAudienceGroupAssignedTargetingOptionDetails++; if (buildCounterAudienceGroupAssignedTargetingOptionDetails < 3) { - o.excludedFirstAndThirdPartyAudienceGroup = - buildFirstAndThirdPartyAudienceGroup(); o.excludedGoogleAudienceGroup = buildGoogleAudienceGroup(); o.includedCombinedAudienceGroup = buildCombinedAudienceGroup(); o.includedCustomListGroup = buildCustomListGroup(); - o.includedFirstAndThirdPartyAudienceGroups = buildUnnamed1(); o.includedGoogleAudienceGroup = buildGoogleAudienceGroup(); } buildCounterAudienceGroupAssignedTargetingOptionDetails--; @@ -877,12 +839,9 @@ void checkAudienceGroupAssignedTargetingOptionDetails( api.AudienceGroupAssignedTargetingOptionDetails o) { buildCounterAudienceGroupAssignedTargetingOptionDetails++; if (buildCounterAudienceGroupAssignedTargetingOptionDetails < 3) { - checkFirstAndThirdPartyAudienceGroup( - o.excludedFirstAndThirdPartyAudienceGroup!); checkGoogleAudienceGroup(o.excludedGoogleAudienceGroup!); checkCombinedAudienceGroup(o.includedCombinedAudienceGroup!); checkCustomListGroup(o.includedCustomListGroup!); - checkUnnamed1(o.includedFirstAndThirdPartyAudienceGroups!); checkGoogleAudienceGroup(o.includedGoogleAudienceGroup!); } buildCounterAudienceGroupAssignedTargetingOptionDetails--; @@ -1222,23 +1181,23 @@ void checkBudgetSummary(api.BudgetSummary o) { buildCounterBudgetSummary--; } -core.List buildUnnamed2() => [ +core.List buildUnnamed1() => [ buildCreateAssignedTargetingOptionsRequest(), buildCreateAssignedTargetingOptionsRequest(), ]; -void checkUnnamed2(core.List o) { +void checkUnnamed1(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCreateAssignedTargetingOptionsRequest(o[0]); checkCreateAssignedTargetingOptionsRequest(o[1]); } -core.List buildUnnamed3() => [ +core.List buildUnnamed2() => [ buildDeleteAssignedTargetingOptionsRequest(), buildDeleteAssignedTargetingOptionsRequest(), ]; -void checkUnnamed3(core.List o) { +void checkUnnamed2(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDeleteAssignedTargetingOptionsRequest(o[0]); checkDeleteAssignedTargetingOptionsRequest(o[1]); @@ -1250,8 +1209,8 @@ api.BulkEditAdvertiserAssignedTargetingOptionsRequest final o = api.BulkEditAdvertiserAssignedTargetingOptionsRequest(); buildCounterBulkEditAdvertiserAssignedTargetingOptionsRequest++; if (buildCounterBulkEditAdvertiserAssignedTargetingOptionsRequest < 3) { - o.createRequests = buildUnnamed2(); - o.deleteRequests = buildUnnamed3(); + o.createRequests = buildUnnamed1(); + o.deleteRequests = buildUnnamed2(); } buildCounterBulkEditAdvertiserAssignedTargetingOptionsRequest--; return o; @@ -1261,18 +1220,18 @@ void checkBulkEditAdvertiserAssignedTargetingOptionsRequest( api.BulkEditAdvertiserAssignedTargetingOptionsRequest o) { buildCounterBulkEditAdvertiserAssignedTargetingOptionsRequest++; if (buildCounterBulkEditAdvertiserAssignedTargetingOptionsRequest < 3) { - checkUnnamed2(o.createRequests!); - checkUnnamed3(o.deleteRequests!); + checkUnnamed1(o.createRequests!); + checkUnnamed2(o.deleteRequests!); } buildCounterBulkEditAdvertiserAssignedTargetingOptionsRequest--; } -core.List buildUnnamed4() => [ +core.List buildUnnamed3() => [ buildAssignedTargetingOption(), buildAssignedTargetingOption(), ]; -void checkUnnamed4(core.List o) { +void checkUnnamed3(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedTargetingOption(o[0]); checkAssignedTargetingOption(o[1]); @@ -1284,7 +1243,7 @@ api.BulkEditAdvertiserAssignedTargetingOptionsResponse final o = api.BulkEditAdvertiserAssignedTargetingOptionsResponse(); buildCounterBulkEditAdvertiserAssignedTargetingOptionsResponse++; if (buildCounterBulkEditAdvertiserAssignedTargetingOptionsResponse < 3) { - o.createdAssignedTargetingOptions = buildUnnamed4(); + o.createdAssignedTargetingOptions = buildUnnamed3(); } buildCounterBulkEditAdvertiserAssignedTargetingOptionsResponse--; return o; @@ -1294,28 +1253,28 @@ void checkBulkEditAdvertiserAssignedTargetingOptionsResponse( api.BulkEditAdvertiserAssignedTargetingOptionsResponse o) { buildCounterBulkEditAdvertiserAssignedTargetingOptionsResponse++; if (buildCounterBulkEditAdvertiserAssignedTargetingOptionsResponse < 3) { - checkUnnamed4(o.createdAssignedTargetingOptions!); + checkUnnamed3(o.createdAssignedTargetingOptions!); } buildCounterBulkEditAdvertiserAssignedTargetingOptionsResponse--; } -core.List buildUnnamed5() => [ +core.List buildUnnamed4() => [ buildAssignedInventorySource(), buildAssignedInventorySource(), ]; -void checkUnnamed5(core.List o) { +void checkUnnamed4(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedInventorySource(o[0]); checkAssignedInventorySource(o[1]); } -core.List buildUnnamed6() => [ +core.List buildUnnamed5() => [ 'foo', 'foo', ]; -void checkUnnamed6(core.List o) { +void checkUnnamed5(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1334,8 +1293,8 @@ api.BulkEditAssignedInventorySourcesRequest buildCounterBulkEditAssignedInventorySourcesRequest++; if (buildCounterBulkEditAssignedInventorySourcesRequest < 3) { o.advertiserId = 'foo'; - o.createdAssignedInventorySources = buildUnnamed5(); - o.deletedAssignedInventorySources = buildUnnamed6(); + o.createdAssignedInventorySources = buildUnnamed4(); + o.deletedAssignedInventorySources = buildUnnamed5(); o.partnerId = 'foo'; } buildCounterBulkEditAssignedInventorySourcesRequest--; @@ -1350,8 +1309,8 @@ void checkBulkEditAssignedInventorySourcesRequest( o.advertiserId!, unittest.equals('foo'), ); - checkUnnamed5(o.createdAssignedInventorySources!); - checkUnnamed6(o.deletedAssignedInventorySources!); + checkUnnamed4(o.createdAssignedInventorySources!); + checkUnnamed5(o.deletedAssignedInventorySources!); unittest.expect( o.partnerId!, unittest.equals('foo'), @@ -1360,12 +1319,12 @@ void checkBulkEditAssignedInventorySourcesRequest( buildCounterBulkEditAssignedInventorySourcesRequest--; } -core.List buildUnnamed7() => [ +core.List buildUnnamed6() => [ buildAssignedInventorySource(), buildAssignedInventorySource(), ]; -void checkUnnamed7(core.List o) { +void checkUnnamed6(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedInventorySource(o[0]); checkAssignedInventorySource(o[1]); @@ -1377,7 +1336,7 @@ api.BulkEditAssignedInventorySourcesResponse final o = api.BulkEditAssignedInventorySourcesResponse(); buildCounterBulkEditAssignedInventorySourcesResponse++; if (buildCounterBulkEditAssignedInventorySourcesResponse < 3) { - o.assignedInventorySources = buildUnnamed7(); + o.assignedInventorySources = buildUnnamed6(); } buildCounterBulkEditAssignedInventorySourcesResponse--; return o; @@ -1387,28 +1346,28 @@ void checkBulkEditAssignedInventorySourcesResponse( api.BulkEditAssignedInventorySourcesResponse o) { buildCounterBulkEditAssignedInventorySourcesResponse++; if (buildCounterBulkEditAssignedInventorySourcesResponse < 3) { - checkUnnamed7(o.assignedInventorySources!); + checkUnnamed6(o.assignedInventorySources!); } buildCounterBulkEditAssignedInventorySourcesResponse--; } -core.List buildUnnamed8() => [ +core.List buildUnnamed7() => [ buildAssignedLocation(), buildAssignedLocation(), ]; -void checkUnnamed8(core.List o) { +void checkUnnamed7(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedLocation(o[0]); checkAssignedLocation(o[1]); } -core.List buildUnnamed9() => [ +core.List buildUnnamed8() => [ 'foo', 'foo', ]; -void checkUnnamed9(core.List o) { +void checkUnnamed8(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1425,8 +1384,8 @@ api.BulkEditAssignedLocationsRequest buildBulkEditAssignedLocationsRequest() { final o = api.BulkEditAssignedLocationsRequest(); buildCounterBulkEditAssignedLocationsRequest++; if (buildCounterBulkEditAssignedLocationsRequest < 3) { - o.createdAssignedLocations = buildUnnamed8(); - o.deletedAssignedLocations = buildUnnamed9(); + o.createdAssignedLocations = buildUnnamed7(); + o.deletedAssignedLocations = buildUnnamed8(); } buildCounterBulkEditAssignedLocationsRequest--; return o; @@ -1436,18 +1395,18 @@ void checkBulkEditAssignedLocationsRequest( api.BulkEditAssignedLocationsRequest o) { buildCounterBulkEditAssignedLocationsRequest++; if (buildCounterBulkEditAssignedLocationsRequest < 3) { - checkUnnamed8(o.createdAssignedLocations!); - checkUnnamed9(o.deletedAssignedLocations!); + checkUnnamed7(o.createdAssignedLocations!); + checkUnnamed8(o.deletedAssignedLocations!); } buildCounterBulkEditAssignedLocationsRequest--; } -core.List buildUnnamed10() => [ +core.List buildUnnamed9() => [ buildAssignedLocation(), buildAssignedLocation(), ]; -void checkUnnamed10(core.List o) { +void checkUnnamed9(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedLocation(o[0]); checkAssignedLocation(o[1]); @@ -1458,7 +1417,7 @@ api.BulkEditAssignedLocationsResponse buildBulkEditAssignedLocationsResponse() { final o = api.BulkEditAssignedLocationsResponse(); buildCounterBulkEditAssignedLocationsResponse++; if (buildCounterBulkEditAssignedLocationsResponse < 3) { - o.assignedLocations = buildUnnamed10(); + o.assignedLocations = buildUnnamed9(); } buildCounterBulkEditAssignedLocationsResponse--; return o; @@ -1468,39 +1427,39 @@ void checkBulkEditAssignedLocationsResponse( api.BulkEditAssignedLocationsResponse o) { buildCounterBulkEditAssignedLocationsResponse++; if (buildCounterBulkEditAssignedLocationsResponse < 3) { - checkUnnamed10(o.assignedLocations!); + checkUnnamed9(o.assignedLocations!); } buildCounterBulkEditAssignedLocationsResponse--; } -core.List buildUnnamed11() => [ +core.List buildUnnamed10() => [ buildCreateAssignedTargetingOptionsRequest(), buildCreateAssignedTargetingOptionsRequest(), ]; -void checkUnnamed11(core.List o) { +void checkUnnamed10(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCreateAssignedTargetingOptionsRequest(o[0]); checkCreateAssignedTargetingOptionsRequest(o[1]); } -core.List buildUnnamed12() => [ +core.List buildUnnamed11() => [ buildDeleteAssignedTargetingOptionsRequest(), buildDeleteAssignedTargetingOptionsRequest(), ]; -void checkUnnamed12(core.List o) { +void checkUnnamed11(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDeleteAssignedTargetingOptionsRequest(o[0]); checkDeleteAssignedTargetingOptionsRequest(o[1]); } -core.List buildUnnamed13() => [ +core.List buildUnnamed12() => [ 'foo', 'foo', ]; -void checkUnnamed13(core.List o) { +void checkUnnamed12(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1518,9 +1477,9 @@ api.BulkEditAssignedTargetingOptionsRequest final o = api.BulkEditAssignedTargetingOptionsRequest(); buildCounterBulkEditAssignedTargetingOptionsRequest++; if (buildCounterBulkEditAssignedTargetingOptionsRequest < 3) { - o.createRequests = buildUnnamed11(); - o.deleteRequests = buildUnnamed12(); - o.lineItemIds = buildUnnamed13(); + o.createRequests = buildUnnamed10(); + o.deleteRequests = buildUnnamed11(); + o.lineItemIds = buildUnnamed12(); } buildCounterBulkEditAssignedTargetingOptionsRequest--; return o; @@ -1530,30 +1489,30 @@ void checkBulkEditAssignedTargetingOptionsRequest( api.BulkEditAssignedTargetingOptionsRequest o) { buildCounterBulkEditAssignedTargetingOptionsRequest++; if (buildCounterBulkEditAssignedTargetingOptionsRequest < 3) { - checkUnnamed11(o.createRequests!); - checkUnnamed12(o.deleteRequests!); - checkUnnamed13(o.lineItemIds!); + checkUnnamed10(o.createRequests!); + checkUnnamed11(o.deleteRequests!); + checkUnnamed12(o.lineItemIds!); } buildCounterBulkEditAssignedTargetingOptionsRequest--; } -core.List buildUnnamed14() => [ +core.List buildUnnamed13() => [ buildStatus(), buildStatus(), ]; -void checkUnnamed14(core.List o) { +void checkUnnamed13(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStatus(o[0]); checkStatus(o[1]); } -core.List buildUnnamed15() => [ +core.List buildUnnamed14() => [ 'foo', 'foo', ]; -void checkUnnamed15(core.List o) { +void checkUnnamed14(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1565,12 +1524,12 @@ void checkUnnamed15(core.List o) { ); } -core.List buildUnnamed16() => [ +core.List buildUnnamed15() => [ 'foo', 'foo', ]; -void checkUnnamed16(core.List o) { +void checkUnnamed15(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1588,9 +1547,9 @@ api.BulkEditAssignedTargetingOptionsResponse final o = api.BulkEditAssignedTargetingOptionsResponse(); buildCounterBulkEditAssignedTargetingOptionsResponse++; if (buildCounterBulkEditAssignedTargetingOptionsResponse < 3) { - o.errors = buildUnnamed14(); - o.failedLineItemIds = buildUnnamed15(); - o.updatedLineItemIds = buildUnnamed16(); + o.errors = buildUnnamed13(); + o.failedLineItemIds = buildUnnamed14(); + o.updatedLineItemIds = buildUnnamed15(); } buildCounterBulkEditAssignedTargetingOptionsResponse--; return o; @@ -1600,30 +1559,30 @@ void checkBulkEditAssignedTargetingOptionsResponse( api.BulkEditAssignedTargetingOptionsResponse o) { buildCounterBulkEditAssignedTargetingOptionsResponse++; if (buildCounterBulkEditAssignedTargetingOptionsResponse < 3) { - checkUnnamed14(o.errors!); - checkUnnamed15(o.failedLineItemIds!); - checkUnnamed16(o.updatedLineItemIds!); + checkUnnamed13(o.errors!); + checkUnnamed14(o.failedLineItemIds!); + checkUnnamed15(o.updatedLineItemIds!); } buildCounterBulkEditAssignedTargetingOptionsResponse--; } -core.List buildUnnamed17() => [ +core.List buildUnnamed16() => [ buildAssignedUserRole(), buildAssignedUserRole(), ]; -void checkUnnamed17(core.List o) { +void checkUnnamed16(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedUserRole(o[0]); checkAssignedUserRole(o[1]); } -core.List buildUnnamed18() => [ +core.List buildUnnamed17() => [ 'foo', 'foo', ]; -void checkUnnamed18(core.List o) { +void checkUnnamed17(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1640,8 +1599,8 @@ api.BulkEditAssignedUserRolesRequest buildBulkEditAssignedUserRolesRequest() { final o = api.BulkEditAssignedUserRolesRequest(); buildCounterBulkEditAssignedUserRolesRequest++; if (buildCounterBulkEditAssignedUserRolesRequest < 3) { - o.createdAssignedUserRoles = buildUnnamed17(); - o.deletedAssignedUserRoles = buildUnnamed18(); + o.createdAssignedUserRoles = buildUnnamed16(); + o.deletedAssignedUserRoles = buildUnnamed17(); } buildCounterBulkEditAssignedUserRolesRequest--; return o; @@ -1651,18 +1610,18 @@ void checkBulkEditAssignedUserRolesRequest( api.BulkEditAssignedUserRolesRequest o) { buildCounterBulkEditAssignedUserRolesRequest++; if (buildCounterBulkEditAssignedUserRolesRequest < 3) { - checkUnnamed17(o.createdAssignedUserRoles!); - checkUnnamed18(o.deletedAssignedUserRoles!); + checkUnnamed16(o.createdAssignedUserRoles!); + checkUnnamed17(o.deletedAssignedUserRoles!); } buildCounterBulkEditAssignedUserRolesRequest--; } -core.List buildUnnamed19() => [ +core.List buildUnnamed18() => [ buildAssignedUserRole(), buildAssignedUserRole(), ]; -void checkUnnamed19(core.List o) { +void checkUnnamed18(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedUserRole(o[0]); checkAssignedUserRole(o[1]); @@ -1673,7 +1632,7 @@ api.BulkEditAssignedUserRolesResponse buildBulkEditAssignedUserRolesResponse() { final o = api.BulkEditAssignedUserRolesResponse(); buildCounterBulkEditAssignedUserRolesResponse++; if (buildCounterBulkEditAssignedUserRolesResponse < 3) { - o.createdAssignedUserRoles = buildUnnamed19(); + o.createdAssignedUserRoles = buildUnnamed18(); } buildCounterBulkEditAssignedUserRolesResponse--; return o; @@ -1683,28 +1642,28 @@ void checkBulkEditAssignedUserRolesResponse( api.BulkEditAssignedUserRolesResponse o) { buildCounterBulkEditAssignedUserRolesResponse++; if (buildCounterBulkEditAssignedUserRolesResponse < 3) { - checkUnnamed19(o.createdAssignedUserRoles!); + checkUnnamed18(o.createdAssignedUserRoles!); } buildCounterBulkEditAssignedUserRolesResponse--; } -core.List buildUnnamed20() => [ +core.List buildUnnamed19() => [ buildNegativeKeyword(), buildNegativeKeyword(), ]; -void checkUnnamed20(core.List o) { +void checkUnnamed19(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNegativeKeyword(o[0]); checkNegativeKeyword(o[1]); } -core.List buildUnnamed21() => [ +core.List buildUnnamed20() => [ 'foo', 'foo', ]; -void checkUnnamed21(core.List o) { +void checkUnnamed20(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1721,8 +1680,8 @@ api.BulkEditNegativeKeywordsRequest buildBulkEditNegativeKeywordsRequest() { final o = api.BulkEditNegativeKeywordsRequest(); buildCounterBulkEditNegativeKeywordsRequest++; if (buildCounterBulkEditNegativeKeywordsRequest < 3) { - o.createdNegativeKeywords = buildUnnamed20(); - o.deletedNegativeKeywords = buildUnnamed21(); + o.createdNegativeKeywords = buildUnnamed19(); + o.deletedNegativeKeywords = buildUnnamed20(); } buildCounterBulkEditNegativeKeywordsRequest--; return o; @@ -1732,18 +1691,18 @@ void checkBulkEditNegativeKeywordsRequest( api.BulkEditNegativeKeywordsRequest o) { buildCounterBulkEditNegativeKeywordsRequest++; if (buildCounterBulkEditNegativeKeywordsRequest < 3) { - checkUnnamed20(o.createdNegativeKeywords!); - checkUnnamed21(o.deletedNegativeKeywords!); + checkUnnamed19(o.createdNegativeKeywords!); + checkUnnamed20(o.deletedNegativeKeywords!); } buildCounterBulkEditNegativeKeywordsRequest--; } -core.List buildUnnamed22() => [ +core.List buildUnnamed21() => [ buildNegativeKeyword(), buildNegativeKeyword(), ]; -void checkUnnamed22(core.List o) { +void checkUnnamed21(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNegativeKeyword(o[0]); checkNegativeKeyword(o[1]); @@ -1754,7 +1713,7 @@ api.BulkEditNegativeKeywordsResponse buildBulkEditNegativeKeywordsResponse() { final o = api.BulkEditNegativeKeywordsResponse(); buildCounterBulkEditNegativeKeywordsResponse++; if (buildCounterBulkEditNegativeKeywordsResponse < 3) { - o.negativeKeywords = buildUnnamed22(); + o.negativeKeywords = buildUnnamed21(); } buildCounterBulkEditNegativeKeywordsResponse--; return o; @@ -1764,28 +1723,28 @@ void checkBulkEditNegativeKeywordsResponse( api.BulkEditNegativeKeywordsResponse o) { buildCounterBulkEditNegativeKeywordsResponse++; if (buildCounterBulkEditNegativeKeywordsResponse < 3) { - checkUnnamed22(o.negativeKeywords!); + checkUnnamed21(o.negativeKeywords!); } buildCounterBulkEditNegativeKeywordsResponse--; } -core.List buildUnnamed23() => [ +core.List buildUnnamed22() => [ buildCreateAssignedTargetingOptionsRequest(), buildCreateAssignedTargetingOptionsRequest(), ]; -void checkUnnamed23(core.List o) { +void checkUnnamed22(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCreateAssignedTargetingOptionsRequest(o[0]); checkCreateAssignedTargetingOptionsRequest(o[1]); } -core.List buildUnnamed24() => [ +core.List buildUnnamed23() => [ buildDeleteAssignedTargetingOptionsRequest(), buildDeleteAssignedTargetingOptionsRequest(), ]; -void checkUnnamed24(core.List o) { +void checkUnnamed23(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDeleteAssignedTargetingOptionsRequest(o[0]); checkDeleteAssignedTargetingOptionsRequest(o[1]); @@ -1797,8 +1756,8 @@ api.BulkEditPartnerAssignedTargetingOptionsRequest final o = api.BulkEditPartnerAssignedTargetingOptionsRequest(); buildCounterBulkEditPartnerAssignedTargetingOptionsRequest++; if (buildCounterBulkEditPartnerAssignedTargetingOptionsRequest < 3) { - o.createRequests = buildUnnamed23(); - o.deleteRequests = buildUnnamed24(); + o.createRequests = buildUnnamed22(); + o.deleteRequests = buildUnnamed23(); } buildCounterBulkEditPartnerAssignedTargetingOptionsRequest--; return o; @@ -1808,18 +1767,18 @@ void checkBulkEditPartnerAssignedTargetingOptionsRequest( api.BulkEditPartnerAssignedTargetingOptionsRequest o) { buildCounterBulkEditPartnerAssignedTargetingOptionsRequest++; if (buildCounterBulkEditPartnerAssignedTargetingOptionsRequest < 3) { - checkUnnamed23(o.createRequests!); - checkUnnamed24(o.deleteRequests!); + checkUnnamed22(o.createRequests!); + checkUnnamed23(o.deleteRequests!); } buildCounterBulkEditPartnerAssignedTargetingOptionsRequest--; } -core.List buildUnnamed25() => [ +core.List buildUnnamed24() => [ buildAssignedTargetingOption(), buildAssignedTargetingOption(), ]; -void checkUnnamed25(core.List o) { +void checkUnnamed24(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedTargetingOption(o[0]); checkAssignedTargetingOption(o[1]); @@ -1831,7 +1790,7 @@ api.BulkEditPartnerAssignedTargetingOptionsResponse final o = api.BulkEditPartnerAssignedTargetingOptionsResponse(); buildCounterBulkEditPartnerAssignedTargetingOptionsResponse++; if (buildCounterBulkEditPartnerAssignedTargetingOptionsResponse < 3) { - o.createdAssignedTargetingOptions = buildUnnamed25(); + o.createdAssignedTargetingOptions = buildUnnamed24(); } buildCounterBulkEditPartnerAssignedTargetingOptionsResponse--; return o; @@ -1841,28 +1800,28 @@ void checkBulkEditPartnerAssignedTargetingOptionsResponse( api.BulkEditPartnerAssignedTargetingOptionsResponse o) { buildCounterBulkEditPartnerAssignedTargetingOptionsResponse++; if (buildCounterBulkEditPartnerAssignedTargetingOptionsResponse < 3) { - checkUnnamed25(o.createdAssignedTargetingOptions!); + checkUnnamed24(o.createdAssignedTargetingOptions!); } buildCounterBulkEditPartnerAssignedTargetingOptionsResponse--; } -core.List buildUnnamed26() => [ +core.List buildUnnamed25() => [ buildSite(), buildSite(), ]; -void checkUnnamed26(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSite(o[0]); checkSite(o[1]); } -core.List buildUnnamed27() => [ +core.List buildUnnamed26() => [ 'foo', 'foo', ]; -void checkUnnamed27(core.List o) { +void checkUnnamed26(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1880,8 +1839,8 @@ api.BulkEditSitesRequest buildBulkEditSitesRequest() { buildCounterBulkEditSitesRequest++; if (buildCounterBulkEditSitesRequest < 3) { o.advertiserId = 'foo'; - o.createdSites = buildUnnamed26(); - o.deletedSites = buildUnnamed27(); + o.createdSites = buildUnnamed25(); + o.deletedSites = buildUnnamed26(); o.partnerId = 'foo'; } buildCounterBulkEditSitesRequest--; @@ -1895,8 +1854,8 @@ void checkBulkEditSitesRequest(api.BulkEditSitesRequest o) { o.advertiserId!, unittest.equals('foo'), ); - checkUnnamed26(o.createdSites!); - checkUnnamed27(o.deletedSites!); + checkUnnamed25(o.createdSites!); + checkUnnamed26(o.deletedSites!); unittest.expect( o.partnerId!, unittest.equals('foo'), @@ -1905,12 +1864,12 @@ void checkBulkEditSitesRequest(api.BulkEditSitesRequest o) { buildCounterBulkEditSitesRequest--; } -core.List buildUnnamed28() => [ +core.List buildUnnamed27() => [ buildSite(), buildSite(), ]; -void checkUnnamed28(core.List o) { +void checkUnnamed27(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSite(o[0]); checkSite(o[1]); @@ -1921,7 +1880,7 @@ api.BulkEditSitesResponse buildBulkEditSitesResponse() { final o = api.BulkEditSitesResponse(); buildCounterBulkEditSitesResponse++; if (buildCounterBulkEditSitesResponse < 3) { - o.sites = buildUnnamed28(); + o.sites = buildUnnamed27(); } buildCounterBulkEditSitesResponse--; return o; @@ -1930,17 +1889,17 @@ api.BulkEditSitesResponse buildBulkEditSitesResponse() { void checkBulkEditSitesResponse(api.BulkEditSitesResponse o) { buildCounterBulkEditSitesResponse++; if (buildCounterBulkEditSitesResponse < 3) { - checkUnnamed28(o.sites!); + checkUnnamed27(o.sites!); } buildCounterBulkEditSitesResponse--; } -core.List buildUnnamed29() => [ +core.List buildUnnamed28() => [ buildYoutubeAdGroupAssignedTargetingOption(), buildYoutubeAdGroupAssignedTargetingOption(), ]; -void checkUnnamed29(core.List o) { +void checkUnnamed28(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkYoutubeAdGroupAssignedTargetingOption(o[0]); checkYoutubeAdGroupAssignedTargetingOption(o[1]); @@ -1953,7 +1912,7 @@ api.BulkListAdGroupAssignedTargetingOptionsResponse buildCounterBulkListAdGroupAssignedTargetingOptionsResponse++; if (buildCounterBulkListAdGroupAssignedTargetingOptionsResponse < 3) { o.nextPageToken = 'foo'; - o.youtubeAdGroupAssignedTargetingOptions = buildUnnamed29(); + o.youtubeAdGroupAssignedTargetingOptions = buildUnnamed28(); } buildCounterBulkListAdGroupAssignedTargetingOptionsResponse--; return o; @@ -1967,17 +1926,17 @@ void checkBulkListAdGroupAssignedTargetingOptionsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed29(o.youtubeAdGroupAssignedTargetingOptions!); + checkUnnamed28(o.youtubeAdGroupAssignedTargetingOptions!); } buildCounterBulkListAdGroupAssignedTargetingOptionsResponse--; } -core.List buildUnnamed30() => [ +core.List buildUnnamed29() => [ buildAssignedTargetingOption(), buildAssignedTargetingOption(), ]; -void checkUnnamed30(core.List o) { +void checkUnnamed29(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedTargetingOption(o[0]); checkAssignedTargetingOption(o[1]); @@ -1989,7 +1948,7 @@ api.BulkListAdvertiserAssignedTargetingOptionsResponse final o = api.BulkListAdvertiserAssignedTargetingOptionsResponse(); buildCounterBulkListAdvertiserAssignedTargetingOptionsResponse++; if (buildCounterBulkListAdvertiserAssignedTargetingOptionsResponse < 3) { - o.assignedTargetingOptions = buildUnnamed30(); + o.assignedTargetingOptions = buildUnnamed29(); o.nextPageToken = 'foo'; } buildCounterBulkListAdvertiserAssignedTargetingOptionsResponse--; @@ -2000,7 +1959,7 @@ void checkBulkListAdvertiserAssignedTargetingOptionsResponse( api.BulkListAdvertiserAssignedTargetingOptionsResponse o) { buildCounterBulkListAdvertiserAssignedTargetingOptionsResponse++; if (buildCounterBulkListAdvertiserAssignedTargetingOptionsResponse < 3) { - checkUnnamed30(o.assignedTargetingOptions!); + checkUnnamed29(o.assignedTargetingOptions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2009,12 +1968,12 @@ void checkBulkListAdvertiserAssignedTargetingOptionsResponse( buildCounterBulkListAdvertiserAssignedTargetingOptionsResponse--; } -core.List buildUnnamed31() => [ +core.List buildUnnamed30() => [ buildLineItemAssignedTargetingOption(), buildLineItemAssignedTargetingOption(), ]; -void checkUnnamed31(core.List o) { +void checkUnnamed30(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLineItemAssignedTargetingOption(o[0]); checkLineItemAssignedTargetingOption(o[1]); @@ -2026,7 +1985,7 @@ api.BulkListAssignedTargetingOptionsResponse final o = api.BulkListAssignedTargetingOptionsResponse(); buildCounterBulkListAssignedTargetingOptionsResponse++; if (buildCounterBulkListAssignedTargetingOptionsResponse < 3) { - o.lineItemAssignedTargetingOptions = buildUnnamed31(); + o.lineItemAssignedTargetingOptions = buildUnnamed30(); o.nextPageToken = 'foo'; } buildCounterBulkListAssignedTargetingOptionsResponse--; @@ -2037,7 +1996,7 @@ void checkBulkListAssignedTargetingOptionsResponse( api.BulkListAssignedTargetingOptionsResponse o) { buildCounterBulkListAssignedTargetingOptionsResponse++; if (buildCounterBulkListAssignedTargetingOptionsResponse < 3) { - checkUnnamed31(o.lineItemAssignedTargetingOptions!); + checkUnnamed30(o.lineItemAssignedTargetingOptions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2046,86 +2005,12 @@ void checkBulkListAssignedTargetingOptionsResponse( buildCounterBulkListAssignedTargetingOptionsResponse--; } -core.List buildUnnamed32() => [ - buildAssignedTargetingOption(), - buildAssignedTargetingOption(), - ]; - -void checkUnnamed32(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - checkAssignedTargetingOption(o[0]); - checkAssignedTargetingOption(o[1]); -} - -core.int buildCounterBulkListCampaignAssignedTargetingOptionsResponse = 0; -api.BulkListCampaignAssignedTargetingOptionsResponse - buildBulkListCampaignAssignedTargetingOptionsResponse() { - final o = api.BulkListCampaignAssignedTargetingOptionsResponse(); - buildCounterBulkListCampaignAssignedTargetingOptionsResponse++; - if (buildCounterBulkListCampaignAssignedTargetingOptionsResponse < 3) { - o.assignedTargetingOptions = buildUnnamed32(); - o.nextPageToken = 'foo'; - } - buildCounterBulkListCampaignAssignedTargetingOptionsResponse--; - return o; -} - -void checkBulkListCampaignAssignedTargetingOptionsResponse( - api.BulkListCampaignAssignedTargetingOptionsResponse o) { - buildCounterBulkListCampaignAssignedTargetingOptionsResponse++; - if (buildCounterBulkListCampaignAssignedTargetingOptionsResponse < 3) { - checkUnnamed32(o.assignedTargetingOptions!); - unittest.expect( - o.nextPageToken!, - unittest.equals('foo'), - ); - } - buildCounterBulkListCampaignAssignedTargetingOptionsResponse--; -} - -core.List buildUnnamed33() => [ - buildAssignedTargetingOption(), - buildAssignedTargetingOption(), - ]; - -void checkUnnamed33(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - checkAssignedTargetingOption(o[0]); - checkAssignedTargetingOption(o[1]); -} - -core.int buildCounterBulkListInsertionOrderAssignedTargetingOptionsResponse = 0; -api.BulkListInsertionOrderAssignedTargetingOptionsResponse - buildBulkListInsertionOrderAssignedTargetingOptionsResponse() { - final o = api.BulkListInsertionOrderAssignedTargetingOptionsResponse(); - buildCounterBulkListInsertionOrderAssignedTargetingOptionsResponse++; - if (buildCounterBulkListInsertionOrderAssignedTargetingOptionsResponse < 3) { - o.assignedTargetingOptions = buildUnnamed33(); - o.nextPageToken = 'foo'; - } - buildCounterBulkListInsertionOrderAssignedTargetingOptionsResponse--; - return o; -} - -void checkBulkListInsertionOrderAssignedTargetingOptionsResponse( - api.BulkListInsertionOrderAssignedTargetingOptionsResponse o) { - buildCounterBulkListInsertionOrderAssignedTargetingOptionsResponse++; - if (buildCounterBulkListInsertionOrderAssignedTargetingOptionsResponse < 3) { - checkUnnamed33(o.assignedTargetingOptions!); - unittest.expect( - o.nextPageToken!, - unittest.equals('foo'), - ); - } - buildCounterBulkListInsertionOrderAssignedTargetingOptionsResponse--; -} - -core.List buildUnnamed34() => [ +core.List buildUnnamed31() => [ 'foo', 'foo', ]; -void checkUnnamed34(core.List o) { +void checkUnnamed31(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2142,7 +2027,7 @@ api.BulkUpdateLineItemsRequest buildBulkUpdateLineItemsRequest() { final o = api.BulkUpdateLineItemsRequest(); buildCounterBulkUpdateLineItemsRequest++; if (buildCounterBulkUpdateLineItemsRequest < 3) { - o.lineItemIds = buildUnnamed34(); + o.lineItemIds = buildUnnamed31(); o.targetLineItem = buildLineItem(); o.updateMask = 'foo'; } @@ -2153,7 +2038,7 @@ api.BulkUpdateLineItemsRequest buildBulkUpdateLineItemsRequest() { void checkBulkUpdateLineItemsRequest(api.BulkUpdateLineItemsRequest o) { buildCounterBulkUpdateLineItemsRequest++; if (buildCounterBulkUpdateLineItemsRequest < 3) { - checkUnnamed34(o.lineItemIds!); + checkUnnamed31(o.lineItemIds!); checkLineItem(o.targetLineItem!); unittest.expect( o.updateMask!, @@ -2163,23 +2048,23 @@ void checkBulkUpdateLineItemsRequest(api.BulkUpdateLineItemsRequest o) { buildCounterBulkUpdateLineItemsRequest--; } -core.List buildUnnamed35() => [ +core.List buildUnnamed32() => [ buildStatus(), buildStatus(), ]; -void checkUnnamed35(core.List o) { +void checkUnnamed32(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStatus(o[0]); checkStatus(o[1]); } -core.List buildUnnamed36() => [ +core.List buildUnnamed33() => [ 'foo', 'foo', ]; -void checkUnnamed36(core.List o) { +void checkUnnamed33(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2191,12 +2076,12 @@ void checkUnnamed36(core.List o) { ); } -core.List buildUnnamed37() => [ +core.List buildUnnamed34() => [ 'foo', 'foo', ]; -void checkUnnamed37(core.List o) { +void checkUnnamed34(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2208,12 +2093,12 @@ void checkUnnamed37(core.List o) { ); } -core.List buildUnnamed38() => [ +core.List buildUnnamed35() => [ 'foo', 'foo', ]; -void checkUnnamed38(core.List o) { +void checkUnnamed35(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2230,10 +2115,10 @@ api.BulkUpdateLineItemsResponse buildBulkUpdateLineItemsResponse() { final o = api.BulkUpdateLineItemsResponse(); buildCounterBulkUpdateLineItemsResponse++; if (buildCounterBulkUpdateLineItemsResponse < 3) { - o.errors = buildUnnamed35(); - o.failedLineItemIds = buildUnnamed36(); - o.skippedLineItemIds = buildUnnamed37(); - o.updatedLineItemIds = buildUnnamed38(); + o.errors = buildUnnamed32(); + o.failedLineItemIds = buildUnnamed33(); + o.skippedLineItemIds = buildUnnamed34(); + o.updatedLineItemIds = buildUnnamed35(); } buildCounterBulkUpdateLineItemsResponse--; return o; @@ -2242,10 +2127,10 @@ api.BulkUpdateLineItemsResponse buildBulkUpdateLineItemsResponse() { void checkBulkUpdateLineItemsResponse(api.BulkUpdateLineItemsResponse o) { buildCounterBulkUpdateLineItemsResponse++; if (buildCounterBulkUpdateLineItemsResponse < 3) { - checkUnnamed35(o.errors!); - checkUnnamed36(o.failedLineItemIds!); - checkUnnamed37(o.skippedLineItemIds!); - checkUnnamed38(o.updatedLineItemIds!); + checkUnnamed32(o.errors!); + checkUnnamed33(o.failedLineItemIds!); + checkUnnamed34(o.skippedLineItemIds!); + checkUnnamed35(o.updatedLineItemIds!); } buildCounterBulkUpdateLineItemsResponse--; } @@ -2369,12 +2254,12 @@ void checkBusinessChainTargetingOptionDetails( buildCounterBusinessChainTargetingOptionDetails--; } -core.List buildUnnamed39() => [ +core.List buildUnnamed36() => [ buildCampaignBudget(), buildCampaignBudget(), ]; -void checkUnnamed39(core.List o) { +void checkUnnamed36(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCampaignBudget(o[0]); checkCampaignBudget(o[1]); @@ -2386,7 +2271,7 @@ api.Campaign buildCampaign() { buildCounterCampaign++; if (buildCounterCampaign < 3) { o.advertiserId = 'foo'; - o.campaignBudgets = buildUnnamed39(); + o.campaignBudgets = buildUnnamed36(); o.campaignFlight = buildCampaignFlight(); o.campaignGoal = buildCampaignGoal(); o.campaignId = 'foo'; @@ -2407,7 +2292,7 @@ void checkCampaign(api.Campaign o) { o.advertiserId!, unittest.equals('foo'), ); - checkUnnamed39(o.campaignBudgets!); + checkUnnamed36(o.campaignBudgets!); checkCampaignFlight(o.campaignFlight!); checkCampaignGoal(o.campaignGoal!); unittest.expect( @@ -2730,12 +2615,12 @@ void checkChannelAssignedTargetingOptionDetails( buildCounterChannelAssignedTargetingOptionDetails--; } -core.List buildUnnamed40() => [ +core.List buildUnnamed37() => [ 'foo', 'foo', ]; -void checkUnnamed40(core.List o) { +void checkUnnamed37(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2747,12 +2632,12 @@ void checkUnnamed40(core.List o) { ); } -core.List buildUnnamed41() => [ +core.List buildUnnamed38() => [ 'foo', 'foo', ]; -void checkUnnamed41(core.List o) { +void checkUnnamed38(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2770,10 +2655,10 @@ api.CmHybridConfig buildCmHybridConfig() { buildCounterCmHybridConfig++; if (buildCounterCmHybridConfig < 3) { o.cmAccountId = 'foo'; - o.cmAdvertiserIds = buildUnnamed40(); + o.cmAdvertiserIds = buildUnnamed37(); o.cmFloodlightConfigId = 'foo'; o.cmFloodlightLinkingAuthorized = true; - o.cmSyncableSiteIds = buildUnnamed41(); + o.cmSyncableSiteIds = buildUnnamed38(); o.dv360ToCmCostReportingEnabled = true; o.dv360ToCmDataSharingEnabled = true; } @@ -2788,13 +2673,13 @@ void checkCmHybridConfig(api.CmHybridConfig o) { o.cmAccountId!, unittest.equals('foo'), ); - checkUnnamed40(o.cmAdvertiserIds!); + checkUnnamed37(o.cmAdvertiserIds!); unittest.expect( o.cmFloodlightConfigId!, unittest.equals('foo'), ); unittest.expect(o.cmFloodlightLinkingAuthorized!, unittest.isTrue); - checkUnnamed41(o.cmSyncableSiteIds!); + checkUnnamed38(o.cmSyncableSiteIds!); unittest.expect(o.dv360ToCmCostReportingEnabled!, unittest.isTrue); unittest.expect(o.dv360ToCmDataSharingEnabled!, unittest.isTrue); } @@ -2865,12 +2750,12 @@ void checkCombinedAudience(api.CombinedAudience o) { buildCounterCombinedAudience--; } -core.List buildUnnamed42() => [ +core.List buildUnnamed39() => [ buildCombinedAudienceTargetingSetting(), buildCombinedAudienceTargetingSetting(), ]; -void checkUnnamed42(core.List o) { +void checkUnnamed39(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCombinedAudienceTargetingSetting(o[0]); checkCombinedAudienceTargetingSetting(o[1]); @@ -2881,7 +2766,7 @@ api.CombinedAudienceGroup buildCombinedAudienceGroup() { final o = api.CombinedAudienceGroup(); buildCounterCombinedAudienceGroup++; if (buildCounterCombinedAudienceGroup < 3) { - o.settings = buildUnnamed42(); + o.settings = buildUnnamed39(); } buildCounterCombinedAudienceGroup--; return o; @@ -2890,7 +2775,7 @@ api.CombinedAudienceGroup buildCombinedAudienceGroup() { void checkCombinedAudienceGroup(api.CombinedAudienceGroup o) { buildCounterCombinedAudienceGroup++; if (buildCounterCombinedAudienceGroup < 3) { - checkUnnamed42(o.settings!); + checkUnnamed39(o.settings!); } buildCounterCombinedAudienceGroup--; } @@ -2964,154 +2849,6 @@ void checkCommonInStreamAttribute(api.CommonInStreamAttribute o) { buildCounterCommonInStreamAttribute--; } -core.int buildCounterConsent = 0; -api.Consent buildConsent() { - final o = api.Consent(); - buildCounterConsent++; - if (buildCounterConsent < 3) { - o.adPersonalization = 'foo'; - o.adUserData = 'foo'; - } - buildCounterConsent--; - return o; -} - -void checkConsent(api.Consent o) { - buildCounterConsent++; - if (buildCounterConsent < 3) { - unittest.expect( - o.adPersonalization!, - unittest.equals('foo'), - ); - unittest.expect( - o.adUserData!, - unittest.equals('foo'), - ); - } - buildCounterConsent--; -} - -core.List buildUnnamed43() => [ - 'foo', - 'foo', - ]; - -void checkUnnamed43(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - unittest.expect( - o[0], - unittest.equals('foo'), - ); - unittest.expect( - o[1], - unittest.equals('foo'), - ); -} - -core.List buildUnnamed44() => [ - 'foo', - 'foo', - ]; - -void checkUnnamed44(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - unittest.expect( - o[0], - unittest.equals('foo'), - ); - unittest.expect( - o[1], - unittest.equals('foo'), - ); -} - -core.List buildUnnamed45() => [ - 'foo', - 'foo', - ]; - -void checkUnnamed45(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - unittest.expect( - o[0], - unittest.equals('foo'), - ); - unittest.expect( - o[1], - unittest.equals('foo'), - ); -} - -core.int buildCounterContactInfo = 0; -api.ContactInfo buildContactInfo() { - final o = api.ContactInfo(); - buildCounterContactInfo++; - if (buildCounterContactInfo < 3) { - o.countryCode = 'foo'; - o.hashedEmails = buildUnnamed43(); - o.hashedFirstName = 'foo'; - o.hashedLastName = 'foo'; - o.hashedPhoneNumbers = buildUnnamed44(); - o.zipCodes = buildUnnamed45(); - } - buildCounterContactInfo--; - return o; -} - -void checkContactInfo(api.ContactInfo o) { - buildCounterContactInfo++; - if (buildCounterContactInfo < 3) { - unittest.expect( - o.countryCode!, - unittest.equals('foo'), - ); - checkUnnamed43(o.hashedEmails!); - unittest.expect( - o.hashedFirstName!, - unittest.equals('foo'), - ); - unittest.expect( - o.hashedLastName!, - unittest.equals('foo'), - ); - checkUnnamed44(o.hashedPhoneNumbers!); - checkUnnamed45(o.zipCodes!); - } - buildCounterContactInfo--; -} - -core.List buildUnnamed46() => [ - buildContactInfo(), - buildContactInfo(), - ]; - -void checkUnnamed46(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - checkContactInfo(o[0]); - checkContactInfo(o[1]); -} - -core.int buildCounterContactInfoList = 0; -api.ContactInfoList buildContactInfoList() { - final o = api.ContactInfoList(); - buildCounterContactInfoList++; - if (buildCounterContactInfoList < 3) { - o.consent = buildConsent(); - o.contactInfos = buildUnnamed46(); - } - buildCounterContactInfoList--; - return o; -} - -void checkContactInfoList(api.ContactInfoList o) { - buildCounterContactInfoList++; - if (buildCounterContactInfoList < 3) { - checkConsent(o.consent!); - checkUnnamed46(o.contactInfos!); - } - buildCounterContactInfoList--; -} - core.int buildCounterContentDurationAssignedTargetingOptionDetails = 0; api.ContentDurationAssignedTargetingOptionDetails buildContentDurationAssignedTargetingOptionDetails() { @@ -3379,12 +3116,12 @@ void checkContentStreamTypeTargetingOptionDetails( buildCounterContentStreamTypeTargetingOptionDetails--; } -core.List buildUnnamed47() => [ +core.List buildUnnamed40() => [ buildTrackingFloodlightActivityConfig(), buildTrackingFloodlightActivityConfig(), ]; -void checkUnnamed47(core.List o) { +void checkUnnamed40(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTrackingFloodlightActivityConfig(o[0]); checkTrackingFloodlightActivityConfig(o[1]); @@ -3395,7 +3132,7 @@ api.ConversionCountingConfig buildConversionCountingConfig() { final o = api.ConversionCountingConfig(); buildCounterConversionCountingConfig++; if (buildCounterConversionCountingConfig < 3) { - o.floodlightActivityConfigs = buildUnnamed47(); + o.floodlightActivityConfigs = buildUnnamed40(); o.postViewCountPercentageMillis = 'foo'; } buildCounterConversionCountingConfig--; @@ -3405,7 +3142,7 @@ api.ConversionCountingConfig buildConversionCountingConfig() { void checkConversionCountingConfig(api.ConversionCountingConfig o) { buildCounterConversionCountingConfig++; if (buildCounterConversionCountingConfig < 3) { - checkUnnamed47(o.floodlightActivityConfigs!); + checkUnnamed40(o.floodlightActivityConfigs!); unittest.expect( o.postViewCountPercentageMillis!, unittest.equals('foo'), @@ -3482,12 +3219,12 @@ void checkCreateAssetResponse(api.CreateAssetResponse o) { buildCounterCreateAssetResponse--; } -core.List buildUnnamed48() => [ +core.List buildUnnamed41() => [ buildAssignedTargetingOption(), buildAssignedTargetingOption(), ]; -void checkUnnamed48(core.List o) { +void checkUnnamed41(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedTargetingOption(o[0]); checkAssignedTargetingOption(o[1]); @@ -3499,7 +3236,7 @@ api.CreateAssignedTargetingOptionsRequest final o = api.CreateAssignedTargetingOptionsRequest(); buildCounterCreateAssignedTargetingOptionsRequest++; if (buildCounterCreateAssignedTargetingOptionsRequest < 3) { - o.assignedTargetingOptions = buildUnnamed48(); + o.assignedTargetingOptions = buildUnnamed41(); o.targetingType = 'foo'; } buildCounterCreateAssignedTargetingOptionsRequest--; @@ -3510,7 +3247,7 @@ void checkCreateAssignedTargetingOptionsRequest( api.CreateAssignedTargetingOptionsRequest o) { buildCounterCreateAssignedTargetingOptionsRequest++; if (buildCounterCreateAssignedTargetingOptionsRequest < 3) { - checkUnnamed48(o.assignedTargetingOptions!); + checkUnnamed41(o.assignedTargetingOptions!); unittest.expect( o.targetingType!, unittest.equals('foo'), @@ -3557,34 +3294,34 @@ void checkCreateSdfDownloadTaskRequest(api.CreateSdfDownloadTaskRequest o) { buildCounterCreateSdfDownloadTaskRequest--; } -core.List buildUnnamed49() => [ +core.List buildUnnamed42() => [ buildDimensions(), buildDimensions(), ]; -void checkUnnamed49(core.List o) { +void checkUnnamed42(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDimensions(o[0]); checkDimensions(o[1]); } -core.List buildUnnamed50() => [ +core.List buildUnnamed43() => [ buildAssetAssociation(), buildAssetAssociation(), ]; -void checkUnnamed50(core.List o) { +void checkUnnamed43(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssetAssociation(o[0]); checkAssetAssociation(o[1]); } -core.List buildUnnamed51() => [ +core.List buildUnnamed44() => [ 'foo', 'foo', ]; -void checkUnnamed51(core.List o) { +void checkUnnamed44(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3596,23 +3333,23 @@ void checkUnnamed51(core.List o) { ); } -core.List buildUnnamed52() => [ +core.List buildUnnamed45() => [ buildCounterEvent(), buildCounterEvent(), ]; -void checkUnnamed52(core.List o) { +void checkUnnamed45(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCounterEvent(o[0]); checkCounterEvent(o[1]); } -core.List buildUnnamed53() => [ +core.List buildUnnamed46() => [ 'foo', 'foo', ]; -void checkUnnamed53(core.List o) { +void checkUnnamed46(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3624,23 +3361,23 @@ void checkUnnamed53(core.List o) { ); } -core.List buildUnnamed54() => [ +core.List buildUnnamed47() => [ buildExitEvent(), buildExitEvent(), ]; -void checkUnnamed54(core.List o) { +void checkUnnamed47(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExitEvent(o[0]); checkExitEvent(o[1]); } -core.List buildUnnamed55() => [ +core.List buildUnnamed48() => [ 'foo', 'foo', ]; -void checkUnnamed55(core.List o) { +void checkUnnamed48(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3652,34 +3389,34 @@ void checkUnnamed55(core.List o) { ); } -core.List buildUnnamed56() => [ +core.List buildUnnamed49() => [ buildThirdPartyUrl(), buildThirdPartyUrl(), ]; -void checkUnnamed56(core.List o) { +void checkUnnamed49(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkThirdPartyUrl(o[0]); checkThirdPartyUrl(o[1]); } -core.List buildUnnamed57() => [ +core.List buildUnnamed50() => [ buildTimerEvent(), buildTimerEvent(), ]; -void checkUnnamed57(core.List o) { +void checkUnnamed50(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTimerEvent(o[0]); checkTimerEvent(o[1]); } -core.List buildUnnamed58() => [ +core.List buildUnnamed51() => [ 'foo', 'foo', ]; -void checkUnnamed58(core.List o) { +void checkUnnamed51(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3691,12 +3428,12 @@ void checkUnnamed58(core.List o) { ); } -core.List buildUnnamed59() => [ +core.List buildUnnamed52() => [ buildTranscode(), buildTranscode(), ]; -void checkUnnamed59(core.List o) { +void checkUnnamed52(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTranscode(o[0]); checkTranscode(o[1]); @@ -3707,23 +3444,23 @@ api.Creative buildCreative() { final o = api.Creative(); buildCounterCreative++; if (buildCounterCreative < 3) { - o.additionalDimensions = buildUnnamed49(); + o.additionalDimensions = buildUnnamed42(); o.advertiserId = 'foo'; o.appendedTag = 'foo'; - o.assets = buildUnnamed50(); + o.assets = buildUnnamed43(); o.cmPlacementId = 'foo'; o.cmTrackingAd = buildCmTrackingAd(); - o.companionCreativeIds = buildUnnamed51(); - o.counterEvents = buildUnnamed52(); + o.companionCreativeIds = buildUnnamed44(); + o.counterEvents = buildUnnamed45(); o.createTime = 'foo'; - o.creativeAttributes = buildUnnamed53(); + o.creativeAttributes = buildUnnamed46(); o.creativeId = 'foo'; o.creativeType = 'foo'; o.dimensions = buildDimensions(); o.displayName = 'foo'; o.dynamic = true; o.entityStatus = 'foo'; - o.exitEvents = buildUnnamed54(); + o.exitEvents = buildUnnamed47(); o.expandOnHover = true; o.expandingDirection = 'foo'; o.hostingSource = 'foo'; @@ -3731,7 +3468,7 @@ api.Creative buildCreative() { o.iasCampaignMonitoring = true; o.integrationCode = 'foo'; o.jsTrackerUrl = 'foo'; - o.lineItemIds = buildUnnamed55(); + o.lineItemIds = buildUnnamed48(); o.mediaDuration = 'foo'; o.mp3Audio = true; o.name = 'foo'; @@ -3746,10 +3483,10 @@ api.Creative buildCreative() { o.skipOffset = buildAudioVideoOffset(); o.skippable = true; o.thirdPartyTag = 'foo'; - o.thirdPartyUrls = buildUnnamed56(); - o.timerEvents = buildUnnamed57(); - o.trackerUrls = buildUnnamed58(); - o.transcodes = buildUnnamed59(); + o.thirdPartyUrls = buildUnnamed49(); + o.timerEvents = buildUnnamed50(); + o.trackerUrls = buildUnnamed51(); + o.transcodes = buildUnnamed52(); o.universalAdId = buildUniversalAdId(); o.updateTime = 'foo'; o.vastTagUrl = 'foo'; @@ -3762,7 +3499,7 @@ api.Creative buildCreative() { void checkCreative(api.Creative o) { buildCounterCreative++; if (buildCounterCreative < 3) { - checkUnnamed49(o.additionalDimensions!); + checkUnnamed42(o.additionalDimensions!); unittest.expect( o.advertiserId!, unittest.equals('foo'), @@ -3771,19 +3508,19 @@ void checkCreative(api.Creative o) { o.appendedTag!, unittest.equals('foo'), ); - checkUnnamed50(o.assets!); + checkUnnamed43(o.assets!); unittest.expect( o.cmPlacementId!, unittest.equals('foo'), ); checkCmTrackingAd(o.cmTrackingAd!); - checkUnnamed51(o.companionCreativeIds!); - checkUnnamed52(o.counterEvents!); + checkUnnamed44(o.companionCreativeIds!); + checkUnnamed45(o.counterEvents!); unittest.expect( o.createTime!, unittest.equals('foo'), ); - checkUnnamed53(o.creativeAttributes!); + checkUnnamed46(o.creativeAttributes!); unittest.expect( o.creativeId!, unittest.equals('foo'), @@ -3802,7 +3539,7 @@ void checkCreative(api.Creative o) { o.entityStatus!, unittest.equals('foo'), ); - checkUnnamed54(o.exitEvents!); + checkUnnamed47(o.exitEvents!); unittest.expect(o.expandOnHover!, unittest.isTrue); unittest.expect( o.expandingDirection!, @@ -3822,7 +3559,7 @@ void checkCreative(api.Creative o) { o.jsTrackerUrl!, unittest.equals('foo'), ); - checkUnnamed55(o.lineItemIds!); + checkUnnamed48(o.lineItemIds!); unittest.expect( o.mediaDuration!, unittest.equals('foo'), @@ -3849,10 +3586,10 @@ void checkCreative(api.Creative o) { o.thirdPartyTag!, unittest.equals('foo'), ); - checkUnnamed56(o.thirdPartyUrls!); - checkUnnamed57(o.timerEvents!); - checkUnnamed58(o.trackerUrls!); - checkUnnamed59(o.transcodes!); + checkUnnamed49(o.thirdPartyUrls!); + checkUnnamed50(o.timerEvents!); + checkUnnamed51(o.trackerUrls!); + checkUnnamed52(o.transcodes!); checkUniversalAdId(o.universalAdId!); unittest.expect( o.updateTime!, @@ -3893,23 +3630,23 @@ void checkCreativeConfig(api.CreativeConfig o) { buildCounterCreativeConfig--; } -core.List buildUnnamed60() => [ +core.List buildUnnamed53() => [ buildCustomBiddingModelDetails(), buildCustomBiddingModelDetails(), ]; -void checkUnnamed60(core.List o) { +void checkUnnamed53(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCustomBiddingModelDetails(o[0]); checkCustomBiddingModelDetails(o[1]); } -core.List buildUnnamed61() => [ +core.List buildUnnamed54() => [ 'foo', 'foo', ]; -void checkUnnamed61(core.List o) { +void checkUnnamed54(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3931,10 +3668,10 @@ api.CustomBiddingAlgorithm buildCustomBiddingAlgorithm() { o.customBiddingAlgorithmType = 'foo'; o.displayName = 'foo'; o.entityStatus = 'foo'; - o.modelDetails = buildUnnamed60(); + o.modelDetails = buildUnnamed53(); o.name = 'foo'; o.partnerId = 'foo'; - o.sharedAdvertiserIds = buildUnnamed61(); + o.sharedAdvertiserIds = buildUnnamed54(); } buildCounterCustomBiddingAlgorithm--; return o; @@ -3963,7 +3700,7 @@ void checkCustomBiddingAlgorithm(api.CustomBiddingAlgorithm o) { o.entityStatus!, unittest.equals('foo'), ); - checkUnnamed60(o.modelDetails!); + checkUnnamed53(o.modelDetails!); unittest.expect( o.name!, unittest.equals('foo'), @@ -3972,7 +3709,7 @@ void checkCustomBiddingAlgorithm(api.CustomBiddingAlgorithm o) { o.partnerId!, unittest.equals('foo'), ); - checkUnnamed61(o.sharedAdvertiserIds!); + checkUnnamed54(o.sharedAdvertiserIds!); } buildCounterCustomBiddingAlgorithm--; } @@ -4009,12 +3746,12 @@ void checkCustomBiddingModelDetails(api.CustomBiddingModelDetails o) { buildCounterCustomBiddingModelDetails--; } -core.List buildUnnamed62() => [ +core.List buildUnnamed55() => [ buildScriptError(), buildScriptError(), ]; -void checkUnnamed62(core.List o) { +void checkUnnamed55(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkScriptError(o[0]); checkScriptError(o[1]); @@ -4029,7 +3766,7 @@ api.CustomBiddingScript buildCustomBiddingScript() { o.createTime = 'foo'; o.customBiddingAlgorithmId = 'foo'; o.customBiddingScriptId = 'foo'; - o.errors = buildUnnamed62(); + o.errors = buildUnnamed55(); o.name = 'foo'; o.script = buildCustomBiddingScriptRef(); o.state = 'foo'; @@ -4054,7 +3791,7 @@ void checkCustomBiddingScript(api.CustomBiddingScript o) { o.customBiddingScriptId!, unittest.equals('foo'), ); - checkUnnamed62(o.errors!); + checkUnnamed55(o.errors!); unittest.expect( o.name!, unittest.equals('foo'), @@ -4149,12 +3886,12 @@ void checkCustomList(api.CustomList o) { buildCounterCustomList--; } -core.List buildUnnamed63() => [ +core.List buildUnnamed56() => [ buildCustomListTargetingSetting(), buildCustomListTargetingSetting(), ]; -void checkUnnamed63(core.List o) { +void checkUnnamed56(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCustomListTargetingSetting(o[0]); checkCustomListTargetingSetting(o[1]); @@ -4165,7 +3902,7 @@ api.CustomListGroup buildCustomListGroup() { final o = api.CustomListGroup(); buildCounterCustomListGroup++; if (buildCounterCustomListGroup < 3) { - o.settings = buildUnnamed63(); + o.settings = buildUnnamed56(); } buildCounterCustomListGroup--; return o; @@ -4174,7 +3911,7 @@ api.CustomListGroup buildCustomListGroup() { void checkCustomListGroup(api.CustomListGroup o) { buildCounterCustomListGroup++; if (buildCounterCustomListGroup < 3) { - checkUnnamed63(o.settings!); + checkUnnamed56(o.settings!); } buildCounterCustomListGroup--; } @@ -4308,12 +4045,12 @@ void checkDeactivateManualTriggerRequest(api.DeactivateManualTriggerRequest o) { buildCounterDeactivateManualTriggerRequest--; } -core.List buildUnnamed64() => [ +core.List buildUnnamed57() => [ 'foo', 'foo', ]; -void checkUnnamed64(core.List o) { +void checkUnnamed57(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4331,7 +4068,7 @@ api.DeleteAssignedTargetingOptionsRequest final o = api.DeleteAssignedTargetingOptionsRequest(); buildCounterDeleteAssignedTargetingOptionsRequest++; if (buildCounterDeleteAssignedTargetingOptionsRequest < 3) { - o.assignedTargetingOptionIds = buildUnnamed64(); + o.assignedTargetingOptionIds = buildUnnamed57(); o.targetingType = 'foo'; } buildCounterDeleteAssignedTargetingOptionsRequest--; @@ -4342,7 +4079,7 @@ void checkDeleteAssignedTargetingOptionsRequest( api.DeleteAssignedTargetingOptionsRequest o) { buildCounterDeleteAssignedTargetingOptionsRequest++; if (buildCounterDeleteAssignedTargetingOptionsRequest < 3) { - checkUnnamed64(o.assignedTargetingOptionIds!); + checkUnnamed57(o.assignedTargetingOptionIds!); unittest.expect( o.targetingType!, unittest.equals('foo'), @@ -4555,12 +4292,12 @@ void checkDisplayVideoSourceAd(api.DisplayVideoSourceAd o) { buildCounterDisplayVideoSourceAd--; } -core.List buildUnnamed65() => [ +core.List buildUnnamed58() => [ 'foo', 'foo', ]; -void checkUnnamed65(core.List o) { +void checkUnnamed58(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4578,7 +4315,7 @@ api.DoubleVerify buildDoubleVerify() { buildCounterDoubleVerify++; if (buildCounterDoubleVerify < 3) { o.appStarRating = buildDoubleVerifyAppStarRating(); - o.avoidedAgeRatings = buildUnnamed65(); + o.avoidedAgeRatings = buildUnnamed58(); o.brandSafetyCategories = buildDoubleVerifyBrandSafetyCategories(); o.customSegmentId = 'foo'; o.displayViewability = buildDoubleVerifyDisplayViewability(); @@ -4593,7 +4330,7 @@ void checkDoubleVerify(api.DoubleVerify o) { buildCounterDoubleVerify++; if (buildCounterDoubleVerify < 3) { checkDoubleVerifyAppStarRating(o.appStarRating!); - checkUnnamed65(o.avoidedAgeRatings!); + checkUnnamed58(o.avoidedAgeRatings!); checkDoubleVerifyBrandSafetyCategories(o.brandSafetyCategories!); unittest.expect( o.customSegmentId!, @@ -4630,12 +4367,12 @@ void checkDoubleVerifyAppStarRating(api.DoubleVerifyAppStarRating o) { buildCounterDoubleVerifyAppStarRating--; } -core.List buildUnnamed66() => [ +core.List buildUnnamed59() => [ 'foo', 'foo', ]; -void checkUnnamed66(core.List o) { +void checkUnnamed59(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4647,12 +4384,12 @@ void checkUnnamed66(core.List o) { ); } -core.List buildUnnamed67() => [ +core.List buildUnnamed60() => [ 'foo', 'foo', ]; -void checkUnnamed67(core.List o) { +void checkUnnamed60(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4670,8 +4407,8 @@ api.DoubleVerifyBrandSafetyCategories buildDoubleVerifyBrandSafetyCategories() { buildCounterDoubleVerifyBrandSafetyCategories++; if (buildCounterDoubleVerifyBrandSafetyCategories < 3) { o.avoidUnknownBrandSafetyCategory = true; - o.avoidedHighSeverityCategories = buildUnnamed66(); - o.avoidedMediumSeverityCategories = buildUnnamed67(); + o.avoidedHighSeverityCategories = buildUnnamed59(); + o.avoidedMediumSeverityCategories = buildUnnamed60(); } buildCounterDoubleVerifyBrandSafetyCategories--; return o; @@ -4682,8 +4419,8 @@ void checkDoubleVerifyBrandSafetyCategories( buildCounterDoubleVerifyBrandSafetyCategories++; if (buildCounterDoubleVerifyBrandSafetyCategories < 3) { unittest.expect(o.avoidUnknownBrandSafetyCategory!, unittest.isTrue); - checkUnnamed66(o.avoidedHighSeverityCategories!); - checkUnnamed67(o.avoidedMediumSeverityCategories!); + checkUnnamed59(o.avoidedHighSeverityCategories!); + checkUnnamed60(o.avoidedMediumSeverityCategories!); } buildCounterDoubleVerifyBrandSafetyCategories--; } @@ -4816,66 +4553,12 @@ void checkDuplicateLineItemResponse(api.DuplicateLineItemResponse o) { buildCounterDuplicateLineItemResponse--; } -core.int buildCounterEditCustomerMatchMembersRequest = 0; -api.EditCustomerMatchMembersRequest buildEditCustomerMatchMembersRequest() { - final o = api.EditCustomerMatchMembersRequest(); - buildCounterEditCustomerMatchMembersRequest++; - if (buildCounterEditCustomerMatchMembersRequest < 3) { - o.addedContactInfoList = buildContactInfoList(); - o.addedMobileDeviceIdList = buildMobileDeviceIdList(); - o.advertiserId = 'foo'; - o.removedContactInfoList = buildContactInfoList(); - o.removedMobileDeviceIdList = buildMobileDeviceIdList(); - } - buildCounterEditCustomerMatchMembersRequest--; - return o; -} - -void checkEditCustomerMatchMembersRequest( - api.EditCustomerMatchMembersRequest o) { - buildCounterEditCustomerMatchMembersRequest++; - if (buildCounterEditCustomerMatchMembersRequest < 3) { - checkContactInfoList(o.addedContactInfoList!); - checkMobileDeviceIdList(o.addedMobileDeviceIdList!); - unittest.expect( - o.advertiserId!, - unittest.equals('foo'), - ); - checkContactInfoList(o.removedContactInfoList!); - checkMobileDeviceIdList(o.removedMobileDeviceIdList!); - } - buildCounterEditCustomerMatchMembersRequest--; -} - -core.int buildCounterEditCustomerMatchMembersResponse = 0; -api.EditCustomerMatchMembersResponse buildEditCustomerMatchMembersResponse() { - final o = api.EditCustomerMatchMembersResponse(); - buildCounterEditCustomerMatchMembersResponse++; - if (buildCounterEditCustomerMatchMembersResponse < 3) { - o.firstAndThirdPartyAudienceId = 'foo'; - } - buildCounterEditCustomerMatchMembersResponse--; - return o; -} - -void checkEditCustomerMatchMembersResponse( - api.EditCustomerMatchMembersResponse o) { - buildCounterEditCustomerMatchMembersResponse++; - if (buildCounterEditCustomerMatchMembersResponse < 3) { - unittest.expect( - o.firstAndThirdPartyAudienceId!, - unittest.equals('foo'), - ); - } - buildCounterEditCustomerMatchMembersResponse--; -} - -core.List buildUnnamed68() => [ +core.List buildUnnamed61() => [ 'foo', 'foo', ]; -void checkUnnamed68(core.List o) { +void checkUnnamed61(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4887,12 +4570,12 @@ void checkUnnamed68(core.List o) { ); } -core.List buildUnnamed69() => [ +core.List buildUnnamed62() => [ 'foo', 'foo', ]; -void checkUnnamed69(core.List o) { +void checkUnnamed62(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4910,10 +4593,10 @@ api.EditGuaranteedOrderReadAccessorsRequest final o = api.EditGuaranteedOrderReadAccessorsRequest(); buildCounterEditGuaranteedOrderReadAccessorsRequest++; if (buildCounterEditGuaranteedOrderReadAccessorsRequest < 3) { - o.addedAdvertisers = buildUnnamed68(); + o.addedAdvertisers = buildUnnamed61(); o.partnerId = 'foo'; o.readAccessInherited = true; - o.removedAdvertisers = buildUnnamed69(); + o.removedAdvertisers = buildUnnamed62(); } buildCounterEditGuaranteedOrderReadAccessorsRequest--; return o; @@ -4923,23 +4606,23 @@ void checkEditGuaranteedOrderReadAccessorsRequest( api.EditGuaranteedOrderReadAccessorsRequest o) { buildCounterEditGuaranteedOrderReadAccessorsRequest++; if (buildCounterEditGuaranteedOrderReadAccessorsRequest < 3) { - checkUnnamed68(o.addedAdvertisers!); + checkUnnamed61(o.addedAdvertisers!); unittest.expect( o.partnerId!, unittest.equals('foo'), ); unittest.expect(o.readAccessInherited!, unittest.isTrue); - checkUnnamed69(o.removedAdvertisers!); + checkUnnamed62(o.removedAdvertisers!); } buildCounterEditGuaranteedOrderReadAccessorsRequest--; } -core.List buildUnnamed70() => [ +core.List buildUnnamed63() => [ 'foo', 'foo', ]; -void checkUnnamed70(core.List o) { +void checkUnnamed63(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4958,7 +4641,7 @@ api.EditGuaranteedOrderReadAccessorsResponse buildCounterEditGuaranteedOrderReadAccessorsResponse++; if (buildCounterEditGuaranteedOrderReadAccessorsResponse < 3) { o.readAccessInherited = true; - o.readAdvertiserIds = buildUnnamed70(); + o.readAdvertiserIds = buildUnnamed63(); } buildCounterEditGuaranteedOrderReadAccessorsResponse--; return o; @@ -4969,7 +4652,7 @@ void checkEditGuaranteedOrderReadAccessorsResponse( buildCounterEditGuaranteedOrderReadAccessorsResponse++; if (buildCounterEditGuaranteedOrderReadAccessorsResponse < 3) { unittest.expect(o.readAccessInherited!, unittest.isTrue); - checkUnnamed70(o.readAdvertiserIds!); + checkUnnamed63(o.readAdvertiserIds!); } buildCounterEditGuaranteedOrderReadAccessorsResponse--; } @@ -5004,12 +4687,12 @@ void checkEditInventorySourceReadWriteAccessorsRequest( buildCounterEditInventorySourceReadWriteAccessorsRequest--; } -core.List buildUnnamed71() => [ +core.List buildUnnamed64() => [ 'foo', 'foo', ]; -void checkUnnamed71(core.List o) { +void checkUnnamed64(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5021,12 +4704,12 @@ void checkUnnamed71(core.List o) { ); } -core.List buildUnnamed72() => [ +core.List buildUnnamed65() => [ 'foo', 'foo', ]; -void checkUnnamed72(core.List o) { +void checkUnnamed65(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5047,8 +4730,8 @@ api.EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate buildCounterEditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate++; if (buildCounterEditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate < 3) { - o.addedAdvertisers = buildUnnamed71(); - o.removedAdvertisers = buildUnnamed72(); + o.addedAdvertisers = buildUnnamed64(); + o.removedAdvertisers = buildUnnamed65(); } buildCounterEditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate--; return o; @@ -5059,8 +4742,8 @@ void checkEditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate( buildCounterEditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate++; if (buildCounterEditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate < 3) { - checkUnnamed71(o.addedAdvertisers!); - checkUnnamed72(o.removedAdvertisers!); + checkUnnamed64(o.addedAdvertisers!); + checkUnnamed65(o.removedAdvertisers!); } buildCounterEditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate--; } @@ -5151,12 +4834,12 @@ void checkExchangeAssignedTargetingOptionDetails( buildCounterExchangeAssignedTargetingOptionDetails--; } -core.List buildUnnamed73() => [ +core.List buildUnnamed66() => [ buildExchangeConfigEnabledExchange(), buildExchangeConfigEnabledExchange(), ]; -void checkUnnamed73(core.List o) { +void checkUnnamed66(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExchangeConfigEnabledExchange(o[0]); checkExchangeConfigEnabledExchange(o[1]); @@ -5167,7 +4850,7 @@ api.ExchangeConfig buildExchangeConfig() { final o = api.ExchangeConfig(); buildCounterExchangeConfig++; if (buildCounterExchangeConfig < 3) { - o.enabledExchanges = buildUnnamed73(); + o.enabledExchanges = buildUnnamed66(); } buildCounterExchangeConfig--; return o; @@ -5176,7 +4859,7 @@ api.ExchangeConfig buildExchangeConfig() { void checkExchangeConfig(api.ExchangeConfig o) { buildCounterExchangeConfig++; if (buildCounterExchangeConfig < 3) { - checkUnnamed73(o.enabledExchanges!); + checkUnnamed66(o.enabledExchanges!); } buildCounterExchangeConfig--; } @@ -5304,196 +4987,34 @@ void checkExitEvent(api.ExitEvent o) { buildCounterExitEvent--; } -core.int buildCounterFirstAndThirdPartyAudience = 0; -api.FirstAndThirdPartyAudience buildFirstAndThirdPartyAudience() { - final o = api.FirstAndThirdPartyAudience(); - buildCounterFirstAndThirdPartyAudience++; - if (buildCounterFirstAndThirdPartyAudience < 3) { - o.activeDisplayAudienceSize = 'foo'; - o.appId = 'foo'; - o.audienceSource = 'foo'; - o.audienceType = 'foo'; - o.contactInfoList = buildContactInfoList(); - o.description = 'foo'; - o.displayAudienceSize = 'foo'; - o.displayDesktopAudienceSize = 'foo'; - o.displayMobileAppAudienceSize = 'foo'; - o.displayMobileWebAudienceSize = 'foo'; - o.displayName = 'foo'; - o.firstAndThirdPartyAudienceId = 'foo'; - o.firstAndThirdPartyAudienceType = 'foo'; - o.gmailAudienceSize = 'foo'; - o.membershipDurationDays = 'foo'; - o.mobileDeviceIdList = buildMobileDeviceIdList(); - o.name = 'foo'; - o.youtubeAudienceSize = 'foo'; +core.int buildCounterFixedBidStrategy = 0; +api.FixedBidStrategy buildFixedBidStrategy() { + final o = api.FixedBidStrategy(); + buildCounterFixedBidStrategy++; + if (buildCounterFixedBidStrategy < 3) { + o.bidAmountMicros = 'foo'; } - buildCounterFirstAndThirdPartyAudience--; + buildCounterFixedBidStrategy--; return o; } -void checkFirstAndThirdPartyAudience(api.FirstAndThirdPartyAudience o) { - buildCounterFirstAndThirdPartyAudience++; - if (buildCounterFirstAndThirdPartyAudience < 3) { - unittest.expect( - o.activeDisplayAudienceSize!, - unittest.equals('foo'), - ); - unittest.expect( - o.appId!, - unittest.equals('foo'), - ); - unittest.expect( - o.audienceSource!, - unittest.equals('foo'), - ); - unittest.expect( - o.audienceType!, - unittest.equals('foo'), - ); - checkContactInfoList(o.contactInfoList!); - unittest.expect( - o.description!, - unittest.equals('foo'), - ); - unittest.expect( - o.displayAudienceSize!, - unittest.equals('foo'), - ); - unittest.expect( - o.displayDesktopAudienceSize!, - unittest.equals('foo'), - ); - unittest.expect( - o.displayMobileAppAudienceSize!, - unittest.equals('foo'), - ); - unittest.expect( - o.displayMobileWebAudienceSize!, - unittest.equals('foo'), - ); +void checkFixedBidStrategy(api.FixedBidStrategy o) { + buildCounterFixedBidStrategy++; + if (buildCounterFixedBidStrategy < 3) { unittest.expect( - o.displayName!, - unittest.equals('foo'), - ); - unittest.expect( - o.firstAndThirdPartyAudienceId!, - unittest.equals('foo'), - ); - unittest.expect( - o.firstAndThirdPartyAudienceType!, - unittest.equals('foo'), - ); - unittest.expect( - o.gmailAudienceSize!, - unittest.equals('foo'), - ); - unittest.expect( - o.membershipDurationDays!, - unittest.equals('foo'), - ); - checkMobileDeviceIdList(o.mobileDeviceIdList!); - unittest.expect( - o.name!, - unittest.equals('foo'), - ); - unittest.expect( - o.youtubeAudienceSize!, - unittest.equals('foo'), - ); - } - buildCounterFirstAndThirdPartyAudience--; -} - -core.List buildUnnamed74() => [ - buildFirstAndThirdPartyAudienceTargetingSetting(), - buildFirstAndThirdPartyAudienceTargetingSetting(), - ]; - -void checkUnnamed74( - core.List o) { - unittest.expect(o, unittest.hasLength(2)); - checkFirstAndThirdPartyAudienceTargetingSetting(o[0]); - checkFirstAndThirdPartyAudienceTargetingSetting(o[1]); -} - -core.int buildCounterFirstAndThirdPartyAudienceGroup = 0; -api.FirstAndThirdPartyAudienceGroup buildFirstAndThirdPartyAudienceGroup() { - final o = api.FirstAndThirdPartyAudienceGroup(); - buildCounterFirstAndThirdPartyAudienceGroup++; - if (buildCounterFirstAndThirdPartyAudienceGroup < 3) { - o.settings = buildUnnamed74(); - } - buildCounterFirstAndThirdPartyAudienceGroup--; - return o; -} - -void checkFirstAndThirdPartyAudienceGroup( - api.FirstAndThirdPartyAudienceGroup o) { - buildCounterFirstAndThirdPartyAudienceGroup++; - if (buildCounterFirstAndThirdPartyAudienceGroup < 3) { - checkUnnamed74(o.settings!); - } - buildCounterFirstAndThirdPartyAudienceGroup--; -} - -core.int buildCounterFirstAndThirdPartyAudienceTargetingSetting = 0; -api.FirstAndThirdPartyAudienceTargetingSetting - buildFirstAndThirdPartyAudienceTargetingSetting() { - final o = api.FirstAndThirdPartyAudienceTargetingSetting(); - buildCounterFirstAndThirdPartyAudienceTargetingSetting++; - if (buildCounterFirstAndThirdPartyAudienceTargetingSetting < 3) { - o.firstAndThirdPartyAudienceId = 'foo'; - o.recency = 'foo'; - } - buildCounterFirstAndThirdPartyAudienceTargetingSetting--; - return o; -} - -void checkFirstAndThirdPartyAudienceTargetingSetting( - api.FirstAndThirdPartyAudienceTargetingSetting o) { - buildCounterFirstAndThirdPartyAudienceTargetingSetting++; - if (buildCounterFirstAndThirdPartyAudienceTargetingSetting < 3) { - unittest.expect( - o.firstAndThirdPartyAudienceId!, - unittest.equals('foo'), - ); - unittest.expect( - o.recency!, - unittest.equals('foo'), - ); - } - buildCounterFirstAndThirdPartyAudienceTargetingSetting--; -} - -core.int buildCounterFixedBidStrategy = 0; -api.FixedBidStrategy buildFixedBidStrategy() { - final o = api.FixedBidStrategy(); - buildCounterFixedBidStrategy++; - if (buildCounterFixedBidStrategy < 3) { - o.bidAmountMicros = 'foo'; - } - buildCounterFixedBidStrategy--; - return o; -} - -void checkFixedBidStrategy(api.FixedBidStrategy o) { - buildCounterFixedBidStrategy++; - if (buildCounterFixedBidStrategy < 3) { - unittest.expect( - o.bidAmountMicros!, + o.bidAmountMicros!, unittest.equals('foo'), ); } buildCounterFixedBidStrategy--; } -core.List buildUnnamed75() => [ +core.List buildUnnamed67() => [ 'foo', 'foo', ]; -void checkUnnamed75(core.List o) { +void checkUnnamed67(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5505,12 +5026,12 @@ void checkUnnamed75(core.List o) { ); } -core.List buildUnnamed76() => [ +core.List buildUnnamed68() => [ buildRemarketingConfig(), buildRemarketingConfig(), ]; -void checkUnnamed76(core.List o) { +void checkUnnamed68(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRemarketingConfig(o[0]); checkRemarketingConfig(o[1]); @@ -5521,12 +5042,12 @@ api.FloodlightActivity buildFloodlightActivity() { final o = api.FloodlightActivity(); buildCounterFloodlightActivity++; if (buildCounterFloodlightActivity < 3) { - o.advertiserIds = buildUnnamed75(); + o.advertiserIds = buildUnnamed67(); o.displayName = 'foo'; o.floodlightActivityId = 'foo'; o.floodlightGroupId = 'foo'; o.name = 'foo'; - o.remarketingConfigs = buildUnnamed76(); + o.remarketingConfigs = buildUnnamed68(); o.servingStatus = 'foo'; o.sslRequired = true; } @@ -5537,7 +5058,7 @@ api.FloodlightActivity buildFloodlightActivity() { void checkFloodlightActivity(api.FloodlightActivity o) { buildCounterFloodlightActivity++; if (buildCounterFloodlightActivity < 3) { - checkUnnamed75(o.advertiserIds!); + checkUnnamed67(o.advertiserIds!); unittest.expect( o.displayName!, unittest.equals('foo'), @@ -5554,7 +5075,7 @@ void checkFloodlightActivity(api.FloodlightActivity o) { o.name!, unittest.equals('foo'), ); - checkUnnamed76(o.remarketingConfigs!); + checkUnnamed68(o.remarketingConfigs!); unittest.expect( o.servingStatus!, unittest.equals('foo'), @@ -5564,7 +5085,7 @@ void checkFloodlightActivity(api.FloodlightActivity o) { buildCounterFloodlightActivity--; } -core.Map buildUnnamed77() => { +core.Map buildUnnamed69() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -5577,7 +5098,7 @@ core.Map buildUnnamed77() => { }, }; -void checkUnnamed77(core.Map o) { +void checkUnnamed69(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -5615,7 +5136,7 @@ api.FloodlightGroup buildFloodlightGroup() { buildCounterFloodlightGroup++; if (buildCounterFloodlightGroup < 3) { o.activeViewConfig = buildActiveViewVideoViewabilityMetricConfig(); - o.customVariables = buildUnnamed77(); + o.customVariables = buildUnnamed69(); o.displayName = 'foo'; o.floodlightGroupId = 'foo'; o.lookbackWindow = buildLookbackWindow(); @@ -5630,7 +5151,7 @@ void checkFloodlightGroup(api.FloodlightGroup o) { buildCounterFloodlightGroup++; if (buildCounterFloodlightGroup < 3) { checkActiveViewVideoViewabilityMetricConfig(o.activeViewConfig!); - checkUnnamed77(o.customVariables!); + checkUnnamed69(o.customVariables!); unittest.expect( o.displayName!, unittest.equals('foo'), @@ -5894,12 +5415,12 @@ void checkGoogleAudience(api.GoogleAudience o) { buildCounterGoogleAudience--; } -core.List buildUnnamed78() => [ +core.List buildUnnamed70() => [ buildGoogleAudienceTargetingSetting(), buildGoogleAudienceTargetingSetting(), ]; -void checkUnnamed78(core.List o) { +void checkUnnamed70(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleAudienceTargetingSetting(o[0]); checkGoogleAudienceTargetingSetting(o[1]); @@ -5910,7 +5431,7 @@ api.GoogleAudienceGroup buildGoogleAudienceGroup() { final o = api.GoogleAudienceGroup(); buildCounterGoogleAudienceGroup++; if (buildCounterGoogleAudienceGroup < 3) { - o.settings = buildUnnamed78(); + o.settings = buildUnnamed70(); } buildCounterGoogleAudienceGroup--; return o; @@ -5919,7 +5440,7 @@ api.GoogleAudienceGroup buildGoogleAudienceGroup() { void checkGoogleAudienceGroup(api.GoogleAudienceGroup o) { buildCounterGoogleAudienceGroup++; if (buildCounterGoogleAudienceGroup < 3) { - checkUnnamed78(o.settings!); + checkUnnamed70(o.settings!); } buildCounterGoogleAudienceGroup--; } @@ -5968,12 +5489,12 @@ void checkGoogleBytestreamMedia(api.GoogleBytestreamMedia o) { buildCounterGoogleBytestreamMedia--; } -core.List buildUnnamed79() => [ +core.List buildUnnamed71() => [ 'foo', 'foo', ]; -void checkUnnamed79(core.List o) { +void checkUnnamed71(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5999,7 +5520,7 @@ api.GuaranteedOrder buildGuaranteedOrder() { o.name = 'foo'; o.publisherName = 'foo'; o.readAccessInherited = true; - o.readAdvertiserIds = buildUnnamed79(); + o.readAdvertiserIds = buildUnnamed71(); o.readWriteAdvertiserId = 'foo'; o.readWritePartnerId = 'foo'; o.status = buildGuaranteedOrderStatus(); @@ -6045,7 +5566,7 @@ void checkGuaranteedOrder(api.GuaranteedOrder o) { unittest.equals('foo'), ); unittest.expect(o.readAccessInherited!, unittest.isTrue); - checkUnnamed79(o.readAdvertiserIds!); + checkUnnamed71(o.readAdvertiserIds!); unittest.expect( o.readWriteAdvertiserId!, unittest.equals('foo'), @@ -6143,12 +5664,12 @@ void checkHouseholdIncomeTargetingOptionDetails( buildCounterHouseholdIncomeTargetingOptionDetails--; } -core.List buildUnnamed80() => [ +core.List buildUnnamed72() => [ 'foo', 'foo', ]; -void checkUnnamed80(core.List o) { +void checkUnnamed72(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6160,12 +5681,12 @@ void checkUnnamed80(core.List o) { ); } -core.List buildUnnamed81() => [ +core.List buildUnnamed73() => [ 'foo', 'foo', ]; -void checkUnnamed81(core.List o) { +void checkUnnamed73(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6177,12 +5698,12 @@ void checkUnnamed81(core.List o) { ); } -core.List buildUnnamed82() => [ +core.List buildUnnamed74() => [ 'foo', 'foo', ]; -void checkUnnamed82(core.List o) { +void checkUnnamed74(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6194,12 +5715,12 @@ void checkUnnamed82(core.List o) { ); } -core.List buildUnnamed83() => [ +core.List buildUnnamed75() => [ 'foo', 'foo', ]; -void checkUnnamed83(core.List o) { +void checkUnnamed75(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6211,12 +5732,12 @@ void checkUnnamed83(core.List o) { ); } -core.List buildUnnamed84() => [ +core.List buildUnnamed76() => [ 'foo', 'foo', ]; -void checkUnnamed84(core.List o) { +void checkUnnamed76(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6228,12 +5749,12 @@ void checkUnnamed84(core.List o) { ); } -core.List buildUnnamed85() => [ +core.List buildUnnamed77() => [ 'foo', 'foo', ]; -void checkUnnamed85(core.List o) { +void checkUnnamed77(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6250,12 +5771,12 @@ api.IdFilter buildIdFilter() { final o = api.IdFilter(); buildCounterIdFilter++; if (buildCounterIdFilter < 3) { - o.adGroupAdIds = buildUnnamed80(); - o.adGroupIds = buildUnnamed81(); - o.campaignIds = buildUnnamed82(); - o.insertionOrderIds = buildUnnamed83(); - o.lineItemIds = buildUnnamed84(); - o.mediaProductIds = buildUnnamed85(); + o.adGroupAdIds = buildUnnamed72(); + o.adGroupIds = buildUnnamed73(); + o.campaignIds = buildUnnamed74(); + o.insertionOrderIds = buildUnnamed75(); + o.lineItemIds = buildUnnamed76(); + o.mediaProductIds = buildUnnamed77(); } buildCounterIdFilter--; return o; @@ -6264,12 +5785,12 @@ api.IdFilter buildIdFilter() { void checkIdFilter(api.IdFilter o) { buildCounterIdFilter++; if (buildCounterIdFilter < 3) { - checkUnnamed80(o.adGroupAdIds!); - checkUnnamed81(o.adGroupIds!); - checkUnnamed82(o.campaignIds!); - checkUnnamed83(o.insertionOrderIds!); - checkUnnamed84(o.lineItemIds!); - checkUnnamed85(o.mediaProductIds!); + checkUnnamed72(o.adGroupAdIds!); + checkUnnamed73(o.adGroupIds!); + checkUnnamed74(o.campaignIds!); + checkUnnamed75(o.insertionOrderIds!); + checkUnnamed76(o.lineItemIds!); + checkUnnamed77(o.mediaProductIds!); } buildCounterIdFilter--; } @@ -6303,12 +5824,12 @@ void checkImageAsset(api.ImageAsset o) { buildCounterImageAsset--; } -core.Map buildUnnamed86() => { +core.Map buildUnnamed78() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed86(core.Map o) { +void checkUnnamed78(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -6326,7 +5847,7 @@ api.InStreamAd buildInStreamAd() { buildCounterInStreamAd++; if (buildCounterInStreamAd < 3) { o.commonInStreamAttribute = buildCommonInStreamAttribute(); - o.customParameters = buildUnnamed86(); + o.customParameters = buildUnnamed78(); } buildCounterInStreamAd--; return o; @@ -6336,17 +5857,17 @@ void checkInStreamAd(api.InStreamAd o) { buildCounterInStreamAd++; if (buildCounterInStreamAd < 3) { checkCommonInStreamAttribute(o.commonInStreamAttribute!); - checkUnnamed86(o.customParameters!); + checkUnnamed78(o.customParameters!); } buildCounterInStreamAd--; } -core.List buildUnnamed87() => [ +core.List buildUnnamed79() => [ buildPartnerCost(), buildPartnerCost(), ]; -void checkUnnamed87(core.List o) { +void checkUnnamed79(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPartnerCost(o[0]); checkPartnerCost(o[1]); @@ -6370,7 +5891,7 @@ api.InsertionOrder buildInsertionOrder() { o.integrationDetails = buildIntegrationDetails(); o.name = 'foo'; o.pacing = buildPacing(); - o.partnerCosts = buildUnnamed87(); + o.partnerCosts = buildUnnamed79(); o.performanceGoal = buildPerformanceGoal(); o.reservationType = 'foo'; o.updateTime = 'foo'; @@ -6419,7 +5940,7 @@ void checkInsertionOrder(api.InsertionOrder o) { unittest.equals('foo'), ); checkPacing(o.pacing!); - checkUnnamed87(o.partnerCosts!); + checkUnnamed79(o.partnerCosts!); checkPerformanceGoal(o.performanceGoal!); unittest.expect( o.reservationType!, @@ -6433,12 +5954,12 @@ void checkInsertionOrder(api.InsertionOrder o) { buildCounterInsertionOrder--; } -core.List buildUnnamed88() => [ +core.List buildUnnamed80() => [ buildInsertionOrderBudgetSegment(), buildInsertionOrderBudgetSegment(), ]; -void checkUnnamed88(core.List o) { +void checkUnnamed80(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInsertionOrderBudgetSegment(o[0]); checkInsertionOrderBudgetSegment(o[1]); @@ -6450,7 +5971,7 @@ api.InsertionOrderBudget buildInsertionOrderBudget() { buildCounterInsertionOrderBudget++; if (buildCounterInsertionOrderBudget < 3) { o.automationType = 'foo'; - o.budgetSegments = buildUnnamed88(); + o.budgetSegments = buildUnnamed80(); o.budgetUnit = 'foo'; } buildCounterInsertionOrderBudget--; @@ -6464,7 +5985,7 @@ void checkInsertionOrderBudget(api.InsertionOrderBudget o) { o.automationType!, unittest.equals('foo'), ); - checkUnnamed88(o.budgetSegments!); + checkUnnamed80(o.budgetSegments!); unittest.expect( o.budgetUnit!, unittest.equals('foo'), @@ -6507,12 +6028,12 @@ void checkInsertionOrderBudgetSegment(api.InsertionOrderBudgetSegment o) { buildCounterInsertionOrderBudgetSegment--; } -core.List buildUnnamed89() => [ +core.List buildUnnamed81() => [ 'foo', 'foo', ]; -void checkUnnamed89(core.List o) { +void checkUnnamed81(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6529,7 +6050,7 @@ api.IntegralAdScience buildIntegralAdScience() { final o = api.IntegralAdScience(); buildCounterIntegralAdScience++; if (buildCounterIntegralAdScience < 3) { - o.customSegmentId = buildUnnamed89(); + o.customSegmentId = buildUnnamed81(); o.displayViewability = 'foo'; o.excludeUnrateable = true; o.excludedAdFraudRisk = 'foo'; @@ -6551,7 +6072,7 @@ api.IntegralAdScience buildIntegralAdScience() { void checkIntegralAdScience(api.IntegralAdScience o) { buildCounterIntegralAdScience++; if (buildCounterIntegralAdScience < 3) { - checkUnnamed89(o.customSegmentId!); + checkUnnamed81(o.customSegmentId!); unittest.expect( o.displayViewability!, unittest.equals('foo'), @@ -6632,23 +6153,23 @@ void checkIntegrationDetails(api.IntegrationDetails o) { buildCounterIntegrationDetails--; } -core.List buildUnnamed90() => [ +core.List buildUnnamed82() => [ buildCreativeConfig(), buildCreativeConfig(), ]; -void checkUnnamed90(core.List o) { +void checkUnnamed82(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCreativeConfig(o[0]); checkCreativeConfig(o[1]); } -core.List buildUnnamed91() => [ +core.List buildUnnamed83() => [ 'foo', 'foo', ]; -void checkUnnamed91(core.List o) { +void checkUnnamed83(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6660,12 +6181,12 @@ void checkUnnamed91(core.List o) { ); } -core.List buildUnnamed92() => [ +core.List buildUnnamed84() => [ 'foo', 'foo', ]; -void checkUnnamed92(core.List o) { +void checkUnnamed84(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6683,7 +6204,7 @@ api.InventorySource buildInventorySource() { buildCounterInventorySource++; if (buildCounterInventorySource < 3) { o.commitment = 'foo'; - o.creativeConfigs = buildUnnamed90(); + o.creativeConfigs = buildUnnamed82(); o.dealId = 'foo'; o.deliveryMethod = 'foo'; o.displayName = 'foo'; @@ -6695,8 +6216,8 @@ api.InventorySource buildInventorySource() { o.name = 'foo'; o.publisherName = 'foo'; o.rateDetails = buildRateDetails(); - o.readAdvertiserIds = buildUnnamed91(); - o.readPartnerIds = buildUnnamed92(); + o.readAdvertiserIds = buildUnnamed83(); + o.readPartnerIds = buildUnnamed84(); o.readWriteAccessors = buildInventorySourceAccessors(); o.status = buildInventorySourceStatus(); o.timeRange = buildTimeRange(); @@ -6713,7 +6234,7 @@ void checkInventorySource(api.InventorySource o) { o.commitment!, unittest.equals('foo'), ); - checkUnnamed90(o.creativeConfigs!); + checkUnnamed82(o.creativeConfigs!); unittest.expect( o.dealId!, unittest.equals('foo'), @@ -6755,8 +6276,8 @@ void checkInventorySource(api.InventorySource o) { unittest.equals('foo'), ); checkRateDetails(o.rateDetails!); - checkUnnamed91(o.readAdvertiserIds!); - checkUnnamed92(o.readPartnerIds!); + checkUnnamed83(o.readAdvertiserIds!); + checkUnnamed84(o.readPartnerIds!); checkInventorySourceAccessors(o.readWriteAccessors!); checkInventorySourceStatus(o.status!); checkTimeRange(o.timeRange!); @@ -6789,12 +6310,12 @@ void checkInventorySourceAccessors(api.InventorySourceAccessors o) { buildCounterInventorySourceAccessors--; } -core.List buildUnnamed93() => [ +core.List buildUnnamed85() => [ 'foo', 'foo', ]; -void checkUnnamed93(core.List o) { +void checkUnnamed85(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6812,7 +6333,7 @@ api.InventorySourceAccessorsAdvertiserAccessors final o = api.InventorySourceAccessorsAdvertiserAccessors(); buildCounterInventorySourceAccessorsAdvertiserAccessors++; if (buildCounterInventorySourceAccessorsAdvertiserAccessors < 3) { - o.advertiserIds = buildUnnamed93(); + o.advertiserIds = buildUnnamed85(); } buildCounterInventorySourceAccessorsAdvertiserAccessors--; return o; @@ -6822,7 +6343,7 @@ void checkInventorySourceAccessorsAdvertiserAccessors( api.InventorySourceAccessorsAdvertiserAccessors o) { buildCounterInventorySourceAccessorsAdvertiserAccessors++; if (buildCounterInventorySourceAccessorsAdvertiserAccessors < 3) { - checkUnnamed93(o.advertiserIds!); + checkUnnamed85(o.advertiserIds!); } buildCounterInventorySourceAccessorsAdvertiserAccessors--; } @@ -6896,12 +6417,12 @@ void checkInventorySourceDisplayCreativeConfig( buildCounterInventorySourceDisplayCreativeConfig--; } -core.List buildUnnamed94() => [ +core.List buildUnnamed86() => [ 'foo', 'foo', ]; -void checkUnnamed94(core.List o) { +void checkUnnamed86(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6918,7 +6439,7 @@ api.InventorySourceFilter buildInventorySourceFilter() { final o = api.InventorySourceFilter(); buildCounterInventorySourceFilter++; if (buildCounterInventorySourceFilter < 3) { - o.inventorySourceIds = buildUnnamed94(); + o.inventorySourceIds = buildUnnamed86(); } buildCounterInventorySourceFilter--; return o; @@ -6927,7 +6448,7 @@ api.InventorySourceFilter buildInventorySourceFilter() { void checkInventorySourceFilter(api.InventorySourceFilter o) { buildCounterInventorySourceFilter++; if (buildCounterInventorySourceFilter < 3) { - checkUnnamed94(o.inventorySourceIds!); + checkUnnamed86(o.inventorySourceIds!); } buildCounterInventorySourceFilter--; } @@ -7054,23 +6575,23 @@ void checkInventorySourceVideoCreativeConfig( buildCounterInventorySourceVideoCreativeConfig--; } -core.List buildUnnamed95() => [ +core.List buildUnnamed87() => [ buildBudgetSummary(), buildBudgetSummary(), ]; -void checkUnnamed95(core.List o) { +void checkUnnamed87(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBudgetSummary(o[0]); checkBudgetSummary(o[1]); } -core.List buildUnnamed96() => [ +core.List buildUnnamed88() => [ 'foo', 'foo', ]; -void checkUnnamed96(core.List o) { +void checkUnnamed88(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7088,7 +6609,7 @@ api.Invoice buildInvoice() { buildCounterInvoice++; if (buildCounterInvoice < 3) { o.budgetInvoiceGroupingId = 'foo'; - o.budgetSummaries = buildUnnamed95(); + o.budgetSummaries = buildUnnamed87(); o.correctedInvoiceId = 'foo'; o.currencyCode = 'foo'; o.displayName = 'foo'; @@ -7102,7 +6623,7 @@ api.Invoice buildInvoice() { o.paymentsProfileId = 'foo'; o.pdfUrl = 'foo'; o.purchaseOrderNumber = 'foo'; - o.replacedInvoiceIds = buildUnnamed96(); + o.replacedInvoiceIds = buildUnnamed88(); o.serviceDateRange = buildDateRange(); o.subtotalAmountMicros = 'foo'; o.totalAmountMicros = 'foo'; @@ -7119,7 +6640,7 @@ void checkInvoice(api.Invoice o) { o.budgetInvoiceGroupingId!, unittest.equals('foo'), ); - checkUnnamed95(o.budgetSummaries!); + checkUnnamed87(o.budgetSummaries!); unittest.expect( o.correctedInvoiceId!, unittest.equals('foo'), @@ -7166,7 +6687,7 @@ void checkInvoice(api.Invoice o) { o.purchaseOrderNumber!, unittest.equals('foo'), ); - checkUnnamed96(o.replacedInvoiceIds!); + checkUnnamed88(o.replacedInvoiceIds!); checkDateRange(o.serviceDateRange!); unittest.expect( o.subtotalAmountMicros!, @@ -7263,12 +6784,12 @@ void checkLanguageTargetingOptionDetails(api.LanguageTargetingOptionDetails o) { buildCounterLanguageTargetingOptionDetails--; } -core.List buildUnnamed97() => [ +core.List buildUnnamed89() => [ 'foo', 'foo', ]; -void checkUnnamed97(core.List o) { +void checkUnnamed89(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7280,23 +6801,23 @@ void checkUnnamed97(core.List o) { ); } -core.List buildUnnamed98() => [ +core.List buildUnnamed90() => [ buildPartnerCost(), buildPartnerCost(), ]; -void checkUnnamed98(core.List o) { +void checkUnnamed90(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPartnerCost(o[0]); checkPartnerCost(o[1]); } -core.List buildUnnamed99() => [ +core.List buildUnnamed91() => [ 'foo', 'foo', ]; -void checkUnnamed99(core.List o) { +void checkUnnamed91(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7318,7 +6839,7 @@ api.LineItem buildLineItem() { o.budget = buildLineItemBudget(); o.campaignId = 'foo'; o.conversionCounting = buildConversionCountingConfig(); - o.creativeIds = buildUnnamed97(); + o.creativeIds = buildUnnamed89(); o.displayName = 'foo'; o.entityStatus = 'foo'; o.excludeNewExchanges = true; @@ -7331,12 +6852,12 @@ api.LineItem buildLineItem() { o.mobileApp = buildMobileApp(); o.name = 'foo'; o.pacing = buildPacing(); - o.partnerCosts = buildUnnamed98(); + o.partnerCosts = buildUnnamed90(); o.partnerRevenueModel = buildPartnerRevenueModel(); o.reservationType = 'foo'; o.targetingExpansion = buildTargetingExpansionConfig(); o.updateTime = 'foo'; - o.warningMessages = buildUnnamed99(); + o.warningMessages = buildUnnamed91(); o.youtubeAndPartnersSettings = buildYoutubeAndPartnersSettings(); } buildCounterLineItem--; @@ -7357,7 +6878,7 @@ void checkLineItem(api.LineItem o) { unittest.equals('foo'), ); checkConversionCountingConfig(o.conversionCounting!); - checkUnnamed97(o.creativeIds!); + checkUnnamed89(o.creativeIds!); unittest.expect( o.displayName!, unittest.equals('foo'), @@ -7388,7 +6909,7 @@ void checkLineItem(api.LineItem o) { unittest.equals('foo'), ); checkPacing(o.pacing!); - checkUnnamed98(o.partnerCosts!); + checkUnnamed90(o.partnerCosts!); checkPartnerRevenueModel(o.partnerRevenueModel!); unittest.expect( o.reservationType!, @@ -7399,7 +6920,7 @@ void checkLineItem(api.LineItem o) { o.updateTime!, unittest.equals('foo'), ); - checkUnnamed99(o.warningMessages!); + checkUnnamed91(o.warningMessages!); checkYoutubeAndPartnersSettings(o.youtubeAndPartnersSettings!); } buildCounterLineItem--; @@ -7486,12 +7007,12 @@ void checkLineItemFlight(api.LineItemFlight o) { buildCounterLineItemFlight--; } -core.List buildUnnamed100() => [ +core.List buildUnnamed92() => [ buildAssignedTargetingOption(), buildAssignedTargetingOption(), ]; -void checkUnnamed100(core.List o) { +void checkUnnamed92(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedTargetingOption(o[0]); checkAssignedTargetingOption(o[1]); @@ -7503,7 +7024,7 @@ api.ListAdvertiserAssignedTargetingOptionsResponse final o = api.ListAdvertiserAssignedTargetingOptionsResponse(); buildCounterListAdvertiserAssignedTargetingOptionsResponse++; if (buildCounterListAdvertiserAssignedTargetingOptionsResponse < 3) { - o.assignedTargetingOptions = buildUnnamed100(); + o.assignedTargetingOptions = buildUnnamed92(); o.nextPageToken = 'foo'; } buildCounterListAdvertiserAssignedTargetingOptionsResponse--; @@ -7514,7 +7035,7 @@ void checkListAdvertiserAssignedTargetingOptionsResponse( api.ListAdvertiserAssignedTargetingOptionsResponse o) { buildCounterListAdvertiserAssignedTargetingOptionsResponse++; if (buildCounterListAdvertiserAssignedTargetingOptionsResponse < 3) { - checkUnnamed100(o.assignedTargetingOptions!); + checkUnnamed92(o.assignedTargetingOptions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7523,12 +7044,12 @@ void checkListAdvertiserAssignedTargetingOptionsResponse( buildCounterListAdvertiserAssignedTargetingOptionsResponse--; } -core.List buildUnnamed101() => [ +core.List buildUnnamed93() => [ buildAdvertiser(), buildAdvertiser(), ]; -void checkUnnamed101(core.List o) { +void checkUnnamed93(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAdvertiser(o[0]); checkAdvertiser(o[1]); @@ -7539,7 +7060,7 @@ api.ListAdvertisersResponse buildListAdvertisersResponse() { final o = api.ListAdvertisersResponse(); buildCounterListAdvertisersResponse++; if (buildCounterListAdvertisersResponse < 3) { - o.advertisers = buildUnnamed101(); + o.advertisers = buildUnnamed93(); o.nextPageToken = 'foo'; } buildCounterListAdvertisersResponse--; @@ -7549,7 +7070,7 @@ api.ListAdvertisersResponse buildListAdvertisersResponse() { void checkListAdvertisersResponse(api.ListAdvertisersResponse o) { buildCounterListAdvertisersResponse++; if (buildCounterListAdvertisersResponse < 3) { - checkUnnamed101(o.advertisers!); + checkUnnamed93(o.advertisers!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7558,12 +7079,12 @@ void checkListAdvertisersResponse(api.ListAdvertisersResponse o) { buildCounterListAdvertisersResponse--; } -core.List buildUnnamed102() => [ +core.List buildUnnamed94() => [ buildAssignedInventorySource(), buildAssignedInventorySource(), ]; -void checkUnnamed102(core.List o) { +void checkUnnamed94(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedInventorySource(o[0]); checkAssignedInventorySource(o[1]); @@ -7575,7 +7096,7 @@ api.ListAssignedInventorySourcesResponse final o = api.ListAssignedInventorySourcesResponse(); buildCounterListAssignedInventorySourcesResponse++; if (buildCounterListAssignedInventorySourcesResponse < 3) { - o.assignedInventorySources = buildUnnamed102(); + o.assignedInventorySources = buildUnnamed94(); o.nextPageToken = 'foo'; } buildCounterListAssignedInventorySourcesResponse--; @@ -7586,7 +7107,7 @@ void checkListAssignedInventorySourcesResponse( api.ListAssignedInventorySourcesResponse o) { buildCounterListAssignedInventorySourcesResponse++; if (buildCounterListAssignedInventorySourcesResponse < 3) { - checkUnnamed102(o.assignedInventorySources!); + checkUnnamed94(o.assignedInventorySources!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7595,12 +7116,12 @@ void checkListAssignedInventorySourcesResponse( buildCounterListAssignedInventorySourcesResponse--; } -core.List buildUnnamed103() => [ +core.List buildUnnamed95() => [ buildAssignedLocation(), buildAssignedLocation(), ]; -void checkUnnamed103(core.List o) { +void checkUnnamed95(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedLocation(o[0]); checkAssignedLocation(o[1]); @@ -7611,7 +7132,7 @@ api.ListAssignedLocationsResponse buildListAssignedLocationsResponse() { final o = api.ListAssignedLocationsResponse(); buildCounterListAssignedLocationsResponse++; if (buildCounterListAssignedLocationsResponse < 3) { - o.assignedLocations = buildUnnamed103(); + o.assignedLocations = buildUnnamed95(); o.nextPageToken = 'foo'; } buildCounterListAssignedLocationsResponse--; @@ -7621,7 +7142,7 @@ api.ListAssignedLocationsResponse buildListAssignedLocationsResponse() { void checkListAssignedLocationsResponse(api.ListAssignedLocationsResponse o) { buildCounterListAssignedLocationsResponse++; if (buildCounterListAssignedLocationsResponse < 3) { - checkUnnamed103(o.assignedLocations!); + checkUnnamed95(o.assignedLocations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7630,49 +7151,12 @@ void checkListAssignedLocationsResponse(api.ListAssignedLocationsResponse o) { buildCounterListAssignedLocationsResponse--; } -core.List buildUnnamed104() => [ - buildAssignedTargetingOption(), - buildAssignedTargetingOption(), - ]; - -void checkUnnamed104(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - checkAssignedTargetingOption(o[0]); - checkAssignedTargetingOption(o[1]); -} - -core.int buildCounterListCampaignAssignedTargetingOptionsResponse = 0; -api.ListCampaignAssignedTargetingOptionsResponse - buildListCampaignAssignedTargetingOptionsResponse() { - final o = api.ListCampaignAssignedTargetingOptionsResponse(); - buildCounterListCampaignAssignedTargetingOptionsResponse++; - if (buildCounterListCampaignAssignedTargetingOptionsResponse < 3) { - o.assignedTargetingOptions = buildUnnamed104(); - o.nextPageToken = 'foo'; - } - buildCounterListCampaignAssignedTargetingOptionsResponse--; - return o; -} - -void checkListCampaignAssignedTargetingOptionsResponse( - api.ListCampaignAssignedTargetingOptionsResponse o) { - buildCounterListCampaignAssignedTargetingOptionsResponse++; - if (buildCounterListCampaignAssignedTargetingOptionsResponse < 3) { - checkUnnamed104(o.assignedTargetingOptions!); - unittest.expect( - o.nextPageToken!, - unittest.equals('foo'), - ); - } - buildCounterListCampaignAssignedTargetingOptionsResponse--; -} - -core.List buildUnnamed105() => [ +core.List buildUnnamed96() => [ buildCampaign(), buildCampaign(), ]; -void checkUnnamed105(core.List o) { +void checkUnnamed96(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCampaign(o[0]); checkCampaign(o[1]); @@ -7683,7 +7167,7 @@ api.ListCampaignsResponse buildListCampaignsResponse() { final o = api.ListCampaignsResponse(); buildCounterListCampaignsResponse++; if (buildCounterListCampaignsResponse < 3) { - o.campaigns = buildUnnamed105(); + o.campaigns = buildUnnamed96(); o.nextPageToken = 'foo'; } buildCounterListCampaignsResponse--; @@ -7693,7 +7177,7 @@ api.ListCampaignsResponse buildListCampaignsResponse() { void checkListCampaignsResponse(api.ListCampaignsResponse o) { buildCounterListCampaignsResponse++; if (buildCounterListCampaignsResponse < 3) { - checkUnnamed105(o.campaigns!); + checkUnnamed96(o.campaigns!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7702,12 +7186,12 @@ void checkListCampaignsResponse(api.ListCampaignsResponse o) { buildCounterListCampaignsResponse--; } -core.List buildUnnamed106() => [ +core.List buildUnnamed97() => [ buildChannel(), buildChannel(), ]; -void checkUnnamed106(core.List o) { +void checkUnnamed97(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkChannel(o[0]); checkChannel(o[1]); @@ -7718,7 +7202,7 @@ api.ListChannelsResponse buildListChannelsResponse() { final o = api.ListChannelsResponse(); buildCounterListChannelsResponse++; if (buildCounterListChannelsResponse < 3) { - o.channels = buildUnnamed106(); + o.channels = buildUnnamed97(); o.nextPageToken = 'foo'; } buildCounterListChannelsResponse--; @@ -7728,7 +7212,7 @@ api.ListChannelsResponse buildListChannelsResponse() { void checkListChannelsResponse(api.ListChannelsResponse o) { buildCounterListChannelsResponse++; if (buildCounterListChannelsResponse < 3) { - checkUnnamed106(o.channels!); + checkUnnamed97(o.channels!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7737,12 +7221,12 @@ void checkListChannelsResponse(api.ListChannelsResponse o) { buildCounterListChannelsResponse--; } -core.List buildUnnamed107() => [ +core.List buildUnnamed98() => [ buildCombinedAudience(), buildCombinedAudience(), ]; -void checkUnnamed107(core.List o) { +void checkUnnamed98(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCombinedAudience(o[0]); checkCombinedAudience(o[1]); @@ -7753,7 +7237,7 @@ api.ListCombinedAudiencesResponse buildListCombinedAudiencesResponse() { final o = api.ListCombinedAudiencesResponse(); buildCounterListCombinedAudiencesResponse++; if (buildCounterListCombinedAudiencesResponse < 3) { - o.combinedAudiences = buildUnnamed107(); + o.combinedAudiences = buildUnnamed98(); o.nextPageToken = 'foo'; } buildCounterListCombinedAudiencesResponse--; @@ -7763,7 +7247,7 @@ api.ListCombinedAudiencesResponse buildListCombinedAudiencesResponse() { void checkListCombinedAudiencesResponse(api.ListCombinedAudiencesResponse o) { buildCounterListCombinedAudiencesResponse++; if (buildCounterListCombinedAudiencesResponse < 3) { - checkUnnamed107(o.combinedAudiences!); + checkUnnamed98(o.combinedAudiences!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7772,12 +7256,12 @@ void checkListCombinedAudiencesResponse(api.ListCombinedAudiencesResponse o) { buildCounterListCombinedAudiencesResponse--; } -core.List buildUnnamed108() => [ +core.List buildUnnamed99() => [ buildCreative(), buildCreative(), ]; -void checkUnnamed108(core.List o) { +void checkUnnamed99(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCreative(o[0]); checkCreative(o[1]); @@ -7788,7 +7272,7 @@ api.ListCreativesResponse buildListCreativesResponse() { final o = api.ListCreativesResponse(); buildCounterListCreativesResponse++; if (buildCounterListCreativesResponse < 3) { - o.creatives = buildUnnamed108(); + o.creatives = buildUnnamed99(); o.nextPageToken = 'foo'; } buildCounterListCreativesResponse--; @@ -7798,7 +7282,7 @@ api.ListCreativesResponse buildListCreativesResponse() { void checkListCreativesResponse(api.ListCreativesResponse o) { buildCounterListCreativesResponse++; if (buildCounterListCreativesResponse < 3) { - checkUnnamed108(o.creatives!); + checkUnnamed99(o.creatives!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7807,12 +7291,12 @@ void checkListCreativesResponse(api.ListCreativesResponse o) { buildCounterListCreativesResponse--; } -core.List buildUnnamed109() => [ +core.List buildUnnamed100() => [ buildCustomBiddingAlgorithm(), buildCustomBiddingAlgorithm(), ]; -void checkUnnamed109(core.List o) { +void checkUnnamed100(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCustomBiddingAlgorithm(o[0]); checkCustomBiddingAlgorithm(o[1]); @@ -7824,7 +7308,7 @@ api.ListCustomBiddingAlgorithmsResponse final o = api.ListCustomBiddingAlgorithmsResponse(); buildCounterListCustomBiddingAlgorithmsResponse++; if (buildCounterListCustomBiddingAlgorithmsResponse < 3) { - o.customBiddingAlgorithms = buildUnnamed109(); + o.customBiddingAlgorithms = buildUnnamed100(); o.nextPageToken = 'foo'; } buildCounterListCustomBiddingAlgorithmsResponse--; @@ -7835,7 +7319,7 @@ void checkListCustomBiddingAlgorithmsResponse( api.ListCustomBiddingAlgorithmsResponse o) { buildCounterListCustomBiddingAlgorithmsResponse++; if (buildCounterListCustomBiddingAlgorithmsResponse < 3) { - checkUnnamed109(o.customBiddingAlgorithms!); + checkUnnamed100(o.customBiddingAlgorithms!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7844,12 +7328,12 @@ void checkListCustomBiddingAlgorithmsResponse( buildCounterListCustomBiddingAlgorithmsResponse--; } -core.List buildUnnamed110() => [ +core.List buildUnnamed101() => [ buildCustomBiddingScript(), buildCustomBiddingScript(), ]; -void checkUnnamed110(core.List o) { +void checkUnnamed101(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCustomBiddingScript(o[0]); checkCustomBiddingScript(o[1]); @@ -7860,7 +7344,7 @@ api.ListCustomBiddingScriptsResponse buildListCustomBiddingScriptsResponse() { final o = api.ListCustomBiddingScriptsResponse(); buildCounterListCustomBiddingScriptsResponse++; if (buildCounterListCustomBiddingScriptsResponse < 3) { - o.customBiddingScripts = buildUnnamed110(); + o.customBiddingScripts = buildUnnamed101(); o.nextPageToken = 'foo'; } buildCounterListCustomBiddingScriptsResponse--; @@ -7871,7 +7355,7 @@ void checkListCustomBiddingScriptsResponse( api.ListCustomBiddingScriptsResponse o) { buildCounterListCustomBiddingScriptsResponse++; if (buildCounterListCustomBiddingScriptsResponse < 3) { - checkUnnamed110(o.customBiddingScripts!); + checkUnnamed101(o.customBiddingScripts!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7880,12 +7364,12 @@ void checkListCustomBiddingScriptsResponse( buildCounterListCustomBiddingScriptsResponse--; } -core.List buildUnnamed111() => [ +core.List buildUnnamed102() => [ buildCustomList(), buildCustomList(), ]; -void checkUnnamed111(core.List o) { +void checkUnnamed102(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCustomList(o[0]); checkCustomList(o[1]); @@ -7896,7 +7380,7 @@ api.ListCustomListsResponse buildListCustomListsResponse() { final o = api.ListCustomListsResponse(); buildCounterListCustomListsResponse++; if (buildCounterListCustomListsResponse < 3) { - o.customLists = buildUnnamed111(); + o.customLists = buildUnnamed102(); o.nextPageToken = 'foo'; } buildCounterListCustomListsResponse--; @@ -7906,7 +7390,7 @@ api.ListCustomListsResponse buildListCustomListsResponse() { void checkListCustomListsResponse(api.ListCustomListsResponse o) { buildCounterListCustomListsResponse++; if (buildCounterListCustomListsResponse < 3) { - checkUnnamed111(o.customLists!); + checkUnnamed102(o.customLists!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7915,49 +7399,12 @@ void checkListCustomListsResponse(api.ListCustomListsResponse o) { buildCounterListCustomListsResponse--; } -core.List buildUnnamed112() => [ - buildFirstAndThirdPartyAudience(), - buildFirstAndThirdPartyAudience(), - ]; - -void checkUnnamed112(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - checkFirstAndThirdPartyAudience(o[0]); - checkFirstAndThirdPartyAudience(o[1]); -} - -core.int buildCounterListFirstAndThirdPartyAudiencesResponse = 0; -api.ListFirstAndThirdPartyAudiencesResponse - buildListFirstAndThirdPartyAudiencesResponse() { - final o = api.ListFirstAndThirdPartyAudiencesResponse(); - buildCounterListFirstAndThirdPartyAudiencesResponse++; - if (buildCounterListFirstAndThirdPartyAudiencesResponse < 3) { - o.firstAndThirdPartyAudiences = buildUnnamed112(); - o.nextPageToken = 'foo'; - } - buildCounterListFirstAndThirdPartyAudiencesResponse--; - return o; -} - -void checkListFirstAndThirdPartyAudiencesResponse( - api.ListFirstAndThirdPartyAudiencesResponse o) { - buildCounterListFirstAndThirdPartyAudiencesResponse++; - if (buildCounterListFirstAndThirdPartyAudiencesResponse < 3) { - checkUnnamed112(o.firstAndThirdPartyAudiences!); - unittest.expect( - o.nextPageToken!, - unittest.equals('foo'), - ); - } - buildCounterListFirstAndThirdPartyAudiencesResponse--; -} - -core.List buildUnnamed113() => [ +core.List buildUnnamed103() => [ buildFloodlightActivity(), buildFloodlightActivity(), ]; -void checkUnnamed113(core.List o) { +void checkUnnamed103(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFloodlightActivity(o[0]); checkFloodlightActivity(o[1]); @@ -7968,7 +7415,7 @@ api.ListFloodlightActivitiesResponse buildListFloodlightActivitiesResponse() { final o = api.ListFloodlightActivitiesResponse(); buildCounterListFloodlightActivitiesResponse++; if (buildCounterListFloodlightActivitiesResponse < 3) { - o.floodlightActivities = buildUnnamed113(); + o.floodlightActivities = buildUnnamed103(); o.nextPageToken = 'foo'; } buildCounterListFloodlightActivitiesResponse--; @@ -7979,7 +7426,7 @@ void checkListFloodlightActivitiesResponse( api.ListFloodlightActivitiesResponse o) { buildCounterListFloodlightActivitiesResponse++; if (buildCounterListFloodlightActivitiesResponse < 3) { - checkUnnamed113(o.floodlightActivities!); + checkUnnamed103(o.floodlightActivities!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7988,12 +7435,12 @@ void checkListFloodlightActivitiesResponse( buildCounterListFloodlightActivitiesResponse--; } -core.List buildUnnamed114() => [ +core.List buildUnnamed104() => [ buildGoogleAudience(), buildGoogleAudience(), ]; -void checkUnnamed114(core.List o) { +void checkUnnamed104(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleAudience(o[0]); checkGoogleAudience(o[1]); @@ -8004,7 +7451,7 @@ api.ListGoogleAudiencesResponse buildListGoogleAudiencesResponse() { final o = api.ListGoogleAudiencesResponse(); buildCounterListGoogleAudiencesResponse++; if (buildCounterListGoogleAudiencesResponse < 3) { - o.googleAudiences = buildUnnamed114(); + o.googleAudiences = buildUnnamed104(); o.nextPageToken = 'foo'; } buildCounterListGoogleAudiencesResponse--; @@ -8014,7 +7461,7 @@ api.ListGoogleAudiencesResponse buildListGoogleAudiencesResponse() { void checkListGoogleAudiencesResponse(api.ListGoogleAudiencesResponse o) { buildCounterListGoogleAudiencesResponse++; if (buildCounterListGoogleAudiencesResponse < 3) { - checkUnnamed114(o.googleAudiences!); + checkUnnamed104(o.googleAudiences!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8023,12 +7470,12 @@ void checkListGoogleAudiencesResponse(api.ListGoogleAudiencesResponse o) { buildCounterListGoogleAudiencesResponse--; } -core.List buildUnnamed115() => [ +core.List buildUnnamed105() => [ buildGuaranteedOrder(), buildGuaranteedOrder(), ]; -void checkUnnamed115(core.List o) { +void checkUnnamed105(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGuaranteedOrder(o[0]); checkGuaranteedOrder(o[1]); @@ -8039,7 +7486,7 @@ api.ListGuaranteedOrdersResponse buildListGuaranteedOrdersResponse() { final o = api.ListGuaranteedOrdersResponse(); buildCounterListGuaranteedOrdersResponse++; if (buildCounterListGuaranteedOrdersResponse < 3) { - o.guaranteedOrders = buildUnnamed115(); + o.guaranteedOrders = buildUnnamed105(); o.nextPageToken = 'foo'; } buildCounterListGuaranteedOrdersResponse--; @@ -8049,7 +7496,7 @@ api.ListGuaranteedOrdersResponse buildListGuaranteedOrdersResponse() { void checkListGuaranteedOrdersResponse(api.ListGuaranteedOrdersResponse o) { buildCounterListGuaranteedOrdersResponse++; if (buildCounterListGuaranteedOrdersResponse < 3) { - checkUnnamed115(o.guaranteedOrders!); + checkUnnamed105(o.guaranteedOrders!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8058,49 +7505,12 @@ void checkListGuaranteedOrdersResponse(api.ListGuaranteedOrdersResponse o) { buildCounterListGuaranteedOrdersResponse--; } -core.List buildUnnamed116() => [ - buildAssignedTargetingOption(), - buildAssignedTargetingOption(), - ]; - -void checkUnnamed116(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - checkAssignedTargetingOption(o[0]); - checkAssignedTargetingOption(o[1]); -} - -core.int buildCounterListInsertionOrderAssignedTargetingOptionsResponse = 0; -api.ListInsertionOrderAssignedTargetingOptionsResponse - buildListInsertionOrderAssignedTargetingOptionsResponse() { - final o = api.ListInsertionOrderAssignedTargetingOptionsResponse(); - buildCounterListInsertionOrderAssignedTargetingOptionsResponse++; - if (buildCounterListInsertionOrderAssignedTargetingOptionsResponse < 3) { - o.assignedTargetingOptions = buildUnnamed116(); - o.nextPageToken = 'foo'; - } - buildCounterListInsertionOrderAssignedTargetingOptionsResponse--; - return o; -} - -void checkListInsertionOrderAssignedTargetingOptionsResponse( - api.ListInsertionOrderAssignedTargetingOptionsResponse o) { - buildCounterListInsertionOrderAssignedTargetingOptionsResponse++; - if (buildCounterListInsertionOrderAssignedTargetingOptionsResponse < 3) { - checkUnnamed116(o.assignedTargetingOptions!); - unittest.expect( - o.nextPageToken!, - unittest.equals('foo'), - ); - } - buildCounterListInsertionOrderAssignedTargetingOptionsResponse--; -} - -core.List buildUnnamed117() => [ +core.List buildUnnamed106() => [ buildInsertionOrder(), buildInsertionOrder(), ]; -void checkUnnamed117(core.List o) { +void checkUnnamed106(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInsertionOrder(o[0]); checkInsertionOrder(o[1]); @@ -8111,7 +7521,7 @@ api.ListInsertionOrdersResponse buildListInsertionOrdersResponse() { final o = api.ListInsertionOrdersResponse(); buildCounterListInsertionOrdersResponse++; if (buildCounterListInsertionOrdersResponse < 3) { - o.insertionOrders = buildUnnamed117(); + o.insertionOrders = buildUnnamed106(); o.nextPageToken = 'foo'; } buildCounterListInsertionOrdersResponse--; @@ -8121,7 +7531,7 @@ api.ListInsertionOrdersResponse buildListInsertionOrdersResponse() { void checkListInsertionOrdersResponse(api.ListInsertionOrdersResponse o) { buildCounterListInsertionOrdersResponse++; if (buildCounterListInsertionOrdersResponse < 3) { - checkUnnamed117(o.insertionOrders!); + checkUnnamed106(o.insertionOrders!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8130,12 +7540,12 @@ void checkListInsertionOrdersResponse(api.ListInsertionOrdersResponse o) { buildCounterListInsertionOrdersResponse--; } -core.List buildUnnamed118() => [ +core.List buildUnnamed107() => [ buildInventorySourceGroup(), buildInventorySourceGroup(), ]; -void checkUnnamed118(core.List o) { +void checkUnnamed107(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInventorySourceGroup(o[0]); checkInventorySourceGroup(o[1]); @@ -8146,7 +7556,7 @@ api.ListInventorySourceGroupsResponse buildListInventorySourceGroupsResponse() { final o = api.ListInventorySourceGroupsResponse(); buildCounterListInventorySourceGroupsResponse++; if (buildCounterListInventorySourceGroupsResponse < 3) { - o.inventorySourceGroups = buildUnnamed118(); + o.inventorySourceGroups = buildUnnamed107(); o.nextPageToken = 'foo'; } buildCounterListInventorySourceGroupsResponse--; @@ -8157,7 +7567,7 @@ void checkListInventorySourceGroupsResponse( api.ListInventorySourceGroupsResponse o) { buildCounterListInventorySourceGroupsResponse++; if (buildCounterListInventorySourceGroupsResponse < 3) { - checkUnnamed118(o.inventorySourceGroups!); + checkUnnamed107(o.inventorySourceGroups!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8166,12 +7576,12 @@ void checkListInventorySourceGroupsResponse( buildCounterListInventorySourceGroupsResponse--; } -core.List buildUnnamed119() => [ +core.List buildUnnamed108() => [ buildInventorySource(), buildInventorySource(), ]; -void checkUnnamed119(core.List o) { +void checkUnnamed108(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInventorySource(o[0]); checkInventorySource(o[1]); @@ -8182,7 +7592,7 @@ api.ListInventorySourcesResponse buildListInventorySourcesResponse() { final o = api.ListInventorySourcesResponse(); buildCounterListInventorySourcesResponse++; if (buildCounterListInventorySourcesResponse < 3) { - o.inventorySources = buildUnnamed119(); + o.inventorySources = buildUnnamed108(); o.nextPageToken = 'foo'; } buildCounterListInventorySourcesResponse--; @@ -8192,7 +7602,7 @@ api.ListInventorySourcesResponse buildListInventorySourcesResponse() { void checkListInventorySourcesResponse(api.ListInventorySourcesResponse o) { buildCounterListInventorySourcesResponse++; if (buildCounterListInventorySourcesResponse < 3) { - checkUnnamed119(o.inventorySources!); + checkUnnamed108(o.inventorySources!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8201,12 +7611,12 @@ void checkListInventorySourcesResponse(api.ListInventorySourcesResponse o) { buildCounterListInventorySourcesResponse--; } -core.List buildUnnamed120() => [ +core.List buildUnnamed109() => [ buildInvoice(), buildInvoice(), ]; -void checkUnnamed120(core.List o) { +void checkUnnamed109(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInvoice(o[0]); checkInvoice(o[1]); @@ -8217,7 +7627,7 @@ api.ListInvoicesResponse buildListInvoicesResponse() { final o = api.ListInvoicesResponse(); buildCounterListInvoicesResponse++; if (buildCounterListInvoicesResponse < 3) { - o.invoices = buildUnnamed120(); + o.invoices = buildUnnamed109(); o.nextPageToken = 'foo'; } buildCounterListInvoicesResponse--; @@ -8227,7 +7637,7 @@ api.ListInvoicesResponse buildListInvoicesResponse() { void checkListInvoicesResponse(api.ListInvoicesResponse o) { buildCounterListInvoicesResponse++; if (buildCounterListInvoicesResponse < 3) { - checkUnnamed120(o.invoices!); + checkUnnamed109(o.invoices!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8236,12 +7646,12 @@ void checkListInvoicesResponse(api.ListInvoicesResponse o) { buildCounterListInvoicesResponse--; } -core.List buildUnnamed121() => [ +core.List buildUnnamed110() => [ buildAssignedTargetingOption(), buildAssignedTargetingOption(), ]; -void checkUnnamed121(core.List o) { +void checkUnnamed110(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedTargetingOption(o[0]); checkAssignedTargetingOption(o[1]); @@ -8253,7 +7663,7 @@ api.ListLineItemAssignedTargetingOptionsResponse final o = api.ListLineItemAssignedTargetingOptionsResponse(); buildCounterListLineItemAssignedTargetingOptionsResponse++; if (buildCounterListLineItemAssignedTargetingOptionsResponse < 3) { - o.assignedTargetingOptions = buildUnnamed121(); + o.assignedTargetingOptions = buildUnnamed110(); o.nextPageToken = 'foo'; } buildCounterListLineItemAssignedTargetingOptionsResponse--; @@ -8264,7 +7674,7 @@ void checkListLineItemAssignedTargetingOptionsResponse( api.ListLineItemAssignedTargetingOptionsResponse o) { buildCounterListLineItemAssignedTargetingOptionsResponse++; if (buildCounterListLineItemAssignedTargetingOptionsResponse < 3) { - checkUnnamed121(o.assignedTargetingOptions!); + checkUnnamed110(o.assignedTargetingOptions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8273,12 +7683,12 @@ void checkListLineItemAssignedTargetingOptionsResponse( buildCounterListLineItemAssignedTargetingOptionsResponse--; } -core.List buildUnnamed122() => [ +core.List buildUnnamed111() => [ buildLineItem(), buildLineItem(), ]; -void checkUnnamed122(core.List o) { +void checkUnnamed111(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLineItem(o[0]); checkLineItem(o[1]); @@ -8289,7 +7699,7 @@ api.ListLineItemsResponse buildListLineItemsResponse() { final o = api.ListLineItemsResponse(); buildCounterListLineItemsResponse++; if (buildCounterListLineItemsResponse < 3) { - o.lineItems = buildUnnamed122(); + o.lineItems = buildUnnamed111(); o.nextPageToken = 'foo'; } buildCounterListLineItemsResponse--; @@ -8299,7 +7709,7 @@ api.ListLineItemsResponse buildListLineItemsResponse() { void checkListLineItemsResponse(api.ListLineItemsResponse o) { buildCounterListLineItemsResponse++; if (buildCounterListLineItemsResponse < 3) { - checkUnnamed122(o.lineItems!); + checkUnnamed111(o.lineItems!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8308,12 +7718,12 @@ void checkListLineItemsResponse(api.ListLineItemsResponse o) { buildCounterListLineItemsResponse--; } -core.List buildUnnamed123() => [ +core.List buildUnnamed112() => [ buildLocationList(), buildLocationList(), ]; -void checkUnnamed123(core.List o) { +void checkUnnamed112(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLocationList(o[0]); checkLocationList(o[1]); @@ -8324,7 +7734,7 @@ api.ListLocationListsResponse buildListLocationListsResponse() { final o = api.ListLocationListsResponse(); buildCounterListLocationListsResponse++; if (buildCounterListLocationListsResponse < 3) { - o.locationLists = buildUnnamed123(); + o.locationLists = buildUnnamed112(); o.nextPageToken = 'foo'; } buildCounterListLocationListsResponse--; @@ -8334,7 +7744,7 @@ api.ListLocationListsResponse buildListLocationListsResponse() { void checkListLocationListsResponse(api.ListLocationListsResponse o) { buildCounterListLocationListsResponse++; if (buildCounterListLocationListsResponse < 3) { - checkUnnamed123(o.locationLists!); + checkUnnamed112(o.locationLists!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8343,12 +7753,12 @@ void checkListLocationListsResponse(api.ListLocationListsResponse o) { buildCounterListLocationListsResponse--; } -core.List buildUnnamed124() => [ +core.List buildUnnamed113() => [ buildManualTrigger(), buildManualTrigger(), ]; -void checkUnnamed124(core.List o) { +void checkUnnamed113(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkManualTrigger(o[0]); checkManualTrigger(o[1]); @@ -8359,7 +7769,7 @@ api.ListManualTriggersResponse buildListManualTriggersResponse() { final o = api.ListManualTriggersResponse(); buildCounterListManualTriggersResponse++; if (buildCounterListManualTriggersResponse < 3) { - o.manualTriggers = buildUnnamed124(); + o.manualTriggers = buildUnnamed113(); o.nextPageToken = 'foo'; } buildCounterListManualTriggersResponse--; @@ -8369,7 +7779,7 @@ api.ListManualTriggersResponse buildListManualTriggersResponse() { void checkListManualTriggersResponse(api.ListManualTriggersResponse o) { buildCounterListManualTriggersResponse++; if (buildCounterListManualTriggersResponse < 3) { - checkUnnamed124(o.manualTriggers!); + checkUnnamed113(o.manualTriggers!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8378,12 +7788,12 @@ void checkListManualTriggersResponse(api.ListManualTriggersResponse o) { buildCounterListManualTriggersResponse--; } -core.List buildUnnamed125() => [ +core.List buildUnnamed114() => [ buildNegativeKeywordList(), buildNegativeKeywordList(), ]; -void checkUnnamed125(core.List o) { +void checkUnnamed114(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNegativeKeywordList(o[0]); checkNegativeKeywordList(o[1]); @@ -8394,7 +7804,7 @@ api.ListNegativeKeywordListsResponse buildListNegativeKeywordListsResponse() { final o = api.ListNegativeKeywordListsResponse(); buildCounterListNegativeKeywordListsResponse++; if (buildCounterListNegativeKeywordListsResponse < 3) { - o.negativeKeywordLists = buildUnnamed125(); + o.negativeKeywordLists = buildUnnamed114(); o.nextPageToken = 'foo'; } buildCounterListNegativeKeywordListsResponse--; @@ -8405,7 +7815,7 @@ void checkListNegativeKeywordListsResponse( api.ListNegativeKeywordListsResponse o) { buildCounterListNegativeKeywordListsResponse++; if (buildCounterListNegativeKeywordListsResponse < 3) { - checkUnnamed125(o.negativeKeywordLists!); + checkUnnamed114(o.negativeKeywordLists!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8414,12 +7824,12 @@ void checkListNegativeKeywordListsResponse( buildCounterListNegativeKeywordListsResponse--; } -core.List buildUnnamed126() => [ +core.List buildUnnamed115() => [ buildNegativeKeyword(), buildNegativeKeyword(), ]; -void checkUnnamed126(core.List o) { +void checkUnnamed115(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNegativeKeyword(o[0]); checkNegativeKeyword(o[1]); @@ -8430,7 +7840,7 @@ api.ListNegativeKeywordsResponse buildListNegativeKeywordsResponse() { final o = api.ListNegativeKeywordsResponse(); buildCounterListNegativeKeywordsResponse++; if (buildCounterListNegativeKeywordsResponse < 3) { - o.negativeKeywords = buildUnnamed126(); + o.negativeKeywords = buildUnnamed115(); o.nextPageToken = 'foo'; } buildCounterListNegativeKeywordsResponse--; @@ -8440,7 +7850,7 @@ api.ListNegativeKeywordsResponse buildListNegativeKeywordsResponse() { void checkListNegativeKeywordsResponse(api.ListNegativeKeywordsResponse o) { buildCounterListNegativeKeywordsResponse++; if (buildCounterListNegativeKeywordsResponse < 3) { - checkUnnamed126(o.negativeKeywords!); + checkUnnamed115(o.negativeKeywords!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8449,12 +7859,12 @@ void checkListNegativeKeywordsResponse(api.ListNegativeKeywordsResponse o) { buildCounterListNegativeKeywordsResponse--; } -core.List buildUnnamed127() => [ +core.List buildUnnamed116() => [ buildAssignedTargetingOption(), buildAssignedTargetingOption(), ]; -void checkUnnamed127(core.List o) { +void checkUnnamed116(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedTargetingOption(o[0]); checkAssignedTargetingOption(o[1]); @@ -8466,7 +7876,7 @@ api.ListPartnerAssignedTargetingOptionsResponse final o = api.ListPartnerAssignedTargetingOptionsResponse(); buildCounterListPartnerAssignedTargetingOptionsResponse++; if (buildCounterListPartnerAssignedTargetingOptionsResponse < 3) { - o.assignedTargetingOptions = buildUnnamed127(); + o.assignedTargetingOptions = buildUnnamed116(); o.nextPageToken = 'foo'; } buildCounterListPartnerAssignedTargetingOptionsResponse--; @@ -8477,7 +7887,7 @@ void checkListPartnerAssignedTargetingOptionsResponse( api.ListPartnerAssignedTargetingOptionsResponse o) { buildCounterListPartnerAssignedTargetingOptionsResponse++; if (buildCounterListPartnerAssignedTargetingOptionsResponse < 3) { - checkUnnamed127(o.assignedTargetingOptions!); + checkUnnamed116(o.assignedTargetingOptions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8486,12 +7896,12 @@ void checkListPartnerAssignedTargetingOptionsResponse( buildCounterListPartnerAssignedTargetingOptionsResponse--; } -core.List buildUnnamed128() => [ +core.List buildUnnamed117() => [ buildPartner(), buildPartner(), ]; -void checkUnnamed128(core.List o) { +void checkUnnamed117(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPartner(o[0]); checkPartner(o[1]); @@ -8503,7 +7913,7 @@ api.ListPartnersResponse buildListPartnersResponse() { buildCounterListPartnersResponse++; if (buildCounterListPartnersResponse < 3) { o.nextPageToken = 'foo'; - o.partners = buildUnnamed128(); + o.partners = buildUnnamed117(); } buildCounterListPartnersResponse--; return o; @@ -8516,17 +7926,17 @@ void checkListPartnersResponse(api.ListPartnersResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed128(o.partners!); + checkUnnamed117(o.partners!); } buildCounterListPartnersResponse--; } -core.List buildUnnamed129() => [ +core.List buildUnnamed118() => [ buildSite(), buildSite(), ]; -void checkUnnamed129(core.List o) { +void checkUnnamed118(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSite(o[0]); checkSite(o[1]); @@ -8538,7 +7948,7 @@ api.ListSitesResponse buildListSitesResponse() { buildCounterListSitesResponse++; if (buildCounterListSitesResponse < 3) { o.nextPageToken = 'foo'; - o.sites = buildUnnamed129(); + o.sites = buildUnnamed118(); } buildCounterListSitesResponse--; return o; @@ -8551,17 +7961,17 @@ void checkListSitesResponse(api.ListSitesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed129(o.sites!); + checkUnnamed118(o.sites!); } buildCounterListSitesResponse--; } -core.List buildUnnamed130() => [ +core.List buildUnnamed119() => [ buildTargetingOption(), buildTargetingOption(), ]; -void checkUnnamed130(core.List o) { +void checkUnnamed119(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetingOption(o[0]); checkTargetingOption(o[1]); @@ -8573,7 +7983,7 @@ api.ListTargetingOptionsResponse buildListTargetingOptionsResponse() { buildCounterListTargetingOptionsResponse++; if (buildCounterListTargetingOptionsResponse < 3) { o.nextPageToken = 'foo'; - o.targetingOptions = buildUnnamed130(); + o.targetingOptions = buildUnnamed119(); } buildCounterListTargetingOptionsResponse--; return o; @@ -8586,17 +7996,17 @@ void checkListTargetingOptionsResponse(api.ListTargetingOptionsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed130(o.targetingOptions!); + checkUnnamed119(o.targetingOptions!); } buildCounterListTargetingOptionsResponse--; } -core.List buildUnnamed131() => [ +core.List buildUnnamed120() => [ buildUser(), buildUser(), ]; -void checkUnnamed131(core.List o) { +void checkUnnamed120(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUser(o[0]); checkUser(o[1]); @@ -8608,7 +8018,7 @@ api.ListUsersResponse buildListUsersResponse() { buildCounterListUsersResponse++; if (buildCounterListUsersResponse < 3) { o.nextPageToken = 'foo'; - o.users = buildUnnamed131(); + o.users = buildUnnamed120(); } buildCounterListUsersResponse--; return o; @@ -8621,17 +8031,17 @@ void checkListUsersResponse(api.ListUsersResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed131(o.users!); + checkUnnamed120(o.users!); } buildCounterListUsersResponse--; } -core.List buildUnnamed132() => [ +core.List buildUnnamed121() => [ buildYoutubeAdGroupAd(), buildYoutubeAdGroupAd(), ]; -void checkUnnamed132(core.List o) { +void checkUnnamed121(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkYoutubeAdGroupAd(o[0]); checkYoutubeAdGroupAd(o[1]); @@ -8643,7 +8053,7 @@ api.ListYoutubeAdGroupAdsResponse buildListYoutubeAdGroupAdsResponse() { buildCounterListYoutubeAdGroupAdsResponse++; if (buildCounterListYoutubeAdGroupAdsResponse < 3) { o.nextPageToken = 'foo'; - o.youtubeAdGroupAds = buildUnnamed132(); + o.youtubeAdGroupAds = buildUnnamed121(); } buildCounterListYoutubeAdGroupAdsResponse--; return o; @@ -8656,17 +8066,17 @@ void checkListYoutubeAdGroupAdsResponse(api.ListYoutubeAdGroupAdsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed132(o.youtubeAdGroupAds!); + checkUnnamed121(o.youtubeAdGroupAds!); } buildCounterListYoutubeAdGroupAdsResponse--; } -core.List buildUnnamed133() => [ +core.List buildUnnamed122() => [ buildAssignedTargetingOption(), buildAssignedTargetingOption(), ]; -void checkUnnamed133(core.List o) { +void checkUnnamed122(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedTargetingOption(o[0]); checkAssignedTargetingOption(o[1]); @@ -8678,7 +8088,7 @@ api.ListYoutubeAdGroupAssignedTargetingOptionsResponse final o = api.ListYoutubeAdGroupAssignedTargetingOptionsResponse(); buildCounterListYoutubeAdGroupAssignedTargetingOptionsResponse++; if (buildCounterListYoutubeAdGroupAssignedTargetingOptionsResponse < 3) { - o.assignedTargetingOptions = buildUnnamed133(); + o.assignedTargetingOptions = buildUnnamed122(); o.nextPageToken = 'foo'; } buildCounterListYoutubeAdGroupAssignedTargetingOptionsResponse--; @@ -8689,7 +8099,7 @@ void checkListYoutubeAdGroupAssignedTargetingOptionsResponse( api.ListYoutubeAdGroupAssignedTargetingOptionsResponse o) { buildCounterListYoutubeAdGroupAssignedTargetingOptionsResponse++; if (buildCounterListYoutubeAdGroupAssignedTargetingOptionsResponse < 3) { - checkUnnamed133(o.assignedTargetingOptions!); + checkUnnamed122(o.assignedTargetingOptions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8698,12 +8108,12 @@ void checkListYoutubeAdGroupAssignedTargetingOptionsResponse( buildCounterListYoutubeAdGroupAssignedTargetingOptionsResponse--; } -core.List buildUnnamed134() => [ +core.List buildUnnamed123() => [ buildYoutubeAdGroup(), buildYoutubeAdGroup(), ]; -void checkUnnamed134(core.List o) { +void checkUnnamed123(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkYoutubeAdGroup(o[0]); checkYoutubeAdGroup(o[1]); @@ -8715,7 +8125,7 @@ api.ListYoutubeAdGroupsResponse buildListYoutubeAdGroupsResponse() { buildCounterListYoutubeAdGroupsResponse++; if (buildCounterListYoutubeAdGroupsResponse < 3) { o.nextPageToken = 'foo'; - o.youtubeAdGroups = buildUnnamed134(); + o.youtubeAdGroups = buildUnnamed123(); } buildCounterListYoutubeAdGroupsResponse--; return o; @@ -8728,7 +8138,7 @@ void checkListYoutubeAdGroupsResponse(api.ListYoutubeAdGroupsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed134(o.youtubeAdGroups!); + checkUnnamed123(o.youtubeAdGroups!); } buildCounterListYoutubeAdGroupsResponse--; } @@ -8876,12 +8286,12 @@ void checkManualTrigger(api.ManualTrigger o) { buildCounterManualTrigger--; } -core.List buildUnnamed135() => [ +core.List buildUnnamed124() => [ buildYoutubeVideoDetails(), buildYoutubeVideoDetails(), ]; -void checkUnnamed135(core.List o) { +void checkUnnamed124(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkYoutubeVideoDetails(o[0]); checkYoutubeVideoDetails(o[1]); @@ -8897,7 +8307,7 @@ api.MastheadAd buildMastheadAd() { o.callToActionButtonLabel = 'foo'; o.callToActionFinalUrl = 'foo'; o.callToActionTrackingUrl = 'foo'; - o.companionYoutubeVideos = buildUnnamed135(); + o.companionYoutubeVideos = buildUnnamed124(); o.description = 'foo'; o.headline = 'foo'; o.showChannelArt = true; @@ -8931,7 +8341,7 @@ void checkMastheadAd(api.MastheadAd o) { o.callToActionTrackingUrl!, unittest.equals('foo'), ); - checkUnnamed135(o.companionYoutubeVideos!); + checkUnnamed124(o.companionYoutubeVideos!); unittest.expect( o.description!, unittest.equals('foo'), @@ -9042,44 +8452,6 @@ void checkMobileApp(api.MobileApp o) { buildCounterMobileApp--; } -core.List buildUnnamed136() => [ - 'foo', - 'foo', - ]; - -void checkUnnamed136(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - unittest.expect( - o[0], - unittest.equals('foo'), - ); - unittest.expect( - o[1], - unittest.equals('foo'), - ); -} - -core.int buildCounterMobileDeviceIdList = 0; -api.MobileDeviceIdList buildMobileDeviceIdList() { - final o = api.MobileDeviceIdList(); - buildCounterMobileDeviceIdList++; - if (buildCounterMobileDeviceIdList < 3) { - o.consent = buildConsent(); - o.mobileDeviceIds = buildUnnamed136(); - } - buildCounterMobileDeviceIdList--; - return o; -} - -void checkMobileDeviceIdList(api.MobileDeviceIdList o) { - buildCounterMobileDeviceIdList++; - if (buildCounterMobileDeviceIdList < 3) { - checkConsent(o.consent!); - checkUnnamed136(o.mobileDeviceIds!); - } - buildCounterMobileDeviceIdList--; -} - core.int buildCounterMoney = 0; api.Money buildMoney() { final o = api.Money(); @@ -9253,12 +8625,12 @@ void checkNegativeKeywordListAssignedTargetingOptionDetails( buildCounterNegativeKeywordListAssignedTargetingOptionDetails--; } -core.Map buildUnnamed137() => { +core.Map buildUnnamed125() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed137(core.Map o) { +void checkUnnamed125(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -9276,7 +8648,7 @@ api.NonSkippableAd buildNonSkippableAd() { buildCounterNonSkippableAd++; if (buildCounterNonSkippableAd < 3) { o.commonInStreamAttribute = buildCommonInStreamAttribute(); - o.customParameters = buildUnnamed137(); + o.customParameters = buildUnnamed125(); } buildCounterNonSkippableAd--; return o; @@ -9286,7 +8658,7 @@ void checkNonSkippableAd(api.NonSkippableAd o) { buildCounterNonSkippableAd++; if (buildCounterNonSkippableAd < 3) { checkCommonInStreamAttribute(o.commonInStreamAttribute!); - checkUnnamed137(o.customParameters!); + checkUnnamed125(o.customParameters!); } buildCounterNonSkippableAd--; } @@ -9504,7 +8876,7 @@ void checkOperatingSystemTargetingOptionDetails( buildCounterOperatingSystemTargetingOptionDetails--; } -core.Map buildUnnamed138() => { +core.Map buildUnnamed126() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -9517,7 +8889,7 @@ core.Map buildUnnamed138() => { }, }; -void checkUnnamed138(core.Map o) { +void checkUnnamed126(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -9549,7 +8921,7 @@ void checkUnnamed138(core.Map o) { ); } -core.Map buildUnnamed139() => { +core.Map buildUnnamed127() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -9562,7 +8934,7 @@ core.Map buildUnnamed139() => { }, }; -void checkUnnamed139(core.Map o) { +void checkUnnamed127(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -9601,9 +8973,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed138(); + o.metadata = buildUnnamed126(); o.name = 'foo'; - o.response = buildUnnamed139(); + o.response = buildUnnamed127(); } buildCounterOperation--; return o; @@ -9614,12 +8986,12 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed138(o.metadata!); + checkUnnamed126(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed139(o.response!); + checkUnnamed127(o.response!); } buildCounterOperation--; } @@ -9661,12 +9033,12 @@ void checkPacing(api.Pacing o) { buildCounterPacing--; } -core.List buildUnnamed140() => [ +core.List buildUnnamed128() => [ 'foo', 'foo', ]; -void checkUnnamed140(core.List o) { +void checkUnnamed128(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9678,12 +9050,12 @@ void checkUnnamed140(core.List o) { ); } -core.List buildUnnamed141() => [ +core.List buildUnnamed129() => [ 'foo', 'foo', ]; -void checkUnnamed141(core.List o) { +void checkUnnamed129(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9700,8 +9072,8 @@ api.ParentEntityFilter buildParentEntityFilter() { final o = api.ParentEntityFilter(); buildCounterParentEntityFilter++; if (buildCounterParentEntityFilter < 3) { - o.fileType = buildUnnamed140(); - o.filterIds = buildUnnamed141(); + o.fileType = buildUnnamed128(); + o.filterIds = buildUnnamed129(); o.filterType = 'foo'; } buildCounterParentEntityFilter--; @@ -9711,8 +9083,8 @@ api.ParentEntityFilter buildParentEntityFilter() { void checkParentEntityFilter(api.ParentEntityFilter o) { buildCounterParentEntityFilter++; if (buildCounterParentEntityFilter < 3) { - checkUnnamed140(o.fileType!); - checkUnnamed141(o.filterIds!); + checkUnnamed128(o.fileType!); + checkUnnamed129(o.filterIds!); unittest.expect( o.filterType!, unittest.equals('foo'), @@ -10190,12 +9562,12 @@ void checkPrismaCpeCode(api.PrismaCpeCode o) { buildCounterPrismaCpeCode--; } -core.List buildUnnamed142() => [ +core.List buildUnnamed130() => [ buildProductMatchDimension(), buildProductMatchDimension(), ]; -void checkUnnamed142(core.List o) { +void checkUnnamed130(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkProductMatchDimension(o[0]); checkProductMatchDimension(o[1]); @@ -10207,7 +9579,7 @@ api.ProductFeedData buildProductFeedData() { buildCounterProductFeedData++; if (buildCounterProductFeedData < 3) { o.isFeedDisabled = true; - o.productMatchDimensions = buildUnnamed142(); + o.productMatchDimensions = buildUnnamed130(); o.productMatchType = 'foo'; } buildCounterProductFeedData--; @@ -10218,7 +9590,7 @@ void checkProductFeedData(api.ProductFeedData o) { buildCounterProductFeedData++; if (buildCounterProductFeedData < 3) { unittest.expect(o.isFeedDisabled!, unittest.isTrue); - checkUnnamed142(o.productMatchDimensions!); + checkUnnamed130(o.productMatchDimensions!); unittest.expect( o.productMatchType!, unittest.equals('foo'), @@ -10393,12 +9765,12 @@ void checkRemarketingConfig(api.RemarketingConfig o) { buildCounterRemarketingConfig--; } -core.List buildUnnamed143() => [ +core.List buildUnnamed131() => [ buildNegativeKeyword(), buildNegativeKeyword(), ]; -void checkUnnamed143(core.List o) { +void checkUnnamed131(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNegativeKeyword(o[0]); checkNegativeKeyword(o[1]); @@ -10409,7 +9781,7 @@ api.ReplaceNegativeKeywordsRequest buildReplaceNegativeKeywordsRequest() { final o = api.ReplaceNegativeKeywordsRequest(); buildCounterReplaceNegativeKeywordsRequest++; if (buildCounterReplaceNegativeKeywordsRequest < 3) { - o.newNegativeKeywords = buildUnnamed143(); + o.newNegativeKeywords = buildUnnamed131(); } buildCounterReplaceNegativeKeywordsRequest--; return o; @@ -10418,17 +9790,17 @@ api.ReplaceNegativeKeywordsRequest buildReplaceNegativeKeywordsRequest() { void checkReplaceNegativeKeywordsRequest(api.ReplaceNegativeKeywordsRequest o) { buildCounterReplaceNegativeKeywordsRequest++; if (buildCounterReplaceNegativeKeywordsRequest < 3) { - checkUnnamed143(o.newNegativeKeywords!); + checkUnnamed131(o.newNegativeKeywords!); } buildCounterReplaceNegativeKeywordsRequest--; } -core.List buildUnnamed144() => [ +core.List buildUnnamed132() => [ buildNegativeKeyword(), buildNegativeKeyword(), ]; -void checkUnnamed144(core.List o) { +void checkUnnamed132(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNegativeKeyword(o[0]); checkNegativeKeyword(o[1]); @@ -10439,7 +9811,7 @@ api.ReplaceNegativeKeywordsResponse buildReplaceNegativeKeywordsResponse() { final o = api.ReplaceNegativeKeywordsResponse(); buildCounterReplaceNegativeKeywordsResponse++; if (buildCounterReplaceNegativeKeywordsResponse < 3) { - o.negativeKeywords = buildUnnamed144(); + o.negativeKeywords = buildUnnamed132(); } buildCounterReplaceNegativeKeywordsResponse--; return o; @@ -10449,17 +9821,17 @@ void checkReplaceNegativeKeywordsResponse( api.ReplaceNegativeKeywordsResponse o) { buildCounterReplaceNegativeKeywordsResponse++; if (buildCounterReplaceNegativeKeywordsResponse < 3) { - checkUnnamed144(o.negativeKeywords!); + checkUnnamed132(o.negativeKeywords!); } buildCounterReplaceNegativeKeywordsResponse--; } -core.List buildUnnamed145() => [ +core.List buildUnnamed133() => [ buildSite(), buildSite(), ]; -void checkUnnamed145(core.List o) { +void checkUnnamed133(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSite(o[0]); checkSite(o[1]); @@ -10471,7 +9843,7 @@ api.ReplaceSitesRequest buildReplaceSitesRequest() { buildCounterReplaceSitesRequest++; if (buildCounterReplaceSitesRequest < 3) { o.advertiserId = 'foo'; - o.newSites = buildUnnamed145(); + o.newSites = buildUnnamed133(); o.partnerId = 'foo'; } buildCounterReplaceSitesRequest--; @@ -10485,7 +9857,7 @@ void checkReplaceSitesRequest(api.ReplaceSitesRequest o) { o.advertiserId!, unittest.equals('foo'), ); - checkUnnamed145(o.newSites!); + checkUnnamed133(o.newSites!); unittest.expect( o.partnerId!, unittest.equals('foo'), @@ -10494,12 +9866,12 @@ void checkReplaceSitesRequest(api.ReplaceSitesRequest o) { buildCounterReplaceSitesRequest--; } -core.List buildUnnamed146() => [ +core.List buildUnnamed134() => [ buildSite(), buildSite(), ]; -void checkUnnamed146(core.List o) { +void checkUnnamed134(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSite(o[0]); checkSite(o[1]); @@ -10510,7 +9882,7 @@ api.ReplaceSitesResponse buildReplaceSitesResponse() { final o = api.ReplaceSitesResponse(); buildCounterReplaceSitesResponse++; if (buildCounterReplaceSitesResponse < 3) { - o.sites = buildUnnamed146(); + o.sites = buildUnnamed134(); } buildCounterReplaceSitesResponse--; return o; @@ -10519,28 +9891,28 @@ api.ReplaceSitesResponse buildReplaceSitesResponse() { void checkReplaceSitesResponse(api.ReplaceSitesResponse o) { buildCounterReplaceSitesResponse++; if (buildCounterReplaceSitesResponse < 3) { - checkUnnamed146(o.sites!); + checkUnnamed134(o.sites!); } buildCounterReplaceSitesResponse--; } -core.List buildUnnamed147() => [ +core.List buildUnnamed135() => [ buildExchangeReviewStatus(), buildExchangeReviewStatus(), ]; -void checkUnnamed147(core.List o) { +void checkUnnamed135(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExchangeReviewStatus(o[0]); checkExchangeReviewStatus(o[1]); } -core.List buildUnnamed148() => [ +core.List buildUnnamed136() => [ buildPublisherReviewStatus(), buildPublisherReviewStatus(), ]; -void checkUnnamed148(core.List o) { +void checkUnnamed136(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPublisherReviewStatus(o[0]); checkPublisherReviewStatus(o[1]); @@ -10554,8 +9926,8 @@ api.ReviewStatusInfo buildReviewStatusInfo() { o.approvalStatus = 'foo'; o.contentAndPolicyReviewStatus = 'foo'; o.creativeAndLandingPageReviewStatus = 'foo'; - o.exchangeReviewStatuses = buildUnnamed147(); - o.publisherReviewStatuses = buildUnnamed148(); + o.exchangeReviewStatuses = buildUnnamed135(); + o.publisherReviewStatuses = buildUnnamed136(); } buildCounterReviewStatusInfo--; return o; @@ -10576,8 +9948,8 @@ void checkReviewStatusInfo(api.ReviewStatusInfo o) { o.creativeAndLandingPageReviewStatus!, unittest.equals('foo'), ); - checkUnnamed147(o.exchangeReviewStatuses!); - checkUnnamed148(o.publisherReviewStatuses!); + checkUnnamed135(o.exchangeReviewStatuses!); + checkUnnamed136(o.publisherReviewStatuses!); } buildCounterReviewStatusInfo--; } @@ -10684,12 +10056,12 @@ void checkSearchTargetingOptionsRequest(api.SearchTargetingOptionsRequest o) { buildCounterSearchTargetingOptionsRequest--; } -core.List buildUnnamed149() => [ +core.List buildUnnamed137() => [ buildTargetingOption(), buildTargetingOption(), ]; -void checkUnnamed149(core.List o) { +void checkUnnamed137(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetingOption(o[0]); checkTargetingOption(o[1]); @@ -10701,7 +10073,7 @@ api.SearchTargetingOptionsResponse buildSearchTargetingOptionsResponse() { buildCounterSearchTargetingOptionsResponse++; if (buildCounterSearchTargetingOptionsResponse < 3) { o.nextPageToken = 'foo'; - o.targetingOptions = buildUnnamed149(); + o.targetingOptions = buildUnnamed137(); } buildCounterSearchTargetingOptionsResponse--; return o; @@ -10714,7 +10086,7 @@ void checkSearchTargetingOptionsResponse(api.SearchTargetingOptionsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed149(o.targetingOptions!); + checkUnnamed137(o.targetingOptions!); } buildCounterSearchTargetingOptionsResponse--; } @@ -10818,7 +10190,7 @@ void checkSite(api.Site o) { buildCounterSite--; } -core.Map buildUnnamed150() => { +core.Map buildUnnamed138() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -10831,7 +10203,7 @@ core.Map buildUnnamed150() => { }, }; -void checkUnnamed150(core.Map o) { +void checkUnnamed138(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -10863,15 +10235,15 @@ void checkUnnamed150(core.Map o) { ); } -core.List> buildUnnamed151() => [ - buildUnnamed150(), - buildUnnamed150(), +core.List> buildUnnamed139() => [ + buildUnnamed138(), + buildUnnamed138(), ]; -void checkUnnamed151(core.List> o) { +void checkUnnamed139(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed150(o[0]); - checkUnnamed150(o[1]); + checkUnnamed138(o[0]); + checkUnnamed138(o[1]); } core.int buildCounterStatus = 0; @@ -10880,7 +10252,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed151(); + o.details = buildUnnamed139(); o.message = 'foo'; } buildCounterStatus--; @@ -10894,7 +10266,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed151(o.details!); + checkUnnamed139(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -11409,12 +10781,12 @@ void checkUrlAssignedTargetingOptionDetails( buildCounterUrlAssignedTargetingOptionDetails--; } -core.List buildUnnamed152() => [ +core.List buildUnnamed140() => [ buildAssignedUserRole(), buildAssignedUserRole(), ]; -void checkUnnamed152(core.List o) { +void checkUnnamed140(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedUserRole(o[0]); checkAssignedUserRole(o[1]); @@ -11425,7 +10797,7 @@ api.User buildUser() { final o = api.User(); buildCounterUser++; if (buildCounterUser < 3) { - o.assignedUserRoles = buildUnnamed152(); + o.assignedUserRoles = buildUnnamed140(); o.displayName = 'foo'; o.email = 'foo'; o.lastLoginTime = 'foo'; @@ -11439,7 +10811,7 @@ api.User buildUser() { void checkUser(api.User o) { buildCounterUser++; if (buildCounterUser < 3) { - checkUnnamed152(o.assignedUserRoles!); + checkUnnamed140(o.assignedUserRoles!); unittest.expect( o.displayName!, unittest.equals('foo'), @@ -11517,12 +10889,12 @@ void checkUserRewardedContentTargetingOptionDetails( buildCounterUserRewardedContentTargetingOptionDetails--; } -core.List buildUnnamed153() => [ +core.List buildUnnamed141() => [ buildVideoAdSequenceStep(), buildVideoAdSequenceStep(), ]; -void checkUnnamed153(core.List o) { +void checkUnnamed141(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVideoAdSequenceStep(o[0]); checkVideoAdSequenceStep(o[1]); @@ -11534,7 +10906,7 @@ api.VideoAdSequenceSettings buildVideoAdSequenceSettings() { buildCounterVideoAdSequenceSettings++; if (buildCounterVideoAdSequenceSettings < 3) { o.minimumDuration = 'foo'; - o.steps = buildUnnamed153(); + o.steps = buildUnnamed141(); } buildCounterVideoAdSequenceSettings--; return o; @@ -11547,7 +10919,7 @@ void checkVideoAdSequenceSettings(api.VideoAdSequenceSettings o) { o.minimumDuration!, unittest.equals('foo'), ); - checkUnnamed153(o.steps!); + checkUnnamed141(o.steps!); } buildCounterVideoAdSequenceSettings--; } @@ -11628,12 +11000,12 @@ void checkVideoDiscoveryAd(api.VideoDiscoveryAd o) { buildCounterVideoDiscoveryAd--; } -core.List buildUnnamed154() => [ +core.List buildUnnamed142() => [ 'foo', 'foo', ]; -void checkUnnamed154(core.List o) { +void checkUnnamed142(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11645,23 +11017,23 @@ void checkUnnamed154(core.List o) { ); } -core.List buildUnnamed155() => [ +core.List buildUnnamed143() => [ buildImageAsset(), buildImageAsset(), ]; -void checkUnnamed155(core.List o) { +void checkUnnamed143(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkImageAsset(o[0]); checkImageAsset(o[1]); } -core.Map buildUnnamed156() => { +core.Map buildUnnamed144() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed156(core.Map o) { +void checkUnnamed144(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -11673,12 +11045,12 @@ void checkUnnamed156(core.Map o) { ); } -core.List buildUnnamed157() => [ +core.List buildUnnamed145() => [ 'foo', 'foo', ]; -void checkUnnamed157(core.List o) { +void checkUnnamed145(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11690,12 +11062,12 @@ void checkUnnamed157(core.List o) { ); } -core.List buildUnnamed158() => [ +core.List buildUnnamed146() => [ 'foo', 'foo', ]; -void checkUnnamed158(core.List o) { +void checkUnnamed146(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11707,12 +11079,12 @@ void checkUnnamed158(core.List o) { ); } -core.List buildUnnamed159() => [ +core.List buildUnnamed147() => [ 'foo', 'foo', ]; -void checkUnnamed159(core.List o) { +void checkUnnamed147(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11724,12 +11096,12 @@ void checkUnnamed159(core.List o) { ); } -core.List buildUnnamed160() => [ +core.List buildUnnamed148() => [ buildYoutubeVideoDetails(), buildYoutubeVideoDetails(), ]; -void checkUnnamed160(core.List o) { +void checkUnnamed148(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkYoutubeVideoDetails(o[0]); checkYoutubeVideoDetails(o[1]); @@ -11740,18 +11112,18 @@ api.VideoPerformanceAd buildVideoPerformanceAd() { final o = api.VideoPerformanceAd(); buildCounterVideoPerformanceAd++; if (buildCounterVideoPerformanceAd < 3) { - o.actionButtonLabels = buildUnnamed154(); - o.companionBanners = buildUnnamed155(); - o.customParameters = buildUnnamed156(); - o.descriptions = buildUnnamed157(); + o.actionButtonLabels = buildUnnamed142(); + o.companionBanners = buildUnnamed143(); + o.customParameters = buildUnnamed144(); + o.descriptions = buildUnnamed145(); o.displayUrlBreadcrumb1 = 'foo'; o.displayUrlBreadcrumb2 = 'foo'; o.domain = 'foo'; o.finalUrl = 'foo'; - o.headlines = buildUnnamed158(); - o.longHeadlines = buildUnnamed159(); + o.headlines = buildUnnamed146(); + o.longHeadlines = buildUnnamed147(); o.trackingUrl = 'foo'; - o.videos = buildUnnamed160(); + o.videos = buildUnnamed148(); } buildCounterVideoPerformanceAd--; return o; @@ -11760,10 +11132,10 @@ api.VideoPerformanceAd buildVideoPerformanceAd() { void checkVideoPerformanceAd(api.VideoPerformanceAd o) { buildCounterVideoPerformanceAd++; if (buildCounterVideoPerformanceAd < 3) { - checkUnnamed154(o.actionButtonLabels!); - checkUnnamed155(o.companionBanners!); - checkUnnamed156(o.customParameters!); - checkUnnamed157(o.descriptions!); + checkUnnamed142(o.actionButtonLabels!); + checkUnnamed143(o.companionBanners!); + checkUnnamed144(o.customParameters!); + checkUnnamed145(o.descriptions!); unittest.expect( o.displayUrlBreadcrumb1!, unittest.equals('foo'), @@ -11780,13 +11152,13 @@ void checkVideoPerformanceAd(api.VideoPerformanceAd o) { o.finalUrl!, unittest.equals('foo'), ); - checkUnnamed158(o.headlines!); - checkUnnamed159(o.longHeadlines!); + checkUnnamed146(o.headlines!); + checkUnnamed147(o.longHeadlines!); unittest.expect( o.trackingUrl!, unittest.equals('foo'), ); - checkUnnamed160(o.videos!); + checkUnnamed148(o.videos!); } buildCounterVideoPerformanceAd--; } @@ -11886,12 +11258,12 @@ void checkViewabilityTargetingOptionDetails( buildCounterViewabilityTargetingOptionDetails--; } -core.List buildUnnamed161() => [ +core.List buildUnnamed149() => [ 'foo', 'foo', ]; -void checkUnnamed161(core.List o) { +void checkUnnamed149(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11918,7 +11290,7 @@ api.YoutubeAdGroup buildYoutubeAdGroup() { o.name = 'foo'; o.productFeedData = buildProductFeedData(); o.targetingExpansion = buildTargetingExpansionConfig(); - o.youtubeAdIds = buildUnnamed161(); + o.youtubeAdIds = buildUnnamed149(); } buildCounterYoutubeAdGroup--; return o; @@ -11958,17 +11330,17 @@ void checkYoutubeAdGroup(api.YoutubeAdGroup o) { ); checkProductFeedData(o.productFeedData!); checkTargetingExpansionConfig(o.targetingExpansion!); - checkUnnamed161(o.youtubeAdIds!); + checkUnnamed149(o.youtubeAdIds!); } buildCounterYoutubeAdGroup--; } -core.List buildUnnamed162() => [ +core.List buildUnnamed150() => [ buildAdUrl(), buildAdUrl(), ]; -void checkUnnamed162(core.List o) { +void checkUnnamed150(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAdUrl(o[0]); checkAdUrl(o[1]); @@ -11981,7 +11353,7 @@ api.YoutubeAdGroupAd buildYoutubeAdGroupAd() { if (buildCounterYoutubeAdGroupAd < 3) { o.adGroupAdId = 'foo'; o.adGroupId = 'foo'; - o.adUrls = buildUnnamed162(); + o.adUrls = buildUnnamed150(); o.advertiserId = 'foo'; o.audioAd = buildAudioAd(); o.bumperAd = buildBumperAd(); @@ -12010,7 +11382,7 @@ void checkYoutubeAdGroupAd(api.YoutubeAdGroupAd o) { o.adGroupId!, unittest.equals('foo'), ); - checkUnnamed162(o.adUrls!); + checkUnnamed150(o.adUrls!); unittest.expect( o.advertiserId!, unittest.equals('foo'), @@ -12130,12 +11502,12 @@ void checkYoutubeAndPartnersInventorySourceConfig( buildCounterYoutubeAndPartnersInventorySourceConfig--; } -core.List buildUnnamed163() => [ +core.List buildUnnamed151() => [ 'foo', 'foo', ]; -void checkUnnamed163(core.List o) { +void checkUnnamed151(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12158,7 +11530,7 @@ api.YoutubeAndPartnersSettings buildYoutubeAndPartnersSettings() { o.inventorySourceSettings = buildYoutubeAndPartnersInventorySourceConfig(); o.leadFormId = 'foo'; o.linkedMerchantId = 'foo'; - o.relatedVideoIds = buildUnnamed163(); + o.relatedVideoIds = buildUnnamed151(); o.targetFrequency = buildTargetFrequency(); o.thirdPartyMeasurementSettings = buildYoutubeAndPartnersThirdPartyMeasurementSettings(); @@ -12190,7 +11562,7 @@ void checkYoutubeAndPartnersSettings(api.YoutubeAndPartnersSettings o) { o.linkedMerchantId!, unittest.equals('foo'), ); - checkUnnamed163(o.relatedVideoIds!); + checkUnnamed151(o.relatedVideoIds!); checkTargetFrequency(o.targetFrequency!); checkYoutubeAndPartnersThirdPartyMeasurementSettings( o.thirdPartyMeasurementSettings!); @@ -12200,45 +11572,45 @@ void checkYoutubeAndPartnersSettings(api.YoutubeAndPartnersSettings o) { buildCounterYoutubeAndPartnersSettings--; } -core.List buildUnnamed164() => [ +core.List buildUnnamed152() => [ buildThirdPartyVendorConfig(), buildThirdPartyVendorConfig(), ]; -void checkUnnamed164(core.List o) { +void checkUnnamed152(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkThirdPartyVendorConfig(o[0]); checkThirdPartyVendorConfig(o[1]); } -core.List buildUnnamed165() => [ +core.List buildUnnamed153() => [ buildThirdPartyVendorConfig(), buildThirdPartyVendorConfig(), ]; -void checkUnnamed165(core.List o) { +void checkUnnamed153(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkThirdPartyVendorConfig(o[0]); checkThirdPartyVendorConfig(o[1]); } -core.List buildUnnamed166() => [ +core.List buildUnnamed154() => [ buildThirdPartyVendorConfig(), buildThirdPartyVendorConfig(), ]; -void checkUnnamed166(core.List o) { +void checkUnnamed154(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkThirdPartyVendorConfig(o[0]); checkThirdPartyVendorConfig(o[1]); } -core.List buildUnnamed167() => [ +core.List buildUnnamed155() => [ buildThirdPartyVendorConfig(), buildThirdPartyVendorConfig(), ]; -void checkUnnamed167(core.List o) { +void checkUnnamed155(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkThirdPartyVendorConfig(o[0]); checkThirdPartyVendorConfig(o[1]); @@ -12250,10 +11622,10 @@ api.YoutubeAndPartnersThirdPartyMeasurementSettings final o = api.YoutubeAndPartnersThirdPartyMeasurementSettings(); buildCounterYoutubeAndPartnersThirdPartyMeasurementSettings++; if (buildCounterYoutubeAndPartnersThirdPartyMeasurementSettings < 3) { - o.brandLiftVendorConfigs = buildUnnamed164(); - o.brandSafetyVendorConfigs = buildUnnamed165(); - o.reachVendorConfigs = buildUnnamed166(); - o.viewabilityVendorConfigs = buildUnnamed167(); + o.brandLiftVendorConfigs = buildUnnamed152(); + o.brandSafetyVendorConfigs = buildUnnamed153(); + o.reachVendorConfigs = buildUnnamed154(); + o.viewabilityVendorConfigs = buildUnnamed155(); } buildCounterYoutubeAndPartnersThirdPartyMeasurementSettings--; return o; @@ -12263,10 +11635,10 @@ void checkYoutubeAndPartnersThirdPartyMeasurementSettings( api.YoutubeAndPartnersThirdPartyMeasurementSettings o) { buildCounterYoutubeAndPartnersThirdPartyMeasurementSettings++; if (buildCounterYoutubeAndPartnersThirdPartyMeasurementSettings < 3) { - checkUnnamed164(o.brandLiftVendorConfigs!); - checkUnnamed165(o.brandSafetyVendorConfigs!); - checkUnnamed166(o.reachVendorConfigs!); - checkUnnamed167(o.viewabilityVendorConfigs!); + checkUnnamed152(o.brandLiftVendorConfigs!); + checkUnnamed153(o.brandSafetyVendorConfigs!); + checkUnnamed154(o.reachVendorConfigs!); + checkUnnamed155(o.viewabilityVendorConfigs!); } buildCounterYoutubeAndPartnersThirdPartyMeasurementSettings--; } @@ -12350,12 +11722,12 @@ void checkYoutubeVideoDetails(api.YoutubeVideoDetails o) { buildCounterYoutubeVideoDetails--; } -core.List buildUnnamed168() => [ +core.List buildUnnamed156() => [ 'foo', 'foo', ]; -void checkUnnamed168(core.List o) { +void checkUnnamed156(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12367,12 +11739,12 @@ void checkUnnamed168(core.List o) { ); } -core.List buildUnnamed169() => [ +core.List buildUnnamed157() => [ 'foo', 'foo', ]; -void checkUnnamed169(core.List o) { +void checkUnnamed157(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12445,16 +11817,6 @@ void main() { }); }); - unittest.group('obj-schema-AdvertiserBillingConfig', () { - unittest.test('to-json--from-json', () async { - final o = buildAdvertiserBillingConfig(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AdvertiserBillingConfig.fromJson( - oJson as core.Map); - checkAdvertiserBillingConfig(od); - }); - }); - unittest.group('obj-schema-AdvertiserCreativeConfig', () { unittest.test('to-json--from-json', () async { final o = buildAdvertiserCreativeConfig(); @@ -12936,29 +12298,6 @@ void main() { }); }); - unittest.group('obj-schema-BulkListCampaignAssignedTargetingOptionsResponse', - () { - unittest.test('to-json--from-json', () async { - final o = buildBulkListCampaignAssignedTargetingOptionsResponse(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.BulkListCampaignAssignedTargetingOptionsResponse.fromJson( - oJson as core.Map); - checkBulkListCampaignAssignedTargetingOptionsResponse(od); - }); - }); - - unittest.group( - 'obj-schema-BulkListInsertionOrderAssignedTargetingOptionsResponse', () { - unittest.test('to-json--from-json', () async { - final o = buildBulkListInsertionOrderAssignedTargetingOptionsResponse(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = - api.BulkListInsertionOrderAssignedTargetingOptionsResponse.fromJson( - oJson as core.Map); - checkBulkListInsertionOrderAssignedTargetingOptionsResponse(od); - }); - }); - unittest.group('obj-schema-BulkUpdateLineItemsRequest', () { unittest.test('to-json--from-json', () async { final o = buildBulkUpdateLineItemsRequest(); @@ -13179,36 +12518,6 @@ void main() { }); }); - unittest.group('obj-schema-Consent', () { - unittest.test('to-json--from-json', () async { - final o = buildConsent(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = - api.Consent.fromJson(oJson as core.Map); - checkConsent(od); - }); - }); - - unittest.group('obj-schema-ContactInfo', () { - unittest.test('to-json--from-json', () async { - final o = buildContactInfo(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.ContactInfo.fromJson( - oJson as core.Map); - checkContactInfo(od); - }); - }); - - unittest.group('obj-schema-ContactInfoList', () { - unittest.test('to-json--from-json', () async { - final o = buildContactInfoList(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.ContactInfoList.fromJson( - oJson as core.Map); - checkContactInfoList(od); - }); - }); - unittest.group('obj-schema-ContentDurationAssignedTargetingOptionDetails', () { unittest.test('to-json--from-json', () async { @@ -13689,26 +12998,6 @@ void main() { }); }); - unittest.group('obj-schema-EditCustomerMatchMembersRequest', () { - unittest.test('to-json--from-json', () async { - final o = buildEditCustomerMatchMembersRequest(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.EditCustomerMatchMembersRequest.fromJson( - oJson as core.Map); - checkEditCustomerMatchMembersRequest(od); - }); - }); - - unittest.group('obj-schema-EditCustomerMatchMembersResponse', () { - unittest.test('to-json--from-json', () async { - final o = buildEditCustomerMatchMembersResponse(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.EditCustomerMatchMembersResponse.fromJson( - oJson as core.Map); - checkEditCustomerMatchMembersResponse(od); - }); - }); - unittest.group('obj-schema-EditGuaranteedOrderReadAccessorsRequest', () { unittest.test('to-json--from-json', () async { final o = buildEditGuaranteedOrderReadAccessorsRequest(); @@ -13843,57 +13132,27 @@ void main() { }); }); - unittest.group('obj-schema-FirstAndThirdPartyAudience', () { + unittest.group('obj-schema-FixedBidStrategy', () { unittest.test('to-json--from-json', () async { - final o = buildFirstAndThirdPartyAudience(); + final o = buildFixedBidStrategy(); final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.FirstAndThirdPartyAudience.fromJson( + final od = api.FixedBidStrategy.fromJson( oJson as core.Map); - checkFirstAndThirdPartyAudience(od); + checkFixedBidStrategy(od); }); }); - unittest.group('obj-schema-FirstAndThirdPartyAudienceGroup', () { + unittest.group('obj-schema-FloodlightActivity', () { unittest.test('to-json--from-json', () async { - final o = buildFirstAndThirdPartyAudienceGroup(); + final o = buildFloodlightActivity(); final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.FirstAndThirdPartyAudienceGroup.fromJson( + final od = api.FloodlightActivity.fromJson( oJson as core.Map); - checkFirstAndThirdPartyAudienceGroup(od); + checkFloodlightActivity(od); }); }); - unittest.group('obj-schema-FirstAndThirdPartyAudienceTargetingSetting', () { - unittest.test('to-json--from-json', () async { - final o = buildFirstAndThirdPartyAudienceTargetingSetting(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.FirstAndThirdPartyAudienceTargetingSetting.fromJson( - oJson as core.Map); - checkFirstAndThirdPartyAudienceTargetingSetting(od); - }); - }); - - unittest.group('obj-schema-FixedBidStrategy', () { - unittest.test('to-json--from-json', () async { - final o = buildFixedBidStrategy(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.FixedBidStrategy.fromJson( - oJson as core.Map); - checkFixedBidStrategy(od); - }); - }); - - unittest.group('obj-schema-FloodlightActivity', () { - unittest.test('to-json--from-json', () async { - final o = buildFloodlightActivity(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.FloodlightActivity.fromJson( - oJson as core.Map); - checkFloodlightActivity(od); - }); - }); - - unittest.group('obj-schema-FloodlightGroup', () { + unittest.group('obj-schema-FloodlightGroup', () { unittest.test('to-json--from-json', () async { final o = buildFloodlightGroup(); final oJson = convert.jsonDecode(convert.jsonEncode(o)); @@ -14368,16 +13627,6 @@ void main() { }); }); - unittest.group('obj-schema-ListCampaignAssignedTargetingOptionsResponse', () { - unittest.test('to-json--from-json', () async { - final o = buildListCampaignAssignedTargetingOptionsResponse(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.ListCampaignAssignedTargetingOptionsResponse.fromJson( - oJson as core.Map); - checkListCampaignAssignedTargetingOptionsResponse(od); - }); - }); - unittest.group('obj-schema-ListCampaignsResponse', () { unittest.test('to-json--from-json', () async { final o = buildListCampaignsResponse(); @@ -14448,16 +13697,6 @@ void main() { }); }); - unittest.group('obj-schema-ListFirstAndThirdPartyAudiencesResponse', () { - unittest.test('to-json--from-json', () async { - final o = buildListFirstAndThirdPartyAudiencesResponse(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.ListFirstAndThirdPartyAudiencesResponse.fromJson( - oJson as core.Map); - checkListFirstAndThirdPartyAudiencesResponse(od); - }); - }); - unittest.group('obj-schema-ListFloodlightActivitiesResponse', () { unittest.test('to-json--from-json', () async { final o = buildListFloodlightActivitiesResponse(); @@ -14488,18 +13727,6 @@ void main() { }); }); - unittest.group( - 'obj-schema-ListInsertionOrderAssignedTargetingOptionsResponse', () { - unittest.test('to-json--from-json', () async { - final o = buildListInsertionOrderAssignedTargetingOptionsResponse(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = - api.ListInsertionOrderAssignedTargetingOptionsResponse.fromJson( - oJson as core.Map); - checkListInsertionOrderAssignedTargetingOptionsResponse(od); - }); - }); - unittest.group('obj-schema-ListInsertionOrdersResponse', () { unittest.test('to-json--from-json', () async { final o = buildListInsertionOrdersResponse(); @@ -14762,16 +13989,6 @@ void main() { }); }); - unittest.group('obj-schema-MobileDeviceIdList', () { - unittest.test('to-json--from-json', () async { - final o = buildMobileDeviceIdList(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.MobileDeviceIdList.fromJson( - oJson as core.Map); - checkMobileDeviceIdList(od); - }); - }); - unittest.group('obj-schema-Money', () { unittest.test('to-json--from-json', () async { final o = buildMoney(); @@ -16489,17 +15706,19 @@ void main() { checkListCampaignsResponse(response as api.ListCampaignsResponse); }); - unittest.test('method--listAssignedTargetingOptions', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); final res = api.DisplayVideoApi(mock).advertisers.campaigns; + final arg_request = buildCampaign(); final arg_advertiserId = 'foo'; final arg_campaignId = 'foo'; - final arg_filter = 'foo'; - final arg_orderBy = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; + final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.Campaign.fromJson(json as core.Map); + checkCampaign(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -16532,20 +15751,8 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), ); unittest.expect( queryMap['fields']!.first, @@ -16555,33 +15762,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json - .encode(buildBulkListCampaignAssignedTargetingOptionsResponse()); + final resp = convert.json.encode(buildCampaign()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.listAssignedTargetingOptions( - arg_advertiserId, arg_campaignId, - filter: arg_filter, - orderBy: arg_orderBy, - pageSize: arg_pageSize, - pageToken: arg_pageToken, - $fields: arg_$fields); - checkBulkListCampaignAssignedTargetingOptionsResponse( - response as api.BulkListCampaignAssignedTargetingOptionsResponse); + final response = await res.patch( + arg_request, arg_advertiserId, arg_campaignId, + updateMask: arg_updateMask, $fields: arg_$fields); + checkCampaign(response as api.Campaign); }); + }); - unittest.test('method--patch', () async { + unittest.group('resource-AdvertisersChannelsResource', () { + unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.campaigns; - final arg_request = buildCampaign(); + final res = api.DisplayVideoApi(mock).advertisers.channels; + final arg_request = buildChannel(); final arg_advertiserId = 'foo'; - final arg_campaignId = 'foo'; - final arg_updateMask = 'foo'; + final arg_partnerId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = - api.Campaign.fromJson(json as core.Map); - checkCampaign(obj); + api.Channel.fromJson(json as core.Map); + checkChannel(obj); final path = req.url.path; var pathOffset = 0; @@ -16615,8 +15817,8 @@ void main() { } } unittest.expect( - queryMap['updateMask']!.first, - unittest.equals(arg_updateMask), + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), ); unittest.expect( queryMap['fields']!.first, @@ -16626,30 +15828,20 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildCampaign()); + final resp = convert.json.encode(buildChannel()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch( - arg_request, arg_advertiserId, arg_campaignId, - updateMask: arg_updateMask, $fields: arg_$fields); - checkCampaign(response as api.Campaign); + final response = await res.create(arg_request, arg_advertiserId, + partnerId: arg_partnerId, $fields: arg_$fields); + checkChannel(response as api.Channel); }); - }); - unittest.group( - 'resource-AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsResource', - () { unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock) - .advertisers - .campaigns - .targetingTypes - .assignedTargetingOptions; + final res = api.DisplayVideoApi(mock).advertisers.channels; final arg_advertiserId = 'foo'; - final arg_campaignId = 'foo'; - final arg_targetingType = 'foo'; - final arg_assignedTargetingOptionId = 'foo'; + final arg_channelId = 'foo'; + final arg_partnerId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -16683,6 +15875,10 @@ void main() { ); } } + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -16691,29 +15887,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildAssignedTargetingOption()); + final resp = convert.json.encode(buildChannel()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_advertiserId, arg_campaignId, - arg_targetingType, arg_assignedTargetingOptionId, - $fields: arg_$fields); - checkAssignedTargetingOption(response as api.AssignedTargetingOption); + final response = await res.get(arg_advertiserId, arg_channelId, + partnerId: arg_partnerId, $fields: arg_$fields); + checkChannel(response as api.Channel); }); unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock) - .advertisers - .campaigns - .targetingTypes - .assignedTargetingOptions; + final res = api.DisplayVideoApi(mock).advertisers.channels; final arg_advertiserId = 'foo'; - final arg_campaignId = 'foo'; - final arg_targetingType = 'foo'; final arg_filter = 'foo'; final arg_orderBy = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; + final arg_partnerId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -16763,6 +15953,10 @@ void main() { queryMap['pageToken']!.first, unittest.equals(arg_pageToken), ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -16771,29 +15965,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json - .encode(buildListCampaignAssignedTargetingOptionsResponse()); + final resp = convert.json.encode(buildListChannelsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list( - arg_advertiserId, arg_campaignId, arg_targetingType, + final response = await res.list(arg_advertiserId, filter: arg_filter, orderBy: arg_orderBy, pageSize: arg_pageSize, pageToken: arg_pageToken, + partnerId: arg_partnerId, $fields: arg_$fields); - checkListCampaignAssignedTargetingOptionsResponse( - response as api.ListCampaignAssignedTargetingOptionsResponse); + checkListChannelsResponse(response as api.ListChannelsResponse); }); - }); - unittest.group('resource-AdvertisersChannelsResource', () { - unittest.test('method--create', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); final res = api.DisplayVideoApi(mock).advertisers.channels; final arg_request = buildChannel(); final arg_advertiserId = 'foo'; + final arg_channelId = 'foo'; final arg_partnerId = 'foo'; + final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = @@ -16835,6 +16027,10 @@ void main() { queryMap['partnerId']!.first, unittest.equals(arg_partnerId), ); + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -16846,19 +16042,28 @@ void main() { final resp = convert.json.encode(buildChannel()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.create(arg_request, arg_advertiserId, - partnerId: arg_partnerId, $fields: arg_$fields); + final response = await res.patch( + arg_request, arg_advertiserId, arg_channelId, + partnerId: arg_partnerId, + updateMask: arg_updateMask, + $fields: arg_$fields); checkChannel(response as api.Channel); }); + }); - unittest.test('method--get', () async { + unittest.group('resource-AdvertisersChannelsSitesResource', () { + unittest.test('method--bulkEdit', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.channels; + final res = api.DisplayVideoApi(mock).advertisers.channels.sites; + final arg_request = buildBulkEditSitesRequest(); final arg_advertiserId = 'foo'; final arg_channelId = 'foo'; - final arg_partnerId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.BulkEditSitesRequest.fromJson( + json as core.Map); + checkBulkEditSitesRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -16873,6 +16078,20 @@ void main() { unittest.equals('v2/advertisers/'), ); pathOffset += 15; + index = path.indexOf('/channels/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_advertiserId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/channels/'), + ); + pathOffset += 10; // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; final query = req.url.query; @@ -16890,10 +16109,6 @@ void main() { ); } } - unittest.expect( - queryMap['partnerId']!.first, - unittest.equals(arg_partnerId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -16902,25 +16117,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildChannel()); + final resp = convert.json.encode(buildBulkEditSitesResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_advertiserId, arg_channelId, - partnerId: arg_partnerId, $fields: arg_$fields); - checkChannel(response as api.Channel); + final response = await res.bulkEdit( + arg_request, arg_advertiserId, arg_channelId, + $fields: arg_$fields); + checkBulkEditSitesResponse(response as api.BulkEditSitesResponse); }); - unittest.test('method--list', () async { + unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.channels; + final res = api.DisplayVideoApi(mock).advertisers.channels.sites; + final arg_request = buildSite(); final arg_advertiserId = 'foo'; - final arg_filter = 'foo'; - final arg_orderBy = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; + final arg_channelId = 'foo'; final arg_partnerId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.Site.fromJson(json as core.Map); + checkSite(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -16935,6 +16153,20 @@ void main() { unittest.equals('v2/advertisers/'), ); pathOffset += 15; + index = path.indexOf('/channels/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_advertiserId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/channels/'), + ); + pathOffset += 10; // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; final query = req.url.query; @@ -16953,259 +16185,12 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), ); unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['partnerId']!.first, - unittest.equals(arg_partnerId), - ); - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildListChannelsResponse()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.list(arg_advertiserId, - filter: arg_filter, - orderBy: arg_orderBy, - pageSize: arg_pageSize, - pageToken: arg_pageToken, - partnerId: arg_partnerId, - $fields: arg_$fields); - checkListChannelsResponse(response as api.ListChannelsResponse); - }); - - unittest.test('method--patch', () async { - final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.channels; - final arg_request = buildChannel(); - final arg_advertiserId = 'foo'; - final arg_channelId = 'foo'; - final arg_partnerId = 'foo'; - final arg_updateMask = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.Channel.fromJson(json as core.Map); - checkChannel(obj); - - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('v2/advertisers/'), - ); - pathOffset += 15; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['partnerId']!.first, - unittest.equals(arg_partnerId), - ); - unittest.expect( - queryMap['updateMask']!.first, - unittest.equals(arg_updateMask), - ); - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildChannel()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.patch( - arg_request, arg_advertiserId, arg_channelId, - partnerId: arg_partnerId, - updateMask: arg_updateMask, - $fields: arg_$fields); - checkChannel(response as api.Channel); - }); - }); - - unittest.group('resource-AdvertisersChannelsSitesResource', () { - unittest.test('method--bulkEdit', () async { - final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.channels.sites; - final arg_request = buildBulkEditSitesRequest(); - final arg_advertiserId = 'foo'; - final arg_channelId = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.BulkEditSitesRequest.fromJson( - json as core.Map); - checkBulkEditSitesRequest(obj); - - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('v2/advertisers/'), - ); - pathOffset += 15; - index = path.indexOf('/channels/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_advertiserId'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 10), - unittest.equals('/channels/'), - ); - pathOffset += 10; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildBulkEditSitesResponse()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.bulkEdit( - arg_request, arg_advertiserId, arg_channelId, - $fields: arg_$fields); - checkBulkEditSitesResponse(response as api.BulkEditSitesResponse); - }); - - unittest.test('method--create', () async { - final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.channels.sites; - final arg_request = buildSite(); - final arg_advertiserId = 'foo'; - final arg_channelId = 'foo'; - final arg_partnerId = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.Site.fromJson(json as core.Map); - checkSite(obj); - - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('v2/advertisers/'), - ); - pathOffset += 15; - index = path.indexOf('/channels/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_advertiserId'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 10), - unittest.equals('/channels/'), - ); - pathOffset += 10; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['partnerId']!.first, - unittest.equals(arg_partnerId), - ); - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), + queryMap['fields']!.first, + unittest.equals(arg_$fields), ); final h = { @@ -18009,94 +16994,13 @@ void main() { response as api.ListInsertionOrdersResponse); }); - unittest.test('method--listAssignedTargetingOptions', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); final res = api.DisplayVideoApi(mock).advertisers.insertionOrders; + final arg_request = buildInsertionOrder(); final arg_advertiserId = 'foo'; final arg_insertionOrderId = 'foo'; - final arg_filter = 'foo'; - final arg_orderBy = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('v2/advertisers/'), - ); - pathOffset += 15; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode( - buildBulkListInsertionOrderAssignedTargetingOptionsResponse()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.listAssignedTargetingOptions( - arg_advertiserId, arg_insertionOrderId, - filter: arg_filter, - orderBy: arg_orderBy, - pageSize: arg_pageSize, - pageToken: arg_pageToken, - $fields: arg_$fields); - checkBulkListInsertionOrderAssignedTargetingOptionsResponse(response - as api.BulkListInsertionOrderAssignedTargetingOptionsResponse); - }); - - unittest.test('method--patch', () async { - final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.insertionOrders; - final arg_request = buildInsertionOrder(); - final arg_advertiserId = 'foo'; - final arg_insertionOrderId = 'foo'; - final arg_updateMask = 'foo'; + final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = api.InsertionOrder.fromJson( @@ -18156,26 +17060,17 @@ void main() { }); }); - unittest.group( - 'resource-AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsResource', - () { - unittest.test('method--create', () async { + unittest.group('resource-AdvertisersInvoicesResource', () { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock) - .advertisers - .insertionOrders - .targetingTypes - .assignedTargetingOptions; - final arg_request = buildAssignedTargetingOption(); + final res = api.DisplayVideoApi(mock).advertisers.invoices; final arg_advertiserId = 'foo'; - final arg_insertionOrderId = 'foo'; - final arg_targetingType = 'foo'; + final arg_issueMonth = 'foo'; + final arg_loiSapinInvoiceType = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.AssignedTargetingOption.fromJson( - json as core.Map); - checkAssignedTargetingOption(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -18207,6 +17102,22 @@ void main() { ); } } + unittest.expect( + queryMap['issueMonth']!.first, + unittest.equals(arg_issueMonth), + ); + unittest.expect( + queryMap['loiSapinInvoiceType']!.first, + unittest.equals(arg_loiSapinInvoiceType), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -18215,26 +17126,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildAssignedTargetingOption()); + final resp = convert.json.encode(buildListInvoicesResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.create(arg_request, arg_advertiserId, - arg_insertionOrderId, arg_targetingType, + final response = await res.list(arg_advertiserId, + issueMonth: arg_issueMonth, + loiSapinInvoiceType: arg_loiSapinInvoiceType, + pageSize: arg_pageSize, + pageToken: arg_pageToken, $fields: arg_$fields); - checkAssignedTargetingOption(response as api.AssignedTargetingOption); + checkListInvoicesResponse(response as api.ListInvoicesResponse); }); - unittest.test('method--delete', () async { + unittest.test('method--lookupInvoiceCurrency', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock) - .advertisers - .insertionOrders - .targetingTypes - .assignedTargetingOptions; + final res = api.DisplayVideoApi(mock).advertisers.invoices; final arg_advertiserId = 'foo'; - final arg_insertionOrderId = 'foo'; - final arg_targetingType = 'foo'; - final arg_assignedTargetingOptionId = 'foo'; + final arg_invoiceMonth = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -18268,6 +17176,10 @@ void main() { ); } } + unittest.expect( + queryMap['invoiceMonth']!.first, + unittest.equals(arg_invoiceMonth), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -18276,28 +17188,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildEmpty()); + final resp = convert.json.encode(buildLookupInvoiceCurrencyResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_advertiserId, arg_insertionOrderId, - arg_targetingType, arg_assignedTargetingOptionId, - $fields: arg_$fields); - checkEmpty(response as api.Empty); + final response = await res.lookupInvoiceCurrency(arg_advertiserId, + invoiceMonth: arg_invoiceMonth, $fields: arg_$fields); + checkLookupInvoiceCurrencyResponse( + response as api.LookupInvoiceCurrencyResponse); }); + }); - unittest.test('method--get', () async { + unittest.group('resource-AdvertisersLineItemsResource', () { + unittest.test('method--bulkEditAssignedTargetingOptions', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock) - .advertisers - .insertionOrders - .targetingTypes - .assignedTargetingOptions; + final res = api.DisplayVideoApi(mock).advertisers.lineItems; + final arg_request = buildBulkEditAssignedTargetingOptionsRequest(); final arg_advertiserId = 'foo'; - final arg_insertionOrderId = 'foo'; - final arg_targetingType = 'foo'; - final arg_assignedTargetingOptionId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.BulkEditAssignedTargetingOptionsRequest.fromJson( + json as core.Map); + checkBulkEditAssignedTargetingOptionsRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -18337,26 +17249,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildAssignedTargetingOption()); + final resp = convert.json + .encode(buildBulkEditAssignedTargetingOptionsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_advertiserId, arg_insertionOrderId, - arg_targetingType, arg_assignedTargetingOptionId, + final response = await res.bulkEditAssignedTargetingOptions( + arg_request, arg_advertiserId, $fields: arg_$fields); - checkAssignedTargetingOption(response as api.AssignedTargetingOption); + checkBulkEditAssignedTargetingOptionsResponse( + response as api.BulkEditAssignedTargetingOptionsResponse); }); - unittest.test('method--list', () async { + unittest.test('method--bulkListAssignedTargetingOptions', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock) - .advertisers - .insertionOrders - .targetingTypes - .assignedTargetingOptions; + final res = api.DisplayVideoApi(mock).advertisers.lineItems; final arg_advertiserId = 'foo'; - final arg_insertionOrderId = 'foo'; - final arg_targetingType = 'foo'; final arg_filter = 'foo'; + final arg_lineItemIds = buildUnnamed156(); final arg_orderBy = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; @@ -18397,6 +17306,10 @@ void main() { queryMap['filter']!.first, unittest.equals(arg_filter), ); + unittest.expect( + queryMap['lineItemIds']!, + unittest.equals(arg_lineItemIds), + ); unittest.expect( queryMap['orderBy']!.first, unittest.equals(arg_orderBy), @@ -18418,32 +17331,32 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = convert.json - .encode(buildListInsertionOrderAssignedTargetingOptionsResponse()); + .encode(buildBulkListAssignedTargetingOptionsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list( - arg_advertiserId, arg_insertionOrderId, arg_targetingType, + final response = await res.bulkListAssignedTargetingOptions( + arg_advertiserId, filter: arg_filter, + lineItemIds: arg_lineItemIds, orderBy: arg_orderBy, pageSize: arg_pageSize, pageToken: arg_pageToken, $fields: arg_$fields); - checkListInsertionOrderAssignedTargetingOptionsResponse( - response as api.ListInsertionOrderAssignedTargetingOptionsResponse); + checkBulkListAssignedTargetingOptionsResponse( + response as api.BulkListAssignedTargetingOptionsResponse); }); - }); - unittest.group('resource-AdvertisersInvoicesResource', () { - unittest.test('method--list', () async { + unittest.test('method--bulkUpdate', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.invoices; + final res = api.DisplayVideoApi(mock).advertisers.lineItems; + final arg_request = buildBulkUpdateLineItemsRequest(); final arg_advertiserId = 'foo'; - final arg_issueMonth = 'foo'; - final arg_loiSapinInvoiceType = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.BulkUpdateLineItemsRequest.fromJson( + json as core.Map); + checkBulkUpdateLineItemsRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -18475,22 +17388,6 @@ void main() { ); } } - unittest.expect( - queryMap['issueMonth']!.first, - unittest.equals(arg_issueMonth), - ); - unittest.expect( - queryMap['loiSapinInvoiceType']!.first, - unittest.equals(arg_loiSapinInvoiceType), - ); - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -18499,25 +17396,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildListInvoicesResponse()); + final resp = convert.json.encode(buildBulkUpdateLineItemsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_advertiserId, - issueMonth: arg_issueMonth, - loiSapinInvoiceType: arg_loiSapinInvoiceType, - pageSize: arg_pageSize, - pageToken: arg_pageToken, + final response = await res.bulkUpdate(arg_request, arg_advertiserId, $fields: arg_$fields); - checkListInvoicesResponse(response as api.ListInvoicesResponse); + checkBulkUpdateLineItemsResponse( + response as api.BulkUpdateLineItemsResponse); }); - unittest.test('method--lookupInvoiceCurrency', () async { + unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.invoices; + final res = api.DisplayVideoApi(mock).advertisers.lineItems; + final arg_request = buildLineItem(); final arg_advertiserId = 'foo'; - final arg_invoiceMonth = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.LineItem.fromJson(json as core.Map); + checkLineItem(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -18549,10 +17447,6 @@ void main() { ); } } - unittest.expect( - queryMap['invoiceMonth']!.first, - unittest.equals(arg_invoiceMonth), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -18561,28 +17455,21 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildLookupInvoiceCurrencyResponse()); + final resp = convert.json.encode(buildLineItem()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.lookupInvoiceCurrency(arg_advertiserId, - invoiceMonth: arg_invoiceMonth, $fields: arg_$fields); - checkLookupInvoiceCurrencyResponse( - response as api.LookupInvoiceCurrencyResponse); + final response = + await res.create(arg_request, arg_advertiserId, $fields: arg_$fields); + checkLineItem(response as api.LineItem); }); - }); - unittest.group('resource-AdvertisersLineItemsResource', () { - unittest.test('method--bulkEditAssignedTargetingOptions', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); final res = api.DisplayVideoApi(mock).advertisers.lineItems; - final arg_request = buildBulkEditAssignedTargetingOptionsRequest(); final arg_advertiserId = 'foo'; + final arg_lineItemId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.BulkEditAssignedTargetingOptionsRequest.fromJson( - json as core.Map); - checkBulkEditAssignedTargetingOptionsRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -18622,28 +17509,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json - .encode(buildBulkEditAssignedTargetingOptionsResponse()); + final resp = convert.json.encode(buildEmpty()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.bulkEditAssignedTargetingOptions( - arg_request, arg_advertiserId, + final response = await res.delete(arg_advertiserId, arg_lineItemId, $fields: arg_$fields); - checkBulkEditAssignedTargetingOptionsResponse( - response as api.BulkEditAssignedTargetingOptionsResponse); + checkEmpty(response as api.Empty); }); - unittest.test('method--bulkListAssignedTargetingOptions', () async { + unittest.test('method--duplicate', () async { final mock = HttpServerMock(); final res = api.DisplayVideoApi(mock).advertisers.lineItems; + final arg_request = buildDuplicateLineItemRequest(); final arg_advertiserId = 'foo'; - final arg_filter = 'foo'; - final arg_lineItemIds = buildUnnamed168(); - final arg_orderBy = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; + final arg_lineItemId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.DuplicateLineItemRequest.fromJson( + json as core.Map); + checkDuplicateLineItemRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -18675,26 +17560,6 @@ void main() { ); } } - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - queryMap['lineItemIds']!, - unittest.equals(arg_lineItemIds), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -18703,32 +17568,25 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json - .encode(buildBulkListAssignedTargetingOptionsResponse()); + final resp = convert.json.encode(buildDuplicateLineItemResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.bulkListAssignedTargetingOptions( - arg_advertiserId, - filter: arg_filter, - lineItemIds: arg_lineItemIds, - orderBy: arg_orderBy, - pageSize: arg_pageSize, - pageToken: arg_pageToken, + final response = await res.duplicate( + arg_request, arg_advertiserId, arg_lineItemId, $fields: arg_$fields); - checkBulkListAssignedTargetingOptionsResponse( - response as api.BulkListAssignedTargetingOptionsResponse); + checkDuplicateLineItemResponse(response as api.DuplicateLineItemResponse); }); - unittest.test('method--bulkUpdate', () async { + unittest.test('method--generateDefault', () async { final mock = HttpServerMock(); final res = api.DisplayVideoApi(mock).advertisers.lineItems; - final arg_request = buildBulkUpdateLineItemsRequest(); + final arg_request = buildGenerateDefaultLineItemRequest(); final arg_advertiserId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.BulkUpdateLineItemsRequest.fromJson( + final obj = api.GenerateDefaultLineItemRequest.fromJson( json as core.Map); - checkBulkUpdateLineItemsRequest(obj); + checkGenerateDefaultLineItemRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -18769,26 +17627,21 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildBulkUpdateLineItemsResponse()); + final resp = convert.json.encode(buildLineItem()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.bulkUpdate(arg_request, arg_advertiserId, + final response = await res.generateDefault(arg_request, arg_advertiserId, $fields: arg_$fields); - checkBulkUpdateLineItemsResponse( - response as api.BulkUpdateLineItemsResponse); + checkLineItem(response as api.LineItem); }); - unittest.test('method--create', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); final res = api.DisplayVideoApi(mock).advertisers.lineItems; - final arg_request = buildLineItem(); final arg_advertiserId = 'foo'; + final arg_lineItemId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.LineItem.fromJson(json as core.Map); - checkLineItem(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -18832,15 +17685,18 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); final response = - await res.create(arg_request, arg_advertiserId, $fields: arg_$fields); + await res.get(arg_advertiserId, arg_lineItemId, $fields: arg_$fields); checkLineItem(response as api.LineItem); }); - unittest.test('method--delete', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.DisplayVideoApi(mock).advertisers.lineItems; final arg_advertiserId = 'foo'; - final arg_lineItemId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -18874,6 +17730,22 @@ void main() { ); } } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -18882,25 +17754,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildEmpty()); + final resp = convert.json.encode(buildListLineItemsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_advertiserId, arg_lineItemId, + final response = await res.list(arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, $fields: arg_$fields); - checkEmpty(response as api.Empty); + checkListLineItemsResponse(response as api.ListLineItemsResponse); }); - unittest.test('method--duplicate', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); final res = api.DisplayVideoApi(mock).advertisers.lineItems; - final arg_request = buildDuplicateLineItemRequest(); + final arg_request = buildLineItem(); final arg_advertiserId = 'foo'; final arg_lineItemId = 'foo'; + final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.DuplicateLineItemRequest.fromJson( - json as core.Map); - checkDuplicateLineItemRequest(obj); + final obj = + api.LineItem.fromJson(json as core.Map); + checkLineItem(obj); final path = req.url.path; var pathOffset = 0; @@ -18933,6 +17810,10 @@ void main() { ); } } + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -18941,25 +17822,35 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildDuplicateLineItemResponse()); + final resp = convert.json.encode(buildLineItem()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.duplicate( + final response = await res.patch( arg_request, arg_advertiserId, arg_lineItemId, - $fields: arg_$fields); - checkDuplicateLineItemResponse(response as api.DuplicateLineItemResponse); + updateMask: arg_updateMask, $fields: arg_$fields); + checkLineItem(response as api.LineItem); }); + }); - unittest.test('method--generateDefault', () async { + unittest.group( + 'resource-AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsResource', + () { + unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.lineItems; - final arg_request = buildGenerateDefaultLineItemRequest(); + final res = api.DisplayVideoApi(mock) + .advertisers + .lineItems + .targetingTypes + .assignedTargetingOptions; + final arg_request = buildAssignedTargetingOption(); final arg_advertiserId = 'foo'; + final arg_lineItemId = 'foo'; + final arg_targetingType = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GenerateDefaultLineItemRequest.fromJson( + final obj = api.AssignedTargetingOption.fromJson( json as core.Map); - checkGenerateDefaultLineItemRequest(obj); + checkAssignedTargetingOption(obj); final path = req.url.path; var pathOffset = 0; @@ -19000,19 +17891,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildLineItem()); + final resp = convert.json.encode(buildAssignedTargetingOption()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.generateDefault(arg_request, arg_advertiserId, + final response = await res.create( + arg_request, arg_advertiserId, arg_lineItemId, arg_targetingType, $fields: arg_$fields); - checkLineItem(response as api.LineItem); + checkAssignedTargetingOption(response as api.AssignedTargetingOption); }); - unittest.test('method--get', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.lineItems; + final res = api.DisplayVideoApi(mock) + .advertisers + .lineItems + .targetingTypes + .assignedTargetingOptions; final arg_advertiserId = 'foo'; final arg_lineItemId = 'foo'; + final arg_targetingType = 'foo'; + final arg_assignedTargetingOptionId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -19054,22 +17952,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildLineItem()); + final resp = convert.json.encode(buildEmpty()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.get(arg_advertiserId, arg_lineItemId, $fields: arg_$fields); - checkLineItem(response as api.LineItem); + final response = await res.delete(arg_advertiserId, arg_lineItemId, + arg_targetingType, arg_assignedTargetingOptionId, + $fields: arg_$fields); + checkEmpty(response as api.Empty); }); - unittest.test('method--list', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.lineItems; + final res = api.DisplayVideoApi(mock) + .advertisers + .lineItems + .targetingTypes + .assignedTargetingOptions; final arg_advertiserId = 'foo'; - final arg_filter = 'foo'; - final arg_orderBy = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; + final arg_lineItemId = 'foo'; + final arg_targetingType = 'foo'; + final arg_assignedTargetingOptionId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -19103,22 +18005,6 @@ void main() { ); } } - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -19127,288 +18013,29 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildListLineItemsResponse()); + final resp = convert.json.encode(buildAssignedTargetingOption()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_advertiserId, - filter: arg_filter, - orderBy: arg_orderBy, - pageSize: arg_pageSize, - pageToken: arg_pageToken, + final response = await res.get(arg_advertiserId, arg_lineItemId, + arg_targetingType, arg_assignedTargetingOptionId, $fields: arg_$fields); - checkListLineItemsResponse(response as api.ListLineItemsResponse); + checkAssignedTargetingOption(response as api.AssignedTargetingOption); }); - unittest.test('method--patch', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.lineItems; - final arg_request = buildLineItem(); + final res = api.DisplayVideoApi(mock) + .advertisers + .lineItems + .targetingTypes + .assignedTargetingOptions; final arg_advertiserId = 'foo'; final arg_lineItemId = 'foo'; - final arg_updateMask = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = - api.LineItem.fromJson(json as core.Map); - checkLineItem(obj); - - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('v2/advertisers/'), - ); - pathOffset += 15; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['updateMask']!.first, - unittest.equals(arg_updateMask), - ); - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildLineItem()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.patch( - arg_request, arg_advertiserId, arg_lineItemId, - updateMask: arg_updateMask, $fields: arg_$fields); - checkLineItem(response as api.LineItem); - }); - }); - - unittest.group( - 'resource-AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsResource', - () { - unittest.test('method--create', () async { - final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock) - .advertisers - .lineItems - .targetingTypes - .assignedTargetingOptions; - final arg_request = buildAssignedTargetingOption(); - final arg_advertiserId = 'foo'; - final arg_lineItemId = 'foo'; - final arg_targetingType = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.AssignedTargetingOption.fromJson( - json as core.Map); - checkAssignedTargetingOption(obj); - - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('v2/advertisers/'), - ); - pathOffset += 15; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildAssignedTargetingOption()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.create( - arg_request, arg_advertiserId, arg_lineItemId, arg_targetingType, - $fields: arg_$fields); - checkAssignedTargetingOption(response as api.AssignedTargetingOption); - }); - - unittest.test('method--delete', () async { - final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock) - .advertisers - .lineItems - .targetingTypes - .assignedTargetingOptions; - final arg_advertiserId = 'foo'; - final arg_lineItemId = 'foo'; - final arg_targetingType = 'foo'; - final arg_assignedTargetingOptionId = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('v2/advertisers/'), - ); - pathOffset += 15; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildEmpty()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.delete(arg_advertiserId, arg_lineItemId, - arg_targetingType, arg_assignedTargetingOptionId, - $fields: arg_$fields); - checkEmpty(response as api.Empty); - }); - - unittest.test('method--get', () async { - final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock) - .advertisers - .lineItems - .targetingTypes - .assignedTargetingOptions; - final arg_advertiserId = 'foo'; - final arg_lineItemId = 'foo'; - final arg_targetingType = 'foo'; - final arg_assignedTargetingOptionId = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('v2/advertisers/'), - ); - pathOffset += 15; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildAssignedTargetingOption()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.get(arg_advertiserId, arg_lineItemId, - arg_targetingType, arg_assignedTargetingOptionId, - $fields: arg_$fields); - checkAssignedTargetingOption(response as api.AssignedTargetingOption); - }); - - unittest.test('method--list', () async { - final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock) - .advertisers - .lineItems - .targetingTypes - .assignedTargetingOptions; - final arg_advertiserId = 'foo'; - final arg_lineItemId = 'foo'; - final arg_targetingType = 'foo'; - final arg_filter = 'foo'; - final arg_orderBy = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; + final arg_targetingType = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -20021,341 +18648,29 @@ void main() { subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_advertiserId'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('/locationLists/'), - ); - pathOffset += 15; - index = path.indexOf('/assignedLocations', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_locationListId'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 18), - unittest.equals('/assignedLocations'), - ); - pathOffset += 18; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildListAssignedLocationsResponse()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.list(arg_advertiserId, arg_locationListId, - filter: arg_filter, - orderBy: arg_orderBy, - pageSize: arg_pageSize, - pageToken: arg_pageToken, - $fields: arg_$fields); - checkListAssignedLocationsResponse( - response as api.ListAssignedLocationsResponse); - }); - }); - - unittest.group('resource-AdvertisersManualTriggersResource', () { - unittest.test('method--activate', () async { - final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.manualTriggers; - final arg_request = buildActivateManualTriggerRequest(); - final arg_advertiserId = 'foo'; - final arg_triggerId = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.ActivateManualTriggerRequest.fromJson( - json as core.Map); - checkActivateManualTriggerRequest(obj); - - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('v2/advertisers/'), - ); - pathOffset += 15; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildManualTrigger()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.activate( - arg_request, arg_advertiserId, arg_triggerId, - $fields: arg_$fields); - checkManualTrigger(response as api.ManualTrigger); - }); - - unittest.test('method--create', () async { - final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.manualTriggers; - final arg_request = buildManualTrigger(); - final arg_advertiserId = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.ManualTrigger.fromJson( - json as core.Map); - checkManualTrigger(obj); - - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('v2/advertisers/'), - ); - pathOffset += 15; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildManualTrigger()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = - await res.create(arg_request, arg_advertiserId, $fields: arg_$fields); - checkManualTrigger(response as api.ManualTrigger); - }); - - unittest.test('method--deactivate', () async { - final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.manualTriggers; - final arg_request = buildDeactivateManualTriggerRequest(); - final arg_advertiserId = 'foo'; - final arg_triggerId = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.DeactivateManualTriggerRequest.fromJson( - json as core.Map); - checkDeactivateManualTriggerRequest(obj); - - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('v2/advertisers/'), - ); - pathOffset += 15; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildManualTrigger()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.deactivate( - arg_request, arg_advertiserId, arg_triggerId, - $fields: arg_$fields); - checkManualTrigger(response as api.ManualTrigger); - }); - - unittest.test('method--get', () async { - final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.manualTriggers; - final arg_advertiserId = 'foo'; - final arg_triggerId = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('v2/advertisers/'), - ); - pathOffset += 15; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildManualTrigger()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = - await res.get(arg_advertiserId, arg_triggerId, $fields: arg_$fields); - checkManualTrigger(response as api.ManualTrigger); - }); - - unittest.test('method--list', () async { - final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.manualTriggers; - final arg_advertiserId = 'foo'; - final arg_filter = 'foo'; - final arg_orderBy = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), + unittest.expect( + subPart, + unittest.equals('$arg_advertiserId'), ); - pathOffset += 1; unittest.expect( path.substring(pathOffset, pathOffset + 15), - unittest.equals('v2/advertisers/'), + unittest.equals('/locationLists/'), ); pathOffset += 15; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + index = path.indexOf('/assignedLocations', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_locationListId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/assignedLocations'), + ); + pathOffset += 18; final query = req.url.query; var queryOffset = 0; @@ -20396,31 +18711,32 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildListManualTriggersResponse()); + final resp = convert.json.encode(buildListAssignedLocationsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_advertiserId, + final response = await res.list(arg_advertiserId, arg_locationListId, filter: arg_filter, orderBy: arg_orderBy, pageSize: arg_pageSize, pageToken: arg_pageToken, $fields: arg_$fields); - checkListManualTriggersResponse( - response as api.ListManualTriggersResponse); + checkListAssignedLocationsResponse( + response as api.ListAssignedLocationsResponse); }); + }); - unittest.test('method--patch', () async { + unittest.group('resource-AdvertisersManualTriggersResource', () { + unittest.test('method--activate', () async { final mock = HttpServerMock(); final res = api.DisplayVideoApi(mock).advertisers.manualTriggers; - final arg_request = buildManualTrigger(); + final arg_request = buildActivateManualTriggerRequest(); final arg_advertiserId = 'foo'; final arg_triggerId = 'foo'; - final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.ManualTrigger.fromJson( + final obj = api.ActivateManualTriggerRequest.fromJson( json as core.Map); - checkManualTrigger(obj); + checkActivateManualTriggerRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -20453,10 +18769,6 @@ void main() { ); } } - unittest.expect( - queryMap['updateMask']!.first, - unittest.equals(arg_updateMask), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -20468,24 +18780,22 @@ void main() { final resp = convert.json.encode(buildManualTrigger()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch( + final response = await res.activate( arg_request, arg_advertiserId, arg_triggerId, - updateMask: arg_updateMask, $fields: arg_$fields); + $fields: arg_$fields); checkManualTrigger(response as api.ManualTrigger); }); - }); - unittest.group('resource-AdvertisersNegativeKeywordListsResource', () { unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.negativeKeywordLists; - final arg_request = buildNegativeKeywordList(); + final res = api.DisplayVideoApi(mock).advertisers.manualTriggers; + final arg_request = buildManualTrigger(); final arg_advertiserId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.NegativeKeywordList.fromJson( + final obj = api.ManualTrigger.fromJson( json as core.Map); - checkNegativeKeywordList(obj); + checkManualTrigger(obj); final path = req.url.path; var pathOffset = 0; @@ -20526,21 +18836,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildNegativeKeywordList()); + final resp = convert.json.encode(buildManualTrigger()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.create(arg_request, arg_advertiserId, $fields: arg_$fields); - checkNegativeKeywordList(response as api.NegativeKeywordList); + checkManualTrigger(response as api.ManualTrigger); }); - unittest.test('method--delete', () async { + unittest.test('method--deactivate', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.negativeKeywordLists; + final res = api.DisplayVideoApi(mock).advertisers.manualTriggers; + final arg_request = buildDeactivateManualTriggerRequest(); final arg_advertiserId = 'foo'; - final arg_negativeKeywordListId = 'foo'; + final arg_triggerId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.DeactivateManualTriggerRequest.fromJson( + json as core.Map); + checkDeactivateManualTriggerRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -20580,20 +18895,20 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildEmpty()); + final resp = convert.json.encode(buildManualTrigger()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete( - arg_advertiserId, arg_negativeKeywordListId, + final response = await res.deactivate( + arg_request, arg_advertiserId, arg_triggerId, $fields: arg_$fields); - checkEmpty(response as api.Empty); + checkManualTrigger(response as api.ManualTrigger); }); unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.negativeKeywordLists; + final res = api.DisplayVideoApi(mock).advertisers.manualTriggers; final arg_advertiserId = 'foo'; - final arg_negativeKeywordListId = 'foo'; + final arg_triggerId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -20635,19 +18950,20 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildNegativeKeywordList()); + final resp = convert.json.encode(buildManualTrigger()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get( - arg_advertiserId, arg_negativeKeywordListId, - $fields: arg_$fields); - checkNegativeKeywordList(response as api.NegativeKeywordList); + final response = + await res.get(arg_advertiserId, arg_triggerId, $fields: arg_$fields); + checkManualTrigger(response as api.ManualTrigger); }); unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.negativeKeywordLists; + final res = api.DisplayVideoApi(mock).advertisers.manualTriggers; final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; final arg_$fields = 'foo'; @@ -20683,6 +18999,14 @@ void main() { ); } } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); unittest.expect( core.int.parse(queryMap['pageSize']!.first), unittest.equals(arg_pageSize), @@ -20699,30 +19023,31 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildListNegativeKeywordListsResponse()); + final resp = convert.json.encode(buildListManualTriggersResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.list(arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, pageSize: arg_pageSize, pageToken: arg_pageToken, $fields: arg_$fields); - checkListNegativeKeywordListsResponse( - response as api.ListNegativeKeywordListsResponse); + checkListManualTriggersResponse( + response as api.ListManualTriggersResponse); }); unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.negativeKeywordLists; - final arg_request = buildNegativeKeywordList(); + final res = api.DisplayVideoApi(mock).advertisers.manualTriggers; + final arg_request = buildManualTrigger(); final arg_advertiserId = 'foo'; - final arg_negativeKeywordListId = 'foo'; + final arg_triggerId = 'foo'; final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.NegativeKeywordList.fromJson( + final obj = api.ManualTrigger.fromJson( json as core.Map); - checkNegativeKeywordList(obj); + checkManualTrigger(obj); final path = req.url.path; var pathOffset = 0; @@ -20767,32 +19092,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildNegativeKeywordList()); + final resp = convert.json.encode(buildManualTrigger()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.patch( - arg_request, arg_advertiserId, arg_negativeKeywordListId, + arg_request, arg_advertiserId, arg_triggerId, updateMask: arg_updateMask, $fields: arg_$fields); - checkNegativeKeywordList(response as api.NegativeKeywordList); + checkManualTrigger(response as api.ManualTrigger); }); }); - unittest.group( - 'resource-AdvertisersNegativeKeywordListsNegativeKeywordsResource', () { - unittest.test('method--bulkEdit', () async { + unittest.group('resource-AdvertisersNegativeKeywordListsResource', () { + unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock) - .advertisers - .negativeKeywordLists - .negativeKeywords; - final arg_request = buildBulkEditNegativeKeywordsRequest(); + final res = api.DisplayVideoApi(mock).advertisers.negativeKeywordLists; + final arg_request = buildNegativeKeywordList(); final arg_advertiserId = 'foo'; - final arg_negativeKeywordListId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.BulkEditNegativeKeywordsRequest.fromJson( + final obj = api.NegativeKeywordList.fromJson( json as core.Map); - checkBulkEditNegativeKeywordsRequest(obj); + checkNegativeKeywordList(obj); final path = req.url.path; var pathOffset = 0; @@ -20808,20 +19128,6 @@ void main() { unittest.equals('v2/advertisers/'), ); pathOffset += 15; - index = path.indexOf('/negativeKeywordLists/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_advertiserId'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 22), - unittest.equals('/negativeKeywordLists/'), - ); - pathOffset += 22; // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; final query = req.url.query; @@ -20847,32 +19153,21 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildBulkEditNegativeKeywordsResponse()); + final resp = convert.json.encode(buildNegativeKeywordList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.bulkEdit( - arg_request, arg_advertiserId, arg_negativeKeywordListId, - $fields: arg_$fields); - checkBulkEditNegativeKeywordsResponse( - response as api.BulkEditNegativeKeywordsResponse); + final response = + await res.create(arg_request, arg_advertiserId, $fields: arg_$fields); + checkNegativeKeywordList(response as api.NegativeKeywordList); }); - unittest.test('method--create', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock) - .advertisers - .negativeKeywordLists - .negativeKeywords; - final arg_request = buildNegativeKeyword(); + final res = api.DisplayVideoApi(mock).advertisers.negativeKeywordLists; final arg_advertiserId = 'foo'; final arg_negativeKeywordListId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.NegativeKeyword.fromJson( - json as core.Map); - checkNegativeKeyword(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -20887,20 +19182,6 @@ void main() { unittest.equals('v2/advertisers/'), ); pathOffset += 15; - index = path.indexOf('/negativeKeywordLists/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_advertiserId'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 22), - unittest.equals('/negativeKeywordLists/'), - ); - pathOffset += 22; // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; final query = req.url.query; @@ -20926,24 +19207,20 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildNegativeKeyword()); + final resp = convert.json.encode(buildEmpty()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.create( - arg_request, arg_advertiserId, arg_negativeKeywordListId, + final response = await res.delete( + arg_advertiserId, arg_negativeKeywordListId, $fields: arg_$fields); - checkNegativeKeyword(response as api.NegativeKeyword); + checkEmpty(response as api.Empty); }); - unittest.test('method--delete', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock) - .advertisers - .negativeKeywordLists - .negativeKeywords; + final res = api.DisplayVideoApi(mock).advertisers.negativeKeywordLists; final arg_advertiserId = 'foo'; final arg_negativeKeywordListId = 'foo'; - final arg_keywordValue = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -20960,20 +19237,6 @@ void main() { unittest.equals('v2/advertisers/'), ); pathOffset += 15; - index = path.indexOf('/negativeKeywordLists/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_advertiserId'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 22), - unittest.equals('/negativeKeywordLists/'), - ); - pathOffset += 22; // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; final query = req.url.query; @@ -20999,25 +19262,19 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildEmpty()); + final resp = convert.json.encode(buildNegativeKeywordList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete( - arg_advertiserId, arg_negativeKeywordListId, arg_keywordValue, + final response = await res.get( + arg_advertiserId, arg_negativeKeywordListId, $fields: arg_$fields); - checkEmpty(response as api.Empty); + checkNegativeKeywordList(response as api.NegativeKeywordList); }); unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock) - .advertisers - .negativeKeywordLists - .negativeKeywords; + final res = api.DisplayVideoApi(mock).advertisers.negativeKeywordLists; final arg_advertiserId = 'foo'; - final arg_negativeKeywordListId = 'foo'; - final arg_filter = 'foo'; - final arg_orderBy = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; final arg_$fields = 'foo'; @@ -21050,17 +19307,9 @@ void main() { addQueryParam( core.Uri.decodeQueryComponent(keyValue[0]), core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); + ); + } + } unittest.expect( core.int.parse(queryMap['pageSize']!.first), unittest.equals(arg_pageSize), @@ -21077,34 +19326,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildListNegativeKeywordsResponse()); + final resp = + convert.json.encode(buildListNegativeKeywordListsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list( - arg_advertiserId, arg_negativeKeywordListId, - filter: arg_filter, - orderBy: arg_orderBy, + final response = await res.list(arg_advertiserId, pageSize: arg_pageSize, pageToken: arg_pageToken, $fields: arg_$fields); - checkListNegativeKeywordsResponse( - response as api.ListNegativeKeywordsResponse); + checkListNegativeKeywordListsResponse( + response as api.ListNegativeKeywordListsResponse); }); - unittest.test('method--replace', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock) - .advertisers - .negativeKeywordLists - .negativeKeywords; - final arg_request = buildReplaceNegativeKeywordsRequest(); + final res = api.DisplayVideoApi(mock).advertisers.negativeKeywordLists; + final arg_request = buildNegativeKeywordList(); final arg_advertiserId = 'foo'; final arg_negativeKeywordListId = 'foo'; + final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.ReplaceNegativeKeywordsRequest.fromJson( + final obj = api.NegativeKeywordList.fromJson( json as core.Map); - checkReplaceNegativeKeywordsRequest(obj); + checkNegativeKeywordList(obj); final path = req.url.path; var pathOffset = 0; @@ -21120,20 +19365,6 @@ void main() { unittest.equals('v2/advertisers/'), ); pathOffset += 15; - index = path.indexOf('/negativeKeywordLists/', pathOffset); - unittest.expect(index >= 0, unittest.isTrue); - subPart = - core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); - pathOffset = index; - unittest.expect( - subPart, - unittest.equals('$arg_advertiserId'), - ); - unittest.expect( - path.substring(pathOffset, pathOffset + 22), - unittest.equals('/negativeKeywordLists/'), - ); - pathOffset += 22; // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; final query = req.url.query; @@ -21151,6 +19382,10 @@ void main() { ); } } + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -21159,34 +19394,32 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildReplaceNegativeKeywordsResponse()); + final resp = convert.json.encode(buildNegativeKeywordList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.replace( + final response = await res.patch( arg_request, arg_advertiserId, arg_negativeKeywordListId, - $fields: arg_$fields); - checkReplaceNegativeKeywordsResponse( - response as api.ReplaceNegativeKeywordsResponse); + updateMask: arg_updateMask, $fields: arg_$fields); + checkNegativeKeywordList(response as api.NegativeKeywordList); }); }); unittest.group( - 'resource-AdvertisersTargetingTypesAssignedTargetingOptionsResource', () { - unittest.test('method--create', () async { + 'resource-AdvertisersNegativeKeywordListsNegativeKeywordsResource', () { + unittest.test('method--bulkEdit', () async { final mock = HttpServerMock(); final res = api.DisplayVideoApi(mock) .advertisers - .targetingTypes - .assignedTargetingOptions; - final arg_request = buildAssignedTargetingOption(); + .negativeKeywordLists + .negativeKeywords; + final arg_request = buildBulkEditNegativeKeywordsRequest(); final arg_advertiserId = 'foo'; - final arg_targetingType = 'foo'; + final arg_negativeKeywordListId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.AssignedTargetingOption.fromJson( + final obj = api.BulkEditNegativeKeywordsRequest.fromJson( json as core.Map); - checkAssignedTargetingOption(obj); + checkBulkEditNegativeKeywordsRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -21202,6 +19435,20 @@ void main() { unittest.equals('v2/advertisers/'), ); pathOffset += 15; + index = path.indexOf('/negativeKeywordLists/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_advertiserId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 22), + unittest.equals('/negativeKeywordLists/'), + ); + pathOffset += 22; // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; final query = req.url.query; @@ -21227,26 +19474,32 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildAssignedTargetingOption()); + final resp = + convert.json.encode(buildBulkEditNegativeKeywordsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.create( - arg_request, arg_advertiserId, arg_targetingType, + final response = await res.bulkEdit( + arg_request, arg_advertiserId, arg_negativeKeywordListId, $fields: arg_$fields); - checkAssignedTargetingOption(response as api.AssignedTargetingOption); + checkBulkEditNegativeKeywordsResponse( + response as api.BulkEditNegativeKeywordsResponse); }); - unittest.test('method--delete', () async { + unittest.test('method--create', () async { final mock = HttpServerMock(); final res = api.DisplayVideoApi(mock) .advertisers - .targetingTypes - .assignedTargetingOptions; + .negativeKeywordLists + .negativeKeywords; + final arg_request = buildNegativeKeyword(); final arg_advertiserId = 'foo'; - final arg_targetingType = 'foo'; - final arg_assignedTargetingOptionId = 'foo'; + final arg_negativeKeywordListId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.NegativeKeyword.fromJson( + json as core.Map); + checkNegativeKeyword(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -21261,6 +19514,20 @@ void main() { unittest.equals('v2/advertisers/'), ); pathOffset += 15; + index = path.indexOf('/negativeKeywordLists/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_advertiserId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 22), + unittest.equals('/negativeKeywordLists/'), + ); + pathOffset += 22; // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; final query = req.url.query; @@ -21286,24 +19553,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildEmpty()); + final resp = convert.json.encode(buildNegativeKeyword()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete( - arg_advertiserId, arg_targetingType, arg_assignedTargetingOptionId, + final response = await res.create( + arg_request, arg_advertiserId, arg_negativeKeywordListId, $fields: arg_$fields); - checkEmpty(response as api.Empty); + checkNegativeKeyword(response as api.NegativeKeyword); }); - unittest.test('method--get', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); final res = api.DisplayVideoApi(mock) .advertisers - .targetingTypes - .assignedTargetingOptions; + .negativeKeywordLists + .negativeKeywords; final arg_advertiserId = 'foo'; - final arg_targetingType = 'foo'; - final arg_assignedTargetingOptionId = 'foo'; + final arg_negativeKeywordListId = 'foo'; + final arg_keywordValue = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -21320,6 +19587,20 @@ void main() { unittest.equals('v2/advertisers/'), ); pathOffset += 15; + index = path.indexOf('/negativeKeywordLists/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_advertiserId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 22), + unittest.equals('/negativeKeywordLists/'), + ); + pathOffset += 22; // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; final query = req.url.query; @@ -21345,23 +19626,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildAssignedTargetingOption()); + final resp = convert.json.encode(buildEmpty()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get( - arg_advertiserId, arg_targetingType, arg_assignedTargetingOptionId, + final response = await res.delete( + arg_advertiserId, arg_negativeKeywordListId, arg_keywordValue, $fields: arg_$fields); - checkAssignedTargetingOption(response as api.AssignedTargetingOption); + checkEmpty(response as api.Empty); }); unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.DisplayVideoApi(mock) .advertisers - .targetingTypes - .assignedTargetingOptions; + .negativeKeywordLists + .negativeKeywords; final arg_advertiserId = 'foo'; - final arg_targetingType = 'foo'; + final arg_negativeKeywordListId = 'foo'; final arg_filter = 'foo'; final arg_orderBy = 'foo'; final arg_pageSize = 42; @@ -21423,29 +19704,35 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json - .encode(buildListAdvertiserAssignedTargetingOptionsResponse()); + final resp = convert.json.encode(buildListNegativeKeywordsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_advertiserId, arg_targetingType, + final response = await res.list( + arg_advertiserId, arg_negativeKeywordListId, filter: arg_filter, orderBy: arg_orderBy, pageSize: arg_pageSize, pageToken: arg_pageToken, $fields: arg_$fields); - checkListAdvertiserAssignedTargetingOptionsResponse( - response as api.ListAdvertiserAssignedTargetingOptionsResponse); + checkListNegativeKeywordsResponse( + response as api.ListNegativeKeywordsResponse); }); - }); - unittest.group('resource-AdvertisersYoutubeAdGroupAdsResource', () { - unittest.test('method--get', () async { + unittest.test('method--replace', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.youtubeAdGroupAds; + final res = api.DisplayVideoApi(mock) + .advertisers + .negativeKeywordLists + .negativeKeywords; + final arg_request = buildReplaceNegativeKeywordsRequest(); final arg_advertiserId = 'foo'; - final arg_youtubeAdGroupAdId = 'foo'; + final arg_negativeKeywordListId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.ReplaceNegativeKeywordsRequest.fromJson( + json as core.Map); + checkReplaceNegativeKeywordsRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -21460,6 +19747,20 @@ void main() { unittest.equals('v2/advertisers/'), ); pathOffset += 15; + index = path.indexOf('/negativeKeywordLists/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_advertiserId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 22), + unittest.equals('/negativeKeywordLists/'), + ); + pathOffset += 22; // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; final query = req.url.query; @@ -21485,24 +19786,35 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildYoutubeAdGroupAd()); + final resp = + convert.json.encode(buildReplaceNegativeKeywordsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_advertiserId, arg_youtubeAdGroupAdId, + final response = await res.replace( + arg_request, arg_advertiserId, arg_negativeKeywordListId, $fields: arg_$fields); - checkYoutubeAdGroupAd(response as api.YoutubeAdGroupAd); + checkReplaceNegativeKeywordsResponse( + response as api.ReplaceNegativeKeywordsResponse); }); + }); - unittest.test('method--list', () async { + unittest.group( + 'resource-AdvertisersTargetingTypesAssignedTargetingOptionsResource', () { + unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.youtubeAdGroupAds; + final res = api.DisplayVideoApi(mock) + .advertisers + .targetingTypes + .assignedTargetingOptions; + final arg_request = buildAssignedTargetingOption(); final arg_advertiserId = 'foo'; - final arg_filter = 'foo'; - final arg_orderBy = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; + final arg_targetingType = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.AssignedTargetingOption.fromJson( + json as core.Map); + checkAssignedTargetingOption(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -21534,22 +19846,6 @@ void main() { ); } } - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -21558,30 +19854,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildListYoutubeAdGroupAdsResponse()); + final resp = convert.json.encode(buildAssignedTargetingOption()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_advertiserId, - filter: arg_filter, - orderBy: arg_orderBy, - pageSize: arg_pageSize, - pageToken: arg_pageToken, + final response = await res.create( + arg_request, arg_advertiserId, arg_targetingType, $fields: arg_$fields); - checkListYoutubeAdGroupAdsResponse( - response as api.ListYoutubeAdGroupAdsResponse); + checkAssignedTargetingOption(response as api.AssignedTargetingOption); }); - }); - unittest.group('resource-AdvertisersYoutubeAdGroupsResource', () { - unittest.test('method--bulkListAdGroupAssignedTargetingOptions', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.youtubeAdGroups; + final res = api.DisplayVideoApi(mock) + .advertisers + .targetingTypes + .assignedTargetingOptions; final arg_advertiserId = 'foo'; - final arg_filter = 'foo'; - final arg_orderBy = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; - final arg_youtubeAdGroupIds = buildUnnamed169(); + final arg_targetingType = 'foo'; + final arg_assignedTargetingOptionId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -21615,26 +19905,6 @@ void main() { ); } } - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['youtubeAdGroupIds']!, - unittest.equals(arg_youtubeAdGroupIds), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -21643,27 +19913,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json - .encode(buildBulkListAdGroupAssignedTargetingOptionsResponse()); + final resp = convert.json.encode(buildEmpty()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.bulkListAdGroupAssignedTargetingOptions( - arg_advertiserId, - filter: arg_filter, - orderBy: arg_orderBy, - pageSize: arg_pageSize, - pageToken: arg_pageToken, - youtubeAdGroupIds: arg_youtubeAdGroupIds, + final response = await res.delete( + arg_advertiserId, arg_targetingType, arg_assignedTargetingOptionId, $fields: arg_$fields); - checkBulkListAdGroupAssignedTargetingOptionsResponse( - response as api.BulkListAdGroupAssignedTargetingOptionsResponse); + checkEmpty(response as api.Empty); }); unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.youtubeAdGroups; + final res = api.DisplayVideoApi(mock) + .advertisers + .targetingTypes + .assignedTargetingOptions; final arg_advertiserId = 'foo'; - final arg_youtubeAdGroupId = 'foo'; + final arg_targetingType = 'foo'; + final arg_assignedTargetingOptionId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -21705,18 +19972,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildYoutubeAdGroup()); + final resp = convert.json.encode(buildAssignedTargetingOption()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_advertiserId, arg_youtubeAdGroupId, + final response = await res.get( + arg_advertiserId, arg_targetingType, arg_assignedTargetingOptionId, $fields: arg_$fields); - checkYoutubeAdGroup(response as api.YoutubeAdGroup); + checkAssignedTargetingOption(response as api.AssignedTargetingOption); }); unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).advertisers.youtubeAdGroups; + final res = api.DisplayVideoApi(mock) + .advertisers + .targetingTypes + .assignedTargetingOptions; final arg_advertiserId = 'foo'; + final arg_targetingType = 'foo'; final arg_filter = 'foo'; final arg_orderBy = 'foo'; final arg_pageSize = 42; @@ -21778,34 +20050,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildListYoutubeAdGroupsResponse()); + final resp = convert.json + .encode(buildListAdvertiserAssignedTargetingOptionsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_advertiserId, + final response = await res.list(arg_advertiserId, arg_targetingType, filter: arg_filter, orderBy: arg_orderBy, pageSize: arg_pageSize, pageToken: arg_pageToken, $fields: arg_$fields); - checkListYoutubeAdGroupsResponse( - response as api.ListYoutubeAdGroupsResponse); + checkListAdvertiserAssignedTargetingOptionsResponse( + response as api.ListAdvertiserAssignedTargetingOptionsResponse); }); }); - unittest.group( - 'resource-AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsResource', - () { + unittest.group('resource-AdvertisersYoutubeAdGroupAdsResource', () { unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock) - .advertisers - .youtubeAdGroups - .targetingTypes - .assignedTargetingOptions; + final res = api.DisplayVideoApi(mock).advertisers.youtubeAdGroupAds; final arg_advertiserId = 'foo'; - final arg_youtubeAdGroupId = 'foo'; - final arg_targetingType = 'foo'; - final arg_assignedTargetingOptionId = 'foo'; + final arg_youtubeAdGroupAdId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -21847,25 +20112,18 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildAssignedTargetingOption()); + final resp = convert.json.encode(buildYoutubeAdGroupAd()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_advertiserId, arg_youtubeAdGroupId, - arg_targetingType, arg_assignedTargetingOptionId, + final response = await res.get(arg_advertiserId, arg_youtubeAdGroupAdId, $fields: arg_$fields); - checkAssignedTargetingOption(response as api.AssignedTargetingOption); + checkYoutubeAdGroupAd(response as api.YoutubeAdGroupAd); }); unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock) - .advertisers - .youtubeAdGroups - .targetingTypes - .assignedTargetingOptions; + final res = api.DisplayVideoApi(mock).advertisers.youtubeAdGroupAds; final arg_advertiserId = 'foo'; - final arg_youtubeAdGroupId = 'foo'; - final arg_targetingType = 'foo'; final arg_filter = 'foo'; final arg_orderBy = 'foo'; final arg_pageSize = 42; @@ -21927,29 +20185,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json - .encode(buildListYoutubeAdGroupAssignedTargetingOptionsResponse()); + final resp = convert.json.encode(buildListYoutubeAdGroupAdsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list( - arg_advertiserId, arg_youtubeAdGroupId, arg_targetingType, + final response = await res.list(arg_advertiserId, filter: arg_filter, orderBy: arg_orderBy, pageSize: arg_pageSize, pageToken: arg_pageToken, $fields: arg_$fields); - checkListYoutubeAdGroupAssignedTargetingOptionsResponse( - response as api.ListYoutubeAdGroupAssignedTargetingOptionsResponse); + checkListYoutubeAdGroupAdsResponse( + response as api.ListYoutubeAdGroupAdsResponse); }); }); - unittest.group('resource-CombinedAudiencesResource', () { - unittest.test('method--get', () async { + unittest.group('resource-AdvertisersYoutubeAdGroupsResource', () { + unittest.test('method--bulkListAdGroupAssignedTargetingOptions', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).combinedAudiences; - final arg_combinedAudienceId = 'foo'; + final res = api.DisplayVideoApi(mock).advertisers.youtubeAdGroups; final arg_advertiserId = 'foo'; - final arg_partnerId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_youtubeAdGroupIds = buildUnnamed157(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -21962,10 +20221,10 @@ void main() { ); pathOffset += 1; unittest.expect( - path.substring(pathOffset, pathOffset + 21), - unittest.equals('v2/combinedAudiences/'), + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v2/advertisers/'), ); - pathOffset += 21; + pathOffset += 15; // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; final query = req.url.query; @@ -21984,12 +20243,24 @@ void main() { } } unittest.expect( - queryMap['advertiserId']!.first, - unittest.equals(arg_advertiserId), + queryMap['filter']!.first, + unittest.equals(arg_filter), ); unittest.expect( - queryMap['partnerId']!.first, - unittest.equals(arg_partnerId), + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['youtubeAdGroupIds']!, + unittest.equals(arg_youtubeAdGroupIds), ); unittest.expect( queryMap['fields']!.first, @@ -21999,25 +20270,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildCombinedAudience()); + final resp = convert.json + .encode(buildBulkListAdGroupAssignedTargetingOptionsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_combinedAudienceId, - advertiserId: arg_advertiserId, - partnerId: arg_partnerId, + final response = await res.bulkListAdGroupAssignedTargetingOptions( + arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + youtubeAdGroupIds: arg_youtubeAdGroupIds, $fields: arg_$fields); - checkCombinedAudience(response as api.CombinedAudience); + checkBulkListAdGroupAssignedTargetingOptionsResponse( + response as api.BulkListAdGroupAssignedTargetingOptionsResponse); }); - unittest.test('method--list', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).combinedAudiences; + final res = api.DisplayVideoApi(mock).advertisers.youtubeAdGroups; final arg_advertiserId = 'foo'; - final arg_filter = 'foo'; - final arg_orderBy = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; - final arg_partnerId = 'foo'; + final arg_youtubeAdGroupId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -22030,10 +20303,11 @@ void main() { ); pathOffset += 1; unittest.expect( - path.substring(pathOffset, pathOffset + 20), - unittest.equals('v2/combinedAudiences'), + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v2/advertisers/'), ); - pathOffset += 20; + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; final query = req.url.query; var queryOffset = 0; @@ -22050,30 +20324,6 @@ void main() { ); } } - unittest.expect( - queryMap['advertiserId']!.first, - unittest.equals(arg_advertiserId), - ); - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['partnerId']!.first, - unittest.equals(arg_partnerId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -22082,33 +20332,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildListCombinedAudiencesResponse()); + final resp = convert.json.encode(buildYoutubeAdGroup()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list( - advertiserId: arg_advertiserId, - filter: arg_filter, - orderBy: arg_orderBy, - pageSize: arg_pageSize, - pageToken: arg_pageToken, - partnerId: arg_partnerId, + final response = await res.get(arg_advertiserId, arg_youtubeAdGroupId, $fields: arg_$fields); - checkListCombinedAudiencesResponse( - response as api.ListCombinedAudiencesResponse); + checkYoutubeAdGroup(response as api.YoutubeAdGroup); }); - }); - unittest.group('resource-CustomBiddingAlgorithmsResource', () { - unittest.test('method--create', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).customBiddingAlgorithms; - final arg_request = buildCustomBiddingAlgorithm(); - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.CustomBiddingAlgorithm.fromJson( - json as core.Map); - checkCustomBiddingAlgorithm(obj); - + final res = api.DisplayVideoApi(mock).advertisers.youtubeAdGroups; + final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; var pathOffset = 0; core.int index; @@ -22119,10 +20360,11 @@ void main() { ); pathOffset += 1; unittest.expect( - path.substring(pathOffset, pathOffset + 26), - unittest.equals('v2/customBiddingAlgorithms'), + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v2/advertisers/'), ); - pathOffset += 26; + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; final query = req.url.query; var queryOffset = 0; @@ -22139,6 +20381,22 @@ void main() { ); } } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -22147,19 +20405,34 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildCustomBiddingAlgorithm()); + final resp = convert.json.encode(buildListYoutubeAdGroupsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.create(arg_request, $fields: arg_$fields); - checkCustomBiddingAlgorithm(response as api.CustomBiddingAlgorithm); + final response = await res.list(arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListYoutubeAdGroupsResponse( + response as api.ListYoutubeAdGroupsResponse); }); + }); + unittest.group( + 'resource-AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsResource', + () { unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).customBiddingAlgorithms; - final arg_customBiddingAlgorithmId = 'foo'; + final res = api.DisplayVideoApi(mock) + .advertisers + .youtubeAdGroups + .targetingTypes + .assignedTargetingOptions; final arg_advertiserId = 'foo'; - final arg_partnerId = 'foo'; + final arg_youtubeAdGroupId = 'foo'; + final arg_targetingType = 'foo'; + final arg_assignedTargetingOptionId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -22172,10 +20445,10 @@ void main() { ); pathOffset += 1; unittest.expect( - path.substring(pathOffset, pathOffset + 27), - unittest.equals('v2/customBiddingAlgorithms/'), + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v2/advertisers/'), ); - pathOffset += 27; + pathOffset += 15; // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; final query = req.url.query; @@ -22193,14 +20466,6 @@ void main() { ); } } - unittest.expect( - queryMap['advertiserId']!.first, - unittest.equals(arg_advertiserId), - ); - unittest.expect( - queryMap['partnerId']!.first, - unittest.equals(arg_partnerId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -22209,25 +20474,29 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildCustomBiddingAlgorithm()); + final resp = convert.json.encode(buildAssignedTargetingOption()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_customBiddingAlgorithmId, - advertiserId: arg_advertiserId, - partnerId: arg_partnerId, + final response = await res.get(arg_advertiserId, arg_youtubeAdGroupId, + arg_targetingType, arg_assignedTargetingOptionId, $fields: arg_$fields); - checkCustomBiddingAlgorithm(response as api.CustomBiddingAlgorithm); + checkAssignedTargetingOption(response as api.AssignedTargetingOption); }); unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).customBiddingAlgorithms; + final res = api.DisplayVideoApi(mock) + .advertisers + .youtubeAdGroups + .targetingTypes + .assignedTargetingOptions; final arg_advertiserId = 'foo'; + final arg_youtubeAdGroupId = 'foo'; + final arg_targetingType = 'foo'; final arg_filter = 'foo'; final arg_orderBy = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; - final arg_partnerId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -22240,10 +20509,11 @@ void main() { ); pathOffset += 1; unittest.expect( - path.substring(pathOffset, pathOffset + 26), - unittest.equals('v2/customBiddingAlgorithms'), + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v2/advertisers/'), ); - pathOffset += 26; + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; final query = req.url.query; var queryOffset = 0; @@ -22260,10 +20530,6 @@ void main() { ); } } - unittest.expect( - queryMap['advertiserId']!.first, - unittest.equals(arg_advertiserId), - ); unittest.expect( queryMap['filter']!.first, unittest.equals(arg_filter), @@ -22280,10 +20546,6 @@ void main() { queryMap['pageToken']!.first, unittest.equals(arg_pageToken), ); - unittest.expect( - queryMap['partnerId']!.first, - unittest.equals(arg_partnerId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -22292,34 +20554,31 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildListCustomBiddingAlgorithmsResponse()); + final resp = convert.json + .encode(buildListYoutubeAdGroupAssignedTargetingOptionsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.list( - advertiserId: arg_advertiserId, + arg_advertiserId, arg_youtubeAdGroupId, arg_targetingType, filter: arg_filter, orderBy: arg_orderBy, pageSize: arg_pageSize, pageToken: arg_pageToken, - partnerId: arg_partnerId, $fields: arg_$fields); - checkListCustomBiddingAlgorithmsResponse( - response as api.ListCustomBiddingAlgorithmsResponse); + checkListYoutubeAdGroupAssignedTargetingOptionsResponse( + response as api.ListYoutubeAdGroupAssignedTargetingOptionsResponse); }); + }); - unittest.test('method--patch', () async { + unittest.group('resource-CombinedAudiencesResource', () { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).customBiddingAlgorithms; - final arg_request = buildCustomBiddingAlgorithm(); - final arg_customBiddingAlgorithmId = 'foo'; - final arg_updateMask = 'foo'; + final res = api.DisplayVideoApi(mock).combinedAudiences; + final arg_combinedAudienceId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.CustomBiddingAlgorithm.fromJson( - json as core.Map); - checkCustomBiddingAlgorithm(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -22330,10 +20589,10 @@ void main() { ); pathOffset += 1; unittest.expect( - path.substring(pathOffset, pathOffset + 27), - unittest.equals('v2/customBiddingAlgorithms/'), + path.substring(pathOffset, pathOffset + 21), + unittest.equals('v2/combinedAudiences/'), ); - pathOffset += 27; + pathOffset += 21; // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; final query = req.url.query; @@ -22352,8 +20611,12 @@ void main() { } } unittest.expect( - queryMap['updateMask']!.first, - unittest.equals(arg_updateMask), + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), ); unittest.expect( queryMap['fields']!.first, @@ -22363,20 +20626,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildCustomBiddingAlgorithm()); + final resp = convert.json.encode(buildCombinedAudience()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch( - arg_request, arg_customBiddingAlgorithmId, - updateMask: arg_updateMask, $fields: arg_$fields); - checkCustomBiddingAlgorithm(response as api.CustomBiddingAlgorithm); + final response = await res.get(arg_combinedAudienceId, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkCombinedAudience(response as api.CombinedAudience); }); - unittest.test('method--uploadScript', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).customBiddingAlgorithms; - final arg_customBiddingAlgorithmId = 'foo'; + final res = api.DisplayVideoApi(mock).combinedAudiences; final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; final arg_partnerId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -22390,11 +20657,10 @@ void main() { ); pathOffset += 1; unittest.expect( - path.substring(pathOffset, pathOffset + 27), - unittest.equals('v2/customBiddingAlgorithms/'), + path.substring(pathOffset, pathOffset + 20), + unittest.equals('v2/combinedAudiences'), ); - pathOffset += 27; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + pathOffset += 20; final query = req.url.query; var queryOffset = 0; @@ -22415,6 +20681,22 @@ void main() { queryMap['advertiserId']!.first, unittest.equals(arg_advertiserId), ); + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); unittest.expect( queryMap['partnerId']!.first, unittest.equals(arg_partnerId), @@ -22427,30 +20709,32 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildCustomBiddingScriptRef()); + final resp = convert.json.encode(buildListCombinedAudiencesResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.uploadScript(arg_customBiddingAlgorithmId, + final response = await res.list( advertiserId: arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, partnerId: arg_partnerId, $fields: arg_$fields); - checkCustomBiddingScriptRef(response as api.CustomBiddingScriptRef); + checkListCombinedAudiencesResponse( + response as api.ListCombinedAudiencesResponse); }); }); - unittest.group('resource-CustomBiddingAlgorithmsScriptsResource', () { + unittest.group('resource-CustomBiddingAlgorithmsResource', () { unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).customBiddingAlgorithms.scripts; - final arg_request = buildCustomBiddingScript(); - final arg_customBiddingAlgorithmId = 'foo'; - final arg_advertiserId = 'foo'; - final arg_partnerId = 'foo'; + final res = api.DisplayVideoApi(mock).customBiddingAlgorithms; + final arg_request = buildCustomBiddingAlgorithm(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.CustomBiddingScript.fromJson( + final obj = api.CustomBiddingAlgorithm.fromJson( json as core.Map); - checkCustomBiddingScript(obj); + checkCustomBiddingAlgorithm(obj); final path = req.url.path; var pathOffset = 0; @@ -22462,11 +20746,10 @@ void main() { ); pathOffset += 1; unittest.expect( - path.substring(pathOffset, pathOffset + 27), - unittest.equals('v2/customBiddingAlgorithms/'), + path.substring(pathOffset, pathOffset + 26), + unittest.equals('v2/customBiddingAlgorithms'), ); - pathOffset += 27; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + pathOffset += 26; final query = req.url.query; var queryOffset = 0; @@ -22483,14 +20766,6 @@ void main() { ); } } - unittest.expect( - queryMap['advertiserId']!.first, - unittest.equals(arg_advertiserId), - ); - unittest.expect( - queryMap['partnerId']!.first, - unittest.equals(arg_partnerId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -22499,22 +20774,17 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildCustomBiddingScript()); + final resp = convert.json.encode(buildCustomBiddingAlgorithm()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.create( - arg_request, arg_customBiddingAlgorithmId, - advertiserId: arg_advertiserId, - partnerId: arg_partnerId, - $fields: arg_$fields); - checkCustomBiddingScript(response as api.CustomBiddingScript); + final response = await res.create(arg_request, $fields: arg_$fields); + checkCustomBiddingAlgorithm(response as api.CustomBiddingAlgorithm); }); unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).customBiddingAlgorithms.scripts; + final res = api.DisplayVideoApi(mock).customBiddingAlgorithms; final arg_customBiddingAlgorithmId = 'foo'; - final arg_customBiddingScriptId = 'foo'; final arg_advertiserId = 'foo'; final arg_partnerId = 'foo'; final arg_$fields = 'foo'; @@ -22566,22 +20836,21 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildCustomBiddingScript()); + final resp = convert.json.encode(buildCustomBiddingAlgorithm()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get( - arg_customBiddingAlgorithmId, arg_customBiddingScriptId, + final response = await res.get(arg_customBiddingAlgorithmId, advertiserId: arg_advertiserId, partnerId: arg_partnerId, $fields: arg_$fields); - checkCustomBiddingScript(response as api.CustomBiddingScript); + checkCustomBiddingAlgorithm(response as api.CustomBiddingAlgorithm); }); unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).customBiddingAlgorithms.scripts; - final arg_customBiddingAlgorithmId = 'foo'; + final res = api.DisplayVideoApi(mock).customBiddingAlgorithms; final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; final arg_orderBy = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; @@ -22598,11 +20867,10 @@ void main() { ); pathOffset += 1; unittest.expect( - path.substring(pathOffset, pathOffset + 27), - unittest.equals('v2/customBiddingAlgorithms/'), + path.substring(pathOffset, pathOffset + 26), + unittest.equals('v2/customBiddingAlgorithms'), ); - pathOffset += 27; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + pathOffset += 26; final query = req.url.query; var queryOffset = 0; @@ -22623,6 +20891,10 @@ void main() { queryMap['advertiserId']!.first, unittest.equals(arg_advertiserId), ); + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); unittest.expect( queryMap['orderBy']!.first, unittest.equals(arg_orderBy), @@ -22648,29 +20920,33 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = - convert.json.encode(buildListCustomBiddingScriptsResponse()); + convert.json.encode(buildListCustomBiddingAlgorithmsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_customBiddingAlgorithmId, + final response = await res.list( advertiserId: arg_advertiserId, + filter: arg_filter, orderBy: arg_orderBy, pageSize: arg_pageSize, pageToken: arg_pageToken, partnerId: arg_partnerId, $fields: arg_$fields); - checkListCustomBiddingScriptsResponse( - response as api.ListCustomBiddingScriptsResponse); + checkListCustomBiddingAlgorithmsResponse( + response as api.ListCustomBiddingAlgorithmsResponse); }); - }); - unittest.group('resource-CustomListsResource', () { - unittest.test('method--get', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).customLists; - final arg_customListId = 'foo'; - final arg_advertiserId = 'foo'; + final res = api.DisplayVideoApi(mock).customBiddingAlgorithms; + final arg_request = buildCustomBiddingAlgorithm(); + final arg_customBiddingAlgorithmId = 'foo'; + final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.CustomBiddingAlgorithm.fromJson( + json as core.Map); + checkCustomBiddingAlgorithm(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -22681,10 +20957,10 @@ void main() { ); pathOffset += 1; unittest.expect( - path.substring(pathOffset, pathOffset + 15), - unittest.equals('v2/customLists/'), + path.substring(pathOffset, pathOffset + 27), + unittest.equals('v2/customBiddingAlgorithms/'), ); - pathOffset += 15; + pathOffset += 27; // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; final query = req.url.query; @@ -22703,8 +20979,8 @@ void main() { } } unittest.expect( - queryMap['advertiserId']!.first, - unittest.equals(arg_advertiserId), + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), ); unittest.expect( queryMap['fields']!.first, @@ -22714,22 +20990,21 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildCustomList()); + final resp = convert.json.encode(buildCustomBiddingAlgorithm()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_customListId, - advertiserId: arg_advertiserId, $fields: arg_$fields); - checkCustomList(response as api.CustomList); + final response = await res.patch( + arg_request, arg_customBiddingAlgorithmId, + updateMask: arg_updateMask, $fields: arg_$fields); + checkCustomBiddingAlgorithm(response as api.CustomBiddingAlgorithm); }); - unittest.test('method--list', () async { + unittest.test('method--uploadScript', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).customLists; + final res = api.DisplayVideoApi(mock).customBiddingAlgorithms; + final arg_customBiddingAlgorithmId = 'foo'; final arg_advertiserId = 'foo'; - final arg_filter = 'foo'; - final arg_orderBy = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; + final arg_partnerId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -22742,10 +21017,11 @@ void main() { ); pathOffset += 1; unittest.expect( - path.substring(pathOffset, pathOffset + 14), - unittest.equals('v2/customLists'), + path.substring(pathOffset, pathOffset + 27), + unittest.equals('v2/customBiddingAlgorithms/'), ); - pathOffset += 14; + pathOffset += 27; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; final query = req.url.query; var queryOffset = 0; @@ -22767,20 +21043,8 @@ void main() { unittest.equals(arg_advertiserId), ); unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), ); unittest.expect( queryMap['fields']!.first, @@ -22790,31 +21054,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildListCustomListsResponse()); + final resp = convert.json.encode(buildCustomBiddingScriptRef()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list( + final response = await res.uploadScript(arg_customBiddingAlgorithmId, advertiserId: arg_advertiserId, - filter: arg_filter, - orderBy: arg_orderBy, - pageSize: arg_pageSize, - pageToken: arg_pageToken, + partnerId: arg_partnerId, $fields: arg_$fields); - checkListCustomListsResponse(response as api.ListCustomListsResponse); + checkCustomBiddingScriptRef(response as api.CustomBiddingScriptRef); }); }); - unittest.group('resource-FirstAndThirdPartyAudiencesResource', () { + unittest.group('resource-CustomBiddingAlgorithmsScriptsResource', () { unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).firstAndThirdPartyAudiences; - final arg_request = buildFirstAndThirdPartyAudience(); + final res = api.DisplayVideoApi(mock).customBiddingAlgorithms.scripts; + final arg_request = buildCustomBiddingScript(); + final arg_customBiddingAlgorithmId = 'foo'; final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.FirstAndThirdPartyAudience.fromJson( + final obj = api.CustomBiddingScript.fromJson( json as core.Map); - checkFirstAndThirdPartyAudience(obj); + checkCustomBiddingScript(obj); final path = req.url.path; var pathOffset = 0; @@ -22826,10 +21089,11 @@ void main() { ); pathOffset += 1; unittest.expect( - path.substring(pathOffset, pathOffset + 30), - unittest.equals('v2/firstAndThirdPartyAudiences'), + path.substring(pathOffset, pathOffset + 27), + unittest.equals('v2/customBiddingAlgorithms/'), ); - pathOffset += 30; + pathOffset += 27; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; final query = req.url.query; var queryOffset = 0; @@ -22850,6 +21114,10 @@ void main() { queryMap['advertiserId']!.first, unittest.equals(arg_advertiserId), ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -22858,26 +21126,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildFirstAndThirdPartyAudience()); + final resp = convert.json.encode(buildCustomBiddingScript()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.create(arg_request, - advertiserId: arg_advertiserId, $fields: arg_$fields); - checkFirstAndThirdPartyAudience( - response as api.FirstAndThirdPartyAudience); + final response = await res.create( + arg_request, arg_customBiddingAlgorithmId, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkCustomBiddingScript(response as api.CustomBiddingScript); }); - unittest.test('method--editCustomerMatchMembers', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).firstAndThirdPartyAudiences; - final arg_request = buildEditCustomerMatchMembersRequest(); - final arg_firstAndThirdPartyAudienceId = 'foo'; + final res = api.DisplayVideoApi(mock).customBiddingAlgorithms.scripts; + final arg_customBiddingAlgorithmId = 'foo'; + final arg_customBiddingScriptId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.EditCustomerMatchMembersRequest.fromJson( - json as core.Map); - checkEditCustomerMatchMembersRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -22888,10 +21156,10 @@ void main() { ); pathOffset += 1; unittest.expect( - path.substring(pathOffset, pathOffset + 31), - unittest.equals('v2/firstAndThirdPartyAudiences/'), + path.substring(pathOffset, pathOffset + 27), + unittest.equals('v2/customBiddingAlgorithms/'), ); - pathOffset += 31; + pathOffset += 27; // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; final query = req.url.query; @@ -22909,6 +21177,14 @@ void main() { ); } } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -22917,22 +21193,25 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildEditCustomerMatchMembersResponse()); + final resp = convert.json.encode(buildCustomBiddingScript()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.editCustomerMatchMembers( - arg_request, arg_firstAndThirdPartyAudienceId, + final response = await res.get( + arg_customBiddingAlgorithmId, arg_customBiddingScriptId, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, $fields: arg_$fields); - checkEditCustomerMatchMembersResponse( - response as api.EditCustomerMatchMembersResponse); + checkCustomBiddingScript(response as api.CustomBiddingScript); }); - unittest.test('method--get', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).firstAndThirdPartyAudiences; - final arg_firstAndThirdPartyAudienceId = 'foo'; + final res = api.DisplayVideoApi(mock).customBiddingAlgorithms.scripts; + final arg_customBiddingAlgorithmId = 'foo'; final arg_advertiserId = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; final arg_partnerId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -22946,10 +21225,10 @@ void main() { ); pathOffset += 1; unittest.expect( - path.substring(pathOffset, pathOffset + 31), - unittest.equals('v2/firstAndThirdPartyAudiences/'), + path.substring(pathOffset, pathOffset + 27), + unittest.equals('v2/customBiddingAlgorithms/'), ); - pathOffset += 31; + pathOffset += 27; // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; final query = req.url.query; @@ -22971,6 +21250,18 @@ void main() { queryMap['advertiserId']!.first, unittest.equals(arg_advertiserId), ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); unittest.expect( queryMap['partnerId']!.first, unittest.equals(arg_partnerId), @@ -22983,26 +21274,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildFirstAndThirdPartyAudience()); + final resp = + convert.json.encode(buildListCustomBiddingScriptsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_firstAndThirdPartyAudienceId, + final response = await res.list(arg_customBiddingAlgorithmId, advertiserId: arg_advertiserId, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, partnerId: arg_partnerId, $fields: arg_$fields); - checkFirstAndThirdPartyAudience( - response as api.FirstAndThirdPartyAudience); + checkListCustomBiddingScriptsResponse( + response as api.ListCustomBiddingScriptsResponse); }); + }); - unittest.test('method--list', () async { + unittest.group('resource-CustomListsResource', () { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).firstAndThirdPartyAudiences; + final res = api.DisplayVideoApi(mock).customLists; + final arg_customListId = 'foo'; final arg_advertiserId = 'foo'; - final arg_filter = 'foo'; - final arg_orderBy = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; - final arg_partnerId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -23015,10 +21308,11 @@ void main() { ); pathOffset += 1; unittest.expect( - path.substring(pathOffset, pathOffset + 30), - unittest.equals('v2/firstAndThirdPartyAudiences'), + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v2/customLists/'), ); - pathOffset += 30; + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; final query = req.url.query; var queryOffset = 0; @@ -23039,26 +21333,6 @@ void main() { queryMap['advertiserId']!.first, unittest.equals(arg_advertiserId), ); - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['partnerId']!.first, - unittest.equals(arg_partnerId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -23067,35 +21341,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildListFirstAndThirdPartyAudiencesResponse()); + final resp = convert.json.encode(buildCustomList()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list( - advertiserId: arg_advertiserId, - filter: arg_filter, - orderBy: arg_orderBy, - pageSize: arg_pageSize, - pageToken: arg_pageToken, - partnerId: arg_partnerId, - $fields: arg_$fields); - checkListFirstAndThirdPartyAudiencesResponse( - response as api.ListFirstAndThirdPartyAudiencesResponse); + final response = await res.get(arg_customListId, + advertiserId: arg_advertiserId, $fields: arg_$fields); + checkCustomList(response as api.CustomList); }); - unittest.test('method--patch', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.DisplayVideoApi(mock).firstAndThirdPartyAudiences; - final arg_request = buildFirstAndThirdPartyAudience(); - final arg_firstAndThirdPartyAudienceId = 'foo'; + final res = api.DisplayVideoApi(mock).customLists; final arg_advertiserId = 'foo'; - final arg_updateMask = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.FirstAndThirdPartyAudience.fromJson( - json as core.Map); - checkFirstAndThirdPartyAudience(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -23106,11 +21369,10 @@ void main() { ); pathOffset += 1; unittest.expect( - path.substring(pathOffset, pathOffset + 31), - unittest.equals('v2/firstAndThirdPartyAudiences/'), + path.substring(pathOffset, pathOffset + 14), + unittest.equals('v2/customLists'), ); - pathOffset += 31; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + pathOffset += 14; final query = req.url.query; var queryOffset = 0; @@ -23132,8 +21394,20 @@ void main() { unittest.equals(arg_advertiserId), ); unittest.expect( - queryMap['updateMask']!.first, - unittest.equals(arg_updateMask), + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), ); unittest.expect( queryMap['fields']!.first, @@ -23143,16 +21417,17 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildFirstAndThirdPartyAudience()); + final resp = convert.json.encode(buildListCustomListsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch( - arg_request, arg_firstAndThirdPartyAudienceId, + final response = await res.list( advertiserId: arg_advertiserId, - updateMask: arg_updateMask, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, $fields: arg_$fields); - checkFirstAndThirdPartyAudience( - response as api.FirstAndThirdPartyAudience); + checkListCustomListsResponse(response as api.ListCustomListsResponse); }); }); diff --git a/generated/googleapis/test/displayvideo/v3_test.dart b/generated/googleapis/test/displayvideo/v3_test.dart index 0db92540a..cb211885c 100644 --- a/generated/googleapis/test/displayvideo/v3_test.dart +++ b/generated/googleapis/test/displayvideo/v3_test.dart @@ -6874,6 +6874,23 @@ void checkUnnamed93(core.List o) { ); } +core.List buildUnnamed94() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed94(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + core.int buildCounterIntegralAdScience = 0; api.IntegralAdScience buildIntegralAdScience() { final o = api.IntegralAdScience(); @@ -6891,6 +6908,7 @@ api.IntegralAdScience buildIntegralAdScience() { o.excludedIllegalDownloadsRisk = 'foo'; o.excludedOffensiveLanguageRisk = 'foo'; o.excludedViolenceRisk = 'foo'; + o.qualitySyncCustomSegmentId = buildUnnamed94(); o.traqScoreOption = 'foo'; o.videoViewability = 'foo'; } @@ -6943,6 +6961,7 @@ void checkIntegralAdScience(api.IntegralAdScience o) { o.excludedViolenceRisk!, unittest.equals('foo'), ); + checkUnnamed94(o.qualitySyncCustomSegmentId!); unittest.expect( o.traqScoreOption!, unittest.equals('foo'), @@ -6982,23 +7001,23 @@ void checkIntegrationDetails(api.IntegrationDetails o) { buildCounterIntegrationDetails--; } -core.List buildUnnamed94() => [ +core.List buildUnnamed95() => [ buildCreativeConfig(), buildCreativeConfig(), ]; -void checkUnnamed94(core.List o) { +void checkUnnamed95(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCreativeConfig(o[0]); checkCreativeConfig(o[1]); } -core.List buildUnnamed95() => [ +core.List buildUnnamed96() => [ 'foo', 'foo', ]; -void checkUnnamed95(core.List o) { +void checkUnnamed96(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7010,12 +7029,12 @@ void checkUnnamed95(core.List o) { ); } -core.List buildUnnamed96() => [ +core.List buildUnnamed97() => [ 'foo', 'foo', ]; -void checkUnnamed96(core.List o) { +void checkUnnamed97(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7033,7 +7052,7 @@ api.InventorySource buildInventorySource() { buildCounterInventorySource++; if (buildCounterInventorySource < 3) { o.commitment = 'foo'; - o.creativeConfigs = buildUnnamed94(); + o.creativeConfigs = buildUnnamed95(); o.dealId = 'foo'; o.deliveryMethod = 'foo'; o.displayName = 'foo'; @@ -7045,8 +7064,8 @@ api.InventorySource buildInventorySource() { o.name = 'foo'; o.publisherName = 'foo'; o.rateDetails = buildRateDetails(); - o.readAdvertiserIds = buildUnnamed95(); - o.readPartnerIds = buildUnnamed96(); + o.readAdvertiserIds = buildUnnamed96(); + o.readPartnerIds = buildUnnamed97(); o.readWriteAccessors = buildInventorySourceAccessors(); o.status = buildInventorySourceStatus(); o.timeRange = buildTimeRange(); @@ -7063,7 +7082,7 @@ void checkInventorySource(api.InventorySource o) { o.commitment!, unittest.equals('foo'), ); - checkUnnamed94(o.creativeConfigs!); + checkUnnamed95(o.creativeConfigs!); unittest.expect( o.dealId!, unittest.equals('foo'), @@ -7105,8 +7124,8 @@ void checkInventorySource(api.InventorySource o) { unittest.equals('foo'), ); checkRateDetails(o.rateDetails!); - checkUnnamed95(o.readAdvertiserIds!); - checkUnnamed96(o.readPartnerIds!); + checkUnnamed96(o.readAdvertiserIds!); + checkUnnamed97(o.readPartnerIds!); checkInventorySourceAccessors(o.readWriteAccessors!); checkInventorySourceStatus(o.status!); checkTimeRange(o.timeRange!); @@ -7139,12 +7158,12 @@ void checkInventorySourceAccessors(api.InventorySourceAccessors o) { buildCounterInventorySourceAccessors--; } -core.List buildUnnamed97() => [ +core.List buildUnnamed98() => [ 'foo', 'foo', ]; -void checkUnnamed97(core.List o) { +void checkUnnamed98(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7162,7 +7181,7 @@ api.InventorySourceAccessorsAdvertiserAccessors final o = api.InventorySourceAccessorsAdvertiserAccessors(); buildCounterInventorySourceAccessorsAdvertiserAccessors++; if (buildCounterInventorySourceAccessorsAdvertiserAccessors < 3) { - o.advertiserIds = buildUnnamed97(); + o.advertiserIds = buildUnnamed98(); } buildCounterInventorySourceAccessorsAdvertiserAccessors--; return o; @@ -7172,7 +7191,7 @@ void checkInventorySourceAccessorsAdvertiserAccessors( api.InventorySourceAccessorsAdvertiserAccessors o) { buildCounterInventorySourceAccessorsAdvertiserAccessors++; if (buildCounterInventorySourceAccessorsAdvertiserAccessors < 3) { - checkUnnamed97(o.advertiserIds!); + checkUnnamed98(o.advertiserIds!); } buildCounterInventorySourceAccessorsAdvertiserAccessors--; } @@ -7246,12 +7265,12 @@ void checkInventorySourceDisplayCreativeConfig( buildCounterInventorySourceDisplayCreativeConfig--; } -core.List buildUnnamed98() => [ +core.List buildUnnamed99() => [ 'foo', 'foo', ]; -void checkUnnamed98(core.List o) { +void checkUnnamed99(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7268,7 +7287,7 @@ api.InventorySourceFilter buildInventorySourceFilter() { final o = api.InventorySourceFilter(); buildCounterInventorySourceFilter++; if (buildCounterInventorySourceFilter < 3) { - o.inventorySourceIds = buildUnnamed98(); + o.inventorySourceIds = buildUnnamed99(); } buildCounterInventorySourceFilter--; return o; @@ -7277,7 +7296,7 @@ api.InventorySourceFilter buildInventorySourceFilter() { void checkInventorySourceFilter(api.InventorySourceFilter o) { buildCounterInventorySourceFilter++; if (buildCounterInventorySourceFilter < 3) { - checkUnnamed98(o.inventorySourceIds!); + checkUnnamed99(o.inventorySourceIds!); } buildCounterInventorySourceFilter--; } @@ -7404,23 +7423,23 @@ void checkInventorySourceVideoCreativeConfig( buildCounterInventorySourceVideoCreativeConfig--; } -core.List buildUnnamed99() => [ +core.List buildUnnamed100() => [ buildBudgetSummary(), buildBudgetSummary(), ]; -void checkUnnamed99(core.List o) { +void checkUnnamed100(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBudgetSummary(o[0]); checkBudgetSummary(o[1]); } -core.List buildUnnamed100() => [ +core.List buildUnnamed101() => [ 'foo', 'foo', ]; -void checkUnnamed100(core.List o) { +void checkUnnamed101(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7438,7 +7457,7 @@ api.Invoice buildInvoice() { buildCounterInvoice++; if (buildCounterInvoice < 3) { o.budgetInvoiceGroupingId = 'foo'; - o.budgetSummaries = buildUnnamed99(); + o.budgetSummaries = buildUnnamed100(); o.correctedInvoiceId = 'foo'; o.currencyCode = 'foo'; o.displayName = 'foo'; @@ -7452,7 +7471,7 @@ api.Invoice buildInvoice() { o.paymentsProfileId = 'foo'; o.pdfUrl = 'foo'; o.purchaseOrderNumber = 'foo'; - o.replacedInvoiceIds = buildUnnamed100(); + o.replacedInvoiceIds = buildUnnamed101(); o.serviceDateRange = buildDateRange(); o.subtotalAmountMicros = 'foo'; o.totalAmountMicros = 'foo'; @@ -7469,7 +7488,7 @@ void checkInvoice(api.Invoice o) { o.budgetInvoiceGroupingId!, unittest.equals('foo'), ); - checkUnnamed99(o.budgetSummaries!); + checkUnnamed100(o.budgetSummaries!); unittest.expect( o.correctedInvoiceId!, unittest.equals('foo'), @@ -7516,7 +7535,7 @@ void checkInvoice(api.Invoice o) { o.purchaseOrderNumber!, unittest.equals('foo'), ); - checkUnnamed100(o.replacedInvoiceIds!); + checkUnnamed101(o.replacedInvoiceIds!); checkDateRange(o.serviceDateRange!); unittest.expect( o.subtotalAmountMicros!, @@ -7655,12 +7674,12 @@ void checkLanguageTargetingOptionDetails(api.LanguageTargetingOptionDetails o) { buildCounterLanguageTargetingOptionDetails--; } -core.List buildUnnamed101() => [ +core.List buildUnnamed102() => [ 'foo', 'foo', ]; -void checkUnnamed101(core.List o) { +void checkUnnamed102(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7672,23 +7691,23 @@ void checkUnnamed101(core.List o) { ); } -core.List buildUnnamed102() => [ +core.List buildUnnamed103() => [ buildPartnerCost(), buildPartnerCost(), ]; -void checkUnnamed102(core.List o) { +void checkUnnamed103(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPartnerCost(o[0]); checkPartnerCost(o[1]); } -core.List buildUnnamed103() => [ +core.List buildUnnamed104() => [ 'foo', 'foo', ]; -void checkUnnamed103(core.List o) { +void checkUnnamed104(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7710,7 +7729,7 @@ api.LineItem buildLineItem() { o.budget = buildLineItemBudget(); o.campaignId = 'foo'; o.conversionCounting = buildConversionCountingConfig(); - o.creativeIds = buildUnnamed101(); + o.creativeIds = buildUnnamed102(); o.displayName = 'foo'; o.entityStatus = 'foo'; o.excludeNewExchanges = true; @@ -7723,12 +7742,12 @@ api.LineItem buildLineItem() { o.mobileApp = buildMobileApp(); o.name = 'foo'; o.pacing = buildPacing(); - o.partnerCosts = buildUnnamed102(); + o.partnerCosts = buildUnnamed103(); o.partnerRevenueModel = buildPartnerRevenueModel(); o.reservationType = 'foo'; o.targetingExpansion = buildTargetingExpansionConfig(); o.updateTime = 'foo'; - o.warningMessages = buildUnnamed103(); + o.warningMessages = buildUnnamed104(); o.youtubeAndPartnersSettings = buildYoutubeAndPartnersSettings(); } buildCounterLineItem--; @@ -7749,7 +7768,7 @@ void checkLineItem(api.LineItem o) { unittest.equals('foo'), ); checkConversionCountingConfig(o.conversionCounting!); - checkUnnamed101(o.creativeIds!); + checkUnnamed102(o.creativeIds!); unittest.expect( o.displayName!, unittest.equals('foo'), @@ -7780,7 +7799,7 @@ void checkLineItem(api.LineItem o) { unittest.equals('foo'), ); checkPacing(o.pacing!); - checkUnnamed102(o.partnerCosts!); + checkUnnamed103(o.partnerCosts!); checkPartnerRevenueModel(o.partnerRevenueModel!); unittest.expect( o.reservationType!, @@ -7791,7 +7810,7 @@ void checkLineItem(api.LineItem o) { o.updateTime!, unittest.equals('foo'), ); - checkUnnamed103(o.warningMessages!); + checkUnnamed104(o.warningMessages!); checkYoutubeAndPartnersSettings(o.youtubeAndPartnersSettings!); } buildCounterLineItem--; @@ -7878,12 +7897,12 @@ void checkLineItemFlight(api.LineItemFlight o) { buildCounterLineItemFlight--; } -core.List buildUnnamed104() => [ +core.List buildUnnamed105() => [ buildAdGroupAd(), buildAdGroupAd(), ]; -void checkUnnamed104(core.List o) { +void checkUnnamed105(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAdGroupAd(o[0]); checkAdGroupAd(o[1]); @@ -7894,7 +7913,7 @@ api.ListAdGroupAdsResponse buildListAdGroupAdsResponse() { final o = api.ListAdGroupAdsResponse(); buildCounterListAdGroupAdsResponse++; if (buildCounterListAdGroupAdsResponse < 3) { - o.adGroupAds = buildUnnamed104(); + o.adGroupAds = buildUnnamed105(); o.nextPageToken = 'foo'; } buildCounterListAdGroupAdsResponse--; @@ -7904,7 +7923,7 @@ api.ListAdGroupAdsResponse buildListAdGroupAdsResponse() { void checkListAdGroupAdsResponse(api.ListAdGroupAdsResponse o) { buildCounterListAdGroupAdsResponse++; if (buildCounterListAdGroupAdsResponse < 3) { - checkUnnamed104(o.adGroupAds!); + checkUnnamed105(o.adGroupAds!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7913,12 +7932,12 @@ void checkListAdGroupAdsResponse(api.ListAdGroupAdsResponse o) { buildCounterListAdGroupAdsResponse--; } -core.List buildUnnamed105() => [ +core.List buildUnnamed106() => [ buildAssignedTargetingOption(), buildAssignedTargetingOption(), ]; -void checkUnnamed105(core.List o) { +void checkUnnamed106(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedTargetingOption(o[0]); checkAssignedTargetingOption(o[1]); @@ -7930,7 +7949,7 @@ api.ListAdGroupAssignedTargetingOptionsResponse final o = api.ListAdGroupAssignedTargetingOptionsResponse(); buildCounterListAdGroupAssignedTargetingOptionsResponse++; if (buildCounterListAdGroupAssignedTargetingOptionsResponse < 3) { - o.assignedTargetingOptions = buildUnnamed105(); + o.assignedTargetingOptions = buildUnnamed106(); o.nextPageToken = 'foo'; } buildCounterListAdGroupAssignedTargetingOptionsResponse--; @@ -7941,7 +7960,7 @@ void checkListAdGroupAssignedTargetingOptionsResponse( api.ListAdGroupAssignedTargetingOptionsResponse o) { buildCounterListAdGroupAssignedTargetingOptionsResponse++; if (buildCounterListAdGroupAssignedTargetingOptionsResponse < 3) { - checkUnnamed105(o.assignedTargetingOptions!); + checkUnnamed106(o.assignedTargetingOptions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7950,12 +7969,12 @@ void checkListAdGroupAssignedTargetingOptionsResponse( buildCounterListAdGroupAssignedTargetingOptionsResponse--; } -core.List buildUnnamed106() => [ +core.List buildUnnamed107() => [ buildAdGroup(), buildAdGroup(), ]; -void checkUnnamed106(core.List o) { +void checkUnnamed107(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAdGroup(o[0]); checkAdGroup(o[1]); @@ -7966,7 +7985,7 @@ api.ListAdGroupsResponse buildListAdGroupsResponse() { final o = api.ListAdGroupsResponse(); buildCounterListAdGroupsResponse++; if (buildCounterListAdGroupsResponse < 3) { - o.adGroups = buildUnnamed106(); + o.adGroups = buildUnnamed107(); o.nextPageToken = 'foo'; } buildCounterListAdGroupsResponse--; @@ -7976,7 +7995,7 @@ api.ListAdGroupsResponse buildListAdGroupsResponse() { void checkListAdGroupsResponse(api.ListAdGroupsResponse o) { buildCounterListAdGroupsResponse++; if (buildCounterListAdGroupsResponse < 3) { - checkUnnamed106(o.adGroups!); + checkUnnamed107(o.adGroups!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -7985,12 +8004,12 @@ void checkListAdGroupsResponse(api.ListAdGroupsResponse o) { buildCounterListAdGroupsResponse--; } -core.List buildUnnamed107() => [ +core.List buildUnnamed108() => [ buildAssignedTargetingOption(), buildAssignedTargetingOption(), ]; -void checkUnnamed107(core.List o) { +void checkUnnamed108(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedTargetingOption(o[0]); checkAssignedTargetingOption(o[1]); @@ -8002,7 +8021,7 @@ api.ListAdvertiserAssignedTargetingOptionsResponse final o = api.ListAdvertiserAssignedTargetingOptionsResponse(); buildCounterListAdvertiserAssignedTargetingOptionsResponse++; if (buildCounterListAdvertiserAssignedTargetingOptionsResponse < 3) { - o.assignedTargetingOptions = buildUnnamed107(); + o.assignedTargetingOptions = buildUnnamed108(); o.nextPageToken = 'foo'; } buildCounterListAdvertiserAssignedTargetingOptionsResponse--; @@ -8013,7 +8032,7 @@ void checkListAdvertiserAssignedTargetingOptionsResponse( api.ListAdvertiserAssignedTargetingOptionsResponse o) { buildCounterListAdvertiserAssignedTargetingOptionsResponse++; if (buildCounterListAdvertiserAssignedTargetingOptionsResponse < 3) { - checkUnnamed107(o.assignedTargetingOptions!); + checkUnnamed108(o.assignedTargetingOptions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8022,12 +8041,12 @@ void checkListAdvertiserAssignedTargetingOptionsResponse( buildCounterListAdvertiserAssignedTargetingOptionsResponse--; } -core.List buildUnnamed108() => [ +core.List buildUnnamed109() => [ buildAdvertiser(), buildAdvertiser(), ]; -void checkUnnamed108(core.List o) { +void checkUnnamed109(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAdvertiser(o[0]); checkAdvertiser(o[1]); @@ -8038,7 +8057,7 @@ api.ListAdvertisersResponse buildListAdvertisersResponse() { final o = api.ListAdvertisersResponse(); buildCounterListAdvertisersResponse++; if (buildCounterListAdvertisersResponse < 3) { - o.advertisers = buildUnnamed108(); + o.advertisers = buildUnnamed109(); o.nextPageToken = 'foo'; } buildCounterListAdvertisersResponse--; @@ -8048,7 +8067,7 @@ api.ListAdvertisersResponse buildListAdvertisersResponse() { void checkListAdvertisersResponse(api.ListAdvertisersResponse o) { buildCounterListAdvertisersResponse++; if (buildCounterListAdvertisersResponse < 3) { - checkUnnamed108(o.advertisers!); + checkUnnamed109(o.advertisers!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8057,12 +8076,12 @@ void checkListAdvertisersResponse(api.ListAdvertisersResponse o) { buildCounterListAdvertisersResponse--; } -core.List buildUnnamed109() => [ +core.List buildUnnamed110() => [ buildAssignedInventorySource(), buildAssignedInventorySource(), ]; -void checkUnnamed109(core.List o) { +void checkUnnamed110(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedInventorySource(o[0]); checkAssignedInventorySource(o[1]); @@ -8074,7 +8093,7 @@ api.ListAssignedInventorySourcesResponse final o = api.ListAssignedInventorySourcesResponse(); buildCounterListAssignedInventorySourcesResponse++; if (buildCounterListAssignedInventorySourcesResponse < 3) { - o.assignedInventorySources = buildUnnamed109(); + o.assignedInventorySources = buildUnnamed110(); o.nextPageToken = 'foo'; } buildCounterListAssignedInventorySourcesResponse--; @@ -8085,7 +8104,7 @@ void checkListAssignedInventorySourcesResponse( api.ListAssignedInventorySourcesResponse o) { buildCounterListAssignedInventorySourcesResponse++; if (buildCounterListAssignedInventorySourcesResponse < 3) { - checkUnnamed109(o.assignedInventorySources!); + checkUnnamed110(o.assignedInventorySources!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8094,12 +8113,12 @@ void checkListAssignedInventorySourcesResponse( buildCounterListAssignedInventorySourcesResponse--; } -core.List buildUnnamed110() => [ +core.List buildUnnamed111() => [ buildAssignedLocation(), buildAssignedLocation(), ]; -void checkUnnamed110(core.List o) { +void checkUnnamed111(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedLocation(o[0]); checkAssignedLocation(o[1]); @@ -8110,7 +8129,7 @@ api.ListAssignedLocationsResponse buildListAssignedLocationsResponse() { final o = api.ListAssignedLocationsResponse(); buildCounterListAssignedLocationsResponse++; if (buildCounterListAssignedLocationsResponse < 3) { - o.assignedLocations = buildUnnamed110(); + o.assignedLocations = buildUnnamed111(); o.nextPageToken = 'foo'; } buildCounterListAssignedLocationsResponse--; @@ -8120,7 +8139,7 @@ api.ListAssignedLocationsResponse buildListAssignedLocationsResponse() { void checkListAssignedLocationsResponse(api.ListAssignedLocationsResponse o) { buildCounterListAssignedLocationsResponse++; if (buildCounterListAssignedLocationsResponse < 3) { - checkUnnamed110(o.assignedLocations!); + checkUnnamed111(o.assignedLocations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8129,12 +8148,12 @@ void checkListAssignedLocationsResponse(api.ListAssignedLocationsResponse o) { buildCounterListAssignedLocationsResponse--; } -core.List buildUnnamed111() => [ +core.List buildUnnamed112() => [ buildAssignedTargetingOption(), buildAssignedTargetingOption(), ]; -void checkUnnamed111(core.List o) { +void checkUnnamed112(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedTargetingOption(o[0]); checkAssignedTargetingOption(o[1]); @@ -8146,7 +8165,7 @@ api.ListCampaignAssignedTargetingOptionsResponse final o = api.ListCampaignAssignedTargetingOptionsResponse(); buildCounterListCampaignAssignedTargetingOptionsResponse++; if (buildCounterListCampaignAssignedTargetingOptionsResponse < 3) { - o.assignedTargetingOptions = buildUnnamed111(); + o.assignedTargetingOptions = buildUnnamed112(); o.nextPageToken = 'foo'; } buildCounterListCampaignAssignedTargetingOptionsResponse--; @@ -8157,7 +8176,7 @@ void checkListCampaignAssignedTargetingOptionsResponse( api.ListCampaignAssignedTargetingOptionsResponse o) { buildCounterListCampaignAssignedTargetingOptionsResponse++; if (buildCounterListCampaignAssignedTargetingOptionsResponse < 3) { - checkUnnamed111(o.assignedTargetingOptions!); + checkUnnamed112(o.assignedTargetingOptions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8166,12 +8185,12 @@ void checkListCampaignAssignedTargetingOptionsResponse( buildCounterListCampaignAssignedTargetingOptionsResponse--; } -core.List buildUnnamed112() => [ +core.List buildUnnamed113() => [ buildCampaign(), buildCampaign(), ]; -void checkUnnamed112(core.List o) { +void checkUnnamed113(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCampaign(o[0]); checkCampaign(o[1]); @@ -8182,7 +8201,7 @@ api.ListCampaignsResponse buildListCampaignsResponse() { final o = api.ListCampaignsResponse(); buildCounterListCampaignsResponse++; if (buildCounterListCampaignsResponse < 3) { - o.campaigns = buildUnnamed112(); + o.campaigns = buildUnnamed113(); o.nextPageToken = 'foo'; } buildCounterListCampaignsResponse--; @@ -8192,7 +8211,7 @@ api.ListCampaignsResponse buildListCampaignsResponse() { void checkListCampaignsResponse(api.ListCampaignsResponse o) { buildCounterListCampaignsResponse++; if (buildCounterListCampaignsResponse < 3) { - checkUnnamed112(o.campaigns!); + checkUnnamed113(o.campaigns!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8201,12 +8220,12 @@ void checkListCampaignsResponse(api.ListCampaignsResponse o) { buildCounterListCampaignsResponse--; } -core.List buildUnnamed113() => [ +core.List buildUnnamed114() => [ buildChannel(), buildChannel(), ]; -void checkUnnamed113(core.List o) { +void checkUnnamed114(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkChannel(o[0]); checkChannel(o[1]); @@ -8217,7 +8236,7 @@ api.ListChannelsResponse buildListChannelsResponse() { final o = api.ListChannelsResponse(); buildCounterListChannelsResponse++; if (buildCounterListChannelsResponse < 3) { - o.channels = buildUnnamed113(); + o.channels = buildUnnamed114(); o.nextPageToken = 'foo'; } buildCounterListChannelsResponse--; @@ -8227,7 +8246,7 @@ api.ListChannelsResponse buildListChannelsResponse() { void checkListChannelsResponse(api.ListChannelsResponse o) { buildCounterListChannelsResponse++; if (buildCounterListChannelsResponse < 3) { - checkUnnamed113(o.channels!); + checkUnnamed114(o.channels!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8236,12 +8255,12 @@ void checkListChannelsResponse(api.ListChannelsResponse o) { buildCounterListChannelsResponse--; } -core.List buildUnnamed114() => [ +core.List buildUnnamed115() => [ buildCombinedAudience(), buildCombinedAudience(), ]; -void checkUnnamed114(core.List o) { +void checkUnnamed115(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCombinedAudience(o[0]); checkCombinedAudience(o[1]); @@ -8252,7 +8271,7 @@ api.ListCombinedAudiencesResponse buildListCombinedAudiencesResponse() { final o = api.ListCombinedAudiencesResponse(); buildCounterListCombinedAudiencesResponse++; if (buildCounterListCombinedAudiencesResponse < 3) { - o.combinedAudiences = buildUnnamed114(); + o.combinedAudiences = buildUnnamed115(); o.nextPageToken = 'foo'; } buildCounterListCombinedAudiencesResponse--; @@ -8262,7 +8281,7 @@ api.ListCombinedAudiencesResponse buildListCombinedAudiencesResponse() { void checkListCombinedAudiencesResponse(api.ListCombinedAudiencesResponse o) { buildCounterListCombinedAudiencesResponse++; if (buildCounterListCombinedAudiencesResponse < 3) { - checkUnnamed114(o.combinedAudiences!); + checkUnnamed115(o.combinedAudiences!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8271,12 +8290,12 @@ void checkListCombinedAudiencesResponse(api.ListCombinedAudiencesResponse o) { buildCounterListCombinedAudiencesResponse--; } -core.List buildUnnamed115() => [ +core.List buildUnnamed116() => [ buildCreative(), buildCreative(), ]; -void checkUnnamed115(core.List o) { +void checkUnnamed116(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCreative(o[0]); checkCreative(o[1]); @@ -8287,7 +8306,7 @@ api.ListCreativesResponse buildListCreativesResponse() { final o = api.ListCreativesResponse(); buildCounterListCreativesResponse++; if (buildCounterListCreativesResponse < 3) { - o.creatives = buildUnnamed115(); + o.creatives = buildUnnamed116(); o.nextPageToken = 'foo'; } buildCounterListCreativesResponse--; @@ -8297,7 +8316,7 @@ api.ListCreativesResponse buildListCreativesResponse() { void checkListCreativesResponse(api.ListCreativesResponse o) { buildCounterListCreativesResponse++; if (buildCounterListCreativesResponse < 3) { - checkUnnamed115(o.creatives!); + checkUnnamed116(o.creatives!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8306,12 +8325,12 @@ void checkListCreativesResponse(api.ListCreativesResponse o) { buildCounterListCreativesResponse--; } -core.List buildUnnamed116() => [ +core.List buildUnnamed117() => [ buildCustomBiddingAlgorithmRules(), buildCustomBiddingAlgorithmRules(), ]; -void checkUnnamed116(core.List o) { +void checkUnnamed117(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCustomBiddingAlgorithmRules(o[0]); checkCustomBiddingAlgorithmRules(o[1]); @@ -8323,7 +8342,7 @@ api.ListCustomBiddingAlgorithmRulesResponse final o = api.ListCustomBiddingAlgorithmRulesResponse(); buildCounterListCustomBiddingAlgorithmRulesResponse++; if (buildCounterListCustomBiddingAlgorithmRulesResponse < 3) { - o.customBiddingRules = buildUnnamed116(); + o.customBiddingRules = buildUnnamed117(); o.nextPageToken = 'foo'; } buildCounterListCustomBiddingAlgorithmRulesResponse--; @@ -8334,7 +8353,7 @@ void checkListCustomBiddingAlgorithmRulesResponse( api.ListCustomBiddingAlgorithmRulesResponse o) { buildCounterListCustomBiddingAlgorithmRulesResponse++; if (buildCounterListCustomBiddingAlgorithmRulesResponse < 3) { - checkUnnamed116(o.customBiddingRules!); + checkUnnamed117(o.customBiddingRules!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8343,12 +8362,12 @@ void checkListCustomBiddingAlgorithmRulesResponse( buildCounterListCustomBiddingAlgorithmRulesResponse--; } -core.List buildUnnamed117() => [ +core.List buildUnnamed118() => [ buildCustomBiddingAlgorithm(), buildCustomBiddingAlgorithm(), ]; -void checkUnnamed117(core.List o) { +void checkUnnamed118(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCustomBiddingAlgorithm(o[0]); checkCustomBiddingAlgorithm(o[1]); @@ -8360,7 +8379,7 @@ api.ListCustomBiddingAlgorithmsResponse final o = api.ListCustomBiddingAlgorithmsResponse(); buildCounterListCustomBiddingAlgorithmsResponse++; if (buildCounterListCustomBiddingAlgorithmsResponse < 3) { - o.customBiddingAlgorithms = buildUnnamed117(); + o.customBiddingAlgorithms = buildUnnamed118(); o.nextPageToken = 'foo'; } buildCounterListCustomBiddingAlgorithmsResponse--; @@ -8371,7 +8390,7 @@ void checkListCustomBiddingAlgorithmsResponse( api.ListCustomBiddingAlgorithmsResponse o) { buildCounterListCustomBiddingAlgorithmsResponse++; if (buildCounterListCustomBiddingAlgorithmsResponse < 3) { - checkUnnamed117(o.customBiddingAlgorithms!); + checkUnnamed118(o.customBiddingAlgorithms!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8380,12 +8399,12 @@ void checkListCustomBiddingAlgorithmsResponse( buildCounterListCustomBiddingAlgorithmsResponse--; } -core.List buildUnnamed118() => [ +core.List buildUnnamed119() => [ buildCustomBiddingScript(), buildCustomBiddingScript(), ]; -void checkUnnamed118(core.List o) { +void checkUnnamed119(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCustomBiddingScript(o[0]); checkCustomBiddingScript(o[1]); @@ -8396,7 +8415,7 @@ api.ListCustomBiddingScriptsResponse buildListCustomBiddingScriptsResponse() { final o = api.ListCustomBiddingScriptsResponse(); buildCounterListCustomBiddingScriptsResponse++; if (buildCounterListCustomBiddingScriptsResponse < 3) { - o.customBiddingScripts = buildUnnamed118(); + o.customBiddingScripts = buildUnnamed119(); o.nextPageToken = 'foo'; } buildCounterListCustomBiddingScriptsResponse--; @@ -8407,7 +8426,7 @@ void checkListCustomBiddingScriptsResponse( api.ListCustomBiddingScriptsResponse o) { buildCounterListCustomBiddingScriptsResponse++; if (buildCounterListCustomBiddingScriptsResponse < 3) { - checkUnnamed118(o.customBiddingScripts!); + checkUnnamed119(o.customBiddingScripts!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8416,12 +8435,12 @@ void checkListCustomBiddingScriptsResponse( buildCounterListCustomBiddingScriptsResponse--; } -core.List buildUnnamed119() => [ +core.List buildUnnamed120() => [ buildCustomList(), buildCustomList(), ]; -void checkUnnamed119(core.List o) { +void checkUnnamed120(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCustomList(o[0]); checkCustomList(o[1]); @@ -8432,7 +8451,7 @@ api.ListCustomListsResponse buildListCustomListsResponse() { final o = api.ListCustomListsResponse(); buildCounterListCustomListsResponse++; if (buildCounterListCustomListsResponse < 3) { - o.customLists = buildUnnamed119(); + o.customLists = buildUnnamed120(); o.nextPageToken = 'foo'; } buildCounterListCustomListsResponse--; @@ -8442,7 +8461,7 @@ api.ListCustomListsResponse buildListCustomListsResponse() { void checkListCustomListsResponse(api.ListCustomListsResponse o) { buildCounterListCustomListsResponse++; if (buildCounterListCustomListsResponse < 3) { - checkUnnamed119(o.customLists!); + checkUnnamed120(o.customLists!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8451,12 +8470,12 @@ void checkListCustomListsResponse(api.ListCustomListsResponse o) { buildCounterListCustomListsResponse--; } -core.List buildUnnamed120() => [ +core.List buildUnnamed121() => [ buildFirstAndThirdPartyAudience(), buildFirstAndThirdPartyAudience(), ]; -void checkUnnamed120(core.List o) { +void checkUnnamed121(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFirstAndThirdPartyAudience(o[0]); checkFirstAndThirdPartyAudience(o[1]); @@ -8468,7 +8487,7 @@ api.ListFirstAndThirdPartyAudiencesResponse final o = api.ListFirstAndThirdPartyAudiencesResponse(); buildCounterListFirstAndThirdPartyAudiencesResponse++; if (buildCounterListFirstAndThirdPartyAudiencesResponse < 3) { - o.firstAndThirdPartyAudiences = buildUnnamed120(); + o.firstAndThirdPartyAudiences = buildUnnamed121(); o.nextPageToken = 'foo'; } buildCounterListFirstAndThirdPartyAudiencesResponse--; @@ -8479,7 +8498,7 @@ void checkListFirstAndThirdPartyAudiencesResponse( api.ListFirstAndThirdPartyAudiencesResponse o) { buildCounterListFirstAndThirdPartyAudiencesResponse++; if (buildCounterListFirstAndThirdPartyAudiencesResponse < 3) { - checkUnnamed120(o.firstAndThirdPartyAudiences!); + checkUnnamed121(o.firstAndThirdPartyAudiences!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8488,12 +8507,12 @@ void checkListFirstAndThirdPartyAudiencesResponse( buildCounterListFirstAndThirdPartyAudiencesResponse--; } -core.List buildUnnamed121() => [ +core.List buildUnnamed122() => [ buildFloodlightActivity(), buildFloodlightActivity(), ]; -void checkUnnamed121(core.List o) { +void checkUnnamed122(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFloodlightActivity(o[0]); checkFloodlightActivity(o[1]); @@ -8504,7 +8523,7 @@ api.ListFloodlightActivitiesResponse buildListFloodlightActivitiesResponse() { final o = api.ListFloodlightActivitiesResponse(); buildCounterListFloodlightActivitiesResponse++; if (buildCounterListFloodlightActivitiesResponse < 3) { - o.floodlightActivities = buildUnnamed121(); + o.floodlightActivities = buildUnnamed122(); o.nextPageToken = 'foo'; } buildCounterListFloodlightActivitiesResponse--; @@ -8515,7 +8534,7 @@ void checkListFloodlightActivitiesResponse( api.ListFloodlightActivitiesResponse o) { buildCounterListFloodlightActivitiesResponse++; if (buildCounterListFloodlightActivitiesResponse < 3) { - checkUnnamed121(o.floodlightActivities!); + checkUnnamed122(o.floodlightActivities!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8524,12 +8543,12 @@ void checkListFloodlightActivitiesResponse( buildCounterListFloodlightActivitiesResponse--; } -core.List buildUnnamed122() => [ +core.List buildUnnamed123() => [ buildGoogleAudience(), buildGoogleAudience(), ]; -void checkUnnamed122(core.List o) { +void checkUnnamed123(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleAudience(o[0]); checkGoogleAudience(o[1]); @@ -8540,7 +8559,7 @@ api.ListGoogleAudiencesResponse buildListGoogleAudiencesResponse() { final o = api.ListGoogleAudiencesResponse(); buildCounterListGoogleAudiencesResponse++; if (buildCounterListGoogleAudiencesResponse < 3) { - o.googleAudiences = buildUnnamed122(); + o.googleAudiences = buildUnnamed123(); o.nextPageToken = 'foo'; } buildCounterListGoogleAudiencesResponse--; @@ -8550,7 +8569,7 @@ api.ListGoogleAudiencesResponse buildListGoogleAudiencesResponse() { void checkListGoogleAudiencesResponse(api.ListGoogleAudiencesResponse o) { buildCounterListGoogleAudiencesResponse++; if (buildCounterListGoogleAudiencesResponse < 3) { - checkUnnamed122(o.googleAudiences!); + checkUnnamed123(o.googleAudiences!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8559,12 +8578,12 @@ void checkListGoogleAudiencesResponse(api.ListGoogleAudiencesResponse o) { buildCounterListGoogleAudiencesResponse--; } -core.List buildUnnamed123() => [ +core.List buildUnnamed124() => [ buildGuaranteedOrder(), buildGuaranteedOrder(), ]; -void checkUnnamed123(core.List o) { +void checkUnnamed124(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGuaranteedOrder(o[0]); checkGuaranteedOrder(o[1]); @@ -8575,7 +8594,7 @@ api.ListGuaranteedOrdersResponse buildListGuaranteedOrdersResponse() { final o = api.ListGuaranteedOrdersResponse(); buildCounterListGuaranteedOrdersResponse++; if (buildCounterListGuaranteedOrdersResponse < 3) { - o.guaranteedOrders = buildUnnamed123(); + o.guaranteedOrders = buildUnnamed124(); o.nextPageToken = 'foo'; } buildCounterListGuaranteedOrdersResponse--; @@ -8585,7 +8604,7 @@ api.ListGuaranteedOrdersResponse buildListGuaranteedOrdersResponse() { void checkListGuaranteedOrdersResponse(api.ListGuaranteedOrdersResponse o) { buildCounterListGuaranteedOrdersResponse++; if (buildCounterListGuaranteedOrdersResponse < 3) { - checkUnnamed123(o.guaranteedOrders!); + checkUnnamed124(o.guaranteedOrders!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8594,12 +8613,12 @@ void checkListGuaranteedOrdersResponse(api.ListGuaranteedOrdersResponse o) { buildCounterListGuaranteedOrdersResponse--; } -core.List buildUnnamed124() => [ +core.List buildUnnamed125() => [ buildAssignedTargetingOption(), buildAssignedTargetingOption(), ]; -void checkUnnamed124(core.List o) { +void checkUnnamed125(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedTargetingOption(o[0]); checkAssignedTargetingOption(o[1]); @@ -8611,7 +8630,7 @@ api.ListInsertionOrderAssignedTargetingOptionsResponse final o = api.ListInsertionOrderAssignedTargetingOptionsResponse(); buildCounterListInsertionOrderAssignedTargetingOptionsResponse++; if (buildCounterListInsertionOrderAssignedTargetingOptionsResponse < 3) { - o.assignedTargetingOptions = buildUnnamed124(); + o.assignedTargetingOptions = buildUnnamed125(); o.nextPageToken = 'foo'; } buildCounterListInsertionOrderAssignedTargetingOptionsResponse--; @@ -8622,7 +8641,7 @@ void checkListInsertionOrderAssignedTargetingOptionsResponse( api.ListInsertionOrderAssignedTargetingOptionsResponse o) { buildCounterListInsertionOrderAssignedTargetingOptionsResponse++; if (buildCounterListInsertionOrderAssignedTargetingOptionsResponse < 3) { - checkUnnamed124(o.assignedTargetingOptions!); + checkUnnamed125(o.assignedTargetingOptions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8631,12 +8650,12 @@ void checkListInsertionOrderAssignedTargetingOptionsResponse( buildCounterListInsertionOrderAssignedTargetingOptionsResponse--; } -core.List buildUnnamed125() => [ +core.List buildUnnamed126() => [ buildInsertionOrder(), buildInsertionOrder(), ]; -void checkUnnamed125(core.List o) { +void checkUnnamed126(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInsertionOrder(o[0]); checkInsertionOrder(o[1]); @@ -8647,7 +8666,7 @@ api.ListInsertionOrdersResponse buildListInsertionOrdersResponse() { final o = api.ListInsertionOrdersResponse(); buildCounterListInsertionOrdersResponse++; if (buildCounterListInsertionOrdersResponse < 3) { - o.insertionOrders = buildUnnamed125(); + o.insertionOrders = buildUnnamed126(); o.nextPageToken = 'foo'; } buildCounterListInsertionOrdersResponse--; @@ -8657,7 +8676,7 @@ api.ListInsertionOrdersResponse buildListInsertionOrdersResponse() { void checkListInsertionOrdersResponse(api.ListInsertionOrdersResponse o) { buildCounterListInsertionOrdersResponse++; if (buildCounterListInsertionOrdersResponse < 3) { - checkUnnamed125(o.insertionOrders!); + checkUnnamed126(o.insertionOrders!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8666,12 +8685,12 @@ void checkListInsertionOrdersResponse(api.ListInsertionOrdersResponse o) { buildCounterListInsertionOrdersResponse--; } -core.List buildUnnamed126() => [ +core.List buildUnnamed127() => [ buildInventorySourceGroup(), buildInventorySourceGroup(), ]; -void checkUnnamed126(core.List o) { +void checkUnnamed127(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInventorySourceGroup(o[0]); checkInventorySourceGroup(o[1]); @@ -8682,7 +8701,7 @@ api.ListInventorySourceGroupsResponse buildListInventorySourceGroupsResponse() { final o = api.ListInventorySourceGroupsResponse(); buildCounterListInventorySourceGroupsResponse++; if (buildCounterListInventorySourceGroupsResponse < 3) { - o.inventorySourceGroups = buildUnnamed126(); + o.inventorySourceGroups = buildUnnamed127(); o.nextPageToken = 'foo'; } buildCounterListInventorySourceGroupsResponse--; @@ -8693,7 +8712,7 @@ void checkListInventorySourceGroupsResponse( api.ListInventorySourceGroupsResponse o) { buildCounterListInventorySourceGroupsResponse++; if (buildCounterListInventorySourceGroupsResponse < 3) { - checkUnnamed126(o.inventorySourceGroups!); + checkUnnamed127(o.inventorySourceGroups!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8702,12 +8721,12 @@ void checkListInventorySourceGroupsResponse( buildCounterListInventorySourceGroupsResponse--; } -core.List buildUnnamed127() => [ +core.List buildUnnamed128() => [ buildInventorySource(), buildInventorySource(), ]; -void checkUnnamed127(core.List o) { +void checkUnnamed128(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInventorySource(o[0]); checkInventorySource(o[1]); @@ -8718,7 +8737,7 @@ api.ListInventorySourcesResponse buildListInventorySourcesResponse() { final o = api.ListInventorySourcesResponse(); buildCounterListInventorySourcesResponse++; if (buildCounterListInventorySourcesResponse < 3) { - o.inventorySources = buildUnnamed127(); + o.inventorySources = buildUnnamed128(); o.nextPageToken = 'foo'; } buildCounterListInventorySourcesResponse--; @@ -8728,7 +8747,7 @@ api.ListInventorySourcesResponse buildListInventorySourcesResponse() { void checkListInventorySourcesResponse(api.ListInventorySourcesResponse o) { buildCounterListInventorySourcesResponse++; if (buildCounterListInventorySourcesResponse < 3) { - checkUnnamed127(o.inventorySources!); + checkUnnamed128(o.inventorySources!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8737,12 +8756,12 @@ void checkListInventorySourcesResponse(api.ListInventorySourcesResponse o) { buildCounterListInventorySourcesResponse--; } -core.List buildUnnamed128() => [ +core.List buildUnnamed129() => [ buildInvoice(), buildInvoice(), ]; -void checkUnnamed128(core.List o) { +void checkUnnamed129(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInvoice(o[0]); checkInvoice(o[1]); @@ -8753,7 +8772,7 @@ api.ListInvoicesResponse buildListInvoicesResponse() { final o = api.ListInvoicesResponse(); buildCounterListInvoicesResponse++; if (buildCounterListInvoicesResponse < 3) { - o.invoices = buildUnnamed128(); + o.invoices = buildUnnamed129(); o.nextPageToken = 'foo'; } buildCounterListInvoicesResponse--; @@ -8763,7 +8782,7 @@ api.ListInvoicesResponse buildListInvoicesResponse() { void checkListInvoicesResponse(api.ListInvoicesResponse o) { buildCounterListInvoicesResponse++; if (buildCounterListInvoicesResponse < 3) { - checkUnnamed128(o.invoices!); + checkUnnamed129(o.invoices!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8772,12 +8791,12 @@ void checkListInvoicesResponse(api.ListInvoicesResponse o) { buildCounterListInvoicesResponse--; } -core.List buildUnnamed129() => [ +core.List buildUnnamed130() => [ buildAssignedTargetingOption(), buildAssignedTargetingOption(), ]; -void checkUnnamed129(core.List o) { +void checkUnnamed130(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedTargetingOption(o[0]); checkAssignedTargetingOption(o[1]); @@ -8789,7 +8808,7 @@ api.ListLineItemAssignedTargetingOptionsResponse final o = api.ListLineItemAssignedTargetingOptionsResponse(); buildCounterListLineItemAssignedTargetingOptionsResponse++; if (buildCounterListLineItemAssignedTargetingOptionsResponse < 3) { - o.assignedTargetingOptions = buildUnnamed129(); + o.assignedTargetingOptions = buildUnnamed130(); o.nextPageToken = 'foo'; } buildCounterListLineItemAssignedTargetingOptionsResponse--; @@ -8800,7 +8819,7 @@ void checkListLineItemAssignedTargetingOptionsResponse( api.ListLineItemAssignedTargetingOptionsResponse o) { buildCounterListLineItemAssignedTargetingOptionsResponse++; if (buildCounterListLineItemAssignedTargetingOptionsResponse < 3) { - checkUnnamed129(o.assignedTargetingOptions!); + checkUnnamed130(o.assignedTargetingOptions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8809,12 +8828,12 @@ void checkListLineItemAssignedTargetingOptionsResponse( buildCounterListLineItemAssignedTargetingOptionsResponse--; } -core.List buildUnnamed130() => [ +core.List buildUnnamed131() => [ buildLineItem(), buildLineItem(), ]; -void checkUnnamed130(core.List o) { +void checkUnnamed131(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLineItem(o[0]); checkLineItem(o[1]); @@ -8825,7 +8844,7 @@ api.ListLineItemsResponse buildListLineItemsResponse() { final o = api.ListLineItemsResponse(); buildCounterListLineItemsResponse++; if (buildCounterListLineItemsResponse < 3) { - o.lineItems = buildUnnamed130(); + o.lineItems = buildUnnamed131(); o.nextPageToken = 'foo'; } buildCounterListLineItemsResponse--; @@ -8835,7 +8854,7 @@ api.ListLineItemsResponse buildListLineItemsResponse() { void checkListLineItemsResponse(api.ListLineItemsResponse o) { buildCounterListLineItemsResponse++; if (buildCounterListLineItemsResponse < 3) { - checkUnnamed130(o.lineItems!); + checkUnnamed131(o.lineItems!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8844,12 +8863,12 @@ void checkListLineItemsResponse(api.ListLineItemsResponse o) { buildCounterListLineItemsResponse--; } -core.List buildUnnamed131() => [ +core.List buildUnnamed132() => [ buildLocationList(), buildLocationList(), ]; -void checkUnnamed131(core.List o) { +void checkUnnamed132(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLocationList(o[0]); checkLocationList(o[1]); @@ -8860,7 +8879,7 @@ api.ListLocationListsResponse buildListLocationListsResponse() { final o = api.ListLocationListsResponse(); buildCounterListLocationListsResponse++; if (buildCounterListLocationListsResponse < 3) { - o.locationLists = buildUnnamed131(); + o.locationLists = buildUnnamed132(); o.nextPageToken = 'foo'; } buildCounterListLocationListsResponse--; @@ -8870,7 +8889,7 @@ api.ListLocationListsResponse buildListLocationListsResponse() { void checkListLocationListsResponse(api.ListLocationListsResponse o) { buildCounterListLocationListsResponse++; if (buildCounterListLocationListsResponse < 3) { - checkUnnamed131(o.locationLists!); + checkUnnamed132(o.locationLists!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8879,12 +8898,12 @@ void checkListLocationListsResponse(api.ListLocationListsResponse o) { buildCounterListLocationListsResponse--; } -core.List buildUnnamed132() => [ +core.List buildUnnamed133() => [ buildNegativeKeywordList(), buildNegativeKeywordList(), ]; -void checkUnnamed132(core.List o) { +void checkUnnamed133(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNegativeKeywordList(o[0]); checkNegativeKeywordList(o[1]); @@ -8895,7 +8914,7 @@ api.ListNegativeKeywordListsResponse buildListNegativeKeywordListsResponse() { final o = api.ListNegativeKeywordListsResponse(); buildCounterListNegativeKeywordListsResponse++; if (buildCounterListNegativeKeywordListsResponse < 3) { - o.negativeKeywordLists = buildUnnamed132(); + o.negativeKeywordLists = buildUnnamed133(); o.nextPageToken = 'foo'; } buildCounterListNegativeKeywordListsResponse--; @@ -8906,7 +8925,7 @@ void checkListNegativeKeywordListsResponse( api.ListNegativeKeywordListsResponse o) { buildCounterListNegativeKeywordListsResponse++; if (buildCounterListNegativeKeywordListsResponse < 3) { - checkUnnamed132(o.negativeKeywordLists!); + checkUnnamed133(o.negativeKeywordLists!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8915,12 +8934,12 @@ void checkListNegativeKeywordListsResponse( buildCounterListNegativeKeywordListsResponse--; } -core.List buildUnnamed133() => [ +core.List buildUnnamed134() => [ buildNegativeKeyword(), buildNegativeKeyword(), ]; -void checkUnnamed133(core.List o) { +void checkUnnamed134(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNegativeKeyword(o[0]); checkNegativeKeyword(o[1]); @@ -8931,7 +8950,7 @@ api.ListNegativeKeywordsResponse buildListNegativeKeywordsResponse() { final o = api.ListNegativeKeywordsResponse(); buildCounterListNegativeKeywordsResponse++; if (buildCounterListNegativeKeywordsResponse < 3) { - o.negativeKeywords = buildUnnamed133(); + o.negativeKeywords = buildUnnamed134(); o.nextPageToken = 'foo'; } buildCounterListNegativeKeywordsResponse--; @@ -8941,7 +8960,7 @@ api.ListNegativeKeywordsResponse buildListNegativeKeywordsResponse() { void checkListNegativeKeywordsResponse(api.ListNegativeKeywordsResponse o) { buildCounterListNegativeKeywordsResponse++; if (buildCounterListNegativeKeywordsResponse < 3) { - checkUnnamed133(o.negativeKeywords!); + checkUnnamed134(o.negativeKeywords!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8950,12 +8969,12 @@ void checkListNegativeKeywordsResponse(api.ListNegativeKeywordsResponse o) { buildCounterListNegativeKeywordsResponse--; } -core.List buildUnnamed134() => [ +core.List buildUnnamed135() => [ buildAssignedTargetingOption(), buildAssignedTargetingOption(), ]; -void checkUnnamed134(core.List o) { +void checkUnnamed135(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedTargetingOption(o[0]); checkAssignedTargetingOption(o[1]); @@ -8967,7 +8986,7 @@ api.ListPartnerAssignedTargetingOptionsResponse final o = api.ListPartnerAssignedTargetingOptionsResponse(); buildCounterListPartnerAssignedTargetingOptionsResponse++; if (buildCounterListPartnerAssignedTargetingOptionsResponse < 3) { - o.assignedTargetingOptions = buildUnnamed134(); + o.assignedTargetingOptions = buildUnnamed135(); o.nextPageToken = 'foo'; } buildCounterListPartnerAssignedTargetingOptionsResponse--; @@ -8978,7 +8997,7 @@ void checkListPartnerAssignedTargetingOptionsResponse( api.ListPartnerAssignedTargetingOptionsResponse o) { buildCounterListPartnerAssignedTargetingOptionsResponse++; if (buildCounterListPartnerAssignedTargetingOptionsResponse < 3) { - checkUnnamed134(o.assignedTargetingOptions!); + checkUnnamed135(o.assignedTargetingOptions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8987,12 +9006,12 @@ void checkListPartnerAssignedTargetingOptionsResponse( buildCounterListPartnerAssignedTargetingOptionsResponse--; } -core.List buildUnnamed135() => [ +core.List buildUnnamed136() => [ buildPartner(), buildPartner(), ]; -void checkUnnamed135(core.List o) { +void checkUnnamed136(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPartner(o[0]); checkPartner(o[1]); @@ -9004,7 +9023,7 @@ api.ListPartnersResponse buildListPartnersResponse() { buildCounterListPartnersResponse++; if (buildCounterListPartnersResponse < 3) { o.nextPageToken = 'foo'; - o.partners = buildUnnamed135(); + o.partners = buildUnnamed136(); } buildCounterListPartnersResponse--; return o; @@ -9017,17 +9036,17 @@ void checkListPartnersResponse(api.ListPartnersResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed135(o.partners!); + checkUnnamed136(o.partners!); } buildCounterListPartnersResponse--; } -core.List buildUnnamed136() => [ +core.List buildUnnamed137() => [ buildSite(), buildSite(), ]; -void checkUnnamed136(core.List o) { +void checkUnnamed137(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSite(o[0]); checkSite(o[1]); @@ -9039,7 +9058,7 @@ api.ListSitesResponse buildListSitesResponse() { buildCounterListSitesResponse++; if (buildCounterListSitesResponse < 3) { o.nextPageToken = 'foo'; - o.sites = buildUnnamed136(); + o.sites = buildUnnamed137(); } buildCounterListSitesResponse--; return o; @@ -9052,17 +9071,17 @@ void checkListSitesResponse(api.ListSitesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed136(o.sites!); + checkUnnamed137(o.sites!); } buildCounterListSitesResponse--; } -core.List buildUnnamed137() => [ +core.List buildUnnamed138() => [ buildTargetingOption(), buildTargetingOption(), ]; -void checkUnnamed137(core.List o) { +void checkUnnamed138(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetingOption(o[0]); checkTargetingOption(o[1]); @@ -9074,7 +9093,7 @@ api.ListTargetingOptionsResponse buildListTargetingOptionsResponse() { buildCounterListTargetingOptionsResponse++; if (buildCounterListTargetingOptionsResponse < 3) { o.nextPageToken = 'foo'; - o.targetingOptions = buildUnnamed137(); + o.targetingOptions = buildUnnamed138(); } buildCounterListTargetingOptionsResponse--; return o; @@ -9087,17 +9106,17 @@ void checkListTargetingOptionsResponse(api.ListTargetingOptionsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed137(o.targetingOptions!); + checkUnnamed138(o.targetingOptions!); } buildCounterListTargetingOptionsResponse--; } -core.List buildUnnamed138() => [ +core.List buildUnnamed139() => [ buildUser(), buildUser(), ]; -void checkUnnamed138(core.List o) { +void checkUnnamed139(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUser(o[0]); checkUser(o[1]); @@ -9109,7 +9128,7 @@ api.ListUsersResponse buildListUsersResponse() { buildCounterListUsersResponse++; if (buildCounterListUsersResponse < 3) { o.nextPageToken = 'foo'; - o.users = buildUnnamed138(); + o.users = buildUnnamed139(); } buildCounterListUsersResponse--; return o; @@ -9122,7 +9141,7 @@ void checkListUsersResponse(api.ListUsersResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed138(o.users!); + checkUnnamed139(o.users!); } buildCounterListUsersResponse--; } @@ -9218,12 +9237,12 @@ void checkLookupInvoiceCurrencyResponse(api.LookupInvoiceCurrencyResponse o) { buildCounterLookupInvoiceCurrencyResponse--; } -core.List buildUnnamed139() => [ +core.List buildUnnamed140() => [ buildYoutubeVideoDetails(), buildYoutubeVideoDetails(), ]; -void checkUnnamed139(core.List o) { +void checkUnnamed140(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkYoutubeVideoDetails(o[0]); checkYoutubeVideoDetails(o[1]); @@ -9239,7 +9258,7 @@ api.MastheadAd buildMastheadAd() { o.callToActionButtonLabel = 'foo'; o.callToActionFinalUrl = 'foo'; o.callToActionTrackingUrl = 'foo'; - o.companionYoutubeVideos = buildUnnamed139(); + o.companionYoutubeVideos = buildUnnamed140(); o.description = 'foo'; o.headline = 'foo'; o.showChannelArt = true; @@ -9273,7 +9292,7 @@ void checkMastheadAd(api.MastheadAd o) { o.callToActionTrackingUrl!, unittest.equals('foo'), ); - checkUnnamed139(o.companionYoutubeVideos!); + checkUnnamed140(o.companionYoutubeVideos!); unittest.expect( o.description!, unittest.equals('foo'), @@ -9384,12 +9403,12 @@ void checkMobileApp(api.MobileApp o) { buildCounterMobileApp--; } -core.List buildUnnamed140() => [ +core.List buildUnnamed141() => [ 'foo', 'foo', ]; -void checkUnnamed140(core.List o) { +void checkUnnamed141(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9407,7 +9426,7 @@ api.MobileDeviceIdList buildMobileDeviceIdList() { buildCounterMobileDeviceIdList++; if (buildCounterMobileDeviceIdList < 3) { o.consent = buildConsent(); - o.mobileDeviceIds = buildUnnamed140(); + o.mobileDeviceIds = buildUnnamed141(); } buildCounterMobileDeviceIdList--; return o; @@ -9417,7 +9436,7 @@ void checkMobileDeviceIdList(api.MobileDeviceIdList o) { buildCounterMobileDeviceIdList++; if (buildCounterMobileDeviceIdList < 3) { checkConsent(o.consent!); - checkUnnamed140(o.mobileDeviceIds!); + checkUnnamed141(o.mobileDeviceIds!); } buildCounterMobileDeviceIdList--; } @@ -9595,12 +9614,12 @@ void checkNegativeKeywordListAssignedTargetingOptionDetails( buildCounterNegativeKeywordListAssignedTargetingOptionDetails--; } -core.Map buildUnnamed141() => { +core.Map buildUnnamed142() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed141(core.Map o) { +void checkUnnamed142(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -9618,7 +9637,7 @@ api.NonSkippableAd buildNonSkippableAd() { buildCounterNonSkippableAd++; if (buildCounterNonSkippableAd < 3) { o.commonInStreamAttribute = buildCommonInStreamAttribute(); - o.customParameters = buildUnnamed141(); + o.customParameters = buildUnnamed142(); } buildCounterNonSkippableAd--; return o; @@ -9628,7 +9647,7 @@ void checkNonSkippableAd(api.NonSkippableAd o) { buildCounterNonSkippableAd++; if (buildCounterNonSkippableAd < 3) { checkCommonInStreamAttribute(o.commonInStreamAttribute!); - checkUnnamed141(o.customParameters!); + checkUnnamed142(o.customParameters!); } buildCounterNonSkippableAd--; } @@ -9846,7 +9865,7 @@ void checkOperatingSystemTargetingOptionDetails( buildCounterOperatingSystemTargetingOptionDetails--; } -core.Map buildUnnamed142() => { +core.Map buildUnnamed143() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -9859,7 +9878,7 @@ core.Map buildUnnamed142() => { }, }; -void checkUnnamed142(core.Map o) { +void checkUnnamed143(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -9891,7 +9910,7 @@ void checkUnnamed142(core.Map o) { ); } -core.Map buildUnnamed143() => { +core.Map buildUnnamed144() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -9904,7 +9923,7 @@ core.Map buildUnnamed143() => { }, }; -void checkUnnamed143(core.Map o) { +void checkUnnamed144(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -9943,9 +9962,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed142(); + o.metadata = buildUnnamed143(); o.name = 'foo'; - o.response = buildUnnamed143(); + o.response = buildUnnamed144(); } buildCounterOperation--; return o; @@ -9956,12 +9975,12 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed142(o.metadata!); + checkUnnamed143(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed143(o.response!); + checkUnnamed144(o.response!); } buildCounterOperation--; } @@ -10003,12 +10022,12 @@ void checkPacing(api.Pacing o) { buildCounterPacing--; } -core.List buildUnnamed144() => [ +core.List buildUnnamed145() => [ 'foo', 'foo', ]; -void checkUnnamed144(core.List o) { +void checkUnnamed145(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10020,12 +10039,12 @@ void checkUnnamed144(core.List o) { ); } -core.List buildUnnamed145() => [ +core.List buildUnnamed146() => [ 'foo', 'foo', ]; -void checkUnnamed145(core.List o) { +void checkUnnamed146(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10042,8 +10061,8 @@ api.ParentEntityFilter buildParentEntityFilter() { final o = api.ParentEntityFilter(); buildCounterParentEntityFilter++; if (buildCounterParentEntityFilter < 3) { - o.fileType = buildUnnamed144(); - o.filterIds = buildUnnamed145(); + o.fileType = buildUnnamed145(); + o.filterIds = buildUnnamed146(); o.filterType = 'foo'; } buildCounterParentEntityFilter--; @@ -10053,8 +10072,8 @@ api.ParentEntityFilter buildParentEntityFilter() { void checkParentEntityFilter(api.ParentEntityFilter o) { buildCounterParentEntityFilter++; if (buildCounterParentEntityFilter < 3) { - checkUnnamed144(o.fileType!); - checkUnnamed145(o.filterIds!); + checkUnnamed145(o.fileType!); + checkUnnamed146(o.filterIds!); unittest.expect( o.filterType!, unittest.equals('foo'), @@ -10556,12 +10575,12 @@ void checkPrismaCpeCode(api.PrismaCpeCode o) { buildCounterPrismaCpeCode--; } -core.List buildUnnamed146() => [ +core.List buildUnnamed147() => [ buildProductMatchDimension(), buildProductMatchDimension(), ]; -void checkUnnamed146(core.List o) { +void checkUnnamed147(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkProductMatchDimension(o[0]); checkProductMatchDimension(o[1]); @@ -10573,7 +10592,7 @@ api.ProductFeedData buildProductFeedData() { buildCounterProductFeedData++; if (buildCounterProductFeedData < 3) { o.isFeedDisabled = true; - o.productMatchDimensions = buildUnnamed146(); + o.productMatchDimensions = buildUnnamed147(); o.productMatchType = 'foo'; } buildCounterProductFeedData--; @@ -10584,7 +10603,7 @@ void checkProductFeedData(api.ProductFeedData o) { buildCounterProductFeedData++; if (buildCounterProductFeedData < 3) { unittest.expect(o.isFeedDisabled!, unittest.isTrue); - checkUnnamed146(o.productMatchDimensions!); + checkUnnamed147(o.productMatchDimensions!); unittest.expect( o.productMatchType!, unittest.equals('foo'), @@ -10759,12 +10778,12 @@ void checkRemarketingConfig(api.RemarketingConfig o) { buildCounterRemarketingConfig--; } -core.List buildUnnamed147() => [ +core.List buildUnnamed148() => [ buildNegativeKeyword(), buildNegativeKeyword(), ]; -void checkUnnamed147(core.List o) { +void checkUnnamed148(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNegativeKeyword(o[0]); checkNegativeKeyword(o[1]); @@ -10775,7 +10794,7 @@ api.ReplaceNegativeKeywordsRequest buildReplaceNegativeKeywordsRequest() { final o = api.ReplaceNegativeKeywordsRequest(); buildCounterReplaceNegativeKeywordsRequest++; if (buildCounterReplaceNegativeKeywordsRequest < 3) { - o.newNegativeKeywords = buildUnnamed147(); + o.newNegativeKeywords = buildUnnamed148(); } buildCounterReplaceNegativeKeywordsRequest--; return o; @@ -10784,17 +10803,17 @@ api.ReplaceNegativeKeywordsRequest buildReplaceNegativeKeywordsRequest() { void checkReplaceNegativeKeywordsRequest(api.ReplaceNegativeKeywordsRequest o) { buildCounterReplaceNegativeKeywordsRequest++; if (buildCounterReplaceNegativeKeywordsRequest < 3) { - checkUnnamed147(o.newNegativeKeywords!); + checkUnnamed148(o.newNegativeKeywords!); } buildCounterReplaceNegativeKeywordsRequest--; } -core.List buildUnnamed148() => [ +core.List buildUnnamed149() => [ buildNegativeKeyword(), buildNegativeKeyword(), ]; -void checkUnnamed148(core.List o) { +void checkUnnamed149(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNegativeKeyword(o[0]); checkNegativeKeyword(o[1]); @@ -10805,7 +10824,7 @@ api.ReplaceNegativeKeywordsResponse buildReplaceNegativeKeywordsResponse() { final o = api.ReplaceNegativeKeywordsResponse(); buildCounterReplaceNegativeKeywordsResponse++; if (buildCounterReplaceNegativeKeywordsResponse < 3) { - o.negativeKeywords = buildUnnamed148(); + o.negativeKeywords = buildUnnamed149(); } buildCounterReplaceNegativeKeywordsResponse--; return o; @@ -10815,17 +10834,17 @@ void checkReplaceNegativeKeywordsResponse( api.ReplaceNegativeKeywordsResponse o) { buildCounterReplaceNegativeKeywordsResponse++; if (buildCounterReplaceNegativeKeywordsResponse < 3) { - checkUnnamed148(o.negativeKeywords!); + checkUnnamed149(o.negativeKeywords!); } buildCounterReplaceNegativeKeywordsResponse--; } -core.List buildUnnamed149() => [ +core.List buildUnnamed150() => [ buildSite(), buildSite(), ]; -void checkUnnamed149(core.List o) { +void checkUnnamed150(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSite(o[0]); checkSite(o[1]); @@ -10837,7 +10856,7 @@ api.ReplaceSitesRequest buildReplaceSitesRequest() { buildCounterReplaceSitesRequest++; if (buildCounterReplaceSitesRequest < 3) { o.advertiserId = 'foo'; - o.newSites = buildUnnamed149(); + o.newSites = buildUnnamed150(); o.partnerId = 'foo'; } buildCounterReplaceSitesRequest--; @@ -10851,7 +10870,7 @@ void checkReplaceSitesRequest(api.ReplaceSitesRequest o) { o.advertiserId!, unittest.equals('foo'), ); - checkUnnamed149(o.newSites!); + checkUnnamed150(o.newSites!); unittest.expect( o.partnerId!, unittest.equals('foo'), @@ -10860,12 +10879,12 @@ void checkReplaceSitesRequest(api.ReplaceSitesRequest o) { buildCounterReplaceSitesRequest--; } -core.List buildUnnamed150() => [ +core.List buildUnnamed151() => [ buildSite(), buildSite(), ]; -void checkUnnamed150(core.List o) { +void checkUnnamed151(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSite(o[0]); checkSite(o[1]); @@ -10876,7 +10895,7 @@ api.ReplaceSitesResponse buildReplaceSitesResponse() { final o = api.ReplaceSitesResponse(); buildCounterReplaceSitesResponse++; if (buildCounterReplaceSitesResponse < 3) { - o.sites = buildUnnamed150(); + o.sites = buildUnnamed151(); } buildCounterReplaceSitesResponse--; return o; @@ -10885,28 +10904,28 @@ api.ReplaceSitesResponse buildReplaceSitesResponse() { void checkReplaceSitesResponse(api.ReplaceSitesResponse o) { buildCounterReplaceSitesResponse++; if (buildCounterReplaceSitesResponse < 3) { - checkUnnamed150(o.sites!); + checkUnnamed151(o.sites!); } buildCounterReplaceSitesResponse--; } -core.List buildUnnamed151() => [ +core.List buildUnnamed152() => [ buildExchangeReviewStatus(), buildExchangeReviewStatus(), ]; -void checkUnnamed151(core.List o) { +void checkUnnamed152(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExchangeReviewStatus(o[0]); checkExchangeReviewStatus(o[1]); } -core.List buildUnnamed152() => [ +core.List buildUnnamed153() => [ buildPublisherReviewStatus(), buildPublisherReviewStatus(), ]; -void checkUnnamed152(core.List o) { +void checkUnnamed153(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPublisherReviewStatus(o[0]); checkPublisherReviewStatus(o[1]); @@ -10920,8 +10939,8 @@ api.ReviewStatusInfo buildReviewStatusInfo() { o.approvalStatus = 'foo'; o.contentAndPolicyReviewStatus = 'foo'; o.creativeAndLandingPageReviewStatus = 'foo'; - o.exchangeReviewStatuses = buildUnnamed151(); - o.publisherReviewStatuses = buildUnnamed152(); + o.exchangeReviewStatuses = buildUnnamed152(); + o.publisherReviewStatuses = buildUnnamed153(); } buildCounterReviewStatusInfo--; return o; @@ -10942,8 +10961,8 @@ void checkReviewStatusInfo(api.ReviewStatusInfo o) { o.creativeAndLandingPageReviewStatus!, unittest.equals('foo'), ); - checkUnnamed151(o.exchangeReviewStatuses!); - checkUnnamed152(o.publisherReviewStatuses!); + checkUnnamed152(o.exchangeReviewStatuses!); + checkUnnamed153(o.publisherReviewStatuses!); } buildCounterReviewStatusInfo--; } @@ -11050,12 +11069,12 @@ void checkSearchTargetingOptionsRequest(api.SearchTargetingOptionsRequest o) { buildCounterSearchTargetingOptionsRequest--; } -core.List buildUnnamed153() => [ +core.List buildUnnamed154() => [ buildTargetingOption(), buildTargetingOption(), ]; -void checkUnnamed153(core.List o) { +void checkUnnamed154(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTargetingOption(o[0]); checkTargetingOption(o[1]); @@ -11067,7 +11086,7 @@ api.SearchTargetingOptionsResponse buildSearchTargetingOptionsResponse() { buildCounterSearchTargetingOptionsResponse++; if (buildCounterSearchTargetingOptionsResponse < 3) { o.nextPageToken = 'foo'; - o.targetingOptions = buildUnnamed153(); + o.targetingOptions = buildUnnamed154(); } buildCounterSearchTargetingOptionsResponse--; return o; @@ -11080,7 +11099,7 @@ void checkSearchTargetingOptionsResponse(api.SearchTargetingOptionsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed153(o.targetingOptions!); + checkUnnamed154(o.targetingOptions!); } buildCounterSearchTargetingOptionsResponse--; } @@ -11184,7 +11203,7 @@ void checkSite(api.Site o) { buildCounterSite--; } -core.Map buildUnnamed154() => { +core.Map buildUnnamed155() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -11197,7 +11216,7 @@ core.Map buildUnnamed154() => { }, }; -void checkUnnamed154(core.Map o) { +void checkUnnamed155(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -11229,15 +11248,15 @@ void checkUnnamed154(core.Map o) { ); } -core.List> buildUnnamed155() => [ - buildUnnamed154(), - buildUnnamed154(), +core.List> buildUnnamed156() => [ + buildUnnamed155(), + buildUnnamed155(), ]; -void checkUnnamed155(core.List> o) { +void checkUnnamed156(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed154(o[0]); - checkUnnamed154(o[1]); + checkUnnamed155(o[0]); + checkUnnamed155(o[1]); } core.int buildCounterStatus = 0; @@ -11246,7 +11265,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed155(); + o.details = buildUnnamed156(); o.message = 'foo'; } buildCounterStatus--; @@ -11260,7 +11279,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed155(o.details!); + checkUnnamed156(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -11484,45 +11503,45 @@ void checkTargetingOption(api.TargetingOption o) { buildCounterTargetingOption--; } -core.List buildUnnamed156() => [ +core.List buildUnnamed157() => [ buildThirdPartyVendorConfig(), buildThirdPartyVendorConfig(), ]; -void checkUnnamed156(core.List o) { +void checkUnnamed157(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkThirdPartyVendorConfig(o[0]); checkThirdPartyVendorConfig(o[1]); } -core.List buildUnnamed157() => [ +core.List buildUnnamed158() => [ buildThirdPartyVendorConfig(), buildThirdPartyVendorConfig(), ]; -void checkUnnamed157(core.List o) { +void checkUnnamed158(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkThirdPartyVendorConfig(o[0]); checkThirdPartyVendorConfig(o[1]); } -core.List buildUnnamed158() => [ +core.List buildUnnamed159() => [ buildThirdPartyVendorConfig(), buildThirdPartyVendorConfig(), ]; -void checkUnnamed158(core.List o) { +void checkUnnamed159(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkThirdPartyVendorConfig(o[0]); checkThirdPartyVendorConfig(o[1]); } -core.List buildUnnamed159() => [ +core.List buildUnnamed160() => [ buildThirdPartyVendorConfig(), buildThirdPartyVendorConfig(), ]; -void checkUnnamed159(core.List o) { +void checkUnnamed160(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkThirdPartyVendorConfig(o[0]); checkThirdPartyVendorConfig(o[1]); @@ -11533,10 +11552,10 @@ api.ThirdPartyMeasurementConfigs buildThirdPartyMeasurementConfigs() { final o = api.ThirdPartyMeasurementConfigs(); buildCounterThirdPartyMeasurementConfigs++; if (buildCounterThirdPartyMeasurementConfigs < 3) { - o.brandLiftVendorConfigs = buildUnnamed156(); - o.brandSafetyVendorConfigs = buildUnnamed157(); - o.reachVendorConfigs = buildUnnamed158(); - o.viewabilityVendorConfigs = buildUnnamed159(); + o.brandLiftVendorConfigs = buildUnnamed157(); + o.brandSafetyVendorConfigs = buildUnnamed158(); + o.reachVendorConfigs = buildUnnamed159(); + o.viewabilityVendorConfigs = buildUnnamed160(); } buildCounterThirdPartyMeasurementConfigs--; return o; @@ -11545,10 +11564,10 @@ api.ThirdPartyMeasurementConfigs buildThirdPartyMeasurementConfigs() { void checkThirdPartyMeasurementConfigs(api.ThirdPartyMeasurementConfigs o) { buildCounterThirdPartyMeasurementConfigs++; if (buildCounterThirdPartyMeasurementConfigs < 3) { - checkUnnamed156(o.brandLiftVendorConfigs!); - checkUnnamed157(o.brandSafetyVendorConfigs!); - checkUnnamed158(o.reachVendorConfigs!); - checkUnnamed159(o.viewabilityVendorConfigs!); + checkUnnamed157(o.brandLiftVendorConfigs!); + checkUnnamed158(o.brandSafetyVendorConfigs!); + checkUnnamed159(o.reachVendorConfigs!); + checkUnnamed160(o.viewabilityVendorConfigs!); } buildCounterThirdPartyMeasurementConfigs--; } @@ -11846,12 +11865,12 @@ void checkUrlAssignedTargetingOptionDetails( buildCounterUrlAssignedTargetingOptionDetails--; } -core.List buildUnnamed160() => [ +core.List buildUnnamed161() => [ buildAssignedUserRole(), buildAssignedUserRole(), ]; -void checkUnnamed160(core.List o) { +void checkUnnamed161(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAssignedUserRole(o[0]); checkAssignedUserRole(o[1]); @@ -11862,7 +11881,7 @@ api.User buildUser() { final o = api.User(); buildCounterUser++; if (buildCounterUser < 3) { - o.assignedUserRoles = buildUnnamed160(); + o.assignedUserRoles = buildUnnamed161(); o.displayName = 'foo'; o.email = 'foo'; o.lastLoginTime = 'foo'; @@ -11876,7 +11895,7 @@ api.User buildUser() { void checkUser(api.User o) { buildCounterUser++; if (buildCounterUser < 3) { - checkUnnamed160(o.assignedUserRoles!); + checkUnnamed161(o.assignedUserRoles!); unittest.expect( o.displayName!, unittest.equals('foo'), @@ -11954,12 +11973,12 @@ void checkUserRewardedContentTargetingOptionDetails( buildCounterUserRewardedContentTargetingOptionDetails--; } -core.List buildUnnamed161() => [ +core.List buildUnnamed162() => [ buildVideoAdSequenceStep(), buildVideoAdSequenceStep(), ]; -void checkUnnamed161(core.List o) { +void checkUnnamed162(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVideoAdSequenceStep(o[0]); checkVideoAdSequenceStep(o[1]); @@ -11971,7 +11990,7 @@ api.VideoAdSequenceSettings buildVideoAdSequenceSettings() { buildCounterVideoAdSequenceSettings++; if (buildCounterVideoAdSequenceSettings < 3) { o.minimumDuration = 'foo'; - o.steps = buildUnnamed161(); + o.steps = buildUnnamed162(); } buildCounterVideoAdSequenceSettings--; return o; @@ -11984,7 +12003,7 @@ void checkVideoAdSequenceSettings(api.VideoAdSequenceSettings o) { o.minimumDuration!, unittest.equals('foo'), ); - checkUnnamed161(o.steps!); + checkUnnamed162(o.steps!); } buildCounterVideoAdSequenceSettings--; } @@ -12065,12 +12084,12 @@ void checkVideoDiscoveryAd(api.VideoDiscoveryAd o) { buildCounterVideoDiscoveryAd--; } -core.List buildUnnamed162() => [ +core.List buildUnnamed163() => [ 'foo', 'foo', ]; -void checkUnnamed162(core.List o) { +void checkUnnamed163(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12082,23 +12101,23 @@ void checkUnnamed162(core.List o) { ); } -core.List buildUnnamed163() => [ +core.List buildUnnamed164() => [ buildImageAsset(), buildImageAsset(), ]; -void checkUnnamed163(core.List o) { +void checkUnnamed164(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkImageAsset(o[0]); checkImageAsset(o[1]); } -core.Map buildUnnamed164() => { +core.Map buildUnnamed165() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed164(core.Map o) { +void checkUnnamed165(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -12110,12 +12129,12 @@ void checkUnnamed164(core.Map o) { ); } -core.List buildUnnamed165() => [ +core.List buildUnnamed166() => [ 'foo', 'foo', ]; -void checkUnnamed165(core.List o) { +void checkUnnamed166(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12127,12 +12146,12 @@ void checkUnnamed165(core.List o) { ); } -core.List buildUnnamed166() => [ +core.List buildUnnamed167() => [ 'foo', 'foo', ]; -void checkUnnamed166(core.List o) { +void checkUnnamed167(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12144,12 +12163,12 @@ void checkUnnamed166(core.List o) { ); } -core.List buildUnnamed167() => [ +core.List buildUnnamed168() => [ 'foo', 'foo', ]; -void checkUnnamed167(core.List o) { +void checkUnnamed168(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12161,12 +12180,12 @@ void checkUnnamed167(core.List o) { ); } -core.List buildUnnamed168() => [ +core.List buildUnnamed169() => [ buildYoutubeVideoDetails(), buildYoutubeVideoDetails(), ]; -void checkUnnamed168(core.List o) { +void checkUnnamed169(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkYoutubeVideoDetails(o[0]); checkYoutubeVideoDetails(o[1]); @@ -12177,18 +12196,18 @@ api.VideoPerformanceAd buildVideoPerformanceAd() { final o = api.VideoPerformanceAd(); buildCounterVideoPerformanceAd++; if (buildCounterVideoPerformanceAd < 3) { - o.actionButtonLabels = buildUnnamed162(); - o.companionBanners = buildUnnamed163(); - o.customParameters = buildUnnamed164(); - o.descriptions = buildUnnamed165(); + o.actionButtonLabels = buildUnnamed163(); + o.companionBanners = buildUnnamed164(); + o.customParameters = buildUnnamed165(); + o.descriptions = buildUnnamed166(); o.displayUrlBreadcrumb1 = 'foo'; o.displayUrlBreadcrumb2 = 'foo'; o.domain = 'foo'; o.finalUrl = 'foo'; - o.headlines = buildUnnamed166(); - o.longHeadlines = buildUnnamed167(); + o.headlines = buildUnnamed167(); + o.longHeadlines = buildUnnamed168(); o.trackingUrl = 'foo'; - o.videos = buildUnnamed168(); + o.videos = buildUnnamed169(); } buildCounterVideoPerformanceAd--; return o; @@ -12197,10 +12216,10 @@ api.VideoPerformanceAd buildVideoPerformanceAd() { void checkVideoPerformanceAd(api.VideoPerformanceAd o) { buildCounterVideoPerformanceAd++; if (buildCounterVideoPerformanceAd < 3) { - checkUnnamed162(o.actionButtonLabels!); - checkUnnamed163(o.companionBanners!); - checkUnnamed164(o.customParameters!); - checkUnnamed165(o.descriptions!); + checkUnnamed163(o.actionButtonLabels!); + checkUnnamed164(o.companionBanners!); + checkUnnamed165(o.customParameters!); + checkUnnamed166(o.descriptions!); unittest.expect( o.displayUrlBreadcrumb1!, unittest.equals('foo'), @@ -12217,13 +12236,13 @@ void checkVideoPerformanceAd(api.VideoPerformanceAd o) { o.finalUrl!, unittest.equals('foo'), ); - checkUnnamed166(o.headlines!); - checkUnnamed167(o.longHeadlines!); + checkUnnamed167(o.headlines!); + checkUnnamed168(o.longHeadlines!); unittest.expect( o.trackingUrl!, unittest.equals('foo'), ); - checkUnnamed168(o.videos!); + checkUnnamed169(o.videos!); } buildCounterVideoPerformanceAd--; } @@ -12386,12 +12405,12 @@ void checkYoutubeAndPartnersInventorySourceConfig( buildCounterYoutubeAndPartnersInventorySourceConfig--; } -core.List buildUnnamed169() => [ +core.List buildUnnamed170() => [ 'foo', 'foo', ]; -void checkUnnamed169(core.List o) { +void checkUnnamed170(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12413,7 +12432,7 @@ api.YoutubeAndPartnersSettings buildYoutubeAndPartnersSettings() { o.inventorySourceSettings = buildYoutubeAndPartnersInventorySourceConfig(); o.leadFormId = 'foo'; o.linkedMerchantId = 'foo'; - o.relatedVideoIds = buildUnnamed169(); + o.relatedVideoIds = buildUnnamed170(); o.targetFrequency = buildTargetFrequency(); o.thirdPartyMeasurementConfigs = buildThirdPartyMeasurementConfigs(); o.videoAdSequenceSettings = buildVideoAdSequenceSettings(); @@ -12443,7 +12462,7 @@ void checkYoutubeAndPartnersSettings(api.YoutubeAndPartnersSettings o) { o.linkedMerchantId!, unittest.equals('foo'), ); - checkUnnamed169(o.relatedVideoIds!); + checkUnnamed170(o.relatedVideoIds!); checkTargetFrequency(o.targetFrequency!); checkThirdPartyMeasurementConfigs(o.thirdPartyMeasurementConfigs!); checkVideoAdSequenceSettings(o.videoAdSequenceSettings!); @@ -12531,12 +12550,12 @@ void checkYoutubeVideoDetails(api.YoutubeVideoDetails o) { buildCounterYoutubeVideoDetails--; } -core.List buildUnnamed170() => [ +core.List buildUnnamed171() => [ 'foo', 'foo', ]; -void checkUnnamed170(core.List o) { +void checkUnnamed171(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12548,12 +12567,12 @@ void checkUnnamed170(core.List o) { ); } -core.List buildUnnamed171() => [ +core.List buildUnnamed172() => [ 'foo', 'foo', ]; -void checkUnnamed171(core.List o) { +void checkUnnamed172(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -16517,7 +16536,7 @@ void main() { final mock = HttpServerMock(); final res = api.DisplayVideoApi(mock).advertisers.adGroups; final arg_advertiserId = 'foo'; - final arg_adGroupIds = buildUnnamed170(); + final arg_adGroupIds = buildUnnamed171(); final arg_filter = 'foo'; final arg_orderBy = 'foo'; final arg_pageSize = 42; @@ -19338,7 +19357,7 @@ void main() { final res = api.DisplayVideoApi(mock).advertisers.lineItems; final arg_advertiserId = 'foo'; final arg_filter = 'foo'; - final arg_lineItemIds = buildUnnamed171(); + final arg_lineItemIds = buildUnnamed172(); final arg_orderBy = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; @@ -26442,6 +26461,60 @@ void main() { }); }); + unittest.group('resource-SdfuploadtasksOperationsResource', () { + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).sdfuploadtasks.operations; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v3/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_name, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + }); + unittest.group('resource-TargetingTypesTargetingOptionsResource', () { unittest.test('method--get', () async { final mock = HttpServerMock(); diff --git a/generated/googleapis/test/displayvideo/v4_test.dart b/generated/googleapis/test/displayvideo/v4_test.dart new file mode 100644 index 000000000..87cf9a98d --- /dev/null +++ b/generated/googleapis/test/displayvideo/v4_test.dart @@ -0,0 +1,26249 @@ +// ignore_for_file: camel_case_types +// ignore_for_file: comment_references +// ignore_for_file: deprecated_member_use_from_same_package +// ignore_for_file: doc_directive_unknown +// ignore_for_file: lines_longer_than_80_chars +// ignore_for_file: non_constant_identifier_names +// ignore_for_file: prefer_const_declarations +// ignore_for_file: prefer_expression_function_bodies +// ignore_for_file: prefer_final_locals +// ignore_for_file: prefer_interpolation_to_compose_strings +// ignore_for_file: unintended_html_in_doc_comment +// ignore_for_file: unnecessary_brace_in_string_interps +// ignore_for_file: unnecessary_cast +// ignore_for_file: unnecessary_lambdas +// ignore_for_file: unnecessary_string_interpolations +// ignore_for_file: unreachable_from_main +// ignore_for_file: unused_local_variable + +import 'dart:async' as async; +import 'dart:convert' as convert; +import 'dart:core' as core; + +import 'package:googleapis/displayvideo/v4.dart' as api; +import 'package:http/http.dart' as http; +import 'package:test/test.dart' as unittest; + +import '../test_shared.dart'; + +core.int buildCounterActiveViewVideoViewabilityMetricConfig = 0; +api.ActiveViewVideoViewabilityMetricConfig + buildActiveViewVideoViewabilityMetricConfig() { + final o = api.ActiveViewVideoViewabilityMetricConfig(); + buildCounterActiveViewVideoViewabilityMetricConfig++; + if (buildCounterActiveViewVideoViewabilityMetricConfig < 3) { + o.displayName = 'foo'; + o.minimumDuration = 'foo'; + o.minimumQuartile = 'foo'; + o.minimumViewability = 'foo'; + o.minimumVolume = 'foo'; + } + buildCounterActiveViewVideoViewabilityMetricConfig--; + return o; +} + +void checkActiveViewVideoViewabilityMetricConfig( + api.ActiveViewVideoViewabilityMetricConfig o) { + buildCounterActiveViewVideoViewabilityMetricConfig++; + if (buildCounterActiveViewVideoViewabilityMetricConfig < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.minimumDuration!, + unittest.equals('foo'), + ); + unittest.expect( + o.minimumQuartile!, + unittest.equals('foo'), + ); + unittest.expect( + o.minimumViewability!, + unittest.equals('foo'), + ); + unittest.expect( + o.minimumVolume!, + unittest.equals('foo'), + ); + } + buildCounterActiveViewVideoViewabilityMetricConfig--; +} + +core.int buildCounterAdGroup = 0; +api.AdGroup buildAdGroup() { + final o = api.AdGroup(); + buildCounterAdGroup++; + if (buildCounterAdGroup < 3) { + o.adGroupFormat = 'foo'; + o.adGroupId = 'foo'; + o.advertiserId = 'foo'; + o.bidStrategy = buildBiddingStrategy(); + o.displayName = 'foo'; + o.entityStatus = 'foo'; + o.lineItemId = 'foo'; + o.name = 'foo'; + o.productFeedData = buildProductFeedData(); + o.targetingExpansion = buildTargetingExpansionConfig(); + } + buildCounterAdGroup--; + return o; +} + +void checkAdGroup(api.AdGroup o) { + buildCounterAdGroup++; + if (buildCounterAdGroup < 3) { + unittest.expect( + o.adGroupFormat!, + unittest.equals('foo'), + ); + unittest.expect( + o.adGroupId!, + unittest.equals('foo'), + ); + unittest.expect( + o.advertiserId!, + unittest.equals('foo'), + ); + checkBiddingStrategy(o.bidStrategy!); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.entityStatus!, + unittest.equals('foo'), + ); + unittest.expect( + o.lineItemId!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + checkProductFeedData(o.productFeedData!); + checkTargetingExpansionConfig(o.targetingExpansion!); + } + buildCounterAdGroup--; +} + +core.List buildUnnamed0() => [ + buildAdUrl(), + buildAdUrl(), + ]; + +void checkUnnamed0(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAdUrl(o[0]); + checkAdUrl(o[1]); +} + +core.int buildCounterAdGroupAd = 0; +api.AdGroupAd buildAdGroupAd() { + final o = api.AdGroupAd(); + buildCounterAdGroupAd++; + if (buildCounterAdGroupAd < 3) { + o.adGroupAdId = 'foo'; + o.adGroupId = 'foo'; + o.adUrls = buildUnnamed0(); + o.advertiserId = 'foo'; + o.audioAd = buildAudioAd(); + o.bumperAd = buildBumperAd(); + o.displayName = 'foo'; + o.displayVideoSourceAd = buildDisplayVideoSourceAd(); + o.entityStatus = 'foo'; + o.inStreamAd = buildInStreamAd(); + o.mastheadAd = buildMastheadAd(); + o.name = 'foo'; + o.nonSkippableAd = buildNonSkippableAd(); + o.videoDiscoverAd = buildVideoDiscoveryAd(); + o.videoPerformanceAd = buildVideoPerformanceAd(); + } + buildCounterAdGroupAd--; + return o; +} + +void checkAdGroupAd(api.AdGroupAd o) { + buildCounterAdGroupAd++; + if (buildCounterAdGroupAd < 3) { + unittest.expect( + o.adGroupAdId!, + unittest.equals('foo'), + ); + unittest.expect( + o.adGroupId!, + unittest.equals('foo'), + ); + checkUnnamed0(o.adUrls!); + unittest.expect( + o.advertiserId!, + unittest.equals('foo'), + ); + checkAudioAd(o.audioAd!); + checkBumperAd(o.bumperAd!); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + checkDisplayVideoSourceAd(o.displayVideoSourceAd!); + unittest.expect( + o.entityStatus!, + unittest.equals('foo'), + ); + checkInStreamAd(o.inStreamAd!); + checkMastheadAd(o.mastheadAd!); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + checkNonSkippableAd(o.nonSkippableAd!); + checkVideoDiscoveryAd(o.videoDiscoverAd!); + checkVideoPerformanceAd(o.videoPerformanceAd!); + } + buildCounterAdGroupAd--; +} + +core.int buildCounterAdGroupAssignedTargetingOption = 0; +api.AdGroupAssignedTargetingOption buildAdGroupAssignedTargetingOption() { + final o = api.AdGroupAssignedTargetingOption(); + buildCounterAdGroupAssignedTargetingOption++; + if (buildCounterAdGroupAssignedTargetingOption < 3) { + o.adGroupId = 'foo'; + o.assignedTargetingOption = buildAssignedTargetingOption(); + } + buildCounterAdGroupAssignedTargetingOption--; + return o; +} + +void checkAdGroupAssignedTargetingOption(api.AdGroupAssignedTargetingOption o) { + buildCounterAdGroupAssignedTargetingOption++; + if (buildCounterAdGroupAssignedTargetingOption < 3) { + unittest.expect( + o.adGroupId!, + unittest.equals('foo'), + ); + checkAssignedTargetingOption(o.assignedTargetingOption!); + } + buildCounterAdGroupAssignedTargetingOption--; +} + +core.int buildCounterAdUrl = 0; +api.AdUrl buildAdUrl() { + final o = api.AdUrl(); + buildCounterAdUrl++; + if (buildCounterAdUrl < 3) { + o.type = 'foo'; + o.url = 'foo'; + } + buildCounterAdUrl--; + return o; +} + +void checkAdUrl(api.AdUrl o) { + buildCounterAdUrl++; + if (buildCounterAdUrl < 3) { + unittest.expect( + o.type!, + unittest.equals('foo'), + ); + unittest.expect( + o.url!, + unittest.equals('foo'), + ); + } + buildCounterAdUrl--; +} + +core.List buildUnnamed1() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed1(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed2() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed2(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterAdloox = 0; +api.Adloox buildAdloox() { + final o = api.Adloox(); + buildCounterAdloox++; + if (buildCounterAdloox < 3) { + o.adultExplicitSexualContent = 'foo'; + o.armsAmmunitionContent = 'foo'; + o.crimeHarmfulActsIndividualsSocietyHumanRightsViolationsContent = 'foo'; + o.deathInjuryMilitaryConflictContent = 'foo'; + o.debatedSensitiveSocialIssueContent = 'foo'; + o.displayIabViewability = 'foo'; + o.excludedAdlooxCategories = buildUnnamed1(); + o.excludedFraudIvtMfaCategories = buildUnnamed2(); + o.hateSpeechActsAggressionContent = 'foo'; + o.illegalDrugsTobaccoEcigarettesVapingAlcoholContent = 'foo'; + o.misinformationContent = 'foo'; + o.obscenityProfanityContent = 'foo'; + o.onlinePiracyContent = 'foo'; + o.spamHarmfulContent = 'foo'; + o.terrorismContent = 'foo'; + o.videoIabViewability = 'foo'; + } + buildCounterAdloox--; + return o; +} + +void checkAdloox(api.Adloox o) { + buildCounterAdloox++; + if (buildCounterAdloox < 3) { + unittest.expect( + o.adultExplicitSexualContent!, + unittest.equals('foo'), + ); + unittest.expect( + o.armsAmmunitionContent!, + unittest.equals('foo'), + ); + unittest.expect( + o.crimeHarmfulActsIndividualsSocietyHumanRightsViolationsContent!, + unittest.equals('foo'), + ); + unittest.expect( + o.deathInjuryMilitaryConflictContent!, + unittest.equals('foo'), + ); + unittest.expect( + o.debatedSensitiveSocialIssueContent!, + unittest.equals('foo'), + ); + unittest.expect( + o.displayIabViewability!, + unittest.equals('foo'), + ); + checkUnnamed1(o.excludedAdlooxCategories!); + checkUnnamed2(o.excludedFraudIvtMfaCategories!); + unittest.expect( + o.hateSpeechActsAggressionContent!, + unittest.equals('foo'), + ); + unittest.expect( + o.illegalDrugsTobaccoEcigarettesVapingAlcoholContent!, + unittest.equals('foo'), + ); + unittest.expect( + o.misinformationContent!, + unittest.equals('foo'), + ); + unittest.expect( + o.obscenityProfanityContent!, + unittest.equals('foo'), + ); + unittest.expect( + o.onlinePiracyContent!, + unittest.equals('foo'), + ); + unittest.expect( + o.spamHarmfulContent!, + unittest.equals('foo'), + ); + unittest.expect( + o.terrorismContent!, + unittest.equals('foo'), + ); + unittest.expect( + o.videoIabViewability!, + unittest.equals('foo'), + ); + } + buildCounterAdloox--; +} + +core.int buildCounterAdvertiser = 0; +api.Advertiser buildAdvertiser() { + final o = api.Advertiser(); + buildCounterAdvertiser++; + if (buildCounterAdvertiser < 3) { + o.adServerConfig = buildAdvertiserAdServerConfig(); + o.advertiserId = 'foo'; + o.billingConfig = buildAdvertiserBillingConfig(); + o.creativeConfig = buildAdvertiserCreativeConfig(); + o.dataAccessConfig = buildAdvertiserDataAccessConfig(); + o.displayName = 'foo'; + o.entityStatus = 'foo'; + o.generalConfig = buildAdvertiserGeneralConfig(); + o.integrationDetails = buildIntegrationDetails(); + o.name = 'foo'; + o.partnerId = 'foo'; + o.prismaEnabled = true; + o.servingConfig = buildAdvertiserTargetingConfig(); + o.updateTime = 'foo'; + } + buildCounterAdvertiser--; + return o; +} + +void checkAdvertiser(api.Advertiser o) { + buildCounterAdvertiser++; + if (buildCounterAdvertiser < 3) { + checkAdvertiserAdServerConfig(o.adServerConfig!); + unittest.expect( + o.advertiserId!, + unittest.equals('foo'), + ); + checkAdvertiserBillingConfig(o.billingConfig!); + checkAdvertiserCreativeConfig(o.creativeConfig!); + checkAdvertiserDataAccessConfig(o.dataAccessConfig!); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.entityStatus!, + unittest.equals('foo'), + ); + checkAdvertiserGeneralConfig(o.generalConfig!); + checkIntegrationDetails(o.integrationDetails!); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.partnerId!, + unittest.equals('foo'), + ); + unittest.expect(o.prismaEnabled!, unittest.isTrue); + checkAdvertiserTargetingConfig(o.servingConfig!); + unittest.expect( + o.updateTime!, + unittest.equals('foo'), + ); + } + buildCounterAdvertiser--; +} + +core.int buildCounterAdvertiserAdServerConfig = 0; +api.AdvertiserAdServerConfig buildAdvertiserAdServerConfig() { + final o = api.AdvertiserAdServerConfig(); + buildCounterAdvertiserAdServerConfig++; + if (buildCounterAdvertiserAdServerConfig < 3) { + o.cmHybridConfig = buildCmHybridConfig(); + o.thirdPartyOnlyConfig = buildThirdPartyOnlyConfig(); + } + buildCounterAdvertiserAdServerConfig--; + return o; +} + +void checkAdvertiserAdServerConfig(api.AdvertiserAdServerConfig o) { + buildCounterAdvertiserAdServerConfig++; + if (buildCounterAdvertiserAdServerConfig < 3) { + checkCmHybridConfig(o.cmHybridConfig!); + checkThirdPartyOnlyConfig(o.thirdPartyOnlyConfig!); + } + buildCounterAdvertiserAdServerConfig--; +} + +core.int buildCounterAdvertiserBillingConfig = 0; +api.AdvertiserBillingConfig buildAdvertiserBillingConfig() { + final o = api.AdvertiserBillingConfig(); + buildCounterAdvertiserBillingConfig++; + if (buildCounterAdvertiserBillingConfig < 3) { + o.billingProfileId = 'foo'; + } + buildCounterAdvertiserBillingConfig--; + return o; +} + +void checkAdvertiserBillingConfig(api.AdvertiserBillingConfig o) { + buildCounterAdvertiserBillingConfig++; + if (buildCounterAdvertiserBillingConfig < 3) { + unittest.expect( + o.billingProfileId!, + unittest.equals('foo'), + ); + } + buildCounterAdvertiserBillingConfig--; +} + +core.int buildCounterAdvertiserCreativeConfig = 0; +api.AdvertiserCreativeConfig buildAdvertiserCreativeConfig() { + final o = api.AdvertiserCreativeConfig(); + buildCounterAdvertiserCreativeConfig++; + if (buildCounterAdvertiserCreativeConfig < 3) { + o.dynamicCreativeEnabled = true; + o.iasClientId = 'foo'; + o.obaComplianceDisabled = true; + o.videoCreativeDataSharingAuthorized = true; + } + buildCounterAdvertiserCreativeConfig--; + return o; +} + +void checkAdvertiserCreativeConfig(api.AdvertiserCreativeConfig o) { + buildCounterAdvertiserCreativeConfig++; + if (buildCounterAdvertiserCreativeConfig < 3) { + unittest.expect(o.dynamicCreativeEnabled!, unittest.isTrue); + unittest.expect( + o.iasClientId!, + unittest.equals('foo'), + ); + unittest.expect(o.obaComplianceDisabled!, unittest.isTrue); + unittest.expect(o.videoCreativeDataSharingAuthorized!, unittest.isTrue); + } + buildCounterAdvertiserCreativeConfig--; +} + +core.int buildCounterAdvertiserDataAccessConfig = 0; +api.AdvertiserDataAccessConfig buildAdvertiserDataAccessConfig() { + final o = api.AdvertiserDataAccessConfig(); + buildCounterAdvertiserDataAccessConfig++; + if (buildCounterAdvertiserDataAccessConfig < 3) { + o.sdfConfig = buildAdvertiserSdfConfig(); + } + buildCounterAdvertiserDataAccessConfig--; + return o; +} + +void checkAdvertiserDataAccessConfig(api.AdvertiserDataAccessConfig o) { + buildCounterAdvertiserDataAccessConfig++; + if (buildCounterAdvertiserDataAccessConfig < 3) { + checkAdvertiserSdfConfig(o.sdfConfig!); + } + buildCounterAdvertiserDataAccessConfig--; +} + +core.int buildCounterAdvertiserGeneralConfig = 0; +api.AdvertiserGeneralConfig buildAdvertiserGeneralConfig() { + final o = api.AdvertiserGeneralConfig(); + buildCounterAdvertiserGeneralConfig++; + if (buildCounterAdvertiserGeneralConfig < 3) { + o.currencyCode = 'foo'; + o.domainUrl = 'foo'; + o.timeZone = 'foo'; + } + buildCounterAdvertiserGeneralConfig--; + return o; +} + +void checkAdvertiserGeneralConfig(api.AdvertiserGeneralConfig o) { + buildCounterAdvertiserGeneralConfig++; + if (buildCounterAdvertiserGeneralConfig < 3) { + unittest.expect( + o.currencyCode!, + unittest.equals('foo'), + ); + unittest.expect( + o.domainUrl!, + unittest.equals('foo'), + ); + unittest.expect( + o.timeZone!, + unittest.equals('foo'), + ); + } + buildCounterAdvertiserGeneralConfig--; +} + +core.int buildCounterAdvertiserSdfConfig = 0; +api.AdvertiserSdfConfig buildAdvertiserSdfConfig() { + final o = api.AdvertiserSdfConfig(); + buildCounterAdvertiserSdfConfig++; + if (buildCounterAdvertiserSdfConfig < 3) { + o.overridePartnerSdfConfig = true; + o.sdfConfig = buildSdfConfig(); + } + buildCounterAdvertiserSdfConfig--; + return o; +} + +void checkAdvertiserSdfConfig(api.AdvertiserSdfConfig o) { + buildCounterAdvertiserSdfConfig++; + if (buildCounterAdvertiserSdfConfig < 3) { + unittest.expect(o.overridePartnerSdfConfig!, unittest.isTrue); + checkSdfConfig(o.sdfConfig!); + } + buildCounterAdvertiserSdfConfig--; +} + +core.int buildCounterAdvertiserTargetingConfig = 0; +api.AdvertiserTargetingConfig buildAdvertiserTargetingConfig() { + final o = api.AdvertiserTargetingConfig(); + buildCounterAdvertiserTargetingConfig++; + if (buildCounterAdvertiserTargetingConfig < 3) { + o.exemptTvFromViewabilityTargeting = true; + } + buildCounterAdvertiserTargetingConfig--; + return o; +} + +void checkAdvertiserTargetingConfig(api.AdvertiserTargetingConfig o) { + buildCounterAdvertiserTargetingConfig++; + if (buildCounterAdvertiserTargetingConfig < 3) { + unittest.expect(o.exemptTvFromViewabilityTargeting!, unittest.isTrue); + } + buildCounterAdvertiserTargetingConfig--; +} + +core.int buildCounterAgeRangeAssignedTargetingOptionDetails = 0; +api.AgeRangeAssignedTargetingOptionDetails + buildAgeRangeAssignedTargetingOptionDetails() { + final o = api.AgeRangeAssignedTargetingOptionDetails(); + buildCounterAgeRangeAssignedTargetingOptionDetails++; + if (buildCounterAgeRangeAssignedTargetingOptionDetails < 3) { + o.ageRange = 'foo'; + } + buildCounterAgeRangeAssignedTargetingOptionDetails--; + return o; +} + +void checkAgeRangeAssignedTargetingOptionDetails( + api.AgeRangeAssignedTargetingOptionDetails o) { + buildCounterAgeRangeAssignedTargetingOptionDetails++; + if (buildCounterAgeRangeAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.ageRange!, + unittest.equals('foo'), + ); + } + buildCounterAgeRangeAssignedTargetingOptionDetails--; +} + +core.int buildCounterAgeRangeTargetingOptionDetails = 0; +api.AgeRangeTargetingOptionDetails buildAgeRangeTargetingOptionDetails() { + final o = api.AgeRangeTargetingOptionDetails(); + buildCounterAgeRangeTargetingOptionDetails++; + if (buildCounterAgeRangeTargetingOptionDetails < 3) { + o.ageRange = 'foo'; + } + buildCounterAgeRangeTargetingOptionDetails--; + return o; +} + +void checkAgeRangeTargetingOptionDetails(api.AgeRangeTargetingOptionDetails o) { + buildCounterAgeRangeTargetingOptionDetails++; + if (buildCounterAgeRangeTargetingOptionDetails < 3) { + unittest.expect( + o.ageRange!, + unittest.equals('foo'), + ); + } + buildCounterAgeRangeTargetingOptionDetails--; +} + +core.int buildCounterAppAssignedTargetingOptionDetails = 0; +api.AppAssignedTargetingOptionDetails buildAppAssignedTargetingOptionDetails() { + final o = api.AppAssignedTargetingOptionDetails(); + buildCounterAppAssignedTargetingOptionDetails++; + if (buildCounterAppAssignedTargetingOptionDetails < 3) { + o.appId = 'foo'; + o.appPlatform = 'foo'; + o.displayName = 'foo'; + o.negative = true; + } + buildCounterAppAssignedTargetingOptionDetails--; + return o; +} + +void checkAppAssignedTargetingOptionDetails( + api.AppAssignedTargetingOptionDetails o) { + buildCounterAppAssignedTargetingOptionDetails++; + if (buildCounterAppAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.appId!, + unittest.equals('foo'), + ); + unittest.expect( + o.appPlatform!, + unittest.equals('foo'), + ); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect(o.negative!, unittest.isTrue); + } + buildCounterAppAssignedTargetingOptionDetails--; +} + +core.int buildCounterAppCategoryAssignedTargetingOptionDetails = 0; +api.AppCategoryAssignedTargetingOptionDetails + buildAppCategoryAssignedTargetingOptionDetails() { + final o = api.AppCategoryAssignedTargetingOptionDetails(); + buildCounterAppCategoryAssignedTargetingOptionDetails++; + if (buildCounterAppCategoryAssignedTargetingOptionDetails < 3) { + o.displayName = 'foo'; + o.negative = true; + o.targetingOptionId = 'foo'; + } + buildCounterAppCategoryAssignedTargetingOptionDetails--; + return o; +} + +void checkAppCategoryAssignedTargetingOptionDetails( + api.AppCategoryAssignedTargetingOptionDetails o) { + buildCounterAppCategoryAssignedTargetingOptionDetails++; + if (buildCounterAppCategoryAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect(o.negative!, unittest.isTrue); + unittest.expect( + o.targetingOptionId!, + unittest.equals('foo'), + ); + } + buildCounterAppCategoryAssignedTargetingOptionDetails--; +} + +core.int buildCounterAppCategoryTargetingOptionDetails = 0; +api.AppCategoryTargetingOptionDetails buildAppCategoryTargetingOptionDetails() { + final o = api.AppCategoryTargetingOptionDetails(); + buildCounterAppCategoryTargetingOptionDetails++; + if (buildCounterAppCategoryTargetingOptionDetails < 3) { + o.displayName = 'foo'; + } + buildCounterAppCategoryTargetingOptionDetails--; + return o; +} + +void checkAppCategoryTargetingOptionDetails( + api.AppCategoryTargetingOptionDetails o) { + buildCounterAppCategoryTargetingOptionDetails++; + if (buildCounterAppCategoryTargetingOptionDetails < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + } + buildCounterAppCategoryTargetingOptionDetails--; +} + +core.int buildCounterAsset = 0; +api.Asset buildAsset() { + final o = api.Asset(); + buildCounterAsset++; + if (buildCounterAsset < 3) { + o.content = 'foo'; + o.mediaId = 'foo'; + } + buildCounterAsset--; + return o; +} + +void checkAsset(api.Asset o) { + buildCounterAsset++; + if (buildCounterAsset < 3) { + unittest.expect( + o.content!, + unittest.equals('foo'), + ); + unittest.expect( + o.mediaId!, + unittest.equals('foo'), + ); + } + buildCounterAsset--; +} + +core.int buildCounterAssetAssociation = 0; +api.AssetAssociation buildAssetAssociation() { + final o = api.AssetAssociation(); + buildCounterAssetAssociation++; + if (buildCounterAssetAssociation < 3) { + o.asset = buildAsset(); + o.role = 'foo'; + } + buildCounterAssetAssociation--; + return o; +} + +void checkAssetAssociation(api.AssetAssociation o) { + buildCounterAssetAssociation++; + if (buildCounterAssetAssociation < 3) { + checkAsset(o.asset!); + unittest.expect( + o.role!, + unittest.equals('foo'), + ); + } + buildCounterAssetAssociation--; +} + +core.int buildCounterAssignedInventorySource = 0; +api.AssignedInventorySource buildAssignedInventorySource() { + final o = api.AssignedInventorySource(); + buildCounterAssignedInventorySource++; + if (buildCounterAssignedInventorySource < 3) { + o.assignedInventorySourceId = 'foo'; + o.inventorySourceId = 'foo'; + o.name = 'foo'; + } + buildCounterAssignedInventorySource--; + return o; +} + +void checkAssignedInventorySource(api.AssignedInventorySource o) { + buildCounterAssignedInventorySource++; + if (buildCounterAssignedInventorySource < 3) { + unittest.expect( + o.assignedInventorySourceId!, + unittest.equals('foo'), + ); + unittest.expect( + o.inventorySourceId!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + } + buildCounterAssignedInventorySource--; +} + +core.int buildCounterAssignedLocation = 0; +api.AssignedLocation buildAssignedLocation() { + final o = api.AssignedLocation(); + buildCounterAssignedLocation++; + if (buildCounterAssignedLocation < 3) { + o.assignedLocationId = 'foo'; + o.name = 'foo'; + o.targetingOptionId = 'foo'; + } + buildCounterAssignedLocation--; + return o; +} + +void checkAssignedLocation(api.AssignedLocation o) { + buildCounterAssignedLocation++; + if (buildCounterAssignedLocation < 3) { + unittest.expect( + o.assignedLocationId!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.targetingOptionId!, + unittest.equals('foo'), + ); + } + buildCounterAssignedLocation--; +} + +core.int buildCounterAssignedTargetingOption = 0; +api.AssignedTargetingOption buildAssignedTargetingOption() { + final o = api.AssignedTargetingOption(); + buildCounterAssignedTargetingOption++; + if (buildCounterAssignedTargetingOption < 3) { + o.ageRangeDetails = buildAgeRangeAssignedTargetingOptionDetails(); + o.appCategoryDetails = buildAppCategoryAssignedTargetingOptionDetails(); + o.appDetails = buildAppAssignedTargetingOptionDetails(); + o.assignedTargetingOptionId = 'foo'; + o.assignedTargetingOptionIdAlias = 'foo'; + o.audienceGroupDetails = buildAudienceGroupAssignedTargetingOptionDetails(); + o.audioContentTypeDetails = + buildAudioContentTypeAssignedTargetingOptionDetails(); + o.authorizedSellerStatusDetails = + buildAuthorizedSellerStatusAssignedTargetingOptionDetails(); + o.browserDetails = buildBrowserAssignedTargetingOptionDetails(); + o.businessChainDetails = buildBusinessChainAssignedTargetingOptionDetails(); + o.carrierAndIspDetails = buildCarrierAndIspAssignedTargetingOptionDetails(); + o.categoryDetails = buildCategoryAssignedTargetingOptionDetails(); + o.channelDetails = buildChannelAssignedTargetingOptionDetails(); + o.contentDurationDetails = + buildContentDurationAssignedTargetingOptionDetails(); + o.contentGenreDetails = buildContentGenreAssignedTargetingOptionDetails(); + o.contentInstreamPositionDetails = + buildContentInstreamPositionAssignedTargetingOptionDetails(); + o.contentOutstreamPositionDetails = + buildContentOutstreamPositionAssignedTargetingOptionDetails(); + o.contentStreamTypeDetails = + buildContentStreamTypeAssignedTargetingOptionDetails(); + o.dayAndTimeDetails = buildDayAndTimeAssignedTargetingOptionDetails(); + o.deviceMakeModelDetails = + buildDeviceMakeModelAssignedTargetingOptionDetails(); + o.deviceTypeDetails = buildDeviceTypeAssignedTargetingOptionDetails(); + o.digitalContentLabelExclusionDetails = + buildDigitalContentLabelAssignedTargetingOptionDetails(); + o.environmentDetails = buildEnvironmentAssignedTargetingOptionDetails(); + o.exchangeDetails = buildExchangeAssignedTargetingOptionDetails(); + o.genderDetails = buildGenderAssignedTargetingOptionDetails(); + o.geoRegionDetails = buildGeoRegionAssignedTargetingOptionDetails(); + o.householdIncomeDetails = + buildHouseholdIncomeAssignedTargetingOptionDetails(); + o.inheritance = 'foo'; + o.inventorySourceDetails = + buildInventorySourceAssignedTargetingOptionDetails(); + o.inventorySourceGroupDetails = + buildInventorySourceGroupAssignedTargetingOptionDetails(); + o.keywordDetails = buildKeywordAssignedTargetingOptionDetails(); + o.languageDetails = buildLanguageAssignedTargetingOptionDetails(); + o.name = 'foo'; + o.nativeContentPositionDetails = + buildNativeContentPositionAssignedTargetingOptionDetails(); + o.negativeKeywordListDetails = + buildNegativeKeywordListAssignedTargetingOptionDetails(); + o.omidDetails = buildOmidAssignedTargetingOptionDetails(); + o.onScreenPositionDetails = + buildOnScreenPositionAssignedTargetingOptionDetails(); + o.operatingSystemDetails = + buildOperatingSystemAssignedTargetingOptionDetails(); + o.parentalStatusDetails = + buildParentalStatusAssignedTargetingOptionDetails(); + o.poiDetails = buildPoiAssignedTargetingOptionDetails(); + o.proximityLocationListDetails = + buildProximityLocationListAssignedTargetingOptionDetails(); + o.regionalLocationListDetails = + buildRegionalLocationListAssignedTargetingOptionDetails(); + o.sensitiveCategoryExclusionDetails = + buildSensitiveCategoryAssignedTargetingOptionDetails(); + o.sessionPositionDetails = + buildSessionPositionAssignedTargetingOptionDetails(); + o.subExchangeDetails = buildSubExchangeAssignedTargetingOptionDetails(); + o.targetingType = 'foo'; + o.thirdPartyVerifierDetails = + buildThirdPartyVerifierAssignedTargetingOptionDetails(); + o.urlDetails = buildUrlAssignedTargetingOptionDetails(); + o.userRewardedContentDetails = + buildUserRewardedContentAssignedTargetingOptionDetails(); + o.videoPlayerSizeDetails = + buildVideoPlayerSizeAssignedTargetingOptionDetails(); + o.viewabilityDetails = buildViewabilityAssignedTargetingOptionDetails(); + o.youtubeChannelDetails = + buildYoutubeChannelAssignedTargetingOptionDetails(); + o.youtubeVideoDetails = buildYoutubeVideoAssignedTargetingOptionDetails(); + } + buildCounterAssignedTargetingOption--; + return o; +} + +void checkAssignedTargetingOption(api.AssignedTargetingOption o) { + buildCounterAssignedTargetingOption++; + if (buildCounterAssignedTargetingOption < 3) { + checkAgeRangeAssignedTargetingOptionDetails(o.ageRangeDetails!); + checkAppCategoryAssignedTargetingOptionDetails(o.appCategoryDetails!); + checkAppAssignedTargetingOptionDetails(o.appDetails!); + unittest.expect( + o.assignedTargetingOptionId!, + unittest.equals('foo'), + ); + unittest.expect( + o.assignedTargetingOptionIdAlias!, + unittest.equals('foo'), + ); + checkAudienceGroupAssignedTargetingOptionDetails(o.audienceGroupDetails!); + checkAudioContentTypeAssignedTargetingOptionDetails( + o.audioContentTypeDetails!); + checkAuthorizedSellerStatusAssignedTargetingOptionDetails( + o.authorizedSellerStatusDetails!); + checkBrowserAssignedTargetingOptionDetails(o.browserDetails!); + checkBusinessChainAssignedTargetingOptionDetails(o.businessChainDetails!); + checkCarrierAndIspAssignedTargetingOptionDetails(o.carrierAndIspDetails!); + checkCategoryAssignedTargetingOptionDetails(o.categoryDetails!); + checkChannelAssignedTargetingOptionDetails(o.channelDetails!); + checkContentDurationAssignedTargetingOptionDetails( + o.contentDurationDetails!); + checkContentGenreAssignedTargetingOptionDetails(o.contentGenreDetails!); + checkContentInstreamPositionAssignedTargetingOptionDetails( + o.contentInstreamPositionDetails!); + checkContentOutstreamPositionAssignedTargetingOptionDetails( + o.contentOutstreamPositionDetails!); + checkContentStreamTypeAssignedTargetingOptionDetails( + o.contentStreamTypeDetails!); + checkDayAndTimeAssignedTargetingOptionDetails(o.dayAndTimeDetails!); + checkDeviceMakeModelAssignedTargetingOptionDetails( + o.deviceMakeModelDetails!); + checkDeviceTypeAssignedTargetingOptionDetails(o.deviceTypeDetails!); + checkDigitalContentLabelAssignedTargetingOptionDetails( + o.digitalContentLabelExclusionDetails!); + checkEnvironmentAssignedTargetingOptionDetails(o.environmentDetails!); + checkExchangeAssignedTargetingOptionDetails(o.exchangeDetails!); + checkGenderAssignedTargetingOptionDetails(o.genderDetails!); + checkGeoRegionAssignedTargetingOptionDetails(o.geoRegionDetails!); + checkHouseholdIncomeAssignedTargetingOptionDetails( + o.householdIncomeDetails!); + unittest.expect( + o.inheritance!, + unittest.equals('foo'), + ); + checkInventorySourceAssignedTargetingOptionDetails( + o.inventorySourceDetails!); + checkInventorySourceGroupAssignedTargetingOptionDetails( + o.inventorySourceGroupDetails!); + checkKeywordAssignedTargetingOptionDetails(o.keywordDetails!); + checkLanguageAssignedTargetingOptionDetails(o.languageDetails!); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + checkNativeContentPositionAssignedTargetingOptionDetails( + o.nativeContentPositionDetails!); + checkNegativeKeywordListAssignedTargetingOptionDetails( + o.negativeKeywordListDetails!); + checkOmidAssignedTargetingOptionDetails(o.omidDetails!); + checkOnScreenPositionAssignedTargetingOptionDetails( + o.onScreenPositionDetails!); + checkOperatingSystemAssignedTargetingOptionDetails( + o.operatingSystemDetails!); + checkParentalStatusAssignedTargetingOptionDetails(o.parentalStatusDetails!); + checkPoiAssignedTargetingOptionDetails(o.poiDetails!); + checkProximityLocationListAssignedTargetingOptionDetails( + o.proximityLocationListDetails!); + checkRegionalLocationListAssignedTargetingOptionDetails( + o.regionalLocationListDetails!); + checkSensitiveCategoryAssignedTargetingOptionDetails( + o.sensitiveCategoryExclusionDetails!); + checkSessionPositionAssignedTargetingOptionDetails( + o.sessionPositionDetails!); + checkSubExchangeAssignedTargetingOptionDetails(o.subExchangeDetails!); + unittest.expect( + o.targetingType!, + unittest.equals('foo'), + ); + checkThirdPartyVerifierAssignedTargetingOptionDetails( + o.thirdPartyVerifierDetails!); + checkUrlAssignedTargetingOptionDetails(o.urlDetails!); + checkUserRewardedContentAssignedTargetingOptionDetails( + o.userRewardedContentDetails!); + checkVideoPlayerSizeAssignedTargetingOptionDetails( + o.videoPlayerSizeDetails!); + checkViewabilityAssignedTargetingOptionDetails(o.viewabilityDetails!); + checkYoutubeChannelAssignedTargetingOptionDetails(o.youtubeChannelDetails!); + checkYoutubeVideoAssignedTargetingOptionDetails(o.youtubeVideoDetails!); + } + buildCounterAssignedTargetingOption--; +} + +core.int buildCounterAssignedUserRole = 0; +api.AssignedUserRole buildAssignedUserRole() { + final o = api.AssignedUserRole(); + buildCounterAssignedUserRole++; + if (buildCounterAssignedUserRole < 3) { + o.advertiserId = 'foo'; + o.assignedUserRoleId = 'foo'; + o.partnerId = 'foo'; + o.userRole = 'foo'; + } + buildCounterAssignedUserRole--; + return o; +} + +void checkAssignedUserRole(api.AssignedUserRole o) { + buildCounterAssignedUserRole++; + if (buildCounterAssignedUserRole < 3) { + unittest.expect( + o.advertiserId!, + unittest.equals('foo'), + ); + unittest.expect( + o.assignedUserRoleId!, + unittest.equals('foo'), + ); + unittest.expect( + o.partnerId!, + unittest.equals('foo'), + ); + unittest.expect( + o.userRole!, + unittest.equals('foo'), + ); + } + buildCounterAssignedUserRole--; +} + +core.List buildUnnamed3() => [ + buildFirstPartyAndPartnerAudienceGroup(), + buildFirstPartyAndPartnerAudienceGroup(), + ]; + +void checkUnnamed3(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkFirstPartyAndPartnerAudienceGroup(o[0]); + checkFirstPartyAndPartnerAudienceGroup(o[1]); +} + +core.int buildCounterAudienceGroupAssignedTargetingOptionDetails = 0; +api.AudienceGroupAssignedTargetingOptionDetails + buildAudienceGroupAssignedTargetingOptionDetails() { + final o = api.AudienceGroupAssignedTargetingOptionDetails(); + buildCounterAudienceGroupAssignedTargetingOptionDetails++; + if (buildCounterAudienceGroupAssignedTargetingOptionDetails < 3) { + o.excludedFirstPartyAndPartnerAudienceGroup = + buildFirstPartyAndPartnerAudienceGroup(); + o.excludedGoogleAudienceGroup = buildGoogleAudienceGroup(); + o.includedCombinedAudienceGroup = buildCombinedAudienceGroup(); + o.includedCustomListGroup = buildCustomListGroup(); + o.includedFirstPartyAndPartnerAudienceGroups = buildUnnamed3(); + o.includedGoogleAudienceGroup = buildGoogleAudienceGroup(); + } + buildCounterAudienceGroupAssignedTargetingOptionDetails--; + return o; +} + +void checkAudienceGroupAssignedTargetingOptionDetails( + api.AudienceGroupAssignedTargetingOptionDetails o) { + buildCounterAudienceGroupAssignedTargetingOptionDetails++; + if (buildCounterAudienceGroupAssignedTargetingOptionDetails < 3) { + checkFirstPartyAndPartnerAudienceGroup( + o.excludedFirstPartyAndPartnerAudienceGroup!); + checkGoogleAudienceGroup(o.excludedGoogleAudienceGroup!); + checkCombinedAudienceGroup(o.includedCombinedAudienceGroup!); + checkCustomListGroup(o.includedCustomListGroup!); + checkUnnamed3(o.includedFirstPartyAndPartnerAudienceGroups!); + checkGoogleAudienceGroup(o.includedGoogleAudienceGroup!); + } + buildCounterAudienceGroupAssignedTargetingOptionDetails--; +} + +core.int buildCounterAudioAd = 0; +api.AudioAd buildAudioAd() { + final o = api.AudioAd(); + buildCounterAudioAd++; + if (buildCounterAudioAd < 3) { + o.displayUrl = 'foo'; + o.finalUrl = 'foo'; + o.trackingUrl = 'foo'; + o.video = buildYoutubeVideoDetails(); + } + buildCounterAudioAd--; + return o; +} + +void checkAudioAd(api.AudioAd o) { + buildCounterAudioAd++; + if (buildCounterAudioAd < 3) { + unittest.expect( + o.displayUrl!, + unittest.equals('foo'), + ); + unittest.expect( + o.finalUrl!, + unittest.equals('foo'), + ); + unittest.expect( + o.trackingUrl!, + unittest.equals('foo'), + ); + checkYoutubeVideoDetails(o.video!); + } + buildCounterAudioAd--; +} + +core.int buildCounterAudioContentTypeAssignedTargetingOptionDetails = 0; +api.AudioContentTypeAssignedTargetingOptionDetails + buildAudioContentTypeAssignedTargetingOptionDetails() { + final o = api.AudioContentTypeAssignedTargetingOptionDetails(); + buildCounterAudioContentTypeAssignedTargetingOptionDetails++; + if (buildCounterAudioContentTypeAssignedTargetingOptionDetails < 3) { + o.audioContentType = 'foo'; + } + buildCounterAudioContentTypeAssignedTargetingOptionDetails--; + return o; +} + +void checkAudioContentTypeAssignedTargetingOptionDetails( + api.AudioContentTypeAssignedTargetingOptionDetails o) { + buildCounterAudioContentTypeAssignedTargetingOptionDetails++; + if (buildCounterAudioContentTypeAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.audioContentType!, + unittest.equals('foo'), + ); + } + buildCounterAudioContentTypeAssignedTargetingOptionDetails--; +} + +core.int buildCounterAudioContentTypeTargetingOptionDetails = 0; +api.AudioContentTypeTargetingOptionDetails + buildAudioContentTypeTargetingOptionDetails() { + final o = api.AudioContentTypeTargetingOptionDetails(); + buildCounterAudioContentTypeTargetingOptionDetails++; + if (buildCounterAudioContentTypeTargetingOptionDetails < 3) { + o.audioContentType = 'foo'; + } + buildCounterAudioContentTypeTargetingOptionDetails--; + return o; +} + +void checkAudioContentTypeTargetingOptionDetails( + api.AudioContentTypeTargetingOptionDetails o) { + buildCounterAudioContentTypeTargetingOptionDetails++; + if (buildCounterAudioContentTypeTargetingOptionDetails < 3) { + unittest.expect( + o.audioContentType!, + unittest.equals('foo'), + ); + } + buildCounterAudioContentTypeTargetingOptionDetails--; +} + +core.int buildCounterAudioVideoOffset = 0; +api.AudioVideoOffset buildAudioVideoOffset() { + final o = api.AudioVideoOffset(); + buildCounterAudioVideoOffset++; + if (buildCounterAudioVideoOffset < 3) { + o.percentage = 'foo'; + o.seconds = 'foo'; + } + buildCounterAudioVideoOffset--; + return o; +} + +void checkAudioVideoOffset(api.AudioVideoOffset o) { + buildCounterAudioVideoOffset++; + if (buildCounterAudioVideoOffset < 3) { + unittest.expect( + o.percentage!, + unittest.equals('foo'), + ); + unittest.expect( + o.seconds!, + unittest.equals('foo'), + ); + } + buildCounterAudioVideoOffset--; +} + +core.int buildCounterAuditAdvertiserResponse = 0; +api.AuditAdvertiserResponse buildAuditAdvertiserResponse() { + final o = api.AuditAdvertiserResponse(); + buildCounterAuditAdvertiserResponse++; + if (buildCounterAuditAdvertiserResponse < 3) { + o.adGroupCriteriaCount = 'foo'; + o.campaignCriteriaCount = 'foo'; + o.channelsCount = 'foo'; + o.negativeKeywordListsCount = 'foo'; + o.negativelyTargetedChannelsCount = 'foo'; + o.usedCampaignsCount = 'foo'; + o.usedInsertionOrdersCount = 'foo'; + o.usedLineItemsCount = 'foo'; + } + buildCounterAuditAdvertiserResponse--; + return o; +} + +void checkAuditAdvertiserResponse(api.AuditAdvertiserResponse o) { + buildCounterAuditAdvertiserResponse++; + if (buildCounterAuditAdvertiserResponse < 3) { + unittest.expect( + o.adGroupCriteriaCount!, + unittest.equals('foo'), + ); + unittest.expect( + o.campaignCriteriaCount!, + unittest.equals('foo'), + ); + unittest.expect( + o.channelsCount!, + unittest.equals('foo'), + ); + unittest.expect( + o.negativeKeywordListsCount!, + unittest.equals('foo'), + ); + unittest.expect( + o.negativelyTargetedChannelsCount!, + unittest.equals('foo'), + ); + unittest.expect( + o.usedCampaignsCount!, + unittest.equals('foo'), + ); + unittest.expect( + o.usedInsertionOrdersCount!, + unittest.equals('foo'), + ); + unittest.expect( + o.usedLineItemsCount!, + unittest.equals('foo'), + ); + } + buildCounterAuditAdvertiserResponse--; +} + +core.int buildCounterAuthorizedSellerStatusAssignedTargetingOptionDetails = 0; +api.AuthorizedSellerStatusAssignedTargetingOptionDetails + buildAuthorizedSellerStatusAssignedTargetingOptionDetails() { + final o = api.AuthorizedSellerStatusAssignedTargetingOptionDetails(); + buildCounterAuthorizedSellerStatusAssignedTargetingOptionDetails++; + if (buildCounterAuthorizedSellerStatusAssignedTargetingOptionDetails < 3) { + o.authorizedSellerStatus = 'foo'; + o.targetingOptionId = 'foo'; + } + buildCounterAuthorizedSellerStatusAssignedTargetingOptionDetails--; + return o; +} + +void checkAuthorizedSellerStatusAssignedTargetingOptionDetails( + api.AuthorizedSellerStatusAssignedTargetingOptionDetails o) { + buildCounterAuthorizedSellerStatusAssignedTargetingOptionDetails++; + if (buildCounterAuthorizedSellerStatusAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.authorizedSellerStatus!, + unittest.equals('foo'), + ); + unittest.expect( + o.targetingOptionId!, + unittest.equals('foo'), + ); + } + buildCounterAuthorizedSellerStatusAssignedTargetingOptionDetails--; +} + +core.int buildCounterAuthorizedSellerStatusTargetingOptionDetails = 0; +api.AuthorizedSellerStatusTargetingOptionDetails + buildAuthorizedSellerStatusTargetingOptionDetails() { + final o = api.AuthorizedSellerStatusTargetingOptionDetails(); + buildCounterAuthorizedSellerStatusTargetingOptionDetails++; + if (buildCounterAuthorizedSellerStatusTargetingOptionDetails < 3) { + o.authorizedSellerStatus = 'foo'; + } + buildCounterAuthorizedSellerStatusTargetingOptionDetails--; + return o; +} + +void checkAuthorizedSellerStatusTargetingOptionDetails( + api.AuthorizedSellerStatusTargetingOptionDetails o) { + buildCounterAuthorizedSellerStatusTargetingOptionDetails++; + if (buildCounterAuthorizedSellerStatusTargetingOptionDetails < 3) { + unittest.expect( + o.authorizedSellerStatus!, + unittest.equals('foo'), + ); + } + buildCounterAuthorizedSellerStatusTargetingOptionDetails--; +} + +core.int buildCounterBiddingStrategy = 0; +api.BiddingStrategy buildBiddingStrategy() { + final o = api.BiddingStrategy(); + buildCounterBiddingStrategy++; + if (buildCounterBiddingStrategy < 3) { + o.fixedBid = buildFixedBidStrategy(); + o.maximizeSpendAutoBid = buildMaximizeSpendBidStrategy(); + o.performanceGoalAutoBid = buildPerformanceGoalBidStrategy(); + o.youtubeAndPartnersBid = buildYoutubeAndPartnersBiddingStrategy(); + } + buildCounterBiddingStrategy--; + return o; +} + +void checkBiddingStrategy(api.BiddingStrategy o) { + buildCounterBiddingStrategy++; + if (buildCounterBiddingStrategy < 3) { + checkFixedBidStrategy(o.fixedBid!); + checkMaximizeSpendBidStrategy(o.maximizeSpendAutoBid!); + checkPerformanceGoalBidStrategy(o.performanceGoalAutoBid!); + checkYoutubeAndPartnersBiddingStrategy(o.youtubeAndPartnersBid!); + } + buildCounterBiddingStrategy--; +} + +core.int buildCounterBrowserAssignedTargetingOptionDetails = 0; +api.BrowserAssignedTargetingOptionDetails + buildBrowserAssignedTargetingOptionDetails() { + final o = api.BrowserAssignedTargetingOptionDetails(); + buildCounterBrowserAssignedTargetingOptionDetails++; + if (buildCounterBrowserAssignedTargetingOptionDetails < 3) { + o.displayName = 'foo'; + o.negative = true; + o.targetingOptionId = 'foo'; + } + buildCounterBrowserAssignedTargetingOptionDetails--; + return o; +} + +void checkBrowserAssignedTargetingOptionDetails( + api.BrowserAssignedTargetingOptionDetails o) { + buildCounterBrowserAssignedTargetingOptionDetails++; + if (buildCounterBrowserAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect(o.negative!, unittest.isTrue); + unittest.expect( + o.targetingOptionId!, + unittest.equals('foo'), + ); + } + buildCounterBrowserAssignedTargetingOptionDetails--; +} + +core.int buildCounterBrowserTargetingOptionDetails = 0; +api.BrowserTargetingOptionDetails buildBrowserTargetingOptionDetails() { + final o = api.BrowserTargetingOptionDetails(); + buildCounterBrowserTargetingOptionDetails++; + if (buildCounterBrowserTargetingOptionDetails < 3) { + o.displayName = 'foo'; + } + buildCounterBrowserTargetingOptionDetails--; + return o; +} + +void checkBrowserTargetingOptionDetails(api.BrowserTargetingOptionDetails o) { + buildCounterBrowserTargetingOptionDetails++; + if (buildCounterBrowserTargetingOptionDetails < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + } + buildCounterBrowserTargetingOptionDetails--; +} + +core.int buildCounterBudgetSummary = 0; +api.BudgetSummary buildBudgetSummary() { + final o = api.BudgetSummary(); + buildCounterBudgetSummary++; + if (buildCounterBudgetSummary < 3) { + o.externalBudgetId = 'foo'; + o.preTaxAmountMicros = 'foo'; + o.prismaCpeCode = buildPrismaCpeCode(); + o.taxAmountMicros = 'foo'; + o.totalAmountMicros = 'foo'; + } + buildCounterBudgetSummary--; + return o; +} + +void checkBudgetSummary(api.BudgetSummary o) { + buildCounterBudgetSummary++; + if (buildCounterBudgetSummary < 3) { + unittest.expect( + o.externalBudgetId!, + unittest.equals('foo'), + ); + unittest.expect( + o.preTaxAmountMicros!, + unittest.equals('foo'), + ); + checkPrismaCpeCode(o.prismaCpeCode!); + unittest.expect( + o.taxAmountMicros!, + unittest.equals('foo'), + ); + unittest.expect( + o.totalAmountMicros!, + unittest.equals('foo'), + ); + } + buildCounterBudgetSummary--; +} + +core.List buildUnnamed4() => [ + buildCreateAssignedTargetingOptionsRequest(), + buildCreateAssignedTargetingOptionsRequest(), + ]; + +void checkUnnamed4(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkCreateAssignedTargetingOptionsRequest(o[0]); + checkCreateAssignedTargetingOptionsRequest(o[1]); +} + +core.List buildUnnamed5() => [ + buildDeleteAssignedTargetingOptionsRequest(), + buildDeleteAssignedTargetingOptionsRequest(), + ]; + +void checkUnnamed5(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkDeleteAssignedTargetingOptionsRequest(o[0]); + checkDeleteAssignedTargetingOptionsRequest(o[1]); +} + +core.int buildCounterBulkEditAdvertiserAssignedTargetingOptionsRequest = 0; +api.BulkEditAdvertiserAssignedTargetingOptionsRequest + buildBulkEditAdvertiserAssignedTargetingOptionsRequest() { + final o = api.BulkEditAdvertiserAssignedTargetingOptionsRequest(); + buildCounterBulkEditAdvertiserAssignedTargetingOptionsRequest++; + if (buildCounterBulkEditAdvertiserAssignedTargetingOptionsRequest < 3) { + o.createRequests = buildUnnamed4(); + o.deleteRequests = buildUnnamed5(); + } + buildCounterBulkEditAdvertiserAssignedTargetingOptionsRequest--; + return o; +} + +void checkBulkEditAdvertiserAssignedTargetingOptionsRequest( + api.BulkEditAdvertiserAssignedTargetingOptionsRequest o) { + buildCounterBulkEditAdvertiserAssignedTargetingOptionsRequest++; + if (buildCounterBulkEditAdvertiserAssignedTargetingOptionsRequest < 3) { + checkUnnamed4(o.createRequests!); + checkUnnamed5(o.deleteRequests!); + } + buildCounterBulkEditAdvertiserAssignedTargetingOptionsRequest--; +} + +core.List buildUnnamed6() => [ + buildAssignedTargetingOption(), + buildAssignedTargetingOption(), + ]; + +void checkUnnamed6(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAssignedTargetingOption(o[0]); + checkAssignedTargetingOption(o[1]); +} + +core.int buildCounterBulkEditAdvertiserAssignedTargetingOptionsResponse = 0; +api.BulkEditAdvertiserAssignedTargetingOptionsResponse + buildBulkEditAdvertiserAssignedTargetingOptionsResponse() { + final o = api.BulkEditAdvertiserAssignedTargetingOptionsResponse(); + buildCounterBulkEditAdvertiserAssignedTargetingOptionsResponse++; + if (buildCounterBulkEditAdvertiserAssignedTargetingOptionsResponse < 3) { + o.createdAssignedTargetingOptions = buildUnnamed6(); + } + buildCounterBulkEditAdvertiserAssignedTargetingOptionsResponse--; + return o; +} + +void checkBulkEditAdvertiserAssignedTargetingOptionsResponse( + api.BulkEditAdvertiserAssignedTargetingOptionsResponse o) { + buildCounterBulkEditAdvertiserAssignedTargetingOptionsResponse++; + if (buildCounterBulkEditAdvertiserAssignedTargetingOptionsResponse < 3) { + checkUnnamed6(o.createdAssignedTargetingOptions!); + } + buildCounterBulkEditAdvertiserAssignedTargetingOptionsResponse--; +} + +core.List buildUnnamed7() => [ + buildAssignedInventorySource(), + buildAssignedInventorySource(), + ]; + +void checkUnnamed7(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAssignedInventorySource(o[0]); + checkAssignedInventorySource(o[1]); +} + +core.List buildUnnamed8() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed8(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterBulkEditAssignedInventorySourcesRequest = 0; +api.BulkEditAssignedInventorySourcesRequest + buildBulkEditAssignedInventorySourcesRequest() { + final o = api.BulkEditAssignedInventorySourcesRequest(); + buildCounterBulkEditAssignedInventorySourcesRequest++; + if (buildCounterBulkEditAssignedInventorySourcesRequest < 3) { + o.advertiserId = 'foo'; + o.createdAssignedInventorySources = buildUnnamed7(); + o.deletedAssignedInventorySources = buildUnnamed8(); + o.partnerId = 'foo'; + } + buildCounterBulkEditAssignedInventorySourcesRequest--; + return o; +} + +void checkBulkEditAssignedInventorySourcesRequest( + api.BulkEditAssignedInventorySourcesRequest o) { + buildCounterBulkEditAssignedInventorySourcesRequest++; + if (buildCounterBulkEditAssignedInventorySourcesRequest < 3) { + unittest.expect( + o.advertiserId!, + unittest.equals('foo'), + ); + checkUnnamed7(o.createdAssignedInventorySources!); + checkUnnamed8(o.deletedAssignedInventorySources!); + unittest.expect( + o.partnerId!, + unittest.equals('foo'), + ); + } + buildCounterBulkEditAssignedInventorySourcesRequest--; +} + +core.List buildUnnamed9() => [ + buildAssignedInventorySource(), + buildAssignedInventorySource(), + ]; + +void checkUnnamed9(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAssignedInventorySource(o[0]); + checkAssignedInventorySource(o[1]); +} + +core.int buildCounterBulkEditAssignedInventorySourcesResponse = 0; +api.BulkEditAssignedInventorySourcesResponse + buildBulkEditAssignedInventorySourcesResponse() { + final o = api.BulkEditAssignedInventorySourcesResponse(); + buildCounterBulkEditAssignedInventorySourcesResponse++; + if (buildCounterBulkEditAssignedInventorySourcesResponse < 3) { + o.assignedInventorySources = buildUnnamed9(); + } + buildCounterBulkEditAssignedInventorySourcesResponse--; + return o; +} + +void checkBulkEditAssignedInventorySourcesResponse( + api.BulkEditAssignedInventorySourcesResponse o) { + buildCounterBulkEditAssignedInventorySourcesResponse++; + if (buildCounterBulkEditAssignedInventorySourcesResponse < 3) { + checkUnnamed9(o.assignedInventorySources!); + } + buildCounterBulkEditAssignedInventorySourcesResponse--; +} + +core.List buildUnnamed10() => [ + buildAssignedLocation(), + buildAssignedLocation(), + ]; + +void checkUnnamed10(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAssignedLocation(o[0]); + checkAssignedLocation(o[1]); +} + +core.List buildUnnamed11() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed11(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterBulkEditAssignedLocationsRequest = 0; +api.BulkEditAssignedLocationsRequest buildBulkEditAssignedLocationsRequest() { + final o = api.BulkEditAssignedLocationsRequest(); + buildCounterBulkEditAssignedLocationsRequest++; + if (buildCounterBulkEditAssignedLocationsRequest < 3) { + o.createdAssignedLocations = buildUnnamed10(); + o.deletedAssignedLocations = buildUnnamed11(); + } + buildCounterBulkEditAssignedLocationsRequest--; + return o; +} + +void checkBulkEditAssignedLocationsRequest( + api.BulkEditAssignedLocationsRequest o) { + buildCounterBulkEditAssignedLocationsRequest++; + if (buildCounterBulkEditAssignedLocationsRequest < 3) { + checkUnnamed10(o.createdAssignedLocations!); + checkUnnamed11(o.deletedAssignedLocations!); + } + buildCounterBulkEditAssignedLocationsRequest--; +} + +core.List buildUnnamed12() => [ + buildAssignedLocation(), + buildAssignedLocation(), + ]; + +void checkUnnamed12(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAssignedLocation(o[0]); + checkAssignedLocation(o[1]); +} + +core.int buildCounterBulkEditAssignedLocationsResponse = 0; +api.BulkEditAssignedLocationsResponse buildBulkEditAssignedLocationsResponse() { + final o = api.BulkEditAssignedLocationsResponse(); + buildCounterBulkEditAssignedLocationsResponse++; + if (buildCounterBulkEditAssignedLocationsResponse < 3) { + o.assignedLocations = buildUnnamed12(); + } + buildCounterBulkEditAssignedLocationsResponse--; + return o; +} + +void checkBulkEditAssignedLocationsResponse( + api.BulkEditAssignedLocationsResponse o) { + buildCounterBulkEditAssignedLocationsResponse++; + if (buildCounterBulkEditAssignedLocationsResponse < 3) { + checkUnnamed12(o.assignedLocations!); + } + buildCounterBulkEditAssignedLocationsResponse--; +} + +core.List buildUnnamed13() => [ + buildCreateAssignedTargetingOptionsRequest(), + buildCreateAssignedTargetingOptionsRequest(), + ]; + +void checkUnnamed13(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkCreateAssignedTargetingOptionsRequest(o[0]); + checkCreateAssignedTargetingOptionsRequest(o[1]); +} + +core.List buildUnnamed14() => [ + buildDeleteAssignedTargetingOptionsRequest(), + buildDeleteAssignedTargetingOptionsRequest(), + ]; + +void checkUnnamed14(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkDeleteAssignedTargetingOptionsRequest(o[0]); + checkDeleteAssignedTargetingOptionsRequest(o[1]); +} + +core.List buildUnnamed15() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed15(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterBulkEditAssignedTargetingOptionsRequest = 0; +api.BulkEditAssignedTargetingOptionsRequest + buildBulkEditAssignedTargetingOptionsRequest() { + final o = api.BulkEditAssignedTargetingOptionsRequest(); + buildCounterBulkEditAssignedTargetingOptionsRequest++; + if (buildCounterBulkEditAssignedTargetingOptionsRequest < 3) { + o.createRequests = buildUnnamed13(); + o.deleteRequests = buildUnnamed14(); + o.lineItemIds = buildUnnamed15(); + } + buildCounterBulkEditAssignedTargetingOptionsRequest--; + return o; +} + +void checkBulkEditAssignedTargetingOptionsRequest( + api.BulkEditAssignedTargetingOptionsRequest o) { + buildCounterBulkEditAssignedTargetingOptionsRequest++; + if (buildCounterBulkEditAssignedTargetingOptionsRequest < 3) { + checkUnnamed13(o.createRequests!); + checkUnnamed14(o.deleteRequests!); + checkUnnamed15(o.lineItemIds!); + } + buildCounterBulkEditAssignedTargetingOptionsRequest--; +} + +core.List buildUnnamed16() => [ + buildStatus(), + buildStatus(), + ]; + +void checkUnnamed16(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkStatus(o[0]); + checkStatus(o[1]); +} + +core.List buildUnnamed17() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed17(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed18() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed18(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterBulkEditAssignedTargetingOptionsResponse = 0; +api.BulkEditAssignedTargetingOptionsResponse + buildBulkEditAssignedTargetingOptionsResponse() { + final o = api.BulkEditAssignedTargetingOptionsResponse(); + buildCounterBulkEditAssignedTargetingOptionsResponse++; + if (buildCounterBulkEditAssignedTargetingOptionsResponse < 3) { + o.errors = buildUnnamed16(); + o.failedLineItemIds = buildUnnamed17(); + o.updatedLineItemIds = buildUnnamed18(); + } + buildCounterBulkEditAssignedTargetingOptionsResponse--; + return o; +} + +void checkBulkEditAssignedTargetingOptionsResponse( + api.BulkEditAssignedTargetingOptionsResponse o) { + buildCounterBulkEditAssignedTargetingOptionsResponse++; + if (buildCounterBulkEditAssignedTargetingOptionsResponse < 3) { + checkUnnamed16(o.errors!); + checkUnnamed17(o.failedLineItemIds!); + checkUnnamed18(o.updatedLineItemIds!); + } + buildCounterBulkEditAssignedTargetingOptionsResponse--; +} + +core.List buildUnnamed19() => [ + buildAssignedUserRole(), + buildAssignedUserRole(), + ]; + +void checkUnnamed19(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAssignedUserRole(o[0]); + checkAssignedUserRole(o[1]); +} + +core.List buildUnnamed20() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed20(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterBulkEditAssignedUserRolesRequest = 0; +api.BulkEditAssignedUserRolesRequest buildBulkEditAssignedUserRolesRequest() { + final o = api.BulkEditAssignedUserRolesRequest(); + buildCounterBulkEditAssignedUserRolesRequest++; + if (buildCounterBulkEditAssignedUserRolesRequest < 3) { + o.createdAssignedUserRoles = buildUnnamed19(); + o.deletedAssignedUserRoles = buildUnnamed20(); + } + buildCounterBulkEditAssignedUserRolesRequest--; + return o; +} + +void checkBulkEditAssignedUserRolesRequest( + api.BulkEditAssignedUserRolesRequest o) { + buildCounterBulkEditAssignedUserRolesRequest++; + if (buildCounterBulkEditAssignedUserRolesRequest < 3) { + checkUnnamed19(o.createdAssignedUserRoles!); + checkUnnamed20(o.deletedAssignedUserRoles!); + } + buildCounterBulkEditAssignedUserRolesRequest--; +} + +core.List buildUnnamed21() => [ + buildAssignedUserRole(), + buildAssignedUserRole(), + ]; + +void checkUnnamed21(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAssignedUserRole(o[0]); + checkAssignedUserRole(o[1]); +} + +core.int buildCounterBulkEditAssignedUserRolesResponse = 0; +api.BulkEditAssignedUserRolesResponse buildBulkEditAssignedUserRolesResponse() { + final o = api.BulkEditAssignedUserRolesResponse(); + buildCounterBulkEditAssignedUserRolesResponse++; + if (buildCounterBulkEditAssignedUserRolesResponse < 3) { + o.createdAssignedUserRoles = buildUnnamed21(); + } + buildCounterBulkEditAssignedUserRolesResponse--; + return o; +} + +void checkBulkEditAssignedUserRolesResponse( + api.BulkEditAssignedUserRolesResponse o) { + buildCounterBulkEditAssignedUserRolesResponse++; + if (buildCounterBulkEditAssignedUserRolesResponse < 3) { + checkUnnamed21(o.createdAssignedUserRoles!); + } + buildCounterBulkEditAssignedUserRolesResponse--; +} + +core.List buildUnnamed22() => [ + buildNegativeKeyword(), + buildNegativeKeyword(), + ]; + +void checkUnnamed22(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkNegativeKeyword(o[0]); + checkNegativeKeyword(o[1]); +} + +core.List buildUnnamed23() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed23(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterBulkEditNegativeKeywordsRequest = 0; +api.BulkEditNegativeKeywordsRequest buildBulkEditNegativeKeywordsRequest() { + final o = api.BulkEditNegativeKeywordsRequest(); + buildCounterBulkEditNegativeKeywordsRequest++; + if (buildCounterBulkEditNegativeKeywordsRequest < 3) { + o.createdNegativeKeywords = buildUnnamed22(); + o.deletedNegativeKeywords = buildUnnamed23(); + } + buildCounterBulkEditNegativeKeywordsRequest--; + return o; +} + +void checkBulkEditNegativeKeywordsRequest( + api.BulkEditNegativeKeywordsRequest o) { + buildCounterBulkEditNegativeKeywordsRequest++; + if (buildCounterBulkEditNegativeKeywordsRequest < 3) { + checkUnnamed22(o.createdNegativeKeywords!); + checkUnnamed23(o.deletedNegativeKeywords!); + } + buildCounterBulkEditNegativeKeywordsRequest--; +} + +core.List buildUnnamed24() => [ + buildNegativeKeyword(), + buildNegativeKeyword(), + ]; + +void checkUnnamed24(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkNegativeKeyword(o[0]); + checkNegativeKeyword(o[1]); +} + +core.int buildCounterBulkEditNegativeKeywordsResponse = 0; +api.BulkEditNegativeKeywordsResponse buildBulkEditNegativeKeywordsResponse() { + final o = api.BulkEditNegativeKeywordsResponse(); + buildCounterBulkEditNegativeKeywordsResponse++; + if (buildCounterBulkEditNegativeKeywordsResponse < 3) { + o.negativeKeywords = buildUnnamed24(); + } + buildCounterBulkEditNegativeKeywordsResponse--; + return o; +} + +void checkBulkEditNegativeKeywordsResponse( + api.BulkEditNegativeKeywordsResponse o) { + buildCounterBulkEditNegativeKeywordsResponse++; + if (buildCounterBulkEditNegativeKeywordsResponse < 3) { + checkUnnamed24(o.negativeKeywords!); + } + buildCounterBulkEditNegativeKeywordsResponse--; +} + +core.List buildUnnamed25() => [ + buildCreateAssignedTargetingOptionsRequest(), + buildCreateAssignedTargetingOptionsRequest(), + ]; + +void checkUnnamed25(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkCreateAssignedTargetingOptionsRequest(o[0]); + checkCreateAssignedTargetingOptionsRequest(o[1]); +} + +core.List buildUnnamed26() => [ + buildDeleteAssignedTargetingOptionsRequest(), + buildDeleteAssignedTargetingOptionsRequest(), + ]; + +void checkUnnamed26(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkDeleteAssignedTargetingOptionsRequest(o[0]); + checkDeleteAssignedTargetingOptionsRequest(o[1]); +} + +core.int buildCounterBulkEditPartnerAssignedTargetingOptionsRequest = 0; +api.BulkEditPartnerAssignedTargetingOptionsRequest + buildBulkEditPartnerAssignedTargetingOptionsRequest() { + final o = api.BulkEditPartnerAssignedTargetingOptionsRequest(); + buildCounterBulkEditPartnerAssignedTargetingOptionsRequest++; + if (buildCounterBulkEditPartnerAssignedTargetingOptionsRequest < 3) { + o.createRequests = buildUnnamed25(); + o.deleteRequests = buildUnnamed26(); + } + buildCounterBulkEditPartnerAssignedTargetingOptionsRequest--; + return o; +} + +void checkBulkEditPartnerAssignedTargetingOptionsRequest( + api.BulkEditPartnerAssignedTargetingOptionsRequest o) { + buildCounterBulkEditPartnerAssignedTargetingOptionsRequest++; + if (buildCounterBulkEditPartnerAssignedTargetingOptionsRequest < 3) { + checkUnnamed25(o.createRequests!); + checkUnnamed26(o.deleteRequests!); + } + buildCounterBulkEditPartnerAssignedTargetingOptionsRequest--; +} + +core.List buildUnnamed27() => [ + buildAssignedTargetingOption(), + buildAssignedTargetingOption(), + ]; + +void checkUnnamed27(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAssignedTargetingOption(o[0]); + checkAssignedTargetingOption(o[1]); +} + +core.int buildCounterBulkEditPartnerAssignedTargetingOptionsResponse = 0; +api.BulkEditPartnerAssignedTargetingOptionsResponse + buildBulkEditPartnerAssignedTargetingOptionsResponse() { + final o = api.BulkEditPartnerAssignedTargetingOptionsResponse(); + buildCounterBulkEditPartnerAssignedTargetingOptionsResponse++; + if (buildCounterBulkEditPartnerAssignedTargetingOptionsResponse < 3) { + o.createdAssignedTargetingOptions = buildUnnamed27(); + } + buildCounterBulkEditPartnerAssignedTargetingOptionsResponse--; + return o; +} + +void checkBulkEditPartnerAssignedTargetingOptionsResponse( + api.BulkEditPartnerAssignedTargetingOptionsResponse o) { + buildCounterBulkEditPartnerAssignedTargetingOptionsResponse++; + if (buildCounterBulkEditPartnerAssignedTargetingOptionsResponse < 3) { + checkUnnamed27(o.createdAssignedTargetingOptions!); + } + buildCounterBulkEditPartnerAssignedTargetingOptionsResponse--; +} + +core.List buildUnnamed28() => [ + buildSite(), + buildSite(), + ]; + +void checkUnnamed28(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkSite(o[0]); + checkSite(o[1]); +} + +core.List buildUnnamed29() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed29(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterBulkEditSitesRequest = 0; +api.BulkEditSitesRequest buildBulkEditSitesRequest() { + final o = api.BulkEditSitesRequest(); + buildCounterBulkEditSitesRequest++; + if (buildCounterBulkEditSitesRequest < 3) { + o.advertiserId = 'foo'; + o.createdSites = buildUnnamed28(); + o.deletedSites = buildUnnamed29(); + o.partnerId = 'foo'; + } + buildCounterBulkEditSitesRequest--; + return o; +} + +void checkBulkEditSitesRequest(api.BulkEditSitesRequest o) { + buildCounterBulkEditSitesRequest++; + if (buildCounterBulkEditSitesRequest < 3) { + unittest.expect( + o.advertiserId!, + unittest.equals('foo'), + ); + checkUnnamed28(o.createdSites!); + checkUnnamed29(o.deletedSites!); + unittest.expect( + o.partnerId!, + unittest.equals('foo'), + ); + } + buildCounterBulkEditSitesRequest--; +} + +core.List buildUnnamed30() => [ + buildSite(), + buildSite(), + ]; + +void checkUnnamed30(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkSite(o[0]); + checkSite(o[1]); +} + +core.int buildCounterBulkEditSitesResponse = 0; +api.BulkEditSitesResponse buildBulkEditSitesResponse() { + final o = api.BulkEditSitesResponse(); + buildCounterBulkEditSitesResponse++; + if (buildCounterBulkEditSitesResponse < 3) { + o.sites = buildUnnamed30(); + } + buildCounterBulkEditSitesResponse--; + return o; +} + +void checkBulkEditSitesResponse(api.BulkEditSitesResponse o) { + buildCounterBulkEditSitesResponse++; + if (buildCounterBulkEditSitesResponse < 3) { + checkUnnamed30(o.sites!); + } + buildCounterBulkEditSitesResponse--; +} + +core.List buildUnnamed31() => [ + buildAdGroupAssignedTargetingOption(), + buildAdGroupAssignedTargetingOption(), + ]; + +void checkUnnamed31(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAdGroupAssignedTargetingOption(o[0]); + checkAdGroupAssignedTargetingOption(o[1]); +} + +core.int buildCounterBulkListAdGroupAssignedTargetingOptionsResponse = 0; +api.BulkListAdGroupAssignedTargetingOptionsResponse + buildBulkListAdGroupAssignedTargetingOptionsResponse() { + final o = api.BulkListAdGroupAssignedTargetingOptionsResponse(); + buildCounterBulkListAdGroupAssignedTargetingOptionsResponse++; + if (buildCounterBulkListAdGroupAssignedTargetingOptionsResponse < 3) { + o.adGroupAssignedTargetingOptions = buildUnnamed31(); + o.nextPageToken = 'foo'; + } + buildCounterBulkListAdGroupAssignedTargetingOptionsResponse--; + return o; +} + +void checkBulkListAdGroupAssignedTargetingOptionsResponse( + api.BulkListAdGroupAssignedTargetingOptionsResponse o) { + buildCounterBulkListAdGroupAssignedTargetingOptionsResponse++; + if (buildCounterBulkListAdGroupAssignedTargetingOptionsResponse < 3) { + checkUnnamed31(o.adGroupAssignedTargetingOptions!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterBulkListAdGroupAssignedTargetingOptionsResponse--; +} + +core.List buildUnnamed32() => [ + buildAssignedTargetingOption(), + buildAssignedTargetingOption(), + ]; + +void checkUnnamed32(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAssignedTargetingOption(o[0]); + checkAssignedTargetingOption(o[1]); +} + +core.int buildCounterBulkListAdvertiserAssignedTargetingOptionsResponse = 0; +api.BulkListAdvertiserAssignedTargetingOptionsResponse + buildBulkListAdvertiserAssignedTargetingOptionsResponse() { + final o = api.BulkListAdvertiserAssignedTargetingOptionsResponse(); + buildCounterBulkListAdvertiserAssignedTargetingOptionsResponse++; + if (buildCounterBulkListAdvertiserAssignedTargetingOptionsResponse < 3) { + o.assignedTargetingOptions = buildUnnamed32(); + o.nextPageToken = 'foo'; + } + buildCounterBulkListAdvertiserAssignedTargetingOptionsResponse--; + return o; +} + +void checkBulkListAdvertiserAssignedTargetingOptionsResponse( + api.BulkListAdvertiserAssignedTargetingOptionsResponse o) { + buildCounterBulkListAdvertiserAssignedTargetingOptionsResponse++; + if (buildCounterBulkListAdvertiserAssignedTargetingOptionsResponse < 3) { + checkUnnamed32(o.assignedTargetingOptions!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterBulkListAdvertiserAssignedTargetingOptionsResponse--; +} + +core.List buildUnnamed33() => [ + buildLineItemAssignedTargetingOption(), + buildLineItemAssignedTargetingOption(), + ]; + +void checkUnnamed33(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkLineItemAssignedTargetingOption(o[0]); + checkLineItemAssignedTargetingOption(o[1]); +} + +core.int buildCounterBulkListAssignedTargetingOptionsResponse = 0; +api.BulkListAssignedTargetingOptionsResponse + buildBulkListAssignedTargetingOptionsResponse() { + final o = api.BulkListAssignedTargetingOptionsResponse(); + buildCounterBulkListAssignedTargetingOptionsResponse++; + if (buildCounterBulkListAssignedTargetingOptionsResponse < 3) { + o.lineItemAssignedTargetingOptions = buildUnnamed33(); + o.nextPageToken = 'foo'; + } + buildCounterBulkListAssignedTargetingOptionsResponse--; + return o; +} + +void checkBulkListAssignedTargetingOptionsResponse( + api.BulkListAssignedTargetingOptionsResponse o) { + buildCounterBulkListAssignedTargetingOptionsResponse++; + if (buildCounterBulkListAssignedTargetingOptionsResponse < 3) { + checkUnnamed33(o.lineItemAssignedTargetingOptions!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterBulkListAssignedTargetingOptionsResponse--; +} + +core.List buildUnnamed34() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed34(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterBulkUpdateLineItemsRequest = 0; +api.BulkUpdateLineItemsRequest buildBulkUpdateLineItemsRequest() { + final o = api.BulkUpdateLineItemsRequest(); + buildCounterBulkUpdateLineItemsRequest++; + if (buildCounterBulkUpdateLineItemsRequest < 3) { + o.lineItemIds = buildUnnamed34(); + o.targetLineItem = buildLineItem(); + o.updateMask = 'foo'; + } + buildCounterBulkUpdateLineItemsRequest--; + return o; +} + +void checkBulkUpdateLineItemsRequest(api.BulkUpdateLineItemsRequest o) { + buildCounterBulkUpdateLineItemsRequest++; + if (buildCounterBulkUpdateLineItemsRequest < 3) { + checkUnnamed34(o.lineItemIds!); + checkLineItem(o.targetLineItem!); + unittest.expect( + o.updateMask!, + unittest.equals('foo'), + ); + } + buildCounterBulkUpdateLineItemsRequest--; +} + +core.List buildUnnamed35() => [ + buildStatus(), + buildStatus(), + ]; + +void checkUnnamed35(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkStatus(o[0]); + checkStatus(o[1]); +} + +core.List buildUnnamed36() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed36(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed37() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed37(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed38() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed38(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterBulkUpdateLineItemsResponse = 0; +api.BulkUpdateLineItemsResponse buildBulkUpdateLineItemsResponse() { + final o = api.BulkUpdateLineItemsResponse(); + buildCounterBulkUpdateLineItemsResponse++; + if (buildCounterBulkUpdateLineItemsResponse < 3) { + o.errors = buildUnnamed35(); + o.failedLineItemIds = buildUnnamed36(); + o.skippedLineItemIds = buildUnnamed37(); + o.updatedLineItemIds = buildUnnamed38(); + } + buildCounterBulkUpdateLineItemsResponse--; + return o; +} + +void checkBulkUpdateLineItemsResponse(api.BulkUpdateLineItemsResponse o) { + buildCounterBulkUpdateLineItemsResponse++; + if (buildCounterBulkUpdateLineItemsResponse < 3) { + checkUnnamed35(o.errors!); + checkUnnamed36(o.failedLineItemIds!); + checkUnnamed37(o.skippedLineItemIds!); + checkUnnamed38(o.updatedLineItemIds!); + } + buildCounterBulkUpdateLineItemsResponse--; +} + +core.int buildCounterBumperAd = 0; +api.BumperAd buildBumperAd() { + final o = api.BumperAd(); + buildCounterBumperAd++; + if (buildCounterBumperAd < 3) { + o.commonInStreamAttribute = buildCommonInStreamAttribute(); + } + buildCounterBumperAd--; + return o; +} + +void checkBumperAd(api.BumperAd o) { + buildCounterBumperAd++; + if (buildCounterBumperAd < 3) { + checkCommonInStreamAttribute(o.commonInStreamAttribute!); + } + buildCounterBumperAd--; +} + +core.int buildCounterBusinessChainAssignedTargetingOptionDetails = 0; +api.BusinessChainAssignedTargetingOptionDetails + buildBusinessChainAssignedTargetingOptionDetails() { + final o = api.BusinessChainAssignedTargetingOptionDetails(); + buildCounterBusinessChainAssignedTargetingOptionDetails++; + if (buildCounterBusinessChainAssignedTargetingOptionDetails < 3) { + o.displayName = 'foo'; + o.proximityRadiusAmount = 42.0; + o.proximityRadiusUnit = 'foo'; + o.targetingOptionId = 'foo'; + } + buildCounterBusinessChainAssignedTargetingOptionDetails--; + return o; +} + +void checkBusinessChainAssignedTargetingOptionDetails( + api.BusinessChainAssignedTargetingOptionDetails o) { + buildCounterBusinessChainAssignedTargetingOptionDetails++; + if (buildCounterBusinessChainAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.proximityRadiusAmount!, + unittest.equals(42.0), + ); + unittest.expect( + o.proximityRadiusUnit!, + unittest.equals('foo'), + ); + unittest.expect( + o.targetingOptionId!, + unittest.equals('foo'), + ); + } + buildCounterBusinessChainAssignedTargetingOptionDetails--; +} + +core.int buildCounterBusinessChainSearchTerms = 0; +api.BusinessChainSearchTerms buildBusinessChainSearchTerms() { + final o = api.BusinessChainSearchTerms(); + buildCounterBusinessChainSearchTerms++; + if (buildCounterBusinessChainSearchTerms < 3) { + o.businessChainQuery = 'foo'; + o.regionQuery = 'foo'; + } + buildCounterBusinessChainSearchTerms--; + return o; +} + +void checkBusinessChainSearchTerms(api.BusinessChainSearchTerms o) { + buildCounterBusinessChainSearchTerms++; + if (buildCounterBusinessChainSearchTerms < 3) { + unittest.expect( + o.businessChainQuery!, + unittest.equals('foo'), + ); + unittest.expect( + o.regionQuery!, + unittest.equals('foo'), + ); + } + buildCounterBusinessChainSearchTerms--; +} + +core.int buildCounterBusinessChainTargetingOptionDetails = 0; +api.BusinessChainTargetingOptionDetails + buildBusinessChainTargetingOptionDetails() { + final o = api.BusinessChainTargetingOptionDetails(); + buildCounterBusinessChainTargetingOptionDetails++; + if (buildCounterBusinessChainTargetingOptionDetails < 3) { + o.businessChain = 'foo'; + o.geoRegion = 'foo'; + o.geoRegionType = 'foo'; + } + buildCounterBusinessChainTargetingOptionDetails--; + return o; +} + +void checkBusinessChainTargetingOptionDetails( + api.BusinessChainTargetingOptionDetails o) { + buildCounterBusinessChainTargetingOptionDetails++; + if (buildCounterBusinessChainTargetingOptionDetails < 3) { + unittest.expect( + o.businessChain!, + unittest.equals('foo'), + ); + unittest.expect( + o.geoRegion!, + unittest.equals('foo'), + ); + unittest.expect( + o.geoRegionType!, + unittest.equals('foo'), + ); + } + buildCounterBusinessChainTargetingOptionDetails--; +} + +core.List buildUnnamed39() => [ + buildCampaignBudget(), + buildCampaignBudget(), + ]; + +void checkUnnamed39(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkCampaignBudget(o[0]); + checkCampaignBudget(o[1]); +} + +core.int buildCounterCampaign = 0; +api.Campaign buildCampaign() { + final o = api.Campaign(); + buildCounterCampaign++; + if (buildCounterCampaign < 3) { + o.advertiserId = 'foo'; + o.campaignBudgets = buildUnnamed39(); + o.campaignFlight = buildCampaignFlight(); + o.campaignGoal = buildCampaignGoal(); + o.campaignId = 'foo'; + o.displayName = 'foo'; + o.entityStatus = 'foo'; + o.frequencyCap = buildFrequencyCap(); + o.name = 'foo'; + o.updateTime = 'foo'; + } + buildCounterCampaign--; + return o; +} + +void checkCampaign(api.Campaign o) { + buildCounterCampaign++; + if (buildCounterCampaign < 3) { + unittest.expect( + o.advertiserId!, + unittest.equals('foo'), + ); + checkUnnamed39(o.campaignBudgets!); + checkCampaignFlight(o.campaignFlight!); + checkCampaignGoal(o.campaignGoal!); + unittest.expect( + o.campaignId!, + unittest.equals('foo'), + ); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.entityStatus!, + unittest.equals('foo'), + ); + checkFrequencyCap(o.frequencyCap!); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.updateTime!, + unittest.equals('foo'), + ); + } + buildCounterCampaign--; +} + +core.int buildCounterCampaignBudget = 0; +api.CampaignBudget buildCampaignBudget() { + final o = api.CampaignBudget(); + buildCounterCampaignBudget++; + if (buildCounterCampaignBudget < 3) { + o.budgetAmountMicros = 'foo'; + o.budgetId = 'foo'; + o.budgetUnit = 'foo'; + o.dateRange = buildDateRange(); + o.displayName = 'foo'; + o.externalBudgetId = 'foo'; + o.externalBudgetSource = 'foo'; + o.invoiceGroupingId = 'foo'; + o.prismaConfig = buildPrismaConfig(); + } + buildCounterCampaignBudget--; + return o; +} + +void checkCampaignBudget(api.CampaignBudget o) { + buildCounterCampaignBudget++; + if (buildCounterCampaignBudget < 3) { + unittest.expect( + o.budgetAmountMicros!, + unittest.equals('foo'), + ); + unittest.expect( + o.budgetId!, + unittest.equals('foo'), + ); + unittest.expect( + o.budgetUnit!, + unittest.equals('foo'), + ); + checkDateRange(o.dateRange!); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.externalBudgetId!, + unittest.equals('foo'), + ); + unittest.expect( + o.externalBudgetSource!, + unittest.equals('foo'), + ); + unittest.expect( + o.invoiceGroupingId!, + unittest.equals('foo'), + ); + checkPrismaConfig(o.prismaConfig!); + } + buildCounterCampaignBudget--; +} + +core.int buildCounterCampaignFlight = 0; +api.CampaignFlight buildCampaignFlight() { + final o = api.CampaignFlight(); + buildCounterCampaignFlight++; + if (buildCounterCampaignFlight < 3) { + o.plannedDates = buildDateRange(); + o.plannedSpendAmountMicros = 'foo'; + } + buildCounterCampaignFlight--; + return o; +} + +void checkCampaignFlight(api.CampaignFlight o) { + buildCounterCampaignFlight++; + if (buildCounterCampaignFlight < 3) { + checkDateRange(o.plannedDates!); + unittest.expect( + o.plannedSpendAmountMicros!, + unittest.equals('foo'), + ); + } + buildCounterCampaignFlight--; +} + +core.int buildCounterCampaignGoal = 0; +api.CampaignGoal buildCampaignGoal() { + final o = api.CampaignGoal(); + buildCounterCampaignGoal++; + if (buildCounterCampaignGoal < 3) { + o.campaignGoalType = 'foo'; + o.performanceGoal = buildPerformanceGoal(); + } + buildCounterCampaignGoal--; + return o; +} + +void checkCampaignGoal(api.CampaignGoal o) { + buildCounterCampaignGoal++; + if (buildCounterCampaignGoal < 3) { + unittest.expect( + o.campaignGoalType!, + unittest.equals('foo'), + ); + checkPerformanceGoal(o.performanceGoal!); + } + buildCounterCampaignGoal--; +} + +core.int buildCounterCarrierAndIspAssignedTargetingOptionDetails = 0; +api.CarrierAndIspAssignedTargetingOptionDetails + buildCarrierAndIspAssignedTargetingOptionDetails() { + final o = api.CarrierAndIspAssignedTargetingOptionDetails(); + buildCounterCarrierAndIspAssignedTargetingOptionDetails++; + if (buildCounterCarrierAndIspAssignedTargetingOptionDetails < 3) { + o.displayName = 'foo'; + o.negative = true; + o.targetingOptionId = 'foo'; + } + buildCounterCarrierAndIspAssignedTargetingOptionDetails--; + return o; +} + +void checkCarrierAndIspAssignedTargetingOptionDetails( + api.CarrierAndIspAssignedTargetingOptionDetails o) { + buildCounterCarrierAndIspAssignedTargetingOptionDetails++; + if (buildCounterCarrierAndIspAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect(o.negative!, unittest.isTrue); + unittest.expect( + o.targetingOptionId!, + unittest.equals('foo'), + ); + } + buildCounterCarrierAndIspAssignedTargetingOptionDetails--; +} + +core.int buildCounterCarrierAndIspTargetingOptionDetails = 0; +api.CarrierAndIspTargetingOptionDetails + buildCarrierAndIspTargetingOptionDetails() { + final o = api.CarrierAndIspTargetingOptionDetails(); + buildCounterCarrierAndIspTargetingOptionDetails++; + if (buildCounterCarrierAndIspTargetingOptionDetails < 3) { + o.displayName = 'foo'; + o.type = 'foo'; + } + buildCounterCarrierAndIspTargetingOptionDetails--; + return o; +} + +void checkCarrierAndIspTargetingOptionDetails( + api.CarrierAndIspTargetingOptionDetails o) { + buildCounterCarrierAndIspTargetingOptionDetails++; + if (buildCounterCarrierAndIspTargetingOptionDetails < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.type!, + unittest.equals('foo'), + ); + } + buildCounterCarrierAndIspTargetingOptionDetails--; +} + +core.int buildCounterCategoryAssignedTargetingOptionDetails = 0; +api.CategoryAssignedTargetingOptionDetails + buildCategoryAssignedTargetingOptionDetails() { + final o = api.CategoryAssignedTargetingOptionDetails(); + buildCounterCategoryAssignedTargetingOptionDetails++; + if (buildCounterCategoryAssignedTargetingOptionDetails < 3) { + o.displayName = 'foo'; + o.negative = true; + o.targetingOptionId = 'foo'; + } + buildCounterCategoryAssignedTargetingOptionDetails--; + return o; +} + +void checkCategoryAssignedTargetingOptionDetails( + api.CategoryAssignedTargetingOptionDetails o) { + buildCounterCategoryAssignedTargetingOptionDetails++; + if (buildCounterCategoryAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect(o.negative!, unittest.isTrue); + unittest.expect( + o.targetingOptionId!, + unittest.equals('foo'), + ); + } + buildCounterCategoryAssignedTargetingOptionDetails--; +} + +core.int buildCounterCategoryTargetingOptionDetails = 0; +api.CategoryTargetingOptionDetails buildCategoryTargetingOptionDetails() { + final o = api.CategoryTargetingOptionDetails(); + buildCounterCategoryTargetingOptionDetails++; + if (buildCounterCategoryTargetingOptionDetails < 3) { + o.displayName = 'foo'; + } + buildCounterCategoryTargetingOptionDetails--; + return o; +} + +void checkCategoryTargetingOptionDetails(api.CategoryTargetingOptionDetails o) { + buildCounterCategoryTargetingOptionDetails++; + if (buildCounterCategoryTargetingOptionDetails < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + } + buildCounterCategoryTargetingOptionDetails--; +} + +core.int buildCounterChannel = 0; +api.Channel buildChannel() { + final o = api.Channel(); + buildCounterChannel++; + if (buildCounterChannel < 3) { + o.advertiserId = 'foo'; + o.channelId = 'foo'; + o.displayName = 'foo'; + o.name = 'foo'; + o.negativelyTargetedLineItemCount = 'foo'; + o.partnerId = 'foo'; + o.positivelyTargetedLineItemCount = 'foo'; + } + buildCounterChannel--; + return o; +} + +void checkChannel(api.Channel o) { + buildCounterChannel++; + if (buildCounterChannel < 3) { + unittest.expect( + o.advertiserId!, + unittest.equals('foo'), + ); + unittest.expect( + o.channelId!, + unittest.equals('foo'), + ); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.negativelyTargetedLineItemCount!, + unittest.equals('foo'), + ); + unittest.expect( + o.partnerId!, + unittest.equals('foo'), + ); + unittest.expect( + o.positivelyTargetedLineItemCount!, + unittest.equals('foo'), + ); + } + buildCounterChannel--; +} + +core.int buildCounterChannelAssignedTargetingOptionDetails = 0; +api.ChannelAssignedTargetingOptionDetails + buildChannelAssignedTargetingOptionDetails() { + final o = api.ChannelAssignedTargetingOptionDetails(); + buildCounterChannelAssignedTargetingOptionDetails++; + if (buildCounterChannelAssignedTargetingOptionDetails < 3) { + o.channelId = 'foo'; + o.negative = true; + } + buildCounterChannelAssignedTargetingOptionDetails--; + return o; +} + +void checkChannelAssignedTargetingOptionDetails( + api.ChannelAssignedTargetingOptionDetails o) { + buildCounterChannelAssignedTargetingOptionDetails++; + if (buildCounterChannelAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.channelId!, + unittest.equals('foo'), + ); + unittest.expect(o.negative!, unittest.isTrue); + } + buildCounterChannelAssignedTargetingOptionDetails--; +} + +core.List buildUnnamed40() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed40(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed41() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed41(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterCmHybridConfig = 0; +api.CmHybridConfig buildCmHybridConfig() { + final o = api.CmHybridConfig(); + buildCounterCmHybridConfig++; + if (buildCounterCmHybridConfig < 3) { + o.cmAccountId = 'foo'; + o.cmAdvertiserIds = buildUnnamed40(); + o.cmFloodlightConfigId = 'foo'; + o.cmFloodlightLinkingAuthorized = true; + o.cmSyncableSiteIds = buildUnnamed41(); + o.dv360ToCmCostReportingEnabled = true; + o.dv360ToCmDataSharingEnabled = true; + } + buildCounterCmHybridConfig--; + return o; +} + +void checkCmHybridConfig(api.CmHybridConfig o) { + buildCounterCmHybridConfig++; + if (buildCounterCmHybridConfig < 3) { + unittest.expect( + o.cmAccountId!, + unittest.equals('foo'), + ); + checkUnnamed40(o.cmAdvertiserIds!); + unittest.expect( + o.cmFloodlightConfigId!, + unittest.equals('foo'), + ); + unittest.expect(o.cmFloodlightLinkingAuthorized!, unittest.isTrue); + checkUnnamed41(o.cmSyncableSiteIds!); + unittest.expect(o.dv360ToCmCostReportingEnabled!, unittest.isTrue); + unittest.expect(o.dv360ToCmDataSharingEnabled!, unittest.isTrue); + } + buildCounterCmHybridConfig--; +} + +core.int buildCounterCmTrackingAd = 0; +api.CmTrackingAd buildCmTrackingAd() { + final o = api.CmTrackingAd(); + buildCounterCmTrackingAd++; + if (buildCounterCmTrackingAd < 3) { + o.cmAdId = 'foo'; + o.cmCreativeId = 'foo'; + o.cmPlacementId = 'foo'; + } + buildCounterCmTrackingAd--; + return o; +} + +void checkCmTrackingAd(api.CmTrackingAd o) { + buildCounterCmTrackingAd++; + if (buildCounterCmTrackingAd < 3) { + unittest.expect( + o.cmAdId!, + unittest.equals('foo'), + ); + unittest.expect( + o.cmCreativeId!, + unittest.equals('foo'), + ); + unittest.expect( + o.cmPlacementId!, + unittest.equals('foo'), + ); + } + buildCounterCmTrackingAd--; +} + +core.int buildCounterCombinedAudience = 0; +api.CombinedAudience buildCombinedAudience() { + final o = api.CombinedAudience(); + buildCounterCombinedAudience++; + if (buildCounterCombinedAudience < 3) { + o.combinedAudienceId = 'foo'; + o.displayName = 'foo'; + o.name = 'foo'; + } + buildCounterCombinedAudience--; + return o; +} + +void checkCombinedAudience(api.CombinedAudience o) { + buildCounterCombinedAudience++; + if (buildCounterCombinedAudience < 3) { + unittest.expect( + o.combinedAudienceId!, + unittest.equals('foo'), + ); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + } + buildCounterCombinedAudience--; +} + +core.List buildUnnamed42() => [ + buildCombinedAudienceTargetingSetting(), + buildCombinedAudienceTargetingSetting(), + ]; + +void checkUnnamed42(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkCombinedAudienceTargetingSetting(o[0]); + checkCombinedAudienceTargetingSetting(o[1]); +} + +core.int buildCounterCombinedAudienceGroup = 0; +api.CombinedAudienceGroup buildCombinedAudienceGroup() { + final o = api.CombinedAudienceGroup(); + buildCounterCombinedAudienceGroup++; + if (buildCounterCombinedAudienceGroup < 3) { + o.settings = buildUnnamed42(); + } + buildCounterCombinedAudienceGroup--; + return o; +} + +void checkCombinedAudienceGroup(api.CombinedAudienceGroup o) { + buildCounterCombinedAudienceGroup++; + if (buildCounterCombinedAudienceGroup < 3) { + checkUnnamed42(o.settings!); + } + buildCounterCombinedAudienceGroup--; +} + +core.int buildCounterCombinedAudienceTargetingSetting = 0; +api.CombinedAudienceTargetingSetting buildCombinedAudienceTargetingSetting() { + final o = api.CombinedAudienceTargetingSetting(); + buildCounterCombinedAudienceTargetingSetting++; + if (buildCounterCombinedAudienceTargetingSetting < 3) { + o.combinedAudienceId = 'foo'; + } + buildCounterCombinedAudienceTargetingSetting--; + return o; +} + +void checkCombinedAudienceTargetingSetting( + api.CombinedAudienceTargetingSetting o) { + buildCounterCombinedAudienceTargetingSetting++; + if (buildCounterCombinedAudienceTargetingSetting < 3) { + unittest.expect( + o.combinedAudienceId!, + unittest.equals('foo'), + ); + } + buildCounterCombinedAudienceTargetingSetting--; +} + +core.int buildCounterCommonInStreamAttribute = 0; +api.CommonInStreamAttribute buildCommonInStreamAttribute() { + final o = api.CommonInStreamAttribute(); + buildCounterCommonInStreamAttribute++; + if (buildCounterCommonInStreamAttribute < 3) { + o.actionButtonLabel = 'foo'; + o.actionHeadline = 'foo'; + o.companionBanner = buildImageAsset(); + o.displayUrl = 'foo'; + o.finalUrl = 'foo'; + o.trackingUrl = 'foo'; + o.video = buildYoutubeVideoDetails(); + } + buildCounterCommonInStreamAttribute--; + return o; +} + +void checkCommonInStreamAttribute(api.CommonInStreamAttribute o) { + buildCounterCommonInStreamAttribute++; + if (buildCounterCommonInStreamAttribute < 3) { + unittest.expect( + o.actionButtonLabel!, + unittest.equals('foo'), + ); + unittest.expect( + o.actionHeadline!, + unittest.equals('foo'), + ); + checkImageAsset(o.companionBanner!); + unittest.expect( + o.displayUrl!, + unittest.equals('foo'), + ); + unittest.expect( + o.finalUrl!, + unittest.equals('foo'), + ); + unittest.expect( + o.trackingUrl!, + unittest.equals('foo'), + ); + checkYoutubeVideoDetails(o.video!); + } + buildCounterCommonInStreamAttribute--; +} + +core.int buildCounterConsent = 0; +api.Consent buildConsent() { + final o = api.Consent(); + buildCounterConsent++; + if (buildCounterConsent < 3) { + o.adPersonalization = 'foo'; + o.adUserData = 'foo'; + } + buildCounterConsent--; + return o; +} + +void checkConsent(api.Consent o) { + buildCounterConsent++; + if (buildCounterConsent < 3) { + unittest.expect( + o.adPersonalization!, + unittest.equals('foo'), + ); + unittest.expect( + o.adUserData!, + unittest.equals('foo'), + ); + } + buildCounterConsent--; +} + +core.List buildUnnamed43() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed43(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed44() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed44(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed45() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed45(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterContactInfo = 0; +api.ContactInfo buildContactInfo() { + final o = api.ContactInfo(); + buildCounterContactInfo++; + if (buildCounterContactInfo < 3) { + o.countryCode = 'foo'; + o.hashedEmails = buildUnnamed43(); + o.hashedFirstName = 'foo'; + o.hashedLastName = 'foo'; + o.hashedPhoneNumbers = buildUnnamed44(); + o.zipCodes = buildUnnamed45(); + } + buildCounterContactInfo--; + return o; +} + +void checkContactInfo(api.ContactInfo o) { + buildCounterContactInfo++; + if (buildCounterContactInfo < 3) { + unittest.expect( + o.countryCode!, + unittest.equals('foo'), + ); + checkUnnamed43(o.hashedEmails!); + unittest.expect( + o.hashedFirstName!, + unittest.equals('foo'), + ); + unittest.expect( + o.hashedLastName!, + unittest.equals('foo'), + ); + checkUnnamed44(o.hashedPhoneNumbers!); + checkUnnamed45(o.zipCodes!); + } + buildCounterContactInfo--; +} + +core.List buildUnnamed46() => [ + buildContactInfo(), + buildContactInfo(), + ]; + +void checkUnnamed46(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkContactInfo(o[0]); + checkContactInfo(o[1]); +} + +core.int buildCounterContactInfoList = 0; +api.ContactInfoList buildContactInfoList() { + final o = api.ContactInfoList(); + buildCounterContactInfoList++; + if (buildCounterContactInfoList < 3) { + o.consent = buildConsent(); + o.contactInfos = buildUnnamed46(); + } + buildCounterContactInfoList--; + return o; +} + +void checkContactInfoList(api.ContactInfoList o) { + buildCounterContactInfoList++; + if (buildCounterContactInfoList < 3) { + checkConsent(o.consent!); + checkUnnamed46(o.contactInfos!); + } + buildCounterContactInfoList--; +} + +core.int buildCounterContentDurationAssignedTargetingOptionDetails = 0; +api.ContentDurationAssignedTargetingOptionDetails + buildContentDurationAssignedTargetingOptionDetails() { + final o = api.ContentDurationAssignedTargetingOptionDetails(); + buildCounterContentDurationAssignedTargetingOptionDetails++; + if (buildCounterContentDurationAssignedTargetingOptionDetails < 3) { + o.contentDuration = 'foo'; + o.targetingOptionId = 'foo'; + } + buildCounterContentDurationAssignedTargetingOptionDetails--; + return o; +} + +void checkContentDurationAssignedTargetingOptionDetails( + api.ContentDurationAssignedTargetingOptionDetails o) { + buildCounterContentDurationAssignedTargetingOptionDetails++; + if (buildCounterContentDurationAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.contentDuration!, + unittest.equals('foo'), + ); + unittest.expect( + o.targetingOptionId!, + unittest.equals('foo'), + ); + } + buildCounterContentDurationAssignedTargetingOptionDetails--; +} + +core.int buildCounterContentDurationTargetingOptionDetails = 0; +api.ContentDurationTargetingOptionDetails + buildContentDurationTargetingOptionDetails() { + final o = api.ContentDurationTargetingOptionDetails(); + buildCounterContentDurationTargetingOptionDetails++; + if (buildCounterContentDurationTargetingOptionDetails < 3) { + o.contentDuration = 'foo'; + } + buildCounterContentDurationTargetingOptionDetails--; + return o; +} + +void checkContentDurationTargetingOptionDetails( + api.ContentDurationTargetingOptionDetails o) { + buildCounterContentDurationTargetingOptionDetails++; + if (buildCounterContentDurationTargetingOptionDetails < 3) { + unittest.expect( + o.contentDuration!, + unittest.equals('foo'), + ); + } + buildCounterContentDurationTargetingOptionDetails--; +} + +core.int buildCounterContentGenreAssignedTargetingOptionDetails = 0; +api.ContentGenreAssignedTargetingOptionDetails + buildContentGenreAssignedTargetingOptionDetails() { + final o = api.ContentGenreAssignedTargetingOptionDetails(); + buildCounterContentGenreAssignedTargetingOptionDetails++; + if (buildCounterContentGenreAssignedTargetingOptionDetails < 3) { + o.displayName = 'foo'; + o.negative = true; + o.targetingOptionId = 'foo'; + } + buildCounterContentGenreAssignedTargetingOptionDetails--; + return o; +} + +void checkContentGenreAssignedTargetingOptionDetails( + api.ContentGenreAssignedTargetingOptionDetails o) { + buildCounterContentGenreAssignedTargetingOptionDetails++; + if (buildCounterContentGenreAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect(o.negative!, unittest.isTrue); + unittest.expect( + o.targetingOptionId!, + unittest.equals('foo'), + ); + } + buildCounterContentGenreAssignedTargetingOptionDetails--; +} + +core.int buildCounterContentGenreTargetingOptionDetails = 0; +api.ContentGenreTargetingOptionDetails + buildContentGenreTargetingOptionDetails() { + final o = api.ContentGenreTargetingOptionDetails(); + buildCounterContentGenreTargetingOptionDetails++; + if (buildCounterContentGenreTargetingOptionDetails < 3) { + o.displayName = 'foo'; + } + buildCounterContentGenreTargetingOptionDetails--; + return o; +} + +void checkContentGenreTargetingOptionDetails( + api.ContentGenreTargetingOptionDetails o) { + buildCounterContentGenreTargetingOptionDetails++; + if (buildCounterContentGenreTargetingOptionDetails < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + } + buildCounterContentGenreTargetingOptionDetails--; +} + +core.int buildCounterContentInstreamPositionAssignedTargetingOptionDetails = 0; +api.ContentInstreamPositionAssignedTargetingOptionDetails + buildContentInstreamPositionAssignedTargetingOptionDetails() { + final o = api.ContentInstreamPositionAssignedTargetingOptionDetails(); + buildCounterContentInstreamPositionAssignedTargetingOptionDetails++; + if (buildCounterContentInstreamPositionAssignedTargetingOptionDetails < 3) { + o.adType = 'foo'; + o.contentInstreamPosition = 'foo'; + } + buildCounterContentInstreamPositionAssignedTargetingOptionDetails--; + return o; +} + +void checkContentInstreamPositionAssignedTargetingOptionDetails( + api.ContentInstreamPositionAssignedTargetingOptionDetails o) { + buildCounterContentInstreamPositionAssignedTargetingOptionDetails++; + if (buildCounterContentInstreamPositionAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.adType!, + unittest.equals('foo'), + ); + unittest.expect( + o.contentInstreamPosition!, + unittest.equals('foo'), + ); + } + buildCounterContentInstreamPositionAssignedTargetingOptionDetails--; +} + +core.int buildCounterContentInstreamPositionTargetingOptionDetails = 0; +api.ContentInstreamPositionTargetingOptionDetails + buildContentInstreamPositionTargetingOptionDetails() { + final o = api.ContentInstreamPositionTargetingOptionDetails(); + buildCounterContentInstreamPositionTargetingOptionDetails++; + if (buildCounterContentInstreamPositionTargetingOptionDetails < 3) { + o.contentInstreamPosition = 'foo'; + } + buildCounterContentInstreamPositionTargetingOptionDetails--; + return o; +} + +void checkContentInstreamPositionTargetingOptionDetails( + api.ContentInstreamPositionTargetingOptionDetails o) { + buildCounterContentInstreamPositionTargetingOptionDetails++; + if (buildCounterContentInstreamPositionTargetingOptionDetails < 3) { + unittest.expect( + o.contentInstreamPosition!, + unittest.equals('foo'), + ); + } + buildCounterContentInstreamPositionTargetingOptionDetails--; +} + +core.int buildCounterContentOutstreamPositionAssignedTargetingOptionDetails = 0; +api.ContentOutstreamPositionAssignedTargetingOptionDetails + buildContentOutstreamPositionAssignedTargetingOptionDetails() { + final o = api.ContentOutstreamPositionAssignedTargetingOptionDetails(); + buildCounterContentOutstreamPositionAssignedTargetingOptionDetails++; + if (buildCounterContentOutstreamPositionAssignedTargetingOptionDetails < 3) { + o.adType = 'foo'; + o.contentOutstreamPosition = 'foo'; + } + buildCounterContentOutstreamPositionAssignedTargetingOptionDetails--; + return o; +} + +void checkContentOutstreamPositionAssignedTargetingOptionDetails( + api.ContentOutstreamPositionAssignedTargetingOptionDetails o) { + buildCounterContentOutstreamPositionAssignedTargetingOptionDetails++; + if (buildCounterContentOutstreamPositionAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.adType!, + unittest.equals('foo'), + ); + unittest.expect( + o.contentOutstreamPosition!, + unittest.equals('foo'), + ); + } + buildCounterContentOutstreamPositionAssignedTargetingOptionDetails--; +} + +core.int buildCounterContentOutstreamPositionTargetingOptionDetails = 0; +api.ContentOutstreamPositionTargetingOptionDetails + buildContentOutstreamPositionTargetingOptionDetails() { + final o = api.ContentOutstreamPositionTargetingOptionDetails(); + buildCounterContentOutstreamPositionTargetingOptionDetails++; + if (buildCounterContentOutstreamPositionTargetingOptionDetails < 3) { + o.contentOutstreamPosition = 'foo'; + } + buildCounterContentOutstreamPositionTargetingOptionDetails--; + return o; +} + +void checkContentOutstreamPositionTargetingOptionDetails( + api.ContentOutstreamPositionTargetingOptionDetails o) { + buildCounterContentOutstreamPositionTargetingOptionDetails++; + if (buildCounterContentOutstreamPositionTargetingOptionDetails < 3) { + unittest.expect( + o.contentOutstreamPosition!, + unittest.equals('foo'), + ); + } + buildCounterContentOutstreamPositionTargetingOptionDetails--; +} + +core.int buildCounterContentStreamTypeAssignedTargetingOptionDetails = 0; +api.ContentStreamTypeAssignedTargetingOptionDetails + buildContentStreamTypeAssignedTargetingOptionDetails() { + final o = api.ContentStreamTypeAssignedTargetingOptionDetails(); + buildCounterContentStreamTypeAssignedTargetingOptionDetails++; + if (buildCounterContentStreamTypeAssignedTargetingOptionDetails < 3) { + o.contentStreamType = 'foo'; + o.targetingOptionId = 'foo'; + } + buildCounterContentStreamTypeAssignedTargetingOptionDetails--; + return o; +} + +void checkContentStreamTypeAssignedTargetingOptionDetails( + api.ContentStreamTypeAssignedTargetingOptionDetails o) { + buildCounterContentStreamTypeAssignedTargetingOptionDetails++; + if (buildCounterContentStreamTypeAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.contentStreamType!, + unittest.equals('foo'), + ); + unittest.expect( + o.targetingOptionId!, + unittest.equals('foo'), + ); + } + buildCounterContentStreamTypeAssignedTargetingOptionDetails--; +} + +core.int buildCounterContentStreamTypeTargetingOptionDetails = 0; +api.ContentStreamTypeTargetingOptionDetails + buildContentStreamTypeTargetingOptionDetails() { + final o = api.ContentStreamTypeTargetingOptionDetails(); + buildCounterContentStreamTypeTargetingOptionDetails++; + if (buildCounterContentStreamTypeTargetingOptionDetails < 3) { + o.contentStreamType = 'foo'; + } + buildCounterContentStreamTypeTargetingOptionDetails--; + return o; +} + +void checkContentStreamTypeTargetingOptionDetails( + api.ContentStreamTypeTargetingOptionDetails o) { + buildCounterContentStreamTypeTargetingOptionDetails++; + if (buildCounterContentStreamTypeTargetingOptionDetails < 3) { + unittest.expect( + o.contentStreamType!, + unittest.equals('foo'), + ); + } + buildCounterContentStreamTypeTargetingOptionDetails--; +} + +core.List buildUnnamed47() => [ + buildTrackingFloodlightActivityConfig(), + buildTrackingFloodlightActivityConfig(), + ]; + +void checkUnnamed47(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkTrackingFloodlightActivityConfig(o[0]); + checkTrackingFloodlightActivityConfig(o[1]); +} + +core.int buildCounterConversionCountingConfig = 0; +api.ConversionCountingConfig buildConversionCountingConfig() { + final o = api.ConversionCountingConfig(); + buildCounterConversionCountingConfig++; + if (buildCounterConversionCountingConfig < 3) { + o.floodlightActivityConfigs = buildUnnamed47(); + o.postViewCountPercentageMillis = 'foo'; + } + buildCounterConversionCountingConfig--; + return o; +} + +void checkConversionCountingConfig(api.ConversionCountingConfig o) { + buildCounterConversionCountingConfig++; + if (buildCounterConversionCountingConfig < 3) { + checkUnnamed47(o.floodlightActivityConfigs!); + unittest.expect( + o.postViewCountPercentageMillis!, + unittest.equals('foo'), + ); + } + buildCounterConversionCountingConfig--; +} + +core.int buildCounterCounterEvent = 0; +api.CounterEvent buildCounterEvent() { + final o = api.CounterEvent(); + buildCounterCounterEvent++; + if (buildCounterCounterEvent < 3) { + o.name = 'foo'; + o.reportingName = 'foo'; + } + buildCounterCounterEvent--; + return o; +} + +void checkCounterEvent(api.CounterEvent o) { + buildCounterCounterEvent++; + if (buildCounterCounterEvent < 3) { + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.reportingName!, + unittest.equals('foo'), + ); + } + buildCounterCounterEvent--; +} + +core.int buildCounterCreateAssetRequest = 0; +api.CreateAssetRequest buildCreateAssetRequest() { + final o = api.CreateAssetRequest(); + buildCounterCreateAssetRequest++; + if (buildCounterCreateAssetRequest < 3) { + o.filename = 'foo'; + } + buildCounterCreateAssetRequest--; + return o; +} + +void checkCreateAssetRequest(api.CreateAssetRequest o) { + buildCounterCreateAssetRequest++; + if (buildCounterCreateAssetRequest < 3) { + unittest.expect( + o.filename!, + unittest.equals('foo'), + ); + } + buildCounterCreateAssetRequest--; +} + +core.int buildCounterCreateAssetResponse = 0; +api.CreateAssetResponse buildCreateAssetResponse() { + final o = api.CreateAssetResponse(); + buildCounterCreateAssetResponse++; + if (buildCounterCreateAssetResponse < 3) { + o.asset = buildAsset(); + } + buildCounterCreateAssetResponse--; + return o; +} + +void checkCreateAssetResponse(api.CreateAssetResponse o) { + buildCounterCreateAssetResponse++; + if (buildCounterCreateAssetResponse < 3) { + checkAsset(o.asset!); + } + buildCounterCreateAssetResponse--; +} + +core.List buildUnnamed48() => [ + buildAssignedTargetingOption(), + buildAssignedTargetingOption(), + ]; + +void checkUnnamed48(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAssignedTargetingOption(o[0]); + checkAssignedTargetingOption(o[1]); +} + +core.int buildCounterCreateAssignedTargetingOptionsRequest = 0; +api.CreateAssignedTargetingOptionsRequest + buildCreateAssignedTargetingOptionsRequest() { + final o = api.CreateAssignedTargetingOptionsRequest(); + buildCounterCreateAssignedTargetingOptionsRequest++; + if (buildCounterCreateAssignedTargetingOptionsRequest < 3) { + o.assignedTargetingOptions = buildUnnamed48(); + o.targetingType = 'foo'; + } + buildCounterCreateAssignedTargetingOptionsRequest--; + return o; +} + +void checkCreateAssignedTargetingOptionsRequest( + api.CreateAssignedTargetingOptionsRequest o) { + buildCounterCreateAssignedTargetingOptionsRequest++; + if (buildCounterCreateAssignedTargetingOptionsRequest < 3) { + checkUnnamed48(o.assignedTargetingOptions!); + unittest.expect( + o.targetingType!, + unittest.equals('foo'), + ); + } + buildCounterCreateAssignedTargetingOptionsRequest--; +} + +core.int buildCounterCreateSdfDownloadTaskRequest = 0; +api.CreateSdfDownloadTaskRequest buildCreateSdfDownloadTaskRequest() { + final o = api.CreateSdfDownloadTaskRequest(); + buildCounterCreateSdfDownloadTaskRequest++; + if (buildCounterCreateSdfDownloadTaskRequest < 3) { + o.advertiserId = 'foo'; + o.idFilter = buildIdFilter(); + o.inventorySourceFilter = buildInventorySourceFilter(); + o.parentEntityFilter = buildParentEntityFilter(); + o.partnerId = 'foo'; + o.version = 'foo'; + } + buildCounterCreateSdfDownloadTaskRequest--; + return o; +} + +void checkCreateSdfDownloadTaskRequest(api.CreateSdfDownloadTaskRequest o) { + buildCounterCreateSdfDownloadTaskRequest++; + if (buildCounterCreateSdfDownloadTaskRequest < 3) { + unittest.expect( + o.advertiserId!, + unittest.equals('foo'), + ); + checkIdFilter(o.idFilter!); + checkInventorySourceFilter(o.inventorySourceFilter!); + checkParentEntityFilter(o.parentEntityFilter!); + unittest.expect( + o.partnerId!, + unittest.equals('foo'), + ); + unittest.expect( + o.version!, + unittest.equals('foo'), + ); + } + buildCounterCreateSdfDownloadTaskRequest--; +} + +core.List buildUnnamed49() => [ + buildDimensions(), + buildDimensions(), + ]; + +void checkUnnamed49(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkDimensions(o[0]); + checkDimensions(o[1]); +} + +core.List buildUnnamed50() => [ + buildAssetAssociation(), + buildAssetAssociation(), + ]; + +void checkUnnamed50(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAssetAssociation(o[0]); + checkAssetAssociation(o[1]); +} + +core.List buildUnnamed51() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed51(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed52() => [ + buildCounterEvent(), + buildCounterEvent(), + ]; + +void checkUnnamed52(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkCounterEvent(o[0]); + checkCounterEvent(o[1]); +} + +core.List buildUnnamed53() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed53(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed54() => [ + buildExitEvent(), + buildExitEvent(), + ]; + +void checkUnnamed54(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkExitEvent(o[0]); + checkExitEvent(o[1]); +} + +core.List buildUnnamed55() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed55(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed56() => [ + buildThirdPartyUrl(), + buildThirdPartyUrl(), + ]; + +void checkUnnamed56(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkThirdPartyUrl(o[0]); + checkThirdPartyUrl(o[1]); +} + +core.List buildUnnamed57() => [ + buildTimerEvent(), + buildTimerEvent(), + ]; + +void checkUnnamed57(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkTimerEvent(o[0]); + checkTimerEvent(o[1]); +} + +core.List buildUnnamed58() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed58(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed59() => [ + buildTranscode(), + buildTranscode(), + ]; + +void checkUnnamed59(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkTranscode(o[0]); + checkTranscode(o[1]); +} + +core.int buildCounterCreative = 0; +api.Creative buildCreative() { + final o = api.Creative(); + buildCounterCreative++; + if (buildCounterCreative < 3) { + o.additionalDimensions = buildUnnamed49(); + o.advertiserId = 'foo'; + o.appendedTag = 'foo'; + o.assets = buildUnnamed50(); + o.cmPlacementId = 'foo'; + o.cmTrackingAd = buildCmTrackingAd(); + o.companionCreativeIds = buildUnnamed51(); + o.counterEvents = buildUnnamed52(); + o.createTime = 'foo'; + o.creativeAttributes = buildUnnamed53(); + o.creativeId = 'foo'; + o.creativeType = 'foo'; + o.dimensions = buildDimensions(); + o.displayName = 'foo'; + o.dynamic = true; + o.entityStatus = 'foo'; + o.exitEvents = buildUnnamed54(); + o.expandOnHover = true; + o.expandingDirection = 'foo'; + o.hostingSource = 'foo'; + o.html5Video = true; + o.iasCampaignMonitoring = true; + o.integrationCode = 'foo'; + o.jsTrackerUrl = 'foo'; + o.lineItemIds = buildUnnamed55(); + o.mediaDuration = 'foo'; + o.mp3Audio = true; + o.name = 'foo'; + o.notes = 'foo'; + o.obaIcon = buildObaIcon(); + o.oggAudio = true; + o.progressOffset = buildAudioVideoOffset(); + o.requireHtml5 = true; + o.requireMraid = true; + o.requirePingForAttribution = true; + o.reviewStatus = buildReviewStatusInfo(); + o.skipOffset = buildAudioVideoOffset(); + o.skippable = true; + o.thirdPartyTag = 'foo'; + o.thirdPartyUrls = buildUnnamed56(); + o.timerEvents = buildUnnamed57(); + o.trackerUrls = buildUnnamed58(); + o.transcodes = buildUnnamed59(); + o.universalAdId = buildUniversalAdId(); + o.updateTime = 'foo'; + o.vastTagUrl = 'foo'; + o.vpaid = true; + } + buildCounterCreative--; + return o; +} + +void checkCreative(api.Creative o) { + buildCounterCreative++; + if (buildCounterCreative < 3) { + checkUnnamed49(o.additionalDimensions!); + unittest.expect( + o.advertiserId!, + unittest.equals('foo'), + ); + unittest.expect( + o.appendedTag!, + unittest.equals('foo'), + ); + checkUnnamed50(o.assets!); + unittest.expect( + o.cmPlacementId!, + unittest.equals('foo'), + ); + checkCmTrackingAd(o.cmTrackingAd!); + checkUnnamed51(o.companionCreativeIds!); + checkUnnamed52(o.counterEvents!); + unittest.expect( + o.createTime!, + unittest.equals('foo'), + ); + checkUnnamed53(o.creativeAttributes!); + unittest.expect( + o.creativeId!, + unittest.equals('foo'), + ); + unittest.expect( + o.creativeType!, + unittest.equals('foo'), + ); + checkDimensions(o.dimensions!); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect(o.dynamic!, unittest.isTrue); + unittest.expect( + o.entityStatus!, + unittest.equals('foo'), + ); + checkUnnamed54(o.exitEvents!); + unittest.expect(o.expandOnHover!, unittest.isTrue); + unittest.expect( + o.expandingDirection!, + unittest.equals('foo'), + ); + unittest.expect( + o.hostingSource!, + unittest.equals('foo'), + ); + unittest.expect(o.html5Video!, unittest.isTrue); + unittest.expect(o.iasCampaignMonitoring!, unittest.isTrue); + unittest.expect( + o.integrationCode!, + unittest.equals('foo'), + ); + unittest.expect( + o.jsTrackerUrl!, + unittest.equals('foo'), + ); + checkUnnamed55(o.lineItemIds!); + unittest.expect( + o.mediaDuration!, + unittest.equals('foo'), + ); + unittest.expect(o.mp3Audio!, unittest.isTrue); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.notes!, + unittest.equals('foo'), + ); + checkObaIcon(o.obaIcon!); + unittest.expect(o.oggAudio!, unittest.isTrue); + checkAudioVideoOffset(o.progressOffset!); + unittest.expect(o.requireHtml5!, unittest.isTrue); + unittest.expect(o.requireMraid!, unittest.isTrue); + unittest.expect(o.requirePingForAttribution!, unittest.isTrue); + checkReviewStatusInfo(o.reviewStatus!); + checkAudioVideoOffset(o.skipOffset!); + unittest.expect(o.skippable!, unittest.isTrue); + unittest.expect( + o.thirdPartyTag!, + unittest.equals('foo'), + ); + checkUnnamed56(o.thirdPartyUrls!); + checkUnnamed57(o.timerEvents!); + checkUnnamed58(o.trackerUrls!); + checkUnnamed59(o.transcodes!); + checkUniversalAdId(o.universalAdId!); + unittest.expect( + o.updateTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.vastTagUrl!, + unittest.equals('foo'), + ); + unittest.expect(o.vpaid!, unittest.isTrue); + } + buildCounterCreative--; +} + +core.int buildCounterCreativeConfig = 0; +api.CreativeConfig buildCreativeConfig() { + final o = api.CreativeConfig(); + buildCounterCreativeConfig++; + if (buildCounterCreativeConfig < 3) { + o.creativeType = 'foo'; + o.displayCreativeConfig = buildInventorySourceDisplayCreativeConfig(); + o.videoCreativeConfig = buildInventorySourceVideoCreativeConfig(); + } + buildCounterCreativeConfig--; + return o; +} + +void checkCreativeConfig(api.CreativeConfig o) { + buildCounterCreativeConfig++; + if (buildCounterCreativeConfig < 3) { + unittest.expect( + o.creativeType!, + unittest.equals('foo'), + ); + checkInventorySourceDisplayCreativeConfig(o.displayCreativeConfig!); + checkInventorySourceVideoCreativeConfig(o.videoCreativeConfig!); + } + buildCounterCreativeConfig--; +} + +core.List buildUnnamed60() => [ + buildCustomBiddingModelDetails(), + buildCustomBiddingModelDetails(), + ]; + +void checkUnnamed60(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkCustomBiddingModelDetails(o[0]); + checkCustomBiddingModelDetails(o[1]); +} + +core.List buildUnnamed61() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed61(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterCustomBiddingAlgorithm = 0; +api.CustomBiddingAlgorithm buildCustomBiddingAlgorithm() { + final o = api.CustomBiddingAlgorithm(); + buildCounterCustomBiddingAlgorithm++; + if (buildCounterCustomBiddingAlgorithm < 3) { + o.advertiserId = 'foo'; + o.customBiddingAlgorithmId = 'foo'; + o.customBiddingAlgorithmType = 'foo'; + o.displayName = 'foo'; + o.entityStatus = 'foo'; + o.modelDetails = buildUnnamed60(); + o.name = 'foo'; + o.partnerId = 'foo'; + o.sharedAdvertiserIds = buildUnnamed61(); + } + buildCounterCustomBiddingAlgorithm--; + return o; +} + +void checkCustomBiddingAlgorithm(api.CustomBiddingAlgorithm o) { + buildCounterCustomBiddingAlgorithm++; + if (buildCounterCustomBiddingAlgorithm < 3) { + unittest.expect( + o.advertiserId!, + unittest.equals('foo'), + ); + unittest.expect( + o.customBiddingAlgorithmId!, + unittest.equals('foo'), + ); + unittest.expect( + o.customBiddingAlgorithmType!, + unittest.equals('foo'), + ); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.entityStatus!, + unittest.equals('foo'), + ); + checkUnnamed60(o.modelDetails!); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.partnerId!, + unittest.equals('foo'), + ); + checkUnnamed61(o.sharedAdvertiserIds!); + } + buildCounterCustomBiddingAlgorithm--; +} + +core.int buildCounterCustomBiddingAlgorithmRules = 0; +api.CustomBiddingAlgorithmRules buildCustomBiddingAlgorithmRules() { + final o = api.CustomBiddingAlgorithmRules(); + buildCounterCustomBiddingAlgorithmRules++; + if (buildCounterCustomBiddingAlgorithmRules < 3) { + o.active = true; + o.createTime = 'foo'; + o.customBiddingAlgorithmId = 'foo'; + o.customBiddingAlgorithmRulesId = 'foo'; + o.error = buildCustomBiddingAlgorithmRulesError(); + o.name = 'foo'; + o.rules = buildCustomBiddingAlgorithmRulesRef(); + o.state = 'foo'; + } + buildCounterCustomBiddingAlgorithmRules--; + return o; +} + +void checkCustomBiddingAlgorithmRules(api.CustomBiddingAlgorithmRules o) { + buildCounterCustomBiddingAlgorithmRules++; + if (buildCounterCustomBiddingAlgorithmRules < 3) { + unittest.expect(o.active!, unittest.isTrue); + unittest.expect( + o.createTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.customBiddingAlgorithmId!, + unittest.equals('foo'), + ); + unittest.expect( + o.customBiddingAlgorithmRulesId!, + unittest.equals('foo'), + ); + checkCustomBiddingAlgorithmRulesError(o.error!); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + checkCustomBiddingAlgorithmRulesRef(o.rules!); + unittest.expect( + o.state!, + unittest.equals('foo'), + ); + } + buildCounterCustomBiddingAlgorithmRules--; +} + +core.int buildCounterCustomBiddingAlgorithmRulesError = 0; +api.CustomBiddingAlgorithmRulesError buildCustomBiddingAlgorithmRulesError() { + final o = api.CustomBiddingAlgorithmRulesError(); + buildCounterCustomBiddingAlgorithmRulesError++; + if (buildCounterCustomBiddingAlgorithmRulesError < 3) { + o.errorCode = 'foo'; + } + buildCounterCustomBiddingAlgorithmRulesError--; + return o; +} + +void checkCustomBiddingAlgorithmRulesError( + api.CustomBiddingAlgorithmRulesError o) { + buildCounterCustomBiddingAlgorithmRulesError++; + if (buildCounterCustomBiddingAlgorithmRulesError < 3) { + unittest.expect( + o.errorCode!, + unittest.equals('foo'), + ); + } + buildCounterCustomBiddingAlgorithmRulesError--; +} + +core.int buildCounterCustomBiddingAlgorithmRulesRef = 0; +api.CustomBiddingAlgorithmRulesRef buildCustomBiddingAlgorithmRulesRef() { + final o = api.CustomBiddingAlgorithmRulesRef(); + buildCounterCustomBiddingAlgorithmRulesRef++; + if (buildCounterCustomBiddingAlgorithmRulesRef < 3) { + o.resourceName = 'foo'; + } + buildCounterCustomBiddingAlgorithmRulesRef--; + return o; +} + +void checkCustomBiddingAlgorithmRulesRef(api.CustomBiddingAlgorithmRulesRef o) { + buildCounterCustomBiddingAlgorithmRulesRef++; + if (buildCounterCustomBiddingAlgorithmRulesRef < 3) { + unittest.expect( + o.resourceName!, + unittest.equals('foo'), + ); + } + buildCounterCustomBiddingAlgorithmRulesRef--; +} + +core.int buildCounterCustomBiddingModelDetails = 0; +api.CustomBiddingModelDetails buildCustomBiddingModelDetails() { + final o = api.CustomBiddingModelDetails(); + buildCounterCustomBiddingModelDetails++; + if (buildCounterCustomBiddingModelDetails < 3) { + o.advertiserId = 'foo'; + o.readinessState = 'foo'; + o.suspensionState = 'foo'; + } + buildCounterCustomBiddingModelDetails--; + return o; +} + +void checkCustomBiddingModelDetails(api.CustomBiddingModelDetails o) { + buildCounterCustomBiddingModelDetails++; + if (buildCounterCustomBiddingModelDetails < 3) { + unittest.expect( + o.advertiserId!, + unittest.equals('foo'), + ); + unittest.expect( + o.readinessState!, + unittest.equals('foo'), + ); + unittest.expect( + o.suspensionState!, + unittest.equals('foo'), + ); + } + buildCounterCustomBiddingModelDetails--; +} + +core.List buildUnnamed62() => [ + buildScriptError(), + buildScriptError(), + ]; + +void checkUnnamed62(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkScriptError(o[0]); + checkScriptError(o[1]); +} + +core.int buildCounterCustomBiddingScript = 0; +api.CustomBiddingScript buildCustomBiddingScript() { + final o = api.CustomBiddingScript(); + buildCounterCustomBiddingScript++; + if (buildCounterCustomBiddingScript < 3) { + o.active = true; + o.createTime = 'foo'; + o.customBiddingAlgorithmId = 'foo'; + o.customBiddingScriptId = 'foo'; + o.errors = buildUnnamed62(); + o.name = 'foo'; + o.script = buildCustomBiddingScriptRef(); + o.state = 'foo'; + } + buildCounterCustomBiddingScript--; + return o; +} + +void checkCustomBiddingScript(api.CustomBiddingScript o) { + buildCounterCustomBiddingScript++; + if (buildCounterCustomBiddingScript < 3) { + unittest.expect(o.active!, unittest.isTrue); + unittest.expect( + o.createTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.customBiddingAlgorithmId!, + unittest.equals('foo'), + ); + unittest.expect( + o.customBiddingScriptId!, + unittest.equals('foo'), + ); + checkUnnamed62(o.errors!); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + checkCustomBiddingScriptRef(o.script!); + unittest.expect( + o.state!, + unittest.equals('foo'), + ); + } + buildCounterCustomBiddingScript--; +} + +core.int buildCounterCustomBiddingScriptRef = 0; +api.CustomBiddingScriptRef buildCustomBiddingScriptRef() { + final o = api.CustomBiddingScriptRef(); + buildCounterCustomBiddingScriptRef++; + if (buildCounterCustomBiddingScriptRef < 3) { + o.resourceName = 'foo'; + } + buildCounterCustomBiddingScriptRef--; + return o; +} + +void checkCustomBiddingScriptRef(api.CustomBiddingScriptRef o) { + buildCounterCustomBiddingScriptRef++; + if (buildCounterCustomBiddingScriptRef < 3) { + unittest.expect( + o.resourceName!, + unittest.equals('foo'), + ); + } + buildCounterCustomBiddingScriptRef--; +} + +core.int buildCounterCustomLabel = 0; +api.CustomLabel buildCustomLabel() { + final o = api.CustomLabel(); + buildCounterCustomLabel++; + if (buildCounterCustomLabel < 3) { + o.key = 'foo'; + o.value = 'foo'; + } + buildCounterCustomLabel--; + return o; +} + +void checkCustomLabel(api.CustomLabel o) { + buildCounterCustomLabel++; + if (buildCounterCustomLabel < 3) { + unittest.expect( + o.key!, + unittest.equals('foo'), + ); + unittest.expect( + o.value!, + unittest.equals('foo'), + ); + } + buildCounterCustomLabel--; +} + +core.int buildCounterCustomList = 0; +api.CustomList buildCustomList() { + final o = api.CustomList(); + buildCounterCustomList++; + if (buildCounterCustomList < 3) { + o.customListId = 'foo'; + o.displayName = 'foo'; + o.name = 'foo'; + } + buildCounterCustomList--; + return o; +} + +void checkCustomList(api.CustomList o) { + buildCounterCustomList++; + if (buildCounterCustomList < 3) { + unittest.expect( + o.customListId!, + unittest.equals('foo'), + ); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + } + buildCounterCustomList--; +} + +core.List buildUnnamed63() => [ + buildCustomListTargetingSetting(), + buildCustomListTargetingSetting(), + ]; + +void checkUnnamed63(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkCustomListTargetingSetting(o[0]); + checkCustomListTargetingSetting(o[1]); +} + +core.int buildCounterCustomListGroup = 0; +api.CustomListGroup buildCustomListGroup() { + final o = api.CustomListGroup(); + buildCounterCustomListGroup++; + if (buildCounterCustomListGroup < 3) { + o.settings = buildUnnamed63(); + } + buildCounterCustomListGroup--; + return o; +} + +void checkCustomListGroup(api.CustomListGroup o) { + buildCounterCustomListGroup++; + if (buildCounterCustomListGroup < 3) { + checkUnnamed63(o.settings!); + } + buildCounterCustomListGroup--; +} + +core.int buildCounterCustomListTargetingSetting = 0; +api.CustomListTargetingSetting buildCustomListTargetingSetting() { + final o = api.CustomListTargetingSetting(); + buildCounterCustomListTargetingSetting++; + if (buildCounterCustomListTargetingSetting < 3) { + o.customListId = 'foo'; + } + buildCounterCustomListTargetingSetting--; + return o; +} + +void checkCustomListTargetingSetting(api.CustomListTargetingSetting o) { + buildCounterCustomListTargetingSetting++; + if (buildCounterCustomListTargetingSetting < 3) { + unittest.expect( + o.customListId!, + unittest.equals('foo'), + ); + } + buildCounterCustomListTargetingSetting--; +} + +core.int buildCounterDate = 0; +api.Date buildDate() { + final o = api.Date(); + buildCounterDate++; + if (buildCounterDate < 3) { + o.day = 42; + o.month = 42; + o.year = 42; + } + buildCounterDate--; + return o; +} + +void checkDate(api.Date o) { + buildCounterDate++; + if (buildCounterDate < 3) { + unittest.expect( + o.day!, + unittest.equals(42), + ); + unittest.expect( + o.month!, + unittest.equals(42), + ); + unittest.expect( + o.year!, + unittest.equals(42), + ); + } + buildCounterDate--; +} + +core.int buildCounterDateRange = 0; +api.DateRange buildDateRange() { + final o = api.DateRange(); + buildCounterDateRange++; + if (buildCounterDateRange < 3) { + o.endDate = buildDate(); + o.startDate = buildDate(); + } + buildCounterDateRange--; + return o; +} + +void checkDateRange(api.DateRange o) { + buildCounterDateRange++; + if (buildCounterDateRange < 3) { + checkDate(o.endDate!); + checkDate(o.startDate!); + } + buildCounterDateRange--; +} + +core.int buildCounterDayAndTimeAssignedTargetingOptionDetails = 0; +api.DayAndTimeAssignedTargetingOptionDetails + buildDayAndTimeAssignedTargetingOptionDetails() { + final o = api.DayAndTimeAssignedTargetingOptionDetails(); + buildCounterDayAndTimeAssignedTargetingOptionDetails++; + if (buildCounterDayAndTimeAssignedTargetingOptionDetails < 3) { + o.dayOfWeek = 'foo'; + o.endHour = 42; + o.startHour = 42; + o.timeZoneResolution = 'foo'; + } + buildCounterDayAndTimeAssignedTargetingOptionDetails--; + return o; +} + +void checkDayAndTimeAssignedTargetingOptionDetails( + api.DayAndTimeAssignedTargetingOptionDetails o) { + buildCounterDayAndTimeAssignedTargetingOptionDetails++; + if (buildCounterDayAndTimeAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.dayOfWeek!, + unittest.equals('foo'), + ); + unittest.expect( + o.endHour!, + unittest.equals(42), + ); + unittest.expect( + o.startHour!, + unittest.equals(42), + ); + unittest.expect( + o.timeZoneResolution!, + unittest.equals('foo'), + ); + } + buildCounterDayAndTimeAssignedTargetingOptionDetails--; +} + +core.List buildUnnamed64() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed64(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterDeleteAssignedTargetingOptionsRequest = 0; +api.DeleteAssignedTargetingOptionsRequest + buildDeleteAssignedTargetingOptionsRequest() { + final o = api.DeleteAssignedTargetingOptionsRequest(); + buildCounterDeleteAssignedTargetingOptionsRequest++; + if (buildCounterDeleteAssignedTargetingOptionsRequest < 3) { + o.assignedTargetingOptionIds = buildUnnamed64(); + o.targetingType = 'foo'; + } + buildCounterDeleteAssignedTargetingOptionsRequest--; + return o; +} + +void checkDeleteAssignedTargetingOptionsRequest( + api.DeleteAssignedTargetingOptionsRequest o) { + buildCounterDeleteAssignedTargetingOptionsRequest++; + if (buildCounterDeleteAssignedTargetingOptionsRequest < 3) { + checkUnnamed64(o.assignedTargetingOptionIds!); + unittest.expect( + o.targetingType!, + unittest.equals('foo'), + ); + } + buildCounterDeleteAssignedTargetingOptionsRequest--; +} + +core.int buildCounterDeviceMakeModelAssignedTargetingOptionDetails = 0; +api.DeviceMakeModelAssignedTargetingOptionDetails + buildDeviceMakeModelAssignedTargetingOptionDetails() { + final o = api.DeviceMakeModelAssignedTargetingOptionDetails(); + buildCounterDeviceMakeModelAssignedTargetingOptionDetails++; + if (buildCounterDeviceMakeModelAssignedTargetingOptionDetails < 3) { + o.displayName = 'foo'; + o.negative = true; + o.targetingOptionId = 'foo'; + } + buildCounterDeviceMakeModelAssignedTargetingOptionDetails--; + return o; +} + +void checkDeviceMakeModelAssignedTargetingOptionDetails( + api.DeviceMakeModelAssignedTargetingOptionDetails o) { + buildCounterDeviceMakeModelAssignedTargetingOptionDetails++; + if (buildCounterDeviceMakeModelAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect(o.negative!, unittest.isTrue); + unittest.expect( + o.targetingOptionId!, + unittest.equals('foo'), + ); + } + buildCounterDeviceMakeModelAssignedTargetingOptionDetails--; +} + +core.int buildCounterDeviceMakeModelTargetingOptionDetails = 0; +api.DeviceMakeModelTargetingOptionDetails + buildDeviceMakeModelTargetingOptionDetails() { + final o = api.DeviceMakeModelTargetingOptionDetails(); + buildCounterDeviceMakeModelTargetingOptionDetails++; + if (buildCounterDeviceMakeModelTargetingOptionDetails < 3) { + o.displayName = 'foo'; + } + buildCounterDeviceMakeModelTargetingOptionDetails--; + return o; +} + +void checkDeviceMakeModelTargetingOptionDetails( + api.DeviceMakeModelTargetingOptionDetails o) { + buildCounterDeviceMakeModelTargetingOptionDetails++; + if (buildCounterDeviceMakeModelTargetingOptionDetails < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + } + buildCounterDeviceMakeModelTargetingOptionDetails--; +} + +core.int buildCounterDeviceTypeAssignedTargetingOptionDetails = 0; +api.DeviceTypeAssignedTargetingOptionDetails + buildDeviceTypeAssignedTargetingOptionDetails() { + final o = api.DeviceTypeAssignedTargetingOptionDetails(); + buildCounterDeviceTypeAssignedTargetingOptionDetails++; + if (buildCounterDeviceTypeAssignedTargetingOptionDetails < 3) { + o.deviceType = 'foo'; + o.youtubeAndPartnersBidMultiplier = 42.0; + } + buildCounterDeviceTypeAssignedTargetingOptionDetails--; + return o; +} + +void checkDeviceTypeAssignedTargetingOptionDetails( + api.DeviceTypeAssignedTargetingOptionDetails o) { + buildCounterDeviceTypeAssignedTargetingOptionDetails++; + if (buildCounterDeviceTypeAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.deviceType!, + unittest.equals('foo'), + ); + unittest.expect( + o.youtubeAndPartnersBidMultiplier!, + unittest.equals(42.0), + ); + } + buildCounterDeviceTypeAssignedTargetingOptionDetails--; +} + +core.int buildCounterDeviceTypeTargetingOptionDetails = 0; +api.DeviceTypeTargetingOptionDetails buildDeviceTypeTargetingOptionDetails() { + final o = api.DeviceTypeTargetingOptionDetails(); + buildCounterDeviceTypeTargetingOptionDetails++; + if (buildCounterDeviceTypeTargetingOptionDetails < 3) { + o.deviceType = 'foo'; + } + buildCounterDeviceTypeTargetingOptionDetails--; + return o; +} + +void checkDeviceTypeTargetingOptionDetails( + api.DeviceTypeTargetingOptionDetails o) { + buildCounterDeviceTypeTargetingOptionDetails++; + if (buildCounterDeviceTypeTargetingOptionDetails < 3) { + unittest.expect( + o.deviceType!, + unittest.equals('foo'), + ); + } + buildCounterDeviceTypeTargetingOptionDetails--; +} + +core.int buildCounterDigitalContentLabelAssignedTargetingOptionDetails = 0; +api.DigitalContentLabelAssignedTargetingOptionDetails + buildDigitalContentLabelAssignedTargetingOptionDetails() { + final o = api.DigitalContentLabelAssignedTargetingOptionDetails(); + buildCounterDigitalContentLabelAssignedTargetingOptionDetails++; + if (buildCounterDigitalContentLabelAssignedTargetingOptionDetails < 3) { + o.excludedContentRatingTier = 'foo'; + } + buildCounterDigitalContentLabelAssignedTargetingOptionDetails--; + return o; +} + +void checkDigitalContentLabelAssignedTargetingOptionDetails( + api.DigitalContentLabelAssignedTargetingOptionDetails o) { + buildCounterDigitalContentLabelAssignedTargetingOptionDetails++; + if (buildCounterDigitalContentLabelAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.excludedContentRatingTier!, + unittest.equals('foo'), + ); + } + buildCounterDigitalContentLabelAssignedTargetingOptionDetails--; +} + +core.int buildCounterDigitalContentLabelTargetingOptionDetails = 0; +api.DigitalContentLabelTargetingOptionDetails + buildDigitalContentLabelTargetingOptionDetails() { + final o = api.DigitalContentLabelTargetingOptionDetails(); + buildCounterDigitalContentLabelTargetingOptionDetails++; + if (buildCounterDigitalContentLabelTargetingOptionDetails < 3) { + o.contentRatingTier = 'foo'; + } + buildCounterDigitalContentLabelTargetingOptionDetails--; + return o; +} + +void checkDigitalContentLabelTargetingOptionDetails( + api.DigitalContentLabelTargetingOptionDetails o) { + buildCounterDigitalContentLabelTargetingOptionDetails++; + if (buildCounterDigitalContentLabelTargetingOptionDetails < 3) { + unittest.expect( + o.contentRatingTier!, + unittest.equals('foo'), + ); + } + buildCounterDigitalContentLabelTargetingOptionDetails--; +} + +core.int buildCounterDimensions = 0; +api.Dimensions buildDimensions() { + final o = api.Dimensions(); + buildCounterDimensions++; + if (buildCounterDimensions < 3) { + o.heightPixels = 42; + o.widthPixels = 42; + } + buildCounterDimensions--; + return o; +} + +void checkDimensions(api.Dimensions o) { + buildCounterDimensions++; + if (buildCounterDimensions < 3) { + unittest.expect( + o.heightPixels!, + unittest.equals(42), + ); + unittest.expect( + o.widthPixels!, + unittest.equals(42), + ); + } + buildCounterDimensions--; +} + +core.int buildCounterDisplayVideoSourceAd = 0; +api.DisplayVideoSourceAd buildDisplayVideoSourceAd() { + final o = api.DisplayVideoSourceAd(); + buildCounterDisplayVideoSourceAd++; + if (buildCounterDisplayVideoSourceAd < 3) { + o.creativeId = 'foo'; + } + buildCounterDisplayVideoSourceAd--; + return o; +} + +void checkDisplayVideoSourceAd(api.DisplayVideoSourceAd o) { + buildCounterDisplayVideoSourceAd++; + if (buildCounterDisplayVideoSourceAd < 3) { + unittest.expect( + o.creativeId!, + unittest.equals('foo'), + ); + } + buildCounterDisplayVideoSourceAd--; +} + +core.List buildUnnamed65() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed65(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterDoubleVerify = 0; +api.DoubleVerify buildDoubleVerify() { + final o = api.DoubleVerify(); + buildCounterDoubleVerify++; + if (buildCounterDoubleVerify < 3) { + o.appStarRating = buildDoubleVerifyAppStarRating(); + o.avoidedAgeRatings = buildUnnamed65(); + o.brandSafetyCategories = buildDoubleVerifyBrandSafetyCategories(); + o.customSegmentId = 'foo'; + o.displayViewability = buildDoubleVerifyDisplayViewability(); + o.fraudInvalidTraffic = buildDoubleVerifyFraudInvalidTraffic(); + o.videoViewability = buildDoubleVerifyVideoViewability(); + } + buildCounterDoubleVerify--; + return o; +} + +void checkDoubleVerify(api.DoubleVerify o) { + buildCounterDoubleVerify++; + if (buildCounterDoubleVerify < 3) { + checkDoubleVerifyAppStarRating(o.appStarRating!); + checkUnnamed65(o.avoidedAgeRatings!); + checkDoubleVerifyBrandSafetyCategories(o.brandSafetyCategories!); + unittest.expect( + o.customSegmentId!, + unittest.equals('foo'), + ); + checkDoubleVerifyDisplayViewability(o.displayViewability!); + checkDoubleVerifyFraudInvalidTraffic(o.fraudInvalidTraffic!); + checkDoubleVerifyVideoViewability(o.videoViewability!); + } + buildCounterDoubleVerify--; +} + +core.int buildCounterDoubleVerifyAppStarRating = 0; +api.DoubleVerifyAppStarRating buildDoubleVerifyAppStarRating() { + final o = api.DoubleVerifyAppStarRating(); + buildCounterDoubleVerifyAppStarRating++; + if (buildCounterDoubleVerifyAppStarRating < 3) { + o.avoidInsufficientStarRating = true; + o.avoidedStarRating = 'foo'; + } + buildCounterDoubleVerifyAppStarRating--; + return o; +} + +void checkDoubleVerifyAppStarRating(api.DoubleVerifyAppStarRating o) { + buildCounterDoubleVerifyAppStarRating++; + if (buildCounterDoubleVerifyAppStarRating < 3) { + unittest.expect(o.avoidInsufficientStarRating!, unittest.isTrue); + unittest.expect( + o.avoidedStarRating!, + unittest.equals('foo'), + ); + } + buildCounterDoubleVerifyAppStarRating--; +} + +core.List buildUnnamed66() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed66(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed67() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed67(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterDoubleVerifyBrandSafetyCategories = 0; +api.DoubleVerifyBrandSafetyCategories buildDoubleVerifyBrandSafetyCategories() { + final o = api.DoubleVerifyBrandSafetyCategories(); + buildCounterDoubleVerifyBrandSafetyCategories++; + if (buildCounterDoubleVerifyBrandSafetyCategories < 3) { + o.avoidUnknownBrandSafetyCategory = true; + o.avoidedHighSeverityCategories = buildUnnamed66(); + o.avoidedMediumSeverityCategories = buildUnnamed67(); + } + buildCounterDoubleVerifyBrandSafetyCategories--; + return o; +} + +void checkDoubleVerifyBrandSafetyCategories( + api.DoubleVerifyBrandSafetyCategories o) { + buildCounterDoubleVerifyBrandSafetyCategories++; + if (buildCounterDoubleVerifyBrandSafetyCategories < 3) { + unittest.expect(o.avoidUnknownBrandSafetyCategory!, unittest.isTrue); + checkUnnamed66(o.avoidedHighSeverityCategories!); + checkUnnamed67(o.avoidedMediumSeverityCategories!); + } + buildCounterDoubleVerifyBrandSafetyCategories--; +} + +core.int buildCounterDoubleVerifyDisplayViewability = 0; +api.DoubleVerifyDisplayViewability buildDoubleVerifyDisplayViewability() { + final o = api.DoubleVerifyDisplayViewability(); + buildCounterDoubleVerifyDisplayViewability++; + if (buildCounterDoubleVerifyDisplayViewability < 3) { + o.iab = 'foo'; + o.viewableDuring = 'foo'; + } + buildCounterDoubleVerifyDisplayViewability--; + return o; +} + +void checkDoubleVerifyDisplayViewability(api.DoubleVerifyDisplayViewability o) { + buildCounterDoubleVerifyDisplayViewability++; + if (buildCounterDoubleVerifyDisplayViewability < 3) { + unittest.expect( + o.iab!, + unittest.equals('foo'), + ); + unittest.expect( + o.viewableDuring!, + unittest.equals('foo'), + ); + } + buildCounterDoubleVerifyDisplayViewability--; +} + +core.int buildCounterDoubleVerifyFraudInvalidTraffic = 0; +api.DoubleVerifyFraudInvalidTraffic buildDoubleVerifyFraudInvalidTraffic() { + final o = api.DoubleVerifyFraudInvalidTraffic(); + buildCounterDoubleVerifyFraudInvalidTraffic++; + if (buildCounterDoubleVerifyFraudInvalidTraffic < 3) { + o.avoidInsufficientOption = true; + o.avoidedFraudOption = 'foo'; + } + buildCounterDoubleVerifyFraudInvalidTraffic--; + return o; +} + +void checkDoubleVerifyFraudInvalidTraffic( + api.DoubleVerifyFraudInvalidTraffic o) { + buildCounterDoubleVerifyFraudInvalidTraffic++; + if (buildCounterDoubleVerifyFraudInvalidTraffic < 3) { + unittest.expect(o.avoidInsufficientOption!, unittest.isTrue); + unittest.expect( + o.avoidedFraudOption!, + unittest.equals('foo'), + ); + } + buildCounterDoubleVerifyFraudInvalidTraffic--; +} + +core.int buildCounterDoubleVerifyVideoViewability = 0; +api.DoubleVerifyVideoViewability buildDoubleVerifyVideoViewability() { + final o = api.DoubleVerifyVideoViewability(); + buildCounterDoubleVerifyVideoViewability++; + if (buildCounterDoubleVerifyVideoViewability < 3) { + o.playerImpressionRate = 'foo'; + o.videoIab = 'foo'; + o.videoViewableRate = 'foo'; + } + buildCounterDoubleVerifyVideoViewability--; + return o; +} + +void checkDoubleVerifyVideoViewability(api.DoubleVerifyVideoViewability o) { + buildCounterDoubleVerifyVideoViewability++; + if (buildCounterDoubleVerifyVideoViewability < 3) { + unittest.expect( + o.playerImpressionRate!, + unittest.equals('foo'), + ); + unittest.expect( + o.videoIab!, + unittest.equals('foo'), + ); + unittest.expect( + o.videoViewableRate!, + unittest.equals('foo'), + ); + } + buildCounterDoubleVerifyVideoViewability--; +} + +core.int buildCounterDuplicateLineItemRequest = 0; +api.DuplicateLineItemRequest buildDuplicateLineItemRequest() { + final o = api.DuplicateLineItemRequest(); + buildCounterDuplicateLineItemRequest++; + if (buildCounterDuplicateLineItemRequest < 3) { + o.targetDisplayName = 'foo'; + } + buildCounterDuplicateLineItemRequest--; + return o; +} + +void checkDuplicateLineItemRequest(api.DuplicateLineItemRequest o) { + buildCounterDuplicateLineItemRequest++; + if (buildCounterDuplicateLineItemRequest < 3) { + unittest.expect( + o.targetDisplayName!, + unittest.equals('foo'), + ); + } + buildCounterDuplicateLineItemRequest--; +} + +core.int buildCounterDuplicateLineItemResponse = 0; +api.DuplicateLineItemResponse buildDuplicateLineItemResponse() { + final o = api.DuplicateLineItemResponse(); + buildCounterDuplicateLineItemResponse++; + if (buildCounterDuplicateLineItemResponse < 3) { + o.duplicateLineItemId = 'foo'; + } + buildCounterDuplicateLineItemResponse--; + return o; +} + +void checkDuplicateLineItemResponse(api.DuplicateLineItemResponse o) { + buildCounterDuplicateLineItemResponse++; + if (buildCounterDuplicateLineItemResponse < 3) { + unittest.expect( + o.duplicateLineItemId!, + unittest.equals('foo'), + ); + } + buildCounterDuplicateLineItemResponse--; +} + +core.int buildCounterEditCustomerMatchMembersRequest = 0; +api.EditCustomerMatchMembersRequest buildEditCustomerMatchMembersRequest() { + final o = api.EditCustomerMatchMembersRequest(); + buildCounterEditCustomerMatchMembersRequest++; + if (buildCounterEditCustomerMatchMembersRequest < 3) { + o.addedContactInfoList = buildContactInfoList(); + o.addedMobileDeviceIdList = buildMobileDeviceIdList(); + o.advertiserId = 'foo'; + o.removedContactInfoList = buildContactInfoList(); + o.removedMobileDeviceIdList = buildMobileDeviceIdList(); + } + buildCounterEditCustomerMatchMembersRequest--; + return o; +} + +void checkEditCustomerMatchMembersRequest( + api.EditCustomerMatchMembersRequest o) { + buildCounterEditCustomerMatchMembersRequest++; + if (buildCounterEditCustomerMatchMembersRequest < 3) { + checkContactInfoList(o.addedContactInfoList!); + checkMobileDeviceIdList(o.addedMobileDeviceIdList!); + unittest.expect( + o.advertiserId!, + unittest.equals('foo'), + ); + checkContactInfoList(o.removedContactInfoList!); + checkMobileDeviceIdList(o.removedMobileDeviceIdList!); + } + buildCounterEditCustomerMatchMembersRequest--; +} + +core.int buildCounterEditCustomerMatchMembersResponse = 0; +api.EditCustomerMatchMembersResponse buildEditCustomerMatchMembersResponse() { + final o = api.EditCustomerMatchMembersResponse(); + buildCounterEditCustomerMatchMembersResponse++; + if (buildCounterEditCustomerMatchMembersResponse < 3) { + o.firstPartyAndPartnerAudienceId = 'foo'; + } + buildCounterEditCustomerMatchMembersResponse--; + return o; +} + +void checkEditCustomerMatchMembersResponse( + api.EditCustomerMatchMembersResponse o) { + buildCounterEditCustomerMatchMembersResponse++; + if (buildCounterEditCustomerMatchMembersResponse < 3) { + unittest.expect( + o.firstPartyAndPartnerAudienceId!, + unittest.equals('foo'), + ); + } + buildCounterEditCustomerMatchMembersResponse--; +} + +core.List buildUnnamed68() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed68(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed69() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed69(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterEditGuaranteedOrderReadAccessorsRequest = 0; +api.EditGuaranteedOrderReadAccessorsRequest + buildEditGuaranteedOrderReadAccessorsRequest() { + final o = api.EditGuaranteedOrderReadAccessorsRequest(); + buildCounterEditGuaranteedOrderReadAccessorsRequest++; + if (buildCounterEditGuaranteedOrderReadAccessorsRequest < 3) { + o.addedAdvertisers = buildUnnamed68(); + o.partnerId = 'foo'; + o.readAccessInherited = true; + o.removedAdvertisers = buildUnnamed69(); + } + buildCounterEditGuaranteedOrderReadAccessorsRequest--; + return o; +} + +void checkEditGuaranteedOrderReadAccessorsRequest( + api.EditGuaranteedOrderReadAccessorsRequest o) { + buildCounterEditGuaranteedOrderReadAccessorsRequest++; + if (buildCounterEditGuaranteedOrderReadAccessorsRequest < 3) { + checkUnnamed68(o.addedAdvertisers!); + unittest.expect( + o.partnerId!, + unittest.equals('foo'), + ); + unittest.expect(o.readAccessInherited!, unittest.isTrue); + checkUnnamed69(o.removedAdvertisers!); + } + buildCounterEditGuaranteedOrderReadAccessorsRequest--; +} + +core.List buildUnnamed70() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed70(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterEditGuaranteedOrderReadAccessorsResponse = 0; +api.EditGuaranteedOrderReadAccessorsResponse + buildEditGuaranteedOrderReadAccessorsResponse() { + final o = api.EditGuaranteedOrderReadAccessorsResponse(); + buildCounterEditGuaranteedOrderReadAccessorsResponse++; + if (buildCounterEditGuaranteedOrderReadAccessorsResponse < 3) { + o.readAccessInherited = true; + o.readAdvertiserIds = buildUnnamed70(); + } + buildCounterEditGuaranteedOrderReadAccessorsResponse--; + return o; +} + +void checkEditGuaranteedOrderReadAccessorsResponse( + api.EditGuaranteedOrderReadAccessorsResponse o) { + buildCounterEditGuaranteedOrderReadAccessorsResponse++; + if (buildCounterEditGuaranteedOrderReadAccessorsResponse < 3) { + unittest.expect(o.readAccessInherited!, unittest.isTrue); + checkUnnamed70(o.readAdvertiserIds!); + } + buildCounterEditGuaranteedOrderReadAccessorsResponse--; +} + +core.int buildCounterEditInventorySourceReadWriteAccessorsRequest = 0; +api.EditInventorySourceReadWriteAccessorsRequest + buildEditInventorySourceReadWriteAccessorsRequest() { + final o = api.EditInventorySourceReadWriteAccessorsRequest(); + buildCounterEditInventorySourceReadWriteAccessorsRequest++; + if (buildCounterEditInventorySourceReadWriteAccessorsRequest < 3) { + o.advertisersUpdate = + buildEditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate(); + o.assignPartner = true; + o.partnerId = 'foo'; + } + buildCounterEditInventorySourceReadWriteAccessorsRequest--; + return o; +} + +void checkEditInventorySourceReadWriteAccessorsRequest( + api.EditInventorySourceReadWriteAccessorsRequest o) { + buildCounterEditInventorySourceReadWriteAccessorsRequest++; + if (buildCounterEditInventorySourceReadWriteAccessorsRequest < 3) { + checkEditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate( + o.advertisersUpdate!); + unittest.expect(o.assignPartner!, unittest.isTrue); + unittest.expect( + o.partnerId!, + unittest.equals('foo'), + ); + } + buildCounterEditInventorySourceReadWriteAccessorsRequest--; +} + +core.List buildUnnamed71() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed71(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed72() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed72(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int + buildCounterEditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate = + 0; +api.EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate + buildEditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate() { + final o = api.EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate(); + buildCounterEditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate++; + if (buildCounterEditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate < + 3) { + o.addedAdvertisers = buildUnnamed71(); + o.removedAdvertisers = buildUnnamed72(); + } + buildCounterEditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate--; + return o; +} + +void checkEditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate( + api.EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate o) { + buildCounterEditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate++; + if (buildCounterEditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate < + 3) { + checkUnnamed71(o.addedAdvertisers!); + checkUnnamed72(o.removedAdvertisers!); + } + buildCounterEditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate--; +} + +core.int buildCounterEmpty = 0; +api.Empty buildEmpty() { + final o = api.Empty(); + buildCounterEmpty++; + if (buildCounterEmpty < 3) {} + buildCounterEmpty--; + return o; +} + +void checkEmpty(api.Empty o) { + buildCounterEmpty++; + if (buildCounterEmpty < 3) {} + buildCounterEmpty--; +} + +core.int buildCounterEnvironmentAssignedTargetingOptionDetails = 0; +api.EnvironmentAssignedTargetingOptionDetails + buildEnvironmentAssignedTargetingOptionDetails() { + final o = api.EnvironmentAssignedTargetingOptionDetails(); + buildCounterEnvironmentAssignedTargetingOptionDetails++; + if (buildCounterEnvironmentAssignedTargetingOptionDetails < 3) { + o.environment = 'foo'; + } + buildCounterEnvironmentAssignedTargetingOptionDetails--; + return o; +} + +void checkEnvironmentAssignedTargetingOptionDetails( + api.EnvironmentAssignedTargetingOptionDetails o) { + buildCounterEnvironmentAssignedTargetingOptionDetails++; + if (buildCounterEnvironmentAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.environment!, + unittest.equals('foo'), + ); + } + buildCounterEnvironmentAssignedTargetingOptionDetails--; +} + +core.int buildCounterEnvironmentTargetingOptionDetails = 0; +api.EnvironmentTargetingOptionDetails buildEnvironmentTargetingOptionDetails() { + final o = api.EnvironmentTargetingOptionDetails(); + buildCounterEnvironmentTargetingOptionDetails++; + if (buildCounterEnvironmentTargetingOptionDetails < 3) { + o.environment = 'foo'; + } + buildCounterEnvironmentTargetingOptionDetails--; + return o; +} + +void checkEnvironmentTargetingOptionDetails( + api.EnvironmentTargetingOptionDetails o) { + buildCounterEnvironmentTargetingOptionDetails++; + if (buildCounterEnvironmentTargetingOptionDetails < 3) { + unittest.expect( + o.environment!, + unittest.equals('foo'), + ); + } + buildCounterEnvironmentTargetingOptionDetails--; +} + +core.int buildCounterExchangeAssignedTargetingOptionDetails = 0; +api.ExchangeAssignedTargetingOptionDetails + buildExchangeAssignedTargetingOptionDetails() { + final o = api.ExchangeAssignedTargetingOptionDetails(); + buildCounterExchangeAssignedTargetingOptionDetails++; + if (buildCounterExchangeAssignedTargetingOptionDetails < 3) { + o.exchange = 'foo'; + } + buildCounterExchangeAssignedTargetingOptionDetails--; + return o; +} + +void checkExchangeAssignedTargetingOptionDetails( + api.ExchangeAssignedTargetingOptionDetails o) { + buildCounterExchangeAssignedTargetingOptionDetails++; + if (buildCounterExchangeAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.exchange!, + unittest.equals('foo'), + ); + } + buildCounterExchangeAssignedTargetingOptionDetails--; +} + +core.List buildUnnamed73() => [ + buildExchangeConfigEnabledExchange(), + buildExchangeConfigEnabledExchange(), + ]; + +void checkUnnamed73(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkExchangeConfigEnabledExchange(o[0]); + checkExchangeConfigEnabledExchange(o[1]); +} + +core.int buildCounterExchangeConfig = 0; +api.ExchangeConfig buildExchangeConfig() { + final o = api.ExchangeConfig(); + buildCounterExchangeConfig++; + if (buildCounterExchangeConfig < 3) { + o.enabledExchanges = buildUnnamed73(); + } + buildCounterExchangeConfig--; + return o; +} + +void checkExchangeConfig(api.ExchangeConfig o) { + buildCounterExchangeConfig++; + if (buildCounterExchangeConfig < 3) { + checkUnnamed73(o.enabledExchanges!); + } + buildCounterExchangeConfig--; +} + +core.int buildCounterExchangeConfigEnabledExchange = 0; +api.ExchangeConfigEnabledExchange buildExchangeConfigEnabledExchange() { + final o = api.ExchangeConfigEnabledExchange(); + buildCounterExchangeConfigEnabledExchange++; + if (buildCounterExchangeConfigEnabledExchange < 3) { + o.exchange = 'foo'; + o.googleAdManagerAgencyId = 'foo'; + o.googleAdManagerBuyerNetworkId = 'foo'; + o.seatId = 'foo'; + } + buildCounterExchangeConfigEnabledExchange--; + return o; +} + +void checkExchangeConfigEnabledExchange(api.ExchangeConfigEnabledExchange o) { + buildCounterExchangeConfigEnabledExchange++; + if (buildCounterExchangeConfigEnabledExchange < 3) { + unittest.expect( + o.exchange!, + unittest.equals('foo'), + ); + unittest.expect( + o.googleAdManagerAgencyId!, + unittest.equals('foo'), + ); + unittest.expect( + o.googleAdManagerBuyerNetworkId!, + unittest.equals('foo'), + ); + unittest.expect( + o.seatId!, + unittest.equals('foo'), + ); + } + buildCounterExchangeConfigEnabledExchange--; +} + +core.int buildCounterExchangeReviewStatus = 0; +api.ExchangeReviewStatus buildExchangeReviewStatus() { + final o = api.ExchangeReviewStatus(); + buildCounterExchangeReviewStatus++; + if (buildCounterExchangeReviewStatus < 3) { + o.exchange = 'foo'; + o.status = 'foo'; + } + buildCounterExchangeReviewStatus--; + return o; +} + +void checkExchangeReviewStatus(api.ExchangeReviewStatus o) { + buildCounterExchangeReviewStatus++; + if (buildCounterExchangeReviewStatus < 3) { + unittest.expect( + o.exchange!, + unittest.equals('foo'), + ); + unittest.expect( + o.status!, + unittest.equals('foo'), + ); + } + buildCounterExchangeReviewStatus--; +} + +core.int buildCounterExchangeTargetingOptionDetails = 0; +api.ExchangeTargetingOptionDetails buildExchangeTargetingOptionDetails() { + final o = api.ExchangeTargetingOptionDetails(); + buildCounterExchangeTargetingOptionDetails++; + if (buildCounterExchangeTargetingOptionDetails < 3) { + o.exchange = 'foo'; + } + buildCounterExchangeTargetingOptionDetails--; + return o; +} + +void checkExchangeTargetingOptionDetails(api.ExchangeTargetingOptionDetails o) { + buildCounterExchangeTargetingOptionDetails++; + if (buildCounterExchangeTargetingOptionDetails < 3) { + unittest.expect( + o.exchange!, + unittest.equals('foo'), + ); + } + buildCounterExchangeTargetingOptionDetails--; +} + +core.int buildCounterExitEvent = 0; +api.ExitEvent buildExitEvent() { + final o = api.ExitEvent(); + buildCounterExitEvent++; + if (buildCounterExitEvent < 3) { + o.name = 'foo'; + o.reportingName = 'foo'; + o.type = 'foo'; + o.url = 'foo'; + } + buildCounterExitEvent--; + return o; +} + +void checkExitEvent(api.ExitEvent o) { + buildCounterExitEvent++; + if (buildCounterExitEvent < 3) { + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.reportingName!, + unittest.equals('foo'), + ); + unittest.expect( + o.type!, + unittest.equals('foo'), + ); + unittest.expect( + o.url!, + unittest.equals('foo'), + ); + } + buildCounterExitEvent--; +} + +core.int buildCounterFirstPartyAndPartnerAudience = 0; +api.FirstPartyAndPartnerAudience buildFirstPartyAndPartnerAudience() { + final o = api.FirstPartyAndPartnerAudience(); + buildCounterFirstPartyAndPartnerAudience++; + if (buildCounterFirstPartyAndPartnerAudience < 3) { + o.activeDisplayAudienceSize = 'foo'; + o.appId = 'foo'; + o.audienceSource = 'foo'; + o.audienceType = 'foo'; + o.contactInfoList = buildContactInfoList(); + o.description = 'foo'; + o.displayAudienceSize = 'foo'; + o.displayDesktopAudienceSize = 'foo'; + o.displayMobileAppAudienceSize = 'foo'; + o.displayMobileWebAudienceSize = 'foo'; + o.displayName = 'foo'; + o.firstPartyAndPartnerAudienceId = 'foo'; + o.firstPartyAndPartnerAudienceType = 'foo'; + o.gmailAudienceSize = 'foo'; + o.membershipDurationDays = 'foo'; + o.mobileDeviceIdList = buildMobileDeviceIdList(); + o.name = 'foo'; + o.youtubeAudienceSize = 'foo'; + } + buildCounterFirstPartyAndPartnerAudience--; + return o; +} + +void checkFirstPartyAndPartnerAudience(api.FirstPartyAndPartnerAudience o) { + buildCounterFirstPartyAndPartnerAudience++; + if (buildCounterFirstPartyAndPartnerAudience < 3) { + unittest.expect( + o.activeDisplayAudienceSize!, + unittest.equals('foo'), + ); + unittest.expect( + o.appId!, + unittest.equals('foo'), + ); + unittest.expect( + o.audienceSource!, + unittest.equals('foo'), + ); + unittest.expect( + o.audienceType!, + unittest.equals('foo'), + ); + checkContactInfoList(o.contactInfoList!); + unittest.expect( + o.description!, + unittest.equals('foo'), + ); + unittest.expect( + o.displayAudienceSize!, + unittest.equals('foo'), + ); + unittest.expect( + o.displayDesktopAudienceSize!, + unittest.equals('foo'), + ); + unittest.expect( + o.displayMobileAppAudienceSize!, + unittest.equals('foo'), + ); + unittest.expect( + o.displayMobileWebAudienceSize!, + unittest.equals('foo'), + ); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.firstPartyAndPartnerAudienceId!, + unittest.equals('foo'), + ); + unittest.expect( + o.firstPartyAndPartnerAudienceType!, + unittest.equals('foo'), + ); + unittest.expect( + o.gmailAudienceSize!, + unittest.equals('foo'), + ); + unittest.expect( + o.membershipDurationDays!, + unittest.equals('foo'), + ); + checkMobileDeviceIdList(o.mobileDeviceIdList!); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.youtubeAudienceSize!, + unittest.equals('foo'), + ); + } + buildCounterFirstPartyAndPartnerAudience--; +} + +core.List buildUnnamed74() => + [ + buildFirstPartyAndPartnerAudienceTargetingSetting(), + buildFirstPartyAndPartnerAudienceTargetingSetting(), + ]; + +void checkUnnamed74( + core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkFirstPartyAndPartnerAudienceTargetingSetting(o[0]); + checkFirstPartyAndPartnerAudienceTargetingSetting(o[1]); +} + +core.int buildCounterFirstPartyAndPartnerAudienceGroup = 0; +api.FirstPartyAndPartnerAudienceGroup buildFirstPartyAndPartnerAudienceGroup() { + final o = api.FirstPartyAndPartnerAudienceGroup(); + buildCounterFirstPartyAndPartnerAudienceGroup++; + if (buildCounterFirstPartyAndPartnerAudienceGroup < 3) { + o.settings = buildUnnamed74(); + } + buildCounterFirstPartyAndPartnerAudienceGroup--; + return o; +} + +void checkFirstPartyAndPartnerAudienceGroup( + api.FirstPartyAndPartnerAudienceGroup o) { + buildCounterFirstPartyAndPartnerAudienceGroup++; + if (buildCounterFirstPartyAndPartnerAudienceGroup < 3) { + checkUnnamed74(o.settings!); + } + buildCounterFirstPartyAndPartnerAudienceGroup--; +} + +core.int buildCounterFirstPartyAndPartnerAudienceTargetingSetting = 0; +api.FirstPartyAndPartnerAudienceTargetingSetting + buildFirstPartyAndPartnerAudienceTargetingSetting() { + final o = api.FirstPartyAndPartnerAudienceTargetingSetting(); + buildCounterFirstPartyAndPartnerAudienceTargetingSetting++; + if (buildCounterFirstPartyAndPartnerAudienceTargetingSetting < 3) { + o.firstPartyAndPartnerAudienceId = 'foo'; + o.recency = 'foo'; + } + buildCounterFirstPartyAndPartnerAudienceTargetingSetting--; + return o; +} + +void checkFirstPartyAndPartnerAudienceTargetingSetting( + api.FirstPartyAndPartnerAudienceTargetingSetting o) { + buildCounterFirstPartyAndPartnerAudienceTargetingSetting++; + if (buildCounterFirstPartyAndPartnerAudienceTargetingSetting < 3) { + unittest.expect( + o.firstPartyAndPartnerAudienceId!, + unittest.equals('foo'), + ); + unittest.expect( + o.recency!, + unittest.equals('foo'), + ); + } + buildCounterFirstPartyAndPartnerAudienceTargetingSetting--; +} + +core.int buildCounterFixedBidStrategy = 0; +api.FixedBidStrategy buildFixedBidStrategy() { + final o = api.FixedBidStrategy(); + buildCounterFixedBidStrategy++; + if (buildCounterFixedBidStrategy < 3) { + o.bidAmountMicros = 'foo'; + } + buildCounterFixedBidStrategy--; + return o; +} + +void checkFixedBidStrategy(api.FixedBidStrategy o) { + buildCounterFixedBidStrategy++; + if (buildCounterFixedBidStrategy < 3) { + unittest.expect( + o.bidAmountMicros!, + unittest.equals('foo'), + ); + } + buildCounterFixedBidStrategy--; +} + +core.List buildUnnamed75() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed75(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed76() => [ + buildRemarketingConfig(), + buildRemarketingConfig(), + ]; + +void checkUnnamed76(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkRemarketingConfig(o[0]); + checkRemarketingConfig(o[1]); +} + +core.int buildCounterFloodlightActivity = 0; +api.FloodlightActivity buildFloodlightActivity() { + final o = api.FloodlightActivity(); + buildCounterFloodlightActivity++; + if (buildCounterFloodlightActivity < 3) { + o.advertiserIds = buildUnnamed75(); + o.displayName = 'foo'; + o.floodlightActivityId = 'foo'; + o.floodlightGroupId = 'foo'; + o.name = 'foo'; + o.remarketingConfigs = buildUnnamed76(); + o.servingStatus = 'foo'; + o.sslRequired = true; + } + buildCounterFloodlightActivity--; + return o; +} + +void checkFloodlightActivity(api.FloodlightActivity o) { + buildCounterFloodlightActivity++; + if (buildCounterFloodlightActivity < 3) { + checkUnnamed75(o.advertiserIds!); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.floodlightActivityId!, + unittest.equals('foo'), + ); + unittest.expect( + o.floodlightGroupId!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + checkUnnamed76(o.remarketingConfigs!); + unittest.expect( + o.servingStatus!, + unittest.equals('foo'), + ); + unittest.expect(o.sslRequired!, unittest.isTrue); + } + buildCounterFloodlightActivity--; +} + +core.Map buildUnnamed77() => { + 'x': { + 'list': [1, 2, 3], + 'bool': true, + 'string': 'foo' + }, + 'y': { + 'list': [1, 2, 3], + 'bool': true, + 'string': 'foo' + }, + }; + +void checkUnnamed77(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + var casted1 = (o['x']!) as core.Map; + unittest.expect(casted1, unittest.hasLength(3)); + unittest.expect( + casted1['list'], + unittest.equals([1, 2, 3]), + ); + unittest.expect( + casted1['bool'], + unittest.equals(true), + ); + unittest.expect( + casted1['string'], + unittest.equals('foo'), + ); + var casted2 = (o['y']!) as core.Map; + unittest.expect(casted2, unittest.hasLength(3)); + unittest.expect( + casted2['list'], + unittest.equals([1, 2, 3]), + ); + unittest.expect( + casted2['bool'], + unittest.equals(true), + ); + unittest.expect( + casted2['string'], + unittest.equals('foo'), + ); +} + +core.int buildCounterFloodlightGroup = 0; +api.FloodlightGroup buildFloodlightGroup() { + final o = api.FloodlightGroup(); + buildCounterFloodlightGroup++; + if (buildCounterFloodlightGroup < 3) { + o.activeViewConfig = buildActiveViewVideoViewabilityMetricConfig(); + o.customVariables = buildUnnamed77(); + o.displayName = 'foo'; + o.floodlightGroupId = 'foo'; + o.lookbackWindow = buildLookbackWindow(); + o.name = 'foo'; + o.webTagType = 'foo'; + } + buildCounterFloodlightGroup--; + return o; +} + +void checkFloodlightGroup(api.FloodlightGroup o) { + buildCounterFloodlightGroup++; + if (buildCounterFloodlightGroup < 3) { + checkActiveViewVideoViewabilityMetricConfig(o.activeViewConfig!); + checkUnnamed77(o.customVariables!); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.floodlightGroupId!, + unittest.equals('foo'), + ); + checkLookbackWindow(o.lookbackWindow!); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.webTagType!, + unittest.equals('foo'), + ); + } + buildCounterFloodlightGroup--; +} + +core.int buildCounterFrequencyCap = 0; +api.FrequencyCap buildFrequencyCap() { + final o = api.FrequencyCap(); + buildCounterFrequencyCap++; + if (buildCounterFrequencyCap < 3) { + o.maxImpressions = 42; + o.maxViews = 42; + o.timeUnit = 'foo'; + o.timeUnitCount = 42; + o.unlimited = true; + } + buildCounterFrequencyCap--; + return o; +} + +void checkFrequencyCap(api.FrequencyCap o) { + buildCounterFrequencyCap++; + if (buildCounterFrequencyCap < 3) { + unittest.expect( + o.maxImpressions!, + unittest.equals(42), + ); + unittest.expect( + o.maxViews!, + unittest.equals(42), + ); + unittest.expect( + o.timeUnit!, + unittest.equals('foo'), + ); + unittest.expect( + o.timeUnitCount!, + unittest.equals(42), + ); + unittest.expect(o.unlimited!, unittest.isTrue); + } + buildCounterFrequencyCap--; +} + +core.int buildCounterGenderAssignedTargetingOptionDetails = 0; +api.GenderAssignedTargetingOptionDetails + buildGenderAssignedTargetingOptionDetails() { + final o = api.GenderAssignedTargetingOptionDetails(); + buildCounterGenderAssignedTargetingOptionDetails++; + if (buildCounterGenderAssignedTargetingOptionDetails < 3) { + o.gender = 'foo'; + } + buildCounterGenderAssignedTargetingOptionDetails--; + return o; +} + +void checkGenderAssignedTargetingOptionDetails( + api.GenderAssignedTargetingOptionDetails o) { + buildCounterGenderAssignedTargetingOptionDetails++; + if (buildCounterGenderAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.gender!, + unittest.equals('foo'), + ); + } + buildCounterGenderAssignedTargetingOptionDetails--; +} + +core.int buildCounterGenderTargetingOptionDetails = 0; +api.GenderTargetingOptionDetails buildGenderTargetingOptionDetails() { + final o = api.GenderTargetingOptionDetails(); + buildCounterGenderTargetingOptionDetails++; + if (buildCounterGenderTargetingOptionDetails < 3) { + o.gender = 'foo'; + } + buildCounterGenderTargetingOptionDetails--; + return o; +} + +void checkGenderTargetingOptionDetails(api.GenderTargetingOptionDetails o) { + buildCounterGenderTargetingOptionDetails++; + if (buildCounterGenderTargetingOptionDetails < 3) { + unittest.expect( + o.gender!, + unittest.equals('foo'), + ); + } + buildCounterGenderTargetingOptionDetails--; +} + +core.int buildCounterGenerateDefaultLineItemRequest = 0; +api.GenerateDefaultLineItemRequest buildGenerateDefaultLineItemRequest() { + final o = api.GenerateDefaultLineItemRequest(); + buildCounterGenerateDefaultLineItemRequest++; + if (buildCounterGenerateDefaultLineItemRequest < 3) { + o.displayName = 'foo'; + o.insertionOrderId = 'foo'; + o.lineItemType = 'foo'; + o.mobileApp = buildMobileApp(); + } + buildCounterGenerateDefaultLineItemRequest--; + return o; +} + +void checkGenerateDefaultLineItemRequest(api.GenerateDefaultLineItemRequest o) { + buildCounterGenerateDefaultLineItemRequest++; + if (buildCounterGenerateDefaultLineItemRequest < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.insertionOrderId!, + unittest.equals('foo'), + ); + unittest.expect( + o.lineItemType!, + unittest.equals('foo'), + ); + checkMobileApp(o.mobileApp!); + } + buildCounterGenerateDefaultLineItemRequest--; +} + +core.int buildCounterGeoRegionAssignedTargetingOptionDetails = 0; +api.GeoRegionAssignedTargetingOptionDetails + buildGeoRegionAssignedTargetingOptionDetails() { + final o = api.GeoRegionAssignedTargetingOptionDetails(); + buildCounterGeoRegionAssignedTargetingOptionDetails++; + if (buildCounterGeoRegionAssignedTargetingOptionDetails < 3) { + o.displayName = 'foo'; + o.geoRegionType = 'foo'; + o.negative = true; + o.targetingOptionId = 'foo'; + } + buildCounterGeoRegionAssignedTargetingOptionDetails--; + return o; +} + +void checkGeoRegionAssignedTargetingOptionDetails( + api.GeoRegionAssignedTargetingOptionDetails o) { + buildCounterGeoRegionAssignedTargetingOptionDetails++; + if (buildCounterGeoRegionAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.geoRegionType!, + unittest.equals('foo'), + ); + unittest.expect(o.negative!, unittest.isTrue); + unittest.expect( + o.targetingOptionId!, + unittest.equals('foo'), + ); + } + buildCounterGeoRegionAssignedTargetingOptionDetails--; +} + +core.int buildCounterGeoRegionSearchTerms = 0; +api.GeoRegionSearchTerms buildGeoRegionSearchTerms() { + final o = api.GeoRegionSearchTerms(); + buildCounterGeoRegionSearchTerms++; + if (buildCounterGeoRegionSearchTerms < 3) { + o.geoRegionQuery = 'foo'; + } + buildCounterGeoRegionSearchTerms--; + return o; +} + +void checkGeoRegionSearchTerms(api.GeoRegionSearchTerms o) { + buildCounterGeoRegionSearchTerms++; + if (buildCounterGeoRegionSearchTerms < 3) { + unittest.expect( + o.geoRegionQuery!, + unittest.equals('foo'), + ); + } + buildCounterGeoRegionSearchTerms--; +} + +core.int buildCounterGeoRegionTargetingOptionDetails = 0; +api.GeoRegionTargetingOptionDetails buildGeoRegionTargetingOptionDetails() { + final o = api.GeoRegionTargetingOptionDetails(); + buildCounterGeoRegionTargetingOptionDetails++; + if (buildCounterGeoRegionTargetingOptionDetails < 3) { + o.displayName = 'foo'; + o.geoRegionType = 'foo'; + } + buildCounterGeoRegionTargetingOptionDetails--; + return o; +} + +void checkGeoRegionTargetingOptionDetails( + api.GeoRegionTargetingOptionDetails o) { + buildCounterGeoRegionTargetingOptionDetails++; + if (buildCounterGeoRegionTargetingOptionDetails < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.geoRegionType!, + unittest.equals('foo'), + ); + } + buildCounterGeoRegionTargetingOptionDetails--; +} + +core.int buildCounterGoogleAudience = 0; +api.GoogleAudience buildGoogleAudience() { + final o = api.GoogleAudience(); + buildCounterGoogleAudience++; + if (buildCounterGoogleAudience < 3) { + o.displayName = 'foo'; + o.googleAudienceId = 'foo'; + o.googleAudienceType = 'foo'; + o.name = 'foo'; + } + buildCounterGoogleAudience--; + return o; +} + +void checkGoogleAudience(api.GoogleAudience o) { + buildCounterGoogleAudience++; + if (buildCounterGoogleAudience < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.googleAudienceId!, + unittest.equals('foo'), + ); + unittest.expect( + o.googleAudienceType!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + } + buildCounterGoogleAudience--; +} + +core.List buildUnnamed78() => [ + buildGoogleAudienceTargetingSetting(), + buildGoogleAudienceTargetingSetting(), + ]; + +void checkUnnamed78(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleAudienceTargetingSetting(o[0]); + checkGoogleAudienceTargetingSetting(o[1]); +} + +core.int buildCounterGoogleAudienceGroup = 0; +api.GoogleAudienceGroup buildGoogleAudienceGroup() { + final o = api.GoogleAudienceGroup(); + buildCounterGoogleAudienceGroup++; + if (buildCounterGoogleAudienceGroup < 3) { + o.settings = buildUnnamed78(); + } + buildCounterGoogleAudienceGroup--; + return o; +} + +void checkGoogleAudienceGroup(api.GoogleAudienceGroup o) { + buildCounterGoogleAudienceGroup++; + if (buildCounterGoogleAudienceGroup < 3) { + checkUnnamed78(o.settings!); + } + buildCounterGoogleAudienceGroup--; +} + +core.int buildCounterGoogleAudienceTargetingSetting = 0; +api.GoogleAudienceTargetingSetting buildGoogleAudienceTargetingSetting() { + final o = api.GoogleAudienceTargetingSetting(); + buildCounterGoogleAudienceTargetingSetting++; + if (buildCounterGoogleAudienceTargetingSetting < 3) { + o.googleAudienceId = 'foo'; + } + buildCounterGoogleAudienceTargetingSetting--; + return o; +} + +void checkGoogleAudienceTargetingSetting(api.GoogleAudienceTargetingSetting o) { + buildCounterGoogleAudienceTargetingSetting++; + if (buildCounterGoogleAudienceTargetingSetting < 3) { + unittest.expect( + o.googleAudienceId!, + unittest.equals('foo'), + ); + } + buildCounterGoogleAudienceTargetingSetting--; +} + +core.int buildCounterGoogleBytestreamMedia = 0; +api.GoogleBytestreamMedia buildGoogleBytestreamMedia() { + final o = api.GoogleBytestreamMedia(); + buildCounterGoogleBytestreamMedia++; + if (buildCounterGoogleBytestreamMedia < 3) { + o.resourceName = 'foo'; + } + buildCounterGoogleBytestreamMedia--; + return o; +} + +void checkGoogleBytestreamMedia(api.GoogleBytestreamMedia o) { + buildCounterGoogleBytestreamMedia++; + if (buildCounterGoogleBytestreamMedia < 3) { + unittest.expect( + o.resourceName!, + unittest.equals('foo'), + ); + } + buildCounterGoogleBytestreamMedia--; +} + +core.List buildUnnamed79() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed79(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterGuaranteedOrder = 0; +api.GuaranteedOrder buildGuaranteedOrder() { + final o = api.GuaranteedOrder(); + buildCounterGuaranteedOrder++; + if (buildCounterGuaranteedOrder < 3) { + o.defaultAdvertiserId = 'foo'; + o.defaultCampaignId = 'foo'; + o.displayName = 'foo'; + o.exchange = 'foo'; + o.guaranteedOrderId = 'foo'; + o.legacyGuaranteedOrderId = 'foo'; + o.name = 'foo'; + o.publisherName = 'foo'; + o.readAccessInherited = true; + o.readAdvertiserIds = buildUnnamed79(); + o.readWriteAdvertiserId = 'foo'; + o.readWritePartnerId = 'foo'; + o.status = buildGuaranteedOrderStatus(); + o.updateTime = 'foo'; + } + buildCounterGuaranteedOrder--; + return o; +} + +void checkGuaranteedOrder(api.GuaranteedOrder o) { + buildCounterGuaranteedOrder++; + if (buildCounterGuaranteedOrder < 3) { + unittest.expect( + o.defaultAdvertiserId!, + unittest.equals('foo'), + ); + unittest.expect( + o.defaultCampaignId!, + unittest.equals('foo'), + ); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.exchange!, + unittest.equals('foo'), + ); + unittest.expect( + o.guaranteedOrderId!, + unittest.equals('foo'), + ); + unittest.expect( + o.legacyGuaranteedOrderId!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.publisherName!, + unittest.equals('foo'), + ); + unittest.expect(o.readAccessInherited!, unittest.isTrue); + checkUnnamed79(o.readAdvertiserIds!); + unittest.expect( + o.readWriteAdvertiserId!, + unittest.equals('foo'), + ); + unittest.expect( + o.readWritePartnerId!, + unittest.equals('foo'), + ); + checkGuaranteedOrderStatus(o.status!); + unittest.expect( + o.updateTime!, + unittest.equals('foo'), + ); + } + buildCounterGuaranteedOrder--; +} + +core.int buildCounterGuaranteedOrderStatus = 0; +api.GuaranteedOrderStatus buildGuaranteedOrderStatus() { + final o = api.GuaranteedOrderStatus(); + buildCounterGuaranteedOrderStatus++; + if (buildCounterGuaranteedOrderStatus < 3) { + o.configStatus = 'foo'; + o.entityPauseReason = 'foo'; + o.entityStatus = 'foo'; + } + buildCounterGuaranteedOrderStatus--; + return o; +} + +void checkGuaranteedOrderStatus(api.GuaranteedOrderStatus o) { + buildCounterGuaranteedOrderStatus++; + if (buildCounterGuaranteedOrderStatus < 3) { + unittest.expect( + o.configStatus!, + unittest.equals('foo'), + ); + unittest.expect( + o.entityPauseReason!, + unittest.equals('foo'), + ); + unittest.expect( + o.entityStatus!, + unittest.equals('foo'), + ); + } + buildCounterGuaranteedOrderStatus--; +} + +core.int buildCounterHouseholdIncomeAssignedTargetingOptionDetails = 0; +api.HouseholdIncomeAssignedTargetingOptionDetails + buildHouseholdIncomeAssignedTargetingOptionDetails() { + final o = api.HouseholdIncomeAssignedTargetingOptionDetails(); + buildCounterHouseholdIncomeAssignedTargetingOptionDetails++; + if (buildCounterHouseholdIncomeAssignedTargetingOptionDetails < 3) { + o.householdIncome = 'foo'; + } + buildCounterHouseholdIncomeAssignedTargetingOptionDetails--; + return o; +} + +void checkHouseholdIncomeAssignedTargetingOptionDetails( + api.HouseholdIncomeAssignedTargetingOptionDetails o) { + buildCounterHouseholdIncomeAssignedTargetingOptionDetails++; + if (buildCounterHouseholdIncomeAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.householdIncome!, + unittest.equals('foo'), + ); + } + buildCounterHouseholdIncomeAssignedTargetingOptionDetails--; +} + +core.int buildCounterHouseholdIncomeTargetingOptionDetails = 0; +api.HouseholdIncomeTargetingOptionDetails + buildHouseholdIncomeTargetingOptionDetails() { + final o = api.HouseholdIncomeTargetingOptionDetails(); + buildCounterHouseholdIncomeTargetingOptionDetails++; + if (buildCounterHouseholdIncomeTargetingOptionDetails < 3) { + o.householdIncome = 'foo'; + } + buildCounterHouseholdIncomeTargetingOptionDetails--; + return o; +} + +void checkHouseholdIncomeTargetingOptionDetails( + api.HouseholdIncomeTargetingOptionDetails o) { + buildCounterHouseholdIncomeTargetingOptionDetails++; + if (buildCounterHouseholdIncomeTargetingOptionDetails < 3) { + unittest.expect( + o.householdIncome!, + unittest.equals('foo'), + ); + } + buildCounterHouseholdIncomeTargetingOptionDetails--; +} + +core.List buildUnnamed80() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed80(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed81() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed81(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed82() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed82(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed83() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed83(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed84() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed84(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed85() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed85(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed86() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed86(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed87() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed87(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterIdFilter = 0; +api.IdFilter buildIdFilter() { + final o = api.IdFilter(); + buildCounterIdFilter++; + if (buildCounterIdFilter < 3) { + o.adGroupAdIds = buildUnnamed80(); + o.adGroupIds = buildUnnamed81(); + o.adGroupQaIds = buildUnnamed82(); + o.campaignIds = buildUnnamed83(); + o.insertionOrderIds = buildUnnamed84(); + o.lineItemIds = buildUnnamed85(); + o.lineItemQaIds = buildUnnamed86(); + o.mediaProductIds = buildUnnamed87(); + } + buildCounterIdFilter--; + return o; +} + +void checkIdFilter(api.IdFilter o) { + buildCounterIdFilter++; + if (buildCounterIdFilter < 3) { + checkUnnamed80(o.adGroupAdIds!); + checkUnnamed81(o.adGroupIds!); + checkUnnamed82(o.adGroupQaIds!); + checkUnnamed83(o.campaignIds!); + checkUnnamed84(o.insertionOrderIds!); + checkUnnamed85(o.lineItemIds!); + checkUnnamed86(o.lineItemQaIds!); + checkUnnamed87(o.mediaProductIds!); + } + buildCounterIdFilter--; +} + +core.int buildCounterImageAsset = 0; +api.ImageAsset buildImageAsset() { + final o = api.ImageAsset(); + buildCounterImageAsset++; + if (buildCounterImageAsset < 3) { + o.fileSize = 'foo'; + o.fullSize = buildDimensions(); + o.mimeType = 'foo'; + } + buildCounterImageAsset--; + return o; +} + +void checkImageAsset(api.ImageAsset o) { + buildCounterImageAsset++; + if (buildCounterImageAsset < 3) { + unittest.expect( + o.fileSize!, + unittest.equals('foo'), + ); + checkDimensions(o.fullSize!); + unittest.expect( + o.mimeType!, + unittest.equals('foo'), + ); + } + buildCounterImageAsset--; +} + +core.Map buildUnnamed88() => { + 'x': 'foo', + 'y': 'foo', + }; + +void checkUnnamed88(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o['x']!, + unittest.equals('foo'), + ); + unittest.expect( + o['y']!, + unittest.equals('foo'), + ); +} + +core.int buildCounterInStreamAd = 0; +api.InStreamAd buildInStreamAd() { + final o = api.InStreamAd(); + buildCounterInStreamAd++; + if (buildCounterInStreamAd < 3) { + o.commonInStreamAttribute = buildCommonInStreamAttribute(); + o.customParameters = buildUnnamed88(); + } + buildCounterInStreamAd--; + return o; +} + +void checkInStreamAd(api.InStreamAd o) { + buildCounterInStreamAd++; + if (buildCounterInStreamAd < 3) { + checkCommonInStreamAttribute(o.commonInStreamAttribute!); + checkUnnamed88(o.customParameters!); + } + buildCounterInStreamAd--; +} + +core.List buildUnnamed89() => [ + buildPartnerCost(), + buildPartnerCost(), + ]; + +void checkUnnamed89(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkPartnerCost(o[0]); + checkPartnerCost(o[1]); +} + +core.int buildCounterInsertionOrder = 0; +api.InsertionOrder buildInsertionOrder() { + final o = api.InsertionOrder(); + buildCounterInsertionOrder++; + if (buildCounterInsertionOrder < 3) { + o.advertiserId = 'foo'; + o.bidStrategy = buildBiddingStrategy(); + o.budget = buildInsertionOrderBudget(); + o.campaignId = 'foo'; + o.displayName = 'foo'; + o.entityStatus = 'foo'; + o.frequencyCap = buildFrequencyCap(); + o.insertionOrderId = 'foo'; + o.insertionOrderType = 'foo'; + o.integrationDetails = buildIntegrationDetails(); + o.kpi = buildKpi(); + o.name = 'foo'; + o.optimizationObjective = 'foo'; + o.pacing = buildPacing(); + o.partnerCosts = buildUnnamed89(); + o.reservationType = 'foo'; + o.updateTime = 'foo'; + } + buildCounterInsertionOrder--; + return o; +} + +void checkInsertionOrder(api.InsertionOrder o) { + buildCounterInsertionOrder++; + if (buildCounterInsertionOrder < 3) { + unittest.expect( + o.advertiserId!, + unittest.equals('foo'), + ); + checkBiddingStrategy(o.bidStrategy!); + checkInsertionOrderBudget(o.budget!); + unittest.expect( + o.campaignId!, + unittest.equals('foo'), + ); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.entityStatus!, + unittest.equals('foo'), + ); + checkFrequencyCap(o.frequencyCap!); + unittest.expect( + o.insertionOrderId!, + unittest.equals('foo'), + ); + unittest.expect( + o.insertionOrderType!, + unittest.equals('foo'), + ); + checkIntegrationDetails(o.integrationDetails!); + checkKpi(o.kpi!); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.optimizationObjective!, + unittest.equals('foo'), + ); + checkPacing(o.pacing!); + checkUnnamed89(o.partnerCosts!); + unittest.expect( + o.reservationType!, + unittest.equals('foo'), + ); + unittest.expect( + o.updateTime!, + unittest.equals('foo'), + ); + } + buildCounterInsertionOrder--; +} + +core.List buildUnnamed90() => [ + buildInsertionOrderBudgetSegment(), + buildInsertionOrderBudgetSegment(), + ]; + +void checkUnnamed90(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkInsertionOrderBudgetSegment(o[0]); + checkInsertionOrderBudgetSegment(o[1]); +} + +core.int buildCounterInsertionOrderBudget = 0; +api.InsertionOrderBudget buildInsertionOrderBudget() { + final o = api.InsertionOrderBudget(); + buildCounterInsertionOrderBudget++; + if (buildCounterInsertionOrderBudget < 3) { + o.automationType = 'foo'; + o.budgetSegments = buildUnnamed90(); + o.budgetUnit = 'foo'; + } + buildCounterInsertionOrderBudget--; + return o; +} + +void checkInsertionOrderBudget(api.InsertionOrderBudget o) { + buildCounterInsertionOrderBudget++; + if (buildCounterInsertionOrderBudget < 3) { + unittest.expect( + o.automationType!, + unittest.equals('foo'), + ); + checkUnnamed90(o.budgetSegments!); + unittest.expect( + o.budgetUnit!, + unittest.equals('foo'), + ); + } + buildCounterInsertionOrderBudget--; +} + +core.int buildCounterInsertionOrderBudgetSegment = 0; +api.InsertionOrderBudgetSegment buildInsertionOrderBudgetSegment() { + final o = api.InsertionOrderBudgetSegment(); + buildCounterInsertionOrderBudgetSegment++; + if (buildCounterInsertionOrderBudgetSegment < 3) { + o.budgetAmountMicros = 'foo'; + o.campaignBudgetId = 'foo'; + o.dateRange = buildDateRange(); + o.description = 'foo'; + } + buildCounterInsertionOrderBudgetSegment--; + return o; +} + +void checkInsertionOrderBudgetSegment(api.InsertionOrderBudgetSegment o) { + buildCounterInsertionOrderBudgetSegment++; + if (buildCounterInsertionOrderBudgetSegment < 3) { + unittest.expect( + o.budgetAmountMicros!, + unittest.equals('foo'), + ); + unittest.expect( + o.campaignBudgetId!, + unittest.equals('foo'), + ); + checkDateRange(o.dateRange!); + unittest.expect( + o.description!, + unittest.equals('foo'), + ); + } + buildCounterInsertionOrderBudgetSegment--; +} + +core.List buildUnnamed91() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed91(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed92() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed92(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterIntegralAdScience = 0; +api.IntegralAdScience buildIntegralAdScience() { + final o = api.IntegralAdScience(); + buildCounterIntegralAdScience++; + if (buildCounterIntegralAdScience < 3) { + o.customSegmentId = buildUnnamed91(); + o.displayViewability = 'foo'; + o.excludeUnrateable = true; + o.excludedAdFraudRisk = 'foo'; + o.excludedAdultRisk = 'foo'; + o.excludedAlcoholRisk = 'foo'; + o.excludedDrugsRisk = 'foo'; + o.excludedGamblingRisk = 'foo'; + o.excludedHateSpeechRisk = 'foo'; + o.excludedIllegalDownloadsRisk = 'foo'; + o.excludedOffensiveLanguageRisk = 'foo'; + o.excludedViolenceRisk = 'foo'; + o.qualitySyncCustomSegmentId = buildUnnamed92(); + o.traqScoreOption = 'foo'; + o.videoViewability = 'foo'; + } + buildCounterIntegralAdScience--; + return o; +} + +void checkIntegralAdScience(api.IntegralAdScience o) { + buildCounterIntegralAdScience++; + if (buildCounterIntegralAdScience < 3) { + checkUnnamed91(o.customSegmentId!); + unittest.expect( + o.displayViewability!, + unittest.equals('foo'), + ); + unittest.expect(o.excludeUnrateable!, unittest.isTrue); + unittest.expect( + o.excludedAdFraudRisk!, + unittest.equals('foo'), + ); + unittest.expect( + o.excludedAdultRisk!, + unittest.equals('foo'), + ); + unittest.expect( + o.excludedAlcoholRisk!, + unittest.equals('foo'), + ); + unittest.expect( + o.excludedDrugsRisk!, + unittest.equals('foo'), + ); + unittest.expect( + o.excludedGamblingRisk!, + unittest.equals('foo'), + ); + unittest.expect( + o.excludedHateSpeechRisk!, + unittest.equals('foo'), + ); + unittest.expect( + o.excludedIllegalDownloadsRisk!, + unittest.equals('foo'), + ); + unittest.expect( + o.excludedOffensiveLanguageRisk!, + unittest.equals('foo'), + ); + unittest.expect( + o.excludedViolenceRisk!, + unittest.equals('foo'), + ); + checkUnnamed92(o.qualitySyncCustomSegmentId!); + unittest.expect( + o.traqScoreOption!, + unittest.equals('foo'), + ); + unittest.expect( + o.videoViewability!, + unittest.equals('foo'), + ); + } + buildCounterIntegralAdScience--; +} + +core.int buildCounterIntegrationDetails = 0; +api.IntegrationDetails buildIntegrationDetails() { + final o = api.IntegrationDetails(); + buildCounterIntegrationDetails++; + if (buildCounterIntegrationDetails < 3) { + o.details = 'foo'; + o.integrationCode = 'foo'; + } + buildCounterIntegrationDetails--; + return o; +} + +void checkIntegrationDetails(api.IntegrationDetails o) { + buildCounterIntegrationDetails++; + if (buildCounterIntegrationDetails < 3) { + unittest.expect( + o.details!, + unittest.equals('foo'), + ); + unittest.expect( + o.integrationCode!, + unittest.equals('foo'), + ); + } + buildCounterIntegrationDetails--; +} + +core.List buildUnnamed93() => [ + buildCreativeConfig(), + buildCreativeConfig(), + ]; + +void checkUnnamed93(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkCreativeConfig(o[0]); + checkCreativeConfig(o[1]); +} + +core.List buildUnnamed94() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed94(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed95() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed95(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterInventorySource = 0; +api.InventorySource buildInventorySource() { + final o = api.InventorySource(); + buildCounterInventorySource++; + if (buildCounterInventorySource < 3) { + o.commitment = 'foo'; + o.creativeConfigs = buildUnnamed93(); + o.dealId = 'foo'; + o.deliveryMethod = 'foo'; + o.displayName = 'foo'; + o.exchange = 'foo'; + o.guaranteedOrderId = 'foo'; + o.inventorySourceId = 'foo'; + o.inventorySourceProductType = 'foo'; + o.inventorySourceType = 'foo'; + o.name = 'foo'; + o.publisherName = 'foo'; + o.rateDetails = buildRateDetails(); + o.readAdvertiserIds = buildUnnamed94(); + o.readPartnerIds = buildUnnamed95(); + o.readWriteAccessors = buildInventorySourceAccessors(); + o.status = buildInventorySourceStatus(); + o.timeRange = buildTimeRange(); + o.updateTime = 'foo'; + } + buildCounterInventorySource--; + return o; +} + +void checkInventorySource(api.InventorySource o) { + buildCounterInventorySource++; + if (buildCounterInventorySource < 3) { + unittest.expect( + o.commitment!, + unittest.equals('foo'), + ); + checkUnnamed93(o.creativeConfigs!); + unittest.expect( + o.dealId!, + unittest.equals('foo'), + ); + unittest.expect( + o.deliveryMethod!, + unittest.equals('foo'), + ); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.exchange!, + unittest.equals('foo'), + ); + unittest.expect( + o.guaranteedOrderId!, + unittest.equals('foo'), + ); + unittest.expect( + o.inventorySourceId!, + unittest.equals('foo'), + ); + unittest.expect( + o.inventorySourceProductType!, + unittest.equals('foo'), + ); + unittest.expect( + o.inventorySourceType!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.publisherName!, + unittest.equals('foo'), + ); + checkRateDetails(o.rateDetails!); + checkUnnamed94(o.readAdvertiserIds!); + checkUnnamed95(o.readPartnerIds!); + checkInventorySourceAccessors(o.readWriteAccessors!); + checkInventorySourceStatus(o.status!); + checkTimeRange(o.timeRange!); + unittest.expect( + o.updateTime!, + unittest.equals('foo'), + ); + } + buildCounterInventorySource--; +} + +core.int buildCounterInventorySourceAccessors = 0; +api.InventorySourceAccessors buildInventorySourceAccessors() { + final o = api.InventorySourceAccessors(); + buildCounterInventorySourceAccessors++; + if (buildCounterInventorySourceAccessors < 3) { + o.advertisers = buildInventorySourceAccessorsAdvertiserAccessors(); + o.partner = buildInventorySourceAccessorsPartnerAccessor(); + } + buildCounterInventorySourceAccessors--; + return o; +} + +void checkInventorySourceAccessors(api.InventorySourceAccessors o) { + buildCounterInventorySourceAccessors++; + if (buildCounterInventorySourceAccessors < 3) { + checkInventorySourceAccessorsAdvertiserAccessors(o.advertisers!); + checkInventorySourceAccessorsPartnerAccessor(o.partner!); + } + buildCounterInventorySourceAccessors--; +} + +core.List buildUnnamed96() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed96(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterInventorySourceAccessorsAdvertiserAccessors = 0; +api.InventorySourceAccessorsAdvertiserAccessors + buildInventorySourceAccessorsAdvertiserAccessors() { + final o = api.InventorySourceAccessorsAdvertiserAccessors(); + buildCounterInventorySourceAccessorsAdvertiserAccessors++; + if (buildCounterInventorySourceAccessorsAdvertiserAccessors < 3) { + o.advertiserIds = buildUnnamed96(); + } + buildCounterInventorySourceAccessorsAdvertiserAccessors--; + return o; +} + +void checkInventorySourceAccessorsAdvertiserAccessors( + api.InventorySourceAccessorsAdvertiserAccessors o) { + buildCounterInventorySourceAccessorsAdvertiserAccessors++; + if (buildCounterInventorySourceAccessorsAdvertiserAccessors < 3) { + checkUnnamed96(o.advertiserIds!); + } + buildCounterInventorySourceAccessorsAdvertiserAccessors--; +} + +core.int buildCounterInventorySourceAccessorsPartnerAccessor = 0; +api.InventorySourceAccessorsPartnerAccessor + buildInventorySourceAccessorsPartnerAccessor() { + final o = api.InventorySourceAccessorsPartnerAccessor(); + buildCounterInventorySourceAccessorsPartnerAccessor++; + if (buildCounterInventorySourceAccessorsPartnerAccessor < 3) { + o.partnerId = 'foo'; + } + buildCounterInventorySourceAccessorsPartnerAccessor--; + return o; +} + +void checkInventorySourceAccessorsPartnerAccessor( + api.InventorySourceAccessorsPartnerAccessor o) { + buildCounterInventorySourceAccessorsPartnerAccessor++; + if (buildCounterInventorySourceAccessorsPartnerAccessor < 3) { + unittest.expect( + o.partnerId!, + unittest.equals('foo'), + ); + } + buildCounterInventorySourceAccessorsPartnerAccessor--; +} + +core.int buildCounterInventorySourceAssignedTargetingOptionDetails = 0; +api.InventorySourceAssignedTargetingOptionDetails + buildInventorySourceAssignedTargetingOptionDetails() { + final o = api.InventorySourceAssignedTargetingOptionDetails(); + buildCounterInventorySourceAssignedTargetingOptionDetails++; + if (buildCounterInventorySourceAssignedTargetingOptionDetails < 3) { + o.inventorySourceId = 'foo'; + } + buildCounterInventorySourceAssignedTargetingOptionDetails--; + return o; +} + +void checkInventorySourceAssignedTargetingOptionDetails( + api.InventorySourceAssignedTargetingOptionDetails o) { + buildCounterInventorySourceAssignedTargetingOptionDetails++; + if (buildCounterInventorySourceAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.inventorySourceId!, + unittest.equals('foo'), + ); + } + buildCounterInventorySourceAssignedTargetingOptionDetails--; +} + +core.int buildCounterInventorySourceDisplayCreativeConfig = 0; +api.InventorySourceDisplayCreativeConfig + buildInventorySourceDisplayCreativeConfig() { + final o = api.InventorySourceDisplayCreativeConfig(); + buildCounterInventorySourceDisplayCreativeConfig++; + if (buildCounterInventorySourceDisplayCreativeConfig < 3) { + o.creativeSize = buildDimensions(); + } + buildCounterInventorySourceDisplayCreativeConfig--; + return o; +} + +void checkInventorySourceDisplayCreativeConfig( + api.InventorySourceDisplayCreativeConfig o) { + buildCounterInventorySourceDisplayCreativeConfig++; + if (buildCounterInventorySourceDisplayCreativeConfig < 3) { + checkDimensions(o.creativeSize!); + } + buildCounterInventorySourceDisplayCreativeConfig--; +} + +core.List buildUnnamed97() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed97(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterInventorySourceFilter = 0; +api.InventorySourceFilter buildInventorySourceFilter() { + final o = api.InventorySourceFilter(); + buildCounterInventorySourceFilter++; + if (buildCounterInventorySourceFilter < 3) { + o.inventorySourceIds = buildUnnamed97(); + } + buildCounterInventorySourceFilter--; + return o; +} + +void checkInventorySourceFilter(api.InventorySourceFilter o) { + buildCounterInventorySourceFilter++; + if (buildCounterInventorySourceFilter < 3) { + checkUnnamed97(o.inventorySourceIds!); + } + buildCounterInventorySourceFilter--; +} + +core.int buildCounterInventorySourceGroup = 0; +api.InventorySourceGroup buildInventorySourceGroup() { + final o = api.InventorySourceGroup(); + buildCounterInventorySourceGroup++; + if (buildCounterInventorySourceGroup < 3) { + o.displayName = 'foo'; + o.inventorySourceGroupId = 'foo'; + o.name = 'foo'; + } + buildCounterInventorySourceGroup--; + return o; +} + +void checkInventorySourceGroup(api.InventorySourceGroup o) { + buildCounterInventorySourceGroup++; + if (buildCounterInventorySourceGroup < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.inventorySourceGroupId!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + } + buildCounterInventorySourceGroup--; +} + +core.int buildCounterInventorySourceGroupAssignedTargetingOptionDetails = 0; +api.InventorySourceGroupAssignedTargetingOptionDetails + buildInventorySourceGroupAssignedTargetingOptionDetails() { + final o = api.InventorySourceGroupAssignedTargetingOptionDetails(); + buildCounterInventorySourceGroupAssignedTargetingOptionDetails++; + if (buildCounterInventorySourceGroupAssignedTargetingOptionDetails < 3) { + o.inventorySourceGroupId = 'foo'; + } + buildCounterInventorySourceGroupAssignedTargetingOptionDetails--; + return o; +} + +void checkInventorySourceGroupAssignedTargetingOptionDetails( + api.InventorySourceGroupAssignedTargetingOptionDetails o) { + buildCounterInventorySourceGroupAssignedTargetingOptionDetails++; + if (buildCounterInventorySourceGroupAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.inventorySourceGroupId!, + unittest.equals('foo'), + ); + } + buildCounterInventorySourceGroupAssignedTargetingOptionDetails--; +} + +core.int buildCounterInventorySourceStatus = 0; +api.InventorySourceStatus buildInventorySourceStatus() { + final o = api.InventorySourceStatus(); + buildCounterInventorySourceStatus++; + if (buildCounterInventorySourceStatus < 3) { + o.configStatus = 'foo'; + o.entityPauseReason = 'foo'; + o.entityStatus = 'foo'; + o.sellerPauseReason = 'foo'; + o.sellerStatus = 'foo'; + } + buildCounterInventorySourceStatus--; + return o; +} + +void checkInventorySourceStatus(api.InventorySourceStatus o) { + buildCounterInventorySourceStatus++; + if (buildCounterInventorySourceStatus < 3) { + unittest.expect( + o.configStatus!, + unittest.equals('foo'), + ); + unittest.expect( + o.entityPauseReason!, + unittest.equals('foo'), + ); + unittest.expect( + o.entityStatus!, + unittest.equals('foo'), + ); + unittest.expect( + o.sellerPauseReason!, + unittest.equals('foo'), + ); + unittest.expect( + o.sellerStatus!, + unittest.equals('foo'), + ); + } + buildCounterInventorySourceStatus--; +} + +core.int buildCounterInventorySourceVideoCreativeConfig = 0; +api.InventorySourceVideoCreativeConfig + buildInventorySourceVideoCreativeConfig() { + final o = api.InventorySourceVideoCreativeConfig(); + buildCounterInventorySourceVideoCreativeConfig++; + if (buildCounterInventorySourceVideoCreativeConfig < 3) { + o.duration = 'foo'; + } + buildCounterInventorySourceVideoCreativeConfig--; + return o; +} + +void checkInventorySourceVideoCreativeConfig( + api.InventorySourceVideoCreativeConfig o) { + buildCounterInventorySourceVideoCreativeConfig++; + if (buildCounterInventorySourceVideoCreativeConfig < 3) { + unittest.expect( + o.duration!, + unittest.equals('foo'), + ); + } + buildCounterInventorySourceVideoCreativeConfig--; +} + +core.List buildUnnamed98() => [ + buildBudgetSummary(), + buildBudgetSummary(), + ]; + +void checkUnnamed98(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkBudgetSummary(o[0]); + checkBudgetSummary(o[1]); +} + +core.List buildUnnamed99() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed99(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterInvoice = 0; +api.Invoice buildInvoice() { + final o = api.Invoice(); + buildCounterInvoice++; + if (buildCounterInvoice < 3) { + o.budgetInvoiceGroupingId = 'foo'; + o.budgetSummaries = buildUnnamed98(); + o.correctedInvoiceId = 'foo'; + o.currencyCode = 'foo'; + o.displayName = 'foo'; + o.dueDate = buildDate(); + o.invoiceId = 'foo'; + o.invoiceType = 'foo'; + o.issueDate = buildDate(); + o.name = 'foo'; + o.nonBudgetMicros = 'foo'; + o.paymentsAccountId = 'foo'; + o.paymentsProfileId = 'foo'; + o.pdfUrl = 'foo'; + o.purchaseOrderNumber = 'foo'; + o.replacedInvoiceIds = buildUnnamed99(); + o.serviceDateRange = buildDateRange(); + o.subtotalAmountMicros = 'foo'; + o.totalAmountMicros = 'foo'; + o.totalTaxAmountMicros = 'foo'; + } + buildCounterInvoice--; + return o; +} + +void checkInvoice(api.Invoice o) { + buildCounterInvoice++; + if (buildCounterInvoice < 3) { + unittest.expect( + o.budgetInvoiceGroupingId!, + unittest.equals('foo'), + ); + checkUnnamed98(o.budgetSummaries!); + unittest.expect( + o.correctedInvoiceId!, + unittest.equals('foo'), + ); + unittest.expect( + o.currencyCode!, + unittest.equals('foo'), + ); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + checkDate(o.dueDate!); + unittest.expect( + o.invoiceId!, + unittest.equals('foo'), + ); + unittest.expect( + o.invoiceType!, + unittest.equals('foo'), + ); + checkDate(o.issueDate!); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.nonBudgetMicros!, + unittest.equals('foo'), + ); + unittest.expect( + o.paymentsAccountId!, + unittest.equals('foo'), + ); + unittest.expect( + o.paymentsProfileId!, + unittest.equals('foo'), + ); + unittest.expect( + o.pdfUrl!, + unittest.equals('foo'), + ); + unittest.expect( + o.purchaseOrderNumber!, + unittest.equals('foo'), + ); + checkUnnamed99(o.replacedInvoiceIds!); + checkDateRange(o.serviceDateRange!); + unittest.expect( + o.subtotalAmountMicros!, + unittest.equals('foo'), + ); + unittest.expect( + o.totalAmountMicros!, + unittest.equals('foo'), + ); + unittest.expect( + o.totalTaxAmountMicros!, + unittest.equals('foo'), + ); + } + buildCounterInvoice--; +} + +core.int buildCounterKeywordAssignedTargetingOptionDetails = 0; +api.KeywordAssignedTargetingOptionDetails + buildKeywordAssignedTargetingOptionDetails() { + final o = api.KeywordAssignedTargetingOptionDetails(); + buildCounterKeywordAssignedTargetingOptionDetails++; + if (buildCounterKeywordAssignedTargetingOptionDetails < 3) { + o.keyword = 'foo'; + o.negative = true; + } + buildCounterKeywordAssignedTargetingOptionDetails--; + return o; +} + +void checkKeywordAssignedTargetingOptionDetails( + api.KeywordAssignedTargetingOptionDetails o) { + buildCounterKeywordAssignedTargetingOptionDetails++; + if (buildCounterKeywordAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.keyword!, + unittest.equals('foo'), + ); + unittest.expect(o.negative!, unittest.isTrue); + } + buildCounterKeywordAssignedTargetingOptionDetails--; +} + +core.int buildCounterKpi = 0; +api.Kpi buildKpi() { + final o = api.Kpi(); + buildCounterKpi++; + if (buildCounterKpi < 3) { + o.kpiAlgorithmId = 'foo'; + o.kpiAmountMicros = 'foo'; + o.kpiPercentageMicros = 'foo'; + o.kpiString = 'foo'; + o.kpiType = 'foo'; + } + buildCounterKpi--; + return o; +} + +void checkKpi(api.Kpi o) { + buildCounterKpi++; + if (buildCounterKpi < 3) { + unittest.expect( + o.kpiAlgorithmId!, + unittest.equals('foo'), + ); + unittest.expect( + o.kpiAmountMicros!, + unittest.equals('foo'), + ); + unittest.expect( + o.kpiPercentageMicros!, + unittest.equals('foo'), + ); + unittest.expect( + o.kpiString!, + unittest.equals('foo'), + ); + unittest.expect( + o.kpiType!, + unittest.equals('foo'), + ); + } + buildCounterKpi--; +} + +core.int buildCounterLanguageAssignedTargetingOptionDetails = 0; +api.LanguageAssignedTargetingOptionDetails + buildLanguageAssignedTargetingOptionDetails() { + final o = api.LanguageAssignedTargetingOptionDetails(); + buildCounterLanguageAssignedTargetingOptionDetails++; + if (buildCounterLanguageAssignedTargetingOptionDetails < 3) { + o.displayName = 'foo'; + o.negative = true; + o.targetingOptionId = 'foo'; + } + buildCounterLanguageAssignedTargetingOptionDetails--; + return o; +} + +void checkLanguageAssignedTargetingOptionDetails( + api.LanguageAssignedTargetingOptionDetails o) { + buildCounterLanguageAssignedTargetingOptionDetails++; + if (buildCounterLanguageAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect(o.negative!, unittest.isTrue); + unittest.expect( + o.targetingOptionId!, + unittest.equals('foo'), + ); + } + buildCounterLanguageAssignedTargetingOptionDetails--; +} + +core.int buildCounterLanguageTargetingOptionDetails = 0; +api.LanguageTargetingOptionDetails buildLanguageTargetingOptionDetails() { + final o = api.LanguageTargetingOptionDetails(); + buildCounterLanguageTargetingOptionDetails++; + if (buildCounterLanguageTargetingOptionDetails < 3) { + o.displayName = 'foo'; + } + buildCounterLanguageTargetingOptionDetails--; + return o; +} + +void checkLanguageTargetingOptionDetails(api.LanguageTargetingOptionDetails o) { + buildCounterLanguageTargetingOptionDetails++; + if (buildCounterLanguageTargetingOptionDetails < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + } + buildCounterLanguageTargetingOptionDetails--; +} + +core.List buildUnnamed100() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed100(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed101() => [ + buildPartnerCost(), + buildPartnerCost(), + ]; + +void checkUnnamed101(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkPartnerCost(o[0]); + checkPartnerCost(o[1]); +} + +core.List buildUnnamed102() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed102(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterLineItem = 0; +api.LineItem buildLineItem() { + final o = api.LineItem(); + buildCounterLineItem++; + if (buildCounterLineItem < 3) { + o.advertiserId = 'foo'; + o.bidStrategy = buildBiddingStrategy(); + o.budget = buildLineItemBudget(); + o.campaignId = 'foo'; + o.conversionCounting = buildConversionCountingConfig(); + o.creativeIds = buildUnnamed100(); + o.displayName = 'foo'; + o.entityStatus = 'foo'; + o.excludeNewExchanges = true; + o.flight = buildLineItemFlight(); + o.frequencyCap = buildFrequencyCap(); + o.insertionOrderId = 'foo'; + o.integrationDetails = buildIntegrationDetails(); + o.lineItemId = 'foo'; + o.lineItemType = 'foo'; + o.mobileApp = buildMobileApp(); + o.name = 'foo'; + o.pacing = buildPacing(); + o.partnerCosts = buildUnnamed101(); + o.partnerRevenueModel = buildPartnerRevenueModel(); + o.reservationType = 'foo'; + o.targetingExpansion = buildTargetingExpansionConfig(); + o.updateTime = 'foo'; + o.warningMessages = buildUnnamed102(); + o.youtubeAndPartnersSettings = buildYoutubeAndPartnersSettings(); + } + buildCounterLineItem--; + return o; +} + +void checkLineItem(api.LineItem o) { + buildCounterLineItem++; + if (buildCounterLineItem < 3) { + unittest.expect( + o.advertiserId!, + unittest.equals('foo'), + ); + checkBiddingStrategy(o.bidStrategy!); + checkLineItemBudget(o.budget!); + unittest.expect( + o.campaignId!, + unittest.equals('foo'), + ); + checkConversionCountingConfig(o.conversionCounting!); + checkUnnamed100(o.creativeIds!); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.entityStatus!, + unittest.equals('foo'), + ); + unittest.expect(o.excludeNewExchanges!, unittest.isTrue); + checkLineItemFlight(o.flight!); + checkFrequencyCap(o.frequencyCap!); + unittest.expect( + o.insertionOrderId!, + unittest.equals('foo'), + ); + checkIntegrationDetails(o.integrationDetails!); + unittest.expect( + o.lineItemId!, + unittest.equals('foo'), + ); + unittest.expect( + o.lineItemType!, + unittest.equals('foo'), + ); + checkMobileApp(o.mobileApp!); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + checkPacing(o.pacing!); + checkUnnamed101(o.partnerCosts!); + checkPartnerRevenueModel(o.partnerRevenueModel!); + unittest.expect( + o.reservationType!, + unittest.equals('foo'), + ); + checkTargetingExpansionConfig(o.targetingExpansion!); + unittest.expect( + o.updateTime!, + unittest.equals('foo'), + ); + checkUnnamed102(o.warningMessages!); + checkYoutubeAndPartnersSettings(o.youtubeAndPartnersSettings!); + } + buildCounterLineItem--; +} + +core.int buildCounterLineItemAssignedTargetingOption = 0; +api.LineItemAssignedTargetingOption buildLineItemAssignedTargetingOption() { + final o = api.LineItemAssignedTargetingOption(); + buildCounterLineItemAssignedTargetingOption++; + if (buildCounterLineItemAssignedTargetingOption < 3) { + o.assignedTargetingOption = buildAssignedTargetingOption(); + o.lineItemId = 'foo'; + } + buildCounterLineItemAssignedTargetingOption--; + return o; +} + +void checkLineItemAssignedTargetingOption( + api.LineItemAssignedTargetingOption o) { + buildCounterLineItemAssignedTargetingOption++; + if (buildCounterLineItemAssignedTargetingOption < 3) { + checkAssignedTargetingOption(o.assignedTargetingOption!); + unittest.expect( + o.lineItemId!, + unittest.equals('foo'), + ); + } + buildCounterLineItemAssignedTargetingOption--; +} + +core.int buildCounterLineItemBudget = 0; +api.LineItemBudget buildLineItemBudget() { + final o = api.LineItemBudget(); + buildCounterLineItemBudget++; + if (buildCounterLineItemBudget < 3) { + o.budgetAllocationType = 'foo'; + o.budgetUnit = 'foo'; + o.maxAmount = 'foo'; + } + buildCounterLineItemBudget--; + return o; +} + +void checkLineItemBudget(api.LineItemBudget o) { + buildCounterLineItemBudget++; + if (buildCounterLineItemBudget < 3) { + unittest.expect( + o.budgetAllocationType!, + unittest.equals('foo'), + ); + unittest.expect( + o.budgetUnit!, + unittest.equals('foo'), + ); + unittest.expect( + o.maxAmount!, + unittest.equals('foo'), + ); + } + buildCounterLineItemBudget--; +} + +core.int buildCounterLineItemFlight = 0; +api.LineItemFlight buildLineItemFlight() { + final o = api.LineItemFlight(); + buildCounterLineItemFlight++; + if (buildCounterLineItemFlight < 3) { + o.dateRange = buildDateRange(); + o.flightDateType = 'foo'; + } + buildCounterLineItemFlight--; + return o; +} + +void checkLineItemFlight(api.LineItemFlight o) { + buildCounterLineItemFlight++; + if (buildCounterLineItemFlight < 3) { + checkDateRange(o.dateRange!); + unittest.expect( + o.flightDateType!, + unittest.equals('foo'), + ); + } + buildCounterLineItemFlight--; +} + +core.List buildUnnamed103() => [ + buildAdGroupAd(), + buildAdGroupAd(), + ]; + +void checkUnnamed103(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAdGroupAd(o[0]); + checkAdGroupAd(o[1]); +} + +core.int buildCounterListAdGroupAdsResponse = 0; +api.ListAdGroupAdsResponse buildListAdGroupAdsResponse() { + final o = api.ListAdGroupAdsResponse(); + buildCounterListAdGroupAdsResponse++; + if (buildCounterListAdGroupAdsResponse < 3) { + o.adGroupAds = buildUnnamed103(); + o.nextPageToken = 'foo'; + } + buildCounterListAdGroupAdsResponse--; + return o; +} + +void checkListAdGroupAdsResponse(api.ListAdGroupAdsResponse o) { + buildCounterListAdGroupAdsResponse++; + if (buildCounterListAdGroupAdsResponse < 3) { + checkUnnamed103(o.adGroupAds!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListAdGroupAdsResponse--; +} + +core.List buildUnnamed104() => [ + buildAssignedTargetingOption(), + buildAssignedTargetingOption(), + ]; + +void checkUnnamed104(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAssignedTargetingOption(o[0]); + checkAssignedTargetingOption(o[1]); +} + +core.int buildCounterListAdGroupAssignedTargetingOptionsResponse = 0; +api.ListAdGroupAssignedTargetingOptionsResponse + buildListAdGroupAssignedTargetingOptionsResponse() { + final o = api.ListAdGroupAssignedTargetingOptionsResponse(); + buildCounterListAdGroupAssignedTargetingOptionsResponse++; + if (buildCounterListAdGroupAssignedTargetingOptionsResponse < 3) { + o.assignedTargetingOptions = buildUnnamed104(); + o.nextPageToken = 'foo'; + } + buildCounterListAdGroupAssignedTargetingOptionsResponse--; + return o; +} + +void checkListAdGroupAssignedTargetingOptionsResponse( + api.ListAdGroupAssignedTargetingOptionsResponse o) { + buildCounterListAdGroupAssignedTargetingOptionsResponse++; + if (buildCounterListAdGroupAssignedTargetingOptionsResponse < 3) { + checkUnnamed104(o.assignedTargetingOptions!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListAdGroupAssignedTargetingOptionsResponse--; +} + +core.List buildUnnamed105() => [ + buildAdGroup(), + buildAdGroup(), + ]; + +void checkUnnamed105(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAdGroup(o[0]); + checkAdGroup(o[1]); +} + +core.int buildCounterListAdGroupsResponse = 0; +api.ListAdGroupsResponse buildListAdGroupsResponse() { + final o = api.ListAdGroupsResponse(); + buildCounterListAdGroupsResponse++; + if (buildCounterListAdGroupsResponse < 3) { + o.adGroups = buildUnnamed105(); + o.nextPageToken = 'foo'; + } + buildCounterListAdGroupsResponse--; + return o; +} + +void checkListAdGroupsResponse(api.ListAdGroupsResponse o) { + buildCounterListAdGroupsResponse++; + if (buildCounterListAdGroupsResponse < 3) { + checkUnnamed105(o.adGroups!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListAdGroupsResponse--; +} + +core.List buildUnnamed106() => [ + buildAssignedTargetingOption(), + buildAssignedTargetingOption(), + ]; + +void checkUnnamed106(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAssignedTargetingOption(o[0]); + checkAssignedTargetingOption(o[1]); +} + +core.int buildCounterListAdvertiserAssignedTargetingOptionsResponse = 0; +api.ListAdvertiserAssignedTargetingOptionsResponse + buildListAdvertiserAssignedTargetingOptionsResponse() { + final o = api.ListAdvertiserAssignedTargetingOptionsResponse(); + buildCounterListAdvertiserAssignedTargetingOptionsResponse++; + if (buildCounterListAdvertiserAssignedTargetingOptionsResponse < 3) { + o.assignedTargetingOptions = buildUnnamed106(); + o.nextPageToken = 'foo'; + } + buildCounterListAdvertiserAssignedTargetingOptionsResponse--; + return o; +} + +void checkListAdvertiserAssignedTargetingOptionsResponse( + api.ListAdvertiserAssignedTargetingOptionsResponse o) { + buildCounterListAdvertiserAssignedTargetingOptionsResponse++; + if (buildCounterListAdvertiserAssignedTargetingOptionsResponse < 3) { + checkUnnamed106(o.assignedTargetingOptions!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListAdvertiserAssignedTargetingOptionsResponse--; +} + +core.List buildUnnamed107() => [ + buildAdvertiser(), + buildAdvertiser(), + ]; + +void checkUnnamed107(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAdvertiser(o[0]); + checkAdvertiser(o[1]); +} + +core.int buildCounterListAdvertisersResponse = 0; +api.ListAdvertisersResponse buildListAdvertisersResponse() { + final o = api.ListAdvertisersResponse(); + buildCounterListAdvertisersResponse++; + if (buildCounterListAdvertisersResponse < 3) { + o.advertisers = buildUnnamed107(); + o.nextPageToken = 'foo'; + } + buildCounterListAdvertisersResponse--; + return o; +} + +void checkListAdvertisersResponse(api.ListAdvertisersResponse o) { + buildCounterListAdvertisersResponse++; + if (buildCounterListAdvertisersResponse < 3) { + checkUnnamed107(o.advertisers!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListAdvertisersResponse--; +} + +core.List buildUnnamed108() => [ + buildAssignedInventorySource(), + buildAssignedInventorySource(), + ]; + +void checkUnnamed108(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAssignedInventorySource(o[0]); + checkAssignedInventorySource(o[1]); +} + +core.int buildCounterListAssignedInventorySourcesResponse = 0; +api.ListAssignedInventorySourcesResponse + buildListAssignedInventorySourcesResponse() { + final o = api.ListAssignedInventorySourcesResponse(); + buildCounterListAssignedInventorySourcesResponse++; + if (buildCounterListAssignedInventorySourcesResponse < 3) { + o.assignedInventorySources = buildUnnamed108(); + o.nextPageToken = 'foo'; + } + buildCounterListAssignedInventorySourcesResponse--; + return o; +} + +void checkListAssignedInventorySourcesResponse( + api.ListAssignedInventorySourcesResponse o) { + buildCounterListAssignedInventorySourcesResponse++; + if (buildCounterListAssignedInventorySourcesResponse < 3) { + checkUnnamed108(o.assignedInventorySources!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListAssignedInventorySourcesResponse--; +} + +core.List buildUnnamed109() => [ + buildAssignedLocation(), + buildAssignedLocation(), + ]; + +void checkUnnamed109(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAssignedLocation(o[0]); + checkAssignedLocation(o[1]); +} + +core.int buildCounterListAssignedLocationsResponse = 0; +api.ListAssignedLocationsResponse buildListAssignedLocationsResponse() { + final o = api.ListAssignedLocationsResponse(); + buildCounterListAssignedLocationsResponse++; + if (buildCounterListAssignedLocationsResponse < 3) { + o.assignedLocations = buildUnnamed109(); + o.nextPageToken = 'foo'; + } + buildCounterListAssignedLocationsResponse--; + return o; +} + +void checkListAssignedLocationsResponse(api.ListAssignedLocationsResponse o) { + buildCounterListAssignedLocationsResponse++; + if (buildCounterListAssignedLocationsResponse < 3) { + checkUnnamed109(o.assignedLocations!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListAssignedLocationsResponse--; +} + +core.List buildUnnamed110() => [ + buildCampaign(), + buildCampaign(), + ]; + +void checkUnnamed110(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkCampaign(o[0]); + checkCampaign(o[1]); +} + +core.int buildCounterListCampaignsResponse = 0; +api.ListCampaignsResponse buildListCampaignsResponse() { + final o = api.ListCampaignsResponse(); + buildCounterListCampaignsResponse++; + if (buildCounterListCampaignsResponse < 3) { + o.campaigns = buildUnnamed110(); + o.nextPageToken = 'foo'; + } + buildCounterListCampaignsResponse--; + return o; +} + +void checkListCampaignsResponse(api.ListCampaignsResponse o) { + buildCounterListCampaignsResponse++; + if (buildCounterListCampaignsResponse < 3) { + checkUnnamed110(o.campaigns!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListCampaignsResponse--; +} + +core.List buildUnnamed111() => [ + buildChannel(), + buildChannel(), + ]; + +void checkUnnamed111(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkChannel(o[0]); + checkChannel(o[1]); +} + +core.int buildCounterListChannelsResponse = 0; +api.ListChannelsResponse buildListChannelsResponse() { + final o = api.ListChannelsResponse(); + buildCounterListChannelsResponse++; + if (buildCounterListChannelsResponse < 3) { + o.channels = buildUnnamed111(); + o.nextPageToken = 'foo'; + } + buildCounterListChannelsResponse--; + return o; +} + +void checkListChannelsResponse(api.ListChannelsResponse o) { + buildCounterListChannelsResponse++; + if (buildCounterListChannelsResponse < 3) { + checkUnnamed111(o.channels!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListChannelsResponse--; +} + +core.List buildUnnamed112() => [ + buildCombinedAudience(), + buildCombinedAudience(), + ]; + +void checkUnnamed112(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkCombinedAudience(o[0]); + checkCombinedAudience(o[1]); +} + +core.int buildCounterListCombinedAudiencesResponse = 0; +api.ListCombinedAudiencesResponse buildListCombinedAudiencesResponse() { + final o = api.ListCombinedAudiencesResponse(); + buildCounterListCombinedAudiencesResponse++; + if (buildCounterListCombinedAudiencesResponse < 3) { + o.combinedAudiences = buildUnnamed112(); + o.nextPageToken = 'foo'; + } + buildCounterListCombinedAudiencesResponse--; + return o; +} + +void checkListCombinedAudiencesResponse(api.ListCombinedAudiencesResponse o) { + buildCounterListCombinedAudiencesResponse++; + if (buildCounterListCombinedAudiencesResponse < 3) { + checkUnnamed112(o.combinedAudiences!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListCombinedAudiencesResponse--; +} + +core.List buildUnnamed113() => [ + buildCreative(), + buildCreative(), + ]; + +void checkUnnamed113(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkCreative(o[0]); + checkCreative(o[1]); +} + +core.int buildCounterListCreativesResponse = 0; +api.ListCreativesResponse buildListCreativesResponse() { + final o = api.ListCreativesResponse(); + buildCounterListCreativesResponse++; + if (buildCounterListCreativesResponse < 3) { + o.creatives = buildUnnamed113(); + o.nextPageToken = 'foo'; + } + buildCounterListCreativesResponse--; + return o; +} + +void checkListCreativesResponse(api.ListCreativesResponse o) { + buildCounterListCreativesResponse++; + if (buildCounterListCreativesResponse < 3) { + checkUnnamed113(o.creatives!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListCreativesResponse--; +} + +core.List buildUnnamed114() => [ + buildCustomBiddingAlgorithmRules(), + buildCustomBiddingAlgorithmRules(), + ]; + +void checkUnnamed114(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkCustomBiddingAlgorithmRules(o[0]); + checkCustomBiddingAlgorithmRules(o[1]); +} + +core.int buildCounterListCustomBiddingAlgorithmRulesResponse = 0; +api.ListCustomBiddingAlgorithmRulesResponse + buildListCustomBiddingAlgorithmRulesResponse() { + final o = api.ListCustomBiddingAlgorithmRulesResponse(); + buildCounterListCustomBiddingAlgorithmRulesResponse++; + if (buildCounterListCustomBiddingAlgorithmRulesResponse < 3) { + o.customBiddingRules = buildUnnamed114(); + o.nextPageToken = 'foo'; + } + buildCounterListCustomBiddingAlgorithmRulesResponse--; + return o; +} + +void checkListCustomBiddingAlgorithmRulesResponse( + api.ListCustomBiddingAlgorithmRulesResponse o) { + buildCounterListCustomBiddingAlgorithmRulesResponse++; + if (buildCounterListCustomBiddingAlgorithmRulesResponse < 3) { + checkUnnamed114(o.customBiddingRules!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListCustomBiddingAlgorithmRulesResponse--; +} + +core.List buildUnnamed115() => [ + buildCustomBiddingAlgorithm(), + buildCustomBiddingAlgorithm(), + ]; + +void checkUnnamed115(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkCustomBiddingAlgorithm(o[0]); + checkCustomBiddingAlgorithm(o[1]); +} + +core.int buildCounterListCustomBiddingAlgorithmsResponse = 0; +api.ListCustomBiddingAlgorithmsResponse + buildListCustomBiddingAlgorithmsResponse() { + final o = api.ListCustomBiddingAlgorithmsResponse(); + buildCounterListCustomBiddingAlgorithmsResponse++; + if (buildCounterListCustomBiddingAlgorithmsResponse < 3) { + o.customBiddingAlgorithms = buildUnnamed115(); + o.nextPageToken = 'foo'; + } + buildCounterListCustomBiddingAlgorithmsResponse--; + return o; +} + +void checkListCustomBiddingAlgorithmsResponse( + api.ListCustomBiddingAlgorithmsResponse o) { + buildCounterListCustomBiddingAlgorithmsResponse++; + if (buildCounterListCustomBiddingAlgorithmsResponse < 3) { + checkUnnamed115(o.customBiddingAlgorithms!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListCustomBiddingAlgorithmsResponse--; +} + +core.List buildUnnamed116() => [ + buildCustomBiddingScript(), + buildCustomBiddingScript(), + ]; + +void checkUnnamed116(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkCustomBiddingScript(o[0]); + checkCustomBiddingScript(o[1]); +} + +core.int buildCounterListCustomBiddingScriptsResponse = 0; +api.ListCustomBiddingScriptsResponse buildListCustomBiddingScriptsResponse() { + final o = api.ListCustomBiddingScriptsResponse(); + buildCounterListCustomBiddingScriptsResponse++; + if (buildCounterListCustomBiddingScriptsResponse < 3) { + o.customBiddingScripts = buildUnnamed116(); + o.nextPageToken = 'foo'; + } + buildCounterListCustomBiddingScriptsResponse--; + return o; +} + +void checkListCustomBiddingScriptsResponse( + api.ListCustomBiddingScriptsResponse o) { + buildCounterListCustomBiddingScriptsResponse++; + if (buildCounterListCustomBiddingScriptsResponse < 3) { + checkUnnamed116(o.customBiddingScripts!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListCustomBiddingScriptsResponse--; +} + +core.List buildUnnamed117() => [ + buildCustomList(), + buildCustomList(), + ]; + +void checkUnnamed117(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkCustomList(o[0]); + checkCustomList(o[1]); +} + +core.int buildCounterListCustomListsResponse = 0; +api.ListCustomListsResponse buildListCustomListsResponse() { + final o = api.ListCustomListsResponse(); + buildCounterListCustomListsResponse++; + if (buildCounterListCustomListsResponse < 3) { + o.customLists = buildUnnamed117(); + o.nextPageToken = 'foo'; + } + buildCounterListCustomListsResponse--; + return o; +} + +void checkListCustomListsResponse(api.ListCustomListsResponse o) { + buildCounterListCustomListsResponse++; + if (buildCounterListCustomListsResponse < 3) { + checkUnnamed117(o.customLists!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListCustomListsResponse--; +} + +core.List buildUnnamed118() => [ + buildFirstPartyAndPartnerAudience(), + buildFirstPartyAndPartnerAudience(), + ]; + +void checkUnnamed118(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkFirstPartyAndPartnerAudience(o[0]); + checkFirstPartyAndPartnerAudience(o[1]); +} + +core.int buildCounterListFirstPartyAndPartnerAudiencesResponse = 0; +api.ListFirstPartyAndPartnerAudiencesResponse + buildListFirstPartyAndPartnerAudiencesResponse() { + final o = api.ListFirstPartyAndPartnerAudiencesResponse(); + buildCounterListFirstPartyAndPartnerAudiencesResponse++; + if (buildCounterListFirstPartyAndPartnerAudiencesResponse < 3) { + o.firstPartyAndPartnerAudiences = buildUnnamed118(); + o.nextPageToken = 'foo'; + } + buildCounterListFirstPartyAndPartnerAudiencesResponse--; + return o; +} + +void checkListFirstPartyAndPartnerAudiencesResponse( + api.ListFirstPartyAndPartnerAudiencesResponse o) { + buildCounterListFirstPartyAndPartnerAudiencesResponse++; + if (buildCounterListFirstPartyAndPartnerAudiencesResponse < 3) { + checkUnnamed118(o.firstPartyAndPartnerAudiences!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListFirstPartyAndPartnerAudiencesResponse--; +} + +core.List buildUnnamed119() => [ + buildFloodlightActivity(), + buildFloodlightActivity(), + ]; + +void checkUnnamed119(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkFloodlightActivity(o[0]); + checkFloodlightActivity(o[1]); +} + +core.int buildCounterListFloodlightActivitiesResponse = 0; +api.ListFloodlightActivitiesResponse buildListFloodlightActivitiesResponse() { + final o = api.ListFloodlightActivitiesResponse(); + buildCounterListFloodlightActivitiesResponse++; + if (buildCounterListFloodlightActivitiesResponse < 3) { + o.floodlightActivities = buildUnnamed119(); + o.nextPageToken = 'foo'; + } + buildCounterListFloodlightActivitiesResponse--; + return o; +} + +void checkListFloodlightActivitiesResponse( + api.ListFloodlightActivitiesResponse o) { + buildCounterListFloodlightActivitiesResponse++; + if (buildCounterListFloodlightActivitiesResponse < 3) { + checkUnnamed119(o.floodlightActivities!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListFloodlightActivitiesResponse--; +} + +core.List buildUnnamed120() => [ + buildGoogleAudience(), + buildGoogleAudience(), + ]; + +void checkUnnamed120(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleAudience(o[0]); + checkGoogleAudience(o[1]); +} + +core.int buildCounterListGoogleAudiencesResponse = 0; +api.ListGoogleAudiencesResponse buildListGoogleAudiencesResponse() { + final o = api.ListGoogleAudiencesResponse(); + buildCounterListGoogleAudiencesResponse++; + if (buildCounterListGoogleAudiencesResponse < 3) { + o.googleAudiences = buildUnnamed120(); + o.nextPageToken = 'foo'; + } + buildCounterListGoogleAudiencesResponse--; + return o; +} + +void checkListGoogleAudiencesResponse(api.ListGoogleAudiencesResponse o) { + buildCounterListGoogleAudiencesResponse++; + if (buildCounterListGoogleAudiencesResponse < 3) { + checkUnnamed120(o.googleAudiences!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListGoogleAudiencesResponse--; +} + +core.List buildUnnamed121() => [ + buildGuaranteedOrder(), + buildGuaranteedOrder(), + ]; + +void checkUnnamed121(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGuaranteedOrder(o[0]); + checkGuaranteedOrder(o[1]); +} + +core.int buildCounterListGuaranteedOrdersResponse = 0; +api.ListGuaranteedOrdersResponse buildListGuaranteedOrdersResponse() { + final o = api.ListGuaranteedOrdersResponse(); + buildCounterListGuaranteedOrdersResponse++; + if (buildCounterListGuaranteedOrdersResponse < 3) { + o.guaranteedOrders = buildUnnamed121(); + o.nextPageToken = 'foo'; + } + buildCounterListGuaranteedOrdersResponse--; + return o; +} + +void checkListGuaranteedOrdersResponse(api.ListGuaranteedOrdersResponse o) { + buildCounterListGuaranteedOrdersResponse++; + if (buildCounterListGuaranteedOrdersResponse < 3) { + checkUnnamed121(o.guaranteedOrders!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListGuaranteedOrdersResponse--; +} + +core.List buildUnnamed122() => [ + buildInsertionOrder(), + buildInsertionOrder(), + ]; + +void checkUnnamed122(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkInsertionOrder(o[0]); + checkInsertionOrder(o[1]); +} + +core.int buildCounterListInsertionOrdersResponse = 0; +api.ListInsertionOrdersResponse buildListInsertionOrdersResponse() { + final o = api.ListInsertionOrdersResponse(); + buildCounterListInsertionOrdersResponse++; + if (buildCounterListInsertionOrdersResponse < 3) { + o.insertionOrders = buildUnnamed122(); + o.nextPageToken = 'foo'; + } + buildCounterListInsertionOrdersResponse--; + return o; +} + +void checkListInsertionOrdersResponse(api.ListInsertionOrdersResponse o) { + buildCounterListInsertionOrdersResponse++; + if (buildCounterListInsertionOrdersResponse < 3) { + checkUnnamed122(o.insertionOrders!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListInsertionOrdersResponse--; +} + +core.List buildUnnamed123() => [ + buildInventorySourceGroup(), + buildInventorySourceGroup(), + ]; + +void checkUnnamed123(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkInventorySourceGroup(o[0]); + checkInventorySourceGroup(o[1]); +} + +core.int buildCounterListInventorySourceGroupsResponse = 0; +api.ListInventorySourceGroupsResponse buildListInventorySourceGroupsResponse() { + final o = api.ListInventorySourceGroupsResponse(); + buildCounterListInventorySourceGroupsResponse++; + if (buildCounterListInventorySourceGroupsResponse < 3) { + o.inventorySourceGroups = buildUnnamed123(); + o.nextPageToken = 'foo'; + } + buildCounterListInventorySourceGroupsResponse--; + return o; +} + +void checkListInventorySourceGroupsResponse( + api.ListInventorySourceGroupsResponse o) { + buildCounterListInventorySourceGroupsResponse++; + if (buildCounterListInventorySourceGroupsResponse < 3) { + checkUnnamed123(o.inventorySourceGroups!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListInventorySourceGroupsResponse--; +} + +core.List buildUnnamed124() => [ + buildInventorySource(), + buildInventorySource(), + ]; + +void checkUnnamed124(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkInventorySource(o[0]); + checkInventorySource(o[1]); +} + +core.int buildCounterListInventorySourcesResponse = 0; +api.ListInventorySourcesResponse buildListInventorySourcesResponse() { + final o = api.ListInventorySourcesResponse(); + buildCounterListInventorySourcesResponse++; + if (buildCounterListInventorySourcesResponse < 3) { + o.inventorySources = buildUnnamed124(); + o.nextPageToken = 'foo'; + } + buildCounterListInventorySourcesResponse--; + return o; +} + +void checkListInventorySourcesResponse(api.ListInventorySourcesResponse o) { + buildCounterListInventorySourcesResponse++; + if (buildCounterListInventorySourcesResponse < 3) { + checkUnnamed124(o.inventorySources!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListInventorySourcesResponse--; +} + +core.List buildUnnamed125() => [ + buildInvoice(), + buildInvoice(), + ]; + +void checkUnnamed125(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkInvoice(o[0]); + checkInvoice(o[1]); +} + +core.int buildCounterListInvoicesResponse = 0; +api.ListInvoicesResponse buildListInvoicesResponse() { + final o = api.ListInvoicesResponse(); + buildCounterListInvoicesResponse++; + if (buildCounterListInvoicesResponse < 3) { + o.invoices = buildUnnamed125(); + o.nextPageToken = 'foo'; + } + buildCounterListInvoicesResponse--; + return o; +} + +void checkListInvoicesResponse(api.ListInvoicesResponse o) { + buildCounterListInvoicesResponse++; + if (buildCounterListInvoicesResponse < 3) { + checkUnnamed125(o.invoices!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListInvoicesResponse--; +} + +core.List buildUnnamed126() => [ + buildAssignedTargetingOption(), + buildAssignedTargetingOption(), + ]; + +void checkUnnamed126(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAssignedTargetingOption(o[0]); + checkAssignedTargetingOption(o[1]); +} + +core.int buildCounterListLineItemAssignedTargetingOptionsResponse = 0; +api.ListLineItemAssignedTargetingOptionsResponse + buildListLineItemAssignedTargetingOptionsResponse() { + final o = api.ListLineItemAssignedTargetingOptionsResponse(); + buildCounterListLineItemAssignedTargetingOptionsResponse++; + if (buildCounterListLineItemAssignedTargetingOptionsResponse < 3) { + o.assignedTargetingOptions = buildUnnamed126(); + o.nextPageToken = 'foo'; + } + buildCounterListLineItemAssignedTargetingOptionsResponse--; + return o; +} + +void checkListLineItemAssignedTargetingOptionsResponse( + api.ListLineItemAssignedTargetingOptionsResponse o) { + buildCounterListLineItemAssignedTargetingOptionsResponse++; + if (buildCounterListLineItemAssignedTargetingOptionsResponse < 3) { + checkUnnamed126(o.assignedTargetingOptions!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListLineItemAssignedTargetingOptionsResponse--; +} + +core.List buildUnnamed127() => [ + buildLineItem(), + buildLineItem(), + ]; + +void checkUnnamed127(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkLineItem(o[0]); + checkLineItem(o[1]); +} + +core.int buildCounterListLineItemsResponse = 0; +api.ListLineItemsResponse buildListLineItemsResponse() { + final o = api.ListLineItemsResponse(); + buildCounterListLineItemsResponse++; + if (buildCounterListLineItemsResponse < 3) { + o.lineItems = buildUnnamed127(); + o.nextPageToken = 'foo'; + } + buildCounterListLineItemsResponse--; + return o; +} + +void checkListLineItemsResponse(api.ListLineItemsResponse o) { + buildCounterListLineItemsResponse++; + if (buildCounterListLineItemsResponse < 3) { + checkUnnamed127(o.lineItems!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListLineItemsResponse--; +} + +core.List buildUnnamed128() => [ + buildLocationList(), + buildLocationList(), + ]; + +void checkUnnamed128(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkLocationList(o[0]); + checkLocationList(o[1]); +} + +core.int buildCounterListLocationListsResponse = 0; +api.ListLocationListsResponse buildListLocationListsResponse() { + final o = api.ListLocationListsResponse(); + buildCounterListLocationListsResponse++; + if (buildCounterListLocationListsResponse < 3) { + o.locationLists = buildUnnamed128(); + o.nextPageToken = 'foo'; + } + buildCounterListLocationListsResponse--; + return o; +} + +void checkListLocationListsResponse(api.ListLocationListsResponse o) { + buildCounterListLocationListsResponse++; + if (buildCounterListLocationListsResponse < 3) { + checkUnnamed128(o.locationLists!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListLocationListsResponse--; +} + +core.List buildUnnamed129() => [ + buildNegativeKeywordList(), + buildNegativeKeywordList(), + ]; + +void checkUnnamed129(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkNegativeKeywordList(o[0]); + checkNegativeKeywordList(o[1]); +} + +core.int buildCounterListNegativeKeywordListsResponse = 0; +api.ListNegativeKeywordListsResponse buildListNegativeKeywordListsResponse() { + final o = api.ListNegativeKeywordListsResponse(); + buildCounterListNegativeKeywordListsResponse++; + if (buildCounterListNegativeKeywordListsResponse < 3) { + o.negativeKeywordLists = buildUnnamed129(); + o.nextPageToken = 'foo'; + } + buildCounterListNegativeKeywordListsResponse--; + return o; +} + +void checkListNegativeKeywordListsResponse( + api.ListNegativeKeywordListsResponse o) { + buildCounterListNegativeKeywordListsResponse++; + if (buildCounterListNegativeKeywordListsResponse < 3) { + checkUnnamed129(o.negativeKeywordLists!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListNegativeKeywordListsResponse--; +} + +core.List buildUnnamed130() => [ + buildNegativeKeyword(), + buildNegativeKeyword(), + ]; + +void checkUnnamed130(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkNegativeKeyword(o[0]); + checkNegativeKeyword(o[1]); +} + +core.int buildCounterListNegativeKeywordsResponse = 0; +api.ListNegativeKeywordsResponse buildListNegativeKeywordsResponse() { + final o = api.ListNegativeKeywordsResponse(); + buildCounterListNegativeKeywordsResponse++; + if (buildCounterListNegativeKeywordsResponse < 3) { + o.negativeKeywords = buildUnnamed130(); + o.nextPageToken = 'foo'; + } + buildCounterListNegativeKeywordsResponse--; + return o; +} + +void checkListNegativeKeywordsResponse(api.ListNegativeKeywordsResponse o) { + buildCounterListNegativeKeywordsResponse++; + if (buildCounterListNegativeKeywordsResponse < 3) { + checkUnnamed130(o.negativeKeywords!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListNegativeKeywordsResponse--; +} + +core.List buildUnnamed131() => [ + buildAssignedTargetingOption(), + buildAssignedTargetingOption(), + ]; + +void checkUnnamed131(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAssignedTargetingOption(o[0]); + checkAssignedTargetingOption(o[1]); +} + +core.int buildCounterListPartnerAssignedTargetingOptionsResponse = 0; +api.ListPartnerAssignedTargetingOptionsResponse + buildListPartnerAssignedTargetingOptionsResponse() { + final o = api.ListPartnerAssignedTargetingOptionsResponse(); + buildCounterListPartnerAssignedTargetingOptionsResponse++; + if (buildCounterListPartnerAssignedTargetingOptionsResponse < 3) { + o.assignedTargetingOptions = buildUnnamed131(); + o.nextPageToken = 'foo'; + } + buildCounterListPartnerAssignedTargetingOptionsResponse--; + return o; +} + +void checkListPartnerAssignedTargetingOptionsResponse( + api.ListPartnerAssignedTargetingOptionsResponse o) { + buildCounterListPartnerAssignedTargetingOptionsResponse++; + if (buildCounterListPartnerAssignedTargetingOptionsResponse < 3) { + checkUnnamed131(o.assignedTargetingOptions!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListPartnerAssignedTargetingOptionsResponse--; +} + +core.List buildUnnamed132() => [ + buildPartner(), + buildPartner(), + ]; + +void checkUnnamed132(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkPartner(o[0]); + checkPartner(o[1]); +} + +core.int buildCounterListPartnersResponse = 0; +api.ListPartnersResponse buildListPartnersResponse() { + final o = api.ListPartnersResponse(); + buildCounterListPartnersResponse++; + if (buildCounterListPartnersResponse < 3) { + o.nextPageToken = 'foo'; + o.partners = buildUnnamed132(); + } + buildCounterListPartnersResponse--; + return o; +} + +void checkListPartnersResponse(api.ListPartnersResponse o) { + buildCounterListPartnersResponse++; + if (buildCounterListPartnersResponse < 3) { + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + checkUnnamed132(o.partners!); + } + buildCounterListPartnersResponse--; +} + +core.List buildUnnamed133() => [ + buildSite(), + buildSite(), + ]; + +void checkUnnamed133(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkSite(o[0]); + checkSite(o[1]); +} + +core.int buildCounterListSitesResponse = 0; +api.ListSitesResponse buildListSitesResponse() { + final o = api.ListSitesResponse(); + buildCounterListSitesResponse++; + if (buildCounterListSitesResponse < 3) { + o.nextPageToken = 'foo'; + o.sites = buildUnnamed133(); + } + buildCounterListSitesResponse--; + return o; +} + +void checkListSitesResponse(api.ListSitesResponse o) { + buildCounterListSitesResponse++; + if (buildCounterListSitesResponse < 3) { + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + checkUnnamed133(o.sites!); + } + buildCounterListSitesResponse--; +} + +core.List buildUnnamed134() => [ + buildTargetingOption(), + buildTargetingOption(), + ]; + +void checkUnnamed134(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkTargetingOption(o[0]); + checkTargetingOption(o[1]); +} + +core.int buildCounterListTargetingOptionsResponse = 0; +api.ListTargetingOptionsResponse buildListTargetingOptionsResponse() { + final o = api.ListTargetingOptionsResponse(); + buildCounterListTargetingOptionsResponse++; + if (buildCounterListTargetingOptionsResponse < 3) { + o.nextPageToken = 'foo'; + o.targetingOptions = buildUnnamed134(); + } + buildCounterListTargetingOptionsResponse--; + return o; +} + +void checkListTargetingOptionsResponse(api.ListTargetingOptionsResponse o) { + buildCounterListTargetingOptionsResponse++; + if (buildCounterListTargetingOptionsResponse < 3) { + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + checkUnnamed134(o.targetingOptions!); + } + buildCounterListTargetingOptionsResponse--; +} + +core.List buildUnnamed135() => [ + buildUser(), + buildUser(), + ]; + +void checkUnnamed135(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkUser(o[0]); + checkUser(o[1]); +} + +core.int buildCounterListUsersResponse = 0; +api.ListUsersResponse buildListUsersResponse() { + final o = api.ListUsersResponse(); + buildCounterListUsersResponse++; + if (buildCounterListUsersResponse < 3) { + o.nextPageToken = 'foo'; + o.users = buildUnnamed135(); + } + buildCounterListUsersResponse--; + return o; +} + +void checkListUsersResponse(api.ListUsersResponse o) { + buildCounterListUsersResponse++; + if (buildCounterListUsersResponse < 3) { + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + checkUnnamed135(o.users!); + } + buildCounterListUsersResponse--; +} + +core.int buildCounterLocationList = 0; +api.LocationList buildLocationList() { + final o = api.LocationList(); + buildCounterLocationList++; + if (buildCounterLocationList < 3) { + o.advertiserId = 'foo'; + o.displayName = 'foo'; + o.locationListId = 'foo'; + o.locationType = 'foo'; + o.name = 'foo'; + } + buildCounterLocationList--; + return o; +} + +void checkLocationList(api.LocationList o) { + buildCounterLocationList++; + if (buildCounterLocationList < 3) { + unittest.expect( + o.advertiserId!, + unittest.equals('foo'), + ); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.locationListId!, + unittest.equals('foo'), + ); + unittest.expect( + o.locationType!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + } + buildCounterLocationList--; +} + +core.int buildCounterLookbackWindow = 0; +api.LookbackWindow buildLookbackWindow() { + final o = api.LookbackWindow(); + buildCounterLookbackWindow++; + if (buildCounterLookbackWindow < 3) { + o.clickDays = 42; + o.impressionDays = 42; + } + buildCounterLookbackWindow--; + return o; +} + +void checkLookbackWindow(api.LookbackWindow o) { + buildCounterLookbackWindow++; + if (buildCounterLookbackWindow < 3) { + unittest.expect( + o.clickDays!, + unittest.equals(42), + ); + unittest.expect( + o.impressionDays!, + unittest.equals(42), + ); + } + buildCounterLookbackWindow--; +} + +core.int buildCounterLookupInvoiceCurrencyResponse = 0; +api.LookupInvoiceCurrencyResponse buildLookupInvoiceCurrencyResponse() { + final o = api.LookupInvoiceCurrencyResponse(); + buildCounterLookupInvoiceCurrencyResponse++; + if (buildCounterLookupInvoiceCurrencyResponse < 3) { + o.currencyCode = 'foo'; + } + buildCounterLookupInvoiceCurrencyResponse--; + return o; +} + +void checkLookupInvoiceCurrencyResponse(api.LookupInvoiceCurrencyResponse o) { + buildCounterLookupInvoiceCurrencyResponse++; + if (buildCounterLookupInvoiceCurrencyResponse < 3) { + unittest.expect( + o.currencyCode!, + unittest.equals('foo'), + ); + } + buildCounterLookupInvoiceCurrencyResponse--; +} + +core.List buildUnnamed136() => [ + buildYoutubeVideoDetails(), + buildYoutubeVideoDetails(), + ]; + +void checkUnnamed136(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkYoutubeVideoDetails(o[0]); + checkYoutubeVideoDetails(o[1]); +} + +core.int buildCounterMastheadAd = 0; +api.MastheadAd buildMastheadAd() { + final o = api.MastheadAd(); + buildCounterMastheadAd++; + if (buildCounterMastheadAd < 3) { + o.autoplayVideoDuration = 'foo'; + o.autoplayVideoStartMillisecond = 'foo'; + o.callToActionButtonLabel = 'foo'; + o.callToActionFinalUrl = 'foo'; + o.callToActionTrackingUrl = 'foo'; + o.companionYoutubeVideos = buildUnnamed136(); + o.description = 'foo'; + o.headline = 'foo'; + o.showChannelArt = true; + o.video = buildYoutubeVideoDetails(); + o.videoAspectRatio = 'foo'; + } + buildCounterMastheadAd--; + return o; +} + +void checkMastheadAd(api.MastheadAd o) { + buildCounterMastheadAd++; + if (buildCounterMastheadAd < 3) { + unittest.expect( + o.autoplayVideoDuration!, + unittest.equals('foo'), + ); + unittest.expect( + o.autoplayVideoStartMillisecond!, + unittest.equals('foo'), + ); + unittest.expect( + o.callToActionButtonLabel!, + unittest.equals('foo'), + ); + unittest.expect( + o.callToActionFinalUrl!, + unittest.equals('foo'), + ); + unittest.expect( + o.callToActionTrackingUrl!, + unittest.equals('foo'), + ); + checkUnnamed136(o.companionYoutubeVideos!); + unittest.expect( + o.description!, + unittest.equals('foo'), + ); + unittest.expect( + o.headline!, + unittest.equals('foo'), + ); + unittest.expect(o.showChannelArt!, unittest.isTrue); + checkYoutubeVideoDetails(o.video!); + unittest.expect( + o.videoAspectRatio!, + unittest.equals('foo'), + ); + } + buildCounterMastheadAd--; +} + +core.int buildCounterMaximizeSpendBidStrategy = 0; +api.MaximizeSpendBidStrategy buildMaximizeSpendBidStrategy() { + final o = api.MaximizeSpendBidStrategy(); + buildCounterMaximizeSpendBidStrategy++; + if (buildCounterMaximizeSpendBidStrategy < 3) { + o.customBiddingAlgorithmId = 'foo'; + o.maxAverageCpmBidAmountMicros = 'foo'; + o.performanceGoalType = 'foo'; + o.raiseBidForDeals = true; + } + buildCounterMaximizeSpendBidStrategy--; + return o; +} + +void checkMaximizeSpendBidStrategy(api.MaximizeSpendBidStrategy o) { + buildCounterMaximizeSpendBidStrategy++; + if (buildCounterMaximizeSpendBidStrategy < 3) { + unittest.expect( + o.customBiddingAlgorithmId!, + unittest.equals('foo'), + ); + unittest.expect( + o.maxAverageCpmBidAmountMicros!, + unittest.equals('foo'), + ); + unittest.expect( + o.performanceGoalType!, + unittest.equals('foo'), + ); + unittest.expect(o.raiseBidForDeals!, unittest.isTrue); + } + buildCounterMaximizeSpendBidStrategy--; +} + +core.int buildCounterMeasurementConfig = 0; +api.MeasurementConfig buildMeasurementConfig() { + final o = api.MeasurementConfig(); + buildCounterMeasurementConfig++; + if (buildCounterMeasurementConfig < 3) { + o.dv360ToCmCostReportingEnabled = true; + o.dv360ToCmDataSharingEnabled = true; + } + buildCounterMeasurementConfig--; + return o; +} + +void checkMeasurementConfig(api.MeasurementConfig o) { + buildCounterMeasurementConfig++; + if (buildCounterMeasurementConfig < 3) { + unittest.expect(o.dv360ToCmCostReportingEnabled!, unittest.isTrue); + unittest.expect(o.dv360ToCmDataSharingEnabled!, unittest.isTrue); + } + buildCounterMeasurementConfig--; +} + +core.int buildCounterMobileApp = 0; +api.MobileApp buildMobileApp() { + final o = api.MobileApp(); + buildCounterMobileApp++; + if (buildCounterMobileApp < 3) { + o.appId = 'foo'; + o.displayName = 'foo'; + o.platform = 'foo'; + o.publisher = 'foo'; + } + buildCounterMobileApp--; + return o; +} + +void checkMobileApp(api.MobileApp o) { + buildCounterMobileApp++; + if (buildCounterMobileApp < 3) { + unittest.expect( + o.appId!, + unittest.equals('foo'), + ); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.platform!, + unittest.equals('foo'), + ); + unittest.expect( + o.publisher!, + unittest.equals('foo'), + ); + } + buildCounterMobileApp--; +} + +core.List buildUnnamed137() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed137(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterMobileDeviceIdList = 0; +api.MobileDeviceIdList buildMobileDeviceIdList() { + final o = api.MobileDeviceIdList(); + buildCounterMobileDeviceIdList++; + if (buildCounterMobileDeviceIdList < 3) { + o.consent = buildConsent(); + o.mobileDeviceIds = buildUnnamed137(); + } + buildCounterMobileDeviceIdList--; + return o; +} + +void checkMobileDeviceIdList(api.MobileDeviceIdList o) { + buildCounterMobileDeviceIdList++; + if (buildCounterMobileDeviceIdList < 3) { + checkConsent(o.consent!); + checkUnnamed137(o.mobileDeviceIds!); + } + buildCounterMobileDeviceIdList--; +} + +core.int buildCounterMoney = 0; +api.Money buildMoney() { + final o = api.Money(); + buildCounterMoney++; + if (buildCounterMoney < 3) { + o.currencyCode = 'foo'; + o.nanos = 42; + o.units = 'foo'; + } + buildCounterMoney--; + return o; +} + +void checkMoney(api.Money o) { + buildCounterMoney++; + if (buildCounterMoney < 3) { + unittest.expect( + o.currencyCode!, + unittest.equals('foo'), + ); + unittest.expect( + o.nanos!, + unittest.equals(42), + ); + unittest.expect( + o.units!, + unittest.equals('foo'), + ); + } + buildCounterMoney--; +} + +core.int buildCounterNativeContentPositionAssignedTargetingOptionDetails = 0; +api.NativeContentPositionAssignedTargetingOptionDetails + buildNativeContentPositionAssignedTargetingOptionDetails() { + final o = api.NativeContentPositionAssignedTargetingOptionDetails(); + buildCounterNativeContentPositionAssignedTargetingOptionDetails++; + if (buildCounterNativeContentPositionAssignedTargetingOptionDetails < 3) { + o.contentPosition = 'foo'; + } + buildCounterNativeContentPositionAssignedTargetingOptionDetails--; + return o; +} + +void checkNativeContentPositionAssignedTargetingOptionDetails( + api.NativeContentPositionAssignedTargetingOptionDetails o) { + buildCounterNativeContentPositionAssignedTargetingOptionDetails++; + if (buildCounterNativeContentPositionAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.contentPosition!, + unittest.equals('foo'), + ); + } + buildCounterNativeContentPositionAssignedTargetingOptionDetails--; +} + +core.int buildCounterNativeContentPositionTargetingOptionDetails = 0; +api.NativeContentPositionTargetingOptionDetails + buildNativeContentPositionTargetingOptionDetails() { + final o = api.NativeContentPositionTargetingOptionDetails(); + buildCounterNativeContentPositionTargetingOptionDetails++; + if (buildCounterNativeContentPositionTargetingOptionDetails < 3) { + o.contentPosition = 'foo'; + } + buildCounterNativeContentPositionTargetingOptionDetails--; + return o; +} + +void checkNativeContentPositionTargetingOptionDetails( + api.NativeContentPositionTargetingOptionDetails o) { + buildCounterNativeContentPositionTargetingOptionDetails++; + if (buildCounterNativeContentPositionTargetingOptionDetails < 3) { + unittest.expect( + o.contentPosition!, + unittest.equals('foo'), + ); + } + buildCounterNativeContentPositionTargetingOptionDetails--; +} + +core.int buildCounterNegativeKeyword = 0; +api.NegativeKeyword buildNegativeKeyword() { + final o = api.NegativeKeyword(); + buildCounterNegativeKeyword++; + if (buildCounterNegativeKeyword < 3) { + o.keywordValue = 'foo'; + o.name = 'foo'; + } + buildCounterNegativeKeyword--; + return o; +} + +void checkNegativeKeyword(api.NegativeKeyword o) { + buildCounterNegativeKeyword++; + if (buildCounterNegativeKeyword < 3) { + unittest.expect( + o.keywordValue!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + } + buildCounterNegativeKeyword--; +} + +core.int buildCounterNegativeKeywordList = 0; +api.NegativeKeywordList buildNegativeKeywordList() { + final o = api.NegativeKeywordList(); + buildCounterNegativeKeywordList++; + if (buildCounterNegativeKeywordList < 3) { + o.advertiserId = 'foo'; + o.displayName = 'foo'; + o.name = 'foo'; + o.negativeKeywordListId = 'foo'; + o.targetedLineItemCount = 'foo'; + } + buildCounterNegativeKeywordList--; + return o; +} + +void checkNegativeKeywordList(api.NegativeKeywordList o) { + buildCounterNegativeKeywordList++; + if (buildCounterNegativeKeywordList < 3) { + unittest.expect( + o.advertiserId!, + unittest.equals('foo'), + ); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.negativeKeywordListId!, + unittest.equals('foo'), + ); + unittest.expect( + o.targetedLineItemCount!, + unittest.equals('foo'), + ); + } + buildCounterNegativeKeywordList--; +} + +core.int buildCounterNegativeKeywordListAssignedTargetingOptionDetails = 0; +api.NegativeKeywordListAssignedTargetingOptionDetails + buildNegativeKeywordListAssignedTargetingOptionDetails() { + final o = api.NegativeKeywordListAssignedTargetingOptionDetails(); + buildCounterNegativeKeywordListAssignedTargetingOptionDetails++; + if (buildCounterNegativeKeywordListAssignedTargetingOptionDetails < 3) { + o.negativeKeywordListId = 'foo'; + } + buildCounterNegativeKeywordListAssignedTargetingOptionDetails--; + return o; +} + +void checkNegativeKeywordListAssignedTargetingOptionDetails( + api.NegativeKeywordListAssignedTargetingOptionDetails o) { + buildCounterNegativeKeywordListAssignedTargetingOptionDetails++; + if (buildCounterNegativeKeywordListAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.negativeKeywordListId!, + unittest.equals('foo'), + ); + } + buildCounterNegativeKeywordListAssignedTargetingOptionDetails--; +} + +core.Map buildUnnamed138() => { + 'x': 'foo', + 'y': 'foo', + }; + +void checkUnnamed138(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o['x']!, + unittest.equals('foo'), + ); + unittest.expect( + o['y']!, + unittest.equals('foo'), + ); +} + +core.int buildCounterNonSkippableAd = 0; +api.NonSkippableAd buildNonSkippableAd() { + final o = api.NonSkippableAd(); + buildCounterNonSkippableAd++; + if (buildCounterNonSkippableAd < 3) { + o.commonInStreamAttribute = buildCommonInStreamAttribute(); + o.customParameters = buildUnnamed138(); + } + buildCounterNonSkippableAd--; + return o; +} + +void checkNonSkippableAd(api.NonSkippableAd o) { + buildCounterNonSkippableAd++; + if (buildCounterNonSkippableAd < 3) { + checkCommonInStreamAttribute(o.commonInStreamAttribute!); + checkUnnamed138(o.customParameters!); + } + buildCounterNonSkippableAd--; +} + +core.int buildCounterObaIcon = 0; +api.ObaIcon buildObaIcon() { + final o = api.ObaIcon(); + buildCounterObaIcon++; + if (buildCounterObaIcon < 3) { + o.clickTrackingUrl = 'foo'; + o.dimensions = buildDimensions(); + o.landingPageUrl = 'foo'; + o.position = 'foo'; + o.program = 'foo'; + o.resourceMimeType = 'foo'; + o.resourceUrl = 'foo'; + o.viewTrackingUrl = 'foo'; + } + buildCounterObaIcon--; + return o; +} + +void checkObaIcon(api.ObaIcon o) { + buildCounterObaIcon++; + if (buildCounterObaIcon < 3) { + unittest.expect( + o.clickTrackingUrl!, + unittest.equals('foo'), + ); + checkDimensions(o.dimensions!); + unittest.expect( + o.landingPageUrl!, + unittest.equals('foo'), + ); + unittest.expect( + o.position!, + unittest.equals('foo'), + ); + unittest.expect( + o.program!, + unittest.equals('foo'), + ); + unittest.expect( + o.resourceMimeType!, + unittest.equals('foo'), + ); + unittest.expect( + o.resourceUrl!, + unittest.equals('foo'), + ); + unittest.expect( + o.viewTrackingUrl!, + unittest.equals('foo'), + ); + } + buildCounterObaIcon--; +} + +core.int buildCounterOmidAssignedTargetingOptionDetails = 0; +api.OmidAssignedTargetingOptionDetails + buildOmidAssignedTargetingOptionDetails() { + final o = api.OmidAssignedTargetingOptionDetails(); + buildCounterOmidAssignedTargetingOptionDetails++; + if (buildCounterOmidAssignedTargetingOptionDetails < 3) { + o.omid = 'foo'; + } + buildCounterOmidAssignedTargetingOptionDetails--; + return o; +} + +void checkOmidAssignedTargetingOptionDetails( + api.OmidAssignedTargetingOptionDetails o) { + buildCounterOmidAssignedTargetingOptionDetails++; + if (buildCounterOmidAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.omid!, + unittest.equals('foo'), + ); + } + buildCounterOmidAssignedTargetingOptionDetails--; +} + +core.int buildCounterOmidTargetingOptionDetails = 0; +api.OmidTargetingOptionDetails buildOmidTargetingOptionDetails() { + final o = api.OmidTargetingOptionDetails(); + buildCounterOmidTargetingOptionDetails++; + if (buildCounterOmidTargetingOptionDetails < 3) { + o.omid = 'foo'; + } + buildCounterOmidTargetingOptionDetails--; + return o; +} + +void checkOmidTargetingOptionDetails(api.OmidTargetingOptionDetails o) { + buildCounterOmidTargetingOptionDetails++; + if (buildCounterOmidTargetingOptionDetails < 3) { + unittest.expect( + o.omid!, + unittest.equals('foo'), + ); + } + buildCounterOmidTargetingOptionDetails--; +} + +core.int buildCounterOnScreenPositionAssignedTargetingOptionDetails = 0; +api.OnScreenPositionAssignedTargetingOptionDetails + buildOnScreenPositionAssignedTargetingOptionDetails() { + final o = api.OnScreenPositionAssignedTargetingOptionDetails(); + buildCounterOnScreenPositionAssignedTargetingOptionDetails++; + if (buildCounterOnScreenPositionAssignedTargetingOptionDetails < 3) { + o.adType = 'foo'; + o.onScreenPosition = 'foo'; + o.targetingOptionId = 'foo'; + } + buildCounterOnScreenPositionAssignedTargetingOptionDetails--; + return o; +} + +void checkOnScreenPositionAssignedTargetingOptionDetails( + api.OnScreenPositionAssignedTargetingOptionDetails o) { + buildCounterOnScreenPositionAssignedTargetingOptionDetails++; + if (buildCounterOnScreenPositionAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.adType!, + unittest.equals('foo'), + ); + unittest.expect( + o.onScreenPosition!, + unittest.equals('foo'), + ); + unittest.expect( + o.targetingOptionId!, + unittest.equals('foo'), + ); + } + buildCounterOnScreenPositionAssignedTargetingOptionDetails--; +} + +core.int buildCounterOnScreenPositionTargetingOptionDetails = 0; +api.OnScreenPositionTargetingOptionDetails + buildOnScreenPositionTargetingOptionDetails() { + final o = api.OnScreenPositionTargetingOptionDetails(); + buildCounterOnScreenPositionTargetingOptionDetails++; + if (buildCounterOnScreenPositionTargetingOptionDetails < 3) { + o.onScreenPosition = 'foo'; + } + buildCounterOnScreenPositionTargetingOptionDetails--; + return o; +} + +void checkOnScreenPositionTargetingOptionDetails( + api.OnScreenPositionTargetingOptionDetails o) { + buildCounterOnScreenPositionTargetingOptionDetails++; + if (buildCounterOnScreenPositionTargetingOptionDetails < 3) { + unittest.expect( + o.onScreenPosition!, + unittest.equals('foo'), + ); + } + buildCounterOnScreenPositionTargetingOptionDetails--; +} + +core.int buildCounterOperatingSystemAssignedTargetingOptionDetails = 0; +api.OperatingSystemAssignedTargetingOptionDetails + buildOperatingSystemAssignedTargetingOptionDetails() { + final o = api.OperatingSystemAssignedTargetingOptionDetails(); + buildCounterOperatingSystemAssignedTargetingOptionDetails++; + if (buildCounterOperatingSystemAssignedTargetingOptionDetails < 3) { + o.displayName = 'foo'; + o.negative = true; + o.targetingOptionId = 'foo'; + } + buildCounterOperatingSystemAssignedTargetingOptionDetails--; + return o; +} + +void checkOperatingSystemAssignedTargetingOptionDetails( + api.OperatingSystemAssignedTargetingOptionDetails o) { + buildCounterOperatingSystemAssignedTargetingOptionDetails++; + if (buildCounterOperatingSystemAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect(o.negative!, unittest.isTrue); + unittest.expect( + o.targetingOptionId!, + unittest.equals('foo'), + ); + } + buildCounterOperatingSystemAssignedTargetingOptionDetails--; +} + +core.int buildCounterOperatingSystemTargetingOptionDetails = 0; +api.OperatingSystemTargetingOptionDetails + buildOperatingSystemTargetingOptionDetails() { + final o = api.OperatingSystemTargetingOptionDetails(); + buildCounterOperatingSystemTargetingOptionDetails++; + if (buildCounterOperatingSystemTargetingOptionDetails < 3) { + o.displayName = 'foo'; + } + buildCounterOperatingSystemTargetingOptionDetails--; + return o; +} + +void checkOperatingSystemTargetingOptionDetails( + api.OperatingSystemTargetingOptionDetails o) { + buildCounterOperatingSystemTargetingOptionDetails++; + if (buildCounterOperatingSystemTargetingOptionDetails < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + } + buildCounterOperatingSystemTargetingOptionDetails--; +} + +core.Map buildUnnamed139() => { + 'x': { + 'list': [1, 2, 3], + 'bool': true, + 'string': 'foo' + }, + 'y': { + 'list': [1, 2, 3], + 'bool': true, + 'string': 'foo' + }, + }; + +void checkUnnamed139(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + var casted3 = (o['x']!) as core.Map; + unittest.expect(casted3, unittest.hasLength(3)); + unittest.expect( + casted3['list'], + unittest.equals([1, 2, 3]), + ); + unittest.expect( + casted3['bool'], + unittest.equals(true), + ); + unittest.expect( + casted3['string'], + unittest.equals('foo'), + ); + var casted4 = (o['y']!) as core.Map; + unittest.expect(casted4, unittest.hasLength(3)); + unittest.expect( + casted4['list'], + unittest.equals([1, 2, 3]), + ); + unittest.expect( + casted4['bool'], + unittest.equals(true), + ); + unittest.expect( + casted4['string'], + unittest.equals('foo'), + ); +} + +core.Map buildUnnamed140() => { + 'x': { + 'list': [1, 2, 3], + 'bool': true, + 'string': 'foo' + }, + 'y': { + 'list': [1, 2, 3], + 'bool': true, + 'string': 'foo' + }, + }; + +void checkUnnamed140(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + var casted5 = (o['x']!) as core.Map; + unittest.expect(casted5, unittest.hasLength(3)); + unittest.expect( + casted5['list'], + unittest.equals([1, 2, 3]), + ); + unittest.expect( + casted5['bool'], + unittest.equals(true), + ); + unittest.expect( + casted5['string'], + unittest.equals('foo'), + ); + var casted6 = (o['y']!) as core.Map; + unittest.expect(casted6, unittest.hasLength(3)); + unittest.expect( + casted6['list'], + unittest.equals([1, 2, 3]), + ); + unittest.expect( + casted6['bool'], + unittest.equals(true), + ); + unittest.expect( + casted6['string'], + unittest.equals('foo'), + ); +} + +core.int buildCounterOperation = 0; +api.Operation buildOperation() { + final o = api.Operation(); + buildCounterOperation++; + if (buildCounterOperation < 3) { + o.done = true; + o.error = buildStatus(); + o.metadata = buildUnnamed139(); + o.name = 'foo'; + o.response = buildUnnamed140(); + } + buildCounterOperation--; + return o; +} + +void checkOperation(api.Operation o) { + buildCounterOperation++; + if (buildCounterOperation < 3) { + unittest.expect(o.done!, unittest.isTrue); + checkStatus(o.error!); + checkUnnamed139(o.metadata!); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + checkUnnamed140(o.response!); + } + buildCounterOperation--; +} + +core.int buildCounterPacing = 0; +api.Pacing buildPacing() { + final o = api.Pacing(); + buildCounterPacing++; + if (buildCounterPacing < 3) { + o.dailyMaxImpressions = 'foo'; + o.dailyMaxMicros = 'foo'; + o.pacingPeriod = 'foo'; + o.pacingType = 'foo'; + } + buildCounterPacing--; + return o; +} + +void checkPacing(api.Pacing o) { + buildCounterPacing++; + if (buildCounterPacing < 3) { + unittest.expect( + o.dailyMaxImpressions!, + unittest.equals('foo'), + ); + unittest.expect( + o.dailyMaxMicros!, + unittest.equals('foo'), + ); + unittest.expect( + o.pacingPeriod!, + unittest.equals('foo'), + ); + unittest.expect( + o.pacingType!, + unittest.equals('foo'), + ); + } + buildCounterPacing--; +} + +core.List buildUnnamed141() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed141(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed142() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed142(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterParentEntityFilter = 0; +api.ParentEntityFilter buildParentEntityFilter() { + final o = api.ParentEntityFilter(); + buildCounterParentEntityFilter++; + if (buildCounterParentEntityFilter < 3) { + o.fileType = buildUnnamed141(); + o.filterIds = buildUnnamed142(); + o.filterType = 'foo'; + } + buildCounterParentEntityFilter--; + return o; +} + +void checkParentEntityFilter(api.ParentEntityFilter o) { + buildCounterParentEntityFilter++; + if (buildCounterParentEntityFilter < 3) { + checkUnnamed141(o.fileType!); + checkUnnamed142(o.filterIds!); + unittest.expect( + o.filterType!, + unittest.equals('foo'), + ); + } + buildCounterParentEntityFilter--; +} + +core.int buildCounterParentalStatusAssignedTargetingOptionDetails = 0; +api.ParentalStatusAssignedTargetingOptionDetails + buildParentalStatusAssignedTargetingOptionDetails() { + final o = api.ParentalStatusAssignedTargetingOptionDetails(); + buildCounterParentalStatusAssignedTargetingOptionDetails++; + if (buildCounterParentalStatusAssignedTargetingOptionDetails < 3) { + o.parentalStatus = 'foo'; + } + buildCounterParentalStatusAssignedTargetingOptionDetails--; + return o; +} + +void checkParentalStatusAssignedTargetingOptionDetails( + api.ParentalStatusAssignedTargetingOptionDetails o) { + buildCounterParentalStatusAssignedTargetingOptionDetails++; + if (buildCounterParentalStatusAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.parentalStatus!, + unittest.equals('foo'), + ); + } + buildCounterParentalStatusAssignedTargetingOptionDetails--; +} + +core.int buildCounterParentalStatusTargetingOptionDetails = 0; +api.ParentalStatusTargetingOptionDetails + buildParentalStatusTargetingOptionDetails() { + final o = api.ParentalStatusTargetingOptionDetails(); + buildCounterParentalStatusTargetingOptionDetails++; + if (buildCounterParentalStatusTargetingOptionDetails < 3) { + o.parentalStatus = 'foo'; + } + buildCounterParentalStatusTargetingOptionDetails--; + return o; +} + +void checkParentalStatusTargetingOptionDetails( + api.ParentalStatusTargetingOptionDetails o) { + buildCounterParentalStatusTargetingOptionDetails++; + if (buildCounterParentalStatusTargetingOptionDetails < 3) { + unittest.expect( + o.parentalStatus!, + unittest.equals('foo'), + ); + } + buildCounterParentalStatusTargetingOptionDetails--; +} + +core.int buildCounterPartner = 0; +api.Partner buildPartner() { + final o = api.Partner(); + buildCounterPartner++; + if (buildCounterPartner < 3) { + o.adServerConfig = buildPartnerAdServerConfig(); + o.billingConfig = buildPartnerBillingConfig(); + o.dataAccessConfig = buildPartnerDataAccessConfig(); + o.displayName = 'foo'; + o.entityStatus = 'foo'; + o.exchangeConfig = buildExchangeConfig(); + o.generalConfig = buildPartnerGeneralConfig(); + o.name = 'foo'; + o.partnerId = 'foo'; + o.updateTime = 'foo'; + } + buildCounterPartner--; + return o; +} + +void checkPartner(api.Partner o) { + buildCounterPartner++; + if (buildCounterPartner < 3) { + checkPartnerAdServerConfig(o.adServerConfig!); + checkPartnerBillingConfig(o.billingConfig!); + checkPartnerDataAccessConfig(o.dataAccessConfig!); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.entityStatus!, + unittest.equals('foo'), + ); + checkExchangeConfig(o.exchangeConfig!); + checkPartnerGeneralConfig(o.generalConfig!); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.partnerId!, + unittest.equals('foo'), + ); + unittest.expect( + o.updateTime!, + unittest.equals('foo'), + ); + } + buildCounterPartner--; +} + +core.int buildCounterPartnerAdServerConfig = 0; +api.PartnerAdServerConfig buildPartnerAdServerConfig() { + final o = api.PartnerAdServerConfig(); + buildCounterPartnerAdServerConfig++; + if (buildCounterPartnerAdServerConfig < 3) { + o.measurementConfig = buildMeasurementConfig(); + } + buildCounterPartnerAdServerConfig--; + return o; +} + +void checkPartnerAdServerConfig(api.PartnerAdServerConfig o) { + buildCounterPartnerAdServerConfig++; + if (buildCounterPartnerAdServerConfig < 3) { + checkMeasurementConfig(o.measurementConfig!); + } + buildCounterPartnerAdServerConfig--; +} + +core.int buildCounterPartnerBillingConfig = 0; +api.PartnerBillingConfig buildPartnerBillingConfig() { + final o = api.PartnerBillingConfig(); + buildCounterPartnerBillingConfig++; + if (buildCounterPartnerBillingConfig < 3) { + o.billingProfileId = 'foo'; + } + buildCounterPartnerBillingConfig--; + return o; +} + +void checkPartnerBillingConfig(api.PartnerBillingConfig o) { + buildCounterPartnerBillingConfig++; + if (buildCounterPartnerBillingConfig < 3) { + unittest.expect( + o.billingProfileId!, + unittest.equals('foo'), + ); + } + buildCounterPartnerBillingConfig--; +} + +core.int buildCounterPartnerCost = 0; +api.PartnerCost buildPartnerCost() { + final o = api.PartnerCost(); + buildCounterPartnerCost++; + if (buildCounterPartnerCost < 3) { + o.costType = 'foo'; + o.feeAmount = 'foo'; + o.feePercentageMillis = 'foo'; + o.feeType = 'foo'; + o.invoiceType = 'foo'; + } + buildCounterPartnerCost--; + return o; +} + +void checkPartnerCost(api.PartnerCost o) { + buildCounterPartnerCost++; + if (buildCounterPartnerCost < 3) { + unittest.expect( + o.costType!, + unittest.equals('foo'), + ); + unittest.expect( + o.feeAmount!, + unittest.equals('foo'), + ); + unittest.expect( + o.feePercentageMillis!, + unittest.equals('foo'), + ); + unittest.expect( + o.feeType!, + unittest.equals('foo'), + ); + unittest.expect( + o.invoiceType!, + unittest.equals('foo'), + ); + } + buildCounterPartnerCost--; +} + +core.int buildCounterPartnerDataAccessConfig = 0; +api.PartnerDataAccessConfig buildPartnerDataAccessConfig() { + final o = api.PartnerDataAccessConfig(); + buildCounterPartnerDataAccessConfig++; + if (buildCounterPartnerDataAccessConfig < 3) { + o.sdfConfig = buildSdfConfig(); + } + buildCounterPartnerDataAccessConfig--; + return o; +} + +void checkPartnerDataAccessConfig(api.PartnerDataAccessConfig o) { + buildCounterPartnerDataAccessConfig++; + if (buildCounterPartnerDataAccessConfig < 3) { + checkSdfConfig(o.sdfConfig!); + } + buildCounterPartnerDataAccessConfig--; +} + +core.int buildCounterPartnerGeneralConfig = 0; +api.PartnerGeneralConfig buildPartnerGeneralConfig() { + final o = api.PartnerGeneralConfig(); + buildCounterPartnerGeneralConfig++; + if (buildCounterPartnerGeneralConfig < 3) { + o.currencyCode = 'foo'; + o.timeZone = 'foo'; + } + buildCounterPartnerGeneralConfig--; + return o; +} + +void checkPartnerGeneralConfig(api.PartnerGeneralConfig o) { + buildCounterPartnerGeneralConfig++; + if (buildCounterPartnerGeneralConfig < 3) { + unittest.expect( + o.currencyCode!, + unittest.equals('foo'), + ); + unittest.expect( + o.timeZone!, + unittest.equals('foo'), + ); + } + buildCounterPartnerGeneralConfig--; +} + +core.int buildCounterPartnerRevenueModel = 0; +api.PartnerRevenueModel buildPartnerRevenueModel() { + final o = api.PartnerRevenueModel(); + buildCounterPartnerRevenueModel++; + if (buildCounterPartnerRevenueModel < 3) { + o.markupAmount = 'foo'; + o.markupType = 'foo'; + } + buildCounterPartnerRevenueModel--; + return o; +} + +void checkPartnerRevenueModel(api.PartnerRevenueModel o) { + buildCounterPartnerRevenueModel++; + if (buildCounterPartnerRevenueModel < 3) { + unittest.expect( + o.markupAmount!, + unittest.equals('foo'), + ); + unittest.expect( + o.markupType!, + unittest.equals('foo'), + ); + } + buildCounterPartnerRevenueModel--; +} + +core.int buildCounterPerformanceGoal = 0; +api.PerformanceGoal buildPerformanceGoal() { + final o = api.PerformanceGoal(); + buildCounterPerformanceGoal++; + if (buildCounterPerformanceGoal < 3) { + o.performanceGoalAmountMicros = 'foo'; + o.performanceGoalPercentageMicros = 'foo'; + o.performanceGoalString = 'foo'; + o.performanceGoalType = 'foo'; + } + buildCounterPerformanceGoal--; + return o; +} + +void checkPerformanceGoal(api.PerformanceGoal o) { + buildCounterPerformanceGoal++; + if (buildCounterPerformanceGoal < 3) { + unittest.expect( + o.performanceGoalAmountMicros!, + unittest.equals('foo'), + ); + unittest.expect( + o.performanceGoalPercentageMicros!, + unittest.equals('foo'), + ); + unittest.expect( + o.performanceGoalString!, + unittest.equals('foo'), + ); + unittest.expect( + o.performanceGoalType!, + unittest.equals('foo'), + ); + } + buildCounterPerformanceGoal--; +} + +core.int buildCounterPerformanceGoalBidStrategy = 0; +api.PerformanceGoalBidStrategy buildPerformanceGoalBidStrategy() { + final o = api.PerformanceGoalBidStrategy(); + buildCounterPerformanceGoalBidStrategy++; + if (buildCounterPerformanceGoalBidStrategy < 3) { + o.customBiddingAlgorithmId = 'foo'; + o.maxAverageCpmBidAmountMicros = 'foo'; + o.performanceGoalAmountMicros = 'foo'; + o.performanceGoalType = 'foo'; + } + buildCounterPerformanceGoalBidStrategy--; + return o; +} + +void checkPerformanceGoalBidStrategy(api.PerformanceGoalBidStrategy o) { + buildCounterPerformanceGoalBidStrategy++; + if (buildCounterPerformanceGoalBidStrategy < 3) { + unittest.expect( + o.customBiddingAlgorithmId!, + unittest.equals('foo'), + ); + unittest.expect( + o.maxAverageCpmBidAmountMicros!, + unittest.equals('foo'), + ); + unittest.expect( + o.performanceGoalAmountMicros!, + unittest.equals('foo'), + ); + unittest.expect( + o.performanceGoalType!, + unittest.equals('foo'), + ); + } + buildCounterPerformanceGoalBidStrategy--; +} + +core.int buildCounterPoiAssignedTargetingOptionDetails = 0; +api.PoiAssignedTargetingOptionDetails buildPoiAssignedTargetingOptionDetails() { + final o = api.PoiAssignedTargetingOptionDetails(); + buildCounterPoiAssignedTargetingOptionDetails++; + if (buildCounterPoiAssignedTargetingOptionDetails < 3) { + o.displayName = 'foo'; + o.latitude = 42.0; + o.longitude = 42.0; + o.proximityRadiusAmount = 42.0; + o.proximityRadiusUnit = 'foo'; + o.targetingOptionId = 'foo'; + } + buildCounterPoiAssignedTargetingOptionDetails--; + return o; +} + +void checkPoiAssignedTargetingOptionDetails( + api.PoiAssignedTargetingOptionDetails o) { + buildCounterPoiAssignedTargetingOptionDetails++; + if (buildCounterPoiAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.latitude!, + unittest.equals(42.0), + ); + unittest.expect( + o.longitude!, + unittest.equals(42.0), + ); + unittest.expect( + o.proximityRadiusAmount!, + unittest.equals(42.0), + ); + unittest.expect( + o.proximityRadiusUnit!, + unittest.equals('foo'), + ); + unittest.expect( + o.targetingOptionId!, + unittest.equals('foo'), + ); + } + buildCounterPoiAssignedTargetingOptionDetails--; +} + +core.int buildCounterPoiSearchTerms = 0; +api.PoiSearchTerms buildPoiSearchTerms() { + final o = api.PoiSearchTerms(); + buildCounterPoiSearchTerms++; + if (buildCounterPoiSearchTerms < 3) { + o.poiQuery = 'foo'; + } + buildCounterPoiSearchTerms--; + return o; +} + +void checkPoiSearchTerms(api.PoiSearchTerms o) { + buildCounterPoiSearchTerms++; + if (buildCounterPoiSearchTerms < 3) { + unittest.expect( + o.poiQuery!, + unittest.equals('foo'), + ); + } + buildCounterPoiSearchTerms--; +} + +core.int buildCounterPoiTargetingOptionDetails = 0; +api.PoiTargetingOptionDetails buildPoiTargetingOptionDetails() { + final o = api.PoiTargetingOptionDetails(); + buildCounterPoiTargetingOptionDetails++; + if (buildCounterPoiTargetingOptionDetails < 3) { + o.displayName = 'foo'; + o.latitude = 42.0; + o.longitude = 42.0; + } + buildCounterPoiTargetingOptionDetails--; + return o; +} + +void checkPoiTargetingOptionDetails(api.PoiTargetingOptionDetails o) { + buildCounterPoiTargetingOptionDetails++; + if (buildCounterPoiTargetingOptionDetails < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.latitude!, + unittest.equals(42.0), + ); + unittest.expect( + o.longitude!, + unittest.equals(42.0), + ); + } + buildCounterPoiTargetingOptionDetails--; +} + +core.int buildCounterPrismaConfig = 0; +api.PrismaConfig buildPrismaConfig() { + final o = api.PrismaConfig(); + buildCounterPrismaConfig++; + if (buildCounterPrismaConfig < 3) { + o.prismaCpeCode = buildPrismaCpeCode(); + o.prismaType = 'foo'; + o.supplier = 'foo'; + } + buildCounterPrismaConfig--; + return o; +} + +void checkPrismaConfig(api.PrismaConfig o) { + buildCounterPrismaConfig++; + if (buildCounterPrismaConfig < 3) { + checkPrismaCpeCode(o.prismaCpeCode!); + unittest.expect( + o.prismaType!, + unittest.equals('foo'), + ); + unittest.expect( + o.supplier!, + unittest.equals('foo'), + ); + } + buildCounterPrismaConfig--; +} + +core.int buildCounterPrismaCpeCode = 0; +api.PrismaCpeCode buildPrismaCpeCode() { + final o = api.PrismaCpeCode(); + buildCounterPrismaCpeCode++; + if (buildCounterPrismaCpeCode < 3) { + o.prismaClientCode = 'foo'; + o.prismaEstimateCode = 'foo'; + o.prismaProductCode = 'foo'; + } + buildCounterPrismaCpeCode--; + return o; +} + +void checkPrismaCpeCode(api.PrismaCpeCode o) { + buildCounterPrismaCpeCode++; + if (buildCounterPrismaCpeCode < 3) { + unittest.expect( + o.prismaClientCode!, + unittest.equals('foo'), + ); + unittest.expect( + o.prismaEstimateCode!, + unittest.equals('foo'), + ); + unittest.expect( + o.prismaProductCode!, + unittest.equals('foo'), + ); + } + buildCounterPrismaCpeCode--; +} + +core.List buildUnnamed143() => [ + buildProductMatchDimension(), + buildProductMatchDimension(), + ]; + +void checkUnnamed143(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkProductMatchDimension(o[0]); + checkProductMatchDimension(o[1]); +} + +core.int buildCounterProductFeedData = 0; +api.ProductFeedData buildProductFeedData() { + final o = api.ProductFeedData(); + buildCounterProductFeedData++; + if (buildCounterProductFeedData < 3) { + o.isFeedDisabled = true; + o.productMatchDimensions = buildUnnamed143(); + o.productMatchType = 'foo'; + } + buildCounterProductFeedData--; + return o; +} + +void checkProductFeedData(api.ProductFeedData o) { + buildCounterProductFeedData++; + if (buildCounterProductFeedData < 3) { + unittest.expect(o.isFeedDisabled!, unittest.isTrue); + checkUnnamed143(o.productMatchDimensions!); + unittest.expect( + o.productMatchType!, + unittest.equals('foo'), + ); + } + buildCounterProductFeedData--; +} + +core.int buildCounterProductMatchDimension = 0; +api.ProductMatchDimension buildProductMatchDimension() { + final o = api.ProductMatchDimension(); + buildCounterProductMatchDimension++; + if (buildCounterProductMatchDimension < 3) { + o.customLabel = buildCustomLabel(); + o.productOfferId = 'foo'; + } + buildCounterProductMatchDimension--; + return o; +} + +void checkProductMatchDimension(api.ProductMatchDimension o) { + buildCounterProductMatchDimension++; + if (buildCounterProductMatchDimension < 3) { + checkCustomLabel(o.customLabel!); + unittest.expect( + o.productOfferId!, + unittest.equals('foo'), + ); + } + buildCounterProductMatchDimension--; +} + +core.int buildCounterProximityLocationListAssignedTargetingOptionDetails = 0; +api.ProximityLocationListAssignedTargetingOptionDetails + buildProximityLocationListAssignedTargetingOptionDetails() { + final o = api.ProximityLocationListAssignedTargetingOptionDetails(); + buildCounterProximityLocationListAssignedTargetingOptionDetails++; + if (buildCounterProximityLocationListAssignedTargetingOptionDetails < 3) { + o.proximityLocationListId = 'foo'; + o.proximityRadius = 42.0; + o.proximityRadiusUnit = 'foo'; + } + buildCounterProximityLocationListAssignedTargetingOptionDetails--; + return o; +} + +void checkProximityLocationListAssignedTargetingOptionDetails( + api.ProximityLocationListAssignedTargetingOptionDetails o) { + buildCounterProximityLocationListAssignedTargetingOptionDetails++; + if (buildCounterProximityLocationListAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.proximityLocationListId!, + unittest.equals('foo'), + ); + unittest.expect( + o.proximityRadius!, + unittest.equals(42.0), + ); + unittest.expect( + o.proximityRadiusUnit!, + unittest.equals('foo'), + ); + } + buildCounterProximityLocationListAssignedTargetingOptionDetails--; +} + +core.int buildCounterRateDetails = 0; +api.RateDetails buildRateDetails() { + final o = api.RateDetails(); + buildCounterRateDetails++; + if (buildCounterRateDetails < 3) { + o.inventorySourceRateType = 'foo'; + o.minimumSpend = buildMoney(); + o.rate = buildMoney(); + o.unitsPurchased = 'foo'; + } + buildCounterRateDetails--; + return o; +} + +void checkRateDetails(api.RateDetails o) { + buildCounterRateDetails++; + if (buildCounterRateDetails < 3) { + unittest.expect( + o.inventorySourceRateType!, + unittest.equals('foo'), + ); + checkMoney(o.minimumSpend!); + checkMoney(o.rate!); + unittest.expect( + o.unitsPurchased!, + unittest.equals('foo'), + ); + } + buildCounterRateDetails--; +} + +core.int buildCounterRegionalLocationListAssignedTargetingOptionDetails = 0; +api.RegionalLocationListAssignedTargetingOptionDetails + buildRegionalLocationListAssignedTargetingOptionDetails() { + final o = api.RegionalLocationListAssignedTargetingOptionDetails(); + buildCounterRegionalLocationListAssignedTargetingOptionDetails++; + if (buildCounterRegionalLocationListAssignedTargetingOptionDetails < 3) { + o.negative = true; + o.regionalLocationListId = 'foo'; + } + buildCounterRegionalLocationListAssignedTargetingOptionDetails--; + return o; +} + +void checkRegionalLocationListAssignedTargetingOptionDetails( + api.RegionalLocationListAssignedTargetingOptionDetails o) { + buildCounterRegionalLocationListAssignedTargetingOptionDetails++; + if (buildCounterRegionalLocationListAssignedTargetingOptionDetails < 3) { + unittest.expect(o.negative!, unittest.isTrue); + unittest.expect( + o.regionalLocationListId!, + unittest.equals('foo'), + ); + } + buildCounterRegionalLocationListAssignedTargetingOptionDetails--; +} + +core.int buildCounterRemarketingConfig = 0; +api.RemarketingConfig buildRemarketingConfig() { + final o = api.RemarketingConfig(); + buildCounterRemarketingConfig++; + if (buildCounterRemarketingConfig < 3) { + o.advertiserId = 'foo'; + o.remarketingEnabled = true; + } + buildCounterRemarketingConfig--; + return o; +} + +void checkRemarketingConfig(api.RemarketingConfig o) { + buildCounterRemarketingConfig++; + if (buildCounterRemarketingConfig < 3) { + unittest.expect( + o.advertiserId!, + unittest.equals('foo'), + ); + unittest.expect(o.remarketingEnabled!, unittest.isTrue); + } + buildCounterRemarketingConfig--; +} + +core.List buildUnnamed144() => [ + buildNegativeKeyword(), + buildNegativeKeyword(), + ]; + +void checkUnnamed144(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkNegativeKeyword(o[0]); + checkNegativeKeyword(o[1]); +} + +core.int buildCounterReplaceNegativeKeywordsRequest = 0; +api.ReplaceNegativeKeywordsRequest buildReplaceNegativeKeywordsRequest() { + final o = api.ReplaceNegativeKeywordsRequest(); + buildCounterReplaceNegativeKeywordsRequest++; + if (buildCounterReplaceNegativeKeywordsRequest < 3) { + o.newNegativeKeywords = buildUnnamed144(); + } + buildCounterReplaceNegativeKeywordsRequest--; + return o; +} + +void checkReplaceNegativeKeywordsRequest(api.ReplaceNegativeKeywordsRequest o) { + buildCounterReplaceNegativeKeywordsRequest++; + if (buildCounterReplaceNegativeKeywordsRequest < 3) { + checkUnnamed144(o.newNegativeKeywords!); + } + buildCounterReplaceNegativeKeywordsRequest--; +} + +core.List buildUnnamed145() => [ + buildNegativeKeyword(), + buildNegativeKeyword(), + ]; + +void checkUnnamed145(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkNegativeKeyword(o[0]); + checkNegativeKeyword(o[1]); +} + +core.int buildCounterReplaceNegativeKeywordsResponse = 0; +api.ReplaceNegativeKeywordsResponse buildReplaceNegativeKeywordsResponse() { + final o = api.ReplaceNegativeKeywordsResponse(); + buildCounterReplaceNegativeKeywordsResponse++; + if (buildCounterReplaceNegativeKeywordsResponse < 3) { + o.negativeKeywords = buildUnnamed145(); + } + buildCounterReplaceNegativeKeywordsResponse--; + return o; +} + +void checkReplaceNegativeKeywordsResponse( + api.ReplaceNegativeKeywordsResponse o) { + buildCounterReplaceNegativeKeywordsResponse++; + if (buildCounterReplaceNegativeKeywordsResponse < 3) { + checkUnnamed145(o.negativeKeywords!); + } + buildCounterReplaceNegativeKeywordsResponse--; +} + +core.List buildUnnamed146() => [ + buildSite(), + buildSite(), + ]; + +void checkUnnamed146(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkSite(o[0]); + checkSite(o[1]); +} + +core.int buildCounterReplaceSitesRequest = 0; +api.ReplaceSitesRequest buildReplaceSitesRequest() { + final o = api.ReplaceSitesRequest(); + buildCounterReplaceSitesRequest++; + if (buildCounterReplaceSitesRequest < 3) { + o.advertiserId = 'foo'; + o.newSites = buildUnnamed146(); + o.partnerId = 'foo'; + } + buildCounterReplaceSitesRequest--; + return o; +} + +void checkReplaceSitesRequest(api.ReplaceSitesRequest o) { + buildCounterReplaceSitesRequest++; + if (buildCounterReplaceSitesRequest < 3) { + unittest.expect( + o.advertiserId!, + unittest.equals('foo'), + ); + checkUnnamed146(o.newSites!); + unittest.expect( + o.partnerId!, + unittest.equals('foo'), + ); + } + buildCounterReplaceSitesRequest--; +} + +core.List buildUnnamed147() => [ + buildSite(), + buildSite(), + ]; + +void checkUnnamed147(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkSite(o[0]); + checkSite(o[1]); +} + +core.int buildCounterReplaceSitesResponse = 0; +api.ReplaceSitesResponse buildReplaceSitesResponse() { + final o = api.ReplaceSitesResponse(); + buildCounterReplaceSitesResponse++; + if (buildCounterReplaceSitesResponse < 3) { + o.sites = buildUnnamed147(); + } + buildCounterReplaceSitesResponse--; + return o; +} + +void checkReplaceSitesResponse(api.ReplaceSitesResponse o) { + buildCounterReplaceSitesResponse++; + if (buildCounterReplaceSitesResponse < 3) { + checkUnnamed147(o.sites!); + } + buildCounterReplaceSitesResponse--; +} + +core.List buildUnnamed148() => [ + buildExchangeReviewStatus(), + buildExchangeReviewStatus(), + ]; + +void checkUnnamed148(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkExchangeReviewStatus(o[0]); + checkExchangeReviewStatus(o[1]); +} + +core.int buildCounterReviewStatusInfo = 0; +api.ReviewStatusInfo buildReviewStatusInfo() { + final o = api.ReviewStatusInfo(); + buildCounterReviewStatusInfo++; + if (buildCounterReviewStatusInfo < 3) { + o.approvalStatus = 'foo'; + o.contentAndPolicyReviewStatus = 'foo'; + o.creativeAndLandingPageReviewStatus = 'foo'; + o.exchangeReviewStatuses = buildUnnamed148(); + } + buildCounterReviewStatusInfo--; + return o; +} + +void checkReviewStatusInfo(api.ReviewStatusInfo o) { + buildCounterReviewStatusInfo++; + if (buildCounterReviewStatusInfo < 3) { + unittest.expect( + o.approvalStatus!, + unittest.equals('foo'), + ); + unittest.expect( + o.contentAndPolicyReviewStatus!, + unittest.equals('foo'), + ); + unittest.expect( + o.creativeAndLandingPageReviewStatus!, + unittest.equals('foo'), + ); + checkUnnamed148(o.exchangeReviewStatuses!); + } + buildCounterReviewStatusInfo--; +} + +core.int buildCounterScriptError = 0; +api.ScriptError buildScriptError() { + final o = api.ScriptError(); + buildCounterScriptError++; + if (buildCounterScriptError < 3) { + o.column = 'foo'; + o.errorCode = 'foo'; + o.errorMessage = 'foo'; + o.line = 'foo'; + } + buildCounterScriptError--; + return o; +} + +void checkScriptError(api.ScriptError o) { + buildCounterScriptError++; + if (buildCounterScriptError < 3) { + unittest.expect( + o.column!, + unittest.equals('foo'), + ); + unittest.expect( + o.errorCode!, + unittest.equals('foo'), + ); + unittest.expect( + o.errorMessage!, + unittest.equals('foo'), + ); + unittest.expect( + o.line!, + unittest.equals('foo'), + ); + } + buildCounterScriptError--; +} + +core.int buildCounterSdfConfig = 0; +api.SdfConfig buildSdfConfig() { + final o = api.SdfConfig(); + buildCounterSdfConfig++; + if (buildCounterSdfConfig < 3) { + o.adminEmail = 'foo'; + o.version = 'foo'; + } + buildCounterSdfConfig--; + return o; +} + +void checkSdfConfig(api.SdfConfig o) { + buildCounterSdfConfig++; + if (buildCounterSdfConfig < 3) { + unittest.expect( + o.adminEmail!, + unittest.equals('foo'), + ); + unittest.expect( + o.version!, + unittest.equals('foo'), + ); + } + buildCounterSdfConfig--; +} + +core.int buildCounterSearchTargetingOptionsRequest = 0; +api.SearchTargetingOptionsRequest buildSearchTargetingOptionsRequest() { + final o = api.SearchTargetingOptionsRequest(); + buildCounterSearchTargetingOptionsRequest++; + if (buildCounterSearchTargetingOptionsRequest < 3) { + o.advertiserId = 'foo'; + o.businessChainSearchTerms = buildBusinessChainSearchTerms(); + o.geoRegionSearchTerms = buildGeoRegionSearchTerms(); + o.pageSize = 42; + o.pageToken = 'foo'; + o.poiSearchTerms = buildPoiSearchTerms(); + } + buildCounterSearchTargetingOptionsRequest--; + return o; +} + +void checkSearchTargetingOptionsRequest(api.SearchTargetingOptionsRequest o) { + buildCounterSearchTargetingOptionsRequest++; + if (buildCounterSearchTargetingOptionsRequest < 3) { + unittest.expect( + o.advertiserId!, + unittest.equals('foo'), + ); + checkBusinessChainSearchTerms(o.businessChainSearchTerms!); + checkGeoRegionSearchTerms(o.geoRegionSearchTerms!); + unittest.expect( + o.pageSize!, + unittest.equals(42), + ); + unittest.expect( + o.pageToken!, + unittest.equals('foo'), + ); + checkPoiSearchTerms(o.poiSearchTerms!); + } + buildCounterSearchTargetingOptionsRequest--; +} + +core.List buildUnnamed149() => [ + buildTargetingOption(), + buildTargetingOption(), + ]; + +void checkUnnamed149(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkTargetingOption(o[0]); + checkTargetingOption(o[1]); +} + +core.int buildCounterSearchTargetingOptionsResponse = 0; +api.SearchTargetingOptionsResponse buildSearchTargetingOptionsResponse() { + final o = api.SearchTargetingOptionsResponse(); + buildCounterSearchTargetingOptionsResponse++; + if (buildCounterSearchTargetingOptionsResponse < 3) { + o.nextPageToken = 'foo'; + o.targetingOptions = buildUnnamed149(); + } + buildCounterSearchTargetingOptionsResponse--; + return o; +} + +void checkSearchTargetingOptionsResponse(api.SearchTargetingOptionsResponse o) { + buildCounterSearchTargetingOptionsResponse++; + if (buildCounterSearchTargetingOptionsResponse < 3) { + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + checkUnnamed149(o.targetingOptions!); + } + buildCounterSearchTargetingOptionsResponse--; +} + +core.int buildCounterSensitiveCategoryAssignedTargetingOptionDetails = 0; +api.SensitiveCategoryAssignedTargetingOptionDetails + buildSensitiveCategoryAssignedTargetingOptionDetails() { + final o = api.SensitiveCategoryAssignedTargetingOptionDetails(); + buildCounterSensitiveCategoryAssignedTargetingOptionDetails++; + if (buildCounterSensitiveCategoryAssignedTargetingOptionDetails < 3) { + o.excludedSensitiveCategory = 'foo'; + } + buildCounterSensitiveCategoryAssignedTargetingOptionDetails--; + return o; +} + +void checkSensitiveCategoryAssignedTargetingOptionDetails( + api.SensitiveCategoryAssignedTargetingOptionDetails o) { + buildCounterSensitiveCategoryAssignedTargetingOptionDetails++; + if (buildCounterSensitiveCategoryAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.excludedSensitiveCategory!, + unittest.equals('foo'), + ); + } + buildCounterSensitiveCategoryAssignedTargetingOptionDetails--; +} + +core.int buildCounterSensitiveCategoryTargetingOptionDetails = 0; +api.SensitiveCategoryTargetingOptionDetails + buildSensitiveCategoryTargetingOptionDetails() { + final o = api.SensitiveCategoryTargetingOptionDetails(); + buildCounterSensitiveCategoryTargetingOptionDetails++; + if (buildCounterSensitiveCategoryTargetingOptionDetails < 3) { + o.sensitiveCategory = 'foo'; + } + buildCounterSensitiveCategoryTargetingOptionDetails--; + return o; +} + +void checkSensitiveCategoryTargetingOptionDetails( + api.SensitiveCategoryTargetingOptionDetails o) { + buildCounterSensitiveCategoryTargetingOptionDetails++; + if (buildCounterSensitiveCategoryTargetingOptionDetails < 3) { + unittest.expect( + o.sensitiveCategory!, + unittest.equals('foo'), + ); + } + buildCounterSensitiveCategoryTargetingOptionDetails--; +} + +core.int buildCounterSessionPositionAssignedTargetingOptionDetails = 0; +api.SessionPositionAssignedTargetingOptionDetails + buildSessionPositionAssignedTargetingOptionDetails() { + final o = api.SessionPositionAssignedTargetingOptionDetails(); + buildCounterSessionPositionAssignedTargetingOptionDetails++; + if (buildCounterSessionPositionAssignedTargetingOptionDetails < 3) { + o.sessionPosition = 'foo'; + } + buildCounterSessionPositionAssignedTargetingOptionDetails--; + return o; +} + +void checkSessionPositionAssignedTargetingOptionDetails( + api.SessionPositionAssignedTargetingOptionDetails o) { + buildCounterSessionPositionAssignedTargetingOptionDetails++; + if (buildCounterSessionPositionAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.sessionPosition!, + unittest.equals('foo'), + ); + } + buildCounterSessionPositionAssignedTargetingOptionDetails--; +} + +core.int buildCounterSite = 0; +api.Site buildSite() { + final o = api.Site(); + buildCounterSite++; + if (buildCounterSite < 3) { + o.name = 'foo'; + o.urlOrAppId = 'foo'; + } + buildCounterSite--; + return o; +} + +void checkSite(api.Site o) { + buildCounterSite++; + if (buildCounterSite < 3) { + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.urlOrAppId!, + unittest.equals('foo'), + ); + } + buildCounterSite--; +} + +core.Map buildUnnamed150() => { + 'x': { + 'list': [1, 2, 3], + 'bool': true, + 'string': 'foo' + }, + 'y': { + 'list': [1, 2, 3], + 'bool': true, + 'string': 'foo' + }, + }; + +void checkUnnamed150(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + var casted7 = (o['x']!) as core.Map; + unittest.expect(casted7, unittest.hasLength(3)); + unittest.expect( + casted7['list'], + unittest.equals([1, 2, 3]), + ); + unittest.expect( + casted7['bool'], + unittest.equals(true), + ); + unittest.expect( + casted7['string'], + unittest.equals('foo'), + ); + var casted8 = (o['y']!) as core.Map; + unittest.expect(casted8, unittest.hasLength(3)); + unittest.expect( + casted8['list'], + unittest.equals([1, 2, 3]), + ); + unittest.expect( + casted8['bool'], + unittest.equals(true), + ); + unittest.expect( + casted8['string'], + unittest.equals('foo'), + ); +} + +core.List> buildUnnamed151() => [ + buildUnnamed150(), + buildUnnamed150(), + ]; + +void checkUnnamed151(core.List> o) { + unittest.expect(o, unittest.hasLength(2)); + checkUnnamed150(o[0]); + checkUnnamed150(o[1]); +} + +core.int buildCounterStatus = 0; +api.Status buildStatus() { + final o = api.Status(); + buildCounterStatus++; + if (buildCounterStatus < 3) { + o.code = 42; + o.details = buildUnnamed151(); + o.message = 'foo'; + } + buildCounterStatus--; + return o; +} + +void checkStatus(api.Status o) { + buildCounterStatus++; + if (buildCounterStatus < 3) { + unittest.expect( + o.code!, + unittest.equals(42), + ); + checkUnnamed151(o.details!); + unittest.expect( + o.message!, + unittest.equals('foo'), + ); + } + buildCounterStatus--; +} + +core.int buildCounterSubExchangeAssignedTargetingOptionDetails = 0; +api.SubExchangeAssignedTargetingOptionDetails + buildSubExchangeAssignedTargetingOptionDetails() { + final o = api.SubExchangeAssignedTargetingOptionDetails(); + buildCounterSubExchangeAssignedTargetingOptionDetails++; + if (buildCounterSubExchangeAssignedTargetingOptionDetails < 3) { + o.targetingOptionId = 'foo'; + } + buildCounterSubExchangeAssignedTargetingOptionDetails--; + return o; +} + +void checkSubExchangeAssignedTargetingOptionDetails( + api.SubExchangeAssignedTargetingOptionDetails o) { + buildCounterSubExchangeAssignedTargetingOptionDetails++; + if (buildCounterSubExchangeAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.targetingOptionId!, + unittest.equals('foo'), + ); + } + buildCounterSubExchangeAssignedTargetingOptionDetails--; +} + +core.int buildCounterSubExchangeTargetingOptionDetails = 0; +api.SubExchangeTargetingOptionDetails buildSubExchangeTargetingOptionDetails() { + final o = api.SubExchangeTargetingOptionDetails(); + buildCounterSubExchangeTargetingOptionDetails++; + if (buildCounterSubExchangeTargetingOptionDetails < 3) { + o.displayName = 'foo'; + } + buildCounterSubExchangeTargetingOptionDetails--; + return o; +} + +void checkSubExchangeTargetingOptionDetails( + api.SubExchangeTargetingOptionDetails o) { + buildCounterSubExchangeTargetingOptionDetails++; + if (buildCounterSubExchangeTargetingOptionDetails < 3) { + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + } + buildCounterSubExchangeTargetingOptionDetails--; +} + +core.int buildCounterTargetFrequency = 0; +api.TargetFrequency buildTargetFrequency() { + final o = api.TargetFrequency(); + buildCounterTargetFrequency++; + if (buildCounterTargetFrequency < 3) { + o.targetCount = 'foo'; + o.timeUnit = 'foo'; + o.timeUnitCount = 42; + } + buildCounterTargetFrequency--; + return o; +} + +void checkTargetFrequency(api.TargetFrequency o) { + buildCounterTargetFrequency++; + if (buildCounterTargetFrequency < 3) { + unittest.expect( + o.targetCount!, + unittest.equals('foo'), + ); + unittest.expect( + o.timeUnit!, + unittest.equals('foo'), + ); + unittest.expect( + o.timeUnitCount!, + unittest.equals(42), + ); + } + buildCounterTargetFrequency--; +} + +core.int buildCounterTargetingExpansionConfig = 0; +api.TargetingExpansionConfig buildTargetingExpansionConfig() { + final o = api.TargetingExpansionConfig(); + buildCounterTargetingExpansionConfig++; + if (buildCounterTargetingExpansionConfig < 3) { + o.audienceExpansionLevel = 'foo'; + o.audienceExpansionSeedListExcluded = true; + o.enableOptimizedTargeting = true; + } + buildCounterTargetingExpansionConfig--; + return o; +} + +void checkTargetingExpansionConfig(api.TargetingExpansionConfig o) { + buildCounterTargetingExpansionConfig++; + if (buildCounterTargetingExpansionConfig < 3) { + unittest.expect( + o.audienceExpansionLevel!, + unittest.equals('foo'), + ); + unittest.expect(o.audienceExpansionSeedListExcluded!, unittest.isTrue); + unittest.expect(o.enableOptimizedTargeting!, unittest.isTrue); + } + buildCounterTargetingExpansionConfig--; +} + +core.int buildCounterTargetingOption = 0; +api.TargetingOption buildTargetingOption() { + final o = api.TargetingOption(); + buildCounterTargetingOption++; + if (buildCounterTargetingOption < 3) { + o.ageRangeDetails = buildAgeRangeTargetingOptionDetails(); + o.appCategoryDetails = buildAppCategoryTargetingOptionDetails(); + o.audioContentTypeDetails = buildAudioContentTypeTargetingOptionDetails(); + o.authorizedSellerStatusDetails = + buildAuthorizedSellerStatusTargetingOptionDetails(); + o.browserDetails = buildBrowserTargetingOptionDetails(); + o.businessChainDetails = buildBusinessChainTargetingOptionDetails(); + o.carrierAndIspDetails = buildCarrierAndIspTargetingOptionDetails(); + o.categoryDetails = buildCategoryTargetingOptionDetails(); + o.contentDurationDetails = buildContentDurationTargetingOptionDetails(); + o.contentGenreDetails = buildContentGenreTargetingOptionDetails(); + o.contentInstreamPositionDetails = + buildContentInstreamPositionTargetingOptionDetails(); + o.contentOutstreamPositionDetails = + buildContentOutstreamPositionTargetingOptionDetails(); + o.contentStreamTypeDetails = buildContentStreamTypeTargetingOptionDetails(); + o.deviceMakeModelDetails = buildDeviceMakeModelTargetingOptionDetails(); + o.deviceTypeDetails = buildDeviceTypeTargetingOptionDetails(); + o.digitalContentLabelDetails = + buildDigitalContentLabelTargetingOptionDetails(); + o.environmentDetails = buildEnvironmentTargetingOptionDetails(); + o.exchangeDetails = buildExchangeTargetingOptionDetails(); + o.genderDetails = buildGenderTargetingOptionDetails(); + o.geoRegionDetails = buildGeoRegionTargetingOptionDetails(); + o.householdIncomeDetails = buildHouseholdIncomeTargetingOptionDetails(); + o.languageDetails = buildLanguageTargetingOptionDetails(); + o.name = 'foo'; + o.nativeContentPositionDetails = + buildNativeContentPositionTargetingOptionDetails(); + o.omidDetails = buildOmidTargetingOptionDetails(); + o.onScreenPositionDetails = buildOnScreenPositionTargetingOptionDetails(); + o.operatingSystemDetails = buildOperatingSystemTargetingOptionDetails(); + o.parentalStatusDetails = buildParentalStatusTargetingOptionDetails(); + o.poiDetails = buildPoiTargetingOptionDetails(); + o.sensitiveCategoryDetails = buildSensitiveCategoryTargetingOptionDetails(); + o.subExchangeDetails = buildSubExchangeTargetingOptionDetails(); + o.targetingOptionId = 'foo'; + o.targetingType = 'foo'; + o.userRewardedContentDetails = + buildUserRewardedContentTargetingOptionDetails(); + o.videoPlayerSizeDetails = buildVideoPlayerSizeTargetingOptionDetails(); + o.viewabilityDetails = buildViewabilityTargetingOptionDetails(); + } + buildCounterTargetingOption--; + return o; +} + +void checkTargetingOption(api.TargetingOption o) { + buildCounterTargetingOption++; + if (buildCounterTargetingOption < 3) { + checkAgeRangeTargetingOptionDetails(o.ageRangeDetails!); + checkAppCategoryTargetingOptionDetails(o.appCategoryDetails!); + checkAudioContentTypeTargetingOptionDetails(o.audioContentTypeDetails!); + checkAuthorizedSellerStatusTargetingOptionDetails( + o.authorizedSellerStatusDetails!); + checkBrowserTargetingOptionDetails(o.browserDetails!); + checkBusinessChainTargetingOptionDetails(o.businessChainDetails!); + checkCarrierAndIspTargetingOptionDetails(o.carrierAndIspDetails!); + checkCategoryTargetingOptionDetails(o.categoryDetails!); + checkContentDurationTargetingOptionDetails(o.contentDurationDetails!); + checkContentGenreTargetingOptionDetails(o.contentGenreDetails!); + checkContentInstreamPositionTargetingOptionDetails( + o.contentInstreamPositionDetails!); + checkContentOutstreamPositionTargetingOptionDetails( + o.contentOutstreamPositionDetails!); + checkContentStreamTypeTargetingOptionDetails(o.contentStreamTypeDetails!); + checkDeviceMakeModelTargetingOptionDetails(o.deviceMakeModelDetails!); + checkDeviceTypeTargetingOptionDetails(o.deviceTypeDetails!); + checkDigitalContentLabelTargetingOptionDetails( + o.digitalContentLabelDetails!); + checkEnvironmentTargetingOptionDetails(o.environmentDetails!); + checkExchangeTargetingOptionDetails(o.exchangeDetails!); + checkGenderTargetingOptionDetails(o.genderDetails!); + checkGeoRegionTargetingOptionDetails(o.geoRegionDetails!); + checkHouseholdIncomeTargetingOptionDetails(o.householdIncomeDetails!); + checkLanguageTargetingOptionDetails(o.languageDetails!); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + checkNativeContentPositionTargetingOptionDetails( + o.nativeContentPositionDetails!); + checkOmidTargetingOptionDetails(o.omidDetails!); + checkOnScreenPositionTargetingOptionDetails(o.onScreenPositionDetails!); + checkOperatingSystemTargetingOptionDetails(o.operatingSystemDetails!); + checkParentalStatusTargetingOptionDetails(o.parentalStatusDetails!); + checkPoiTargetingOptionDetails(o.poiDetails!); + checkSensitiveCategoryTargetingOptionDetails(o.sensitiveCategoryDetails!); + checkSubExchangeTargetingOptionDetails(o.subExchangeDetails!); + unittest.expect( + o.targetingOptionId!, + unittest.equals('foo'), + ); + unittest.expect( + o.targetingType!, + unittest.equals('foo'), + ); + checkUserRewardedContentTargetingOptionDetails( + o.userRewardedContentDetails!); + checkVideoPlayerSizeTargetingOptionDetails(o.videoPlayerSizeDetails!); + checkViewabilityTargetingOptionDetails(o.viewabilityDetails!); + } + buildCounterTargetingOption--; +} + +core.List buildUnnamed152() => [ + buildThirdPartyVendorConfig(), + buildThirdPartyVendorConfig(), + ]; + +void checkUnnamed152(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkThirdPartyVendorConfig(o[0]); + checkThirdPartyVendorConfig(o[1]); +} + +core.List buildUnnamed153() => [ + buildThirdPartyVendorConfig(), + buildThirdPartyVendorConfig(), + ]; + +void checkUnnamed153(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkThirdPartyVendorConfig(o[0]); + checkThirdPartyVendorConfig(o[1]); +} + +core.List buildUnnamed154() => [ + buildThirdPartyVendorConfig(), + buildThirdPartyVendorConfig(), + ]; + +void checkUnnamed154(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkThirdPartyVendorConfig(o[0]); + checkThirdPartyVendorConfig(o[1]); +} + +core.List buildUnnamed155() => [ + buildThirdPartyVendorConfig(), + buildThirdPartyVendorConfig(), + ]; + +void checkUnnamed155(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkThirdPartyVendorConfig(o[0]); + checkThirdPartyVendorConfig(o[1]); +} + +core.int buildCounterThirdPartyMeasurementConfigs = 0; +api.ThirdPartyMeasurementConfigs buildThirdPartyMeasurementConfigs() { + final o = api.ThirdPartyMeasurementConfigs(); + buildCounterThirdPartyMeasurementConfigs++; + if (buildCounterThirdPartyMeasurementConfigs < 3) { + o.brandLiftVendorConfigs = buildUnnamed152(); + o.brandSafetyVendorConfigs = buildUnnamed153(); + o.reachVendorConfigs = buildUnnamed154(); + o.viewabilityVendorConfigs = buildUnnamed155(); + } + buildCounterThirdPartyMeasurementConfigs--; + return o; +} + +void checkThirdPartyMeasurementConfigs(api.ThirdPartyMeasurementConfigs o) { + buildCounterThirdPartyMeasurementConfigs++; + if (buildCounterThirdPartyMeasurementConfigs < 3) { + checkUnnamed152(o.brandLiftVendorConfigs!); + checkUnnamed153(o.brandSafetyVendorConfigs!); + checkUnnamed154(o.reachVendorConfigs!); + checkUnnamed155(o.viewabilityVendorConfigs!); + } + buildCounterThirdPartyMeasurementConfigs--; +} + +core.int buildCounterThirdPartyOnlyConfig = 0; +api.ThirdPartyOnlyConfig buildThirdPartyOnlyConfig() { + final o = api.ThirdPartyOnlyConfig(); + buildCounterThirdPartyOnlyConfig++; + if (buildCounterThirdPartyOnlyConfig < 3) { + o.pixelOrderIdReportingEnabled = true; + } + buildCounterThirdPartyOnlyConfig--; + return o; +} + +void checkThirdPartyOnlyConfig(api.ThirdPartyOnlyConfig o) { + buildCounterThirdPartyOnlyConfig++; + if (buildCounterThirdPartyOnlyConfig < 3) { + unittest.expect(o.pixelOrderIdReportingEnabled!, unittest.isTrue); + } + buildCounterThirdPartyOnlyConfig--; +} + +core.int buildCounterThirdPartyUrl = 0; +api.ThirdPartyUrl buildThirdPartyUrl() { + final o = api.ThirdPartyUrl(); + buildCounterThirdPartyUrl++; + if (buildCounterThirdPartyUrl < 3) { + o.type = 'foo'; + o.url = 'foo'; + } + buildCounterThirdPartyUrl--; + return o; +} + +void checkThirdPartyUrl(api.ThirdPartyUrl o) { + buildCounterThirdPartyUrl++; + if (buildCounterThirdPartyUrl < 3) { + unittest.expect( + o.type!, + unittest.equals('foo'), + ); + unittest.expect( + o.url!, + unittest.equals('foo'), + ); + } + buildCounterThirdPartyUrl--; +} + +core.int buildCounterThirdPartyVendorConfig = 0; +api.ThirdPartyVendorConfig buildThirdPartyVendorConfig() { + final o = api.ThirdPartyVendorConfig(); + buildCounterThirdPartyVendorConfig++; + if (buildCounterThirdPartyVendorConfig < 3) { + o.placementId = 'foo'; + o.vendor = 'foo'; + } + buildCounterThirdPartyVendorConfig--; + return o; +} + +void checkThirdPartyVendorConfig(api.ThirdPartyVendorConfig o) { + buildCounterThirdPartyVendorConfig++; + if (buildCounterThirdPartyVendorConfig < 3) { + unittest.expect( + o.placementId!, + unittest.equals('foo'), + ); + unittest.expect( + o.vendor!, + unittest.equals('foo'), + ); + } + buildCounterThirdPartyVendorConfig--; +} + +core.int buildCounterThirdPartyVerifierAssignedTargetingOptionDetails = 0; +api.ThirdPartyVerifierAssignedTargetingOptionDetails + buildThirdPartyVerifierAssignedTargetingOptionDetails() { + final o = api.ThirdPartyVerifierAssignedTargetingOptionDetails(); + buildCounterThirdPartyVerifierAssignedTargetingOptionDetails++; + if (buildCounterThirdPartyVerifierAssignedTargetingOptionDetails < 3) { + o.adloox = buildAdloox(); + o.doubleVerify = buildDoubleVerify(); + o.integralAdScience = buildIntegralAdScience(); + } + buildCounterThirdPartyVerifierAssignedTargetingOptionDetails--; + return o; +} + +void checkThirdPartyVerifierAssignedTargetingOptionDetails( + api.ThirdPartyVerifierAssignedTargetingOptionDetails o) { + buildCounterThirdPartyVerifierAssignedTargetingOptionDetails++; + if (buildCounterThirdPartyVerifierAssignedTargetingOptionDetails < 3) { + checkAdloox(o.adloox!); + checkDoubleVerify(o.doubleVerify!); + checkIntegralAdScience(o.integralAdScience!); + } + buildCounterThirdPartyVerifierAssignedTargetingOptionDetails--; +} + +core.int buildCounterTimeRange = 0; +api.TimeRange buildTimeRange() { + final o = api.TimeRange(); + buildCounterTimeRange++; + if (buildCounterTimeRange < 3) { + o.endTime = 'foo'; + o.startTime = 'foo'; + } + buildCounterTimeRange--; + return o; +} + +void checkTimeRange(api.TimeRange o) { + buildCounterTimeRange++; + if (buildCounterTimeRange < 3) { + unittest.expect( + o.endTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.startTime!, + unittest.equals('foo'), + ); + } + buildCounterTimeRange--; +} + +core.int buildCounterTimerEvent = 0; +api.TimerEvent buildTimerEvent() { + final o = api.TimerEvent(); + buildCounterTimerEvent++; + if (buildCounterTimerEvent < 3) { + o.name = 'foo'; + o.reportingName = 'foo'; + } + buildCounterTimerEvent--; + return o; +} + +void checkTimerEvent(api.TimerEvent o) { + buildCounterTimerEvent++; + if (buildCounterTimerEvent < 3) { + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.reportingName!, + unittest.equals('foo'), + ); + } + buildCounterTimerEvent--; +} + +core.int buildCounterTrackingFloodlightActivityConfig = 0; +api.TrackingFloodlightActivityConfig buildTrackingFloodlightActivityConfig() { + final o = api.TrackingFloodlightActivityConfig(); + buildCounterTrackingFloodlightActivityConfig++; + if (buildCounterTrackingFloodlightActivityConfig < 3) { + o.floodlightActivityId = 'foo'; + o.postClickLookbackWindowDays = 42; + o.postViewLookbackWindowDays = 42; + } + buildCounterTrackingFloodlightActivityConfig--; + return o; +} + +void checkTrackingFloodlightActivityConfig( + api.TrackingFloodlightActivityConfig o) { + buildCounterTrackingFloodlightActivityConfig++; + if (buildCounterTrackingFloodlightActivityConfig < 3) { + unittest.expect( + o.floodlightActivityId!, + unittest.equals('foo'), + ); + unittest.expect( + o.postClickLookbackWindowDays!, + unittest.equals(42), + ); + unittest.expect( + o.postViewLookbackWindowDays!, + unittest.equals(42), + ); + } + buildCounterTrackingFloodlightActivityConfig--; +} + +core.int buildCounterTranscode = 0; +api.Transcode buildTranscode() { + final o = api.Transcode(); + buildCounterTranscode++; + if (buildCounterTranscode < 3) { + o.audioBitRateKbps = 'foo'; + o.audioSampleRateHz = 'foo'; + o.bitRateKbps = 'foo'; + o.dimensions = buildDimensions(); + o.fileSizeBytes = 'foo'; + o.frameRate = 42.0; + o.mimeType = 'foo'; + o.name = 'foo'; + o.transcoded = true; + } + buildCounterTranscode--; + return o; +} + +void checkTranscode(api.Transcode o) { + buildCounterTranscode++; + if (buildCounterTranscode < 3) { + unittest.expect( + o.audioBitRateKbps!, + unittest.equals('foo'), + ); + unittest.expect( + o.audioSampleRateHz!, + unittest.equals('foo'), + ); + unittest.expect( + o.bitRateKbps!, + unittest.equals('foo'), + ); + checkDimensions(o.dimensions!); + unittest.expect( + o.fileSizeBytes!, + unittest.equals('foo'), + ); + unittest.expect( + o.frameRate!, + unittest.equals(42.0), + ); + unittest.expect( + o.mimeType!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect(o.transcoded!, unittest.isTrue); + } + buildCounterTranscode--; +} + +core.int buildCounterUniversalAdId = 0; +api.UniversalAdId buildUniversalAdId() { + final o = api.UniversalAdId(); + buildCounterUniversalAdId++; + if (buildCounterUniversalAdId < 3) { + o.id = 'foo'; + o.registry = 'foo'; + } + buildCounterUniversalAdId--; + return o; +} + +void checkUniversalAdId(api.UniversalAdId o) { + buildCounterUniversalAdId++; + if (buildCounterUniversalAdId < 3) { + unittest.expect( + o.id!, + unittest.equals('foo'), + ); + unittest.expect( + o.registry!, + unittest.equals('foo'), + ); + } + buildCounterUniversalAdId--; +} + +core.int buildCounterUrlAssignedTargetingOptionDetails = 0; +api.UrlAssignedTargetingOptionDetails buildUrlAssignedTargetingOptionDetails() { + final o = api.UrlAssignedTargetingOptionDetails(); + buildCounterUrlAssignedTargetingOptionDetails++; + if (buildCounterUrlAssignedTargetingOptionDetails < 3) { + o.negative = true; + o.url = 'foo'; + } + buildCounterUrlAssignedTargetingOptionDetails--; + return o; +} + +void checkUrlAssignedTargetingOptionDetails( + api.UrlAssignedTargetingOptionDetails o) { + buildCounterUrlAssignedTargetingOptionDetails++; + if (buildCounterUrlAssignedTargetingOptionDetails < 3) { + unittest.expect(o.negative!, unittest.isTrue); + unittest.expect( + o.url!, + unittest.equals('foo'), + ); + } + buildCounterUrlAssignedTargetingOptionDetails--; +} + +core.List buildUnnamed156() => [ + buildAssignedUserRole(), + buildAssignedUserRole(), + ]; + +void checkUnnamed156(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAssignedUserRole(o[0]); + checkAssignedUserRole(o[1]); +} + +core.int buildCounterUser = 0; +api.User buildUser() { + final o = api.User(); + buildCounterUser++; + if (buildCounterUser < 3) { + o.assignedUserRoles = buildUnnamed156(); + o.displayName = 'foo'; + o.email = 'foo'; + o.lastLoginTime = 'foo'; + o.name = 'foo'; + o.userId = 'foo'; + } + buildCounterUser--; + return o; +} + +void checkUser(api.User o) { + buildCounterUser++; + if (buildCounterUser < 3) { + checkUnnamed156(o.assignedUserRoles!); + unittest.expect( + o.displayName!, + unittest.equals('foo'), + ); + unittest.expect( + o.email!, + unittest.equals('foo'), + ); + unittest.expect( + o.lastLoginTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.userId!, + unittest.equals('foo'), + ); + } + buildCounterUser--; +} + +core.int buildCounterUserRewardedContentAssignedTargetingOptionDetails = 0; +api.UserRewardedContentAssignedTargetingOptionDetails + buildUserRewardedContentAssignedTargetingOptionDetails() { + final o = api.UserRewardedContentAssignedTargetingOptionDetails(); + buildCounterUserRewardedContentAssignedTargetingOptionDetails++; + if (buildCounterUserRewardedContentAssignedTargetingOptionDetails < 3) { + o.targetingOptionId = 'foo'; + o.userRewardedContent = 'foo'; + } + buildCounterUserRewardedContentAssignedTargetingOptionDetails--; + return o; +} + +void checkUserRewardedContentAssignedTargetingOptionDetails( + api.UserRewardedContentAssignedTargetingOptionDetails o) { + buildCounterUserRewardedContentAssignedTargetingOptionDetails++; + if (buildCounterUserRewardedContentAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.targetingOptionId!, + unittest.equals('foo'), + ); + unittest.expect( + o.userRewardedContent!, + unittest.equals('foo'), + ); + } + buildCounterUserRewardedContentAssignedTargetingOptionDetails--; +} + +core.int buildCounterUserRewardedContentTargetingOptionDetails = 0; +api.UserRewardedContentTargetingOptionDetails + buildUserRewardedContentTargetingOptionDetails() { + final o = api.UserRewardedContentTargetingOptionDetails(); + buildCounterUserRewardedContentTargetingOptionDetails++; + if (buildCounterUserRewardedContentTargetingOptionDetails < 3) { + o.userRewardedContent = 'foo'; + } + buildCounterUserRewardedContentTargetingOptionDetails--; + return o; +} + +void checkUserRewardedContentTargetingOptionDetails( + api.UserRewardedContentTargetingOptionDetails o) { + buildCounterUserRewardedContentTargetingOptionDetails++; + if (buildCounterUserRewardedContentTargetingOptionDetails < 3) { + unittest.expect( + o.userRewardedContent!, + unittest.equals('foo'), + ); + } + buildCounterUserRewardedContentTargetingOptionDetails--; +} + +core.List buildUnnamed157() => [ + buildVideoAdSequenceStep(), + buildVideoAdSequenceStep(), + ]; + +void checkUnnamed157(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkVideoAdSequenceStep(o[0]); + checkVideoAdSequenceStep(o[1]); +} + +core.int buildCounterVideoAdSequenceSettings = 0; +api.VideoAdSequenceSettings buildVideoAdSequenceSettings() { + final o = api.VideoAdSequenceSettings(); + buildCounterVideoAdSequenceSettings++; + if (buildCounterVideoAdSequenceSettings < 3) { + o.minimumDuration = 'foo'; + o.steps = buildUnnamed157(); + } + buildCounterVideoAdSequenceSettings--; + return o; +} + +void checkVideoAdSequenceSettings(api.VideoAdSequenceSettings o) { + buildCounterVideoAdSequenceSettings++; + if (buildCounterVideoAdSequenceSettings < 3) { + unittest.expect( + o.minimumDuration!, + unittest.equals('foo'), + ); + checkUnnamed157(o.steps!); + } + buildCounterVideoAdSequenceSettings--; +} + +core.int buildCounterVideoAdSequenceStep = 0; +api.VideoAdSequenceStep buildVideoAdSequenceStep() { + final o = api.VideoAdSequenceStep(); + buildCounterVideoAdSequenceStep++; + if (buildCounterVideoAdSequenceStep < 3) { + o.adGroupId = 'foo'; + o.interactionType = 'foo'; + o.previousStepId = 'foo'; + o.stepId = 'foo'; + } + buildCounterVideoAdSequenceStep--; + return o; +} + +void checkVideoAdSequenceStep(api.VideoAdSequenceStep o) { + buildCounterVideoAdSequenceStep++; + if (buildCounterVideoAdSequenceStep < 3) { + unittest.expect( + o.adGroupId!, + unittest.equals('foo'), + ); + unittest.expect( + o.interactionType!, + unittest.equals('foo'), + ); + unittest.expect( + o.previousStepId!, + unittest.equals('foo'), + ); + unittest.expect( + o.stepId!, + unittest.equals('foo'), + ); + } + buildCounterVideoAdSequenceStep--; +} + +core.int buildCounterVideoDiscoveryAd = 0; +api.VideoDiscoveryAd buildVideoDiscoveryAd() { + final o = api.VideoDiscoveryAd(); + buildCounterVideoDiscoveryAd++; + if (buildCounterVideoDiscoveryAd < 3) { + o.description1 = 'foo'; + o.description2 = 'foo'; + o.headline = 'foo'; + o.thumbnail = 'foo'; + o.video = buildYoutubeVideoDetails(); + } + buildCounterVideoDiscoveryAd--; + return o; +} + +void checkVideoDiscoveryAd(api.VideoDiscoveryAd o) { + buildCounterVideoDiscoveryAd++; + if (buildCounterVideoDiscoveryAd < 3) { + unittest.expect( + o.description1!, + unittest.equals('foo'), + ); + unittest.expect( + o.description2!, + unittest.equals('foo'), + ); + unittest.expect( + o.headline!, + unittest.equals('foo'), + ); + unittest.expect( + o.thumbnail!, + unittest.equals('foo'), + ); + checkYoutubeVideoDetails(o.video!); + } + buildCounterVideoDiscoveryAd--; +} + +core.List buildUnnamed158() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed158(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed159() => [ + buildImageAsset(), + buildImageAsset(), + ]; + +void checkUnnamed159(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkImageAsset(o[0]); + checkImageAsset(o[1]); +} + +core.Map buildUnnamed160() => { + 'x': 'foo', + 'y': 'foo', + }; + +void checkUnnamed160(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o['x']!, + unittest.equals('foo'), + ); + unittest.expect( + o['y']!, + unittest.equals('foo'), + ); +} + +core.List buildUnnamed161() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed161(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed162() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed162(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed163() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed163(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed164() => [ + buildYoutubeVideoDetails(), + buildYoutubeVideoDetails(), + ]; + +void checkUnnamed164(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkYoutubeVideoDetails(o[0]); + checkYoutubeVideoDetails(o[1]); +} + +core.int buildCounterVideoPerformanceAd = 0; +api.VideoPerformanceAd buildVideoPerformanceAd() { + final o = api.VideoPerformanceAd(); + buildCounterVideoPerformanceAd++; + if (buildCounterVideoPerformanceAd < 3) { + o.actionButtonLabels = buildUnnamed158(); + o.companionBanners = buildUnnamed159(); + o.customParameters = buildUnnamed160(); + o.descriptions = buildUnnamed161(); + o.displayUrlBreadcrumb1 = 'foo'; + o.displayUrlBreadcrumb2 = 'foo'; + o.domain = 'foo'; + o.finalUrl = 'foo'; + o.headlines = buildUnnamed162(); + o.longHeadlines = buildUnnamed163(); + o.trackingUrl = 'foo'; + o.videos = buildUnnamed164(); + } + buildCounterVideoPerformanceAd--; + return o; +} + +void checkVideoPerformanceAd(api.VideoPerformanceAd o) { + buildCounterVideoPerformanceAd++; + if (buildCounterVideoPerformanceAd < 3) { + checkUnnamed158(o.actionButtonLabels!); + checkUnnamed159(o.companionBanners!); + checkUnnamed160(o.customParameters!); + checkUnnamed161(o.descriptions!); + unittest.expect( + o.displayUrlBreadcrumb1!, + unittest.equals('foo'), + ); + unittest.expect( + o.displayUrlBreadcrumb2!, + unittest.equals('foo'), + ); + unittest.expect( + o.domain!, + unittest.equals('foo'), + ); + unittest.expect( + o.finalUrl!, + unittest.equals('foo'), + ); + checkUnnamed162(o.headlines!); + checkUnnamed163(o.longHeadlines!); + unittest.expect( + o.trackingUrl!, + unittest.equals('foo'), + ); + checkUnnamed164(o.videos!); + } + buildCounterVideoPerformanceAd--; +} + +core.int buildCounterVideoPlayerSizeAssignedTargetingOptionDetails = 0; +api.VideoPlayerSizeAssignedTargetingOptionDetails + buildVideoPlayerSizeAssignedTargetingOptionDetails() { + final o = api.VideoPlayerSizeAssignedTargetingOptionDetails(); + buildCounterVideoPlayerSizeAssignedTargetingOptionDetails++; + if (buildCounterVideoPlayerSizeAssignedTargetingOptionDetails < 3) { + o.videoPlayerSize = 'foo'; + } + buildCounterVideoPlayerSizeAssignedTargetingOptionDetails--; + return o; +} + +void checkVideoPlayerSizeAssignedTargetingOptionDetails( + api.VideoPlayerSizeAssignedTargetingOptionDetails o) { + buildCounterVideoPlayerSizeAssignedTargetingOptionDetails++; + if (buildCounterVideoPlayerSizeAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.videoPlayerSize!, + unittest.equals('foo'), + ); + } + buildCounterVideoPlayerSizeAssignedTargetingOptionDetails--; +} + +core.int buildCounterVideoPlayerSizeTargetingOptionDetails = 0; +api.VideoPlayerSizeTargetingOptionDetails + buildVideoPlayerSizeTargetingOptionDetails() { + final o = api.VideoPlayerSizeTargetingOptionDetails(); + buildCounterVideoPlayerSizeTargetingOptionDetails++; + if (buildCounterVideoPlayerSizeTargetingOptionDetails < 3) { + o.videoPlayerSize = 'foo'; + } + buildCounterVideoPlayerSizeTargetingOptionDetails--; + return o; +} + +void checkVideoPlayerSizeTargetingOptionDetails( + api.VideoPlayerSizeTargetingOptionDetails o) { + buildCounterVideoPlayerSizeTargetingOptionDetails++; + if (buildCounterVideoPlayerSizeTargetingOptionDetails < 3) { + unittest.expect( + o.videoPlayerSize!, + unittest.equals('foo'), + ); + } + buildCounterVideoPlayerSizeTargetingOptionDetails--; +} + +core.int buildCounterViewabilityAssignedTargetingOptionDetails = 0; +api.ViewabilityAssignedTargetingOptionDetails + buildViewabilityAssignedTargetingOptionDetails() { + final o = api.ViewabilityAssignedTargetingOptionDetails(); + buildCounterViewabilityAssignedTargetingOptionDetails++; + if (buildCounterViewabilityAssignedTargetingOptionDetails < 3) { + o.viewability = 'foo'; + } + buildCounterViewabilityAssignedTargetingOptionDetails--; + return o; +} + +void checkViewabilityAssignedTargetingOptionDetails( + api.ViewabilityAssignedTargetingOptionDetails o) { + buildCounterViewabilityAssignedTargetingOptionDetails++; + if (buildCounterViewabilityAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.viewability!, + unittest.equals('foo'), + ); + } + buildCounterViewabilityAssignedTargetingOptionDetails--; +} + +core.int buildCounterViewabilityTargetingOptionDetails = 0; +api.ViewabilityTargetingOptionDetails buildViewabilityTargetingOptionDetails() { + final o = api.ViewabilityTargetingOptionDetails(); + buildCounterViewabilityTargetingOptionDetails++; + if (buildCounterViewabilityTargetingOptionDetails < 3) { + o.viewability = 'foo'; + } + buildCounterViewabilityTargetingOptionDetails--; + return o; +} + +void checkViewabilityTargetingOptionDetails( + api.ViewabilityTargetingOptionDetails o) { + buildCounterViewabilityTargetingOptionDetails++; + if (buildCounterViewabilityTargetingOptionDetails < 3) { + unittest.expect( + o.viewability!, + unittest.equals('foo'), + ); + } + buildCounterViewabilityTargetingOptionDetails--; +} + +core.int buildCounterYoutubeAndPartnersBiddingStrategy = 0; +api.YoutubeAndPartnersBiddingStrategy buildYoutubeAndPartnersBiddingStrategy() { + final o = api.YoutubeAndPartnersBiddingStrategy(); + buildCounterYoutubeAndPartnersBiddingStrategy++; + if (buildCounterYoutubeAndPartnersBiddingStrategy < 3) { + o.adGroupEffectiveTargetCpaSource = 'foo'; + o.adGroupEffectiveTargetCpaValue = 'foo'; + o.type = 'foo'; + o.value = 'foo'; + } + buildCounterYoutubeAndPartnersBiddingStrategy--; + return o; +} + +void checkYoutubeAndPartnersBiddingStrategy( + api.YoutubeAndPartnersBiddingStrategy o) { + buildCounterYoutubeAndPartnersBiddingStrategy++; + if (buildCounterYoutubeAndPartnersBiddingStrategy < 3) { + unittest.expect( + o.adGroupEffectiveTargetCpaSource!, + unittest.equals('foo'), + ); + unittest.expect( + o.adGroupEffectiveTargetCpaValue!, + unittest.equals('foo'), + ); + unittest.expect( + o.type!, + unittest.equals('foo'), + ); + unittest.expect( + o.value!, + unittest.equals('foo'), + ); + } + buildCounterYoutubeAndPartnersBiddingStrategy--; +} + +core.int buildCounterYoutubeAndPartnersInventorySourceConfig = 0; +api.YoutubeAndPartnersInventorySourceConfig + buildYoutubeAndPartnersInventorySourceConfig() { + final o = api.YoutubeAndPartnersInventorySourceConfig(); + buildCounterYoutubeAndPartnersInventorySourceConfig++; + if (buildCounterYoutubeAndPartnersInventorySourceConfig < 3) { + o.includeGoogleTv = true; + o.includeYoutube = true; + o.includeYoutubeVideoPartners = true; + } + buildCounterYoutubeAndPartnersInventorySourceConfig--; + return o; +} + +void checkYoutubeAndPartnersInventorySourceConfig( + api.YoutubeAndPartnersInventorySourceConfig o) { + buildCounterYoutubeAndPartnersInventorySourceConfig++; + if (buildCounterYoutubeAndPartnersInventorySourceConfig < 3) { + unittest.expect(o.includeGoogleTv!, unittest.isTrue); + unittest.expect(o.includeYoutube!, unittest.isTrue); + unittest.expect(o.includeYoutubeVideoPartners!, unittest.isTrue); + } + buildCounterYoutubeAndPartnersInventorySourceConfig--; +} + +core.List buildUnnamed165() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed165(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterYoutubeAndPartnersSettings = 0; +api.YoutubeAndPartnersSettings buildYoutubeAndPartnersSettings() { + final o = api.YoutubeAndPartnersSettings(); + buildCounterYoutubeAndPartnersSettings++; + if (buildCounterYoutubeAndPartnersSettings < 3) { + o.contentCategory = 'foo'; + o.effectiveContentCategory = 'foo'; + o.inventorySourceSettings = buildYoutubeAndPartnersInventorySourceConfig(); + o.leadFormId = 'foo'; + o.linkedMerchantId = 'foo'; + o.relatedVideoIds = buildUnnamed165(); + o.targetFrequency = buildTargetFrequency(); + o.thirdPartyMeasurementConfigs = buildThirdPartyMeasurementConfigs(); + o.videoAdSequenceSettings = buildVideoAdSequenceSettings(); + o.viewFrequencyCap = buildFrequencyCap(); + } + buildCounterYoutubeAndPartnersSettings--; + return o; +} + +void checkYoutubeAndPartnersSettings(api.YoutubeAndPartnersSettings o) { + buildCounterYoutubeAndPartnersSettings++; + if (buildCounterYoutubeAndPartnersSettings < 3) { + unittest.expect( + o.contentCategory!, + unittest.equals('foo'), + ); + unittest.expect( + o.effectiveContentCategory!, + unittest.equals('foo'), + ); + checkYoutubeAndPartnersInventorySourceConfig(o.inventorySourceSettings!); + unittest.expect( + o.leadFormId!, + unittest.equals('foo'), + ); + unittest.expect( + o.linkedMerchantId!, + unittest.equals('foo'), + ); + checkUnnamed165(o.relatedVideoIds!); + checkTargetFrequency(o.targetFrequency!); + checkThirdPartyMeasurementConfigs(o.thirdPartyMeasurementConfigs!); + checkVideoAdSequenceSettings(o.videoAdSequenceSettings!); + checkFrequencyCap(o.viewFrequencyCap!); + } + buildCounterYoutubeAndPartnersSettings--; +} + +core.int buildCounterYoutubeChannelAssignedTargetingOptionDetails = 0; +api.YoutubeChannelAssignedTargetingOptionDetails + buildYoutubeChannelAssignedTargetingOptionDetails() { + final o = api.YoutubeChannelAssignedTargetingOptionDetails(); + buildCounterYoutubeChannelAssignedTargetingOptionDetails++; + if (buildCounterYoutubeChannelAssignedTargetingOptionDetails < 3) { + o.channelId = 'foo'; + o.negative = true; + } + buildCounterYoutubeChannelAssignedTargetingOptionDetails--; + return o; +} + +void checkYoutubeChannelAssignedTargetingOptionDetails( + api.YoutubeChannelAssignedTargetingOptionDetails o) { + buildCounterYoutubeChannelAssignedTargetingOptionDetails++; + if (buildCounterYoutubeChannelAssignedTargetingOptionDetails < 3) { + unittest.expect( + o.channelId!, + unittest.equals('foo'), + ); + unittest.expect(o.negative!, unittest.isTrue); + } + buildCounterYoutubeChannelAssignedTargetingOptionDetails--; +} + +core.int buildCounterYoutubeVideoAssignedTargetingOptionDetails = 0; +api.YoutubeVideoAssignedTargetingOptionDetails + buildYoutubeVideoAssignedTargetingOptionDetails() { + final o = api.YoutubeVideoAssignedTargetingOptionDetails(); + buildCounterYoutubeVideoAssignedTargetingOptionDetails++; + if (buildCounterYoutubeVideoAssignedTargetingOptionDetails < 3) { + o.negative = true; + o.videoId = 'foo'; + } + buildCounterYoutubeVideoAssignedTargetingOptionDetails--; + return o; +} + +void checkYoutubeVideoAssignedTargetingOptionDetails( + api.YoutubeVideoAssignedTargetingOptionDetails o) { + buildCounterYoutubeVideoAssignedTargetingOptionDetails++; + if (buildCounterYoutubeVideoAssignedTargetingOptionDetails < 3) { + unittest.expect(o.negative!, unittest.isTrue); + unittest.expect( + o.videoId!, + unittest.equals('foo'), + ); + } + buildCounterYoutubeVideoAssignedTargetingOptionDetails--; +} + +core.int buildCounterYoutubeVideoDetails = 0; +api.YoutubeVideoDetails buildYoutubeVideoDetails() { + final o = api.YoutubeVideoDetails(); + buildCounterYoutubeVideoDetails++; + if (buildCounterYoutubeVideoDetails < 3) { + o.id = 'foo'; + o.unavailableReason = 'foo'; + } + buildCounterYoutubeVideoDetails--; + return o; +} + +void checkYoutubeVideoDetails(api.YoutubeVideoDetails o) { + buildCounterYoutubeVideoDetails++; + if (buildCounterYoutubeVideoDetails < 3) { + unittest.expect( + o.id!, + unittest.equals('foo'), + ); + unittest.expect( + o.unavailableReason!, + unittest.equals('foo'), + ); + } + buildCounterYoutubeVideoDetails--; +} + +core.List buildUnnamed166() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed166(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed167() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed167(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +void main() { + unittest.group('obj-schema-ActiveViewVideoViewabilityMetricConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildActiveViewVideoViewabilityMetricConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ActiveViewVideoViewabilityMetricConfig.fromJson( + oJson as core.Map); + checkActiveViewVideoViewabilityMetricConfig(od); + }); + }); + + unittest.group('obj-schema-AdGroup', () { + unittest.test('to-json--from-json', () async { + final o = buildAdGroup(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.AdGroup.fromJson(oJson as core.Map); + checkAdGroup(od); + }); + }); + + unittest.group('obj-schema-AdGroupAd', () { + unittest.test('to-json--from-json', () async { + final o = buildAdGroupAd(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.AdGroupAd.fromJson(oJson as core.Map); + checkAdGroupAd(od); + }); + }); + + unittest.group('obj-schema-AdGroupAssignedTargetingOption', () { + unittest.test('to-json--from-json', () async { + final o = buildAdGroupAssignedTargetingOption(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AdGroupAssignedTargetingOption.fromJson( + oJson as core.Map); + checkAdGroupAssignedTargetingOption(od); + }); + }); + + unittest.group('obj-schema-AdUrl', () { + unittest.test('to-json--from-json', () async { + final o = buildAdUrl(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.AdUrl.fromJson(oJson as core.Map); + checkAdUrl(od); + }); + }); + + unittest.group('obj-schema-Adloox', () { + unittest.test('to-json--from-json', () async { + final o = buildAdloox(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Adloox.fromJson(oJson as core.Map); + checkAdloox(od); + }); + }); + + unittest.group('obj-schema-Advertiser', () { + unittest.test('to-json--from-json', () async { + final o = buildAdvertiser(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Advertiser.fromJson(oJson as core.Map); + checkAdvertiser(od); + }); + }); + + unittest.group('obj-schema-AdvertiserAdServerConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildAdvertiserAdServerConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AdvertiserAdServerConfig.fromJson( + oJson as core.Map); + checkAdvertiserAdServerConfig(od); + }); + }); + + unittest.group('obj-schema-AdvertiserBillingConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildAdvertiserBillingConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AdvertiserBillingConfig.fromJson( + oJson as core.Map); + checkAdvertiserBillingConfig(od); + }); + }); + + unittest.group('obj-schema-AdvertiserCreativeConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildAdvertiserCreativeConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AdvertiserCreativeConfig.fromJson( + oJson as core.Map); + checkAdvertiserCreativeConfig(od); + }); + }); + + unittest.group('obj-schema-AdvertiserDataAccessConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildAdvertiserDataAccessConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AdvertiserDataAccessConfig.fromJson( + oJson as core.Map); + checkAdvertiserDataAccessConfig(od); + }); + }); + + unittest.group('obj-schema-AdvertiserGeneralConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildAdvertiserGeneralConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AdvertiserGeneralConfig.fromJson( + oJson as core.Map); + checkAdvertiserGeneralConfig(od); + }); + }); + + unittest.group('obj-schema-AdvertiserSdfConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildAdvertiserSdfConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AdvertiserSdfConfig.fromJson( + oJson as core.Map); + checkAdvertiserSdfConfig(od); + }); + }); + + unittest.group('obj-schema-AdvertiserTargetingConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildAdvertiserTargetingConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AdvertiserTargetingConfig.fromJson( + oJson as core.Map); + checkAdvertiserTargetingConfig(od); + }); + }); + + unittest.group('obj-schema-AgeRangeAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildAgeRangeAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AgeRangeAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkAgeRangeAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-AgeRangeTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildAgeRangeTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AgeRangeTargetingOptionDetails.fromJson( + oJson as core.Map); + checkAgeRangeTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-AppAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildAppAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AppAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkAppAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-AppCategoryAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildAppCategoryAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AppCategoryAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkAppCategoryAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-AppCategoryTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildAppCategoryTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AppCategoryTargetingOptionDetails.fromJson( + oJson as core.Map); + checkAppCategoryTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-Asset', () { + unittest.test('to-json--from-json', () async { + final o = buildAsset(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Asset.fromJson(oJson as core.Map); + checkAsset(od); + }); + }); + + unittest.group('obj-schema-AssetAssociation', () { + unittest.test('to-json--from-json', () async { + final o = buildAssetAssociation(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AssetAssociation.fromJson( + oJson as core.Map); + checkAssetAssociation(od); + }); + }); + + unittest.group('obj-schema-AssignedInventorySource', () { + unittest.test('to-json--from-json', () async { + final o = buildAssignedInventorySource(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AssignedInventorySource.fromJson( + oJson as core.Map); + checkAssignedInventorySource(od); + }); + }); + + unittest.group('obj-schema-AssignedLocation', () { + unittest.test('to-json--from-json', () async { + final o = buildAssignedLocation(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AssignedLocation.fromJson( + oJson as core.Map); + checkAssignedLocation(od); + }); + }); + + unittest.group('obj-schema-AssignedTargetingOption', () { + unittest.test('to-json--from-json', () async { + final o = buildAssignedTargetingOption(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AssignedTargetingOption.fromJson( + oJson as core.Map); + checkAssignedTargetingOption(od); + }); + }); + + unittest.group('obj-schema-AssignedUserRole', () { + unittest.test('to-json--from-json', () async { + final o = buildAssignedUserRole(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AssignedUserRole.fromJson( + oJson as core.Map); + checkAssignedUserRole(od); + }); + }); + + unittest.group('obj-schema-AudienceGroupAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildAudienceGroupAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AudienceGroupAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkAudienceGroupAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-AudioAd', () { + unittest.test('to-json--from-json', () async { + final o = buildAudioAd(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.AudioAd.fromJson(oJson as core.Map); + checkAudioAd(od); + }); + }); + + unittest.group('obj-schema-AudioContentTypeAssignedTargetingOptionDetails', + () { + unittest.test('to-json--from-json', () async { + final o = buildAudioContentTypeAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AudioContentTypeAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkAudioContentTypeAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-AudioContentTypeTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildAudioContentTypeTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AudioContentTypeTargetingOptionDetails.fromJson( + oJson as core.Map); + checkAudioContentTypeTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-AudioVideoOffset', () { + unittest.test('to-json--from-json', () async { + final o = buildAudioVideoOffset(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AudioVideoOffset.fromJson( + oJson as core.Map); + checkAudioVideoOffset(od); + }); + }); + + unittest.group('obj-schema-AuditAdvertiserResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildAuditAdvertiserResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AuditAdvertiserResponse.fromJson( + oJson as core.Map); + checkAuditAdvertiserResponse(od); + }); + }); + + unittest.group( + 'obj-schema-AuthorizedSellerStatusAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildAuthorizedSellerStatusAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.AuthorizedSellerStatusAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkAuthorizedSellerStatusAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-AuthorizedSellerStatusTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildAuthorizedSellerStatusTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AuthorizedSellerStatusTargetingOptionDetails.fromJson( + oJson as core.Map); + checkAuthorizedSellerStatusTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-BiddingStrategy', () { + unittest.test('to-json--from-json', () async { + final o = buildBiddingStrategy(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BiddingStrategy.fromJson( + oJson as core.Map); + checkBiddingStrategy(od); + }); + }); + + unittest.group('obj-schema-BrowserAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildBrowserAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BrowserAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkBrowserAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-BrowserTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildBrowserTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BrowserTargetingOptionDetails.fromJson( + oJson as core.Map); + checkBrowserTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-BudgetSummary', () { + unittest.test('to-json--from-json', () async { + final o = buildBudgetSummary(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BudgetSummary.fromJson( + oJson as core.Map); + checkBudgetSummary(od); + }); + }); + + unittest.group('obj-schema-BulkEditAdvertiserAssignedTargetingOptionsRequest', + () { + unittest.test('to-json--from-json', () async { + final o = buildBulkEditAdvertiserAssignedTargetingOptionsRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BulkEditAdvertiserAssignedTargetingOptionsRequest.fromJson( + oJson as core.Map); + checkBulkEditAdvertiserAssignedTargetingOptionsRequest(od); + }); + }); + + unittest.group( + 'obj-schema-BulkEditAdvertiserAssignedTargetingOptionsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildBulkEditAdvertiserAssignedTargetingOptionsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.BulkEditAdvertiserAssignedTargetingOptionsResponse.fromJson( + oJson as core.Map); + checkBulkEditAdvertiserAssignedTargetingOptionsResponse(od); + }); + }); + + unittest.group('obj-schema-BulkEditAssignedInventorySourcesRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildBulkEditAssignedInventorySourcesRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BulkEditAssignedInventorySourcesRequest.fromJson( + oJson as core.Map); + checkBulkEditAssignedInventorySourcesRequest(od); + }); + }); + + unittest.group('obj-schema-BulkEditAssignedInventorySourcesResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildBulkEditAssignedInventorySourcesResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BulkEditAssignedInventorySourcesResponse.fromJson( + oJson as core.Map); + checkBulkEditAssignedInventorySourcesResponse(od); + }); + }); + + unittest.group('obj-schema-BulkEditAssignedLocationsRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildBulkEditAssignedLocationsRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BulkEditAssignedLocationsRequest.fromJson( + oJson as core.Map); + checkBulkEditAssignedLocationsRequest(od); + }); + }); + + unittest.group('obj-schema-BulkEditAssignedLocationsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildBulkEditAssignedLocationsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BulkEditAssignedLocationsResponse.fromJson( + oJson as core.Map); + checkBulkEditAssignedLocationsResponse(od); + }); + }); + + unittest.group('obj-schema-BulkEditAssignedTargetingOptionsRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildBulkEditAssignedTargetingOptionsRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BulkEditAssignedTargetingOptionsRequest.fromJson( + oJson as core.Map); + checkBulkEditAssignedTargetingOptionsRequest(od); + }); + }); + + unittest.group('obj-schema-BulkEditAssignedTargetingOptionsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildBulkEditAssignedTargetingOptionsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BulkEditAssignedTargetingOptionsResponse.fromJson( + oJson as core.Map); + checkBulkEditAssignedTargetingOptionsResponse(od); + }); + }); + + unittest.group('obj-schema-BulkEditAssignedUserRolesRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildBulkEditAssignedUserRolesRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BulkEditAssignedUserRolesRequest.fromJson( + oJson as core.Map); + checkBulkEditAssignedUserRolesRequest(od); + }); + }); + + unittest.group('obj-schema-BulkEditAssignedUserRolesResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildBulkEditAssignedUserRolesResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BulkEditAssignedUserRolesResponse.fromJson( + oJson as core.Map); + checkBulkEditAssignedUserRolesResponse(od); + }); + }); + + unittest.group('obj-schema-BulkEditNegativeKeywordsRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildBulkEditNegativeKeywordsRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BulkEditNegativeKeywordsRequest.fromJson( + oJson as core.Map); + checkBulkEditNegativeKeywordsRequest(od); + }); + }); + + unittest.group('obj-schema-BulkEditNegativeKeywordsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildBulkEditNegativeKeywordsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BulkEditNegativeKeywordsResponse.fromJson( + oJson as core.Map); + checkBulkEditNegativeKeywordsResponse(od); + }); + }); + + unittest.group('obj-schema-BulkEditPartnerAssignedTargetingOptionsRequest', + () { + unittest.test('to-json--from-json', () async { + final o = buildBulkEditPartnerAssignedTargetingOptionsRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BulkEditPartnerAssignedTargetingOptionsRequest.fromJson( + oJson as core.Map); + checkBulkEditPartnerAssignedTargetingOptionsRequest(od); + }); + }); + + unittest.group('obj-schema-BulkEditPartnerAssignedTargetingOptionsResponse', + () { + unittest.test('to-json--from-json', () async { + final o = buildBulkEditPartnerAssignedTargetingOptionsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BulkEditPartnerAssignedTargetingOptionsResponse.fromJson( + oJson as core.Map); + checkBulkEditPartnerAssignedTargetingOptionsResponse(od); + }); + }); + + unittest.group('obj-schema-BulkEditSitesRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildBulkEditSitesRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BulkEditSitesRequest.fromJson( + oJson as core.Map); + checkBulkEditSitesRequest(od); + }); + }); + + unittest.group('obj-schema-BulkEditSitesResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildBulkEditSitesResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BulkEditSitesResponse.fromJson( + oJson as core.Map); + checkBulkEditSitesResponse(od); + }); + }); + + unittest.group('obj-schema-BulkListAdGroupAssignedTargetingOptionsResponse', + () { + unittest.test('to-json--from-json', () async { + final o = buildBulkListAdGroupAssignedTargetingOptionsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BulkListAdGroupAssignedTargetingOptionsResponse.fromJson( + oJson as core.Map); + checkBulkListAdGroupAssignedTargetingOptionsResponse(od); + }); + }); + + unittest.group( + 'obj-schema-BulkListAdvertiserAssignedTargetingOptionsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildBulkListAdvertiserAssignedTargetingOptionsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.BulkListAdvertiserAssignedTargetingOptionsResponse.fromJson( + oJson as core.Map); + checkBulkListAdvertiserAssignedTargetingOptionsResponse(od); + }); + }); + + unittest.group('obj-schema-BulkListAssignedTargetingOptionsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildBulkListAssignedTargetingOptionsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BulkListAssignedTargetingOptionsResponse.fromJson( + oJson as core.Map); + checkBulkListAssignedTargetingOptionsResponse(od); + }); + }); + + unittest.group('obj-schema-BulkUpdateLineItemsRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildBulkUpdateLineItemsRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BulkUpdateLineItemsRequest.fromJson( + oJson as core.Map); + checkBulkUpdateLineItemsRequest(od); + }); + }); + + unittest.group('obj-schema-BulkUpdateLineItemsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildBulkUpdateLineItemsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BulkUpdateLineItemsResponse.fromJson( + oJson as core.Map); + checkBulkUpdateLineItemsResponse(od); + }); + }); + + unittest.group('obj-schema-BumperAd', () { + unittest.test('to-json--from-json', () async { + final o = buildBumperAd(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.BumperAd.fromJson(oJson as core.Map); + checkBumperAd(od); + }); + }); + + unittest.group('obj-schema-BusinessChainAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildBusinessChainAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BusinessChainAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkBusinessChainAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-BusinessChainSearchTerms', () { + unittest.test('to-json--from-json', () async { + final o = buildBusinessChainSearchTerms(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BusinessChainSearchTerms.fromJson( + oJson as core.Map); + checkBusinessChainSearchTerms(od); + }); + }); + + unittest.group('obj-schema-BusinessChainTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildBusinessChainTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BusinessChainTargetingOptionDetails.fromJson( + oJson as core.Map); + checkBusinessChainTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-Campaign', () { + unittest.test('to-json--from-json', () async { + final o = buildCampaign(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Campaign.fromJson(oJson as core.Map); + checkCampaign(od); + }); + }); + + unittest.group('obj-schema-CampaignBudget', () { + unittest.test('to-json--from-json', () async { + final o = buildCampaignBudget(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CampaignBudget.fromJson( + oJson as core.Map); + checkCampaignBudget(od); + }); + }); + + unittest.group('obj-schema-CampaignFlight', () { + unittest.test('to-json--from-json', () async { + final o = buildCampaignFlight(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CampaignFlight.fromJson( + oJson as core.Map); + checkCampaignFlight(od); + }); + }); + + unittest.group('obj-schema-CampaignGoal', () { + unittest.test('to-json--from-json', () async { + final o = buildCampaignGoal(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CampaignGoal.fromJson( + oJson as core.Map); + checkCampaignGoal(od); + }); + }); + + unittest.group('obj-schema-CarrierAndIspAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildCarrierAndIspAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CarrierAndIspAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkCarrierAndIspAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-CarrierAndIspTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildCarrierAndIspTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CarrierAndIspTargetingOptionDetails.fromJson( + oJson as core.Map); + checkCarrierAndIspTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-CategoryAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildCategoryAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CategoryAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkCategoryAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-CategoryTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildCategoryTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CategoryTargetingOptionDetails.fromJson( + oJson as core.Map); + checkCategoryTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-Channel', () { + unittest.test('to-json--from-json', () async { + final o = buildChannel(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Channel.fromJson(oJson as core.Map); + checkChannel(od); + }); + }); + + unittest.group('obj-schema-ChannelAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildChannelAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ChannelAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkChannelAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-CmHybridConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildCmHybridConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CmHybridConfig.fromJson( + oJson as core.Map); + checkCmHybridConfig(od); + }); + }); + + unittest.group('obj-schema-CmTrackingAd', () { + unittest.test('to-json--from-json', () async { + final o = buildCmTrackingAd(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CmTrackingAd.fromJson( + oJson as core.Map); + checkCmTrackingAd(od); + }); + }); + + unittest.group('obj-schema-CombinedAudience', () { + unittest.test('to-json--from-json', () async { + final o = buildCombinedAudience(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CombinedAudience.fromJson( + oJson as core.Map); + checkCombinedAudience(od); + }); + }); + + unittest.group('obj-schema-CombinedAudienceGroup', () { + unittest.test('to-json--from-json', () async { + final o = buildCombinedAudienceGroup(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CombinedAudienceGroup.fromJson( + oJson as core.Map); + checkCombinedAudienceGroup(od); + }); + }); + + unittest.group('obj-schema-CombinedAudienceTargetingSetting', () { + unittest.test('to-json--from-json', () async { + final o = buildCombinedAudienceTargetingSetting(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CombinedAudienceTargetingSetting.fromJson( + oJson as core.Map); + checkCombinedAudienceTargetingSetting(od); + }); + }); + + unittest.group('obj-schema-CommonInStreamAttribute', () { + unittest.test('to-json--from-json', () async { + final o = buildCommonInStreamAttribute(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CommonInStreamAttribute.fromJson( + oJson as core.Map); + checkCommonInStreamAttribute(od); + }); + }); + + unittest.group('obj-schema-Consent', () { + unittest.test('to-json--from-json', () async { + final o = buildConsent(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Consent.fromJson(oJson as core.Map); + checkConsent(od); + }); + }); + + unittest.group('obj-schema-ContactInfo', () { + unittest.test('to-json--from-json', () async { + final o = buildContactInfo(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ContactInfo.fromJson( + oJson as core.Map); + checkContactInfo(od); + }); + }); + + unittest.group('obj-schema-ContactInfoList', () { + unittest.test('to-json--from-json', () async { + final o = buildContactInfoList(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ContactInfoList.fromJson( + oJson as core.Map); + checkContactInfoList(od); + }); + }); + + unittest.group('obj-schema-ContentDurationAssignedTargetingOptionDetails', + () { + unittest.test('to-json--from-json', () async { + final o = buildContentDurationAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ContentDurationAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkContentDurationAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-ContentDurationTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildContentDurationTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ContentDurationTargetingOptionDetails.fromJson( + oJson as core.Map); + checkContentDurationTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-ContentGenreAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildContentGenreAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ContentGenreAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkContentGenreAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-ContentGenreTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildContentGenreTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ContentGenreTargetingOptionDetails.fromJson( + oJson as core.Map); + checkContentGenreTargetingOptionDetails(od); + }); + }); + + unittest.group( + 'obj-schema-ContentInstreamPositionAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildContentInstreamPositionAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.ContentInstreamPositionAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkContentInstreamPositionAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-ContentInstreamPositionTargetingOptionDetails', + () { + unittest.test('to-json--from-json', () async { + final o = buildContentInstreamPositionTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ContentInstreamPositionTargetingOptionDetails.fromJson( + oJson as core.Map); + checkContentInstreamPositionTargetingOptionDetails(od); + }); + }); + + unittest.group( + 'obj-schema-ContentOutstreamPositionAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildContentOutstreamPositionAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.ContentOutstreamPositionAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkContentOutstreamPositionAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-ContentOutstreamPositionTargetingOptionDetails', + () { + unittest.test('to-json--from-json', () async { + final o = buildContentOutstreamPositionTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ContentOutstreamPositionTargetingOptionDetails.fromJson( + oJson as core.Map); + checkContentOutstreamPositionTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-ContentStreamTypeAssignedTargetingOptionDetails', + () { + unittest.test('to-json--from-json', () async { + final o = buildContentStreamTypeAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ContentStreamTypeAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkContentStreamTypeAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-ContentStreamTypeTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildContentStreamTypeTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ContentStreamTypeTargetingOptionDetails.fromJson( + oJson as core.Map); + checkContentStreamTypeTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-ConversionCountingConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildConversionCountingConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ConversionCountingConfig.fromJson( + oJson as core.Map); + checkConversionCountingConfig(od); + }); + }); + + unittest.group('obj-schema-CounterEvent', () { + unittest.test('to-json--from-json', () async { + final o = buildCounterEvent(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CounterEvent.fromJson( + oJson as core.Map); + checkCounterEvent(od); + }); + }); + + unittest.group('obj-schema-CreateAssetRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildCreateAssetRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CreateAssetRequest.fromJson( + oJson as core.Map); + checkCreateAssetRequest(od); + }); + }); + + unittest.group('obj-schema-CreateAssetResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildCreateAssetResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CreateAssetResponse.fromJson( + oJson as core.Map); + checkCreateAssetResponse(od); + }); + }); + + unittest.group('obj-schema-CreateAssignedTargetingOptionsRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildCreateAssignedTargetingOptionsRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CreateAssignedTargetingOptionsRequest.fromJson( + oJson as core.Map); + checkCreateAssignedTargetingOptionsRequest(od); + }); + }); + + unittest.group('obj-schema-CreateSdfDownloadTaskRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildCreateSdfDownloadTaskRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CreateSdfDownloadTaskRequest.fromJson( + oJson as core.Map); + checkCreateSdfDownloadTaskRequest(od); + }); + }); + + unittest.group('obj-schema-Creative', () { + unittest.test('to-json--from-json', () async { + final o = buildCreative(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Creative.fromJson(oJson as core.Map); + checkCreative(od); + }); + }); + + unittest.group('obj-schema-CreativeConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildCreativeConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CreativeConfig.fromJson( + oJson as core.Map); + checkCreativeConfig(od); + }); + }); + + unittest.group('obj-schema-CustomBiddingAlgorithm', () { + unittest.test('to-json--from-json', () async { + final o = buildCustomBiddingAlgorithm(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CustomBiddingAlgorithm.fromJson( + oJson as core.Map); + checkCustomBiddingAlgorithm(od); + }); + }); + + unittest.group('obj-schema-CustomBiddingAlgorithmRules', () { + unittest.test('to-json--from-json', () async { + final o = buildCustomBiddingAlgorithmRules(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CustomBiddingAlgorithmRules.fromJson( + oJson as core.Map); + checkCustomBiddingAlgorithmRules(od); + }); + }); + + unittest.group('obj-schema-CustomBiddingAlgorithmRulesError', () { + unittest.test('to-json--from-json', () async { + final o = buildCustomBiddingAlgorithmRulesError(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CustomBiddingAlgorithmRulesError.fromJson( + oJson as core.Map); + checkCustomBiddingAlgorithmRulesError(od); + }); + }); + + unittest.group('obj-schema-CustomBiddingAlgorithmRulesRef', () { + unittest.test('to-json--from-json', () async { + final o = buildCustomBiddingAlgorithmRulesRef(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CustomBiddingAlgorithmRulesRef.fromJson( + oJson as core.Map); + checkCustomBiddingAlgorithmRulesRef(od); + }); + }); + + unittest.group('obj-schema-CustomBiddingModelDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildCustomBiddingModelDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CustomBiddingModelDetails.fromJson( + oJson as core.Map); + checkCustomBiddingModelDetails(od); + }); + }); + + unittest.group('obj-schema-CustomBiddingScript', () { + unittest.test('to-json--from-json', () async { + final o = buildCustomBiddingScript(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CustomBiddingScript.fromJson( + oJson as core.Map); + checkCustomBiddingScript(od); + }); + }); + + unittest.group('obj-schema-CustomBiddingScriptRef', () { + unittest.test('to-json--from-json', () async { + final o = buildCustomBiddingScriptRef(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CustomBiddingScriptRef.fromJson( + oJson as core.Map); + checkCustomBiddingScriptRef(od); + }); + }); + + unittest.group('obj-schema-CustomLabel', () { + unittest.test('to-json--from-json', () async { + final o = buildCustomLabel(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CustomLabel.fromJson( + oJson as core.Map); + checkCustomLabel(od); + }); + }); + + unittest.group('obj-schema-CustomList', () { + unittest.test('to-json--from-json', () async { + final o = buildCustomList(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.CustomList.fromJson(oJson as core.Map); + checkCustomList(od); + }); + }); + + unittest.group('obj-schema-CustomListGroup', () { + unittest.test('to-json--from-json', () async { + final o = buildCustomListGroup(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CustomListGroup.fromJson( + oJson as core.Map); + checkCustomListGroup(od); + }); + }); + + unittest.group('obj-schema-CustomListTargetingSetting', () { + unittest.test('to-json--from-json', () async { + final o = buildCustomListTargetingSetting(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CustomListTargetingSetting.fromJson( + oJson as core.Map); + checkCustomListTargetingSetting(od); + }); + }); + + unittest.group('obj-schema-Date', () { + unittest.test('to-json--from-json', () async { + final o = buildDate(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Date.fromJson(oJson as core.Map); + checkDate(od); + }); + }); + + unittest.group('obj-schema-DateRange', () { + unittest.test('to-json--from-json', () async { + final o = buildDateRange(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.DateRange.fromJson(oJson as core.Map); + checkDateRange(od); + }); + }); + + unittest.group('obj-schema-DayAndTimeAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildDayAndTimeAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DayAndTimeAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkDayAndTimeAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-DeleteAssignedTargetingOptionsRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildDeleteAssignedTargetingOptionsRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DeleteAssignedTargetingOptionsRequest.fromJson( + oJson as core.Map); + checkDeleteAssignedTargetingOptionsRequest(od); + }); + }); + + unittest.group('obj-schema-DeviceMakeModelAssignedTargetingOptionDetails', + () { + unittest.test('to-json--from-json', () async { + final o = buildDeviceMakeModelAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DeviceMakeModelAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkDeviceMakeModelAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-DeviceMakeModelTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildDeviceMakeModelTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DeviceMakeModelTargetingOptionDetails.fromJson( + oJson as core.Map); + checkDeviceMakeModelTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-DeviceTypeAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildDeviceTypeAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DeviceTypeAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkDeviceTypeAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-DeviceTypeTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildDeviceTypeTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DeviceTypeTargetingOptionDetails.fromJson( + oJson as core.Map); + checkDeviceTypeTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-DigitalContentLabelAssignedTargetingOptionDetails', + () { + unittest.test('to-json--from-json', () async { + final o = buildDigitalContentLabelAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DigitalContentLabelAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkDigitalContentLabelAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-DigitalContentLabelTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildDigitalContentLabelTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DigitalContentLabelTargetingOptionDetails.fromJson( + oJson as core.Map); + checkDigitalContentLabelTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-Dimensions', () { + unittest.test('to-json--from-json', () async { + final o = buildDimensions(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Dimensions.fromJson(oJson as core.Map); + checkDimensions(od); + }); + }); + + unittest.group('obj-schema-DisplayVideoSourceAd', () { + unittest.test('to-json--from-json', () async { + final o = buildDisplayVideoSourceAd(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DisplayVideoSourceAd.fromJson( + oJson as core.Map); + checkDisplayVideoSourceAd(od); + }); + }); + + unittest.group('obj-schema-DoubleVerify', () { + unittest.test('to-json--from-json', () async { + final o = buildDoubleVerify(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DoubleVerify.fromJson( + oJson as core.Map); + checkDoubleVerify(od); + }); + }); + + unittest.group('obj-schema-DoubleVerifyAppStarRating', () { + unittest.test('to-json--from-json', () async { + final o = buildDoubleVerifyAppStarRating(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DoubleVerifyAppStarRating.fromJson( + oJson as core.Map); + checkDoubleVerifyAppStarRating(od); + }); + }); + + unittest.group('obj-schema-DoubleVerifyBrandSafetyCategories', () { + unittest.test('to-json--from-json', () async { + final o = buildDoubleVerifyBrandSafetyCategories(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DoubleVerifyBrandSafetyCategories.fromJson( + oJson as core.Map); + checkDoubleVerifyBrandSafetyCategories(od); + }); + }); + + unittest.group('obj-schema-DoubleVerifyDisplayViewability', () { + unittest.test('to-json--from-json', () async { + final o = buildDoubleVerifyDisplayViewability(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DoubleVerifyDisplayViewability.fromJson( + oJson as core.Map); + checkDoubleVerifyDisplayViewability(od); + }); + }); + + unittest.group('obj-schema-DoubleVerifyFraudInvalidTraffic', () { + unittest.test('to-json--from-json', () async { + final o = buildDoubleVerifyFraudInvalidTraffic(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DoubleVerifyFraudInvalidTraffic.fromJson( + oJson as core.Map); + checkDoubleVerifyFraudInvalidTraffic(od); + }); + }); + + unittest.group('obj-schema-DoubleVerifyVideoViewability', () { + unittest.test('to-json--from-json', () async { + final o = buildDoubleVerifyVideoViewability(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DoubleVerifyVideoViewability.fromJson( + oJson as core.Map); + checkDoubleVerifyVideoViewability(od); + }); + }); + + unittest.group('obj-schema-DuplicateLineItemRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildDuplicateLineItemRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DuplicateLineItemRequest.fromJson( + oJson as core.Map); + checkDuplicateLineItemRequest(od); + }); + }); + + unittest.group('obj-schema-DuplicateLineItemResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildDuplicateLineItemResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DuplicateLineItemResponse.fromJson( + oJson as core.Map); + checkDuplicateLineItemResponse(od); + }); + }); + + unittest.group('obj-schema-EditCustomerMatchMembersRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildEditCustomerMatchMembersRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.EditCustomerMatchMembersRequest.fromJson( + oJson as core.Map); + checkEditCustomerMatchMembersRequest(od); + }); + }); + + unittest.group('obj-schema-EditCustomerMatchMembersResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildEditCustomerMatchMembersResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.EditCustomerMatchMembersResponse.fromJson( + oJson as core.Map); + checkEditCustomerMatchMembersResponse(od); + }); + }); + + unittest.group('obj-schema-EditGuaranteedOrderReadAccessorsRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildEditGuaranteedOrderReadAccessorsRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.EditGuaranteedOrderReadAccessorsRequest.fromJson( + oJson as core.Map); + checkEditGuaranteedOrderReadAccessorsRequest(od); + }); + }); + + unittest.group('obj-schema-EditGuaranteedOrderReadAccessorsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildEditGuaranteedOrderReadAccessorsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.EditGuaranteedOrderReadAccessorsResponse.fromJson( + oJson as core.Map); + checkEditGuaranteedOrderReadAccessorsResponse(od); + }); + }); + + unittest.group('obj-schema-EditInventorySourceReadWriteAccessorsRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildEditInventorySourceReadWriteAccessorsRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.EditInventorySourceReadWriteAccessorsRequest.fromJson( + oJson as core.Map); + checkEditInventorySourceReadWriteAccessorsRequest(od); + }); + }); + + unittest.group( + 'obj-schema-EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate', + () { + unittest.test('to-json--from-json', () async { + final o = + buildEditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate + .fromJson(oJson as core.Map); + checkEditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate(od); + }); + }); + + unittest.group('obj-schema-Empty', () { + unittest.test('to-json--from-json', () async { + final o = buildEmpty(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Empty.fromJson(oJson as core.Map); + checkEmpty(od); + }); + }); + + unittest.group('obj-schema-EnvironmentAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildEnvironmentAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.EnvironmentAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkEnvironmentAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-EnvironmentTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildEnvironmentTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.EnvironmentTargetingOptionDetails.fromJson( + oJson as core.Map); + checkEnvironmentTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-ExchangeAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildExchangeAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ExchangeAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkExchangeAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-ExchangeConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildExchangeConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ExchangeConfig.fromJson( + oJson as core.Map); + checkExchangeConfig(od); + }); + }); + + unittest.group('obj-schema-ExchangeConfigEnabledExchange', () { + unittest.test('to-json--from-json', () async { + final o = buildExchangeConfigEnabledExchange(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ExchangeConfigEnabledExchange.fromJson( + oJson as core.Map); + checkExchangeConfigEnabledExchange(od); + }); + }); + + unittest.group('obj-schema-ExchangeReviewStatus', () { + unittest.test('to-json--from-json', () async { + final o = buildExchangeReviewStatus(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ExchangeReviewStatus.fromJson( + oJson as core.Map); + checkExchangeReviewStatus(od); + }); + }); + + unittest.group('obj-schema-ExchangeTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildExchangeTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ExchangeTargetingOptionDetails.fromJson( + oJson as core.Map); + checkExchangeTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-ExitEvent', () { + unittest.test('to-json--from-json', () async { + final o = buildExitEvent(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.ExitEvent.fromJson(oJson as core.Map); + checkExitEvent(od); + }); + }); + + unittest.group('obj-schema-FirstPartyAndPartnerAudience', () { + unittest.test('to-json--from-json', () async { + final o = buildFirstPartyAndPartnerAudience(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.FirstPartyAndPartnerAudience.fromJson( + oJson as core.Map); + checkFirstPartyAndPartnerAudience(od); + }); + }); + + unittest.group('obj-schema-FirstPartyAndPartnerAudienceGroup', () { + unittest.test('to-json--from-json', () async { + final o = buildFirstPartyAndPartnerAudienceGroup(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.FirstPartyAndPartnerAudienceGroup.fromJson( + oJson as core.Map); + checkFirstPartyAndPartnerAudienceGroup(od); + }); + }); + + unittest.group('obj-schema-FirstPartyAndPartnerAudienceTargetingSetting', () { + unittest.test('to-json--from-json', () async { + final o = buildFirstPartyAndPartnerAudienceTargetingSetting(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.FirstPartyAndPartnerAudienceTargetingSetting.fromJson( + oJson as core.Map); + checkFirstPartyAndPartnerAudienceTargetingSetting(od); + }); + }); + + unittest.group('obj-schema-FixedBidStrategy', () { + unittest.test('to-json--from-json', () async { + final o = buildFixedBidStrategy(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.FixedBidStrategy.fromJson( + oJson as core.Map); + checkFixedBidStrategy(od); + }); + }); + + unittest.group('obj-schema-FloodlightActivity', () { + unittest.test('to-json--from-json', () async { + final o = buildFloodlightActivity(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.FloodlightActivity.fromJson( + oJson as core.Map); + checkFloodlightActivity(od); + }); + }); + + unittest.group('obj-schema-FloodlightGroup', () { + unittest.test('to-json--from-json', () async { + final o = buildFloodlightGroup(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.FloodlightGroup.fromJson( + oJson as core.Map); + checkFloodlightGroup(od); + }); + }); + + unittest.group('obj-schema-FrequencyCap', () { + unittest.test('to-json--from-json', () async { + final o = buildFrequencyCap(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.FrequencyCap.fromJson( + oJson as core.Map); + checkFrequencyCap(od); + }); + }); + + unittest.group('obj-schema-GenderAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildGenderAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GenderAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkGenderAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-GenderTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildGenderTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GenderTargetingOptionDetails.fromJson( + oJson as core.Map); + checkGenderTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-GenerateDefaultLineItemRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildGenerateDefaultLineItemRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GenerateDefaultLineItemRequest.fromJson( + oJson as core.Map); + checkGenerateDefaultLineItemRequest(od); + }); + }); + + unittest.group('obj-schema-GeoRegionAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildGeoRegionAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GeoRegionAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkGeoRegionAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-GeoRegionSearchTerms', () { + unittest.test('to-json--from-json', () async { + final o = buildGeoRegionSearchTerms(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GeoRegionSearchTerms.fromJson( + oJson as core.Map); + checkGeoRegionSearchTerms(od); + }); + }); + + unittest.group('obj-schema-GeoRegionTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildGeoRegionTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GeoRegionTargetingOptionDetails.fromJson( + oJson as core.Map); + checkGeoRegionTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-GoogleAudience', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleAudience(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleAudience.fromJson( + oJson as core.Map); + checkGoogleAudience(od); + }); + }); + + unittest.group('obj-schema-GoogleAudienceGroup', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleAudienceGroup(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleAudienceGroup.fromJson( + oJson as core.Map); + checkGoogleAudienceGroup(od); + }); + }); + + unittest.group('obj-schema-GoogleAudienceTargetingSetting', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleAudienceTargetingSetting(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleAudienceTargetingSetting.fromJson( + oJson as core.Map); + checkGoogleAudienceTargetingSetting(od); + }); + }); + + unittest.group('obj-schema-GoogleBytestreamMedia', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleBytestreamMedia(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleBytestreamMedia.fromJson( + oJson as core.Map); + checkGoogleBytestreamMedia(od); + }); + }); + + unittest.group('obj-schema-GuaranteedOrder', () { + unittest.test('to-json--from-json', () async { + final o = buildGuaranteedOrder(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GuaranteedOrder.fromJson( + oJson as core.Map); + checkGuaranteedOrder(od); + }); + }); + + unittest.group('obj-schema-GuaranteedOrderStatus', () { + unittest.test('to-json--from-json', () async { + final o = buildGuaranteedOrderStatus(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GuaranteedOrderStatus.fromJson( + oJson as core.Map); + checkGuaranteedOrderStatus(od); + }); + }); + + unittest.group('obj-schema-HouseholdIncomeAssignedTargetingOptionDetails', + () { + unittest.test('to-json--from-json', () async { + final o = buildHouseholdIncomeAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.HouseholdIncomeAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkHouseholdIncomeAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-HouseholdIncomeTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildHouseholdIncomeTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.HouseholdIncomeTargetingOptionDetails.fromJson( + oJson as core.Map); + checkHouseholdIncomeTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-IdFilter', () { + unittest.test('to-json--from-json', () async { + final o = buildIdFilter(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.IdFilter.fromJson(oJson as core.Map); + checkIdFilter(od); + }); + }); + + unittest.group('obj-schema-ImageAsset', () { + unittest.test('to-json--from-json', () async { + final o = buildImageAsset(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.ImageAsset.fromJson(oJson as core.Map); + checkImageAsset(od); + }); + }); + + unittest.group('obj-schema-InStreamAd', () { + unittest.test('to-json--from-json', () async { + final o = buildInStreamAd(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.InStreamAd.fromJson(oJson as core.Map); + checkInStreamAd(od); + }); + }); + + unittest.group('obj-schema-InsertionOrder', () { + unittest.test('to-json--from-json', () async { + final o = buildInsertionOrder(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.InsertionOrder.fromJson( + oJson as core.Map); + checkInsertionOrder(od); + }); + }); + + unittest.group('obj-schema-InsertionOrderBudget', () { + unittest.test('to-json--from-json', () async { + final o = buildInsertionOrderBudget(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.InsertionOrderBudget.fromJson( + oJson as core.Map); + checkInsertionOrderBudget(od); + }); + }); + + unittest.group('obj-schema-InsertionOrderBudgetSegment', () { + unittest.test('to-json--from-json', () async { + final o = buildInsertionOrderBudgetSegment(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.InsertionOrderBudgetSegment.fromJson( + oJson as core.Map); + checkInsertionOrderBudgetSegment(od); + }); + }); + + unittest.group('obj-schema-IntegralAdScience', () { + unittest.test('to-json--from-json', () async { + final o = buildIntegralAdScience(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.IntegralAdScience.fromJson( + oJson as core.Map); + checkIntegralAdScience(od); + }); + }); + + unittest.group('obj-schema-IntegrationDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildIntegrationDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.IntegrationDetails.fromJson( + oJson as core.Map); + checkIntegrationDetails(od); + }); + }); + + unittest.group('obj-schema-InventorySource', () { + unittest.test('to-json--from-json', () async { + final o = buildInventorySource(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.InventorySource.fromJson( + oJson as core.Map); + checkInventorySource(od); + }); + }); + + unittest.group('obj-schema-InventorySourceAccessors', () { + unittest.test('to-json--from-json', () async { + final o = buildInventorySourceAccessors(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.InventorySourceAccessors.fromJson( + oJson as core.Map); + checkInventorySourceAccessors(od); + }); + }); + + unittest.group('obj-schema-InventorySourceAccessorsAdvertiserAccessors', () { + unittest.test('to-json--from-json', () async { + final o = buildInventorySourceAccessorsAdvertiserAccessors(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.InventorySourceAccessorsAdvertiserAccessors.fromJson( + oJson as core.Map); + checkInventorySourceAccessorsAdvertiserAccessors(od); + }); + }); + + unittest.group('obj-schema-InventorySourceAccessorsPartnerAccessor', () { + unittest.test('to-json--from-json', () async { + final o = buildInventorySourceAccessorsPartnerAccessor(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.InventorySourceAccessorsPartnerAccessor.fromJson( + oJson as core.Map); + checkInventorySourceAccessorsPartnerAccessor(od); + }); + }); + + unittest.group('obj-schema-InventorySourceAssignedTargetingOptionDetails', + () { + unittest.test('to-json--from-json', () async { + final o = buildInventorySourceAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.InventorySourceAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkInventorySourceAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-InventorySourceDisplayCreativeConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildInventorySourceDisplayCreativeConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.InventorySourceDisplayCreativeConfig.fromJson( + oJson as core.Map); + checkInventorySourceDisplayCreativeConfig(od); + }); + }); + + unittest.group('obj-schema-InventorySourceFilter', () { + unittest.test('to-json--from-json', () async { + final o = buildInventorySourceFilter(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.InventorySourceFilter.fromJson( + oJson as core.Map); + checkInventorySourceFilter(od); + }); + }); + + unittest.group('obj-schema-InventorySourceGroup', () { + unittest.test('to-json--from-json', () async { + final o = buildInventorySourceGroup(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.InventorySourceGroup.fromJson( + oJson as core.Map); + checkInventorySourceGroup(od); + }); + }); + + unittest.group( + 'obj-schema-InventorySourceGroupAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildInventorySourceGroupAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.InventorySourceGroupAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkInventorySourceGroupAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-InventorySourceStatus', () { + unittest.test('to-json--from-json', () async { + final o = buildInventorySourceStatus(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.InventorySourceStatus.fromJson( + oJson as core.Map); + checkInventorySourceStatus(od); + }); + }); + + unittest.group('obj-schema-InventorySourceVideoCreativeConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildInventorySourceVideoCreativeConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.InventorySourceVideoCreativeConfig.fromJson( + oJson as core.Map); + checkInventorySourceVideoCreativeConfig(od); + }); + }); + + unittest.group('obj-schema-Invoice', () { + unittest.test('to-json--from-json', () async { + final o = buildInvoice(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Invoice.fromJson(oJson as core.Map); + checkInvoice(od); + }); + }); + + unittest.group('obj-schema-KeywordAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildKeywordAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.KeywordAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkKeywordAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-Kpi', () { + unittest.test('to-json--from-json', () async { + final o = buildKpi(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.Kpi.fromJson(oJson as core.Map); + checkKpi(od); + }); + }); + + unittest.group('obj-schema-LanguageAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildLanguageAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.LanguageAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkLanguageAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-LanguageTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildLanguageTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.LanguageTargetingOptionDetails.fromJson( + oJson as core.Map); + checkLanguageTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-LineItem', () { + unittest.test('to-json--from-json', () async { + final o = buildLineItem(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.LineItem.fromJson(oJson as core.Map); + checkLineItem(od); + }); + }); + + unittest.group('obj-schema-LineItemAssignedTargetingOption', () { + unittest.test('to-json--from-json', () async { + final o = buildLineItemAssignedTargetingOption(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.LineItemAssignedTargetingOption.fromJson( + oJson as core.Map); + checkLineItemAssignedTargetingOption(od); + }); + }); + + unittest.group('obj-schema-LineItemBudget', () { + unittest.test('to-json--from-json', () async { + final o = buildLineItemBudget(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.LineItemBudget.fromJson( + oJson as core.Map); + checkLineItemBudget(od); + }); + }); + + unittest.group('obj-schema-LineItemFlight', () { + unittest.test('to-json--from-json', () async { + final o = buildLineItemFlight(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.LineItemFlight.fromJson( + oJson as core.Map); + checkLineItemFlight(od); + }); + }); + + unittest.group('obj-schema-ListAdGroupAdsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListAdGroupAdsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListAdGroupAdsResponse.fromJson( + oJson as core.Map); + checkListAdGroupAdsResponse(od); + }); + }); + + unittest.group('obj-schema-ListAdGroupAssignedTargetingOptionsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListAdGroupAssignedTargetingOptionsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListAdGroupAssignedTargetingOptionsResponse.fromJson( + oJson as core.Map); + checkListAdGroupAssignedTargetingOptionsResponse(od); + }); + }); + + unittest.group('obj-schema-ListAdGroupsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListAdGroupsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListAdGroupsResponse.fromJson( + oJson as core.Map); + checkListAdGroupsResponse(od); + }); + }); + + unittest.group('obj-schema-ListAdvertiserAssignedTargetingOptionsResponse', + () { + unittest.test('to-json--from-json', () async { + final o = buildListAdvertiserAssignedTargetingOptionsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListAdvertiserAssignedTargetingOptionsResponse.fromJson( + oJson as core.Map); + checkListAdvertiserAssignedTargetingOptionsResponse(od); + }); + }); + + unittest.group('obj-schema-ListAdvertisersResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListAdvertisersResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListAdvertisersResponse.fromJson( + oJson as core.Map); + checkListAdvertisersResponse(od); + }); + }); + + unittest.group('obj-schema-ListAssignedInventorySourcesResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListAssignedInventorySourcesResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListAssignedInventorySourcesResponse.fromJson( + oJson as core.Map); + checkListAssignedInventorySourcesResponse(od); + }); + }); + + unittest.group('obj-schema-ListAssignedLocationsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListAssignedLocationsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListAssignedLocationsResponse.fromJson( + oJson as core.Map); + checkListAssignedLocationsResponse(od); + }); + }); + + unittest.group('obj-schema-ListCampaignsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListCampaignsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListCampaignsResponse.fromJson( + oJson as core.Map); + checkListCampaignsResponse(od); + }); + }); + + unittest.group('obj-schema-ListChannelsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListChannelsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListChannelsResponse.fromJson( + oJson as core.Map); + checkListChannelsResponse(od); + }); + }); + + unittest.group('obj-schema-ListCombinedAudiencesResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListCombinedAudiencesResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListCombinedAudiencesResponse.fromJson( + oJson as core.Map); + checkListCombinedAudiencesResponse(od); + }); + }); + + unittest.group('obj-schema-ListCreativesResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListCreativesResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListCreativesResponse.fromJson( + oJson as core.Map); + checkListCreativesResponse(od); + }); + }); + + unittest.group('obj-schema-ListCustomBiddingAlgorithmRulesResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListCustomBiddingAlgorithmRulesResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListCustomBiddingAlgorithmRulesResponse.fromJson( + oJson as core.Map); + checkListCustomBiddingAlgorithmRulesResponse(od); + }); + }); + + unittest.group('obj-schema-ListCustomBiddingAlgorithmsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListCustomBiddingAlgorithmsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListCustomBiddingAlgorithmsResponse.fromJson( + oJson as core.Map); + checkListCustomBiddingAlgorithmsResponse(od); + }); + }); + + unittest.group('obj-schema-ListCustomBiddingScriptsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListCustomBiddingScriptsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListCustomBiddingScriptsResponse.fromJson( + oJson as core.Map); + checkListCustomBiddingScriptsResponse(od); + }); + }); + + unittest.group('obj-schema-ListCustomListsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListCustomListsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListCustomListsResponse.fromJson( + oJson as core.Map); + checkListCustomListsResponse(od); + }); + }); + + unittest.group('obj-schema-ListFirstPartyAndPartnerAudiencesResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListFirstPartyAndPartnerAudiencesResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListFirstPartyAndPartnerAudiencesResponse.fromJson( + oJson as core.Map); + checkListFirstPartyAndPartnerAudiencesResponse(od); + }); + }); + + unittest.group('obj-schema-ListFloodlightActivitiesResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListFloodlightActivitiesResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListFloodlightActivitiesResponse.fromJson( + oJson as core.Map); + checkListFloodlightActivitiesResponse(od); + }); + }); + + unittest.group('obj-schema-ListGoogleAudiencesResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListGoogleAudiencesResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListGoogleAudiencesResponse.fromJson( + oJson as core.Map); + checkListGoogleAudiencesResponse(od); + }); + }); + + unittest.group('obj-schema-ListGuaranteedOrdersResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListGuaranteedOrdersResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListGuaranteedOrdersResponse.fromJson( + oJson as core.Map); + checkListGuaranteedOrdersResponse(od); + }); + }); + + unittest.group('obj-schema-ListInsertionOrdersResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListInsertionOrdersResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListInsertionOrdersResponse.fromJson( + oJson as core.Map); + checkListInsertionOrdersResponse(od); + }); + }); + + unittest.group('obj-schema-ListInventorySourceGroupsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListInventorySourceGroupsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListInventorySourceGroupsResponse.fromJson( + oJson as core.Map); + checkListInventorySourceGroupsResponse(od); + }); + }); + + unittest.group('obj-schema-ListInventorySourcesResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListInventorySourcesResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListInventorySourcesResponse.fromJson( + oJson as core.Map); + checkListInventorySourcesResponse(od); + }); + }); + + unittest.group('obj-schema-ListInvoicesResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListInvoicesResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListInvoicesResponse.fromJson( + oJson as core.Map); + checkListInvoicesResponse(od); + }); + }); + + unittest.group('obj-schema-ListLineItemAssignedTargetingOptionsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListLineItemAssignedTargetingOptionsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListLineItemAssignedTargetingOptionsResponse.fromJson( + oJson as core.Map); + checkListLineItemAssignedTargetingOptionsResponse(od); + }); + }); + + unittest.group('obj-schema-ListLineItemsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListLineItemsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListLineItemsResponse.fromJson( + oJson as core.Map); + checkListLineItemsResponse(od); + }); + }); + + unittest.group('obj-schema-ListLocationListsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListLocationListsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListLocationListsResponse.fromJson( + oJson as core.Map); + checkListLocationListsResponse(od); + }); + }); + + unittest.group('obj-schema-ListNegativeKeywordListsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListNegativeKeywordListsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListNegativeKeywordListsResponse.fromJson( + oJson as core.Map); + checkListNegativeKeywordListsResponse(od); + }); + }); + + unittest.group('obj-schema-ListNegativeKeywordsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListNegativeKeywordsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListNegativeKeywordsResponse.fromJson( + oJson as core.Map); + checkListNegativeKeywordsResponse(od); + }); + }); + + unittest.group('obj-schema-ListPartnerAssignedTargetingOptionsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListPartnerAssignedTargetingOptionsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListPartnerAssignedTargetingOptionsResponse.fromJson( + oJson as core.Map); + checkListPartnerAssignedTargetingOptionsResponse(od); + }); + }); + + unittest.group('obj-schema-ListPartnersResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListPartnersResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListPartnersResponse.fromJson( + oJson as core.Map); + checkListPartnersResponse(od); + }); + }); + + unittest.group('obj-schema-ListSitesResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListSitesResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListSitesResponse.fromJson( + oJson as core.Map); + checkListSitesResponse(od); + }); + }); + + unittest.group('obj-schema-ListTargetingOptionsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListTargetingOptionsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListTargetingOptionsResponse.fromJson( + oJson as core.Map); + checkListTargetingOptionsResponse(od); + }); + }); + + unittest.group('obj-schema-ListUsersResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListUsersResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListUsersResponse.fromJson( + oJson as core.Map); + checkListUsersResponse(od); + }); + }); + + unittest.group('obj-schema-LocationList', () { + unittest.test('to-json--from-json', () async { + final o = buildLocationList(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.LocationList.fromJson( + oJson as core.Map); + checkLocationList(od); + }); + }); + + unittest.group('obj-schema-LookbackWindow', () { + unittest.test('to-json--from-json', () async { + final o = buildLookbackWindow(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.LookbackWindow.fromJson( + oJson as core.Map); + checkLookbackWindow(od); + }); + }); + + unittest.group('obj-schema-LookupInvoiceCurrencyResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildLookupInvoiceCurrencyResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.LookupInvoiceCurrencyResponse.fromJson( + oJson as core.Map); + checkLookupInvoiceCurrencyResponse(od); + }); + }); + + unittest.group('obj-schema-MastheadAd', () { + unittest.test('to-json--from-json', () async { + final o = buildMastheadAd(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.MastheadAd.fromJson(oJson as core.Map); + checkMastheadAd(od); + }); + }); + + unittest.group('obj-schema-MaximizeSpendBidStrategy', () { + unittest.test('to-json--from-json', () async { + final o = buildMaximizeSpendBidStrategy(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.MaximizeSpendBidStrategy.fromJson( + oJson as core.Map); + checkMaximizeSpendBidStrategy(od); + }); + }); + + unittest.group('obj-schema-MeasurementConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildMeasurementConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.MeasurementConfig.fromJson( + oJson as core.Map); + checkMeasurementConfig(od); + }); + }); + + unittest.group('obj-schema-MobileApp', () { + unittest.test('to-json--from-json', () async { + final o = buildMobileApp(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.MobileApp.fromJson(oJson as core.Map); + checkMobileApp(od); + }); + }); + + unittest.group('obj-schema-MobileDeviceIdList', () { + unittest.test('to-json--from-json', () async { + final o = buildMobileDeviceIdList(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.MobileDeviceIdList.fromJson( + oJson as core.Map); + checkMobileDeviceIdList(od); + }); + }); + + unittest.group('obj-schema-Money', () { + unittest.test('to-json--from-json', () async { + final o = buildMoney(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Money.fromJson(oJson as core.Map); + checkMoney(od); + }); + }); + + unittest.group( + 'obj-schema-NativeContentPositionAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildNativeContentPositionAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.NativeContentPositionAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkNativeContentPositionAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-NativeContentPositionTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildNativeContentPositionTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.NativeContentPositionTargetingOptionDetails.fromJson( + oJson as core.Map); + checkNativeContentPositionTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-NegativeKeyword', () { + unittest.test('to-json--from-json', () async { + final o = buildNegativeKeyword(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.NegativeKeyword.fromJson( + oJson as core.Map); + checkNegativeKeyword(od); + }); + }); + + unittest.group('obj-schema-NegativeKeywordList', () { + unittest.test('to-json--from-json', () async { + final o = buildNegativeKeywordList(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.NegativeKeywordList.fromJson( + oJson as core.Map); + checkNegativeKeywordList(od); + }); + }); + + unittest.group('obj-schema-NegativeKeywordListAssignedTargetingOptionDetails', + () { + unittest.test('to-json--from-json', () async { + final o = buildNegativeKeywordListAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.NegativeKeywordListAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkNegativeKeywordListAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-NonSkippableAd', () { + unittest.test('to-json--from-json', () async { + final o = buildNonSkippableAd(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.NonSkippableAd.fromJson( + oJson as core.Map); + checkNonSkippableAd(od); + }); + }); + + unittest.group('obj-schema-ObaIcon', () { + unittest.test('to-json--from-json', () async { + final o = buildObaIcon(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.ObaIcon.fromJson(oJson as core.Map); + checkObaIcon(od); + }); + }); + + unittest.group('obj-schema-OmidAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildOmidAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.OmidAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkOmidAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-OmidTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildOmidTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.OmidTargetingOptionDetails.fromJson( + oJson as core.Map); + checkOmidTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-OnScreenPositionAssignedTargetingOptionDetails', + () { + unittest.test('to-json--from-json', () async { + final o = buildOnScreenPositionAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.OnScreenPositionAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkOnScreenPositionAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-OnScreenPositionTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildOnScreenPositionTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.OnScreenPositionTargetingOptionDetails.fromJson( + oJson as core.Map); + checkOnScreenPositionTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-OperatingSystemAssignedTargetingOptionDetails', + () { + unittest.test('to-json--from-json', () async { + final o = buildOperatingSystemAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.OperatingSystemAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkOperatingSystemAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-OperatingSystemTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildOperatingSystemTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.OperatingSystemTargetingOptionDetails.fromJson( + oJson as core.Map); + checkOperatingSystemTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-Operation', () { + unittest.test('to-json--from-json', () async { + final o = buildOperation(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Operation.fromJson(oJson as core.Map); + checkOperation(od); + }); + }); + + unittest.group('obj-schema-Pacing', () { + unittest.test('to-json--from-json', () async { + final o = buildPacing(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Pacing.fromJson(oJson as core.Map); + checkPacing(od); + }); + }); + + unittest.group('obj-schema-ParentEntityFilter', () { + unittest.test('to-json--from-json', () async { + final o = buildParentEntityFilter(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ParentEntityFilter.fromJson( + oJson as core.Map); + checkParentEntityFilter(od); + }); + }); + + unittest.group('obj-schema-ParentalStatusAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildParentalStatusAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ParentalStatusAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkParentalStatusAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-ParentalStatusTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildParentalStatusTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ParentalStatusTargetingOptionDetails.fromJson( + oJson as core.Map); + checkParentalStatusTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-Partner', () { + unittest.test('to-json--from-json', () async { + final o = buildPartner(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Partner.fromJson(oJson as core.Map); + checkPartner(od); + }); + }); + + unittest.group('obj-schema-PartnerAdServerConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildPartnerAdServerConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.PartnerAdServerConfig.fromJson( + oJson as core.Map); + checkPartnerAdServerConfig(od); + }); + }); + + unittest.group('obj-schema-PartnerBillingConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildPartnerBillingConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.PartnerBillingConfig.fromJson( + oJson as core.Map); + checkPartnerBillingConfig(od); + }); + }); + + unittest.group('obj-schema-PartnerCost', () { + unittest.test('to-json--from-json', () async { + final o = buildPartnerCost(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.PartnerCost.fromJson( + oJson as core.Map); + checkPartnerCost(od); + }); + }); + + unittest.group('obj-schema-PartnerDataAccessConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildPartnerDataAccessConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.PartnerDataAccessConfig.fromJson( + oJson as core.Map); + checkPartnerDataAccessConfig(od); + }); + }); + + unittest.group('obj-schema-PartnerGeneralConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildPartnerGeneralConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.PartnerGeneralConfig.fromJson( + oJson as core.Map); + checkPartnerGeneralConfig(od); + }); + }); + + unittest.group('obj-schema-PartnerRevenueModel', () { + unittest.test('to-json--from-json', () async { + final o = buildPartnerRevenueModel(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.PartnerRevenueModel.fromJson( + oJson as core.Map); + checkPartnerRevenueModel(od); + }); + }); + + unittest.group('obj-schema-PerformanceGoal', () { + unittest.test('to-json--from-json', () async { + final o = buildPerformanceGoal(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.PerformanceGoal.fromJson( + oJson as core.Map); + checkPerformanceGoal(od); + }); + }); + + unittest.group('obj-schema-PerformanceGoalBidStrategy', () { + unittest.test('to-json--from-json', () async { + final o = buildPerformanceGoalBidStrategy(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.PerformanceGoalBidStrategy.fromJson( + oJson as core.Map); + checkPerformanceGoalBidStrategy(od); + }); + }); + + unittest.group('obj-schema-PoiAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildPoiAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.PoiAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkPoiAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-PoiSearchTerms', () { + unittest.test('to-json--from-json', () async { + final o = buildPoiSearchTerms(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.PoiSearchTerms.fromJson( + oJson as core.Map); + checkPoiSearchTerms(od); + }); + }); + + unittest.group('obj-schema-PoiTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildPoiTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.PoiTargetingOptionDetails.fromJson( + oJson as core.Map); + checkPoiTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-PrismaConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildPrismaConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.PrismaConfig.fromJson( + oJson as core.Map); + checkPrismaConfig(od); + }); + }); + + unittest.group('obj-schema-PrismaCpeCode', () { + unittest.test('to-json--from-json', () async { + final o = buildPrismaCpeCode(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.PrismaCpeCode.fromJson( + oJson as core.Map); + checkPrismaCpeCode(od); + }); + }); + + unittest.group('obj-schema-ProductFeedData', () { + unittest.test('to-json--from-json', () async { + final o = buildProductFeedData(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ProductFeedData.fromJson( + oJson as core.Map); + checkProductFeedData(od); + }); + }); + + unittest.group('obj-schema-ProductMatchDimension', () { + unittest.test('to-json--from-json', () async { + final o = buildProductMatchDimension(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ProductMatchDimension.fromJson( + oJson as core.Map); + checkProductMatchDimension(od); + }); + }); + + unittest.group( + 'obj-schema-ProximityLocationListAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildProximityLocationListAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.ProximityLocationListAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkProximityLocationListAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-RateDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildRateDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.RateDetails.fromJson( + oJson as core.Map); + checkRateDetails(od); + }); + }); + + unittest.group( + 'obj-schema-RegionalLocationListAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildRegionalLocationListAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.RegionalLocationListAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkRegionalLocationListAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-RemarketingConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildRemarketingConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.RemarketingConfig.fromJson( + oJson as core.Map); + checkRemarketingConfig(od); + }); + }); + + unittest.group('obj-schema-ReplaceNegativeKeywordsRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildReplaceNegativeKeywordsRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ReplaceNegativeKeywordsRequest.fromJson( + oJson as core.Map); + checkReplaceNegativeKeywordsRequest(od); + }); + }); + + unittest.group('obj-schema-ReplaceNegativeKeywordsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildReplaceNegativeKeywordsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ReplaceNegativeKeywordsResponse.fromJson( + oJson as core.Map); + checkReplaceNegativeKeywordsResponse(od); + }); + }); + + unittest.group('obj-schema-ReplaceSitesRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildReplaceSitesRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ReplaceSitesRequest.fromJson( + oJson as core.Map); + checkReplaceSitesRequest(od); + }); + }); + + unittest.group('obj-schema-ReplaceSitesResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildReplaceSitesResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ReplaceSitesResponse.fromJson( + oJson as core.Map); + checkReplaceSitesResponse(od); + }); + }); + + unittest.group('obj-schema-ReviewStatusInfo', () { + unittest.test('to-json--from-json', () async { + final o = buildReviewStatusInfo(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ReviewStatusInfo.fromJson( + oJson as core.Map); + checkReviewStatusInfo(od); + }); + }); + + unittest.group('obj-schema-ScriptError', () { + unittest.test('to-json--from-json', () async { + final o = buildScriptError(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ScriptError.fromJson( + oJson as core.Map); + checkScriptError(od); + }); + }); + + unittest.group('obj-schema-SdfConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildSdfConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.SdfConfig.fromJson(oJson as core.Map); + checkSdfConfig(od); + }); + }); + + unittest.group('obj-schema-SearchTargetingOptionsRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildSearchTargetingOptionsRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SearchTargetingOptionsRequest.fromJson( + oJson as core.Map); + checkSearchTargetingOptionsRequest(od); + }); + }); + + unittest.group('obj-schema-SearchTargetingOptionsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildSearchTargetingOptionsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SearchTargetingOptionsResponse.fromJson( + oJson as core.Map); + checkSearchTargetingOptionsResponse(od); + }); + }); + + unittest.group('obj-schema-SensitiveCategoryAssignedTargetingOptionDetails', + () { + unittest.test('to-json--from-json', () async { + final o = buildSensitiveCategoryAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SensitiveCategoryAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkSensitiveCategoryAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-SensitiveCategoryTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildSensitiveCategoryTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SensitiveCategoryTargetingOptionDetails.fromJson( + oJson as core.Map); + checkSensitiveCategoryTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-SessionPositionAssignedTargetingOptionDetails', + () { + unittest.test('to-json--from-json', () async { + final o = buildSessionPositionAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SessionPositionAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkSessionPositionAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-Site', () { + unittest.test('to-json--from-json', () async { + final o = buildSite(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Site.fromJson(oJson as core.Map); + checkSite(od); + }); + }); + + unittest.group('obj-schema-Status', () { + unittest.test('to-json--from-json', () async { + final o = buildStatus(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Status.fromJson(oJson as core.Map); + checkStatus(od); + }); + }); + + unittest.group('obj-schema-SubExchangeAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildSubExchangeAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SubExchangeAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkSubExchangeAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-SubExchangeTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildSubExchangeTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SubExchangeTargetingOptionDetails.fromJson( + oJson as core.Map); + checkSubExchangeTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-TargetFrequency', () { + unittest.test('to-json--from-json', () async { + final o = buildTargetFrequency(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.TargetFrequency.fromJson( + oJson as core.Map); + checkTargetFrequency(od); + }); + }); + + unittest.group('obj-schema-TargetingExpansionConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildTargetingExpansionConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.TargetingExpansionConfig.fromJson( + oJson as core.Map); + checkTargetingExpansionConfig(od); + }); + }); + + unittest.group('obj-schema-TargetingOption', () { + unittest.test('to-json--from-json', () async { + final o = buildTargetingOption(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.TargetingOption.fromJson( + oJson as core.Map); + checkTargetingOption(od); + }); + }); + + unittest.group('obj-schema-ThirdPartyMeasurementConfigs', () { + unittest.test('to-json--from-json', () async { + final o = buildThirdPartyMeasurementConfigs(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ThirdPartyMeasurementConfigs.fromJson( + oJson as core.Map); + checkThirdPartyMeasurementConfigs(od); + }); + }); + + unittest.group('obj-schema-ThirdPartyOnlyConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildThirdPartyOnlyConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ThirdPartyOnlyConfig.fromJson( + oJson as core.Map); + checkThirdPartyOnlyConfig(od); + }); + }); + + unittest.group('obj-schema-ThirdPartyUrl', () { + unittest.test('to-json--from-json', () async { + final o = buildThirdPartyUrl(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ThirdPartyUrl.fromJson( + oJson as core.Map); + checkThirdPartyUrl(od); + }); + }); + + unittest.group('obj-schema-ThirdPartyVendorConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildThirdPartyVendorConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ThirdPartyVendorConfig.fromJson( + oJson as core.Map); + checkThirdPartyVendorConfig(od); + }); + }); + + unittest.group('obj-schema-ThirdPartyVerifierAssignedTargetingOptionDetails', + () { + unittest.test('to-json--from-json', () async { + final o = buildThirdPartyVerifierAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ThirdPartyVerifierAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkThirdPartyVerifierAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-TimeRange', () { + unittest.test('to-json--from-json', () async { + final o = buildTimeRange(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.TimeRange.fromJson(oJson as core.Map); + checkTimeRange(od); + }); + }); + + unittest.group('obj-schema-TimerEvent', () { + unittest.test('to-json--from-json', () async { + final o = buildTimerEvent(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.TimerEvent.fromJson(oJson as core.Map); + checkTimerEvent(od); + }); + }); + + unittest.group('obj-schema-TrackingFloodlightActivityConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildTrackingFloodlightActivityConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.TrackingFloodlightActivityConfig.fromJson( + oJson as core.Map); + checkTrackingFloodlightActivityConfig(od); + }); + }); + + unittest.group('obj-schema-Transcode', () { + unittest.test('to-json--from-json', () async { + final o = buildTranscode(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Transcode.fromJson(oJson as core.Map); + checkTranscode(od); + }); + }); + + unittest.group('obj-schema-UniversalAdId', () { + unittest.test('to-json--from-json', () async { + final o = buildUniversalAdId(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.UniversalAdId.fromJson( + oJson as core.Map); + checkUniversalAdId(od); + }); + }); + + unittest.group('obj-schema-UrlAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildUrlAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.UrlAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkUrlAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-User', () { + unittest.test('to-json--from-json', () async { + final o = buildUser(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.User.fromJson(oJson as core.Map); + checkUser(od); + }); + }); + + unittest.group('obj-schema-UserRewardedContentAssignedTargetingOptionDetails', + () { + unittest.test('to-json--from-json', () async { + final o = buildUserRewardedContentAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.UserRewardedContentAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkUserRewardedContentAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-UserRewardedContentTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildUserRewardedContentTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.UserRewardedContentTargetingOptionDetails.fromJson( + oJson as core.Map); + checkUserRewardedContentTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-VideoAdSequenceSettings', () { + unittest.test('to-json--from-json', () async { + final o = buildVideoAdSequenceSettings(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.VideoAdSequenceSettings.fromJson( + oJson as core.Map); + checkVideoAdSequenceSettings(od); + }); + }); + + unittest.group('obj-schema-VideoAdSequenceStep', () { + unittest.test('to-json--from-json', () async { + final o = buildVideoAdSequenceStep(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.VideoAdSequenceStep.fromJson( + oJson as core.Map); + checkVideoAdSequenceStep(od); + }); + }); + + unittest.group('obj-schema-VideoDiscoveryAd', () { + unittest.test('to-json--from-json', () async { + final o = buildVideoDiscoveryAd(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.VideoDiscoveryAd.fromJson( + oJson as core.Map); + checkVideoDiscoveryAd(od); + }); + }); + + unittest.group('obj-schema-VideoPerformanceAd', () { + unittest.test('to-json--from-json', () async { + final o = buildVideoPerformanceAd(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.VideoPerformanceAd.fromJson( + oJson as core.Map); + checkVideoPerformanceAd(od); + }); + }); + + unittest.group('obj-schema-VideoPlayerSizeAssignedTargetingOptionDetails', + () { + unittest.test('to-json--from-json', () async { + final o = buildVideoPlayerSizeAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.VideoPlayerSizeAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkVideoPlayerSizeAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-VideoPlayerSizeTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildVideoPlayerSizeTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.VideoPlayerSizeTargetingOptionDetails.fromJson( + oJson as core.Map); + checkVideoPlayerSizeTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-ViewabilityAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildViewabilityAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ViewabilityAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkViewabilityAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-ViewabilityTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildViewabilityTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ViewabilityTargetingOptionDetails.fromJson( + oJson as core.Map); + checkViewabilityTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-YoutubeAndPartnersBiddingStrategy', () { + unittest.test('to-json--from-json', () async { + final o = buildYoutubeAndPartnersBiddingStrategy(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.YoutubeAndPartnersBiddingStrategy.fromJson( + oJson as core.Map); + checkYoutubeAndPartnersBiddingStrategy(od); + }); + }); + + unittest.group('obj-schema-YoutubeAndPartnersInventorySourceConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildYoutubeAndPartnersInventorySourceConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.YoutubeAndPartnersInventorySourceConfig.fromJson( + oJson as core.Map); + checkYoutubeAndPartnersInventorySourceConfig(od); + }); + }); + + unittest.group('obj-schema-YoutubeAndPartnersSettings', () { + unittest.test('to-json--from-json', () async { + final o = buildYoutubeAndPartnersSettings(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.YoutubeAndPartnersSettings.fromJson( + oJson as core.Map); + checkYoutubeAndPartnersSettings(od); + }); + }); + + unittest.group('obj-schema-YoutubeChannelAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildYoutubeChannelAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.YoutubeChannelAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkYoutubeChannelAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-YoutubeVideoAssignedTargetingOptionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildYoutubeVideoAssignedTargetingOptionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.YoutubeVideoAssignedTargetingOptionDetails.fromJson( + oJson as core.Map); + checkYoutubeVideoAssignedTargetingOptionDetails(od); + }); + }); + + unittest.group('obj-schema-YoutubeVideoDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildYoutubeVideoDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.YoutubeVideoDetails.fromJson( + oJson as core.Map); + checkYoutubeVideoDetails(od); + }); + }); + + unittest.group('resource-AdvertisersResource', () { + unittest.test('method--audit', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers; + final arg_advertiserId = 'foo'; + final arg_readMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['readMask']!.first, + unittest.equals(arg_readMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildAuditAdvertiserResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.audit(arg_advertiserId, + readMask: arg_readMask, $fields: arg_$fields); + checkAuditAdvertiserResponse(response as api.AuditAdvertiserResponse); + }); + + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers; + final arg_request = buildAdvertiser(); + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.Advertiser.fromJson( + json as core.Map); + checkAdvertiser(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 14), + unittest.equals('v4/advertisers'), + ); + pathOffset += 14; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildAdvertiser()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create(arg_request, $fields: arg_$fields); + checkAdvertiser(response as api.Advertiser); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers; + final arg_advertiserId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildEmpty()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete(arg_advertiserId, $fields: arg_$fields); + checkEmpty(response as api.Empty); + }); + + unittest.test('method--editAssignedTargetingOptions', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers; + final arg_request = + buildBulkEditAdvertiserAssignedTargetingOptionsRequest(); + final arg_advertiserId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.BulkEditAdvertiserAssignedTargetingOptionsRequest.fromJson( + json as core.Map); + checkBulkEditAdvertiserAssignedTargetingOptionsRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json + .encode(buildBulkEditAdvertiserAssignedTargetingOptionsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.editAssignedTargetingOptions( + arg_request, arg_advertiserId, + $fields: arg_$fields); + checkBulkEditAdvertiserAssignedTargetingOptionsResponse( + response as api.BulkEditAdvertiserAssignedTargetingOptionsResponse); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers; + final arg_advertiserId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildAdvertiser()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_advertiserId, $fields: arg_$fields); + checkAdvertiser(response as api.Advertiser); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 14), + unittest.equals('v4/advertisers'), + ); + pathOffset += 14; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListAdvertisersResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list( + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkListAdvertisersResponse(response as api.ListAdvertisersResponse); + }); + + unittest.test('method--listAssignedTargetingOptions', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers; + final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json + .encode(buildBulkListAdvertiserAssignedTargetingOptionsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.listAssignedTargetingOptions(arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkBulkListAdvertiserAssignedTargetingOptionsResponse( + response as api.BulkListAdvertiserAssignedTargetingOptionsResponse); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers; + final arg_request = buildAdvertiser(); + final arg_advertiserId = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.Advertiser.fromJson( + json as core.Map); + checkAdvertiser(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildAdvertiser()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch(arg_request, arg_advertiserId, + updateMask: arg_updateMask, $fields: arg_$fields); + checkAdvertiser(response as api.Advertiser); + }); + }); + + unittest.group('resource-AdvertisersAdGroupAdsResource', () { + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.adGroupAds; + final arg_advertiserId = 'foo'; + final arg_adGroupAdId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildAdGroupAd()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_advertiserId, arg_adGroupAdId, + $fields: arg_$fields); + checkAdGroupAd(response as api.AdGroupAd); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.adGroupAds; + final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListAdGroupAdsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListAdGroupAdsResponse(response as api.ListAdGroupAdsResponse); + }); + }); + + unittest.group('resource-AdvertisersAdGroupsResource', () { + unittest.test('method--bulkListAssignedTargetingOptions', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.adGroups; + final arg_advertiserId = 'foo'; + final arg_adGroupIds = buildUnnamed166(); + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['adGroupIds']!, + unittest.equals(arg_adGroupIds), + ); + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json + .encode(buildBulkListAdGroupAssignedTargetingOptionsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.bulkListAssignedTargetingOptions( + arg_advertiserId, + adGroupIds: arg_adGroupIds, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkBulkListAdGroupAssignedTargetingOptionsResponse( + response as api.BulkListAdGroupAssignedTargetingOptionsResponse); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.adGroups; + final arg_advertiserId = 'foo'; + final arg_adGroupId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildAdGroup()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.get(arg_advertiserId, arg_adGroupId, $fields: arg_$fields); + checkAdGroup(response as api.AdGroup); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.adGroups; + final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListAdGroupsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListAdGroupsResponse(response as api.ListAdGroupsResponse); + }); + }); + + unittest.group( + 'resource-AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsResource', + () { + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock) + .advertisers + .adGroups + .targetingTypes + .assignedTargetingOptions; + final arg_advertiserId = 'foo'; + final arg_adGroupId = 'foo'; + final arg_targetingType = 'foo'; + final arg_assignedTargetingOptionId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildAssignedTargetingOption()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_advertiserId, arg_adGroupId, + arg_targetingType, arg_assignedTargetingOptionId, + $fields: arg_$fields); + checkAssignedTargetingOption(response as api.AssignedTargetingOption); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock) + .advertisers + .adGroups + .targetingTypes + .assignedTargetingOptions; + final arg_advertiserId = 'foo'; + final arg_adGroupId = 'foo'; + final arg_targetingType = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json + .encode(buildListAdGroupAssignedTargetingOptionsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list( + arg_advertiserId, arg_adGroupId, arg_targetingType, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListAdGroupAssignedTargetingOptionsResponse( + response as api.ListAdGroupAssignedTargetingOptionsResponse); + }); + }); + + unittest.group('resource-AdvertisersAssetsResource', () { + unittest.test('method--upload', () async { + // TODO: Implement tests for media upload; + // TODO: Implement tests for media download; + + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.assets; + final arg_request = buildCreateAssetRequest(); + final arg_advertiserId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.CreateAssetRequest.fromJson( + json as core.Map); + checkCreateAssetRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildCreateAssetResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.upload(arg_request, arg_advertiserId, $fields: arg_$fields); + checkCreateAssetResponse(response as api.CreateAssetResponse); + }); + }); + + unittest.group('resource-AdvertisersCampaignsResource', () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.campaigns; + final arg_request = buildCampaign(); + final arg_advertiserId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.Campaign.fromJson(json as core.Map); + checkCampaign(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildCampaign()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.create(arg_request, arg_advertiserId, $fields: arg_$fields); + checkCampaign(response as api.Campaign); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.campaigns; + final arg_advertiserId = 'foo'; + final arg_campaignId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildEmpty()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete(arg_advertiserId, arg_campaignId, + $fields: arg_$fields); + checkEmpty(response as api.Empty); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.campaigns; + final arg_advertiserId = 'foo'; + final arg_campaignId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildCampaign()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.get(arg_advertiserId, arg_campaignId, $fields: arg_$fields); + checkCampaign(response as api.Campaign); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.campaigns; + final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListCampaignsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListCampaignsResponse(response as api.ListCampaignsResponse); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.campaigns; + final arg_request = buildCampaign(); + final arg_advertiserId = 'foo'; + final arg_campaignId = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.Campaign.fromJson(json as core.Map); + checkCampaign(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildCampaign()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch( + arg_request, arg_advertiserId, arg_campaignId, + updateMask: arg_updateMask, $fields: arg_$fields); + checkCampaign(response as api.Campaign); + }); + }); + + unittest.group('resource-AdvertisersChannelsResource', () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.channels; + final arg_request = buildChannel(); + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.Channel.fromJson(json as core.Map); + checkChannel(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildChannel()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create(arg_request, arg_advertiserId, + partnerId: arg_partnerId, $fields: arg_$fields); + checkChannel(response as api.Channel); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.channels; + final arg_advertiserId = 'foo'; + final arg_channelId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildChannel()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_advertiserId, arg_channelId, + partnerId: arg_partnerId, $fields: arg_$fields); + checkChannel(response as api.Channel); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.channels; + final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListChannelsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkListChannelsResponse(response as api.ListChannelsResponse); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.channels; + final arg_request = buildChannel(); + final arg_advertiserId = 'foo'; + final arg_channelId = 'foo'; + final arg_partnerId = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.Channel.fromJson(json as core.Map); + checkChannel(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildChannel()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch( + arg_request, arg_advertiserId, arg_channelId, + partnerId: arg_partnerId, + updateMask: arg_updateMask, + $fields: arg_$fields); + checkChannel(response as api.Channel); + }); + }); + + unittest.group('resource-AdvertisersChannelsSitesResource', () { + unittest.test('method--bulkEdit', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.channels.sites; + final arg_request = buildBulkEditSitesRequest(); + final arg_advertiserId = 'foo'; + final arg_channelId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.BulkEditSitesRequest.fromJson( + json as core.Map); + checkBulkEditSitesRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + index = path.indexOf('/channels/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_advertiserId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/channels/'), + ); + pathOffset += 10; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildBulkEditSitesResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.bulkEdit( + arg_request, arg_advertiserId, arg_channelId, + $fields: arg_$fields); + checkBulkEditSitesResponse(response as api.BulkEditSitesResponse); + }); + + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.channels.sites; + final arg_request = buildSite(); + final arg_advertiserId = 'foo'; + final arg_channelId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.Site.fromJson(json as core.Map); + checkSite(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + index = path.indexOf('/channels/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_advertiserId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/channels/'), + ); + pathOffset += 10; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildSite()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create( + arg_request, arg_advertiserId, arg_channelId, + partnerId: arg_partnerId, $fields: arg_$fields); + checkSite(response as api.Site); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.channels.sites; + final arg_advertiserId = 'foo'; + final arg_channelId = 'foo'; + final arg_urlOrAppId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + index = path.indexOf('/channels/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_advertiserId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/channels/'), + ); + pathOffset += 10; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildEmpty()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete( + arg_advertiserId, arg_channelId, arg_urlOrAppId, + partnerId: arg_partnerId, $fields: arg_$fields); + checkEmpty(response as api.Empty); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.channels.sites; + final arg_advertiserId = 'foo'; + final arg_channelId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListSitesResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_advertiserId, arg_channelId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkListSitesResponse(response as api.ListSitesResponse); + }); + + unittest.test('method--replace', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.channels.sites; + final arg_request = buildReplaceSitesRequest(); + final arg_advertiserId = 'foo'; + final arg_channelId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.ReplaceSitesRequest.fromJson( + json as core.Map); + checkReplaceSitesRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + index = path.indexOf('/channels/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_advertiserId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/channels/'), + ); + pathOffset += 10; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildReplaceSitesResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.replace( + arg_request, arg_advertiserId, arg_channelId, + $fields: arg_$fields); + checkReplaceSitesResponse(response as api.ReplaceSitesResponse); + }); + }); + + unittest.group('resource-AdvertisersCreativesResource', () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.creatives; + final arg_request = buildCreative(); + final arg_advertiserId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.Creative.fromJson(json as core.Map); + checkCreative(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildCreative()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.create(arg_request, arg_advertiserId, $fields: arg_$fields); + checkCreative(response as api.Creative); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.creatives; + final arg_advertiserId = 'foo'; + final arg_creativeId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildEmpty()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete(arg_advertiserId, arg_creativeId, + $fields: arg_$fields); + checkEmpty(response as api.Empty); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.creatives; + final arg_advertiserId = 'foo'; + final arg_creativeId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildCreative()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.get(arg_advertiserId, arg_creativeId, $fields: arg_$fields); + checkCreative(response as api.Creative); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.creatives; + final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListCreativesResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListCreativesResponse(response as api.ListCreativesResponse); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.creatives; + final arg_request = buildCreative(); + final arg_advertiserId = 'foo'; + final arg_creativeId = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.Creative.fromJson(json as core.Map); + checkCreative(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildCreative()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch( + arg_request, arg_advertiserId, arg_creativeId, + updateMask: arg_updateMask, $fields: arg_$fields); + checkCreative(response as api.Creative); + }); + }); + + unittest.group('resource-AdvertisersInsertionOrdersResource', () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.insertionOrders; + final arg_request = buildInsertionOrder(); + final arg_advertiserId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.InsertionOrder.fromJson( + json as core.Map); + checkInsertionOrder(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildInsertionOrder()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.create(arg_request, arg_advertiserId, $fields: arg_$fields); + checkInsertionOrder(response as api.InsertionOrder); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.insertionOrders; + final arg_advertiserId = 'foo'; + final arg_insertionOrderId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildEmpty()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete(arg_advertiserId, arg_insertionOrderId, + $fields: arg_$fields); + checkEmpty(response as api.Empty); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.insertionOrders; + final arg_advertiserId = 'foo'; + final arg_insertionOrderId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildInsertionOrder()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_advertiserId, arg_insertionOrderId, + $fields: arg_$fields); + checkInsertionOrder(response as api.InsertionOrder); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.insertionOrders; + final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListInsertionOrdersResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListInsertionOrdersResponse( + response as api.ListInsertionOrdersResponse); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.insertionOrders; + final arg_request = buildInsertionOrder(); + final arg_advertiserId = 'foo'; + final arg_insertionOrderId = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.InsertionOrder.fromJson( + json as core.Map); + checkInsertionOrder(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildInsertionOrder()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch( + arg_request, arg_advertiserId, arg_insertionOrderId, + updateMask: arg_updateMask, $fields: arg_$fields); + checkInsertionOrder(response as api.InsertionOrder); + }); + }); + + unittest.group('resource-AdvertisersInvoicesResource', () { + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.invoices; + final arg_advertiserId = 'foo'; + final arg_issueMonth = 'foo'; + final arg_loiSapinInvoiceType = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['issueMonth']!.first, + unittest.equals(arg_issueMonth), + ); + unittest.expect( + queryMap['loiSapinInvoiceType']!.first, + unittest.equals(arg_loiSapinInvoiceType), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListInvoicesResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_advertiserId, + issueMonth: arg_issueMonth, + loiSapinInvoiceType: arg_loiSapinInvoiceType, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListInvoicesResponse(response as api.ListInvoicesResponse); + }); + + unittest.test('method--lookupInvoiceCurrency', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.invoices; + final arg_advertiserId = 'foo'; + final arg_invoiceMonth = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['invoiceMonth']!.first, + unittest.equals(arg_invoiceMonth), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildLookupInvoiceCurrencyResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.lookupInvoiceCurrency(arg_advertiserId, + invoiceMonth: arg_invoiceMonth, $fields: arg_$fields); + checkLookupInvoiceCurrencyResponse( + response as api.LookupInvoiceCurrencyResponse); + }); + }); + + unittest.group('resource-AdvertisersLineItemsResource', () { + unittest.test('method--bulkEditAssignedTargetingOptions', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.lineItems; + final arg_request = buildBulkEditAssignedTargetingOptionsRequest(); + final arg_advertiserId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.BulkEditAssignedTargetingOptionsRequest.fromJson( + json as core.Map); + checkBulkEditAssignedTargetingOptionsRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json + .encode(buildBulkEditAssignedTargetingOptionsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.bulkEditAssignedTargetingOptions( + arg_request, arg_advertiserId, + $fields: arg_$fields); + checkBulkEditAssignedTargetingOptionsResponse( + response as api.BulkEditAssignedTargetingOptionsResponse); + }); + + unittest.test('method--bulkListAssignedTargetingOptions', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.lineItems; + final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_lineItemIds = buildUnnamed167(); + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['lineItemIds']!, + unittest.equals(arg_lineItemIds), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json + .encode(buildBulkListAssignedTargetingOptionsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.bulkListAssignedTargetingOptions( + arg_advertiserId, + filter: arg_filter, + lineItemIds: arg_lineItemIds, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkBulkListAssignedTargetingOptionsResponse( + response as api.BulkListAssignedTargetingOptionsResponse); + }); + + unittest.test('method--bulkUpdate', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.lineItems; + final arg_request = buildBulkUpdateLineItemsRequest(); + final arg_advertiserId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.BulkUpdateLineItemsRequest.fromJson( + json as core.Map); + checkBulkUpdateLineItemsRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildBulkUpdateLineItemsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.bulkUpdate(arg_request, arg_advertiserId, + $fields: arg_$fields); + checkBulkUpdateLineItemsResponse( + response as api.BulkUpdateLineItemsResponse); + }); + + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.lineItems; + final arg_request = buildLineItem(); + final arg_advertiserId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.LineItem.fromJson(json as core.Map); + checkLineItem(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildLineItem()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.create(arg_request, arg_advertiserId, $fields: arg_$fields); + checkLineItem(response as api.LineItem); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.lineItems; + final arg_advertiserId = 'foo'; + final arg_lineItemId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildEmpty()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete(arg_advertiserId, arg_lineItemId, + $fields: arg_$fields); + checkEmpty(response as api.Empty); + }); + + unittest.test('method--duplicate', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.lineItems; + final arg_request = buildDuplicateLineItemRequest(); + final arg_advertiserId = 'foo'; + final arg_lineItemId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.DuplicateLineItemRequest.fromJson( + json as core.Map); + checkDuplicateLineItemRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildDuplicateLineItemResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.duplicate( + arg_request, arg_advertiserId, arg_lineItemId, + $fields: arg_$fields); + checkDuplicateLineItemResponse(response as api.DuplicateLineItemResponse); + }); + + unittest.test('method--generateDefault', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.lineItems; + final arg_request = buildGenerateDefaultLineItemRequest(); + final arg_advertiserId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GenerateDefaultLineItemRequest.fromJson( + json as core.Map); + checkGenerateDefaultLineItemRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildLineItem()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.generateDefault(arg_request, arg_advertiserId, + $fields: arg_$fields); + checkLineItem(response as api.LineItem); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.lineItems; + final arg_advertiserId = 'foo'; + final arg_lineItemId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildLineItem()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.get(arg_advertiserId, arg_lineItemId, $fields: arg_$fields); + checkLineItem(response as api.LineItem); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.lineItems; + final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListLineItemsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListLineItemsResponse(response as api.ListLineItemsResponse); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.lineItems; + final arg_request = buildLineItem(); + final arg_advertiserId = 'foo'; + final arg_lineItemId = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.LineItem.fromJson(json as core.Map); + checkLineItem(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildLineItem()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch( + arg_request, arg_advertiserId, arg_lineItemId, + updateMask: arg_updateMask, $fields: arg_$fields); + checkLineItem(response as api.LineItem); + }); + }); + + unittest.group( + 'resource-AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsResource', + () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock) + .advertisers + .lineItems + .targetingTypes + .assignedTargetingOptions; + final arg_request = buildAssignedTargetingOption(); + final arg_advertiserId = 'foo'; + final arg_lineItemId = 'foo'; + final arg_targetingType = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.AssignedTargetingOption.fromJson( + json as core.Map); + checkAssignedTargetingOption(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildAssignedTargetingOption()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create( + arg_request, arg_advertiserId, arg_lineItemId, arg_targetingType, + $fields: arg_$fields); + checkAssignedTargetingOption(response as api.AssignedTargetingOption); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock) + .advertisers + .lineItems + .targetingTypes + .assignedTargetingOptions; + final arg_advertiserId = 'foo'; + final arg_lineItemId = 'foo'; + final arg_targetingType = 'foo'; + final arg_assignedTargetingOptionId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildEmpty()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete(arg_advertiserId, arg_lineItemId, + arg_targetingType, arg_assignedTargetingOptionId, + $fields: arg_$fields); + checkEmpty(response as api.Empty); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock) + .advertisers + .lineItems + .targetingTypes + .assignedTargetingOptions; + final arg_advertiserId = 'foo'; + final arg_lineItemId = 'foo'; + final arg_targetingType = 'foo'; + final arg_assignedTargetingOptionId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildAssignedTargetingOption()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_advertiserId, arg_lineItemId, + arg_targetingType, arg_assignedTargetingOptionId, + $fields: arg_$fields); + checkAssignedTargetingOption(response as api.AssignedTargetingOption); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock) + .advertisers + .lineItems + .targetingTypes + .assignedTargetingOptions; + final arg_advertiserId = 'foo'; + final arg_lineItemId = 'foo'; + final arg_targetingType = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json + .encode(buildListLineItemAssignedTargetingOptionsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list( + arg_advertiserId, arg_lineItemId, arg_targetingType, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListLineItemAssignedTargetingOptionsResponse( + response as api.ListLineItemAssignedTargetingOptionsResponse); + }); + }); + + unittest.group('resource-AdvertisersLocationListsResource', () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.locationLists; + final arg_request = buildLocationList(); + final arg_advertiserId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.LocationList.fromJson( + json as core.Map); + checkLocationList(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildLocationList()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.create(arg_request, arg_advertiserId, $fields: arg_$fields); + checkLocationList(response as api.LocationList); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.locationLists; + final arg_advertiserId = 'foo'; + final arg_locationListId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildLocationList()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_advertiserId, arg_locationListId, + $fields: arg_$fields); + checkLocationList(response as api.LocationList); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.locationLists; + final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListLocationListsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListLocationListsResponse(response as api.ListLocationListsResponse); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.locationLists; + final arg_request = buildLocationList(); + final arg_advertiserId = 'foo'; + final arg_locationListId = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.LocationList.fromJson( + json as core.Map); + checkLocationList(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildLocationList()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch( + arg_request, arg_advertiserId, arg_locationListId, + updateMask: arg_updateMask, $fields: arg_$fields); + checkLocationList(response as api.LocationList); + }); + }); + + unittest.group('resource-AdvertisersLocationListsAssignedLocationsResource', + () { + unittest.test('method--bulkEdit', () async { + final mock = HttpServerMock(); + final res = + api.DisplayVideoApi(mock).advertisers.locationLists.assignedLocations; + final arg_request = buildBulkEditAssignedLocationsRequest(); + final arg_advertiserId = 'foo'; + final arg_locationListId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.BulkEditAssignedLocationsRequest.fromJson( + json as core.Map); + checkBulkEditAssignedLocationsRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + index = path.indexOf('/locationLists/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_advertiserId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('/locationLists/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildBulkEditAssignedLocationsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.bulkEdit( + arg_request, arg_advertiserId, arg_locationListId, + $fields: arg_$fields); + checkBulkEditAssignedLocationsResponse( + response as api.BulkEditAssignedLocationsResponse); + }); + + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = + api.DisplayVideoApi(mock).advertisers.locationLists.assignedLocations; + final arg_request = buildAssignedLocation(); + final arg_advertiserId = 'foo'; + final arg_locationListId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.AssignedLocation.fromJson( + json as core.Map); + checkAssignedLocation(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + index = path.indexOf('/locationLists/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_advertiserId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('/locationLists/'), + ); + pathOffset += 15; + index = path.indexOf('/assignedLocations', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_locationListId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/assignedLocations'), + ); + pathOffset += 18; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildAssignedLocation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create( + arg_request, arg_advertiserId, arg_locationListId, + $fields: arg_$fields); + checkAssignedLocation(response as api.AssignedLocation); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = + api.DisplayVideoApi(mock).advertisers.locationLists.assignedLocations; + final arg_advertiserId = 'foo'; + final arg_locationListId = 'foo'; + final arg_assignedLocationId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + index = path.indexOf('/locationLists/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_advertiserId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('/locationLists/'), + ); + pathOffset += 15; + index = path.indexOf('/assignedLocations/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_locationListId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 19), + unittest.equals('/assignedLocations/'), + ); + pathOffset += 19; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildEmpty()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete( + arg_advertiserId, arg_locationListId, arg_assignedLocationId, + $fields: arg_$fields); + checkEmpty(response as api.Empty); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = + api.DisplayVideoApi(mock).advertisers.locationLists.assignedLocations; + final arg_advertiserId = 'foo'; + final arg_locationListId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + index = path.indexOf('/locationLists/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_advertiserId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('/locationLists/'), + ); + pathOffset += 15; + index = path.indexOf('/assignedLocations', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_locationListId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 18), + unittest.equals('/assignedLocations'), + ); + pathOffset += 18; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListAssignedLocationsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_advertiserId, arg_locationListId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListAssignedLocationsResponse( + response as api.ListAssignedLocationsResponse); + }); + }); + + unittest.group('resource-AdvertisersNegativeKeywordListsResource', () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.negativeKeywordLists; + final arg_request = buildNegativeKeywordList(); + final arg_advertiserId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.NegativeKeywordList.fromJson( + json as core.Map); + checkNegativeKeywordList(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildNegativeKeywordList()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.create(arg_request, arg_advertiserId, $fields: arg_$fields); + checkNegativeKeywordList(response as api.NegativeKeywordList); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.negativeKeywordLists; + final arg_advertiserId = 'foo'; + final arg_negativeKeywordListId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildEmpty()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete( + arg_advertiserId, arg_negativeKeywordListId, + $fields: arg_$fields); + checkEmpty(response as api.Empty); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.negativeKeywordLists; + final arg_advertiserId = 'foo'; + final arg_negativeKeywordListId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildNegativeKeywordList()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get( + arg_advertiserId, arg_negativeKeywordListId, + $fields: arg_$fields); + checkNegativeKeywordList(response as api.NegativeKeywordList); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.negativeKeywordLists; + final arg_advertiserId = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildListNegativeKeywordListsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_advertiserId, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListNegativeKeywordListsResponse( + response as api.ListNegativeKeywordListsResponse); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).advertisers.negativeKeywordLists; + final arg_request = buildNegativeKeywordList(); + final arg_advertiserId = 'foo'; + final arg_negativeKeywordListId = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.NegativeKeywordList.fromJson( + json as core.Map); + checkNegativeKeywordList(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildNegativeKeywordList()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch( + arg_request, arg_advertiserId, arg_negativeKeywordListId, + updateMask: arg_updateMask, $fields: arg_$fields); + checkNegativeKeywordList(response as api.NegativeKeywordList); + }); + }); + + unittest.group( + 'resource-AdvertisersNegativeKeywordListsNegativeKeywordsResource', () { + unittest.test('method--bulkEdit', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock) + .advertisers + .negativeKeywordLists + .negativeKeywords; + final arg_request = buildBulkEditNegativeKeywordsRequest(); + final arg_advertiserId = 'foo'; + final arg_negativeKeywordListId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.BulkEditNegativeKeywordsRequest.fromJson( + json as core.Map); + checkBulkEditNegativeKeywordsRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + index = path.indexOf('/negativeKeywordLists/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_advertiserId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 22), + unittest.equals('/negativeKeywordLists/'), + ); + pathOffset += 22; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildBulkEditNegativeKeywordsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.bulkEdit( + arg_request, arg_advertiserId, arg_negativeKeywordListId, + $fields: arg_$fields); + checkBulkEditNegativeKeywordsResponse( + response as api.BulkEditNegativeKeywordsResponse); + }); + + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock) + .advertisers + .negativeKeywordLists + .negativeKeywords; + final arg_request = buildNegativeKeyword(); + final arg_advertiserId = 'foo'; + final arg_negativeKeywordListId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.NegativeKeyword.fromJson( + json as core.Map); + checkNegativeKeyword(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + index = path.indexOf('/negativeKeywordLists/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_advertiserId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 22), + unittest.equals('/negativeKeywordLists/'), + ); + pathOffset += 22; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildNegativeKeyword()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create( + arg_request, arg_advertiserId, arg_negativeKeywordListId, + $fields: arg_$fields); + checkNegativeKeyword(response as api.NegativeKeyword); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock) + .advertisers + .negativeKeywordLists + .negativeKeywords; + final arg_advertiserId = 'foo'; + final arg_negativeKeywordListId = 'foo'; + final arg_keywordValue = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + index = path.indexOf('/negativeKeywordLists/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_advertiserId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 22), + unittest.equals('/negativeKeywordLists/'), + ); + pathOffset += 22; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildEmpty()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete( + arg_advertiserId, arg_negativeKeywordListId, arg_keywordValue, + $fields: arg_$fields); + checkEmpty(response as api.Empty); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock) + .advertisers + .negativeKeywordLists + .negativeKeywords; + final arg_advertiserId = 'foo'; + final arg_negativeKeywordListId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListNegativeKeywordsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list( + arg_advertiserId, arg_negativeKeywordListId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListNegativeKeywordsResponse( + response as api.ListNegativeKeywordsResponse); + }); + + unittest.test('method--replace', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock) + .advertisers + .negativeKeywordLists + .negativeKeywords; + final arg_request = buildReplaceNegativeKeywordsRequest(); + final arg_advertiserId = 'foo'; + final arg_negativeKeywordListId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.ReplaceNegativeKeywordsRequest.fromJson( + json as core.Map); + checkReplaceNegativeKeywordsRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + index = path.indexOf('/negativeKeywordLists/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_advertiserId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 22), + unittest.equals('/negativeKeywordLists/'), + ); + pathOffset += 22; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildReplaceNegativeKeywordsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.replace( + arg_request, arg_advertiserId, arg_negativeKeywordListId, + $fields: arg_$fields); + checkReplaceNegativeKeywordsResponse( + response as api.ReplaceNegativeKeywordsResponse); + }); + }); + + unittest.group( + 'resource-AdvertisersTargetingTypesAssignedTargetingOptionsResource', () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock) + .advertisers + .targetingTypes + .assignedTargetingOptions; + final arg_request = buildAssignedTargetingOption(); + final arg_advertiserId = 'foo'; + final arg_targetingType = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.AssignedTargetingOption.fromJson( + json as core.Map); + checkAssignedTargetingOption(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildAssignedTargetingOption()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create( + arg_request, arg_advertiserId, arg_targetingType, + $fields: arg_$fields); + checkAssignedTargetingOption(response as api.AssignedTargetingOption); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock) + .advertisers + .targetingTypes + .assignedTargetingOptions; + final arg_advertiserId = 'foo'; + final arg_targetingType = 'foo'; + final arg_assignedTargetingOptionId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildEmpty()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete( + arg_advertiserId, arg_targetingType, arg_assignedTargetingOptionId, + $fields: arg_$fields); + checkEmpty(response as api.Empty); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock) + .advertisers + .targetingTypes + .assignedTargetingOptions; + final arg_advertiserId = 'foo'; + final arg_targetingType = 'foo'; + final arg_assignedTargetingOptionId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildAssignedTargetingOption()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get( + arg_advertiserId, arg_targetingType, arg_assignedTargetingOptionId, + $fields: arg_$fields); + checkAssignedTargetingOption(response as api.AssignedTargetingOption); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock) + .advertisers + .targetingTypes + .assignedTargetingOptions; + final arg_advertiserId = 'foo'; + final arg_targetingType = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/advertisers/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json + .encode(buildListAdvertiserAssignedTargetingOptionsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_advertiserId, arg_targetingType, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListAdvertiserAssignedTargetingOptionsResponse( + response as api.ListAdvertiserAssignedTargetingOptionsResponse); + }); + }); + + unittest.group('resource-CombinedAudiencesResource', () { + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).combinedAudiences; + final arg_combinedAudienceId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 21), + unittest.equals('v4/combinedAudiences/'), + ); + pathOffset += 21; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildCombinedAudience()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_combinedAudienceId, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkCombinedAudience(response as api.CombinedAudience); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).combinedAudiences; + final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 20), + unittest.equals('v4/combinedAudiences'), + ); + pathOffset += 20; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListCombinedAudiencesResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list( + advertiserId: arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkListCombinedAudiencesResponse( + response as api.ListCombinedAudiencesResponse); + }); + }); + + unittest.group('resource-CustomBiddingAlgorithmsResource', () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).customBiddingAlgorithms; + final arg_request = buildCustomBiddingAlgorithm(); + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.CustomBiddingAlgorithm.fromJson( + json as core.Map); + checkCustomBiddingAlgorithm(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 26), + unittest.equals('v4/customBiddingAlgorithms'), + ); + pathOffset += 26; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildCustomBiddingAlgorithm()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create(arg_request, $fields: arg_$fields); + checkCustomBiddingAlgorithm(response as api.CustomBiddingAlgorithm); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).customBiddingAlgorithms; + final arg_customBiddingAlgorithmId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 27), + unittest.equals('v4/customBiddingAlgorithms/'), + ); + pathOffset += 27; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildCustomBiddingAlgorithm()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_customBiddingAlgorithmId, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkCustomBiddingAlgorithm(response as api.CustomBiddingAlgorithm); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).customBiddingAlgorithms; + final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 26), + unittest.equals('v4/customBiddingAlgorithms'), + ); + pathOffset += 26; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildListCustomBiddingAlgorithmsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list( + advertiserId: arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkListCustomBiddingAlgorithmsResponse( + response as api.ListCustomBiddingAlgorithmsResponse); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).customBiddingAlgorithms; + final arg_request = buildCustomBiddingAlgorithm(); + final arg_customBiddingAlgorithmId = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.CustomBiddingAlgorithm.fromJson( + json as core.Map); + checkCustomBiddingAlgorithm(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 27), + unittest.equals('v4/customBiddingAlgorithms/'), + ); + pathOffset += 27; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildCustomBiddingAlgorithm()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch( + arg_request, arg_customBiddingAlgorithmId, + updateMask: arg_updateMask, $fields: arg_$fields); + checkCustomBiddingAlgorithm(response as api.CustomBiddingAlgorithm); + }); + + unittest.test('method--uploadRules', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).customBiddingAlgorithms; + final arg_customBiddingAlgorithmId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 27), + unittest.equals('v4/customBiddingAlgorithms/'), + ); + pathOffset += 27; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildCustomBiddingAlgorithmRulesRef()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.uploadRules(arg_customBiddingAlgorithmId, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkCustomBiddingAlgorithmRulesRef( + response as api.CustomBiddingAlgorithmRulesRef); + }); + + unittest.test('method--uploadScript', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).customBiddingAlgorithms; + final arg_customBiddingAlgorithmId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 27), + unittest.equals('v4/customBiddingAlgorithms/'), + ); + pathOffset += 27; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildCustomBiddingScriptRef()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.uploadScript(arg_customBiddingAlgorithmId, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkCustomBiddingScriptRef(response as api.CustomBiddingScriptRef); + }); + }); + + unittest.group('resource-CustomBiddingAlgorithmsRulesResource', () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).customBiddingAlgorithms.rules; + final arg_request = buildCustomBiddingAlgorithmRules(); + final arg_customBiddingAlgorithmId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.CustomBiddingAlgorithmRules.fromJson( + json as core.Map); + checkCustomBiddingAlgorithmRules(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 27), + unittest.equals('v4/customBiddingAlgorithms/'), + ); + pathOffset += 27; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildCustomBiddingAlgorithmRules()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create( + arg_request, arg_customBiddingAlgorithmId, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkCustomBiddingAlgorithmRules( + response as api.CustomBiddingAlgorithmRules); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).customBiddingAlgorithms.rules; + final arg_customBiddingAlgorithmId = 'foo'; + final arg_customBiddingAlgorithmRulesId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 27), + unittest.equals('v4/customBiddingAlgorithms/'), + ); + pathOffset += 27; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildCustomBiddingAlgorithmRules()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get( + arg_customBiddingAlgorithmId, arg_customBiddingAlgorithmRulesId, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkCustomBiddingAlgorithmRules( + response as api.CustomBiddingAlgorithmRules); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).customBiddingAlgorithms.rules; + final arg_customBiddingAlgorithmId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 27), + unittest.equals('v4/customBiddingAlgorithms/'), + ); + pathOffset += 27; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildListCustomBiddingAlgorithmRulesResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_customBiddingAlgorithmId, + advertiserId: arg_advertiserId, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkListCustomBiddingAlgorithmRulesResponse( + response as api.ListCustomBiddingAlgorithmRulesResponse); + }); + }); + + unittest.group('resource-CustomBiddingAlgorithmsScriptsResource', () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).customBiddingAlgorithms.scripts; + final arg_request = buildCustomBiddingScript(); + final arg_customBiddingAlgorithmId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.CustomBiddingScript.fromJson( + json as core.Map); + checkCustomBiddingScript(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 27), + unittest.equals('v4/customBiddingAlgorithms/'), + ); + pathOffset += 27; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildCustomBiddingScript()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create( + arg_request, arg_customBiddingAlgorithmId, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkCustomBiddingScript(response as api.CustomBiddingScript); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).customBiddingAlgorithms.scripts; + final arg_customBiddingAlgorithmId = 'foo'; + final arg_customBiddingScriptId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 27), + unittest.equals('v4/customBiddingAlgorithms/'), + ); + pathOffset += 27; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildCustomBiddingScript()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get( + arg_customBiddingAlgorithmId, arg_customBiddingScriptId, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkCustomBiddingScript(response as api.CustomBiddingScript); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).customBiddingAlgorithms.scripts; + final arg_customBiddingAlgorithmId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 27), + unittest.equals('v4/customBiddingAlgorithms/'), + ); + pathOffset += 27; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildListCustomBiddingScriptsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_customBiddingAlgorithmId, + advertiserId: arg_advertiserId, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkListCustomBiddingScriptsResponse( + response as api.ListCustomBiddingScriptsResponse); + }); + }); + + unittest.group('resource-CustomListsResource', () { + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).customLists; + final arg_customListId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 15), + unittest.equals('v4/customLists/'), + ); + pathOffset += 15; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildCustomList()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_customListId, + advertiserId: arg_advertiserId, $fields: arg_$fields); + checkCustomList(response as api.CustomList); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).customLists; + final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 14), + unittest.equals('v4/customLists'), + ); + pathOffset += 14; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListCustomListsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list( + advertiserId: arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListCustomListsResponse(response as api.ListCustomListsResponse); + }); + }); + + unittest.group('resource-FirstPartyAndPartnerAudiencesResource', () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).firstPartyAndPartnerAudiences; + final arg_request = buildFirstPartyAndPartnerAudience(); + final arg_advertiserId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.FirstPartyAndPartnerAudience.fromJson( + json as core.Map); + checkFirstPartyAndPartnerAudience(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 32), + unittest.equals('v4/firstPartyAndPartnerAudiences'), + ); + pathOffset += 32; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildFirstPartyAndPartnerAudience()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create(arg_request, + advertiserId: arg_advertiserId, $fields: arg_$fields); + checkFirstPartyAndPartnerAudience( + response as api.FirstPartyAndPartnerAudience); + }); + + unittest.test('method--editCustomerMatchMembers', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).firstPartyAndPartnerAudiences; + final arg_request = buildEditCustomerMatchMembersRequest(); + final arg_firstPartyAndPartnerAudienceId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.EditCustomerMatchMembersRequest.fromJson( + json as core.Map); + checkEditCustomerMatchMembersRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 33), + unittest.equals('v4/firstPartyAndPartnerAudiences/'), + ); + pathOffset += 33; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildEditCustomerMatchMembersResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.editCustomerMatchMembers( + arg_request, arg_firstPartyAndPartnerAudienceId, + $fields: arg_$fields); + checkEditCustomerMatchMembersResponse( + response as api.EditCustomerMatchMembersResponse); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).firstPartyAndPartnerAudiences; + final arg_firstPartyAndPartnerAudienceId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 33), + unittest.equals('v4/firstPartyAndPartnerAudiences/'), + ); + pathOffset += 33; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildFirstPartyAndPartnerAudience()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_firstPartyAndPartnerAudienceId, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkFirstPartyAndPartnerAudience( + response as api.FirstPartyAndPartnerAudience); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).firstPartyAndPartnerAudiences; + final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 32), + unittest.equals('v4/firstPartyAndPartnerAudiences'), + ); + pathOffset += 32; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json + .encode(buildListFirstPartyAndPartnerAudiencesResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list( + advertiserId: arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkListFirstPartyAndPartnerAudiencesResponse( + response as api.ListFirstPartyAndPartnerAudiencesResponse); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).firstPartyAndPartnerAudiences; + final arg_request = buildFirstPartyAndPartnerAudience(); + final arg_firstPartyAndPartnerAudienceId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.FirstPartyAndPartnerAudience.fromJson( + json as core.Map); + checkFirstPartyAndPartnerAudience(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 33), + unittest.equals('v4/firstPartyAndPartnerAudiences/'), + ); + pathOffset += 33; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildFirstPartyAndPartnerAudience()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch( + arg_request, arg_firstPartyAndPartnerAudienceId, + advertiserId: arg_advertiserId, + updateMask: arg_updateMask, + $fields: arg_$fields); + checkFirstPartyAndPartnerAudience( + response as api.FirstPartyAndPartnerAudience); + }); + }); + + unittest.group('resource-FloodlightGroupsResource', () { + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).floodlightGroups; + final arg_floodlightGroupId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 20), + unittest.equals('v4/floodlightGroups/'), + ); + pathOffset += 20; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildFloodlightGroup()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_floodlightGroupId, + partnerId: arg_partnerId, $fields: arg_$fields); + checkFloodlightGroup(response as api.FloodlightGroup); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).floodlightGroups; + final arg_request = buildFloodlightGroup(); + final arg_floodlightGroupId = 'foo'; + final arg_partnerId = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.FloodlightGroup.fromJson( + json as core.Map); + checkFloodlightGroup(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 20), + unittest.equals('v4/floodlightGroups/'), + ); + pathOffset += 20; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_floodlightGroupId'), + ); + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildFloodlightGroup()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch(arg_request, arg_floodlightGroupId, + partnerId: arg_partnerId, + updateMask: arg_updateMask, + $fields: arg_$fields); + checkFloodlightGroup(response as api.FloodlightGroup); + }); + }); + + unittest.group('resource-FloodlightGroupsFloodlightActivitiesResource', () { + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = + api.DisplayVideoApi(mock).floodlightGroups.floodlightActivities; + final arg_floodlightGroupId = 'foo'; + final arg_floodlightActivityId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 20), + unittest.equals('v4/floodlightGroups/'), + ); + pathOffset += 20; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildFloodlightActivity()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get( + arg_floodlightGroupId, arg_floodlightActivityId, + partnerId: arg_partnerId, $fields: arg_$fields); + checkFloodlightActivity(response as api.FloodlightActivity); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = + api.DisplayVideoApi(mock).floodlightGroups.floodlightActivities; + final arg_floodlightGroupId = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 20), + unittest.equals('v4/floodlightGroups/'), + ); + pathOffset += 20; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildListFloodlightActivitiesResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_floodlightGroupId, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkListFloodlightActivitiesResponse( + response as api.ListFloodlightActivitiesResponse); + }); + }); + + unittest.group('resource-GoogleAudiencesResource', () { + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).googleAudiences; + final arg_googleAudienceId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 19), + unittest.equals('v4/googleAudiences/'), + ); + pathOffset += 19; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGoogleAudience()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_googleAudienceId, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkGoogleAudience(response as api.GoogleAudience); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).googleAudiences; + final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 18), + unittest.equals('v4/googleAudiences'), + ); + pathOffset += 18; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListGoogleAudiencesResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list( + advertiserId: arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkListGoogleAudiencesResponse( + response as api.ListGoogleAudiencesResponse); + }); + }); + + unittest.group('resource-GuaranteedOrdersResource', () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).guaranteedOrders; + final arg_request = buildGuaranteedOrder(); + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GuaranteedOrder.fromJson( + json as core.Map); + checkGuaranteedOrder(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 19), + unittest.equals('v4/guaranteedOrders'), + ); + pathOffset += 19; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGuaranteedOrder()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create(arg_request, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkGuaranteedOrder(response as api.GuaranteedOrder); + }); + + unittest.test('method--editGuaranteedOrderReadAccessors', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).guaranteedOrders; + final arg_request = buildEditGuaranteedOrderReadAccessorsRequest(); + final arg_guaranteedOrderId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.EditGuaranteedOrderReadAccessorsRequest.fromJson( + json as core.Map); + checkEditGuaranteedOrderReadAccessorsRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 20), + unittest.equals('v4/guaranteedOrders/'), + ); + pathOffset += 20; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json + .encode(buildEditGuaranteedOrderReadAccessorsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.editGuaranteedOrderReadAccessors( + arg_request, arg_guaranteedOrderId, + $fields: arg_$fields); + checkEditGuaranteedOrderReadAccessorsResponse( + response as api.EditGuaranteedOrderReadAccessorsResponse); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).guaranteedOrders; + final arg_guaranteedOrderId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 20), + unittest.equals('v4/guaranteedOrders/'), + ); + pathOffset += 20; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGuaranteedOrder()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_guaranteedOrderId, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkGuaranteedOrder(response as api.GuaranteedOrder); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).guaranteedOrders; + final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 19), + unittest.equals('v4/guaranteedOrders'), + ); + pathOffset += 19; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListGuaranteedOrdersResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list( + advertiserId: arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkListGuaranteedOrdersResponse( + response as api.ListGuaranteedOrdersResponse); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).guaranteedOrders; + final arg_request = buildGuaranteedOrder(); + final arg_guaranteedOrderId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GuaranteedOrder.fromJson( + json as core.Map); + checkGuaranteedOrder(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 20), + unittest.equals('v4/guaranteedOrders/'), + ); + pathOffset += 20; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGuaranteedOrder()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch(arg_request, arg_guaranteedOrderId, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + updateMask: arg_updateMask, + $fields: arg_$fields); + checkGuaranteedOrder(response as api.GuaranteedOrder); + }); + }); + + unittest.group('resource-InventorySourceGroupsResource', () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).inventorySourceGroups; + final arg_request = buildInventorySourceGroup(); + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.InventorySourceGroup.fromJson( + json as core.Map); + checkInventorySourceGroup(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 24), + unittest.equals('v4/inventorySourceGroups'), + ); + pathOffset += 24; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildInventorySourceGroup()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create(arg_request, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkInventorySourceGroup(response as api.InventorySourceGroup); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).inventorySourceGroups; + final arg_inventorySourceGroupId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 25), + unittest.equals('v4/inventorySourceGroups/'), + ); + pathOffset += 25; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildEmpty()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete(arg_inventorySourceGroupId, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkEmpty(response as api.Empty); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).inventorySourceGroups; + final arg_inventorySourceGroupId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 25), + unittest.equals('v4/inventorySourceGroups/'), + ); + pathOffset += 25; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildInventorySourceGroup()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_inventorySourceGroupId, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkInventorySourceGroup(response as api.InventorySourceGroup); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).inventorySourceGroups; + final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 24), + unittest.equals('v4/inventorySourceGroups'), + ); + pathOffset += 24; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildListInventorySourceGroupsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list( + advertiserId: arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkListInventorySourceGroupsResponse( + response as api.ListInventorySourceGroupsResponse); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).inventorySourceGroups; + final arg_request = buildInventorySourceGroup(); + final arg_inventorySourceGroupId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.InventorySourceGroup.fromJson( + json as core.Map); + checkInventorySourceGroup(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 25), + unittest.equals('v4/inventorySourceGroups/'), + ); + pathOffset += 25; + subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); + pathOffset = path.length; + unittest.expect( + subPart, + unittest.equals('$arg_inventorySourceGroupId'), + ); + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildInventorySourceGroup()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch(arg_request, arg_inventorySourceGroupId, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + updateMask: arg_updateMask, + $fields: arg_$fields); + checkInventorySourceGroup(response as api.InventorySourceGroup); + }); + }); + + unittest.group( + 'resource-InventorySourceGroupsAssignedInventorySourcesResource', () { + unittest.test('method--bulkEdit', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock) + .inventorySourceGroups + .assignedInventorySources; + final arg_request = buildBulkEditAssignedInventorySourcesRequest(); + final arg_inventorySourceGroupId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.BulkEditAssignedInventorySourcesRequest.fromJson( + json as core.Map); + checkBulkEditAssignedInventorySourcesRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 25), + unittest.equals('v4/inventorySourceGroups/'), + ); + pathOffset += 25; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json + .encode(buildBulkEditAssignedInventorySourcesResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.bulkEdit( + arg_request, arg_inventorySourceGroupId, + $fields: arg_$fields); + checkBulkEditAssignedInventorySourcesResponse( + response as api.BulkEditAssignedInventorySourcesResponse); + }); + + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock) + .inventorySourceGroups + .assignedInventorySources; + final arg_request = buildAssignedInventorySource(); + final arg_inventorySourceGroupId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.AssignedInventorySource.fromJson( + json as core.Map); + checkAssignedInventorySource(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 25), + unittest.equals('v4/inventorySourceGroups/'), + ); + pathOffset += 25; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildAssignedInventorySource()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create(arg_request, arg_inventorySourceGroupId, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkAssignedInventorySource(response as api.AssignedInventorySource); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock) + .inventorySourceGroups + .assignedInventorySources; + final arg_inventorySourceGroupId = 'foo'; + final arg_assignedInventorySourceId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 25), + unittest.equals('v4/inventorySourceGroups/'), + ); + pathOffset += 25; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildEmpty()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete( + arg_inventorySourceGroupId, arg_assignedInventorySourceId, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkEmpty(response as api.Empty); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock) + .inventorySourceGroups + .assignedInventorySources; + final arg_inventorySourceGroupId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 25), + unittest.equals('v4/inventorySourceGroups/'), + ); + pathOffset += 25; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildListAssignedInventorySourcesResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_inventorySourceGroupId, + advertiserId: arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkListAssignedInventorySourcesResponse( + response as api.ListAssignedInventorySourcesResponse); + }); + }); + + unittest.group('resource-InventorySourcesResource', () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).inventorySources; + final arg_request = buildInventorySource(); + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.InventorySource.fromJson( + json as core.Map); + checkInventorySource(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 19), + unittest.equals('v4/inventorySources'), + ); + pathOffset += 19; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildInventorySource()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create(arg_request, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkInventorySource(response as api.InventorySource); + }); + + unittest.test('method--editInventorySourceReadWriteAccessors', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).inventorySources; + final arg_request = buildEditInventorySourceReadWriteAccessorsRequest(); + final arg_inventorySourceId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.EditInventorySourceReadWriteAccessorsRequest.fromJson( + json as core.Map); + checkEditInventorySourceReadWriteAccessorsRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 20), + unittest.equals('v4/inventorySources/'), + ); + pathOffset += 20; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildInventorySourceAccessors()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.editInventorySourceReadWriteAccessors( + arg_request, arg_inventorySourceId, + $fields: arg_$fields); + checkInventorySourceAccessors(response as api.InventorySourceAccessors); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).inventorySources; + final arg_inventorySourceId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 20), + unittest.equals('v4/inventorySources/'), + ); + pathOffset += 20; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildInventorySource()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_inventorySourceId, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkInventorySource(response as api.InventorySource); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).inventorySources; + final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 19), + unittest.equals('v4/inventorySources'), + ); + pathOffset += 19; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListInventorySourcesResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list( + advertiserId: arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + partnerId: arg_partnerId, + $fields: arg_$fields); + checkListInventorySourcesResponse( + response as api.ListInventorySourcesResponse); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).inventorySources; + final arg_request = buildInventorySource(); + final arg_inventorySourceId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_partnerId = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.InventorySource.fromJson( + json as core.Map); + checkInventorySource(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 20), + unittest.equals('v4/inventorySources/'), + ); + pathOffset += 20; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['partnerId']!.first, + unittest.equals(arg_partnerId), + ); + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildInventorySource()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch(arg_request, arg_inventorySourceId, + advertiserId: arg_advertiserId, + partnerId: arg_partnerId, + updateMask: arg_updateMask, + $fields: arg_$fields); + checkInventorySource(response as api.InventorySource); + }); + }); + + unittest.group('resource-MediaResource', () { + unittest.test('method--download', () async { + // TODO: Implement tests for media upload; + // TODO: Implement tests for media download; + + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).media; + final arg_resourceName = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('download/'), + ); + pathOffset += 9; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGoogleBytestreamMedia()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.download(arg_resourceName, $fields: arg_$fields); + checkGoogleBytestreamMedia(response as api.GoogleBytestreamMedia); + }); + + unittest.test('method--upload', () async { + // TODO: Implement tests for media upload; + // TODO: Implement tests for media download; + + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).media; + final arg_request = buildGoogleBytestreamMedia(); + final arg_resourceName = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleBytestreamMedia.fromJson( + json as core.Map); + checkGoogleBytestreamMedia(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 6), + unittest.equals('media/'), + ); + pathOffset += 6; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGoogleBytestreamMedia()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.upload(arg_request, arg_resourceName, $fields: arg_$fields); + checkGoogleBytestreamMedia(response as api.GoogleBytestreamMedia); + }); + }); + + unittest.group('resource-PartnersResource', () { + unittest.test('method--editAssignedTargetingOptions', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).partners; + final arg_request = buildBulkEditPartnerAssignedTargetingOptionsRequest(); + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.BulkEditPartnerAssignedTargetingOptionsRequest.fromJson( + json as core.Map); + checkBulkEditPartnerAssignedTargetingOptionsRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('v4/partners/'), + ); + pathOffset += 12; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json + .encode(buildBulkEditPartnerAssignedTargetingOptionsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.editAssignedTargetingOptions( + arg_request, arg_partnerId, + $fields: arg_$fields); + checkBulkEditPartnerAssignedTargetingOptionsResponse( + response as api.BulkEditPartnerAssignedTargetingOptionsResponse); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).partners; + final arg_partnerId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('v4/partners/'), + ); + pathOffset += 12; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildPartner()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_partnerId, $fields: arg_$fields); + checkPartner(response as api.Partner); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).partners; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 11), + unittest.equals('v4/partners'), + ); + pathOffset += 11; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListPartnersResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list( + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListPartnersResponse(response as api.ListPartnersResponse); + }); + }); + + unittest.group('resource-PartnersChannelsResource', () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).partners.channels; + final arg_request = buildChannel(); + final arg_partnerId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.Channel.fromJson(json as core.Map); + checkChannel(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('v4/partners/'), + ); + pathOffset += 12; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildChannel()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create(arg_request, arg_partnerId, + advertiserId: arg_advertiserId, $fields: arg_$fields); + checkChannel(response as api.Channel); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).partners.channels; + final arg_partnerId = 'foo'; + final arg_channelId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('v4/partners/'), + ); + pathOffset += 12; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildChannel()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_partnerId, arg_channelId, + advertiserId: arg_advertiserId, $fields: arg_$fields); + checkChannel(response as api.Channel); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).partners.channels; + final arg_partnerId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('v4/partners/'), + ); + pathOffset += 12; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListChannelsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_partnerId, + advertiserId: arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListChannelsResponse(response as api.ListChannelsResponse); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).partners.channels; + final arg_request = buildChannel(); + final arg_partnerId = 'foo'; + final arg_channelId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.Channel.fromJson(json as core.Map); + checkChannel(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('v4/partners/'), + ); + pathOffset += 12; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildChannel()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch( + arg_request, arg_partnerId, arg_channelId, + advertiserId: arg_advertiserId, + updateMask: arg_updateMask, + $fields: arg_$fields); + checkChannel(response as api.Channel); + }); + }); + + unittest.group('resource-PartnersChannelsSitesResource', () { + unittest.test('method--bulkEdit', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).partners.channels.sites; + final arg_request = buildBulkEditSitesRequest(); + final arg_partnerId = 'foo'; + final arg_channelId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.BulkEditSitesRequest.fromJson( + json as core.Map); + checkBulkEditSitesRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('v4/partners/'), + ); + pathOffset += 12; + index = path.indexOf('/channels/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_partnerId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/channels/'), + ); + pathOffset += 10; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildBulkEditSitesResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.bulkEdit( + arg_request, arg_partnerId, arg_channelId, + $fields: arg_$fields); + checkBulkEditSitesResponse(response as api.BulkEditSitesResponse); + }); + + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).partners.channels.sites; + final arg_request = buildSite(); + final arg_partnerId = 'foo'; + final arg_channelId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.Site.fromJson(json as core.Map); + checkSite(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('v4/partners/'), + ); + pathOffset += 12; + index = path.indexOf('/channels/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_partnerId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/channels/'), + ); + pathOffset += 10; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildSite()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create( + arg_request, arg_partnerId, arg_channelId, + advertiserId: arg_advertiserId, $fields: arg_$fields); + checkSite(response as api.Site); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).partners.channels.sites; + final arg_partnerId = 'foo'; + final arg_channelId = 'foo'; + final arg_urlOrAppId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('v4/partners/'), + ); + pathOffset += 12; + index = path.indexOf('/channels/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_partnerId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/channels/'), + ); + pathOffset += 10; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildEmpty()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete( + arg_partnerId, arg_channelId, arg_urlOrAppId, + advertiserId: arg_advertiserId, $fields: arg_$fields); + checkEmpty(response as api.Empty); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).partners.channels.sites; + final arg_partnerId = 'foo'; + final arg_channelId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('v4/partners/'), + ); + pathOffset += 12; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListSitesResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_partnerId, arg_channelId, + advertiserId: arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListSitesResponse(response as api.ListSitesResponse); + }); + + unittest.test('method--replace', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).partners.channels.sites; + final arg_request = buildReplaceSitesRequest(); + final arg_partnerId = 'foo'; + final arg_channelId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.ReplaceSitesRequest.fromJson( + json as core.Map); + checkReplaceSitesRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('v4/partners/'), + ); + pathOffset += 12; + index = path.indexOf('/channels/', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_partnerId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 10), + unittest.equals('/channels/'), + ); + pathOffset += 10; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildReplaceSitesResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.replace( + arg_request, arg_partnerId, arg_channelId, + $fields: arg_$fields); + checkReplaceSitesResponse(response as api.ReplaceSitesResponse); + }); + }); + + unittest.group( + 'resource-PartnersTargetingTypesAssignedTargetingOptionsResource', () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock) + .partners + .targetingTypes + .assignedTargetingOptions; + final arg_request = buildAssignedTargetingOption(); + final arg_partnerId = 'foo'; + final arg_targetingType = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.AssignedTargetingOption.fromJson( + json as core.Map); + checkAssignedTargetingOption(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('v4/partners/'), + ); + pathOffset += 12; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildAssignedTargetingOption()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create( + arg_request, arg_partnerId, arg_targetingType, + $fields: arg_$fields); + checkAssignedTargetingOption(response as api.AssignedTargetingOption); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock) + .partners + .targetingTypes + .assignedTargetingOptions; + final arg_partnerId = 'foo'; + final arg_targetingType = 'foo'; + final arg_assignedTargetingOptionId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('v4/partners/'), + ); + pathOffset += 12; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildEmpty()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete( + arg_partnerId, arg_targetingType, arg_assignedTargetingOptionId, + $fields: arg_$fields); + checkEmpty(response as api.Empty); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock) + .partners + .targetingTypes + .assignedTargetingOptions; + final arg_partnerId = 'foo'; + final arg_targetingType = 'foo'; + final arg_assignedTargetingOptionId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('v4/partners/'), + ); + pathOffset += 12; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildAssignedTargetingOption()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get( + arg_partnerId, arg_targetingType, arg_assignedTargetingOptionId, + $fields: arg_$fields); + checkAssignedTargetingOption(response as api.AssignedTargetingOption); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock) + .partners + .targetingTypes + .assignedTargetingOptions; + final arg_partnerId = 'foo'; + final arg_targetingType = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('v4/partners/'), + ); + pathOffset += 12; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json + .encode(buildListPartnerAssignedTargetingOptionsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_partnerId, arg_targetingType, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListPartnerAssignedTargetingOptionsResponse( + response as api.ListPartnerAssignedTargetingOptionsResponse); + }); + }); + + unittest.group('resource-SdfdownloadtasksResource', () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).sdfdownloadtasks; + final arg_request = buildCreateSdfDownloadTaskRequest(); + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.CreateSdfDownloadTaskRequest.fromJson( + json as core.Map); + checkCreateSdfDownloadTaskRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 19), + unittest.equals('v4/sdfdownloadtasks'), + ); + pathOffset += 19; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create(arg_request, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + }); + + unittest.group('resource-SdfdownloadtasksOperationsResource', () { + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).sdfdownloadtasks.operations; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v4/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_name, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + }); + + unittest.group('resource-SdfuploadtasksOperationsResource', () { + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).sdfuploadtasks.operations; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v4/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_name, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + }); + + unittest.group('resource-TargetingTypesTargetingOptionsResource', () { + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).targetingTypes.targetingOptions; + final arg_targetingType = 'foo'; + final arg_targetingOptionId = 'foo'; + final arg_advertiserId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 18), + unittest.equals('v4/targetingTypes/'), + ); + pathOffset += 18; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildTargetingOption()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_targetingType, arg_targetingOptionId, + advertiserId: arg_advertiserId, $fields: arg_$fields); + checkTargetingOption(response as api.TargetingOption); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).targetingTypes.targetingOptions; + final arg_targetingType = 'foo'; + final arg_advertiserId = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 18), + unittest.equals('v4/targetingTypes/'), + ); + pathOffset += 18; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['advertiserId']!.first, + unittest.equals(arg_advertiserId), + ); + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListTargetingOptionsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_targetingType, + advertiserId: arg_advertiserId, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListTargetingOptionsResponse( + response as api.ListTargetingOptionsResponse); + }); + + unittest.test('method--search', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).targetingTypes.targetingOptions; + final arg_request = buildSearchTargetingOptionsRequest(); + final arg_targetingType = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.SearchTargetingOptionsRequest.fromJson( + json as core.Map); + checkSearchTargetingOptionsRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 18), + unittest.equals('v4/targetingTypes/'), + ); + pathOffset += 18; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildSearchTargetingOptionsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.search(arg_request, arg_targetingType, + $fields: arg_$fields); + checkSearchTargetingOptionsResponse( + response as api.SearchTargetingOptionsResponse); + }); + }); + + unittest.group('resource-UsersResource', () { + unittest.test('method--bulkEditAssignedUserRoles', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).users; + final arg_request = buildBulkEditAssignedUserRolesRequest(); + final arg_userId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.BulkEditAssignedUserRolesRequest.fromJson( + json as core.Map); + checkBulkEditAssignedUserRolesRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('v4/users/'), + ); + pathOffset += 9; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildBulkEditAssignedUserRolesResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.bulkEditAssignedUserRoles( + arg_request, arg_userId, + $fields: arg_$fields); + checkBulkEditAssignedUserRolesResponse( + response as api.BulkEditAssignedUserRolesResponse); + }); + + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).users; + final arg_request = buildUser(); + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.User.fromJson(json as core.Map); + checkUser(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 8), + unittest.equals('v4/users'), + ); + pathOffset += 8; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildUser()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create(arg_request, $fields: arg_$fields); + checkUser(response as api.User); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).users; + final arg_userId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('v4/users/'), + ); + pathOffset += 9; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildEmpty()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete(arg_userId, $fields: arg_$fields); + checkEmpty(response as api.Empty); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).users; + final arg_userId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('v4/users/'), + ); + pathOffset += 9; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildUser()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_userId, $fields: arg_$fields); + checkUser(response as api.User); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).users; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 8), + unittest.equals('v4/users'), + ); + pathOffset += 8; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListUsersResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list( + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListUsersResponse(response as api.ListUsersResponse); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = api.DisplayVideoApi(mock).users; + final arg_request = buildUser(); + final arg_userId = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.User.fromJson(json as core.Map); + checkUser(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('v4/users/'), + ); + pathOffset += 9; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildUser()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch(arg_request, arg_userId, + updateMask: arg_updateMask, $fields: arg_$fields); + checkUser(response as api.User); + }); + }); +} diff --git a/generated/googleapis/test/dlp/v2_test.dart b/generated/googleapis/test/dlp/v2_test.dart index 4acba2a53..9e6131229 100644 --- a/generated/googleapis/test/dlp/v2_test.dart +++ b/generated/googleapis/test/dlp/v2_test.dart @@ -3403,6 +3403,7 @@ api.GooglePrivacyDlpV2DiscoveryConfig buildGooglePrivacyDlpV2DiscoveryConfig() { o.orgConfig = buildGooglePrivacyDlpV2OrgConfig(); o.otherCloudStartingLocation = buildGooglePrivacyDlpV2OtherCloudDiscoveryStartingLocation(); + o.processingLocation = buildGooglePrivacyDlpV2ProcessingLocation(); o.status = 'foo'; o.targets = buildUnnamed35(); o.updateTime = 'foo'; @@ -3437,6 +3438,7 @@ void checkGooglePrivacyDlpV2DiscoveryConfig( checkGooglePrivacyDlpV2OrgConfig(o.orgConfig!); checkGooglePrivacyDlpV2OtherCloudDiscoveryStartingLocation( o.otherCloudStartingLocation!); + checkGooglePrivacyDlpV2ProcessingLocation(o.processingLocation!); unittest.expect( o.status!, unittest.equals('foo'), @@ -3753,6 +3755,8 @@ api.GooglePrivacyDlpV2DiscoveryTarget buildGooglePrivacyDlpV2DiscoveryTarget() { o.cloudStorageTarget = buildGooglePrivacyDlpV2CloudStorageDiscoveryTarget(); o.otherCloudTarget = buildGooglePrivacyDlpV2OtherCloudDiscoveryTarget(); o.secretsTarget = buildGooglePrivacyDlpV2SecretsDiscoveryTarget(); + o.vertexDatasetTarget = + buildGooglePrivacyDlpV2VertexDatasetDiscoveryTarget(); } buildCounterGooglePrivacyDlpV2DiscoveryTarget--; return o; @@ -3767,10 +3771,98 @@ void checkGooglePrivacyDlpV2DiscoveryTarget( checkGooglePrivacyDlpV2CloudStorageDiscoveryTarget(o.cloudStorageTarget!); checkGooglePrivacyDlpV2OtherCloudDiscoveryTarget(o.otherCloudTarget!); checkGooglePrivacyDlpV2SecretsDiscoveryTarget(o.secretsTarget!); + checkGooglePrivacyDlpV2VertexDatasetDiscoveryTarget(o.vertexDatasetTarget!); } buildCounterGooglePrivacyDlpV2DiscoveryTarget--; } +core.int buildCounterGooglePrivacyDlpV2DiscoveryVertexDatasetConditions = 0; +api.GooglePrivacyDlpV2DiscoveryVertexDatasetConditions + buildGooglePrivacyDlpV2DiscoveryVertexDatasetConditions() { + final o = api.GooglePrivacyDlpV2DiscoveryVertexDatasetConditions(); + buildCounterGooglePrivacyDlpV2DiscoveryVertexDatasetConditions++; + if (buildCounterGooglePrivacyDlpV2DiscoveryVertexDatasetConditions < 3) { + o.createdAfter = 'foo'; + o.minAge = 'foo'; + } + buildCounterGooglePrivacyDlpV2DiscoveryVertexDatasetConditions--; + return o; +} + +void checkGooglePrivacyDlpV2DiscoveryVertexDatasetConditions( + api.GooglePrivacyDlpV2DiscoveryVertexDatasetConditions o) { + buildCounterGooglePrivacyDlpV2DiscoveryVertexDatasetConditions++; + if (buildCounterGooglePrivacyDlpV2DiscoveryVertexDatasetConditions < 3) { + unittest.expect( + o.createdAfter!, + unittest.equals('foo'), + ); + unittest.expect( + o.minAge!, + unittest.equals('foo'), + ); + } + buildCounterGooglePrivacyDlpV2DiscoveryVertexDatasetConditions--; +} + +core.int buildCounterGooglePrivacyDlpV2DiscoveryVertexDatasetFilter = 0; +api.GooglePrivacyDlpV2DiscoveryVertexDatasetFilter + buildGooglePrivacyDlpV2DiscoveryVertexDatasetFilter() { + final o = api.GooglePrivacyDlpV2DiscoveryVertexDatasetFilter(); + buildCounterGooglePrivacyDlpV2DiscoveryVertexDatasetFilter++; + if (buildCounterGooglePrivacyDlpV2DiscoveryVertexDatasetFilter < 3) { + o.collection = buildGooglePrivacyDlpV2VertexDatasetCollection(); + o.others = buildGooglePrivacyDlpV2AllOtherResources(); + o.vertexDatasetResourceReference = + buildGooglePrivacyDlpV2VertexDatasetResourceReference(); + } + buildCounterGooglePrivacyDlpV2DiscoveryVertexDatasetFilter--; + return o; +} + +void checkGooglePrivacyDlpV2DiscoveryVertexDatasetFilter( + api.GooglePrivacyDlpV2DiscoveryVertexDatasetFilter o) { + buildCounterGooglePrivacyDlpV2DiscoveryVertexDatasetFilter++; + if (buildCounterGooglePrivacyDlpV2DiscoveryVertexDatasetFilter < 3) { + checkGooglePrivacyDlpV2VertexDatasetCollection(o.collection!); + checkGooglePrivacyDlpV2AllOtherResources(o.others!); + checkGooglePrivacyDlpV2VertexDatasetResourceReference( + o.vertexDatasetResourceReference!); + } + buildCounterGooglePrivacyDlpV2DiscoveryVertexDatasetFilter--; +} + +core.int buildCounterGooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence = + 0; +api.GooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence + buildGooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence() { + final o = api.GooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence(); + buildCounterGooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence++; + if (buildCounterGooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence < + 3) { + o.inspectTemplateModifiedCadence = + buildGooglePrivacyDlpV2DiscoveryInspectTemplateModifiedCadence(); + o.refreshFrequency = 'foo'; + } + buildCounterGooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence--; + return o; +} + +void checkGooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence( + api.GooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence o) { + buildCounterGooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence++; + if (buildCounterGooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence < + 3) { + checkGooglePrivacyDlpV2DiscoveryInspectTemplateModifiedCadence( + o.inspectTemplateModifiedCadence!); + unittest.expect( + o.refreshFrequency!, + unittest.equals('foo'), + ); + } + buildCounterGooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence--; +} + core.List buildUnnamed38() => [ buildGooglePrivacyDlpV2ActionDetails(), buildGooglePrivacyDlpV2ActionDetails(), @@ -4036,6 +4128,7 @@ api.GooglePrivacyDlpV2Export buildGooglePrivacyDlpV2Export() { buildCounterGooglePrivacyDlpV2Export++; if (buildCounterGooglePrivacyDlpV2Export < 3) { o.profileTable = buildGooglePrivacyDlpV2BigQueryTable(); + o.sampleFindingsTable = buildGooglePrivacyDlpV2BigQueryTable(); } buildCounterGooglePrivacyDlpV2Export--; return o; @@ -4045,6 +4138,7 @@ void checkGooglePrivacyDlpV2Export(api.GooglePrivacyDlpV2Export o) { buildCounterGooglePrivacyDlpV2Export++; if (buildCounterGooglePrivacyDlpV2Export < 3) { checkGooglePrivacyDlpV2BigQueryTable(o.profileTable!); + checkGooglePrivacyDlpV2BigQueryTable(o.sampleFindingsTable!); } buildCounterGooglePrivacyDlpV2Export--; } @@ -4347,23 +4441,34 @@ void checkUnnamed49( checkGooglePrivacyDlpV2FileStoreInfoTypeSummary(o[1]); } -core.Map buildUnnamed50() => { +core.List buildUnnamed50() => [ + buildGooglePrivacyDlpV2RelatedResource(), + buildGooglePrivacyDlpV2RelatedResource(), + ]; + +void checkUnnamed50(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGooglePrivacyDlpV2RelatedResource(o[0]); + checkGooglePrivacyDlpV2RelatedResource(o[1]); +} + +core.Map buildUnnamed51() => { 'x': buildGooglePrivacyDlpV2Value(), 'y': buildGooglePrivacyDlpV2Value(), }; -void checkUnnamed50(core.Map o) { +void checkUnnamed51(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2Value(o['x']!); checkGooglePrivacyDlpV2Value(o['y']!); } -core.Map buildUnnamed51() => { +core.Map buildUnnamed52() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed51(core.Map o) { +void checkUnnamed52(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4399,9 +4504,11 @@ api.GooglePrivacyDlpV2FileStoreDataProfile o.profileStatus = buildGooglePrivacyDlpV2ProfileStatus(); o.projectDataProfile = 'foo'; o.projectId = 'foo'; - o.resourceAttributes = buildUnnamed50(); - o.resourceLabels = buildUnnamed51(); + o.relatedResources = buildUnnamed50(); + o.resourceAttributes = buildUnnamed51(); + o.resourceLabels = buildUnnamed52(); o.resourceVisibility = 'foo'; + o.sampleFindingsTable = buildGooglePrivacyDlpV2BigQueryTable(); o.sensitivityScore = buildGooglePrivacyDlpV2SensitivityScore(); o.state = 'foo'; } @@ -4461,12 +4568,14 @@ void checkGooglePrivacyDlpV2FileStoreDataProfile( o.projectId!, unittest.equals('foo'), ); - checkUnnamed50(o.resourceAttributes!); - checkUnnamed51(o.resourceLabels!); + checkUnnamed50(o.relatedResources!); + checkUnnamed51(o.resourceAttributes!); + checkUnnamed52(o.resourceLabels!); unittest.expect( o.resourceVisibility!, unittest.equals('foo'), ); + checkGooglePrivacyDlpV2BigQueryTable(o.sampleFindingsTable!); checkGooglePrivacyDlpV2SensitivityScore(o.sensitivityScore!); unittest.expect( o.state!, @@ -4517,12 +4626,12 @@ void checkGooglePrivacyDlpV2FileStoreRegex( buildCounterGooglePrivacyDlpV2FileStoreRegex--; } -core.List buildUnnamed52() => [ +core.List buildUnnamed53() => [ buildGooglePrivacyDlpV2FileStoreRegex(), buildGooglePrivacyDlpV2FileStoreRegex(), ]; -void checkUnnamed52(core.List o) { +void checkUnnamed53(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2FileStoreRegex(o[0]); checkGooglePrivacyDlpV2FileStoreRegex(o[1]); @@ -4534,7 +4643,7 @@ api.GooglePrivacyDlpV2FileStoreRegexes final o = api.GooglePrivacyDlpV2FileStoreRegexes(); buildCounterGooglePrivacyDlpV2FileStoreRegexes++; if (buildCounterGooglePrivacyDlpV2FileStoreRegexes < 3) { - o.patterns = buildUnnamed52(); + o.patterns = buildUnnamed53(); } buildCounterGooglePrivacyDlpV2FileStoreRegexes--; return o; @@ -4544,17 +4653,17 @@ void checkGooglePrivacyDlpV2FileStoreRegexes( api.GooglePrivacyDlpV2FileStoreRegexes o) { buildCounterGooglePrivacyDlpV2FileStoreRegexes++; if (buildCounterGooglePrivacyDlpV2FileStoreRegexes < 3) { - checkUnnamed52(o.patterns!); + checkUnnamed53(o.patterns!); } buildCounterGooglePrivacyDlpV2FileStoreRegexes--; } -core.Map buildUnnamed53() => { +core.Map buildUnnamed54() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed53(core.Map o) { +void checkUnnamed54(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4576,7 +4685,7 @@ api.GooglePrivacyDlpV2Finding buildGooglePrivacyDlpV2Finding() { o.infoType = buildGooglePrivacyDlpV2InfoType(); o.jobCreateTime = 'foo'; o.jobName = 'foo'; - o.labels = buildUnnamed53(); + o.labels = buildUnnamed54(); o.likelihood = 'foo'; o.location = buildGooglePrivacyDlpV2Location(); o.name = 'foo'; @@ -4609,7 +4718,7 @@ void checkGooglePrivacyDlpV2Finding(api.GooglePrivacyDlpV2Finding o) { o.jobName!, unittest.equals('foo'), ); - checkUnnamed53(o.labels!); + checkUnnamed54(o.labels!); unittest.expect( o.likelihood!, unittest.equals('foo'), @@ -4636,12 +4745,12 @@ void checkGooglePrivacyDlpV2Finding(api.GooglePrivacyDlpV2Finding o) { buildCounterGooglePrivacyDlpV2Finding--; } -core.List buildUnnamed54() => [ +core.List buildUnnamed55() => [ buildGooglePrivacyDlpV2InfoTypeLimit(), buildGooglePrivacyDlpV2InfoTypeLimit(), ]; -void checkUnnamed54(core.List o) { +void checkUnnamed55(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2InfoTypeLimit(o[0]); checkGooglePrivacyDlpV2InfoTypeLimit(o[1]); @@ -4652,7 +4761,7 @@ api.GooglePrivacyDlpV2FindingLimits buildGooglePrivacyDlpV2FindingLimits() { final o = api.GooglePrivacyDlpV2FindingLimits(); buildCounterGooglePrivacyDlpV2FindingLimits++; if (buildCounterGooglePrivacyDlpV2FindingLimits < 3) { - o.maxFindingsPerInfoType = buildUnnamed54(); + o.maxFindingsPerInfoType = buildUnnamed55(); o.maxFindingsPerItem = 42; o.maxFindingsPerRequest = 42; } @@ -4664,7 +4773,7 @@ void checkGooglePrivacyDlpV2FindingLimits( api.GooglePrivacyDlpV2FindingLimits o) { buildCounterGooglePrivacyDlpV2FindingLimits++; if (buildCounterGooglePrivacyDlpV2FindingLimits < 3) { - checkUnnamed54(o.maxFindingsPerInfoType!); + checkUnnamed55(o.maxFindingsPerInfoType!); unittest.expect( o.maxFindingsPerItem!, unittest.equals(42), @@ -4722,6 +4831,23 @@ void checkGooglePrivacyDlpV2FixedSizeBucketingConfig( buildCounterGooglePrivacyDlpV2FixedSizeBucketingConfig--; } +core.int buildCounterGooglePrivacyDlpV2GlobalProcessing = 0; +api.GooglePrivacyDlpV2GlobalProcessing + buildGooglePrivacyDlpV2GlobalProcessing() { + final o = api.GooglePrivacyDlpV2GlobalProcessing(); + buildCounterGooglePrivacyDlpV2GlobalProcessing++; + if (buildCounterGooglePrivacyDlpV2GlobalProcessing < 3) {} + buildCounterGooglePrivacyDlpV2GlobalProcessing--; + return o; +} + +void checkGooglePrivacyDlpV2GlobalProcessing( + api.GooglePrivacyDlpV2GlobalProcessing o) { + buildCounterGooglePrivacyDlpV2GlobalProcessing++; + if (buildCounterGooglePrivacyDlpV2GlobalProcessing < 3) {} + buildCounterGooglePrivacyDlpV2GlobalProcessing--; +} + core.int buildCounterGooglePrivacyDlpV2HotwordRule = 0; api.GooglePrivacyDlpV2HotwordRule buildGooglePrivacyDlpV2HotwordRule() { final o = api.GooglePrivacyDlpV2HotwordRule(); @@ -4768,12 +4894,12 @@ void checkGooglePrivacyDlpV2HybridContentItem( buildCounterGooglePrivacyDlpV2HybridContentItem--; } -core.Map buildUnnamed55() => { +core.Map buildUnnamed56() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed55(core.Map o) { +void checkUnnamed56(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4793,7 +4919,7 @@ api.GooglePrivacyDlpV2HybridFindingDetails if (buildCounterGooglePrivacyDlpV2HybridFindingDetails < 3) { o.containerDetails = buildGooglePrivacyDlpV2Container(); o.fileOffset = 'foo'; - o.labels = buildUnnamed55(); + o.labels = buildUnnamed56(); o.rowOffset = 'foo'; o.tableOptions = buildGooglePrivacyDlpV2TableOptions(); } @@ -4810,7 +4936,7 @@ void checkGooglePrivacyDlpV2HybridFindingDetails( o.fileOffset!, unittest.equals('foo'), ); - checkUnnamed55(o.labels!); + checkUnnamed56(o.labels!); unittest.expect( o.rowOffset!, unittest.equals('foo'), @@ -4913,12 +5039,12 @@ void checkGooglePrivacyDlpV2HybridInspectStatistics( buildCounterGooglePrivacyDlpV2HybridInspectStatistics--; } -core.Map buildUnnamed56() => { +core.Map buildUnnamed57() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed56(core.Map o) { +void checkUnnamed57(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4930,12 +5056,12 @@ void checkUnnamed56(core.Map o) { ); } -core.List buildUnnamed57() => [ +core.List buildUnnamed58() => [ 'foo', 'foo', ]; -void checkUnnamed57(core.List o) { +void checkUnnamed58(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4953,8 +5079,8 @@ api.GooglePrivacyDlpV2HybridOptions buildGooglePrivacyDlpV2HybridOptions() { buildCounterGooglePrivacyDlpV2HybridOptions++; if (buildCounterGooglePrivacyDlpV2HybridOptions < 3) { o.description = 'foo'; - o.labels = buildUnnamed56(); - o.requiredFindingLabelKeys = buildUnnamed57(); + o.labels = buildUnnamed57(); + o.requiredFindingLabelKeys = buildUnnamed58(); o.tableOptions = buildGooglePrivacyDlpV2TableOptions(); } buildCounterGooglePrivacyDlpV2HybridOptions--; @@ -4969,19 +5095,42 @@ void checkGooglePrivacyDlpV2HybridOptions( o.description!, unittest.equals('foo'), ); - checkUnnamed56(o.labels!); - checkUnnamed57(o.requiredFindingLabelKeys!); + checkUnnamed57(o.labels!); + checkUnnamed58(o.requiredFindingLabelKeys!); checkGooglePrivacyDlpV2TableOptions(o.tableOptions!); } buildCounterGooglePrivacyDlpV2HybridOptions--; } -core.List buildUnnamed58() => [ +core.int buildCounterGooglePrivacyDlpV2ImageFallbackLocation = 0; +api.GooglePrivacyDlpV2ImageFallbackLocation + buildGooglePrivacyDlpV2ImageFallbackLocation() { + final o = api.GooglePrivacyDlpV2ImageFallbackLocation(); + buildCounterGooglePrivacyDlpV2ImageFallbackLocation++; + if (buildCounterGooglePrivacyDlpV2ImageFallbackLocation < 3) { + o.globalProcessing = buildGooglePrivacyDlpV2GlobalProcessing(); + o.multiRegionProcessing = buildGooglePrivacyDlpV2MultiRegionProcessing(); + } + buildCounterGooglePrivacyDlpV2ImageFallbackLocation--; + return o; +} + +void checkGooglePrivacyDlpV2ImageFallbackLocation( + api.GooglePrivacyDlpV2ImageFallbackLocation o) { + buildCounterGooglePrivacyDlpV2ImageFallbackLocation++; + if (buildCounterGooglePrivacyDlpV2ImageFallbackLocation < 3) { + checkGooglePrivacyDlpV2GlobalProcessing(o.globalProcessing!); + checkGooglePrivacyDlpV2MultiRegionProcessing(o.multiRegionProcessing!); + } + buildCounterGooglePrivacyDlpV2ImageFallbackLocation--; +} + +core.List buildUnnamed59() => [ buildGooglePrivacyDlpV2BoundingBox(), buildGooglePrivacyDlpV2BoundingBox(), ]; -void checkUnnamed58(core.List o) { +void checkUnnamed59(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2BoundingBox(o[0]); checkGooglePrivacyDlpV2BoundingBox(o[1]); @@ -4992,7 +5141,7 @@ api.GooglePrivacyDlpV2ImageLocation buildGooglePrivacyDlpV2ImageLocation() { final o = api.GooglePrivacyDlpV2ImageLocation(); buildCounterGooglePrivacyDlpV2ImageLocation++; if (buildCounterGooglePrivacyDlpV2ImageLocation < 3) { - o.boundingBoxes = buildUnnamed58(); + o.boundingBoxes = buildUnnamed59(); } buildCounterGooglePrivacyDlpV2ImageLocation--; return o; @@ -5002,7 +5151,7 @@ void checkGooglePrivacyDlpV2ImageLocation( api.GooglePrivacyDlpV2ImageLocation o) { buildCounterGooglePrivacyDlpV2ImageLocation++; if (buildCounterGooglePrivacyDlpV2ImageLocation < 3) { - checkUnnamed58(o.boundingBoxes!); + checkUnnamed59(o.boundingBoxes!); } buildCounterGooglePrivacyDlpV2ImageLocation--; } @@ -5059,12 +5208,12 @@ void checkGooglePrivacyDlpV2ImageTransformation( buildCounterGooglePrivacyDlpV2ImageTransformation--; } -core.List buildUnnamed59() => [ +core.List buildUnnamed60() => [ buildGooglePrivacyDlpV2ImageTransformation(), buildGooglePrivacyDlpV2ImageTransformation(), ]; -void checkUnnamed59(core.List o) { +void checkUnnamed60(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2ImageTransformation(o[0]); checkGooglePrivacyDlpV2ImageTransformation(o[1]); @@ -5076,7 +5225,7 @@ api.GooglePrivacyDlpV2ImageTransformations final o = api.GooglePrivacyDlpV2ImageTransformations(); buildCounterGooglePrivacyDlpV2ImageTransformations++; if (buildCounterGooglePrivacyDlpV2ImageTransformations < 3) { - o.transforms = buildUnnamed59(); + o.transforms = buildUnnamed60(); } buildCounterGooglePrivacyDlpV2ImageTransformations--; return o; @@ -5086,7 +5235,7 @@ void checkGooglePrivacyDlpV2ImageTransformations( api.GooglePrivacyDlpV2ImageTransformations o) { buildCounterGooglePrivacyDlpV2ImageTransformations++; if (buildCounterGooglePrivacyDlpV2ImageTransformations < 3) { - checkUnnamed59(o.transforms!); + checkUnnamed60(o.transforms!); } buildCounterGooglePrivacyDlpV2ImageTransformations--; } @@ -5154,23 +5303,23 @@ void checkGooglePrivacyDlpV2InfoTypeCategory( buildCounterGooglePrivacyDlpV2InfoTypeCategory--; } -core.List buildUnnamed60() => [ +core.List buildUnnamed61() => [ buildGooglePrivacyDlpV2InfoTypeCategory(), buildGooglePrivacyDlpV2InfoTypeCategory(), ]; -void checkUnnamed60(core.List o) { +void checkUnnamed61(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2InfoTypeCategory(o[0]); checkGooglePrivacyDlpV2InfoTypeCategory(o[1]); } -core.List buildUnnamed61() => [ +core.List buildUnnamed62() => [ 'foo', 'foo', ]; -void checkUnnamed61(core.List o) { +void checkUnnamed62(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5182,12 +5331,12 @@ void checkUnnamed61(core.List o) { ); } -core.List buildUnnamed62() => [ +core.List buildUnnamed63() => [ buildGooglePrivacyDlpV2VersionDescription(), buildGooglePrivacyDlpV2VersionDescription(), ]; -void checkUnnamed62(core.List o) { +void checkUnnamed63(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2VersionDescription(o[0]); checkGooglePrivacyDlpV2VersionDescription(o[1]); @@ -5199,14 +5348,14 @@ api.GooglePrivacyDlpV2InfoTypeDescription final o = api.GooglePrivacyDlpV2InfoTypeDescription(); buildCounterGooglePrivacyDlpV2InfoTypeDescription++; if (buildCounterGooglePrivacyDlpV2InfoTypeDescription < 3) { - o.categories = buildUnnamed60(); + o.categories = buildUnnamed61(); o.description = 'foo'; o.displayName = 'foo'; o.example = 'foo'; o.name = 'foo'; o.sensitivityScore = buildGooglePrivacyDlpV2SensitivityScore(); - o.supportedBy = buildUnnamed61(); - o.versions = buildUnnamed62(); + o.supportedBy = buildUnnamed62(); + o.versions = buildUnnamed63(); } buildCounterGooglePrivacyDlpV2InfoTypeDescription--; return o; @@ -5216,7 +5365,7 @@ void checkGooglePrivacyDlpV2InfoTypeDescription( api.GooglePrivacyDlpV2InfoTypeDescription o) { buildCounterGooglePrivacyDlpV2InfoTypeDescription++; if (buildCounterGooglePrivacyDlpV2InfoTypeDescription < 3) { - checkUnnamed60(o.categories!); + checkUnnamed61(o.categories!); unittest.expect( o.description!, unittest.equals('foo'), @@ -5234,8 +5383,8 @@ void checkGooglePrivacyDlpV2InfoTypeDescription( unittest.equals('foo'), ); checkGooglePrivacyDlpV2SensitivityScore(o.sensitivityScore!); - checkUnnamed61(o.supportedBy!); - checkUnnamed62(o.versions!); + checkUnnamed62(o.supportedBy!); + checkUnnamed63(o.versions!); } buildCounterGooglePrivacyDlpV2InfoTypeDescription--; } @@ -5341,12 +5490,12 @@ void checkGooglePrivacyDlpV2InfoTypeSummary( buildCounterGooglePrivacyDlpV2InfoTypeSummary--; } -core.List buildUnnamed63() => [ +core.List buildUnnamed64() => [ buildGooglePrivacyDlpV2InfoType(), buildGooglePrivacyDlpV2InfoType(), ]; -void checkUnnamed63(core.List o) { +void checkUnnamed64(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2InfoType(o[0]); checkGooglePrivacyDlpV2InfoType(o[1]); @@ -5358,7 +5507,7 @@ api.GooglePrivacyDlpV2InfoTypeTransformation final o = api.GooglePrivacyDlpV2InfoTypeTransformation(); buildCounterGooglePrivacyDlpV2InfoTypeTransformation++; if (buildCounterGooglePrivacyDlpV2InfoTypeTransformation < 3) { - o.infoTypes = buildUnnamed63(); + o.infoTypes = buildUnnamed64(); o.primitiveTransformation = buildGooglePrivacyDlpV2PrimitiveTransformation(); } @@ -5370,18 +5519,18 @@ void checkGooglePrivacyDlpV2InfoTypeTransformation( api.GooglePrivacyDlpV2InfoTypeTransformation o) { buildCounterGooglePrivacyDlpV2InfoTypeTransformation++; if (buildCounterGooglePrivacyDlpV2InfoTypeTransformation < 3) { - checkUnnamed63(o.infoTypes!); + checkUnnamed64(o.infoTypes!); checkGooglePrivacyDlpV2PrimitiveTransformation(o.primitiveTransformation!); } buildCounterGooglePrivacyDlpV2InfoTypeTransformation--; } -core.List buildUnnamed64() => [ +core.List buildUnnamed65() => [ buildGooglePrivacyDlpV2InfoTypeTransformation(), buildGooglePrivacyDlpV2InfoTypeTransformation(), ]; -void checkUnnamed64(core.List o) { +void checkUnnamed65(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2InfoTypeTransformation(o[0]); checkGooglePrivacyDlpV2InfoTypeTransformation(o[1]); @@ -5393,7 +5542,7 @@ api.GooglePrivacyDlpV2InfoTypeTransformations final o = api.GooglePrivacyDlpV2InfoTypeTransformations(); buildCounterGooglePrivacyDlpV2InfoTypeTransformations++; if (buildCounterGooglePrivacyDlpV2InfoTypeTransformations < 3) { - o.transformations = buildUnnamed64(); + o.transformations = buildUnnamed65(); } buildCounterGooglePrivacyDlpV2InfoTypeTransformations--; return o; @@ -5403,17 +5552,17 @@ void checkGooglePrivacyDlpV2InfoTypeTransformations( api.GooglePrivacyDlpV2InfoTypeTransformations o) { buildCounterGooglePrivacyDlpV2InfoTypeTransformations++; if (buildCounterGooglePrivacyDlpV2InfoTypeTransformations < 3) { - checkUnnamed64(o.transformations!); + checkUnnamed65(o.transformations!); } buildCounterGooglePrivacyDlpV2InfoTypeTransformations--; } -core.List buildUnnamed65() => [ +core.List buildUnnamed66() => [ 'foo', 'foo', ]; -void checkUnnamed65(core.List o) { +void checkUnnamed66(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5425,45 +5574,45 @@ void checkUnnamed65(core.List o) { ); } -core.List buildUnnamed66() => [ +core.List buildUnnamed67() => [ buildGooglePrivacyDlpV2CustomInfoType(), buildGooglePrivacyDlpV2CustomInfoType(), ]; -void checkUnnamed66(core.List o) { +void checkUnnamed67(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2CustomInfoType(o[0]); checkGooglePrivacyDlpV2CustomInfoType(o[1]); } -core.List buildUnnamed67() => [ +core.List buildUnnamed68() => [ buildGooglePrivacyDlpV2InfoType(), buildGooglePrivacyDlpV2InfoType(), ]; -void checkUnnamed67(core.List o) { +void checkUnnamed68(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2InfoType(o[0]); checkGooglePrivacyDlpV2InfoType(o[1]); } -core.List buildUnnamed68() => [ +core.List buildUnnamed69() => [ buildGooglePrivacyDlpV2InfoTypeLikelihood(), buildGooglePrivacyDlpV2InfoTypeLikelihood(), ]; -void checkUnnamed68(core.List o) { +void checkUnnamed69(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2InfoTypeLikelihood(o[0]); checkGooglePrivacyDlpV2InfoTypeLikelihood(o[1]); } -core.List buildUnnamed69() => [ +core.List buildUnnamed70() => [ buildGooglePrivacyDlpV2InspectionRuleSet(), buildGooglePrivacyDlpV2InspectionRuleSet(), ]; -void checkUnnamed69(core.List o) { +void checkUnnamed70(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2InspectionRuleSet(o[0]); checkGooglePrivacyDlpV2InspectionRuleSet(o[1]); @@ -5474,15 +5623,15 @@ api.GooglePrivacyDlpV2InspectConfig buildGooglePrivacyDlpV2InspectConfig() { final o = api.GooglePrivacyDlpV2InspectConfig(); buildCounterGooglePrivacyDlpV2InspectConfig++; if (buildCounterGooglePrivacyDlpV2InspectConfig < 3) { - o.contentOptions = buildUnnamed65(); - o.customInfoTypes = buildUnnamed66(); + o.contentOptions = buildUnnamed66(); + o.customInfoTypes = buildUnnamed67(); o.excludeInfoTypes = true; o.includeQuote = true; - o.infoTypes = buildUnnamed67(); + o.infoTypes = buildUnnamed68(); o.limits = buildGooglePrivacyDlpV2FindingLimits(); o.minLikelihood = 'foo'; - o.minLikelihoodPerInfoType = buildUnnamed68(); - o.ruleSet = buildUnnamed69(); + o.minLikelihoodPerInfoType = buildUnnamed69(); + o.ruleSet = buildUnnamed70(); } buildCounterGooglePrivacyDlpV2InspectConfig--; return o; @@ -5492,18 +5641,18 @@ void checkGooglePrivacyDlpV2InspectConfig( api.GooglePrivacyDlpV2InspectConfig o) { buildCounterGooglePrivacyDlpV2InspectConfig++; if (buildCounterGooglePrivacyDlpV2InspectConfig < 3) { - checkUnnamed65(o.contentOptions!); - checkUnnamed66(o.customInfoTypes!); + checkUnnamed66(o.contentOptions!); + checkUnnamed67(o.customInfoTypes!); unittest.expect(o.excludeInfoTypes!, unittest.isTrue); unittest.expect(o.includeQuote!, unittest.isTrue); - checkUnnamed67(o.infoTypes!); + checkUnnamed68(o.infoTypes!); checkGooglePrivacyDlpV2FindingLimits(o.limits!); unittest.expect( o.minLikelihood!, unittest.equals('foo'), ); - checkUnnamed68(o.minLikelihoodPerInfoType!); - checkUnnamed69(o.ruleSet!); + checkUnnamed69(o.minLikelihoodPerInfoType!); + checkUnnamed70(o.ruleSet!); } buildCounterGooglePrivacyDlpV2InspectConfig--; } @@ -5585,12 +5734,12 @@ void checkGooglePrivacyDlpV2InspectDataSourceDetails( buildCounterGooglePrivacyDlpV2InspectDataSourceDetails--; } -core.List buildUnnamed70() => [ +core.List buildUnnamed71() => [ buildGooglePrivacyDlpV2Action(), buildGooglePrivacyDlpV2Action(), ]; -void checkUnnamed70(core.List o) { +void checkUnnamed71(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2Action(o[0]); checkGooglePrivacyDlpV2Action(o[1]); @@ -5602,7 +5751,7 @@ api.GooglePrivacyDlpV2InspectJobConfig final o = api.GooglePrivacyDlpV2InspectJobConfig(); buildCounterGooglePrivacyDlpV2InspectJobConfig++; if (buildCounterGooglePrivacyDlpV2InspectJobConfig < 3) { - o.actions = buildUnnamed70(); + o.actions = buildUnnamed71(); o.inspectConfig = buildGooglePrivacyDlpV2InspectConfig(); o.inspectTemplateName = 'foo'; o.storageConfig = buildGooglePrivacyDlpV2StorageConfig(); @@ -5615,7 +5764,7 @@ void checkGooglePrivacyDlpV2InspectJobConfig( api.GooglePrivacyDlpV2InspectJobConfig o) { buildCounterGooglePrivacyDlpV2InspectJobConfig++; if (buildCounterGooglePrivacyDlpV2InspectJobConfig < 3) { - checkUnnamed70(o.actions!); + checkUnnamed71(o.actions!); checkGooglePrivacyDlpV2InspectConfig(o.inspectConfig!); unittest.expect( o.inspectTemplateName!, @@ -5626,12 +5775,12 @@ void checkGooglePrivacyDlpV2InspectJobConfig( buildCounterGooglePrivacyDlpV2InspectJobConfig--; } -core.List buildUnnamed71() => [ +core.List buildUnnamed72() => [ buildGooglePrivacyDlpV2Finding(), buildGooglePrivacyDlpV2Finding(), ]; -void checkUnnamed71(core.List o) { +void checkUnnamed72(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2Finding(o[0]); checkGooglePrivacyDlpV2Finding(o[1]); @@ -5642,7 +5791,7 @@ api.GooglePrivacyDlpV2InspectResult buildGooglePrivacyDlpV2InspectResult() { final o = api.GooglePrivacyDlpV2InspectResult(); buildCounterGooglePrivacyDlpV2InspectResult++; if (buildCounterGooglePrivacyDlpV2InspectResult < 3) { - o.findings = buildUnnamed71(); + o.findings = buildUnnamed72(); o.findingsTruncated = true; } buildCounterGooglePrivacyDlpV2InspectResult--; @@ -5653,7 +5802,7 @@ void checkGooglePrivacyDlpV2InspectResult( api.GooglePrivacyDlpV2InspectResult o) { buildCounterGooglePrivacyDlpV2InspectResult++; if (buildCounterGooglePrivacyDlpV2InspectResult < 3) { - checkUnnamed71(o.findings!); + checkUnnamed72(o.findings!); unittest.expect(o.findingsTruncated!, unittest.isTrue); } buildCounterGooglePrivacyDlpV2InspectResult--; @@ -5726,23 +5875,23 @@ void checkGooglePrivacyDlpV2InspectionRule( buildCounterGooglePrivacyDlpV2InspectionRule--; } -core.List buildUnnamed72() => [ +core.List buildUnnamed73() => [ buildGooglePrivacyDlpV2InfoType(), buildGooglePrivacyDlpV2InfoType(), ]; -void checkUnnamed72(core.List o) { +void checkUnnamed73(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2InfoType(o[0]); checkGooglePrivacyDlpV2InfoType(o[1]); } -core.List buildUnnamed73() => [ +core.List buildUnnamed74() => [ buildGooglePrivacyDlpV2InspectionRule(), buildGooglePrivacyDlpV2InspectionRule(), ]; -void checkUnnamed73(core.List o) { +void checkUnnamed74(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2InspectionRule(o[0]); checkGooglePrivacyDlpV2InspectionRule(o[1]); @@ -5754,8 +5903,8 @@ api.GooglePrivacyDlpV2InspectionRuleSet final o = api.GooglePrivacyDlpV2InspectionRuleSet(); buildCounterGooglePrivacyDlpV2InspectionRuleSet++; if (buildCounterGooglePrivacyDlpV2InspectionRuleSet < 3) { - o.infoTypes = buildUnnamed72(); - o.rules = buildUnnamed73(); + o.infoTypes = buildUnnamed73(); + o.rules = buildUnnamed74(); } buildCounterGooglePrivacyDlpV2InspectionRuleSet--; return o; @@ -5765,8 +5914,8 @@ void checkGooglePrivacyDlpV2InspectionRuleSet( api.GooglePrivacyDlpV2InspectionRuleSet o) { buildCounterGooglePrivacyDlpV2InspectionRuleSet++; if (buildCounterGooglePrivacyDlpV2InspectionRuleSet < 3) { - checkUnnamed72(o.infoTypes!); - checkUnnamed73(o.rules!); + checkUnnamed73(o.infoTypes!); + checkUnnamed74(o.rules!); } buildCounterGooglePrivacyDlpV2InspectionRuleSet--; } @@ -5788,23 +5937,23 @@ void checkGooglePrivacyDlpV2JobNotificationEmails( buildCounterGooglePrivacyDlpV2JobNotificationEmails--; } -core.List buildUnnamed74() => [ +core.List buildUnnamed75() => [ buildGooglePrivacyDlpV2Error(), buildGooglePrivacyDlpV2Error(), ]; -void checkUnnamed74(core.List o) { +void checkUnnamed75(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2Error(o[0]); checkGooglePrivacyDlpV2Error(o[1]); } -core.List buildUnnamed75() => [ +core.List buildUnnamed76() => [ buildGooglePrivacyDlpV2Trigger(), buildGooglePrivacyDlpV2Trigger(), ]; -void checkUnnamed75(core.List o) { +void checkUnnamed76(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2Trigger(o[0]); checkGooglePrivacyDlpV2Trigger(o[1]); @@ -5818,12 +5967,12 @@ api.GooglePrivacyDlpV2JobTrigger buildGooglePrivacyDlpV2JobTrigger() { o.createTime = 'foo'; o.description = 'foo'; o.displayName = 'foo'; - o.errors = buildUnnamed74(); + o.errors = buildUnnamed75(); o.inspectJob = buildGooglePrivacyDlpV2InspectJobConfig(); o.lastRunTime = 'foo'; o.name = 'foo'; o.status = 'foo'; - o.triggers = buildUnnamed75(); + o.triggers = buildUnnamed76(); o.updateTime = 'foo'; } buildCounterGooglePrivacyDlpV2JobTrigger--; @@ -5845,7 +5994,7 @@ void checkGooglePrivacyDlpV2JobTrigger(api.GooglePrivacyDlpV2JobTrigger o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed74(o.errors!); + checkUnnamed75(o.errors!); checkGooglePrivacyDlpV2InspectJobConfig(o.inspectJob!); unittest.expect( o.lastRunTime!, @@ -5859,7 +6008,7 @@ void checkGooglePrivacyDlpV2JobTrigger(api.GooglePrivacyDlpV2JobTrigger o) { o.status!, unittest.equals('foo'), ); - checkUnnamed75(o.triggers!); + checkUnnamed76(o.triggers!); unittest.expect( o.updateTime!, unittest.equals('foo'), @@ -5868,12 +6017,12 @@ void checkGooglePrivacyDlpV2JobTrigger(api.GooglePrivacyDlpV2JobTrigger o) { buildCounterGooglePrivacyDlpV2JobTrigger--; } -core.List buildUnnamed76() => [ +core.List buildUnnamed77() => [ buildGooglePrivacyDlpV2FieldId(), buildGooglePrivacyDlpV2FieldId(), ]; -void checkUnnamed76(core.List o) { +void checkUnnamed77(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2FieldId(o[0]); checkGooglePrivacyDlpV2FieldId(o[1]); @@ -5886,7 +6035,7 @@ api.GooglePrivacyDlpV2KAnonymityConfig buildCounterGooglePrivacyDlpV2KAnonymityConfig++; if (buildCounterGooglePrivacyDlpV2KAnonymityConfig < 3) { o.entityId = buildGooglePrivacyDlpV2EntityId(); - o.quasiIds = buildUnnamed76(); + o.quasiIds = buildUnnamed77(); } buildCounterGooglePrivacyDlpV2KAnonymityConfig--; return o; @@ -5897,17 +6046,17 @@ void checkGooglePrivacyDlpV2KAnonymityConfig( buildCounterGooglePrivacyDlpV2KAnonymityConfig++; if (buildCounterGooglePrivacyDlpV2KAnonymityConfig < 3) { checkGooglePrivacyDlpV2EntityId(o.entityId!); - checkUnnamed76(o.quasiIds!); + checkUnnamed77(o.quasiIds!); } buildCounterGooglePrivacyDlpV2KAnonymityConfig--; } -core.List buildUnnamed77() => [ +core.List buildUnnamed78() => [ buildGooglePrivacyDlpV2Value(), buildGooglePrivacyDlpV2Value(), ]; -void checkUnnamed77(core.List o) { +void checkUnnamed78(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2Value(o[0]); checkGooglePrivacyDlpV2Value(o[1]); @@ -5920,7 +6069,7 @@ api.GooglePrivacyDlpV2KAnonymityEquivalenceClass buildCounterGooglePrivacyDlpV2KAnonymityEquivalenceClass++; if (buildCounterGooglePrivacyDlpV2KAnonymityEquivalenceClass < 3) { o.equivalenceClassSize = 'foo'; - o.quasiIdsValues = buildUnnamed77(); + o.quasiIdsValues = buildUnnamed78(); } buildCounterGooglePrivacyDlpV2KAnonymityEquivalenceClass--; return o; @@ -5934,18 +6083,18 @@ void checkGooglePrivacyDlpV2KAnonymityEquivalenceClass( o.equivalenceClassSize!, unittest.equals('foo'), ); - checkUnnamed77(o.quasiIdsValues!); + checkUnnamed78(o.quasiIdsValues!); } buildCounterGooglePrivacyDlpV2KAnonymityEquivalenceClass--; } -core.List buildUnnamed78() => +core.List buildUnnamed79() => [ buildGooglePrivacyDlpV2KAnonymityEquivalenceClass(), buildGooglePrivacyDlpV2KAnonymityEquivalenceClass(), ]; -void checkUnnamed78( +void checkUnnamed79( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2KAnonymityEquivalenceClass(o[0]); @@ -5960,7 +6109,7 @@ api.GooglePrivacyDlpV2KAnonymityHistogramBucket if (buildCounterGooglePrivacyDlpV2KAnonymityHistogramBucket < 3) { o.bucketSize = 'foo'; o.bucketValueCount = 'foo'; - o.bucketValues = buildUnnamed78(); + o.bucketValues = buildUnnamed79(); o.equivalenceClassSizeLowerBound = 'foo'; o.equivalenceClassSizeUpperBound = 'foo'; } @@ -5980,7 +6129,7 @@ void checkGooglePrivacyDlpV2KAnonymityHistogramBucket( o.bucketValueCount!, unittest.equals('foo'), ); - checkUnnamed78(o.bucketValues!); + checkUnnamed79(o.bucketValues!); unittest.expect( o.equivalenceClassSizeLowerBound!, unittest.equals('foo'), @@ -5993,12 +6142,12 @@ void checkGooglePrivacyDlpV2KAnonymityHistogramBucket( buildCounterGooglePrivacyDlpV2KAnonymityHistogramBucket--; } -core.List buildUnnamed79() => [ +core.List buildUnnamed80() => [ buildGooglePrivacyDlpV2KAnonymityHistogramBucket(), buildGooglePrivacyDlpV2KAnonymityHistogramBucket(), ]; -void checkUnnamed79( +void checkUnnamed80( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2KAnonymityHistogramBucket(o[0]); @@ -6011,7 +6160,7 @@ api.GooglePrivacyDlpV2KAnonymityResult final o = api.GooglePrivacyDlpV2KAnonymityResult(); buildCounterGooglePrivacyDlpV2KAnonymityResult++; if (buildCounterGooglePrivacyDlpV2KAnonymityResult < 3) { - o.equivalenceClassHistogramBuckets = buildUnnamed79(); + o.equivalenceClassHistogramBuckets = buildUnnamed80(); } buildCounterGooglePrivacyDlpV2KAnonymityResult--; return o; @@ -6021,28 +6170,28 @@ void checkGooglePrivacyDlpV2KAnonymityResult( api.GooglePrivacyDlpV2KAnonymityResult o) { buildCounterGooglePrivacyDlpV2KAnonymityResult++; if (buildCounterGooglePrivacyDlpV2KAnonymityResult < 3) { - checkUnnamed79(o.equivalenceClassHistogramBuckets!); + checkUnnamed80(o.equivalenceClassHistogramBuckets!); } buildCounterGooglePrivacyDlpV2KAnonymityResult--; } -core.List buildUnnamed80() => [ +core.List buildUnnamed81() => [ buildGooglePrivacyDlpV2AuxiliaryTable(), buildGooglePrivacyDlpV2AuxiliaryTable(), ]; -void checkUnnamed80(core.List o) { +void checkUnnamed81(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2AuxiliaryTable(o[0]); checkGooglePrivacyDlpV2AuxiliaryTable(o[1]); } -core.List buildUnnamed81() => [ +core.List buildUnnamed82() => [ buildGooglePrivacyDlpV2TaggedField(), buildGooglePrivacyDlpV2TaggedField(), ]; -void checkUnnamed81(core.List o) { +void checkUnnamed82(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2TaggedField(o[0]); checkGooglePrivacyDlpV2TaggedField(o[1]); @@ -6054,8 +6203,8 @@ api.GooglePrivacyDlpV2KMapEstimationConfig final o = api.GooglePrivacyDlpV2KMapEstimationConfig(); buildCounterGooglePrivacyDlpV2KMapEstimationConfig++; if (buildCounterGooglePrivacyDlpV2KMapEstimationConfig < 3) { - o.auxiliaryTables = buildUnnamed80(); - o.quasiIds = buildUnnamed81(); + o.auxiliaryTables = buildUnnamed81(); + o.quasiIds = buildUnnamed82(); o.regionCode = 'foo'; } buildCounterGooglePrivacyDlpV2KMapEstimationConfig--; @@ -6066,8 +6215,8 @@ void checkGooglePrivacyDlpV2KMapEstimationConfig( api.GooglePrivacyDlpV2KMapEstimationConfig o) { buildCounterGooglePrivacyDlpV2KMapEstimationConfig++; if (buildCounterGooglePrivacyDlpV2KMapEstimationConfig < 3) { - checkUnnamed80(o.auxiliaryTables!); - checkUnnamed81(o.quasiIds!); + checkUnnamed81(o.auxiliaryTables!); + checkUnnamed82(o.quasiIds!); unittest.expect( o.regionCode!, unittest.equals('foo'), @@ -6076,13 +6225,13 @@ void checkGooglePrivacyDlpV2KMapEstimationConfig( buildCounterGooglePrivacyDlpV2KMapEstimationConfig--; } -core.List buildUnnamed82() => +core.List buildUnnamed83() => [ buildGooglePrivacyDlpV2KMapEstimationQuasiIdValues(), buildGooglePrivacyDlpV2KMapEstimationQuasiIdValues(), ]; -void checkUnnamed82( +void checkUnnamed83( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2KMapEstimationQuasiIdValues(o[0]); @@ -6097,7 +6246,7 @@ api.GooglePrivacyDlpV2KMapEstimationHistogramBucket if (buildCounterGooglePrivacyDlpV2KMapEstimationHistogramBucket < 3) { o.bucketSize = 'foo'; o.bucketValueCount = 'foo'; - o.bucketValues = buildUnnamed82(); + o.bucketValues = buildUnnamed83(); o.maxAnonymity = 'foo'; o.minAnonymity = 'foo'; } @@ -6117,7 +6266,7 @@ void checkGooglePrivacyDlpV2KMapEstimationHistogramBucket( o.bucketValueCount!, unittest.equals('foo'), ); - checkUnnamed82(o.bucketValues!); + checkUnnamed83(o.bucketValues!); unittest.expect( o.maxAnonymity!, unittest.equals('foo'), @@ -6130,12 +6279,12 @@ void checkGooglePrivacyDlpV2KMapEstimationHistogramBucket( buildCounterGooglePrivacyDlpV2KMapEstimationHistogramBucket--; } -core.List buildUnnamed83() => [ +core.List buildUnnamed84() => [ buildGooglePrivacyDlpV2Value(), buildGooglePrivacyDlpV2Value(), ]; -void checkUnnamed83(core.List o) { +void checkUnnamed84(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2Value(o[0]); checkGooglePrivacyDlpV2Value(o[1]); @@ -6148,7 +6297,7 @@ api.GooglePrivacyDlpV2KMapEstimationQuasiIdValues buildCounterGooglePrivacyDlpV2KMapEstimationQuasiIdValues++; if (buildCounterGooglePrivacyDlpV2KMapEstimationQuasiIdValues < 3) { o.estimatedAnonymity = 'foo'; - o.quasiIdsValues = buildUnnamed83(); + o.quasiIdsValues = buildUnnamed84(); } buildCounterGooglePrivacyDlpV2KMapEstimationQuasiIdValues--; return o; @@ -6162,18 +6311,18 @@ void checkGooglePrivacyDlpV2KMapEstimationQuasiIdValues( o.estimatedAnonymity!, unittest.equals('foo'), ); - checkUnnamed83(o.quasiIdsValues!); + checkUnnamed84(o.quasiIdsValues!); } buildCounterGooglePrivacyDlpV2KMapEstimationQuasiIdValues--; } core.List - buildUnnamed84() => [ + buildUnnamed85() => [ buildGooglePrivacyDlpV2KMapEstimationHistogramBucket(), buildGooglePrivacyDlpV2KMapEstimationHistogramBucket(), ]; -void checkUnnamed84( +void checkUnnamed85( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2KMapEstimationHistogramBucket(o[0]); @@ -6186,7 +6335,7 @@ api.GooglePrivacyDlpV2KMapEstimationResult final o = api.GooglePrivacyDlpV2KMapEstimationResult(); buildCounterGooglePrivacyDlpV2KMapEstimationResult++; if (buildCounterGooglePrivacyDlpV2KMapEstimationResult < 3) { - o.kMapEstimationHistogram = buildUnnamed84(); + o.kMapEstimationHistogram = buildUnnamed85(); } buildCounterGooglePrivacyDlpV2KMapEstimationResult--; return o; @@ -6196,17 +6345,17 @@ void checkGooglePrivacyDlpV2KMapEstimationResult( api.GooglePrivacyDlpV2KMapEstimationResult o) { buildCounterGooglePrivacyDlpV2KMapEstimationResult++; if (buildCounterGooglePrivacyDlpV2KMapEstimationResult < 3) { - checkUnnamed84(o.kMapEstimationHistogram!); + checkUnnamed85(o.kMapEstimationHistogram!); } buildCounterGooglePrivacyDlpV2KMapEstimationResult--; } -core.List buildUnnamed85() => [ +core.List buildUnnamed86() => [ buildGooglePrivacyDlpV2PathElement(), buildGooglePrivacyDlpV2PathElement(), ]; -void checkUnnamed85(core.List o) { +void checkUnnamed86(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2PathElement(o[0]); checkGooglePrivacyDlpV2PathElement(o[1]); @@ -6218,7 +6367,7 @@ api.GooglePrivacyDlpV2Key buildGooglePrivacyDlpV2Key() { buildCounterGooglePrivacyDlpV2Key++; if (buildCounterGooglePrivacyDlpV2Key < 3) { o.partitionId = buildGooglePrivacyDlpV2PartitionId(); - o.path = buildUnnamed85(); + o.path = buildUnnamed86(); } buildCounterGooglePrivacyDlpV2Key--; return o; @@ -6228,7 +6377,7 @@ void checkGooglePrivacyDlpV2Key(api.GooglePrivacyDlpV2Key o) { buildCounterGooglePrivacyDlpV2Key++; if (buildCounterGooglePrivacyDlpV2Key < 3) { checkGooglePrivacyDlpV2PartitionId(o.partitionId!); - checkUnnamed85(o.path!); + checkUnnamed86(o.path!); } buildCounterGooglePrivacyDlpV2Key--; } @@ -6285,12 +6434,12 @@ void checkGooglePrivacyDlpV2KmsWrappedCryptoKey( buildCounterGooglePrivacyDlpV2KmsWrappedCryptoKey--; } -core.List buildUnnamed86() => [ +core.List buildUnnamed87() => [ buildGooglePrivacyDlpV2FieldId(), buildGooglePrivacyDlpV2FieldId(), ]; -void checkUnnamed86(core.List o) { +void checkUnnamed87(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2FieldId(o[0]); checkGooglePrivacyDlpV2FieldId(o[1]); @@ -6302,7 +6451,7 @@ api.GooglePrivacyDlpV2LDiversityConfig final o = api.GooglePrivacyDlpV2LDiversityConfig(); buildCounterGooglePrivacyDlpV2LDiversityConfig++; if (buildCounterGooglePrivacyDlpV2LDiversityConfig < 3) { - o.quasiIds = buildUnnamed86(); + o.quasiIds = buildUnnamed87(); o.sensitiveAttribute = buildGooglePrivacyDlpV2FieldId(); } buildCounterGooglePrivacyDlpV2LDiversityConfig--; @@ -6313,29 +6462,29 @@ void checkGooglePrivacyDlpV2LDiversityConfig( api.GooglePrivacyDlpV2LDiversityConfig o) { buildCounterGooglePrivacyDlpV2LDiversityConfig++; if (buildCounterGooglePrivacyDlpV2LDiversityConfig < 3) { - checkUnnamed86(o.quasiIds!); + checkUnnamed87(o.quasiIds!); checkGooglePrivacyDlpV2FieldId(o.sensitiveAttribute!); } buildCounterGooglePrivacyDlpV2LDiversityConfig--; } -core.List buildUnnamed87() => [ +core.List buildUnnamed88() => [ buildGooglePrivacyDlpV2Value(), buildGooglePrivacyDlpV2Value(), ]; -void checkUnnamed87(core.List o) { +void checkUnnamed88(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2Value(o[0]); checkGooglePrivacyDlpV2Value(o[1]); } -core.List buildUnnamed88() => [ +core.List buildUnnamed89() => [ buildGooglePrivacyDlpV2ValueFrequency(), buildGooglePrivacyDlpV2ValueFrequency(), ]; -void checkUnnamed88(core.List o) { +void checkUnnamed89(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2ValueFrequency(o[0]); checkGooglePrivacyDlpV2ValueFrequency(o[1]); @@ -6349,8 +6498,8 @@ api.GooglePrivacyDlpV2LDiversityEquivalenceClass if (buildCounterGooglePrivacyDlpV2LDiversityEquivalenceClass < 3) { o.equivalenceClassSize = 'foo'; o.numDistinctSensitiveValues = 'foo'; - o.quasiIdsValues = buildUnnamed87(); - o.topSensitiveValues = buildUnnamed88(); + o.quasiIdsValues = buildUnnamed88(); + o.topSensitiveValues = buildUnnamed89(); } buildCounterGooglePrivacyDlpV2LDiversityEquivalenceClass--; return o; @@ -6368,19 +6517,19 @@ void checkGooglePrivacyDlpV2LDiversityEquivalenceClass( o.numDistinctSensitiveValues!, unittest.equals('foo'), ); - checkUnnamed87(o.quasiIdsValues!); - checkUnnamed88(o.topSensitiveValues!); + checkUnnamed88(o.quasiIdsValues!); + checkUnnamed89(o.topSensitiveValues!); } buildCounterGooglePrivacyDlpV2LDiversityEquivalenceClass--; } -core.List buildUnnamed89() => +core.List buildUnnamed90() => [ buildGooglePrivacyDlpV2LDiversityEquivalenceClass(), buildGooglePrivacyDlpV2LDiversityEquivalenceClass(), ]; -void checkUnnamed89( +void checkUnnamed90( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2LDiversityEquivalenceClass(o[0]); @@ -6395,7 +6544,7 @@ api.GooglePrivacyDlpV2LDiversityHistogramBucket if (buildCounterGooglePrivacyDlpV2LDiversityHistogramBucket < 3) { o.bucketSize = 'foo'; o.bucketValueCount = 'foo'; - o.bucketValues = buildUnnamed89(); + o.bucketValues = buildUnnamed90(); o.sensitiveValueFrequencyLowerBound = 'foo'; o.sensitiveValueFrequencyUpperBound = 'foo'; } @@ -6415,7 +6564,7 @@ void checkGooglePrivacyDlpV2LDiversityHistogramBucket( o.bucketValueCount!, unittest.equals('foo'), ); - checkUnnamed89(o.bucketValues!); + checkUnnamed90(o.bucketValues!); unittest.expect( o.sensitiveValueFrequencyLowerBound!, unittest.equals('foo'), @@ -6428,12 +6577,12 @@ void checkGooglePrivacyDlpV2LDiversityHistogramBucket( buildCounterGooglePrivacyDlpV2LDiversityHistogramBucket--; } -core.List buildUnnamed90() => [ +core.List buildUnnamed91() => [ buildGooglePrivacyDlpV2LDiversityHistogramBucket(), buildGooglePrivacyDlpV2LDiversityHistogramBucket(), ]; -void checkUnnamed90( +void checkUnnamed91( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2LDiversityHistogramBucket(o[0]); @@ -6446,7 +6595,7 @@ api.GooglePrivacyDlpV2LDiversityResult final o = api.GooglePrivacyDlpV2LDiversityResult(); buildCounterGooglePrivacyDlpV2LDiversityResult++; if (buildCounterGooglePrivacyDlpV2LDiversityResult < 3) { - o.sensitiveValueFrequencyHistogramBuckets = buildUnnamed90(); + o.sensitiveValueFrequencyHistogramBuckets = buildUnnamed91(); } buildCounterGooglePrivacyDlpV2LDiversityResult--; return o; @@ -6456,7 +6605,7 @@ void checkGooglePrivacyDlpV2LDiversityResult( api.GooglePrivacyDlpV2LDiversityResult o) { buildCounterGooglePrivacyDlpV2LDiversityResult++; if (buildCounterGooglePrivacyDlpV2LDiversityResult < 3) { - checkUnnamed90(o.sensitiveValueFrequencyHistogramBuckets!); + checkUnnamed91(o.sensitiveValueFrequencyHistogramBuckets!); } buildCounterGooglePrivacyDlpV2LDiversityResult--; } @@ -6556,12 +6705,12 @@ void checkGooglePrivacyDlpV2LikelihoodAdjustment( buildCounterGooglePrivacyDlpV2LikelihoodAdjustment--; } -core.List buildUnnamed91() => [ +core.List buildUnnamed92() => [ buildGooglePrivacyDlpV2ColumnDataProfile(), buildGooglePrivacyDlpV2ColumnDataProfile(), ]; -void checkUnnamed91(core.List o) { +void checkUnnamed92(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2ColumnDataProfile(o[0]); checkGooglePrivacyDlpV2ColumnDataProfile(o[1]); @@ -6573,7 +6722,7 @@ api.GooglePrivacyDlpV2ListColumnDataProfilesResponse final o = api.GooglePrivacyDlpV2ListColumnDataProfilesResponse(); buildCounterGooglePrivacyDlpV2ListColumnDataProfilesResponse++; if (buildCounterGooglePrivacyDlpV2ListColumnDataProfilesResponse < 3) { - o.columnDataProfiles = buildUnnamed91(); + o.columnDataProfiles = buildUnnamed92(); o.nextPageToken = 'foo'; } buildCounterGooglePrivacyDlpV2ListColumnDataProfilesResponse--; @@ -6584,7 +6733,7 @@ void checkGooglePrivacyDlpV2ListColumnDataProfilesResponse( api.GooglePrivacyDlpV2ListColumnDataProfilesResponse o) { buildCounterGooglePrivacyDlpV2ListColumnDataProfilesResponse++; if (buildCounterGooglePrivacyDlpV2ListColumnDataProfilesResponse < 3) { - checkUnnamed91(o.columnDataProfiles!); + checkUnnamed92(o.columnDataProfiles!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -6593,12 +6742,12 @@ void checkGooglePrivacyDlpV2ListColumnDataProfilesResponse( buildCounterGooglePrivacyDlpV2ListColumnDataProfilesResponse--; } -core.List buildUnnamed92() => [ +core.List buildUnnamed93() => [ buildGooglePrivacyDlpV2Connection(), buildGooglePrivacyDlpV2Connection(), ]; -void checkUnnamed92(core.List o) { +void checkUnnamed93(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2Connection(o[0]); checkGooglePrivacyDlpV2Connection(o[1]); @@ -6610,7 +6759,7 @@ api.GooglePrivacyDlpV2ListConnectionsResponse final o = api.GooglePrivacyDlpV2ListConnectionsResponse(); buildCounterGooglePrivacyDlpV2ListConnectionsResponse++; if (buildCounterGooglePrivacyDlpV2ListConnectionsResponse < 3) { - o.connections = buildUnnamed92(); + o.connections = buildUnnamed93(); o.nextPageToken = 'foo'; } buildCounterGooglePrivacyDlpV2ListConnectionsResponse--; @@ -6621,7 +6770,7 @@ void checkGooglePrivacyDlpV2ListConnectionsResponse( api.GooglePrivacyDlpV2ListConnectionsResponse o) { buildCounterGooglePrivacyDlpV2ListConnectionsResponse++; if (buildCounterGooglePrivacyDlpV2ListConnectionsResponse < 3) { - checkUnnamed92(o.connections!); + checkUnnamed93(o.connections!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -6630,12 +6779,12 @@ void checkGooglePrivacyDlpV2ListConnectionsResponse( buildCounterGooglePrivacyDlpV2ListConnectionsResponse--; } -core.List buildUnnamed93() => [ +core.List buildUnnamed94() => [ buildGooglePrivacyDlpV2DeidentifyTemplate(), buildGooglePrivacyDlpV2DeidentifyTemplate(), ]; -void checkUnnamed93(core.List o) { +void checkUnnamed94(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2DeidentifyTemplate(o[0]); checkGooglePrivacyDlpV2DeidentifyTemplate(o[1]); @@ -6647,7 +6796,7 @@ api.GooglePrivacyDlpV2ListDeidentifyTemplatesResponse final o = api.GooglePrivacyDlpV2ListDeidentifyTemplatesResponse(); buildCounterGooglePrivacyDlpV2ListDeidentifyTemplatesResponse++; if (buildCounterGooglePrivacyDlpV2ListDeidentifyTemplatesResponse < 3) { - o.deidentifyTemplates = buildUnnamed93(); + o.deidentifyTemplates = buildUnnamed94(); o.nextPageToken = 'foo'; } buildCounterGooglePrivacyDlpV2ListDeidentifyTemplatesResponse--; @@ -6658,7 +6807,7 @@ void checkGooglePrivacyDlpV2ListDeidentifyTemplatesResponse( api.GooglePrivacyDlpV2ListDeidentifyTemplatesResponse o) { buildCounterGooglePrivacyDlpV2ListDeidentifyTemplatesResponse++; if (buildCounterGooglePrivacyDlpV2ListDeidentifyTemplatesResponse < 3) { - checkUnnamed93(o.deidentifyTemplates!); + checkUnnamed94(o.deidentifyTemplates!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -6667,12 +6816,12 @@ void checkGooglePrivacyDlpV2ListDeidentifyTemplatesResponse( buildCounterGooglePrivacyDlpV2ListDeidentifyTemplatesResponse--; } -core.List buildUnnamed94() => [ +core.List buildUnnamed95() => [ buildGooglePrivacyDlpV2DiscoveryConfig(), buildGooglePrivacyDlpV2DiscoveryConfig(), ]; -void checkUnnamed94(core.List o) { +void checkUnnamed95(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2DiscoveryConfig(o[0]); checkGooglePrivacyDlpV2DiscoveryConfig(o[1]); @@ -6684,7 +6833,7 @@ api.GooglePrivacyDlpV2ListDiscoveryConfigsResponse final o = api.GooglePrivacyDlpV2ListDiscoveryConfigsResponse(); buildCounterGooglePrivacyDlpV2ListDiscoveryConfigsResponse++; if (buildCounterGooglePrivacyDlpV2ListDiscoveryConfigsResponse < 3) { - o.discoveryConfigs = buildUnnamed94(); + o.discoveryConfigs = buildUnnamed95(); o.nextPageToken = 'foo'; } buildCounterGooglePrivacyDlpV2ListDiscoveryConfigsResponse--; @@ -6695,7 +6844,7 @@ void checkGooglePrivacyDlpV2ListDiscoveryConfigsResponse( api.GooglePrivacyDlpV2ListDiscoveryConfigsResponse o) { buildCounterGooglePrivacyDlpV2ListDiscoveryConfigsResponse++; if (buildCounterGooglePrivacyDlpV2ListDiscoveryConfigsResponse < 3) { - checkUnnamed94(o.discoveryConfigs!); + checkUnnamed95(o.discoveryConfigs!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -6704,12 +6853,12 @@ void checkGooglePrivacyDlpV2ListDiscoveryConfigsResponse( buildCounterGooglePrivacyDlpV2ListDiscoveryConfigsResponse--; } -core.List buildUnnamed95() => [ +core.List buildUnnamed96() => [ buildGooglePrivacyDlpV2DlpJob(), buildGooglePrivacyDlpV2DlpJob(), ]; -void checkUnnamed95(core.List o) { +void checkUnnamed96(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2DlpJob(o[0]); checkGooglePrivacyDlpV2DlpJob(o[1]); @@ -6721,7 +6870,7 @@ api.GooglePrivacyDlpV2ListDlpJobsResponse final o = api.GooglePrivacyDlpV2ListDlpJobsResponse(); buildCounterGooglePrivacyDlpV2ListDlpJobsResponse++; if (buildCounterGooglePrivacyDlpV2ListDlpJobsResponse < 3) { - o.jobs = buildUnnamed95(); + o.jobs = buildUnnamed96(); o.nextPageToken = 'foo'; } buildCounterGooglePrivacyDlpV2ListDlpJobsResponse--; @@ -6732,7 +6881,7 @@ void checkGooglePrivacyDlpV2ListDlpJobsResponse( api.GooglePrivacyDlpV2ListDlpJobsResponse o) { buildCounterGooglePrivacyDlpV2ListDlpJobsResponse++; if (buildCounterGooglePrivacyDlpV2ListDlpJobsResponse < 3) { - checkUnnamed95(o.jobs!); + checkUnnamed96(o.jobs!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -6741,12 +6890,12 @@ void checkGooglePrivacyDlpV2ListDlpJobsResponse( buildCounterGooglePrivacyDlpV2ListDlpJobsResponse--; } -core.List buildUnnamed96() => [ +core.List buildUnnamed97() => [ buildGooglePrivacyDlpV2FileStoreDataProfile(), buildGooglePrivacyDlpV2FileStoreDataProfile(), ]; -void checkUnnamed96(core.List o) { +void checkUnnamed97(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2FileStoreDataProfile(o[0]); checkGooglePrivacyDlpV2FileStoreDataProfile(o[1]); @@ -6758,7 +6907,7 @@ api.GooglePrivacyDlpV2ListFileStoreDataProfilesResponse final o = api.GooglePrivacyDlpV2ListFileStoreDataProfilesResponse(); buildCounterGooglePrivacyDlpV2ListFileStoreDataProfilesResponse++; if (buildCounterGooglePrivacyDlpV2ListFileStoreDataProfilesResponse < 3) { - o.fileStoreDataProfiles = buildUnnamed96(); + o.fileStoreDataProfiles = buildUnnamed97(); o.nextPageToken = 'foo'; } buildCounterGooglePrivacyDlpV2ListFileStoreDataProfilesResponse--; @@ -6769,7 +6918,7 @@ void checkGooglePrivacyDlpV2ListFileStoreDataProfilesResponse( api.GooglePrivacyDlpV2ListFileStoreDataProfilesResponse o) { buildCounterGooglePrivacyDlpV2ListFileStoreDataProfilesResponse++; if (buildCounterGooglePrivacyDlpV2ListFileStoreDataProfilesResponse < 3) { - checkUnnamed96(o.fileStoreDataProfiles!); + checkUnnamed97(o.fileStoreDataProfiles!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -6778,12 +6927,12 @@ void checkGooglePrivacyDlpV2ListFileStoreDataProfilesResponse( buildCounterGooglePrivacyDlpV2ListFileStoreDataProfilesResponse--; } -core.List buildUnnamed97() => [ +core.List buildUnnamed98() => [ buildGooglePrivacyDlpV2InfoTypeDescription(), buildGooglePrivacyDlpV2InfoTypeDescription(), ]; -void checkUnnamed97(core.List o) { +void checkUnnamed98(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2InfoTypeDescription(o[0]); checkGooglePrivacyDlpV2InfoTypeDescription(o[1]); @@ -6795,7 +6944,7 @@ api.GooglePrivacyDlpV2ListInfoTypesResponse final o = api.GooglePrivacyDlpV2ListInfoTypesResponse(); buildCounterGooglePrivacyDlpV2ListInfoTypesResponse++; if (buildCounterGooglePrivacyDlpV2ListInfoTypesResponse < 3) { - o.infoTypes = buildUnnamed97(); + o.infoTypes = buildUnnamed98(); } buildCounterGooglePrivacyDlpV2ListInfoTypesResponse--; return o; @@ -6805,17 +6954,17 @@ void checkGooglePrivacyDlpV2ListInfoTypesResponse( api.GooglePrivacyDlpV2ListInfoTypesResponse o) { buildCounterGooglePrivacyDlpV2ListInfoTypesResponse++; if (buildCounterGooglePrivacyDlpV2ListInfoTypesResponse < 3) { - checkUnnamed97(o.infoTypes!); + checkUnnamed98(o.infoTypes!); } buildCounterGooglePrivacyDlpV2ListInfoTypesResponse--; } -core.List buildUnnamed98() => [ +core.List buildUnnamed99() => [ buildGooglePrivacyDlpV2InspectTemplate(), buildGooglePrivacyDlpV2InspectTemplate(), ]; -void checkUnnamed98(core.List o) { +void checkUnnamed99(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2InspectTemplate(o[0]); checkGooglePrivacyDlpV2InspectTemplate(o[1]); @@ -6827,7 +6976,7 @@ api.GooglePrivacyDlpV2ListInspectTemplatesResponse final o = api.GooglePrivacyDlpV2ListInspectTemplatesResponse(); buildCounterGooglePrivacyDlpV2ListInspectTemplatesResponse++; if (buildCounterGooglePrivacyDlpV2ListInspectTemplatesResponse < 3) { - o.inspectTemplates = buildUnnamed98(); + o.inspectTemplates = buildUnnamed99(); o.nextPageToken = 'foo'; } buildCounterGooglePrivacyDlpV2ListInspectTemplatesResponse--; @@ -6838,7 +6987,7 @@ void checkGooglePrivacyDlpV2ListInspectTemplatesResponse( api.GooglePrivacyDlpV2ListInspectTemplatesResponse o) { buildCounterGooglePrivacyDlpV2ListInspectTemplatesResponse++; if (buildCounterGooglePrivacyDlpV2ListInspectTemplatesResponse < 3) { - checkUnnamed98(o.inspectTemplates!); + checkUnnamed99(o.inspectTemplates!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -6847,12 +6996,12 @@ void checkGooglePrivacyDlpV2ListInspectTemplatesResponse( buildCounterGooglePrivacyDlpV2ListInspectTemplatesResponse--; } -core.List buildUnnamed99() => [ +core.List buildUnnamed100() => [ buildGooglePrivacyDlpV2JobTrigger(), buildGooglePrivacyDlpV2JobTrigger(), ]; -void checkUnnamed99(core.List o) { +void checkUnnamed100(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2JobTrigger(o[0]); checkGooglePrivacyDlpV2JobTrigger(o[1]); @@ -6864,7 +7013,7 @@ api.GooglePrivacyDlpV2ListJobTriggersResponse final o = api.GooglePrivacyDlpV2ListJobTriggersResponse(); buildCounterGooglePrivacyDlpV2ListJobTriggersResponse++; if (buildCounterGooglePrivacyDlpV2ListJobTriggersResponse < 3) { - o.jobTriggers = buildUnnamed99(); + o.jobTriggers = buildUnnamed100(); o.nextPageToken = 'foo'; } buildCounterGooglePrivacyDlpV2ListJobTriggersResponse--; @@ -6875,7 +7024,7 @@ void checkGooglePrivacyDlpV2ListJobTriggersResponse( api.GooglePrivacyDlpV2ListJobTriggersResponse o) { buildCounterGooglePrivacyDlpV2ListJobTriggersResponse++; if (buildCounterGooglePrivacyDlpV2ListJobTriggersResponse < 3) { - checkUnnamed99(o.jobTriggers!); + checkUnnamed100(o.jobTriggers!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -6884,12 +7033,12 @@ void checkGooglePrivacyDlpV2ListJobTriggersResponse( buildCounterGooglePrivacyDlpV2ListJobTriggersResponse--; } -core.List buildUnnamed100() => [ +core.List buildUnnamed101() => [ buildGooglePrivacyDlpV2ProjectDataProfile(), buildGooglePrivacyDlpV2ProjectDataProfile(), ]; -void checkUnnamed100(core.List o) { +void checkUnnamed101(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2ProjectDataProfile(o[0]); checkGooglePrivacyDlpV2ProjectDataProfile(o[1]); @@ -6902,7 +7051,7 @@ api.GooglePrivacyDlpV2ListProjectDataProfilesResponse buildCounterGooglePrivacyDlpV2ListProjectDataProfilesResponse++; if (buildCounterGooglePrivacyDlpV2ListProjectDataProfilesResponse < 3) { o.nextPageToken = 'foo'; - o.projectDataProfiles = buildUnnamed100(); + o.projectDataProfiles = buildUnnamed101(); } buildCounterGooglePrivacyDlpV2ListProjectDataProfilesResponse--; return o; @@ -6916,17 +7065,17 @@ void checkGooglePrivacyDlpV2ListProjectDataProfilesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed100(o.projectDataProfiles!); + checkUnnamed101(o.projectDataProfiles!); } buildCounterGooglePrivacyDlpV2ListProjectDataProfilesResponse--; } -core.List buildUnnamed101() => [ +core.List buildUnnamed102() => [ buildGooglePrivacyDlpV2StoredInfoType(), buildGooglePrivacyDlpV2StoredInfoType(), ]; -void checkUnnamed101(core.List o) { +void checkUnnamed102(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2StoredInfoType(o[0]); checkGooglePrivacyDlpV2StoredInfoType(o[1]); @@ -6939,7 +7088,7 @@ api.GooglePrivacyDlpV2ListStoredInfoTypesResponse buildCounterGooglePrivacyDlpV2ListStoredInfoTypesResponse++; if (buildCounterGooglePrivacyDlpV2ListStoredInfoTypesResponse < 3) { o.nextPageToken = 'foo'; - o.storedInfoTypes = buildUnnamed101(); + o.storedInfoTypes = buildUnnamed102(); } buildCounterGooglePrivacyDlpV2ListStoredInfoTypesResponse--; return o; @@ -6953,17 +7102,17 @@ void checkGooglePrivacyDlpV2ListStoredInfoTypesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed101(o.storedInfoTypes!); + checkUnnamed102(o.storedInfoTypes!); } buildCounterGooglePrivacyDlpV2ListStoredInfoTypesResponse--; } -core.List buildUnnamed102() => [ +core.List buildUnnamed103() => [ buildGooglePrivacyDlpV2TableDataProfile(), buildGooglePrivacyDlpV2TableDataProfile(), ]; -void checkUnnamed102(core.List o) { +void checkUnnamed103(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2TableDataProfile(o[0]); checkGooglePrivacyDlpV2TableDataProfile(o[1]); @@ -6976,7 +7125,7 @@ api.GooglePrivacyDlpV2ListTableDataProfilesResponse buildCounterGooglePrivacyDlpV2ListTableDataProfilesResponse++; if (buildCounterGooglePrivacyDlpV2ListTableDataProfilesResponse < 3) { o.nextPageToken = 'foo'; - o.tableDataProfiles = buildUnnamed102(); + o.tableDataProfiles = buildUnnamed103(); } buildCounterGooglePrivacyDlpV2ListTableDataProfilesResponse--; return o; @@ -6990,17 +7139,17 @@ void checkGooglePrivacyDlpV2ListTableDataProfilesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed102(o.tableDataProfiles!); + checkUnnamed103(o.tableDataProfiles!); } buildCounterGooglePrivacyDlpV2ListTableDataProfilesResponse--; } -core.List buildUnnamed103() => [ +core.List buildUnnamed104() => [ buildGooglePrivacyDlpV2ContentLocation(), buildGooglePrivacyDlpV2ContentLocation(), ]; -void checkUnnamed103(core.List o) { +void checkUnnamed104(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2ContentLocation(o[0]); checkGooglePrivacyDlpV2ContentLocation(o[1]); @@ -7014,7 +7163,7 @@ api.GooglePrivacyDlpV2Location buildGooglePrivacyDlpV2Location() { o.byteRange = buildGooglePrivacyDlpV2Range(); o.codepointRange = buildGooglePrivacyDlpV2Range(); o.container = buildGooglePrivacyDlpV2Container(); - o.contentLocations = buildUnnamed103(); + o.contentLocations = buildUnnamed104(); } buildCounterGooglePrivacyDlpV2Location--; return o; @@ -7026,7 +7175,7 @@ void checkGooglePrivacyDlpV2Location(api.GooglePrivacyDlpV2Location o) { checkGooglePrivacyDlpV2Range(o.byteRange!); checkGooglePrivacyDlpV2Range(o.codepointRange!); checkGooglePrivacyDlpV2Container(o.container!); - checkUnnamed103(o.contentLocations!); + checkUnnamed104(o.contentLocations!); } buildCounterGooglePrivacyDlpV2Location--; } @@ -7072,6 +7221,23 @@ void checkGooglePrivacyDlpV2MetadataLocation( buildCounterGooglePrivacyDlpV2MetadataLocation--; } +core.int buildCounterGooglePrivacyDlpV2MultiRegionProcessing = 0; +api.GooglePrivacyDlpV2MultiRegionProcessing + buildGooglePrivacyDlpV2MultiRegionProcessing() { + final o = api.GooglePrivacyDlpV2MultiRegionProcessing(); + buildCounterGooglePrivacyDlpV2MultiRegionProcessing++; + if (buildCounterGooglePrivacyDlpV2MultiRegionProcessing < 3) {} + buildCounterGooglePrivacyDlpV2MultiRegionProcessing--; + return o; +} + +void checkGooglePrivacyDlpV2MultiRegionProcessing( + api.GooglePrivacyDlpV2MultiRegionProcessing o) { + buildCounterGooglePrivacyDlpV2MultiRegionProcessing++; + if (buildCounterGooglePrivacyDlpV2MultiRegionProcessing < 3) {} + buildCounterGooglePrivacyDlpV2MultiRegionProcessing--; +} + core.int buildCounterGooglePrivacyDlpV2NumericalStatsConfig = 0; api.GooglePrivacyDlpV2NumericalStatsConfig buildGooglePrivacyDlpV2NumericalStatsConfig() { @@ -7093,12 +7259,12 @@ void checkGooglePrivacyDlpV2NumericalStatsConfig( buildCounterGooglePrivacyDlpV2NumericalStatsConfig--; } -core.List buildUnnamed104() => [ +core.List buildUnnamed105() => [ buildGooglePrivacyDlpV2Value(), buildGooglePrivacyDlpV2Value(), ]; -void checkUnnamed104(core.List o) { +void checkUnnamed105(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2Value(o[0]); checkGooglePrivacyDlpV2Value(o[1]); @@ -7112,7 +7278,7 @@ api.GooglePrivacyDlpV2NumericalStatsResult if (buildCounterGooglePrivacyDlpV2NumericalStatsResult < 3) { o.maxValue = buildGooglePrivacyDlpV2Value(); o.minValue = buildGooglePrivacyDlpV2Value(); - o.quantileValues = buildUnnamed104(); + o.quantileValues = buildUnnamed105(); } buildCounterGooglePrivacyDlpV2NumericalStatsResult--; return o; @@ -7124,7 +7290,7 @@ void checkGooglePrivacyDlpV2NumericalStatsResult( if (buildCounterGooglePrivacyDlpV2NumericalStatsResult < 3) { checkGooglePrivacyDlpV2Value(o.maxValue!); checkGooglePrivacyDlpV2Value(o.minValue!); - checkUnnamed104(o.quantileValues!); + checkUnnamed105(o.quantileValues!); } buildCounterGooglePrivacyDlpV2NumericalStatsResult--; } @@ -7274,12 +7440,12 @@ void checkGooglePrivacyDlpV2OtherCloudResourceRegex( buildCounterGooglePrivacyDlpV2OtherCloudResourceRegex--; } -core.List buildUnnamed105() => [ +core.List buildUnnamed106() => [ buildGooglePrivacyDlpV2OtherCloudResourceRegex(), buildGooglePrivacyDlpV2OtherCloudResourceRegex(), ]; -void checkUnnamed105( +void checkUnnamed106( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2OtherCloudResourceRegex(o[0]); @@ -7292,7 +7458,7 @@ api.GooglePrivacyDlpV2OtherCloudResourceRegexes final o = api.GooglePrivacyDlpV2OtherCloudResourceRegexes(); buildCounterGooglePrivacyDlpV2OtherCloudResourceRegexes++; if (buildCounterGooglePrivacyDlpV2OtherCloudResourceRegexes < 3) { - o.patterns = buildUnnamed105(); + o.patterns = buildUnnamed106(); } buildCounterGooglePrivacyDlpV2OtherCloudResourceRegexes--; return o; @@ -7302,7 +7468,7 @@ void checkGooglePrivacyDlpV2OtherCloudResourceRegexes( api.GooglePrivacyDlpV2OtherCloudResourceRegexes o) { buildCounterGooglePrivacyDlpV2OtherCloudResourceRegexes++; if (buildCounterGooglePrivacyDlpV2OtherCloudResourceRegexes < 3) { - checkUnnamed105(o.patterns!); + checkUnnamed106(o.patterns!); } buildCounterGooglePrivacyDlpV2OtherCloudResourceRegexes--; } @@ -7525,6 +7691,27 @@ void checkGooglePrivacyDlpV2PrivacyMetric( buildCounterGooglePrivacyDlpV2PrivacyMetric--; } +core.int buildCounterGooglePrivacyDlpV2ProcessingLocation = 0; +api.GooglePrivacyDlpV2ProcessingLocation + buildGooglePrivacyDlpV2ProcessingLocation() { + final o = api.GooglePrivacyDlpV2ProcessingLocation(); + buildCounterGooglePrivacyDlpV2ProcessingLocation++; + if (buildCounterGooglePrivacyDlpV2ProcessingLocation < 3) { + o.imageFallbackLocation = buildGooglePrivacyDlpV2ImageFallbackLocation(); + } + buildCounterGooglePrivacyDlpV2ProcessingLocation--; + return o; +} + +void checkGooglePrivacyDlpV2ProcessingLocation( + api.GooglePrivacyDlpV2ProcessingLocation o) { + buildCounterGooglePrivacyDlpV2ProcessingLocation++; + if (buildCounterGooglePrivacyDlpV2ProcessingLocation < 3) { + checkGooglePrivacyDlpV2ImageFallbackLocation(o.imageFallbackLocation!); + } + buildCounterGooglePrivacyDlpV2ProcessingLocation--; +} + core.int buildCounterGooglePrivacyDlpV2ProfileStatus = 0; api.GooglePrivacyDlpV2ProfileStatus buildGooglePrivacyDlpV2ProfileStatus() { final o = api.GooglePrivacyDlpV2ProfileStatus(); @@ -7655,12 +7842,12 @@ void checkGooglePrivacyDlpV2PubSubCondition( buildCounterGooglePrivacyDlpV2PubSubCondition--; } -core.List buildUnnamed106() => [ +core.List buildUnnamed107() => [ buildGooglePrivacyDlpV2PubSubCondition(), buildGooglePrivacyDlpV2PubSubCondition(), ]; -void checkUnnamed106(core.List o) { +void checkUnnamed107(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2PubSubCondition(o[0]); checkGooglePrivacyDlpV2PubSubCondition(o[1]); @@ -7672,7 +7859,7 @@ api.GooglePrivacyDlpV2PubSubExpressions final o = api.GooglePrivacyDlpV2PubSubExpressions(); buildCounterGooglePrivacyDlpV2PubSubExpressions++; if (buildCounterGooglePrivacyDlpV2PubSubExpressions < 3) { - o.conditions = buildUnnamed106(); + o.conditions = buildUnnamed107(); o.logicalOperator = 'foo'; } buildCounterGooglePrivacyDlpV2PubSubExpressions--; @@ -7683,7 +7870,7 @@ void checkGooglePrivacyDlpV2PubSubExpressions( api.GooglePrivacyDlpV2PubSubExpressions o) { buildCounterGooglePrivacyDlpV2PubSubExpressions++; if (buildCounterGooglePrivacyDlpV2PubSubExpressions < 3) { - checkUnnamed106(o.conditions!); + checkUnnamed107(o.conditions!); unittest.expect( o.logicalOperator!, unittest.equals('foo'), @@ -7980,12 +8167,12 @@ void checkGooglePrivacyDlpV2RecordCondition( buildCounterGooglePrivacyDlpV2RecordCondition--; } -core.List buildUnnamed107() => [ +core.List buildUnnamed108() => [ 'foo', 'foo', ]; -void checkUnnamed107(core.List o) { +void checkUnnamed108(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8004,7 +8191,7 @@ api.GooglePrivacyDlpV2RecordKey buildGooglePrivacyDlpV2RecordKey() { if (buildCounterGooglePrivacyDlpV2RecordKey < 3) { o.bigQueryKey = buildGooglePrivacyDlpV2BigQueryKey(); o.datastoreKey = buildGooglePrivacyDlpV2DatastoreKey(); - o.idValues = buildUnnamed107(); + o.idValues = buildUnnamed108(); } buildCounterGooglePrivacyDlpV2RecordKey--; return o; @@ -8015,7 +8202,7 @@ void checkGooglePrivacyDlpV2RecordKey(api.GooglePrivacyDlpV2RecordKey o) { if (buildCounterGooglePrivacyDlpV2RecordKey < 3) { checkGooglePrivacyDlpV2BigQueryKey(o.bigQueryKey!); checkGooglePrivacyDlpV2DatastoreKey(o.datastoreKey!); - checkUnnamed107(o.idValues!); + checkUnnamed108(o.idValues!); } buildCounterGooglePrivacyDlpV2RecordKey--; } @@ -8065,23 +8252,23 @@ void checkGooglePrivacyDlpV2RecordSuppression( buildCounterGooglePrivacyDlpV2RecordSuppression--; } -core.List buildUnnamed108() => [ +core.List buildUnnamed109() => [ buildGooglePrivacyDlpV2FieldTransformation(), buildGooglePrivacyDlpV2FieldTransformation(), ]; -void checkUnnamed108(core.List o) { +void checkUnnamed109(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2FieldTransformation(o[0]); checkGooglePrivacyDlpV2FieldTransformation(o[1]); } -core.List buildUnnamed109() => [ +core.List buildUnnamed110() => [ buildGooglePrivacyDlpV2RecordSuppression(), buildGooglePrivacyDlpV2RecordSuppression(), ]; -void checkUnnamed109(core.List o) { +void checkUnnamed110(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2RecordSuppression(o[0]); checkGooglePrivacyDlpV2RecordSuppression(o[1]); @@ -8093,8 +8280,8 @@ api.GooglePrivacyDlpV2RecordTransformations final o = api.GooglePrivacyDlpV2RecordTransformations(); buildCounterGooglePrivacyDlpV2RecordTransformations++; if (buildCounterGooglePrivacyDlpV2RecordTransformations < 3) { - o.fieldTransformations = buildUnnamed108(); - o.recordSuppressions = buildUnnamed109(); + o.fieldTransformations = buildUnnamed109(); + o.recordSuppressions = buildUnnamed110(); } buildCounterGooglePrivacyDlpV2RecordTransformations--; return o; @@ -8104,8 +8291,8 @@ void checkGooglePrivacyDlpV2RecordTransformations( api.GooglePrivacyDlpV2RecordTransformations o) { buildCounterGooglePrivacyDlpV2RecordTransformations++; if (buildCounterGooglePrivacyDlpV2RecordTransformations < 3) { - checkUnnamed108(o.fieldTransformations!); - checkUnnamed109(o.recordSuppressions!); + checkUnnamed109(o.fieldTransformations!); + checkUnnamed110(o.recordSuppressions!); } buildCounterGooglePrivacyDlpV2RecordTransformations--; } @@ -8125,12 +8312,12 @@ void checkGooglePrivacyDlpV2RedactConfig(api.GooglePrivacyDlpV2RedactConfig o) { buildCounterGooglePrivacyDlpV2RedactConfig--; } -core.List buildUnnamed110() => [ +core.List buildUnnamed111() => [ buildGooglePrivacyDlpV2ImageRedactionConfig(), buildGooglePrivacyDlpV2ImageRedactionConfig(), ]; -void checkUnnamed110(core.List o) { +void checkUnnamed111(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2ImageRedactionConfig(o[0]); checkGooglePrivacyDlpV2ImageRedactionConfig(o[1]); @@ -8143,7 +8330,7 @@ api.GooglePrivacyDlpV2RedactImageRequest buildCounterGooglePrivacyDlpV2RedactImageRequest++; if (buildCounterGooglePrivacyDlpV2RedactImageRequest < 3) { o.byteItem = buildGooglePrivacyDlpV2ByteContentItem(); - o.imageRedactionConfigs = buildUnnamed110(); + o.imageRedactionConfigs = buildUnnamed111(); o.includeFindings = true; o.inspectConfig = buildGooglePrivacyDlpV2InspectConfig(); o.locationId = 'foo'; @@ -8157,7 +8344,7 @@ void checkGooglePrivacyDlpV2RedactImageRequest( buildCounterGooglePrivacyDlpV2RedactImageRequest++; if (buildCounterGooglePrivacyDlpV2RedactImageRequest < 3) { checkGooglePrivacyDlpV2ByteContentItem(o.byteItem!); - checkUnnamed110(o.imageRedactionConfigs!); + checkUnnamed111(o.imageRedactionConfigs!); unittest.expect(o.includeFindings!, unittest.isTrue); checkGooglePrivacyDlpV2InspectConfig(o.inspectConfig!); unittest.expect( @@ -8199,12 +8386,12 @@ void checkGooglePrivacyDlpV2RedactImageResponse( buildCounterGooglePrivacyDlpV2RedactImageResponse--; } -core.List buildUnnamed111() => [ +core.List buildUnnamed112() => [ 42, 42, ]; -void checkUnnamed111(core.List o) { +void checkUnnamed112(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8221,7 +8408,7 @@ api.GooglePrivacyDlpV2Regex buildGooglePrivacyDlpV2Regex() { final o = api.GooglePrivacyDlpV2Regex(); buildCounterGooglePrivacyDlpV2Regex++; if (buildCounterGooglePrivacyDlpV2Regex < 3) { - o.groupIndexes = buildUnnamed111(); + o.groupIndexes = buildUnnamed112(); o.pattern = 'foo'; } buildCounterGooglePrivacyDlpV2Regex--; @@ -8231,7 +8418,7 @@ api.GooglePrivacyDlpV2Regex buildGooglePrivacyDlpV2Regex() { void checkGooglePrivacyDlpV2Regex(api.GooglePrivacyDlpV2Regex o) { buildCounterGooglePrivacyDlpV2Regex++; if (buildCounterGooglePrivacyDlpV2Regex < 3) { - checkUnnamed111(o.groupIndexes!); + checkUnnamed112(o.groupIndexes!); unittest.expect( o.pattern!, unittest.equals('foo'), @@ -8303,6 +8490,29 @@ void checkGooglePrivacyDlpV2ReidentifyContentResponse( buildCounterGooglePrivacyDlpV2ReidentifyContentResponse--; } +core.int buildCounterGooglePrivacyDlpV2RelatedResource = 0; +api.GooglePrivacyDlpV2RelatedResource buildGooglePrivacyDlpV2RelatedResource() { + final o = api.GooglePrivacyDlpV2RelatedResource(); + buildCounterGooglePrivacyDlpV2RelatedResource++; + if (buildCounterGooglePrivacyDlpV2RelatedResource < 3) { + o.fullResource = 'foo'; + } + buildCounterGooglePrivacyDlpV2RelatedResource--; + return o; +} + +void checkGooglePrivacyDlpV2RelatedResource( + api.GooglePrivacyDlpV2RelatedResource o) { + buildCounterGooglePrivacyDlpV2RelatedResource++; + if (buildCounterGooglePrivacyDlpV2RelatedResource < 3) { + unittest.expect( + o.fullResource!, + unittest.equals('foo'), + ); + } + buildCounterGooglePrivacyDlpV2RelatedResource--; +} + core.int buildCounterGooglePrivacyDlpV2ReplaceDictionaryConfig = 0; api.GooglePrivacyDlpV2ReplaceDictionaryConfig buildGooglePrivacyDlpV2ReplaceDictionaryConfig() { @@ -8433,12 +8643,12 @@ void checkGooglePrivacyDlpV2RequestedRiskAnalysisOptions( buildCounterGooglePrivacyDlpV2RequestedRiskAnalysisOptions--; } -core.List buildUnnamed112() => [ +core.List buildUnnamed113() => [ buildGooglePrivacyDlpV2InfoTypeStats(), buildGooglePrivacyDlpV2InfoTypeStats(), ]; -void checkUnnamed112(core.List o) { +void checkUnnamed113(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2InfoTypeStats(o[0]); checkGooglePrivacyDlpV2InfoTypeStats(o[1]); @@ -8450,7 +8660,7 @@ api.GooglePrivacyDlpV2Result buildGooglePrivacyDlpV2Result() { buildCounterGooglePrivacyDlpV2Result++; if (buildCounterGooglePrivacyDlpV2Result < 3) { o.hybridStats = buildGooglePrivacyDlpV2HybridInspectStatistics(); - o.infoTypeStats = buildUnnamed112(); + o.infoTypeStats = buildUnnamed113(); o.numRowsProcessed = 'foo'; o.processedBytes = 'foo'; o.totalEstimatedBytes = 'foo'; @@ -8463,7 +8673,7 @@ void checkGooglePrivacyDlpV2Result(api.GooglePrivacyDlpV2Result o) { buildCounterGooglePrivacyDlpV2Result++; if (buildCounterGooglePrivacyDlpV2Result < 3) { checkGooglePrivacyDlpV2HybridInspectStatistics(o.hybridStats!); - checkUnnamed112(o.infoTypeStats!); + checkUnnamed113(o.infoTypeStats!); unittest.expect( o.numRowsProcessed!, unittest.equals('foo'), @@ -8480,12 +8690,12 @@ void checkGooglePrivacyDlpV2Result(api.GooglePrivacyDlpV2Result o) { buildCounterGooglePrivacyDlpV2Result--; } -core.List buildUnnamed113() => [ +core.List buildUnnamed114() => [ buildGooglePrivacyDlpV2Action(), buildGooglePrivacyDlpV2Action(), ]; -void checkUnnamed113(core.List o) { +void checkUnnamed114(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2Action(o[0]); checkGooglePrivacyDlpV2Action(o[1]); @@ -8497,7 +8707,7 @@ api.GooglePrivacyDlpV2RiskAnalysisJobConfig final o = api.GooglePrivacyDlpV2RiskAnalysisJobConfig(); buildCounterGooglePrivacyDlpV2RiskAnalysisJobConfig++; if (buildCounterGooglePrivacyDlpV2RiskAnalysisJobConfig < 3) { - o.actions = buildUnnamed113(); + o.actions = buildUnnamed114(); o.privacyMetric = buildGooglePrivacyDlpV2PrivacyMetric(); o.sourceTable = buildGooglePrivacyDlpV2BigQueryTable(); } @@ -8509,19 +8719,19 @@ void checkGooglePrivacyDlpV2RiskAnalysisJobConfig( api.GooglePrivacyDlpV2RiskAnalysisJobConfig o) { buildCounterGooglePrivacyDlpV2RiskAnalysisJobConfig++; if (buildCounterGooglePrivacyDlpV2RiskAnalysisJobConfig < 3) { - checkUnnamed113(o.actions!); + checkUnnamed114(o.actions!); checkGooglePrivacyDlpV2PrivacyMetric(o.privacyMetric!); checkGooglePrivacyDlpV2BigQueryTable(o.sourceTable!); } buildCounterGooglePrivacyDlpV2RiskAnalysisJobConfig--; } -core.List buildUnnamed114() => [ +core.List buildUnnamed115() => [ buildGooglePrivacyDlpV2Value(), buildGooglePrivacyDlpV2Value(), ]; -void checkUnnamed114(core.List o) { +void checkUnnamed115(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2Value(o[0]); checkGooglePrivacyDlpV2Value(o[1]); @@ -8532,7 +8742,7 @@ api.GooglePrivacyDlpV2Row buildGooglePrivacyDlpV2Row() { final o = api.GooglePrivacyDlpV2Row(); buildCounterGooglePrivacyDlpV2Row++; if (buildCounterGooglePrivacyDlpV2Row < 3) { - o.values = buildUnnamed114(); + o.values = buildUnnamed115(); } buildCounterGooglePrivacyDlpV2Row--; return o; @@ -8541,7 +8751,7 @@ api.GooglePrivacyDlpV2Row buildGooglePrivacyDlpV2Row() { void checkGooglePrivacyDlpV2Row(api.GooglePrivacyDlpV2Row o) { buildCounterGooglePrivacyDlpV2Row++; if (buildCounterGooglePrivacyDlpV2Row < 3) { - checkUnnamed114(o.values!); + checkUnnamed115(o.values!); } buildCounterGooglePrivacyDlpV2Row--; } @@ -8587,12 +8797,12 @@ void checkGooglePrivacyDlpV2Schedule(api.GooglePrivacyDlpV2Schedule o) { buildCounterGooglePrivacyDlpV2Schedule--; } -core.List buildUnnamed115() => [ +core.List buildUnnamed116() => [ 'foo', 'foo', ]; -void checkUnnamed115(core.List o) { +void checkUnnamed116(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8611,7 +8821,7 @@ api.GooglePrivacyDlpV2SchemaModifiedCadence buildCounterGooglePrivacyDlpV2SchemaModifiedCadence++; if (buildCounterGooglePrivacyDlpV2SchemaModifiedCadence < 3) { o.frequency = 'foo'; - o.types = buildUnnamed115(); + o.types = buildUnnamed116(); } buildCounterGooglePrivacyDlpV2SchemaModifiedCadence--; return o; @@ -8625,17 +8835,17 @@ void checkGooglePrivacyDlpV2SchemaModifiedCadence( o.frequency!, unittest.equals('foo'), ); - checkUnnamed115(o.types!); + checkUnnamed116(o.types!); } buildCounterGooglePrivacyDlpV2SchemaModifiedCadence--; } -core.List buildUnnamed116() => [ +core.List buildUnnamed117() => [ buildGooglePrivacyDlpV2Connection(), buildGooglePrivacyDlpV2Connection(), ]; -void checkUnnamed116(core.List o) { +void checkUnnamed117(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2Connection(o[0]); checkGooglePrivacyDlpV2Connection(o[1]); @@ -8647,7 +8857,7 @@ api.GooglePrivacyDlpV2SearchConnectionsResponse final o = api.GooglePrivacyDlpV2SearchConnectionsResponse(); buildCounterGooglePrivacyDlpV2SearchConnectionsResponse++; if (buildCounterGooglePrivacyDlpV2SearchConnectionsResponse < 3) { - o.connections = buildUnnamed116(); + o.connections = buildUnnamed117(); o.nextPageToken = 'foo'; } buildCounterGooglePrivacyDlpV2SearchConnectionsResponse--; @@ -8658,7 +8868,7 @@ void checkGooglePrivacyDlpV2SearchConnectionsResponse( api.GooglePrivacyDlpV2SearchConnectionsResponse o) { buildCounterGooglePrivacyDlpV2SearchConnectionsResponse++; if (buildCounterGooglePrivacyDlpV2SearchConnectionsResponse < 3) { - checkUnnamed116(o.connections!); + checkUnnamed117(o.connections!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8713,12 +8923,12 @@ void checkGooglePrivacyDlpV2SecretsDiscoveryTarget( buildCounterGooglePrivacyDlpV2SecretsDiscoveryTarget--; } -core.List buildUnnamed117() => [ +core.List buildUnnamed118() => [ buildGooglePrivacyDlpV2InfoType(), buildGooglePrivacyDlpV2InfoType(), ]; -void checkUnnamed117(core.List o) { +void checkUnnamed118(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2InfoType(o[0]); checkGooglePrivacyDlpV2InfoType(o[1]); @@ -8730,7 +8940,7 @@ api.GooglePrivacyDlpV2SelectedInfoTypes final o = api.GooglePrivacyDlpV2SelectedInfoTypes(); buildCounterGooglePrivacyDlpV2SelectedInfoTypes++; if (buildCounterGooglePrivacyDlpV2SelectedInfoTypes < 3) { - o.infoTypes = buildUnnamed117(); + o.infoTypes = buildUnnamed118(); } buildCounterGooglePrivacyDlpV2SelectedInfoTypes--; return o; @@ -8740,7 +8950,7 @@ void checkGooglePrivacyDlpV2SelectedInfoTypes( api.GooglePrivacyDlpV2SelectedInfoTypes o) { buildCounterGooglePrivacyDlpV2SelectedInfoTypes++; if (buildCounterGooglePrivacyDlpV2SelectedInfoTypes < 3) { - checkUnnamed117(o.infoTypes!); + checkUnnamed118(o.infoTypes!); } buildCounterGooglePrivacyDlpV2SelectedInfoTypes--; } @@ -8769,12 +8979,12 @@ void checkGooglePrivacyDlpV2SensitivityScore( buildCounterGooglePrivacyDlpV2SensitivityScore--; } -core.List buildUnnamed118() => [ +core.List buildUnnamed119() => [ buildGooglePrivacyDlpV2QuasiIdentifierField(), buildGooglePrivacyDlpV2QuasiIdentifierField(), ]; -void checkUnnamed118(core.List o) { +void checkUnnamed119(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2QuasiIdentifierField(o[0]); checkGooglePrivacyDlpV2QuasiIdentifierField(o[1]); @@ -8786,7 +8996,7 @@ api.GooglePrivacyDlpV2StatisticalTable final o = api.GooglePrivacyDlpV2StatisticalTable(); buildCounterGooglePrivacyDlpV2StatisticalTable++; if (buildCounterGooglePrivacyDlpV2StatisticalTable < 3) { - o.quasiIds = buildUnnamed118(); + o.quasiIds = buildUnnamed119(); o.relativeFrequency = buildGooglePrivacyDlpV2FieldId(); o.table = buildGooglePrivacyDlpV2BigQueryTable(); } @@ -8798,7 +9008,7 @@ void checkGooglePrivacyDlpV2StatisticalTable( api.GooglePrivacyDlpV2StatisticalTable o) { buildCounterGooglePrivacyDlpV2StatisticalTable++; if (buildCounterGooglePrivacyDlpV2StatisticalTable < 3) { - checkUnnamed118(o.quasiIds!); + checkUnnamed119(o.quasiIds!); checkGooglePrivacyDlpV2FieldId(o.relativeFrequency!); checkGooglePrivacyDlpV2BigQueryTable(o.table!); } @@ -8857,12 +9067,12 @@ void checkGooglePrivacyDlpV2StorageMetadataLabel( buildCounterGooglePrivacyDlpV2StorageMetadataLabel--; } -core.List buildUnnamed119() => [ +core.List buildUnnamed120() => [ buildGooglePrivacyDlpV2StoredInfoTypeVersion(), buildGooglePrivacyDlpV2StoredInfoTypeVersion(), ]; -void checkUnnamed119(core.List o) { +void checkUnnamed120(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2StoredInfoTypeVersion(o[0]); checkGooglePrivacyDlpV2StoredInfoTypeVersion(o[1]); @@ -8875,7 +9085,7 @@ api.GooglePrivacyDlpV2StoredInfoType buildGooglePrivacyDlpV2StoredInfoType() { if (buildCounterGooglePrivacyDlpV2StoredInfoType < 3) { o.currentVersion = buildGooglePrivacyDlpV2StoredInfoTypeVersion(); o.name = 'foo'; - o.pendingVersions = buildUnnamed119(); + o.pendingVersions = buildUnnamed120(); } buildCounterGooglePrivacyDlpV2StoredInfoType--; return o; @@ -8890,7 +9100,7 @@ void checkGooglePrivacyDlpV2StoredInfoType( o.name!, unittest.equals('foo'), ); - checkUnnamed119(o.pendingVersions!); + checkUnnamed120(o.pendingVersions!); } buildCounterGooglePrivacyDlpV2StoredInfoType--; } @@ -8954,12 +9164,12 @@ void checkGooglePrivacyDlpV2StoredInfoTypeStats( buildCounterGooglePrivacyDlpV2StoredInfoTypeStats--; } -core.List buildUnnamed120() => [ +core.List buildUnnamed121() => [ buildGooglePrivacyDlpV2Error(), buildGooglePrivacyDlpV2Error(), ]; -void checkUnnamed120(core.List o) { +void checkUnnamed121(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2Error(o[0]); checkGooglePrivacyDlpV2Error(o[1]); @@ -8973,7 +9183,7 @@ api.GooglePrivacyDlpV2StoredInfoTypeVersion if (buildCounterGooglePrivacyDlpV2StoredInfoTypeVersion < 3) { o.config = buildGooglePrivacyDlpV2StoredInfoTypeConfig(); o.createTime = 'foo'; - o.errors = buildUnnamed120(); + o.errors = buildUnnamed121(); o.state = 'foo'; o.stats = buildGooglePrivacyDlpV2StoredInfoTypeStats(); } @@ -8990,7 +9200,7 @@ void checkGooglePrivacyDlpV2StoredInfoTypeVersion( o.createTime!, unittest.equals('foo'), ); - checkUnnamed120(o.errors!); + checkUnnamed121(o.errors!); unittest.expect( o.state!, unittest.equals('foo'), @@ -9076,23 +9286,23 @@ void checkGooglePrivacyDlpV2SurrogateType( buildCounterGooglePrivacyDlpV2SurrogateType--; } -core.List buildUnnamed121() => [ +core.List buildUnnamed122() => [ buildGooglePrivacyDlpV2FieldId(), buildGooglePrivacyDlpV2FieldId(), ]; -void checkUnnamed121(core.List o) { +void checkUnnamed122(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2FieldId(o[0]); checkGooglePrivacyDlpV2FieldId(o[1]); } -core.List buildUnnamed122() => [ +core.List buildUnnamed123() => [ buildGooglePrivacyDlpV2Row(), buildGooglePrivacyDlpV2Row(), ]; -void checkUnnamed122(core.List o) { +void checkUnnamed123(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2Row(o[0]); checkGooglePrivacyDlpV2Row(o[1]); @@ -9103,8 +9313,8 @@ api.GooglePrivacyDlpV2Table buildGooglePrivacyDlpV2Table() { final o = api.GooglePrivacyDlpV2Table(); buildCounterGooglePrivacyDlpV2Table++; if (buildCounterGooglePrivacyDlpV2Table < 3) { - o.headers = buildUnnamed121(); - o.rows = buildUnnamed122(); + o.headers = buildUnnamed122(); + o.rows = buildUnnamed123(); } buildCounterGooglePrivacyDlpV2Table--; return o; @@ -9113,40 +9323,51 @@ api.GooglePrivacyDlpV2Table buildGooglePrivacyDlpV2Table() { void checkGooglePrivacyDlpV2Table(api.GooglePrivacyDlpV2Table o) { buildCounterGooglePrivacyDlpV2Table++; if (buildCounterGooglePrivacyDlpV2Table < 3) { - checkUnnamed121(o.headers!); - checkUnnamed122(o.rows!); + checkUnnamed122(o.headers!); + checkUnnamed123(o.rows!); } buildCounterGooglePrivacyDlpV2Table--; } -core.List buildUnnamed123() => [ +core.List buildUnnamed124() => [ buildGooglePrivacyDlpV2OtherInfoTypeSummary(), buildGooglePrivacyDlpV2OtherInfoTypeSummary(), ]; -void checkUnnamed123(core.List o) { +void checkUnnamed124(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2OtherInfoTypeSummary(o[0]); checkGooglePrivacyDlpV2OtherInfoTypeSummary(o[1]); } -core.List buildUnnamed124() => [ +core.List buildUnnamed125() => [ buildGooglePrivacyDlpV2InfoTypeSummary(), buildGooglePrivacyDlpV2InfoTypeSummary(), ]; -void checkUnnamed124(core.List o) { +void checkUnnamed125(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2InfoTypeSummary(o[0]); checkGooglePrivacyDlpV2InfoTypeSummary(o[1]); } -core.Map buildUnnamed125() => { +core.List buildUnnamed126() => [ + buildGooglePrivacyDlpV2RelatedResource(), + buildGooglePrivacyDlpV2RelatedResource(), + ]; + +void checkUnnamed126(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGooglePrivacyDlpV2RelatedResource(o[0]); + checkGooglePrivacyDlpV2RelatedResource(o[1]); +} + +core.Map buildUnnamed127() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed125(core.Map o) { +void checkUnnamed127(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -9177,14 +9398,16 @@ api.GooglePrivacyDlpV2TableDataProfile o.fullResource = 'foo'; o.lastModifiedTime = 'foo'; o.name = 'foo'; - o.otherInfoTypes = buildUnnamed123(); - o.predictedInfoTypes = buildUnnamed124(); + o.otherInfoTypes = buildUnnamed124(); + o.predictedInfoTypes = buildUnnamed125(); o.profileLastGenerated = 'foo'; o.profileStatus = buildGooglePrivacyDlpV2ProfileStatus(); o.projectDataProfile = 'foo'; - o.resourceLabels = buildUnnamed125(); + o.relatedResources = buildUnnamed126(); + o.resourceLabels = buildUnnamed127(); o.resourceVisibility = 'foo'; o.rowCount = 'foo'; + o.sampleFindingsTable = buildGooglePrivacyDlpV2BigQueryTable(); o.scannedColumnCount = 'foo'; o.sensitivityScore = buildGooglePrivacyDlpV2SensitivityScore(); o.state = 'foo'; @@ -9242,8 +9465,8 @@ void checkGooglePrivacyDlpV2TableDataProfile( o.name!, unittest.equals('foo'), ); - checkUnnamed123(o.otherInfoTypes!); - checkUnnamed124(o.predictedInfoTypes!); + checkUnnamed124(o.otherInfoTypes!); + checkUnnamed125(o.predictedInfoTypes!); unittest.expect( o.profileLastGenerated!, unittest.equals('foo'), @@ -9253,7 +9476,8 @@ void checkGooglePrivacyDlpV2TableDataProfile( o.projectDataProfile!, unittest.equals('foo'), ); - checkUnnamed125(o.resourceLabels!); + checkUnnamed126(o.relatedResources!); + checkUnnamed127(o.resourceLabels!); unittest.expect( o.resourceVisibility!, unittest.equals('foo'), @@ -9262,6 +9486,7 @@ void checkGooglePrivacyDlpV2TableDataProfile( o.rowCount!, unittest.equals('foo'), ); + checkGooglePrivacyDlpV2BigQueryTable(o.sampleFindingsTable!); unittest.expect( o.scannedColumnCount!, unittest.equals('foo'), @@ -9306,12 +9531,12 @@ void checkGooglePrivacyDlpV2TableLocation( buildCounterGooglePrivacyDlpV2TableLocation--; } -core.List buildUnnamed126() => [ +core.List buildUnnamed128() => [ buildGooglePrivacyDlpV2FieldId(), buildGooglePrivacyDlpV2FieldId(), ]; -void checkUnnamed126(core.List o) { +void checkUnnamed128(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2FieldId(o[0]); checkGooglePrivacyDlpV2FieldId(o[1]); @@ -9322,7 +9547,7 @@ api.GooglePrivacyDlpV2TableOptions buildGooglePrivacyDlpV2TableOptions() { final o = api.GooglePrivacyDlpV2TableOptions(); buildCounterGooglePrivacyDlpV2TableOptions++; if (buildCounterGooglePrivacyDlpV2TableOptions < 3) { - o.identifyingFields = buildUnnamed126(); + o.identifyingFields = buildUnnamed128(); } buildCounterGooglePrivacyDlpV2TableOptions--; return o; @@ -9331,7 +9556,7 @@ api.GooglePrivacyDlpV2TableOptions buildGooglePrivacyDlpV2TableOptions() { void checkGooglePrivacyDlpV2TableOptions(api.GooglePrivacyDlpV2TableOptions o) { buildCounterGooglePrivacyDlpV2TableOptions++; if (buildCounterGooglePrivacyDlpV2TableOptions < 3) { - checkUnnamed126(o.identifyingFields!); + checkUnnamed128(o.identifyingFields!); } buildCounterGooglePrivacyDlpV2TableOptions--; } @@ -9385,12 +9610,12 @@ void checkGooglePrivacyDlpV2TagCondition(api.GooglePrivacyDlpV2TagCondition o) { buildCounterGooglePrivacyDlpV2TagCondition--; } -core.List buildUnnamed127() => [ +core.List buildUnnamed129() => [ 'foo', 'foo', ]; -void checkUnnamed127(core.List o) { +void checkUnnamed129(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9402,12 +9627,12 @@ void checkUnnamed127(core.List o) { ); } -core.List buildUnnamed128() => [ +core.List buildUnnamed130() => [ buildGooglePrivacyDlpV2TagCondition(), buildGooglePrivacyDlpV2TagCondition(), ]; -void checkUnnamed128(core.List o) { +void checkUnnamed130(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2TagCondition(o[0]); checkGooglePrivacyDlpV2TagCondition(o[1]); @@ -9419,8 +9644,8 @@ api.GooglePrivacyDlpV2TagResources buildGooglePrivacyDlpV2TagResources() { buildCounterGooglePrivacyDlpV2TagResources++; if (buildCounterGooglePrivacyDlpV2TagResources < 3) { o.lowerDataRiskToLow = true; - o.profileGenerationsToTag = buildUnnamed127(); - o.tagConditions = buildUnnamed128(); + o.profileGenerationsToTag = buildUnnamed129(); + o.tagConditions = buildUnnamed130(); } buildCounterGooglePrivacyDlpV2TagResources--; return o; @@ -9430,8 +9655,8 @@ void checkGooglePrivacyDlpV2TagResources(api.GooglePrivacyDlpV2TagResources o) { buildCounterGooglePrivacyDlpV2TagResources++; if (buildCounterGooglePrivacyDlpV2TagResources < 3) { unittest.expect(o.lowerDataRiskToLow!, unittest.isTrue); - checkUnnamed127(o.profileGenerationsToTag!); - checkUnnamed128(o.tagConditions!); + checkUnnamed129(o.profileGenerationsToTag!); + checkUnnamed130(o.tagConditions!); } buildCounterGooglePrivacyDlpV2TagResources--; } @@ -9656,12 +9881,12 @@ void checkGooglePrivacyDlpV2TransformationErrorHandling( buildCounterGooglePrivacyDlpV2TransformationErrorHandling--; } -core.List buildUnnamed129() => [ +core.List buildUnnamed131() => [ buildGooglePrivacyDlpV2TransformationSummary(), buildGooglePrivacyDlpV2TransformationSummary(), ]; -void checkUnnamed129(core.List o) { +void checkUnnamed131(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2TransformationSummary(o[0]); checkGooglePrivacyDlpV2TransformationSummary(o[1]); @@ -9673,7 +9898,7 @@ api.GooglePrivacyDlpV2TransformationOverview final o = api.GooglePrivacyDlpV2TransformationOverview(); buildCounterGooglePrivacyDlpV2TransformationOverview++; if (buildCounterGooglePrivacyDlpV2TransformationOverview < 3) { - o.transformationSummaries = buildUnnamed129(); + o.transformationSummaries = buildUnnamed131(); o.transformedBytes = 'foo'; } buildCounterGooglePrivacyDlpV2TransformationOverview--; @@ -9684,7 +9909,7 @@ void checkGooglePrivacyDlpV2TransformationOverview( api.GooglePrivacyDlpV2TransformationOverview o) { buildCounterGooglePrivacyDlpV2TransformationOverview++; if (buildCounterGooglePrivacyDlpV2TransformationOverview < 3) { - checkUnnamed129(o.transformationSummaries!); + checkUnnamed131(o.transformationSummaries!); unittest.expect( o.transformedBytes!, unittest.equals('foo'), @@ -9693,23 +9918,23 @@ void checkGooglePrivacyDlpV2TransformationOverview( buildCounterGooglePrivacyDlpV2TransformationOverview--; } -core.List buildUnnamed130() => [ +core.List buildUnnamed132() => [ buildGooglePrivacyDlpV2FieldTransformation(), buildGooglePrivacyDlpV2FieldTransformation(), ]; -void checkUnnamed130(core.List o) { +void checkUnnamed132(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2FieldTransformation(o[0]); checkGooglePrivacyDlpV2FieldTransformation(o[1]); } -core.List buildUnnamed131() => [ +core.List buildUnnamed133() => [ buildGooglePrivacyDlpV2SummaryResult(), buildGooglePrivacyDlpV2SummaryResult(), ]; -void checkUnnamed131(core.List o) { +void checkUnnamed133(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGooglePrivacyDlpV2SummaryResult(o[0]); checkGooglePrivacyDlpV2SummaryResult(o[1]); @@ -9722,10 +9947,10 @@ api.GooglePrivacyDlpV2TransformationSummary buildCounterGooglePrivacyDlpV2TransformationSummary++; if (buildCounterGooglePrivacyDlpV2TransformationSummary < 3) { o.field = buildGooglePrivacyDlpV2FieldId(); - o.fieldTransformations = buildUnnamed130(); + o.fieldTransformations = buildUnnamed132(); o.infoType = buildGooglePrivacyDlpV2InfoType(); o.recordSuppress = buildGooglePrivacyDlpV2RecordSuppression(); - o.results = buildUnnamed131(); + o.results = buildUnnamed133(); o.transformation = buildGooglePrivacyDlpV2PrimitiveTransformation(); o.transformedBytes = 'foo'; } @@ -9738,10 +9963,10 @@ void checkGooglePrivacyDlpV2TransformationSummary( buildCounterGooglePrivacyDlpV2TransformationSummary++; if (buildCounterGooglePrivacyDlpV2TransformationSummary < 3) { checkGooglePrivacyDlpV2FieldId(o.field!); - checkUnnamed130(o.fieldTransformations!); + checkUnnamed132(o.fieldTransformations!); checkGooglePrivacyDlpV2InfoType(o.infoType!); checkGooglePrivacyDlpV2RecordSuppression(o.recordSuppress!); - checkUnnamed131(o.results!); + checkUnnamed133(o.results!); checkGooglePrivacyDlpV2PrimitiveTransformation(o.transformation!); unittest.expect( o.transformedBytes!, @@ -10078,12 +10303,142 @@ void checkGooglePrivacyDlpV2VersionDescription( buildCounterGooglePrivacyDlpV2VersionDescription--; } -core.List buildUnnamed132() => [ +core.int buildCounterGooglePrivacyDlpV2VertexDatasetCollection = 0; +api.GooglePrivacyDlpV2VertexDatasetCollection + buildGooglePrivacyDlpV2VertexDatasetCollection() { + final o = api.GooglePrivacyDlpV2VertexDatasetCollection(); + buildCounterGooglePrivacyDlpV2VertexDatasetCollection++; + if (buildCounterGooglePrivacyDlpV2VertexDatasetCollection < 3) { + o.vertexDatasetRegexes = buildGooglePrivacyDlpV2VertexDatasetRegexes(); + } + buildCounterGooglePrivacyDlpV2VertexDatasetCollection--; + return o; +} + +void checkGooglePrivacyDlpV2VertexDatasetCollection( + api.GooglePrivacyDlpV2VertexDatasetCollection o) { + buildCounterGooglePrivacyDlpV2VertexDatasetCollection++; + if (buildCounterGooglePrivacyDlpV2VertexDatasetCollection < 3) { + checkGooglePrivacyDlpV2VertexDatasetRegexes(o.vertexDatasetRegexes!); + } + buildCounterGooglePrivacyDlpV2VertexDatasetCollection--; +} + +core.int buildCounterGooglePrivacyDlpV2VertexDatasetDiscoveryTarget = 0; +api.GooglePrivacyDlpV2VertexDatasetDiscoveryTarget + buildGooglePrivacyDlpV2VertexDatasetDiscoveryTarget() { + final o = api.GooglePrivacyDlpV2VertexDatasetDiscoveryTarget(); + buildCounterGooglePrivacyDlpV2VertexDatasetDiscoveryTarget++; + if (buildCounterGooglePrivacyDlpV2VertexDatasetDiscoveryTarget < 3) { + o.conditions = buildGooglePrivacyDlpV2DiscoveryVertexDatasetConditions(); + o.disabled = buildGooglePrivacyDlpV2Disabled(); + o.filter = buildGooglePrivacyDlpV2DiscoveryVertexDatasetFilter(); + o.generationCadence = + buildGooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence(); + } + buildCounterGooglePrivacyDlpV2VertexDatasetDiscoveryTarget--; + return o; +} + +void checkGooglePrivacyDlpV2VertexDatasetDiscoveryTarget( + api.GooglePrivacyDlpV2VertexDatasetDiscoveryTarget o) { + buildCounterGooglePrivacyDlpV2VertexDatasetDiscoveryTarget++; + if (buildCounterGooglePrivacyDlpV2VertexDatasetDiscoveryTarget < 3) { + checkGooglePrivacyDlpV2DiscoveryVertexDatasetConditions(o.conditions!); + checkGooglePrivacyDlpV2Disabled(o.disabled!); + checkGooglePrivacyDlpV2DiscoveryVertexDatasetFilter(o.filter!); + checkGooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence( + o.generationCadence!); + } + buildCounterGooglePrivacyDlpV2VertexDatasetDiscoveryTarget--; +} + +core.int buildCounterGooglePrivacyDlpV2VertexDatasetRegex = 0; +api.GooglePrivacyDlpV2VertexDatasetRegex + buildGooglePrivacyDlpV2VertexDatasetRegex() { + final o = api.GooglePrivacyDlpV2VertexDatasetRegex(); + buildCounterGooglePrivacyDlpV2VertexDatasetRegex++; + if (buildCounterGooglePrivacyDlpV2VertexDatasetRegex < 3) { + o.projectIdRegex = 'foo'; + } + buildCounterGooglePrivacyDlpV2VertexDatasetRegex--; + return o; +} + +void checkGooglePrivacyDlpV2VertexDatasetRegex( + api.GooglePrivacyDlpV2VertexDatasetRegex o) { + buildCounterGooglePrivacyDlpV2VertexDatasetRegex++; + if (buildCounterGooglePrivacyDlpV2VertexDatasetRegex < 3) { + unittest.expect( + o.projectIdRegex!, + unittest.equals('foo'), + ); + } + buildCounterGooglePrivacyDlpV2VertexDatasetRegex--; +} + +core.List buildUnnamed134() => [ + buildGooglePrivacyDlpV2VertexDatasetRegex(), + buildGooglePrivacyDlpV2VertexDatasetRegex(), + ]; + +void checkUnnamed134(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGooglePrivacyDlpV2VertexDatasetRegex(o[0]); + checkGooglePrivacyDlpV2VertexDatasetRegex(o[1]); +} + +core.int buildCounterGooglePrivacyDlpV2VertexDatasetRegexes = 0; +api.GooglePrivacyDlpV2VertexDatasetRegexes + buildGooglePrivacyDlpV2VertexDatasetRegexes() { + final o = api.GooglePrivacyDlpV2VertexDatasetRegexes(); + buildCounterGooglePrivacyDlpV2VertexDatasetRegexes++; + if (buildCounterGooglePrivacyDlpV2VertexDatasetRegexes < 3) { + o.patterns = buildUnnamed134(); + } + buildCounterGooglePrivacyDlpV2VertexDatasetRegexes--; + return o; +} + +void checkGooglePrivacyDlpV2VertexDatasetRegexes( + api.GooglePrivacyDlpV2VertexDatasetRegexes o) { + buildCounterGooglePrivacyDlpV2VertexDatasetRegexes++; + if (buildCounterGooglePrivacyDlpV2VertexDatasetRegexes < 3) { + checkUnnamed134(o.patterns!); + } + buildCounterGooglePrivacyDlpV2VertexDatasetRegexes--; +} + +core.int buildCounterGooglePrivacyDlpV2VertexDatasetResourceReference = 0; +api.GooglePrivacyDlpV2VertexDatasetResourceReference + buildGooglePrivacyDlpV2VertexDatasetResourceReference() { + final o = api.GooglePrivacyDlpV2VertexDatasetResourceReference(); + buildCounterGooglePrivacyDlpV2VertexDatasetResourceReference++; + if (buildCounterGooglePrivacyDlpV2VertexDatasetResourceReference < 3) { + o.datasetResourceName = 'foo'; + } + buildCounterGooglePrivacyDlpV2VertexDatasetResourceReference--; + return o; +} + +void checkGooglePrivacyDlpV2VertexDatasetResourceReference( + api.GooglePrivacyDlpV2VertexDatasetResourceReference o) { + buildCounterGooglePrivacyDlpV2VertexDatasetResourceReference++; + if (buildCounterGooglePrivacyDlpV2VertexDatasetResourceReference < 3) { + unittest.expect( + o.datasetResourceName!, + unittest.equals('foo'), + ); + } + buildCounterGooglePrivacyDlpV2VertexDatasetResourceReference--; +} + +core.List buildUnnamed135() => [ 'foo', 'foo', ]; -void checkUnnamed132(core.List o) { +void checkUnnamed135(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10100,7 +10455,7 @@ api.GooglePrivacyDlpV2WordList buildGooglePrivacyDlpV2WordList() { final o = api.GooglePrivacyDlpV2WordList(); buildCounterGooglePrivacyDlpV2WordList++; if (buildCounterGooglePrivacyDlpV2WordList < 3) { - o.words = buildUnnamed132(); + o.words = buildUnnamed135(); } buildCounterGooglePrivacyDlpV2WordList--; return o; @@ -10109,7 +10464,7 @@ api.GooglePrivacyDlpV2WordList buildGooglePrivacyDlpV2WordList() { void checkGooglePrivacyDlpV2WordList(api.GooglePrivacyDlpV2WordList o) { buildCounterGooglePrivacyDlpV2WordList++; if (buildCounterGooglePrivacyDlpV2WordList < 3) { - checkUnnamed132(o.words!); + checkUnnamed135(o.words!); } buildCounterGooglePrivacyDlpV2WordList--; } @@ -10129,7 +10484,7 @@ void checkGoogleProtobufEmpty(api.GoogleProtobufEmpty o) { buildCounterGoogleProtobufEmpty--; } -core.Map buildUnnamed133() => { +core.Map buildUnnamed136() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -10142,7 +10497,7 @@ core.Map buildUnnamed133() => { }, }; -void checkUnnamed133(core.Map o) { +void checkUnnamed136(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -10174,15 +10529,15 @@ void checkUnnamed133(core.Map o) { ); } -core.List> buildUnnamed134() => [ - buildUnnamed133(), - buildUnnamed133(), +core.List> buildUnnamed137() => [ + buildUnnamed136(), + buildUnnamed136(), ]; -void checkUnnamed134(core.List> o) { +void checkUnnamed137(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed133(o[0]); - checkUnnamed133(o[1]); + checkUnnamed136(o[0]); + checkUnnamed136(o[1]); } core.int buildCounterGoogleRpcStatus = 0; @@ -10191,7 +10546,7 @@ api.GoogleRpcStatus buildGoogleRpcStatus() { buildCounterGoogleRpcStatus++; if (buildCounterGoogleRpcStatus < 3) { o.code = 42; - o.details = buildUnnamed134(); + o.details = buildUnnamed137(); o.message = 'foo'; } buildCounterGoogleRpcStatus--; @@ -10205,7 +10560,7 @@ void checkGoogleRpcStatus(api.GoogleRpcStatus o) { o.code!, unittest.equals(42), ); - checkUnnamed134(o.details!); + checkUnnamed137(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -11449,6 +11804,42 @@ void main() { }); }); + unittest.group( + 'obj-schema-GooglePrivacyDlpV2DiscoveryVertexDatasetConditions', () { + unittest.test('to-json--from-json', () async { + final o = buildGooglePrivacyDlpV2DiscoveryVertexDatasetConditions(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.GooglePrivacyDlpV2DiscoveryVertexDatasetConditions.fromJson( + oJson as core.Map); + checkGooglePrivacyDlpV2DiscoveryVertexDatasetConditions(od); + }); + }); + + unittest.group('obj-schema-GooglePrivacyDlpV2DiscoveryVertexDatasetFilter', + () { + unittest.test('to-json--from-json', () async { + final o = buildGooglePrivacyDlpV2DiscoveryVertexDatasetFilter(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GooglePrivacyDlpV2DiscoveryVertexDatasetFilter.fromJson( + oJson as core.Map); + checkGooglePrivacyDlpV2DiscoveryVertexDatasetFilter(od); + }); + }); + + unittest.group( + 'obj-schema-GooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence', + () { + unittest.test('to-json--from-json', () async { + final o = + buildGooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence + .fromJson(oJson as core.Map); + checkGooglePrivacyDlpV2DiscoveryVertexDatasetGenerationCadence(od); + }); + }); + unittest.group('obj-schema-GooglePrivacyDlpV2DlpJob', () { unittest.test('to-json--from-json', () async { final o = buildGooglePrivacyDlpV2DlpJob(); @@ -11689,6 +12080,16 @@ void main() { }); }); + unittest.group('obj-schema-GooglePrivacyDlpV2GlobalProcessing', () { + unittest.test('to-json--from-json', () async { + final o = buildGooglePrivacyDlpV2GlobalProcessing(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GooglePrivacyDlpV2GlobalProcessing.fromJson( + oJson as core.Map); + checkGooglePrivacyDlpV2GlobalProcessing(od); + }); + }); + unittest.group('obj-schema-GooglePrivacyDlpV2HotwordRule', () { unittest.test('to-json--from-json', () async { final o = buildGooglePrivacyDlpV2HotwordRule(); @@ -11770,6 +12171,16 @@ void main() { }); }); + unittest.group('obj-schema-GooglePrivacyDlpV2ImageFallbackLocation', () { + unittest.test('to-json--from-json', () async { + final o = buildGooglePrivacyDlpV2ImageFallbackLocation(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GooglePrivacyDlpV2ImageFallbackLocation.fromJson( + oJson as core.Map); + checkGooglePrivacyDlpV2ImageFallbackLocation(od); + }); + }); + unittest.group('obj-schema-GooglePrivacyDlpV2ImageLocation', () { unittest.test('to-json--from-json', () async { final o = buildGooglePrivacyDlpV2ImageLocation(); @@ -12362,6 +12773,16 @@ void main() { }); }); + unittest.group('obj-schema-GooglePrivacyDlpV2MultiRegionProcessing', () { + unittest.test('to-json--from-json', () async { + final o = buildGooglePrivacyDlpV2MultiRegionProcessing(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GooglePrivacyDlpV2MultiRegionProcessing.fromJson( + oJson as core.Map); + checkGooglePrivacyDlpV2MultiRegionProcessing(od); + }); + }); + unittest.group('obj-schema-GooglePrivacyDlpV2NumericalStatsConfig', () { unittest.test('to-json--from-json', () async { final o = buildGooglePrivacyDlpV2NumericalStatsConfig(); @@ -12527,6 +12948,16 @@ void main() { }); }); + unittest.group('obj-schema-GooglePrivacyDlpV2ProcessingLocation', () { + unittest.test('to-json--from-json', () async { + final o = buildGooglePrivacyDlpV2ProcessingLocation(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GooglePrivacyDlpV2ProcessingLocation.fromJson( + oJson as core.Map); + checkGooglePrivacyDlpV2ProcessingLocation(od); + }); + }); + unittest.group('obj-schema-GooglePrivacyDlpV2ProfileStatus', () { unittest.test('to-json--from-json', () async { final o = buildGooglePrivacyDlpV2ProfileStatus(); @@ -12810,6 +13241,16 @@ void main() { }); }); + unittest.group('obj-schema-GooglePrivacyDlpV2RelatedResource', () { + unittest.test('to-json--from-json', () async { + final o = buildGooglePrivacyDlpV2RelatedResource(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GooglePrivacyDlpV2RelatedResource.fromJson( + oJson as core.Map); + checkGooglePrivacyDlpV2RelatedResource(od); + }); + }); + unittest.group('obj-schema-GooglePrivacyDlpV2ReplaceDictionaryConfig', () { unittest.test('to-json--from-json', () async { final o = buildGooglePrivacyDlpV2ReplaceDictionaryConfig(); @@ -13388,6 +13829,58 @@ void main() { }); }); + unittest.group('obj-schema-GooglePrivacyDlpV2VertexDatasetCollection', () { + unittest.test('to-json--from-json', () async { + final o = buildGooglePrivacyDlpV2VertexDatasetCollection(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GooglePrivacyDlpV2VertexDatasetCollection.fromJson( + oJson as core.Map); + checkGooglePrivacyDlpV2VertexDatasetCollection(od); + }); + }); + + unittest.group('obj-schema-GooglePrivacyDlpV2VertexDatasetDiscoveryTarget', + () { + unittest.test('to-json--from-json', () async { + final o = buildGooglePrivacyDlpV2VertexDatasetDiscoveryTarget(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GooglePrivacyDlpV2VertexDatasetDiscoveryTarget.fromJson( + oJson as core.Map); + checkGooglePrivacyDlpV2VertexDatasetDiscoveryTarget(od); + }); + }); + + unittest.group('obj-schema-GooglePrivacyDlpV2VertexDatasetRegex', () { + unittest.test('to-json--from-json', () async { + final o = buildGooglePrivacyDlpV2VertexDatasetRegex(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GooglePrivacyDlpV2VertexDatasetRegex.fromJson( + oJson as core.Map); + checkGooglePrivacyDlpV2VertexDatasetRegex(od); + }); + }); + + unittest.group('obj-schema-GooglePrivacyDlpV2VertexDatasetRegexes', () { + unittest.test('to-json--from-json', () async { + final o = buildGooglePrivacyDlpV2VertexDatasetRegexes(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GooglePrivacyDlpV2VertexDatasetRegexes.fromJson( + oJson as core.Map); + checkGooglePrivacyDlpV2VertexDatasetRegexes(od); + }); + }); + + unittest.group('obj-schema-GooglePrivacyDlpV2VertexDatasetResourceReference', + () { + unittest.test('to-json--from-json', () async { + final o = buildGooglePrivacyDlpV2VertexDatasetResourceReference(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GooglePrivacyDlpV2VertexDatasetResourceReference.fromJson( + oJson as core.Map); + checkGooglePrivacyDlpV2VertexDatasetResourceReference(od); + }); + }); + unittest.group('obj-schema-GooglePrivacyDlpV2WordList', () { unittest.test('to-json--from-json', () async { final o = buildGooglePrivacyDlpV2WordList(); diff --git a/generated/googleapis/test/dns/v1_test.dart b/generated/googleapis/test/dns/v1_test.dart index e2f1091b9..769703872 100644 --- a/generated/googleapis/test/dns/v1_test.dart +++ b/generated/googleapis/test/dns/v1_test.dart @@ -1435,6 +1435,7 @@ api.Policy buildPolicy() { if (buildCounterPolicy < 3) { o.alternativeNameServerConfig = buildPolicyAlternativeNameServerConfig(); o.description = 'foo'; + o.dns64Config = buildPolicyDns64Config(); o.enableInboundForwarding = true; o.enableLogging = true; o.id = 'foo'; @@ -1454,6 +1455,7 @@ void checkPolicy(api.Policy o) { o.description!, unittest.equals('foo'), ); + checkPolicyDns64Config(o.dns64Config!); unittest.expect(o.enableInboundForwarding!, unittest.isTrue); unittest.expect(o.enableLogging!, unittest.isTrue); unittest.expect( @@ -1550,6 +1552,54 @@ void checkPolicyAlternativeNameServerConfigTargetNameServer( buildCounterPolicyAlternativeNameServerConfigTargetNameServer--; } +core.int buildCounterPolicyDns64Config = 0; +api.PolicyDns64Config buildPolicyDns64Config() { + final o = api.PolicyDns64Config(); + buildCounterPolicyDns64Config++; + if (buildCounterPolicyDns64Config < 3) { + o.kind = 'foo'; + o.scope = buildPolicyDns64ConfigScope(); + } + buildCounterPolicyDns64Config--; + return o; +} + +void checkPolicyDns64Config(api.PolicyDns64Config o) { + buildCounterPolicyDns64Config++; + if (buildCounterPolicyDns64Config < 3) { + unittest.expect( + o.kind!, + unittest.equals('foo'), + ); + checkPolicyDns64ConfigScope(o.scope!); + } + buildCounterPolicyDns64Config--; +} + +core.int buildCounterPolicyDns64ConfigScope = 0; +api.PolicyDns64ConfigScope buildPolicyDns64ConfigScope() { + final o = api.PolicyDns64ConfigScope(); + buildCounterPolicyDns64ConfigScope++; + if (buildCounterPolicyDns64ConfigScope < 3) { + o.allQueries = true; + o.kind = 'foo'; + } + buildCounterPolicyDns64ConfigScope--; + return o; +} + +void checkPolicyDns64ConfigScope(api.PolicyDns64ConfigScope o) { + buildCounterPolicyDns64ConfigScope++; + if (buildCounterPolicyDns64ConfigScope < 3) { + unittest.expect(o.allQueries!, unittest.isTrue); + unittest.expect( + o.kind!, + unittest.equals('foo'), + ); + } + buildCounterPolicyDns64ConfigScope--; +} + core.int buildCounterPolicyNetwork = 0; api.PolicyNetwork buildPolicyNetwork() { final o = api.PolicyNetwork(); @@ -3041,6 +3091,26 @@ void main() { }); }); + unittest.group('obj-schema-PolicyDns64Config', () { + unittest.test('to-json--from-json', () async { + final o = buildPolicyDns64Config(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.PolicyDns64Config.fromJson( + oJson as core.Map); + checkPolicyDns64Config(od); + }); + }); + + unittest.group('obj-schema-PolicyDns64ConfigScope', () { + unittest.test('to-json--from-json', () async { + final o = buildPolicyDns64ConfigScope(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.PolicyDns64ConfigScope.fromJson( + oJson as core.Map); + checkPolicyDns64ConfigScope(od); + }); + }); + unittest.group('obj-schema-PolicyNetwork', () { unittest.test('to-json--from-json', () async { final o = buildPolicyNetwork(); diff --git a/generated/googleapis/test/documentai/v1_test.dart b/generated/googleapis/test/documentai/v1_test.dart index 094bee45b..9963e7c13 100644 --- a/generated/googleapis/test/documentai/v1_test.dart +++ b/generated/googleapis/test/documentai/v1_test.dart @@ -3828,6 +3828,8 @@ api.GoogleCloudDocumentaiV1ProcessOptionsLayoutConfig if (buildCounterGoogleCloudDocumentaiV1ProcessOptionsLayoutConfig < 3) { o.chunkingConfig = buildGoogleCloudDocumentaiV1ProcessOptionsLayoutConfigChunkingConfig(); + o.returnBoundingBoxes = true; + o.returnImages = true; } buildCounterGoogleCloudDocumentaiV1ProcessOptionsLayoutConfig--; return o; @@ -3839,6 +3841,8 @@ void checkGoogleCloudDocumentaiV1ProcessOptionsLayoutConfig( if (buildCounterGoogleCloudDocumentaiV1ProcessOptionsLayoutConfig < 3) { checkGoogleCloudDocumentaiV1ProcessOptionsLayoutConfigChunkingConfig( o.chunkingConfig!); + unittest.expect(o.returnBoundingBoxes!, unittest.isTrue); + unittest.expect(o.returnImages!, unittest.isTrue); } buildCounterGoogleCloudDocumentaiV1ProcessOptionsLayoutConfig--; } diff --git a/generated/googleapis/test/drive/v2_test.dart b/generated/googleapis/test/drive/v2_test.dart index 5cb79e8ab..bd22edc21 100644 --- a/generated/googleapis/test/drive/v2_test.dart +++ b/generated/googleapis/test/drive/v2_test.dart @@ -1691,8 +1691,10 @@ api.FileCapabilities buildFileCapabilities() { o.canCopy = true; o.canDelete = true; o.canDeleteChildren = true; + o.canDisableInheritedPermissions = true; o.canDownload = true; o.canEdit = true; + o.canEnableInheritedPermissions = true; o.canListChildren = true; o.canModifyContent = true; o.canModifyContentRestriction = true; @@ -1740,8 +1742,10 @@ void checkFileCapabilities(api.FileCapabilities o) { unittest.expect(o.canCopy!, unittest.isTrue); unittest.expect(o.canDelete!, unittest.isTrue); unittest.expect(o.canDeleteChildren!, unittest.isTrue); + unittest.expect(o.canDisableInheritedPermissions!, unittest.isTrue); unittest.expect(o.canDownload!, unittest.isTrue); unittest.expect(o.canEdit!, unittest.isTrue); + unittest.expect(o.canEnableInheritedPermissions!, unittest.isTrue); unittest.expect(o.canListChildren!, unittest.isTrue); unittest.expect(o.canModifyContent!, unittest.isTrue); unittest.expect(o.canModifyContentRestriction!, unittest.isTrue); @@ -2289,6 +2293,7 @@ api.File buildFile() { o.id = 'foo'; o.imageMediaMetadata = buildFileImageMediaMetadata(); o.indexableText = buildFileIndexableText(); + o.inheritedPermissionsDisabled = true; o.isAppAuthorized = true; o.kind = 'foo'; o.labelInfo = buildFileLabelInfo(); @@ -2417,6 +2422,7 @@ void checkFile(api.File o) { ); checkFileImageMediaMetadata(o.imageMediaMetadata!); checkFileIndexableText(o.indexableText!); + unittest.expect(o.inheritedPermissionsDisabled!, unittest.isTrue); unittest.expect(o.isAppAuthorized!, unittest.isTrue); unittest.expect( o.kind!, @@ -3325,6 +3331,7 @@ api.Permission buildPermission() { o.etag = 'foo'; o.expirationDate = core.DateTime.parse('2002-02-27T14:01:02Z'); o.id = 'foo'; + o.inheritedPermissionsDisabled = true; o.kind = 'foo'; o.name = 'foo'; o.pendingOwner = true; @@ -3371,6 +3378,7 @@ void checkPermission(api.Permission o) { o.id!, unittest.equals('foo'), ); + unittest.expect(o.inheritedPermissionsDisabled!, unittest.isTrue); unittest.expect( o.kind!, unittest.equals('foo'), @@ -8940,6 +8948,7 @@ void main() { final res = api.DriveApi(mock).permissions; final arg_fileId = 'foo'; final arg_permissionId = 'foo'; + final arg_enforceExpansiveAccess = true; final arg_supportsAllDrives = true; final arg_supportsTeamDrives = true; final arg_useDomainAdminAccess = true; @@ -9000,6 +9009,10 @@ void main() { ); } } + unittest.expect( + queryMap['enforceExpansiveAccess']!.first, + unittest.equals('$arg_enforceExpansiveAccess'), + ); unittest.expect( queryMap['supportsAllDrives']!.first, unittest.equals('$arg_supportsAllDrives'), @@ -9024,6 +9037,7 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); await res.delete(arg_fileId, arg_permissionId, + enforceExpansiveAccess: arg_enforceExpansiveAccess, supportsAllDrives: arg_supportsAllDrives, supportsTeamDrives: arg_supportsTeamDrives, useDomainAdminAccess: arg_useDomainAdminAccess, @@ -9419,6 +9433,7 @@ void main() { final arg_request = buildPermission(); final arg_fileId = 'foo'; final arg_permissionId = 'foo'; + final arg_enforceExpansiveAccess = true; final arg_removeExpiration = true; final arg_supportsAllDrives = true; final arg_supportsTeamDrives = true; @@ -9485,6 +9500,10 @@ void main() { ); } } + unittest.expect( + queryMap['enforceExpansiveAccess']!.first, + unittest.equals('$arg_enforceExpansiveAccess'), + ); unittest.expect( queryMap['removeExpiration']!.first, unittest.equals('$arg_removeExpiration'), @@ -9518,6 +9537,7 @@ void main() { }), true); final response = await res.patch( arg_request, arg_fileId, arg_permissionId, + enforceExpansiveAccess: arg_enforceExpansiveAccess, removeExpiration: arg_removeExpiration, supportsAllDrives: arg_supportsAllDrives, supportsTeamDrives: arg_supportsTeamDrives, @@ -9533,6 +9553,7 @@ void main() { final arg_request = buildPermission(); final arg_fileId = 'foo'; final arg_permissionId = 'foo'; + final arg_enforceExpansiveAccess = true; final arg_removeExpiration = true; final arg_supportsAllDrives = true; final arg_supportsTeamDrives = true; @@ -9599,6 +9620,10 @@ void main() { ); } } + unittest.expect( + queryMap['enforceExpansiveAccess']!.first, + unittest.equals('$arg_enforceExpansiveAccess'), + ); unittest.expect( queryMap['removeExpiration']!.first, unittest.equals('$arg_removeExpiration'), @@ -9632,6 +9657,7 @@ void main() { }), true); final response = await res.update( arg_request, arg_fileId, arg_permissionId, + enforceExpansiveAccess: arg_enforceExpansiveAccess, removeExpiration: arg_removeExpiration, supportsAllDrives: arg_supportsAllDrives, supportsTeamDrives: arg_supportsTeamDrives, diff --git a/generated/googleapis/test/drive/v3_test.dart b/generated/googleapis/test/drive/v3_test.dart index 920a72e9b..b1b40e957 100644 --- a/generated/googleapis/test/drive/v3_test.dart +++ b/generated/googleapis/test/drive/v3_test.dart @@ -1006,6 +1006,27 @@ void checkContentRestriction(api.ContentRestriction o) { buildCounterContentRestriction--; } +core.int buildCounterDownloadRestriction = 0; +api.DownloadRestriction buildDownloadRestriction() { + final o = api.DownloadRestriction(); + buildCounterDownloadRestriction++; + if (buildCounterDownloadRestriction < 3) { + o.restrictedForReaders = true; + o.restrictedForWriters = true; + } + buildCounterDownloadRestriction--; + return o; +} + +void checkDownloadRestriction(api.DownloadRestriction o) { + buildCounterDownloadRestriction++; + if (buildCounterDownloadRestriction < 3) { + unittest.expect(o.restrictedForReaders!, unittest.isTrue); + unittest.expect(o.restrictedForWriters!, unittest.isTrue); + } + buildCounterDownloadRestriction--; +} + core.int buildCounterDriveBackgroundImageFile = 0; api.DriveBackgroundImageFile buildDriveBackgroundImageFile() { final o = api.DriveBackgroundImageFile(); @@ -1111,6 +1132,7 @@ api.DriveRestrictions buildDriveRestrictions() { o.adminManagedRestrictions = true; o.copyRequiresWriterPermission = true; o.domainUsersOnly = true; + o.downloadRestriction = buildDownloadRestriction(); o.driveMembersOnly = true; o.sharingFoldersRequiresOrganizerPermission = true; } @@ -1124,6 +1146,7 @@ void checkDriveRestrictions(api.DriveRestrictions o) { unittest.expect(o.adminManagedRestrictions!, unittest.isTrue); unittest.expect(o.copyRequiresWriterPermission!, unittest.isTrue); unittest.expect(o.domainUsersOnly!, unittest.isTrue); + checkDownloadRestriction(o.downloadRestriction!); unittest.expect(o.driveMembersOnly!, unittest.isTrue); unittest.expect( o.sharingFoldersRequiresOrganizerPermission!, unittest.isTrue); @@ -1269,8 +1292,10 @@ api.FileCapabilities buildFileCapabilities() { o.canCopy = true; o.canDelete = true; o.canDeleteChildren = true; + o.canDisableInheritedPermissions = true; o.canDownload = true; o.canEdit = true; + o.canEnableInheritedPermissions = true; o.canListChildren = true; o.canModifyContent = true; o.canModifyContentRestriction = true; @@ -1318,8 +1343,10 @@ void checkFileCapabilities(api.FileCapabilities o) { unittest.expect(o.canCopy!, unittest.isTrue); unittest.expect(o.canDelete!, unittest.isTrue); unittest.expect(o.canDeleteChildren!, unittest.isTrue); + unittest.expect(o.canDisableInheritedPermissions!, unittest.isTrue); unittest.expect(o.canDownload!, unittest.isTrue); unittest.expect(o.canEdit!, unittest.isTrue); + unittest.expect(o.canEnableInheritedPermissions!, unittest.isTrue); unittest.expect(o.canListChildren!, unittest.isTrue); unittest.expect(o.canModifyContent!, unittest.isTrue); unittest.expect(o.canModifyContentRestriction!, unittest.isTrue); @@ -1808,6 +1835,7 @@ api.File buildFile() { o.iconLink = 'foo'; o.id = 'foo'; o.imageMediaMetadata = buildFileImageMediaMetadata(); + o.inheritedPermissionsDisabled = true; o.isAppAuthorized = true; o.kind = 'foo'; o.labelInfo = buildFileLabelInfo(); @@ -1905,6 +1933,7 @@ void checkFile(api.File o) { unittest.equals('foo'), ); checkFileImageMediaMetadata(o.imageMediaMetadata!); + unittest.expect(o.inheritedPermissionsDisabled!, unittest.isTrue); unittest.expect(o.isAppAuthorized!, unittest.isTrue); unittest.expect( o.kind!, @@ -2839,6 +2868,7 @@ api.Permission buildPermission() { o.emailAddress = 'foo'; o.expirationTime = core.DateTime.parse('2002-02-27T14:01:02Z'); o.id = 'foo'; + o.inheritedPermissionsDisabled = true; o.kind = 'foo'; o.pendingOwner = true; o.permissionDetails = buildUnnamed52(); @@ -2877,6 +2907,7 @@ void checkPermission(api.Permission o) { o.id!, unittest.equals('foo'), ); + unittest.expect(o.inheritedPermissionsDisabled!, unittest.isTrue); unittest.expect( o.kind!, unittest.equals('foo'), @@ -3433,6 +3464,7 @@ api.TeamDriveRestrictions buildTeamDriveRestrictions() { o.adminManagedRestrictions = true; o.copyRequiresWriterPermission = true; o.domainUsersOnly = true; + o.downloadRestriction = buildDownloadRestriction(); o.sharingFoldersRequiresOrganizerPermission = true; o.teamMembersOnly = true; } @@ -3446,6 +3478,7 @@ void checkTeamDriveRestrictions(api.TeamDriveRestrictions o) { unittest.expect(o.adminManagedRestrictions!, unittest.isTrue); unittest.expect(o.copyRequiresWriterPermission!, unittest.isTrue); unittest.expect(o.domainUsersOnly!, unittest.isTrue); + checkDownloadRestriction(o.downloadRestriction!); unittest.expect( o.sharingFoldersRequiresOrganizerPermission!, unittest.isTrue); unittest.expect(o.teamMembersOnly!, unittest.isTrue); @@ -3760,6 +3793,16 @@ void main() { }); }); + unittest.group('obj-schema-DownloadRestriction', () { + unittest.test('to-json--from-json', () async { + final o = buildDownloadRestriction(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DownloadRestriction.fromJson( + oJson as core.Map); + checkDownloadRestriction(od); + }); + }); + unittest.group('obj-schema-DriveBackgroundImageFile', () { unittest.test('to-json--from-json', () async { final o = buildDriveBackgroundImageFile(); @@ -7256,10 +7299,10 @@ void main() { }); }); - unittest.group('resource-OperationResource', () { + unittest.group('resource-OperationsResource', () { unittest.test('method--cancel', () async { final mock = HttpServerMock(); - final res = api.DriveApi(mock).operation; + final res = api.DriveApi(mock).operations; final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -7278,10 +7321,10 @@ void main() { ); pathOffset += 9; unittest.expect( - path.substring(pathOffset, pathOffset + 10), - unittest.equals('operation/'), + path.substring(pathOffset, pathOffset + 11), + unittest.equals('operations/'), ); - pathOffset += 10; + pathOffset += 11; index = path.indexOf(':cancel', pathOffset); unittest.expect(index >= 0, unittest.isTrue); subPart = @@ -7328,7 +7371,7 @@ void main() { unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.DriveApi(mock).operation; + final res = api.DriveApi(mock).operations; final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -7347,10 +7390,10 @@ void main() { ); pathOffset += 9; unittest.expect( - path.substring(pathOffset, pathOffset + 10), - unittest.equals('operation/'), + path.substring(pathOffset, pathOffset + 11), + unittest.equals('operations/'), ); - pathOffset += 10; + pathOffset += 11; subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); pathOffset = path.length; unittest.expect( @@ -7386,9 +7429,7 @@ void main() { }), true); await res.delete(arg_name, $fields: arg_$fields); }); - }); - unittest.group('resource-OperationsResource', () { unittest.test('method--get', () async { final mock = HttpServerMock(); final res = api.DriveApi(mock).operations; @@ -7662,6 +7703,7 @@ void main() { final res = api.DriveApi(mock).permissions; final arg_fileId = 'foo'; final arg_permissionId = 'foo'; + final arg_enforceExpansiveAccess = true; final arg_supportsAllDrives = true; final arg_supportsTeamDrives = true; final arg_useDomainAdminAccess = true; @@ -7722,6 +7764,10 @@ void main() { ); } } + unittest.expect( + queryMap['enforceExpansiveAccess']!.first, + unittest.equals('$arg_enforceExpansiveAccess'), + ); unittest.expect( queryMap['supportsAllDrives']!.first, unittest.equals('$arg_supportsAllDrives'), @@ -7746,6 +7792,7 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); await res.delete(arg_fileId, arg_permissionId, + enforceExpansiveAccess: arg_enforceExpansiveAccess, supportsAllDrives: arg_supportsAllDrives, supportsTeamDrives: arg_supportsTeamDrives, useDomainAdminAccess: arg_useDomainAdminAccess, @@ -7961,6 +8008,7 @@ void main() { final arg_request = buildPermission(); final arg_fileId = 'foo'; final arg_permissionId = 'foo'; + final arg_enforceExpansiveAccess = true; final arg_removeExpiration = true; final arg_supportsAllDrives = true; final arg_supportsTeamDrives = true; @@ -8027,6 +8075,10 @@ void main() { ); } } + unittest.expect( + queryMap['enforceExpansiveAccess']!.first, + unittest.equals('$arg_enforceExpansiveAccess'), + ); unittest.expect( queryMap['removeExpiration']!.first, unittest.equals('$arg_removeExpiration'), @@ -8060,6 +8112,7 @@ void main() { }), true); final response = await res.update( arg_request, arg_fileId, arg_permissionId, + enforceExpansiveAccess: arg_enforceExpansiveAccess, removeExpiration: arg_removeExpiration, supportsAllDrives: arg_supportsAllDrives, supportsTeamDrives: arg_supportsTeamDrives, diff --git a/generated/googleapis/test/eventarc/v1_test.dart b/generated/googleapis/test/eventarc/v1_test.dart index c78697551..fed31ba38 100644 --- a/generated/googleapis/test/eventarc/v1_test.dart +++ b/generated/googleapis/test/eventarc/v1_test.dart @@ -5539,6 +5539,184 @@ void main() { }); }); + unittest.group('resource-ProjectsLocationsKafkaSourcesResource', () { + unittest.test('method--getIamPolicy', () async { + final mock = HttpServerMock(); + final res = api.EventarcApi(mock).projects.locations.kafkaSources; + final arg_resource = 'foo'; + final arg_options_requestedPolicyVersion = 42; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + core.int.parse(queryMap['options.requestedPolicyVersion']!.first), + unittest.equals(arg_options_requestedPolicyVersion), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildPolicy()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.getIamPolicy(arg_resource, + options_requestedPolicyVersion: arg_options_requestedPolicyVersion, + $fields: arg_$fields); + checkPolicy(response as api.Policy); + }); + + unittest.test('method--setIamPolicy', () async { + final mock = HttpServerMock(); + final res = api.EventarcApi(mock).projects.locations.kafkaSources; + final arg_request = buildSetIamPolicyRequest(); + final arg_resource = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.SetIamPolicyRequest.fromJson( + json as core.Map); + checkSetIamPolicyRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildPolicy()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.setIamPolicy(arg_request, arg_resource, + $fields: arg_$fields); + checkPolicy(response as api.Policy); + }); + + unittest.test('method--testIamPermissions', () async { + final mock = HttpServerMock(); + final res = api.EventarcApi(mock).projects.locations.kafkaSources; + final arg_request = buildTestIamPermissionsRequest(); + final arg_resource = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.TestIamPermissionsRequest.fromJson( + json as core.Map); + checkTestIamPermissionsRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildTestIamPermissionsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.testIamPermissions(arg_request, arg_resource, + $fields: arg_$fields); + checkTestIamPermissionsResponse( + response as api.TestIamPermissionsResponse); + }); + }); + unittest.group('resource-ProjectsLocationsMessageBusesResource', () { unittest.test('method--create', () async { final mock = HttpServerMock(); diff --git a/generated/googleapis/test/fcm/v1_test.dart b/generated/googleapis/test/fcm/v1_test.dart index bcc155466..708b25258 100644 --- a/generated/googleapis/test/fcm/v1_test.dart +++ b/generated/googleapis/test/fcm/v1_test.dart @@ -48,6 +48,7 @@ api.AndroidConfig buildAndroidConfig() { final o = api.AndroidConfig(); buildCounterAndroidConfig++; if (buildCounterAndroidConfig < 3) { + o.bandwidthConstrainedOk = true; o.collapseKey = 'foo'; o.data = buildUnnamed0(); o.directBootOk = true; @@ -64,6 +65,7 @@ api.AndroidConfig buildAndroidConfig() { void checkAndroidConfig(api.AndroidConfig o) { buildCounterAndroidConfig++; if (buildCounterAndroidConfig < 3) { + unittest.expect(o.bandwidthConstrainedOk!, unittest.isTrue); unittest.expect( o.collapseKey!, unittest.equals('foo'), diff --git a/generated/googleapis/test/file/v1_test.dart b/generated/googleapis/test/file/v1_test.dart index 60efb3ce6..ec7652736 100644 --- a/generated/googleapis/test/file/v1_test.dart +++ b/generated/googleapis/test/file/v1_test.dart @@ -342,8 +342,8 @@ api.Instance buildInstance() { final o = api.Instance(); buildCounterInstance++; if (buildCounterInstance < 3) { - o.configurablePerformanceEnabled = true; o.createTime = 'foo'; + o.customPerformanceSupported = true; o.deletionProtectionEnabled = true; o.deletionProtectionReason = 'foo'; o.description = 'foo'; @@ -372,11 +372,11 @@ api.Instance buildInstance() { void checkInstance(api.Instance o) { buildCounterInstance++; if (buildCounterInstance < 3) { - unittest.expect(o.configurablePerformanceEnabled!, unittest.isTrue); unittest.expect( o.createTime!, unittest.equals('foo'), ); + unittest.expect(o.customPerformanceSupported!, unittest.isTrue); unittest.expect(o.deletionProtectionEnabled!, unittest.isTrue); unittest.expect( o.deletionProtectionReason!, @@ -1030,6 +1030,7 @@ api.PerformanceLimits buildPerformanceLimits() { final o = api.PerformanceLimits(); buildCounterPerformanceLimits++; if (buildCounterPerformanceLimits < 3) { + o.maxIops = 'foo'; o.maxReadIops = 'foo'; o.maxReadThroughputBps = 'foo'; o.maxWriteIops = 'foo'; @@ -1042,6 +1043,10 @@ api.PerformanceLimits buildPerformanceLimits() { void checkPerformanceLimits(api.PerformanceLimits o) { buildCounterPerformanceLimits++; if (buildCounterPerformanceLimits < 3) { + unittest.expect( + o.maxIops!, + unittest.equals('foo'), + ); unittest.expect( o.maxReadIops!, unittest.equals('foo'), @@ -1066,14 +1071,21 @@ core.int buildCounterPromoteReplicaRequest = 0; api.PromoteReplicaRequest buildPromoteReplicaRequest() { final o = api.PromoteReplicaRequest(); buildCounterPromoteReplicaRequest++; - if (buildCounterPromoteReplicaRequest < 3) {} + if (buildCounterPromoteReplicaRequest < 3) { + o.peerInstance = 'foo'; + } buildCounterPromoteReplicaRequest--; return o; } void checkPromoteReplicaRequest(api.PromoteReplicaRequest o) { buildCounterPromoteReplicaRequest++; - if (buildCounterPromoteReplicaRequest < 3) {} + if (buildCounterPromoteReplicaRequest < 3) { + unittest.expect( + o.peerInstance!, + unittest.equals('foo'), + ); + } buildCounterPromoteReplicaRequest--; } diff --git a/generated/googleapis/test/forms/v1_test.dart b/generated/googleapis/test/forms/v1_test.dart index 568e8b4f2..6c4919490 100644 --- a/generated/googleapis/test/forms/v1_test.dart +++ b/generated/googleapis/test/forms/v1_test.dart @@ -563,6 +563,7 @@ api.Form buildForm() { o.info = buildInfo(); o.items = buildUnnamed8(); o.linkedSheetId = 'foo'; + o.publishSettings = buildPublishSettings(); o.responderUri = 'foo'; o.revisionId = 'foo'; o.settings = buildFormSettings(); @@ -584,6 +585,7 @@ void checkForm(api.Form o) { o.linkedSheetId!, unittest.equals('foo'), ); + checkPublishSettings(o.publishSettings!); unittest.expect( o.responderUri!, unittest.equals('foo'), @@ -662,6 +664,7 @@ api.FormSettings buildFormSettings() { final o = api.FormSettings(); buildCounterFormSettings++; if (buildCounterFormSettings < 3) { + o.emailCollectionType = 'foo'; o.quizSettings = buildQuizSettings(); } buildCounterFormSettings--; @@ -671,6 +674,10 @@ api.FormSettings buildFormSettings() { void checkFormSettings(api.FormSettings o) { buildCounterFormSettings++; if (buildCounterFormSettings < 3) { + unittest.expect( + o.emailCollectionType!, + unittest.equals('foo'), + ); checkQuizSettings(o.quizSettings!); } buildCounterFormSettings--; @@ -1068,6 +1075,46 @@ void checkPageBreakItem(api.PageBreakItem o) { buildCounterPageBreakItem--; } +core.int buildCounterPublishSettings = 0; +api.PublishSettings buildPublishSettings() { + final o = api.PublishSettings(); + buildCounterPublishSettings++; + if (buildCounterPublishSettings < 3) { + o.publishState = buildPublishState(); + } + buildCounterPublishSettings--; + return o; +} + +void checkPublishSettings(api.PublishSettings o) { + buildCounterPublishSettings++; + if (buildCounterPublishSettings < 3) { + checkPublishState(o.publishState!); + } + buildCounterPublishSettings--; +} + +core.int buildCounterPublishState = 0; +api.PublishState buildPublishState() { + final o = api.PublishState(); + buildCounterPublishState++; + if (buildCounterPublishState < 3) { + o.isAcceptingResponses = true; + o.isPublished = true; + } + buildCounterPublishState--; + return o; +} + +void checkPublishState(api.PublishState o) { + buildCounterPublishState++; + if (buildCounterPublishState < 3) { + unittest.expect(o.isAcceptingResponses!, unittest.isTrue); + unittest.expect(o.isPublished!, unittest.isTrue); + } + buildCounterPublishState--; +} + core.int buildCounterQuestion = 0; api.Question buildQuestion() { final o = api.Question(); @@ -1333,6 +1380,54 @@ void checkScaleQuestion(api.ScaleQuestion o) { buildCounterScaleQuestion--; } +core.int buildCounterSetPublishSettingsRequest = 0; +api.SetPublishSettingsRequest buildSetPublishSettingsRequest() { + final o = api.SetPublishSettingsRequest(); + buildCounterSetPublishSettingsRequest++; + if (buildCounterSetPublishSettingsRequest < 3) { + o.publishSettings = buildPublishSettings(); + o.updateMask = 'foo'; + } + buildCounterSetPublishSettingsRequest--; + return o; +} + +void checkSetPublishSettingsRequest(api.SetPublishSettingsRequest o) { + buildCounterSetPublishSettingsRequest++; + if (buildCounterSetPublishSettingsRequest < 3) { + checkPublishSettings(o.publishSettings!); + unittest.expect( + o.updateMask!, + unittest.equals('foo'), + ); + } + buildCounterSetPublishSettingsRequest--; +} + +core.int buildCounterSetPublishSettingsResponse = 0; +api.SetPublishSettingsResponse buildSetPublishSettingsResponse() { + final o = api.SetPublishSettingsResponse(); + buildCounterSetPublishSettingsResponse++; + if (buildCounterSetPublishSettingsResponse < 3) { + o.formId = 'foo'; + o.publishSettings = buildPublishSettings(); + } + buildCounterSetPublishSettingsResponse--; + return o; +} + +void checkSetPublishSettingsResponse(api.SetPublishSettingsResponse o) { + buildCounterSetPublishSettingsResponse++; + if (buildCounterSetPublishSettingsResponse < 3) { + unittest.expect( + o.formId!, + unittest.equals('foo'), + ); + checkPublishSettings(o.publishSettings!); + } + buildCounterSetPublishSettingsResponse--; +} + core.int buildCounterTextAnswer = 0; api.TextAnswer buildTextAnswer() { final o = api.TextAnswer(); @@ -2060,6 +2155,26 @@ void main() { }); }); + unittest.group('obj-schema-PublishSettings', () { + unittest.test('to-json--from-json', () async { + final o = buildPublishSettings(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.PublishSettings.fromJson( + oJson as core.Map); + checkPublishSettings(od); + }); + }); + + unittest.group('obj-schema-PublishState', () { + unittest.test('to-json--from-json', () async { + final o = buildPublishState(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.PublishState.fromJson( + oJson as core.Map); + checkPublishState(od); + }); + }); + unittest.group('obj-schema-Question', () { unittest.test('to-json--from-json', () async { final o = buildQuestion(); @@ -2160,6 +2275,26 @@ void main() { }); }); + unittest.group('obj-schema-SetPublishSettingsRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildSetPublishSettingsRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SetPublishSettingsRequest.fromJson( + oJson as core.Map); + checkSetPublishSettingsRequest(od); + }); + }); + + unittest.group('obj-schema-SetPublishSettingsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildSetPublishSettingsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SetPublishSettingsResponse.fromJson( + oJson as core.Map); + checkSetPublishSettingsResponse(od); + }); + }); + unittest.group('obj-schema-TextAnswer', () { unittest.test('to-json--from-json', () async { final o = buildTextAnswer(); @@ -2386,6 +2521,7 @@ void main() { final mock = HttpServerMock(); final res = api.FormsApi(mock).forms; final arg_request = buildForm(); + final arg_unpublished = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = @@ -2422,6 +2558,10 @@ void main() { ); } } + unittest.expect( + queryMap['unpublished']!.first, + unittest.equals('$arg_unpublished'), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -2433,7 +2573,8 @@ void main() { final resp = convert.json.encode(buildForm()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.create(arg_request, $fields: arg_$fields); + final response = await res.create(arg_request, + unpublished: arg_unpublished, $fields: arg_$fields); checkForm(response as api.Form); }); @@ -2493,6 +2634,78 @@ void main() { final response = await res.get(arg_formId, $fields: arg_$fields); checkForm(response as api.Form); }); + + unittest.test('method--setPublishSettings', () async { + final mock = HttpServerMock(); + final res = api.FormsApi(mock).forms; + final arg_request = buildSetPublishSettingsRequest(); + final arg_formId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.SetPublishSettingsRequest.fromJson( + json as core.Map); + checkSetPublishSettingsRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 9), + unittest.equals('v1/forms/'), + ); + pathOffset += 9; + index = path.indexOf(':setPublishSettings', pathOffset); + unittest.expect(index >= 0, unittest.isTrue); + subPart = + core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); + pathOffset = index; + unittest.expect( + subPart, + unittest.equals('$arg_formId'), + ); + unittest.expect( + path.substring(pathOffset, pathOffset + 19), + unittest.equals(':setPublishSettings'), + ); + pathOffset += 19; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildSetPublishSettingsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.setPublishSettings(arg_request, arg_formId, + $fields: arg_$fields); + checkSetPublishSettingsResponse( + response as api.SetPublishSettingsResponse); + }); }); unittest.group('resource-FormsResponsesResource', () { diff --git a/generated/googleapis/test/gkebackup/v1_test.dart b/generated/googleapis/test/gkebackup/v1_test.dart index 7b4fb088a..4f25e7d60 100644 --- a/generated/googleapis/test/gkebackup/v1_test.dart +++ b/generated/googleapis/test/gkebackup/v1_test.dart @@ -307,6 +307,7 @@ api.BackupPlan buildBackupPlan() { o.description = 'foo'; o.etag = 'foo'; o.labels = buildUnnamed3(); + o.lastSuccessfulBackupTime = 'foo'; o.name = 'foo'; o.protectedPodCount = 42; o.retentionPolicy = buildRetentionPolicy(); @@ -344,6 +345,10 @@ void checkBackupPlan(api.BackupPlan o) { unittest.equals('foo'), ); checkUnnamed3(o.labels!); + unittest.expect( + o.lastSuccessfulBackupTime!, + unittest.equals('foo'), + ); unittest.expect( o.name!, unittest.equals('foo'), diff --git a/generated/googleapis/test/gkehub/v1_test.dart b/generated/googleapis/test/gkehub/v1_test.dart index 7d3206346..337f2d13d 100644 --- a/generated/googleapis/test/gkehub/v1_test.dart +++ b/generated/googleapis/test/gkehub/v1_test.dart @@ -847,12 +847,23 @@ void checkComplianceStandard(api.ComplianceStandard o) { buildCounterComplianceStandard--; } +core.List buildUnnamed13() => [ + buildConfigManagementDeploymentOverride(), + buildConfigManagementDeploymentOverride(), + ]; + +void checkUnnamed13(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkConfigManagementDeploymentOverride(o[0]); + checkConfigManagementDeploymentOverride(o[1]); +} + core.int buildCounterConfigManagementConfigSync = 0; api.ConfigManagementConfigSync buildConfigManagementConfigSync() { final o = api.ConfigManagementConfigSync(); buildCounterConfigManagementConfigSync++; if (buildCounterConfigManagementConfigSync < 3) { - o.allowVerticalScale = true; + o.deploymentOverrides = buildUnnamed13(); o.enabled = true; o.git = buildConfigManagementGitConfig(); o.metricsGcpServiceAccountEmail = 'foo'; @@ -868,7 +879,7 @@ api.ConfigManagementConfigSync buildConfigManagementConfigSync() { void checkConfigManagementConfigSync(api.ConfigManagementConfigSync o) { buildCounterConfigManagementConfigSync++; if (buildCounterConfigManagementConfigSync < 3) { - unittest.expect(o.allowVerticalScale!, unittest.isTrue); + checkUnnamed13(o.deploymentOverrides!); unittest.expect(o.enabled!, unittest.isTrue); checkConfigManagementGitConfig(o.git!); unittest.expect( @@ -973,12 +984,12 @@ void checkConfigManagementConfigSyncError( buildCounterConfigManagementConfigSyncError--; } -core.List buildUnnamed13() => [ +core.List buildUnnamed14() => [ buildConfigManagementConfigSyncError(), buildConfigManagementConfigSyncError(), ]; -void checkUnnamed13(core.List o) { +void checkUnnamed14(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfigManagementConfigSyncError(o[0]); checkConfigManagementConfigSyncError(o[1]); @@ -992,7 +1003,7 @@ api.ConfigManagementConfigSyncState buildConfigManagementConfigSyncState() { o.clusterLevelStopSyncingState = 'foo'; o.crCount = 42; o.deploymentState = buildConfigManagementConfigSyncDeploymentState(); - o.errors = buildUnnamed13(); + o.errors = buildUnnamed14(); o.reposyncCrd = 'foo'; o.rootsyncCrd = 'foo'; o.state = 'foo'; @@ -1016,7 +1027,7 @@ void checkConfigManagementConfigSyncState( unittest.equals(42), ); checkConfigManagementConfigSyncDeploymentState(o.deploymentState!); - checkUnnamed13(o.errors!); + checkUnnamed14(o.errors!); unittest.expect( o.reposyncCrd!, unittest.equals('foo'), @@ -1098,6 +1109,91 @@ void checkConfigManagementConfigSyncVersion( buildCounterConfigManagementConfigSyncVersion--; } +core.int buildCounterConfigManagementContainerOverride = 0; +api.ConfigManagementContainerOverride buildConfigManagementContainerOverride() { + final o = api.ConfigManagementContainerOverride(); + buildCounterConfigManagementContainerOverride++; + if (buildCounterConfigManagementContainerOverride < 3) { + o.containerName = 'foo'; + o.cpuLimit = 'foo'; + o.cpuRequest = 'foo'; + o.memoryLimit = 'foo'; + o.memoryRequest = 'foo'; + } + buildCounterConfigManagementContainerOverride--; + return o; +} + +void checkConfigManagementContainerOverride( + api.ConfigManagementContainerOverride o) { + buildCounterConfigManagementContainerOverride++; + if (buildCounterConfigManagementContainerOverride < 3) { + unittest.expect( + o.containerName!, + unittest.equals('foo'), + ); + unittest.expect( + o.cpuLimit!, + unittest.equals('foo'), + ); + unittest.expect( + o.cpuRequest!, + unittest.equals('foo'), + ); + unittest.expect( + o.memoryLimit!, + unittest.equals('foo'), + ); + unittest.expect( + o.memoryRequest!, + unittest.equals('foo'), + ); + } + buildCounterConfigManagementContainerOverride--; +} + +core.List buildUnnamed15() => [ + buildConfigManagementContainerOverride(), + buildConfigManagementContainerOverride(), + ]; + +void checkUnnamed15(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkConfigManagementContainerOverride(o[0]); + checkConfigManagementContainerOverride(o[1]); +} + +core.int buildCounterConfigManagementDeploymentOverride = 0; +api.ConfigManagementDeploymentOverride + buildConfigManagementDeploymentOverride() { + final o = api.ConfigManagementDeploymentOverride(); + buildCounterConfigManagementDeploymentOverride++; + if (buildCounterConfigManagementDeploymentOverride < 3) { + o.containers = buildUnnamed15(); + o.deploymentName = 'foo'; + o.deploymentNamespace = 'foo'; + } + buildCounterConfigManagementDeploymentOverride--; + return o; +} + +void checkConfigManagementDeploymentOverride( + api.ConfigManagementDeploymentOverride o) { + buildCounterConfigManagementDeploymentOverride++; + if (buildCounterConfigManagementDeploymentOverride < 3) { + checkUnnamed15(o.containers!); + unittest.expect( + o.deploymentName!, + unittest.equals('foo'), + ); + unittest.expect( + o.deploymentNamespace!, + unittest.equals('foo'), + ); + } + buildCounterConfigManagementDeploymentOverride--; +} + core.int buildCounterConfigManagementErrorResource = 0; api.ConfigManagementErrorResource buildConfigManagementErrorResource() { final o = api.ConfigManagementErrorResource(); @@ -1498,12 +1594,12 @@ void checkConfigManagementOciConfig(api.ConfigManagementOciConfig o) { buildCounterConfigManagementOciConfig--; } -core.List buildUnnamed14() => [ +core.List buildUnnamed16() => [ buildConfigManagementInstallError(), buildConfigManagementInstallError(), ]; -void checkUnnamed14(core.List o) { +void checkUnnamed16(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfigManagementInstallError(o[0]); checkConfigManagementInstallError(o[1]); @@ -1515,7 +1611,7 @@ api.ConfigManagementOperatorState buildConfigManagementOperatorState() { buildCounterConfigManagementOperatorState++; if (buildCounterConfigManagementOperatorState < 3) { o.deploymentState = 'foo'; - o.errors = buildUnnamed14(); + o.errors = buildUnnamed16(); o.version = 'foo'; } buildCounterConfigManagementOperatorState--; @@ -1529,7 +1625,7 @@ void checkConfigManagementOperatorState(api.ConfigManagementOperatorState o) { o.deploymentState!, unittest.equals('foo'), ); - checkUnnamed14(o.errors!); + checkUnnamed16(o.errors!); unittest.expect( o.version!, unittest.equals('foo'), @@ -1538,12 +1634,12 @@ void checkConfigManagementOperatorState(api.ConfigManagementOperatorState o) { buildCounterConfigManagementOperatorState--; } -core.List buildUnnamed15() => [ +core.List buildUnnamed17() => [ 'foo', 'foo', ]; -void checkUnnamed15(core.List o) { +void checkUnnamed17(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1562,7 +1658,7 @@ api.ConfigManagementPolicyController buildConfigManagementPolicyController() { if (buildCounterConfigManagementPolicyController < 3) { o.auditIntervalSeconds = 'foo'; o.enabled = true; - o.exemptableNamespaces = buildUnnamed15(); + o.exemptableNamespaces = buildUnnamed17(); o.logDeniesEnabled = true; o.monitoring = buildConfigManagementPolicyControllerMonitoring(); o.mutationEnabled = true; @@ -1583,7 +1679,7 @@ void checkConfigManagementPolicyController( unittest.equals('foo'), ); unittest.expect(o.enabled!, unittest.isTrue); - checkUnnamed15(o.exemptableNamespaces!); + checkUnnamed17(o.exemptableNamespaces!); unittest.expect(o.logDeniesEnabled!, unittest.isTrue); checkConfigManagementPolicyControllerMonitoring(o.monitoring!); unittest.expect(o.mutationEnabled!, unittest.isTrue); @@ -1626,12 +1722,12 @@ void checkConfigManagementPolicyControllerMigration( buildCounterConfigManagementPolicyControllerMigration--; } -core.List buildUnnamed16() => [ +core.List buildUnnamed18() => [ 'foo', 'foo', ]; -void checkUnnamed16(core.List o) { +void checkUnnamed18(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1649,7 +1745,7 @@ api.ConfigManagementPolicyControllerMonitoring final o = api.ConfigManagementPolicyControllerMonitoring(); buildCounterConfigManagementPolicyControllerMonitoring++; if (buildCounterConfigManagementPolicyControllerMonitoring < 3) { - o.backends = buildUnnamed16(); + o.backends = buildUnnamed18(); } buildCounterConfigManagementPolicyControllerMonitoring--; return o; @@ -1659,7 +1755,7 @@ void checkConfigManagementPolicyControllerMonitoring( api.ConfigManagementPolicyControllerMonitoring o) { buildCounterConfigManagementPolicyControllerMonitoring++; if (buildCounterConfigManagementPolicyControllerMonitoring < 3) { - checkUnnamed16(o.backends!); + checkUnnamed18(o.backends!); } buildCounterConfigManagementPolicyControllerMonitoring--; } @@ -1713,12 +1809,12 @@ void checkConfigManagementPolicyControllerVersion( buildCounterConfigManagementPolicyControllerVersion--; } -core.List buildUnnamed17() => [ +core.List buildUnnamed19() => [ buildConfigManagementErrorResource(), buildConfigManagementErrorResource(), ]; -void checkUnnamed17(core.List o) { +void checkUnnamed19(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfigManagementErrorResource(o[0]); checkConfigManagementErrorResource(o[1]); @@ -1731,7 +1827,7 @@ api.ConfigManagementSyncError buildConfigManagementSyncError() { if (buildCounterConfigManagementSyncError < 3) { o.code = 'foo'; o.errorMessage = 'foo'; - o.errorResources = buildUnnamed17(); + o.errorResources = buildUnnamed19(); } buildCounterConfigManagementSyncError--; return o; @@ -1748,17 +1844,17 @@ void checkConfigManagementSyncError(api.ConfigManagementSyncError o) { o.errorMessage!, unittest.equals('foo'), ); - checkUnnamed17(o.errorResources!); + checkUnnamed19(o.errorResources!); } buildCounterConfigManagementSyncError--; } -core.List buildUnnamed18() => [ +core.List buildUnnamed20() => [ buildConfigManagementSyncError(), buildConfigManagementSyncError(), ]; -void checkUnnamed18(core.List o) { +void checkUnnamed20(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfigManagementSyncError(o[0]); checkConfigManagementSyncError(o[1]); @@ -1770,7 +1866,7 @@ api.ConfigManagementSyncState buildConfigManagementSyncState() { buildCounterConfigManagementSyncState++; if (buildCounterConfigManagementSyncState < 3) { o.code = 'foo'; - o.errors = buildUnnamed18(); + o.errors = buildUnnamed20(); o.importToken = 'foo'; o.lastSync = 'foo'; o.lastSyncTime = 'foo'; @@ -1788,7 +1884,7 @@ void checkConfigManagementSyncState(api.ConfigManagementSyncState o) { o.code!, unittest.equals('foo'), ); - checkUnnamed18(o.errors!); + checkUnnamed20(o.errors!); unittest.expect( o.importToken!, unittest.equals('foo'), @@ -1953,12 +2049,12 @@ void checkExpr(api.Expr o) { buildCounterExpr--; } -core.Map buildUnnamed19() => { +core.Map buildUnnamed21() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed19(core.Map o) { +void checkUnnamed21(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1970,56 +2066,56 @@ void checkUnnamed19(core.Map o) { ); } -core.Map buildUnnamed20() => { +core.Map buildUnnamed22() => { 'x': buildMembershipFeatureSpec(), 'y': buildMembershipFeatureSpec(), }; -void checkUnnamed20(core.Map o) { +void checkUnnamed22(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkMembershipFeatureSpec(o['x']!); checkMembershipFeatureSpec(o['y']!); } -core.Map buildUnnamed21() => { +core.Map buildUnnamed23() => { 'x': buildMembershipFeatureState(), 'y': buildMembershipFeatureState(), }; -void checkUnnamed21(core.Map o) { +void checkUnnamed23(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkMembershipFeatureState(o['x']!); checkMembershipFeatureState(o['y']!); } -core.Map buildUnnamed22() => { +core.Map buildUnnamed24() => { 'x': buildScopeFeatureSpec(), 'y': buildScopeFeatureSpec(), }; -void checkUnnamed22(core.Map o) { +void checkUnnamed24(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkScopeFeatureSpec(o['x']!); checkScopeFeatureSpec(o['y']!); } -core.Map buildUnnamed23() => { +core.Map buildUnnamed25() => { 'x': buildScopeFeatureState(), 'y': buildScopeFeatureState(), }; -void checkUnnamed23(core.Map o) { +void checkUnnamed25(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkScopeFeatureState(o['x']!); checkScopeFeatureState(o['y']!); } -core.List buildUnnamed24() => [ +core.List buildUnnamed26() => [ 'foo', 'foo', ]; -void checkUnnamed24(core.List o) { +void checkUnnamed26(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2039,16 +2135,16 @@ api.Feature buildFeature() { o.createTime = 'foo'; o.deleteTime = 'foo'; o.fleetDefaultMemberConfig = buildCommonFleetDefaultMemberConfigSpec(); - o.labels = buildUnnamed19(); - o.membershipSpecs = buildUnnamed20(); - o.membershipStates = buildUnnamed21(); + o.labels = buildUnnamed21(); + o.membershipSpecs = buildUnnamed22(); + o.membershipStates = buildUnnamed23(); o.name = 'foo'; o.resourceState = buildFeatureResourceState(); - o.scopeSpecs = buildUnnamed22(); - o.scopeStates = buildUnnamed23(); + o.scopeSpecs = buildUnnamed24(); + o.scopeStates = buildUnnamed25(); o.spec = buildCommonFeatureSpec(); o.state = buildCommonFeatureState(); - o.unreachable = buildUnnamed24(); + o.unreachable = buildUnnamed26(); o.updateTime = 'foo'; } buildCounterFeature--; @@ -2067,19 +2163,19 @@ void checkFeature(api.Feature o) { unittest.equals('foo'), ); checkCommonFleetDefaultMemberConfigSpec(o.fleetDefaultMemberConfig!); - checkUnnamed19(o.labels!); - checkUnnamed20(o.membershipSpecs!); - checkUnnamed21(o.membershipStates!); + checkUnnamed21(o.labels!); + checkUnnamed22(o.membershipSpecs!); + checkUnnamed23(o.membershipStates!); unittest.expect( o.name!, unittest.equals('foo'), ); checkFeatureResourceState(o.resourceState!); - checkUnnamed22(o.scopeSpecs!); - checkUnnamed23(o.scopeStates!); + checkUnnamed24(o.scopeSpecs!); + checkUnnamed25(o.scopeStates!); checkCommonFeatureSpec(o.spec!); checkCommonFeatureState(o.state!); - checkUnnamed24(o.unreachable!); + checkUnnamed26(o.unreachable!); unittest.expect( o.updateTime!, unittest.equals('foo'), @@ -2142,12 +2238,12 @@ void checkFeatureState(api.FeatureState o) { buildCounterFeatureState--; } -core.Map buildUnnamed25() => { +core.Map buildUnnamed27() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed25(core.Map o) { +void checkUnnamed27(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2168,7 +2264,7 @@ api.Fleet buildFleet() { o.defaultClusterConfig = buildDefaultClusterConfig(); o.deleteTime = 'foo'; o.displayName = 'foo'; - o.labels = buildUnnamed25(); + o.labels = buildUnnamed27(); o.name = 'foo'; o.state = buildFleetLifecycleState(); o.uid = 'foo'; @@ -2194,7 +2290,7 @@ void checkFleet(api.Fleet o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed25(o.labels!); + checkUnnamed27(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -2301,12 +2397,12 @@ void checkFleetObservabilityFeatureState(api.FleetObservabilityFeatureState o) { buildCounterFleetObservabilityFeatureState--; } -core.List buildUnnamed26() => [ +core.List buildUnnamed28() => [ buildFleetObservabilityFeatureError(), buildFleetObservabilityFeatureError(), ]; -void checkUnnamed26(core.List o) { +void checkUnnamed28(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFleetObservabilityFeatureError(o[0]); checkFleetObservabilityFeatureError(o[1]); @@ -2319,7 +2415,7 @@ api.FleetObservabilityFleetObservabilityBaseFeatureState buildCounterFleetObservabilityFleetObservabilityBaseFeatureState++; if (buildCounterFleetObservabilityFleetObservabilityBaseFeatureState < 3) { o.code = 'foo'; - o.errors = buildUnnamed26(); + o.errors = buildUnnamed28(); } buildCounterFleetObservabilityFleetObservabilityBaseFeatureState--; return o; @@ -2333,7 +2429,7 @@ void checkFleetObservabilityFleetObservabilityBaseFeatureState( o.code!, unittest.equals('foo'), ); - checkUnnamed26(o.errors!); + checkUnnamed28(o.errors!); } buildCounterFleetObservabilityFleetObservabilityBaseFeatureState--; } @@ -2459,12 +2555,12 @@ void checkFleetObservabilityRoutingConfig( buildCounterFleetObservabilityRoutingConfig--; } -core.List buildUnnamed27() => [ +core.List buildUnnamed29() => [ buildConnectAgentResource(), buildConnectAgentResource(), ]; -void checkUnnamed27(core.List o) { +void checkUnnamed29(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConnectAgentResource(o[0]); checkConnectAgentResource(o[1]); @@ -2475,7 +2571,7 @@ api.GenerateConnectManifestResponse buildGenerateConnectManifestResponse() { final o = api.GenerateConnectManifestResponse(); buildCounterGenerateConnectManifestResponse++; if (buildCounterGenerateConnectManifestResponse < 3) { - o.manifest = buildUnnamed27(); + o.manifest = buildUnnamed29(); } buildCounterGenerateConnectManifestResponse--; return o; @@ -2485,7 +2581,7 @@ void checkGenerateConnectManifestResponse( api.GenerateConnectManifestResponse o) { buildCounterGenerateConnectManifestResponse++; if (buildCounterGenerateConnectManifestResponse < 3) { - checkUnnamed27(o.manifest!); + checkUnnamed29(o.manifest!); } buildCounterGenerateConnectManifestResponse--; } @@ -2538,7 +2634,7 @@ void checkGkeCluster(api.GkeCluster o) { buildCounterGkeCluster--; } -core.Map buildUnnamed28() => { +core.Map buildUnnamed30() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2551,7 +2647,7 @@ core.Map buildUnnamed28() => { }, }; -void checkUnnamed28(core.Map o) { +void checkUnnamed30(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -2583,15 +2679,15 @@ void checkUnnamed28(core.Map o) { ); } -core.List> buildUnnamed29() => [ - buildUnnamed28(), - buildUnnamed28(), +core.List> buildUnnamed31() => [ + buildUnnamed30(), + buildUnnamed30(), ]; -void checkUnnamed29(core.List> o) { +void checkUnnamed31(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed28(o[0]); - checkUnnamed28(o[1]); + checkUnnamed30(o[0]); + checkUnnamed30(o[1]); } core.int buildCounterGoogleRpcStatus = 0; @@ -2600,7 +2696,7 @@ api.GoogleRpcStatus buildGoogleRpcStatus() { buildCounterGoogleRpcStatus++; if (buildCounterGoogleRpcStatus < 3) { o.code = 42; - o.details = buildUnnamed29(); + o.details = buildUnnamed31(); o.message = 'foo'; } buildCounterGoogleRpcStatus--; @@ -2614,7 +2710,7 @@ void checkGoogleRpcStatus(api.GoogleRpcStatus o) { o.code!, unittest.equals(42), ); - checkUnnamed29(o.details!); + checkUnnamed31(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -2840,12 +2936,12 @@ void checkIdentityServiceLdapConfig(api.IdentityServiceLdapConfig o) { buildCounterIdentityServiceLdapConfig--; } -core.List buildUnnamed30() => [ +core.List buildUnnamed32() => [ buildIdentityServiceAuthMethod(), buildIdentityServiceAuthMethod(), ]; -void checkUnnamed30(core.List o) { +void checkUnnamed32(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkIdentityServiceAuthMethod(o[0]); checkIdentityServiceAuthMethod(o[1]); @@ -2856,7 +2952,7 @@ api.IdentityServiceMembershipSpec buildIdentityServiceMembershipSpec() { final o = api.IdentityServiceMembershipSpec(); buildCounterIdentityServiceMembershipSpec++; if (buildCounterIdentityServiceMembershipSpec < 3) { - o.authMethods = buildUnnamed30(); + o.authMethods = buildUnnamed32(); o.identityServiceOptions = buildIdentityServiceIdentityServiceOptions(); } buildCounterIdentityServiceMembershipSpec--; @@ -2866,7 +2962,7 @@ api.IdentityServiceMembershipSpec buildIdentityServiceMembershipSpec() { void checkIdentityServiceMembershipSpec(api.IdentityServiceMembershipSpec o) { buildCounterIdentityServiceMembershipSpec++; if (buildCounterIdentityServiceMembershipSpec < 3) { - checkUnnamed30(o.authMethods!); + checkUnnamed32(o.authMethods!); checkIdentityServiceIdentityServiceOptions(o.identityServiceOptions!); } buildCounterIdentityServiceMembershipSpec--; @@ -2987,12 +3083,12 @@ void checkIdentityServiceOidcConfig(api.IdentityServiceOidcConfig o) { buildCounterIdentityServiceOidcConfig--; } -core.Map buildUnnamed31() => { +core.Map buildUnnamed33() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed31(core.Map o) { +void checkUnnamed33(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3004,12 +3100,12 @@ void checkUnnamed31(core.Map o) { ); } -core.List buildUnnamed32() => [ +core.List buildUnnamed34() => [ 'foo', 'foo', ]; -void checkUnnamed32(core.List o) { +void checkUnnamed34(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3026,10 +3122,10 @@ api.IdentityServiceSamlConfig buildIdentityServiceSamlConfig() { final o = api.IdentityServiceSamlConfig(); buildCounterIdentityServiceSamlConfig++; if (buildCounterIdentityServiceSamlConfig < 3) { - o.attributeMapping = buildUnnamed31(); + o.attributeMapping = buildUnnamed33(); o.groupPrefix = 'foo'; o.groupsAttribute = 'foo'; - o.identityProviderCertificates = buildUnnamed32(); + o.identityProviderCertificates = buildUnnamed34(); o.identityProviderId = 'foo'; o.identityProviderSsoUri = 'foo'; o.userAttribute = 'foo'; @@ -3042,7 +3138,7 @@ api.IdentityServiceSamlConfig buildIdentityServiceSamlConfig() { void checkIdentityServiceSamlConfig(api.IdentityServiceSamlConfig o) { buildCounterIdentityServiceSamlConfig++; if (buildCounterIdentityServiceSamlConfig < 3) { - checkUnnamed31(o.attributeMapping!); + checkUnnamed33(o.attributeMapping!); unittest.expect( o.groupPrefix!, unittest.equals('foo'), @@ -3051,7 +3147,7 @@ void checkIdentityServiceSamlConfig(api.IdentityServiceSamlConfig o) { o.groupsAttribute!, unittest.equals('foo'), ); - checkUnnamed32(o.identityProviderCertificates!); + checkUnnamed34(o.identityProviderCertificates!); unittest.expect( o.identityProviderId!, unittest.equals('foo'), @@ -3243,23 +3339,23 @@ void checkKubernetesMetadata(api.KubernetesMetadata o) { buildCounterKubernetesMetadata--; } -core.List buildUnnamed33() => [ +core.List buildUnnamed35() => [ buildResourceManifest(), buildResourceManifest(), ]; -void checkUnnamed33(core.List o) { +void checkUnnamed35(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkResourceManifest(o[0]); checkResourceManifest(o[1]); } -core.List buildUnnamed34() => [ +core.List buildUnnamed36() => [ buildResourceManifest(), buildResourceManifest(), ]; -void checkUnnamed34(core.List o) { +void checkUnnamed36(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkResourceManifest(o[0]); checkResourceManifest(o[1]); @@ -3270,9 +3366,9 @@ api.KubernetesResource buildKubernetesResource() { final o = api.KubernetesResource(); buildCounterKubernetesResource++; if (buildCounterKubernetesResource < 3) { - o.connectResources = buildUnnamed33(); + o.connectResources = buildUnnamed35(); o.membershipCrManifest = 'foo'; - o.membershipResources = buildUnnamed34(); + o.membershipResources = buildUnnamed36(); o.resourceOptions = buildResourceOptions(); } buildCounterKubernetesResource--; @@ -3282,34 +3378,34 @@ api.KubernetesResource buildKubernetesResource() { void checkKubernetesResource(api.KubernetesResource o) { buildCounterKubernetesResource++; if (buildCounterKubernetesResource < 3) { - checkUnnamed33(o.connectResources!); + checkUnnamed35(o.connectResources!); unittest.expect( o.membershipCrManifest!, unittest.equals('foo'), ); - checkUnnamed34(o.membershipResources!); + checkUnnamed36(o.membershipResources!); checkResourceOptions(o.resourceOptions!); } buildCounterKubernetesResource--; } -core.List buildUnnamed35() => [ +core.List buildUnnamed37() => [ buildMembership(), buildMembership(), ]; -void checkUnnamed35(core.List o) { +void checkUnnamed37(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMembership(o[0]); checkMembership(o[1]); } -core.List buildUnnamed36() => [ +core.List buildUnnamed38() => [ 'foo', 'foo', ]; -void checkUnnamed36(core.List o) { +void checkUnnamed38(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3326,9 +3422,9 @@ api.ListBoundMembershipsResponse buildListBoundMembershipsResponse() { final o = api.ListBoundMembershipsResponse(); buildCounterListBoundMembershipsResponse++; if (buildCounterListBoundMembershipsResponse < 3) { - o.memberships = buildUnnamed35(); + o.memberships = buildUnnamed37(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed36(); + o.unreachable = buildUnnamed38(); } buildCounterListBoundMembershipsResponse--; return o; @@ -3337,22 +3433,22 @@ api.ListBoundMembershipsResponse buildListBoundMembershipsResponse() { void checkListBoundMembershipsResponse(api.ListBoundMembershipsResponse o) { buildCounterListBoundMembershipsResponse++; if (buildCounterListBoundMembershipsResponse < 3) { - checkUnnamed35(o.memberships!); + checkUnnamed37(o.memberships!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed36(o.unreachable!); + checkUnnamed38(o.unreachable!); } buildCounterListBoundMembershipsResponse--; } -core.List buildUnnamed37() => [ +core.List buildUnnamed39() => [ buildFeature(), buildFeature(), ]; -void checkUnnamed37(core.List o) { +void checkUnnamed39(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFeature(o[0]); checkFeature(o[1]); @@ -3364,7 +3460,7 @@ api.ListFeaturesResponse buildListFeaturesResponse() { buildCounterListFeaturesResponse++; if (buildCounterListFeaturesResponse < 3) { o.nextPageToken = 'foo'; - o.resources = buildUnnamed37(); + o.resources = buildUnnamed39(); } buildCounterListFeaturesResponse--; return o; @@ -3377,17 +3473,17 @@ void checkListFeaturesResponse(api.ListFeaturesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed37(o.resources!); + checkUnnamed39(o.resources!); } buildCounterListFeaturesResponse--; } -core.List buildUnnamed38() => [ +core.List buildUnnamed40() => [ buildFleet(), buildFleet(), ]; -void checkUnnamed38(core.List o) { +void checkUnnamed40(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFleet(o[0]); checkFleet(o[1]); @@ -3398,7 +3494,7 @@ api.ListFleetsResponse buildListFleetsResponse() { final o = api.ListFleetsResponse(); buildCounterListFleetsResponse++; if (buildCounterListFleetsResponse < 3) { - o.fleets = buildUnnamed38(); + o.fleets = buildUnnamed40(); o.nextPageToken = 'foo'; } buildCounterListFleetsResponse--; @@ -3408,7 +3504,7 @@ api.ListFleetsResponse buildListFleetsResponse() { void checkListFleetsResponse(api.ListFleetsResponse o) { buildCounterListFleetsResponse++; if (buildCounterListFleetsResponse < 3) { - checkUnnamed38(o.fleets!); + checkUnnamed40(o.fleets!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -3417,12 +3513,12 @@ void checkListFleetsResponse(api.ListFleetsResponse o) { buildCounterListFleetsResponse--; } -core.List buildUnnamed39() => [ +core.List buildUnnamed41() => [ buildLocation(), buildLocation(), ]; -void checkUnnamed39(core.List o) { +void checkUnnamed41(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLocation(o[0]); checkLocation(o[1]); @@ -3433,7 +3529,7 @@ api.ListLocationsResponse buildListLocationsResponse() { final o = api.ListLocationsResponse(); buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - o.locations = buildUnnamed39(); + o.locations = buildUnnamed41(); o.nextPageToken = 'foo'; } buildCounterListLocationsResponse--; @@ -3443,7 +3539,7 @@ api.ListLocationsResponse buildListLocationsResponse() { void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - checkUnnamed39(o.locations!); + checkUnnamed41(o.locations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -3452,23 +3548,23 @@ void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse--; } -core.List buildUnnamed40() => [ +core.List buildUnnamed42() => [ buildMembershipBinding(), buildMembershipBinding(), ]; -void checkUnnamed40(core.List o) { +void checkUnnamed42(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMembershipBinding(o[0]); checkMembershipBinding(o[1]); } -core.List buildUnnamed41() => [ +core.List buildUnnamed43() => [ 'foo', 'foo', ]; -void checkUnnamed41(core.List o) { +void checkUnnamed43(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3485,9 +3581,9 @@ api.ListMembershipBindingsResponse buildListMembershipBindingsResponse() { final o = api.ListMembershipBindingsResponse(); buildCounterListMembershipBindingsResponse++; if (buildCounterListMembershipBindingsResponse < 3) { - o.membershipBindings = buildUnnamed40(); + o.membershipBindings = buildUnnamed42(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed41(); + o.unreachable = buildUnnamed43(); } buildCounterListMembershipBindingsResponse--; return o; @@ -3496,33 +3592,33 @@ api.ListMembershipBindingsResponse buildListMembershipBindingsResponse() { void checkListMembershipBindingsResponse(api.ListMembershipBindingsResponse o) { buildCounterListMembershipBindingsResponse++; if (buildCounterListMembershipBindingsResponse < 3) { - checkUnnamed40(o.membershipBindings!); + checkUnnamed42(o.membershipBindings!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed41(o.unreachable!); + checkUnnamed43(o.unreachable!); } buildCounterListMembershipBindingsResponse--; } -core.List buildUnnamed42() => [ +core.List buildUnnamed44() => [ buildRBACRoleBinding(), buildRBACRoleBinding(), ]; -void checkUnnamed42(core.List o) { +void checkUnnamed44(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRBACRoleBinding(o[0]); checkRBACRoleBinding(o[1]); } -core.List buildUnnamed43() => [ +core.List buildUnnamed45() => [ 'foo', 'foo', ]; -void checkUnnamed43(core.List o) { +void checkUnnamed45(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3541,8 +3637,8 @@ api.ListMembershipRBACRoleBindingsResponse buildCounterListMembershipRBACRoleBindingsResponse++; if (buildCounterListMembershipRBACRoleBindingsResponse < 3) { o.nextPageToken = 'foo'; - o.rbacrolebindings = buildUnnamed42(); - o.unreachable = buildUnnamed43(); + o.rbacrolebindings = buildUnnamed44(); + o.unreachable = buildUnnamed45(); } buildCounterListMembershipRBACRoleBindingsResponse--; return o; @@ -3556,29 +3652,29 @@ void checkListMembershipRBACRoleBindingsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed42(o.rbacrolebindings!); - checkUnnamed43(o.unreachable!); + checkUnnamed44(o.rbacrolebindings!); + checkUnnamed45(o.unreachable!); } buildCounterListMembershipRBACRoleBindingsResponse--; } -core.List buildUnnamed44() => [ +core.List buildUnnamed46() => [ buildMembership(), buildMembership(), ]; -void checkUnnamed44(core.List o) { +void checkUnnamed46(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMembership(o[0]); checkMembership(o[1]); } -core.List buildUnnamed45() => [ +core.List buildUnnamed47() => [ 'foo', 'foo', ]; -void checkUnnamed45(core.List o) { +void checkUnnamed47(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3596,8 +3692,8 @@ api.ListMembershipsResponse buildListMembershipsResponse() { buildCounterListMembershipsResponse++; if (buildCounterListMembershipsResponse < 3) { o.nextPageToken = 'foo'; - o.resources = buildUnnamed44(); - o.unreachable = buildUnnamed45(); + o.resources = buildUnnamed46(); + o.unreachable = buildUnnamed47(); } buildCounterListMembershipsResponse--; return o; @@ -3610,18 +3706,18 @@ void checkListMembershipsResponse(api.ListMembershipsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed44(o.resources!); - checkUnnamed45(o.unreachable!); + checkUnnamed46(o.resources!); + checkUnnamed47(o.unreachable!); } buildCounterListMembershipsResponse--; } -core.List buildUnnamed46() => [ +core.List buildUnnamed48() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed46(core.List o) { +void checkUnnamed48(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -3633,7 +3729,7 @@ api.ListOperationsResponse buildListOperationsResponse() { buildCounterListOperationsResponse++; if (buildCounterListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed46(); + o.operations = buildUnnamed48(); } buildCounterListOperationsResponse--; return o; @@ -3646,17 +3742,17 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed46(o.operations!); + checkUnnamed48(o.operations!); } buildCounterListOperationsResponse--; } -core.List buildUnnamed47() => [ +core.List buildUnnamed49() => [ buildScope(), buildScope(), ]; -void checkUnnamed47(core.List o) { +void checkUnnamed49(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkScope(o[0]); checkScope(o[1]); @@ -3668,7 +3764,7 @@ api.ListPermittedScopesResponse buildListPermittedScopesResponse() { buildCounterListPermittedScopesResponse++; if (buildCounterListPermittedScopesResponse < 3) { o.nextPageToken = 'foo'; - o.scopes = buildUnnamed47(); + o.scopes = buildUnnamed49(); } buildCounterListPermittedScopesResponse--; return o; @@ -3681,17 +3777,17 @@ void checkListPermittedScopesResponse(api.ListPermittedScopesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed47(o.scopes!); + checkUnnamed49(o.scopes!); } buildCounterListPermittedScopesResponse--; } -core.List buildUnnamed48() => [ +core.List buildUnnamed50() => [ buildNamespace(), buildNamespace(), ]; -void checkUnnamed48(core.List o) { +void checkUnnamed50(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNamespace(o[0]); checkNamespace(o[1]); @@ -3703,7 +3799,7 @@ api.ListScopeNamespacesResponse buildListScopeNamespacesResponse() { buildCounterListScopeNamespacesResponse++; if (buildCounterListScopeNamespacesResponse < 3) { o.nextPageToken = 'foo'; - o.scopeNamespaces = buildUnnamed48(); + o.scopeNamespaces = buildUnnamed50(); } buildCounterListScopeNamespacesResponse--; return o; @@ -3716,17 +3812,17 @@ void checkListScopeNamespacesResponse(api.ListScopeNamespacesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed48(o.scopeNamespaces!); + checkUnnamed50(o.scopeNamespaces!); } buildCounterListScopeNamespacesResponse--; } -core.List buildUnnamed49() => [ +core.List buildUnnamed51() => [ buildRBACRoleBinding(), buildRBACRoleBinding(), ]; -void checkUnnamed49(core.List o) { +void checkUnnamed51(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRBACRoleBinding(o[0]); checkRBACRoleBinding(o[1]); @@ -3738,7 +3834,7 @@ api.ListScopeRBACRoleBindingsResponse buildListScopeRBACRoleBindingsResponse() { buildCounterListScopeRBACRoleBindingsResponse++; if (buildCounterListScopeRBACRoleBindingsResponse < 3) { o.nextPageToken = 'foo'; - o.rbacrolebindings = buildUnnamed49(); + o.rbacrolebindings = buildUnnamed51(); } buildCounterListScopeRBACRoleBindingsResponse--; return o; @@ -3752,17 +3848,17 @@ void checkListScopeRBACRoleBindingsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed49(o.rbacrolebindings!); + checkUnnamed51(o.rbacrolebindings!); } buildCounterListScopeRBACRoleBindingsResponse--; } -core.List buildUnnamed50() => [ +core.List buildUnnamed52() => [ buildScope(), buildScope(), ]; -void checkUnnamed50(core.List o) { +void checkUnnamed52(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkScope(o[0]); checkScope(o[1]); @@ -3774,7 +3870,7 @@ api.ListScopesResponse buildListScopesResponse() { buildCounterListScopesResponse++; if (buildCounterListScopesResponse < 3) { o.nextPageToken = 'foo'; - o.scopes = buildUnnamed50(); + o.scopes = buildUnnamed52(); } buildCounterListScopesResponse--; return o; @@ -3787,17 +3883,17 @@ void checkListScopesResponse(api.ListScopesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed50(o.scopes!); + checkUnnamed52(o.scopes!); } buildCounterListScopesResponse--; } -core.Map buildUnnamed51() => { +core.Map buildUnnamed53() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed51(core.Map o) { +void checkUnnamed53(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3809,7 +3905,7 @@ void checkUnnamed51(core.Map o) { ); } -core.Map buildUnnamed52() => { +core.Map buildUnnamed54() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3822,7 +3918,7 @@ core.Map buildUnnamed52() => { }, }; -void checkUnnamed52(core.Map o) { +void checkUnnamed54(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -3860,9 +3956,9 @@ api.Location buildLocation() { buildCounterLocation++; if (buildCounterLocation < 3) { o.displayName = 'foo'; - o.labels = buildUnnamed51(); + o.labels = buildUnnamed53(); o.locationId = 'foo'; - o.metadata = buildUnnamed52(); + o.metadata = buildUnnamed54(); o.name = 'foo'; } buildCounterLocation--; @@ -3876,12 +3972,12 @@ void checkLocation(api.Location o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed51(o.labels!); + checkUnnamed53(o.labels!); unittest.expect( o.locationId!, unittest.equals('foo'), ); - checkUnnamed52(o.metadata!); + checkUnnamed54(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), @@ -3890,12 +3986,12 @@ void checkLocation(api.Location o) { buildCounterLocation--; } -core.Map buildUnnamed53() => { +core.Map buildUnnamed55() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed53(core.Map o) { +void checkUnnamed55(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3919,7 +4015,7 @@ api.Membership buildMembership() { o.description = 'foo'; o.endpoint = buildMembershipEndpoint(); o.externalId = 'foo'; - o.labels = buildUnnamed53(); + o.labels = buildUnnamed55(); o.lastConnectionTime = 'foo'; o.monitoringConfig = buildMonitoringConfig(); o.name = 'foo'; @@ -3956,7 +4052,7 @@ void checkMembership(api.Membership o) { o.externalId!, unittest.equals('foo'), ); - checkUnnamed53(o.labels!); + checkUnnamed55(o.labels!); unittest.expect( o.lastConnectionTime!, unittest.equals('foo'), @@ -3979,12 +4075,12 @@ void checkMembership(api.Membership o) { buildCounterMembership--; } -core.Map buildUnnamed54() => { +core.Map buildUnnamed56() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed54(core.Map o) { +void checkUnnamed56(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4003,7 +4099,7 @@ api.MembershipBinding buildMembershipBinding() { if (buildCounterMembershipBinding < 3) { o.createTime = 'foo'; o.deleteTime = 'foo'; - o.labels = buildUnnamed54(); + o.labels = buildUnnamed56(); o.name = 'foo'; o.scope = 'foo'; o.state = buildMembershipBindingLifecycleState(); @@ -4025,7 +4121,7 @@ void checkMembershipBinding(api.MembershipBinding o) { o.deleteTime!, unittest.equals('foo'), ); - checkUnnamed54(o.labels!); + checkUnnamed56(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -4275,12 +4371,12 @@ void checkMultiClusterIngressFeatureSpec(api.MultiClusterIngressFeatureSpec o) { buildCounterMultiClusterIngressFeatureSpec--; } -core.Map buildUnnamed55() => { +core.Map buildUnnamed57() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed55(core.Map o) { +void checkUnnamed57(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4292,12 +4388,12 @@ void checkUnnamed55(core.Map o) { ); } -core.Map buildUnnamed56() => { +core.Map buildUnnamed58() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed56(core.Map o) { +void checkUnnamed58(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4316,9 +4412,9 @@ api.Namespace buildNamespace() { if (buildCounterNamespace < 3) { o.createTime = 'foo'; o.deleteTime = 'foo'; - o.labels = buildUnnamed55(); + o.labels = buildUnnamed57(); o.name = 'foo'; - o.namespaceLabels = buildUnnamed56(); + o.namespaceLabels = buildUnnamed58(); o.scope = 'foo'; o.state = buildNamespaceLifecycleState(); o.uid = 'foo'; @@ -4339,12 +4435,12 @@ void checkNamespace(api.Namespace o) { o.deleteTime!, unittest.equals('foo'), ); - checkUnnamed55(o.labels!); + checkUnnamed57(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed56(o.namespaceLabels!); + checkUnnamed58(o.namespaceLabels!); unittest.expect( o.scope!, unittest.equals('foo'), @@ -4415,7 +4511,7 @@ void checkOnPremCluster(api.OnPremCluster o) { buildCounterOnPremCluster--; } -core.Map buildUnnamed57() => { +core.Map buildUnnamed59() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -4428,7 +4524,7 @@ core.Map buildUnnamed57() => { }, }; -void checkUnnamed57(core.Map o) { +void checkUnnamed59(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -4460,7 +4556,7 @@ void checkUnnamed57(core.Map o) { ); } -core.Map buildUnnamed58() => { +core.Map buildUnnamed60() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -4473,7 +4569,7 @@ core.Map buildUnnamed58() => { }, }; -void checkUnnamed58(core.Map o) { +void checkUnnamed60(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -4512,9 +4608,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildGoogleRpcStatus(); - o.metadata = buildUnnamed57(); + o.metadata = buildUnnamed59(); o.name = 'foo'; - o.response = buildUnnamed58(); + o.response = buildUnnamed60(); } buildCounterOperation--; return o; @@ -4525,12 +4621,12 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkGoogleRpcStatus(o.error!); - checkUnnamed57(o.metadata!); + checkUnnamed59(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed58(o.response!); + checkUnnamed60(o.response!); } buildCounterOperation--; } @@ -4557,23 +4653,23 @@ void checkOrigin(api.Origin o) { buildCounterOrigin--; } -core.List buildUnnamed59() => [ +core.List buildUnnamed61() => [ buildAuditConfig(), buildAuditConfig(), ]; -void checkUnnamed59(core.List o) { +void checkUnnamed61(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuditConfig(o[0]); checkAuditConfig(o[1]); } -core.List buildUnnamed60() => [ +core.List buildUnnamed62() => [ buildBinding(), buildBinding(), ]; -void checkUnnamed60(core.List o) { +void checkUnnamed62(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBinding(o[0]); checkBinding(o[1]); @@ -4584,8 +4680,8 @@ api.Policy buildPolicy() { final o = api.Policy(); buildCounterPolicy++; if (buildCounterPolicy < 3) { - o.auditConfigs = buildUnnamed59(); - o.bindings = buildUnnamed60(); + o.auditConfigs = buildUnnamed61(); + o.bindings = buildUnnamed62(); o.etag = 'foo'; o.version = 42; } @@ -4596,8 +4692,8 @@ api.Policy buildPolicy() { void checkPolicy(api.Policy o) { buildCounterPolicy++; if (buildCounterPolicy < 3) { - checkUnnamed59(o.auditConfigs!); - checkUnnamed60(o.bindings!); + checkUnnamed61(o.auditConfigs!); + checkUnnamed62(o.bindings!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -4632,12 +4728,12 @@ void checkPolicyBinding(api.PolicyBinding o) { buildCounterPolicyBinding--; } -core.List buildUnnamed61() => [ +core.List buildUnnamed63() => [ 'foo', 'foo', ]; -void checkUnnamed61(core.List o) { +void checkUnnamed63(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4654,7 +4750,7 @@ api.PolicyControllerBundleInstallSpec buildPolicyControllerBundleInstallSpec() { final o = api.PolicyControllerBundleInstallSpec(); buildCounterPolicyControllerBundleInstallSpec++; if (buildCounterPolicyControllerBundleInstallSpec < 3) { - o.exemptedNamespaces = buildUnnamed61(); + o.exemptedNamespaces = buildUnnamed63(); } buildCounterPolicyControllerBundleInstallSpec--; return o; @@ -4664,18 +4760,18 @@ void checkPolicyControllerBundleInstallSpec( api.PolicyControllerBundleInstallSpec o) { buildCounterPolicyControllerBundleInstallSpec++; if (buildCounterPolicyControllerBundleInstallSpec < 3) { - checkUnnamed61(o.exemptedNamespaces!); + checkUnnamed63(o.exemptedNamespaces!); } buildCounterPolicyControllerBundleInstallSpec--; } core.Map - buildUnnamed62() => { + buildUnnamed64() => { 'x': buildPolicyControllerPolicyControllerDeploymentConfig(), 'y': buildPolicyControllerPolicyControllerDeploymentConfig(), }; -void checkUnnamed62( +void checkUnnamed64( core.Map o) { unittest.expect(o, unittest.hasLength(2)); @@ -4683,12 +4779,12 @@ void checkUnnamed62( checkPolicyControllerPolicyControllerDeploymentConfig(o['y']!); } -core.List buildUnnamed63() => [ +core.List buildUnnamed65() => [ 'foo', 'foo', ]; -void checkUnnamed63(core.List o) { +void checkUnnamed65(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4707,8 +4803,8 @@ api.PolicyControllerHubConfig buildPolicyControllerHubConfig() { if (buildCounterPolicyControllerHubConfig < 3) { o.auditIntervalSeconds = 'foo'; o.constraintViolationLimit = 'foo'; - o.deploymentConfigs = buildUnnamed62(); - o.exemptableNamespaces = buildUnnamed63(); + o.deploymentConfigs = buildUnnamed64(); + o.exemptableNamespaces = buildUnnamed65(); o.installSpec = 'foo'; o.logDeniesEnabled = true; o.monitoring = buildPolicyControllerMonitoringConfig(); @@ -4731,8 +4827,8 @@ void checkPolicyControllerHubConfig(api.PolicyControllerHubConfig o) { o.constraintViolationLimit!, unittest.equals('foo'), ); - checkUnnamed62(o.deploymentConfigs!); - checkUnnamed63(o.exemptableNamespaces!); + checkUnnamed64(o.deploymentConfigs!); + checkUnnamed65(o.exemptableNamespaces!); unittest.expect( o.installSpec!, unittest.equals('foo'), @@ -4770,12 +4866,12 @@ void checkPolicyControllerMembershipSpec(api.PolicyControllerMembershipSpec o) { buildCounterPolicyControllerMembershipSpec--; } -core.Map buildUnnamed64() => { +core.Map buildUnnamed66() => { 'x': buildPolicyControllerOnClusterState(), 'y': buildPolicyControllerOnClusterState(), }; -void checkUnnamed64( +void checkUnnamed66( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkPolicyControllerOnClusterState(o['x']!); @@ -4787,7 +4883,7 @@ api.PolicyControllerMembershipState buildPolicyControllerMembershipState() { final o = api.PolicyControllerMembershipState(); buildCounterPolicyControllerMembershipState++; if (buildCounterPolicyControllerMembershipState < 3) { - o.componentStates = buildUnnamed64(); + o.componentStates = buildUnnamed66(); o.policyContentState = buildPolicyControllerPolicyContentState(); o.state = 'foo'; } @@ -4799,7 +4895,7 @@ void checkPolicyControllerMembershipState( api.PolicyControllerMembershipState o) { buildCounterPolicyControllerMembershipState++; if (buildCounterPolicyControllerMembershipState < 3) { - checkUnnamed64(o.componentStates!); + checkUnnamed66(o.componentStates!); checkPolicyControllerPolicyContentState(o.policyContentState!); unittest.expect( o.state!, @@ -4809,12 +4905,12 @@ void checkPolicyControllerMembershipState( buildCounterPolicyControllerMembershipState--; } -core.List buildUnnamed65() => [ +core.List buildUnnamed67() => [ 'foo', 'foo', ]; -void checkUnnamed65(core.List o) { +void checkUnnamed67(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4831,7 +4927,7 @@ api.PolicyControllerMonitoringConfig buildPolicyControllerMonitoringConfig() { final o = api.PolicyControllerMonitoringConfig(); buildCounterPolicyControllerMonitoringConfig++; if (buildCounterPolicyControllerMonitoringConfig < 3) { - o.backends = buildUnnamed65(); + o.backends = buildUnnamed67(); } buildCounterPolicyControllerMonitoringConfig--; return o; @@ -4841,7 +4937,7 @@ void checkPolicyControllerMonitoringConfig( api.PolicyControllerMonitoringConfig o) { buildCounterPolicyControllerMonitoringConfig++; if (buildCounterPolicyControllerMonitoringConfig < 3) { - checkUnnamed65(o.backends!); + checkUnnamed67(o.backends!); } buildCounterPolicyControllerMonitoringConfig--; } @@ -4873,13 +4969,13 @@ void checkPolicyControllerOnClusterState(api.PolicyControllerOnClusterState o) { buildCounterPolicyControllerOnClusterState--; } -core.Map buildUnnamed66() => +core.Map buildUnnamed68() => { 'x': buildPolicyControllerBundleInstallSpec(), 'y': buildPolicyControllerBundleInstallSpec(), }; -void checkUnnamed66( +void checkUnnamed68( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkPolicyControllerBundleInstallSpec(o['x']!); @@ -4891,7 +4987,7 @@ api.PolicyControllerPolicyContentSpec buildPolicyControllerPolicyContentSpec() { final o = api.PolicyControllerPolicyContentSpec(); buildCounterPolicyControllerPolicyContentSpec++; if (buildCounterPolicyControllerPolicyContentSpec < 3) { - o.bundles = buildUnnamed66(); + o.bundles = buildUnnamed68(); o.templateLibrary = buildPolicyControllerTemplateLibraryConfig(); } buildCounterPolicyControllerPolicyContentSpec--; @@ -4902,18 +4998,18 @@ void checkPolicyControllerPolicyContentSpec( api.PolicyControllerPolicyContentSpec o) { buildCounterPolicyControllerPolicyContentSpec++; if (buildCounterPolicyControllerPolicyContentSpec < 3) { - checkUnnamed66(o.bundles!); + checkUnnamed68(o.bundles!); checkPolicyControllerTemplateLibraryConfig(o.templateLibrary!); } buildCounterPolicyControllerPolicyContentSpec--; } -core.Map buildUnnamed67() => { +core.Map buildUnnamed69() => { 'x': buildPolicyControllerOnClusterState(), 'y': buildPolicyControllerOnClusterState(), }; -void checkUnnamed67( +void checkUnnamed69( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkPolicyControllerOnClusterState(o['x']!); @@ -4926,7 +5022,7 @@ api.PolicyControllerPolicyContentState final o = api.PolicyControllerPolicyContentState(); buildCounterPolicyControllerPolicyContentState++; if (buildCounterPolicyControllerPolicyContentState < 3) { - o.bundleStates = buildUnnamed67(); + o.bundleStates = buildUnnamed69(); o.referentialSyncConfigState = buildPolicyControllerOnClusterState(); o.templateLibraryState = buildPolicyControllerOnClusterState(); } @@ -4938,19 +5034,19 @@ void checkPolicyControllerPolicyContentState( api.PolicyControllerPolicyContentState o) { buildCounterPolicyControllerPolicyContentState++; if (buildCounterPolicyControllerPolicyContentState < 3) { - checkUnnamed67(o.bundleStates!); + checkUnnamed69(o.bundleStates!); checkPolicyControllerOnClusterState(o.referentialSyncConfigState!); checkPolicyControllerOnClusterState(o.templateLibraryState!); } buildCounterPolicyControllerPolicyContentState--; } -core.List buildUnnamed68() => [ +core.List buildUnnamed70() => [ buildPolicyControllerToleration(), buildPolicyControllerToleration(), ]; -void checkUnnamed68(core.List o) { +void checkUnnamed70(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPolicyControllerToleration(o[0]); checkPolicyControllerToleration(o[1]); @@ -4965,7 +5061,7 @@ api.PolicyControllerPolicyControllerDeploymentConfig o.containerResources = buildPolicyControllerResourceRequirements(); o.podAffinity = 'foo'; o.podAntiAffinity = true; - o.podTolerations = buildUnnamed68(); + o.podTolerations = buildUnnamed70(); o.replicaCount = 'foo'; } buildCounterPolicyControllerPolicyControllerDeploymentConfig--; @@ -4982,7 +5078,7 @@ void checkPolicyControllerPolicyControllerDeploymentConfig( unittest.equals('foo'), ); unittest.expect(o.podAntiAffinity!, unittest.isTrue); - checkUnnamed68(o.podTolerations!); + checkUnnamed70(o.podTolerations!); unittest.expect( o.replicaCount!, unittest.equals('foo'), @@ -5102,12 +5198,12 @@ void checkPolicyControllerToleration(api.PolicyControllerToleration o) { buildCounterPolicyControllerToleration--; } -core.Map buildUnnamed69() => { +core.Map buildUnnamed71() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed69(core.Map o) { +void checkUnnamed71(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -5127,7 +5223,7 @@ api.RBACRoleBinding buildRBACRoleBinding() { o.createTime = 'foo'; o.deleteTime = 'foo'; o.group = 'foo'; - o.labels = buildUnnamed69(); + o.labels = buildUnnamed71(); o.name = 'foo'; o.role = buildRole(); o.state = buildRBACRoleBindingLifecycleState(); @@ -5154,7 +5250,7 @@ void checkRBACRoleBinding(api.RBACRoleBinding o) { o.group!, unittest.equals('foo'), ); - checkUnnamed69(o.labels!); + checkUnnamed71(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -5274,12 +5370,12 @@ void checkRole(api.Role o) { buildCounterRole--; } -core.Map buildUnnamed70() => { +core.Map buildUnnamed72() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed70(core.Map o) { +void checkUnnamed72(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -5291,12 +5387,12 @@ void checkUnnamed70(core.Map o) { ); } -core.Map buildUnnamed71() => { +core.Map buildUnnamed73() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed71(core.Map o) { +void checkUnnamed73(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -5315,9 +5411,9 @@ api.Scope buildScope() { if (buildCounterScope < 3) { o.createTime = 'foo'; o.deleteTime = 'foo'; - o.labels = buildUnnamed70(); + o.labels = buildUnnamed72(); o.name = 'foo'; - o.namespaceLabels = buildUnnamed71(); + o.namespaceLabels = buildUnnamed73(); o.state = buildScopeLifecycleState(); o.uid = 'foo'; o.updateTime = 'foo'; @@ -5337,12 +5433,12 @@ void checkScope(api.Scope o) { o.deleteTime!, unittest.equals('foo'), ); - checkUnnamed70(o.labels!); + checkUnnamed72(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed71(o.namespaceLabels!); + checkUnnamed73(o.namespaceLabels!); checkScopeLifecycleState(o.state!); unittest.expect( o.uid!, @@ -5476,12 +5572,12 @@ void checkServiceMeshCondition(api.ServiceMeshCondition o) { buildCounterServiceMeshCondition--; } -core.List buildUnnamed72() => [ +core.List buildUnnamed74() => [ buildServiceMeshStatusDetails(), buildServiceMeshStatusDetails(), ]; -void checkUnnamed72(core.List o) { +void checkUnnamed74(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceMeshStatusDetails(o[0]); checkServiceMeshStatusDetails(o[1]); @@ -5492,7 +5588,7 @@ api.ServiceMeshControlPlaneManagement buildServiceMeshControlPlaneManagement() { final o = api.ServiceMeshControlPlaneManagement(); buildCounterServiceMeshControlPlaneManagement++; if (buildCounterServiceMeshControlPlaneManagement < 3) { - o.details = buildUnnamed72(); + o.details = buildUnnamed74(); o.implementation = 'foo'; o.state = 'foo'; } @@ -5504,7 +5600,7 @@ void checkServiceMeshControlPlaneManagement( api.ServiceMeshControlPlaneManagement o) { buildCounterServiceMeshControlPlaneManagement++; if (buildCounterServiceMeshControlPlaneManagement < 3) { - checkUnnamed72(o.details!); + checkUnnamed74(o.details!); unittest.expect( o.implementation!, unittest.equals('foo'), @@ -5517,12 +5613,12 @@ void checkServiceMeshControlPlaneManagement( buildCounterServiceMeshControlPlaneManagement--; } -core.List buildUnnamed73() => [ +core.List buildUnnamed75() => [ buildServiceMeshStatusDetails(), buildServiceMeshStatusDetails(), ]; -void checkUnnamed73(core.List o) { +void checkUnnamed75(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceMeshStatusDetails(o[0]); checkServiceMeshStatusDetails(o[1]); @@ -5533,7 +5629,7 @@ api.ServiceMeshDataPlaneManagement buildServiceMeshDataPlaneManagement() { final o = api.ServiceMeshDataPlaneManagement(); buildCounterServiceMeshDataPlaneManagement++; if (buildCounterServiceMeshDataPlaneManagement < 3) { - o.details = buildUnnamed73(); + o.details = buildUnnamed75(); o.state = 'foo'; } buildCounterServiceMeshDataPlaneManagement--; @@ -5543,7 +5639,7 @@ api.ServiceMeshDataPlaneManagement buildServiceMeshDataPlaneManagement() { void checkServiceMeshDataPlaneManagement(api.ServiceMeshDataPlaneManagement o) { buildCounterServiceMeshDataPlaneManagement++; if (buildCounterServiceMeshDataPlaneManagement < 3) { - checkUnnamed73(o.details!); + checkUnnamed75(o.details!); unittest.expect( o.state!, unittest.equals('foo'), @@ -5584,12 +5680,12 @@ void checkServiceMeshMembershipSpec(api.ServiceMeshMembershipSpec o) { buildCounterServiceMeshMembershipSpec--; } -core.List buildUnnamed74() => [ +core.List buildUnnamed76() => [ buildServiceMeshCondition(), buildServiceMeshCondition(), ]; -void checkUnnamed74(core.List o) { +void checkUnnamed76(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceMeshCondition(o[0]); checkServiceMeshCondition(o[1]); @@ -5600,7 +5696,7 @@ api.ServiceMeshMembershipState buildServiceMeshMembershipState() { final o = api.ServiceMeshMembershipState(); buildCounterServiceMeshMembershipState++; if (buildCounterServiceMeshMembershipState < 3) { - o.conditions = buildUnnamed74(); + o.conditions = buildUnnamed76(); o.controlPlaneManagement = buildServiceMeshControlPlaneManagement(); o.dataPlaneManagement = buildServiceMeshDataPlaneManagement(); } @@ -5611,7 +5707,7 @@ api.ServiceMeshMembershipState buildServiceMeshMembershipState() { void checkServiceMeshMembershipState(api.ServiceMeshMembershipState o) { buildCounterServiceMeshMembershipState++; if (buildCounterServiceMeshMembershipState < 3) { - checkUnnamed74(o.conditions!); + checkUnnamed76(o.conditions!); checkServiceMeshControlPlaneManagement(o.controlPlaneManagement!); checkServiceMeshDataPlaneManagement(o.dataPlaneManagement!); } @@ -5696,12 +5792,12 @@ void checkStatus(api.Status o) { buildCounterStatus--; } -core.List buildUnnamed75() => [ +core.List buildUnnamed77() => [ 'foo', 'foo', ]; -void checkUnnamed75(core.List o) { +void checkUnnamed77(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5718,7 +5814,7 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { final o = api.TestIamPermissionsRequest(); buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - o.permissions = buildUnnamed75(); + o.permissions = buildUnnamed77(); } buildCounterTestIamPermissionsRequest--; return o; @@ -5727,17 +5823,17 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { void checkTestIamPermissionsRequest(api.TestIamPermissionsRequest o) { buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - checkUnnamed75(o.permissions!); + checkUnnamed77(o.permissions!); } buildCounterTestIamPermissionsRequest--; } -core.List buildUnnamed76() => [ +core.List buildUnnamed78() => [ 'foo', 'foo', ]; -void checkUnnamed76(core.List o) { +void checkUnnamed78(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5754,7 +5850,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { final o = api.TestIamPermissionsResponse(); buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - o.permissions = buildUnnamed76(); + o.permissions = buildUnnamed78(); } buildCounterTestIamPermissionsResponse--; return o; @@ -5763,7 +5859,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { void checkTestIamPermissionsResponse(api.TestIamPermissionsResponse o) { buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - checkUnnamed76(o.permissions!); + checkUnnamed78(o.permissions!); } buildCounterTestIamPermissionsResponse--; } @@ -6106,6 +6202,26 @@ void main() { }); }); + unittest.group('obj-schema-ConfigManagementContainerOverride', () { + unittest.test('to-json--from-json', () async { + final o = buildConfigManagementContainerOverride(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ConfigManagementContainerOverride.fromJson( + oJson as core.Map); + checkConfigManagementContainerOverride(od); + }); + }); + + unittest.group('obj-schema-ConfigManagementDeploymentOverride', () { + unittest.test('to-json--from-json', () async { + final o = buildConfigManagementDeploymentOverride(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ConfigManagementDeploymentOverride.fromJson( + oJson as core.Map); + checkConfigManagementDeploymentOverride(od); + }); + }); + unittest.group('obj-schema-ConfigManagementErrorResource', () { unittest.test('to-json--from-json', () async { final o = buildConfigManagementErrorResource(); diff --git a/generated/googleapis/test/gkehub/v2_test.dart b/generated/googleapis/test/gkehub/v2_test.dart index 8ded4e582..7d05ed5c0 100644 --- a/generated/googleapis/test/gkehub/v2_test.dart +++ b/generated/googleapis/test/gkehub/v2_test.dart @@ -322,12 +322,23 @@ void checkConfigManagementBinauthzVersion( buildCounterConfigManagementBinauthzVersion--; } +core.List buildUnnamed1() => [ + buildConfigManagementDeploymentOverride(), + buildConfigManagementDeploymentOverride(), + ]; + +void checkUnnamed1(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkConfigManagementDeploymentOverride(o[0]); + checkConfigManagementDeploymentOverride(o[1]); +} + core.int buildCounterConfigManagementConfigSync = 0; api.ConfigManagementConfigSync buildConfigManagementConfigSync() { final o = api.ConfigManagementConfigSync(); buildCounterConfigManagementConfigSync++; if (buildCounterConfigManagementConfigSync < 3) { - o.allowVerticalScale = true; + o.deploymentOverrides = buildUnnamed1(); o.enabled = true; o.git = buildConfigManagementGitConfig(); o.metricsGcpServiceAccountEmail = 'foo'; @@ -343,7 +354,7 @@ api.ConfigManagementConfigSync buildConfigManagementConfigSync() { void checkConfigManagementConfigSync(api.ConfigManagementConfigSync o) { buildCounterConfigManagementConfigSync++; if (buildCounterConfigManagementConfigSync < 3) { - unittest.expect(o.allowVerticalScale!, unittest.isTrue); + checkUnnamed1(o.deploymentOverrides!); unittest.expect(o.enabled!, unittest.isTrue); checkConfigManagementGitConfig(o.git!); unittest.expect( @@ -448,12 +459,12 @@ void checkConfigManagementConfigSyncError( buildCounterConfigManagementConfigSyncError--; } -core.List buildUnnamed1() => [ +core.List buildUnnamed2() => [ buildConfigManagementConfigSyncError(), buildConfigManagementConfigSyncError(), ]; -void checkUnnamed1(core.List o) { +void checkUnnamed2(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfigManagementConfigSyncError(o[0]); checkConfigManagementConfigSyncError(o[1]); @@ -467,7 +478,7 @@ api.ConfigManagementConfigSyncState buildConfigManagementConfigSyncState() { o.clusterLevelStopSyncingState = 'foo'; o.crCount = 42; o.deploymentState = buildConfigManagementConfigSyncDeploymentState(); - o.errors = buildUnnamed1(); + o.errors = buildUnnamed2(); o.reposyncCrd = 'foo'; o.rootsyncCrd = 'foo'; o.state = 'foo'; @@ -491,7 +502,7 @@ void checkConfigManagementConfigSyncState( unittest.equals(42), ); checkConfigManagementConfigSyncDeploymentState(o.deploymentState!); - checkUnnamed1(o.errors!); + checkUnnamed2(o.errors!); unittest.expect( o.reposyncCrd!, unittest.equals('foo'), @@ -573,6 +584,91 @@ void checkConfigManagementConfigSyncVersion( buildCounterConfigManagementConfigSyncVersion--; } +core.int buildCounterConfigManagementContainerOverride = 0; +api.ConfigManagementContainerOverride buildConfigManagementContainerOverride() { + final o = api.ConfigManagementContainerOverride(); + buildCounterConfigManagementContainerOverride++; + if (buildCounterConfigManagementContainerOverride < 3) { + o.containerName = 'foo'; + o.cpuLimit = 'foo'; + o.cpuRequest = 'foo'; + o.memoryLimit = 'foo'; + o.memoryRequest = 'foo'; + } + buildCounterConfigManagementContainerOverride--; + return o; +} + +void checkConfigManagementContainerOverride( + api.ConfigManagementContainerOverride o) { + buildCounterConfigManagementContainerOverride++; + if (buildCounterConfigManagementContainerOverride < 3) { + unittest.expect( + o.containerName!, + unittest.equals('foo'), + ); + unittest.expect( + o.cpuLimit!, + unittest.equals('foo'), + ); + unittest.expect( + o.cpuRequest!, + unittest.equals('foo'), + ); + unittest.expect( + o.memoryLimit!, + unittest.equals('foo'), + ); + unittest.expect( + o.memoryRequest!, + unittest.equals('foo'), + ); + } + buildCounterConfigManagementContainerOverride--; +} + +core.List buildUnnamed3() => [ + buildConfigManagementContainerOverride(), + buildConfigManagementContainerOverride(), + ]; + +void checkUnnamed3(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkConfigManagementContainerOverride(o[0]); + checkConfigManagementContainerOverride(o[1]); +} + +core.int buildCounterConfigManagementDeploymentOverride = 0; +api.ConfigManagementDeploymentOverride + buildConfigManagementDeploymentOverride() { + final o = api.ConfigManagementDeploymentOverride(); + buildCounterConfigManagementDeploymentOverride++; + if (buildCounterConfigManagementDeploymentOverride < 3) { + o.containers = buildUnnamed3(); + o.deploymentName = 'foo'; + o.deploymentNamespace = 'foo'; + } + buildCounterConfigManagementDeploymentOverride--; + return o; +} + +void checkConfigManagementDeploymentOverride( + api.ConfigManagementDeploymentOverride o) { + buildCounterConfigManagementDeploymentOverride++; + if (buildCounterConfigManagementDeploymentOverride < 3) { + checkUnnamed3(o.containers!); + unittest.expect( + o.deploymentName!, + unittest.equals('foo'), + ); + unittest.expect( + o.deploymentNamespace!, + unittest.equals('foo'), + ); + } + buildCounterConfigManagementDeploymentOverride--; +} + core.int buildCounterConfigManagementErrorResource = 0; api.ConfigManagementErrorResource buildConfigManagementErrorResource() { final o = api.ConfigManagementErrorResource(); @@ -901,12 +997,12 @@ void checkConfigManagementOciConfig(api.ConfigManagementOciConfig o) { buildCounterConfigManagementOciConfig--; } -core.List buildUnnamed2() => [ +core.List buildUnnamed4() => [ buildConfigManagementInstallError(), buildConfigManagementInstallError(), ]; -void checkUnnamed2(core.List o) { +void checkUnnamed4(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfigManagementInstallError(o[0]); checkConfigManagementInstallError(o[1]); @@ -918,7 +1014,7 @@ api.ConfigManagementOperatorState buildConfigManagementOperatorState() { buildCounterConfigManagementOperatorState++; if (buildCounterConfigManagementOperatorState < 3) { o.deploymentState = 'foo'; - o.errors = buildUnnamed2(); + o.errors = buildUnnamed4(); o.version = 'foo'; } buildCounterConfigManagementOperatorState--; @@ -932,7 +1028,7 @@ void checkConfigManagementOperatorState(api.ConfigManagementOperatorState o) { o.deploymentState!, unittest.equals('foo'), ); - checkUnnamed2(o.errors!); + checkUnnamed4(o.errors!); unittest.expect( o.version!, unittest.equals('foo'), @@ -941,12 +1037,12 @@ void checkConfigManagementOperatorState(api.ConfigManagementOperatorState o) { buildCounterConfigManagementOperatorState--; } -core.List buildUnnamed3() => [ +core.List buildUnnamed5() => [ 'foo', 'foo', ]; -void checkUnnamed3(core.List o) { +void checkUnnamed5(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -965,7 +1061,7 @@ api.ConfigManagementPolicyController buildConfigManagementPolicyController() { if (buildCounterConfigManagementPolicyController < 3) { o.auditIntervalSeconds = 'foo'; o.enabled = true; - o.exemptableNamespaces = buildUnnamed3(); + o.exemptableNamespaces = buildUnnamed5(); o.logDeniesEnabled = true; o.monitoring = buildConfigManagementPolicyControllerMonitoring(); o.mutationEnabled = true; @@ -986,7 +1082,7 @@ void checkConfigManagementPolicyController( unittest.equals('foo'), ); unittest.expect(o.enabled!, unittest.isTrue); - checkUnnamed3(o.exemptableNamespaces!); + checkUnnamed5(o.exemptableNamespaces!); unittest.expect(o.logDeniesEnabled!, unittest.isTrue); checkConfigManagementPolicyControllerMonitoring(o.monitoring!); unittest.expect(o.mutationEnabled!, unittest.isTrue); @@ -1029,12 +1125,12 @@ void checkConfigManagementPolicyControllerMigration( buildCounterConfigManagementPolicyControllerMigration--; } -core.List buildUnnamed4() => [ +core.List buildUnnamed6() => [ 'foo', 'foo', ]; -void checkUnnamed4(core.List o) { +void checkUnnamed6(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1052,7 +1148,7 @@ api.ConfigManagementPolicyControllerMonitoring final o = api.ConfigManagementPolicyControllerMonitoring(); buildCounterConfigManagementPolicyControllerMonitoring++; if (buildCounterConfigManagementPolicyControllerMonitoring < 3) { - o.backends = buildUnnamed4(); + o.backends = buildUnnamed6(); } buildCounterConfigManagementPolicyControllerMonitoring--; return o; @@ -1062,7 +1158,7 @@ void checkConfigManagementPolicyControllerMonitoring( api.ConfigManagementPolicyControllerMonitoring o) { buildCounterConfigManagementPolicyControllerMonitoring++; if (buildCounterConfigManagementPolicyControllerMonitoring < 3) { - checkUnnamed4(o.backends!); + checkUnnamed6(o.backends!); } buildCounterConfigManagementPolicyControllerMonitoring--; } @@ -1191,12 +1287,12 @@ void checkConfigManagementState(api.ConfigManagementState o) { buildCounterConfigManagementState--; } -core.List buildUnnamed5() => [ +core.List buildUnnamed7() => [ buildConfigManagementErrorResource(), buildConfigManagementErrorResource(), ]; -void checkUnnamed5(core.List o) { +void checkUnnamed7(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfigManagementErrorResource(o[0]); checkConfigManagementErrorResource(o[1]); @@ -1209,7 +1305,7 @@ api.ConfigManagementSyncError buildConfigManagementSyncError() { if (buildCounterConfigManagementSyncError < 3) { o.code = 'foo'; o.errorMessage = 'foo'; - o.errorResources = buildUnnamed5(); + o.errorResources = buildUnnamed7(); } buildCounterConfigManagementSyncError--; return o; @@ -1226,17 +1322,17 @@ void checkConfigManagementSyncError(api.ConfigManagementSyncError o) { o.errorMessage!, unittest.equals('foo'), ); - checkUnnamed5(o.errorResources!); + checkUnnamed7(o.errorResources!); } buildCounterConfigManagementSyncError--; } -core.List buildUnnamed6() => [ +core.List buildUnnamed8() => [ buildConfigManagementSyncError(), buildConfigManagementSyncError(), ]; -void checkUnnamed6(core.List o) { +void checkUnnamed8(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfigManagementSyncError(o[0]); checkConfigManagementSyncError(o[1]); @@ -1248,7 +1344,7 @@ api.ConfigManagementSyncState buildConfigManagementSyncState() { buildCounterConfigManagementSyncState++; if (buildCounterConfigManagementSyncState < 3) { o.code = 'foo'; - o.errors = buildUnnamed6(); + o.errors = buildUnnamed8(); o.importToken = 'foo'; o.lastSync = 'foo'; o.lastSyncTime = 'foo'; @@ -1266,7 +1362,7 @@ void checkConfigManagementSyncState(api.ConfigManagementSyncState o) { o.code!, unittest.equals('foo'), ); - checkUnnamed6(o.errors!); + checkUnnamed8(o.errors!); unittest.expect( o.importToken!, unittest.equals('foo'), @@ -1370,7 +1466,7 @@ void checkFeatureState(api.FeatureState o) { buildCounterFeatureState--; } -core.Map buildUnnamed7() => { +core.Map buildUnnamed9() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1383,7 +1479,7 @@ core.Map buildUnnamed7() => { }, }; -void checkUnnamed7(core.Map o) { +void checkUnnamed9(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -1415,15 +1511,15 @@ void checkUnnamed7(core.Map o) { ); } -core.List> buildUnnamed8() => [ - buildUnnamed7(), - buildUnnamed7(), +core.List> buildUnnamed10() => [ + buildUnnamed9(), + buildUnnamed9(), ]; -void checkUnnamed8(core.List> o) { +void checkUnnamed10(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed7(o[0]); - checkUnnamed7(o[1]); + checkUnnamed9(o[0]); + checkUnnamed9(o[1]); } core.int buildCounterGoogleRpcStatus = 0; @@ -1432,7 +1528,7 @@ api.GoogleRpcStatus buildGoogleRpcStatus() { buildCounterGoogleRpcStatus++; if (buildCounterGoogleRpcStatus < 3) { o.code = 42; - o.details = buildUnnamed8(); + o.details = buildUnnamed10(); o.message = 'foo'; } buildCounterGoogleRpcStatus--; @@ -1446,7 +1542,7 @@ void checkGoogleRpcStatus(api.GoogleRpcStatus o) { o.code!, unittest.equals(42), ); - checkUnnamed8(o.details!); + checkUnnamed10(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -1753,12 +1849,12 @@ void checkIdentityServiceOidcConfig(api.IdentityServiceOidcConfig o) { buildCounterIdentityServiceOidcConfig--; } -core.Map buildUnnamed9() => { +core.Map buildUnnamed11() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed9(core.Map o) { +void checkUnnamed11(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1770,12 +1866,12 @@ void checkUnnamed9(core.Map o) { ); } -core.List buildUnnamed10() => [ +core.List buildUnnamed12() => [ 'foo', 'foo', ]; -void checkUnnamed10(core.List o) { +void checkUnnamed12(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1792,10 +1888,10 @@ api.IdentityServiceSamlConfig buildIdentityServiceSamlConfig() { final o = api.IdentityServiceSamlConfig(); buildCounterIdentityServiceSamlConfig++; if (buildCounterIdentityServiceSamlConfig < 3) { - o.attributeMapping = buildUnnamed9(); + o.attributeMapping = buildUnnamed11(); o.groupPrefix = 'foo'; o.groupsAttribute = 'foo'; - o.identityProviderCertificates = buildUnnamed10(); + o.identityProviderCertificates = buildUnnamed12(); o.identityProviderId = 'foo'; o.identityProviderSsoUri = 'foo'; o.userAttribute = 'foo'; @@ -1808,7 +1904,7 @@ api.IdentityServiceSamlConfig buildIdentityServiceSamlConfig() { void checkIdentityServiceSamlConfig(api.IdentityServiceSamlConfig o) { buildCounterIdentityServiceSamlConfig++; if (buildCounterIdentityServiceSamlConfig < 3) { - checkUnnamed9(o.attributeMapping!); + checkUnnamed11(o.attributeMapping!); unittest.expect( o.groupPrefix!, unittest.equals('foo'), @@ -1817,7 +1913,7 @@ void checkIdentityServiceSamlConfig(api.IdentityServiceSamlConfig o) { o.groupsAttribute!, unittest.equals('foo'), ); - checkUnnamed10(o.identityProviderCertificates!); + checkUnnamed12(o.identityProviderCertificates!); unittest.expect( o.identityProviderId!, unittest.equals('foo'), @@ -1925,12 +2021,12 @@ void checkIdentityServiceSimpleBindCredentials( buildCounterIdentityServiceSimpleBindCredentials--; } -core.List buildUnnamed11() => [ +core.List buildUnnamed13() => [ buildIdentityServiceAuthMethod(), buildIdentityServiceAuthMethod(), ]; -void checkUnnamed11(core.List o) { +void checkUnnamed13(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkIdentityServiceAuthMethod(o[0]); checkIdentityServiceAuthMethod(o[1]); @@ -1941,7 +2037,7 @@ api.IdentityServiceSpec buildIdentityServiceSpec() { final o = api.IdentityServiceSpec(); buildCounterIdentityServiceSpec++; if (buildCounterIdentityServiceSpec < 3) { - o.authMethods = buildUnnamed11(); + o.authMethods = buildUnnamed13(); o.identityServiceOptions = buildIdentityServiceIdentityServiceOptions(); } buildCounterIdentityServiceSpec--; @@ -1951,7 +2047,7 @@ api.IdentityServiceSpec buildIdentityServiceSpec() { void checkIdentityServiceSpec(api.IdentityServiceSpec o) { buildCounterIdentityServiceSpec++; if (buildCounterIdentityServiceSpec < 3) { - checkUnnamed11(o.authMethods!); + checkUnnamed13(o.authMethods!); checkIdentityServiceIdentityServiceOptions(o.identityServiceOptions!); } buildCounterIdentityServiceSpec--; @@ -2050,12 +2146,12 @@ void checkLifecycleState(api.LifecycleState o) { buildCounterLifecycleState--; } -core.List buildUnnamed12() => [ +core.List buildUnnamed14() => [ buildLocation(), buildLocation(), ]; -void checkUnnamed12(core.List o) { +void checkUnnamed14(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLocation(o[0]); checkLocation(o[1]); @@ -2066,7 +2162,7 @@ api.ListLocationsResponse buildListLocationsResponse() { final o = api.ListLocationsResponse(); buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - o.locations = buildUnnamed12(); + o.locations = buildUnnamed14(); o.nextPageToken = 'foo'; } buildCounterListLocationsResponse--; @@ -2076,7 +2172,7 @@ api.ListLocationsResponse buildListLocationsResponse() { void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - checkUnnamed12(o.locations!); + checkUnnamed14(o.locations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2085,23 +2181,23 @@ void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse--; } -core.List buildUnnamed13() => [ +core.List buildUnnamed15() => [ buildMembershipFeature(), buildMembershipFeature(), ]; -void checkUnnamed13(core.List o) { +void checkUnnamed15(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMembershipFeature(o[0]); checkMembershipFeature(o[1]); } -core.List buildUnnamed14() => [ +core.List buildUnnamed16() => [ 'foo', 'foo', ]; -void checkUnnamed14(core.List o) { +void checkUnnamed16(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2118,9 +2214,9 @@ api.ListMembershipFeaturesResponse buildListMembershipFeaturesResponse() { final o = api.ListMembershipFeaturesResponse(); buildCounterListMembershipFeaturesResponse++; if (buildCounterListMembershipFeaturesResponse < 3) { - o.membershipFeatures = buildUnnamed13(); + o.membershipFeatures = buildUnnamed15(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed14(); + o.unreachable = buildUnnamed16(); } buildCounterListMembershipFeaturesResponse--; return o; @@ -2129,22 +2225,22 @@ api.ListMembershipFeaturesResponse buildListMembershipFeaturesResponse() { void checkListMembershipFeaturesResponse(api.ListMembershipFeaturesResponse o) { buildCounterListMembershipFeaturesResponse++; if (buildCounterListMembershipFeaturesResponse < 3) { - checkUnnamed13(o.membershipFeatures!); + checkUnnamed15(o.membershipFeatures!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed14(o.unreachable!); + checkUnnamed16(o.unreachable!); } buildCounterListMembershipFeaturesResponse--; } -core.List buildUnnamed15() => [ +core.List buildUnnamed17() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed15(core.List o) { +void checkUnnamed17(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -2156,7 +2252,7 @@ api.ListOperationsResponse buildListOperationsResponse() { buildCounterListOperationsResponse++; if (buildCounterListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed15(); + o.operations = buildUnnamed17(); } buildCounterListOperationsResponse--; return o; @@ -2169,17 +2265,17 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed15(o.operations!); + checkUnnamed17(o.operations!); } buildCounterListOperationsResponse--; } -core.Map buildUnnamed16() => { +core.Map buildUnnamed18() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed16(core.Map o) { +void checkUnnamed18(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2191,7 +2287,7 @@ void checkUnnamed16(core.Map o) { ); } -core.Map buildUnnamed17() => { +core.Map buildUnnamed19() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2204,7 +2300,7 @@ core.Map buildUnnamed17() => { }, }; -void checkUnnamed17(core.Map o) { +void checkUnnamed19(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -2242,9 +2338,9 @@ api.Location buildLocation() { buildCounterLocation++; if (buildCounterLocation < 3) { o.displayName = 'foo'; - o.labels = buildUnnamed16(); + o.labels = buildUnnamed18(); o.locationId = 'foo'; - o.metadata = buildUnnamed17(); + o.metadata = buildUnnamed19(); o.name = 'foo'; } buildCounterLocation--; @@ -2258,12 +2354,12 @@ void checkLocation(api.Location o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed16(o.labels!); + checkUnnamed18(o.labels!); unittest.expect( o.locationId!, unittest.equals('foo'), ); - checkUnnamed17(o.metadata!); + checkUnnamed19(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), @@ -2272,12 +2368,12 @@ void checkLocation(api.Location o) { buildCounterLocation--; } -core.Map buildUnnamed18() => { +core.Map buildUnnamed20() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed18(core.Map o) { +void checkUnnamed20(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2296,7 +2392,7 @@ api.MembershipFeature buildMembershipFeature() { if (buildCounterMembershipFeature < 3) { o.createTime = 'foo'; o.deleteTime = 'foo'; - o.labels = buildUnnamed18(); + o.labels = buildUnnamed20(); o.lifecycleState = buildLifecycleState(); o.name = 'foo'; o.spec = buildFeatureSpec(); @@ -2318,7 +2414,7 @@ void checkMembershipFeature(api.MembershipFeature o) { o.deleteTime!, unittest.equals('foo'), ); - checkUnnamed18(o.labels!); + checkUnnamed20(o.labels!); checkLifecycleState(o.lifecycleState!); unittest.expect( o.name!, @@ -2361,7 +2457,7 @@ void checkMeteringState(api.MeteringState o) { buildCounterMeteringState--; } -core.Map buildUnnamed19() => { +core.Map buildUnnamed21() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2374,7 +2470,7 @@ core.Map buildUnnamed19() => { }, }; -void checkUnnamed19(core.Map o) { +void checkUnnamed21(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -2406,7 +2502,7 @@ void checkUnnamed19(core.Map o) { ); } -core.Map buildUnnamed20() => { +core.Map buildUnnamed22() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2419,7 +2515,7 @@ core.Map buildUnnamed20() => { }, }; -void checkUnnamed20(core.Map o) { +void checkUnnamed22(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -2458,9 +2554,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildGoogleRpcStatus(); - o.metadata = buildUnnamed19(); + o.metadata = buildUnnamed21(); o.name = 'foo'; - o.response = buildUnnamed20(); + o.response = buildUnnamed22(); } buildCounterOperation--; return o; @@ -2471,12 +2567,12 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkGoogleRpcStatus(o.error!); - checkUnnamed19(o.metadata!); + checkUnnamed21(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed20(o.response!); + checkUnnamed22(o.response!); } buildCounterOperation--; } @@ -2503,12 +2599,12 @@ void checkOrigin(api.Origin o) { buildCounterOrigin--; } -core.List buildUnnamed21() => [ +core.List buildUnnamed23() => [ 'foo', 'foo', ]; -void checkUnnamed21(core.List o) { +void checkUnnamed23(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2525,7 +2621,7 @@ api.PolicyControllerBundleInstallSpec buildPolicyControllerBundleInstallSpec() { final o = api.PolicyControllerBundleInstallSpec(); buildCounterPolicyControllerBundleInstallSpec++; if (buildCounterPolicyControllerBundleInstallSpec < 3) { - o.exemptedNamespaces = buildUnnamed21(); + o.exemptedNamespaces = buildUnnamed23(); } buildCounterPolicyControllerBundleInstallSpec--; return o; @@ -2535,18 +2631,18 @@ void checkPolicyControllerBundleInstallSpec( api.PolicyControllerBundleInstallSpec o) { buildCounterPolicyControllerBundleInstallSpec++; if (buildCounterPolicyControllerBundleInstallSpec < 3) { - checkUnnamed21(o.exemptedNamespaces!); + checkUnnamed23(o.exemptedNamespaces!); } buildCounterPolicyControllerBundleInstallSpec--; } core.Map - buildUnnamed22() => { + buildUnnamed24() => { 'x': buildPolicyControllerPolicyControllerDeploymentConfig(), 'y': buildPolicyControllerPolicyControllerDeploymentConfig(), }; -void checkUnnamed22( +void checkUnnamed24( core.Map o) { unittest.expect(o, unittest.hasLength(2)); @@ -2554,12 +2650,12 @@ void checkUnnamed22( checkPolicyControllerPolicyControllerDeploymentConfig(o['y']!); } -core.List buildUnnamed23() => [ +core.List buildUnnamed25() => [ 'foo', 'foo', ]; -void checkUnnamed23(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2578,8 +2674,8 @@ api.PolicyControllerHubConfig buildPolicyControllerHubConfig() { if (buildCounterPolicyControllerHubConfig < 3) { o.auditIntervalSeconds = 'foo'; o.constraintViolationLimit = 'foo'; - o.deploymentConfigs = buildUnnamed22(); - o.exemptableNamespaces = buildUnnamed23(); + o.deploymentConfigs = buildUnnamed24(); + o.exemptableNamespaces = buildUnnamed25(); o.installSpec = 'foo'; o.logDeniesEnabled = true; o.monitoring = buildPolicyControllerMonitoringConfig(); @@ -2602,8 +2698,8 @@ void checkPolicyControllerHubConfig(api.PolicyControllerHubConfig o) { o.constraintViolationLimit!, unittest.equals('foo'), ); - checkUnnamed22(o.deploymentConfigs!); - checkUnnamed23(o.exemptableNamespaces!); + checkUnnamed24(o.deploymentConfigs!); + checkUnnamed25(o.exemptableNamespaces!); unittest.expect( o.installSpec!, unittest.equals('foo'), @@ -2617,12 +2713,12 @@ void checkPolicyControllerHubConfig(api.PolicyControllerHubConfig o) { buildCounterPolicyControllerHubConfig--; } -core.List buildUnnamed24() => [ +core.List buildUnnamed26() => [ 'foo', 'foo', ]; -void checkUnnamed24(core.List o) { +void checkUnnamed26(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2639,7 +2735,7 @@ api.PolicyControllerMonitoringConfig buildPolicyControllerMonitoringConfig() { final o = api.PolicyControllerMonitoringConfig(); buildCounterPolicyControllerMonitoringConfig++; if (buildCounterPolicyControllerMonitoringConfig < 3) { - o.backends = buildUnnamed24(); + o.backends = buildUnnamed26(); } buildCounterPolicyControllerMonitoringConfig--; return o; @@ -2649,7 +2745,7 @@ void checkPolicyControllerMonitoringConfig( api.PolicyControllerMonitoringConfig o) { buildCounterPolicyControllerMonitoringConfig++; if (buildCounterPolicyControllerMonitoringConfig < 3) { - checkUnnamed24(o.backends!); + checkUnnamed26(o.backends!); } buildCounterPolicyControllerMonitoringConfig--; } @@ -2681,13 +2777,13 @@ void checkPolicyControllerOnClusterState(api.PolicyControllerOnClusterState o) { buildCounterPolicyControllerOnClusterState--; } -core.Map buildUnnamed25() => +core.Map buildUnnamed27() => { 'x': buildPolicyControllerBundleInstallSpec(), 'y': buildPolicyControllerBundleInstallSpec(), }; -void checkUnnamed25( +void checkUnnamed27( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkPolicyControllerBundleInstallSpec(o['x']!); @@ -2699,7 +2795,7 @@ api.PolicyControllerPolicyContentSpec buildPolicyControllerPolicyContentSpec() { final o = api.PolicyControllerPolicyContentSpec(); buildCounterPolicyControllerPolicyContentSpec++; if (buildCounterPolicyControllerPolicyContentSpec < 3) { - o.bundles = buildUnnamed25(); + o.bundles = buildUnnamed27(); o.templateLibrary = buildPolicyControllerTemplateLibraryConfig(); } buildCounterPolicyControllerPolicyContentSpec--; @@ -2710,18 +2806,18 @@ void checkPolicyControllerPolicyContentSpec( api.PolicyControllerPolicyContentSpec o) { buildCounterPolicyControllerPolicyContentSpec++; if (buildCounterPolicyControllerPolicyContentSpec < 3) { - checkUnnamed25(o.bundles!); + checkUnnamed27(o.bundles!); checkPolicyControllerTemplateLibraryConfig(o.templateLibrary!); } buildCounterPolicyControllerPolicyContentSpec--; } -core.Map buildUnnamed26() => { +core.Map buildUnnamed28() => { 'x': buildPolicyControllerOnClusterState(), 'y': buildPolicyControllerOnClusterState(), }; -void checkUnnamed26( +void checkUnnamed28( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkPolicyControllerOnClusterState(o['x']!); @@ -2734,7 +2830,7 @@ api.PolicyControllerPolicyContentState final o = api.PolicyControllerPolicyContentState(); buildCounterPolicyControllerPolicyContentState++; if (buildCounterPolicyControllerPolicyContentState < 3) { - o.bundleStates = buildUnnamed26(); + o.bundleStates = buildUnnamed28(); o.referentialSyncConfigState = buildPolicyControllerOnClusterState(); o.templateLibraryState = buildPolicyControllerOnClusterState(); } @@ -2746,19 +2842,19 @@ void checkPolicyControllerPolicyContentState( api.PolicyControllerPolicyContentState o) { buildCounterPolicyControllerPolicyContentState++; if (buildCounterPolicyControllerPolicyContentState < 3) { - checkUnnamed26(o.bundleStates!); + checkUnnamed28(o.bundleStates!); checkPolicyControllerOnClusterState(o.referentialSyncConfigState!); checkPolicyControllerOnClusterState(o.templateLibraryState!); } buildCounterPolicyControllerPolicyContentState--; } -core.List buildUnnamed27() => [ +core.List buildUnnamed29() => [ buildPolicyControllerToleration(), buildPolicyControllerToleration(), ]; -void checkUnnamed27(core.List o) { +void checkUnnamed29(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPolicyControllerToleration(o[0]); checkPolicyControllerToleration(o[1]); @@ -2773,7 +2869,7 @@ api.PolicyControllerPolicyControllerDeploymentConfig o.containerResources = buildPolicyControllerResourceRequirements(); o.podAffinity = 'foo'; o.podAntiAffinity = true; - o.podTolerations = buildUnnamed27(); + o.podTolerations = buildUnnamed29(); o.replicaCount = 'foo'; } buildCounterPolicyControllerPolicyControllerDeploymentConfig--; @@ -2790,7 +2886,7 @@ void checkPolicyControllerPolicyControllerDeploymentConfig( unittest.equals('foo'), ); unittest.expect(o.podAntiAffinity!, unittest.isTrue); - checkUnnamed27(o.podTolerations!); + checkUnnamed29(o.podTolerations!); unittest.expect( o.replicaCount!, unittest.equals('foo'), @@ -2873,12 +2969,12 @@ void checkPolicyControllerSpec(api.PolicyControllerSpec o) { buildCounterPolicyControllerSpec--; } -core.Map buildUnnamed28() => { +core.Map buildUnnamed30() => { 'x': buildPolicyControllerOnClusterState(), 'y': buildPolicyControllerOnClusterState(), }; -void checkUnnamed28( +void checkUnnamed30( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkPolicyControllerOnClusterState(o['x']!); @@ -2890,7 +2986,7 @@ api.PolicyControllerState buildPolicyControllerState() { final o = api.PolicyControllerState(); buildCounterPolicyControllerState++; if (buildCounterPolicyControllerState < 3) { - o.componentStates = buildUnnamed28(); + o.componentStates = buildUnnamed30(); o.policyContentState = buildPolicyControllerPolicyContentState(); o.state = 'foo'; } @@ -2901,7 +2997,7 @@ api.PolicyControllerState buildPolicyControllerState() { void checkPolicyControllerState(api.PolicyControllerState o) { buildCounterPolicyControllerState++; if (buildCounterPolicyControllerState < 3) { - checkUnnamed28(o.componentStates!); + checkUnnamed30(o.componentStates!); checkPolicyControllerPolicyContentState(o.policyContentState!); unittest.expect( o.state!, @@ -2972,7 +3068,7 @@ void checkPolicyControllerToleration(api.PolicyControllerToleration o) { buildCounterPolicyControllerToleration--; } -core.Map buildUnnamed29() => { +core.Map buildUnnamed31() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2985,7 +3081,7 @@ core.Map buildUnnamed29() => { }, }; -void checkUnnamed29(core.Map o) { +void checkUnnamed31(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted9 = (o['x']!) as core.Map; unittest.expect(casted9, unittest.hasLength(3)); @@ -3017,12 +3113,12 @@ void checkUnnamed29(core.Map o) { ); } -core.List buildUnnamed30() => [ +core.List buildUnnamed32() => [ 'foo', 'foo', ]; -void checkUnnamed30(core.List o) { +void checkUnnamed32(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3039,10 +3135,10 @@ api.ServiceMeshAnalysisMessage buildServiceMeshAnalysisMessage() { final o = api.ServiceMeshAnalysisMessage(); buildCounterServiceMeshAnalysisMessage++; if (buildCounterServiceMeshAnalysisMessage < 3) { - o.args = buildUnnamed29(); + o.args = buildUnnamed31(); o.description = 'foo'; o.messageBase = buildServiceMeshAnalysisMessageBase(); - o.resourcePaths = buildUnnamed30(); + o.resourcePaths = buildUnnamed32(); } buildCounterServiceMeshAnalysisMessage--; return o; @@ -3051,13 +3147,13 @@ api.ServiceMeshAnalysisMessage buildServiceMeshAnalysisMessage() { void checkServiceMeshAnalysisMessage(api.ServiceMeshAnalysisMessage o) { buildCounterServiceMeshAnalysisMessage++; if (buildCounterServiceMeshAnalysisMessage < 3) { - checkUnnamed29(o.args!); + checkUnnamed31(o.args!); unittest.expect( o.description!, unittest.equals('foo'), ); checkServiceMeshAnalysisMessageBase(o.messageBase!); - checkUnnamed30(o.resourcePaths!); + checkUnnamed32(o.resourcePaths!); } buildCounterServiceMeshAnalysisMessage--; } @@ -3128,12 +3224,12 @@ void checkServiceMeshCondition(api.ServiceMeshCondition o) { buildCounterServiceMeshCondition--; } -core.List buildUnnamed31() => [ +core.List buildUnnamed33() => [ buildServiceMeshStatusDetails(), buildServiceMeshStatusDetails(), ]; -void checkUnnamed31(core.List o) { +void checkUnnamed33(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceMeshStatusDetails(o[0]); checkServiceMeshStatusDetails(o[1]); @@ -3144,7 +3240,7 @@ api.ServiceMeshControlPlaneManagement buildServiceMeshControlPlaneManagement() { final o = api.ServiceMeshControlPlaneManagement(); buildCounterServiceMeshControlPlaneManagement++; if (buildCounterServiceMeshControlPlaneManagement < 3) { - o.details = buildUnnamed31(); + o.details = buildUnnamed33(); o.implementation = 'foo'; o.state = 'foo'; } @@ -3156,7 +3252,7 @@ void checkServiceMeshControlPlaneManagement( api.ServiceMeshControlPlaneManagement o) { buildCounterServiceMeshControlPlaneManagement++; if (buildCounterServiceMeshControlPlaneManagement < 3) { - checkUnnamed31(o.details!); + checkUnnamed33(o.details!); unittest.expect( o.implementation!, unittest.equals('foo'), @@ -3169,12 +3265,12 @@ void checkServiceMeshControlPlaneManagement( buildCounterServiceMeshControlPlaneManagement--; } -core.List buildUnnamed32() => [ +core.List buildUnnamed34() => [ buildServiceMeshStatusDetails(), buildServiceMeshStatusDetails(), ]; -void checkUnnamed32(core.List o) { +void checkUnnamed34(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceMeshStatusDetails(o[0]); checkServiceMeshStatusDetails(o[1]); @@ -3185,7 +3281,7 @@ api.ServiceMeshDataPlaneManagement buildServiceMeshDataPlaneManagement() { final o = api.ServiceMeshDataPlaneManagement(); buildCounterServiceMeshDataPlaneManagement++; if (buildCounterServiceMeshDataPlaneManagement < 3) { - o.details = buildUnnamed32(); + o.details = buildUnnamed34(); o.state = 'foo'; } buildCounterServiceMeshDataPlaneManagement--; @@ -3195,7 +3291,7 @@ api.ServiceMeshDataPlaneManagement buildServiceMeshDataPlaneManagement() { void checkServiceMeshDataPlaneManagement(api.ServiceMeshDataPlaneManagement o) { buildCounterServiceMeshDataPlaneManagement++; if (buildCounterServiceMeshDataPlaneManagement < 3) { - checkUnnamed32(o.details!); + checkUnnamed34(o.details!); unittest.expect( o.state!, unittest.equals('foo'), @@ -3241,23 +3337,23 @@ void checkServiceMeshSpec(api.ServiceMeshSpec o) { buildCounterServiceMeshSpec--; } -core.List buildUnnamed33() => [ +core.List buildUnnamed35() => [ buildServiceMeshAnalysisMessage(), buildServiceMeshAnalysisMessage(), ]; -void checkUnnamed33(core.List o) { +void checkUnnamed35(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceMeshAnalysisMessage(o[0]); checkServiceMeshAnalysisMessage(o[1]); } -core.List buildUnnamed34() => [ +core.List buildUnnamed36() => [ buildServiceMeshCondition(), buildServiceMeshCondition(), ]; -void checkUnnamed34(core.List o) { +void checkUnnamed36(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceMeshCondition(o[0]); checkServiceMeshCondition(o[1]); @@ -3268,8 +3364,8 @@ api.ServiceMeshState buildServiceMeshState() { final o = api.ServiceMeshState(); buildCounterServiceMeshState++; if (buildCounterServiceMeshState < 3) { - o.analysisMessages = buildUnnamed33(); - o.conditions = buildUnnamed34(); + o.analysisMessages = buildUnnamed35(); + o.conditions = buildUnnamed36(); o.configApiVersion = 'foo'; o.controlPlaneManagement = buildServiceMeshControlPlaneManagement(); o.dataPlaneManagement = buildServiceMeshDataPlaneManagement(); @@ -3281,8 +3377,8 @@ api.ServiceMeshState buildServiceMeshState() { void checkServiceMeshState(api.ServiceMeshState o) { buildCounterServiceMeshState++; if (buildCounterServiceMeshState < 3) { - checkUnnamed33(o.analysisMessages!); - checkUnnamed34(o.conditions!); + checkUnnamed35(o.analysisMessages!); + checkUnnamed36(o.conditions!); unittest.expect( o.configApiVersion!, unittest.equals('foo'), @@ -3572,6 +3668,26 @@ void main() { }); }); + unittest.group('obj-schema-ConfigManagementContainerOverride', () { + unittest.test('to-json--from-json', () async { + final o = buildConfigManagementContainerOverride(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ConfigManagementContainerOverride.fromJson( + oJson as core.Map); + checkConfigManagementContainerOverride(od); + }); + }); + + unittest.group('obj-schema-ConfigManagementDeploymentOverride', () { + unittest.test('to-json--from-json', () async { + final o = buildConfigManagementDeploymentOverride(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ConfigManagementDeploymentOverride.fromJson( + oJson as core.Map); + checkConfigManagementDeploymentOverride(od); + }); + }); + unittest.group('obj-schema-ConfigManagementErrorResource', () { unittest.test('to-json--from-json', () async { final o = buildConfigManagementErrorResource(); diff --git a/generated/googleapis/test/healthcare/v1_test.dart b/generated/googleapis/test/healthcare/v1_test.dart index a9362f055..488344c4a 100644 --- a/generated/googleapis/test/healthcare/v1_test.dart +++ b/generated/googleapis/test/healthcare/v1_test.dart @@ -586,6 +586,28 @@ void checkBlobStorageSettings(api.BlobStorageSettings o) { buildCounterBlobStorageSettings--; } +core.int buildCounterBulkExportGcsDestination = 0; +api.BulkExportGcsDestination buildBulkExportGcsDestination() { + final o = api.BulkExportGcsDestination(); + buildCounterBulkExportGcsDestination++; + if (buildCounterBulkExportGcsDestination < 3) { + o.uriPrefix = 'foo'; + } + buildCounterBulkExportGcsDestination--; + return o; +} + +void checkBulkExportGcsDestination(api.BulkExportGcsDestination o) { + buildCounterBulkExportGcsDestination++; + if (buildCounterBulkExportGcsDestination < 3) { + unittest.expect( + o.uriPrefix!, + unittest.equals('foo'), + ); + } + buildCounterBulkExportGcsDestination--; +} + core.int buildCounterCancelOperationRequest = 0; api.CancelOperationRequest buildCancelOperationRequest() { final o = api.CancelOperationRequest(); @@ -1119,6 +1141,8 @@ api.Dataset buildDataset() { if (buildCounterDataset < 3) { o.encryptionSpec = buildEncryptionSpec(); o.name = 'foo'; + o.satisfiesPzi = true; + o.satisfiesPzs = true; o.timeZone = 'foo'; } buildCounterDataset--; @@ -1133,6 +1157,8 @@ void checkDataset(api.Dataset o) { o.name!, unittest.equals('foo'), ); + unittest.expect(o.satisfiesPzi!, unittest.isTrue); + unittest.expect(o.satisfiesPzs!, unittest.isTrue); unittest.expect( o.timeZone!, unittest.equals('foo'), @@ -2191,6 +2217,7 @@ api.FhirStore buildFhirStore() { final o = api.FhirStore(); buildCounterFhirStore++; if (buildCounterFhirStore < 3) { + o.bulkExportGcsDestination = buildBulkExportGcsDestination(); o.complexDataTypeReferenceParsing = 'foo'; o.consentConfig = buildConsentConfig(); o.defaultSearchHandlingStrict = true; @@ -2212,6 +2239,7 @@ api.FhirStore buildFhirStore() { void checkFhirStore(api.FhirStore o) { buildCounterFhirStore++; if (buildCounterFhirStore < 3) { + checkBulkExportGcsDestination(o.bulkExportGcsDestination!); unittest.expect( o.complexDataTypeReferenceParsing!, unittest.equals('foo'), @@ -5832,6 +5860,16 @@ void main() { }); }); + unittest.group('obj-schema-BulkExportGcsDestination', () { + unittest.test('to-json--from-json', () async { + final o = buildBulkExportGcsDestination(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BulkExportGcsDestination.fromJson( + oJson as core.Map); + checkBulkExportGcsDestination(od); + }); + }); + unittest.group('obj-schema-CancelOperationRequest', () { unittest.test('to-json--from-json', () async { final o = buildCancelOperationRequest(); @@ -12457,6 +12495,7 @@ void main() { .instances; final arg_parent = 'foo'; final arg_dicomWebPath = 'foo'; + final arg_viewport = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -12490,6 +12529,10 @@ void main() { ); } } + unittest.expect( + queryMap['viewport']!.first, + unittest.equals(arg_viewport), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -12502,7 +12545,7 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.retrieveRendered(arg_parent, arg_dicomWebPath, - $fields: arg_$fields); + viewport: arg_viewport, $fields: arg_$fields); checkHttpBody(response as api.HttpBody); }); }); @@ -12585,6 +12628,7 @@ void main() { .frames; final arg_parent = 'foo'; final arg_dicomWebPath = 'foo'; + final arg_viewport = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -12618,6 +12662,10 @@ void main() { ); } } + unittest.expect( + queryMap['viewport']!.first, + unittest.equals(arg_viewport), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -12630,7 +12678,7 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.retrieveRendered(arg_parent, arg_dicomWebPath, - $fields: arg_$fields); + viewport: arg_viewport, $fields: arg_$fields); checkHttpBody(response as api.HttpBody); }); }); @@ -12754,6 +12802,84 @@ void main() { checkOperation(response as api.Operation); }); + unittest.test('method--bulkExportGroup', () async { + final mock = HttpServerMock(); + final res = + api.CloudHealthcareApi(mock).projects.locations.datasets.fhirStores; + final arg_name = 'foo'; + final arg_P_since = 'foo'; + final arg_P_type = 'foo'; + final arg_organizeOutputBy = 'foo'; + final arg_outputFormat = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['_since']!.first, + unittest.equals(arg_P_since), + ); + unittest.expect( + queryMap['_type']!.first, + unittest.equals(arg_P_type), + ); + unittest.expect( + queryMap['organizeOutputBy']!.first, + unittest.equals(arg_organizeOutputBy), + ); + unittest.expect( + queryMap['outputFormat']!.first, + unittest.equals(arg_outputFormat), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildHttpBody()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.bulkExportGroup(arg_name, + P_since: arg_P_since, + P_type: arg_P_type, + organizeOutputBy: arg_organizeOutputBy, + outputFormat: arg_outputFormat, + $fields: arg_$fields); + checkHttpBody(response as api.HttpBody); + }); + unittest.test('method--create', () async { final mock = HttpServerMock(); final res = @@ -14180,6 +14306,82 @@ void main() { checkHttpBody(response as api.HttpBody); }); + unittest.test('method--bulkExport', () async { + final mock = HttpServerMock(); + final res = api.CloudHealthcareApi(mock) + .projects + .locations + .datasets + .fhirStores + .fhir; + final arg_name = 'foo'; + final arg_P_since = 'foo'; + final arg_P_type = 'foo'; + final arg_outputFormat = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['_since']!.first, + unittest.equals(arg_P_since), + ); + unittest.expect( + queryMap['_type']!.first, + unittest.equals(arg_P_type), + ); + unittest.expect( + queryMap['outputFormat']!.first, + unittest.equals(arg_outputFormat), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildHttpBody()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.bulkExport(arg_name, + P_since: arg_P_since, + P_type: arg_P_type, + outputFormat: arg_outputFormat, + $fields: arg_$fields); + checkHttpBody(response as api.HttpBody); + }); + unittest.test('method--capabilities', () async { final mock = HttpServerMock(); final res = api.CloudHealthcareApi(mock) @@ -15061,6 +15263,125 @@ void main() { }); }); + unittest.group( + 'resource-ProjectsLocationsDatasetsFhirStoresOperationsResource', () { + unittest.test('method--deleteFhirOperation', () async { + final mock = HttpServerMock(); + final res = api.CloudHealthcareApi(mock) + .projects + .locations + .datasets + .fhirStores + .operations; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildHttpBody()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.deleteFhirOperation(arg_name, $fields: arg_$fields); + checkHttpBody(response as api.HttpBody); + }); + + unittest.test('method--getFhirOperationStatus', () async { + final mock = HttpServerMock(); + final res = api.CloudHealthcareApi(mock) + .projects + .locations + .datasets + .fhirStores + .operations; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildHttpBody()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.getFhirOperationStatus(arg_name, $fields: arg_$fields); + checkHttpBody(response as api.HttpBody); + }); + }); + unittest.group('resource-ProjectsLocationsDatasetsHl7V2StoresResource', () { unittest.test('method--create', () async { final mock = HttpServerMock(); diff --git a/generated/googleapis/test/identitytoolkit/v1_test.dart b/generated/googleapis/test/identitytoolkit/v1_test.dart index 1fd0335b3..8d5798d07 100644 --- a/generated/googleapis/test/identitytoolkit/v1_test.dart +++ b/generated/googleapis/test/identitytoolkit/v1_test.dart @@ -904,6 +904,7 @@ api.GoogleCloudIdentitytoolkitV1GetOobCodeRequest o.iOSAppStoreId = 'foo'; o.iOSBundleId = 'foo'; o.idToken = 'foo'; + o.linkDomain = 'foo'; o.newEmail = 'foo'; o.recaptchaVersion = 'foo'; o.requestType = 'foo'; @@ -966,6 +967,10 @@ void checkGoogleCloudIdentitytoolkitV1GetOobCodeRequest( o.idToken!, unittest.equals('foo'), ); + unittest.expect( + o.linkDomain!, + unittest.equals('foo'), + ); unittest.expect( o.newEmail!, unittest.equals('foo'), diff --git a/generated/googleapis/test/identitytoolkit/v2_test.dart b/generated/googleapis/test/identitytoolkit/v2_test.dart index 0b52acc1b..c9eab9dbb 100644 --- a/generated/googleapis/test/identitytoolkit/v2_test.dart +++ b/generated/googleapis/test/identitytoolkit/v2_test.dart @@ -342,9 +342,12 @@ api.GoogleCloudIdentitytoolkitAdminV2Config o.blockingFunctions = buildGoogleCloudIdentitytoolkitAdminV2BlockingFunctionsConfig(); o.client = buildGoogleCloudIdentitytoolkitAdminV2ClientConfig(); + o.defaultHostingSite = 'foo'; o.emailPrivacyConfig = buildGoogleCloudIdentitytoolkitAdminV2EmailPrivacyConfig(); o.mfa = buildGoogleCloudIdentitytoolkitAdminV2MultiFactorAuthConfig(); + o.mobileLinksConfig = + buildGoogleCloudIdentitytoolkitAdminV2MobileLinksConfig(); o.monitoring = buildGoogleCloudIdentitytoolkitAdminV2MonitoringConfig(); o.multiTenant = buildGoogleCloudIdentitytoolkitAdminV2MultiTenantConfig(); o.name = 'foo'; @@ -370,9 +373,15 @@ void checkGoogleCloudIdentitytoolkitAdminV2Config( checkGoogleCloudIdentitytoolkitAdminV2BlockingFunctionsConfig( o.blockingFunctions!); checkGoogleCloudIdentitytoolkitAdminV2ClientConfig(o.client!); + unittest.expect( + o.defaultHostingSite!, + unittest.equals('foo'), + ); checkGoogleCloudIdentitytoolkitAdminV2EmailPrivacyConfig( o.emailPrivacyConfig!); checkGoogleCloudIdentitytoolkitAdminV2MultiFactorAuthConfig(o.mfa!); + checkGoogleCloudIdentitytoolkitAdminV2MobileLinksConfig( + o.mobileLinksConfig!); checkGoogleCloudIdentitytoolkitAdminV2MonitoringConfig(o.monitoring!); checkGoogleCloudIdentitytoolkitAdminV2MultiTenantConfig(o.multiTenant!); unittest.expect( @@ -1095,6 +1104,30 @@ void checkGoogleCloudIdentitytoolkitAdminV2ListTenantsResponse( buildCounterGoogleCloudIdentitytoolkitAdminV2ListTenantsResponse--; } +core.int buildCounterGoogleCloudIdentitytoolkitAdminV2MobileLinksConfig = 0; +api.GoogleCloudIdentitytoolkitAdminV2MobileLinksConfig + buildGoogleCloudIdentitytoolkitAdminV2MobileLinksConfig() { + final o = api.GoogleCloudIdentitytoolkitAdminV2MobileLinksConfig(); + buildCounterGoogleCloudIdentitytoolkitAdminV2MobileLinksConfig++; + if (buildCounterGoogleCloudIdentitytoolkitAdminV2MobileLinksConfig < 3) { + o.domain = 'foo'; + } + buildCounterGoogleCloudIdentitytoolkitAdminV2MobileLinksConfig--; + return o; +} + +void checkGoogleCloudIdentitytoolkitAdminV2MobileLinksConfig( + api.GoogleCloudIdentitytoolkitAdminV2MobileLinksConfig o) { + buildCounterGoogleCloudIdentitytoolkitAdminV2MobileLinksConfig++; + if (buildCounterGoogleCloudIdentitytoolkitAdminV2MobileLinksConfig < 3) { + unittest.expect( + o.domain!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudIdentitytoolkitAdminV2MobileLinksConfig--; +} + core.int buildCounterGoogleCloudIdentitytoolkitAdminV2MonitoringConfig = 0; api.GoogleCloudIdentitytoolkitAdminV2MonitoringConfig buildGoogleCloudIdentitytoolkitAdminV2MonitoringConfig() { @@ -2024,6 +2057,8 @@ api.GoogleCloudIdentitytoolkitAdminV2Tenant o.hashConfig = buildGoogleCloudIdentitytoolkitAdminV2HashConfig(); o.inheritance = buildGoogleCloudIdentitytoolkitAdminV2Inheritance(); o.mfaConfig = buildGoogleCloudIdentitytoolkitAdminV2MultiFactorAuthConfig(); + o.mobileLinksConfig = + buildGoogleCloudIdentitytoolkitAdminV2MobileLinksConfig(); o.monitoring = buildGoogleCloudIdentitytoolkitAdminV2MonitoringConfig(); o.name = 'foo'; o.passwordPolicyConfig = @@ -2055,6 +2090,8 @@ void checkGoogleCloudIdentitytoolkitAdminV2Tenant( checkGoogleCloudIdentitytoolkitAdminV2HashConfig(o.hashConfig!); checkGoogleCloudIdentitytoolkitAdminV2Inheritance(o.inheritance!); checkGoogleCloudIdentitytoolkitAdminV2MultiFactorAuthConfig(o.mfaConfig!); + checkGoogleCloudIdentitytoolkitAdminV2MobileLinksConfig( + o.mobileLinksConfig!); checkGoogleCloudIdentitytoolkitAdminV2MonitoringConfig(o.monitoring!); unittest.expect( o.name!, @@ -3770,6 +3807,18 @@ void main() { }); }); + unittest.group( + 'obj-schema-GoogleCloudIdentitytoolkitAdminV2MobileLinksConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudIdentitytoolkitAdminV2MobileLinksConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.GoogleCloudIdentitytoolkitAdminV2MobileLinksConfig.fromJson( + oJson as core.Map); + checkGoogleCloudIdentitytoolkitAdminV2MobileLinksConfig(od); + }); + }); + unittest.group('obj-schema-GoogleCloudIdentitytoolkitAdminV2MonitoringConfig', () { unittest.test('to-json--from-json', () async { diff --git a/generated/googleapis/test/ids/v1_test.dart b/generated/googleapis/test/ids/v1_test.dart index 1c73c044a..ffc2e8d2f 100644 --- a/generated/googleapis/test/ids/v1_test.dart +++ b/generated/googleapis/test/ids/v1_test.dart @@ -26,125 +26,6 @@ import 'package:test/test.dart' as unittest; import '../test_shared.dart'; -core.List buildUnnamed0() => [ - buildAuditLogConfig(), - buildAuditLogConfig(), - ]; - -void checkUnnamed0(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - checkAuditLogConfig(o[0]); - checkAuditLogConfig(o[1]); -} - -core.int buildCounterAuditConfig = 0; -api.AuditConfig buildAuditConfig() { - final o = api.AuditConfig(); - buildCounterAuditConfig++; - if (buildCounterAuditConfig < 3) { - o.auditLogConfigs = buildUnnamed0(); - o.service = 'foo'; - } - buildCounterAuditConfig--; - return o; -} - -void checkAuditConfig(api.AuditConfig o) { - buildCounterAuditConfig++; - if (buildCounterAuditConfig < 3) { - checkUnnamed0(o.auditLogConfigs!); - unittest.expect( - o.service!, - unittest.equals('foo'), - ); - } - buildCounterAuditConfig--; -} - -core.List buildUnnamed1() => [ - 'foo', - 'foo', - ]; - -void checkUnnamed1(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - unittest.expect( - o[0], - unittest.equals('foo'), - ); - unittest.expect( - o[1], - unittest.equals('foo'), - ); -} - -core.int buildCounterAuditLogConfig = 0; -api.AuditLogConfig buildAuditLogConfig() { - final o = api.AuditLogConfig(); - buildCounterAuditLogConfig++; - if (buildCounterAuditLogConfig < 3) { - o.exemptedMembers = buildUnnamed1(); - o.logType = 'foo'; - } - buildCounterAuditLogConfig--; - return o; -} - -void checkAuditLogConfig(api.AuditLogConfig o) { - buildCounterAuditLogConfig++; - if (buildCounterAuditLogConfig < 3) { - checkUnnamed1(o.exemptedMembers!); - unittest.expect( - o.logType!, - unittest.equals('foo'), - ); - } - buildCounterAuditLogConfig--; -} - -core.List buildUnnamed2() => [ - 'foo', - 'foo', - ]; - -void checkUnnamed2(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - unittest.expect( - o[0], - unittest.equals('foo'), - ); - unittest.expect( - o[1], - unittest.equals('foo'), - ); -} - -core.int buildCounterBinding = 0; -api.Binding buildBinding() { - final o = api.Binding(); - buildCounterBinding++; - if (buildCounterBinding < 3) { - o.condition = buildExpr(); - o.members = buildUnnamed2(); - o.role = 'foo'; - } - buildCounterBinding--; - return o; -} - -void checkBinding(api.Binding o) { - buildCounterBinding++; - if (buildCounterBinding < 3) { - checkExpr(o.condition!); - checkUnnamed2(o.members!); - unittest.expect( - o.role!, - unittest.equals('foo'), - ); - } - buildCounterBinding--; -} - core.int buildCounterCancelOperationRequest = 0; api.CancelOperationRequest buildCancelOperationRequest() { final o = api.CancelOperationRequest(); @@ -175,12 +56,12 @@ void checkEmpty(api.Empty o) { buildCounterEmpty--; } -core.Map buildUnnamed3() => { +core.Map buildUnnamed0() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed3(core.Map o) { +void checkUnnamed0(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -192,12 +73,12 @@ void checkUnnamed3(core.Map o) { ); } -core.List buildUnnamed4() => [ +core.List buildUnnamed1() => [ 'foo', 'foo', ]; -void checkUnnamed4(core.List o) { +void checkUnnamed1(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -218,14 +99,14 @@ api.Endpoint buildEndpoint() { o.description = 'foo'; o.endpointForwardingRule = 'foo'; o.endpointIp = 'foo'; - o.labels = buildUnnamed3(); + o.labels = buildUnnamed0(); o.name = 'foo'; o.network = 'foo'; o.satisfiesPzi = true; o.satisfiesPzs = true; o.severity = 'foo'; o.state = 'foo'; - o.threatExceptions = buildUnnamed4(); + o.threatExceptions = buildUnnamed1(); o.trafficLogs = true; o.updateTime = 'foo'; } @@ -252,7 +133,7 @@ void checkEndpoint(api.Endpoint o) { o.endpointIp!, unittest.equals('foo'), ); - checkUnnamed3(o.labels!); + checkUnnamed0(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -271,7 +152,7 @@ void checkEndpoint(api.Endpoint o) { o.state!, unittest.equals('foo'), ); - checkUnnamed4(o.threatExceptions!); + checkUnnamed1(o.threatExceptions!); unittest.expect(o.trafficLogs!, unittest.isTrue); unittest.expect( o.updateTime!, @@ -281,60 +162,23 @@ void checkEndpoint(api.Endpoint o) { buildCounterEndpoint--; } -core.int buildCounterExpr = 0; -api.Expr buildExpr() { - final o = api.Expr(); - buildCounterExpr++; - if (buildCounterExpr < 3) { - o.description = 'foo'; - o.expression = 'foo'; - o.location = 'foo'; - o.title = 'foo'; - } - buildCounterExpr--; - return o; -} - -void checkExpr(api.Expr o) { - buildCounterExpr++; - if (buildCounterExpr < 3) { - unittest.expect( - o.description!, - unittest.equals('foo'), - ); - unittest.expect( - o.expression!, - unittest.equals('foo'), - ); - unittest.expect( - o.location!, - unittest.equals('foo'), - ); - unittest.expect( - o.title!, - unittest.equals('foo'), - ); - } - buildCounterExpr--; -} - -core.List buildUnnamed5() => [ +core.List buildUnnamed2() => [ buildEndpoint(), buildEndpoint(), ]; -void checkUnnamed5(core.List o) { +void checkUnnamed2(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEndpoint(o[0]); checkEndpoint(o[1]); } -core.List buildUnnamed6() => [ +core.List buildUnnamed3() => [ 'foo', 'foo', ]; -void checkUnnamed6(core.List o) { +void checkUnnamed3(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -351,9 +195,9 @@ api.ListEndpointsResponse buildListEndpointsResponse() { final o = api.ListEndpointsResponse(); buildCounterListEndpointsResponse++; if (buildCounterListEndpointsResponse < 3) { - o.endpoints = buildUnnamed5(); + o.endpoints = buildUnnamed2(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed6(); + o.unreachable = buildUnnamed3(); } buildCounterListEndpointsResponse--; return o; @@ -362,22 +206,22 @@ api.ListEndpointsResponse buildListEndpointsResponse() { void checkListEndpointsResponse(api.ListEndpointsResponse o) { buildCounterListEndpointsResponse++; if (buildCounterListEndpointsResponse < 3) { - checkUnnamed5(o.endpoints!); + checkUnnamed2(o.endpoints!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed6(o.unreachable!); + checkUnnamed3(o.unreachable!); } buildCounterListEndpointsResponse--; } -core.List buildUnnamed7() => [ +core.List buildUnnamed4() => [ buildLocation(), buildLocation(), ]; -void checkUnnamed7(core.List o) { +void checkUnnamed4(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLocation(o[0]); checkLocation(o[1]); @@ -388,7 +232,7 @@ api.ListLocationsResponse buildListLocationsResponse() { final o = api.ListLocationsResponse(); buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - o.locations = buildUnnamed7(); + o.locations = buildUnnamed4(); o.nextPageToken = 'foo'; } buildCounterListLocationsResponse--; @@ -398,7 +242,7 @@ api.ListLocationsResponse buildListLocationsResponse() { void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - checkUnnamed7(o.locations!); + checkUnnamed4(o.locations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -407,12 +251,12 @@ void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse--; } -core.List buildUnnamed8() => [ +core.List buildUnnamed5() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed8(core.List o) { +void checkUnnamed5(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -424,7 +268,7 @@ api.ListOperationsResponse buildListOperationsResponse() { buildCounterListOperationsResponse++; if (buildCounterListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed8(); + o.operations = buildUnnamed5(); } buildCounterListOperationsResponse--; return o; @@ -437,17 +281,17 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed8(o.operations!); + checkUnnamed5(o.operations!); } buildCounterListOperationsResponse--; } -core.Map buildUnnamed9() => { +core.Map buildUnnamed6() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed9(core.Map o) { +void checkUnnamed6(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -459,7 +303,7 @@ void checkUnnamed9(core.Map o) { ); } -core.Map buildUnnamed10() => { +core.Map buildUnnamed7() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -472,7 +316,7 @@ core.Map buildUnnamed10() => { }, }; -void checkUnnamed10(core.Map o) { +void checkUnnamed7(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -510,9 +354,9 @@ api.Location buildLocation() { buildCounterLocation++; if (buildCounterLocation < 3) { o.displayName = 'foo'; - o.labels = buildUnnamed9(); + o.labels = buildUnnamed6(); o.locationId = 'foo'; - o.metadata = buildUnnamed10(); + o.metadata = buildUnnamed7(); o.name = 'foo'; } buildCounterLocation--; @@ -526,12 +370,12 @@ void checkLocation(api.Location o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed9(o.labels!); + checkUnnamed6(o.labels!); unittest.expect( o.locationId!, unittest.equals('foo'), ); - checkUnnamed10(o.metadata!); + checkUnnamed7(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), @@ -540,7 +384,7 @@ void checkLocation(api.Location o) { buildCounterLocation--; } -core.Map buildUnnamed11() => { +core.Map buildUnnamed8() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -553,7 +397,7 @@ core.Map buildUnnamed11() => { }, }; -void checkUnnamed11(core.Map o) { +void checkUnnamed8(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -585,7 +429,7 @@ void checkUnnamed11(core.Map o) { ); } -core.Map buildUnnamed12() => { +core.Map buildUnnamed9() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -598,7 +442,7 @@ core.Map buildUnnamed12() => { }, }; -void checkUnnamed12(core.Map o) { +void checkUnnamed9(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -637,9 +481,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed11(); + o.metadata = buildUnnamed8(); o.name = 'foo'; - o.response = buildUnnamed12(); + o.response = buildUnnamed9(); } buildCounterOperation--; return o; @@ -650,94 +494,17 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed11(o.metadata!); + checkUnnamed8(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed12(o.response!); + checkUnnamed9(o.response!); } buildCounterOperation--; } -core.List buildUnnamed13() => [ - buildAuditConfig(), - buildAuditConfig(), - ]; - -void checkUnnamed13(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - checkAuditConfig(o[0]); - checkAuditConfig(o[1]); -} - -core.List buildUnnamed14() => [ - buildBinding(), - buildBinding(), - ]; - -void checkUnnamed14(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - checkBinding(o[0]); - checkBinding(o[1]); -} - -core.int buildCounterPolicy = 0; -api.Policy buildPolicy() { - final o = api.Policy(); - buildCounterPolicy++; - if (buildCounterPolicy < 3) { - o.auditConfigs = buildUnnamed13(); - o.bindings = buildUnnamed14(); - o.etag = 'foo'; - o.version = 42; - } - buildCounterPolicy--; - return o; -} - -void checkPolicy(api.Policy o) { - buildCounterPolicy++; - if (buildCounterPolicy < 3) { - checkUnnamed13(o.auditConfigs!); - checkUnnamed14(o.bindings!); - unittest.expect( - o.etag!, - unittest.equals('foo'), - ); - unittest.expect( - o.version!, - unittest.equals(42), - ); - } - buildCounterPolicy--; -} - -core.int buildCounterSetIamPolicyRequest = 0; -api.SetIamPolicyRequest buildSetIamPolicyRequest() { - final o = api.SetIamPolicyRequest(); - buildCounterSetIamPolicyRequest++; - if (buildCounterSetIamPolicyRequest < 3) { - o.policy = buildPolicy(); - o.updateMask = 'foo'; - } - buildCounterSetIamPolicyRequest--; - return o; -} - -void checkSetIamPolicyRequest(api.SetIamPolicyRequest o) { - buildCounterSetIamPolicyRequest++; - if (buildCounterSetIamPolicyRequest < 3) { - checkPolicy(o.policy!); - unittest.expect( - o.updateMask!, - unittest.equals('foo'), - ); - } - buildCounterSetIamPolicyRequest--; -} - -core.Map buildUnnamed15() => { +core.Map buildUnnamed10() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -750,7 +517,7 @@ core.Map buildUnnamed15() => { }, }; -void checkUnnamed15(core.Map o) { +void checkUnnamed10(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -782,15 +549,15 @@ void checkUnnamed15(core.Map o) { ); } -core.List> buildUnnamed16() => [ - buildUnnamed15(), - buildUnnamed15(), +core.List> buildUnnamed11() => [ + buildUnnamed10(), + buildUnnamed10(), ]; -void checkUnnamed16(core.List> o) { +void checkUnnamed11(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed15(o[0]); - checkUnnamed15(o[1]); + checkUnnamed10(o[0]); + checkUnnamed10(o[1]); } core.int buildCounterStatus = 0; @@ -799,7 +566,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed16(); + o.details = buildUnnamed11(); o.message = 'foo'; } buildCounterStatus--; @@ -813,7 +580,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed16(o.details!); + checkUnnamed11(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -822,109 +589,7 @@ void checkStatus(api.Status o) { buildCounterStatus--; } -core.List buildUnnamed17() => [ - 'foo', - 'foo', - ]; - -void checkUnnamed17(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - unittest.expect( - o[0], - unittest.equals('foo'), - ); - unittest.expect( - o[1], - unittest.equals('foo'), - ); -} - -core.int buildCounterTestIamPermissionsRequest = 0; -api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { - final o = api.TestIamPermissionsRequest(); - buildCounterTestIamPermissionsRequest++; - if (buildCounterTestIamPermissionsRequest < 3) { - o.permissions = buildUnnamed17(); - } - buildCounterTestIamPermissionsRequest--; - return o; -} - -void checkTestIamPermissionsRequest(api.TestIamPermissionsRequest o) { - buildCounterTestIamPermissionsRequest++; - if (buildCounterTestIamPermissionsRequest < 3) { - checkUnnamed17(o.permissions!); - } - buildCounterTestIamPermissionsRequest--; -} - -core.List buildUnnamed18() => [ - 'foo', - 'foo', - ]; - -void checkUnnamed18(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - unittest.expect( - o[0], - unittest.equals('foo'), - ); - unittest.expect( - o[1], - unittest.equals('foo'), - ); -} - -core.int buildCounterTestIamPermissionsResponse = 0; -api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { - final o = api.TestIamPermissionsResponse(); - buildCounterTestIamPermissionsResponse++; - if (buildCounterTestIamPermissionsResponse < 3) { - o.permissions = buildUnnamed18(); - } - buildCounterTestIamPermissionsResponse--; - return o; -} - -void checkTestIamPermissionsResponse(api.TestIamPermissionsResponse o) { - buildCounterTestIamPermissionsResponse++; - if (buildCounterTestIamPermissionsResponse < 3) { - checkUnnamed18(o.permissions!); - } - buildCounterTestIamPermissionsResponse--; -} - void main() { - unittest.group('obj-schema-AuditConfig', () { - unittest.test('to-json--from-json', () async { - final o = buildAuditConfig(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AuditConfig.fromJson( - oJson as core.Map); - checkAuditConfig(od); - }); - }); - - unittest.group('obj-schema-AuditLogConfig', () { - unittest.test('to-json--from-json', () async { - final o = buildAuditLogConfig(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AuditLogConfig.fromJson( - oJson as core.Map); - checkAuditLogConfig(od); - }); - }); - - unittest.group('obj-schema-Binding', () { - unittest.test('to-json--from-json', () async { - final o = buildBinding(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = - api.Binding.fromJson(oJson as core.Map); - checkBinding(od); - }); - }); - unittest.group('obj-schema-CancelOperationRequest', () { unittest.test('to-json--from-json', () async { final o = buildCancelOperationRequest(); @@ -955,16 +620,6 @@ void main() { }); }); - unittest.group('obj-schema-Expr', () { - unittest.test('to-json--from-json', () async { - final o = buildExpr(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = - api.Expr.fromJson(oJson as core.Map); - checkExpr(od); - }); - }); - unittest.group('obj-schema-ListEndpointsResponse', () { unittest.test('to-json--from-json', () async { final o = buildListEndpointsResponse(); @@ -1015,26 +670,6 @@ void main() { }); }); - unittest.group('obj-schema-Policy', () { - unittest.test('to-json--from-json', () async { - final o = buildPolicy(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = - api.Policy.fromJson(oJson as core.Map); - checkPolicy(od); - }); - }); - - unittest.group('obj-schema-SetIamPolicyRequest', () { - unittest.test('to-json--from-json', () async { - final o = buildSetIamPolicyRequest(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.SetIamPolicyRequest.fromJson( - oJson as core.Map); - checkSetIamPolicyRequest(od); - }); - }); - unittest.group('obj-schema-Status', () { unittest.test('to-json--from-json', () async { final o = buildStatus(); @@ -1045,26 +680,6 @@ void main() { }); }); - unittest.group('obj-schema-TestIamPermissionsRequest', () { - unittest.test('to-json--from-json', () async { - final o = buildTestIamPermissionsRequest(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.TestIamPermissionsRequest.fromJson( - oJson as core.Map); - checkTestIamPermissionsRequest(od); - }); - }); - - unittest.group('obj-schema-TestIamPermissionsResponse', () { - unittest.test('to-json--from-json', () async { - final o = buildTestIamPermissionsResponse(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.TestIamPermissionsResponse.fromJson( - oJson as core.Map); - checkTestIamPermissionsResponse(od); - }); - }); - unittest.group('resource-ProjectsLocationsResource', () { unittest.test('method--get', () async { final mock = HttpServerMock(); @@ -1371,65 +986,6 @@ void main() { checkEndpoint(response as api.Endpoint); }); - unittest.test('method--getIamPolicy', () async { - final mock = HttpServerMock(); - final res = api.IDSApi(mock).projects.locations.endpoints; - final arg_resource = 'foo'; - final arg_options_requestedPolicyVersion = 42; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 3), - unittest.equals('v1/'), - ); - pathOffset += 3; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - core.int.parse(queryMap['options.requestedPolicyVersion']!.first), - unittest.equals(arg_options_requestedPolicyVersion), - ); - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildPolicy()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.getIamPolicy(arg_resource, - options_requestedPolicyVersion: arg_options_requestedPolicyVersion, - $fields: arg_$fields); - checkPolicy(response as api.Policy); - }); - unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.IDSApi(mock).projects.locations.endpoints; @@ -1576,123 +1132,6 @@ void main() { $fields: arg_$fields); checkOperation(response as api.Operation); }); - - unittest.test('method--setIamPolicy', () async { - final mock = HttpServerMock(); - final res = api.IDSApi(mock).projects.locations.endpoints; - final arg_request = buildSetIamPolicyRequest(); - final arg_resource = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.SetIamPolicyRequest.fromJson( - json as core.Map); - checkSetIamPolicyRequest(obj); - - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 3), - unittest.equals('v1/'), - ); - pathOffset += 3; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildPolicy()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.setIamPolicy(arg_request, arg_resource, - $fields: arg_$fields); - checkPolicy(response as api.Policy); - }); - - unittest.test('method--testIamPermissions', () async { - final mock = HttpServerMock(); - final res = api.IDSApi(mock).projects.locations.endpoints; - final arg_request = buildTestIamPermissionsRequest(); - final arg_resource = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.TestIamPermissionsRequest.fromJson( - json as core.Map); - checkTestIamPermissionsRequest(obj); - - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 3), - unittest.equals('v1/'), - ); - pathOffset += 3; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildTestIamPermissionsResponse()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.testIamPermissions(arg_request, arg_resource, - $fields: arg_$fields); - checkTestIamPermissionsResponse( - response as api.TestIamPermissionsResponse); - }); }); unittest.group('resource-ProjectsLocationsOperationsResource', () { diff --git a/generated/googleapis/test/integrations/v1_test.dart b/generated/googleapis/test/integrations/v1_test.dart index 6045b3f3b..339ec3d97 100644 --- a/generated/googleapis/test/integrations/v1_test.dart +++ b/generated/googleapis/test/integrations/v1_test.dart @@ -5096,6 +5096,27 @@ void checkGoogleCloudConnectorsV1EncryptionKey( buildCounterGoogleCloudConnectorsV1EncryptionKey--; } +core.int buildCounterGoogleCloudConnectorsV1EnrichmentConfig = 0; +api.GoogleCloudConnectorsV1EnrichmentConfig + buildGoogleCloudConnectorsV1EnrichmentConfig() { + final o = api.GoogleCloudConnectorsV1EnrichmentConfig(); + buildCounterGoogleCloudConnectorsV1EnrichmentConfig++; + if (buildCounterGoogleCloudConnectorsV1EnrichmentConfig < 3) { + o.appendAcl = true; + } + buildCounterGoogleCloudConnectorsV1EnrichmentConfig--; + return o; +} + +void checkGoogleCloudConnectorsV1EnrichmentConfig( + api.GoogleCloudConnectorsV1EnrichmentConfig o) { + buildCounterGoogleCloudConnectorsV1EnrichmentConfig++; + if (buildCounterGoogleCloudConnectorsV1EnrichmentConfig < 3) { + unittest.expect(o.appendAcl!, unittest.isTrue); + } + buildCounterGoogleCloudConnectorsV1EnrichmentConfig--; +} + core.List buildUnnamed65() => [ buildGoogleCloudConnectorsV1ConfigVariable(), buildGoogleCloudConnectorsV1ConfigVariable(), @@ -5117,6 +5138,7 @@ api.GoogleCloudConnectorsV1EventingConfig o.authConfig = buildGoogleCloudConnectorsV1AuthConfig(); o.deadLetterConfig = buildGoogleCloudConnectorsV1EventingConfigDeadLetterConfig(); + o.enrichmentConfig = buildGoogleCloudConnectorsV1EnrichmentConfig(); o.enrichmentEnabled = true; o.eventsListenerIngressEndpoint = 'foo'; o.listenerAuthConfig = buildGoogleCloudConnectorsV1AuthConfig(); @@ -5137,6 +5159,7 @@ void checkGoogleCloudConnectorsV1EventingConfig( checkGoogleCloudConnectorsV1AuthConfig(o.authConfig!); checkGoogleCloudConnectorsV1EventingConfigDeadLetterConfig( o.deadLetterConfig!); + checkGoogleCloudConnectorsV1EnrichmentConfig(o.enrichmentConfig!); unittest.expect(o.enrichmentEnabled!, unittest.isTrue); unittest.expect( o.eventsListenerIngressEndpoint!, @@ -7065,6 +7088,19 @@ void checkUnnamed83( checkEnterpriseCrmFrontendsEventbusProtoParameterEntry(o[1]); } +core.Map + buildUnnamed84() => { + 'x': buildGoogleCloudIntegrationsV1alphaValueType(), + 'y': buildGoogleCloudIntegrationsV1alphaValueType(), + }; + +void checkUnnamed84( + core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudIntegrationsV1alphaValueType(o['x']!); + checkGoogleCloudIntegrationsV1alphaValueType(o['y']!); +} + core.int buildCounterGoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse = 0; api.GoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse @@ -7079,6 +7115,7 @@ api.GoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse o.executionId = 'foo'; o.outputParameters = buildUnnamed82(); o.parameterEntries = buildUnnamed83(); + o.parameters = buildUnnamed84(); } buildCounterGoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse--; return o; @@ -7097,17 +7134,18 @@ void checkGoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse( ); checkUnnamed82(o.outputParameters!); checkUnnamed83(o.parameterEntries!); + checkUnnamed84(o.parameters!); } buildCounterGoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse--; } core.Map - buildUnnamed84() => { + buildUnnamed85() => { 'x': buildGoogleCloudIntegrationsV1alphaValueType(), 'y': buildGoogleCloudIntegrationsV1alphaValueType(), }; -void checkUnnamed84( +void checkUnnamed85( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaValueType(o['x']!); @@ -7120,7 +7158,7 @@ api.GoogleCloudIntegrationsV1alphaExecuteTestCaseRequest final o = api.GoogleCloudIntegrationsV1alphaExecuteTestCaseRequest(); buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCaseRequest++; if (buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCaseRequest < 3) { - o.inputParameters = buildUnnamed84(); + o.inputParameters = buildUnnamed85(); } buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCaseRequest--; return o; @@ -7130,25 +7168,25 @@ void checkGoogleCloudIntegrationsV1alphaExecuteTestCaseRequest( api.GoogleCloudIntegrationsV1alphaExecuteTestCaseRequest o) { buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCaseRequest++; if (buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCaseRequest < 3) { - checkUnnamed84(o.inputParameters!); + checkUnnamed85(o.inputParameters!); } buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCaseRequest--; } -core.List buildUnnamed85() => +core.List buildUnnamed86() => [ buildGoogleCloudIntegrationsV1alphaAssertionResult(), buildGoogleCloudIntegrationsV1alphaAssertionResult(), ]; -void checkUnnamed85( +void checkUnnamed86( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaAssertionResult(o[0]); checkGoogleCloudIntegrationsV1alphaAssertionResult(o[1]); } -core.Map buildUnnamed86() => { +core.Map buildUnnamed87() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -7161,7 +7199,7 @@ core.Map buildUnnamed86() => { }, }; -void checkUnnamed86(core.Map o) { +void checkUnnamed87(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted13 = (o['x']!) as core.Map; unittest.expect(casted13, unittest.hasLength(3)); @@ -7199,9 +7237,9 @@ api.GoogleCloudIntegrationsV1alphaExecuteTestCaseResponse final o = api.GoogleCloudIntegrationsV1alphaExecuteTestCaseResponse(); buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCaseResponse++; if (buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCaseResponse < 3) { - o.assertionResults = buildUnnamed85(); + o.assertionResults = buildUnnamed86(); o.executionId = 'foo'; - o.outputParameters = buildUnnamed86(); + o.outputParameters = buildUnnamed87(); o.testExecutionState = 'foo'; } buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCaseResponse--; @@ -7212,12 +7250,12 @@ void checkGoogleCloudIntegrationsV1alphaExecuteTestCaseResponse( api.GoogleCloudIntegrationsV1alphaExecuteTestCaseResponse o) { buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCaseResponse++; if (buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCaseResponse < 3) { - checkUnnamed85(o.assertionResults!); + checkUnnamed86(o.assertionResults!); unittest.expect( o.executionId!, unittest.equals('foo'), ); - checkUnnamed86(o.outputParameters!); + checkUnnamed87(o.outputParameters!); unittest.expect( o.testExecutionState!, unittest.equals('foo'), @@ -7226,24 +7264,75 @@ void checkGoogleCloudIntegrationsV1alphaExecuteTestCaseResponse( buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCaseResponse--; } -core.List buildUnnamed87() => [ +core.int buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCasesRequest = 0; +api.GoogleCloudIntegrationsV1alphaExecuteTestCasesRequest + buildGoogleCloudIntegrationsV1alphaExecuteTestCasesRequest() { + final o = api.GoogleCloudIntegrationsV1alphaExecuteTestCasesRequest(); + buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCasesRequest++; + if (buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCasesRequest < 3) {} + buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCasesRequest--; + return o; +} + +void checkGoogleCloudIntegrationsV1alphaExecuteTestCasesRequest( + api.GoogleCloudIntegrationsV1alphaExecuteTestCasesRequest o) { + buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCasesRequest++; + if (buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCasesRequest < 3) {} + buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCasesRequest--; +} + +core.List + buildUnnamed88() => [ + buildGoogleCloudIntegrationsV1alphaExecuteTestCaseResponse(), + buildGoogleCloudIntegrationsV1alphaExecuteTestCaseResponse(), + ]; + +void checkUnnamed88( + core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudIntegrationsV1alphaExecuteTestCaseResponse(o[0]); + checkGoogleCloudIntegrationsV1alphaExecuteTestCaseResponse(o[1]); +} + +core.int buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCasesResponse = 0; +api.GoogleCloudIntegrationsV1alphaExecuteTestCasesResponse + buildGoogleCloudIntegrationsV1alphaExecuteTestCasesResponse() { + final o = api.GoogleCloudIntegrationsV1alphaExecuteTestCasesResponse(); + buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCasesResponse++; + if (buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCasesResponse < 3) { + o.executeTestCaseResponses = buildUnnamed88(); + } + buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCasesResponse--; + return o; +} + +void checkGoogleCloudIntegrationsV1alphaExecuteTestCasesResponse( + api.GoogleCloudIntegrationsV1alphaExecuteTestCasesResponse o) { + buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCasesResponse++; + if (buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCasesResponse < 3) { + checkUnnamed88(o.executeTestCaseResponses!); + } + buildCounterGoogleCloudIntegrationsV1alphaExecuteTestCasesResponse--; +} + +core.List buildUnnamed89() => [ buildGoogleCloudIntegrationsV1alphaExecution(), buildGoogleCloudIntegrationsV1alphaExecution(), ]; -void checkUnnamed87(core.List o) { +void checkUnnamed89(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaExecution(o[0]); checkGoogleCloudIntegrationsV1alphaExecution(o[1]); } core.Map - buildUnnamed88() => { + buildUnnamed90() => { 'x': buildGoogleCloudIntegrationsV1alphaValueType(), 'y': buildGoogleCloudIntegrationsV1alphaValueType(), }; -void checkUnnamed88( +void checkUnnamed90( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaValueType(o['x']!); @@ -7251,12 +7340,12 @@ void checkUnnamed88( } core.List - buildUnnamed89() => [ + buildUnnamed91() => [ buildEnterpriseCrmFrontendsEventbusProtoParameterEntry(), buildEnterpriseCrmFrontendsEventbusProtoParameterEntry(), ]; -void checkUnnamed89( +void checkUnnamed91( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEnterpriseCrmFrontendsEventbusProtoParameterEntry(o[0]); @@ -7264,12 +7353,12 @@ void checkUnnamed89( } core.Map - buildUnnamed90() => { + buildUnnamed92() => { 'x': buildGoogleCloudIntegrationsV1alphaValueType(), 'y': buildGoogleCloudIntegrationsV1alphaValueType(), }; -void checkUnnamed90( +void checkUnnamed92( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaValueType(o['x']!); @@ -7277,12 +7366,12 @@ void checkUnnamed90( } core.List - buildUnnamed91() => [ + buildUnnamed93() => [ buildEnterpriseCrmFrontendsEventbusProtoParameterEntry(), buildEnterpriseCrmFrontendsEventbusProtoParameterEntry(), ]; -void checkUnnamed91( +void checkUnnamed93( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEnterpriseCrmFrontendsEventbusProtoParameterEntry(o[0]); @@ -7295,10 +7384,11 @@ api.GoogleCloudIntegrationsV1alphaExecution final o = api.GoogleCloudIntegrationsV1alphaExecution(); buildCounterGoogleCloudIntegrationsV1alphaExecution++; if (buildCounterGoogleCloudIntegrationsV1alphaExecution < 3) { + o.cloudKmsKey = 'foo'; o.cloudLoggingDetails = buildGoogleCloudIntegrationsV1alphaCloudLoggingDetails(); o.createTime = 'foo'; - o.directSubExecutions = buildUnnamed87(); + o.directSubExecutions = buildUnnamed89(); o.eventExecutionDetails = buildEnterpriseCrmEventbusProtoEventExecutionDetails(); o.executionDetails = buildGoogleCloudIntegrationsV1alphaExecutionDetails(); @@ -7306,10 +7396,10 @@ api.GoogleCloudIntegrationsV1alphaExecution o.integrationVersionState = 'foo'; o.name = 'foo'; o.replayInfo = buildGoogleCloudIntegrationsV1alphaExecutionReplayInfo(); - o.requestParameters = buildUnnamed88(); - o.requestParams = buildUnnamed89(); - o.responseParameters = buildUnnamed90(); - o.responseParams = buildUnnamed91(); + o.requestParameters = buildUnnamed90(); + o.requestParams = buildUnnamed91(); + o.responseParameters = buildUnnamed92(); + o.responseParams = buildUnnamed93(); o.snapshotNumber = 'foo'; o.triggerId = 'foo'; o.updateTime = 'foo'; @@ -7322,13 +7412,17 @@ void checkGoogleCloudIntegrationsV1alphaExecution( api.GoogleCloudIntegrationsV1alphaExecution o) { buildCounterGoogleCloudIntegrationsV1alphaExecution++; if (buildCounterGoogleCloudIntegrationsV1alphaExecution < 3) { + unittest.expect( + o.cloudKmsKey!, + unittest.equals('foo'), + ); checkGoogleCloudIntegrationsV1alphaCloudLoggingDetails( o.cloudLoggingDetails!); unittest.expect( o.createTime!, unittest.equals('foo'), ); - checkUnnamed87(o.directSubExecutions!); + checkUnnamed89(o.directSubExecutions!); checkEnterpriseCrmEventbusProtoEventExecutionDetails( o.eventExecutionDetails!); checkGoogleCloudIntegrationsV1alphaExecutionDetails(o.executionDetails!); @@ -7345,10 +7439,10 @@ void checkGoogleCloudIntegrationsV1alphaExecution( unittest.equals('foo'), ); checkGoogleCloudIntegrationsV1alphaExecutionReplayInfo(o.replayInfo!); - checkUnnamed88(o.requestParameters!); - checkUnnamed89(o.requestParams!); - checkUnnamed90(o.responseParameters!); - checkUnnamed91(o.responseParams!); + checkUnnamed90(o.requestParameters!); + checkUnnamed91(o.requestParams!); + checkUnnamed92(o.responseParameters!); + checkUnnamed93(o.responseParams!); unittest.expect( o.snapshotNumber!, unittest.equals('foo'), @@ -7365,12 +7459,12 @@ void checkGoogleCloudIntegrationsV1alphaExecution( buildCounterGoogleCloudIntegrationsV1alphaExecution--; } -core.List buildUnnamed92() => [ +core.List buildUnnamed94() => [ buildGoogleCloudIntegrationsV1alphaAttemptStats(), buildGoogleCloudIntegrationsV1alphaAttemptStats(), ]; -void checkUnnamed92( +void checkUnnamed94( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaAttemptStats(o[0]); @@ -7378,12 +7472,12 @@ void checkUnnamed92( } core.List - buildUnnamed93() => [ + buildUnnamed95() => [ buildGoogleCloudIntegrationsV1alphaExecutionSnapshot(), buildGoogleCloudIntegrationsV1alphaExecutionSnapshot(), ]; -void checkUnnamed93( +void checkUnnamed95( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaExecutionSnapshot(o[0]); @@ -7396,9 +7490,9 @@ api.GoogleCloudIntegrationsV1alphaExecutionDetails final o = api.GoogleCloudIntegrationsV1alphaExecutionDetails(); buildCounterGoogleCloudIntegrationsV1alphaExecutionDetails++; if (buildCounterGoogleCloudIntegrationsV1alphaExecutionDetails < 3) { - o.attemptStats = buildUnnamed92(); + o.attemptStats = buildUnnamed94(); o.eventExecutionSnapshotsSize = 'foo'; - o.executionSnapshots = buildUnnamed93(); + o.executionSnapshots = buildUnnamed95(); o.state = 'foo'; } buildCounterGoogleCloudIntegrationsV1alphaExecutionDetails--; @@ -7409,12 +7503,12 @@ void checkGoogleCloudIntegrationsV1alphaExecutionDetails( api.GoogleCloudIntegrationsV1alphaExecutionDetails o) { buildCounterGoogleCloudIntegrationsV1alphaExecutionDetails++; if (buildCounterGoogleCloudIntegrationsV1alphaExecutionDetails < 3) { - checkUnnamed92(o.attemptStats!); + checkUnnamed94(o.attemptStats!); unittest.expect( o.eventExecutionSnapshotsSize!, unittest.equals('foo'), ); - checkUnnamed93(o.executionSnapshots!); + checkUnnamed95(o.executionSnapshots!); unittest.expect( o.state!, unittest.equals('foo'), @@ -7423,12 +7517,12 @@ void checkGoogleCloudIntegrationsV1alphaExecutionDetails( buildCounterGoogleCloudIntegrationsV1alphaExecutionDetails--; } -core.List buildUnnamed94() => [ +core.List buildUnnamed96() => [ 'foo', 'foo', ]; -void checkUnnamed94(core.List o) { +void checkUnnamed96(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7449,7 +7543,7 @@ api.GoogleCloudIntegrationsV1alphaExecutionReplayInfo o.originalExecutionInfoId = 'foo'; o.replayMode = 'foo'; o.replayReason = 'foo'; - o.replayedExecutionInfoIds = buildUnnamed94(); + o.replayedExecutionInfoIds = buildUnnamed96(); } buildCounterGoogleCloudIntegrationsV1alphaExecutionReplayInfo--; return o; @@ -7471,18 +7565,18 @@ void checkGoogleCloudIntegrationsV1alphaExecutionReplayInfo( o.replayReason!, unittest.equals('foo'), ); - checkUnnamed94(o.replayedExecutionInfoIds!); + checkUnnamed96(o.replayedExecutionInfoIds!); } buildCounterGoogleCloudIntegrationsV1alphaExecutionReplayInfo--; } core.Map - buildUnnamed95() => { + buildUnnamed97() => { 'x': buildGoogleCloudIntegrationsV1alphaValueType(), 'y': buildGoogleCloudIntegrationsV1alphaValueType(), }; -void checkUnnamed95( +void checkUnnamed97( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaValueType(o['x']!); @@ -7490,12 +7584,12 @@ void checkUnnamed95( } core.List - buildUnnamed96() => [ + buildUnnamed98() => [ buildGoogleCloudIntegrationsV1alphaTaskExecutionDetails(), buildGoogleCloudIntegrationsV1alphaTaskExecutionDetails(), ]; -void checkUnnamed96( +void checkUnnamed98( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaTaskExecutionDetails(o[0]); @@ -7511,8 +7605,8 @@ api.GoogleCloudIntegrationsV1alphaExecutionSnapshot o.checkpointTaskNumber = 'foo'; o.executionSnapshotMetadata = buildGoogleCloudIntegrationsV1alphaExecutionSnapshotExecutionSnapshotMetadata(); - o.params = buildUnnamed95(); - o.taskExecutionDetails = buildUnnamed96(); + o.params = buildUnnamed97(); + o.taskExecutionDetails = buildUnnamed98(); } buildCounterGoogleCloudIntegrationsV1alphaExecutionSnapshot--; return o; @@ -7528,18 +7622,18 @@ void checkGoogleCloudIntegrationsV1alphaExecutionSnapshot( ); checkGoogleCloudIntegrationsV1alphaExecutionSnapshotExecutionSnapshotMetadata( o.executionSnapshotMetadata!); - checkUnnamed95(o.params!); - checkUnnamed96(o.taskExecutionDetails!); + checkUnnamed97(o.params!); + checkUnnamed98(o.taskExecutionDetails!); } buildCounterGoogleCloudIntegrationsV1alphaExecutionSnapshot--; } -core.List buildUnnamed97() => [ +core.List buildUnnamed99() => [ 'foo', 'foo', ]; -void checkUnnamed97(core.List o) { +void checkUnnamed99(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7551,12 +7645,12 @@ void checkUnnamed97(core.List o) { ); } -core.List buildUnnamed98() => [ +core.List buildUnnamed100() => [ 'foo', 'foo', ]; -void checkUnnamed98(core.List o) { +void checkUnnamed100(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7578,8 +7672,8 @@ api.GoogleCloudIntegrationsV1alphaExecutionSnapshotExecutionSnapshotMetadata buildCounterGoogleCloudIntegrationsV1alphaExecutionSnapshotExecutionSnapshotMetadata++; if (buildCounterGoogleCloudIntegrationsV1alphaExecutionSnapshotExecutionSnapshotMetadata < 3) { - o.ancestorIterationNumbers = buildUnnamed97(); - o.ancestorTaskNumbers = buildUnnamed98(); + o.ancestorIterationNumbers = buildUnnamed99(); + o.ancestorTaskNumbers = buildUnnamed100(); o.executionAttempt = 42; o.integrationName = 'foo'; o.task = 'foo'; @@ -7597,8 +7691,8 @@ void checkGoogleCloudIntegrationsV1alphaExecutionSnapshotExecutionSnapshotMetada buildCounterGoogleCloudIntegrationsV1alphaExecutionSnapshotExecutionSnapshotMetadata++; if (buildCounterGoogleCloudIntegrationsV1alphaExecutionSnapshotExecutionSnapshotMetadata < 3) { - checkUnnamed97(o.ancestorIterationNumbers!); - checkUnnamed98(o.ancestorTaskNumbers!); + checkUnnamed99(o.ancestorIterationNumbers!); + checkUnnamed100(o.ancestorTaskNumbers!); unittest.expect( o.executionAttempt!, unittest.equals(42), @@ -7666,7 +7760,7 @@ void checkGoogleCloudIntegrationsV1alphaFailurePolicy( buildCounterGoogleCloudIntegrationsV1alphaFailurePolicy--; } -core.Map buildUnnamed99() => { +core.Map buildUnnamed101() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -7679,7 +7773,7 @@ core.Map buildUnnamed99() => { }, }; -void checkUnnamed99(core.Map o) { +void checkUnnamed101(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted15 = (o['x']!) as core.Map; unittest.expect(casted15, unittest.hasLength(3)); @@ -7717,7 +7811,7 @@ api.GoogleCloudIntegrationsV1alphaFile final o = api.GoogleCloudIntegrationsV1alphaFile(); buildCounterGoogleCloudIntegrationsV1alphaFile++; if (buildCounterGoogleCloudIntegrationsV1alphaFile < 3) { - o.integrationConfig = buildUnnamed99(); + o.integrationConfig = buildUnnamed101(); o.integrationVersion = buildGoogleCloudIntegrationsV1alphaIntegrationVersion(); o.type = 'foo'; @@ -7730,7 +7824,7 @@ void checkGoogleCloudIntegrationsV1alphaFile( api.GoogleCloudIntegrationsV1alphaFile o) { buildCounterGoogleCloudIntegrationsV1alphaFile++; if (buildCounterGoogleCloudIntegrationsV1alphaFile < 3) { - checkUnnamed99(o.integrationConfig!); + checkUnnamed101(o.integrationConfig!); checkGoogleCloudIntegrationsV1alphaIntegrationVersion( o.integrationVersion!); unittest.expect( @@ -7742,12 +7836,12 @@ void checkGoogleCloudIntegrationsV1alphaFile( } core.List - buildUnnamed100() => [ + buildUnnamed102() => [ buildGoogleCloudIntegrationsV1alphaApiTriggerResource(), buildGoogleCloudIntegrationsV1alphaApiTriggerResource(), ]; -void checkUnnamed100( +void checkUnnamed102( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaApiTriggerResource(o[0]); @@ -7762,7 +7856,7 @@ api.GoogleCloudIntegrationsV1alphaGenerateOpenApiSpecRequest buildCounterGoogleCloudIntegrationsV1alphaGenerateOpenApiSpecRequest++; if (buildCounterGoogleCloudIntegrationsV1alphaGenerateOpenApiSpecRequest < 3) { - o.apiTriggerResources = buildUnnamed100(); + o.apiTriggerResources = buildUnnamed102(); o.fileFormat = 'foo'; } buildCounterGoogleCloudIntegrationsV1alphaGenerateOpenApiSpecRequest--; @@ -7774,7 +7868,7 @@ void checkGoogleCloudIntegrationsV1alphaGenerateOpenApiSpecRequest( buildCounterGoogleCloudIntegrationsV1alphaGenerateOpenApiSpecRequest++; if (buildCounterGoogleCloudIntegrationsV1alphaGenerateOpenApiSpecRequest < 3) { - checkUnnamed100(o.apiTriggerResources!); + checkUnnamed102(o.apiTriggerResources!); unittest.expect( o.fileFormat!, unittest.equals('foo'), @@ -7879,14 +7973,14 @@ void checkGoogleCloudIntegrationsV1alphaGetClientResponse( core.Map - buildUnnamed101() => { + buildUnnamed103() => { 'x': buildGoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails(), 'y': buildGoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails(), }; -void checkUnnamed101( +void checkUnnamed103( core.Map< core.String, api @@ -7906,8 +8000,7 @@ api.GoogleCloudIntegrationsV1alphaImportTemplateRequest buildCounterGoogleCloudIntegrationsV1alphaImportTemplateRequest++; if (buildCounterGoogleCloudIntegrationsV1alphaImportTemplateRequest < 3) { o.integration = 'foo'; - o.integrationRegion = 'foo'; - o.subIntegrations = buildUnnamed101(); + o.subIntegrations = buildUnnamed103(); } buildCounterGoogleCloudIntegrationsV1alphaImportTemplateRequest--; return o; @@ -7921,22 +8014,18 @@ void checkGoogleCloudIntegrationsV1alphaImportTemplateRequest( o.integration!, unittest.equals('foo'), ); - unittest.expect( - o.integrationRegion!, - unittest.equals('foo'), - ); - checkUnnamed101(o.subIntegrations!); + checkUnnamed103(o.subIntegrations!); } buildCounterGoogleCloudIntegrationsV1alphaImportTemplateRequest--; } core.List - buildUnnamed102() => [ + buildUnnamed104() => [ buildGoogleCloudIntegrationsV1alphaIntegrationVersion(), buildGoogleCloudIntegrationsV1alphaIntegrationVersion(), ]; -void checkUnnamed102( +void checkUnnamed104( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaIntegrationVersion(o[0]); @@ -7951,7 +8040,7 @@ api.GoogleCloudIntegrationsV1alphaImportTemplateResponse if (buildCounterGoogleCloudIntegrationsV1alphaImportTemplateResponse < 3) { o.integrationVersion = buildGoogleCloudIntegrationsV1alphaIntegrationVersion(); - o.subIntegrationVersions = buildUnnamed102(); + o.subIntegrationVersions = buildUnnamed104(); } buildCounterGoogleCloudIntegrationsV1alphaImportTemplateResponse--; return o; @@ -7963,17 +8052,17 @@ void checkGoogleCloudIntegrationsV1alphaImportTemplateResponse( if (buildCounterGoogleCloudIntegrationsV1alphaImportTemplateResponse < 3) { checkGoogleCloudIntegrationsV1alphaIntegrationVersion( o.integrationVersion!); - checkUnnamed102(o.subIntegrationVersions!); + checkUnnamed104(o.subIntegrationVersions!); } buildCounterGoogleCloudIntegrationsV1alphaImportTemplateResponse--; } -core.List buildUnnamed103() => [ +core.List buildUnnamed105() => [ 'foo', 'foo', ]; -void checkUnnamed103(core.List o) { +void checkUnnamed105(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7991,7 +8080,7 @@ api.GoogleCloudIntegrationsV1alphaIntParameterArray final o = api.GoogleCloudIntegrationsV1alphaIntParameterArray(); buildCounterGoogleCloudIntegrationsV1alphaIntParameterArray++; if (buildCounterGoogleCloudIntegrationsV1alphaIntParameterArray < 3) { - o.intValues = buildUnnamed103(); + o.intValues = buildUnnamed105(); } buildCounterGoogleCloudIntegrationsV1alphaIntParameterArray--; return o; @@ -8001,7 +8090,7 @@ void checkGoogleCloudIntegrationsV1alphaIntParameterArray( api.GoogleCloudIntegrationsV1alphaIntParameterArray o) { buildCounterGoogleCloudIntegrationsV1alphaIntParameterArray++; if (buildCounterGoogleCloudIntegrationsV1alphaIntParameterArray < 3) { - checkUnnamed103(o.intValues!); + checkUnnamed105(o.intValues!); } buildCounterGoogleCloudIntegrationsV1alphaIntParameterArray--; } @@ -8239,12 +8328,12 @@ void checkGoogleCloudIntegrationsV1alphaIntegrationParameter( } core.List - buildUnnamed104() => [ + buildUnnamed106() => [ buildGoogleCloudIntegrationsV1alphaErrorCatcherConfig(), buildGoogleCloudIntegrationsV1alphaErrorCatcherConfig(), ]; -void checkUnnamed104( +void checkUnnamed106( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaErrorCatcherConfig(o[0]); @@ -8252,12 +8341,12 @@ void checkUnnamed104( } core.List - buildUnnamed105() => [ + buildUnnamed107() => [ buildGoogleCloudIntegrationsV1alphaIntegrationConfigParameter(), buildGoogleCloudIntegrationsV1alphaIntegrationConfigParameter(), ]; -void checkUnnamed105( +void checkUnnamed107( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaIntegrationConfigParameter(o[0]); @@ -8265,24 +8354,24 @@ void checkUnnamed105( } core.List - buildUnnamed106() => [ + buildUnnamed108() => [ buildGoogleCloudIntegrationsV1alphaIntegrationParameter(), buildGoogleCloudIntegrationsV1alphaIntegrationParameter(), ]; -void checkUnnamed106( +void checkUnnamed108( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaIntegrationParameter(o[0]); checkGoogleCloudIntegrationsV1alphaIntegrationParameter(o[1]); } -core.List buildUnnamed107() => [ +core.List buildUnnamed109() => [ buildGoogleCloudIntegrationsV1alphaTaskConfig(), buildGoogleCloudIntegrationsV1alphaTaskConfig(), ]; -void checkUnnamed107( +void checkUnnamed109( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaTaskConfig(o[0]); @@ -8290,25 +8379,25 @@ void checkUnnamed107( } core.List - buildUnnamed108() => [ + buildUnnamed110() => [ buildEnterpriseCrmFrontendsEventbusProtoTaskConfig(), buildEnterpriseCrmFrontendsEventbusProtoTaskConfig(), ]; -void checkUnnamed108( +void checkUnnamed110( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEnterpriseCrmFrontendsEventbusProtoTaskConfig(o[0]); checkEnterpriseCrmFrontendsEventbusProtoTaskConfig(o[1]); } -core.List buildUnnamed109() => +core.List buildUnnamed111() => [ buildGoogleCloudIntegrationsV1alphaTriggerConfig(), buildGoogleCloudIntegrationsV1alphaTriggerConfig(), ]; -void checkUnnamed109( +void checkUnnamed111( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaTriggerConfig(o[0]); @@ -8316,12 +8405,12 @@ void checkUnnamed109( } core.List - buildUnnamed110() => [ + buildUnnamed112() => [ buildEnterpriseCrmFrontendsEventbusProtoTriggerConfig(), buildEnterpriseCrmFrontendsEventbusProtoTriggerConfig(), ]; -void checkUnnamed110( +void checkUnnamed112( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEnterpriseCrmFrontendsEventbusProtoTriggerConfig(o[0]); @@ -8334,6 +8423,7 @@ api.GoogleCloudIntegrationsV1alphaIntegrationVersion final o = api.GoogleCloudIntegrationsV1alphaIntegrationVersion(); buildCounterGoogleCloudIntegrationsV1alphaIntegrationVersion++; if (buildCounterGoogleCloudIntegrationsV1alphaIntegrationVersion < 3) { + o.cloudKmsKey = 'foo'; o.cloudLoggingDetails = buildGoogleCloudIntegrationsV1alphaCloudLoggingDetails(); o.createTime = 'foo'; @@ -8341,9 +8431,9 @@ api.GoogleCloudIntegrationsV1alphaIntegrationVersion o.databasePersistencePolicy = 'foo'; o.description = 'foo'; o.enableVariableMasking = true; - o.errorCatcherConfigs = buildUnnamed104(); - o.integrationConfigParameters = buildUnnamed105(); - o.integrationParameters = buildUnnamed106(); + o.errorCatcherConfigs = buildUnnamed106(); + o.integrationConfigParameters = buildUnnamed107(); + o.integrationParameters = buildUnnamed108(); o.integrationParametersInternal = buildEnterpriseCrmFrontendsEventbusProtoWorkflowParameters(); o.lastModifierEmail = 'foo'; @@ -8355,11 +8445,11 @@ api.GoogleCloudIntegrationsV1alphaIntegrationVersion o.snapshotNumber = 'foo'; o.state = 'foo'; o.status = 'foo'; - o.taskConfigs = buildUnnamed107(); - o.taskConfigsInternal = buildUnnamed108(); + o.taskConfigs = buildUnnamed109(); + o.taskConfigsInternal = buildUnnamed110(); o.teardown = buildEnterpriseCrmEventbusProtoTeardown(); - o.triggerConfigs = buildUnnamed109(); - o.triggerConfigsInternal = buildUnnamed110(); + o.triggerConfigs = buildUnnamed111(); + o.triggerConfigsInternal = buildUnnamed112(); o.updateTime = 'foo'; o.userLabel = 'foo'; } @@ -8371,6 +8461,10 @@ void checkGoogleCloudIntegrationsV1alphaIntegrationVersion( api.GoogleCloudIntegrationsV1alphaIntegrationVersion o) { buildCounterGoogleCloudIntegrationsV1alphaIntegrationVersion++; if (buildCounterGoogleCloudIntegrationsV1alphaIntegrationVersion < 3) { + unittest.expect( + o.cloudKmsKey!, + unittest.equals('foo'), + ); checkGoogleCloudIntegrationsV1alphaCloudLoggingDetails( o.cloudLoggingDetails!); unittest.expect( @@ -8390,9 +8484,9 @@ void checkGoogleCloudIntegrationsV1alphaIntegrationVersion( unittest.equals('foo'), ); unittest.expect(o.enableVariableMasking!, unittest.isTrue); - checkUnnamed104(o.errorCatcherConfigs!); - checkUnnamed105(o.integrationConfigParameters!); - checkUnnamed106(o.integrationParameters!); + checkUnnamed106(o.errorCatcherConfigs!); + checkUnnamed107(o.integrationConfigParameters!); + checkUnnamed108(o.integrationParameters!); checkEnterpriseCrmFrontendsEventbusProtoWorkflowParameters( o.integrationParametersInternal!); unittest.expect( @@ -8431,11 +8525,11 @@ void checkGoogleCloudIntegrationsV1alphaIntegrationVersion( o.status!, unittest.equals('foo'), ); - checkUnnamed107(o.taskConfigs!); - checkUnnamed108(o.taskConfigsInternal!); + checkUnnamed109(o.taskConfigs!); + checkUnnamed110(o.taskConfigsInternal!); checkEnterpriseCrmEventbusProtoTeardown(o.teardown!); - checkUnnamed109(o.triggerConfigs!); - checkUnnamed110(o.triggerConfigsInternal!); + checkUnnamed111(o.triggerConfigs!); + checkUnnamed112(o.triggerConfigsInternal!); unittest.expect( o.updateTime!, unittest.equals('foo'), @@ -8619,12 +8713,12 @@ void checkGoogleCloudIntegrationsV1alphaLinkAppsScriptProjectResponse( buildCounterGoogleCloudIntegrationsV1alphaLinkAppsScriptProjectResponse--; } -core.List buildUnnamed111() => [ +core.List buildUnnamed113() => [ buildGoogleCloudIntegrationsV1alphaAuthConfig(), buildGoogleCloudIntegrationsV1alphaAuthConfig(), ]; -void checkUnnamed111( +void checkUnnamed113( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaAuthConfig(o[0]); @@ -8637,7 +8731,7 @@ api.GoogleCloudIntegrationsV1alphaListAuthConfigsResponse final o = api.GoogleCloudIntegrationsV1alphaListAuthConfigsResponse(); buildCounterGoogleCloudIntegrationsV1alphaListAuthConfigsResponse++; if (buildCounterGoogleCloudIntegrationsV1alphaListAuthConfigsResponse < 3) { - o.authConfigs = buildUnnamed111(); + o.authConfigs = buildUnnamed113(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudIntegrationsV1alphaListAuthConfigsResponse--; @@ -8648,7 +8742,7 @@ void checkGoogleCloudIntegrationsV1alphaListAuthConfigsResponse( api.GoogleCloudIntegrationsV1alphaListAuthConfigsResponse o) { buildCounterGoogleCloudIntegrationsV1alphaListAuthConfigsResponse++; if (buildCounterGoogleCloudIntegrationsV1alphaListAuthConfigsResponse < 3) { - checkUnnamed111(o.authConfigs!); + checkUnnamed113(o.authConfigs!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8657,12 +8751,12 @@ void checkGoogleCloudIntegrationsV1alphaListAuthConfigsResponse( buildCounterGoogleCloudIntegrationsV1alphaListAuthConfigsResponse--; } -core.List buildUnnamed112() => [ +core.List buildUnnamed114() => [ buildGoogleCloudIntegrationsV1alphaCertificate(), buildGoogleCloudIntegrationsV1alphaCertificate(), ]; -void checkUnnamed112( +void checkUnnamed114( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaCertificate(o[0]); @@ -8675,7 +8769,7 @@ api.GoogleCloudIntegrationsV1alphaListCertificatesResponse final o = api.GoogleCloudIntegrationsV1alphaListCertificatesResponse(); buildCounterGoogleCloudIntegrationsV1alphaListCertificatesResponse++; if (buildCounterGoogleCloudIntegrationsV1alphaListCertificatesResponse < 3) { - o.certificates = buildUnnamed112(); + o.certificates = buildUnnamed114(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudIntegrationsV1alphaListCertificatesResponse--; @@ -8686,7 +8780,7 @@ void checkGoogleCloudIntegrationsV1alphaListCertificatesResponse( api.GoogleCloudIntegrationsV1alphaListCertificatesResponse o) { buildCounterGoogleCloudIntegrationsV1alphaListCertificatesResponse++; if (buildCounterGoogleCloudIntegrationsV1alphaListCertificatesResponse < 3) { - checkUnnamed112(o.certificates!); + checkUnnamed114(o.certificates!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8695,12 +8789,12 @@ void checkGoogleCloudIntegrationsV1alphaListCertificatesResponse( buildCounterGoogleCloudIntegrationsV1alphaListCertificatesResponse--; } -core.List buildUnnamed113() => [ +core.List buildUnnamed115() => [ buildGoogleCloudConnectorsV1Connection(), buildGoogleCloudConnectorsV1Connection(), ]; -void checkUnnamed113(core.List o) { +void checkUnnamed115(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudConnectorsV1Connection(o[0]); checkGoogleCloudConnectorsV1Connection(o[1]); @@ -8712,7 +8806,7 @@ api.GoogleCloudIntegrationsV1alphaListConnectionsResponse final o = api.GoogleCloudIntegrationsV1alphaListConnectionsResponse(); buildCounterGoogleCloudIntegrationsV1alphaListConnectionsResponse++; if (buildCounterGoogleCloudIntegrationsV1alphaListConnectionsResponse < 3) { - o.connections = buildUnnamed113(); + o.connections = buildUnnamed115(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudIntegrationsV1alphaListConnectionsResponse--; @@ -8723,7 +8817,7 @@ void checkGoogleCloudIntegrationsV1alphaListConnectionsResponse( api.GoogleCloudIntegrationsV1alphaListConnectionsResponse o) { buildCounterGoogleCloudIntegrationsV1alphaListConnectionsResponse++; if (buildCounterGoogleCloudIntegrationsV1alphaListConnectionsResponse < 3) { - checkUnnamed113(o.connections!); + checkUnnamed115(o.connections!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8733,24 +8827,24 @@ void checkGoogleCloudIntegrationsV1alphaListConnectionsResponse( } core.List - buildUnnamed114() => [ + buildUnnamed116() => [ buildEnterpriseCrmFrontendsEventbusProtoEventExecutionInfo(), buildEnterpriseCrmFrontendsEventbusProtoEventExecutionInfo(), ]; -void checkUnnamed114( +void checkUnnamed116( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEnterpriseCrmFrontendsEventbusProtoEventExecutionInfo(o[0]); checkEnterpriseCrmFrontendsEventbusProtoEventExecutionInfo(o[1]); } -core.List buildUnnamed115() => [ +core.List buildUnnamed117() => [ buildGoogleCloudIntegrationsV1alphaExecution(), buildGoogleCloudIntegrationsV1alphaExecution(), ]; -void checkUnnamed115(core.List o) { +void checkUnnamed117(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaExecution(o[0]); checkGoogleCloudIntegrationsV1alphaExecution(o[1]); @@ -8762,8 +8856,8 @@ api.GoogleCloudIntegrationsV1alphaListExecutionsResponse final o = api.GoogleCloudIntegrationsV1alphaListExecutionsResponse(); buildCounterGoogleCloudIntegrationsV1alphaListExecutionsResponse++; if (buildCounterGoogleCloudIntegrationsV1alphaListExecutionsResponse < 3) { - o.executionInfos = buildUnnamed114(); - o.executions = buildUnnamed115(); + o.executionInfos = buildUnnamed116(); + o.executions = buildUnnamed117(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudIntegrationsV1alphaListExecutionsResponse--; @@ -8774,8 +8868,8 @@ void checkGoogleCloudIntegrationsV1alphaListExecutionsResponse( api.GoogleCloudIntegrationsV1alphaListExecutionsResponse o) { buildCounterGoogleCloudIntegrationsV1alphaListExecutionsResponse++; if (buildCounterGoogleCloudIntegrationsV1alphaListExecutionsResponse < 3) { - checkUnnamed114(o.executionInfos!); - checkUnnamed115(o.executions!); + checkUnnamed116(o.executionInfos!); + checkUnnamed117(o.executions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8785,12 +8879,12 @@ void checkGoogleCloudIntegrationsV1alphaListExecutionsResponse( } core.List - buildUnnamed116() => [ + buildUnnamed118() => [ buildGoogleCloudIntegrationsV1alphaIntegrationVersion(), buildGoogleCloudIntegrationsV1alphaIntegrationVersion(), ]; -void checkUnnamed116( +void checkUnnamed118( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaIntegrationVersion(o[0]); @@ -8806,7 +8900,7 @@ api.GoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse buildCounterGoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse++; if (buildCounterGoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse < 3) { - o.integrationVersions = buildUnnamed116(); + o.integrationVersions = buildUnnamed118(); o.nextPageToken = 'foo'; o.noPermission = true; } @@ -8819,7 +8913,7 @@ void checkGoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse( buildCounterGoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse++; if (buildCounterGoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse < 3) { - checkUnnamed116(o.integrationVersions!); + checkUnnamed118(o.integrationVersions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8829,12 +8923,12 @@ void checkGoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse( buildCounterGoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse--; } -core.List buildUnnamed117() => [ +core.List buildUnnamed119() => [ buildGoogleCloudIntegrationsV1alphaIntegration(), buildGoogleCloudIntegrationsV1alphaIntegration(), ]; -void checkUnnamed117( +void checkUnnamed119( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaIntegration(o[0]); @@ -8847,7 +8941,7 @@ api.GoogleCloudIntegrationsV1alphaListIntegrationsResponse final o = api.GoogleCloudIntegrationsV1alphaListIntegrationsResponse(); buildCounterGoogleCloudIntegrationsV1alphaListIntegrationsResponse++; if (buildCounterGoogleCloudIntegrationsV1alphaListIntegrationsResponse < 3) { - o.integrations = buildUnnamed117(); + o.integrations = buildUnnamed119(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudIntegrationsV1alphaListIntegrationsResponse--; @@ -8858,7 +8952,7 @@ void checkGoogleCloudIntegrationsV1alphaListIntegrationsResponse( api.GoogleCloudIntegrationsV1alphaListIntegrationsResponse o) { buildCounterGoogleCloudIntegrationsV1alphaListIntegrationsResponse++; if (buildCounterGoogleCloudIntegrationsV1alphaListIntegrationsResponse < 3) { - checkUnnamed117(o.integrations!); + checkUnnamed119(o.integrations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -8868,12 +8962,12 @@ void checkGoogleCloudIntegrationsV1alphaListIntegrationsResponse( } core.List - buildUnnamed118() => [ + buildUnnamed120() => [ buildGoogleCloudIntegrationsV1alphaRuntimeActionSchema(), buildGoogleCloudIntegrationsV1alphaRuntimeActionSchema(), ]; -void checkUnnamed118( +void checkUnnamed120( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaRuntimeActionSchema(o[0]); @@ -8891,7 +8985,7 @@ api.GoogleCloudIntegrationsV1alphaListRuntimeActionSchemasResponse if (buildCounterGoogleCloudIntegrationsV1alphaListRuntimeActionSchemasResponse < 3) { o.nextPageToken = 'foo'; - o.runtimeActionSchemas = buildUnnamed118(); + o.runtimeActionSchemas = buildUnnamed120(); } buildCounterGoogleCloudIntegrationsV1alphaListRuntimeActionSchemasResponse--; return o; @@ -8906,18 +9000,18 @@ void checkGoogleCloudIntegrationsV1alphaListRuntimeActionSchemasResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed118(o.runtimeActionSchemas!); + checkUnnamed120(o.runtimeActionSchemas!); } buildCounterGoogleCloudIntegrationsV1alphaListRuntimeActionSchemasResponse--; } core.List - buildUnnamed119() => [ + buildUnnamed121() => [ buildGoogleCloudIntegrationsV1alphaRuntimeEntitySchema(), buildGoogleCloudIntegrationsV1alphaRuntimeEntitySchema(), ]; -void checkUnnamed119( +void checkUnnamed121( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaRuntimeEntitySchema(o[0]); @@ -8935,7 +9029,7 @@ api.GoogleCloudIntegrationsV1alphaListRuntimeEntitySchemasResponse if (buildCounterGoogleCloudIntegrationsV1alphaListRuntimeEntitySchemasResponse < 3) { o.nextPageToken = 'foo'; - o.runtimeEntitySchemas = buildUnnamed119(); + o.runtimeEntitySchemas = buildUnnamed121(); } buildCounterGoogleCloudIntegrationsV1alphaListRuntimeEntitySchemasResponse--; return o; @@ -8950,17 +9044,17 @@ void checkGoogleCloudIntegrationsV1alphaListRuntimeEntitySchemasResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed119(o.runtimeEntitySchemas!); + checkUnnamed121(o.runtimeEntitySchemas!); } buildCounterGoogleCloudIntegrationsV1alphaListRuntimeEntitySchemasResponse--; } -core.List buildUnnamed120() => [ +core.List buildUnnamed122() => [ buildGoogleCloudIntegrationsV1alphaSfdcChannel(), buildGoogleCloudIntegrationsV1alphaSfdcChannel(), ]; -void checkUnnamed120( +void checkUnnamed122( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaSfdcChannel(o[0]); @@ -8974,7 +9068,7 @@ api.GoogleCloudIntegrationsV1alphaListSfdcChannelsResponse buildCounterGoogleCloudIntegrationsV1alphaListSfdcChannelsResponse++; if (buildCounterGoogleCloudIntegrationsV1alphaListSfdcChannelsResponse < 3) { o.nextPageToken = 'foo'; - o.sfdcChannels = buildUnnamed120(); + o.sfdcChannels = buildUnnamed122(); } buildCounterGoogleCloudIntegrationsV1alphaListSfdcChannelsResponse--; return o; @@ -8988,17 +9082,17 @@ void checkGoogleCloudIntegrationsV1alphaListSfdcChannelsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed120(o.sfdcChannels!); + checkUnnamed122(o.sfdcChannels!); } buildCounterGoogleCloudIntegrationsV1alphaListSfdcChannelsResponse--; } -core.List buildUnnamed121() => [ +core.List buildUnnamed123() => [ buildGoogleCloudIntegrationsV1alphaSfdcInstance(), buildGoogleCloudIntegrationsV1alphaSfdcInstance(), ]; -void checkUnnamed121( +void checkUnnamed123( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaSfdcInstance(o[0]); @@ -9013,7 +9107,7 @@ api.GoogleCloudIntegrationsV1alphaListSfdcInstancesResponse buildCounterGoogleCloudIntegrationsV1alphaListSfdcInstancesResponse++; if (buildCounterGoogleCloudIntegrationsV1alphaListSfdcInstancesResponse < 3) { o.nextPageToken = 'foo'; - o.sfdcInstances = buildUnnamed121(); + o.sfdcInstances = buildUnnamed123(); } buildCounterGoogleCloudIntegrationsV1alphaListSfdcInstancesResponse--; return o; @@ -9027,17 +9121,17 @@ void checkGoogleCloudIntegrationsV1alphaListSfdcInstancesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed121(o.sfdcInstances!); + checkUnnamed123(o.sfdcInstances!); } buildCounterGoogleCloudIntegrationsV1alphaListSfdcInstancesResponse--; } -core.List buildUnnamed122() => [ +core.List buildUnnamed124() => [ buildGoogleCloudIntegrationsV1alphaSuspension(), buildGoogleCloudIntegrationsV1alphaSuspension(), ]; -void checkUnnamed122( +void checkUnnamed124( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaSuspension(o[0]); @@ -9051,7 +9145,7 @@ api.GoogleCloudIntegrationsV1alphaListSuspensionsResponse buildCounterGoogleCloudIntegrationsV1alphaListSuspensionsResponse++; if (buildCounterGoogleCloudIntegrationsV1alphaListSuspensionsResponse < 3) { o.nextPageToken = 'foo'; - o.suspensions = buildUnnamed122(); + o.suspensions = buildUnnamed124(); } buildCounterGoogleCloudIntegrationsV1alphaListSuspensionsResponse--; return o; @@ -9065,17 +9159,17 @@ void checkGoogleCloudIntegrationsV1alphaListSuspensionsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed122(o.suspensions!); + checkUnnamed124(o.suspensions!); } buildCounterGoogleCloudIntegrationsV1alphaListSuspensionsResponse--; } -core.List buildUnnamed123() => [ +core.List buildUnnamed125() => [ buildGoogleCloudIntegrationsV1alphaTemplate(), buildGoogleCloudIntegrationsV1alphaTemplate(), ]; -void checkUnnamed123(core.List o) { +void checkUnnamed125(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaTemplate(o[0]); checkGoogleCloudIntegrationsV1alphaTemplate(o[1]); @@ -9088,7 +9182,7 @@ api.GoogleCloudIntegrationsV1alphaListTemplatesResponse buildCounterGoogleCloudIntegrationsV1alphaListTemplatesResponse++; if (buildCounterGoogleCloudIntegrationsV1alphaListTemplatesResponse < 3) { o.nextPageToken = 'foo'; - o.templates = buildUnnamed123(); + o.templates = buildUnnamed125(); } buildCounterGoogleCloudIntegrationsV1alphaListTemplatesResponse--; return o; @@ -9102,58 +9196,17 @@ void checkGoogleCloudIntegrationsV1alphaListTemplatesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed123(o.templates!); + checkUnnamed125(o.templates!); } buildCounterGoogleCloudIntegrationsV1alphaListTemplatesResponse--; } -core.List buildUnnamed124() => [ - buildGoogleCloudIntegrationsV1alphaExecution(), - buildGoogleCloudIntegrationsV1alphaExecution(), - ]; - -void checkUnnamed124(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - checkGoogleCloudIntegrationsV1alphaExecution(o[0]); - checkGoogleCloudIntegrationsV1alphaExecution(o[1]); -} - -core.int - buildCounterGoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse = - 0; -api.GoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse - buildGoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse() { - final o = api.GoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse(); - buildCounterGoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse++; - if (buildCounterGoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse < - 3) { - o.executions = buildUnnamed124(); - o.nextPageToken = 'foo'; - } - buildCounterGoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse--; - return o; -} - -void checkGoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse( - api.GoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse o) { - buildCounterGoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse++; - if (buildCounterGoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse < - 3) { - checkUnnamed124(o.executions!); - unittest.expect( - o.nextPageToken!, - unittest.equals('foo'), - ); - } - buildCounterGoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse--; -} - -core.List buildUnnamed125() => [ +core.List buildUnnamed126() => [ buildGoogleCloudIntegrationsV1alphaTestCase(), buildGoogleCloudIntegrationsV1alphaTestCase(), ]; -void checkUnnamed125(core.List o) { +void checkUnnamed126(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaTestCase(o[0]); checkGoogleCloudIntegrationsV1alphaTestCase(o[1]); @@ -9166,7 +9219,7 @@ api.GoogleCloudIntegrationsV1alphaListTestCasesResponse buildCounterGoogleCloudIntegrationsV1alphaListTestCasesResponse++; if (buildCounterGoogleCloudIntegrationsV1alphaListTestCasesResponse < 3) { o.nextPageToken = 'foo'; - o.testCases = buildUnnamed125(); + o.testCases = buildUnnamed126(); } buildCounterGoogleCloudIntegrationsV1alphaListTestCasesResponse--; return o; @@ -9180,18 +9233,18 @@ void checkGoogleCloudIntegrationsV1alphaListTestCasesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed125(o.testCases!); + checkUnnamed126(o.testCases!); } buildCounterGoogleCloudIntegrationsV1alphaListTestCasesResponse--; } -core.List buildUnnamed126() => +core.List buildUnnamed127() => [ buildGoogleCloudIntegrationsV1alphaEventParameter(), buildGoogleCloudIntegrationsV1alphaEventParameter(), ]; -void checkUnnamed126( +void checkUnnamed127( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaEventParameter(o[0]); @@ -9206,7 +9259,7 @@ api.GoogleCloudIntegrationsV1alphaMockConfig if (buildCounterGoogleCloudIntegrationsV1alphaMockConfig < 3) { o.failedExecutions = 'foo'; o.mockStrategy = 'foo'; - o.parameters = buildUnnamed126(); + o.parameters = buildUnnamed127(); } buildCounterGoogleCloudIntegrationsV1alphaMockConfig--; return o; @@ -9224,7 +9277,7 @@ void checkGoogleCloudIntegrationsV1alphaMockConfig( o.mockStrategy!, unittest.equals('foo'), ); - checkUnnamed126(o.parameters!); + checkUnnamed127(o.parameters!); } buildCounterGoogleCloudIntegrationsV1alphaMockConfig--; } @@ -9485,12 +9538,12 @@ void checkGoogleCloudIntegrationsV1alphaOidcToken( } core.List - buildUnnamed127() => [ + buildUnnamed128() => [ buildGoogleCloudIntegrationsV1alphaParameterMapEntry(), buildGoogleCloudIntegrationsV1alphaParameterMapEntry(), ]; -void checkUnnamed127( +void checkUnnamed128( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaParameterMapEntry(o[0]); @@ -9503,7 +9556,7 @@ api.GoogleCloudIntegrationsV1alphaParameterMap final o = api.GoogleCloudIntegrationsV1alphaParameterMap(); buildCounterGoogleCloudIntegrationsV1alphaParameterMap++; if (buildCounterGoogleCloudIntegrationsV1alphaParameterMap < 3) { - o.entries = buildUnnamed127(); + o.entries = buildUnnamed128(); o.keyType = 'foo'; o.valueType = 'foo'; } @@ -9515,7 +9568,7 @@ void checkGoogleCloudIntegrationsV1alphaParameterMap( api.GoogleCloudIntegrationsV1alphaParameterMap o) { buildCounterGoogleCloudIntegrationsV1alphaParameterMap++; if (buildCounterGoogleCloudIntegrationsV1alphaParameterMap < 3) { - checkUnnamed127(o.entries!); + checkUnnamed128(o.entries!); unittest.expect( o.keyType!, unittest.equals('foo'), @@ -9577,12 +9630,12 @@ void checkGoogleCloudIntegrationsV1alphaParameterMapField( buildCounterGoogleCloudIntegrationsV1alphaParameterMapField--; } -core.List buildUnnamed128() => [ +core.List buildUnnamed129() => [ 'foo', 'foo', ]; -void checkUnnamed128(core.List o) { +void checkUnnamed129(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -9602,7 +9655,7 @@ api.GoogleCloudIntegrationsV1alphaProjectProperties if (buildCounterGoogleCloudIntegrationsV1alphaProjectProperties < 3) { o.billingType = 'foo'; o.ipEnablementState = 'foo'; - o.provisionedRegions = buildUnnamed128(); + o.provisionedRegions = buildUnnamed129(); } buildCounterGoogleCloudIntegrationsV1alphaProjectProperties--; return o; @@ -9620,7 +9673,7 @@ void checkGoogleCloudIntegrationsV1alphaProjectProperties( o.ipEnablementState!, unittest.equals('foo'), ); - checkUnnamed128(o.provisionedRegions!); + checkUnnamed129(o.provisionedRegions!); } buildCounterGoogleCloudIntegrationsV1alphaProjectProperties--; } @@ -9657,7 +9710,7 @@ void checkGoogleCloudIntegrationsV1alphaProvisionClientRequest( buildCounterGoogleCloudIntegrationsV1alphaProvisionClientRequest--; } -core.Map buildUnnamed129() => { +core.Map buildUnnamed130() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -9670,7 +9723,7 @@ core.Map buildUnnamed129() => { }, }; -void checkUnnamed129(core.Map o) { +void checkUnnamed130(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted17 = (o['x']!) as core.Map; unittest.expect(casted17, unittest.hasLength(3)); @@ -9712,7 +9765,7 @@ api.GoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest buildCounterGoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest++; if (buildCounterGoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest < 3) { - o.configParameters = buildUnnamed129(); + o.configParameters = buildUnnamed130(); } buildCounterGoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest--; return o; @@ -9723,7 +9776,7 @@ void checkGoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest( buildCounterGoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest++; if (buildCounterGoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest < 3) { - checkUnnamed129(o.configParameters!); + checkUnnamed130(o.configParameters!); } buildCounterGoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest--; } @@ -9777,13 +9830,29 @@ void checkGoogleCloudIntegrationsV1alphaReplaceServiceAccountRequest( buildCounterGoogleCloudIntegrationsV1alphaReplaceServiceAccountRequest--; } +core.Map + buildUnnamed131() => { + 'x': buildGoogleCloudIntegrationsV1alphaValueType(), + 'y': buildGoogleCloudIntegrationsV1alphaValueType(), + }; + +void checkUnnamed131( + core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudIntegrationsV1alphaValueType(o['x']!); + checkGoogleCloudIntegrationsV1alphaValueType(o['y']!); +} + core.int buildCounterGoogleCloudIntegrationsV1alphaReplayExecutionRequest = 0; api.GoogleCloudIntegrationsV1alphaReplayExecutionRequest buildGoogleCloudIntegrationsV1alphaReplayExecutionRequest() { final o = api.GoogleCloudIntegrationsV1alphaReplayExecutionRequest(); buildCounterGoogleCloudIntegrationsV1alphaReplayExecutionRequest++; if (buildCounterGoogleCloudIntegrationsV1alphaReplayExecutionRequest < 3) { + o.modifiedParameters = buildUnnamed131(); + o.replayMode = 'foo'; o.replayReason = 'foo'; + o.updateMask = 'foo'; } buildCounterGoogleCloudIntegrationsV1alphaReplayExecutionRequest--; return o; @@ -9793,15 +9862,24 @@ void checkGoogleCloudIntegrationsV1alphaReplayExecutionRequest( api.GoogleCloudIntegrationsV1alphaReplayExecutionRequest o) { buildCounterGoogleCloudIntegrationsV1alphaReplayExecutionRequest++; if (buildCounterGoogleCloudIntegrationsV1alphaReplayExecutionRequest < 3) { + checkUnnamed131(o.modifiedParameters!); + unittest.expect( + o.replayMode!, + unittest.equals('foo'), + ); unittest.expect( o.replayReason!, unittest.equals('foo'), ); + unittest.expect( + o.updateMask!, + unittest.equals('foo'), + ); } buildCounterGoogleCloudIntegrationsV1alphaReplayExecutionRequest--; } -core.Map buildUnnamed130() => { +core.Map buildUnnamed132() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -9814,7 +9892,7 @@ core.Map buildUnnamed130() => { }, }; -void checkUnnamed130(core.Map o) { +void checkUnnamed132(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted19 = (o['x']!) as core.Map; unittest.expect(casted19, unittest.hasLength(3)); @@ -9853,7 +9931,7 @@ api.GoogleCloudIntegrationsV1alphaReplayExecutionResponse buildCounterGoogleCloudIntegrationsV1alphaReplayExecutionResponse++; if (buildCounterGoogleCloudIntegrationsV1alphaReplayExecutionResponse < 3) { o.executionId = 'foo'; - o.outputParameters = buildUnnamed130(); + o.outputParameters = buildUnnamed132(); o.replayedExecutionId = 'foo'; } buildCounterGoogleCloudIntegrationsV1alphaReplayExecutionResponse--; @@ -9868,7 +9946,7 @@ void checkGoogleCloudIntegrationsV1alphaReplayExecutionResponse( o.executionId!, unittest.equals('foo'), ); - checkUnnamed130(o.outputParameters!); + checkUnnamed132(o.outputParameters!); unittest.expect( o.replayedExecutionId!, unittest.equals('foo'), @@ -9987,12 +10065,12 @@ void checkGoogleCloudIntegrationsV1alphaRuntimeEntitySchema( } core.Map - buildUnnamed131() => { + buildUnnamed133() => { 'x': buildGoogleCloudIntegrationsV1alphaValueType(), 'y': buildGoogleCloudIntegrationsV1alphaValueType(), }; -void checkUnnamed131( +void checkUnnamed133( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaValueType(o['x']!); @@ -10000,12 +10078,12 @@ void checkUnnamed131( } core.List - buildUnnamed132() => [ + buildUnnamed134() => [ buildEnterpriseCrmFrontendsEventbusProtoParameterEntry(), buildEnterpriseCrmFrontendsEventbusProtoParameterEntry(), ]; -void checkUnnamed132( +void checkUnnamed134( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEnterpriseCrmFrontendsEventbusProtoParameterEntry(o[0]); @@ -10020,8 +10098,8 @@ api.GoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest buildCounterGoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest++; if (buildCounterGoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest < 3) { - o.inputParameters = buildUnnamed131(); - o.parameterEntries = buildUnnamed132(); + o.inputParameters = buildUnnamed133(); + o.parameterEntries = buildUnnamed134(); o.parameters = buildEnterpriseCrmEventbusProtoEventParameters(); o.requestId = 'foo'; o.scheduleTime = 'foo'; @@ -10037,8 +10115,8 @@ void checkGoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest( buildCounterGoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest++; if (buildCounterGoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest < 3) { - checkUnnamed131(o.inputParameters!); - checkUnnamed132(o.parameterEntries!); + checkUnnamed133(o.inputParameters!); + checkUnnamed134(o.parameterEntries!); checkEnterpriseCrmEventbusProtoEventParameters(o.parameters!); unittest.expect( o.requestId!, @@ -10060,12 +10138,12 @@ void checkGoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest( buildCounterGoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest--; } -core.List buildUnnamed133() => [ +core.List buildUnnamed135() => [ 'foo', 'foo', ]; -void checkUnnamed133(core.List o) { +void checkUnnamed135(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10085,7 +10163,7 @@ api.GoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse buildCounterGoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse++; if (buildCounterGoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse < 3) { - o.executionInfoIds = buildUnnamed133(); + o.executionInfoIds = buildUnnamed135(); } buildCounterGoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse--; return o; @@ -10096,17 +10174,17 @@ void checkGoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse( buildCounterGoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse++; if (buildCounterGoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse < 3) { - checkUnnamed133(o.executionInfoIds!); + checkUnnamed135(o.executionInfoIds!); } buildCounterGoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse--; } -core.List buildUnnamed134() => [ +core.List buildUnnamed136() => [ buildGoogleCloudIntegrationsV1alphaTemplate(), buildGoogleCloudIntegrationsV1alphaTemplate(), ]; -void checkUnnamed134(core.List o) { +void checkUnnamed136(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaTemplate(o[0]); checkGoogleCloudIntegrationsV1alphaTemplate(o[1]); @@ -10119,7 +10197,7 @@ api.GoogleCloudIntegrationsV1alphaSearchTemplatesResponse buildCounterGoogleCloudIntegrationsV1alphaSearchTemplatesResponse++; if (buildCounterGoogleCloudIntegrationsV1alphaSearchTemplatesResponse < 3) { o.nextPageToken = 'foo'; - o.templates = buildUnnamed134(); + o.templates = buildUnnamed136(); } buildCounterGoogleCloudIntegrationsV1alphaSearchTemplatesResponse--; return o; @@ -10133,7 +10211,7 @@ void checkGoogleCloudIntegrationsV1alphaSearchTemplatesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed134(o.templates!); + checkUnnamed136(o.templates!); } buildCounterGoogleCloudIntegrationsV1alphaSearchTemplatesResponse--; } @@ -10258,12 +10336,12 @@ void checkGoogleCloudIntegrationsV1alphaSfdcChannel( buildCounterGoogleCloudIntegrationsV1alphaSfdcChannel--; } -core.List buildUnnamed135() => [ +core.List buildUnnamed137() => [ 'foo', 'foo', ]; -void checkUnnamed135(core.List o) { +void checkUnnamed137(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10281,7 +10359,7 @@ api.GoogleCloudIntegrationsV1alphaSfdcInstance final o = api.GoogleCloudIntegrationsV1alphaSfdcInstance(); buildCounterGoogleCloudIntegrationsV1alphaSfdcInstance++; if (buildCounterGoogleCloudIntegrationsV1alphaSfdcInstance < 3) { - o.authConfigId = buildUnnamed135(); + o.authConfigId = buildUnnamed137(); o.createTime = 'foo'; o.deleteTime = 'foo'; o.description = 'foo'; @@ -10299,7 +10377,7 @@ void checkGoogleCloudIntegrationsV1alphaSfdcInstance( api.GoogleCloudIntegrationsV1alphaSfdcInstance o) { buildCounterGoogleCloudIntegrationsV1alphaSfdcInstance++; if (buildCounterGoogleCloudIntegrationsV1alphaSfdcInstance < 3) { - checkUnnamed135(o.authConfigId!); + checkUnnamed137(o.authConfigId!); unittest.expect( o.createTime!, unittest.equals('foo'), @@ -10336,12 +10414,12 @@ void checkGoogleCloudIntegrationsV1alphaSfdcInstance( buildCounterGoogleCloudIntegrationsV1alphaSfdcInstance--; } -core.List buildUnnamed136() => [ +core.List buildUnnamed138() => [ 'foo', 'foo', ]; -void checkUnnamed136(core.List o) { +void checkUnnamed138(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10359,7 +10437,7 @@ api.GoogleCloudIntegrationsV1alphaShareTemplateRequest final o = api.GoogleCloudIntegrationsV1alphaShareTemplateRequest(); buildCounterGoogleCloudIntegrationsV1alphaShareTemplateRequest++; if (buildCounterGoogleCloudIntegrationsV1alphaShareTemplateRequest < 3) { - o.resourceNames = buildUnnamed136(); + o.resourceNames = buildUnnamed138(); } buildCounterGoogleCloudIntegrationsV1alphaShareTemplateRequest--; return o; @@ -10369,17 +10447,17 @@ void checkGoogleCloudIntegrationsV1alphaShareTemplateRequest( api.GoogleCloudIntegrationsV1alphaShareTemplateRequest o) { buildCounterGoogleCloudIntegrationsV1alphaShareTemplateRequest++; if (buildCounterGoogleCloudIntegrationsV1alphaShareTemplateRequest < 3) { - checkUnnamed136(o.resourceNames!); + checkUnnamed138(o.resourceNames!); } buildCounterGoogleCloudIntegrationsV1alphaShareTemplateRequest--; } -core.List buildUnnamed137() => [ +core.List buildUnnamed139() => [ 'foo', 'foo', ]; -void checkUnnamed137(core.List o) { +void checkUnnamed139(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10397,7 +10475,7 @@ api.GoogleCloudIntegrationsV1alphaStringParameterArray final o = api.GoogleCloudIntegrationsV1alphaStringParameterArray(); buildCounterGoogleCloudIntegrationsV1alphaStringParameterArray++; if (buildCounterGoogleCloudIntegrationsV1alphaStringParameterArray < 3) { - o.stringValues = buildUnnamed137(); + o.stringValues = buildUnnamed139(); } buildCounterGoogleCloudIntegrationsV1alphaStringParameterArray--; return o; @@ -10407,7 +10485,7 @@ void checkGoogleCloudIntegrationsV1alphaStringParameterArray( api.GoogleCloudIntegrationsV1alphaStringParameterArray o) { buildCounterGoogleCloudIntegrationsV1alphaStringParameterArray++; if (buildCounterGoogleCloudIntegrationsV1alphaStringParameterArray < 3) { - checkUnnamed137(o.stringValues!); + checkUnnamed139(o.stringValues!); } buildCounterGoogleCloudIntegrationsV1alphaStringParameterArray--; } @@ -10498,12 +10576,12 @@ void checkGoogleCloudIntegrationsV1alphaSuspension( buildCounterGoogleCloudIntegrationsV1alphaSuspension--; } -core.List buildUnnamed138() => [ +core.List buildUnnamed140() => [ 'foo', 'foo', ]; -void checkUnnamed138(core.List o) { +void checkUnnamed140(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10522,7 +10600,7 @@ api.GoogleCloudIntegrationsV1alphaSuspensionApprovalConfig buildCounterGoogleCloudIntegrationsV1alphaSuspensionApprovalConfig++; if (buildCounterGoogleCloudIntegrationsV1alphaSuspensionApprovalConfig < 3) { o.customMessage = 'foo'; - o.emailAddresses = buildUnnamed138(); + o.emailAddresses = buildUnnamed140(); o.expiration = buildGoogleCloudIntegrationsV1alphaSuspensionApprovalExpiration(); } @@ -10538,7 +10616,7 @@ void checkGoogleCloudIntegrationsV1alphaSuspensionApprovalConfig( o.customMessage!, unittest.equals('foo'), ); - checkUnnamed138(o.emailAddresses!); + checkUnnamed140(o.emailAddresses!); checkGoogleCloudIntegrationsV1alphaSuspensionApprovalExpiration( o.expiration!); } @@ -10714,24 +10792,24 @@ void checkGoogleCloudIntegrationsV1alphaTakeoverTestCaseEditLockRequest( buildCounterGoogleCloudIntegrationsV1alphaTakeoverTestCaseEditLockRequest--; } -core.List buildUnnamed139() => [ +core.List buildUnnamed141() => [ buildGoogleCloudIntegrationsV1alphaNextTask(), buildGoogleCloudIntegrationsV1alphaNextTask(), ]; -void checkUnnamed139(core.List o) { +void checkUnnamed141(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaNextTask(o[0]); checkGoogleCloudIntegrationsV1alphaNextTask(o[1]); } core.Map - buildUnnamed140() => { + buildUnnamed142() => { 'x': buildGoogleCloudIntegrationsV1alphaEventParameter(), 'y': buildGoogleCloudIntegrationsV1alphaEventParameter(), }; -void checkUnnamed140( +void checkUnnamed142( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaEventParameter(o['x']!); @@ -10752,9 +10830,9 @@ api.GoogleCloudIntegrationsV1alphaTaskConfig o.externalTaskType = 'foo'; o.failurePolicy = buildGoogleCloudIntegrationsV1alphaFailurePolicy(); o.jsonValidationOption = 'foo'; - o.nextTasks = buildUnnamed139(); + o.nextTasks = buildUnnamed141(); o.nextTasksExecutionPolicy = 'foo'; - o.parameters = buildUnnamed140(); + o.parameters = buildUnnamed142(); o.position = buildGoogleCloudIntegrationsV1alphaCoordinate(); o.successPolicy = buildGoogleCloudIntegrationsV1alphaSuccessPolicy(); o.synchronousCallFailurePolicy = @@ -10795,12 +10873,12 @@ void checkGoogleCloudIntegrationsV1alphaTaskConfig( o.jsonValidationOption!, unittest.equals('foo'), ); - checkUnnamed139(o.nextTasks!); + checkUnnamed141(o.nextTasks!); unittest.expect( o.nextTasksExecutionPolicy!, unittest.equals('foo'), ); - checkUnnamed140(o.parameters!); + checkUnnamed142(o.parameters!); checkGoogleCloudIntegrationsV1alphaCoordinate(o.position!); checkGoogleCloudIntegrationsV1alphaSuccessPolicy(o.successPolicy!); checkGoogleCloudIntegrationsV1alphaFailurePolicy( @@ -10825,12 +10903,12 @@ void checkGoogleCloudIntegrationsV1alphaTaskConfig( buildCounterGoogleCloudIntegrationsV1alphaTaskConfig--; } -core.List buildUnnamed141() => [ +core.List buildUnnamed143() => [ buildGoogleCloudIntegrationsV1alphaAttemptStats(), buildGoogleCloudIntegrationsV1alphaAttemptStats(), ]; -void checkUnnamed141( +void checkUnnamed143( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaAttemptStats(o[0]); @@ -10843,7 +10921,7 @@ api.GoogleCloudIntegrationsV1alphaTaskExecutionDetails final o = api.GoogleCloudIntegrationsV1alphaTaskExecutionDetails(); buildCounterGoogleCloudIntegrationsV1alphaTaskExecutionDetails++; if (buildCounterGoogleCloudIntegrationsV1alphaTaskExecutionDetails < 3) { - o.taskAttemptStats = buildUnnamed141(); + o.taskAttemptStats = buildUnnamed143(); o.taskExecutionState = 'foo'; o.taskNumber = 'foo'; } @@ -10855,7 +10933,7 @@ void checkGoogleCloudIntegrationsV1alphaTaskExecutionDetails( api.GoogleCloudIntegrationsV1alphaTaskExecutionDetails o) { buildCounterGoogleCloudIntegrationsV1alphaTaskExecutionDetails++; if (buildCounterGoogleCloudIntegrationsV1alphaTaskExecutionDetails < 3) { - checkUnnamed141(o.taskAttemptStats!); + checkUnnamed143(o.taskAttemptStats!); unittest.expect( o.taskExecutionState!, unittest.equals('foo'), @@ -10868,12 +10946,12 @@ void checkGoogleCloudIntegrationsV1alphaTaskExecutionDetails( buildCounterGoogleCloudIntegrationsV1alphaTaskExecutionDetails--; } -core.List buildUnnamed142() => [ +core.List buildUnnamed144() => [ 'foo', 'foo', ]; -void checkUnnamed142(core.List o) { +void checkUnnamed144(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10886,24 +10964,24 @@ void checkUnnamed142(core.List o) { } core.List - buildUnnamed143() => [ + buildUnnamed145() => [ buildGoogleCloudIntegrationsV1alphaTemplateComponent(), buildGoogleCloudIntegrationsV1alphaTemplateComponent(), ]; -void checkUnnamed143( +void checkUnnamed145( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaTemplateComponent(o[0]); checkGoogleCloudIntegrationsV1alphaTemplateComponent(o[1]); } -core.List buildUnnamed144() => [ +core.List buildUnnamed146() => [ 'foo', 'foo', ]; -void checkUnnamed144(core.List o) { +void checkUnnamed146(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10915,12 +10993,12 @@ void checkUnnamed144(core.List o) { ); } -core.List buildUnnamed145() => [ +core.List buildUnnamed147() => [ 'foo', 'foo', ]; -void checkUnnamed145(core.List o) { +void checkUnnamed147(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -10939,16 +11017,16 @@ api.GoogleCloudIntegrationsV1alphaTemplate buildCounterGoogleCloudIntegrationsV1alphaTemplate++; if (buildCounterGoogleCloudIntegrationsV1alphaTemplate < 3) { o.author = 'foo'; - o.categories = buildUnnamed142(); - o.components = buildUnnamed143(); + o.categories = buildUnnamed144(); + o.components = buildUnnamed145(); o.createTime = 'foo'; o.description = 'foo'; o.displayName = 'foo'; o.docLink = 'foo'; o.lastUsedTime = 'foo'; o.name = 'foo'; - o.sharedWith = buildUnnamed144(); - o.tags = buildUnnamed145(); + o.sharedWith = buildUnnamed146(); + o.tags = buildUnnamed147(); o.templateBundle = buildGoogleCloudIntegrationsV1alphaTemplateBundle(); o.updateTime = 'foo'; o.usageCount = 'foo'; @@ -10967,8 +11045,8 @@ void checkGoogleCloudIntegrationsV1alphaTemplate( o.author!, unittest.equals('foo'), ); - checkUnnamed142(o.categories!); - checkUnnamed143(o.components!); + checkUnnamed144(o.categories!); + checkUnnamed145(o.components!); unittest.expect( o.createTime!, unittest.equals('foo'), @@ -10993,8 +11071,8 @@ void checkGoogleCloudIntegrationsV1alphaTemplate( o.name!, unittest.equals('foo'), ); - checkUnnamed144(o.sharedWith!); - checkUnnamed145(o.tags!); + checkUnnamed146(o.sharedWith!); + checkUnnamed147(o.tags!); checkGoogleCloudIntegrationsV1alphaTemplateBundle(o.templateBundle!); unittest.expect( o.updateTime!, @@ -11017,12 +11095,12 @@ void checkGoogleCloudIntegrationsV1alphaTemplate( } core.List - buildUnnamed146() => [ + buildUnnamed148() => [ buildGoogleCloudIntegrationsV1alphaIntegrationVersionTemplate(), buildGoogleCloudIntegrationsV1alphaIntegrationVersionTemplate(), ]; -void checkUnnamed146( +void checkUnnamed148( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaIntegrationVersionTemplate(o[0]); @@ -11037,7 +11115,7 @@ api.GoogleCloudIntegrationsV1alphaTemplateBundle if (buildCounterGoogleCloudIntegrationsV1alphaTemplateBundle < 3) { o.integrationVersionTemplate = buildGoogleCloudIntegrationsV1alphaIntegrationVersionTemplate(); - o.subIntegrationVersionTemplates = buildUnnamed146(); + o.subIntegrationVersionTemplates = buildUnnamed148(); } buildCounterGoogleCloudIntegrationsV1alphaTemplateBundle--; return o; @@ -11049,7 +11127,7 @@ void checkGoogleCloudIntegrationsV1alphaTemplateBundle( if (buildCounterGoogleCloudIntegrationsV1alphaTemplateBundle < 3) { checkGoogleCloudIntegrationsV1alphaIntegrationVersionTemplate( o.integrationVersionTemplate!); - checkUnnamed146(o.subIntegrationVersionTemplates!); + checkUnnamed148(o.subIntegrationVersionTemplates!); } buildCounterGoogleCloudIntegrationsV1alphaTemplateBundle--; } @@ -11084,25 +11162,25 @@ void checkGoogleCloudIntegrationsV1alphaTemplateComponent( } core.List - buildUnnamed147() => [ + buildUnnamed149() => [ buildGoogleCloudIntegrationsV1alphaIntegrationParameter(), buildGoogleCloudIntegrationsV1alphaIntegrationParameter(), ]; -void checkUnnamed147( +void checkUnnamed149( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaIntegrationParameter(o[0]); checkGoogleCloudIntegrationsV1alphaIntegrationParameter(o[1]); } -core.List buildUnnamed148() => +core.List buildUnnamed150() => [ buildGoogleCloudIntegrationsV1alphaTestTaskConfig(), buildGoogleCloudIntegrationsV1alphaTestTaskConfig(), ]; -void checkUnnamed148( +void checkUnnamed150( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaTestTaskConfig(o[0]); @@ -11123,8 +11201,8 @@ api.GoogleCloudIntegrationsV1alphaTestCase o.lastModifierEmail = 'foo'; o.lockHolderEmail = 'foo'; o.name = 'foo'; - o.testInputParameters = buildUnnamed147(); - o.testTaskConfigs = buildUnnamed148(); + o.testInputParameters = buildUnnamed149(); + o.testTaskConfigs = buildUnnamed150(); o.triggerConfig = buildGoogleCloudIntegrationsV1alphaTriggerConfig(); o.triggerId = 'foo'; o.updateTime = 'foo'; @@ -11169,8 +11247,8 @@ void checkGoogleCloudIntegrationsV1alphaTestCase( o.name!, unittest.equals('foo'), ); - checkUnnamed147(o.testInputParameters!); - checkUnnamed148(o.testTaskConfigs!); + checkUnnamed149(o.testInputParameters!); + checkUnnamed150(o.testTaskConfigs!); checkGoogleCloudIntegrationsV1alphaTriggerConfig(o.triggerConfig!); unittest.expect( o.triggerId!, @@ -11184,7 +11262,7 @@ void checkGoogleCloudIntegrationsV1alphaTestCase( buildCounterGoogleCloudIntegrationsV1alphaTestCase--; } -core.Map buildUnnamed149() => { +core.Map buildUnnamed151() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -11197,7 +11275,7 @@ core.Map buildUnnamed149() => { }, }; -void checkUnnamed149(core.Map o) { +void checkUnnamed151(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted21 = (o['x']!) as core.Map; unittest.expect(casted21, unittest.hasLength(3)); @@ -11230,12 +11308,12 @@ void checkUnnamed149(core.Map o) { } core.Map - buildUnnamed150() => { + buildUnnamed152() => { 'x': buildGoogleCloudIntegrationsV1alphaValueType(), 'y': buildGoogleCloudIntegrationsV1alphaValueType(), }; -void checkUnnamed150( +void checkUnnamed152( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaValueType(o['x']!); @@ -11249,9 +11327,9 @@ api.GoogleCloudIntegrationsV1alphaTestIntegrationsRequest buildCounterGoogleCloudIntegrationsV1alphaTestIntegrationsRequest++; if (buildCounterGoogleCloudIntegrationsV1alphaTestIntegrationsRequest < 3) { o.clientId = 'foo'; - o.configParameters = buildUnnamed149(); + o.configParameters = buildUnnamed151(); o.deadlineSecondsTime = 'foo'; - o.inputParameters = buildUnnamed150(); + o.inputParameters = buildUnnamed152(); o.integrationVersion = buildGoogleCloudIntegrationsV1alphaIntegrationVersion(); o.parameters = buildEnterpriseCrmFrontendsEventbusProtoEventParameters(); @@ -11270,12 +11348,12 @@ void checkGoogleCloudIntegrationsV1alphaTestIntegrationsRequest( o.clientId!, unittest.equals('foo'), ); - checkUnnamed149(o.configParameters!); + checkUnnamed151(o.configParameters!); unittest.expect( o.deadlineSecondsTime!, unittest.equals('foo'), ); - checkUnnamed150(o.inputParameters!); + checkUnnamed152(o.inputParameters!); checkGoogleCloudIntegrationsV1alphaIntegrationVersion( o.integrationVersion!); checkEnterpriseCrmFrontendsEventbusProtoEventParameters(o.parameters!); @@ -11289,12 +11367,12 @@ void checkGoogleCloudIntegrationsV1alphaTestIntegrationsRequest( } core.List - buildUnnamed151() => [ + buildUnnamed153() => [ buildEnterpriseCrmFrontendsEventbusProtoParameterEntry(), buildEnterpriseCrmFrontendsEventbusProtoParameterEntry(), ]; -void checkUnnamed151( +void checkUnnamed153( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEnterpriseCrmFrontendsEventbusProtoParameterEntry(o[0]); @@ -11302,12 +11380,12 @@ void checkUnnamed151( } core.Map - buildUnnamed152() => { + buildUnnamed154() => { 'x': buildGoogleCloudIntegrationsV1alphaValueType(), 'y': buildGoogleCloudIntegrationsV1alphaValueType(), }; -void checkUnnamed152( +void checkUnnamed154( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaValueType(o['x']!); @@ -11324,8 +11402,8 @@ api.GoogleCloudIntegrationsV1alphaTestIntegrationsResponse buildEnterpriseCrmFrontendsEventbusProtoEventParameters(); o.executionFailed = true; o.executionId = 'foo'; - o.parameterEntries = buildUnnamed151(); - o.parameters = buildUnnamed152(); + o.parameterEntries = buildUnnamed153(); + o.parameters = buildUnnamed154(); } buildCounterGoogleCloudIntegrationsV1alphaTestIntegrationsResponse--; return o; @@ -11341,18 +11419,18 @@ void checkGoogleCloudIntegrationsV1alphaTestIntegrationsResponse( o.executionId!, unittest.equals('foo'), ); - checkUnnamed151(o.parameterEntries!); - checkUnnamed152(o.parameters!); + checkUnnamed153(o.parameterEntries!); + checkUnnamed154(o.parameters!); } buildCounterGoogleCloudIntegrationsV1alphaTestIntegrationsResponse--; } -core.List buildUnnamed153() => [ +core.List buildUnnamed155() => [ buildGoogleCloudIntegrationsV1alphaAssertion(), buildGoogleCloudIntegrationsV1alphaAssertion(), ]; -void checkUnnamed153(core.List o) { +void checkUnnamed155(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaAssertion(o[0]); checkGoogleCloudIntegrationsV1alphaAssertion(o[1]); @@ -11364,7 +11442,7 @@ api.GoogleCloudIntegrationsV1alphaTestTaskConfig final o = api.GoogleCloudIntegrationsV1alphaTestTaskConfig(); buildCounterGoogleCloudIntegrationsV1alphaTestTaskConfig++; if (buildCounterGoogleCloudIntegrationsV1alphaTestTaskConfig < 3) { - o.assertions = buildUnnamed153(); + o.assertions = buildUnnamed155(); o.mockConfig = buildGoogleCloudIntegrationsV1alphaMockConfig(); o.task = 'foo'; o.taskConfig = buildGoogleCloudIntegrationsV1alphaTaskConfig(); @@ -11378,7 +11456,7 @@ void checkGoogleCloudIntegrationsV1alphaTestTaskConfig( api.GoogleCloudIntegrationsV1alphaTestTaskConfig o) { buildCounterGoogleCloudIntegrationsV1alphaTestTaskConfig++; if (buildCounterGoogleCloudIntegrationsV1alphaTestTaskConfig < 3) { - checkUnnamed153(o.assertions!); + checkUnnamed155(o.assertions!); checkGoogleCloudIntegrationsV1alphaMockConfig(o.mockConfig!); unittest.expect( o.task!, @@ -11394,24 +11472,24 @@ void checkGoogleCloudIntegrationsV1alphaTestTaskConfig( } core.List - buildUnnamed154() => [ + buildUnnamed156() => [ buildGoogleCloudIntegrationsV1alphaIntegrationAlertConfig(), buildGoogleCloudIntegrationsV1alphaIntegrationAlertConfig(), ]; -void checkUnnamed154( +void checkUnnamed156( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaIntegrationAlertConfig(o[0]); checkGoogleCloudIntegrationsV1alphaIntegrationAlertConfig(o[1]); } -core.Map buildUnnamed155() => { +core.Map buildUnnamed157() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed155(core.Map o) { +void checkUnnamed157(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -11423,12 +11501,12 @@ void checkUnnamed155(core.Map o) { ); } -core.List buildUnnamed156() => [ +core.List buildUnnamed158() => [ buildGoogleCloudIntegrationsV1alphaNextTask(), buildGoogleCloudIntegrationsV1alphaNextTask(), ]; -void checkUnnamed156(core.List o) { +void checkUnnamed158(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaNextTask(o[0]); checkGoogleCloudIntegrationsV1alphaNextTask(o[1]); @@ -11440,7 +11518,7 @@ api.GoogleCloudIntegrationsV1alphaTriggerConfig final o = api.GoogleCloudIntegrationsV1alphaTriggerConfig(); buildCounterGoogleCloudIntegrationsV1alphaTriggerConfig++; if (buildCounterGoogleCloudIntegrationsV1alphaTriggerConfig < 3) { - o.alertConfig = buildUnnamed154(); + o.alertConfig = buildUnnamed156(); o.cloudSchedulerConfig = buildGoogleCloudIntegrationsV1alphaCloudSchedulerConfig(); o.description = 'foo'; @@ -11452,8 +11530,8 @@ api.GoogleCloudIntegrationsV1alphaTriggerConfig o.outputVariables = buildGoogleCloudIntegrationsV1alphaTriggerConfigVariables(); o.position = buildGoogleCloudIntegrationsV1alphaCoordinate(); - o.properties = buildUnnamed155(); - o.startTasks = buildUnnamed156(); + o.properties = buildUnnamed157(); + o.startTasks = buildUnnamed158(); o.trigger = 'foo'; o.triggerId = 'foo'; o.triggerNumber = 'foo'; @@ -11467,7 +11545,7 @@ void checkGoogleCloudIntegrationsV1alphaTriggerConfig( api.GoogleCloudIntegrationsV1alphaTriggerConfig o) { buildCounterGoogleCloudIntegrationsV1alphaTriggerConfig++; if (buildCounterGoogleCloudIntegrationsV1alphaTriggerConfig < 3) { - checkUnnamed154(o.alertConfig!); + checkUnnamed156(o.alertConfig!); checkGoogleCloudIntegrationsV1alphaCloudSchedulerConfig( o.cloudSchedulerConfig!); unittest.expect( @@ -11491,8 +11569,8 @@ void checkGoogleCloudIntegrationsV1alphaTriggerConfig( checkGoogleCloudIntegrationsV1alphaTriggerConfigVariables( o.outputVariables!); checkGoogleCloudIntegrationsV1alphaCoordinate(o.position!); - checkUnnamed155(o.properties!); - checkUnnamed156(o.startTasks!); + checkUnnamed157(o.properties!); + checkUnnamed158(o.startTasks!); unittest.expect( o.trigger!, unittest.equals('foo'), @@ -11513,12 +11591,12 @@ void checkGoogleCloudIntegrationsV1alphaTriggerConfig( buildCounterGoogleCloudIntegrationsV1alphaTriggerConfig--; } -core.List buildUnnamed157() => [ +core.List buildUnnamed159() => [ 'foo', 'foo', ]; -void checkUnnamed157(core.List o) { +void checkUnnamed159(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11536,7 +11614,7 @@ api.GoogleCloudIntegrationsV1alphaTriggerConfigVariables final o = api.GoogleCloudIntegrationsV1alphaTriggerConfigVariables(); buildCounterGoogleCloudIntegrationsV1alphaTriggerConfigVariables++; if (buildCounterGoogleCloudIntegrationsV1alphaTriggerConfigVariables < 3) { - o.names = buildUnnamed157(); + o.names = buildUnnamed159(); } buildCounterGoogleCloudIntegrationsV1alphaTriggerConfigVariables--; return o; @@ -11546,7 +11624,7 @@ void checkGoogleCloudIntegrationsV1alphaTriggerConfigVariables( api.GoogleCloudIntegrationsV1alphaTriggerConfigVariables o) { buildCounterGoogleCloudIntegrationsV1alphaTriggerConfigVariables++; if (buildCounterGoogleCloudIntegrationsV1alphaTriggerConfigVariables < 3) { - checkUnnamed157(o.names!); + checkUnnamed159(o.names!); } buildCounterGoogleCloudIntegrationsV1alphaTriggerConfigVariables--; } @@ -11573,12 +11651,12 @@ void checkGoogleCloudIntegrationsV1alphaUnpublishIntegrationVersionRequest( buildCounterGoogleCloudIntegrationsV1alphaUnpublishIntegrationVersionRequest--; } -core.List buildUnnamed158() => [ +core.List buildUnnamed160() => [ 'foo', 'foo', ]; -void checkUnnamed158(core.List o) { +void checkUnnamed160(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -11596,7 +11674,7 @@ api.GoogleCloudIntegrationsV1alphaUnshareTemplateRequest final o = api.GoogleCloudIntegrationsV1alphaUnshareTemplateRequest(); buildCounterGoogleCloudIntegrationsV1alphaUnshareTemplateRequest++; if (buildCounterGoogleCloudIntegrationsV1alphaUnshareTemplateRequest < 3) { - o.resourceNames = buildUnnamed158(); + o.resourceNames = buildUnnamed160(); } buildCounterGoogleCloudIntegrationsV1alphaUnshareTemplateRequest--; return o; @@ -11606,7 +11684,7 @@ void checkGoogleCloudIntegrationsV1alphaUnshareTemplateRequest( api.GoogleCloudIntegrationsV1alphaUnshareTemplateRequest o) { buildCounterGoogleCloudIntegrationsV1alphaUnshareTemplateRequest++; if (buildCounterGoogleCloudIntegrationsV1alphaUnshareTemplateRequest < 3) { - checkUnnamed158(o.resourceNames!); + checkUnnamed160(o.resourceNames!); } buildCounterGoogleCloudIntegrationsV1alphaUnshareTemplateRequest--; } @@ -11774,14 +11852,14 @@ void checkGoogleCloudIntegrationsV1alphaUploadTestCaseResponse( core.Map - buildUnnamed159() => { + buildUnnamed161() => { 'x': buildGoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails(), 'y': buildGoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails(), }; -void checkUnnamed159( +void checkUnnamed161( core.Map< core.String, api @@ -11803,7 +11881,7 @@ api.GoogleCloudIntegrationsV1alphaUseTemplateRequest o.integrationDetails = buildGoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails(); o.integrationRegion = 'foo'; - o.subIntegrations = buildUnnamed159(); + o.subIntegrations = buildUnnamed161(); } buildCounterGoogleCloudIntegrationsV1alphaUseTemplateRequest--; return o; @@ -11819,7 +11897,7 @@ void checkGoogleCloudIntegrationsV1alphaUseTemplateRequest( o.integrationRegion!, unittest.equals('foo'), ); - checkUnnamed159(o.subIntegrations!); + checkUnnamed161(o.subIntegrations!); } buildCounterGoogleCloudIntegrationsV1alphaUseTemplateRequest--; } @@ -11859,12 +11937,12 @@ void checkGoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails( } core.List - buildUnnamed160() => [ + buildUnnamed162() => [ buildGoogleCloudIntegrationsV1alphaIntegrationVersion(), buildGoogleCloudIntegrationsV1alphaIntegrationVersion(), ]; -void checkUnnamed160( +void checkUnnamed162( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudIntegrationsV1alphaIntegrationVersion(o[0]); @@ -11879,7 +11957,7 @@ api.GoogleCloudIntegrationsV1alphaUseTemplateResponse if (buildCounterGoogleCloudIntegrationsV1alphaUseTemplateResponse < 3) { o.integrationVersion = buildGoogleCloudIntegrationsV1alphaIntegrationVersion(); - o.subIntegrationVersions = buildUnnamed160(); + o.subIntegrationVersions = buildUnnamed162(); } buildCounterGoogleCloudIntegrationsV1alphaUseTemplateResponse--; return o; @@ -11891,7 +11969,7 @@ void checkGoogleCloudIntegrationsV1alphaUseTemplateResponse( if (buildCounterGoogleCloudIntegrationsV1alphaUseTemplateResponse < 3) { checkGoogleCloudIntegrationsV1alphaIntegrationVersion( o.integrationVersion!); - checkUnnamed160(o.subIntegrationVersions!); + checkUnnamed162(o.subIntegrationVersions!); } buildCounterGoogleCloudIntegrationsV1alphaUseTemplateResponse--; } @@ -12064,12 +12142,12 @@ void checkGoogleProtobufEmpty(api.GoogleProtobufEmpty o) { buildCounterGoogleProtobufEmpty--; } -core.List buildUnnamed161() => [ +core.List buildUnnamed163() => [ 'foo', 'foo', ]; -void checkUnnamed161(core.List o) { +void checkUnnamed163(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12081,12 +12159,12 @@ void checkUnnamed161(core.List o) { ); } -core.List buildUnnamed162() => [ +core.List buildUnnamed164() => [ 'foo', 'foo', ]; -void checkUnnamed162(core.List o) { +void checkUnnamed164(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12098,12 +12176,12 @@ void checkUnnamed162(core.List o) { ); } -core.List buildUnnamed163() => [ +core.List buildUnnamed165() => [ 'foo', 'foo', ]; -void checkUnnamed163(core.List o) { +void checkUnnamed165(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12115,12 +12193,12 @@ void checkUnnamed163(core.List o) { ); } -core.List buildUnnamed164() => [ +core.List buildUnnamed166() => [ 'foo', 'foo', ]; -void checkUnnamed164(core.List o) { +void checkUnnamed166(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12132,12 +12210,12 @@ void checkUnnamed164(core.List o) { ); } -core.List buildUnnamed165() => [ +core.List buildUnnamed167() => [ 'foo', 'foo', ]; -void checkUnnamed165(core.List o) { +void checkUnnamed167(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12149,12 +12227,12 @@ void checkUnnamed165(core.List o) { ); } -core.List buildUnnamed166() => [ +core.List buildUnnamed168() => [ 'foo', 'foo', ]; -void checkUnnamed166(core.List o) { +void checkUnnamed168(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -12166,12 +12244,12 @@ void checkUnnamed166(core.List o) { ); } -core.List buildUnnamed167() => [ +core.List buildUnnamed169() => [ 'foo', 'foo', ]; -void checkUnnamed167(core.List o) { +void checkUnnamed169(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -13348,6 +13426,16 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudConnectorsV1EnrichmentConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudConnectorsV1EnrichmentConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudConnectorsV1EnrichmentConfig.fromJson( + oJson as core.Map); + checkGoogleCloudConnectorsV1EnrichmentConfig(od); + }); + }); + unittest.group('obj-schema-GoogleCloudConnectorsV1EventingConfig', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudConnectorsV1EventingConfig(); @@ -13952,6 +14040,30 @@ void main() { }); }); + unittest.group( + 'obj-schema-GoogleCloudIntegrationsV1alphaExecuteTestCasesRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudIntegrationsV1alphaExecuteTestCasesRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.GoogleCloudIntegrationsV1alphaExecuteTestCasesRequest.fromJson( + oJson as core.Map); + checkGoogleCloudIntegrationsV1alphaExecuteTestCasesRequest(od); + }); + }); + + unittest.group( + 'obj-schema-GoogleCloudIntegrationsV1alphaExecuteTestCasesResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudIntegrationsV1alphaExecuteTestCasesResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.GoogleCloudIntegrationsV1alphaExecuteTestCasesResponse.fromJson( + oJson as core.Map); + checkGoogleCloudIntegrationsV1alphaExecuteTestCasesResponse(od); + }); + }); + unittest.group('obj-schema-GoogleCloudIntegrationsV1alphaExecution', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudIntegrationsV1alphaExecution(); @@ -14422,20 +14534,6 @@ void main() { }); }); - unittest.group( - 'obj-schema-GoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse', - () { - unittest.test('to-json--from-json', () async { - final o = - buildGoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = - api.GoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse - .fromJson(oJson as core.Map); - checkGoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse(od); - }); - }); - unittest.group( 'obj-schema-GoogleCloudIntegrationsV1alphaListTestCasesResponse', () { unittest.test('to-json--from-json', () async { @@ -17097,6 +17195,7 @@ void main() { final mock = HttpServerMock(); final res = api.IntegrationsApi(mock).projects.locations.integrations; final arg_name = 'foo'; + final arg_GCPCloudEventsMode = 'foo'; final arg_triggerId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -17131,6 +17230,10 @@ void main() { ); } } + unittest.expect( + queryMap['GCPCloudEventsMode']!.first, + unittest.equals(arg_GCPCloudEventsMode), + ); unittest.expect( queryMap['triggerId']!.first, unittest.equals(arg_triggerId), @@ -17148,7 +17251,9 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.executeEvent(arg_name, - triggerId: arg_triggerId, $fields: arg_$fields); + GCPCloudEventsMode: arg_GCPCloudEventsMode, + triggerId: arg_triggerId, + $fields: arg_$fields); checkGoogleCloudIntegrationsV1alphaExecuteEventResponse( response as api.GoogleCloudIntegrationsV1alphaExecuteEventResponse); }); @@ -17540,7 +17645,7 @@ void main() { final arg_filter = 'foo'; final arg_filterParams_customFilter = 'foo'; final arg_filterParams_endTime = 'foo'; - final arg_filterParams_eventStatuses = buildUnnamed161(); + final arg_filterParams_eventStatuses = buildUnnamed163(); final arg_filterParams_executionId = 'foo'; final arg_filterParams_parameterKey = 'foo'; final arg_filterParams_parameterPairKey = 'foo'; @@ -17548,7 +17653,7 @@ void main() { final arg_filterParams_parameterType = 'foo'; final arg_filterParams_parameterValue = 'foo'; final arg_filterParams_startTime = 'foo'; - final arg_filterParams_taskStatuses = buildUnnamed162(); + final arg_filterParams_taskStatuses = buildUnnamed164(); final arg_filterParams_workflowName = 'foo'; final arg_orderBy = 'foo'; final arg_pageSize = 42; @@ -18129,7 +18234,7 @@ void main() { api.IntegrationsApi(mock).projects.locations.integrations.versions; final arg_name = 'foo'; final arg_fileFormat = 'foo'; - final arg_files = buildUnnamed163(); + final arg_files = buildUnnamed165(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -18195,7 +18300,7 @@ void main() { final res = api.IntegrationsApi(mock).projects.locations.integrations.versions; final arg_name = 'foo'; - final arg_files = buildUnnamed164(); + final arg_files = buildUnnamed166(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -18847,7 +18952,7 @@ void main() { as api.GoogleCloudIntegrationsV1alphaDownloadTestCaseResponse); }); - unittest.test('method--executeTest', () async { + unittest.test('method--execute', () async { final mock = HttpServerMock(); final res = api.IntegrationsApi(mock) .projects @@ -18856,14 +18961,14 @@ void main() { .versions .testCases; final arg_request = - buildGoogleCloudIntegrationsV1alphaExecuteTestCaseRequest(); - final arg_testCaseName = 'foo'; + buildGoogleCloudIntegrationsV1alphaExecuteTestCasesRequest(); + final arg_parent = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = - api.GoogleCloudIntegrationsV1alphaExecuteTestCaseRequest.fromJson( + api.GoogleCloudIntegrationsV1alphaExecuteTestCasesRequest.fromJson( json as core.Map); - checkGoogleCloudIntegrationsV1alphaExecuteTestCaseRequest(obj); + checkGoogleCloudIntegrationsV1alphaExecuteTestCasesRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -18905,16 +19010,16 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = convert.json.encode( - buildGoogleCloudIntegrationsV1alphaExecuteTestCaseResponse()); + buildGoogleCloudIntegrationsV1alphaExecuteTestCasesResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.executeTest(arg_request, arg_testCaseName, - $fields: arg_$fields); - checkGoogleCloudIntegrationsV1alphaExecuteTestCaseResponse(response - as api.GoogleCloudIntegrationsV1alphaExecuteTestCaseResponse); + final response = + await res.execute(arg_request, arg_parent, $fields: arg_$fields); + checkGoogleCloudIntegrationsV1alphaExecuteTestCasesResponse(response + as api.GoogleCloudIntegrationsV1alphaExecuteTestCasesResponse); }); - unittest.test('method--get', () async { + unittest.test('method--executeTest', () async { final mock = HttpServerMock(); final res = api.IntegrationsApi(mock) .projects @@ -18922,9 +19027,16 @@ void main() { .integrations .versions .testCases; - final arg_name = 'foo'; + final arg_request = + buildGoogleCloudIntegrationsV1alphaExecuteTestCaseRequest(); + final arg_testCaseName = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.GoogleCloudIntegrationsV1alphaExecuteTestCaseRequest.fromJson( + json as core.Map); + checkGoogleCloudIntegrationsV1alphaExecuteTestCaseRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -18964,16 +19076,17 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildGoogleCloudIntegrationsV1alphaTestCase()); + final resp = convert.json.encode( + buildGoogleCloudIntegrationsV1alphaExecuteTestCaseResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_name, $fields: arg_$fields); - checkGoogleCloudIntegrationsV1alphaTestCase( - response as api.GoogleCloudIntegrationsV1alphaTestCase); + final response = await res.executeTest(arg_request, arg_testCaseName, + $fields: arg_$fields); + checkGoogleCloudIntegrationsV1alphaExecuteTestCaseResponse(response + as api.GoogleCloudIntegrationsV1alphaExecuteTestCaseResponse); }); - unittest.test('method--list', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); final res = api.IntegrationsApi(mock) .projects @@ -18981,12 +19094,7 @@ void main() { .integrations .versions .testCases; - final arg_parent = 'foo'; - final arg_filter = 'foo'; - final arg_orderBy = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; - final arg_readMask = 'foo'; + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -19020,26 +19128,6 @@ void main() { ); } } - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['readMask']!.first, - unittest.equals(arg_readMask), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -19048,22 +19136,16 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json - .encode(buildGoogleCloudIntegrationsV1alphaListTestCasesResponse()); + final resp = + convert.json.encode(buildGoogleCloudIntegrationsV1alphaTestCase()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_parent, - filter: arg_filter, - orderBy: arg_orderBy, - pageSize: arg_pageSize, - pageToken: arg_pageToken, - readMask: arg_readMask, - $fields: arg_$fields); - checkGoogleCloudIntegrationsV1alphaListTestCasesResponse( - response as api.GoogleCloudIntegrationsV1alphaListTestCasesResponse); + final response = await res.get(arg_name, $fields: arg_$fields); + checkGoogleCloudIntegrationsV1alphaTestCase( + response as api.GoogleCloudIntegrationsV1alphaTestCase); }); - unittest.test('method--listExecutions', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.IntegrationsApi(mock) .projects @@ -19077,7 +19159,6 @@ void main() { final arg_pageSize = 42; final arg_pageToken = 'foo'; final arg_readMask = 'foo'; - final arg_truncateParams = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -19131,10 +19212,6 @@ void main() { queryMap['readMask']!.first, unittest.equals(arg_readMask), ); - unittest.expect( - queryMap['truncateParams']!.first, - unittest.equals('$arg_truncateParams'), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -19143,20 +19220,19 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode( - buildGoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse()); + final resp = convert.json + .encode(buildGoogleCloudIntegrationsV1alphaListTestCasesResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.listExecutions(arg_parent, + final response = await res.list(arg_parent, filter: arg_filter, orderBy: arg_orderBy, pageSize: arg_pageSize, pageToken: arg_pageToken, readMask: arg_readMask, - truncateParams: arg_truncateParams, $fields: arg_$fields); - checkGoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse(response - as api.GoogleCloudIntegrationsV1alphaListTestCaseExecutionsResponse); + checkGoogleCloudIntegrationsV1alphaListTestCasesResponse( + response as api.GoogleCloudIntegrationsV1alphaListTestCasesResponse); }); unittest.test('method--patch', () async { @@ -20506,7 +20582,7 @@ void main() { final arg_filter = 'foo'; final arg_filterParams_customFilter = 'foo'; final arg_filterParams_endTime = 'foo'; - final arg_filterParams_eventStatuses = buildUnnamed165(); + final arg_filterParams_eventStatuses = buildUnnamed167(); final arg_filterParams_executionId = 'foo'; final arg_filterParams_parameterKey = 'foo'; final arg_filterParams_parameterPairKey = 'foo'; @@ -20514,7 +20590,7 @@ void main() { final arg_filterParams_parameterType = 'foo'; final arg_filterParams_parameterValue = 'foo'; final arg_filterParams_startTime = 'foo'; - final arg_filterParams_taskStatuses = buildUnnamed166(); + final arg_filterParams_taskStatuses = buildUnnamed168(); final arg_filterParams_workflowName = 'foo'; final arg_orderBy = 'foo'; final arg_pageSize = 42; @@ -21048,7 +21124,7 @@ void main() { .versions; final arg_name = 'foo'; final arg_fileFormat = 'foo'; - final arg_files = buildUnnamed167(); + final arg_files = buildUnnamed169(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; diff --git a/generated/googleapis/test/logging/v2_test.dart b/generated/googleapis/test/logging/v2_test.dart index 7ab41b8c3..3fcd434fd 100644 --- a/generated/googleapis/test/logging/v2_test.dart +++ b/generated/googleapis/test/logging/v2_test.dart @@ -26,82 +26,6 @@ import 'package:test/test.dart' as unittest; import '../test_shared.dart'; -core.List buildUnnamed0() => [ - buildAuditLogConfig(), - buildAuditLogConfig(), - ]; - -void checkUnnamed0(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - checkAuditLogConfig(o[0]); - checkAuditLogConfig(o[1]); -} - -core.int buildCounterAuditConfig = 0; -api.AuditConfig buildAuditConfig() { - final o = api.AuditConfig(); - buildCounterAuditConfig++; - if (buildCounterAuditConfig < 3) { - o.auditLogConfigs = buildUnnamed0(); - o.service = 'foo'; - } - buildCounterAuditConfig--; - return o; -} - -void checkAuditConfig(api.AuditConfig o) { - buildCounterAuditConfig++; - if (buildCounterAuditConfig < 3) { - checkUnnamed0(o.auditLogConfigs!); - unittest.expect( - o.service!, - unittest.equals('foo'), - ); - } - buildCounterAuditConfig--; -} - -core.List buildUnnamed1() => [ - 'foo', - 'foo', - ]; - -void checkUnnamed1(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - unittest.expect( - o[0], - unittest.equals('foo'), - ); - unittest.expect( - o[1], - unittest.equals('foo'), - ); -} - -core.int buildCounterAuditLogConfig = 0; -api.AuditLogConfig buildAuditLogConfig() { - final o = api.AuditLogConfig(); - buildCounterAuditLogConfig++; - if (buildCounterAuditLogConfig < 3) { - o.exemptedMembers = buildUnnamed1(); - o.logType = 'foo'; - } - buildCounterAuditLogConfig--; - return o; -} - -void checkAuditLogConfig(api.AuditLogConfig o) { - buildCounterAuditLogConfig++; - if (buildCounterAuditLogConfig < 3) { - checkUnnamed1(o.exemptedMembers!); - unittest.expect( - o.logType!, - unittest.equals('foo'), - ); - } - buildCounterAuditLogConfig--; -} - core.int buildCounterBigQueryDataset = 0; api.BigQueryDataset buildBigQueryDataset() { final o = api.BigQueryDataset(); @@ -145,12 +69,12 @@ void checkBigQueryOptions(api.BigQueryOptions o) { buildCounterBigQueryOptions--; } -core.List buildUnnamed2() => [ +core.List buildUnnamed0() => [ 'foo', 'foo', ]; -void checkUnnamed2(core.List o) { +void checkUnnamed0(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -168,7 +92,7 @@ api.Binding buildBinding() { buildCounterBinding++; if (buildCounterBinding < 3) { o.condition = buildExpr(); - o.members = buildUnnamed2(); + o.members = buildUnnamed0(); o.role = 'foo'; } buildCounterBinding--; @@ -179,7 +103,7 @@ void checkBinding(api.Binding o) { buildCounterBinding++; if (buildCounterBinding < 3) { checkExpr(o.condition!); - checkUnnamed2(o.members!); + checkUnnamed0(o.members!); unittest.expect( o.role!, unittest.equals('foo'), @@ -295,12 +219,12 @@ void checkCopyLogEntriesRequest(api.CopyLogEntriesRequest o) { buildCounterCopyLogEntriesRequest--; } -core.List buildUnnamed3() => [ +core.List buildUnnamed1() => [ buildLogExclusion(), buildLogExclusion(), ]; -void checkUnnamed3(core.List o) { +void checkUnnamed1(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLogExclusion(o[0]); checkLogExclusion(o[1]); @@ -311,7 +235,7 @@ api.DefaultSinkConfig buildDefaultSinkConfig() { final o = api.DefaultSinkConfig(); buildCounterDefaultSinkConfig++; if (buildCounterDefaultSinkConfig < 3) { - o.exclusions = buildUnnamed3(); + o.exclusions = buildUnnamed1(); o.filter = 'foo'; o.mode = 'foo'; } @@ -322,7 +246,7 @@ api.DefaultSinkConfig buildDefaultSinkConfig() { void checkDefaultSinkConfig(api.DefaultSinkConfig o) { buildCounterDefaultSinkConfig++; if (buildCounterDefaultSinkConfig < 3) { - checkUnnamed3(o.exclusions!); + checkUnnamed1(o.exclusions!); unittest.expect( o.filter!, unittest.equals('foo'), @@ -350,12 +274,12 @@ void checkEmpty(api.Empty o) { buildCounterEmpty--; } -core.List buildUnnamed4() => [ +core.List buildUnnamed2() => [ 42.0, 42.0, ]; -void checkUnnamed4(core.List o) { +void checkUnnamed2(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -372,7 +296,7 @@ api.Explicit buildExplicit() { final o = api.Explicit(); buildCounterExplicit++; if (buildCounterExplicit < 3) { - o.bounds = buildUnnamed4(); + o.bounds = buildUnnamed2(); } buildCounterExplicit--; return o; @@ -381,7 +305,7 @@ api.Explicit buildExplicit() { void checkExplicit(api.Explicit o) { buildCounterExplicit++; if (buildCounterExplicit < 3) { - checkUnnamed4(o.bounds!); + checkUnnamed2(o.bounds!); } buildCounterExplicit--; } @@ -714,12 +638,12 @@ void checkLink(api.Link o) { buildCounterLink--; } -core.List buildUnnamed5() => [ +core.List buildUnnamed3() => [ buildLogBucket(), buildLogBucket(), ]; -void checkUnnamed5(core.List o) { +void checkUnnamed3(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLogBucket(o[0]); checkLogBucket(o[1]); @@ -730,7 +654,7 @@ api.ListBucketsResponse buildListBucketsResponse() { final o = api.ListBucketsResponse(); buildCounterListBucketsResponse++; if (buildCounterListBucketsResponse < 3) { - o.buckets = buildUnnamed5(); + o.buckets = buildUnnamed3(); o.nextPageToken = 'foo'; } buildCounterListBucketsResponse--; @@ -740,7 +664,7 @@ api.ListBucketsResponse buildListBucketsResponse() { void checkListBucketsResponse(api.ListBucketsResponse o) { buildCounterListBucketsResponse++; if (buildCounterListBucketsResponse < 3) { - checkUnnamed5(o.buckets!); + checkUnnamed3(o.buckets!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -749,12 +673,12 @@ void checkListBucketsResponse(api.ListBucketsResponse o) { buildCounterListBucketsResponse--; } -core.List buildUnnamed6() => [ +core.List buildUnnamed4() => [ buildLogExclusion(), buildLogExclusion(), ]; -void checkUnnamed6(core.List o) { +void checkUnnamed4(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLogExclusion(o[0]); checkLogExclusion(o[1]); @@ -765,7 +689,7 @@ api.ListExclusionsResponse buildListExclusionsResponse() { final o = api.ListExclusionsResponse(); buildCounterListExclusionsResponse++; if (buildCounterListExclusionsResponse < 3) { - o.exclusions = buildUnnamed6(); + o.exclusions = buildUnnamed4(); o.nextPageToken = 'foo'; } buildCounterListExclusionsResponse--; @@ -775,7 +699,7 @@ api.ListExclusionsResponse buildListExclusionsResponse() { void checkListExclusionsResponse(api.ListExclusionsResponse o) { buildCounterListExclusionsResponse++; if (buildCounterListExclusionsResponse < 3) { - checkUnnamed6(o.exclusions!); + checkUnnamed4(o.exclusions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -784,12 +708,12 @@ void checkListExclusionsResponse(api.ListExclusionsResponse o) { buildCounterListExclusionsResponse--; } -core.List buildUnnamed7() => [ +core.List buildUnnamed5() => [ buildLink(), buildLink(), ]; -void checkUnnamed7(core.List o) { +void checkUnnamed5(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLink(o[0]); checkLink(o[1]); @@ -800,7 +724,7 @@ api.ListLinksResponse buildListLinksResponse() { final o = api.ListLinksResponse(); buildCounterListLinksResponse++; if (buildCounterListLinksResponse < 3) { - o.links = buildUnnamed7(); + o.links = buildUnnamed5(); o.nextPageToken = 'foo'; } buildCounterListLinksResponse--; @@ -810,7 +734,7 @@ api.ListLinksResponse buildListLinksResponse() { void checkListLinksResponse(api.ListLinksResponse o) { buildCounterListLinksResponse++; if (buildCounterListLinksResponse < 3) { - checkUnnamed7(o.links!); + checkUnnamed5(o.links!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -819,12 +743,12 @@ void checkListLinksResponse(api.ListLinksResponse o) { buildCounterListLinksResponse--; } -core.List buildUnnamed8() => [ +core.List buildUnnamed6() => [ buildLocation(), buildLocation(), ]; -void checkUnnamed8(core.List o) { +void checkUnnamed6(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLocation(o[0]); checkLocation(o[1]); @@ -835,7 +759,7 @@ api.ListLocationsResponse buildListLocationsResponse() { final o = api.ListLocationsResponse(); buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - o.locations = buildUnnamed8(); + o.locations = buildUnnamed6(); o.nextPageToken = 'foo'; } buildCounterListLocationsResponse--; @@ -845,7 +769,7 @@ api.ListLocationsResponse buildListLocationsResponse() { void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - checkUnnamed8(o.locations!); + checkUnnamed6(o.locations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -854,12 +778,12 @@ void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse--; } -core.List buildUnnamed9() => [ +core.List buildUnnamed7() => [ 'foo', 'foo', ]; -void checkUnnamed9(core.List o) { +void checkUnnamed7(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -871,12 +795,12 @@ void checkUnnamed9(core.List o) { ); } -core.List buildUnnamed10() => [ +core.List buildUnnamed8() => [ 'foo', 'foo', ]; -void checkUnnamed10(core.List o) { +void checkUnnamed8(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -897,8 +821,8 @@ api.ListLogEntriesRequest buildListLogEntriesRequest() { o.orderBy = 'foo'; o.pageSize = 42; o.pageToken = 'foo'; - o.projectIds = buildUnnamed9(); - o.resourceNames = buildUnnamed10(); + o.projectIds = buildUnnamed7(); + o.resourceNames = buildUnnamed8(); } buildCounterListLogEntriesRequest--; return o; @@ -923,18 +847,18 @@ void checkListLogEntriesRequest(api.ListLogEntriesRequest o) { o.pageToken!, unittest.equals('foo'), ); - checkUnnamed9(o.projectIds!); - checkUnnamed10(o.resourceNames!); + checkUnnamed7(o.projectIds!); + checkUnnamed8(o.resourceNames!); } buildCounterListLogEntriesRequest--; } -core.List buildUnnamed11() => [ +core.List buildUnnamed9() => [ buildLogEntry(), buildLogEntry(), ]; -void checkUnnamed11(core.List o) { +void checkUnnamed9(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLogEntry(o[0]); checkLogEntry(o[1]); @@ -945,7 +869,7 @@ api.ListLogEntriesResponse buildListLogEntriesResponse() { final o = api.ListLogEntriesResponse(); buildCounterListLogEntriesResponse++; if (buildCounterListLogEntriesResponse < 3) { - o.entries = buildUnnamed11(); + o.entries = buildUnnamed9(); o.nextPageToken = 'foo'; } buildCounterListLogEntriesResponse--; @@ -955,7 +879,7 @@ api.ListLogEntriesResponse buildListLogEntriesResponse() { void checkListLogEntriesResponse(api.ListLogEntriesResponse o) { buildCounterListLogEntriesResponse++; if (buildCounterListLogEntriesResponse < 3) { - checkUnnamed11(o.entries!); + checkUnnamed9(o.entries!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -964,12 +888,12 @@ void checkListLogEntriesResponse(api.ListLogEntriesResponse o) { buildCounterListLogEntriesResponse--; } -core.List buildUnnamed12() => [ +core.List buildUnnamed10() => [ buildLogMetric(), buildLogMetric(), ]; -void checkUnnamed12(core.List o) { +void checkUnnamed10(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLogMetric(o[0]); checkLogMetric(o[1]); @@ -980,7 +904,7 @@ api.ListLogMetricsResponse buildListLogMetricsResponse() { final o = api.ListLogMetricsResponse(); buildCounterListLogMetricsResponse++; if (buildCounterListLogMetricsResponse < 3) { - o.metrics = buildUnnamed12(); + o.metrics = buildUnnamed10(); o.nextPageToken = 'foo'; } buildCounterListLogMetricsResponse--; @@ -990,7 +914,7 @@ api.ListLogMetricsResponse buildListLogMetricsResponse() { void checkListLogMetricsResponse(api.ListLogMetricsResponse o) { buildCounterListLogMetricsResponse++; if (buildCounterListLogMetricsResponse < 3) { - checkUnnamed12(o.metrics!); + checkUnnamed10(o.metrics!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -999,12 +923,12 @@ void checkListLogMetricsResponse(api.ListLogMetricsResponse o) { buildCounterListLogMetricsResponse--; } -core.List buildUnnamed13() => [ +core.List buildUnnamed11() => [ buildLogScope(), buildLogScope(), ]; -void checkUnnamed13(core.List o) { +void checkUnnamed11(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLogScope(o[0]); checkLogScope(o[1]); @@ -1015,7 +939,7 @@ api.ListLogScopesResponse buildListLogScopesResponse() { final o = api.ListLogScopesResponse(); buildCounterListLogScopesResponse++; if (buildCounterListLogScopesResponse < 3) { - o.logScopes = buildUnnamed13(); + o.logScopes = buildUnnamed11(); o.nextPageToken = 'foo'; } buildCounterListLogScopesResponse--; @@ -1025,7 +949,7 @@ api.ListLogScopesResponse buildListLogScopesResponse() { void checkListLogScopesResponse(api.ListLogScopesResponse o) { buildCounterListLogScopesResponse++; if (buildCounterListLogScopesResponse < 3) { - checkUnnamed13(o.logScopes!); + checkUnnamed11(o.logScopes!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -1034,12 +958,12 @@ void checkListLogScopesResponse(api.ListLogScopesResponse o) { buildCounterListLogScopesResponse--; } -core.List buildUnnamed14() => [ +core.List buildUnnamed12() => [ 'foo', 'foo', ]; -void checkUnnamed14(core.List o) { +void checkUnnamed12(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1056,7 +980,7 @@ api.ListLogsResponse buildListLogsResponse() { final o = api.ListLogsResponse(); buildCounterListLogsResponse++; if (buildCounterListLogsResponse < 3) { - o.logNames = buildUnnamed14(); + o.logNames = buildUnnamed12(); o.nextPageToken = 'foo'; } buildCounterListLogsResponse--; @@ -1066,7 +990,7 @@ api.ListLogsResponse buildListLogsResponse() { void checkListLogsResponse(api.ListLogsResponse o) { buildCounterListLogsResponse++; if (buildCounterListLogsResponse < 3) { - checkUnnamed14(o.logNames!); + checkUnnamed12(o.logNames!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -1075,12 +999,12 @@ void checkListLogsResponse(api.ListLogsResponse o) { buildCounterListLogsResponse--; } -core.List buildUnnamed15() => [ +core.List buildUnnamed13() => [ buildMonitoredResourceDescriptor(), buildMonitoredResourceDescriptor(), ]; -void checkUnnamed15(core.List o) { +void checkUnnamed13(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMonitoredResourceDescriptor(o[0]); checkMonitoredResourceDescriptor(o[1]); @@ -1093,7 +1017,7 @@ api.ListMonitoredResourceDescriptorsResponse buildCounterListMonitoredResourceDescriptorsResponse++; if (buildCounterListMonitoredResourceDescriptorsResponse < 3) { o.nextPageToken = 'foo'; - o.resourceDescriptors = buildUnnamed15(); + o.resourceDescriptors = buildUnnamed13(); } buildCounterListMonitoredResourceDescriptorsResponse--; return o; @@ -1107,17 +1031,17 @@ void checkListMonitoredResourceDescriptorsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed15(o.resourceDescriptors!); + checkUnnamed13(o.resourceDescriptors!); } buildCounterListMonitoredResourceDescriptorsResponse--; } -core.List buildUnnamed16() => [ +core.List buildUnnamed14() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed16(core.List o) { +void checkUnnamed14(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -1129,7 +1053,7 @@ api.ListOperationsResponse buildListOperationsResponse() { buildCounterListOperationsResponse++; if (buildCounterListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed16(); + o.operations = buildUnnamed14(); } buildCounterListOperationsResponse--; return o; @@ -1142,28 +1066,28 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed16(o.operations!); + checkUnnamed14(o.operations!); } buildCounterListOperationsResponse--; } -core.List buildUnnamed17() => [ +core.List buildUnnamed15() => [ buildRecentQuery(), buildRecentQuery(), ]; -void checkUnnamed17(core.List o) { +void checkUnnamed15(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRecentQuery(o[0]); checkRecentQuery(o[1]); } -core.List buildUnnamed18() => [ +core.List buildUnnamed16() => [ 'foo', 'foo', ]; -void checkUnnamed18(core.List o) { +void checkUnnamed16(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1181,8 +1105,8 @@ api.ListRecentQueriesResponse buildListRecentQueriesResponse() { buildCounterListRecentQueriesResponse++; if (buildCounterListRecentQueriesResponse < 3) { o.nextPageToken = 'foo'; - o.recentQueries = buildUnnamed17(); - o.unreachable = buildUnnamed18(); + o.recentQueries = buildUnnamed15(); + o.unreachable = buildUnnamed16(); } buildCounterListRecentQueriesResponse--; return o; @@ -1195,29 +1119,29 @@ void checkListRecentQueriesResponse(api.ListRecentQueriesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed17(o.recentQueries!); - checkUnnamed18(o.unreachable!); + checkUnnamed15(o.recentQueries!); + checkUnnamed16(o.unreachable!); } buildCounterListRecentQueriesResponse--; } -core.List buildUnnamed19() => [ +core.List buildUnnamed17() => [ buildSavedQuery(), buildSavedQuery(), ]; -void checkUnnamed19(core.List o) { +void checkUnnamed17(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSavedQuery(o[0]); checkSavedQuery(o[1]); } -core.List buildUnnamed20() => [ +core.List buildUnnamed18() => [ 'foo', 'foo', ]; -void checkUnnamed20(core.List o) { +void checkUnnamed18(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1235,8 +1159,8 @@ api.ListSavedQueriesResponse buildListSavedQueriesResponse() { buildCounterListSavedQueriesResponse++; if (buildCounterListSavedQueriesResponse < 3) { o.nextPageToken = 'foo'; - o.savedQueries = buildUnnamed19(); - o.unreachable = buildUnnamed20(); + o.savedQueries = buildUnnamed17(); + o.unreachable = buildUnnamed18(); } buildCounterListSavedQueriesResponse--; return o; @@ -1249,18 +1173,18 @@ void checkListSavedQueriesResponse(api.ListSavedQueriesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed19(o.savedQueries!); - checkUnnamed20(o.unreachable!); + checkUnnamed17(o.savedQueries!); + checkUnnamed18(o.unreachable!); } buildCounterListSavedQueriesResponse--; } -core.List buildUnnamed21() => [ +core.List buildUnnamed19() => [ buildLogSink(), buildLogSink(), ]; -void checkUnnamed21(core.List o) { +void checkUnnamed19(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLogSink(o[0]); checkLogSink(o[1]); @@ -1272,7 +1196,7 @@ api.ListSinksResponse buildListSinksResponse() { buildCounterListSinksResponse++; if (buildCounterListSinksResponse < 3) { o.nextPageToken = 'foo'; - o.sinks = buildUnnamed21(); + o.sinks = buildUnnamed19(); } buildCounterListSinksResponse--; return o; @@ -1285,17 +1209,17 @@ void checkListSinksResponse(api.ListSinksResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed21(o.sinks!); + checkUnnamed19(o.sinks!); } buildCounterListSinksResponse--; } -core.List buildUnnamed22() => [ +core.List buildUnnamed20() => [ buildLogView(), buildLogView(), ]; -void checkUnnamed22(core.List o) { +void checkUnnamed20(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLogView(o[0]); checkLogView(o[1]); @@ -1307,7 +1231,7 @@ api.ListViewsResponse buildListViewsResponse() { buildCounterListViewsResponse++; if (buildCounterListViewsResponse < 3) { o.nextPageToken = 'foo'; - o.views = buildUnnamed22(); + o.views = buildUnnamed20(); } buildCounterListViewsResponse--; return o; @@ -1320,17 +1244,17 @@ void checkListViewsResponse(api.ListViewsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed22(o.views!); + checkUnnamed20(o.views!); } buildCounterListViewsResponse--; } -core.Map buildUnnamed23() => { +core.Map buildUnnamed21() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed23(core.Map o) { +void checkUnnamed21(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1342,7 +1266,7 @@ void checkUnnamed23(core.Map o) { ); } -core.Map buildUnnamed24() => { +core.Map buildUnnamed22() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1355,7 +1279,7 @@ core.Map buildUnnamed24() => { }, }; -void checkUnnamed24(core.Map o) { +void checkUnnamed22(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -1393,9 +1317,9 @@ api.Location buildLocation() { buildCounterLocation++; if (buildCounterLocation < 3) { o.displayName = 'foo'; - o.labels = buildUnnamed23(); + o.labels = buildUnnamed21(); o.locationId = 'foo'; - o.metadata = buildUnnamed24(); + o.metadata = buildUnnamed22(); o.name = 'foo'; } buildCounterLocation--; @@ -1409,12 +1333,12 @@ void checkLocation(api.Location o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed23(o.labels!); + checkUnnamed21(o.labels!); unittest.expect( o.locationId!, unittest.equals('foo'), ); - checkUnnamed24(o.metadata!); + checkUnnamed22(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), @@ -1423,23 +1347,23 @@ void checkLocation(api.Location o) { buildCounterLocation--; } -core.List buildUnnamed25() => [ +core.List buildUnnamed23() => [ buildIndexConfig(), buildIndexConfig(), ]; -void checkUnnamed25(core.List o) { +void checkUnnamed23(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkIndexConfig(o[0]); checkIndexConfig(o[1]); } -core.List buildUnnamed26() => [ +core.List buildUnnamed24() => [ 'foo', 'foo', ]; -void checkUnnamed26(core.List o) { +void checkUnnamed24(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1460,11 +1384,11 @@ api.LogBucket buildLogBucket() { o.cmekSettings = buildCmekSettings(); o.createTime = 'foo'; o.description = 'foo'; - o.indexConfigs = buildUnnamed25(); + o.indexConfigs = buildUnnamed23(); o.lifecycleState = 'foo'; o.locked = true; o.name = 'foo'; - o.restrictedFields = buildUnnamed26(); + o.restrictedFields = buildUnnamed24(); o.retentionDays = 42; o.updateTime = 'foo'; } @@ -1485,7 +1409,7 @@ void checkLogBucket(api.LogBucket o) { o.description!, unittest.equals('foo'), ); - checkUnnamed25(o.indexConfigs!); + checkUnnamed23(o.indexConfigs!); unittest.expect( o.lifecycleState!, unittest.equals('foo'), @@ -1495,7 +1419,7 @@ void checkLogBucket(api.LogBucket o) { o.name!, unittest.equals('foo'), ); - checkUnnamed26(o.restrictedFields!); + checkUnnamed24(o.restrictedFields!); unittest.expect( o.retentionDays!, unittest.equals(42), @@ -1508,18 +1432,18 @@ void checkLogBucket(api.LogBucket o) { buildCounterLogBucket--; } -core.List buildUnnamed27() => [ +core.List buildUnnamed25() => [ buildLogErrorGroup(), buildLogErrorGroup(), ]; -void checkUnnamed27(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLogErrorGroup(o[0]); checkLogErrorGroup(o[1]); } -core.Map buildUnnamed28() => { +core.Map buildUnnamed26() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1532,7 +1456,7 @@ core.Map buildUnnamed28() => { }, }; -void checkUnnamed28(core.Map o) { +void checkUnnamed26(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -1564,12 +1488,12 @@ void checkUnnamed28(core.Map o) { ); } -core.Map buildUnnamed29() => { +core.Map buildUnnamed27() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed29(core.Map o) { +void checkUnnamed27(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1581,7 +1505,7 @@ void checkUnnamed29(core.Map o) { ); } -core.Map buildUnnamed30() => { +core.Map buildUnnamed28() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1594,7 +1518,7 @@ core.Map buildUnnamed30() => { }, }; -void checkUnnamed30(core.Map o) { +void checkUnnamed28(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -1631,15 +1555,15 @@ api.LogEntry buildLogEntry() { final o = api.LogEntry(); buildCounterLogEntry++; if (buildCounterLogEntry < 3) { - o.errorGroups = buildUnnamed27(); + o.errorGroups = buildUnnamed25(); o.httpRequest = buildHttpRequest(); o.insertId = 'foo'; - o.jsonPayload = buildUnnamed28(); - o.labels = buildUnnamed29(); + o.jsonPayload = buildUnnamed26(); + o.labels = buildUnnamed27(); o.logName = 'foo'; o.metadata = buildMonitoredResourceMetadata(); o.operation = buildLogEntryOperation(); - o.protoPayload = buildUnnamed30(); + o.protoPayload = buildUnnamed28(); o.receiveTimestamp = 'foo'; o.resource = buildMonitoredResource(); o.severity = 'foo'; @@ -1658,21 +1582,21 @@ api.LogEntry buildLogEntry() { void checkLogEntry(api.LogEntry o) { buildCounterLogEntry++; if (buildCounterLogEntry < 3) { - checkUnnamed27(o.errorGroups!); + checkUnnamed25(o.errorGroups!); checkHttpRequest(o.httpRequest!); unittest.expect( o.insertId!, unittest.equals('foo'), ); - checkUnnamed28(o.jsonPayload!); - checkUnnamed29(o.labels!); + checkUnnamed26(o.jsonPayload!); + checkUnnamed27(o.labels!); unittest.expect( o.logName!, unittest.equals('foo'), ); checkMonitoredResourceMetadata(o.metadata!); checkLogEntryOperation(o.operation!); - checkUnnamed30(o.protoPayload!); + checkUnnamed28(o.protoPayload!); unittest.expect( o.receiveTimestamp!, unittest.equals('foo'), @@ -1834,12 +1758,12 @@ void checkLogExclusion(api.LogExclusion o) { buildCounterLogExclusion--; } -core.Map buildUnnamed31() => { +core.Map buildUnnamed29() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed31(core.Map o) { +void checkUnnamed29(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1862,7 +1786,7 @@ api.LogMetric buildLogMetric() { o.description = 'foo'; o.disabled = true; o.filter = 'foo'; - o.labelExtractors = buildUnnamed31(); + o.labelExtractors = buildUnnamed29(); o.metricDescriptor = buildMetricDescriptor(); o.name = 'foo'; o.resourceName = 'foo'; @@ -1895,7 +1819,7 @@ void checkLogMetric(api.LogMetric o) { o.filter!, unittest.equals('foo'), ); - checkUnnamed31(o.labelExtractors!); + checkUnnamed29(o.labelExtractors!); checkMetricDescriptor(o.metricDescriptor!); unittest.expect( o.name!, @@ -1921,12 +1845,12 @@ void checkLogMetric(api.LogMetric o) { buildCounterLogMetric--; } -core.List buildUnnamed32() => [ +core.List buildUnnamed30() => [ 'foo', 'foo', ]; -void checkUnnamed32(core.List o) { +void checkUnnamed30(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1946,7 +1870,7 @@ api.LogScope buildLogScope() { o.createTime = 'foo'; o.description = 'foo'; o.name = 'foo'; - o.resourceNames = buildUnnamed32(); + o.resourceNames = buildUnnamed30(); o.updateTime = 'foo'; } buildCounterLogScope--; @@ -1968,7 +1892,7 @@ void checkLogScope(api.LogScope o) { o.name!, unittest.equals('foo'), ); - checkUnnamed32(o.resourceNames!); + checkUnnamed30(o.resourceNames!); unittest.expect( o.updateTime!, unittest.equals('foo'), @@ -1977,12 +1901,12 @@ void checkLogScope(api.LogScope o) { buildCounterLogScope--; } -core.List buildUnnamed33() => [ +core.List buildUnnamed31() => [ buildLogExclusion(), buildLogExclusion(), ]; -void checkUnnamed33(core.List o) { +void checkUnnamed31(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLogExclusion(o[0]); checkLogExclusion(o[1]); @@ -1998,7 +1922,7 @@ api.LogSink buildLogSink() { o.description = 'foo'; o.destination = 'foo'; o.disabled = true; - o.exclusions = buildUnnamed33(); + o.exclusions = buildUnnamed31(); o.filter = 'foo'; o.includeChildren = true; o.interceptChildren = true; @@ -2029,7 +1953,7 @@ void checkLogSink(api.LogSink o) { unittest.equals('foo'), ); unittest.expect(o.disabled!, unittest.isTrue); - checkUnnamed33(o.exclusions!); + checkUnnamed31(o.exclusions!); unittest.expect( o.filter!, unittest.equals('foo'), @@ -2134,12 +2058,12 @@ void checkLogView(api.LogView o) { buildCounterLogView--; } -core.List buildUnnamed34() => [ +core.List buildUnnamed32() => [ buildSummaryField(), buildSummaryField(), ]; -void checkUnnamed34(core.List o) { +void checkUnnamed32(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSummaryField(o[0]); checkSummaryField(o[1]); @@ -2153,7 +2077,7 @@ api.LoggingQuery buildLoggingQuery() { o.filter = 'foo'; o.summaryFieldEnd = 42; o.summaryFieldStart = 42; - o.summaryFields = buildUnnamed34(); + o.summaryFields = buildUnnamed32(); } buildCounterLoggingQuery--; return o; @@ -2174,28 +2098,28 @@ void checkLoggingQuery(api.LoggingQuery o) { o.summaryFieldStart!, unittest.equals(42), ); - checkUnnamed34(o.summaryFields!); + checkUnnamed32(o.summaryFields!); } buildCounterLoggingQuery--; } -core.List buildUnnamed35() => [ +core.List buildUnnamed33() => [ buildLabelDescriptor(), buildLabelDescriptor(), ]; -void checkUnnamed35(core.List o) { +void checkUnnamed33(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLabelDescriptor(o[0]); checkLabelDescriptor(o[1]); } -core.List buildUnnamed36() => [ +core.List buildUnnamed34() => [ 'foo', 'foo', ]; -void checkUnnamed36(core.List o) { +void checkUnnamed34(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2214,11 +2138,11 @@ api.MetricDescriptor buildMetricDescriptor() { if (buildCounterMetricDescriptor < 3) { o.description = 'foo'; o.displayName = 'foo'; - o.labels = buildUnnamed35(); + o.labels = buildUnnamed33(); o.launchStage = 'foo'; o.metadata = buildMetricDescriptorMetadata(); o.metricKind = 'foo'; - o.monitoredResourceTypes = buildUnnamed36(); + o.monitoredResourceTypes = buildUnnamed34(); o.name = 'foo'; o.type = 'foo'; o.unit = 'foo'; @@ -2239,7 +2163,7 @@ void checkMetricDescriptor(api.MetricDescriptor o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed35(o.labels!); + checkUnnamed33(o.labels!); unittest.expect( o.launchStage!, unittest.equals('foo'), @@ -2249,7 +2173,7 @@ void checkMetricDescriptor(api.MetricDescriptor o) { o.metricKind!, unittest.equals('foo'), ); - checkUnnamed36(o.monitoredResourceTypes!); + checkUnnamed34(o.monitoredResourceTypes!); unittest.expect( o.name!, unittest.equals('foo'), @@ -2270,12 +2194,12 @@ void checkMetricDescriptor(api.MetricDescriptor o) { buildCounterMetricDescriptor--; } -core.List buildUnnamed37() => [ +core.List buildUnnamed35() => [ 'foo', 'foo', ]; -void checkUnnamed37(core.List o) { +void checkUnnamed35(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2295,7 +2219,7 @@ api.MetricDescriptorMetadata buildMetricDescriptorMetadata() { o.ingestDelay = 'foo'; o.launchStage = 'foo'; o.samplePeriod = 'foo'; - o.timeSeriesResourceHierarchyLevel = buildUnnamed37(); + o.timeSeriesResourceHierarchyLevel = buildUnnamed35(); } buildCounterMetricDescriptorMetadata--; return o; @@ -2316,17 +2240,17 @@ void checkMetricDescriptorMetadata(api.MetricDescriptorMetadata o) { o.samplePeriod!, unittest.equals('foo'), ); - checkUnnamed37(o.timeSeriesResourceHierarchyLevel!); + checkUnnamed35(o.timeSeriesResourceHierarchyLevel!); } buildCounterMetricDescriptorMetadata--; } -core.Map buildUnnamed38() => { +core.Map buildUnnamed36() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed38(core.Map o) { +void checkUnnamed36(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2343,7 +2267,7 @@ api.MonitoredResource buildMonitoredResource() { final o = api.MonitoredResource(); buildCounterMonitoredResource++; if (buildCounterMonitoredResource < 3) { - o.labels = buildUnnamed38(); + o.labels = buildUnnamed36(); o.type = 'foo'; } buildCounterMonitoredResource--; @@ -2353,7 +2277,7 @@ api.MonitoredResource buildMonitoredResource() { void checkMonitoredResource(api.MonitoredResource o) { buildCounterMonitoredResource++; if (buildCounterMonitoredResource < 3) { - checkUnnamed38(o.labels!); + checkUnnamed36(o.labels!); unittest.expect( o.type!, unittest.equals('foo'), @@ -2362,12 +2286,12 @@ void checkMonitoredResource(api.MonitoredResource o) { buildCounterMonitoredResource--; } -core.List buildUnnamed39() => [ +core.List buildUnnamed37() => [ buildLabelDescriptor(), buildLabelDescriptor(), ]; -void checkUnnamed39(core.List o) { +void checkUnnamed37(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLabelDescriptor(o[0]); checkLabelDescriptor(o[1]); @@ -2380,7 +2304,7 @@ api.MonitoredResourceDescriptor buildMonitoredResourceDescriptor() { if (buildCounterMonitoredResourceDescriptor < 3) { o.description = 'foo'; o.displayName = 'foo'; - o.labels = buildUnnamed39(); + o.labels = buildUnnamed37(); o.launchStage = 'foo'; o.name = 'foo'; o.type = 'foo'; @@ -2400,7 +2324,7 @@ void checkMonitoredResourceDescriptor(api.MonitoredResourceDescriptor o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed39(o.labels!); + checkUnnamed37(o.labels!); unittest.expect( o.launchStage!, unittest.equals('foo'), @@ -2417,7 +2341,7 @@ void checkMonitoredResourceDescriptor(api.MonitoredResourceDescriptor o) { buildCounterMonitoredResourceDescriptor--; } -core.Map buildUnnamed40() => { +core.Map buildUnnamed38() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2430,7 +2354,7 @@ core.Map buildUnnamed40() => { }, }; -void checkUnnamed40(core.Map o) { +void checkUnnamed38(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -2462,12 +2386,12 @@ void checkUnnamed40(core.Map o) { ); } -core.Map buildUnnamed41() => { +core.Map buildUnnamed39() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed41(core.Map o) { +void checkUnnamed39(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2484,8 +2408,8 @@ api.MonitoredResourceMetadata buildMonitoredResourceMetadata() { final o = api.MonitoredResourceMetadata(); buildCounterMonitoredResourceMetadata++; if (buildCounterMonitoredResourceMetadata < 3) { - o.systemLabels = buildUnnamed40(); - o.userLabels = buildUnnamed41(); + o.systemLabels = buildUnnamed38(); + o.userLabels = buildUnnamed39(); } buildCounterMonitoredResourceMetadata--; return o; @@ -2494,13 +2418,13 @@ api.MonitoredResourceMetadata buildMonitoredResourceMetadata() { void checkMonitoredResourceMetadata(api.MonitoredResourceMetadata o) { buildCounterMonitoredResourceMetadata++; if (buildCounterMonitoredResourceMetadata < 3) { - checkUnnamed40(o.systemLabels!); - checkUnnamed41(o.userLabels!); + checkUnnamed38(o.systemLabels!); + checkUnnamed39(o.userLabels!); } buildCounterMonitoredResourceMetadata--; } -core.Map buildUnnamed42() => { +core.Map buildUnnamed40() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2513,7 +2437,7 @@ core.Map buildUnnamed42() => { }, }; -void checkUnnamed42(core.Map o) { +void checkUnnamed40(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted9 = (o['x']!) as core.Map; unittest.expect(casted9, unittest.hasLength(3)); @@ -2545,7 +2469,7 @@ void checkUnnamed42(core.Map o) { ); } -core.Map buildUnnamed43() => { +core.Map buildUnnamed41() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2558,7 +2482,7 @@ core.Map buildUnnamed43() => { }, }; -void checkUnnamed43(core.Map o) { +void checkUnnamed41(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted11 = (o['x']!) as core.Map; unittest.expect(casted11, unittest.hasLength(3)); @@ -2597,9 +2521,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed42(); + o.metadata = buildUnnamed40(); o.name = 'foo'; - o.response = buildUnnamed43(); + o.response = buildUnnamed41(); } buildCounterOperation--; return o; @@ -2610,12 +2534,12 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed42(o.metadata!); + checkUnnamed40(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed43(o.response!); + checkUnnamed41(o.response!); } buildCounterOperation--; } @@ -2642,23 +2566,12 @@ void checkOpsAnalyticsQuery(api.OpsAnalyticsQuery o) { buildCounterOpsAnalyticsQuery--; } -core.List buildUnnamed44() => [ - buildAuditConfig(), - buildAuditConfig(), - ]; - -void checkUnnamed44(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - checkAuditConfig(o[0]); - checkAuditConfig(o[1]); -} - -core.List buildUnnamed45() => [ +core.List buildUnnamed42() => [ buildBinding(), buildBinding(), ]; -void checkUnnamed45(core.List o) { +void checkUnnamed42(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBinding(o[0]); checkBinding(o[1]); @@ -2669,8 +2582,7 @@ api.Policy buildPolicy() { final o = api.Policy(); buildCounterPolicy++; if (buildCounterPolicy < 3) { - o.auditConfigs = buildUnnamed44(); - o.bindings = buildUnnamed45(); + o.bindings = buildUnnamed42(); o.etag = 'foo'; o.version = 42; } @@ -2681,8 +2593,7 @@ api.Policy buildPolicy() { void checkPolicy(api.Policy o) { buildCounterPolicy++; if (buildCounterPolicy < 3) { - checkUnnamed44(o.auditConfigs!); - checkUnnamed45(o.bindings!); + checkUnnamed42(o.bindings!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -2847,7 +2758,7 @@ void checkSettings(api.Settings o) { buildCounterSettings--; } -core.Map buildUnnamed46() => { +core.Map buildUnnamed43() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2860,7 +2771,7 @@ core.Map buildUnnamed46() => { }, }; -void checkUnnamed46(core.Map o) { +void checkUnnamed43(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted13 = (o['x']!) as core.Map; unittest.expect(casted13, unittest.hasLength(3)); @@ -2892,15 +2803,15 @@ void checkUnnamed46(core.Map o) { ); } -core.List> buildUnnamed47() => [ - buildUnnamed46(), - buildUnnamed46(), +core.List> buildUnnamed44() => [ + buildUnnamed43(), + buildUnnamed43(), ]; -void checkUnnamed47(core.List> o) { +void checkUnnamed44(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed46(o[0]); - checkUnnamed46(o[1]); + checkUnnamed43(o[0]); + checkUnnamed43(o[1]); } core.int buildCounterStatus = 0; @@ -2909,7 +2820,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed47(); + o.details = buildUnnamed44(); o.message = 'foo'; } buildCounterStatus--; @@ -2923,7 +2834,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed47(o.details!); + checkUnnamed44(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -2954,12 +2865,12 @@ void checkSummaryField(api.SummaryField o) { buildCounterSummaryField--; } -core.List buildUnnamed48() => [ +core.List buildUnnamed45() => [ 'foo', 'foo', ]; -void checkUnnamed48(core.List o) { +void checkUnnamed45(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2976,7 +2887,7 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { final o = api.TestIamPermissionsRequest(); buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - o.permissions = buildUnnamed48(); + o.permissions = buildUnnamed45(); } buildCounterTestIamPermissionsRequest--; return o; @@ -2985,17 +2896,17 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { void checkTestIamPermissionsRequest(api.TestIamPermissionsRequest o) { buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - checkUnnamed48(o.permissions!); + checkUnnamed45(o.permissions!); } buildCounterTestIamPermissionsRequest--; } -core.List buildUnnamed49() => [ +core.List buildUnnamed46() => [ 'foo', 'foo', ]; -void checkUnnamed49(core.List o) { +void checkUnnamed46(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3012,7 +2923,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { final o = api.TestIamPermissionsResponse(); buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - o.permissions = buildUnnamed49(); + o.permissions = buildUnnamed46(); } buildCounterTestIamPermissionsResponse--; return o; @@ -3021,7 +2932,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { void checkTestIamPermissionsResponse(api.TestIamPermissionsResponse o) { buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - checkUnnamed49(o.permissions!); + checkUnnamed46(o.permissions!); } buildCounterTestIamPermissionsResponse--; } @@ -3041,23 +2952,23 @@ void checkUndeleteBucketRequest(api.UndeleteBucketRequest o) { buildCounterUndeleteBucketRequest--; } -core.List buildUnnamed50() => [ +core.List buildUnnamed47() => [ buildLogEntry(), buildLogEntry(), ]; -void checkUnnamed50(core.List o) { +void checkUnnamed47(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLogEntry(o[0]); checkLogEntry(o[1]); } -core.Map buildUnnamed51() => { +core.Map buildUnnamed48() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed51(core.Map o) { +void checkUnnamed48(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3075,8 +2986,8 @@ api.WriteLogEntriesRequest buildWriteLogEntriesRequest() { buildCounterWriteLogEntriesRequest++; if (buildCounterWriteLogEntriesRequest < 3) { o.dryRun = true; - o.entries = buildUnnamed50(); - o.labels = buildUnnamed51(); + o.entries = buildUnnamed47(); + o.labels = buildUnnamed48(); o.logName = 'foo'; o.partialSuccess = true; o.resource = buildMonitoredResource(); @@ -3089,8 +3000,8 @@ void checkWriteLogEntriesRequest(api.WriteLogEntriesRequest o) { buildCounterWriteLogEntriesRequest++; if (buildCounterWriteLogEntriesRequest < 3) { unittest.expect(o.dryRun!, unittest.isTrue); - checkUnnamed50(o.entries!); - checkUnnamed51(o.labels!); + checkUnnamed47(o.entries!); + checkUnnamed48(o.labels!); unittest.expect( o.logName!, unittest.equals('foo'), @@ -3116,12 +3027,12 @@ void checkWriteLogEntriesResponse(api.WriteLogEntriesResponse o) { buildCounterWriteLogEntriesResponse--; } -core.List buildUnnamed52() => [ +core.List buildUnnamed49() => [ 'foo', 'foo', ]; -void checkUnnamed52(core.List o) { +void checkUnnamed49(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3133,12 +3044,12 @@ void checkUnnamed52(core.List o) { ); } -core.List buildUnnamed53() => [ +core.List buildUnnamed50() => [ 'foo', 'foo', ]; -void checkUnnamed53(core.List o) { +void checkUnnamed50(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3150,12 +3061,12 @@ void checkUnnamed53(core.List o) { ); } -core.List buildUnnamed54() => [ +core.List buildUnnamed51() => [ 'foo', 'foo', ]; -void checkUnnamed54(core.List o) { +void checkUnnamed51(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3167,12 +3078,12 @@ void checkUnnamed54(core.List o) { ); } -core.List buildUnnamed55() => [ +core.List buildUnnamed52() => [ 'foo', 'foo', ]; -void checkUnnamed55(core.List o) { +void checkUnnamed52(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3184,12 +3095,12 @@ void checkUnnamed55(core.List o) { ); } -core.List buildUnnamed56() => [ +core.List buildUnnamed53() => [ 'foo', 'foo', ]; -void checkUnnamed56(core.List o) { +void checkUnnamed53(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3201,12 +3112,12 @@ void checkUnnamed56(core.List o) { ); } -core.List buildUnnamed57() => [ +core.List buildUnnamed54() => [ 'foo', 'foo', ]; -void checkUnnamed57(core.List o) { +void checkUnnamed54(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3218,12 +3129,12 @@ void checkUnnamed57(core.List o) { ); } -core.List buildUnnamed58() => [ +core.List buildUnnamed55() => [ 'foo', 'foo', ]; -void checkUnnamed58(core.List o) { +void checkUnnamed55(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3235,12 +3146,12 @@ void checkUnnamed58(core.List o) { ); } -core.List buildUnnamed59() => [ +core.List buildUnnamed56() => [ 'foo', 'foo', ]; -void checkUnnamed59(core.List o) { +void checkUnnamed56(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3252,12 +3163,12 @@ void checkUnnamed59(core.List o) { ); } -core.List buildUnnamed60() => [ +core.List buildUnnamed57() => [ 'foo', 'foo', ]; -void checkUnnamed60(core.List o) { +void checkUnnamed57(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3270,26 +3181,6 @@ void checkUnnamed60(core.List o) { } void main() { - unittest.group('obj-schema-AuditConfig', () { - unittest.test('to-json--from-json', () async { - final o = buildAuditConfig(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AuditConfig.fromJson( - oJson as core.Map); - checkAuditConfig(od); - }); - }); - - unittest.group('obj-schema-AuditLogConfig', () { - unittest.test('to-json--from-json', () async { - final o = buildAuditLogConfig(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AuditLogConfig.fromJson( - oJson as core.Map); - checkAuditLogConfig(od); - }); - }); - unittest.group('obj-schema-BigQueryDataset', () { unittest.test('to-json--from-json', () async { final o = buildBigQueryDataset(); @@ -5495,7 +5386,7 @@ void main() { final arg_parent = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; - final arg_resourceNames = buildUnnamed52(); + final arg_resourceNames = buildUnnamed49(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -6179,7 +6070,7 @@ void main() { final arg_parent = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; - final arg_resourceNames = buildUnnamed53(); + final arg_resourceNames = buildUnnamed50(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -8884,7 +8775,7 @@ void main() { final arg_parent = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; - final arg_resourceNames = buildUnnamed54(); + final arg_resourceNames = buildUnnamed51(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -9865,7 +9756,7 @@ void main() { final arg_parent = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; - final arg_resourceNames = buildUnnamed55(); + final arg_resourceNames = buildUnnamed52(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -11884,7 +11775,7 @@ void main() { final arg_parent = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; - final arg_resourceNames = buildUnnamed56(); + final arg_resourceNames = buildUnnamed53(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -13862,7 +13753,7 @@ void main() { final arg_parent = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; - final arg_resourceNames = buildUnnamed57(); + final arg_resourceNames = buildUnnamed54(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -14843,7 +14734,7 @@ void main() { final arg_parent = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; - final arg_resourceNames = buildUnnamed58(); + final arg_resourceNames = buildUnnamed55(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -17026,7 +16917,7 @@ void main() { final arg_parent = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; - final arg_resourceNames = buildUnnamed59(); + final arg_resourceNames = buildUnnamed56(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -18007,7 +17898,7 @@ void main() { final arg_parent = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; - final arg_resourceNames = buildUnnamed60(); + final arg_resourceNames = buildUnnamed57(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; diff --git a/generated/googleapis/test/looker/v1_test.dart b/generated/googleapis/test/looker/v1_test.dart index 9585a1b7c..769b3ce34 100644 --- a/generated/googleapis/test/looker/v1_test.dart +++ b/generated/googleapis/test/looker/v1_test.dart @@ -62,125 +62,6 @@ void checkAdminSettings(api.AdminSettings o) { buildCounterAdminSettings--; } -core.List buildUnnamed1() => [ - buildAuditLogConfig(), - buildAuditLogConfig(), - ]; - -void checkUnnamed1(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - checkAuditLogConfig(o[0]); - checkAuditLogConfig(o[1]); -} - -core.int buildCounterAuditConfig = 0; -api.AuditConfig buildAuditConfig() { - final o = api.AuditConfig(); - buildCounterAuditConfig++; - if (buildCounterAuditConfig < 3) { - o.auditLogConfigs = buildUnnamed1(); - o.service = 'foo'; - } - buildCounterAuditConfig--; - return o; -} - -void checkAuditConfig(api.AuditConfig o) { - buildCounterAuditConfig++; - if (buildCounterAuditConfig < 3) { - checkUnnamed1(o.auditLogConfigs!); - unittest.expect( - o.service!, - unittest.equals('foo'), - ); - } - buildCounterAuditConfig--; -} - -core.List buildUnnamed2() => [ - 'foo', - 'foo', - ]; - -void checkUnnamed2(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - unittest.expect( - o[0], - unittest.equals('foo'), - ); - unittest.expect( - o[1], - unittest.equals('foo'), - ); -} - -core.int buildCounterAuditLogConfig = 0; -api.AuditLogConfig buildAuditLogConfig() { - final o = api.AuditLogConfig(); - buildCounterAuditLogConfig++; - if (buildCounterAuditLogConfig < 3) { - o.exemptedMembers = buildUnnamed2(); - o.logType = 'foo'; - } - buildCounterAuditLogConfig--; - return o; -} - -void checkAuditLogConfig(api.AuditLogConfig o) { - buildCounterAuditLogConfig++; - if (buildCounterAuditLogConfig < 3) { - checkUnnamed2(o.exemptedMembers!); - unittest.expect( - o.logType!, - unittest.equals('foo'), - ); - } - buildCounterAuditLogConfig--; -} - -core.List buildUnnamed3() => [ - 'foo', - 'foo', - ]; - -void checkUnnamed3(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - unittest.expect( - o[0], - unittest.equals('foo'), - ); - unittest.expect( - o[1], - unittest.equals('foo'), - ); -} - -core.int buildCounterBinding = 0; -api.Binding buildBinding() { - final o = api.Binding(); - buildCounterBinding++; - if (buildCounterBinding < 3) { - o.condition = buildExpr(); - o.members = buildUnnamed3(); - o.role = 'foo'; - } - buildCounterBinding--; - return o; -} - -void checkBinding(api.Binding o) { - buildCounterBinding++; - if (buildCounterBinding < 3) { - checkExpr(o.condition!); - checkUnnamed3(o.members!); - unittest.expect( - o.role!, - unittest.equals('foo'), - ); - } - buildCounterBinding--; -} - core.int buildCounterCancelOperationRequest = 0; api.CancelOperationRequest buildCancelOperationRequest() { final o = api.CancelOperationRequest(); @@ -371,43 +252,6 @@ void checkExportInstanceRequest(api.ExportInstanceRequest o) { buildCounterExportInstanceRequest--; } -core.int buildCounterExpr = 0; -api.Expr buildExpr() { - final o = api.Expr(); - buildCounterExpr++; - if (buildCounterExpr < 3) { - o.description = 'foo'; - o.expression = 'foo'; - o.location = 'foo'; - o.title = 'foo'; - } - buildCounterExpr--; - return o; -} - -void checkExpr(api.Expr o) { - buildCounterExpr++; - if (buildCounterExpr < 3) { - unittest.expect( - o.description!, - unittest.equals('foo'), - ); - unittest.expect( - o.expression!, - unittest.equals('foo'), - ); - unittest.expect( - o.location!, - unittest.equals('foo'), - ); - unittest.expect( - o.title!, - unittest.equals('foo'), - ); - } - buildCounterExpr--; -} - core.int buildCounterImportInstanceRequest = 0; api.ImportInstanceRequest buildImportInstanceRequest() { final o = api.ImportInstanceRequest(); @@ -460,6 +304,8 @@ api.Instance buildInstance() { o.pscEnabled = true; o.publicIpEnabled = true; o.reservedRange = 'foo'; + o.satisfiesPzi = true; + o.satisfiesPzs = true; o.state = 'foo'; o.updateTime = 'foo'; o.userMetadata = buildUserMetadata(); @@ -529,6 +375,8 @@ void checkInstance(api.Instance o) { o.reservedRange!, unittest.equals('foo'), ); + unittest.expect(o.satisfiesPzi!, unittest.isTrue); + unittest.expect(o.satisfiesPzs!, unittest.isTrue); unittest.expect( o.state!, unittest.equals('foo'), @@ -542,23 +390,116 @@ void checkInstance(api.Instance o) { buildCounterInstance--; } -core.List buildUnnamed4() => [ +core.int buildCounterInstanceBackup = 0; +api.InstanceBackup buildInstanceBackup() { + final o = api.InstanceBackup(); + buildCounterInstanceBackup++; + if (buildCounterInstanceBackup < 3) { + o.createTime = 'foo'; + o.encryptionConfig = buildEncryptionConfig(); + o.expireTime = 'foo'; + o.name = 'foo'; + o.state = 'foo'; + } + buildCounterInstanceBackup--; + return o; +} + +void checkInstanceBackup(api.InstanceBackup o) { + buildCounterInstanceBackup++; + if (buildCounterInstanceBackup < 3) { + unittest.expect( + o.createTime!, + unittest.equals('foo'), + ); + checkEncryptionConfig(o.encryptionConfig!); + unittest.expect( + o.expireTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.state!, + unittest.equals('foo'), + ); + } + buildCounterInstanceBackup--; +} + +core.List buildUnnamed1() => [ + buildInstanceBackup(), + buildInstanceBackup(), + ]; + +void checkUnnamed1(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkInstanceBackup(o[0]); + checkInstanceBackup(o[1]); +} + +core.List buildUnnamed2() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed2(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterListInstanceBackupsResponse = 0; +api.ListInstanceBackupsResponse buildListInstanceBackupsResponse() { + final o = api.ListInstanceBackupsResponse(); + buildCounterListInstanceBackupsResponse++; + if (buildCounterListInstanceBackupsResponse < 3) { + o.instanceBackups = buildUnnamed1(); + o.nextPageToken = 'foo'; + o.unreachable = buildUnnamed2(); + } + buildCounterListInstanceBackupsResponse--; + return o; +} + +void checkListInstanceBackupsResponse(api.ListInstanceBackupsResponse o) { + buildCounterListInstanceBackupsResponse++; + if (buildCounterListInstanceBackupsResponse < 3) { + checkUnnamed1(o.instanceBackups!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + checkUnnamed2(o.unreachable!); + } + buildCounterListInstanceBackupsResponse--; +} + +core.List buildUnnamed3() => [ buildInstance(), buildInstance(), ]; -void checkUnnamed4(core.List o) { +void checkUnnamed3(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstance(o[0]); checkInstance(o[1]); } -core.List buildUnnamed5() => [ +core.List buildUnnamed4() => [ 'foo', 'foo', ]; -void checkUnnamed5(core.List o) { +void checkUnnamed4(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -575,9 +516,9 @@ api.ListInstancesResponse buildListInstancesResponse() { final o = api.ListInstancesResponse(); buildCounterListInstancesResponse++; if (buildCounterListInstancesResponse < 3) { - o.instances = buildUnnamed4(); + o.instances = buildUnnamed3(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed5(); + o.unreachable = buildUnnamed4(); } buildCounterListInstancesResponse--; return o; @@ -586,22 +527,22 @@ api.ListInstancesResponse buildListInstancesResponse() { void checkListInstancesResponse(api.ListInstancesResponse o) { buildCounterListInstancesResponse++; if (buildCounterListInstancesResponse < 3) { - checkUnnamed4(o.instances!); + checkUnnamed3(o.instances!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed5(o.unreachable!); + checkUnnamed4(o.unreachable!); } buildCounterListInstancesResponse--; } -core.List buildUnnamed6() => [ +core.List buildUnnamed5() => [ buildLocation(), buildLocation(), ]; -void checkUnnamed6(core.List o) { +void checkUnnamed5(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLocation(o[0]); checkLocation(o[1]); @@ -612,7 +553,7 @@ api.ListLocationsResponse buildListLocationsResponse() { final o = api.ListLocationsResponse(); buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - o.locations = buildUnnamed6(); + o.locations = buildUnnamed5(); o.nextPageToken = 'foo'; } buildCounterListLocationsResponse--; @@ -622,7 +563,7 @@ api.ListLocationsResponse buildListLocationsResponse() { void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - checkUnnamed6(o.locations!); + checkUnnamed5(o.locations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -631,12 +572,12 @@ void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse--; } -core.List buildUnnamed7() => [ +core.List buildUnnamed6() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed7(core.List o) { +void checkUnnamed6(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -648,7 +589,7 @@ api.ListOperationsResponse buildListOperationsResponse() { buildCounterListOperationsResponse++; if (buildCounterListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed7(); + o.operations = buildUnnamed6(); } buildCounterListOperationsResponse--; return o; @@ -661,17 +602,17 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed7(o.operations!); + checkUnnamed6(o.operations!); } buildCounterListOperationsResponse--; } -core.Map buildUnnamed8() => { +core.Map buildUnnamed7() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed8(core.Map o) { +void checkUnnamed7(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -683,7 +624,7 @@ void checkUnnamed8(core.Map o) { ); } -core.Map buildUnnamed9() => { +core.Map buildUnnamed8() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -696,7 +637,7 @@ core.Map buildUnnamed9() => { }, }; -void checkUnnamed9(core.Map o) { +void checkUnnamed8(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -734,9 +675,9 @@ api.Location buildLocation() { buildCounterLocation++; if (buildCounterLocation < 3) { o.displayName = 'foo'; - o.labels = buildUnnamed8(); + o.labels = buildUnnamed7(); o.locationId = 'foo'; - o.metadata = buildUnnamed9(); + o.metadata = buildUnnamed8(); o.name = 'foo'; } buildCounterLocation--; @@ -750,12 +691,12 @@ void checkLocation(api.Location o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed8(o.labels!); + checkUnnamed7(o.labels!); unittest.expect( o.locationId!, unittest.equals('foo'), ); - checkUnnamed9(o.metadata!); + checkUnnamed8(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), @@ -842,7 +783,7 @@ void checkOAuthConfig(api.OAuthConfig o) { buildCounterOAuthConfig--; } -core.Map buildUnnamed10() => { +core.Map buildUnnamed9() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -855,7 +796,7 @@ core.Map buildUnnamed10() => { }, }; -void checkUnnamed10(core.Map o) { +void checkUnnamed9(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -887,7 +828,7 @@ void checkUnnamed10(core.Map o) { ); } -core.Map buildUnnamed11() => { +core.Map buildUnnamed10() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -900,7 +841,7 @@ core.Map buildUnnamed11() => { }, }; -void checkUnnamed11(core.Map o) { +void checkUnnamed10(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -939,9 +880,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed10(); + o.metadata = buildUnnamed9(); o.name = 'foo'; - o.response = buildUnnamed11(); + o.response = buildUnnamed10(); } buildCounterOperation--; return o; @@ -952,75 +893,22 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed10(o.metadata!); + checkUnnamed9(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed11(o.response!); + checkUnnamed10(o.response!); } buildCounterOperation--; } -core.List buildUnnamed12() => [ - buildAuditConfig(), - buildAuditConfig(), - ]; - -void checkUnnamed12(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - checkAuditConfig(o[0]); - checkAuditConfig(o[1]); -} - -core.List buildUnnamed13() => [ - buildBinding(), - buildBinding(), - ]; - -void checkUnnamed13(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - checkBinding(o[0]); - checkBinding(o[1]); -} - -core.int buildCounterPolicy = 0; -api.Policy buildPolicy() { - final o = api.Policy(); - buildCounterPolicy++; - if (buildCounterPolicy < 3) { - o.auditConfigs = buildUnnamed12(); - o.bindings = buildUnnamed13(); - o.etag = 'foo'; - o.version = 42; - } - buildCounterPolicy--; - return o; -} - -void checkPolicy(api.Policy o) { - buildCounterPolicy++; - if (buildCounterPolicy < 3) { - checkUnnamed12(o.auditConfigs!); - checkUnnamed13(o.bindings!); - unittest.expect( - o.etag!, - unittest.equals('foo'), - ); - unittest.expect( - o.version!, - unittest.equals(42), - ); - } - buildCounterPolicy--; -} - -core.List buildUnnamed14() => [ +core.List buildUnnamed11() => [ 'foo', 'foo', ]; -void checkUnnamed14(core.List o) { +void checkUnnamed11(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1032,12 +920,12 @@ void checkUnnamed14(core.List o) { ); } -core.List buildUnnamed15() => [ +core.List buildUnnamed12() => [ buildServiceAttachment(), buildServiceAttachment(), ]; -void checkUnnamed15(core.List o) { +void checkUnnamed12(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceAttachment(o[0]); checkServiceAttachment(o[1]); @@ -1048,9 +936,9 @@ api.PscConfig buildPscConfig() { final o = api.PscConfig(); buildCounterPscConfig++; if (buildCounterPscConfig < 3) { - o.allowedVpcs = buildUnnamed14(); + o.allowedVpcs = buildUnnamed11(); o.lookerServiceAttachmentUri = 'foo'; - o.serviceAttachments = buildUnnamed15(); + o.serviceAttachments = buildUnnamed12(); } buildCounterPscConfig--; return o; @@ -1059,12 +947,12 @@ api.PscConfig buildPscConfig() { void checkPscConfig(api.PscConfig o) { buildCounterPscConfig++; if (buildCounterPscConfig < 3) { - checkUnnamed14(o.allowedVpcs!); + checkUnnamed11(o.allowedVpcs!); unittest.expect( o.lookerServiceAttachmentUri!, unittest.equals('foo'), ); - checkUnnamed15(o.serviceAttachments!); + checkUnnamed12(o.serviceAttachments!); } buildCounterPscConfig--; } @@ -1084,6 +972,28 @@ void checkRestartInstanceRequest(api.RestartInstanceRequest o) { buildCounterRestartInstanceRequest--; } +core.int buildCounterRestoreInstanceRequest = 0; +api.RestoreInstanceRequest buildRestoreInstanceRequest() { + final o = api.RestoreInstanceRequest(); + buildCounterRestoreInstanceRequest++; + if (buildCounterRestoreInstanceRequest < 3) { + o.backup = 'foo'; + } + buildCounterRestoreInstanceRequest--; + return o; +} + +void checkRestoreInstanceRequest(api.RestoreInstanceRequest o) { + buildCounterRestoreInstanceRequest++; + if (buildCounterRestoreInstanceRequest < 3) { + unittest.expect( + o.backup!, + unittest.equals('foo'), + ); + } + buildCounterRestoreInstanceRequest--; +} + core.int buildCounterServiceAttachment = 0; api.ServiceAttachment buildServiceAttachment() { final o = api.ServiceAttachment(); @@ -1116,31 +1026,7 @@ void checkServiceAttachment(api.ServiceAttachment o) { buildCounterServiceAttachment--; } -core.int buildCounterSetIamPolicyRequest = 0; -api.SetIamPolicyRequest buildSetIamPolicyRequest() { - final o = api.SetIamPolicyRequest(); - buildCounterSetIamPolicyRequest++; - if (buildCounterSetIamPolicyRequest < 3) { - o.policy = buildPolicy(); - o.updateMask = 'foo'; - } - buildCounterSetIamPolicyRequest--; - return o; -} - -void checkSetIamPolicyRequest(api.SetIamPolicyRequest o) { - buildCounterSetIamPolicyRequest++; - if (buildCounterSetIamPolicyRequest < 3) { - checkPolicy(o.policy!); - unittest.expect( - o.updateMask!, - unittest.equals('foo'), - ); - } - buildCounterSetIamPolicyRequest--; -} - -core.Map buildUnnamed16() => { +core.Map buildUnnamed13() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1153,7 +1039,7 @@ core.Map buildUnnamed16() => { }, }; -void checkUnnamed16(core.Map o) { +void checkUnnamed13(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -1185,15 +1071,15 @@ void checkUnnamed16(core.Map o) { ); } -core.List> buildUnnamed17() => [ - buildUnnamed16(), - buildUnnamed16(), +core.List> buildUnnamed14() => [ + buildUnnamed13(), + buildUnnamed13(), ]; -void checkUnnamed17(core.List> o) { +void checkUnnamed14(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed16(o[0]); - checkUnnamed16(o[1]); + checkUnnamed13(o[0]); + checkUnnamed13(o[1]); } core.int buildCounterStatus = 0; @@ -1202,7 +1088,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed17(); + o.details = buildUnnamed14(); o.message = 'foo'; } buildCounterStatus--; @@ -1216,7 +1102,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed17(o.details!); + checkUnnamed14(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -1225,78 +1111,6 @@ void checkStatus(api.Status o) { buildCounterStatus--; } -core.List buildUnnamed18() => [ - 'foo', - 'foo', - ]; - -void checkUnnamed18(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - unittest.expect( - o[0], - unittest.equals('foo'), - ); - unittest.expect( - o[1], - unittest.equals('foo'), - ); -} - -core.int buildCounterTestIamPermissionsRequest = 0; -api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { - final o = api.TestIamPermissionsRequest(); - buildCounterTestIamPermissionsRequest++; - if (buildCounterTestIamPermissionsRequest < 3) { - o.permissions = buildUnnamed18(); - } - buildCounterTestIamPermissionsRequest--; - return o; -} - -void checkTestIamPermissionsRequest(api.TestIamPermissionsRequest o) { - buildCounterTestIamPermissionsRequest++; - if (buildCounterTestIamPermissionsRequest < 3) { - checkUnnamed18(o.permissions!); - } - buildCounterTestIamPermissionsRequest--; -} - -core.List buildUnnamed19() => [ - 'foo', - 'foo', - ]; - -void checkUnnamed19(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - unittest.expect( - o[0], - unittest.equals('foo'), - ); - unittest.expect( - o[1], - unittest.equals('foo'), - ); -} - -core.int buildCounterTestIamPermissionsResponse = 0; -api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { - final o = api.TestIamPermissionsResponse(); - buildCounterTestIamPermissionsResponse++; - if (buildCounterTestIamPermissionsResponse < 3) { - o.permissions = buildUnnamed19(); - } - buildCounterTestIamPermissionsResponse--; - return o; -} - -void checkTestIamPermissionsResponse(api.TestIamPermissionsResponse o) { - buildCounterTestIamPermissionsResponse++; - if (buildCounterTestIamPermissionsResponse < 3) { - checkUnnamed19(o.permissions!); - } - buildCounterTestIamPermissionsResponse--; -} - core.int buildCounterTimeOfDay = 0; api.TimeOfDay buildTimeOfDay() { final o = api.TimeOfDay(); @@ -1377,36 +1191,6 @@ void main() { }); }); - unittest.group('obj-schema-AuditConfig', () { - unittest.test('to-json--from-json', () async { - final o = buildAuditConfig(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AuditConfig.fromJson( - oJson as core.Map); - checkAuditConfig(od); - }); - }); - - unittest.group('obj-schema-AuditLogConfig', () { - unittest.test('to-json--from-json', () async { - final o = buildAuditLogConfig(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AuditLogConfig.fromJson( - oJson as core.Map); - checkAuditLogConfig(od); - }); - }); - - unittest.group('obj-schema-Binding', () { - unittest.test('to-json--from-json', () async { - final o = buildBinding(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = - api.Binding.fromJson(oJson as core.Map); - checkBinding(od); - }); - }); - unittest.group('obj-schema-CancelOperationRequest', () { unittest.test('to-json--from-json', () async { final o = buildCancelOperationRequest(); @@ -1487,16 +1271,6 @@ void main() { }); }); - unittest.group('obj-schema-Expr', () { - unittest.test('to-json--from-json', () async { - final o = buildExpr(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = - api.Expr.fromJson(oJson as core.Map); - checkExpr(od); - }); - }); - unittest.group('obj-schema-ImportInstanceRequest', () { unittest.test('to-json--from-json', () async { final o = buildImportInstanceRequest(); @@ -1517,6 +1291,26 @@ void main() { }); }); + unittest.group('obj-schema-InstanceBackup', () { + unittest.test('to-json--from-json', () async { + final o = buildInstanceBackup(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.InstanceBackup.fromJson( + oJson as core.Map); + checkInstanceBackup(od); + }); + }); + + unittest.group('obj-schema-ListInstanceBackupsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListInstanceBackupsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListInstanceBackupsResponse.fromJson( + oJson as core.Map); + checkListInstanceBackupsResponse(od); + }); + }); + unittest.group('obj-schema-ListInstancesResponse', () { unittest.test('to-json--from-json', () async { final o = buildListInstancesResponse(); @@ -1597,16 +1391,6 @@ void main() { }); }); - unittest.group('obj-schema-Policy', () { - unittest.test('to-json--from-json', () async { - final o = buildPolicy(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = - api.Policy.fromJson(oJson as core.Map); - checkPolicy(od); - }); - }); - unittest.group('obj-schema-PscConfig', () { unittest.test('to-json--from-json', () async { final o = buildPscConfig(); @@ -1627,23 +1411,23 @@ void main() { }); }); - unittest.group('obj-schema-ServiceAttachment', () { + unittest.group('obj-schema-RestoreInstanceRequest', () { unittest.test('to-json--from-json', () async { - final o = buildServiceAttachment(); + final o = buildRestoreInstanceRequest(); final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.ServiceAttachment.fromJson( + final od = api.RestoreInstanceRequest.fromJson( oJson as core.Map); - checkServiceAttachment(od); + checkRestoreInstanceRequest(od); }); }); - unittest.group('obj-schema-SetIamPolicyRequest', () { + unittest.group('obj-schema-ServiceAttachment', () { unittest.test('to-json--from-json', () async { - final o = buildSetIamPolicyRequest(); + final o = buildServiceAttachment(); final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.SetIamPolicyRequest.fromJson( + final od = api.ServiceAttachment.fromJson( oJson as core.Map); - checkSetIamPolicyRequest(od); + checkServiceAttachment(od); }); }); @@ -1657,26 +1441,6 @@ void main() { }); }); - unittest.group('obj-schema-TestIamPermissionsRequest', () { - unittest.test('to-json--from-json', () async { - final o = buildTestIamPermissionsRequest(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.TestIamPermissionsRequest.fromJson( - oJson as core.Map); - checkTestIamPermissionsRequest(od); - }); - }); - - unittest.group('obj-schema-TestIamPermissionsResponse', () { - unittest.test('to-json--from-json', () async { - final o = buildTestIamPermissionsResponse(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.TestIamPermissionsResponse.fromJson( - oJson as core.Map); - checkTestIamPermissionsResponse(od); - }); - }); - unittest.group('obj-schema-TimeOfDay', () { unittest.test('to-json--from-json', () async { final o = buildTimeOfDay(); @@ -2054,65 +1818,6 @@ void main() { checkInstance(response as api.Instance); }); - unittest.test('method--getIamPolicy', () async { - final mock = HttpServerMock(); - final res = api.LookerApi(mock).projects.locations.instances; - final arg_resource = 'foo'; - final arg_options_requestedPolicyVersion = 42; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 3), - unittest.equals('v1/'), - ); - pathOffset += 3; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - core.int.parse(queryMap['options.requestedPolicyVersion']!.first), - unittest.equals(arg_options_requestedPolicyVersion), - ); - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json.encode(buildPolicy()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.getIamPolicy(arg_resource, - options_requestedPolicyVersion: arg_options_requestedPolicyVersion, - $fields: arg_$fields); - checkPolicy(response as api.Policy); - }); - unittest.test('method--import', () async { final mock = HttpServerMock(); final res = api.LookerApi(mock).projects.locations.instances; @@ -2357,16 +2062,16 @@ void main() { checkOperation(response as api.Operation); }); - unittest.test('method--setIamPolicy', () async { + unittest.test('method--restore', () async { final mock = HttpServerMock(); final res = api.LookerApi(mock).projects.locations.instances; - final arg_request = buildSetIamPolicyRequest(); - final arg_resource = 'foo'; + final arg_request = buildRestoreInstanceRequest(); + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.SetIamPolicyRequest.fromJson( + final obj = api.RestoreInstanceRequest.fromJson( json as core.Map); - checkSetIamPolicyRequest(obj); + checkRestoreInstanceRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -2407,24 +2112,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPolicy()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setIamPolicy(arg_request, arg_resource, - $fields: arg_$fields); - checkPolicy(response as api.Policy); + final response = + await res.restore(arg_request, arg_name, $fields: arg_$fields); + checkOperation(response as api.Operation); }); + }); - unittest.test('method--testIamPermissions', () async { + unittest.group('resource-ProjectsLocationsInstancesBackupsResource', () { + unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.LookerApi(mock).projects.locations.instances; - final arg_request = buildTestIamPermissionsRequest(); - final arg_resource = 'foo'; + final res = api.LookerApi(mock).projects.locations.instances.backups; + final arg_request = buildInstanceBackup(); + final arg_parent = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.TestIamPermissionsRequest.fromJson( + final obj = api.InstanceBackup.fromJson( json as core.Map); - checkTestIamPermissionsRequest(obj); + checkInstanceBackup(obj); final path = req.url.path; var pathOffset = 0; @@ -2465,22 +2172,18 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildTestIamPermissionsResponse()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.testIamPermissions(arg_request, arg_resource, - $fields: arg_$fields); - checkTestIamPermissionsResponse( - response as api.TestIamPermissionsResponse); + final response = + await res.create(arg_request, arg_parent, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - }); - unittest.group('resource-ProjectsLocationsInstancesBackupsResource', () { - unittest.test('method--getIamPolicy', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); final res = api.LookerApi(mock).projects.locations.instances.backups; - final arg_resource = 'foo'; - final arg_options_requestedPolicyVersion = 42; + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -2514,10 +2217,6 @@ void main() { ); } } - unittest.expect( - core.int.parse(queryMap['options.requestedPolicyVersion']!.first), - unittest.equals(arg_options_requestedPolicyVersion), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -2526,26 +2225,19 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPolicy()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getIamPolicy(arg_resource, - options_requestedPolicyVersion: arg_options_requestedPolicyVersion, - $fields: arg_$fields); - checkPolicy(response as api.Policy); + final response = await res.delete(arg_name, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--setIamPolicy', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); final res = api.LookerApi(mock).projects.locations.instances.backups; - final arg_request = buildSetIamPolicyRequest(); - final arg_resource = 'foo'; + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.SetIamPolicyRequest.fromJson( - json as core.Map); - checkSetIamPolicyRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -2585,25 +2277,22 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildPolicy()); + final resp = convert.json.encode(buildInstanceBackup()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setIamPolicy(arg_request, arg_resource, - $fields: arg_$fields); - checkPolicy(response as api.Policy); + final response = await res.get(arg_name, $fields: arg_$fields); + checkInstanceBackup(response as api.InstanceBackup); }); - unittest.test('method--testIamPermissions', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.LookerApi(mock).projects.locations.instances.backups; - final arg_request = buildTestIamPermissionsRequest(); - final arg_resource = 'foo'; + final arg_parent = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.TestIamPermissionsRequest.fromJson( - json as core.Map); - checkTestIamPermissionsRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -2635,6 +2324,18 @@ void main() { ); } } + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -2643,13 +2344,16 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildTestIamPermissionsResponse()); + final resp = convert.json.encode(buildListInstanceBackupsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.testIamPermissions(arg_request, arg_resource, + final response = await res.list(arg_parent, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, $fields: arg_$fields); - checkTestIamPermissionsResponse( - response as api.TestIamPermissionsResponse); + checkListInstanceBackupsResponse( + response as api.ListInstanceBackupsResponse); }); }); diff --git a/generated/googleapis/test/migrationcenter/v1_test.dart b/generated/googleapis/test/migrationcenter/v1_test.dart index c746ec859..336380ebb 100644 --- a/generated/googleapis/test/migrationcenter/v1_test.dart +++ b/generated/googleapis/test/migrationcenter/v1_test.dart @@ -711,6 +711,21 @@ void checkAwsEc2PlatformDetails(api.AwsEc2PlatformDetails o) { buildCounterAwsEc2PlatformDetails--; } +core.int buildCounterAwsRds = 0; +api.AwsRds buildAwsRds() { + final o = api.AwsRds(); + buildCounterAwsRds++; + if (buildCounterAwsRds < 3) {} + buildCounterAwsRds--; + return o; +} + +void checkAwsRds(api.AwsRds o) { + buildCounterAwsRds++; + if (buildCounterAwsRds < 3) {} + buildCounterAwsRds--; +} + core.int buildCounterAzureVmPlatformDetails = 0; api.AzureVmPlatformDetails buildAzureVmPlatformDetails() { final o = api.AzureVmPlatformDetails(); @@ -1217,6 +1232,7 @@ api.DatabaseDeploymentDetails buildDatabaseDeploymentDetails() { buildCounterDatabaseDeploymentDetails++; if (buildCounterDatabaseDeploymentDetails < 3) { o.aggregatedStats = buildDatabaseDeploymentDetailsAggregatedStats(); + o.awsRds = buildAwsRds(); o.edition = 'foo'; o.generatedId = 'foo'; o.manualUniqueId = 'foo'; @@ -1234,6 +1250,7 @@ void checkDatabaseDeploymentDetails(api.DatabaseDeploymentDetails o) { buildCounterDatabaseDeploymentDetails++; if (buildCounterDatabaseDeploymentDetails < 3) { checkDatabaseDeploymentDetailsAggregatedStats(o.aggregatedStats!); + checkAwsRds(o.awsRds!); unittest.expect( o.edition!, unittest.equals('foo'), @@ -1861,6 +1878,35 @@ void checkDiskPartition(api.DiskPartition o) { buildCounterDiskPartition--; } +core.int buildCounterDiskPartitionDetails = 0; +api.DiskPartitionDetails buildDiskPartitionDetails() { + final o = api.DiskPartitionDetails(); + buildCounterDiskPartitionDetails++; + if (buildCounterDiskPartitionDetails < 3) { + o.freeSpaceBytes = 'foo'; + o.partitions = buildDiskPartitionList(); + o.totalCapacityBytes = 'foo'; + } + buildCounterDiskPartitionDetails--; + return o; +} + +void checkDiskPartitionDetails(api.DiskPartitionDetails o) { + buildCounterDiskPartitionDetails++; + if (buildCounterDiskPartitionDetails < 3) { + unittest.expect( + o.freeSpaceBytes!, + unittest.equals('foo'), + ); + checkDiskPartitionList(o.partitions!); + unittest.expect( + o.totalCapacityBytes!, + unittest.equals('foo'), + ); + } + buildCounterDiskPartitionDetails--; +} + core.List buildUnnamed26() => [ buildDiskPartition(), buildDiskPartition(), @@ -3402,23 +3448,58 @@ void checkListPreferenceSetsResponse(api.ListPreferenceSetsResponse o) { buildCounterListPreferenceSetsResponse--; } -core.List buildUnnamed57() => [ +core.List buildUnnamed57() => [ + buildRelation(), + buildRelation(), + ]; + +void checkUnnamed57(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkRelation(o[0]); + checkRelation(o[1]); +} + +core.int buildCounterListRelationsResponse = 0; +api.ListRelationsResponse buildListRelationsResponse() { + final o = api.ListRelationsResponse(); + buildCounterListRelationsResponse++; + if (buildCounterListRelationsResponse < 3) { + o.nextPageToken = 'foo'; + o.relations = buildUnnamed57(); + } + buildCounterListRelationsResponse--; + return o; +} + +void checkListRelationsResponse(api.ListRelationsResponse o) { + buildCounterListRelationsResponse++; + if (buildCounterListRelationsResponse < 3) { + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + checkUnnamed57(o.relations!); + } + buildCounterListRelationsResponse--; +} + +core.List buildUnnamed58() => [ buildReportConfig(), buildReportConfig(), ]; -void checkUnnamed57(core.List o) { +void checkUnnamed58(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReportConfig(o[0]); checkReportConfig(o[1]); } -core.List buildUnnamed58() => [ +core.List buildUnnamed59() => [ 'foo', 'foo', ]; -void checkUnnamed58(core.List o) { +void checkUnnamed59(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3436,8 +3517,8 @@ api.ListReportConfigsResponse buildListReportConfigsResponse() { buildCounterListReportConfigsResponse++; if (buildCounterListReportConfigsResponse < 3) { o.nextPageToken = 'foo'; - o.reportConfigs = buildUnnamed57(); - o.unreachable = buildUnnamed58(); + o.reportConfigs = buildUnnamed58(); + o.unreachable = buildUnnamed59(); } buildCounterListReportConfigsResponse--; return o; @@ -3450,29 +3531,29 @@ void checkListReportConfigsResponse(api.ListReportConfigsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed57(o.reportConfigs!); - checkUnnamed58(o.unreachable!); + checkUnnamed58(o.reportConfigs!); + checkUnnamed59(o.unreachable!); } buildCounterListReportConfigsResponse--; } -core.List buildUnnamed59() => [ +core.List buildUnnamed60() => [ buildReport(), buildReport(), ]; -void checkUnnamed59(core.List o) { +void checkUnnamed60(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReport(o[0]); checkReport(o[1]); } -core.List buildUnnamed60() => [ +core.List buildUnnamed61() => [ 'foo', 'foo', ]; -void checkUnnamed60(core.List o) { +void checkUnnamed61(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3490,8 +3571,8 @@ api.ListReportsResponse buildListReportsResponse() { buildCounterListReportsResponse++; if (buildCounterListReportsResponse < 3) { o.nextPageToken = 'foo'; - o.reports = buildUnnamed59(); - o.unreachable = buildUnnamed60(); + o.reports = buildUnnamed60(); + o.unreachable = buildUnnamed61(); } buildCounterListReportsResponse--; return o; @@ -3504,29 +3585,29 @@ void checkListReportsResponse(api.ListReportsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed59(o.reports!); - checkUnnamed60(o.unreachable!); + checkUnnamed60(o.reports!); + checkUnnamed61(o.unreachable!); } buildCounterListReportsResponse--; } -core.List buildUnnamed61() => [ +core.List buildUnnamed62() => [ buildSource(), buildSource(), ]; -void checkUnnamed61(core.List o) { +void checkUnnamed62(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSource(o[0]); checkSource(o[1]); } -core.List buildUnnamed62() => [ +core.List buildUnnamed63() => [ 'foo', 'foo', ]; -void checkUnnamed62(core.List o) { +void checkUnnamed63(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3544,8 +3625,8 @@ api.ListSourcesResponse buildListSourcesResponse() { buildCounterListSourcesResponse++; if (buildCounterListSourcesResponse < 3) { o.nextPageToken = 'foo'; - o.sources = buildUnnamed61(); - o.unreachable = buildUnnamed62(); + o.sources = buildUnnamed62(); + o.unreachable = buildUnnamed63(); } buildCounterListSourcesResponse--; return o; @@ -3558,18 +3639,18 @@ void checkListSourcesResponse(api.ListSourcesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed61(o.sources!); - checkUnnamed62(o.unreachable!); + checkUnnamed62(o.sources!); + checkUnnamed63(o.unreachable!); } buildCounterListSourcesResponse--; } -core.Map buildUnnamed63() => { +core.Map buildUnnamed64() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed63(core.Map o) { +void checkUnnamed64(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3581,7 +3662,7 @@ void checkUnnamed63(core.Map o) { ); } -core.Map buildUnnamed64() => { +core.Map buildUnnamed65() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3594,7 +3675,7 @@ core.Map buildUnnamed64() => { }, }; -void checkUnnamed64(core.Map o) { +void checkUnnamed65(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -3632,9 +3713,9 @@ api.Location buildLocation() { buildCounterLocation++; if (buildCounterLocation < 3) { o.displayName = 'foo'; - o.labels = buildUnnamed63(); + o.labels = buildUnnamed64(); o.locationId = 'foo'; - o.metadata = buildUnnamed64(); + o.metadata = buildUnnamed65(); o.name = 'foo'; } buildCounterLocation--; @@ -3648,12 +3729,12 @@ void checkLocation(api.Location o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed63(o.labels!); + checkUnnamed64(o.labels!); unittest.expect( o.locationId!, unittest.equals('foo'), ); - checkUnnamed64(o.metadata!); + checkUnnamed65(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), @@ -3729,6 +3810,7 @@ api.MachineDetails buildMachineDetails() { o.architecture = buildMachineArchitectureDetails(); o.coreCount = 42; o.createTime = 'foo'; + o.diskPartitions = buildDiskPartitionDetails(); o.disks = buildMachineDiskDetails(); o.guestOs = buildGuestOsDetails(); o.machineName = 'foo'; @@ -3754,6 +3836,7 @@ void checkMachineDetails(api.MachineDetails o) { o.createTime!, unittest.equals('foo'), ); + checkDiskPartitionDetails(o.diskPartitions!); checkMachineDiskDetails(o.disks!); checkGuestOsDetails(o.guestOs!); unittest.expect( @@ -3841,12 +3924,12 @@ void checkMachineNetworkDetails(api.MachineNetworkDetails o) { buildCounterMachineNetworkDetails--; } -core.List buildUnnamed65() => [ +core.List buildUnnamed66() => [ buildMachineSeries(), buildMachineSeries(), ]; -void checkUnnamed65(core.List o) { +void checkUnnamed66(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMachineSeries(o[0]); checkMachineSeries(o[1]); @@ -3857,7 +3940,7 @@ api.MachinePreferences buildMachinePreferences() { final o = api.MachinePreferences(); buildCounterMachinePreferences++; if (buildCounterMachinePreferences < 3) { - o.allowedMachineSeries = buildUnnamed65(); + o.allowedMachineSeries = buildUnnamed66(); } buildCounterMachinePreferences--; return o; @@ -3866,7 +3949,7 @@ api.MachinePreferences buildMachinePreferences() { void checkMachinePreferences(api.MachinePreferences o) { buildCounterMachinePreferences++; if (buildCounterMachinePreferences < 3) { - checkUnnamed65(o.allowedMachineSeries!); + checkUnnamed66(o.allowedMachineSeries!); } buildCounterMachinePreferences--; } @@ -4026,12 +4109,12 @@ void checkMySqlProperty(api.MySqlProperty o) { buildCounterMySqlProperty--; } -core.List buildUnnamed66() => [ +core.List buildUnnamed67() => [ buildMySqlStorageEngineDetails(), buildMySqlStorageEngineDetails(), ]; -void checkUnnamed66(core.List o) { +void checkUnnamed67(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMySqlStorageEngineDetails(o[0]); checkMySqlStorageEngineDetails(o[1]); @@ -4042,7 +4125,7 @@ api.MySqlSchemaDetails buildMySqlSchemaDetails() { final o = api.MySqlSchemaDetails(); buildCounterMySqlSchemaDetails++; if (buildCounterMySqlSchemaDetails < 3) { - o.storageEngines = buildUnnamed66(); + o.storageEngines = buildUnnamed67(); } buildCounterMySqlSchemaDetails--; return o; @@ -4051,7 +4134,7 @@ api.MySqlSchemaDetails buildMySqlSchemaDetails() { void checkMySqlSchemaDetails(api.MySqlSchemaDetails o) { buildCounterMySqlSchemaDetails++; if (buildCounterMySqlSchemaDetails < 3) { - checkUnnamed66(o.storageEngines!); + checkUnnamed67(o.storageEngines!); } buildCounterMySqlSchemaDetails--; } @@ -4120,34 +4203,34 @@ void checkMySqlVariable(api.MySqlVariable o) { buildCounterMySqlVariable--; } -core.List buildUnnamed67() => [ +core.List buildUnnamed68() => [ buildMySqlPlugin(), buildMySqlPlugin(), ]; -void checkUnnamed67(core.List o) { +void checkUnnamed68(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMySqlPlugin(o[0]); checkMySqlPlugin(o[1]); } -core.List buildUnnamed68() => [ +core.List buildUnnamed69() => [ buildMySqlProperty(), buildMySqlProperty(), ]; -void checkUnnamed68(core.List o) { +void checkUnnamed69(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMySqlProperty(o[0]); checkMySqlProperty(o[1]); } -core.List buildUnnamed69() => [ +core.List buildUnnamed70() => [ buildMySqlVariable(), buildMySqlVariable(), ]; -void checkUnnamed69(core.List o) { +void checkUnnamed70(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMySqlVariable(o[0]); checkMySqlVariable(o[1]); @@ -4158,10 +4241,10 @@ api.MysqlDatabaseDeployment buildMysqlDatabaseDeployment() { final o = api.MysqlDatabaseDeployment(); buildCounterMysqlDatabaseDeployment++; if (buildCounterMysqlDatabaseDeployment < 3) { - o.plugins = buildUnnamed67(); - o.properties = buildUnnamed68(); + o.plugins = buildUnnamed68(); + o.properties = buildUnnamed69(); o.resourceGroupsCount = 42; - o.variables = buildUnnamed69(); + o.variables = buildUnnamed70(); } buildCounterMysqlDatabaseDeployment--; return o; @@ -4170,13 +4253,13 @@ api.MysqlDatabaseDeployment buildMysqlDatabaseDeployment() { void checkMysqlDatabaseDeployment(api.MysqlDatabaseDeployment o) { buildCounterMysqlDatabaseDeployment++; if (buildCounterMysqlDatabaseDeployment < 3) { - checkUnnamed67(o.plugins!); - checkUnnamed68(o.properties!); + checkUnnamed68(o.plugins!); + checkUnnamed69(o.properties!); unittest.expect( o.resourceGroupsCount!, unittest.equals(42), ); - checkUnnamed69(o.variables!); + checkUnnamed70(o.variables!); } buildCounterMysqlDatabaseDeployment--; } @@ -4210,12 +4293,12 @@ void checkNetworkAdapterDetails(api.NetworkAdapterDetails o) { buildCounterNetworkAdapterDetails--; } -core.List buildUnnamed70() => [ +core.List buildUnnamed71() => [ buildNetworkAdapterDetails(), buildNetworkAdapterDetails(), ]; -void checkUnnamed70(core.List o) { +void checkUnnamed71(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkAdapterDetails(o[0]); checkNetworkAdapterDetails(o[1]); @@ -4226,7 +4309,7 @@ api.NetworkAdapterList buildNetworkAdapterList() { final o = api.NetworkAdapterList(); buildCounterNetworkAdapterList++; if (buildCounterNetworkAdapterList < 3) { - o.entries = buildUnnamed70(); + o.entries = buildUnnamed71(); } buildCounterNetworkAdapterList--; return o; @@ -4235,7 +4318,7 @@ api.NetworkAdapterList buildNetworkAdapterList() { void checkNetworkAdapterList(api.NetworkAdapterList o) { buildCounterNetworkAdapterList++; if (buildCounterNetworkAdapterList < 3) { - checkUnnamed70(o.entries!); + checkUnnamed71(o.entries!); } buildCounterNetworkAdapterList--; } @@ -4282,12 +4365,12 @@ void checkNetworkAddress(api.NetworkAddress o) { buildCounterNetworkAddress--; } -core.List buildUnnamed71() => [ +core.List buildUnnamed72() => [ buildNetworkAddress(), buildNetworkAddress(), ]; -void checkUnnamed71(core.List o) { +void checkUnnamed72(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkAddress(o[0]); checkNetworkAddress(o[1]); @@ -4298,7 +4381,7 @@ api.NetworkAddressList buildNetworkAddressList() { final o = api.NetworkAddressList(); buildCounterNetworkAddressList++; if (buildCounterNetworkAddressList < 3) { - o.entries = buildUnnamed71(); + o.entries = buildUnnamed72(); } buildCounterNetworkAddressList--; return o; @@ -4307,7 +4390,7 @@ api.NetworkAddressList buildNetworkAddressList() { void checkNetworkAddressList(api.NetworkAddressList o) { buildCounterNetworkAddressList++; if (buildCounterNetworkAddressList < 3) { - checkUnnamed71(o.entries!); + checkUnnamed72(o.entries!); } buildCounterNetworkAddressList--; } @@ -4369,12 +4452,12 @@ void checkNetworkConnection(api.NetworkConnection o) { buildCounterNetworkConnection--; } -core.List buildUnnamed72() => [ +core.List buildUnnamed73() => [ buildNetworkConnection(), buildNetworkConnection(), ]; -void checkUnnamed72(core.List o) { +void checkUnnamed73(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkConnection(o[0]); checkNetworkConnection(o[1]); @@ -4385,7 +4468,7 @@ api.NetworkConnectionList buildNetworkConnectionList() { final o = api.NetworkConnectionList(); buildCounterNetworkConnectionList++; if (buildCounterNetworkConnectionList < 3) { - o.entries = buildUnnamed72(); + o.entries = buildUnnamed73(); } buildCounterNetworkConnectionList--; return o; @@ -4394,7 +4477,7 @@ api.NetworkConnectionList buildNetworkConnectionList() { void checkNetworkConnectionList(api.NetworkConnectionList o) { buildCounterNetworkConnectionList++; if (buildCounterNetworkConnectionList < 3) { - checkUnnamed72(o.entries!); + checkUnnamed73(o.entries!); } buildCounterNetworkConnectionList--; } @@ -4426,12 +4509,12 @@ void checkNetworkUsageSample(api.NetworkUsageSample o) { buildCounterNetworkUsageSample--; } -core.List buildUnnamed73() => [ +core.List buildUnnamed74() => [ 'foo', 'foo', ]; -void checkUnnamed73(core.List o) { +void checkUnnamed74(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4449,7 +4532,7 @@ api.NfsExport buildNfsExport() { buildCounterNfsExport++; if (buildCounterNfsExport < 3) { o.exportDirectory = 'foo'; - o.hosts = buildUnnamed73(); + o.hosts = buildUnnamed74(); } buildCounterNfsExport--; return o; @@ -4462,17 +4545,17 @@ void checkNfsExport(api.NfsExport o) { o.exportDirectory!, unittest.equals('foo'), ); - checkUnnamed73(o.hosts!); + checkUnnamed74(o.hosts!); } buildCounterNfsExport--; } -core.List buildUnnamed74() => [ +core.List buildUnnamed75() => [ buildNfsExport(), buildNfsExport(), ]; -void checkUnnamed74(core.List o) { +void checkUnnamed75(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNfsExport(o[0]); checkNfsExport(o[1]); @@ -4483,7 +4566,7 @@ api.NfsExportList buildNfsExportList() { final o = api.NfsExportList(); buildCounterNfsExportList++; if (buildCounterNfsExportList < 3) { - o.entries = buildUnnamed74(); + o.entries = buildUnnamed75(); } buildCounterNfsExportList--; return o; @@ -4492,7 +4575,7 @@ api.NfsExportList buildNfsExportList() { void checkNfsExportList(api.NfsExportList o) { buildCounterNfsExportList++; if (buildCounterNfsExportList < 3) { - checkUnnamed74(o.entries!); + checkUnnamed75(o.entries!); } buildCounterNfsExportList--; } @@ -4534,12 +4617,12 @@ void checkOpenFileDetails(api.OpenFileDetails o) { buildCounterOpenFileDetails--; } -core.List buildUnnamed75() => [ +core.List buildUnnamed76() => [ buildOpenFileDetails(), buildOpenFileDetails(), ]; -void checkUnnamed75(core.List o) { +void checkUnnamed76(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOpenFileDetails(o[0]); checkOpenFileDetails(o[1]); @@ -4550,7 +4633,7 @@ api.OpenFileList buildOpenFileList() { final o = api.OpenFileList(); buildCounterOpenFileList++; if (buildCounterOpenFileList < 3) { - o.entries = buildUnnamed75(); + o.entries = buildUnnamed76(); } buildCounterOpenFileList--; return o; @@ -4559,12 +4642,12 @@ api.OpenFileList buildOpenFileList() { void checkOpenFileList(api.OpenFileList o) { buildCounterOpenFileList++; if (buildCounterOpenFileList < 3) { - checkUnnamed75(o.entries!); + checkUnnamed76(o.entries!); } buildCounterOpenFileList--; } -core.Map buildUnnamed76() => { +core.Map buildUnnamed77() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -4577,7 +4660,7 @@ core.Map buildUnnamed76() => { }, }; -void checkUnnamed76(core.Map o) { +void checkUnnamed77(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -4609,7 +4692,7 @@ void checkUnnamed76(core.Map o) { ); } -core.Map buildUnnamed77() => { +core.Map buildUnnamed78() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -4622,7 +4705,7 @@ core.Map buildUnnamed77() => { }, }; -void checkUnnamed77(core.Map o) { +void checkUnnamed78(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -4661,9 +4744,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed76(); + o.metadata = buildUnnamed77(); o.name = 'foo'; - o.response = buildUnnamed77(); + o.response = buildUnnamed78(); } buildCounterOperation--; return o; @@ -4674,12 +4757,12 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed76(o.metadata!); + checkUnnamed77(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed77(o.response!); + checkUnnamed78(o.response!); } buildCounterOperation--; } @@ -4768,23 +4851,23 @@ void checkPlatformDetails(api.PlatformDetails o) { buildCounterPlatformDetails--; } -core.List buildUnnamed78() => [ +core.List buildUnnamed79() => [ buildPostgreSqlProperty(), buildPostgreSqlProperty(), ]; -void checkUnnamed78(core.List o) { +void checkUnnamed79(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPostgreSqlProperty(o[0]); checkPostgreSqlProperty(o[1]); } -core.List buildUnnamed79() => [ +core.List buildUnnamed80() => [ buildPostgreSqlSetting(), buildPostgreSqlSetting(), ]; -void checkUnnamed79(core.List o) { +void checkUnnamed80(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPostgreSqlSetting(o[0]); checkPostgreSqlSetting(o[1]); @@ -4795,8 +4878,8 @@ api.PostgreSqlDatabaseDeployment buildPostgreSqlDatabaseDeployment() { final o = api.PostgreSqlDatabaseDeployment(); buildCounterPostgreSqlDatabaseDeployment++; if (buildCounterPostgreSqlDatabaseDeployment < 3) { - o.properties = buildUnnamed78(); - o.settings = buildUnnamed79(); + o.properties = buildUnnamed79(); + o.settings = buildUnnamed80(); } buildCounterPostgreSqlDatabaseDeployment--; return o; @@ -4805,8 +4888,8 @@ api.PostgreSqlDatabaseDeployment buildPostgreSqlDatabaseDeployment() { void checkPostgreSqlDatabaseDeployment(api.PostgreSqlDatabaseDeployment o) { buildCounterPostgreSqlDatabaseDeployment++; if (buildCounterPostgreSqlDatabaseDeployment < 3) { - checkUnnamed78(o.properties!); - checkUnnamed79(o.settings!); + checkUnnamed79(o.properties!); + checkUnnamed80(o.settings!); } buildCounterPostgreSqlDatabaseDeployment--; } @@ -4867,12 +4950,12 @@ void checkPostgreSqlProperty(api.PostgreSqlProperty o) { buildCounterPostgreSqlProperty--; } -core.List buildUnnamed80() => [ +core.List buildUnnamed81() => [ buildPostgreSqlExtension(), buildPostgreSqlExtension(), ]; -void checkUnnamed80(core.List o) { +void checkUnnamed81(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPostgreSqlExtension(o[0]); checkPostgreSqlExtension(o[1]); @@ -4884,7 +4967,7 @@ api.PostgreSqlSchemaDetails buildPostgreSqlSchemaDetails() { buildCounterPostgreSqlSchemaDetails++; if (buildCounterPostgreSqlSchemaDetails < 3) { o.foreignTablesCount = 42; - o.postgresqlExtensions = buildUnnamed80(); + o.postgresqlExtensions = buildUnnamed81(); } buildCounterPostgreSqlSchemaDetails--; return o; @@ -4897,7 +4980,7 @@ void checkPostgreSqlSchemaDetails(api.PostgreSqlSchemaDetails o) { o.foreignTablesCount!, unittest.equals(42), ); - checkUnnamed80(o.postgresqlExtensions!); + checkUnnamed81(o.postgresqlExtensions!); } buildCounterPostgreSqlSchemaDetails--; } @@ -4995,12 +5078,12 @@ void checkPreferenceSet(api.PreferenceSet o) { buildCounterPreferenceSet--; } -core.List buildUnnamed81() => [ +core.List buildUnnamed82() => [ 'foo', 'foo', ]; -void checkUnnamed81(core.List o) { +void checkUnnamed82(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5017,7 +5100,7 @@ api.RegionPreferences buildRegionPreferences() { final o = api.RegionPreferences(); buildCounterRegionPreferences++; if (buildCounterRegionPreferences < 3) { - o.preferredRegions = buildUnnamed81(); + o.preferredRegions = buildUnnamed82(); } buildCounterRegionPreferences--; return o; @@ -5026,11 +5109,53 @@ api.RegionPreferences buildRegionPreferences() { void checkRegionPreferences(api.RegionPreferences o) { buildCounterRegionPreferences++; if (buildCounterRegionPreferences < 3) { - checkUnnamed81(o.preferredRegions!); + checkUnnamed82(o.preferredRegions!); } buildCounterRegionPreferences--; } +core.int buildCounterRelation = 0; +api.Relation buildRelation() { + final o = api.Relation(); + buildCounterRelation++; + if (buildCounterRelation < 3) { + o.createTime = 'foo'; + o.dstAsset = 'foo'; + o.name = 'foo'; + o.srcAsset = 'foo'; + o.type = 'foo'; + } + buildCounterRelation--; + return o; +} + +void checkRelation(api.Relation o) { + buildCounterRelation++; + if (buildCounterRelation < 3) { + unittest.expect( + o.createTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.dstAsset!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.srcAsset!, + unittest.equals('foo'), + ); + unittest.expect( + o.type!, + unittest.equals('foo'), + ); + } + buildCounterRelation--; +} + core.int buildCounterRemoveAssetsFromGroupRequest = 0; api.RemoveAssetsFromGroupRequest buildRemoveAssetsFromGroupRequest() { final o = api.RemoveAssetsFromGroupRequest(); @@ -5126,12 +5251,12 @@ void checkReportAssetFramesResponse(api.ReportAssetFramesResponse o) { buildCounterReportAssetFramesResponse--; } -core.List buildUnnamed82() => [ +core.List buildUnnamed83() => [ buildReportConfigGroupPreferenceSetAssignment(), buildReportConfigGroupPreferenceSetAssignment(), ]; -void checkUnnamed82(core.List o) { +void checkUnnamed83(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReportConfigGroupPreferenceSetAssignment(o[0]); checkReportConfigGroupPreferenceSetAssignment(o[1]); @@ -5145,7 +5270,7 @@ api.ReportConfig buildReportConfig() { o.createTime = 'foo'; o.description = 'foo'; o.displayName = 'foo'; - o.groupPreferencesetAssignments = buildUnnamed82(); + o.groupPreferencesetAssignments = buildUnnamed83(); o.name = 'foo'; o.updateTime = 'foo'; } @@ -5168,7 +5293,7 @@ void checkReportConfig(api.ReportConfig o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed82(o.groupPreferencesetAssignments!); + checkUnnamed83(o.groupPreferencesetAssignments!); unittest.expect( o.name!, unittest.equals('foo'), @@ -5210,12 +5335,12 @@ void checkReportConfigGroupPreferenceSetAssignment( buildCounterReportConfigGroupPreferenceSetAssignment--; } -core.List buildUnnamed83() => [ +core.List buildUnnamed84() => [ buildReportSummaryGroupFinding(), buildReportSummaryGroupFinding(), ]; -void checkUnnamed83(core.List o) { +void checkUnnamed84(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReportSummaryGroupFinding(o[0]); checkReportSummaryGroupFinding(o[1]); @@ -5227,7 +5352,7 @@ api.ReportSummary buildReportSummary() { buildCounterReportSummary++; if (buildCounterReportSummary < 3) { o.allAssetsStats = buildReportSummaryAssetAggregateStats(); - o.groupFindings = buildUnnamed83(); + o.groupFindings = buildUnnamed84(); } buildCounterReportSummary--; return o; @@ -5237,7 +5362,7 @@ void checkReportSummary(api.ReportSummary o) { buildCounterReportSummary++; if (buildCounterReportSummary < 3) { checkReportSummaryAssetAggregateStats(o.allAssetsStats!); - checkUnnamed83(o.groupFindings!); + checkUnnamed84(o.groupFindings!); } buildCounterReportSummary--; } @@ -5292,12 +5417,12 @@ void checkReportSummaryAssetAggregateStats( buildCounterReportSummaryAssetAggregateStats--; } -core.List buildUnnamed84() => [ +core.List buildUnnamed85() => [ buildReportSummaryChartDataDataPoint(), buildReportSummaryChartDataDataPoint(), ]; -void checkUnnamed84(core.List o) { +void checkUnnamed85(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReportSummaryChartDataDataPoint(o[0]); checkReportSummaryChartDataDataPoint(o[1]); @@ -5308,7 +5433,7 @@ api.ReportSummaryChartData buildReportSummaryChartData() { final o = api.ReportSummaryChartData(); buildCounterReportSummaryChartData++; if (buildCounterReportSummaryChartData < 3) { - o.dataPoints = buildUnnamed84(); + o.dataPoints = buildUnnamed85(); } buildCounterReportSummaryChartData--; return o; @@ -5317,7 +5442,7 @@ api.ReportSummaryChartData buildReportSummaryChartData() { void checkReportSummaryChartData(api.ReportSummaryChartData o) { buildCounterReportSummaryChartData++; if (buildCounterReportSummaryChartData < 3) { - checkUnnamed84(o.dataPoints!); + checkUnnamed85(o.dataPoints!); } buildCounterReportSummaryChartData--; } @@ -5350,12 +5475,12 @@ void checkReportSummaryChartDataDataPoint( buildCounterReportSummaryChartDataDataPoint--; } -core.List buildUnnamed85() => [ +core.List buildUnnamed86() => [ 'foo', 'foo', ]; -void checkUnnamed85(core.List o) { +void checkUnnamed86(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5367,12 +5492,12 @@ void checkUnnamed85(core.List o) { ); } -core.List buildUnnamed86() => [ +core.List buildUnnamed87() => [ 'foo', 'foo', ]; -void checkUnnamed86(core.List o) { +void checkUnnamed87(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5384,12 +5509,12 @@ void checkUnnamed86(core.List o) { ); } -core.List buildUnnamed87() => [ +core.List buildUnnamed88() => [ buildReportSummaryMachineSeriesAllocation(), buildReportSummaryMachineSeriesAllocation(), ]; -void checkUnnamed87(core.List o) { +void checkUnnamed88(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReportSummaryMachineSeriesAllocation(o[0]); checkReportSummaryMachineSeriesAllocation(o[1]); @@ -5401,9 +5526,9 @@ api.ReportSummaryComputeEngineFinding buildReportSummaryComputeEngineFinding() { buildCounterReportSummaryComputeEngineFinding++; if (buildCounterReportSummaryComputeEngineFinding < 3) { o.allocatedAssetCount = 'foo'; - o.allocatedDiskTypes = buildUnnamed85(); - o.allocatedRegions = buildUnnamed86(); - o.machineSeriesAllocations = buildUnnamed87(); + o.allocatedDiskTypes = buildUnnamed86(); + o.allocatedRegions = buildUnnamed87(); + o.machineSeriesAllocations = buildUnnamed88(); } buildCounterReportSummaryComputeEngineFinding--; return o; @@ -5417,19 +5542,19 @@ void checkReportSummaryComputeEngineFinding( o.allocatedAssetCount!, unittest.equals('foo'), ); - checkUnnamed85(o.allocatedDiskTypes!); - checkUnnamed86(o.allocatedRegions!); - checkUnnamed87(o.machineSeriesAllocations!); + checkUnnamed86(o.allocatedDiskTypes!); + checkUnnamed87(o.allocatedRegions!); + checkUnnamed88(o.machineSeriesAllocations!); } buildCounterReportSummaryComputeEngineFinding--; } -core.List buildUnnamed88() => [ +core.List buildUnnamed89() => [ buildReportSummaryGroupPreferenceSetFinding(), buildReportSummaryGroupPreferenceSetFinding(), ]; -void checkUnnamed88(core.List o) { +void checkUnnamed89(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReportSummaryGroupPreferenceSetFinding(o[0]); checkReportSummaryGroupPreferenceSetFinding(o[1]); @@ -5444,7 +5569,7 @@ api.ReportSummaryGroupFinding buildReportSummaryGroupFinding() { o.description = 'foo'; o.displayName = 'foo'; o.overlappingAssetCount = 'foo'; - o.preferenceSetFindings = buildUnnamed88(); + o.preferenceSetFindings = buildUnnamed89(); } buildCounterReportSummaryGroupFinding--; return o; @@ -5466,7 +5591,7 @@ void checkReportSummaryGroupFinding(api.ReportSummaryGroupFinding o) { o.overlappingAssetCount!, unittest.equals('foo'), ); - checkUnnamed88(o.preferenceSetFindings!); + checkUnnamed89(o.preferenceSetFindings!); } buildCounterReportSummaryGroupFinding--; } @@ -5520,12 +5645,12 @@ void checkReportSummaryGroupPreferenceSetFinding( buildCounterReportSummaryGroupPreferenceSetFinding--; } -core.List buildUnnamed89() => [ +core.List buildUnnamed90() => [ buildReportSummaryHistogramChartDataBucket(), buildReportSummaryHistogramChartDataBucket(), ]; -void checkUnnamed89(core.List o) { +void checkUnnamed90(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReportSummaryHistogramChartDataBucket(o[0]); checkReportSummaryHistogramChartDataBucket(o[1]); @@ -5536,7 +5661,7 @@ api.ReportSummaryHistogramChartData buildReportSummaryHistogramChartData() { final o = api.ReportSummaryHistogramChartData(); buildCounterReportSummaryHistogramChartData++; if (buildCounterReportSummaryHistogramChartData < 3) { - o.buckets = buildUnnamed89(); + o.buckets = buildUnnamed90(); } buildCounterReportSummaryHistogramChartData--; return o; @@ -5546,7 +5671,7 @@ void checkReportSummaryHistogramChartData( api.ReportSummaryHistogramChartData o) { buildCounterReportSummaryHistogramChartData++; if (buildCounterReportSummaryHistogramChartData < 3) { - checkUnnamed89(o.buckets!); + checkUnnamed90(o.buckets!); } buildCounterReportSummaryHistogramChartData--; } @@ -5611,12 +5736,12 @@ void checkReportSummaryMachineSeriesAllocation( buildCounterReportSummaryMachineSeriesAllocation--; } -core.List buildUnnamed90() => [ +core.List buildUnnamed91() => [ 'foo', 'foo', ]; -void checkUnnamed90(core.List o) { +void checkUnnamed91(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5628,12 +5753,12 @@ void checkUnnamed90(core.List o) { ); } -core.List buildUnnamed91() => [ +core.List buildUnnamed92() => [ buildReportSummarySoleTenantNodeAllocation(), buildReportSummarySoleTenantNodeAllocation(), ]; -void checkUnnamed91(core.List o) { +void checkUnnamed92(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReportSummarySoleTenantNodeAllocation(o[0]); checkReportSummarySoleTenantNodeAllocation(o[1]); @@ -5645,8 +5770,8 @@ api.ReportSummarySoleTenantFinding buildReportSummarySoleTenantFinding() { buildCounterReportSummarySoleTenantFinding++; if (buildCounterReportSummarySoleTenantFinding < 3) { o.allocatedAssetCount = 'foo'; - o.allocatedRegions = buildUnnamed90(); - o.nodeAllocations = buildUnnamed91(); + o.allocatedRegions = buildUnnamed91(); + o.nodeAllocations = buildUnnamed92(); } buildCounterReportSummarySoleTenantFinding--; return o; @@ -5659,8 +5784,8 @@ void checkReportSummarySoleTenantFinding(api.ReportSummarySoleTenantFinding o) { o.allocatedAssetCount!, unittest.equals('foo'), ); - checkUnnamed90(o.allocatedRegions!); - checkUnnamed91(o.nodeAllocations!); + checkUnnamed91(o.allocatedRegions!); + checkUnnamed92(o.nodeAllocations!); } buildCounterReportSummarySoleTenantFinding--; } @@ -5724,12 +5849,12 @@ void checkReportSummaryUtilizationChartData( buildCounterReportSummaryUtilizationChartData--; } -core.List buildUnnamed92() => [ +core.List buildUnnamed93() => [ 'foo', 'foo', ]; -void checkUnnamed92(core.List o) { +void checkUnnamed93(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5741,12 +5866,12 @@ void checkUnnamed92(core.List o) { ); } -core.List buildUnnamed93() => [ +core.List buildUnnamed94() => [ buildReportSummaryVmwareNodeAllocation(), buildReportSummaryVmwareNodeAllocation(), ]; -void checkUnnamed93(core.List o) { +void checkUnnamed94(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReportSummaryVmwareNodeAllocation(o[0]); checkReportSummaryVmwareNodeAllocation(o[1]); @@ -5758,8 +5883,8 @@ api.ReportSummaryVmwareEngineFinding buildReportSummaryVmwareEngineFinding() { buildCounterReportSummaryVmwareEngineFinding++; if (buildCounterReportSummaryVmwareEngineFinding < 3) { o.allocatedAssetCount = 'foo'; - o.allocatedRegions = buildUnnamed92(); - o.nodeAllocations = buildUnnamed93(); + o.allocatedRegions = buildUnnamed93(); + o.nodeAllocations = buildUnnamed94(); } buildCounterReportSummaryVmwareEngineFinding--; return o; @@ -5773,8 +5898,8 @@ void checkReportSummaryVmwareEngineFinding( o.allocatedAssetCount!, unittest.equals('foo'), ); - checkUnnamed92(o.allocatedRegions!); - checkUnnamed93(o.nodeAllocations!); + checkUnnamed93(o.allocatedRegions!); + checkUnnamed94(o.nodeAllocations!); } buildCounterReportSummaryVmwareEngineFinding--; } @@ -5853,12 +5978,12 @@ void checkRunImportJobRequest(api.RunImportJobRequest o) { buildCounterRunImportJobRequest--; } -core.Map buildUnnamed94() => { +core.Map buildUnnamed95() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed94(core.Map o) { +void checkUnnamed95(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -5875,7 +6000,7 @@ api.RunningProcess buildRunningProcess() { final o = api.RunningProcess(); buildCounterRunningProcess++; if (buildCounterRunningProcess < 3) { - o.attributes = buildUnnamed94(); + o.attributes = buildUnnamed95(); o.cmdline = 'foo'; o.exePath = 'foo'; o.pid = 'foo'; @@ -5888,7 +6013,7 @@ api.RunningProcess buildRunningProcess() { void checkRunningProcess(api.RunningProcess o) { buildCounterRunningProcess++; if (buildCounterRunningProcess < 3) { - checkUnnamed94(o.attributes!); + checkUnnamed95(o.attributes!); unittest.expect( o.cmdline!, unittest.equals('foo'), @@ -5909,12 +6034,12 @@ void checkRunningProcess(api.RunningProcess o) { buildCounterRunningProcess--; } -core.List buildUnnamed95() => [ +core.List buildUnnamed96() => [ buildRunningProcess(), buildRunningProcess(), ]; -void checkUnnamed95(core.List o) { +void checkUnnamed96(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRunningProcess(o[0]); checkRunningProcess(o[1]); @@ -5925,7 +6050,7 @@ api.RunningProcessList buildRunningProcessList() { final o = api.RunningProcessList(); buildCounterRunningProcessList++; if (buildCounterRunningProcessList < 3) { - o.entries = buildUnnamed95(); + o.entries = buildUnnamed96(); } buildCounterRunningProcessList--; return o; @@ -5934,7 +6059,7 @@ api.RunningProcessList buildRunningProcessList() { void checkRunningProcessList(api.RunningProcessList o) { buildCounterRunningProcessList++; if (buildCounterRunningProcessList < 3) { - checkUnnamed95(o.entries!); + checkUnnamed96(o.entries!); } buildCounterRunningProcessList--; } @@ -5986,12 +6111,12 @@ void checkRunningService(api.RunningService o) { buildCounterRunningService--; } -core.List buildUnnamed96() => [ +core.List buildUnnamed97() => [ buildRunningService(), buildRunningService(), ]; -void checkUnnamed96(core.List o) { +void checkUnnamed97(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRunningService(o[0]); checkRunningService(o[1]); @@ -6002,7 +6127,7 @@ api.RunningServiceList buildRunningServiceList() { final o = api.RunningServiceList(); buildCounterRunningServiceList++; if (buildCounterRunningServiceList < 3) { - o.entries = buildUnnamed96(); + o.entries = buildUnnamed97(); } buildCounterRunningServiceList--; return o; @@ -6011,7 +6136,7 @@ api.RunningServiceList buildRunningServiceList() { void checkRunningServiceList(api.RunningServiceList o) { buildCounterRunningServiceList++; if (buildCounterRunningServiceList < 3) { - checkUnnamed96(o.entries!); + checkUnnamed97(o.entries!); } buildCounterRunningServiceList--; } @@ -6040,12 +6165,12 @@ void checkRuntimeNetworkInfo(api.RuntimeNetworkInfo o) { buildCounterRuntimeNetworkInfo--; } -core.List buildUnnamed97() => [ +core.List buildUnnamed98() => [ buildStatus(), buildStatus(), ]; -void checkUnnamed97(core.List o) { +void checkUnnamed98(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStatus(o[0]); checkStatus(o[1]); @@ -6057,7 +6182,7 @@ api.SendDiscoveryClientHeartbeatRequest final o = api.SendDiscoveryClientHeartbeatRequest(); buildCounterSendDiscoveryClientHeartbeatRequest++; if (buildCounterSendDiscoveryClientHeartbeatRequest < 3) { - o.errors = buildUnnamed97(); + o.errors = buildUnnamed98(); o.version = 'foo'; } buildCounterSendDiscoveryClientHeartbeatRequest--; @@ -6068,7 +6193,7 @@ void checkSendDiscoveryClientHeartbeatRequest( api.SendDiscoveryClientHeartbeatRequest o) { buildCounterSendDiscoveryClientHeartbeatRequest++; if (buildCounterSendDiscoveryClientHeartbeatRequest < 3) { - checkUnnamed97(o.errors!); + checkUnnamed98(o.errors!); unittest.expect( o.version!, unittest.equals('foo'), @@ -6106,12 +6231,12 @@ void checkSettings(api.Settings o) { buildCounterSettings--; } -core.List buildUnnamed98() => [ +core.List buildUnnamed99() => [ buildSoleTenantNodeType(), buildSoleTenantNodeType(), ]; -void checkUnnamed98(core.List o) { +void checkUnnamed99(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSoleTenantNodeType(o[0]); checkSoleTenantNodeType(o[1]); @@ -6125,7 +6250,7 @@ api.SoleTenancyPreferences buildSoleTenancyPreferences() { o.commitmentPlan = 'foo'; o.cpuOvercommitRatio = 42.0; o.hostMaintenancePolicy = 'foo'; - o.nodeTypes = buildUnnamed98(); + o.nodeTypes = buildUnnamed99(); } buildCounterSoleTenancyPreferences--; return o; @@ -6146,7 +6271,7 @@ void checkSoleTenancyPreferences(api.SoleTenancyPreferences o) { o.hostMaintenancePolicy!, unittest.equals('foo'), ); - checkUnnamed98(o.nodeTypes!); + checkUnnamed99(o.nodeTypes!); } buildCounterSoleTenancyPreferences--; } @@ -6242,34 +6367,34 @@ void checkSource(api.Source o) { buildCounterSource--; } -core.List buildUnnamed99() => [ +core.List buildUnnamed100() => [ buildSqlServerFeature(), buildSqlServerFeature(), ]; -void checkUnnamed99(core.List o) { +void checkUnnamed100(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSqlServerFeature(o[0]); checkSqlServerFeature(o[1]); } -core.List buildUnnamed100() => [ +core.List buildUnnamed101() => [ buildSqlServerServerFlag(), buildSqlServerServerFlag(), ]; -void checkUnnamed100(core.List o) { +void checkUnnamed101(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSqlServerServerFlag(o[0]); checkSqlServerServerFlag(o[1]); } -core.List buildUnnamed101() => [ +core.List buildUnnamed102() => [ buildSqlServerTraceFlag(), buildSqlServerTraceFlag(), ]; -void checkUnnamed101(core.List o) { +void checkUnnamed102(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSqlServerTraceFlag(o[0]); checkSqlServerTraceFlag(o[1]); @@ -6280,9 +6405,9 @@ api.SqlServerDatabaseDeployment buildSqlServerDatabaseDeployment() { final o = api.SqlServerDatabaseDeployment(); buildCounterSqlServerDatabaseDeployment++; if (buildCounterSqlServerDatabaseDeployment < 3) { - o.features = buildUnnamed99(); - o.serverFlags = buildUnnamed100(); - o.traceFlags = buildUnnamed101(); + o.features = buildUnnamed100(); + o.serverFlags = buildUnnamed101(); + o.traceFlags = buildUnnamed102(); } buildCounterSqlServerDatabaseDeployment--; return o; @@ -6291,9 +6416,9 @@ api.SqlServerDatabaseDeployment buildSqlServerDatabaseDeployment() { void checkSqlServerDatabaseDeployment(api.SqlServerDatabaseDeployment o) { buildCounterSqlServerDatabaseDeployment++; if (buildCounterSqlServerDatabaseDeployment < 3) { - checkUnnamed99(o.features!); - checkUnnamed100(o.serverFlags!); - checkUnnamed101(o.traceFlags!); + checkUnnamed100(o.features!); + checkUnnamed101(o.serverFlags!); + checkUnnamed102(o.traceFlags!); } buildCounterSqlServerDatabaseDeployment--; } @@ -6403,7 +6528,7 @@ void checkSqlServerTraceFlag(api.SqlServerTraceFlag o) { buildCounterSqlServerTraceFlag--; } -core.Map buildUnnamed102() => { +core.Map buildUnnamed103() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -6416,7 +6541,7 @@ core.Map buildUnnamed102() => { }, }; -void checkUnnamed102(core.Map o) { +void checkUnnamed103(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -6448,15 +6573,15 @@ void checkUnnamed102(core.Map o) { ); } -core.List> buildUnnamed103() => [ - buildUnnamed102(), - buildUnnamed102(), +core.List> buildUnnamed104() => [ + buildUnnamed103(), + buildUnnamed103(), ]; -void checkUnnamed103(core.List> o) { +void checkUnnamed104(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed102(o[0]); - checkUnnamed102(o[1]); + checkUnnamed103(o[0]); + checkUnnamed103(o[1]); } core.int buildCounterStatus = 0; @@ -6465,7 +6590,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed103(); + o.details = buildUnnamed104(); o.message = 'foo'; } buildCounterStatus--; @@ -6479,7 +6604,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed103(o.details!); + checkUnnamed104(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -6517,12 +6642,12 @@ void checkUpdateAssetRequest(api.UpdateAssetRequest o) { buildCounterUpdateAssetRequest--; } -core.Map buildUnnamed104() => { +core.Map buildUnnamed105() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed104(core.Map o) { +void checkUnnamed105(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -6539,7 +6664,7 @@ api.UploadFileInfo buildUploadFileInfo() { final o = api.UploadFileInfo(); buildCounterUploadFileInfo++; if (buildCounterUploadFileInfo < 3) { - o.headers = buildUnnamed104(); + o.headers = buildUnnamed105(); o.signedUri = 'foo'; o.uriExpirationTime = 'foo'; } @@ -6550,7 +6675,7 @@ api.UploadFileInfo buildUploadFileInfo() { void checkUploadFileInfo(api.UploadFileInfo o) { buildCounterUploadFileInfo++; if (buildCounterUploadFileInfo < 3) { - checkUnnamed104(o.headers!); + checkUnnamed105(o.headers!); unittest.expect( o.signedUri!, unittest.equals('foo'), @@ -6585,23 +6710,23 @@ void checkValidateImportJobRequest(api.ValidateImportJobRequest o) { buildCounterValidateImportJobRequest--; } -core.List buildUnnamed105() => [ +core.List buildUnnamed106() => [ buildFileValidationReport(), buildFileValidationReport(), ]; -void checkUnnamed105(core.List o) { +void checkUnnamed106(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFileValidationReport(o[0]); checkFileValidationReport(o[1]); } -core.List buildUnnamed106() => [ +core.List buildUnnamed107() => [ buildImportError(), buildImportError(), ]; -void checkUnnamed106(core.List o) { +void checkUnnamed107(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkImportError(o[0]); checkImportError(o[1]); @@ -6612,8 +6737,8 @@ api.ValidationReport buildValidationReport() { final o = api.ValidationReport(); buildCounterValidationReport++; if (buildCounterValidationReport < 3) { - o.fileValidations = buildUnnamed105(); - o.jobErrors = buildUnnamed106(); + o.fileValidations = buildUnnamed106(); + o.jobErrors = buildUnnamed107(); } buildCounterValidationReport--; return o; @@ -6622,8 +6747,8 @@ api.ValidationReport buildValidationReport() { void checkValidationReport(api.ValidationReport o) { buildCounterValidationReport++; if (buildCounterValidationReport < 3) { - checkUnnamed105(o.fileValidations!); - checkUnnamed106(o.jobErrors!); + checkUnnamed106(o.fileValidations!); + checkUnnamed107(o.jobErrors!); } buildCounterValidationReport--; } @@ -6982,6 +7107,16 @@ void main() { }); }); + unittest.group('obj-schema-AwsRds', () { + unittest.test('to-json--from-json', () async { + final o = buildAwsRds(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.AwsRds.fromJson(oJson as core.Map); + checkAwsRds(od); + }); + }); + unittest.group('obj-schema-AzureVmPlatformDetails', () { unittest.test('to-json--from-json', () async { final o = buildAzureVmPlatformDetails(); @@ -7292,6 +7427,16 @@ void main() { }); }); + unittest.group('obj-schema-DiskPartitionDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildDiskPartitionDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DiskPartitionDetails.fromJson( + oJson as core.Map); + checkDiskPartitionDetails(od); + }); + }); + unittest.group('obj-schema-DiskPartitionList', () { unittest.test('to-json--from-json', () async { final o = buildDiskPartitionList(); @@ -7682,6 +7827,16 @@ void main() { }); }); + unittest.group('obj-schema-ListRelationsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListRelationsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListRelationsResponse.fromJson( + oJson as core.Map); + checkListRelationsResponse(od); + }); + }); + unittest.group('obj-schema-ListReportConfigsResponse', () { unittest.test('to-json--from-json', () async { final o = buildListReportConfigsResponse(); @@ -8092,6 +8247,16 @@ void main() { }); }); + unittest.group('obj-schema-Relation', () { + unittest.test('to-json--from-json', () async { + final o = buildRelation(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Relation.fromJson(oJson as core.Map); + checkRelation(od); + }); + }); + unittest.group('obj-schema-RemoveAssetsFromGroupRequest', () { unittest.test('to-json--from-json', () async { final o = buildRemoveAssetsFromGroupRequest(); @@ -11448,6 +11613,137 @@ void main() { }); }); + unittest.group('resource-ProjectsLocationsRelationsResource', () { + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.MigrationCenterApi(mock).projects.locations.relations; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildRelation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_name, $fields: arg_$fields); + checkRelation(response as api.Relation); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.MigrationCenterApi(mock).projects.locations.relations; + final arg_parent = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListRelationsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_parent, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListRelationsResponse(response as api.ListRelationsResponse); + }); + }); + unittest.group('resource-ProjectsLocationsReportConfigsResource', () { unittest.test('method--create', () async { final mock = HttpServerMock(); diff --git a/generated/googleapis/test/monitoring/v3_test.dart b/generated/googleapis/test/monitoring/v3_test.dart index b10a1308b..85192c320 100644 --- a/generated/googleapis/test/monitoring/v3_test.dart +++ b/generated/googleapis/test/monitoring/v3_test.dart @@ -967,6 +967,7 @@ api.Criteria buildCriteria() { final o = api.Criteria(); buildCounterCriteria++; if (buildCounterCriteria < 3) { + o.filter = 'foo'; o.policies = buildUnnamed17(); } buildCounterCriteria--; @@ -976,6 +977,10 @@ api.Criteria buildCriteria() { void checkCriteria(api.Criteria o) { buildCounterCriteria++; if (buildCounterCriteria < 3) { + unittest.expect( + o.filter!, + unittest.equals('foo'), + ); checkUnnamed17(o.policies!); } buildCounterCriteria--; @@ -4530,6 +4535,7 @@ api.UptimeCheckConfig buildUptimeCheckConfig() { o.httpCheck = buildHttpCheck(); o.internalCheckers = buildUnnamed72(); o.isInternal = true; + o.logCheckFailures = true; o.monitoredResource = buildMonitoredResource(); o.name = 'foo'; o.period = 'foo'; @@ -4559,6 +4565,7 @@ void checkUptimeCheckConfig(api.UptimeCheckConfig o) { checkHttpCheck(o.httpCheck!); checkUnnamed72(o.internalCheckers!); unittest.expect(o.isInternal!, unittest.isTrue); + unittest.expect(o.logCheckFailures!, unittest.isTrue); checkMonitoredResource(o.monitoredResource!); unittest.expect( o.name!, @@ -7249,6 +7256,7 @@ void main() { final mock = HttpServerMock(); final res = api.MonitoringApi(mock).projects.metricDescriptors; final arg_name = 'foo'; + final arg_activeOnly = true; final arg_filter = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; @@ -7285,6 +7293,10 @@ void main() { ); } } + unittest.expect( + queryMap['activeOnly']!.first, + unittest.equals('$arg_activeOnly'), + ); unittest.expect( queryMap['filter']!.first, unittest.equals(arg_filter), @@ -7309,6 +7321,7 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.list(arg_name, + activeOnly: arg_activeOnly, filter: arg_filter, pageSize: arg_pageSize, pageToken: arg_pageToken, diff --git a/generated/googleapis/test/netapp/v1_test.dart b/generated/googleapis/test/netapp/v1_test.dart index d3f84f60b..009b9ea19 100644 --- a/generated/googleapis/test/netapp/v1_test.dart +++ b/generated/googleapis/test/netapp/v1_test.dart @@ -696,6 +696,9 @@ api.HybridPeeringDetails buildHybridPeeringDetails() { o.command = 'foo'; o.commandExpiryTime = 'foo'; o.passphrase = 'foo'; + o.peerClusterName = 'foo'; + o.peerSvmName = 'foo'; + o.peerVolumeName = 'foo'; o.subnetIp = 'foo'; } buildCounterHybridPeeringDetails--; @@ -717,6 +720,18 @@ void checkHybridPeeringDetails(api.HybridPeeringDetails o) { o.passphrase!, unittest.equals('foo'), ); + unittest.expect( + o.peerClusterName!, + unittest.equals('foo'), + ); + unittest.expect( + o.peerSvmName!, + unittest.equals('foo'), + ); + unittest.expect( + o.peerVolumeName!, + unittest.equals('foo'), + ); unittest.expect( o.subnetIp!, unittest.equals('foo'), @@ -1226,23 +1241,77 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { buildCounterListOperationsResponse--; } -core.List buildUnnamed25() => [ +core.List buildUnnamed25() => [ + buildQuotaRule(), + buildQuotaRule(), + ]; + +void checkUnnamed25(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkQuotaRule(o[0]); + checkQuotaRule(o[1]); +} + +core.List buildUnnamed26() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed26(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterListQuotaRulesResponse = 0; +api.ListQuotaRulesResponse buildListQuotaRulesResponse() { + final o = api.ListQuotaRulesResponse(); + buildCounterListQuotaRulesResponse++; + if (buildCounterListQuotaRulesResponse < 3) { + o.nextPageToken = 'foo'; + o.quotaRules = buildUnnamed25(); + o.unreachable = buildUnnamed26(); + } + buildCounterListQuotaRulesResponse--; + return o; +} + +void checkListQuotaRulesResponse(api.ListQuotaRulesResponse o) { + buildCounterListQuotaRulesResponse++; + if (buildCounterListQuotaRulesResponse < 3) { + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + checkUnnamed25(o.quotaRules!); + checkUnnamed26(o.unreachable!); + } + buildCounterListQuotaRulesResponse--; +} + +core.List buildUnnamed27() => [ buildReplication(), buildReplication(), ]; -void checkUnnamed25(core.List o) { +void checkUnnamed27(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReplication(o[0]); checkReplication(o[1]); } -core.List buildUnnamed26() => [ +core.List buildUnnamed28() => [ 'foo', 'foo', ]; -void checkUnnamed26(core.List o) { +void checkUnnamed28(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1260,8 +1329,8 @@ api.ListReplicationsResponse buildListReplicationsResponse() { buildCounterListReplicationsResponse++; if (buildCounterListReplicationsResponse < 3) { o.nextPageToken = 'foo'; - o.replications = buildUnnamed25(); - o.unreachable = buildUnnamed26(); + o.replications = buildUnnamed27(); + o.unreachable = buildUnnamed28(); } buildCounterListReplicationsResponse--; return o; @@ -1274,29 +1343,29 @@ void checkListReplicationsResponse(api.ListReplicationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed25(o.replications!); - checkUnnamed26(o.unreachable!); + checkUnnamed27(o.replications!); + checkUnnamed28(o.unreachable!); } buildCounterListReplicationsResponse--; } -core.List buildUnnamed27() => [ +core.List buildUnnamed29() => [ buildSnapshot(), buildSnapshot(), ]; -void checkUnnamed27(core.List o) { +void checkUnnamed29(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSnapshot(o[0]); checkSnapshot(o[1]); } -core.List buildUnnamed28() => [ +core.List buildUnnamed30() => [ 'foo', 'foo', ]; -void checkUnnamed28(core.List o) { +void checkUnnamed30(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1314,8 +1383,8 @@ api.ListSnapshotsResponse buildListSnapshotsResponse() { buildCounterListSnapshotsResponse++; if (buildCounterListSnapshotsResponse < 3) { o.nextPageToken = 'foo'; - o.snapshots = buildUnnamed27(); - o.unreachable = buildUnnamed28(); + o.snapshots = buildUnnamed29(); + o.unreachable = buildUnnamed30(); } buildCounterListSnapshotsResponse--; return o; @@ -1328,29 +1397,29 @@ void checkListSnapshotsResponse(api.ListSnapshotsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed27(o.snapshots!); - checkUnnamed28(o.unreachable!); + checkUnnamed29(o.snapshots!); + checkUnnamed30(o.unreachable!); } buildCounterListSnapshotsResponse--; } -core.List buildUnnamed29() => [ +core.List buildUnnamed31() => [ buildStoragePool(), buildStoragePool(), ]; -void checkUnnamed29(core.List o) { +void checkUnnamed31(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStoragePool(o[0]); checkStoragePool(o[1]); } -core.List buildUnnamed30() => [ +core.List buildUnnamed32() => [ 'foo', 'foo', ]; -void checkUnnamed30(core.List o) { +void checkUnnamed32(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1368,8 +1437,8 @@ api.ListStoragePoolsResponse buildListStoragePoolsResponse() { buildCounterListStoragePoolsResponse++; if (buildCounterListStoragePoolsResponse < 3) { o.nextPageToken = 'foo'; - o.storagePools = buildUnnamed29(); - o.unreachable = buildUnnamed30(); + o.storagePools = buildUnnamed31(); + o.unreachable = buildUnnamed32(); } buildCounterListStoragePoolsResponse--; return o; @@ -1382,18 +1451,18 @@ void checkListStoragePoolsResponse(api.ListStoragePoolsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed29(o.storagePools!); - checkUnnamed30(o.unreachable!); + checkUnnamed31(o.storagePools!); + checkUnnamed32(o.unreachable!); } buildCounterListStoragePoolsResponse--; } -core.List buildUnnamed31() => [ +core.List buildUnnamed33() => [ 'foo', 'foo', ]; -void checkUnnamed31(core.List o) { +void checkUnnamed33(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1405,12 +1474,12 @@ void checkUnnamed31(core.List o) { ); } -core.List buildUnnamed32() => [ +core.List buildUnnamed34() => [ buildVolume(), buildVolume(), ]; -void checkUnnamed32(core.List o) { +void checkUnnamed34(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVolume(o[0]); checkVolume(o[1]); @@ -1422,8 +1491,8 @@ api.ListVolumesResponse buildListVolumesResponse() { buildCounterListVolumesResponse++; if (buildCounterListVolumesResponse < 3) { o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed31(); - o.volumes = buildUnnamed32(); + o.unreachable = buildUnnamed33(); + o.volumes = buildUnnamed34(); } buildCounterListVolumesResponse--; return o; @@ -1436,18 +1505,18 @@ void checkListVolumesResponse(api.ListVolumesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed31(o.unreachable!); - checkUnnamed32(o.volumes!); + checkUnnamed33(o.unreachable!); + checkUnnamed34(o.volumes!); } buildCounterListVolumesResponse--; } -core.Map buildUnnamed33() => { +core.Map buildUnnamed35() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed33(core.Map o) { +void checkUnnamed35(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1459,7 +1528,7 @@ void checkUnnamed33(core.Map o) { ); } -core.Map buildUnnamed34() => { +core.Map buildUnnamed36() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1472,7 +1541,7 @@ core.Map buildUnnamed34() => { }, }; -void checkUnnamed34(core.Map o) { +void checkUnnamed36(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -1510,9 +1579,9 @@ api.Location buildLocation() { buildCounterLocation++; if (buildCounterLocation < 3) { o.displayName = 'foo'; - o.labels = buildUnnamed33(); + o.labels = buildUnnamed35(); o.locationId = 'foo'; - o.metadata = buildUnnamed34(); + o.metadata = buildUnnamed36(); o.name = 'foo'; } buildCounterLocation--; @@ -1526,12 +1595,12 @@ void checkLocation(api.Location o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed33(o.labels!); + checkUnnamed35(o.labels!); unittest.expect( o.locationId!, unittest.equals('foo'), ); - checkUnnamed34(o.metadata!); + checkUnnamed36(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), @@ -1585,6 +1654,7 @@ api.MountOption buildMountOption() { o.export = 'foo'; o.exportFull = 'foo'; o.instructions = 'foo'; + o.ipAddress = 'foo'; o.protocol = 'foo'; } buildCounterMountOption--; @@ -1606,6 +1676,10 @@ void checkMountOption(api.MountOption o) { o.instructions!, unittest.equals('foo'), ); + unittest.expect( + o.ipAddress!, + unittest.equals('foo'), + ); unittest.expect( o.protocol!, unittest.equals('foo'), @@ -1614,7 +1688,7 @@ void checkMountOption(api.MountOption o) { buildCounterMountOption--; } -core.Map buildUnnamed35() => { +core.Map buildUnnamed37() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1627,7 +1701,7 @@ core.Map buildUnnamed35() => { }, }; -void checkUnnamed35(core.Map o) { +void checkUnnamed37(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -1659,7 +1733,7 @@ void checkUnnamed35(core.Map o) { ); } -core.Map buildUnnamed36() => { +core.Map buildUnnamed38() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1672,7 +1746,7 @@ core.Map buildUnnamed36() => { }, }; -void checkUnnamed36(core.Map o) { +void checkUnnamed38(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -1711,9 +1785,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed35(); + o.metadata = buildUnnamed37(); o.name = 'foo'; - o.response = buildUnnamed36(); + o.response = buildUnnamed38(); } buildCounterOperation--; return o; @@ -1724,22 +1798,98 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed35(o.metadata!); + checkUnnamed37(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed36(o.response!); + checkUnnamed38(o.response!); } buildCounterOperation--; } -core.Map buildUnnamed37() => { +core.Map buildUnnamed39() => { + 'x': 'foo', + 'y': 'foo', + }; + +void checkUnnamed39(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o['x']!, + unittest.equals('foo'), + ); + unittest.expect( + o['y']!, + unittest.equals('foo'), + ); +} + +core.int buildCounterQuotaRule = 0; +api.QuotaRule buildQuotaRule() { + final o = api.QuotaRule(); + buildCounterQuotaRule++; + if (buildCounterQuotaRule < 3) { + o.createTime = 'foo'; + o.description = 'foo'; + o.diskLimitMib = 42; + o.labels = buildUnnamed39(); + o.name = 'foo'; + o.state = 'foo'; + o.stateDetails = 'foo'; + o.target = 'foo'; + o.type = 'foo'; + } + buildCounterQuotaRule--; + return o; +} + +void checkQuotaRule(api.QuotaRule o) { + buildCounterQuotaRule++; + if (buildCounterQuotaRule < 3) { + unittest.expect( + o.createTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.description!, + unittest.equals('foo'), + ); + unittest.expect( + o.diskLimitMib!, + unittest.equals(42), + ); + checkUnnamed39(o.labels!); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.state!, + unittest.equals('foo'), + ); + unittest.expect( + o.stateDetails!, + unittest.equals('foo'), + ); + unittest.expect( + o.target!, + unittest.equals('foo'), + ); + unittest.expect( + o.type!, + unittest.equals('foo'), + ); + } + buildCounterQuotaRule--; +} + +core.Map buildUnnamed40() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed37(core.Map o) { +void checkUnnamed40(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1764,7 +1914,7 @@ api.Replication buildReplication() { o.healthy = true; o.hybridPeeringDetails = buildHybridPeeringDetails(); o.hybridReplicationType = 'foo'; - o.labels = buildUnnamed37(); + o.labels = buildUnnamed40(); o.mirrorState = 'foo'; o.name = 'foo'; o.replicationSchedule = 'foo'; @@ -1804,7 +1954,7 @@ void checkReplication(api.Replication o) { o.hybridReplicationType!, unittest.equals('foo'), ); - checkUnnamed37(o.labels!); + checkUnnamed40(o.labels!); unittest.expect( o.mirrorState!, unittest.equals('foo'), @@ -1967,12 +2117,12 @@ void checkSimpleExportPolicyRule(api.SimpleExportPolicyRule o) { buildCounterSimpleExportPolicyRule--; } -core.Map buildUnnamed38() => { +core.Map buildUnnamed41() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed38(core.Map o) { +void checkUnnamed41(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1991,7 +2141,7 @@ api.Snapshot buildSnapshot() { if (buildCounterSnapshot < 3) { o.createTime = 'foo'; o.description = 'foo'; - o.labels = buildUnnamed38(); + o.labels = buildUnnamed41(); o.name = 'foo'; o.state = 'foo'; o.stateDetails = 'foo'; @@ -2012,7 +2162,7 @@ void checkSnapshot(api.Snapshot o) { o.description!, unittest.equals('foo'), ); - checkUnnamed38(o.labels!); + checkUnnamed41(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -2060,7 +2210,7 @@ void checkSnapshotPolicy(api.SnapshotPolicy o) { buildCounterSnapshotPolicy--; } -core.Map buildUnnamed39() => { +core.Map buildUnnamed42() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2073,7 +2223,7 @@ core.Map buildUnnamed39() => { }, }; -void checkUnnamed39(core.Map o) { +void checkUnnamed42(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -2105,15 +2255,15 @@ void checkUnnamed39(core.Map o) { ); } -core.List> buildUnnamed40() => [ - buildUnnamed39(), - buildUnnamed39(), +core.List> buildUnnamed43() => [ + buildUnnamed42(), + buildUnnamed42(), ]; -void checkUnnamed40(core.List> o) { +void checkUnnamed43(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed39(o[0]); - checkUnnamed39(o[1]); + checkUnnamed42(o[0]); + checkUnnamed42(o[1]); } core.int buildCounterStatus = 0; @@ -2122,7 +2272,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed40(); + o.details = buildUnnamed43(); o.message = 'foo'; } buildCounterStatus--; @@ -2136,7 +2286,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed40(o.details!); + checkUnnamed43(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -2164,12 +2314,12 @@ void checkStopReplicationRequest(api.StopReplicationRequest o) { buildCounterStopReplicationRequest--; } -core.Map buildUnnamed41() => { +core.Map buildUnnamed44() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed41(core.Map o) { +void checkUnnamed44(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2194,7 +2344,7 @@ api.StoragePool buildStoragePool() { o.encryptionType = 'foo'; o.globalAccessAllowed = true; o.kmsConfig = 'foo'; - o.labels = buildUnnamed41(); + o.labels = buildUnnamed44(); o.ldapEnabled = true; o.name = 'foo'; o.network = 'foo'; @@ -2242,7 +2392,7 @@ void checkStoragePool(api.StoragePool o) { o.kmsConfig!, unittest.equals('foo'), ); - checkUnnamed41(o.labels!); + checkUnnamed44(o.labels!); unittest.expect(o.ldapEnabled!, unittest.isTrue); unittest.expect( o.name!, @@ -2471,12 +2621,12 @@ void checkVerifyKmsConfigResponse(api.VerifyKmsConfigResponse o) { buildCounterVerifyKmsConfigResponse--; } -core.Map buildUnnamed42() => { +core.Map buildUnnamed45() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed42(core.Map o) { +void checkUnnamed45(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2488,23 +2638,23 @@ void checkUnnamed42(core.Map o) { ); } -core.List buildUnnamed43() => [ +core.List buildUnnamed46() => [ buildMountOption(), buildMountOption(), ]; -void checkUnnamed43(core.List o) { +void checkUnnamed46(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMountOption(o[0]); checkMountOption(o[1]); } -core.List buildUnnamed44() => [ +core.List buildUnnamed47() => [ 'foo', 'foo', ]; -void checkUnnamed44(core.List o) { +void checkUnnamed47(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2516,12 +2666,12 @@ void checkUnnamed44(core.List o) { ); } -core.List buildUnnamed45() => [ +core.List buildUnnamed48() => [ 'foo', 'foo', ]; -void checkUnnamed45(core.List o) { +void checkUnnamed48(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2533,12 +2683,12 @@ void checkUnnamed45(core.List o) { ); } -core.List buildUnnamed46() => [ +core.List buildUnnamed49() => [ 'foo', 'foo', ]; -void checkUnnamed46(core.List o) { +void checkUnnamed49(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2567,22 +2717,22 @@ api.Volume buildVolume() { o.hybridReplicationParameters = buildHybridReplicationParameters(); o.kerberosEnabled = true; o.kmsConfig = 'foo'; - o.labels = buildUnnamed42(); + o.labels = buildUnnamed45(); o.largeCapacity = true; o.ldapEnabled = true; - o.mountOptions = buildUnnamed43(); + o.mountOptions = buildUnnamed46(); o.multipleEndpoints = true; o.name = 'foo'; o.network = 'foo'; - o.protocols = buildUnnamed44(); + o.protocols = buildUnnamed47(); o.psaRange = 'foo'; o.replicaZone = 'foo'; o.restoreParameters = buildRestoreParameters(); - o.restrictedActions = buildUnnamed45(); + o.restrictedActions = buildUnnamed48(); o.securityStyle = 'foo'; o.serviceLevel = 'foo'; o.shareName = 'foo'; - o.smbSettings = buildUnnamed46(); + o.smbSettings = buildUnnamed49(); o.snapReserve = 42.0; o.snapshotDirectory = true; o.snapshotPolicy = buildSnapshotPolicy(); @@ -2634,10 +2784,10 @@ void checkVolume(api.Volume o) { o.kmsConfig!, unittest.equals('foo'), ); - checkUnnamed42(o.labels!); + checkUnnamed45(o.labels!); unittest.expect(o.largeCapacity!, unittest.isTrue); unittest.expect(o.ldapEnabled!, unittest.isTrue); - checkUnnamed43(o.mountOptions!); + checkUnnamed46(o.mountOptions!); unittest.expect(o.multipleEndpoints!, unittest.isTrue); unittest.expect( o.name!, @@ -2647,7 +2797,7 @@ void checkVolume(api.Volume o) { o.network!, unittest.equals('foo'), ); - checkUnnamed44(o.protocols!); + checkUnnamed47(o.protocols!); unittest.expect( o.psaRange!, unittest.equals('foo'), @@ -2657,7 +2807,7 @@ void checkVolume(api.Volume o) { unittest.equals('foo'), ); checkRestoreParameters(o.restoreParameters!); - checkUnnamed45(o.restrictedActions!); + checkUnnamed48(o.restrictedActions!); unittest.expect( o.securityStyle!, unittest.equals('foo'), @@ -2670,7 +2820,7 @@ void checkVolume(api.Volume o) { o.shareName!, unittest.equals('foo'), ); - checkUnnamed46(o.smbSettings!); + checkUnnamed49(o.smbSettings!); unittest.expect( o.snapReserve!, unittest.equals(42.0), @@ -2974,6 +3124,16 @@ void main() { }); }); + unittest.group('obj-schema-ListQuotaRulesResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListQuotaRulesResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListQuotaRulesResponse.fromJson( + oJson as core.Map); + checkListQuotaRulesResponse(od); + }); + }); + unittest.group('obj-schema-ListReplicationsResponse', () { unittest.test('to-json--from-json', () async { final o = buildListReplicationsResponse(); @@ -3054,6 +3214,16 @@ void main() { }); }); + unittest.group('obj-schema-QuotaRule', () { + unittest.test('to-json--from-json', () async { + final o = buildQuotaRule(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.QuotaRule.fromJson(oJson as core.Map); + checkQuotaRule(od); + }); + }); + unittest.group('obj-schema-Replication', () { unittest.test('to-json--from-json', () async { final o = buildReplication(); @@ -6080,6 +6250,320 @@ void main() { }); }); + unittest.group('resource-ProjectsLocationsVolumesQuotaRulesResource', () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = + api.NetAppFilesApi(mock).projects.locations.volumes.quotaRules; + final arg_request = buildQuotaRule(); + final arg_parent = 'foo'; + final arg_quotaRuleId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.QuotaRule.fromJson(json as core.Map); + checkQuotaRule(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['quotaRuleId']!.first, + unittest.equals(arg_quotaRuleId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create(arg_request, arg_parent, + quotaRuleId: arg_quotaRuleId, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = + api.NetAppFilesApi(mock).projects.locations.volumes.quotaRules; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete(arg_name, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = + api.NetAppFilesApi(mock).projects.locations.volumes.quotaRules; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildQuotaRule()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_name, $fields: arg_$fields); + checkQuotaRule(response as api.QuotaRule); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = + api.NetAppFilesApi(mock).projects.locations.volumes.quotaRules; + final arg_parent = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListQuotaRulesResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_parent, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListQuotaRulesResponse(response as api.ListQuotaRulesResponse); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = + api.NetAppFilesApi(mock).projects.locations.volumes.quotaRules; + final arg_request = buildQuotaRule(); + final arg_name = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.QuotaRule.fromJson(json as core.Map); + checkQuotaRule(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch(arg_request, arg_name, + updateMask: arg_updateMask, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + }); + unittest.group('resource-ProjectsLocationsVolumesReplicationsResource', () { unittest.test('method--create', () async { final mock = HttpServerMock(); diff --git a/generated/googleapis/test/networkconnectivity/v1_test.dart b/generated/googleapis/test/networkconnectivity/v1_test.dart index e9ec51d39..222b61cc5 100644 --- a/generated/googleapis/test/networkconnectivity/v1_test.dart +++ b/generated/googleapis/test/networkconnectivity/v1_test.dart @@ -53,6 +53,38 @@ void checkAcceptHubSpokeRequest(api.AcceptHubSpokeRequest o) { buildCounterAcceptHubSpokeRequest--; } +core.int buildCounterAcceptSpokeUpdateRequest = 0; +api.AcceptSpokeUpdateRequest buildAcceptSpokeUpdateRequest() { + final o = api.AcceptSpokeUpdateRequest(); + buildCounterAcceptSpokeUpdateRequest++; + if (buildCounterAcceptSpokeUpdateRequest < 3) { + o.requestId = 'foo'; + o.spokeEtag = 'foo'; + o.spokeUri = 'foo'; + } + buildCounterAcceptSpokeUpdateRequest--; + return o; +} + +void checkAcceptSpokeUpdateRequest(api.AcceptSpokeUpdateRequest o) { + buildCounterAcceptSpokeUpdateRequest++; + if (buildCounterAcceptSpokeUpdateRequest < 3) { + unittest.expect( + o.requestId!, + unittest.equals('foo'), + ); + unittest.expect( + o.spokeEtag!, + unittest.equals('foo'), + ); + unittest.expect( + o.spokeUri!, + unittest.equals('foo'), + ); + } + buildCounterAcceptSpokeUpdateRequest--; +} + core.List buildUnnamed0() => [ buildAuditLogConfig(), buildAuditLogConfig(), @@ -1261,6 +1293,23 @@ void checkUnnamed24(core.List o) { ); } +core.List buildUnnamed25() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed25(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + core.int buildCounterLinkedProducerVpcNetwork = 0; api.LinkedProducerVpcNetwork buildLinkedProducerVpcNetwork() { final o = api.LinkedProducerVpcNetwork(); @@ -1271,6 +1320,7 @@ api.LinkedProducerVpcNetwork buildLinkedProducerVpcNetwork() { o.network = 'foo'; o.peering = 'foo'; o.producerNetwork = 'foo'; + o.proposedIncludeExportRanges = buildUnnamed25(); o.serviceConsumerVpcSpoke = 'foo'; } buildCounterLinkedProducerVpcNetwork--; @@ -1294,6 +1344,7 @@ void checkLinkedProducerVpcNetwork(api.LinkedProducerVpcNetwork o) { o.producerNetwork!, unittest.equals('foo'), ); + checkUnnamed25(o.proposedIncludeExportRanges!); unittest.expect( o.serviceConsumerVpcSpoke!, unittest.equals('foo'), @@ -1302,12 +1353,12 @@ void checkLinkedProducerVpcNetwork(api.LinkedProducerVpcNetwork o) { buildCounterLinkedProducerVpcNetwork--; } -core.List buildUnnamed25() => [ +core.List buildUnnamed26() => [ 'foo', 'foo', ]; -void checkUnnamed25(core.List o) { +void checkUnnamed26(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1319,12 +1370,12 @@ void checkUnnamed25(core.List o) { ); } -core.List buildUnnamed26() => [ +core.List buildUnnamed27() => [ buildRouterApplianceInstance(), buildRouterApplianceInstance(), ]; -void checkUnnamed26(core.List o) { +void checkUnnamed27(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRouterApplianceInstance(o[0]); checkRouterApplianceInstance(o[1]); @@ -1335,8 +1386,8 @@ api.LinkedRouterApplianceInstances buildLinkedRouterApplianceInstances() { final o = api.LinkedRouterApplianceInstances(); buildCounterLinkedRouterApplianceInstances++; if (buildCounterLinkedRouterApplianceInstances < 3) { - o.includeImportRanges = buildUnnamed25(); - o.instances = buildUnnamed26(); + o.includeImportRanges = buildUnnamed26(); + o.instances = buildUnnamed27(); o.siteToSiteDataTransfer = true; o.vpcNetwork = 'foo'; } @@ -1347,8 +1398,8 @@ api.LinkedRouterApplianceInstances buildLinkedRouterApplianceInstances() { void checkLinkedRouterApplianceInstances(api.LinkedRouterApplianceInstances o) { buildCounterLinkedRouterApplianceInstances++; if (buildCounterLinkedRouterApplianceInstances < 3) { - checkUnnamed25(o.includeImportRanges!); - checkUnnamed26(o.instances!); + checkUnnamed26(o.includeImportRanges!); + checkUnnamed27(o.instances!); unittest.expect(o.siteToSiteDataTransfer!, unittest.isTrue); unittest.expect( o.vpcNetwork!, @@ -1358,12 +1409,12 @@ void checkLinkedRouterApplianceInstances(api.LinkedRouterApplianceInstances o) { buildCounterLinkedRouterApplianceInstances--; } -core.List buildUnnamed27() => [ +core.List buildUnnamed28() => [ 'foo', 'foo', ]; -void checkUnnamed27(core.List o) { +void checkUnnamed28(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1375,12 +1426,12 @@ void checkUnnamed27(core.List o) { ); } -core.List buildUnnamed28() => [ +core.List buildUnnamed29() => [ 'foo', 'foo', ]; -void checkUnnamed28(core.List o) { +void checkUnnamed29(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1392,12 +1443,29 @@ void checkUnnamed28(core.List o) { ); } -core.List buildUnnamed29() => [ +core.List buildUnnamed30() => [ 'foo', 'foo', ]; -void checkUnnamed29(core.List o) { +void checkUnnamed30(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed31() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed31(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1414,9 +1482,10 @@ api.LinkedVpcNetwork buildLinkedVpcNetwork() { final o = api.LinkedVpcNetwork(); buildCounterLinkedVpcNetwork++; if (buildCounterLinkedVpcNetwork < 3) { - o.excludeExportRanges = buildUnnamed27(); - o.includeExportRanges = buildUnnamed28(); - o.producerVpcSpokes = buildUnnamed29(); + o.excludeExportRanges = buildUnnamed28(); + o.includeExportRanges = buildUnnamed29(); + o.producerVpcSpokes = buildUnnamed30(); + o.proposedIncludeExportRanges = buildUnnamed31(); o.uri = 'foo'; } buildCounterLinkedVpcNetwork--; @@ -1426,9 +1495,10 @@ api.LinkedVpcNetwork buildLinkedVpcNetwork() { void checkLinkedVpcNetwork(api.LinkedVpcNetwork o) { buildCounterLinkedVpcNetwork++; if (buildCounterLinkedVpcNetwork < 3) { - checkUnnamed27(o.excludeExportRanges!); - checkUnnamed28(o.includeExportRanges!); - checkUnnamed29(o.producerVpcSpokes!); + checkUnnamed28(o.excludeExportRanges!); + checkUnnamed29(o.includeExportRanges!); + checkUnnamed30(o.producerVpcSpokes!); + checkUnnamed31(o.proposedIncludeExportRanges!); unittest.expect( o.uri!, unittest.equals('foo'), @@ -1437,12 +1507,12 @@ void checkLinkedVpcNetwork(api.LinkedVpcNetwork o) { buildCounterLinkedVpcNetwork--; } -core.List buildUnnamed30() => [ +core.List buildUnnamed32() => [ 'foo', 'foo', ]; -void checkUnnamed30(core.List o) { +void checkUnnamed32(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1454,12 +1524,12 @@ void checkUnnamed30(core.List o) { ); } -core.List buildUnnamed31() => [ +core.List buildUnnamed33() => [ 'foo', 'foo', ]; -void checkUnnamed31(core.List o) { +void checkUnnamed33(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1476,9 +1546,9 @@ api.LinkedVpnTunnels buildLinkedVpnTunnels() { final o = api.LinkedVpnTunnels(); buildCounterLinkedVpnTunnels++; if (buildCounterLinkedVpnTunnels < 3) { - o.includeImportRanges = buildUnnamed30(); + o.includeImportRanges = buildUnnamed32(); o.siteToSiteDataTransfer = true; - o.uris = buildUnnamed31(); + o.uris = buildUnnamed33(); o.vpcNetwork = 'foo'; } buildCounterLinkedVpnTunnels--; @@ -1488,9 +1558,9 @@ api.LinkedVpnTunnels buildLinkedVpnTunnels() { void checkLinkedVpnTunnels(api.LinkedVpnTunnels o) { buildCounterLinkedVpnTunnels++; if (buildCounterLinkedVpnTunnels < 3) { - checkUnnamed30(o.includeImportRanges!); + checkUnnamed32(o.includeImportRanges!); unittest.expect(o.siteToSiteDataTransfer!, unittest.isTrue); - checkUnnamed31(o.uris!); + checkUnnamed33(o.uris!); unittest.expect( o.vpcNetwork!, unittest.equals('foo'), @@ -1499,23 +1569,23 @@ void checkLinkedVpnTunnels(api.LinkedVpnTunnels o) { buildCounterLinkedVpnTunnels--; } -core.List buildUnnamed32() => [ +core.List buildUnnamed34() => [ buildGroup(), buildGroup(), ]; -void checkUnnamed32(core.List o) { +void checkUnnamed34(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGroup(o[0]); checkGroup(o[1]); } -core.List buildUnnamed33() => [ +core.List buildUnnamed35() => [ 'foo', 'foo', ]; -void checkUnnamed33(core.List o) { +void checkUnnamed35(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1532,9 +1602,9 @@ api.ListGroupsResponse buildListGroupsResponse() { final o = api.ListGroupsResponse(); buildCounterListGroupsResponse++; if (buildCounterListGroupsResponse < 3) { - o.groups = buildUnnamed32(); + o.groups = buildUnnamed34(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed33(); + o.unreachable = buildUnnamed35(); } buildCounterListGroupsResponse--; return o; @@ -1543,33 +1613,33 @@ api.ListGroupsResponse buildListGroupsResponse() { void checkListGroupsResponse(api.ListGroupsResponse o) { buildCounterListGroupsResponse++; if (buildCounterListGroupsResponse < 3) { - checkUnnamed32(o.groups!); + checkUnnamed34(o.groups!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed33(o.unreachable!); + checkUnnamed35(o.unreachable!); } buildCounterListGroupsResponse--; } -core.List buildUnnamed34() => [ +core.List buildUnnamed36() => [ buildSpoke(), buildSpoke(), ]; -void checkUnnamed34(core.List o) { +void checkUnnamed36(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSpoke(o[0]); checkSpoke(o[1]); } -core.List buildUnnamed35() => [ +core.List buildUnnamed37() => [ 'foo', 'foo', ]; -void checkUnnamed35(core.List o) { +void checkUnnamed37(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1587,8 +1657,8 @@ api.ListHubSpokesResponse buildListHubSpokesResponse() { buildCounterListHubSpokesResponse++; if (buildCounterListHubSpokesResponse < 3) { o.nextPageToken = 'foo'; - o.spokes = buildUnnamed34(); - o.unreachable = buildUnnamed35(); + o.spokes = buildUnnamed36(); + o.unreachable = buildUnnamed37(); } buildCounterListHubSpokesResponse--; return o; @@ -1601,29 +1671,29 @@ void checkListHubSpokesResponse(api.ListHubSpokesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed34(o.spokes!); - checkUnnamed35(o.unreachable!); + checkUnnamed36(o.spokes!); + checkUnnamed37(o.unreachable!); } buildCounterListHubSpokesResponse--; } -core.List buildUnnamed36() => [ +core.List buildUnnamed38() => [ buildHub(), buildHub(), ]; -void checkUnnamed36(core.List o) { +void checkUnnamed38(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHub(o[0]); checkHub(o[1]); } -core.List buildUnnamed37() => [ +core.List buildUnnamed39() => [ 'foo', 'foo', ]; -void checkUnnamed37(core.List o) { +void checkUnnamed39(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1640,9 +1710,9 @@ api.ListHubsResponse buildListHubsResponse() { final o = api.ListHubsResponse(); buildCounterListHubsResponse++; if (buildCounterListHubsResponse < 3) { - o.hubs = buildUnnamed36(); + o.hubs = buildUnnamed38(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed37(); + o.unreachable = buildUnnamed39(); } buildCounterListHubsResponse--; return o; @@ -1651,33 +1721,33 @@ api.ListHubsResponse buildListHubsResponse() { void checkListHubsResponse(api.ListHubsResponse o) { buildCounterListHubsResponse++; if (buildCounterListHubsResponse < 3) { - checkUnnamed36(o.hubs!); + checkUnnamed38(o.hubs!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed37(o.unreachable!); + checkUnnamed39(o.unreachable!); } buildCounterListHubsResponse--; } -core.List buildUnnamed38() => [ +core.List buildUnnamed40() => [ buildInternalRange(), buildInternalRange(), ]; -void checkUnnamed38(core.List o) { +void checkUnnamed40(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInternalRange(o[0]); checkInternalRange(o[1]); } -core.List buildUnnamed39() => [ +core.List buildUnnamed41() => [ 'foo', 'foo', ]; -void checkUnnamed39(core.List o) { +void checkUnnamed41(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1694,9 +1764,9 @@ api.ListInternalRangesResponse buildListInternalRangesResponse() { final o = api.ListInternalRangesResponse(); buildCounterListInternalRangesResponse++; if (buildCounterListInternalRangesResponse < 3) { - o.internalRanges = buildUnnamed38(); + o.internalRanges = buildUnnamed40(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed39(); + o.unreachable = buildUnnamed41(); } buildCounterListInternalRangesResponse--; return o; @@ -1705,22 +1775,22 @@ api.ListInternalRangesResponse buildListInternalRangesResponse() { void checkListInternalRangesResponse(api.ListInternalRangesResponse o) { buildCounterListInternalRangesResponse++; if (buildCounterListInternalRangesResponse < 3) { - checkUnnamed38(o.internalRanges!); + checkUnnamed40(o.internalRanges!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed39(o.unreachable!); + checkUnnamed41(o.unreachable!); } buildCounterListInternalRangesResponse--; } -core.List buildUnnamed40() => [ +core.List buildUnnamed42() => [ buildLocation(), buildLocation(), ]; -void checkUnnamed40(core.List o) { +void checkUnnamed42(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLocation(o[0]); checkLocation(o[1]); @@ -1731,7 +1801,7 @@ api.ListLocationsResponse buildListLocationsResponse() { final o = api.ListLocationsResponse(); buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - o.locations = buildUnnamed40(); + o.locations = buildUnnamed42(); o.nextPageToken = 'foo'; } buildCounterListLocationsResponse--; @@ -1741,7 +1811,7 @@ api.ListLocationsResponse buildListLocationsResponse() { void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - checkUnnamed40(o.locations!); + checkUnnamed42(o.locations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -1750,23 +1820,23 @@ void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse--; } -core.List buildUnnamed41() => [ +core.List buildUnnamed43() => [ buildPolicyBasedRoute(), buildPolicyBasedRoute(), ]; -void checkUnnamed41(core.List o) { +void checkUnnamed43(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPolicyBasedRoute(o[0]); checkPolicyBasedRoute(o[1]); } -core.List buildUnnamed42() => [ +core.List buildUnnamed44() => [ 'foo', 'foo', ]; -void checkUnnamed42(core.List o) { +void checkUnnamed44(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1784,8 +1854,8 @@ api.ListPolicyBasedRoutesResponse buildListPolicyBasedRoutesResponse() { buildCounterListPolicyBasedRoutesResponse++; if (buildCounterListPolicyBasedRoutesResponse < 3) { o.nextPageToken = 'foo'; - o.policyBasedRoutes = buildUnnamed41(); - o.unreachable = buildUnnamed42(); + o.policyBasedRoutes = buildUnnamed43(); + o.unreachable = buildUnnamed44(); } buildCounterListPolicyBasedRoutesResponse--; return o; @@ -1798,29 +1868,29 @@ void checkListPolicyBasedRoutesResponse(api.ListPolicyBasedRoutesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed41(o.policyBasedRoutes!); - checkUnnamed42(o.unreachable!); + checkUnnamed43(o.policyBasedRoutes!); + checkUnnamed44(o.unreachable!); } buildCounterListPolicyBasedRoutesResponse--; } -core.List buildUnnamed43() => [ +core.List buildUnnamed45() => [ buildRegionalEndpoint(), buildRegionalEndpoint(), ]; -void checkUnnamed43(core.List o) { +void checkUnnamed45(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRegionalEndpoint(o[0]); checkRegionalEndpoint(o[1]); } -core.List buildUnnamed44() => [ +core.List buildUnnamed46() => [ 'foo', 'foo', ]; -void checkUnnamed44(core.List o) { +void checkUnnamed46(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1838,8 +1908,8 @@ api.ListRegionalEndpointsResponse buildListRegionalEndpointsResponse() { buildCounterListRegionalEndpointsResponse++; if (buildCounterListRegionalEndpointsResponse < 3) { o.nextPageToken = 'foo'; - o.regionalEndpoints = buildUnnamed43(); - o.unreachable = buildUnnamed44(); + o.regionalEndpoints = buildUnnamed45(); + o.unreachable = buildUnnamed46(); } buildCounterListRegionalEndpointsResponse--; return o; @@ -1852,29 +1922,29 @@ void checkListRegionalEndpointsResponse(api.ListRegionalEndpointsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed43(o.regionalEndpoints!); - checkUnnamed44(o.unreachable!); + checkUnnamed45(o.regionalEndpoints!); + checkUnnamed46(o.unreachable!); } buildCounterListRegionalEndpointsResponse--; } -core.List buildUnnamed45() => [ +core.List buildUnnamed47() => [ buildRouteTable(), buildRouteTable(), ]; -void checkUnnamed45(core.List o) { +void checkUnnamed47(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRouteTable(o[0]); checkRouteTable(o[1]); } -core.List buildUnnamed46() => [ +core.List buildUnnamed48() => [ 'foo', 'foo', ]; -void checkUnnamed46(core.List o) { +void checkUnnamed48(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1892,8 +1962,8 @@ api.ListRouteTablesResponse buildListRouteTablesResponse() { buildCounterListRouteTablesResponse++; if (buildCounterListRouteTablesResponse < 3) { o.nextPageToken = 'foo'; - o.routeTables = buildUnnamed45(); - o.unreachable = buildUnnamed46(); + o.routeTables = buildUnnamed47(); + o.unreachable = buildUnnamed48(); } buildCounterListRouteTablesResponse--; return o; @@ -1906,29 +1976,29 @@ void checkListRouteTablesResponse(api.ListRouteTablesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed45(o.routeTables!); - checkUnnamed46(o.unreachable!); + checkUnnamed47(o.routeTables!); + checkUnnamed48(o.unreachable!); } buildCounterListRouteTablesResponse--; } -core.List buildUnnamed47() => [ +core.List buildUnnamed49() => [ buildRoute(), buildRoute(), ]; -void checkUnnamed47(core.List o) { +void checkUnnamed49(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRoute(o[0]); checkRoute(o[1]); } -core.List buildUnnamed48() => [ +core.List buildUnnamed50() => [ 'foo', 'foo', ]; -void checkUnnamed48(core.List o) { +void checkUnnamed50(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1946,8 +2016,8 @@ api.ListRoutesResponse buildListRoutesResponse() { buildCounterListRoutesResponse++; if (buildCounterListRoutesResponse < 3) { o.nextPageToken = 'foo'; - o.routes = buildUnnamed47(); - o.unreachable = buildUnnamed48(); + o.routes = buildUnnamed49(); + o.unreachable = buildUnnamed50(); } buildCounterListRoutesResponse--; return o; @@ -1960,29 +2030,29 @@ void checkListRoutesResponse(api.ListRoutesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed47(o.routes!); - checkUnnamed48(o.unreachable!); + checkUnnamed49(o.routes!); + checkUnnamed50(o.unreachable!); } buildCounterListRoutesResponse--; } -core.List buildUnnamed49() => [ +core.List buildUnnamed51() => [ buildServiceClass(), buildServiceClass(), ]; -void checkUnnamed49(core.List o) { +void checkUnnamed51(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceClass(o[0]); checkServiceClass(o[1]); } -core.List buildUnnamed50() => [ +core.List buildUnnamed52() => [ 'foo', 'foo', ]; -void checkUnnamed50(core.List o) { +void checkUnnamed52(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2000,8 +2070,8 @@ api.ListServiceClassesResponse buildListServiceClassesResponse() { buildCounterListServiceClassesResponse++; if (buildCounterListServiceClassesResponse < 3) { o.nextPageToken = 'foo'; - o.serviceClasses = buildUnnamed49(); - o.unreachable = buildUnnamed50(); + o.serviceClasses = buildUnnamed51(); + o.unreachable = buildUnnamed52(); } buildCounterListServiceClassesResponse--; return o; @@ -2014,29 +2084,29 @@ void checkListServiceClassesResponse(api.ListServiceClassesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed49(o.serviceClasses!); - checkUnnamed50(o.unreachable!); + checkUnnamed51(o.serviceClasses!); + checkUnnamed52(o.unreachable!); } buildCounterListServiceClassesResponse--; } -core.List buildUnnamed51() => [ +core.List buildUnnamed53() => [ buildServiceConnectionMap(), buildServiceConnectionMap(), ]; -void checkUnnamed51(core.List o) { +void checkUnnamed53(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceConnectionMap(o[0]); checkServiceConnectionMap(o[1]); } -core.List buildUnnamed52() => [ +core.List buildUnnamed54() => [ 'foo', 'foo', ]; -void checkUnnamed52(core.List o) { +void checkUnnamed54(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2054,8 +2124,8 @@ api.ListServiceConnectionMapsResponse buildListServiceConnectionMapsResponse() { buildCounterListServiceConnectionMapsResponse++; if (buildCounterListServiceConnectionMapsResponse < 3) { o.nextPageToken = 'foo'; - o.serviceConnectionMaps = buildUnnamed51(); - o.unreachable = buildUnnamed52(); + o.serviceConnectionMaps = buildUnnamed53(); + o.unreachable = buildUnnamed54(); } buildCounterListServiceConnectionMapsResponse--; return o; @@ -2069,29 +2139,29 @@ void checkListServiceConnectionMapsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed51(o.serviceConnectionMaps!); - checkUnnamed52(o.unreachable!); + checkUnnamed53(o.serviceConnectionMaps!); + checkUnnamed54(o.unreachable!); } buildCounterListServiceConnectionMapsResponse--; } -core.List buildUnnamed53() => [ +core.List buildUnnamed55() => [ buildServiceConnectionPolicy(), buildServiceConnectionPolicy(), ]; -void checkUnnamed53(core.List o) { +void checkUnnamed55(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceConnectionPolicy(o[0]); checkServiceConnectionPolicy(o[1]); } -core.List buildUnnamed54() => [ +core.List buildUnnamed56() => [ 'foo', 'foo', ]; -void checkUnnamed54(core.List o) { +void checkUnnamed56(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2110,8 +2180,8 @@ api.ListServiceConnectionPoliciesResponse buildCounterListServiceConnectionPoliciesResponse++; if (buildCounterListServiceConnectionPoliciesResponse < 3) { o.nextPageToken = 'foo'; - o.serviceConnectionPolicies = buildUnnamed53(); - o.unreachable = buildUnnamed54(); + o.serviceConnectionPolicies = buildUnnamed55(); + o.unreachable = buildUnnamed56(); } buildCounterListServiceConnectionPoliciesResponse--; return o; @@ -2125,29 +2195,29 @@ void checkListServiceConnectionPoliciesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed53(o.serviceConnectionPolicies!); - checkUnnamed54(o.unreachable!); + checkUnnamed55(o.serviceConnectionPolicies!); + checkUnnamed56(o.unreachable!); } buildCounterListServiceConnectionPoliciesResponse--; } -core.List buildUnnamed55() => [ +core.List buildUnnamed57() => [ buildServiceConnectionToken(), buildServiceConnectionToken(), ]; -void checkUnnamed55(core.List o) { +void checkUnnamed57(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceConnectionToken(o[0]); checkServiceConnectionToken(o[1]); } -core.List buildUnnamed56() => [ +core.List buildUnnamed58() => [ 'foo', 'foo', ]; -void checkUnnamed56(core.List o) { +void checkUnnamed58(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2166,8 +2236,8 @@ api.ListServiceConnectionTokensResponse buildCounterListServiceConnectionTokensResponse++; if (buildCounterListServiceConnectionTokensResponse < 3) { o.nextPageToken = 'foo'; - o.serviceConnectionTokens = buildUnnamed55(); - o.unreachable = buildUnnamed56(); + o.serviceConnectionTokens = buildUnnamed57(); + o.unreachable = buildUnnamed58(); } buildCounterListServiceConnectionTokensResponse--; return o; @@ -2181,29 +2251,29 @@ void checkListServiceConnectionTokensResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed55(o.serviceConnectionTokens!); - checkUnnamed56(o.unreachable!); + checkUnnamed57(o.serviceConnectionTokens!); + checkUnnamed58(o.unreachable!); } buildCounterListServiceConnectionTokensResponse--; } -core.List buildUnnamed57() => [ +core.List buildUnnamed59() => [ buildSpoke(), buildSpoke(), ]; -void checkUnnamed57(core.List o) { +void checkUnnamed59(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSpoke(o[0]); checkSpoke(o[1]); } -core.List buildUnnamed58() => [ +core.List buildUnnamed60() => [ 'foo', 'foo', ]; -void checkUnnamed58(core.List o) { +void checkUnnamed60(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2221,8 +2291,8 @@ api.ListSpokesResponse buildListSpokesResponse() { buildCounterListSpokesResponse++; if (buildCounterListSpokesResponse < 3) { o.nextPageToken = 'foo'; - o.spokes = buildUnnamed57(); - o.unreachable = buildUnnamed58(); + o.spokes = buildUnnamed59(); + o.unreachable = buildUnnamed60(); } buildCounterListSpokesResponse--; return o; @@ -2235,18 +2305,18 @@ void checkListSpokesResponse(api.ListSpokesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed57(o.spokes!); - checkUnnamed58(o.unreachable!); + checkUnnamed59(o.spokes!); + checkUnnamed60(o.unreachable!); } buildCounterListSpokesResponse--; } -core.Map buildUnnamed59() => { +core.Map buildUnnamed61() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed59(core.Map o) { +void checkUnnamed61(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2258,7 +2328,7 @@ void checkUnnamed59(core.Map o) { ); } -core.Map buildUnnamed60() => { +core.Map buildUnnamed62() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2271,7 +2341,7 @@ core.Map buildUnnamed60() => { }, }; -void checkUnnamed60(core.Map o) { +void checkUnnamed62(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -2309,9 +2379,9 @@ api.Location buildLocation() { buildCounterLocation++; if (buildCounterLocation < 3) { o.displayName = 'foo'; - o.labels = buildUnnamed59(); + o.labels = buildUnnamed61(); o.locationId = 'foo'; - o.metadata = buildUnnamed60(); + o.metadata = buildUnnamed62(); o.name = 'foo'; } buildCounterLocation--; @@ -2325,12 +2395,12 @@ void checkLocation(api.Location o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed59(o.labels!); + checkUnnamed61(o.labels!); unittest.expect( o.locationId!, unittest.equals('foo'), ); - checkUnnamed60(o.metadata!); + checkUnnamed62(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), @@ -2475,23 +2545,23 @@ void checkNextHopVpcNetwork(api.NextHopVpcNetwork o) { buildCounterNextHopVpcNetwork--; } -core.List buildUnnamed61() => [ +core.List buildUnnamed63() => [ buildAuditConfig(), buildAuditConfig(), ]; -void checkUnnamed61(core.List o) { +void checkUnnamed63(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuditConfig(o[0]); checkAuditConfig(o[1]); } -core.List buildUnnamed62() => [ +core.List buildUnnamed64() => [ buildBinding(), buildBinding(), ]; -void checkUnnamed62(core.List o) { +void checkUnnamed64(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBinding(o[0]); checkBinding(o[1]); @@ -2502,8 +2572,8 @@ api.Policy buildPolicy() { final o = api.Policy(); buildCounterPolicy++; if (buildCounterPolicy < 3) { - o.auditConfigs = buildUnnamed61(); - o.bindings = buildUnnamed62(); + o.auditConfigs = buildUnnamed63(); + o.bindings = buildUnnamed64(); o.etag = 'foo'; o.version = 42; } @@ -2514,8 +2584,8 @@ api.Policy buildPolicy() { void checkPolicy(api.Policy o) { buildCounterPolicy++; if (buildCounterPolicy < 3) { - checkUnnamed61(o.auditConfigs!); - checkUnnamed62(o.bindings!); + checkUnnamed63(o.auditConfigs!); + checkUnnamed64(o.bindings!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -2528,12 +2598,12 @@ void checkPolicy(api.Policy o) { buildCounterPolicy--; } -core.Map buildUnnamed63() => { +core.Map buildUnnamed65() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed63(core.Map o) { +void checkUnnamed65(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2545,12 +2615,12 @@ void checkUnnamed63(core.Map o) { ); } -core.List buildUnnamed64() => [ +core.List buildUnnamed66() => [ buildWarnings(), buildWarnings(), ]; -void checkUnnamed64(core.List o) { +void checkUnnamed66(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWarnings(o[0]); checkWarnings(o[1]); @@ -2566,7 +2636,7 @@ api.PolicyBasedRoute buildPolicyBasedRoute() { o.filter = buildFilter(); o.interconnectAttachment = buildInterconnectAttachment(); o.kind = 'foo'; - o.labels = buildUnnamed63(); + o.labels = buildUnnamed65(); o.name = 'foo'; o.network = 'foo'; o.nextHopIlbIp = 'foo'; @@ -2575,7 +2645,7 @@ api.PolicyBasedRoute buildPolicyBasedRoute() { o.selfLink = 'foo'; o.updateTime = 'foo'; o.virtualMachine = buildVirtualMachine(); - o.warnings = buildUnnamed64(); + o.warnings = buildUnnamed66(); } buildCounterPolicyBasedRoute--; return o; @@ -2598,7 +2668,7 @@ void checkPolicyBasedRoute(api.PolicyBasedRoute o) { o.kind!, unittest.equals('foo'), ); - checkUnnamed63(o.labels!); + checkUnnamed65(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -2628,7 +2698,7 @@ void checkPolicyBasedRoute(api.PolicyBasedRoute o) { unittest.equals('foo'), ); checkVirtualMachine(o.virtualMachine!); - checkUnnamed64(o.warnings!); + checkUnnamed66(o.warnings!); } buildCounterPolicyBasedRoute--; } @@ -2655,12 +2725,12 @@ void checkProducerPscConfig(api.ProducerPscConfig o) { buildCounterProducerPscConfig--; } -core.List buildUnnamed65() => [ +core.List buildUnnamed67() => [ 'foo', 'foo', ]; -void checkUnnamed65(core.List o) { +void checkUnnamed67(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2672,12 +2742,12 @@ void checkUnnamed65(core.List o) { ); } -core.List buildUnnamed66() => [ +core.List buildUnnamed68() => [ 'foo', 'foo', ]; -void checkUnnamed66(core.List o) { +void checkUnnamed68(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2694,10 +2764,10 @@ api.PscConfig buildPscConfig() { final o = api.PscConfig(); buildCounterPscConfig++; if (buildCounterPscConfig < 3) { - o.allowedGoogleProducersResourceHierarchyLevel = buildUnnamed65(); + o.allowedGoogleProducersResourceHierarchyLevel = buildUnnamed67(); o.limit = 'foo'; o.producerInstanceLocation = 'foo'; - o.subnetworks = buildUnnamed66(); + o.subnetworks = buildUnnamed68(); } buildCounterPscConfig--; return o; @@ -2706,7 +2776,7 @@ api.PscConfig buildPscConfig() { void checkPscConfig(api.PscConfig o) { buildCounterPscConfig++; if (buildCounterPscConfig < 3) { - checkUnnamed65(o.allowedGoogleProducersResourceHierarchyLevel!); + checkUnnamed67(o.allowedGoogleProducersResourceHierarchyLevel!); unittest.expect( o.limit!, unittest.equals('foo'), @@ -2715,17 +2785,17 @@ void checkPscConfig(api.PscConfig o) { o.producerInstanceLocation!, unittest.equals('foo'), ); - checkUnnamed66(o.subnetworks!); + checkUnnamed68(o.subnetworks!); } buildCounterPscConfig--; } -core.Map buildUnnamed67() => { +core.Map buildUnnamed69() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed67(core.Map o) { +void checkUnnamed69(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2751,7 +2821,7 @@ api.PscConnection buildPscConnection() { o.gceOperation = 'foo'; o.ipVersion = 'foo'; o.producerInstanceId = 'foo'; - o.producerInstanceMetadata = buildUnnamed67(); + o.producerInstanceMetadata = buildUnnamed69(); o.pscConnectionId = 'foo'; o.selectedSubnetwork = 'foo'; o.serviceClass = 'foo'; @@ -2794,7 +2864,7 @@ void checkPscConnection(api.PscConnection o) { o.producerInstanceId!, unittest.equals('foo'), ); - checkUnnamed67(o.producerInstanceMetadata!); + checkUnnamed69(o.producerInstanceMetadata!); unittest.expect( o.pscConnectionId!, unittest.equals('foo'), @@ -2867,12 +2937,12 @@ void checkPscPropagationStatus(api.PscPropagationStatus o) { buildCounterPscPropagationStatus--; } -core.List buildUnnamed68() => [ +core.List buildUnnamed70() => [ buildHubStatusEntry(), buildHubStatusEntry(), ]; -void checkUnnamed68(core.List o) { +void checkUnnamed70(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHubStatusEntry(o[0]); checkHubStatusEntry(o[1]); @@ -2883,7 +2953,7 @@ api.QueryHubStatusResponse buildQueryHubStatusResponse() { final o = api.QueryHubStatusResponse(); buildCounterQueryHubStatusResponse++; if (buildCounterQueryHubStatusResponse < 3) { - o.hubStatusEntries = buildUnnamed68(); + o.hubStatusEntries = buildUnnamed70(); o.nextPageToken = 'foo'; } buildCounterQueryHubStatusResponse--; @@ -2893,7 +2963,7 @@ api.QueryHubStatusResponse buildQueryHubStatusResponse() { void checkQueryHubStatusResponse(api.QueryHubStatusResponse o) { buildCounterQueryHubStatusResponse++; if (buildCounterQueryHubStatusResponse < 3) { - checkUnnamed68(o.hubStatusEntries!); + checkUnnamed70(o.hubStatusEntries!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2902,12 +2972,12 @@ void checkQueryHubStatusResponse(api.QueryHubStatusResponse o) { buildCounterQueryHubStatusResponse--; } -core.Map buildUnnamed69() => { +core.Map buildUnnamed71() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed69(core.Map o) { +void checkUnnamed71(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2929,7 +2999,7 @@ api.RegionalEndpoint buildRegionalEndpoint() { o.createTime = 'foo'; o.description = 'foo'; o.ipAddress = 'foo'; - o.labels = buildUnnamed69(); + o.labels = buildUnnamed71(); o.name = 'foo'; o.network = 'foo'; o.pscForwardingRule = 'foo'; @@ -2964,7 +3034,7 @@ void checkRegionalEndpoint(api.RegionalEndpoint o) { o.ipAddress!, unittest.equals('foo'), ); - checkUnnamed69(o.labels!); + checkUnnamed71(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -3025,12 +3095,49 @@ void checkRejectHubSpokeRequest(api.RejectHubSpokeRequest o) { buildCounterRejectHubSpokeRequest--; } -core.Map buildUnnamed70() => { +core.int buildCounterRejectSpokeUpdateRequest = 0; +api.RejectSpokeUpdateRequest buildRejectSpokeUpdateRequest() { + final o = api.RejectSpokeUpdateRequest(); + buildCounterRejectSpokeUpdateRequest++; + if (buildCounterRejectSpokeUpdateRequest < 3) { + o.details = 'foo'; + o.requestId = 'foo'; + o.spokeEtag = 'foo'; + o.spokeUri = 'foo'; + } + buildCounterRejectSpokeUpdateRequest--; + return o; +} + +void checkRejectSpokeUpdateRequest(api.RejectSpokeUpdateRequest o) { + buildCounterRejectSpokeUpdateRequest++; + if (buildCounterRejectSpokeUpdateRequest < 3) { + unittest.expect( + o.details!, + unittest.equals('foo'), + ); + unittest.expect( + o.requestId!, + unittest.equals('foo'), + ); + unittest.expect( + o.spokeEtag!, + unittest.equals('foo'), + ); + unittest.expect( + o.spokeUri!, + unittest.equals('foo'), + ); + } + buildCounterRejectSpokeUpdateRequest--; +} + +core.Map buildUnnamed72() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed70(core.Map o) { +void checkUnnamed72(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3050,7 +3157,7 @@ api.Route buildRoute() { o.createTime = 'foo'; o.description = 'foo'; o.ipCidrRange = 'foo'; - o.labels = buildUnnamed70(); + o.labels = buildUnnamed72(); o.location = 'foo'; o.name = 'foo'; o.nextHopInterconnectAttachment = buildNextHopInterconnectAttachment(); @@ -3083,7 +3190,7 @@ void checkRoute(api.Route o) { o.ipCidrRange!, unittest.equals('foo'), ); - checkUnnamed70(o.labels!); + checkUnnamed72(o.labels!); unittest.expect( o.location!, unittest.equals('foo'), @@ -3124,12 +3231,12 @@ void checkRoute(api.Route o) { buildCounterRoute--; } -core.Map buildUnnamed71() => { +core.Map buildUnnamed73() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed71(core.Map o) { +void checkUnnamed73(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3148,7 +3255,7 @@ api.RouteTable buildRouteTable() { if (buildCounterRouteTable < 3) { o.createTime = 'foo'; o.description = 'foo'; - o.labels = buildUnnamed71(); + o.labels = buildUnnamed73(); o.name = 'foo'; o.state = 'foo'; o.uid = 'foo'; @@ -3169,7 +3276,7 @@ void checkRouteTable(api.RouteTable o) { o.description!, unittest.equals('foo'), ); - checkUnnamed71(o.labels!); + checkUnnamed73(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -3242,12 +3349,12 @@ void checkRoutingVPC(api.RoutingVPC o) { buildCounterRoutingVPC--; } -core.Map buildUnnamed72() => { +core.Map buildUnnamed74() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed72(core.Map o) { +void checkUnnamed74(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3267,7 +3374,7 @@ api.ServiceClass buildServiceClass() { o.createTime = 'foo'; o.description = 'foo'; o.etag = 'foo'; - o.labels = buildUnnamed72(); + o.labels = buildUnnamed74(); o.name = 'foo'; o.serviceClass = 'foo'; o.updateTime = 'foo'; @@ -3291,7 +3398,7 @@ void checkServiceClass(api.ServiceClass o) { o.etag!, unittest.equals('foo'), ); - checkUnnamed72(o.labels!); + checkUnnamed74(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -3308,34 +3415,34 @@ void checkServiceClass(api.ServiceClass o) { buildCounterServiceClass--; } -core.List buildUnnamed73() => [ +core.List buildUnnamed75() => [ buildConsumerPscConfig(), buildConsumerPscConfig(), ]; -void checkUnnamed73(core.List o) { +void checkUnnamed75(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConsumerPscConfig(o[0]); checkConsumerPscConfig(o[1]); } -core.List buildUnnamed74() => [ +core.List buildUnnamed76() => [ buildConsumerPscConnection(), buildConsumerPscConnection(), ]; -void checkUnnamed74(core.List o) { +void checkUnnamed76(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConsumerPscConnection(o[0]); checkConsumerPscConnection(o[1]); } -core.Map buildUnnamed75() => { +core.Map buildUnnamed77() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed75(core.Map o) { +void checkUnnamed77(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3347,12 +3454,12 @@ void checkUnnamed75(core.Map o) { ); } -core.List buildUnnamed76() => [ +core.List buildUnnamed78() => [ buildProducerPscConfig(), buildProducerPscConfig(), ]; -void checkUnnamed76(core.List o) { +void checkUnnamed78(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkProducerPscConfig(o[0]); checkProducerPscConfig(o[1]); @@ -3363,15 +3470,15 @@ api.ServiceConnectionMap buildServiceConnectionMap() { final o = api.ServiceConnectionMap(); buildCounterServiceConnectionMap++; if (buildCounterServiceConnectionMap < 3) { - o.consumerPscConfigs = buildUnnamed73(); - o.consumerPscConnections = buildUnnamed74(); + o.consumerPscConfigs = buildUnnamed75(); + o.consumerPscConnections = buildUnnamed76(); o.createTime = 'foo'; o.description = 'foo'; o.etag = 'foo'; o.infrastructure = 'foo'; - o.labels = buildUnnamed75(); + o.labels = buildUnnamed77(); o.name = 'foo'; - o.producerPscConfigs = buildUnnamed76(); + o.producerPscConfigs = buildUnnamed78(); o.serviceClass = 'foo'; o.serviceClassUri = 'foo'; o.token = 'foo'; @@ -3384,8 +3491,8 @@ api.ServiceConnectionMap buildServiceConnectionMap() { void checkServiceConnectionMap(api.ServiceConnectionMap o) { buildCounterServiceConnectionMap++; if (buildCounterServiceConnectionMap < 3) { - checkUnnamed73(o.consumerPscConfigs!); - checkUnnamed74(o.consumerPscConnections!); + checkUnnamed75(o.consumerPscConfigs!); + checkUnnamed76(o.consumerPscConnections!); unittest.expect( o.createTime!, unittest.equals('foo'), @@ -3402,12 +3509,12 @@ void checkServiceConnectionMap(api.ServiceConnectionMap o) { o.infrastructure!, unittest.equals('foo'), ); - checkUnnamed75(o.labels!); + checkUnnamed77(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed76(o.producerPscConfigs!); + checkUnnamed78(o.producerPscConfigs!); unittest.expect( o.serviceClass!, unittest.equals('foo'), @@ -3428,12 +3535,12 @@ void checkServiceConnectionMap(api.ServiceConnectionMap o) { buildCounterServiceConnectionMap--; } -core.Map buildUnnamed77() => { +core.Map buildUnnamed79() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed77(core.Map o) { +void checkUnnamed79(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3445,12 +3552,12 @@ void checkUnnamed77(core.Map o) { ); } -core.List buildUnnamed78() => [ +core.List buildUnnamed80() => [ buildPscConnection(), buildPscConnection(), ]; -void checkUnnamed78(core.List o) { +void checkUnnamed80(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPscConnection(o[0]); checkPscConnection(o[1]); @@ -3465,11 +3572,11 @@ api.ServiceConnectionPolicy buildServiceConnectionPolicy() { o.description = 'foo'; o.etag = 'foo'; o.infrastructure = 'foo'; - o.labels = buildUnnamed77(); + o.labels = buildUnnamed79(); o.name = 'foo'; o.network = 'foo'; o.pscConfig = buildPscConfig(); - o.pscConnections = buildUnnamed78(); + o.pscConnections = buildUnnamed80(); o.serviceClass = 'foo'; o.updateTime = 'foo'; } @@ -3496,7 +3603,7 @@ void checkServiceConnectionPolicy(api.ServiceConnectionPolicy o) { o.infrastructure!, unittest.equals('foo'), ); - checkUnnamed77(o.labels!); + checkUnnamed79(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -3506,7 +3613,7 @@ void checkServiceConnectionPolicy(api.ServiceConnectionPolicy o) { unittest.equals('foo'), ); checkPscConfig(o.pscConfig!); - checkUnnamed78(o.pscConnections!); + checkUnnamed80(o.pscConnections!); unittest.expect( o.serviceClass!, unittest.equals('foo'), @@ -3519,12 +3626,12 @@ void checkServiceConnectionPolicy(api.ServiceConnectionPolicy o) { buildCounterServiceConnectionPolicy--; } -core.Map buildUnnamed79() => { +core.Map buildUnnamed81() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed79(core.Map o) { +void checkUnnamed81(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3545,7 +3652,7 @@ api.ServiceConnectionToken buildServiceConnectionToken() { o.description = 'foo'; o.etag = 'foo'; o.expireTime = 'foo'; - o.labels = buildUnnamed79(); + o.labels = buildUnnamed81(); o.name = 'foo'; o.network = 'foo'; o.token = 'foo'; @@ -3574,7 +3681,7 @@ void checkServiceConnectionToken(api.ServiceConnectionToken o) { o.expireTime!, unittest.equals('foo'), ); - checkUnnamed79(o.labels!); + checkUnnamed81(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -3619,12 +3726,29 @@ void checkSetIamPolicyRequest(api.SetIamPolicyRequest o) { buildCounterSetIamPolicyRequest--; } -core.Map buildUnnamed80() => { +core.List buildUnnamed82() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed82(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.Map buildUnnamed83() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed80(core.Map o) { +void checkUnnamed83(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3636,12 +3760,12 @@ void checkUnnamed80(core.Map o) { ); } -core.List buildUnnamed81() => [ +core.List buildUnnamed84() => [ buildStateReason(), buildStateReason(), ]; -void checkUnnamed81(core.List o) { +void checkUnnamed84(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStateReason(o[0]); checkStateReason(o[1]); @@ -3654,16 +3778,18 @@ api.Spoke buildSpoke() { if (buildCounterSpoke < 3) { o.createTime = 'foo'; o.description = 'foo'; + o.etag = 'foo'; + o.fieldPathsPendingUpdate = buildUnnamed82(); o.group = 'foo'; o.hub = 'foo'; - o.labels = buildUnnamed80(); + o.labels = buildUnnamed83(); o.linkedInterconnectAttachments = buildLinkedInterconnectAttachments(); o.linkedProducerVpcNetwork = buildLinkedProducerVpcNetwork(); o.linkedRouterApplianceInstances = buildLinkedRouterApplianceInstances(); o.linkedVpcNetwork = buildLinkedVpcNetwork(); o.linkedVpnTunnels = buildLinkedVpnTunnels(); o.name = 'foo'; - o.reasons = buildUnnamed81(); + o.reasons = buildUnnamed84(); o.spokeType = 'foo'; o.state = 'foo'; o.uniqueId = 'foo'; @@ -3684,6 +3810,11 @@ void checkSpoke(api.Spoke o) { o.description!, unittest.equals('foo'), ); + unittest.expect( + o.etag!, + unittest.equals('foo'), + ); + checkUnnamed82(o.fieldPathsPendingUpdate!); unittest.expect( o.group!, unittest.equals('foo'), @@ -3692,7 +3823,7 @@ void checkSpoke(api.Spoke o) { o.hub!, unittest.equals('foo'), ); - checkUnnamed80(o.labels!); + checkUnnamed83(o.labels!); checkLinkedInterconnectAttachments(o.linkedInterconnectAttachments!); checkLinkedProducerVpcNetwork(o.linkedProducerVpcNetwork!); checkLinkedRouterApplianceInstances(o.linkedRouterApplianceInstances!); @@ -3702,7 +3833,7 @@ void checkSpoke(api.Spoke o) { o.name!, unittest.equals('foo'), ); - checkUnnamed81(o.reasons!); + checkUnnamed84(o.reasons!); unittest.expect( o.spokeType!, unittest.equals('foo'), @@ -3777,34 +3908,34 @@ void checkSpokeStateReasonCount(api.SpokeStateReasonCount o) { buildCounterSpokeStateReasonCount--; } -core.List buildUnnamed82() => [ +core.List buildUnnamed85() => [ buildSpokeStateCount(), buildSpokeStateCount(), ]; -void checkUnnamed82(core.List o) { +void checkUnnamed85(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSpokeStateCount(o[0]); checkSpokeStateCount(o[1]); } -core.List buildUnnamed83() => [ +core.List buildUnnamed86() => [ buildSpokeStateReasonCount(), buildSpokeStateReasonCount(), ]; -void checkUnnamed83(core.List o) { +void checkUnnamed86(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSpokeStateReasonCount(o[0]); checkSpokeStateReasonCount(o[1]); } -core.List buildUnnamed84() => [ +core.List buildUnnamed87() => [ buildSpokeTypeCount(), buildSpokeTypeCount(), ]; -void checkUnnamed84(core.List o) { +void checkUnnamed87(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSpokeTypeCount(o[0]); checkSpokeTypeCount(o[1]); @@ -3815,9 +3946,9 @@ api.SpokeSummary buildSpokeSummary() { final o = api.SpokeSummary(); buildCounterSpokeSummary++; if (buildCounterSpokeSummary < 3) { - o.spokeStateCounts = buildUnnamed82(); - o.spokeStateReasonCounts = buildUnnamed83(); - o.spokeTypeCounts = buildUnnamed84(); + o.spokeStateCounts = buildUnnamed85(); + o.spokeStateReasonCounts = buildUnnamed86(); + o.spokeTypeCounts = buildUnnamed87(); } buildCounterSpokeSummary--; return o; @@ -3826,9 +3957,9 @@ api.SpokeSummary buildSpokeSummary() { void checkSpokeSummary(api.SpokeSummary o) { buildCounterSpokeSummary++; if (buildCounterSpokeSummary < 3) { - checkUnnamed82(o.spokeStateCounts!); - checkUnnamed83(o.spokeStateReasonCounts!); - checkUnnamed84(o.spokeTypeCounts!); + checkUnnamed85(o.spokeStateCounts!); + checkUnnamed86(o.spokeStateReasonCounts!); + checkUnnamed87(o.spokeTypeCounts!); } buildCounterSpokeSummary--; } @@ -3892,12 +4023,12 @@ void checkStateReason(api.StateReason o) { buildCounterStateReason--; } -core.List buildUnnamed85() => [ +core.List buildUnnamed88() => [ 'foo', 'foo', ]; -void checkUnnamed85(core.List o) { +void checkUnnamed88(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3914,7 +4045,7 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { final o = api.TestIamPermissionsRequest(); buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - o.permissions = buildUnnamed85(); + o.permissions = buildUnnamed88(); } buildCounterTestIamPermissionsRequest--; return o; @@ -3923,17 +4054,17 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { void checkTestIamPermissionsRequest(api.TestIamPermissionsRequest o) { buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - checkUnnamed85(o.permissions!); + checkUnnamed88(o.permissions!); } buildCounterTestIamPermissionsRequest--; } -core.List buildUnnamed86() => [ +core.List buildUnnamed89() => [ 'foo', 'foo', ]; -void checkUnnamed86(core.List o) { +void checkUnnamed89(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3950,7 +4081,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { final o = api.TestIamPermissionsResponse(); buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - o.permissions = buildUnnamed86(); + o.permissions = buildUnnamed89(); } buildCounterTestIamPermissionsResponse--; return o; @@ -3959,17 +4090,17 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { void checkTestIamPermissionsResponse(api.TestIamPermissionsResponse o) { buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - checkUnnamed86(o.permissions!); + checkUnnamed89(o.permissions!); } buildCounterTestIamPermissionsResponse--; } -core.List buildUnnamed87() => [ +core.List buildUnnamed90() => [ 'foo', 'foo', ]; -void checkUnnamed87(core.List o) { +void checkUnnamed90(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3986,7 +4117,7 @@ api.VirtualMachine buildVirtualMachine() { final o = api.VirtualMachine(); buildCounterVirtualMachine++; if (buildCounterVirtualMachine < 3) { - o.tags = buildUnnamed87(); + o.tags = buildUnnamed90(); } buildCounterVirtualMachine--; return o; @@ -3995,17 +4126,17 @@ api.VirtualMachine buildVirtualMachine() { void checkVirtualMachine(api.VirtualMachine o) { buildCounterVirtualMachine++; if (buildCounterVirtualMachine < 3) { - checkUnnamed87(o.tags!); + checkUnnamed90(o.tags!); } buildCounterVirtualMachine--; } -core.Map buildUnnamed88() => { +core.Map buildUnnamed91() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed88(core.Map o) { +void checkUnnamed91(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4023,7 +4154,7 @@ api.Warnings buildWarnings() { buildCounterWarnings++; if (buildCounterWarnings < 3) { o.code = 'foo'; - o.data = buildUnnamed88(); + o.data = buildUnnamed91(); o.warningMessage = 'foo'; } buildCounterWarnings--; @@ -4037,7 +4168,7 @@ void checkWarnings(api.Warnings o) { o.code!, unittest.equals('foo'), ); - checkUnnamed88(o.data!); + checkUnnamed91(o.data!); unittest.expect( o.warningMessage!, unittest.equals('foo'), @@ -4046,12 +4177,12 @@ void checkWarnings(api.Warnings o) { buildCounterWarnings--; } -core.List buildUnnamed89() => [ +core.List buildUnnamed92() => [ 'foo', 'foo', ]; -void checkUnnamed89(core.List o) { +void checkUnnamed92(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4074,6 +4205,16 @@ void main() { }); }); + unittest.group('obj-schema-AcceptSpokeUpdateRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildAcceptSpokeUpdateRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AcceptSpokeUpdateRequest.fromJson( + oJson as core.Map); + checkAcceptSpokeUpdateRequest(od); + }); + }); + unittest.group('obj-schema-AuditConfig', () { unittest.test('to-json--from-json', () async { final o = buildAuditConfig(); @@ -4603,6 +4744,16 @@ void main() { }); }); + unittest.group('obj-schema-RejectSpokeUpdateRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildRejectSpokeUpdateRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.RejectSpokeUpdateRequest.fromJson( + oJson as core.Map); + checkRejectSpokeUpdateRequest(od); + }); + }); + unittest.group('obj-schema-Route', () { unittest.test('to-json--from-json', () async { final o = buildRoute(); @@ -4979,6 +5130,66 @@ void main() { response as api.GoogleLongrunningOperation); }); + unittest.test('method--acceptSpokeUpdate', () async { + final mock = HttpServerMock(); + final res = + api.NetworkconnectivityApi(mock).projects.locations.global.hubs; + final arg_request = buildAcceptSpokeUpdateRequest(); + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.AcceptSpokeUpdateRequest.fromJson( + json as core.Map); + checkAcceptSpokeUpdateRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGoogleLongrunningOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.acceptSpokeUpdate(arg_request, arg_name, + $fields: arg_$fields); + checkGoogleLongrunningOperation( + response as api.GoogleLongrunningOperation); + }); + unittest.test('method--create', () async { final mock = HttpServerMock(); final res = @@ -5309,7 +5520,7 @@ void main() { final arg_orderBy = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; - final arg_spokeLocations = buildUnnamed89(); + final arg_spokeLocations = buildUnnamed92(); final arg_view = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -5606,6 +5817,66 @@ void main() { response as api.GoogleLongrunningOperation); }); + unittest.test('method--rejectSpokeUpdate', () async { + final mock = HttpServerMock(); + final res = + api.NetworkconnectivityApi(mock).projects.locations.global.hubs; + final arg_request = buildRejectSpokeUpdateRequest(); + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.RejectSpokeUpdateRequest.fromJson( + json as core.Map); + checkRejectSpokeUpdateRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGoogleLongrunningOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.rejectSpokeUpdate(arg_request, arg_name, + $fields: arg_$fields); + checkGoogleLongrunningOperation( + response as api.GoogleLongrunningOperation); + }); + unittest.test('method--setIamPolicy', () async { final mock = HttpServerMock(); final res = diff --git a/generated/googleapis/test/networkmanagement/v1_test.dart b/generated/googleapis/test/networkmanagement/v1_test.dart index ca3b54d54..fe9cbc4e6 100644 --- a/generated/googleapis/test/networkmanagement/v1_test.dart +++ b/generated/googleapis/test/networkmanagement/v1_test.dart @@ -576,6 +576,48 @@ void checkDeliverInfo(api.DeliverInfo o) { buildCounterDeliverInfo--; } +core.int buildCounterDirectVpcEgressConnectionInfo = 0; +api.DirectVpcEgressConnectionInfo buildDirectVpcEgressConnectionInfo() { + final o = api.DirectVpcEgressConnectionInfo(); + buildCounterDirectVpcEgressConnectionInfo++; + if (buildCounterDirectVpcEgressConnectionInfo < 3) { + o.networkUri = 'foo'; + o.region = 'foo'; + o.selectedIpAddress = 'foo'; + o.selectedIpRange = 'foo'; + o.subnetworkUri = 'foo'; + } + buildCounterDirectVpcEgressConnectionInfo--; + return o; +} + +void checkDirectVpcEgressConnectionInfo(api.DirectVpcEgressConnectionInfo o) { + buildCounterDirectVpcEgressConnectionInfo++; + if (buildCounterDirectVpcEgressConnectionInfo < 3) { + unittest.expect( + o.networkUri!, + unittest.equals('foo'), + ); + unittest.expect( + o.region!, + unittest.equals('foo'), + ); + unittest.expect( + o.selectedIpAddress!, + unittest.equals('foo'), + ); + unittest.expect( + o.selectedIpRange!, + unittest.equals('foo'), + ); + unittest.expect( + o.subnetworkUri!, + unittest.equals('foo'), + ); + } + buildCounterDirectVpcEgressConnectionInfo--; +} + core.int buildCounterDropInfo = 0; api.DropInfo buildDropInfo() { final o = api.DropInfo(); @@ -2479,6 +2521,29 @@ void checkRouteInfo(api.RouteInfo o) { buildCounterRouteInfo--; } +core.int buildCounterServerlessExternalConnectionInfo = 0; +api.ServerlessExternalConnectionInfo buildServerlessExternalConnectionInfo() { + final o = api.ServerlessExternalConnectionInfo(); + buildCounterServerlessExternalConnectionInfo++; + if (buildCounterServerlessExternalConnectionInfo < 3) { + o.selectedIpAddress = 'foo'; + } + buildCounterServerlessExternalConnectionInfo--; + return o; +} + +void checkServerlessExternalConnectionInfo( + api.ServerlessExternalConnectionInfo o) { + buildCounterServerlessExternalConnectionInfo++; + if (buildCounterServerlessExternalConnectionInfo < 3) { + unittest.expect( + o.selectedIpAddress!, + unittest.equals('foo'), + ); + } + buildCounterServerlessExternalConnectionInfo--; +} + core.int buildCounterServerlessNegInfo = 0; api.ServerlessNegInfo buildServerlessNegInfo() { final o = api.ServerlessNegInfo(); @@ -2623,6 +2688,7 @@ api.Step buildStep() { o.cloudSqlInstance = buildCloudSQLInstanceInfo(); o.deliver = buildDeliverInfo(); o.description = 'foo'; + o.directVpcEgressConnection = buildDirectVpcEgressConnectionInfo(); o.drop = buildDropInfo(); o.endpoint = buildEndpointInfo(); o.firewall = buildFirewallInfo(); @@ -2640,6 +2706,7 @@ api.Step buildStep() { o.redisCluster = buildRedisClusterInfo(); o.redisInstance = buildRedisInstanceInfo(); o.route = buildRouteInfo(); + o.serverlessExternalConnection = buildServerlessExternalConnectionInfo(); o.serverlessNeg = buildServerlessNegInfo(); o.state = 'foo'; o.storageBucket = buildStorageBucketInfo(); @@ -2665,6 +2732,7 @@ void checkStep(api.Step o) { o.description!, unittest.equals('foo'), ); + checkDirectVpcEgressConnectionInfo(o.directVpcEgressConnection!); checkDropInfo(o.drop!); checkEndpointInfo(o.endpoint!); checkFirewallInfo(o.firewall!); @@ -2685,6 +2753,7 @@ void checkStep(api.Step o) { checkRedisClusterInfo(o.redisCluster!); checkRedisInstanceInfo(o.redisInstance!); checkRouteInfo(o.route!); + checkServerlessExternalConnectionInfo(o.serverlessExternalConnection!); checkServerlessNegInfo(o.serverlessNeg!); unittest.expect( o.state!, @@ -3226,6 +3295,16 @@ void main() { }); }); + unittest.group('obj-schema-DirectVpcEgressConnectionInfo', () { + unittest.test('to-json--from-json', () async { + final o = buildDirectVpcEgressConnectionInfo(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DirectVpcEgressConnectionInfo.fromJson( + oJson as core.Map); + checkDirectVpcEgressConnectionInfo(od); + }); + }); + unittest.group('obj-schema-DropInfo', () { unittest.test('to-json--from-json', () async { final o = buildDropInfo(); @@ -3556,6 +3635,16 @@ void main() { }); }); + unittest.group('obj-schema-ServerlessExternalConnectionInfo', () { + unittest.test('to-json--from-json', () async { + final o = buildServerlessExternalConnectionInfo(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ServerlessExternalConnectionInfo.fromJson( + oJson as core.Map); + checkServerlessExternalConnectionInfo(od); + }); + }); + unittest.group('obj-schema-ServerlessNegInfo', () { unittest.test('to-json--from-json', () async { final o = buildServerlessNegInfo(); diff --git a/generated/googleapis/test/networksecurity/v1_test.dart b/generated/googleapis/test/networksecurity/v1_test.dart index 3c58afbe8..31b549c08 100644 --- a/generated/googleapis/test/networksecurity/v1_test.dart +++ b/generated/googleapis/test/networksecurity/v1_test.dart @@ -176,6 +176,33 @@ void checkAddressGroup(api.AddressGroup o) { buildCounterAddressGroup--; } +core.int buildCounterAntivirusOverride = 0; +api.AntivirusOverride buildAntivirusOverride() { + final o = api.AntivirusOverride(); + buildCounterAntivirusOverride++; + if (buildCounterAntivirusOverride < 3) { + o.action = 'foo'; + o.protocol = 'foo'; + } + buildCounterAntivirusOverride--; + return o; +} + +void checkAntivirusOverride(api.AntivirusOverride o) { + buildCounterAntivirusOverride++; + if (buildCounterAntivirusOverride < 3) { + unittest.expect( + o.action!, + unittest.equals('foo'), + ); + unittest.expect( + o.protocol!, + unittest.equals('foo'), + ); + } + buildCounterAntivirusOverride--; +} + core.Map buildUnnamed4() => { 'x': 'foo', 'y': 'foo', @@ -1196,6 +1223,8 @@ api.FirewallEndpoint buildFirewallEndpoint() { o.labels = buildUnnamed28(); o.name = 'foo'; o.reconciling = true; + o.satisfiesPzi = true; + o.satisfiesPzs = true; o.state = 'foo'; o.updateTime = 'foo'; } @@ -1226,6 +1255,8 @@ void checkFirewallEndpoint(api.FirewallEndpoint o) { unittest.equals('foo'), ); unittest.expect(o.reconciling!, unittest.isTrue); + unittest.expect(o.satisfiesPzi!, unittest.isTrue); + unittest.expect(o.satisfiesPzs!, unittest.isTrue); unittest.expect( o.state!, unittest.equals('foo'), @@ -1876,6 +1907,23 @@ void checkUnnamed38(core.List o) { checkAddressGroup(o[1]); } +core.List buildUnnamed39() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed39(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + core.int buildCounterListAddressGroupsResponse = 0; api.ListAddressGroupsResponse buildListAddressGroupsResponse() { final o = api.ListAddressGroupsResponse(); @@ -1883,6 +1931,7 @@ api.ListAddressGroupsResponse buildListAddressGroupsResponse() { if (buildCounterListAddressGroupsResponse < 3) { o.addressGroups = buildUnnamed38(); o.nextPageToken = 'foo'; + o.unreachable = buildUnnamed39(); } buildCounterListAddressGroupsResponse--; return o; @@ -1896,16 +1945,17 @@ void checkListAddressGroupsResponse(api.ListAddressGroupsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); + checkUnnamed39(o.unreachable!); } buildCounterListAddressGroupsResponse--; } -core.List buildUnnamed39() => [ +core.List buildUnnamed40() => [ buildAuthorizationPolicy(), buildAuthorizationPolicy(), ]; -void checkUnnamed39(core.List o) { +void checkUnnamed40(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuthorizationPolicy(o[0]); checkAuthorizationPolicy(o[1]); @@ -1916,7 +1966,7 @@ api.ListAuthorizationPoliciesResponse buildListAuthorizationPoliciesResponse() { final o = api.ListAuthorizationPoliciesResponse(); buildCounterListAuthorizationPoliciesResponse++; if (buildCounterListAuthorizationPoliciesResponse < 3) { - o.authorizationPolicies = buildUnnamed39(); + o.authorizationPolicies = buildUnnamed40(); o.nextPageToken = 'foo'; } buildCounterListAuthorizationPoliciesResponse--; @@ -1927,7 +1977,7 @@ void checkListAuthorizationPoliciesResponse( api.ListAuthorizationPoliciesResponse o) { buildCounterListAuthorizationPoliciesResponse++; if (buildCounterListAuthorizationPoliciesResponse < 3) { - checkUnnamed39(o.authorizationPolicies!); + checkUnnamed40(o.authorizationPolicies!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -1936,23 +1986,23 @@ void checkListAuthorizationPoliciesResponse( buildCounterListAuthorizationPoliciesResponse--; } -core.List buildUnnamed40() => [ +core.List buildUnnamed41() => [ buildAuthzPolicy(), buildAuthzPolicy(), ]; -void checkUnnamed40(core.List o) { +void checkUnnamed41(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuthzPolicy(o[0]); checkAuthzPolicy(o[1]); } -core.List buildUnnamed41() => [ +core.List buildUnnamed42() => [ 'foo', 'foo', ]; -void checkUnnamed41(core.List o) { +void checkUnnamed42(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1969,9 +2019,9 @@ api.ListAuthzPoliciesResponse buildListAuthzPoliciesResponse() { final o = api.ListAuthzPoliciesResponse(); buildCounterListAuthzPoliciesResponse++; if (buildCounterListAuthzPoliciesResponse < 3) { - o.authzPolicies = buildUnnamed40(); + o.authzPolicies = buildUnnamed41(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed41(); + o.unreachable = buildUnnamed42(); } buildCounterListAuthzPoliciesResponse--; return o; @@ -1980,22 +2030,22 @@ api.ListAuthzPoliciesResponse buildListAuthzPoliciesResponse() { void checkListAuthzPoliciesResponse(api.ListAuthzPoliciesResponse o) { buildCounterListAuthzPoliciesResponse++; if (buildCounterListAuthzPoliciesResponse < 3) { - checkUnnamed40(o.authzPolicies!); + checkUnnamed41(o.authzPolicies!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed41(o.unreachable!); + checkUnnamed42(o.unreachable!); } buildCounterListAuthzPoliciesResponse--; } -core.List buildUnnamed42() => [ +core.List buildUnnamed43() => [ buildClientTlsPolicy(), buildClientTlsPolicy(), ]; -void checkUnnamed42(core.List o) { +void checkUnnamed43(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkClientTlsPolicy(o[0]); checkClientTlsPolicy(o[1]); @@ -2006,7 +2056,7 @@ api.ListClientTlsPoliciesResponse buildListClientTlsPoliciesResponse() { final o = api.ListClientTlsPoliciesResponse(); buildCounterListClientTlsPoliciesResponse++; if (buildCounterListClientTlsPoliciesResponse < 3) { - o.clientTlsPolicies = buildUnnamed42(); + o.clientTlsPolicies = buildUnnamed43(); o.nextPageToken = 'foo'; } buildCounterListClientTlsPoliciesResponse--; @@ -2016,7 +2066,7 @@ api.ListClientTlsPoliciesResponse buildListClientTlsPoliciesResponse() { void checkListClientTlsPoliciesResponse(api.ListClientTlsPoliciesResponse o) { buildCounterListClientTlsPoliciesResponse++; if (buildCounterListClientTlsPoliciesResponse < 3) { - checkUnnamed42(o.clientTlsPolicies!); + checkUnnamed43(o.clientTlsPolicies!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2025,23 +2075,23 @@ void checkListClientTlsPoliciesResponse(api.ListClientTlsPoliciesResponse o) { buildCounterListClientTlsPoliciesResponse--; } -core.List buildUnnamed43() => [ +core.List buildUnnamed44() => [ buildFirewallEndpointAssociation(), buildFirewallEndpointAssociation(), ]; -void checkUnnamed43(core.List o) { +void checkUnnamed44(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFirewallEndpointAssociation(o[0]); checkFirewallEndpointAssociation(o[1]); } -core.List buildUnnamed44() => [ +core.List buildUnnamed45() => [ 'foo', 'foo', ]; -void checkUnnamed44(core.List o) { +void checkUnnamed45(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2059,9 +2109,9 @@ api.ListFirewallEndpointAssociationsResponse final o = api.ListFirewallEndpointAssociationsResponse(); buildCounterListFirewallEndpointAssociationsResponse++; if (buildCounterListFirewallEndpointAssociationsResponse < 3) { - o.firewallEndpointAssociations = buildUnnamed43(); + o.firewallEndpointAssociations = buildUnnamed44(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed44(); + o.unreachable = buildUnnamed45(); } buildCounterListFirewallEndpointAssociationsResponse--; return o; @@ -2071,33 +2121,33 @@ void checkListFirewallEndpointAssociationsResponse( api.ListFirewallEndpointAssociationsResponse o) { buildCounterListFirewallEndpointAssociationsResponse++; if (buildCounterListFirewallEndpointAssociationsResponse < 3) { - checkUnnamed43(o.firewallEndpointAssociations!); + checkUnnamed44(o.firewallEndpointAssociations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed44(o.unreachable!); + checkUnnamed45(o.unreachable!); } buildCounterListFirewallEndpointAssociationsResponse--; } -core.List buildUnnamed45() => [ +core.List buildUnnamed46() => [ buildFirewallEndpoint(), buildFirewallEndpoint(), ]; -void checkUnnamed45(core.List o) { +void checkUnnamed46(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFirewallEndpoint(o[0]); checkFirewallEndpoint(o[1]); } -core.List buildUnnamed46() => [ +core.List buildUnnamed47() => [ 'foo', 'foo', ]; -void checkUnnamed46(core.List o) { +void checkUnnamed47(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2114,9 +2164,9 @@ api.ListFirewallEndpointsResponse buildListFirewallEndpointsResponse() { final o = api.ListFirewallEndpointsResponse(); buildCounterListFirewallEndpointsResponse++; if (buildCounterListFirewallEndpointsResponse < 3) { - o.firewallEndpoints = buildUnnamed45(); + o.firewallEndpoints = buildUnnamed46(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed46(); + o.unreachable = buildUnnamed47(); } buildCounterListFirewallEndpointsResponse--; return o; @@ -2125,33 +2175,33 @@ api.ListFirewallEndpointsResponse buildListFirewallEndpointsResponse() { void checkListFirewallEndpointsResponse(api.ListFirewallEndpointsResponse o) { buildCounterListFirewallEndpointsResponse++; if (buildCounterListFirewallEndpointsResponse < 3) { - checkUnnamed45(o.firewallEndpoints!); + checkUnnamed46(o.firewallEndpoints!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed46(o.unreachable!); + checkUnnamed47(o.unreachable!); } buildCounterListFirewallEndpointsResponse--; } -core.List buildUnnamed47() => [ +core.List buildUnnamed48() => [ buildGatewaySecurityPolicy(), buildGatewaySecurityPolicy(), ]; -void checkUnnamed47(core.List o) { +void checkUnnamed48(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGatewaySecurityPolicy(o[0]); checkGatewaySecurityPolicy(o[1]); } -core.List buildUnnamed48() => [ +core.List buildUnnamed49() => [ 'foo', 'foo', ]; -void checkUnnamed48(core.List o) { +void checkUnnamed49(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2169,9 +2219,9 @@ api.ListGatewaySecurityPoliciesResponse final o = api.ListGatewaySecurityPoliciesResponse(); buildCounterListGatewaySecurityPoliciesResponse++; if (buildCounterListGatewaySecurityPoliciesResponse < 3) { - o.gatewaySecurityPolicies = buildUnnamed47(); + o.gatewaySecurityPolicies = buildUnnamed48(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed48(); + o.unreachable = buildUnnamed49(); } buildCounterListGatewaySecurityPoliciesResponse--; return o; @@ -2181,33 +2231,33 @@ void checkListGatewaySecurityPoliciesResponse( api.ListGatewaySecurityPoliciesResponse o) { buildCounterListGatewaySecurityPoliciesResponse++; if (buildCounterListGatewaySecurityPoliciesResponse < 3) { - checkUnnamed47(o.gatewaySecurityPolicies!); + checkUnnamed48(o.gatewaySecurityPolicies!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed48(o.unreachable!); + checkUnnamed49(o.unreachable!); } buildCounterListGatewaySecurityPoliciesResponse--; } -core.List buildUnnamed49() => [ +core.List buildUnnamed50() => [ buildGatewaySecurityPolicyRule(), buildGatewaySecurityPolicyRule(), ]; -void checkUnnamed49(core.List o) { +void checkUnnamed50(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGatewaySecurityPolicyRule(o[0]); checkGatewaySecurityPolicyRule(o[1]); } -core.List buildUnnamed50() => [ +core.List buildUnnamed51() => [ 'foo', 'foo', ]; -void checkUnnamed50(core.List o) { +void checkUnnamed51(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2225,9 +2275,9 @@ api.ListGatewaySecurityPolicyRulesResponse final o = api.ListGatewaySecurityPolicyRulesResponse(); buildCounterListGatewaySecurityPolicyRulesResponse++; if (buildCounterListGatewaySecurityPolicyRulesResponse < 3) { - o.gatewaySecurityPolicyRules = buildUnnamed49(); + o.gatewaySecurityPolicyRules = buildUnnamed50(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed50(); + o.unreachable = buildUnnamed51(); } buildCounterListGatewaySecurityPolicyRulesResponse--; return o; @@ -2237,22 +2287,22 @@ void checkListGatewaySecurityPolicyRulesResponse( api.ListGatewaySecurityPolicyRulesResponse o) { buildCounterListGatewaySecurityPolicyRulesResponse++; if (buildCounterListGatewaySecurityPolicyRulesResponse < 3) { - checkUnnamed49(o.gatewaySecurityPolicyRules!); + checkUnnamed50(o.gatewaySecurityPolicyRules!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed50(o.unreachable!); + checkUnnamed51(o.unreachable!); } buildCounterListGatewaySecurityPolicyRulesResponse--; } -core.List buildUnnamed51() => [ +core.List buildUnnamed52() => [ buildLocation(), buildLocation(), ]; -void checkUnnamed51(core.List o) { +void checkUnnamed52(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLocation(o[0]); checkLocation(o[1]); @@ -2263,7 +2313,7 @@ api.ListLocationsResponse buildListLocationsResponse() { final o = api.ListLocationsResponse(); buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - o.locations = buildUnnamed51(); + o.locations = buildUnnamed52(); o.nextPageToken = 'foo'; } buildCounterListLocationsResponse--; @@ -2273,7 +2323,7 @@ api.ListLocationsResponse buildListLocationsResponse() { void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - checkUnnamed51(o.locations!); + checkUnnamed52(o.locations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2282,12 +2332,178 @@ void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse--; } -core.List buildUnnamed52() => [ +core.List buildUnnamed53() => [ + buildMirroringDeploymentGroup(), + buildMirroringDeploymentGroup(), + ]; + +void checkUnnamed53(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkMirroringDeploymentGroup(o[0]); + checkMirroringDeploymentGroup(o[1]); +} + +core.int buildCounterListMirroringDeploymentGroupsResponse = 0; +api.ListMirroringDeploymentGroupsResponse + buildListMirroringDeploymentGroupsResponse() { + final o = api.ListMirroringDeploymentGroupsResponse(); + buildCounterListMirroringDeploymentGroupsResponse++; + if (buildCounterListMirroringDeploymentGroupsResponse < 3) { + o.mirroringDeploymentGroups = buildUnnamed53(); + o.nextPageToken = 'foo'; + } + buildCounterListMirroringDeploymentGroupsResponse--; + return o; +} + +void checkListMirroringDeploymentGroupsResponse( + api.ListMirroringDeploymentGroupsResponse o) { + buildCounterListMirroringDeploymentGroupsResponse++; + if (buildCounterListMirroringDeploymentGroupsResponse < 3) { + checkUnnamed53(o.mirroringDeploymentGroups!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListMirroringDeploymentGroupsResponse--; +} + +core.List buildUnnamed54() => [ + buildMirroringDeployment(), + buildMirroringDeployment(), + ]; + +void checkUnnamed54(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkMirroringDeployment(o[0]); + checkMirroringDeployment(o[1]); +} + +core.List buildUnnamed55() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed55(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterListMirroringDeploymentsResponse = 0; +api.ListMirroringDeploymentsResponse buildListMirroringDeploymentsResponse() { + final o = api.ListMirroringDeploymentsResponse(); + buildCounterListMirroringDeploymentsResponse++; + if (buildCounterListMirroringDeploymentsResponse < 3) { + o.mirroringDeployments = buildUnnamed54(); + o.nextPageToken = 'foo'; + o.unreachable = buildUnnamed55(); + } + buildCounterListMirroringDeploymentsResponse--; + return o; +} + +void checkListMirroringDeploymentsResponse( + api.ListMirroringDeploymentsResponse o) { + buildCounterListMirroringDeploymentsResponse++; + if (buildCounterListMirroringDeploymentsResponse < 3) { + checkUnnamed54(o.mirroringDeployments!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + checkUnnamed55(o.unreachable!); + } + buildCounterListMirroringDeploymentsResponse--; +} + +core.List buildUnnamed56() => [ + buildMirroringEndpointGroupAssociation(), + buildMirroringEndpointGroupAssociation(), + ]; + +void checkUnnamed56(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkMirroringEndpointGroupAssociation(o[0]); + checkMirroringEndpointGroupAssociation(o[1]); +} + +core.int buildCounterListMirroringEndpointGroupAssociationsResponse = 0; +api.ListMirroringEndpointGroupAssociationsResponse + buildListMirroringEndpointGroupAssociationsResponse() { + final o = api.ListMirroringEndpointGroupAssociationsResponse(); + buildCounterListMirroringEndpointGroupAssociationsResponse++; + if (buildCounterListMirroringEndpointGroupAssociationsResponse < 3) { + o.mirroringEndpointGroupAssociations = buildUnnamed56(); + o.nextPageToken = 'foo'; + } + buildCounterListMirroringEndpointGroupAssociationsResponse--; + return o; +} + +void checkListMirroringEndpointGroupAssociationsResponse( + api.ListMirroringEndpointGroupAssociationsResponse o) { + buildCounterListMirroringEndpointGroupAssociationsResponse++; + if (buildCounterListMirroringEndpointGroupAssociationsResponse < 3) { + checkUnnamed56(o.mirroringEndpointGroupAssociations!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListMirroringEndpointGroupAssociationsResponse--; +} + +core.List buildUnnamed57() => [ + buildMirroringEndpointGroup(), + buildMirroringEndpointGroup(), + ]; + +void checkUnnamed57(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkMirroringEndpointGroup(o[0]); + checkMirroringEndpointGroup(o[1]); +} + +core.int buildCounterListMirroringEndpointGroupsResponse = 0; +api.ListMirroringEndpointGroupsResponse + buildListMirroringEndpointGroupsResponse() { + final o = api.ListMirroringEndpointGroupsResponse(); + buildCounterListMirroringEndpointGroupsResponse++; + if (buildCounterListMirroringEndpointGroupsResponse < 3) { + o.mirroringEndpointGroups = buildUnnamed57(); + o.nextPageToken = 'foo'; + } + buildCounterListMirroringEndpointGroupsResponse--; + return o; +} + +void checkListMirroringEndpointGroupsResponse( + api.ListMirroringEndpointGroupsResponse o) { + buildCounterListMirroringEndpointGroupsResponse++; + if (buildCounterListMirroringEndpointGroupsResponse < 3) { + checkUnnamed57(o.mirroringEndpointGroups!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + } + buildCounterListMirroringEndpointGroupsResponse--; +} + +core.List buildUnnamed58() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed52(core.List o) { +void checkUnnamed58(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -2299,7 +2515,7 @@ api.ListOperationsResponse buildListOperationsResponse() { buildCounterListOperationsResponse++; if (buildCounterListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed52(); + o.operations = buildUnnamed58(); } buildCounterListOperationsResponse--; return o; @@ -2312,17 +2528,17 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed52(o.operations!); + checkUnnamed58(o.operations!); } buildCounterListOperationsResponse--; } -core.List buildUnnamed53() => [ +core.List buildUnnamed59() => [ buildSecurityProfileGroup(), buildSecurityProfileGroup(), ]; -void checkUnnamed53(core.List o) { +void checkUnnamed59(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSecurityProfileGroup(o[0]); checkSecurityProfileGroup(o[1]); @@ -2334,7 +2550,7 @@ api.ListSecurityProfileGroupsResponse buildListSecurityProfileGroupsResponse() { buildCounterListSecurityProfileGroupsResponse++; if (buildCounterListSecurityProfileGroupsResponse < 3) { o.nextPageToken = 'foo'; - o.securityProfileGroups = buildUnnamed53(); + o.securityProfileGroups = buildUnnamed59(); } buildCounterListSecurityProfileGroupsResponse--; return o; @@ -2348,17 +2564,17 @@ void checkListSecurityProfileGroupsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed53(o.securityProfileGroups!); + checkUnnamed59(o.securityProfileGroups!); } buildCounterListSecurityProfileGroupsResponse--; } -core.List buildUnnamed54() => [ +core.List buildUnnamed60() => [ buildSecurityProfile(), buildSecurityProfile(), ]; -void checkUnnamed54(core.List o) { +void checkUnnamed60(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSecurityProfile(o[0]); checkSecurityProfile(o[1]); @@ -2370,7 +2586,7 @@ api.ListSecurityProfilesResponse buildListSecurityProfilesResponse() { buildCounterListSecurityProfilesResponse++; if (buildCounterListSecurityProfilesResponse < 3) { o.nextPageToken = 'foo'; - o.securityProfiles = buildUnnamed54(); + o.securityProfiles = buildUnnamed60(); } buildCounterListSecurityProfilesResponse--; return o; @@ -2383,17 +2599,17 @@ void checkListSecurityProfilesResponse(api.ListSecurityProfilesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed54(o.securityProfiles!); + checkUnnamed60(o.securityProfiles!); } buildCounterListSecurityProfilesResponse--; } -core.List buildUnnamed55() => [ +core.List buildUnnamed61() => [ buildServerTlsPolicy(), buildServerTlsPolicy(), ]; -void checkUnnamed55(core.List o) { +void checkUnnamed61(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServerTlsPolicy(o[0]); checkServerTlsPolicy(o[1]); @@ -2405,7 +2621,7 @@ api.ListServerTlsPoliciesResponse buildListServerTlsPoliciesResponse() { buildCounterListServerTlsPoliciesResponse++; if (buildCounterListServerTlsPoliciesResponse < 3) { o.nextPageToken = 'foo'; - o.serverTlsPolicies = buildUnnamed55(); + o.serverTlsPolicies = buildUnnamed61(); } buildCounterListServerTlsPoliciesResponse--; return o; @@ -2418,28 +2634,28 @@ void checkListServerTlsPoliciesResponse(api.ListServerTlsPoliciesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed55(o.serverTlsPolicies!); + checkUnnamed61(o.serverTlsPolicies!); } buildCounterListServerTlsPoliciesResponse--; } -core.List buildUnnamed56() => [ +core.List buildUnnamed62() => [ buildTlsInspectionPolicy(), buildTlsInspectionPolicy(), ]; -void checkUnnamed56(core.List o) { +void checkUnnamed62(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTlsInspectionPolicy(o[0]); checkTlsInspectionPolicy(o[1]); } -core.List buildUnnamed57() => [ +core.List buildUnnamed63() => [ 'foo', 'foo', ]; -void checkUnnamed57(core.List o) { +void checkUnnamed63(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2457,8 +2673,8 @@ api.ListTlsInspectionPoliciesResponse buildListTlsInspectionPoliciesResponse() { buildCounterListTlsInspectionPoliciesResponse++; if (buildCounterListTlsInspectionPoliciesResponse < 3) { o.nextPageToken = 'foo'; - o.tlsInspectionPolicies = buildUnnamed56(); - o.unreachable = buildUnnamed57(); + o.tlsInspectionPolicies = buildUnnamed62(); + o.unreachable = buildUnnamed63(); } buildCounterListTlsInspectionPoliciesResponse--; return o; @@ -2472,18 +2688,18 @@ void checkListTlsInspectionPoliciesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed56(o.tlsInspectionPolicies!); - checkUnnamed57(o.unreachable!); + checkUnnamed62(o.tlsInspectionPolicies!); + checkUnnamed63(o.unreachable!); } buildCounterListTlsInspectionPoliciesResponse--; } -core.List buildUnnamed58() => [ +core.List buildUnnamed64() => [ 'foo', 'foo', ]; -void checkUnnamed58(core.List o) { +void checkUnnamed64(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2495,12 +2711,12 @@ void checkUnnamed58(core.List o) { ); } -core.List buildUnnamed59() => [ +core.List buildUnnamed65() => [ buildUrlList(), buildUrlList(), ]; -void checkUnnamed59(core.List o) { +void checkUnnamed65(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUrlList(o[0]); checkUrlList(o[1]); @@ -2512,8 +2728,8 @@ api.ListUrlListsResponse buildListUrlListsResponse() { buildCounterListUrlListsResponse++; if (buildCounterListUrlListsResponse < 3) { o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed58(); - o.urlLists = buildUnnamed59(); + o.unreachable = buildUnnamed64(); + o.urlLists = buildUnnamed65(); } buildCounterListUrlListsResponse--; return o; @@ -2526,18 +2742,18 @@ void checkListUrlListsResponse(api.ListUrlListsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed58(o.unreachable!); - checkUnnamed59(o.urlLists!); + checkUnnamed64(o.unreachable!); + checkUnnamed65(o.urlLists!); } buildCounterListUrlListsResponse--; } -core.Map buildUnnamed60() => { +core.Map buildUnnamed66() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed60(core.Map o) { +void checkUnnamed66(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2549,7 +2765,7 @@ void checkUnnamed60(core.Map o) { ); } -core.Map buildUnnamed61() => { +core.Map buildUnnamed67() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2562,7 +2778,7 @@ core.Map buildUnnamed61() => { }, }; -void checkUnnamed61(core.Map o) { +void checkUnnamed67(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -2600,9 +2816,9 @@ api.Location buildLocation() { buildCounterLocation++; if (buildCounterLocation < 3) { o.displayName = 'foo'; - o.labels = buildUnnamed60(); + o.labels = buildUnnamed66(); o.locationId = 'foo'; - o.metadata = buildUnnamed61(); + o.metadata = buildUnnamed67(); o.name = 'foo'; } buildCounterLocation--; @@ -2616,12 +2832,12 @@ void checkLocation(api.Location o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed60(o.labels!); + checkUnnamed66(o.labels!); unittest.expect( o.locationId!, unittest.equals('foo'), ); - checkUnnamed61(o.metadata!); + checkUnnamed67(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), @@ -2630,12 +2846,12 @@ void checkLocation(api.Location o) { buildCounterLocation--; } -core.List buildUnnamed62() => [ +core.List buildUnnamed68() => [ buildValidationCA(), buildValidationCA(), ]; -void checkUnnamed62(core.List o) { +void checkUnnamed68(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkValidationCA(o[0]); checkValidationCA(o[1]); @@ -2646,7 +2862,7 @@ api.MTLSPolicy buildMTLSPolicy() { final o = api.MTLSPolicy(); buildCounterMTLSPolicy++; if (buildCounterMTLSPolicy < 3) { - o.clientValidationCa = buildUnnamed62(); + o.clientValidationCa = buildUnnamed68(); o.clientValidationMode = 'foo'; o.clientValidationTrustConfig = 'foo'; } @@ -2657,7 +2873,7 @@ api.MTLSPolicy buildMTLSPolicy() { void checkMTLSPolicy(api.MTLSPolicy o) { buildCounterMTLSPolicy++; if (buildCounterMTLSPolicy < 3) { - checkUnnamed62(o.clientValidationCa!); + checkUnnamed68(o.clientValidationCa!); unittest.expect( o.clientValidationMode!, unittest.equals('foo'), @@ -2670,216 +2886,245 @@ void checkMTLSPolicy(api.MTLSPolicy o) { buildCounterMTLSPolicy--; } -core.Map buildUnnamed63() => { - 'x': { - 'list': [1, 2, 3], - 'bool': true, - 'string': 'foo' - }, - 'y': { - 'list': [1, 2, 3], - 'bool': true, - 'string': 'foo' - }, - }; - -void checkUnnamed63(core.Map o) { - unittest.expect(o, unittest.hasLength(2)); - var casted3 = (o['x']!) as core.Map; - unittest.expect(casted3, unittest.hasLength(3)); - unittest.expect( - casted3['list'], - unittest.equals([1, 2, 3]), - ); - unittest.expect( - casted3['bool'], - unittest.equals(true), - ); - unittest.expect( - casted3['string'], - unittest.equals('foo'), - ); - var casted4 = (o['y']!) as core.Map; - unittest.expect(casted4, unittest.hasLength(3)); - unittest.expect( - casted4['list'], - unittest.equals([1, 2, 3]), - ); - unittest.expect( - casted4['bool'], - unittest.equals(true), - ); - unittest.expect( - casted4['string'], - unittest.equals('foo'), - ); -} - -core.Map buildUnnamed64() => { - 'x': { - 'list': [1, 2, 3], - 'bool': true, - 'string': 'foo' - }, - 'y': { - 'list': [1, 2, 3], - 'bool': true, - 'string': 'foo' - }, +core.Map buildUnnamed69() => { + 'x': 'foo', + 'y': 'foo', }; -void checkUnnamed64(core.Map o) { +void checkUnnamed69(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted5 = (o['x']!) as core.Map; - unittest.expect(casted5, unittest.hasLength(3)); - unittest.expect( - casted5['list'], - unittest.equals([1, 2, 3]), - ); unittest.expect( - casted5['bool'], - unittest.equals(true), - ); - unittest.expect( - casted5['string'], + o['x']!, unittest.equals('foo'), ); - var casted6 = (o['y']!) as core.Map; - unittest.expect(casted6, unittest.hasLength(3)); - unittest.expect( - casted6['list'], - unittest.equals([1, 2, 3]), - ); - unittest.expect( - casted6['bool'], - unittest.equals(true), - ); unittest.expect( - casted6['string'], + o['y']!, unittest.equals('foo'), ); } -core.int buildCounterOperation = 0; -api.Operation buildOperation() { - final o = api.Operation(); - buildCounterOperation++; - if (buildCounterOperation < 3) { - o.done = true; - o.error = buildStatus(); - o.metadata = buildUnnamed63(); +core.int buildCounterMirroringDeployment = 0; +api.MirroringDeployment buildMirroringDeployment() { + final o = api.MirroringDeployment(); + buildCounterMirroringDeployment++; + if (buildCounterMirroringDeployment < 3) { + o.createTime = 'foo'; + o.description = 'foo'; + o.forwardingRule = 'foo'; + o.labels = buildUnnamed69(); + o.mirroringDeploymentGroup = 'foo'; o.name = 'foo'; - o.response = buildUnnamed64(); + o.reconciling = true; + o.state = 'foo'; + o.updateTime = 'foo'; } - buildCounterOperation--; + buildCounterMirroringDeployment--; return o; } -void checkOperation(api.Operation o) { - buildCounterOperation++; - if (buildCounterOperation < 3) { - unittest.expect(o.done!, unittest.isTrue); - checkStatus(o.error!); - checkUnnamed63(o.metadata!); +void checkMirroringDeployment(api.MirroringDeployment o) { + buildCounterMirroringDeployment++; + if (buildCounterMirroringDeployment < 3) { + unittest.expect( + o.createTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.description!, + unittest.equals('foo'), + ); + unittest.expect( + o.forwardingRule!, + unittest.equals('foo'), + ); + checkUnnamed69(o.labels!); + unittest.expect( + o.mirroringDeploymentGroup!, + unittest.equals('foo'), + ); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed64(o.response!); + unittest.expect(o.reconciling!, unittest.isTrue); + unittest.expect( + o.state!, + unittest.equals('foo'), + ); + unittest.expect( + o.updateTime!, + unittest.equals('foo'), + ); } - buildCounterOperation--; + buildCounterMirroringDeployment--; } -core.List buildUnnamed65() => [ - 'foo', - 'foo', - ]; +core.List + buildUnnamed70() => [ + buildMirroringDeploymentGroupConnectedEndpointGroup(), + buildMirroringDeploymentGroupConnectedEndpointGroup(), + ]; + +void checkUnnamed70( + core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkMirroringDeploymentGroupConnectedEndpointGroup(o[0]); + checkMirroringDeploymentGroupConnectedEndpointGroup(o[1]); +} + +core.Map buildUnnamed71() => { + 'x': 'foo', + 'y': 'foo', + }; -void checkUnnamed65(core.List o) { +void checkUnnamed71(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( - o[0], + o['x']!, unittest.equals('foo'), ); unittest.expect( - o[1], + o['y']!, unittest.equals('foo'), ); } -core.int buildCounterRemoveAddressGroupItemsRequest = 0; -api.RemoveAddressGroupItemsRequest buildRemoveAddressGroupItemsRequest() { - final o = api.RemoveAddressGroupItemsRequest(); - buildCounterRemoveAddressGroupItemsRequest++; - if (buildCounterRemoveAddressGroupItemsRequest < 3) { - o.items = buildUnnamed65(); - o.requestId = 'foo'; +core.List buildUnnamed72() => [ + buildMirroringDeploymentGroupDeployment(), + buildMirroringDeploymentGroupDeployment(), + ]; + +void checkUnnamed72(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkMirroringDeploymentGroupDeployment(o[0]); + checkMirroringDeploymentGroupDeployment(o[1]); +} + +core.int buildCounterMirroringDeploymentGroup = 0; +api.MirroringDeploymentGroup buildMirroringDeploymentGroup() { + final o = api.MirroringDeploymentGroup(); + buildCounterMirroringDeploymentGroup++; + if (buildCounterMirroringDeploymentGroup < 3) { + o.connectedEndpointGroups = buildUnnamed70(); + o.createTime = 'foo'; + o.description = 'foo'; + o.labels = buildUnnamed71(); + o.name = 'foo'; + o.nestedDeployments = buildUnnamed72(); + o.network = 'foo'; + o.reconciling = true; + o.state = 'foo'; + o.updateTime = 'foo'; } - buildCounterRemoveAddressGroupItemsRequest--; + buildCounterMirroringDeploymentGroup--; return o; } -void checkRemoveAddressGroupItemsRequest(api.RemoveAddressGroupItemsRequest o) { - buildCounterRemoveAddressGroupItemsRequest++; - if (buildCounterRemoveAddressGroupItemsRequest < 3) { - checkUnnamed65(o.items!); +void checkMirroringDeploymentGroup(api.MirroringDeploymentGroup o) { + buildCounterMirroringDeploymentGroup++; + if (buildCounterMirroringDeploymentGroup < 3) { + checkUnnamed70(o.connectedEndpointGroups!); unittest.expect( - o.requestId!, + o.createTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.description!, + unittest.equals('foo'), + ); + checkUnnamed71(o.labels!); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + checkUnnamed72(o.nestedDeployments!); + unittest.expect( + o.network!, + unittest.equals('foo'), + ); + unittest.expect(o.reconciling!, unittest.isTrue); + unittest.expect( + o.state!, + unittest.equals('foo'), + ); + unittest.expect( + o.updateTime!, unittest.equals('foo'), ); } - buildCounterRemoveAddressGroupItemsRequest--; + buildCounterMirroringDeploymentGroup--; } -core.List buildUnnamed66() => [ - buildDestination(), - buildDestination(), - ]; - -void checkUnnamed66(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - checkDestination(o[0]); - checkDestination(o[1]); +core.int buildCounterMirroringDeploymentGroupConnectedEndpointGroup = 0; +api.MirroringDeploymentGroupConnectedEndpointGroup + buildMirroringDeploymentGroupConnectedEndpointGroup() { + final o = api.MirroringDeploymentGroupConnectedEndpointGroup(); + buildCounterMirroringDeploymentGroupConnectedEndpointGroup++; + if (buildCounterMirroringDeploymentGroupConnectedEndpointGroup < 3) { + o.name = 'foo'; + } + buildCounterMirroringDeploymentGroupConnectedEndpointGroup--; + return o; } -core.List buildUnnamed67() => [ - buildSource(), - buildSource(), - ]; - -void checkUnnamed67(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - checkSource(o[0]); - checkSource(o[1]); +void checkMirroringDeploymentGroupConnectedEndpointGroup( + api.MirroringDeploymentGroupConnectedEndpointGroup o) { + buildCounterMirroringDeploymentGroupConnectedEndpointGroup++; + if (buildCounterMirroringDeploymentGroupConnectedEndpointGroup < 3) { + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + } + buildCounterMirroringDeploymentGroupConnectedEndpointGroup--; } -core.int buildCounterRule = 0; -api.Rule buildRule() { - final o = api.Rule(); - buildCounterRule++; - if (buildCounterRule < 3) { - o.destinations = buildUnnamed66(); - o.sources = buildUnnamed67(); +core.int buildCounterMirroringDeploymentGroupDeployment = 0; +api.MirroringDeploymentGroupDeployment + buildMirroringDeploymentGroupDeployment() { + final o = api.MirroringDeploymentGroupDeployment(); + buildCounterMirroringDeploymentGroupDeployment++; + if (buildCounterMirroringDeploymentGroupDeployment < 3) { + o.name = 'foo'; + o.state = 'foo'; } - buildCounterRule--; + buildCounterMirroringDeploymentGroupDeployment--; return o; } -void checkRule(api.Rule o) { - buildCounterRule++; - if (buildCounterRule < 3) { - checkUnnamed66(o.destinations!); - checkUnnamed67(o.sources!); +void checkMirroringDeploymentGroupDeployment( + api.MirroringDeploymentGroupDeployment o) { + buildCounterMirroringDeploymentGroupDeployment++; + if (buildCounterMirroringDeploymentGroupDeployment < 3) { + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.state!, + unittest.equals('foo'), + ); } - buildCounterRule--; + buildCounterMirroringDeploymentGroupDeployment--; +} + +core.List buildUnnamed73() => [ + buildMirroringEndpointGroupAssociationDetails(), + buildMirroringEndpointGroupAssociationDetails(), + ]; + +void checkUnnamed73(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkMirroringEndpointGroupAssociationDetails(o[0]); + checkMirroringEndpointGroupAssociationDetails(o[1]); } -core.Map buildUnnamed68() => { +core.Map buildUnnamed74() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed68(core.Map o) { +void checkUnnamed74(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2891,51 +3136,49 @@ void checkUnnamed68(core.Map o) { ); } -core.int buildCounterSecurityProfile = 0; -api.SecurityProfile buildSecurityProfile() { - final o = api.SecurityProfile(); - buildCounterSecurityProfile++; - if (buildCounterSecurityProfile < 3) { +core.int buildCounterMirroringEndpointGroup = 0; +api.MirroringEndpointGroup buildMirroringEndpointGroup() { + final o = api.MirroringEndpointGroup(); + buildCounterMirroringEndpointGroup++; + if (buildCounterMirroringEndpointGroup < 3) { + o.associations = buildUnnamed73(); o.createTime = 'foo'; - o.customInterceptProfile = buildCustomInterceptProfile(); - o.customMirroringProfile = buildCustomMirroringProfile(); o.description = 'foo'; - o.etag = 'foo'; - o.labels = buildUnnamed68(); + o.labels = buildUnnamed74(); + o.mirroringDeploymentGroup = 'foo'; o.name = 'foo'; - o.threatPreventionProfile = buildThreatPreventionProfile(); - o.type = 'foo'; + o.reconciling = true; + o.state = 'foo'; o.updateTime = 'foo'; } - buildCounterSecurityProfile--; + buildCounterMirroringEndpointGroup--; return o; } -void checkSecurityProfile(api.SecurityProfile o) { - buildCounterSecurityProfile++; - if (buildCounterSecurityProfile < 3) { +void checkMirroringEndpointGroup(api.MirroringEndpointGroup o) { + buildCounterMirroringEndpointGroup++; + if (buildCounterMirroringEndpointGroup < 3) { + checkUnnamed73(o.associations!); unittest.expect( o.createTime!, unittest.equals('foo'), ); - checkCustomInterceptProfile(o.customInterceptProfile!); - checkCustomMirroringProfile(o.customMirroringProfile!); unittest.expect( o.description!, unittest.equals('foo'), ); + checkUnnamed74(o.labels!); unittest.expect( - o.etag!, + o.mirroringDeploymentGroup!, unittest.equals('foo'), ); - checkUnnamed68(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkThreatPreventionProfile(o.threatPreventionProfile!); + unittest.expect(o.reconciling!, unittest.isTrue); unittest.expect( - o.type!, + o.state!, unittest.equals('foo'), ); unittest.expect( @@ -2943,15 +3186,15 @@ void checkSecurityProfile(api.SecurityProfile o) { unittest.equals('foo'), ); } - buildCounterSecurityProfile--; + buildCounterMirroringEndpointGroup--; } -core.Map buildUnnamed69() => { +core.Map buildUnnamed75() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed69(core.Map o) { +void checkUnnamed75(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2963,55 +3206,63 @@ void checkUnnamed69(core.Map o) { ); } -core.int buildCounterSecurityProfileGroup = 0; -api.SecurityProfileGroup buildSecurityProfileGroup() { - final o = api.SecurityProfileGroup(); - buildCounterSecurityProfileGroup++; - if (buildCounterSecurityProfileGroup < 3) { +core.List + buildUnnamed76() => [ + buildMirroringEndpointGroupAssociationLocationDetails(), + buildMirroringEndpointGroupAssociationLocationDetails(), + ]; + +void checkUnnamed76( + core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkMirroringEndpointGroupAssociationLocationDetails(o[0]); + checkMirroringEndpointGroupAssociationLocationDetails(o[1]); +} + +core.int buildCounterMirroringEndpointGroupAssociation = 0; +api.MirroringEndpointGroupAssociation buildMirroringEndpointGroupAssociation() { + final o = api.MirroringEndpointGroupAssociation(); + buildCounterMirroringEndpointGroupAssociation++; + if (buildCounterMirroringEndpointGroupAssociation < 3) { o.createTime = 'foo'; - o.customInterceptProfile = 'foo'; - o.customMirroringProfile = 'foo'; - o.description = 'foo'; - o.etag = 'foo'; - o.labels = buildUnnamed69(); + o.labels = buildUnnamed75(); + o.locationsDetails = buildUnnamed76(); + o.mirroringEndpointGroup = 'foo'; o.name = 'foo'; - o.threatPreventionProfile = 'foo'; + o.network = 'foo'; + o.reconciling = true; + o.state = 'foo'; o.updateTime = 'foo'; } - buildCounterSecurityProfileGroup--; + buildCounterMirroringEndpointGroupAssociation--; return o; } -void checkSecurityProfileGroup(api.SecurityProfileGroup o) { - buildCounterSecurityProfileGroup++; - if (buildCounterSecurityProfileGroup < 3) { +void checkMirroringEndpointGroupAssociation( + api.MirroringEndpointGroupAssociation o) { + buildCounterMirroringEndpointGroupAssociation++; + if (buildCounterMirroringEndpointGroupAssociation < 3) { unittest.expect( o.createTime!, unittest.equals('foo'), ); + checkUnnamed75(o.labels!); + checkUnnamed76(o.locationsDetails!); unittest.expect( - o.customInterceptProfile!, - unittest.equals('foo'), - ); - unittest.expect( - o.customMirroringProfile!, - unittest.equals('foo'), - ); - unittest.expect( - o.description!, + o.mirroringEndpointGroup!, unittest.equals('foo'), ); unittest.expect( - o.etag!, + o.name!, unittest.equals('foo'), ); - checkUnnamed69(o.labels!); unittest.expect( - o.name!, + o.network!, unittest.equals('foo'), ); + unittest.expect(o.reconciling!, unittest.isTrue); unittest.expect( - o.threatPreventionProfile!, + o.state!, unittest.equals('foo'), ); unittest.expect( @@ -3019,155 +3270,118 @@ void checkSecurityProfileGroup(api.SecurityProfileGroup o) { unittest.equals('foo'), ); } - buildCounterSecurityProfileGroup--; -} - -core.Map buildUnnamed70() => { - 'x': 'foo', - 'y': 'foo', - }; - -void checkUnnamed70(core.Map o) { - unittest.expect(o, unittest.hasLength(2)); - unittest.expect( - o['x']!, - unittest.equals('foo'), - ); - unittest.expect( - o['y']!, - unittest.equals('foo'), - ); + buildCounterMirroringEndpointGroupAssociation--; } -core.int buildCounterServerTlsPolicy = 0; -api.ServerTlsPolicy buildServerTlsPolicy() { - final o = api.ServerTlsPolicy(); - buildCounterServerTlsPolicy++; - if (buildCounterServerTlsPolicy < 3) { - o.allowOpen = true; - o.createTime = 'foo'; - o.description = 'foo'; - o.labels = buildUnnamed70(); - o.mtlsPolicy = buildMTLSPolicy(); +core.int buildCounterMirroringEndpointGroupAssociationDetails = 0; +api.MirroringEndpointGroupAssociationDetails + buildMirroringEndpointGroupAssociationDetails() { + final o = api.MirroringEndpointGroupAssociationDetails(); + buildCounterMirroringEndpointGroupAssociationDetails++; + if (buildCounterMirroringEndpointGroupAssociationDetails < 3) { o.name = 'foo'; - o.serverCertificate = - buildGoogleCloudNetworksecurityV1CertificateProvider(); - o.updateTime = 'foo'; + o.network = 'foo'; + o.state = 'foo'; } - buildCounterServerTlsPolicy--; + buildCounterMirroringEndpointGroupAssociationDetails--; return o; } -void checkServerTlsPolicy(api.ServerTlsPolicy o) { - buildCounterServerTlsPolicy++; - if (buildCounterServerTlsPolicy < 3) { - unittest.expect(o.allowOpen!, unittest.isTrue); - unittest.expect( - o.createTime!, - unittest.equals('foo'), - ); +void checkMirroringEndpointGroupAssociationDetails( + api.MirroringEndpointGroupAssociationDetails o) { + buildCounterMirroringEndpointGroupAssociationDetails++; + if (buildCounterMirroringEndpointGroupAssociationDetails < 3) { unittest.expect( - o.description!, + o.name!, unittest.equals('foo'), ); - checkUnnamed70(o.labels!); - checkMTLSPolicy(o.mtlsPolicy!); unittest.expect( - o.name!, + o.network!, unittest.equals('foo'), ); - checkGoogleCloudNetworksecurityV1CertificateProvider(o.serverCertificate!); unittest.expect( - o.updateTime!, + o.state!, unittest.equals('foo'), ); } - buildCounterServerTlsPolicy--; + buildCounterMirroringEndpointGroupAssociationDetails--; } -core.int buildCounterSeverityOverride = 0; -api.SeverityOverride buildSeverityOverride() { - final o = api.SeverityOverride(); - buildCounterSeverityOverride++; - if (buildCounterSeverityOverride < 3) { - o.action = 'foo'; - o.severity = 'foo'; +core.int buildCounterMirroringEndpointGroupAssociationLocationDetails = 0; +api.MirroringEndpointGroupAssociationLocationDetails + buildMirroringEndpointGroupAssociationLocationDetails() { + final o = api.MirroringEndpointGroupAssociationLocationDetails(); + buildCounterMirroringEndpointGroupAssociationLocationDetails++; + if (buildCounterMirroringEndpointGroupAssociationLocationDetails < 3) { + o.location = 'foo'; + o.state = 'foo'; } - buildCounterSeverityOverride--; + buildCounterMirroringEndpointGroupAssociationLocationDetails--; return o; } -void checkSeverityOverride(api.SeverityOverride o) { - buildCounterSeverityOverride++; - if (buildCounterSeverityOverride < 3) { +void checkMirroringEndpointGroupAssociationLocationDetails( + api.MirroringEndpointGroupAssociationLocationDetails o) { + buildCounterMirroringEndpointGroupAssociationLocationDetails++; + if (buildCounterMirroringEndpointGroupAssociationLocationDetails < 3) { unittest.expect( - o.action!, + o.location!, unittest.equals('foo'), ); unittest.expect( - o.severity!, + o.state!, unittest.equals('foo'), ); } - buildCounterSeverityOverride--; + buildCounterMirroringEndpointGroupAssociationLocationDetails--; } -core.List buildUnnamed71() => [ - 'foo', - 'foo', - ]; +core.Map buildUnnamed77() => { + 'x': { + 'list': [1, 2, 3], + 'bool': true, + 'string': 'foo' + }, + 'y': { + 'list': [1, 2, 3], + 'bool': true, + 'string': 'foo' + }, + }; -void checkUnnamed71(core.List o) { +void checkUnnamed77(core.Map o) { unittest.expect(o, unittest.hasLength(2)); + var casted3 = (o['x']!) as core.Map; + unittest.expect(casted3, unittest.hasLength(3)); unittest.expect( - o[0], - unittest.equals('foo'), + casted3['list'], + unittest.equals([1, 2, 3]), ); unittest.expect( - o[1], - unittest.equals('foo'), + casted3['bool'], + unittest.equals(true), ); -} - -core.List buildUnnamed72() => [ - 'foo', - 'foo', - ]; - -void checkUnnamed72(core.List o) { - unittest.expect(o, unittest.hasLength(2)); unittest.expect( - o[0], + casted3['string'], unittest.equals('foo'), ); + var casted4 = (o['y']!) as core.Map; + unittest.expect(casted4, unittest.hasLength(3)); unittest.expect( - o[1], + casted4['list'], + unittest.equals([1, 2, 3]), + ); + unittest.expect( + casted4['bool'], + unittest.equals(true), + ); + unittest.expect( + casted4['string'], unittest.equals('foo'), ); } -core.int buildCounterSource = 0; -api.Source buildSource() { - final o = api.Source(); - buildCounterSource++; - if (buildCounterSource < 3) { - o.ipBlocks = buildUnnamed71(); - o.principals = buildUnnamed72(); - } - buildCounterSource--; - return o; -} - -void checkSource(api.Source o) { - buildCounterSource++; - if (buildCounterSource < 3) { - checkUnnamed71(o.ipBlocks!); - checkUnnamed72(o.principals!); - } - buildCounterSource--; -} - -core.Map buildUnnamed73() => { +core.Map buildUnnamed78() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3180,221 +3394,214 @@ core.Map buildUnnamed73() => { }, }; -void checkUnnamed73(core.Map o) { +void checkUnnamed78(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted7 = (o['x']!) as core.Map; - unittest.expect(casted7, unittest.hasLength(3)); + var casted5 = (o['x']!) as core.Map; + unittest.expect(casted5, unittest.hasLength(3)); unittest.expect( - casted7['list'], + casted5['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted7['bool'], + casted5['bool'], unittest.equals(true), ); unittest.expect( - casted7['string'], + casted5['string'], unittest.equals('foo'), ); - var casted8 = (o['y']!) as core.Map; - unittest.expect(casted8, unittest.hasLength(3)); + var casted6 = (o['y']!) as core.Map; + unittest.expect(casted6, unittest.hasLength(3)); unittest.expect( - casted8['list'], + casted6['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted8['bool'], + casted6['bool'], unittest.equals(true), ); unittest.expect( - casted8['string'], + casted6['string'], unittest.equals('foo'), ); } -core.List> buildUnnamed74() => [ - buildUnnamed73(), - buildUnnamed73(), - ]; - -void checkUnnamed74(core.List> o) { - unittest.expect(o, unittest.hasLength(2)); - checkUnnamed73(o[0]); - checkUnnamed73(o[1]); -} - -core.int buildCounterStatus = 0; -api.Status buildStatus() { - final o = api.Status(); - buildCounterStatus++; - if (buildCounterStatus < 3) { - o.code = 42; - o.details = buildUnnamed74(); - o.message = 'foo'; +core.int buildCounterOperation = 0; +api.Operation buildOperation() { + final o = api.Operation(); + buildCounterOperation++; + if (buildCounterOperation < 3) { + o.done = true; + o.error = buildStatus(); + o.metadata = buildUnnamed77(); + o.name = 'foo'; + o.response = buildUnnamed78(); } - buildCounterStatus--; + buildCounterOperation--; return o; } -void checkStatus(api.Status o) { - buildCounterStatus++; - if (buildCounterStatus < 3) { - unittest.expect( - o.code!, - unittest.equals(42), - ); - checkUnnamed74(o.details!); +void checkOperation(api.Operation o) { + buildCounterOperation++; + if (buildCounterOperation < 3) { + unittest.expect(o.done!, unittest.isTrue); + checkStatus(o.error!); + checkUnnamed77(o.metadata!); unittest.expect( - o.message!, + o.name!, unittest.equals('foo'), ); + checkUnnamed78(o.response!); } - buildCounterStatus--; + buildCounterOperation--; } -core.int buildCounterThreatOverride = 0; -api.ThreatOverride buildThreatOverride() { - final o = api.ThreatOverride(); - buildCounterThreatOverride++; - if (buildCounterThreatOverride < 3) { - o.action = 'foo'; - o.threatId = 'foo'; - o.type = 'foo'; +core.List buildUnnamed79() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed79(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterRemoveAddressGroupItemsRequest = 0; +api.RemoveAddressGroupItemsRequest buildRemoveAddressGroupItemsRequest() { + final o = api.RemoveAddressGroupItemsRequest(); + buildCounterRemoveAddressGroupItemsRequest++; + if (buildCounterRemoveAddressGroupItemsRequest < 3) { + o.items = buildUnnamed79(); + o.requestId = 'foo'; } - buildCounterThreatOverride--; + buildCounterRemoveAddressGroupItemsRequest--; return o; } -void checkThreatOverride(api.ThreatOverride o) { - buildCounterThreatOverride++; - if (buildCounterThreatOverride < 3) { - unittest.expect( - o.action!, - unittest.equals('foo'), - ); - unittest.expect( - o.threatId!, - unittest.equals('foo'), - ); +void checkRemoveAddressGroupItemsRequest(api.RemoveAddressGroupItemsRequest o) { + buildCounterRemoveAddressGroupItemsRequest++; + if (buildCounterRemoveAddressGroupItemsRequest < 3) { + checkUnnamed79(o.items!); unittest.expect( - o.type!, + o.requestId!, unittest.equals('foo'), ); } - buildCounterThreatOverride--; + buildCounterRemoveAddressGroupItemsRequest--; } -core.List buildUnnamed75() => [ - buildSeverityOverride(), - buildSeverityOverride(), +core.List buildUnnamed80() => [ + buildDestination(), + buildDestination(), ]; -void checkUnnamed75(core.List o) { +void checkUnnamed80(core.List o) { unittest.expect(o, unittest.hasLength(2)); - checkSeverityOverride(o[0]); - checkSeverityOverride(o[1]); + checkDestination(o[0]); + checkDestination(o[1]); } -core.List buildUnnamed76() => [ - buildThreatOverride(), - buildThreatOverride(), +core.List buildUnnamed81() => [ + buildSource(), + buildSource(), ]; -void checkUnnamed76(core.List o) { +void checkUnnamed81(core.List o) { unittest.expect(o, unittest.hasLength(2)); - checkThreatOverride(o[0]); - checkThreatOverride(o[1]); + checkSource(o[0]); + checkSource(o[1]); } -core.int buildCounterThreatPreventionProfile = 0; -api.ThreatPreventionProfile buildThreatPreventionProfile() { - final o = api.ThreatPreventionProfile(); - buildCounterThreatPreventionProfile++; - if (buildCounterThreatPreventionProfile < 3) { - o.severityOverrides = buildUnnamed75(); - o.threatOverrides = buildUnnamed76(); +core.int buildCounterRule = 0; +api.Rule buildRule() { + final o = api.Rule(); + buildCounterRule++; + if (buildCounterRule < 3) { + o.destinations = buildUnnamed80(); + o.sources = buildUnnamed81(); } - buildCounterThreatPreventionProfile--; + buildCounterRule--; return o; } -void checkThreatPreventionProfile(api.ThreatPreventionProfile o) { - buildCounterThreatPreventionProfile++; - if (buildCounterThreatPreventionProfile < 3) { - checkUnnamed75(o.severityOverrides!); - checkUnnamed76(o.threatOverrides!); +void checkRule(api.Rule o) { + buildCounterRule++; + if (buildCounterRule < 3) { + checkUnnamed80(o.destinations!); + checkUnnamed81(o.sources!); } - buildCounterThreatPreventionProfile--; + buildCounterRule--; } -core.List buildUnnamed77() => [ - 'foo', - 'foo', - ]; +core.Map buildUnnamed82() => { + 'x': 'foo', + 'y': 'foo', + }; -void checkUnnamed77(core.List o) { +void checkUnnamed82(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( - o[0], + o['x']!, unittest.equals('foo'), ); unittest.expect( - o[1], + o['y']!, unittest.equals('foo'), ); } -core.int buildCounterTlsInspectionPolicy = 0; -api.TlsInspectionPolicy buildTlsInspectionPolicy() { - final o = api.TlsInspectionPolicy(); - buildCounterTlsInspectionPolicy++; - if (buildCounterTlsInspectionPolicy < 3) { - o.caPool = 'foo'; +core.int buildCounterSecurityProfile = 0; +api.SecurityProfile buildSecurityProfile() { + final o = api.SecurityProfile(); + buildCounterSecurityProfile++; + if (buildCounterSecurityProfile < 3) { o.createTime = 'foo'; - o.customTlsFeatures = buildUnnamed77(); + o.customInterceptProfile = buildCustomInterceptProfile(); + o.customMirroringProfile = buildCustomMirroringProfile(); o.description = 'foo'; - o.excludePublicCaSet = true; - o.minTlsVersion = 'foo'; + o.etag = 'foo'; + o.labels = buildUnnamed82(); o.name = 'foo'; - o.tlsFeatureProfile = 'foo'; - o.trustConfig = 'foo'; + o.threatPreventionProfile = buildThreatPreventionProfile(); + o.type = 'foo'; o.updateTime = 'foo'; } - buildCounterTlsInspectionPolicy--; + buildCounterSecurityProfile--; return o; } -void checkTlsInspectionPolicy(api.TlsInspectionPolicy o) { - buildCounterTlsInspectionPolicy++; - if (buildCounterTlsInspectionPolicy < 3) { - unittest.expect( - o.caPool!, - unittest.equals('foo'), - ); +void checkSecurityProfile(api.SecurityProfile o) { + buildCounterSecurityProfile++; + if (buildCounterSecurityProfile < 3) { unittest.expect( o.createTime!, unittest.equals('foo'), ); - checkUnnamed77(o.customTlsFeatures!); + checkCustomInterceptProfile(o.customInterceptProfile!); + checkCustomMirroringProfile(o.customMirroringProfile!); unittest.expect( o.description!, unittest.equals('foo'), ); - unittest.expect(o.excludePublicCaSet!, unittest.isTrue); unittest.expect( - o.minTlsVersion!, + o.etag!, unittest.equals('foo'), ); + checkUnnamed82(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), ); + checkThreatPreventionProfile(o.threatPreventionProfile!); unittest.expect( - o.tlsFeatureProfile!, - unittest.equals('foo'), - ); - unittest.expect( - o.trustConfig!, + o.type!, unittest.equals('foo'), ); unittest.expect( @@ -3402,461 +3609,948 @@ void checkTlsInspectionPolicy(api.TlsInspectionPolicy o) { unittest.equals('foo'), ); } - buildCounterTlsInspectionPolicy--; + buildCounterSecurityProfile--; } -core.List buildUnnamed78() => [ - 'foo', - 'foo', - ]; +core.Map buildUnnamed83() => { + 'x': 'foo', + 'y': 'foo', + }; -void checkUnnamed78(core.List o) { +void checkUnnamed83(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( - o[0], + o['x']!, unittest.equals('foo'), ); unittest.expect( - o[1], + o['y']!, unittest.equals('foo'), ); } -core.int buildCounterUrlList = 0; -api.UrlList buildUrlList() { - final o = api.UrlList(); - buildCounterUrlList++; - if (buildCounterUrlList < 3) { +core.int buildCounterSecurityProfileGroup = 0; +api.SecurityProfileGroup buildSecurityProfileGroup() { + final o = api.SecurityProfileGroup(); + buildCounterSecurityProfileGroup++; + if (buildCounterSecurityProfileGroup < 3) { o.createTime = 'foo'; + o.customInterceptProfile = 'foo'; + o.customMirroringProfile = 'foo'; + o.dataPathId = 'foo'; o.description = 'foo'; + o.etag = 'foo'; + o.labels = buildUnnamed83(); o.name = 'foo'; + o.threatPreventionProfile = 'foo'; o.updateTime = 'foo'; - o.values = buildUnnamed78(); } - buildCounterUrlList--; + buildCounterSecurityProfileGroup--; return o; } -void checkUrlList(api.UrlList o) { - buildCounterUrlList++; - if (buildCounterUrlList < 3) { +void checkSecurityProfileGroup(api.SecurityProfileGroup o) { + buildCounterSecurityProfileGroup++; + if (buildCounterSecurityProfileGroup < 3) { unittest.expect( o.createTime!, unittest.equals('foo'), ); + unittest.expect( + o.customInterceptProfile!, + unittest.equals('foo'), + ); + unittest.expect( + o.customMirroringProfile!, + unittest.equals('foo'), + ); + unittest.expect( + o.dataPathId!, + unittest.equals('foo'), + ); unittest.expect( o.description!, unittest.equals('foo'), ); + unittest.expect( + o.etag!, + unittest.equals('foo'), + ); + checkUnnamed83(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), ); + unittest.expect( + o.threatPreventionProfile!, + unittest.equals('foo'), + ); unittest.expect( o.updateTime!, unittest.equals('foo'), ); - checkUnnamed78(o.values!); } - buildCounterUrlList--; + buildCounterSecurityProfileGroup--; } -core.int buildCounterValidationCA = 0; -api.ValidationCA buildValidationCA() { - final o = api.ValidationCA(); - buildCounterValidationCA++; - if (buildCounterValidationCA < 3) { - o.certificateProviderInstance = buildCertificateProviderInstance(); - o.grpcEndpoint = buildGoogleCloudNetworksecurityV1GrpcEndpoint(); +core.Map buildUnnamed84() => { + 'x': 'foo', + 'y': 'foo', + }; + +void checkUnnamed84(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o['x']!, + unittest.equals('foo'), + ); + unittest.expect( + o['y']!, + unittest.equals('foo'), + ); +} + +core.int buildCounterServerTlsPolicy = 0; +api.ServerTlsPolicy buildServerTlsPolicy() { + final o = api.ServerTlsPolicy(); + buildCounterServerTlsPolicy++; + if (buildCounterServerTlsPolicy < 3) { + o.allowOpen = true; + o.createTime = 'foo'; + o.description = 'foo'; + o.labels = buildUnnamed84(); + o.mtlsPolicy = buildMTLSPolicy(); + o.name = 'foo'; + o.serverCertificate = + buildGoogleCloudNetworksecurityV1CertificateProvider(); + o.updateTime = 'foo'; } - buildCounterValidationCA--; + buildCounterServerTlsPolicy--; return o; } -void checkValidationCA(api.ValidationCA o) { - buildCounterValidationCA++; - if (buildCounterValidationCA < 3) { - checkCertificateProviderInstance(o.certificateProviderInstance!); - checkGoogleCloudNetworksecurityV1GrpcEndpoint(o.grpcEndpoint!); +void checkServerTlsPolicy(api.ServerTlsPolicy o) { + buildCounterServerTlsPolicy++; + if (buildCounterServerTlsPolicy < 3) { + unittest.expect(o.allowOpen!, unittest.isTrue); + unittest.expect( + o.createTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.description!, + unittest.equals('foo'), + ); + checkUnnamed84(o.labels!); + checkMTLSPolicy(o.mtlsPolicy!); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + checkGoogleCloudNetworksecurityV1CertificateProvider(o.serverCertificate!); + unittest.expect( + o.updateTime!, + unittest.equals('foo'), + ); } - buildCounterValidationCA--; + buildCounterServerTlsPolicy--; } -void main() { - unittest.group('obj-schema-AddAddressGroupItemsRequest', () { - unittest.test('to-json--from-json', () async { - final o = buildAddAddressGroupItemsRequest(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AddAddressGroupItemsRequest.fromJson( - oJson as core.Map); - checkAddAddressGroupItemsRequest(od); - }); - }); +core.int buildCounterSeverityOverride = 0; +api.SeverityOverride buildSeverityOverride() { + final o = api.SeverityOverride(); + buildCounterSeverityOverride++; + if (buildCounterSeverityOverride < 3) { + o.action = 'foo'; + o.severity = 'foo'; + } + buildCounterSeverityOverride--; + return o; +} - unittest.group('obj-schema-AddressGroup', () { - unittest.test('to-json--from-json', () async { - final o = buildAddressGroup(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AddressGroup.fromJson( - oJson as core.Map); - checkAddressGroup(od); - }); - }); +void checkSeverityOverride(api.SeverityOverride o) { + buildCounterSeverityOverride++; + if (buildCounterSeverityOverride < 3) { + unittest.expect( + o.action!, + unittest.equals('foo'), + ); + unittest.expect( + o.severity!, + unittest.equals('foo'), + ); + } + buildCounterSeverityOverride--; +} - unittest.group('obj-schema-AuthorizationPolicy', () { - unittest.test('to-json--from-json', () async { - final o = buildAuthorizationPolicy(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AuthorizationPolicy.fromJson( - oJson as core.Map); - checkAuthorizationPolicy(od); - }); - }); +core.List buildUnnamed85() => [ + 'foo', + 'foo', + ]; - unittest.group('obj-schema-AuthzPolicy', () { - unittest.test('to-json--from-json', () async { - final o = buildAuthzPolicy(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AuthzPolicy.fromJson( - oJson as core.Map); - checkAuthzPolicy(od); - }); - }); +void checkUnnamed85(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} - unittest.group('obj-schema-AuthzPolicyAuthzRule', () { - unittest.test('to-json--from-json', () async { - final o = buildAuthzPolicyAuthzRule(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AuthzPolicyAuthzRule.fromJson( - oJson as core.Map); - checkAuthzPolicyAuthzRule(od); - }); - }); +core.List buildUnnamed86() => [ + 'foo', + 'foo', + ]; - unittest.group('obj-schema-AuthzPolicyAuthzRuleFrom', () { - unittest.test('to-json--from-json', () async { - final o = buildAuthzPolicyAuthzRuleFrom(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AuthzPolicyAuthzRuleFrom.fromJson( - oJson as core.Map); - checkAuthzPolicyAuthzRuleFrom(od); - }); - }); +void checkUnnamed86(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} - unittest.group('obj-schema-AuthzPolicyAuthzRuleFromRequestSource', () { - unittest.test('to-json--from-json', () async { - final o = buildAuthzPolicyAuthzRuleFromRequestSource(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AuthzPolicyAuthzRuleFromRequestSource.fromJson( - oJson as core.Map); - checkAuthzPolicyAuthzRuleFromRequestSource(od); - }); - }); +core.int buildCounterSource = 0; +api.Source buildSource() { + final o = api.Source(); + buildCounterSource++; + if (buildCounterSource < 3) { + o.ipBlocks = buildUnnamed85(); + o.principals = buildUnnamed86(); + } + buildCounterSource--; + return o; +} - unittest.group('obj-schema-AuthzPolicyAuthzRuleHeaderMatch', () { - unittest.test('to-json--from-json', () async { - final o = buildAuthzPolicyAuthzRuleHeaderMatch(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AuthzPolicyAuthzRuleHeaderMatch.fromJson( - oJson as core.Map); - checkAuthzPolicyAuthzRuleHeaderMatch(od); - }); - }); +void checkSource(api.Source o) { + buildCounterSource++; + if (buildCounterSource < 3) { + checkUnnamed85(o.ipBlocks!); + checkUnnamed86(o.principals!); + } + buildCounterSource--; +} - unittest.group('obj-schema-AuthzPolicyAuthzRuleRequestResource', () { - unittest.test('to-json--from-json', () async { - final o = buildAuthzPolicyAuthzRuleRequestResource(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AuthzPolicyAuthzRuleRequestResource.fromJson( - oJson as core.Map); - checkAuthzPolicyAuthzRuleRequestResource(od); - }); - }); +core.Map buildUnnamed87() => { + 'x': { + 'list': [1, 2, 3], + 'bool': true, + 'string': 'foo' + }, + 'y': { + 'list': [1, 2, 3], + 'bool': true, + 'string': 'foo' + }, + }; - unittest.group('obj-schema-AuthzPolicyAuthzRuleRequestResourceTagValueIdSet', - () { - unittest.test('to-json--from-json', () async { - final o = buildAuthzPolicyAuthzRuleRequestResourceTagValueIdSet(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AuthzPolicyAuthzRuleRequestResourceTagValueIdSet.fromJson( - oJson as core.Map); - checkAuthzPolicyAuthzRuleRequestResourceTagValueIdSet(od); - }); - }); +void checkUnnamed87(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + var casted7 = (o['x']!) as core.Map; + unittest.expect(casted7, unittest.hasLength(3)); + unittest.expect( + casted7['list'], + unittest.equals([1, 2, 3]), + ); + unittest.expect( + casted7['bool'], + unittest.equals(true), + ); + unittest.expect( + casted7['string'], + unittest.equals('foo'), + ); + var casted8 = (o['y']!) as core.Map; + unittest.expect(casted8, unittest.hasLength(3)); + unittest.expect( + casted8['list'], + unittest.equals([1, 2, 3]), + ); + unittest.expect( + casted8['bool'], + unittest.equals(true), + ); + unittest.expect( + casted8['string'], + unittest.equals('foo'), + ); +} - unittest.group('obj-schema-AuthzPolicyAuthzRuleStringMatch', () { - unittest.test('to-json--from-json', () async { - final o = buildAuthzPolicyAuthzRuleStringMatch(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AuthzPolicyAuthzRuleStringMatch.fromJson( - oJson as core.Map); - checkAuthzPolicyAuthzRuleStringMatch(od); - }); - }); +core.List> buildUnnamed88() => [ + buildUnnamed87(), + buildUnnamed87(), + ]; - unittest.group('obj-schema-AuthzPolicyAuthzRuleTo', () { - unittest.test('to-json--from-json', () async { - final o = buildAuthzPolicyAuthzRuleTo(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AuthzPolicyAuthzRuleTo.fromJson( - oJson as core.Map); - checkAuthzPolicyAuthzRuleTo(od); - }); - }); +void checkUnnamed88(core.List> o) { + unittest.expect(o, unittest.hasLength(2)); + checkUnnamed87(o[0]); + checkUnnamed87(o[1]); +} - unittest.group('obj-schema-AuthzPolicyAuthzRuleToRequestOperation', () { - unittest.test('to-json--from-json', () async { - final o = buildAuthzPolicyAuthzRuleToRequestOperation(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AuthzPolicyAuthzRuleToRequestOperation.fromJson( - oJson as core.Map); - checkAuthzPolicyAuthzRuleToRequestOperation(od); - }); - }); +core.int buildCounterStatus = 0; +api.Status buildStatus() { + final o = api.Status(); + buildCounterStatus++; + if (buildCounterStatus < 3) { + o.code = 42; + o.details = buildUnnamed88(); + o.message = 'foo'; + } + buildCounterStatus--; + return o; +} - unittest.group('obj-schema-AuthzPolicyAuthzRuleToRequestOperationHeaderSet', - () { - unittest.test('to-json--from-json', () async { - final o = buildAuthzPolicyAuthzRuleToRequestOperationHeaderSet(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AuthzPolicyAuthzRuleToRequestOperationHeaderSet.fromJson( - oJson as core.Map); - checkAuthzPolicyAuthzRuleToRequestOperationHeaderSet(od); - }); - }); +void checkStatus(api.Status o) { + buildCounterStatus++; + if (buildCounterStatus < 3) { + unittest.expect( + o.code!, + unittest.equals(42), + ); + checkUnnamed88(o.details!); + unittest.expect( + o.message!, + unittest.equals('foo'), + ); + } + buildCounterStatus--; +} - unittest.group('obj-schema-AuthzPolicyCustomProvider', () { - unittest.test('to-json--from-json', () async { - final o = buildAuthzPolicyCustomProvider(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AuthzPolicyCustomProvider.fromJson( - oJson as core.Map); - checkAuthzPolicyCustomProvider(od); - }); - }); +core.int buildCounterThreatOverride = 0; +api.ThreatOverride buildThreatOverride() { + final o = api.ThreatOverride(); + buildCounterThreatOverride++; + if (buildCounterThreatOverride < 3) { + o.action = 'foo'; + o.threatId = 'foo'; + o.type = 'foo'; + } + buildCounterThreatOverride--; + return o; +} - unittest.group('obj-schema-AuthzPolicyCustomProviderAuthzExtension', () { - unittest.test('to-json--from-json', () async { - final o = buildAuthzPolicyCustomProviderAuthzExtension(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AuthzPolicyCustomProviderAuthzExtension.fromJson( - oJson as core.Map); - checkAuthzPolicyCustomProviderAuthzExtension(od); - }); - }); +void checkThreatOverride(api.ThreatOverride o) { + buildCounterThreatOverride++; + if (buildCounterThreatOverride < 3) { + unittest.expect( + o.action!, + unittest.equals('foo'), + ); + unittest.expect( + o.threatId!, + unittest.equals('foo'), + ); + unittest.expect( + o.type!, + unittest.equals('foo'), + ); + } + buildCounterThreatOverride--; +} - unittest.group('obj-schema-AuthzPolicyCustomProviderCloudIap', () { - unittest.test('to-json--from-json', () async { - final o = buildAuthzPolicyCustomProviderCloudIap(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AuthzPolicyCustomProviderCloudIap.fromJson( - oJson as core.Map); - checkAuthzPolicyCustomProviderCloudIap(od); - }); - }); +core.List buildUnnamed89() => [ + buildAntivirusOverride(), + buildAntivirusOverride(), + ]; - unittest.group('obj-schema-AuthzPolicyTarget', () { - unittest.test('to-json--from-json', () async { - final o = buildAuthzPolicyTarget(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.AuthzPolicyTarget.fromJson( - oJson as core.Map); - checkAuthzPolicyTarget(od); - }); - }); +void checkUnnamed89(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAntivirusOverride(o[0]); + checkAntivirusOverride(o[1]); +} - unittest.group('obj-schema-CancelOperationRequest', () { - unittest.test('to-json--from-json', () async { - final o = buildCancelOperationRequest(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.CancelOperationRequest.fromJson( - oJson as core.Map); - checkCancelOperationRequest(od); - }); - }); +core.List buildUnnamed90() => [ + buildSeverityOverride(), + buildSeverityOverride(), + ]; - unittest.group('obj-schema-CertificateProviderInstance', () { - unittest.test('to-json--from-json', () async { - final o = buildCertificateProviderInstance(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.CertificateProviderInstance.fromJson( - oJson as core.Map); - checkCertificateProviderInstance(od); - }); - }); +void checkUnnamed90(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkSeverityOverride(o[0]); + checkSeverityOverride(o[1]); +} - unittest.group('obj-schema-ClientTlsPolicy', () { - unittest.test('to-json--from-json', () async { - final o = buildClientTlsPolicy(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.ClientTlsPolicy.fromJson( - oJson as core.Map); - checkClientTlsPolicy(od); - }); - }); +core.List buildUnnamed91() => [ + buildThreatOverride(), + buildThreatOverride(), + ]; - unittest.group('obj-schema-CloneAddressGroupItemsRequest', () { - unittest.test('to-json--from-json', () async { - final o = buildCloneAddressGroupItemsRequest(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.CloneAddressGroupItemsRequest.fromJson( - oJson as core.Map); - checkCloneAddressGroupItemsRequest(od); - }); - }); +void checkUnnamed91(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkThreatOverride(o[0]); + checkThreatOverride(o[1]); +} - unittest.group('obj-schema-CustomInterceptProfile', () { - unittest.test('to-json--from-json', () async { - final o = buildCustomInterceptProfile(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.CustomInterceptProfile.fromJson( - oJson as core.Map); - checkCustomInterceptProfile(od); - }); - }); +core.int buildCounterThreatPreventionProfile = 0; +api.ThreatPreventionProfile buildThreatPreventionProfile() { + final o = api.ThreatPreventionProfile(); + buildCounterThreatPreventionProfile++; + if (buildCounterThreatPreventionProfile < 3) { + o.antivirusOverrides = buildUnnamed89(); + o.severityOverrides = buildUnnamed90(); + o.threatOverrides = buildUnnamed91(); + } + buildCounterThreatPreventionProfile--; + return o; +} - unittest.group('obj-schema-CustomMirroringProfile', () { - unittest.test('to-json--from-json', () async { - final o = buildCustomMirroringProfile(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.CustomMirroringProfile.fromJson( - oJson as core.Map); - checkCustomMirroringProfile(od); - }); - }); +void checkThreatPreventionProfile(api.ThreatPreventionProfile o) { + buildCounterThreatPreventionProfile++; + if (buildCounterThreatPreventionProfile < 3) { + checkUnnamed89(o.antivirusOverrides!); + checkUnnamed90(o.severityOverrides!); + checkUnnamed91(o.threatOverrides!); + } + buildCounterThreatPreventionProfile--; +} - unittest.group('obj-schema-Destination', () { - unittest.test('to-json--from-json', () async { - final o = buildDestination(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.Destination.fromJson( +core.List buildUnnamed92() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed92(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterTlsInspectionPolicy = 0; +api.TlsInspectionPolicy buildTlsInspectionPolicy() { + final o = api.TlsInspectionPolicy(); + buildCounterTlsInspectionPolicy++; + if (buildCounterTlsInspectionPolicy < 3) { + o.caPool = 'foo'; + o.createTime = 'foo'; + o.customTlsFeatures = buildUnnamed92(); + o.description = 'foo'; + o.excludePublicCaSet = true; + o.minTlsVersion = 'foo'; + o.name = 'foo'; + o.tlsFeatureProfile = 'foo'; + o.trustConfig = 'foo'; + o.updateTime = 'foo'; + } + buildCounterTlsInspectionPolicy--; + return o; +} + +void checkTlsInspectionPolicy(api.TlsInspectionPolicy o) { + buildCounterTlsInspectionPolicy++; + if (buildCounterTlsInspectionPolicy < 3) { + unittest.expect( + o.caPool!, + unittest.equals('foo'), + ); + unittest.expect( + o.createTime!, + unittest.equals('foo'), + ); + checkUnnamed92(o.customTlsFeatures!); + unittest.expect( + o.description!, + unittest.equals('foo'), + ); + unittest.expect(o.excludePublicCaSet!, unittest.isTrue); + unittest.expect( + o.minTlsVersion!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.tlsFeatureProfile!, + unittest.equals('foo'), + ); + unittest.expect( + o.trustConfig!, + unittest.equals('foo'), + ); + unittest.expect( + o.updateTime!, + unittest.equals('foo'), + ); + } + buildCounterTlsInspectionPolicy--; +} + +core.List buildUnnamed93() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed93(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterUrlList = 0; +api.UrlList buildUrlList() { + final o = api.UrlList(); + buildCounterUrlList++; + if (buildCounterUrlList < 3) { + o.createTime = 'foo'; + o.description = 'foo'; + o.name = 'foo'; + o.updateTime = 'foo'; + o.values = buildUnnamed93(); + } + buildCounterUrlList--; + return o; +} + +void checkUrlList(api.UrlList o) { + buildCounterUrlList++; + if (buildCounterUrlList < 3) { + unittest.expect( + o.createTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.description!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.updateTime!, + unittest.equals('foo'), + ); + checkUnnamed93(o.values!); + } + buildCounterUrlList--; +} + +core.int buildCounterValidationCA = 0; +api.ValidationCA buildValidationCA() { + final o = api.ValidationCA(); + buildCounterValidationCA++; + if (buildCounterValidationCA < 3) { + o.certificateProviderInstance = buildCertificateProviderInstance(); + o.grpcEndpoint = buildGoogleCloudNetworksecurityV1GrpcEndpoint(); + } + buildCounterValidationCA--; + return o; +} + +void checkValidationCA(api.ValidationCA o) { + buildCounterValidationCA++; + if (buildCounterValidationCA < 3) { + checkCertificateProviderInstance(o.certificateProviderInstance!); + checkGoogleCloudNetworksecurityV1GrpcEndpoint(o.grpcEndpoint!); + } + buildCounterValidationCA--; +} + +void main() { + unittest.group('obj-schema-AddAddressGroupItemsRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildAddAddressGroupItemsRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AddAddressGroupItemsRequest.fromJson( oJson as core.Map); - checkDestination(od); + checkAddAddressGroupItemsRequest(od); }); }); - unittest.group('obj-schema-Empty', () { + unittest.group('obj-schema-AddressGroup', () { unittest.test('to-json--from-json', () async { - final o = buildEmpty(); + final o = buildAddressGroup(); final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = - api.Empty.fromJson(oJson as core.Map); - checkEmpty(od); + final od = api.AddressGroup.fromJson( + oJson as core.Map); + checkAddressGroup(od); }); }); - unittest.group('obj-schema-Expr', () { + unittest.group('obj-schema-AntivirusOverride', () { unittest.test('to-json--from-json', () async { - final o = buildExpr(); + final o = buildAntivirusOverride(); final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = - api.Expr.fromJson(oJson as core.Map); - checkExpr(od); + final od = api.AntivirusOverride.fromJson( + oJson as core.Map); + checkAntivirusOverride(od); }); }); - unittest.group('obj-schema-FirewallEndpoint', () { + unittest.group('obj-schema-AuthorizationPolicy', () { unittest.test('to-json--from-json', () async { - final o = buildFirewallEndpoint(); + final o = buildAuthorizationPolicy(); final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.FirewallEndpoint.fromJson( + final od = api.AuthorizationPolicy.fromJson( oJson as core.Map); - checkFirewallEndpoint(od); + checkAuthorizationPolicy(od); }); }); - unittest.group('obj-schema-FirewallEndpointAssociation', () { + unittest.group('obj-schema-AuthzPolicy', () { unittest.test('to-json--from-json', () async { - final o = buildFirewallEndpointAssociation(); + final o = buildAuthzPolicy(); final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.FirewallEndpointAssociation.fromJson( + final od = api.AuthzPolicy.fromJson( oJson as core.Map); - checkFirewallEndpointAssociation(od); + checkAuthzPolicy(od); }); }); - unittest.group('obj-schema-FirewallEndpointAssociationReference', () { + unittest.group('obj-schema-AuthzPolicyAuthzRule', () { unittest.test('to-json--from-json', () async { - final o = buildFirewallEndpointAssociationReference(); + final o = buildAuthzPolicyAuthzRule(); final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.FirewallEndpointAssociationReference.fromJson( + final od = api.AuthzPolicyAuthzRule.fromJson( oJson as core.Map); - checkFirewallEndpointAssociationReference(od); + checkAuthzPolicyAuthzRule(od); }); }); - unittest.group('obj-schema-GatewaySecurityPolicy', () { + unittest.group('obj-schema-AuthzPolicyAuthzRuleFrom', () { unittest.test('to-json--from-json', () async { - final o = buildGatewaySecurityPolicy(); + final o = buildAuthzPolicyAuthzRuleFrom(); final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.GatewaySecurityPolicy.fromJson( + final od = api.AuthzPolicyAuthzRuleFrom.fromJson( oJson as core.Map); - checkGatewaySecurityPolicy(od); + checkAuthzPolicyAuthzRuleFrom(od); }); }); - unittest.group('obj-schema-GatewaySecurityPolicyRule', () { + unittest.group('obj-schema-AuthzPolicyAuthzRuleFromRequestSource', () { unittest.test('to-json--from-json', () async { - final o = buildGatewaySecurityPolicyRule(); + final o = buildAuthzPolicyAuthzRuleFromRequestSource(); final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.GatewaySecurityPolicyRule.fromJson( + final od = api.AuthzPolicyAuthzRuleFromRequestSource.fromJson( oJson as core.Map); - checkGatewaySecurityPolicyRule(od); + checkAuthzPolicyAuthzRuleFromRequestSource(od); }); }); - unittest.group('obj-schema-GoogleCloudNetworksecurityV1CertificateProvider', - () { + unittest.group('obj-schema-AuthzPolicyAuthzRuleHeaderMatch', () { unittest.test('to-json--from-json', () async { - final o = buildGoogleCloudNetworksecurityV1CertificateProvider(); + final o = buildAuthzPolicyAuthzRuleHeaderMatch(); final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.GoogleCloudNetworksecurityV1CertificateProvider.fromJson( + final od = api.AuthzPolicyAuthzRuleHeaderMatch.fromJson( oJson as core.Map); - checkGoogleCloudNetworksecurityV1CertificateProvider(od); + checkAuthzPolicyAuthzRuleHeaderMatch(od); }); }); - unittest.group('obj-schema-GoogleCloudNetworksecurityV1GrpcEndpoint', () { + unittest.group('obj-schema-AuthzPolicyAuthzRuleRequestResource', () { unittest.test('to-json--from-json', () async { - final o = buildGoogleCloudNetworksecurityV1GrpcEndpoint(); + final o = buildAuthzPolicyAuthzRuleRequestResource(); final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.GoogleCloudNetworksecurityV1GrpcEndpoint.fromJson( + final od = api.AuthzPolicyAuthzRuleRequestResource.fromJson( oJson as core.Map); - checkGoogleCloudNetworksecurityV1GrpcEndpoint(od); + checkAuthzPolicyAuthzRuleRequestResource(od); }); }); - unittest.group('obj-schema-GoogleIamV1AuditConfig', () { + unittest.group('obj-schema-AuthzPolicyAuthzRuleRequestResourceTagValueIdSet', + () { unittest.test('to-json--from-json', () async { - final o = buildGoogleIamV1AuditConfig(); + final o = buildAuthzPolicyAuthzRuleRequestResourceTagValueIdSet(); final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.GoogleIamV1AuditConfig.fromJson( + final od = api.AuthzPolicyAuthzRuleRequestResourceTagValueIdSet.fromJson( oJson as core.Map); - checkGoogleIamV1AuditConfig(od); + checkAuthzPolicyAuthzRuleRequestResourceTagValueIdSet(od); }); }); - unittest.group('obj-schema-GoogleIamV1AuditLogConfig', () { + unittest.group('obj-schema-AuthzPolicyAuthzRuleStringMatch', () { unittest.test('to-json--from-json', () async { - final o = buildGoogleIamV1AuditLogConfig(); + final o = buildAuthzPolicyAuthzRuleStringMatch(); final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.GoogleIamV1AuditLogConfig.fromJson( + final od = api.AuthzPolicyAuthzRuleStringMatch.fromJson( oJson as core.Map); - checkGoogleIamV1AuditLogConfig(od); + checkAuthzPolicyAuthzRuleStringMatch(od); }); }); - unittest.group('obj-schema-GoogleIamV1Binding', () { + unittest.group('obj-schema-AuthzPolicyAuthzRuleTo', () { unittest.test('to-json--from-json', () async { - final o = buildGoogleIamV1Binding(); + final o = buildAuthzPolicyAuthzRuleTo(); final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.GoogleIamV1Binding.fromJson( + final od = api.AuthzPolicyAuthzRuleTo.fromJson( oJson as core.Map); - checkGoogleIamV1Binding(od); + checkAuthzPolicyAuthzRuleTo(od); }); }); - unittest.group('obj-schema-GoogleIamV1Policy', () { + unittest.group('obj-schema-AuthzPolicyAuthzRuleToRequestOperation', () { + unittest.test('to-json--from-json', () async { + final o = buildAuthzPolicyAuthzRuleToRequestOperation(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AuthzPolicyAuthzRuleToRequestOperation.fromJson( + oJson as core.Map); + checkAuthzPolicyAuthzRuleToRequestOperation(od); + }); + }); + + unittest.group('obj-schema-AuthzPolicyAuthzRuleToRequestOperationHeaderSet', + () { + unittest.test('to-json--from-json', () async { + final o = buildAuthzPolicyAuthzRuleToRequestOperationHeaderSet(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AuthzPolicyAuthzRuleToRequestOperationHeaderSet.fromJson( + oJson as core.Map); + checkAuthzPolicyAuthzRuleToRequestOperationHeaderSet(od); + }); + }); + + unittest.group('obj-schema-AuthzPolicyCustomProvider', () { + unittest.test('to-json--from-json', () async { + final o = buildAuthzPolicyCustomProvider(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AuthzPolicyCustomProvider.fromJson( + oJson as core.Map); + checkAuthzPolicyCustomProvider(od); + }); + }); + + unittest.group('obj-schema-AuthzPolicyCustomProviderAuthzExtension', () { + unittest.test('to-json--from-json', () async { + final o = buildAuthzPolicyCustomProviderAuthzExtension(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AuthzPolicyCustomProviderAuthzExtension.fromJson( + oJson as core.Map); + checkAuthzPolicyCustomProviderAuthzExtension(od); + }); + }); + + unittest.group('obj-schema-AuthzPolicyCustomProviderCloudIap', () { + unittest.test('to-json--from-json', () async { + final o = buildAuthzPolicyCustomProviderCloudIap(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AuthzPolicyCustomProviderCloudIap.fromJson( + oJson as core.Map); + checkAuthzPolicyCustomProviderCloudIap(od); + }); + }); + + unittest.group('obj-schema-AuthzPolicyTarget', () { + unittest.test('to-json--from-json', () async { + final o = buildAuthzPolicyTarget(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AuthzPolicyTarget.fromJson( + oJson as core.Map); + checkAuthzPolicyTarget(od); + }); + }); + + unittest.group('obj-schema-CancelOperationRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildCancelOperationRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CancelOperationRequest.fromJson( + oJson as core.Map); + checkCancelOperationRequest(od); + }); + }); + + unittest.group('obj-schema-CertificateProviderInstance', () { + unittest.test('to-json--from-json', () async { + final o = buildCertificateProviderInstance(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CertificateProviderInstance.fromJson( + oJson as core.Map); + checkCertificateProviderInstance(od); + }); + }); + + unittest.group('obj-schema-ClientTlsPolicy', () { + unittest.test('to-json--from-json', () async { + final o = buildClientTlsPolicy(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ClientTlsPolicy.fromJson( + oJson as core.Map); + checkClientTlsPolicy(od); + }); + }); + + unittest.group('obj-schema-CloneAddressGroupItemsRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildCloneAddressGroupItemsRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CloneAddressGroupItemsRequest.fromJson( + oJson as core.Map); + checkCloneAddressGroupItemsRequest(od); + }); + }); + + unittest.group('obj-schema-CustomInterceptProfile', () { + unittest.test('to-json--from-json', () async { + final o = buildCustomInterceptProfile(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CustomInterceptProfile.fromJson( + oJson as core.Map); + checkCustomInterceptProfile(od); + }); + }); + + unittest.group('obj-schema-CustomMirroringProfile', () { + unittest.test('to-json--from-json', () async { + final o = buildCustomMirroringProfile(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CustomMirroringProfile.fromJson( + oJson as core.Map); + checkCustomMirroringProfile(od); + }); + }); + + unittest.group('obj-schema-Destination', () { + unittest.test('to-json--from-json', () async { + final o = buildDestination(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.Destination.fromJson( + oJson as core.Map); + checkDestination(od); + }); + }); + + unittest.group('obj-schema-Empty', () { + unittest.test('to-json--from-json', () async { + final o = buildEmpty(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Empty.fromJson(oJson as core.Map); + checkEmpty(od); + }); + }); + + unittest.group('obj-schema-Expr', () { + unittest.test('to-json--from-json', () async { + final o = buildExpr(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Expr.fromJson(oJson as core.Map); + checkExpr(od); + }); + }); + + unittest.group('obj-schema-FirewallEndpoint', () { + unittest.test('to-json--from-json', () async { + final o = buildFirewallEndpoint(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.FirewallEndpoint.fromJson( + oJson as core.Map); + checkFirewallEndpoint(od); + }); + }); + + unittest.group('obj-schema-FirewallEndpointAssociation', () { + unittest.test('to-json--from-json', () async { + final o = buildFirewallEndpointAssociation(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.FirewallEndpointAssociation.fromJson( + oJson as core.Map); + checkFirewallEndpointAssociation(od); + }); + }); + + unittest.group('obj-schema-FirewallEndpointAssociationReference', () { + unittest.test('to-json--from-json', () async { + final o = buildFirewallEndpointAssociationReference(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.FirewallEndpointAssociationReference.fromJson( + oJson as core.Map); + checkFirewallEndpointAssociationReference(od); + }); + }); + + unittest.group('obj-schema-GatewaySecurityPolicy', () { + unittest.test('to-json--from-json', () async { + final o = buildGatewaySecurityPolicy(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GatewaySecurityPolicy.fromJson( + oJson as core.Map); + checkGatewaySecurityPolicy(od); + }); + }); + + unittest.group('obj-schema-GatewaySecurityPolicyRule', () { + unittest.test('to-json--from-json', () async { + final o = buildGatewaySecurityPolicyRule(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GatewaySecurityPolicyRule.fromJson( + oJson as core.Map); + checkGatewaySecurityPolicyRule(od); + }); + }); + + unittest.group('obj-schema-GoogleCloudNetworksecurityV1CertificateProvider', + () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudNetworksecurityV1CertificateProvider(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudNetworksecurityV1CertificateProvider.fromJson( + oJson as core.Map); + checkGoogleCloudNetworksecurityV1CertificateProvider(od); + }); + }); + + unittest.group('obj-schema-GoogleCloudNetworksecurityV1GrpcEndpoint', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudNetworksecurityV1GrpcEndpoint(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudNetworksecurityV1GrpcEndpoint.fromJson( + oJson as core.Map); + checkGoogleCloudNetworksecurityV1GrpcEndpoint(od); + }); + }); + + unittest.group('obj-schema-GoogleIamV1AuditConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleIamV1AuditConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleIamV1AuditConfig.fromJson( + oJson as core.Map); + checkGoogleIamV1AuditConfig(od); + }); + }); + + unittest.group('obj-schema-GoogleIamV1AuditLogConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleIamV1AuditLogConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleIamV1AuditLogConfig.fromJson( + oJson as core.Map); + checkGoogleIamV1AuditLogConfig(od); + }); + }); + + unittest.group('obj-schema-GoogleIamV1Binding', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleIamV1Binding(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleIamV1Binding.fromJson( + oJson as core.Map); + checkGoogleIamV1Binding(od); + }); + }); + + unittest.group('obj-schema-GoogleIamV1Policy', () { unittest.test('to-json--from-json', () async { final o = buildGoogleIamV1Policy(); final oJson = convert.jsonDecode(convert.jsonEncode(o)); @@ -4018,13 +4712,54 @@ void main() { }); }); - unittest.group('obj-schema-ListOperationsResponse', () { + unittest.group('obj-schema-ListMirroringDeploymentGroupsResponse', () { unittest.test('to-json--from-json', () async { - final o = buildListOperationsResponse(); + final o = buildListMirroringDeploymentGroupsResponse(); final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.ListOperationsResponse.fromJson( + final od = api.ListMirroringDeploymentGroupsResponse.fromJson( oJson as core.Map); - checkListOperationsResponse(od); + checkListMirroringDeploymentGroupsResponse(od); + }); + }); + + unittest.group('obj-schema-ListMirroringDeploymentsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListMirroringDeploymentsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListMirroringDeploymentsResponse.fromJson( + oJson as core.Map); + checkListMirroringDeploymentsResponse(od); + }); + }); + + unittest.group('obj-schema-ListMirroringEndpointGroupAssociationsResponse', + () { + unittest.test('to-json--from-json', () async { + final o = buildListMirroringEndpointGroupAssociationsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListMirroringEndpointGroupAssociationsResponse.fromJson( + oJson as core.Map); + checkListMirroringEndpointGroupAssociationsResponse(od); + }); + }); + + unittest.group('obj-schema-ListMirroringEndpointGroupsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListMirroringEndpointGroupsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListMirroringEndpointGroupsResponse.fromJson( + oJson as core.Map); + checkListMirroringEndpointGroupsResponse(od); + }); + }); + + unittest.group('obj-schema-ListOperationsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListOperationsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListOperationsResponse.fromJson( + oJson as core.Map); + checkListOperationsResponse(od); }); }); @@ -4098,158 +4833,1402 @@ void main() { }); }); - unittest.group('obj-schema-Operation', () { - unittest.test('to-json--from-json', () async { - final o = buildOperation(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = - api.Operation.fromJson(oJson as core.Map); - checkOperation(od); - }); - }); + unittest.group('obj-schema-MirroringDeployment', () { + unittest.test('to-json--from-json', () async { + final o = buildMirroringDeployment(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.MirroringDeployment.fromJson( + oJson as core.Map); + checkMirroringDeployment(od); + }); + }); + + unittest.group('obj-schema-MirroringDeploymentGroup', () { + unittest.test('to-json--from-json', () async { + final o = buildMirroringDeploymentGroup(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.MirroringDeploymentGroup.fromJson( + oJson as core.Map); + checkMirroringDeploymentGroup(od); + }); + }); + + unittest.group('obj-schema-MirroringDeploymentGroupConnectedEndpointGroup', + () { + unittest.test('to-json--from-json', () async { + final o = buildMirroringDeploymentGroupConnectedEndpointGroup(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.MirroringDeploymentGroupConnectedEndpointGroup.fromJson( + oJson as core.Map); + checkMirroringDeploymentGroupConnectedEndpointGroup(od); + }); + }); + + unittest.group('obj-schema-MirroringDeploymentGroupDeployment', () { + unittest.test('to-json--from-json', () async { + final o = buildMirroringDeploymentGroupDeployment(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.MirroringDeploymentGroupDeployment.fromJson( + oJson as core.Map); + checkMirroringDeploymentGroupDeployment(od); + }); + }); + + unittest.group('obj-schema-MirroringEndpointGroup', () { + unittest.test('to-json--from-json', () async { + final o = buildMirroringEndpointGroup(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.MirroringEndpointGroup.fromJson( + oJson as core.Map); + checkMirroringEndpointGroup(od); + }); + }); + + unittest.group('obj-schema-MirroringEndpointGroupAssociation', () { + unittest.test('to-json--from-json', () async { + final o = buildMirroringEndpointGroupAssociation(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.MirroringEndpointGroupAssociation.fromJson( + oJson as core.Map); + checkMirroringEndpointGroupAssociation(od); + }); + }); + + unittest.group('obj-schema-MirroringEndpointGroupAssociationDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildMirroringEndpointGroupAssociationDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.MirroringEndpointGroupAssociationDetails.fromJson( + oJson as core.Map); + checkMirroringEndpointGroupAssociationDetails(od); + }); + }); + + unittest.group('obj-schema-MirroringEndpointGroupAssociationLocationDetails', + () { + unittest.test('to-json--from-json', () async { + final o = buildMirroringEndpointGroupAssociationLocationDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.MirroringEndpointGroupAssociationLocationDetails.fromJson( + oJson as core.Map); + checkMirroringEndpointGroupAssociationLocationDetails(od); + }); + }); + + unittest.group('obj-schema-Operation', () { + unittest.test('to-json--from-json', () async { + final o = buildOperation(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Operation.fromJson(oJson as core.Map); + checkOperation(od); + }); + }); + + unittest.group('obj-schema-RemoveAddressGroupItemsRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildRemoveAddressGroupItemsRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.RemoveAddressGroupItemsRequest.fromJson( + oJson as core.Map); + checkRemoveAddressGroupItemsRequest(od); + }); + }); + + unittest.group('obj-schema-Rule', () { + unittest.test('to-json--from-json', () async { + final o = buildRule(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Rule.fromJson(oJson as core.Map); + checkRule(od); + }); + }); + + unittest.group('obj-schema-SecurityProfile', () { + unittest.test('to-json--from-json', () async { + final o = buildSecurityProfile(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SecurityProfile.fromJson( + oJson as core.Map); + checkSecurityProfile(od); + }); + }); + + unittest.group('obj-schema-SecurityProfileGroup', () { + unittest.test('to-json--from-json', () async { + final o = buildSecurityProfileGroup(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SecurityProfileGroup.fromJson( + oJson as core.Map); + checkSecurityProfileGroup(od); + }); + }); + + unittest.group('obj-schema-ServerTlsPolicy', () { + unittest.test('to-json--from-json', () async { + final o = buildServerTlsPolicy(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ServerTlsPolicy.fromJson( + oJson as core.Map); + checkServerTlsPolicy(od); + }); + }); + + unittest.group('obj-schema-SeverityOverride', () { + unittest.test('to-json--from-json', () async { + final o = buildSeverityOverride(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SeverityOverride.fromJson( + oJson as core.Map); + checkSeverityOverride(od); + }); + }); + + unittest.group('obj-schema-Source', () { + unittest.test('to-json--from-json', () async { + final o = buildSource(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Source.fromJson(oJson as core.Map); + checkSource(od); + }); + }); + + unittest.group('obj-schema-Status', () { + unittest.test('to-json--from-json', () async { + final o = buildStatus(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Status.fromJson(oJson as core.Map); + checkStatus(od); + }); + }); + + unittest.group('obj-schema-ThreatOverride', () { + unittest.test('to-json--from-json', () async { + final o = buildThreatOverride(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ThreatOverride.fromJson( + oJson as core.Map); + checkThreatOverride(od); + }); + }); + + unittest.group('obj-schema-ThreatPreventionProfile', () { + unittest.test('to-json--from-json', () async { + final o = buildThreatPreventionProfile(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ThreatPreventionProfile.fromJson( + oJson as core.Map); + checkThreatPreventionProfile(od); + }); + }); + + unittest.group('obj-schema-TlsInspectionPolicy', () { + unittest.test('to-json--from-json', () async { + final o = buildTlsInspectionPolicy(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.TlsInspectionPolicy.fromJson( + oJson as core.Map); + checkTlsInspectionPolicy(od); + }); + }); + + unittest.group('obj-schema-UrlList', () { + unittest.test('to-json--from-json', () async { + final o = buildUrlList(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.UrlList.fromJson(oJson as core.Map); + checkUrlList(od); + }); + }); + + unittest.group('obj-schema-ValidationCA', () { + unittest.test('to-json--from-json', () async { + final o = buildValidationCA(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ValidationCA.fromJson( + oJson as core.Map); + checkValidationCA(od); + }); + }); + + unittest.group('resource-OrganizationsLocationsAddressGroupsResource', () { + unittest.test('method--addItems', () async { + final mock = HttpServerMock(); + final res = + api.NetworkSecurityApi(mock).organizations.locations.addressGroups; + final arg_request = buildAddAddressGroupItemsRequest(); + final arg_addressGroup = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.AddAddressGroupItemsRequest.fromJson( + json as core.Map); + checkAddAddressGroupItemsRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.addItems(arg_request, arg_addressGroup, + $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + + unittest.test('method--cloneItems', () async { + final mock = HttpServerMock(); + final res = + api.NetworkSecurityApi(mock).organizations.locations.addressGroups; + final arg_request = buildCloneAddressGroupItemsRequest(); + final arg_addressGroup = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.CloneAddressGroupItemsRequest.fromJson( + json as core.Map); + checkCloneAddressGroupItemsRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.cloneItems(arg_request, arg_addressGroup, + $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = + api.NetworkSecurityApi(mock).organizations.locations.addressGroups; + final arg_request = buildAddressGroup(); + final arg_parent = 'foo'; + final arg_addressGroupId = 'foo'; + final arg_requestId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.AddressGroup.fromJson( + json as core.Map); + checkAddressGroup(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['addressGroupId']!.first, + unittest.equals(arg_addressGroupId), + ); + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create(arg_request, arg_parent, + addressGroupId: arg_addressGroupId, + requestId: arg_requestId, + $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = + api.NetworkSecurityApi(mock).organizations.locations.addressGroups; + final arg_name = 'foo'; + final arg_requestId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete(arg_name, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = + api.NetworkSecurityApi(mock).organizations.locations.addressGroups; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildAddressGroup()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_name, $fields: arg_$fields); + checkAddressGroup(response as api.AddressGroup); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = + api.NetworkSecurityApi(mock).organizations.locations.addressGroups; + final arg_parent = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListAddressGroupsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_parent, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkListAddressGroupsResponse(response as api.ListAddressGroupsResponse); + }); + + unittest.test('method--listReferences', () async { + final mock = HttpServerMock(); + final res = + api.NetworkSecurityApi(mock).organizations.locations.addressGroups; + final arg_addressGroup = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildListAddressGroupReferencesResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.listReferences(arg_addressGroup, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListAddressGroupReferencesResponse( + response as api.ListAddressGroupReferencesResponse); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = + api.NetworkSecurityApi(mock).organizations.locations.addressGroups; + final arg_request = buildAddressGroup(); + final arg_name = 'foo'; + final arg_requestId = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.AddressGroup.fromJson( + json as core.Map); + checkAddressGroup(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch(arg_request, arg_name, + requestId: arg_requestId, + updateMask: arg_updateMask, + $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + + unittest.test('method--removeItems', () async { + final mock = HttpServerMock(); + final res = + api.NetworkSecurityApi(mock).organizations.locations.addressGroups; + final arg_request = buildRemoveAddressGroupItemsRequest(); + final arg_addressGroup = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.RemoveAddressGroupItemsRequest.fromJson( + json as core.Map); + checkRemoveAddressGroupItemsRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.removeItems(arg_request, arg_addressGroup, + $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + }); + + unittest.group('resource-OrganizationsLocationsFirewallEndpointsResource', + () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.NetworkSecurityApi(mock) + .organizations + .locations + .firewallEndpoints; + final arg_request = buildFirewallEndpoint(); + final arg_parent = 'foo'; + final arg_firewallEndpointId = 'foo'; + final arg_requestId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.FirewallEndpoint.fromJson( + json as core.Map); + checkFirewallEndpoint(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['firewallEndpointId']!.first, + unittest.equals(arg_firewallEndpointId), + ); + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create(arg_request, arg_parent, + firewallEndpointId: arg_firewallEndpointId, + requestId: arg_requestId, + $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = api.NetworkSecurityApi(mock) + .organizations + .locations + .firewallEndpoints; + final arg_name = 'foo'; + final arg_requestId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete(arg_name, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.NetworkSecurityApi(mock) + .organizations + .locations + .firewallEndpoints; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildFirewallEndpoint()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_name, $fields: arg_$fields); + checkFirewallEndpoint(response as api.FirewallEndpoint); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.NetworkSecurityApi(mock) + .organizations + .locations + .firewallEndpoints; + final arg_parent = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListFirewallEndpointsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_parent, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListFirewallEndpointsResponse( + response as api.ListFirewallEndpointsResponse); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = api.NetworkSecurityApi(mock) + .organizations + .locations + .firewallEndpoints; + final arg_request = buildFirewallEndpoint(); + final arg_name = 'foo'; + final arg_requestId = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.FirewallEndpoint.fromJson( + json as core.Map); + checkFirewallEndpoint(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch(arg_request, arg_name, + requestId: arg_requestId, + updateMask: arg_updateMask, + $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + }); + + unittest.group('resource-OrganizationsLocationsOperationsResource', () { + unittest.test('method--cancel', () async { + final mock = HttpServerMock(); + final res = + api.NetworkSecurityApi(mock).organizations.locations.operations; + final arg_request = buildCancelOperationRequest(); + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.CancelOperationRequest.fromJson( + json as core.Map); + checkCancelOperationRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); - unittest.group('obj-schema-RemoveAddressGroupItemsRequest', () { - unittest.test('to-json--from-json', () async { - final o = buildRemoveAddressGroupItemsRequest(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.RemoveAddressGroupItemsRequest.fromJson( - oJson as core.Map); - checkRemoveAddressGroupItemsRequest(od); + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildEmpty()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.cancel(arg_request, arg_name, $fields: arg_$fields); + checkEmpty(response as api.Empty); }); - }); - unittest.group('obj-schema-Rule', () { - unittest.test('to-json--from-json', () async { - final o = buildRule(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = - api.Rule.fromJson(oJson as core.Map); - checkRule(od); - }); - }); + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = + api.NetworkSecurityApi(mock).organizations.locations.operations; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - unittest.group('obj-schema-SecurityProfile', () { - unittest.test('to-json--from-json', () async { - final o = buildSecurityProfile(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.SecurityProfile.fromJson( - oJson as core.Map); - checkSecurityProfile(od); - }); - }); + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); - unittest.group('obj-schema-SecurityProfileGroup', () { - unittest.test('to-json--from-json', () async { - final o = buildSecurityProfileGroup(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.SecurityProfileGroup.fromJson( - oJson as core.Map); - checkSecurityProfileGroup(od); - }); - }); + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); - unittest.group('obj-schema-ServerTlsPolicy', () { - unittest.test('to-json--from-json', () async { - final o = buildServerTlsPolicy(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.ServerTlsPolicy.fromJson( - oJson as core.Map); - checkServerTlsPolicy(od); + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildEmpty()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete(arg_name, $fields: arg_$fields); + checkEmpty(response as api.Empty); }); - }); - unittest.group('obj-schema-SeverityOverride', () { - unittest.test('to-json--from-json', () async { - final o = buildSeverityOverride(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.SeverityOverride.fromJson( - oJson as core.Map); - checkSeverityOverride(od); - }); - }); + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = + api.NetworkSecurityApi(mock).organizations.locations.operations; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - unittest.group('obj-schema-Source', () { - unittest.test('to-json--from-json', () async { - final o = buildSource(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = - api.Source.fromJson(oJson as core.Map); - checkSource(od); - }); - }); + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); - unittest.group('obj-schema-Status', () { - unittest.test('to-json--from-json', () async { - final o = buildStatus(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = - api.Status.fromJson(oJson as core.Map); - checkStatus(od); - }); - }); + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); - unittest.group('obj-schema-ThreatOverride', () { - unittest.test('to-json--from-json', () async { - final o = buildThreatOverride(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.ThreatOverride.fromJson( - oJson as core.Map); - checkThreatOverride(od); + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_name, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - }); - unittest.group('obj-schema-ThreatPreventionProfile', () { - unittest.test('to-json--from-json', () async { - final o = buildThreatPreventionProfile(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.ThreatPreventionProfile.fromJson( - oJson as core.Map); - checkThreatPreventionProfile(od); - }); - }); + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = + api.NetworkSecurityApi(mock).organizations.locations.operations; + final arg_name = 'foo'; + final arg_filter = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - unittest.group('obj-schema-TlsInspectionPolicy', () { - unittest.test('to-json--from-json', () async { - final o = buildTlsInspectionPolicy(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.TlsInspectionPolicy.fromJson( - oJson as core.Map); - checkTlsInspectionPolicy(od); - }); - }); + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); - unittest.group('obj-schema-UrlList', () { - unittest.test('to-json--from-json', () async { - final o = buildUrlList(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = - api.UrlList.fromJson(oJson as core.Map); - checkUrlList(od); - }); - }); + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); - unittest.group('obj-schema-ValidationCA', () { - unittest.test('to-json--from-json', () async { - final o = buildValidationCA(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.ValidationCA.fromJson( - oJson as core.Map); - checkValidationCA(od); + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListOperationsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_name, + filter: arg_filter, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListOperationsResponse(response as api.ListOperationsResponse); }); }); - unittest.group('resource-OrganizationsLocationsAddressGroupsResource', () { - unittest.test('method--addItems', () async { + unittest.group('resource-OrganizationsLocationsSecurityProfileGroupsResource', + () { + unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = - api.NetworkSecurityApi(mock).organizations.locations.addressGroups; - final arg_request = buildAddAddressGroupItemsRequest(); - final arg_addressGroup = 'foo'; + final res = api.NetworkSecurityApi(mock) + .organizations + .locations + .securityProfileGroups; + final arg_request = buildSecurityProfileGroup(); + final arg_parent = 'foo'; + final arg_securityProfileGroupId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.AddAddressGroupItemsRequest.fromJson( + final obj = api.SecurityProfileGroup.fromJson( json as core.Map); - checkAddAddressGroupItemsRequest(obj); + checkSecurityProfileGroup(obj); final path = req.url.path; var pathOffset = 0; @@ -4282,6 +6261,10 @@ void main() { ); } } + unittest.expect( + queryMap['securityProfileGroupId']!.first, + unittest.equals(arg_securityProfileGroupId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -4293,23 +6276,22 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.addItems(arg_request, arg_addressGroup, + final response = await res.create(arg_request, arg_parent, + securityProfileGroupId: arg_securityProfileGroupId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--cloneItems', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = - api.NetworkSecurityApi(mock).organizations.locations.addressGroups; - final arg_request = buildCloneAddressGroupItemsRequest(); - final arg_addressGroup = 'foo'; + final res = api.NetworkSecurityApi(mock) + .organizations + .locations + .securityProfileGroups; + final arg_name = 'foo'; + final arg_etag = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.CloneAddressGroupItemsRequest.fromJson( - json as core.Map); - checkCloneAddressGroupItemsRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -4341,6 +6323,10 @@ void main() { ); } } + unittest.expect( + queryMap['etag']!.first, + unittest.equals(arg_etag), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -4352,25 +6338,77 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.cloneItems(arg_request, arg_addressGroup, - $fields: arg_$fields); + final response = + await res.delete(arg_name, etag: arg_etag, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--create', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = - api.NetworkSecurityApi(mock).organizations.locations.addressGroups; - final arg_request = buildAddressGroup(); - final arg_parent = 'foo'; - final arg_addressGroupId = 'foo'; - final arg_requestId = 'foo'; + final res = api.NetworkSecurityApi(mock) + .organizations + .locations + .securityProfileGroups; + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.AddressGroup.fromJson( - json as core.Map); - checkAddressGroup(obj); + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildSecurityProfileGroup()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_name, $fields: arg_$fields); + checkSecurityProfileGroup(response as api.SecurityProfileGroup); + }); + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.NetworkSecurityApi(mock) + .organizations + .locations + .securityProfileGroups; + final arg_parent = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; var pathOffset = 0; core.int index; @@ -4403,12 +6441,82 @@ void main() { } } unittest.expect( - queryMap['addressGroupId']!.first, - unittest.equals(arg_addressGroupId), + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), ); unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildListSecurityProfileGroupsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_parent, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListSecurityProfileGroupsResponse( + response as api.ListSecurityProfileGroupsResponse); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = api.NetworkSecurityApi(mock) + .organizations + .locations + .securityProfileGroups; + final arg_request = buildSecurityProfileGroup(); + final arg_name = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.SecurityProfileGroup.fromJson( + json as core.Map); + checkSecurityProfileGroup(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), ); unittest.expect( queryMap['fields']!.first, @@ -4421,21 +6529,26 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.create(arg_request, arg_parent, - addressGroupId: arg_addressGroupId, - requestId: arg_requestId, - $fields: arg_$fields); + final response = await res.patch(arg_request, arg_name, + updateMask: arg_updateMask, $fields: arg_$fields); checkOperation(response as api.Operation); }); + }); - unittest.test('method--delete', () async { + unittest.group('resource-OrganizationsLocationsSecurityProfilesResource', () { + unittest.test('method--create', () async { final mock = HttpServerMock(); final res = - api.NetworkSecurityApi(mock).organizations.locations.addressGroups; - final arg_name = 'foo'; - final arg_requestId = 'foo'; + api.NetworkSecurityApi(mock).organizations.locations.securityProfiles; + final arg_request = buildSecurityProfile(); + final arg_parent = 'foo'; + final arg_securityProfileId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.SecurityProfile.fromJson( + json as core.Map); + checkSecurityProfile(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -4468,8 +6581,8 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + queryMap['securityProfileId']!.first, + unittest.equals(arg_securityProfileId), ); unittest.expect( queryMap['fields']!.first, @@ -4482,16 +6595,17 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_name, - requestId: arg_requestId, $fields: arg_$fields); + final response = await res.create(arg_request, arg_parent, + securityProfileId: arg_securityProfileId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--get', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); final res = - api.NetworkSecurityApi(mock).organizations.locations.addressGroups; + api.NetworkSecurityApi(mock).organizations.locations.securityProfiles; final arg_name = 'foo'; + final arg_etag = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -4525,6 +6639,10 @@ void main() { ); } } + unittest.expect( + queryMap['etag']!.first, + unittest.equals(arg_etag), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -4533,20 +6651,19 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildAddressGroup()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_name, $fields: arg_$fields); - checkAddressGroup(response as api.AddressGroup); + final response = + await res.delete(arg_name, etag: arg_etag, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--list', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); final res = - api.NetworkSecurityApi(mock).organizations.locations.addressGroups; - final arg_parent = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; + api.NetworkSecurityApi(mock).organizations.locations.securityProfiles; + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -4580,14 +6697,6 @@ void main() { ); } } - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -4596,21 +6705,18 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildListAddressGroupsResponse()); + final resp = convert.json.encode(buildSecurityProfile()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_parent, - pageSize: arg_pageSize, - pageToken: arg_pageToken, - $fields: arg_$fields); - checkListAddressGroupsResponse(response as api.ListAddressGroupsResponse); + final response = await res.get(arg_name, $fields: arg_$fields); + checkSecurityProfile(response as api.SecurityProfile); }); - unittest.test('method--listReferences', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); final res = - api.NetworkSecurityApi(mock).organizations.locations.addressGroups; - final arg_addressGroup = 'foo'; + api.NetworkSecurityApi(mock).organizations.locations.securityProfiles; + final arg_parent = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; final arg_$fields = 'foo'; @@ -4662,31 +6768,29 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildListAddressGroupReferencesResponse()); + final resp = convert.json.encode(buildListSecurityProfilesResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.listReferences(arg_addressGroup, + final response = await res.list(arg_parent, pageSize: arg_pageSize, pageToken: arg_pageToken, $fields: arg_$fields); - checkListAddressGroupReferencesResponse( - response as api.ListAddressGroupReferencesResponse); + checkListSecurityProfilesResponse( + response as api.ListSecurityProfilesResponse); }); unittest.test('method--patch', () async { final mock = HttpServerMock(); final res = - api.NetworkSecurityApi(mock).organizations.locations.addressGroups; - final arg_request = buildAddressGroup(); + api.NetworkSecurityApi(mock).organizations.locations.securityProfiles; + final arg_request = buildSecurityProfile(); final arg_name = 'foo'; - final arg_requestId = 'foo'; final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.AddressGroup.fromJson( + final obj = api.SecurityProfile.fromJson( json as core.Map); - checkAddressGroup(obj); + checkSecurityProfile(obj); final path = req.url.path; var pathOffset = 0; @@ -4719,10 +6823,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['updateMask']!.first, unittest.equals(arg_updateMask), @@ -4739,24 +6839,18 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.patch(arg_request, arg_name, - requestId: arg_requestId, - updateMask: arg_updateMask, - $fields: arg_$fields); + updateMask: arg_updateMask, $fields: arg_$fields); checkOperation(response as api.Operation); }); + }); - unittest.test('method--removeItems', () async { + unittest.group('resource-ProjectsLocationsResource', () { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = - api.NetworkSecurityApi(mock).organizations.locations.addressGroups; - final arg_request = buildRemoveAddressGroupItemsRequest(); - final arg_addressGroup = 'foo'; + final res = api.NetworkSecurityApi(mock).projects.locations; + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.RemoveAddressGroupItemsRequest.fromJson( - json as core.Map); - checkRemoveAddressGroupItemsRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -4796,33 +6890,22 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildLocation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.removeItems(arg_request, arg_addressGroup, - $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.get(arg_name, $fields: arg_$fields); + checkLocation(response as api.Location); }); - }); - unittest.group('resource-OrganizationsLocationsFirewallEndpointsResource', - () { - unittest.test('method--create', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock) - .organizations - .locations - .firewallEndpoints; - final arg_request = buildFirewallEndpoint(); - final arg_parent = 'foo'; - final arg_firewallEndpointId = 'foo'; - final arg_requestId = 'foo'; + final res = api.NetworkSecurityApi(mock).projects.locations; + final arg_name = 'foo'; + final arg_filter = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.FirewallEndpoint.fromJson( - json as core.Map); - checkFirewallEndpoint(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -4855,12 +6938,16 @@ void main() { } } unittest.expect( - queryMap['firewallEndpointId']!.first, - unittest.equals(arg_firewallEndpointId), + queryMap['filter']!.first, + unittest.equals(arg_filter), ); unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), ); unittest.expect( queryMap['fields']!.first, @@ -4870,26 +6957,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildListLocationsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.create(arg_request, arg_parent, - firewallEndpointId: arg_firewallEndpointId, - requestId: arg_requestId, + final response = await res.list(arg_name, + filter: arg_filter, + pageSize: arg_pageSize, + pageToken: arg_pageToken, $fields: arg_$fields); - checkOperation(response as api.Operation); + checkListLocationsResponse(response as api.ListLocationsResponse); }); + }); - unittest.test('method--delete', () async { + unittest.group('resource-ProjectsLocationsAddressGroupsResource', () { + unittest.test('method--addItems', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock) - .organizations - .locations - .firewallEndpoints; - final arg_name = 'foo'; - final arg_requestId = 'foo'; + final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; + final arg_request = buildAddAddressGroupItemsRequest(); + final arg_addressGroup = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.AddAddressGroupItemsRequest.fromJson( + json as core.Map); + checkAddAddressGroupItemsRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -4921,10 +7012,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -4936,20 +7023,22 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_name, - requestId: arg_requestId, $fields: arg_$fields); + final response = await res.addItems(arg_request, arg_addressGroup, + $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--get', () async { + unittest.test('method--cloneItems', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock) - .organizations - .locations - .firewallEndpoints; - final arg_name = 'foo'; + final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; + final arg_request = buildCloneAddressGroupItemsRequest(); + final arg_addressGroup = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.CloneAddressGroupItemsRequest.fromJson( + json as core.Map); + checkCloneAddressGroupItemsRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -4989,26 +7078,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildFirewallEndpoint()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_name, $fields: arg_$fields); - checkFirewallEndpoint(response as api.FirewallEndpoint); + final response = await res.cloneItems(arg_request, arg_addressGroup, + $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--list', () async { + unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock) - .organizations - .locations - .firewallEndpoints; + final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; + final arg_request = buildAddressGroup(); final arg_parent = 'foo'; - final arg_filter = 'foo'; - final arg_orderBy = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; + final arg_addressGroupId = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.AddressGroup.fromJson( + json as core.Map); + checkAddressGroup(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -5041,20 +7131,12 @@ void main() { } } unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), + queryMap['addressGroupId']!.first, + unittest.equals(arg_addressGroupId), ); unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -5064,35 +7146,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildListFirewallEndpointsResponse()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_parent, - filter: arg_filter, - orderBy: arg_orderBy, - pageSize: arg_pageSize, - pageToken: arg_pageToken, + final response = await res.create(arg_request, arg_parent, + addressGroupId: arg_addressGroupId, + requestId: arg_requestId, $fields: arg_$fields); - checkListFirewallEndpointsResponse( - response as api.ListFirewallEndpointsResponse); + checkOperation(response as api.Operation); }); - unittest.test('method--patch', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock) - .organizations - .locations - .firewallEndpoints; - final arg_request = buildFirewallEndpoint(); + final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; final arg_name = 'foo'; final arg_requestId = 'foo'; - final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.FirewallEndpoint.fromJson( - json as core.Map); - checkFirewallEndpoint(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -5128,10 +7198,6 @@ void main() { queryMap['requestId']!.first, unittest.equals(arg_requestId), ); - unittest.expect( - queryMap['updateMask']!.first, - unittest.equals(arg_updateMask), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -5143,27 +7209,17 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch(arg_request, arg_name, - requestId: arg_requestId, - updateMask: arg_updateMask, - $fields: arg_$fields); + final response = await res.delete(arg_name, + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - }); - unittest.group('resource-OrganizationsLocationsOperationsResource', () { - unittest.test('method--cancel', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = - api.NetworkSecurityApi(mock).organizations.locations.operations; - final arg_request = buildCancelOperationRequest(); + final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.CancelOperationRequest.fromJson( - json as core.Map); - checkCancelOperationRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -5203,19 +7259,18 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildEmpty()); + final resp = convert.json.encode(buildAddressGroup()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.cancel(arg_request, arg_name, $fields: arg_$fields); - checkEmpty(response as api.Empty); + final response = await res.get(arg_name, $fields: arg_$fields); + checkAddressGroup(response as api.AddressGroup); }); - unittest.test('method--delete', () async { + unittest.test('method--getIamPolicy', () async { final mock = HttpServerMock(); - final res = - api.NetworkSecurityApi(mock).organizations.locations.operations; - final arg_name = 'foo'; + final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; + final arg_resource = 'foo'; + final arg_options_requestedPolicyVersion = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -5249,6 +7304,10 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['options.requestedPolicyVersion']!.first), + unittest.equals(arg_options_requestedPolicyVersion), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -5257,18 +7316,22 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildEmpty()); + final resp = convert.json.encode(buildGoogleIamV1Policy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_name, $fields: arg_$fields); - checkEmpty(response as api.Empty); + final response = await res.getIamPolicy(arg_resource, + options_requestedPolicyVersion: arg_options_requestedPolicyVersion, + $fields: arg_$fields); + checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); }); - unittest.test('method--get', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = - api.NetworkSecurityApi(mock).organizations.locations.operations; - final arg_name = 'foo'; + final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; + final arg_parent = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -5302,6 +7365,18 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -5310,19 +7385,21 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildListAddressGroupsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_name, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.list(arg_parent, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, + $fields: arg_$fields); + checkListAddressGroupsResponse(response as api.ListAddressGroupsResponse); }); - unittest.test('method--list', () async { + unittest.test('method--listReferences', () async { final mock = HttpServerMock(); - final res = - api.NetworkSecurityApi(mock).organizations.locations.operations; - final arg_name = 'foo'; - final arg_filter = 'foo'; + final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; + final arg_addressGroup = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; final arg_$fields = 'foo'; @@ -5358,10 +7435,6 @@ void main() { ); } } - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); unittest.expect( core.int.parse(queryMap['pageSize']!.first), unittest.equals(arg_pageSize), @@ -5378,34 +7451,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildListOperationsResponse()); + final resp = + convert.json.encode(buildListAddressGroupReferencesResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_name, - filter: arg_filter, + final response = await res.listReferences(arg_addressGroup, pageSize: arg_pageSize, pageToken: arg_pageToken, $fields: arg_$fields); - checkListOperationsResponse(response as api.ListOperationsResponse); + checkListAddressGroupReferencesResponse( + response as api.ListAddressGroupReferencesResponse); }); - }); - unittest.group('resource-OrganizationsLocationsSecurityProfileGroupsResource', - () { - unittest.test('method--create', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock) - .organizations - .locations - .securityProfileGroups; - final arg_request = buildSecurityProfileGroup(); - final arg_parent = 'foo'; - final arg_securityProfileGroupId = 'foo'; + final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; + final arg_request = buildAddressGroup(); + final arg_name = 'foo'; + final arg_requestId = 'foo'; + final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.SecurityProfileGroup.fromJson( + final obj = api.AddressGroup.fromJson( json as core.Map); - checkSecurityProfileGroup(obj); + checkAddressGroup(obj); final path = req.url.path; var pathOffset = 0; @@ -5439,8 +7508,12 @@ void main() { } } unittest.expect( - queryMap['securityProfileGroupId']!.first, - unittest.equals(arg_securityProfileGroupId), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), ); unittest.expect( queryMap['fields']!.first, @@ -5453,22 +7526,24 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.create(arg_request, arg_parent, - securityProfileGroupId: arg_securityProfileGroupId, + final response = await res.patch(arg_request, arg_name, + requestId: arg_requestId, + updateMask: arg_updateMask, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--delete', () async { + unittest.test('method--removeItems', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock) - .organizations - .locations - .securityProfileGroups; - final arg_name = 'foo'; - final arg_etag = 'foo'; + final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; + final arg_request = buildRemoveAddressGroupItemsRequest(); + final arg_addressGroup = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.RemoveAddressGroupItemsRequest.fromJson( + json as core.Map); + checkRemoveAddressGroupItemsRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -5500,10 +7575,6 @@ void main() { ); } } - unittest.expect( - queryMap['etag']!.first, - unittest.equals(arg_etag), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -5515,20 +7586,22 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.delete(arg_name, etag: arg_etag, $fields: arg_$fields); + final response = await res.removeItems(arg_request, arg_addressGroup, + $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--get', () async { + unittest.test('method--setIamPolicy', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock) - .organizations - .locations - .securityProfileGroups; - final arg_name = 'foo'; + final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; + final arg_request = buildGoogleIamV1SetIamPolicyRequest(); + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleIamV1SetIamPolicyRequest.fromJson( + json as core.Map); + checkGoogleIamV1SetIamPolicyRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -5568,24 +7641,25 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildSecurityProfileGroup()); + final resp = convert.json.encode(buildGoogleIamV1Policy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_name, $fields: arg_$fields); - checkSecurityProfileGroup(response as api.SecurityProfileGroup); + final response = await res.setIamPolicy(arg_request, arg_resource, + $fields: arg_$fields); + checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); }); - unittest.test('method--list', () async { + unittest.test('method--testIamPermissions', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock) - .organizations - .locations - .securityProfileGroups; - final arg_parent = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; + final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; + final arg_request = buildGoogleIamV1TestIamPermissionsRequest(); + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleIamV1TestIamPermissionsRequest.fromJson( + json as core.Map); + checkGoogleIamV1TestIamPermissionsRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -5617,14 +7691,6 @@ void main() { ); } } - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -5634,31 +7700,29 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = - convert.json.encode(buildListSecurityProfileGroupsResponse()); + convert.json.encode(buildGoogleIamV1TestIamPermissionsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_parent, - pageSize: arg_pageSize, - pageToken: arg_pageToken, + final response = await res.testIamPermissions(arg_request, arg_resource, $fields: arg_$fields); - checkListSecurityProfileGroupsResponse( - response as api.ListSecurityProfileGroupsResponse); + checkGoogleIamV1TestIamPermissionsResponse( + response as api.GoogleIamV1TestIamPermissionsResponse); }); + }); - unittest.test('method--patch', () async { + unittest.group('resource-ProjectsLocationsAuthorizationPoliciesResource', () { + unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock) - .organizations - .locations - .securityProfileGroups; - final arg_request = buildSecurityProfileGroup(); - final arg_name = 'foo'; - final arg_updateMask = 'foo'; + final res = + api.NetworkSecurityApi(mock).projects.locations.authorizationPolicies; + final arg_request = buildAuthorizationPolicy(); + final arg_parent = 'foo'; + final arg_authorizationPolicyId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.SecurityProfileGroup.fromJson( + final obj = api.AuthorizationPolicy.fromJson( json as core.Map); - checkSecurityProfileGroup(obj); + checkAuthorizationPolicy(obj); final path = req.url.path; var pathOffset = 0; @@ -5692,8 +7756,8 @@ void main() { } } unittest.expect( - queryMap['updateMask']!.first, - unittest.equals(arg_updateMask), + queryMap['authorizationPolicyId']!.first, + unittest.equals(arg_authorizationPolicyId), ); unittest.expect( queryMap['fields']!.first, @@ -5706,26 +7770,19 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch(arg_request, arg_name, - updateMask: arg_updateMask, $fields: arg_$fields); + final response = await res.create(arg_request, arg_parent, + authorizationPolicyId: arg_authorizationPolicyId, + $fields: arg_$fields); checkOperation(response as api.Operation); }); - }); - unittest.group('resource-OrganizationsLocationsSecurityProfilesResource', () { - unittest.test('method--create', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); final res = - api.NetworkSecurityApi(mock).organizations.locations.securityProfiles; - final arg_request = buildSecurityProfile(); - final arg_parent = 'foo'; - final arg_securityProfileId = 'foo'; + api.NetworkSecurityApi(mock).projects.locations.authorizationPolicies; + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.SecurityProfile.fromJson( - json as core.Map); - checkSecurityProfile(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -5757,10 +7814,6 @@ void main() { ); } } - unittest.expect( - queryMap['securityProfileId']!.first, - unittest.equals(arg_securityProfileId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -5772,17 +7825,15 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.create(arg_request, arg_parent, - securityProfileId: arg_securityProfileId, $fields: arg_$fields); + final response = await res.delete(arg_name, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--delete', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); final res = - api.NetworkSecurityApi(mock).organizations.locations.securityProfiles; + api.NetworkSecurityApi(mock).projects.locations.authorizationPolicies; final arg_name = 'foo'; - final arg_etag = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -5816,10 +7867,6 @@ void main() { ); } } - unittest.expect( - queryMap['etag']!.first, - unittest.equals(arg_etag), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -5828,19 +7875,19 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildAuthorizationPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.delete(arg_name, etag: arg_etag, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.get(arg_name, $fields: arg_$fields); + checkAuthorizationPolicy(response as api.AuthorizationPolicy); }); - unittest.test('method--get', () async { + unittest.test('method--getIamPolicy', () async { final mock = HttpServerMock(); final res = - api.NetworkSecurityApi(mock).organizations.locations.securityProfiles; - final arg_name = 'foo'; + api.NetworkSecurityApi(mock).projects.locations.authorizationPolicies; + final arg_resource = 'foo'; + final arg_options_requestedPolicyVersion = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -5874,6 +7921,10 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['options.requestedPolicyVersion']!.first), + unittest.equals(arg_options_requestedPolicyVersion), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -5882,17 +7933,19 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildSecurityProfile()); + final resp = convert.json.encode(buildGoogleIamV1Policy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_name, $fields: arg_$fields); - checkSecurityProfile(response as api.SecurityProfile); + final response = await res.getIamPolicy(arg_resource, + options_requestedPolicyVersion: arg_options_requestedPolicyVersion, + $fields: arg_$fields); + checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); }); unittest.test('method--list', () async { final mock = HttpServerMock(); final res = - api.NetworkSecurityApi(mock).organizations.locations.securityProfiles; + api.NetworkSecurityApi(mock).projects.locations.authorizationPolicies; final arg_parent = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; @@ -5945,29 +7998,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildListSecurityProfilesResponse()); + final resp = + convert.json.encode(buildListAuthorizationPoliciesResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.list(arg_parent, pageSize: arg_pageSize, pageToken: arg_pageToken, $fields: arg_$fields); - checkListSecurityProfilesResponse( - response as api.ListSecurityProfilesResponse); + checkListAuthorizationPoliciesResponse( + response as api.ListAuthorizationPoliciesResponse); }); unittest.test('method--patch', () async { final mock = HttpServerMock(); final res = - api.NetworkSecurityApi(mock).organizations.locations.securityProfiles; - final arg_request = buildSecurityProfile(); + api.NetworkSecurityApi(mock).projects.locations.authorizationPolicies; + final arg_request = buildAuthorizationPolicy(); final arg_name = 'foo'; final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.SecurityProfile.fromJson( + final obj = api.AuthorizationPolicy.fromJson( json as core.Map); - checkSecurityProfile(obj); + checkAuthorizationPolicy(obj); final path = req.url.path; var pathOffset = 0; @@ -6019,15 +8073,19 @@ void main() { updateMask: arg_updateMask, $fields: arg_$fields); checkOperation(response as api.Operation); }); - }); - unittest.group('resource-ProjectsLocationsResource', () { - unittest.test('method--get', () async { + unittest.test('method--setIamPolicy', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock).projects.locations; - final arg_name = 'foo'; + final res = + api.NetworkSecurityApi(mock).projects.locations.authorizationPolicies; + final arg_request = buildGoogleIamV1SetIamPolicyRequest(); + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleIamV1SetIamPolicyRequest.fromJson( + json as core.Map); + checkGoogleIamV1SetIamPolicyRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -6067,22 +8125,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildLocation()); + final resp = convert.json.encode(buildGoogleIamV1Policy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_name, $fields: arg_$fields); - checkLocation(response as api.Location); + final response = await res.setIamPolicy(arg_request, arg_resource, + $fields: arg_$fields); + checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); }); - unittest.test('method--list', () async { + unittest.test('method--testIamPermissions', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock).projects.locations; - final arg_name = 'foo'; - final arg_filter = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; + final res = + api.NetworkSecurityApi(mock).projects.locations.authorizationPolicies; + final arg_request = buildGoogleIamV1TestIamPermissionsRequest(); + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleIamV1TestIamPermissionsRequest.fromJson( + json as core.Map); + checkGoogleIamV1TestIamPermissionsRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -6114,18 +8176,6 @@ void main() { ); } } - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -6134,29 +8184,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildListLocationsResponse()); + final resp = + convert.json.encode(buildGoogleIamV1TestIamPermissionsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_name, - filter: arg_filter, - pageSize: arg_pageSize, - pageToken: arg_pageToken, + final response = await res.testIamPermissions(arg_request, arg_resource, $fields: arg_$fields); - checkListLocationsResponse(response as api.ListLocationsResponse); + checkGoogleIamV1TestIamPermissionsResponse( + response as api.GoogleIamV1TestIamPermissionsResponse); }); }); - unittest.group('resource-ProjectsLocationsAddressGroupsResource', () { - unittest.test('method--addItems', () async { + unittest.group('resource-ProjectsLocationsAuthzPoliciesResource', () { + unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; - final arg_request = buildAddAddressGroupItemsRequest(); - final arg_addressGroup = 'foo'; + final res = api.NetworkSecurityApi(mock).projects.locations.authzPolicies; + final arg_request = buildAuthzPolicy(); + final arg_parent = 'foo'; + final arg_authzPolicyId = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.AddAddressGroupItemsRequest.fromJson( + final obj = api.AuthzPolicy.fromJson( json as core.Map); - checkAddAddressGroupItemsRequest(obj); + checkAuthzPolicy(obj); final path = req.url.path; var pathOffset = 0; @@ -6189,6 +8240,14 @@ void main() { ); } } + unittest.expect( + queryMap['authzPolicyId']!.first, + unittest.equals(arg_authzPolicyId), + ); + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -6200,22 +8259,20 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.addItems(arg_request, arg_addressGroup, + final response = await res.create(arg_request, arg_parent, + authzPolicyId: arg_authzPolicyId, + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--cloneItems', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; - final arg_request = buildCloneAddressGroupItemsRequest(); - final arg_addressGroup = 'foo'; + final res = api.NetworkSecurityApi(mock).projects.locations.authzPolicies; + final arg_name = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.CloneAddressGroupItemsRequest.fromJson( - json as core.Map); - checkCloneAddressGroupItemsRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -6247,6 +8304,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -6258,24 +8319,17 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.cloneItems(arg_request, arg_addressGroup, - $fields: arg_$fields); + final response = await res.delete(arg_name, + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--create', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; - final arg_request = buildAddressGroup(); - final arg_parent = 'foo'; - final arg_addressGroupId = 'foo'; - final arg_requestId = 'foo'; + final res = api.NetworkSecurityApi(mock).projects.locations.authzPolicies; + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.AddressGroup.fromJson( - json as core.Map); - checkAddressGroup(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -6307,14 +8361,6 @@ void main() { ); } } - unittest.expect( - queryMap['addressGroupId']!.first, - unittest.equals(arg_addressGroupId), - ); - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -6323,21 +8369,18 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildAuthzPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.create(arg_request, arg_parent, - addressGroupId: arg_addressGroupId, - requestId: arg_requestId, - $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.get(arg_name, $fields: arg_$fields); + checkAuthzPolicy(response as api.AuthzPolicy); }); - unittest.test('method--delete', () async { + unittest.test('method--getIamPolicy', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; - final arg_name = 'foo'; - final arg_requestId = 'foo'; + final res = api.NetworkSecurityApi(mock).projects.locations.authzPolicies; + final arg_resource = 'foo'; + final arg_options_requestedPolicyVersion = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -6372,8 +8415,8 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + core.int.parse(queryMap['options.requestedPolicyVersion']!.first), + unittest.equals(arg_options_requestedPolicyVersion), ); unittest.expect( queryMap['fields']!.first, @@ -6383,18 +8426,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildGoogleIamV1Policy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_name, - requestId: arg_requestId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.getIamPolicy(arg_resource, + options_requestedPolicyVersion: arg_options_requestedPolicyVersion, + $fields: arg_$fields); + checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); }); - unittest.test('method--get', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; - final arg_name = 'foo'; + final res = api.NetworkSecurityApi(mock).projects.locations.authzPolicies; + final arg_parent = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -6428,6 +8476,22 @@ void main() { ); } } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -6436,20 +8500,31 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildAddressGroup()); + final resp = convert.json.encode(buildListAuthzPoliciesResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_name, $fields: arg_$fields); - checkAddressGroup(response as api.AddressGroup); + final response = await res.list(arg_parent, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListAuthzPoliciesResponse(response as api.ListAuthzPoliciesResponse); }); - unittest.test('method--getIamPolicy', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; - final arg_resource = 'foo'; - final arg_options_requestedPolicyVersion = 42; + final res = api.NetworkSecurityApi(mock).projects.locations.authzPolicies; + final arg_request = buildAuthzPolicy(); + final arg_name = 'foo'; + final arg_requestId = 'foo'; + final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.AuthzPolicy.fromJson( + json as core.Map); + checkAuthzPolicy(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -6482,8 +8557,12 @@ void main() { } } unittest.expect( - core.int.parse(queryMap['options.requestedPolicyVersion']!.first), - unittest.equals(arg_options_requestedPolicyVersion), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), ); unittest.expect( queryMap['fields']!.first, @@ -6493,23 +8572,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleIamV1Policy()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getIamPolicy(arg_resource, - options_requestedPolicyVersion: arg_options_requestedPolicyVersion, + final response = await res.patch(arg_request, arg_name, + requestId: arg_requestId, + updateMask: arg_updateMask, $fields: arg_$fields); - checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); + checkOperation(response as api.Operation); }); - unittest.test('method--list', () async { + unittest.test('method--setIamPolicy', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; - final arg_parent = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; + final res = api.NetworkSecurityApi(mock).projects.locations.authzPolicies; + final arg_request = buildGoogleIamV1SetIamPolicyRequest(); + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleIamV1SetIamPolicyRequest.fromJson( + json as core.Map); + checkGoogleIamV1SetIamPolicyRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -6541,14 +8624,6 @@ void main() { ); } } - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -6557,24 +8632,25 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildListAddressGroupsResponse()); + final resp = convert.json.encode(buildGoogleIamV1Policy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_parent, - pageSize: arg_pageSize, - pageToken: arg_pageToken, + final response = await res.setIamPolicy(arg_request, arg_resource, $fields: arg_$fields); - checkListAddressGroupsResponse(response as api.ListAddressGroupsResponse); + checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); }); - unittest.test('method--listReferences', () async { + unittest.test('method--testIamPermissions', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; - final arg_addressGroup = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; + final res = api.NetworkSecurityApi(mock).projects.locations.authzPolicies; + final arg_request = buildGoogleIamV1TestIamPermissionsRequest(); + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleIamV1TestIamPermissionsRequest.fromJson( + json as core.Map); + checkGoogleIamV1TestIamPermissionsRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -6606,14 +8682,6 @@ void main() { ); } } - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -6623,29 +8691,29 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = - convert.json.encode(buildListAddressGroupReferencesResponse()); + convert.json.encode(buildGoogleIamV1TestIamPermissionsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.listReferences(arg_addressGroup, - pageSize: arg_pageSize, - pageToken: arg_pageToken, + final response = await res.testIamPermissions(arg_request, arg_resource, $fields: arg_$fields); - checkListAddressGroupReferencesResponse( - response as api.ListAddressGroupReferencesResponse); + checkGoogleIamV1TestIamPermissionsResponse( + response as api.GoogleIamV1TestIamPermissionsResponse); }); + }); - unittest.test('method--patch', () async { + unittest.group('resource-ProjectsLocationsClientTlsPoliciesResource', () { + unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; - final arg_request = buildAddressGroup(); - final arg_name = 'foo'; - final arg_requestId = 'foo'; - final arg_updateMask = 'foo'; + final res = + api.NetworkSecurityApi(mock).projects.locations.clientTlsPolicies; + final arg_request = buildClientTlsPolicy(); + final arg_parent = 'foo'; + final arg_clientTlsPolicyId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.AddressGroup.fromJson( + final obj = api.ClientTlsPolicy.fromJson( json as core.Map); - checkAddressGroup(obj); + checkClientTlsPolicy(obj); final path = req.url.path; var pathOffset = 0; @@ -6679,12 +8747,8 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); - unittest.expect( - queryMap['updateMask']!.first, - unittest.equals(arg_updateMask), + queryMap['clientTlsPolicyId']!.first, + unittest.equals(arg_clientTlsPolicyId), ); unittest.expect( queryMap['fields']!.first, @@ -6697,24 +8761,18 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch(arg_request, arg_name, - requestId: arg_requestId, - updateMask: arg_updateMask, - $fields: arg_$fields); + final response = await res.create(arg_request, arg_parent, + clientTlsPolicyId: arg_clientTlsPolicyId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--removeItems', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; - final arg_request = buildRemoveAddressGroupItemsRequest(); - final arg_addressGroup = 'foo'; + final res = + api.NetworkSecurityApi(mock).projects.locations.clientTlsPolicies; + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.RemoveAddressGroupItemsRequest.fromJson( - json as core.Map); - checkRemoveAddressGroupItemsRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -6757,22 +8815,17 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.removeItems(arg_request, arg_addressGroup, - $fields: arg_$fields); + final response = await res.delete(arg_name, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--setIamPolicy', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; - final arg_request = buildGoogleIamV1SetIamPolicyRequest(); - final arg_resource = 'foo'; + final res = + api.NetworkSecurityApi(mock).projects.locations.clientTlsPolicies; + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleIamV1SetIamPolicyRequest.fromJson( - json as core.Map); - checkGoogleIamV1SetIamPolicyRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -6812,25 +8865,21 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleIamV1Policy()); + final resp = convert.json.encode(buildClientTlsPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setIamPolicy(arg_request, arg_resource, - $fields: arg_$fields); - checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); + final response = await res.get(arg_name, $fields: arg_$fields); + checkClientTlsPolicy(response as api.ClientTlsPolicy); }); - unittest.test('method--testIamPermissions', () async { + unittest.test('method--getIamPolicy', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock).projects.locations.addressGroups; - final arg_request = buildGoogleIamV1TestIamPermissionsRequest(); + final res = + api.NetworkSecurityApi(mock).projects.locations.clientTlsPolicies; final arg_resource = 'foo'; + final arg_options_requestedPolicyVersion = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleIamV1TestIamPermissionsRequest.fromJson( - json as core.Map); - checkGoogleIamV1TestIamPermissionsRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -6862,6 +8911,10 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['options.requestedPolicyVersion']!.first), + unittest.equals(arg_options_requestedPolicyVersion), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -6870,31 +8923,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildGoogleIamV1TestIamPermissionsResponse()); + final resp = convert.json.encode(buildGoogleIamV1Policy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.testIamPermissions(arg_request, arg_resource, + final response = await res.getIamPolicy(arg_resource, + options_requestedPolicyVersion: arg_options_requestedPolicyVersion, $fields: arg_$fields); - checkGoogleIamV1TestIamPermissionsResponse( - response as api.GoogleIamV1TestIamPermissionsResponse); + checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); }); - }); - unittest.group('resource-ProjectsLocationsAuthorizationPoliciesResource', () { - unittest.test('method--create', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); final res = - api.NetworkSecurityApi(mock).projects.locations.authorizationPolicies; - final arg_request = buildAuthorizationPolicy(); + api.NetworkSecurityApi(mock).projects.locations.clientTlsPolicies; final arg_parent = 'foo'; - final arg_authorizationPolicyId = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.AuthorizationPolicy.fromJson( - json as core.Map); - checkAuthorizationPolicy(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -6927,8 +8973,12 @@ void main() { } } unittest.expect( - queryMap['authorizationPolicyId']!.first, - unittest.equals(arg_authorizationPolicyId), + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), ); unittest.expect( queryMap['fields']!.first, @@ -6938,22 +8988,30 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildListClientTlsPoliciesResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.create(arg_request, arg_parent, - authorizationPolicyId: arg_authorizationPolicyId, + final response = await res.list(arg_parent, + pageSize: arg_pageSize, + pageToken: arg_pageToken, $fields: arg_$fields); - checkOperation(response as api.Operation); + checkListClientTlsPoliciesResponse( + response as api.ListClientTlsPoliciesResponse); }); - unittest.test('method--delete', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); final res = - api.NetworkSecurityApi(mock).projects.locations.authorizationPolicies; + api.NetworkSecurityApi(mock).projects.locations.clientTlsPolicies; + final arg_request = buildClientTlsPolicy(); final arg_name = 'foo'; + final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.ClientTlsPolicy.fromJson( + json as core.Map); + checkClientTlsPolicy(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -6985,6 +9043,10 @@ void main() { ); } } + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -6996,17 +9058,23 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_name, $fields: arg_$fields); + final response = await res.patch(arg_request, arg_name, + updateMask: arg_updateMask, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--get', () async { + unittest.test('method--setIamPolicy', () async { final mock = HttpServerMock(); final res = - api.NetworkSecurityApi(mock).projects.locations.authorizationPolicies; - final arg_name = 'foo'; + api.NetworkSecurityApi(mock).projects.locations.clientTlsPolicies; + final arg_request = buildGoogleIamV1SetIamPolicyRequest(); + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleIamV1SetIamPolicyRequest.fromJson( + json as core.Map); + checkGoogleIamV1SetIamPolicyRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -7046,21 +9114,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildAuthorizationPolicy()); + final resp = convert.json.encode(buildGoogleIamV1Policy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_name, $fields: arg_$fields); - checkAuthorizationPolicy(response as api.AuthorizationPolicy); + final response = await res.setIamPolicy(arg_request, arg_resource, + $fields: arg_$fields); + checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); }); - unittest.test('method--getIamPolicy', () async { + unittest.test('method--testIamPermissions', () async { final mock = HttpServerMock(); final res = - api.NetworkSecurityApi(mock).projects.locations.authorizationPolicies; + api.NetworkSecurityApi(mock).projects.locations.clientTlsPolicies; + final arg_request = buildGoogleIamV1TestIamPermissionsRequest(); final arg_resource = 'foo'; - final arg_options_requestedPolicyVersion = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleIamV1TestIamPermissionsRequest.fromJson( + json as core.Map); + checkGoogleIamV1TestIamPermissionsRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -7092,10 +9165,6 @@ void main() { ); } } - unittest.expect( - core.int.parse(queryMap['options.requestedPolicyVersion']!.first), - unittest.equals(arg_options_requestedPolicyVersion), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -7104,24 +9173,35 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleIamV1Policy()); + final resp = + convert.json.encode(buildGoogleIamV1TestIamPermissionsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getIamPolicy(arg_resource, - options_requestedPolicyVersion: arg_options_requestedPolicyVersion, + final response = await res.testIamPermissions(arg_request, arg_resource, $fields: arg_$fields); - checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); + checkGoogleIamV1TestIamPermissionsResponse( + response as api.GoogleIamV1TestIamPermissionsResponse); }); + }); - unittest.test('method--list', () async { + unittest.group( + 'resource-ProjectsLocationsFirewallEndpointAssociationsResource', () { + unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = - api.NetworkSecurityApi(mock).projects.locations.authorizationPolicies; + final res = api.NetworkSecurityApi(mock) + .projects + .locations + .firewallEndpointAssociations; + final arg_request = buildFirewallEndpointAssociation(); final arg_parent = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; + final arg_firewallEndpointAssociationId = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.FirewallEndpointAssociation.fromJson( + json as core.Map); + checkFirewallEndpointAssociation(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -7154,12 +9234,12 @@ void main() { } } unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), + queryMap['firewallEndpointAssociationId']!.first, + unittest.equals(arg_firewallEndpointAssociationId), ); unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -7169,31 +9249,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildListAuthorizationPoliciesResponse()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_parent, - pageSize: arg_pageSize, - pageToken: arg_pageToken, + final response = await res.create(arg_request, arg_parent, + firewallEndpointAssociationId: arg_firewallEndpointAssociationId, + requestId: arg_requestId, $fields: arg_$fields); - checkListAuthorizationPoliciesResponse( - response as api.ListAuthorizationPoliciesResponse); + checkOperation(response as api.Operation); }); - unittest.test('method--patch', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = - api.NetworkSecurityApi(mock).projects.locations.authorizationPolicies; - final arg_request = buildAuthorizationPolicy(); + final res = api.NetworkSecurityApi(mock) + .projects + .locations + .firewallEndpointAssociations; final arg_name = 'foo'; - final arg_updateMask = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.AuthorizationPolicy.fromJson( - json as core.Map); - checkAuthorizationPolicy(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -7226,8 +9301,8 @@ void main() { } } unittest.expect( - queryMap['updateMask']!.first, - unittest.equals(arg_updateMask), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -7240,23 +9315,20 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch(arg_request, arg_name, - updateMask: arg_updateMask, $fields: arg_$fields); + final response = await res.delete(arg_name, + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--setIamPolicy', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = - api.NetworkSecurityApi(mock).projects.locations.authorizationPolicies; - final arg_request = buildGoogleIamV1SetIamPolicyRequest(); - final arg_resource = 'foo'; + final res = api.NetworkSecurityApi(mock) + .projects + .locations + .firewallEndpointAssociations; + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleIamV1SetIamPolicyRequest.fromJson( - json as core.Map); - checkGoogleIamV1SetIamPolicyRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -7296,26 +9368,27 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleIamV1Policy()); + final resp = convert.json.encode(buildFirewallEndpointAssociation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setIamPolicy(arg_request, arg_resource, - $fields: arg_$fields); - checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); + final response = await res.get(arg_name, $fields: arg_$fields); + checkFirewallEndpointAssociation( + response as api.FirewallEndpointAssociation); }); - unittest.test('method--testIamPermissions', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = - api.NetworkSecurityApi(mock).projects.locations.authorizationPolicies; - final arg_request = buildGoogleIamV1TestIamPermissionsRequest(); - final arg_resource = 'foo'; + final res = api.NetworkSecurityApi(mock) + .projects + .locations + .firewallEndpointAssociations; + final arg_parent = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleIamV1TestIamPermissionsRequest.fromJson( - json as core.Map); - checkGoogleIamV1TestIamPermissionsRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -7347,6 +9420,22 @@ void main() { ); } } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -7355,30 +9444,35 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildGoogleIamV1TestIamPermissionsResponse()); + final resp = convert.json + .encode(buildListFirewallEndpointAssociationsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.testIamPermissions(arg_request, arg_resource, + final response = await res.list(arg_parent, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, $fields: arg_$fields); - checkGoogleIamV1TestIamPermissionsResponse( - response as api.GoogleIamV1TestIamPermissionsResponse); + checkListFirewallEndpointAssociationsResponse( + response as api.ListFirewallEndpointAssociationsResponse); }); - }); - unittest.group('resource-ProjectsLocationsAuthzPoliciesResource', () { - unittest.test('method--create', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock).projects.locations.authzPolicies; - final arg_request = buildAuthzPolicy(); - final arg_parent = 'foo'; - final arg_authzPolicyId = 'foo'; + final res = api.NetworkSecurityApi(mock) + .projects + .locations + .firewallEndpointAssociations; + final arg_request = buildFirewallEndpointAssociation(); + final arg_name = 'foo'; final arg_requestId = 'foo'; + final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.AuthzPolicy.fromJson( + final obj = api.FirewallEndpointAssociation.fromJson( json as core.Map); - checkAuthzPolicy(obj); + checkFirewallEndpointAssociation(obj); final path = req.url.path; var pathOffset = 0; @@ -7411,14 +9505,14 @@ void main() { ); } } - unittest.expect( - queryMap['authzPolicyId']!.first, - unittest.equals(arg_authzPolicyId), - ); unittest.expect( queryMap['requestId']!.first, unittest.equals(arg_requestId), ); + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -7430,20 +9524,31 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.create(arg_request, arg_parent, - authzPolicyId: arg_authzPolicyId, + final response = await res.patch(arg_request, arg_name, requestId: arg_requestId, + updateMask: arg_updateMask, $fields: arg_$fields); checkOperation(response as api.Operation); }); + }); - unittest.test('method--delete', () async { + unittest.group('resource-ProjectsLocationsGatewaySecurityPoliciesResource', + () { + unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock).projects.locations.authzPolicies; - final arg_name = 'foo'; - final arg_requestId = 'foo'; + final res = api.NetworkSecurityApi(mock) + .projects + .locations + .gatewaySecurityPolicies; + final arg_request = buildGatewaySecurityPolicy(); + final arg_parent = 'foo'; + final arg_gatewaySecurityPolicyId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GatewaySecurityPolicy.fromJson( + json as core.Map); + checkGatewaySecurityPolicy(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -7476,8 +9581,8 @@ void main() { } } unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), + queryMap['gatewaySecurityPolicyId']!.first, + unittest.equals(arg_gatewaySecurityPolicyId), ); unittest.expect( queryMap['fields']!.first, @@ -7490,14 +9595,18 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_name, - requestId: arg_requestId, $fields: arg_$fields); + final response = await res.create(arg_request, arg_parent, + gatewaySecurityPolicyId: arg_gatewaySecurityPolicyId, + $fields: arg_$fields); checkOperation(response as api.Operation); }); - unittest.test('method--get', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock).projects.locations.authzPolicies; + final res = api.NetworkSecurityApi(mock) + .projects + .locations + .gatewaySecurityPolicies; final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -7540,18 +9649,20 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildAuthzPolicy()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_name, $fields: arg_$fields); - checkAuthzPolicy(response as api.AuthzPolicy); + final response = await res.delete(arg_name, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--getIamPolicy', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock).projects.locations.authzPolicies; - final arg_resource = 'foo'; - final arg_options_requestedPolicyVersion = 42; + final res = api.NetworkSecurityApi(mock) + .projects + .locations + .gatewaySecurityPolicies; + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -7585,10 +9696,6 @@ void main() { ); } } - unittest.expect( - core.int.parse(queryMap['options.requestedPolicyVersion']!.first), - unittest.equals(arg_options_requestedPolicyVersion), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -7597,21 +9704,20 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleIamV1Policy()); + final resp = convert.json.encode(buildGatewaySecurityPolicy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getIamPolicy(arg_resource, - options_requestedPolicyVersion: arg_options_requestedPolicyVersion, - $fields: arg_$fields); - checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); + final response = await res.get(arg_name, $fields: arg_$fields); + checkGatewaySecurityPolicy(response as api.GatewaySecurityPolicy); }); unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock).projects.locations.authzPolicies; + final res = api.NetworkSecurityApi(mock) + .projects + .locations + .gatewaySecurityPolicies; final arg_parent = 'foo'; - final arg_filter = 'foo'; - final arg_orderBy = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; final arg_$fields = 'foo'; @@ -7647,14 +9753,6 @@ void main() { ); } } - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - queryMap['orderBy']!.first, - unittest.equals(arg_orderBy), - ); unittest.expect( core.int.parse(queryMap['pageSize']!.first), unittest.equals(arg_pageSize), @@ -7671,30 +9769,32 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildListAuthzPoliciesResponse()); + final resp = + convert.json.encode(buildListGatewaySecurityPoliciesResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.list(arg_parent, - filter: arg_filter, - orderBy: arg_orderBy, pageSize: arg_pageSize, pageToken: arg_pageToken, $fields: arg_$fields); - checkListAuthzPoliciesResponse(response as api.ListAuthzPoliciesResponse); + checkListGatewaySecurityPoliciesResponse( + response as api.ListGatewaySecurityPoliciesResponse); }); unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock).projects.locations.authzPolicies; - final arg_request = buildAuthzPolicy(); + final res = api.NetworkSecurityApi(mock) + .projects + .locations + .gatewaySecurityPolicies; + final arg_request = buildGatewaySecurityPolicy(); final arg_name = 'foo'; - final arg_requestId = 'foo'; final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.AuthzPolicy.fromJson( + final obj = api.GatewaySecurityPolicy.fromJson( json as core.Map); - checkAuthzPolicy(obj); + checkGatewaySecurityPolicy(obj); final path = req.url.path; var pathOffset = 0; @@ -7727,10 +9827,6 @@ void main() { ); } } - unittest.expect( - queryMap['requestId']!.first, - unittest.equals(arg_requestId), - ); unittest.expect( queryMap['updateMask']!.first, unittest.equals(arg_updateMask), @@ -7747,22 +9843,28 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.patch(arg_request, arg_name, - requestId: arg_requestId, - updateMask: arg_updateMask, - $fields: arg_$fields); + updateMask: arg_updateMask, $fields: arg_$fields); checkOperation(response as api.Operation); }); + }); - unittest.test('method--setIamPolicy', () async { + unittest.group( + 'resource-ProjectsLocationsGatewaySecurityPoliciesRulesResource', () { + unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock).projects.locations.authzPolicies; - final arg_request = buildGoogleIamV1SetIamPolicyRequest(); - final arg_resource = 'foo'; + final res = api.NetworkSecurityApi(mock) + .projects + .locations + .gatewaySecurityPolicies + .rules; + final arg_request = buildGatewaySecurityPolicyRule(); + final arg_parent = 'foo'; + final arg_gatewaySecurityPolicyRuleId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleIamV1SetIamPolicyRequest.fromJson( + final obj = api.GatewaySecurityPolicyRule.fromJson( json as core.Map); - checkGoogleIamV1SetIamPolicyRequest(obj); + checkGatewaySecurityPolicyRule(obj); final path = req.url.path; var pathOffset = 0; @@ -7795,6 +9897,10 @@ void main() { ); } } + unittest.expect( + queryMap['gatewaySecurityPolicyRuleId']!.first, + unittest.equals(arg_gatewaySecurityPolicyRuleId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -7803,25 +9909,25 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleIamV1Policy()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setIamPolicy(arg_request, arg_resource, + final response = await res.create(arg_request, arg_parent, + gatewaySecurityPolicyRuleId: arg_gatewaySecurityPolicyRuleId, $fields: arg_$fields); - checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); + checkOperation(response as api.Operation); }); - unittest.test('method--testIamPermissions', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock).projects.locations.authzPolicies; - final arg_request = buildGoogleIamV1TestIamPermissionsRequest(); - final arg_resource = 'foo'; + final res = api.NetworkSecurityApi(mock) + .projects + .locations + .gatewaySecurityPolicies + .rules; + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleIamV1TestIamPermissionsRequest.fromJson( - json as core.Map); - checkGoogleIamV1TestIamPermissionsRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -7861,31 +9967,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildGoogleIamV1TestIamPermissionsResponse()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.testIamPermissions(arg_request, arg_resource, - $fields: arg_$fields); - checkGoogleIamV1TestIamPermissionsResponse( - response as api.GoogleIamV1TestIamPermissionsResponse); + final response = await res.delete(arg_name, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - }); - unittest.group('resource-ProjectsLocationsClientTlsPoliciesResource', () { - unittest.test('method--create', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = - api.NetworkSecurityApi(mock).projects.locations.clientTlsPolicies; - final arg_request = buildClientTlsPolicy(); - final arg_parent = 'foo'; - final arg_clientTlsPolicyId = 'foo'; + final res = api.NetworkSecurityApi(mock) + .projects + .locations + .gatewaySecurityPolicies + .rules; + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.ClientTlsPolicy.fromJson( - json as core.Map); - checkClientTlsPolicy(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -7917,10 +10015,6 @@ void main() { ); } } - unittest.expect( - queryMap['clientTlsPolicyId']!.first, - unittest.equals(arg_clientTlsPolicyId), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -7929,19 +10023,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildGatewaySecurityPolicyRule()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.create(arg_request, arg_parent, - clientTlsPolicyId: arg_clientTlsPolicyId, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.get(arg_name, $fields: arg_$fields); + checkGatewaySecurityPolicyRule(response as api.GatewaySecurityPolicyRule); }); - unittest.test('method--delete', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = - api.NetworkSecurityApi(mock).projects.locations.clientTlsPolicies; - final arg_name = 'foo'; + final res = api.NetworkSecurityApi(mock) + .projects + .locations + .gatewaySecurityPolicies + .rules; + final arg_parent = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -7975,6 +10073,14 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -7983,20 +10089,34 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = + convert.json.encode(buildListGatewaySecurityPolicyRulesResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_name, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.list(arg_parent, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListGatewaySecurityPolicyRulesResponse( + response as api.ListGatewaySecurityPolicyRulesResponse); }); - unittest.test('method--get', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = - api.NetworkSecurityApi(mock).projects.locations.clientTlsPolicies; + final res = api.NetworkSecurityApi(mock) + .projects + .locations + .gatewaySecurityPolicies + .rules; + final arg_request = buildGatewaySecurityPolicyRule(); final arg_name = 'foo'; + final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GatewaySecurityPolicyRule.fromJson( + json as core.Map); + checkGatewaySecurityPolicyRule(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -8028,6 +10148,10 @@ void main() { ); } } + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -8036,21 +10160,33 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildClientTlsPolicy()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_name, $fields: arg_$fields); - checkClientTlsPolicy(response as api.ClientTlsPolicy); + final response = await res.patch(arg_request, arg_name, + updateMask: arg_updateMask, $fields: arg_$fields); + checkOperation(response as api.Operation); }); + }); - unittest.test('method--getIamPolicy', () async { + unittest.group('resource-ProjectsLocationsMirroringDeploymentGroupsResource', + () { + unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = - api.NetworkSecurityApi(mock).projects.locations.clientTlsPolicies; - final arg_resource = 'foo'; - final arg_options_requestedPolicyVersion = 42; + final res = api.NetworkSecurityApi(mock) + .projects + .locations + .mirroringDeploymentGroups; + final arg_request = buildMirroringDeploymentGroup(); + final arg_parent = 'foo'; + final arg_mirroringDeploymentGroupId = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.MirroringDeploymentGroup.fromJson( + json as core.Map); + checkMirroringDeploymentGroup(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -8083,8 +10219,12 @@ void main() { } } unittest.expect( - core.int.parse(queryMap['options.requestedPolicyVersion']!.first), - unittest.equals(arg_options_requestedPolicyVersion), + queryMap['mirroringDeploymentGroupId']!.first, + unittest.equals(arg_mirroringDeploymentGroupId), + ); + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -8094,22 +10234,24 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleIamV1Policy()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getIamPolicy(arg_resource, - options_requestedPolicyVersion: arg_options_requestedPolicyVersion, + final response = await res.create(arg_request, arg_parent, + mirroringDeploymentGroupId: arg_mirroringDeploymentGroupId, + requestId: arg_requestId, $fields: arg_$fields); - checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); + checkOperation(response as api.Operation); }); - unittest.test('method--list', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = - api.NetworkSecurityApi(mock).projects.locations.clientTlsPolicies; - final arg_parent = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; + final res = api.NetworkSecurityApi(mock) + .projects + .locations + .mirroringDeploymentGroups; + final arg_name = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -8144,12 +10286,8 @@ void main() { } } unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -8159,30 +10297,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildListClientTlsPoliciesResponse()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_parent, - pageSize: arg_pageSize, - pageToken: arg_pageToken, - $fields: arg_$fields); - checkListClientTlsPoliciesResponse( - response as api.ListClientTlsPoliciesResponse); + final response = await res.delete(arg_name, + requestId: arg_requestId, $fields: arg_$fields); + checkOperation(response as api.Operation); }); - unittest.test('method--patch', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = - api.NetworkSecurityApi(mock).projects.locations.clientTlsPolicies; - final arg_request = buildClientTlsPolicy(); + final res = api.NetworkSecurityApi(mock) + .projects + .locations + .mirroringDeploymentGroups; final arg_name = 'foo'; - final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.ClientTlsPolicy.fromJson( - json as core.Map); - checkClientTlsPolicy(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -8214,10 +10345,6 @@ void main() { ); } } - unittest.expect( - queryMap['updateMask']!.first, - unittest.equals(arg_updateMask), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -8226,26 +10353,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildOperation()); + final resp = convert.json.encode(buildMirroringDeploymentGroup()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch(arg_request, arg_name, - updateMask: arg_updateMask, $fields: arg_$fields); - checkOperation(response as api.Operation); + final response = await res.get(arg_name, $fields: arg_$fields); + checkMirroringDeploymentGroup(response as api.MirroringDeploymentGroup); }); - unittest.test('method--setIamPolicy', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = - api.NetworkSecurityApi(mock).projects.locations.clientTlsPolicies; - final arg_request = buildGoogleIamV1SetIamPolicyRequest(); - final arg_resource = 'foo'; + final res = api.NetworkSecurityApi(mock) + .projects + .locations + .mirroringDeploymentGroups; + final arg_parent = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleIamV1SetIamPolicyRequest.fromJson( - json as core.Map); - checkGoogleIamV1SetIamPolicyRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -8277,6 +10404,22 @@ void main() { ); } } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -8285,25 +10428,35 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleIamV1Policy()); + final resp = + convert.json.encode(buildListMirroringDeploymentGroupsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setIamPolicy(arg_request, arg_resource, + final response = await res.list(arg_parent, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, $fields: arg_$fields); - checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); + checkListMirroringDeploymentGroupsResponse( + response as api.ListMirroringDeploymentGroupsResponse); }); - unittest.test('method--testIamPermissions', () async { + unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = - api.NetworkSecurityApi(mock).projects.locations.clientTlsPolicies; - final arg_request = buildGoogleIamV1TestIamPermissionsRequest(); - final arg_resource = 'foo'; + final res = api.NetworkSecurityApi(mock) + .projects + .locations + .mirroringDeploymentGroups; + final arg_request = buildMirroringDeploymentGroup(); + final arg_name = 'foo'; + final arg_requestId = 'foo'; + final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleIamV1TestIamPermissionsRequest.fromJson( + final obj = api.MirroringDeploymentGroup.fromJson( json as core.Map); - checkGoogleIamV1TestIamPermissionsRequest(obj); + checkMirroringDeploymentGroup(obj); final path = req.url.path; var pathOffset = 0; @@ -8336,6 +10489,14 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -8344,34 +10505,31 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildGoogleIamV1TestIamPermissionsResponse()); + final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.testIamPermissions(arg_request, arg_resource, + final response = await res.patch(arg_request, arg_name, + requestId: arg_requestId, + updateMask: arg_updateMask, $fields: arg_$fields); - checkGoogleIamV1TestIamPermissionsResponse( - response as api.GoogleIamV1TestIamPermissionsResponse); + checkOperation(response as api.Operation); }); }); - unittest.group( - 'resource-ProjectsLocationsFirewallEndpointAssociationsResource', () { + unittest.group('resource-ProjectsLocationsMirroringDeploymentsResource', () { unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock) - .projects - .locations - .firewallEndpointAssociations; - final arg_request = buildFirewallEndpointAssociation(); + final res = + api.NetworkSecurityApi(mock).projects.locations.mirroringDeployments; + final arg_request = buildMirroringDeployment(); final arg_parent = 'foo'; - final arg_firewallEndpointAssociationId = 'foo'; + final arg_mirroringDeploymentId = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.FirewallEndpointAssociation.fromJson( + final obj = api.MirroringDeployment.fromJson( json as core.Map); - checkFirewallEndpointAssociation(obj); + checkMirroringDeployment(obj); final path = req.url.path; var pathOffset = 0; @@ -8405,8 +10563,8 @@ void main() { } } unittest.expect( - queryMap['firewallEndpointAssociationId']!.first, - unittest.equals(arg_firewallEndpointAssociationId), + queryMap['mirroringDeploymentId']!.first, + unittest.equals(arg_mirroringDeploymentId), ); unittest.expect( queryMap['requestId']!.first, @@ -8424,7 +10582,7 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.create(arg_request, arg_parent, - firewallEndpointAssociationId: arg_firewallEndpointAssociationId, + mirroringDeploymentId: arg_mirroringDeploymentId, requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); @@ -8432,10 +10590,8 @@ void main() { unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock) - .projects - .locations - .firewallEndpointAssociations; + final res = + api.NetworkSecurityApi(mock).projects.locations.mirroringDeployments; final arg_name = 'foo'; final arg_requestId = 'foo'; final arg_$fields = 'foo'; @@ -8493,10 +10649,8 @@ void main() { unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock) - .projects - .locations - .firewallEndpointAssociations; + final res = + api.NetworkSecurityApi(mock).projects.locations.mirroringDeployments; final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -8539,20 +10693,17 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildFirewallEndpointAssociation()); + final resp = convert.json.encode(buildMirroringDeployment()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.get(arg_name, $fields: arg_$fields); - checkFirewallEndpointAssociation( - response as api.FirewallEndpointAssociation); + checkMirroringDeployment(response as api.MirroringDeployment); }); unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock) - .projects - .locations - .firewallEndpointAssociations; + final res = + api.NetworkSecurityApi(mock).projects.locations.mirroringDeployments; final arg_parent = 'foo'; final arg_filter = 'foo'; final arg_orderBy = 'foo'; @@ -8615,8 +10766,8 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json - .encode(buildListFirewallEndpointAssociationsResponse()); + final resp = + convert.json.encode(buildListMirroringDeploymentsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.list(arg_parent, @@ -8625,25 +10776,23 @@ void main() { pageSize: arg_pageSize, pageToken: arg_pageToken, $fields: arg_$fields); - checkListFirewallEndpointAssociationsResponse( - response as api.ListFirewallEndpointAssociationsResponse); + checkListMirroringDeploymentsResponse( + response as api.ListMirroringDeploymentsResponse); }); unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.NetworkSecurityApi(mock) - .projects - .locations - .firewallEndpointAssociations; - final arg_request = buildFirewallEndpointAssociation(); + final res = + api.NetworkSecurityApi(mock).projects.locations.mirroringDeployments; + final arg_request = buildMirroringDeployment(); final arg_name = 'foo'; final arg_requestId = 'foo'; final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.FirewallEndpointAssociation.fromJson( + final obj = api.MirroringDeployment.fromJson( json as core.Map); - checkFirewallEndpointAssociation(obj); + checkMirroringDeployment(obj); final path = req.url.path; var pathOffset = 0; @@ -8703,22 +10852,24 @@ void main() { }); }); - unittest.group('resource-ProjectsLocationsGatewaySecurityPoliciesResource', + unittest.group( + 'resource-ProjectsLocationsMirroringEndpointGroupAssociationsResource', () { unittest.test('method--create', () async { final mock = HttpServerMock(); final res = api.NetworkSecurityApi(mock) .projects .locations - .gatewaySecurityPolicies; - final arg_request = buildGatewaySecurityPolicy(); + .mirroringEndpointGroupAssociations; + final arg_request = buildMirroringEndpointGroupAssociation(); final arg_parent = 'foo'; - final arg_gatewaySecurityPolicyId = 'foo'; + final arg_mirroringEndpointGroupAssociationId = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GatewaySecurityPolicy.fromJson( + final obj = api.MirroringEndpointGroupAssociation.fromJson( json as core.Map); - checkGatewaySecurityPolicy(obj); + checkMirroringEndpointGroupAssociation(obj); final path = req.url.path; var pathOffset = 0; @@ -8752,8 +10903,12 @@ void main() { } } unittest.expect( - queryMap['gatewaySecurityPolicyId']!.first, - unittest.equals(arg_gatewaySecurityPolicyId), + queryMap['mirroringEndpointGroupAssociationId']!.first, + unittest.equals(arg_mirroringEndpointGroupAssociationId), + ); + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -8767,7 +10922,9 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.create(arg_request, arg_parent, - gatewaySecurityPolicyId: arg_gatewaySecurityPolicyId, + mirroringEndpointGroupAssociationId: + arg_mirroringEndpointGroupAssociationId, + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); @@ -8777,8 +10934,9 @@ void main() { final res = api.NetworkSecurityApi(mock) .projects .locations - .gatewaySecurityPolicies; + .mirroringEndpointGroupAssociations; final arg_name = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -8812,6 +10970,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -8823,7 +10985,8 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_name, $fields: arg_$fields); + final response = await res.delete(arg_name, + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); @@ -8832,7 +10995,7 @@ void main() { final res = api.NetworkSecurityApi(mock) .projects .locations - .gatewaySecurityPolicies; + .mirroringEndpointGroupAssociations; final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -8875,11 +11038,13 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGatewaySecurityPolicy()); + final resp = + convert.json.encode(buildMirroringEndpointGroupAssociation()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.get(arg_name, $fields: arg_$fields); - checkGatewaySecurityPolicy(response as api.GatewaySecurityPolicy); + checkMirroringEndpointGroupAssociation( + response as api.MirroringEndpointGroupAssociation); }); unittest.test('method--list', () async { @@ -8887,8 +11052,10 @@ void main() { final res = api.NetworkSecurityApi(mock) .projects .locations - .gatewaySecurityPolicies; + .mirroringEndpointGroupAssociations; final arg_parent = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; final arg_$fields = 'foo'; @@ -8924,6 +11091,14 @@ void main() { ); } } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); unittest.expect( core.int.parse(queryMap['pageSize']!.first), unittest.equals(arg_pageSize), @@ -8940,16 +11115,18 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildListGatewaySecurityPoliciesResponse()); + final resp = convert.json + .encode(buildListMirroringEndpointGroupAssociationsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.list(arg_parent, + filter: arg_filter, + orderBy: arg_orderBy, pageSize: arg_pageSize, pageToken: arg_pageToken, $fields: arg_$fields); - checkListGatewaySecurityPoliciesResponse( - response as api.ListGatewaySecurityPoliciesResponse); + checkListMirroringEndpointGroupAssociationsResponse( + response as api.ListMirroringEndpointGroupAssociationsResponse); }); unittest.test('method--patch', () async { @@ -8957,15 +11134,16 @@ void main() { final res = api.NetworkSecurityApi(mock) .projects .locations - .gatewaySecurityPolicies; - final arg_request = buildGatewaySecurityPolicy(); + .mirroringEndpointGroupAssociations; + final arg_request = buildMirroringEndpointGroupAssociation(); final arg_name = 'foo'; + final arg_requestId = 'foo'; final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GatewaySecurityPolicy.fromJson( + final obj = api.MirroringEndpointGroupAssociation.fromJson( json as core.Map); - checkGatewaySecurityPolicy(obj); + checkMirroringEndpointGroupAssociation(obj); final path = req.url.path; var pathOffset = 0; @@ -8998,6 +11176,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['updateMask']!.first, unittest.equals(arg_updateMask), @@ -9014,28 +11196,30 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.patch(arg_request, arg_name, - updateMask: arg_updateMask, $fields: arg_$fields); + requestId: arg_requestId, + updateMask: arg_updateMask, + $fields: arg_$fields); checkOperation(response as api.Operation); }); }); - unittest.group( - 'resource-ProjectsLocationsGatewaySecurityPoliciesRulesResource', () { + unittest.group('resource-ProjectsLocationsMirroringEndpointGroupsResource', + () { unittest.test('method--create', () async { final mock = HttpServerMock(); final res = api.NetworkSecurityApi(mock) .projects .locations - .gatewaySecurityPolicies - .rules; - final arg_request = buildGatewaySecurityPolicyRule(); + .mirroringEndpointGroups; + final arg_request = buildMirroringEndpointGroup(); final arg_parent = 'foo'; - final arg_gatewaySecurityPolicyRuleId = 'foo'; + final arg_mirroringEndpointGroupId = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GatewaySecurityPolicyRule.fromJson( + final obj = api.MirroringEndpointGroup.fromJson( json as core.Map); - checkGatewaySecurityPolicyRule(obj); + checkMirroringEndpointGroup(obj); final path = req.url.path; var pathOffset = 0; @@ -9069,8 +11253,12 @@ void main() { } } unittest.expect( - queryMap['gatewaySecurityPolicyRuleId']!.first, - unittest.equals(arg_gatewaySecurityPolicyRuleId), + queryMap['mirroringEndpointGroupId']!.first, + unittest.equals(arg_mirroringEndpointGroupId), + ); + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), ); unittest.expect( queryMap['fields']!.first, @@ -9084,7 +11272,8 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.create(arg_request, arg_parent, - gatewaySecurityPolicyRuleId: arg_gatewaySecurityPolicyRuleId, + mirroringEndpointGroupId: arg_mirroringEndpointGroupId, + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); @@ -9094,9 +11283,9 @@ void main() { final res = api.NetworkSecurityApi(mock) .projects .locations - .gatewaySecurityPolicies - .rules; + .mirroringEndpointGroups; final arg_name = 'foo'; + final arg_requestId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -9130,6 +11319,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -9141,7 +11334,8 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_name, $fields: arg_$fields); + final response = await res.delete(arg_name, + requestId: arg_requestId, $fields: arg_$fields); checkOperation(response as api.Operation); }); @@ -9150,8 +11344,7 @@ void main() { final res = api.NetworkSecurityApi(mock) .projects .locations - .gatewaySecurityPolicies - .rules; + .mirroringEndpointGroups; final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -9194,11 +11387,11 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGatewaySecurityPolicyRule()); + final resp = convert.json.encode(buildMirroringEndpointGroup()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.get(arg_name, $fields: arg_$fields); - checkGatewaySecurityPolicyRule(response as api.GatewaySecurityPolicyRule); + checkMirroringEndpointGroup(response as api.MirroringEndpointGroup); }); unittest.test('method--list', () async { @@ -9206,9 +11399,10 @@ void main() { final res = api.NetworkSecurityApi(mock) .projects .locations - .gatewaySecurityPolicies - .rules; + .mirroringEndpointGroups; final arg_parent = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; final arg_$fields = 'foo'; @@ -9244,6 +11438,14 @@ void main() { ); } } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); unittest.expect( core.int.parse(queryMap['pageSize']!.first), unittest.equals(arg_pageSize), @@ -9261,15 +11463,17 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = - convert.json.encode(buildListGatewaySecurityPolicyRulesResponse()); + convert.json.encode(buildListMirroringEndpointGroupsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.list(arg_parent, + filter: arg_filter, + orderBy: arg_orderBy, pageSize: arg_pageSize, pageToken: arg_pageToken, $fields: arg_$fields); - checkListGatewaySecurityPolicyRulesResponse( - response as api.ListGatewaySecurityPolicyRulesResponse); + checkListMirroringEndpointGroupsResponse( + response as api.ListMirroringEndpointGroupsResponse); }); unittest.test('method--patch', () async { @@ -9277,16 +11481,16 @@ void main() { final res = api.NetworkSecurityApi(mock) .projects .locations - .gatewaySecurityPolicies - .rules; - final arg_request = buildGatewaySecurityPolicyRule(); + .mirroringEndpointGroups; + final arg_request = buildMirroringEndpointGroup(); final arg_name = 'foo'; + final arg_requestId = 'foo'; final arg_updateMask = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GatewaySecurityPolicyRule.fromJson( + final obj = api.MirroringEndpointGroup.fromJson( json as core.Map); - checkGatewaySecurityPolicyRule(obj); + checkMirroringEndpointGroup(obj); final path = req.url.path; var pathOffset = 0; @@ -9319,6 +11523,10 @@ void main() { ); } } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); unittest.expect( queryMap['updateMask']!.first, unittest.equals(arg_updateMask), @@ -9335,7 +11543,9 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.patch(arg_request, arg_name, - updateMask: arg_updateMask, $fields: arg_$fields); + requestId: arg_requestId, + updateMask: arg_updateMask, + $fields: arg_$fields); checkOperation(response as api.Operation); }); }); diff --git a/generated/googleapis/test/networkservices/v1_test.dart b/generated/googleapis/test/networkservices/v1_test.dart index 46ef8d1b4..aabfce3ae 100644 --- a/generated/googleapis/test/networkservices/v1_test.dart +++ b/generated/googleapis/test/networkservices/v1_test.dart @@ -3009,6 +3009,23 @@ void checkUnnamed65(core.List o) { checkMesh(o[1]); } +core.List buildUnnamed66() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed66(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + core.int buildCounterListMeshesResponse = 0; api.ListMeshesResponse buildListMeshesResponse() { final o = api.ListMeshesResponse(); @@ -3016,6 +3033,7 @@ api.ListMeshesResponse buildListMeshesResponse() { if (buildCounterListMeshesResponse < 3) { o.meshes = buildUnnamed65(); o.nextPageToken = 'foo'; + o.unreachable = buildUnnamed66(); } buildCounterListMeshesResponse--; return o; @@ -3029,16 +3047,17 @@ void checkListMeshesResponse(api.ListMeshesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); + checkUnnamed66(o.unreachable!); } buildCounterListMeshesResponse--; } -core.List buildUnnamed66() => [ +core.List buildUnnamed67() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed66(core.List o) { +void checkUnnamed67(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -3050,7 +3069,7 @@ api.ListOperationsResponse buildListOperationsResponse() { buildCounterListOperationsResponse++; if (buildCounterListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed66(); + o.operations = buildUnnamed67(); } buildCounterListOperationsResponse--; return o; @@ -3063,17 +3082,17 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed66(o.operations!); + checkUnnamed67(o.operations!); } buildCounterListOperationsResponse--; } -core.List buildUnnamed67() => [ +core.List buildUnnamed68() => [ buildServiceBinding(), buildServiceBinding(), ]; -void checkUnnamed67(core.List o) { +void checkUnnamed68(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceBinding(o[0]); checkServiceBinding(o[1]); @@ -3085,7 +3104,7 @@ api.ListServiceBindingsResponse buildListServiceBindingsResponse() { buildCounterListServiceBindingsResponse++; if (buildCounterListServiceBindingsResponse < 3) { o.nextPageToken = 'foo'; - o.serviceBindings = buildUnnamed67(); + o.serviceBindings = buildUnnamed68(); } buildCounterListServiceBindingsResponse--; return o; @@ -3098,17 +3117,17 @@ void checkListServiceBindingsResponse(api.ListServiceBindingsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed67(o.serviceBindings!); + checkUnnamed68(o.serviceBindings!); } buildCounterListServiceBindingsResponse--; } -core.List buildUnnamed68() => [ +core.List buildUnnamed69() => [ buildServiceLbPolicy(), buildServiceLbPolicy(), ]; -void checkUnnamed68(core.List o) { +void checkUnnamed69(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceLbPolicy(o[0]); checkServiceLbPolicy(o[1]); @@ -3120,7 +3139,7 @@ api.ListServiceLbPoliciesResponse buildListServiceLbPoliciesResponse() { buildCounterListServiceLbPoliciesResponse++; if (buildCounterListServiceLbPoliciesResponse < 3) { o.nextPageToken = 'foo'; - o.serviceLbPolicies = buildUnnamed68(); + o.serviceLbPolicies = buildUnnamed69(); } buildCounterListServiceLbPoliciesResponse--; return o; @@ -3133,17 +3152,17 @@ void checkListServiceLbPoliciesResponse(api.ListServiceLbPoliciesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed68(o.serviceLbPolicies!); + checkUnnamed69(o.serviceLbPolicies!); } buildCounterListServiceLbPoliciesResponse--; } -core.List buildUnnamed69() => [ +core.List buildUnnamed70() => [ buildTcpRoute(), buildTcpRoute(), ]; -void checkUnnamed69(core.List o) { +void checkUnnamed70(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTcpRoute(o[0]); checkTcpRoute(o[1]); @@ -3155,7 +3174,7 @@ api.ListTcpRoutesResponse buildListTcpRoutesResponse() { buildCounterListTcpRoutesResponse++; if (buildCounterListTcpRoutesResponse < 3) { o.nextPageToken = 'foo'; - o.tcpRoutes = buildUnnamed69(); + o.tcpRoutes = buildUnnamed70(); } buildCounterListTcpRoutesResponse--; return o; @@ -3168,17 +3187,17 @@ void checkListTcpRoutesResponse(api.ListTcpRoutesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed69(o.tcpRoutes!); + checkUnnamed70(o.tcpRoutes!); } buildCounterListTcpRoutesResponse--; } -core.List buildUnnamed70() => [ +core.List buildUnnamed71() => [ buildTlsRoute(), buildTlsRoute(), ]; -void checkUnnamed70(core.List o) { +void checkUnnamed71(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTlsRoute(o[0]); checkTlsRoute(o[1]); @@ -3190,7 +3209,7 @@ api.ListTlsRoutesResponse buildListTlsRoutesResponse() { buildCounterListTlsRoutesResponse++; if (buildCounterListTlsRoutesResponse < 3) { o.nextPageToken = 'foo'; - o.tlsRoutes = buildUnnamed70(); + o.tlsRoutes = buildUnnamed71(); } buildCounterListTlsRoutesResponse--; return o; @@ -3203,17 +3222,17 @@ void checkListTlsRoutesResponse(api.ListTlsRoutesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed70(o.tlsRoutes!); + checkUnnamed71(o.tlsRoutes!); } buildCounterListTlsRoutesResponse--; } -core.List buildUnnamed71() => [ +core.List buildUnnamed72() => [ buildWasmPluginVersion(), buildWasmPluginVersion(), ]; -void checkUnnamed71(core.List o) { +void checkUnnamed72(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWasmPluginVersion(o[0]); checkWasmPluginVersion(o[1]); @@ -3225,7 +3244,7 @@ api.ListWasmPluginVersionsResponse buildListWasmPluginVersionsResponse() { buildCounterListWasmPluginVersionsResponse++; if (buildCounterListWasmPluginVersionsResponse < 3) { o.nextPageToken = 'foo'; - o.wasmPluginVersions = buildUnnamed71(); + o.wasmPluginVersions = buildUnnamed72(); } buildCounterListWasmPluginVersionsResponse--; return o; @@ -3238,17 +3257,17 @@ void checkListWasmPluginVersionsResponse(api.ListWasmPluginVersionsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed71(o.wasmPluginVersions!); + checkUnnamed72(o.wasmPluginVersions!); } buildCounterListWasmPluginVersionsResponse--; } -core.List buildUnnamed72() => [ +core.List buildUnnamed73() => [ buildWasmPlugin(), buildWasmPlugin(), ]; -void checkUnnamed72(core.List o) { +void checkUnnamed73(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWasmPlugin(o[0]); checkWasmPlugin(o[1]); @@ -3260,7 +3279,7 @@ api.ListWasmPluginsResponse buildListWasmPluginsResponse() { buildCounterListWasmPluginsResponse++; if (buildCounterListWasmPluginsResponse < 3) { o.nextPageToken = 'foo'; - o.wasmPlugins = buildUnnamed72(); + o.wasmPlugins = buildUnnamed73(); } buildCounterListWasmPluginsResponse--; return o; @@ -3273,17 +3292,17 @@ void checkListWasmPluginsResponse(api.ListWasmPluginsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed72(o.wasmPlugins!); + checkUnnamed73(o.wasmPlugins!); } buildCounterListWasmPluginsResponse--; } -core.Map buildUnnamed73() => { +core.Map buildUnnamed74() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed73(core.Map o) { +void checkUnnamed74(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3295,7 +3314,7 @@ void checkUnnamed73(core.Map o) { ); } -core.Map buildUnnamed74() => { +core.Map buildUnnamed75() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3308,7 +3327,7 @@ core.Map buildUnnamed74() => { }, }; -void checkUnnamed74(core.Map o) { +void checkUnnamed75(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted9 = (o['x']!) as core.Map; unittest.expect(casted9, unittest.hasLength(3)); @@ -3346,9 +3365,9 @@ api.Location buildLocation() { buildCounterLocation++; if (buildCounterLocation < 3) { o.displayName = 'foo'; - o.labels = buildUnnamed73(); + o.labels = buildUnnamed74(); o.locationId = 'foo'; - o.metadata = buildUnnamed74(); + o.metadata = buildUnnamed75(); o.name = 'foo'; } buildCounterLocation--; @@ -3362,12 +3381,12 @@ void checkLocation(api.Location o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed73(o.labels!); + checkUnnamed74(o.labels!); unittest.expect( o.locationId!, unittest.equals('foo'), ); - checkUnnamed74(o.metadata!); + checkUnnamed75(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), @@ -3376,12 +3395,12 @@ void checkLocation(api.Location o) { buildCounterLocation--; } -core.Map buildUnnamed75() => { +core.Map buildUnnamed76() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed75(core.Map o) { +void checkUnnamed76(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3402,7 +3421,7 @@ api.Mesh buildMesh() { o.description = 'foo'; o.envoyHeaders = 'foo'; o.interceptionPort = 42; - o.labels = buildUnnamed75(); + o.labels = buildUnnamed76(); o.name = 'foo'; o.selfLink = 'foo'; o.updateTime = 'foo'; @@ -3430,7 +3449,7 @@ void checkMesh(api.Mesh o) { o.interceptionPort!, unittest.equals(42), ); - checkUnnamed75(o.labels!); + checkUnnamed76(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -3489,7 +3508,7 @@ void checkMeshRouteView(api.MeshRouteView o) { buildCounterMeshRouteView--; } -core.Map buildUnnamed76() => { +core.Map buildUnnamed77() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3502,7 +3521,7 @@ core.Map buildUnnamed76() => { }, }; -void checkUnnamed76(core.Map o) { +void checkUnnamed77(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted11 = (o['x']!) as core.Map; unittest.expect(casted11, unittest.hasLength(3)); @@ -3534,7 +3553,7 @@ void checkUnnamed76(core.Map o) { ); } -core.Map buildUnnamed77() => { +core.Map buildUnnamed78() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3547,7 +3566,7 @@ core.Map buildUnnamed77() => { }, }; -void checkUnnamed77(core.Map o) { +void checkUnnamed78(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted13 = (o['x']!) as core.Map; unittest.expect(casted13, unittest.hasLength(3)); @@ -3586,9 +3605,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed76(); + o.metadata = buildUnnamed77(); o.name = 'foo'; - o.response = buildUnnamed77(); + o.response = buildUnnamed78(); } buildCounterOperation--; return o; @@ -3599,33 +3618,33 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed76(o.metadata!); + checkUnnamed77(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed77(o.response!); + checkUnnamed78(o.response!); } buildCounterOperation--; } -core.List buildUnnamed78() => [ +core.List buildUnnamed79() => [ buildAuditConfig(), buildAuditConfig(), ]; -void checkUnnamed78(core.List o) { +void checkUnnamed79(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuditConfig(o[0]); checkAuditConfig(o[1]); } -core.List buildUnnamed79() => [ +core.List buildUnnamed80() => [ buildBinding(), buildBinding(), ]; -void checkUnnamed79(core.List o) { +void checkUnnamed80(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBinding(o[0]); checkBinding(o[1]); @@ -3636,8 +3655,8 @@ api.Policy buildPolicy() { final o = api.Policy(); buildCounterPolicy++; if (buildCounterPolicy < 3) { - o.auditConfigs = buildUnnamed78(); - o.bindings = buildUnnamed79(); + o.auditConfigs = buildUnnamed79(); + o.bindings = buildUnnamed80(); o.etag = 'foo'; o.version = 42; } @@ -3648,8 +3667,8 @@ api.Policy buildPolicy() { void checkPolicy(api.Policy o) { buildCounterPolicy++; if (buildCounterPolicy < 3) { - checkUnnamed78(o.auditConfigs!); - checkUnnamed79(o.bindings!); + checkUnnamed79(o.auditConfigs!); + checkUnnamed80(o.bindings!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -3662,12 +3681,12 @@ void checkPolicy(api.Policy o) { buildCounterPolicy--; } -core.Map buildUnnamed80() => { +core.Map buildUnnamed81() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed80(core.Map o) { +void checkUnnamed81(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3686,7 +3705,7 @@ api.ServiceBinding buildServiceBinding() { if (buildCounterServiceBinding < 3) { o.createTime = 'foo'; o.description = 'foo'; - o.labels = buildUnnamed80(); + o.labels = buildUnnamed81(); o.name = 'foo'; o.service = 'foo'; o.serviceId = 'foo'; @@ -3707,7 +3726,7 @@ void checkServiceBinding(api.ServiceBinding o) { o.description!, unittest.equals('foo'), ); - checkUnnamed80(o.labels!); + checkUnnamed81(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -3728,12 +3747,12 @@ void checkServiceBinding(api.ServiceBinding o) { buildCounterServiceBinding--; } -core.Map buildUnnamed81() => { +core.Map buildUnnamed82() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed81(core.Map o) { +void checkUnnamed82(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3754,7 +3773,7 @@ api.ServiceLbPolicy buildServiceLbPolicy() { o.createTime = 'foo'; o.description = 'foo'; o.failoverConfig = buildServiceLbPolicyFailoverConfig(); - o.labels = buildUnnamed81(); + o.labels = buildUnnamed82(); o.loadBalancingAlgorithm = 'foo'; o.name = 'foo'; o.updateTime = 'foo'; @@ -3776,7 +3795,7 @@ void checkServiceLbPolicy(api.ServiceLbPolicy o) { unittest.equals('foo'), ); checkServiceLbPolicyFailoverConfig(o.failoverConfig!); - checkUnnamed81(o.labels!); + checkUnnamed82(o.labels!); unittest.expect( o.loadBalancingAlgorithm!, unittest.equals('foo'), @@ -3859,7 +3878,7 @@ void checkSetIamPolicyRequest(api.SetIamPolicyRequest o) { buildCounterSetIamPolicyRequest--; } -core.Map buildUnnamed82() => { +core.Map buildUnnamed83() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3872,7 +3891,7 @@ core.Map buildUnnamed82() => { }, }; -void checkUnnamed82(core.Map o) { +void checkUnnamed83(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted15 = (o['x']!) as core.Map; unittest.expect(casted15, unittest.hasLength(3)); @@ -3904,15 +3923,15 @@ void checkUnnamed82(core.Map o) { ); } -core.List> buildUnnamed83() => [ - buildUnnamed82(), - buildUnnamed82(), +core.List> buildUnnamed84() => [ + buildUnnamed83(), + buildUnnamed83(), ]; -void checkUnnamed83(core.List> o) { +void checkUnnamed84(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed82(o[0]); - checkUnnamed82(o[1]); + checkUnnamed83(o[0]); + checkUnnamed83(o[1]); } core.int buildCounterStatus = 0; @@ -3921,7 +3940,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed83(); + o.details = buildUnnamed84(); o.message = 'foo'; } buildCounterStatus--; @@ -3935,7 +3954,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed83(o.details!); + checkUnnamed84(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -3944,12 +3963,12 @@ void checkStatus(api.Status o) { buildCounterStatus--; } -core.List buildUnnamed84() => [ +core.List buildUnnamed85() => [ 'foo', 'foo', ]; -void checkUnnamed84(core.List o) { +void checkUnnamed85(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3961,12 +3980,12 @@ void checkUnnamed84(core.List o) { ); } -core.Map buildUnnamed85() => { +core.Map buildUnnamed86() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed85(core.Map o) { +void checkUnnamed86(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3978,12 +3997,12 @@ void checkUnnamed85(core.Map o) { ); } -core.List buildUnnamed86() => [ +core.List buildUnnamed87() => [ 'foo', 'foo', ]; -void checkUnnamed86(core.List o) { +void checkUnnamed87(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3995,12 +4014,12 @@ void checkUnnamed86(core.List o) { ); } -core.List buildUnnamed87() => [ +core.List buildUnnamed88() => [ buildTcpRouteRouteRule(), buildTcpRouteRouteRule(), ]; -void checkUnnamed87(core.List o) { +void checkUnnamed88(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTcpRouteRouteRule(o[0]); checkTcpRouteRouteRule(o[1]); @@ -4013,11 +4032,11 @@ api.TcpRoute buildTcpRoute() { if (buildCounterTcpRoute < 3) { o.createTime = 'foo'; o.description = 'foo'; - o.gateways = buildUnnamed84(); - o.labels = buildUnnamed85(); - o.meshes = buildUnnamed86(); + o.gateways = buildUnnamed85(); + o.labels = buildUnnamed86(); + o.meshes = buildUnnamed87(); o.name = 'foo'; - o.rules = buildUnnamed87(); + o.rules = buildUnnamed88(); o.selfLink = 'foo'; o.updateTime = 'foo'; } @@ -4036,14 +4055,14 @@ void checkTcpRoute(api.TcpRoute o) { o.description!, unittest.equals('foo'), ); - checkUnnamed84(o.gateways!); - checkUnnamed85(o.labels!); - checkUnnamed86(o.meshes!); + checkUnnamed85(o.gateways!); + checkUnnamed86(o.labels!); + checkUnnamed87(o.meshes!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed87(o.rules!); + checkUnnamed88(o.rules!); unittest.expect( o.selfLink!, unittest.equals('foo'), @@ -4056,12 +4075,12 @@ void checkTcpRoute(api.TcpRoute o) { buildCounterTcpRoute--; } -core.List buildUnnamed88() => [ +core.List buildUnnamed89() => [ buildTcpRouteRouteDestination(), buildTcpRouteRouteDestination(), ]; -void checkUnnamed88(core.List o) { +void checkUnnamed89(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTcpRouteRouteDestination(o[0]); checkTcpRouteRouteDestination(o[1]); @@ -4072,7 +4091,7 @@ api.TcpRouteRouteAction buildTcpRouteRouteAction() { final o = api.TcpRouteRouteAction(); buildCounterTcpRouteRouteAction++; if (buildCounterTcpRouteRouteAction < 3) { - o.destinations = buildUnnamed88(); + o.destinations = buildUnnamed89(); o.idleTimeout = 'foo'; o.originalDestination = true; } @@ -4083,7 +4102,7 @@ api.TcpRouteRouteAction buildTcpRouteRouteAction() { void checkTcpRouteRouteAction(api.TcpRouteRouteAction o) { buildCounterTcpRouteRouteAction++; if (buildCounterTcpRouteRouteAction < 3) { - checkUnnamed88(o.destinations!); + checkUnnamed89(o.destinations!); unittest.expect( o.idleTimeout!, unittest.equals('foo'), @@ -4147,12 +4166,12 @@ void checkTcpRouteRouteMatch(api.TcpRouteRouteMatch o) { buildCounterTcpRouteRouteMatch--; } -core.List buildUnnamed89() => [ +core.List buildUnnamed90() => [ buildTcpRouteRouteMatch(), buildTcpRouteRouteMatch(), ]; -void checkUnnamed89(core.List o) { +void checkUnnamed90(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTcpRouteRouteMatch(o[0]); checkTcpRouteRouteMatch(o[1]); @@ -4164,7 +4183,7 @@ api.TcpRouteRouteRule buildTcpRouteRouteRule() { buildCounterTcpRouteRouteRule++; if (buildCounterTcpRouteRouteRule < 3) { o.action = buildTcpRouteRouteAction(); - o.matches = buildUnnamed89(); + o.matches = buildUnnamed90(); } buildCounterTcpRouteRouteRule--; return o; @@ -4174,17 +4193,17 @@ void checkTcpRouteRouteRule(api.TcpRouteRouteRule o) { buildCounterTcpRouteRouteRule++; if (buildCounterTcpRouteRouteRule < 3) { checkTcpRouteRouteAction(o.action!); - checkUnnamed89(o.matches!); + checkUnnamed90(o.matches!); } buildCounterTcpRouteRouteRule--; } -core.List buildUnnamed90() => [ +core.List buildUnnamed91() => [ 'foo', 'foo', ]; -void checkUnnamed90(core.List o) { +void checkUnnamed91(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4201,7 +4220,7 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { final o = api.TestIamPermissionsRequest(); buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - o.permissions = buildUnnamed90(); + o.permissions = buildUnnamed91(); } buildCounterTestIamPermissionsRequest--; return o; @@ -4210,17 +4229,17 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { void checkTestIamPermissionsRequest(api.TestIamPermissionsRequest o) { buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - checkUnnamed90(o.permissions!); + checkUnnamed91(o.permissions!); } buildCounterTestIamPermissionsRequest--; } -core.List buildUnnamed91() => [ +core.List buildUnnamed92() => [ 'foo', 'foo', ]; -void checkUnnamed91(core.List o) { +void checkUnnamed92(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4237,7 +4256,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { final o = api.TestIamPermissionsResponse(); buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - o.permissions = buildUnnamed91(); + o.permissions = buildUnnamed92(); } buildCounterTestIamPermissionsResponse--; return o; @@ -4246,17 +4265,17 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { void checkTestIamPermissionsResponse(api.TestIamPermissionsResponse o) { buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - checkUnnamed91(o.permissions!); + checkUnnamed92(o.permissions!); } buildCounterTestIamPermissionsResponse--; } -core.List buildUnnamed92() => [ +core.List buildUnnamed93() => [ 'foo', 'foo', ]; -void checkUnnamed92(core.List o) { +void checkUnnamed93(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4268,12 +4287,12 @@ void checkUnnamed92(core.List o) { ); } -core.Map buildUnnamed93() => { +core.Map buildUnnamed94() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed93(core.Map o) { +void checkUnnamed94(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4285,12 +4304,12 @@ void checkUnnamed93(core.Map o) { ); } -core.List buildUnnamed94() => [ +core.List buildUnnamed95() => [ 'foo', 'foo', ]; -void checkUnnamed94(core.List o) { +void checkUnnamed95(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4302,12 +4321,12 @@ void checkUnnamed94(core.List o) { ); } -core.List buildUnnamed95() => [ +core.List buildUnnamed96() => [ buildTlsRouteRouteRule(), buildTlsRouteRouteRule(), ]; -void checkUnnamed95(core.List o) { +void checkUnnamed96(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTlsRouteRouteRule(o[0]); checkTlsRouteRouteRule(o[1]); @@ -4320,11 +4339,11 @@ api.TlsRoute buildTlsRoute() { if (buildCounterTlsRoute < 3) { o.createTime = 'foo'; o.description = 'foo'; - o.gateways = buildUnnamed92(); - o.labels = buildUnnamed93(); - o.meshes = buildUnnamed94(); + o.gateways = buildUnnamed93(); + o.labels = buildUnnamed94(); + o.meshes = buildUnnamed95(); o.name = 'foo'; - o.rules = buildUnnamed95(); + o.rules = buildUnnamed96(); o.selfLink = 'foo'; o.updateTime = 'foo'; } @@ -4343,14 +4362,14 @@ void checkTlsRoute(api.TlsRoute o) { o.description!, unittest.equals('foo'), ); - checkUnnamed92(o.gateways!); - checkUnnamed93(o.labels!); - checkUnnamed94(o.meshes!); + checkUnnamed93(o.gateways!); + checkUnnamed94(o.labels!); + checkUnnamed95(o.meshes!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed95(o.rules!); + checkUnnamed96(o.rules!); unittest.expect( o.selfLink!, unittest.equals('foo'), @@ -4363,12 +4382,12 @@ void checkTlsRoute(api.TlsRoute o) { buildCounterTlsRoute--; } -core.List buildUnnamed96() => [ +core.List buildUnnamed97() => [ buildTlsRouteRouteDestination(), buildTlsRouteRouteDestination(), ]; -void checkUnnamed96(core.List o) { +void checkUnnamed97(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTlsRouteRouteDestination(o[0]); checkTlsRouteRouteDestination(o[1]); @@ -4379,7 +4398,7 @@ api.TlsRouteRouteAction buildTlsRouteRouteAction() { final o = api.TlsRouteRouteAction(); buildCounterTlsRouteRouteAction++; if (buildCounterTlsRouteRouteAction < 3) { - o.destinations = buildUnnamed96(); + o.destinations = buildUnnamed97(); o.idleTimeout = 'foo'; } buildCounterTlsRouteRouteAction--; @@ -4389,7 +4408,7 @@ api.TlsRouteRouteAction buildTlsRouteRouteAction() { void checkTlsRouteRouteAction(api.TlsRouteRouteAction o) { buildCounterTlsRouteRouteAction++; if (buildCounterTlsRouteRouteAction < 3) { - checkUnnamed96(o.destinations!); + checkUnnamed97(o.destinations!); unittest.expect( o.idleTimeout!, unittest.equals('foo'), @@ -4425,12 +4444,12 @@ void checkTlsRouteRouteDestination(api.TlsRouteRouteDestination o) { buildCounterTlsRouteRouteDestination--; } -core.List buildUnnamed97() => [ +core.List buildUnnamed98() => [ 'foo', 'foo', ]; -void checkUnnamed97(core.List o) { +void checkUnnamed98(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4442,12 +4461,12 @@ void checkUnnamed97(core.List o) { ); } -core.List buildUnnamed98() => [ +core.List buildUnnamed99() => [ 'foo', 'foo', ]; -void checkUnnamed98(core.List o) { +void checkUnnamed99(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4464,8 +4483,8 @@ api.TlsRouteRouteMatch buildTlsRouteRouteMatch() { final o = api.TlsRouteRouteMatch(); buildCounterTlsRouteRouteMatch++; if (buildCounterTlsRouteRouteMatch < 3) { - o.alpn = buildUnnamed97(); - o.sniHost = buildUnnamed98(); + o.alpn = buildUnnamed98(); + o.sniHost = buildUnnamed99(); } buildCounterTlsRouteRouteMatch--; return o; @@ -4474,18 +4493,18 @@ api.TlsRouteRouteMatch buildTlsRouteRouteMatch() { void checkTlsRouteRouteMatch(api.TlsRouteRouteMatch o) { buildCounterTlsRouteRouteMatch++; if (buildCounterTlsRouteRouteMatch < 3) { - checkUnnamed97(o.alpn!); - checkUnnamed98(o.sniHost!); + checkUnnamed98(o.alpn!); + checkUnnamed99(o.sniHost!); } buildCounterTlsRouteRouteMatch--; } -core.List buildUnnamed99() => [ +core.List buildUnnamed100() => [ buildTlsRouteRouteMatch(), buildTlsRouteRouteMatch(), ]; -void checkUnnamed99(core.List o) { +void checkUnnamed100(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTlsRouteRouteMatch(o[0]); checkTlsRouteRouteMatch(o[1]); @@ -4497,7 +4516,7 @@ api.TlsRouteRouteRule buildTlsRouteRouteRule() { buildCounterTlsRouteRouteRule++; if (buildCounterTlsRouteRouteRule < 3) { o.action = buildTlsRouteRouteAction(); - o.matches = buildUnnamed99(); + o.matches = buildUnnamed100(); } buildCounterTlsRouteRouteRule--; return o; @@ -4507,17 +4526,17 @@ void checkTlsRouteRouteRule(api.TlsRouteRouteRule o) { buildCounterTlsRouteRouteRule++; if (buildCounterTlsRouteRouteRule < 3) { checkTlsRouteRouteAction(o.action!); - checkUnnamed99(o.matches!); + checkUnnamed100(o.matches!); } buildCounterTlsRouteRouteRule--; } -core.List buildUnnamed100() => [ +core.List buildUnnamed101() => [ 'foo', 'foo', ]; -void checkUnnamed100(core.List o) { +void checkUnnamed101(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4534,7 +4553,7 @@ api.TrafficPortSelector buildTrafficPortSelector() { final o = api.TrafficPortSelector(); buildCounterTrafficPortSelector++; if (buildCounterTrafficPortSelector < 3) { - o.ports = buildUnnamed100(); + o.ports = buildUnnamed101(); } buildCounterTrafficPortSelector--; return o; @@ -4543,17 +4562,17 @@ api.TrafficPortSelector buildTrafficPortSelector() { void checkTrafficPortSelector(api.TrafficPortSelector o) { buildCounterTrafficPortSelector++; if (buildCounterTrafficPortSelector < 3) { - checkUnnamed100(o.ports!); + checkUnnamed101(o.ports!); } buildCounterTrafficPortSelector--; } -core.Map buildUnnamed101() => { +core.Map buildUnnamed102() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed101(core.Map o) { +void checkUnnamed102(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4565,23 +4584,23 @@ void checkUnnamed101(core.Map o) { ); } -core.List buildUnnamed102() => [ +core.List buildUnnamed103() => [ buildWasmPluginUsedBy(), buildWasmPluginUsedBy(), ]; -void checkUnnamed102(core.List o) { +void checkUnnamed103(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWasmPluginUsedBy(o[0]); checkWasmPluginUsedBy(o[1]); } -core.Map buildUnnamed103() => { +core.Map buildUnnamed104() => { 'x': buildWasmPluginVersionDetails(), 'y': buildWasmPluginVersionDetails(), }; -void checkUnnamed103(core.Map o) { +void checkUnnamed104(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkWasmPluginVersionDetails(o['x']!); checkWasmPluginVersionDetails(o['y']!); @@ -4594,13 +4613,13 @@ api.WasmPlugin buildWasmPlugin() { if (buildCounterWasmPlugin < 3) { o.createTime = 'foo'; o.description = 'foo'; - o.labels = buildUnnamed101(); + o.labels = buildUnnamed102(); o.logConfig = buildWasmPluginLogConfig(); o.mainVersionId = 'foo'; o.name = 'foo'; o.updateTime = 'foo'; - o.usedBy = buildUnnamed102(); - o.versions = buildUnnamed103(); + o.usedBy = buildUnnamed103(); + o.versions = buildUnnamed104(); } buildCounterWasmPlugin--; return o; @@ -4617,7 +4636,7 @@ void checkWasmPlugin(api.WasmPlugin o) { o.description!, unittest.equals('foo'), ); - checkUnnamed101(o.labels!); + checkUnnamed102(o.labels!); checkWasmPluginLogConfig(o.logConfig!); unittest.expect( o.mainVersionId!, @@ -4631,8 +4650,8 @@ void checkWasmPlugin(api.WasmPlugin o) { o.updateTime!, unittest.equals('foo'), ); - checkUnnamed102(o.usedBy!); - checkUnnamed103(o.versions!); + checkUnnamed103(o.usedBy!); + checkUnnamed104(o.versions!); } buildCounterWasmPlugin--; } @@ -4688,12 +4707,12 @@ void checkWasmPluginUsedBy(api.WasmPluginUsedBy o) { buildCounterWasmPluginUsedBy--; } -core.Map buildUnnamed104() => { +core.Map buildUnnamed105() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed104(core.Map o) { +void checkUnnamed105(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4714,7 +4733,7 @@ api.WasmPluginVersion buildWasmPluginVersion() { o.description = 'foo'; o.imageDigest = 'foo'; o.imageUri = 'foo'; - o.labels = buildUnnamed104(); + o.labels = buildUnnamed105(); o.name = 'foo'; o.pluginConfigData = 'foo'; o.pluginConfigDigest = 'foo'; @@ -4744,7 +4763,7 @@ void checkWasmPluginVersion(api.WasmPluginVersion o) { o.imageUri!, unittest.equals('foo'), ); - checkUnnamed104(o.labels!); + checkUnnamed105(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -4769,12 +4788,12 @@ void checkWasmPluginVersion(api.WasmPluginVersion o) { buildCounterWasmPluginVersion--; } -core.Map buildUnnamed105() => { +core.Map buildUnnamed106() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed105(core.Map o) { +void checkUnnamed106(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4795,7 +4814,7 @@ api.WasmPluginVersionDetails buildWasmPluginVersionDetails() { o.description = 'foo'; o.imageDigest = 'foo'; o.imageUri = 'foo'; - o.labels = buildUnnamed105(); + o.labels = buildUnnamed106(); o.pluginConfigData = 'foo'; o.pluginConfigDigest = 'foo'; o.pluginConfigUri = 'foo'; @@ -4824,7 +4843,7 @@ void checkWasmPluginVersionDetails(api.WasmPluginVersionDetails o) { o.imageUri!, unittest.equals('foo'), ); - checkUnnamed105(o.labels!); + checkUnnamed106(o.labels!); unittest.expect( o.pluginConfigData!, unittest.equals('foo'), @@ -8971,6 +8990,7 @@ void main() { final arg_parent = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; + final arg_returnPartialSuccess = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -9012,6 +9032,10 @@ void main() { queryMap['pageToken']!.first, unittest.equals(arg_pageToken), ); + unittest.expect( + queryMap['returnPartialSuccess']!.first, + unittest.equals('$arg_returnPartialSuccess'), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -9026,6 +9050,7 @@ void main() { final response = await res.list(arg_parent, pageSize: arg_pageSize, pageToken: arg_pageToken, + returnPartialSuccess: arg_returnPartialSuccess, $fields: arg_$fields); checkListMeshesResponse(response as api.ListMeshesResponse); }); diff --git a/generated/googleapis/test/ondemandscanning/v1_test.dart b/generated/googleapis/test/ondemandscanning/v1_test.dart index f92cf55c5..1e9724862 100644 --- a/generated/googleapis/test/ondemandscanning/v1_test.dart +++ b/generated/googleapis/test/ondemandscanning/v1_test.dart @@ -220,6 +220,38 @@ void checkAttestationOccurrence(api.AttestationOccurrence o) { buildCounterAttestationOccurrence--; } +core.int buildCounterBaseImage = 0; +api.BaseImage buildBaseImage() { + final o = api.BaseImage(); + buildCounterBaseImage++; + if (buildCounterBaseImage < 3) { + o.layerCount = 42; + o.name = 'foo'; + o.repository = 'foo'; + } + buildCounterBaseImage--; + return o; +} + +void checkBaseImage(api.BaseImage o) { + buildCounterBaseImage++; + if (buildCounterBaseImage < 3) { + unittest.expect( + o.layerCount!, + unittest.equals(42), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.repository!, + unittest.equals('foo'), + ); + } + buildCounterBaseImage--; +} + core.int buildCounterBinarySourceInfo = 0; api.BinarySourceInfo buildBinarySourceInfo() { final o = api.BinarySourceInfo(); @@ -1140,6 +1172,7 @@ api.FileLocation buildFileLocation() { buildCounterFileLocation++; if (buildCounterFileLocation < 3) { o.filePath = 'foo'; + o.layerDetails = buildLayerDetails(); } buildCounterFileLocation--; return o; @@ -1152,6 +1185,7 @@ void checkFileLocation(api.FileLocation o) { o.filePath!, unittest.equals('foo'), ); + checkLayerDetails(o.layerDetails!); } buildCounterFileLocation--; } @@ -1263,12 +1297,45 @@ void checkGitSourceContext(api.GitSourceContext o) { buildCounterGitSourceContext--; } +core.int buildCounterGrafeasV1BaseImage = 0; +api.GrafeasV1BaseImage buildGrafeasV1BaseImage() { + final o = api.GrafeasV1BaseImage(); + buildCounterGrafeasV1BaseImage++; + if (buildCounterGrafeasV1BaseImage < 3) { + o.layerCount = 42; + o.name = 'foo'; + o.repository = 'foo'; + } + buildCounterGrafeasV1BaseImage--; + return o; +} + +void checkGrafeasV1BaseImage(api.GrafeasV1BaseImage o) { + buildCounterGrafeasV1BaseImage++; + if (buildCounterGrafeasV1BaseImage < 3) { + unittest.expect( + o.layerCount!, + unittest.equals(42), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.repository!, + unittest.equals('foo'), + ); + } + buildCounterGrafeasV1BaseImage--; +} + core.int buildCounterGrafeasV1FileLocation = 0; api.GrafeasV1FileLocation buildGrafeasV1FileLocation() { final o = api.GrafeasV1FileLocation(); buildCounterGrafeasV1FileLocation++; if (buildCounterGrafeasV1FileLocation < 3) { o.filePath = 'foo'; + o.layerDetails = buildGrafeasV1LayerDetails(); } buildCounterGrafeasV1FileLocation--; return o; @@ -1281,10 +1348,56 @@ void checkGrafeasV1FileLocation(api.GrafeasV1FileLocation o) { o.filePath!, unittest.equals('foo'), ); + checkGrafeasV1LayerDetails(o.layerDetails!); } buildCounterGrafeasV1FileLocation--; } +core.List buildUnnamed20() => [ + buildGrafeasV1BaseImage(), + buildGrafeasV1BaseImage(), + ]; + +void checkUnnamed20(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGrafeasV1BaseImage(o[0]); + checkGrafeasV1BaseImage(o[1]); +} + +core.int buildCounterGrafeasV1LayerDetails = 0; +api.GrafeasV1LayerDetails buildGrafeasV1LayerDetails() { + final o = api.GrafeasV1LayerDetails(); + buildCounterGrafeasV1LayerDetails++; + if (buildCounterGrafeasV1LayerDetails < 3) { + o.baseImages = buildUnnamed20(); + o.command = 'foo'; + o.diffId = 'foo'; + o.index = 42; + } + buildCounterGrafeasV1LayerDetails--; + return o; +} + +void checkGrafeasV1LayerDetails(api.GrafeasV1LayerDetails o) { + buildCounterGrafeasV1LayerDetails++; + if (buildCounterGrafeasV1LayerDetails < 3) { + checkUnnamed20(o.baseImages!); + unittest.expect( + o.command!, + unittest.equals('foo'), + ); + unittest.expect( + o.diffId!, + unittest.equals('foo'), + ); + unittest.expect( + o.index!, + unittest.equals(42), + ); + } + buildCounterGrafeasV1LayerDetails--; +} + core.int buildCounterGrafeasV1SlsaProvenanceZeroTwoSlsaBuilder = 0; api.GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder buildGrafeasV1SlsaProvenanceZeroTwoSlsaBuilder() { @@ -1334,12 +1447,12 @@ void checkGrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness( buildCounterGrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness--; } -core.Map buildUnnamed20() => { +core.Map buildUnnamed21() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed20(core.Map o) { +void checkUnnamed21(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1357,7 +1470,7 @@ api.GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource final o = api.GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource(); buildCounterGrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource++; if (buildCounterGrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource < 3) { - o.digest = buildUnnamed20(); + o.digest = buildUnnamed21(); o.entryPoint = 'foo'; o.uri = 'foo'; } @@ -1369,7 +1482,7 @@ void checkGrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource( api.GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource o) { buildCounterGrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource++; if (buildCounterGrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource < 3) { - checkUnnamed20(o.digest!); + checkUnnamed21(o.digest!); unittest.expect( o.entryPoint!, unittest.equals('foo'), @@ -1382,7 +1495,7 @@ void checkGrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource( buildCounterGrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource--; } -core.Map buildUnnamed21() => { +core.Map buildUnnamed22() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1395,7 +1508,7 @@ core.Map buildUnnamed21() => { }, }; -void checkUnnamed21(core.Map o) { +void checkUnnamed22(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -1427,7 +1540,7 @@ void checkUnnamed21(core.Map o) { ); } -core.Map buildUnnamed22() => { +core.Map buildUnnamed23() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1440,7 +1553,7 @@ core.Map buildUnnamed22() => { }, }; -void checkUnnamed22(core.Map o) { +void checkUnnamed23(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -1479,8 +1592,8 @@ api.GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation buildCounterGrafeasV1SlsaProvenanceZeroTwoSlsaInvocation++; if (buildCounterGrafeasV1SlsaProvenanceZeroTwoSlsaInvocation < 3) { o.configSource = buildGrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource(); - o.environment = buildUnnamed21(); - o.parameters = buildUnnamed22(); + o.environment = buildUnnamed22(); + o.parameters = buildUnnamed23(); } buildCounterGrafeasV1SlsaProvenanceZeroTwoSlsaInvocation--; return o; @@ -1491,18 +1604,18 @@ void checkGrafeasV1SlsaProvenanceZeroTwoSlsaInvocation( buildCounterGrafeasV1SlsaProvenanceZeroTwoSlsaInvocation++; if (buildCounterGrafeasV1SlsaProvenanceZeroTwoSlsaInvocation < 3) { checkGrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource(o.configSource!); - checkUnnamed21(o.environment!); - checkUnnamed22(o.parameters!); + checkUnnamed22(o.environment!); + checkUnnamed23(o.parameters!); } buildCounterGrafeasV1SlsaProvenanceZeroTwoSlsaInvocation--; } -core.Map buildUnnamed23() => { +core.Map buildUnnamed24() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed23(core.Map o) { +void checkUnnamed24(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1520,7 +1633,7 @@ api.GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial final o = api.GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial(); buildCounterGrafeasV1SlsaProvenanceZeroTwoSlsaMaterial++; if (buildCounterGrafeasV1SlsaProvenanceZeroTwoSlsaMaterial < 3) { - o.digest = buildUnnamed23(); + o.digest = buildUnnamed24(); o.uri = 'foo'; } buildCounterGrafeasV1SlsaProvenanceZeroTwoSlsaMaterial--; @@ -1531,7 +1644,7 @@ void checkGrafeasV1SlsaProvenanceZeroTwoSlsaMaterial( api.GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial o) { buildCounterGrafeasV1SlsaProvenanceZeroTwoSlsaMaterial++; if (buildCounterGrafeasV1SlsaProvenanceZeroTwoSlsaMaterial < 3) { - checkUnnamed23(o.digest!); + checkUnnamed24(o.digest!); unittest.expect( o.uri!, unittest.equals('foo'), @@ -1632,12 +1745,12 @@ void checkIdentity(api.Identity o) { buildCounterIdentity--; } -core.List buildUnnamed24() => [ +core.List buildUnnamed25() => [ buildLayer(), buildLayer(), ]; -void checkUnnamed24(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLayer(o[0]); checkLayer(o[1]); @@ -1651,7 +1764,7 @@ api.ImageOccurrence buildImageOccurrence() { o.baseResourceUrl = 'foo'; o.distance = 42; o.fingerprint = buildFingerprint(); - o.layerInfo = buildUnnamed24(); + o.layerInfo = buildUnnamed25(); } buildCounterImageOccurrence--; return o; @@ -1669,17 +1782,17 @@ void checkImageOccurrence(api.ImageOccurrence o) { unittest.equals(42), ); checkFingerprint(o.fingerprint!); - checkUnnamed24(o.layerInfo!); + checkUnnamed25(o.layerInfo!); } buildCounterImageOccurrence--; } -core.List buildUnnamed25() => [ +core.List buildUnnamed26() => [ 'foo', 'foo', ]; -void checkUnnamed25(core.List o) { +void checkUnnamed26(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1697,7 +1810,7 @@ api.InTotoProvenance buildInTotoProvenance() { buildCounterInTotoProvenance++; if (buildCounterInTotoProvenance < 3) { o.builderConfig = buildBuilderConfig(); - o.materials = buildUnnamed25(); + o.materials = buildUnnamed26(); o.metadata = buildMetadata(); o.recipe = buildRecipe(); } @@ -1709,19 +1822,19 @@ void checkInTotoProvenance(api.InTotoProvenance o) { buildCounterInTotoProvenance++; if (buildCounterInTotoProvenance < 3) { checkBuilderConfig(o.builderConfig!); - checkUnnamed25(o.materials!); + checkUnnamed26(o.materials!); checkMetadata(o.metadata!); checkRecipe(o.recipe!); } buildCounterInTotoProvenance--; } -core.List buildUnnamed26() => [ +core.List buildUnnamed27() => [ buildSubject(), buildSubject(), ]; -void checkUnnamed26(core.List o) { +void checkUnnamed27(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSubject(o[0]); checkSubject(o[1]); @@ -1735,7 +1848,7 @@ api.InTotoSlsaProvenanceV1 buildInTotoSlsaProvenanceV1() { o.P_type = 'foo'; o.predicate = buildSlsaProvenanceV1(); o.predicateType = 'foo'; - o.subject = buildUnnamed26(); + o.subject = buildUnnamed27(); } buildCounterInTotoSlsaProvenanceV1--; return o; @@ -1753,17 +1866,17 @@ void checkInTotoSlsaProvenanceV1(api.InTotoSlsaProvenanceV1 o) { o.predicateType!, unittest.equals('foo'), ); - checkUnnamed26(o.subject!); + checkUnnamed27(o.subject!); } buildCounterInTotoSlsaProvenanceV1--; } -core.List buildUnnamed27() => [ +core.List buildUnnamed28() => [ buildSubject(), buildSubject(), ]; -void checkUnnamed27(core.List o) { +void checkUnnamed28(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSubject(o[0]); checkSubject(o[1]); @@ -1779,7 +1892,7 @@ api.InTotoStatement buildInTotoStatement() { o.provenance = buildInTotoProvenance(); o.slsaProvenance = buildSlsaProvenance(); o.slsaProvenanceZeroTwo = buildSlsaProvenanceZeroTwo(); - o.subject = buildUnnamed27(); + o.subject = buildUnnamed28(); } buildCounterInTotoStatement--; return o; @@ -1799,7 +1912,7 @@ void checkInTotoStatement(api.InTotoStatement o) { checkInTotoProvenance(o.provenance!); checkSlsaProvenance(o.slsaProvenance!); checkSlsaProvenanceZeroTwo(o.slsaProvenanceZeroTwo!); - checkUnnamed27(o.subject!); + checkUnnamed28(o.subject!); } buildCounterInTotoStatement--; } @@ -1907,6 +2020,51 @@ void checkLayer(api.Layer o) { buildCounterLayer--; } +core.List buildUnnamed29() => [ + buildBaseImage(), + buildBaseImage(), + ]; + +void checkUnnamed29(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkBaseImage(o[0]); + checkBaseImage(o[1]); +} + +core.int buildCounterLayerDetails = 0; +api.LayerDetails buildLayerDetails() { + final o = api.LayerDetails(); + buildCounterLayerDetails++; + if (buildCounterLayerDetails < 3) { + o.baseImages = buildUnnamed29(); + o.command = 'foo'; + o.diffId = 'foo'; + o.index = 42; + } + buildCounterLayerDetails--; + return o; +} + +void checkLayerDetails(api.LayerDetails o) { + buildCounterLayerDetails++; + if (buildCounterLayerDetails < 3) { + checkUnnamed29(o.baseImages!); + unittest.expect( + o.command!, + unittest.equals('foo'), + ); + unittest.expect( + o.diffId!, + unittest.equals('foo'), + ); + unittest.expect( + o.index!, + unittest.equals(42), + ); + } + buildCounterLayerDetails--; +} + core.int buildCounterLicense = 0; api.License buildLicense() { final o = api.License(); @@ -1934,12 +2092,12 @@ void checkLicense(api.License o) { buildCounterLicense--; } -core.List buildUnnamed28() => [ +core.List buildUnnamed30() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed28(core.List o) { +void checkUnnamed30(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -1951,7 +2109,7 @@ api.ListOperationsResponse buildListOperationsResponse() { buildCounterListOperationsResponse++; if (buildCounterListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed28(); + o.operations = buildUnnamed30(); } buildCounterListOperationsResponse--; return o; @@ -1964,17 +2122,17 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed28(o.operations!); + checkUnnamed30(o.operations!); } buildCounterListOperationsResponse--; } -core.List buildUnnamed29() => [ +core.List buildUnnamed31() => [ buildOccurrence(), buildOccurrence(), ]; -void checkUnnamed29(core.List o) { +void checkUnnamed31(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOccurrence(o[0]); checkOccurrence(o[1]); @@ -1986,7 +2144,7 @@ api.ListVulnerabilitiesResponseV1 buildListVulnerabilitiesResponseV1() { buildCounterListVulnerabilitiesResponseV1++; if (buildCounterListVulnerabilitiesResponseV1 < 3) { o.nextPageToken = 'foo'; - o.occurrences = buildUnnamed29(); + o.occurrences = buildUnnamed31(); } buildCounterListVulnerabilitiesResponseV1--; return o; @@ -1999,7 +2157,7 @@ void checkListVulnerabilitiesResponseV1(api.ListVulnerabilitiesResponseV1 o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed29(o.occurrences!); + checkUnnamed31(o.occurrences!); } buildCounterListVulnerabilitiesResponseV1--; } @@ -2070,12 +2228,12 @@ void checkMaintainer(api.Maintainer o) { buildCounterMaintainer--; } -core.Map buildUnnamed30() => { +core.Map buildUnnamed32() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed30(core.Map o) { +void checkUnnamed32(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2092,7 +2250,7 @@ api.Material buildMaterial() { final o = api.Material(); buildCounterMaterial++; if (buildCounterMaterial < 3) { - o.digest = buildUnnamed30(); + o.digest = buildUnnamed32(); o.uri = 'foo'; } buildCounterMaterial--; @@ -2102,7 +2260,7 @@ api.Material buildMaterial() { void checkMaterial(api.Material o) { buildCounterMaterial++; if (buildCounterMaterial < 3) { - checkUnnamed30(o.digest!); + checkUnnamed32(o.digest!); unittest.expect( o.uri!, unittest.equals('foo'), @@ -2255,7 +2413,7 @@ void checkOccurrence(api.Occurrence o) { buildCounterOccurrence--; } -core.Map buildUnnamed31() => { +core.Map buildUnnamed33() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2268,7 +2426,7 @@ core.Map buildUnnamed31() => { }, }; -void checkUnnamed31(core.Map o) { +void checkUnnamed33(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted9 = (o['x']!) as core.Map; unittest.expect(casted9, unittest.hasLength(3)); @@ -2300,7 +2458,7 @@ void checkUnnamed31(core.Map o) { ); } -core.Map buildUnnamed32() => { +core.Map buildUnnamed34() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2313,7 +2471,7 @@ core.Map buildUnnamed32() => { }, }; -void checkUnnamed32(core.Map o) { +void checkUnnamed34(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted11 = (o['x']!) as core.Map; unittest.expect(casted11, unittest.hasLength(3)); @@ -2352,9 +2510,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed31(); + o.metadata = buildUnnamed33(); o.name = 'foo'; - o.response = buildUnnamed32(); + o.response = buildUnnamed34(); } buildCounterOperation--; return o; @@ -2365,55 +2523,55 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed31(o.metadata!); + checkUnnamed33(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed32(o.response!); + checkUnnamed34(o.response!); } buildCounterOperation--; } -core.List buildUnnamed33() => [ +core.List buildUnnamed35() => [ buildBinarySourceInfo(), buildBinarySourceInfo(), ]; -void checkUnnamed33(core.List o) { +void checkUnnamed35(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBinarySourceInfo(o[0]); checkBinarySourceInfo(o[1]); } -core.List buildUnnamed34() => [ +core.List buildUnnamed36() => [ buildLanguagePackageDependency(), buildLanguagePackageDependency(), ]; -void checkUnnamed34(core.List o) { +void checkUnnamed36(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLanguagePackageDependency(o[0]); checkLanguagePackageDependency(o[1]); } -core.List buildUnnamed35() => [ +core.List buildUnnamed37() => [ buildFileLocation(), buildFileLocation(), ]; -void checkUnnamed35(core.List o) { +void checkUnnamed37(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFileLocation(o[0]); checkFileLocation(o[1]); } -core.List buildUnnamed36() => [ +core.List buildUnnamed38() => [ 'foo', 'foo', ]; -void checkUnnamed36(core.List o) { +void checkUnnamed38(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2425,12 +2583,12 @@ void checkUnnamed36(core.List o) { ); } -core.List buildUnnamed37() => [ +core.List buildUnnamed39() => [ 'foo', 'foo', ]; -void checkUnnamed37(core.List o) { +void checkUnnamed39(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2448,19 +2606,20 @@ api.PackageData buildPackageData() { buildCounterPackageData++; if (buildCounterPackageData < 3) { o.architecture = 'foo'; - o.binarySourceInfo = buildUnnamed33(); + o.binarySourceInfo = buildUnnamed35(); o.binaryVersion = buildPackageVersion(); o.cpeUri = 'foo'; - o.dependencyChain = buildUnnamed34(); - o.fileLocation = buildUnnamed35(); + o.dependencyChain = buildUnnamed36(); + o.fileLocation = buildUnnamed37(); o.hashDigest = 'foo'; - o.licenses = buildUnnamed36(); + o.layerDetails = buildLayerDetails(); + o.licenses = buildUnnamed38(); o.maintainer = buildMaintainer(); o.os = 'foo'; o.osVersion = 'foo'; o.package = 'foo'; o.packageType = 'foo'; - o.patchedCve = buildUnnamed37(); + o.patchedCve = buildUnnamed39(); o.sourceVersion = buildPackageVersion(); o.unused = 'foo'; o.version = 'foo'; @@ -2476,19 +2635,20 @@ void checkPackageData(api.PackageData o) { o.architecture!, unittest.equals('foo'), ); - checkUnnamed33(o.binarySourceInfo!); + checkUnnamed35(o.binarySourceInfo!); checkPackageVersion(o.binaryVersion!); unittest.expect( o.cpeUri!, unittest.equals('foo'), ); - checkUnnamed34(o.dependencyChain!); - checkUnnamed35(o.fileLocation!); + checkUnnamed36(o.dependencyChain!); + checkUnnamed37(o.fileLocation!); unittest.expect( o.hashDigest!, unittest.equals('foo'), ); - checkUnnamed36(o.licenses!); + checkLayerDetails(o.layerDetails!); + checkUnnamed38(o.licenses!); checkMaintainer(o.maintainer!); unittest.expect( o.os!, @@ -2506,7 +2666,7 @@ void checkPackageData(api.PackageData o) { o.packageType!, unittest.equals('foo'), ); - checkUnnamed37(o.patchedCve!); + checkUnnamed39(o.patchedCve!); checkPackageVersion(o.sourceVersion!); unittest.expect( o.unused!, @@ -2520,12 +2680,12 @@ void checkPackageData(api.PackageData o) { buildCounterPackageData--; } -core.List buildUnnamed38() => [ +core.List buildUnnamed40() => [ buildGrafeasV1FileLocation(), buildGrafeasV1FileLocation(), ]; -void checkUnnamed38(core.List o) { +void checkUnnamed40(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGrafeasV1FileLocation(o[0]); checkGrafeasV1FileLocation(o[1]); @@ -2540,7 +2700,7 @@ api.PackageIssue buildPackageIssue() { o.affectedPackage = 'foo'; o.affectedVersion = buildVersion(); o.effectiveSeverity = 'foo'; - o.fileLocation = buildUnnamed38(); + o.fileLocation = buildUnnamed40(); o.fixAvailable = true; o.fixedCpeUri = 'foo'; o.fixedPackage = 'foo'; @@ -2567,7 +2727,7 @@ void checkPackageIssue(api.PackageIssue o) { o.effectiveSeverity!, unittest.equals('foo'), ); - checkUnnamed38(o.fileLocation!); + checkUnnamed40(o.fileLocation!); unittest.expect(o.fixAvailable!, unittest.isTrue); unittest.expect( o.fixedCpeUri!, @@ -2586,12 +2746,12 @@ void checkPackageIssue(api.PackageIssue o) { buildCounterPackageIssue--; } -core.List buildUnnamed39() => [ +core.List buildUnnamed41() => [ buildLocation(), buildLocation(), ]; -void checkUnnamed39(core.List o) { +void checkUnnamed41(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLocation(o[0]); checkLocation(o[1]); @@ -2605,7 +2765,7 @@ api.PackageOccurrence buildPackageOccurrence() { o.architecture = 'foo'; o.cpeUri = 'foo'; o.license = buildLicense(); - o.location = buildUnnamed39(); + o.location = buildUnnamed41(); o.name = 'foo'; o.packageType = 'foo'; o.version = buildVersion(); @@ -2626,7 +2786,7 @@ void checkPackageOccurrence(api.PackageOccurrence o) { unittest.equals('foo'), ); checkLicense(o.license!); - checkUnnamed39(o.location!); + checkUnnamed41(o.location!); unittest.expect( o.name!, unittest.equals('foo'), @@ -2640,12 +2800,12 @@ void checkPackageOccurrence(api.PackageOccurrence o) { buildCounterPackageOccurrence--; } -core.List buildUnnamed40() => [ +core.List buildUnnamed42() => [ 'foo', 'foo', ]; -void checkUnnamed40(core.List o) { +void checkUnnamed42(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2662,7 +2822,7 @@ api.PackageVersion buildPackageVersion() { final o = api.PackageVersion(); buildCounterPackageVersion++; if (buildCounterPackageVersion < 3) { - o.licenses = buildUnnamed40(); + o.licenses = buildUnnamed42(); o.name = 'foo'; o.version = 'foo'; } @@ -2673,7 +2833,7 @@ api.PackageVersion buildPackageVersion() { void checkPackageVersion(api.PackageVersion o) { buildCounterPackageVersion++; if (buildCounterPackageVersion < 3) { - checkUnnamed40(o.licenses!); + checkUnnamed42(o.licenses!); unittest.expect( o.name!, unittest.equals('foo'), @@ -2713,23 +2873,23 @@ void checkProjectRepoId(api.ProjectRepoId o) { buildCounterProjectRepoId--; } -core.List buildUnnamed41() => [ +core.List buildUnnamed43() => [ buildResourceDescriptor(), buildResourceDescriptor(), ]; -void checkUnnamed41(core.List o) { +void checkUnnamed43(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkResourceDescriptor(o[0]); checkResourceDescriptor(o[1]); } -core.Map buildUnnamed42() => { +core.Map buildUnnamed44() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed42(core.Map o) { +void checkUnnamed44(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2746,9 +2906,9 @@ api.ProvenanceBuilder buildProvenanceBuilder() { final o = api.ProvenanceBuilder(); buildCounterProvenanceBuilder++; if (buildCounterProvenanceBuilder < 3) { - o.builderDependencies = buildUnnamed41(); + o.builderDependencies = buildUnnamed43(); o.id = 'foo'; - o.version = buildUnnamed42(); + o.version = buildUnnamed44(); } buildCounterProvenanceBuilder--; return o; @@ -2757,17 +2917,17 @@ api.ProvenanceBuilder buildProvenanceBuilder() { void checkProvenanceBuilder(api.ProvenanceBuilder o) { buildCounterProvenanceBuilder++; if (buildCounterProvenanceBuilder < 3) { - checkUnnamed41(o.builderDependencies!); + checkUnnamed43(o.builderDependencies!); unittest.expect( o.id!, unittest.equals('foo'), ); - checkUnnamed42(o.version!); + checkUnnamed44(o.version!); } buildCounterProvenanceBuilder--; } -core.Map buildUnnamed43() => { +core.Map buildUnnamed45() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2780,7 +2940,7 @@ core.Map buildUnnamed43() => { }, }; -void checkUnnamed43(core.Map o) { +void checkUnnamed45(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted13 = (o['x']!) as core.Map; unittest.expect(casted13, unittest.hasLength(3)); @@ -2812,18 +2972,18 @@ void checkUnnamed43(core.Map o) { ); } -core.List> buildUnnamed44() => [ - buildUnnamed43(), - buildUnnamed43(), +core.List> buildUnnamed46() => [ + buildUnnamed45(), + buildUnnamed45(), ]; -void checkUnnamed44(core.List> o) { +void checkUnnamed46(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed43(o[0]); - checkUnnamed43(o[1]); + checkUnnamed45(o[0]); + checkUnnamed45(o[1]); } -core.Map buildUnnamed45() => { +core.Map buildUnnamed47() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2836,7 +2996,7 @@ core.Map buildUnnamed45() => { }, }; -void checkUnnamed45(core.Map o) { +void checkUnnamed47(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted15 = (o['x']!) as core.Map; unittest.expect(casted15, unittest.hasLength(3)); @@ -2868,15 +3028,15 @@ void checkUnnamed45(core.Map o) { ); } -core.List> buildUnnamed46() => [ - buildUnnamed45(), - buildUnnamed45(), +core.List> buildUnnamed48() => [ + buildUnnamed47(), + buildUnnamed47(), ]; -void checkUnnamed46(core.List> o) { +void checkUnnamed48(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed45(o[0]); - checkUnnamed45(o[1]); + checkUnnamed47(o[0]); + checkUnnamed47(o[1]); } core.int buildCounterRecipe = 0; @@ -2884,10 +3044,10 @@ api.Recipe buildRecipe() { final o = api.Recipe(); buildCounterRecipe++; if (buildCounterRecipe < 3) { - o.arguments = buildUnnamed44(); + o.arguments = buildUnnamed46(); o.definedInMaterial = 'foo'; o.entryPoint = 'foo'; - o.environment = buildUnnamed46(); + o.environment = buildUnnamed48(); o.type = 'foo'; } buildCounterRecipe--; @@ -2897,7 +3057,7 @@ api.Recipe buildRecipe() { void checkRecipe(api.Recipe o) { buildCounterRecipe++; if (buildCounterRecipe < 3) { - checkUnnamed44(o.arguments!); + checkUnnamed46(o.arguments!); unittest.expect( o.definedInMaterial!, unittest.equals('foo'), @@ -2906,7 +3066,7 @@ void checkRecipe(api.Recipe o) { o.entryPoint!, unittest.equals('foo'), ); - checkUnnamed46(o.environment!); + checkUnnamed48(o.environment!); unittest.expect( o.type!, unittest.equals('foo'), @@ -2995,7 +3155,7 @@ void checkRepoId(api.RepoId o) { buildCounterRepoId--; } -core.Map buildUnnamed47() => { +core.Map buildUnnamed49() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3008,7 +3168,7 @@ core.Map buildUnnamed47() => { }, }; -void checkUnnamed47(core.Map o) { +void checkUnnamed49(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted17 = (o['x']!) as core.Map; unittest.expect(casted17, unittest.hasLength(3)); @@ -3040,12 +3200,12 @@ void checkUnnamed47(core.Map o) { ); } -core.Map buildUnnamed48() => { +core.Map buildUnnamed50() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed48(core.Map o) { +void checkUnnamed50(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3062,9 +3222,9 @@ api.ResourceDescriptor buildResourceDescriptor() { final o = api.ResourceDescriptor(); buildCounterResourceDescriptor++; if (buildCounterResourceDescriptor < 3) { - o.annotations = buildUnnamed47(); + o.annotations = buildUnnamed49(); o.content = 'foo'; - o.digest = buildUnnamed48(); + o.digest = buildUnnamed50(); o.downloadLocation = 'foo'; o.mediaType = 'foo'; o.name = 'foo'; @@ -3077,12 +3237,12 @@ api.ResourceDescriptor buildResourceDescriptor() { void checkResourceDescriptor(api.ResourceDescriptor o) { buildCounterResourceDescriptor++; if (buildCounterResourceDescriptor < 3) { - checkUnnamed47(o.annotations!); + checkUnnamed49(o.annotations!); unittest.expect( o.content!, unittest.equals('foo'), ); - checkUnnamed48(o.digest!); + checkUnnamed50(o.digest!); unittest.expect( o.downloadLocation!, unittest.equals('foo'), @@ -3103,12 +3263,12 @@ void checkResourceDescriptor(api.ResourceDescriptor o) { buildCounterResourceDescriptor--; } -core.List buildUnnamed49() => [ +core.List buildUnnamed51() => [ buildResourceDescriptor(), buildResourceDescriptor(), ]; -void checkUnnamed49(core.List o) { +void checkUnnamed51(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkResourceDescriptor(o[0]); checkResourceDescriptor(o[1]); @@ -3120,7 +3280,7 @@ api.RunDetails buildRunDetails() { buildCounterRunDetails++; if (buildCounterRunDetails < 3) { o.builder = buildProvenanceBuilder(); - o.byproducts = buildUnnamed49(); + o.byproducts = buildUnnamed51(); o.metadata = buildBuildMetadata(); } buildCounterRunDetails--; @@ -3131,18 +3291,18 @@ void checkRunDetails(api.RunDetails o) { buildCounterRunDetails++; if (buildCounterRunDetails < 3) { checkProvenanceBuilder(o.builder!); - checkUnnamed49(o.byproducts!); + checkUnnamed51(o.byproducts!); checkBuildMetadata(o.metadata!); } buildCounterRunDetails--; } -core.List buildUnnamed50() => [ +core.List buildUnnamed52() => [ buildEnvelopeSignature(), buildEnvelopeSignature(), ]; -void checkUnnamed50(core.List o) { +void checkUnnamed52(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEnvelopeSignature(o[0]); checkEnvelopeSignature(o[1]); @@ -3155,7 +3315,7 @@ api.SBOMReferenceOccurrence buildSBOMReferenceOccurrence() { if (buildCounterSBOMReferenceOccurrence < 3) { o.payload = buildSbomReferenceIntotoPayload(); o.payloadType = 'foo'; - o.signatures = buildUnnamed50(); + o.signatures = buildUnnamed52(); } buildCounterSBOMReferenceOccurrence--; return o; @@ -3169,7 +3329,7 @@ void checkSBOMReferenceOccurrence(api.SBOMReferenceOccurrence o) { o.payloadType!, unittest.equals('foo'), ); - checkUnnamed50(o.signatures!); + checkUnnamed52(o.signatures!); } buildCounterSBOMReferenceOccurrence--; } @@ -3201,12 +3361,12 @@ void checkSBOMStatus(api.SBOMStatus o) { buildCounterSBOMStatus--; } -core.List buildUnnamed51() => [ +core.List buildUnnamed53() => [ buildSubject(), buildSubject(), ]; -void checkUnnamed51(core.List o) { +void checkUnnamed53(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSubject(o[0]); checkSubject(o[1]); @@ -3220,7 +3380,7 @@ api.SbomReferenceIntotoPayload buildSbomReferenceIntotoPayload() { o.P_type = 'foo'; o.predicate = buildSbomReferenceIntotoPredicate(); o.predicateType = 'foo'; - o.subject = buildUnnamed51(); + o.subject = buildUnnamed53(); } buildCounterSbomReferenceIntotoPayload--; return o; @@ -3238,17 +3398,17 @@ void checkSbomReferenceIntotoPayload(api.SbomReferenceIntotoPayload o) { o.predicateType!, unittest.equals('foo'), ); - checkUnnamed51(o.subject!); + checkUnnamed53(o.subject!); } buildCounterSbomReferenceIntotoPayload--; } -core.Map buildUnnamed52() => { +core.Map buildUnnamed54() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed52(core.Map o) { +void checkUnnamed54(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3265,7 +3425,7 @@ api.SbomReferenceIntotoPredicate buildSbomReferenceIntotoPredicate() { final o = api.SbomReferenceIntotoPredicate(); buildCounterSbomReferenceIntotoPredicate++; if (buildCounterSbomReferenceIntotoPredicate < 3) { - o.digest = buildUnnamed52(); + o.digest = buildUnnamed54(); o.location = 'foo'; o.mimeType = 'foo'; o.referrerId = 'foo'; @@ -3277,7 +3437,7 @@ api.SbomReferenceIntotoPredicate buildSbomReferenceIntotoPredicate() { void checkSbomReferenceIntotoPredicate(api.SbomReferenceIntotoPredicate o) { buildCounterSbomReferenceIntotoPredicate++; if (buildCounterSbomReferenceIntotoPredicate < 3) { - checkUnnamed52(o.digest!); + checkUnnamed54(o.digest!); unittest.expect( o.location!, unittest.equals('foo'), @@ -3402,12 +3562,12 @@ void checkSlsaMetadata(api.SlsaMetadata o) { buildCounterSlsaMetadata--; } -core.List buildUnnamed53() => [ +core.List buildUnnamed55() => [ buildMaterial(), buildMaterial(), ]; -void checkUnnamed53(core.List o) { +void checkUnnamed55(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMaterial(o[0]); checkMaterial(o[1]); @@ -3419,7 +3579,7 @@ api.SlsaProvenance buildSlsaProvenance() { buildCounterSlsaProvenance++; if (buildCounterSlsaProvenance < 3) { o.builder = buildSlsaBuilder(); - o.materials = buildUnnamed53(); + o.materials = buildUnnamed55(); o.metadata = buildSlsaMetadata(); o.recipe = buildSlsaRecipe(); } @@ -3431,7 +3591,7 @@ void checkSlsaProvenance(api.SlsaProvenance o) { buildCounterSlsaProvenance++; if (buildCounterSlsaProvenance < 3) { checkSlsaBuilder(o.builder!); - checkUnnamed53(o.materials!); + checkUnnamed55(o.materials!); checkSlsaMetadata(o.metadata!); checkSlsaRecipe(o.recipe!); } @@ -3459,7 +3619,7 @@ void checkSlsaProvenanceV1(api.SlsaProvenanceV1 o) { buildCounterSlsaProvenanceV1--; } -core.Map buildUnnamed54() => { +core.Map buildUnnamed56() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3472,7 +3632,7 @@ core.Map buildUnnamed54() => { }, }; -void checkUnnamed54(core.Map o) { +void checkUnnamed56(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted19 = (o['x']!) as core.Map; unittest.expect(casted19, unittest.hasLength(3)); @@ -3504,12 +3664,12 @@ void checkUnnamed54(core.Map o) { ); } -core.List buildUnnamed55() => [ +core.List buildUnnamed57() => [ buildGrafeasV1SlsaProvenanceZeroTwoSlsaMaterial(), buildGrafeasV1SlsaProvenanceZeroTwoSlsaMaterial(), ]; -void checkUnnamed55( +void checkUnnamed57( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGrafeasV1SlsaProvenanceZeroTwoSlsaMaterial(o[0]); @@ -3521,11 +3681,11 @@ api.SlsaProvenanceZeroTwo buildSlsaProvenanceZeroTwo() { final o = api.SlsaProvenanceZeroTwo(); buildCounterSlsaProvenanceZeroTwo++; if (buildCounterSlsaProvenanceZeroTwo < 3) { - o.buildConfig = buildUnnamed54(); + o.buildConfig = buildUnnamed56(); o.buildType = 'foo'; o.builder = buildGrafeasV1SlsaProvenanceZeroTwoSlsaBuilder(); o.invocation = buildGrafeasV1SlsaProvenanceZeroTwoSlsaInvocation(); - o.materials = buildUnnamed55(); + o.materials = buildUnnamed57(); o.metadata = buildGrafeasV1SlsaProvenanceZeroTwoSlsaMetadata(); } buildCounterSlsaProvenanceZeroTwo--; @@ -3535,20 +3695,20 @@ api.SlsaProvenanceZeroTwo buildSlsaProvenanceZeroTwo() { void checkSlsaProvenanceZeroTwo(api.SlsaProvenanceZeroTwo o) { buildCounterSlsaProvenanceZeroTwo++; if (buildCounterSlsaProvenanceZeroTwo < 3) { - checkUnnamed54(o.buildConfig!); + checkUnnamed56(o.buildConfig!); unittest.expect( o.buildType!, unittest.equals('foo'), ); checkGrafeasV1SlsaProvenanceZeroTwoSlsaBuilder(o.builder!); checkGrafeasV1SlsaProvenanceZeroTwoSlsaInvocation(o.invocation!); - checkUnnamed55(o.materials!); + checkUnnamed57(o.materials!); checkGrafeasV1SlsaProvenanceZeroTwoSlsaMetadata(o.metadata!); } buildCounterSlsaProvenanceZeroTwo--; } -core.Map buildUnnamed56() => { +core.Map buildUnnamed58() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3561,7 +3721,7 @@ core.Map buildUnnamed56() => { }, }; -void checkUnnamed56(core.Map o) { +void checkUnnamed58(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted21 = (o['x']!) as core.Map; unittest.expect(casted21, unittest.hasLength(3)); @@ -3593,7 +3753,7 @@ void checkUnnamed56(core.Map o) { ); } -core.Map buildUnnamed57() => { +core.Map buildUnnamed59() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3606,7 +3766,7 @@ core.Map buildUnnamed57() => { }, }; -void checkUnnamed57(core.Map o) { +void checkUnnamed59(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted23 = (o['x']!) as core.Map; unittest.expect(casted23, unittest.hasLength(3)); @@ -3643,10 +3803,10 @@ api.SlsaRecipe buildSlsaRecipe() { final o = api.SlsaRecipe(); buildCounterSlsaRecipe++; if (buildCounterSlsaRecipe < 3) { - o.arguments = buildUnnamed56(); + o.arguments = buildUnnamed58(); o.definedInMaterial = 'foo'; o.entryPoint = 'foo'; - o.environment = buildUnnamed57(); + o.environment = buildUnnamed59(); o.type = 'foo'; } buildCounterSlsaRecipe--; @@ -3656,7 +3816,7 @@ api.SlsaRecipe buildSlsaRecipe() { void checkSlsaRecipe(api.SlsaRecipe o) { buildCounterSlsaRecipe++; if (buildCounterSlsaRecipe < 3) { - checkUnnamed56(o.arguments!); + checkUnnamed58(o.arguments!); unittest.expect( o.definedInMaterial!, unittest.equals('foo'), @@ -3665,7 +3825,7 @@ void checkSlsaRecipe(api.SlsaRecipe o) { o.entryPoint!, unittest.equals('foo'), ); - checkUnnamed57(o.environment!); + checkUnnamed59(o.environment!); unittest.expect( o.type!, unittest.equals('foo'), @@ -3674,23 +3834,23 @@ void checkSlsaRecipe(api.SlsaRecipe o) { buildCounterSlsaRecipe--; } -core.List buildUnnamed58() => [ +core.List buildUnnamed60() => [ buildSourceContext(), buildSourceContext(), ]; -void checkUnnamed58(core.List o) { +void checkUnnamed60(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSourceContext(o[0]); checkSourceContext(o[1]); } -core.Map buildUnnamed59() => { +core.Map buildUnnamed61() => { 'x': buildFileHashes(), 'y': buildFileHashes(), }; -void checkUnnamed59(core.Map o) { +void checkUnnamed61(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkFileHashes(o['x']!); checkFileHashes(o['y']!); @@ -3701,10 +3861,10 @@ api.Source buildSource() { final o = api.Source(); buildCounterSource++; if (buildCounterSource < 3) { - o.additionalContexts = buildUnnamed58(); + o.additionalContexts = buildUnnamed60(); o.artifactStorageSourceUri = 'foo'; o.context = buildSourceContext(); - o.fileHashes = buildUnnamed59(); + o.fileHashes = buildUnnamed61(); } buildCounterSource--; return o; @@ -3713,23 +3873,23 @@ api.Source buildSource() { void checkSource(api.Source o) { buildCounterSource++; if (buildCounterSource < 3) { - checkUnnamed58(o.additionalContexts!); + checkUnnamed60(o.additionalContexts!); unittest.expect( o.artifactStorageSourceUri!, unittest.equals('foo'), ); checkSourceContext(o.context!); - checkUnnamed59(o.fileHashes!); + checkUnnamed61(o.fileHashes!); } buildCounterSource--; } -core.Map buildUnnamed60() => { +core.Map buildUnnamed62() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed60(core.Map o) { +void checkUnnamed62(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3749,7 +3909,7 @@ api.SourceContext buildSourceContext() { o.cloudRepo = buildCloudRepoSourceContext(); o.gerrit = buildGerritSourceContext(); o.git = buildGitSourceContext(); - o.labels = buildUnnamed60(); + o.labels = buildUnnamed62(); } buildCounterSourceContext--; return o; @@ -3761,12 +3921,12 @@ void checkSourceContext(api.SourceContext o) { checkCloudRepoSourceContext(o.cloudRepo!); checkGerritSourceContext(o.gerrit!); checkGitSourceContext(o.git!); - checkUnnamed60(o.labels!); + checkUnnamed62(o.labels!); } buildCounterSourceContext--; } -core.Map buildUnnamed61() => { +core.Map buildUnnamed63() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3779,7 +3939,7 @@ core.Map buildUnnamed61() => { }, }; -void checkUnnamed61(core.Map o) { +void checkUnnamed63(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted25 = (o['x']!) as core.Map; unittest.expect(casted25, unittest.hasLength(3)); @@ -3811,15 +3971,15 @@ void checkUnnamed61(core.Map o) { ); } -core.List> buildUnnamed62() => [ - buildUnnamed61(), - buildUnnamed61(), +core.List> buildUnnamed64() => [ + buildUnnamed63(), + buildUnnamed63(), ]; -void checkUnnamed62(core.List> o) { +void checkUnnamed64(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed61(o[0]); - checkUnnamed61(o[1]); + checkUnnamed63(o[0]); + checkUnnamed63(o[1]); } core.int buildCounterStatus = 0; @@ -3828,7 +3988,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed62(); + o.details = buildUnnamed64(); o.message = 'foo'; } buildCounterStatus--; @@ -3842,7 +4002,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed62(o.details!); + checkUnnamed64(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -3851,12 +4011,12 @@ void checkStatus(api.Status o) { buildCounterStatus--; } -core.Map buildUnnamed63() => { +core.Map buildUnnamed65() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed63(core.Map o) { +void checkUnnamed65(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3873,7 +4033,7 @@ api.Subject buildSubject() { final o = api.Subject(); buildCounterSubject++; if (buildCounterSubject < 3) { - o.digest = buildUnnamed63(); + o.digest = buildUnnamed65(); o.name = 'foo'; } buildCounterSubject--; @@ -3883,7 +4043,7 @@ api.Subject buildSubject() { void checkSubject(api.Subject o) { buildCounterSubject++; if (buildCounterSubject < 3) { - checkUnnamed63(o.digest!); + checkUnnamed65(o.digest!); unittest.expect( o.name!, unittest.equals('foo'), @@ -3892,12 +4052,12 @@ void checkSubject(api.Subject o) { buildCounterSubject--; } -core.List buildUnnamed64() => [ +core.List buildUnnamed66() => [ 'foo', 'foo', ]; -void checkUnnamed64(core.List o) { +void checkUnnamed66(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3916,7 +4076,7 @@ api.UpgradeDistribution buildUpgradeDistribution() { if (buildCounterUpgradeDistribution < 3) { o.classification = 'foo'; o.cpeUri = 'foo'; - o.cve = buildUnnamed64(); + o.cve = buildUnnamed66(); o.severity = 'foo'; } buildCounterUpgradeDistribution--; @@ -3934,7 +4094,7 @@ void checkUpgradeDistribution(api.UpgradeDistribution o) { o.cpeUri!, unittest.equals('foo'), ); - checkUnnamed64(o.cve!); + checkUnnamed66(o.cve!); unittest.expect( o.severity!, unittest.equals('foo'), @@ -4015,12 +4175,12 @@ void checkVersion(api.Version o) { buildCounterVersion--; } -core.List buildUnnamed65() => [ +core.List buildUnnamed67() => [ 'foo', 'foo', ]; -void checkUnnamed65(core.List o) { +void checkUnnamed67(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4032,23 +4192,23 @@ void checkUnnamed65(core.List o) { ); } -core.List buildUnnamed66() => [ +core.List buildUnnamed68() => [ buildRelatedUrl(), buildRelatedUrl(), ]; -void checkUnnamed66(core.List o) { +void checkUnnamed68(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRelatedUrl(o[0]); checkRelatedUrl(o[1]); } -core.List buildUnnamed67() => [ +core.List buildUnnamed69() => [ buildRemediation(), buildRemediation(), ]; -void checkUnnamed67(core.List o) { +void checkUnnamed69(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRemediation(o[0]); checkRemediation(o[1]); @@ -4060,11 +4220,11 @@ api.VexAssessment buildVexAssessment() { buildCounterVexAssessment++; if (buildCounterVexAssessment < 3) { o.cve = 'foo'; - o.impacts = buildUnnamed65(); + o.impacts = buildUnnamed67(); o.justification = buildJustification(); o.noteName = 'foo'; - o.relatedUris = buildUnnamed66(); - o.remediations = buildUnnamed67(); + o.relatedUris = buildUnnamed68(); + o.remediations = buildUnnamed69(); o.state = 'foo'; o.vulnerabilityId = 'foo'; } @@ -4079,14 +4239,14 @@ void checkVexAssessment(api.VexAssessment o) { o.cve!, unittest.equals('foo'), ); - checkUnnamed65(o.impacts!); + checkUnnamed67(o.impacts!); checkJustification(o.justification!); unittest.expect( o.noteName!, unittest.equals('foo'), ); - checkUnnamed66(o.relatedUris!); - checkUnnamed67(o.remediations!); + checkUnnamed68(o.relatedUris!); + checkUnnamed69(o.remediations!); unittest.expect( o.state!, unittest.equals('foo'), @@ -4099,23 +4259,23 @@ void checkVexAssessment(api.VexAssessment o) { buildCounterVexAssessment--; } -core.List buildUnnamed68() => [ +core.List buildUnnamed70() => [ buildPackageIssue(), buildPackageIssue(), ]; -void checkUnnamed68(core.List o) { +void checkUnnamed70(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPackageIssue(o[0]); checkPackageIssue(o[1]); } -core.List buildUnnamed69() => [ +core.List buildUnnamed71() => [ buildRelatedUrl(), buildRelatedUrl(), ]; -void checkUnnamed69(core.List o) { +void checkUnnamed71(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRelatedUrl(o[0]); checkRelatedUrl(o[1]); @@ -4134,8 +4294,8 @@ api.VulnerabilityOccurrence buildVulnerabilityOccurrence() { o.extraDetails = 'foo'; o.fixAvailable = true; o.longDescription = 'foo'; - o.packageIssue = buildUnnamed68(); - o.relatedUrls = buildUnnamed69(); + o.packageIssue = buildUnnamed70(); + o.relatedUrls = buildUnnamed71(); o.severity = 'foo'; o.shortDescription = 'foo'; o.type = 'foo'; @@ -4171,8 +4331,8 @@ void checkVulnerabilityOccurrence(api.VulnerabilityOccurrence o) { o.longDescription!, unittest.equals('foo'), ); - checkUnnamed68(o.packageIssue!); - checkUnnamed69(o.relatedUrls!); + checkUnnamed70(o.packageIssue!); + checkUnnamed71(o.relatedUrls!); unittest.expect( o.severity!, unittest.equals('foo'), @@ -4190,23 +4350,23 @@ void checkVulnerabilityOccurrence(api.VulnerabilityOccurrence o) { buildCounterVulnerabilityOccurrence--; } -core.List buildUnnamed70() => [ +core.List buildUnnamed72() => [ buildCategory(), buildCategory(), ]; -void checkUnnamed70(core.List o) { +void checkUnnamed72(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCategory(o[0]); checkCategory(o[1]); } -core.List buildUnnamed71() => [ +core.List buildUnnamed73() => [ 'foo', 'foo', ]; -void checkUnnamed71(core.List o) { +void checkUnnamed73(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4223,10 +4383,10 @@ api.WindowsUpdate buildWindowsUpdate() { final o = api.WindowsUpdate(); buildCounterWindowsUpdate++; if (buildCounterWindowsUpdate < 3) { - o.categories = buildUnnamed70(); + o.categories = buildUnnamed72(); o.description = 'foo'; o.identity = buildIdentity(); - o.kbArticleIds = buildUnnamed71(); + o.kbArticleIds = buildUnnamed73(); o.lastPublishedTimestamp = 'foo'; o.supportUrl = 'foo'; o.title = 'foo'; @@ -4238,13 +4398,13 @@ api.WindowsUpdate buildWindowsUpdate() { void checkWindowsUpdate(api.WindowsUpdate o) { buildCounterWindowsUpdate++; if (buildCounterWindowsUpdate < 3) { - checkUnnamed70(o.categories!); + checkUnnamed72(o.categories!); unittest.expect( o.description!, unittest.equals('foo'), ); checkIdentity(o.identity!); - checkUnnamed71(o.kbArticleIds!); + checkUnnamed73(o.kbArticleIds!); unittest.expect( o.lastPublishedTimestamp!, unittest.equals('foo'), @@ -4312,6 +4472,16 @@ void main() { }); }); + unittest.group('obj-schema-BaseImage', () { + unittest.test('to-json--from-json', () async { + final o = buildBaseImage(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.BaseImage.fromJson(oJson as core.Map); + checkBaseImage(od); + }); + }); + unittest.group('obj-schema-BinarySourceInfo', () { unittest.test('to-json--from-json', () async { final o = buildBinarySourceInfo(); @@ -4552,6 +4722,16 @@ void main() { }); }); + unittest.group('obj-schema-GrafeasV1BaseImage', () { + unittest.test('to-json--from-json', () async { + final o = buildGrafeasV1BaseImage(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GrafeasV1BaseImage.fromJson( + oJson as core.Map); + checkGrafeasV1BaseImage(od); + }); + }); + unittest.group('obj-schema-GrafeasV1FileLocation', () { unittest.test('to-json--from-json', () async { final o = buildGrafeasV1FileLocation(); @@ -4562,6 +4742,16 @@ void main() { }); }); + unittest.group('obj-schema-GrafeasV1LayerDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildGrafeasV1LayerDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GrafeasV1LayerDetails.fromJson( + oJson as core.Map); + checkGrafeasV1LayerDetails(od); + }); + }); + unittest.group('obj-schema-GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder', () { unittest.test('to-json--from-json', () async { final o = buildGrafeasV1SlsaProvenanceZeroTwoSlsaBuilder(); @@ -4723,6 +4913,16 @@ void main() { }); }); + unittest.group('obj-schema-LayerDetails', () { + unittest.test('to-json--from-json', () async { + final o = buildLayerDetails(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.LayerDetails.fromJson( + oJson as core.Map); + checkLayerDetails(od); + }); + }); + unittest.group('obj-schema-License', () { unittest.test('to-json--from-json', () async { final o = buildLicense(); diff --git a/generated/googleapis/test/parallelstore/v1_test.dart b/generated/googleapis/test/parallelstore/v1_test.dart index a1c31ffe1..3177b5630 100644 --- a/generated/googleapis/test/parallelstore/v1_test.dart +++ b/generated/googleapis/test/parallelstore/v1_test.dart @@ -91,6 +91,7 @@ api.ExportDataRequest buildExportDataRequest() { buildCounterExportDataRequest++; if (buildCounterExportDataRequest < 3) { o.destinationGcsBucket = buildDestinationGcsBucket(); + o.metadataOptions = buildTransferMetadataOptions(); o.requestId = 'foo'; o.serviceAccount = 'foo'; o.sourceParallelstore = buildSourceParallelstore(); @@ -103,6 +104,7 @@ void checkExportDataRequest(api.ExportDataRequest o) { buildCounterExportDataRequest++; if (buildCounterExportDataRequest < 3) { checkDestinationGcsBucket(o.destinationGcsBucket!); + checkTransferMetadataOptions(o.metadataOptions!); unittest.expect( o.requestId!, unittest.equals('foo'), @@ -137,6 +139,7 @@ api.ImportDataRequest buildImportDataRequest() { buildCounterImportDataRequest++; if (buildCounterImportDataRequest < 3) { o.destinationParallelstore = buildDestinationParallelstore(); + o.metadataOptions = buildTransferMetadataOptions(); o.requestId = 'foo'; o.serviceAccount = 'foo'; o.sourceGcsBucket = buildSourceGcsBucket(); @@ -149,6 +152,7 @@ void checkImportDataRequest(api.ImportDataRequest o) { buildCounterImportDataRequest++; if (buildCounterImportDataRequest < 3) { checkDestinationParallelstore(o.destinationParallelstore!); + checkTransferMetadataOptions(o.metadataOptions!); unittest.expect( o.requestId!, unittest.equals('foo'), @@ -205,6 +209,7 @@ api.Instance buildInstance() { o.capacityGib = 'foo'; o.createTime = 'foo'; o.daosVersion = 'foo'; + o.deploymentType = 'foo'; o.description = 'foo'; o.directoryStripeLevel = 'foo'; o.effectiveReservedIpRange = 'foo'; @@ -236,6 +241,10 @@ void checkInstance(api.Instance o) { o.daosVersion!, unittest.equals('foo'), ); + unittest.expect( + o.deploymentType!, + unittest.equals('foo'), + ); unittest.expect( o.description!, unittest.equals('foo'), @@ -748,6 +757,38 @@ void checkStatus(api.Status o) { buildCounterStatus--; } +core.int buildCounterTransferMetadataOptions = 0; +api.TransferMetadataOptions buildTransferMetadataOptions() { + final o = api.TransferMetadataOptions(); + buildCounterTransferMetadataOptions++; + if (buildCounterTransferMetadataOptions < 3) { + o.gid = 'foo'; + o.mode = 'foo'; + o.uid = 'foo'; + } + buildCounterTransferMetadataOptions--; + return o; +} + +void checkTransferMetadataOptions(api.TransferMetadataOptions o) { + buildCounterTransferMetadataOptions++; + if (buildCounterTransferMetadataOptions < 3) { + unittest.expect( + o.gid!, + unittest.equals('foo'), + ); + unittest.expect( + o.mode!, + unittest.equals('foo'), + ); + unittest.expect( + o.uid!, + unittest.equals('foo'), + ); + } + buildCounterTransferMetadataOptions--; +} + void main() { unittest.group('obj-schema-CancelOperationRequest', () { unittest.test('to-json--from-json', () async { @@ -899,6 +940,16 @@ void main() { }); }); + unittest.group('obj-schema-TransferMetadataOptions', () { + unittest.test('to-json--from-json', () async { + final o = buildTransferMetadataOptions(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.TransferMetadataOptions.fromJson( + oJson as core.Map); + checkTransferMetadataOptions(od); + }); + }); + unittest.group('resource-ProjectsLocationsResource', () { unittest.test('method--get', () async { final mock = HttpServerMock(); diff --git a/generated/googleapis/test/paymentsresellersubscription/v1_test.dart b/generated/googleapis/test/paymentsresellersubscription/v1_test.dart index 12cb00748..51e6468af 100644 --- a/generated/googleapis/test/paymentsresellersubscription/v1_test.dart +++ b/generated/googleapis/test/paymentsresellersubscription/v1_test.dart @@ -596,6 +596,35 @@ void checkGoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionResponse( buildCounterGoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionResponse--; } +core.int + buildCounterGoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload = 0; +api.GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload + buildGoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload() { + final o = api.GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload(); + buildCounterGoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload++; + if (buildCounterGoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload < + 3) { + o.attachedToGoogleStructure = true; + o.partnerStructureId = 'foo'; + } + buildCounterGoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload--; + return o; +} + +void checkGoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload( + api.GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload o) { + buildCounterGoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload++; + if (buildCounterGoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload < + 3) { + unittest.expect(o.attachedToGoogleStructure!, unittest.isTrue); + unittest.expect( + o.partnerStructureId!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload--; +} + core.List buildUnnamed3() => [ 'foo', 'foo', @@ -919,6 +948,8 @@ api.GoogleCloudPaymentsResellerSubscriptionV1ProductPayload final o = api.GoogleCloudPaymentsResellerSubscriptionV1ProductPayload(); buildCounterGoogleCloudPaymentsResellerSubscriptionV1ProductPayload++; if (buildCounterGoogleCloudPaymentsResellerSubscriptionV1ProductPayload < 3) { + o.googleHomePayload = + buildGoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload(); o.googleOnePayload = buildGoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload(); o.youtubePayload = @@ -932,6 +963,8 @@ void checkGoogleCloudPaymentsResellerSubscriptionV1ProductPayload( api.GoogleCloudPaymentsResellerSubscriptionV1ProductPayload o) { buildCounterGoogleCloudPaymentsResellerSubscriptionV1ProductPayload++; if (buildCounterGoogleCloudPaymentsResellerSubscriptionV1ProductPayload < 3) { + checkGoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload( + o.googleHomePayload!); checkGoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload( o.googleOnePayload!); checkGoogleCloudPaymentsResellerSubscriptionV1YoutubePayload( @@ -2123,6 +2156,19 @@ void main() { }); }); + unittest.group( + 'obj-schema-GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload', + () { + unittest.test('to-json--from-json', () async { + final o = + buildGoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload + .fromJson(oJson as core.Map); + checkGoogleCloudPaymentsResellerSubscriptionV1GoogleHomePayload(od); + }); + }); + unittest.group( 'obj-schema-GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload', () { diff --git a/generated/googleapis/test/places/v1_test.dart b/generated/googleapis/test/places/v1_test.dart index 8cf8c3b81..abe8f78bd 100644 --- a/generated/googleapis/test/places/v1_test.dart +++ b/generated/googleapis/test/places/v1_test.dart @@ -1340,6 +1340,7 @@ api.GoogleMapsPlacesV1Place buildGoogleMapsPlacesV1Place() { o.shortFormattedAddress = 'foo'; o.subDestinations = buildUnnamed22(); o.takeout = true; + o.timeZone = buildGoogleTypeTimeZone(); o.types = buildUnnamed23(); o.userRatingCount = 42; o.utcOffsetMinutes = 42; @@ -1458,6 +1459,7 @@ void checkGoogleMapsPlacesV1Place(api.GoogleMapsPlacesV1Place o) { ); checkUnnamed22(o.subDestinations!); unittest.expect(o.takeout!, unittest.isTrue); + checkGoogleTypeTimeZone(o.timeZone!); checkUnnamed23(o.types!); unittest.expect( o.userRatingCount!, @@ -2873,6 +2875,33 @@ void checkGoogleTypeMoney(api.GoogleTypeMoney o) { buildCounterGoogleTypeMoney--; } +core.int buildCounterGoogleTypeTimeZone = 0; +api.GoogleTypeTimeZone buildGoogleTypeTimeZone() { + final o = api.GoogleTypeTimeZone(); + buildCounterGoogleTypeTimeZone++; + if (buildCounterGoogleTypeTimeZone < 3) { + o.id = 'foo'; + o.version = 'foo'; + } + buildCounterGoogleTypeTimeZone--; + return o; +} + +void checkGoogleTypeTimeZone(api.GoogleTypeTimeZone o) { + buildCounterGoogleTypeTimeZone++; + if (buildCounterGoogleTypeTimeZone < 3) { + unittest.expect( + o.id!, + unittest.equals('foo'), + ); + unittest.expect( + o.version!, + unittest.equals('foo'), + ); + } + buildCounterGoogleTypeTimeZone--; +} + void main() { unittest.group('obj-schema-GoogleGeoTypeViewport', () { unittest.test('to-json--from-json', () async { @@ -3602,6 +3631,16 @@ void main() { }); }); + unittest.group('obj-schema-GoogleTypeTimeZone', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleTypeTimeZone(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleTypeTimeZone.fromJson( + oJson as core.Map); + checkGoogleTypeTimeZone(od); + }); + }); + unittest.group('resource-PlacesResource', () { unittest.test('method--autocomplete', () async { final mock = HttpServerMock(); diff --git a/generated/googleapis/test/playintegrity/v1_test.dart b/generated/googleapis/test/playintegrity/v1_test.dart index 44f0dd0f0..acfbaf651 100644 --- a/generated/googleapis/test/playintegrity/v1_test.dart +++ b/generated/googleapis/test/playintegrity/v1_test.dart @@ -95,8 +95,6 @@ api.AppAccessRiskVerdict buildAppAccessRiskVerdict() { buildCounterAppAccessRiskVerdict++; if (buildCounterAppAccessRiskVerdict < 3) { o.appsDetected = buildUnnamed0(); - o.otherApps = 'foo'; - o.playOrSystemApps = 'foo'; } buildCounterAppAccessRiskVerdict--; return o; @@ -106,14 +104,6 @@ void checkAppAccessRiskVerdict(api.AppAccessRiskVerdict o) { buildCounterAppAccessRiskVerdict++; if (buildCounterAppAccessRiskVerdict < 3) { checkUnnamed0(o.appsDetected!); - unittest.expect( - o.otherApps!, - unittest.equals('foo'), - ); - unittest.expect( - o.playOrSystemApps!, - unittest.equals('foo'), - ); } buildCounterAppAccessRiskVerdict--; } diff --git a/generated/googleapis/test/privateca/v1_test.dart b/generated/googleapis/test/privateca/v1_test.dart index d07bb173e..10a9eff58 100644 --- a/generated/googleapis/test/privateca/v1_test.dart +++ b/generated/googleapis/test/privateca/v1_test.dart @@ -538,6 +538,7 @@ api.CertificateAuthority buildCertificateAuthority() { o.tier = 'foo'; o.type = 'foo'; o.updateTime = 'foo'; + o.userDefinedAccessUrls = buildUserDefinedAccessUrls(); } buildCounterCertificateAuthority--; return o; @@ -595,6 +596,7 @@ void checkCertificateAuthority(api.CertificateAuthority o) { o.updateTime!, unittest.equals('foo'), ); + checkUserDefinedAccessUrls(o.userDefinedAccessUrls!); } buildCounterCertificateAuthority--; } @@ -1236,6 +1238,7 @@ api.IssuancePolicy buildIssuancePolicy() { if (buildCounterIssuancePolicy < 3) { o.allowedIssuanceModes = buildIssuanceModes(); o.allowedKeyTypes = buildUnnamed19(); + o.backdateDuration = 'foo'; o.baselineValues = buildX509Parameters(); o.identityConstraints = buildCertificateIdentityConstraints(); o.maximumLifetime = 'foo'; @@ -1250,6 +1253,10 @@ void checkIssuancePolicy(api.IssuancePolicy o) { if (buildCounterIssuancePolicy < 3) { checkIssuanceModes(o.allowedIssuanceModes!); checkUnnamed19(o.allowedKeyTypes!); + unittest.expect( + o.backdateDuration!, + unittest.equals('foo'), + ); checkX509Parameters(o.baselineValues!); checkCertificateIdentityConstraints(o.identityConstraints!); unittest.expect( @@ -2858,6 +2865,61 @@ void checkUndeleteCertificateAuthorityRequest( buildCounterUndeleteCertificateAuthorityRequest--; } +core.List buildUnnamed58() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed58(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed59() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed59(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterUserDefinedAccessUrls = 0; +api.UserDefinedAccessUrls buildUserDefinedAccessUrls() { + final o = api.UserDefinedAccessUrls(); + buildCounterUserDefinedAccessUrls++; + if (buildCounterUserDefinedAccessUrls < 3) { + o.aiaIssuingCertificateUrls = buildUnnamed58(); + o.crlAccessUrls = buildUnnamed59(); + } + buildCounterUserDefinedAccessUrls--; + return o; +} + +void checkUserDefinedAccessUrls(api.UserDefinedAccessUrls o) { + buildCounterUserDefinedAccessUrls++; + if (buildCounterUserDefinedAccessUrls < 3) { + checkUnnamed58(o.aiaIssuingCertificateUrls!); + checkUnnamed59(o.crlAccessUrls!); + } + buildCounterUserDefinedAccessUrls--; +} + core.int buildCounterX509Extension = 0; api.X509Extension buildX509Extension() { final o = api.X509Extension(); @@ -2884,23 +2946,23 @@ void checkX509Extension(api.X509Extension o) { buildCounterX509Extension--; } -core.List buildUnnamed58() => [ +core.List buildUnnamed60() => [ buildX509Extension(), buildX509Extension(), ]; -void checkUnnamed58(core.List o) { +void checkUnnamed60(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkX509Extension(o[0]); checkX509Extension(o[1]); } -core.List buildUnnamed59() => [ +core.List buildUnnamed61() => [ 'foo', 'foo', ]; -void checkUnnamed59(core.List o) { +void checkUnnamed61(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2912,12 +2974,12 @@ void checkUnnamed59(core.List o) { ); } -core.List buildUnnamed60() => [ +core.List buildUnnamed62() => [ buildObjectId(), buildObjectId(), ]; -void checkUnnamed60(core.List o) { +void checkUnnamed62(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkObjectId(o[0]); checkObjectId(o[1]); @@ -2928,12 +2990,12 @@ api.X509Parameters buildX509Parameters() { final o = api.X509Parameters(); buildCounterX509Parameters++; if (buildCounterX509Parameters < 3) { - o.additionalExtensions = buildUnnamed58(); - o.aiaOcspServers = buildUnnamed59(); + o.additionalExtensions = buildUnnamed60(); + o.aiaOcspServers = buildUnnamed61(); o.caOptions = buildCaOptions(); o.keyUsage = buildKeyUsage(); o.nameConstraints = buildNameConstraints(); - o.policyIds = buildUnnamed60(); + o.policyIds = buildUnnamed62(); } buildCounterX509Parameters--; return o; @@ -2942,12 +3004,12 @@ api.X509Parameters buildX509Parameters() { void checkX509Parameters(api.X509Parameters o) { buildCounterX509Parameters++; if (buildCounterX509Parameters < 3) { - checkUnnamed58(o.additionalExtensions!); - checkUnnamed59(o.aiaOcspServers!); + checkUnnamed60(o.additionalExtensions!); + checkUnnamed61(o.aiaOcspServers!); checkCaOptions(o.caOptions!); checkKeyUsage(o.keyUsage!); checkNameConstraints(o.nameConstraints!); - checkUnnamed60(o.policyIds!); + checkUnnamed62(o.policyIds!); } buildCounterX509Parameters--; } @@ -3593,6 +3655,16 @@ void main() { }); }); + unittest.group('obj-schema-UserDefinedAccessUrls', () { + unittest.test('to-json--from-json', () async { + final o = buildUserDefinedAccessUrls(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.UserDefinedAccessUrls.fromJson( + oJson as core.Map); + checkUserDefinedAccessUrls(od); + }); + }); + unittest.group('obj-schema-X509Extension', () { unittest.test('to-json--from-json', () async { final o = buildX509Extension(); diff --git a/generated/googleapis/test/pubsub/v1_test.dart b/generated/googleapis/test/pubsub/v1_test.dart index b0afe6986..f15da84e1 100644 --- a/generated/googleapis/test/pubsub/v1_test.dart +++ b/generated/googleapis/test/pubsub/v1_test.dart @@ -167,6 +167,105 @@ void checkAwsKinesis(api.AwsKinesis o) { buildCounterAwsKinesis--; } +core.int buildCounterAwsMsk = 0; +api.AwsMsk buildAwsMsk() { + final o = api.AwsMsk(); + buildCounterAwsMsk++; + if (buildCounterAwsMsk < 3) { + o.awsRoleArn = 'foo'; + o.clusterArn = 'foo'; + o.gcpServiceAccount = 'foo'; + o.state = 'foo'; + o.topic = 'foo'; + } + buildCounterAwsMsk--; + return o; +} + +void checkAwsMsk(api.AwsMsk o) { + buildCounterAwsMsk++; + if (buildCounterAwsMsk < 3) { + unittest.expect( + o.awsRoleArn!, + unittest.equals('foo'), + ); + unittest.expect( + o.clusterArn!, + unittest.equals('foo'), + ); + unittest.expect( + o.gcpServiceAccount!, + unittest.equals('foo'), + ); + unittest.expect( + o.state!, + unittest.equals('foo'), + ); + unittest.expect( + o.topic!, + unittest.equals('foo'), + ); + } + buildCounterAwsMsk--; +} + +core.int buildCounterAzureEventHubs = 0; +api.AzureEventHubs buildAzureEventHubs() { + final o = api.AzureEventHubs(); + buildCounterAzureEventHubs++; + if (buildCounterAzureEventHubs < 3) { + o.clientId = 'foo'; + o.eventHub = 'foo'; + o.gcpServiceAccount = 'foo'; + o.namespace = 'foo'; + o.resourceGroup = 'foo'; + o.state = 'foo'; + o.subscriptionId = 'foo'; + o.tenantId = 'foo'; + } + buildCounterAzureEventHubs--; + return o; +} + +void checkAzureEventHubs(api.AzureEventHubs o) { + buildCounterAzureEventHubs++; + if (buildCounterAzureEventHubs < 3) { + unittest.expect( + o.clientId!, + unittest.equals('foo'), + ); + unittest.expect( + o.eventHub!, + unittest.equals('foo'), + ); + unittest.expect( + o.gcpServiceAccount!, + unittest.equals('foo'), + ); + unittest.expect( + o.namespace!, + unittest.equals('foo'), + ); + unittest.expect( + o.resourceGroup!, + unittest.equals('foo'), + ); + unittest.expect( + o.state!, + unittest.equals('foo'), + ); + unittest.expect( + o.subscriptionId!, + unittest.equals('foo'), + ); + unittest.expect( + o.tenantId!, + unittest.equals('foo'), + ); + } + buildCounterAzureEventHubs--; +} + core.int buildCounterBigQueryConfig = 0; api.BigQueryConfig buildBigQueryConfig() { final o = api.BigQueryConfig(); @@ -378,6 +477,53 @@ void checkCommitSchemaRequest(api.CommitSchemaRequest o) { buildCounterCommitSchemaRequest--; } +core.int buildCounterConfluentCloud = 0; +api.ConfluentCloud buildConfluentCloud() { + final o = api.ConfluentCloud(); + buildCounterConfluentCloud++; + if (buildCounterConfluentCloud < 3) { + o.bootstrapServer = 'foo'; + o.clusterId = 'foo'; + o.gcpServiceAccount = 'foo'; + o.identityPoolId = 'foo'; + o.state = 'foo'; + o.topic = 'foo'; + } + buildCounterConfluentCloud--; + return o; +} + +void checkConfluentCloud(api.ConfluentCloud o) { + buildCounterConfluentCloud++; + if (buildCounterConfluentCloud < 3) { + unittest.expect( + o.bootstrapServer!, + unittest.equals('foo'), + ); + unittest.expect( + o.clusterId!, + unittest.equals('foo'), + ); + unittest.expect( + o.gcpServiceAccount!, + unittest.equals('foo'), + ); + unittest.expect( + o.identityPoolId!, + unittest.equals('foo'), + ); + unittest.expect( + o.state!, + unittest.equals('foo'), + ); + unittest.expect( + o.topic!, + unittest.equals('foo'), + ); + } + buildCounterConfluentCloud--; +} + core.Map buildUnnamed2() => { 'x': 'foo', 'y': 'foo', @@ -541,7 +687,10 @@ api.IngestionDataSourceSettings buildIngestionDataSourceSettings() { buildCounterIngestionDataSourceSettings++; if (buildCounterIngestionDataSourceSettings < 3) { o.awsKinesis = buildAwsKinesis(); + o.awsMsk = buildAwsMsk(); + o.azureEventHubs = buildAzureEventHubs(); o.cloudStorage = buildCloudStorage(); + o.confluentCloud = buildConfluentCloud(); o.platformLogsSettings = buildPlatformLogsSettings(); } buildCounterIngestionDataSourceSettings--; @@ -552,12 +701,42 @@ void checkIngestionDataSourceSettings(api.IngestionDataSourceSettings o) { buildCounterIngestionDataSourceSettings++; if (buildCounterIngestionDataSourceSettings < 3) { checkAwsKinesis(o.awsKinesis!); + checkAwsMsk(o.awsMsk!); + checkAzureEventHubs(o.azureEventHubs!); checkCloudStorage(o.cloudStorage!); + checkConfluentCloud(o.confluentCloud!); checkPlatformLogsSettings(o.platformLogsSettings!); } buildCounterIngestionDataSourceSettings--; } +core.int buildCounterJavaScriptUDF = 0; +api.JavaScriptUDF buildJavaScriptUDF() { + final o = api.JavaScriptUDF(); + buildCounterJavaScriptUDF++; + if (buildCounterJavaScriptUDF < 3) { + o.code = 'foo'; + o.functionName = 'foo'; + } + buildCounterJavaScriptUDF--; + return o; +} + +void checkJavaScriptUDF(api.JavaScriptUDF o) { + buildCounterJavaScriptUDF++; + if (buildCounterJavaScriptUDF < 3) { + unittest.expect( + o.code!, + unittest.equals('foo'), + ); + unittest.expect( + o.functionName!, + unittest.equals('foo'), + ); + } + buildCounterJavaScriptUDF--; +} + core.List buildUnnamed3() => [ buildSchema(), buildSchema(), @@ -853,6 +1032,27 @@ void checkMessageStoragePolicy(api.MessageStoragePolicy o) { buildCounterMessageStoragePolicy--; } +core.int buildCounterMessageTransform = 0; +api.MessageTransform buildMessageTransform() { + final o = api.MessageTransform(); + buildCounterMessageTransform++; + if (buildCounterMessageTransform < 3) { + o.enabled = true; + o.javascriptUdf = buildJavaScriptUDF(); + } + buildCounterMessageTransform--; + return o; +} + +void checkMessageTransform(api.MessageTransform o) { + buildCounterMessageTransform++; + if (buildCounterMessageTransform < 3) { + unittest.expect(o.enabled!, unittest.isTrue); + checkJavaScriptUDF(o.javascriptUdf!); + } + buildCounterMessageTransform--; +} + core.List buildUnnamed11() => [ 'foo', 'foo', @@ -1560,6 +1760,17 @@ void checkUnnamed19(core.Map o) { ); } +core.List buildUnnamed20() => [ + buildMessageTransform(), + buildMessageTransform(), + ]; + +void checkUnnamed20(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkMessageTransform(o[0]); + checkMessageTransform(o[1]); +} + core.int buildCounterSubscription = 0; api.Subscription buildSubscription() { final o = api.Subscription(); @@ -1577,6 +1788,7 @@ api.Subscription buildSubscription() { o.filter = 'foo'; o.labels = buildUnnamed19(); o.messageRetentionDuration = 'foo'; + o.messageTransforms = buildUnnamed20(); o.name = 'foo'; o.pushConfig = buildPushConfig(); o.retainAckedMessages = true; @@ -1613,6 +1825,7 @@ void checkSubscription(api.Subscription o) { o.messageRetentionDuration!, unittest.equals('foo'), ); + checkUnnamed20(o.messageTransforms!); unittest.expect( o.name!, unittest.equals('foo'), @@ -1636,12 +1849,12 @@ void checkSubscription(api.Subscription o) { buildCounterSubscription--; } -core.List buildUnnamed20() => [ +core.List buildUnnamed21() => [ 'foo', 'foo', ]; -void checkUnnamed20(core.List o) { +void checkUnnamed21(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1658,7 +1871,7 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { final o = api.TestIamPermissionsRequest(); buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - o.permissions = buildUnnamed20(); + o.permissions = buildUnnamed21(); } buildCounterTestIamPermissionsRequest--; return o; @@ -1667,17 +1880,17 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { void checkTestIamPermissionsRequest(api.TestIamPermissionsRequest o) { buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - checkUnnamed20(o.permissions!); + checkUnnamed21(o.permissions!); } buildCounterTestIamPermissionsRequest--; } -core.List buildUnnamed21() => [ +core.List buildUnnamed22() => [ 'foo', 'foo', ]; -void checkUnnamed21(core.List o) { +void checkUnnamed22(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1694,7 +1907,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { final o = api.TestIamPermissionsResponse(); buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - o.permissions = buildUnnamed21(); + o.permissions = buildUnnamed22(); } buildCounterTestIamPermissionsResponse--; return o; @@ -1703,7 +1916,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { void checkTestIamPermissionsResponse(api.TestIamPermissionsResponse o) { buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - checkUnnamed21(o.permissions!); + checkUnnamed22(o.permissions!); } buildCounterTestIamPermissionsResponse--; } @@ -1745,12 +1958,12 @@ void checkTextFormat(api.TextFormat o) { buildCounterTextFormat--; } -core.Map buildUnnamed22() => { +core.Map buildUnnamed23() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed22(core.Map o) { +void checkUnnamed23(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1762,6 +1975,17 @@ void checkUnnamed22(core.Map o) { ); } +core.List buildUnnamed24() => [ + buildMessageTransform(), + buildMessageTransform(), + ]; + +void checkUnnamed24(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkMessageTransform(o[0]); + checkMessageTransform(o[1]); +} + core.int buildCounterTopic = 0; api.Topic buildTopic() { final o = api.Topic(); @@ -1769,9 +1993,10 @@ api.Topic buildTopic() { if (buildCounterTopic < 3) { o.ingestionDataSourceSettings = buildIngestionDataSourceSettings(); o.kmsKeyName = 'foo'; - o.labels = buildUnnamed22(); + o.labels = buildUnnamed23(); o.messageRetentionDuration = 'foo'; o.messageStoragePolicy = buildMessageStoragePolicy(); + o.messageTransforms = buildUnnamed24(); o.name = 'foo'; o.satisfiesPzs = true; o.schemaSettings = buildSchemaSettings(); @@ -1789,12 +2014,13 @@ void checkTopic(api.Topic o) { o.kmsKeyName!, unittest.equals('foo'), ); - checkUnnamed22(o.labels!); + checkUnnamed23(o.labels!); unittest.expect( o.messageRetentionDuration!, unittest.equals('foo'), ); checkMessageStoragePolicy(o.messageStoragePolicy!); + checkUnnamed24(o.messageTransforms!); unittest.expect( o.name!, unittest.equals('foo'), @@ -2015,6 +2241,26 @@ void main() { }); }); + unittest.group('obj-schema-AwsMsk', () { + unittest.test('to-json--from-json', () async { + final o = buildAwsMsk(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.AwsMsk.fromJson(oJson as core.Map); + checkAwsMsk(od); + }); + }); + + unittest.group('obj-schema-AzureEventHubs', () { + unittest.test('to-json--from-json', () async { + final o = buildAzureEventHubs(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AzureEventHubs.fromJson( + oJson as core.Map); + checkAzureEventHubs(od); + }); + }); + unittest.group('obj-schema-BigQueryConfig', () { unittest.test('to-json--from-json', () async { final o = buildBigQueryConfig(); @@ -2065,6 +2311,16 @@ void main() { }); }); + unittest.group('obj-schema-ConfluentCloud', () { + unittest.test('to-json--from-json', () async { + final o = buildConfluentCloud(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ConfluentCloud.fromJson( + oJson as core.Map); + checkConfluentCloud(od); + }); + }); + unittest.group('obj-schema-CreateSnapshotRequest', () { unittest.test('to-json--from-json', () async { final o = buildCreateSnapshotRequest(); @@ -2135,6 +2391,16 @@ void main() { }); }); + unittest.group('obj-schema-JavaScriptUDF', () { + unittest.test('to-json--from-json', () async { + final o = buildJavaScriptUDF(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.JavaScriptUDF.fromJson( + oJson as core.Map); + checkJavaScriptUDF(od); + }); + }); + unittest.group('obj-schema-ListSchemaRevisionsResponse', () { unittest.test('to-json--from-json', () async { final o = buildListSchemaRevisionsResponse(); @@ -2215,6 +2481,16 @@ void main() { }); }); + unittest.group('obj-schema-MessageTransform', () { + unittest.test('to-json--from-json', () async { + final o = buildMessageTransform(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.MessageTransform.fromJson( + oJson as core.Map); + checkMessageTransform(od); + }); + }); + unittest.group('obj-schema-ModifyAckDeadlineRequest', () { unittest.test('to-json--from-json', () async { final o = buildModifyAckDeadlineRequest(); diff --git a/generated/googleapis/test/recaptchaenterprise/v1_test.dart b/generated/googleapis/test/recaptchaenterprise/v1_test.dart index 062c52d87..470979dde 100644 --- a/generated/googleapis/test/recaptchaenterprise/v1_test.dart +++ b/generated/googleapis/test/recaptchaenterprise/v1_test.dart @@ -510,6 +510,7 @@ api.GoogleCloudRecaptchaenterpriseV1Event o.hashedAccountId = 'foo'; o.headers = buildUnnamed4(); o.ja3 = 'foo'; + o.ja4 = 'foo'; o.requestedUri = 'foo'; o.siteKey = 'foo'; o.token = 'foo'; @@ -546,6 +547,10 @@ void checkGoogleCloudRecaptchaenterpriseV1Event( o.ja3!, unittest.equals('foo'), ); + unittest.expect( + o.ja4!, + unittest.equals('foo'), + ); unittest.expect( o.requestedUri!, unittest.equals('foo'), diff --git a/generated/googleapis/test/redis/v1_test.dart b/generated/googleapis/test/redis/v1_test.dart index ad02cf7ce..a92544d21 100644 --- a/generated/googleapis/test/redis/v1_test.dart +++ b/generated/googleapis/test/redis/v1_test.dart @@ -98,6 +98,7 @@ api.Backup buildBackup() { o.cluster = 'foo'; o.clusterUid = 'foo'; o.createTime = 'foo'; + o.encryptionInfo = buildEncryptionInfo(); o.engineVersion = 'foo'; o.expireTime = 'foo'; o.name = 'foo'; @@ -132,6 +133,7 @@ void checkBackup(api.Backup o) { o.createTime!, unittest.equals('foo'), ); + checkEncryptionInfo(o.encryptionInfo!); unittest.expect( o.engineVersion!, unittest.equals('foo'), @@ -206,6 +208,8 @@ api.BackupCollection buildBackupCollection() { if (buildCounterBackupCollection < 3) { o.cluster = 'foo'; o.clusterUid = 'foo'; + o.createTime = 'foo'; + o.kmsKey = 'foo'; o.name = 'foo'; o.uid = 'foo'; } @@ -224,6 +228,14 @@ void checkBackupCollection(api.BackupCollection o) { o.clusterUid!, unittest.equals('foo'), ); + unittest.expect( + o.createTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.kmsKey!, + unittest.equals('foo'), + ); unittest.expect( o.name!, unittest.equals('foo'), @@ -405,6 +417,7 @@ api.Cluster buildCluster() { final o = api.Cluster(); buildCounterCluster++; if (buildCounterCluster < 3) { + o.asyncClusterEndpointsDeletionEnabled = true; o.authorizationMode = 'foo'; o.automatedBackupConfig = buildAutomatedBackupConfig(); o.backupCollection = 'foo'; @@ -413,12 +426,15 @@ api.Cluster buildCluster() { o.crossClusterReplicationConfig = buildCrossClusterReplicationConfig(); o.deletionProtectionEnabled = true; o.discoveryEndpoints = buildUnnamed3(); + o.encryptionInfo = buildEncryptionInfo(); o.gcsSource = buildGcsBackupSource(); + o.kmsKey = 'foo'; o.maintenancePolicy = buildClusterMaintenancePolicy(); o.maintenanceSchedule = buildClusterMaintenanceSchedule(); o.managedBackupSource = buildManagedBackupSource(); o.name = 'foo'; o.nodeType = 'foo'; + o.ondemandMaintenance = true; o.persistenceConfig = buildClusterPersistenceConfig(); o.preciseSizeGb = 42.0; o.pscConfigs = buildUnnamed4(); @@ -441,6 +457,7 @@ api.Cluster buildCluster() { void checkCluster(api.Cluster o) { buildCounterCluster++; if (buildCounterCluster < 3) { + unittest.expect(o.asyncClusterEndpointsDeletionEnabled!, unittest.isTrue); unittest.expect( o.authorizationMode!, unittest.equals('foo'), @@ -458,7 +475,12 @@ void checkCluster(api.Cluster o) { checkCrossClusterReplicationConfig(o.crossClusterReplicationConfig!); unittest.expect(o.deletionProtectionEnabled!, unittest.isTrue); checkUnnamed3(o.discoveryEndpoints!); + checkEncryptionInfo(o.encryptionInfo!); checkGcsBackupSource(o.gcsSource!); + unittest.expect( + o.kmsKey!, + unittest.equals('foo'), + ); checkClusterMaintenancePolicy(o.maintenancePolicy!); checkClusterMaintenanceSchedule(o.maintenanceSchedule!); checkManagedBackupSource(o.managedBackupSource!); @@ -470,6 +492,7 @@ void checkCluster(api.Cluster o) { o.nodeType!, unittest.equals('foo'), ); + unittest.expect(o.ondemandMaintenance!, unittest.isTrue); checkClusterPersistenceConfig(o.persistenceConfig!); unittest.expect( o.preciseSizeGb!, @@ -765,6 +788,57 @@ void checkEmpty(api.Empty o) { buildCounterEmpty--; } +core.List buildUnnamed11() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed11(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterEncryptionInfo = 0; +api.EncryptionInfo buildEncryptionInfo() { + final o = api.EncryptionInfo(); + buildCounterEncryptionInfo++; + if (buildCounterEncryptionInfo < 3) { + o.encryptionType = 'foo'; + o.kmsKeyPrimaryState = 'foo'; + o.kmsKeyVersions = buildUnnamed11(); + o.lastUpdateTime = 'foo'; + } + buildCounterEncryptionInfo--; + return o; +} + +void checkEncryptionInfo(api.EncryptionInfo o) { + buildCounterEncryptionInfo++; + if (buildCounterEncryptionInfo < 3) { + unittest.expect( + o.encryptionType!, + unittest.equals('foo'), + ); + unittest.expect( + o.kmsKeyPrimaryState!, + unittest.equals('foo'), + ); + checkUnnamed11(o.kmsKeyVersions!); + unittest.expect( + o.lastUpdateTime!, + unittest.equals('foo'), + ); + } + buildCounterEncryptionInfo--; +} + core.int buildCounterExportBackupRequest = 0; api.ExportBackupRequest buildExportBackupRequest() { final o = api.ExportBackupRequest(); @@ -847,12 +921,12 @@ void checkFixedFrequencySchedule(api.FixedFrequencySchedule o) { buildCounterFixedFrequencySchedule--; } -core.List buildUnnamed11() => [ +core.List buildUnnamed12() => [ 'foo', 'foo', ]; -void checkUnnamed11(core.List o) { +void checkUnnamed12(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -869,7 +943,7 @@ api.GcsBackupSource buildGcsBackupSource() { final o = api.GcsBackupSource(); buildCounterGcsBackupSource++; if (buildCounterGcsBackupSource < 3) { - o.uris = buildUnnamed11(); + o.uris = buildUnnamed12(); } buildCounterGcsBackupSource--; return o; @@ -878,7 +952,7 @@ api.GcsBackupSource buildGcsBackupSource() { void checkGcsBackupSource(api.GcsBackupSource o) { buildCounterGcsBackupSource++; if (buildCounterGcsBackupSource < 3) { - checkUnnamed11(o.uris!); + checkUnnamed12(o.uris!); } buildCounterGcsBackupSource--; } @@ -965,12 +1039,12 @@ void checkInputConfig(api.InputConfig o) { buildCounterInputConfig--; } -core.List buildUnnamed12() => [ +core.List buildUnnamed13() => [ 'foo', 'foo', ]; -void checkUnnamed12(core.List o) { +void checkUnnamed13(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -982,12 +1056,12 @@ void checkUnnamed12(core.List o) { ); } -core.Map buildUnnamed13() => { +core.Map buildUnnamed14() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed13(core.Map o) { +void checkUnnamed14(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -999,23 +1073,23 @@ void checkUnnamed13(core.Map o) { ); } -core.List buildUnnamed14() => [ +core.List buildUnnamed15() => [ buildNodeInfo(), buildNodeInfo(), ]; -void checkUnnamed14(core.List o) { +void checkUnnamed15(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodeInfo(o[0]); checkNodeInfo(o[1]); } -core.Map buildUnnamed15() => { +core.Map buildUnnamed16() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed15(core.Map o) { +void checkUnnamed16(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1027,23 +1101,23 @@ void checkUnnamed15(core.Map o) { ); } -core.List buildUnnamed16() => [ +core.List buildUnnamed17() => [ buildTlsCertificate(), buildTlsCertificate(), ]; -void checkUnnamed16(core.List o) { +void checkUnnamed17(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTlsCertificate(o[0]); checkTlsCertificate(o[1]); } -core.List buildUnnamed17() => [ +core.List buildUnnamed18() => [ 'foo', 'foo', ]; -void checkUnnamed17(core.List o) { +void checkUnnamed18(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1063,38 +1137,38 @@ api.Instance buildInstance() { o.alternativeLocationId = 'foo'; o.authEnabled = true; o.authorizedNetwork = 'foo'; - o.availableMaintenanceVersions = buildUnnamed12(); + o.availableMaintenanceVersions = buildUnnamed13(); o.connectMode = 'foo'; o.createTime = 'foo'; o.currentLocationId = 'foo'; o.customerManagedKey = 'foo'; o.displayName = 'foo'; o.host = 'foo'; - o.labels = buildUnnamed13(); + o.labels = buildUnnamed14(); o.locationId = 'foo'; o.maintenancePolicy = buildMaintenancePolicy(); o.maintenanceSchedule = buildMaintenanceSchedule(); o.maintenanceVersion = 'foo'; o.memorySizeGb = 42; o.name = 'foo'; - o.nodes = buildUnnamed14(); + o.nodes = buildUnnamed15(); o.persistenceConfig = buildPersistenceConfig(); o.persistenceIamIdentity = 'foo'; o.port = 42; o.readEndpoint = 'foo'; o.readEndpointPort = 42; o.readReplicasMode = 'foo'; - o.redisConfigs = buildUnnamed15(); + o.redisConfigs = buildUnnamed16(); o.redisVersion = 'foo'; o.replicaCount = 42; o.reservedIpRange = 'foo'; o.satisfiesPzi = true; o.satisfiesPzs = true; o.secondaryIpRange = 'foo'; - o.serverCaCerts = buildUnnamed16(); + o.serverCaCerts = buildUnnamed17(); o.state = 'foo'; o.statusMessage = 'foo'; - o.suspensionReasons = buildUnnamed17(); + o.suspensionReasons = buildUnnamed18(); o.tier = 'foo'; o.transitEncryptionMode = 'foo'; } @@ -1114,7 +1188,7 @@ void checkInstance(api.Instance o) { o.authorizedNetwork!, unittest.equals('foo'), ); - checkUnnamed12(o.availableMaintenanceVersions!); + checkUnnamed13(o.availableMaintenanceVersions!); unittest.expect( o.connectMode!, unittest.equals('foo'), @@ -1139,7 +1213,7 @@ void checkInstance(api.Instance o) { o.host!, unittest.equals('foo'), ); - checkUnnamed13(o.labels!); + checkUnnamed14(o.labels!); unittest.expect( o.locationId!, unittest.equals('foo'), @@ -1158,7 +1232,7 @@ void checkInstance(api.Instance o) { o.name!, unittest.equals('foo'), ); - checkUnnamed14(o.nodes!); + checkUnnamed15(o.nodes!); checkPersistenceConfig(o.persistenceConfig!); unittest.expect( o.persistenceIamIdentity!, @@ -1180,7 +1254,7 @@ void checkInstance(api.Instance o) { o.readReplicasMode!, unittest.equals('foo'), ); - checkUnnamed15(o.redisConfigs!); + checkUnnamed16(o.redisConfigs!); unittest.expect( o.redisVersion!, unittest.equals('foo'), @@ -1199,7 +1273,7 @@ void checkInstance(api.Instance o) { o.secondaryIpRange!, unittest.equals('foo'), ); - checkUnnamed16(o.serverCaCerts!); + checkUnnamed17(o.serverCaCerts!); unittest.expect( o.state!, unittest.equals('foo'), @@ -1208,7 +1282,7 @@ void checkInstance(api.Instance o) { o.statusMessage!, unittest.equals('foo'), ); - checkUnnamed17(o.suspensionReasons!); + checkUnnamed18(o.suspensionReasons!); unittest.expect( o.tier!, unittest.equals('foo'), @@ -1243,23 +1317,23 @@ void checkInstanceAuthString(api.InstanceAuthString o) { buildCounterInstanceAuthString--; } -core.List buildUnnamed18() => [ +core.List buildUnnamed19() => [ buildBackupCollection(), buildBackupCollection(), ]; -void checkUnnamed18(core.List o) { +void checkUnnamed19(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackupCollection(o[0]); checkBackupCollection(o[1]); } -core.List buildUnnamed19() => [ +core.List buildUnnamed20() => [ 'foo', 'foo', ]; -void checkUnnamed19(core.List o) { +void checkUnnamed20(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1276,9 +1350,9 @@ api.ListBackupCollectionsResponse buildListBackupCollectionsResponse() { final o = api.ListBackupCollectionsResponse(); buildCounterListBackupCollectionsResponse++; if (buildCounterListBackupCollectionsResponse < 3) { - o.backupCollections = buildUnnamed18(); + o.backupCollections = buildUnnamed19(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed19(); + o.unreachable = buildUnnamed20(); } buildCounterListBackupCollectionsResponse--; return o; @@ -1287,33 +1361,33 @@ api.ListBackupCollectionsResponse buildListBackupCollectionsResponse() { void checkListBackupCollectionsResponse(api.ListBackupCollectionsResponse o) { buildCounterListBackupCollectionsResponse++; if (buildCounterListBackupCollectionsResponse < 3) { - checkUnnamed18(o.backupCollections!); + checkUnnamed19(o.backupCollections!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed19(o.unreachable!); + checkUnnamed20(o.unreachable!); } buildCounterListBackupCollectionsResponse--; } -core.List buildUnnamed20() => [ +core.List buildUnnamed21() => [ buildBackup(), buildBackup(), ]; -void checkUnnamed20(core.List o) { +void checkUnnamed21(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackup(o[0]); checkBackup(o[1]); } -core.List buildUnnamed21() => [ +core.List buildUnnamed22() => [ 'foo', 'foo', ]; -void checkUnnamed21(core.List o) { +void checkUnnamed22(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1330,9 +1404,9 @@ api.ListBackupsResponse buildListBackupsResponse() { final o = api.ListBackupsResponse(); buildCounterListBackupsResponse++; if (buildCounterListBackupsResponse < 3) { - o.backups = buildUnnamed20(); + o.backups = buildUnnamed21(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed21(); + o.unreachable = buildUnnamed22(); } buildCounterListBackupsResponse--; return o; @@ -1341,33 +1415,33 @@ api.ListBackupsResponse buildListBackupsResponse() { void checkListBackupsResponse(api.ListBackupsResponse o) { buildCounterListBackupsResponse++; if (buildCounterListBackupsResponse < 3) { - checkUnnamed20(o.backups!); + checkUnnamed21(o.backups!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed21(o.unreachable!); + checkUnnamed22(o.unreachable!); } buildCounterListBackupsResponse--; } -core.List buildUnnamed22() => [ +core.List buildUnnamed23() => [ buildCluster(), buildCluster(), ]; -void checkUnnamed22(core.List o) { +void checkUnnamed23(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCluster(o[0]); checkCluster(o[1]); } -core.List buildUnnamed23() => [ +core.List buildUnnamed24() => [ 'foo', 'foo', ]; -void checkUnnamed23(core.List o) { +void checkUnnamed24(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1384,9 +1458,9 @@ api.ListClustersResponse buildListClustersResponse() { final o = api.ListClustersResponse(); buildCounterListClustersResponse++; if (buildCounterListClustersResponse < 3) { - o.clusters = buildUnnamed22(); + o.clusters = buildUnnamed23(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed23(); + o.unreachable = buildUnnamed24(); } buildCounterListClustersResponse--; return o; @@ -1395,33 +1469,33 @@ api.ListClustersResponse buildListClustersResponse() { void checkListClustersResponse(api.ListClustersResponse o) { buildCounterListClustersResponse++; if (buildCounterListClustersResponse < 3) { - checkUnnamed22(o.clusters!); + checkUnnamed23(o.clusters!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed23(o.unreachable!); + checkUnnamed24(o.unreachable!); } buildCounterListClustersResponse--; } -core.List buildUnnamed24() => [ +core.List buildUnnamed25() => [ buildInstance(), buildInstance(), ]; -void checkUnnamed24(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstance(o[0]); checkInstance(o[1]); } -core.List buildUnnamed25() => [ +core.List buildUnnamed26() => [ 'foo', 'foo', ]; -void checkUnnamed25(core.List o) { +void checkUnnamed26(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1438,9 +1512,9 @@ api.ListInstancesResponse buildListInstancesResponse() { final o = api.ListInstancesResponse(); buildCounterListInstancesResponse++; if (buildCounterListInstancesResponse < 3) { - o.instances = buildUnnamed24(); + o.instances = buildUnnamed25(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed25(); + o.unreachable = buildUnnamed26(); } buildCounterListInstancesResponse--; return o; @@ -1449,22 +1523,22 @@ api.ListInstancesResponse buildListInstancesResponse() { void checkListInstancesResponse(api.ListInstancesResponse o) { buildCounterListInstancesResponse++; if (buildCounterListInstancesResponse < 3) { - checkUnnamed24(o.instances!); + checkUnnamed25(o.instances!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed25(o.unreachable!); + checkUnnamed26(o.unreachable!); } buildCounterListInstancesResponse--; } -core.List buildUnnamed26() => [ +core.List buildUnnamed27() => [ buildLocation(), buildLocation(), ]; -void checkUnnamed26(core.List o) { +void checkUnnamed27(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLocation(o[0]); checkLocation(o[1]); @@ -1475,7 +1549,7 @@ api.ListLocationsResponse buildListLocationsResponse() { final o = api.ListLocationsResponse(); buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - o.locations = buildUnnamed26(); + o.locations = buildUnnamed27(); o.nextPageToken = 'foo'; } buildCounterListLocationsResponse--; @@ -1485,7 +1559,7 @@ api.ListLocationsResponse buildListLocationsResponse() { void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - checkUnnamed26(o.locations!); + checkUnnamed27(o.locations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -1494,12 +1568,12 @@ void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse--; } -core.List buildUnnamed27() => [ +core.List buildUnnamed28() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed27(core.List o) { +void checkUnnamed28(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -1511,7 +1585,7 @@ api.ListOperationsResponse buildListOperationsResponse() { buildCounterListOperationsResponse++; if (buildCounterListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed27(); + o.operations = buildUnnamed28(); } buildCounterListOperationsResponse--; return o; @@ -1524,17 +1598,17 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed27(o.operations!); + checkUnnamed28(o.operations!); } buildCounterListOperationsResponse--; } -core.Map buildUnnamed28() => { +core.Map buildUnnamed29() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed28(core.Map o) { +void checkUnnamed29(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1546,7 +1620,7 @@ void checkUnnamed28(core.Map o) { ); } -core.Map buildUnnamed29() => { +core.Map buildUnnamed30() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1559,7 +1633,7 @@ core.Map buildUnnamed29() => { }, }; -void checkUnnamed29(core.Map o) { +void checkUnnamed30(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -1597,9 +1671,9 @@ api.Location buildLocation() { buildCounterLocation++; if (buildCounterLocation < 3) { o.displayName = 'foo'; - o.labels = buildUnnamed28(); + o.labels = buildUnnamed29(); o.locationId = 'foo'; - o.metadata = buildUnnamed29(); + o.metadata = buildUnnamed30(); o.name = 'foo'; } buildCounterLocation--; @@ -1613,12 +1687,12 @@ void checkLocation(api.Location o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed28(o.labels!); + checkUnnamed29(o.labels!); unittest.expect( o.locationId!, unittest.equals('foo'), ); - checkUnnamed29(o.metadata!); + checkUnnamed30(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), @@ -1627,12 +1701,12 @@ void checkLocation(api.Location o) { buildCounterLocation--; } -core.List buildUnnamed30() => [ +core.List buildUnnamed31() => [ buildWeeklyMaintenanceWindow(), buildWeeklyMaintenanceWindow(), ]; -void checkUnnamed30(core.List o) { +void checkUnnamed31(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWeeklyMaintenanceWindow(o[0]); checkWeeklyMaintenanceWindow(o[1]); @@ -1646,7 +1720,7 @@ api.MaintenancePolicy buildMaintenancePolicy() { o.createTime = 'foo'; o.description = 'foo'; o.updateTime = 'foo'; - o.weeklyMaintenanceWindow = buildUnnamed30(); + o.weeklyMaintenanceWindow = buildUnnamed31(); } buildCounterMaintenancePolicy--; return o; @@ -1667,7 +1741,7 @@ void checkMaintenancePolicy(api.MaintenancePolicy o) { o.updateTime!, unittest.equals('foo'), ); - checkUnnamed30(o.weeklyMaintenanceWindow!); + checkUnnamed31(o.weeklyMaintenanceWindow!); } buildCounterMaintenancePolicy--; } @@ -1728,12 +1802,12 @@ void checkManagedBackupSource(api.ManagedBackupSource o) { buildCounterManagedBackupSource--; } -core.List buildUnnamed31() => [ +core.List buildUnnamed32() => [ buildCertChain(), buildCertChain(), ]; -void checkUnnamed31(core.List o) { +void checkUnnamed32(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCertChain(o[0]); checkCertChain(o[1]); @@ -1744,7 +1818,7 @@ api.ManagedCertificateAuthority buildManagedCertificateAuthority() { final o = api.ManagedCertificateAuthority(); buildCounterManagedCertificateAuthority++; if (buildCounterManagedCertificateAuthority < 3) { - o.caCerts = buildUnnamed31(); + o.caCerts = buildUnnamed32(); } buildCounterManagedCertificateAuthority--; return o; @@ -1753,17 +1827,17 @@ api.ManagedCertificateAuthority buildManagedCertificateAuthority() { void checkManagedCertificateAuthority(api.ManagedCertificateAuthority o) { buildCounterManagedCertificateAuthority++; if (buildCounterManagedCertificateAuthority < 3) { - checkUnnamed31(o.caCerts!); + checkUnnamed32(o.caCerts!); } buildCounterManagedCertificateAuthority--; } -core.List buildUnnamed32() => [ +core.List buildUnnamed33() => [ buildRemoteCluster(), buildRemoteCluster(), ]; -void checkUnnamed32(core.List o) { +void checkUnnamed33(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRemoteCluster(o[0]); checkRemoteCluster(o[1]); @@ -1775,7 +1849,7 @@ api.Membership buildMembership() { buildCounterMembership++; if (buildCounterMembership < 3) { o.primaryCluster = buildRemoteCluster(); - o.secondaryClusters = buildUnnamed32(); + o.secondaryClusters = buildUnnamed33(); } buildCounterMembership--; return o; @@ -1785,7 +1859,7 @@ void checkMembership(api.Membership o) { buildCounterMembership++; if (buildCounterMembership < 3) { checkRemoteCluster(o.primaryCluster!); - checkUnnamed32(o.secondaryClusters!); + checkUnnamed33(o.secondaryClusters!); } buildCounterMembership--; } @@ -1817,7 +1891,7 @@ void checkNodeInfo(api.NodeInfo o) { buildCounterNodeInfo--; } -core.Map buildUnnamed33() => { +core.Map buildUnnamed34() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1830,7 +1904,7 @@ core.Map buildUnnamed33() => { }, }; -void checkUnnamed33(core.Map o) { +void checkUnnamed34(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -1862,7 +1936,7 @@ void checkUnnamed33(core.Map o) { ); } -core.Map buildUnnamed34() => { +core.Map buildUnnamed35() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1875,7 +1949,7 @@ core.Map buildUnnamed34() => { }, }; -void checkUnnamed34(core.Map o) { +void checkUnnamed35(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -1914,9 +1988,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed33(); + o.metadata = buildUnnamed34(); o.name = 'foo'; - o.response = buildUnnamed34(); + o.response = buildUnnamed35(); } buildCounterOperation--; return o; @@ -1927,12 +2001,12 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed33(o.metadata!); + checkUnnamed34(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed34(o.response!); + checkUnnamed35(o.response!); } buildCounterOperation--; } @@ -2081,6 +2155,7 @@ api.PscConnection buildPscConnection() { o.connectionType = 'foo'; o.forwardingRule = 'foo'; o.network = 'foo'; + o.port = 42; o.projectId = 'foo'; o.pscConnectionId = 'foo'; o.pscConnectionStatus = 'foo'; @@ -2109,6 +2184,10 @@ void checkPscConnection(api.PscConnection o) { o.network!, unittest.equals('foo'), ); + unittest.expect( + o.port!, + unittest.equals(42), + ); unittest.expect( o.projectId!, unittest.equals('foo'), @@ -2285,7 +2364,7 @@ void checkStateInfo(api.StateInfo o) { buildCounterStateInfo--; } -core.Map buildUnnamed35() => { +core.Map buildUnnamed36() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2298,7 +2377,7 @@ core.Map buildUnnamed35() => { }, }; -void checkUnnamed35(core.Map o) { +void checkUnnamed36(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -2330,15 +2409,15 @@ void checkUnnamed35(core.Map o) { ); } -core.List> buildUnnamed36() => [ - buildUnnamed35(), - buildUnnamed35(), +core.List> buildUnnamed37() => [ + buildUnnamed36(), + buildUnnamed36(), ]; -void checkUnnamed36(core.List> o) { +void checkUnnamed37(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed35(o[0]); - checkUnnamed35(o[1]); + checkUnnamed36(o[0]); + checkUnnamed36(o[1]); } core.int buildCounterStatus = 0; @@ -2347,7 +2426,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed36(); + o.details = buildUnnamed37(); o.message = 'foo'; } buildCounterStatus--; @@ -2361,7 +2440,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed36(o.details!); + checkUnnamed37(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -2454,6 +2533,7 @@ api.UpdateInfo buildUpdateInfo() { final o = api.UpdateInfo(); buildCounterUpdateInfo++; if (buildCounterUpdateInfo < 3) { + o.targetNodeType = 'foo'; o.targetReplicaCount = 42; o.targetShardCount = 42; } @@ -2464,6 +2544,10 @@ api.UpdateInfo buildUpdateInfo() { void checkUpdateInfo(api.UpdateInfo o) { buildCounterUpdateInfo++; if (buildCounterUpdateInfo < 3) { + unittest.expect( + o.targetNodeType!, + unittest.equals('foo'), + ); unittest.expect( o.targetReplicaCount!, unittest.equals(42), @@ -2735,6 +2819,16 @@ void main() { }); }); + unittest.group('obj-schema-EncryptionInfo', () { + unittest.test('to-json--from-json', () async { + final o = buildEncryptionInfo(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.EncryptionInfo.fromJson( + oJson as core.Map); + checkEncryptionInfo(od); + }); + }); + unittest.group('obj-schema-ExportBackupRequest', () { unittest.test('to-json--from-json', () async { final o = buildExportBackupRequest(); diff --git a/generated/googleapis/test/resourcesettings/v1_test.dart b/generated/googleapis/test/resourcesettings/v1_test.dart deleted file mode 100644 index d980fadf3..000000000 --- a/generated/googleapis/test/resourcesettings/v1_test.dart +++ /dev/null @@ -1,932 +0,0 @@ -// ignore_for_file: camel_case_types -// ignore_for_file: comment_references -// ignore_for_file: deprecated_member_use_from_same_package -// ignore_for_file: doc_directive_unknown -// ignore_for_file: lines_longer_than_80_chars -// ignore_for_file: non_constant_identifier_names -// ignore_for_file: prefer_const_declarations -// ignore_for_file: prefer_expression_function_bodies -// ignore_for_file: prefer_final_locals -// ignore_for_file: prefer_interpolation_to_compose_strings -// ignore_for_file: unintended_html_in_doc_comment -// ignore_for_file: unnecessary_brace_in_string_interps -// ignore_for_file: unnecessary_cast -// ignore_for_file: unnecessary_lambdas -// ignore_for_file: unnecessary_string_interpolations -// ignore_for_file: unreachable_from_main -// ignore_for_file: unused_local_variable - -import 'dart:async' as async; -import 'dart:convert' as convert; -import 'dart:core' as core; - -import 'package:googleapis/resourcesettings/v1.dart' as api; -import 'package:http/http.dart' as http; -import 'package:test/test.dart' as unittest; - -import '../test_shared.dart'; - -core.List buildUnnamed0() => [ - buildGoogleCloudResourcesettingsV1Setting(), - buildGoogleCloudResourcesettingsV1Setting(), - ]; - -void checkUnnamed0(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - checkGoogleCloudResourcesettingsV1Setting(o[0]); - checkGoogleCloudResourcesettingsV1Setting(o[1]); -} - -core.int buildCounterGoogleCloudResourcesettingsV1ListSettingsResponse = 0; -api.GoogleCloudResourcesettingsV1ListSettingsResponse - buildGoogleCloudResourcesettingsV1ListSettingsResponse() { - final o = api.GoogleCloudResourcesettingsV1ListSettingsResponse(); - buildCounterGoogleCloudResourcesettingsV1ListSettingsResponse++; - if (buildCounterGoogleCloudResourcesettingsV1ListSettingsResponse < 3) { - o.nextPageToken = 'foo'; - o.settings = buildUnnamed0(); - } - buildCounterGoogleCloudResourcesettingsV1ListSettingsResponse--; - return o; -} - -void checkGoogleCloudResourcesettingsV1ListSettingsResponse( - api.GoogleCloudResourcesettingsV1ListSettingsResponse o) { - buildCounterGoogleCloudResourcesettingsV1ListSettingsResponse++; - if (buildCounterGoogleCloudResourcesettingsV1ListSettingsResponse < 3) { - unittest.expect( - o.nextPageToken!, - unittest.equals('foo'), - ); - checkUnnamed0(o.settings!); - } - buildCounterGoogleCloudResourcesettingsV1ListSettingsResponse--; -} - -core.int buildCounterGoogleCloudResourcesettingsV1Setting = 0; -api.GoogleCloudResourcesettingsV1Setting - buildGoogleCloudResourcesettingsV1Setting() { - final o = api.GoogleCloudResourcesettingsV1Setting(); - buildCounterGoogleCloudResourcesettingsV1Setting++; - if (buildCounterGoogleCloudResourcesettingsV1Setting < 3) { - o.effectiveValue = buildGoogleCloudResourcesettingsV1Value(); - o.etag = 'foo'; - o.localValue = buildGoogleCloudResourcesettingsV1Value(); - o.metadata = buildGoogleCloudResourcesettingsV1SettingMetadata(); - o.name = 'foo'; - } - buildCounterGoogleCloudResourcesettingsV1Setting--; - return o; -} - -void checkGoogleCloudResourcesettingsV1Setting( - api.GoogleCloudResourcesettingsV1Setting o) { - buildCounterGoogleCloudResourcesettingsV1Setting++; - if (buildCounterGoogleCloudResourcesettingsV1Setting < 3) { - checkGoogleCloudResourcesettingsV1Value(o.effectiveValue!); - unittest.expect( - o.etag!, - unittest.equals('foo'), - ); - checkGoogleCloudResourcesettingsV1Value(o.localValue!); - checkGoogleCloudResourcesettingsV1SettingMetadata(o.metadata!); - unittest.expect( - o.name!, - unittest.equals('foo'), - ); - } - buildCounterGoogleCloudResourcesettingsV1Setting--; -} - -core.int buildCounterGoogleCloudResourcesettingsV1SettingMetadata = 0; -api.GoogleCloudResourcesettingsV1SettingMetadata - buildGoogleCloudResourcesettingsV1SettingMetadata() { - final o = api.GoogleCloudResourcesettingsV1SettingMetadata(); - buildCounterGoogleCloudResourcesettingsV1SettingMetadata++; - if (buildCounterGoogleCloudResourcesettingsV1SettingMetadata < 3) { - o.dataType = 'foo'; - o.defaultValue = buildGoogleCloudResourcesettingsV1Value(); - o.description = 'foo'; - o.displayName = 'foo'; - o.readOnly = true; - } - buildCounterGoogleCloudResourcesettingsV1SettingMetadata--; - return o; -} - -void checkGoogleCloudResourcesettingsV1SettingMetadata( - api.GoogleCloudResourcesettingsV1SettingMetadata o) { - buildCounterGoogleCloudResourcesettingsV1SettingMetadata++; - if (buildCounterGoogleCloudResourcesettingsV1SettingMetadata < 3) { - unittest.expect( - o.dataType!, - unittest.equals('foo'), - ); - checkGoogleCloudResourcesettingsV1Value(o.defaultValue!); - unittest.expect( - o.description!, - unittest.equals('foo'), - ); - unittest.expect( - o.displayName!, - unittest.equals('foo'), - ); - unittest.expect(o.readOnly!, unittest.isTrue); - } - buildCounterGoogleCloudResourcesettingsV1SettingMetadata--; -} - -core.int buildCounterGoogleCloudResourcesettingsV1Value = 0; -api.GoogleCloudResourcesettingsV1Value - buildGoogleCloudResourcesettingsV1Value() { - final o = api.GoogleCloudResourcesettingsV1Value(); - buildCounterGoogleCloudResourcesettingsV1Value++; - if (buildCounterGoogleCloudResourcesettingsV1Value < 3) { - o.booleanValue = true; - o.durationValue = 'foo'; - o.enumValue = buildGoogleCloudResourcesettingsV1ValueEnumValue(); - o.stringMapValue = buildGoogleCloudResourcesettingsV1ValueStringMap(); - o.stringSetValue = buildGoogleCloudResourcesettingsV1ValueStringSet(); - o.stringValue = 'foo'; - } - buildCounterGoogleCloudResourcesettingsV1Value--; - return o; -} - -void checkGoogleCloudResourcesettingsV1Value( - api.GoogleCloudResourcesettingsV1Value o) { - buildCounterGoogleCloudResourcesettingsV1Value++; - if (buildCounterGoogleCloudResourcesettingsV1Value < 3) { - unittest.expect(o.booleanValue!, unittest.isTrue); - unittest.expect( - o.durationValue!, - unittest.equals('foo'), - ); - checkGoogleCloudResourcesettingsV1ValueEnumValue(o.enumValue!); - checkGoogleCloudResourcesettingsV1ValueStringMap(o.stringMapValue!); - checkGoogleCloudResourcesettingsV1ValueStringSet(o.stringSetValue!); - unittest.expect( - o.stringValue!, - unittest.equals('foo'), - ); - } - buildCounterGoogleCloudResourcesettingsV1Value--; -} - -core.int buildCounterGoogleCloudResourcesettingsV1ValueEnumValue = 0; -api.GoogleCloudResourcesettingsV1ValueEnumValue - buildGoogleCloudResourcesettingsV1ValueEnumValue() { - final o = api.GoogleCloudResourcesettingsV1ValueEnumValue(); - buildCounterGoogleCloudResourcesettingsV1ValueEnumValue++; - if (buildCounterGoogleCloudResourcesettingsV1ValueEnumValue < 3) { - o.value = 'foo'; - } - buildCounterGoogleCloudResourcesettingsV1ValueEnumValue--; - return o; -} - -void checkGoogleCloudResourcesettingsV1ValueEnumValue( - api.GoogleCloudResourcesettingsV1ValueEnumValue o) { - buildCounterGoogleCloudResourcesettingsV1ValueEnumValue++; - if (buildCounterGoogleCloudResourcesettingsV1ValueEnumValue < 3) { - unittest.expect( - o.value!, - unittest.equals('foo'), - ); - } - buildCounterGoogleCloudResourcesettingsV1ValueEnumValue--; -} - -core.Map buildUnnamed1() => { - 'x': 'foo', - 'y': 'foo', - }; - -void checkUnnamed1(core.Map o) { - unittest.expect(o, unittest.hasLength(2)); - unittest.expect( - o['x']!, - unittest.equals('foo'), - ); - unittest.expect( - o['y']!, - unittest.equals('foo'), - ); -} - -core.int buildCounterGoogleCloudResourcesettingsV1ValueStringMap = 0; -api.GoogleCloudResourcesettingsV1ValueStringMap - buildGoogleCloudResourcesettingsV1ValueStringMap() { - final o = api.GoogleCloudResourcesettingsV1ValueStringMap(); - buildCounterGoogleCloudResourcesettingsV1ValueStringMap++; - if (buildCounterGoogleCloudResourcesettingsV1ValueStringMap < 3) { - o.mappings = buildUnnamed1(); - } - buildCounterGoogleCloudResourcesettingsV1ValueStringMap--; - return o; -} - -void checkGoogleCloudResourcesettingsV1ValueStringMap( - api.GoogleCloudResourcesettingsV1ValueStringMap o) { - buildCounterGoogleCloudResourcesettingsV1ValueStringMap++; - if (buildCounterGoogleCloudResourcesettingsV1ValueStringMap < 3) { - checkUnnamed1(o.mappings!); - } - buildCounterGoogleCloudResourcesettingsV1ValueStringMap--; -} - -core.List buildUnnamed2() => [ - 'foo', - 'foo', - ]; - -void checkUnnamed2(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - unittest.expect( - o[0], - unittest.equals('foo'), - ); - unittest.expect( - o[1], - unittest.equals('foo'), - ); -} - -core.int buildCounterGoogleCloudResourcesettingsV1ValueStringSet = 0; -api.GoogleCloudResourcesettingsV1ValueStringSet - buildGoogleCloudResourcesettingsV1ValueStringSet() { - final o = api.GoogleCloudResourcesettingsV1ValueStringSet(); - buildCounterGoogleCloudResourcesettingsV1ValueStringSet++; - if (buildCounterGoogleCloudResourcesettingsV1ValueStringSet < 3) { - o.values = buildUnnamed2(); - } - buildCounterGoogleCloudResourcesettingsV1ValueStringSet--; - return o; -} - -void checkGoogleCloudResourcesettingsV1ValueStringSet( - api.GoogleCloudResourcesettingsV1ValueStringSet o) { - buildCounterGoogleCloudResourcesettingsV1ValueStringSet++; - if (buildCounterGoogleCloudResourcesettingsV1ValueStringSet < 3) { - checkUnnamed2(o.values!); - } - buildCounterGoogleCloudResourcesettingsV1ValueStringSet--; -} - -void main() { - unittest.group('obj-schema-GoogleCloudResourcesettingsV1ListSettingsResponse', - () { - unittest.test('to-json--from-json', () async { - final o = buildGoogleCloudResourcesettingsV1ListSettingsResponse(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.GoogleCloudResourcesettingsV1ListSettingsResponse.fromJson( - oJson as core.Map); - checkGoogleCloudResourcesettingsV1ListSettingsResponse(od); - }); - }); - - unittest.group('obj-schema-GoogleCloudResourcesettingsV1Setting', () { - unittest.test('to-json--from-json', () async { - final o = buildGoogleCloudResourcesettingsV1Setting(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.GoogleCloudResourcesettingsV1Setting.fromJson( - oJson as core.Map); - checkGoogleCloudResourcesettingsV1Setting(od); - }); - }); - - unittest.group('obj-schema-GoogleCloudResourcesettingsV1SettingMetadata', () { - unittest.test('to-json--from-json', () async { - final o = buildGoogleCloudResourcesettingsV1SettingMetadata(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.GoogleCloudResourcesettingsV1SettingMetadata.fromJson( - oJson as core.Map); - checkGoogleCloudResourcesettingsV1SettingMetadata(od); - }); - }); - - unittest.group('obj-schema-GoogleCloudResourcesettingsV1Value', () { - unittest.test('to-json--from-json', () async { - final o = buildGoogleCloudResourcesettingsV1Value(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.GoogleCloudResourcesettingsV1Value.fromJson( - oJson as core.Map); - checkGoogleCloudResourcesettingsV1Value(od); - }); - }); - - unittest.group('obj-schema-GoogleCloudResourcesettingsV1ValueEnumValue', () { - unittest.test('to-json--from-json', () async { - final o = buildGoogleCloudResourcesettingsV1ValueEnumValue(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.GoogleCloudResourcesettingsV1ValueEnumValue.fromJson( - oJson as core.Map); - checkGoogleCloudResourcesettingsV1ValueEnumValue(od); - }); - }); - - unittest.group('obj-schema-GoogleCloudResourcesettingsV1ValueStringMap', () { - unittest.test('to-json--from-json', () async { - final o = buildGoogleCloudResourcesettingsV1ValueStringMap(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.GoogleCloudResourcesettingsV1ValueStringMap.fromJson( - oJson as core.Map); - checkGoogleCloudResourcesettingsV1ValueStringMap(od); - }); - }); - - unittest.group('obj-schema-GoogleCloudResourcesettingsV1ValueStringSet', () { - unittest.test('to-json--from-json', () async { - final o = buildGoogleCloudResourcesettingsV1ValueStringSet(); - final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.GoogleCloudResourcesettingsV1ValueStringSet.fromJson( - oJson as core.Map); - checkGoogleCloudResourcesettingsV1ValueStringSet(od); - }); - }); - - unittest.group('resource-FoldersSettingsResource', () { - unittest.test('method--get', () async { - final mock = HttpServerMock(); - final res = api.ResourceSettingsApi(mock).folders.settings; - final arg_name = 'foo'; - final arg_view = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 3), - unittest.equals('v1/'), - ); - pathOffset += 3; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['view']!.first, - unittest.equals(arg_view), - ); - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = - convert.json.encode(buildGoogleCloudResourcesettingsV1Setting()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = - await res.get(arg_name, view: arg_view, $fields: arg_$fields); - checkGoogleCloudResourcesettingsV1Setting( - response as api.GoogleCloudResourcesettingsV1Setting); - }); - - unittest.test('method--list', () async { - final mock = HttpServerMock(); - final res = api.ResourceSettingsApi(mock).folders.settings; - final arg_parent = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; - final arg_view = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 3), - unittest.equals('v1/'), - ); - pathOffset += 3; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['view']!.first, - unittest.equals(arg_view), - ); - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json - .encode(buildGoogleCloudResourcesettingsV1ListSettingsResponse()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.list(arg_parent, - pageSize: arg_pageSize, - pageToken: arg_pageToken, - view: arg_view, - $fields: arg_$fields); - checkGoogleCloudResourcesettingsV1ListSettingsResponse( - response as api.GoogleCloudResourcesettingsV1ListSettingsResponse); - }); - - unittest.test('method--patch', () async { - final mock = HttpServerMock(); - final res = api.ResourceSettingsApi(mock).folders.settings; - final arg_request = buildGoogleCloudResourcesettingsV1Setting(); - final arg_name = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudResourcesettingsV1Setting.fromJson( - json as core.Map); - checkGoogleCloudResourcesettingsV1Setting(obj); - - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 3), - unittest.equals('v1/'), - ); - pathOffset += 3; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = - convert.json.encode(buildGoogleCloudResourcesettingsV1Setting()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = - await res.patch(arg_request, arg_name, $fields: arg_$fields); - checkGoogleCloudResourcesettingsV1Setting( - response as api.GoogleCloudResourcesettingsV1Setting); - }); - }); - - unittest.group('resource-OrganizationsSettingsResource', () { - unittest.test('method--get', () async { - final mock = HttpServerMock(); - final res = api.ResourceSettingsApi(mock).organizations.settings; - final arg_name = 'foo'; - final arg_view = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 3), - unittest.equals('v1/'), - ); - pathOffset += 3; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['view']!.first, - unittest.equals(arg_view), - ); - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = - convert.json.encode(buildGoogleCloudResourcesettingsV1Setting()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = - await res.get(arg_name, view: arg_view, $fields: arg_$fields); - checkGoogleCloudResourcesettingsV1Setting( - response as api.GoogleCloudResourcesettingsV1Setting); - }); - - unittest.test('method--list', () async { - final mock = HttpServerMock(); - final res = api.ResourceSettingsApi(mock).organizations.settings; - final arg_parent = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; - final arg_view = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 3), - unittest.equals('v1/'), - ); - pathOffset += 3; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['view']!.first, - unittest.equals(arg_view), - ); - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json - .encode(buildGoogleCloudResourcesettingsV1ListSettingsResponse()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.list(arg_parent, - pageSize: arg_pageSize, - pageToken: arg_pageToken, - view: arg_view, - $fields: arg_$fields); - checkGoogleCloudResourcesettingsV1ListSettingsResponse( - response as api.GoogleCloudResourcesettingsV1ListSettingsResponse); - }); - - unittest.test('method--patch', () async { - final mock = HttpServerMock(); - final res = api.ResourceSettingsApi(mock).organizations.settings; - final arg_request = buildGoogleCloudResourcesettingsV1Setting(); - final arg_name = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudResourcesettingsV1Setting.fromJson( - json as core.Map); - checkGoogleCloudResourcesettingsV1Setting(obj); - - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 3), - unittest.equals('v1/'), - ); - pathOffset += 3; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = - convert.json.encode(buildGoogleCloudResourcesettingsV1Setting()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = - await res.patch(arg_request, arg_name, $fields: arg_$fields); - checkGoogleCloudResourcesettingsV1Setting( - response as api.GoogleCloudResourcesettingsV1Setting); - }); - }); - - unittest.group('resource-ProjectsSettingsResource', () { - unittest.test('method--get', () async { - final mock = HttpServerMock(); - final res = api.ResourceSettingsApi(mock).projects.settings; - final arg_name = 'foo'; - final arg_view = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 3), - unittest.equals('v1/'), - ); - pathOffset += 3; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['view']!.first, - unittest.equals(arg_view), - ); - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = - convert.json.encode(buildGoogleCloudResourcesettingsV1Setting()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = - await res.get(arg_name, view: arg_view, $fields: arg_$fields); - checkGoogleCloudResourcesettingsV1Setting( - response as api.GoogleCloudResourcesettingsV1Setting); - }); - - unittest.test('method--list', () async { - final mock = HttpServerMock(); - final res = api.ResourceSettingsApi(mock).projects.settings; - final arg_parent = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; - final arg_view = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 3), - unittest.equals('v1/'), - ); - pathOffset += 3; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['view']!.first, - unittest.equals(arg_view), - ); - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = convert.json - .encode(buildGoogleCloudResourcesettingsV1ListSettingsResponse()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.list(arg_parent, - pageSize: arg_pageSize, - pageToken: arg_pageToken, - view: arg_view, - $fields: arg_$fields); - checkGoogleCloudResourcesettingsV1ListSettingsResponse( - response as api.GoogleCloudResourcesettingsV1ListSettingsResponse); - }); - - unittest.test('method--patch', () async { - final mock = HttpServerMock(); - final res = api.ResourceSettingsApi(mock).projects.settings; - final arg_request = buildGoogleCloudResourcesettingsV1Setting(); - final arg_name = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudResourcesettingsV1Setting.fromJson( - json as core.Map); - checkGoogleCloudResourcesettingsV1Setting(obj); - - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 3), - unittest.equals('v1/'), - ); - pathOffset += 3; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = - convert.json.encode(buildGoogleCloudResourcesettingsV1Setting()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = - await res.patch(arg_request, arg_name, $fields: arg_$fields); - checkGoogleCloudResourcesettingsV1Setting( - response as api.GoogleCloudResourcesettingsV1Setting); - }); - }); -} diff --git a/generated/googleapis/test/retail/v2_test.dart b/generated/googleapis/test/retail/v2_test.dart index f927eadeb..3591abbde 100644 --- a/generated/googleapis/test/retail/v2_test.dart +++ b/generated/googleapis/test/retail/v2_test.dart @@ -3809,6 +3809,7 @@ api.GoogleCloudRetailV2Rule buildGoogleCloudRetailV2Rule() { buildGoogleCloudRetailV2RuleForceReturnFacetAction(); o.ignoreAction = buildGoogleCloudRetailV2RuleIgnoreAction(); o.onewaySynonymsAction = buildGoogleCloudRetailV2RuleOnewaySynonymsAction(); + o.pinAction = buildGoogleCloudRetailV2RulePinAction(); o.redirectAction = buildGoogleCloudRetailV2RuleRedirectAction(); o.removeFacetAction = buildGoogleCloudRetailV2RuleRemoveFacetAction(); o.replacementAction = buildGoogleCloudRetailV2RuleReplacementAction(); @@ -3829,6 +3830,7 @@ void checkGoogleCloudRetailV2Rule(api.GoogleCloudRetailV2Rule o) { o.forceReturnFacetAction!); checkGoogleCloudRetailV2RuleIgnoreAction(o.ignoreAction!); checkGoogleCloudRetailV2RuleOnewaySynonymsAction(o.onewaySynonymsAction!); + checkGoogleCloudRetailV2RulePinAction(o.pinAction!); checkGoogleCloudRetailV2RuleRedirectAction(o.redirectAction!); checkGoogleCloudRetailV2RuleRemoveFacetAction(o.removeFacetAction!); checkGoogleCloudRetailV2RuleReplacementAction(o.replacementAction!); @@ -4156,6 +4158,43 @@ void checkGoogleCloudRetailV2RuleOnewaySynonymsAction( buildCounterGoogleCloudRetailV2RuleOnewaySynonymsAction--; } +core.Map buildUnnamed77() => { + 'x': 'foo', + 'y': 'foo', + }; + +void checkUnnamed77(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o['x']!, + unittest.equals('foo'), + ); + unittest.expect( + o['y']!, + unittest.equals('foo'), + ); +} + +core.int buildCounterGoogleCloudRetailV2RulePinAction = 0; +api.GoogleCloudRetailV2RulePinAction buildGoogleCloudRetailV2RulePinAction() { + final o = api.GoogleCloudRetailV2RulePinAction(); + buildCounterGoogleCloudRetailV2RulePinAction++; + if (buildCounterGoogleCloudRetailV2RulePinAction < 3) { + o.pinMap = buildUnnamed77(); + } + buildCounterGoogleCloudRetailV2RulePinAction--; + return o; +} + +void checkGoogleCloudRetailV2RulePinAction( + api.GoogleCloudRetailV2RulePinAction o) { + buildCounterGoogleCloudRetailV2RulePinAction++; + if (buildCounterGoogleCloudRetailV2RulePinAction < 3) { + checkUnnamed77(o.pinMap!); + } + buildCounterGoogleCloudRetailV2RulePinAction--; +} + core.int buildCounterGoogleCloudRetailV2RuleRedirectAction = 0; api.GoogleCloudRetailV2RuleRedirectAction buildGoogleCloudRetailV2RuleRedirectAction() { @@ -4180,12 +4219,12 @@ void checkGoogleCloudRetailV2RuleRedirectAction( buildCounterGoogleCloudRetailV2RuleRedirectAction--; } -core.List buildUnnamed77() => [ +core.List buildUnnamed78() => [ 'foo', 'foo', ]; -void checkUnnamed77(core.List o) { +void checkUnnamed78(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4203,7 +4242,7 @@ api.GoogleCloudRetailV2RuleRemoveFacetAction final o = api.GoogleCloudRetailV2RuleRemoveFacetAction(); buildCounterGoogleCloudRetailV2RuleRemoveFacetAction++; if (buildCounterGoogleCloudRetailV2RuleRemoveFacetAction < 3) { - o.attributeNames = buildUnnamed77(); + o.attributeNames = buildUnnamed78(); } buildCounterGoogleCloudRetailV2RuleRemoveFacetAction--; return o; @@ -4213,17 +4252,17 @@ void checkGoogleCloudRetailV2RuleRemoveFacetAction( api.GoogleCloudRetailV2RuleRemoveFacetAction o) { buildCounterGoogleCloudRetailV2RuleRemoveFacetAction++; if (buildCounterGoogleCloudRetailV2RuleRemoveFacetAction < 3) { - checkUnnamed77(o.attributeNames!); + checkUnnamed78(o.attributeNames!); } buildCounterGoogleCloudRetailV2RuleRemoveFacetAction--; } -core.List buildUnnamed78() => [ +core.List buildUnnamed79() => [ 'foo', 'foo', ]; -void checkUnnamed78(core.List o) { +void checkUnnamed79(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4241,7 +4280,7 @@ api.GoogleCloudRetailV2RuleReplacementAction final o = api.GoogleCloudRetailV2RuleReplacementAction(); buildCounterGoogleCloudRetailV2RuleReplacementAction++; if (buildCounterGoogleCloudRetailV2RuleReplacementAction < 3) { - o.queryTerms = buildUnnamed78(); + o.queryTerms = buildUnnamed79(); o.replacementTerm = 'foo'; o.term = 'foo'; } @@ -4253,7 +4292,7 @@ void checkGoogleCloudRetailV2RuleReplacementAction( api.GoogleCloudRetailV2RuleReplacementAction o) { buildCounterGoogleCloudRetailV2RuleReplacementAction++; if (buildCounterGoogleCloudRetailV2RuleReplacementAction < 3) { - checkUnnamed78(o.queryTerms!); + checkUnnamed79(o.queryTerms!); unittest.expect( o.replacementTerm!, unittest.equals('foo'), @@ -4266,12 +4305,12 @@ void checkGoogleCloudRetailV2RuleReplacementAction( buildCounterGoogleCloudRetailV2RuleReplacementAction--; } -core.List buildUnnamed79() => [ +core.List buildUnnamed80() => [ 'foo', 'foo', ]; -void checkUnnamed79(core.List o) { +void checkUnnamed80(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4289,7 +4328,7 @@ api.GoogleCloudRetailV2RuleTwowaySynonymsAction final o = api.GoogleCloudRetailV2RuleTwowaySynonymsAction(); buildCounterGoogleCloudRetailV2RuleTwowaySynonymsAction++; if (buildCounterGoogleCloudRetailV2RuleTwowaySynonymsAction < 3) { - o.synonyms = buildUnnamed79(); + o.synonyms = buildUnnamed80(); } buildCounterGoogleCloudRetailV2RuleTwowaySynonymsAction--; return o; @@ -4299,29 +4338,29 @@ void checkGoogleCloudRetailV2RuleTwowaySynonymsAction( api.GoogleCloudRetailV2RuleTwowaySynonymsAction o) { buildCounterGoogleCloudRetailV2RuleTwowaySynonymsAction++; if (buildCounterGoogleCloudRetailV2RuleTwowaySynonymsAction < 3) { - checkUnnamed79(o.synonyms!); + checkUnnamed80(o.synonyms!); } buildCounterGoogleCloudRetailV2RuleTwowaySynonymsAction--; } -core.List buildUnnamed80() => [ +core.List buildUnnamed81() => [ buildGoogleCloudRetailV2SearchRequestFacetSpec(), buildGoogleCloudRetailV2SearchRequestFacetSpec(), ]; -void checkUnnamed80( +void checkUnnamed81( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRetailV2SearchRequestFacetSpec(o[0]); checkGoogleCloudRetailV2SearchRequestFacetSpec(o[1]); } -core.Map buildUnnamed81() => { +core.Map buildUnnamed82() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed81(core.Map o) { +void checkUnnamed82(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4333,12 +4372,12 @@ void checkUnnamed81(core.Map o) { ); } -core.List buildUnnamed82() => [ +core.List buildUnnamed83() => [ 'foo', 'foo', ]; -void checkUnnamed82(core.List o) { +void checkUnnamed83(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4350,12 +4389,12 @@ void checkUnnamed82(core.List o) { ); } -core.List buildUnnamed83() => [ +core.List buildUnnamed84() => [ 'foo', 'foo', ]; -void checkUnnamed83(core.List o) { +void checkUnnamed84(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4380,12 +4419,13 @@ api.GoogleCloudRetailV2SearchRequest buildGoogleCloudRetailV2SearchRequest() { o.dynamicFacetSpec = buildGoogleCloudRetailV2SearchRequestDynamicFacetSpec(); o.entity = 'foo'; - o.facetSpecs = buildUnnamed80(); + o.facetSpecs = buildUnnamed81(); o.filter = 'foo'; - o.labels = buildUnnamed81(); + o.labels = buildUnnamed82(); + o.languageCode = 'foo'; o.offset = 42; o.orderBy = 'foo'; - o.pageCategories = buildUnnamed82(); + o.pageCategories = buildUnnamed83(); o.pageSize = 42; o.pageToken = 'foo'; o.personalizationSpec = @@ -4393,13 +4433,14 @@ api.GoogleCloudRetailV2SearchRequest buildGoogleCloudRetailV2SearchRequest() { o.query = 'foo'; o.queryExpansionSpec = buildGoogleCloudRetailV2SearchRequestQueryExpansionSpec(); + o.regionCode = 'foo'; o.searchMode = 'foo'; o.spellCorrectionSpec = buildGoogleCloudRetailV2SearchRequestSpellCorrectionSpec(); o.tileNavigationSpec = buildGoogleCloudRetailV2SearchRequestTileNavigationSpec(); o.userInfo = buildGoogleCloudRetailV2UserInfo(); - o.variantRollupKeys = buildUnnamed83(); + o.variantRollupKeys = buildUnnamed84(); o.visitorId = 'foo'; } buildCounterGoogleCloudRetailV2SearchRequest--; @@ -4426,12 +4467,16 @@ void checkGoogleCloudRetailV2SearchRequest( o.entity!, unittest.equals('foo'), ); - checkUnnamed80(o.facetSpecs!); + checkUnnamed81(o.facetSpecs!); unittest.expect( o.filter!, unittest.equals('foo'), ); - checkUnnamed81(o.labels!); + checkUnnamed82(o.labels!); + unittest.expect( + o.languageCode!, + unittest.equals('foo'), + ); unittest.expect( o.offset!, unittest.equals(42), @@ -4440,7 +4485,7 @@ void checkGoogleCloudRetailV2SearchRequest( o.orderBy!, unittest.equals('foo'), ); - checkUnnamed82(o.pageCategories!); + checkUnnamed83(o.pageCategories!); unittest.expect( o.pageSize!, unittest.equals(42), @@ -4457,6 +4502,10 @@ void checkGoogleCloudRetailV2SearchRequest( ); checkGoogleCloudRetailV2SearchRequestQueryExpansionSpec( o.queryExpansionSpec!); + unittest.expect( + o.regionCode!, + unittest.equals('foo'), + ); unittest.expect( o.searchMode!, unittest.equals('foo'), @@ -4466,7 +4515,7 @@ void checkGoogleCloudRetailV2SearchRequest( checkGoogleCloudRetailV2SearchRequestTileNavigationSpec( o.tileNavigationSpec!); checkGoogleCloudRetailV2UserInfo(o.userInfo!); - checkUnnamed83(o.variantRollupKeys!); + checkUnnamed84(o.variantRollupKeys!); unittest.expect( o.visitorId!, unittest.equals('foo'), @@ -4476,12 +4525,12 @@ void checkGoogleCloudRetailV2SearchRequest( } core.List - buildUnnamed84() => [ + buildUnnamed85() => [ buildGoogleCloudRetailV2SearchRequestBoostSpecConditionBoostSpec(), buildGoogleCloudRetailV2SearchRequestBoostSpecConditionBoostSpec(), ]; -void checkUnnamed84( +void checkUnnamed85( core.List o) { unittest.expect(o, unittest.hasLength(2)); @@ -4495,7 +4544,7 @@ api.GoogleCloudRetailV2SearchRequestBoostSpec final o = api.GoogleCloudRetailV2SearchRequestBoostSpec(); buildCounterGoogleCloudRetailV2SearchRequestBoostSpec++; if (buildCounterGoogleCloudRetailV2SearchRequestBoostSpec < 3) { - o.conditionBoostSpecs = buildUnnamed84(); + o.conditionBoostSpecs = buildUnnamed85(); o.skipBoostSpecValidation = true; } buildCounterGoogleCloudRetailV2SearchRequestBoostSpec--; @@ -4506,7 +4555,7 @@ void checkGoogleCloudRetailV2SearchRequestBoostSpec( api.GoogleCloudRetailV2SearchRequestBoostSpec o) { buildCounterGoogleCloudRetailV2SearchRequestBoostSpec++; if (buildCounterGoogleCloudRetailV2SearchRequestBoostSpec < 3) { - checkUnnamed84(o.conditionBoostSpecs!); + checkUnnamed85(o.conditionBoostSpecs!); unittest.expect(o.skipBoostSpecValidation!, unittest.isTrue); } buildCounterGoogleCloudRetailV2SearchRequestBoostSpec--; @@ -4610,12 +4659,12 @@ void checkGoogleCloudRetailV2SearchRequestConversationalSearchSpecUserAnswer( buildCounterGoogleCloudRetailV2SearchRequestConversationalSearchSpecUserAnswer--; } -core.List buildUnnamed85() => [ +core.List buildUnnamed86() => [ buildGoogleCloudRetailV2ProductAttributeValue(), buildGoogleCloudRetailV2ProductAttributeValue(), ]; -void checkUnnamed85(core.List o) { +void checkUnnamed86(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRetailV2ProductAttributeValue(o[0]); checkGoogleCloudRetailV2ProductAttributeValue(o[1]); @@ -4632,7 +4681,7 @@ api.GoogleCloudRetailV2SearchRequestConversationalSearchSpecUserAnswerSelectedAn if (buildCounterGoogleCloudRetailV2SearchRequestConversationalSearchSpecUserAnswerSelectedAnswer < 3) { o.productAttributeValue = buildGoogleCloudRetailV2ProductAttributeValue(); - o.productAttributeValues = buildUnnamed85(); + o.productAttributeValues = buildUnnamed86(); } buildCounterGoogleCloudRetailV2SearchRequestConversationalSearchSpecUserAnswerSelectedAnswer--; return o; @@ -4645,7 +4694,7 @@ void checkGoogleCloudRetailV2SearchRequestConversationalSearchSpecUserAnswerSele if (buildCounterGoogleCloudRetailV2SearchRequestConversationalSearchSpecUserAnswerSelectedAnswer < 3) { checkGoogleCloudRetailV2ProductAttributeValue(o.productAttributeValue!); - checkUnnamed85(o.productAttributeValues!); + checkUnnamed86(o.productAttributeValues!); } buildCounterGoogleCloudRetailV2SearchRequestConversationalSearchSpecUserAnswerSelectedAnswer--; } @@ -4674,12 +4723,12 @@ void checkGoogleCloudRetailV2SearchRequestDynamicFacetSpec( buildCounterGoogleCloudRetailV2SearchRequestDynamicFacetSpec--; } -core.List buildUnnamed86() => [ +core.List buildUnnamed87() => [ 'foo', 'foo', ]; -void checkUnnamed86(core.List o) { +void checkUnnamed87(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4698,7 +4747,7 @@ api.GoogleCloudRetailV2SearchRequestFacetSpec buildCounterGoogleCloudRetailV2SearchRequestFacetSpec++; if (buildCounterGoogleCloudRetailV2SearchRequestFacetSpec < 3) { o.enableDynamicPosition = true; - o.excludedFilterKeys = buildUnnamed86(); + o.excludedFilterKeys = buildUnnamed87(); o.facetKey = buildGoogleCloudRetailV2SearchRequestFacetSpecFacetKey(); o.limit = 42; } @@ -4711,7 +4760,7 @@ void checkGoogleCloudRetailV2SearchRequestFacetSpec( buildCounterGoogleCloudRetailV2SearchRequestFacetSpec++; if (buildCounterGoogleCloudRetailV2SearchRequestFacetSpec < 3) { unittest.expect(o.enableDynamicPosition!, unittest.isTrue); - checkUnnamed86(o.excludedFilterKeys!); + checkUnnamed87(o.excludedFilterKeys!); checkGoogleCloudRetailV2SearchRequestFacetSpecFacetKey(o.facetKey!); unittest.expect( o.limit!, @@ -4721,12 +4770,12 @@ void checkGoogleCloudRetailV2SearchRequestFacetSpec( buildCounterGoogleCloudRetailV2SearchRequestFacetSpec--; } -core.List buildUnnamed87() => [ +core.List buildUnnamed88() => [ 'foo', 'foo', ]; -void checkUnnamed87(core.List o) { +void checkUnnamed88(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4738,23 +4787,23 @@ void checkUnnamed87(core.List o) { ); } -core.List buildUnnamed88() => [ +core.List buildUnnamed89() => [ buildGoogleCloudRetailV2Interval(), buildGoogleCloudRetailV2Interval(), ]; -void checkUnnamed88(core.List o) { +void checkUnnamed89(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRetailV2Interval(o[0]); checkGoogleCloudRetailV2Interval(o[1]); } -core.List buildUnnamed89() => [ +core.List buildUnnamed90() => [ 'foo', 'foo', ]; -void checkUnnamed89(core.List o) { +void checkUnnamed90(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4766,12 +4815,12 @@ void checkUnnamed89(core.List o) { ); } -core.List buildUnnamed90() => [ +core.List buildUnnamed91() => [ 'foo', 'foo', ]; -void checkUnnamed90(core.List o) { +void checkUnnamed91(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4790,13 +4839,13 @@ api.GoogleCloudRetailV2SearchRequestFacetSpecFacetKey buildCounterGoogleCloudRetailV2SearchRequestFacetSpecFacetKey++; if (buildCounterGoogleCloudRetailV2SearchRequestFacetSpecFacetKey < 3) { o.caseInsensitive = true; - o.contains = buildUnnamed87(); - o.intervals = buildUnnamed88(); + o.contains = buildUnnamed88(); + o.intervals = buildUnnamed89(); o.key = 'foo'; o.orderBy = 'foo'; - o.prefixes = buildUnnamed89(); + o.prefixes = buildUnnamed90(); o.query = 'foo'; - o.restrictedValues = buildUnnamed90(); + o.restrictedValues = buildUnnamed91(); o.returnMinMax = true; } buildCounterGoogleCloudRetailV2SearchRequestFacetSpecFacetKey--; @@ -4808,8 +4857,8 @@ void checkGoogleCloudRetailV2SearchRequestFacetSpecFacetKey( buildCounterGoogleCloudRetailV2SearchRequestFacetSpecFacetKey++; if (buildCounterGoogleCloudRetailV2SearchRequestFacetSpecFacetKey < 3) { unittest.expect(o.caseInsensitive!, unittest.isTrue); - checkUnnamed87(o.contains!); - checkUnnamed88(o.intervals!); + checkUnnamed88(o.contains!); + checkUnnamed89(o.intervals!); unittest.expect( o.key!, unittest.equals('foo'), @@ -4818,12 +4867,12 @@ void checkGoogleCloudRetailV2SearchRequestFacetSpecFacetKey( o.orderBy!, unittest.equals('foo'), ); - checkUnnamed89(o.prefixes!); + checkUnnamed90(o.prefixes!); unittest.expect( o.query!, unittest.equals('foo'), ); - checkUnnamed90(o.restrictedValues!); + checkUnnamed91(o.restrictedValues!); unittest.expect(o.returnMinMax!, unittest.isTrue); } buildCounterGoogleCloudRetailV2SearchRequestFacetSpecFacetKey--; @@ -4903,12 +4952,12 @@ void checkGoogleCloudRetailV2SearchRequestSpellCorrectionSpec( buildCounterGoogleCloudRetailV2SearchRequestSpellCorrectionSpec--; } -core.List buildUnnamed91() => [ +core.List buildUnnamed92() => [ buildGoogleCloudRetailV2Tile(), buildGoogleCloudRetailV2Tile(), ]; -void checkUnnamed91(core.List o) { +void checkUnnamed92(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRetailV2Tile(o[0]); checkGoogleCloudRetailV2Tile(o[1]); @@ -4920,7 +4969,7 @@ api.GoogleCloudRetailV2SearchRequestTileNavigationSpec final o = api.GoogleCloudRetailV2SearchRequestTileNavigationSpec(); buildCounterGoogleCloudRetailV2SearchRequestTileNavigationSpec++; if (buildCounterGoogleCloudRetailV2SearchRequestTileNavigationSpec < 3) { - o.appliedTiles = buildUnnamed91(); + o.appliedTiles = buildUnnamed92(); o.tileNavigationRequested = true; } buildCounterGoogleCloudRetailV2SearchRequestTileNavigationSpec--; @@ -4931,18 +4980,18 @@ void checkGoogleCloudRetailV2SearchRequestTileNavigationSpec( api.GoogleCloudRetailV2SearchRequestTileNavigationSpec o) { buildCounterGoogleCloudRetailV2SearchRequestTileNavigationSpec++; if (buildCounterGoogleCloudRetailV2SearchRequestTileNavigationSpec < 3) { - checkUnnamed91(o.appliedTiles!); + checkUnnamed92(o.appliedTiles!); unittest.expect(o.tileNavigationRequested!, unittest.isTrue); } buildCounterGoogleCloudRetailV2SearchRequestTileNavigationSpec--; } -core.List buildUnnamed92() => [ +core.List buildUnnamed93() => [ 'foo', 'foo', ]; -void checkUnnamed92(core.List o) { +void checkUnnamed93(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4954,35 +5003,35 @@ void checkUnnamed92(core.List o) { ); } -core.List buildUnnamed93() => [ +core.List buildUnnamed94() => [ buildGoogleCloudRetailV2ExperimentInfo(), buildGoogleCloudRetailV2ExperimentInfo(), ]; -void checkUnnamed93(core.List o) { +void checkUnnamed94(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRetailV2ExperimentInfo(o[0]); checkGoogleCloudRetailV2ExperimentInfo(o[1]); } -core.List buildUnnamed94() => [ +core.List buildUnnamed95() => [ buildGoogleCloudRetailV2SearchResponseFacet(), buildGoogleCloudRetailV2SearchResponseFacet(), ]; -void checkUnnamed94(core.List o) { +void checkUnnamed95(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRetailV2SearchResponseFacet(o[0]); checkGoogleCloudRetailV2SearchResponseFacet(o[1]); } core.List - buildUnnamed95() => [ + buildUnnamed96() => [ buildGoogleCloudRetailV2SearchRequestBoostSpecConditionBoostSpec(), buildGoogleCloudRetailV2SearchRequestBoostSpecConditionBoostSpec(), ]; -void checkUnnamed95( +void checkUnnamed96( core.List o) { unittest.expect(o, unittest.hasLength(2)); @@ -4990,13 +5039,13 @@ void checkUnnamed95( checkGoogleCloudRetailV2SearchRequestBoostSpecConditionBoostSpec(o[1]); } -core.List buildUnnamed96() => +core.List buildUnnamed97() => [ buildGoogleCloudRetailV2SearchResponseSearchResult(), buildGoogleCloudRetailV2SearchResponseSearchResult(), ]; -void checkUnnamed96( +void checkUnnamed97( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRetailV2SearchResponseSearchResult(o[0]); @@ -5008,20 +5057,20 @@ api.GoogleCloudRetailV2SearchResponse buildGoogleCloudRetailV2SearchResponse() { final o = api.GoogleCloudRetailV2SearchResponse(); buildCounterGoogleCloudRetailV2SearchResponse++; if (buildCounterGoogleCloudRetailV2SearchResponse < 3) { - o.appliedControls = buildUnnamed92(); + o.appliedControls = buildUnnamed93(); o.attributionToken = 'foo'; o.conversationalSearchResult = buildGoogleCloudRetailV2SearchResponseConversationalSearchResult(); o.correctedQuery = 'foo'; - o.experimentInfo = buildUnnamed93(); - o.facets = buildUnnamed94(); - o.invalidConditionBoostSpecs = buildUnnamed95(); + o.experimentInfo = buildUnnamed94(); + o.facets = buildUnnamed95(); + o.invalidConditionBoostSpecs = buildUnnamed96(); o.nextPageToken = 'foo'; o.pinControlMetadata = buildGoogleCloudRetailV2PinControlMetadata(); o.queryExpansionInfo = buildGoogleCloudRetailV2SearchResponseQueryExpansionInfo(); o.redirectUri = 'foo'; - o.results = buildUnnamed96(); + o.results = buildUnnamed97(); o.tileNavigationResult = buildGoogleCloudRetailV2SearchResponseTileNavigationResult(); o.totalSize = 42; @@ -5034,7 +5083,7 @@ void checkGoogleCloudRetailV2SearchResponse( api.GoogleCloudRetailV2SearchResponse o) { buildCounterGoogleCloudRetailV2SearchResponse++; if (buildCounterGoogleCloudRetailV2SearchResponse < 3) { - checkUnnamed92(o.appliedControls!); + checkUnnamed93(o.appliedControls!); unittest.expect( o.attributionToken!, unittest.equals('foo'), @@ -5045,9 +5094,9 @@ void checkGoogleCloudRetailV2SearchResponse( o.correctedQuery!, unittest.equals('foo'), ); - checkUnnamed93(o.experimentInfo!); - checkUnnamed94(o.facets!); - checkUnnamed95(o.invalidConditionBoostSpecs!); + checkUnnamed94(o.experimentInfo!); + checkUnnamed95(o.facets!); + checkUnnamed96(o.invalidConditionBoostSpecs!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -5059,7 +5108,7 @@ void checkGoogleCloudRetailV2SearchResponse( o.redirectUri!, unittest.equals('foo'), ); - checkUnnamed96(o.results!); + checkUnnamed97(o.results!); checkGoogleCloudRetailV2SearchResponseTileNavigationResult( o.tileNavigationResult!); unittest.expect( @@ -5073,12 +5122,12 @@ void checkGoogleCloudRetailV2SearchResponse( core.List< api .GoogleCloudRetailV2SearchResponseConversationalSearchResultAdditionalFilter> - buildUnnamed97() => [ + buildUnnamed98() => [ buildGoogleCloudRetailV2SearchResponseConversationalSearchResultAdditionalFilter(), buildGoogleCloudRetailV2SearchResponseConversationalSearchResultAdditionalFilter(), ]; -void checkUnnamed97( +void checkUnnamed98( core.List< api .GoogleCloudRetailV2SearchResponseConversationalSearchResultAdditionalFilter> @@ -5093,12 +5142,12 @@ void checkUnnamed97( core.List< api .GoogleCloudRetailV2SearchResponseConversationalSearchResultSuggestedAnswer> - buildUnnamed98() => [ + buildUnnamed99() => [ buildGoogleCloudRetailV2SearchResponseConversationalSearchResultSuggestedAnswer(), buildGoogleCloudRetailV2SearchResponseConversationalSearchResultSuggestedAnswer(), ]; -void checkUnnamed98( +void checkUnnamed99( core.List< api .GoogleCloudRetailV2SearchResponseConversationalSearchResultSuggestedAnswer> @@ -5120,11 +5169,11 @@ api.GoogleCloudRetailV2SearchResponseConversationalSearchResult 3) { o.additionalFilter = buildGoogleCloudRetailV2SearchResponseConversationalSearchResultAdditionalFilter(); - o.additionalFilters = buildUnnamed97(); + o.additionalFilters = buildUnnamed98(); o.conversationId = 'foo'; o.followupQuestion = 'foo'; o.refinedQuery = 'foo'; - o.suggestedAnswers = buildUnnamed98(); + o.suggestedAnswers = buildUnnamed99(); } buildCounterGoogleCloudRetailV2SearchResponseConversationalSearchResult--; return o; @@ -5137,7 +5186,7 @@ void checkGoogleCloudRetailV2SearchResponseConversationalSearchResult( 3) { checkGoogleCloudRetailV2SearchResponseConversationalSearchResultAdditionalFilter( o.additionalFilter!); - checkUnnamed97(o.additionalFilters!); + checkUnnamed98(o.additionalFilters!); unittest.expect( o.conversationId!, unittest.equals('foo'), @@ -5150,7 +5199,7 @@ void checkGoogleCloudRetailV2SearchResponseConversationalSearchResult( o.refinedQuery!, unittest.equals('foo'), ); - checkUnnamed98(o.suggestedAnswers!); + checkUnnamed99(o.suggestedAnswers!); } buildCounterGoogleCloudRetailV2SearchResponseConversationalSearchResult--; } @@ -5210,12 +5259,12 @@ void checkGoogleCloudRetailV2SearchResponseConversationalSearchResultSuggestedAn } core.List - buildUnnamed99() => [ + buildUnnamed100() => [ buildGoogleCloudRetailV2SearchResponseFacetFacetValue(), buildGoogleCloudRetailV2SearchResponseFacetFacetValue(), ]; -void checkUnnamed99( +void checkUnnamed100( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRetailV2SearchResponseFacetFacetValue(o[0]); @@ -5230,7 +5279,7 @@ api.GoogleCloudRetailV2SearchResponseFacet if (buildCounterGoogleCloudRetailV2SearchResponseFacet < 3) { o.dynamicFacet = true; o.key = 'foo'; - o.values = buildUnnamed99(); + o.values = buildUnnamed100(); } buildCounterGoogleCloudRetailV2SearchResponseFacet--; return o; @@ -5245,7 +5294,7 @@ void checkGoogleCloudRetailV2SearchResponseFacet( o.key!, unittest.equals('foo'), ); - checkUnnamed99(o.values!); + checkUnnamed100(o.values!); } buildCounterGoogleCloudRetailV2SearchResponseFacet--; } @@ -5317,12 +5366,12 @@ void checkGoogleCloudRetailV2SearchResponseQueryExpansionInfo( buildCounterGoogleCloudRetailV2SearchResponseQueryExpansionInfo--; } -core.Map buildUnnamed100() => { +core.Map buildUnnamed101() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed100(core.Map o) { +void checkUnnamed101(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -5334,12 +5383,12 @@ void checkUnnamed100(core.Map o) { ); } -core.List buildUnnamed101() => [ +core.List buildUnnamed102() => [ 'foo', 'foo', ]; -void checkUnnamed101(core.List o) { +void checkUnnamed102(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5351,7 +5400,7 @@ void checkUnnamed101(core.List o) { ); } -core.Map buildUnnamed102() => { +core.Map buildUnnamed103() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -5364,7 +5413,7 @@ core.Map buildUnnamed102() => { }, }; -void checkUnnamed102(core.Map o) { +void checkUnnamed103(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -5404,10 +5453,10 @@ api.GoogleCloudRetailV2SearchResponseSearchResult if (buildCounterGoogleCloudRetailV2SearchResponseSearchResult < 3) { o.id = 'foo'; o.matchingVariantCount = 42; - o.matchingVariantFields = buildUnnamed100(); - o.personalLabels = buildUnnamed101(); + o.matchingVariantFields = buildUnnamed101(); + o.personalLabels = buildUnnamed102(); o.product = buildGoogleCloudRetailV2Product(); - o.variantRollupValues = buildUnnamed102(); + o.variantRollupValues = buildUnnamed103(); } buildCounterGoogleCloudRetailV2SearchResponseSearchResult--; return o; @@ -5425,20 +5474,20 @@ void checkGoogleCloudRetailV2SearchResponseSearchResult( o.matchingVariantCount!, unittest.equals(42), ); - checkUnnamed100(o.matchingVariantFields!); - checkUnnamed101(o.personalLabels!); + checkUnnamed101(o.matchingVariantFields!); + checkUnnamed102(o.personalLabels!); checkGoogleCloudRetailV2Product(o.product!); - checkUnnamed102(o.variantRollupValues!); + checkUnnamed103(o.variantRollupValues!); } buildCounterGoogleCloudRetailV2SearchResponseSearchResult--; } -core.List buildUnnamed103() => [ +core.List buildUnnamed104() => [ buildGoogleCloudRetailV2Tile(), buildGoogleCloudRetailV2Tile(), ]; -void checkUnnamed103(core.List o) { +void checkUnnamed104(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRetailV2Tile(o[0]); checkGoogleCloudRetailV2Tile(o[1]); @@ -5450,7 +5499,7 @@ api.GoogleCloudRetailV2SearchResponseTileNavigationResult final o = api.GoogleCloudRetailV2SearchResponseTileNavigationResult(); buildCounterGoogleCloudRetailV2SearchResponseTileNavigationResult++; if (buildCounterGoogleCloudRetailV2SearchResponseTileNavigationResult < 3) { - o.tiles = buildUnnamed103(); + o.tiles = buildUnnamed104(); } buildCounterGoogleCloudRetailV2SearchResponseTileNavigationResult--; return o; @@ -5460,28 +5509,11 @@ void checkGoogleCloudRetailV2SearchResponseTileNavigationResult( api.GoogleCloudRetailV2SearchResponseTileNavigationResult o) { buildCounterGoogleCloudRetailV2SearchResponseTileNavigationResult++; if (buildCounterGoogleCloudRetailV2SearchResponseTileNavigationResult < 3) { - checkUnnamed103(o.tiles!); + checkUnnamed104(o.tiles!); } buildCounterGoogleCloudRetailV2SearchResponseTileNavigationResult--; } -core.List buildUnnamed104() => [ - 'foo', - 'foo', - ]; - -void checkUnnamed104(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - unittest.expect( - o[0], - unittest.equals('foo'), - ); - unittest.expect( - o[1], - unittest.equals('foo'), - ); -} - core.List buildUnnamed105() => [ 'foo', 'foo', @@ -5635,33 +5667,50 @@ void checkUnnamed113(core.List o) { ); } +core.List buildUnnamed114() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed114(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + core.int buildCounterGoogleCloudRetailV2ServingConfig = 0; api.GoogleCloudRetailV2ServingConfig buildGoogleCloudRetailV2ServingConfig() { final o = api.GoogleCloudRetailV2ServingConfig(); buildCounterGoogleCloudRetailV2ServingConfig++; if (buildCounterGoogleCloudRetailV2ServingConfig < 3) { - o.boostControlIds = buildUnnamed104(); + o.boostControlIds = buildUnnamed105(); o.displayName = 'foo'; o.diversityLevel = 'foo'; o.diversityType = 'foo'; - o.doNotAssociateControlIds = buildUnnamed105(); + o.doNotAssociateControlIds = buildUnnamed106(); o.dynamicFacetSpec = buildGoogleCloudRetailV2SearchRequestDynamicFacetSpec(); o.enableCategoryFilterLevel = 'foo'; - o.facetControlIds = buildUnnamed106(); - o.filterControlIds = buildUnnamed107(); - o.ignoreControlIds = buildUnnamed108(); + o.facetControlIds = buildUnnamed107(); + o.filterControlIds = buildUnnamed108(); + o.ignoreControlIds = buildUnnamed109(); o.ignoreRecsDenylist = true; o.modelId = 'foo'; o.name = 'foo'; - o.onewaySynonymsControlIds = buildUnnamed109(); + o.onewaySynonymsControlIds = buildUnnamed110(); o.personalizationSpec = buildGoogleCloudRetailV2SearchRequestPersonalizationSpec(); o.priceRerankingLevel = 'foo'; - o.redirectControlIds = buildUnnamed110(); - o.replacementControlIds = buildUnnamed111(); - o.solutionTypes = buildUnnamed112(); - o.twowaySynonymsControlIds = buildUnnamed113(); + o.redirectControlIds = buildUnnamed111(); + o.replacementControlIds = buildUnnamed112(); + o.solutionTypes = buildUnnamed113(); + o.twowaySynonymsControlIds = buildUnnamed114(); } buildCounterGoogleCloudRetailV2ServingConfig--; return o; @@ -5671,7 +5720,7 @@ void checkGoogleCloudRetailV2ServingConfig( api.GoogleCloudRetailV2ServingConfig o) { buildCounterGoogleCloudRetailV2ServingConfig++; if (buildCounterGoogleCloudRetailV2ServingConfig < 3) { - checkUnnamed104(o.boostControlIds!); + checkUnnamed105(o.boostControlIds!); unittest.expect( o.displayName!, unittest.equals('foo'), @@ -5684,15 +5733,15 @@ void checkGoogleCloudRetailV2ServingConfig( o.diversityType!, unittest.equals('foo'), ); - checkUnnamed105(o.doNotAssociateControlIds!); + checkUnnamed106(o.doNotAssociateControlIds!); checkGoogleCloudRetailV2SearchRequestDynamicFacetSpec(o.dynamicFacetSpec!); unittest.expect( o.enableCategoryFilterLevel!, unittest.equals('foo'), ); - checkUnnamed106(o.facetControlIds!); - checkUnnamed107(o.filterControlIds!); - checkUnnamed108(o.ignoreControlIds!); + checkUnnamed107(o.facetControlIds!); + checkUnnamed108(o.filterControlIds!); + checkUnnamed109(o.ignoreControlIds!); unittest.expect(o.ignoreRecsDenylist!, unittest.isTrue); unittest.expect( o.modelId!, @@ -5702,17 +5751,17 @@ void checkGoogleCloudRetailV2ServingConfig( o.name!, unittest.equals('foo'), ); - checkUnnamed109(o.onewaySynonymsControlIds!); + checkUnnamed110(o.onewaySynonymsControlIds!); checkGoogleCloudRetailV2SearchRequestPersonalizationSpec( o.personalizationSpec!); unittest.expect( o.priceRerankingLevel!, unittest.equals('foo'), ); - checkUnnamed110(o.redirectControlIds!); - checkUnnamed111(o.replacementControlIds!); - checkUnnamed112(o.solutionTypes!); - checkUnnamed113(o.twowaySynonymsControlIds!); + checkUnnamed111(o.redirectControlIds!); + checkUnnamed112(o.replacementControlIds!); + checkUnnamed113(o.solutionTypes!); + checkUnnamed114(o.twowaySynonymsControlIds!); } buildCounterGoogleCloudRetailV2ServingConfig--; } @@ -5858,24 +5907,24 @@ void checkGoogleCloudRetailV2UpdateGenerativeQuestionConfigRequest( } core.Map - buildUnnamed114() => { + buildUnnamed115() => { 'x': buildGoogleCloudRetailV2CustomAttribute(), 'y': buildGoogleCloudRetailV2CustomAttribute(), }; -void checkUnnamed114( +void checkUnnamed115( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRetailV2CustomAttribute(o['x']!); checkGoogleCloudRetailV2CustomAttribute(o['y']!); } -core.List buildUnnamed115() => [ +core.List buildUnnamed116() => [ 'foo', 'foo', ]; -void checkUnnamed115(core.List o) { +void checkUnnamed116(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5887,12 +5936,12 @@ void checkUnnamed115(core.List o) { ); } -core.List buildUnnamed116() => [ +core.List buildUnnamed117() => [ 'foo', 'foo', ]; -void checkUnnamed116(core.List o) { +void checkUnnamed117(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5904,12 +5953,12 @@ void checkUnnamed116(core.List o) { ); } -core.List buildUnnamed117() => [ +core.List buildUnnamed118() => [ buildGoogleCloudRetailV2ProductDetail(), buildGoogleCloudRetailV2ProductDetail(), ]; -void checkUnnamed117(core.List o) { +void checkUnnamed118(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRetailV2ProductDetail(o[0]); checkGoogleCloudRetailV2ProductDetail(o[1]); @@ -5920,20 +5969,20 @@ api.GoogleCloudRetailV2UserEvent buildGoogleCloudRetailV2UserEvent() { final o = api.GoogleCloudRetailV2UserEvent(); buildCounterGoogleCloudRetailV2UserEvent++; if (buildCounterGoogleCloudRetailV2UserEvent < 3) { - o.attributes = buildUnnamed114(); + o.attributes = buildUnnamed115(); o.attributionToken = 'foo'; o.cartId = 'foo'; o.completionDetail = buildGoogleCloudRetailV2CompletionDetail(); o.entity = 'foo'; o.eventTime = 'foo'; o.eventType = 'foo'; - o.experimentIds = buildUnnamed115(); + o.experimentIds = buildUnnamed116(); o.filter = 'foo'; o.offset = 42; o.orderBy = 'foo'; - o.pageCategories = buildUnnamed116(); + o.pageCategories = buildUnnamed117(); o.pageViewId = 'foo'; - o.productDetails = buildUnnamed117(); + o.productDetails = buildUnnamed118(); o.purchaseTransaction = buildGoogleCloudRetailV2PurchaseTransaction(); o.referrerUri = 'foo'; o.searchQuery = 'foo'; @@ -5949,7 +5998,7 @@ api.GoogleCloudRetailV2UserEvent buildGoogleCloudRetailV2UserEvent() { void checkGoogleCloudRetailV2UserEvent(api.GoogleCloudRetailV2UserEvent o) { buildCounterGoogleCloudRetailV2UserEvent++; if (buildCounterGoogleCloudRetailV2UserEvent < 3) { - checkUnnamed114(o.attributes!); + checkUnnamed115(o.attributes!); unittest.expect( o.attributionToken!, unittest.equals('foo'), @@ -5971,7 +6020,7 @@ void checkGoogleCloudRetailV2UserEvent(api.GoogleCloudRetailV2UserEvent o) { o.eventType!, unittest.equals('foo'), ); - checkUnnamed115(o.experimentIds!); + checkUnnamed116(o.experimentIds!); unittest.expect( o.filter!, unittest.equals('foo'), @@ -5984,12 +6033,12 @@ void checkGoogleCloudRetailV2UserEvent(api.GoogleCloudRetailV2UserEvent o) { o.orderBy!, unittest.equals('foo'), ); - checkUnnamed116(o.pageCategories!); + checkUnnamed117(o.pageCategories!); unittest.expect( o.pageViewId!, unittest.equals('foo'), ); - checkUnnamed117(o.productDetails!); + checkUnnamed118(o.productDetails!); checkGoogleCloudRetailV2PurchaseTransaction(o.purchaseTransaction!); unittest.expect( o.referrerUri!, @@ -6016,12 +6065,12 @@ void checkGoogleCloudRetailV2UserEvent(api.GoogleCloudRetailV2UserEvent o) { buildCounterGoogleCloudRetailV2UserEvent--; } -core.List buildUnnamed118() => [ +core.List buildUnnamed119() => [ buildGoogleCloudRetailV2UserEvent(), buildGoogleCloudRetailV2UserEvent(), ]; -void checkUnnamed118(core.List o) { +void checkUnnamed119(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRetailV2UserEvent(o[0]); checkGoogleCloudRetailV2UserEvent(o[1]); @@ -6033,7 +6082,7 @@ api.GoogleCloudRetailV2UserEventInlineSource final o = api.GoogleCloudRetailV2UserEventInlineSource(); buildCounterGoogleCloudRetailV2UserEventInlineSource++; if (buildCounterGoogleCloudRetailV2UserEventInlineSource < 3) { - o.userEvents = buildUnnamed118(); + o.userEvents = buildUnnamed119(); } buildCounterGoogleCloudRetailV2UserEventInlineSource--; return o; @@ -6043,7 +6092,7 @@ void checkGoogleCloudRetailV2UserEventInlineSource( api.GoogleCloudRetailV2UserEventInlineSource o) { buildCounterGoogleCloudRetailV2UserEventInlineSource++; if (buildCounterGoogleCloudRetailV2UserEventInlineSource < 3) { - checkUnnamed118(o.userEvents!); + checkUnnamed119(o.userEvents!); } buildCounterGoogleCloudRetailV2UserEventInlineSource--; } @@ -6107,12 +6156,12 @@ void checkGoogleCloudRetailV2UserInfo(api.GoogleCloudRetailV2UserInfo o) { buildCounterGoogleCloudRetailV2UserInfo--; } -core.List buildUnnamed119() => [ +core.List buildUnnamed120() => [ buildGoogleLongrunningOperation(), buildGoogleLongrunningOperation(), ]; -void checkUnnamed119(core.List o) { +void checkUnnamed120(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleLongrunningOperation(o[0]); checkGoogleLongrunningOperation(o[1]); @@ -6125,7 +6174,7 @@ api.GoogleLongrunningListOperationsResponse buildCounterGoogleLongrunningListOperationsResponse++; if (buildCounterGoogleLongrunningListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed119(); + o.operations = buildUnnamed120(); } buildCounterGoogleLongrunningListOperationsResponse--; return o; @@ -6139,12 +6188,12 @@ void checkGoogleLongrunningListOperationsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed119(o.operations!); + checkUnnamed120(o.operations!); } buildCounterGoogleLongrunningListOperationsResponse--; } -core.Map buildUnnamed120() => { +core.Map buildUnnamed121() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -6157,7 +6206,7 @@ core.Map buildUnnamed120() => { }, }; -void checkUnnamed120(core.Map o) { +void checkUnnamed121(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted9 = (o['x']!) as core.Map; unittest.expect(casted9, unittest.hasLength(3)); @@ -6189,7 +6238,7 @@ void checkUnnamed120(core.Map o) { ); } -core.Map buildUnnamed121() => { +core.Map buildUnnamed122() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -6202,7 +6251,7 @@ core.Map buildUnnamed121() => { }, }; -void checkUnnamed121(core.Map o) { +void checkUnnamed122(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted11 = (o['x']!) as core.Map; unittest.expect(casted11, unittest.hasLength(3)); @@ -6241,9 +6290,9 @@ api.GoogleLongrunningOperation buildGoogleLongrunningOperation() { if (buildCounterGoogleLongrunningOperation < 3) { o.done = true; o.error = buildGoogleRpcStatus(); - o.metadata = buildUnnamed120(); + o.metadata = buildUnnamed121(); o.name = 'foo'; - o.response = buildUnnamed121(); + o.response = buildUnnamed122(); } buildCounterGoogleLongrunningOperation--; return o; @@ -6254,12 +6303,12 @@ void checkGoogleLongrunningOperation(api.GoogleLongrunningOperation o) { if (buildCounterGoogleLongrunningOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkGoogleRpcStatus(o.error!); - checkUnnamed120(o.metadata!); + checkUnnamed121(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed121(o.response!); + checkUnnamed122(o.response!); } buildCounterGoogleLongrunningOperation--; } @@ -6279,7 +6328,7 @@ void checkGoogleProtobufEmpty(api.GoogleProtobufEmpty o) { buildCounterGoogleProtobufEmpty--; } -core.Map buildUnnamed122() => { +core.Map buildUnnamed123() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -6292,7 +6341,7 @@ core.Map buildUnnamed122() => { }, }; -void checkUnnamed122(core.Map o) { +void checkUnnamed123(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted13 = (o['x']!) as core.Map; unittest.expect(casted13, unittest.hasLength(3)); @@ -6324,15 +6373,15 @@ void checkUnnamed122(core.Map o) { ); } -core.List> buildUnnamed123() => [ - buildUnnamed122(), - buildUnnamed122(), +core.List> buildUnnamed124() => [ + buildUnnamed123(), + buildUnnamed123(), ]; -void checkUnnamed123(core.List> o) { +void checkUnnamed124(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed122(o[0]); - checkUnnamed122(o[1]); + checkUnnamed123(o[0]); + checkUnnamed123(o[1]); } core.int buildCounterGoogleRpcStatus = 0; @@ -6341,7 +6390,7 @@ api.GoogleRpcStatus buildGoogleRpcStatus() { buildCounterGoogleRpcStatus++; if (buildCounterGoogleRpcStatus < 3) { o.code = 42; - o.details = buildUnnamed123(); + o.details = buildUnnamed124(); o.message = 'foo'; } buildCounterGoogleRpcStatus--; @@ -6355,7 +6404,7 @@ void checkGoogleRpcStatus(api.GoogleRpcStatus o) { o.code!, unittest.equals(42), ); - checkUnnamed123(o.details!); + checkUnnamed124(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -6396,12 +6445,12 @@ void checkGoogleTypeDate(api.GoogleTypeDate o) { buildCounterGoogleTypeDate--; } -core.List buildUnnamed124() => [ +core.List buildUnnamed125() => [ 'foo', 'foo', ]; -void checkUnnamed124(core.List o) { +void checkUnnamed125(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7419,6 +7468,16 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudRetailV2RulePinAction', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudRetailV2RulePinAction(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudRetailV2RulePinAction.fromJson( + oJson as core.Map); + checkGoogleCloudRetailV2RulePinAction(od); + }); + }); + unittest.group('obj-schema-GoogleCloudRetailV2RuleRedirectAction', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudRetailV2RuleRedirectAction(); @@ -7886,7 +7945,7 @@ void main() { final arg_deviceType = 'foo'; final arg_enableAttributeSuggestions = true; final arg_entity = 'foo'; - final arg_languageCodes = buildUnnamed124(); + final arg_languageCodes = buildUnnamed125(); final arg_maxSuggestions = 42; final arg_query = 'foo'; final arg_visitorId = 'foo'; diff --git a/generated/googleapis/test/run/v1_test.dart b/generated/googleapis/test/run/v1_test.dart index 0f20560d1..e281e2446 100644 --- a/generated/googleapis/test/run/v1_test.dart +++ b/generated/googleapis/test/run/v1_test.dart @@ -3740,12 +3740,29 @@ void checkUnnamed67(core.List o) { checkContainer(o[1]); } -core.List buildUnnamed68() => [ +core.Map buildUnnamed68() => { + 'x': 'foo', + 'y': 'foo', + }; + +void checkUnnamed68(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o['x']!, + unittest.equals('foo'), + ); + unittest.expect( + o['y']!, + unittest.equals('foo'), + ); +} + +core.List buildUnnamed69() => [ buildVolume(), buildVolume(), ]; -void checkUnnamed68(core.List o) { +void checkUnnamed69(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVolume(o[0]); checkVolume(o[1]); @@ -3758,9 +3775,10 @@ api.TaskSpec buildTaskSpec() { if (buildCounterTaskSpec < 3) { o.containers = buildUnnamed67(); o.maxRetries = 42; + o.nodeSelector = buildUnnamed68(); o.serviceAccountName = 'foo'; o.timeoutSeconds = 'foo'; - o.volumes = buildUnnamed68(); + o.volumes = buildUnnamed69(); } buildCounterTaskSpec--; return o; @@ -3774,6 +3792,7 @@ void checkTaskSpec(api.TaskSpec o) { o.maxRetries!, unittest.equals(42), ); + checkUnnamed68(o.nodeSelector!); unittest.expect( o.serviceAccountName!, unittest.equals('foo'), @@ -3782,17 +3801,17 @@ void checkTaskSpec(api.TaskSpec o) { o.timeoutSeconds!, unittest.equals('foo'), ); - checkUnnamed68(o.volumes!); + checkUnnamed69(o.volumes!); } buildCounterTaskSpec--; } -core.List buildUnnamed69() => [ +core.List buildUnnamed70() => [ buildGoogleCloudRunV1Condition(), buildGoogleCloudRunV1Condition(), ]; -void checkUnnamed69(core.List o) { +void checkUnnamed70(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV1Condition(o[0]); checkGoogleCloudRunV1Condition(o[1]); @@ -3804,7 +3823,7 @@ api.TaskStatus buildTaskStatus() { buildCounterTaskStatus++; if (buildCounterTaskStatus < 3) { o.completionTime = 'foo'; - o.conditions = buildUnnamed69(); + o.conditions = buildUnnamed70(); o.index = 42; o.lastAttemptResult = buildTaskAttemptResult(); o.logUri = 'foo'; @@ -3823,7 +3842,7 @@ void checkTaskStatus(api.TaskStatus o) { o.completionTime!, unittest.equals('foo'), ); - checkUnnamed69(o.conditions!); + checkUnnamed70(o.conditions!); unittest.expect( o.index!, unittest.equals(42), @@ -3868,12 +3887,12 @@ void checkTaskTemplateSpec(api.TaskTemplateSpec o) { buildCounterTaskTemplateSpec--; } -core.List buildUnnamed70() => [ +core.List buildUnnamed71() => [ 'foo', 'foo', ]; -void checkUnnamed70(core.List o) { +void checkUnnamed71(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3890,7 +3909,7 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { final o = api.TestIamPermissionsRequest(); buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - o.permissions = buildUnnamed70(); + o.permissions = buildUnnamed71(); } buildCounterTestIamPermissionsRequest--; return o; @@ -3899,17 +3918,17 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { void checkTestIamPermissionsRequest(api.TestIamPermissionsRequest o) { buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - checkUnnamed70(o.permissions!); + checkUnnamed71(o.permissions!); } buildCounterTestIamPermissionsRequest--; } -core.List buildUnnamed71() => [ +core.List buildUnnamed72() => [ 'foo', 'foo', ]; -void checkUnnamed71(core.List o) { +void checkUnnamed72(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3926,7 +3945,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { final o = api.TestIamPermissionsResponse(); buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - o.permissions = buildUnnamed71(); + o.permissions = buildUnnamed72(); } buildCounterTestIamPermissionsResponse--; return o; @@ -3935,7 +3954,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { void checkTestIamPermissionsResponse(api.TestIamPermissionsResponse o) { buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - checkUnnamed71(o.permissions!); + checkUnnamed72(o.permissions!); } buildCounterTestIamPermissionsResponse--; } diff --git a/generated/googleapis/test/run/v2_test.dart b/generated/googleapis/test/run/v2_test.dart index 57019b718..f4d1d9ef8 100644 --- a/generated/googleapis/test/run/v2_test.dart +++ b/generated/googleapis/test/run/v2_test.dart @@ -74,6 +74,106 @@ void checkUnnamed0(core.Map o) { ); } +core.int buildCounterGoogleCloudRunV2BuildConfig = 0; +api.GoogleCloudRunV2BuildConfig buildGoogleCloudRunV2BuildConfig() { + final o = api.GoogleCloudRunV2BuildConfig(); + buildCounterGoogleCloudRunV2BuildConfig++; + if (buildCounterGoogleCloudRunV2BuildConfig < 3) { + o.baseImage = 'foo'; + o.enableAutomaticUpdates = true; + o.environmentVariables = buildUnnamed0(); + o.functionTarget = 'foo'; + o.imageUri = 'foo'; + o.name = 'foo'; + o.serviceAccount = 'foo'; + o.sourceLocation = 'foo'; + o.workerPool = 'foo'; + } + buildCounterGoogleCloudRunV2BuildConfig--; + return o; +} + +void checkGoogleCloudRunV2BuildConfig(api.GoogleCloudRunV2BuildConfig o) { + buildCounterGoogleCloudRunV2BuildConfig++; + if (buildCounterGoogleCloudRunV2BuildConfig < 3) { + unittest.expect( + o.baseImage!, + unittest.equals('foo'), + ); + unittest.expect(o.enableAutomaticUpdates!, unittest.isTrue); + checkUnnamed0(o.environmentVariables!); + unittest.expect( + o.functionTarget!, + unittest.equals('foo'), + ); + unittest.expect( + o.imageUri!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.serviceAccount!, + unittest.equals('foo'), + ); + unittest.expect( + o.sourceLocation!, + unittest.equals('foo'), + ); + unittest.expect( + o.workerPool!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudRunV2BuildConfig--; +} + +core.int buildCounterGoogleCloudRunV2BuildInfo = 0; +api.GoogleCloudRunV2BuildInfo buildGoogleCloudRunV2BuildInfo() { + final o = api.GoogleCloudRunV2BuildInfo(); + buildCounterGoogleCloudRunV2BuildInfo++; + if (buildCounterGoogleCloudRunV2BuildInfo < 3) { + o.functionTarget = 'foo'; + o.sourceLocation = 'foo'; + } + buildCounterGoogleCloudRunV2BuildInfo--; + return o; +} + +void checkGoogleCloudRunV2BuildInfo(api.GoogleCloudRunV2BuildInfo o) { + buildCounterGoogleCloudRunV2BuildInfo++; + if (buildCounterGoogleCloudRunV2BuildInfo < 3) { + unittest.expect( + o.functionTarget!, + unittest.equals('foo'), + ); + unittest.expect( + o.sourceLocation!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudRunV2BuildInfo--; +} + +core.Map buildUnnamed1() => { + 'x': 'foo', + 'y': 'foo', + }; + +void checkUnnamed1(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o['x']!, + unittest.equals('foo'), + ); + unittest.expect( + o['y']!, + unittest.equals('foo'), + ); +} + core.int buildCounterGoogleCloudRunV2BuildpacksBuild = 0; api.GoogleCloudRunV2BuildpacksBuild buildGoogleCloudRunV2BuildpacksBuild() { final o = api.GoogleCloudRunV2BuildpacksBuild(); @@ -82,7 +182,7 @@ api.GoogleCloudRunV2BuildpacksBuild buildGoogleCloudRunV2BuildpacksBuild() { o.baseImage = 'foo'; o.cacheImageUri = 'foo'; o.enableAutomaticUpdates = true; - o.environmentVariables = buildUnnamed0(); + o.environmentVariables = buildUnnamed1(); o.functionTarget = 'foo'; o.projectDescriptor = 'foo'; o.runtime = 'foo'; @@ -104,7 +204,7 @@ void checkGoogleCloudRunV2BuildpacksBuild( unittest.equals('foo'), ); unittest.expect(o.enableAutomaticUpdates!, unittest.isTrue); - checkUnnamed0(o.environmentVariables!); + checkUnnamed1(o.environmentVariables!); unittest.expect( o.functionTarget!, unittest.equals('foo'), @@ -147,12 +247,12 @@ void checkGoogleCloudRunV2CancelExecutionRequest( buildCounterGoogleCloudRunV2CancelExecutionRequest--; } -core.List buildUnnamed1() => [ +core.List buildUnnamed2() => [ 'foo', 'foo', ]; -void checkUnnamed1(core.List o) { +void checkUnnamed2(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -169,7 +269,7 @@ api.GoogleCloudRunV2CloudSqlInstance buildGoogleCloudRunV2CloudSqlInstance() { final o = api.GoogleCloudRunV2CloudSqlInstance(); buildCounterGoogleCloudRunV2CloudSqlInstance++; if (buildCounterGoogleCloudRunV2CloudSqlInstance < 3) { - o.instances = buildUnnamed1(); + o.instances = buildUnnamed2(); } buildCounterGoogleCloudRunV2CloudSqlInstance--; return o; @@ -179,7 +279,7 @@ void checkGoogleCloudRunV2CloudSqlInstance( api.GoogleCloudRunV2CloudSqlInstance o) { buildCounterGoogleCloudRunV2CloudSqlInstance++; if (buildCounterGoogleCloudRunV2CloudSqlInstance < 3) { - checkUnnamed1(o.instances!); + checkUnnamed2(o.instances!); } buildCounterGoogleCloudRunV2CloudSqlInstance--; } @@ -241,12 +341,12 @@ void checkGoogleCloudRunV2Condition(api.GoogleCloudRunV2Condition o) { buildCounterGoogleCloudRunV2Condition--; } -core.List buildUnnamed2() => [ +core.List buildUnnamed3() => [ 'foo', 'foo', ]; -void checkUnnamed2(core.List o) { +void checkUnnamed3(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -258,12 +358,12 @@ void checkUnnamed2(core.List o) { ); } -core.List buildUnnamed3() => [ +core.List buildUnnamed4() => [ 'foo', 'foo', ]; -void checkUnnamed3(core.List o) { +void checkUnnamed4(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -275,12 +375,12 @@ void checkUnnamed3(core.List o) { ); } -core.List buildUnnamed4() => [ +core.List buildUnnamed5() => [ 'foo', 'foo', ]; -void checkUnnamed4(core.List o) { +void checkUnnamed5(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -292,34 +392,34 @@ void checkUnnamed4(core.List o) { ); } -core.List buildUnnamed5() => [ +core.List buildUnnamed6() => [ buildGoogleCloudRunV2EnvVar(), buildGoogleCloudRunV2EnvVar(), ]; -void checkUnnamed5(core.List o) { +void checkUnnamed6(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2EnvVar(o[0]); checkGoogleCloudRunV2EnvVar(o[1]); } -core.List buildUnnamed6() => [ +core.List buildUnnamed7() => [ buildGoogleCloudRunV2ContainerPort(), buildGoogleCloudRunV2ContainerPort(), ]; -void checkUnnamed6(core.List o) { +void checkUnnamed7(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2ContainerPort(o[0]); checkGoogleCloudRunV2ContainerPort(o[1]); } -core.List buildUnnamed7() => [ +core.List buildUnnamed8() => [ buildGoogleCloudRunV2VolumeMount(), buildGoogleCloudRunV2VolumeMount(), ]; -void checkUnnamed7(core.List o) { +void checkUnnamed8(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2VolumeMount(o[0]); checkGoogleCloudRunV2VolumeMount(o[1]); @@ -330,17 +430,19 @@ api.GoogleCloudRunV2Container buildGoogleCloudRunV2Container() { final o = api.GoogleCloudRunV2Container(); buildCounterGoogleCloudRunV2Container++; if (buildCounterGoogleCloudRunV2Container < 3) { - o.args = buildUnnamed2(); - o.command = buildUnnamed3(); - o.dependsOn = buildUnnamed4(); - o.env = buildUnnamed5(); + o.args = buildUnnamed3(); + o.baseImageUri = 'foo'; + o.buildInfo = buildGoogleCloudRunV2BuildInfo(); + o.command = buildUnnamed4(); + o.dependsOn = buildUnnamed5(); + o.env = buildUnnamed6(); o.image = 'foo'; o.livenessProbe = buildGoogleCloudRunV2Probe(); o.name = 'foo'; - o.ports = buildUnnamed6(); + o.ports = buildUnnamed7(); o.resources = buildGoogleCloudRunV2ResourceRequirements(); o.startupProbe = buildGoogleCloudRunV2Probe(); - o.volumeMounts = buildUnnamed7(); + o.volumeMounts = buildUnnamed8(); o.workingDir = 'foo'; } buildCounterGoogleCloudRunV2Container--; @@ -350,10 +452,15 @@ api.GoogleCloudRunV2Container buildGoogleCloudRunV2Container() { void checkGoogleCloudRunV2Container(api.GoogleCloudRunV2Container o) { buildCounterGoogleCloudRunV2Container++; if (buildCounterGoogleCloudRunV2Container < 3) { - checkUnnamed2(o.args!); - checkUnnamed3(o.command!); - checkUnnamed4(o.dependsOn!); - checkUnnamed5(o.env!); + checkUnnamed3(o.args!); + unittest.expect( + o.baseImageUri!, + unittest.equals('foo'), + ); + checkGoogleCloudRunV2BuildInfo(o.buildInfo!); + checkUnnamed4(o.command!); + checkUnnamed5(o.dependsOn!); + checkUnnamed6(o.env!); unittest.expect( o.image!, unittest.equals('foo'), @@ -363,10 +470,10 @@ void checkGoogleCloudRunV2Container(api.GoogleCloudRunV2Container o) { o.name!, unittest.equals('foo'), ); - checkUnnamed6(o.ports!); + checkUnnamed7(o.ports!); checkGoogleCloudRunV2ResourceRequirements(o.resources!); checkGoogleCloudRunV2Probe(o.startupProbe!); - checkUnnamed7(o.volumeMounts!); + checkUnnamed8(o.volumeMounts!); unittest.expect( o.workingDir!, unittest.equals('foo'), @@ -375,12 +482,12 @@ void checkGoogleCloudRunV2Container(api.GoogleCloudRunV2Container o) { buildCounterGoogleCloudRunV2Container--; } -core.List buildUnnamed8() => [ +core.List buildUnnamed9() => [ 'foo', 'foo', ]; -void checkUnnamed8(core.List o) { +void checkUnnamed9(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -392,12 +499,12 @@ void checkUnnamed8(core.List o) { ); } -core.List buildUnnamed9() => [ +core.List buildUnnamed10() => [ buildGoogleCloudRunV2EnvVar(), buildGoogleCloudRunV2EnvVar(), ]; -void checkUnnamed9(core.List o) { +void checkUnnamed10(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2EnvVar(o[0]); checkGoogleCloudRunV2EnvVar(o[1]); @@ -408,9 +515,9 @@ api.GoogleCloudRunV2ContainerOverride buildGoogleCloudRunV2ContainerOverride() { final o = api.GoogleCloudRunV2ContainerOverride(); buildCounterGoogleCloudRunV2ContainerOverride++; if (buildCounterGoogleCloudRunV2ContainerOverride < 3) { - o.args = buildUnnamed8(); + o.args = buildUnnamed9(); o.clearArgs = true; - o.env = buildUnnamed9(); + o.env = buildUnnamed10(); o.name = 'foo'; } buildCounterGoogleCloudRunV2ContainerOverride--; @@ -421,9 +528,9 @@ void checkGoogleCloudRunV2ContainerOverride( api.GoogleCloudRunV2ContainerOverride o) { buildCounterGoogleCloudRunV2ContainerOverride++; if (buildCounterGoogleCloudRunV2ContainerOverride < 3) { - checkUnnamed8(o.args!); + checkUnnamed9(o.args!); unittest.expect(o.clearArgs!, unittest.isTrue); - checkUnnamed9(o.env!); + checkUnnamed10(o.env!); unittest.expect( o.name!, unittest.equals('foo'), @@ -551,12 +658,12 @@ void checkGoogleCloudRunV2EnvVarSource(api.GoogleCloudRunV2EnvVarSource o) { buildCounterGoogleCloudRunV2EnvVarSource--; } -core.Map buildUnnamed10() => { +core.Map buildUnnamed11() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed10(core.Map o) { +void checkUnnamed11(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -568,23 +675,23 @@ void checkUnnamed10(core.Map o) { ); } -core.List buildUnnamed11() => [ +core.List buildUnnamed12() => [ buildGoogleCloudRunV2Condition(), buildGoogleCloudRunV2Condition(), ]; -void checkUnnamed11(core.List o) { +void checkUnnamed12(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2Condition(o[0]); checkGoogleCloudRunV2Condition(o[1]); } -core.Map buildUnnamed12() => { +core.Map buildUnnamed13() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed12(core.Map o) { +void checkUnnamed13(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -601,18 +708,19 @@ api.GoogleCloudRunV2Execution buildGoogleCloudRunV2Execution() { final o = api.GoogleCloudRunV2Execution(); buildCounterGoogleCloudRunV2Execution++; if (buildCounterGoogleCloudRunV2Execution < 3) { - o.annotations = buildUnnamed10(); + o.annotations = buildUnnamed11(); o.cancelledCount = 42; o.completionTime = 'foo'; - o.conditions = buildUnnamed11(); + o.conditions = buildUnnamed12(); o.createTime = 'foo'; + o.creator = 'foo'; o.deleteTime = 'foo'; o.etag = 'foo'; o.expireTime = 'foo'; o.failedCount = 42; o.generation = 'foo'; o.job = 'foo'; - o.labels = buildUnnamed12(); + o.labels = buildUnnamed13(); o.launchStage = 'foo'; o.logUri = 'foo'; o.name = 'foo'; @@ -636,7 +744,7 @@ api.GoogleCloudRunV2Execution buildGoogleCloudRunV2Execution() { void checkGoogleCloudRunV2Execution(api.GoogleCloudRunV2Execution o) { buildCounterGoogleCloudRunV2Execution++; if (buildCounterGoogleCloudRunV2Execution < 3) { - checkUnnamed10(o.annotations!); + checkUnnamed11(o.annotations!); unittest.expect( o.cancelledCount!, unittest.equals(42), @@ -645,11 +753,15 @@ void checkGoogleCloudRunV2Execution(api.GoogleCloudRunV2Execution o) { o.completionTime!, unittest.equals('foo'), ); - checkUnnamed11(o.conditions!); + checkUnnamed12(o.conditions!); unittest.expect( o.createTime!, unittest.equals('foo'), ); + unittest.expect( + o.creator!, + unittest.equals('foo'), + ); unittest.expect( o.deleteTime!, unittest.equals('foo'), @@ -674,7 +786,7 @@ void checkGoogleCloudRunV2Execution(api.GoogleCloudRunV2Execution o) { o.job!, unittest.equals('foo'), ); - checkUnnamed12(o.labels!); + checkUnnamed13(o.labels!); unittest.expect( o.launchStage!, unittest.equals('foo'), @@ -774,12 +886,12 @@ void checkGoogleCloudRunV2ExecutionReference( buildCounterGoogleCloudRunV2ExecutionReference--; } -core.Map buildUnnamed13() => { +core.Map buildUnnamed14() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed13(core.Map o) { +void checkUnnamed14(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -791,12 +903,12 @@ void checkUnnamed13(core.Map o) { ); } -core.Map buildUnnamed14() => { +core.Map buildUnnamed15() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed14(core.Map o) { +void checkUnnamed15(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -813,8 +925,8 @@ api.GoogleCloudRunV2ExecutionTemplate buildGoogleCloudRunV2ExecutionTemplate() { final o = api.GoogleCloudRunV2ExecutionTemplate(); buildCounterGoogleCloudRunV2ExecutionTemplate++; if (buildCounterGoogleCloudRunV2ExecutionTemplate < 3) { - o.annotations = buildUnnamed13(); - o.labels = buildUnnamed14(); + o.annotations = buildUnnamed14(); + o.labels = buildUnnamed15(); o.parallelism = 42; o.taskCount = 42; o.template = buildGoogleCloudRunV2TaskTemplate(); @@ -827,8 +939,8 @@ void checkGoogleCloudRunV2ExecutionTemplate( api.GoogleCloudRunV2ExecutionTemplate o) { buildCounterGoogleCloudRunV2ExecutionTemplate++; if (buildCounterGoogleCloudRunV2ExecutionTemplate < 3) { - checkUnnamed13(o.annotations!); - checkUnnamed14(o.labels!); + checkUnnamed14(o.annotations!); + checkUnnamed15(o.labels!); unittest.expect( o.parallelism!, unittest.equals(42), @@ -890,12 +1002,12 @@ void checkGoogleCloudRunV2ExportImageResponse( buildCounterGoogleCloudRunV2ExportImageResponse--; } -core.List buildUnnamed15() => [ +core.List buildUnnamed16() => [ buildGoogleCloudRunV2ImageExportStatus(), buildGoogleCloudRunV2ImageExportStatus(), ]; -void checkUnnamed15(core.List o) { +void checkUnnamed16(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2ImageExportStatus(o[0]); checkGoogleCloudRunV2ImageExportStatus(o[1]); @@ -907,7 +1019,7 @@ api.GoogleCloudRunV2ExportStatusResponse final o = api.GoogleCloudRunV2ExportStatusResponse(); buildCounterGoogleCloudRunV2ExportStatusResponse++; if (buildCounterGoogleCloudRunV2ExportStatusResponse < 3) { - o.imageExportStatuses = buildUnnamed15(); + o.imageExportStatuses = buildUnnamed16(); o.operationId = 'foo'; o.operationState = 'foo'; } @@ -919,7 +1031,7 @@ void checkGoogleCloudRunV2ExportStatusResponse( api.GoogleCloudRunV2ExportStatusResponse o) { buildCounterGoogleCloudRunV2ExportStatusResponse++; if (buildCounterGoogleCloudRunV2ExportStatusResponse < 3) { - checkUnnamed15(o.imageExportStatuses!); + checkUnnamed16(o.imageExportStatuses!); unittest.expect( o.operationId!, unittest.equals('foo'), @@ -932,12 +1044,12 @@ void checkGoogleCloudRunV2ExportStatusResponse( buildCounterGoogleCloudRunV2ExportStatusResponse--; } -core.List buildUnnamed16() => [ +core.List buildUnnamed17() => [ 'foo', 'foo', ]; -void checkUnnamed16(core.List o) { +void checkUnnamed17(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -955,7 +1067,7 @@ api.GoogleCloudRunV2GCSVolumeSource buildGoogleCloudRunV2GCSVolumeSource() { buildCounterGoogleCloudRunV2GCSVolumeSource++; if (buildCounterGoogleCloudRunV2GCSVolumeSource < 3) { o.bucket = 'foo'; - o.mountOptions = buildUnnamed16(); + o.mountOptions = buildUnnamed17(); o.readOnly = true; } buildCounterGoogleCloudRunV2GCSVolumeSource--; @@ -970,7 +1082,7 @@ void checkGoogleCloudRunV2GCSVolumeSource( o.bucket!, unittest.equals('foo'), ); - checkUnnamed16(o.mountOptions!); + checkUnnamed17(o.mountOptions!); unittest.expect(o.readOnly!, unittest.isTrue); } buildCounterGoogleCloudRunV2GCSVolumeSource--; @@ -1003,12 +1115,12 @@ void checkGoogleCloudRunV2GRPCAction(api.GoogleCloudRunV2GRPCAction o) { buildCounterGoogleCloudRunV2GRPCAction--; } -core.List buildUnnamed17() => [ +core.List buildUnnamed18() => [ buildGoogleCloudRunV2HTTPHeader(), buildGoogleCloudRunV2HTTPHeader(), ]; -void checkUnnamed17(core.List o) { +void checkUnnamed18(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2HTTPHeader(o[0]); checkGoogleCloudRunV2HTTPHeader(o[1]); @@ -1019,7 +1131,7 @@ api.GoogleCloudRunV2HTTPGetAction buildGoogleCloudRunV2HTTPGetAction() { final o = api.GoogleCloudRunV2HTTPGetAction(); buildCounterGoogleCloudRunV2HTTPGetAction++; if (buildCounterGoogleCloudRunV2HTTPGetAction < 3) { - o.httpHeaders = buildUnnamed17(); + o.httpHeaders = buildUnnamed18(); o.path = 'foo'; o.port = 42; } @@ -1030,7 +1142,7 @@ api.GoogleCloudRunV2HTTPGetAction buildGoogleCloudRunV2HTTPGetAction() { void checkGoogleCloudRunV2HTTPGetAction(api.GoogleCloudRunV2HTTPGetAction o) { buildCounterGoogleCloudRunV2HTTPGetAction++; if (buildCounterGoogleCloudRunV2HTTPGetAction < 3) { - checkUnnamed17(o.httpHeaders!); + checkUnnamed18(o.httpHeaders!); unittest.expect( o.path!, unittest.equals('foo'), @@ -1105,12 +1217,78 @@ void checkGoogleCloudRunV2ImageExportStatus( buildCounterGoogleCloudRunV2ImageExportStatus--; } -core.Map buildUnnamed18() => { +core.int buildCounterGoogleCloudRunV2InstanceSplit = 0; +api.GoogleCloudRunV2InstanceSplit buildGoogleCloudRunV2InstanceSplit() { + final o = api.GoogleCloudRunV2InstanceSplit(); + buildCounterGoogleCloudRunV2InstanceSplit++; + if (buildCounterGoogleCloudRunV2InstanceSplit < 3) { + o.percent = 42; + o.revision = 'foo'; + o.type = 'foo'; + } + buildCounterGoogleCloudRunV2InstanceSplit--; + return o; +} + +void checkGoogleCloudRunV2InstanceSplit(api.GoogleCloudRunV2InstanceSplit o) { + buildCounterGoogleCloudRunV2InstanceSplit++; + if (buildCounterGoogleCloudRunV2InstanceSplit < 3) { + unittest.expect( + o.percent!, + unittest.equals(42), + ); + unittest.expect( + o.revision!, + unittest.equals('foo'), + ); + unittest.expect( + o.type!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudRunV2InstanceSplit--; +} + +core.int buildCounterGoogleCloudRunV2InstanceSplitStatus = 0; +api.GoogleCloudRunV2InstanceSplitStatus + buildGoogleCloudRunV2InstanceSplitStatus() { + final o = api.GoogleCloudRunV2InstanceSplitStatus(); + buildCounterGoogleCloudRunV2InstanceSplitStatus++; + if (buildCounterGoogleCloudRunV2InstanceSplitStatus < 3) { + o.percent = 42; + o.revision = 'foo'; + o.type = 'foo'; + } + buildCounterGoogleCloudRunV2InstanceSplitStatus--; + return o; +} + +void checkGoogleCloudRunV2InstanceSplitStatus( + api.GoogleCloudRunV2InstanceSplitStatus o) { + buildCounterGoogleCloudRunV2InstanceSplitStatus++; + if (buildCounterGoogleCloudRunV2InstanceSplitStatus < 3) { + unittest.expect( + o.percent!, + unittest.equals(42), + ); + unittest.expect( + o.revision!, + unittest.equals('foo'), + ); + unittest.expect( + o.type!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudRunV2InstanceSplitStatus--; +} + +core.Map buildUnnamed19() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed18(core.Map o) { +void checkUnnamed19(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1122,23 +1300,23 @@ void checkUnnamed18(core.Map o) { ); } -core.List buildUnnamed19() => [ +core.List buildUnnamed20() => [ buildGoogleCloudRunV2Condition(), buildGoogleCloudRunV2Condition(), ]; -void checkUnnamed19(core.List o) { +void checkUnnamed20(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2Condition(o[0]); checkGoogleCloudRunV2Condition(o[1]); } -core.Map buildUnnamed20() => { +core.Map buildUnnamed21() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed20(core.Map o) { +void checkUnnamed21(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1155,11 +1333,11 @@ api.GoogleCloudRunV2Job buildGoogleCloudRunV2Job() { final o = api.GoogleCloudRunV2Job(); buildCounterGoogleCloudRunV2Job++; if (buildCounterGoogleCloudRunV2Job < 3) { - o.annotations = buildUnnamed18(); + o.annotations = buildUnnamed19(); o.binaryAuthorization = buildGoogleCloudRunV2BinaryAuthorization(); o.client = 'foo'; o.clientVersion = 'foo'; - o.conditions = buildUnnamed19(); + o.conditions = buildUnnamed20(); o.createTime = 'foo'; o.creator = 'foo'; o.deleteTime = 'foo'; @@ -1167,7 +1345,7 @@ api.GoogleCloudRunV2Job buildGoogleCloudRunV2Job() { o.executionCount = 42; o.expireTime = 'foo'; o.generation = 'foo'; - o.labels = buildUnnamed20(); + o.labels = buildUnnamed21(); o.lastModifier = 'foo'; o.latestCreatedExecution = buildGoogleCloudRunV2ExecutionReference(); o.launchStage = 'foo'; @@ -1189,7 +1367,7 @@ api.GoogleCloudRunV2Job buildGoogleCloudRunV2Job() { void checkGoogleCloudRunV2Job(api.GoogleCloudRunV2Job o) { buildCounterGoogleCloudRunV2Job++; if (buildCounterGoogleCloudRunV2Job < 3) { - checkUnnamed18(o.annotations!); + checkUnnamed19(o.annotations!); checkGoogleCloudRunV2BinaryAuthorization(o.binaryAuthorization!); unittest.expect( o.client!, @@ -1199,7 +1377,7 @@ void checkGoogleCloudRunV2Job(api.GoogleCloudRunV2Job o) { o.clientVersion!, unittest.equals('foo'), ); - checkUnnamed19(o.conditions!); + checkUnnamed20(o.conditions!); unittest.expect( o.createTime!, unittest.equals('foo'), @@ -1228,7 +1406,7 @@ void checkGoogleCloudRunV2Job(api.GoogleCloudRunV2Job o) { o.generation!, unittest.equals('foo'), ); - checkUnnamed20(o.labels!); + checkUnnamed21(o.labels!); unittest.expect( o.lastModifier!, unittest.equals('foo'), @@ -1270,12 +1448,12 @@ void checkGoogleCloudRunV2Job(api.GoogleCloudRunV2Job o) { buildCounterGoogleCloudRunV2Job--; } -core.List buildUnnamed21() => [ +core.List buildUnnamed22() => [ buildGoogleCloudRunV2Execution(), buildGoogleCloudRunV2Execution(), ]; -void checkUnnamed21(core.List o) { +void checkUnnamed22(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2Execution(o[0]); checkGoogleCloudRunV2Execution(o[1]); @@ -1287,7 +1465,7 @@ api.GoogleCloudRunV2ListExecutionsResponse final o = api.GoogleCloudRunV2ListExecutionsResponse(); buildCounterGoogleCloudRunV2ListExecutionsResponse++; if (buildCounterGoogleCloudRunV2ListExecutionsResponse < 3) { - o.executions = buildUnnamed21(); + o.executions = buildUnnamed22(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudRunV2ListExecutionsResponse--; @@ -1298,7 +1476,7 @@ void checkGoogleCloudRunV2ListExecutionsResponse( api.GoogleCloudRunV2ListExecutionsResponse o) { buildCounterGoogleCloudRunV2ListExecutionsResponse++; if (buildCounterGoogleCloudRunV2ListExecutionsResponse < 3) { - checkUnnamed21(o.executions!); + checkUnnamed22(o.executions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -1307,12 +1485,12 @@ void checkGoogleCloudRunV2ListExecutionsResponse( buildCounterGoogleCloudRunV2ListExecutionsResponse--; } -core.List buildUnnamed22() => [ +core.List buildUnnamed23() => [ buildGoogleCloudRunV2Job(), buildGoogleCloudRunV2Job(), ]; -void checkUnnamed22(core.List o) { +void checkUnnamed23(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2Job(o[0]); checkGoogleCloudRunV2Job(o[1]); @@ -1323,7 +1501,7 @@ api.GoogleCloudRunV2ListJobsResponse buildGoogleCloudRunV2ListJobsResponse() { final o = api.GoogleCloudRunV2ListJobsResponse(); buildCounterGoogleCloudRunV2ListJobsResponse++; if (buildCounterGoogleCloudRunV2ListJobsResponse < 3) { - o.jobs = buildUnnamed22(); + o.jobs = buildUnnamed23(); o.nextPageToken = 'foo'; } buildCounterGoogleCloudRunV2ListJobsResponse--; @@ -1334,7 +1512,7 @@ void checkGoogleCloudRunV2ListJobsResponse( api.GoogleCloudRunV2ListJobsResponse o) { buildCounterGoogleCloudRunV2ListJobsResponse++; if (buildCounterGoogleCloudRunV2ListJobsResponse < 3) { - checkUnnamed22(o.jobs!); + checkUnnamed23(o.jobs!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -1343,12 +1521,12 @@ void checkGoogleCloudRunV2ListJobsResponse( buildCounterGoogleCloudRunV2ListJobsResponse--; } -core.List buildUnnamed23() => [ +core.List buildUnnamed24() => [ buildGoogleCloudRunV2Revision(), buildGoogleCloudRunV2Revision(), ]; -void checkUnnamed23(core.List o) { +void checkUnnamed24(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2Revision(o[0]); checkGoogleCloudRunV2Revision(o[1]); @@ -1361,7 +1539,7 @@ api.GoogleCloudRunV2ListRevisionsResponse buildCounterGoogleCloudRunV2ListRevisionsResponse++; if (buildCounterGoogleCloudRunV2ListRevisionsResponse < 3) { o.nextPageToken = 'foo'; - o.revisions = buildUnnamed23(); + o.revisions = buildUnnamed24(); } buildCounterGoogleCloudRunV2ListRevisionsResponse--; return o; @@ -1375,17 +1553,17 @@ void checkGoogleCloudRunV2ListRevisionsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed23(o.revisions!); + checkUnnamed24(o.revisions!); } buildCounterGoogleCloudRunV2ListRevisionsResponse--; } -core.List buildUnnamed24() => [ +core.List buildUnnamed25() => [ buildGoogleCloudRunV2Service(), buildGoogleCloudRunV2Service(), ]; -void checkUnnamed24(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2Service(o[0]); checkGoogleCloudRunV2Service(o[1]); @@ -1398,7 +1576,7 @@ api.GoogleCloudRunV2ListServicesResponse buildCounterGoogleCloudRunV2ListServicesResponse++; if (buildCounterGoogleCloudRunV2ListServicesResponse < 3) { o.nextPageToken = 'foo'; - o.services = buildUnnamed24(); + o.services = buildUnnamed25(); } buildCounterGoogleCloudRunV2ListServicesResponse--; return o; @@ -1412,17 +1590,17 @@ void checkGoogleCloudRunV2ListServicesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed24(o.services!); + checkUnnamed25(o.services!); } buildCounterGoogleCloudRunV2ListServicesResponse--; } -core.List buildUnnamed25() => [ +core.List buildUnnamed26() => [ buildGoogleCloudRunV2Task(), buildGoogleCloudRunV2Task(), ]; -void checkUnnamed25(core.List o) { +void checkUnnamed26(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2Task(o[0]); checkGoogleCloudRunV2Task(o[1]); @@ -1434,7 +1612,7 @@ api.GoogleCloudRunV2ListTasksResponse buildGoogleCloudRunV2ListTasksResponse() { buildCounterGoogleCloudRunV2ListTasksResponse++; if (buildCounterGoogleCloudRunV2ListTasksResponse < 3) { o.nextPageToken = 'foo'; - o.tasks = buildUnnamed25(); + o.tasks = buildUnnamed26(); } buildCounterGoogleCloudRunV2ListTasksResponse--; return o; @@ -1448,11 +1626,48 @@ void checkGoogleCloudRunV2ListTasksResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed25(o.tasks!); + checkUnnamed26(o.tasks!); } buildCounterGoogleCloudRunV2ListTasksResponse--; } +core.List buildUnnamed27() => [ + buildGoogleCloudRunV2WorkerPool(), + buildGoogleCloudRunV2WorkerPool(), + ]; + +void checkUnnamed27(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudRunV2WorkerPool(o[0]); + checkGoogleCloudRunV2WorkerPool(o[1]); +} + +core.int buildCounterGoogleCloudRunV2ListWorkerPoolsResponse = 0; +api.GoogleCloudRunV2ListWorkerPoolsResponse + buildGoogleCloudRunV2ListWorkerPoolsResponse() { + final o = api.GoogleCloudRunV2ListWorkerPoolsResponse(); + buildCounterGoogleCloudRunV2ListWorkerPoolsResponse++; + if (buildCounterGoogleCloudRunV2ListWorkerPoolsResponse < 3) { + o.nextPageToken = 'foo'; + o.workerPools = buildUnnamed27(); + } + buildCounterGoogleCloudRunV2ListWorkerPoolsResponse--; + return o; +} + +void checkGoogleCloudRunV2ListWorkerPoolsResponse( + api.GoogleCloudRunV2ListWorkerPoolsResponse o) { + buildCounterGoogleCloudRunV2ListWorkerPoolsResponse++; + if (buildCounterGoogleCloudRunV2ListWorkerPoolsResponse < 3) { + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + checkUnnamed27(o.workerPools!); + } + buildCounterGoogleCloudRunV2ListWorkerPoolsResponse--; +} + core.int buildCounterGoogleCloudRunV2Metadata = 0; api.GoogleCloudRunV2Metadata buildGoogleCloudRunV2Metadata() { final o = api.GoogleCloudRunV2Metadata(); @@ -1505,12 +1720,12 @@ void checkGoogleCloudRunV2NFSVolumeSource( buildCounterGoogleCloudRunV2NFSVolumeSource--; } -core.List buildUnnamed26() => [ +core.List buildUnnamed28() => [ 'foo', 'foo', ]; -void checkUnnamed26(core.List o) { +void checkUnnamed28(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1529,7 +1744,7 @@ api.GoogleCloudRunV2NetworkInterface buildGoogleCloudRunV2NetworkInterface() { if (buildCounterGoogleCloudRunV2NetworkInterface < 3) { o.network = 'foo'; o.subnetwork = 'foo'; - o.tags = buildUnnamed26(); + o.tags = buildUnnamed28(); } buildCounterGoogleCloudRunV2NetworkInterface--; return o; @@ -1547,7 +1762,7 @@ void checkGoogleCloudRunV2NetworkInterface( o.subnetwork!, unittest.equals('foo'), ); - checkUnnamed26(o.tags!); + checkUnnamed28(o.tags!); } buildCounterGoogleCloudRunV2NetworkInterface--; } @@ -1574,12 +1789,12 @@ void checkGoogleCloudRunV2NodeSelector(api.GoogleCloudRunV2NodeSelector o) { buildCounterGoogleCloudRunV2NodeSelector--; } -core.List buildUnnamed27() => [ +core.List buildUnnamed29() => [ buildGoogleCloudRunV2ContainerOverride(), buildGoogleCloudRunV2ContainerOverride(), ]; -void checkUnnamed27(core.List o) { +void checkUnnamed29(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2ContainerOverride(o[0]); checkGoogleCloudRunV2ContainerOverride(o[1]); @@ -1590,7 +1805,7 @@ api.GoogleCloudRunV2Overrides buildGoogleCloudRunV2Overrides() { final o = api.GoogleCloudRunV2Overrides(); buildCounterGoogleCloudRunV2Overrides++; if (buildCounterGoogleCloudRunV2Overrides < 3) { - o.containerOverrides = buildUnnamed27(); + o.containerOverrides = buildUnnamed29(); o.taskCount = 42; o.timeout = 'foo'; } @@ -1601,7 +1816,7 @@ api.GoogleCloudRunV2Overrides buildGoogleCloudRunV2Overrides() { void checkGoogleCloudRunV2Overrides(api.GoogleCloudRunV2Overrides o) { buildCounterGoogleCloudRunV2Overrides++; if (buildCounterGoogleCloudRunV2Overrides < 3) { - checkUnnamed27(o.containerOverrides!); + checkUnnamed29(o.containerOverrides!); unittest.expect( o.taskCount!, unittest.equals(42), @@ -1657,12 +1872,12 @@ void checkGoogleCloudRunV2Probe(api.GoogleCloudRunV2Probe o) { buildCounterGoogleCloudRunV2Probe--; } -core.Map buildUnnamed28() => { +core.Map buildUnnamed30() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed28(core.Map o) { +void checkUnnamed30(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1681,7 +1896,7 @@ api.GoogleCloudRunV2ResourceRequirements buildCounterGoogleCloudRunV2ResourceRequirements++; if (buildCounterGoogleCloudRunV2ResourceRequirements < 3) { o.cpuIdle = true; - o.limits = buildUnnamed28(); + o.limits = buildUnnamed30(); o.startupCpuBoost = true; } buildCounterGoogleCloudRunV2ResourceRequirements--; @@ -1693,18 +1908,18 @@ void checkGoogleCloudRunV2ResourceRequirements( buildCounterGoogleCloudRunV2ResourceRequirements++; if (buildCounterGoogleCloudRunV2ResourceRequirements < 3) { unittest.expect(o.cpuIdle!, unittest.isTrue); - checkUnnamed28(o.limits!); + checkUnnamed30(o.limits!); unittest.expect(o.startupCpuBoost!, unittest.isTrue); } buildCounterGoogleCloudRunV2ResourceRequirements--; } -core.Map buildUnnamed29() => { +core.Map buildUnnamed31() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed29(core.Map o) { +void checkUnnamed31(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1716,34 +1931,34 @@ void checkUnnamed29(core.Map o) { ); } -core.List buildUnnamed30() => [ +core.List buildUnnamed32() => [ buildGoogleCloudRunV2Condition(), buildGoogleCloudRunV2Condition(), ]; -void checkUnnamed30(core.List o) { +void checkUnnamed32(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2Condition(o[0]); checkGoogleCloudRunV2Condition(o[1]); } -core.List buildUnnamed31() => [ +core.List buildUnnamed33() => [ buildGoogleCloudRunV2Container(), buildGoogleCloudRunV2Container(), ]; -void checkUnnamed31(core.List o) { +void checkUnnamed33(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2Container(o[0]); checkGoogleCloudRunV2Container(o[1]); } -core.Map buildUnnamed32() => { +core.Map buildUnnamed34() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed32(core.Map o) { +void checkUnnamed34(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1755,12 +1970,12 @@ void checkUnnamed32(core.Map o) { ); } -core.List buildUnnamed33() => [ +core.List buildUnnamed35() => [ buildGoogleCloudRunV2Volume(), buildGoogleCloudRunV2Volume(), ]; -void checkUnnamed33(core.List o) { +void checkUnnamed35(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2Volume(o[0]); checkGoogleCloudRunV2Volume(o[1]); @@ -1771,10 +1986,11 @@ api.GoogleCloudRunV2Revision buildGoogleCloudRunV2Revision() { final o = api.GoogleCloudRunV2Revision(); buildCounterGoogleCloudRunV2Revision++; if (buildCounterGoogleCloudRunV2Revision < 3) { - o.annotations = buildUnnamed29(); - o.conditions = buildUnnamed30(); - o.containers = buildUnnamed31(); + o.annotations = buildUnnamed31(); + o.conditions = buildUnnamed32(); + o.containers = buildUnnamed33(); o.createTime = 'foo'; + o.creator = 'foo'; o.deleteTime = 'foo'; o.encryptionKey = 'foo'; o.encryptionKeyRevocationAction = 'foo'; @@ -1783,7 +1999,7 @@ api.GoogleCloudRunV2Revision buildGoogleCloudRunV2Revision() { o.executionEnvironment = 'foo'; o.expireTime = 'foo'; o.generation = 'foo'; - o.labels = buildUnnamed32(); + o.labels = buildUnnamed34(); o.launchStage = 'foo'; o.logUri = 'foo'; o.maxInstanceRequestConcurrency = 42; @@ -1801,7 +2017,7 @@ api.GoogleCloudRunV2Revision buildGoogleCloudRunV2Revision() { o.timeout = 'foo'; o.uid = 'foo'; o.updateTime = 'foo'; - o.volumes = buildUnnamed33(); + o.volumes = buildUnnamed35(); o.vpcAccess = buildGoogleCloudRunV2VpcAccess(); } buildCounterGoogleCloudRunV2Revision--; @@ -1811,13 +2027,17 @@ api.GoogleCloudRunV2Revision buildGoogleCloudRunV2Revision() { void checkGoogleCloudRunV2Revision(api.GoogleCloudRunV2Revision o) { buildCounterGoogleCloudRunV2Revision++; if (buildCounterGoogleCloudRunV2Revision < 3) { - checkUnnamed29(o.annotations!); - checkUnnamed30(o.conditions!); - checkUnnamed31(o.containers!); + checkUnnamed31(o.annotations!); + checkUnnamed32(o.conditions!); + checkUnnamed33(o.containers!); unittest.expect( o.createTime!, unittest.equals('foo'), ); + unittest.expect( + o.creator!, + unittest.equals('foo'), + ); unittest.expect( o.deleteTime!, unittest.equals('foo'), @@ -1850,7 +2070,7 @@ void checkGoogleCloudRunV2Revision(api.GoogleCloudRunV2Revision o) { o.generation!, unittest.equals('foo'), ); - checkUnnamed32(o.labels!); + checkUnnamed34(o.labels!); unittest.expect( o.launchStage!, unittest.equals('foo'), @@ -1898,7 +2118,7 @@ void checkGoogleCloudRunV2Revision(api.GoogleCloudRunV2Revision o) { o.updateTime!, unittest.equals('foo'), ); - checkUnnamed33(o.volumes!); + checkUnnamed35(o.volumes!); checkGoogleCloudRunV2VpcAccess(o.vpcAccess!); } buildCounterGoogleCloudRunV2Revision--; @@ -1956,12 +2176,12 @@ void checkGoogleCloudRunV2RevisionScalingStatus( buildCounterGoogleCloudRunV2RevisionScalingStatus--; } -core.Map buildUnnamed34() => { +core.Map buildUnnamed36() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed34(core.Map o) { +void checkUnnamed36(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1973,23 +2193,23 @@ void checkUnnamed34(core.Map o) { ); } -core.List buildUnnamed35() => [ +core.List buildUnnamed37() => [ buildGoogleCloudRunV2Container(), buildGoogleCloudRunV2Container(), ]; -void checkUnnamed35(core.List o) { +void checkUnnamed37(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2Container(o[0]); checkGoogleCloudRunV2Container(o[1]); } -core.Map buildUnnamed36() => { +core.Map buildUnnamed38() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed36(core.Map o) { +void checkUnnamed38(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2001,12 +2221,12 @@ void checkUnnamed36(core.Map o) { ); } -core.List buildUnnamed37() => [ +core.List buildUnnamed39() => [ buildGoogleCloudRunV2Volume(), buildGoogleCloudRunV2Volume(), ]; -void checkUnnamed37(core.List o) { +void checkUnnamed39(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2Volume(o[0]); checkGoogleCloudRunV2Volume(o[1]); @@ -2017,14 +2237,14 @@ api.GoogleCloudRunV2RevisionTemplate buildGoogleCloudRunV2RevisionTemplate() { final o = api.GoogleCloudRunV2RevisionTemplate(); buildCounterGoogleCloudRunV2RevisionTemplate++; if (buildCounterGoogleCloudRunV2RevisionTemplate < 3) { - o.annotations = buildUnnamed34(); - o.containers = buildUnnamed35(); + o.annotations = buildUnnamed36(); + o.containers = buildUnnamed37(); o.encryptionKey = 'foo'; o.encryptionKeyRevocationAction = 'foo'; o.encryptionKeyShutdownDuration = 'foo'; o.executionEnvironment = 'foo'; o.healthCheckDisabled = true; - o.labels = buildUnnamed36(); + o.labels = buildUnnamed38(); o.maxInstanceRequestConcurrency = 42; o.nodeSelector = buildGoogleCloudRunV2NodeSelector(); o.revision = 'foo'; @@ -2033,7 +2253,7 @@ api.GoogleCloudRunV2RevisionTemplate buildGoogleCloudRunV2RevisionTemplate() { o.serviceMesh = buildGoogleCloudRunV2ServiceMesh(); o.sessionAffinity = true; o.timeout = 'foo'; - o.volumes = buildUnnamed37(); + o.volumes = buildUnnamed39(); o.vpcAccess = buildGoogleCloudRunV2VpcAccess(); } buildCounterGoogleCloudRunV2RevisionTemplate--; @@ -2044,8 +2264,8 @@ void checkGoogleCloudRunV2RevisionTemplate( api.GoogleCloudRunV2RevisionTemplate o) { buildCounterGoogleCloudRunV2RevisionTemplate++; if (buildCounterGoogleCloudRunV2RevisionTemplate < 3) { - checkUnnamed34(o.annotations!); - checkUnnamed35(o.containers!); + checkUnnamed36(o.annotations!); + checkUnnamed37(o.containers!); unittest.expect( o.encryptionKey!, unittest.equals('foo'), @@ -2063,7 +2283,7 @@ void checkGoogleCloudRunV2RevisionTemplate( unittest.equals('foo'), ); unittest.expect(o.healthCheckDisabled!, unittest.isTrue); - checkUnnamed36(o.labels!); + checkUnnamed38(o.labels!); unittest.expect( o.maxInstanceRequestConcurrency!, unittest.equals(42), @@ -2084,7 +2304,7 @@ void checkGoogleCloudRunV2RevisionTemplate( o.timeout!, unittest.equals('foo'), ); - checkUnnamed37(o.volumes!); + checkUnnamed39(o.volumes!); checkGoogleCloudRunV2VpcAccess(o.vpcAccess!); } buildCounterGoogleCloudRunV2RevisionTemplate--; @@ -2144,12 +2364,12 @@ void checkGoogleCloudRunV2SecretKeySelector( buildCounterGoogleCloudRunV2SecretKeySelector--; } -core.List buildUnnamed38() => [ +core.List buildUnnamed40() => [ buildGoogleCloudRunV2VersionToPath(), buildGoogleCloudRunV2VersionToPath(), ]; -void checkUnnamed38(core.List o) { +void checkUnnamed40(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2VersionToPath(o[0]); checkGoogleCloudRunV2VersionToPath(o[1]); @@ -2162,7 +2382,7 @@ api.GoogleCloudRunV2SecretVolumeSource buildCounterGoogleCloudRunV2SecretVolumeSource++; if (buildCounterGoogleCloudRunV2SecretVolumeSource < 3) { o.defaultMode = 42; - o.items = buildUnnamed38(); + o.items = buildUnnamed40(); o.secret = 'foo'; } buildCounterGoogleCloudRunV2SecretVolumeSource--; @@ -2177,7 +2397,7 @@ void checkGoogleCloudRunV2SecretVolumeSource( o.defaultMode!, unittest.equals(42), ); - checkUnnamed38(o.items!); + checkUnnamed40(o.items!); unittest.expect( o.secret!, unittest.equals('foo'), @@ -2186,12 +2406,12 @@ void checkGoogleCloudRunV2SecretVolumeSource( buildCounterGoogleCloudRunV2SecretVolumeSource--; } -core.Map buildUnnamed39() => { +core.Map buildUnnamed41() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed39(core.Map o) { +void checkUnnamed41(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2203,23 +2423,23 @@ void checkUnnamed39(core.Map o) { ); } -core.List buildUnnamed40() => [ +core.List buildUnnamed42() => [ buildGoogleCloudRunV2Condition(), buildGoogleCloudRunV2Condition(), ]; -void checkUnnamed40(core.List o) { +void checkUnnamed42(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2Condition(o[0]); checkGoogleCloudRunV2Condition(o[1]); } -core.List buildUnnamed41() => [ +core.List buildUnnamed43() => [ 'foo', 'foo', ]; -void checkUnnamed41(core.List o) { +void checkUnnamed43(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2231,12 +2451,12 @@ void checkUnnamed41(core.List o) { ); } -core.Map buildUnnamed42() => { +core.Map buildUnnamed44() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed42(core.Map o) { +void checkUnnamed44(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2248,34 +2468,34 @@ void checkUnnamed42(core.Map o) { ); } -core.List buildUnnamed43() => [ +core.List buildUnnamed45() => [ buildGoogleCloudRunV2TrafficTarget(), buildGoogleCloudRunV2TrafficTarget(), ]; -void checkUnnamed43(core.List o) { +void checkUnnamed45(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2TrafficTarget(o[0]); checkGoogleCloudRunV2TrafficTarget(o[1]); } -core.List buildUnnamed44() => [ +core.List buildUnnamed46() => [ buildGoogleCloudRunV2TrafficTargetStatus(), buildGoogleCloudRunV2TrafficTargetStatus(), ]; -void checkUnnamed44(core.List o) { +void checkUnnamed46(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2TrafficTargetStatus(o[0]); checkGoogleCloudRunV2TrafficTargetStatus(o[1]); } -core.List buildUnnamed45() => [ +core.List buildUnnamed47() => [ 'foo', 'foo', ]; -void checkUnnamed45(core.List o) { +void checkUnnamed47(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2292,14 +2512,15 @@ api.GoogleCloudRunV2Service buildGoogleCloudRunV2Service() { final o = api.GoogleCloudRunV2Service(); buildCounterGoogleCloudRunV2Service++; if (buildCounterGoogleCloudRunV2Service < 3) { - o.annotations = buildUnnamed39(); + o.annotations = buildUnnamed41(); o.binaryAuthorization = buildGoogleCloudRunV2BinaryAuthorization(); + o.buildConfig = buildGoogleCloudRunV2BuildConfig(); o.client = 'foo'; o.clientVersion = 'foo'; - o.conditions = buildUnnamed40(); + o.conditions = buildUnnamed42(); o.createTime = 'foo'; o.creator = 'foo'; - o.customAudiences = buildUnnamed41(); + o.customAudiences = buildUnnamed43(); o.defaultUriDisabled = true; o.deleteTime = 'foo'; o.description = 'foo'; @@ -2308,7 +2529,7 @@ api.GoogleCloudRunV2Service buildGoogleCloudRunV2Service() { o.generation = 'foo'; o.ingress = 'foo'; o.invokerIamDisabled = true; - o.labels = buildUnnamed42(); + o.labels = buildUnnamed44(); o.lastModifier = 'foo'; o.latestCreatedRevision = 'foo'; o.latestReadyRevision = 'foo'; @@ -2320,12 +2541,12 @@ api.GoogleCloudRunV2Service buildGoogleCloudRunV2Service() { o.scaling = buildGoogleCloudRunV2ServiceScaling(); o.template = buildGoogleCloudRunV2RevisionTemplate(); o.terminalCondition = buildGoogleCloudRunV2Condition(); - o.traffic = buildUnnamed43(); - o.trafficStatuses = buildUnnamed44(); + o.traffic = buildUnnamed45(); + o.trafficStatuses = buildUnnamed46(); o.uid = 'foo'; o.updateTime = 'foo'; o.uri = 'foo'; - o.urls = buildUnnamed45(); + o.urls = buildUnnamed47(); } buildCounterGoogleCloudRunV2Service--; return o; @@ -2334,8 +2555,9 @@ api.GoogleCloudRunV2Service buildGoogleCloudRunV2Service() { void checkGoogleCloudRunV2Service(api.GoogleCloudRunV2Service o) { buildCounterGoogleCloudRunV2Service++; if (buildCounterGoogleCloudRunV2Service < 3) { - checkUnnamed39(o.annotations!); + checkUnnamed41(o.annotations!); checkGoogleCloudRunV2BinaryAuthorization(o.binaryAuthorization!); + checkGoogleCloudRunV2BuildConfig(o.buildConfig!); unittest.expect( o.client!, unittest.equals('foo'), @@ -2344,7 +2566,7 @@ void checkGoogleCloudRunV2Service(api.GoogleCloudRunV2Service o) { o.clientVersion!, unittest.equals('foo'), ); - checkUnnamed40(o.conditions!); + checkUnnamed42(o.conditions!); unittest.expect( o.createTime!, unittest.equals('foo'), @@ -2353,7 +2575,7 @@ void checkGoogleCloudRunV2Service(api.GoogleCloudRunV2Service o) { o.creator!, unittest.equals('foo'), ); - checkUnnamed41(o.customAudiences!); + checkUnnamed43(o.customAudiences!); unittest.expect(o.defaultUriDisabled!, unittest.isTrue); unittest.expect( o.deleteTime!, @@ -2380,7 +2602,7 @@ void checkGoogleCloudRunV2Service(api.GoogleCloudRunV2Service o) { unittest.equals('foo'), ); unittest.expect(o.invokerIamDisabled!, unittest.isTrue); - checkUnnamed42(o.labels!); + checkUnnamed44(o.labels!); unittest.expect( o.lastModifier!, unittest.equals('foo'), @@ -2410,8 +2632,8 @@ void checkGoogleCloudRunV2Service(api.GoogleCloudRunV2Service o) { checkGoogleCloudRunV2ServiceScaling(o.scaling!); checkGoogleCloudRunV2RevisionTemplate(o.template!); checkGoogleCloudRunV2Condition(o.terminalCondition!); - checkUnnamed43(o.traffic!); - checkUnnamed44(o.trafficStatuses!); + checkUnnamed45(o.traffic!); + checkUnnamed46(o.trafficStatuses!); unittest.expect( o.uid!, unittest.equals('foo'), @@ -2424,7 +2646,7 @@ void checkGoogleCloudRunV2Service(api.GoogleCloudRunV2Service o) { o.uri!, unittest.equals('foo'), ); - checkUnnamed45(o.urls!); + checkUnnamed47(o.urls!); } buildCounterGoogleCloudRunV2Service--; } @@ -2520,12 +2742,12 @@ void checkGoogleCloudRunV2StorageSource(api.GoogleCloudRunV2StorageSource o) { buildCounterGoogleCloudRunV2StorageSource--; } -core.List buildUnnamed46() => [ +core.List buildUnnamed48() => [ 'foo', 'foo', ]; -void checkUnnamed46(core.List o) { +void checkUnnamed48(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2548,7 +2770,7 @@ api.GoogleCloudRunV2SubmitBuildRequest o.imageUri = 'foo'; o.serviceAccount = 'foo'; o.storageSource = buildGoogleCloudRunV2StorageSource(); - o.tags = buildUnnamed46(); + o.tags = buildUnnamed48(); o.workerPool = 'foo'; } buildCounterGoogleCloudRunV2SubmitBuildRequest--; @@ -2570,7 +2792,7 @@ void checkGoogleCloudRunV2SubmitBuildRequest( unittest.equals('foo'), ); checkGoogleCloudRunV2StorageSource(o.storageSource!); - checkUnnamed46(o.tags!); + checkUnnamed48(o.tags!); unittest.expect( o.workerPool!, unittest.equals('foo'), @@ -2633,12 +2855,12 @@ void checkGoogleCloudRunV2TCPSocketAction( buildCounterGoogleCloudRunV2TCPSocketAction--; } -core.Map buildUnnamed47() => { +core.Map buildUnnamed49() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed47(core.Map o) { +void checkUnnamed49(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2650,34 +2872,34 @@ void checkUnnamed47(core.Map o) { ); } -core.List buildUnnamed48() => [ +core.List buildUnnamed50() => [ buildGoogleCloudRunV2Condition(), buildGoogleCloudRunV2Condition(), ]; -void checkUnnamed48(core.List o) { +void checkUnnamed50(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2Condition(o[0]); checkGoogleCloudRunV2Condition(o[1]); } -core.List buildUnnamed49() => [ +core.List buildUnnamed51() => [ buildGoogleCloudRunV2Container(), buildGoogleCloudRunV2Container(), ]; -void checkUnnamed49(core.List o) { +void checkUnnamed51(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2Container(o[0]); checkGoogleCloudRunV2Container(o[1]); } -core.Map buildUnnamed50() => { +core.Map buildUnnamed52() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed50(core.Map o) { +void checkUnnamed52(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2689,12 +2911,12 @@ void checkUnnamed50(core.Map o) { ); } -core.List buildUnnamed51() => [ +core.List buildUnnamed53() => [ buildGoogleCloudRunV2Volume(), buildGoogleCloudRunV2Volume(), ]; -void checkUnnamed51(core.List o) { +void checkUnnamed53(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2Volume(o[0]); checkGoogleCloudRunV2Volume(o[1]); @@ -2705,10 +2927,10 @@ api.GoogleCloudRunV2Task buildGoogleCloudRunV2Task() { final o = api.GoogleCloudRunV2Task(); buildCounterGoogleCloudRunV2Task++; if (buildCounterGoogleCloudRunV2Task < 3) { - o.annotations = buildUnnamed47(); + o.annotations = buildUnnamed49(); o.completionTime = 'foo'; - o.conditions = buildUnnamed48(); - o.containers = buildUnnamed49(); + o.conditions = buildUnnamed50(); + o.containers = buildUnnamed51(); o.createTime = 'foo'; o.deleteTime = 'foo'; o.encryptionKey = 'foo'; @@ -2719,11 +2941,12 @@ api.GoogleCloudRunV2Task buildGoogleCloudRunV2Task() { o.generation = 'foo'; o.index = 42; o.job = 'foo'; - o.labels = buildUnnamed50(); + o.labels = buildUnnamed52(); o.lastAttemptResult = buildGoogleCloudRunV2TaskAttemptResult(); o.logUri = 'foo'; o.maxRetries = 42; o.name = 'foo'; + o.nodeSelector = buildGoogleCloudRunV2NodeSelector(); o.observedGeneration = 'foo'; o.reconciling = true; o.retried = 42; @@ -2734,7 +2957,7 @@ api.GoogleCloudRunV2Task buildGoogleCloudRunV2Task() { o.timeout = 'foo'; o.uid = 'foo'; o.updateTime = 'foo'; - o.volumes = buildUnnamed51(); + o.volumes = buildUnnamed53(); o.vpcAccess = buildGoogleCloudRunV2VpcAccess(); } buildCounterGoogleCloudRunV2Task--; @@ -2744,13 +2967,13 @@ api.GoogleCloudRunV2Task buildGoogleCloudRunV2Task() { void checkGoogleCloudRunV2Task(api.GoogleCloudRunV2Task o) { buildCounterGoogleCloudRunV2Task++; if (buildCounterGoogleCloudRunV2Task < 3) { - checkUnnamed47(o.annotations!); + checkUnnamed49(o.annotations!); unittest.expect( o.completionTime!, unittest.equals('foo'), ); - checkUnnamed48(o.conditions!); - checkUnnamed49(o.containers!); + checkUnnamed50(o.conditions!); + checkUnnamed51(o.containers!); unittest.expect( o.createTime!, unittest.equals('foo'), @@ -2791,7 +3014,7 @@ void checkGoogleCloudRunV2Task(api.GoogleCloudRunV2Task o) { o.job!, unittest.equals('foo'), ); - checkUnnamed50(o.labels!); + checkUnnamed52(o.labels!); checkGoogleCloudRunV2TaskAttemptResult(o.lastAttemptResult!); unittest.expect( o.logUri!, @@ -2805,6 +3028,7 @@ void checkGoogleCloudRunV2Task(api.GoogleCloudRunV2Task o) { o.name!, unittest.equals('foo'), ); + checkGoogleCloudRunV2NodeSelector(o.nodeSelector!); unittest.expect( o.observedGeneration!, unittest.equals('foo'), @@ -2839,7 +3063,7 @@ void checkGoogleCloudRunV2Task(api.GoogleCloudRunV2Task o) { o.updateTime!, unittest.equals('foo'), ); - checkUnnamed51(o.volumes!); + checkUnnamed53(o.volumes!); checkGoogleCloudRunV2VpcAccess(o.vpcAccess!); } buildCounterGoogleCloudRunV2Task--; @@ -2870,23 +3094,23 @@ void checkGoogleCloudRunV2TaskAttemptResult( buildCounterGoogleCloudRunV2TaskAttemptResult--; } -core.List buildUnnamed52() => [ +core.List buildUnnamed54() => [ buildGoogleCloudRunV2Container(), buildGoogleCloudRunV2Container(), ]; -void checkUnnamed52(core.List o) { +void checkUnnamed54(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2Container(o[0]); checkGoogleCloudRunV2Container(o[1]); } -core.List buildUnnamed53() => [ +core.List buildUnnamed55() => [ buildGoogleCloudRunV2Volume(), buildGoogleCloudRunV2Volume(), ]; -void checkUnnamed53(core.List o) { +void checkUnnamed55(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2Volume(o[0]); checkGoogleCloudRunV2Volume(o[1]); @@ -2897,13 +3121,14 @@ api.GoogleCloudRunV2TaskTemplate buildGoogleCloudRunV2TaskTemplate() { final o = api.GoogleCloudRunV2TaskTemplate(); buildCounterGoogleCloudRunV2TaskTemplate++; if (buildCounterGoogleCloudRunV2TaskTemplate < 3) { - o.containers = buildUnnamed52(); + o.containers = buildUnnamed54(); o.encryptionKey = 'foo'; o.executionEnvironment = 'foo'; o.maxRetries = 42; + o.nodeSelector = buildGoogleCloudRunV2NodeSelector(); o.serviceAccount = 'foo'; o.timeout = 'foo'; - o.volumes = buildUnnamed53(); + o.volumes = buildUnnamed55(); o.vpcAccess = buildGoogleCloudRunV2VpcAccess(); } buildCounterGoogleCloudRunV2TaskTemplate--; @@ -2913,7 +3138,7 @@ api.GoogleCloudRunV2TaskTemplate buildGoogleCloudRunV2TaskTemplate() { void checkGoogleCloudRunV2TaskTemplate(api.GoogleCloudRunV2TaskTemplate o) { buildCounterGoogleCloudRunV2TaskTemplate++; if (buildCounterGoogleCloudRunV2TaskTemplate < 3) { - checkUnnamed52(o.containers!); + checkUnnamed54(o.containers!); unittest.expect( o.encryptionKey!, unittest.equals('foo'), @@ -2926,6 +3151,7 @@ void checkGoogleCloudRunV2TaskTemplate(api.GoogleCloudRunV2TaskTemplate o) { o.maxRetries!, unittest.equals(42), ); + checkGoogleCloudRunV2NodeSelector(o.nodeSelector!); unittest.expect( o.serviceAccount!, unittest.equals('foo'), @@ -2934,7 +3160,7 @@ void checkGoogleCloudRunV2TaskTemplate(api.GoogleCloudRunV2TaskTemplate o) { o.timeout!, unittest.equals('foo'), ); - checkUnnamed53(o.volumes!); + checkUnnamed55(o.volumes!); checkGoogleCloudRunV2VpcAccess(o.vpcAccess!); } buildCounterGoogleCloudRunV2TaskTemplate--; @@ -3112,12 +3338,12 @@ void checkGoogleCloudRunV2VolumeMount(api.GoogleCloudRunV2VolumeMount o) { buildCounterGoogleCloudRunV2VolumeMount--; } -core.List buildUnnamed54() => [ +core.List buildUnnamed56() => [ buildGoogleCloudRunV2NetworkInterface(), buildGoogleCloudRunV2NetworkInterface(), ]; -void checkUnnamed54(core.List o) { +void checkUnnamed56(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudRunV2NetworkInterface(o[0]); checkGoogleCloudRunV2NetworkInterface(o[1]); @@ -3130,7 +3356,7 @@ api.GoogleCloudRunV2VpcAccess buildGoogleCloudRunV2VpcAccess() { if (buildCounterGoogleCloudRunV2VpcAccess < 3) { o.connector = 'foo'; o.egress = 'foo'; - o.networkInterfaces = buildUnnamed54(); + o.networkInterfaces = buildUnnamed56(); } buildCounterGoogleCloudRunV2VpcAccess--; return o; @@ -3147,52 +3373,45 @@ void checkGoogleCloudRunV2VpcAccess(api.GoogleCloudRunV2VpcAccess o) { o.egress!, unittest.equals('foo'), ); - checkUnnamed54(o.networkInterfaces!); + checkUnnamed56(o.networkInterfaces!); } buildCounterGoogleCloudRunV2VpcAccess--; } -core.List buildUnnamed55() => [ - buildGoogleIamV1AuditLogConfig(), - buildGoogleIamV1AuditLogConfig(), - ]; +core.Map buildUnnamed57() => { + 'x': 'foo', + 'y': 'foo', + }; -void checkUnnamed55(core.List o) { +void checkUnnamed57(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - checkGoogleIamV1AuditLogConfig(o[0]); - checkGoogleIamV1AuditLogConfig(o[1]); + unittest.expect( + o['x']!, + unittest.equals('foo'), + ); + unittest.expect( + o['y']!, + unittest.equals('foo'), + ); } -core.int buildCounterGoogleIamV1AuditConfig = 0; -api.GoogleIamV1AuditConfig buildGoogleIamV1AuditConfig() { - final o = api.GoogleIamV1AuditConfig(); - buildCounterGoogleIamV1AuditConfig++; - if (buildCounterGoogleIamV1AuditConfig < 3) { - o.auditLogConfigs = buildUnnamed55(); - o.service = 'foo'; - } - buildCounterGoogleIamV1AuditConfig--; - return o; -} +core.List buildUnnamed58() => [ + buildGoogleCloudRunV2Condition(), + buildGoogleCloudRunV2Condition(), + ]; -void checkGoogleIamV1AuditConfig(api.GoogleIamV1AuditConfig o) { - buildCounterGoogleIamV1AuditConfig++; - if (buildCounterGoogleIamV1AuditConfig < 3) { - checkUnnamed55(o.auditLogConfigs!); - unittest.expect( - o.service!, - unittest.equals('foo'), - ); - } - buildCounterGoogleIamV1AuditConfig--; +void checkUnnamed58(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudRunV2Condition(o[0]); + checkGoogleCloudRunV2Condition(o[1]); } -core.List buildUnnamed56() => [ +core.List buildUnnamed59() => [ 'foo', 'foo', ]; -void checkUnnamed56(core.List o) { +void checkUnnamed59(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3204,423 +3423,645 @@ void checkUnnamed56(core.List o) { ); } -core.int buildCounterGoogleIamV1AuditLogConfig = 0; -api.GoogleIamV1AuditLogConfig buildGoogleIamV1AuditLogConfig() { - final o = api.GoogleIamV1AuditLogConfig(); - buildCounterGoogleIamV1AuditLogConfig++; - if (buildCounterGoogleIamV1AuditLogConfig < 3) { - o.exemptedMembers = buildUnnamed56(); - o.logType = 'foo'; - } - buildCounterGoogleIamV1AuditLogConfig--; - return o; -} +core.List buildUnnamed60() => [ + buildGoogleCloudRunV2InstanceSplitStatus(), + buildGoogleCloudRunV2InstanceSplitStatus(), + ]; -void checkGoogleIamV1AuditLogConfig(api.GoogleIamV1AuditLogConfig o) { - buildCounterGoogleIamV1AuditLogConfig++; - if (buildCounterGoogleIamV1AuditLogConfig < 3) { - checkUnnamed56(o.exemptedMembers!); - unittest.expect( - o.logType!, - unittest.equals('foo'), - ); - } - buildCounterGoogleIamV1AuditLogConfig--; +void checkUnnamed60(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudRunV2InstanceSplitStatus(o[0]); + checkGoogleCloudRunV2InstanceSplitStatus(o[1]); } -core.List buildUnnamed57() => [ - 'foo', - 'foo', +core.List buildUnnamed61() => [ + buildGoogleCloudRunV2InstanceSplit(), + buildGoogleCloudRunV2InstanceSplit(), ]; -void checkUnnamed57(core.List o) { +void checkUnnamed61(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudRunV2InstanceSplit(o[0]); + checkGoogleCloudRunV2InstanceSplit(o[1]); +} + +core.Map buildUnnamed62() => { + 'x': 'foo', + 'y': 'foo', + }; + +void checkUnnamed62(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( - o[0], + o['x']!, unittest.equals('foo'), ); unittest.expect( - o[1], + o['y']!, unittest.equals('foo'), ); } -core.int buildCounterGoogleIamV1Binding = 0; -api.GoogleIamV1Binding buildGoogleIamV1Binding() { - final o = api.GoogleIamV1Binding(); - buildCounterGoogleIamV1Binding++; - if (buildCounterGoogleIamV1Binding < 3) { - o.condition = buildGoogleTypeExpr(); - o.members = buildUnnamed57(); - o.role = 'foo'; +core.int buildCounterGoogleCloudRunV2WorkerPool = 0; +api.GoogleCloudRunV2WorkerPool buildGoogleCloudRunV2WorkerPool() { + final o = api.GoogleCloudRunV2WorkerPool(); + buildCounterGoogleCloudRunV2WorkerPool++; + if (buildCounterGoogleCloudRunV2WorkerPool < 3) { + o.annotations = buildUnnamed57(); + o.binaryAuthorization = buildGoogleCloudRunV2BinaryAuthorization(); + o.client = 'foo'; + o.clientVersion = 'foo'; + o.conditions = buildUnnamed58(); + o.createTime = 'foo'; + o.creator = 'foo'; + o.customAudiences = buildUnnamed59(); + o.deleteTime = 'foo'; + o.description = 'foo'; + o.etag = 'foo'; + o.expireTime = 'foo'; + o.generation = 'foo'; + o.instanceSplitStatuses = buildUnnamed60(); + o.instanceSplits = buildUnnamed61(); + o.labels = buildUnnamed62(); + o.lastModifier = 'foo'; + o.latestCreatedRevision = 'foo'; + o.latestReadyRevision = 'foo'; + o.launchStage = 'foo'; + o.name = 'foo'; + o.observedGeneration = 'foo'; + o.reconciling = true; + o.satisfiesPzs = true; + o.scaling = buildGoogleCloudRunV2WorkerPoolScaling(); + o.template = buildGoogleCloudRunV2WorkerPoolRevisionTemplate(); + o.terminalCondition = buildGoogleCloudRunV2Condition(); + o.uid = 'foo'; + o.updateTime = 'foo'; } - buildCounterGoogleIamV1Binding--; + buildCounterGoogleCloudRunV2WorkerPool--; return o; } -void checkGoogleIamV1Binding(api.GoogleIamV1Binding o) { - buildCounterGoogleIamV1Binding++; - if (buildCounterGoogleIamV1Binding < 3) { - checkGoogleTypeExpr(o.condition!); - checkUnnamed57(o.members!); +void checkGoogleCloudRunV2WorkerPool(api.GoogleCloudRunV2WorkerPool o) { + buildCounterGoogleCloudRunV2WorkerPool++; + if (buildCounterGoogleCloudRunV2WorkerPool < 3) { + checkUnnamed57(o.annotations!); + checkGoogleCloudRunV2BinaryAuthorization(o.binaryAuthorization!); unittest.expect( - o.role!, + o.client!, + unittest.equals('foo'), + ); + unittest.expect( + o.clientVersion!, + unittest.equals('foo'), + ); + checkUnnamed58(o.conditions!); + unittest.expect( + o.createTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.creator!, + unittest.equals('foo'), + ); + checkUnnamed59(o.customAudiences!); + unittest.expect( + o.deleteTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.description!, unittest.equals('foo'), ); - } - buildCounterGoogleIamV1Binding--; -} - -core.List buildUnnamed58() => [ - buildGoogleIamV1AuditConfig(), - buildGoogleIamV1AuditConfig(), - ]; - -void checkUnnamed58(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - checkGoogleIamV1AuditConfig(o[0]); - checkGoogleIamV1AuditConfig(o[1]); -} - -core.List buildUnnamed59() => [ - buildGoogleIamV1Binding(), - buildGoogleIamV1Binding(), - ]; - -void checkUnnamed59(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - checkGoogleIamV1Binding(o[0]); - checkGoogleIamV1Binding(o[1]); -} - -core.int buildCounterGoogleIamV1Policy = 0; -api.GoogleIamV1Policy buildGoogleIamV1Policy() { - final o = api.GoogleIamV1Policy(); - buildCounterGoogleIamV1Policy++; - if (buildCounterGoogleIamV1Policy < 3) { - o.auditConfigs = buildUnnamed58(); - o.bindings = buildUnnamed59(); - o.etag = 'foo'; - o.version = 42; - } - buildCounterGoogleIamV1Policy--; - return o; -} - -void checkGoogleIamV1Policy(api.GoogleIamV1Policy o) { - buildCounterGoogleIamV1Policy++; - if (buildCounterGoogleIamV1Policy < 3) { - checkUnnamed58(o.auditConfigs!); - checkUnnamed59(o.bindings!); unittest.expect( o.etag!, unittest.equals('foo'), ); unittest.expect( - o.version!, - unittest.equals(42), + o.expireTime!, + unittest.equals('foo'), ); - } - buildCounterGoogleIamV1Policy--; -} - -core.int buildCounterGoogleIamV1SetIamPolicyRequest = 0; -api.GoogleIamV1SetIamPolicyRequest buildGoogleIamV1SetIamPolicyRequest() { - final o = api.GoogleIamV1SetIamPolicyRequest(); - buildCounterGoogleIamV1SetIamPolicyRequest++; - if (buildCounterGoogleIamV1SetIamPolicyRequest < 3) { - o.policy = buildGoogleIamV1Policy(); - o.updateMask = 'foo'; - } - buildCounterGoogleIamV1SetIamPolicyRequest--; - return o; -} - -void checkGoogleIamV1SetIamPolicyRequest(api.GoogleIamV1SetIamPolicyRequest o) { - buildCounterGoogleIamV1SetIamPolicyRequest++; - if (buildCounterGoogleIamV1SetIamPolicyRequest < 3) { - checkGoogleIamV1Policy(o.policy!); unittest.expect( - o.updateMask!, + o.generation!, + unittest.equals('foo'), + ); + checkUnnamed60(o.instanceSplitStatuses!); + checkUnnamed61(o.instanceSplits!); + checkUnnamed62(o.labels!); + unittest.expect( + o.lastModifier!, + unittest.equals('foo'), + ); + unittest.expect( + o.latestCreatedRevision!, + unittest.equals('foo'), + ); + unittest.expect( + o.latestReadyRevision!, + unittest.equals('foo'), + ); + unittest.expect( + o.launchStage!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.observedGeneration!, + unittest.equals('foo'), + ); + unittest.expect(o.reconciling!, unittest.isTrue); + unittest.expect(o.satisfiesPzs!, unittest.isTrue); + checkGoogleCloudRunV2WorkerPoolScaling(o.scaling!); + checkGoogleCloudRunV2WorkerPoolRevisionTemplate(o.template!); + checkGoogleCloudRunV2Condition(o.terminalCondition!); + unittest.expect( + o.uid!, + unittest.equals('foo'), + ); + unittest.expect( + o.updateTime!, unittest.equals('foo'), ); } - buildCounterGoogleIamV1SetIamPolicyRequest--; + buildCounterGoogleCloudRunV2WorkerPool--; } -core.List buildUnnamed60() => [ - 'foo', - 'foo', - ]; +core.Map buildUnnamed63() => { + 'x': 'foo', + 'y': 'foo', + }; -void checkUnnamed60(core.List o) { +void checkUnnamed63(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( - o[0], + o['x']!, unittest.equals('foo'), ); unittest.expect( - o[1], + o['y']!, unittest.equals('foo'), ); } -core.int buildCounterGoogleIamV1TestIamPermissionsRequest = 0; -api.GoogleIamV1TestIamPermissionsRequest - buildGoogleIamV1TestIamPermissionsRequest() { - final o = api.GoogleIamV1TestIamPermissionsRequest(); - buildCounterGoogleIamV1TestIamPermissionsRequest++; - if (buildCounterGoogleIamV1TestIamPermissionsRequest < 3) { - o.permissions = buildUnnamed60(); - } - buildCounterGoogleIamV1TestIamPermissionsRequest--; - return o; -} +core.List buildUnnamed64() => [ + buildGoogleCloudRunV2Container(), + buildGoogleCloudRunV2Container(), + ]; -void checkGoogleIamV1TestIamPermissionsRequest( - api.GoogleIamV1TestIamPermissionsRequest o) { - buildCounterGoogleIamV1TestIamPermissionsRequest++; - if (buildCounterGoogleIamV1TestIamPermissionsRequest < 3) { - checkUnnamed60(o.permissions!); - } - buildCounterGoogleIamV1TestIamPermissionsRequest--; +void checkUnnamed64(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleCloudRunV2Container(o[0]); + checkGoogleCloudRunV2Container(o[1]); } -core.List buildUnnamed61() => [ - 'foo', - 'foo', - ]; +core.Map buildUnnamed65() => { + 'x': 'foo', + 'y': 'foo', + }; -void checkUnnamed61(core.List o) { +void checkUnnamed65(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( - o[0], + o['x']!, unittest.equals('foo'), ); unittest.expect( - o[1], + o['y']!, unittest.equals('foo'), ); } -core.int buildCounterGoogleIamV1TestIamPermissionsResponse = 0; -api.GoogleIamV1TestIamPermissionsResponse - buildGoogleIamV1TestIamPermissionsResponse() { - final o = api.GoogleIamV1TestIamPermissionsResponse(); - buildCounterGoogleIamV1TestIamPermissionsResponse++; - if (buildCounterGoogleIamV1TestIamPermissionsResponse < 3) { - o.permissions = buildUnnamed61(); - } - buildCounterGoogleIamV1TestIamPermissionsResponse--; - return o; -} - -void checkGoogleIamV1TestIamPermissionsResponse( - api.GoogleIamV1TestIamPermissionsResponse o) { - buildCounterGoogleIamV1TestIamPermissionsResponse++; - if (buildCounterGoogleIamV1TestIamPermissionsResponse < 3) { - checkUnnamed61(o.permissions!); - } - buildCounterGoogleIamV1TestIamPermissionsResponse--; -} - -core.List buildUnnamed62() => [ - buildGoogleLongrunningOperation(), - buildGoogleLongrunningOperation(), +core.List buildUnnamed66() => [ + buildGoogleCloudRunV2Volume(), + buildGoogleCloudRunV2Volume(), ]; -void checkUnnamed62(core.List o) { +void checkUnnamed66(core.List o) { unittest.expect(o, unittest.hasLength(2)); - checkGoogleLongrunningOperation(o[0]); - checkGoogleLongrunningOperation(o[1]); + checkGoogleCloudRunV2Volume(o[0]); + checkGoogleCloudRunV2Volume(o[1]); } -core.int buildCounterGoogleLongrunningListOperationsResponse = 0; -api.GoogleLongrunningListOperationsResponse - buildGoogleLongrunningListOperationsResponse() { - final o = api.GoogleLongrunningListOperationsResponse(); - buildCounterGoogleLongrunningListOperationsResponse++; - if (buildCounterGoogleLongrunningListOperationsResponse < 3) { - o.nextPageToken = 'foo'; - o.operations = buildUnnamed62(); +core.int buildCounterGoogleCloudRunV2WorkerPoolRevisionTemplate = 0; +api.GoogleCloudRunV2WorkerPoolRevisionTemplate + buildGoogleCloudRunV2WorkerPoolRevisionTemplate() { + final o = api.GoogleCloudRunV2WorkerPoolRevisionTemplate(); + buildCounterGoogleCloudRunV2WorkerPoolRevisionTemplate++; + if (buildCounterGoogleCloudRunV2WorkerPoolRevisionTemplate < 3) { + o.annotations = buildUnnamed63(); + o.containers = buildUnnamed64(); + o.encryptionKey = 'foo'; + o.encryptionKeyRevocationAction = 'foo'; + o.encryptionKeyShutdownDuration = 'foo'; + o.labels = buildUnnamed65(); + o.nodeSelector = buildGoogleCloudRunV2NodeSelector(); + o.revision = 'foo'; + o.serviceAccount = 'foo'; + o.serviceMesh = buildGoogleCloudRunV2ServiceMesh(); + o.sessionAffinity = true; + o.volumes = buildUnnamed66(); + o.vpcAccess = buildGoogleCloudRunV2VpcAccess(); } - buildCounterGoogleLongrunningListOperationsResponse--; + buildCounterGoogleCloudRunV2WorkerPoolRevisionTemplate--; return o; } -void checkGoogleLongrunningListOperationsResponse( - api.GoogleLongrunningListOperationsResponse o) { - buildCounterGoogleLongrunningListOperationsResponse++; - if (buildCounterGoogleLongrunningListOperationsResponse < 3) { +void checkGoogleCloudRunV2WorkerPoolRevisionTemplate( + api.GoogleCloudRunV2WorkerPoolRevisionTemplate o) { + buildCounterGoogleCloudRunV2WorkerPoolRevisionTemplate++; + if (buildCounterGoogleCloudRunV2WorkerPoolRevisionTemplate < 3) { + checkUnnamed63(o.annotations!); + checkUnnamed64(o.containers!); unittest.expect( - o.nextPageToken!, + o.encryptionKey!, + unittest.equals('foo'), + ); + unittest.expect( + o.encryptionKeyRevocationAction!, + unittest.equals('foo'), + ); + unittest.expect( + o.encryptionKeyShutdownDuration!, + unittest.equals('foo'), + ); + checkUnnamed65(o.labels!); + checkGoogleCloudRunV2NodeSelector(o.nodeSelector!); + unittest.expect( + o.revision!, + unittest.equals('foo'), + ); + unittest.expect( + o.serviceAccount!, unittest.equals('foo'), ); - checkUnnamed62(o.operations!); + checkGoogleCloudRunV2ServiceMesh(o.serviceMesh!); + unittest.expect(o.sessionAffinity!, unittest.isTrue); + checkUnnamed66(o.volumes!); + checkGoogleCloudRunV2VpcAccess(o.vpcAccess!); } - buildCounterGoogleLongrunningListOperationsResponse--; + buildCounterGoogleCloudRunV2WorkerPoolRevisionTemplate--; } -core.Map buildUnnamed63() => { - 'x': { - 'list': [1, 2, 3], - 'bool': true, - 'string': 'foo' - }, - 'y': { - 'list': [1, 2, 3], - 'bool': true, - 'string': 'foo' - }, - }; +core.int buildCounterGoogleCloudRunV2WorkerPoolScaling = 0; +api.GoogleCloudRunV2WorkerPoolScaling buildGoogleCloudRunV2WorkerPoolScaling() { + final o = api.GoogleCloudRunV2WorkerPoolScaling(); + buildCounterGoogleCloudRunV2WorkerPoolScaling++; + if (buildCounterGoogleCloudRunV2WorkerPoolScaling < 3) { + o.manualInstanceCount = 42; + o.maxInstanceCount = 42; + o.maxSurge = 42; + o.maxUnavailable = 42; + o.minInstanceCount = 42; + o.scalingMode = 'foo'; + } + buildCounterGoogleCloudRunV2WorkerPoolScaling--; + return o; +} + +void checkGoogleCloudRunV2WorkerPoolScaling( + api.GoogleCloudRunV2WorkerPoolScaling o) { + buildCounterGoogleCloudRunV2WorkerPoolScaling++; + if (buildCounterGoogleCloudRunV2WorkerPoolScaling < 3) { + unittest.expect( + o.manualInstanceCount!, + unittest.equals(42), + ); + unittest.expect( + o.maxInstanceCount!, + unittest.equals(42), + ); + unittest.expect( + o.maxSurge!, + unittest.equals(42), + ); + unittest.expect( + o.maxUnavailable!, + unittest.equals(42), + ); + unittest.expect( + o.minInstanceCount!, + unittest.equals(42), + ); + unittest.expect( + o.scalingMode!, + unittest.equals('foo'), + ); + } + buildCounterGoogleCloudRunV2WorkerPoolScaling--; +} + +core.List buildUnnamed67() => [ + buildGoogleIamV1AuditLogConfig(), + buildGoogleIamV1AuditLogConfig(), + ]; -void checkUnnamed63(core.Map o) { +void checkUnnamed67(core.List o) { unittest.expect(o, unittest.hasLength(2)); - var casted1 = (o['x']!) as core.Map; - unittest.expect(casted1, unittest.hasLength(3)); - unittest.expect( - casted1['list'], - unittest.equals([1, 2, 3]), - ); - unittest.expect( - casted1['bool'], - unittest.equals(true), - ); - unittest.expect( - casted1['string'], - unittest.equals('foo'), - ); - var casted2 = (o['y']!) as core.Map; - unittest.expect(casted2, unittest.hasLength(3)); - unittest.expect( - casted2['list'], - unittest.equals([1, 2, 3]), - ); - unittest.expect( - casted2['bool'], - unittest.equals(true), - ); - unittest.expect( - casted2['string'], - unittest.equals('foo'), - ); + checkGoogleIamV1AuditLogConfig(o[0]); + checkGoogleIamV1AuditLogConfig(o[1]); } -core.Map buildUnnamed64() => { - 'x': { - 'list': [1, 2, 3], - 'bool': true, - 'string': 'foo' - }, - 'y': { - 'list': [1, 2, 3], - 'bool': true, - 'string': 'foo' - }, - }; +core.int buildCounterGoogleIamV1AuditConfig = 0; +api.GoogleIamV1AuditConfig buildGoogleIamV1AuditConfig() { + final o = api.GoogleIamV1AuditConfig(); + buildCounterGoogleIamV1AuditConfig++; + if (buildCounterGoogleIamV1AuditConfig < 3) { + o.auditLogConfigs = buildUnnamed67(); + o.service = 'foo'; + } + buildCounterGoogleIamV1AuditConfig--; + return o; +} + +void checkGoogleIamV1AuditConfig(api.GoogleIamV1AuditConfig o) { + buildCounterGoogleIamV1AuditConfig++; + if (buildCounterGoogleIamV1AuditConfig < 3) { + checkUnnamed67(o.auditLogConfigs!); + unittest.expect( + o.service!, + unittest.equals('foo'), + ); + } + buildCounterGoogleIamV1AuditConfig--; +} + +core.List buildUnnamed68() => [ + 'foo', + 'foo', + ]; -void checkUnnamed64(core.Map o) { +void checkUnnamed68(core.List o) { unittest.expect(o, unittest.hasLength(2)); - var casted3 = (o['x']!) as core.Map; - unittest.expect(casted3, unittest.hasLength(3)); - unittest.expect( - casted3['list'], - unittest.equals([1, 2, 3]), - ); - unittest.expect( - casted3['bool'], - unittest.equals(true), - ); unittest.expect( - casted3['string'], + o[0], unittest.equals('foo'), ); - var casted4 = (o['y']!) as core.Map; - unittest.expect(casted4, unittest.hasLength(3)); - unittest.expect( - casted4['list'], - unittest.equals([1, 2, 3]), - ); - unittest.expect( - casted4['bool'], - unittest.equals(true), - ); unittest.expect( - casted4['string'], + o[1], unittest.equals('foo'), ); } -core.int buildCounterGoogleLongrunningOperation = 0; -api.GoogleLongrunningOperation buildGoogleLongrunningOperation() { - final o = api.GoogleLongrunningOperation(); - buildCounterGoogleLongrunningOperation++; - if (buildCounterGoogleLongrunningOperation < 3) { - o.done = true; - o.error = buildGoogleRpcStatus(); - o.metadata = buildUnnamed63(); - o.name = 'foo'; - o.response = buildUnnamed64(); +core.int buildCounterGoogleIamV1AuditLogConfig = 0; +api.GoogleIamV1AuditLogConfig buildGoogleIamV1AuditLogConfig() { + final o = api.GoogleIamV1AuditLogConfig(); + buildCounterGoogleIamV1AuditLogConfig++; + if (buildCounterGoogleIamV1AuditLogConfig < 3) { + o.exemptedMembers = buildUnnamed68(); + o.logType = 'foo'; } - buildCounterGoogleLongrunningOperation--; + buildCounterGoogleIamV1AuditLogConfig--; return o; } -void checkGoogleLongrunningOperation(api.GoogleLongrunningOperation o) { - buildCounterGoogleLongrunningOperation++; - if (buildCounterGoogleLongrunningOperation < 3) { - unittest.expect(o.done!, unittest.isTrue); - checkGoogleRpcStatus(o.error!); - checkUnnamed63(o.metadata!); +void checkGoogleIamV1AuditLogConfig(api.GoogleIamV1AuditLogConfig o) { + buildCounterGoogleIamV1AuditLogConfig++; + if (buildCounterGoogleIamV1AuditLogConfig < 3) { + checkUnnamed68(o.exemptedMembers!); unittest.expect( - o.name!, + o.logType!, unittest.equals('foo'), ); - checkUnnamed64(o.response!); } - buildCounterGoogleLongrunningOperation--; + buildCounterGoogleIamV1AuditLogConfig--; } -core.int buildCounterGoogleLongrunningWaitOperationRequest = 0; -api.GoogleLongrunningWaitOperationRequest - buildGoogleLongrunningWaitOperationRequest() { - final o = api.GoogleLongrunningWaitOperationRequest(); - buildCounterGoogleLongrunningWaitOperationRequest++; - if (buildCounterGoogleLongrunningWaitOperationRequest < 3) { - o.timeout = 'foo'; +core.List buildUnnamed69() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed69(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterGoogleIamV1Binding = 0; +api.GoogleIamV1Binding buildGoogleIamV1Binding() { + final o = api.GoogleIamV1Binding(); + buildCounterGoogleIamV1Binding++; + if (buildCounterGoogleIamV1Binding < 3) { + o.condition = buildGoogleTypeExpr(); + o.members = buildUnnamed69(); + o.role = 'foo'; } - buildCounterGoogleLongrunningWaitOperationRequest--; + buildCounterGoogleIamV1Binding--; return o; } -void checkGoogleLongrunningWaitOperationRequest( - api.GoogleLongrunningWaitOperationRequest o) { - buildCounterGoogleLongrunningWaitOperationRequest++; - if (buildCounterGoogleLongrunningWaitOperationRequest < 3) { +void checkGoogleIamV1Binding(api.GoogleIamV1Binding o) { + buildCounterGoogleIamV1Binding++; + if (buildCounterGoogleIamV1Binding < 3) { + checkGoogleTypeExpr(o.condition!); + checkUnnamed69(o.members!); unittest.expect( - o.timeout!, + o.role!, unittest.equals('foo'), ); } - buildCounterGoogleLongrunningWaitOperationRequest--; + buildCounterGoogleIamV1Binding--; } -core.int buildCounterGoogleProtobufEmpty = 0; -api.GoogleProtobufEmpty buildGoogleProtobufEmpty() { - final o = api.GoogleProtobufEmpty(); - buildCounterGoogleProtobufEmpty++; - if (buildCounterGoogleProtobufEmpty < 3) {} - buildCounterGoogleProtobufEmpty--; - return o; +core.List buildUnnamed70() => [ + buildGoogleIamV1AuditConfig(), + buildGoogleIamV1AuditConfig(), + ]; + +void checkUnnamed70(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleIamV1AuditConfig(o[0]); + checkGoogleIamV1AuditConfig(o[1]); } -void checkGoogleProtobufEmpty(api.GoogleProtobufEmpty o) { - buildCounterGoogleProtobufEmpty++; - if (buildCounterGoogleProtobufEmpty < 3) {} - buildCounterGoogleProtobufEmpty--; +core.List buildUnnamed71() => [ + buildGoogleIamV1Binding(), + buildGoogleIamV1Binding(), + ]; + +void checkUnnamed71(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleIamV1Binding(o[0]); + checkGoogleIamV1Binding(o[1]); } -core.Map buildUnnamed65() => { +core.int buildCounterGoogleIamV1Policy = 0; +api.GoogleIamV1Policy buildGoogleIamV1Policy() { + final o = api.GoogleIamV1Policy(); + buildCounterGoogleIamV1Policy++; + if (buildCounterGoogleIamV1Policy < 3) { + o.auditConfigs = buildUnnamed70(); + o.bindings = buildUnnamed71(); + o.etag = 'foo'; + o.version = 42; + } + buildCounterGoogleIamV1Policy--; + return o; +} + +void checkGoogleIamV1Policy(api.GoogleIamV1Policy o) { + buildCounterGoogleIamV1Policy++; + if (buildCounterGoogleIamV1Policy < 3) { + checkUnnamed70(o.auditConfigs!); + checkUnnamed71(o.bindings!); + unittest.expect( + o.etag!, + unittest.equals('foo'), + ); + unittest.expect( + o.version!, + unittest.equals(42), + ); + } + buildCounterGoogleIamV1Policy--; +} + +core.int buildCounterGoogleIamV1SetIamPolicyRequest = 0; +api.GoogleIamV1SetIamPolicyRequest buildGoogleIamV1SetIamPolicyRequest() { + final o = api.GoogleIamV1SetIamPolicyRequest(); + buildCounterGoogleIamV1SetIamPolicyRequest++; + if (buildCounterGoogleIamV1SetIamPolicyRequest < 3) { + o.policy = buildGoogleIamV1Policy(); + o.updateMask = 'foo'; + } + buildCounterGoogleIamV1SetIamPolicyRequest--; + return o; +} + +void checkGoogleIamV1SetIamPolicyRequest(api.GoogleIamV1SetIamPolicyRequest o) { + buildCounterGoogleIamV1SetIamPolicyRequest++; + if (buildCounterGoogleIamV1SetIamPolicyRequest < 3) { + checkGoogleIamV1Policy(o.policy!); + unittest.expect( + o.updateMask!, + unittest.equals('foo'), + ); + } + buildCounterGoogleIamV1SetIamPolicyRequest--; +} + +core.List buildUnnamed72() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed72(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterGoogleIamV1TestIamPermissionsRequest = 0; +api.GoogleIamV1TestIamPermissionsRequest + buildGoogleIamV1TestIamPermissionsRequest() { + final o = api.GoogleIamV1TestIamPermissionsRequest(); + buildCounterGoogleIamV1TestIamPermissionsRequest++; + if (buildCounterGoogleIamV1TestIamPermissionsRequest < 3) { + o.permissions = buildUnnamed72(); + } + buildCounterGoogleIamV1TestIamPermissionsRequest--; + return o; +} + +void checkGoogleIamV1TestIamPermissionsRequest( + api.GoogleIamV1TestIamPermissionsRequest o) { + buildCounterGoogleIamV1TestIamPermissionsRequest++; + if (buildCounterGoogleIamV1TestIamPermissionsRequest < 3) { + checkUnnamed72(o.permissions!); + } + buildCounterGoogleIamV1TestIamPermissionsRequest--; +} + +core.List buildUnnamed73() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed73(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterGoogleIamV1TestIamPermissionsResponse = 0; +api.GoogleIamV1TestIamPermissionsResponse + buildGoogleIamV1TestIamPermissionsResponse() { + final o = api.GoogleIamV1TestIamPermissionsResponse(); + buildCounterGoogleIamV1TestIamPermissionsResponse++; + if (buildCounterGoogleIamV1TestIamPermissionsResponse < 3) { + o.permissions = buildUnnamed73(); + } + buildCounterGoogleIamV1TestIamPermissionsResponse--; + return o; +} + +void checkGoogleIamV1TestIamPermissionsResponse( + api.GoogleIamV1TestIamPermissionsResponse o) { + buildCounterGoogleIamV1TestIamPermissionsResponse++; + if (buildCounterGoogleIamV1TestIamPermissionsResponse < 3) { + checkUnnamed73(o.permissions!); + } + buildCounterGoogleIamV1TestIamPermissionsResponse--; +} + +core.List buildUnnamed74() => [ + buildGoogleLongrunningOperation(), + buildGoogleLongrunningOperation(), + ]; + +void checkUnnamed74(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkGoogleLongrunningOperation(o[0]); + checkGoogleLongrunningOperation(o[1]); +} + +core.int buildCounterGoogleLongrunningListOperationsResponse = 0; +api.GoogleLongrunningListOperationsResponse + buildGoogleLongrunningListOperationsResponse() { + final o = api.GoogleLongrunningListOperationsResponse(); + buildCounterGoogleLongrunningListOperationsResponse++; + if (buildCounterGoogleLongrunningListOperationsResponse < 3) { + o.nextPageToken = 'foo'; + o.operations = buildUnnamed74(); + } + buildCounterGoogleLongrunningListOperationsResponse--; + return o; +} + +void checkGoogleLongrunningListOperationsResponse( + api.GoogleLongrunningListOperationsResponse o) { + buildCounterGoogleLongrunningListOperationsResponse++; + if (buildCounterGoogleLongrunningListOperationsResponse < 3) { + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + checkUnnamed74(o.operations!); + } + buildCounterGoogleLongrunningListOperationsResponse--; +} + +core.Map buildUnnamed75() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3633,89 +4074,248 @@ core.Map buildUnnamed65() => { }, }; -void checkUnnamed65(core.Map o) { +void checkUnnamed75(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted5 = (o['x']!) as core.Map; - unittest.expect(casted5, unittest.hasLength(3)); + var casted1 = (o['x']!) as core.Map; + unittest.expect(casted1, unittest.hasLength(3)); unittest.expect( - casted5['list'], + casted1['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted5['bool'], + casted1['bool'], unittest.equals(true), ); unittest.expect( - casted5['string'], + casted1['string'], unittest.equals('foo'), ); - var casted6 = (o['y']!) as core.Map; - unittest.expect(casted6, unittest.hasLength(3)); + var casted2 = (o['y']!) as core.Map; + unittest.expect(casted2, unittest.hasLength(3)); unittest.expect( - casted6['list'], + casted2['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted6['bool'], + casted2['bool'], unittest.equals(true), ); unittest.expect( - casted6['string'], + casted2['string'], unittest.equals('foo'), ); } -core.List> buildUnnamed66() => [ - buildUnnamed65(), - buildUnnamed65(), - ]; +core.Map buildUnnamed76() => { + 'x': { + 'list': [1, 2, 3], + 'bool': true, + 'string': 'foo' + }, + 'y': { + 'list': [1, 2, 3], + 'bool': true, + 'string': 'foo' + }, + }; -void checkUnnamed66(core.List> o) { +void checkUnnamed76(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed65(o[0]); - checkUnnamed65(o[1]); + var casted3 = (o['x']!) as core.Map; + unittest.expect(casted3, unittest.hasLength(3)); + unittest.expect( + casted3['list'], + unittest.equals([1, 2, 3]), + ); + unittest.expect( + casted3['bool'], + unittest.equals(true), + ); + unittest.expect( + casted3['string'], + unittest.equals('foo'), + ); + var casted4 = (o['y']!) as core.Map; + unittest.expect(casted4, unittest.hasLength(3)); + unittest.expect( + casted4['list'], + unittest.equals([1, 2, 3]), + ); + unittest.expect( + casted4['bool'], + unittest.equals(true), + ); + unittest.expect( + casted4['string'], + unittest.equals('foo'), + ); } -core.int buildCounterGoogleRpcStatus = 0; -api.GoogleRpcStatus buildGoogleRpcStatus() { - final o = api.GoogleRpcStatus(); - buildCounterGoogleRpcStatus++; - if (buildCounterGoogleRpcStatus < 3) { - o.code = 42; - o.details = buildUnnamed66(); - o.message = 'foo'; +core.int buildCounterGoogleLongrunningOperation = 0; +api.GoogleLongrunningOperation buildGoogleLongrunningOperation() { + final o = api.GoogleLongrunningOperation(); + buildCounterGoogleLongrunningOperation++; + if (buildCounterGoogleLongrunningOperation < 3) { + o.done = true; + o.error = buildGoogleRpcStatus(); + o.metadata = buildUnnamed75(); + o.name = 'foo'; + o.response = buildUnnamed76(); } - buildCounterGoogleRpcStatus--; + buildCounterGoogleLongrunningOperation--; return o; } -void checkGoogleRpcStatus(api.GoogleRpcStatus o) { - buildCounterGoogleRpcStatus++; - if (buildCounterGoogleRpcStatus < 3) { - unittest.expect( - o.code!, - unittest.equals(42), - ); - checkUnnamed66(o.details!); +void checkGoogleLongrunningOperation(api.GoogleLongrunningOperation o) { + buildCounterGoogleLongrunningOperation++; + if (buildCounterGoogleLongrunningOperation < 3) { + unittest.expect(o.done!, unittest.isTrue); + checkGoogleRpcStatus(o.error!); + checkUnnamed75(o.metadata!); unittest.expect( - o.message!, + o.name!, unittest.equals('foo'), ); + checkUnnamed76(o.response!); } - buildCounterGoogleRpcStatus--; + buildCounterGoogleLongrunningOperation--; } -core.int buildCounterGoogleTypeExpr = 0; -api.GoogleTypeExpr buildGoogleTypeExpr() { - final o = api.GoogleTypeExpr(); - buildCounterGoogleTypeExpr++; - if (buildCounterGoogleTypeExpr < 3) { - o.description = 'foo'; - o.expression = 'foo'; - o.location = 'foo'; - o.title = 'foo'; - } - buildCounterGoogleTypeExpr--; +core.int buildCounterGoogleLongrunningWaitOperationRequest = 0; +api.GoogleLongrunningWaitOperationRequest + buildGoogleLongrunningWaitOperationRequest() { + final o = api.GoogleLongrunningWaitOperationRequest(); + buildCounterGoogleLongrunningWaitOperationRequest++; + if (buildCounterGoogleLongrunningWaitOperationRequest < 3) { + o.timeout = 'foo'; + } + buildCounterGoogleLongrunningWaitOperationRequest--; + return o; +} + +void checkGoogleLongrunningWaitOperationRequest( + api.GoogleLongrunningWaitOperationRequest o) { + buildCounterGoogleLongrunningWaitOperationRequest++; + if (buildCounterGoogleLongrunningWaitOperationRequest < 3) { + unittest.expect( + o.timeout!, + unittest.equals('foo'), + ); + } + buildCounterGoogleLongrunningWaitOperationRequest--; +} + +core.int buildCounterGoogleProtobufEmpty = 0; +api.GoogleProtobufEmpty buildGoogleProtobufEmpty() { + final o = api.GoogleProtobufEmpty(); + buildCounterGoogleProtobufEmpty++; + if (buildCounterGoogleProtobufEmpty < 3) {} + buildCounterGoogleProtobufEmpty--; + return o; +} + +void checkGoogleProtobufEmpty(api.GoogleProtobufEmpty o) { + buildCounterGoogleProtobufEmpty++; + if (buildCounterGoogleProtobufEmpty < 3) {} + buildCounterGoogleProtobufEmpty--; +} + +core.Map buildUnnamed77() => { + 'x': { + 'list': [1, 2, 3], + 'bool': true, + 'string': 'foo' + }, + 'y': { + 'list': [1, 2, 3], + 'bool': true, + 'string': 'foo' + }, + }; + +void checkUnnamed77(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + var casted5 = (o['x']!) as core.Map; + unittest.expect(casted5, unittest.hasLength(3)); + unittest.expect( + casted5['list'], + unittest.equals([1, 2, 3]), + ); + unittest.expect( + casted5['bool'], + unittest.equals(true), + ); + unittest.expect( + casted5['string'], + unittest.equals('foo'), + ); + var casted6 = (o['y']!) as core.Map; + unittest.expect(casted6, unittest.hasLength(3)); + unittest.expect( + casted6['list'], + unittest.equals([1, 2, 3]), + ); + unittest.expect( + casted6['bool'], + unittest.equals(true), + ); + unittest.expect( + casted6['string'], + unittest.equals('foo'), + ); +} + +core.List> buildUnnamed78() => [ + buildUnnamed77(), + buildUnnamed77(), + ]; + +void checkUnnamed78(core.List> o) { + unittest.expect(o, unittest.hasLength(2)); + checkUnnamed77(o[0]); + checkUnnamed77(o[1]); +} + +core.int buildCounterGoogleRpcStatus = 0; +api.GoogleRpcStatus buildGoogleRpcStatus() { + final o = api.GoogleRpcStatus(); + buildCounterGoogleRpcStatus++; + if (buildCounterGoogleRpcStatus < 3) { + o.code = 42; + o.details = buildUnnamed78(); + o.message = 'foo'; + } + buildCounterGoogleRpcStatus--; + return o; +} + +void checkGoogleRpcStatus(api.GoogleRpcStatus o) { + buildCounterGoogleRpcStatus++; + if (buildCounterGoogleRpcStatus < 3) { + unittest.expect( + o.code!, + unittest.equals(42), + ); + checkUnnamed78(o.details!); + unittest.expect( + o.message!, + unittest.equals('foo'), + ); + } + buildCounterGoogleRpcStatus--; +} + +core.int buildCounterGoogleTypeExpr = 0; +api.GoogleTypeExpr buildGoogleTypeExpr() { + final o = api.GoogleTypeExpr(); + buildCounterGoogleTypeExpr++; + if (buildCounterGoogleTypeExpr < 3) { + o.description = 'foo'; + o.expression = 'foo'; + o.location = 'foo'; + o.title = 'foo'; + } + buildCounterGoogleTypeExpr--; return o; } @@ -3807,6 +4407,26 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudRunV2BuildConfig', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudRunV2BuildConfig(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudRunV2BuildConfig.fromJson( + oJson as core.Map); + checkGoogleCloudRunV2BuildConfig(od); + }); + }); + + unittest.group('obj-schema-GoogleCloudRunV2BuildInfo', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudRunV2BuildInfo(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudRunV2BuildInfo.fromJson( + oJson as core.Map); + checkGoogleCloudRunV2BuildInfo(od); + }); + }); + unittest.group('obj-schema-GoogleCloudRunV2BuildpacksBuild', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudRunV2BuildpacksBuild(); @@ -4027,6 +4647,26 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudRunV2InstanceSplit', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudRunV2InstanceSplit(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudRunV2InstanceSplit.fromJson( + oJson as core.Map); + checkGoogleCloudRunV2InstanceSplit(od); + }); + }); + + unittest.group('obj-schema-GoogleCloudRunV2InstanceSplitStatus', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudRunV2InstanceSplitStatus(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudRunV2InstanceSplitStatus.fromJson( + oJson as core.Map); + checkGoogleCloudRunV2InstanceSplitStatus(od); + }); + }); + unittest.group('obj-schema-GoogleCloudRunV2Job', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudRunV2Job(); @@ -4087,6 +4727,16 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudRunV2ListWorkerPoolsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudRunV2ListWorkerPoolsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudRunV2ListWorkerPoolsResponse.fromJson( + oJson as core.Map); + checkGoogleCloudRunV2ListWorkerPoolsResponse(od); + }); + }); + unittest.group('obj-schema-GoogleCloudRunV2Metadata', () { unittest.test('to-json--from-json', () async { final o = buildGoogleCloudRunV2Metadata(); @@ -4387,6 +5037,36 @@ void main() { }); }); + unittest.group('obj-schema-GoogleCloudRunV2WorkerPool', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudRunV2WorkerPool(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudRunV2WorkerPool.fromJson( + oJson as core.Map); + checkGoogleCloudRunV2WorkerPool(od); + }); + }); + + unittest.group('obj-schema-GoogleCloudRunV2WorkerPoolRevisionTemplate', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudRunV2WorkerPoolRevisionTemplate(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudRunV2WorkerPoolRevisionTemplate.fromJson( + oJson as core.Map); + checkGoogleCloudRunV2WorkerPoolRevisionTemplate(od); + }); + }); + + unittest.group('obj-schema-GoogleCloudRunV2WorkerPoolScaling', () { + unittest.test('to-json--from-json', () async { + final o = buildGoogleCloudRunV2WorkerPoolScaling(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GoogleCloudRunV2WorkerPoolScaling.fromJson( + oJson as core.Map); + checkGoogleCloudRunV2WorkerPoolScaling(od); + }); + }); + unittest.group('obj-schema-GoogleIamV1AuditConfig', () { unittest.test('to-json--from-json', () async { final o = buildGoogleIamV1AuditConfig(); @@ -4588,22 +5268,639 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildGoogleCloudRunV2ExportImageResponse()); + final resp = + convert.json.encode(buildGoogleCloudRunV2ExportImageResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.exportImage(arg_request, arg_name, $fields: arg_$fields); + checkGoogleCloudRunV2ExportImageResponse( + response as api.GoogleCloudRunV2ExportImageResponse); + }); + + unittest.test('method--exportImageMetadata', () async { + final mock = HttpServerMock(); + final res = api.CloudRunApi(mock).projects.locations; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v2/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGoogleCloudRunV2Metadata()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.exportImageMetadata(arg_name, $fields: arg_$fields); + checkGoogleCloudRunV2Metadata(response as api.GoogleCloudRunV2Metadata); + }); + + unittest.test('method--exportMetadata', () async { + final mock = HttpServerMock(); + final res = api.CloudRunApi(mock).projects.locations; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v2/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGoogleCloudRunV2Metadata()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.exportMetadata(arg_name, $fields: arg_$fields); + checkGoogleCloudRunV2Metadata(response as api.GoogleCloudRunV2Metadata); + }); + + unittest.test('method--exportProjectMetadata', () async { + final mock = HttpServerMock(); + final res = api.CloudRunApi(mock).projects.locations; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v2/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGoogleCloudRunV2Metadata()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.exportProjectMetadata(arg_name, $fields: arg_$fields); + checkGoogleCloudRunV2Metadata(response as api.GoogleCloudRunV2Metadata); + }); + }); + + unittest.group('resource-ProjectsLocationsBuildsResource', () { + unittest.test('method--submit', () async { + final mock = HttpServerMock(); + final res = api.CloudRunApi(mock).projects.locations.builds; + final arg_request = buildGoogleCloudRunV2SubmitBuildRequest(); + final arg_parent = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleCloudRunV2SubmitBuildRequest.fromJson( + json as core.Map); + checkGoogleCloudRunV2SubmitBuildRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v2/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildGoogleCloudRunV2SubmitBuildResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.submit(arg_request, arg_parent, $fields: arg_$fields); + checkGoogleCloudRunV2SubmitBuildResponse( + response as api.GoogleCloudRunV2SubmitBuildResponse); + }); + }); + + unittest.group('resource-ProjectsLocationsJobsResource', () { + unittest.test('method--create', () async { + final mock = HttpServerMock(); + final res = api.CloudRunApi(mock).projects.locations.jobs; + final arg_request = buildGoogleCloudRunV2Job(); + final arg_parent = 'foo'; + final arg_jobId = 'foo'; + final arg_validateOnly = true; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleCloudRunV2Job.fromJson( + json as core.Map); + checkGoogleCloudRunV2Job(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v2/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['jobId']!.first, + unittest.equals(arg_jobId), + ); + unittest.expect( + queryMap['validateOnly']!.first, + unittest.equals('$arg_validateOnly'), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGoogleLongrunningOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.create(arg_request, arg_parent, + jobId: arg_jobId, + validateOnly: arg_validateOnly, + $fields: arg_$fields); + checkGoogleLongrunningOperation( + response as api.GoogleLongrunningOperation); + }); + + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = api.CloudRunApi(mock).projects.locations.jobs; + final arg_name = 'foo'; + final arg_etag = 'foo'; + final arg_validateOnly = true; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v2/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['etag']!.first, + unittest.equals(arg_etag), + ); + unittest.expect( + queryMap['validateOnly']!.first, + unittest.equals('$arg_validateOnly'), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGoogleLongrunningOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete(arg_name, + etag: arg_etag, validateOnly: arg_validateOnly, $fields: arg_$fields); + checkGoogleLongrunningOperation( + response as api.GoogleLongrunningOperation); + }); + + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.CloudRunApi(mock).projects.locations.jobs; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v2/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGoogleCloudRunV2Job()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_name, $fields: arg_$fields); + checkGoogleCloudRunV2Job(response as api.GoogleCloudRunV2Job); + }); + + unittest.test('method--getIamPolicy', () async { + final mock = HttpServerMock(); + final res = api.CloudRunApi(mock).projects.locations.jobs; + final arg_resource = 'foo'; + final arg_options_requestedPolicyVersion = 42; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v2/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + core.int.parse(queryMap['options.requestedPolicyVersion']!.first), + unittest.equals(arg_options_requestedPolicyVersion), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGoogleIamV1Policy()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.getIamPolicy(arg_resource, + options_requestedPolicyVersion: arg_options_requestedPolicyVersion, + $fields: arg_$fields); + checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = api.CloudRunApi(mock).projects.locations.jobs; + final arg_parent = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_showDeleted = true; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v2/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['showDeleted']!.first, + unittest.equals('$arg_showDeleted'), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = + convert.json.encode(buildGoogleCloudRunV2ListJobsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_parent, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + showDeleted: arg_showDeleted, + $fields: arg_$fields); + checkGoogleCloudRunV2ListJobsResponse( + response as api.GoogleCloudRunV2ListJobsResponse); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = api.CloudRunApi(mock).projects.locations.jobs; + final arg_request = buildGoogleCloudRunV2Job(); + final arg_name = 'foo'; + final arg_allowMissing = true; + final arg_validateOnly = true; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleCloudRunV2Job.fromJson( + json as core.Map); + checkGoogleCloudRunV2Job(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v2/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['allowMissing']!.first, + unittest.equals('$arg_allowMissing'), + ); + unittest.expect( + queryMap['validateOnly']!.first, + unittest.equals('$arg_validateOnly'), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGoogleLongrunningOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.exportImage(arg_request, arg_name, $fields: arg_$fields); - checkGoogleCloudRunV2ExportImageResponse( - response as api.GoogleCloudRunV2ExportImageResponse); + final response = await res.patch(arg_request, arg_name, + allowMissing: arg_allowMissing, + validateOnly: arg_validateOnly, + $fields: arg_$fields); + checkGoogleLongrunningOperation( + response as api.GoogleLongrunningOperation); }); - unittest.test('method--exportImageMetadata', () async { + unittest.test('method--run', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations; + final res = api.CloudRunApi(mock).projects.locations.jobs; + final arg_request = buildGoogleCloudRunV2RunJobRequest(); final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleCloudRunV2RunJobRequest.fromJson( + json as core.Map); + checkGoogleCloudRunV2RunJobRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -4643,20 +5940,26 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleCloudRunV2Metadata()); + final resp = convert.json.encode(buildGoogleLongrunningOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = - await res.exportImageMetadata(arg_name, $fields: arg_$fields); - checkGoogleCloudRunV2Metadata(response as api.GoogleCloudRunV2Metadata); + await res.run(arg_request, arg_name, $fields: arg_$fields); + checkGoogleLongrunningOperation( + response as api.GoogleLongrunningOperation); }); - unittest.test('method--exportMetadata', () async { + unittest.test('method--setIamPolicy', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations; - final arg_name = 'foo'; + final res = api.CloudRunApi(mock).projects.locations.jobs; + final arg_request = buildGoogleIamV1SetIamPolicyRequest(); + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleIamV1SetIamPolicyRequest.fromJson( + json as core.Map); + checkGoogleIamV1SetIamPolicyRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -4696,19 +5999,25 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleCloudRunV2Metadata()); + final resp = convert.json.encode(buildGoogleIamV1Policy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.exportMetadata(arg_name, $fields: arg_$fields); - checkGoogleCloudRunV2Metadata(response as api.GoogleCloudRunV2Metadata); + final response = await res.setIamPolicy(arg_request, arg_resource, + $fields: arg_$fields); + checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); }); - unittest.test('method--exportProjectMetadata', () async { + unittest.test('method--testIamPermissions', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations; - final arg_name = 'foo'; + final res = api.CloudRunApi(mock).projects.locations.jobs; + final arg_request = buildGoogleIamV1TestIamPermissionsRequest(); + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleIamV1TestIamPermissionsRequest.fromJson( + json as core.Map); + checkGoogleIamV1TestIamPermissionsRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -4748,26 +6057,28 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleCloudRunV2Metadata()); + final resp = + convert.json.encode(buildGoogleIamV1TestIamPermissionsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.exportProjectMetadata(arg_name, $fields: arg_$fields); - checkGoogleCloudRunV2Metadata(response as api.GoogleCloudRunV2Metadata); + final response = await res.testIamPermissions(arg_request, arg_resource, + $fields: arg_$fields); + checkGoogleIamV1TestIamPermissionsResponse( + response as api.GoogleIamV1TestIamPermissionsResponse); }); }); - unittest.group('resource-ProjectsLocationsBuildsResource', () { - unittest.test('method--submit', () async { + unittest.group('resource-ProjectsLocationsJobsExecutionsResource', () { + unittest.test('method--cancel', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.builds; - final arg_request = buildGoogleCloudRunV2SubmitBuildRequest(); - final arg_parent = 'foo'; + final res = api.CloudRunApi(mock).projects.locations.jobs.executions; + final arg_request = buildGoogleCloudRunV2CancelExecutionRequest(); + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudRunV2SubmitBuildRequest.fromJson( + final obj = api.GoogleCloudRunV2CancelExecutionRequest.fromJson( json as core.Map); - checkGoogleCloudRunV2SubmitBuildRequest(obj); + checkGoogleCloudRunV2CancelExecutionRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -4808,31 +6119,23 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildGoogleCloudRunV2SubmitBuildResponse()); + final resp = convert.json.encode(buildGoogleLongrunningOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = - await res.submit(arg_request, arg_parent, $fields: arg_$fields); - checkGoogleCloudRunV2SubmitBuildResponse( - response as api.GoogleCloudRunV2SubmitBuildResponse); + await res.cancel(arg_request, arg_name, $fields: arg_$fields); + checkGoogleLongrunningOperation( + response as api.GoogleLongrunningOperation); }); - }); - unittest.group('resource-ProjectsLocationsJobsResource', () { - unittest.test('method--create', () async { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.jobs; - final arg_request = buildGoogleCloudRunV2Job(); - final arg_parent = 'foo'; - final arg_jobId = 'foo'; + final res = api.CloudRunApi(mock).projects.locations.jobs.executions; + final arg_name = 'foo'; + final arg_etag = 'foo'; final arg_validateOnly = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudRunV2Job.fromJson( - json as core.Map); - checkGoogleCloudRunV2Job(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -4865,8 +6168,8 @@ void main() { } } unittest.expect( - queryMap['jobId']!.first, - unittest.equals(arg_jobId), + queryMap['etag']!.first, + unittest.equals(arg_etag), ); unittest.expect( queryMap['validateOnly']!.first, @@ -4883,20 +6186,17 @@ void main() { final resp = convert.json.encode(buildGoogleLongrunningOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.create(arg_request, arg_parent, - jobId: arg_jobId, - validateOnly: arg_validateOnly, - $fields: arg_$fields); + final response = await res.delete(arg_name, + etag: arg_etag, validateOnly: arg_validateOnly, $fields: arg_$fields); checkGoogleLongrunningOperation( response as api.GoogleLongrunningOperation); }); - unittest.test('method--delete', () async { + unittest.test('method--exportStatus', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.jobs; + final res = api.CloudRunApi(mock).projects.locations.jobs.executions; final arg_name = 'foo'; - final arg_etag = 'foo'; - final arg_validateOnly = true; + final arg_operationId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -4930,14 +6230,6 @@ void main() { ); } } - unittest.expect( - queryMap['etag']!.first, - unittest.equals(arg_etag), - ); - unittest.expect( - queryMap['validateOnly']!.first, - unittest.equals('$arg_validateOnly'), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -4946,18 +6238,19 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleLongrunningOperation()); + final resp = + convert.json.encode(buildGoogleCloudRunV2ExportStatusResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_name, - etag: arg_etag, validateOnly: arg_validateOnly, $fields: arg_$fields); - checkGoogleLongrunningOperation( - response as api.GoogleLongrunningOperation); + final response = await res.exportStatus(arg_name, arg_operationId, + $fields: arg_$fields); + checkGoogleCloudRunV2ExportStatusResponse( + response as api.GoogleCloudRunV2ExportStatusResponse); }); unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.jobs; + final res = api.CloudRunApi(mock).projects.locations.jobs.executions; final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -5000,18 +6293,20 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleCloudRunV2Job()); + final resp = convert.json.encode(buildGoogleCloudRunV2Execution()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.get(arg_name, $fields: arg_$fields); - checkGoogleCloudRunV2Job(response as api.GoogleCloudRunV2Job); + checkGoogleCloudRunV2Execution(response as api.GoogleCloudRunV2Execution); }); - unittest.test('method--getIamPolicy', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.jobs; - final arg_resource = 'foo'; - final arg_options_requestedPolicyVersion = 42; + final res = api.CloudRunApi(mock).projects.locations.jobs.executions; + final arg_parent = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_showDeleted = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -5046,8 +6341,16 @@ void main() { } } unittest.expect( - core.int.parse(queryMap['options.requestedPolicyVersion']!.first), - unittest.equals(arg_options_requestedPolicyVersion), + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['showDeleted']!.first, + unittest.equals('$arg_showDeleted'), ); unittest.expect( queryMap['fields']!.first, @@ -5057,18 +6360,78 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleIamV1Policy()); + final resp = + convert.json.encode(buildGoogleCloudRunV2ListExecutionsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.getIamPolicy(arg_resource, - options_requestedPolicyVersion: arg_options_requestedPolicyVersion, + final response = await res.list(arg_parent, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + showDeleted: arg_showDeleted, $fields: arg_$fields); - checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); + checkGoogleCloudRunV2ListExecutionsResponse( + response as api.GoogleCloudRunV2ListExecutionsResponse); + }); + }); + + unittest.group('resource-ProjectsLocationsJobsExecutionsTasksResource', () { + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = + api.CloudRunApi(mock).projects.locations.jobs.executions.tasks; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v2/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGoogleCloudRunV2Task()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_name, $fields: arg_$fields); + checkGoogleCloudRunV2Task(response as api.GoogleCloudRunV2Task); }); unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.jobs; + final res = + api.CloudRunApi(mock).projects.locations.jobs.executions.tasks; final arg_parent = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; @@ -5127,7 +6490,7 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = - convert.json.encode(buildGoogleCloudRunV2ListJobsResponse()); + convert.json.encode(buildGoogleCloudRunV2ListTasksResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.list(arg_parent, @@ -5135,23 +6498,18 @@ void main() { pageToken: arg_pageToken, showDeleted: arg_showDeleted, $fields: arg_$fields); - checkGoogleCloudRunV2ListJobsResponse( - response as api.GoogleCloudRunV2ListJobsResponse); + checkGoogleCloudRunV2ListTasksResponse( + response as api.GoogleCloudRunV2ListTasksResponse); }); + }); - unittest.test('method--patch', () async { + unittest.group('resource-ProjectsLocationsOperationsResource', () { + unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.jobs; - final arg_request = buildGoogleCloudRunV2Job(); + final res = api.CloudRunApi(mock).projects.locations.operations; final arg_name = 'foo'; - final arg_allowMissing = true; - final arg_validateOnly = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudRunV2Job.fromJson( - json as core.Map); - checkGoogleCloudRunV2Job(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -5183,14 +6541,6 @@ void main() { ); } } - unittest.expect( - queryMap['allowMissing']!.first, - unittest.equals('$arg_allowMissing'), - ); - unittest.expect( - queryMap['validateOnly']!.first, - unittest.equals('$arg_validateOnly'), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -5199,28 +6549,19 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleLongrunningOperation()); + final resp = convert.json.encode(buildGoogleProtobufEmpty()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.patch(arg_request, arg_name, - allowMissing: arg_allowMissing, - validateOnly: arg_validateOnly, - $fields: arg_$fields); - checkGoogleLongrunningOperation( - response as api.GoogleLongrunningOperation); + final response = await res.delete(arg_name, $fields: arg_$fields); + checkGoogleProtobufEmpty(response as api.GoogleProtobufEmpty); }); - unittest.test('method--run', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.jobs; - final arg_request = buildGoogleCloudRunV2RunJobRequest(); + final res = api.CloudRunApi(mock).projects.locations.operations; final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudRunV2RunJobRequest.fromJson( - json as core.Map); - checkGoogleCloudRunV2RunJobRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -5263,23 +6604,20 @@ void main() { final resp = convert.json.encode(buildGoogleLongrunningOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.run(arg_request, arg_name, $fields: arg_$fields); + final response = await res.get(arg_name, $fields: arg_$fields); checkGoogleLongrunningOperation( response as api.GoogleLongrunningOperation); }); - unittest.test('method--setIamPolicy', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.jobs; - final arg_request = buildGoogleIamV1SetIamPolicyRequest(); - final arg_resource = 'foo'; + final res = api.CloudRunApi(mock).projects.locations.operations; + final arg_name = 'foo'; + final arg_filter = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleIamV1SetIamPolicyRequest.fromJson( - json as core.Map); - checkGoogleIamV1SetIamPolicyRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -5311,6 +6649,18 @@ void main() { ); } } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -5319,24 +6669,29 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleIamV1Policy()); + final resp = + convert.json.encode(buildGoogleLongrunningListOperationsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.setIamPolicy(arg_request, arg_resource, + final response = await res.list(arg_name, + filter: arg_filter, + pageSize: arg_pageSize, + pageToken: arg_pageToken, $fields: arg_$fields); - checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); + checkGoogleLongrunningListOperationsResponse( + response as api.GoogleLongrunningListOperationsResponse); }); - unittest.test('method--testIamPermissions', () async { + unittest.test('method--wait', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.jobs; - final arg_request = buildGoogleIamV1TestIamPermissionsRequest(); - final arg_resource = 'foo'; + final res = api.CloudRunApi(mock).projects.locations.operations; + final arg_request = buildGoogleLongrunningWaitOperationRequest(); + final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleIamV1TestIamPermissionsRequest.fromJson( + final obj = api.GoogleLongrunningWaitOperationRequest.fromJson( json as core.Map); - checkGoogleIamV1TestIamPermissionsRequest(obj); + checkGoogleLongrunningWaitOperationRequest(obj); final path = req.url.path; var pathOffset = 0; @@ -5377,28 +6732,29 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildGoogleIamV1TestIamPermissionsResponse()); + final resp = convert.json.encode(buildGoogleLongrunningOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.testIamPermissions(arg_request, arg_resource, - $fields: arg_$fields); - checkGoogleIamV1TestIamPermissionsResponse( - response as api.GoogleIamV1TestIamPermissionsResponse); + final response = + await res.wait(arg_request, arg_name, $fields: arg_$fields); + checkGoogleLongrunningOperation( + response as api.GoogleLongrunningOperation); }); }); - unittest.group('resource-ProjectsLocationsJobsExecutionsResource', () { - unittest.test('method--cancel', () async { + unittest.group('resource-ProjectsLocationsServicesResource', () { + unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.jobs.executions; - final arg_request = buildGoogleCloudRunV2CancelExecutionRequest(); - final arg_name = 'foo'; + final res = api.CloudRunApi(mock).projects.locations.services; + final arg_request = buildGoogleCloudRunV2Service(); + final arg_parent = 'foo'; + final arg_serviceId = 'foo'; + final arg_validateOnly = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudRunV2CancelExecutionRequest.fromJson( + final obj = api.GoogleCloudRunV2Service.fromJson( json as core.Map); - checkGoogleCloudRunV2CancelExecutionRequest(obj); + checkGoogleCloudRunV2Service(obj); final path = req.url.path; var pathOffset = 0; @@ -5431,6 +6787,14 @@ void main() { ); } } + unittest.expect( + queryMap['serviceId']!.first, + unittest.equals(arg_serviceId), + ); + unittest.expect( + queryMap['validateOnly']!.first, + unittest.equals('$arg_validateOnly'), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -5442,15 +6806,17 @@ void main() { final resp = convert.json.encode(buildGoogleLongrunningOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.cancel(arg_request, arg_name, $fields: arg_$fields); + final response = await res.create(arg_request, arg_parent, + serviceId: arg_serviceId, + validateOnly: arg_validateOnly, + $fields: arg_$fields); checkGoogleLongrunningOperation( response as api.GoogleLongrunningOperation); }); unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.jobs.executions; + final res = api.CloudRunApi(mock).projects.locations.services; final arg_name = 'foo'; final arg_etag = 'foo'; final arg_validateOnly = true; @@ -5512,11 +6878,10 @@ void main() { response as api.GoogleLongrunningOperation); }); - unittest.test('method--exportStatus', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.jobs.executions; + final res = api.CloudRunApi(mock).projects.locations.services; final arg_name = 'foo'; - final arg_operationId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -5558,20 +6923,18 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildGoogleCloudRunV2ExportStatusResponse()); + final resp = convert.json.encode(buildGoogleCloudRunV2Service()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.exportStatus(arg_name, arg_operationId, - $fields: arg_$fields); - checkGoogleCloudRunV2ExportStatusResponse( - response as api.GoogleCloudRunV2ExportStatusResponse); + final response = await res.get(arg_name, $fields: arg_$fields); + checkGoogleCloudRunV2Service(response as api.GoogleCloudRunV2Service); }); - unittest.test('method--get', () async { + unittest.test('method--getIamPolicy', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.jobs.executions; - final arg_name = 'foo'; + final res = api.CloudRunApi(mock).projects.locations.services; + final arg_resource = 'foo'; + final arg_options_requestedPolicyVersion = 42; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -5605,6 +6968,10 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['options.requestedPolicyVersion']!.first), + unittest.equals(arg_options_requestedPolicyVersion), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -5613,16 +6980,18 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleCloudRunV2Execution()); + final resp = convert.json.encode(buildGoogleIamV1Policy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_name, $fields: arg_$fields); - checkGoogleCloudRunV2Execution(response as api.GoogleCloudRunV2Execution); + final response = await res.getIamPolicy(arg_resource, + options_requestedPolicyVersion: arg_options_requestedPolicyVersion, + $fields: arg_$fields); + checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); }); unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.jobs.executions; + final res = api.CloudRunApi(mock).projects.locations.services; final arg_parent = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; @@ -5681,7 +7050,7 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = - convert.json.encode(buildGoogleCloudRunV2ListExecutionsResponse()); + convert.json.encode(buildGoogleCloudRunV2ListServicesResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.list(arg_parent, @@ -5689,19 +7058,98 @@ void main() { pageToken: arg_pageToken, showDeleted: arg_showDeleted, $fields: arg_$fields); - checkGoogleCloudRunV2ListExecutionsResponse( - response as api.GoogleCloudRunV2ListExecutionsResponse); + checkGoogleCloudRunV2ListServicesResponse( + response as api.GoogleCloudRunV2ListServicesResponse); }); - }); - unittest.group('resource-ProjectsLocationsJobsExecutionsTasksResource', () { - unittest.test('method--get', () async { + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = api.CloudRunApi(mock).projects.locations.services; + final arg_request = buildGoogleCloudRunV2Service(); + final arg_name = 'foo'; + final arg_allowMissing = true; + final arg_updateMask = 'foo'; + final arg_validateOnly = true; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleCloudRunV2Service.fromJson( + json as core.Map); + checkGoogleCloudRunV2Service(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v2/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['allowMissing']!.first, + unittest.equals('$arg_allowMissing'), + ); + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['validateOnly']!.first, + unittest.equals('$arg_validateOnly'), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildGoogleLongrunningOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch(arg_request, arg_name, + allowMissing: arg_allowMissing, + updateMask: arg_updateMask, + validateOnly: arg_validateOnly, + $fields: arg_$fields); + checkGoogleLongrunningOperation( + response as api.GoogleLongrunningOperation); + }); + + unittest.test('method--setIamPolicy', () async { final mock = HttpServerMock(); - final res = - api.CloudRunApi(mock).projects.locations.jobs.executions.tasks; - final arg_name = 'foo'; + final res = api.CloudRunApi(mock).projects.locations.services; + final arg_request = buildGoogleIamV1SetIamPolicyRequest(); + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleIamV1SetIamPolicyRequest.fromJson( + json as core.Map); + checkGoogleIamV1SetIamPolicyRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -5741,23 +7189,25 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleCloudRunV2Task()); + final resp = convert.json.encode(buildGoogleIamV1Policy()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_name, $fields: arg_$fields); - checkGoogleCloudRunV2Task(response as api.GoogleCloudRunV2Task); + final response = await res.setIamPolicy(arg_request, arg_resource, + $fields: arg_$fields); + checkGoogleIamV1Policy(response as api.GoogleIamV1Policy); }); - unittest.test('method--list', () async { + unittest.test('method--testIamPermissions', () async { final mock = HttpServerMock(); - final res = - api.CloudRunApi(mock).projects.locations.jobs.executions.tasks; - final arg_parent = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; - final arg_showDeleted = true; + final res = api.CloudRunApi(mock).projects.locations.services; + final arg_request = buildGoogleIamV1TestIamPermissionsRequest(); + final arg_resource = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.GoogleIamV1TestIamPermissionsRequest.fromJson( + json as core.Map); + checkGoogleIamV1TestIamPermissionsRequest(obj); + final path = req.url.path; var pathOffset = 0; core.int index; @@ -5789,18 +7239,6 @@ void main() { ); } } - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); - unittest.expect( - queryMap['showDeleted']!.first, - unittest.equals('$arg_showDeleted'), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -5810,24 +7248,23 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = - convert.json.encode(buildGoogleCloudRunV2ListTasksResponse()); + convert.json.encode(buildGoogleIamV1TestIamPermissionsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_parent, - pageSize: arg_pageSize, - pageToken: arg_pageToken, - showDeleted: arg_showDeleted, + final response = await res.testIamPermissions(arg_request, arg_resource, $fields: arg_$fields); - checkGoogleCloudRunV2ListTasksResponse( - response as api.GoogleCloudRunV2ListTasksResponse); + checkGoogleIamV1TestIamPermissionsResponse( + response as api.GoogleIamV1TestIamPermissionsResponse); }); }); - unittest.group('resource-ProjectsLocationsOperationsResource', () { + unittest.group('resource-ProjectsLocationsServicesRevisionsResource', () { unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.operations; + final res = api.CloudRunApi(mock).projects.locations.services.revisions; final arg_name = 'foo'; + final arg_etag = 'foo'; + final arg_validateOnly = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -5861,6 +7298,14 @@ void main() { ); } } + unittest.expect( + queryMap['etag']!.first, + unittest.equals(arg_etag), + ); + unittest.expect( + queryMap['validateOnly']!.first, + unittest.equals('$arg_validateOnly'), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -5869,17 +7314,20 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleProtobufEmpty()); + final resp = convert.json.encode(buildGoogleLongrunningOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.delete(arg_name, $fields: arg_$fields); - checkGoogleProtobufEmpty(response as api.GoogleProtobufEmpty); + final response = await res.delete(arg_name, + etag: arg_etag, validateOnly: arg_validateOnly, $fields: arg_$fields); + checkGoogleLongrunningOperation( + response as api.GoogleLongrunningOperation); }); - unittest.test('method--get', () async { + unittest.test('method--exportStatus', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.operations; + final res = api.CloudRunApi(mock).projects.locations.services.revisions; final arg_name = 'foo'; + final arg_operationId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -5921,21 +7369,20 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleLongrunningOperation()); + final resp = + convert.json.encode(buildGoogleCloudRunV2ExportStatusResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_name, $fields: arg_$fields); - checkGoogleLongrunningOperation( - response as api.GoogleLongrunningOperation); + final response = await res.exportStatus(arg_name, arg_operationId, + $fields: arg_$fields); + checkGoogleCloudRunV2ExportStatusResponse( + response as api.GoogleCloudRunV2ExportStatusResponse); }); - unittest.test('method--list', () async { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.operations; + final res = api.CloudRunApi(mock).projects.locations.services.revisions; final arg_name = 'foo'; - final arg_filter = 'foo'; - final arg_pageSize = 42; - final arg_pageToken = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -5969,18 +7416,6 @@ void main() { ); } } - unittest.expect( - queryMap['filter']!.first, - unittest.equals(arg_filter), - ); - unittest.expect( - core.int.parse(queryMap['pageSize']!.first), - unittest.equals(arg_pageSize), - ); - unittest.expect( - queryMap['pageToken']!.first, - unittest.equals(arg_pageToken), - ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -5989,30 +7424,22 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = - convert.json.encode(buildGoogleLongrunningListOperationsResponse()); + final resp = convert.json.encode(buildGoogleCloudRunV2Revision()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_name, - filter: arg_filter, - pageSize: arg_pageSize, - pageToken: arg_pageToken, - $fields: arg_$fields); - checkGoogleLongrunningListOperationsResponse( - response as api.GoogleLongrunningListOperationsResponse); + final response = await res.get(arg_name, $fields: arg_$fields); + checkGoogleCloudRunV2Revision(response as api.GoogleCloudRunV2Revision); }); - unittest.test('method--wait', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.operations; - final arg_request = buildGoogleLongrunningWaitOperationRequest(); - final arg_name = 'foo'; + final res = api.CloudRunApi(mock).projects.locations.services.revisions; + final arg_parent = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_showDeleted = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleLongrunningWaitOperationRequest.fromJson( - json as core.Map); - checkGoogleLongrunningWaitOperationRequest(obj); - final path = req.url.path; var pathOffset = 0; core.int index; @@ -6044,6 +7471,18 @@ void main() { ); } } + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['showDeleted']!.first, + unittest.equals('$arg_showDeleted'), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -6052,29 +7491,33 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleLongrunningOperation()); + final resp = + convert.json.encode(buildGoogleCloudRunV2ListRevisionsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.wait(arg_request, arg_name, $fields: arg_$fields); - checkGoogleLongrunningOperation( - response as api.GoogleLongrunningOperation); + final response = await res.list(arg_parent, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + showDeleted: arg_showDeleted, + $fields: arg_$fields); + checkGoogleCloudRunV2ListRevisionsResponse( + response as api.GoogleCloudRunV2ListRevisionsResponse); }); }); - unittest.group('resource-ProjectsLocationsServicesResource', () { + unittest.group('resource-ProjectsLocationsWorkerPoolsResource', () { unittest.test('method--create', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.services; - final arg_request = buildGoogleCloudRunV2Service(); + final res = api.CloudRunApi(mock).projects.locations.workerPools; + final arg_request = buildGoogleCloudRunV2WorkerPool(); final arg_parent = 'foo'; - final arg_serviceId = 'foo'; final arg_validateOnly = true; + final arg_workerPoolId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudRunV2Service.fromJson( + final obj = api.GoogleCloudRunV2WorkerPool.fromJson( json as core.Map); - checkGoogleCloudRunV2Service(obj); + checkGoogleCloudRunV2WorkerPool(obj); final path = req.url.path; var pathOffset = 0; @@ -6107,14 +7550,14 @@ void main() { ); } } - unittest.expect( - queryMap['serviceId']!.first, - unittest.equals(arg_serviceId), - ); unittest.expect( queryMap['validateOnly']!.first, unittest.equals('$arg_validateOnly'), ); + unittest.expect( + queryMap['workerPoolId']!.first, + unittest.equals(arg_workerPoolId), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -6127,8 +7570,8 @@ void main() { return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.create(arg_request, arg_parent, - serviceId: arg_serviceId, validateOnly: arg_validateOnly, + workerPoolId: arg_workerPoolId, $fields: arg_$fields); checkGoogleLongrunningOperation( response as api.GoogleLongrunningOperation); @@ -6136,7 +7579,7 @@ void main() { unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.services; + final res = api.CloudRunApi(mock).projects.locations.workerPools; final arg_name = 'foo'; final arg_etag = 'foo'; final arg_validateOnly = true; @@ -6200,7 +7643,7 @@ void main() { unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.services; + final res = api.CloudRunApi(mock).projects.locations.workerPools; final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -6243,16 +7686,17 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildGoogleCloudRunV2Service()); + final resp = convert.json.encode(buildGoogleCloudRunV2WorkerPool()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.get(arg_name, $fields: arg_$fields); - checkGoogleCloudRunV2Service(response as api.GoogleCloudRunV2Service); + checkGoogleCloudRunV2WorkerPool( + response as api.GoogleCloudRunV2WorkerPool); }); unittest.test('method--getIamPolicy', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.services; + final res = api.CloudRunApi(mock).projects.locations.workerPools; final arg_resource = 'foo'; final arg_options_requestedPolicyVersion = 42; final arg_$fields = 'foo'; @@ -6311,7 +7755,7 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.services; + final res = api.CloudRunApi(mock).projects.locations.workerPools; final arg_parent = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; @@ -6370,7 +7814,7 @@ void main() { 'content-type': 'application/json; charset=utf-8', }; final resp = - convert.json.encode(buildGoogleCloudRunV2ListServicesResponse()); + convert.json.encode(buildGoogleCloudRunV2ListWorkerPoolsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); final response = await res.list(arg_parent, @@ -6378,23 +7822,24 @@ void main() { pageToken: arg_pageToken, showDeleted: arg_showDeleted, $fields: arg_$fields); - checkGoogleCloudRunV2ListServicesResponse( - response as api.GoogleCloudRunV2ListServicesResponse); + checkGoogleCloudRunV2ListWorkerPoolsResponse( + response as api.GoogleCloudRunV2ListWorkerPoolsResponse); }); unittest.test('method--patch', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.services; - final arg_request = buildGoogleCloudRunV2Service(); + final res = api.CloudRunApi(mock).projects.locations.workerPools; + final arg_request = buildGoogleCloudRunV2WorkerPool(); final arg_name = 'foo'; final arg_allowMissing = true; + final arg_forceNewRevision = true; final arg_updateMask = 'foo'; final arg_validateOnly = true; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final obj = api.GoogleCloudRunV2Service.fromJson( + final obj = api.GoogleCloudRunV2WorkerPool.fromJson( json as core.Map); - checkGoogleCloudRunV2Service(obj); + checkGoogleCloudRunV2WorkerPool(obj); final path = req.url.path; var pathOffset = 0; @@ -6431,6 +7876,10 @@ void main() { queryMap['allowMissing']!.first, unittest.equals('$arg_allowMissing'), ); + unittest.expect( + queryMap['forceNewRevision']!.first, + unittest.equals('$arg_forceNewRevision'), + ); unittest.expect( queryMap['updateMask']!.first, unittest.equals(arg_updateMask), @@ -6452,6 +7901,7 @@ void main() { }), true); final response = await res.patch(arg_request, arg_name, allowMissing: arg_allowMissing, + forceNewRevision: arg_forceNewRevision, updateMask: arg_updateMask, validateOnly: arg_validateOnly, $fields: arg_$fields); @@ -6461,7 +7911,7 @@ void main() { unittest.test('method--setIamPolicy', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.services; + final res = api.CloudRunApi(mock).projects.locations.workerPools; final arg_request = buildGoogleIamV1SetIamPolicyRequest(); final arg_resource = 'foo'; final arg_$fields = 'foo'; @@ -6519,7 +7969,7 @@ void main() { unittest.test('method--testIamPermissions', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.services; + final res = api.CloudRunApi(mock).projects.locations.workerPools; final arg_request = buildGoogleIamV1TestIamPermissionsRequest(); final arg_resource = 'foo'; final arg_$fields = 'foo'; @@ -6578,10 +8028,11 @@ void main() { }); }); - unittest.group('resource-ProjectsLocationsServicesRevisionsResource', () { + unittest.group('resource-ProjectsLocationsWorkerPoolsRevisionsResource', () { unittest.test('method--delete', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.services.revisions; + final res = + api.CloudRunApi(mock).projects.locations.workerPools.revisions; final arg_name = 'foo'; final arg_etag = 'foo'; final arg_validateOnly = true; @@ -6643,65 +8094,10 @@ void main() { response as api.GoogleLongrunningOperation); }); - unittest.test('method--exportStatus', () async { - final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.services.revisions; - final arg_name = 'foo'; - final arg_operationId = 'foo'; - final arg_$fields = 'foo'; - mock.register(unittest.expectAsync2((http.BaseRequest req, json) { - final path = req.url.path; - var pathOffset = 0; - core.int index; - core.String subPart; - unittest.expect( - path.substring(pathOffset, pathOffset + 1), - unittest.equals('/'), - ); - pathOffset += 1; - unittest.expect( - path.substring(pathOffset, pathOffset + 3), - unittest.equals('v2/'), - ); - pathOffset += 3; - // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; - - final query = req.url.query; - var queryOffset = 0; - final queryMap = >{}; - void addQueryParam(core.String n, core.String v) => - queryMap.putIfAbsent(n, () => []).add(v); - - if (query.isNotEmpty) { - for (var part in query.split('&')) { - final keyValue = part.split('='); - addQueryParam( - core.Uri.decodeQueryComponent(keyValue[0]), - core.Uri.decodeQueryComponent(keyValue[1]), - ); - } - } - unittest.expect( - queryMap['fields']!.first, - unittest.equals(arg_$fields), - ); - - final h = { - 'content-type': 'application/json; charset=utf-8', - }; - final resp = - convert.json.encode(buildGoogleCloudRunV2ExportStatusResponse()); - return async.Future.value(stringResponse(200, h, resp)); - }), true); - final response = await res.exportStatus(arg_name, arg_operationId, - $fields: arg_$fields); - checkGoogleCloudRunV2ExportStatusResponse( - response as api.GoogleCloudRunV2ExportStatusResponse); - }); - unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.services.revisions; + final res = + api.CloudRunApi(mock).projects.locations.workerPools.revisions; final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -6753,7 +8149,8 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.CloudRunApi(mock).projects.locations.services.revisions; + final res = + api.CloudRunApi(mock).projects.locations.workerPools.revisions; final arg_parent = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; diff --git a/generated/googleapis/test/securitycenter/v1_test.dart b/generated/googleapis/test/securitycenter/v1_test.dart index 992e9672b..3d4c69a46 100644 --- a/generated/googleapis/test/securitycenter/v1_test.dart +++ b/generated/googleapis/test/securitycenter/v1_test.dart @@ -177,6 +177,36 @@ void checkAdaptiveProtection(api.AdaptiveProtection o) { buildCounterAdaptiveProtection--; } +core.List buildUnnamed1() => [ + buildIpRule(), + buildIpRule(), + ]; + +void checkUnnamed1(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkIpRule(o[0]); + checkIpRule(o[1]); +} + +core.int buildCounterAllowed = 0; +api.Allowed buildAllowed() { + final o = api.Allowed(); + buildCounterAllowed++; + if (buildCounterAllowed < 3) { + o.ipRules = buildUnnamed1(); + } + buildCounterAllowed--; + return o; +} + +void checkAllowed(api.Allowed o) { + buildCounterAllowed++; + if (buildCounterAllowed < 3) { + checkUnnamed1(o.ipRules!); + } + buildCounterAllowed--; +} + core.int buildCounterApplication = 0; api.Application buildApplication() { final o = api.Application(); @@ -204,7 +234,7 @@ void checkApplication(api.Application o) { buildCounterApplication--; } -core.Map buildUnnamed1() => { +core.Map buildUnnamed2() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -217,7 +247,7 @@ core.Map buildUnnamed1() => { }, }; -void checkUnnamed1(core.Map o) { +void checkUnnamed2(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -258,7 +288,7 @@ api.Asset buildAsset() { o.createTime = 'foo'; o.iamPolicy = buildIamPolicy(); o.name = 'foo'; - o.resourceProperties = buildUnnamed1(); + o.resourceProperties = buildUnnamed2(); o.securityCenterProperties = buildSecurityCenterProperties(); o.securityMarks = buildSecurityMarks(); o.updateTime = 'foo'; @@ -283,7 +313,7 @@ void checkAsset(api.Asset o) { o.name!, unittest.equals('foo'), ); - checkUnnamed1(o.resourceProperties!); + checkUnnamed2(o.resourceProperties!); checkSecurityCenterProperties(o.securityCenterProperties!); checkSecurityMarks(o.securityMarks!); unittest.expect( @@ -294,12 +324,12 @@ void checkAsset(api.Asset o) { buildCounterAsset--; } -core.List buildUnnamed2() => [ +core.List buildUnnamed3() => [ 'foo', 'foo', ]; -void checkUnnamed2(core.List o) { +void checkUnnamed3(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -311,12 +341,12 @@ void checkUnnamed2(core.List o) { ); } -core.List buildUnnamed3() => [ +core.List buildUnnamed4() => [ 'foo', 'foo', ]; -void checkUnnamed3(core.List o) { +void checkUnnamed4(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -333,9 +363,9 @@ api.AssetDiscoveryConfig buildAssetDiscoveryConfig() { final o = api.AssetDiscoveryConfig(); buildCounterAssetDiscoveryConfig++; if (buildCounterAssetDiscoveryConfig < 3) { - o.folderIds = buildUnnamed2(); + o.folderIds = buildUnnamed3(); o.inclusionMode = 'foo'; - o.projectIds = buildUnnamed3(); + o.projectIds = buildUnnamed4(); } buildCounterAssetDiscoveryConfig--; return o; @@ -344,12 +374,12 @@ api.AssetDiscoveryConfig buildAssetDiscoveryConfig() { void checkAssetDiscoveryConfig(api.AssetDiscoveryConfig o) { buildCounterAssetDiscoveryConfig++; if (buildCounterAssetDiscoveryConfig < 3) { - checkUnnamed2(o.folderIds!); + checkUnnamed3(o.folderIds!); unittest.expect( o.inclusionMode!, unittest.equals('foo'), ); - checkUnnamed3(o.projectIds!); + checkUnnamed4(o.projectIds!); } buildCounterAssetDiscoveryConfig--; } @@ -361,7 +391,9 @@ api.Attack buildAttack() { if (buildCounterAttack < 3) { o.classification = 'foo'; o.volumeBps = 42; + o.volumeBpsLong = 'foo'; o.volumePps = 42; + o.volumePpsLong = 'foo'; } buildCounterAttack--; return o; @@ -378,10 +410,18 @@ void checkAttack(api.Attack o) { o.volumeBps!, unittest.equals(42), ); + unittest.expect( + o.volumeBpsLong!, + unittest.equals('foo'), + ); unittest.expect( o.volumePps!, unittest.equals(42), ); + unittest.expect( + o.volumePpsLong!, + unittest.equals('foo'), + ); } buildCounterAttack--; } @@ -438,23 +478,23 @@ void checkAttackExposure(api.AttackExposure o) { buildCounterAttackExposure--; } -core.List buildUnnamed4() => [ +core.List buildUnnamed5() => [ buildAttackPathEdge(), buildAttackPathEdge(), ]; -void checkUnnamed4(core.List o) { +void checkUnnamed5(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAttackPathEdge(o[0]); checkAttackPathEdge(o[1]); } -core.List buildUnnamed5() => [ +core.List buildUnnamed6() => [ buildAttackPathNode(), buildAttackPathNode(), ]; -void checkUnnamed5(core.List o) { +void checkUnnamed6(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAttackPathNode(o[0]); checkAttackPathNode(o[1]); @@ -465,9 +505,9 @@ api.AttackPath buildAttackPath() { final o = api.AttackPath(); buildCounterAttackPath++; if (buildCounterAttackPath < 3) { - o.edges = buildUnnamed4(); + o.edges = buildUnnamed5(); o.name = 'foo'; - o.pathNodes = buildUnnamed5(); + o.pathNodes = buildUnnamed6(); } buildCounterAttackPath--; return o; @@ -476,12 +516,12 @@ api.AttackPath buildAttackPath() { void checkAttackPath(api.AttackPath o) { buildCounterAttackPath++; if (buildCounterAttackPath < 3) { - checkUnnamed4(o.edges!); + checkUnnamed5(o.edges!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed5(o.pathNodes!); + checkUnnamed6(o.pathNodes!); } buildCounterAttackPath--; } @@ -513,23 +553,23 @@ void checkAttackPathEdge(api.AttackPathEdge o) { buildCounterAttackPathEdge--; } -core.List buildUnnamed6() => [ +core.List buildUnnamed7() => [ buildPathNodeAssociatedFinding(), buildPathNodeAssociatedFinding(), ]; -void checkUnnamed6(core.List o) { +void checkUnnamed7(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPathNodeAssociatedFinding(o[0]); checkPathNodeAssociatedFinding(o[1]); } -core.List buildUnnamed7() => [ +core.List buildUnnamed8() => [ buildAttackStepNode(), buildAttackStepNode(), ]; -void checkUnnamed7(core.List o) { +void checkUnnamed8(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAttackStepNode(o[0]); checkAttackStepNode(o[1]); @@ -540,8 +580,8 @@ api.AttackPathNode buildAttackPathNode() { final o = api.AttackPathNode(); buildCounterAttackPathNode++; if (buildCounterAttackPathNode < 3) { - o.associatedFindings = buildUnnamed6(); - o.attackSteps = buildUnnamed7(); + o.associatedFindings = buildUnnamed7(); + o.attackSteps = buildUnnamed8(); o.displayName = 'foo'; o.resource = 'foo'; o.resourceType = 'foo'; @@ -554,8 +594,8 @@ api.AttackPathNode buildAttackPathNode() { void checkAttackPathNode(api.AttackPathNode o) { buildCounterAttackPathNode++; if (buildCounterAttackPathNode < 3) { - checkUnnamed6(o.associatedFindings!); - checkUnnamed7(o.attackSteps!); + checkUnnamed7(o.associatedFindings!); + checkUnnamed8(o.attackSteps!); unittest.expect( o.displayName!, unittest.equals('foo'), @@ -576,12 +616,12 @@ void checkAttackPathNode(api.AttackPathNode o) { buildCounterAttackPathNode--; } -core.Map buildUnnamed8() => { +core.Map buildUnnamed9() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed8(core.Map o) { +void checkUnnamed9(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -600,7 +640,7 @@ api.AttackStepNode buildAttackStepNode() { if (buildCounterAttackStepNode < 3) { o.description = 'foo'; o.displayName = 'foo'; - o.labels = buildUnnamed8(); + o.labels = buildUnnamed9(); o.type = 'foo'; o.uuid = 'foo'; } @@ -619,7 +659,7 @@ void checkAttackStepNode(api.AttackStepNode o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed8(o.labels!); + checkUnnamed9(o.labels!); unittest.expect( o.type!, unittest.equals('foo'), @@ -632,12 +672,12 @@ void checkAttackStepNode(api.AttackStepNode o) { buildCounterAttackStepNode--; } -core.List buildUnnamed9() => [ +core.List buildUnnamed10() => [ buildAuditLogConfig(), buildAuditLogConfig(), ]; -void checkUnnamed9(core.List o) { +void checkUnnamed10(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuditLogConfig(o[0]); checkAuditLogConfig(o[1]); @@ -648,7 +688,7 @@ api.AuditConfig buildAuditConfig() { final o = api.AuditConfig(); buildCounterAuditConfig++; if (buildCounterAuditConfig < 3) { - o.auditLogConfigs = buildUnnamed9(); + o.auditLogConfigs = buildUnnamed10(); o.service = 'foo'; } buildCounterAuditConfig--; @@ -658,7 +698,7 @@ api.AuditConfig buildAuditConfig() { void checkAuditConfig(api.AuditConfig o) { buildCounterAuditConfig++; if (buildCounterAuditConfig < 3) { - checkUnnamed9(o.auditLogConfigs!); + checkUnnamed10(o.auditLogConfigs!); unittest.expect( o.service!, unittest.equals('foo'), @@ -667,12 +707,12 @@ void checkAuditConfig(api.AuditConfig o) { buildCounterAuditConfig--; } -core.List buildUnnamed10() => [ +core.List buildUnnamed11() => [ 'foo', 'foo', ]; -void checkUnnamed10(core.List o) { +void checkUnnamed11(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -689,7 +729,7 @@ api.AuditLogConfig buildAuditLogConfig() { final o = api.AuditLogConfig(); buildCounterAuditLogConfig++; if (buildCounterAuditLogConfig < 3) { - o.exemptedMembers = buildUnnamed10(); + o.exemptedMembers = buildUnnamed11(); o.logType = 'foo'; } buildCounterAuditLogConfig--; @@ -699,7 +739,7 @@ api.AuditLogConfig buildAuditLogConfig() { void checkAuditLogConfig(api.AuditLogConfig o) { buildCounterAuditLogConfig++; if (buildCounterAuditLogConfig < 3) { - checkUnnamed10(o.exemptedMembers!); + checkUnnamed11(o.exemptedMembers!); unittest.expect( o.logType!, unittest.equals('foo'), @@ -735,12 +775,12 @@ void checkAwsAccount(api.AwsAccount o) { buildCounterAwsAccount--; } -core.List buildUnnamed11() => [ +core.List buildUnnamed12() => [ buildAwsOrganizationalUnit(), buildAwsOrganizationalUnit(), ]; -void checkUnnamed11(core.List o) { +void checkUnnamed12(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAwsOrganizationalUnit(o[0]); checkAwsOrganizationalUnit(o[1]); @@ -753,7 +793,7 @@ api.AwsMetadata buildAwsMetadata() { if (buildCounterAwsMetadata < 3) { o.account = buildAwsAccount(); o.organization = buildAwsOrganization(); - o.organizationalUnits = buildUnnamed11(); + o.organizationalUnits = buildUnnamed12(); } buildCounterAwsMetadata--; return o; @@ -764,7 +804,7 @@ void checkAwsMetadata(api.AwsMetadata o) { if (buildCounterAwsMetadata < 3) { checkAwsAccount(o.account!); checkAwsOrganization(o.organization!); - checkUnnamed11(o.organizationalUnits!); + checkUnnamed12(o.organizationalUnits!); } buildCounterAwsMetadata--; } @@ -845,12 +885,12 @@ void checkAzureManagementGroup(api.AzureManagementGroup o) { buildCounterAzureManagementGroup--; } -core.List buildUnnamed12() => [ +core.List buildUnnamed13() => [ buildAzureManagementGroup(), buildAzureManagementGroup(), ]; -void checkUnnamed12(core.List o) { +void checkUnnamed13(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAzureManagementGroup(o[0]); checkAzureManagementGroup(o[1]); @@ -861,7 +901,7 @@ api.AzureMetadata buildAzureMetadata() { final o = api.AzureMetadata(); buildCounterAzureMetadata++; if (buildCounterAzureMetadata < 3) { - o.managementGroups = buildUnnamed12(); + o.managementGroups = buildUnnamed13(); o.resourceGroup = buildAzureResourceGroup(); o.subscription = buildAzureSubscription(); o.tenant = buildAzureTenant(); @@ -873,7 +913,7 @@ api.AzureMetadata buildAzureMetadata() { void checkAzureMetadata(api.AzureMetadata o) { buildCounterAzureMetadata++; if (buildCounterAzureMetadata < 3) { - checkUnnamed12(o.managementGroups!); + checkUnnamed13(o.managementGroups!); checkAzureResourceGroup(o.resourceGroup!); checkAzureSubscription(o.subscription!); checkAzureTenant(o.tenant!); @@ -962,12 +1002,12 @@ void checkAzureTenant(api.AzureTenant o) { buildCounterAzureTenant--; } -core.List buildUnnamed13() => [ +core.List buildUnnamed14() => [ 'foo', 'foo', ]; -void checkUnnamed13(core.List o) { +void checkUnnamed14(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -979,12 +1019,12 @@ void checkUnnamed13(core.List o) { ); } -core.List buildUnnamed14() => [ +core.List buildUnnamed15() => [ 'foo', 'foo', ]; -void checkUnnamed14(core.List o) { +void checkUnnamed15(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -996,12 +1036,12 @@ void checkUnnamed14(core.List o) { ); } -core.List buildUnnamed15() => [ +core.List buildUnnamed16() => [ 'foo', 'foo', ]; -void checkUnnamed15(core.List o) { +void checkUnnamed16(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1019,13 +1059,13 @@ api.BackupDisasterRecovery buildBackupDisasterRecovery() { buildCounterBackupDisasterRecovery++; if (buildCounterBackupDisasterRecovery < 3) { o.appliance = 'foo'; - o.applications = buildUnnamed13(); + o.applications = buildUnnamed14(); o.backupCreateTime = 'foo'; o.backupTemplate = 'foo'; o.backupType = 'foo'; o.host = 'foo'; - o.policies = buildUnnamed14(); - o.policyOptions = buildUnnamed15(); + o.policies = buildUnnamed15(); + o.policyOptions = buildUnnamed16(); o.profile = 'foo'; o.storagePool = 'foo'; } @@ -1040,7 +1080,7 @@ void checkBackupDisasterRecovery(api.BackupDisasterRecovery o) { o.appliance!, unittest.equals('foo'), ); - checkUnnamed13(o.applications!); + checkUnnamed14(o.applications!); unittest.expect( o.backupCreateTime!, unittest.equals('foo'), @@ -1057,8 +1097,8 @@ void checkBackupDisasterRecovery(api.BackupDisasterRecovery o) { o.host!, unittest.equals('foo'), ); - checkUnnamed14(o.policies!); - checkUnnamed15(o.policyOptions!); + checkUnnamed15(o.policies!); + checkUnnamed16(o.policyOptions!); unittest.expect( o.profile!, unittest.equals('foo'), @@ -1071,12 +1111,12 @@ void checkBackupDisasterRecovery(api.BackupDisasterRecovery o) { buildCounterBackupDisasterRecovery--; } -core.List buildUnnamed16() => [ +core.List buildUnnamed17() => [ buildCreateResourceValueConfigRequest(), buildCreateResourceValueConfigRequest(), ]; -void checkUnnamed16(core.List o) { +void checkUnnamed17(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCreateResourceValueConfigRequest(o[0]); checkCreateResourceValueConfigRequest(o[1]); @@ -1088,7 +1128,7 @@ api.BatchCreateResourceValueConfigsRequest final o = api.BatchCreateResourceValueConfigsRequest(); buildCounterBatchCreateResourceValueConfigsRequest++; if (buildCounterBatchCreateResourceValueConfigsRequest < 3) { - o.requests = buildUnnamed16(); + o.requests = buildUnnamed17(); } buildCounterBatchCreateResourceValueConfigsRequest--; return o; @@ -1098,18 +1138,18 @@ void checkBatchCreateResourceValueConfigsRequest( api.BatchCreateResourceValueConfigsRequest o) { buildCounterBatchCreateResourceValueConfigsRequest++; if (buildCounterBatchCreateResourceValueConfigsRequest < 3) { - checkUnnamed16(o.requests!); + checkUnnamed17(o.requests!); } buildCounterBatchCreateResourceValueConfigsRequest--; } core.List - buildUnnamed17() => [ + buildUnnamed18() => [ buildGoogleCloudSecuritycenterV1ResourceValueConfig(), buildGoogleCloudSecuritycenterV1ResourceValueConfig(), ]; -void checkUnnamed17( +void checkUnnamed18( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudSecuritycenterV1ResourceValueConfig(o[0]); @@ -1122,7 +1162,7 @@ api.BatchCreateResourceValueConfigsResponse final o = api.BatchCreateResourceValueConfigsResponse(); buildCounterBatchCreateResourceValueConfigsResponse++; if (buildCounterBatchCreateResourceValueConfigsResponse < 3) { - o.resourceValueConfigs = buildUnnamed17(); + o.resourceValueConfigs = buildUnnamed18(); } buildCounterBatchCreateResourceValueConfigsResponse--; return o; @@ -1132,17 +1172,17 @@ void checkBatchCreateResourceValueConfigsResponse( api.BatchCreateResourceValueConfigsResponse o) { buildCounterBatchCreateResourceValueConfigsResponse++; if (buildCounterBatchCreateResourceValueConfigsResponse < 3) { - checkUnnamed17(o.resourceValueConfigs!); + checkUnnamed18(o.resourceValueConfigs!); } buildCounterBatchCreateResourceValueConfigsResponse--; } -core.List buildUnnamed18() => [ +core.List buildUnnamed19() => [ 'foo', 'foo', ]; -void checkUnnamed18(core.List o) { +void checkUnnamed19(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1160,7 +1200,7 @@ api.Binding buildBinding() { buildCounterBinding++; if (buildCounterBinding < 3) { o.condition = buildExpr(); - o.members = buildUnnamed18(); + o.members = buildUnnamed19(); o.role = 'foo'; } buildCounterBinding--; @@ -1171,7 +1211,7 @@ void checkBinding(api.Binding o) { buildCounterBinding++; if (buildCounterBinding < 3) { checkExpr(o.condition!); - checkUnnamed18(o.members!); + checkUnnamed19(o.members!); unittest.expect( o.role!, unittest.equals('foo'), @@ -1345,12 +1385,12 @@ void checkCloudLoggingEntry(api.CloudLoggingEntry o) { buildCounterCloudLoggingEntry--; } -core.List buildUnnamed19() => [ +core.List buildUnnamed20() => [ 'foo', 'foo', ]; -void checkUnnamed19(core.List o) { +void checkUnnamed20(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1367,7 +1407,7 @@ api.Compliance buildCompliance() { final o = api.Compliance(); buildCounterCompliance++; if (buildCounterCompliance < 3) { - o.ids = buildUnnamed19(); + o.ids = buildUnnamed20(); o.standard = 'foo'; o.version = 'foo'; } @@ -1378,7 +1418,7 @@ api.Compliance buildCompliance() { void checkCompliance(api.Compliance o) { buildCounterCompliance++; if (buildCounterCompliance < 3) { - checkUnnamed19(o.ids!); + checkUnnamed20(o.ids!); unittest.expect( o.standard!, unittest.equals('foo'), @@ -1455,12 +1495,12 @@ void checkContact(api.Contact o) { buildCounterContact--; } -core.List buildUnnamed20() => [ +core.List buildUnnamed21() => [ buildContact(), buildContact(), ]; -void checkUnnamed20(core.List o) { +void checkUnnamed21(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkContact(o[0]); checkContact(o[1]); @@ -1471,7 +1511,7 @@ api.ContactDetails buildContactDetails() { final o = api.ContactDetails(); buildCounterContactDetails++; if (buildCounterContactDetails < 3) { - o.contacts = buildUnnamed20(); + o.contacts = buildUnnamed21(); } buildCounterContactDetails--; return o; @@ -1480,17 +1520,17 @@ api.ContactDetails buildContactDetails() { void checkContactDetails(api.ContactDetails o) { buildCounterContactDetails++; if (buildCounterContactDetails < 3) { - checkUnnamed20(o.contacts!); + checkUnnamed21(o.contacts!); } buildCounterContactDetails--; } -core.List buildUnnamed21() => [ +core.List buildUnnamed22() => [ buildLabel(), buildLabel(), ]; -void checkUnnamed21(core.List o) { +void checkUnnamed22(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLabel(o[0]); checkLabel(o[1]); @@ -1503,7 +1543,7 @@ api.Container buildContainer() { if (buildCounterContainer < 3) { o.createTime = 'foo'; o.imageId = 'foo'; - o.labels = buildUnnamed21(); + o.labels = buildUnnamed22(); o.name = 'foo'; o.uri = 'foo'; } @@ -1522,7 +1562,7 @@ void checkContainer(api.Container o) { o.imageId!, unittest.equals('foo'), ); - checkUnnamed21(o.labels!); + checkUnnamed22(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -1592,12 +1632,12 @@ void checkCustomModuleValidationError(api.CustomModuleValidationError o) { buildCounterCustomModuleValidationError--; } -core.List buildUnnamed22() => [ +core.List buildUnnamed23() => [ buildCustomModuleValidationError(), buildCustomModuleValidationError(), ]; -void checkUnnamed22(core.List o) { +void checkUnnamed23(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCustomModuleValidationError(o[0]); checkCustomModuleValidationError(o[1]); @@ -1608,7 +1648,7 @@ api.CustomModuleValidationErrors buildCustomModuleValidationErrors() { final o = api.CustomModuleValidationErrors(); buildCounterCustomModuleValidationErrors++; if (buildCounterCustomModuleValidationErrors < 3) { - o.errors = buildUnnamed22(); + o.errors = buildUnnamed23(); } buildCounterCustomModuleValidationErrors--; return o; @@ -1617,17 +1657,17 @@ api.CustomModuleValidationErrors buildCustomModuleValidationErrors() { void checkCustomModuleValidationErrors(api.CustomModuleValidationErrors o) { buildCounterCustomModuleValidationErrors++; if (buildCounterCustomModuleValidationErrors < 3) { - checkUnnamed22(o.errors!); + checkUnnamed23(o.errors!); } buildCounterCustomModuleValidationErrors--; } -core.List buildUnnamed23() => [ +core.List buildUnnamed24() => [ buildReference(), buildReference(), ]; -void checkUnnamed23(core.List o) { +void checkUnnamed24(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReference(o[0]); checkReference(o[1]); @@ -1645,7 +1685,7 @@ api.Cve buildCve() { o.id = 'foo'; o.impact = 'foo'; o.observedInTheWild = true; - o.references = buildUnnamed23(); + o.references = buildUnnamed24(); o.upstreamFixAvailable = true; o.zeroDay = true; } @@ -1678,7 +1718,7 @@ void checkCve(api.Cve o) { unittest.equals('foo'), ); unittest.expect(o.observedInTheWild!, unittest.isTrue); - checkUnnamed23(o.references!); + checkUnnamed24(o.references!); unittest.expect(o.upstreamFixAvailable!, unittest.isTrue); unittest.expect(o.zeroDay!, unittest.isTrue); } @@ -1863,12 +1903,12 @@ void checkDataRetentionDeletionEvent(api.DataRetentionDeletionEvent o) { buildCounterDataRetentionDeletionEvent--; } -core.List buildUnnamed24() => [ +core.List buildUnnamed25() => [ 'foo', 'foo', ]; -void checkUnnamed24(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1886,7 +1926,7 @@ api.Database buildDatabase() { buildCounterDatabase++; if (buildCounterDatabase < 3) { o.displayName = 'foo'; - o.grantees = buildUnnamed24(); + o.grantees = buildUnnamed25(); o.name = 'foo'; o.query = 'foo'; o.userName = 'foo'; @@ -1903,7 +1943,7 @@ void checkDatabase(api.Database o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed24(o.grantees!); + checkUnnamed25(o.grantees!); unittest.expect( o.name!, unittest.equals('foo'), @@ -1924,6 +1964,36 @@ void checkDatabase(api.Database o) { buildCounterDatabase--; } +core.List buildUnnamed26() => [ + buildIpRule(), + buildIpRule(), + ]; + +void checkUnnamed26(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkIpRule(o[0]); + checkIpRule(o[1]); +} + +core.int buildCounterDenied = 0; +api.Denied buildDenied() { + final o = api.Denied(); + buildCounterDenied++; + if (buildCounterDenied < 3) { + o.ipRules = buildUnnamed26(); + } + buildCounterDenied--; + return o; +} + +void checkDenied(api.Denied o) { + buildCounterDenied++; + if (buildCounterDenied < 3) { + checkUnnamed26(o.ipRules!); + } + buildCounterDenied--; +} + core.int buildCounterDetection = 0; api.Detection buildDetection() { final o = api.Detection(); @@ -2027,7 +2097,7 @@ void checkDynamicMuteRecord(api.DynamicMuteRecord o) { buildCounterDynamicMuteRecord--; } -core.Map buildUnnamed25() => { +core.Map buildUnnamed27() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2040,7 +2110,7 @@ core.Map buildUnnamed25() => { }, }; -void checkUnnamed25(core.Map o) { +void checkUnnamed27(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -2079,7 +2149,7 @@ api.EffectiveEventThreatDetectionCustomModule buildCounterEffectiveEventThreatDetectionCustomModule++; if (buildCounterEffectiveEventThreatDetectionCustomModule < 3) { o.cloudProvider = 'foo'; - o.config = buildUnnamed25(); + o.config = buildUnnamed27(); o.description = 'foo'; o.displayName = 'foo'; o.enablementState = 'foo'; @@ -2098,7 +2168,7 @@ void checkEffectiveEventThreatDetectionCustomModule( o.cloudProvider!, unittest.equals('foo'), ); - checkUnnamed25(o.config!); + checkUnnamed27(o.config!); unittest.expect( o.description!, unittest.equals('foo'), @@ -2165,7 +2235,7 @@ void checkEnvironmentVariable(api.EnvironmentVariable o) { buildCounterEnvironmentVariable--; } -core.Map buildUnnamed26() => { +core.Map buildUnnamed28() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2178,7 +2248,7 @@ core.Map buildUnnamed26() => { }, }; -void checkUnnamed26(core.Map o) { +void checkUnnamed28(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -2217,7 +2287,7 @@ api.EventThreatDetectionCustomModule buildEventThreatDetectionCustomModule() { if (buildCounterEventThreatDetectionCustomModule < 3) { o.ancestorModule = 'foo'; o.cloudProvider = 'foo'; - o.config = buildUnnamed26(); + o.config = buildUnnamed28(); o.description = 'foo'; o.displayName = 'foo'; o.enablementState = 'foo'; @@ -2242,7 +2312,7 @@ void checkEventThreatDetectionCustomModule( o.cloudProvider!, unittest.equals('foo'), ); - checkUnnamed26(o.config!); + checkUnnamed28(o.config!); unittest.expect( o.description!, unittest.equals('foo'), @@ -2275,12 +2345,12 @@ void checkEventThreatDetectionCustomModule( buildCounterEventThreatDetectionCustomModule--; } -core.List buildUnnamed27() => [ +core.List buildUnnamed29() => [ 'foo', 'foo', ]; -void checkUnnamed27(core.List o) { +void checkUnnamed29(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2297,7 +2367,7 @@ api.ExfilResource buildExfilResource() { final o = api.ExfilResource(); buildCounterExfilResource++; if (buildCounterExfilResource < 3) { - o.components = buildUnnamed27(); + o.components = buildUnnamed29(); o.name = 'foo'; } buildCounterExfilResource--; @@ -2307,7 +2377,7 @@ api.ExfilResource buildExfilResource() { void checkExfilResource(api.ExfilResource o) { buildCounterExfilResource++; if (buildCounterExfilResource < 3) { - checkUnnamed27(o.components!); + checkUnnamed29(o.components!); unittest.expect( o.name!, unittest.equals('foo'), @@ -2316,23 +2386,23 @@ void checkExfilResource(api.ExfilResource o) { buildCounterExfilResource--; } -core.List buildUnnamed28() => [ +core.List buildUnnamed30() => [ buildExfilResource(), buildExfilResource(), ]; -void checkUnnamed28(core.List o) { +void checkUnnamed30(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExfilResource(o[0]); checkExfilResource(o[1]); } -core.List buildUnnamed29() => [ +core.List buildUnnamed31() => [ buildExfilResource(), buildExfilResource(), ]; -void checkUnnamed29(core.List o) { +void checkUnnamed31(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExfilResource(o[0]); checkExfilResource(o[1]); @@ -2343,8 +2413,8 @@ api.Exfiltration buildExfiltration() { final o = api.Exfiltration(); buildCounterExfiltration++; if (buildCounterExfiltration < 3) { - o.sources = buildUnnamed28(); - o.targets = buildUnnamed29(); + o.sources = buildUnnamed30(); + o.targets = buildUnnamed31(); o.totalExfiltratedBytes = 'foo'; } buildCounterExfiltration--; @@ -2354,8 +2424,8 @@ api.Exfiltration buildExfiltration() { void checkExfiltration(api.Exfiltration o) { buildCounterExfiltration++; if (buildCounterExfiltration < 3) { - checkUnnamed28(o.sources!); - checkUnnamed29(o.targets!); + checkUnnamed30(o.sources!); + checkUnnamed31(o.targets!); unittest.expect( o.totalExfiltratedBytes!, unittest.equals('foo'), @@ -2447,174 +2517,185 @@ void checkFile(api.File o) { buildCounterFile--; } -core.List buildUnnamed30() => [ +core.List buildUnnamed32() => [ buildCompliance(), buildCompliance(), ]; -void checkUnnamed30(core.List o) { +void checkUnnamed32(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCompliance(o[0]); checkCompliance(o[1]); } -core.List buildUnnamed31() => [ +core.List buildUnnamed33() => [ buildConnection(), buildConnection(), ]; -void checkUnnamed31(core.List o) { +void checkUnnamed33(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConnection(o[0]); checkConnection(o[1]); } -core.Map buildUnnamed32() => { +core.Map buildUnnamed34() => { 'x': buildContactDetails(), 'y': buildContactDetails(), }; -void checkUnnamed32(core.Map o) { +void checkUnnamed34(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkContactDetails(o['x']!); checkContactDetails(o['y']!); } -core.List buildUnnamed33() => [ +core.List buildUnnamed35() => [ buildContainer(), buildContainer(), ]; -void checkUnnamed33(core.List o) { +void checkUnnamed35(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkContainer(o[0]); checkContainer(o[1]); } -core.List buildUnnamed34() => [ +core.List buildUnnamed36() => [ buildDataAccessEvent(), buildDataAccessEvent(), ]; -void checkUnnamed34(core.List o) { +void checkUnnamed36(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDataAccessEvent(o[0]); checkDataAccessEvent(o[1]); } -core.List buildUnnamed35() => [ +core.List buildUnnamed37() => [ buildDataFlowEvent(), buildDataFlowEvent(), ]; -void checkUnnamed35(core.List o) { +void checkUnnamed37(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDataFlowEvent(o[0]); checkDataFlowEvent(o[1]); } -core.List buildUnnamed36() => [ +core.List buildUnnamed38() => [ buildDataRetentionDeletionEvent(), buildDataRetentionDeletionEvent(), ]; -void checkUnnamed36(core.List o) { +void checkUnnamed38(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDataRetentionDeletionEvent(o[0]); checkDataRetentionDeletionEvent(o[1]); } core.Map - buildUnnamed37() => { + buildUnnamed39() => { 'x': buildGoogleCloudSecuritycenterV1ExternalSystem(), 'y': buildGoogleCloudSecuritycenterV1ExternalSystem(), }; -void checkUnnamed37( +void checkUnnamed39( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudSecuritycenterV1ExternalSystem(o['x']!); checkGoogleCloudSecuritycenterV1ExternalSystem(o['y']!); } -core.List buildUnnamed38() => [ +core.List buildUnnamed40() => [ buildFile(), buildFile(), ]; -void checkUnnamed38(core.List o) { +void checkUnnamed40(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFile(o[0]); checkFile(o[1]); } -core.List buildUnnamed39() => [ +core.List buildUnnamed41() => [ buildGroupMembership(), buildGroupMembership(), ]; -void checkUnnamed39(core.List o) { +void checkUnnamed41(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGroupMembership(o[0]); checkGroupMembership(o[1]); } -core.List buildUnnamed40() => [ +core.List buildUnnamed42() => [ buildIamBinding(), buildIamBinding(), ]; -void checkUnnamed40(core.List o) { +void checkUnnamed42(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkIamBinding(o[0]); checkIamBinding(o[1]); } -core.List buildUnnamed41() => [ +core.List buildUnnamed43() => [ buildLoadBalancer(), buildLoadBalancer(), ]; -void checkUnnamed41(core.List o) { +void checkUnnamed43(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLoadBalancer(o[0]); checkLoadBalancer(o[1]); } -core.List buildUnnamed42() => [ +core.List buildUnnamed44() => [ buildLogEntry(), buildLogEntry(), ]; -void checkUnnamed42(core.List o) { +void checkUnnamed44(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLogEntry(o[0]); checkLogEntry(o[1]); } -core.List buildUnnamed43() => [ +core.List buildUnnamed45() => [ + buildNetwork(), + buildNetwork(), + ]; + +void checkUnnamed45(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkNetwork(o[0]); + checkNetwork(o[1]); +} + +core.List buildUnnamed46() => [ buildOrgPolicy(), buildOrgPolicy(), ]; -void checkUnnamed43(core.List o) { +void checkUnnamed46(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOrgPolicy(o[0]); checkOrgPolicy(o[1]); } -core.List buildUnnamed44() => [ +core.List buildUnnamed47() => [ buildProcess(), buildProcess(), ]; -void checkUnnamed44(core.List o) { +void checkUnnamed47(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkProcess(o[0]); checkProcess(o[1]); } -core.Map buildUnnamed45() => { +core.Map buildUnnamed48() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2627,7 +2708,7 @@ core.Map buildUnnamed45() => { }, }; -void checkUnnamed45(core.Map o) { +void checkUnnamed48(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -2673,30 +2754,32 @@ api.Finding buildFinding() { o.cloudArmor = buildCloudArmor(); o.cloudDlpDataProfile = buildCloudDlpDataProfile(); o.cloudDlpInspection = buildCloudDlpInspection(); - o.compliances = buildUnnamed30(); - o.connections = buildUnnamed31(); - o.contacts = buildUnnamed32(); - o.containers = buildUnnamed33(); + o.compliances = buildUnnamed32(); + o.connections = buildUnnamed33(); + o.contacts = buildUnnamed34(); + o.containers = buildUnnamed35(); o.createTime = 'foo'; - o.dataAccessEvents = buildUnnamed34(); - o.dataFlowEvents = buildUnnamed35(); - o.dataRetentionDeletionEvents = buildUnnamed36(); + o.dataAccessEvents = buildUnnamed36(); + o.dataFlowEvents = buildUnnamed37(); + o.dataRetentionDeletionEvents = buildUnnamed38(); o.database = buildDatabase(); o.description = 'foo'; o.disk = buildDisk(); o.eventTime = 'foo'; o.exfiltration = buildExfiltration(); - o.externalSystems = buildUnnamed37(); + o.externalSystems = buildUnnamed39(); o.externalUri = 'foo'; - o.files = buildUnnamed38(); + o.files = buildUnnamed40(); o.findingClass = 'foo'; - o.groupMemberships = buildUnnamed39(); - o.iamBindings = buildUnnamed40(); + o.groupMemberships = buildUnnamed41(); + o.iamBindings = buildUnnamed42(); o.indicator = buildIndicator(); + o.ipRules = buildIpRules(); + o.job = buildJob(); o.kernelRootkit = buildKernelRootkit(); o.kubernetes = buildKubernetes(); - o.loadBalancers = buildUnnamed41(); - o.logEntries = buildUnnamed42(); + o.loadBalancers = buildUnnamed43(); + o.logEntries = buildUnnamed44(); o.mitreAttack = buildMitreAttack(); o.moduleName = 'foo'; o.mute = 'foo'; @@ -2704,17 +2787,18 @@ api.Finding buildFinding() { o.muteInitiator = 'foo'; o.muteUpdateTime = 'foo'; o.name = 'foo'; + o.networks = buildUnnamed45(); o.nextSteps = 'foo'; o.notebook = buildNotebook(); - o.orgPolicies = buildUnnamed43(); + o.orgPolicies = buildUnnamed46(); o.parent = 'foo'; o.parentDisplayName = 'foo'; - o.processes = buildUnnamed44(); + o.processes = buildUnnamed47(); o.resourceName = 'foo'; o.securityMarks = buildSecurityMarks(); o.securityPosture = buildSecurityPosture(); o.severity = 'foo'; - o.sourceProperties = buildUnnamed45(); + o.sourceProperties = buildUnnamed48(); o.state = 'foo'; o.toxicCombination = buildToxicCombination(); o.vulnerability = buildVulnerability(); @@ -2741,17 +2825,17 @@ void checkFinding(api.Finding o) { checkCloudArmor(o.cloudArmor!); checkCloudDlpDataProfile(o.cloudDlpDataProfile!); checkCloudDlpInspection(o.cloudDlpInspection!); - checkUnnamed30(o.compliances!); - checkUnnamed31(o.connections!); - checkUnnamed32(o.contacts!); - checkUnnamed33(o.containers!); + checkUnnamed32(o.compliances!); + checkUnnamed33(o.connections!); + checkUnnamed34(o.contacts!); + checkUnnamed35(o.containers!); unittest.expect( o.createTime!, unittest.equals('foo'), ); - checkUnnamed34(o.dataAccessEvents!); - checkUnnamed35(o.dataFlowEvents!); - checkUnnamed36(o.dataRetentionDeletionEvents!); + checkUnnamed36(o.dataAccessEvents!); + checkUnnamed37(o.dataFlowEvents!); + checkUnnamed38(o.dataRetentionDeletionEvents!); checkDatabase(o.database!); unittest.expect( o.description!, @@ -2763,23 +2847,25 @@ void checkFinding(api.Finding o) { unittest.equals('foo'), ); checkExfiltration(o.exfiltration!); - checkUnnamed37(o.externalSystems!); + checkUnnamed39(o.externalSystems!); unittest.expect( o.externalUri!, unittest.equals('foo'), ); - checkUnnamed38(o.files!); + checkUnnamed40(o.files!); unittest.expect( o.findingClass!, unittest.equals('foo'), ); - checkUnnamed39(o.groupMemberships!); - checkUnnamed40(o.iamBindings!); + checkUnnamed41(o.groupMemberships!); + checkUnnamed42(o.iamBindings!); checkIndicator(o.indicator!); + checkIpRules(o.ipRules!); + checkJob(o.job!); checkKernelRootkit(o.kernelRootkit!); checkKubernetes(o.kubernetes!); - checkUnnamed41(o.loadBalancers!); - checkUnnamed42(o.logEntries!); + checkUnnamed43(o.loadBalancers!); + checkUnnamed44(o.logEntries!); checkMitreAttack(o.mitreAttack!); unittest.expect( o.moduleName!, @@ -2802,12 +2888,13 @@ void checkFinding(api.Finding o) { o.name!, unittest.equals('foo'), ); + checkUnnamed45(o.networks!); unittest.expect( o.nextSteps!, unittest.equals('foo'), ); checkNotebook(o.notebook!); - checkUnnamed43(o.orgPolicies!); + checkUnnamed46(o.orgPolicies!); unittest.expect( o.parent!, unittest.equals('foo'), @@ -2816,7 +2903,7 @@ void checkFinding(api.Finding o) { o.parentDisplayName!, unittest.equals('foo'), ); - checkUnnamed44(o.processes!); + checkUnnamed47(o.processes!); unittest.expect( o.resourceName!, unittest.equals('foo'), @@ -2827,7 +2914,7 @@ void checkFinding(api.Finding o) { o.severity!, unittest.equals('foo'), ); - checkUnnamed45(o.sourceProperties!); + checkUnnamed48(o.sourceProperties!); unittest.expect( o.state!, unittest.equals('foo'), @@ -2987,12 +3074,12 @@ void checkGoogleCloudSecuritycenterV1BigQueryExport( buildCounterGoogleCloudSecuritycenterV1BigQueryExport--; } -core.List buildUnnamed46() => [ +core.List buildUnnamed49() => [ buildSubject(), buildSubject(), ]; -void checkUnnamed46(core.List o) { +void checkUnnamed49(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSubject(o[0]); checkSubject(o[1]); @@ -3007,7 +3094,7 @@ api.GoogleCloudSecuritycenterV1Binding o.name = 'foo'; o.ns = 'foo'; o.role = buildRole(); - o.subjects = buildUnnamed46(); + o.subjects = buildUnnamed49(); } buildCounterGoogleCloudSecuritycenterV1Binding--; return o; @@ -3026,7 +3113,7 @@ void checkGoogleCloudSecuritycenterV1Binding( unittest.equals('foo'), ); checkRole(o.role!); - checkUnnamed46(o.subjects!); + checkUnnamed49(o.subjects!); } buildCounterGoogleCloudSecuritycenterV1Binding--; } @@ -3071,12 +3158,12 @@ void checkGoogleCloudSecuritycenterV1CustomConfig( buildCounterGoogleCloudSecuritycenterV1CustomConfig--; } -core.List buildUnnamed47() => [ +core.List buildUnnamed50() => [ buildGoogleCloudSecuritycenterV1Property(), buildGoogleCloudSecuritycenterV1Property(), ]; -void checkUnnamed47(core.List o) { +void checkUnnamed50(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudSecuritycenterV1Property(o[0]); checkGoogleCloudSecuritycenterV1Property(o[1]); @@ -3088,7 +3175,7 @@ api.GoogleCloudSecuritycenterV1CustomOutputSpec final o = api.GoogleCloudSecuritycenterV1CustomOutputSpec(); buildCounterGoogleCloudSecuritycenterV1CustomOutputSpec++; if (buildCounterGoogleCloudSecuritycenterV1CustomOutputSpec < 3) { - o.properties = buildUnnamed47(); + o.properties = buildUnnamed50(); } buildCounterGoogleCloudSecuritycenterV1CustomOutputSpec--; return o; @@ -3098,7 +3185,7 @@ void checkGoogleCloudSecuritycenterV1CustomOutputSpec( api.GoogleCloudSecuritycenterV1CustomOutputSpec o) { buildCounterGoogleCloudSecuritycenterV1CustomOutputSpec++; if (buildCounterGoogleCloudSecuritycenterV1CustomOutputSpec < 3) { - checkUnnamed47(o.properties!); + checkUnnamed50(o.properties!); } buildCounterGoogleCloudSecuritycenterV1CustomOutputSpec--; } @@ -3150,12 +3237,12 @@ void checkGoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModul buildCounterGoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule--; } -core.List buildUnnamed48() => [ +core.List buildUnnamed51() => [ 'foo', 'foo', ]; -void checkUnnamed48(core.List o) { +void checkUnnamed51(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3173,7 +3260,7 @@ api.GoogleCloudSecuritycenterV1ExternalSystem final o = api.GoogleCloudSecuritycenterV1ExternalSystem(); buildCounterGoogleCloudSecuritycenterV1ExternalSystem++; if (buildCounterGoogleCloudSecuritycenterV1ExternalSystem < 3) { - o.assignees = buildUnnamed48(); + o.assignees = buildUnnamed51(); o.caseCloseTime = 'foo'; o.caseCreateTime = 'foo'; o.casePriority = 'foo'; @@ -3193,7 +3280,7 @@ void checkGoogleCloudSecuritycenterV1ExternalSystem( api.GoogleCloudSecuritycenterV1ExternalSystem o) { buildCounterGoogleCloudSecuritycenterV1ExternalSystem++; if (buildCounterGoogleCloudSecuritycenterV1ExternalSystem < 3) { - checkUnnamed48(o.assignees!); + checkUnnamed51(o.assignees!); unittest.expect( o.caseCloseTime!, unittest.equals('foo'), @@ -3325,12 +3412,12 @@ void checkGoogleCloudSecuritycenterV1Property( buildCounterGoogleCloudSecuritycenterV1Property--; } -core.List buildUnnamed49() => [ +core.List buildUnnamed52() => [ 'foo', 'foo', ]; -void checkUnnamed49(core.List o) { +void checkUnnamed52(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3348,7 +3435,7 @@ api.GoogleCloudSecuritycenterV1ResourceSelector final o = api.GoogleCloudSecuritycenterV1ResourceSelector(); buildCounterGoogleCloudSecuritycenterV1ResourceSelector++; if (buildCounterGoogleCloudSecuritycenterV1ResourceSelector < 3) { - o.resourceTypes = buildUnnamed49(); + o.resourceTypes = buildUnnamed52(); } buildCounterGoogleCloudSecuritycenterV1ResourceSelector--; return o; @@ -3358,17 +3445,17 @@ void checkGoogleCloudSecuritycenterV1ResourceSelector( api.GoogleCloudSecuritycenterV1ResourceSelector o) { buildCounterGoogleCloudSecuritycenterV1ResourceSelector++; if (buildCounterGoogleCloudSecuritycenterV1ResourceSelector < 3) { - checkUnnamed49(o.resourceTypes!); + checkUnnamed52(o.resourceTypes!); } buildCounterGoogleCloudSecuritycenterV1ResourceSelector--; } -core.Map buildUnnamed50() => { +core.Map buildUnnamed53() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed50(core.Map o) { +void checkUnnamed53(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3380,12 +3467,12 @@ void checkUnnamed50(core.Map o) { ); } -core.List buildUnnamed51() => [ +core.List buildUnnamed54() => [ 'foo', 'foo', ]; -void checkUnnamed51(core.List o) { +void checkUnnamed54(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3407,13 +3494,13 @@ api.GoogleCloudSecuritycenterV1ResourceValueConfig o.createTime = 'foo'; o.description = 'foo'; o.name = 'foo'; - o.resourceLabelsSelector = buildUnnamed50(); + o.resourceLabelsSelector = buildUnnamed53(); o.resourceType = 'foo'; o.resourceValue = 'foo'; o.scope = 'foo'; o.sensitiveDataProtectionMapping = buildGoogleCloudSecuritycenterV1SensitiveDataProtectionMapping(); - o.tagValues = buildUnnamed51(); + o.tagValues = buildUnnamed54(); o.updateTime = 'foo'; } buildCounterGoogleCloudSecuritycenterV1ResourceValueConfig--; @@ -3440,7 +3527,7 @@ void checkGoogleCloudSecuritycenterV1ResourceValueConfig( o.name!, unittest.equals('foo'), ); - checkUnnamed50(o.resourceLabelsSelector!); + checkUnnamed53(o.resourceLabelsSelector!); unittest.expect( o.resourceType!, unittest.equals('foo'), @@ -3455,7 +3542,7 @@ void checkGoogleCloudSecuritycenterV1ResourceValueConfig( ); checkGoogleCloudSecuritycenterV1SensitiveDataProtectionMapping( o.sensitiveDataProtectionMapping!); - checkUnnamed51(o.tagValues!); + checkUnnamed54(o.tagValues!); unittest.expect( o.updateTime!, unittest.equals('foo'), @@ -3604,12 +3691,12 @@ void checkGroupAssetsRequest(api.GroupAssetsRequest o) { buildCounterGroupAssetsRequest--; } -core.List buildUnnamed52() => [ +core.List buildUnnamed55() => [ buildGroupResult(), buildGroupResult(), ]; -void checkUnnamed52(core.List o) { +void checkUnnamed55(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGroupResult(o[0]); checkGroupResult(o[1]); @@ -3620,7 +3707,7 @@ api.GroupAssetsResponse buildGroupAssetsResponse() { final o = api.GroupAssetsResponse(); buildCounterGroupAssetsResponse++; if (buildCounterGroupAssetsResponse < 3) { - o.groupByResults = buildUnnamed52(); + o.groupByResults = buildUnnamed55(); o.nextPageToken = 'foo'; o.readTime = 'foo'; o.totalSize = 42; @@ -3632,7 +3719,7 @@ api.GroupAssetsResponse buildGroupAssetsResponse() { void checkGroupAssetsResponse(api.GroupAssetsResponse o) { buildCounterGroupAssetsResponse++; if (buildCounterGroupAssetsResponse < 3) { - checkUnnamed52(o.groupByResults!); + checkUnnamed55(o.groupByResults!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -3696,12 +3783,12 @@ void checkGroupFindingsRequest(api.GroupFindingsRequest o) { buildCounterGroupFindingsRequest--; } -core.List buildUnnamed53() => [ +core.List buildUnnamed56() => [ buildGroupResult(), buildGroupResult(), ]; -void checkUnnamed53(core.List o) { +void checkUnnamed56(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGroupResult(o[0]); checkGroupResult(o[1]); @@ -3712,7 +3799,7 @@ api.GroupFindingsResponse buildGroupFindingsResponse() { final o = api.GroupFindingsResponse(); buildCounterGroupFindingsResponse++; if (buildCounterGroupFindingsResponse < 3) { - o.groupByResults = buildUnnamed53(); + o.groupByResults = buildUnnamed56(); o.nextPageToken = 'foo'; o.readTime = 'foo'; o.totalSize = 42; @@ -3724,7 +3811,7 @@ api.GroupFindingsResponse buildGroupFindingsResponse() { void checkGroupFindingsResponse(api.GroupFindingsResponse o) { buildCounterGroupFindingsResponse++; if (buildCounterGroupFindingsResponse < 3) { - checkUnnamed53(o.groupByResults!); + checkUnnamed56(o.groupByResults!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -3768,7 +3855,7 @@ void checkGroupMembership(api.GroupMembership o) { buildCounterGroupMembership--; } -core.Map buildUnnamed54() => { +core.Map buildUnnamed57() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3781,7 +3868,7 @@ core.Map buildUnnamed54() => { }, }; -void checkUnnamed54(core.Map o) { +void checkUnnamed57(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted9 = (o['x']!) as core.Map; unittest.expect(casted9, unittest.hasLength(3)); @@ -3819,7 +3906,7 @@ api.GroupResult buildGroupResult() { buildCounterGroupResult++; if (buildCounterGroupResult < 3) { o.count = 'foo'; - o.properties = buildUnnamed54(); + o.properties = buildUnnamed57(); } buildCounterGroupResult--; return o; @@ -3832,7 +3919,7 @@ void checkGroupResult(api.GroupResult o) { o.count!, unittest.equals('foo'), ); - checkUnnamed54(o.properties!); + checkUnnamed57(o.properties!); } buildCounterGroupResult--; } @@ -3891,12 +3978,12 @@ void checkIamPolicy(api.IamPolicy o) { buildCounterIamPolicy--; } -core.List buildUnnamed55() => [ +core.List buildUnnamed58() => [ 'foo', 'foo', ]; -void checkUnnamed55(core.List o) { +void checkUnnamed58(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3908,12 +3995,12 @@ void checkUnnamed55(core.List o) { ); } -core.List buildUnnamed56() => [ +core.List buildUnnamed59() => [ 'foo', 'foo', ]; -void checkUnnamed56(core.List o) { +void checkUnnamed59(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3925,23 +4012,23 @@ void checkUnnamed56(core.List o) { ); } -core.List buildUnnamed57() => [ +core.List buildUnnamed60() => [ buildProcessSignature(), buildProcessSignature(), ]; -void checkUnnamed57(core.List o) { +void checkUnnamed60(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkProcessSignature(o[0]); checkProcessSignature(o[1]); } -core.List buildUnnamed58() => [ +core.List buildUnnamed61() => [ 'foo', 'foo', ]; -void checkUnnamed58(core.List o) { +void checkUnnamed61(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3958,10 +4045,10 @@ api.Indicator buildIndicator() { final o = api.Indicator(); buildCounterIndicator++; if (buildCounterIndicator < 3) { - o.domains = buildUnnamed55(); - o.ipAddresses = buildUnnamed56(); - o.signatures = buildUnnamed57(); - o.uris = buildUnnamed58(); + o.domains = buildUnnamed58(); + o.ipAddresses = buildUnnamed59(); + o.signatures = buildUnnamed60(); + o.uris = buildUnnamed61(); } buildCounterIndicator--; return o; @@ -3970,14 +4057,169 @@ api.Indicator buildIndicator() { void checkIndicator(api.Indicator o) { buildCounterIndicator++; if (buildCounterIndicator < 3) { - checkUnnamed55(o.domains!); - checkUnnamed56(o.ipAddresses!); - checkUnnamed57(o.signatures!); - checkUnnamed58(o.uris!); + checkUnnamed58(o.domains!); + checkUnnamed59(o.ipAddresses!); + checkUnnamed60(o.signatures!); + checkUnnamed61(o.uris!); } buildCounterIndicator--; } +core.List buildUnnamed62() => [ + buildPortRange(), + buildPortRange(), + ]; + +void checkUnnamed62(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkPortRange(o[0]); + checkPortRange(o[1]); +} + +core.int buildCounterIpRule = 0; +api.IpRule buildIpRule() { + final o = api.IpRule(); + buildCounterIpRule++; + if (buildCounterIpRule < 3) { + o.portRanges = buildUnnamed62(); + o.protocol = 'foo'; + } + buildCounterIpRule--; + return o; +} + +void checkIpRule(api.IpRule o) { + buildCounterIpRule++; + if (buildCounterIpRule < 3) { + checkUnnamed62(o.portRanges!); + unittest.expect( + o.protocol!, + unittest.equals('foo'), + ); + } + buildCounterIpRule--; +} + +core.List buildUnnamed63() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed63(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed64() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed64(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed65() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed65(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterIpRules = 0; +api.IpRules buildIpRules() { + final o = api.IpRules(); + buildCounterIpRules++; + if (buildCounterIpRules < 3) { + o.allowed = buildAllowed(); + o.denied = buildDenied(); + o.destinationIpRanges = buildUnnamed63(); + o.direction = 'foo'; + o.exposedServices = buildUnnamed64(); + o.sourceIpRanges = buildUnnamed65(); + } + buildCounterIpRules--; + return o; +} + +void checkIpRules(api.IpRules o) { + buildCounterIpRules++; + if (buildCounterIpRules < 3) { + checkAllowed(o.allowed!); + checkDenied(o.denied!); + checkUnnamed63(o.destinationIpRanges!); + unittest.expect( + o.direction!, + unittest.equals('foo'), + ); + checkUnnamed64(o.exposedServices!); + checkUnnamed65(o.sourceIpRanges!); + } + buildCounterIpRules--; +} + +core.int buildCounterJob = 0; +api.Job buildJob() { + final o = api.Job(); + buildCounterJob++; + if (buildCounterJob < 3) { + o.errorCode = 42; + o.location = 'foo'; + o.name = 'foo'; + o.state = 'foo'; + } + buildCounterJob--; + return o; +} + +void checkJob(api.Job o) { + buildCounterJob++; + if (buildCounterJob < 3) { + unittest.expect( + o.errorCode!, + unittest.equals(42), + ); + unittest.expect( + o.location!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.state!, + unittest.equals('foo'), + ); + } + buildCounterJob--; +} + core.int buildCounterKernelRootkit = 0; api.KernelRootkit buildKernelRootkit() { final o = api.KernelRootkit(); @@ -4016,78 +4258,78 @@ void checkKernelRootkit(api.KernelRootkit o) { buildCounterKernelRootkit--; } -core.List buildUnnamed59() => [ +core.List buildUnnamed66() => [ buildAccessReview(), buildAccessReview(), ]; -void checkUnnamed59(core.List o) { +void checkUnnamed66(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAccessReview(o[0]); checkAccessReview(o[1]); } -core.List buildUnnamed60() => [ +core.List buildUnnamed67() => [ buildGoogleCloudSecuritycenterV1Binding(), buildGoogleCloudSecuritycenterV1Binding(), ]; -void checkUnnamed60(core.List o) { +void checkUnnamed67(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudSecuritycenterV1Binding(o[0]); checkGoogleCloudSecuritycenterV1Binding(o[1]); } -core.List buildUnnamed61() => [ +core.List buildUnnamed68() => [ buildNodePool(), buildNodePool(), ]; -void checkUnnamed61(core.List o) { +void checkUnnamed68(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodePool(o[0]); checkNodePool(o[1]); } -core.List buildUnnamed62() => [ +core.List buildUnnamed69() => [ buildNode(), buildNode(), ]; -void checkUnnamed62(core.List o) { +void checkUnnamed69(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNode(o[0]); checkNode(o[1]); } -core.List buildUnnamed63() => [ +core.List buildUnnamed70() => [ buildObject(), buildObject(), ]; -void checkUnnamed63(core.List o) { +void checkUnnamed70(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkObject(o[0]); checkObject(o[1]); } -core.List buildUnnamed64() => [ +core.List buildUnnamed71() => [ buildPod(), buildPod(), ]; -void checkUnnamed64(core.List o) { +void checkUnnamed71(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPod(o[0]); checkPod(o[1]); } -core.List buildUnnamed65() => [ +core.List buildUnnamed72() => [ buildRole(), buildRole(), ]; -void checkUnnamed65(core.List o) { +void checkUnnamed72(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRole(o[0]); checkRole(o[1]); @@ -4098,13 +4340,13 @@ api.Kubernetes buildKubernetes() { final o = api.Kubernetes(); buildCounterKubernetes++; if (buildCounterKubernetes < 3) { - o.accessReviews = buildUnnamed59(); - o.bindings = buildUnnamed60(); - o.nodePools = buildUnnamed61(); - o.nodes = buildUnnamed62(); - o.objects = buildUnnamed63(); - o.pods = buildUnnamed64(); - o.roles = buildUnnamed65(); + o.accessReviews = buildUnnamed66(); + o.bindings = buildUnnamed67(); + o.nodePools = buildUnnamed68(); + o.nodes = buildUnnamed69(); + o.objects = buildUnnamed70(); + o.pods = buildUnnamed71(); + o.roles = buildUnnamed72(); } buildCounterKubernetes--; return o; @@ -4113,13 +4355,13 @@ api.Kubernetes buildKubernetes() { void checkKubernetes(api.Kubernetes o) { buildCounterKubernetes++; if (buildCounterKubernetes < 3) { - checkUnnamed59(o.accessReviews!); - checkUnnamed60(o.bindings!); - checkUnnamed61(o.nodePools!); - checkUnnamed62(o.nodes!); - checkUnnamed63(o.objects!); - checkUnnamed64(o.pods!); - checkUnnamed65(o.roles!); + checkUnnamed66(o.accessReviews!); + checkUnnamed67(o.bindings!); + checkUnnamed68(o.nodePools!); + checkUnnamed69(o.nodes!); + checkUnnamed70(o.objects!); + checkUnnamed71(o.pods!); + checkUnnamed72(o.roles!); } buildCounterKubernetes--; } @@ -4151,12 +4393,12 @@ void checkLabel(api.Label o) { buildCounterLabel--; } -core.List buildUnnamed66() => [ +core.List buildUnnamed73() => [ buildListAssetsResult(), buildListAssetsResult(), ]; -void checkUnnamed66(core.List o) { +void checkUnnamed73(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkListAssetsResult(o[0]); checkListAssetsResult(o[1]); @@ -4167,7 +4409,7 @@ api.ListAssetsResponse buildListAssetsResponse() { final o = api.ListAssetsResponse(); buildCounterListAssetsResponse++; if (buildCounterListAssetsResponse < 3) { - o.listAssetsResults = buildUnnamed66(); + o.listAssetsResults = buildUnnamed73(); o.nextPageToken = 'foo'; o.readTime = 'foo'; o.totalSize = 42; @@ -4179,7 +4421,7 @@ api.ListAssetsResponse buildListAssetsResponse() { void checkListAssetsResponse(api.ListAssetsResponse o) { buildCounterListAssetsResponse++; if (buildCounterListAssetsResponse < 3) { - checkUnnamed66(o.listAssetsResults!); + checkUnnamed73(o.listAssetsResults!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -4220,12 +4462,12 @@ void checkListAssetsResult(api.ListAssetsResult o) { buildCounterListAssetsResult--; } -core.List buildUnnamed67() => [ +core.List buildUnnamed74() => [ buildAttackPath(), buildAttackPath(), ]; -void checkUnnamed67(core.List o) { +void checkUnnamed74(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAttackPath(o[0]); checkAttackPath(o[1]); @@ -4236,7 +4478,7 @@ api.ListAttackPathsResponse buildListAttackPathsResponse() { final o = api.ListAttackPathsResponse(); buildCounterListAttackPathsResponse++; if (buildCounterListAttackPathsResponse < 3) { - o.attackPaths = buildUnnamed67(); + o.attackPaths = buildUnnamed74(); o.nextPageToken = 'foo'; } buildCounterListAttackPathsResponse--; @@ -4246,7 +4488,7 @@ api.ListAttackPathsResponse buildListAttackPathsResponse() { void checkListAttackPathsResponse(api.ListAttackPathsResponse o) { buildCounterListAttackPathsResponse++; if (buildCounterListAttackPathsResponse < 3) { - checkUnnamed67(o.attackPaths!); + checkUnnamed74(o.attackPaths!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -4255,12 +4497,12 @@ void checkListAttackPathsResponse(api.ListAttackPathsResponse o) { buildCounterListAttackPathsResponse--; } -core.List buildUnnamed68() => [ +core.List buildUnnamed75() => [ buildGoogleCloudSecuritycenterV1BigQueryExport(), buildGoogleCloudSecuritycenterV1BigQueryExport(), ]; -void checkUnnamed68( +void checkUnnamed75( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudSecuritycenterV1BigQueryExport(o[0]); @@ -4272,7 +4514,7 @@ api.ListBigQueryExportsResponse buildListBigQueryExportsResponse() { final o = api.ListBigQueryExportsResponse(); buildCounterListBigQueryExportsResponse++; if (buildCounterListBigQueryExportsResponse < 3) { - o.bigQueryExports = buildUnnamed68(); + o.bigQueryExports = buildUnnamed75(); o.nextPageToken = 'foo'; } buildCounterListBigQueryExportsResponse--; @@ -4282,7 +4524,7 @@ api.ListBigQueryExportsResponse buildListBigQueryExportsResponse() { void checkListBigQueryExportsResponse(api.ListBigQueryExportsResponse o) { buildCounterListBigQueryExportsResponse++; if (buildCounterListBigQueryExportsResponse < 3) { - checkUnnamed68(o.bigQueryExports!); + checkUnnamed75(o.bigQueryExports!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -4291,12 +4533,12 @@ void checkListBigQueryExportsResponse(api.ListBigQueryExportsResponse o) { buildCounterListBigQueryExportsResponse--; } -core.List buildUnnamed69() => [ +core.List buildUnnamed76() => [ buildEventThreatDetectionCustomModule(), buildEventThreatDetectionCustomModule(), ]; -void checkUnnamed69(core.List o) { +void checkUnnamed76(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEventThreatDetectionCustomModule(o[0]); checkEventThreatDetectionCustomModule(o[1]); @@ -4309,7 +4551,7 @@ api.ListDescendantEventThreatDetectionCustomModulesResponse final o = api.ListDescendantEventThreatDetectionCustomModulesResponse(); buildCounterListDescendantEventThreatDetectionCustomModulesResponse++; if (buildCounterListDescendantEventThreatDetectionCustomModulesResponse < 3) { - o.eventThreatDetectionCustomModules = buildUnnamed69(); + o.eventThreatDetectionCustomModules = buildUnnamed76(); o.nextPageToken = 'foo'; } buildCounterListDescendantEventThreatDetectionCustomModulesResponse--; @@ -4320,7 +4562,7 @@ void checkListDescendantEventThreatDetectionCustomModulesResponse( api.ListDescendantEventThreatDetectionCustomModulesResponse o) { buildCounterListDescendantEventThreatDetectionCustomModulesResponse++; if (buildCounterListDescendantEventThreatDetectionCustomModulesResponse < 3) { - checkUnnamed69(o.eventThreatDetectionCustomModules!); + checkUnnamed76(o.eventThreatDetectionCustomModules!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -4330,12 +4572,12 @@ void checkListDescendantEventThreatDetectionCustomModulesResponse( } core.List - buildUnnamed70() => [ + buildUnnamed77() => [ buildGoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule(), buildGoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule(), ]; -void checkUnnamed70( +void checkUnnamed77( core.List< api.GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule> o) { @@ -4353,7 +4595,7 @@ api.ListDescendantSecurityHealthAnalyticsCustomModulesResponse if (buildCounterListDescendantSecurityHealthAnalyticsCustomModulesResponse < 3) { o.nextPageToken = 'foo'; - o.securityHealthAnalyticsCustomModules = buildUnnamed70(); + o.securityHealthAnalyticsCustomModules = buildUnnamed77(); } buildCounterListDescendantSecurityHealthAnalyticsCustomModulesResponse--; return o; @@ -4368,17 +4610,17 @@ void checkListDescendantSecurityHealthAnalyticsCustomModulesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed70(o.securityHealthAnalyticsCustomModules!); + checkUnnamed77(o.securityHealthAnalyticsCustomModules!); } buildCounterListDescendantSecurityHealthAnalyticsCustomModulesResponse--; } -core.List buildUnnamed71() => [ +core.List buildUnnamed78() => [ buildEffectiveEventThreatDetectionCustomModule(), buildEffectiveEventThreatDetectionCustomModule(), ]; -void checkUnnamed71( +void checkUnnamed78( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEffectiveEventThreatDetectionCustomModule(o[0]); @@ -4391,7 +4633,7 @@ api.ListEffectiveEventThreatDetectionCustomModulesResponse final o = api.ListEffectiveEventThreatDetectionCustomModulesResponse(); buildCounterListEffectiveEventThreatDetectionCustomModulesResponse++; if (buildCounterListEffectiveEventThreatDetectionCustomModulesResponse < 3) { - o.effectiveEventThreatDetectionCustomModules = buildUnnamed71(); + o.effectiveEventThreatDetectionCustomModules = buildUnnamed78(); o.nextPageToken = 'foo'; } buildCounterListEffectiveEventThreatDetectionCustomModulesResponse--; @@ -4402,7 +4644,7 @@ void checkListEffectiveEventThreatDetectionCustomModulesResponse( api.ListEffectiveEventThreatDetectionCustomModulesResponse o) { buildCounterListEffectiveEventThreatDetectionCustomModulesResponse++; if (buildCounterListEffectiveEventThreatDetectionCustomModulesResponse < 3) { - checkUnnamed71(o.effectiveEventThreatDetectionCustomModules!); + checkUnnamed78(o.effectiveEventThreatDetectionCustomModules!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -4414,12 +4656,12 @@ void checkListEffectiveEventThreatDetectionCustomModulesResponse( core.List< api .GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule> - buildUnnamed72() => [ + buildUnnamed79() => [ buildGoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule(), buildGoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule(), ]; -void checkUnnamed72( +void checkUnnamed79( core.List< api .GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule> @@ -4439,7 +4681,7 @@ api.ListEffectiveSecurityHealthAnalyticsCustomModulesResponse buildCounterListEffectiveSecurityHealthAnalyticsCustomModulesResponse++; if (buildCounterListEffectiveSecurityHealthAnalyticsCustomModulesResponse < 3) { - o.effectiveSecurityHealthAnalyticsCustomModules = buildUnnamed72(); + o.effectiveSecurityHealthAnalyticsCustomModules = buildUnnamed79(); o.nextPageToken = 'foo'; } buildCounterListEffectiveSecurityHealthAnalyticsCustomModulesResponse--; @@ -4451,7 +4693,7 @@ void checkListEffectiveSecurityHealthAnalyticsCustomModulesResponse( buildCounterListEffectiveSecurityHealthAnalyticsCustomModulesResponse++; if (buildCounterListEffectiveSecurityHealthAnalyticsCustomModulesResponse < 3) { - checkUnnamed72(o.effectiveSecurityHealthAnalyticsCustomModules!); + checkUnnamed79(o.effectiveSecurityHealthAnalyticsCustomModules!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -4460,12 +4702,12 @@ void checkListEffectiveSecurityHealthAnalyticsCustomModulesResponse( buildCounterListEffectiveSecurityHealthAnalyticsCustomModulesResponse--; } -core.List buildUnnamed73() => [ +core.List buildUnnamed80() => [ buildEventThreatDetectionCustomModule(), buildEventThreatDetectionCustomModule(), ]; -void checkUnnamed73(core.List o) { +void checkUnnamed80(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEventThreatDetectionCustomModule(o[0]); checkEventThreatDetectionCustomModule(o[1]); @@ -4477,7 +4719,7 @@ api.ListEventThreatDetectionCustomModulesResponse final o = api.ListEventThreatDetectionCustomModulesResponse(); buildCounterListEventThreatDetectionCustomModulesResponse++; if (buildCounterListEventThreatDetectionCustomModulesResponse < 3) { - o.eventThreatDetectionCustomModules = buildUnnamed73(); + o.eventThreatDetectionCustomModules = buildUnnamed80(); o.nextPageToken = 'foo'; } buildCounterListEventThreatDetectionCustomModulesResponse--; @@ -4488,7 +4730,7 @@ void checkListEventThreatDetectionCustomModulesResponse( api.ListEventThreatDetectionCustomModulesResponse o) { buildCounterListEventThreatDetectionCustomModulesResponse++; if (buildCounterListEventThreatDetectionCustomModulesResponse < 3) { - checkUnnamed73(o.eventThreatDetectionCustomModules!); + checkUnnamed80(o.eventThreatDetectionCustomModules!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -4497,12 +4739,12 @@ void checkListEventThreatDetectionCustomModulesResponse( buildCounterListEventThreatDetectionCustomModulesResponse--; } -core.List buildUnnamed74() => [ +core.List buildUnnamed81() => [ buildListFindingsResult(), buildListFindingsResult(), ]; -void checkUnnamed74(core.List o) { +void checkUnnamed81(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkListFindingsResult(o[0]); checkListFindingsResult(o[1]); @@ -4513,7 +4755,7 @@ api.ListFindingsResponse buildListFindingsResponse() { final o = api.ListFindingsResponse(); buildCounterListFindingsResponse++; if (buildCounterListFindingsResponse < 3) { - o.listFindingsResults = buildUnnamed74(); + o.listFindingsResults = buildUnnamed81(); o.nextPageToken = 'foo'; o.readTime = 'foo'; o.totalSize = 42; @@ -4525,7 +4767,7 @@ api.ListFindingsResponse buildListFindingsResponse() { void checkListFindingsResponse(api.ListFindingsResponse o) { buildCounterListFindingsResponse++; if (buildCounterListFindingsResponse < 3) { - checkUnnamed74(o.listFindingsResults!); + checkUnnamed81(o.listFindingsResults!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -4568,12 +4810,12 @@ void checkListFindingsResult(api.ListFindingsResult o) { buildCounterListFindingsResult--; } -core.List buildUnnamed75() => [ +core.List buildUnnamed82() => [ buildGoogleCloudSecuritycenterV1MuteConfig(), buildGoogleCloudSecuritycenterV1MuteConfig(), ]; -void checkUnnamed75(core.List o) { +void checkUnnamed82(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudSecuritycenterV1MuteConfig(o[0]); checkGoogleCloudSecuritycenterV1MuteConfig(o[1]); @@ -4584,7 +4826,7 @@ api.ListMuteConfigsResponse buildListMuteConfigsResponse() { final o = api.ListMuteConfigsResponse(); buildCounterListMuteConfigsResponse++; if (buildCounterListMuteConfigsResponse < 3) { - o.muteConfigs = buildUnnamed75(); + o.muteConfigs = buildUnnamed82(); o.nextPageToken = 'foo'; } buildCounterListMuteConfigsResponse--; @@ -4594,7 +4836,7 @@ api.ListMuteConfigsResponse buildListMuteConfigsResponse() { void checkListMuteConfigsResponse(api.ListMuteConfigsResponse o) { buildCounterListMuteConfigsResponse++; if (buildCounterListMuteConfigsResponse < 3) { - checkUnnamed75(o.muteConfigs!); + checkUnnamed82(o.muteConfigs!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -4603,12 +4845,12 @@ void checkListMuteConfigsResponse(api.ListMuteConfigsResponse o) { buildCounterListMuteConfigsResponse--; } -core.List buildUnnamed76() => [ +core.List buildUnnamed83() => [ buildNotificationConfig(), buildNotificationConfig(), ]; -void checkUnnamed76(core.List o) { +void checkUnnamed83(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNotificationConfig(o[0]); checkNotificationConfig(o[1]); @@ -4620,7 +4862,7 @@ api.ListNotificationConfigsResponse buildListNotificationConfigsResponse() { buildCounterListNotificationConfigsResponse++; if (buildCounterListNotificationConfigsResponse < 3) { o.nextPageToken = 'foo'; - o.notificationConfigs = buildUnnamed76(); + o.notificationConfigs = buildUnnamed83(); } buildCounterListNotificationConfigsResponse--; return o; @@ -4634,17 +4876,17 @@ void checkListNotificationConfigsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed76(o.notificationConfigs!); + checkUnnamed83(o.notificationConfigs!); } buildCounterListNotificationConfigsResponse--; } -core.List buildUnnamed77() => [ +core.List buildUnnamed84() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed77(core.List o) { +void checkUnnamed84(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -4656,7 +4898,7 @@ api.ListOperationsResponse buildListOperationsResponse() { buildCounterListOperationsResponse++; if (buildCounterListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed77(); + o.operations = buildUnnamed84(); } buildCounterListOperationsResponse--; return o; @@ -4669,18 +4911,18 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed77(o.operations!); + checkUnnamed84(o.operations!); } buildCounterListOperationsResponse--; } core.List - buildUnnamed78() => [ + buildUnnamed85() => [ buildGoogleCloudSecuritycenterV1ResourceValueConfig(), buildGoogleCloudSecuritycenterV1ResourceValueConfig(), ]; -void checkUnnamed78( +void checkUnnamed85( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGoogleCloudSecuritycenterV1ResourceValueConfig(o[0]); @@ -4693,7 +4935,7 @@ api.ListResourceValueConfigsResponse buildListResourceValueConfigsResponse() { buildCounterListResourceValueConfigsResponse++; if (buildCounterListResourceValueConfigsResponse < 3) { o.nextPageToken = 'foo'; - o.resourceValueConfigs = buildUnnamed78(); + o.resourceValueConfigs = buildUnnamed85(); } buildCounterListResourceValueConfigsResponse--; return o; @@ -4707,18 +4949,18 @@ void checkListResourceValueConfigsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed78(o.resourceValueConfigs!); + checkUnnamed85(o.resourceValueConfigs!); } buildCounterListResourceValueConfigsResponse--; } core.List - buildUnnamed79() => [ + buildUnnamed86() => [ buildGoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule(), buildGoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule(), ]; -void checkUnnamed79( +void checkUnnamed86( core.List< api.GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule> o) { @@ -4734,7 +4976,7 @@ api.ListSecurityHealthAnalyticsCustomModulesResponse buildCounterListSecurityHealthAnalyticsCustomModulesResponse++; if (buildCounterListSecurityHealthAnalyticsCustomModulesResponse < 3) { o.nextPageToken = 'foo'; - o.securityHealthAnalyticsCustomModules = buildUnnamed79(); + o.securityHealthAnalyticsCustomModules = buildUnnamed86(); } buildCounterListSecurityHealthAnalyticsCustomModulesResponse--; return o; @@ -4748,17 +4990,17 @@ void checkListSecurityHealthAnalyticsCustomModulesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed79(o.securityHealthAnalyticsCustomModules!); + checkUnnamed86(o.securityHealthAnalyticsCustomModules!); } buildCounterListSecurityHealthAnalyticsCustomModulesResponse--; } -core.List buildUnnamed80() => [ +core.List buildUnnamed87() => [ buildSource(), buildSource(), ]; -void checkUnnamed80(core.List o) { +void checkUnnamed87(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSource(o[0]); checkSource(o[1]); @@ -4770,7 +5012,7 @@ api.ListSourcesResponse buildListSourcesResponse() { buildCounterListSourcesResponse++; if (buildCounterListSourcesResponse < 3) { o.nextPageToken = 'foo'; - o.sources = buildUnnamed80(); + o.sources = buildUnnamed87(); } buildCounterListSourcesResponse--; return o; @@ -4783,17 +5025,17 @@ void checkListSourcesResponse(api.ListSourcesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed80(o.sources!); + checkUnnamed87(o.sources!); } buildCounterListSourcesResponse--; } -core.List buildUnnamed81() => [ +core.List buildUnnamed88() => [ buildValuedResource(), buildValuedResource(), ]; -void checkUnnamed81(core.List o) { +void checkUnnamed88(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkValuedResource(o[0]); checkValuedResource(o[1]); @@ -4806,7 +5048,7 @@ api.ListValuedResourcesResponse buildListValuedResourcesResponse() { if (buildCounterListValuedResourcesResponse < 3) { o.nextPageToken = 'foo'; o.totalSize = 42; - o.valuedResources = buildUnnamed81(); + o.valuedResources = buildUnnamed88(); } buildCounterListValuedResourcesResponse--; return o; @@ -4823,7 +5065,7 @@ void checkListValuedResourcesResponse(api.ListValuedResourcesResponse o) { o.totalSize!, unittest.equals(42), ); - checkUnnamed81(o.valuedResources!); + checkUnnamed88(o.valuedResources!); } buildCounterListValuedResourcesResponse--; } @@ -4869,12 +5111,12 @@ void checkLogEntry(api.LogEntry o) { buildCounterLogEntry--; } -core.List buildUnnamed82() => [ +core.List buildUnnamed89() => [ buildDetection(), buildDetection(), ]; -void checkUnnamed82(core.List o) { +void checkUnnamed89(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDetection(o[0]); checkDetection(o[1]); @@ -4886,7 +5128,7 @@ api.MemoryHashSignature buildMemoryHashSignature() { buildCounterMemoryHashSignature++; if (buildCounterMemoryHashSignature < 3) { o.binaryFamily = 'foo'; - o.detections = buildUnnamed82(); + o.detections = buildUnnamed89(); } buildCounterMemoryHashSignature--; return o; @@ -4899,17 +5141,17 @@ void checkMemoryHashSignature(api.MemoryHashSignature o) { o.binaryFamily!, unittest.equals('foo'), ); - checkUnnamed82(o.detections!); + checkUnnamed89(o.detections!); } buildCounterMemoryHashSignature--; } -core.List buildUnnamed83() => [ +core.List buildUnnamed90() => [ 'foo', 'foo', ]; -void checkUnnamed83(core.List o) { +void checkUnnamed90(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4921,12 +5163,12 @@ void checkUnnamed83(core.List o) { ); } -core.List buildUnnamed84() => [ +core.List buildUnnamed91() => [ 'foo', 'foo', ]; -void checkUnnamed84(core.List o) { +void checkUnnamed91(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4938,12 +5180,12 @@ void checkUnnamed84(core.List o) { ); } -core.List buildUnnamed85() => [ +core.List buildUnnamed92() => [ 'foo', 'foo', ]; -void checkUnnamed85(core.List o) { +void checkUnnamed92(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4960,10 +5202,10 @@ api.MitreAttack buildMitreAttack() { final o = api.MitreAttack(); buildCounterMitreAttack++; if (buildCounterMitreAttack < 3) { - o.additionalTactics = buildUnnamed83(); - o.additionalTechniques = buildUnnamed84(); + o.additionalTactics = buildUnnamed90(); + o.additionalTechniques = buildUnnamed91(); o.primaryTactic = 'foo'; - o.primaryTechniques = buildUnnamed85(); + o.primaryTechniques = buildUnnamed92(); o.version = 'foo'; } buildCounterMitreAttack--; @@ -4973,13 +5215,13 @@ api.MitreAttack buildMitreAttack() { void checkMitreAttack(api.MitreAttack o) { buildCounterMitreAttack++; if (buildCounterMitreAttack < 3) { - checkUnnamed83(o.additionalTactics!); - checkUnnamed84(o.additionalTechniques!); + checkUnnamed90(o.additionalTactics!); + checkUnnamed91(o.additionalTechniques!); unittest.expect( o.primaryTactic!, unittest.equals('foo'), ); - checkUnnamed85(o.primaryTechniques!); + checkUnnamed92(o.primaryTechniques!); unittest.expect( o.version!, unittest.equals('foo'), @@ -4988,12 +5230,12 @@ void checkMitreAttack(api.MitreAttack o) { buildCounterMitreAttack--; } -core.List buildUnnamed86() => [ +core.List buildUnnamed93() => [ buildDynamicMuteRecord(), buildDynamicMuteRecord(), ]; -void checkUnnamed86(core.List o) { +void checkUnnamed93(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDynamicMuteRecord(o[0]); checkDynamicMuteRecord(o[1]); @@ -5004,7 +5246,7 @@ api.MuteInfo buildMuteInfo() { final o = api.MuteInfo(); buildCounterMuteInfo++; if (buildCounterMuteInfo < 3) { - o.dynamicMuteRecords = buildUnnamed86(); + o.dynamicMuteRecords = buildUnnamed93(); o.staticMute = buildStaticMute(); } buildCounterMuteInfo--; @@ -5014,12 +5256,34 @@ api.MuteInfo buildMuteInfo() { void checkMuteInfo(api.MuteInfo o) { buildCounterMuteInfo++; if (buildCounterMuteInfo < 3) { - checkUnnamed86(o.dynamicMuteRecords!); + checkUnnamed93(o.dynamicMuteRecords!); checkStaticMute(o.staticMute!); } buildCounterMuteInfo--; } +core.int buildCounterNetwork = 0; +api.Network buildNetwork() { + final o = api.Network(); + buildCounterNetwork++; + if (buildCounterNetwork < 3) { + o.name = 'foo'; + } + buildCounterNetwork--; + return o; +} + +void checkNetwork(api.Network o) { + buildCounterNetwork++; + if (buildCounterNetwork < 3) { + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + } + buildCounterNetwork--; +} + core.int buildCounterNode = 0; api.Node buildNode() { final o = api.Node(); @@ -5042,12 +5306,12 @@ void checkNode(api.Node o) { buildCounterNode--; } -core.List buildUnnamed87() => [ +core.List buildUnnamed94() => [ buildNode(), buildNode(), ]; -void checkUnnamed87(core.List o) { +void checkUnnamed94(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNode(o[0]); checkNode(o[1]); @@ -5059,7 +5323,7 @@ api.NodePool buildNodePool() { buildCounterNodePool++; if (buildCounterNodePool < 3) { o.name = 'foo'; - o.nodes = buildUnnamed87(); + o.nodes = buildUnnamed94(); } buildCounterNodePool--; return o; @@ -5072,7 +5336,7 @@ void checkNodePool(api.NodePool o) { o.name!, unittest.equals('foo'), ); - checkUnnamed87(o.nodes!); + checkUnnamed94(o.nodes!); } buildCounterNodePool--; } @@ -5153,12 +5417,12 @@ void checkNotificationConfig(api.NotificationConfig o) { buildCounterNotificationConfig--; } -core.List buildUnnamed88() => [ +core.List buildUnnamed95() => [ buildContainer(), buildContainer(), ]; -void checkUnnamed88(core.List o) { +void checkUnnamed95(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkContainer(o[0]); checkContainer(o[1]); @@ -5169,7 +5433,7 @@ api.Object buildObject() { final o = api.Object(); buildCounterObject++; if (buildCounterObject < 3) { - o.containers = buildUnnamed88(); + o.containers = buildUnnamed95(); o.group = 'foo'; o.kind = 'foo'; o.name = 'foo'; @@ -5182,7 +5446,7 @@ api.Object buildObject() { void checkObject(api.Object o) { buildCounterObject++; if (buildCounterObject < 3) { - checkUnnamed88(o.containers!); + checkUnnamed95(o.containers!); unittest.expect( o.group!, unittest.equals('foo'), @@ -5203,7 +5467,7 @@ void checkObject(api.Object o) { buildCounterObject--; } -core.Map buildUnnamed89() => { +core.Map buildUnnamed96() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -5216,7 +5480,7 @@ core.Map buildUnnamed89() => { }, }; -void checkUnnamed89(core.Map o) { +void checkUnnamed96(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted11 = (o['x']!) as core.Map; unittest.expect(casted11, unittest.hasLength(3)); @@ -5248,7 +5512,7 @@ void checkUnnamed89(core.Map o) { ); } -core.Map buildUnnamed90() => { +core.Map buildUnnamed97() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -5261,7 +5525,7 @@ core.Map buildUnnamed90() => { }, }; -void checkUnnamed90(core.Map o) { +void checkUnnamed97(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted13 = (o['x']!) as core.Map; unittest.expect(casted13, unittest.hasLength(3)); @@ -5300,9 +5564,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed89(); + o.metadata = buildUnnamed96(); o.name = 'foo'; - o.response = buildUnnamed90(); + o.response = buildUnnamed97(); } buildCounterOperation--; return o; @@ -5313,12 +5577,12 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed89(o.metadata!); + checkUnnamed96(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed90(o.response!); + checkUnnamed97(o.response!); } buildCounterOperation--; } @@ -5440,23 +5704,23 @@ void checkPathNodeAssociatedFinding(api.PathNodeAssociatedFinding o) { buildCounterPathNodeAssociatedFinding--; } -core.List buildUnnamed91() => [ +core.List buildUnnamed98() => [ buildContainer(), buildContainer(), ]; -void checkUnnamed91(core.List o) { +void checkUnnamed98(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkContainer(o[0]); checkContainer(o[1]); } -core.List buildUnnamed92() => [ +core.List buildUnnamed99() => [ buildLabel(), buildLabel(), ]; -void checkUnnamed92(core.List o) { +void checkUnnamed99(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLabel(o[0]); checkLabel(o[1]); @@ -5467,8 +5731,8 @@ api.Pod buildPod() { final o = api.Pod(); buildCounterPod++; if (buildCounterPod < 3) { - o.containers = buildUnnamed91(); - o.labels = buildUnnamed92(); + o.containers = buildUnnamed98(); + o.labels = buildUnnamed99(); o.name = 'foo'; o.ns = 'foo'; } @@ -5479,8 +5743,8 @@ api.Pod buildPod() { void checkPod(api.Pod o) { buildCounterPod++; if (buildCounterPod < 3) { - checkUnnamed91(o.containers!); - checkUnnamed92(o.labels!); + checkUnnamed98(o.containers!); + checkUnnamed99(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -5493,23 +5757,23 @@ void checkPod(api.Pod o) { buildCounterPod--; } -core.List buildUnnamed93() => [ +core.List buildUnnamed100() => [ buildAuditConfig(), buildAuditConfig(), ]; -void checkUnnamed93(core.List o) { +void checkUnnamed100(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuditConfig(o[0]); checkAuditConfig(o[1]); } -core.List buildUnnamed94() => [ +core.List buildUnnamed101() => [ buildBinding(), buildBinding(), ]; -void checkUnnamed94(core.List o) { +void checkUnnamed101(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBinding(o[0]); checkBinding(o[1]); @@ -5520,8 +5784,8 @@ api.Policy buildPolicy() { final o = api.Policy(); buildCounterPolicy++; if (buildCounterPolicy < 3) { - o.auditConfigs = buildUnnamed93(); - o.bindings = buildUnnamed94(); + o.auditConfigs = buildUnnamed100(); + o.bindings = buildUnnamed101(); o.etag = 'foo'; o.version = 42; } @@ -5532,8 +5796,8 @@ api.Policy buildPolicy() { void checkPolicy(api.Policy o) { buildCounterPolicy++; if (buildCounterPolicy < 3) { - checkUnnamed93(o.auditConfigs!); - checkUnnamed94(o.bindings!); + checkUnnamed100(o.auditConfigs!); + checkUnnamed101(o.bindings!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -5578,6 +5842,33 @@ void checkPolicyDriftDetails(api.PolicyDriftDetails o) { buildCounterPolicyDriftDetails--; } +core.int buildCounterPortRange = 0; +api.PortRange buildPortRange() { + final o = api.PortRange(); + buildCounterPortRange++; + if (buildCounterPortRange < 3) { + o.max = 'foo'; + o.min = 'foo'; + } + buildCounterPortRange--; + return o; +} + +void checkPortRange(api.PortRange o) { + buildCounterPortRange++; + if (buildCounterPortRange < 3) { + unittest.expect( + o.max!, + unittest.equals('foo'), + ); + unittest.expect( + o.min!, + unittest.equals('foo'), + ); + } + buildCounterPortRange--; +} + core.int buildCounterPosition = 0; api.Position buildPosition() { final o = api.Position(); @@ -5605,12 +5896,12 @@ void checkPosition(api.Position o) { buildCounterPosition--; } -core.List buildUnnamed95() => [ +core.List buildUnnamed102() => [ 'foo', 'foo', ]; -void checkUnnamed95(core.List o) { +void checkUnnamed102(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5622,23 +5913,23 @@ void checkUnnamed95(core.List o) { ); } -core.List buildUnnamed96() => [ +core.List buildUnnamed103() => [ buildEnvironmentVariable(), buildEnvironmentVariable(), ]; -void checkUnnamed96(core.List o) { +void checkUnnamed103(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEnvironmentVariable(o[0]); checkEnvironmentVariable(o[1]); } -core.List buildUnnamed97() => [ +core.List buildUnnamed104() => [ buildFile(), buildFile(), ]; -void checkUnnamed97(core.List o) { +void checkUnnamed104(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFile(o[0]); checkFile(o[1]); @@ -5649,12 +5940,12 @@ api.Process buildProcess() { final o = api.Process(); buildCounterProcess++; if (buildCounterProcess < 3) { - o.args = buildUnnamed95(); + o.args = buildUnnamed102(); o.argumentsTruncated = true; o.binary = buildFile(); - o.envVariables = buildUnnamed96(); + o.envVariables = buildUnnamed103(); o.envVariablesTruncated = true; - o.libraries = buildUnnamed97(); + o.libraries = buildUnnamed104(); o.name = 'foo'; o.parentPid = 'foo'; o.pid = 'foo'; @@ -5667,12 +5958,12 @@ api.Process buildProcess() { void checkProcess(api.Process o) { buildCounterProcess++; if (buildCounterProcess < 3) { - checkUnnamed95(o.args!); + checkUnnamed102(o.args!); unittest.expect(o.argumentsTruncated!, unittest.isTrue); checkFile(o.binary!); - checkUnnamed96(o.envVariables!); + checkUnnamed103(o.envVariables!); unittest.expect(o.envVariablesTruncated!, unittest.isTrue); - checkUnnamed97(o.libraries!); + checkUnnamed104(o.libraries!); unittest.expect( o.name!, unittest.equals('foo'), @@ -5780,12 +6071,12 @@ void checkRequests(api.Requests o) { buildCounterRequests--; } -core.List buildUnnamed98() => [ +core.List buildUnnamed105() => [ buildFolder(), buildFolder(), ]; -void checkUnnamed98(core.List o) { +void checkUnnamed105(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFolder(o[0]); checkFolder(o[1]); @@ -5800,7 +6091,7 @@ api.Resource buildResource() { o.azureMetadata = buildAzureMetadata(); o.cloudProvider = 'foo'; o.displayName = 'foo'; - o.folders = buildUnnamed98(); + o.folders = buildUnnamed105(); o.location = 'foo'; o.name = 'foo'; o.organization = 'foo'; @@ -5830,7 +6121,7 @@ void checkResource(api.Resource o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed98(o.folders!); + checkUnnamed105(o.folders!); unittest.expect( o.location!, unittest.equals('foo'), @@ -5876,12 +6167,12 @@ void checkResource(api.Resource o) { buildCounterResource--; } -core.List buildUnnamed99() => [ +core.List buildUnnamed106() => [ buildResourcePathNode(), buildResourcePathNode(), ]; -void checkUnnamed99(core.List o) { +void checkUnnamed106(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkResourcePathNode(o[0]); checkResourcePathNode(o[1]); @@ -5892,7 +6183,7 @@ api.ResourcePath buildResourcePath() { final o = api.ResourcePath(); buildCounterResourcePath++; if (buildCounterResourcePath < 3) { - o.nodes = buildUnnamed99(); + o.nodes = buildUnnamed106(); } buildCounterResourcePath--; return o; @@ -5901,7 +6192,7 @@ api.ResourcePath buildResourcePath() { void checkResourcePath(api.ResourcePath o) { buildCounterResourcePath++; if (buildCounterResourcePath < 3) { - checkUnnamed99(o.nodes!); + checkUnnamed106(o.nodes!); } buildCounterResourcePath--; } @@ -6039,23 +6330,23 @@ void checkSecurityBulletin(api.SecurityBulletin o) { buildCounterSecurityBulletin--; } -core.List buildUnnamed100() => [ +core.List buildUnnamed107() => [ buildFolder(), buildFolder(), ]; -void checkUnnamed100(core.List o) { +void checkUnnamed107(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFolder(o[0]); checkFolder(o[1]); } -core.List buildUnnamed101() => [ +core.List buildUnnamed108() => [ 'foo', 'foo', ]; -void checkUnnamed101(core.List o) { +void checkUnnamed108(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6072,10 +6363,10 @@ api.SecurityCenterProperties buildSecurityCenterProperties() { final o = api.SecurityCenterProperties(); buildCounterSecurityCenterProperties++; if (buildCounterSecurityCenterProperties < 3) { - o.folders = buildUnnamed100(); + o.folders = buildUnnamed107(); o.resourceDisplayName = 'foo'; o.resourceName = 'foo'; - o.resourceOwners = buildUnnamed101(); + o.resourceOwners = buildUnnamed108(); o.resourceParent = 'foo'; o.resourceParentDisplayName = 'foo'; o.resourceProject = 'foo'; @@ -6089,7 +6380,7 @@ api.SecurityCenterProperties buildSecurityCenterProperties() { void checkSecurityCenterProperties(api.SecurityCenterProperties o) { buildCounterSecurityCenterProperties++; if (buildCounterSecurityCenterProperties < 3) { - checkUnnamed100(o.folders!); + checkUnnamed107(o.folders!); unittest.expect( o.resourceDisplayName!, unittest.equals('foo'), @@ -6098,7 +6389,7 @@ void checkSecurityCenterProperties(api.SecurityCenterProperties o) { o.resourceName!, unittest.equals('foo'), ); - checkUnnamed101(o.resourceOwners!); + checkUnnamed108(o.resourceOwners!); unittest.expect( o.resourceParent!, unittest.equals('foo'), @@ -6123,12 +6414,12 @@ void checkSecurityCenterProperties(api.SecurityCenterProperties o) { buildCounterSecurityCenterProperties--; } -core.Map buildUnnamed102() => { +core.Map buildUnnamed109() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed102(core.Map o) { +void checkUnnamed109(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -6146,7 +6437,7 @@ api.SecurityMarks buildSecurityMarks() { buildCounterSecurityMarks++; if (buildCounterSecurityMarks < 3) { o.canonicalName = 'foo'; - o.marks = buildUnnamed102(); + o.marks = buildUnnamed109(); o.name = 'foo'; } buildCounterSecurityMarks--; @@ -6160,7 +6451,7 @@ void checkSecurityMarks(api.SecurityMarks o) { o.canonicalName!, unittest.equals('foo'), ); - checkUnnamed102(o.marks!); + checkUnnamed109(o.marks!); unittest.expect( o.name!, unittest.equals('foo'), @@ -6198,12 +6489,12 @@ void checkSecurityPolicy(api.SecurityPolicy o) { buildCounterSecurityPolicy--; } -core.List buildUnnamed103() => [ +core.List buildUnnamed110() => [ buildPolicyDriftDetails(), buildPolicyDriftDetails(), ]; -void checkUnnamed103(core.List o) { +void checkUnnamed110(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPolicyDriftDetails(o[0]); checkPolicyDriftDetails(o[1]); @@ -6217,7 +6508,7 @@ api.SecurityPosture buildSecurityPosture() { o.changedPolicy = 'foo'; o.name = 'foo'; o.policy = 'foo'; - o.policyDriftDetails = buildUnnamed103(); + o.policyDriftDetails = buildUnnamed110(); o.policySet = 'foo'; o.postureDeployment = 'foo'; o.postureDeploymentResource = 'foo'; @@ -6242,7 +6533,7 @@ void checkSecurityPosture(api.SecurityPosture o) { o.policy!, unittest.equals('foo'), ); - checkUnnamed103(o.policyDriftDetails!); + checkUnnamed110(o.policyDriftDetails!); unittest.expect( o.policySet!, unittest.equals('foo'), @@ -6407,7 +6698,7 @@ void checkSimulateSecurityHealthAnalyticsCustomModuleResponse( buildCounterSimulateSecurityHealthAnalyticsCustomModuleResponse--; } -core.Map buildUnnamed104() => { +core.Map buildUnnamed111() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -6420,7 +6711,7 @@ core.Map buildUnnamed104() => { }, }; -void checkUnnamed104(core.Map o) { +void checkUnnamed111(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted15 = (o['x']!) as core.Map; unittest.expect(casted15, unittest.hasLength(3)); @@ -6458,7 +6749,7 @@ api.SimulatedResource buildSimulatedResource() { buildCounterSimulatedResource++; if (buildCounterSimulatedResource < 3) { o.iamPolicyData = buildPolicy(); - o.resourceData = buildUnnamed104(); + o.resourceData = buildUnnamed111(); o.resourceType = 'foo'; } buildCounterSimulatedResource--; @@ -6469,7 +6760,7 @@ void checkSimulatedResource(api.SimulatedResource o) { buildCounterSimulatedResource++; if (buildCounterSimulatedResource < 3) { checkPolicy(o.iamPolicyData!); - checkUnnamed104(o.resourceData!); + checkUnnamed111(o.resourceData!); unittest.expect( o.resourceType!, unittest.equals('foo'), @@ -6501,12 +6792,12 @@ void checkSimulatedResult(api.SimulatedResult o) { buildCounterSimulatedResult--; } -core.List buildUnnamed105() => [ +core.List buildUnnamed112() => [ buildResourceValueConfigMetadata(), buildResourceValueConfigMetadata(), ]; -void checkUnnamed105(core.List o) { +void checkUnnamed112(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkResourceValueConfigMetadata(o[0]); checkResourceValueConfigMetadata(o[1]); @@ -6520,7 +6811,7 @@ api.Simulation buildSimulation() { o.cloudProvider = 'foo'; o.createTime = 'foo'; o.name = 'foo'; - o.resourceValueConfigsMetadata = buildUnnamed105(); + o.resourceValueConfigsMetadata = buildUnnamed112(); } buildCounterSimulation--; return o; @@ -6541,7 +6832,7 @@ void checkSimulation(api.Simulation o) { o.name!, unittest.equals('foo'), ); - checkUnnamed105(o.resourceValueConfigsMetadata!); + checkUnnamed112(o.resourceValueConfigsMetadata!); } buildCounterSimulation--; } @@ -6610,7 +6901,7 @@ void checkStaticMute(api.StaticMute o) { buildCounterStaticMute--; } -core.Map buildUnnamed106() => { +core.Map buildUnnamed113() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -6623,7 +6914,7 @@ core.Map buildUnnamed106() => { }, }; -void checkUnnamed106(core.Map o) { +void checkUnnamed113(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted17 = (o['x']!) as core.Map; unittest.expect(casted17, unittest.hasLength(3)); @@ -6655,15 +6946,15 @@ void checkUnnamed106(core.Map o) { ); } -core.List> buildUnnamed107() => [ - buildUnnamed106(), - buildUnnamed106(), +core.List> buildUnnamed114() => [ + buildUnnamed113(), + buildUnnamed113(), ]; -void checkUnnamed107(core.List> o) { +void checkUnnamed114(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed106(o[0]); - checkUnnamed106(o[1]); + checkUnnamed113(o[0]); + checkUnnamed113(o[1]); } core.int buildCounterStatus = 0; @@ -6672,7 +6963,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed107(); + o.details = buildUnnamed114(); o.message = 'foo'; } buildCounterStatus--; @@ -6686,7 +6977,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed107(o.details!); + checkUnnamed114(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -6749,12 +7040,12 @@ void checkSubject(api.Subject o) { buildCounterSubject--; } -core.List buildUnnamed108() => [ +core.List buildUnnamed115() => [ 'foo', 'foo', ]; -void checkUnnamed108(core.List o) { +void checkUnnamed115(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6771,7 +7062,7 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { final o = api.TestIamPermissionsRequest(); buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - o.permissions = buildUnnamed108(); + o.permissions = buildUnnamed115(); } buildCounterTestIamPermissionsRequest--; return o; @@ -6780,17 +7071,17 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { void checkTestIamPermissionsRequest(api.TestIamPermissionsRequest o) { buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - checkUnnamed108(o.permissions!); + checkUnnamed115(o.permissions!); } buildCounterTestIamPermissionsRequest--; } -core.List buildUnnamed109() => [ +core.List buildUnnamed116() => [ 'foo', 'foo', ]; -void checkUnnamed109(core.List o) { +void checkUnnamed116(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6807,7 +7098,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { final o = api.TestIamPermissionsResponse(); buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - o.permissions = buildUnnamed109(); + o.permissions = buildUnnamed116(); } buildCounterTestIamPermissionsResponse--; return o; @@ -6816,7 +7107,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { void checkTestIamPermissionsResponse(api.TestIamPermissionsResponse o) { buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - checkUnnamed109(o.permissions!); + checkUnnamed116(o.permissions!); } buildCounterTestIamPermissionsResponse--; } @@ -6868,12 +7159,12 @@ void checkTicketInfo(api.TicketInfo o) { buildCounterTicketInfo--; } -core.List buildUnnamed110() => [ +core.List buildUnnamed117() => [ 'foo', 'foo', ]; -void checkUnnamed110(core.List o) { +void checkUnnamed117(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -6891,7 +7182,7 @@ api.ToxicCombination buildToxicCombination() { buildCounterToxicCombination++; if (buildCounterToxicCombination < 3) { o.attackExposureScore = 42.0; - o.relatedFindings = buildUnnamed110(); + o.relatedFindings = buildUnnamed117(); } buildCounterToxicCombination--; return o; @@ -6904,7 +7195,7 @@ void checkToxicCombination(api.ToxicCombination o) { o.attackExposureScore!, unittest.equals(42.0), ); - checkUnnamed110(o.relatedFindings!); + checkUnnamed117(o.relatedFindings!); } buildCounterToxicCombination--; } @@ -6959,12 +7250,12 @@ void checkValidateEventThreatDetectionCustomModuleResponse( buildCounterValidateEventThreatDetectionCustomModuleResponse--; } -core.List buildUnnamed111() => [ +core.List buildUnnamed118() => [ buildResourceValueConfigMetadata(), buildResourceValueConfigMetadata(), ]; -void checkUnnamed111(core.List o) { +void checkUnnamed118(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkResourceValueConfigMetadata(o[0]); checkResourceValueConfigMetadata(o[1]); @@ -6981,7 +7272,7 @@ api.ValuedResource buildValuedResource() { o.resource = 'foo'; o.resourceType = 'foo'; o.resourceValue = 'foo'; - o.resourceValueConfigsUsed = buildUnnamed111(); + o.resourceValueConfigsUsed = buildUnnamed118(); } buildCounterValuedResource--; return o; @@ -7014,7 +7305,7 @@ void checkValuedResource(api.ValuedResource o) { o.resourceValue!, unittest.equals('foo'), ); - checkUnnamed111(o.resourceValueConfigsUsed!); + checkUnnamed118(o.resourceValueConfigsUsed!); } buildCounterValuedResource--; } @@ -7097,6 +7388,16 @@ void main() { }); }); + unittest.group('obj-schema-Allowed', () { + unittest.test('to-json--from-json', () async { + final o = buildAllowed(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Allowed.fromJson(oJson as core.Map); + checkAllowed(od); + }); + }); + unittest.group('obj-schema-Application', () { unittest.test('to-json--from-json', () async { final o = buildApplication(); @@ -7526,6 +7827,16 @@ void main() { }); }); + unittest.group('obj-schema-Denied', () { + unittest.test('to-json--from-json', () async { + final o = buildDenied(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Denied.fromJson(oJson as core.Map); + checkDenied(od); + }); + }); + unittest.group('obj-schema-Detection', () { unittest.test('to-json--from-json', () async { final o = buildDetection(); @@ -7919,6 +8230,35 @@ void main() { }); }); + unittest.group('obj-schema-IpRule', () { + unittest.test('to-json--from-json', () async { + final o = buildIpRule(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.IpRule.fromJson(oJson as core.Map); + checkIpRule(od); + }); + }); + + unittest.group('obj-schema-IpRules', () { + unittest.test('to-json--from-json', () async { + final o = buildIpRules(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.IpRules.fromJson(oJson as core.Map); + checkIpRules(od); + }); + }); + + unittest.group('obj-schema-Job', () { + unittest.test('to-json--from-json', () async { + final o = buildJob(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.Job.fromJson(oJson as core.Map); + checkJob(od); + }); + }); + unittest.group('obj-schema-KernelRootkit', () { unittest.test('to-json--from-json', () async { final o = buildKernelRootkit(); @@ -8191,6 +8531,16 @@ void main() { }); }); + unittest.group('obj-schema-Network', () { + unittest.test('to-json--from-json', () async { + final o = buildNetwork(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Network.fromJson(oJson as core.Map); + checkNetwork(od); + }); + }); + unittest.group('obj-schema-Node', () { unittest.test('to-json--from-json', () async { final o = buildNode(); @@ -8320,6 +8670,16 @@ void main() { }); }); + unittest.group('obj-schema-PortRange', () { + unittest.test('to-json--from-json', () async { + final o = buildPortRange(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.PortRange.fromJson(oJson as core.Map); + checkPortRange(od); + }); + }); + unittest.group('obj-schema-Position', () { unittest.test('to-json--from-json', () async { final o = buildPosition(); diff --git a/generated/googleapis/test/servicecontrol/v2_test.dart b/generated/googleapis/test/servicecontrol/v2_test.dart index 24e3a8c82..8c0a221ff 100644 --- a/generated/googleapis/test/servicecontrol/v2_test.dart +++ b/generated/googleapis/test/servicecontrol/v2_test.dart @@ -239,7 +239,6 @@ api.Auth buildAuth() { o.accessLevels = buildUnnamed2(); o.audiences = buildUnnamed3(); o.claims = buildUnnamed4(); - o.credentialId = 'foo'; o.presenter = 'foo'; o.principal = 'foo'; } @@ -253,10 +252,6 @@ void checkAuth(api.Auth o) { checkUnnamed2(o.accessLevels!); checkUnnamed3(o.audiences!); checkUnnamed4(o.claims!); - unittest.expect( - o.credentialId!, - unittest.equals('foo'), - ); unittest.expect( o.presenter!, unittest.equals('foo'), @@ -578,6 +573,7 @@ api.Request buildRequest() { o.host = 'foo'; o.id = 'foo'; o.method = 'foo'; + o.origin = 'foo'; o.path = 'foo'; o.protocol = 'foo'; o.query = 'foo'; @@ -607,6 +603,10 @@ void checkRequest(api.Request o) { o.method!, unittest.equals('foo'), ); + unittest.expect( + o.origin!, + unittest.equals('foo'), + ); unittest.expect( o.path!, unittest.equals('foo'), diff --git a/generated/googleapis/test/servicemanagement/v1_test.dart b/generated/googleapis/test/servicemanagement/v1_test.dart index 2311e317f..a76c74852 100644 --- a/generated/googleapis/test/servicemanagement/v1_test.dart +++ b/generated/googleapis/test/servicemanagement/v1_test.dart @@ -121,12 +121,81 @@ void checkApi(api.Api o) { buildCounterApi--; } -core.List buildUnnamed3() => [ +core.Map buildUnnamed3() => { + 'x': { + 'list': [1, 2, 3], + 'bool': true, + 'string': 'foo' + }, + 'y': { + 'list': [1, 2, 3], + 'bool': true, + 'string': 'foo' + }, + }; + +void checkUnnamed3(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + var casted1 = (o['x']!) as core.Map; + unittest.expect(casted1, unittest.hasLength(3)); + unittest.expect( + casted1['list'], + unittest.equals([1, 2, 3]), + ); + unittest.expect( + casted1['bool'], + unittest.equals(true), + ); + unittest.expect( + casted1['string'], + unittest.equals('foo'), + ); + var casted2 = (o['y']!) as core.Map; + unittest.expect(casted2, unittest.hasLength(3)); + unittest.expect( + casted2['list'], + unittest.equals([1, 2, 3]), + ); + unittest.expect( + casted2['bool'], + unittest.equals(true), + ); + unittest.expect( + casted2['string'], + unittest.equals('foo'), + ); +} + +core.int buildCounterAspect = 0; +api.Aspect buildAspect() { + final o = api.Aspect(); + buildCounterAspect++; + if (buildCounterAspect < 3) { + o.kind = 'foo'; + o.spec = buildUnnamed3(); + } + buildCounterAspect--; + return o; +} + +void checkAspect(api.Aspect o) { + buildCounterAspect++; + if (buildCounterAspect < 3) { + unittest.expect( + o.kind!, + unittest.equals('foo'), + ); + checkUnnamed3(o.spec!); + } + buildCounterAspect--; +} + +core.List buildUnnamed4() => [ buildAuditLogConfig(), buildAuditLogConfig(), ]; -void checkUnnamed3(core.List o) { +void checkUnnamed4(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuditLogConfig(o[0]); checkAuditLogConfig(o[1]); @@ -137,7 +206,7 @@ api.AuditConfig buildAuditConfig() { final o = api.AuditConfig(); buildCounterAuditConfig++; if (buildCounterAuditConfig < 3) { - o.auditLogConfigs = buildUnnamed3(); + o.auditLogConfigs = buildUnnamed4(); o.service = 'foo'; } buildCounterAuditConfig--; @@ -147,7 +216,7 @@ api.AuditConfig buildAuditConfig() { void checkAuditConfig(api.AuditConfig o) { buildCounterAuditConfig++; if (buildCounterAuditConfig < 3) { - checkUnnamed3(o.auditLogConfigs!); + checkUnnamed4(o.auditLogConfigs!); unittest.expect( o.service!, unittest.equals('foo'), @@ -156,12 +225,12 @@ void checkAuditConfig(api.AuditConfig o) { buildCounterAuditConfig--; } -core.List buildUnnamed4() => [ +core.List buildUnnamed5() => [ 'foo', 'foo', ]; -void checkUnnamed4(core.List o) { +void checkUnnamed5(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -178,7 +247,7 @@ api.AuditLogConfig buildAuditLogConfig() { final o = api.AuditLogConfig(); buildCounterAuditLogConfig++; if (buildCounterAuditLogConfig < 3) { - o.exemptedMembers = buildUnnamed4(); + o.exemptedMembers = buildUnnamed5(); o.logType = 'foo'; } buildCounterAuditLogConfig--; @@ -188,7 +257,7 @@ api.AuditLogConfig buildAuditLogConfig() { void checkAuditLogConfig(api.AuditLogConfig o) { buildCounterAuditLogConfig++; if (buildCounterAuditLogConfig < 3) { - checkUnnamed4(o.exemptedMembers!); + checkUnnamed5(o.exemptedMembers!); unittest.expect( o.logType!, unittest.equals('foo'), @@ -197,12 +266,12 @@ void checkAuditLogConfig(api.AuditLogConfig o) { buildCounterAuditLogConfig--; } -core.List buildUnnamed5() => [ +core.List buildUnnamed6() => [ buildJwtLocation(), buildJwtLocation(), ]; -void checkUnnamed5(core.List o) { +void checkUnnamed6(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkJwtLocation(o[0]); checkJwtLocation(o[1]); @@ -218,7 +287,7 @@ api.AuthProvider buildAuthProvider() { o.id = 'foo'; o.issuer = 'foo'; o.jwksUri = 'foo'; - o.jwtLocations = buildUnnamed5(); + o.jwtLocations = buildUnnamed6(); } buildCounterAuthProvider--; return o; @@ -247,7 +316,7 @@ void checkAuthProvider(api.AuthProvider o) { o.jwksUri!, unittest.equals('foo'), ); - checkUnnamed5(o.jwtLocations!); + checkUnnamed6(o.jwtLocations!); } buildCounterAuthProvider--; } @@ -279,23 +348,23 @@ void checkAuthRequirement(api.AuthRequirement o) { buildCounterAuthRequirement--; } -core.List buildUnnamed6() => [ +core.List buildUnnamed7() => [ buildAuthProvider(), buildAuthProvider(), ]; -void checkUnnamed6(core.List o) { +void checkUnnamed7(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuthProvider(o[0]); checkAuthProvider(o[1]); } -core.List buildUnnamed7() => [ +core.List buildUnnamed8() => [ buildAuthenticationRule(), buildAuthenticationRule(), ]; -void checkUnnamed7(core.List o) { +void checkUnnamed8(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuthenticationRule(o[0]); checkAuthenticationRule(o[1]); @@ -306,8 +375,8 @@ api.Authentication buildAuthentication() { final o = api.Authentication(); buildCounterAuthentication++; if (buildCounterAuthentication < 3) { - o.providers = buildUnnamed6(); - o.rules = buildUnnamed7(); + o.providers = buildUnnamed7(); + o.rules = buildUnnamed8(); } buildCounterAuthentication--; return o; @@ -316,18 +385,18 @@ api.Authentication buildAuthentication() { void checkAuthentication(api.Authentication o) { buildCounterAuthentication++; if (buildCounterAuthentication < 3) { - checkUnnamed6(o.providers!); - checkUnnamed7(o.rules!); + checkUnnamed7(o.providers!); + checkUnnamed8(o.rules!); } buildCounterAuthentication--; } -core.List buildUnnamed8() => [ +core.List buildUnnamed9() => [ buildAuthRequirement(), buildAuthRequirement(), ]; -void checkUnnamed8(core.List o) { +void checkUnnamed9(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuthRequirement(o[0]); checkAuthRequirement(o[1]); @@ -340,7 +409,7 @@ api.AuthenticationRule buildAuthenticationRule() { if (buildCounterAuthenticationRule < 3) { o.allowWithoutCredential = true; o.oauth = buildOAuthRequirements(); - o.requirements = buildUnnamed8(); + o.requirements = buildUnnamed9(); o.selector = 'foo'; } buildCounterAuthenticationRule--; @@ -352,7 +421,7 @@ void checkAuthenticationRule(api.AuthenticationRule o) { if (buildCounterAuthenticationRule < 3) { unittest.expect(o.allowWithoutCredential!, unittest.isTrue); checkOAuthRequirements(o.oauth!); - checkUnnamed8(o.requirements!); + checkUnnamed9(o.requirements!); unittest.expect( o.selector!, unittest.equals('foo'), @@ -361,12 +430,12 @@ void checkAuthenticationRule(api.AuthenticationRule o) { buildCounterAuthenticationRule--; } -core.List buildUnnamed9() => [ +core.List buildUnnamed10() => [ buildBackendRule(), buildBackendRule(), ]; -void checkUnnamed9(core.List o) { +void checkUnnamed10(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackendRule(o[0]); checkBackendRule(o[1]); @@ -377,7 +446,7 @@ api.Backend buildBackend() { final o = api.Backend(); buildCounterBackend++; if (buildCounterBackend < 3) { - o.rules = buildUnnamed9(); + o.rules = buildUnnamed10(); } buildCounterBackend--; return o; @@ -386,17 +455,17 @@ api.Backend buildBackend() { void checkBackend(api.Backend o) { buildCounterBackend++; if (buildCounterBackend < 3) { - checkUnnamed9(o.rules!); + checkUnnamed10(o.rules!); } buildCounterBackend--; } -core.Map buildUnnamed10() => { +core.Map buildUnnamed11() => { 'x': buildBackendRule(), 'y': buildBackendRule(), }; -void checkUnnamed10(core.Map o) { +void checkUnnamed11(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkBackendRule(o['x']!); checkBackendRule(o['y']!); @@ -411,9 +480,10 @@ api.BackendRule buildBackendRule() { o.deadline = 42.0; o.disableAuth = true; o.jwtAudience = 'foo'; + o.loadBalancingPolicy = 'foo'; o.minDeadline = 42.0; o.operationDeadline = 42.0; - o.overridesByRequestProtocol = buildUnnamed10(); + o.overridesByRequestProtocol = buildUnnamed11(); o.pathTranslation = 'foo'; o.protocol = 'foo'; o.selector = 'foo'; @@ -438,6 +508,10 @@ void checkBackendRule(api.BackendRule o) { o.jwtAudience!, unittest.equals('foo'), ); + unittest.expect( + o.loadBalancingPolicy!, + unittest.equals('foo'), + ); unittest.expect( o.minDeadline!, unittest.equals(42.0), @@ -446,7 +520,7 @@ void checkBackendRule(api.BackendRule o) { o.operationDeadline!, unittest.equals(42.0), ); - checkUnnamed10(o.overridesByRequestProtocol!); + checkUnnamed11(o.overridesByRequestProtocol!); unittest.expect( o.pathTranslation!, unittest.equals('foo'), @@ -463,12 +537,12 @@ void checkBackendRule(api.BackendRule o) { buildCounterBackendRule--; } -core.List buildUnnamed11() => [ +core.List buildUnnamed12() => [ buildBillingDestination(), buildBillingDestination(), ]; -void checkUnnamed11(core.List o) { +void checkUnnamed12(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBillingDestination(o[0]); checkBillingDestination(o[1]); @@ -479,7 +553,7 @@ api.Billing buildBilling() { final o = api.Billing(); buildCounterBilling++; if (buildCounterBilling < 3) { - o.consumerDestinations = buildUnnamed11(); + o.consumerDestinations = buildUnnamed12(); } buildCounterBilling--; return o; @@ -488,17 +562,17 @@ api.Billing buildBilling() { void checkBilling(api.Billing o) { buildCounterBilling++; if (buildCounterBilling < 3) { - checkUnnamed11(o.consumerDestinations!); + checkUnnamed12(o.consumerDestinations!); } buildCounterBilling--; } -core.List buildUnnamed12() => [ +core.List buildUnnamed13() => [ 'foo', 'foo', ]; -void checkUnnamed12(core.List o) { +void checkUnnamed13(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -515,7 +589,7 @@ api.BillingDestination buildBillingDestination() { final o = api.BillingDestination(); buildCounterBillingDestination++; if (buildCounterBillingDestination < 3) { - o.metrics = buildUnnamed12(); + o.metrics = buildUnnamed13(); o.monitoredResource = 'foo'; } buildCounterBillingDestination--; @@ -525,7 +599,7 @@ api.BillingDestination buildBillingDestination() { void checkBillingDestination(api.BillingDestination o) { buildCounterBillingDestination++; if (buildCounterBillingDestination < 3) { - checkUnnamed12(o.metrics!); + checkUnnamed13(o.metrics!); unittest.expect( o.monitoredResource!, unittest.equals('foo'), @@ -534,12 +608,12 @@ void checkBillingDestination(api.BillingDestination o) { buildCounterBillingDestination--; } -core.List buildUnnamed13() => [ +core.List buildUnnamed14() => [ 'foo', 'foo', ]; -void checkUnnamed13(core.List o) { +void checkUnnamed14(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -557,7 +631,7 @@ api.Binding buildBinding() { buildCounterBinding++; if (buildCounterBinding < 3) { o.condition = buildExpr(); - o.members = buildUnnamed13(); + o.members = buildUnnamed14(); o.role = 'foo'; } buildCounterBinding--; @@ -568,7 +642,7 @@ void checkBinding(api.Binding o) { buildCounterBinding++; if (buildCounterBinding < 3) { checkExpr(o.condition!); - checkUnnamed13(o.members!); + checkUnnamed14(o.members!); unittest.expect( o.role!, unittest.equals('foo'), @@ -577,12 +651,12 @@ void checkBinding(api.Binding o) { buildCounterBinding--; } -core.List buildUnnamed14() => [ +core.List buildUnnamed15() => [ buildConfigChange(), buildConfigChange(), ]; -void checkUnnamed14(core.List o) { +void checkUnnamed15(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfigChange(o[0]); checkConfigChange(o[1]); @@ -593,7 +667,7 @@ api.ChangeReport buildChangeReport() { final o = api.ChangeReport(); buildCounterChangeReport++; if (buildCounterChangeReport < 3) { - o.configChanges = buildUnnamed14(); + o.configChanges = buildUnnamed15(); } buildCounterChangeReport--; return o; @@ -602,7 +676,7 @@ api.ChangeReport buildChangeReport() { void checkChangeReport(api.ChangeReport o) { buildCounterChangeReport++; if (buildCounterChangeReport < 3) { - checkUnnamed14(o.configChanges!); + checkUnnamed15(o.configChanges!); } buildCounterChangeReport--; } @@ -652,12 +726,12 @@ void checkClientLibrarySettings(api.ClientLibrarySettings o) { buildCounterClientLibrarySettings--; } -core.List buildUnnamed15() => [ +core.List buildUnnamed16() => [ 'foo', 'foo', ]; -void checkUnnamed15(core.List o) { +void checkUnnamed16(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -674,7 +748,7 @@ api.CommonLanguageSettings buildCommonLanguageSettings() { final o = api.CommonLanguageSettings(); buildCounterCommonLanguageSettings++; if (buildCounterCommonLanguageSettings < 3) { - o.destinations = buildUnnamed15(); + o.destinations = buildUnnamed16(); o.referenceDocsUri = 'foo'; o.selectiveGapicGeneration = buildSelectiveGapicGeneration(); } @@ -685,7 +759,7 @@ api.CommonLanguageSettings buildCommonLanguageSettings() { void checkCommonLanguageSettings(api.CommonLanguageSettings o) { buildCounterCommonLanguageSettings++; if (buildCounterCommonLanguageSettings < 3) { - checkUnnamed15(o.destinations!); + checkUnnamed16(o.destinations!); unittest.expect( o.referenceDocsUri!, unittest.equals('foo'), @@ -695,12 +769,12 @@ void checkCommonLanguageSettings(api.CommonLanguageSettings o) { buildCounterCommonLanguageSettings--; } -core.List buildUnnamed16() => [ +core.List buildUnnamed17() => [ buildAdvice(), buildAdvice(), ]; -void checkUnnamed16(core.List o) { +void checkUnnamed17(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAdvice(o[0]); checkAdvice(o[1]); @@ -711,7 +785,7 @@ api.ConfigChange buildConfigChange() { final o = api.ConfigChange(); buildCounterConfigChange++; if (buildCounterConfigChange < 3) { - o.advices = buildUnnamed16(); + o.advices = buildUnnamed17(); o.changeType = 'foo'; o.element = 'foo'; o.newValue = 'foo'; @@ -724,7 +798,7 @@ api.ConfigChange buildConfigChange() { void checkConfigChange(api.ConfigChange o) { buildCounterConfigChange++; if (buildCounterConfigChange < 3) { - checkUnnamed16(o.advices!); + checkUnnamed17(o.advices!); unittest.expect( o.changeType!, unittest.equals('foo'), @@ -777,12 +851,12 @@ void checkConfigFile(api.ConfigFile o) { buildCounterConfigFile--; } -core.List buildUnnamed17() => [ +core.List buildUnnamed18() => [ buildConfigFile(), buildConfigFile(), ]; -void checkUnnamed17(core.List o) { +void checkUnnamed18(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfigFile(o[0]); checkConfigFile(o[1]); @@ -793,7 +867,7 @@ api.ConfigSource buildConfigSource() { final o = api.ConfigSource(); buildCounterConfigSource++; if (buildCounterConfigSource < 3) { - o.files = buildUnnamed17(); + o.files = buildUnnamed18(); o.id = 'foo'; } buildCounterConfigSource--; @@ -803,7 +877,7 @@ api.ConfigSource buildConfigSource() { void checkConfigSource(api.ConfigSource o) { buildCounterConfigSource++; if (buildCounterConfigSource < 3) { - checkUnnamed17(o.files!); + checkUnnamed18(o.files!); unittest.expect( o.id!, unittest.equals('foo'), @@ -812,12 +886,12 @@ void checkConfigSource(api.ConfigSource o) { buildCounterConfigSource--; } -core.List buildUnnamed18() => [ +core.List buildUnnamed19() => [ buildContextRule(), buildContextRule(), ]; -void checkUnnamed18(core.List o) { +void checkUnnamed19(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkContextRule(o[0]); checkContextRule(o[1]); @@ -828,7 +902,7 @@ api.Context buildContext() { final o = api.Context(); buildCounterContext++; if (buildCounterContext < 3) { - o.rules = buildUnnamed18(); + o.rules = buildUnnamed19(); } buildCounterContext--; return o; @@ -837,17 +911,17 @@ api.Context buildContext() { void checkContext(api.Context o) { buildCounterContext++; if (buildCounterContext < 3) { - checkUnnamed18(o.rules!); + checkUnnamed19(o.rules!); } buildCounterContext--; } -core.List buildUnnamed19() => [ +core.List buildUnnamed20() => [ 'foo', 'foo', ]; -void checkUnnamed19(core.List o) { +void checkUnnamed20(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -859,12 +933,12 @@ void checkUnnamed19(core.List o) { ); } -core.List buildUnnamed20() => [ +core.List buildUnnamed21() => [ 'foo', 'foo', ]; -void checkUnnamed20(core.List o) { +void checkUnnamed21(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -876,12 +950,12 @@ void checkUnnamed20(core.List o) { ); } -core.List buildUnnamed21() => [ +core.List buildUnnamed22() => [ 'foo', 'foo', ]; -void checkUnnamed21(core.List o) { +void checkUnnamed22(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -893,12 +967,12 @@ void checkUnnamed21(core.List o) { ); } -core.List buildUnnamed22() => [ +core.List buildUnnamed23() => [ 'foo', 'foo', ]; -void checkUnnamed22(core.List o) { +void checkUnnamed23(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -915,10 +989,10 @@ api.ContextRule buildContextRule() { final o = api.ContextRule(); buildCounterContextRule++; if (buildCounterContextRule < 3) { - o.allowedRequestExtensions = buildUnnamed19(); - o.allowedResponseExtensions = buildUnnamed20(); - o.provided = buildUnnamed21(); - o.requested = buildUnnamed22(); + o.allowedRequestExtensions = buildUnnamed20(); + o.allowedResponseExtensions = buildUnnamed21(); + o.provided = buildUnnamed22(); + o.requested = buildUnnamed23(); o.selector = 'foo'; } buildCounterContextRule--; @@ -928,10 +1002,10 @@ api.ContextRule buildContextRule() { void checkContextRule(api.ContextRule o) { buildCounterContextRule++; if (buildCounterContextRule < 3) { - checkUnnamed19(o.allowedRequestExtensions!); - checkUnnamed20(o.allowedResponseExtensions!); - checkUnnamed21(o.provided!); - checkUnnamed22(o.requested!); + checkUnnamed20(o.allowedRequestExtensions!); + checkUnnamed21(o.allowedResponseExtensions!); + checkUnnamed22(o.provided!); + checkUnnamed23(o.requested!); unittest.expect( o.selector!, unittest.equals('foo'), @@ -940,12 +1014,12 @@ void checkContextRule(api.ContextRule o) { buildCounterContextRule--; } -core.List buildUnnamed23() => [ +core.List buildUnnamed24() => [ buildMethodPolicy(), buildMethodPolicy(), ]; -void checkUnnamed23(core.List o) { +void checkUnnamed24(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMethodPolicy(o[0]); checkMethodPolicy(o[1]); @@ -957,7 +1031,7 @@ api.Control buildControl() { buildCounterControl++; if (buildCounterControl < 3) { o.environment = 'foo'; - o.methodPolicies = buildUnnamed23(); + o.methodPolicies = buildUnnamed24(); } buildCounterControl--; return o; @@ -970,7 +1044,7 @@ void checkControl(api.Control o) { o.environment!, unittest.equals('foo'), ); - checkUnnamed23(o.methodPolicies!); + checkUnnamed24(o.methodPolicies!); } buildCounterControl--; } @@ -994,23 +1068,23 @@ void checkCppSettings(api.CppSettings o) { buildCounterCppSettings--; } -core.List buildUnnamed24() => [ +core.List buildUnnamed25() => [ buildCustomErrorRule(), buildCustomErrorRule(), ]; -void checkUnnamed24(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCustomErrorRule(o[0]); checkCustomErrorRule(o[1]); } -core.List buildUnnamed25() => [ +core.List buildUnnamed26() => [ 'foo', 'foo', ]; -void checkUnnamed25(core.List o) { +void checkUnnamed26(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1027,8 +1101,8 @@ api.CustomError buildCustomError() { final o = api.CustomError(); buildCounterCustomError++; if (buildCounterCustomError < 3) { - o.rules = buildUnnamed24(); - o.types = buildUnnamed25(); + o.rules = buildUnnamed25(); + o.types = buildUnnamed26(); } buildCounterCustomError--; return o; @@ -1037,8 +1111,8 @@ api.CustomError buildCustomError() { void checkCustomError(api.CustomError o) { buildCounterCustomError++; if (buildCounterCustomError < 3) { - checkUnnamed24(o.rules!); - checkUnnamed25(o.types!); + checkUnnamed25(o.rules!); + checkUnnamed26(o.types!); } buildCounterCustomError--; } @@ -1141,34 +1215,34 @@ void checkDiagnostic(api.Diagnostic o) { buildCounterDiagnostic--; } -core.List buildUnnamed26() => [ +core.List buildUnnamed27() => [ buildPage(), buildPage(), ]; -void checkUnnamed26(core.List o) { +void checkUnnamed27(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPage(o[0]); checkPage(o[1]); } -core.List buildUnnamed27() => [ +core.List buildUnnamed28() => [ buildDocumentationRule(), buildDocumentationRule(), ]; -void checkUnnamed27(core.List o) { +void checkUnnamed28(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDocumentationRule(o[0]); checkDocumentationRule(o[1]); } -core.List buildUnnamed28() => [ +core.List buildUnnamed29() => [ buildPage(), buildPage(), ]; -void checkUnnamed28(core.List o) { +void checkUnnamed29(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPage(o[0]); checkPage(o[1]); @@ -1182,9 +1256,9 @@ api.Documentation buildDocumentation() { o.additionalIamInfo = 'foo'; o.documentationRootUrl = 'foo'; o.overview = 'foo'; - o.pages = buildUnnamed26(); - o.rules = buildUnnamed27(); - o.sectionOverrides = buildUnnamed28(); + o.pages = buildUnnamed27(); + o.rules = buildUnnamed28(); + o.sectionOverrides = buildUnnamed29(); o.serviceRootUrl = 'foo'; o.summary = 'foo'; } @@ -1207,9 +1281,9 @@ void checkDocumentation(api.Documentation o) { o.overview!, unittest.equals('foo'), ); - checkUnnamed26(o.pages!); - checkUnnamed27(o.rules!); - checkUnnamed28(o.sectionOverrides!); + checkUnnamed27(o.pages!); + checkUnnamed28(o.rules!); + checkUnnamed29(o.sectionOverrides!); unittest.expect( o.serviceRootUrl!, unittest.equals('foo'), @@ -1259,12 +1333,12 @@ void checkDocumentationRule(api.DocumentationRule o) { buildCounterDocumentationRule--; } -core.List buildUnnamed29() => [ +core.List buildUnnamed30() => [ 'foo', 'foo', ]; -void checkUnnamed29(core.List o) { +void checkUnnamed30(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1276,12 +1350,12 @@ void checkUnnamed29(core.List o) { ); } -core.List buildUnnamed30() => [ +core.List buildUnnamed31() => [ 'foo', 'foo', ]; -void checkUnnamed30(core.List o) { +void checkUnnamed31(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1293,12 +1367,12 @@ void checkUnnamed30(core.List o) { ); } -core.List buildUnnamed31() => [ +core.List buildUnnamed32() => [ 'foo', 'foo', ]; -void checkUnnamed31(core.List o) { +void checkUnnamed32(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1310,12 +1384,12 @@ void checkUnnamed31(core.List o) { ); } -core.Map buildUnnamed32() => { +core.Map buildUnnamed33() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed32(core.Map o) { +void checkUnnamed33(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1327,12 +1401,12 @@ void checkUnnamed32(core.Map o) { ); } -core.Map buildUnnamed33() => { +core.Map buildUnnamed34() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed33(core.Map o) { +void checkUnnamed34(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1350,11 +1424,11 @@ api.DotnetSettings buildDotnetSettings() { buildCounterDotnetSettings++; if (buildCounterDotnetSettings < 3) { o.common = buildCommonLanguageSettings(); - o.forcedNamespaceAliases = buildUnnamed29(); - o.handwrittenSignatures = buildUnnamed30(); - o.ignoredResources = buildUnnamed31(); - o.renamedResources = buildUnnamed32(); - o.renamedServices = buildUnnamed33(); + o.forcedNamespaceAliases = buildUnnamed30(); + o.handwrittenSignatures = buildUnnamed31(); + o.ignoredResources = buildUnnamed32(); + o.renamedResources = buildUnnamed33(); + o.renamedServices = buildUnnamed34(); } buildCounterDotnetSettings--; return o; @@ -1364,21 +1438,21 @@ void checkDotnetSettings(api.DotnetSettings o) { buildCounterDotnetSettings++; if (buildCounterDotnetSettings < 3) { checkCommonLanguageSettings(o.common!); - checkUnnamed29(o.forcedNamespaceAliases!); - checkUnnamed30(o.handwrittenSignatures!); - checkUnnamed31(o.ignoredResources!); - checkUnnamed32(o.renamedResources!); - checkUnnamed33(o.renamedServices!); + checkUnnamed30(o.forcedNamespaceAliases!); + checkUnnamed31(o.handwrittenSignatures!); + checkUnnamed32(o.ignoredResources!); + checkUnnamed33(o.renamedResources!); + checkUnnamed34(o.renamedServices!); } buildCounterDotnetSettings--; } -core.List buildUnnamed34() => [ +core.List buildUnnamed35() => [ 'foo', 'foo', ]; -void checkUnnamed34(core.List o) { +void checkUnnamed35(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1395,7 +1469,7 @@ api.Endpoint buildEndpoint() { final o = api.Endpoint(); buildCounterEndpoint++; if (buildCounterEndpoint < 3) { - o.aliases = buildUnnamed34(); + o.aliases = buildUnnamed35(); o.allowCors = true; o.name = 'foo'; o.target = 'foo'; @@ -1407,7 +1481,7 @@ api.Endpoint buildEndpoint() { void checkEndpoint(api.Endpoint o) { buildCounterEndpoint++; if (buildCounterEndpoint < 3) { - checkUnnamed34(o.aliases!); + checkUnnamed35(o.aliases!); unittest.expect(o.allowCors!, unittest.isTrue); unittest.expect( o.name!, @@ -1421,23 +1495,23 @@ void checkEndpoint(api.Endpoint o) { buildCounterEndpoint--; } -core.List buildUnnamed35() => [ +core.List buildUnnamed36() => [ buildEnumValue(), buildEnumValue(), ]; -void checkUnnamed35(core.List o) { +void checkUnnamed36(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEnumValue(o[0]); checkEnumValue(o[1]); } -core.List buildUnnamed36() => [ +core.List buildUnnamed37() => [ buildOption(), buildOption(), ]; -void checkUnnamed36(core.List o) { +void checkUnnamed37(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOption(o[0]); checkOption(o[1]); @@ -1449,9 +1523,9 @@ api.Enum buildEnum() { buildCounterEnum++; if (buildCounterEnum < 3) { o.edition = 'foo'; - o.enumvalue = buildUnnamed35(); + o.enumvalue = buildUnnamed36(); o.name = 'foo'; - o.options = buildUnnamed36(); + o.options = buildUnnamed37(); o.sourceContext = buildSourceContext(); o.syntax = 'foo'; } @@ -1466,12 +1540,12 @@ void checkEnum(api.Enum o) { o.edition!, unittest.equals('foo'), ); - checkUnnamed35(o.enumvalue!); + checkUnnamed36(o.enumvalue!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed36(o.options!); + checkUnnamed37(o.options!); checkSourceContext(o.sourceContext!); unittest.expect( o.syntax!, @@ -1481,12 +1555,12 @@ void checkEnum(api.Enum o) { buildCounterEnum--; } -core.List buildUnnamed37() => [ +core.List buildUnnamed38() => [ buildOption(), buildOption(), ]; -void checkUnnamed37(core.List o) { +void checkUnnamed38(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOption(o[0]); checkOption(o[1]); @@ -1499,7 +1573,7 @@ api.EnumValue buildEnumValue() { if (buildCounterEnumValue < 3) { o.name = 'foo'; o.number = 42; - o.options = buildUnnamed37(); + o.options = buildUnnamed38(); } buildCounterEnumValue--; return o; @@ -1516,7 +1590,7 @@ void checkEnumValue(api.EnumValue o) { o.number!, unittest.equals(42), ); - checkUnnamed37(o.options!); + checkUnnamed38(o.options!); } buildCounterEnumValue--; } @@ -1528,6 +1602,7 @@ api.ExperimentalFeatures buildExperimentalFeatures() { if (buildCounterExperimentalFeatures < 3) { o.protobufPythonicTypesEnabled = true; o.restAsyncIoEnabled = true; + o.unversionedPackageDisabled = true; } buildCounterExperimentalFeatures--; return o; @@ -1538,6 +1613,7 @@ void checkExperimentalFeatures(api.ExperimentalFeatures o) { if (buildCounterExperimentalFeatures < 3) { unittest.expect(o.protobufPythonicTypesEnabled!, unittest.isTrue); unittest.expect(o.restAsyncIoEnabled!, unittest.isTrue); + unittest.expect(o.unversionedPackageDisabled!, unittest.isTrue); } buildCounterExperimentalFeatures--; } @@ -1579,12 +1655,12 @@ void checkExpr(api.Expr o) { buildCounterExpr--; } -core.List buildUnnamed38() => [ +core.List buildUnnamed39() => [ buildOption(), buildOption(), ]; -void checkUnnamed38(core.List o) { +void checkUnnamed39(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOption(o[0]); checkOption(o[1]); @@ -1602,7 +1678,7 @@ api.Field buildField() { o.name = 'foo'; o.number = 42; o.oneofIndex = 42; - o.options = buildUnnamed38(); + o.options = buildUnnamed39(); o.packed = true; o.typeUrl = 'foo'; } @@ -1641,7 +1717,7 @@ void checkField(api.Field o) { o.oneofIndex!, unittest.equals(42), ); - checkUnnamed38(o.options!); + checkUnnamed39(o.options!); unittest.expect(o.packed!, unittest.isTrue); unittest.expect( o.typeUrl!, @@ -1683,7 +1759,7 @@ void checkFieldPolicy(api.FieldPolicy o) { buildCounterFieldPolicy--; } -core.Map buildUnnamed39() => { +core.Map buildUnnamed40() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1696,39 +1772,39 @@ core.Map buildUnnamed39() => { }, }; -void checkUnnamed39(core.Map o) { +void checkUnnamed40(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted1 = (o['x']!) as core.Map; - unittest.expect(casted1, unittest.hasLength(3)); + var casted3 = (o['x']!) as core.Map; + unittest.expect(casted3, unittest.hasLength(3)); unittest.expect( - casted1['list'], + casted3['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted1['bool'], + casted3['bool'], unittest.equals(true), ); unittest.expect( - casted1['string'], + casted3['string'], unittest.equals('foo'), ); - var casted2 = (o['y']!) as core.Map; - unittest.expect(casted2, unittest.hasLength(3)); + var casted4 = (o['y']!) as core.Map; + unittest.expect(casted4, unittest.hasLength(3)); unittest.expect( - casted2['list'], + casted4['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted2['bool'], + casted4['bool'], unittest.equals(true), ); unittest.expect( - casted2['string'], + casted4['string'], unittest.equals('foo'), ); } -core.Map buildUnnamed40() => { +core.Map buildUnnamed41() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1741,34 +1817,34 @@ core.Map buildUnnamed40() => { }, }; -void checkUnnamed40(core.Map o) { +void checkUnnamed41(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted3 = (o['x']!) as core.Map; - unittest.expect(casted3, unittest.hasLength(3)); + var casted5 = (o['x']!) as core.Map; + unittest.expect(casted5, unittest.hasLength(3)); unittest.expect( - casted3['list'], + casted5['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted3['bool'], + casted5['bool'], unittest.equals(true), ); unittest.expect( - casted3['string'], + casted5['string'], unittest.equals('foo'), ); - var casted4 = (o['y']!) as core.Map; - unittest.expect(casted4, unittest.hasLength(3)); + var casted6 = (o['y']!) as core.Map; + unittest.expect(casted6, unittest.hasLength(3)); unittest.expect( - casted4['list'], + casted6['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted4['bool'], + casted6['bool'], unittest.equals(true), ); unittest.expect( - casted4['string'], + casted6['string'], unittest.equals('foo'), ); } @@ -1778,8 +1854,8 @@ api.GenerateConfigReportRequest buildGenerateConfigReportRequest() { final o = api.GenerateConfigReportRequest(); buildCounterGenerateConfigReportRequest++; if (buildCounterGenerateConfigReportRequest < 3) { - o.newConfig = buildUnnamed39(); - o.oldConfig = buildUnnamed40(); + o.newConfig = buildUnnamed40(); + o.oldConfig = buildUnnamed41(); } buildCounterGenerateConfigReportRequest--; return o; @@ -1788,29 +1864,29 @@ api.GenerateConfigReportRequest buildGenerateConfigReportRequest() { void checkGenerateConfigReportRequest(api.GenerateConfigReportRequest o) { buildCounterGenerateConfigReportRequest++; if (buildCounterGenerateConfigReportRequest < 3) { - checkUnnamed39(o.newConfig!); - checkUnnamed40(o.oldConfig!); + checkUnnamed40(o.newConfig!); + checkUnnamed41(o.oldConfig!); } buildCounterGenerateConfigReportRequest--; } -core.List buildUnnamed41() => [ +core.List buildUnnamed42() => [ buildChangeReport(), buildChangeReport(), ]; -void checkUnnamed41(core.List o) { +void checkUnnamed42(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkChangeReport(o[0]); checkChangeReport(o[1]); } -core.List buildUnnamed42() => [ +core.List buildUnnamed43() => [ buildDiagnostic(), buildDiagnostic(), ]; -void checkUnnamed42(core.List o) { +void checkUnnamed43(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDiagnostic(o[0]); checkDiagnostic(o[1]); @@ -1821,8 +1897,8 @@ api.GenerateConfigReportResponse buildGenerateConfigReportResponse() { final o = api.GenerateConfigReportResponse(); buildCounterGenerateConfigReportResponse++; if (buildCounterGenerateConfigReportResponse < 3) { - o.changeReports = buildUnnamed41(); - o.diagnostics = buildUnnamed42(); + o.changeReports = buildUnnamed42(); + o.diagnostics = buildUnnamed43(); o.id = 'foo'; o.serviceName = 'foo'; } @@ -1833,8 +1909,8 @@ api.GenerateConfigReportResponse buildGenerateConfigReportResponse() { void checkGenerateConfigReportResponse(api.GenerateConfigReportResponse o) { buildCounterGenerateConfigReportResponse++; if (buildCounterGenerateConfigReportResponse < 3) { - checkUnnamed41(o.changeReports!); - checkUnnamed42(o.diagnostics!); + checkUnnamed42(o.changeReports!); + checkUnnamed43(o.diagnostics!); unittest.expect( o.id!, unittest.equals('foo'), @@ -1888,12 +1964,12 @@ void checkGetPolicyOptions(api.GetPolicyOptions o) { buildCounterGetPolicyOptions--; } -core.Map buildUnnamed43() => { +core.Map buildUnnamed44() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed43(core.Map o) { +void checkUnnamed44(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1911,7 +1987,7 @@ api.GoSettings buildGoSettings() { buildCounterGoSettings++; if (buildCounterGoSettings < 3) { o.common = buildCommonLanguageSettings(); - o.renamedServices = buildUnnamed43(); + o.renamedServices = buildUnnamed44(); } buildCounterGoSettings--; return o; @@ -1921,17 +1997,17 @@ void checkGoSettings(api.GoSettings o) { buildCounterGoSettings++; if (buildCounterGoSettings < 3) { checkCommonLanguageSettings(o.common!); - checkUnnamed43(o.renamedServices!); + checkUnnamed44(o.renamedServices!); } buildCounterGoSettings--; } -core.List buildUnnamed44() => [ +core.List buildUnnamed45() => [ buildHttpRule(), buildHttpRule(), ]; -void checkUnnamed44(core.List o) { +void checkUnnamed45(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHttpRule(o[0]); checkHttpRule(o[1]); @@ -1943,7 +2019,7 @@ api.Http buildHttp() { buildCounterHttp++; if (buildCounterHttp < 3) { o.fullyDecodeReservedExpansion = true; - o.rules = buildUnnamed44(); + o.rules = buildUnnamed45(); } buildCounterHttp--; return o; @@ -1953,17 +2029,17 @@ void checkHttp(api.Http o) { buildCounterHttp++; if (buildCounterHttp < 3) { unittest.expect(o.fullyDecodeReservedExpansion!, unittest.isTrue); - checkUnnamed44(o.rules!); + checkUnnamed45(o.rules!); } buildCounterHttp--; } -core.List buildUnnamed45() => [ +core.List buildUnnamed46() => [ buildHttpRule(), buildHttpRule(), ]; -void checkUnnamed45(core.List o) { +void checkUnnamed46(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHttpRule(o[0]); checkHttpRule(o[1]); @@ -1974,7 +2050,7 @@ api.HttpRule buildHttpRule() { final o = api.HttpRule(); buildCounterHttpRule++; if (buildCounterHttpRule < 3) { - o.additionalBindings = buildUnnamed45(); + o.additionalBindings = buildUnnamed46(); o.body = 'foo'; o.custom = buildCustomHttpPattern(); o.delete = 'foo'; @@ -1992,7 +2068,7 @@ api.HttpRule buildHttpRule() { void checkHttpRule(api.HttpRule o) { buildCounterHttpRule++; if (buildCounterHttpRule < 3) { - checkUnnamed45(o.additionalBindings!); + checkUnnamed46(o.additionalBindings!); unittest.expect( o.body!, unittest.equals('foo'), @@ -2030,12 +2106,12 @@ void checkHttpRule(api.HttpRule o) { buildCounterHttpRule--; } -core.Map buildUnnamed46() => { +core.Map buildUnnamed47() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed46(core.Map o) { +void checkUnnamed47(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2054,7 +2130,7 @@ api.JavaSettings buildJavaSettings() { if (buildCounterJavaSettings < 3) { o.common = buildCommonLanguageSettings(); o.libraryPackage = 'foo'; - o.serviceClassNames = buildUnnamed46(); + o.serviceClassNames = buildUnnamed47(); } buildCounterJavaSettings--; return o; @@ -2068,7 +2144,7 @@ void checkJavaSettings(api.JavaSettings o) { o.libraryPackage!, unittest.equals('foo'), ); - checkUnnamed46(o.serviceClassNames!); + checkUnnamed47(o.serviceClassNames!); } buildCounterJavaSettings--; } @@ -2142,12 +2218,12 @@ void checkLabelDescriptor(api.LabelDescriptor o) { buildCounterLabelDescriptor--; } -core.List buildUnnamed47() => [ +core.List buildUnnamed48() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed47(core.List o) { +void checkUnnamed48(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -2159,7 +2235,7 @@ api.ListOperationsResponse buildListOperationsResponse() { buildCounterListOperationsResponse++; if (buildCounterListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed47(); + o.operations = buildUnnamed48(); } buildCounterListOperationsResponse--; return o; @@ -2172,17 +2248,17 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed47(o.operations!); + checkUnnamed48(o.operations!); } buildCounterListOperationsResponse--; } -core.List buildUnnamed48() => [ +core.List buildUnnamed49() => [ buildService(), buildService(), ]; -void checkUnnamed48(core.List o) { +void checkUnnamed49(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkService(o[0]); checkService(o[1]); @@ -2194,7 +2270,7 @@ api.ListServiceConfigsResponse buildListServiceConfigsResponse() { buildCounterListServiceConfigsResponse++; if (buildCounterListServiceConfigsResponse < 3) { o.nextPageToken = 'foo'; - o.serviceConfigs = buildUnnamed48(); + o.serviceConfigs = buildUnnamed49(); } buildCounterListServiceConfigsResponse--; return o; @@ -2207,17 +2283,17 @@ void checkListServiceConfigsResponse(api.ListServiceConfigsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed48(o.serviceConfigs!); + checkUnnamed49(o.serviceConfigs!); } buildCounterListServiceConfigsResponse--; } -core.List buildUnnamed49() => [ +core.List buildUnnamed50() => [ buildRollout(), buildRollout(), ]; -void checkUnnamed49(core.List o) { +void checkUnnamed50(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRollout(o[0]); checkRollout(o[1]); @@ -2229,7 +2305,7 @@ api.ListServiceRolloutsResponse buildListServiceRolloutsResponse() { buildCounterListServiceRolloutsResponse++; if (buildCounterListServiceRolloutsResponse < 3) { o.nextPageToken = 'foo'; - o.rollouts = buildUnnamed49(); + o.rollouts = buildUnnamed50(); } buildCounterListServiceRolloutsResponse--; return o; @@ -2242,17 +2318,17 @@ void checkListServiceRolloutsResponse(api.ListServiceRolloutsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed49(o.rollouts!); + checkUnnamed50(o.rollouts!); } buildCounterListServiceRolloutsResponse--; } -core.List buildUnnamed50() => [ +core.List buildUnnamed51() => [ buildManagedService(), buildManagedService(), ]; -void checkUnnamed50(core.List o) { +void checkUnnamed51(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkManagedService(o[0]); checkManagedService(o[1]); @@ -2264,7 +2340,7 @@ api.ListServicesResponse buildListServicesResponse() { buildCounterListServicesResponse++; if (buildCounterListServicesResponse < 3) { o.nextPageToken = 'foo'; - o.services = buildUnnamed50(); + o.services = buildUnnamed51(); } buildCounterListServicesResponse--; return o; @@ -2277,17 +2353,17 @@ void checkListServicesResponse(api.ListServicesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed50(o.services!); + checkUnnamed51(o.services!); } buildCounterListServicesResponse--; } -core.List buildUnnamed51() => [ +core.List buildUnnamed52() => [ buildLabelDescriptor(), buildLabelDescriptor(), ]; -void checkUnnamed51(core.List o) { +void checkUnnamed52(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLabelDescriptor(o[0]); checkLabelDescriptor(o[1]); @@ -2300,7 +2376,7 @@ api.LogDescriptor buildLogDescriptor() { if (buildCounterLogDescriptor < 3) { o.description = 'foo'; o.displayName = 'foo'; - o.labels = buildUnnamed51(); + o.labels = buildUnnamed52(); o.name = 'foo'; } buildCounterLogDescriptor--; @@ -2318,7 +2394,7 @@ void checkLogDescriptor(api.LogDescriptor o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed51(o.labels!); + checkUnnamed52(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -2327,23 +2403,23 @@ void checkLogDescriptor(api.LogDescriptor o) { buildCounterLogDescriptor--; } -core.List buildUnnamed52() => [ +core.List buildUnnamed53() => [ buildLoggingDestination(), buildLoggingDestination(), ]; -void checkUnnamed52(core.List o) { +void checkUnnamed53(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLoggingDestination(o[0]); checkLoggingDestination(o[1]); } -core.List buildUnnamed53() => [ +core.List buildUnnamed54() => [ buildLoggingDestination(), buildLoggingDestination(), ]; -void checkUnnamed53(core.List o) { +void checkUnnamed54(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLoggingDestination(o[0]); checkLoggingDestination(o[1]); @@ -2354,8 +2430,8 @@ api.Logging buildLogging() { final o = api.Logging(); buildCounterLogging++; if (buildCounterLogging < 3) { - o.consumerDestinations = buildUnnamed52(); - o.producerDestinations = buildUnnamed53(); + o.consumerDestinations = buildUnnamed53(); + o.producerDestinations = buildUnnamed54(); } buildCounterLogging--; return o; @@ -2364,18 +2440,18 @@ api.Logging buildLogging() { void checkLogging(api.Logging o) { buildCounterLogging++; if (buildCounterLogging < 3) { - checkUnnamed52(o.consumerDestinations!); - checkUnnamed53(o.producerDestinations!); + checkUnnamed53(o.consumerDestinations!); + checkUnnamed54(o.producerDestinations!); } buildCounterLogging--; } -core.List buildUnnamed54() => [ +core.List buildUnnamed55() => [ 'foo', 'foo', ]; -void checkUnnamed54(core.List o) { +void checkUnnamed55(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2392,7 +2468,7 @@ api.LoggingDestination buildLoggingDestination() { final o = api.LoggingDestination(); buildCounterLoggingDestination++; if (buildCounterLoggingDestination < 3) { - o.logs = buildUnnamed54(); + o.logs = buildUnnamed55(); o.monitoredResource = 'foo'; } buildCounterLoggingDestination--; @@ -2402,7 +2478,7 @@ api.LoggingDestination buildLoggingDestination() { void checkLoggingDestination(api.LoggingDestination o) { buildCounterLoggingDestination++; if (buildCounterLoggingDestination < 3) { - checkUnnamed54(o.logs!); + checkUnnamed55(o.logs!); unittest.expect( o.monitoredResource!, unittest.equals('foo'), @@ -2475,12 +2551,12 @@ void checkManagedService(api.ManagedService o) { buildCounterManagedService--; } -core.List buildUnnamed55() => [ +core.List buildUnnamed56() => [ buildOption(), buildOption(), ]; -void checkUnnamed55(core.List o) { +void checkUnnamed56(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOption(o[0]); checkOption(o[1]); @@ -2492,7 +2568,7 @@ api.Method buildMethod() { buildCounterMethod++; if (buildCounterMethod < 3) { o.name = 'foo'; - o.options = buildUnnamed55(); + o.options = buildUnnamed56(); o.requestStreaming = true; o.requestTypeUrl = 'foo'; o.responseStreaming = true; @@ -2510,7 +2586,7 @@ void checkMethod(api.Method o) { o.name!, unittest.equals('foo'), ); - checkUnnamed55(o.options!); + checkUnnamed56(o.options!); unittest.expect(o.requestStreaming!, unittest.isTrue); unittest.expect( o.requestTypeUrl!, @@ -2529,12 +2605,12 @@ void checkMethod(api.Method o) { buildCounterMethod--; } -core.List buildUnnamed56() => [ +core.List buildUnnamed57() => [ buildFieldPolicy(), buildFieldPolicy(), ]; -void checkUnnamed56(core.List o) { +void checkUnnamed57(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFieldPolicy(o[0]); checkFieldPolicy(o[1]); @@ -2545,7 +2621,7 @@ api.MethodPolicy buildMethodPolicy() { final o = api.MethodPolicy(); buildCounterMethodPolicy++; if (buildCounterMethodPolicy < 3) { - o.requestPolicies = buildUnnamed56(); + o.requestPolicies = buildUnnamed57(); o.selector = 'foo'; } buildCounterMethodPolicy--; @@ -2555,7 +2631,7 @@ api.MethodPolicy buildMethodPolicy() { void checkMethodPolicy(api.MethodPolicy o) { buildCounterMethodPolicy++; if (buildCounterMethodPolicy < 3) { - checkUnnamed56(o.requestPolicies!); + checkUnnamed57(o.requestPolicies!); unittest.expect( o.selector!, unittest.equals('foo'), @@ -2564,12 +2640,12 @@ void checkMethodPolicy(api.MethodPolicy o) { buildCounterMethodPolicy--; } -core.List buildUnnamed57() => [ +core.List buildUnnamed58() => [ 'foo', 'foo', ]; -void checkUnnamed57(core.List o) { +void checkUnnamed58(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2586,7 +2662,7 @@ api.MethodSettings buildMethodSettings() { final o = api.MethodSettings(); buildCounterMethodSettings++; if (buildCounterMethodSettings < 3) { - o.autoPopulatedFields = buildUnnamed57(); + o.autoPopulatedFields = buildUnnamed58(); o.longRunning = buildLongRunning(); o.selector = 'foo'; } @@ -2597,7 +2673,7 @@ api.MethodSettings buildMethodSettings() { void checkMethodSettings(api.MethodSettings o) { buildCounterMethodSettings++; if (buildCounterMethodSettings < 3) { - checkUnnamed57(o.autoPopulatedFields!); + checkUnnamed58(o.autoPopulatedFields!); checkLongRunning(o.longRunning!); unittest.expect( o.selector!, @@ -2607,23 +2683,23 @@ void checkMethodSettings(api.MethodSettings o) { buildCounterMethodSettings--; } -core.List buildUnnamed58() => [ +core.List buildUnnamed59() => [ buildLabelDescriptor(), buildLabelDescriptor(), ]; -void checkUnnamed58(core.List o) { +void checkUnnamed59(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLabelDescriptor(o[0]); checkLabelDescriptor(o[1]); } -core.List buildUnnamed59() => [ +core.List buildUnnamed60() => [ 'foo', 'foo', ]; -void checkUnnamed59(core.List o) { +void checkUnnamed60(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2642,11 +2718,11 @@ api.MetricDescriptor buildMetricDescriptor() { if (buildCounterMetricDescriptor < 3) { o.description = 'foo'; o.displayName = 'foo'; - o.labels = buildUnnamed58(); + o.labels = buildUnnamed59(); o.launchStage = 'foo'; o.metadata = buildMetricDescriptorMetadata(); o.metricKind = 'foo'; - o.monitoredResourceTypes = buildUnnamed59(); + o.monitoredResourceTypes = buildUnnamed60(); o.name = 'foo'; o.type = 'foo'; o.unit = 'foo'; @@ -2667,7 +2743,7 @@ void checkMetricDescriptor(api.MetricDescriptor o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed58(o.labels!); + checkUnnamed59(o.labels!); unittest.expect( o.launchStage!, unittest.equals('foo'), @@ -2677,7 +2753,7 @@ void checkMetricDescriptor(api.MetricDescriptor o) { o.metricKind!, unittest.equals('foo'), ); - checkUnnamed59(o.monitoredResourceTypes!); + checkUnnamed60(o.monitoredResourceTypes!); unittest.expect( o.name!, unittest.equals('foo'), @@ -2698,12 +2774,12 @@ void checkMetricDescriptor(api.MetricDescriptor o) { buildCounterMetricDescriptor--; } -core.List buildUnnamed60() => [ +core.List buildUnnamed61() => [ 'foo', 'foo', ]; -void checkUnnamed60(core.List o) { +void checkUnnamed61(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2723,7 +2799,7 @@ api.MetricDescriptorMetadata buildMetricDescriptorMetadata() { o.ingestDelay = 'foo'; o.launchStage = 'foo'; o.samplePeriod = 'foo'; - o.timeSeriesResourceHierarchyLevel = buildUnnamed60(); + o.timeSeriesResourceHierarchyLevel = buildUnnamed61(); } buildCounterMetricDescriptorMetadata--; return o; @@ -2744,17 +2820,17 @@ void checkMetricDescriptorMetadata(api.MetricDescriptorMetadata o) { o.samplePeriod!, unittest.equals('foo'), ); - checkUnnamed60(o.timeSeriesResourceHierarchyLevel!); + checkUnnamed61(o.timeSeriesResourceHierarchyLevel!); } buildCounterMetricDescriptorMetadata--; } -core.Map buildUnnamed61() => { +core.Map buildUnnamed62() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed61(core.Map o) { +void checkUnnamed62(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2771,7 +2847,7 @@ api.MetricRule buildMetricRule() { final o = api.MetricRule(); buildCounterMetricRule++; if (buildCounterMetricRule < 3) { - o.metricCosts = buildUnnamed61(); + o.metricCosts = buildUnnamed62(); o.selector = 'foo'; } buildCounterMetricRule--; @@ -2781,7 +2857,7 @@ api.MetricRule buildMetricRule() { void checkMetricRule(api.MetricRule o) { buildCounterMetricRule++; if (buildCounterMetricRule < 3) { - checkUnnamed61(o.metricCosts!); + checkUnnamed62(o.metricCosts!); unittest.expect( o.selector!, unittest.equals('foo'), @@ -2817,12 +2893,12 @@ void checkMixin(api.Mixin o) { buildCounterMixin--; } -core.List buildUnnamed62() => [ +core.List buildUnnamed63() => [ buildLabelDescriptor(), buildLabelDescriptor(), ]; -void checkUnnamed62(core.List o) { +void checkUnnamed63(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLabelDescriptor(o[0]); checkLabelDescriptor(o[1]); @@ -2835,7 +2911,7 @@ api.MonitoredResourceDescriptor buildMonitoredResourceDescriptor() { if (buildCounterMonitoredResourceDescriptor < 3) { o.description = 'foo'; o.displayName = 'foo'; - o.labels = buildUnnamed62(); + o.labels = buildUnnamed63(); o.launchStage = 'foo'; o.name = 'foo'; o.type = 'foo'; @@ -2855,7 +2931,7 @@ void checkMonitoredResourceDescriptor(api.MonitoredResourceDescriptor o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed62(o.labels!); + checkUnnamed63(o.labels!); unittest.expect( o.launchStage!, unittest.equals('foo'), @@ -2872,23 +2948,23 @@ void checkMonitoredResourceDescriptor(api.MonitoredResourceDescriptor o) { buildCounterMonitoredResourceDescriptor--; } -core.List buildUnnamed63() => [ +core.List buildUnnamed64() => [ buildMonitoringDestination(), buildMonitoringDestination(), ]; -void checkUnnamed63(core.List o) { +void checkUnnamed64(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMonitoringDestination(o[0]); checkMonitoringDestination(o[1]); } -core.List buildUnnamed64() => [ +core.List buildUnnamed65() => [ buildMonitoringDestination(), buildMonitoringDestination(), ]; -void checkUnnamed64(core.List o) { +void checkUnnamed65(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMonitoringDestination(o[0]); checkMonitoringDestination(o[1]); @@ -2899,8 +2975,8 @@ api.Monitoring buildMonitoring() { final o = api.Monitoring(); buildCounterMonitoring++; if (buildCounterMonitoring < 3) { - o.consumerDestinations = buildUnnamed63(); - o.producerDestinations = buildUnnamed64(); + o.consumerDestinations = buildUnnamed64(); + o.producerDestinations = buildUnnamed65(); } buildCounterMonitoring--; return o; @@ -2909,18 +2985,18 @@ api.Monitoring buildMonitoring() { void checkMonitoring(api.Monitoring o) { buildCounterMonitoring++; if (buildCounterMonitoring < 3) { - checkUnnamed63(o.consumerDestinations!); - checkUnnamed64(o.producerDestinations!); + checkUnnamed64(o.consumerDestinations!); + checkUnnamed65(o.producerDestinations!); } buildCounterMonitoring--; } -core.List buildUnnamed65() => [ +core.List buildUnnamed66() => [ 'foo', 'foo', ]; -void checkUnnamed65(core.List o) { +void checkUnnamed66(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2937,7 +3013,7 @@ api.MonitoringDestination buildMonitoringDestination() { final o = api.MonitoringDestination(); buildCounterMonitoringDestination++; if (buildCounterMonitoringDestination < 3) { - o.metrics = buildUnnamed65(); + o.metrics = buildUnnamed66(); o.monitoredResource = 'foo'; } buildCounterMonitoringDestination--; @@ -2947,7 +3023,7 @@ api.MonitoringDestination buildMonitoringDestination() { void checkMonitoringDestination(api.MonitoringDestination o) { buildCounterMonitoringDestination++; if (buildCounterMonitoringDestination < 3) { - checkUnnamed65(o.metrics!); + checkUnnamed66(o.metrics!); unittest.expect( o.monitoredResource!, unittest.equals('foo'), @@ -2997,7 +3073,7 @@ void checkOAuthRequirements(api.OAuthRequirements o) { buildCounterOAuthRequirements--; } -core.Map buildUnnamed66() => { +core.Map buildUnnamed67() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3010,39 +3086,39 @@ core.Map buildUnnamed66() => { }, }; -void checkUnnamed66(core.Map o) { +void checkUnnamed67(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted5 = (o['x']!) as core.Map; - unittest.expect(casted5, unittest.hasLength(3)); + var casted7 = (o['x']!) as core.Map; + unittest.expect(casted7, unittest.hasLength(3)); unittest.expect( - casted5['list'], + casted7['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted5['bool'], + casted7['bool'], unittest.equals(true), ); unittest.expect( - casted5['string'], + casted7['string'], unittest.equals('foo'), ); - var casted6 = (o['y']!) as core.Map; - unittest.expect(casted6, unittest.hasLength(3)); + var casted8 = (o['y']!) as core.Map; + unittest.expect(casted8, unittest.hasLength(3)); unittest.expect( - casted6['list'], + casted8['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted6['bool'], + casted8['bool'], unittest.equals(true), ); unittest.expect( - casted6['string'], + casted8['string'], unittest.equals('foo'), ); } -core.Map buildUnnamed67() => { +core.Map buildUnnamed68() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3055,34 +3131,34 @@ core.Map buildUnnamed67() => { }, }; -void checkUnnamed67(core.Map o) { +void checkUnnamed68(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted7 = (o['x']!) as core.Map; - unittest.expect(casted7, unittest.hasLength(3)); + var casted9 = (o['x']!) as core.Map; + unittest.expect(casted9, unittest.hasLength(3)); unittest.expect( - casted7['list'], + casted9['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted7['bool'], + casted9['bool'], unittest.equals(true), ); unittest.expect( - casted7['string'], + casted9['string'], unittest.equals('foo'), ); - var casted8 = (o['y']!) as core.Map; - unittest.expect(casted8, unittest.hasLength(3)); + var casted10 = (o['y']!) as core.Map; + unittest.expect(casted10, unittest.hasLength(3)); unittest.expect( - casted8['list'], + casted10['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted8['bool'], + casted10['bool'], unittest.equals(true), ); unittest.expect( - casted8['string'], + casted10['string'], unittest.equals('foo'), ); } @@ -3094,9 +3170,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed66(); + o.metadata = buildUnnamed67(); o.name = 'foo'; - o.response = buildUnnamed67(); + o.response = buildUnnamed68(); } buildCounterOperation--; return o; @@ -3107,17 +3183,17 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed66(o.metadata!); + checkUnnamed67(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed67(o.response!); + checkUnnamed68(o.response!); } buildCounterOperation--; } -core.Map buildUnnamed68() => { +core.Map buildUnnamed69() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3130,34 +3206,34 @@ core.Map buildUnnamed68() => { }, }; -void checkUnnamed68(core.Map o) { +void checkUnnamed69(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted9 = (o['x']!) as core.Map; - unittest.expect(casted9, unittest.hasLength(3)); + var casted11 = (o['x']!) as core.Map; + unittest.expect(casted11, unittest.hasLength(3)); unittest.expect( - casted9['list'], + casted11['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted9['bool'], + casted11['bool'], unittest.equals(true), ); unittest.expect( - casted9['string'], + casted11['string'], unittest.equals('foo'), ); - var casted10 = (o['y']!) as core.Map; - unittest.expect(casted10, unittest.hasLength(3)); + var casted12 = (o['y']!) as core.Map; + unittest.expect(casted12, unittest.hasLength(3)); unittest.expect( - casted10['list'], + casted12['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted10['bool'], + casted12['bool'], unittest.equals(true), ); unittest.expect( - casted10['string'], + casted12['string'], unittest.equals('foo'), ); } @@ -3168,7 +3244,7 @@ api.Option buildOption() { buildCounterOption++; if (buildCounterOption < 3) { o.name = 'foo'; - o.value = buildUnnamed68(); + o.value = buildUnnamed69(); } buildCounterOption--; return o; @@ -3181,17 +3257,17 @@ void checkOption(api.Option o) { o.name!, unittest.equals('foo'), ); - checkUnnamed68(o.value!); + checkUnnamed69(o.value!); } buildCounterOption--; } -core.List buildUnnamed69() => [ +core.List buildUnnamed70() => [ buildPage(), buildPage(), ]; -void checkUnnamed69(core.List o) { +void checkUnnamed70(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPage(o[0]); checkPage(o[1]); @@ -3204,7 +3280,7 @@ api.Page buildPage() { if (buildCounterPage < 3) { o.content = 'foo'; o.name = 'foo'; - o.subpages = buildUnnamed69(); + o.subpages = buildUnnamed70(); } buildCounterPage--; return o; @@ -3221,7 +3297,7 @@ void checkPage(api.Page o) { o.name!, unittest.equals('foo'), ); - checkUnnamed69(o.subpages!); + checkUnnamed70(o.subpages!); } buildCounterPage--; } @@ -3245,23 +3321,23 @@ void checkPhpSettings(api.PhpSettings o) { buildCounterPhpSettings--; } -core.List buildUnnamed70() => [ +core.List buildUnnamed71() => [ buildAuditConfig(), buildAuditConfig(), ]; -void checkUnnamed70(core.List o) { +void checkUnnamed71(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuditConfig(o[0]); checkAuditConfig(o[1]); } -core.List buildUnnamed71() => [ +core.List buildUnnamed72() => [ buildBinding(), buildBinding(), ]; -void checkUnnamed71(core.List o) { +void checkUnnamed72(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBinding(o[0]); checkBinding(o[1]); @@ -3272,8 +3348,8 @@ api.Policy buildPolicy() { final o = api.Policy(); buildCounterPolicy++; if (buildCounterPolicy < 3) { - o.auditConfigs = buildUnnamed70(); - o.bindings = buildUnnamed71(); + o.auditConfigs = buildUnnamed71(); + o.bindings = buildUnnamed72(); o.etag = 'foo'; o.version = 42; } @@ -3284,8 +3360,8 @@ api.Policy buildPolicy() { void checkPolicy(api.Policy o) { buildCounterPolicy++; if (buildCounterPolicy < 3) { - checkUnnamed70(o.auditConfigs!); - checkUnnamed71(o.bindings!); + checkUnnamed71(o.auditConfigs!); + checkUnnamed72(o.bindings!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -3298,12 +3374,12 @@ void checkPolicy(api.Policy o) { buildCounterPolicy--; } -core.List buildUnnamed72() => [ +core.List buildUnnamed73() => [ 'foo', 'foo', ]; -void checkUnnamed72(core.List o) { +void checkUnnamed73(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3315,23 +3391,23 @@ void checkUnnamed72(core.List o) { ); } -core.List buildUnnamed73() => [ +core.List buildUnnamed74() => [ buildClientLibrarySettings(), buildClientLibrarySettings(), ]; -void checkUnnamed73(core.List o) { +void checkUnnamed74(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkClientLibrarySettings(o[0]); checkClientLibrarySettings(o[1]); } -core.List buildUnnamed74() => [ +core.List buildUnnamed75() => [ buildMethodSettings(), buildMethodSettings(), ]; -void checkUnnamed74(core.List o) { +void checkUnnamed75(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMethodSettings(o[0]); checkMethodSettings(o[1]); @@ -3343,12 +3419,12 @@ api.Publishing buildPublishing() { buildCounterPublishing++; if (buildCounterPublishing < 3) { o.apiShortName = 'foo'; - o.codeownerGithubTeams = buildUnnamed72(); + o.codeownerGithubTeams = buildUnnamed73(); o.docTagPrefix = 'foo'; o.documentationUri = 'foo'; o.githubLabel = 'foo'; - o.librarySettings = buildUnnamed73(); - o.methodSettings = buildUnnamed74(); + o.librarySettings = buildUnnamed74(); + o.methodSettings = buildUnnamed75(); o.newIssueUri = 'foo'; o.organization = 'foo'; o.protoReferenceDocumentationUri = 'foo'; @@ -3365,7 +3441,7 @@ void checkPublishing(api.Publishing o) { o.apiShortName!, unittest.equals('foo'), ); - checkUnnamed72(o.codeownerGithubTeams!); + checkUnnamed73(o.codeownerGithubTeams!); unittest.expect( o.docTagPrefix!, unittest.equals('foo'), @@ -3378,8 +3454,8 @@ void checkPublishing(api.Publishing o) { o.githubLabel!, unittest.equals('foo'), ); - checkUnnamed73(o.librarySettings!); - checkUnnamed74(o.methodSettings!); + checkUnnamed74(o.librarySettings!); + checkUnnamed75(o.methodSettings!); unittest.expect( o.newIssueUri!, unittest.equals('foo'), @@ -3421,23 +3497,23 @@ void checkPythonSettings(api.PythonSettings o) { buildCounterPythonSettings--; } -core.List buildUnnamed75() => [ +core.List buildUnnamed76() => [ buildQuotaLimit(), buildQuotaLimit(), ]; -void checkUnnamed75(core.List o) { +void checkUnnamed76(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkQuotaLimit(o[0]); checkQuotaLimit(o[1]); } -core.List buildUnnamed76() => [ +core.List buildUnnamed77() => [ buildMetricRule(), buildMetricRule(), ]; -void checkUnnamed76(core.List o) { +void checkUnnamed77(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMetricRule(o[0]); checkMetricRule(o[1]); @@ -3448,8 +3524,8 @@ api.Quota buildQuota() { final o = api.Quota(); buildCounterQuota++; if (buildCounterQuota < 3) { - o.limits = buildUnnamed75(); - o.metricRules = buildUnnamed76(); + o.limits = buildUnnamed76(); + o.metricRules = buildUnnamed77(); } buildCounterQuota--; return o; @@ -3458,18 +3534,18 @@ api.Quota buildQuota() { void checkQuota(api.Quota o) { buildCounterQuota++; if (buildCounterQuota < 3) { - checkUnnamed75(o.limits!); - checkUnnamed76(o.metricRules!); + checkUnnamed76(o.limits!); + checkUnnamed77(o.metricRules!); } buildCounterQuota--; } -core.Map buildUnnamed77() => { +core.Map buildUnnamed78() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed77(core.Map o) { +void checkUnnamed78(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3495,7 +3571,7 @@ api.QuotaLimit buildQuotaLimit() { o.metric = 'foo'; o.name = 'foo'; o.unit = 'foo'; - o.values = buildUnnamed77(); + o.values = buildUnnamed78(); } buildCounterQuotaLimit--; return o; @@ -3540,7 +3616,7 @@ void checkQuotaLimit(api.QuotaLimit o) { o.unit!, unittest.equals('foo'), ); - checkUnnamed77(o.values!); + checkUnnamed78(o.values!); } buildCounterQuotaLimit--; } @@ -3610,12 +3686,12 @@ void checkRubySettings(api.RubySettings o) { buildCounterRubySettings--; } -core.List buildUnnamed78() => [ +core.List buildUnnamed79() => [ 'foo', 'foo', ]; -void checkUnnamed78(core.List o) { +void checkUnnamed79(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3632,7 +3708,8 @@ api.SelectiveGapicGeneration buildSelectiveGapicGeneration() { final o = api.SelectiveGapicGeneration(); buildCounterSelectiveGapicGeneration++; if (buildCounterSelectiveGapicGeneration < 3) { - o.methods = buildUnnamed78(); + o.generateOmittedAsInternal = true; + o.methods = buildUnnamed79(); } buildCounterSelectiveGapicGeneration--; return o; @@ -3641,94 +3718,106 @@ api.SelectiveGapicGeneration buildSelectiveGapicGeneration() { void checkSelectiveGapicGeneration(api.SelectiveGapicGeneration o) { buildCounterSelectiveGapicGeneration++; if (buildCounterSelectiveGapicGeneration < 3) { - checkUnnamed78(o.methods!); + unittest.expect(o.generateOmittedAsInternal!, unittest.isTrue); + checkUnnamed79(o.methods!); } buildCounterSelectiveGapicGeneration--; } -core.List buildUnnamed79() => [ +core.List buildUnnamed80() => [ buildApi(), buildApi(), ]; -void checkUnnamed79(core.List o) { +void checkUnnamed80(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkApi(o[0]); checkApi(o[1]); } -core.List buildUnnamed80() => [ +core.List buildUnnamed81() => [ + buildAspect(), + buildAspect(), + ]; + +void checkUnnamed81(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAspect(o[0]); + checkAspect(o[1]); +} + +core.List buildUnnamed82() => [ buildEndpoint(), buildEndpoint(), ]; -void checkUnnamed80(core.List o) { +void checkUnnamed82(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEndpoint(o[0]); checkEndpoint(o[1]); } -core.List buildUnnamed81() => [ +core.List buildUnnamed83() => [ buildEnum(), buildEnum(), ]; -void checkUnnamed81(core.List o) { +void checkUnnamed83(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEnum(o[0]); checkEnum(o[1]); } -core.List buildUnnamed82() => [ +core.List buildUnnamed84() => [ buildLogDescriptor(), buildLogDescriptor(), ]; -void checkUnnamed82(core.List o) { +void checkUnnamed84(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLogDescriptor(o[0]); checkLogDescriptor(o[1]); } -core.List buildUnnamed83() => [ +core.List buildUnnamed85() => [ buildMetricDescriptor(), buildMetricDescriptor(), ]; -void checkUnnamed83(core.List o) { +void checkUnnamed85(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMetricDescriptor(o[0]); checkMetricDescriptor(o[1]); } -core.List buildUnnamed84() => [ +core.List buildUnnamed86() => [ buildMonitoredResourceDescriptor(), buildMonitoredResourceDescriptor(), ]; -void checkUnnamed84(core.List o) { +void checkUnnamed86(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMonitoredResourceDescriptor(o[0]); checkMonitoredResourceDescriptor(o[1]); } -core.List buildUnnamed85() => [ +core.List buildUnnamed87() => [ buildType(), buildType(), ]; -void checkUnnamed85(core.List o) { +void checkUnnamed87(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkType(o[0]); checkType(o[1]); } -core.List buildUnnamed86() => [ +core.List buildUnnamed88() => [ buildType(), buildType(), ]; -void checkUnnamed86(core.List o) { +void checkUnnamed88(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkType(o[0]); checkType(o[1]); @@ -3739,7 +3828,8 @@ api.Service buildService() { final o = api.Service(); buildCounterService++; if (buildCounterService < 3) { - o.apis = buildUnnamed79(); + o.apis = buildUnnamed80(); + o.aspects = buildUnnamed81(); o.authentication = buildAuthentication(); o.backend = buildBackend(); o.billing = buildBilling(); @@ -3748,14 +3838,14 @@ api.Service buildService() { o.control = buildControl(); o.customError = buildCustomError(); o.documentation = buildDocumentation(); - o.endpoints = buildUnnamed80(); - o.enums = buildUnnamed81(); + o.endpoints = buildUnnamed82(); + o.enums = buildUnnamed83(); o.http = buildHttp(); o.id = 'foo'; o.logging = buildLogging(); - o.logs = buildUnnamed82(); - o.metrics = buildUnnamed83(); - o.monitoredResources = buildUnnamed84(); + o.logs = buildUnnamed84(); + o.metrics = buildUnnamed85(); + o.monitoredResources = buildUnnamed86(); o.monitoring = buildMonitoring(); o.name = 'foo'; o.producerProjectId = 'foo'; @@ -3763,9 +3853,9 @@ api.Service buildService() { o.quota = buildQuota(); o.sourceInfo = buildSourceInfo(); o.systemParameters = buildSystemParameters(); - o.systemTypes = buildUnnamed85(); + o.systemTypes = buildUnnamed87(); o.title = 'foo'; - o.types = buildUnnamed86(); + o.types = buildUnnamed88(); o.usage = buildUsage(); } buildCounterService--; @@ -3775,7 +3865,8 @@ api.Service buildService() { void checkService(api.Service o) { buildCounterService++; if (buildCounterService < 3) { - checkUnnamed79(o.apis!); + checkUnnamed80(o.apis!); + checkUnnamed81(o.aspects!); checkAuthentication(o.authentication!); checkBackend(o.backend!); checkBilling(o.billing!); @@ -3787,17 +3878,17 @@ void checkService(api.Service o) { checkControl(o.control!); checkCustomError(o.customError!); checkDocumentation(o.documentation!); - checkUnnamed80(o.endpoints!); - checkUnnamed81(o.enums!); + checkUnnamed82(o.endpoints!); + checkUnnamed83(o.enums!); checkHttp(o.http!); unittest.expect( o.id!, unittest.equals('foo'), ); checkLogging(o.logging!); - checkUnnamed82(o.logs!); - checkUnnamed83(o.metrics!); - checkUnnamed84(o.monitoredResources!); + checkUnnamed84(o.logs!); + checkUnnamed85(o.metrics!); + checkUnnamed86(o.monitoredResources!); checkMonitoring(o.monitoring!); unittest.expect( o.name!, @@ -3811,12 +3902,12 @@ void checkService(api.Service o) { checkQuota(o.quota!); checkSourceInfo(o.sourceInfo!); checkSystemParameters(o.systemParameters!); - checkUnnamed85(o.systemTypes!); + checkUnnamed87(o.systemTypes!); unittest.expect( o.title!, unittest.equals('foo'), ); - checkUnnamed86(o.types!); + checkUnnamed88(o.types!); checkUsage(o.usage!); } buildCounterService--; @@ -3868,7 +3959,7 @@ void checkSourceContext(api.SourceContext o) { buildCounterSourceContext--; } -core.Map buildUnnamed87() => { +core.Map buildUnnamed89() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3881,47 +3972,47 @@ core.Map buildUnnamed87() => { }, }; -void checkUnnamed87(core.Map o) { +void checkUnnamed89(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted11 = (o['x']!) as core.Map; - unittest.expect(casted11, unittest.hasLength(3)); + var casted13 = (o['x']!) as core.Map; + unittest.expect(casted13, unittest.hasLength(3)); unittest.expect( - casted11['list'], + casted13['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted11['bool'], + casted13['bool'], unittest.equals(true), ); unittest.expect( - casted11['string'], + casted13['string'], unittest.equals('foo'), ); - var casted12 = (o['y']!) as core.Map; - unittest.expect(casted12, unittest.hasLength(3)); + var casted14 = (o['y']!) as core.Map; + unittest.expect(casted14, unittest.hasLength(3)); unittest.expect( - casted12['list'], + casted14['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted12['bool'], + casted14['bool'], unittest.equals(true), ); unittest.expect( - casted12['string'], + casted14['string'], unittest.equals('foo'), ); } -core.List> buildUnnamed88() => [ - buildUnnamed87(), - buildUnnamed87(), +core.List> buildUnnamed90() => [ + buildUnnamed89(), + buildUnnamed89(), ]; -void checkUnnamed88(core.List> o) { +void checkUnnamed90(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed87(o[0]); - checkUnnamed87(o[1]); + checkUnnamed89(o[0]); + checkUnnamed89(o[1]); } core.int buildCounterSourceInfo = 0; @@ -3929,7 +4020,7 @@ api.SourceInfo buildSourceInfo() { final o = api.SourceInfo(); buildCounterSourceInfo++; if (buildCounterSourceInfo < 3) { - o.sourceFiles = buildUnnamed88(); + o.sourceFiles = buildUnnamed90(); } buildCounterSourceInfo--; return o; @@ -3938,12 +4029,12 @@ api.SourceInfo buildSourceInfo() { void checkSourceInfo(api.SourceInfo o) { buildCounterSourceInfo++; if (buildCounterSourceInfo < 3) { - checkUnnamed88(o.sourceFiles!); + checkUnnamed90(o.sourceFiles!); } buildCounterSourceInfo--; } -core.Map buildUnnamed89() => { +core.Map buildUnnamed91() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3956,47 +4047,47 @@ core.Map buildUnnamed89() => { }, }; -void checkUnnamed89(core.Map o) { +void checkUnnamed91(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted13 = (o['x']!) as core.Map; - unittest.expect(casted13, unittest.hasLength(3)); + var casted15 = (o['x']!) as core.Map; + unittest.expect(casted15, unittest.hasLength(3)); unittest.expect( - casted13['list'], + casted15['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted13['bool'], + casted15['bool'], unittest.equals(true), ); unittest.expect( - casted13['string'], + casted15['string'], unittest.equals('foo'), ); - var casted14 = (o['y']!) as core.Map; - unittest.expect(casted14, unittest.hasLength(3)); + var casted16 = (o['y']!) as core.Map; + unittest.expect(casted16, unittest.hasLength(3)); unittest.expect( - casted14['list'], + casted16['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted14['bool'], + casted16['bool'], unittest.equals(true), ); unittest.expect( - casted14['string'], + casted16['string'], unittest.equals('foo'), ); } -core.List> buildUnnamed90() => [ - buildUnnamed89(), - buildUnnamed89(), +core.List> buildUnnamed92() => [ + buildUnnamed91(), + buildUnnamed91(), ]; -void checkUnnamed90(core.List> o) { +void checkUnnamed92(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed89(o[0]); - checkUnnamed89(o[1]); + checkUnnamed91(o[0]); + checkUnnamed91(o[1]); } core.int buildCounterStatus = 0; @@ -4005,7 +4096,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed90(); + o.details = buildUnnamed92(); o.message = 'foo'; } buildCounterStatus--; @@ -4019,7 +4110,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed90(o.details!); + checkUnnamed92(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -4081,12 +4172,12 @@ void checkSystemParameter(api.SystemParameter o) { buildCounterSystemParameter--; } -core.List buildUnnamed91() => [ +core.List buildUnnamed93() => [ buildSystemParameter(), buildSystemParameter(), ]; -void checkUnnamed91(core.List o) { +void checkUnnamed93(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSystemParameter(o[0]); checkSystemParameter(o[1]); @@ -4097,7 +4188,7 @@ api.SystemParameterRule buildSystemParameterRule() { final o = api.SystemParameterRule(); buildCounterSystemParameterRule++; if (buildCounterSystemParameterRule < 3) { - o.parameters = buildUnnamed91(); + o.parameters = buildUnnamed93(); o.selector = 'foo'; } buildCounterSystemParameterRule--; @@ -4107,7 +4198,7 @@ api.SystemParameterRule buildSystemParameterRule() { void checkSystemParameterRule(api.SystemParameterRule o) { buildCounterSystemParameterRule++; if (buildCounterSystemParameterRule < 3) { - checkUnnamed91(o.parameters!); + checkUnnamed93(o.parameters!); unittest.expect( o.selector!, unittest.equals('foo'), @@ -4116,12 +4207,12 @@ void checkSystemParameterRule(api.SystemParameterRule o) { buildCounterSystemParameterRule--; } -core.List buildUnnamed92() => [ +core.List buildUnnamed94() => [ buildSystemParameterRule(), buildSystemParameterRule(), ]; -void checkUnnamed92(core.List o) { +void checkUnnamed94(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSystemParameterRule(o[0]); checkSystemParameterRule(o[1]); @@ -4132,7 +4223,7 @@ api.SystemParameters buildSystemParameters() { final o = api.SystemParameters(); buildCounterSystemParameters++; if (buildCounterSystemParameters < 3) { - o.rules = buildUnnamed92(); + o.rules = buildUnnamed94(); } buildCounterSystemParameters--; return o; @@ -4141,17 +4232,17 @@ api.SystemParameters buildSystemParameters() { void checkSystemParameters(api.SystemParameters o) { buildCounterSystemParameters++; if (buildCounterSystemParameters < 3) { - checkUnnamed92(o.rules!); + checkUnnamed94(o.rules!); } buildCounterSystemParameters--; } -core.List buildUnnamed93() => [ +core.List buildUnnamed95() => [ 'foo', 'foo', ]; -void checkUnnamed93(core.List o) { +void checkUnnamed95(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4168,7 +4259,7 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { final o = api.TestIamPermissionsRequest(); buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - o.permissions = buildUnnamed93(); + o.permissions = buildUnnamed95(); } buildCounterTestIamPermissionsRequest--; return o; @@ -4177,17 +4268,17 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { void checkTestIamPermissionsRequest(api.TestIamPermissionsRequest o) { buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - checkUnnamed93(o.permissions!); + checkUnnamed95(o.permissions!); } buildCounterTestIamPermissionsRequest--; } -core.List buildUnnamed94() => [ +core.List buildUnnamed96() => [ 'foo', 'foo', ]; -void checkUnnamed94(core.List o) { +void checkUnnamed96(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4204,7 +4295,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { final o = api.TestIamPermissionsResponse(); buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - o.permissions = buildUnnamed94(); + o.permissions = buildUnnamed96(); } buildCounterTestIamPermissionsResponse--; return o; @@ -4213,17 +4304,17 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { void checkTestIamPermissionsResponse(api.TestIamPermissionsResponse o) { buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - checkUnnamed94(o.permissions!); + checkUnnamed96(o.permissions!); } buildCounterTestIamPermissionsResponse--; } -core.Map buildUnnamed95() => { +core.Map buildUnnamed97() => { 'x': 42.0, 'y': 42.0, }; -void checkUnnamed95(core.Map o) { +void checkUnnamed97(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4240,7 +4331,7 @@ api.TrafficPercentStrategy buildTrafficPercentStrategy() { final o = api.TrafficPercentStrategy(); buildCounterTrafficPercentStrategy++; if (buildCounterTrafficPercentStrategy < 3) { - o.percentages = buildUnnamed95(); + o.percentages = buildUnnamed97(); } buildCounterTrafficPercentStrategy--; return o; @@ -4249,28 +4340,28 @@ api.TrafficPercentStrategy buildTrafficPercentStrategy() { void checkTrafficPercentStrategy(api.TrafficPercentStrategy o) { buildCounterTrafficPercentStrategy++; if (buildCounterTrafficPercentStrategy < 3) { - checkUnnamed95(o.percentages!); + checkUnnamed97(o.percentages!); } buildCounterTrafficPercentStrategy--; } -core.List buildUnnamed96() => [ +core.List buildUnnamed98() => [ buildField(), buildField(), ]; -void checkUnnamed96(core.List o) { +void checkUnnamed98(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkField(o[0]); checkField(o[1]); } -core.List buildUnnamed97() => [ +core.List buildUnnamed99() => [ 'foo', 'foo', ]; -void checkUnnamed97(core.List o) { +void checkUnnamed99(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4282,12 +4373,12 @@ void checkUnnamed97(core.List o) { ); } -core.List buildUnnamed98() => [ +core.List buildUnnamed100() => [ buildOption(), buildOption(), ]; -void checkUnnamed98(core.List o) { +void checkUnnamed100(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOption(o[0]); checkOption(o[1]); @@ -4299,10 +4390,10 @@ api.Type buildType() { buildCounterType++; if (buildCounterType < 3) { o.edition = 'foo'; - o.fields = buildUnnamed96(); + o.fields = buildUnnamed98(); o.name = 'foo'; - o.oneofs = buildUnnamed97(); - o.options = buildUnnamed98(); + o.oneofs = buildUnnamed99(); + o.options = buildUnnamed100(); o.sourceContext = buildSourceContext(); o.syntax = 'foo'; } @@ -4317,13 +4408,13 @@ void checkType(api.Type o) { o.edition!, unittest.equals('foo'), ); - checkUnnamed96(o.fields!); + checkUnnamed98(o.fields!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed97(o.oneofs!); - checkUnnamed98(o.options!); + checkUnnamed99(o.oneofs!); + checkUnnamed100(o.options!); checkSourceContext(o.sourceContext!); unittest.expect( o.syntax!, @@ -4333,12 +4424,12 @@ void checkType(api.Type o) { buildCounterType--; } -core.List buildUnnamed99() => [ +core.List buildUnnamed101() => [ 'foo', 'foo', ]; -void checkUnnamed99(core.List o) { +void checkUnnamed101(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4350,12 +4441,12 @@ void checkUnnamed99(core.List o) { ); } -core.List buildUnnamed100() => [ +core.List buildUnnamed102() => [ buildUsageRule(), buildUsageRule(), ]; -void checkUnnamed100(core.List o) { +void checkUnnamed102(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUsageRule(o[0]); checkUsageRule(o[1]); @@ -4367,8 +4458,8 @@ api.Usage buildUsage() { buildCounterUsage++; if (buildCounterUsage < 3) { o.producerNotificationChannel = 'foo'; - o.requirements = buildUnnamed99(); - o.rules = buildUnnamed100(); + o.requirements = buildUnnamed101(); + o.rules = buildUnnamed102(); } buildCounterUsage--; return o; @@ -4381,8 +4472,8 @@ void checkUsage(api.Usage o) { o.producerNotificationChannel!, unittest.equals('foo'), ); - checkUnnamed99(o.requirements!); - checkUnnamed100(o.rules!); + checkUnnamed101(o.requirements!); + checkUnnamed102(o.rules!); } buildCounterUsage--; } @@ -4433,6 +4524,16 @@ void main() { }); }); + unittest.group('obj-schema-Aspect', () { + unittest.test('to-json--from-json', () async { + final o = buildAspect(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Aspect.fromJson(oJson as core.Map); + checkAspect(od); + }); + }); + unittest.group('obj-schema-AuditConfig', () { unittest.test('to-json--from-json', () async { final o = buildAuditConfig(); diff --git a/generated/googleapis/test/spanner/v1_test.dart b/generated/googleapis/test/spanner/v1_test.dart index a253d9285..48145afb3 100644 --- a/generated/googleapis/test/spanner/v1_test.dart +++ b/generated/googleapis/test/spanner/v1_test.dart @@ -26,6 +26,165 @@ import 'package:test/test.dart' as unittest; import '../test_shared.dart'; +core.Map buildUnnamed0() => { + 'x': 'foo', + 'y': 'foo', + }; + +void checkUnnamed0(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o['x']!, + unittest.equals('foo'), + ); + unittest.expect( + o['y']!, + unittest.equals('foo'), + ); +} + +core.int buildCounterAdaptMessageRequest = 0; +api.AdaptMessageRequest buildAdaptMessageRequest() { + final o = api.AdaptMessageRequest(); + buildCounterAdaptMessageRequest++; + if (buildCounterAdaptMessageRequest < 3) { + o.attachments = buildUnnamed0(); + o.payload = 'foo'; + o.protocol = 'foo'; + } + buildCounterAdaptMessageRequest--; + return o; +} + +void checkAdaptMessageRequest(api.AdaptMessageRequest o) { + buildCounterAdaptMessageRequest++; + if (buildCounterAdaptMessageRequest < 3) { + checkUnnamed0(o.attachments!); + unittest.expect( + o.payload!, + unittest.equals('foo'), + ); + unittest.expect( + o.protocol!, + unittest.equals('foo'), + ); + } + buildCounterAdaptMessageRequest--; +} + +core.Map buildUnnamed1() => { + 'x': 'foo', + 'y': 'foo', + }; + +void checkUnnamed1(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o['x']!, + unittest.equals('foo'), + ); + unittest.expect( + o['y']!, + unittest.equals('foo'), + ); +} + +core.int buildCounterAdaptMessageResponse = 0; +api.AdaptMessageResponse buildAdaptMessageResponse() { + final o = api.AdaptMessageResponse(); + buildCounterAdaptMessageResponse++; + if (buildCounterAdaptMessageResponse < 3) { + o.payload = 'foo'; + o.stateUpdates = buildUnnamed1(); + } + buildCounterAdaptMessageResponse--; + return o; +} + +void checkAdaptMessageResponse(api.AdaptMessageResponse o) { + buildCounterAdaptMessageResponse++; + if (buildCounterAdaptMessageResponse < 3) { + unittest.expect( + o.payload!, + unittest.equals('foo'), + ); + checkUnnamed1(o.stateUpdates!); + } + buildCounterAdaptMessageResponse--; +} + +core.int buildCounterAdapterSession = 0; +api.AdapterSession buildAdapterSession() { + final o = api.AdapterSession(); + buildCounterAdapterSession++; + if (buildCounterAdapterSession < 3) { + o.name = 'foo'; + } + buildCounterAdapterSession--; + return o; +} + +void checkAdapterSession(api.AdapterSession o) { + buildCounterAdapterSession++; + if (buildCounterAdapterSession < 3) { + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + } + buildCounterAdapterSession--; +} + +core.List buildUnnamed2() => [ + buildSplitPoints(), + buildSplitPoints(), + ]; + +void checkUnnamed2(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkSplitPoints(o[0]); + checkSplitPoints(o[1]); +} + +core.int buildCounterAddSplitPointsRequest = 0; +api.AddSplitPointsRequest buildAddSplitPointsRequest() { + final o = api.AddSplitPointsRequest(); + buildCounterAddSplitPointsRequest++; + if (buildCounterAddSplitPointsRequest < 3) { + o.initiator = 'foo'; + o.splitPoints = buildUnnamed2(); + } + buildCounterAddSplitPointsRequest--; + return o; +} + +void checkAddSplitPointsRequest(api.AddSplitPointsRequest o) { + buildCounterAddSplitPointsRequest++; + if (buildCounterAddSplitPointsRequest < 3) { + unittest.expect( + o.initiator!, + unittest.equals('foo'), + ); + checkUnnamed2(o.splitPoints!); + } + buildCounterAddSplitPointsRequest--; +} + +core.int buildCounterAddSplitPointsResponse = 0; +api.AddSplitPointsResponse buildAddSplitPointsResponse() { + final o = api.AddSplitPointsResponse(); + buildCounterAddSplitPointsResponse++; + if (buildCounterAddSplitPointsResponse < 3) {} + buildCounterAddSplitPointsResponse--; + return o; +} + +void checkAddSplitPointsResponse(api.AddSplitPointsResponse o) { + buildCounterAddSplitPointsResponse++; + if (buildCounterAddSplitPointsResponse < 3) {} + buildCounterAddSplitPointsResponse--; +} + core.int buildCounterAsymmetricAutoscalingOption = 0; api.AsymmetricAutoscalingOption buildAsymmetricAutoscalingOption() { final o = api.AsymmetricAutoscalingOption(); @@ -47,12 +206,12 @@ void checkAsymmetricAutoscalingOption(api.AsymmetricAutoscalingOption o) { buildCounterAsymmetricAutoscalingOption--; } -core.List buildUnnamed0() => [ +core.List buildUnnamed3() => [ buildAsymmetricAutoscalingOption(), buildAsymmetricAutoscalingOption(), ]; -void checkUnnamed0(core.List o) { +void checkUnnamed3(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAsymmetricAutoscalingOption(o[0]); checkAsymmetricAutoscalingOption(o[1]); @@ -63,7 +222,7 @@ api.AutoscalingConfig buildAutoscalingConfig() { final o = api.AutoscalingConfig(); buildCounterAutoscalingConfig++; if (buildCounterAutoscalingConfig < 3) { - o.asymmetricAutoscalingOptions = buildUnnamed0(); + o.asymmetricAutoscalingOptions = buildUnnamed3(); o.autoscalingLimits = buildAutoscalingLimits(); o.autoscalingTargets = buildAutoscalingTargets(); } @@ -74,7 +233,7 @@ api.AutoscalingConfig buildAutoscalingConfig() { void checkAutoscalingConfig(api.AutoscalingConfig o) { buildCounterAutoscalingConfig++; if (buildCounterAutoscalingConfig < 3) { - checkUnnamed0(o.asymmetricAutoscalingOptions!); + checkUnnamed3(o.asymmetricAutoscalingOptions!); checkAutoscalingLimits(o.autoscalingLimits!); checkAutoscalingTargets(o.autoscalingTargets!); } @@ -169,12 +328,12 @@ void checkAutoscalingTargets(api.AutoscalingTargets o) { buildCounterAutoscalingTargets--; } -core.List buildUnnamed1() => [ +core.List buildUnnamed4() => [ 'foo', 'foo', ]; -void checkUnnamed1(core.List o) { +void checkUnnamed4(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -186,23 +345,34 @@ void checkUnnamed1(core.List o) { ); } -core.List buildUnnamed2() => [ +core.List buildUnnamed5() => [ buildEncryptionInfo(), buildEncryptionInfo(), ]; -void checkUnnamed2(core.List o) { +void checkUnnamed5(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEncryptionInfo(o[0]); checkEncryptionInfo(o[1]); } -core.List buildUnnamed3() => [ +core.List buildUnnamed6() => [ + buildBackupInstancePartition(), + buildBackupInstancePartition(), + ]; + +void checkUnnamed6(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkBackupInstancePartition(o[0]); + checkBackupInstancePartition(o[1]); +} + +core.List buildUnnamed7() => [ 'foo', 'foo', ]; -void checkUnnamed3(core.List o) { +void checkUnnamed7(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -214,12 +384,12 @@ void checkUnnamed3(core.List o) { ); } -core.List buildUnnamed4() => [ +core.List buildUnnamed8() => [ 'foo', 'foo', ]; -void checkUnnamed4(core.List o) { +void checkUnnamed8(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -236,21 +406,22 @@ api.Backup buildBackup() { final o = api.Backup(); buildCounterBackup++; if (buildCounterBackup < 3) { - o.backupSchedules = buildUnnamed1(); + o.backupSchedules = buildUnnamed4(); o.createTime = 'foo'; o.database = 'foo'; o.databaseDialect = 'foo'; o.encryptionInfo = buildEncryptionInfo(); - o.encryptionInformation = buildUnnamed2(); + o.encryptionInformation = buildUnnamed5(); o.exclusiveSizeBytes = 'foo'; o.expireTime = 'foo'; o.freeableSizeBytes = 'foo'; o.incrementalBackupChainId = 'foo'; + o.instancePartitions = buildUnnamed6(); o.maxExpireTime = 'foo'; o.name = 'foo'; o.oldestVersionTime = 'foo'; - o.referencingBackups = buildUnnamed3(); - o.referencingDatabases = buildUnnamed4(); + o.referencingBackups = buildUnnamed7(); + o.referencingDatabases = buildUnnamed8(); o.sizeBytes = 'foo'; o.state = 'foo'; o.versionTime = 'foo'; @@ -262,7 +433,7 @@ api.Backup buildBackup() { void checkBackup(api.Backup o) { buildCounterBackup++; if (buildCounterBackup < 3) { - checkUnnamed1(o.backupSchedules!); + checkUnnamed4(o.backupSchedules!); unittest.expect( o.createTime!, unittest.equals('foo'), @@ -276,7 +447,7 @@ void checkBackup(api.Backup o) { unittest.equals('foo'), ); checkEncryptionInfo(o.encryptionInfo!); - checkUnnamed2(o.encryptionInformation!); + checkUnnamed5(o.encryptionInformation!); unittest.expect( o.exclusiveSizeBytes!, unittest.equals('foo'), @@ -293,6 +464,7 @@ void checkBackup(api.Backup o) { o.incrementalBackupChainId!, unittest.equals('foo'), ); + checkUnnamed6(o.instancePartitions!); unittest.expect( o.maxExpireTime!, unittest.equals('foo'), @@ -305,8 +477,8 @@ void checkBackup(api.Backup o) { o.oldestVersionTime!, unittest.equals('foo'), ); - checkUnnamed3(o.referencingBackups!); - checkUnnamed4(o.referencingDatabases!); + checkUnnamed7(o.referencingBackups!); + checkUnnamed8(o.referencingDatabases!); unittest.expect( o.sizeBytes!, unittest.equals('foo'), @@ -360,6 +532,28 @@ void checkBackupInfo(api.BackupInfo o) { buildCounterBackupInfo--; } +core.int buildCounterBackupInstancePartition = 0; +api.BackupInstancePartition buildBackupInstancePartition() { + final o = api.BackupInstancePartition(); + buildCounterBackupInstancePartition++; + if (buildCounterBackupInstancePartition < 3) { + o.instancePartition = 'foo'; + } + buildCounterBackupInstancePartition--; + return o; +} + +void checkBackupInstancePartition(api.BackupInstancePartition o) { + buildCounterBackupInstancePartition++; + if (buildCounterBackupInstancePartition < 3) { + unittest.expect( + o.instancePartition!, + unittest.equals('foo'), + ); + } + buildCounterBackupInstancePartition--; +} + core.int buildCounterBackupSchedule = 0; api.BackupSchedule buildBackupSchedule() { final o = api.BackupSchedule(); @@ -443,12 +637,12 @@ void checkBatchCreateSessionsRequest(api.BatchCreateSessionsRequest o) { buildCounterBatchCreateSessionsRequest--; } -core.List buildUnnamed5() => [ +core.List buildUnnamed9() => [ buildSession(), buildSession(), ]; -void checkUnnamed5(core.List o) { +void checkUnnamed9(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSession(o[0]); checkSession(o[1]); @@ -459,7 +653,7 @@ api.BatchCreateSessionsResponse buildBatchCreateSessionsResponse() { final o = api.BatchCreateSessionsResponse(); buildCounterBatchCreateSessionsResponse++; if (buildCounterBatchCreateSessionsResponse < 3) { - o.session = buildUnnamed5(); + o.session = buildUnnamed9(); } buildCounterBatchCreateSessionsResponse--; return o; @@ -468,17 +662,17 @@ api.BatchCreateSessionsResponse buildBatchCreateSessionsResponse() { void checkBatchCreateSessionsResponse(api.BatchCreateSessionsResponse o) { buildCounterBatchCreateSessionsResponse++; if (buildCounterBatchCreateSessionsResponse < 3) { - checkUnnamed5(o.session!); + checkUnnamed9(o.session!); } buildCounterBatchCreateSessionsResponse--; } -core.List buildUnnamed6() => [ +core.List buildUnnamed10() => [ buildMutationGroup(), buildMutationGroup(), ]; -void checkUnnamed6(core.List o) { +void checkUnnamed10(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMutationGroup(o[0]); checkMutationGroup(o[1]); @@ -490,7 +684,7 @@ api.BatchWriteRequest buildBatchWriteRequest() { buildCounterBatchWriteRequest++; if (buildCounterBatchWriteRequest < 3) { o.excludeTxnFromChangeStreams = true; - o.mutationGroups = buildUnnamed6(); + o.mutationGroups = buildUnnamed10(); o.requestOptions = buildRequestOptions(); } buildCounterBatchWriteRequest--; @@ -501,18 +695,18 @@ void checkBatchWriteRequest(api.BatchWriteRequest o) { buildCounterBatchWriteRequest++; if (buildCounterBatchWriteRequest < 3) { unittest.expect(o.excludeTxnFromChangeStreams!, unittest.isTrue); - checkUnnamed6(o.mutationGroups!); + checkUnnamed10(o.mutationGroups!); checkRequestOptions(o.requestOptions!); } buildCounterBatchWriteRequest--; } -core.List buildUnnamed7() => [ +core.List buildUnnamed11() => [ 42, 42, ]; -void checkUnnamed7(core.List o) { +void checkUnnamed11(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -530,7 +724,7 @@ api.BatchWriteResponse buildBatchWriteResponse() { buildCounterBatchWriteResponse++; if (buildCounterBatchWriteResponse < 3) { o.commitTimestamp = 'foo'; - o.indexes = buildUnnamed7(); + o.indexes = buildUnnamed11(); o.status = buildStatus(); } buildCounterBatchWriteResponse--; @@ -544,7 +738,7 @@ void checkBatchWriteResponse(api.BatchWriteResponse o) { o.commitTimestamp!, unittest.equals('foo'), ); - checkUnnamed7(o.indexes!); + checkUnnamed11(o.indexes!); checkStatus(o.status!); } buildCounterBatchWriteResponse--; @@ -573,12 +767,12 @@ void checkBeginTransactionRequest(api.BeginTransactionRequest o) { buildCounterBeginTransactionRequest--; } -core.List buildUnnamed8() => [ +core.List buildUnnamed12() => [ 'foo', 'foo', ]; -void checkUnnamed8(core.List o) { +void checkUnnamed12(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -596,7 +790,7 @@ api.Binding buildBinding() { buildCounterBinding++; if (buildCounterBinding < 3) { o.condition = buildExpr(); - o.members = buildUnnamed8(); + o.members = buildUnnamed12(); o.role = 'foo'; } buildCounterBinding--; @@ -607,7 +801,7 @@ void checkBinding(api.Binding o) { buildCounterBinding++; if (buildCounterBinding < 3) { checkExpr(o.condition!); - checkUnnamed8(o.members!); + checkUnnamed12(o.members!); unittest.expect( o.role!, unittest.equals('foo'), @@ -677,12 +871,12 @@ void checkChildLink(api.ChildLink o) { buildCounterChildLink--; } -core.List buildUnnamed9() => [ +core.List buildUnnamed13() => [ buildMutation(), buildMutation(), ]; -void checkUnnamed9(core.List o) { +void checkUnnamed13(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMutation(o[0]); checkMutation(o[1]); @@ -694,7 +888,7 @@ api.CommitRequest buildCommitRequest() { buildCounterCommitRequest++; if (buildCounterCommitRequest < 3) { o.maxCommitDelay = 'foo'; - o.mutations = buildUnnamed9(); + o.mutations = buildUnnamed13(); o.precommitToken = buildMultiplexedSessionPrecommitToken(); o.requestOptions = buildRequestOptions(); o.returnCommitStats = true; @@ -712,7 +906,7 @@ void checkCommitRequest(api.CommitRequest o) { o.maxCommitDelay!, unittest.equals('foo'), ); - checkUnnamed9(o.mutations!); + checkUnnamed13(o.mutations!); checkMultiplexedSessionPrecommitToken(o.precommitToken!); checkRequestOptions(o.requestOptions!); unittest.expect(o.returnCommitStats!, unittest.isTrue); @@ -807,12 +1001,12 @@ void checkContextValue(api.ContextValue o) { buildCounterContextValue--; } -core.List buildUnnamed10() => [ +core.List buildUnnamed14() => [ 'foo', 'foo', ]; -void checkUnnamed10(core.List o) { +void checkUnnamed14(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -831,7 +1025,7 @@ api.CopyBackupEncryptionConfig buildCopyBackupEncryptionConfig() { if (buildCounterCopyBackupEncryptionConfig < 3) { o.encryptionType = 'foo'; o.kmsKeyName = 'foo'; - o.kmsKeyNames = buildUnnamed10(); + o.kmsKeyNames = buildUnnamed14(); } buildCounterCopyBackupEncryptionConfig--; return o; @@ -848,7 +1042,7 @@ void checkCopyBackupEncryptionConfig(api.CopyBackupEncryptionConfig o) { o.kmsKeyName!, unittest.equals('foo'), ); - checkUnnamed10(o.kmsKeyNames!); + checkUnnamed14(o.kmsKeyNames!); } buildCounterCopyBackupEncryptionConfig--; } @@ -887,12 +1081,12 @@ void checkCopyBackupRequest(api.CopyBackupRequest o) { buildCounterCopyBackupRequest--; } -core.List buildUnnamed11() => [ +core.List buildUnnamed15() => [ 'foo', 'foo', ]; -void checkUnnamed11(core.List o) { +void checkUnnamed15(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -911,7 +1105,7 @@ api.CreateBackupEncryptionConfig buildCreateBackupEncryptionConfig() { if (buildCounterCreateBackupEncryptionConfig < 3) { o.encryptionType = 'foo'; o.kmsKeyName = 'foo'; - o.kmsKeyNames = buildUnnamed11(); + o.kmsKeyNames = buildUnnamed15(); } buildCounterCreateBackupEncryptionConfig--; return o; @@ -928,17 +1122,17 @@ void checkCreateBackupEncryptionConfig(api.CreateBackupEncryptionConfig o) { o.kmsKeyName!, unittest.equals('foo'), ); - checkUnnamed11(o.kmsKeyNames!); + checkUnnamed15(o.kmsKeyNames!); } buildCounterCreateBackupEncryptionConfig--; } -core.List buildUnnamed12() => [ +core.List buildUnnamed16() => [ 'foo', 'foo', ]; -void checkUnnamed12(core.List o) { +void checkUnnamed16(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -958,7 +1152,7 @@ api.CreateDatabaseRequest buildCreateDatabaseRequest() { o.createStatement = 'foo'; o.databaseDialect = 'foo'; o.encryptionConfig = buildEncryptionConfig(); - o.extraStatements = buildUnnamed12(); + o.extraStatements = buildUnnamed16(); o.protoDescriptors = 'foo'; } buildCounterCreateDatabaseRequest--; @@ -977,7 +1171,7 @@ void checkCreateDatabaseRequest(api.CreateDatabaseRequest o) { unittest.equals('foo'), ); checkEncryptionConfig(o.encryptionConfig!); - checkUnnamed12(o.extraStatements!); + checkUnnamed16(o.extraStatements!); unittest.expect( o.protoDescriptors!, unittest.equals('foo'), @@ -1111,12 +1305,12 @@ void checkCrontabSpec(api.CrontabSpec o) { buildCounterCrontabSpec--; } -core.List buildUnnamed13() => [ +core.List buildUnnamed17() => [ buildEncryptionInfo(), buildEncryptionInfo(), ]; -void checkUnnamed13(core.List o) { +void checkUnnamed17(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEncryptionInfo(o[0]); checkEncryptionInfo(o[1]); @@ -1133,7 +1327,7 @@ api.Database buildDatabase() { o.earliestVersionTime = 'foo'; o.enableDropProtection = true; o.encryptionConfig = buildEncryptionConfig(); - o.encryptionInfo = buildUnnamed13(); + o.encryptionInfo = buildUnnamed17(); o.name = 'foo'; o.quorumInfo = buildQuorumInfo(); o.reconciling = true; @@ -1166,7 +1360,7 @@ void checkDatabase(api.Database o) { ); unittest.expect(o.enableDropProtection!, unittest.isTrue); checkEncryptionConfig(o.encryptionConfig!); - checkUnnamed13(o.encryptionInfo!); + checkUnnamed17(o.encryptionInfo!); unittest.expect( o.name!, unittest.equals('foo'), @@ -1334,12 +1528,12 @@ void checkEmpty(api.Empty o) { buildCounterEmpty--; } -core.List buildUnnamed14() => [ +core.List buildUnnamed18() => [ 'foo', 'foo', ]; -void checkUnnamed14(core.List o) { +void checkUnnamed18(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1357,7 +1551,7 @@ api.EncryptionConfig buildEncryptionConfig() { buildCounterEncryptionConfig++; if (buildCounterEncryptionConfig < 3) { o.kmsKeyName = 'foo'; - o.kmsKeyNames = buildUnnamed14(); + o.kmsKeyNames = buildUnnamed18(); } buildCounterEncryptionConfig--; return o; @@ -1370,7 +1564,7 @@ void checkEncryptionConfig(api.EncryptionConfig o) { o.kmsKeyName!, unittest.equals('foo'), ); - checkUnnamed14(o.kmsKeyNames!); + checkUnnamed18(o.kmsKeyNames!); } buildCounterEncryptionConfig--; } @@ -1404,12 +1598,12 @@ void checkEncryptionInfo(api.EncryptionInfo o) { buildCounterEncryptionInfo--; } -core.List buildUnnamed15() => [ +core.List buildUnnamed19() => [ buildReplicaSelection(), buildReplicaSelection(), ]; -void checkUnnamed15(core.List o) { +void checkUnnamed19(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReplicaSelection(o[0]); checkReplicaSelection(o[1]); @@ -1420,7 +1614,7 @@ api.ExcludeReplicas buildExcludeReplicas() { final o = api.ExcludeReplicas(); buildCounterExcludeReplicas++; if (buildCounterExcludeReplicas < 3) { - o.replicaSelections = buildUnnamed15(); + o.replicaSelections = buildUnnamed19(); } buildCounterExcludeReplicas--; return o; @@ -1429,17 +1623,17 @@ api.ExcludeReplicas buildExcludeReplicas() { void checkExcludeReplicas(api.ExcludeReplicas o) { buildCounterExcludeReplicas++; if (buildCounterExcludeReplicas < 3) { - checkUnnamed15(o.replicaSelections!); + checkUnnamed19(o.replicaSelections!); } buildCounterExcludeReplicas--; } -core.List buildUnnamed16() => [ +core.List buildUnnamed20() => [ buildStatement(), buildStatement(), ]; -void checkUnnamed16(core.List o) { +void checkUnnamed20(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStatement(o[0]); checkStatement(o[1]); @@ -1450,9 +1644,10 @@ api.ExecuteBatchDmlRequest buildExecuteBatchDmlRequest() { final o = api.ExecuteBatchDmlRequest(); buildCounterExecuteBatchDmlRequest++; if (buildCounterExecuteBatchDmlRequest < 3) { + o.lastStatements = true; o.requestOptions = buildRequestOptions(); o.seqno = 'foo'; - o.statements = buildUnnamed16(); + o.statements = buildUnnamed20(); o.transaction = buildTransactionSelector(); } buildCounterExecuteBatchDmlRequest--; @@ -1462,23 +1657,24 @@ api.ExecuteBatchDmlRequest buildExecuteBatchDmlRequest() { void checkExecuteBatchDmlRequest(api.ExecuteBatchDmlRequest o) { buildCounterExecuteBatchDmlRequest++; if (buildCounterExecuteBatchDmlRequest < 3) { + unittest.expect(o.lastStatements!, unittest.isTrue); checkRequestOptions(o.requestOptions!); unittest.expect( o.seqno!, unittest.equals('foo'), ); - checkUnnamed16(o.statements!); + checkUnnamed20(o.statements!); checkTransactionSelector(o.transaction!); } buildCounterExecuteBatchDmlRequest--; } -core.List buildUnnamed17() => [ +core.List buildUnnamed21() => [ buildResultSet(), buildResultSet(), ]; -void checkUnnamed17(core.List o) { +void checkUnnamed21(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkResultSet(o[0]); checkResultSet(o[1]); @@ -1490,7 +1686,7 @@ api.ExecuteBatchDmlResponse buildExecuteBatchDmlResponse() { buildCounterExecuteBatchDmlResponse++; if (buildCounterExecuteBatchDmlResponse < 3) { o.precommitToken = buildMultiplexedSessionPrecommitToken(); - o.resultSets = buildUnnamed17(); + o.resultSets = buildUnnamed21(); o.status = buildStatus(); } buildCounterExecuteBatchDmlResponse--; @@ -1501,24 +1697,24 @@ void checkExecuteBatchDmlResponse(api.ExecuteBatchDmlResponse o) { buildCounterExecuteBatchDmlResponse++; if (buildCounterExecuteBatchDmlResponse < 3) { checkMultiplexedSessionPrecommitToken(o.precommitToken!); - checkUnnamed17(o.resultSets!); + checkUnnamed21(o.resultSets!); checkStatus(o.status!); } buildCounterExecuteBatchDmlResponse--; } -core.Map buildUnnamed18() => { +core.Map buildUnnamed22() => { 'x': buildType(), 'y': buildType(), }; -void checkUnnamed18(core.Map o) { +void checkUnnamed22(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkType(o['x']!); checkType(o['y']!); } -core.Map buildUnnamed19() => { +core.Map buildUnnamed23() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1531,7 +1727,7 @@ core.Map buildUnnamed19() => { }, }; -void checkUnnamed19(core.Map o) { +void checkUnnamed23(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -1570,8 +1766,9 @@ api.ExecuteSqlRequest buildExecuteSqlRequest() { if (buildCounterExecuteSqlRequest < 3) { o.dataBoostEnabled = true; o.directedReadOptions = buildDirectedReadOptions(); - o.paramTypes = buildUnnamed18(); - o.params = buildUnnamed19(); + o.lastStatement = true; + o.paramTypes = buildUnnamed22(); + o.params = buildUnnamed23(); o.partitionToken = 'foo'; o.queryMode = 'foo'; o.queryOptions = buildQueryOptions(); @@ -1590,8 +1787,9 @@ void checkExecuteSqlRequest(api.ExecuteSqlRequest o) { if (buildCounterExecuteSqlRequest < 3) { unittest.expect(o.dataBoostEnabled!, unittest.isTrue); checkDirectedReadOptions(o.directedReadOptions!); - checkUnnamed18(o.paramTypes!); - checkUnnamed19(o.params!); + unittest.expect(o.lastStatement!, unittest.isTrue); + checkUnnamed22(o.paramTypes!); + checkUnnamed23(o.params!); unittest.expect( o.partitionToken!, unittest.equals('foo'), @@ -1727,12 +1925,12 @@ void checkFullBackupSpec(api.FullBackupSpec o) { buildCounterFullBackupSpec--; } -core.List buildUnnamed20() => [ +core.List buildUnnamed24() => [ 'foo', 'foo', ]; -void checkUnnamed20(core.List o) { +void checkUnnamed24(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1750,7 +1948,7 @@ api.GetDatabaseDdlResponse buildGetDatabaseDdlResponse() { buildCounterGetDatabaseDdlResponse++; if (buildCounterGetDatabaseDdlResponse < 3) { o.protoDescriptors = 'foo'; - o.statements = buildUnnamed20(); + o.statements = buildUnnamed24(); } buildCounterGetDatabaseDdlResponse--; return o; @@ -1763,7 +1961,7 @@ void checkGetDatabaseDdlResponse(api.GetDatabaseDdlResponse o) { o.protoDescriptors!, unittest.equals('foo'), ); - checkUnnamed20(o.statements!); + checkUnnamed24(o.statements!); } buildCounterGetDatabaseDdlResponse--; } @@ -1809,12 +2007,12 @@ void checkGetPolicyOptions(api.GetPolicyOptions o) { buildCounterGetPolicyOptions--; } -core.List buildUnnamed21() => [ +core.List buildUnnamed25() => [ buildReplicaSelection(), buildReplicaSelection(), ]; -void checkUnnamed21(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReplicaSelection(o[0]); checkReplicaSelection(o[1]); @@ -1826,7 +2024,7 @@ api.IncludeReplicas buildIncludeReplicas() { buildCounterIncludeReplicas++; if (buildCounterIncludeReplicas < 3) { o.autoFailoverDisabled = true; - o.replicaSelections = buildUnnamed21(); + o.replicaSelections = buildUnnamed25(); } buildCounterIncludeReplicas--; return o; @@ -1836,7 +2034,7 @@ void checkIncludeReplicas(api.IncludeReplicas o) { buildCounterIncludeReplicas++; if (buildCounterIncludeReplicas < 3) { unittest.expect(o.autoFailoverDisabled!, unittest.isTrue); - checkUnnamed21(o.replicaSelections!); + checkUnnamed25(o.replicaSelections!); } buildCounterIncludeReplicas--; } @@ -1856,12 +2054,12 @@ void checkIncrementalBackupSpec(api.IncrementalBackupSpec o) { buildCounterIncrementalBackupSpec--; } -core.List buildUnnamed22() => [ +core.List buildUnnamed26() => [ 'foo', 'foo', ]; -void checkUnnamed22(core.List o) { +void checkUnnamed26(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1878,7 +2076,7 @@ api.IndexAdvice buildIndexAdvice() { final o = api.IndexAdvice(); buildCounterIndexAdvice++; if (buildCounterIndexAdvice < 3) { - o.ddl = buildUnnamed22(); + o.ddl = buildUnnamed26(); o.improvementFactor = 42.0; } buildCounterIndexAdvice--; @@ -1888,7 +2086,7 @@ api.IndexAdvice buildIndexAdvice() { void checkIndexAdvice(api.IndexAdvice o) { buildCounterIndexAdvice++; if (buildCounterIndexAdvice < 3) { - checkUnnamed22(o.ddl!); + checkUnnamed26(o.ddl!); unittest.expect( o.improvementFactor!, unittest.equals(42.0), @@ -1897,12 +2095,12 @@ void checkIndexAdvice(api.IndexAdvice o) { buildCounterIndexAdvice--; } -core.Map buildUnnamed23() => { +core.Map buildUnnamed27() => { 'x': 42, 'y': 42, }; -void checkUnnamed23(core.Map o) { +void checkUnnamed27(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1919,7 +2117,7 @@ api.IndexedHotKey buildIndexedHotKey() { final o = api.IndexedHotKey(); buildCounterIndexedHotKey++; if (buildCounterIndexedHotKey < 3) { - o.sparseHotKeys = buildUnnamed23(); + o.sparseHotKeys = buildUnnamed27(); } buildCounterIndexedHotKey--; return o; @@ -1928,17 +2126,17 @@ api.IndexedHotKey buildIndexedHotKey() { void checkIndexedHotKey(api.IndexedHotKey o) { buildCounterIndexedHotKey++; if (buildCounterIndexedHotKey < 3) { - checkUnnamed23(o.sparseHotKeys!); + checkUnnamed27(o.sparseHotKeys!); } buildCounterIndexedHotKey--; } -core.Map buildUnnamed24() => { +core.Map buildUnnamed28() => { 'x': buildKeyRangeInfos(), 'y': buildKeyRangeInfos(), }; -void checkUnnamed24(core.Map o) { +void checkUnnamed28(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkKeyRangeInfos(o['x']!); checkKeyRangeInfos(o['y']!); @@ -1949,7 +2147,7 @@ api.IndexedKeyRangeInfos buildIndexedKeyRangeInfos() { final o = api.IndexedKeyRangeInfos(); buildCounterIndexedKeyRangeInfos++; if (buildCounterIndexedKeyRangeInfos < 3) { - o.keyRangeInfos = buildUnnamed24(); + o.keyRangeInfos = buildUnnamed28(); } buildCounterIndexedKeyRangeInfos--; return o; @@ -1958,17 +2156,17 @@ api.IndexedKeyRangeInfos buildIndexedKeyRangeInfos() { void checkIndexedKeyRangeInfos(api.IndexedKeyRangeInfos o) { buildCounterIndexedKeyRangeInfos++; if (buildCounterIndexedKeyRangeInfos < 3) { - checkUnnamed24(o.keyRangeInfos!); + checkUnnamed28(o.keyRangeInfos!); } buildCounterIndexedKeyRangeInfos--; } -core.List buildUnnamed25() => [ +core.List buildUnnamed29() => [ 'foo', 'foo', ]; -void checkUnnamed25(core.List o) { +void checkUnnamed29(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1980,12 +2178,12 @@ void checkUnnamed25(core.List o) { ); } -core.Map buildUnnamed26() => { +core.Map buildUnnamed30() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed26(core.Map o) { +void checkUnnamed30(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1997,12 +2195,12 @@ void checkUnnamed26(core.Map o) { ); } -core.List buildUnnamed27() => [ +core.List buildUnnamed31() => [ buildReplicaComputeCapacity(), buildReplicaComputeCapacity(), ]; -void checkUnnamed27(core.List o) { +void checkUnnamed31(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReplicaComputeCapacity(o[0]); checkReplicaComputeCapacity(o[1]); @@ -2019,14 +2217,14 @@ api.Instance buildInstance() { o.defaultBackupScheduleType = 'foo'; o.displayName = 'foo'; o.edition = 'foo'; - o.endpointUris = buildUnnamed25(); + o.endpointUris = buildUnnamed29(); o.freeInstanceMetadata = buildFreeInstanceMetadata(); o.instanceType = 'foo'; - o.labels = buildUnnamed26(); + o.labels = buildUnnamed30(); o.name = 'foo'; o.nodeCount = 42; o.processingUnits = 42; - o.replicaComputeCapacity = buildUnnamed27(); + o.replicaComputeCapacity = buildUnnamed31(); o.state = 'foo'; o.updateTime = 'foo'; } @@ -2058,13 +2256,13 @@ void checkInstance(api.Instance o) { o.edition!, unittest.equals('foo'), ); - checkUnnamed25(o.endpointUris!); + checkUnnamed29(o.endpointUris!); checkFreeInstanceMetadata(o.freeInstanceMetadata!); unittest.expect( o.instanceType!, unittest.equals('foo'), ); - checkUnnamed26(o.labels!); + checkUnnamed30(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), @@ -2077,7 +2275,7 @@ void checkInstance(api.Instance o) { o.processingUnits!, unittest.equals(42), ); - checkUnnamed27(o.replicaComputeCapacity!); + checkUnnamed31(o.replicaComputeCapacity!); unittest.expect( o.state!, unittest.equals('foo'), @@ -2090,12 +2288,12 @@ void checkInstance(api.Instance o) { buildCounterInstance--; } -core.Map buildUnnamed28() => { +core.Map buildUnnamed32() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed28(core.Map o) { +void checkUnnamed32(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2107,12 +2305,12 @@ void checkUnnamed28(core.Map o) { ); } -core.List buildUnnamed29() => [ +core.List buildUnnamed33() => [ 'foo', 'foo', ]; -void checkUnnamed29(core.List o) { +void checkUnnamed33(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2124,23 +2322,23 @@ void checkUnnamed29(core.List o) { ); } -core.List buildUnnamed30() => [ +core.List buildUnnamed34() => [ buildReplicaInfo(), buildReplicaInfo(), ]; -void checkUnnamed30(core.List o) { +void checkUnnamed34(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReplicaInfo(o[0]); checkReplicaInfo(o[1]); } -core.List buildUnnamed31() => [ +core.List buildUnnamed35() => [ buildReplicaInfo(), buildReplicaInfo(), ]; -void checkUnnamed31(core.List o) { +void checkUnnamed35(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkReplicaInfo(o[0]); checkReplicaInfo(o[1]); @@ -2156,13 +2354,13 @@ api.InstanceConfig buildInstanceConfig() { o.displayName = 'foo'; o.etag = 'foo'; o.freeInstanceAvailability = 'foo'; - o.labels = buildUnnamed28(); - o.leaderOptions = buildUnnamed29(); + o.labels = buildUnnamed32(); + o.leaderOptions = buildUnnamed33(); o.name = 'foo'; - o.optionalReplicas = buildUnnamed30(); + o.optionalReplicas = buildUnnamed34(); o.quorumType = 'foo'; o.reconciling = true; - o.replicas = buildUnnamed31(); + o.replicas = buildUnnamed35(); o.state = 'foo'; o.storageLimitPerProcessingUnit = 'foo'; } @@ -2193,19 +2391,19 @@ void checkInstanceConfig(api.InstanceConfig o) { o.freeInstanceAvailability!, unittest.equals('foo'), ); - checkUnnamed28(o.labels!); - checkUnnamed29(o.leaderOptions!); + checkUnnamed32(o.labels!); + checkUnnamed33(o.leaderOptions!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed30(o.optionalReplicas!); + checkUnnamed34(o.optionalReplicas!); unittest.expect( o.quorumType!, unittest.equals('foo'), ); unittest.expect(o.reconciling!, unittest.isTrue); - checkUnnamed31(o.replicas!); + checkUnnamed35(o.replicas!); unittest.expect( o.state!, unittest.equals('foo'), @@ -2218,12 +2416,12 @@ void checkInstanceConfig(api.InstanceConfig o) { buildCounterInstanceConfig--; } -core.List buildUnnamed32() => [ +core.List buildUnnamed36() => [ 'foo', 'foo', ]; -void checkUnnamed32(core.List o) { +void checkUnnamed36(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2235,12 +2433,12 @@ void checkUnnamed32(core.List o) { ); } -core.List buildUnnamed33() => [ +core.List buildUnnamed37() => [ 'foo', 'foo', ]; -void checkUnnamed33(core.List o) { +void checkUnnamed37(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2264,8 +2462,8 @@ api.InstancePartition buildInstancePartition() { o.name = 'foo'; o.nodeCount = 42; o.processingUnits = 42; - o.referencingBackups = buildUnnamed32(); - o.referencingDatabases = buildUnnamed33(); + o.referencingBackups = buildUnnamed36(); + o.referencingDatabases = buildUnnamed37(); o.state = 'foo'; o.updateTime = 'foo'; } @@ -2304,8 +2502,8 @@ void checkInstancePartition(api.InstancePartition o) { o.processingUnits!, unittest.equals(42), ); - checkUnnamed32(o.referencingBackups!); - checkUnnamed33(o.referencingDatabases!); + checkUnnamed36(o.referencingBackups!); + checkUnnamed37(o.referencingDatabases!); unittest.expect( o.state!, unittest.equals('foo'), @@ -2340,7 +2538,7 @@ void checkInstanceReplicaSelection(api.InstanceReplicaSelection o) { buildCounterInstanceReplicaSelection--; } -core.List buildUnnamed34() => [ +core.List buildUnnamed38() => [ { 'list': [1, 2, 3], 'bool': true, @@ -2353,7 +2551,7 @@ core.List buildUnnamed34() => [ }, ]; -void checkUnnamed34(core.List o) { +void checkUnnamed38(core.List o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o[0]) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -2385,7 +2583,26 @@ void checkUnnamed34(core.List o) { ); } -core.List buildUnnamed35() => [ +core.int buildCounterKey = 0; +api.Key buildKey() { + final o = api.Key(); + buildCounterKey++; + if (buildCounterKey < 3) { + o.keyParts = buildUnnamed38(); + } + buildCounterKey--; + return o; +} + +void checkKey(api.Key o) { + buildCounterKey++; + if (buildCounterKey < 3) { + checkUnnamed38(o.keyParts!); + } + buildCounterKey--; +} + +core.List buildUnnamed39() => [ { 'list': [1, 2, 3], 'bool': true, @@ -2398,7 +2615,7 @@ core.List buildUnnamed35() => [ }, ]; -void checkUnnamed35(core.List o) { +void checkUnnamed39(core.List o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o[0]) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -2430,7 +2647,7 @@ void checkUnnamed35(core.List o) { ); } -core.List buildUnnamed36() => [ +core.List buildUnnamed40() => [ { 'list': [1, 2, 3], 'bool': true, @@ -2443,7 +2660,7 @@ core.List buildUnnamed36() => [ }, ]; -void checkUnnamed36(core.List o) { +void checkUnnamed40(core.List o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o[0]) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -2475,7 +2692,7 @@ void checkUnnamed36(core.List o) { ); } -core.List buildUnnamed37() => [ +core.List buildUnnamed41() => [ { 'list': [1, 2, 3], 'bool': true, @@ -2488,7 +2705,7 @@ core.List buildUnnamed37() => [ }, ]; -void checkUnnamed37(core.List o) { +void checkUnnamed41(core.List o) { unittest.expect(o, unittest.hasLength(2)); var casted9 = (o[0]) as core.Map; unittest.expect(casted9, unittest.hasLength(3)); @@ -2520,15 +2737,60 @@ void checkUnnamed37(core.List o) { ); } +core.List buildUnnamed42() => [ + { + 'list': [1, 2, 3], + 'bool': true, + 'string': 'foo' + }, + { + 'list': [1, 2, 3], + 'bool': true, + 'string': 'foo' + }, + ]; + +void checkUnnamed42(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + var casted11 = (o[0]) as core.Map; + unittest.expect(casted11, unittest.hasLength(3)); + unittest.expect( + casted11['list'], + unittest.equals([1, 2, 3]), + ); + unittest.expect( + casted11['bool'], + unittest.equals(true), + ); + unittest.expect( + casted11['string'], + unittest.equals('foo'), + ); + var casted12 = (o[1]) as core.Map; + unittest.expect(casted12, unittest.hasLength(3)); + unittest.expect( + casted12['list'], + unittest.equals([1, 2, 3]), + ); + unittest.expect( + casted12['bool'], + unittest.equals(true), + ); + unittest.expect( + casted12['string'], + unittest.equals('foo'), + ); +} + core.int buildCounterKeyRange = 0; api.KeyRange buildKeyRange() { final o = api.KeyRange(); buildCounterKeyRange++; if (buildCounterKeyRange < 3) { - o.endClosed = buildUnnamed34(); - o.endOpen = buildUnnamed35(); - o.startClosed = buildUnnamed36(); - o.startOpen = buildUnnamed37(); + o.endClosed = buildUnnamed39(); + o.endOpen = buildUnnamed40(); + o.startClosed = buildUnnamed41(); + o.startOpen = buildUnnamed42(); } buildCounterKeyRange--; return o; @@ -2537,20 +2799,20 @@ api.KeyRange buildKeyRange() { void checkKeyRange(api.KeyRange o) { buildCounterKeyRange++; if (buildCounterKeyRange < 3) { - checkUnnamed34(o.endClosed!); - checkUnnamed35(o.endOpen!); - checkUnnamed36(o.startClosed!); - checkUnnamed37(o.startOpen!); + checkUnnamed39(o.endClosed!); + checkUnnamed40(o.endOpen!); + checkUnnamed41(o.startClosed!); + checkUnnamed42(o.startOpen!); } buildCounterKeyRange--; } -core.List buildUnnamed38() => [ +core.List buildUnnamed43() => [ buildContextValue(), buildContextValue(), ]; -void checkUnnamed38(core.List o) { +void checkUnnamed43(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkContextValue(o[0]); checkContextValue(o[1]); @@ -2561,7 +2823,7 @@ api.KeyRangeInfo buildKeyRangeInfo() { final o = api.KeyRangeInfo(); buildCounterKeyRangeInfo++; if (buildCounterKeyRangeInfo < 3) { - o.contextValues = buildUnnamed38(); + o.contextValues = buildUnnamed43(); o.endKeyIndex = 42; o.info = buildLocalizedString(); o.keysCount = 'foo'; @@ -2578,7 +2840,7 @@ api.KeyRangeInfo buildKeyRangeInfo() { void checkKeyRangeInfo(api.KeyRangeInfo o) { buildCounterKeyRangeInfo++; if (buildCounterKeyRangeInfo < 3) { - checkUnnamed38(o.contextValues!); + checkUnnamed43(o.contextValues!); unittest.expect( o.endKeyIndex!, unittest.equals(42), @@ -2606,12 +2868,12 @@ void checkKeyRangeInfo(api.KeyRangeInfo o) { buildCounterKeyRangeInfo--; } -core.List buildUnnamed39() => [ +core.List buildUnnamed44() => [ buildKeyRangeInfo(), buildKeyRangeInfo(), ]; -void checkUnnamed39(core.List o) { +void checkUnnamed44(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkKeyRangeInfo(o[0]); checkKeyRangeInfo(o[1]); @@ -2622,7 +2884,7 @@ api.KeyRangeInfos buildKeyRangeInfos() { final o = api.KeyRangeInfos(); buildCounterKeyRangeInfos++; if (buildCounterKeyRangeInfos < 3) { - o.infos = buildUnnamed39(); + o.infos = buildUnnamed44(); o.totalSize = 42; } buildCounterKeyRangeInfos--; @@ -2632,7 +2894,7 @@ api.KeyRangeInfos buildKeyRangeInfos() { void checkKeyRangeInfos(api.KeyRangeInfos o) { buildCounterKeyRangeInfos++; if (buildCounterKeyRangeInfos < 3) { - checkUnnamed39(o.infos!); + checkUnnamed44(o.infos!); unittest.expect( o.totalSize!, unittest.equals(42), @@ -2641,7 +2903,7 @@ void checkKeyRangeInfos(api.KeyRangeInfos o) { buildCounterKeyRangeInfos--; } -core.List buildUnnamed40() => [ +core.List buildUnnamed45() => [ { 'list': [1, 2, 3], 'bool': true, @@ -2654,55 +2916,55 @@ core.List buildUnnamed40() => [ }, ]; -void checkUnnamed40(core.List o) { +void checkUnnamed45(core.List o) { unittest.expect(o, unittest.hasLength(2)); - var casted11 = (o[0]) as core.Map; - unittest.expect(casted11, unittest.hasLength(3)); + var casted13 = (o[0]) as core.Map; + unittest.expect(casted13, unittest.hasLength(3)); unittest.expect( - casted11['list'], + casted13['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted11['bool'], + casted13['bool'], unittest.equals(true), ); unittest.expect( - casted11['string'], + casted13['string'], unittest.equals('foo'), ); - var casted12 = (o[1]) as core.Map; - unittest.expect(casted12, unittest.hasLength(3)); + var casted14 = (o[1]) as core.Map; + unittest.expect(casted14, unittest.hasLength(3)); unittest.expect( - casted12['list'], + casted14['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted12['bool'], + casted14['bool'], unittest.equals(true), ); unittest.expect( - casted12['string'], + casted14['string'], unittest.equals('foo'), ); } -core.List> buildUnnamed41() => [ - buildUnnamed40(), - buildUnnamed40(), +core.List> buildUnnamed46() => [ + buildUnnamed45(), + buildUnnamed45(), ]; -void checkUnnamed41(core.List> o) { +void checkUnnamed46(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed40(o[0]); - checkUnnamed40(o[1]); + checkUnnamed45(o[0]); + checkUnnamed45(o[1]); } -core.List buildUnnamed42() => [ +core.List buildUnnamed47() => [ buildKeyRange(), buildKeyRange(), ]; -void checkUnnamed42(core.List o) { +void checkUnnamed47(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkKeyRange(o[0]); checkKeyRange(o[1]); @@ -2714,8 +2976,8 @@ api.KeySet buildKeySet() { buildCounterKeySet++; if (buildCounterKeySet < 3) { o.all = true; - o.keys = buildUnnamed41(); - o.ranges = buildUnnamed42(); + o.keys = buildUnnamed46(); + o.ranges = buildUnnamed47(); } buildCounterKeySet--; return o; @@ -2725,18 +2987,18 @@ void checkKeySet(api.KeySet o) { buildCounterKeySet++; if (buildCounterKeySet < 3) { unittest.expect(o.all!, unittest.isTrue); - checkUnnamed41(o.keys!); - checkUnnamed42(o.ranges!); + checkUnnamed46(o.keys!); + checkUnnamed47(o.ranges!); } buildCounterKeySet--; } -core.List buildUnnamed43() => [ +core.List buildUnnamed48() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed43(core.List o) { +void checkUnnamed48(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -2748,7 +3010,7 @@ api.ListBackupOperationsResponse buildListBackupOperationsResponse() { buildCounterListBackupOperationsResponse++; if (buildCounterListBackupOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed43(); + o.operations = buildUnnamed48(); } buildCounterListBackupOperationsResponse--; return o; @@ -2761,17 +3023,17 @@ void checkListBackupOperationsResponse(api.ListBackupOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed43(o.operations!); + checkUnnamed48(o.operations!); } buildCounterListBackupOperationsResponse--; } -core.List buildUnnamed44() => [ +core.List buildUnnamed49() => [ buildBackupSchedule(), buildBackupSchedule(), ]; -void checkUnnamed44(core.List o) { +void checkUnnamed49(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackupSchedule(o[0]); checkBackupSchedule(o[1]); @@ -2782,7 +3044,7 @@ api.ListBackupSchedulesResponse buildListBackupSchedulesResponse() { final o = api.ListBackupSchedulesResponse(); buildCounterListBackupSchedulesResponse++; if (buildCounterListBackupSchedulesResponse < 3) { - o.backupSchedules = buildUnnamed44(); + o.backupSchedules = buildUnnamed49(); o.nextPageToken = 'foo'; } buildCounterListBackupSchedulesResponse--; @@ -2792,7 +3054,7 @@ api.ListBackupSchedulesResponse buildListBackupSchedulesResponse() { void checkListBackupSchedulesResponse(api.ListBackupSchedulesResponse o) { buildCounterListBackupSchedulesResponse++; if (buildCounterListBackupSchedulesResponse < 3) { - checkUnnamed44(o.backupSchedules!); + checkUnnamed49(o.backupSchedules!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2801,12 +3063,12 @@ void checkListBackupSchedulesResponse(api.ListBackupSchedulesResponse o) { buildCounterListBackupSchedulesResponse--; } -core.List buildUnnamed45() => [ +core.List buildUnnamed50() => [ buildBackup(), buildBackup(), ]; -void checkUnnamed45(core.List o) { +void checkUnnamed50(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBackup(o[0]); checkBackup(o[1]); @@ -2817,7 +3079,7 @@ api.ListBackupsResponse buildListBackupsResponse() { final o = api.ListBackupsResponse(); buildCounterListBackupsResponse++; if (buildCounterListBackupsResponse < 3) { - o.backups = buildUnnamed45(); + o.backups = buildUnnamed50(); o.nextPageToken = 'foo'; } buildCounterListBackupsResponse--; @@ -2827,7 +3089,7 @@ api.ListBackupsResponse buildListBackupsResponse() { void checkListBackupsResponse(api.ListBackupsResponse o) { buildCounterListBackupsResponse++; if (buildCounterListBackupsResponse < 3) { - checkUnnamed45(o.backups!); + checkUnnamed50(o.backups!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2836,12 +3098,12 @@ void checkListBackupsResponse(api.ListBackupsResponse o) { buildCounterListBackupsResponse--; } -core.List buildUnnamed46() => [ +core.List buildUnnamed51() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed46(core.List o) { +void checkUnnamed51(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -2853,7 +3115,7 @@ api.ListDatabaseOperationsResponse buildListDatabaseOperationsResponse() { buildCounterListDatabaseOperationsResponse++; if (buildCounterListDatabaseOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed46(); + o.operations = buildUnnamed51(); } buildCounterListDatabaseOperationsResponse--; return o; @@ -2866,17 +3128,17 @@ void checkListDatabaseOperationsResponse(api.ListDatabaseOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed46(o.operations!); + checkUnnamed51(o.operations!); } buildCounterListDatabaseOperationsResponse--; } -core.List buildUnnamed47() => [ +core.List buildUnnamed52() => [ buildDatabaseRole(), buildDatabaseRole(), ]; -void checkUnnamed47(core.List o) { +void checkUnnamed52(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDatabaseRole(o[0]); checkDatabaseRole(o[1]); @@ -2887,7 +3149,7 @@ api.ListDatabaseRolesResponse buildListDatabaseRolesResponse() { final o = api.ListDatabaseRolesResponse(); buildCounterListDatabaseRolesResponse++; if (buildCounterListDatabaseRolesResponse < 3) { - o.databaseRoles = buildUnnamed47(); + o.databaseRoles = buildUnnamed52(); o.nextPageToken = 'foo'; } buildCounterListDatabaseRolesResponse--; @@ -2897,7 +3159,7 @@ api.ListDatabaseRolesResponse buildListDatabaseRolesResponse() { void checkListDatabaseRolesResponse(api.ListDatabaseRolesResponse o) { buildCounterListDatabaseRolesResponse++; if (buildCounterListDatabaseRolesResponse < 3) { - checkUnnamed47(o.databaseRoles!); + checkUnnamed52(o.databaseRoles!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2906,12 +3168,12 @@ void checkListDatabaseRolesResponse(api.ListDatabaseRolesResponse o) { buildCounterListDatabaseRolesResponse--; } -core.List buildUnnamed48() => [ +core.List buildUnnamed53() => [ buildDatabase(), buildDatabase(), ]; -void checkUnnamed48(core.List o) { +void checkUnnamed53(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDatabase(o[0]); checkDatabase(o[1]); @@ -2922,7 +3184,7 @@ api.ListDatabasesResponse buildListDatabasesResponse() { final o = api.ListDatabasesResponse(); buildCounterListDatabasesResponse++; if (buildCounterListDatabasesResponse < 3) { - o.databases = buildUnnamed48(); + o.databases = buildUnnamed53(); o.nextPageToken = 'foo'; } buildCounterListDatabasesResponse--; @@ -2932,7 +3194,7 @@ api.ListDatabasesResponse buildListDatabasesResponse() { void checkListDatabasesResponse(api.ListDatabasesResponse o) { buildCounterListDatabasesResponse++; if (buildCounterListDatabasesResponse < 3) { - checkUnnamed48(o.databases!); + checkUnnamed53(o.databases!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2941,12 +3203,12 @@ void checkListDatabasesResponse(api.ListDatabasesResponse o) { buildCounterListDatabasesResponse--; } -core.List buildUnnamed49() => [ +core.List buildUnnamed54() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed49(core.List o) { +void checkUnnamed54(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -2959,7 +3221,7 @@ api.ListInstanceConfigOperationsResponse buildCounterListInstanceConfigOperationsResponse++; if (buildCounterListInstanceConfigOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed49(); + o.operations = buildUnnamed54(); } buildCounterListInstanceConfigOperationsResponse--; return o; @@ -2973,17 +3235,17 @@ void checkListInstanceConfigOperationsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed49(o.operations!); + checkUnnamed54(o.operations!); } buildCounterListInstanceConfigOperationsResponse--; } -core.List buildUnnamed50() => [ +core.List buildUnnamed55() => [ buildInstanceConfig(), buildInstanceConfig(), ]; -void checkUnnamed50(core.List o) { +void checkUnnamed55(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstanceConfig(o[0]); checkInstanceConfig(o[1]); @@ -2994,7 +3256,7 @@ api.ListInstanceConfigsResponse buildListInstanceConfigsResponse() { final o = api.ListInstanceConfigsResponse(); buildCounterListInstanceConfigsResponse++; if (buildCounterListInstanceConfigsResponse < 3) { - o.instanceConfigs = buildUnnamed50(); + o.instanceConfigs = buildUnnamed55(); o.nextPageToken = 'foo'; } buildCounterListInstanceConfigsResponse--; @@ -3004,7 +3266,7 @@ api.ListInstanceConfigsResponse buildListInstanceConfigsResponse() { void checkListInstanceConfigsResponse(api.ListInstanceConfigsResponse o) { buildCounterListInstanceConfigsResponse++; if (buildCounterListInstanceConfigsResponse < 3) { - checkUnnamed50(o.instanceConfigs!); + checkUnnamed55(o.instanceConfigs!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -3013,23 +3275,23 @@ void checkListInstanceConfigsResponse(api.ListInstanceConfigsResponse o) { buildCounterListInstanceConfigsResponse--; } -core.List buildUnnamed51() => [ +core.List buildUnnamed56() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed51(core.List o) { +void checkUnnamed56(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); } -core.List buildUnnamed52() => [ +core.List buildUnnamed57() => [ 'foo', 'foo', ]; -void checkUnnamed52(core.List o) { +void checkUnnamed57(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3048,8 +3310,8 @@ api.ListInstancePartitionOperationsResponse buildCounterListInstancePartitionOperationsResponse++; if (buildCounterListInstancePartitionOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed51(); - o.unreachableInstancePartitions = buildUnnamed52(); + o.operations = buildUnnamed56(); + o.unreachableInstancePartitions = buildUnnamed57(); } buildCounterListInstancePartitionOperationsResponse--; return o; @@ -3063,29 +3325,29 @@ void checkListInstancePartitionOperationsResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed51(o.operations!); - checkUnnamed52(o.unreachableInstancePartitions!); + checkUnnamed56(o.operations!); + checkUnnamed57(o.unreachableInstancePartitions!); } buildCounterListInstancePartitionOperationsResponse--; } -core.List buildUnnamed53() => [ +core.List buildUnnamed58() => [ buildInstancePartition(), buildInstancePartition(), ]; -void checkUnnamed53(core.List o) { +void checkUnnamed58(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstancePartition(o[0]); checkInstancePartition(o[1]); } -core.List buildUnnamed54() => [ +core.List buildUnnamed59() => [ 'foo', 'foo', ]; -void checkUnnamed54(core.List o) { +void checkUnnamed59(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3102,9 +3364,9 @@ api.ListInstancePartitionsResponse buildListInstancePartitionsResponse() { final o = api.ListInstancePartitionsResponse(); buildCounterListInstancePartitionsResponse++; if (buildCounterListInstancePartitionsResponse < 3) { - o.instancePartitions = buildUnnamed53(); + o.instancePartitions = buildUnnamed58(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed54(); + o.unreachable = buildUnnamed59(); } buildCounterListInstancePartitionsResponse--; return o; @@ -3113,33 +3375,33 @@ api.ListInstancePartitionsResponse buildListInstancePartitionsResponse() { void checkListInstancePartitionsResponse(api.ListInstancePartitionsResponse o) { buildCounterListInstancePartitionsResponse++; if (buildCounterListInstancePartitionsResponse < 3) { - checkUnnamed53(o.instancePartitions!); + checkUnnamed58(o.instancePartitions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed54(o.unreachable!); + checkUnnamed59(o.unreachable!); } buildCounterListInstancePartitionsResponse--; } -core.List buildUnnamed55() => [ +core.List buildUnnamed60() => [ buildInstance(), buildInstance(), ]; -void checkUnnamed55(core.List o) { +void checkUnnamed60(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstance(o[0]); checkInstance(o[1]); } -core.List buildUnnamed56() => [ +core.List buildUnnamed61() => [ 'foo', 'foo', ]; -void checkUnnamed56(core.List o) { +void checkUnnamed61(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3156,9 +3418,9 @@ api.ListInstancesResponse buildListInstancesResponse() { final o = api.ListInstancesResponse(); buildCounterListInstancesResponse++; if (buildCounterListInstancesResponse < 3) { - o.instances = buildUnnamed55(); + o.instances = buildUnnamed60(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed56(); + o.unreachable = buildUnnamed61(); } buildCounterListInstancesResponse--; return o; @@ -3167,22 +3429,22 @@ api.ListInstancesResponse buildListInstancesResponse() { void checkListInstancesResponse(api.ListInstancesResponse o) { buildCounterListInstancesResponse++; if (buildCounterListInstancesResponse < 3) { - checkUnnamed55(o.instances!); + checkUnnamed60(o.instances!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed56(o.unreachable!); + checkUnnamed61(o.unreachable!); } buildCounterListInstancesResponse--; } -core.List buildUnnamed57() => [ +core.List buildUnnamed62() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed57(core.List o) { +void checkUnnamed62(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -3194,7 +3456,7 @@ api.ListOperationsResponse buildListOperationsResponse() { buildCounterListOperationsResponse++; if (buildCounterListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed57(); + o.operations = buildUnnamed62(); } buildCounterListOperationsResponse--; return o; @@ -3207,17 +3469,17 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed57(o.operations!); + checkUnnamed62(o.operations!); } buildCounterListOperationsResponse--; } -core.List buildUnnamed58() => [ +core.List buildUnnamed63() => [ buildScan(), buildScan(), ]; -void checkUnnamed58(core.List o) { +void checkUnnamed63(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkScan(o[0]); checkScan(o[1]); @@ -3229,7 +3491,7 @@ api.ListScansResponse buildListScansResponse() { buildCounterListScansResponse++; if (buildCounterListScansResponse < 3) { o.nextPageToken = 'foo'; - o.scans = buildUnnamed58(); + o.scans = buildUnnamed63(); } buildCounterListScansResponse--; return o; @@ -3242,17 +3504,17 @@ void checkListScansResponse(api.ListScansResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed58(o.scans!); + checkUnnamed63(o.scans!); } buildCounterListScansResponse--; } -core.List buildUnnamed59() => [ +core.List buildUnnamed64() => [ buildSession(), buildSession(), ]; -void checkUnnamed59(core.List o) { +void checkUnnamed64(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSession(o[0]); checkSession(o[1]); @@ -3264,7 +3526,7 @@ api.ListSessionsResponse buildListSessionsResponse() { buildCounterListSessionsResponse++; if (buildCounterListSessionsResponse < 3) { o.nextPageToken = 'foo'; - o.sessions = buildUnnamed59(); + o.sessions = buildUnnamed64(); } buildCounterListSessionsResponse--; return o; @@ -3277,17 +3539,17 @@ void checkListSessionsResponse(api.ListSessionsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed59(o.sessions!); + checkUnnamed64(o.sessions!); } buildCounterListSessionsResponse--; } -core.Map buildUnnamed60() => { +core.Map buildUnnamed65() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed60(core.Map o) { +void checkUnnamed65(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3304,7 +3566,7 @@ api.LocalizedString buildLocalizedString() { final o = api.LocalizedString(); buildCounterLocalizedString++; if (buildCounterLocalizedString < 3) { - o.args = buildUnnamed60(); + o.args = buildUnnamed65(); o.message = 'foo'; o.token = 'foo'; } @@ -3315,7 +3577,7 @@ api.LocalizedString buildLocalizedString() { void checkLocalizedString(api.LocalizedString o) { buildCounterLocalizedString++; if (buildCounterLocalizedString < 3) { - checkUnnamed60(o.args!); + checkUnnamed65(o.args!); unittest.expect( o.message!, unittest.equals('foo'), @@ -3328,23 +3590,23 @@ void checkLocalizedString(api.LocalizedString o) { buildCounterLocalizedString--; } -core.Map buildUnnamed61() => { +core.Map buildUnnamed66() => { 'x': buildIndexedHotKey(), 'y': buildIndexedHotKey(), }; -void checkUnnamed61(core.Map o) { +void checkUnnamed66(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkIndexedHotKey(o['x']!); checkIndexedHotKey(o['y']!); } -core.Map buildUnnamed62() => { +core.Map buildUnnamed67() => { 'x': buildIndexedKeyRangeInfos(), 'y': buildIndexedKeyRangeInfos(), }; -void checkUnnamed62(core.Map o) { +void checkUnnamed67(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkIndexedKeyRangeInfos(o['x']!); checkIndexedKeyRangeInfos(o['y']!); @@ -3361,8 +3623,8 @@ api.Metric buildMetric() { o.displayLabel = buildLocalizedString(); o.hasNonzeroData = true; o.hotValue = 42.0; - o.indexedHotKeys = buildUnnamed61(); - o.indexedKeyRangeInfos = buildUnnamed62(); + o.indexedHotKeys = buildUnnamed66(); + o.indexedKeyRangeInfos = buildUnnamed67(); o.info = buildLocalizedString(); o.matrix = buildMetricMatrix(); o.unit = buildLocalizedString(); @@ -3387,8 +3649,8 @@ void checkMetric(api.Metric o) { o.hotValue!, unittest.equals(42.0), ); - checkUnnamed61(o.indexedHotKeys!); - checkUnnamed62(o.indexedKeyRangeInfos!); + checkUnnamed66(o.indexedHotKeys!); + checkUnnamed67(o.indexedKeyRangeInfos!); checkLocalizedString(o.info!); checkMetricMatrix(o.matrix!); checkLocalizedString(o.unit!); @@ -3397,12 +3659,12 @@ void checkMetric(api.Metric o) { buildCounterMetric--; } -core.List buildUnnamed63() => [ +core.List buildUnnamed68() => [ buildMetricMatrixRow(), buildMetricMatrixRow(), ]; -void checkUnnamed63(core.List o) { +void checkUnnamed68(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMetricMatrixRow(o[0]); checkMetricMatrixRow(o[1]); @@ -3413,7 +3675,7 @@ api.MetricMatrix buildMetricMatrix() { final o = api.MetricMatrix(); buildCounterMetricMatrix++; if (buildCounterMetricMatrix < 3) { - o.rows = buildUnnamed63(); + o.rows = buildUnnamed68(); } buildCounterMetricMatrix--; return o; @@ -3422,17 +3684,17 @@ api.MetricMatrix buildMetricMatrix() { void checkMetricMatrix(api.MetricMatrix o) { buildCounterMetricMatrix++; if (buildCounterMetricMatrix < 3) { - checkUnnamed63(o.rows!); + checkUnnamed68(o.rows!); } buildCounterMetricMatrix--; } -core.List buildUnnamed64() => [ +core.List buildUnnamed69() => [ 42.0, 42.0, ]; -void checkUnnamed64(core.List o) { +void checkUnnamed69(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3449,7 +3711,7 @@ api.MetricMatrixRow buildMetricMatrixRow() { final o = api.MetricMatrixRow(); buildCounterMetricMatrixRow++; if (buildCounterMetricMatrixRow < 3) { - o.cols = buildUnnamed64(); + o.cols = buildUnnamed69(); } buildCounterMetricMatrixRow--; return o; @@ -3458,7 +3720,7 @@ api.MetricMatrixRow buildMetricMatrixRow() { void checkMetricMatrixRow(api.MetricMatrixRow o) { buildCounterMetricMatrixRow++; if (buildCounterMetricMatrixRow < 3) { - checkUnnamed64(o.cols!); + checkUnnamed69(o.cols!); } buildCounterMetricMatrixRow--; } @@ -3540,12 +3802,12 @@ void checkMutation(api.Mutation o) { buildCounterMutation--; } -core.List buildUnnamed65() => [ +core.List buildUnnamed70() => [ buildMutation(), buildMutation(), ]; -void checkUnnamed65(core.List o) { +void checkUnnamed70(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMutation(o[0]); checkMutation(o[1]); @@ -3556,7 +3818,7 @@ api.MutationGroup buildMutationGroup() { final o = api.MutationGroup(); buildCounterMutationGroup++; if (buildCounterMutationGroup < 3) { - o.mutations = buildUnnamed65(); + o.mutations = buildUnnamed70(); } buildCounterMutationGroup--; return o; @@ -3565,12 +3827,12 @@ api.MutationGroup buildMutationGroup() { void checkMutationGroup(api.MutationGroup o) { buildCounterMutationGroup++; if (buildCounterMutationGroup < 3) { - checkUnnamed65(o.mutations!); + checkUnnamed70(o.mutations!); } buildCounterMutationGroup--; } -core.Map buildUnnamed66() => { +core.Map buildUnnamed71() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3583,39 +3845,39 @@ core.Map buildUnnamed66() => { }, }; -void checkUnnamed66(core.Map o) { +void checkUnnamed71(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted13 = (o['x']!) as core.Map; - unittest.expect(casted13, unittest.hasLength(3)); + var casted15 = (o['x']!) as core.Map; + unittest.expect(casted15, unittest.hasLength(3)); unittest.expect( - casted13['list'], + casted15['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted13['bool'], + casted15['bool'], unittest.equals(true), ); unittest.expect( - casted13['string'], + casted15['string'], unittest.equals('foo'), ); - var casted14 = (o['y']!) as core.Map; - unittest.expect(casted14, unittest.hasLength(3)); + var casted16 = (o['y']!) as core.Map; + unittest.expect(casted16, unittest.hasLength(3)); unittest.expect( - casted14['list'], + casted16['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted14['bool'], + casted16['bool'], unittest.equals(true), ); unittest.expect( - casted14['string'], + casted16['string'], unittest.equals('foo'), ); } -core.Map buildUnnamed67() => { +core.Map buildUnnamed72() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3628,34 +3890,34 @@ core.Map buildUnnamed67() => { }, }; -void checkUnnamed67(core.Map o) { +void checkUnnamed72(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted15 = (o['x']!) as core.Map; - unittest.expect(casted15, unittest.hasLength(3)); + var casted17 = (o['x']!) as core.Map; + unittest.expect(casted17, unittest.hasLength(3)); unittest.expect( - casted15['list'], + casted17['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted15['bool'], + casted17['bool'], unittest.equals(true), ); unittest.expect( - casted15['string'], + casted17['string'], unittest.equals('foo'), ); - var casted16 = (o['y']!) as core.Map; - unittest.expect(casted16, unittest.hasLength(3)); + var casted18 = (o['y']!) as core.Map; + unittest.expect(casted18, unittest.hasLength(3)); unittest.expect( - casted16['list'], + casted18['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted16['bool'], + casted18['bool'], unittest.equals(true), ); unittest.expect( - casted16['string'], + casted18['string'], unittest.equals('foo'), ); } @@ -3667,9 +3929,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed66(); + o.metadata = buildUnnamed71(); o.name = 'foo'; - o.response = buildUnnamed67(); + o.response = buildUnnamed72(); } buildCounterOperation--; return o; @@ -3680,17 +3942,17 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed66(o.metadata!); + checkUnnamed71(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed67(o.response!); + checkUnnamed72(o.response!); } buildCounterOperation--; } -core.List buildUnnamed68() => [ +core.List buildUnnamed73() => [ { 'list': [1, 2, 3], 'bool': true, @@ -3703,34 +3965,34 @@ core.List buildUnnamed68() => [ }, ]; -void checkUnnamed68(core.List o) { +void checkUnnamed73(core.List o) { unittest.expect(o, unittest.hasLength(2)); - var casted17 = (o[0]) as core.Map; - unittest.expect(casted17, unittest.hasLength(3)); + var casted19 = (o[0]) as core.Map; + unittest.expect(casted19, unittest.hasLength(3)); unittest.expect( - casted17['list'], + casted19['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted17['bool'], + casted19['bool'], unittest.equals(true), ); unittest.expect( - casted17['string'], + casted19['string'], unittest.equals('foo'), ); - var casted18 = (o[1]) as core.Map; - unittest.expect(casted18, unittest.hasLength(3)); + var casted20 = (o[1]) as core.Map; + unittest.expect(casted20, unittest.hasLength(3)); unittest.expect( - casted18['list'], + casted20['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted18['bool'], + casted20['bool'], unittest.equals(true), ); unittest.expect( - casted18['string'], + casted20['string'], unittest.equals('foo'), ); } @@ -3745,7 +4007,7 @@ api.PartialResultSet buildPartialResultSet() { o.precommitToken = buildMultiplexedSessionPrecommitToken(); o.resumeToken = 'foo'; o.stats = buildResultSetStats(); - o.values = buildUnnamed68(); + o.values = buildUnnamed73(); } buildCounterPartialResultSet--; return o; @@ -3762,7 +4024,7 @@ void checkPartialResultSet(api.PartialResultSet o) { unittest.equals('foo'), ); checkResultSetStats(o.stats!); - checkUnnamed68(o.values!); + checkUnnamed73(o.values!); } buildCounterPartialResultSet--; } @@ -3816,18 +4078,18 @@ void checkPartitionOptions(api.PartitionOptions o) { buildCounterPartitionOptions--; } -core.Map buildUnnamed69() => { +core.Map buildUnnamed74() => { 'x': buildType(), 'y': buildType(), }; -void checkUnnamed69(core.Map o) { +void checkUnnamed74(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkType(o['x']!); checkType(o['y']!); } -core.Map buildUnnamed70() => { +core.Map buildUnnamed75() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3840,34 +4102,34 @@ core.Map buildUnnamed70() => { }, }; -void checkUnnamed70(core.Map o) { +void checkUnnamed75(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted19 = (o['x']!) as core.Map; - unittest.expect(casted19, unittest.hasLength(3)); + var casted21 = (o['x']!) as core.Map; + unittest.expect(casted21, unittest.hasLength(3)); unittest.expect( - casted19['list'], + casted21['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted19['bool'], + casted21['bool'], unittest.equals(true), ); unittest.expect( - casted19['string'], + casted21['string'], unittest.equals('foo'), ); - var casted20 = (o['y']!) as core.Map; - unittest.expect(casted20, unittest.hasLength(3)); + var casted22 = (o['y']!) as core.Map; + unittest.expect(casted22, unittest.hasLength(3)); unittest.expect( - casted20['list'], + casted22['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted20['bool'], + casted22['bool'], unittest.equals(true), ); unittest.expect( - casted20['string'], + casted22['string'], unittest.equals('foo'), ); } @@ -3877,8 +4139,8 @@ api.PartitionQueryRequest buildPartitionQueryRequest() { final o = api.PartitionQueryRequest(); buildCounterPartitionQueryRequest++; if (buildCounterPartitionQueryRequest < 3) { - o.paramTypes = buildUnnamed69(); - o.params = buildUnnamed70(); + o.paramTypes = buildUnnamed74(); + o.params = buildUnnamed75(); o.partitionOptions = buildPartitionOptions(); o.sql = 'foo'; o.transaction = buildTransactionSelector(); @@ -3890,8 +4152,8 @@ api.PartitionQueryRequest buildPartitionQueryRequest() { void checkPartitionQueryRequest(api.PartitionQueryRequest o) { buildCounterPartitionQueryRequest++; if (buildCounterPartitionQueryRequest < 3) { - checkUnnamed69(o.paramTypes!); - checkUnnamed70(o.params!); + checkUnnamed74(o.paramTypes!); + checkUnnamed75(o.params!); checkPartitionOptions(o.partitionOptions!); unittest.expect( o.sql!, @@ -3902,12 +4164,12 @@ void checkPartitionQueryRequest(api.PartitionQueryRequest o) { buildCounterPartitionQueryRequest--; } -core.List buildUnnamed71() => [ +core.List buildUnnamed76() => [ 'foo', 'foo', ]; -void checkUnnamed71(core.List o) { +void checkUnnamed76(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3924,7 +4186,7 @@ api.PartitionReadRequest buildPartitionReadRequest() { final o = api.PartitionReadRequest(); buildCounterPartitionReadRequest++; if (buildCounterPartitionReadRequest < 3) { - o.columns = buildUnnamed71(); + o.columns = buildUnnamed76(); o.index = 'foo'; o.keySet = buildKeySet(); o.partitionOptions = buildPartitionOptions(); @@ -3938,7 +4200,7 @@ api.PartitionReadRequest buildPartitionReadRequest() { void checkPartitionReadRequest(api.PartitionReadRequest o) { buildCounterPartitionReadRequest++; if (buildCounterPartitionReadRequest < 3) { - checkUnnamed71(o.columns!); + checkUnnamed76(o.columns!); unittest.expect( o.index!, unittest.equals('foo'), @@ -3954,12 +4216,12 @@ void checkPartitionReadRequest(api.PartitionReadRequest o) { buildCounterPartitionReadRequest--; } -core.List buildUnnamed72() => [ +core.List buildUnnamed77() => [ buildPartition(), buildPartition(), ]; -void checkUnnamed72(core.List o) { +void checkUnnamed77(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPartition(o[0]); checkPartition(o[1]); @@ -3970,7 +4232,7 @@ api.PartitionResponse buildPartitionResponse() { final o = api.PartitionResponse(); buildCounterPartitionResponse++; if (buildCounterPartitionResponse < 3) { - o.partitions = buildUnnamed72(); + o.partitions = buildUnnamed77(); o.transaction = buildTransaction(); } buildCounterPartitionResponse--; @@ -3980,7 +4242,7 @@ api.PartitionResponse buildPartitionResponse() { void checkPartitionResponse(api.PartitionResponse o) { buildCounterPartitionResponse++; if (buildCounterPartitionResponse < 3) { - checkUnnamed72(o.partitions!); + checkUnnamed77(o.partitions!); checkTransaction(o.transaction!); } buildCounterPartitionResponse--; @@ -4001,18 +4263,18 @@ void checkPartitionedDml(api.PartitionedDml o) { buildCounterPartitionedDml--; } -core.List buildUnnamed73() => [ +core.List buildUnnamed78() => [ buildChildLink(), buildChildLink(), ]; -void checkUnnamed73(core.List o) { +void checkUnnamed78(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkChildLink(o[0]); checkChildLink(o[1]); } -core.Map buildUnnamed74() => { +core.Map buildUnnamed79() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -4025,39 +4287,39 @@ core.Map buildUnnamed74() => { }, }; -void checkUnnamed74(core.Map o) { +void checkUnnamed79(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted21 = (o['x']!) as core.Map; - unittest.expect(casted21, unittest.hasLength(3)); + var casted23 = (o['x']!) as core.Map; + unittest.expect(casted23, unittest.hasLength(3)); unittest.expect( - casted21['list'], + casted23['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted21['bool'], + casted23['bool'], unittest.equals(true), ); unittest.expect( - casted21['string'], + casted23['string'], unittest.equals('foo'), ); - var casted22 = (o['y']!) as core.Map; - unittest.expect(casted22, unittest.hasLength(3)); + var casted24 = (o['y']!) as core.Map; + unittest.expect(casted24, unittest.hasLength(3)); unittest.expect( - casted22['list'], + casted24['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted22['bool'], + casted24['bool'], unittest.equals(true), ); unittest.expect( - casted22['string'], + casted24['string'], unittest.equals('foo'), ); } -core.Map buildUnnamed75() => { +core.Map buildUnnamed80() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -4070,34 +4332,34 @@ core.Map buildUnnamed75() => { }, }; -void checkUnnamed75(core.Map o) { +void checkUnnamed80(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted23 = (o['x']!) as core.Map; - unittest.expect(casted23, unittest.hasLength(3)); + var casted25 = (o['x']!) as core.Map; + unittest.expect(casted25, unittest.hasLength(3)); unittest.expect( - casted23['list'], + casted25['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted23['bool'], + casted25['bool'], unittest.equals(true), ); unittest.expect( - casted23['string'], + casted25['string'], unittest.equals('foo'), ); - var casted24 = (o['y']!) as core.Map; - unittest.expect(casted24, unittest.hasLength(3)); + var casted26 = (o['y']!) as core.Map; + unittest.expect(casted26, unittest.hasLength(3)); unittest.expect( - casted24['list'], + casted26['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted24['bool'], + casted26['bool'], unittest.equals(true), ); unittest.expect( - casted24['string'], + casted26['string'], unittest.equals('foo'), ); } @@ -4107,12 +4369,12 @@ api.PlanNode buildPlanNode() { final o = api.PlanNode(); buildCounterPlanNode++; if (buildCounterPlanNode < 3) { - o.childLinks = buildUnnamed73(); + o.childLinks = buildUnnamed78(); o.displayName = 'foo'; - o.executionStats = buildUnnamed74(); + o.executionStats = buildUnnamed79(); o.index = 42; o.kind = 'foo'; - o.metadata = buildUnnamed75(); + o.metadata = buildUnnamed80(); o.shortRepresentation = buildShortRepresentation(); } buildCounterPlanNode--; @@ -4122,12 +4384,12 @@ api.PlanNode buildPlanNode() { void checkPlanNode(api.PlanNode o) { buildCounterPlanNode++; if (buildCounterPlanNode < 3) { - checkUnnamed73(o.childLinks!); + checkUnnamed78(o.childLinks!); unittest.expect( o.displayName!, unittest.equals('foo'), ); - checkUnnamed74(o.executionStats!); + checkUnnamed79(o.executionStats!); unittest.expect( o.index!, unittest.equals(42), @@ -4136,18 +4398,18 @@ void checkPlanNode(api.PlanNode o) { o.kind!, unittest.equals('foo'), ); - checkUnnamed75(o.metadata!); + checkUnnamed80(o.metadata!); checkShortRepresentation(o.shortRepresentation!); } buildCounterPlanNode--; } -core.List buildUnnamed76() => [ +core.List buildUnnamed81() => [ buildBinding(), buildBinding(), ]; -void checkUnnamed76(core.List o) { +void checkUnnamed81(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBinding(o[0]); checkBinding(o[1]); @@ -4158,7 +4420,7 @@ api.Policy buildPolicy() { final o = api.Policy(); buildCounterPolicy++; if (buildCounterPolicy < 3) { - o.bindings = buildUnnamed76(); + o.bindings = buildUnnamed81(); o.etag = 'foo'; o.version = 42; } @@ -4169,7 +4431,7 @@ api.Policy buildPolicy() { void checkPolicy(api.Policy o) { buildCounterPolicy++; if (buildCounterPolicy < 3) { - checkUnnamed76(o.bindings!); + checkUnnamed81(o.bindings!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -4221,12 +4483,12 @@ void checkPrefixNode(api.PrefixNode o) { buildCounterPrefixNode--; } -core.List buildUnnamed77() => [ +core.List buildUnnamed82() => [ buildIndexAdvice(), buildIndexAdvice(), ]; -void checkUnnamed77(core.List o) { +void checkUnnamed82(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkIndexAdvice(o[0]); checkIndexAdvice(o[1]); @@ -4237,7 +4499,7 @@ api.QueryAdvisorResult buildQueryAdvisorResult() { final o = api.QueryAdvisorResult(); buildCounterQueryAdvisorResult++; if (buildCounterQueryAdvisorResult < 3) { - o.indexAdvice = buildUnnamed77(); + o.indexAdvice = buildUnnamed82(); } buildCounterQueryAdvisorResult--; return o; @@ -4246,7 +4508,7 @@ api.QueryAdvisorResult buildQueryAdvisorResult() { void checkQueryAdvisorResult(api.QueryAdvisorResult o) { buildCounterQueryAdvisorResult++; if (buildCounterQueryAdvisorResult < 3) { - checkUnnamed77(o.indexAdvice!); + checkUnnamed82(o.indexAdvice!); } buildCounterQueryAdvisorResult--; } @@ -4278,12 +4540,12 @@ void checkQueryOptions(api.QueryOptions o) { buildCounterQueryOptions--; } -core.List buildUnnamed78() => [ +core.List buildUnnamed83() => [ buildPlanNode(), buildPlanNode(), ]; -void checkUnnamed78(core.List o) { +void checkUnnamed83(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPlanNode(o[0]); checkPlanNode(o[1]); @@ -4294,7 +4556,7 @@ api.QueryPlan buildQueryPlan() { final o = api.QueryPlan(); buildCounterQueryPlan++; if (buildCounterQueryPlan < 3) { - o.planNodes = buildUnnamed78(); + o.planNodes = buildUnnamed83(); o.queryAdvice = buildQueryAdvisorResult(); } buildCounterQueryPlan--; @@ -4304,7 +4566,7 @@ api.QueryPlan buildQueryPlan() { void checkQueryPlan(api.QueryPlan o) { buildCounterQueryPlan++; if (buildCounterQueryPlan < 3) { - checkUnnamed78(o.planNodes!); + checkUnnamed83(o.planNodes!); checkQueryAdvisorResult(o.queryAdvice!); } buildCounterQueryPlan--; @@ -4406,12 +4668,12 @@ void checkReadOnly(api.ReadOnly o) { buildCounterReadOnly--; } -core.List buildUnnamed79() => [ +core.List buildUnnamed84() => [ 'foo', 'foo', ]; -void checkUnnamed79(core.List o) { +void checkUnnamed84(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4428,7 +4690,7 @@ api.ReadRequest buildReadRequest() { final o = api.ReadRequest(); buildCounterReadRequest++; if (buildCounterReadRequest < 3) { - o.columns = buildUnnamed79(); + o.columns = buildUnnamed84(); o.dataBoostEnabled = true; o.directedReadOptions = buildDirectedReadOptions(); o.index = 'foo'; @@ -4449,7 +4711,7 @@ api.ReadRequest buildReadRequest() { void checkReadRequest(api.ReadRequest o) { buildCounterReadRequest++; if (buildCounterReadRequest < 3) { - checkUnnamed79(o.columns!); + checkUnnamed84(o.columns!); unittest.expect(o.dataBoostEnabled!, unittest.isTrue); checkDirectedReadOptions(o.directedReadOptions!); unittest.expect( @@ -4631,12 +4893,12 @@ void checkRequestOptions(api.RequestOptions o) { buildCounterRequestOptions--; } -core.List buildUnnamed80() => [ +core.List buildUnnamed85() => [ 'foo', 'foo', ]; -void checkUnnamed80(core.List o) { +void checkUnnamed85(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4655,7 +4917,7 @@ api.RestoreDatabaseEncryptionConfig buildRestoreDatabaseEncryptionConfig() { if (buildCounterRestoreDatabaseEncryptionConfig < 3) { o.encryptionType = 'foo'; o.kmsKeyName = 'foo'; - o.kmsKeyNames = buildUnnamed80(); + o.kmsKeyNames = buildUnnamed85(); } buildCounterRestoreDatabaseEncryptionConfig--; return o; @@ -4673,7 +4935,7 @@ void checkRestoreDatabaseEncryptionConfig( o.kmsKeyName!, unittest.equals('foo'), ); - checkUnnamed80(o.kmsKeyNames!); + checkUnnamed85(o.kmsKeyNames!); } buildCounterRestoreDatabaseEncryptionConfig--; } @@ -4731,7 +4993,7 @@ void checkRestoreInfo(api.RestoreInfo o) { buildCounterRestoreInfo--; } -core.List buildUnnamed81() => [ +core.List buildUnnamed86() => [ { 'list': [1, 2, 3], 'bool': true, @@ -4744,47 +5006,47 @@ core.List buildUnnamed81() => [ }, ]; -void checkUnnamed81(core.List o) { +void checkUnnamed86(core.List o) { unittest.expect(o, unittest.hasLength(2)); - var casted25 = (o[0]) as core.Map; - unittest.expect(casted25, unittest.hasLength(3)); + var casted27 = (o[0]) as core.Map; + unittest.expect(casted27, unittest.hasLength(3)); unittest.expect( - casted25['list'], + casted27['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted25['bool'], + casted27['bool'], unittest.equals(true), ); unittest.expect( - casted25['string'], + casted27['string'], unittest.equals('foo'), ); - var casted26 = (o[1]) as core.Map; - unittest.expect(casted26, unittest.hasLength(3)); + var casted28 = (o[1]) as core.Map; + unittest.expect(casted28, unittest.hasLength(3)); unittest.expect( - casted26['list'], + casted28['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted26['bool'], + casted28['bool'], unittest.equals(true), ); unittest.expect( - casted26['string'], + casted28['string'], unittest.equals('foo'), ); } -core.List> buildUnnamed82() => [ - buildUnnamed81(), - buildUnnamed81(), +core.List> buildUnnamed87() => [ + buildUnnamed86(), + buildUnnamed86(), ]; -void checkUnnamed82(core.List> o) { +void checkUnnamed87(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed81(o[0]); - checkUnnamed81(o[1]); + checkUnnamed86(o[0]); + checkUnnamed86(o[1]); } core.int buildCounterResultSet = 0; @@ -4794,7 +5056,7 @@ api.ResultSet buildResultSet() { if (buildCounterResultSet < 3) { o.metadata = buildResultSetMetadata(); o.precommitToken = buildMultiplexedSessionPrecommitToken(); - o.rows = buildUnnamed82(); + o.rows = buildUnnamed87(); o.stats = buildResultSetStats(); } buildCounterResultSet--; @@ -4806,7 +5068,7 @@ void checkResultSet(api.ResultSet o) { if (buildCounterResultSet < 3) { checkResultSetMetadata(o.metadata!); checkMultiplexedSessionPrecommitToken(o.precommitToken!); - checkUnnamed82(o.rows!); + checkUnnamed87(o.rows!); checkResultSetStats(o.stats!); } buildCounterResultSet--; @@ -4835,7 +5097,7 @@ void checkResultSetMetadata(api.ResultSetMetadata o) { buildCounterResultSetMetadata--; } -core.Map buildUnnamed83() => { +core.Map buildUnnamed88() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -4848,34 +5110,34 @@ core.Map buildUnnamed83() => { }, }; -void checkUnnamed83(core.Map o) { +void checkUnnamed88(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted27 = (o['x']!) as core.Map; - unittest.expect(casted27, unittest.hasLength(3)); + var casted29 = (o['x']!) as core.Map; + unittest.expect(casted29, unittest.hasLength(3)); unittest.expect( - casted27['list'], + casted29['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted27['bool'], + casted29['bool'], unittest.equals(true), ); unittest.expect( - casted27['string'], + casted29['string'], unittest.equals('foo'), ); - var casted28 = (o['y']!) as core.Map; - unittest.expect(casted28, unittest.hasLength(3)); + var casted30 = (o['y']!) as core.Map; + unittest.expect(casted30, unittest.hasLength(3)); unittest.expect( - casted28['list'], + casted30['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted28['bool'], + casted30['bool'], unittest.equals(true), ); unittest.expect( - casted28['string'], + casted30['string'], unittest.equals('foo'), ); } @@ -4886,7 +5148,7 @@ api.ResultSetStats buildResultSetStats() { buildCounterResultSetStats++; if (buildCounterResultSetStats < 3) { o.queryPlan = buildQueryPlan(); - o.queryStats = buildUnnamed83(); + o.queryStats = buildUnnamed88(); o.rowCountExact = 'foo'; o.rowCountLowerBound = 'foo'; } @@ -4898,7 +5160,7 @@ void checkResultSetStats(api.ResultSetStats o) { buildCounterResultSetStats++; if (buildCounterResultSetStats < 3) { checkQueryPlan(o.queryPlan!); - checkUnnamed83(o.queryStats!); + checkUnnamed88(o.queryStats!); unittest.expect( o.rowCountExact!, unittest.equals('foo'), @@ -4933,7 +5195,7 @@ void checkRollbackRequest(api.RollbackRequest o) { buildCounterRollbackRequest--; } -core.Map buildUnnamed84() => { +core.Map buildUnnamed89() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -4946,34 +5208,34 @@ core.Map buildUnnamed84() => { }, }; -void checkUnnamed84(core.Map o) { +void checkUnnamed89(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted29 = (o['x']!) as core.Map; - unittest.expect(casted29, unittest.hasLength(3)); + var casted31 = (o['x']!) as core.Map; + unittest.expect(casted31, unittest.hasLength(3)); unittest.expect( - casted29['list'], + casted31['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted29['bool'], + casted31['bool'], unittest.equals(true), ); unittest.expect( - casted29['string'], + casted31['string'], unittest.equals('foo'), ); - var casted30 = (o['y']!) as core.Map; - unittest.expect(casted30, unittest.hasLength(3)); + var casted32 = (o['y']!) as core.Map; + unittest.expect(casted32, unittest.hasLength(3)); unittest.expect( - casted30['list'], + casted32['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted30['bool'], + casted32['bool'], unittest.equals(true), ); unittest.expect( - casted30['string'], + casted32['string'], unittest.equals('foo'), ); } @@ -4983,7 +5245,7 @@ api.Scan buildScan() { final o = api.Scan(); buildCounterScan++; if (buildCounterScan < 3) { - o.details = buildUnnamed84(); + o.details = buildUnnamed89(); o.endTime = 'foo'; o.name = 'foo'; o.scanData = buildScanData(); @@ -4996,7 +5258,7 @@ api.Scan buildScan() { void checkScan(api.Scan o) { buildCounterScan++; if (buildCounterScan < 3) { - checkUnnamed84(o.details!); + checkUnnamed89(o.details!); unittest.expect( o.endTime!, unittest.equals('foo'), @@ -5043,12 +5305,12 @@ void checkScanData(api.ScanData o) { buildCounterScanData--; } -core.Map buildUnnamed85() => { +core.Map buildUnnamed90() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed85(core.Map o) { +void checkUnnamed90(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -5068,7 +5330,7 @@ api.Session buildSession() { o.approximateLastUseTime = 'foo'; o.createTime = 'foo'; o.creatorRole = 'foo'; - o.labels = buildUnnamed85(); + o.labels = buildUnnamed90(); o.multiplexed = true; o.name = 'foo'; } @@ -5091,7 +5353,7 @@ void checkSession(api.Session o) { o.creatorRole!, unittest.equals('foo'), ); - checkUnnamed85(o.labels!); + checkUnnamed90(o.labels!); unittest.expect(o.multiplexed!, unittest.isTrue); unittest.expect( o.name!, @@ -5120,12 +5382,12 @@ void checkSetIamPolicyRequest(api.SetIamPolicyRequest o) { buildCounterSetIamPolicyRequest--; } -core.Map buildUnnamed86() => { +core.Map buildUnnamed91() => { 'x': 42, 'y': 42, }; -void checkUnnamed86(core.Map o) { +void checkUnnamed91(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -5143,7 +5405,7 @@ api.ShortRepresentation buildShortRepresentation() { buildCounterShortRepresentation++; if (buildCounterShortRepresentation < 3) { o.description = 'foo'; - o.subqueries = buildUnnamed86(); + o.subqueries = buildUnnamed91(); } buildCounterShortRepresentation--; return o; @@ -5156,7 +5418,7 @@ void checkShortRepresentation(api.ShortRepresentation o) { o.description!, unittest.equals('foo'), ); - checkUnnamed86(o.subqueries!); + checkUnnamed91(o.subqueries!); } buildCounterShortRepresentation--; } @@ -5183,18 +5445,63 @@ void checkSingleRegionQuorum(api.SingleRegionQuorum o) { buildCounterSingleRegionQuorum--; } -core.Map buildUnnamed87() => { +core.List buildUnnamed92() => [ + buildKey(), + buildKey(), + ]; + +void checkUnnamed92(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkKey(o[0]); + checkKey(o[1]); +} + +core.int buildCounterSplitPoints = 0; +api.SplitPoints buildSplitPoints() { + final o = api.SplitPoints(); + buildCounterSplitPoints++; + if (buildCounterSplitPoints < 3) { + o.expireTime = 'foo'; + o.index = 'foo'; + o.keys = buildUnnamed92(); + o.table = 'foo'; + } + buildCounterSplitPoints--; + return o; +} + +void checkSplitPoints(api.SplitPoints o) { + buildCounterSplitPoints++; + if (buildCounterSplitPoints < 3) { + unittest.expect( + o.expireTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.index!, + unittest.equals('foo'), + ); + checkUnnamed92(o.keys!); + unittest.expect( + o.table!, + unittest.equals('foo'), + ); + } + buildCounterSplitPoints--; +} + +core.Map buildUnnamed93() => { 'x': buildType(), 'y': buildType(), }; -void checkUnnamed87(core.Map o) { +void checkUnnamed93(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkType(o['x']!); checkType(o['y']!); } -core.Map buildUnnamed88() => { +core.Map buildUnnamed94() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -5207,34 +5514,34 @@ core.Map buildUnnamed88() => { }, }; -void checkUnnamed88(core.Map o) { +void checkUnnamed94(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted31 = (o['x']!) as core.Map; - unittest.expect(casted31, unittest.hasLength(3)); + var casted33 = (o['x']!) as core.Map; + unittest.expect(casted33, unittest.hasLength(3)); unittest.expect( - casted31['list'], + casted33['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted31['bool'], + casted33['bool'], unittest.equals(true), ); unittest.expect( - casted31['string'], + casted33['string'], unittest.equals('foo'), ); - var casted32 = (o['y']!) as core.Map; - unittest.expect(casted32, unittest.hasLength(3)); + var casted34 = (o['y']!) as core.Map; + unittest.expect(casted34, unittest.hasLength(3)); unittest.expect( - casted32['list'], + casted34['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted32['bool'], + casted34['bool'], unittest.equals(true), ); unittest.expect( - casted32['string'], + casted34['string'], unittest.equals('foo'), ); } @@ -5244,8 +5551,8 @@ api.Statement buildStatement() { final o = api.Statement(); buildCounterStatement++; if (buildCounterStatement < 3) { - o.paramTypes = buildUnnamed87(); - o.params = buildUnnamed88(); + o.paramTypes = buildUnnamed93(); + o.params = buildUnnamed94(); o.sql = 'foo'; } buildCounterStatement--; @@ -5255,8 +5562,8 @@ api.Statement buildStatement() { void checkStatement(api.Statement o) { buildCounterStatement++; if (buildCounterStatement < 3) { - checkUnnamed87(o.paramTypes!); - checkUnnamed88(o.params!); + checkUnnamed93(o.paramTypes!); + checkUnnamed94(o.params!); unittest.expect( o.sql!, unittest.equals('foo'), @@ -5265,7 +5572,7 @@ void checkStatement(api.Statement o) { buildCounterStatement--; } -core.Map buildUnnamed89() => { +core.Map buildUnnamed95() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -5278,47 +5585,47 @@ core.Map buildUnnamed89() => { }, }; -void checkUnnamed89(core.Map o) { +void checkUnnamed95(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted33 = (o['x']!) as core.Map; - unittest.expect(casted33, unittest.hasLength(3)); + var casted35 = (o['x']!) as core.Map; + unittest.expect(casted35, unittest.hasLength(3)); unittest.expect( - casted33['list'], + casted35['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted33['bool'], + casted35['bool'], unittest.equals(true), ); unittest.expect( - casted33['string'], + casted35['string'], unittest.equals('foo'), ); - var casted34 = (o['y']!) as core.Map; - unittest.expect(casted34, unittest.hasLength(3)); + var casted36 = (o['y']!) as core.Map; + unittest.expect(casted36, unittest.hasLength(3)); unittest.expect( - casted34['list'], + casted36['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted34['bool'], + casted36['bool'], unittest.equals(true), ); unittest.expect( - casted34['string'], + casted36['string'], unittest.equals('foo'), ); } -core.List> buildUnnamed90() => [ - buildUnnamed89(), - buildUnnamed89(), +core.List> buildUnnamed96() => [ + buildUnnamed95(), + buildUnnamed95(), ]; -void checkUnnamed90(core.List> o) { +void checkUnnamed96(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed89(o[0]); - checkUnnamed89(o[1]); + checkUnnamed95(o[0]); + checkUnnamed95(o[1]); } core.int buildCounterStatus = 0; @@ -5327,7 +5634,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed90(); + o.details = buildUnnamed96(); o.message = 'foo'; } buildCounterStatus--; @@ -5341,7 +5648,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed90(o.details!); + checkUnnamed96(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -5350,12 +5657,12 @@ void checkStatus(api.Status o) { buildCounterStatus--; } -core.List buildUnnamed91() => [ +core.List buildUnnamed97() => [ buildField(), buildField(), ]; -void checkUnnamed91(core.List o) { +void checkUnnamed97(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkField(o[0]); checkField(o[1]); @@ -5366,7 +5673,7 @@ api.StructType buildStructType() { final o = api.StructType(); buildCounterStructType++; if (buildCounterStructType < 3) { - o.fields = buildUnnamed91(); + o.fields = buildUnnamed97(); } buildCounterStructType--; return o; @@ -5375,17 +5682,17 @@ api.StructType buildStructType() { void checkStructType(api.StructType o) { buildCounterStructType++; if (buildCounterStructType < 3) { - checkUnnamed91(o.fields!); + checkUnnamed97(o.fields!); } buildCounterStructType--; } -core.List buildUnnamed92() => [ +core.List buildUnnamed98() => [ 'foo', 'foo', ]; -void checkUnnamed92(core.List o) { +void checkUnnamed98(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5402,7 +5709,7 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { final o = api.TestIamPermissionsRequest(); buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - o.permissions = buildUnnamed92(); + o.permissions = buildUnnamed98(); } buildCounterTestIamPermissionsRequest--; return o; @@ -5411,17 +5718,17 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { void checkTestIamPermissionsRequest(api.TestIamPermissionsRequest o) { buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - checkUnnamed92(o.permissions!); + checkUnnamed98(o.permissions!); } buildCounterTestIamPermissionsRequest--; } -core.List buildUnnamed93() => [ +core.List buildUnnamed99() => [ 'foo', 'foo', ]; -void checkUnnamed93(core.List o) { +void checkUnnamed99(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5438,7 +5745,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { final o = api.TestIamPermissionsResponse(); buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - o.permissions = buildUnnamed93(); + o.permissions = buildUnnamed99(); } buildCounterTestIamPermissionsResponse--; return o; @@ -5447,7 +5754,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { void checkTestIamPermissionsResponse(api.TestIamPermissionsResponse o) { buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - checkUnnamed93(o.permissions!); + checkUnnamed99(o.permissions!); } buildCounterTestIamPermissionsResponse--; } @@ -5568,12 +5875,12 @@ void checkType(api.Type o) { buildCounterType--; } -core.List buildUnnamed94() => [ +core.List buildUnnamed100() => [ 'foo', 'foo', ]; -void checkUnnamed94(core.List o) { +void checkUnnamed100(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5592,7 +5899,7 @@ api.UpdateDatabaseDdlRequest buildUpdateDatabaseDdlRequest() { if (buildCounterUpdateDatabaseDdlRequest < 3) { o.operationId = 'foo'; o.protoDescriptors = 'foo'; - o.statements = buildUnnamed94(); + o.statements = buildUnnamed100(); } buildCounterUpdateDatabaseDdlRequest--; return o; @@ -5609,7 +5916,7 @@ void checkUpdateDatabaseDdlRequest(api.UpdateDatabaseDdlRequest o) { o.protoDescriptors!, unittest.equals('foo'), ); - checkUnnamed94(o.statements!); + checkUnnamed100(o.statements!); } buildCounterUpdateDatabaseDdlRequest--; } @@ -5688,23 +5995,23 @@ void checkUpdateInstanceRequest(api.UpdateInstanceRequest o) { buildCounterUpdateInstanceRequest--; } -core.List buildUnnamed95() => [ +core.List buildUnnamed101() => [ buildDiagnosticMessage(), buildDiagnosticMessage(), ]; -void checkUnnamed95(core.List o) { +void checkUnnamed101(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDiagnosticMessage(o[0]); checkDiagnosticMessage(o[1]); } -core.List buildUnnamed96() => [ +core.List buildUnnamed102() => [ 'foo', 'foo', ]; -void checkUnnamed96(core.List o) { +void checkUnnamed102(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5716,12 +6023,12 @@ void checkUnnamed96(core.List o) { ); } -core.List buildUnnamed97() => [ +core.List buildUnnamed103() => [ 'foo', 'foo', ]; -void checkUnnamed97(core.List o) { +void checkUnnamed103(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5733,23 +6040,23 @@ void checkUnnamed97(core.List o) { ); } -core.List buildUnnamed98() => [ +core.List buildUnnamed104() => [ buildMetric(), buildMetric(), ]; -void checkUnnamed98(core.List o) { +void checkUnnamed104(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMetric(o[0]); checkMetric(o[1]); } -core.List buildUnnamed99() => [ +core.List buildUnnamed105() => [ buildPrefixNode(), buildPrefixNode(), ]; -void checkUnnamed99(core.List o) { +void checkUnnamed105(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPrefixNode(o[0]); checkPrefixNode(o[1]); @@ -5762,14 +6069,14 @@ api.VisualizationData buildVisualizationData() { if (buildCounterVisualizationData < 3) { o.dataSourceEndToken = 'foo'; o.dataSourceSeparatorToken = 'foo'; - o.diagnosticMessages = buildUnnamed95(); - o.endKeyStrings = buildUnnamed96(); + o.diagnosticMessages = buildUnnamed101(); + o.endKeyStrings = buildUnnamed102(); o.hasPii = true; - o.indexedKeys = buildUnnamed97(); + o.indexedKeys = buildUnnamed103(); o.keySeparator = 'foo'; o.keyUnit = 'foo'; - o.metrics = buildUnnamed98(); - o.prefixNodes = buildUnnamed99(); + o.metrics = buildUnnamed104(); + o.prefixNodes = buildUnnamed105(); } buildCounterVisualizationData--; return o; @@ -5786,10 +6093,10 @@ void checkVisualizationData(api.VisualizationData o) { o.dataSourceSeparatorToken!, unittest.equals('foo'), ); - checkUnnamed95(o.diagnosticMessages!); - checkUnnamed96(o.endKeyStrings!); + checkUnnamed101(o.diagnosticMessages!); + checkUnnamed102(o.endKeyStrings!); unittest.expect(o.hasPii!, unittest.isTrue); - checkUnnamed97(o.indexedKeys!); + checkUnnamed103(o.indexedKeys!); unittest.expect( o.keySeparator!, unittest.equals('foo'), @@ -5798,18 +6105,18 @@ void checkVisualizationData(api.VisualizationData o) { o.keyUnit!, unittest.equals('foo'), ); - checkUnnamed98(o.metrics!); - checkUnnamed99(o.prefixNodes!); + checkUnnamed104(o.metrics!); + checkUnnamed105(o.prefixNodes!); } buildCounterVisualizationData--; } -core.List buildUnnamed100() => [ +core.List buildUnnamed106() => [ 'foo', 'foo', ]; -void checkUnnamed100(core.List o) { +void checkUnnamed106(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5821,7 +6128,7 @@ void checkUnnamed100(core.List o) { ); } -core.List buildUnnamed101() => [ +core.List buildUnnamed107() => [ { 'list': [1, 2, 3], 'bool': true, @@ -5834,47 +6141,47 @@ core.List buildUnnamed101() => [ }, ]; -void checkUnnamed101(core.List o) { +void checkUnnamed107(core.List o) { unittest.expect(o, unittest.hasLength(2)); - var casted35 = (o[0]) as core.Map; - unittest.expect(casted35, unittest.hasLength(3)); + var casted37 = (o[0]) as core.Map; + unittest.expect(casted37, unittest.hasLength(3)); unittest.expect( - casted35['list'], + casted37['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted35['bool'], + casted37['bool'], unittest.equals(true), ); unittest.expect( - casted35['string'], + casted37['string'], unittest.equals('foo'), ); - var casted36 = (o[1]) as core.Map; - unittest.expect(casted36, unittest.hasLength(3)); + var casted38 = (o[1]) as core.Map; + unittest.expect(casted38, unittest.hasLength(3)); unittest.expect( - casted36['list'], + casted38['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted36['bool'], + casted38['bool'], unittest.equals(true), ); unittest.expect( - casted36['string'], + casted38['string'], unittest.equals('foo'), ); } -core.List> buildUnnamed102() => [ - buildUnnamed101(), - buildUnnamed101(), +core.List> buildUnnamed108() => [ + buildUnnamed107(), + buildUnnamed107(), ]; -void checkUnnamed102(core.List> o) { +void checkUnnamed108(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed101(o[0]); - checkUnnamed101(o[1]); + checkUnnamed107(o[0]); + checkUnnamed107(o[1]); } core.int buildCounterWrite = 0; @@ -5882,9 +6189,9 @@ api.Write buildWrite() { final o = api.Write(); buildCounterWrite++; if (buildCounterWrite < 3) { - o.columns = buildUnnamed100(); + o.columns = buildUnnamed106(); o.table = 'foo'; - o.values = buildUnnamed102(); + o.values = buildUnnamed108(); } buildCounterWrite--; return o; @@ -5893,22 +6200,22 @@ api.Write buildWrite() { void checkWrite(api.Write o) { buildCounterWrite++; if (buildCounterWrite < 3) { - checkUnnamed100(o.columns!); + checkUnnamed106(o.columns!); unittest.expect( o.table!, unittest.equals('foo'), ); - checkUnnamed102(o.values!); + checkUnnamed108(o.values!); } buildCounterWrite--; } -core.List buildUnnamed103() => [ +core.List buildUnnamed109() => [ 'foo', 'foo', ]; -void checkUnnamed103(core.List o) { +void checkUnnamed109(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5921,6 +6228,56 @@ void checkUnnamed103(core.List o) { } void main() { + unittest.group('obj-schema-AdaptMessageRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildAdaptMessageRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AdaptMessageRequest.fromJson( + oJson as core.Map); + checkAdaptMessageRequest(od); + }); + }); + + unittest.group('obj-schema-AdaptMessageResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildAdaptMessageResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AdaptMessageResponse.fromJson( + oJson as core.Map); + checkAdaptMessageResponse(od); + }); + }); + + unittest.group('obj-schema-AdapterSession', () { + unittest.test('to-json--from-json', () async { + final o = buildAdapterSession(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AdapterSession.fromJson( + oJson as core.Map); + checkAdapterSession(od); + }); + }); + + unittest.group('obj-schema-AddSplitPointsRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildAddSplitPointsRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AddSplitPointsRequest.fromJson( + oJson as core.Map); + checkAddSplitPointsRequest(od); + }); + }); + + unittest.group('obj-schema-AddSplitPointsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildAddSplitPointsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AddSplitPointsResponse.fromJson( + oJson as core.Map); + checkAddSplitPointsResponse(od); + }); + }); + unittest.group('obj-schema-AsymmetricAutoscalingOption', () { unittest.test('to-json--from-json', () async { final o = buildAsymmetricAutoscalingOption(); @@ -5991,6 +6348,16 @@ void main() { }); }); + unittest.group('obj-schema-BackupInstancePartition', () { + unittest.test('to-json--from-json', () async { + final o = buildBackupInstancePartition(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BackupInstancePartition.fromJson( + oJson as core.Map); + checkBackupInstancePartition(od); + }); + }); + unittest.group('obj-schema-BackupSchedule', () { unittest.test('to-json--from-json', () async { final o = buildBackupSchedule(); @@ -6521,6 +6888,15 @@ void main() { }); }); + unittest.group('obj-schema-Key', () { + unittest.test('to-json--from-json', () async { + final o = buildKey(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.Key.fromJson(oJson as core.Map); + checkKey(od); + }); + }); + unittest.group('obj-schema-KeyRange', () { unittest.test('to-json--from-json', () async { final o = buildKeyRange(); @@ -7141,6 +7517,16 @@ void main() { }); }); + unittest.group('obj-schema-SplitPoints', () { + unittest.test('to-json--from-json', () async { + final o = buildSplitPoints(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SplitPoints.fromJson( + oJson as core.Map); + checkSplitPoints(od); + }); + }); + unittest.group('obj-schema-Statement', () { unittest.test('to-json--from-json', () async { final o = buildStatement(); @@ -8807,7 +9193,7 @@ void main() { final arg_backupId = 'foo'; final arg_encryptionConfig_encryptionType = 'foo'; final arg_encryptionConfig_kmsKeyName = 'foo'; - final arg_encryptionConfig_kmsKeyNames = buildUnnamed103(); + final arg_encryptionConfig_kmsKeyNames = buildUnnamed109(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = @@ -9599,6 +9985,64 @@ void main() { }); unittest.group('resource-ProjectsInstancesDatabasesResource', () { + unittest.test('method--addSplitPoints', () async { + final mock = HttpServerMock(); + final res = api.SpannerApi(mock).projects.instances.databases; + final arg_request = buildAddSplitPointsRequest(); + final arg_database = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.AddSplitPointsRequest.fromJson( + json as core.Map); + checkAddSplitPointsRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildAddSplitPointsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.addSplitPoints(arg_request, arg_database, + $fields: arg_$fields); + checkAddSplitPointsResponse(response as api.AddSplitPointsResponse); + }); + unittest.test('method--changequorum', () async { final mock = HttpServerMock(); final res = api.SpannerApi(mock).projects.instances.databases; @@ -11204,6 +11648,122 @@ void main() { }); unittest.group('resource-ProjectsInstancesDatabasesSessionsResource', () { + unittest.test('method--adaptMessage', () async { + final mock = HttpServerMock(); + final res = api.SpannerApi(mock).projects.instances.databases.sessions; + final arg_request = buildAdaptMessageRequest(); + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.AdaptMessageRequest.fromJson( + json as core.Map); + checkAdaptMessageRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildAdaptMessageResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.adaptMessage(arg_request, arg_name, $fields: arg_$fields); + checkAdaptMessageResponse(response as api.AdaptMessageResponse); + }); + + unittest.test('method--adapter', () async { + final mock = HttpServerMock(); + final res = api.SpannerApi(mock).projects.instances.databases.sessions; + final arg_request = buildAdapterSession(); + final arg_parent = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.AdapterSession.fromJson( + json as core.Map); + checkAdapterSession(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildAdapterSession()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.adapter(arg_request, arg_parent, $fields: arg_$fields); + checkAdapterSession(response as api.AdapterSession); + }); + unittest.test('method--batchCreate', () async { final mock = HttpServerMock(); final res = api.SpannerApi(mock).projects.instances.databases.sessions; diff --git a/generated/googleapis/test/tagmanager/v2_test.dart b/generated/googleapis/test/tagmanager/v2_test.dart index c1848ec15..7e2306e1e 100644 --- a/generated/googleapis/test/tagmanager/v2_test.dart +++ b/generated/googleapis/test/tagmanager/v2_test.dart @@ -1246,6 +1246,7 @@ api.GalleryReference buildGalleryReference() { final o = api.GalleryReference(); buildCounterGalleryReference++; if (buildCounterGalleryReference < 3) { + o.galleryTemplateId = 'foo'; o.host = 'foo'; o.isModified = true; o.owner = 'foo'; @@ -1261,6 +1262,10 @@ api.GalleryReference buildGalleryReference() { void checkGalleryReference(api.GalleryReference o) { buildCounterGalleryReference++; if (buildCounterGalleryReference < 3) { + unittest.expect( + o.galleryTemplateId!, + unittest.equals('foo'), + ); unittest.expect( o.host!, unittest.equals('foo'), @@ -1295,6 +1300,7 @@ api.GetContainerSnippetResponse buildGetContainerSnippetResponse() { final o = api.GetContainerSnippetResponse(); buildCounterGetContainerSnippetResponse++; if (buildCounterGetContainerSnippetResponse < 3) { + o.containerConfig = 'foo'; o.snippet = 'foo'; } buildCounterGetContainerSnippetResponse--; @@ -1304,6 +1310,10 @@ api.GetContainerSnippetResponse buildGetContainerSnippetResponse() { void checkGetContainerSnippetResponse(api.GetContainerSnippetResponse o) { buildCounterGetContainerSnippetResponse++; if (buildCounterGetContainerSnippetResponse < 3) { + unittest.expect( + o.containerConfig!, + unittest.equals('foo'), + ); unittest.expect( o.snippet!, unittest.equals('foo'), diff --git a/generated/googleapis/test/testing/v1_test.dart b/generated/googleapis/test/testing/v1_test.dart index 895475856..0735b5bcf 100644 --- a/generated/googleapis/test/testing/v1_test.dart +++ b/generated/googleapis/test/testing/v1_test.dart @@ -2010,6 +2010,7 @@ api.LabInfo buildLabInfo() { buildCounterLabInfo++; if (buildCounterLabInfo < 3) { o.name = 'foo'; + o.regionCode = 'foo'; } buildCounterLabInfo--; return o; @@ -2022,6 +2023,10 @@ void checkLabInfo(api.LabInfo o) { o.name!, unittest.equals('foo'), ); + unittest.expect( + o.regionCode!, + unittest.equals('foo'), + ); } buildCounterLabInfo--; } diff --git a/generated/googleapis/test/tpu/v2_test.dart b/generated/googleapis/test/tpu/v2_test.dart index f06b4de51..860b5f7cd 100644 --- a/generated/googleapis/test/tpu/v2_test.dart +++ b/generated/googleapis/test/tpu/v2_test.dart @@ -998,34 +998,45 @@ void checkUnnamed18(core.Map o) { ); } -core.List buildUnnamed19() => [ +core.List buildUnnamed19() => [ + buildNetworkConfig(), + buildNetworkConfig(), + ]; + +void checkUnnamed19(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkNetworkConfig(o[0]); + checkNetworkConfig(o[1]); +} + +core.List buildUnnamed20() => [ buildNetworkEndpoint(), buildNetworkEndpoint(), ]; -void checkUnnamed19(core.List o) { +void checkUnnamed20(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkEndpoint(o[0]); checkNetworkEndpoint(o[1]); } -core.List buildUnnamed20() => [ +core.List buildUnnamed21() => [ buildSymptom(), buildSymptom(), ]; -void checkUnnamed20(core.List o) { +void checkUnnamed21(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSymptom(o[0]); checkSymptom(o[1]); } -core.List buildUnnamed21() => [ +core.List buildUnnamed22() => [ 'foo', 'foo', ]; -void checkUnnamed21(core.List o) { +void checkUnnamed22(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1057,15 +1068,16 @@ api.Node buildNode() { o.multisliceNode = true; o.name = 'foo'; o.networkConfig = buildNetworkConfig(); - o.networkEndpoints = buildUnnamed19(); + o.networkConfigs = buildUnnamed19(); + o.networkEndpoints = buildUnnamed20(); o.queuedResource = 'foo'; o.runtimeVersion = 'foo'; o.schedulingConfig = buildSchedulingConfig(); o.serviceAccount = buildServiceAccount(); o.shieldedInstanceConfig = buildShieldedInstanceConfig(); o.state = 'foo'; - o.symptoms = buildUnnamed20(); - o.tags = buildUnnamed21(); + o.symptoms = buildUnnamed21(); + o.tags = buildUnnamed22(); } buildCounterNode--; return o; @@ -1116,7 +1128,8 @@ void checkNode(api.Node o) { unittest.equals('foo'), ); checkNetworkConfig(o.networkConfig!); - checkUnnamed19(o.networkEndpoints!); + checkUnnamed19(o.networkConfigs!); + checkUnnamed20(o.networkEndpoints!); unittest.expect( o.queuedResource!, unittest.equals('foo'), @@ -1132,8 +1145,8 @@ void checkNode(api.Node o) { o.state!, unittest.equals('foo'), ); - checkUnnamed20(o.symptoms!); - checkUnnamed21(o.tags!); + checkUnnamed21(o.symptoms!); + checkUnnamed22(o.tags!); } buildCounterNode--; } @@ -1169,7 +1182,7 @@ void checkNodeSpec(api.NodeSpec o) { buildCounterNodeSpec--; } -core.Map buildUnnamed22() => { +core.Map buildUnnamed23() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1182,7 +1195,7 @@ core.Map buildUnnamed22() => { }, }; -void checkUnnamed22(core.Map o) { +void checkUnnamed23(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -1214,7 +1227,7 @@ void checkUnnamed22(core.Map o) { ); } -core.Map buildUnnamed23() => { +core.Map buildUnnamed24() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1227,7 +1240,7 @@ core.Map buildUnnamed23() => { }, }; -void checkUnnamed23(core.Map o) { +void checkUnnamed24(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -1266,9 +1279,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed22(); + o.metadata = buildUnnamed23(); o.name = 'foo'; - o.response = buildUnnamed23(); + o.response = buildUnnamed24(); } buildCounterOperation--; return o; @@ -1279,12 +1292,12 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed22(o.metadata!); + checkUnnamed23(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed23(o.response!); + checkUnnamed24(o.response!); } buildCounterOperation--; } @@ -1493,12 +1506,12 @@ void checkSchedulingConfig(api.SchedulingConfig o) { buildCounterSchedulingConfig--; } -core.List buildUnnamed24() => [ +core.List buildUnnamed25() => [ 'foo', 'foo', ]; -void checkUnnamed24(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1516,7 +1529,7 @@ api.ServiceAccount buildServiceAccount() { buildCounterServiceAccount++; if (buildCounterServiceAccount < 3) { o.email = 'foo'; - o.scope = buildUnnamed24(); + o.scope = buildUnnamed25(); } buildCounterServiceAccount--; return o; @@ -1529,7 +1542,7 @@ void checkServiceAccount(api.ServiceAccount o) { o.email!, unittest.equals('foo'), ); - checkUnnamed24(o.scope!); + checkUnnamed25(o.scope!); } buildCounterServiceAccount--; } @@ -1605,7 +1618,7 @@ void checkStartNodeRequest(api.StartNodeRequest o) { buildCounterStartNodeRequest--; } -core.Map buildUnnamed25() => { +core.Map buildUnnamed26() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1618,7 +1631,7 @@ core.Map buildUnnamed25() => { }, }; -void checkUnnamed25(core.Map o) { +void checkUnnamed26(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -1650,15 +1663,15 @@ void checkUnnamed25(core.Map o) { ); } -core.List> buildUnnamed26() => [ - buildUnnamed25(), - buildUnnamed25(), +core.List> buildUnnamed27() => [ + buildUnnamed26(), + buildUnnamed26(), ]; -void checkUnnamed26(core.List> o) { +void checkUnnamed27(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed25(o[0]); - checkUnnamed25(o[1]); + checkUnnamed26(o[0]); + checkUnnamed26(o[1]); } core.int buildCounterStatus = 0; @@ -1667,7 +1680,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed26(); + o.details = buildUnnamed27(); o.message = 'foo'; } buildCounterStatus--; @@ -1681,7 +1694,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed26(o.details!); + checkUnnamed27(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -1772,12 +1785,12 @@ void checkSymptom(api.Symptom o) { buildCounterSymptom--; } -core.List buildUnnamed27() => [ +core.List buildUnnamed28() => [ buildNodeSpec(), buildNodeSpec(), ]; -void checkUnnamed27(core.List o) { +void checkUnnamed28(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodeSpec(o[0]); checkNodeSpec(o[1]); @@ -1788,7 +1801,7 @@ api.Tpu buildTpu() { final o = api.Tpu(); buildCounterTpu++; if (buildCounterTpu < 3) { - o.nodeSpec = buildUnnamed27(); + o.nodeSpec = buildUnnamed28(); } buildCounterTpu--; return o; @@ -1797,7 +1810,7 @@ api.Tpu buildTpu() { void checkTpu(api.Tpu o) { buildCounterTpu++; if (buildCounterTpu < 3) { - checkUnnamed27(o.nodeSpec!); + checkUnnamed28(o.nodeSpec!); } buildCounterTpu--; } diff --git a/generated/googleapis/test/vault/v1_test.dart b/generated/googleapis/test/vault/v1_test.dart index 1381881a8..0a2357e9e 100644 --- a/generated/googleapis/test/vault/v1_test.dart +++ b/generated/googleapis/test/vault/v1_test.dart @@ -480,6 +480,61 @@ void checkCountArtifactsRequest(api.CountArtifactsRequest o) { buildCounterCountArtifactsRequest--; } +core.List buildUnnamed9() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed9(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterDriveDocumentIds = 0; +api.DriveDocumentIds buildDriveDocumentIds() { + final o = api.DriveDocumentIds(); + buildCounterDriveDocumentIds++; + if (buildCounterDriveDocumentIds < 3) { + o.ids = buildUnnamed9(); + } + buildCounterDriveDocumentIds--; + return o; +} + +void checkDriveDocumentIds(api.DriveDocumentIds o) { + buildCounterDriveDocumentIds++; + if (buildCounterDriveDocumentIds < 3) { + checkUnnamed9(o.ids!); + } + buildCounterDriveDocumentIds--; +} + +core.int buildCounterDriveDocumentInfo = 0; +api.DriveDocumentInfo buildDriveDocumentInfo() { + final o = api.DriveDocumentInfo(); + buildCounterDriveDocumentInfo++; + if (buildCounterDriveDocumentInfo < 3) { + o.documentIds = buildDriveDocumentIds(); + } + buildCounterDriveDocumentInfo--; + return o; +} + +void checkDriveDocumentInfo(api.DriveDocumentInfo o) { + buildCounterDriveDocumentInfo++; + if (buildCounterDriveDocumentInfo < 3) { + checkDriveDocumentIds(o.documentIds!); + } + buildCounterDriveDocumentInfo--; +} + core.int buildCounterDriveExportOptions = 0; api.DriveExportOptions buildDriveExportOptions() { final o = api.DriveExportOptions(); @@ -609,6 +664,7 @@ api.ExportOptions buildExportOptions() { if (buildCounterExportOptions < 3) { o.calendarOptions = buildCalendarExportOptions(); o.driveOptions = buildDriveExportOptions(); + o.geminiOptions = buildGeminiExportOptions(); o.groupsOptions = buildGroupsExportOptions(); o.hangoutsChatOptions = buildHangoutsChatExportOptions(); o.mailOptions = buildMailExportOptions(); @@ -624,6 +680,7 @@ void checkExportOptions(api.ExportOptions o) { if (buildCounterExportOptions < 3) { checkCalendarExportOptions(o.calendarOptions!); checkDriveExportOptions(o.driveOptions!); + checkGeminiExportOptions(o.geminiOptions!); checkGroupsExportOptions(o.groupsOptions!); checkHangoutsChatExportOptions(o.hangoutsChatOptions!); checkMailExportOptions(o.mailOptions!); @@ -668,6 +725,43 @@ void checkExportStats(api.ExportStats o) { buildCounterExportStats--; } +core.int buildCounterGeminiExportOptions = 0; +api.GeminiExportOptions buildGeminiExportOptions() { + final o = api.GeminiExportOptions(); + buildCounterGeminiExportOptions++; + if (buildCounterGeminiExportOptions < 3) { + o.exportFormat = 'foo'; + } + buildCounterGeminiExportOptions--; + return o; +} + +void checkGeminiExportOptions(api.GeminiExportOptions o) { + buildCounterGeminiExportOptions++; + if (buildCounterGeminiExportOptions < 3) { + unittest.expect( + o.exportFormat!, + unittest.equals('foo'), + ); + } + buildCounterGeminiExportOptions--; +} + +core.int buildCounterGeminiOptions = 0; +api.GeminiOptions buildGeminiOptions() { + final o = api.GeminiOptions(); + buildCounterGeminiOptions++; + if (buildCounterGeminiOptions < 3) {} + buildCounterGeminiOptions--; + return o; +} + +void checkGeminiOptions(api.GeminiOptions o) { + buildCounterGeminiOptions++; + if (buildCounterGeminiOptions < 3) {} + buildCounterGeminiOptions--; +} + core.int buildCounterGroupsExportOptions = 0; api.GroupsExportOptions buildGroupsExportOptions() { final o = api.GroupsExportOptions(); @@ -712,12 +806,12 @@ void checkHangoutsChatExportOptions(api.HangoutsChatExportOptions o) { buildCounterHangoutsChatExportOptions--; } -core.List buildUnnamed9() => [ +core.List buildUnnamed10() => [ 'foo', 'foo', ]; -void checkUnnamed9(core.List o) { +void checkUnnamed10(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -734,7 +828,7 @@ api.HangoutsChatInfo buildHangoutsChatInfo() { final o = api.HangoutsChatInfo(); buildCounterHangoutsChatInfo++; if (buildCounterHangoutsChatInfo < 3) { - o.roomId = buildUnnamed9(); + o.roomId = buildUnnamed10(); } buildCounterHangoutsChatInfo--; return o; @@ -743,7 +837,7 @@ api.HangoutsChatInfo buildHangoutsChatInfo() { void checkHangoutsChatInfo(api.HangoutsChatInfo o) { buildCounterHangoutsChatInfo++; if (buildCounterHangoutsChatInfo < 3) { - checkUnnamed9(o.roomId!); + checkUnnamed10(o.roomId!); } buildCounterHangoutsChatInfo--; } @@ -955,12 +1049,12 @@ void checkHeldOrgUnit(api.HeldOrgUnit o) { buildCounterHeldOrgUnit--; } -core.List buildUnnamed10() => [ +core.List buildUnnamed11() => [ 'foo', 'foo', ]; -void checkUnnamed10(core.List o) { +void checkUnnamed11(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -977,7 +1071,7 @@ api.HeldVoiceQuery buildHeldVoiceQuery() { final o = api.HeldVoiceQuery(); buildCounterHeldVoiceQuery++; if (buildCounterHeldVoiceQuery < 3) { - o.coveredData = buildUnnamed10(); + o.coveredData = buildUnnamed11(); } buildCounterHeldVoiceQuery--; return o; @@ -986,17 +1080,17 @@ api.HeldVoiceQuery buildHeldVoiceQuery() { void checkHeldVoiceQuery(api.HeldVoiceQuery o) { buildCounterHeldVoiceQuery++; if (buildCounterHeldVoiceQuery < 3) { - checkUnnamed10(o.coveredData!); + checkUnnamed11(o.coveredData!); } buildCounterHeldVoiceQuery--; } -core.List buildUnnamed11() => [ +core.List buildUnnamed12() => [ buildHeldAccount(), buildHeldAccount(), ]; -void checkUnnamed11(core.List o) { +void checkUnnamed12(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHeldAccount(o[0]); checkHeldAccount(o[1]); @@ -1007,7 +1101,7 @@ api.Hold buildHold() { final o = api.Hold(); buildCounterHold++; if (buildCounterHold < 3) { - o.accounts = buildUnnamed11(); + o.accounts = buildUnnamed12(); o.corpus = 'foo'; o.holdId = 'foo'; o.name = 'foo'; @@ -1022,7 +1116,7 @@ api.Hold buildHold() { void checkHold(api.Hold o) { buildCounterHold++; if (buildCounterHold < 3) { - checkUnnamed11(o.accounts!); + checkUnnamed12(o.accounts!); unittest.expect( o.corpus!, unittest.equals('foo'), @@ -1045,12 +1139,12 @@ void checkHold(api.Hold o) { buildCounterHold--; } -core.List buildUnnamed12() => [ +core.List buildUnnamed13() => [ buildExport(), buildExport(), ]; -void checkUnnamed12(core.List o) { +void checkUnnamed13(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExport(o[0]); checkExport(o[1]); @@ -1061,7 +1155,7 @@ api.ListExportsResponse buildListExportsResponse() { final o = api.ListExportsResponse(); buildCounterListExportsResponse++; if (buildCounterListExportsResponse < 3) { - o.exports = buildUnnamed12(); + o.exports = buildUnnamed13(); o.nextPageToken = 'foo'; } buildCounterListExportsResponse--; @@ -1071,7 +1165,7 @@ api.ListExportsResponse buildListExportsResponse() { void checkListExportsResponse(api.ListExportsResponse o) { buildCounterListExportsResponse++; if (buildCounterListExportsResponse < 3) { - checkUnnamed12(o.exports!); + checkUnnamed13(o.exports!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -1080,12 +1174,12 @@ void checkListExportsResponse(api.ListExportsResponse o) { buildCounterListExportsResponse--; } -core.List buildUnnamed13() => [ +core.List buildUnnamed14() => [ buildHeldAccount(), buildHeldAccount(), ]; -void checkUnnamed13(core.List o) { +void checkUnnamed14(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHeldAccount(o[0]); checkHeldAccount(o[1]); @@ -1096,7 +1190,7 @@ api.ListHeldAccountsResponse buildListHeldAccountsResponse() { final o = api.ListHeldAccountsResponse(); buildCounterListHeldAccountsResponse++; if (buildCounterListHeldAccountsResponse < 3) { - o.accounts = buildUnnamed13(); + o.accounts = buildUnnamed14(); } buildCounterListHeldAccountsResponse--; return o; @@ -1105,17 +1199,17 @@ api.ListHeldAccountsResponse buildListHeldAccountsResponse() { void checkListHeldAccountsResponse(api.ListHeldAccountsResponse o) { buildCounterListHeldAccountsResponse++; if (buildCounterListHeldAccountsResponse < 3) { - checkUnnamed13(o.accounts!); + checkUnnamed14(o.accounts!); } buildCounterListHeldAccountsResponse--; } -core.List buildUnnamed14() => [ +core.List buildUnnamed15() => [ buildHold(), buildHold(), ]; -void checkUnnamed14(core.List o) { +void checkUnnamed15(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHold(o[0]); checkHold(o[1]); @@ -1126,7 +1220,7 @@ api.ListHoldsResponse buildListHoldsResponse() { final o = api.ListHoldsResponse(); buildCounterListHoldsResponse++; if (buildCounterListHoldsResponse < 3) { - o.holds = buildUnnamed14(); + o.holds = buildUnnamed15(); o.nextPageToken = 'foo'; } buildCounterListHoldsResponse--; @@ -1136,7 +1230,7 @@ api.ListHoldsResponse buildListHoldsResponse() { void checkListHoldsResponse(api.ListHoldsResponse o) { buildCounterListHoldsResponse++; if (buildCounterListHoldsResponse < 3) { - checkUnnamed14(o.holds!); + checkUnnamed15(o.holds!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -1145,12 +1239,12 @@ void checkListHoldsResponse(api.ListHoldsResponse o) { buildCounterListHoldsResponse--; } -core.List buildUnnamed15() => [ +core.List buildUnnamed16() => [ buildMatter(), buildMatter(), ]; -void checkUnnamed15(core.List o) { +void checkUnnamed16(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMatter(o[0]); checkMatter(o[1]); @@ -1161,7 +1255,7 @@ api.ListMattersResponse buildListMattersResponse() { final o = api.ListMattersResponse(); buildCounterListMattersResponse++; if (buildCounterListMattersResponse < 3) { - o.matters = buildUnnamed15(); + o.matters = buildUnnamed16(); o.nextPageToken = 'foo'; } buildCounterListMattersResponse--; @@ -1171,7 +1265,7 @@ api.ListMattersResponse buildListMattersResponse() { void checkListMattersResponse(api.ListMattersResponse o) { buildCounterListMattersResponse++; if (buildCounterListMattersResponse < 3) { - checkUnnamed15(o.matters!); + checkUnnamed16(o.matters!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -1180,12 +1274,12 @@ void checkListMattersResponse(api.ListMattersResponse o) { buildCounterListMattersResponse--; } -core.List buildUnnamed16() => [ +core.List buildUnnamed17() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed16(core.List o) { +void checkUnnamed17(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -1197,7 +1291,7 @@ api.ListOperationsResponse buildListOperationsResponse() { buildCounterListOperationsResponse++; if (buildCounterListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed16(); + o.operations = buildUnnamed17(); } buildCounterListOperationsResponse--; return o; @@ -1210,17 +1304,17 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed16(o.operations!); + checkUnnamed17(o.operations!); } buildCounterListOperationsResponse--; } -core.List buildUnnamed17() => [ +core.List buildUnnamed18() => [ buildSavedQuery(), buildSavedQuery(), ]; -void checkUnnamed17(core.List o) { +void checkUnnamed18(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSavedQuery(o[0]); checkSavedQuery(o[1]); @@ -1232,7 +1326,7 @@ api.ListSavedQueriesResponse buildListSavedQueriesResponse() { buildCounterListSavedQueriesResponse++; if (buildCounterListSavedQueriesResponse < 3) { o.nextPageToken = 'foo'; - o.savedQueries = buildUnnamed17(); + o.savedQueries = buildUnnamed18(); } buildCounterListSavedQueriesResponse--; return o; @@ -1245,7 +1339,7 @@ void checkListSavedQueriesResponse(api.ListSavedQueriesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed17(o.savedQueries!); + checkUnnamed18(o.savedQueries!); } buildCounterListSavedQueriesResponse--; } @@ -1302,12 +1396,12 @@ void checkMailOptions(api.MailOptions o) { buildCounterMailOptions--; } -core.List buildUnnamed18() => [ +core.List buildUnnamed19() => [ buildMatterPermission(), buildMatterPermission(), ]; -void checkUnnamed18(core.List o) { +void checkUnnamed19(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMatterPermission(o[0]); checkMatterPermission(o[1]); @@ -1320,7 +1414,7 @@ api.Matter buildMatter() { if (buildCounterMatter < 3) { o.description = 'foo'; o.matterId = 'foo'; - o.matterPermissions = buildUnnamed18(); + o.matterPermissions = buildUnnamed19(); o.matterRegion = 'foo'; o.name = 'foo'; o.state = 'foo'; @@ -1340,7 +1434,7 @@ void checkMatter(api.Matter o) { o.matterId!, unittest.equals('foo'), ); - checkUnnamed18(o.matterPermissions!); + checkUnnamed19(o.matterPermissions!); unittest.expect( o.matterRegion!, unittest.equals('foo'), @@ -1384,7 +1478,7 @@ void checkMatterPermission(api.MatterPermission o) { buildCounterMatterPermission--; } -core.Map buildUnnamed19() => { +core.Map buildUnnamed20() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1397,7 +1491,7 @@ core.Map buildUnnamed19() => { }, }; -void checkUnnamed19(core.Map o) { +void checkUnnamed20(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -1429,7 +1523,7 @@ void checkUnnamed19(core.Map o) { ); } -core.Map buildUnnamed20() => { +core.Map buildUnnamed21() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1442,7 +1536,7 @@ core.Map buildUnnamed20() => { }, }; -void checkUnnamed20(core.Map o) { +void checkUnnamed21(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -1481,9 +1575,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed19(); + o.metadata = buildUnnamed20(); o.name = 'foo'; - o.response = buildUnnamed20(); + o.response = buildUnnamed21(); } buildCounterOperation--; return o; @@ -1494,12 +1588,12 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed19(o.metadata!); + checkUnnamed20(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed20(o.response!); + checkUnnamed21(o.response!); } buildCounterOperation--; } @@ -1535,8 +1629,10 @@ api.Query buildQuery() { o.calendarOptions = buildCalendarOptions(); o.corpus = 'foo'; o.dataScope = 'foo'; + o.driveDocumentInfo = buildDriveDocumentInfo(); o.driveOptions = buildDriveOptions(); o.endTime = 'foo'; + o.geminiOptions = buildGeminiOptions(); o.hangoutsChatInfo = buildHangoutsChatInfo(); o.hangoutsChatOptions = buildHangoutsChatOptions(); o.mailOptions = buildMailOptions(); @@ -1568,11 +1664,13 @@ void checkQuery(api.Query o) { o.dataScope!, unittest.equals('foo'), ); + checkDriveDocumentInfo(o.driveDocumentInfo!); checkDriveOptions(o.driveOptions!); unittest.expect( o.endTime!, unittest.equals('foo'), ); + checkGeminiOptions(o.geminiOptions!); checkHangoutsChatInfo(o.hangoutsChatInfo!); checkHangoutsChatOptions(o.hangoutsChatOptions!); checkMailOptions(o.mailOptions!); @@ -1605,12 +1703,12 @@ void checkQuery(api.Query o) { buildCounterQuery--; } -core.List buildUnnamed21() => [ +core.List buildUnnamed22() => [ 'foo', 'foo', ]; -void checkUnnamed21(core.List o) { +void checkUnnamed22(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1627,7 +1725,7 @@ api.RemoveHeldAccountsRequest buildRemoveHeldAccountsRequest() { final o = api.RemoveHeldAccountsRequest(); buildCounterRemoveHeldAccountsRequest++; if (buildCounterRemoveHeldAccountsRequest < 3) { - o.accountIds = buildUnnamed21(); + o.accountIds = buildUnnamed22(); } buildCounterRemoveHeldAccountsRequest--; return o; @@ -1636,17 +1734,17 @@ api.RemoveHeldAccountsRequest buildRemoveHeldAccountsRequest() { void checkRemoveHeldAccountsRequest(api.RemoveHeldAccountsRequest o) { buildCounterRemoveHeldAccountsRequest++; if (buildCounterRemoveHeldAccountsRequest < 3) { - checkUnnamed21(o.accountIds!); + checkUnnamed22(o.accountIds!); } buildCounterRemoveHeldAccountsRequest--; } -core.List buildUnnamed22() => [ +core.List buildUnnamed23() => [ buildStatus(), buildStatus(), ]; -void checkUnnamed22(core.List o) { +void checkUnnamed23(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStatus(o[0]); checkStatus(o[1]); @@ -1657,7 +1755,7 @@ api.RemoveHeldAccountsResponse buildRemoveHeldAccountsResponse() { final o = api.RemoveHeldAccountsResponse(); buildCounterRemoveHeldAccountsResponse++; if (buildCounterRemoveHeldAccountsResponse < 3) { - o.statuses = buildUnnamed22(); + o.statuses = buildUnnamed23(); } buildCounterRemoveHeldAccountsResponse--; return o; @@ -1666,7 +1764,7 @@ api.RemoveHeldAccountsResponse buildRemoveHeldAccountsResponse() { void checkRemoveHeldAccountsResponse(api.RemoveHeldAccountsResponse o) { buildCounterRemoveHeldAccountsResponse++; if (buildCounterRemoveHeldAccountsResponse < 3) { - checkUnnamed22(o.statuses!); + checkUnnamed23(o.statuses!); } buildCounterRemoveHeldAccountsResponse--; } @@ -1766,12 +1864,12 @@ void checkSavedQuery(api.SavedQuery o) { buildCounterSavedQuery--; } -core.List buildUnnamed23() => [ +core.List buildUnnamed24() => [ 'foo', 'foo', ]; -void checkUnnamed23(core.List o) { +void checkUnnamed24(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1788,7 +1886,7 @@ api.SharedDriveInfo buildSharedDriveInfo() { final o = api.SharedDriveInfo(); buildCounterSharedDriveInfo++; if (buildCounterSharedDriveInfo < 3) { - o.sharedDriveIds = buildUnnamed23(); + o.sharedDriveIds = buildUnnamed24(); } buildCounterSharedDriveInfo--; return o; @@ -1797,17 +1895,17 @@ api.SharedDriveInfo buildSharedDriveInfo() { void checkSharedDriveInfo(api.SharedDriveInfo o) { buildCounterSharedDriveInfo++; if (buildCounterSharedDriveInfo < 3) { - checkUnnamed23(o.sharedDriveIds!); + checkUnnamed24(o.sharedDriveIds!); } buildCounterSharedDriveInfo--; } -core.List buildUnnamed24() => [ +core.List buildUnnamed25() => [ 'foo', 'foo', ]; -void checkUnnamed24(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1824,7 +1922,7 @@ api.SitesUrlInfo buildSitesUrlInfo() { final o = api.SitesUrlInfo(); buildCounterSitesUrlInfo++; if (buildCounterSitesUrlInfo < 3) { - o.urls = buildUnnamed24(); + o.urls = buildUnnamed25(); } buildCounterSitesUrlInfo--; return o; @@ -1833,12 +1931,12 @@ api.SitesUrlInfo buildSitesUrlInfo() { void checkSitesUrlInfo(api.SitesUrlInfo o) { buildCounterSitesUrlInfo++; if (buildCounterSitesUrlInfo < 3) { - checkUnnamed24(o.urls!); + checkUnnamed25(o.urls!); } buildCounterSitesUrlInfo--; } -core.Map buildUnnamed25() => { +core.Map buildUnnamed26() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1851,7 +1949,7 @@ core.Map buildUnnamed25() => { }, }; -void checkUnnamed25(core.Map o) { +void checkUnnamed26(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -1883,15 +1981,15 @@ void checkUnnamed25(core.Map o) { ); } -core.List> buildUnnamed26() => [ - buildUnnamed25(), - buildUnnamed25(), +core.List> buildUnnamed27() => [ + buildUnnamed26(), + buildUnnamed26(), ]; -void checkUnnamed26(core.List> o) { +void checkUnnamed27(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed25(o[0]); - checkUnnamed25(o[1]); + checkUnnamed26(o[0]); + checkUnnamed26(o[1]); } core.int buildCounterStatus = 0; @@ -1900,7 +1998,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed26(); + o.details = buildUnnamed27(); o.message = 'foo'; } buildCounterStatus--; @@ -1914,7 +2012,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed26(o.details!); + checkUnnamed27(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -1923,12 +2021,12 @@ void checkStatus(api.Status o) { buildCounterStatus--; } -core.List buildUnnamed27() => [ +core.List buildUnnamed28() => [ 'foo', 'foo', ]; -void checkUnnamed27(core.List o) { +void checkUnnamed28(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1945,7 +2043,7 @@ api.TeamDriveInfo buildTeamDriveInfo() { final o = api.TeamDriveInfo(); buildCounterTeamDriveInfo++; if (buildCounterTeamDriveInfo < 3) { - o.teamDriveIds = buildUnnamed27(); + o.teamDriveIds = buildUnnamed28(); } buildCounterTeamDriveInfo--; return o; @@ -1954,7 +2052,7 @@ api.TeamDriveInfo buildTeamDriveInfo() { void checkTeamDriveInfo(api.TeamDriveInfo o) { buildCounterTeamDriveInfo++; if (buildCounterTeamDriveInfo < 3) { - checkUnnamed27(o.teamDriveIds!); + checkUnnamed28(o.teamDriveIds!); } buildCounterTeamDriveInfo--; } @@ -2023,12 +2121,12 @@ void checkVoiceExportOptions(api.VoiceExportOptions o) { buildCounterVoiceExportOptions--; } -core.List buildUnnamed28() => [ +core.List buildUnnamed29() => [ 'foo', 'foo', ]; -void checkUnnamed28(core.List o) { +void checkUnnamed29(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2045,7 +2143,7 @@ api.VoiceOptions buildVoiceOptions() { final o = api.VoiceOptions(); buildCounterVoiceOptions++; if (buildCounterVoiceOptions < 3) { - o.coveredData = buildUnnamed28(); + o.coveredData = buildUnnamed29(); } buildCounterVoiceOptions--; return o; @@ -2054,7 +2152,7 @@ api.VoiceOptions buildVoiceOptions() { void checkVoiceOptions(api.VoiceOptions o) { buildCounterVoiceOptions++; if (buildCounterVoiceOptions < 3) { - checkUnnamed28(o.coveredData!); + checkUnnamed29(o.coveredData!); } buildCounterVoiceOptions--; } @@ -2200,6 +2298,26 @@ void main() { }); }); + unittest.group('obj-schema-DriveDocumentIds', () { + unittest.test('to-json--from-json', () async { + final o = buildDriveDocumentIds(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DriveDocumentIds.fromJson( + oJson as core.Map); + checkDriveDocumentIds(od); + }); + }); + + unittest.group('obj-schema-DriveDocumentInfo', () { + unittest.test('to-json--from-json', () async { + final o = buildDriveDocumentInfo(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DriveDocumentInfo.fromJson( + oJson as core.Map); + checkDriveDocumentInfo(od); + }); + }); + unittest.group('obj-schema-DriveExportOptions', () { unittest.test('to-json--from-json', () async { final o = buildDriveExportOptions(); @@ -2260,6 +2378,26 @@ void main() { }); }); + unittest.group('obj-schema-GeminiExportOptions', () { + unittest.test('to-json--from-json', () async { + final o = buildGeminiExportOptions(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GeminiExportOptions.fromJson( + oJson as core.Map); + checkGeminiExportOptions(od); + }); + }); + + unittest.group('obj-schema-GeminiOptions', () { + unittest.test('to-json--from-json', () async { + final o = buildGeminiOptions(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GeminiOptions.fromJson( + oJson as core.Map); + checkGeminiOptions(od); + }); + }); + unittest.group('obj-schema-GroupsExportOptions', () { unittest.test('to-json--from-json', () async { final o = buildGroupsExportOptions(); diff --git a/generated/googleapis/test/verifiedaccess/v2_test.dart b/generated/googleapis/test/verifiedaccess/v2_test.dart index 7de112e0e..f587223ec 100644 --- a/generated/googleapis/test/verifiedaccess/v2_test.dart +++ b/generated/googleapis/test/verifiedaccess/v2_test.dart @@ -26,6 +26,28 @@ import 'package:test/test.dart' as unittest; import '../test_shared.dart'; +core.int buildCounterAntivirus = 0; +api.Antivirus buildAntivirus() { + final o = api.Antivirus(); + buildCounterAntivirus++; + if (buildCounterAntivirus < 3) { + o.state = 'foo'; + } + buildCounterAntivirus--; + return o; +} + +void checkAntivirus(api.Antivirus o) { + buildCounterAntivirus++; + if (buildCounterAntivirus < 3) { + unittest.expect( + o.state!, + unittest.equals('foo'), + ); + } + buildCounterAntivirus--; +} + core.int buildCounterChallenge = 0; api.Challenge buildChallenge() { final o = api.Challenge(); @@ -183,6 +205,7 @@ api.DeviceSignals buildDeviceSignals() { buildCounterDeviceSignals++; if (buildCounterDeviceSignals < 3) { o.allowScreenLock = true; + o.antivirus = buildAntivirus(); o.browserVersion = 'foo'; o.builtInDnsClientEnabled = true; o.chromeRemoteDesktopAppBlocked = true; @@ -223,6 +246,7 @@ void checkDeviceSignals(api.DeviceSignals o) { buildCounterDeviceSignals++; if (buildCounterDeviceSignals < 3) { unittest.expect(o.allowScreenLock!, unittest.isTrue); + checkAntivirus(o.antivirus!); unittest.expect( o.browserVersion!, unittest.equals('foo'), @@ -374,6 +398,7 @@ api.VerifyChallengeResponseResult buildVerifyChallengeResponseResult() { o.keyTrustLevel = 'foo'; o.profileCustomerId = 'foo'; o.profileKeyTrustLevel = 'foo'; + o.profilePermanentId = 'foo'; o.signedPublicKeyAndChallenge = 'foo'; o.virtualDeviceId = 'foo'; o.virtualProfileId = 'foo'; @@ -418,6 +443,10 @@ void checkVerifyChallengeResponseResult(api.VerifyChallengeResponseResult o) { o.profileKeyTrustLevel!, unittest.equals('foo'), ); + unittest.expect( + o.profilePermanentId!, + unittest.equals('foo'), + ); unittest.expect( o.signedPublicKeyAndChallenge!, unittest.equals('foo'), @@ -435,6 +464,16 @@ void checkVerifyChallengeResponseResult(api.VerifyChallengeResponseResult o) { } void main() { + unittest.group('obj-schema-Antivirus', () { + unittest.test('to-json--from-json', () async { + final o = buildAntivirus(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Antivirus.fromJson(oJson as core.Map); + checkAntivirus(od); + }); + }); + unittest.group('obj-schema-Challenge', () { unittest.test('to-json--from-json', () async { final o = buildChallenge(); diff --git a/generated/googleapis/test/vmwareengine/v1_test.dart b/generated/googleapis/test/vmwareengine/v1_test.dart index 03cad84ff..0adb50439 100644 --- a/generated/googleapis/test/vmwareengine/v1_test.dart +++ b/generated/googleapis/test/vmwareengine/v1_test.dart @@ -26,12 +26,98 @@ import 'package:test/test.dart' as unittest; import '../test_shared.dart'; -core.List buildUnnamed0() => [ +core.Map buildUnnamed0() => { + 'x': 'foo', + 'y': 'foo', + }; + +void checkUnnamed0(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o['x']!, + unittest.equals('foo'), + ); + unittest.expect( + o['y']!, + unittest.equals('foo'), + ); +} + +core.int buildCounterAnnouncement = 0; +api.Announcement buildAnnouncement() { + final o = api.Announcement(); + buildCounterAnnouncement++; + if (buildCounterAnnouncement < 3) { + o.activityType = 'foo'; + o.cluster = 'foo'; + o.code = 'foo'; + o.createTime = 'foo'; + o.description = 'foo'; + o.metadata = buildUnnamed0(); + o.name = 'foo'; + o.privateCloud = 'foo'; + o.state = 'foo'; + o.targetResourceType = 'foo'; + o.updateTime = 'foo'; + } + buildCounterAnnouncement--; + return o; +} + +void checkAnnouncement(api.Announcement o) { + buildCounterAnnouncement++; + if (buildCounterAnnouncement < 3) { + unittest.expect( + o.activityType!, + unittest.equals('foo'), + ); + unittest.expect( + o.cluster!, + unittest.equals('foo'), + ); + unittest.expect( + o.code!, + unittest.equals('foo'), + ); + unittest.expect( + o.createTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.description!, + unittest.equals('foo'), + ); + checkUnnamed0(o.metadata!); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.privateCloud!, + unittest.equals('foo'), + ); + unittest.expect( + o.state!, + unittest.equals('foo'), + ); + unittest.expect( + o.targetResourceType!, + unittest.equals('foo'), + ); + unittest.expect( + o.updateTime!, + unittest.equals('foo'), + ); + } + buildCounterAnnouncement--; +} + +core.List buildUnnamed1() => [ buildAuditLogConfig(), buildAuditLogConfig(), ]; -void checkUnnamed0(core.List o) { +void checkUnnamed1(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuditLogConfig(o[0]); checkAuditLogConfig(o[1]); @@ -42,7 +128,7 @@ api.AuditConfig buildAuditConfig() { final o = api.AuditConfig(); buildCounterAuditConfig++; if (buildCounterAuditConfig < 3) { - o.auditLogConfigs = buildUnnamed0(); + o.auditLogConfigs = buildUnnamed1(); o.service = 'foo'; } buildCounterAuditConfig--; @@ -52,7 +138,7 @@ api.AuditConfig buildAuditConfig() { void checkAuditConfig(api.AuditConfig o) { buildCounterAuditConfig++; if (buildCounterAuditConfig < 3) { - checkUnnamed0(o.auditLogConfigs!); + checkUnnamed1(o.auditLogConfigs!); unittest.expect( o.service!, unittest.equals('foo'), @@ -61,12 +147,12 @@ void checkAuditConfig(api.AuditConfig o) { buildCounterAuditConfig--; } -core.List buildUnnamed1() => [ +core.List buildUnnamed2() => [ 'foo', 'foo', ]; -void checkUnnamed1(core.List o) { +void checkUnnamed2(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -83,7 +169,7 @@ api.AuditLogConfig buildAuditLogConfig() { final o = api.AuditLogConfig(); buildCounterAuditLogConfig++; if (buildCounterAuditLogConfig < 3) { - o.exemptedMembers = buildUnnamed1(); + o.exemptedMembers = buildUnnamed2(); o.logType = 'foo'; } buildCounterAuditLogConfig--; @@ -93,7 +179,7 @@ api.AuditLogConfig buildAuditLogConfig() { void checkAuditLogConfig(api.AuditLogConfig o) { buildCounterAuditLogConfig++; if (buildCounterAuditLogConfig < 3) { - checkUnnamed1(o.exemptedMembers!); + checkUnnamed2(o.exemptedMembers!); unittest.expect( o.logType!, unittest.equals('foo'), @@ -137,12 +223,12 @@ void checkAutoscalingPolicy(api.AutoscalingPolicy o) { buildCounterAutoscalingPolicy--; } -core.Map buildUnnamed2() => { +core.Map buildUnnamed3() => { 'x': buildAutoscalingPolicy(), 'y': buildAutoscalingPolicy(), }; -void checkUnnamed2(core.Map o) { +void checkUnnamed3(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkAutoscalingPolicy(o['x']!); checkAutoscalingPolicy(o['y']!); @@ -153,7 +239,7 @@ api.AutoscalingSettings buildAutoscalingSettings() { final o = api.AutoscalingSettings(); buildCounterAutoscalingSettings++; if (buildCounterAutoscalingSettings < 3) { - o.autoscalingPolicies = buildUnnamed2(); + o.autoscalingPolicies = buildUnnamed3(); o.coolDownPeriod = 'foo'; o.maxClusterNodeCount = 42; o.minClusterNodeCount = 42; @@ -165,7 +251,7 @@ api.AutoscalingSettings buildAutoscalingSettings() { void checkAutoscalingSettings(api.AutoscalingSettings o) { buildCounterAutoscalingSettings++; if (buildCounterAutoscalingSettings < 3) { - checkUnnamed2(o.autoscalingPolicies!); + checkUnnamed3(o.autoscalingPolicies!); unittest.expect( o.coolDownPeriod!, unittest.equals('foo'), @@ -182,12 +268,12 @@ void checkAutoscalingSettings(api.AutoscalingSettings o) { buildCounterAutoscalingSettings--; } -core.List buildUnnamed3() => [ +core.List buildUnnamed4() => [ 'foo', 'foo', ]; -void checkUnnamed3(core.List o) { +void checkUnnamed4(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -205,7 +291,7 @@ api.Binding buildBinding() { buildCounterBinding++; if (buildCounterBinding < 3) { o.condition = buildExpr(); - o.members = buildUnnamed3(); + o.members = buildUnnamed4(); o.role = 'foo'; } buildCounterBinding--; @@ -216,7 +302,7 @@ void checkBinding(api.Binding o) { buildCounterBinding++; if (buildCounterBinding < 3) { checkExpr(o.condition!); - checkUnnamed3(o.members!); + checkUnnamed4(o.members!); unittest.expect( o.role!, unittest.equals('foo'), @@ -225,12 +311,12 @@ void checkBinding(api.Binding o) { buildCounterBinding--; } -core.Map buildUnnamed4() => { +core.Map buildUnnamed5() => { 'x': buildNodeTypeConfig(), 'y': buildNodeTypeConfig(), }; -void checkUnnamed4(core.Map o) { +void checkUnnamed5(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkNodeTypeConfig(o['x']!); checkNodeTypeConfig(o['y']!); @@ -245,7 +331,7 @@ api.Cluster buildCluster() { o.createTime = 'foo'; o.management = true; o.name = 'foo'; - o.nodeTypeConfigs = buildUnnamed4(); + o.nodeTypeConfigs = buildUnnamed5(); o.state = 'foo'; o.stretchedClusterConfig = buildStretchedClusterConfig(); o.uid = 'foo'; @@ -268,7 +354,7 @@ void checkCluster(api.Cluster o) { o.name!, unittest.equals('foo'), ); - checkUnnamed4(o.nodeTypeConfigs!); + checkUnnamed5(o.nodeTypeConfigs!); unittest.expect( o.state!, unittest.equals('foo'), @@ -286,6 +372,35 @@ void checkCluster(api.Cluster o) { buildCounterCluster--; } +core.int buildCounterConstraints = 0; +api.Constraints buildConstraints() { + final o = api.Constraints(); + buildCounterConstraints++; + if (buildCounterConstraints < 3) { + o.minHoursDay = 42; + o.minHoursWeek = 42; + o.rescheduleDateRange = buildInterval(); + } + buildCounterConstraints--; + return o; +} + +void checkConstraints(api.Constraints o) { + buildCounterConstraints++; + if (buildCounterConstraints < 3) { + unittest.expect( + o.minHoursDay!, + unittest.equals(42), + ); + unittest.expect( + o.minHoursWeek!, + unittest.equals(42), + ); + checkInterval(o.rescheduleDateRange!); + } + buildCounterConstraints--; +} + core.int buildCounterCredentials = 0; api.Credentials buildCredentials() { final o = api.Credentials(); @@ -313,12 +428,12 @@ void checkCredentials(api.Credentials o) { buildCounterCredentials--; } -core.List buildUnnamed5() => [ +core.List buildUnnamed6() => [ buildPrincipal(), buildPrincipal(), ]; -void checkUnnamed5(core.List o) { +void checkUnnamed6(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPrincipal(o[0]); checkPrincipal(o[1]); @@ -330,7 +445,7 @@ api.DnsBindPermission buildDnsBindPermission() { buildCounterDnsBindPermission++; if (buildCounterDnsBindPermission < 3) { o.name = 'foo'; - o.principals = buildUnnamed5(); + o.principals = buildUnnamed6(); } buildCounterDnsBindPermission--; return o; @@ -343,17 +458,17 @@ void checkDnsBindPermission(api.DnsBindPermission o) { o.name!, unittest.equals('foo'), ); - checkUnnamed5(o.principals!); + checkUnnamed6(o.principals!); } buildCounterDnsBindPermission--; } -core.List buildUnnamed6() => [ +core.List buildUnnamed7() => [ buildForwardingRule(), buildForwardingRule(), ]; -void checkUnnamed6(core.List o) { +void checkUnnamed7(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkForwardingRule(o[0]); checkForwardingRule(o[1]); @@ -365,7 +480,7 @@ api.DnsForwarding buildDnsForwarding() { buildCounterDnsForwarding++; if (buildCounterDnsForwarding < 3) { o.createTime = 'foo'; - o.forwardingRules = buildUnnamed6(); + o.forwardingRules = buildUnnamed7(); o.name = 'foo'; o.updateTime = 'foo'; } @@ -380,7 +495,7 @@ void checkDnsForwarding(api.DnsForwarding o) { o.createTime!, unittest.equals('foo'), ); - checkUnnamed6(o.forwardingRules!); + checkUnnamed7(o.forwardingRules!); unittest.expect( o.name!, unittest.equals('foo'), @@ -445,23 +560,23 @@ void checkExpr(api.Expr o) { buildCounterExpr--; } -core.List buildUnnamed7() => [ +core.List buildUnnamed8() => [ buildIpRange(), buildIpRange(), ]; -void checkUnnamed7(core.List o) { +void checkUnnamed8(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkIpRange(o[0]); checkIpRange(o[1]); } -core.List buildUnnamed8() => [ +core.List buildUnnamed9() => [ 'foo', 'foo', ]; -void checkUnnamed8(core.List o) { +void checkUnnamed9(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -473,23 +588,23 @@ void checkUnnamed8(core.List o) { ); } -core.List buildUnnamed9() => [ +core.List buildUnnamed10() => [ buildIpRange(), buildIpRange(), ]; -void checkUnnamed9(core.List o) { +void checkUnnamed10(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkIpRange(o[0]); checkIpRange(o[1]); } -core.List buildUnnamed10() => [ +core.List buildUnnamed11() => [ 'foo', 'foo', ]; -void checkUnnamed10(core.List o) { +void checkUnnamed11(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -509,13 +624,13 @@ api.ExternalAccessRule buildExternalAccessRule() { o.action = 'foo'; o.createTime = 'foo'; o.description = 'foo'; - o.destinationIpRanges = buildUnnamed7(); - o.destinationPorts = buildUnnamed8(); + o.destinationIpRanges = buildUnnamed8(); + o.destinationPorts = buildUnnamed9(); o.ipProtocol = 'foo'; o.name = 'foo'; o.priority = 42; - o.sourceIpRanges = buildUnnamed9(); - o.sourcePorts = buildUnnamed10(); + o.sourceIpRanges = buildUnnamed10(); + o.sourcePorts = buildUnnamed11(); o.state = 'foo'; o.uid = 'foo'; o.updateTime = 'foo'; @@ -539,8 +654,8 @@ void checkExternalAccessRule(api.ExternalAccessRule o) { o.description!, unittest.equals('foo'), ); - checkUnnamed7(o.destinationIpRanges!); - checkUnnamed8(o.destinationPorts!); + checkUnnamed8(o.destinationIpRanges!); + checkUnnamed9(o.destinationPorts!); unittest.expect( o.ipProtocol!, unittest.equals('foo'), @@ -553,8 +668,8 @@ void checkExternalAccessRule(api.ExternalAccessRule o) { o.priority!, unittest.equals(42), ); - checkUnnamed9(o.sourceIpRanges!); - checkUnnamed10(o.sourcePorts!); + checkUnnamed10(o.sourceIpRanges!); + checkUnnamed11(o.sourcePorts!); unittest.expect( o.state!, unittest.equals('foo'), @@ -628,12 +743,12 @@ void checkExternalAddress(api.ExternalAddress o) { buildCounterExternalAddress--; } -core.List buildUnnamed11() => [ +core.List buildUnnamed12() => [ buildExternalAddress(), buildExternalAddress(), ]; -void checkUnnamed11(core.List o) { +void checkUnnamed12(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExternalAddress(o[0]); checkExternalAddress(o[1]); @@ -645,7 +760,7 @@ api.FetchNetworkPolicyExternalAddressesResponse final o = api.FetchNetworkPolicyExternalAddressesResponse(); buildCounterFetchNetworkPolicyExternalAddressesResponse++; if (buildCounterFetchNetworkPolicyExternalAddressesResponse < 3) { - o.externalAddresses = buildUnnamed11(); + o.externalAddresses = buildUnnamed12(); o.nextPageToken = 'foo'; } buildCounterFetchNetworkPolicyExternalAddressesResponse--; @@ -656,7 +771,7 @@ void checkFetchNetworkPolicyExternalAddressesResponse( api.FetchNetworkPolicyExternalAddressesResponse o) { buildCounterFetchNetworkPolicyExternalAddressesResponse++; if (buildCounterFetchNetworkPolicyExternalAddressesResponse < 3) { - checkUnnamed11(o.externalAddresses!); + checkUnnamed12(o.externalAddresses!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -665,12 +780,12 @@ void checkFetchNetworkPolicyExternalAddressesResponse( buildCounterFetchNetworkPolicyExternalAddressesResponse--; } -core.List buildUnnamed12() => [ +core.List buildUnnamed13() => [ 'foo', 'foo', ]; -void checkUnnamed12(core.List o) { +void checkUnnamed13(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -688,7 +803,7 @@ api.ForwardingRule buildForwardingRule() { buildCounterForwardingRule++; if (buildCounterForwardingRule < 3) { o.domain = 'foo'; - o.nameServers = buildUnnamed12(); + o.nameServers = buildUnnamed13(); } buildCounterForwardingRule--; return o; @@ -701,7 +816,7 @@ void checkForwardingRule(api.ForwardingRule o) { o.domain!, unittest.equals('foo'), ); - checkUnnamed12(o.nameServers!); + checkUnnamed13(o.nameServers!); } buildCounterForwardingRule--; } @@ -809,6 +924,33 @@ void checkHcxActivationKey(api.HcxActivationKey o) { buildCounterHcxActivationKey--; } +core.int buildCounterInterval = 0; +api.Interval buildInterval() { + final o = api.Interval(); + buildCounterInterval++; + if (buildCounterInterval < 3) { + o.endTime = 'foo'; + o.startTime = 'foo'; + } + buildCounterInterval--; + return o; +} + +void checkInterval(api.Interval o) { + buildCounterInterval++; + if (buildCounterInterval < 3) { + unittest.expect( + o.endTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.startTime!, + unittest.equals('foo'), + ); + } + buildCounterInterval--; +} + core.int buildCounterIpRange = 0; api.IpRange buildIpRange() { final o = api.IpRange(); @@ -841,23 +983,77 @@ void checkIpRange(api.IpRange o) { buildCounterIpRange--; } -core.List buildUnnamed13() => [ +core.List buildUnnamed14() => [ + buildAnnouncement(), + buildAnnouncement(), + ]; + +void checkUnnamed14(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAnnouncement(o[0]); + checkAnnouncement(o[1]); +} + +core.List buildUnnamed15() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed15(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterListAnnouncementsResponse = 0; +api.ListAnnouncementsResponse buildListAnnouncementsResponse() { + final o = api.ListAnnouncementsResponse(); + buildCounterListAnnouncementsResponse++; + if (buildCounterListAnnouncementsResponse < 3) { + o.announcements = buildUnnamed14(); + o.nextPageToken = 'foo'; + o.unreachable = buildUnnamed15(); + } + buildCounterListAnnouncementsResponse--; + return o; +} + +void checkListAnnouncementsResponse(api.ListAnnouncementsResponse o) { + buildCounterListAnnouncementsResponse++; + if (buildCounterListAnnouncementsResponse < 3) { + checkUnnamed14(o.announcements!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + checkUnnamed15(o.unreachable!); + } + buildCounterListAnnouncementsResponse--; +} + +core.List buildUnnamed16() => [ buildCluster(), buildCluster(), ]; -void checkUnnamed13(core.List o) { +void checkUnnamed16(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCluster(o[0]); checkCluster(o[1]); } -core.List buildUnnamed14() => [ +core.List buildUnnamed17() => [ 'foo', 'foo', ]; -void checkUnnamed14(core.List o) { +void checkUnnamed17(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -874,9 +1070,9 @@ api.ListClustersResponse buildListClustersResponse() { final o = api.ListClustersResponse(); buildCounterListClustersResponse++; if (buildCounterListClustersResponse < 3) { - o.clusters = buildUnnamed13(); + o.clusters = buildUnnamed16(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed14(); + o.unreachable = buildUnnamed17(); } buildCounterListClustersResponse--; return o; @@ -885,33 +1081,33 @@ api.ListClustersResponse buildListClustersResponse() { void checkListClustersResponse(api.ListClustersResponse o) { buildCounterListClustersResponse++; if (buildCounterListClustersResponse < 3) { - checkUnnamed13(o.clusters!); + checkUnnamed16(o.clusters!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed14(o.unreachable!); + checkUnnamed17(o.unreachable!); } buildCounterListClustersResponse--; } -core.List buildUnnamed15() => [ +core.List buildUnnamed18() => [ buildExternalAccessRule(), buildExternalAccessRule(), ]; -void checkUnnamed15(core.List o) { +void checkUnnamed18(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExternalAccessRule(o[0]); checkExternalAccessRule(o[1]); } -core.List buildUnnamed16() => [ +core.List buildUnnamed19() => [ 'foo', 'foo', ]; -void checkUnnamed16(core.List o) { +void checkUnnamed19(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -928,9 +1124,9 @@ api.ListExternalAccessRulesResponse buildListExternalAccessRulesResponse() { final o = api.ListExternalAccessRulesResponse(); buildCounterListExternalAccessRulesResponse++; if (buildCounterListExternalAccessRulesResponse < 3) { - o.externalAccessRules = buildUnnamed15(); + o.externalAccessRules = buildUnnamed18(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed16(); + o.unreachable = buildUnnamed19(); } buildCounterListExternalAccessRulesResponse--; return o; @@ -940,33 +1136,33 @@ void checkListExternalAccessRulesResponse( api.ListExternalAccessRulesResponse o) { buildCounterListExternalAccessRulesResponse++; if (buildCounterListExternalAccessRulesResponse < 3) { - checkUnnamed15(o.externalAccessRules!); + checkUnnamed18(o.externalAccessRules!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed16(o.unreachable!); + checkUnnamed19(o.unreachable!); } buildCounterListExternalAccessRulesResponse--; } -core.List buildUnnamed17() => [ +core.List buildUnnamed20() => [ buildExternalAddress(), buildExternalAddress(), ]; -void checkUnnamed17(core.List o) { +void checkUnnamed20(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExternalAddress(o[0]); checkExternalAddress(o[1]); } -core.List buildUnnamed18() => [ +core.List buildUnnamed21() => [ 'foo', 'foo', ]; -void checkUnnamed18(core.List o) { +void checkUnnamed21(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -983,9 +1179,9 @@ api.ListExternalAddressesResponse buildListExternalAddressesResponse() { final o = api.ListExternalAddressesResponse(); buildCounterListExternalAddressesResponse++; if (buildCounterListExternalAddressesResponse < 3) { - o.externalAddresses = buildUnnamed17(); + o.externalAddresses = buildUnnamed20(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed18(); + o.unreachable = buildUnnamed21(); } buildCounterListExternalAddressesResponse--; return o; @@ -994,33 +1190,33 @@ api.ListExternalAddressesResponse buildListExternalAddressesResponse() { void checkListExternalAddressesResponse(api.ListExternalAddressesResponse o) { buildCounterListExternalAddressesResponse++; if (buildCounterListExternalAddressesResponse < 3) { - checkUnnamed17(o.externalAddresses!); + checkUnnamed20(o.externalAddresses!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed18(o.unreachable!); + checkUnnamed21(o.unreachable!); } buildCounterListExternalAddressesResponse--; } -core.List buildUnnamed19() => [ +core.List buildUnnamed22() => [ buildHcxActivationKey(), buildHcxActivationKey(), ]; -void checkUnnamed19(core.List o) { +void checkUnnamed22(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHcxActivationKey(o[0]); checkHcxActivationKey(o[1]); } -core.List buildUnnamed20() => [ +core.List buildUnnamed23() => [ 'foo', 'foo', ]; -void checkUnnamed20(core.List o) { +void checkUnnamed23(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1037,9 +1233,9 @@ api.ListHcxActivationKeysResponse buildListHcxActivationKeysResponse() { final o = api.ListHcxActivationKeysResponse(); buildCounterListHcxActivationKeysResponse++; if (buildCounterListHcxActivationKeysResponse < 3) { - o.hcxActivationKeys = buildUnnamed19(); + o.hcxActivationKeys = buildUnnamed22(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed20(); + o.unreachable = buildUnnamed23(); } buildCounterListHcxActivationKeysResponse--; return o; @@ -1048,22 +1244,22 @@ api.ListHcxActivationKeysResponse buildListHcxActivationKeysResponse() { void checkListHcxActivationKeysResponse(api.ListHcxActivationKeysResponse o) { buildCounterListHcxActivationKeysResponse++; if (buildCounterListHcxActivationKeysResponse < 3) { - checkUnnamed19(o.hcxActivationKeys!); + checkUnnamed22(o.hcxActivationKeys!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed20(o.unreachable!); + checkUnnamed23(o.unreachable!); } buildCounterListHcxActivationKeysResponse--; } -core.List buildUnnamed21() => [ +core.List buildUnnamed24() => [ buildLocation(), buildLocation(), ]; -void checkUnnamed21(core.List o) { +void checkUnnamed24(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLocation(o[0]); checkLocation(o[1]); @@ -1074,7 +1270,7 @@ api.ListLocationsResponse buildListLocationsResponse() { final o = api.ListLocationsResponse(); buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - o.locations = buildUnnamed21(); + o.locations = buildUnnamed24(); o.nextPageToken = 'foo'; } buildCounterListLocationsResponse--; @@ -1084,7 +1280,7 @@ api.ListLocationsResponse buildListLocationsResponse() { void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - checkUnnamed21(o.locations!); + checkUnnamed24(o.locations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -1093,23 +1289,23 @@ void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse--; } -core.List buildUnnamed22() => [ +core.List buildUnnamed25() => [ buildLoggingServer(), buildLoggingServer(), ]; -void checkUnnamed22(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLoggingServer(o[0]); checkLoggingServer(o[1]); } -core.List buildUnnamed23() => [ +core.List buildUnnamed26() => [ 'foo', 'foo', ]; -void checkUnnamed23(core.List o) { +void checkUnnamed26(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1126,9 +1322,9 @@ api.ListLoggingServersResponse buildListLoggingServersResponse() { final o = api.ListLoggingServersResponse(); buildCounterListLoggingServersResponse++; if (buildCounterListLoggingServersResponse < 3) { - o.loggingServers = buildUnnamed22(); + o.loggingServers = buildUnnamed25(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed23(); + o.unreachable = buildUnnamed26(); } buildCounterListLoggingServersResponse--; return o; @@ -1137,33 +1333,33 @@ api.ListLoggingServersResponse buildListLoggingServersResponse() { void checkListLoggingServersResponse(api.ListLoggingServersResponse o) { buildCounterListLoggingServersResponse++; if (buildCounterListLoggingServersResponse < 3) { - checkUnnamed22(o.loggingServers!); + checkUnnamed25(o.loggingServers!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed23(o.unreachable!); + checkUnnamed26(o.unreachable!); } buildCounterListLoggingServersResponse--; } -core.List buildUnnamed24() => [ +core.List buildUnnamed27() => [ buildManagementDnsZoneBinding(), buildManagementDnsZoneBinding(), ]; -void checkUnnamed24(core.List o) { +void checkUnnamed27(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkManagementDnsZoneBinding(o[0]); checkManagementDnsZoneBinding(o[1]); } -core.List buildUnnamed25() => [ +core.List buildUnnamed28() => [ 'foo', 'foo', ]; -void checkUnnamed25(core.List o) { +void checkUnnamed28(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1181,9 +1377,9 @@ api.ListManagementDnsZoneBindingsResponse final o = api.ListManagementDnsZoneBindingsResponse(); buildCounterListManagementDnsZoneBindingsResponse++; if (buildCounterListManagementDnsZoneBindingsResponse < 3) { - o.managementDnsZoneBindings = buildUnnamed24(); + o.managementDnsZoneBindings = buildUnnamed27(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed25(); + o.unreachable = buildUnnamed28(); } buildCounterListManagementDnsZoneBindingsResponse--; return o; @@ -1193,33 +1389,33 @@ void checkListManagementDnsZoneBindingsResponse( api.ListManagementDnsZoneBindingsResponse o) { buildCounterListManagementDnsZoneBindingsResponse++; if (buildCounterListManagementDnsZoneBindingsResponse < 3) { - checkUnnamed24(o.managementDnsZoneBindings!); + checkUnnamed27(o.managementDnsZoneBindings!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed25(o.unreachable!); + checkUnnamed28(o.unreachable!); } buildCounterListManagementDnsZoneBindingsResponse--; } -core.List buildUnnamed26() => [ +core.List buildUnnamed29() => [ buildNetworkPeering(), buildNetworkPeering(), ]; -void checkUnnamed26(core.List o) { +void checkUnnamed29(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkPeering(o[0]); checkNetworkPeering(o[1]); } -core.List buildUnnamed27() => [ +core.List buildUnnamed30() => [ 'foo', 'foo', ]; -void checkUnnamed27(core.List o) { +void checkUnnamed30(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1236,9 +1432,9 @@ api.ListNetworkPeeringsResponse buildListNetworkPeeringsResponse() { final o = api.ListNetworkPeeringsResponse(); buildCounterListNetworkPeeringsResponse++; if (buildCounterListNetworkPeeringsResponse < 3) { - o.networkPeerings = buildUnnamed26(); + o.networkPeerings = buildUnnamed29(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed27(); + o.unreachable = buildUnnamed30(); } buildCounterListNetworkPeeringsResponse--; return o; @@ -1247,33 +1443,33 @@ api.ListNetworkPeeringsResponse buildListNetworkPeeringsResponse() { void checkListNetworkPeeringsResponse(api.ListNetworkPeeringsResponse o) { buildCounterListNetworkPeeringsResponse++; if (buildCounterListNetworkPeeringsResponse < 3) { - checkUnnamed26(o.networkPeerings!); + checkUnnamed29(o.networkPeerings!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed27(o.unreachable!); + checkUnnamed30(o.unreachable!); } buildCounterListNetworkPeeringsResponse--; } -core.List buildUnnamed28() => [ +core.List buildUnnamed31() => [ buildNetworkPolicy(), buildNetworkPolicy(), ]; -void checkUnnamed28(core.List o) { +void checkUnnamed31(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNetworkPolicy(o[0]); checkNetworkPolicy(o[1]); } -core.List buildUnnamed29() => [ +core.List buildUnnamed32() => [ 'foo', 'foo', ]; -void checkUnnamed29(core.List o) { +void checkUnnamed32(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1290,9 +1486,9 @@ api.ListNetworkPoliciesResponse buildListNetworkPoliciesResponse() { final o = api.ListNetworkPoliciesResponse(); buildCounterListNetworkPoliciesResponse++; if (buildCounterListNetworkPoliciesResponse < 3) { - o.networkPolicies = buildUnnamed28(); + o.networkPolicies = buildUnnamed31(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed29(); + o.unreachable = buildUnnamed32(); } buildCounterListNetworkPoliciesResponse--; return o; @@ -1301,33 +1497,33 @@ api.ListNetworkPoliciesResponse buildListNetworkPoliciesResponse() { void checkListNetworkPoliciesResponse(api.ListNetworkPoliciesResponse o) { buildCounterListNetworkPoliciesResponse++; if (buildCounterListNetworkPoliciesResponse < 3) { - checkUnnamed28(o.networkPolicies!); + checkUnnamed31(o.networkPolicies!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed29(o.unreachable!); + checkUnnamed32(o.unreachable!); } buildCounterListNetworkPoliciesResponse--; } -core.List buildUnnamed30() => [ +core.List buildUnnamed33() => [ buildNodeType(), buildNodeType(), ]; -void checkUnnamed30(core.List o) { +void checkUnnamed33(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNodeType(o[0]); checkNodeType(o[1]); } -core.List buildUnnamed31() => [ +core.List buildUnnamed34() => [ 'foo', 'foo', ]; -void checkUnnamed31(core.List o) { +void checkUnnamed34(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1345,8 +1541,8 @@ api.ListNodeTypesResponse buildListNodeTypesResponse() { buildCounterListNodeTypesResponse++; if (buildCounterListNodeTypesResponse < 3) { o.nextPageToken = 'foo'; - o.nodeTypes = buildUnnamed30(); - o.unreachable = buildUnnamed31(); + o.nodeTypes = buildUnnamed33(); + o.unreachable = buildUnnamed34(); } buildCounterListNodeTypesResponse--; return o; @@ -1359,18 +1555,18 @@ void checkListNodeTypesResponse(api.ListNodeTypesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed30(o.nodeTypes!); - checkUnnamed31(o.unreachable!); + checkUnnamed33(o.nodeTypes!); + checkUnnamed34(o.unreachable!); } buildCounterListNodeTypesResponse--; } -core.List buildUnnamed32() => [ +core.List buildUnnamed35() => [ buildNode(), buildNode(), ]; -void checkUnnamed32(core.List o) { +void checkUnnamed35(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNode(o[0]); checkNode(o[1]); @@ -1382,7 +1578,7 @@ api.ListNodesResponse buildListNodesResponse() { buildCounterListNodesResponse++; if (buildCounterListNodesResponse < 3) { o.nextPageToken = 'foo'; - o.nodes = buildUnnamed32(); + o.nodes = buildUnnamed35(); } buildCounterListNodesResponse--; return o; @@ -1395,17 +1591,17 @@ void checkListNodesResponse(api.ListNodesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed32(o.nodes!); + checkUnnamed35(o.nodes!); } buildCounterListNodesResponse--; } -core.List buildUnnamed33() => [ +core.List buildUnnamed36() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed33(core.List o) { +void checkUnnamed36(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -1417,7 +1613,7 @@ api.ListOperationsResponse buildListOperationsResponse() { buildCounterListOperationsResponse++; if (buildCounterListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed33(); + o.operations = buildUnnamed36(); } buildCounterListOperationsResponse--; return o; @@ -1430,17 +1626,17 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed33(o.operations!); + checkUnnamed36(o.operations!); } buildCounterListOperationsResponse--; } -core.List buildUnnamed34() => [ +core.List buildUnnamed37() => [ buildPeeringRoute(), buildPeeringRoute(), ]; -void checkUnnamed34(core.List o) { +void checkUnnamed37(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPeeringRoute(o[0]); checkPeeringRoute(o[1]); @@ -1452,7 +1648,7 @@ api.ListPeeringRoutesResponse buildListPeeringRoutesResponse() { buildCounterListPeeringRoutesResponse++; if (buildCounterListPeeringRoutesResponse < 3) { o.nextPageToken = 'foo'; - o.peeringRoutes = buildUnnamed34(); + o.peeringRoutes = buildUnnamed37(); } buildCounterListPeeringRoutesResponse--; return o; @@ -1465,28 +1661,28 @@ void checkListPeeringRoutesResponse(api.ListPeeringRoutesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed34(o.peeringRoutes!); + checkUnnamed37(o.peeringRoutes!); } buildCounterListPeeringRoutesResponse--; } -core.List buildUnnamed35() => [ +core.List buildUnnamed38() => [ buildPrivateCloud(), buildPrivateCloud(), ]; -void checkUnnamed35(core.List o) { +void checkUnnamed38(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPrivateCloud(o[0]); checkPrivateCloud(o[1]); } -core.List buildUnnamed36() => [ +core.List buildUnnamed39() => [ 'foo', 'foo', ]; -void checkUnnamed36(core.List o) { +void checkUnnamed39(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1504,8 +1700,8 @@ api.ListPrivateCloudsResponse buildListPrivateCloudsResponse() { buildCounterListPrivateCloudsResponse++; if (buildCounterListPrivateCloudsResponse < 3) { o.nextPageToken = 'foo'; - o.privateClouds = buildUnnamed35(); - o.unreachable = buildUnnamed36(); + o.privateClouds = buildUnnamed38(); + o.unreachable = buildUnnamed39(); } buildCounterListPrivateCloudsResponse--; return o; @@ -1518,18 +1714,18 @@ void checkListPrivateCloudsResponse(api.ListPrivateCloudsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed35(o.privateClouds!); - checkUnnamed36(o.unreachable!); + checkUnnamed38(o.privateClouds!); + checkUnnamed39(o.unreachable!); } buildCounterListPrivateCloudsResponse--; } -core.List buildUnnamed37() => [ +core.List buildUnnamed40() => [ buildPeeringRoute(), buildPeeringRoute(), ]; -void checkUnnamed37(core.List o) { +void checkUnnamed40(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPeeringRoute(o[0]); checkPeeringRoute(o[1]); @@ -1542,7 +1738,7 @@ api.ListPrivateConnectionPeeringRoutesResponse buildCounterListPrivateConnectionPeeringRoutesResponse++; if (buildCounterListPrivateConnectionPeeringRoutesResponse < 3) { o.nextPageToken = 'foo'; - o.peeringRoutes = buildUnnamed37(); + o.peeringRoutes = buildUnnamed40(); } buildCounterListPrivateConnectionPeeringRoutesResponse--; return o; @@ -1556,28 +1752,28 @@ void checkListPrivateConnectionPeeringRoutesResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed37(o.peeringRoutes!); + checkUnnamed40(o.peeringRoutes!); } buildCounterListPrivateConnectionPeeringRoutesResponse--; } -core.List buildUnnamed38() => [ +core.List buildUnnamed41() => [ buildPrivateConnection(), buildPrivateConnection(), ]; -void checkUnnamed38(core.List o) { +void checkUnnamed41(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPrivateConnection(o[0]); checkPrivateConnection(o[1]); } -core.List buildUnnamed39() => [ +core.List buildUnnamed42() => [ 'foo', 'foo', ]; -void checkUnnamed39(core.List o) { +void checkUnnamed42(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1595,8 +1791,8 @@ api.ListPrivateConnectionsResponse buildListPrivateConnectionsResponse() { buildCounterListPrivateConnectionsResponse++; if (buildCounterListPrivateConnectionsResponse < 3) { o.nextPageToken = 'foo'; - o.privateConnections = buildUnnamed38(); - o.unreachable = buildUnnamed39(); + o.privateConnections = buildUnnamed41(); + o.unreachable = buildUnnamed42(); } buildCounterListPrivateConnectionsResponse--; return o; @@ -1609,29 +1805,29 @@ void checkListPrivateConnectionsResponse(api.ListPrivateConnectionsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed38(o.privateConnections!); - checkUnnamed39(o.unreachable!); + checkUnnamed41(o.privateConnections!); + checkUnnamed42(o.unreachable!); } buildCounterListPrivateConnectionsResponse--; } -core.List buildUnnamed40() => [ +core.List buildUnnamed43() => [ buildSubnet(), buildSubnet(), ]; -void checkUnnamed40(core.List o) { +void checkUnnamed43(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSubnet(o[0]); checkSubnet(o[1]); } -core.List buildUnnamed41() => [ +core.List buildUnnamed44() => [ 'foo', 'foo', ]; -void checkUnnamed41(core.List o) { +void checkUnnamed44(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1649,8 +1845,8 @@ api.ListSubnetsResponse buildListSubnetsResponse() { buildCounterListSubnetsResponse++; if (buildCounterListSubnetsResponse < 3) { o.nextPageToken = 'foo'; - o.subnets = buildUnnamed40(); - o.unreachable = buildUnnamed41(); + o.subnets = buildUnnamed43(); + o.unreachable = buildUnnamed44(); } buildCounterListSubnetsResponse--; return o; @@ -1663,18 +1859,72 @@ void checkListSubnetsResponse(api.ListSubnetsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed40(o.subnets!); - checkUnnamed41(o.unreachable!); + checkUnnamed43(o.subnets!); + checkUnnamed44(o.unreachable!); } buildCounterListSubnetsResponse--; } -core.List buildUnnamed42() => [ +core.List buildUnnamed45() => [ 'foo', 'foo', ]; -void checkUnnamed42(core.List o) { +void checkUnnamed45(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed46() => [ + buildUpgrade(), + buildUpgrade(), + ]; + +void checkUnnamed46(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkUpgrade(o[0]); + checkUpgrade(o[1]); +} + +core.int buildCounterListUpgradesResponse = 0; +api.ListUpgradesResponse buildListUpgradesResponse() { + final o = api.ListUpgradesResponse(); + buildCounterListUpgradesResponse++; + if (buildCounterListUpgradesResponse < 3) { + o.nextPageToken = 'foo'; + o.unreachable = buildUnnamed45(); + o.upgrades = buildUnnamed46(); + } + buildCounterListUpgradesResponse--; + return o; +} + +void checkListUpgradesResponse(api.ListUpgradesResponse o) { + buildCounterListUpgradesResponse++; + if (buildCounterListUpgradesResponse < 3) { + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + checkUnnamed45(o.unreachable!); + checkUnnamed46(o.upgrades!); + } + buildCounterListUpgradesResponse--; +} + +core.List buildUnnamed47() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed47(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1686,12 +1936,12 @@ void checkUnnamed42(core.List o) { ); } -core.List buildUnnamed43() => [ +core.List buildUnnamed48() => [ buildVmwareEngineNetwork(), buildVmwareEngineNetwork(), ]; -void checkUnnamed43(core.List o) { +void checkUnnamed48(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVmwareEngineNetwork(o[0]); checkVmwareEngineNetwork(o[1]); @@ -1703,8 +1953,8 @@ api.ListVmwareEngineNetworksResponse buildListVmwareEngineNetworksResponse() { buildCounterListVmwareEngineNetworksResponse++; if (buildCounterListVmwareEngineNetworksResponse < 3) { o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed42(); - o.vmwareEngineNetworks = buildUnnamed43(); + o.unreachable = buildUnnamed47(); + o.vmwareEngineNetworks = buildUnnamed48(); } buildCounterListVmwareEngineNetworksResponse--; return o; @@ -1718,18 +1968,18 @@ void checkListVmwareEngineNetworksResponse( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed42(o.unreachable!); - checkUnnamed43(o.vmwareEngineNetworks!); + checkUnnamed47(o.unreachable!); + checkUnnamed48(o.vmwareEngineNetworks!); } buildCounterListVmwareEngineNetworksResponse--; } -core.Map buildUnnamed44() => { +core.Map buildUnnamed49() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed44(core.Map o) { +void checkUnnamed49(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1741,7 +1991,7 @@ void checkUnnamed44(core.Map o) { ); } -core.Map buildUnnamed45() => { +core.Map buildUnnamed50() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1754,7 +2004,7 @@ core.Map buildUnnamed45() => { }, }; -void checkUnnamed45(core.Map o) { +void checkUnnamed50(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -1792,9 +2042,9 @@ api.Location buildLocation() { buildCounterLocation++; if (buildCounterLocation < 3) { o.displayName = 'foo'; - o.labels = buildUnnamed44(); + o.labels = buildUnnamed49(); o.locationId = 'foo'; - o.metadata = buildUnnamed45(); + o.metadata = buildUnnamed50(); o.name = 'foo'; } buildCounterLocation--; @@ -1808,12 +2058,12 @@ void checkLocation(api.Location o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed44(o.labels!); + checkUnnamed49(o.labels!); unittest.expect( o.locationId!, unittest.equals('foo'), ); - checkUnnamed45(o.metadata!); + checkUnnamed50(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), @@ -1879,12 +2129,12 @@ void checkLoggingServer(api.LoggingServer o) { buildCounterLoggingServer--; } -core.Map buildUnnamed46() => { +core.Map buildUnnamed51() => { 'x': buildNodeTypeConfig(), 'y': buildNodeTypeConfig(), }; -void checkUnnamed46(core.Map o) { +void checkUnnamed51(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkNodeTypeConfig(o['x']!); checkNodeTypeConfig(o['y']!); @@ -1896,7 +2146,7 @@ api.ManagementCluster buildManagementCluster() { buildCounterManagementCluster++; if (buildCounterManagementCluster < 3) { o.clusterId = 'foo'; - o.nodeTypeConfigs = buildUnnamed46(); + o.nodeTypeConfigs = buildUnnamed51(); o.stretchedClusterConfig = buildStretchedClusterConfig(); } buildCounterManagementCluster--; @@ -1910,7 +2160,7 @@ void checkManagementCluster(api.ManagementCluster o) { o.clusterId!, unittest.equals('foo'), ); - checkUnnamed46(o.nodeTypeConfigs!); + checkUnnamed51(o.nodeTypeConfigs!); checkStretchedClusterConfig(o.stretchedClusterConfig!); } buildCounterManagementCluster--; @@ -2234,12 +2484,12 @@ void checkNode(api.Node o) { buildCounterNode--; } -core.List buildUnnamed47() => [ +core.List buildUnnamed52() => [ 42, 42, ]; -void checkUnnamed47(core.List o) { +void checkUnnamed52(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2251,12 +2501,12 @@ void checkUnnamed47(core.List o) { ); } -core.List buildUnnamed48() => [ +core.List buildUnnamed53() => [ 'foo', 'foo', ]; -void checkUnnamed48(core.List o) { +void checkUnnamed53(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2268,12 +2518,12 @@ void checkUnnamed48(core.List o) { ); } -core.List buildUnnamed49() => [ +core.List buildUnnamed54() => [ 'foo', 'foo', ]; -void checkUnnamed49(core.List o) { +void checkUnnamed54(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2290,11 +2540,11 @@ api.NodeType buildNodeType() { final o = api.NodeType(); buildCounterNodeType++; if (buildCounterNodeType < 3) { - o.availableCustomCoreCounts = buildUnnamed47(); - o.capabilities = buildUnnamed48(); + o.availableCustomCoreCounts = buildUnnamed52(); + o.capabilities = buildUnnamed53(); o.diskSizeGb = 42; o.displayName = 'foo'; - o.families = buildUnnamed49(); + o.families = buildUnnamed54(); o.kind = 'foo'; o.memoryGb = 42; o.name = 'foo'; @@ -2309,8 +2559,8 @@ api.NodeType buildNodeType() { void checkNodeType(api.NodeType o) { buildCounterNodeType++; if (buildCounterNodeType < 3) { - checkUnnamed47(o.availableCustomCoreCounts!); - checkUnnamed48(o.capabilities!); + checkUnnamed52(o.availableCustomCoreCounts!); + checkUnnamed53(o.capabilities!); unittest.expect( o.diskSizeGb!, unittest.equals(42), @@ -2319,7 +2569,7 @@ void checkNodeType(api.NodeType o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed49(o.families!); + checkUnnamed54(o.families!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -2412,7 +2662,7 @@ void checkNsx(api.Nsx o) { buildCounterNsx--; } -core.Map buildUnnamed50() => { +core.Map buildUnnamed55() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2425,7 +2675,7 @@ core.Map buildUnnamed50() => { }, }; -void checkUnnamed50(core.Map o) { +void checkUnnamed55(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -2457,7 +2707,7 @@ void checkUnnamed50(core.Map o) { ); } -core.Map buildUnnamed51() => { +core.Map buildUnnamed56() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2470,7 +2720,7 @@ core.Map buildUnnamed51() => { }, }; -void checkUnnamed51(core.Map o) { +void checkUnnamed56(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -2509,9 +2759,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed50(); + o.metadata = buildUnnamed55(); o.name = 'foo'; - o.response = buildUnnamed51(); + o.response = buildUnnamed56(); } buildCounterOperation--; return o; @@ -2522,12 +2772,12 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed50(o.metadata!); + checkUnnamed55(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed51(o.response!); + checkUnnamed56(o.response!); } buildCounterOperation--; } @@ -2576,23 +2826,23 @@ void checkPeeringRoute(api.PeeringRoute o) { buildCounterPeeringRoute--; } -core.List buildUnnamed52() => [ +core.List buildUnnamed57() => [ buildAuditConfig(), buildAuditConfig(), ]; -void checkUnnamed52(core.List o) { +void checkUnnamed57(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAuditConfig(o[0]); checkAuditConfig(o[1]); } -core.List buildUnnamed53() => [ +core.List buildUnnamed58() => [ buildBinding(), buildBinding(), ]; -void checkUnnamed53(core.List o) { +void checkUnnamed58(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBinding(o[0]); checkBinding(o[1]); @@ -2603,8 +2853,8 @@ api.Policy buildPolicy() { final o = api.Policy(); buildCounterPolicy++; if (buildCounterPolicy < 3) { - o.auditConfigs = buildUnnamed52(); - o.bindings = buildUnnamed53(); + o.auditConfigs = buildUnnamed57(); + o.bindings = buildUnnamed58(); o.etag = 'foo'; o.version = 42; } @@ -2615,8 +2865,8 @@ api.Policy buildPolicy() { void checkPolicy(api.Policy o) { buildCounterPolicy++; if (buildCounterPolicy < 3) { - checkUnnamed52(o.auditConfigs!); - checkUnnamed53(o.bindings!); + checkUnnamed57(o.auditConfigs!); + checkUnnamed58(o.bindings!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -2907,6 +3157,50 @@ void checkRevokeDnsBindPermissionRequest(api.RevokeDnsBindPermissionRequest o) { buildCounterRevokeDnsBindPermissionRequest--; } +core.List buildUnnamed59() => [ + buildTimeWindow(), + buildTimeWindow(), + ]; + +void checkUnnamed59(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkTimeWindow(o[0]); + checkTimeWindow(o[1]); +} + +core.int buildCounterSchedule = 0; +api.Schedule buildSchedule() { + final o = api.Schedule(); + buildCounterSchedule++; + if (buildCounterSchedule < 3) { + o.constraints = buildConstraints(); + o.editWindow = buildInterval(); + o.lastEditor = 'foo'; + o.startTime = 'foo'; + o.weeklyWindows = buildUnnamed59(); + } + buildCounterSchedule--; + return o; +} + +void checkSchedule(api.Schedule o) { + buildCounterSchedule++; + if (buildCounterSchedule < 3) { + checkConstraints(o.constraints!); + checkInterval(o.editWindow!); + unittest.expect( + o.lastEditor!, + unittest.equals('foo'), + ); + unittest.expect( + o.startTime!, + unittest.equals('foo'), + ); + checkUnnamed59(o.weeklyWindows!); + } + buildCounterSchedule--; +} + core.int buildCounterSetIamPolicyRequest = 0; api.SetIamPolicyRequest buildSetIamPolicyRequest() { final o = api.SetIamPolicyRequest(); @@ -2931,7 +3225,7 @@ void checkSetIamPolicyRequest(api.SetIamPolicyRequest o) { buildCounterSetIamPolicyRequest--; } -core.Map buildUnnamed54() => { +core.Map buildUnnamed60() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2944,7 +3238,7 @@ core.Map buildUnnamed54() => { }, }; -void checkUnnamed54(core.Map o) { +void checkUnnamed60(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -2976,15 +3270,15 @@ void checkUnnamed54(core.Map o) { ); } -core.List> buildUnnamed55() => [ - buildUnnamed54(), - buildUnnamed54(), +core.List> buildUnnamed61() => [ + buildUnnamed60(), + buildUnnamed60(), ]; -void checkUnnamed55(core.List> o) { +void checkUnnamed61(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed54(o[0]); - checkUnnamed54(o[1]); + checkUnnamed60(o[0]); + checkUnnamed60(o[1]); } core.int buildCounterStatus = 0; @@ -2993,7 +3287,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed55(); + o.details = buildUnnamed61(); o.message = 'foo'; } buildCounterStatus--; @@ -3007,7 +3301,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed55(o.details!); + checkUnnamed61(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -3090,12 +3384,12 @@ void checkSubnet(api.Subnet o) { buildCounterSubnet--; } -core.List buildUnnamed56() => [ +core.List buildUnnamed62() => [ 'foo', 'foo', ]; -void checkUnnamed56(core.List o) { +void checkUnnamed62(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3112,7 +3406,7 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { final o = api.TestIamPermissionsRequest(); buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - o.permissions = buildUnnamed56(); + o.permissions = buildUnnamed62(); } buildCounterTestIamPermissionsRequest--; return o; @@ -3121,17 +3415,17 @@ api.TestIamPermissionsRequest buildTestIamPermissionsRequest() { void checkTestIamPermissionsRequest(api.TestIamPermissionsRequest o) { buildCounterTestIamPermissionsRequest++; if (buildCounterTestIamPermissionsRequest < 3) { - checkUnnamed56(o.permissions!); + checkUnnamed62(o.permissions!); } buildCounterTestIamPermissionsRequest--; } -core.List buildUnnamed57() => [ +core.List buildUnnamed63() => [ 'foo', 'foo', ]; -void checkUnnamed57(core.List o) { +void checkUnnamed63(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3148,7 +3442,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { final o = api.TestIamPermissionsResponse(); buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - o.permissions = buildUnnamed57(); + o.permissions = buildUnnamed63(); } buildCounterTestIamPermissionsResponse--; return o; @@ -3157,7 +3451,7 @@ api.TestIamPermissionsResponse buildTestIamPermissionsResponse() { void checkTestIamPermissionsResponse(api.TestIamPermissionsResponse o) { buildCounterTestIamPermissionsResponse++; if (buildCounterTestIamPermissionsResponse < 3) { - checkUnnamed57(o.permissions!); + checkUnnamed63(o.permissions!); } buildCounterTestIamPermissionsResponse--; } @@ -3189,6 +3483,72 @@ void checkThresholds(api.Thresholds o) { buildCounterThresholds--; } +core.int buildCounterTimeOfDay = 0; +api.TimeOfDay buildTimeOfDay() { + final o = api.TimeOfDay(); + buildCounterTimeOfDay++; + if (buildCounterTimeOfDay < 3) { + o.hours = 42; + o.minutes = 42; + o.nanos = 42; + o.seconds = 42; + } + buildCounterTimeOfDay--; + return o; +} + +void checkTimeOfDay(api.TimeOfDay o) { + buildCounterTimeOfDay++; + if (buildCounterTimeOfDay < 3) { + unittest.expect( + o.hours!, + unittest.equals(42), + ); + unittest.expect( + o.minutes!, + unittest.equals(42), + ); + unittest.expect( + o.nanos!, + unittest.equals(42), + ); + unittest.expect( + o.seconds!, + unittest.equals(42), + ); + } + buildCounterTimeOfDay--; +} + +core.int buildCounterTimeWindow = 0; +api.TimeWindow buildTimeWindow() { + final o = api.TimeWindow(); + buildCounterTimeWindow++; + if (buildCounterTimeWindow < 3) { + o.dayOfWeek = 'foo'; + o.duration = 'foo'; + o.startTime = buildTimeOfDay(); + } + buildCounterTimeWindow--; + return o; +} + +void checkTimeWindow(api.TimeWindow o) { + buildCounterTimeWindow++; + if (buildCounterTimeWindow < 3) { + unittest.expect( + o.dayOfWeek!, + unittest.equals('foo'), + ); + unittest.expect( + o.duration!, + unittest.equals('foo'), + ); + checkTimeOfDay(o.startTime!); + } + buildCounterTimeWindow--; +} + core.int buildCounterUndeletePrivateCloudRequest = 0; api.UndeletePrivateCloudRequest buildUndeletePrivateCloudRequest() { final o = api.UndeletePrivateCloudRequest(); @@ -3211,6 +3571,103 @@ void checkUndeletePrivateCloudRequest(api.UndeletePrivateCloudRequest o) { buildCounterUndeletePrivateCloudRequest--; } +core.List buildUnnamed64() => [ + buildVmwareUpgradeComponent(), + buildVmwareUpgradeComponent(), + ]; + +void checkUnnamed64(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkVmwareUpgradeComponent(o[0]); + checkVmwareUpgradeComponent(o[1]); +} + +core.int buildCounterUpgrade = 0; +api.Upgrade buildUpgrade() { + final o = api.Upgrade(); + buildCounterUpgrade++; + if (buildCounterUpgrade < 3) { + o.componentUpgrades = buildUnnamed64(); + o.createTime = 'foo'; + o.description = 'foo'; + o.endTime = 'foo'; + o.estimatedDuration = 'foo'; + o.etag = 'foo'; + o.name = 'foo'; + o.schedule = buildSchedule(); + o.startVersion = 'foo'; + o.state = 'foo'; + o.targetVersion = 'foo'; + o.type = 'foo'; + o.uid = 'foo'; + o.updateTime = 'foo'; + o.version = 'foo'; + } + buildCounterUpgrade--; + return o; +} + +void checkUpgrade(api.Upgrade o) { + buildCounterUpgrade++; + if (buildCounterUpgrade < 3) { + checkUnnamed64(o.componentUpgrades!); + unittest.expect( + o.createTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.description!, + unittest.equals('foo'), + ); + unittest.expect( + o.endTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.estimatedDuration!, + unittest.equals('foo'), + ); + unittest.expect( + o.etag!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + checkSchedule(o.schedule!); + unittest.expect( + o.startVersion!, + unittest.equals('foo'), + ); + unittest.expect( + o.state!, + unittest.equals('foo'), + ); + unittest.expect( + o.targetVersion!, + unittest.equals('foo'), + ); + unittest.expect( + o.type!, + unittest.equals('foo'), + ); + unittest.expect( + o.uid!, + unittest.equals('foo'), + ); + unittest.expect( + o.updateTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.version!, + unittest.equals('foo'), + ); + } + buildCounterUpgrade--; +} + core.int buildCounterVcenter = 0; api.Vcenter buildVcenter() { final o = api.Vcenter(); @@ -3248,12 +3705,12 @@ void checkVcenter(api.Vcenter o) { buildCounterVcenter--; } -core.List buildUnnamed58() => [ +core.List buildUnnamed65() => [ buildVpcNetwork(), buildVpcNetwork(), ]; -void checkUnnamed58(core.List o) { +void checkUnnamed65(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkVpcNetwork(o[0]); checkVpcNetwork(o[1]); @@ -3272,7 +3729,7 @@ api.VmwareEngineNetwork buildVmwareEngineNetwork() { o.type = 'foo'; o.uid = 'foo'; o.updateTime = 'foo'; - o.vpcNetworks = buildUnnamed58(); + o.vpcNetworks = buildUnnamed65(); } buildCounterVmwareEngineNetwork--; return o; @@ -3313,11 +3770,38 @@ void checkVmwareEngineNetwork(api.VmwareEngineNetwork o) { o.updateTime!, unittest.equals('foo'), ); - checkUnnamed58(o.vpcNetworks!); + checkUnnamed65(o.vpcNetworks!); } buildCounterVmwareEngineNetwork--; } +core.int buildCounterVmwareUpgradeComponent = 0; +api.VmwareUpgradeComponent buildVmwareUpgradeComponent() { + final o = api.VmwareUpgradeComponent(); + buildCounterVmwareUpgradeComponent++; + if (buildCounterVmwareUpgradeComponent < 3) { + o.componentType = 'foo'; + o.state = 'foo'; + } + buildCounterVmwareUpgradeComponent--; + return o; +} + +void checkVmwareUpgradeComponent(api.VmwareUpgradeComponent o) { + buildCounterVmwareUpgradeComponent++; + if (buildCounterVmwareUpgradeComponent < 3) { + unittest.expect( + o.componentType!, + unittest.equals('foo'), + ); + unittest.expect( + o.state!, + unittest.equals('foo'), + ); + } + buildCounterVmwareUpgradeComponent--; +} + core.int buildCounterVpcNetwork = 0; api.VpcNetwork buildVpcNetwork() { final o = api.VpcNetwork(); @@ -3346,6 +3830,16 @@ void checkVpcNetwork(api.VpcNetwork o) { } void main() { + unittest.group('obj-schema-Announcement', () { + unittest.test('to-json--from-json', () async { + final o = buildAnnouncement(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.Announcement.fromJson( + oJson as core.Map); + checkAnnouncement(od); + }); + }); + unittest.group('obj-schema-AuditConfig', () { unittest.test('to-json--from-json', () async { final o = buildAuditConfig(); @@ -3406,6 +3900,16 @@ void main() { }); }); + unittest.group('obj-schema-Constraints', () { + unittest.test('to-json--from-json', () async { + final o = buildConstraints(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.Constraints.fromJson( + oJson as core.Map); + checkConstraints(od); + }); + }); + unittest.group('obj-schema-Credentials', () { unittest.test('to-json--from-json', () async { final o = buildCredentials(); @@ -3525,6 +4029,16 @@ void main() { }); }); + unittest.group('obj-schema-Interval', () { + unittest.test('to-json--from-json', () async { + final o = buildInterval(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Interval.fromJson(oJson as core.Map); + checkInterval(od); + }); + }); + unittest.group('obj-schema-IpRange', () { unittest.test('to-json--from-json', () async { final o = buildIpRange(); @@ -3535,6 +4049,16 @@ void main() { }); }); + unittest.group('obj-schema-ListAnnouncementsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListAnnouncementsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListAnnouncementsResponse.fromJson( + oJson as core.Map); + checkListAnnouncementsResponse(od); + }); + }); + unittest.group('obj-schema-ListClustersResponse', () { unittest.test('to-json--from-json', () async { final o = buildListClustersResponse(); @@ -3705,6 +4229,16 @@ void main() { }); }); + unittest.group('obj-schema-ListUpgradesResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListUpgradesResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListUpgradesResponse.fromJson( + oJson as core.Map); + checkListUpgradesResponse(od); + }); + }); + unittest.group('obj-schema-ListVmwareEngineNetworksResponse', () { unittest.test('to-json--from-json', () async { final o = buildListVmwareEngineNetworksResponse(); @@ -3934,6 +4468,16 @@ void main() { }); }); + unittest.group('obj-schema-Schedule', () { + unittest.test('to-json--from-json', () async { + final o = buildSchedule(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Schedule.fromJson(oJson as core.Map); + checkSchedule(od); + }); + }); + unittest.group('obj-schema-SetIamPolicyRequest', () { unittest.test('to-json--from-json', () async { final o = buildSetIamPolicyRequest(); @@ -4004,6 +4548,26 @@ void main() { }); }); + unittest.group('obj-schema-TimeOfDay', () { + unittest.test('to-json--from-json', () async { + final o = buildTimeOfDay(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.TimeOfDay.fromJson(oJson as core.Map); + checkTimeOfDay(od); + }); + }); + + unittest.group('obj-schema-TimeWindow', () { + unittest.test('to-json--from-json', () async { + final o = buildTimeWindow(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.TimeWindow.fromJson(oJson as core.Map); + checkTimeWindow(od); + }); + }); + unittest.group('obj-schema-UndeletePrivateCloudRequest', () { unittest.test('to-json--from-json', () async { final o = buildUndeletePrivateCloudRequest(); @@ -4014,6 +4578,16 @@ void main() { }); }); + unittest.group('obj-schema-Upgrade', () { + unittest.test('to-json--from-json', () async { + final o = buildUpgrade(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Upgrade.fromJson(oJson as core.Map); + checkUpgrade(od); + }); + }); + unittest.group('obj-schema-Vcenter', () { unittest.test('to-json--from-json', () async { final o = buildVcenter(); @@ -4034,6 +4608,16 @@ void main() { }); }); + unittest.group('obj-schema-VmwareUpgradeComponent', () { + unittest.test('to-json--from-json', () async { + final o = buildVmwareUpgradeComponent(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.VmwareUpgradeComponent.fromJson( + oJson as core.Map); + checkVmwareUpgradeComponent(od); + }); + }); + unittest.group('obj-schema-VpcNetwork', () { unittest.test('to-json--from-json', () async { final o = buildVpcNetwork(); @@ -4042,13 +4626,121 @@ void main() { api.VpcNetwork.fromJson(oJson as core.Map); checkVpcNetwork(od); }); - }); + }); + + unittest.group('resource-ProjectsLocationsResource', () { + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.VMwareEngineApi(mock).projects.locations; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildLocation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_name, $fields: arg_$fields); + checkLocation(response as api.Location); + }); + + unittest.test('method--getDnsBindPermission', () async { + final mock = HttpServerMock(); + final res = api.VMwareEngineApi(mock).projects.locations; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildDnsBindPermission()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.getDnsBindPermission(arg_name, $fields: arg_$fields); + checkDnsBindPermission(response as api.DnsBindPermission); + }); - unittest.group('resource-ProjectsLocationsResource', () { - unittest.test('method--get', () async { + unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.VMwareEngineApi(mock).projects.locations; final arg_name = 'foo'; + final arg_filter = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -4082,6 +4774,18 @@ void main() { ); } } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -4090,16 +4794,22 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildLocation()); + final resp = convert.json.encode(buildListLocationsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.get(arg_name, $fields: arg_$fields); - checkLocation(response as api.Location); + final response = await res.list(arg_name, + filter: arg_filter, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListLocationsResponse(response as api.ListLocationsResponse); }); + }); - unittest.test('method--getDnsBindPermission', () async { + unittest.group('resource-ProjectsLocationsAnnouncementsResource', () { + unittest.test('method--get', () async { final mock = HttpServerMock(); - final res = api.VMwareEngineApi(mock).projects.locations; + final res = api.VMwareEngineApi(mock).projects.locations.announcements; final arg_name = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -4142,19 +4852,19 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildDnsBindPermission()); + final resp = convert.json.encode(buildAnnouncement()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.getDnsBindPermission(arg_name, $fields: arg_$fields); - checkDnsBindPermission(response as api.DnsBindPermission); + final response = await res.get(arg_name, $fields: arg_$fields); + checkAnnouncement(response as api.Announcement); }); unittest.test('method--list', () async { final mock = HttpServerMock(); - final res = api.VMwareEngineApi(mock).projects.locations; - final arg_name = 'foo'; + final res = api.VMwareEngineApi(mock).projects.locations.announcements; + final arg_parent = 'foo'; final arg_filter = 'foo'; + final arg_orderBy = 'foo'; final arg_pageSize = 42; final arg_pageToken = 'foo'; final arg_$fields = 'foo'; @@ -4194,6 +4904,10 @@ void main() { queryMap['filter']!.first, unittest.equals(arg_filter), ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); unittest.expect( core.int.parse(queryMap['pageSize']!.first), unittest.equals(arg_pageSize), @@ -4210,15 +4924,16 @@ void main() { final h = { 'content-type': 'application/json; charset=utf-8', }; - final resp = convert.json.encode(buildListLocationsResponse()); + final resp = convert.json.encode(buildListAnnouncementsResponse()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = await res.list(arg_name, + final response = await res.list(arg_parent, filter: arg_filter, + orderBy: arg_orderBy, pageSize: arg_pageSize, pageToken: arg_pageToken, $fields: arg_$fields); - checkListLocationsResponse(response as api.ListLocationsResponse); + checkListAnnouncementsResponse(response as api.ListAnnouncementsResponse); }); }); @@ -9084,6 +9799,210 @@ void main() { }); }); + unittest.group('resource-ProjectsLocationsPrivateCloudsUpgradesResource', () { + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = + api.VMwareEngineApi(mock).projects.locations.privateClouds.upgrades; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildUpgrade()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_name, $fields: arg_$fields); + checkUpgrade(response as api.Upgrade); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = + api.VMwareEngineApi(mock).projects.locations.privateClouds.upgrades; + final arg_parent = 'foo'; + final arg_filter = 'foo'; + final arg_orderBy = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + queryMap['orderBy']!.first, + unittest.equals(arg_orderBy), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListUpgradesResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_parent, + filter: arg_filter, + orderBy: arg_orderBy, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListUpgradesResponse(response as api.ListUpgradesResponse); + }); + + unittest.test('method--patch', () async { + final mock = HttpServerMock(); + final res = + api.VMwareEngineApi(mock).projects.locations.privateClouds.upgrades; + final arg_request = buildUpgrade(); + final arg_name = 'foo'; + final arg_requestId = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.Upgrade.fromJson(json as core.Map); + checkUpgrade(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.patch(arg_request, arg_name, + requestId: arg_requestId, + updateMask: arg_updateMask, + $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + }); + unittest.group('resource-ProjectsLocationsPrivateConnectionsResource', () { unittest.test('method--create', () async { final mock = HttpServerMock(); diff --git a/generated/googleapis/test/walletobjects/v1_test.dart b/generated/googleapis/test/walletobjects/v1_test.dart index e02d82d2b..271a1e0e6 100644 --- a/generated/googleapis/test/walletobjects/v1_test.dart +++ b/generated/googleapis/test/walletobjects/v1_test.dart @@ -6152,6 +6152,53 @@ void checkSecurityAnimation(api.SecurityAnimation o) { buildCounterSecurityAnimation--; } +core.int buildCounterSetPassUpdateNoticeRequest = 0; +api.SetPassUpdateNoticeRequest buildSetPassUpdateNoticeRequest() { + final o = api.SetPassUpdateNoticeRequest(); + buildCounterSetPassUpdateNoticeRequest++; + if (buildCounterSetPassUpdateNoticeRequest < 3) { + o.externalPassId = 'foo'; + o.updateUri = 'foo'; + o.updatedPassJwtSignature = 'foo'; + } + buildCounterSetPassUpdateNoticeRequest--; + return o; +} + +void checkSetPassUpdateNoticeRequest(api.SetPassUpdateNoticeRequest o) { + buildCounterSetPassUpdateNoticeRequest++; + if (buildCounterSetPassUpdateNoticeRequest < 3) { + unittest.expect( + o.externalPassId!, + unittest.equals('foo'), + ); + unittest.expect( + o.updateUri!, + unittest.equals('foo'), + ); + unittest.expect( + o.updatedPassJwtSignature!, + unittest.equals('foo'), + ); + } + buildCounterSetPassUpdateNoticeRequest--; +} + +core.int buildCounterSetPassUpdateNoticeResponse = 0; +api.SetPassUpdateNoticeResponse buildSetPassUpdateNoticeResponse() { + final o = api.SetPassUpdateNoticeResponse(); + buildCounterSetPassUpdateNoticeResponse++; + if (buildCounterSetPassUpdateNoticeResponse < 3) {} + buildCounterSetPassUpdateNoticeResponse--; + return o; +} + +void checkSetPassUpdateNoticeResponse(api.SetPassUpdateNoticeResponse o) { + buildCounterSetPassUpdateNoticeResponse++; + if (buildCounterSetPassUpdateNoticeResponse < 3) {} + buildCounterSetPassUpdateNoticeResponse--; +} + core.int buildCounterSignUpInfo = 0; api.SignUpInfo buildSignUpInfo() { final o = api.SignUpInfo(); @@ -8516,6 +8563,26 @@ void main() { }); }); + unittest.group('obj-schema-SetPassUpdateNoticeRequest', () { + unittest.test('to-json--from-json', () async { + final o = buildSetPassUpdateNoticeRequest(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SetPassUpdateNoticeRequest.fromJson( + oJson as core.Map); + checkSetPassUpdateNoticeRequest(od); + }); + }); + + unittest.group('obj-schema-SetPassUpdateNoticeResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildSetPassUpdateNoticeResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SetPassUpdateNoticeResponse.fromJson( + oJson as core.Map); + checkSetPassUpdateNoticeResponse(od); + }); + }); + unittest.group('obj-schema-SignUpInfo', () { unittest.test('to-json--from-json', () async { final o = buildSignUpInfo(); @@ -14898,4 +14965,64 @@ void main() { checkTransitObject(response as api.TransitObject); }); }); + + unittest.group('resource-WalletobjectsV1PrivateContentResource', () { + unittest.test('method--setPassUpdateNotice', () async { + final mock = HttpServerMock(); + final res = api.WalletobjectsApi(mock).walletobjects.v1.privateContent; + final arg_request = buildSetPassUpdateNoticeRequest(); + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = api.SetPassUpdateNoticeRequest.fromJson( + json as core.Map); + checkSetPassUpdateNoticeRequest(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 51), + unittest + .equals('walletobjects/v1/privateContent/setPassUpdateNotice'), + ); + pathOffset += 51; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildSetPassUpdateNoticeResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.setPassUpdateNotice(arg_request, $fields: arg_$fields); + checkSetPassUpdateNoticeResponse( + response as api.SetPassUpdateNoticeResponse); + }); + }); } diff --git a/generated/googleapis/test/webfonts/v1_test.dart b/generated/googleapis/test/webfonts/v1_test.dart index c6e33155a..9598a5a5f 100644 --- a/generated/googleapis/test/webfonts/v1_test.dart +++ b/generated/googleapis/test/webfonts/v1_test.dart @@ -299,6 +299,7 @@ void main() { final mock = HttpServerMock(); final res = api.WebfontsApi(mock).webfonts; final arg_capability = buildUnnamed6(); + final arg_category = 'foo'; final arg_family = buildUnnamed7(); final arg_sort = 'foo'; final arg_subset = 'foo'; @@ -338,6 +339,10 @@ void main() { queryMap['capability']!, unittest.equals(arg_capability), ); + unittest.expect( + queryMap['category']!.first, + unittest.equals(arg_category), + ); unittest.expect( queryMap['family']!, unittest.equals(arg_family), @@ -363,6 +368,7 @@ void main() { }), true); final response = await res.list( capability: arg_capability, + category: arg_category, family: arg_family, sort: arg_sort, subset: arg_subset, diff --git a/generated/googleapis/test/websecurityscanner/v1_test.dart b/generated/googleapis/test/websecurityscanner/v1_test.dart index 3b2de3bed..00319098b 100644 --- a/generated/googleapis/test/websecurityscanner/v1_test.dart +++ b/generated/googleapis/test/websecurityscanner/v1_test.dart @@ -627,6 +627,23 @@ void checkUnnamed8(core.List o) { ); } +core.List buildUnnamed9() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed9(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + core.int buildCounterScanConfig = 0; api.ScanConfig buildScanConfig() { final o = api.ScanConfig(); @@ -637,6 +654,7 @@ api.ScanConfig buildScanConfig() { o.displayName = 'foo'; o.exportToSecurityCommandCenter = 'foo'; o.ignoreHttpStatusErrors = true; + o.latestRun = buildScanRun(); o.managedScan = true; o.maxQps = 42; o.name = 'foo'; @@ -644,6 +662,7 @@ api.ScanConfig buildScanConfig() { o.schedule = buildSchedule(); o.startingUrls = buildUnnamed8(); o.staticIpScan = true; + o.targetPlatforms = buildUnnamed9(); o.userAgent = 'foo'; } buildCounterScanConfig--; @@ -664,6 +683,7 @@ void checkScanConfig(api.ScanConfig o) { unittest.equals('foo'), ); unittest.expect(o.ignoreHttpStatusErrors!, unittest.isTrue); + checkScanRun(o.latestRun!); unittest.expect(o.managedScan!, unittest.isTrue); unittest.expect( o.maxQps!, @@ -680,6 +700,7 @@ void checkScanConfig(api.ScanConfig o) { checkSchedule(o.schedule!); checkUnnamed8(o.startingUrls!); unittest.expect(o.staticIpScan!, unittest.isTrue); + checkUnnamed9(o.targetPlatforms!); unittest.expect( o.userAgent!, unittest.equals('foo'), @@ -715,12 +736,12 @@ void checkScanConfigError(api.ScanConfigError o) { buildCounterScanConfigError--; } -core.List buildUnnamed9() => [ +core.List buildUnnamed10() => [ buildScanRunWarningTrace(), buildScanRunWarningTrace(), ]; -void checkUnnamed9(core.List o) { +void checkUnnamed10(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkScanRunWarningTrace(o[0]); checkScanRunWarningTrace(o[1]); @@ -741,7 +762,7 @@ api.ScanRun buildScanRun() { o.startTime = 'foo'; o.urlsCrawledCount = 'foo'; o.urlsTestedCount = 'foo'; - o.warningTraces = buildUnnamed9(); + o.warningTraces = buildUnnamed10(); } buildCounterScanRun--; return o; @@ -784,7 +805,7 @@ void checkScanRun(api.ScanRun o) { o.urlsTestedCount!, unittest.equals('foo'), ); - checkUnnamed9(o.warningTraces!); + checkUnnamed10(o.warningTraces!); } buildCounterScanRun--; } @@ -924,23 +945,23 @@ void checkViolatingResource(api.ViolatingResource o) { buildCounterViolatingResource--; } -core.List buildUnnamed10() => [ +core.List buildUnnamed11() => [ buildHeader(), buildHeader(), ]; -void checkUnnamed10(core.List o) { +void checkUnnamed11(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHeader(o[0]); checkHeader(o[1]); } -core.List buildUnnamed11() => [ +core.List buildUnnamed12() => [ buildHeader(), buildHeader(), ]; -void checkUnnamed11(core.List o) { +void checkUnnamed12(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkHeader(o[0]); checkHeader(o[1]); @@ -951,8 +972,8 @@ api.VulnerableHeaders buildVulnerableHeaders() { final o = api.VulnerableHeaders(); buildCounterVulnerableHeaders++; if (buildCounterVulnerableHeaders < 3) { - o.headers = buildUnnamed10(); - o.missingHeaders = buildUnnamed11(); + o.headers = buildUnnamed11(); + o.missingHeaders = buildUnnamed12(); } buildCounterVulnerableHeaders--; return o; @@ -961,18 +982,18 @@ api.VulnerableHeaders buildVulnerableHeaders() { void checkVulnerableHeaders(api.VulnerableHeaders o) { buildCounterVulnerableHeaders++; if (buildCounterVulnerableHeaders < 3) { - checkUnnamed10(o.headers!); - checkUnnamed11(o.missingHeaders!); + checkUnnamed11(o.headers!); + checkUnnamed12(o.missingHeaders!); } buildCounterVulnerableHeaders--; } -core.List buildUnnamed12() => [ +core.List buildUnnamed13() => [ 'foo', 'foo', ]; -void checkUnnamed12(core.List o) { +void checkUnnamed13(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -989,7 +1010,7 @@ api.VulnerableParameters buildVulnerableParameters() { final o = api.VulnerableParameters(); buildCounterVulnerableParameters++; if (buildCounterVulnerableParameters < 3) { - o.parameterNames = buildUnnamed12(); + o.parameterNames = buildUnnamed13(); } buildCounterVulnerableParameters--; return o; @@ -998,17 +1019,17 @@ api.VulnerableParameters buildVulnerableParameters() { void checkVulnerableParameters(api.VulnerableParameters o) { buildCounterVulnerableParameters++; if (buildCounterVulnerableParameters < 3) { - checkUnnamed12(o.parameterNames!); + checkUnnamed13(o.parameterNames!); } buildCounterVulnerableParameters--; } -core.List buildUnnamed13() => [ +core.List buildUnnamed14() => [ 'foo', 'foo', ]; -void checkUnnamed13(core.List o) { +void checkUnnamed14(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1027,7 +1048,7 @@ api.Xss buildXss() { if (buildCounterXss < 3) { o.attackVector = 'foo'; o.errorMessage = 'foo'; - o.stackTraces = buildUnnamed13(); + o.stackTraces = buildUnnamed14(); o.storedXssSeedingUrl = 'foo'; } buildCounterXss--; @@ -1045,7 +1066,7 @@ void checkXss(api.Xss o) { o.errorMessage!, unittest.equals('foo'), ); - checkUnnamed13(o.stackTraces!); + checkUnnamed14(o.stackTraces!); unittest.expect( o.storedXssSeedingUrl!, unittest.equals('foo'), diff --git a/generated/googleapis/test/workloadmanager/v1_test.dart b/generated/googleapis/test/workloadmanager/v1_test.dart index 005ff0f51..6bd5892b3 100644 --- a/generated/googleapis/test/workloadmanager/v1_test.dart +++ b/generated/googleapis/test/workloadmanager/v1_test.dart @@ -26,12 +26,52 @@ import 'package:test/test.dart' as unittest; import '../test_shared.dart'; -core.Map buildUnnamed0() => { +core.List buildUnnamed0() => [ + buildCloudResource(), + buildCloudResource(), + ]; + +void checkUnnamed0(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkCloudResource(o[0]); + checkCloudResource(o[1]); +} + +core.int buildCounterAPILayerServer = 0; +api.APILayerServer buildAPILayerServer() { + final o = api.APILayerServer(); + buildCounterAPILayerServer++; + if (buildCounterAPILayerServer < 3) { + o.name = 'foo'; + o.osVersion = 'foo'; + o.resources = buildUnnamed0(); + } + buildCounterAPILayerServer--; + return o; +} + +void checkAPILayerServer(api.APILayerServer o) { + buildCounterAPILayerServer++; + if (buildCounterAPILayerServer < 3) { + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.osVersion!, + unittest.equals('foo'), + ); + checkUnnamed0(o.resources!); + } + buildCounterAPILayerServer--; +} + +core.Map buildUnnamed1() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed0(core.Map o) { +void checkUnnamed1(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -49,7 +89,7 @@ api.AgentCommand buildAgentCommand() { buildCounterAgentCommand++; if (buildCounterAgentCommand < 3) { o.command = 'foo'; - o.parameters = buildUnnamed0(); + o.parameters = buildUnnamed1(); } buildCounterAgentCommand--; return o; @@ -62,11 +102,153 @@ void checkAgentCommand(api.AgentCommand o) { o.command!, unittest.equals('foo'), ); - checkUnnamed0(o.parameters!); + checkUnnamed1(o.parameters!); } buildCounterAgentCommand--; } +core.List buildUnnamed2() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed2(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed3() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed3(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterAvailabilityGroup = 0; +api.AvailabilityGroup buildAvailabilityGroup() { + final o = api.AvailabilityGroup(); + buildCounterAvailabilityGroup++; + if (buildCounterAvailabilityGroup < 3) { + o.databases = buildUnnamed2(); + o.name = 'foo'; + o.primaryServer = 'foo'; + o.secondaryServers = buildUnnamed3(); + } + buildCounterAvailabilityGroup--; + return o; +} + +void checkAvailabilityGroup(api.AvailabilityGroup o) { + buildCounterAvailabilityGroup++; + if (buildCounterAvailabilityGroup < 3) { + checkUnnamed2(o.databases!); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.primaryServer!, + unittest.equals('foo'), + ); + checkUnnamed3(o.secondaryServers!); + } + buildCounterAvailabilityGroup--; +} + +core.List buildUnnamed4() => [ + buildCloudResource(), + buildCloudResource(), + ]; + +void checkUnnamed4(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkCloudResource(o[0]); + checkCloudResource(o[1]); +} + +core.int buildCounterBackendServer = 0; +api.BackendServer buildBackendServer() { + final o = api.BackendServer(); + buildCounterBackendServer++; + if (buildCounterBackendServer < 3) { + o.backupFile = 'foo'; + o.backupSchedule = 'foo'; + o.name = 'foo'; + o.osVersion = 'foo'; + o.resources = buildUnnamed4(); + } + buildCounterBackendServer--; + return o; +} + +void checkBackendServer(api.BackendServer o) { + buildCounterBackendServer++; + if (buildCounterBackendServer < 3) { + unittest.expect( + o.backupFile!, + unittest.equals('foo'), + ); + unittest.expect( + o.backupSchedule!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.osVersion!, + unittest.equals('foo'), + ); + checkUnnamed4(o.resources!); + } + buildCounterBackendServer--; +} + +core.int buildCounterBackupProperties = 0; +api.BackupProperties buildBackupProperties() { + final o = api.BackupProperties(); + buildCounterBackupProperties++; + if (buildCounterBackupProperties < 3) { + o.latestBackupStatus = 'foo'; + o.latestBackupTime = 'foo'; + } + buildCounterBackupProperties--; + return o; +} + +void checkBackupProperties(api.BackupProperties o) { + buildCounterBackupProperties++; + if (buildCounterBackupProperties < 3) { + unittest.expect( + o.latestBackupStatus!, + unittest.equals('foo'), + ); + unittest.expect( + o.latestBackupTime!, + unittest.equals('foo'), + ); + } + buildCounterBackupProperties--; +} + core.int buildCounterBigQueryDestination = 0; api.BigQueryDestination buildBigQueryDestination() { final o = api.BigQueryDestination(); @@ -106,6 +288,76 @@ void checkCancelOperationRequest(api.CancelOperationRequest o) { buildCounterCancelOperationRequest--; } +core.int buildCounterCloudResource = 0; +api.CloudResource buildCloudResource() { + final o = api.CloudResource(); + buildCounterCloudResource++; + if (buildCounterCloudResource < 3) { + o.instanceProperties = buildInstanceProperties(); + o.kind = 'foo'; + o.name = 'foo'; + } + buildCounterCloudResource--; + return o; +} + +void checkCloudResource(api.CloudResource o) { + buildCounterCloudResource++; + if (buildCounterCloudResource < 3) { + checkInstanceProperties(o.instanceProperties!); + unittest.expect( + o.kind!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + } + buildCounterCloudResource--; +} + +core.List buildUnnamed5() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed5(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterCluster = 0; +api.Cluster buildCluster() { + final o = api.Cluster(); + buildCounterCluster++; + if (buildCounterCluster < 3) { + o.nodes = buildUnnamed5(); + o.witnessServer = 'foo'; + } + buildCounterCluster--; + return o; +} + +void checkCluster(api.Cluster o) { + buildCounterCluster++; + if (buildCounterCluster < 3) { + checkUnnamed5(o.nodes!); + unittest.expect( + o.witnessServer!, + unittest.equals('foo'), + ); + } + buildCounterCluster--; +} + core.int buildCounterCommand = 0; api.Command buildCommand() { final o = api.Command(); @@ -127,6 +379,127 @@ void checkCommand(api.Command o) { buildCounterCommand--; } +core.List buildUnnamed6() => [ + buildHealthCheck(), + buildHealthCheck(), + ]; + +void checkUnnamed6(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkHealthCheck(o[0]); + checkHealthCheck(o[1]); +} + +core.List buildUnnamed7() => [ + buildComponentHealth(), + buildComponentHealth(), + ]; + +void checkUnnamed7(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkComponentHealth(o[0]); + checkComponentHealth(o[1]); +} + +core.int buildCounterComponentHealth = 0; +api.ComponentHealth buildComponentHealth() { + final o = api.ComponentHealth(); + buildCounterComponentHealth++; + if (buildCounterComponentHealth < 3) { + o.component = 'foo'; + o.componentHealthChecks = buildUnnamed6(); + o.componentHealthType = 'foo'; + o.isRequired = true; + o.state = 'foo'; + o.subComponentHealthes = buildUnnamed7(); + } + buildCounterComponentHealth--; + return o; +} + +void checkComponentHealth(api.ComponentHealth o) { + buildCounterComponentHealth++; + if (buildCounterComponentHealth < 3) { + unittest.expect( + o.component!, + unittest.equals('foo'), + ); + checkUnnamed6(o.componentHealthChecks!); + unittest.expect( + o.componentHealthType!, + unittest.equals('foo'), + ); + unittest.expect(o.isRequired!, unittest.isTrue); + unittest.expect( + o.state!, + unittest.equals('foo'), + ); + checkUnnamed7(o.subComponentHealthes!); + } + buildCounterComponentHealth--; +} + +core.int buildCounterDatabase = 0; +api.Database buildDatabase() { + final o = api.Database(); + buildCounterDatabase++; + if (buildCounterDatabase < 3) { + o.backupFile = 'foo'; + o.backupSchedule = 'foo'; + o.hostVm = 'foo'; + o.name = 'foo'; + } + buildCounterDatabase--; + return o; +} + +void checkDatabase(api.Database o) { + buildCounterDatabase++; + if (buildCounterDatabase < 3) { + unittest.expect( + o.backupFile!, + unittest.equals('foo'), + ); + unittest.expect( + o.backupSchedule!, + unittest.equals('foo'), + ); + unittest.expect( + o.hostVm!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + } + buildCounterDatabase--; +} + +core.int buildCounterDatabaseProperties = 0; +api.DatabaseProperties buildDatabaseProperties() { + final o = api.DatabaseProperties(); + buildCounterDatabaseProperties++; + if (buildCounterDatabaseProperties < 3) { + o.backupProperties = buildBackupProperties(); + o.databaseType = 'foo'; + } + buildCounterDatabaseProperties--; + return o; +} + +void checkDatabaseProperties(api.DatabaseProperties o) { + buildCounterDatabaseProperties++; + if (buildCounterDatabaseProperties < 3) { + checkBackupProperties(o.backupProperties!); + unittest.expect( + o.databaseType!, + unittest.equals('foo'), + ); + } + buildCounterDatabaseProperties--; +} + core.int buildCounterEmpty = 0; api.Empty buildEmpty() { final o = api.Empty(); @@ -142,12 +515,12 @@ void checkEmpty(api.Empty o) { buildCounterEmpty--; } -core.Map buildUnnamed1() => { +core.Map buildUnnamed8() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed1(core.Map o) { +void checkUnnamed8(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -159,12 +532,12 @@ void checkUnnamed1(core.Map o) { ); } -core.List buildUnnamed2() => [ +core.List buildUnnamed9() => [ 'foo', 'foo', ]; -void checkUnnamed2(core.List o) { +void checkUnnamed9(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -176,12 +549,12 @@ void checkUnnamed2(core.List o) { ); } -core.List buildUnnamed3() => [ +core.List buildUnnamed10() => [ 'foo', 'foo', ]; -void checkUnnamed3(core.List o) { +void checkUnnamed10(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -203,12 +576,12 @@ api.Evaluation buildEvaluation() { o.customRulesBucket = 'foo'; o.description = 'foo'; o.evaluationType = 'foo'; - o.labels = buildUnnamed1(); + o.labels = buildUnnamed8(); o.name = 'foo'; o.resourceFilter = buildResourceFilter(); o.resourceStatus = buildResourceStatus(); - o.ruleNames = buildUnnamed2(); - o.ruleVersions = buildUnnamed3(); + o.ruleNames = buildUnnamed9(); + o.ruleVersions = buildUnnamed10(); o.schedule = 'foo'; o.updateTime = 'foo'; } @@ -236,15 +609,15 @@ void checkEvaluation(api.Evaluation o) { o.evaluationType!, unittest.equals('foo'), ); - checkUnnamed1(o.labels!); + checkUnnamed8(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), ); checkResourceFilter(o.resourceFilter!); checkResourceStatus(o.resourceStatus!); - checkUnnamed2(o.ruleNames!); - checkUnnamed3(o.ruleVersions!); + checkUnnamed9(o.ruleNames!); + checkUnnamed10(o.ruleVersions!); unittest.expect( o.schedule!, unittest.equals('foo'), @@ -257,23 +630,23 @@ void checkEvaluation(api.Evaluation o) { buildCounterEvaluation--; } -core.List buildUnnamed4() => [ +core.List buildUnnamed11() => [ buildExternalDataSources(), buildExternalDataSources(), ]; -void checkUnnamed4(core.List o) { +void checkUnnamed11(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExternalDataSources(o[0]); checkExternalDataSources(o[1]); } -core.Map buildUnnamed5() => { +core.Map buildUnnamed12() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed5(core.Map o) { +void checkUnnamed12(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -285,23 +658,23 @@ void checkUnnamed5(core.Map o) { ); } -core.List buildUnnamed6() => [ +core.List buildUnnamed13() => [ buildNotice(), buildNotice(), ]; -void checkUnnamed6(core.List o) { +void checkUnnamed13(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkNotice(o[0]); checkNotice(o[1]); } -core.List buildUnnamed7() => [ +core.List buildUnnamed14() => [ buildRuleExecutionResult(), buildRuleExecutionResult(), ]; -void checkUnnamed7(core.List o) { +void checkUnnamed14(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRuleExecutionResult(o[0]); checkRuleExecutionResult(o[1]); @@ -314,13 +687,13 @@ api.Execution buildExecution() { if (buildCounterExecution < 3) { o.endTime = 'foo'; o.evaluationId = 'foo'; - o.externalDataSources = buildUnnamed4(); + o.externalDataSources = buildUnnamed11(); o.inventoryTime = 'foo'; - o.labels = buildUnnamed5(); + o.labels = buildUnnamed12(); o.name = 'foo'; - o.notices = buildUnnamed6(); + o.notices = buildUnnamed13(); o.resultSummary = buildSummary(); - o.ruleResults = buildUnnamed7(); + o.ruleResults = buildUnnamed14(); o.runType = 'foo'; o.startTime = 'foo'; o.state = 'foo'; @@ -340,19 +713,19 @@ void checkExecution(api.Execution o) { o.evaluationId!, unittest.equals('foo'), ); - checkUnnamed4(o.externalDataSources!); + checkUnnamed11(o.externalDataSources!); unittest.expect( o.inventoryTime!, unittest.equals('foo'), ); - checkUnnamed5(o.labels!); + checkUnnamed12(o.labels!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed6(o.notices!); + checkUnnamed13(o.notices!); checkSummary(o.resultSummary!); - checkUnnamed7(o.ruleResults!); + checkUnnamed14(o.ruleResults!); unittest.expect( o.runType!, unittest.equals('foo'), @@ -369,12 +742,12 @@ void checkExecution(api.Execution o) { buildCounterExecution--; } -core.List buildUnnamed8() => [ +core.List buildUnnamed15() => [ buildCommand(), buildCommand(), ]; -void checkUnnamed8(core.List o) { +void checkUnnamed15(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCommand(o[0]); checkCommand(o[1]); @@ -385,7 +758,7 @@ api.ExecutionResult buildExecutionResult() { final o = api.ExecutionResult(); buildCounterExecutionResult++; if (buildCounterExecutionResult < 3) { - o.commands = buildUnnamed8(); + o.commands = buildUnnamed15(); o.documentationUrl = 'foo'; o.resource = buildResource(); o.rule = 'foo'; @@ -394,83 +767,370 @@ api.ExecutionResult buildExecutionResult() { o.violationDetails = buildViolationDetails(); o.violationMessage = 'foo'; } - buildCounterExecutionResult--; + buildCounterExecutionResult--; + return o; +} + +void checkExecutionResult(api.ExecutionResult o) { + buildCounterExecutionResult++; + if (buildCounterExecutionResult < 3) { + checkUnnamed15(o.commands!); + unittest.expect( + o.documentationUrl!, + unittest.equals('foo'), + ); + checkResource(o.resource!); + unittest.expect( + o.rule!, + unittest.equals('foo'), + ); + unittest.expect( + o.severity!, + unittest.equals('foo'), + ); + unittest.expect( + o.type!, + unittest.equals('foo'), + ); + checkViolationDetails(o.violationDetails!); + unittest.expect( + o.violationMessage!, + unittest.equals('foo'), + ); + } + buildCounterExecutionResult--; +} + +core.int buildCounterExternalDataSources = 0; +api.ExternalDataSources buildExternalDataSources() { + final o = api.ExternalDataSources(); + buildCounterExternalDataSources++; + if (buildCounterExternalDataSources < 3) { + o.assetType = 'foo'; + o.name = 'foo'; + o.type = 'foo'; + o.uri = 'foo'; + } + buildCounterExternalDataSources--; + return o; +} + +void checkExternalDataSources(api.ExternalDataSources o) { + buildCounterExternalDataSources++; + if (buildCounterExternalDataSources < 3) { + unittest.expect( + o.assetType!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.type!, + unittest.equals('foo'), + ); + unittest.expect( + o.uri!, + unittest.equals('foo'), + ); + } + buildCounterExternalDataSources--; +} + +core.List buildUnnamed16() => [ + buildCloudResource(), + buildCloudResource(), + ]; + +void checkUnnamed16(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkCloudResource(o[0]); + checkCloudResource(o[1]); +} + +core.int buildCounterFrontEndServer = 0; +api.FrontEndServer buildFrontEndServer() { + final o = api.FrontEndServer(); + buildCounterFrontEndServer++; + if (buildCounterFrontEndServer < 3) { + o.name = 'foo'; + o.osVersion = 'foo'; + o.resources = buildUnnamed16(); + } + buildCounterFrontEndServer--; + return o; +} + +void checkFrontEndServer(api.FrontEndServer o) { + buildCounterFrontEndServer++; + if (buildCounterFrontEndServer < 3) { + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.osVersion!, + unittest.equals('foo'), + ); + checkUnnamed16(o.resources!); + } + buildCounterFrontEndServer--; +} + +core.List buildUnnamed17() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed17(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterGceInstanceFilter = 0; +api.GceInstanceFilter buildGceInstanceFilter() { + final o = api.GceInstanceFilter(); + buildCounterGceInstanceFilter++; + if (buildCounterGceInstanceFilter < 3) { + o.serviceAccounts = buildUnnamed17(); + } + buildCounterGceInstanceFilter--; + return o; +} + +void checkGceInstanceFilter(api.GceInstanceFilter o) { + buildCounterGceInstanceFilter++; + if (buildCounterGceInstanceFilter < 3) { + checkUnnamed17(o.serviceAccounts!); + } + buildCounterGceInstanceFilter--; +} + +core.int buildCounterHealthCheck = 0; +api.HealthCheck buildHealthCheck() { + final o = api.HealthCheck(); + buildCounterHealthCheck++; + if (buildCounterHealthCheck < 3) { + o.message = 'foo'; + o.metric = 'foo'; + o.resource = buildCloudResource(); + o.source = 'foo'; + o.state = 'foo'; + } + buildCounterHealthCheck--; + return o; +} + +void checkHealthCheck(api.HealthCheck o) { + buildCounterHealthCheck++; + if (buildCounterHealthCheck < 3) { + unittest.expect( + o.message!, + unittest.equals('foo'), + ); + unittest.expect( + o.metric!, + unittest.equals('foo'), + ); + checkCloudResource(o.resource!); + unittest.expect( + o.source!, + unittest.equals('foo'), + ); + unittest.expect( + o.state!, + unittest.equals('foo'), + ); + } + buildCounterHealthCheck--; +} + +core.int buildCounterInsight = 0; +api.Insight buildInsight() { + final o = api.Insight(); + buildCounterInsight++; + if (buildCounterInsight < 3) { + o.instanceId = 'foo'; + o.sapDiscovery = buildSapDiscovery(); + o.sapValidation = buildSapValidation(); + o.sentTime = 'foo'; + o.sqlserverValidation = buildSqlserverValidation(); + o.torsoValidation = buildTorsoValidation(); + } + buildCounterInsight--; + return o; +} + +void checkInsight(api.Insight o) { + buildCounterInsight++; + if (buildCounterInsight < 3) { + unittest.expect( + o.instanceId!, + unittest.equals('foo'), + ); + checkSapDiscovery(o.sapDiscovery!); + checkSapValidation(o.sapValidation!); + unittest.expect( + o.sentTime!, + unittest.equals('foo'), + ); + checkSqlserverValidation(o.sqlserverValidation!); + checkTorsoValidation(o.torsoValidation!); + } + buildCounterInsight--; +} + +core.int buildCounterInstance = 0; +api.Instance buildInstance() { + final o = api.Instance(); + buildCounterInstance++; + if (buildCounterInstance < 3) { + o.name = 'foo'; + o.region = 'foo'; + o.status = 'foo'; + } + buildCounterInstance--; + return o; +} + +void checkInstance(api.Instance o) { + buildCounterInstance++; + if (buildCounterInstance < 3) { + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.region!, + unittest.equals('foo'), + ); + unittest.expect( + o.status!, + unittest.equals('foo'), + ); + } + buildCounterInstance--; +} + +core.List buildUnnamed18() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed18(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterInstanceProperties = 0; +api.InstanceProperties buildInstanceProperties() { + final o = api.InstanceProperties(); + buildCounterInstanceProperties++; + if (buildCounterInstanceProperties < 3) { + o.instanceNumber = 'foo'; + o.machineType = 'foo'; + o.role = 'foo'; + o.roles = buildUnnamed18(); + o.sapInstanceProperties = buildSapInstanceProperties(); + o.status = 'foo'; + o.upcomingMaintenanceEvent = buildUpcomingMaintenanceEvent(); + } + buildCounterInstanceProperties--; return o; } -void checkExecutionResult(api.ExecutionResult o) { - buildCounterExecutionResult++; - if (buildCounterExecutionResult < 3) { - checkUnnamed8(o.commands!); - unittest.expect( - o.documentationUrl!, - unittest.equals('foo'), - ); - checkResource(o.resource!); +void checkInstanceProperties(api.InstanceProperties o) { + buildCounterInstanceProperties++; + if (buildCounterInstanceProperties < 3) { unittest.expect( - o.rule!, + o.instanceNumber!, unittest.equals('foo'), ); unittest.expect( - o.severity!, + o.machineType!, unittest.equals('foo'), ); unittest.expect( - o.type!, + o.role!, unittest.equals('foo'), ); - checkViolationDetails(o.violationDetails!); + checkUnnamed18(o.roles!); + checkSapInstanceProperties(o.sapInstanceProperties!); unittest.expect( - o.violationMessage!, + o.status!, unittest.equals('foo'), ); + checkUpcomingMaintenanceEvent(o.upcomingMaintenanceEvent!); } - buildCounterExecutionResult--; + buildCounterInstanceProperties--; } -core.int buildCounterExternalDataSources = 0; -api.ExternalDataSources buildExternalDataSources() { - final o = api.ExternalDataSources(); - buildCounterExternalDataSources++; - if (buildCounterExternalDataSources < 3) { - o.assetType = 'foo'; - o.name = 'foo'; - o.type = 'foo'; - o.uri = 'foo'; +core.List buildUnnamed19() => [ + buildInstance(), + buildInstance(), + ]; + +void checkUnnamed19(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkInstance(o[0]); + checkInstance(o[1]); +} + +core.int buildCounterLayer = 0; +api.Layer buildLayer() { + final o = api.Layer(); + buildCounterLayer++; + if (buildCounterLayer < 3) { + o.applicationType = 'foo'; + o.databaseType = 'foo'; + o.instances = buildUnnamed19(); + o.sid = 'foo'; } - buildCounterExternalDataSources--; + buildCounterLayer--; return o; } -void checkExternalDataSources(api.ExternalDataSources o) { - buildCounterExternalDataSources++; - if (buildCounterExternalDataSources < 3) { - unittest.expect( - o.assetType!, - unittest.equals('foo'), - ); +void checkLayer(api.Layer o) { + buildCounterLayer++; + if (buildCounterLayer < 3) { unittest.expect( - o.name!, + o.applicationType!, unittest.equals('foo'), ); unittest.expect( - o.type!, + o.databaseType!, unittest.equals('foo'), ); + checkUnnamed19(o.instances!); unittest.expect( - o.uri!, + o.sid!, unittest.equals('foo'), ); } - buildCounterExternalDataSources--; + buildCounterLayer--; } -core.List buildUnnamed9() => [ +core.List buildUnnamed20() => [ 'foo', 'foo', ]; -void checkUnnamed9(core.List o) { +void checkUnnamed20(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -482,77 +1142,60 @@ void checkUnnamed9(core.List o) { ); } -core.int buildCounterGceInstanceFilter = 0; -api.GceInstanceFilter buildGceInstanceFilter() { - final o = api.GceInstanceFilter(); - buildCounterGceInstanceFilter++; - if (buildCounterGceInstanceFilter < 3) { - o.serviceAccounts = buildUnnamed9(); - } - buildCounterGceInstanceFilter--; - return o; -} +core.List buildUnnamed21() => [ + buildWorkloadProfile(), + buildWorkloadProfile(), + ]; -void checkGceInstanceFilter(api.GceInstanceFilter o) { - buildCounterGceInstanceFilter++; - if (buildCounterGceInstanceFilter < 3) { - checkUnnamed9(o.serviceAccounts!); - } - buildCounterGceInstanceFilter--; +void checkUnnamed21(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkWorkloadProfile(o[0]); + checkWorkloadProfile(o[1]); } -core.int buildCounterInsight = 0; -api.Insight buildInsight() { - final o = api.Insight(); - buildCounterInsight++; - if (buildCounterInsight < 3) { - o.instanceId = 'foo'; - o.sapDiscovery = buildSapDiscovery(); - o.sapValidation = buildSapValidation(); - o.sentTime = 'foo'; - o.sqlserverValidation = buildSqlserverValidation(); - o.torsoValidation = buildTorsoValidation(); +core.int buildCounterListDiscoveredProfilesResponse = 0; +api.ListDiscoveredProfilesResponse buildListDiscoveredProfilesResponse() { + final o = api.ListDiscoveredProfilesResponse(); + buildCounterListDiscoveredProfilesResponse++; + if (buildCounterListDiscoveredProfilesResponse < 3) { + o.nextPageToken = 'foo'; + o.unreachable = buildUnnamed20(); + o.workloadProfiles = buildUnnamed21(); } - buildCounterInsight--; + buildCounterListDiscoveredProfilesResponse--; return o; } -void checkInsight(api.Insight o) { - buildCounterInsight++; - if (buildCounterInsight < 3) { - unittest.expect( - o.instanceId!, - unittest.equals('foo'), - ); - checkSapDiscovery(o.sapDiscovery!); - checkSapValidation(o.sapValidation!); +void checkListDiscoveredProfilesResponse(api.ListDiscoveredProfilesResponse o) { + buildCounterListDiscoveredProfilesResponse++; + if (buildCounterListDiscoveredProfilesResponse < 3) { unittest.expect( - o.sentTime!, + o.nextPageToken!, unittest.equals('foo'), ); - checkSqlserverValidation(o.sqlserverValidation!); - checkTorsoValidation(o.torsoValidation!); + checkUnnamed20(o.unreachable!); + checkUnnamed21(o.workloadProfiles!); } - buildCounterInsight--; + buildCounterListDiscoveredProfilesResponse--; } -core.List buildUnnamed10() => [ +core.List buildUnnamed22() => [ buildEvaluation(), buildEvaluation(), ]; -void checkUnnamed10(core.List o) { +void checkUnnamed22(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkEvaluation(o[0]); checkEvaluation(o[1]); } -core.List buildUnnamed11() => [ +core.List buildUnnamed23() => [ 'foo', 'foo', ]; -void checkUnnamed11(core.List o) { +void checkUnnamed23(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -569,9 +1212,9 @@ api.ListEvaluationsResponse buildListEvaluationsResponse() { final o = api.ListEvaluationsResponse(); buildCounterListEvaluationsResponse++; if (buildCounterListEvaluationsResponse < 3) { - o.evaluations = buildUnnamed10(); + o.evaluations = buildUnnamed22(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed11(); + o.unreachable = buildUnnamed23(); } buildCounterListEvaluationsResponse--; return o; @@ -580,22 +1223,22 @@ api.ListEvaluationsResponse buildListEvaluationsResponse() { void checkListEvaluationsResponse(api.ListEvaluationsResponse o) { buildCounterListEvaluationsResponse++; if (buildCounterListEvaluationsResponse < 3) { - checkUnnamed10(o.evaluations!); + checkUnnamed22(o.evaluations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed11(o.unreachable!); + checkUnnamed23(o.unreachable!); } buildCounterListEvaluationsResponse--; } -core.List buildUnnamed12() => [ +core.List buildUnnamed24() => [ buildExecutionResult(), buildExecutionResult(), ]; -void checkUnnamed12(core.List o) { +void checkUnnamed24(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExecutionResult(o[0]); checkExecutionResult(o[1]); @@ -606,7 +1249,7 @@ api.ListExecutionResultsResponse buildListExecutionResultsResponse() { final o = api.ListExecutionResultsResponse(); buildCounterListExecutionResultsResponse++; if (buildCounterListExecutionResultsResponse < 3) { - o.executionResults = buildUnnamed12(); + o.executionResults = buildUnnamed24(); o.nextPageToken = 'foo'; } buildCounterListExecutionResultsResponse--; @@ -616,7 +1259,7 @@ api.ListExecutionResultsResponse buildListExecutionResultsResponse() { void checkListExecutionResultsResponse(api.ListExecutionResultsResponse o) { buildCounterListExecutionResultsResponse++; if (buildCounterListExecutionResultsResponse < 3) { - checkUnnamed12(o.executionResults!); + checkUnnamed24(o.executionResults!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -625,23 +1268,23 @@ void checkListExecutionResultsResponse(api.ListExecutionResultsResponse o) { buildCounterListExecutionResultsResponse--; } -core.List buildUnnamed13() => [ +core.List buildUnnamed25() => [ buildExecution(), buildExecution(), ]; -void checkUnnamed13(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExecution(o[0]); checkExecution(o[1]); } -core.List buildUnnamed14() => [ +core.List buildUnnamed26() => [ 'foo', 'foo', ]; -void checkUnnamed14(core.List o) { +void checkUnnamed26(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -658,9 +1301,9 @@ api.ListExecutionsResponse buildListExecutionsResponse() { final o = api.ListExecutionsResponse(); buildCounterListExecutionsResponse++; if (buildCounterListExecutionsResponse < 3) { - o.executions = buildUnnamed13(); + o.executions = buildUnnamed25(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed14(); + o.unreachable = buildUnnamed26(); } buildCounterListExecutionsResponse--; return o; @@ -669,22 +1312,22 @@ api.ListExecutionsResponse buildListExecutionsResponse() { void checkListExecutionsResponse(api.ListExecutionsResponse o) { buildCounterListExecutionsResponse++; if (buildCounterListExecutionsResponse < 3) { - checkUnnamed13(o.executions!); + checkUnnamed25(o.executions!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed14(o.unreachable!); + checkUnnamed26(o.unreachable!); } buildCounterListExecutionsResponse--; } -core.List buildUnnamed15() => [ +core.List buildUnnamed27() => [ buildLocation(), buildLocation(), ]; -void checkUnnamed15(core.List o) { +void checkUnnamed27(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLocation(o[0]); checkLocation(o[1]); @@ -695,7 +1338,7 @@ api.ListLocationsResponse buildListLocationsResponse() { final o = api.ListLocationsResponse(); buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - o.locations = buildUnnamed15(); + o.locations = buildUnnamed27(); o.nextPageToken = 'foo'; } buildCounterListLocationsResponse--; @@ -705,7 +1348,7 @@ api.ListLocationsResponse buildListLocationsResponse() { void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - checkUnnamed15(o.locations!); + checkUnnamed27(o.locations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -714,12 +1357,12 @@ void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse--; } -core.List buildUnnamed16() => [ +core.List buildUnnamed28() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed16(core.List o) { +void checkUnnamed28(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -731,7 +1374,7 @@ api.ListOperationsResponse buildListOperationsResponse() { buildCounterListOperationsResponse++; if (buildCounterListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed16(); + o.operations = buildUnnamed28(); } buildCounterListOperationsResponse--; return o; @@ -744,17 +1387,17 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed16(o.operations!); + checkUnnamed28(o.operations!); } buildCounterListOperationsResponse--; } -core.List buildUnnamed17() => [ +core.List buildUnnamed29() => [ buildRule(), buildRule(), ]; -void checkUnnamed17(core.List o) { +void checkUnnamed29(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkRule(o[0]); checkRule(o[1]); @@ -766,7 +1409,7 @@ api.ListRulesResponse buildListRulesResponse() { buildCounterListRulesResponse++; if (buildCounterListRulesResponse < 3) { o.nextPageToken = 'foo'; - o.rules = buildUnnamed17(); + o.rules = buildUnnamed29(); } buildCounterListRulesResponse--; return o; @@ -779,17 +1422,17 @@ void checkListRulesResponse(api.ListRulesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed17(o.rules!); + checkUnnamed29(o.rules!); } buildCounterListRulesResponse--; } -core.List buildUnnamed18() => [ +core.List buildUnnamed30() => [ buildScannedResource(), buildScannedResource(), ]; -void checkUnnamed18(core.List o) { +void checkUnnamed30(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkScannedResource(o[0]); checkScannedResource(o[1]); @@ -801,7 +1444,7 @@ api.ListScannedResourcesResponse buildListScannedResourcesResponse() { buildCounterListScannedResourcesResponse++; if (buildCounterListScannedResourcesResponse < 3) { o.nextPageToken = 'foo'; - o.scannedResources = buildUnnamed18(); + o.scannedResources = buildUnnamed30(); } buildCounterListScannedResourcesResponse--; return o; @@ -814,17 +1457,44 @@ void checkListScannedResourcesResponse(api.ListScannedResourcesResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed18(o.scannedResources!); + checkUnnamed30(o.scannedResources!); } buildCounterListScannedResourcesResponse--; } -core.Map buildUnnamed19() => { +core.int buildCounterLoadBalancerServer = 0; +api.LoadBalancerServer buildLoadBalancerServer() { + final o = api.LoadBalancerServer(); + buildCounterLoadBalancerServer++; + if (buildCounterLoadBalancerServer < 3) { + o.ip = 'foo'; + o.vm = 'foo'; + } + buildCounterLoadBalancerServer--; + return o; +} + +void checkLoadBalancerServer(api.LoadBalancerServer o) { + buildCounterLoadBalancerServer++; + if (buildCounterLoadBalancerServer < 3) { + unittest.expect( + o.ip!, + unittest.equals('foo'), + ); + unittest.expect( + o.vm!, + unittest.equals('foo'), + ); + } + buildCounterLoadBalancerServer--; +} + +core.Map buildUnnamed31() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed19(core.Map o) { +void checkUnnamed31(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -836,7 +1506,7 @@ void checkUnnamed19(core.Map o) { ); } -core.Map buildUnnamed20() => { +core.Map buildUnnamed32() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -849,7 +1519,7 @@ core.Map buildUnnamed20() => { }, }; -void checkUnnamed20(core.Map o) { +void checkUnnamed32(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -887,9 +1557,9 @@ api.Location buildLocation() { buildCounterLocation++; if (buildCounterLocation < 3) { o.displayName = 'foo'; - o.labels = buildUnnamed19(); + o.labels = buildUnnamed31(); o.locationId = 'foo'; - o.metadata = buildUnnamed20(); + o.metadata = buildUnnamed32(); o.name = 'foo'; } buildCounterLocation--; @@ -903,12 +1573,12 @@ void checkLocation(api.Location o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed19(o.labels!); + checkUnnamed31(o.labels!); unittest.expect( o.locationId!, unittest.equals('foo'), ); - checkUnnamed20(o.metadata!); + checkUnnamed32(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), @@ -939,7 +1609,7 @@ void checkNotice(api.Notice o) { buildCounterNotice--; } -core.Map buildUnnamed21() => { +core.Map buildUnnamed33() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -952,7 +1622,7 @@ core.Map buildUnnamed21() => { }, }; -void checkUnnamed21(core.Map o) { +void checkUnnamed33(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -984,7 +1654,7 @@ void checkUnnamed21(core.Map o) { ); } -core.Map buildUnnamed22() => { +core.Map buildUnnamed34() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -997,7 +1667,7 @@ core.Map buildUnnamed22() => { }, }; -void checkUnnamed22(core.Map o) { +void checkUnnamed34(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -1036,9 +1706,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildStatus(); - o.metadata = buildUnnamed21(); + o.metadata = buildUnnamed33(); o.name = 'foo'; - o.response = buildUnnamed22(); + o.response = buildUnnamed34(); } buildCounterOperation--; return o; @@ -1049,16 +1719,43 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkStatus(o.error!); - checkUnnamed21(o.metadata!); + checkUnnamed33(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed22(o.response!); + checkUnnamed34(o.response!); } buildCounterOperation--; } +core.int buildCounterProduct = 0; +api.Product buildProduct() { + final o = api.Product(); + buildCounterProduct++; + if (buildCounterProduct < 3) { + o.name = 'foo'; + o.version = 'foo'; + } + buildCounterProduct--; + return o; +} + +void checkProduct(api.Product o) { + buildCounterProduct++; + if (buildCounterProduct < 3) { + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.version!, + unittest.equals('foo'), + ); + } + buildCounterProduct--; +} + core.int buildCounterResource = 0; api.Resource buildResource() { final o = api.Resource(); @@ -1091,12 +1788,12 @@ void checkResource(api.Resource o) { buildCounterResource--; } -core.Map buildUnnamed23() => { +core.Map buildUnnamed35() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed23(core.Map o) { +void checkUnnamed35(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1108,12 +1805,12 @@ void checkUnnamed23(core.Map o) { ); } -core.List buildUnnamed24() => [ +core.List buildUnnamed36() => [ 'foo', 'foo', ]; -void checkUnnamed24(core.List o) { +void checkUnnamed36(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1125,12 +1822,12 @@ void checkUnnamed24(core.List o) { ); } -core.List buildUnnamed25() => [ +core.List buildUnnamed37() => [ 'foo', 'foo', ]; -void checkUnnamed25(core.List o) { +void checkUnnamed37(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1148,9 +1845,9 @@ api.ResourceFilter buildResourceFilter() { buildCounterResourceFilter++; if (buildCounterResourceFilter < 3) { o.gceInstanceFilter = buildGceInstanceFilter(); - o.inclusionLabels = buildUnnamed23(); - o.resourceIdPatterns = buildUnnamed24(); - o.scopes = buildUnnamed25(); + o.inclusionLabels = buildUnnamed35(); + o.resourceIdPatterns = buildUnnamed36(); + o.scopes = buildUnnamed37(); } buildCounterResourceFilter--; return o; @@ -1160,19 +1857,19 @@ void checkResourceFilter(api.ResourceFilter o) { buildCounterResourceFilter++; if (buildCounterResourceFilter < 3) { checkGceInstanceFilter(o.gceInstanceFilter!); - checkUnnamed23(o.inclusionLabels!); - checkUnnamed24(o.resourceIdPatterns!); - checkUnnamed25(o.scopes!); + checkUnnamed35(o.inclusionLabels!); + checkUnnamed36(o.resourceIdPatterns!); + checkUnnamed37(o.scopes!); } buildCounterResourceFilter--; } -core.List buildUnnamed26() => [ +core.List buildUnnamed38() => [ 'foo', 'foo', ]; -void checkUnnamed26(core.List o) { +void checkUnnamed38(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1189,7 +1886,7 @@ api.ResourceStatus buildResourceStatus() { final o = api.ResourceStatus(); buildCounterResourceStatus++; if (buildCounterResourceStatus < 3) { - o.rulesNewerVersions = buildUnnamed26(); + o.rulesNewerVersions = buildUnnamed38(); o.state = 'foo'; } buildCounterResourceStatus--; @@ -1199,7 +1896,7 @@ api.ResourceStatus buildResourceStatus() { void checkResourceStatus(api.ResourceStatus o) { buildCounterResourceStatus++; if (buildCounterResourceStatus < 3) { - checkUnnamed26(o.rulesNewerVersions!); + checkUnnamed38(o.rulesNewerVersions!); unittest.expect( o.state!, unittest.equals('foo'), @@ -1208,12 +1905,12 @@ void checkResourceStatus(api.ResourceStatus o) { buildCounterResourceStatus--; } -core.List buildUnnamed27() => [ +core.List buildUnnamed39() => [ 'foo', 'foo', ]; -void checkUnnamed27(core.List o) { +void checkUnnamed39(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1239,7 +1936,7 @@ api.Rule buildRule() { o.revisionId = 'foo'; o.secondaryCategory = 'foo'; o.severity = 'foo'; - o.tags = buildUnnamed27(); + o.tags = buildUnnamed39(); o.uri = 'foo'; } buildCounterRule--; @@ -1285,7 +1982,7 @@ void checkRule(api.Rule o) { o.severity!, unittest.equals('foo'), ); - checkUnnamed27(o.tags!); + checkUnnamed39(o.tags!); unittest.expect( o.uri!, unittest.equals('foo'), @@ -1365,6 +2062,67 @@ void checkRunEvaluationRequest(api.RunEvaluationRequest o) { buildCounterRunEvaluationRequest--; } +core.List buildUnnamed40() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed40(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.List buildUnnamed41() => [ + buildCloudResource(), + buildCloudResource(), + ]; + +void checkUnnamed41(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkCloudResource(o[0]); + checkCloudResource(o[1]); +} + +core.int buildCounterSapComponent = 0; +api.SapComponent buildSapComponent() { + final o = api.SapComponent(); + buildCounterSapComponent++; + if (buildCounterSapComponent < 3) { + o.databaseProperties = buildDatabaseProperties(); + o.haHosts = buildUnnamed40(); + o.resources = buildUnnamed41(); + o.sid = 'foo'; + o.topologyType = 'foo'; + } + buildCounterSapComponent--; + return o; +} + +void checkSapComponent(api.SapComponent o) { + buildCounterSapComponent++; + if (buildCounterSapComponent < 3) { + checkDatabaseProperties(o.databaseProperties!); + checkUnnamed40(o.haHosts!); + checkUnnamed41(o.resources!); + unittest.expect( + o.sid!, + unittest.equals('foo'), + ); + unittest.expect( + o.topologyType!, + unittest.equals('foo'), + ); + } + buildCounterSapComponent--; +} + core.int buildCounterSapDiscovery = 0; api.SapDiscovery buildSapDiscovery() { final o = api.SapDiscovery(); @@ -1376,6 +2134,7 @@ api.SapDiscovery buildSapDiscovery() { o.projectNumber = 'foo'; o.systemId = 'foo'; o.updateTime = 'foo'; + o.useDrReconciliation = true; o.workloadProperties = buildSapDiscoveryWorkloadProperties(); } buildCounterSapDiscovery--; @@ -1400,17 +2159,18 @@ void checkSapDiscovery(api.SapDiscovery o) { o.updateTime!, unittest.equals('foo'), ); + unittest.expect(o.useDrReconciliation!, unittest.isTrue); checkSapDiscoveryWorkloadProperties(o.workloadProperties!); } buildCounterSapDiscovery--; } -core.List buildUnnamed28() => [ +core.List buildUnnamed42() => [ 'foo', 'foo', ]; -void checkUnnamed28(core.List o) { +void checkUnnamed42(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1422,23 +2182,23 @@ void checkUnnamed28(core.List o) { ); } -core.List buildUnnamed29() => [ - buildSapDiscoveryComponent(), - buildSapDiscoveryComponent(), +core.List buildUnnamed43() => [ + buildSapDiscoveryComponentReplicationSite(), + buildSapDiscoveryComponentReplicationSite(), ]; -void checkUnnamed29(core.List o) { +void checkUnnamed43(core.List o) { unittest.expect(o, unittest.hasLength(2)); - checkSapDiscoveryComponent(o[0]); - checkSapDiscoveryComponent(o[1]); + checkSapDiscoveryComponentReplicationSite(o[0]); + checkSapDiscoveryComponentReplicationSite(o[1]); } -core.List buildUnnamed30() => [ +core.List buildUnnamed44() => [ buildSapDiscoveryResource(), buildSapDiscoveryResource(), ]; -void checkUnnamed30(core.List o) { +void checkUnnamed44(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSapDiscoveryResource(o[0]); checkSapDiscoveryResource(o[1]); @@ -1451,10 +2211,11 @@ api.SapDiscoveryComponent buildSapDiscoveryComponent() { if (buildCounterSapDiscoveryComponent < 3) { o.applicationProperties = buildSapDiscoveryComponentApplicationProperties(); o.databaseProperties = buildSapDiscoveryComponentDatabaseProperties(); - o.haHosts = buildUnnamed28(); + o.haHosts = buildUnnamed42(); o.hostProject = 'foo'; - o.replicationSites = buildUnnamed29(); - o.resources = buildUnnamed30(); + o.region = 'foo'; + o.replicationSites = buildUnnamed43(); + o.resources = buildUnnamed44(); o.sid = 'foo'; o.topologyType = 'foo'; } @@ -1467,13 +2228,17 @@ void checkSapDiscoveryComponent(api.SapDiscoveryComponent o) { if (buildCounterSapDiscoveryComponent < 3) { checkSapDiscoveryComponentApplicationProperties(o.applicationProperties!); checkSapDiscoveryComponentDatabaseProperties(o.databaseProperties!); - checkUnnamed28(o.haHosts!); + checkUnnamed42(o.haHosts!); unittest.expect( o.hostProject!, unittest.equals('foo'), ); - checkUnnamed29(o.replicationSites!); - checkUnnamed30(o.resources!); + unittest.expect( + o.region!, + unittest.equals('foo'), + ); + checkUnnamed43(o.replicationSites!); + checkUnnamed44(o.resources!); unittest.expect( o.sid!, unittest.equals('foo'), @@ -1552,6 +2317,7 @@ api.SapDiscoveryComponentDatabaseProperties o.databaseType = 'foo'; o.databaseVersion = 'foo'; o.instanceNumber = 'foo'; + o.landscapeId = 'foo'; o.primaryInstanceUri = 'foo'; o.sharedNfsUri = 'foo'; } @@ -1579,6 +2345,10 @@ void checkSapDiscoveryComponentDatabaseProperties( o.instanceNumber!, unittest.equals('foo'), ); + unittest.expect( + o.landscapeId!, + unittest.equals('foo'), + ); unittest.expect( o.primaryInstanceUri!, unittest.equals('foo'), @@ -1591,6 +2361,32 @@ void checkSapDiscoveryComponentDatabaseProperties( buildCounterSapDiscoveryComponentDatabaseProperties--; } +core.int buildCounterSapDiscoveryComponentReplicationSite = 0; +api.SapDiscoveryComponentReplicationSite + buildSapDiscoveryComponentReplicationSite() { + final o = api.SapDiscoveryComponentReplicationSite(); + buildCounterSapDiscoveryComponentReplicationSite++; + if (buildCounterSapDiscoveryComponentReplicationSite < 3) { + o.component = buildSapDiscoveryComponent(); + o.sourceSite = 'foo'; + } + buildCounterSapDiscoveryComponentReplicationSite--; + return o; +} + +void checkSapDiscoveryComponentReplicationSite( + api.SapDiscoveryComponentReplicationSite o) { + buildCounterSapDiscoveryComponentReplicationSite++; + if (buildCounterSapDiscoveryComponentReplicationSite < 3) { + checkSapDiscoveryComponent(o.component!); + unittest.expect( + o.sourceSite!, + unittest.equals('foo'), + ); + } + buildCounterSapDiscoveryComponentReplicationSite--; +} + core.int buildCounterSapDiscoveryMetadata = 0; api.SapDiscoveryMetadata buildSapDiscoveryMetadata() { final o = api.SapDiscoveryMetadata(); @@ -1628,12 +2424,12 @@ void checkSapDiscoveryMetadata(api.SapDiscoveryMetadata o) { buildCounterSapDiscoveryMetadata--; } -core.List buildUnnamed31() => [ +core.List buildUnnamed45() => [ 'foo', 'foo', ]; -void checkUnnamed31(core.List o) { +void checkUnnamed45(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1651,7 +2447,7 @@ api.SapDiscoveryResource buildSapDiscoveryResource() { buildCounterSapDiscoveryResource++; if (buildCounterSapDiscoveryResource < 3) { o.instanceProperties = buildSapDiscoveryResourceInstanceProperties(); - o.relatedResources = buildUnnamed31(); + o.relatedResources = buildUnnamed45(); o.resourceKind = 'foo'; o.resourceType = 'foo'; o.resourceUri = 'foo'; @@ -1665,7 +2461,7 @@ void checkSapDiscoveryResource(api.SapDiscoveryResource o) { buildCounterSapDiscoveryResource++; if (buildCounterSapDiscoveryResource < 3) { checkSapDiscoveryResourceInstanceProperties(o.instanceProperties!); - checkUnnamed31(o.relatedResources!); + checkUnnamed45(o.relatedResources!); unittest.expect( o.resourceKind!, unittest.equals('foo'), @@ -1687,24 +2483,24 @@ void checkSapDiscoveryResource(api.SapDiscoveryResource o) { } core.List - buildUnnamed32() => [ + buildUnnamed46() => [ buildSapDiscoveryResourceInstancePropertiesAppInstance(), buildSapDiscoveryResourceInstancePropertiesAppInstance(), ]; -void checkUnnamed32( +void checkUnnamed46( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSapDiscoveryResourceInstancePropertiesAppInstance(o[0]); checkSapDiscoveryResourceInstancePropertiesAppInstance(o[1]); } -core.List buildUnnamed33() => [ +core.List buildUnnamed47() => [ 'foo', 'foo', ]; -void checkUnnamed33(core.List o) { +void checkUnnamed47(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1716,14 +2512,28 @@ void checkUnnamed33(core.List o) { ); } +core.List + buildUnnamed48() => [ + buildSapDiscoveryResourceInstancePropertiesDiskMount(), + buildSapDiscoveryResourceInstancePropertiesDiskMount(), + ]; + +void checkUnnamed48( + core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkSapDiscoveryResourceInstancePropertiesDiskMount(o[0]); + checkSapDiscoveryResourceInstancePropertiesDiskMount(o[1]); +} + core.int buildCounterSapDiscoveryResourceInstanceProperties = 0; api.SapDiscoveryResourceInstanceProperties buildSapDiscoveryResourceInstanceProperties() { final o = api.SapDiscoveryResourceInstanceProperties(); buildCounterSapDiscoveryResourceInstanceProperties++; if (buildCounterSapDiscoveryResourceInstanceProperties < 3) { - o.appInstances = buildUnnamed32(); - o.clusterInstances = buildUnnamed33(); + o.appInstances = buildUnnamed46(); + o.clusterInstances = buildUnnamed47(); + o.diskMounts = buildUnnamed48(); o.instanceNumber = 'foo'; o.instanceRole = 'foo'; o.isDrSite = true; @@ -1737,8 +2547,9 @@ void checkSapDiscoveryResourceInstanceProperties( api.SapDiscoveryResourceInstanceProperties o) { buildCounterSapDiscoveryResourceInstanceProperties++; if (buildCounterSapDiscoveryResourceInstanceProperties < 3) { - checkUnnamed32(o.appInstances!); - checkUnnamed33(o.clusterInstances!); + checkUnnamed46(o.appInstances!); + checkUnnamed47(o.clusterInstances!); + checkUnnamed48(o.diskMounts!); unittest.expect( o.instanceNumber!, unittest.equals('foo'), @@ -1785,13 +2596,42 @@ void checkSapDiscoveryResourceInstancePropertiesAppInstance( buildCounterSapDiscoveryResourceInstancePropertiesAppInstance--; } -core.List buildUnnamed34() => +core.int buildCounterSapDiscoveryResourceInstancePropertiesDiskMount = 0; +api.SapDiscoveryResourceInstancePropertiesDiskMount + buildSapDiscoveryResourceInstancePropertiesDiskMount() { + final o = api.SapDiscoveryResourceInstancePropertiesDiskMount(); + buildCounterSapDiscoveryResourceInstancePropertiesDiskMount++; + if (buildCounterSapDiscoveryResourceInstancePropertiesDiskMount < 3) { + o.mountPoint = 'foo'; + o.name = 'foo'; + } + buildCounterSapDiscoveryResourceInstancePropertiesDiskMount--; + return o; +} + +void checkSapDiscoveryResourceInstancePropertiesDiskMount( + api.SapDiscoveryResourceInstancePropertiesDiskMount o) { + buildCounterSapDiscoveryResourceInstancePropertiesDiskMount++; + if (buildCounterSapDiscoveryResourceInstancePropertiesDiskMount < 3) { + unittest.expect( + o.mountPoint!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + } + buildCounterSapDiscoveryResourceInstancePropertiesDiskMount--; +} + +core.List buildUnnamed49() => [ buildSapDiscoveryWorkloadPropertiesProductVersion(), buildSapDiscoveryWorkloadPropertiesProductVersion(), ]; -void checkUnnamed34( +void checkUnnamed49( core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSapDiscoveryWorkloadPropertiesProductVersion(o[0]); @@ -1799,12 +2639,12 @@ void checkUnnamed34( } core.List - buildUnnamed35() => [ + buildUnnamed50() => [ buildSapDiscoveryWorkloadPropertiesSoftwareComponentProperties(), buildSapDiscoveryWorkloadPropertiesSoftwareComponentProperties(), ]; -void checkUnnamed35( +void checkUnnamed50( core.List o) { unittest.expect(o, unittest.hasLength(2)); @@ -1817,8 +2657,8 @@ api.SapDiscoveryWorkloadProperties buildSapDiscoveryWorkloadProperties() { final o = api.SapDiscoveryWorkloadProperties(); buildCounterSapDiscoveryWorkloadProperties++; if (buildCounterSapDiscoveryWorkloadProperties < 3) { - o.productVersions = buildUnnamed34(); - o.softwareComponentVersions = buildUnnamed35(); + o.productVersions = buildUnnamed49(); + o.softwareComponentVersions = buildUnnamed50(); } buildCounterSapDiscoveryWorkloadProperties--; return o; @@ -1827,8 +2667,8 @@ api.SapDiscoveryWorkloadProperties buildSapDiscoveryWorkloadProperties() { void checkSapDiscoveryWorkloadProperties(api.SapDiscoveryWorkloadProperties o) { buildCounterSapDiscoveryWorkloadProperties++; if (buildCounterSapDiscoveryWorkloadProperties < 3) { - checkUnnamed34(o.productVersions!); - checkUnnamed35(o.softwareComponentVersions!); + checkUnnamed49(o.productVersions!); + checkUnnamed50(o.softwareComponentVersions!); } buildCounterSapDiscoveryWorkloadProperties--; } @@ -1904,12 +2744,48 @@ void checkSapDiscoveryWorkloadPropertiesSoftwareComponentProperties( buildCounterSapDiscoveryWorkloadPropertiesSoftwareComponentProperties--; } -core.List buildUnnamed36() => [ +core.List buildUnnamed51() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed51(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterSapInstanceProperties = 0; +api.SapInstanceProperties buildSapInstanceProperties() { + final o = api.SapInstanceProperties(); + buildCounterSapInstanceProperties++; + if (buildCounterSapInstanceProperties < 3) { + o.numbers = buildUnnamed51(); + } + buildCounterSapInstanceProperties--; + return o; +} + +void checkSapInstanceProperties(api.SapInstanceProperties o) { + buildCounterSapInstanceProperties++; + if (buildCounterSapInstanceProperties < 3) { + checkUnnamed51(o.numbers!); + } + buildCounterSapInstanceProperties--; +} + +core.List buildUnnamed52() => [ buildSapValidationValidationDetail(), buildSapValidationValidationDetail(), ]; -void checkUnnamed36(core.List o) { +void checkUnnamed52(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSapValidationValidationDetail(o[0]); checkSapValidationValidationDetail(o[1]); @@ -1921,7 +2797,7 @@ api.SapValidation buildSapValidation() { buildCounterSapValidation++; if (buildCounterSapValidation < 3) { o.projectId = 'foo'; - o.validationDetails = buildUnnamed36(); + o.validationDetails = buildUnnamed52(); o.zone = 'foo'; } buildCounterSapValidation--; @@ -1935,7 +2811,7 @@ void checkSapValidation(api.SapValidation o) { o.projectId!, unittest.equals('foo'), ); - checkUnnamed36(o.validationDetails!); + checkUnnamed52(o.validationDetails!); unittest.expect( o.zone!, unittest.equals('foo'), @@ -1944,12 +2820,12 @@ void checkSapValidation(api.SapValidation o) { buildCounterSapValidation--; } -core.Map buildUnnamed37() => { +core.Map buildUnnamed53() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed37(core.Map o) { +void checkUnnamed53(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1966,7 +2842,7 @@ api.SapValidationValidationDetail buildSapValidationValidationDetail() { final o = api.SapValidationValidationDetail(); buildCounterSapValidationValidationDetail++; if (buildCounterSapValidationValidationDetail < 3) { - o.details = buildUnnamed37(); + o.details = buildUnnamed53(); o.isPresent = true; o.sapValidationType = 'foo'; } @@ -1977,14 +2853,72 @@ api.SapValidationValidationDetail buildSapValidationValidationDetail() { void checkSapValidationValidationDetail(api.SapValidationValidationDetail o) { buildCounterSapValidationValidationDetail++; if (buildCounterSapValidationValidationDetail < 3) { - checkUnnamed37(o.details!); + checkUnnamed53(o.details!); unittest.expect(o.isPresent!, unittest.isTrue); unittest.expect( - o.sapValidationType!, + o.sapValidationType!, + unittest.equals('foo'), + ); + } + buildCounterSapValidationValidationDetail--; +} + +core.Map buildUnnamed54() => { + 'x': 'foo', + 'y': 'foo', + }; + +void checkUnnamed54(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o['x']!, + unittest.equals('foo'), + ); + unittest.expect( + o['y']!, + unittest.equals('foo'), + ); +} + +core.List buildUnnamed55() => [ + buildProduct(), + buildProduct(), + ]; + +void checkUnnamed55(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkProduct(o[0]); + checkProduct(o[1]); +} + +core.int buildCounterSapWorkload = 0; +api.SapWorkload buildSapWorkload() { + final o = api.SapWorkload(); + buildCounterSapWorkload++; + if (buildCounterSapWorkload < 3) { + o.application = buildSapComponent(); + o.architecture = 'foo'; + o.database = buildSapComponent(); + o.metadata = buildUnnamed54(); + o.products = buildUnnamed55(); + } + buildCounterSapWorkload--; + return o; +} + +void checkSapWorkload(api.SapWorkload o) { + buildCounterSapWorkload++; + if (buildCounterSapWorkload < 3) { + checkSapComponent(o.application!); + unittest.expect( + o.architecture!, unittest.equals('foo'), ); + checkSapComponent(o.database!); + checkUnnamed54(o.metadata!); + checkUnnamed55(o.products!); } - buildCounterSapValidationValidationDetail--; + buildCounterSapWorkload--; } core.int buildCounterScannedResource = 0; @@ -2046,12 +2980,12 @@ void checkShellCommand(api.ShellCommand o) { buildCounterShellCommand--; } -core.List buildUnnamed38() => [ +core.List buildUnnamed56() => [ buildSqlserverValidationValidationDetail(), buildSqlserverValidationValidationDetail(), ]; -void checkUnnamed38(core.List o) { +void checkUnnamed56(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSqlserverValidationValidationDetail(o[0]); checkSqlserverValidationValidationDetail(o[1]); @@ -2065,7 +2999,7 @@ api.SqlserverValidation buildSqlserverValidation() { o.agentVersion = 'foo'; o.instance = 'foo'; o.projectId = 'foo'; - o.validationDetails = buildUnnamed38(); + o.validationDetails = buildUnnamed56(); } buildCounterSqlserverValidation--; return o; @@ -2086,17 +3020,17 @@ void checkSqlserverValidation(api.SqlserverValidation o) { o.projectId!, unittest.equals('foo'), ); - checkUnnamed38(o.validationDetails!); + checkUnnamed56(o.validationDetails!); } buildCounterSqlserverValidation--; } -core.Map buildUnnamed39() => { +core.Map buildUnnamed57() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed39(core.Map o) { +void checkUnnamed57(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2113,7 +3047,7 @@ api.SqlserverValidationDetails buildSqlserverValidationDetails() { final o = api.SqlserverValidationDetails(); buildCounterSqlserverValidationDetails++; if (buildCounterSqlserverValidationDetails < 3) { - o.fields = buildUnnamed39(); + o.fields = buildUnnamed57(); } buildCounterSqlserverValidationDetails--; return o; @@ -2122,17 +3056,17 @@ api.SqlserverValidationDetails buildSqlserverValidationDetails() { void checkSqlserverValidationDetails(api.SqlserverValidationDetails o) { buildCounterSqlserverValidationDetails++; if (buildCounterSqlserverValidationDetails < 3) { - checkUnnamed39(o.fields!); + checkUnnamed57(o.fields!); } buildCounterSqlserverValidationDetails--; } -core.List buildUnnamed40() => [ +core.List buildUnnamed58() => [ buildSqlserverValidationDetails(), buildSqlserverValidationDetails(), ]; -void checkUnnamed40(core.List o) { +void checkUnnamed58(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSqlserverValidationDetails(o[0]); checkSqlserverValidationDetails(o[1]); @@ -2144,7 +3078,7 @@ api.SqlserverValidationValidationDetail final o = api.SqlserverValidationValidationDetail(); buildCounterSqlserverValidationValidationDetail++; if (buildCounterSqlserverValidationValidationDetail < 3) { - o.details = buildUnnamed40(); + o.details = buildUnnamed58(); o.type = 'foo'; } buildCounterSqlserverValidationValidationDetail--; @@ -2155,7 +3089,7 @@ void checkSqlserverValidationValidationDetail( api.SqlserverValidationValidationDetail o) { buildCounterSqlserverValidationValidationDetail++; if (buildCounterSqlserverValidationValidationDetail < 3) { - checkUnnamed40(o.details!); + checkUnnamed58(o.details!); unittest.expect( o.type!, unittest.equals('foo'), @@ -2164,7 +3098,54 @@ void checkSqlserverValidationValidationDetail( buildCounterSqlserverValidationValidationDetail--; } -core.Map buildUnnamed41() => { +core.List buildUnnamed59() => [ + buildAvailabilityGroup(), + buildAvailabilityGroup(), + ]; + +void checkUnnamed59(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkAvailabilityGroup(o[0]); + checkAvailabilityGroup(o[1]); +} + +core.List buildUnnamed60() => [ + buildDatabase(), + buildDatabase(), + ]; + +void checkUnnamed60(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkDatabase(o[0]); + checkDatabase(o[1]); +} + +core.int buildCounterSqlserverWorkload = 0; +api.SqlserverWorkload buildSqlserverWorkload() { + final o = api.SqlserverWorkload(); + buildCounterSqlserverWorkload++; + if (buildCounterSqlserverWorkload < 3) { + o.ags = buildUnnamed59(); + o.cluster = buildCluster(); + o.databases = buildUnnamed60(); + o.loadBalancerServer = buildLoadBalancerServer(); + } + buildCounterSqlserverWorkload--; + return o; +} + +void checkSqlserverWorkload(api.SqlserverWorkload o) { + buildCounterSqlserverWorkload++; + if (buildCounterSqlserverWorkload < 3) { + checkUnnamed59(o.ags!); + checkCluster(o.cluster!); + checkUnnamed60(o.databases!); + checkLoadBalancerServer(o.loadBalancerServer!); + } + buildCounterSqlserverWorkload--; +} + +core.Map buildUnnamed61() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2177,7 +3158,7 @@ core.Map buildUnnamed41() => { }, }; -void checkUnnamed41(core.Map o) { +void checkUnnamed61(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -2209,15 +3190,15 @@ void checkUnnamed41(core.Map o) { ); } -core.List> buildUnnamed42() => [ - buildUnnamed41(), - buildUnnamed41(), +core.List> buildUnnamed62() => [ + buildUnnamed61(), + buildUnnamed61(), ]; -void checkUnnamed42(core.List> o) { +void checkUnnamed62(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed41(o[0]); - checkUnnamed41(o[1]); + checkUnnamed61(o[0]); + checkUnnamed61(o[1]); } core.int buildCounterStatus = 0; @@ -2226,7 +3207,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed42(); + o.details = buildUnnamed62(); o.message = 'foo'; } buildCounterStatus--; @@ -2240,7 +3221,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed42(o.details!); + checkUnnamed62(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -2281,12 +3262,40 @@ void checkSummary(api.Summary o) { buildCounterSummary--; } -core.Map buildUnnamed43() => { +core.int buildCounterThreeTierWorkload = 0; +api.ThreeTierWorkload buildThreeTierWorkload() { + final o = api.ThreeTierWorkload(); + buildCounterThreeTierWorkload++; + if (buildCounterThreeTierWorkload < 3) { + o.apiLayer = buildAPILayerServer(); + o.backend = buildBackendServer(); + o.endpoint = 'foo'; + o.frontend = buildFrontEndServer(); + } + buildCounterThreeTierWorkload--; + return o; +} + +void checkThreeTierWorkload(api.ThreeTierWorkload o) { + buildCounterThreeTierWorkload++; + if (buildCounterThreeTierWorkload < 3) { + checkAPILayerServer(o.apiLayer!); + checkBackendServer(o.backend!); + unittest.expect( + o.endpoint!, + unittest.equals('foo'), + ); + checkFrontEndServer(o.frontend!); + } + buildCounterThreeTierWorkload--; +} + +core.Map buildUnnamed63() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed43(core.Map o) { +void checkUnnamed63(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2306,7 +3315,7 @@ api.TorsoValidation buildTorsoValidation() { o.agentVersion = 'foo'; o.instanceName = 'foo'; o.projectId = 'foo'; - o.validationDetails = buildUnnamed43(); + o.validationDetails = buildUnnamed63(); o.workloadType = 'foo'; } buildCounterTorsoValidation--; @@ -2328,7 +3337,7 @@ void checkTorsoValidation(api.TorsoValidation o) { o.projectId!, unittest.equals('foo'), ); - checkUnnamed43(o.validationDetails!); + checkUnnamed63(o.validationDetails!); unittest.expect( o.workloadType!, unittest.equals('foo'), @@ -2337,12 +3346,49 @@ void checkTorsoValidation(api.TorsoValidation o) { buildCounterTorsoValidation--; } -core.Map buildUnnamed44() => { +core.int buildCounterUpcomingMaintenanceEvent = 0; +api.UpcomingMaintenanceEvent buildUpcomingMaintenanceEvent() { + final o = api.UpcomingMaintenanceEvent(); + buildCounterUpcomingMaintenanceEvent++; + if (buildCounterUpcomingMaintenanceEvent < 3) { + o.endTime = 'foo'; + o.maintenanceStatus = 'foo'; + o.startTime = 'foo'; + o.type = 'foo'; + } + buildCounterUpcomingMaintenanceEvent--; + return o; +} + +void checkUpcomingMaintenanceEvent(api.UpcomingMaintenanceEvent o) { + buildCounterUpcomingMaintenanceEvent++; + if (buildCounterUpcomingMaintenanceEvent < 3) { + unittest.expect( + o.endTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.maintenanceStatus!, + unittest.equals('foo'), + ); + unittest.expect( + o.startTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.type!, + unittest.equals('foo'), + ); + } + buildCounterUpcomingMaintenanceEvent--; +} + +core.Map buildUnnamed64() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed44(core.Map o) { +void checkUnnamed64(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2360,7 +3406,7 @@ api.ViolationDetails buildViolationDetails() { buildCounterViolationDetails++; if (buildCounterViolationDetails < 3) { o.asset = 'foo'; - o.observed = buildUnnamed44(); + o.observed = buildUnnamed64(); o.serviceAccount = 'foo'; } buildCounterViolationDetails--; @@ -2374,7 +3420,7 @@ void checkViolationDetails(api.ViolationDetails o) { o.asset!, unittest.equals('foo'), ); - checkUnnamed44(o.observed!); + checkUnnamed64(o.observed!); unittest.expect( o.serviceAccount!, unittest.equals('foo'), @@ -2383,6 +3429,114 @@ void checkViolationDetails(api.ViolationDetails o) { buildCounterViolationDetails--; } +core.Map buildUnnamed65() => { + 'x': 'foo', + 'y': 'foo', + }; + +void checkUnnamed65(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o['x']!, + unittest.equals('foo'), + ); + unittest.expect( + o['y']!, + unittest.equals('foo'), + ); +} + +core.int buildCounterWorkloadProfile = 0; +api.WorkloadProfile buildWorkloadProfile() { + final o = api.WorkloadProfile(); + buildCounterWorkloadProfile++; + if (buildCounterWorkloadProfile < 3) { + o.application = buildLayer(); + o.ascs = buildLayer(); + o.database = buildLayer(); + o.labels = buildUnnamed65(); + o.name = 'foo'; + o.refreshedTime = 'foo'; + o.sapWorkload = buildSapWorkload(); + o.sqlserverWorkload = buildSqlserverWorkload(); + o.state = 'foo'; + o.threeTierWorkload = buildThreeTierWorkload(); + o.workloadType = 'foo'; + } + buildCounterWorkloadProfile--; + return o; +} + +void checkWorkloadProfile(api.WorkloadProfile o) { + buildCounterWorkloadProfile++; + if (buildCounterWorkloadProfile < 3) { + checkLayer(o.application!); + checkLayer(o.ascs!); + checkLayer(o.database!); + checkUnnamed65(o.labels!); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.refreshedTime!, + unittest.equals('foo'), + ); + checkSapWorkload(o.sapWorkload!); + checkSqlserverWorkload(o.sqlserverWorkload!); + unittest.expect( + o.state!, + unittest.equals('foo'), + ); + checkThreeTierWorkload(o.threeTierWorkload!); + unittest.expect( + o.workloadType!, + unittest.equals('foo'), + ); + } + buildCounterWorkloadProfile--; +} + +core.List buildUnnamed66() => [ + buildComponentHealth(), + buildComponentHealth(), + ]; + +void checkUnnamed66(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkComponentHealth(o[0]); + checkComponentHealth(o[1]); +} + +core.int buildCounterWorkloadProfileHealth = 0; +api.WorkloadProfileHealth buildWorkloadProfileHealth() { + final o = api.WorkloadProfileHealth(); + buildCounterWorkloadProfileHealth++; + if (buildCounterWorkloadProfileHealth < 3) { + o.checkTime = 'foo'; + o.componentHealthes = buildUnnamed66(); + o.state = 'foo'; + } + buildCounterWorkloadProfileHealth--; + return o; +} + +void checkWorkloadProfileHealth(api.WorkloadProfileHealth o) { + buildCounterWorkloadProfileHealth++; + if (buildCounterWorkloadProfileHealth < 3) { + unittest.expect( + o.checkTime!, + unittest.equals('foo'), + ); + checkUnnamed66(o.componentHealthes!); + unittest.expect( + o.state!, + unittest.equals('foo'), + ); + } + buildCounterWorkloadProfileHealth--; +} + core.int buildCounterWriteInsightRequest = 0; api.WriteInsightRequest buildWriteInsightRequest() { final o = api.WriteInsightRequest(); @@ -2428,6 +3582,16 @@ void checkWriteInsightResponse(api.WriteInsightResponse o) { } void main() { + unittest.group('obj-schema-APILayerServer', () { + unittest.test('to-json--from-json', () async { + final o = buildAPILayerServer(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.APILayerServer.fromJson( + oJson as core.Map); + checkAPILayerServer(od); + }); + }); + unittest.group('obj-schema-AgentCommand', () { unittest.test('to-json--from-json', () async { final o = buildAgentCommand(); @@ -2438,6 +3602,36 @@ void main() { }); }); + unittest.group('obj-schema-AvailabilityGroup', () { + unittest.test('to-json--from-json', () async { + final o = buildAvailabilityGroup(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.AvailabilityGroup.fromJson( + oJson as core.Map); + checkAvailabilityGroup(od); + }); + }); + + unittest.group('obj-schema-BackendServer', () { + unittest.test('to-json--from-json', () async { + final o = buildBackendServer(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BackendServer.fromJson( + oJson as core.Map); + checkBackendServer(od); + }); + }); + + unittest.group('obj-schema-BackupProperties', () { + unittest.test('to-json--from-json', () async { + final o = buildBackupProperties(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BackupProperties.fromJson( + oJson as core.Map); + checkBackupProperties(od); + }); + }); + unittest.group('obj-schema-BigQueryDestination', () { unittest.test('to-json--from-json', () async { final o = buildBigQueryDestination(); @@ -2458,6 +3652,26 @@ void main() { }); }); + unittest.group('obj-schema-CloudResource', () { + unittest.test('to-json--from-json', () async { + final o = buildCloudResource(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.CloudResource.fromJson( + oJson as core.Map); + checkCloudResource(od); + }); + }); + + unittest.group('obj-schema-Cluster', () { + unittest.test('to-json--from-json', () async { + final o = buildCluster(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Cluster.fromJson(oJson as core.Map); + checkCluster(od); + }); + }); + unittest.group('obj-schema-Command', () { unittest.test('to-json--from-json', () async { final o = buildCommand(); @@ -2468,6 +3682,36 @@ void main() { }); }); + unittest.group('obj-schema-ComponentHealth', () { + unittest.test('to-json--from-json', () async { + final o = buildComponentHealth(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ComponentHealth.fromJson( + oJson as core.Map); + checkComponentHealth(od); + }); + }); + + unittest.group('obj-schema-Database', () { + unittest.test('to-json--from-json', () async { + final o = buildDatabase(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Database.fromJson(oJson as core.Map); + checkDatabase(od); + }); + }); + + unittest.group('obj-schema-DatabaseProperties', () { + unittest.test('to-json--from-json', () async { + final o = buildDatabaseProperties(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DatabaseProperties.fromJson( + oJson as core.Map); + checkDatabaseProperties(od); + }); + }); + unittest.group('obj-schema-Empty', () { unittest.test('to-json--from-json', () async { final o = buildEmpty(); @@ -2518,6 +3762,16 @@ void main() { }); }); + unittest.group('obj-schema-FrontEndServer', () { + unittest.test('to-json--from-json', () async { + final o = buildFrontEndServer(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.FrontEndServer.fromJson( + oJson as core.Map); + checkFrontEndServer(od); + }); + }); + unittest.group('obj-schema-GceInstanceFilter', () { unittest.test('to-json--from-json', () async { final o = buildGceInstanceFilter(); @@ -2528,6 +3782,16 @@ void main() { }); }); + unittest.group('obj-schema-HealthCheck', () { + unittest.test('to-json--from-json', () async { + final o = buildHealthCheck(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.HealthCheck.fromJson( + oJson as core.Map); + checkHealthCheck(od); + }); + }); + unittest.group('obj-schema-Insight', () { unittest.test('to-json--from-json', () async { final o = buildInsight(); @@ -2538,6 +3802,46 @@ void main() { }); }); + unittest.group('obj-schema-Instance', () { + unittest.test('to-json--from-json', () async { + final o = buildInstance(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Instance.fromJson(oJson as core.Map); + checkInstance(od); + }); + }); + + unittest.group('obj-schema-InstanceProperties', () { + unittest.test('to-json--from-json', () async { + final o = buildInstanceProperties(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.InstanceProperties.fromJson( + oJson as core.Map); + checkInstanceProperties(od); + }); + }); + + unittest.group('obj-schema-Layer', () { + unittest.test('to-json--from-json', () async { + final o = buildLayer(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Layer.fromJson(oJson as core.Map); + checkLayer(od); + }); + }); + + unittest.group('obj-schema-ListDiscoveredProfilesResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListDiscoveredProfilesResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListDiscoveredProfilesResponse.fromJson( + oJson as core.Map); + checkListDiscoveredProfilesResponse(od); + }); + }); + unittest.group('obj-schema-ListEvaluationsResponse', () { unittest.test('to-json--from-json', () async { final o = buildListEvaluationsResponse(); @@ -2608,6 +3912,16 @@ void main() { }); }); + unittest.group('obj-schema-LoadBalancerServer', () { + unittest.test('to-json--from-json', () async { + final o = buildLoadBalancerServer(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.LoadBalancerServer.fromJson( + oJson as core.Map); + checkLoadBalancerServer(od); + }); + }); + unittest.group('obj-schema-Location', () { unittest.test('to-json--from-json', () async { final o = buildLocation(); @@ -2638,6 +3952,16 @@ void main() { }); }); + unittest.group('obj-schema-Product', () { + unittest.test('to-json--from-json', () async { + final o = buildProduct(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Product.fromJson(oJson as core.Map); + checkProduct(od); + }); + }); + unittest.group('obj-schema-Resource', () { unittest.test('to-json--from-json', () async { final o = buildResource(); @@ -2698,6 +4022,16 @@ void main() { }); }); + unittest.group('obj-schema-SapComponent', () { + unittest.test('to-json--from-json', () async { + final o = buildSapComponent(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SapComponent.fromJson( + oJson as core.Map); + checkSapComponent(od); + }); + }); + unittest.group('obj-schema-SapDiscovery', () { unittest.test('to-json--from-json', () async { final o = buildSapDiscovery(); @@ -2738,6 +4072,16 @@ void main() { }); }); + unittest.group('obj-schema-SapDiscoveryComponentReplicationSite', () { + unittest.test('to-json--from-json', () async { + final o = buildSapDiscoveryComponentReplicationSite(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SapDiscoveryComponentReplicationSite.fromJson( + oJson as core.Map); + checkSapDiscoveryComponentReplicationSite(od); + }); + }); + unittest.group('obj-schema-SapDiscoveryMetadata', () { unittest.test('to-json--from-json', () async { final o = buildSapDiscoveryMetadata(); @@ -2779,6 +4123,17 @@ void main() { }); }); + unittest.group('obj-schema-SapDiscoveryResourceInstancePropertiesDiskMount', + () { + unittest.test('to-json--from-json', () async { + final o = buildSapDiscoveryResourceInstancePropertiesDiskMount(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SapDiscoveryResourceInstancePropertiesDiskMount.fromJson( + oJson as core.Map); + checkSapDiscoveryResourceInstancePropertiesDiskMount(od); + }); + }); + unittest.group('obj-schema-SapDiscoveryWorkloadProperties', () { unittest.test('to-json--from-json', () async { final o = buildSapDiscoveryWorkloadProperties(); @@ -2812,6 +4167,16 @@ void main() { }); }); + unittest.group('obj-schema-SapInstanceProperties', () { + unittest.test('to-json--from-json', () async { + final o = buildSapInstanceProperties(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SapInstanceProperties.fromJson( + oJson as core.Map); + checkSapInstanceProperties(od); + }); + }); + unittest.group('obj-schema-SapValidation', () { unittest.test('to-json--from-json', () async { final o = buildSapValidation(); @@ -2832,6 +4197,16 @@ void main() { }); }); + unittest.group('obj-schema-SapWorkload', () { + unittest.test('to-json--from-json', () async { + final o = buildSapWorkload(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SapWorkload.fromJson( + oJson as core.Map); + checkSapWorkload(od); + }); + }); + unittest.group('obj-schema-ScannedResource', () { unittest.test('to-json--from-json', () async { final o = buildScannedResource(); @@ -2876,9 +4251,19 @@ void main() { unittest.test('to-json--from-json', () async { final o = buildSqlserverValidationValidationDetail(); final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.SqlserverValidationValidationDetail.fromJson( + final od = api.SqlserverValidationValidationDetail.fromJson( + oJson as core.Map); + checkSqlserverValidationValidationDetail(od); + }); + }); + + unittest.group('obj-schema-SqlserverWorkload', () { + unittest.test('to-json--from-json', () async { + final o = buildSqlserverWorkload(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.SqlserverWorkload.fromJson( oJson as core.Map); - checkSqlserverValidationValidationDetail(od); + checkSqlserverWorkload(od); }); }); @@ -2902,6 +4287,16 @@ void main() { }); }); + unittest.group('obj-schema-ThreeTierWorkload', () { + unittest.test('to-json--from-json', () async { + final o = buildThreeTierWorkload(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ThreeTierWorkload.fromJson( + oJson as core.Map); + checkThreeTierWorkload(od); + }); + }); + unittest.group('obj-schema-TorsoValidation', () { unittest.test('to-json--from-json', () async { final o = buildTorsoValidation(); @@ -2912,6 +4307,16 @@ void main() { }); }); + unittest.group('obj-schema-UpcomingMaintenanceEvent', () { + unittest.test('to-json--from-json', () async { + final o = buildUpcomingMaintenanceEvent(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.UpcomingMaintenanceEvent.fromJson( + oJson as core.Map); + checkUpcomingMaintenanceEvent(od); + }); + }); + unittest.group('obj-schema-ViolationDetails', () { unittest.test('to-json--from-json', () async { final o = buildViolationDetails(); @@ -2922,6 +4327,26 @@ void main() { }); }); + unittest.group('obj-schema-WorkloadProfile', () { + unittest.test('to-json--from-json', () async { + final o = buildWorkloadProfile(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.WorkloadProfile.fromJson( + oJson as core.Map); + checkWorkloadProfile(od); + }); + }); + + unittest.group('obj-schema-WorkloadProfileHealth', () { + unittest.test('to-json--from-json', () async { + final o = buildWorkloadProfileHealth(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.WorkloadProfileHealth.fromJson( + oJson as core.Map); + checkWorkloadProfileHealth(od); + }); + }); + unittest.group('obj-schema-WriteInsightRequest', () { unittest.test('to-json--from-json', () async { final o = buildWriteInsightRequest(); @@ -3067,6 +4492,193 @@ void main() { }); }); + unittest.group('resource-ProjectsLocationsDiscoveredprofilesResource', () { + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = + api.WorkloadManagerApi(mock).projects.locations.discoveredprofiles; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildWorkloadProfile()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_name, $fields: arg_$fields); + checkWorkloadProfile(response as api.WorkloadProfile); + }); + + unittest.test('method--list', () async { + final mock = HttpServerMock(); + final res = + api.WorkloadManagerApi(mock).projects.locations.discoveredprofiles; + final arg_parent = 'foo'; + final arg_filter = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListDiscoveredProfilesResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.list(arg_parent, + filter: arg_filter, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListDiscoveredProfilesResponse( + response as api.ListDiscoveredProfilesResponse); + }); + }); + + unittest.group('resource-ProjectsLocationsDiscoveredprofilesHealthesResource', + () { + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.WorkloadManagerApi(mock) + .projects + .locations + .discoveredprofiles + .healthes; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildWorkloadProfileHealth()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(arg_name, $fields: arg_$fields); + checkWorkloadProfileHealth(response as api.WorkloadProfileHealth); + }); + }); + unittest.group('resource-ProjectsLocationsEvaluationsResource', () { unittest.test('method--create', () async { final mock = HttpServerMock(); @@ -3768,6 +5380,64 @@ void main() { }); unittest.group('resource-ProjectsLocationsInsightsResource', () { + unittest.test('method--delete', () async { + final mock = HttpServerMock(); + final res = api.WorkloadManagerApi(mock).projects.locations.insights; + final arg_name = 'foo'; + final arg_requestId = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 3), + unittest.equals('v1/'), + ); + pathOffset += 3; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['requestId']!.first, + unittest.equals(arg_requestId), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildEmpty()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.delete(arg_name, + requestId: arg_requestId, $fields: arg_$fields); + checkEmpty(response as api.Empty); + }); + unittest.test('method--writeInsight', () async { final mock = HttpServerMock(); final res = api.WorkloadManagerApi(mock).projects.locations.insights; diff --git a/generated/googleapis/test/workstations/v1_test.dart b/generated/googleapis/test/workstations/v1_test.dart index 39b8ba207..b45dc73e8 100644 --- a/generated/googleapis/test/workstations/v1_test.dart +++ b/generated/googleapis/test/workstations/v1_test.dart @@ -592,6 +592,38 @@ void checkGceInstance(api.GceInstance o) { buildCounterGceInstance--; } +core.int buildCounterGceInstanceHost = 0; +api.GceInstanceHost buildGceInstanceHost() { + final o = api.GceInstanceHost(); + buildCounterGceInstanceHost++; + if (buildCounterGceInstanceHost < 3) { + o.id = 'foo'; + o.name = 'foo'; + o.zone = 'foo'; + } + buildCounterGceInstanceHost--; + return o; +} + +void checkGceInstanceHost(api.GceInstanceHost o) { + buildCounterGceInstanceHost++; + if (buildCounterGceInstanceHost < 3) { + unittest.expect( + o.id!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.zone!, + unittest.equals('foo'), + ); + } + buildCounterGceInstanceHost--; +} + core.int buildCounterGcePersistentDisk = 0; api.GcePersistentDisk buildGcePersistentDisk() { final o = api.GcePersistentDisk(); @@ -1524,6 +1556,25 @@ void checkReadinessCheck(api.ReadinessCheck o) { buildCounterReadinessCheck--; } +core.int buildCounterRuntimeHost = 0; +api.RuntimeHost buildRuntimeHost() { + final o = api.RuntimeHost(); + buildCounterRuntimeHost++; + if (buildCounterRuntimeHost < 3) { + o.gceInstanceHost = buildGceInstanceHost(); + } + buildCounterRuntimeHost--; + return o; +} + +void checkRuntimeHost(api.RuntimeHost o) { + buildCounterRuntimeHost++; + if (buildCounterRuntimeHost < 3) { + checkGceInstanceHost(o.gceInstanceHost!); + } + buildCounterRuntimeHost--; +} + core.int buildCounterSetIamPolicyRequest = 0; api.SetIamPolicyRequest buildSetIamPolicyRequest() { final o = api.SetIamPolicyRequest(); @@ -1553,6 +1604,7 @@ api.StartWorkstationRequest buildStartWorkstationRequest() { final o = api.StartWorkstationRequest(); buildCounterStartWorkstationRequest++; if (buildCounterStartWorkstationRequest < 3) { + o.boostConfig = 'foo'; o.etag = 'foo'; o.validateOnly = true; } @@ -1563,6 +1615,10 @@ api.StartWorkstationRequest buildStartWorkstationRequest() { void checkStartWorkstationRequest(api.StartWorkstationRequest o) { buildCounterStartWorkstationRequest++; if (buildCounterStartWorkstationRequest < 3) { + unittest.expect( + o.boostConfig!, + unittest.equals('foo'), + ); unittest.expect( o.etag!, unittest.equals('foo'), @@ -1820,6 +1876,8 @@ api.Workstation buildWorkstation() { o.labels = buildUnnamed37(); o.name = 'foo'; o.reconciling = true; + o.runtimeHost = buildRuntimeHost(); + o.sourceWorkstation = 'foo'; o.startTime = 'foo'; o.state = 'foo'; o.uid = 'foo'; @@ -1864,6 +1922,11 @@ void checkWorkstation(api.Workstation o) { unittest.equals('foo'), ); unittest.expect(o.reconciling!, unittest.isTrue); + checkRuntimeHost(o.runtimeHost!); + unittest.expect( + o.sourceWorkstation!, + unittest.equals('foo'), + ); unittest.expect( o.startTime!, unittest.equals('foo'), @@ -2365,6 +2428,16 @@ void main() { }); }); + unittest.group('obj-schema-GceInstanceHost', () { + unittest.test('to-json--from-json', () async { + final o = buildGceInstanceHost(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.GceInstanceHost.fromJson( + oJson as core.Map); + checkGceInstanceHost(od); + }); + }); + unittest.group('obj-schema-GcePersistentDisk', () { unittest.test('to-json--from-json', () async { final o = buildGcePersistentDisk(); @@ -2575,6 +2648,16 @@ void main() { }); }); + unittest.group('obj-schema-RuntimeHost', () { + unittest.test('to-json--from-json', () async { + final o = buildRuntimeHost(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.RuntimeHost.fromJson( + oJson as core.Map); + checkRuntimeHost(od); + }); + }); + unittest.group('obj-schema-SetIamPolicyRequest', () { unittest.test('to-json--from-json', () async { final o = buildSetIamPolicyRequest(); diff --git a/generated/googleapis/test/youtube/v3_test.dart b/generated/googleapis/test/youtube/v3_test.dart index 4c1c93a26..877db8c3d 100644 --- a/generated/googleapis/test/youtube/v3_test.dart +++ b/generated/googleapis/test/youtube/v3_test.dart @@ -1770,6 +1770,7 @@ api.ChannelStatus buildChannelStatus() { final o = api.ChannelStatus(); buildCounterChannelStatus++; if (buildCounterChannelStatus < 3) { + o.isChannelMonetizationEnabled = true; o.isLinked = true; o.longUploadsStatus = 'foo'; o.madeForKids = true; @@ -1783,6 +1784,7 @@ api.ChannelStatus buildChannelStatus() { void checkChannelStatus(api.ChannelStatus o) { buildCounterChannelStatus++; if (buildCounterChannelStatus < 3) { + unittest.expect(o.isChannelMonetizationEnabled!, unittest.isTrue); unittest.expect(o.isLinked!, unittest.isTrue); unittest.expect( o.longUploadsStatus!, @@ -8339,6 +8341,57 @@ void checkVideoTopicDetails(api.VideoTopicDetails o) { buildCounterVideoTopicDetails--; } +core.List buildUnnamed69() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed69(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterVideoTrainability = 0; +api.VideoTrainability buildVideoTrainability() { + final o = api.VideoTrainability(); + buildCounterVideoTrainability++; + if (buildCounterVideoTrainability < 3) { + o.etag = 'foo'; + o.kind = 'foo'; + o.permitted = buildUnnamed69(); + o.videoId = 'foo'; + } + buildCounterVideoTrainability--; + return o; +} + +void checkVideoTrainability(api.VideoTrainability o) { + buildCounterVideoTrainability++; + if (buildCounterVideoTrainability < 3) { + unittest.expect( + o.etag!, + unittest.equals('foo'), + ); + unittest.expect( + o.kind!, + unittest.equals('foo'), + ); + checkUnnamed69(o.permitted!); + unittest.expect( + o.videoId!, + unittest.equals('foo'), + ); + } + buildCounterVideoTrainability--; +} + core.int buildCounterWatchSettings = 0; api.WatchSettings buildWatchSettings() { final o = api.WatchSettings(); @@ -8371,23 +8424,6 @@ void checkWatchSettings(api.WatchSettings o) { buildCounterWatchSettings--; } -core.List buildUnnamed69() => [ - 'foo', - 'foo', - ]; - -void checkUnnamed69(core.List o) { - unittest.expect(o, unittest.hasLength(2)); - unittest.expect( - o[0], - unittest.equals('foo'), - ); - unittest.expect( - o[1], - unittest.equals('foo'), - ); -} - core.List buildUnnamed70() => [ 'foo', 'foo', @@ -9612,6 +9648,23 @@ void checkUnnamed141(core.List o) { ); } +core.List buildUnnamed142() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed142(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + void main() { unittest.group('obj-schema-AbuseReport', () { unittest.test('to-json--from-json', () async { @@ -11586,6 +11639,16 @@ void main() { }); }); + unittest.group('obj-schema-VideoTrainability', () { + unittest.test('to-json--from-json', () async { + final o = buildVideoTrainability(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.VideoTrainability.fromJson( + oJson as core.Map); + checkVideoTrainability(od); + }); + }); + unittest.group('obj-schema-WatchSettings', () { unittest.test('to-json--from-json', () async { final o = buildWatchSettings(); @@ -11601,7 +11664,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).abuseReports; final arg_request = buildAbuseReport(); - final arg_part = buildUnnamed69(); + final arg_part = buildUnnamed70(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = api.AbuseReport.fromJson( @@ -11663,7 +11726,7 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).activities; - final arg_part = buildUnnamed70(); + final arg_part = buildUnnamed71(); final arg_channelId = 'foo'; final arg_home = true; final arg_maxResults = 42; @@ -11924,7 +11987,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).captions; final arg_request = buildCaption(); - final arg_part = buildUnnamed71(); + final arg_part = buildUnnamed72(); final arg_onBehalfOf = 'foo'; final arg_onBehalfOfContentOwner = 'foo'; final arg_sync = true; @@ -12002,9 +12065,9 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).captions; - final arg_part = buildUnnamed72(); + final arg_part = buildUnnamed73(); final arg_videoId = 'foo'; - final arg_id = buildUnnamed73(); + final arg_id = buildUnnamed74(); final arg_onBehalfOf = 'foo'; final arg_onBehalfOfContentOwner = 'foo'; final arg_$fields = 'foo'; @@ -12085,7 +12148,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).captions; final arg_request = buildCaption(); - final arg_part = buildUnnamed74(); + final arg_part = buildUnnamed75(); final arg_onBehalfOf = 'foo'; final arg_onBehalfOfContentOwner = 'foo'; final arg_sync = true; @@ -12306,7 +12369,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).channelSections; final arg_request = buildChannelSection(); - final arg_part = buildUnnamed75(); + final arg_part = buildUnnamed76(); final arg_onBehalfOfContentOwner = 'foo'; final arg_onBehalfOfContentOwnerChannel = 'foo'; final arg_$fields = 'foo'; @@ -12378,10 +12441,10 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).channelSections; - final arg_part = buildUnnamed76(); + final arg_part = buildUnnamed77(); final arg_channelId = 'foo'; final arg_hl = 'foo'; - final arg_id = buildUnnamed77(); + final arg_id = buildUnnamed78(); final arg_mine = true; final arg_onBehalfOfContentOwner = 'foo'; final arg_$fields = 'foo'; @@ -12466,7 +12529,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).channelSections; final arg_request = buildChannelSection(); - final arg_part = buildUnnamed78(); + final arg_part = buildUnnamed79(); final arg_onBehalfOfContentOwner = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -12534,12 +12597,12 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).channels; - final arg_part = buildUnnamed79(); + final arg_part = buildUnnamed80(); final arg_categoryId = 'foo'; final arg_forHandle = 'foo'; final arg_forUsername = 'foo'; final arg_hl = 'foo'; - final arg_id = buildUnnamed80(); + final arg_id = buildUnnamed81(); final arg_managedByMe = true; final arg_maxResults = 42; final arg_mine = true; @@ -12657,7 +12720,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).channels; final arg_request = buildChannel(); - final arg_part = buildUnnamed81(); + final arg_part = buildUnnamed82(); final arg_onBehalfOfContentOwner = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -12726,7 +12789,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).commentThreads; final arg_request = buildCommentThread(); - final arg_part = buildUnnamed82(); + final arg_part = buildUnnamed83(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = api.CommentThread.fromJson( @@ -12786,10 +12849,10 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).commentThreads; - final arg_part = buildUnnamed83(); + final arg_part = buildUnnamed84(); final arg_allThreadsRelatedToChannelId = 'foo'; final arg_channelId = 'foo'; - final arg_id = buildUnnamed84(); + final arg_id = buildUnnamed85(); final arg_maxResults = 42; final arg_moderationStatus = 'foo'; final arg_order = 'foo'; @@ -12959,7 +13022,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).comments; final arg_request = buildComment(); - final arg_part = buildUnnamed85(); + final arg_part = buildUnnamed86(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = @@ -13019,8 +13082,8 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).comments; - final arg_part = buildUnnamed86(); - final arg_id = buildUnnamed87(); + final arg_part = buildUnnamed87(); + final arg_id = buildUnnamed88(); final arg_maxResults = 42; final arg_pageToken = 'foo'; final arg_parentId = 'foo'; @@ -13105,7 +13168,7 @@ void main() { unittest.test('method--markAsSpam', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).comments; - final arg_id = buildUnnamed88(); + final arg_id = buildUnnamed89(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -13159,7 +13222,7 @@ void main() { unittest.test('method--setModerationStatus', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).comments; - final arg_id = buildUnnamed89(); + final arg_id = buildUnnamed90(); final arg_moderationStatus = 'foo'; final arg_banAuthor = true; final arg_$fields = 'foo'; @@ -13225,7 +13288,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).comments; final arg_request = buildComment(); - final arg_part = buildUnnamed90(); + final arg_part = buildUnnamed91(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = @@ -13287,7 +13350,7 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).i18nLanguages; - final arg_part = buildUnnamed91(); + final arg_part = buildUnnamed92(); final arg_hl = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -13350,7 +13413,7 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).i18nRegions; - final arg_part = buildUnnamed92(); + final arg_part = buildUnnamed93(); final arg_hl = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -13414,7 +13477,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).liveBroadcasts; final arg_id = 'foo'; - final arg_part = buildUnnamed93(); + final arg_part = buildUnnamed94(); final arg_onBehalfOfContentOwner = 'foo'; final arg_onBehalfOfContentOwnerChannel = 'foo'; final arg_streamId = 'foo'; @@ -13560,7 +13623,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).liveBroadcasts; final arg_request = buildLiveBroadcast(); - final arg_part = buildUnnamed94(); + final arg_part = buildUnnamed95(); final arg_onBehalfOfContentOwner = 'foo'; final arg_onBehalfOfContentOwnerChannel = 'foo'; final arg_$fields = 'foo'; @@ -13636,7 +13699,7 @@ void main() { final arg_id = 'foo'; final arg_onBehalfOfContentOwner = 'foo'; final arg_onBehalfOfContentOwnerChannel = 'foo'; - final arg_part = buildUnnamed95(); + final arg_part = buildUnnamed96(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = @@ -13712,10 +13775,10 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).liveBroadcasts; - final arg_part = buildUnnamed96(); + final arg_part = buildUnnamed97(); final arg_broadcastStatus = 'foo'; final arg_broadcastType = 'foo'; - final arg_id = buildUnnamed97(); + final arg_id = buildUnnamed98(); final arg_maxResults = 42; final arg_mine = true; final arg_onBehalfOfContentOwner = 'foo'; @@ -13818,7 +13881,7 @@ void main() { final res = api.YouTubeApi(mock).liveBroadcasts; final arg_broadcastStatus = 'foo'; final arg_id = 'foo'; - final arg_part = buildUnnamed98(); + final arg_part = buildUnnamed99(); final arg_onBehalfOfContentOwner = 'foo'; final arg_onBehalfOfContentOwnerChannel = 'foo'; final arg_$fields = 'foo'; @@ -13896,7 +13959,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).liveBroadcasts; final arg_request = buildLiveBroadcast(); - final arg_part = buildUnnamed99(); + final arg_part = buildUnnamed100(); final arg_onBehalfOfContentOwner = 'foo'; final arg_onBehalfOfContentOwnerChannel = 'foo'; final arg_$fields = 'foo'; @@ -14025,7 +14088,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).liveChatBans; final arg_request = buildLiveChatBan(); - final arg_part = buildUnnamed100(); + final arg_part = buildUnnamed101(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = api.LiveChatBan.fromJson( @@ -14142,7 +14205,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).liveChatMessages; final arg_request = buildLiveChatMessage(); - final arg_part = buildUnnamed101(); + final arg_part = buildUnnamed102(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = api.LiveChatMessage.fromJson( @@ -14203,7 +14266,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).liveChatMessages; final arg_liveChatId = 'foo'; - final arg_part = buildUnnamed102(); + final arg_part = buildUnnamed103(); final arg_hl = 'foo'; final arg_maxResults = 42; final arg_pageToken = 'foo'; @@ -14406,7 +14469,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).liveChatModerators; final arg_request = buildLiveChatModerator(); - final arg_part = buildUnnamed103(); + final arg_part = buildUnnamed104(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = api.LiveChatModerator.fromJson( @@ -14467,7 +14530,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).liveChatModerators; final arg_liveChatId = 'foo'; - final arg_part = buildUnnamed104(); + final arg_part = buildUnnamed105(); final arg_maxResults = 42; final arg_pageToken = 'foo'; final arg_$fields = 'foo'; @@ -14610,7 +14673,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).liveStreams; final arg_request = buildLiveStream(); - final arg_part = buildUnnamed105(); + final arg_part = buildUnnamed106(); final arg_onBehalfOfContentOwner = 'foo'; final arg_onBehalfOfContentOwnerChannel = 'foo'; final arg_$fields = 'foo'; @@ -14682,8 +14745,8 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).liveStreams; - final arg_part = buildUnnamed106(); - final arg_id = buildUnnamed107(); + final arg_part = buildUnnamed107(); + final arg_id = buildUnnamed108(); final arg_maxResults = 42; final arg_mine = true; final arg_onBehalfOfContentOwner = 'foo'; @@ -14775,7 +14838,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).liveStreams; final arg_request = buildLiveStream(); - final arg_part = buildUnnamed108(); + final arg_part = buildUnnamed109(); final arg_onBehalfOfContentOwner = 'foo'; final arg_onBehalfOfContentOwnerChannel = 'foo'; final arg_$fields = 'foo'; @@ -14849,7 +14912,7 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).members; - final arg_part = buildUnnamed109(); + final arg_part = buildUnnamed110(); final arg_filterByMemberChannelId = 'foo'; final arg_hasAccessToLevel = 'foo'; final arg_maxResults = 42; @@ -14937,7 +15000,7 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).membershipsLevels; - final arg_part = buildUnnamed110(); + final arg_part = buildUnnamed111(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -15063,7 +15126,7 @@ void main() { final arg_request = buildPlaylistImage(); final arg_onBehalfOfContentOwner = 'foo'; final arg_onBehalfOfContentOwnerChannel = 'foo'; - final arg_part = buildUnnamed111(); + final arg_part = buildUnnamed112(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = api.PlaylistImage.fromJson( @@ -15139,7 +15202,7 @@ void main() { final arg_onBehalfOfContentOwnerChannel = 'foo'; final arg_pageToken = 'foo'; final arg_parent = 'foo'; - final arg_part = buildUnnamed112(); + final arg_part = buildUnnamed113(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -15226,7 +15289,7 @@ void main() { final res = api.YouTubeApi(mock).playlistImages; final arg_request = buildPlaylistImage(); final arg_onBehalfOfContentOwner = 'foo'; - final arg_part = buildUnnamed113(); + final arg_part = buildUnnamed114(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = api.PlaylistImage.fromJson( @@ -15356,7 +15419,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).playlistItems; final arg_request = buildPlaylistItem(); - final arg_part = buildUnnamed114(); + final arg_part = buildUnnamed115(); final arg_onBehalfOfContentOwner = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -15422,8 +15485,8 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).playlistItems; - final arg_part = buildUnnamed115(); - final arg_id = buildUnnamed116(); + final arg_part = buildUnnamed116(); + final arg_id = buildUnnamed117(); final arg_maxResults = 42; final arg_onBehalfOfContentOwner = 'foo'; final arg_pageToken = 'foo'; @@ -15515,7 +15578,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).playlistItems; final arg_request = buildPlaylistItem(); - final arg_part = buildUnnamed117(); + final arg_part = buildUnnamed118(); final arg_onBehalfOfContentOwner = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -15645,7 +15708,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).playlists; final arg_request = buildPlaylist(); - final arg_part = buildUnnamed118(); + final arg_part = buildUnnamed119(); final arg_onBehalfOfContentOwner = 'foo'; final arg_onBehalfOfContentOwnerChannel = 'foo'; final arg_$fields = 'foo'; @@ -15717,10 +15780,10 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).playlists; - final arg_part = buildUnnamed119(); + final arg_part = buildUnnamed120(); final arg_channelId = 'foo'; final arg_hl = 'foo'; - final arg_id = buildUnnamed120(); + final arg_id = buildUnnamed121(); final arg_maxResults = 42; final arg_mine = true; final arg_onBehalfOfContentOwner = 'foo'; @@ -15822,7 +15885,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).playlists; final arg_request = buildPlaylist(); - final arg_part = buildUnnamed121(); + final arg_part = buildUnnamed122(); final arg_onBehalfOfContentOwner = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -15890,7 +15953,7 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).search; - final arg_part = buildUnnamed122(); + final arg_part = buildUnnamed123(); final arg_channelId = 'foo'; final arg_channelType = 'foo'; final arg_eventType = 'foo'; @@ -15910,7 +15973,7 @@ void main() { final arg_relevanceLanguage = 'foo'; final arg_safeSearch = 'foo'; final arg_topicId = 'foo'; - final arg_type = buildUnnamed123(); + final arg_type = buildUnnamed124(); final arg_videoCaption = 'foo'; final arg_videoCategoryId = 'foo'; final arg_videoDefinition = 'foo'; @@ -16183,7 +16246,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).subscriptions; final arg_request = buildSubscription(); - final arg_part = buildUnnamed124(); + final arg_part = buildUnnamed125(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = api.Subscription.fromJson( @@ -16243,10 +16306,10 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).subscriptions; - final arg_part = buildUnnamed125(); + final arg_part = buildUnnamed126(); final arg_channelId = 'foo'; final arg_forChannelId = 'foo'; - final arg_id = buildUnnamed126(); + final arg_id = buildUnnamed127(); final arg_maxResults = 42; final arg_mine = true; final arg_myRecentSubscribers = true; @@ -16367,7 +16430,7 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).superChatEvents; - final arg_part = buildUnnamed127(); + final arg_part = buildUnnamed128(); final arg_hl = 'foo'; final arg_maxResults = 42; final arg_pageToken = 'foo'; @@ -16445,7 +16508,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).tests; final arg_request = buildTestItem(); - final arg_part = buildUnnamed128(); + final arg_part = buildUnnamed129(); final arg_externalChannelId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -16515,7 +16578,7 @@ void main() { final arg_linkingToken = 'foo'; final arg_type = 'foo'; final arg_externalChannelId = 'foo'; - final arg_part = buildUnnamed129(); + final arg_part = buildUnnamed130(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -16585,7 +16648,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).thirdPartyLinks; final arg_request = buildThirdPartyLink(); - final arg_part = buildUnnamed130(); + final arg_part = buildUnnamed131(); final arg_externalChannelId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -16650,7 +16713,7 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).thirdPartyLinks; - final arg_part = buildUnnamed131(); + final arg_part = buildUnnamed132(); final arg_externalChannelId = 'foo'; final arg_linkingToken = 'foo'; final arg_type = 'foo'; @@ -16726,7 +16789,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).thirdPartyLinks; final arg_request = buildThirdPartyLink(); - final arg_part = buildUnnamed132(); + final arg_part = buildUnnamed133(); final arg_externalChannelId = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -16860,7 +16923,7 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).videoAbuseReportReasons; - final arg_part = buildUnnamed133(); + final arg_part = buildUnnamed134(); final arg_hl = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -16925,9 +16988,9 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).videoCategories; - final arg_part = buildUnnamed134(); + final arg_part = buildUnnamed135(); final arg_hl = 'foo'; - final arg_id = buildUnnamed135(); + final arg_id = buildUnnamed136(); final arg_regionCode = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -16997,6 +17060,63 @@ void main() { }); }); + unittest.group('resource-VideoTrainabilityResource', () { + unittest.test('method--get', () async { + final mock = HttpServerMock(); + final res = api.YouTubeApi(mock).videoTrainability; + final arg_id = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 28), + unittest.equals('youtube/v3/videoTrainability'), + ); + pathOffset += 28; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['id']!.first, + unittest.equals(arg_id), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildVideoTrainability()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.get(id: arg_id, $fields: arg_$fields); + checkVideoTrainability(response as api.VideoTrainability); + }); + }); + unittest.group('resource-VideosResource', () { unittest.test('method--delete', () async { final mock = HttpServerMock(); @@ -17062,7 +17182,7 @@ void main() { unittest.test('method--getRating', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).videos; - final arg_id = buildUnnamed136(); + final arg_id = buildUnnamed137(); final arg_onBehalfOfContentOwner = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -17128,7 +17248,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).videos; final arg_request = buildVideo(); - final arg_part = buildUnnamed137(); + final arg_part = buildUnnamed138(); final arg_autoLevels = true; final arg_notifySubscribers = true; final arg_onBehalfOfContentOwner = 'foo'; @@ -17218,10 +17338,10 @@ void main() { unittest.test('method--list', () async { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).videos; - final arg_part = buildUnnamed138(); + final arg_part = buildUnnamed139(); final arg_chart = 'foo'; final arg_hl = 'foo'; - final arg_id = buildUnnamed139(); + final arg_id = buildUnnamed140(); final arg_locale = 'foo'; final arg_maxHeight = 42; final arg_maxResults = 42; @@ -17467,7 +17587,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).videos; final arg_request = buildVideo(); - final arg_part = buildUnnamed140(); + final arg_part = buildUnnamed141(); final arg_onBehalfOfContentOwner = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { @@ -17668,7 +17788,7 @@ void main() { final mock = HttpServerMock(); final res = api.YouTubeApi(mock).youtube.v3; final arg_request = buildCommentThread(); - final arg_part = buildUnnamed141(); + final arg_part = buildUnnamed142(); final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final obj = api.CommentThread.fromJson( diff --git a/generated/googleapis_beta/lib/analyticsadmin/v1alpha.dart b/generated/googleapis_beta/lib/analyticsadmin/v1alpha.dart index 0f73ad722..385675fa0 100644 --- a/generated/googleapis_beta/lib/analyticsadmin/v1alpha.dart +++ b/generated/googleapis_beta/lib/analyticsadmin/v1alpha.dart @@ -503,6 +503,9 @@ class AccountsResource { /// Searches through all changes to an account or its children given the /// specified set of filters. /// + /// Only returns the subset of changes supported by the API. The UI may return + /// additional changes. + /// /// [request] - The metadata request object. /// /// Request parameters: @@ -9617,6 +9620,9 @@ class GoogleAnalyticsAdminV1alphaChangeHistoryChangeChangeHistoryResource { /// A snapshot of a GoogleSignalsSettings resource in change history. GoogleAnalyticsAdminV1alphaGoogleSignalsSettings? googleSignalsSettings; + /// A snapshot of a KeyEvent resource in change history. + GoogleAnalyticsAdminV1alphaKeyEvent? keyEvent; + /// A snapshot of a MeasurementProtocolSecret resource in change history. GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret? measurementProtocolSecret; @@ -9653,6 +9659,7 @@ class GoogleAnalyticsAdminV1alphaChangeHistoryChangeChangeHistoryResource { this.firebaseLink, this.googleAdsLink, this.googleSignalsSettings, + this.keyEvent, this.measurementProtocolSecret, this.property, this.searchAds360Link, @@ -9761,6 +9768,10 @@ class GoogleAnalyticsAdminV1alphaChangeHistoryChangeChangeHistoryResource { json_['googleSignalsSettings'] as core.Map) : null, + keyEvent: json_.containsKey('keyEvent') + ? GoogleAnalyticsAdminV1alphaKeyEvent.fromJson( + json_['keyEvent'] as core.Map) + : null, measurementProtocolSecret: json_ .containsKey('measurementProtocolSecret') ? GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret.fromJson( @@ -9814,6 +9825,7 @@ class GoogleAnalyticsAdminV1alphaChangeHistoryChangeChangeHistoryResource { if (googleAdsLink != null) 'googleAdsLink': googleAdsLink!, if (googleSignalsSettings != null) 'googleSignalsSettings': googleSignalsSettings!, + if (keyEvent != null) 'keyEvent': keyEvent!, if (measurementProtocolSecret != null) 'measurementProtocolSecret': measurementProtocolSecret!, if (property != null) 'property': property!, @@ -13620,9 +13632,12 @@ class GoogleAnalyticsAdminV1alphaSearchChangeHistoryEventsRequest { /// The maximum number of ChangeHistoryEvent items to return. /// - /// The service may return fewer than this value, even if there are additional - /// pages. If unspecified, at most 50 items will be returned. The maximum - /// value is 200 (higher values will be coerced to the maximum). + /// If unspecified, at most 50 items will be returned. The maximum value is + /// 200 (higher values will be coerced to the maximum). Note that the service + /// may return a page with fewer items than this value specifies (potentially + /// even zero), and that there still may be additional pages. If you want a + /// particular number of items, you'll need to continue requesting additional + /// pages using `page_token` until you get the needed number. /// /// Optional. core.int? pageSize; diff --git a/generated/googleapis_beta/lib/analyticsadmin/v1beta.dart b/generated/googleapis_beta/lib/analyticsadmin/v1beta.dart index f00f774ce..b33a5d5f4 100644 --- a/generated/googleapis_beta/lib/analyticsadmin/v1beta.dart +++ b/generated/googleapis_beta/lib/analyticsadmin/v1beta.dart @@ -475,6 +475,9 @@ class AccountsResource { /// Searches through all changes to an account or its children given the /// specified set of filters. /// + /// Only returns the subset of changes supported by the API. The UI may return + /// additional changes. + /// /// [request] - The metadata request object. /// /// Request parameters: @@ -4376,9 +4379,12 @@ class GoogleAnalyticsAdminV1betaSearchChangeHistoryEventsRequest { /// The maximum number of ChangeHistoryEvent items to return. /// - /// The service may return fewer than this value, even if there are additional - /// pages. If unspecified, at most 50 items will be returned. The maximum - /// value is 200 (higher values will be coerced to the maximum). + /// If unspecified, at most 50 items will be returned. The maximum value is + /// 200 (higher values will be coerced to the maximum). Note that the service + /// may return a page with fewer items than this value specifies (potentially + /// even zero), and that there still may be additional pages. If you want a + /// particular number of items, you'll need to continue requesting additional + /// pages using `page_token` until you get the needed number. /// /// Optional. core.int? pageSize; diff --git a/generated/googleapis_beta/lib/cloudsupport/v2beta.dart b/generated/googleapis_beta/lib/cloudsupport/v2beta.dart index d71174e71..ab20b2c3b 100644 --- a/generated/googleapis_beta/lib/cloudsupport/v2beta.dart +++ b/generated/googleapis_beta/lib/cloudsupport/v2beta.dart @@ -686,7 +686,9 @@ class CasesAttachmentsResource { /// /// [pageSize] - The maximum number of attachments fetched with each request. /// If not provided, the default is 10. The maximum page size that will be - /// returned is 100. + /// returned is 100. The size of each page can be smaller than the requested + /// page size and can include zero. For example, you could request 100 + /// attachments on one page, receive 0, and then on the next page, receive 90. /// /// [pageToken] - A token identifying the page of results to return. If /// unspecified, the first page is retrieved. diff --git a/generated/googleapis_beta/lib/dataflow/v1b3.dart b/generated/googleapis_beta/lib/dataflow/v1b3.dart index 749fde943..b0384bec7 100644 --- a/generated/googleapis_beta/lib/dataflow/v1b3.dart +++ b/generated/googleapis_beta/lib/dataflow/v1b3.dart @@ -3141,6 +3141,78 @@ class BigTableIODetails { }; } +/// The message type used for encoding metrics of type bounded trie. +class BoundedTrie { + /// The maximum number of elements to store before truncation. + core.int? bound; + + /// A compact representation of all the elements in this trie. + BoundedTrieNode? root; + + /// A more efficient representation for metrics consisting of a single value. + core.List? singleton; + + BoundedTrie({ + this.bound, + this.root, + this.singleton, + }); + + BoundedTrie.fromJson(core.Map json_) + : this( + bound: json_['bound'] as core.int?, + root: json_.containsKey('root') + ? BoundedTrieNode.fromJson( + json_['root'] as core.Map) + : null, + singleton: (json_['singleton'] as core.List?) + ?.map((value) => value as core.String) + .toList(), + ); + + core.Map toJson() => { + if (bound != null) 'bound': bound!, + if (root != null) 'root': root!, + if (singleton != null) 'singleton': singleton!, + }; +} + +/// A single node in a BoundedTrie. +class BoundedTrieNode { + /// Children of this node. + /// + /// Must be empty if truncated is true. + core.Map? children; + + /// Whether this node has been truncated. + /// + /// A truncated leaf represents possibly many children with the same prefix. + core.bool? truncated; + + BoundedTrieNode({ + this.children, + this.truncated, + }); + + BoundedTrieNode.fromJson(core.Map json_) + : this( + children: + (json_['children'] as core.Map?)?.map( + (key, value) => core.MapEntry( + key, + BoundedTrieNode.fromJson( + value as core.Map), + ), + ), + truncated: json_['truncated'] as core.bool?, + ); + + core.Map toJson() => { + if (children != null) 'children': children!, + if (truncated != null) 'truncated': truncated!, + }; +} + /// `BucketOptions` describes the bucket boundaries used in the histogram. class BucketOptions { /// Bucket boundaries grow exponentially. @@ -3634,10 +3706,15 @@ class CounterStructuredNameAndMetadata { } /// An update to a Counter sent from a worker. +/// +/// Next ID: 17 class CounterUpdate { /// Boolean value for And, Or. core.bool? boolean; + /// Bounded trie data + BoundedTrie? boundedTrie; + /// True if this counter is reported as the total cumulative aggregate value /// accumulated since the worker started working on this WorkItem. /// @@ -3692,6 +3769,7 @@ class CounterUpdate { CounterUpdate({ this.boolean, + this.boundedTrie, this.cumulative, this.distribution, this.floatingPoint, @@ -3711,6 +3789,10 @@ class CounterUpdate { CounterUpdate.fromJson(core.Map json_) : this( boolean: json_['boolean'] as core.bool?, + boundedTrie: json_.containsKey('boundedTrie') + ? BoundedTrie.fromJson( + json_['boundedTrie'] as core.Map) + : null, cumulative: json_['cumulative'] as core.bool?, distribution: json_.containsKey('distribution') ? DistributionUpdate.fromJson( @@ -3761,6 +3843,7 @@ class CounterUpdate { core.Map toJson() => { if (boolean != null) 'boolean': boolean!, + if (boundedTrie != null) 'boundedTrie': boundedTrie!, if (cumulative != null) 'cumulative': cumulative!, if (distribution != null) 'distribution': distribution!, if (floatingPoint != null) 'floatingPoint': floatingPoint!, @@ -4937,6 +5020,11 @@ class FlexTemplateRuntimeEnvironment { /// Additional experiment flags for the job. core.List? additionalExperiments; + /// Additional pipeline option flags for the job. + /// + /// Optional. + core.List? additionalPipelineOptions; + /// Additional user labels to be specified for the job. /// /// Keys and values must follow the restrictions specified in the @@ -5097,6 +5185,7 @@ class FlexTemplateRuntimeEnvironment { FlexTemplateRuntimeEnvironment({ this.additionalExperiments, + this.additionalPipelineOptions, this.additionalUserLabels, this.autoscalingAlgorithm, this.diskSizeGb, @@ -5128,6 +5217,10 @@ class FlexTemplateRuntimeEnvironment { additionalExperiments: (json_['additionalExperiments'] as core.List?) ?.map((value) => value as core.String) .toList(), + additionalPipelineOptions: + (json_['additionalPipelineOptions'] as core.List?) + ?.map((value) => value as core.String) + .toList(), additionalUserLabels: (json_['additionalUserLabels'] as core.Map?) ?.map( @@ -5166,6 +5259,8 @@ class FlexTemplateRuntimeEnvironment { core.Map toJson() => { if (additionalExperiments != null) 'additionalExperiments': additionalExperiments!, + if (additionalPipelineOptions != null) + 'additionalPipelineOptions': additionalPipelineOptions!, if (additionalUserLabels != null) 'additionalUserLabels': additionalUserLabels!, if (autoscalingAlgorithm != null) @@ -7272,13 +7367,21 @@ class MetricUpdate { /// Worker-computed aggregate value for the "Set" aggregation kind. /// /// The only possible value type is a list of Values whose type can be Long, - /// Double, or String, according to the metric's type. All Values in the list - /// must be of the same type. + /// Double, String, or BoundedTrie according to the metric's type. All Values + /// in the list must be of the same type. /// /// The values for Object must be JSON objects. It can consist of `num`, /// `String`, `bool` and `null` as well as `Map` and `List` values. core.Object? set; + /// Worker-computed aggregate value for the "Trie" aggregation kind. + /// + /// The only possible value type is a BoundedTrieNode. + /// + /// The values for Object must be JSON objects. It can consist of `num`, + /// `String`, `bool` and `null` as well as `Map` and `List` values. + core.Object? trie; + /// Timestamp associated with the metric value. /// /// Optional when workers are reporting work progress; it will be filled in @@ -7296,6 +7399,7 @@ class MetricUpdate { this.name, this.scalar, this.set, + this.trie, this.updateTime, }); @@ -7314,6 +7418,7 @@ class MetricUpdate { : null, scalar: json_['scalar'], set: json_['set'], + trie: json_['trie'], updateTime: json_['updateTime'] as core.String?, ); @@ -7328,6 +7433,7 @@ class MetricUpdate { if (name != null) 'name': name!, if (scalar != null) 'scalar': scalar!, if (set != null) 'set': set!, + if (trie != null) 'trie': trie!, if (updateTime != null) 'updateTime': updateTime!, }; } @@ -8617,6 +8723,11 @@ class RuntimeEnvironment { /// Optional. core.List? additionalExperiments; + /// Additional pipeline option flags for the job. + /// + /// Optional. + core.List? additionalPipelineOptions; + /// Additional user labels to be specified for the job. /// /// Keys and values should follow the restrictions specified in the @@ -8766,6 +8877,7 @@ class RuntimeEnvironment { RuntimeEnvironment({ this.additionalExperiments, + this.additionalPipelineOptions, this.additionalUserLabels, this.bypassTempDirValidation, this.diskSizeGb, @@ -8790,6 +8902,10 @@ class RuntimeEnvironment { additionalExperiments: (json_['additionalExperiments'] as core.List?) ?.map((value) => value as core.String) .toList(), + additionalPipelineOptions: + (json_['additionalPipelineOptions'] as core.List?) + ?.map((value) => value as core.String) + .toList(), additionalUserLabels: (json_['additionalUserLabels'] as core.Map?) ?.map( @@ -8820,6 +8936,8 @@ class RuntimeEnvironment { core.Map toJson() => { if (additionalExperiments != null) 'additionalExperiments': additionalExperiments!, + if (additionalPipelineOptions != null) + 'additionalPipelineOptions': additionalPipelineOptions!, if (additionalUserLabels != null) 'additionalUserLabels': additionalUserLabels!, if (bypassTempDirValidation != null) @@ -8930,6 +9048,7 @@ class SDKInfo { /// - "JAVA" : Java. /// - "PYTHON" : Python. /// - "GO" : Go. + /// - "YAML" : YAML. core.String? language; /// The SDK version. @@ -11377,6 +11496,11 @@ class TemplateMetadata { /// Optional. core.bool? supportsExactlyOnce; + /// For future use. + /// + /// Optional. + core.String? yamlDefinition; + TemplateMetadata({ this.defaultStreamingMode, this.description, @@ -11385,6 +11509,7 @@ class TemplateMetadata { this.streaming, this.supportsAtLeastOnce, this.supportsExactlyOnce, + this.yamlDefinition, }); TemplateMetadata.fromJson(core.Map json_) @@ -11399,6 +11524,7 @@ class TemplateMetadata { streaming: json_['streaming'] as core.bool?, supportsAtLeastOnce: json_['supportsAtLeastOnce'] as core.bool?, supportsExactlyOnce: json_['supportsExactlyOnce'] as core.bool?, + yamlDefinition: json_['yamlDefinition'] as core.String?, ); core.Map toJson() => { @@ -11412,6 +11538,7 @@ class TemplateMetadata { 'supportsAtLeastOnce': supportsAtLeastOnce!, if (supportsExactlyOnce != null) 'supportsExactlyOnce': supportsExactlyOnce!, + if (yamlDefinition != null) 'yamlDefinition': yamlDefinition!, }; } diff --git a/generated/googleapis_beta/lib/datalabeling/v1beta1.dart b/generated/googleapis_beta/lib/datalabeling/v1beta1.dart index 0ed06a8fe..7437a006d 100644 --- a/generated/googleapis_beta/lib/datalabeling/v1beta1.dart +++ b/generated/googleapis_beta/lib/datalabeling/v1beta1.dart @@ -290,7 +290,7 @@ class ProjectsDatasetsResource { ProjectsDatasetsResource(commons.ApiRequester client) : _requester = client; - /// Creates dataset. + /// Creates dataset. /// /// If success return a Dataset resource. /// @@ -972,7 +972,7 @@ class ProjectsDatasetsAnnotatedDatasetsFeedbackThreadsResource { response_ as core.Map); } - /// Get a FeedbackThread object. + /// Get a FeedbackThread object. /// /// Request parameters: /// @@ -1465,7 +1465,7 @@ class ProjectsDatasetsImageResource { ProjectsDatasetsImageResource(commons.ApiRequester client) : _requester = client; - /// Starts a labeling task for image. + /// Starts a labeling task for image. /// /// The type of image labeling task is configured by feature in the request. /// @@ -1618,7 +1618,7 @@ class ProjectsEvaluationJobsResource { ProjectsEvaluationJobsResource(commons.ApiRequester client) : _requester = client; - /// Creates an evaluation job. + /// Creates an evaluation job. /// /// [request] - The metadata request object. /// @@ -3408,7 +3408,7 @@ class GoogleCloudDatalabelingV1beta1CreateDatasetRequest { }; } -/// Request message for CreateEvaluationJob. +/// Request message for CreateEvaluationJob. class GoogleCloudDatalabelingV1beta1CreateEvaluationJobRequest { /// The evaluation job to create. /// @@ -5250,7 +5250,7 @@ class GoogleCloudDatalabelingV1beta1Instruction { }; } -/// Request message for starting an image labeling task. +/// Request message for starting an image labeling task. class GoogleCloudDatalabelingV1beta1LabelImageRequest { /// Basic human annotation config. /// @@ -5452,7 +5452,7 @@ class GoogleCloudDatalabelingV1beta1LabelTextRequest { }; } -/// Request message for LabelVideo. +/// Request message for LabelVideo. class GoogleCloudDatalabelingV1beta1LabelVideoRequest { /// Basic human annotation config. /// diff --git a/generated/googleapis_beta/lib/gkehub/v2alpha.dart b/generated/googleapis_beta/lib/gkehub/v2alpha.dart index 38fd10c6c..c5e6e5dd9 100644 --- a/generated/googleapis_beta/lib/gkehub/v2alpha.dart +++ b/generated/googleapis_beta/lib/gkehub/v2alpha.dart @@ -912,14 +912,10 @@ class ConfigManagementBinauthzVersion { /// Configuration for Config Sync class ConfigManagementConfigSync { - /// Set to true to allow the vertical scaling. + /// Configuration for deployment overrides. /// - /// Defaults to false which disallows vertical scaling. This field is - /// deprecated. - @core.Deprecated( - 'Not supported. Member documentation may have more information.', - ) - core.bool? allowVerticalScale; + /// Optional. + core.List? deploymentOverrides; /// Enables the installation of ConfigSync. /// @@ -928,9 +924,13 @@ class ConfigManagementConfigSync { /// ConfigSync fields will be ignored, ConfigSync resources will be deleted. /// If omitted, ConfigSync resources will be managed depends on the presence /// of the git or oci field. + /// + /// Optional. core.bool? enabled; /// Git repo configuration for the cluster. + /// + /// Optional. ConfigManagementGitConfig? git; /// The Email of the Google Cloud Service Account (GSA) used for exporting @@ -944,31 +944,41 @@ class ConfigManagementConfigSync { /// enabled, Google Cloud Service Account is no longer needed for exporting /// Config Sync metrics: /// https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring. + /// + /// Optional. @core.Deprecated( 'Not supported. Member documentation may have more information.', ) core.String? metricsGcpServiceAccountEmail; /// OCI repo configuration for the cluster. + /// + /// Optional. ConfigManagementOciConfig? oci; /// Set to true to enable the Config Sync admission webhook to prevent drifts. /// /// If set to `false`, disables the Config Sync admission webhook and does not /// prevent drifts. + /// + /// Optional. core.bool? preventDrift; /// Specifies whether the Config Sync Repo is in "hierarchical" or /// "unstructured" mode. + /// + /// Optional. core.String? sourceFormat; /// Set to true to stop syncing configs for a single cluster. /// /// Default to false. + /// + /// Optional. core.bool? stopSyncing; ConfigManagementConfigSync({ - this.allowVerticalScale, + this.deploymentOverrides, this.enabled, this.git, this.metricsGcpServiceAccountEmail, @@ -980,7 +990,10 @@ class ConfigManagementConfigSync { ConfigManagementConfigSync.fromJson(core.Map json_) : this( - allowVerticalScale: json_['allowVerticalScale'] as core.bool?, + deploymentOverrides: (json_['deploymentOverrides'] as core.List?) + ?.map((value) => ConfigManagementDeploymentOverride.fromJson( + value as core.Map)) + .toList(), enabled: json_['enabled'] as core.bool?, git: json_.containsKey('git') ? ConfigManagementGitConfig.fromJson( @@ -998,8 +1011,8 @@ class ConfigManagementConfigSync { ); core.Map toJson() => { - if (allowVerticalScale != null) - 'allowVerticalScale': allowVerticalScale!, + if (deploymentOverrides != null) + 'deploymentOverrides': deploymentOverrides!, if (enabled != null) 'enabled': enabled!, if (git != null) 'git': git!, if (metricsGcpServiceAccountEmail != null) @@ -1165,6 +1178,8 @@ class ConfigManagementConfigSyncError { /// State information for ConfigSync. class ConfigManagementConfigSyncState { /// Whether syncing resources to the cluster is stopped at the cluster level. + /// + /// Output only. /// Possible string values are: /// - "STOP_SYNCING_STATE_UNSPECIFIED" : State cannot be determined /// - "NOT_STOPPED" : Syncing resources to the cluster is not stopped at the @@ -1183,12 +1198,18 @@ class ConfigManagementConfigSyncState { /// Information about the deployment of ConfigSync, including the version. /// /// of the various Pods deployed + /// + /// Output only. ConfigManagementConfigSyncDeploymentState? deploymentState; /// Errors pertaining to the installation of Config Sync. + /// + /// Output only. core.List? errors; /// The state of the Reposync CRD + /// + /// Output only. /// Possible string values are: /// - "CRD_STATE_UNSPECIFIED" : CRD's state cannot be determined /// - "NOT_INSTALLED" : CRD is not installed @@ -1199,6 +1220,8 @@ class ConfigManagementConfigSyncState { core.String? reposyncCrd; /// The state of the RootSync CRD + /// + /// Output only. /// Possible string values are: /// - "CRD_STATE_UNSPECIFIED" : CRD's state cannot be determined /// - "NOT_INSTALLED" : CRD is not installed @@ -1209,6 +1232,8 @@ class ConfigManagementConfigSyncState { core.String? rootsyncCrd; /// The state of CS This field summarizes the other fields in this message. + /// + /// Output only. /// Possible string values are: /// - "STATE_UNSPECIFIED" : CS's state cannot be determined. /// - "CONFIG_SYNC_NOT_INSTALLED" : CS is not installed. @@ -1219,9 +1244,13 @@ class ConfigManagementConfigSyncState { core.String? state; /// The state of ConfigSync's process to sync configs to a cluster. + /// + /// Output only. ConfigManagementSyncState? syncState; /// The version of ConfigSync deployed. + /// + /// Output only. ConfigManagementConfigSyncVersion? version; ConfigManagementConfigSyncState({ @@ -1346,6 +1375,100 @@ class ConfigManagementConfigSyncVersion { }; } +/// Configuration for a container override. +class ConfigManagementContainerOverride { + /// The name of the container. + /// + /// Required. + core.String? containerName; + + /// The cpu limit of the container. + /// + /// Optional. + core.String? cpuLimit; + + /// The cpu request of the container. + /// + /// Optional. + core.String? cpuRequest; + + /// The memory limit of the container. + /// + /// Optional. + core.String? memoryLimit; + + /// The memory request of the container. + /// + /// Optional. + core.String? memoryRequest; + + ConfigManagementContainerOverride({ + this.containerName, + this.cpuLimit, + this.cpuRequest, + this.memoryLimit, + this.memoryRequest, + }); + + ConfigManagementContainerOverride.fromJson(core.Map json_) + : this( + containerName: json_['containerName'] as core.String?, + cpuLimit: json_['cpuLimit'] as core.String?, + cpuRequest: json_['cpuRequest'] as core.String?, + memoryLimit: json_['memoryLimit'] as core.String?, + memoryRequest: json_['memoryRequest'] as core.String?, + ); + + core.Map toJson() => { + if (containerName != null) 'containerName': containerName!, + if (cpuLimit != null) 'cpuLimit': cpuLimit!, + if (cpuRequest != null) 'cpuRequest': cpuRequest!, + if (memoryLimit != null) 'memoryLimit': memoryLimit!, + if (memoryRequest != null) 'memoryRequest': memoryRequest!, + }; +} + +/// Configuration for a deployment override. +class ConfigManagementDeploymentOverride { + /// The containers of the deployment resource to be overridden. + /// + /// Optional. + core.List? containers; + + /// The name of the deployment resource to be overridden. + /// + /// Required. + core.String? deploymentName; + + /// The namespace of the deployment resource to be overridden.. + /// + /// Required. + core.String? deploymentNamespace; + + ConfigManagementDeploymentOverride({ + this.containers, + this.deploymentName, + this.deploymentNamespace, + }); + + ConfigManagementDeploymentOverride.fromJson(core.Map json_) + : this( + containers: (json_['containers'] as core.List?) + ?.map((value) => ConfigManagementContainerOverride.fromJson( + value as core.Map)) + .toList(), + deploymentName: json_['deploymentName'] as core.String?, + deploymentNamespace: json_['deploymentNamespace'] as core.String?, + ); + + core.Map toJson() => { + if (containers != null) 'containers': containers!, + if (deploymentName != null) 'deploymentName': deploymentName!, + if (deploymentNamespace != null) + 'deploymentNamespace': deploymentNamespace!, + }; +} + /// Model for a config file in the git repo with an associated Sync error. class ConfigManagementErrorResource { /// Group/version/kind of the resource that is causing an error @@ -1445,39 +1568,55 @@ class ConfigManagementGatekeeperDeploymentState { class ConfigManagementGitConfig { /// The Google Cloud Service Account Email used for auth when secret_type is /// gcpServiceAccount. + /// + /// Optional. core.String? gcpServiceAccountEmail; /// URL for the HTTPS proxy to be used when communicating with the Git repo. + /// + /// Optional. core.String? httpsProxy; /// The path within the Git repository that represents the top level of the /// repo to sync. /// /// Default: the root directory of the repository. + /// + /// Optional. core.String? policyDir; /// Type of secret configured for access to the Git repo. /// - /// Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. - /// The validation of this is case-sensitive. Required. + /// Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount, + /// githubapp or none. The validation of this is case-sensitive. + /// + /// Required. core.String? secretType; /// The branch of the repository to sync from. /// /// Default: master. + /// + /// Optional. core.String? syncBranch; /// The URL of the Git repository to use as the source of truth. + /// + /// Required. core.String? syncRepo; /// Git revision (tag or hash) to check out. /// /// Default HEAD. + /// + /// Optional. core.String? syncRev; /// Period in seconds between consecutive syncs. /// /// Default: 15. + /// + /// Optional. core.String? syncWaitSecs; ConfigManagementGitConfig({ @@ -1701,24 +1840,37 @@ class ConfigManagementInstallError { class ConfigManagementOciConfig { /// The Google Cloud Service Account Email used for auth when secret_type is /// gcpServiceAccount. + /// + /// Optional. core.String? gcpServiceAccountEmail; /// The absolute path of the directory that contains the local resources. /// /// Default: the root directory of the image. + /// + /// Optional. core.String? policyDir; - /// Type of secret configured for access to the Git repo. + /// Type of secret configured for access to the OCI repo. + /// + /// Must be one of gcenode, gcpserviceaccount, k8sserviceaccount or none. The + /// validation of this is case-sensitive. + /// + /// Required. core.String? secretType; /// The OCI image repository URL for the package to sync from. /// /// e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. + /// + /// Required. core.String? syncRepo; /// Period in seconds between consecutive syncs. /// /// Default: 15. + /// + /// Optional. core.String? syncWaitSecs; ConfigManagementOciConfig({ @@ -1986,6 +2138,8 @@ class ConfigManagementSpec { /// Binauthz conifguration for the cluster. /// /// Deprecated: This field will be ignored and should not be set. + /// + /// Optional. @core.Deprecated( 'Not supported. Member documentation may have more information.', ) @@ -1999,9 +2153,13 @@ class ConfigManagementSpec { /// Sync cluster-name-selector annotation or ClusterSelector. Set this field /// if a name different from the cluster's fleet membership name is used by /// Config Sync cluster-name-selector annotation or ClusterSelector. + /// + /// Optional. core.String? cluster; /// Config Sync configuration for the cluster. + /// + /// Optional. ConfigManagementConfigSync? configSync; /// Hierarchy Controller configuration for the cluster. @@ -2009,9 +2167,16 @@ class ConfigManagementSpec { /// Deprecated: Configuring Hierarchy Controller through the configmanagement /// feature is no longer recommended. Use /// https://github.com/kubernetes-sigs/hierarchical-namespaces instead. + /// + /// Optional. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) ConfigManagementHierarchyControllerConfig? hierarchyController; /// Enables automatic Feature management. + /// + /// Optional. /// Possible string values are: /// - "MANAGEMENT_UNSPECIFIED" : Unspecified /// - "MANAGEMENT_AUTOMATIC" : Google will manage the Feature for the cluster. @@ -2024,9 +2189,16 @@ class ConfigManagementSpec { /// Deprecated: Configuring Policy Controller through the configmanagement /// feature is no longer recommended. Use the policycontroller feature /// instead. + /// + /// Optional. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) ConfigManagementPolicyController? policyController; /// Version of ACM installed. + /// + /// Optional. core.String? version; ConfigManagementSpec({ @@ -2079,30 +2251,44 @@ class ConfigManagementSpec { /// **Anthos Config Management**: State for a single cluster. class ConfigManagementState { /// Binauthz status. + /// + /// Output only. ConfigManagementBinauthzState? binauthzState; /// This field is set to the `cluster_name` field of the Membership Spec if it /// is not empty. /// /// Otherwise, it is set to the cluster's fleet membership name. + /// + /// Output only. core.String? clusterName; /// Current sync status. + /// + /// Output only. ConfigManagementConfigSyncState? configSyncState; /// Hierarchy Controller status. + /// + /// Output only. ConfigManagementHierarchyControllerState? hierarchyControllerState; /// Membership configuration in the cluster. /// /// This represents the actual state in the cluster, while the MembershipSpec /// in the FeatureSpec represents the intended state. + /// + /// Output only. ConfigManagementSpec? membershipSpec; /// Current install status of ACM's Operator. + /// + /// Output only. ConfigManagementOperatorState? operatorState; /// PolicyController status. + /// + /// Output only. ConfigManagementPolicyControllerState? policyControllerState; ConfigManagementState({ @@ -4376,6 +4562,7 @@ class ServiceMeshCondition { /// - "CNI_INSTALLATION_FAILED" : CNI installation failed error code /// - "CNI_POD_UNSCHEDULABLE" : CNI pod unschedulable error code /// - "CLUSTER_HAS_ZERO_NODES" : Cluster has zero node code + /// - "CANONICAL_SERVICE_ERROR" : Failure to reconcile CanonicalServices /// - "UNSUPPORTED_MULTIPLE_CONTROL_PLANES" : Multiple control planes /// unsupported error code /// - "VPCSC_GA_SUPPORTED" : VPC-SC GA is supported for this control plane. @@ -4417,6 +4604,8 @@ class ServiceMeshCondition { /// cluster. /// - "MODERNIZATION_COMPLETED" : Modernization is completed for a cluster. /// - "MODERNIZATION_ABORTED" : Modernization is aborted for a cluster. + /// - "MODERNIZATION_WILL_BE_SCHEDULED" : Modernization will be scheduled for + /// a fleet. core.String? code; /// A short summary about the issue. diff --git a/generated/googleapis_beta/lib/shared.dart b/generated/googleapis_beta/lib/shared.dart index 7bffbe07e..982453abc 100644 --- a/generated/googleapis_beta/lib/shared.dart +++ b/generated/googleapis_beta/lib/shared.dart @@ -581,17 +581,19 @@ class $CustomMetric { /// - analyticsadmin:v1beta : GoogleAnalyticsAdminV1betaDataRetentionSettings class $DataRetentionSettings { /// The length of time that event-level data is retained. + /// + /// Required. /// Possible string values are: /// - "RETENTION_DURATION_UNSPECIFIED" : Data retention time duration is not /// specified. /// - "TWO_MONTHS" : The data retention time duration is 2 months. /// - "FOURTEEN_MONTHS" : The data retention time duration is 14 months. /// - "TWENTY_SIX_MONTHS" : The data retention time duration is 26 months. - /// Available to 360 properties only. + /// Available to 360 properties only. Available for event data only. /// - "THIRTY_EIGHT_MONTHS" : The data retention time duration is 38 months. - /// Available to 360 properties only. + /// Available to 360 properties only. Available for event data only. /// - "FIFTY_MONTHS" : The data retention time duration is 50 months. - /// Available to 360 properties only. + /// Available to 360 properties only. Available for event data only. core.String? eventDataRetention; /// Resource name for this DataRetentionSetting resource. @@ -605,10 +607,27 @@ class $DataRetentionSettings { /// event from that user. core.bool? resetUserDataOnNewActivity; + /// The length of time that user-level data is retained. + /// + /// Required. + /// Possible string values are: + /// - "RETENTION_DURATION_UNSPECIFIED" : Data retention time duration is not + /// specified. + /// - "TWO_MONTHS" : The data retention time duration is 2 months. + /// - "FOURTEEN_MONTHS" : The data retention time duration is 14 months. + /// - "TWENTY_SIX_MONTHS" : The data retention time duration is 26 months. + /// Available to 360 properties only. Available for event data only. + /// - "THIRTY_EIGHT_MONTHS" : The data retention time duration is 38 months. + /// Available to 360 properties only. Available for event data only. + /// - "FIFTY_MONTHS" : The data retention time duration is 50 months. + /// Available to 360 properties only. Available for event data only. + core.String? userDataRetention; + $DataRetentionSettings({ this.eventDataRetention, this.name, this.resetUserDataOnNewActivity, + this.userDataRetention, }); $DataRetentionSettings.fromJson(core.Map json_) @@ -617,6 +636,7 @@ class $DataRetentionSettings { name: json_['name'] as core.String?, resetUserDataOnNewActivity: json_['resetUserDataOnNewActivity'] as core.bool?, + userDataRetention: json_['userDataRetention'] as core.String?, ); core.Map toJson() => { @@ -625,6 +645,7 @@ class $DataRetentionSettings { if (name != null) 'name': name!, if (resetUserDataOnNewActivity != null) 'resetUserDataOnNewActivity': resetUserDataOnNewActivity!, + if (userDataRetention != null) 'userDataRetention': userDataRetention!, }; } @@ -641,25 +662,48 @@ class $DataSharingSettings { /// Output only. core.String? name; - /// Allows any of Google sales to access the data in order to suggest - /// configuration changes to improve results. + /// This field is no longer used and always returns false. + /// + /// Deprecated. + @core.Deprecated( + 'Not supported. Member documentation may have more information.', + ) core.bool? sharingWithGoogleAnySalesEnabled; - /// Allows Google sales teams that are assigned to the customer to access the - /// data in order to suggest configuration changes to improve results. + /// Allows Google access to your Google Analytics account data, including + /// account usage and configuration data, product spending, and users + /// associated with your Google Analytics account, so that Google can help you + /// make the most of Google products, providing you with insights, offers, + /// recommendations, and optimization tips across Google Analytics and other + /// Google products for business. /// - /// Sales team restrictions still apply when enabled. + /// This field maps to the "Recommendations for your business" field in the + /// Google Analytics Admin UI. core.bool? sharingWithGoogleAssignedSalesEnabled; /// Allows Google to use the data to improve other Google products or /// services. + /// + /// This fields maps to the "Google products & services" field in the Google + /// Analytics Admin UI. core.bool? sharingWithGoogleProductsEnabled; - /// Allows Google support to access the data in order to help troubleshoot - /// issues. + /// Allows Google technical support representatives access to your Google + /// Analytics data and account when necessary to provide service and find + /// solutions to technical issues. + /// + /// This field maps to the "Technical support" field in the Google Analytics + /// Admin UI. core.bool? sharingWithGoogleSupportEnabled; - /// Allows Google to share the data anonymously in aggregate form with others. + /// Enable features like predictions, modeled data, and benchmarking that can + /// provide you with richer business insights when you contribute aggregated + /// measurement data. + /// + /// The data you share (including information about the property from which it + /// is shared) is aggregated and de-identified before being used to generate + /// business insights. This field maps to the "Modeling contributions & + /// business insights" field in the Google Analytics Admin UI. core.bool? sharingWithOthersEnabled; $DataSharingSettings({ diff --git a/generated/googleapis_beta/lib/sqladmin/v1beta4.dart b/generated/googleapis_beta/lib/sqladmin/v1beta4.dart index 50e93805e..c8472e900 100644 --- a/generated/googleapis_beta/lib/sqladmin/v1beta4.dart +++ b/generated/googleapis_beta/lib/sqladmin/v1beta4.dart @@ -21,6 +21,7 @@ /// Create an instance of [SQLAdminApi] to access these resources: /// /// - [BackupRunsResource] +/// - [BackupsResource] /// - [ConnectResource] /// - [DatabasesResource] /// - [FlagsResource] @@ -60,6 +61,7 @@ class SQLAdminApi { final commons.ApiRequester _requester; BackupRunsResource get backupRuns => BackupRunsResource(_requester); + BackupsResource get backups => BackupsResource(_requester); ConnectResource get connect => ConnectResource(_requester); DatabasesResource get databases => DatabasesResource(_requester); FlagsResource get flags => FlagsResource(_requester); @@ -276,6 +278,234 @@ class BackupRunsResource { } } +class BackupsResource { + final commons.ApiRequester _requester; + + BackupsResource(commons.ApiRequester client) : _requester = client; + + /// Creates a backup for a Cloud SQL instance. + /// + /// This API can be used only to create on-demand backups. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [parent] - Required. The parent resource where this backup is created. + /// Format: projects/{project} + /// Value must have pattern `^projects/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future createBackup( + Backup request, + core.String parent, { + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'sql/v1beta4/' + core.Uri.encodeFull('$parent') + '/backups'; + + final response_ = await _requester.request( + url_, + 'POST', + body: body_, + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } + + /// Deletes the backup. + /// + /// Request parameters: + /// + /// [name] - Required. The name of the backup to delete. Format: + /// projects/{project}/backups/{backup} + /// Value must have pattern `^projects/\[^/\]+/backups/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future deleteBackup( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'sql/v1beta4/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'DELETE', + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } + + /// Retrieves a resource containing information about a backup. + /// + /// Request parameters: + /// + /// [name] - Required. The name of the backup to retrieve. Format: + /// projects/{project}/backups/{backup} + /// Value must have pattern `^projects/\[^/\]+/backups/\[^/\]+$`. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Backup]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future getBackup( + core.String name, { + core.String? $fields, + }) async { + final queryParams_ = >{ + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'sql/v1beta4/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return Backup.fromJson(response_ as core.Map); + } + + /// Lists all backups associated with the project. + /// + /// Request parameters: + /// + /// [parent] - Required. The parent that owns this collection of backups. + /// Format: projects/{project} + /// Value must have pattern `^projects/\[^/\]+$`. + /// + /// [filter] - Multiple filter queries are separated by spaces. For example, + /// 'instance:abc AND type:FINAL, 'location:us', + /// 'backupInterval.startTime\>=1950-01-01T01:01:25.771Z'. You can filter by + /// type, instance, backupInterval.startTime (creation time), or location. + /// + /// [pageSize] - The maximum number of backups to return per response. The + /// service might return fewer backups than this value. If a value for this + /// parameter isn't specified, then, at most, 500 backups are returned. The + /// maximum value is 2,000. Any values that you set, which are greater than + /// 2,000, are changed to 2,000. + /// + /// [pageToken] - A page token, received from a previous `ListBackups` call. + /// Provide this to retrieve the subsequent page. When paginating, all other + /// parameters provided to `ListBackups` must match the call that provided the + /// page token. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [ListBackupsResponse]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future listBackups( + core.String parent, { + core.String? filter, + core.int? pageSize, + core.String? pageToken, + core.String? $fields, + }) async { + final queryParams_ = >{ + if (filter != null) 'filter': [filter], + if (pageSize != null) 'pageSize': ['${pageSize}'], + if (pageToken != null) 'pageToken': [pageToken], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'sql/v1beta4/' + core.Uri.encodeFull('$parent') + '/backups'; + + final response_ = await _requester.request( + url_, + 'GET', + queryParams: queryParams_, + ); + return ListBackupsResponse.fromJson( + response_ as core.Map); + } + + /// Updates the retention period and the description of the backup. + /// + /// You can use this API to update final backups only. + /// + /// [request] - The metadata request object. + /// + /// Request parameters: + /// + /// [name] - Output only. The resource name of the backup. Format: + /// projects/{project}/backups/{backup}. + /// Value must have pattern `^projects/\[^/\]+/backups/\[^/\]+$`. + /// + /// [updateMask] - The list of fields that you can update. You can update only + /// the description and retention period of the final backup. + /// + /// [$fields] - Selector specifying which fields to include in a partial + /// response. + /// + /// Completes with a [Operation]. + /// + /// Completes with a [commons.ApiRequestError] if the API endpoint returned an + /// error. + /// + /// If the used [http.Client] completes with an error when making a REST call, + /// this method will complete with the same error. + async.Future updateBackup( + Backup request, + core.String name, { + core.String? updateMask, + core.String? $fields, + }) async { + final body_ = convert.json.encode(request); + final queryParams_ = >{ + if (updateMask != null) 'updateMask': [updateMask], + if ($fields != null) 'fields': [$fields], + }; + + final url_ = 'sql/v1beta4/' + core.Uri.encodeFull('$name'); + + final response_ = await _requester.request( + url_, + 'PATCH', + body: body_, + queryParams: queryParams_, + ); + return Operation.fromJson(response_ as core.Map); + } +} + class ConnectResource { final commons.ApiRequester _requester; @@ -1033,6 +1263,16 @@ class InstancesResource { /// /// [instance] - Cloud SQL instance ID. This does not include the project ID. /// + /// [enableFinalBackup] - Flag to opt-in for final backup. By default, it is + /// turned off. + /// + /// [finalBackupDescription] - Optional. The description of the final backup. + /// + /// [finalBackupExpiryTime] - Optional. Final Backup expiration time. + /// Timestamp in UTC of when this resource is considered expired. + /// + /// [finalBackupTtlDays] - Optional. Retention period of the final backup. + /// /// [$fields] - Selector specifying which fields to include in a partial /// response. /// @@ -1046,9 +1286,21 @@ class InstancesResource { async.Future delete( core.String project, core.String instance, { + core.bool? enableFinalBackup, + core.String? finalBackupDescription, + core.String? finalBackupExpiryTime, + core.String? finalBackupTtlDays, core.String? $fields, }) async { final queryParams_ = >{ + if (enableFinalBackup != null) + 'enableFinalBackup': ['${enableFinalBackup}'], + if (finalBackupDescription != null) + 'finalBackupDescription': [finalBackupDescription], + if (finalBackupExpiryTime != null) + 'finalBackupExpiryTime': [finalBackupExpiryTime], + if (finalBackupTtlDays != null) + 'finalBackupTtlDays': [finalBackupTtlDays], if ($fields != null) 'fields': [$fields], }; @@ -3278,6 +3530,240 @@ class AvailableDatabaseVersion { }; } +/// A backup resource. +class Backup { + /// This output contains the following values: start_time: All database writes + /// up to this time are available. + /// + /// end_time: Any database writes after this time aren't available. + /// + /// Output only. + Interval? backupInterval; + + /// Specifies the kind of backup, PHYSICAL or DEFAULT_SNAPSHOT. + /// + /// Output only. + /// Possible string values are: + /// - "SQL_BACKUP_KIND_UNSPECIFIED" : This is an unknown BackupKind. + /// - "SNAPSHOT" : Snapshot-based backups. + /// - "PHYSICAL" : Physical backups. + core.String? backupKind; + + /// The mapping to backup run resource used for IAM validations. + /// + /// Output only. + core.String? backupRun; + + /// The description of this backup. + core.String? description; + + /// Information about why the backup operation fails (for example, when the + /// backup state fails). + /// + /// Output only. + OperationError? error; + + /// Backup expiration time. + /// + /// A UTC timestamp of when this resource expired. + core.String? expiryTime; + + /// The name of the database instance. + core.String? instance; + + /// Timestamp in UTC of when the instance associated with this backup is + /// deleted. + /// + /// Optional. Output only. + core.String? instanceDeletionTime; + + /// Instance setting of the source instance that's associated with this + /// backup. + /// + /// Optional. Output only. + DatabaseInstance? instanceSettings; + + /// This is always `sql#backup`. + /// + /// Output only. + core.String? kind; + + /// This output contains the encryption configuration for a backup and the + /// resource name of the KMS key for disk encryption. + /// + /// Output only. + core.String? kmsKey; + + /// This output contains the encryption status for a backup and the version of + /// the KMS key that's used to encrypt the Cloud SQL instance. + /// + /// Output only. + core.String? kmsKeyVersion; + + /// The storage location of the backups. + /// + /// The location can be multi-regional. + core.String? location; + + /// The maximum chargeable bytes for the backup. + /// + /// Output only. + core.String? maxChargeableBytes; + + /// The resource name of the backup. + /// + /// Format: projects/{project}/backups/{backup}. + /// + /// Output only. + core.String? name; + + /// This status indicates whether the backup satisfies PZI. + /// + /// The status is reserved for future use. + /// + /// Output only. + core.bool? satisfiesPzi; + + /// This status indicates whether the backup satisfies PZS. + /// + /// The status is reserved for future use. + /// + /// Output only. + core.bool? satisfiesPzs; + + /// The URI of this resource. + /// + /// Output only. + core.String? selfLink; + + /// The state of this backup. + /// + /// Output only. + /// Possible string values are: + /// - "SQL_BACKUP_STATE_UNSPECIFIED" : The state of the backup is unknown. + /// - "ENQUEUED" : The backup that's added to a queue. + /// - "RUNNING" : The backup is in progress. + /// - "FAILED" : The backup failed. + /// - "SUCCESSFUL" : The backup is successful. + /// - "DELETING" : The backup is being deleted. + /// - "DELETION_FAILED" : Deletion of the backup failed. + core.String? state; + + /// This output contains a backup time zone. + /// + /// If a Cloud SQL for SQL Server instance has a different time zone from the + /// backup's time zone, then the restore to the instance doesn't happen. + /// + /// Output only. + core.String? timeZone; + + /// Input only. + /// + /// The time-to-live (TTL) interval for this resource (in days). For example: + /// ttlDays:7, means 7 days from the current time. The expiration time can't + /// exceed 365 days from the time that the backup is created. + core.String? ttlDays; + + /// The type of this backup. + /// + /// The type can be "AUTOMATED", "ON_DEMAND", or “FINAL”. + /// + /// Output only. + /// Possible string values are: + /// - "SQL_BACKUP_TYPE_UNSPECIFIED" : This is an unknown backup type. + /// - "AUTOMATED" : The backup schedule triggers a backup automatically. + /// - "ON_DEMAND" : The user triggers a backup manually. + /// - "FINAL" : The backup that's created when the instance is deleted. + core.String? type; + + Backup({ + this.backupInterval, + this.backupKind, + this.backupRun, + this.description, + this.error, + this.expiryTime, + this.instance, + this.instanceDeletionTime, + this.instanceSettings, + this.kind, + this.kmsKey, + this.kmsKeyVersion, + this.location, + this.maxChargeableBytes, + this.name, + this.satisfiesPzi, + this.satisfiesPzs, + this.selfLink, + this.state, + this.timeZone, + this.ttlDays, + this.type, + }); + + Backup.fromJson(core.Map json_) + : this( + backupInterval: json_.containsKey('backupInterval') + ? Interval.fromJson(json_['backupInterval'] + as core.Map) + : null, + backupKind: json_['backupKind'] as core.String?, + backupRun: json_['backupRun'] as core.String?, + description: json_['description'] as core.String?, + error: json_.containsKey('error') + ? OperationError.fromJson( + json_['error'] as core.Map) + : null, + expiryTime: json_['expiryTime'] as core.String?, + instance: json_['instance'] as core.String?, + instanceDeletionTime: json_['instanceDeletionTime'] as core.String?, + instanceSettings: json_.containsKey('instanceSettings') + ? DatabaseInstance.fromJson(json_['instanceSettings'] + as core.Map) + : null, + kind: json_['kind'] as core.String?, + kmsKey: json_['kmsKey'] as core.String?, + kmsKeyVersion: json_['kmsKeyVersion'] as core.String?, + location: json_['location'] as core.String?, + maxChargeableBytes: json_['maxChargeableBytes'] as core.String?, + name: json_['name'] as core.String?, + satisfiesPzi: json_['satisfiesPzi'] as core.bool?, + satisfiesPzs: json_['satisfiesPzs'] as core.bool?, + selfLink: json_['selfLink'] as core.String?, + state: json_['state'] as core.String?, + timeZone: json_['timeZone'] as core.String?, + ttlDays: json_['ttlDays'] as core.String?, + type: json_['type'] as core.String?, + ); + + core.Map toJson() => { + if (backupInterval != null) 'backupInterval': backupInterval!, + if (backupKind != null) 'backupKind': backupKind!, + if (backupRun != null) 'backupRun': backupRun!, + if (description != null) 'description': description!, + if (error != null) 'error': error!, + if (expiryTime != null) 'expiryTime': expiryTime!, + if (instance != null) 'instance': instance!, + if (instanceDeletionTime != null) + 'instanceDeletionTime': instanceDeletionTime!, + if (instanceSettings != null) 'instanceSettings': instanceSettings!, + if (kind != null) 'kind': kind!, + if (kmsKey != null) 'kmsKey': kmsKey!, + if (kmsKeyVersion != null) 'kmsKeyVersion': kmsKeyVersion!, + if (location != null) 'location': location!, + if (maxChargeableBytes != null) + 'maxChargeableBytes': maxChargeableBytes!, + if (name != null) 'name': name!, + if (satisfiesPzi != null) 'satisfiesPzi': satisfiesPzi!, + if (satisfiesPzs != null) 'satisfiesPzs': satisfiesPzs!, + if (selfLink != null) 'selfLink': selfLink!, + if (state != null) 'state': state!, + if (timeZone != null) 'timeZone': timeZone!, + if (ttlDays != null) 'ttlDays': ttlDays!, + if (type != null) 'type': type!, + }; +} + /// Database instance backup configuration. class BackupConfiguration { /// Backup retention settings. @@ -3391,20 +3877,28 @@ class BackupContext { /// This is always `sql#backupContext`. core.String? kind; + /// The name of the backup. + /// + /// Format: projects/{project}/backups/{backup} + core.String? name; + BackupContext({ this.backupId, this.kind, + this.name, }); BackupContext.fromJson(core.Map json_) : this( backupId: json_['backupId'] as core.String?, kind: json_['kind'] as core.String?, + name: json_['name'] as core.String?, ); core.Map toJson() => { if (backupId != null) 'backupId': backupId!, if (kind != null) 'kind': kind!, + if (name != null) 'name': name!, }; } @@ -3928,6 +4422,11 @@ class ConnectSettings { /// The dns name of the instance. core.String? dnsName; + /// The list of DNS names used by this instance. + /// + /// Output only. + core.List? dnsNames; + /// The assigned IP addresses for the instance. core.List? ipAddresses; @@ -3953,6 +4452,8 @@ class ConnectSettings { /// - "GOOGLE_MANAGED_INTERNAL_CA" : Google-managed self-signed internal CA. /// - "GOOGLE_MANAGED_CAS_CA" : Google-managed regional CA part of root CA /// hierarchy hosted on Google Cloud's Certificate Authority Service (CAS). + /// - "CUSTOMER_MANAGED_CAS_CA" : Customer-managed CA hosted on Google Cloud's + /// Certificate Authority Service (CAS). core.String? serverCaMode; ConnectSettings({ @@ -3960,6 +4461,7 @@ class ConnectSettings { this.customSubjectAlternativeNames, this.databaseVersion, this.dnsName, + this.dnsNames, this.ipAddresses, this.kind, this.pscEnabled, @@ -3977,6 +4479,10 @@ class ConnectSettings { .toList(), databaseVersion: json_['databaseVersion'] as core.String?, dnsName: json_['dnsName'] as core.String?, + dnsNames: (json_['dnsNames'] as core.List?) + ?.map((value) => DnsNameMapping.fromJson( + value as core.Map)) + .toList(), ipAddresses: (json_['ipAddresses'] as core.List?) ?.map((value) => IpMapping.fromJson( value as core.Map)) @@ -3997,6 +4503,7 @@ class ConnectSettings { 'customSubjectAlternativeNames': customSubjectAlternativeNames!, if (databaseVersion != null) 'databaseVersion': databaseVersion!, if (dnsName != null) 'dnsName': dnsName!, + if (dnsNames != null) 'dnsNames': dnsNames!, if (ipAddresses != null) 'ipAddresses': ipAddresses!, if (kind != null) 'kind': kind!, if (pscEnabled != null) 'pscEnabled': pscEnabled!, @@ -4308,6 +4815,11 @@ class DatabaseInstance { /// Output only. core.String? dnsName; + /// The list of DNS names used by this instance. + /// + /// Output only. + core.List? dnsNames; + /// This field is deprecated and will be removed from a future version of the /// API. /// @@ -4327,6 +4839,12 @@ class DatabaseInstance { /// Gemini instance configuration. GeminiInstanceConfig? geminiConfig; + /// Input only. + /// + /// Determines whether an in-place major version upgrade of replicas happens + /// when an in-place major version upgrade of a primary instance is initiated. + core.bool? includeReplicasForMajorVersionUpgrade; + /// The instance type. /// Possible string values are: /// - "SQL_INSTANCE_TYPE_UNSPECIFIED" : This is an unknown Cloud SQL instance @@ -4528,10 +5046,12 @@ class DatabaseInstance { this.diskEncryptionConfiguration, this.diskEncryptionStatus, this.dnsName, + this.dnsNames, this.etag, this.failoverReplica, this.gceZone, this.geminiConfig, + this.includeReplicasForMajorVersionUpgrade, this.instanceType, this.ipAddresses, this.ipv6Address, @@ -4591,6 +5111,10 @@ class DatabaseInstance { as core.Map) : null, dnsName: json_['dnsName'] as core.String?, + dnsNames: (json_['dnsNames'] as core.List?) + ?.map((value) => DnsNameMapping.fromJson( + value as core.Map)) + .toList(), etag: json_['etag'] as core.String?, failoverReplica: json_.containsKey('failoverReplica') ? DatabaseInstanceFailoverReplica.fromJson( @@ -4602,6 +5126,8 @@ class DatabaseInstance { ? GeminiInstanceConfig.fromJson( json_['geminiConfig'] as core.Map) : null, + includeReplicasForMajorVersionUpgrade: + json_['includeReplicasForMajorVersionUpgrade'] as core.bool?, instanceType: json_['instanceType'] as core.String?, ipAddresses: (json_['ipAddresses'] as core.List?) ?.map((value) => IpMapping.fromJson( @@ -4694,10 +5220,14 @@ class DatabaseInstance { if (diskEncryptionStatus != null) 'diskEncryptionStatus': diskEncryptionStatus!, if (dnsName != null) 'dnsName': dnsName!, + if (dnsNames != null) 'dnsNames': dnsNames!, if (etag != null) 'etag': etag!, if (failoverReplica != null) 'failoverReplica': failoverReplica!, if (gceZone != null) 'gceZone': gceZone!, if (geminiConfig != null) 'geminiConfig': geminiConfig!, + if (includeReplicasForMajorVersionUpgrade != null) + 'includeReplicasForMajorVersionUpgrade': + includeReplicasForMajorVersionUpgrade!, if (instanceType != null) 'instanceType': instanceType!, if (ipAddresses != null) 'ipAddresses': ipAddresses!, if (ipv6Address != null) 'ipv6Address': ipv6Address!, @@ -4913,7 +5443,7 @@ class DemoteMasterMySqlReplicaConfiguration { /// PEM representation of the replica's private key. /// - /// The corresponsing public key is encoded in the client's certificate. The + /// The corresponding public key is encoded in the client's certificate. The /// format of the replica's private key can be either PKCS #1 or PKCS #8. core.String? clientKey; @@ -5051,6 +5581,49 @@ class DiskEncryptionStatus { }; } +/// DNS metadata. +class DnsNameMapping { + /// The connection type of the DNS name. + /// + /// Output only. + /// Possible string values are: + /// - "CONNECTION_TYPE_UNSPECIFIED" : Unknown connection type. + /// - "PUBLIC" : Public IP. + /// - "PRIVATE_SERVICES_ACCESS" : Private services access (private IP). + /// - "PRIVATE_SERVICE_CONNECT" : Private Service Connect. + core.String? connectionType; + + /// The scope that the DNS name applies to. + /// + /// Output only. + /// Possible string values are: + /// - "DNS_SCOPE_UNSPECIFIED" : Unknown DNS scope. + /// - "INSTANCE" : Indicates a instance-level DNS name. + core.String? dnsScope; + + /// The DNS name. + core.String? name; + + DnsNameMapping({ + this.connectionType, + this.dnsScope, + this.name, + }); + + DnsNameMapping.fromJson(core.Map json_) + : this( + connectionType: json_['connectionType'] as core.String?, + dnsScope: json_['dnsScope'] as core.String?, + name: json_['name'] as core.String?, + ); + + core.Map toJson() => { + if (connectionType != null) 'connectionType': connectionType!, + if (dnsScope != null) 'dnsScope': dnsScope!, + if (name != null) 'name': name!, + }; +} + /// A generic empty message that you can re-use to avoid defining duplicated /// empty messages in your APIs. /// @@ -5321,6 +5894,64 @@ class ExportContextSqlExportOptions { }; } +/// Export parameters specific to SQL Server TDE certificates +/// +/// Optional. +class ExportContextTdeExportOptions { + /// Path to the TDE certificate public key in the form + /// gs://bucketName/fileName. + /// + /// The instance must have write access to the location. Applicable only for + /// SQL Server instances. + /// + /// Required. + core.String? certificatePath; + + /// Certificate name. + /// + /// Applicable only for SQL Server instances. + /// + /// Required. + core.String? name; + + /// Password that encrypts the private key. + /// + /// Required. + core.String? privateKeyPassword; + + /// Path to the TDE certificate private key in the form + /// gs://bucketName/fileName. + /// + /// The instance must have write access to the location. Applicable only for + /// SQL Server instances. + /// + /// Required. + core.String? privateKeyPath; + + ExportContextTdeExportOptions({ + this.certificatePath, + this.name, + this.privateKeyPassword, + this.privateKeyPath, + }); + + ExportContextTdeExportOptions.fromJson(core.Map json_) + : this( + certificatePath: json_['certificatePath'] as core.String?, + name: json_['name'] as core.String?, + privateKeyPassword: json_['privateKeyPassword'] as core.String?, + privateKeyPath: json_['privateKeyPath'] as core.String?, + ); + + core.Map toJson() => { + if (certificatePath != null) 'certificatePath': certificatePath!, + if (name != null) 'name': name!, + if (privateKeyPassword != null) + 'privateKeyPassword': privateKeyPassword!, + if (privateKeyPath != null) 'privateKeyPath': privateKeyPath!, + }; +} + /// Database instance export context. class ExportContext { /// Options for exporting BAK files (SQL Server-only) @@ -5337,11 +5968,14 @@ class ExportContext { /// all databases are exported, except for the `mysql` system database. If /// `fileType` is `CSV`, you can specify one database, either by using this /// property or by using the `csvExportOptions.selectQuery` property, which - /// takes precedence over this property. `PostgreSQL instances:` You must - /// specify one database to be exported. If `fileType` is `CSV`, this database - /// must match the one specified in the `csvExportOptions.selectQuery` - /// property. `SQL Server instances:` You must specify one database to be - /// exported, and the `fileType` must be `BAK`. + /// takes precedence over this property. `PostgreSQL instances:` If you don't + /// specify a database by name, all user databases in the instance are + /// exported. This excludes system databases and Cloud SQL databases used to + /// manage internal operations. Exporting all user databases is only available + /// for directory-formatted parallel export. If `fileType` is `CSV`, this + /// database must match the one specified in the + /// `csvExportOptions.selectQuery` property. `SQL Server instances:` You must + /// specify one database to be exported, and the `fileType` must be `BAK`. core.List? databases; /// The file type for the specified uri. @@ -5350,6 +5984,7 @@ class ExportContext { /// - "SQL" : File containing SQL statements. /// - "CSV" : File in CSV format. /// - "BAK" + /// - "TDE" : TDE certificate. core.String? fileType; /// This is always `sql#exportContext`. @@ -5361,6 +5996,11 @@ class ExportContext { /// Options for exporting data as SQL statements. ExportContextSqlExportOptions? sqlExportOptions; + /// Export parameters specific to SQL Server TDE certificates + /// + /// Optional. + ExportContextTdeExportOptions? tdeExportOptions; + /// The path to the file in Google Cloud Storage where the export will be /// stored. /// @@ -5377,6 +6017,7 @@ class ExportContext { this.kind, this.offload, this.sqlExportOptions, + this.tdeExportOptions, this.uri, }); @@ -5400,6 +6041,10 @@ class ExportContext { ? ExportContextSqlExportOptions.fromJson(json_['sqlExportOptions'] as core.Map) : null, + tdeExportOptions: json_.containsKey('tdeExportOptions') + ? ExportContextTdeExportOptions.fromJson(json_['tdeExportOptions'] + as core.Map) + : null, uri: json_['uri'] as core.String?, ); @@ -5411,6 +6056,7 @@ class ExportContext { if (kind != null) 'kind': kind!, if (offload != null) 'offload': offload!, if (sqlExportOptions != null) 'sqlExportOptions': sqlExportOptions!, + if (tdeExportOptions != null) 'tdeExportOptions': tdeExportOptions!, if (uri != null) 'uri': uri!, }; } @@ -5741,6 +6387,11 @@ class ImportContextBakImportOptionsEncryptionOptions { /// the file. core.String? certPath; + /// Whether the imported file remains encrypted. + /// + /// Optional. + core.bool? keepEncrypted; + /// Password that encrypts the private key core.String? pvkPassword; @@ -5753,6 +6404,7 @@ class ImportContextBakImportOptionsEncryptionOptions { ImportContextBakImportOptionsEncryptionOptions({ this.certPath, + this.keepEncrypted, this.pvkPassword, this.pvkPath, }); @@ -5760,12 +6412,14 @@ class ImportContextBakImportOptionsEncryptionOptions { ImportContextBakImportOptionsEncryptionOptions.fromJson(core.Map json_) : this( certPath: json_['certPath'] as core.String?, + keepEncrypted: json_['keepEncrypted'] as core.bool?, pvkPassword: json_['pvkPassword'] as core.String?, pvkPath: json_['pvkPath'] as core.String?, ); core.Map toJson() => { if (certPath != null) 'certPath': certPath!, + if (keepEncrypted != null) 'keepEncrypted': keepEncrypted!, if (pvkPassword != null) 'pvkPassword': pvkPassword!, if (pvkPath != null) 'pvkPath': pvkPath!, }; @@ -5992,6 +6646,65 @@ class ImportContextSqlImportOptions { }; } +/// Import parameters specific to SQL Server .TDE files Import parameters +/// specific to SQL Server TDE certificates +/// +/// Optional. +class ImportContextTdeImportOptions { + /// Path to the TDE certificate public key in the form + /// gs://bucketName/fileName. + /// + /// The instance must have read access to the file. Applicable only for SQL + /// Server instances. + /// + /// Required. + core.String? certificatePath; + + /// Certificate name. + /// + /// Applicable only for SQL Server instances. + /// + /// Required. + core.String? name; + + /// Password that encrypts the private key. + /// + /// Required. + core.String? privateKeyPassword; + + /// Path to the TDE certificate private key in the form + /// gs://bucketName/fileName. + /// + /// The instance must have read access to the file. Applicable only for SQL + /// Server instances. + /// + /// Required. + core.String? privateKeyPath; + + ImportContextTdeImportOptions({ + this.certificatePath, + this.name, + this.privateKeyPassword, + this.privateKeyPath, + }); + + ImportContextTdeImportOptions.fromJson(core.Map json_) + : this( + certificatePath: json_['certificatePath'] as core.String?, + name: json_['name'] as core.String?, + privateKeyPassword: json_['privateKeyPassword'] as core.String?, + privateKeyPath: json_['privateKeyPath'] as core.String?, + ); + + core.Map toJson() => { + if (certificatePath != null) 'certificatePath': certificatePath!, + if (name != null) 'name': name!, + if (privateKeyPassword != null) + 'privateKeyPassword': privateKeyPassword!, + if (privateKeyPath != null) 'privateKeyPath': privateKeyPath!, + }; +} + /// Database instance import context. class ImportContext { /// Import parameters specific to SQL Server .BAK files @@ -6004,8 +6717,9 @@ class ImportContext { /// /// If `fileType` is `SQL`, this field is required only if the import file /// does not specify a database, and is overridden by any database - /// specification in the import file. If `fileType` is `CSV`, one database - /// must be specified. + /// specification in the import file. For entire instance parallel import + /// operations, the database is overridden by the database name stored in + /// subdirectory name. If `fileType` is `CSV`, one database must be specified. core.String? database; /// The file type for the specified uri. @@ -6017,6 +6731,7 @@ class ImportContext { /// - "SQL" : File containing SQL statements. /// - "CSV" : File in CSV format. /// - "BAK" + /// - "TDE" : TDE certificate. core.String? fileType; /// The PostgreSQL user for this import operation. @@ -6032,6 +6747,12 @@ class ImportContext { /// Optional. ImportContextSqlImportOptions? sqlImportOptions; + /// Import parameters specific to SQL Server .TDE files Import parameters + /// specific to SQL Server TDE certificates + /// + /// Optional. + ImportContextTdeImportOptions? tdeImportOptions; + /// Path to the import file in Cloud Storage, in the form /// `gs://bucketName/fileName`. /// @@ -6048,6 +6769,7 @@ class ImportContext { this.importUser, this.kind, this.sqlImportOptions, + this.tdeImportOptions, this.uri, }); @@ -6069,6 +6791,10 @@ class ImportContext { ? ImportContextSqlImportOptions.fromJson(json_['sqlImportOptions'] as core.Map) : null, + tdeImportOptions: json_.containsKey('tdeImportOptions') + ? ImportContextTdeImportOptions.fromJson(json_['tdeImportOptions'] + as core.Map) + : null, uri: json_['uri'] as core.String?, ); @@ -6080,6 +6806,7 @@ class ImportContext { if (importUser != null) 'importUser': importUser!, if (kind != null) 'kind': kind!, if (sqlImportOptions != null) 'sqlImportOptions': sqlImportOptions!, + if (tdeImportOptions != null) 'tdeImportOptions': tdeImportOptions!, if (uri != null) 'uri': uri!, }; } @@ -6489,24 +7216,51 @@ class InstancesReencryptRequest { /// Database instance restore backup request. class InstancesRestoreBackupRequest { + /// The name of the backup that's used to restore a Cloud SQL instance: + /// Format: projects/{project-id}/backups/{backup-uid}. + /// + /// Only one of restore_backup_context, backup, backupdr_backup can be passed + /// to the input. + core.String? backup; + /// Parameters required to perform the restore backup operation. RestoreBackupContext? restoreBackupContext; + /// By using this parameter, Cloud SQL overrides any instance settings stored + /// in the backup you are restoring from. + /// + /// You can't change the instance's major database version and you can only + /// increase the disk size. You can use this field to restore new instances + /// only. This field is not applicable for restore to existing instances. + /// + /// Optional. + DatabaseInstance? restoreInstanceSettings; + InstancesRestoreBackupRequest({ + this.backup, this.restoreBackupContext, + this.restoreInstanceSettings, }); InstancesRestoreBackupRequest.fromJson(core.Map json_) : this( + backup: json_['backup'] as core.String?, restoreBackupContext: json_.containsKey('restoreBackupContext') ? RestoreBackupContext.fromJson(json_['restoreBackupContext'] as core.Map) : null, + restoreInstanceSettings: json_.containsKey('restoreInstanceSettings') + ? DatabaseInstance.fromJson(json_['restoreInstanceSettings'] + as core.Map) + : null, ); core.Map toJson() => { + if (backup != null) 'backup': backup!, if (restoreBackupContext != null) 'restoreBackupContext': restoreBackupContext!, + if (restoreInstanceSettings != null) + 'restoreInstanceSettings': restoreInstanceSettings!, }; } @@ -6583,6 +7337,46 @@ class InstancesTruncateLogRequest { }; } +/// Represents a time interval, encoded as a Timestamp start (inclusive) and a +/// Timestamp end (exclusive). +/// +/// The start must be less than or equal to the end. When the start equals the +/// end, the interval is empty (matches no time). When both start and end are +/// unspecified, the interval matches any time. +class Interval { + /// Exclusive end of the interval. + /// + /// If specified, a Timestamp matching this interval will have to be before + /// the end. + /// + /// Optional. + core.String? endTime; + + /// Inclusive start of the interval. + /// + /// If specified, a Timestamp matching this interval will have to be the same + /// or after the start. + /// + /// Optional. + core.String? startTime; + + Interval({ + this.endTime, + this.startTime, + }); + + Interval.fromJson(core.Map json_) + : this( + endTime: json_['endTime'] as core.String?, + startTime: json_['startTime'] as core.String?, + ); + + core.Map toJson() => { + if (endTime != null) 'endTime': endTime!, + if (startTime != null) 'startTime': startTime!, + }; +} + /// IP Management configuration. class IpConfiguration { /// The name of the allocated ip range for the private ip Cloud SQL instance. @@ -6648,7 +7442,7 @@ class IpConfiguration { /// The resource name of the server CA pool for an instance with /// `CUSTOMER_MANAGED_CAS_CA` as the `server_ca_mode`. /// - /// Format: projects//locations//caPools/ + /// Format: projects/{PROJECT}/locations/{REGION}/caPools/{CA_POOL_ID} /// /// Optional. core.String? serverCaPool; @@ -6801,6 +7595,46 @@ class IpMapping { }; } +/// The response payload containing a list of the backups. +class ListBackupsResponse { + /// A list of backups. + core.List? backups; + + /// A token, which can be sent as `page_token` to retrieve the next page. + /// + /// If this field is omitted, then there aren't subsequent pages. + core.String? nextPageToken; + + /// If a region isn't unavailable or if an unknown error occurs, then a + /// warning message is returned. + core.List? warnings; + + ListBackupsResponse({ + this.backups, + this.nextPageToken, + this.warnings, + }); + + ListBackupsResponse.fromJson(core.Map json_) + : this( + backups: (json_['backups'] as core.List?) + ?.map((value) => + Backup.fromJson(value as core.Map)) + .toList(), + nextPageToken: json_['nextPageToken'] as core.String?, + warnings: (json_['warnings'] as core.List?) + ?.map((value) => ApiWarning.fromJson( + value as core.Map)) + .toList(), + ); + + core.Map toJson() => { + if (backups != null) 'backups': backups!, + if (nextPageToken != null) 'nextPageToken': nextPageToken!, + if (warnings != null) 'warnings': warnings!, + }; +} + /// Preferred location. /// /// This specifies where a Cloud SQL instance is located. Note that if the @@ -6928,7 +7762,7 @@ class MySqlReplicaConfiguration { /// PEM representation of the replica's private key. /// - /// The corresponsing public key is encoded in the client's certificate. + /// The corresponding public key is encoded in the client's certificate. core.String? clientKey; /// Seconds to wait between connect retries. @@ -7044,7 +7878,7 @@ class OnPremisesConfiguration { /// PEM representation of the replica's private key. /// - /// The corresponsing public key is encoded in the client's certificate. + /// The corresponding public key is encoded in the client's certificate. core.String? clientKey; /// The dump file to create the Cloud SQL replica. @@ -7233,6 +8067,7 @@ class Operation { /// - "REENCRYPT" : Re-encrypts CMEK instances with latest key version. /// - "SWITCHOVER" : Switches the roles of the primary and replica pair. The /// target instance should be the replica. + /// - "UPDATE_BACKUP" : Update a backup. /// - "ACQUIRE_SSRS_LEASE" : Acquire a lease for the setup of SQL Server /// Reporting Services (SSRS). /// - "RELEASE_SSRS_LEASE" : Release a lease for the setup of SQL Server @@ -7255,7 +8090,10 @@ class Operation { /// instance. /// - "MAJOR_VERSION_UPGRADE" : Updates the major version of a Cloud SQL /// instance. - /// - "ADVANCED_BACKUP" : Creates a backup for an Advanced BackupTier Cloud + /// - "ADVANCED_BACKUP" : Deprecated: ADVANCED_BACKUP is deprecated. Use + /// ENHANCED_BACKUP instead. + /// - "MANAGE_BACKUP" : Changes the BackupTier of a Cloud SQL instance. + /// - "ENHANCED_BACKUP" : Creates a backup for an Enhanced BackupTier Cloud /// SQL instance. core.String? operationType; @@ -7281,7 +8119,7 @@ class Operation { /// Optional. SqlSubOperationType? subOperationType; - /// Name of the database instance related to this operation. + /// Name of the resource on which this operation runs. core.String? targetId; core.String? targetLink; @@ -8072,6 +8910,7 @@ class Settings { /// - "PD_HDD" : An HDD data disk. /// - "OBSOLETE_LOCAL_SSD" : This field is deprecated and will be removed from /// a future version of the API. + /// - "HYPERDISK_BALANCED" : A Hyperdisk Balanced data disk. core.String? dataDiskType; /// The database flags passed to the instance at startup. @@ -8157,6 +8996,12 @@ class Settings { /// - "PER_USE" : The instance is billed per usage. core.String? pricingPlan; + /// Configuration value for recreation of replica after certain replication + /// lag + /// + /// Optional. + core.int? replicationLagMaxSeconds; + /// The type of replication this instance uses. /// /// This can be either `ASYNCHRONOUS` or `SYNCHRONOUS`. (Deprecated) This @@ -8175,6 +9020,16 @@ class Settings { ) core.String? replicationType; + /// When this parameter is set to true, Cloud SQL retains backups of the + /// instance even after the instance is deleted. + /// + /// The ON_DEMAND backup will be retained until customer deletes the backup or + /// the project. The AUTOMATED backup will be retained based on the backups + /// retention setting. + /// + /// Optional. + core.bool? retainBackupsOnDelete; + /// The version of instance settings. /// /// This is a required field for update method to make sure concurrent updates @@ -8235,7 +9090,9 @@ class Settings { this.maintenanceWindow, this.passwordValidationPolicy, this.pricingPlan, + this.replicationLagMaxSeconds, this.replicationType, + this.retainBackupsOnDelete, this.settingsVersion, this.sqlServerAuditConfig, this.storageAutoResize, @@ -8318,7 +9175,10 @@ class Settings { as core.Map) : null, pricingPlan: json_['pricingPlan'] as core.String?, + replicationLagMaxSeconds: + json_['replicationLagMaxSeconds'] as core.int?, replicationType: json_['replicationType'] as core.String?, + retainBackupsOnDelete: json_['retainBackupsOnDelete'] as core.bool?, settingsVersion: json_['settingsVersion'] as core.String?, sqlServerAuditConfig: json_.containsKey('sqlServerAuditConfig') ? SqlServerAuditConfig.fromJson(json_['sqlServerAuditConfig'] @@ -8379,7 +9239,11 @@ class Settings { if (passwordValidationPolicy != null) 'passwordValidationPolicy': passwordValidationPolicy!, if (pricingPlan != null) 'pricingPlan': pricingPlan!, + if (replicationLagMaxSeconds != null) + 'replicationLagMaxSeconds': replicationLagMaxSeconds!, if (replicationType != null) 'replicationType': replicationType!, + if (retainBackupsOnDelete != null) + 'retainBackupsOnDelete': retainBackupsOnDelete!, if (settingsVersion != null) 'settingsVersion': settingsVersion!, if (sqlServerAuditConfig != null) 'sqlServerAuditConfig': sqlServerAuditConfig!, diff --git a/generated/googleapis_beta/test/analyticsadmin/v1alpha_test.dart b/generated/googleapis_beta/test/analyticsadmin/v1alpha_test.dart index e5be6d5ef..b015b9e6b 100644 --- a/generated/googleapis_beta/test/analyticsadmin/v1alpha_test.dart +++ b/generated/googleapis_beta/test/analyticsadmin/v1alpha_test.dart @@ -2027,6 +2027,7 @@ api.GoogleAnalyticsAdminV1alphaChangeHistoryChangeChangeHistoryResource o.googleAdsLink = buildGoogleAnalyticsAdminV1alphaGoogleAdsLink(); o.googleSignalsSettings = buildGoogleAnalyticsAdminV1alphaGoogleSignalsSettings(); + o.keyEvent = buildGoogleAnalyticsAdminV1alphaKeyEvent(); o.measurementProtocolSecret = buildGoogleAnalyticsAdminV1alphaMeasurementProtocolSecret(); o.property = buildGoogleAnalyticsAdminV1alphaProperty(); @@ -2070,6 +2071,7 @@ void checkGoogleAnalyticsAdminV1alphaChangeHistoryChangeChangeHistoryResource( checkGoogleAnalyticsAdminV1alphaGoogleAdsLink(o.googleAdsLink!); checkGoogleAnalyticsAdminV1alphaGoogleSignalsSettings( o.googleSignalsSettings!); + checkGoogleAnalyticsAdminV1alphaKeyEvent(o.keyEvent!); checkGoogleAnalyticsAdminV1alphaMeasurementProtocolSecret( o.measurementProtocolSecret!); checkGoogleAnalyticsAdminV1alphaProperty(o.property!); @@ -2844,6 +2846,7 @@ api.GoogleAnalyticsAdminV1alphaDataRetentionSettings o.eventDataRetention = 'foo'; o.name = 'foo'; o.resetUserDataOnNewActivity = true; + o.userDataRetention = 'foo'; } buildCounterGoogleAnalyticsAdminV1alphaDataRetentionSettings--; return o; @@ -2862,6 +2865,10 @@ void checkGoogleAnalyticsAdminV1alphaDataRetentionSettings( unittest.equals('foo'), ); unittest.expect(o.resetUserDataOnNewActivity!, unittest.isTrue); + unittest.expect( + o.userDataRetention!, + unittest.equals('foo'), + ); } buildCounterGoogleAnalyticsAdminV1alphaDataRetentionSettings--; } diff --git a/generated/googleapis_beta/test/analyticsadmin/v1beta_test.dart b/generated/googleapis_beta/test/analyticsadmin/v1beta_test.dart index c0ba00fe0..cbf82ebc7 100644 --- a/generated/googleapis_beta/test/analyticsadmin/v1beta_test.dart +++ b/generated/googleapis_beta/test/analyticsadmin/v1beta_test.dart @@ -1128,6 +1128,7 @@ api.GoogleAnalyticsAdminV1betaDataRetentionSettings o.eventDataRetention = 'foo'; o.name = 'foo'; o.resetUserDataOnNewActivity = true; + o.userDataRetention = 'foo'; } buildCounterGoogleAnalyticsAdminV1betaDataRetentionSettings--; return o; @@ -1146,6 +1147,10 @@ void checkGoogleAnalyticsAdminV1betaDataRetentionSettings( unittest.equals('foo'), ); unittest.expect(o.resetUserDataOnNewActivity!, unittest.isTrue); + unittest.expect( + o.userDataRetention!, + unittest.equals('foo'), + ); } buildCounterGoogleAnalyticsAdminV1betaDataRetentionSettings--; } diff --git a/generated/googleapis_beta/test/dataflow/v1b3_test.dart b/generated/googleapis_beta/test/dataflow/v1b3_test.dart index 37184ee05..737353c22 100644 --- a/generated/googleapis_beta/test/dataflow/v1b3_test.dart +++ b/generated/googleapis_beta/test/dataflow/v1b3_test.dart @@ -279,6 +279,81 @@ void checkBigTableIODetails(api.BigTableIODetails o) { buildCounterBigTableIODetails--; } +core.List buildUnnamed0() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed0(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.int buildCounterBoundedTrie = 0; +api.BoundedTrie buildBoundedTrie() { + final o = api.BoundedTrie(); + buildCounterBoundedTrie++; + if (buildCounterBoundedTrie < 3) { + o.bound = 42; + o.root = buildBoundedTrieNode(); + o.singleton = buildUnnamed0(); + } + buildCounterBoundedTrie--; + return o; +} + +void checkBoundedTrie(api.BoundedTrie o) { + buildCounterBoundedTrie++; + if (buildCounterBoundedTrie < 3) { + unittest.expect( + o.bound!, + unittest.equals(42), + ); + checkBoundedTrieNode(o.root!); + checkUnnamed0(o.singleton!); + } + buildCounterBoundedTrie--; +} + +core.Map buildUnnamed1() => { + 'x': buildBoundedTrieNode(), + 'y': buildBoundedTrieNode(), + }; + +void checkUnnamed1(core.Map o) { + unittest.expect(o, unittest.hasLength(2)); + checkBoundedTrieNode(o['x']!); + checkBoundedTrieNode(o['y']!); +} + +core.int buildCounterBoundedTrieNode = 0; +api.BoundedTrieNode buildBoundedTrieNode() { + final o = api.BoundedTrieNode(); + buildCounterBoundedTrieNode++; + if (buildCounterBoundedTrieNode < 3) { + o.children = buildUnnamed1(); + o.truncated = true; + } + buildCounterBoundedTrieNode--; + return o; +} + +void checkBoundedTrieNode(api.BoundedTrieNode o) { + buildCounterBoundedTrieNode++; + if (buildCounterBoundedTrieNode < 3) { + checkUnnamed1(o.children!); + unittest.expect(o.truncated!, unittest.isTrue); + } + buildCounterBoundedTrieNode--; +} + core.int buildCounterBucketOptions = 0; api.BucketOptions buildBucketOptions() { final o = api.BucketOptions(); @@ -396,45 +471,45 @@ void checkComponentTransform(api.ComponentTransform o) { buildCounterComponentTransform--; } -core.List buildUnnamed0() => [ +core.List buildUnnamed2() => [ buildStreamLocation(), buildStreamLocation(), ]; -void checkUnnamed0(core.List o) { +void checkUnnamed2(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStreamLocation(o[0]); checkStreamLocation(o[1]); } -core.List buildUnnamed1() => [ +core.List buildUnnamed3() => [ buildKeyRangeLocation(), buildKeyRangeLocation(), ]; -void checkUnnamed1(core.List o) { +void checkUnnamed3(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkKeyRangeLocation(o[0]); checkKeyRangeLocation(o[1]); } -core.List buildUnnamed2() => [ +core.List buildUnnamed4() => [ buildStreamLocation(), buildStreamLocation(), ]; -void checkUnnamed2(core.List o) { +void checkUnnamed4(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStreamLocation(o[0]); checkStreamLocation(o[1]); } -core.List buildUnnamed3() => [ +core.List buildUnnamed5() => [ buildStateFamilyConfig(), buildStateFamilyConfig(), ]; -void checkUnnamed3(core.List o) { +void checkUnnamed5(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStateFamilyConfig(o[0]); checkStateFamilyConfig(o[1]); @@ -446,10 +521,10 @@ api.ComputationTopology buildComputationTopology() { buildCounterComputationTopology++; if (buildCounterComputationTopology < 3) { o.computationId = 'foo'; - o.inputs = buildUnnamed0(); - o.keyRanges = buildUnnamed1(); - o.outputs = buildUnnamed2(); - o.stateFamilies = buildUnnamed3(); + o.inputs = buildUnnamed2(); + o.keyRanges = buildUnnamed3(); + o.outputs = buildUnnamed4(); + o.stateFamilies = buildUnnamed5(); o.systemStageName = 'foo'; } buildCounterComputationTopology--; @@ -463,10 +538,10 @@ void checkComputationTopology(api.ComputationTopology o) { o.computationId!, unittest.equals('foo'), ); - checkUnnamed0(o.inputs!); - checkUnnamed1(o.keyRanges!); - checkUnnamed2(o.outputs!); - checkUnnamed3(o.stateFamilies!); + checkUnnamed2(o.inputs!); + checkUnnamed3(o.keyRanges!); + checkUnnamed4(o.outputs!); + checkUnnamed5(o.stateFamilies!); unittest.expect( o.systemStageName!, unittest.equals('foo'), @@ -674,6 +749,7 @@ api.CounterUpdate buildCounterUpdate() { buildCounterCounterUpdate++; if (buildCounterCounterUpdate < 3) { o.boolean = true; + o.boundedTrie = buildBoundedTrie(); o.cumulative = true; o.distribution = buildDistributionUpdate(); o.floatingPoint = 42.0; @@ -701,6 +777,7 @@ void checkCounterUpdate(api.CounterUpdate o) { buildCounterCounterUpdate++; if (buildCounterCounterUpdate < 3) { unittest.expect(o.boolean!, unittest.isTrue); + checkBoundedTrie(o.boundedTrie!); unittest.expect(o.cumulative!, unittest.isTrue); checkDistributionUpdate(o.distribution!); unittest.expect( @@ -738,12 +815,12 @@ void checkCounterUpdate(api.CounterUpdate o) { buildCounterCounterUpdate--; } -core.Map buildUnnamed4() => { +core.Map buildUnnamed6() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed4(core.Map o) { +void checkUnnamed6(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -764,7 +841,7 @@ api.CreateJobFromTemplateRequest buildCreateJobFromTemplateRequest() { o.gcsPath = 'foo'; o.jobName = 'foo'; o.location = 'foo'; - o.parameters = buildUnnamed4(); + o.parameters = buildUnnamed6(); } buildCounterCreateJobFromTemplateRequest--; return o; @@ -786,7 +863,7 @@ void checkCreateJobFromTemplateRequest(api.CreateJobFromTemplateRequest o) { o.location!, unittest.equals('foo'), ); - checkUnnamed4(o.parameters!); + checkUnnamed6(o.parameters!); } buildCounterCreateJobFromTemplateRequest--; } @@ -810,12 +887,12 @@ void checkCustomSourceLocation(api.CustomSourceLocation o) { buildCounterCustomSourceLocation--; } -core.List buildUnnamed5() => [ +core.List buildUnnamed7() => [ 'foo', 'foo', ]; -void checkUnnamed5(core.List o) { +void checkUnnamed7(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -832,7 +909,7 @@ api.DataDiskAssignment buildDataDiskAssignment() { final o = api.DataDiskAssignment(); buildCounterDataDiskAssignment++; if (buildCounterDataDiskAssignment < 3) { - o.dataDisks = buildUnnamed5(); + o.dataDisks = buildUnnamed7(); o.vmInstance = 'foo'; } buildCounterDataDiskAssignment--; @@ -842,7 +919,7 @@ api.DataDiskAssignment buildDataDiskAssignment() { void checkDataDiskAssignment(api.DataDiskAssignment o) { buildCounterDataDiskAssignment++; if (buildCounterDataDiskAssignment < 3) { - checkUnnamed5(o.dataDisks!); + checkUnnamed7(o.dataDisks!); unittest.expect( o.vmInstance!, unittest.equals('foo'), @@ -851,12 +928,12 @@ void checkDataDiskAssignment(api.DataDiskAssignment o) { buildCounterDataDiskAssignment--; } -core.List buildUnnamed6() => [ +core.List buildUnnamed8() => [ 'foo', 'foo', ]; -void checkUnnamed6(core.List o) { +void checkUnnamed8(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -873,7 +950,7 @@ api.DataSamplingConfig buildDataSamplingConfig() { final o = api.DataSamplingConfig(); buildCounterDataSamplingConfig++; if (buildCounterDataSamplingConfig < 3) { - o.behaviors = buildUnnamed6(); + o.behaviors = buildUnnamed8(); } buildCounterDataSamplingConfig--; return o; @@ -882,7 +959,7 @@ api.DataSamplingConfig buildDataSamplingConfig() { void checkDataSamplingConfig(api.DataSamplingConfig o) { buildCounterDataSamplingConfig++; if (buildCounterDataSamplingConfig < 3) { - checkUnnamed6(o.behaviors!); + checkUnnamed8(o.behaviors!); } buildCounterDataSamplingConfig--; } @@ -966,12 +1043,12 @@ void checkDataflowGaugeValue(api.DataflowGaugeValue o) { buildCounterDataflowGaugeValue--; } -core.List buildUnnamed7() => [ +core.List buildUnnamed9() => [ 'foo', 'foo', ]; -void checkUnnamed7(core.List o) { +void checkUnnamed9(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -988,7 +1065,7 @@ api.DataflowHistogramValue buildDataflowHistogramValue() { final o = api.DataflowHistogramValue(); buildCounterDataflowHistogramValue++; if (buildCounterDataflowHistogramValue < 3) { - o.bucketCounts = buildUnnamed7(); + o.bucketCounts = buildUnnamed9(); o.bucketOptions = buildBucketOptions(); o.count = 'foo'; o.outlierStats = buildOutlierStats(); @@ -1000,7 +1077,7 @@ api.DataflowHistogramValue buildDataflowHistogramValue() { void checkDataflowHistogramValue(api.DataflowHistogramValue o) { buildCounterDataflowHistogramValue++; if (buildCounterDataflowHistogramValue < 3) { - checkUnnamed7(o.bucketCounts!); + checkUnnamed9(o.bucketCounts!); checkBucketOptions(o.bucketOptions!); unittest.expect( o.count!, @@ -1257,12 +1334,12 @@ void checkDynamicSourceSplit(api.DynamicSourceSplit o) { buildCounterDynamicSourceSplit--; } -core.List buildUnnamed8() => [ +core.List buildUnnamed10() => [ 'foo', 'foo', ]; -void checkUnnamed8(core.List o) { +void checkUnnamed10(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1274,7 +1351,7 @@ void checkUnnamed8(core.List o) { ); } -core.Map buildUnnamed9() => { +core.Map buildUnnamed11() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1287,7 +1364,7 @@ core.Map buildUnnamed9() => { }, }; -void checkUnnamed9(core.Map o) { +void checkUnnamed11(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted2 = (o['x']!) as core.Map; unittest.expect(casted2, unittest.hasLength(3)); @@ -1319,7 +1396,7 @@ void checkUnnamed9(core.Map o) { ); } -core.Map buildUnnamed10() => { +core.Map buildUnnamed12() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1332,7 +1409,7 @@ core.Map buildUnnamed10() => { }, }; -void checkUnnamed10(core.Map o) { +void checkUnnamed12(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted4 = (o['x']!) as core.Map; unittest.expect(casted4, unittest.hasLength(3)); @@ -1364,12 +1441,12 @@ void checkUnnamed10(core.Map o) { ); } -core.List buildUnnamed11() => [ +core.List buildUnnamed13() => [ 'foo', 'foo', ]; -void checkUnnamed11(core.List o) { +void checkUnnamed13(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1381,7 +1458,7 @@ void checkUnnamed11(core.List o) { ); } -core.Map buildUnnamed12() => { +core.Map buildUnnamed14() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1394,7 +1471,7 @@ core.Map buildUnnamed12() => { }, }; -void checkUnnamed12(core.Map o) { +void checkUnnamed14(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted6 = (o['x']!) as core.Map; unittest.expect(casted6, unittest.hasLength(3)); @@ -1426,7 +1503,7 @@ void checkUnnamed12(core.Map o) { ); } -core.Map buildUnnamed13() => { +core.Map buildUnnamed15() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1439,7 +1516,7 @@ core.Map buildUnnamed13() => { }, }; -void checkUnnamed13(core.Map o) { +void checkUnnamed15(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted8 = (o['x']!) as core.Map; unittest.expect(casted8, unittest.hasLength(3)); @@ -1471,12 +1548,12 @@ void checkUnnamed13(core.Map o) { ); } -core.List buildUnnamed14() => [ +core.List buildUnnamed16() => [ buildWorkerPool(), buildWorkerPool(), ]; -void checkUnnamed14(core.List o) { +void checkUnnamed16(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWorkerPool(o[0]); checkWorkerPool(o[1]); @@ -1490,20 +1567,20 @@ api.Environment buildEnvironment() { o.clusterManagerApiService = 'foo'; o.dataset = 'foo'; o.debugOptions = buildDebugOptions(); - o.experiments = buildUnnamed8(); + o.experiments = buildUnnamed10(); o.flexResourceSchedulingGoal = 'foo'; - o.internalExperiments = buildUnnamed9(); - o.sdkPipelineOptions = buildUnnamed10(); + o.internalExperiments = buildUnnamed11(); + o.sdkPipelineOptions = buildUnnamed12(); o.serviceAccountEmail = 'foo'; o.serviceKmsKeyName = 'foo'; - o.serviceOptions = buildUnnamed11(); + o.serviceOptions = buildUnnamed13(); o.shuffleMode = 'foo'; o.streamingMode = 'foo'; o.tempStoragePrefix = 'foo'; o.useStreamingEngineResourceBasedBilling = true; - o.userAgent = buildUnnamed12(); - o.version = buildUnnamed13(); - o.workerPools = buildUnnamed14(); + o.userAgent = buildUnnamed14(); + o.version = buildUnnamed15(); + o.workerPools = buildUnnamed16(); o.workerRegion = 'foo'; o.workerZone = 'foo'; } @@ -1523,13 +1600,13 @@ void checkEnvironment(api.Environment o) { unittest.equals('foo'), ); checkDebugOptions(o.debugOptions!); - checkUnnamed8(o.experiments!); + checkUnnamed10(o.experiments!); unittest.expect( o.flexResourceSchedulingGoal!, unittest.equals('foo'), ); - checkUnnamed9(o.internalExperiments!); - checkUnnamed10(o.sdkPipelineOptions!); + checkUnnamed11(o.internalExperiments!); + checkUnnamed12(o.sdkPipelineOptions!); unittest.expect( o.serviceAccountEmail!, unittest.equals('foo'), @@ -1538,7 +1615,7 @@ void checkEnvironment(api.Environment o) { o.serviceKmsKeyName!, unittest.equals('foo'), ); - checkUnnamed11(o.serviceOptions!); + checkUnnamed13(o.serviceOptions!); unittest.expect( o.shuffleMode!, unittest.equals('foo'), @@ -1552,9 +1629,9 @@ void checkEnvironment(api.Environment o) { unittest.equals('foo'), ); unittest.expect(o.useStreamingEngineResourceBasedBilling!, unittest.isTrue); - checkUnnamed12(o.userAgent!); - checkUnnamed13(o.version!); - checkUnnamed14(o.workerPools!); + checkUnnamed14(o.userAgent!); + checkUnnamed15(o.version!); + checkUnnamed16(o.workerPools!); unittest.expect( o.workerRegion!, unittest.equals('foo'), @@ -1599,56 +1676,56 @@ void checkExecutionStageState(api.ExecutionStageState o) { buildCounterExecutionStageState--; } -core.List buildUnnamed15() => [ +core.List buildUnnamed17() => [ buildComponentSource(), buildComponentSource(), ]; -void checkUnnamed15(core.List o) { +void checkUnnamed17(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkComponentSource(o[0]); checkComponentSource(o[1]); } -core.List buildUnnamed16() => [ +core.List buildUnnamed18() => [ buildComponentTransform(), buildComponentTransform(), ]; -void checkUnnamed16(core.List o) { +void checkUnnamed18(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkComponentTransform(o[0]); checkComponentTransform(o[1]); } -core.List buildUnnamed17() => [ +core.List buildUnnamed19() => [ buildStageSource(), buildStageSource(), ]; -void checkUnnamed17(core.List o) { +void checkUnnamed19(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStageSource(o[0]); checkStageSource(o[1]); } -core.List buildUnnamed18() => [ +core.List buildUnnamed20() => [ buildStageSource(), buildStageSource(), ]; -void checkUnnamed18(core.List o) { +void checkUnnamed20(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStageSource(o[0]); checkStageSource(o[1]); } -core.List buildUnnamed19() => [ +core.List buildUnnamed21() => [ 'foo', 'foo', ]; -void checkUnnamed19(core.List o) { +void checkUnnamed21(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1665,14 +1742,14 @@ api.ExecutionStageSummary buildExecutionStageSummary() { final o = api.ExecutionStageSummary(); buildCounterExecutionStageSummary++; if (buildCounterExecutionStageSummary < 3) { - o.componentSource = buildUnnamed15(); - o.componentTransform = buildUnnamed16(); + o.componentSource = buildUnnamed17(); + o.componentTransform = buildUnnamed18(); o.id = 'foo'; - o.inputSource = buildUnnamed17(); + o.inputSource = buildUnnamed19(); o.kind = 'foo'; o.name = 'foo'; - o.outputSource = buildUnnamed18(); - o.prerequisiteStage = buildUnnamed19(); + o.outputSource = buildUnnamed20(); + o.prerequisiteStage = buildUnnamed21(); } buildCounterExecutionStageSummary--; return o; @@ -1681,13 +1758,13 @@ api.ExecutionStageSummary buildExecutionStageSummary() { void checkExecutionStageSummary(api.ExecutionStageSummary o) { buildCounterExecutionStageSummary++; if (buildCounterExecutionStageSummary < 3) { - checkUnnamed15(o.componentSource!); - checkUnnamed16(o.componentTransform!); + checkUnnamed17(o.componentSource!); + checkUnnamed18(o.componentTransform!); unittest.expect( o.id!, unittest.equals('foo'), ); - checkUnnamed17(o.inputSource!); + checkUnnamed19(o.inputSource!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -1696,8 +1773,8 @@ void checkExecutionStageSummary(api.ExecutionStageSummary o) { o.name!, unittest.equals('foo'), ); - checkUnnamed18(o.outputSource!); - checkUnnamed19(o.prerequisiteStage!); + checkUnnamed20(o.outputSource!); + checkUnnamed21(o.prerequisiteStage!); } buildCounterExecutionStageSummary--; } @@ -1746,12 +1823,12 @@ void checkFileIODetails(api.FileIODetails o) { buildCounterFileIODetails--; } -core.List buildUnnamed20() => [ +core.List buildUnnamed22() => [ buildInstructionInput(), buildInstructionInput(), ]; -void checkUnnamed20(core.List o) { +void checkUnnamed22(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstructionInput(o[0]); checkInstructionInput(o[1]); @@ -1762,7 +1839,7 @@ api.FlattenInstruction buildFlattenInstruction() { final o = api.FlattenInstruction(); buildCounterFlattenInstruction++; if (buildCounterFlattenInstruction < 3) { - o.inputs = buildUnnamed20(); + o.inputs = buildUnnamed22(); } buildCounterFlattenInstruction--; return o; @@ -1771,17 +1848,17 @@ api.FlattenInstruction buildFlattenInstruction() { void checkFlattenInstruction(api.FlattenInstruction o) { buildCounterFlattenInstruction++; if (buildCounterFlattenInstruction < 3) { - checkUnnamed20(o.inputs!); + checkUnnamed22(o.inputs!); } buildCounterFlattenInstruction--; } -core.List buildUnnamed21() => [ +core.List buildUnnamed23() => [ 'foo', 'foo', ]; -void checkUnnamed21(core.List o) { +void checkUnnamed23(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1793,12 +1870,29 @@ void checkUnnamed21(core.List o) { ); } -core.Map buildUnnamed22() => { +core.List buildUnnamed24() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed24(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.Map buildUnnamed25() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed22(core.Map o) { +void checkUnnamed25(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1815,8 +1909,9 @@ api.FlexTemplateRuntimeEnvironment buildFlexTemplateRuntimeEnvironment() { final o = api.FlexTemplateRuntimeEnvironment(); buildCounterFlexTemplateRuntimeEnvironment++; if (buildCounterFlexTemplateRuntimeEnvironment < 3) { - o.additionalExperiments = buildUnnamed21(); - o.additionalUserLabels = buildUnnamed22(); + o.additionalExperiments = buildUnnamed23(); + o.additionalPipelineOptions = buildUnnamed24(); + o.additionalUserLabels = buildUnnamed25(); o.autoscalingAlgorithm = 'foo'; o.diskSizeGb = 42; o.dumpHeapOnOom = true; @@ -1848,8 +1943,9 @@ api.FlexTemplateRuntimeEnvironment buildFlexTemplateRuntimeEnvironment() { void checkFlexTemplateRuntimeEnvironment(api.FlexTemplateRuntimeEnvironment o) { buildCounterFlexTemplateRuntimeEnvironment++; if (buildCounterFlexTemplateRuntimeEnvironment < 3) { - checkUnnamed21(o.additionalExperiments!); - checkUnnamed22(o.additionalUserLabels!); + checkUnnamed23(o.additionalExperiments!); + checkUnnamed24(o.additionalPipelineOptions!); + checkUnnamed25(o.additionalUserLabels!); unittest.expect( o.autoscalingAlgorithm!, unittest.equals('foo'), @@ -1937,12 +2033,12 @@ void checkFlexTemplateRuntimeEnvironment(api.FlexTemplateRuntimeEnvironment o) { buildCounterFlexTemplateRuntimeEnvironment--; } -core.List buildUnnamed23() => [ +core.List buildUnnamed26() => [ 42.0, 42.0, ]; -void checkUnnamed23(core.List o) { +void checkUnnamed26(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1959,7 +2055,7 @@ api.FloatingPointList buildFloatingPointList() { final o = api.FloatingPointList(); buildCounterFloatingPointList++; if (buildCounterFloatingPointList < 3) { - o.elements = buildUnnamed23(); + o.elements = buildUnnamed26(); } buildCounterFloatingPointList--; return o; @@ -1968,7 +2064,7 @@ api.FloatingPointList buildFloatingPointList() { void checkFloatingPointList(api.FloatingPointList o) { buildCounterFloatingPointList++; if (buildCounterFloatingPointList < 3) { - checkUnnamed23(o.elements!); + checkUnnamed26(o.elements!); } buildCounterFloatingPointList--; } @@ -2125,12 +2221,12 @@ void checkGetTemplateResponse(api.GetTemplateResponse o) { buildCounterGetTemplateResponse--; } -core.List buildUnnamed24() => [ +core.List buildUnnamed27() => [ 'foo', 'foo', ]; -void checkUnnamed24(core.List o) { +void checkUnnamed27(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2147,7 +2243,7 @@ api.Histogram buildHistogram() { final o = api.Histogram(); buildCounterHistogram++; if (buildCounterHistogram < 3) { - o.bucketCounts = buildUnnamed24(); + o.bucketCounts = buildUnnamed27(); o.firstBucketOffset = 42; } buildCounterHistogram--; @@ -2157,7 +2253,7 @@ api.Histogram buildHistogram() { void checkHistogram(api.Histogram o) { buildCounterHistogram++; if (buildCounterHistogram < 3) { - checkUnnamed24(o.bucketCounts!); + checkUnnamed27(o.bucketCounts!); unittest.expect( o.firstBucketOffset!, unittest.equals(42), @@ -2166,12 +2262,12 @@ void checkHistogram(api.Histogram o) { buildCounterHistogram--; } -core.Map buildUnnamed25() => { +core.Map buildUnnamed28() => { 'x': buildHotKeyInfo(), 'y': buildHotKeyInfo(), }; -void checkUnnamed25(core.Map o) { +void checkUnnamed28(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkHotKeyInfo(o['x']!); checkHotKeyInfo(o['y']!); @@ -2182,7 +2278,7 @@ api.HotKeyDebuggingInfo buildHotKeyDebuggingInfo() { final o = api.HotKeyDebuggingInfo(); buildCounterHotKeyDebuggingInfo++; if (buildCounterHotKeyDebuggingInfo < 3) { - o.detectedHotKeys = buildUnnamed25(); + o.detectedHotKeys = buildUnnamed28(); } buildCounterHotKeyDebuggingInfo--; return o; @@ -2191,7 +2287,7 @@ api.HotKeyDebuggingInfo buildHotKeyDebuggingInfo() { void checkHotKeyDebuggingInfo(api.HotKeyDebuggingInfo o) { buildCounterHotKeyDebuggingInfo++; if (buildCounterHotKeyDebuggingInfo < 3) { - checkUnnamed25(o.detectedHotKeys!); + checkUnnamed28(o.detectedHotKeys!); } buildCounterHotKeyDebuggingInfo--; } @@ -2284,7 +2380,7 @@ void checkInstructionInput(api.InstructionInput o) { buildCounterInstructionInput--; } -core.Map buildUnnamed26() => { +core.Map buildUnnamed29() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2297,7 +2393,7 @@ core.Map buildUnnamed26() => { }, }; -void checkUnnamed26(core.Map o) { +void checkUnnamed29(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted10 = (o['x']!) as core.Map; unittest.expect(casted10, unittest.hasLength(3)); @@ -2334,7 +2430,7 @@ api.InstructionOutput buildInstructionOutput() { final o = api.InstructionOutput(); buildCounterInstructionOutput++; if (buildCounterInstructionOutput < 3) { - o.codec = buildUnnamed26(); + o.codec = buildUnnamed29(); o.name = 'foo'; o.onlyCountKeyBytes = true; o.onlyCountValueBytes = true; @@ -2348,7 +2444,7 @@ api.InstructionOutput buildInstructionOutput() { void checkInstructionOutput(api.InstructionOutput o) { buildCounterInstructionOutput++; if (buildCounterInstructionOutput < 3) { - checkUnnamed26(o.codec!); + checkUnnamed29(o.codec!); unittest.expect( o.name!, unittest.equals('foo'), @@ -2391,12 +2487,12 @@ void checkIntegerGauge(api.IntegerGauge o) { buildCounterIntegerGauge--; } -core.List buildUnnamed27() => [ +core.List buildUnnamed30() => [ buildSplitInt64(), buildSplitInt64(), ]; -void checkUnnamed27(core.List o) { +void checkUnnamed30(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSplitInt64(o[0]); checkSplitInt64(o[1]); @@ -2407,7 +2503,7 @@ api.IntegerList buildIntegerList() { final o = api.IntegerList(); buildCounterIntegerList++; if (buildCounterIntegerList < 3) { - o.elements = buildUnnamed27(); + o.elements = buildUnnamed30(); } buildCounterIntegerList--; return o; @@ -2416,7 +2512,7 @@ api.IntegerList buildIntegerList() { void checkIntegerList(api.IntegerList o) { buildCounterIntegerList++; if (buildCounterIntegerList < 3) { - checkUnnamed27(o.elements!); + checkUnnamed30(o.elements!); } buildCounterIntegerList--; } @@ -2442,12 +2538,12 @@ void checkIntegerMean(api.IntegerMean o) { buildCounterIntegerMean--; } -core.Map buildUnnamed28() => { +core.Map buildUnnamed31() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed28(core.Map o) { +void checkUnnamed31(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2459,34 +2555,34 @@ void checkUnnamed28(core.Map o) { ); } -core.List buildUnnamed29() => [ +core.List buildUnnamed32() => [ buildExecutionStageState(), buildExecutionStageState(), ]; -void checkUnnamed29(core.List o) { +void checkUnnamed32(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExecutionStageState(o[0]); checkExecutionStageState(o[1]); } -core.List buildUnnamed30() => [ +core.List buildUnnamed33() => [ buildStep(), buildStep(), ]; -void checkUnnamed30(core.List o) { +void checkUnnamed33(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStep(o[0]); checkStep(o[1]); } -core.List buildUnnamed31() => [ +core.List buildUnnamed34() => [ 'foo', 'foo', ]; -void checkUnnamed31(core.List o) { +void checkUnnamed34(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2498,12 +2594,12 @@ void checkUnnamed31(core.List o) { ); } -core.Map buildUnnamed32() => { +core.Map buildUnnamed35() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed32(core.Map o) { +void checkUnnamed35(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2529,7 +2625,7 @@ api.Job buildJob() { o.executionInfo = buildJobExecutionInfo(); o.id = 'foo'; o.jobMetadata = buildJobMetadata(); - o.labels = buildUnnamed28(); + o.labels = buildUnnamed31(); o.location = 'foo'; o.name = 'foo'; o.pipelineDescription = buildPipelineDescription(); @@ -2541,12 +2637,12 @@ api.Job buildJob() { o.satisfiesPzi = true; o.satisfiesPzs = true; o.serviceResources = buildServiceResources(); - o.stageStates = buildUnnamed29(); + o.stageStates = buildUnnamed32(); o.startTime = 'foo'; - o.steps = buildUnnamed30(); + o.steps = buildUnnamed33(); o.stepsLocation = 'foo'; - o.tempFiles = buildUnnamed31(); - o.transformNameMapping = buildUnnamed32(); + o.tempFiles = buildUnnamed34(); + o.transformNameMapping = buildUnnamed35(); o.type = 'foo'; } buildCounterJob--; @@ -2583,7 +2679,7 @@ void checkJob(api.Job o) { unittest.equals('foo'), ); checkJobMetadata(o.jobMetadata!); - checkUnnamed28(o.labels!); + checkUnnamed31(o.labels!); unittest.expect( o.location!, unittest.equals('foo'), @@ -2613,18 +2709,18 @@ void checkJob(api.Job o) { unittest.expect(o.satisfiesPzi!, unittest.isTrue); unittest.expect(o.satisfiesPzs!, unittest.isTrue); checkServiceResources(o.serviceResources!); - checkUnnamed29(o.stageStates!); + checkUnnamed32(o.stageStates!); unittest.expect( o.startTime!, unittest.equals('foo'), ); - checkUnnamed30(o.steps!); + checkUnnamed33(o.steps!); unittest.expect( o.stepsLocation!, unittest.equals('foo'), ); - checkUnnamed31(o.tempFiles!); - checkUnnamed32(o.transformNameMapping!); + checkUnnamed34(o.tempFiles!); + checkUnnamed35(o.transformNameMapping!); unittest.expect( o.type!, unittest.equals('foo'), @@ -2633,12 +2729,12 @@ void checkJob(api.Job o) { buildCounterJob--; } -core.List buildUnnamed33() => [ +core.List buildUnnamed36() => [ buildStageSummary(), buildStageSummary(), ]; -void checkUnnamed33(core.List o) { +void checkUnnamed36(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStageSummary(o[0]); checkStageSummary(o[1]); @@ -2650,7 +2746,7 @@ api.JobExecutionDetails buildJobExecutionDetails() { buildCounterJobExecutionDetails++; if (buildCounterJobExecutionDetails < 3) { o.nextPageToken = 'foo'; - o.stages = buildUnnamed33(); + o.stages = buildUnnamed36(); } buildCounterJobExecutionDetails--; return o; @@ -2663,17 +2759,17 @@ void checkJobExecutionDetails(api.JobExecutionDetails o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed33(o.stages!); + checkUnnamed36(o.stages!); } buildCounterJobExecutionDetails--; } -core.Map buildUnnamed34() => { +core.Map buildUnnamed37() => { 'x': buildJobExecutionStageInfo(), 'y': buildJobExecutionStageInfo(), }; -void checkUnnamed34(core.Map o) { +void checkUnnamed37(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkJobExecutionStageInfo(o['x']!); checkJobExecutionStageInfo(o['y']!); @@ -2684,7 +2780,7 @@ api.JobExecutionInfo buildJobExecutionInfo() { final o = api.JobExecutionInfo(); buildCounterJobExecutionInfo++; if (buildCounterJobExecutionInfo < 3) { - o.stages = buildUnnamed34(); + o.stages = buildUnnamed37(); } buildCounterJobExecutionInfo--; return o; @@ -2693,17 +2789,17 @@ api.JobExecutionInfo buildJobExecutionInfo() { void checkJobExecutionInfo(api.JobExecutionInfo o) { buildCounterJobExecutionInfo++; if (buildCounterJobExecutionInfo < 3) { - checkUnnamed34(o.stages!); + checkUnnamed37(o.stages!); } buildCounterJobExecutionInfo--; } -core.List buildUnnamed35() => [ +core.List buildUnnamed38() => [ 'foo', 'foo', ]; -void checkUnnamed35(core.List o) { +void checkUnnamed38(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2720,7 +2816,7 @@ api.JobExecutionStageInfo buildJobExecutionStageInfo() { final o = api.JobExecutionStageInfo(); buildCounterJobExecutionStageInfo++; if (buildCounterJobExecutionStageInfo < 3) { - o.stepName = buildUnnamed35(); + o.stepName = buildUnnamed38(); } buildCounterJobExecutionStageInfo--; return o; @@ -2729,7 +2825,7 @@ api.JobExecutionStageInfo buildJobExecutionStageInfo() { void checkJobExecutionStageInfo(api.JobExecutionStageInfo o) { buildCounterJobExecutionStageInfo++; if (buildCounterJobExecutionStageInfo < 3) { - checkUnnamed35(o.stepName!); + checkUnnamed38(o.stepName!); } buildCounterJobExecutionStageInfo--; } @@ -2771,78 +2867,78 @@ void checkJobMessage(api.JobMessage o) { buildCounterJobMessage--; } -core.List buildUnnamed36() => [ +core.List buildUnnamed39() => [ buildBigTableIODetails(), buildBigTableIODetails(), ]; -void checkUnnamed36(core.List o) { +void checkUnnamed39(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBigTableIODetails(o[0]); checkBigTableIODetails(o[1]); } -core.List buildUnnamed37() => [ +core.List buildUnnamed40() => [ buildBigQueryIODetails(), buildBigQueryIODetails(), ]; -void checkUnnamed37(core.List o) { +void checkUnnamed40(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkBigQueryIODetails(o[0]); checkBigQueryIODetails(o[1]); } -core.List buildUnnamed38() => [ +core.List buildUnnamed41() => [ buildDatastoreIODetails(), buildDatastoreIODetails(), ]; -void checkUnnamed38(core.List o) { +void checkUnnamed41(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDatastoreIODetails(o[0]); checkDatastoreIODetails(o[1]); } -core.List buildUnnamed39() => [ +core.List buildUnnamed42() => [ buildFileIODetails(), buildFileIODetails(), ]; -void checkUnnamed39(core.List o) { +void checkUnnamed42(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFileIODetails(o[0]); checkFileIODetails(o[1]); } -core.List buildUnnamed40() => [ +core.List buildUnnamed43() => [ buildPubSubIODetails(), buildPubSubIODetails(), ]; -void checkUnnamed40(core.List o) { +void checkUnnamed43(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPubSubIODetails(o[0]); checkPubSubIODetails(o[1]); } -core.List buildUnnamed41() => [ +core.List buildUnnamed44() => [ buildSpannerIODetails(), buildSpannerIODetails(), ]; -void checkUnnamed41(core.List o) { +void checkUnnamed44(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSpannerIODetails(o[0]); checkSpannerIODetails(o[1]); } -core.Map buildUnnamed42() => { +core.Map buildUnnamed45() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed42(core.Map o) { +void checkUnnamed45(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2859,14 +2955,14 @@ api.JobMetadata buildJobMetadata() { final o = api.JobMetadata(); buildCounterJobMetadata++; if (buildCounterJobMetadata < 3) { - o.bigTableDetails = buildUnnamed36(); - o.bigqueryDetails = buildUnnamed37(); - o.datastoreDetails = buildUnnamed38(); - o.fileDetails = buildUnnamed39(); - o.pubsubDetails = buildUnnamed40(); + o.bigTableDetails = buildUnnamed39(); + o.bigqueryDetails = buildUnnamed40(); + o.datastoreDetails = buildUnnamed41(); + o.fileDetails = buildUnnamed42(); + o.pubsubDetails = buildUnnamed43(); o.sdkVersion = buildSdkVersion(); - o.spannerDetails = buildUnnamed41(); - o.userDisplayProperties = buildUnnamed42(); + o.spannerDetails = buildUnnamed44(); + o.userDisplayProperties = buildUnnamed45(); } buildCounterJobMetadata--; return o; @@ -2875,24 +2971,24 @@ api.JobMetadata buildJobMetadata() { void checkJobMetadata(api.JobMetadata o) { buildCounterJobMetadata++; if (buildCounterJobMetadata < 3) { - checkUnnamed36(o.bigTableDetails!); - checkUnnamed37(o.bigqueryDetails!); - checkUnnamed38(o.datastoreDetails!); - checkUnnamed39(o.fileDetails!); - checkUnnamed40(o.pubsubDetails!); + checkUnnamed39(o.bigTableDetails!); + checkUnnamed40(o.bigqueryDetails!); + checkUnnamed41(o.datastoreDetails!); + checkUnnamed42(o.fileDetails!); + checkUnnamed43(o.pubsubDetails!); checkSdkVersion(o.sdkVersion!); - checkUnnamed41(o.spannerDetails!); - checkUnnamed42(o.userDisplayProperties!); + checkUnnamed44(o.spannerDetails!); + checkUnnamed45(o.userDisplayProperties!); } buildCounterJobMetadata--; } -core.List buildUnnamed43() => [ +core.List buildUnnamed46() => [ buildMetricUpdate(), buildMetricUpdate(), ]; -void checkUnnamed43(core.List o) { +void checkUnnamed46(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMetricUpdate(o[0]); checkMetricUpdate(o[1]); @@ -2904,7 +3000,7 @@ api.JobMetrics buildJobMetrics() { buildCounterJobMetrics++; if (buildCounterJobMetrics < 3) { o.metricTime = 'foo'; - o.metrics = buildUnnamed43(); + o.metrics = buildUnnamed46(); } buildCounterJobMetrics--; return o; @@ -2917,7 +3013,7 @@ void checkJobMetrics(api.JobMetrics o) { o.metricTime!, unittest.equals('foo'), ); - checkUnnamed43(o.metrics!); + checkUnnamed46(o.metrics!); } buildCounterJobMetrics--; } @@ -2996,12 +3092,12 @@ void checkKeyRangeLocation(api.KeyRangeLocation o) { buildCounterKeyRangeLocation--; } -core.Map buildUnnamed44() => { +core.Map buildUnnamed47() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed44(core.Map o) { +void checkUnnamed47(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3013,12 +3109,12 @@ void checkUnnamed44(core.Map o) { ); } -core.Map buildUnnamed45() => { +core.Map buildUnnamed48() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed45(core.Map o) { +void checkUnnamed48(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3030,12 +3126,12 @@ void checkUnnamed45(core.Map o) { ); } -core.Map buildUnnamed46() => { +core.Map buildUnnamed49() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed46(core.Map o) { +void checkUnnamed49(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3056,9 +3152,9 @@ api.LaunchFlexTemplateParameter buildLaunchFlexTemplateParameter() { o.containerSpecGcsPath = 'foo'; o.environment = buildFlexTemplateRuntimeEnvironment(); o.jobName = 'foo'; - o.launchOptions = buildUnnamed44(); - o.parameters = buildUnnamed45(); - o.transformNameMappings = buildUnnamed46(); + o.launchOptions = buildUnnamed47(); + o.parameters = buildUnnamed48(); + o.transformNameMappings = buildUnnamed49(); o.update = true; } buildCounterLaunchFlexTemplateParameter--; @@ -3078,9 +3174,9 @@ void checkLaunchFlexTemplateParameter(api.LaunchFlexTemplateParameter o) { o.jobName!, unittest.equals('foo'), ); - checkUnnamed44(o.launchOptions!); - checkUnnamed45(o.parameters!); - checkUnnamed46(o.transformNameMappings!); + checkUnnamed47(o.launchOptions!); + checkUnnamed48(o.parameters!); + checkUnnamed49(o.transformNameMappings!); unittest.expect(o.update!, unittest.isTrue); } buildCounterLaunchFlexTemplateParameter--; @@ -3126,12 +3222,12 @@ void checkLaunchFlexTemplateResponse(api.LaunchFlexTemplateResponse o) { buildCounterLaunchFlexTemplateResponse--; } -core.Map buildUnnamed47() => { +core.Map buildUnnamed50() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed47(core.Map o) { +void checkUnnamed50(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3143,12 +3239,12 @@ void checkUnnamed47(core.Map o) { ); } -core.Map buildUnnamed48() => { +core.Map buildUnnamed51() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed48(core.Map o) { +void checkUnnamed51(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3167,8 +3263,8 @@ api.LaunchTemplateParameters buildLaunchTemplateParameters() { if (buildCounterLaunchTemplateParameters < 3) { o.environment = buildRuntimeEnvironment(); o.jobName = 'foo'; - o.parameters = buildUnnamed47(); - o.transformNameMapping = buildUnnamed48(); + o.parameters = buildUnnamed50(); + o.transformNameMapping = buildUnnamed51(); o.update = true; } buildCounterLaunchTemplateParameters--; @@ -3183,8 +3279,8 @@ void checkLaunchTemplateParameters(api.LaunchTemplateParameters o) { o.jobName!, unittest.equals('foo'), ); - checkUnnamed47(o.parameters!); - checkUnnamed48(o.transformNameMapping!); + checkUnnamed50(o.parameters!); + checkUnnamed51(o.transformNameMapping!); unittest.expect(o.update!, unittest.isTrue); } buildCounterLaunchTemplateParameters--; @@ -3209,7 +3305,7 @@ void checkLaunchTemplateResponse(api.LaunchTemplateResponse o) { buildCounterLaunchTemplateResponse--; } -core.Map buildUnnamed49() => { +core.Map buildUnnamed52() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3222,7 +3318,7 @@ core.Map buildUnnamed49() => { }, }; -void checkUnnamed49(core.Map o) { +void checkUnnamed52(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted12 = (o['x']!) as core.Map; unittest.expect(casted12, unittest.hasLength(3)); @@ -3254,12 +3350,12 @@ void checkUnnamed49(core.Map o) { ); } -core.List buildUnnamed50() => [ +core.List buildUnnamed53() => [ 'foo', 'foo', ]; -void checkUnnamed50(core.List o) { +void checkUnnamed53(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3271,12 +3367,12 @@ void checkUnnamed50(core.List o) { ); } -core.List buildUnnamed51() => [ +core.List buildUnnamed54() => [ 'foo', 'foo', ]; -void checkUnnamed51(core.List o) { +void checkUnnamed54(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3297,9 +3393,9 @@ api.LeaseWorkItemRequest buildLeaseWorkItemRequest() { o.location = 'foo'; o.projectNumber = 'foo'; o.requestedLeaseDuration = 'foo'; - o.unifiedWorkerRequest = buildUnnamed49(); - o.workItemTypes = buildUnnamed50(); - o.workerCapabilities = buildUnnamed51(); + o.unifiedWorkerRequest = buildUnnamed52(); + o.workItemTypes = buildUnnamed53(); + o.workerCapabilities = buildUnnamed54(); o.workerId = 'foo'; } buildCounterLeaseWorkItemRequest--; @@ -3325,9 +3421,9 @@ void checkLeaseWorkItemRequest(api.LeaseWorkItemRequest o) { o.requestedLeaseDuration!, unittest.equals('foo'), ); - checkUnnamed49(o.unifiedWorkerRequest!); - checkUnnamed50(o.workItemTypes!); - checkUnnamed51(o.workerCapabilities!); + checkUnnamed52(o.unifiedWorkerRequest!); + checkUnnamed53(o.workItemTypes!); + checkUnnamed54(o.workerCapabilities!); unittest.expect( o.workerId!, unittest.equals('foo'), @@ -3336,7 +3432,7 @@ void checkLeaseWorkItemRequest(api.LeaseWorkItemRequest o) { buildCounterLeaseWorkItemRequest--; } -core.Map buildUnnamed52() => { +core.Map buildUnnamed55() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -3349,7 +3445,7 @@ core.Map buildUnnamed52() => { }, }; -void checkUnnamed52(core.Map o) { +void checkUnnamed55(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted14 = (o['x']!) as core.Map; unittest.expect(casted14, unittest.hasLength(3)); @@ -3381,12 +3477,12 @@ void checkUnnamed52(core.Map o) { ); } -core.List buildUnnamed53() => [ +core.List buildUnnamed56() => [ buildWorkItem(), buildWorkItem(), ]; -void checkUnnamed53(core.List o) { +void checkUnnamed56(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWorkItem(o[0]); checkWorkItem(o[1]); @@ -3397,8 +3493,8 @@ api.LeaseWorkItemResponse buildLeaseWorkItemResponse() { final o = api.LeaseWorkItemResponse(); buildCounterLeaseWorkItemResponse++; if (buildCounterLeaseWorkItemResponse < 3) { - o.unifiedWorkerResponse = buildUnnamed52(); - o.workItems = buildUnnamed53(); + o.unifiedWorkerResponse = buildUnnamed55(); + o.workItems = buildUnnamed56(); } buildCounterLeaseWorkItemResponse--; return o; @@ -3407,8 +3503,8 @@ api.LeaseWorkItemResponse buildLeaseWorkItemResponse() { void checkLeaseWorkItemResponse(api.LeaseWorkItemResponse o) { buildCounterLeaseWorkItemResponse++; if (buildCounterLeaseWorkItemResponse < 3) { - checkUnnamed52(o.unifiedWorkerResponse!); - checkUnnamed53(o.workItems!); + checkUnnamed55(o.unifiedWorkerResponse!); + checkUnnamed56(o.workItems!); } buildCounterLeaseWorkItemResponse--; } @@ -3445,23 +3541,23 @@ void checkLinear(api.Linear o) { buildCounterLinear--; } -core.List buildUnnamed54() => [ +core.List buildUnnamed57() => [ buildAutoscalingEvent(), buildAutoscalingEvent(), ]; -void checkUnnamed54(core.List o) { +void checkUnnamed57(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAutoscalingEvent(o[0]); checkAutoscalingEvent(o[1]); } -core.List buildUnnamed55() => [ +core.List buildUnnamed58() => [ buildJobMessage(), buildJobMessage(), ]; -void checkUnnamed55(core.List o) { +void checkUnnamed58(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkJobMessage(o[0]); checkJobMessage(o[1]); @@ -3472,8 +3568,8 @@ api.ListJobMessagesResponse buildListJobMessagesResponse() { final o = api.ListJobMessagesResponse(); buildCounterListJobMessagesResponse++; if (buildCounterListJobMessagesResponse < 3) { - o.autoscalingEvents = buildUnnamed54(); - o.jobMessages = buildUnnamed55(); + o.autoscalingEvents = buildUnnamed57(); + o.jobMessages = buildUnnamed58(); o.nextPageToken = 'foo'; } buildCounterListJobMessagesResponse--; @@ -3483,8 +3579,8 @@ api.ListJobMessagesResponse buildListJobMessagesResponse() { void checkListJobMessagesResponse(api.ListJobMessagesResponse o) { buildCounterListJobMessagesResponse++; if (buildCounterListJobMessagesResponse < 3) { - checkUnnamed54(o.autoscalingEvents!); - checkUnnamed55(o.jobMessages!); + checkUnnamed57(o.autoscalingEvents!); + checkUnnamed58(o.jobMessages!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -3493,23 +3589,23 @@ void checkListJobMessagesResponse(api.ListJobMessagesResponse o) { buildCounterListJobMessagesResponse--; } -core.List buildUnnamed56() => [ +core.List buildUnnamed59() => [ buildFailedLocation(), buildFailedLocation(), ]; -void checkUnnamed56(core.List o) { +void checkUnnamed59(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFailedLocation(o[0]); checkFailedLocation(o[1]); } -core.List buildUnnamed57() => [ +core.List buildUnnamed60() => [ buildJob(), buildJob(), ]; -void checkUnnamed57(core.List o) { +void checkUnnamed60(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkJob(o[0]); checkJob(o[1]); @@ -3520,8 +3616,8 @@ api.ListJobsResponse buildListJobsResponse() { final o = api.ListJobsResponse(); buildCounterListJobsResponse++; if (buildCounterListJobsResponse < 3) { - o.failedLocation = buildUnnamed56(); - o.jobs = buildUnnamed57(); + o.failedLocation = buildUnnamed59(); + o.jobs = buildUnnamed60(); o.nextPageToken = 'foo'; } buildCounterListJobsResponse--; @@ -3531,8 +3627,8 @@ api.ListJobsResponse buildListJobsResponse() { void checkListJobsResponse(api.ListJobsResponse o) { buildCounterListJobsResponse++; if (buildCounterListJobsResponse < 3) { - checkUnnamed56(o.failedLocation!); - checkUnnamed57(o.jobs!); + checkUnnamed59(o.failedLocation!); + checkUnnamed60(o.jobs!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -3541,12 +3637,12 @@ void checkListJobsResponse(api.ListJobsResponse o) { buildCounterListJobsResponse--; } -core.List buildUnnamed58() => [ +core.List buildUnnamed61() => [ buildSnapshot(), buildSnapshot(), ]; -void checkUnnamed58(core.List o) { +void checkUnnamed61(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSnapshot(o[0]); checkSnapshot(o[1]); @@ -3557,7 +3653,7 @@ api.ListSnapshotsResponse buildListSnapshotsResponse() { final o = api.ListSnapshotsResponse(); buildCounterListSnapshotsResponse++; if (buildCounterListSnapshotsResponse < 3) { - o.snapshots = buildUnnamed58(); + o.snapshots = buildUnnamed61(); } buildCounterListSnapshotsResponse--; return o; @@ -3566,17 +3662,17 @@ api.ListSnapshotsResponse buildListSnapshotsResponse() { void checkListSnapshotsResponse(api.ListSnapshotsResponse o) { buildCounterListSnapshotsResponse++; if (buildCounterListSnapshotsResponse < 3) { - checkUnnamed58(o.snapshots!); + checkUnnamed61(o.snapshots!); } buildCounterListSnapshotsResponse--; } -core.List buildUnnamed59() => [ +core.List buildUnnamed62() => [ buildParallelInstruction(), buildParallelInstruction(), ]; -void checkUnnamed59(core.List o) { +void checkUnnamed62(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkParallelInstruction(o[0]); checkParallelInstruction(o[1]); @@ -3588,7 +3684,7 @@ api.MapTask buildMapTask() { buildCounterMapTask++; if (buildCounterMapTask < 3) { o.counterPrefix = 'foo'; - o.instructions = buildUnnamed59(); + o.instructions = buildUnnamed62(); o.stageName = 'foo'; o.systemName = 'foo'; } @@ -3603,7 +3699,7 @@ void checkMapTask(api.MapTask o) { o.counterPrefix!, unittest.equals('foo'), ); - checkUnnamed59(o.instructions!); + checkUnnamed62(o.instructions!); unittest.expect( o.stageName!, unittest.equals('foo'), @@ -3685,12 +3781,12 @@ void checkMetricShortId(api.MetricShortId o) { buildCounterMetricShortId--; } -core.Map buildUnnamed60() => { +core.Map buildUnnamed63() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed60(core.Map o) { +void checkUnnamed63(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3707,7 +3803,7 @@ api.MetricStructuredName buildMetricStructuredName() { final o = api.MetricStructuredName(); buildCounterMetricStructuredName++; if (buildCounterMetricStructuredName < 3) { - o.context = buildUnnamed60(); + o.context = buildUnnamed63(); o.name = 'foo'; o.origin = 'foo'; } @@ -3718,7 +3814,7 @@ api.MetricStructuredName buildMetricStructuredName() { void checkMetricStructuredName(api.MetricStructuredName o) { buildCounterMetricStructuredName++; if (buildCounterMetricStructuredName < 3) { - checkUnnamed60(o.context!); + checkUnnamed63(o.context!); unittest.expect( o.name!, unittest.equals('foo'), @@ -3774,6 +3870,11 @@ api.MetricUpdate buildMetricUpdate() { 'bool': true, 'string': 'foo' }; + o.trie = { + 'list': [1, 2, 3], + 'bool': true, + 'string': 'foo' + }; o.updateTime = 'foo'; } buildCounterMetricUpdate--; @@ -3887,6 +3988,20 @@ void checkMetricUpdate(api.MetricUpdate o) { casted22['string'], unittest.equals('foo'), ); + var casted23 = (o.trie!) as core.Map; + unittest.expect(casted23, unittest.hasLength(3)); + unittest.expect( + casted23['list'], + unittest.equals([1, 2, 3]), + ); + unittest.expect( + casted23['bool'], + unittest.equals(true), + ); + unittest.expect( + casted23['string'], + unittest.equals('foo'), + ); unittest.expect( o.updateTime!, unittest.equals('foo'), @@ -3895,12 +4010,12 @@ void checkMetricUpdate(api.MetricUpdate o) { buildCounterMetricUpdate--; } -core.Map buildUnnamed61() => { +core.Map buildUnnamed64() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed61(core.Map o) { +void checkUnnamed64(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3918,7 +4033,7 @@ api.MetricValue buildMetricValue() { buildCounterMetricValue++; if (buildCounterMetricValue < 3) { o.metric = 'foo'; - o.metricLabels = buildUnnamed61(); + o.metricLabels = buildUnnamed64(); o.valueGauge64 = buildDataflowGaugeValue(); o.valueHistogram = buildDataflowHistogramValue(); o.valueInt64 = 'foo'; @@ -3934,7 +4049,7 @@ void checkMetricValue(api.MetricValue o) { o.metric!, unittest.equals('foo'), ); - checkUnnamed61(o.metricLabels!); + checkUnnamed64(o.metricLabels!); checkDataflowGaugeValue(o.valueGauge64!); checkDataflowHistogramValue(o.valueHistogram!); unittest.expect( @@ -4080,29 +4195,29 @@ void checkPackage(api.Package o) { buildCounterPackage--; } -core.List buildUnnamed62() => [ +core.List buildUnnamed65() => [ buildMultiOutputInfo(), buildMultiOutputInfo(), ]; -void checkUnnamed62(core.List o) { +void checkUnnamed65(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMultiOutputInfo(o[0]); checkMultiOutputInfo(o[1]); } -core.List buildUnnamed63() => [ +core.List buildUnnamed66() => [ buildSideInputInfo(), buildSideInputInfo(), ]; -void checkUnnamed63(core.List o) { +void checkUnnamed66(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSideInputInfo(o[0]); checkSideInputInfo(o[1]); } -core.Map buildUnnamed64() => { +core.Map buildUnnamed67() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -4115,34 +4230,34 @@ core.Map buildUnnamed64() => { }, }; -void checkUnnamed64(core.Map o) { +void checkUnnamed67(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted23 = (o['x']!) as core.Map; - unittest.expect(casted23, unittest.hasLength(3)); + var casted24 = (o['x']!) as core.Map; + unittest.expect(casted24, unittest.hasLength(3)); unittest.expect( - casted23['list'], + casted24['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted23['bool'], + casted24['bool'], unittest.equals(true), ); unittest.expect( - casted23['string'], + casted24['string'], unittest.equals('foo'), ); - var casted24 = (o['y']!) as core.Map; - unittest.expect(casted24, unittest.hasLength(3)); + var casted25 = (o['y']!) as core.Map; + unittest.expect(casted25, unittest.hasLength(3)); unittest.expect( - casted24['list'], + casted25['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted24['bool'], + casted25['bool'], unittest.equals(true), ); unittest.expect( - casted24['string'], + casted25['string'], unittest.equals('foo'), ); } @@ -4153,10 +4268,10 @@ api.ParDoInstruction buildParDoInstruction() { buildCounterParDoInstruction++; if (buildCounterParDoInstruction < 3) { o.input = buildInstructionInput(); - o.multiOutputInfos = buildUnnamed62(); + o.multiOutputInfos = buildUnnamed65(); o.numOutputs = 42; - o.sideInputs = buildUnnamed63(); - o.userFn = buildUnnamed64(); + o.sideInputs = buildUnnamed66(); + o.userFn = buildUnnamed67(); } buildCounterParDoInstruction--; return o; @@ -4166,23 +4281,23 @@ void checkParDoInstruction(api.ParDoInstruction o) { buildCounterParDoInstruction++; if (buildCounterParDoInstruction < 3) { checkInstructionInput(o.input!); - checkUnnamed62(o.multiOutputInfos!); + checkUnnamed65(o.multiOutputInfos!); unittest.expect( o.numOutputs!, unittest.equals(42), ); - checkUnnamed63(o.sideInputs!); - checkUnnamed64(o.userFn!); + checkUnnamed66(o.sideInputs!); + checkUnnamed67(o.userFn!); } buildCounterParDoInstruction--; } -core.List buildUnnamed65() => [ +core.List buildUnnamed68() => [ buildInstructionOutput(), buildInstructionOutput(), ]; -void checkUnnamed65(core.List o) { +void checkUnnamed68(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkInstructionOutput(o[0]); checkInstructionOutput(o[1]); @@ -4196,7 +4311,7 @@ api.ParallelInstruction buildParallelInstruction() { o.flatten = buildFlattenInstruction(); o.name = 'foo'; o.originalName = 'foo'; - o.outputs = buildUnnamed65(); + o.outputs = buildUnnamed68(); o.parDo = buildParDoInstruction(); o.partialGroupByKey = buildPartialGroupByKeyInstruction(); o.read = buildReadInstruction(); @@ -4219,7 +4334,7 @@ void checkParallelInstruction(api.ParallelInstruction o) { o.originalName!, unittest.equals('foo'), ); - checkUnnamed65(o.outputs!); + checkUnnamed68(o.outputs!); checkParDoInstruction(o.parDo!); checkPartialGroupByKeyInstruction(o.partialGroupByKey!); checkReadInstruction(o.read!); @@ -4255,30 +4370,30 @@ void checkParameter(api.Parameter o) { o.key!, unittest.equals('foo'), ); - var casted25 = (o.value!) as core.Map; - unittest.expect(casted25, unittest.hasLength(3)); + var casted26 = (o.value!) as core.Map; + unittest.expect(casted26, unittest.hasLength(3)); unittest.expect( - casted25['list'], + casted26['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted25['bool'], + casted26['bool'], unittest.equals(true), ); unittest.expect( - casted25['string'], + casted26['string'], unittest.equals('foo'), ); } buildCounterParameter--; } -core.Map buildUnnamed66() => { +core.Map buildUnnamed69() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed66(core.Map o) { +void checkUnnamed69(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -4290,23 +4405,23 @@ void checkUnnamed66(core.Map o) { ); } -core.List buildUnnamed67() => [ +core.List buildUnnamed70() => [ buildParameterMetadataEnumOption(), buildParameterMetadataEnumOption(), ]; -void checkUnnamed67(core.List o) { +void checkUnnamed70(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkParameterMetadataEnumOption(o[0]); checkParameterMetadataEnumOption(o[1]); } -core.List buildUnnamed68() => [ +core.List buildUnnamed71() => [ 'foo', 'foo', ]; -void checkUnnamed68(core.List o) { +void checkUnnamed71(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4318,12 +4433,12 @@ void checkUnnamed68(core.List o) { ); } -core.List buildUnnamed69() => [ +core.List buildUnnamed72() => [ 'foo', 'foo', ]; -void checkUnnamed69(core.List o) { +void checkUnnamed72(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4340,9 +4455,9 @@ api.ParameterMetadata buildParameterMetadata() { final o = api.ParameterMetadata(); buildCounterParameterMetadata++; if (buildCounterParameterMetadata < 3) { - o.customMetadata = buildUnnamed66(); + o.customMetadata = buildUnnamed69(); o.defaultValue = 'foo'; - o.enumOptions = buildUnnamed67(); + o.enumOptions = buildUnnamed70(); o.groupName = 'foo'; o.helpText = 'foo'; o.hiddenUi = true; @@ -4351,8 +4466,8 @@ api.ParameterMetadata buildParameterMetadata() { o.name = 'foo'; o.paramType = 'foo'; o.parentName = 'foo'; - o.parentTriggerValues = buildUnnamed68(); - o.regexes = buildUnnamed69(); + o.parentTriggerValues = buildUnnamed71(); + o.regexes = buildUnnamed72(); } buildCounterParameterMetadata--; return o; @@ -4361,12 +4476,12 @@ api.ParameterMetadata buildParameterMetadata() { void checkParameterMetadata(api.ParameterMetadata o) { buildCounterParameterMetadata++; if (buildCounterParameterMetadata < 3) { - checkUnnamed66(o.customMetadata!); + checkUnnamed69(o.customMetadata!); unittest.expect( o.defaultValue!, unittest.equals('foo'), ); - checkUnnamed67(o.enumOptions!); + checkUnnamed70(o.enumOptions!); unittest.expect( o.groupName!, unittest.equals('foo'), @@ -4393,8 +4508,8 @@ void checkParameterMetadata(api.ParameterMetadata o) { o.parentName!, unittest.equals('foo'), ); - checkUnnamed68(o.parentTriggerValues!); - checkUnnamed69(o.regexes!); + checkUnnamed71(o.parentTriggerValues!); + checkUnnamed72(o.regexes!); } buildCounterParameterMetadata--; } @@ -4431,7 +4546,7 @@ void checkParameterMetadataEnumOption(api.ParameterMetadataEnumOption o) { buildCounterParameterMetadataEnumOption--; } -core.Map buildUnnamed70() => { +core.Map buildUnnamed73() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -4444,50 +4559,50 @@ core.Map buildUnnamed70() => { }, }; -void checkUnnamed70(core.Map o) { +void checkUnnamed73(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted26 = (o['x']!) as core.Map; - unittest.expect(casted26, unittest.hasLength(3)); + var casted27 = (o['x']!) as core.Map; + unittest.expect(casted27, unittest.hasLength(3)); unittest.expect( - casted26['list'], + casted27['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted26['bool'], + casted27['bool'], unittest.equals(true), ); unittest.expect( - casted26['string'], + casted27['string'], unittest.equals('foo'), ); - var casted27 = (o['y']!) as core.Map; - unittest.expect(casted27, unittest.hasLength(3)); + var casted28 = (o['y']!) as core.Map; + unittest.expect(casted28, unittest.hasLength(3)); unittest.expect( - casted27['list'], + casted28['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted27['bool'], + casted28['bool'], unittest.equals(true), ); unittest.expect( - casted27['string'], + casted28['string'], unittest.equals('foo'), ); } -core.List buildUnnamed71() => [ +core.List buildUnnamed74() => [ buildSideInputInfo(), buildSideInputInfo(), ]; -void checkUnnamed71(core.List o) { +void checkUnnamed74(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSideInputInfo(o[0]); checkSideInputInfo(o[1]); } -core.Map buildUnnamed72() => { +core.Map buildUnnamed75() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -4500,34 +4615,34 @@ core.Map buildUnnamed72() => { }, }; -void checkUnnamed72(core.Map o) { +void checkUnnamed75(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted28 = (o['x']!) as core.Map; - unittest.expect(casted28, unittest.hasLength(3)); + var casted29 = (o['x']!) as core.Map; + unittest.expect(casted29, unittest.hasLength(3)); unittest.expect( - casted28['list'], + casted29['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted28['bool'], + casted29['bool'], unittest.equals(true), ); unittest.expect( - casted28['string'], + casted29['string'], unittest.equals('foo'), ); - var casted29 = (o['y']!) as core.Map; - unittest.expect(casted29, unittest.hasLength(3)); + var casted30 = (o['y']!) as core.Map; + unittest.expect(casted30, unittest.hasLength(3)); unittest.expect( - casted29['list'], + casted30['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted29['bool'], + casted30['bool'], unittest.equals(true), ); unittest.expect( - casted29['string'], + casted30['string'], unittest.equals('foo'), ); } @@ -4538,11 +4653,11 @@ api.PartialGroupByKeyInstruction buildPartialGroupByKeyInstruction() { buildCounterPartialGroupByKeyInstruction++; if (buildCounterPartialGroupByKeyInstruction < 3) { o.input = buildInstructionInput(); - o.inputElementCodec = buildUnnamed70(); + o.inputElementCodec = buildUnnamed73(); o.originalCombineValuesInputStoreName = 'foo'; o.originalCombineValuesStepName = 'foo'; - o.sideInputs = buildUnnamed71(); - o.valueCombiningFn = buildUnnamed72(); + o.sideInputs = buildUnnamed74(); + o.valueCombiningFn = buildUnnamed75(); } buildCounterPartialGroupByKeyInstruction--; return o; @@ -4552,7 +4667,7 @@ void checkPartialGroupByKeyInstruction(api.PartialGroupByKeyInstruction o) { buildCounterPartialGroupByKeyInstruction++; if (buildCounterPartialGroupByKeyInstruction < 3) { checkInstructionInput(o.input!); - checkUnnamed70(o.inputElementCodec!); + checkUnnamed73(o.inputElementCodec!); unittest.expect( o.originalCombineValuesInputStoreName!, unittest.equals('foo'), @@ -4561,18 +4676,18 @@ void checkPartialGroupByKeyInstruction(api.PartialGroupByKeyInstruction o) { o.originalCombineValuesStepName!, unittest.equals('foo'), ); - checkUnnamed71(o.sideInputs!); - checkUnnamed72(o.valueCombiningFn!); + checkUnnamed74(o.sideInputs!); + checkUnnamed75(o.valueCombiningFn!); } buildCounterPartialGroupByKeyInstruction--; } -core.List buildUnnamed73() => [ +core.List buildUnnamed76() => [ buildMetricValue(), buildMetricValue(), ]; -void checkUnnamed73(core.List o) { +void checkUnnamed76(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMetricValue(o[0]); checkMetricValue(o[1]); @@ -4583,7 +4698,7 @@ api.PerStepNamespaceMetrics buildPerStepNamespaceMetrics() { final o = api.PerStepNamespaceMetrics(); buildCounterPerStepNamespaceMetrics++; if (buildCounterPerStepNamespaceMetrics < 3) { - o.metricValues = buildUnnamed73(); + o.metricValues = buildUnnamed76(); o.metricsNamespace = 'foo'; o.originalStep = 'foo'; } @@ -4594,7 +4709,7 @@ api.PerStepNamespaceMetrics buildPerStepNamespaceMetrics() { void checkPerStepNamespaceMetrics(api.PerStepNamespaceMetrics o) { buildCounterPerStepNamespaceMetrics++; if (buildCounterPerStepNamespaceMetrics < 3) { - checkUnnamed73(o.metricValues!); + checkUnnamed76(o.metricValues!); unittest.expect( o.metricsNamespace!, unittest.equals('foo'), @@ -4607,12 +4722,12 @@ void checkPerStepNamespaceMetrics(api.PerStepNamespaceMetrics o) { buildCounterPerStepNamespaceMetrics--; } -core.List buildUnnamed74() => [ +core.List buildUnnamed77() => [ buildPerStepNamespaceMetrics(), buildPerStepNamespaceMetrics(), ]; -void checkUnnamed74(core.List o) { +void checkUnnamed77(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPerStepNamespaceMetrics(o[0]); checkPerStepNamespaceMetrics(o[1]); @@ -4623,7 +4738,7 @@ api.PerWorkerMetrics buildPerWorkerMetrics() { final o = api.PerWorkerMetrics(); buildCounterPerWorkerMetrics++; if (buildCounterPerWorkerMetrics < 3) { - o.perStepNamespaceMetrics = buildUnnamed74(); + o.perStepNamespaceMetrics = buildUnnamed77(); } buildCounterPerWorkerMetrics--; return o; @@ -4632,39 +4747,39 @@ api.PerWorkerMetrics buildPerWorkerMetrics() { void checkPerWorkerMetrics(api.PerWorkerMetrics o) { buildCounterPerWorkerMetrics++; if (buildCounterPerWorkerMetrics < 3) { - checkUnnamed74(o.perStepNamespaceMetrics!); + checkUnnamed77(o.perStepNamespaceMetrics!); } buildCounterPerWorkerMetrics--; } -core.List buildUnnamed75() => [ +core.List buildUnnamed78() => [ buildDisplayData(), buildDisplayData(), ]; -void checkUnnamed75(core.List o) { +void checkUnnamed78(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDisplayData(o[0]); checkDisplayData(o[1]); } -core.List buildUnnamed76() => [ +core.List buildUnnamed79() => [ buildExecutionStageSummary(), buildExecutionStageSummary(), ]; -void checkUnnamed76(core.List o) { +void checkUnnamed79(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExecutionStageSummary(o[0]); checkExecutionStageSummary(o[1]); } -core.List buildUnnamed77() => [ +core.List buildUnnamed80() => [ buildTransformSummary(), buildTransformSummary(), ]; -void checkUnnamed77(core.List o) { +void checkUnnamed80(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTransformSummary(o[0]); checkTransformSummary(o[1]); @@ -4675,9 +4790,9 @@ api.PipelineDescription buildPipelineDescription() { final o = api.PipelineDescription(); buildCounterPipelineDescription++; if (buildCounterPipelineDescription < 3) { - o.displayData = buildUnnamed75(); - o.executionPipelineStage = buildUnnamed76(); - o.originalPipelineTransform = buildUnnamed77(); + o.displayData = buildUnnamed78(); + o.executionPipelineStage = buildUnnamed79(); + o.originalPipelineTransform = buildUnnamed80(); o.stepNamesHash = 'foo'; } buildCounterPipelineDescription--; @@ -4687,9 +4802,9 @@ api.PipelineDescription buildPipelineDescription() { void checkPipelineDescription(api.PipelineDescription o) { buildCounterPipelineDescription++; if (buildCounterPipelineDescription < 3) { - checkUnnamed75(o.displayData!); - checkUnnamed76(o.executionPipelineStage!); - checkUnnamed77(o.originalPipelineTransform!); + checkUnnamed78(o.displayData!); + checkUnnamed79(o.executionPipelineStage!); + checkUnnamed80(o.originalPipelineTransform!); unittest.expect( o.stepNamesHash!, unittest.equals('foo'), @@ -4766,12 +4881,12 @@ void checkPosition(api.Position o) { buildCounterPosition--; } -core.List buildUnnamed78() => [ +core.List buildUnnamed81() => [ buildPoint(), buildPoint(), ]; -void checkUnnamed78(core.List o) { +void checkUnnamed81(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPoint(o[0]); checkPoint(o[1]); @@ -4783,7 +4898,7 @@ api.ProgressTimeseries buildProgressTimeseries() { buildCounterProgressTimeseries++; if (buildCounterProgressTimeseries < 3) { o.currentProgress = 42.0; - o.dataPoints = buildUnnamed78(); + o.dataPoints = buildUnnamed81(); } buildCounterProgressTimeseries--; return o; @@ -4796,7 +4911,7 @@ void checkProgressTimeseries(api.ProgressTimeseries o) { o.currentProgress!, unittest.equals(42.0), ); - checkUnnamed78(o.dataPoints!); + checkUnnamed81(o.dataPoints!); } buildCounterProgressTimeseries--; } @@ -4927,7 +5042,7 @@ void checkReadInstruction(api.ReadInstruction o) { buildCounterReadInstruction--; } -core.Map buildUnnamed79() => { +core.Map buildUnnamed82() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -4940,44 +5055,44 @@ core.Map buildUnnamed79() => { }, }; -void checkUnnamed79(core.Map o) { +void checkUnnamed82(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted30 = (o['x']!) as core.Map; - unittest.expect(casted30, unittest.hasLength(3)); + var casted31 = (o['x']!) as core.Map; + unittest.expect(casted31, unittest.hasLength(3)); unittest.expect( - casted30['list'], + casted31['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted30['bool'], + casted31['bool'], unittest.equals(true), ); unittest.expect( - casted30['string'], + casted31['string'], unittest.equals('foo'), ); - var casted31 = (o['y']!) as core.Map; - unittest.expect(casted31, unittest.hasLength(3)); + var casted32 = (o['y']!) as core.Map; + unittest.expect(casted32, unittest.hasLength(3)); unittest.expect( - casted31['list'], + casted32['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted31['bool'], + casted32['bool'], unittest.equals(true), ); unittest.expect( - casted31['string'], + casted32['string'], unittest.equals('foo'), ); } -core.List buildUnnamed80() => [ +core.List buildUnnamed83() => [ buildWorkItemStatus(), buildWorkItemStatus(), ]; -void checkUnnamed80(core.List o) { +void checkUnnamed83(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWorkItemStatus(o[0]); checkWorkItemStatus(o[1]); @@ -4991,8 +5106,8 @@ api.ReportWorkItemStatusRequest buildReportWorkItemStatusRequest() { o.currentWorkerTime = 'foo'; o.location = 'foo'; o.projectNumber = 'foo'; - o.unifiedWorkerRequest = buildUnnamed79(); - o.workItemStatuses = buildUnnamed80(); + o.unifiedWorkerRequest = buildUnnamed82(); + o.workItemStatuses = buildUnnamed83(); o.workerId = 'foo'; } buildCounterReportWorkItemStatusRequest--; @@ -5014,8 +5129,8 @@ void checkReportWorkItemStatusRequest(api.ReportWorkItemStatusRequest o) { o.projectNumber!, unittest.equals('foo'), ); - checkUnnamed79(o.unifiedWorkerRequest!); - checkUnnamed80(o.workItemStatuses!); + checkUnnamed82(o.unifiedWorkerRequest!); + checkUnnamed83(o.workItemStatuses!); unittest.expect( o.workerId!, unittest.equals('foo'), @@ -5024,7 +5139,7 @@ void checkReportWorkItemStatusRequest(api.ReportWorkItemStatusRequest o) { buildCounterReportWorkItemStatusRequest--; } -core.Map buildUnnamed81() => { +core.Map buildUnnamed84() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -5037,44 +5152,44 @@ core.Map buildUnnamed81() => { }, }; -void checkUnnamed81(core.Map o) { +void checkUnnamed84(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted32 = (o['x']!) as core.Map; - unittest.expect(casted32, unittest.hasLength(3)); + var casted33 = (o['x']!) as core.Map; + unittest.expect(casted33, unittest.hasLength(3)); unittest.expect( - casted32['list'], + casted33['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted32['bool'], + casted33['bool'], unittest.equals(true), ); unittest.expect( - casted32['string'], + casted33['string'], unittest.equals('foo'), ); - var casted33 = (o['y']!) as core.Map; - unittest.expect(casted33, unittest.hasLength(3)); + var casted34 = (o['y']!) as core.Map; + unittest.expect(casted34, unittest.hasLength(3)); unittest.expect( - casted33['list'], + casted34['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted33['bool'], + casted34['bool'], unittest.equals(true), ); unittest.expect( - casted33['string'], + casted34['string'], unittest.equals('foo'), ); } -core.List buildUnnamed82() => [ +core.List buildUnnamed85() => [ buildWorkItemServiceState(), buildWorkItemServiceState(), ]; -void checkUnnamed82(core.List o) { +void checkUnnamed85(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWorkItemServiceState(o[0]); checkWorkItemServiceState(o[1]); @@ -5085,8 +5200,8 @@ api.ReportWorkItemStatusResponse buildReportWorkItemStatusResponse() { final o = api.ReportWorkItemStatusResponse(); buildCounterReportWorkItemStatusResponse++; if (buildCounterReportWorkItemStatusResponse < 3) { - o.unifiedWorkerResponse = buildUnnamed81(); - o.workItemServiceStates = buildUnnamed82(); + o.unifiedWorkerResponse = buildUnnamed84(); + o.workItemServiceStates = buildUnnamed85(); } buildCounterReportWorkItemStatusResponse--; return o; @@ -5095,8 +5210,8 @@ api.ReportWorkItemStatusResponse buildReportWorkItemStatusResponse() { void checkReportWorkItemStatusResponse(api.ReportWorkItemStatusResponse o) { buildCounterReportWorkItemStatusResponse++; if (buildCounterReportWorkItemStatusResponse < 3) { - checkUnnamed81(o.unifiedWorkerResponse!); - checkUnnamed82(o.workItemServiceStates!); + checkUnnamed84(o.unifiedWorkerResponse!); + checkUnnamed85(o.workItemServiceStates!); } buildCounterReportWorkItemStatusResponse--; } @@ -5125,45 +5240,45 @@ void checkReportedParallelism(api.ReportedParallelism o) { buildCounterReportedParallelism--; } -core.Map buildUnnamed83() => { +core.Map buildUnnamed86() => { 'x': buildResourceUtilizationReport(), 'y': buildResourceUtilizationReport(), }; -void checkUnnamed83(core.Map o) { +void checkUnnamed86(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkResourceUtilizationReport(o['x']!); checkResourceUtilizationReport(o['y']!); } -core.List buildUnnamed84() => [ +core.List buildUnnamed87() => [ buildCPUTime(), buildCPUTime(), ]; -void checkUnnamed84(core.List o) { +void checkUnnamed87(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCPUTime(o[0]); checkCPUTime(o[1]); } -core.List buildUnnamed85() => [ +core.List buildUnnamed88() => [ buildGPUUsage(), buildGPUUsage(), ]; -void checkUnnamed85(core.List o) { +void checkUnnamed88(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkGPUUsage(o[0]); checkGPUUsage(o[1]); } -core.List buildUnnamed86() => [ +core.List buildUnnamed89() => [ buildMemInfo(), buildMemInfo(), ]; -void checkUnnamed86(core.List o) { +void checkUnnamed89(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMemInfo(o[0]); checkMemInfo(o[1]); @@ -5174,10 +5289,10 @@ api.ResourceUtilizationReport buildResourceUtilizationReport() { final o = api.ResourceUtilizationReport(); buildCounterResourceUtilizationReport++; if (buildCounterResourceUtilizationReport < 3) { - o.containers = buildUnnamed83(); - o.cpuTime = buildUnnamed84(); - o.gpuUsage = buildUnnamed85(); - o.memoryInfo = buildUnnamed86(); + o.containers = buildUnnamed86(); + o.cpuTime = buildUnnamed87(); + o.gpuUsage = buildUnnamed88(); + o.memoryInfo = buildUnnamed89(); } buildCounterResourceUtilizationReport--; return o; @@ -5186,10 +5301,10 @@ api.ResourceUtilizationReport buildResourceUtilizationReport() { void checkResourceUtilizationReport(api.ResourceUtilizationReport o) { buildCounterResourceUtilizationReport++; if (buildCounterResourceUtilizationReport < 3) { - checkUnnamed83(o.containers!); - checkUnnamed84(o.cpuTime!); - checkUnnamed85(o.gpuUsage!); - checkUnnamed86(o.memoryInfo!); + checkUnnamed86(o.containers!); + checkUnnamed87(o.cpuTime!); + checkUnnamed88(o.gpuUsage!); + checkUnnamed89(o.memoryInfo!); } buildCounterResourceUtilizationReport--; } @@ -5210,12 +5325,12 @@ void checkResourceUtilizationReportResponse( buildCounterResourceUtilizationReportResponse--; } -core.List buildUnnamed87() => [ +core.List buildUnnamed90() => [ 'foo', 'foo', ]; -void checkUnnamed87(core.List o) { +void checkUnnamed90(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5227,12 +5342,29 @@ void checkUnnamed87(core.List o) { ); } -core.Map buildUnnamed88() => { +core.List buildUnnamed91() => [ + 'foo', + 'foo', + ]; + +void checkUnnamed91(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + unittest.expect( + o[0], + unittest.equals('foo'), + ); + unittest.expect( + o[1], + unittest.equals('foo'), + ); +} + +core.Map buildUnnamed92() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed88(core.Map o) { +void checkUnnamed92(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -5249,8 +5381,9 @@ api.RuntimeEnvironment buildRuntimeEnvironment() { final o = api.RuntimeEnvironment(); buildCounterRuntimeEnvironment++; if (buildCounterRuntimeEnvironment < 3) { - o.additionalExperiments = buildUnnamed87(); - o.additionalUserLabels = buildUnnamed88(); + o.additionalExperiments = buildUnnamed90(); + o.additionalPipelineOptions = buildUnnamed91(); + o.additionalUserLabels = buildUnnamed92(); o.bypassTempDirValidation = true; o.diskSizeGb = 42; o.enableStreamingEngine = true; @@ -5275,8 +5408,9 @@ api.RuntimeEnvironment buildRuntimeEnvironment() { void checkRuntimeEnvironment(api.RuntimeEnvironment o) { buildCounterRuntimeEnvironment++; if (buildCounterRuntimeEnvironment < 3) { - checkUnnamed87(o.additionalExperiments!); - checkUnnamed88(o.additionalUserLabels!); + checkUnnamed90(o.additionalExperiments!); + checkUnnamed91(o.additionalPipelineOptions!); + checkUnnamed92(o.additionalUserLabels!); unittest.expect(o.bypassTempDirValidation!, unittest.isTrue); unittest.expect( o.diskSizeGb!, @@ -5339,12 +5473,12 @@ void checkRuntimeEnvironment(api.RuntimeEnvironment o) { buildCounterRuntimeEnvironment--; } -core.List buildUnnamed89() => [ +core.List buildUnnamed93() => [ buildParameterMetadata(), buildParameterMetadata(), ]; -void checkUnnamed89(core.List o) { +void checkUnnamed93(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkParameterMetadata(o[0]); checkParameterMetadata(o[1]); @@ -5355,7 +5489,7 @@ api.RuntimeMetadata buildRuntimeMetadata() { final o = api.RuntimeMetadata(); buildCounterRuntimeMetadata++; if (buildCounterRuntimeMetadata < 3) { - o.parameters = buildUnnamed89(); + o.parameters = buildUnnamed93(); o.sdkInfo = buildSDKInfo(); } buildCounterRuntimeMetadata--; @@ -5365,7 +5499,7 @@ api.RuntimeMetadata buildRuntimeMetadata() { void checkRuntimeMetadata(api.RuntimeMetadata o) { buildCounterRuntimeMetadata++; if (buildCounterRuntimeMetadata < 3) { - checkUnnamed89(o.parameters!); + checkUnnamed93(o.parameters!); checkSDKInfo(o.sdkInfo!); } buildCounterRuntimeMetadata--; @@ -5462,12 +5596,12 @@ void checkSdkBug(api.SdkBug o) { buildCounterSdkBug--; } -core.List buildUnnamed90() => [ +core.List buildUnnamed94() => [ 'foo', 'foo', ]; -void checkUnnamed90(core.List o) { +void checkUnnamed94(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5484,7 +5618,7 @@ api.SdkHarnessContainerImage buildSdkHarnessContainerImage() { final o = api.SdkHarnessContainerImage(); buildCounterSdkHarnessContainerImage++; if (buildCounterSdkHarnessContainerImage < 3) { - o.capabilities = buildUnnamed90(); + o.capabilities = buildUnnamed94(); o.containerImage = 'foo'; o.environmentId = 'foo'; o.useSingleCorePerContainer = true; @@ -5496,7 +5630,7 @@ api.SdkHarnessContainerImage buildSdkHarnessContainerImage() { void checkSdkHarnessContainerImage(api.SdkHarnessContainerImage o) { buildCounterSdkHarnessContainerImage++; if (buildCounterSdkHarnessContainerImage < 3) { - checkUnnamed90(o.capabilities!); + checkUnnamed94(o.capabilities!); unittest.expect( o.containerImage!, unittest.equals('foo'), @@ -5510,12 +5644,12 @@ void checkSdkHarnessContainerImage(api.SdkHarnessContainerImage o) { buildCounterSdkHarnessContainerImage--; } -core.List buildUnnamed91() => [ +core.List buildUnnamed95() => [ buildSdkBug(), buildSdkBug(), ]; -void checkUnnamed91(core.List o) { +void checkUnnamed95(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSdkBug(o[0]); checkSdkBug(o[1]); @@ -5526,7 +5660,7 @@ api.SdkVersion buildSdkVersion() { final o = api.SdkVersion(); buildCounterSdkVersion++; if (buildCounterSdkVersion < 3) { - o.bugs = buildUnnamed91(); + o.bugs = buildUnnamed95(); o.sdkSupportStatus = 'foo'; o.version = 'foo'; o.versionDisplayName = 'foo'; @@ -5538,7 +5672,7 @@ api.SdkVersion buildSdkVersion() { void checkSdkVersion(api.SdkVersion o) { buildCounterSdkVersion++; if (buildCounterSdkVersion < 3) { - checkUnnamed91(o.bugs!); + checkUnnamed95(o.bugs!); unittest.expect( o.sdkSupportStatus!, unittest.equals('foo'), @@ -5612,12 +5746,12 @@ void checkSendDebugCaptureResponse(api.SendDebugCaptureResponse o) { buildCounterSendDebugCaptureResponse--; } -core.List buildUnnamed92() => [ +core.List buildUnnamed96() => [ buildWorkerMessage(), buildWorkerMessage(), ]; -void checkUnnamed92(core.List o) { +void checkUnnamed96(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWorkerMessage(o[0]); checkWorkerMessage(o[1]); @@ -5629,7 +5763,7 @@ api.SendWorkerMessagesRequest buildSendWorkerMessagesRequest() { buildCounterSendWorkerMessagesRequest++; if (buildCounterSendWorkerMessagesRequest < 3) { o.location = 'foo'; - o.workerMessages = buildUnnamed92(); + o.workerMessages = buildUnnamed96(); } buildCounterSendWorkerMessagesRequest--; return o; @@ -5642,17 +5776,17 @@ void checkSendWorkerMessagesRequest(api.SendWorkerMessagesRequest o) { o.location!, unittest.equals('foo'), ); - checkUnnamed92(o.workerMessages!); + checkUnnamed96(o.workerMessages!); } buildCounterSendWorkerMessagesRequest--; } -core.List buildUnnamed93() => [ +core.List buildUnnamed97() => [ buildWorkerMessageResponse(), buildWorkerMessageResponse(), ]; -void checkUnnamed93(core.List o) { +void checkUnnamed97(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWorkerMessageResponse(o[0]); checkWorkerMessageResponse(o[1]); @@ -5663,7 +5797,7 @@ api.SendWorkerMessagesResponse buildSendWorkerMessagesResponse() { final o = api.SendWorkerMessagesResponse(); buildCounterSendWorkerMessagesResponse++; if (buildCounterSendWorkerMessagesResponse < 3) { - o.workerMessageResponses = buildUnnamed93(); + o.workerMessageResponses = buildUnnamed97(); } buildCounterSendWorkerMessagesResponse--; return o; @@ -5672,34 +5806,34 @@ api.SendWorkerMessagesResponse buildSendWorkerMessagesResponse() { void checkSendWorkerMessagesResponse(api.SendWorkerMessagesResponse o) { buildCounterSendWorkerMessagesResponse++; if (buildCounterSendWorkerMessagesResponse < 3) { - checkUnnamed93(o.workerMessageResponses!); + checkUnnamed97(o.workerMessageResponses!); } buildCounterSendWorkerMessagesResponse--; } -core.List buildUnnamed94() => [ +core.List buildUnnamed98() => [ buildSideInputInfo(), buildSideInputInfo(), ]; -void checkUnnamed94(core.List o) { +void checkUnnamed98(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSideInputInfo(o[0]); checkSideInputInfo(o[1]); } -core.List buildUnnamed95() => [ +core.List buildUnnamed99() => [ buildSeqMapTaskOutputInfo(), buildSeqMapTaskOutputInfo(), ]; -void checkUnnamed95(core.List o) { +void checkUnnamed99(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSeqMapTaskOutputInfo(o[0]); checkSeqMapTaskOutputInfo(o[1]); } -core.Map buildUnnamed96() => { +core.Map buildUnnamed100() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -5712,34 +5846,34 @@ core.Map buildUnnamed96() => { }, }; -void checkUnnamed96(core.Map o) { +void checkUnnamed100(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted34 = (o['x']!) as core.Map; - unittest.expect(casted34, unittest.hasLength(3)); + var casted35 = (o['x']!) as core.Map; + unittest.expect(casted35, unittest.hasLength(3)); unittest.expect( - casted34['list'], + casted35['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted34['bool'], + casted35['bool'], unittest.equals(true), ); unittest.expect( - casted34['string'], + casted35['string'], unittest.equals('foo'), ); - var casted35 = (o['y']!) as core.Map; - unittest.expect(casted35, unittest.hasLength(3)); + var casted36 = (o['y']!) as core.Map; + unittest.expect(casted36, unittest.hasLength(3)); unittest.expect( - casted35['list'], + casted36['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted35['bool'], + casted36['bool'], unittest.equals(true), ); unittest.expect( - casted35['string'], + casted36['string'], unittest.equals('foo'), ); } @@ -5749,12 +5883,12 @@ api.SeqMapTask buildSeqMapTask() { final o = api.SeqMapTask(); buildCounterSeqMapTask++; if (buildCounterSeqMapTask < 3) { - o.inputs = buildUnnamed94(); + o.inputs = buildUnnamed98(); o.name = 'foo'; - o.outputInfos = buildUnnamed95(); + o.outputInfos = buildUnnamed99(); o.stageName = 'foo'; o.systemName = 'foo'; - o.userFn = buildUnnamed96(); + o.userFn = buildUnnamed100(); } buildCounterSeqMapTask--; return o; @@ -5763,12 +5897,12 @@ api.SeqMapTask buildSeqMapTask() { void checkSeqMapTask(api.SeqMapTask o) { buildCounterSeqMapTask++; if (buildCounterSeqMapTask < 3) { - checkUnnamed94(o.inputs!); + checkUnnamed98(o.inputs!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed95(o.outputInfos!); + checkUnnamed99(o.outputInfos!); unittest.expect( o.stageName!, unittest.equals('foo'), @@ -5777,7 +5911,7 @@ void checkSeqMapTask(api.SeqMapTask o) { o.systemName!, unittest.equals('foo'), ); - checkUnnamed96(o.userFn!); + checkUnnamed100(o.userFn!); } buildCounterSeqMapTask--; } @@ -5806,12 +5940,12 @@ void checkSeqMapTaskOutputInfo(api.SeqMapTaskOutputInfo o) { buildCounterSeqMapTaskOutputInfo--; } -core.List buildUnnamed97() => [ +core.List buildUnnamed101() => [ 'foo', 'foo', ]; -void checkUnnamed97(core.List o) { +void checkUnnamed101(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -5828,7 +5962,7 @@ api.ServiceResources buildServiceResources() { final o = api.ServiceResources(); buildCounterServiceResources++; if (buildCounterServiceResources < 3) { - o.zones = buildUnnamed97(); + o.zones = buildUnnamed101(); } buildCounterServiceResources--; return o; @@ -5837,7 +5971,7 @@ api.ServiceResources buildServiceResources() { void checkServiceResources(api.ServiceResources o) { buildCounterServiceResources++; if (buildCounterServiceResources < 3) { - checkUnnamed97(o.zones!); + checkUnnamed101(o.zones!); } buildCounterServiceResources--; } @@ -5869,7 +6003,7 @@ void checkShellTask(api.ShellTask o) { buildCounterShellTask--; } -core.Map buildUnnamed98() => { +core.Map buildUnnamed102() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -5882,44 +6016,44 @@ core.Map buildUnnamed98() => { }, }; -void checkUnnamed98(core.Map o) { +void checkUnnamed102(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted36 = (o['x']!) as core.Map; - unittest.expect(casted36, unittest.hasLength(3)); + var casted37 = (o['x']!) as core.Map; + unittest.expect(casted37, unittest.hasLength(3)); unittest.expect( - casted36['list'], + casted37['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted36['bool'], + casted37['bool'], unittest.equals(true), ); unittest.expect( - casted36['string'], + casted37['string'], unittest.equals('foo'), ); - var casted37 = (o['y']!) as core.Map; - unittest.expect(casted37, unittest.hasLength(3)); + var casted38 = (o['y']!) as core.Map; + unittest.expect(casted38, unittest.hasLength(3)); unittest.expect( - casted37['list'], + casted38['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted37['bool'], + casted38['bool'], unittest.equals(true), ); unittest.expect( - casted37['string'], + casted38['string'], unittest.equals('foo'), ); } -core.List buildUnnamed99() => [ +core.List buildUnnamed103() => [ buildSource(), buildSource(), ]; -void checkUnnamed99(core.List o) { +void checkUnnamed103(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSource(o[0]); checkSource(o[1]); @@ -5930,8 +6064,8 @@ api.SideInputInfo buildSideInputInfo() { final o = api.SideInputInfo(); buildCounterSideInputInfo++; if (buildCounterSideInputInfo < 3) { - o.kind = buildUnnamed98(); - o.sources = buildUnnamed99(); + o.kind = buildUnnamed102(); + o.sources = buildUnnamed103(); o.tag = 'foo'; } buildCounterSideInputInfo--; @@ -5941,8 +6075,8 @@ api.SideInputInfo buildSideInputInfo() { void checkSideInputInfo(api.SideInputInfo o) { buildCounterSideInputInfo++; if (buildCounterSideInputInfo < 3) { - checkUnnamed98(o.kind!); - checkUnnamed99(o.sources!); + checkUnnamed102(o.kind!); + checkUnnamed103(o.sources!); unittest.expect( o.tag!, unittest.equals('foo'), @@ -5951,7 +6085,7 @@ void checkSideInputInfo(api.SideInputInfo o) { buildCounterSideInputInfo--; } -core.Map buildUnnamed100() => { +core.Map buildUnnamed104() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -5964,39 +6098,39 @@ core.Map buildUnnamed100() => { }, }; -void checkUnnamed100(core.Map o) { +void checkUnnamed104(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted38 = (o['x']!) as core.Map; - unittest.expect(casted38, unittest.hasLength(3)); + var casted39 = (o['x']!) as core.Map; + unittest.expect(casted39, unittest.hasLength(3)); unittest.expect( - casted38['list'], + casted39['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted38['bool'], + casted39['bool'], unittest.equals(true), ); unittest.expect( - casted38['string'], + casted39['string'], unittest.equals('foo'), ); - var casted39 = (o['y']!) as core.Map; - unittest.expect(casted39, unittest.hasLength(3)); + var casted40 = (o['y']!) as core.Map; + unittest.expect(casted40, unittest.hasLength(3)); unittest.expect( - casted39['list'], + casted40['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted39['bool'], + casted40['bool'], unittest.equals(true), ); unittest.expect( - casted39['string'], + casted40['string'], unittest.equals('foo'), ); } -core.Map buildUnnamed101() => { +core.Map buildUnnamed105() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -6009,34 +6143,34 @@ core.Map buildUnnamed101() => { }, }; -void checkUnnamed101(core.Map o) { +void checkUnnamed105(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted40 = (o['x']!) as core.Map; - unittest.expect(casted40, unittest.hasLength(3)); + var casted41 = (o['x']!) as core.Map; + unittest.expect(casted41, unittest.hasLength(3)); unittest.expect( - casted40['list'], + casted41['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted40['bool'], + casted41['bool'], unittest.equals(true), ); unittest.expect( - casted40['string'], + casted41['string'], unittest.equals('foo'), ); - var casted41 = (o['y']!) as core.Map; - unittest.expect(casted41, unittest.hasLength(3)); + var casted42 = (o['y']!) as core.Map; + unittest.expect(casted42, unittest.hasLength(3)); unittest.expect( - casted41['list'], + casted42['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted41['bool'], + casted42['bool'], unittest.equals(true), ); unittest.expect( - casted41['string'], + casted42['string'], unittest.equals('foo'), ); } @@ -6046,8 +6180,8 @@ api.Sink buildSink() { final o = api.Sink(); buildCounterSink++; if (buildCounterSink < 3) { - o.codec = buildUnnamed100(); - o.spec = buildUnnamed101(); + o.codec = buildUnnamed104(); + o.spec = buildUnnamed105(); } buildCounterSink--; return o; @@ -6056,18 +6190,18 @@ api.Sink buildSink() { void checkSink(api.Sink o) { buildCounterSink++; if (buildCounterSink < 3) { - checkUnnamed100(o.codec!); - checkUnnamed101(o.spec!); + checkUnnamed104(o.codec!); + checkUnnamed105(o.spec!); } buildCounterSink--; } -core.List buildUnnamed102() => [ +core.List buildUnnamed106() => [ buildPubsubSnapshotMetadata(), buildPubsubSnapshotMetadata(), ]; -void checkUnnamed102(core.List o) { +void checkUnnamed106(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPubsubSnapshotMetadata(o[0]); checkPubsubSnapshotMetadata(o[1]); @@ -6083,7 +6217,7 @@ api.Snapshot buildSnapshot() { o.diskSizeBytes = 'foo'; o.id = 'foo'; o.projectId = 'foo'; - o.pubsubMetadata = buildUnnamed102(); + o.pubsubMetadata = buildUnnamed106(); o.region = 'foo'; o.sourceJobId = 'foo'; o.state = 'foo'; @@ -6116,7 +6250,7 @@ void checkSnapshot(api.Snapshot o) { o.projectId!, unittest.equals('foo'), ); - checkUnnamed102(o.pubsubMetadata!); + checkUnnamed106(o.pubsubMetadata!); unittest.expect( o.region!, unittest.equals('foo'), @@ -6171,7 +6305,7 @@ void checkSnapshotJobRequest(api.SnapshotJobRequest o) { buildCounterSnapshotJobRequest--; } -core.Map buildUnnamed103() => { +core.Map buildUnnamed107() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -6184,50 +6318,50 @@ core.Map buildUnnamed103() => { }, }; -void checkUnnamed103(core.Map o) { +void checkUnnamed107(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted42 = (o['x']!) as core.Map; - unittest.expect(casted42, unittest.hasLength(3)); + var casted43 = (o['x']!) as core.Map; + unittest.expect(casted43, unittest.hasLength(3)); unittest.expect( - casted42['list'], + casted43['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted42['bool'], + casted43['bool'], unittest.equals(true), ); unittest.expect( - casted42['string'], + casted43['string'], unittest.equals('foo'), ); - var casted43 = (o['y']!) as core.Map; - unittest.expect(casted43, unittest.hasLength(3)); + var casted44 = (o['y']!) as core.Map; + unittest.expect(casted44, unittest.hasLength(3)); unittest.expect( - casted43['list'], + casted44['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted43['bool'], + casted44['bool'], unittest.equals(true), ); unittest.expect( - casted43['string'], + casted44['string'], unittest.equals('foo'), ); } -core.List> buildUnnamed104() => [ - buildUnnamed103(), - buildUnnamed103(), +core.List> buildUnnamed108() => [ + buildUnnamed107(), + buildUnnamed107(), ]; -void checkUnnamed104(core.List> o) { +void checkUnnamed108(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed103(o[0]); - checkUnnamed103(o[1]); + checkUnnamed107(o[0]); + checkUnnamed107(o[1]); } -core.Map buildUnnamed105() => { +core.Map buildUnnamed109() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -6240,39 +6374,39 @@ core.Map buildUnnamed105() => { }, }; -void checkUnnamed105(core.Map o) { +void checkUnnamed109(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted44 = (o['x']!) as core.Map; - unittest.expect(casted44, unittest.hasLength(3)); + var casted45 = (o['x']!) as core.Map; + unittest.expect(casted45, unittest.hasLength(3)); unittest.expect( - casted44['list'], + casted45['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted44['bool'], + casted45['bool'], unittest.equals(true), ); unittest.expect( - casted44['string'], + casted45['string'], unittest.equals('foo'), ); - var casted45 = (o['y']!) as core.Map; - unittest.expect(casted45, unittest.hasLength(3)); + var casted46 = (o['y']!) as core.Map; + unittest.expect(casted46, unittest.hasLength(3)); unittest.expect( - casted45['list'], + casted46['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted45['bool'], + casted46['bool'], unittest.equals(true), ); unittest.expect( - casted45['string'], + casted46['string'], unittest.equals('foo'), ); } -core.Map buildUnnamed106() => { +core.Map buildUnnamed110() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -6285,34 +6419,34 @@ core.Map buildUnnamed106() => { }, }; -void checkUnnamed106(core.Map o) { +void checkUnnamed110(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted46 = (o['x']!) as core.Map; - unittest.expect(casted46, unittest.hasLength(3)); + var casted47 = (o['x']!) as core.Map; + unittest.expect(casted47, unittest.hasLength(3)); unittest.expect( - casted46['list'], + casted47['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted46['bool'], + casted47['bool'], unittest.equals(true), ); unittest.expect( - casted46['string'], + casted47['string'], unittest.equals('foo'), ); - var casted47 = (o['y']!) as core.Map; - unittest.expect(casted47, unittest.hasLength(3)); + var casted48 = (o['y']!) as core.Map; + unittest.expect(casted48, unittest.hasLength(3)); unittest.expect( - casted47['list'], + casted48['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted47['bool'], + casted48['bool'], unittest.equals(true), ); unittest.expect( - casted47['string'], + casted48['string'], unittest.equals('foo'), ); } @@ -6322,11 +6456,11 @@ api.Source buildSource() { final o = api.Source(); buildCounterSource++; if (buildCounterSource < 3) { - o.baseSpecs = buildUnnamed104(); - o.codec = buildUnnamed105(); + o.baseSpecs = buildUnnamed108(); + o.codec = buildUnnamed109(); o.doesNotNeedSplitting = true; o.metadata = buildSourceMetadata(); - o.spec = buildUnnamed106(); + o.spec = buildUnnamed110(); } buildCounterSource--; return o; @@ -6335,11 +6469,11 @@ api.Source buildSource() { void checkSource(api.Source o) { buildCounterSource++; if (buildCounterSource < 3) { - checkUnnamed104(o.baseSpecs!); - checkUnnamed105(o.codec!); + checkUnnamed108(o.baseSpecs!); + checkUnnamed109(o.codec!); unittest.expect(o.doesNotNeedSplitting!, unittest.isTrue); checkSourceMetadata(o.metadata!); - checkUnnamed106(o.spec!); + checkUnnamed110(o.spec!); } buildCounterSource--; } @@ -6543,23 +6677,23 @@ void checkSourceSplitRequest(api.SourceSplitRequest o) { buildCounterSourceSplitRequest--; } -core.List buildUnnamed107() => [ +core.List buildUnnamed111() => [ buildDerivedSource(), buildDerivedSource(), ]; -void checkUnnamed107(core.List o) { +void checkUnnamed111(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDerivedSource(o[0]); checkDerivedSource(o[1]); } -core.List buildUnnamed108() => [ +core.List buildUnnamed112() => [ buildSourceSplitShard(), buildSourceSplitShard(), ]; -void checkUnnamed108(core.List o) { +void checkUnnamed112(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSourceSplitShard(o[0]); checkSourceSplitShard(o[1]); @@ -6570,9 +6704,9 @@ api.SourceSplitResponse buildSourceSplitResponse() { final o = api.SourceSplitResponse(); buildCounterSourceSplitResponse++; if (buildCounterSourceSplitResponse < 3) { - o.bundles = buildUnnamed107(); + o.bundles = buildUnnamed111(); o.outcome = 'foo'; - o.shards = buildUnnamed108(); + o.shards = buildUnnamed112(); } buildCounterSourceSplitResponse--; return o; @@ -6581,12 +6715,12 @@ api.SourceSplitResponse buildSourceSplitResponse() { void checkSourceSplitResponse(api.SourceSplitResponse o) { buildCounterSourceSplitResponse++; if (buildCounterSourceSplitResponse < 3) { - checkUnnamed107(o.bundles!); + checkUnnamed111(o.bundles!); unittest.expect( o.outcome!, unittest.equals('foo'), ); - checkUnnamed108(o.shards!); + checkUnnamed112(o.shards!); } buildCounterSourceSplitResponse--; } @@ -6674,12 +6808,12 @@ void checkSplitInt64(api.SplitInt64 o) { buildCounterSplitInt64--; } -core.List buildUnnamed109() => [ +core.List buildUnnamed113() => [ buildWorkerDetails(), buildWorkerDetails(), ]; -void checkUnnamed109(core.List o) { +void checkUnnamed113(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWorkerDetails(o[0]); checkWorkerDetails(o[1]); @@ -6691,7 +6825,7 @@ api.StageExecutionDetails buildStageExecutionDetails() { buildCounterStageExecutionDetails++; if (buildCounterStageExecutionDetails < 3) { o.nextPageToken = 'foo'; - o.workers = buildUnnamed109(); + o.workers = buildUnnamed113(); } buildCounterStageExecutionDetails--; return o; @@ -6704,7 +6838,7 @@ void checkStageExecutionDetails(api.StageExecutionDetails o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed109(o.workers!); + checkUnnamed113(o.workers!); } buildCounterStageExecutionDetails--; } @@ -6746,12 +6880,12 @@ void checkStageSource(api.StageSource o) { buildCounterStageSource--; } -core.List buildUnnamed110() => [ +core.List buildUnnamed114() => [ buildMetricUpdate(), buildMetricUpdate(), ]; -void checkUnnamed110(core.List o) { +void checkUnnamed114(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMetricUpdate(o[0]); checkMetricUpdate(o[1]); @@ -6763,7 +6897,7 @@ api.StageSummary buildStageSummary() { buildCounterStageSummary++; if (buildCounterStageSummary < 3) { o.endTime = 'foo'; - o.metrics = buildUnnamed110(); + o.metrics = buildUnnamed114(); o.progress = buildProgressTimeseries(); o.stageId = 'foo'; o.startTime = 'foo'; @@ -6781,7 +6915,7 @@ void checkStageSummary(api.StageSummary o) { o.endTime!, unittest.equals('foo'), ); - checkUnnamed110(o.metrics!); + checkUnnamed114(o.metrics!); checkProgressTimeseries(o.progress!); unittest.expect( o.stageId!, @@ -6824,7 +6958,7 @@ void checkStateFamilyConfig(api.StateFamilyConfig o) { buildCounterStateFamilyConfig--; } -core.Map buildUnnamed111() => { +core.Map buildUnnamed115() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -6837,47 +6971,47 @@ core.Map buildUnnamed111() => { }, }; -void checkUnnamed111(core.Map o) { +void checkUnnamed115(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted48 = (o['x']!) as core.Map; - unittest.expect(casted48, unittest.hasLength(3)); + var casted49 = (o['x']!) as core.Map; + unittest.expect(casted49, unittest.hasLength(3)); unittest.expect( - casted48['list'], + casted49['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted48['bool'], + casted49['bool'], unittest.equals(true), ); unittest.expect( - casted48['string'], + casted49['string'], unittest.equals('foo'), ); - var casted49 = (o['y']!) as core.Map; - unittest.expect(casted49, unittest.hasLength(3)); + var casted50 = (o['y']!) as core.Map; + unittest.expect(casted50, unittest.hasLength(3)); unittest.expect( - casted49['list'], + casted50['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted49['bool'], + casted50['bool'], unittest.equals(true), ); unittest.expect( - casted49['string'], + casted50['string'], unittest.equals('foo'), ); } -core.List> buildUnnamed112() => [ - buildUnnamed111(), - buildUnnamed111(), +core.List> buildUnnamed116() => [ + buildUnnamed115(), + buildUnnamed115(), ]; -void checkUnnamed112(core.List> o) { +void checkUnnamed116(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed111(o[0]); - checkUnnamed111(o[1]); + checkUnnamed115(o[0]); + checkUnnamed115(o[1]); } core.int buildCounterStatus = 0; @@ -6886,7 +7020,7 @@ api.Status buildStatus() { buildCounterStatus++; if (buildCounterStatus < 3) { o.code = 42; - o.details = buildUnnamed112(); + o.details = buildUnnamed116(); o.message = 'foo'; } buildCounterStatus--; @@ -6900,7 +7034,7 @@ void checkStatus(api.Status o) { o.code!, unittest.equals(42), ); - checkUnnamed112(o.details!); + checkUnnamed116(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -6909,7 +7043,7 @@ void checkStatus(api.Status o) { buildCounterStatus--; } -core.Map buildUnnamed113() => { +core.Map buildUnnamed117() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -6922,34 +7056,34 @@ core.Map buildUnnamed113() => { }, }; -void checkUnnamed113(core.Map o) { +void checkUnnamed117(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted50 = (o['x']!) as core.Map; - unittest.expect(casted50, unittest.hasLength(3)); + var casted51 = (o['x']!) as core.Map; + unittest.expect(casted51, unittest.hasLength(3)); unittest.expect( - casted50['list'], + casted51['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted50['bool'], + casted51['bool'], unittest.equals(true), ); unittest.expect( - casted50['string'], + casted51['string'], unittest.equals('foo'), ); - var casted51 = (o['y']!) as core.Map; - unittest.expect(casted51, unittest.hasLength(3)); + var casted52 = (o['y']!) as core.Map; + unittest.expect(casted52, unittest.hasLength(3)); unittest.expect( - casted51['list'], + casted52['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted51['bool'], + casted52['bool'], unittest.equals(true), ); unittest.expect( - casted51['string'], + casted52['string'], unittest.equals('foo'), ); } @@ -6961,7 +7095,7 @@ api.Step buildStep() { if (buildCounterStep < 3) { o.kind = 'foo'; o.name = 'foo'; - o.properties = buildUnnamed113(); + o.properties = buildUnnamed117(); } buildCounterStep--; return o; @@ -6978,7 +7112,7 @@ void checkStep(api.Step o) { o.name!, unittest.equals('foo'), ); - checkUnnamed113(o.properties!); + checkUnnamed117(o.properties!); } buildCounterStep--; } @@ -7023,12 +7157,12 @@ void checkStragglerDebuggingInfo(api.StragglerDebuggingInfo o) { buildCounterStragglerDebuggingInfo--; } -core.Map buildUnnamed114() => { +core.Map buildUnnamed118() => { 'x': buildStragglerDebuggingInfo(), 'y': buildStragglerDebuggingInfo(), }; -void checkUnnamed114(core.Map o) { +void checkUnnamed118(core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkStragglerDebuggingInfo(o['x']!); checkStragglerDebuggingInfo(o['y']!); @@ -7039,7 +7173,7 @@ api.StragglerInfo buildStragglerInfo() { final o = api.StragglerInfo(); buildCounterStragglerInfo++; if (buildCounterStragglerInfo < 3) { - o.causes = buildUnnamed114(); + o.causes = buildUnnamed118(); o.startTime = 'foo'; } buildCounterStragglerInfo--; @@ -7049,7 +7183,7 @@ api.StragglerInfo buildStragglerInfo() { void checkStragglerInfo(api.StragglerInfo o) { buildCounterStragglerInfo++; if (buildCounterStragglerInfo < 3) { - checkUnnamed114(o.causes!); + checkUnnamed118(o.causes!); unittest.expect( o.startTime!, unittest.equals('foo'), @@ -7058,23 +7192,23 @@ void checkStragglerInfo(api.StragglerInfo o) { buildCounterStragglerInfo--; } -core.List buildUnnamed115() => [ +core.List buildUnnamed119() => [ buildStraggler(), buildStraggler(), ]; -void checkUnnamed115(core.List o) { +void checkUnnamed119(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStraggler(o[0]); checkStraggler(o[1]); } -core.Map buildUnnamed116() => { +core.Map buildUnnamed120() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed116(core.Map o) { +void checkUnnamed120(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -7091,8 +7225,8 @@ api.StragglerSummary buildStragglerSummary() { final o = api.StragglerSummary(); buildCounterStragglerSummary++; if (buildCounterStragglerSummary < 3) { - o.recentStragglers = buildUnnamed115(); - o.stragglerCauseCount = buildUnnamed116(); + o.recentStragglers = buildUnnamed119(); + o.stragglerCauseCount = buildUnnamed120(); o.totalStragglerCount = 'foo'; } buildCounterStragglerSummary--; @@ -7102,8 +7236,8 @@ api.StragglerSummary buildStragglerSummary() { void checkStragglerSummary(api.StragglerSummary o) { buildCounterStragglerSummary++; if (buildCounterStragglerSummary < 3) { - checkUnnamed115(o.recentStragglers!); - checkUnnamed116(o.stragglerCauseCount!); + checkUnnamed119(o.recentStragglers!); + checkUnnamed120(o.stragglerCauseCount!); unittest.expect( o.totalStragglerCount!, unittest.equals('foo'), @@ -7165,23 +7299,23 @@ void checkStreamingApplianceSnapshotConfig( buildCounterStreamingApplianceSnapshotConfig--; } -core.List buildUnnamed117() => [ +core.List buildUnnamed121() => [ buildParallelInstruction(), buildParallelInstruction(), ]; -void checkUnnamed117(core.List o) { +void checkUnnamed121(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkParallelInstruction(o[0]); checkParallelInstruction(o[1]); } -core.Map buildUnnamed118() => { +core.Map buildUnnamed122() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed118(core.Map o) { +void checkUnnamed122(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -7199,10 +7333,10 @@ api.StreamingComputationConfig buildStreamingComputationConfig() { buildCounterStreamingComputationConfig++; if (buildCounterStreamingComputationConfig < 3) { o.computationId = 'foo'; - o.instructions = buildUnnamed117(); + o.instructions = buildUnnamed121(); o.stageName = 'foo'; o.systemName = 'foo'; - o.transformUserNameToStateFamily = buildUnnamed118(); + o.transformUserNameToStateFamily = buildUnnamed122(); } buildCounterStreamingComputationConfig--; return o; @@ -7215,7 +7349,7 @@ void checkStreamingComputationConfig(api.StreamingComputationConfig o) { o.computationId!, unittest.equals('foo'), ); - checkUnnamed117(o.instructions!); + checkUnnamed121(o.instructions!); unittest.expect( o.stageName!, unittest.equals('foo'), @@ -7224,17 +7358,17 @@ void checkStreamingComputationConfig(api.StreamingComputationConfig o) { o.systemName!, unittest.equals('foo'), ); - checkUnnamed118(o.transformUserNameToStateFamily!); + checkUnnamed122(o.transformUserNameToStateFamily!); } buildCounterStreamingComputationConfig--; } -core.List buildUnnamed119() => [ +core.List buildUnnamed123() => [ buildKeyRangeDataDiskAssignment(), buildKeyRangeDataDiskAssignment(), ]; -void checkUnnamed119(core.List o) { +void checkUnnamed123(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkKeyRangeDataDiskAssignment(o[0]); checkKeyRangeDataDiskAssignment(o[1]); @@ -7246,7 +7380,7 @@ api.StreamingComputationRanges buildStreamingComputationRanges() { buildCounterStreamingComputationRanges++; if (buildCounterStreamingComputationRanges < 3) { o.computationId = 'foo'; - o.rangeAssignments = buildUnnamed119(); + o.rangeAssignments = buildUnnamed123(); } buildCounterStreamingComputationRanges--; return o; @@ -7259,28 +7393,28 @@ void checkStreamingComputationRanges(api.StreamingComputationRanges o) { o.computationId!, unittest.equals('foo'), ); - checkUnnamed119(o.rangeAssignments!); + checkUnnamed123(o.rangeAssignments!); } buildCounterStreamingComputationRanges--; } -core.List buildUnnamed120() => [ +core.List buildUnnamed124() => [ buildStreamingComputationRanges(), buildStreamingComputationRanges(), ]; -void checkUnnamed120(core.List o) { +void checkUnnamed124(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStreamingComputationRanges(o[0]); checkStreamingComputationRanges(o[1]); } -core.List buildUnnamed121() => [ +core.List buildUnnamed125() => [ buildMountedDataDisk(), buildMountedDataDisk(), ]; -void checkUnnamed121(core.List o) { +void checkUnnamed125(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMountedDataDisk(o[0]); checkMountedDataDisk(o[1]); @@ -7291,8 +7425,8 @@ api.StreamingComputationTask buildStreamingComputationTask() { final o = api.StreamingComputationTask(); buildCounterStreamingComputationTask++; if (buildCounterStreamingComputationTask < 3) { - o.computationRanges = buildUnnamed120(); - o.dataDisks = buildUnnamed121(); + o.computationRanges = buildUnnamed124(); + o.dataDisks = buildUnnamed125(); o.taskType = 'foo'; } buildCounterStreamingComputationTask--; @@ -7302,8 +7436,8 @@ api.StreamingComputationTask buildStreamingComputationTask() { void checkStreamingComputationTask(api.StreamingComputationTask o) { buildCounterStreamingComputationTask++; if (buildCounterStreamingComputationTask < 3) { - checkUnnamed120(o.computationRanges!); - checkUnnamed121(o.dataDisks!); + checkUnnamed124(o.computationRanges!); + checkUnnamed125(o.dataDisks!); unittest.expect( o.taskType!, unittest.equals('foo'), @@ -7312,23 +7446,23 @@ void checkStreamingComputationTask(api.StreamingComputationTask o) { buildCounterStreamingComputationTask--; } -core.List buildUnnamed122() => [ +core.List buildUnnamed126() => [ buildStreamingComputationConfig(), buildStreamingComputationConfig(), ]; -void checkUnnamed122(core.List o) { +void checkUnnamed126(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStreamingComputationConfig(o[0]); checkStreamingComputationConfig(o[1]); } -core.Map buildUnnamed123() => { +core.Map buildUnnamed127() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed123(core.Map o) { +void checkUnnamed127(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -7349,8 +7483,8 @@ api.StreamingConfigTask buildStreamingConfigTask() { o.getDataStreamChunkSizeBytes = 'foo'; o.maxWorkItemCommitBytes = 'foo'; o.operationalLimits = buildStreamingOperationalLimits(); - o.streamingComputationConfigs = buildUnnamed122(); - o.userStepToStateFamilyNameMap = buildUnnamed123(); + o.streamingComputationConfigs = buildUnnamed126(); + o.userStepToStateFamilyNameMap = buildUnnamed127(); o.userWorkerRunnerV1Settings = 'foo'; o.userWorkerRunnerV2Settings = 'foo'; o.windmillServiceEndpoint = 'foo'; @@ -7376,8 +7510,8 @@ void checkStreamingConfigTask(api.StreamingConfigTask o) { unittest.equals('foo'), ); checkStreamingOperationalLimits(o.operationalLimits!); - checkUnnamed122(o.streamingComputationConfigs!); - checkUnnamed123(o.userStepToStateFamilyNameMap!); + checkUnnamed126(o.streamingComputationConfigs!); + checkUnnamed127(o.userStepToStateFamilyNameMap!); unittest.expect( o.userWorkerRunnerV1Settings!, unittest.equals('foo'), @@ -7663,12 +7797,12 @@ void checkStreamingStragglerInfo(api.StreamingStragglerInfo o) { buildCounterStreamingStragglerInfo--; } -core.List buildUnnamed124() => [ +core.List buildUnnamed128() => [ 'foo', 'foo', ]; -void checkUnnamed124(core.List o) { +void checkUnnamed128(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7685,7 +7819,7 @@ api.StringList buildStringList() { final o = api.StringList(); buildCounterStringList++; if (buildCounterStringList < 3) { - o.elements = buildUnnamed124(); + o.elements = buildUnnamed128(); } buildCounterStringList--; return o; @@ -7694,17 +7828,17 @@ api.StringList buildStringList() { void checkStringList(api.StringList o) { buildCounterStringList++; if (buildCounterStringList < 3) { - checkUnnamed124(o.elements!); + checkUnnamed128(o.elements!); } buildCounterStringList--; } -core.List buildUnnamed125() => [ +core.List buildUnnamed129() => [ buildParameter(), buildParameter(), ]; -void checkUnnamed125(core.List o) { +void checkUnnamed129(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkParameter(o[0]); checkParameter(o[1]); @@ -7717,7 +7851,7 @@ api.StructuredMessage buildStructuredMessage() { if (buildCounterStructuredMessage < 3) { o.messageKey = 'foo'; o.messageText = 'foo'; - o.parameters = buildUnnamed125(); + o.parameters = buildUnnamed129(); } buildCounterStructuredMessage--; return o; @@ -7734,17 +7868,17 @@ void checkStructuredMessage(api.StructuredMessage o) { o.messageText!, unittest.equals('foo'), ); - checkUnnamed125(o.parameters!); + checkUnnamed129(o.parameters!); } buildCounterStructuredMessage--; } -core.List buildUnnamed126() => [ +core.List buildUnnamed130() => [ 'foo', 'foo', ]; -void checkUnnamed126(core.List o) { +void checkUnnamed130(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -7772,7 +7906,7 @@ api.TaskRunnerSettings buildTaskRunnerSettings() { o.logDir = 'foo'; o.logToSerialconsole = true; o.logUploadLocation = 'foo'; - o.oauthScopes = buildUnnamed126(); + o.oauthScopes = buildUnnamed130(); o.parallelWorkerSettings = buildWorkerSettings(); o.streamingWorkerMainClass = 'foo'; o.taskGroup = 'foo'; @@ -7823,7 +7957,7 @@ void checkTaskRunnerSettings(api.TaskRunnerSettings o) { o.logUploadLocation!, unittest.equals('foo'), ); - checkUnnamed126(o.oauthScopes!); + checkUnnamed130(o.oauthScopes!); checkWorkerSettings(o.parallelWorkerSettings!); unittest.expect( o.streamingWorkerMainClass!, @@ -7853,12 +7987,12 @@ void checkTaskRunnerSettings(api.TaskRunnerSettings o) { buildCounterTaskRunnerSettings--; } -core.List buildUnnamed127() => [ +core.List buildUnnamed131() => [ buildParameterMetadata(), buildParameterMetadata(), ]; -void checkUnnamed127(core.List o) { +void checkUnnamed131(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkParameterMetadata(o[0]); checkParameterMetadata(o[1]); @@ -7872,10 +8006,11 @@ api.TemplateMetadata buildTemplateMetadata() { o.defaultStreamingMode = 'foo'; o.description = 'foo'; o.name = 'foo'; - o.parameters = buildUnnamed127(); + o.parameters = buildUnnamed131(); o.streaming = true; o.supportsAtLeastOnce = true; o.supportsExactlyOnce = true; + o.yamlDefinition = 'foo'; } buildCounterTemplateMetadata--; return o; @@ -7896,42 +8031,46 @@ void checkTemplateMetadata(api.TemplateMetadata o) { o.name!, unittest.equals('foo'), ); - checkUnnamed127(o.parameters!); + checkUnnamed131(o.parameters!); unittest.expect(o.streaming!, unittest.isTrue); unittest.expect(o.supportsAtLeastOnce!, unittest.isTrue); unittest.expect(o.supportsExactlyOnce!, unittest.isTrue); + unittest.expect( + o.yamlDefinition!, + unittest.equals('foo'), + ); } buildCounterTemplateMetadata--; } -core.List buildUnnamed128() => [ +core.List buildUnnamed132() => [ buildComputationTopology(), buildComputationTopology(), ]; -void checkUnnamed128(core.List o) { +void checkUnnamed132(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkComputationTopology(o[0]); checkComputationTopology(o[1]); } -core.List buildUnnamed129() => [ +core.List buildUnnamed133() => [ buildDataDiskAssignment(), buildDataDiskAssignment(), ]; -void checkUnnamed129(core.List o) { +void checkUnnamed133(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDataDiskAssignment(o[0]); checkDataDiskAssignment(o[1]); } -core.Map buildUnnamed130() => { +core.Map buildUnnamed134() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed130(core.Map o) { +void checkUnnamed134(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -7948,11 +8087,11 @@ api.TopologyConfig buildTopologyConfig() { final o = api.TopologyConfig(); buildCounterTopologyConfig++; if (buildCounterTopologyConfig < 3) { - o.computations = buildUnnamed128(); - o.dataDiskAssignments = buildUnnamed129(); + o.computations = buildUnnamed132(); + o.dataDiskAssignments = buildUnnamed133(); o.forwardingKeyBits = 42; o.persistentStateVersion = 42; - o.userStageToComputationNameMap = buildUnnamed130(); + o.userStageToComputationNameMap = buildUnnamed134(); } buildCounterTopologyConfig--; return o; @@ -7961,8 +8100,8 @@ api.TopologyConfig buildTopologyConfig() { void checkTopologyConfig(api.TopologyConfig o) { buildCounterTopologyConfig++; if (buildCounterTopologyConfig < 3) { - checkUnnamed128(o.computations!); - checkUnnamed129(o.dataDiskAssignments!); + checkUnnamed132(o.computations!); + checkUnnamed133(o.dataDiskAssignments!); unittest.expect( o.forwardingKeyBits!, unittest.equals(42), @@ -7971,28 +8110,28 @@ void checkTopologyConfig(api.TopologyConfig o) { o.persistentStateVersion!, unittest.equals(42), ); - checkUnnamed130(o.userStageToComputationNameMap!); + checkUnnamed134(o.userStageToComputationNameMap!); } buildCounterTopologyConfig--; } -core.List buildUnnamed131() => [ +core.List buildUnnamed135() => [ buildDisplayData(), buildDisplayData(), ]; -void checkUnnamed131(core.List o) { +void checkUnnamed135(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDisplayData(o[0]); checkDisplayData(o[1]); } -core.List buildUnnamed132() => [ +core.List buildUnnamed136() => [ 'foo', 'foo', ]; -void checkUnnamed132(core.List o) { +void checkUnnamed136(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8004,12 +8143,12 @@ void checkUnnamed132(core.List o) { ); } -core.List buildUnnamed133() => [ +core.List buildUnnamed137() => [ 'foo', 'foo', ]; -void checkUnnamed133(core.List o) { +void checkUnnamed137(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -8026,12 +8165,12 @@ api.TransformSummary buildTransformSummary() { final o = api.TransformSummary(); buildCounterTransformSummary++; if (buildCounterTransformSummary < 3) { - o.displayData = buildUnnamed131(); + o.displayData = buildUnnamed135(); o.id = 'foo'; - o.inputCollectionName = buildUnnamed132(); + o.inputCollectionName = buildUnnamed136(); o.kind = 'foo'; o.name = 'foo'; - o.outputCollectionName = buildUnnamed133(); + o.outputCollectionName = buildUnnamed137(); } buildCounterTransformSummary--; return o; @@ -8040,12 +8179,12 @@ api.TransformSummary buildTransformSummary() { void checkTransformSummary(api.TransformSummary o) { buildCounterTransformSummary++; if (buildCounterTransformSummary < 3) { - checkUnnamed131(o.displayData!); + checkUnnamed135(o.displayData!); unittest.expect( o.id!, unittest.equals('foo'), ); - checkUnnamed132(o.inputCollectionName!); + checkUnnamed136(o.inputCollectionName!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -8054,17 +8193,17 @@ void checkTransformSummary(api.TransformSummary o) { o.name!, unittest.equals('foo'), ); - checkUnnamed133(o.outputCollectionName!); + checkUnnamed137(o.outputCollectionName!); } buildCounterTransformSummary--; } -core.List buildUnnamed134() => [ +core.List buildUnnamed138() => [ buildPackage(), buildPackage(), ]; -void checkUnnamed134(core.List o) { +void checkUnnamed138(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPackage(o[0]); checkPackage(o[1]); @@ -8081,7 +8220,7 @@ api.WorkItem buildWorkItem() { o.jobId = 'foo'; o.leaseExpireTime = 'foo'; o.mapTask = buildMapTask(); - o.packages = buildUnnamed134(); + o.packages = buildUnnamed138(); o.projectId = 'foo'; o.reportStatusInterval = 'foo'; o.seqMapTask = buildSeqMapTask(); @@ -8119,7 +8258,7 @@ void checkWorkItem(api.WorkItem o) { unittest.equals('foo'), ); checkMapTask(o.mapTask!); - checkUnnamed134(o.packages!); + checkUnnamed138(o.packages!); unittest.expect( o.projectId!, unittest.equals('foo'), @@ -8138,12 +8277,12 @@ void checkWorkItem(api.WorkItem o) { buildCounterWorkItem--; } -core.List buildUnnamed135() => [ +core.List buildUnnamed139() => [ buildMetricUpdate(), buildMetricUpdate(), ]; -void checkUnnamed135(core.List o) { +void checkUnnamed139(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMetricUpdate(o[0]); checkMetricUpdate(o[1]); @@ -8156,7 +8295,7 @@ api.WorkItemDetails buildWorkItemDetails() { if (buildCounterWorkItemDetails < 3) { o.attemptId = 'foo'; o.endTime = 'foo'; - o.metrics = buildUnnamed135(); + o.metrics = buildUnnamed139(); o.progress = buildProgressTimeseries(); o.startTime = 'foo'; o.state = 'foo'; @@ -8178,7 +8317,7 @@ void checkWorkItemDetails(api.WorkItemDetails o) { o.endTime!, unittest.equals('foo'), ); - checkUnnamed135(o.metrics!); + checkUnnamed139(o.metrics!); checkProgressTimeseries(o.progress!); unittest.expect( o.startTime!, @@ -8197,7 +8336,7 @@ void checkWorkItemDetails(api.WorkItemDetails o) { buildCounterWorkItemDetails--; } -core.Map buildUnnamed136() => { +core.Map buildUnnamed140() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -8210,44 +8349,44 @@ core.Map buildUnnamed136() => { }, }; -void checkUnnamed136(core.Map o) { +void checkUnnamed140(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted52 = (o['x']!) as core.Map; - unittest.expect(casted52, unittest.hasLength(3)); + var casted53 = (o['x']!) as core.Map; + unittest.expect(casted53, unittest.hasLength(3)); unittest.expect( - casted52['list'], + casted53['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted52['bool'], + casted53['bool'], unittest.equals(true), ); unittest.expect( - casted52['string'], + casted53['string'], unittest.equals('foo'), ); - var casted53 = (o['y']!) as core.Map; - unittest.expect(casted53, unittest.hasLength(3)); + var casted54 = (o['y']!) as core.Map; + unittest.expect(casted54, unittest.hasLength(3)); unittest.expect( - casted53['list'], + casted54['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted53['bool'], + casted54['bool'], unittest.equals(true), ); unittest.expect( - casted53['string'], + casted54['string'], unittest.equals('foo'), ); } -core.List buildUnnamed137() => [ +core.List buildUnnamed141() => [ buildMetricShortId(), buildMetricShortId(), ]; -void checkUnnamed137(core.List o) { +void checkUnnamed141(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMetricShortId(o[0]); checkMetricShortId(o[1]); @@ -8259,10 +8398,10 @@ api.WorkItemServiceState buildWorkItemServiceState() { buildCounterWorkItemServiceState++; if (buildCounterWorkItemServiceState < 3) { o.completeWorkStatus = buildStatus(); - o.harnessData = buildUnnamed136(); + o.harnessData = buildUnnamed140(); o.hotKeyDetection = buildHotKeyDetection(); o.leaseExpireTime = 'foo'; - o.metricShortId = buildUnnamed137(); + o.metricShortId = buildUnnamed141(); o.nextReportIndex = 'foo'; o.reportStatusInterval = 'foo'; o.splitRequest = buildApproximateSplitRequest(); @@ -8277,13 +8416,13 @@ void checkWorkItemServiceState(api.WorkItemServiceState o) { buildCounterWorkItemServiceState++; if (buildCounterWorkItemServiceState < 3) { checkStatus(o.completeWorkStatus!); - checkUnnamed136(o.harnessData!); + checkUnnamed140(o.harnessData!); checkHotKeyDetection(o.hotKeyDetection!); unittest.expect( o.leaseExpireTime!, unittest.equals('foo'), ); - checkUnnamed137(o.metricShortId!); + checkUnnamed141(o.metricShortId!); unittest.expect( o.nextReportIndex!, unittest.equals('foo'), @@ -8299,34 +8438,34 @@ void checkWorkItemServiceState(api.WorkItemServiceState o) { buildCounterWorkItemServiceState--; } -core.List buildUnnamed138() => [ +core.List buildUnnamed142() => [ buildCounterUpdate(), buildCounterUpdate(), ]; -void checkUnnamed138(core.List o) { +void checkUnnamed142(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkCounterUpdate(o[0]); checkCounterUpdate(o[1]); } -core.List buildUnnamed139() => [ +core.List buildUnnamed143() => [ buildStatus(), buildStatus(), ]; -void checkUnnamed139(core.List o) { +void checkUnnamed143(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkStatus(o[0]); checkStatus(o[1]); } -core.List buildUnnamed140() => [ +core.List buildUnnamed144() => [ buildMetricUpdate(), buildMetricUpdate(), ]; -void checkUnnamed140(core.List o) { +void checkUnnamed144(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMetricUpdate(o[0]); checkMetricUpdate(o[1]); @@ -8338,10 +8477,10 @@ api.WorkItemStatus buildWorkItemStatus() { buildCounterWorkItemStatus++; if (buildCounterWorkItemStatus < 3) { o.completed = true; - o.counterUpdates = buildUnnamed138(); + o.counterUpdates = buildUnnamed142(); o.dynamicSourceSplit = buildDynamicSourceSplit(); - o.errors = buildUnnamed139(); - o.metricUpdates = buildUnnamed140(); + o.errors = buildUnnamed143(); + o.metricUpdates = buildUnnamed144(); o.progress = buildApproximateProgress(); o.reportIndex = 'foo'; o.reportedProgress = buildApproximateReportedProgress(); @@ -8360,10 +8499,10 @@ void checkWorkItemStatus(api.WorkItemStatus o) { buildCounterWorkItemStatus++; if (buildCounterWorkItemStatus < 3) { unittest.expect(o.completed!, unittest.isTrue); - checkUnnamed138(o.counterUpdates!); + checkUnnamed142(o.counterUpdates!); checkDynamicSourceSplit(o.dynamicSourceSplit!); - checkUnnamed139(o.errors!); - checkUnnamed140(o.metricUpdates!); + checkUnnamed143(o.errors!); + checkUnnamed144(o.metricUpdates!); checkApproximateProgress(o.progress!); unittest.expect( o.reportIndex!, @@ -8389,12 +8528,12 @@ void checkWorkItemStatus(api.WorkItemStatus o) { buildCounterWorkItemStatus--; } -core.List buildUnnamed141() => [ +core.List buildUnnamed145() => [ buildWorkItemDetails(), buildWorkItemDetails(), ]; -void checkUnnamed141(core.List o) { +void checkUnnamed145(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkWorkItemDetails(o[0]); checkWorkItemDetails(o[1]); @@ -8405,7 +8544,7 @@ api.WorkerDetails buildWorkerDetails() { final o = api.WorkerDetails(); buildCounterWorkerDetails++; if (buildCounterWorkerDetails < 3) { - o.workItems = buildUnnamed141(); + o.workItems = buildUnnamed145(); o.workerName = 'foo'; } buildCounterWorkerDetails--; @@ -8415,7 +8554,7 @@ api.WorkerDetails buildWorkerDetails() { void checkWorkerDetails(api.WorkerDetails o) { buildCounterWorkerDetails++; if (buildCounterWorkerDetails < 3) { - checkUnnamed141(o.workItems!); + checkUnnamed145(o.workItems!); unittest.expect( o.workerName!, unittest.equals('foo'), @@ -8424,7 +8563,7 @@ void checkWorkerDetails(api.WorkerDetails o) { buildCounterWorkerDetails--; } -core.Map buildUnnamed142() => { +core.Map buildUnnamed146() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -8437,47 +8576,47 @@ core.Map buildUnnamed142() => { }, }; -void checkUnnamed142(core.Map o) { +void checkUnnamed146(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted54 = (o['x']!) as core.Map; - unittest.expect(casted54, unittest.hasLength(3)); + var casted55 = (o['x']!) as core.Map; + unittest.expect(casted55, unittest.hasLength(3)); unittest.expect( - casted54['list'], + casted55['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted54['bool'], + casted55['bool'], unittest.equals(true), ); unittest.expect( - casted54['string'], + casted55['string'], unittest.equals('foo'), ); - var casted55 = (o['y']!) as core.Map; - unittest.expect(casted55, unittest.hasLength(3)); + var casted56 = (o['y']!) as core.Map; + unittest.expect(casted56, unittest.hasLength(3)); unittest.expect( - casted55['list'], + casted56['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted55['bool'], + casted56['bool'], unittest.equals(true), ); unittest.expect( - casted55['string'], + casted56['string'], unittest.equals('foo'), ); } -core.List> buildUnnamed143() => [ - buildUnnamed142(), - buildUnnamed142(), +core.List> buildUnnamed147() => [ + buildUnnamed146(), + buildUnnamed146(), ]; -void checkUnnamed143(core.List> o) { +void checkUnnamed147(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed142(o[0]); - checkUnnamed142(o[1]); + checkUnnamed146(o[0]); + checkUnnamed146(o[1]); } core.int buildCounterWorkerHealthReport = 0; @@ -8486,7 +8625,7 @@ api.WorkerHealthReport buildWorkerHealthReport() { buildCounterWorkerHealthReport++; if (buildCounterWorkerHealthReport < 3) { o.msg = 'foo'; - o.pods = buildUnnamed143(); + o.pods = buildUnnamed147(); o.reportInterval = 'foo'; o.vmBrokenCode = 'foo'; o.vmIsBroken = true; @@ -8504,7 +8643,7 @@ void checkWorkerHealthReport(api.WorkerHealthReport o) { o.msg!, unittest.equals('foo'), ); - checkUnnamed143(o.pods!); + checkUnnamed147(o.pods!); unittest.expect( o.reportInterval!, unittest.equals('foo'), @@ -8545,12 +8684,12 @@ void checkWorkerHealthReportResponse(api.WorkerHealthReportResponse o) { buildCounterWorkerHealthReportResponse--; } -core.Map buildUnnamed144() => { +core.Map buildUnnamed148() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed144(core.Map o) { +void checkUnnamed148(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -8569,7 +8708,7 @@ api.WorkerLifecycleEvent buildWorkerLifecycleEvent() { if (buildCounterWorkerLifecycleEvent < 3) { o.containerStartTime = 'foo'; o.event = 'foo'; - o.metadata = buildUnnamed144(); + o.metadata = buildUnnamed148(); } buildCounterWorkerLifecycleEvent--; return o; @@ -8586,17 +8725,17 @@ void checkWorkerLifecycleEvent(api.WorkerLifecycleEvent o) { o.event!, unittest.equals('foo'), ); - checkUnnamed144(o.metadata!); + checkUnnamed148(o.metadata!); } buildCounterWorkerLifecycleEvent--; } -core.Map buildUnnamed145() => { +core.Map buildUnnamed149() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed145(core.Map o) { +void checkUnnamed149(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -8614,7 +8753,7 @@ api.WorkerMessage buildWorkerMessage() { buildCounterWorkerMessage++; if (buildCounterWorkerMessage < 3) { o.dataSamplingReport = buildDataSamplingReport(); - o.labels = buildUnnamed145(); + o.labels = buildUnnamed149(); o.perWorkerMetrics = buildPerWorkerMetrics(); o.streamingScalingReport = buildStreamingScalingReport(); o.time = 'foo'; @@ -8633,7 +8772,7 @@ void checkWorkerMessage(api.WorkerMessage o) { buildCounterWorkerMessage++; if (buildCounterWorkerMessage < 3) { checkDataSamplingReport(o.dataSamplingReport!); - checkUnnamed145(o.labels!); + checkUnnamed149(o.labels!); checkPerWorkerMetrics(o.perWorkerMetrics!); checkStreamingScalingReport(o.streamingScalingReport!); unittest.expect( @@ -8650,7 +8789,7 @@ void checkWorkerMessage(api.WorkerMessage o) { buildCounterWorkerMessage--; } -core.Map buildUnnamed146() => { +core.Map buildUnnamed150() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -8663,34 +8802,34 @@ core.Map buildUnnamed146() => { }, }; -void checkUnnamed146(core.Map o) { +void checkUnnamed150(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted56 = (o['x']!) as core.Map; - unittest.expect(casted56, unittest.hasLength(3)); + var casted57 = (o['x']!) as core.Map; + unittest.expect(casted57, unittest.hasLength(3)); unittest.expect( - casted56['list'], + casted57['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted56['bool'], + casted57['bool'], unittest.equals(true), ); unittest.expect( - casted56['string'], + casted57['string'], unittest.equals('foo'), ); - var casted57 = (o['y']!) as core.Map; - unittest.expect(casted57, unittest.hasLength(3)); + var casted58 = (o['y']!) as core.Map; + unittest.expect(casted58, unittest.hasLength(3)); unittest.expect( - casted57['list'], + casted58['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted57['bool'], + casted58['bool'], unittest.equals(true), ); unittest.expect( - casted57['string'], + casted58['string'], unittest.equals('foo'), ); } @@ -8701,7 +8840,7 @@ api.WorkerMessageCode buildWorkerMessageCode() { buildCounterWorkerMessageCode++; if (buildCounterWorkerMessageCode < 3) { o.code = 'foo'; - o.parameters = buildUnnamed146(); + o.parameters = buildUnnamed150(); } buildCounterWorkerMessageCode--; return o; @@ -8714,7 +8853,7 @@ void checkWorkerMessageCode(api.WorkerMessageCode o) { o.code!, unittest.equals('foo'), ); - checkUnnamed146(o.parameters!); + checkUnnamed150(o.parameters!); } buildCounterWorkerMessageCode--; } @@ -8748,23 +8887,23 @@ void checkWorkerMessageResponse(api.WorkerMessageResponse o) { buildCounterWorkerMessageResponse--; } -core.List buildUnnamed147() => [ +core.List buildUnnamed151() => [ buildDisk(), buildDisk(), ]; -void checkUnnamed147(core.List o) { +void checkUnnamed151(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDisk(o[0]); checkDisk(o[1]); } -core.Map buildUnnamed148() => { +core.Map buildUnnamed152() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed148(core.Map o) { +void checkUnnamed152(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -8776,18 +8915,18 @@ void checkUnnamed148(core.Map o) { ); } -core.List buildUnnamed149() => [ +core.List buildUnnamed153() => [ buildPackage(), buildPackage(), ]; -void checkUnnamed149(core.List o) { +void checkUnnamed153(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPackage(o[0]); checkPackage(o[1]); } -core.Map buildUnnamed150() => { +core.Map buildUnnamed154() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -8800,44 +8939,44 @@ core.Map buildUnnamed150() => { }, }; -void checkUnnamed150(core.Map o) { +void checkUnnamed154(core.Map o) { unittest.expect(o, unittest.hasLength(2)); - var casted58 = (o['x']!) as core.Map; - unittest.expect(casted58, unittest.hasLength(3)); + var casted59 = (o['x']!) as core.Map; + unittest.expect(casted59, unittest.hasLength(3)); unittest.expect( - casted58['list'], + casted59['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted58['bool'], + casted59['bool'], unittest.equals(true), ); unittest.expect( - casted58['string'], + casted59['string'], unittest.equals('foo'), ); - var casted59 = (o['y']!) as core.Map; - unittest.expect(casted59, unittest.hasLength(3)); + var casted60 = (o['y']!) as core.Map; + unittest.expect(casted60, unittest.hasLength(3)); unittest.expect( - casted59['list'], + casted60['list'], unittest.equals([1, 2, 3]), ); unittest.expect( - casted59['bool'], + casted60['bool'], unittest.equals(true), ); unittest.expect( - casted59['string'], + casted60['string'], unittest.equals('foo'), ); } -core.List buildUnnamed151() => [ +core.List buildUnnamed155() => [ buildSdkHarnessContainerImage(), buildSdkHarnessContainerImage(), ]; -void checkUnnamed151(core.List o) { +void checkUnnamed155(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSdkHarnessContainerImage(o[0]); checkSdkHarnessContainerImage(o[1]); @@ -8849,7 +8988,7 @@ api.WorkerPool buildWorkerPool() { buildCounterWorkerPool++; if (buildCounterWorkerPool < 3) { o.autoscalingSettings = buildAutoscalingSettings(); - o.dataDisks = buildUnnamed147(); + o.dataDisks = buildUnnamed151(); o.defaultPackageSet = 'foo'; o.diskSizeGb = 42; o.diskSourceImage = 'foo'; @@ -8857,14 +8996,14 @@ api.WorkerPool buildWorkerPool() { o.ipConfiguration = 'foo'; o.kind = 'foo'; o.machineType = 'foo'; - o.metadata = buildUnnamed148(); + o.metadata = buildUnnamed152(); o.network = 'foo'; o.numThreadsPerWorker = 42; o.numWorkers = 42; o.onHostMaintenance = 'foo'; - o.packages = buildUnnamed149(); - o.poolArgs = buildUnnamed150(); - o.sdkHarnessContainerImages = buildUnnamed151(); + o.packages = buildUnnamed153(); + o.poolArgs = buildUnnamed154(); + o.sdkHarnessContainerImages = buildUnnamed155(); o.subnetwork = 'foo'; o.taskrunnerSettings = buildTaskRunnerSettings(); o.teardownPolicy = 'foo'; @@ -8879,7 +9018,7 @@ void checkWorkerPool(api.WorkerPool o) { buildCounterWorkerPool++; if (buildCounterWorkerPool < 3) { checkAutoscalingSettings(o.autoscalingSettings!); - checkUnnamed147(o.dataDisks!); + checkUnnamed151(o.dataDisks!); unittest.expect( o.defaultPackageSet!, unittest.equals('foo'), @@ -8908,7 +9047,7 @@ void checkWorkerPool(api.WorkerPool o) { o.machineType!, unittest.equals('foo'), ); - checkUnnamed148(o.metadata!); + checkUnnamed152(o.metadata!); unittest.expect( o.network!, unittest.equals('foo'), @@ -8925,9 +9064,9 @@ void checkWorkerPool(api.WorkerPool o) { o.onHostMaintenance!, unittest.equals('foo'), ); - checkUnnamed149(o.packages!); - checkUnnamed150(o.poolArgs!); - checkUnnamed151(o.sdkHarnessContainerImages!); + checkUnnamed153(o.packages!); + checkUnnamed154(o.poolArgs!); + checkUnnamed155(o.sdkHarnessContainerImages!); unittest.expect( o.subnetwork!, unittest.equals('foo'), @@ -9177,6 +9316,26 @@ void main() { }); }); + unittest.group('obj-schema-BoundedTrie', () { + unittest.test('to-json--from-json', () async { + final o = buildBoundedTrie(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BoundedTrie.fromJson( + oJson as core.Map); + checkBoundedTrie(od); + }); + }); + + unittest.group('obj-schema-BoundedTrieNode', () { + unittest.test('to-json--from-json', () async { + final o = buildBoundedTrieNode(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.BoundedTrieNode.fromJson( + oJson as core.Map); + checkBoundedTrieNode(od); + }); + }); + unittest.group('obj-schema-BucketOptions', () { unittest.test('to-json--from-json', () async { final o = buildBucketOptions(); diff --git a/generated/googleapis_beta/test/gkehub/v2alpha_test.dart b/generated/googleapis_beta/test/gkehub/v2alpha_test.dart index 6cf99cb1b..ce2f26359 100644 --- a/generated/googleapis_beta/test/gkehub/v2alpha_test.dart +++ b/generated/googleapis_beta/test/gkehub/v2alpha_test.dart @@ -322,12 +322,23 @@ void checkConfigManagementBinauthzVersion( buildCounterConfigManagementBinauthzVersion--; } +core.List buildUnnamed1() => [ + buildConfigManagementDeploymentOverride(), + buildConfigManagementDeploymentOverride(), + ]; + +void checkUnnamed1(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkConfigManagementDeploymentOverride(o[0]); + checkConfigManagementDeploymentOverride(o[1]); +} + core.int buildCounterConfigManagementConfigSync = 0; api.ConfigManagementConfigSync buildConfigManagementConfigSync() { final o = api.ConfigManagementConfigSync(); buildCounterConfigManagementConfigSync++; if (buildCounterConfigManagementConfigSync < 3) { - o.allowVerticalScale = true; + o.deploymentOverrides = buildUnnamed1(); o.enabled = true; o.git = buildConfigManagementGitConfig(); o.metricsGcpServiceAccountEmail = 'foo'; @@ -343,7 +354,7 @@ api.ConfigManagementConfigSync buildConfigManagementConfigSync() { void checkConfigManagementConfigSync(api.ConfigManagementConfigSync o) { buildCounterConfigManagementConfigSync++; if (buildCounterConfigManagementConfigSync < 3) { - unittest.expect(o.allowVerticalScale!, unittest.isTrue); + checkUnnamed1(o.deploymentOverrides!); unittest.expect(o.enabled!, unittest.isTrue); checkConfigManagementGitConfig(o.git!); unittest.expect( @@ -448,12 +459,12 @@ void checkConfigManagementConfigSyncError( buildCounterConfigManagementConfigSyncError--; } -core.List buildUnnamed1() => [ +core.List buildUnnamed2() => [ buildConfigManagementConfigSyncError(), buildConfigManagementConfigSyncError(), ]; -void checkUnnamed1(core.List o) { +void checkUnnamed2(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfigManagementConfigSyncError(o[0]); checkConfigManagementConfigSyncError(o[1]); @@ -467,7 +478,7 @@ api.ConfigManagementConfigSyncState buildConfigManagementConfigSyncState() { o.clusterLevelStopSyncingState = 'foo'; o.crCount = 42; o.deploymentState = buildConfigManagementConfigSyncDeploymentState(); - o.errors = buildUnnamed1(); + o.errors = buildUnnamed2(); o.reposyncCrd = 'foo'; o.rootsyncCrd = 'foo'; o.state = 'foo'; @@ -491,7 +502,7 @@ void checkConfigManagementConfigSyncState( unittest.equals(42), ); checkConfigManagementConfigSyncDeploymentState(o.deploymentState!); - checkUnnamed1(o.errors!); + checkUnnamed2(o.errors!); unittest.expect( o.reposyncCrd!, unittest.equals('foo'), @@ -573,6 +584,91 @@ void checkConfigManagementConfigSyncVersion( buildCounterConfigManagementConfigSyncVersion--; } +core.int buildCounterConfigManagementContainerOverride = 0; +api.ConfigManagementContainerOverride buildConfigManagementContainerOverride() { + final o = api.ConfigManagementContainerOverride(); + buildCounterConfigManagementContainerOverride++; + if (buildCounterConfigManagementContainerOverride < 3) { + o.containerName = 'foo'; + o.cpuLimit = 'foo'; + o.cpuRequest = 'foo'; + o.memoryLimit = 'foo'; + o.memoryRequest = 'foo'; + } + buildCounterConfigManagementContainerOverride--; + return o; +} + +void checkConfigManagementContainerOverride( + api.ConfigManagementContainerOverride o) { + buildCounterConfigManagementContainerOverride++; + if (buildCounterConfigManagementContainerOverride < 3) { + unittest.expect( + o.containerName!, + unittest.equals('foo'), + ); + unittest.expect( + o.cpuLimit!, + unittest.equals('foo'), + ); + unittest.expect( + o.cpuRequest!, + unittest.equals('foo'), + ); + unittest.expect( + o.memoryLimit!, + unittest.equals('foo'), + ); + unittest.expect( + o.memoryRequest!, + unittest.equals('foo'), + ); + } + buildCounterConfigManagementContainerOverride--; +} + +core.List buildUnnamed3() => [ + buildConfigManagementContainerOverride(), + buildConfigManagementContainerOverride(), + ]; + +void checkUnnamed3(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkConfigManagementContainerOverride(o[0]); + checkConfigManagementContainerOverride(o[1]); +} + +core.int buildCounterConfigManagementDeploymentOverride = 0; +api.ConfigManagementDeploymentOverride + buildConfigManagementDeploymentOverride() { + final o = api.ConfigManagementDeploymentOverride(); + buildCounterConfigManagementDeploymentOverride++; + if (buildCounterConfigManagementDeploymentOverride < 3) { + o.containers = buildUnnamed3(); + o.deploymentName = 'foo'; + o.deploymentNamespace = 'foo'; + } + buildCounterConfigManagementDeploymentOverride--; + return o; +} + +void checkConfigManagementDeploymentOverride( + api.ConfigManagementDeploymentOverride o) { + buildCounterConfigManagementDeploymentOverride++; + if (buildCounterConfigManagementDeploymentOverride < 3) { + checkUnnamed3(o.containers!); + unittest.expect( + o.deploymentName!, + unittest.equals('foo'), + ); + unittest.expect( + o.deploymentNamespace!, + unittest.equals('foo'), + ); + } + buildCounterConfigManagementDeploymentOverride--; +} + core.int buildCounterConfigManagementErrorResource = 0; api.ConfigManagementErrorResource buildConfigManagementErrorResource() { final o = api.ConfigManagementErrorResource(); @@ -901,12 +997,12 @@ void checkConfigManagementOciConfig(api.ConfigManagementOciConfig o) { buildCounterConfigManagementOciConfig--; } -core.List buildUnnamed2() => [ +core.List buildUnnamed4() => [ buildConfigManagementInstallError(), buildConfigManagementInstallError(), ]; -void checkUnnamed2(core.List o) { +void checkUnnamed4(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfigManagementInstallError(o[0]); checkConfigManagementInstallError(o[1]); @@ -918,7 +1014,7 @@ api.ConfigManagementOperatorState buildConfigManagementOperatorState() { buildCounterConfigManagementOperatorState++; if (buildCounterConfigManagementOperatorState < 3) { o.deploymentState = 'foo'; - o.errors = buildUnnamed2(); + o.errors = buildUnnamed4(); o.version = 'foo'; } buildCounterConfigManagementOperatorState--; @@ -932,7 +1028,7 @@ void checkConfigManagementOperatorState(api.ConfigManagementOperatorState o) { o.deploymentState!, unittest.equals('foo'), ); - checkUnnamed2(o.errors!); + checkUnnamed4(o.errors!); unittest.expect( o.version!, unittest.equals('foo'), @@ -941,12 +1037,12 @@ void checkConfigManagementOperatorState(api.ConfigManagementOperatorState o) { buildCounterConfigManagementOperatorState--; } -core.List buildUnnamed3() => [ +core.List buildUnnamed5() => [ 'foo', 'foo', ]; -void checkUnnamed3(core.List o) { +void checkUnnamed5(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -965,7 +1061,7 @@ api.ConfigManagementPolicyController buildConfigManagementPolicyController() { if (buildCounterConfigManagementPolicyController < 3) { o.auditIntervalSeconds = 'foo'; o.enabled = true; - o.exemptableNamespaces = buildUnnamed3(); + o.exemptableNamespaces = buildUnnamed5(); o.logDeniesEnabled = true; o.monitoring = buildConfigManagementPolicyControllerMonitoring(); o.mutationEnabled = true; @@ -986,7 +1082,7 @@ void checkConfigManagementPolicyController( unittest.equals('foo'), ); unittest.expect(o.enabled!, unittest.isTrue); - checkUnnamed3(o.exemptableNamespaces!); + checkUnnamed5(o.exemptableNamespaces!); unittest.expect(o.logDeniesEnabled!, unittest.isTrue); checkConfigManagementPolicyControllerMonitoring(o.monitoring!); unittest.expect(o.mutationEnabled!, unittest.isTrue); @@ -1029,12 +1125,12 @@ void checkConfigManagementPolicyControllerMigration( buildCounterConfigManagementPolicyControllerMigration--; } -core.List buildUnnamed4() => [ +core.List buildUnnamed6() => [ 'foo', 'foo', ]; -void checkUnnamed4(core.List o) { +void checkUnnamed6(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1052,7 +1148,7 @@ api.ConfigManagementPolicyControllerMonitoring final o = api.ConfigManagementPolicyControllerMonitoring(); buildCounterConfigManagementPolicyControllerMonitoring++; if (buildCounterConfigManagementPolicyControllerMonitoring < 3) { - o.backends = buildUnnamed4(); + o.backends = buildUnnamed6(); } buildCounterConfigManagementPolicyControllerMonitoring--; return o; @@ -1062,7 +1158,7 @@ void checkConfigManagementPolicyControllerMonitoring( api.ConfigManagementPolicyControllerMonitoring o) { buildCounterConfigManagementPolicyControllerMonitoring++; if (buildCounterConfigManagementPolicyControllerMonitoring < 3) { - checkUnnamed4(o.backends!); + checkUnnamed6(o.backends!); } buildCounterConfigManagementPolicyControllerMonitoring--; } @@ -1191,12 +1287,12 @@ void checkConfigManagementState(api.ConfigManagementState o) { buildCounterConfigManagementState--; } -core.List buildUnnamed5() => [ +core.List buildUnnamed7() => [ buildConfigManagementErrorResource(), buildConfigManagementErrorResource(), ]; -void checkUnnamed5(core.List o) { +void checkUnnamed7(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfigManagementErrorResource(o[0]); checkConfigManagementErrorResource(o[1]); @@ -1209,7 +1305,7 @@ api.ConfigManagementSyncError buildConfigManagementSyncError() { if (buildCounterConfigManagementSyncError < 3) { o.code = 'foo'; o.errorMessage = 'foo'; - o.errorResources = buildUnnamed5(); + o.errorResources = buildUnnamed7(); } buildCounterConfigManagementSyncError--; return o; @@ -1226,17 +1322,17 @@ void checkConfigManagementSyncError(api.ConfigManagementSyncError o) { o.errorMessage!, unittest.equals('foo'), ); - checkUnnamed5(o.errorResources!); + checkUnnamed7(o.errorResources!); } buildCounterConfigManagementSyncError--; } -core.List buildUnnamed6() => [ +core.List buildUnnamed8() => [ buildConfigManagementSyncError(), buildConfigManagementSyncError(), ]; -void checkUnnamed6(core.List o) { +void checkUnnamed8(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkConfigManagementSyncError(o[0]); checkConfigManagementSyncError(o[1]); @@ -1248,7 +1344,7 @@ api.ConfigManagementSyncState buildConfigManagementSyncState() { buildCounterConfigManagementSyncState++; if (buildCounterConfigManagementSyncState < 3) { o.code = 'foo'; - o.errors = buildUnnamed6(); + o.errors = buildUnnamed8(); o.importToken = 'foo'; o.lastSync = 'foo'; o.lastSyncTime = 'foo'; @@ -1266,7 +1362,7 @@ void checkConfigManagementSyncState(api.ConfigManagementSyncState o) { o.code!, unittest.equals('foo'), ); - checkUnnamed6(o.errors!); + checkUnnamed8(o.errors!); unittest.expect( o.importToken!, unittest.equals('foo'), @@ -1370,7 +1466,7 @@ void checkFeatureState(api.FeatureState o) { buildCounterFeatureState--; } -core.Map buildUnnamed7() => { +core.Map buildUnnamed9() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -1383,7 +1479,7 @@ core.Map buildUnnamed7() => { }, }; -void checkUnnamed7(core.Map o) { +void checkUnnamed9(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted1 = (o['x']!) as core.Map; unittest.expect(casted1, unittest.hasLength(3)); @@ -1415,15 +1511,15 @@ void checkUnnamed7(core.Map o) { ); } -core.List> buildUnnamed8() => [ - buildUnnamed7(), - buildUnnamed7(), +core.List> buildUnnamed10() => [ + buildUnnamed9(), + buildUnnamed9(), ]; -void checkUnnamed8(core.List> o) { +void checkUnnamed10(core.List> o) { unittest.expect(o, unittest.hasLength(2)); - checkUnnamed7(o[0]); - checkUnnamed7(o[1]); + checkUnnamed9(o[0]); + checkUnnamed9(o[1]); } core.int buildCounterGoogleRpcStatus = 0; @@ -1432,7 +1528,7 @@ api.GoogleRpcStatus buildGoogleRpcStatus() { buildCounterGoogleRpcStatus++; if (buildCounterGoogleRpcStatus < 3) { o.code = 42; - o.details = buildUnnamed8(); + o.details = buildUnnamed10(); o.message = 'foo'; } buildCounterGoogleRpcStatus--; @@ -1446,7 +1542,7 @@ void checkGoogleRpcStatus(api.GoogleRpcStatus o) { o.code!, unittest.equals(42), ); - checkUnnamed8(o.details!); + checkUnnamed10(o.details!); unittest.expect( o.message!, unittest.equals('foo'), @@ -1753,12 +1849,12 @@ void checkIdentityServiceOidcConfig(api.IdentityServiceOidcConfig o) { buildCounterIdentityServiceOidcConfig--; } -core.Map buildUnnamed9() => { +core.Map buildUnnamed11() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed9(core.Map o) { +void checkUnnamed11(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -1770,12 +1866,12 @@ void checkUnnamed9(core.Map o) { ); } -core.List buildUnnamed10() => [ +core.List buildUnnamed12() => [ 'foo', 'foo', ]; -void checkUnnamed10(core.List o) { +void checkUnnamed12(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1792,10 +1888,10 @@ api.IdentityServiceSamlConfig buildIdentityServiceSamlConfig() { final o = api.IdentityServiceSamlConfig(); buildCounterIdentityServiceSamlConfig++; if (buildCounterIdentityServiceSamlConfig < 3) { - o.attributeMapping = buildUnnamed9(); + o.attributeMapping = buildUnnamed11(); o.groupPrefix = 'foo'; o.groupsAttribute = 'foo'; - o.identityProviderCertificates = buildUnnamed10(); + o.identityProviderCertificates = buildUnnamed12(); o.identityProviderId = 'foo'; o.identityProviderSsoUri = 'foo'; o.userAttribute = 'foo'; @@ -1808,7 +1904,7 @@ api.IdentityServiceSamlConfig buildIdentityServiceSamlConfig() { void checkIdentityServiceSamlConfig(api.IdentityServiceSamlConfig o) { buildCounterIdentityServiceSamlConfig++; if (buildCounterIdentityServiceSamlConfig < 3) { - checkUnnamed9(o.attributeMapping!); + checkUnnamed11(o.attributeMapping!); unittest.expect( o.groupPrefix!, unittest.equals('foo'), @@ -1817,7 +1913,7 @@ void checkIdentityServiceSamlConfig(api.IdentityServiceSamlConfig o) { o.groupsAttribute!, unittest.equals('foo'), ); - checkUnnamed10(o.identityProviderCertificates!); + checkUnnamed12(o.identityProviderCertificates!); unittest.expect( o.identityProviderId!, unittest.equals('foo'), @@ -1925,12 +2021,12 @@ void checkIdentityServiceSimpleBindCredentials( buildCounterIdentityServiceSimpleBindCredentials--; } -core.List buildUnnamed11() => [ +core.List buildUnnamed13() => [ buildIdentityServiceAuthMethod(), buildIdentityServiceAuthMethod(), ]; -void checkUnnamed11(core.List o) { +void checkUnnamed13(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkIdentityServiceAuthMethod(o[0]); checkIdentityServiceAuthMethod(o[1]); @@ -1941,7 +2037,7 @@ api.IdentityServiceSpec buildIdentityServiceSpec() { final o = api.IdentityServiceSpec(); buildCounterIdentityServiceSpec++; if (buildCounterIdentityServiceSpec < 3) { - o.authMethods = buildUnnamed11(); + o.authMethods = buildUnnamed13(); o.identityServiceOptions = buildIdentityServiceIdentityServiceOptions(); } buildCounterIdentityServiceSpec--; @@ -1951,7 +2047,7 @@ api.IdentityServiceSpec buildIdentityServiceSpec() { void checkIdentityServiceSpec(api.IdentityServiceSpec o) { buildCounterIdentityServiceSpec++; if (buildCounterIdentityServiceSpec < 3) { - checkUnnamed11(o.authMethods!); + checkUnnamed13(o.authMethods!); checkIdentityServiceIdentityServiceOptions(o.identityServiceOptions!); } buildCounterIdentityServiceSpec--; @@ -2050,12 +2146,12 @@ void checkLifecycleState(api.LifecycleState o) { buildCounterLifecycleState--; } -core.List buildUnnamed12() => [ +core.List buildUnnamed14() => [ buildLocation(), buildLocation(), ]; -void checkUnnamed12(core.List o) { +void checkUnnamed14(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkLocation(o[0]); checkLocation(o[1]); @@ -2066,7 +2162,7 @@ api.ListLocationsResponse buildListLocationsResponse() { final o = api.ListLocationsResponse(); buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - o.locations = buildUnnamed12(); + o.locations = buildUnnamed14(); o.nextPageToken = 'foo'; } buildCounterListLocationsResponse--; @@ -2076,7 +2172,7 @@ api.ListLocationsResponse buildListLocationsResponse() { void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse++; if (buildCounterListLocationsResponse < 3) { - checkUnnamed12(o.locations!); + checkUnnamed14(o.locations!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), @@ -2085,23 +2181,23 @@ void checkListLocationsResponse(api.ListLocationsResponse o) { buildCounterListLocationsResponse--; } -core.List buildUnnamed13() => [ +core.List buildUnnamed15() => [ buildMembershipFeature(), buildMembershipFeature(), ]; -void checkUnnamed13(core.List o) { +void checkUnnamed15(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkMembershipFeature(o[0]); checkMembershipFeature(o[1]); } -core.List buildUnnamed14() => [ +core.List buildUnnamed16() => [ 'foo', 'foo', ]; -void checkUnnamed14(core.List o) { +void checkUnnamed16(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2118,9 +2214,9 @@ api.ListMembershipFeaturesResponse buildListMembershipFeaturesResponse() { final o = api.ListMembershipFeaturesResponse(); buildCounterListMembershipFeaturesResponse++; if (buildCounterListMembershipFeaturesResponse < 3) { - o.membershipFeatures = buildUnnamed13(); + o.membershipFeatures = buildUnnamed15(); o.nextPageToken = 'foo'; - o.unreachable = buildUnnamed14(); + o.unreachable = buildUnnamed16(); } buildCounterListMembershipFeaturesResponse--; return o; @@ -2129,22 +2225,22 @@ api.ListMembershipFeaturesResponse buildListMembershipFeaturesResponse() { void checkListMembershipFeaturesResponse(api.ListMembershipFeaturesResponse o) { buildCounterListMembershipFeaturesResponse++; if (buildCounterListMembershipFeaturesResponse < 3) { - checkUnnamed13(o.membershipFeatures!); + checkUnnamed15(o.membershipFeatures!); unittest.expect( o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed14(o.unreachable!); + checkUnnamed16(o.unreachable!); } buildCounterListMembershipFeaturesResponse--; } -core.List buildUnnamed15() => [ +core.List buildUnnamed17() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed15(core.List o) { +void checkUnnamed17(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -2156,7 +2252,7 @@ api.ListOperationsResponse buildListOperationsResponse() { buildCounterListOperationsResponse++; if (buildCounterListOperationsResponse < 3) { o.nextPageToken = 'foo'; - o.operations = buildUnnamed15(); + o.operations = buildUnnamed17(); } buildCounterListOperationsResponse--; return o; @@ -2169,17 +2265,17 @@ void checkListOperationsResponse(api.ListOperationsResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed15(o.operations!); + checkUnnamed17(o.operations!); } buildCounterListOperationsResponse--; } -core.Map buildUnnamed16() => { +core.Map buildUnnamed18() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed16(core.Map o) { +void checkUnnamed18(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2191,7 +2287,7 @@ void checkUnnamed16(core.Map o) { ); } -core.Map buildUnnamed17() => { +core.Map buildUnnamed19() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2204,7 +2300,7 @@ core.Map buildUnnamed17() => { }, }; -void checkUnnamed17(core.Map o) { +void checkUnnamed19(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted3 = (o['x']!) as core.Map; unittest.expect(casted3, unittest.hasLength(3)); @@ -2242,9 +2338,9 @@ api.Location buildLocation() { buildCounterLocation++; if (buildCounterLocation < 3) { o.displayName = 'foo'; - o.labels = buildUnnamed16(); + o.labels = buildUnnamed18(); o.locationId = 'foo'; - o.metadata = buildUnnamed17(); + o.metadata = buildUnnamed19(); o.name = 'foo'; } buildCounterLocation--; @@ -2258,12 +2354,12 @@ void checkLocation(api.Location o) { o.displayName!, unittest.equals('foo'), ); - checkUnnamed16(o.labels!); + checkUnnamed18(o.labels!); unittest.expect( o.locationId!, unittest.equals('foo'), ); - checkUnnamed17(o.metadata!); + checkUnnamed19(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), @@ -2272,12 +2368,12 @@ void checkLocation(api.Location o) { buildCounterLocation--; } -core.Map buildUnnamed18() => { +core.Map buildUnnamed20() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed18(core.Map o) { +void checkUnnamed20(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -2296,7 +2392,7 @@ api.MembershipFeature buildMembershipFeature() { if (buildCounterMembershipFeature < 3) { o.createTime = 'foo'; o.deleteTime = 'foo'; - o.labels = buildUnnamed18(); + o.labels = buildUnnamed20(); o.lifecycleState = buildLifecycleState(); o.name = 'foo'; o.spec = buildFeatureSpec(); @@ -2318,7 +2414,7 @@ void checkMembershipFeature(api.MembershipFeature o) { o.deleteTime!, unittest.equals('foo'), ); - checkUnnamed18(o.labels!); + checkUnnamed20(o.labels!); checkLifecycleState(o.lifecycleState!); unittest.expect( o.name!, @@ -2361,7 +2457,7 @@ void checkMeteringState(api.MeteringState o) { buildCounterMeteringState--; } -core.Map buildUnnamed19() => { +core.Map buildUnnamed21() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2374,7 +2470,7 @@ core.Map buildUnnamed19() => { }, }; -void checkUnnamed19(core.Map o) { +void checkUnnamed21(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted5 = (o['x']!) as core.Map; unittest.expect(casted5, unittest.hasLength(3)); @@ -2406,7 +2502,7 @@ void checkUnnamed19(core.Map o) { ); } -core.Map buildUnnamed20() => { +core.Map buildUnnamed22() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2419,7 +2515,7 @@ core.Map buildUnnamed20() => { }, }; -void checkUnnamed20(core.Map o) { +void checkUnnamed22(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted7 = (o['x']!) as core.Map; unittest.expect(casted7, unittest.hasLength(3)); @@ -2458,9 +2554,9 @@ api.Operation buildOperation() { if (buildCounterOperation < 3) { o.done = true; o.error = buildGoogleRpcStatus(); - o.metadata = buildUnnamed19(); + o.metadata = buildUnnamed21(); o.name = 'foo'; - o.response = buildUnnamed20(); + o.response = buildUnnamed22(); } buildCounterOperation--; return o; @@ -2471,12 +2567,12 @@ void checkOperation(api.Operation o) { if (buildCounterOperation < 3) { unittest.expect(o.done!, unittest.isTrue); checkGoogleRpcStatus(o.error!); - checkUnnamed19(o.metadata!); + checkUnnamed21(o.metadata!); unittest.expect( o.name!, unittest.equals('foo'), ); - checkUnnamed20(o.response!); + checkUnnamed22(o.response!); } buildCounterOperation--; } @@ -2503,12 +2599,12 @@ void checkOrigin(api.Origin o) { buildCounterOrigin--; } -core.List buildUnnamed21() => [ +core.List buildUnnamed23() => [ 'foo', 'foo', ]; -void checkUnnamed21(core.List o) { +void checkUnnamed23(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2525,7 +2621,7 @@ api.PolicyControllerBundleInstallSpec buildPolicyControllerBundleInstallSpec() { final o = api.PolicyControllerBundleInstallSpec(); buildCounterPolicyControllerBundleInstallSpec++; if (buildCounterPolicyControllerBundleInstallSpec < 3) { - o.exemptedNamespaces = buildUnnamed21(); + o.exemptedNamespaces = buildUnnamed23(); } buildCounterPolicyControllerBundleInstallSpec--; return o; @@ -2535,18 +2631,18 @@ void checkPolicyControllerBundleInstallSpec( api.PolicyControllerBundleInstallSpec o) { buildCounterPolicyControllerBundleInstallSpec++; if (buildCounterPolicyControllerBundleInstallSpec < 3) { - checkUnnamed21(o.exemptedNamespaces!); + checkUnnamed23(o.exemptedNamespaces!); } buildCounterPolicyControllerBundleInstallSpec--; } core.Map - buildUnnamed22() => { + buildUnnamed24() => { 'x': buildPolicyControllerPolicyControllerDeploymentConfig(), 'y': buildPolicyControllerPolicyControllerDeploymentConfig(), }; -void checkUnnamed22( +void checkUnnamed24( core.Map o) { unittest.expect(o, unittest.hasLength(2)); @@ -2554,12 +2650,12 @@ void checkUnnamed22( checkPolicyControllerPolicyControllerDeploymentConfig(o['y']!); } -core.List buildUnnamed23() => [ +core.List buildUnnamed25() => [ 'foo', 'foo', ]; -void checkUnnamed23(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2578,8 +2674,8 @@ api.PolicyControllerHubConfig buildPolicyControllerHubConfig() { if (buildCounterPolicyControllerHubConfig < 3) { o.auditIntervalSeconds = 'foo'; o.constraintViolationLimit = 'foo'; - o.deploymentConfigs = buildUnnamed22(); - o.exemptableNamespaces = buildUnnamed23(); + o.deploymentConfigs = buildUnnamed24(); + o.exemptableNamespaces = buildUnnamed25(); o.installSpec = 'foo'; o.logDeniesEnabled = true; o.monitoring = buildPolicyControllerMonitoringConfig(); @@ -2602,8 +2698,8 @@ void checkPolicyControllerHubConfig(api.PolicyControllerHubConfig o) { o.constraintViolationLimit!, unittest.equals('foo'), ); - checkUnnamed22(o.deploymentConfigs!); - checkUnnamed23(o.exemptableNamespaces!); + checkUnnamed24(o.deploymentConfigs!); + checkUnnamed25(o.exemptableNamespaces!); unittest.expect( o.installSpec!, unittest.equals('foo'), @@ -2617,12 +2713,12 @@ void checkPolicyControllerHubConfig(api.PolicyControllerHubConfig o) { buildCounterPolicyControllerHubConfig--; } -core.List buildUnnamed24() => [ +core.List buildUnnamed26() => [ 'foo', 'foo', ]; -void checkUnnamed24(core.List o) { +void checkUnnamed26(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2639,7 +2735,7 @@ api.PolicyControllerMonitoringConfig buildPolicyControllerMonitoringConfig() { final o = api.PolicyControllerMonitoringConfig(); buildCounterPolicyControllerMonitoringConfig++; if (buildCounterPolicyControllerMonitoringConfig < 3) { - o.backends = buildUnnamed24(); + o.backends = buildUnnamed26(); } buildCounterPolicyControllerMonitoringConfig--; return o; @@ -2649,7 +2745,7 @@ void checkPolicyControllerMonitoringConfig( api.PolicyControllerMonitoringConfig o) { buildCounterPolicyControllerMonitoringConfig++; if (buildCounterPolicyControllerMonitoringConfig < 3) { - checkUnnamed24(o.backends!); + checkUnnamed26(o.backends!); } buildCounterPolicyControllerMonitoringConfig--; } @@ -2681,13 +2777,13 @@ void checkPolicyControllerOnClusterState(api.PolicyControllerOnClusterState o) { buildCounterPolicyControllerOnClusterState--; } -core.Map buildUnnamed25() => +core.Map buildUnnamed27() => { 'x': buildPolicyControllerBundleInstallSpec(), 'y': buildPolicyControllerBundleInstallSpec(), }; -void checkUnnamed25( +void checkUnnamed27( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkPolicyControllerBundleInstallSpec(o['x']!); @@ -2699,7 +2795,7 @@ api.PolicyControllerPolicyContentSpec buildPolicyControllerPolicyContentSpec() { final o = api.PolicyControllerPolicyContentSpec(); buildCounterPolicyControllerPolicyContentSpec++; if (buildCounterPolicyControllerPolicyContentSpec < 3) { - o.bundles = buildUnnamed25(); + o.bundles = buildUnnamed27(); o.templateLibrary = buildPolicyControllerTemplateLibraryConfig(); } buildCounterPolicyControllerPolicyContentSpec--; @@ -2710,18 +2806,18 @@ void checkPolicyControllerPolicyContentSpec( api.PolicyControllerPolicyContentSpec o) { buildCounterPolicyControllerPolicyContentSpec++; if (buildCounterPolicyControllerPolicyContentSpec < 3) { - checkUnnamed25(o.bundles!); + checkUnnamed27(o.bundles!); checkPolicyControllerTemplateLibraryConfig(o.templateLibrary!); } buildCounterPolicyControllerPolicyContentSpec--; } -core.Map buildUnnamed26() => { +core.Map buildUnnamed28() => { 'x': buildPolicyControllerOnClusterState(), 'y': buildPolicyControllerOnClusterState(), }; -void checkUnnamed26( +void checkUnnamed28( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkPolicyControllerOnClusterState(o['x']!); @@ -2734,7 +2830,7 @@ api.PolicyControllerPolicyContentState final o = api.PolicyControllerPolicyContentState(); buildCounterPolicyControllerPolicyContentState++; if (buildCounterPolicyControllerPolicyContentState < 3) { - o.bundleStates = buildUnnamed26(); + o.bundleStates = buildUnnamed28(); o.referentialSyncConfigState = buildPolicyControllerOnClusterState(); o.templateLibraryState = buildPolicyControllerOnClusterState(); } @@ -2746,19 +2842,19 @@ void checkPolicyControllerPolicyContentState( api.PolicyControllerPolicyContentState o) { buildCounterPolicyControllerPolicyContentState++; if (buildCounterPolicyControllerPolicyContentState < 3) { - checkUnnamed26(o.bundleStates!); + checkUnnamed28(o.bundleStates!); checkPolicyControllerOnClusterState(o.referentialSyncConfigState!); checkPolicyControllerOnClusterState(o.templateLibraryState!); } buildCounterPolicyControllerPolicyContentState--; } -core.List buildUnnamed27() => [ +core.List buildUnnamed29() => [ buildPolicyControllerToleration(), buildPolicyControllerToleration(), ]; -void checkUnnamed27(core.List o) { +void checkUnnamed29(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPolicyControllerToleration(o[0]); checkPolicyControllerToleration(o[1]); @@ -2773,7 +2869,7 @@ api.PolicyControllerPolicyControllerDeploymentConfig o.containerResources = buildPolicyControllerResourceRequirements(); o.podAffinity = 'foo'; o.podAntiAffinity = true; - o.podTolerations = buildUnnamed27(); + o.podTolerations = buildUnnamed29(); o.replicaCount = 'foo'; } buildCounterPolicyControllerPolicyControllerDeploymentConfig--; @@ -2790,7 +2886,7 @@ void checkPolicyControllerPolicyControllerDeploymentConfig( unittest.equals('foo'), ); unittest.expect(o.podAntiAffinity!, unittest.isTrue); - checkUnnamed27(o.podTolerations!); + checkUnnamed29(o.podTolerations!); unittest.expect( o.replicaCount!, unittest.equals('foo'), @@ -2873,12 +2969,12 @@ void checkPolicyControllerSpec(api.PolicyControllerSpec o) { buildCounterPolicyControllerSpec--; } -core.Map buildUnnamed28() => { +core.Map buildUnnamed30() => { 'x': buildPolicyControllerOnClusterState(), 'y': buildPolicyControllerOnClusterState(), }; -void checkUnnamed28( +void checkUnnamed30( core.Map o) { unittest.expect(o, unittest.hasLength(2)); checkPolicyControllerOnClusterState(o['x']!); @@ -2890,7 +2986,7 @@ api.PolicyControllerState buildPolicyControllerState() { final o = api.PolicyControllerState(); buildCounterPolicyControllerState++; if (buildCounterPolicyControllerState < 3) { - o.componentStates = buildUnnamed28(); + o.componentStates = buildUnnamed30(); o.policyContentState = buildPolicyControllerPolicyContentState(); o.state = 'foo'; } @@ -2901,7 +2997,7 @@ api.PolicyControllerState buildPolicyControllerState() { void checkPolicyControllerState(api.PolicyControllerState o) { buildCounterPolicyControllerState++; if (buildCounterPolicyControllerState < 3) { - checkUnnamed28(o.componentStates!); + checkUnnamed30(o.componentStates!); checkPolicyControllerPolicyContentState(o.policyContentState!); unittest.expect( o.state!, @@ -2972,7 +3068,7 @@ void checkPolicyControllerToleration(api.PolicyControllerToleration o) { buildCounterPolicyControllerToleration--; } -core.Map buildUnnamed29() => { +core.Map buildUnnamed31() => { 'x': { 'list': [1, 2, 3], 'bool': true, @@ -2985,7 +3081,7 @@ core.Map buildUnnamed29() => { }, }; -void checkUnnamed29(core.Map o) { +void checkUnnamed31(core.Map o) { unittest.expect(o, unittest.hasLength(2)); var casted9 = (o['x']!) as core.Map; unittest.expect(casted9, unittest.hasLength(3)); @@ -3017,12 +3113,12 @@ void checkUnnamed29(core.Map o) { ); } -core.List buildUnnamed30() => [ +core.List buildUnnamed32() => [ 'foo', 'foo', ]; -void checkUnnamed30(core.List o) { +void checkUnnamed32(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3039,10 +3135,10 @@ api.ServiceMeshAnalysisMessage buildServiceMeshAnalysisMessage() { final o = api.ServiceMeshAnalysisMessage(); buildCounterServiceMeshAnalysisMessage++; if (buildCounterServiceMeshAnalysisMessage < 3) { - o.args = buildUnnamed29(); + o.args = buildUnnamed31(); o.description = 'foo'; o.messageBase = buildServiceMeshAnalysisMessageBase(); - o.resourcePaths = buildUnnamed30(); + o.resourcePaths = buildUnnamed32(); } buildCounterServiceMeshAnalysisMessage--; return o; @@ -3051,13 +3147,13 @@ api.ServiceMeshAnalysisMessage buildServiceMeshAnalysisMessage() { void checkServiceMeshAnalysisMessage(api.ServiceMeshAnalysisMessage o) { buildCounterServiceMeshAnalysisMessage++; if (buildCounterServiceMeshAnalysisMessage < 3) { - checkUnnamed29(o.args!); + checkUnnamed31(o.args!); unittest.expect( o.description!, unittest.equals('foo'), ); checkServiceMeshAnalysisMessageBase(o.messageBase!); - checkUnnamed30(o.resourcePaths!); + checkUnnamed32(o.resourcePaths!); } buildCounterServiceMeshAnalysisMessage--; } @@ -3128,12 +3224,12 @@ void checkServiceMeshCondition(api.ServiceMeshCondition o) { buildCounterServiceMeshCondition--; } -core.List buildUnnamed31() => [ +core.List buildUnnamed33() => [ buildServiceMeshStatusDetails(), buildServiceMeshStatusDetails(), ]; -void checkUnnamed31(core.List o) { +void checkUnnamed33(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceMeshStatusDetails(o[0]); checkServiceMeshStatusDetails(o[1]); @@ -3144,7 +3240,7 @@ api.ServiceMeshControlPlaneManagement buildServiceMeshControlPlaneManagement() { final o = api.ServiceMeshControlPlaneManagement(); buildCounterServiceMeshControlPlaneManagement++; if (buildCounterServiceMeshControlPlaneManagement < 3) { - o.details = buildUnnamed31(); + o.details = buildUnnamed33(); o.implementation = 'foo'; o.state = 'foo'; } @@ -3156,7 +3252,7 @@ void checkServiceMeshControlPlaneManagement( api.ServiceMeshControlPlaneManagement o) { buildCounterServiceMeshControlPlaneManagement++; if (buildCounterServiceMeshControlPlaneManagement < 3) { - checkUnnamed31(o.details!); + checkUnnamed33(o.details!); unittest.expect( o.implementation!, unittest.equals('foo'), @@ -3169,12 +3265,12 @@ void checkServiceMeshControlPlaneManagement( buildCounterServiceMeshControlPlaneManagement--; } -core.List buildUnnamed32() => [ +core.List buildUnnamed34() => [ buildServiceMeshStatusDetails(), buildServiceMeshStatusDetails(), ]; -void checkUnnamed32(core.List o) { +void checkUnnamed34(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceMeshStatusDetails(o[0]); checkServiceMeshStatusDetails(o[1]); @@ -3185,7 +3281,7 @@ api.ServiceMeshDataPlaneManagement buildServiceMeshDataPlaneManagement() { final o = api.ServiceMeshDataPlaneManagement(); buildCounterServiceMeshDataPlaneManagement++; if (buildCounterServiceMeshDataPlaneManagement < 3) { - o.details = buildUnnamed32(); + o.details = buildUnnamed34(); o.state = 'foo'; } buildCounterServiceMeshDataPlaneManagement--; @@ -3195,7 +3291,7 @@ api.ServiceMeshDataPlaneManagement buildServiceMeshDataPlaneManagement() { void checkServiceMeshDataPlaneManagement(api.ServiceMeshDataPlaneManagement o) { buildCounterServiceMeshDataPlaneManagement++; if (buildCounterServiceMeshDataPlaneManagement < 3) { - checkUnnamed32(o.details!); + checkUnnamed34(o.details!); unittest.expect( o.state!, unittest.equals('foo'), @@ -3241,23 +3337,23 @@ void checkServiceMeshSpec(api.ServiceMeshSpec o) { buildCounterServiceMeshSpec--; } -core.List buildUnnamed33() => [ +core.List buildUnnamed35() => [ buildServiceMeshAnalysisMessage(), buildServiceMeshAnalysisMessage(), ]; -void checkUnnamed33(core.List o) { +void checkUnnamed35(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceMeshAnalysisMessage(o[0]); checkServiceMeshAnalysisMessage(o[1]); } -core.List buildUnnamed34() => [ +core.List buildUnnamed36() => [ buildServiceMeshCondition(), buildServiceMeshCondition(), ]; -void checkUnnamed34(core.List o) { +void checkUnnamed36(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkServiceMeshCondition(o[0]); checkServiceMeshCondition(o[1]); @@ -3268,8 +3364,8 @@ api.ServiceMeshState buildServiceMeshState() { final o = api.ServiceMeshState(); buildCounterServiceMeshState++; if (buildCounterServiceMeshState < 3) { - o.analysisMessages = buildUnnamed33(); - o.conditions = buildUnnamed34(); + o.analysisMessages = buildUnnamed35(); + o.conditions = buildUnnamed36(); o.configApiVersion = 'foo'; o.controlPlaneManagement = buildServiceMeshControlPlaneManagement(); o.dataPlaneManagement = buildServiceMeshDataPlaneManagement(); @@ -3281,8 +3377,8 @@ api.ServiceMeshState buildServiceMeshState() { void checkServiceMeshState(api.ServiceMeshState o) { buildCounterServiceMeshState++; if (buildCounterServiceMeshState < 3) { - checkUnnamed33(o.analysisMessages!); - checkUnnamed34(o.conditions!); + checkUnnamed35(o.analysisMessages!); + checkUnnamed36(o.conditions!); unittest.expect( o.configApiVersion!, unittest.equals('foo'), @@ -3572,6 +3668,26 @@ void main() { }); }); + unittest.group('obj-schema-ConfigManagementContainerOverride', () { + unittest.test('to-json--from-json', () async { + final o = buildConfigManagementContainerOverride(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ConfigManagementContainerOverride.fromJson( + oJson as core.Map); + checkConfigManagementContainerOverride(od); + }); + }); + + unittest.group('obj-schema-ConfigManagementDeploymentOverride', () { + unittest.test('to-json--from-json', () async { + final o = buildConfigManagementDeploymentOverride(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ConfigManagementDeploymentOverride.fromJson( + oJson as core.Map); + checkConfigManagementDeploymentOverride(od); + }); + }); + unittest.group('obj-schema-ConfigManagementErrorResource', () { unittest.test('to-json--from-json', () async { final o = buildConfigManagementErrorResource(); diff --git a/generated/googleapis_beta/test/sqladmin/v1beta4_test.dart b/generated/googleapis_beta/test/sqladmin/v1beta4_test.dart index 65fcfe74b..8ef9f0f3e 100644 --- a/generated/googleapis_beta/test/sqladmin/v1beta4_test.dart +++ b/generated/googleapis_beta/test/sqladmin/v1beta4_test.dart @@ -186,6 +186,118 @@ void checkAvailableDatabaseVersion(api.AvailableDatabaseVersion o) { buildCounterAvailableDatabaseVersion--; } +core.int buildCounterBackup = 0; +api.Backup buildBackup() { + final o = api.Backup(); + buildCounterBackup++; + if (buildCounterBackup < 3) { + o.backupInterval = buildInterval(); + o.backupKind = 'foo'; + o.backupRun = 'foo'; + o.description = 'foo'; + o.error = buildOperationError(); + o.expiryTime = 'foo'; + o.instance = 'foo'; + o.instanceDeletionTime = 'foo'; + o.instanceSettings = buildDatabaseInstance(); + o.kind = 'foo'; + o.kmsKey = 'foo'; + o.kmsKeyVersion = 'foo'; + o.location = 'foo'; + o.maxChargeableBytes = 'foo'; + o.name = 'foo'; + o.satisfiesPzi = true; + o.satisfiesPzs = true; + o.selfLink = 'foo'; + o.state = 'foo'; + o.timeZone = 'foo'; + o.ttlDays = 'foo'; + o.type = 'foo'; + } + buildCounterBackup--; + return o; +} + +void checkBackup(api.Backup o) { + buildCounterBackup++; + if (buildCounterBackup < 3) { + checkInterval(o.backupInterval!); + unittest.expect( + o.backupKind!, + unittest.equals('foo'), + ); + unittest.expect( + o.backupRun!, + unittest.equals('foo'), + ); + unittest.expect( + o.description!, + unittest.equals('foo'), + ); + checkOperationError(o.error!); + unittest.expect( + o.expiryTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.instance!, + unittest.equals('foo'), + ); + unittest.expect( + o.instanceDeletionTime!, + unittest.equals('foo'), + ); + checkDatabaseInstance(o.instanceSettings!); + unittest.expect( + o.kind!, + unittest.equals('foo'), + ); + unittest.expect( + o.kmsKey!, + unittest.equals('foo'), + ); + unittest.expect( + o.kmsKeyVersion!, + unittest.equals('foo'), + ); + unittest.expect( + o.location!, + unittest.equals('foo'), + ); + unittest.expect( + o.maxChargeableBytes!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect(o.satisfiesPzi!, unittest.isTrue); + unittest.expect(o.satisfiesPzs!, unittest.isTrue); + unittest.expect( + o.selfLink!, + unittest.equals('foo'), + ); + unittest.expect( + o.state!, + unittest.equals('foo'), + ); + unittest.expect( + o.timeZone!, + unittest.equals('foo'), + ); + unittest.expect( + o.ttlDays!, + unittest.equals('foo'), + ); + unittest.expect( + o.type!, + unittest.equals('foo'), + ); + } + buildCounterBackup--; +} + core.int buildCounterBackupConfiguration = 0; api.BackupConfiguration buildBackupConfiguration() { final o = api.BackupConfiguration(); @@ -245,6 +357,7 @@ api.BackupContext buildBackupContext() { if (buildCounterBackupContext < 3) { o.backupId = 'foo'; o.kind = 'foo'; + o.name = 'foo'; } buildCounterBackupContext--; return o; @@ -261,6 +374,10 @@ void checkBackupContext(api.BackupContext o) { o.kind!, unittest.equals('foo'), ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); } buildCounterBackupContext--; } @@ -579,12 +696,23 @@ void checkUnnamed2(core.List o) { ); } -core.List buildUnnamed3() => [ +core.List buildUnnamed3() => [ + buildDnsNameMapping(), + buildDnsNameMapping(), + ]; + +void checkUnnamed3(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkDnsNameMapping(o[0]); + checkDnsNameMapping(o[1]); +} + +core.List buildUnnamed4() => [ buildIpMapping(), buildIpMapping(), ]; -void checkUnnamed3(core.List o) { +void checkUnnamed4(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkIpMapping(o[0]); checkIpMapping(o[1]); @@ -599,7 +727,8 @@ api.ConnectSettings buildConnectSettings() { o.customSubjectAlternativeNames = buildUnnamed2(); o.databaseVersion = 'foo'; o.dnsName = 'foo'; - o.ipAddresses = buildUnnamed3(); + o.dnsNames = buildUnnamed3(); + o.ipAddresses = buildUnnamed4(); o.kind = 'foo'; o.pscEnabled = true; o.region = 'foo'; @@ -626,7 +755,8 @@ void checkConnectSettings(api.ConnectSettings o) { o.dnsName!, unittest.equals('foo'), ); - checkUnnamed3(o.ipAddresses!); + checkUnnamed3(o.dnsNames!); + checkUnnamed4(o.ipAddresses!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -750,12 +880,12 @@ void checkDatabaseFlags(api.DatabaseFlags o) { buildCounterDatabaseFlags--; } -core.List buildUnnamed4() => [ +core.List buildUnnamed5() => [ 'foo', 'foo', ]; -void checkUnnamed4(core.List o) { +void checkUnnamed5(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -767,6 +897,17 @@ void checkUnnamed4(core.List o) { ); } +core.List buildUnnamed6() => [ + buildDnsNameMapping(), + buildDnsNameMapping(), + ]; + +void checkUnnamed6(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkDnsNameMapping(o[0]); + checkDnsNameMapping(o[1]); +} + core.int buildCounterDatabaseInstanceFailoverReplica = 0; api.DatabaseInstanceFailoverReplica buildDatabaseInstanceFailoverReplica() { final o = api.DatabaseInstanceFailoverReplica(); @@ -792,23 +933,23 @@ void checkDatabaseInstanceFailoverReplica( buildCounterDatabaseInstanceFailoverReplica--; } -core.List buildUnnamed5() => [ +core.List buildUnnamed7() => [ buildIpMapping(), buildIpMapping(), ]; -void checkUnnamed5(core.List o) { +void checkUnnamed7(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkIpMapping(o[0]); checkIpMapping(o[1]); } -core.List buildUnnamed6() => [ +core.List buildUnnamed8() => [ 'foo', 'foo', ]; -void checkUnnamed6(core.List o) { +void checkUnnamed8(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -820,12 +961,12 @@ void checkUnnamed6(core.List o) { ); } -core.List buildUnnamed7() => [ +core.List buildUnnamed9() => [ 'foo', 'foo', ]; -void checkUnnamed7(core.List o) { +void checkUnnamed9(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -837,12 +978,12 @@ void checkUnnamed7(core.List o) { ); } -core.Map buildUnnamed8() => { +core.Map buildUnnamed10() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed8(core.Map o) { +void checkUnnamed10(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -854,12 +995,12 @@ void checkUnnamed8(core.Map o) { ); } -core.List buildUnnamed9() => [ +core.List buildUnnamed11() => [ buildAvailableDatabaseVersion(), buildAvailableDatabaseVersion(), ]; -void checkUnnamed9(core.List o) { +void checkUnnamed11(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAvailableDatabaseVersion(o[0]); checkAvailableDatabaseVersion(o[1]); @@ -870,7 +1011,7 @@ api.DatabaseInstance buildDatabaseInstance() { final o = api.DatabaseInstance(); buildCounterDatabaseInstance++; if (buildCounterDatabaseInstance < 3) { - o.availableMaintenanceVersions = buildUnnamed4(); + o.availableMaintenanceVersions = buildUnnamed5(); o.backendType = 'foo'; o.connectionName = 'foo'; o.createTime = 'foo'; @@ -880,12 +1021,14 @@ api.DatabaseInstance buildDatabaseInstance() { o.diskEncryptionConfiguration = buildDiskEncryptionConfiguration(); o.diskEncryptionStatus = buildDiskEncryptionStatus(); o.dnsName = 'foo'; + o.dnsNames = buildUnnamed6(); o.etag = 'foo'; o.failoverReplica = buildDatabaseInstanceFailoverReplica(); o.gceZone = 'foo'; o.geminiConfig = buildGeminiInstanceConfig(); + o.includeReplicasForMajorVersionUpgrade = true; o.instanceType = 'foo'; - o.ipAddresses = buildUnnamed5(); + o.ipAddresses = buildUnnamed7(); o.ipv6Address = 'foo'; o.kind = 'foo'; o.maintenanceVersion = 'foo'; @@ -899,7 +1042,7 @@ api.DatabaseInstance buildDatabaseInstance() { o.pscServiceAttachmentLink = 'foo'; o.region = 'foo'; o.replicaConfiguration = buildReplicaConfiguration(); - o.replicaNames = buildUnnamed6(); + o.replicaNames = buildUnnamed8(); o.replicationCluster = buildReplicationCluster(); o.rootPassword = 'foo'; o.satisfiesPzi = true; @@ -912,10 +1055,10 @@ api.DatabaseInstance buildDatabaseInstance() { o.settings = buildSettings(); o.sqlNetworkArchitecture = 'foo'; o.state = 'foo'; - o.suspensionReason = buildUnnamed7(); + o.suspensionReason = buildUnnamed9(); o.switchTransactionLogsToCloudStorageEnabled = true; - o.tags = buildUnnamed8(); - o.upgradableDatabaseVersions = buildUnnamed9(); + o.tags = buildUnnamed10(); + o.upgradableDatabaseVersions = buildUnnamed11(); o.writeEndpoint = 'foo'; } buildCounterDatabaseInstance--; @@ -925,7 +1068,7 @@ api.DatabaseInstance buildDatabaseInstance() { void checkDatabaseInstance(api.DatabaseInstance o) { buildCounterDatabaseInstance++; if (buildCounterDatabaseInstance < 3) { - checkUnnamed4(o.availableMaintenanceVersions!); + checkUnnamed5(o.availableMaintenanceVersions!); unittest.expect( o.backendType!, unittest.equals('foo'), @@ -956,6 +1099,7 @@ void checkDatabaseInstance(api.DatabaseInstance o) { o.dnsName!, unittest.equals('foo'), ); + checkUnnamed6(o.dnsNames!); unittest.expect( o.etag!, unittest.equals('foo'), @@ -966,11 +1110,12 @@ void checkDatabaseInstance(api.DatabaseInstance o) { unittest.equals('foo'), ); checkGeminiInstanceConfig(o.geminiConfig!); + unittest.expect(o.includeReplicasForMajorVersionUpgrade!, unittest.isTrue); unittest.expect( o.instanceType!, unittest.equals('foo'), ); - checkUnnamed5(o.ipAddresses!); + checkUnnamed7(o.ipAddresses!); unittest.expect( o.ipv6Address!, unittest.equals('foo'), @@ -1014,7 +1159,7 @@ void checkDatabaseInstance(api.DatabaseInstance o) { unittest.equals('foo'), ); checkReplicaConfiguration(o.replicaConfiguration!); - checkUnnamed6(o.replicaNames!); + checkUnnamed8(o.replicaNames!); checkReplicationCluster(o.replicationCluster!); unittest.expect( o.rootPassword!, @@ -1045,11 +1190,11 @@ void checkDatabaseInstance(api.DatabaseInstance o) { o.state!, unittest.equals('foo'), ); - checkUnnamed7(o.suspensionReason!); + checkUnnamed9(o.suspensionReason!); unittest.expect( o.switchTransactionLogsToCloudStorageEnabled!, unittest.isTrue); - checkUnnamed8(o.tags!); - checkUnnamed9(o.upgradableDatabaseVersions!); + checkUnnamed10(o.tags!); + checkUnnamed11(o.upgradableDatabaseVersions!); unittest.expect( o.writeEndpoint!, unittest.equals('foo'), @@ -1058,12 +1203,12 @@ void checkDatabaseInstance(api.DatabaseInstance o) { buildCounterDatabaseInstance--; } -core.List buildUnnamed10() => [ +core.List buildUnnamed12() => [ buildDatabase(), buildDatabase(), ]; -void checkUnnamed10(core.List o) { +void checkUnnamed12(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDatabase(o[0]); checkDatabase(o[1]); @@ -1074,7 +1219,7 @@ api.DatabasesListResponse buildDatabasesListResponse() { final o = api.DatabasesListResponse(); buildCounterDatabasesListResponse++; if (buildCounterDatabasesListResponse < 3) { - o.items = buildUnnamed10(); + o.items = buildUnnamed12(); o.kind = 'foo'; } buildCounterDatabasesListResponse--; @@ -1084,7 +1229,7 @@ api.DatabasesListResponse buildDatabasesListResponse() { void checkDatabasesListResponse(api.DatabasesListResponse o) { buildCounterDatabasesListResponse++; if (buildCounterDatabasesListResponse < 3) { - checkUnnamed10(o.items!); + checkUnnamed12(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -1312,6 +1457,38 @@ void checkDiskEncryptionStatus(api.DiskEncryptionStatus o) { buildCounterDiskEncryptionStatus--; } +core.int buildCounterDnsNameMapping = 0; +api.DnsNameMapping buildDnsNameMapping() { + final o = api.DnsNameMapping(); + buildCounterDnsNameMapping++; + if (buildCounterDnsNameMapping < 3) { + o.connectionType = 'foo'; + o.dnsScope = 'foo'; + o.name = 'foo'; + } + buildCounterDnsNameMapping--; + return o; +} + +void checkDnsNameMapping(api.DnsNameMapping o) { + buildCounterDnsNameMapping++; + if (buildCounterDnsNameMapping < 3) { + unittest.expect( + o.connectionType!, + unittest.equals('foo'), + ); + unittest.expect( + o.dnsScope!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + } + buildCounterDnsNameMapping--; +} + core.int buildCounterEmpty = 0; api.Empty buildEmpty() { final o = api.Empty(); @@ -1412,12 +1589,12 @@ void checkExportContextCsvExportOptions(api.ExportContextCsvExportOptions o) { buildCounterExportContextCsvExportOptions--; } -core.List buildUnnamed11() => [ +core.List buildUnnamed13() => [ 'foo', 'foo', ]; -void checkUnnamed11(core.List o) { +void checkUnnamed13(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1476,12 +1653,12 @@ void checkExportContextSqlExportOptionsPostgresExportOptions( buildCounterExportContextSqlExportOptionsPostgresExportOptions--; } -core.List buildUnnamed12() => [ +core.List buildUnnamed14() => [ 'foo', 'foo', ]; -void checkUnnamed12(core.List o) { +void checkUnnamed14(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1504,7 +1681,7 @@ api.ExportContextSqlExportOptions buildExportContextSqlExportOptions() { o.postgresExportOptions = buildExportContextSqlExportOptionsPostgresExportOptions(); o.schemaOnly = true; - o.tables = buildUnnamed12(); + o.tables = buildUnnamed14(); o.threads = 42; } buildCounterExportContextSqlExportOptions--; @@ -1519,7 +1696,7 @@ void checkExportContextSqlExportOptions(api.ExportContextSqlExportOptions o) { checkExportContextSqlExportOptionsPostgresExportOptions( o.postgresExportOptions!); unittest.expect(o.schemaOnly!, unittest.isTrue); - checkUnnamed12(o.tables!); + checkUnnamed14(o.tables!); unittest.expect( o.threads!, unittest.equals(42), @@ -1528,6 +1705,43 @@ void checkExportContextSqlExportOptions(api.ExportContextSqlExportOptions o) { buildCounterExportContextSqlExportOptions--; } +core.int buildCounterExportContextTdeExportOptions = 0; +api.ExportContextTdeExportOptions buildExportContextTdeExportOptions() { + final o = api.ExportContextTdeExportOptions(); + buildCounterExportContextTdeExportOptions++; + if (buildCounterExportContextTdeExportOptions < 3) { + o.certificatePath = 'foo'; + o.name = 'foo'; + o.privateKeyPassword = 'foo'; + o.privateKeyPath = 'foo'; + } + buildCounterExportContextTdeExportOptions--; + return o; +} + +void checkExportContextTdeExportOptions(api.ExportContextTdeExportOptions o) { + buildCounterExportContextTdeExportOptions++; + if (buildCounterExportContextTdeExportOptions < 3) { + unittest.expect( + o.certificatePath!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.privateKeyPassword!, + unittest.equals('foo'), + ); + unittest.expect( + o.privateKeyPath!, + unittest.equals('foo'), + ); + } + buildCounterExportContextTdeExportOptions--; +} + core.int buildCounterExportContext = 0; api.ExportContext buildExportContext() { final o = api.ExportContext(); @@ -1535,11 +1749,12 @@ api.ExportContext buildExportContext() { if (buildCounterExportContext < 3) { o.bakExportOptions = buildExportContextBakExportOptions(); o.csvExportOptions = buildExportContextCsvExportOptions(); - o.databases = buildUnnamed11(); + o.databases = buildUnnamed13(); o.fileType = 'foo'; o.kind = 'foo'; o.offload = true; o.sqlExportOptions = buildExportContextSqlExportOptions(); + o.tdeExportOptions = buildExportContextTdeExportOptions(); o.uri = 'foo'; } buildCounterExportContext--; @@ -1551,7 +1766,7 @@ void checkExportContext(api.ExportContext o) { if (buildCounterExportContext < 3) { checkExportContextBakExportOptions(o.bakExportOptions!); checkExportContextCsvExportOptions(o.csvExportOptions!); - checkUnnamed11(o.databases!); + checkUnnamed13(o.databases!); unittest.expect( o.fileType!, unittest.equals('foo'), @@ -1562,6 +1777,7 @@ void checkExportContext(api.ExportContext o) { ); unittest.expect(o.offload!, unittest.isTrue); checkExportContextSqlExportOptions(o.sqlExportOptions!); + checkExportContextTdeExportOptions(o.tdeExportOptions!); unittest.expect( o.uri!, unittest.equals('foo'), @@ -1619,12 +1835,12 @@ void checkFailoverContext(api.FailoverContext o) { buildCounterFailoverContext--; } -core.List buildUnnamed13() => [ +core.List buildUnnamed15() => [ 'foo', 'foo', ]; -void checkUnnamed13(core.List o) { +void checkUnnamed15(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1636,12 +1852,12 @@ void checkUnnamed13(core.List o) { ); } -core.List buildUnnamed14() => [ +core.List buildUnnamed16() => [ 'foo', 'foo', ]; -void checkUnnamed14(core.List o) { +void checkUnnamed16(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1653,12 +1869,12 @@ void checkUnnamed14(core.List o) { ); } -core.List buildUnnamed15() => [ +core.List buildUnnamed17() => [ 'foo', 'foo', ]; -void checkUnnamed15(core.List o) { +void checkUnnamed17(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1675,9 +1891,9 @@ api.Flag buildFlag() { final o = api.Flag(); buildCounterFlag++; if (buildCounterFlag < 3) { - o.allowedIntValues = buildUnnamed13(); - o.allowedStringValues = buildUnnamed14(); - o.appliesTo = buildUnnamed15(); + o.allowedIntValues = buildUnnamed15(); + o.allowedStringValues = buildUnnamed16(); + o.appliesTo = buildUnnamed17(); o.inBeta = true; o.kind = 'foo'; o.maxValue = 'foo'; @@ -1693,9 +1909,9 @@ api.Flag buildFlag() { void checkFlag(api.Flag o) { buildCounterFlag++; if (buildCounterFlag < 3) { - checkUnnamed13(o.allowedIntValues!); - checkUnnamed14(o.allowedStringValues!); - checkUnnamed15(o.appliesTo!); + checkUnnamed15(o.allowedIntValues!); + checkUnnamed16(o.allowedStringValues!); + checkUnnamed17(o.appliesTo!); unittest.expect(o.inBeta!, unittest.isTrue); unittest.expect( o.kind!, @@ -1722,12 +1938,12 @@ void checkFlag(api.Flag o) { buildCounterFlag--; } -core.List buildUnnamed16() => [ +core.List buildUnnamed18() => [ buildFlag(), buildFlag(), ]; -void checkUnnamed16(core.List o) { +void checkUnnamed18(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkFlag(o[0]); checkFlag(o[1]); @@ -1738,7 +1954,7 @@ api.FlagsListResponse buildFlagsListResponse() { final o = api.FlagsListResponse(); buildCounterFlagsListResponse++; if (buildCounterFlagsListResponse < 3) { - o.items = buildUnnamed16(); + o.items = buildUnnamed18(); o.kind = 'foo'; } buildCounterFlagsListResponse--; @@ -1748,7 +1964,7 @@ api.FlagsListResponse buildFlagsListResponse() { void checkFlagsListResponse(api.FlagsListResponse o) { buildCounterFlagsListResponse++; if (buildCounterFlagsListResponse < 3) { - checkUnnamed16(o.items!); + checkUnnamed18(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -1849,6 +2065,7 @@ api.ImportContextBakImportOptionsEncryptionOptions buildCounterImportContextBakImportOptionsEncryptionOptions++; if (buildCounterImportContextBakImportOptionsEncryptionOptions < 3) { o.certPath = 'foo'; + o.keepEncrypted = true; o.pvkPassword = 'foo'; o.pvkPath = 'foo'; } @@ -1864,6 +2081,7 @@ void checkImportContextBakImportOptionsEncryptionOptions( o.certPath!, unittest.equals('foo'), ); + unittest.expect(o.keepEncrypted!, unittest.isTrue); unittest.expect( o.pvkPassword!, unittest.equals('foo'), @@ -1916,12 +2134,12 @@ void checkImportContextBakImportOptions(api.ImportContextBakImportOptions o) { buildCounterImportContextBakImportOptions--; } -core.List buildUnnamed17() => [ +core.List buildUnnamed19() => [ 'foo', 'foo', ]; -void checkUnnamed17(core.List o) { +void checkUnnamed19(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -1938,7 +2156,7 @@ api.ImportContextCsvImportOptions buildImportContextCsvImportOptions() { final o = api.ImportContextCsvImportOptions(); buildCounterImportContextCsvImportOptions++; if (buildCounterImportContextCsvImportOptions < 3) { - o.columns = buildUnnamed17(); + o.columns = buildUnnamed19(); o.escapeCharacter = 'foo'; o.fieldsTerminatedBy = 'foo'; o.linesTerminatedBy = 'foo'; @@ -1952,7 +2170,7 @@ api.ImportContextCsvImportOptions buildImportContextCsvImportOptions() { void checkImportContextCsvImportOptions(api.ImportContextCsvImportOptions o) { buildCounterImportContextCsvImportOptions++; if (buildCounterImportContextCsvImportOptions < 3) { - checkUnnamed17(o.columns!); + checkUnnamed19(o.columns!); unittest.expect( o.escapeCharacter!, unittest.equals('foo'), @@ -2028,6 +2246,43 @@ void checkImportContextSqlImportOptions(api.ImportContextSqlImportOptions o) { buildCounterImportContextSqlImportOptions--; } +core.int buildCounterImportContextTdeImportOptions = 0; +api.ImportContextTdeImportOptions buildImportContextTdeImportOptions() { + final o = api.ImportContextTdeImportOptions(); + buildCounterImportContextTdeImportOptions++; + if (buildCounterImportContextTdeImportOptions < 3) { + o.certificatePath = 'foo'; + o.name = 'foo'; + o.privateKeyPassword = 'foo'; + o.privateKeyPath = 'foo'; + } + buildCounterImportContextTdeImportOptions--; + return o; +} + +void checkImportContextTdeImportOptions(api.ImportContextTdeImportOptions o) { + buildCounterImportContextTdeImportOptions++; + if (buildCounterImportContextTdeImportOptions < 3) { + unittest.expect( + o.certificatePath!, + unittest.equals('foo'), + ); + unittest.expect( + o.name!, + unittest.equals('foo'), + ); + unittest.expect( + o.privateKeyPassword!, + unittest.equals('foo'), + ); + unittest.expect( + o.privateKeyPath!, + unittest.equals('foo'), + ); + } + buildCounterImportContextTdeImportOptions--; +} + core.int buildCounterImportContext = 0; api.ImportContext buildImportContext() { final o = api.ImportContext(); @@ -2040,6 +2295,7 @@ api.ImportContext buildImportContext() { o.importUser = 'foo'; o.kind = 'foo'; o.sqlImportOptions = buildImportContextSqlImportOptions(); + o.tdeImportOptions = buildImportContextTdeImportOptions(); o.uri = 'foo'; } buildCounterImportContext--; @@ -2068,6 +2324,7 @@ void checkImportContext(api.ImportContext o) { unittest.equals('foo'), ); checkImportContextSqlImportOptions(o.sqlImportOptions!); + checkImportContextTdeImportOptions(o.tdeImportOptions!); unittest.expect( o.uri!, unittest.equals('foo'), @@ -2275,23 +2532,23 @@ void checkInstancesImportRequest(api.InstancesImportRequest o) { buildCounterInstancesImportRequest--; } -core.List buildUnnamed18() => [ +core.List buildUnnamed20() => [ buildDatabaseInstance(), buildDatabaseInstance(), ]; -void checkUnnamed18(core.List o) { +void checkUnnamed20(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDatabaseInstance(o[0]); checkDatabaseInstance(o[1]); } -core.List buildUnnamed19() => [ +core.List buildUnnamed21() => [ buildApiWarning(), buildApiWarning(), ]; -void checkUnnamed19(core.List o) { +void checkUnnamed21(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkApiWarning(o[0]); checkApiWarning(o[1]); @@ -2302,10 +2559,10 @@ api.InstancesListResponse buildInstancesListResponse() { final o = api.InstancesListResponse(); buildCounterInstancesListResponse++; if (buildCounterInstancesListResponse < 3) { - o.items = buildUnnamed18(); + o.items = buildUnnamed20(); o.kind = 'foo'; o.nextPageToken = 'foo'; - o.warnings = buildUnnamed19(); + o.warnings = buildUnnamed21(); } buildCounterInstancesListResponse--; return o; @@ -2314,7 +2571,7 @@ api.InstancesListResponse buildInstancesListResponse() { void checkInstancesListResponse(api.InstancesListResponse o) { buildCounterInstancesListResponse++; if (buildCounterInstancesListResponse < 3) { - checkUnnamed18(o.items!); + checkUnnamed20(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -2323,17 +2580,17 @@ void checkInstancesListResponse(api.InstancesListResponse o) { o.nextPageToken!, unittest.equals('foo'), ); - checkUnnamed19(o.warnings!); + checkUnnamed21(o.warnings!); } buildCounterInstancesListResponse--; } -core.List buildUnnamed20() => [ +core.List buildUnnamed22() => [ buildSslCert(), buildSslCert(), ]; -void checkUnnamed20(core.List o) { +void checkUnnamed22(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSslCert(o[0]); checkSslCert(o[1]); @@ -2345,7 +2602,7 @@ api.InstancesListServerCasResponse buildInstancesListServerCasResponse() { buildCounterInstancesListServerCasResponse++; if (buildCounterInstancesListServerCasResponse < 3) { o.activeVersion = 'foo'; - o.certs = buildUnnamed20(); + o.certs = buildUnnamed22(); o.kind = 'foo'; } buildCounterInstancesListServerCasResponse--; @@ -2359,7 +2616,7 @@ void checkInstancesListServerCasResponse(api.InstancesListServerCasResponse o) { o.activeVersion!, unittest.equals('foo'), ); - checkUnnamed20(o.certs!); + checkUnnamed22(o.certs!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -2368,23 +2625,23 @@ void checkInstancesListServerCasResponse(api.InstancesListServerCasResponse o) { buildCounterInstancesListServerCasResponse--; } -core.List buildUnnamed21() => [ +core.List buildUnnamed23() => [ buildSslCert(), buildSslCert(), ]; -void checkUnnamed21(core.List o) { +void checkUnnamed23(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSslCert(o[0]); checkSslCert(o[1]); } -core.List buildUnnamed22() => [ +core.List buildUnnamed24() => [ buildSslCert(), buildSslCert(), ]; -void checkUnnamed22(core.List o) { +void checkUnnamed24(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSslCert(o[0]); checkSslCert(o[1]); @@ -2397,9 +2654,9 @@ api.InstancesListServerCertificatesResponse buildCounterInstancesListServerCertificatesResponse++; if (buildCounterInstancesListServerCertificatesResponse < 3) { o.activeVersion = 'foo'; - o.caCerts = buildUnnamed21(); + o.caCerts = buildUnnamed23(); o.kind = 'foo'; - o.serverCerts = buildUnnamed22(); + o.serverCerts = buildUnnamed24(); } buildCounterInstancesListServerCertificatesResponse--; return o; @@ -2413,12 +2670,12 @@ void checkInstancesListServerCertificatesResponse( o.activeVersion!, unittest.equals('foo'), ); - checkUnnamed21(o.caCerts!); + checkUnnamed23(o.caCerts!); unittest.expect( o.kind!, unittest.equals('foo'), ); - checkUnnamed22(o.serverCerts!); + checkUnnamed24(o.serverCerts!); } buildCounterInstancesListServerCertificatesResponse--; } @@ -2447,7 +2704,9 @@ api.InstancesRestoreBackupRequest buildInstancesRestoreBackupRequest() { final o = api.InstancesRestoreBackupRequest(); buildCounterInstancesRestoreBackupRequest++; if (buildCounterInstancesRestoreBackupRequest < 3) { + o.backup = 'foo'; o.restoreBackupContext = buildRestoreBackupContext(); + o.restoreInstanceSettings = buildDatabaseInstance(); } buildCounterInstancesRestoreBackupRequest--; return o; @@ -2456,7 +2715,12 @@ api.InstancesRestoreBackupRequest buildInstancesRestoreBackupRequest() { void checkInstancesRestoreBackupRequest(api.InstancesRestoreBackupRequest o) { buildCounterInstancesRestoreBackupRequest++; if (buildCounterInstancesRestoreBackupRequest < 3) { + unittest.expect( + o.backup!, + unittest.equals('foo'), + ); checkRestoreBackupContext(o.restoreBackupContext!); + checkDatabaseInstance(o.restoreInstanceSettings!); } buildCounterInstancesRestoreBackupRequest--; } @@ -2520,23 +2784,50 @@ void checkInstancesTruncateLogRequest(api.InstancesTruncateLogRequest o) { buildCounterInstancesTruncateLogRequest--; } -core.List buildUnnamed23() => [ +core.int buildCounterInterval = 0; +api.Interval buildInterval() { + final o = api.Interval(); + buildCounterInterval++; + if (buildCounterInterval < 3) { + o.endTime = 'foo'; + o.startTime = 'foo'; + } + buildCounterInterval--; + return o; +} + +void checkInterval(api.Interval o) { + buildCounterInterval++; + if (buildCounterInterval < 3) { + unittest.expect( + o.endTime!, + unittest.equals('foo'), + ); + unittest.expect( + o.startTime!, + unittest.equals('foo'), + ); + } + buildCounterInterval--; +} + +core.List buildUnnamed25() => [ buildAclEntry(), buildAclEntry(), ]; -void checkUnnamed23(core.List o) { +void checkUnnamed25(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkAclEntry(o[0]); checkAclEntry(o[1]); } -core.List buildUnnamed24() => [ +core.List buildUnnamed26() => [ 'foo', 'foo', ]; -void checkUnnamed24(core.List o) { +void checkUnnamed26(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -2554,8 +2845,8 @@ api.IpConfiguration buildIpConfiguration() { buildCounterIpConfiguration++; if (buildCounterIpConfiguration < 3) { o.allocatedIpRange = 'foo'; - o.authorizedNetworks = buildUnnamed23(); - o.customSubjectAlternativeNames = buildUnnamed24(); + o.authorizedNetworks = buildUnnamed25(); + o.customSubjectAlternativeNames = buildUnnamed26(); o.enablePrivatePathForGoogleCloudServices = true; o.ipv4Enabled = true; o.privateNetwork = 'foo'; @@ -2576,8 +2867,8 @@ void checkIpConfiguration(api.IpConfiguration o) { o.allocatedIpRange!, unittest.equals('foo'), ); - checkUnnamed23(o.authorizedNetworks!); - checkUnnamed24(o.customSubjectAlternativeNames!); + checkUnnamed25(o.authorizedNetworks!); + checkUnnamed26(o.customSubjectAlternativeNames!); unittest.expect( o.enablePrivatePathForGoogleCloudServices!, unittest.isTrue); unittest.expect(o.ipv4Enabled!, unittest.isTrue); @@ -2635,6 +2926,54 @@ void checkIpMapping(api.IpMapping o) { buildCounterIpMapping--; } +core.List buildUnnamed27() => [ + buildBackup(), + buildBackup(), + ]; + +void checkUnnamed27(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkBackup(o[0]); + checkBackup(o[1]); +} + +core.List buildUnnamed28() => [ + buildApiWarning(), + buildApiWarning(), + ]; + +void checkUnnamed28(core.List o) { + unittest.expect(o, unittest.hasLength(2)); + checkApiWarning(o[0]); + checkApiWarning(o[1]); +} + +core.int buildCounterListBackupsResponse = 0; +api.ListBackupsResponse buildListBackupsResponse() { + final o = api.ListBackupsResponse(); + buildCounterListBackupsResponse++; + if (buildCounterListBackupsResponse < 3) { + o.backups = buildUnnamed27(); + o.nextPageToken = 'foo'; + o.warnings = buildUnnamed28(); + } + buildCounterListBackupsResponse--; + return o; +} + +void checkListBackupsResponse(api.ListBackupsResponse o) { + buildCounterListBackupsResponse++; + if (buildCounterListBackupsResponse < 3) { + checkUnnamed27(o.backups!); + unittest.expect( + o.nextPageToken!, + unittest.equals('foo'), + ); + checkUnnamed28(o.warnings!); + } + buildCounterListBackupsResponse--; +} + core.int buildCounterLocationPreference = 0; api.LocationPreference buildLocationPreference() { final o = api.LocationPreference(); @@ -2778,12 +3117,12 @@ void checkMySqlReplicaConfiguration(api.MySqlReplicaConfiguration o) { buildCounterMySqlReplicaConfiguration--; } -core.List buildUnnamed25() => [ +core.List buildUnnamed29() => [ buildSyncFlags(), buildSyncFlags(), ]; -void checkUnnamed25(core.List o) { +void checkUnnamed29(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSyncFlags(o[0]); checkSyncFlags(o[1]); @@ -2794,7 +3133,7 @@ api.MySqlSyncConfig buildMySqlSyncConfig() { final o = api.MySqlSyncConfig(); buildCounterMySqlSyncConfig++; if (buildCounterMySqlSyncConfig < 3) { - o.initialSyncFlags = buildUnnamed25(); + o.initialSyncFlags = buildUnnamed29(); } buildCounterMySqlSyncConfig--; return o; @@ -2803,17 +3142,17 @@ api.MySqlSyncConfig buildMySqlSyncConfig() { void checkMySqlSyncConfig(api.MySqlSyncConfig o) { buildCounterMySqlSyncConfig++; if (buildCounterMySqlSyncConfig < 3) { - checkUnnamed25(o.initialSyncFlags!); + checkUnnamed29(o.initialSyncFlags!); } buildCounterMySqlSyncConfig--; } -core.List buildUnnamed26() => [ +core.List buildUnnamed30() => [ buildSelectedObjects(), buildSelectedObjects(), ]; -void checkUnnamed26(core.List o) { +void checkUnnamed30(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSelectedObjects(o[0]); checkSelectedObjects(o[1]); @@ -2831,7 +3170,7 @@ api.OnPremisesConfiguration buildOnPremisesConfiguration() { o.hostPort = 'foo'; o.kind = 'foo'; o.password = 'foo'; - o.selectedObjects = buildUnnamed26(); + o.selectedObjects = buildUnnamed30(); o.sourceInstance = buildInstanceReference(); o.sslOption = 'foo'; o.username = 'foo'; @@ -2871,7 +3210,7 @@ void checkOnPremisesConfiguration(api.OnPremisesConfiguration o) { o.password!, unittest.equals('foo'), ); - checkUnnamed26(o.selectedObjects!); + checkUnnamed30(o.selectedObjects!); checkInstanceReference(o.sourceInstance!); unittest.expect( o.sslOption!, @@ -3008,12 +3347,12 @@ void checkOperationError(api.OperationError o) { buildCounterOperationError--; } -core.List buildUnnamed27() => [ +core.List buildUnnamed31() => [ buildOperationError(), buildOperationError(), ]; -void checkUnnamed27(core.List o) { +void checkUnnamed31(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperationError(o[0]); checkOperationError(o[1]); @@ -3024,7 +3363,7 @@ api.OperationErrors buildOperationErrors() { final o = api.OperationErrors(); buildCounterOperationErrors++; if (buildCounterOperationErrors < 3) { - o.errors = buildUnnamed27(); + o.errors = buildUnnamed31(); o.kind = 'foo'; } buildCounterOperationErrors--; @@ -3034,7 +3373,7 @@ api.OperationErrors buildOperationErrors() { void checkOperationErrors(api.OperationErrors o) { buildCounterOperationErrors++; if (buildCounterOperationErrors < 3) { - checkUnnamed27(o.errors!); + checkUnnamed31(o.errors!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -3043,12 +3382,12 @@ void checkOperationErrors(api.OperationErrors o) { buildCounterOperationErrors--; } -core.List buildUnnamed28() => [ +core.List buildUnnamed32() => [ buildOperation(), buildOperation(), ]; -void checkUnnamed28(core.List o) { +void checkUnnamed32(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkOperation(o[0]); checkOperation(o[1]); @@ -3059,7 +3398,7 @@ api.OperationsListResponse buildOperationsListResponse() { final o = api.OperationsListResponse(); buildCounterOperationsListResponse++; if (buildCounterOperationsListResponse < 3) { - o.items = buildUnnamed28(); + o.items = buildUnnamed32(); o.kind = 'foo'; o.nextPageToken = 'foo'; } @@ -3070,7 +3409,7 @@ api.OperationsListResponse buildOperationsListResponse() { void checkOperationsListResponse(api.OperationsListResponse o) { buildCounterOperationsListResponse++; if (buildCounterOperationsListResponse < 3) { - checkUnnamed28(o.items!); + checkUnnamed32(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -3214,12 +3553,12 @@ void checkPscAutoConnectionConfig(api.PscAutoConnectionConfig o) { buildCounterPscAutoConnectionConfig--; } -core.List buildUnnamed29() => [ +core.List buildUnnamed33() => [ 'foo', 'foo', ]; -void checkUnnamed29(core.List o) { +void checkUnnamed33(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3231,12 +3570,12 @@ void checkUnnamed29(core.List o) { ); } -core.List buildUnnamed30() => [ +core.List buildUnnamed34() => [ buildPscAutoConnectionConfig(), buildPscAutoConnectionConfig(), ]; -void checkUnnamed30(core.List o) { +void checkUnnamed34(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkPscAutoConnectionConfig(o[0]); checkPscAutoConnectionConfig(o[1]); @@ -3247,8 +3586,8 @@ api.PscConfig buildPscConfig() { final o = api.PscConfig(); buildCounterPscConfig++; if (buildCounterPscConfig < 3) { - o.allowedConsumerProjects = buildUnnamed29(); - o.pscAutoConnections = buildUnnamed30(); + o.allowedConsumerProjects = buildUnnamed33(); + o.pscAutoConnections = buildUnnamed34(); o.pscEnabled = true; } buildCounterPscConfig--; @@ -3258,8 +3597,8 @@ api.PscConfig buildPscConfig() { void checkPscConfig(api.PscConfig o) { buildCounterPscConfig++; if (buildCounterPscConfig < 3) { - checkUnnamed29(o.allowedConsumerProjects!); - checkUnnamed30(o.pscAutoConnections!); + checkUnnamed33(o.allowedConsumerProjects!); + checkUnnamed34(o.pscAutoConnections!); unittest.expect(o.pscEnabled!, unittest.isTrue); } buildCounterPscConfig--; @@ -3462,12 +3801,12 @@ void checkSelectedObjects(api.SelectedObjects o) { buildCounterSelectedObjects--; } -core.List buildUnnamed31() => [ +core.List buildUnnamed35() => [ 'foo', 'foo', ]; -void checkUnnamed31(core.List o) { +void checkUnnamed35(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -3479,34 +3818,34 @@ void checkUnnamed31(core.List o) { ); } -core.List buildUnnamed32() => [ +core.List buildUnnamed36() => [ buildDatabaseFlags(), buildDatabaseFlags(), ]; -void checkUnnamed32(core.List o) { +void checkUnnamed36(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDatabaseFlags(o[0]); checkDatabaseFlags(o[1]); } -core.List buildUnnamed33() => [ +core.List buildUnnamed37() => [ buildDenyMaintenancePeriod(), buildDenyMaintenancePeriod(), ]; -void checkUnnamed33(core.List o) { +void checkUnnamed37(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkDenyMaintenancePeriod(o[0]); checkDenyMaintenancePeriod(o[1]); } -core.Map buildUnnamed34() => { +core.Map buildUnnamed38() => { 'x': 'foo', 'y': 'foo', }; -void checkUnnamed34(core.Map o) { +void checkUnnamed38(core.Map o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o['x']!, @@ -3526,7 +3865,7 @@ api.Settings buildSettings() { o.activationPolicy = 'foo'; o.activeDirectoryConfig = buildSqlActiveDirectoryConfig(); o.advancedMachineFeatures = buildAdvancedMachineFeatures(); - o.authorizedGaeApplications = buildUnnamed31(); + o.authorizedGaeApplications = buildUnnamed35(); o.availabilityType = 'foo'; o.backupConfiguration = buildBackupConfiguration(); o.collation = 'foo'; @@ -3535,10 +3874,10 @@ api.Settings buildSettings() { o.dataCacheConfig = buildDataCacheConfig(); o.dataDiskSizeGb = 'foo'; o.dataDiskType = 'foo'; - o.databaseFlags = buildUnnamed32(); + o.databaseFlags = buildUnnamed36(); o.databaseReplicationEnabled = true; o.deletionProtectionEnabled = true; - o.denyMaintenancePeriods = buildUnnamed33(); + o.denyMaintenancePeriods = buildUnnamed37(); o.edition = 'foo'; o.enableDataplexIntegration = true; o.enableGoogleMlIntegration = true; @@ -3549,14 +3888,16 @@ api.Settings buildSettings() { o.maintenanceWindow = buildMaintenanceWindow(); o.passwordValidationPolicy = buildPasswordValidationPolicy(); o.pricingPlan = 'foo'; + o.replicationLagMaxSeconds = 42; o.replicationType = 'foo'; + o.retainBackupsOnDelete = true; o.settingsVersion = 'foo'; o.sqlServerAuditConfig = buildSqlServerAuditConfig(); o.storageAutoResize = true; o.storageAutoResizeLimit = 'foo'; o.tier = 'foo'; o.timeZone = 'foo'; - o.userLabels = buildUnnamed34(); + o.userLabels = buildUnnamed38(); } buildCounterSettings--; return o; @@ -3571,7 +3912,7 @@ void checkSettings(api.Settings o) { ); checkSqlActiveDirectoryConfig(o.activeDirectoryConfig!); checkAdvancedMachineFeatures(o.advancedMachineFeatures!); - checkUnnamed31(o.authorizedGaeApplications!); + checkUnnamed35(o.authorizedGaeApplications!); unittest.expect( o.availabilityType!, unittest.equals('foo'), @@ -3595,10 +3936,10 @@ void checkSettings(api.Settings o) { o.dataDiskType!, unittest.equals('foo'), ); - checkUnnamed32(o.databaseFlags!); + checkUnnamed36(o.databaseFlags!); unittest.expect(o.databaseReplicationEnabled!, unittest.isTrue); unittest.expect(o.deletionProtectionEnabled!, unittest.isTrue); - checkUnnamed33(o.denyMaintenancePeriods!); + checkUnnamed37(o.denyMaintenancePeriods!); unittest.expect( o.edition!, unittest.equals('foo'), @@ -3618,10 +3959,15 @@ void checkSettings(api.Settings o) { o.pricingPlan!, unittest.equals('foo'), ); + unittest.expect( + o.replicationLagMaxSeconds!, + unittest.equals(42), + ); unittest.expect( o.replicationType!, unittest.equals('foo'), ); + unittest.expect(o.retainBackupsOnDelete!, unittest.isTrue); unittest.expect( o.settingsVersion!, unittest.equals('foo'), @@ -3640,7 +3986,7 @@ void checkSettings(api.Settings o) { o.timeZone!, unittest.equals('foo'), ); - checkUnnamed34(o.userLabels!); + checkUnnamed38(o.userLabels!); } buildCounterSettings--; } @@ -3891,12 +4237,12 @@ void checkSqlInstancesStartExternalSyncRequest( buildCounterSqlInstancesStartExternalSyncRequest--; } -core.List buildUnnamed35() => [ +core.List buildUnnamed39() => [ buildExternalSyncSelectedObject(), buildExternalSyncSelectedObject(), ]; -void checkUnnamed35(core.List o) { +void checkUnnamed39(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkExternalSyncSelectedObject(o[0]); checkExternalSyncSelectedObject(o[1]); @@ -3910,7 +4256,7 @@ api.SqlInstancesVerifyExternalSyncSettingsRequest if (buildCounterSqlInstancesVerifyExternalSyncSettingsRequest < 3) { o.migrationType = 'foo'; o.mysqlSyncConfig = buildMySqlSyncConfig(); - o.selectedObjects = buildUnnamed35(); + o.selectedObjects = buildUnnamed39(); o.syncMode = 'foo'; o.syncParallelLevel = 'foo'; o.verifyConnectionOnly = true; @@ -3929,7 +4275,7 @@ void checkSqlInstancesVerifyExternalSyncSettingsRequest( unittest.equals('foo'), ); checkMySqlSyncConfig(o.mysqlSyncConfig!); - checkUnnamed35(o.selectedObjects!); + checkUnnamed39(o.selectedObjects!); unittest.expect( o.syncMode!, unittest.equals('foo'), @@ -3944,23 +4290,23 @@ void checkSqlInstancesVerifyExternalSyncSettingsRequest( buildCounterSqlInstancesVerifyExternalSyncSettingsRequest--; } -core.List buildUnnamed36() => [ +core.List buildUnnamed40() => [ buildSqlExternalSyncSettingError(), buildSqlExternalSyncSettingError(), ]; -void checkUnnamed36(core.List o) { +void checkUnnamed40(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSqlExternalSyncSettingError(o[0]); checkSqlExternalSyncSettingError(o[1]); } -core.List buildUnnamed37() => [ +core.List buildUnnamed41() => [ buildSqlExternalSyncSettingError(), buildSqlExternalSyncSettingError(), ]; -void checkUnnamed37(core.List o) { +void checkUnnamed41(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSqlExternalSyncSettingError(o[0]); checkSqlExternalSyncSettingError(o[1]); @@ -3972,9 +4318,9 @@ api.SqlInstancesVerifyExternalSyncSettingsResponse final o = api.SqlInstancesVerifyExternalSyncSettingsResponse(); buildCounterSqlInstancesVerifyExternalSyncSettingsResponse++; if (buildCounterSqlInstancesVerifyExternalSyncSettingsResponse < 3) { - o.errors = buildUnnamed36(); + o.errors = buildUnnamed40(); o.kind = 'foo'; - o.warnings = buildUnnamed37(); + o.warnings = buildUnnamed41(); } buildCounterSqlInstancesVerifyExternalSyncSettingsResponse--; return o; @@ -3984,12 +4330,12 @@ void checkSqlInstancesVerifyExternalSyncSettingsResponse( api.SqlInstancesVerifyExternalSyncSettingsResponse o) { buildCounterSqlInstancesVerifyExternalSyncSettingsResponse++; if (buildCounterSqlInstancesVerifyExternalSyncSettingsResponse < 3) { - checkUnnamed36(o.errors!); + checkUnnamed40(o.errors!); unittest.expect( o.kind!, unittest.equals('foo'), ); - checkUnnamed37(o.warnings!); + checkUnnamed41(o.warnings!); } buildCounterSqlInstancesVerifyExternalSyncSettingsResponse--; } @@ -4116,12 +4462,12 @@ void checkSqlServerDatabaseDetails(api.SqlServerDatabaseDetails o) { buildCounterSqlServerDatabaseDetails--; } -core.List buildUnnamed38() => [ +core.List buildUnnamed42() => [ 'foo', 'foo', ]; -void checkUnnamed38(core.List o) { +void checkUnnamed42(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4139,7 +4485,7 @@ api.SqlServerUserDetails buildSqlServerUserDetails() { buildCounterSqlServerUserDetails++; if (buildCounterSqlServerUserDetails < 3) { o.disabled = true; - o.serverRoles = buildUnnamed38(); + o.serverRoles = buildUnnamed42(); } buildCounterSqlServerUserDetails--; return o; @@ -4149,7 +4495,7 @@ void checkSqlServerUserDetails(api.SqlServerUserDetails o) { buildCounterSqlServerUserDetails++; if (buildCounterSqlServerUserDetails < 3) { unittest.expect(o.disabled!, unittest.isTrue); - checkUnnamed38(o.serverRoles!); + checkUnnamed42(o.serverRoles!); } buildCounterSqlServerUserDetails--; } @@ -4339,12 +4685,12 @@ void checkSslCertsInsertResponse(api.SslCertsInsertResponse o) { buildCounterSslCertsInsertResponse--; } -core.List buildUnnamed39() => [ +core.List buildUnnamed43() => [ buildSslCert(), buildSslCert(), ]; -void checkUnnamed39(core.List o) { +void checkUnnamed43(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkSslCert(o[0]); checkSslCert(o[1]); @@ -4355,7 +4701,7 @@ api.SslCertsListResponse buildSslCertsListResponse() { final o = api.SslCertsListResponse(); buildCounterSslCertsListResponse++; if (buildCounterSslCertsListResponse < 3) { - o.items = buildUnnamed39(); + o.items = buildUnnamed43(); o.kind = 'foo'; } buildCounterSslCertsListResponse--; @@ -4365,7 +4711,7 @@ api.SslCertsListResponse buildSslCertsListResponse() { void checkSslCertsListResponse(api.SslCertsListResponse o) { buildCounterSslCertsListResponse++; if (buildCounterSslCertsListResponse < 3) { - checkUnnamed39(o.items!); + checkUnnamed43(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -4401,12 +4747,12 @@ void checkSyncFlags(api.SyncFlags o) { buildCounterSyncFlags--; } -core.List buildUnnamed40() => [ +core.List buildUnnamed44() => [ 'foo', 'foo', ]; -void checkUnnamed40(core.List o) { +void checkUnnamed44(core.List o) { unittest.expect(o, unittest.hasLength(2)); unittest.expect( o[0], @@ -4426,7 +4772,7 @@ api.Tier buildTier() { o.DiskQuota = 'foo'; o.RAM = 'foo'; o.kind = 'foo'; - o.region = buildUnnamed40(); + o.region = buildUnnamed44(); o.tier = 'foo'; } buildCounterTier--; @@ -4448,7 +4794,7 @@ void checkTier(api.Tier o) { o.kind!, unittest.equals('foo'), ); - checkUnnamed40(o.region!); + checkUnnamed44(o.region!); unittest.expect( o.tier!, unittest.equals('foo'), @@ -4457,12 +4803,12 @@ void checkTier(api.Tier o) { buildCounterTier--; } -core.List buildUnnamed41() => [ +core.List buildUnnamed45() => [ buildTier(), buildTier(), ]; -void checkUnnamed41(core.List o) { +void checkUnnamed45(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkTier(o[0]); checkTier(o[1]); @@ -4473,7 +4819,7 @@ api.TiersListResponse buildTiersListResponse() { final o = api.TiersListResponse(); buildCounterTiersListResponse++; if (buildCounterTiersListResponse < 3) { - o.items = buildUnnamed41(); + o.items = buildUnnamed45(); o.kind = 'foo'; } buildCounterTiersListResponse--; @@ -4483,7 +4829,7 @@ api.TiersListResponse buildTiersListResponse() { void checkTiersListResponse(api.TiersListResponse o) { buildCounterTiersListResponse++; if (buildCounterTiersListResponse < 3) { - checkUnnamed41(o.items!); + checkUnnamed45(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -4618,12 +4964,12 @@ void checkUserPasswordValidationPolicy(api.UserPasswordValidationPolicy o) { buildCounterUserPasswordValidationPolicy--; } -core.List buildUnnamed42() => [ +core.List buildUnnamed46() => [ buildUser(), buildUser(), ]; -void checkUnnamed42(core.List o) { +void checkUnnamed46(core.List o) { unittest.expect(o, unittest.hasLength(2)); checkUser(o[0]); checkUser(o[1]); @@ -4634,7 +4980,7 @@ api.UsersListResponse buildUsersListResponse() { final o = api.UsersListResponse(); buildCounterUsersListResponse++; if (buildCounterUsersListResponse < 3) { - o.items = buildUnnamed42(); + o.items = buildUnnamed46(); o.kind = 'foo'; o.nextPageToken = 'foo'; } @@ -4645,7 +4991,7 @@ api.UsersListResponse buildUsersListResponse() { void checkUsersListResponse(api.UsersListResponse o) { buildCounterUsersListResponse++; if (buildCounterUsersListResponse < 3) { - checkUnnamed42(o.items!); + checkUnnamed46(o.items!); unittest.expect( o.kind!, unittest.equals('foo'), @@ -4709,6 +5055,16 @@ void main() { }); }); + unittest.group('obj-schema-Backup', () { + unittest.test('to-json--from-json', () async { + final o = buildBackup(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Backup.fromJson(oJson as core.Map); + checkBackup(od); + }); + }); + unittest.group('obj-schema-BackupConfiguration', () { unittest.test('to-json--from-json', () async { final o = buildBackupConfiguration(); @@ -4929,6 +5285,16 @@ void main() { }); }); + unittest.group('obj-schema-DnsNameMapping', () { + unittest.test('to-json--from-json', () async { + final o = buildDnsNameMapping(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.DnsNameMapping.fromJson( + oJson as core.Map); + checkDnsNameMapping(od); + }); + }); + unittest.group('obj-schema-Empty', () { unittest.test('to-json--from-json', () async { final o = buildEmpty(); @@ -4992,6 +5358,16 @@ void main() { }); }); + unittest.group('obj-schema-ExportContextTdeExportOptions', () { + unittest.test('to-json--from-json', () async { + final o = buildExportContextTdeExportOptions(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ExportContextTdeExportOptions.fromJson( + oJson as core.Map); + checkExportContextTdeExportOptions(od); + }); + }); + unittest.group('obj-schema-ExportContext', () { unittest.test('to-json--from-json', () async { final o = buildExportContext(); @@ -5125,13 +5501,23 @@ void main() { }); }); - unittest.group('obj-schema-ImportContext', () { + unittest.group('obj-schema-ImportContextTdeImportOptions', () { unittest.test('to-json--from-json', () async { - final o = buildImportContext(); + final o = buildImportContextTdeImportOptions(); final oJson = convert.jsonDecode(convert.jsonEncode(o)); - final od = api.ImportContext.fromJson( + final od = api.ImportContextTdeImportOptions.fromJson( oJson as core.Map); - checkImportContext(od); + checkImportContextTdeImportOptions(od); + }); + }); + + unittest.group('obj-schema-ImportContext', () { + unittest.test('to-json--from-json', () async { + final o = buildImportContext(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ImportContext.fromJson( + oJson as core.Map); + checkImportContext(od); }); }); @@ -5305,6 +5691,16 @@ void main() { }); }); + unittest.group('obj-schema-Interval', () { + unittest.test('to-json--from-json', () async { + final o = buildInterval(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = + api.Interval.fromJson(oJson as core.Map); + checkInterval(od); + }); + }); + unittest.group('obj-schema-IpConfiguration', () { unittest.test('to-json--from-json', () async { final o = buildIpConfiguration(); @@ -5325,6 +5721,16 @@ void main() { }); }); + unittest.group('obj-schema-ListBackupsResponse', () { + unittest.test('to-json--from-json', () async { + final o = buildListBackupsResponse(); + final oJson = convert.jsonDecode(convert.jsonEncode(o)); + final od = api.ListBackupsResponse.fromJson( + oJson as core.Map); + checkListBackupsResponse(od); + }); + }); + unittest.group('obj-schema-LocationPreference', () { unittest.test('to-json--from-json', () async { final o = buildLocationPreference(); @@ -6204,6 +6610,304 @@ void main() { }); }); + unittest.group('resource-BackupsResource', () { + unittest.test('method--createBackup', () async { + final mock = HttpServerMock(); + final res = api.SQLAdminApi(mock).backups; + final arg_request = buildBackup(); + final arg_parent = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.Backup.fromJson(json as core.Map); + checkBackup(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('sql/v1beta4/'), + ); + pathOffset += 12; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = + await res.createBackup(arg_request, arg_parent, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + + unittest.test('method--deleteBackup', () async { + final mock = HttpServerMock(); + final res = api.SQLAdminApi(mock).backups; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('sql/v1beta4/'), + ); + pathOffset += 12; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.deleteBackup(arg_name, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + + unittest.test('method--getBackup', () async { + final mock = HttpServerMock(); + final res = api.SQLAdminApi(mock).backups; + final arg_name = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('sql/v1beta4/'), + ); + pathOffset += 12; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildBackup()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.getBackup(arg_name, $fields: arg_$fields); + checkBackup(response as api.Backup); + }); + + unittest.test('method--listBackups', () async { + final mock = HttpServerMock(); + final res = api.SQLAdminApi(mock).backups; + final arg_parent = 'foo'; + final arg_filter = 'foo'; + final arg_pageSize = 42; + final arg_pageToken = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('sql/v1beta4/'), + ); + pathOffset += 12; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['filter']!.first, + unittest.equals(arg_filter), + ); + unittest.expect( + core.int.parse(queryMap['pageSize']!.first), + unittest.equals(arg_pageSize), + ); + unittest.expect( + queryMap['pageToken']!.first, + unittest.equals(arg_pageToken), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildListBackupsResponse()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.listBackups(arg_parent, + filter: arg_filter, + pageSize: arg_pageSize, + pageToken: arg_pageToken, + $fields: arg_$fields); + checkListBackupsResponse(response as api.ListBackupsResponse); + }); + + unittest.test('method--updateBackup', () async { + final mock = HttpServerMock(); + final res = api.SQLAdminApi(mock).backups; + final arg_request = buildBackup(); + final arg_name = 'foo'; + final arg_updateMask = 'foo'; + final arg_$fields = 'foo'; + mock.register(unittest.expectAsync2((http.BaseRequest req, json) { + final obj = + api.Backup.fromJson(json as core.Map); + checkBackup(obj); + + final path = req.url.path; + var pathOffset = 0; + core.int index; + core.String subPart; + unittest.expect( + path.substring(pathOffset, pathOffset + 1), + unittest.equals('/'), + ); + pathOffset += 1; + unittest.expect( + path.substring(pathOffset, pathOffset + 12), + unittest.equals('sql/v1beta4/'), + ); + pathOffset += 12; + // NOTE: We cannot test reserved expansions due to the inability to reverse the operation; + + final query = req.url.query; + var queryOffset = 0; + final queryMap = >{}; + void addQueryParam(core.String n, core.String v) => + queryMap.putIfAbsent(n, () => []).add(v); + + if (query.isNotEmpty) { + for (var part in query.split('&')) { + final keyValue = part.split('='); + addQueryParam( + core.Uri.decodeQueryComponent(keyValue[0]), + core.Uri.decodeQueryComponent(keyValue[1]), + ); + } + } + unittest.expect( + queryMap['updateMask']!.first, + unittest.equals(arg_updateMask), + ); + unittest.expect( + queryMap['fields']!.first, + unittest.equals(arg_$fields), + ); + + final h = { + 'content-type': 'application/json; charset=utf-8', + }; + final resp = convert.json.encode(buildOperation()); + return async.Future.value(stringResponse(200, h, resp)); + }), true); + final response = await res.updateBackup(arg_request, arg_name, + updateMask: arg_updateMask, $fields: arg_$fields); + checkOperation(response as api.Operation); + }); + }); + unittest.group('resource-ConnectResource', () { unittest.test('method--generateEphemeralCert', () async { final mock = HttpServerMock(); @@ -7485,6 +8189,10 @@ void main() { final res = api.SQLAdminApi(mock).instances; final arg_project = 'foo'; final arg_instance = 'foo'; + final arg_enableFinalBackup = true; + final arg_finalBackupDescription = 'foo'; + final arg_finalBackupExpiryTime = 'foo'; + final arg_finalBackupTtlDays = 'foo'; final arg_$fields = 'foo'; mock.register(unittest.expectAsync2((http.BaseRequest req, json) { final path = req.url.path; @@ -7537,6 +8245,22 @@ void main() { ); } } + unittest.expect( + queryMap['enableFinalBackup']!.first, + unittest.equals('$arg_enableFinalBackup'), + ); + unittest.expect( + queryMap['finalBackupDescription']!.first, + unittest.equals(arg_finalBackupDescription), + ); + unittest.expect( + queryMap['finalBackupExpiryTime']!.first, + unittest.equals(arg_finalBackupExpiryTime), + ); + unittest.expect( + queryMap['finalBackupTtlDays']!.first, + unittest.equals(arg_finalBackupTtlDays), + ); unittest.expect( queryMap['fields']!.first, unittest.equals(arg_$fields), @@ -7548,8 +8272,12 @@ void main() { final resp = convert.json.encode(buildOperation()); return async.Future.value(stringResponse(200, h, resp)); }), true); - final response = - await res.delete(arg_project, arg_instance, $fields: arg_$fields); + final response = await res.delete(arg_project, arg_instance, + enableFinalBackup: arg_enableFinalBackup, + finalBackupDescription: arg_finalBackupDescription, + finalBackupExpiryTime: arg_finalBackupExpiryTime, + finalBackupTtlDays: arg_finalBackupTtlDays, + $fields: arg_$fields); checkOperation(response as api.Operation); });